Przeglądaj źródła

fix payAccount

release_toaliyun_real
zhengfangyuan 3 lat temu
rodzic
commit
f57a59c0ef
11 zmienionych plików z 30 dodań i 20 usunięć
  1. +11
    -0
      mallinkBApi/src/main/java/com/iformall/controller/BaseController.java
  2. +2
    -2
      mallinkBApi/src/main/java/com/iformall/controller/WxCashOutController.java
  3. +3
    -3
      mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java
  4. +1
    -0
      mallinkBApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java
  5. +1
    -1
      mallinkSchedule/src/main/java/com/iformall/schedule/CashOutSchedule.java
  6. +1
    -1
      mallinkService/src/main/java/com/iformall/service/WxOrderService.java
  7. +1
    -1
      mallinkService/src/main/java/com/iformall/service/WxPayAccountService.java
  8. +1
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxCashOutServiceImpl.java
  9. +6
    -3
      mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java
  10. +1
    -6
      mallinkService/src/main/java/com/iformall/service/impl/WxPayAccountServiceImpl.java
  11. +2
    -2
      mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java

+ 11
- 0
mallinkBApi/src/main/java/com/iformall/controller/BaseController.java Wyświetl plik

@@ -4,6 +4,7 @@ package com.iformall.controller;
import com.iformall.domain.po.*; import com.iformall.domain.po.*;
import com.iformall.domain.po.base.BaseCUserEntity; import com.iformall.domain.po.base.BaseCUserEntity;
import com.iformall.enums.EnumAppPlat; import com.iformall.enums.EnumAppPlat;
import com.iformall.enums.EnumPayVersion;
import com.iformall.service.CUserTokenService; import com.iformall.service.CUserTokenService;
import com.iformall.utils.RedisCacheUtils; import com.iformall.utils.RedisCacheUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@@ -13,6 +14,7 @@ import com.iformall.domain.po.base.TenantEntity;
import com.iformall.exception.MallinkException; import com.iformall.exception.MallinkException;
import com.iformall.service.WxAppinfoService; import com.iformall.service.WxAppinfoService;
import com.iformall.service.WxMerchantBUserService; import com.iformall.service.WxMerchantBUserService;
import com.iformall.service.WxPayAccountService;
import com.iformall.service.wechat.FmOpenService; import com.iformall.service.wechat.FmOpenService;
import com.iformall.utils.Constant; import com.iformall.utils.Constant;
import com.iformall.utils.IPUtil; import com.iformall.utils.IPUtil;
@@ -40,6 +42,9 @@ public class BaseController {
@Autowired @Autowired
private WxAppinfoService wxAppinfoService; private WxAppinfoService wxAppinfoService;
@Autowired
private WxPayAccountService wxPayAccountService;
@Autowired @Autowired
MaUtil maUtil; MaUtil maUtil;


@@ -105,6 +110,12 @@ public class BaseController {
return id; return id;
} }


