From 7af04aeda2b00d2594d893cac99a80860a713b35 Mon Sep 17 00:00:00 2001 From: xiaohanzi Date: Fri, 31 Jul 2020 18:27:59 +0800 Subject: [PATCH] update --- .../controller/WxMicroPayController.java | 25 +++++++++++-------- .../com/iformall/mapper/WxPayOrderMapper.java | 2 +- .../service/WxCouponOrderService.java | 3 ++- .../com/iformall/service/WxOrderService.java | 2 +- .../impl/WxCouponOrderServiceImpl.java | 5 +++- .../service/impl/WxOrderServiceImpl.java | 4 +-- .../service/impl/WxPayOrderServiceImpl.java | 9 ++++--- .../service/pay/PayServiceFactory.java | 2 ++ .../pay/service/PayShareAdapterService.java | 9 +++++++ 9 files changed, 40 insertions(+), 21 deletions(-) create mode 100644 mallinkService/src/main/java/com/iformall/service/pay/service/PayShareAdapterService.java diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java index 3e3ae0fe5..0a3e1f9b6 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java @@ -69,27 +69,30 @@ public class WxMicroPayController extends BaseController { //Assert.isTrue(!checkUnique(sysRole.getName(), null), "重复的角色名"); String authCode = paramMap.get("authCode"); String totalFeeStr = paramMap.get("totalFee"); + return saveMicopayOrder(authCode, totalFeeStr, EnumPayWay.PAY_WAY_WECHAT_MA, request); + } - if (StringUtils.isBlank(authCode)) { + private ResultData saveMicopayOrder(String authCode,String totalFeeStr,EnumPayWay payWay,HttpServletRequest request) { + if (StringUtils.isBlank(authCode)) { logger.error("authCode不能为空"); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "authCode不能为空"); } - if (StringUtils.isBlank(totalFeeStr)) { - logger.error("totalFee不能为空"); - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "totalFee不能为空"); - } if (!checkAuthCode(authCode)) { logger.error("authCode不符合规则"); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "authCode不符合规则"); } - - String ipStr = IPUtil.getIpAddr(request); + if (StringUtils.isBlank(totalFeeStr)) { + logger.error("totalFee不能为空"); + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "totalFee不能为空"); + } + + String ipStr = IPUtil.getIpAddr(request); WxMerchantBUser user = getUser(); WxOrder order = null; try { - order = wxOrderService.saveMicroPayOrder(user, totalFeeStr); + order = wxOrderService.saveMicroPayOrder(user, totalFeeStr,payWay); } catch (MallinkException e) { logger.error("saveMicopayOrder 1" + e.getMessage()); return new ResultData(e.getErrorCode(), e.getMessage()); @@ -104,9 +107,8 @@ public class WxMicroPayController extends BaseController { record.setAuthCode(authCode); record.setPayAmount(order.getPayment()); record.setIp(ipStr); - try { - return wxPayOrderService.createMicroPayOrder(user, record, EnumPayWay.PAY_WAY_WECHAT_MA, null); + return wxPayOrderService.createMicroPayOrder(user, record, payWay, null); } catch (MallinkException e) { logger.error("payment wechat, order create error, req 2: " + record.toString() + ", e:" + e.getMessage()); return new ResultData(e.getErrorCode(), e.getMessage()); @@ -115,7 +117,8 @@ public class WxMicroPayController extends BaseController { return new ResultData(ErrorCode.PAY_ORDER_ERROR, e.getMessage()); } } - + + @ApiOperation(value = "查询付款码支付订单", notes = "{\"payOrderId\":\"String\",\"orderId\":\"String\"}") @PostMapping("order_query") public ResultData queryMicopayOrder(@RequestBody Map paramMap) { diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxPayOrderMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxPayOrderMapper.java index 59c5e1d21..b7620a4eb 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxPayOrderMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxPayOrderMapper.java @@ -9,7 +9,7 @@ public interface WxPayOrderMapper extends CommonMapper { List findList(WxPayOrder wxPayOrder); - List findListOfPaidOrderByDate(Map dateMap); + //List findListOfPaidOrderByDate(Map dateMap); List findListForUnPs(WxPayOrder wxPayOrder); diff --git a/mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java b/mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java index 758e2e036..6dd607849 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java @@ -6,6 +6,7 @@ import com.iformall.common.ResultData; import com.iformall.domain.po.*; import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.vo.*; +import com.iformall.enums.EnumPayWay; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -207,7 +208,7 @@ public interface WxCouponOrderService { WxPayOrder microPayPreVerify(WxOrder microOrder, WxCouponOrder couponOrder, WxMerchantBUser bUser, Integer price); - Integer microPayVerify(WxMerchantBUser bUser, Long couponOrderId); + Integer microPayVerify(WxMerchantBUser bUser, Long couponOrderId,EnumPayWay payWay); /** * 尚安停车 diff --git a/mallinkService/src/main/java/com/iformall/service/WxOrderService.java b/mallinkService/src/main/java/com/iformall/service/WxOrderService.java index d27780fa7..10ae5762e 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxOrderService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxOrderService.java @@ -58,7 +58,7 @@ public interface WxOrderService { * @param totalFeeStr * @return 订单id */ - WxOrder saveMicroPayOrder(WxMerchantBUser user, String totalFeeStr); + WxOrder saveMicroPayOrder(WxMerchantBUser user, String totalFeeStr,EnumPayWay payWay); /** * 付款码支付v2 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 b51ccff2d..f52d76a82 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java @@ -543,6 +543,8 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { merchantSubsidy.setRealPayment(couponOrder.getCouponPrice()); merchantSubsidy.setSubsidy(couponOrder.getCouponPrice()); merchantSubsidy.setRealSubsidy(couponOrder.getCouponPrice()); + couponOrder.getPayVendor(); + 11111111111 merchantSubsidy.setType(EnumMerchantSubsidyType.WECHAT.getCode()); merchantSubsidy.setCreateDate(curDate); merchantSubsidy.setUpdateDate(curDate); @@ -1387,12 +1389,13 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { @Override @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) - public Integer microPayVerify(WxMerchantBUser bUser, Long couponOrderId) { + public Integer microPayVerify(WxMerchantBUser bUser, Long couponOrderId,EnumPayWay payWay) { WxCouponOrder updateCouponOrder = new WxCouponOrder(); updateCouponOrder.setId(couponOrderId); updateCouponOrder.setBUserId(bUser.getId()); updateCouponOrder.setCouponOrderStatus(EnumCouponOrderStatus.COUPON_ORDER_USED.getCode()); updateCouponOrder.setUpdateDate(new Date()); + updateCouponOrder.setPayVendor(payWay.getCode()); // 核销状态更新 int num = wxCouponOrderMapper.updateById(updateCouponOrder); if (num == 1) { 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 8deb116e6..ef216254f 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java @@ -822,7 +822,7 @@ public class WxOrderServiceImpl implements WxOrderService { @Override @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) - public WxOrder saveMicroPayOrder(WxMerchantBUser user, String totalFeeStr) { + public WxOrder saveMicroPayOrder(WxMerchantBUser user, String totalFeeStr,EnumPayWay payWay) { // 检查用户 if (user == null) { logger.error("用户不存在"); @@ -854,7 +854,7 @@ public class WxOrderServiceImpl implements WxOrderService { // body // tenant_id + merchant_id + title + subtitle - String bodyStr = "刷卡支付, 金额:" + totalFeeStr; + String bodyStr = "["+payWay.getMessage()+"("+payWay.getCode()+")]刷卡支付, 金额:" + totalFeeStr; record.setId(orderNumber); record.updateTenantInfo(user); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java index be86f783a..1d165715b 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java @@ -1119,8 +1119,8 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { // B端收银台核销券处理, 收银台支付和券支付可能不是同一个人 WxPayOrder payOrderQ = new WxPayOrder(); payOrderQ.setOrderId(order.getId()); - payOrderQ.setPayFrom(EnumPayFrom.INSIDE_B.getCode()); - payOrderQ.setPayOrderStatus(EnumPayStatus.PAY_STATUS_WAIT.getCode()); + //payOrderQ.setPayFrom(EnumPayFrom.INSIDE_B.getCode()); + //payOrderQ.setPayOrderStatus(EnumPayStatus.PAY_STATUS_WAIT.getCode()); try { WxPayOrder unPayOrder = wxPayOrderMapper.selectOne(new QueryWrapper<>(payOrderQ)); if (unPayOrder != null) { @@ -1128,6 +1128,7 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { try { unPayOrder.setOrderId(order.getId()); unPayOrder.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()); + unPayOrder.setPayVendor(payWay.getCode()); wxPayOrderMapper.updateById(unPayOrder); } catch (Exception e) { logger.error("支付订单数据库更新失败: " + e.getMessage()); @@ -1135,12 +1136,12 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { } if (unPayOrder.getPosPayOrderId() != null) { try { - wxCouponOrderService.microPayVerify(user, unPayOrder.getPosPayOrderId()); + wxCouponOrderService.microPayVerify(user, unPayOrder.getPosPayOrderId(),payWay); } catch (Exception e) { logger.error(e.getMessage()); } // 更新后处理 - wxCouponOrderService.sendInsideCouponVerifyMsg(unPayOrder, unPayOrder.getPosPayOrderId(), user.getId()); + wxCouponOrderService.sendInsideCouponVerifyMsg(unPayOrder, unPayOrder.getPosPayOrderId(), user.getId(),payWay); } } } catch (Exception e) { diff --git a/mallinkService/src/main/java/com/iformall/service/pay/PayServiceFactory.java b/mallinkService/src/main/java/com/iformall/service/pay/PayServiceFactory.java index d07078b8e..6df0b3c28 100644 --- a/mallinkService/src/main/java/com/iformall/service/pay/PayServiceFactory.java +++ b/mallinkService/src/main/java/com/iformall/service/pay/PayServiceFactory.java @@ -74,4 +74,6 @@ public class PayServiceFactory { return serviceMap; } + + } diff --git a/mallinkService/src/main/java/com/iformall/service/pay/service/PayShareAdapterService.java b/mallinkService/src/main/java/com/iformall/service/pay/service/PayShareAdapterService.java new file mode 100644 index 000000000..a6e774411 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/service/pay/service/PayShareAdapterService.java @@ -0,0 +1,9 @@ +package com.iformall.service.pay.service; + +/** + * 分账接口 + * @author alascor + */ +public interface PayShareAdapterService { + +}