diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/order/listener/OrderPayedListener.java b/mall-shop/src/main/java/com/suisung/mall/shop/order/listener/OrderPayedListener.java index 25f8af62..c1dbae83 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/order/listener/OrderPayedListener.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/order/listener/OrderPayedListener.java @@ -139,8 +139,8 @@ public class OrderPayedListener { try { // 同城配送或普通快递,都发送 unipush 推送:您有一个新的订单,请查收! String orderType = orderInfoOld.getDelivery_type_id() == StateCode.DELIVERY_TYPE_SAME_CITY ? "同城" : ""; - String title = String.format("您有一个新的%s订单,请注意查收!", orderType); - String content = String.format("新%s订单号:%s,用户在%s下的单,请注意查收!", orderId, DateTimeUtils.formatDateTime(LocalDateTime.now(), "yyyy-MM-dd HH:mm:ss")); + String title = String.format("您有一笔新的%s订单,请注意查收。", orderType); + String content = String.format("这笔新%s订单:%s,用户于%s下的单,请注意查收。", orderType, orderId, DateTimeUtils.formatDateTime(LocalDateTime.now(), "yyyy-MM-dd HH:mm:ss")); JSONObject payload = new JSONObject(); payload.put("category", CommonConstant.PUSH_MSG_CATE_MCH_ONLINE_ORDER_LIST); payload.put("orderId", orderId); @@ -151,10 +151,11 @@ public class OrderPayedListener { jsonObject.put("category", MqConstant.DEAD_EVENT_CATE_ORDER_EXPIRED); // 消息分类:1-订单超时消息 jsonObject.put("orderId", orderId); // 订单ID jsonObject.put("storeId", orderInfoOld.getStore_id()); // 店铺ID - jsonObject.put("title", "有一笔已超时的订单!"); // 消息标题 - jsonObject.put("message", String.format("您有一笔已超时的订单%s,请及时处理。", orderId)); // 消息内容 - // 发送延迟消息 - mqMessageService.sendDelayMessage(jsonObject.toString(), 1500L * 1000); // 转换为毫秒 + jsonObject.put("title", "您有一笔将超时的订单。"); // 消息标题 + jsonObject.put("message", String.format("您有一笔将超时的订单:%s,请您及时处理。", orderId)); // 消息内容 + // 发送延迟消息(提前10分钟) + Long mchOrderExpireSeconds = shopOrderBaseService.sameCityOrderExpireSeconds(1500L) - 600; + mqMessageService.sendDelayMessage(jsonObject.toString(), mchOrderExpireSeconds * 1000); // 转换为毫秒 } catch (Exception e) { log.error("发送推送消息失败:{}", e.getMessage()); } diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderBaseServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderBaseServiceImpl.java index 3d866405..1c8e691a 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderBaseServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderBaseServiceImpl.java @@ -5150,8 +5150,11 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl 0 ? quantity_frozen : 0); 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 e027402a..fa734e7e 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 @@ -736,7 +736,6 @@ public class SFExpressApiServiceImpl implements SFExpressApiService { String sfOrderId = shopStoreSfOrder.getSf_order_id(); // 顺丰订单Id params.put("order_id", sfOrderId); ThirdApiRes feedRes = listOrderFeed(params); -// logger.debug("获取配送员物流轨迹:{}", feedRes); if (feedRes != null && feedRes.getError_code().equals(0)) { JSONObject result = JSONUtil.parseObj(feedRes.getResult()); if (result != null && result.get("feed") != null) { @@ -744,6 +743,15 @@ public class SFExpressApiServiceImpl implements SFExpressApiService { } } + // 获取配送员轨迹H5 + ThirdApiRes riderViewV2Res = riderViewV2(params); + if (riderViewV2Res != null && riderViewV2Res.getError_code().equals(0)) { + JSONObject result = JSONUtil.parseObj(riderViewV2Res.getResult()); + if (result != null && result.get("url") != null) { + shopStoreSfOrder.setH5_url(result.get("url").toString()); + } + } + Boolean success = shopStoreSfOrderService.updateShopStoreSfOrderStatus(shopStoreSfOrder); if (!success) { throw new ApiException(I18nUtil._("状态处理失败!")); @@ -859,6 +867,15 @@ public class SFExpressApiServiceImpl implements SFExpressApiService { } } + // 获取配送员轨迹H5 + ThirdApiRes riderViewV2Res = riderViewV2(params); + if (riderViewV2Res != null && riderViewV2Res.getError_code().equals(0)) { + JSONObject result = JSONUtil.parseObj(riderViewV2Res.getResult()); + if (result != null && result.get("url") != null) { + shopStoreSfOrder.setH5_url(result.get("url").toString()); + } + } + Boolean success = shopStoreSfOrderService.updateShopStoreSfOrderStatus(shopStoreSfOrder); if (!success) { throw new ApiException(I18nUtil._("状态处理失败!")); diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/store/service/ShopMchEntryService.java b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/ShopMchEntryService.java index 056281a9..71aa8af3 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/store/service/ShopMchEntryService.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/ShopMchEntryService.java @@ -81,7 +81,7 @@ public interface ShopMchEntryService { * @param individualIdNumber 个人身份证号码,个人必填 * @return */ - Pair isApplied(Integer entityType, String contactMobile, String bizLicenseNumber, String individualIdNumber); + Pair canApply(Integer entityType, String contactMobile, String bizLicenseNumber, String individualIdNumber); /** * 通过手机号获取商家入驻审核状态 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 3f6d46c5..bde4cdf2 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 @@ -18,6 +18,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.suisung.mall.common.api.CommonResult; +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.lakala.LklLedgerEc; @@ -177,7 +178,6 @@ public class ShopMchEntryServiceImpl extends BaseServiceImpl isApplied = isApplied(record.getEntity_type(), record.getLegal_person_mobile(), record.getBiz_license_number(), record.getIndividual_id_number()); - if (isApplied.getFirst()) { - return CommonResult.failed(isApplied.getSecond()); + Pair canDo = canApply(record.getEntity_type(), record.getLegal_person_mobile(), record.getBiz_license_number(), record.getIndividual_id_number()); + if (!canDo.getFirst()) { + return CommonResult.failed(canDo.getSecond()); } if (shopStoreBaseService.isExistsByStoreName(record.getStore_name())) { @@ -221,6 +221,10 @@ public class ShopMchEntryServiceImpl extends BaseServiceImpl 第一个值表示是否已申请(true表示已申请),第二个值为提示信息 */ @Override - public Pair isApplied(Integer entityType, String contactMobile, String bizLicenseNumber, String individualIdNumber) { + public Pair canApply(Integer entityType, String contactMobile, String bizLicenseNumber, String individualIdNumber) { + log.info("准备检查商家是否已经申请过入驻"); // 1. 参数校验:入驻主体类型不能为空 if (CheckUtil.isEmpty(entityType)) { - return Pair.of(Boolean.FALSE, "请选择是企业还是个人"); + return Pair.of(false, "请选择是企业还是个人"); } // 2. 根据不同主体类型校验必要参数 if (entityType.equals(CommonConstant.MCH_ENTITY_TYPE_QY)) { // 企业类型:营业执照号和联系人手机号至少提供一个 if (StrUtil.isBlank(contactMobile) && StrUtil.isBlank(bizLicenseNumber)) { - return Pair.of(Boolean.FALSE, "缺少企业营业执照或联系人手机号!"); + return Pair.of(false, "缺少企业营业执照或联系人手机号!"); } } else if (entityType.equals(CommonConstant.MCH_ENTITY_TYPE_GR)) { // 个人类型:身份证号和联系人手机号至少提供一个 if (StrUtil.isBlank(contactMobile) && StrUtil.isBlank(individualIdNumber)) { - return Pair.of(Boolean.FALSE, "缺少个人身份证号或联系人手机号!"); + return Pair.of(false, "缺少个人身份证号或联系人手机号!"); } } else { // 未知的主体类型 - return Pair.of(Boolean.FALSE, "不支持的入驻主体类型"); + return Pair.of(false, "不支持的入驻主体类型"); } try { @@ -813,7 +822,7 @@ public class ShopMchEntryServiceImpl extends BaseServiceImpl 0; - - if (isApplied) { - return Pair.of(Boolean.FALSE, msg); + if (count(queryWrapper) > 0) { + return Pair.of(false, msg); } - return Pair.of(Boolean.TRUE, ""); + + log.info("可以申请入驻,准备申请入驻"); + + return Pair.of(true, "可以申请入驻,准备下一个流程"); } catch (Exception e) { // 6. 异常处理:记录日志并返回错误信息 log.error("检查商家入驻申请状态时发生异常: entityType={}, contactMobile={}, bizLicenseNumber={}, individualIdNumber={}", entityType, contactMobile, bizLicenseNumber, individualIdNumber, e); - return Pair.of(Boolean.FALSE, "系统异常,请稍后重试"); + return Pair.of(false, "系统异常,请稍后重试"); } }