From 060b808c23d5202bf4d42572adad3fde12ff84fb Mon Sep 17 00:00:00 2001 From: xhxu Date: Thu, 20 Jul 2023 18:04:25 +0800 Subject: [PATCH] //..notice --- .../java/com/iformall/enums/EnumMsgModel.java | 2 + .../mapper/WxMerchantBUserMapper.java | 3 + .../mapper/WxMerchantRelationMapper.java | 2 + .../service/impl/WxOrderServiceImpl.java | 67 ++++++++++++++----- .../mapper/WxMerchantBUserMapper.xml | 11 +++ .../mapper/WxMerchantRelationMapper.xml | 12 +++- 6 files changed, 77 insertions(+), 20 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumMsgModel.java b/mallinkService/src/main/java/com/iformall/enums/EnumMsgModel.java index a8c1cac59..e4fd95220 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumMsgModel.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumMsgModel.java @@ -41,6 +41,8 @@ public enum EnumMsgModel { COUPON_ORDER_SUCCESS(32,"购买成功提醒"), COUPON_ORDER_REFUND(33,"提交退款提醒"), + + COUPON_ORDER_RESERVATION_SUCCESS(34,"预约成功提醒"), ; public static EnumMsgModel getEnum(Integer code) { diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxMerchantBUserMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxMerchantBUserMapper.java index ab21bcc89..b911c6a8b 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxMerchantBUserMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxMerchantBUserMapper.java @@ -25,4 +25,7 @@ public interface WxMerchantBUserMapper extends CommonMapper ids, @Param("otherId")String otherId); void deleteByMerchantId(@Param("tenantId")String tenantId, @Param("merchantId")Long merchantId); + + List findAdminPhone(@Param("merchantIds")List merchantIds); + } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxMerchantRelationMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxMerchantRelationMapper.java index 44f5004db..3fb3783de 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxMerchantRelationMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxMerchantRelationMapper.java @@ -24,5 +24,7 @@ public interface WxMerchantRelationMapper extends CommonMapper getRelationByRegionId(@Param("regionId") Long regionId); + List getRegionMerchantId(@Param("merchantId") Long merchantId); + List getInfByRegionId(@Param("id") Long id); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java index 308b9a59b..f615b4607 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java @@ -248,6 +248,9 @@ public class WxOrderServiceImpl implements WxOrderService { @Autowired private WxCouponOrderReservationMapper wxCouponOrderReservationMapper; + + @Autowired + private WxMerchantRelationMapper wxMerchantRelationMapper; @Override @@ -1519,6 +1522,7 @@ public class WxOrderServiceImpl implements WxOrderService { record.setCreateDate(curr); record.setUpdateDate(curr); wxCouponOrderReservationMapper.insert(record); + } } }catch(Exception e){ @@ -2234,21 +2238,21 @@ public class WxOrderServiceImpl implements WxOrderService { * @param user */ public void actionAfterCouponOrderSuccess(WxOrder order, WxCoupon coupon, WxCUserBasicInfo user) { + WxCouponOrder couponOrderQ = new WxCouponOrder(); + couponOrderQ.setOrderId(order.getId()); + couponOrderQ.updateTenantInfo(order); + List couponorderlist = wxCouponOrderMapper.findList(couponOrderQ); + WxCouponOrder couponOrder = null; + if (null != couponorderlist && couponorderlist.size() > 0 ) { + couponOrder = couponorderlist.get(0); + } if(EnumCouponType.COUPON_GIFT.getCode().equals(coupon.getType())){ - WxCouponOrder couponOrderQ = new WxCouponOrder(); - couponOrderQ.setOrderId(order.getId()); - couponOrderQ.setCouponId(coupon.getId()); - couponOrderQ.updateTenantInfo(order); - List couponorderlist = wxCouponOrderMapper.findList(couponOrderQ); - if (null != couponorderlist && couponorderlist.size() > 0 ) { - WxCouponOrder couponOrder = couponorderlist.get(0); - try { - wxCouponOrderService.verify(couponOrder,null,EnumCouponVerifyType.VERIFY_AUTO,null); - } catch (Exception e) { - logger.error("系统券包核销异常:" + e.getMessage(),e); - } + try { + wxCouponOrderService.verify(couponOrder,null,EnumCouponVerifyType.VERIFY_AUTO,null); + } catch (Exception e) { + logger.error("系统券包核销异常:" + e.getMessage(),e); } } @@ -2267,18 +2271,18 @@ public class WxOrderServiceImpl implements WxOrderService { } catch (Exception e) { logger.error("订单发券:" + e.getMessage(),e); } - //通知用户 + //通知 try { - sendMsgAfterCouponOrderSuccess(order,coupon,user); + sendMsgAfterCouponOrderSuccess(order,couponOrder,coupon,user); } catch (Exception e) { - logger.error("订单成功通知用户error:" + e.getMessage(),e); + logger.error("订单成功通知error:" + e.getMessage(),e); } //同步订单 sendInsideOrderPushMsg(order,order.getComposeOrderId(),null); } - private void sendMsgAfterCouponOrderSuccess(WxOrder order,WxCoupon coupon, WxCUserBasicInfo user) { - // 发送短信 + private void sendMsgAfterCouponOrderSuccess(WxOrder order,WxCouponOrder couponOrder,WxCoupon coupon, WxCUserBasicInfo user) { + // 通知用户 if(EnumPayWay.PAY_WAY_TT.getCode().equals(order.getPayVendor())){ logger.info("订单成功短信通知start"); WxAppinfo cAppInfo = wxAppinfoService.getCAppInfo(order, EnumPayWay.PAY_WAY_TT.getPlat()); @@ -2299,6 +2303,35 @@ public class WxOrderServiceImpl implements WxOrderService { mqBaseProducer.sendMessage(wxMsgRecord, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode()); logger.info("订单成功短信通知end"); } + + if(EnumCouponType.COUPON_DOUYIN_GO_HOME.getCode().equals(coupon.getType())){ + logger.info("订单预约短信通知start"); + WxCouponOrderReservation couponOrderReservation = wxCouponOrderReservationMapper.getSortByCouponOrder(couponOrder.getId(), couponOrder.getTenantId()); + if(couponOrderReservation == null || couponOrderReservation.getReservationMerchantId() == null){ + return; + } + + List merchantIds = new ArrayList(); + merchantIds.add(couponOrderReservation.getReservationMerchantId()); + List regionMerchantIds = wxMerchantRelationMapper.getRegionMerchantId(couponOrderReservation.getReservationMerchantId()); + if(!regionMerchantIds.isEmpty()){ + merchantIds.addAll(regionMerchantIds); + } + List phones = wxMerchantBUserMapper.findAdminPhone(merchantIds); + if(phones.isEmpty()){ + return; + } + String toPhone = phones.stream().collect(Collectors.joining(",")); + + WxMsgRecord wxMsgRecord = new WxMsgRecord(); + wxMsgRecord.updateTenantInfo(order); + wxMsgRecord.setMsgType(EnumMsgRecordType.SMS.getCode()); + wxMsgRecord.setModelType(EnumMsgModel.COUPON_ORDER_RESERVATION_SUCCESS.getCode()); + wxMsgRecord.setReceiver(toPhone); + mqBaseProducer.sendMessage(wxMsgRecord, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode()); + logger.info("订单预约短信通知end"); + } + } @Override diff --git a/mallinkService/src/main/resources/mapper/WxMerchantBUserMapper.xml b/mallinkService/src/main/resources/mapper/WxMerchantBUserMapper.xml index 6898c13cf..a382c28dd 100644 --- a/mallinkService/src/main/resources/mapper/WxMerchantBUserMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxMerchantBUserMapper.xml @@ -194,4 +194,15 @@ delete from wx_merchant_b_user where `tenant_id` = #{tenantId} and `merchant_id` = #{merchantId} + + + diff --git a/mallinkService/src/main/resources/mapper/WxMerchantRelationMapper.xml b/mallinkService/src/main/resources/mapper/WxMerchantRelationMapper.xml index ad5e59dfc..df6249d11 100644 --- a/mallinkService/src/main/resources/mapper/WxMerchantRelationMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxMerchantRelationMapper.xml @@ -76,9 +76,15 @@ merchant_id from wx_merchant_relation where is_del = 0 - - and region_merchant_id = #{regionId} - + and region_merchant_id = #{regionId} + + +