diff --git a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/PayController.java b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/PayController.java index 91a1ce697..76c7a792f 100644 --- a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/PayController.java +++ b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/PayController.java @@ -47,6 +47,7 @@ public class PayController extends BaseController { @Autowired private IMemberBasicInfoService memberBasicInfoService; + /** * 充值余额支付/微信余额充值 * 提供给小程序使用 @@ -128,7 +129,7 @@ public class PayController extends BaseController { String appId = request.getHeader("appId"); dto.setWechatAppId(appId); map = orderService.payOrderV2(dto); - map = orderService.payOrder(dto); + // map = orderService.payOrder(dto); } response = new RestApiResponse<>(map); } catch (BusinessException e) { diff --git a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java index f72e8a562..ee68ade9e 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java @@ -141,6 +141,22 @@ public class OrderService { return null; } + /** + * 生成订单 + * @param dto + * @return + */ + public String generateOrderV2(GenerateOrderDTO dto) throws ParseException { + // 新逻辑 + String delayMode = pileMerchantInfoService.getDelayModeByWechatAppId(dto.getAppId()); + AbstractOrderLogic orderLogic = OrderLogicFactory.getOrderLogic(delayMode); + OrderBasicInfo orderBasicInfo = orderLogic.generateOrder(dto); + if (orderBasicInfo != null) { + return orderBasicInfo.getOrderCode(); + } + return null; + } + /** * 订单支付 * @param dto diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/orderlogic/AbstractOrderLogic.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/orderlogic/AbstractOrderLogic.java index 5246e4949..1a8e48cbb 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/orderlogic/AbstractOrderLogic.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/orderlogic/AbstractOrderLogic.java @@ -6,20 +6,27 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.jsowell.adapay.service.AdapayService; import com.jsowell.common.constant.CacheConstants; +import com.jsowell.common.constant.Constants; import com.jsowell.common.core.domain.ykc.RealTimeMonitorData; import com.jsowell.common.core.domain.ykc.TransactionRecordsData; import com.jsowell.common.core.redis.RedisCache; -import com.jsowell.common.enums.ykc.CardStatusEnum; -import com.jsowell.common.enums.ykc.OrderPayModeEnum; -import com.jsowell.common.enums.ykc.OrderStatusEnum; +import com.jsowell.common.enums.ykc.*; +import com.jsowell.common.exception.BusinessException; import com.jsowell.common.util.DateUtils; import com.jsowell.common.util.StringUtils; +import com.jsowell.common.util.id.IdUtils; import com.jsowell.pile.domain.*; +import com.jsowell.pile.dto.BasicPileDTO; +import com.jsowell.pile.dto.GenerateOrderDTO; import com.jsowell.pile.dto.PayOrderDTO; import com.jsowell.pile.dto.PayOrderSuccessCallbackDTO; import com.jsowell.pile.service.*; +import com.jsowell.pile.transaction.dto.OrderTransactionDTO; import com.jsowell.pile.transaction.service.TransactionService; +import com.jsowell.pile.vo.uniapp.PileConnectorDetailVO; import com.jsowell.pile.vo.web.BalanceDeductionAmountVO; +import com.jsowell.pile.vo.web.BillingTemplateVO; +import com.jsowell.pile.vo.web.PileStationVO; import com.jsowell.wxpay.service.WxAppletRemoteService; import org.apache.commons.collections4.CollectionUtils; import org.slf4j.Logger; @@ -30,6 +37,7 @@ import org.springframework.beans.factory.annotation.Autowired; import javax.annotation.Resource; import java.math.BigDecimal; import java.math.RoundingMode; +import java.text.ParseException; import java.util.List; import java.util.Map; @@ -42,6 +50,15 @@ public abstract class AbstractOrderLogic implements InitializingBean { @Resource protected IOrderBasicInfoService orderBasicInfoService; + @Autowired + private IPileBasicInfoService pileBasicInfoService; + + @Autowired + private IPileStationInfoService pileStationInfoService; + + @Autowired + private IPileBillingTemplateService pileBillingTemplateService; + @Autowired protected IMemberBasicInfoService memberBasicInfoService; @@ -84,6 +101,11 @@ public abstract class AbstractOrderLogic implements InitializingBean { @Autowired protected RedisCache redisCache; + /** + * 生成订单 + */ + public abstract OrderBasicInfo generateOrder(GenerateOrderDTO dto) throws ParseException; + /** * 支付订单 * @param dto @@ -124,6 +146,180 @@ public abstract class AbstractOrderLogic implements InitializingBean { return orderBasicInfoService.calculateTheBalanceDeductionAmount(memberId, amount); } + /** + * 处理前端传的参数 + * pileConnectorCode = pileSn + connectorCode + * + * @param dto + */ + protected void analysisPileParameter(BasicPileDTO dto) { + if (StringUtils.isBlank(dto.getPileSn()) || StringUtils.isBlank(dto.getConnectorCode())) { + // 从pileConnectorCode解析 + String pileConnectorCode = dto.getPileConnectorCode(); + if (StringUtils.isNotEmpty(pileConnectorCode) && pileConnectorCode.length() == Constants.PILE_CONNECTOR_CODE_LENGTH) { + dto.setPileSn(StringUtils.substring(pileConnectorCode, 0, pileConnectorCode.length() - 2)); + dto.setConnectorCode(StringUtils.substring(pileConnectorCode, pileConnectorCode.length() - 2, pileConnectorCode.length())); + } else { + throw new BusinessException(ReturnCodeEnum.CODE_DATA_LENGTH_ERROR); + } + } else { + // 说明pileSn 和 connectorCode前端传了,那就校验一下长度 + if (dto.getPileSn().length() != Constants.PILE_SN_LENGTH || dto.getConnectorCode().length() != Constants.CONNECTOR_CODE_LENGTH) { + throw new BusinessException(ReturnCodeEnum.CODE_DATA_LENGTH_ERROR); + } + } + } + + /** + * 校验充电桩相关的信息 + * + * @param dto + */ + protected void checkPileInfo(GenerateOrderDTO dto) { + // 查询充电桩状态 是否空闲 枪口是否占用 + PileConnectorDetailVO pileConnector = pileBasicInfoService.queryPileConnectorDetail(dto.getPileSn() + dto.getConnectorCode()); + if (pileConnector == null) { + logger.error("checkPileInfo充电枪口为空 pileSn:{}, connectorCode:{}", dto.getPileSn(), dto.getConnectorCode()); + throw new BusinessException(ReturnCodeEnum.CODE_CONNECTOR_INFO_NULL_ERROR); + } + + // 查询站点状态 + PileStationVO stationInfo = pileStationInfoService.getStationInfo(pileConnector.getStationId()); + if (stationInfo == null || StringUtils.equals(stationInfo.getOpenFlag(), Constants.ZERO)) { + throw new BusinessException(ReturnCodeEnum.CODE_STATION_IS_NOT_OPEN); + } + + // 校验启动桩使用的小程序,和充电桩所属一级运营商是否一致 + String merchantIdByAppId = pileMerchantInfoService.getFirstLevelMerchantIdByAppId(dto.getAppId()); + String merchantIdByMerchantId = pileMerchantInfoService.getFirstLevelMerchantIdByMerchantId(stationInfo.getMerchantId()); + if (!StringUtils.equals(merchantIdByAppId, merchantIdByMerchantId)) { + throw new BusinessException("", "当前桩运营商与小程序所属运营商不一致"); + } + + // 如果是鉴权卡或者vin启动,不判断枪口状态 + if (!(StringUtils.equals(dto.getStartMode(), StartModeEnum.AUTH_CARD.getValue()) + || StringUtils.equals(dto.getStartMode(), StartModeEnum.VIN_CODE.getValue()))) { + // 判断枪口状态 + if (!(StringUtils.equals(pileConnector.getConnectorStatus(), PileConnectorDataBaseStatusEnum.FREE.getValue()) + || StringUtils.equals(pileConnector.getConnectorStatus(), PileConnectorDataBaseStatusEnum.OCCUPIED_NOT_CHARGED.getValue()))) { + logger.error("checkPileInfo充电枪口状态不正确,当前状态为:{}", pileConnector.getConnectorStatus()); + throw new BusinessException(ReturnCodeEnum.CODE_PILE_CONNECTOR_STATUS_ERROR); + } + } + // 查询充电桩的计费模板 + BillingTemplateVO billingTemplateVO = pileBillingTemplateService.selectBillingTemplateDetailByPileSn(dto.getPileSn()); + if (billingTemplateVO == null) { + throw new BusinessException(ReturnCodeEnum.CODE_BILLING_TEMPLATE_NULL_ERROR); + } + dto.setPileConnector(pileConnector); + dto.setBillingTemplate(billingTemplateVO); + } + + /** + * 生成订单编号 + * + * @return + */ + private String generateNewOrderCode() { + while (true) { + String orderCode = "C" + IdUtils.getOrderCode(); + // 通过orderCode查询是否已经存在 + OrderBasicInfo orderBasicInfo = orderBasicInfoService.getOrderInfoByOrderCode(orderCode); + if (orderBasicInfo == null) { + return orderCode; + } + } + } + + /** + * 保存订单信息到数据库 + * + * @param dto + * @return + */ + protected OrderBasicInfo saveOrder2Database(GenerateOrderDTO dto) throws ParseException { + String orderCode = generateNewOrderCode(); + String transactionCode = IdUtils.generateTransactionCode(dto.getPileSn(), dto.getConnectorCode()); + + if (StringUtils.isBlank(dto.getStartType())) { + dto.setStartType(StartTypeEnum.NOW.getValue()); + } + + String stationId = dto.getPileConnector().getStationId(); + // 查询站点信息 + PileStationInfo pileStationInfo = pileStationInfoService.selectPileStationInfoById(Long.valueOf(stationId)); + String merchantId = pileStationInfo != null ? String.valueOf(pileStationInfo.getMerchantId()) : ""; + String plateNumber = dto.getPlateNumber() != null ? dto.getPlateNumber() : ""; + // 订单基本信息 + OrderBasicInfo orderBasicInfo = OrderBasicInfo.builder() + .orderCode(orderCode) + .transactionCode(transactionCode) + .orderStatus(OrderStatusEnum.NOT_START.getValue()) + .memberId(dto.getMemberId()) + .stationId(stationId) + .merchantId(merchantId) + .pileSn(dto.getPileSn()) + .connectorCode(dto.getConnectorCode()) + .pileConnectorCode(dto.getPileSn() + dto.getConnectorCode()) + .startMode(dto.getStartMode()) + .payStatus(Constants.ZERO) + .payAmount(dto.getChargeAmount()) + .payMode(dto.getPayMode()) + .plateNumber(plateNumber) + .orderAmount(BigDecimal.ZERO) + .virtualAmount(BigDecimal.ZERO) + .settleAmount(BigDecimal.ZERO) + .startType(dto.getStartType()) + .build(); + if (StringUtils.equals(dto.getStartMode(), StartModeEnum.AUTH_CARD.getValue())) { + // 鉴权卡启动 + orderBasicInfo.setLogicCard(dto.getPileAuthCardInfo().getLogicCard()); + } + if (StringUtils.equals(dto.getStartMode(), StartModeEnum.VIN_CODE.getValue())) { + // vin启动 + orderBasicInfo.setVinCode(dto.getMemberPlateNumberRelation().getVinCode()); + } + + if (StringUtils.equals(dto.getStartType(), StartTypeEnum.APPOINTMENT.getValue())) { + orderBasicInfo.setAppointmentTime(DateUtils.parseDate(dto.getAppointmentTime(), DateUtils.YYYY_MM_DD_HH_MM_SS)); + } + + // 订单详情 + BillingTemplateVO billingTemplate = dto.getBillingTemplate(); + logger.info("订单使用的计费模板-orderCode:{}, billingTemplate:{}", orderCode, JSONObject.toJSONString(billingTemplate)); + BigDecimal sharpElectricityPrice = billingTemplate.getSharpElectricityPrice() != null ? billingTemplate.getSharpElectricityPrice() : BigDecimal.ZERO; + BigDecimal sharpServicePrice = billingTemplate.getSharpServicePrice() != null ? billingTemplate.getSharpServicePrice() : BigDecimal.ZERO; + BigDecimal peakElectricityPrice = billingTemplate.getPeakElectricityPrice() != null ? billingTemplate.getPeakElectricityPrice() : BigDecimal.ZERO; + BigDecimal peakServicePrice = billingTemplate.getPeakServicePrice() != null ? billingTemplate.getPeakServicePrice() : BigDecimal.ZERO; + BigDecimal flatElectricityPrice = billingTemplate.getFlatElectricityPrice() != null ? billingTemplate.getFlatElectricityPrice() : BigDecimal.ZERO; + BigDecimal flatServicePrice = billingTemplate.getFlatServicePrice() != null ? billingTemplate.getFlatServicePrice() : BigDecimal.ZERO; + BigDecimal valleyElectricityPrice = billingTemplate.getValleyElectricityPrice() != null ? billingTemplate.getValleyElectricityPrice() : BigDecimal.ZERO; + BigDecimal valleyServicePrice = billingTemplate.getValleyServicePrice() != null ? billingTemplate.getValleyServicePrice() : BigDecimal.ZERO; + + OrderDetail orderDetail = OrderDetail.builder() + .orderCode(orderCode) + .sharpPrice(sharpElectricityPrice.add(sharpServicePrice)) + .sharpElectricityPrice(sharpElectricityPrice) + .sharpServicePrice(sharpServicePrice) + .peakPrice(peakElectricityPrice.add(peakServicePrice)) + .peakElectricityPrice(peakElectricityPrice) + .peakServicePrice(peakServicePrice) + .flatPrice(flatElectricityPrice.add(flatServicePrice)) + .flatElectricityPrice(flatElectricityPrice) + .flatServicePrice(flatServicePrice) + .valleyPrice(valleyElectricityPrice.add(valleyServicePrice)) + .valleyElectricityPrice(valleyElectricityPrice) + .valleyServicePrice(valleyServicePrice) + .build(); + + OrderTransactionDTO createOrderTransactionDTO = OrderTransactionDTO.builder() + .orderBasicInfo(orderBasicInfo) + .orderDetail(orderDetail) + .build(); + transactionService.doCreateOrder(createOrderTransactionDTO); + return orderBasicInfo; + } + /** * 返回更新后的OrderBasicInfo对象 * 专用方法,其他地方如果要用请仔细检查 diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/orderlogic/DelayMerchantOrderLogic.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/orderlogic/DelayMerchantOrderLogic.java index 4ad738833..ade255b18 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/orderlogic/DelayMerchantOrderLogic.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/orderlogic/DelayMerchantOrderLogic.java @@ -19,6 +19,7 @@ import com.jsowell.common.exception.BusinessException; import com.jsowell.common.util.StringUtils; import com.jsowell.pile.domain.*; import com.jsowell.pile.dto.ApplyRefundDTO; +import com.jsowell.pile.dto.GenerateOrderDTO; import com.jsowell.pile.dto.PayOrderDTO; import com.jsowell.pile.dto.PayOrderSuccessCallbackDTO; import com.jsowell.pile.transaction.dto.OrderTransactionDTO; @@ -31,6 +32,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; +import java.text.ParseException; import java.util.List; import java.util.Map; import java.util.Objects; @@ -47,8 +49,27 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic { OrderLogicFactory.register(MerchantDelayModeEnum.DELAY.getValue(), this); } + /** + * 生成订单 + * + * @param dto + */ + @Override + public OrderBasicInfo generateOrder(GenerateOrderDTO dto) throws ParseException { + logger.info("{}-生成订单start, param:{}", this.getClass().getSimpleName(), JSONObject.toJSONString(dto)); + // 处理前端传的参数 + analysisPileParameter(dto); + + // 校验充电桩相关的信息 + checkPileInfo(dto); + + // 保存订单到数据库 saveOrder2Database + return saveOrder2Database(dto); + } + @Override public Map payOrder(PayOrderDTO dto) { + logger.info("{}-支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto)); OrderBasicInfo orderInfo = orderBasicInfoService.getOrderInfoByOrderCode(dto.getOrderCode()); if (orderInfo == null) { throw new BusinessException(ReturnCodeEnum.CODE_QUERY_ORDER_INFO_IS_NULL); @@ -83,6 +104,7 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic { */ @Transactional(rollbackFor = Exception.class) public void balancePayOrder(PayOrderDTO dto) { + logger.info("{}-余额支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto)); // 订单编号 String orderCode = dto.getOrderCode(); // 支付金额 @@ -190,6 +212,7 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic { * 在线支付订单 */ public Map onlinePaymentOrder(PayOrderDTO dto) { + logger.info("{}-在线支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto)); Map weixinMap = adapayService.createPayment(dto); return weixinMap; } @@ -198,6 +221,7 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic { * 白名单支付订单 */ public void whitelistPaymentOrder(PayOrderDTO dto) { + logger.info("{}-白名单支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto)); String orderCode = dto.getOrderCode(); BigDecimal payAmount = dto.getPayAmount(); String payMode = dto.getPayMode(); @@ -218,7 +242,7 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic { */ @Override public void orderSettle(TransactionRecordsData data, OrderBasicInfo orderBasicInfo) { - logger.info("结算订单start data:{}, orderBasicInfo:{}", data.toString(), orderBasicInfo.toString()); + logger.info("{}-结算订单start data:{}, orderBasicInfo:{}", this.getClass().getSimpleName(), data.toString(), JSON.toJSONString(orderBasicInfo)); // 判断订单状态 if (StringUtils.equals(orderBasicInfo.getOrderStatus(), OrderStatusEnum.ORDER_COMPLETE.getValue())) { logger.info("结算订单:{}, 是订单完成状态", orderBasicInfo.getOrderCode()); @@ -314,6 +338,7 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic { */ @Override public void balancePaymentOrderRefund(OrderBasicInfo orderBasicInfo) { + logger.info("{}-余额支付订单退款start orderBasicInfo:{}", this.getClass().getSimpleName(), JSON.toJSONString(orderBasicInfo)); // 订单编号 String orderCode = orderBasicInfo.getOrderCode(); // 订单消费金额 @@ -358,6 +383,7 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic { */ @Override public void onlinePaymentOrderRefund(OrderBasicInfo orderBasicInfo) { + logger.info("{}-在线支付订单退款start orderBasicInfo:{}", this.getClass().getSimpleName(), JSON.toJSONString(orderBasicInfo)); // 订单编号 String orderCode = orderBasicInfo.getOrderCode(); @@ -384,8 +410,8 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic { * * @param dto */ - public void refundOrderWithAdapay(ApplyRefundDTO dto) { - logger.info("汇付支付订单:{}, 执行退款逻辑 param:{}", dto.getOrderCode(), JSON.toJSONString(dto)); + private void refundOrderWithAdapay(ApplyRefundDTO dto) { + logger.info("{}-汇付支付订单:{}, 执行退款逻辑 param:{}", this.getClass().getSimpleName(), dto.getOrderCode(), JSON.toJSONString(dto)); // 查出来原来的支付信息 AdapayCallbackRecord callbackRecord = adapayCallbackRecordService.selectByOrderCode(dto.getOrderCode()); if (Objects.isNull(callbackRecord)) { diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/orderlogic/NotDelayMerchantOrderLogic.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/orderlogic/NotDelayMerchantOrderLogic.java index fd13d0640..f2c5e3e72 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/orderlogic/NotDelayMerchantOrderLogic.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/orderlogic/NotDelayMerchantOrderLogic.java @@ -17,6 +17,7 @@ import com.jsowell.common.exception.BusinessException; import com.jsowell.common.util.StringUtils; import com.jsowell.pile.domain.*; import com.jsowell.pile.dto.ApplyRefundDTO; +import com.jsowell.pile.dto.GenerateOrderDTO; import com.jsowell.pile.dto.PayOrderDTO; import com.jsowell.pile.dto.PayOrderSuccessCallbackDTO; import com.jsowell.pile.transaction.dto.OrderTransactionDTO; @@ -28,6 +29,7 @@ import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; import java.math.BigDecimal; +import java.text.ParseException; import java.util.List; import java.util.Map; import java.util.Objects; @@ -45,8 +47,27 @@ public class NotDelayMerchantOrderLogic extends AbstractOrderLogic{ OrderLogicFactory.register(MerchantDelayModeEnum.NOT_DELAY.getValue(), this); } + /** + * 生成订单 + * + * @param dto + */ + @Override + public OrderBasicInfo generateOrder(GenerateOrderDTO dto) throws ParseException { + logger.info("{}-生成订单start, param:{}", this.getClass().getSimpleName(), JSONObject.toJSONString(dto)); + // 处理前端传的参数 + analysisPileParameter(dto); + + // 校验充电桩相关的信息 + checkPileInfo(dto); + + // 保存订单到数据库 saveOrder2Database + return saveOrder2Database(dto); + } + @Override public Map payOrder(PayOrderDTO dto) { + logger.info("{}-支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto)); OrderBasicInfo orderInfo = orderBasicInfoService.getOrderInfoByOrderCode(dto.getOrderCode()); if (orderInfo == null) { throw new BusinessException(ReturnCodeEnum.CODE_QUERY_ORDER_INFO_IS_NULL); @@ -83,6 +104,7 @@ public class NotDelayMerchantOrderLogic extends AbstractOrderLogic{ * @param dto */ public void balancePayOrder(PayOrderDTO dto) { + logger.info("{}-余额支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto)); String orderCode = dto.getOrderCode(); // 订单编号 BigDecimal chargeAmount = dto.getPayAmount(); // 支付金额 // 查询该会员的余额 @@ -168,9 +190,7 @@ public class NotDelayMerchantOrderLogic extends AbstractOrderLogic{ * @param dto */ public Map onlinePaymentOrder(PayOrderDTO dto) { - // 2023-07-11 全部改为汇付支付 - dto.setGoodsTitle("充电费用"); - dto.setGoodsDesc("充电桩预付款金额"); + logger.info("{}-在线支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto)); Map weixinMap = adapayService.createPayment(dto); return weixinMap; } @@ -181,6 +201,7 @@ public class NotDelayMerchantOrderLogic extends AbstractOrderLogic{ * @param dto */ public void whitelistPaymentOrder(PayOrderDTO dto) { + logger.info("{}-白名单支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto)); String orderCode = dto.getOrderCode(); BigDecimal payAmount = dto.getPayAmount(); String payMode = dto.getPayMode(); @@ -204,7 +225,7 @@ public class NotDelayMerchantOrderLogic extends AbstractOrderLogic{ */ @Override public void orderSettle(TransactionRecordsData data, OrderBasicInfo orderBasicInfo) { - logger.info("结算订单start data:{}, orderBasicInfo:{}", data.toString(), orderBasicInfo.toString()); + logger.info("{}-结算订单start data:{}, orderBasicInfo:{}", this.getClass().getSimpleName(), data.toString(), JSON.toJSONString(orderBasicInfo)); // 判断订单状态 if (StringUtils.equals(orderBasicInfo.getOrderStatus(), OrderStatusEnum.ORDER_COMPLETE.getValue())) { logger.info("结算订单:{}, 是订单完成状态", orderBasicInfo.getOrderCode()); @@ -302,6 +323,7 @@ public class NotDelayMerchantOrderLogic extends AbstractOrderLogic{ */ @Override public void balancePaymentOrderRefund(OrderBasicInfo orderBasicInfo) { + logger.info("{}-余额支付订单退款start orderBasicInfo:{}", this.getClass().getSimpleName(), JSON.toJSONString(orderBasicInfo)); // 订单编号 String orderCode = orderBasicInfo.getOrderCode(); // 订单消费金额 @@ -354,6 +376,7 @@ public class NotDelayMerchantOrderLogic extends AbstractOrderLogic{ */ @Override public void onlinePaymentOrderRefund(OrderBasicInfo orderBasicInfo) { + logger.info("{}-在线支付订单退款start orderBasicInfo:{}", this.getClass().getSimpleName(), JSON.toJSONString(orderBasicInfo)); // 订单编号 String orderCode = orderBasicInfo.getOrderCode(); @@ -380,8 +403,8 @@ public class NotDelayMerchantOrderLogic extends AbstractOrderLogic{ * * @param dto */ - public void refundOrderWithAdapay(ApplyRefundDTO dto) { - logger.info("汇付支付订单:{}, 执行退款逻辑 param:{}", dto.getOrderCode(), JSON.toJSONString(dto)); + private void refundOrderWithAdapay(ApplyRefundDTO dto) { + logger.info("{}-汇付支付订单:{}, 执行退款逻辑 param:{}", this.getClass().getSimpleName(), dto.getOrderCode(), JSON.toJSONString(dto)); // 查出来原来的支付信息 AdapayCallbackRecord callbackRecord = adapayCallbackRecordService.selectByOrderCode(dto.getOrderCode()); if (Objects.isNull(callbackRecord)) {