Browse Source

fix:优化

liujunchi 3 years ago
parent
commit
01a319dae9

+ 28 - 34
cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/service/impl/OmsPortalOrderServiceImpl.java

@@ -3,14 +3,7 @@ package com.yonge.cooleshow.portal.service.impl;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
 import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
 import com.github.pagehelper.PageHelper;
-import com.yonge.cooleshow.common.entity.HttpResponseResult;
-import com.yonge.cooleshow.portal.dao.PortalProductDao;
-import com.yonge.cooleshow.portal.dto.OrderPayReq;
-import com.yonge.cooleshow.portal.dto.OrderPayRes;
-import com.yonge.toolset.base.exception.BizException;
-
 import com.yonge.cooleshow.mall.common.api.CommonPage;
 import com.yonge.cooleshow.mall.common.exception.Asserts;
 import com.yonge.cooleshow.mall.common.service.RedisService;
@@ -19,15 +12,16 @@ import com.yonge.cooleshow.mbg.model.*;
 import com.yonge.cooleshow.portal.component.CancelOrderSender;
 import com.yonge.cooleshow.portal.dao.PortalOrderDao;
 import com.yonge.cooleshow.portal.dao.PortalOrderItemDao;
-import com.yonge.cooleshow.portal.dao.SmsCouponHistoryDao;
+import com.yonge.cooleshow.portal.dao.PortalProductDao;
 import com.yonge.cooleshow.portal.domain.*;
+import com.yonge.cooleshow.portal.dto.OrderPayReq;
+import com.yonge.cooleshow.portal.dto.OrderPayRes;
 import com.yonge.cooleshow.portal.service.*;
-import com.yonge.toolset.payment.base.enums.PaymentClientEnum;
-import com.yonge.toolset.utils.string.StringUtil;
-
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.base.result.BaseResult;
 import com.yonge.toolset.payment.base.enums.OpenEnum;
 import com.yonge.toolset.payment.base.enums.PayChannelEnum;
+import com.yonge.toolset.payment.base.enums.PaymentClientEnum;
 import com.yonge.toolset.payment.base.enums.TradeStatusEnum;
 import com.yonge.toolset.payment.base.model.DeviceInfo;
 import com.yonge.toolset.payment.base.model.DivMember;
@@ -36,7 +30,7 @@ import com.yonge.toolset.payment.base.model.Payment;
 import com.yonge.toolset.payment.base.model.callback.PaymentCallBack;
 import com.yonge.toolset.payment.core.props.PaymentProperties;
 import com.yonge.toolset.payment.core.service.PaymentClient;
-
+import com.yonge.toolset.utils.string.StringUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -57,7 +51,7 @@ import java.util.stream.Collectors;
 @Service
 public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
 
-    private static final Logger log = LoggerFactory.getLogger(OmsPortalOrderService.class);
+    private static final Logger LOG = LoggerFactory.getLogger(OmsPortalOrderServiceImpl.class);
     @Autowired
     private UmsMemberService memberService;
     @Autowired
@@ -70,8 +64,7 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
     private UmsIntegrationConsumeSettingMapper integrationConsumeSettingMapper;
     @Autowired
     private PmsSkuStockMapper skuStockMapper;
-    @Autowired
-    private SmsCouponHistoryDao couponHistoryDao;
+
     @Autowired
     private OmsOrderMapper orderMapper;
     @Autowired
@@ -394,7 +387,7 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
     public void sendDelayMessageCancelOrder(Long orderId) {
         //获取订单超时时间
         OmsOrderSetting orderSetting = orderSettingMapper.selectByPrimaryKey(1L);
-        long delayTimes = orderSetting.getNormalOrderOvertime() * 60 * 1000;
+        long delayTimes = orderSetting.getNormalOrderOvertime() * 60 * 1000L;
         //发送延迟消息
         cancelOrderSender.sendMessage(orderId, delayTimes);
     }
@@ -661,14 +654,15 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
         //订单完成
         UserOrderPayment userOrderPayment = userOrderPaymentService.getByAdapayNo(data.getPaymentNo());
         if (null == userOrderPayment) {
-            log.error("汇付支付回调,订单未找到。 req is {}", JSON.toJSONString(data));
+            String string = JSON.toJSONString(data);
+            LOG.error("汇付支付回调,订单未找到。 req is {}", string);
             return;
         }
         OmsOrderDetail detail = detail(userOrderPayment.getOrderNo());
         if (detail.getStatus() == 0) {
             orderSuccess(detail, data,data.getId());
         } else {
-            log.error("汇付支付回调,订单状态异常。 req is {}", detail.getOrderSn());
+            LOG.error("汇付支付回调,订单状态异常。 req is {}", detail.getOrderSn());
         }
     }
 
