xiaohanzi 5 лет назад
Родитель
Сommit
7af04aeda2
9 измененных файлов: 40 добавлений и 21 удалений
  1. +14
    -11
      mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java
  2. +1
    -1
      mallinkService/src/main/java/com/iformall/mapper/WxPayOrderMapper.java
  3. +2
    -1
      mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java
  4. +1
    -1
      mallinkService/src/main/java/com/iformall/service/WxOrderService.java
  5. +4
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java
  6. +2
    -2
      mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java
  7. +5
    -4
      mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java
  8. +2
    -0
      mallinkService/src/main/java/com/iformall/service/pay/PayServiceFactory.java
  9. +9
    -0
      mallinkService/src/main/java/com/iformall/service/pay/service/PayShareAdapterService.java

+ 14
- 11
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<String, String> paramMap) {


+ 1
- 1
mallinkService/src/main/java/com/iformall/mapper/WxPayOrderMapper.java Просмотреть файл

@@ -9,7 +9,7 @@ public interface WxPayOrderMapper extends CommonMapper<WxPayOrder, Long> {

List<WxPayOrder> findList(WxPayOrder wxPayOrder);

List<WxPayOrderVo> findListOfPaidOrderByDate(Map dateMap);
//List<WxPayOrderVo> findListOfPaidOrderByDate(Map dateMap);

List<WxPayOrder> findListForUnPs(WxPayOrder wxPayOrder);



+ 2
- 1
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);

/**
* 尚安停车


+ 1
- 1
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


+ 4
- 1
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) {


+ 2
- 2
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);


+ 5
- 4
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) {


+ 2
- 0
mallinkService/src/main/java/com/iformall/service/pay/PayServiceFactory.java Просмотреть файл

@@ -74,4 +74,6 @@ public class PayServiceFactory {
return serviceMap;
}
}

+ 9
- 0
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 {

}

Загрузка…
Отмена
Сохранить