From bd063cc859f1ccded4be00bef88786dd6d831f40 Mon Sep 17 00:00:00 2001 From: Jack <46790855@qq.com> Date: Thu, 7 Aug 2025 00:13:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=95=86=E5=AE=B6=E5=85=A5=E9=A9=BB=EF=BC=8Cfi?= =?UTF-8?q?x=20bug=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/service/impl/CommonService.java | 31 ++++++++++++++ .../lakala/service/LklLedgerEcService.java | 3 +- .../service/impl/LakalaApiServiceImpl.java | 2 +- .../service/impl/LklLedgerEcServiceImpl.java | 30 ++++---------- .../lakala/service/impl/LklTkServiceImpl.java | 6 ++- .../impl/ShopOrderReturnServiceImpl.java | 30 +++++++------- .../service/impl/SFExpressApiServiceImpl.java | 41 +------------------ .../service/impl/ShopMchEntryServiceImpl.java | 3 +- .../impl/ShopStoreBaseServiceImpl.java | 4 +- 9 files changed, 67 insertions(+), 83 deletions(-) diff --git a/mall-common/src/main/java/com/suisung/mall/common/service/impl/CommonService.java b/mall-common/src/main/java/com/suisung/mall/common/service/impl/CommonService.java index d6d5f342..8df7da18 100644 --- a/mall-common/src/main/java/com/suisung/mall/common/service/impl/CommonService.java +++ b/mall-common/src/main/java/com/suisung/mall/common/service/impl/CommonService.java @@ -108,6 +108,37 @@ public class CommonService { return true; } + /** + * 截取中文字符串的前n个字 + * + * @param str 要截取的字符串,可能包含中文 + * @param n 要截取的字数 + * @return 截取后的字符串,如果原字符串为null则返回null + */ + public static String subZhCNString(String str, int n) { + // 处理null情况 + if (str == null) { + return null; + } + + // 处理n小于等于0的情况 + if (n <= 0) { + return ""; + } + + int length = str.length(); + + // 如果字符串长度小于等于n,直接返回原字符串 + if (length <= n) { + return str; + } + + // 对于长度超过n的字符串,使用字符数组进行高效截取 + char[] chars = new char[n]; + str.getChars(0, n, chars, 0); + return new String(chars); + } + public static void main(String[] args) { System.out.println(isValidInput("", "+8618924071446")); } diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/LklLedgerEcService.java b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/LklLedgerEcService.java index 3a1ca1ea..c19c650a 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/LklLedgerEcService.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/LklLedgerEcService.java @@ -43,12 +43,11 @@ public interface LklLedgerEcService extends IBaseService { * 根据商户手机号查询记录 * * @param mchId - * @param mchMobile * @param ecStatus * @param status * @return */ - LklLedgerEc getByMchMobile(Long mchId, String mchMobile, String ecStatus, Integer status); + LklLedgerEc getByMchId(Long mchId, String ecStatus, Integer status); } diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LakalaApiServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LakalaApiServiceImpl.java index 6837b1b9..905c424c 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LakalaApiServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LakalaApiServiceImpl.java @@ -381,7 +381,7 @@ public class LakalaApiServiceImpl implements LakalaApiService { String contractMobile = shopMchEntry.getLegal_person_mobile(); - LklLedgerEc lklLedgerEc = lklLedgerEcService.getByMchMobile(shopMchEntry.getId(), null, "", CommonConstant.Enable); + LklLedgerEc lklLedgerEc = lklLedgerEcService.getByMchId(shopMchEntry.getId(), "", CommonConstant.Enable); if (lklLedgerEc != null && "COMPLETED".equals(lklLedgerEc.getEc_status())) { // TODO 这种情况,需要怎么处理? diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LklLedgerEcServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LklLedgerEcServiceImpl.java index 455135cf..3eb530fa 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LklLedgerEcServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LklLedgerEcServiceImpl.java @@ -11,6 +11,7 @@ package com.suisung.mall.shop.lakala.service.impl; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.suisung.mall.common.constant.CommonConstant; import com.suisung.mall.common.modules.lakala.LklLedgerEc; import com.suisung.mall.common.utils.CheckUtil; import com.suisung.mall.core.web.service.impl.BaseServiceImpl; @@ -20,7 +21,7 @@ import org.springframework.stereotype.Service; @Service public class LklLedgerEcServiceImpl extends BaseServiceImpl implements LklLedgerEcService { - + /** * 根据商家Id新增或更新记录 * @@ -29,24 +30,16 @@ public class LklLedgerEcServiceImpl extends BaseServiceImpl queryWrapper = new QueryWrapper<>(); - if (CheckUtil.isNotEmpty(record.getMch_id())) { - queryWrapper.eq("mch_id", record.getMch_id()); - } - - if (StrUtil.isNotBlank(record.getMch_mobile())) { - queryWrapper.eq("mch_mobile", record.getMch_mobile()); - } - + queryWrapper.eq("mch_id", record.getMch_id()).eq("status", CommonConstant.Enable); queryWrapper.orderByDesc("id"); LklLedgerEc existsRecord = findOne(queryWrapper); - if (existsRecord != null - && existsRecord.getId() > 0) { + if (existsRecord != null && existsRecord.getId() > 0) { // 更新记录 record.setId(existsRecord.getId()); return updateById(record); @@ -113,25 +106,18 @@ public class LklLedgerEcServiceImpl extends BaseServiceImpl queryWrapper = new QueryWrapper<>(); - if (CheckUtil.isNotEmpty(mchId)) { - queryWrapper.eq("mch_id", mchId); - } - - if (StrUtil.isNotBlank(mchMobile)) { - queryWrapper.eq("mch_mobile", mchMobile); - } + queryWrapper.eq("mch_id", mchId); queryWrapper.orderByDesc("id"); if (ObjectUtil.isNotEmpty(status)) { diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LklTkServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LklTkServiceImpl.java index 3f3533ad..86464716 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LklTkServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LklTkServiceImpl.java @@ -19,6 +19,7 @@ import com.suisung.mall.common.api.ResultCode; import com.suisung.mall.common.constant.CommonConstant; import com.suisung.mall.common.domain.UserDto; import com.suisung.mall.common.modules.store.ShopMchEntry; +import com.suisung.mall.common.service.impl.CommonService; import com.suisung.mall.common.utils.RestTemplateHttpUtil; import com.suisung.mall.common.utils.StringUtils; import com.suisung.mall.common.utils.UploadUtil; @@ -372,8 +373,9 @@ public class LklTkServiceImpl { formData.put("larIdCardStart", larIdCardStart); // 身份证有效期开始时间 formData.put("larIdCardEnd", larIdCardEnd); // 身份证有效期结束时间,长期:9999-12-31 - // 营业执照上的经营内容 - formData.put("businessContent", shopMchEntry.getBiz_license_content()); + // 营业执照上的经营内容(20字以内) + String bizLicenseContent = CommonService.subZhCNString(shopMchEntry.getBiz_license_content(), 20); + formData.put("businessContent", bizLicenseContent); // 营业执照信息 if (isQy) { diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderReturnServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderReturnServiceImpl.java index b214a8d0..9dcf64ad 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderReturnServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderReturnServiceImpl.java @@ -924,28 +924,28 @@ public class ShopOrderReturnServiceImpl extends BaseServiceImpl - * RETURN_PROCESS_SUBMIT = 3100; //【客户】提交退单1ReturnReturn - * RETURN_PROCESS_CHECK = 3105; //退单审核1ReturnReturn - * RETURN_PROCESS_RECEIVED = 3110; //收货确认0ReturnReturn - * RETURN_PROCESS_REFUND = 3115; //退款确认0ReturnReturn - * RETURN_PROCESS_RECEIPT_CONFIRMATION = 3120; //[【客户】收款确认0 ReturnReturn - * RETURN_PROCESS_FINISH = 3125; //完成1退货退款 - * RETURN_PROCESS_REFUSED = 3130; //-商家拒绝退货 - * RETURN_PROCESS_CANCEL = 3135; //-买家取消退款 + * @param shopOrderId

+ * RETURN_PROCESS_SUBMIT = 3100; //【客户】提交退单1ReturnReturn + * RETURN_PROCESS_CHECK = 3105; //退单审核1ReturnReturn + * RETURN_PROCESS_RECEIVED = 3110; //收货确认0ReturnReturn + * RETURN_PROCESS_REFUND = 3115; //退款确认0ReturnReturn + * RETURN_PROCESS_RECEIPT_CONFIRMATION = 3120; //[【客户】收款确认0 ReturnReturn + * RETURN_PROCESS_FINISH = 3125; //完成1退货退款 + * RETURN_PROCESS_REFUSED = 3130; //-商家拒绝退货 + * RETURN_PROCESS_CANCEL = 3135; //-买家取消退款 * @return */ @GlobalTransactional @Override - public Boolean sfExpressExpiredForceRefund(String orderId) { + public Boolean sfExpressExpiredForceRefund(String shopOrderId) { String remark = "配送异常自动退款!"; // 先整单退货申请 - CommonResult commonResult = addWholeItems(orderId, true, remark); + CommonResult commonResult = addWholeItems(shopOrderId, true, remark); commonResult.checkFenResult(); QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("order_id", orderId); + queryWrapper.eq("order_id", shopOrderId); ShopOrderReturn shopOrderReturn = findOne(queryWrapper); if (shopOrderReturn == null) { throw new ApiException(I18nUtil._("订单信息异常!")); @@ -2286,8 +2286,10 @@ public class ShopOrderReturnServiceImpl extends BaseServiceImpl= StateCode.ORDER_STATE_SHIPPED) { - return CommonResult.failed("该订单(状态)无法退款"); + if (orderInfo.getOrder_state_id() != null + && orderInfo.getOrder_state_id() >= StateCode.ORDER_STATE_SHIPPED + && orderInfo.getOrder_state_id() <= StateCode.ORDER_STATE_CANCEL) { + return CommonResult.failed("已发货、已取消的订单无法退款"); } if (orderInfo.getStore_id() != null && !orderInfo.getStore_id().equals(Convert.toInt(currentUser.getStore_id()))) { diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/sfexpress/service/impl/SFExpressApiServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/sfexpress/service/impl/SFExpressApiServiceImpl.java index fa734e7e..d949bdff 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/sfexpress/service/impl/SFExpressApiServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/sfexpress/service/impl/SFExpressApiServiceImpl.java @@ -674,12 +674,7 @@ public class SFExpressApiServiceImpl implements SFExpressApiService { return new ThirdApiRes().fail(-1, "状态处理失败!"); } - // 更改商城订单状态为:已取消,注意事务问题 -// List orderList = new ArrayList<>(); -// orderList.add(shopStoreSfOrder.getShop_order_id()); - - // 重要:订单取消 -// success = shopOrderBaseService.cancel(orderList, null, false); + // 重要:更改商城订单状态为:已取消,注意事务问题 success = shopOrderReturnService.sfExpressExpiredForceRefund(shopOrderId); if (!success) { return new ThirdApiRes().fail(-1, "取消订单业务处理失败!"); @@ -708,7 +703,7 @@ public class SFExpressApiServiceImpl implements SFExpressApiService { /** * 接收顺丰配送状态更改回调 - * // 顺丰同城订单状态:1-订单创建;2-订单取消;10-配送员接单/配送员改派;12-配送员到店;15配送员配送中(已取货);17-配送员妥投完单;22-配送员撤单;31-取消中;91-骑士上报异常; + * 顺丰同城订单状态:1-订单创建;2-订单取消;10-配送员接单/配送员改派;12-配送员到店;15配送员配送中(已取货);17-配送员妥投完单;22-配送员撤单;31-取消中;91-骑士上报异常; * * @param jsonData * @param sign @@ -905,38 +900,6 @@ public class SFExpressApiServiceImpl implements SFExpressApiService { return new ThirdApiRes().success("success"); } - /** - * 个推推送消息到店铺员工 - * - * @param storeId - * @param orderId - * @param message - * @param payloadJson - * @return - */ -// @Override -// public void pushMessageToStoreEmployee(Integer storeId, String orderId, String message, String payloadJson) { -// try { -// List cidList = shopStoreEmployeeService.selectEmployeeGeTuiCidByStoreId(storeId, orderId, false); -// if (CollUtil.isEmpty(cidList)) { -// logger.error("获取不到店铺员工,无法推送消息!"); -// return; -// } -// -// if (StrUtil.isBlank(payloadJson)) { -// payloadJson = new JSONObject().set("page", "orderDetail").set("orderId", orderId).set("storeId", storeId).toString(); -// } -// -// // 推送消息到员工 -// Pair result = geTuiPushService.pushListMessageToCids(cidList, "", message, "payload", payloadJson); -// if (!result.getFirst()) { -// logger.error("推送消息到员工失败:{}", result.getSecond()); -// } -// } catch (Exception e) { -// logger.error("推送消息到员工时发生异常:{}", e.getMessage(), e); -// } -// } - // 私有方法 diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopMchEntryServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopMchEntryServiceImpl.java index bde4cdf2..cd365601 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopMchEntryServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopMchEntryServiceImpl.java @@ -623,9 +623,8 @@ public class ShopMchEntryServiceImpl extends BaseServiceImpl