diff --git a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java index a4cbb0b98..b332df272 100644 --- a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java +++ b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java @@ -240,6 +240,7 @@ public enum ErrorCode{ */ VERIFY_ERROR(12050, "核销异常"), MSG_REPEAT_SEND(12061, "短信重复发送"), + VERIFY_COUPON_ORDER_MERANT_IS_NULL(12062, "卡券核销商户无权限"), /** * 解单 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 ad340faab..dfc141a03 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java @@ -301,7 +301,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { List couponMerchantList = wxCouponMerchantMapper.findList(wxCouponMerchant); if (!couponMerchantList.stream().anyMatch(cm->cm.getMerchantId().equals(wxMerchantBUser.getMerchantId()))){ logger.error("券: coupon-" + wxCoupon.getId() + "核销: couponMerchantId-" + wxMerchantBUser.getMerchantId()); - throw new MallinkException(ErrorCode.COUPON_ORDER_IS_NULL); + throw new MallinkException(ErrorCode.VERIFY_COUPON_ORDER_MERANT_IS_NULL); } } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingOrderServiceImpl.java index 10e7ec24e..235c3726c 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingOrderServiceImpl.java @@ -255,23 +255,22 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ psReceiverQ.setStatus(EnumProfitSharingReceiverStatus.PROFIT_SHARING_RECEIVER_STATUS_VALID.getCode()); List psReceiverList = wxProfitSharingReceiverMapper.findList(psReceiverQ); if (psReceiverList.size() < 0 || psReceiverList.size() > 50) { - throw new MallinkException(ErrorCode.PROFIT_SHARING_RECEIVER_INVALID); + return new ResultData(ErrorCode.PROFIT_SHARING_RECEIVER_INVALID); } - if (psReceiverList.size() == 0) { //没有分账账户,直接分入商户号 - WxProfitSharingReceiver receiver = new WxProfitSharingReceiver(); - receiver.setReceiverAccount(payAccount.getSubMchId()); - receiver.setReceiverType(EnumProfitSharingReceiverType.PROFIT_SHARING_RECEIVER_MERCHANT_ID.getCode()); - receiver.setSharingAmount(sharingOrderDto.getShareAmount()); - receiver.setParameter(null); - receiver.setId(0L); - psReceiverList.add(receiver); + if (psReceiverList.size() == 0) { //没有分账账户,直接结束分账 + if (sharingOrderDto.getType().equals(EnumProfitSharingOrderType.PROFIT_SHARING_SINGLE.getCode())) + sharingOrderDto.setType(EnumProfitSharingOrderType.PROFIT_SHARING_SINGLE_FINISH.getCode()); + if (sharingOrderDto.getType().equals(EnumProfitSharingOrderType.PROFIT_SHARING_MULTI.getCode())) + return new ResultData(ErrorCode.PROFIT_SHARING_RECEIVER_INVALID); + + return finishSharingOrder(sharingOrderDto); } //计算分账账户合法性 if (psReceiverList.size() > 1 && psReceiverList.stream().filter(r->(r.getParameter() == null)).count() > 0) { - throw new MallinkException(ErrorCode.PROFIT_SHARING_RECEIVER_INVALID); + return new ResultData(ErrorCode.PROFIT_SHARING_RECEIVER_INVALID); } //计算分账金额合法性 @@ -284,7 +283,7 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ } }); if (psReceiverList.stream().mapToInt(r->r.getSharingAmount()).sum() > sharingOrderDto.getShareAmount()){ - throw new MallinkException(ErrorCode.PROFIT_SHARING_RECEIVER_INVALID); + return new ResultData(ErrorCode.PROFIT_SHARING_RECEIVER_INVALID); } //单次分账检查是否已创建分账订单