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