@@ -681,21 +675,22 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
     private void paymentFailedHandle(PaymentCallBack data) {
         //订单完成
         UserOrderPayment userOrderPayment = userOrderPaymentService.getByAdapayNo(data.getPaymentNo());
+        String dataString = JSON.toJSONString(data);
         if (null == userOrderPayment) {
-            log.error("汇付支付回调,订单未找到。 req is {}", JSON.toJSONString(data));
+            LOG.error("汇付支付回调,订单未找到。 req is {}", dataString);
             return;
         }
 
         OmsOrderDetail detail = detail(userOrderPayment.getOrderNo());
         if (null == detail) {
-            log.error("汇付支付回调,订单未找到。 req is {}", JSON.toJSONString(data));
+            LOG.error("汇付支付回调,订单未找到。 req is {}", dataString);
             return;
         }
         if (detail.getStatus() == 0) {
 
             cancelOrder(detail.getId(), data.getErrMsg(),data);
         } else {
-            log.error("汇付支付回调,订单状态异常。 req is {}", JSON.toJSONString(data));
+            LOG.error("汇付支付回调,订单状态异常。 req is {}", dataString);
         }
     }
 
@@ -739,12 +734,12 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
     /***
      * 处理支付中订单
      */
-    @Transactional(rollbackFor = Exception.class)
     void payingOrderHandle(OmsOrder userOrder) {
         //判断汇付订单状态
         UserOrderPayment orderPayment = userOrderPaymentService.getByOrderNoAndStatusPaying(userOrder.getOrderSn());
         if (null == orderPayment) {
             cancelOrder(userOrder.getId(), "支付超时", null);
+            return;
         }
         OmsOrderDetail detail = detail(orderPayment.getOrderNo());
         try {
@@ -754,7 +749,7 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
             param.setPaymentNo(orderPayment.getAdapayNo());
             BaseResult<Payment> res = paymentClient.queryPayment(param);
             //支付成功
-            if (res.getStatus() && TradeStatusEnum.succeeded.getCode().equals(res.getData().getStatus())
+            if (res.getStatus() && TradeStatusEnum.succeeded.getCode().equals(res.getData().getStatus().getCode())
                     && (detail.getStatus() == 0 || detail.getStatus() == 1)
             ) {
                 orderSuccess(detail,res.getData().getId());
@@ -768,7 +763,7 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
             cancelOrder(userOrder.getId(), "支付超时", null);
         } catch (Exception e) {
             e.printStackTrace();
-            log.error("轮询处理支付中订单异常,异常参数: {}", JSONObject.toJSONString(userOrder));
+            LOG.error("轮询处理支付中订单异常,异常参数: {}", JSON.toJSONString(userOrder));
         }
     }
 
@@ -784,12 +779,12 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
      * @updateTime 2022/4/13 17:17
      */
     @Transactional(rollbackFor = Exception.class)
-    void orderSuccess(OmsOrder detail, PaymentCallBack data, String tranId) {
+    public void orderSuccess(OmsOrder detail, PaymentCallBack data, String tranId) {
         //更新订单
         UserOrderPayment orderPayment = userOrderPaymentService.getByOrderNoAndStatusPaying(detail.getOrderSn());
 
         if (orderPayment == null) {
-            log.error("支付回调,支付中订单未找到。 orderNo is {}",detail.getOrderSn());
+            LOG.error("支付回调,支付中订单未找到。 orderNo is {}", detail.getOrderSn());
             return;
         }
         if (data != null) {
@@ -815,7 +810,7 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
                 orderPayment.setFeeAmt(new BigDecimal(data.getExecutePaymentCallBack().getFeeAmt()));
             } catch (Exception e) {
                 e.printStackTrace();
-                log.error("完成订单,付款单金额格式化失败,参数{}", JSON.toJSONString(data));
+                LOG.error("完成订单,付款单金额格式化失败,参数{}", JSON.toJSONString(data));
             }
         }
         userOrderPaymentService.saveOrUpdate(orderPayment);
@@ -857,7 +852,7 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
      * 计算该订单赠送的成长值
      */
     private Integer calcGiftGrowth(List<OmsOrderItem> orderItemList) {
-        Integer sum = 0;
+        int sum = 0;
         for (OmsOrderItem orderItem : orderItemList) {
             sum = sum + orderItem.getGiftGrowth() * orderItem.getProductQuantity();
         }
@@ -929,12 +924,11 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
      */
     private BigDecimal calcPayAmount(OmsOrder order) {
         //总金额+运费-促销优惠-优惠券优惠-积分抵扣
-        BigDecimal payAmount = order.getTotalAmount()
-                .add(order.getFreightAmount())
-                .subtract(order.getPromotionAmount())
-                .subtract(order.getCouponAmount())
-                .subtract(order.getIntegrationAmount());
-        return payAmount;
+        return order.getTotalAmount()
+                    .add(order.getFreightAmount())
+                    .subtract(order.getPromotionAmount())
+                    .subtract(order.getCouponAmount())
+                    .subtract(order.getIntegrationAmount());
     }
 
     /**