public WxAppinfo getCurrentApp() {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
WxAppinfo appInfo = (WxAppinfo) request.getAttribute(Constant.APP_INFO);
return appInfo;
}
public CUser getCUser() { public CUser getCUser() {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
BaseCUserEntity baseuser = (BaseCUserEntity) request.getAttribute(Constant.REQUEST_C_USER_KEY); BaseCUserEntity baseuser = (BaseCUserEntity) request.getAttribute(Constant.REQUEST_C_USER_KEY);


+ 2
- 2
mallinkBApi/src/main/java/com/iformall/controller/WxCashOutController.java Wyświetl plik

@@ -109,8 +109,8 @@ public class WxCashOutController extends BaseController {
Map<String,Object> resultMap = new HashMap<String,Object>(); Map<String,Object> resultMap = new HashMap<String,Object>();
resultMap.put("cashOutCount", merchant.getCashOutCount()); resultMap.put("cashOutCount", merchant.getCashOutCount());
resultMap.put("cashOutNumber", merchant.getCashOutNumber()); resultMap.put("cashOutNumber", merchant.getCashOutNumber());
WxPayAccount payAccount= wxPayAccountService.getByTenantId(mall.getTenantId());
WxAppinfo appInfo = getCurrentApp();
WxPayAccount payAccount= wxPayAccountService.getById(appInfo.getPayId());
if (payAccount.getShare().intValue() == EnumPayShare.YES.getCode().intValue()) { if (payAccount.getShare().intValue() == EnumPayShare.YES.getCode().intValue()) {
resultMap.put("cashOutSupport", 0); resultMap.put("cashOutSupport", 0);
}else { }else {


+ 3
- 3
mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java Wyświetl plik

@@ -74,10 +74,10 @@ 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);
return saveMicopayOrder(authCode, totalFeeStr, EnumPayWay.PAY_WAY_WECHAT_MA,EnumPayVersion.WX_PAY_V2, request);
} }


private ResultData saveMicopayOrder(String authCode,String totalFeeStr,EnumPayWay payWay,HttpServletRequest request) {
private ResultData saveMicopayOrder(String authCode,String totalFeeStr,EnumPayWay payWay,EnumPayVersion payVersion,HttpServletRequest request) {
if (StringUtils.isBlank(authCode)) { 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不能为空");
@@ -97,7 +97,7 @@ public class WxMicroPayController extends BaseController {


WxOrder order = null; WxOrder order = null;
try { try {
order = wxOrderService.saveMicroPayOrder(user, totalFeeStr,payWay);
order = wxOrderService.saveMicroPayOrder(user, totalFeeStr,payWay,payVersion);
} 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());


+ 1
- 0
mallinkBApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java Wyświetl plik

@@ -84,6 +84,7 @@ public class AuthorizationInterceptor extends HandlerInterceptorAdapter {
request.setAttribute(Constant.LOGIN_USER_KEY, user.getId()); request.setAttribute(Constant.LOGIN_USER_KEY, user.getId());
request.setAttribute(Constant.TENANT_ID, tenantId); request.setAttribute(Constant.TENANT_ID, tenantId);
request.setAttribute(Constant.REQUEST_C_USER_KEY, user); request.setAttribute(Constant.REQUEST_C_USER_KEY, user);
request.setAttribute(Constant.APP_INFO, user.getAppinfo());
if (StringUtils.isNotBlank(parenTenantId)) { if (StringUtils.isNotBlank(parenTenantId)) {
request.setAttribute(Constant.PARENT_TENANT_ID, parenTenantId); request.setAttribute(Constant.PARENT_TENANT_ID, parenTenantId);
} }


+ 1
- 1
mallinkSchedule/src/main/java/com/iformall/schedule/CashOutSchedule.java Wyświetl plik

@@ -120,7 +120,7 @@ public class CashOutSchedule {
if (null == appInfo) { if (null == appInfo) {
return; return;
} }
WxPayAccount payAccount = wxPayAccountService.getByTenantId(cashout.getTenantId());
WxPayAccount payAccount = wxPayAccountService.getById(appInfo.getPayId());
if (null == payAccount) { if (null == payAccount) {
return; return;
} }


+ 1
- 1
mallinkService/src/main/java/com/iformall/service/WxOrderService.java Wyświetl plik

@@ -61,7 +61,7 @@ public interface WxOrderService {
* @param totalFeeStr * @param totalFeeStr
* @return 订单id * @return 订单id
*/ */
WxOrder saveMicroPayOrder(WxMerchantBUser user, String totalFeeStr,EnumPayWay payWay);
WxOrder saveMicroPayOrder(WxMerchantBUser user, String totalFeeStr,EnumPayWay payWay,EnumPayVersion payVersion);


/** /**
* 付款码支付v2 * 付款码支付v2


+ 1
- 1
mallinkService/src/main/java/com/iformall/service/WxPayAccountService.java Wyświetl plik

@@ -50,7 +50,7 @@ public interface WxPayAccountService {
void deleteById(Long id); void deleteById(Long id);




WxPayAccount getByTenantId(String te);
//WxPayAccount getByTenantId(String te);


WxPayService getWxPayService(String tenantId); WxPayService getWxPayService(String tenantId);
} }

+ 1
- 1
mallinkService/src/main/java/com/iformall/service/impl/WxCashOutServiceImpl.java Wyświetl plik

@@ -239,7 +239,7 @@ public class WxCashOutServiceImpl implements WxCashOutService {
if (null == appInfo) { if (null == appInfo) {
return; return;
} }
WxPayAccount payAccount = wxPayAccountService.getByTenantId(tenantEntity.getTenantId());
WxPayAccount payAccount = wxPayAccountService.getById(appInfo.getPayId());
if (null == payAccount) { if (null == payAccount) {
return; return;
} }


+ 6
- 3
mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java Wyświetl plik

@@ -1086,7 +1086,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,EnumPayWay payWay) {
public WxOrder saveMicroPayOrder(WxMerchantBUser user, String totalFeeStr,EnumPayWay payWay,EnumPayVersion payVersion) {
// 检查用户 // 检查用户
if (user == null) { if (user == null) {
logger.error("用户不存在"); logger.error("用户不存在");
@@ -1121,6 +1121,7 @@ public class WxOrderServiceImpl implements WxOrderService {
order.updateTenantInfo(wxMerchant); order.updateTenantInfo(wxMerchant);
order.setPayment(payment); order.setPayment(payment);
order.setPayVendor(payWay.getCode()); order.setPayVendor(payWay.getCode());
order.setPayVersion(payVersion.getCode());
order.setOrderType(EnumComposeOrder.SINGLE.getCode()); order.setOrderType(EnumComposeOrder.SINGLE.getCode());
order.setCreateDate(new Date()); order.setCreateDate(new Date());
wxBatchOrderMapper.insert(order); wxBatchOrderMapper.insert(order);
@@ -1137,8 +1138,8 @@ public class WxOrderServiceImpl implements WxOrderService {
record.updateTenantInfo(user); record.updateTenantInfo(user);
record.setOrderNumber(orderNumber); record.setOrderNumber(orderNumber);
record.setType(EnumOrderType.MICROPAY.getCode()); record.setType(EnumOrderType.MICROPAY.getCode());
record.setPayVendor(EnumPayWay.PAY_WAY_WECHAT_MA.getCode());
record.setPayVersion(EnumPayVersion.WX_PAY_V2.getCode());
record.setPayVendor(payWay.getCode());
record.setPayVersion(payVersion.getCode());
record.setProductId(user.getId()); record.setProductId(user.getId());
record.setPaymentType(EnumPayType.PAY_PAYMENT.getCode()); record.setPaymentType(EnumPayType.PAY_PAYMENT.getCode());
record.setPayment(payment); record.setPayment(payment);
@@ -1194,6 +1195,7 @@ public class WxOrderServiceImpl implements WxOrderService {
order.updateTenantInfo(wxMerchant); order.updateTenantInfo(wxMerchant);
order.setPayment(payment); order.setPayment(payment);
order.setPayVendor(EnumPayWay.PAY_WAY_WECHAT_MA.getCode()); order.setPayVendor(EnumPayWay.PAY_WAY_WECHAT_MA.getCode());
order.setPayVersion(EnumPayVersion.WX_PAY_V2.getCode());
order.setOrderType(EnumComposeOrder.SINGLE.getCode()); order.setOrderType(EnumComposeOrder.SINGLE.getCode());
order.setCreateDate(new Date()); order.setCreateDate(new Date());
wxBatchOrderMapper.insert(order); wxBatchOrderMapper.insert(order);
@@ -1250,6 +1252,7 @@ public class WxOrderServiceImpl implements WxOrderService {
order.updateTenantInfo(merchant); order.updateTenantInfo(merchant);
order.setPayment(payment); order.setPayment(payment);
order.setPayVendor(EnumPayWay.PAY_WAY_PREPAIDCARD.getCode()); order.setPayVendor(EnumPayWay.PAY_WAY_PREPAIDCARD.getCode());
order.setPayVersion(EnumPayVersion.NO_VERSION.getCode());
order.setOrderType(EnumComposeOrder.SINGLE.getCode()); order.setOrderType(EnumComposeOrder.SINGLE.getCode());
order.setCreateDate(new Date()); order.setCreateDate(new Date());
wxBatchOrderMapper.insert(order); wxBatchOrderMapper.insert(order);


+ 1
- 6
mallinkService/src/main/java/com/iformall/service/impl/WxPayAccountServiceImpl.java Wyświetl plik

@@ -79,17 +79,12 @@ public class WxPayAccountServiceImpl implements WxPayAccountService {
wxPayAccountMapper.deleteById(id); wxPayAccountMapper.deleteById(id);
} }


@Override
public WxPayAccount getByTenantId(String tenantId) {
return wxPayAccountMapper.getByTenantId(tenantId);
}

@Override @Override
public WxPayService getWxPayService(String tenantId) { public WxPayService getWxPayService(String tenantId) {
TenantEntity tenantEntity = new TenantEntity(); TenantEntity tenantEntity = new TenantEntity();
tenantEntity.setTenantId(tenantId); tenantEntity.setTenantId(tenantId);
WxAppinfo cAppInfo = wxAppinfoService.getCAppInfo(tenantEntity, EnumAppPlat.WX); WxAppinfo cAppInfo = wxAppinfoService.getCAppInfo(tenantEntity, EnumAppPlat.WX);
WxPayAccount payAccount = this.getByTenantId(tenantId);
WxPayAccount payAccount = this.getById(cAppInfo.getPayId());
if(cAppInfo != null && payAccount != null){ if(cAppInfo != null && payAccount != null){
return maUtil.getWxPayService(cAppInfo,payAccount); return maUtil.getWxPayService(cAppInfo,payAccount);
}else{ }else{


+ 2
- 2
mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java Wyświetl plik

@@ -751,7 +751,7 @@ public class WxPayOrderServiceImpl implements WxPayOrderService {
public ResultData payOrderClose(WxAppinfo appInfo, WxPayOrder record) { public ResultData payOrderClose(WxAppinfo appInfo, WxPayOrder record) {
WxPayAccount payAccount = wxPayAccountMapper.selectById(appInfo.getPayId()); WxPayAccount payAccount = wxPayAccountMapper.selectById(appInfo.getPayId());
try { try {
PayAdapterResult result = payServiceFactory.getPayAdapterService(record.getPayVendor(),payAccount.getPayVersion()).payOrderClose(appInfo, record, payAccount);
PayAdapterResult result = payServiceFactory.getPayAdapterService(record.getPayVendor(),record.getPayVersion()).payOrderClose(appInfo, record, payAccount);
if (result.isSuccess()) { if (result.isSuccess()) {
record.setPayOrderStatus(EnumPayStatus.PAY_STATUS_CANCEL.getCode()); record.setPayOrderStatus(EnumPayStatus.PAY_STATUS_CANCEL.getCode());
}else { }else {
@@ -788,7 +788,7 @@ public class WxPayOrderServiceImpl implements WxPayOrderService {
WxAppinfo appInfo = wxAppinfoService.getCAppInfo(record,EnumPayWay.getEnum(record.getPayVendor()).getPlat()); WxAppinfo appInfo = wxAppinfoService.getCAppInfo(record,EnumPayWay.getEnum(record.getPayVendor()).getPlat());
WxPayAccount payAccount = wxPayAccountMapper.selectById(appInfo.getPayId()); WxPayAccount payAccount = wxPayAccountMapper.selectById(appInfo.getPayId());
try { try {
PayAdapterResult result = payServiceFactory.getPayAdapterService(record.getPayVendor(),payAccount.getPayVersion()).payOrderReverse(appInfo, record, payAccount);
PayAdapterResult result = payServiceFactory.getPayAdapterService(record.getPayVendor(),record.getPayVersion()).payOrderReverse(appInfo, record, payAccount);
if (result.isSuccess()) { if (result.isSuccess()) {
record.setPayOrderStatus(EnumPayStatus.PAY_STATUS_REVERSE.getCode()); record.setPayOrderStatus(EnumPayStatus.PAY_STATUS_REVERSE.getCode());
record.setUpdateTime(new Date()); record.setUpdateTime(new Date());


Ładowanie…
Anuluj
Zapisz