mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-06-11 02:40:15 +08:00
update订单逻辑改造工厂模式
This commit is contained in:
@@ -14,6 +14,9 @@ import com.jsowell.common.util.id.IdUtils;
|
|||||||
import com.jsowell.pile.domain.MemberBasicInfo;
|
import com.jsowell.pile.domain.MemberBasicInfo;
|
||||||
import com.jsowell.pile.dto.*;
|
import com.jsowell.pile.dto.*;
|
||||||
import com.jsowell.pile.service.IMemberBasicInfoService;
|
import com.jsowell.pile.service.IMemberBasicInfoService;
|
||||||
|
import com.jsowell.pile.service.IPileMerchantInfoService;
|
||||||
|
import com.jsowell.pile.service.orderlogic.AbstractOrderLogic;
|
||||||
|
import com.jsowell.pile.service.orderlogic.OrderLogicFactory;
|
||||||
import com.jsowell.pile.vo.uniapp.PayModeVO;
|
import com.jsowell.pile.vo.uniapp.PayModeVO;
|
||||||
import com.jsowell.service.MemberService;
|
import com.jsowell.service.MemberService;
|
||||||
import com.jsowell.service.OrderService;
|
import com.jsowell.service.OrderService;
|
||||||
@@ -48,6 +51,9 @@ public class PayController extends BaseController {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private IMemberBasicInfoService memberBasicInfoService;
|
private IMemberBasicInfoService memberBasicInfoService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IPileMerchantInfoService pileMerchantInfoService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 充值余额支付/微信余额充值
|
* 充值余额支付/微信余额充值
|
||||||
* 提供给小程序使用
|
* 提供给小程序使用
|
||||||
@@ -273,7 +279,13 @@ public class PayController extends BaseController {
|
|||||||
// }
|
// }
|
||||||
dto.setOpenId(memberBasicInfo.getOpenId());
|
dto.setOpenId(memberBasicInfo.getOpenId());
|
||||||
// 充值余额 附加参数
|
// 充值余额 附加参数
|
||||||
Map<String, Object> weixinMap = memberService.rechargeBalanceWithAdapay(dto);
|
// Map<String, Object> weixinMap = memberService.rechargeBalanceWithAdapay(dto);
|
||||||
|
|
||||||
|
String mode = pileMerchantInfoService.getDelayModeByWechatAppId(dto.getWechatAppId());
|
||||||
|
// 获取处理逻辑
|
||||||
|
AbstractOrderLogic orderLogic = OrderLogicFactory.getOrderLogic(mode);
|
||||||
|
Map<String, Object> weixinMap = orderLogic.rechargeBalance(dto);
|
||||||
|
|
||||||
response = new RestApiResponse<>(ImmutableMap.of("weixinMap", weixinMap));
|
response = new RestApiResponse<>(ImmutableMap.of("weixinMap", weixinMap));
|
||||||
} catch (BusinessException e) {
|
} catch (BusinessException e) {
|
||||||
logger.error("汇付余额充值接口 error", e);
|
logger.error("汇付余额充值接口 error", e);
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public OrderBasicInfo generateOrder(GenerateOrderDTO dto) throws ParseException {
|
public OrderBasicInfo generateOrder(GenerateOrderDTO dto) throws ParseException {
|
||||||
logger.info("{}-生成订单start, param:{}", this.getClass().getSimpleName(), JSONObject.toJSONString(dto));
|
logger.info("【{}】-生成订单start, param:{}", this.getClass().getSimpleName(), JSONObject.toJSONString(dto));
|
||||||
// 处理前端传的参数
|
// 处理前端传的参数
|
||||||
analysisPileParameter(dto);
|
analysisPileParameter(dto);
|
||||||
|
|
||||||
@@ -185,7 +185,7 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String, Object> payOrder(PayOrderDTO dto) {
|
public Map<String, Object> payOrder(PayOrderDTO dto) {
|
||||||
logger.info("{}-支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto));
|
logger.info("【{}】-支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto));
|
||||||
OrderBasicInfo orderInfo = orderBasicInfoService.getOrderInfoByOrderCode(dto.getOrderCode());
|
OrderBasicInfo orderInfo = orderBasicInfoService.getOrderInfoByOrderCode(dto.getOrderCode());
|
||||||
if (orderInfo == null) {
|
if (orderInfo == null) {
|
||||||
throw new BusinessException(ReturnCodeEnum.CODE_QUERY_ORDER_INFO_IS_NULL);
|
throw new BusinessException(ReturnCodeEnum.CODE_QUERY_ORDER_INFO_IS_NULL);
|
||||||
@@ -220,7 +220,7 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic {
|
|||||||
*/
|
*/
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void balancePayOrder(PayOrderDTO dto) {
|
public void balancePayOrder(PayOrderDTO dto) {
|
||||||
logger.info("{}-余额支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto));
|
logger.info("【{}】-余额支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto));
|
||||||
// 订单编号
|
// 订单编号
|
||||||
String orderCode = dto.getOrderCode();
|
String orderCode = dto.getOrderCode();
|
||||||
// 支付金额
|
// 支付金额
|
||||||
@@ -328,7 +328,7 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic {
|
|||||||
* 在线支付订单
|
* 在线支付订单
|
||||||
*/
|
*/
|
||||||
public Map<String, Object> onlinePaymentOrder(PayOrderDTO dto) {
|
public Map<String, Object> onlinePaymentOrder(PayOrderDTO dto) {
|
||||||
logger.info("{}-在线支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto));
|
logger.info("【{}】-在线支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto));
|
||||||
Map<String, Object> weixinMap = adapayService.createPayment(dto);
|
Map<String, Object> weixinMap = adapayService.createPayment(dto);
|
||||||
return weixinMap;
|
return weixinMap;
|
||||||
}
|
}
|
||||||
@@ -337,7 +337,7 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic {
|
|||||||
* 白名单支付订单
|
* 白名单支付订单
|
||||||
*/
|
*/
|
||||||
public void whitelistPaymentOrder(PayOrderDTO dto) {
|
public void whitelistPaymentOrder(PayOrderDTO dto) {
|
||||||
logger.info("{}-白名单支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto));
|
logger.info("【{}】-白名单支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto));
|
||||||
String orderCode = dto.getOrderCode();
|
String orderCode = dto.getOrderCode();
|
||||||
BigDecimal payAmount = dto.getPayAmount();
|
BigDecimal payAmount = dto.getPayAmount();
|
||||||
String payMode = dto.getPayMode();
|
String payMode = dto.getPayMode();
|
||||||
@@ -358,7 +358,7 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void settleOrder(TransactionRecordsData data, OrderBasicInfo orderBasicInfo) {
|
public void settleOrder(TransactionRecordsData data, OrderBasicInfo orderBasicInfo) {
|
||||||
logger.info("{}-结算订单start data:{}, orderBasicInfo:{}", this.getClass().getSimpleName(), data.toString(), JSON.toJSONString(orderBasicInfo));
|
logger.info("【{}】-结算订单start data:{}, orderBasicInfo:{}", this.getClass().getSimpleName(), data.toString(), JSON.toJSONString(orderBasicInfo));
|
||||||
// 判断订单状态
|
// 判断订单状态
|
||||||
if (StringUtils.equals(orderBasicInfo.getOrderStatus(), OrderStatusEnum.ORDER_COMPLETE.getValue())) {
|
if (StringUtils.equals(orderBasicInfo.getOrderStatus(), OrderStatusEnum.ORDER_COMPLETE.getValue())) {
|
||||||
logger.info("结算订单:{}, 是订单完成状态", orderBasicInfo.getOrderCode());
|
logger.info("结算订单:{}, 是订单完成状态", orderBasicInfo.getOrderCode());
|
||||||
@@ -425,7 +425,7 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic {
|
|||||||
logger.info("订单:{}使用白名单支付,不进行退款处理", orderBasicInfo.getOrderCode());
|
logger.info("订单:{}使用白名单支付,不进行退款处理", orderBasicInfo.getOrderCode());
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error("{}-订单退款逻辑异常orderCode:{}", this.getClass().getSimpleName(), orderBasicInfo.getOrderCode(), e);
|
logger.error("【{}】-订单退款逻辑异常orderCode:{}", this.getClass().getSimpleName(), orderBasicInfo.getOrderCode(), e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -436,6 +436,7 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Map<String, Object> rechargeBalance(WeixinPayDTO dto) {
|
public Map<String, Object> rechargeBalance(WeixinPayDTO dto) {
|
||||||
|
logger.info("【{}】-余额充值start dto:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto));
|
||||||
// 获取支付配置
|
// 获取支付配置
|
||||||
AbstractAdapayConfig config = AdapayConfigFactory.getConfig(dto.getWechatAppId());
|
AbstractAdapayConfig config = AdapayConfigFactory.getConfig(dto.getWechatAppId());
|
||||||
if (config == null) {
|
if (config == null) {
|
||||||
|
|||||||
@@ -408,6 +408,7 @@ public class NotDelayMerchantOrderLogic extends AbstractOrderLogic{
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Map<String, Object> rechargeBalance(WeixinPayDTO dto) {
|
public Map<String, Object> rechargeBalance(WeixinPayDTO dto) {
|
||||||
|
logger.info("【{}】-余额充值start dto:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto));
|
||||||
// 获取支付配置
|
// 获取支付配置
|
||||||
AbstractAdapayConfig config = AdapayConfigFactory.getConfig(dto.getWechatAppId());
|
AbstractAdapayConfig config = AdapayConfigFactory.getConfig(dto.getWechatAppId());
|
||||||
if (config == null) {
|
if (config == null) {
|
||||||
@@ -439,10 +440,6 @@ public class NotDelayMerchantOrderLogic extends AbstractOrderLogic{
|
|||||||
map.put("payMode", payMode);
|
map.put("payMode", payMode);
|
||||||
map.put("memberId", dto.getMemberId());
|
map.put("memberId", dto.getMemberId());
|
||||||
createAdaPaymentParam.setDescription(JSON.toJSONString(map));
|
createAdaPaymentParam.setDescription(JSON.toJSONString(map));
|
||||||
// 延时分账
|
|
||||||
if (StringUtils.isNotBlank(payMode)) {
|
|
||||||
createAdaPaymentParam.setPay_mode(payMode);
|
|
||||||
}
|
|
||||||
try {
|
try {
|
||||||
logger.info("创建汇付支付参数:{}", JSONObject.toJSONString(createAdaPaymentParam));
|
logger.info("创建汇付支付参数:{}", JSONObject.toJSONString(createAdaPaymentParam));
|
||||||
Map<String, Object> response = Payment.create(BeanMap.create(createAdaPaymentParam), config.getWechatAppId());
|
Map<String, Object> response = Payment.create(BeanMap.create(createAdaPaymentParam), config.getWechatAppId());
|
||||||
|
|||||||
@@ -5,9 +5,11 @@ import com.jsowell.wxpay.common.WeChatPayParameter;
|
|||||||
import com.jsowell.wxpay.utils.WechatPayUtils;
|
import com.jsowell.wxpay.utils.WechatPayUtils;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.boot.CommandLineRunner;
|
import org.springframework.boot.CommandLineRunner;
|
||||||
|
import org.springframework.core.annotation.Order;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
// @Order(value = 2)
|
@Order(value = 2)
|
||||||
// @Component
|
@Component
|
||||||
public class WechatPayConfig implements CommandLineRunner {
|
public class WechatPayConfig implements CommandLineRunner {
|
||||||
/**
|
/**
|
||||||
* 公众号appid
|
* 公众号appid
|
||||||
|
|||||||
@@ -2,8 +2,9 @@ package com.jsowell.wxpay.config;
|
|||||||
|
|
||||||
import org.springframework.beans.factory.InitializingBean;
|
import org.springframework.beans.factory.InitializingBean;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
// @Component
|
@Component
|
||||||
public class WeixinLoginProperties implements InitializingBean {
|
public class WeixinLoginProperties implements InitializingBean {
|
||||||
|
|
||||||
@Value("${weixin.login.gateway}")
|
@Value("${weixin.login.gateway}")
|
||||||
|
|||||||
Reference in New Issue
Block a user