| @@ -69,27 +69,30 @@ public class WxMicroPayController extends BaseController { | |||||
| //Assert.isTrue(!checkUnique(sysRole.getName(), null), "重复的角色名"); | //Assert.isTrue(!checkUnique(sysRole.getName(), null), "重复的角色名"); | ||||
| String authCode = paramMap.get("authCode"); | String authCode = paramMap.get("authCode"); | ||||
| String totalFeeStr = paramMap.get("totalFee"); | 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不能为空"); | logger.error("authCode不能为空"); | ||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "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)) { | if (!checkAuthCode(authCode)) { | ||||
| logger.error("authCode不符合规则"); | logger.error("authCode不符合规则"); | ||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "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(); | WxMerchantBUser user = getUser(); | ||||
| WxOrder order = null; | WxOrder order = null; | ||||
| try { | try { | ||||
| order = wxOrderService.saveMicroPayOrder(user, totalFeeStr); | |||||
| order = wxOrderService.saveMicroPayOrder(user, totalFeeStr,payWay); | |||||
| } catch (MallinkException e) { | } catch (MallinkException e) { | ||||
| logger.error("saveMicopayOrder 1" + e.getMessage()); | logger.error("saveMicopayOrder 1" + e.getMessage()); | ||||
| return new ResultData(e.getErrorCode(), e.getMessage()); | return new ResultData(e.getErrorCode(), e.getMessage()); | ||||
| @@ -104,9 +107,8 @@ public class WxMicroPayController extends BaseController { | |||||
| record.setAuthCode(authCode); | record.setAuthCode(authCode); | ||||
| record.setPayAmount(order.getPayment()); | record.setPayAmount(order.getPayment()); | ||||
| record.setIp(ipStr); | record.setIp(ipStr); | ||||
| try { | try { | ||||
| return wxPayOrderService.createMicroPayOrder(user, record, EnumPayWay.PAY_WAY_WECHAT_MA, null); | |||||
| return wxPayOrderService.createMicroPayOrder(user, record, payWay, null); | |||||
| } catch (MallinkException e) { | } catch (MallinkException e) { | ||||
| logger.error("payment wechat, order create error, req 2: " + record.toString() + ", e:" + e.getMessage()); | logger.error("payment wechat, order create error, req 2: " + record.toString() + ", e:" + e.getMessage()); | ||||
| return new ResultData(e.getErrorCode(), 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()); | return new ResultData(ErrorCode.PAY_ORDER_ERROR, e.getMessage()); | ||||
| } | } | ||||
| } | } | ||||
| @ApiOperation(value = "查询付款码支付订单", notes = "{\"payOrderId\":\"String\",\"orderId\":\"String\"}") | @ApiOperation(value = "查询付款码支付订单", notes = "{\"payOrderId\":\"String\",\"orderId\":\"String\"}") | ||||
| @PostMapping("order_query") | @PostMapping("order_query") | ||||
| public ResultData queryMicopayOrder(@RequestBody Map<String, String> paramMap) { | public ResultData queryMicopayOrder(@RequestBody Map<String, String> paramMap) { | ||||
| @@ -9,7 +9,7 @@ public interface WxPayOrderMapper extends CommonMapper<WxPayOrder, Long> { | |||||
| List<WxPayOrder> findList(WxPayOrder wxPayOrder); | List<WxPayOrder> findList(WxPayOrder wxPayOrder); | ||||
| List<WxPayOrderVo> findListOfPaidOrderByDate(Map dateMap); | |||||
| //List<WxPayOrderVo> findListOfPaidOrderByDate(Map dateMap); | |||||
| List<WxPayOrder> findListForUnPs(WxPayOrder wxPayOrder); | List<WxPayOrder> findListForUnPs(WxPayOrder wxPayOrder); | ||||
| @@ -6,6 +6,7 @@ import com.iformall.common.ResultData; | |||||
| import com.iformall.domain.po.*; | import com.iformall.domain.po.*; | ||||
| import com.iformall.domain.po.base.TenantEntity; | import com.iformall.domain.po.base.TenantEntity; | ||||
| import com.iformall.domain.vo.*; | import com.iformall.domain.vo.*; | ||||
| import com.iformall.enums.EnumPayWay; | |||||
| import javax.servlet.http.HttpServletRequest; | import javax.servlet.http.HttpServletRequest; | ||||
| import javax.servlet.http.HttpServletResponse; | import javax.servlet.http.HttpServletResponse; | ||||
| @@ -207,7 +208,7 @@ public interface WxCouponOrderService { | |||||
| WxPayOrder microPayPreVerify(WxOrder microOrder, WxCouponOrder couponOrder, WxMerchantBUser bUser, Integer price); | WxPayOrder microPayPreVerify(WxOrder microOrder, WxCouponOrder couponOrder, WxMerchantBUser bUser, Integer price); | ||||
| Integer microPayVerify(WxMerchantBUser bUser, Long couponOrderId); | |||||
| Integer microPayVerify(WxMerchantBUser bUser, Long couponOrderId,EnumPayWay payWay); | |||||
| /** | /** | ||||
| * 尚安停车 | * 尚安停车 | ||||
| @@ -58,7 +58,7 @@ public interface WxOrderService { | |||||
| * @param totalFeeStr | * @param totalFeeStr | ||||
| * @return 订单id | * @return 订单id | ||||
| */ | */ | ||||
| WxOrder saveMicroPayOrder(WxMerchantBUser user, String totalFeeStr); | |||||
| WxOrder saveMicroPayOrder(WxMerchantBUser user, String totalFeeStr,EnumPayWay payWay); | |||||
| /** | /** | ||||
| * 付款码支付v2 | * 付款码支付v2 | ||||
| @@ -543,6 +543,8 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { | |||||
| merchantSubsidy.setRealPayment(couponOrder.getCouponPrice()); | merchantSubsidy.setRealPayment(couponOrder.getCouponPrice()); | ||||
| merchantSubsidy.setSubsidy(couponOrder.getCouponPrice()); | merchantSubsidy.setSubsidy(couponOrder.getCouponPrice()); | ||||
| merchantSubsidy.setRealSubsidy(couponOrder.getCouponPrice()); | merchantSubsidy.setRealSubsidy(couponOrder.getCouponPrice()); | ||||
| couponOrder.getPayVendor(); | |||||
| 11111111111 | |||||
| merchantSubsidy.setType(EnumMerchantSubsidyType.WECHAT.getCode()); | merchantSubsidy.setType(EnumMerchantSubsidyType.WECHAT.getCode()); | ||||
| merchantSubsidy.setCreateDate(curDate); | merchantSubsidy.setCreateDate(curDate); | ||||
| merchantSubsidy.setUpdateDate(curDate); | merchantSubsidy.setUpdateDate(curDate); | ||||
| @@ -1387,12 +1389,13 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { | |||||
| @Override | @Override | ||||
| @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | @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(); | WxCouponOrder updateCouponOrder = new WxCouponOrder(); | ||||
| updateCouponOrder.setId(couponOrderId); | updateCouponOrder.setId(couponOrderId); | ||||
| updateCouponOrder.setBUserId(bUser.getId()); | updateCouponOrder.setBUserId(bUser.getId()); | ||||
| updateCouponOrder.setCouponOrderStatus(EnumCouponOrderStatus.COUPON_ORDER_USED.getCode()); | updateCouponOrder.setCouponOrderStatus(EnumCouponOrderStatus.COUPON_ORDER_USED.getCode()); | ||||
| updateCouponOrder.setUpdateDate(new Date()); | updateCouponOrder.setUpdateDate(new Date()); | ||||
| updateCouponOrder.setPayVendor(payWay.getCode()); | |||||
| // 核销状态更新 | // 核销状态更新 | ||||
| int num = wxCouponOrderMapper.updateById(updateCouponOrder); | int num = wxCouponOrderMapper.updateById(updateCouponOrder); | ||||
| if (num == 1) { | if (num == 1) { | ||||
| @@ -822,7 +822,7 @@ public class WxOrderServiceImpl implements WxOrderService { | |||||
| @Override | @Override | ||||
| @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | @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) { | if (user == null) { | ||||
| logger.error("用户不存在"); | logger.error("用户不存在"); | ||||
| @@ -854,7 +854,7 @@ public class WxOrderServiceImpl implements WxOrderService { | |||||
| // body | // body | ||||
| // tenant_id + merchant_id + title + subtitle | // tenant_id + merchant_id + title + subtitle | ||||
| String bodyStr = "刷卡支付, 金额:" + totalFeeStr; | |||||
| String bodyStr = "["+payWay.getMessage()+"("+payWay.getCode()+")]刷卡支付, 金额:" + totalFeeStr; | |||||
| record.setId(orderNumber); | record.setId(orderNumber); | ||||
| record.updateTenantInfo(user); | record.updateTenantInfo(user); | ||||
| @@ -1119,8 +1119,8 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { | |||||
| // B端收银台核销券处理, 收银台支付和券支付可能不是同一个人 | // B端收银台核销券处理, 收银台支付和券支付可能不是同一个人 | ||||
| WxPayOrder payOrderQ = new WxPayOrder(); | WxPayOrder payOrderQ = new WxPayOrder(); | ||||
| payOrderQ.setOrderId(order.getId()); | 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 { | try { | ||||
| WxPayOrder unPayOrder = wxPayOrderMapper.selectOne(new QueryWrapper<>(payOrderQ)); | WxPayOrder unPayOrder = wxPayOrderMapper.selectOne(new QueryWrapper<>(payOrderQ)); | ||||
| if (unPayOrder != null) { | if (unPayOrder != null) { | ||||
| @@ -1128,6 +1128,7 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { | |||||
| try { | try { | ||||
| unPayOrder.setOrderId(order.getId()); | unPayOrder.setOrderId(order.getId()); | ||||
| unPayOrder.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()); | unPayOrder.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()); | ||||
| unPayOrder.setPayVendor(payWay.getCode()); | |||||
| wxPayOrderMapper.updateById(unPayOrder); | wxPayOrderMapper.updateById(unPayOrder); | ||||
| } catch (Exception e) { | } catch (Exception e) { | ||||
| logger.error("支付订单数据库更新失败: " + e.getMessage()); | logger.error("支付订单数据库更新失败: " + e.getMessage()); | ||||
| @@ -1135,12 +1136,12 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { | |||||
| } | } | ||||
| if (unPayOrder.getPosPayOrderId() != null) { | if (unPayOrder.getPosPayOrderId() != null) { | ||||
| try { | try { | ||||
| wxCouponOrderService.microPayVerify(user, unPayOrder.getPosPayOrderId()); | |||||
| wxCouponOrderService.microPayVerify(user, unPayOrder.getPosPayOrderId(),payWay); | |||||
| } catch (Exception e) { | } catch (Exception e) { | ||||
| logger.error(e.getMessage()); | logger.error(e.getMessage()); | ||||
| } | } | ||||
| // 更新后处理 | // 更新后处理 | ||||
| wxCouponOrderService.sendInsideCouponVerifyMsg(unPayOrder, unPayOrder.getPosPayOrderId(), user.getId()); | |||||
| wxCouponOrderService.sendInsideCouponVerifyMsg(unPayOrder, unPayOrder.getPosPayOrderId(), user.getId(),payWay); | |||||
| } | } | ||||
| } | } | ||||
| } catch (Exception e) { | } catch (Exception e) { | ||||
| @@ -74,4 +74,6 @@ public class PayServiceFactory { | |||||
| return serviceMap; | return serviceMap; | ||||
| } | } | ||||
| } | } | ||||
| @@ -0,0 +1,9 @@ | |||||
| package com.iformall.service.pay.service; | |||||
| /** | |||||
| * 分账接口 | |||||
| * @author alascor | |||||
| */ | |||||
| public interface PayShareAdapterService { | |||||
| } | |||||