diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponOrderController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponOrderController.java index fa3a5ce7a..4ab824de6 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponOrderController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponOrderController.java @@ -137,10 +137,12 @@ public class WxCouponOrderController extends BaseController { } } + boolean bSentCoupon = false; + // 核销发券 if (couponOrder != null) { try { - wxCouponOrderService.sendCouponAfterVerify(couponOrder, getUser()); + bSentCoupon = wxCouponOrderService.sendCouponAfterVerify(couponOrder, getUser()); } catch (Exception e) { logger.error(e.getMessage()); } @@ -149,7 +151,7 @@ public class WxCouponOrderController extends BaseController { // 核销发模板消息 if (couponOrder != null) { try { - wxCouponOrderService.sendVerifyMsg(couponOrder, getUser()); + wxCouponOrderService.sendVerifyMsg(couponOrder, getUser(), bSentCoupon); } catch (Exception e) { logger.error(e.getMessage()); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java b/mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java index 0da6cdc5c..1e442b68e 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java @@ -68,7 +68,7 @@ public interface WxCouponOrderService { * @param couponOrder * @param bUser */ - void sendCouponAfterVerify(WxCouponOrder couponOrder, WxMerchantBUser bUser); + boolean sendCouponAfterVerify(WxCouponOrder couponOrder, WxMerchantBUser bUser); /** * 核销分账 @@ -81,7 +81,7 @@ public interface WxCouponOrderService { * @param couponOrder * @param bUser */ - void sendVerifyMsg(WxCouponOrder couponOrder, WxMerchantBUser bUser); + void sendVerifyMsg(WxCouponOrder couponOrder, WxMerchantBUser bUser, boolean hadSentCoupon); /** * 根据日期 b用户查券list diff --git a/mallinkService/src/main/java/com/iformall/service/WxCouponSendService.java b/mallinkService/src/main/java/com/iformall/service/WxCouponSendService.java index 7a1a601e2..1afe0a91b 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCouponSendService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCouponSendService.java @@ -44,7 +44,7 @@ public interface WxCouponSendService { * @param cUserId * @param type 2:停车发券 3:核销发券 */ - void sendCouponToUser(String tenantId, Long cUserId, EnumCouponSendSendType type); + boolean sendCouponToUser(String tenantId, Long cUserId, EnumCouponSendSendType type); void updateStatusByCouponId(Long couponId,String tenantId,int status); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java index 6ecbdf9f4..fb447311c 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java @@ -379,16 +379,17 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { } @Override - public void sendCouponAfterVerify(WxCouponOrder couponOrder, WxMerchantBUser bUser) { + public boolean sendCouponAfterVerify(WxCouponOrder couponOrder, WxMerchantBUser bUser) { // 核销发券 WxOrder wxOrder = wxOrderMapper.selectByPrimaryKey(couponOrder.getOrderId()); if (wxOrder != null) { try { - wxCouponSendService.sendCouponToUser(bUser.getTenantId(), wxOrder.getCUserId(), EnumCouponSendSendType.COUPON_VERIFY); + return wxCouponSendService.sendCouponToUser(bUser.getTenantId(), wxOrder.getCUserId(), EnumCouponSendSendType.COUPON_VERIFY); } catch (Exception e) { logger.error("核销发券: " + e.getMessage()); } } + return false; } /** @@ -397,7 +398,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { * @param couponOrder, bUser */ @Override - public void sendVerifyMsg(WxCouponOrder couponOrder, WxMerchantBUser bUser) { + public void sendVerifyMsg(WxCouponOrder couponOrder, WxMerchantBUser bUser, boolean hadSentCoupon) { // 1. get order info WxOrder order = wxOrderMapper.selectByPrimaryKey(couponOrder.getOrderId()); if (order == null) { @@ -467,6 +468,10 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { logger.error("找不到模板Id"); throw new MallinkException(ErrorCode.TEMPLATE_NOT_FOUND); } + String gotopage = "pages/index/index"; + if (hadSentCoupon) { + gotopage = "pages/couponorder/index/index"; + } /** * 核销成功 * 核销金额 {{keyword1.DATA}} @@ -478,7 +483,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { templateMessage = WxMaTemplateMessage.builder() .toUser(user.getOpenId()) .formId(payOrder.getPrepayId()) // 微信支付的formId是prepayId - .page("pages/index/index") + .page(gotopage) .data(Lists.newArrayList( new WxMaTemplateMessage.Data("keyword1", String.valueOf(coupon.getPrice() * 1.0 / 100) + "元", "#173177"), new WxMaTemplateMessage.Data("keyword2", merchant.getName(), "#173177"), diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendServiceImpl.java index 605601c25..387993a0c 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendServiceImpl.java @@ -71,7 +71,7 @@ public class WxCouponSendServiceImpl implements WxCouponSendService { @Override @Transactional - public void sendCouponToUser(String tenantId, Long cUserId, EnumCouponSendSendType type) { + public boolean sendCouponToUser(String tenantId, Long cUserId, EnumCouponSendSendType type) { //查询开关是否打开 //查询停车或者核销的券 stopCarCouponSwitch verifyConponSwitch WxCouponSend wxCouponSendQuery = new WxCouponSend(); @@ -91,7 +91,7 @@ public class WxCouponSendServiceImpl implements WxCouponSendService { wxCouponSendQuery.setSendType(actionType); configKey = "verifyConponSwitch"; } else { - return; + return false; } WxMallConfig wxMallConfigQuery = new WxMallConfig(); wxMallConfigQuery.setKey(configKey); @@ -100,7 +100,7 @@ public class WxCouponSendServiceImpl implements WxCouponSendService { if (page.getSize() > 0) { WxMallConfig config = page.getList().get(0); if (config.getValue() == EnumEnableType.Disable.getCode()) { - return; + return false; } } @@ -109,9 +109,11 @@ public class WxCouponSendServiceImpl implements WxCouponSendService { checkTime = pushLimitService.checkSendTime(tenantId); } catch (MallinkException e) { logger.error(e.getMessage()); - return; + return false; } + boolean bRet = false; + if (checkTime) { List wxCouponSends = wxCouponSendMapper.findList(wxCouponSendQuery); for (WxCouponSend send : wxCouponSends) { @@ -129,10 +131,12 @@ public class WxCouponSendServiceImpl implements WxCouponSendService { WxCouponOrder couponOrder = wxOrderService.sendFreeCouponToUser(cUserId, send.getCouponId()); if (couponOrder != null) { wxCouponActionLogService.addOne(tenantId, send.getCouponId(), couponOrder.getId(), actionType, send.getId()); + bRet = true; } wxCouponService.reduceInventory(send.getCouponId(), 1); } } + return bRet; } @Override