Selaa lähdekoodia

订单详情dubbo接口返回实际订单金额字段

yzc 2 vuotta sitten
vanhempi
commit
63055bd6f8

+ 5 - 0
sckw-modules-api/sckw-order-api/src/main/java/com/sckw/order/api/model/OrderDetailRes.java

@@ -58,6 +58,11 @@ public class OrderDetailRes implements Serializable {
      */
     private BigDecimal price;
 
+    /**
+     * 实际订单金额
+     */
+    private BigDecimal actualPrice;
+
     /**
      * 交易方式(预付款、货到付款)
      */

+ 13 - 25
sckw-modules/sckw-order/src/main/java/com/sckw/order/dubbo/TradeOrderInfoServiceImpl.java

@@ -1,10 +1,10 @@
 package com.sckw.order.dubbo;
 
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollUtil;
 import com.alibaba.fastjson2.JSON;
 import com.google.common.collect.Lists;
-import com.sckw.contract.api.RemoteContractService;
 import com.sckw.core.exception.BusinessException;
-import com.sckw.core.utils.BeanUtils;
 import com.sckw.core.utils.CollectionUtils;
 import com.sckw.core.utils.StringUtils;
 import com.sckw.core.web.response.HttpResult;
@@ -24,13 +24,13 @@ import com.sckw.redis.constant.RedisConstant;
 import com.sckw.redis.utils.RedissonUtils;
 import com.sckw.stream.model.SckwBusSum;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.dubbo.config.annotation.DubboReference;
 import org.apache.dubbo.config.annotation.DubboService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cloud.stream.function.StreamBridge;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.Date;
 import java.util.List;
 import java.util.Objects;
@@ -56,13 +56,16 @@ public class TradeOrderInfoServiceImpl implements TradeOrderInfoService {
     @Autowired
     private KwoTradeOrderUnitService tradeOrderUnitService;
 
-    @DubboReference(version = "1.0.0", group = "design", check = false)
-    private RemoteContractService remoteContractService;
-
-
     @Override
     public OrderDetailRes getOrderDetailById(Long tOrderId) {
-        return BeanUtils.copyProperties(kwoTradeOrderService.detail(tOrderId), OrderDetailRes.class);
+        OrderDetailRes order = BeanUtil.copyProperties(kwoTradeOrderService.detail(tOrderId), OrderDetailRes.class);
+        BigDecimal actualPrice = Objects.isNull(order.getActualAmount())
+                || Objects.isNull(order.getGoodsInfo())
+                || Objects.isNull(order.getGoodsInfo().getUnitPrice())
+                ? BigDecimal.ZERO :
+                order.getActualAmount().multiply(order.getGoodsInfo().getUnitPrice()).setScale(2, RoundingMode.HALF_UP);
+        order.setActualPrice(actualPrice);
+        return order;
     }
 
     @Override
@@ -153,9 +156,7 @@ public class TradeOrderInfoServiceImpl implements TradeOrderInfoService {
         if (Objects.isNull(actualLoadAmount) || Objects.isNull(actualUnloadAmount)) {
             return HttpResult.error("装卸变量不能为空!");
         }
-//        if (Objects.isNull(param.getIsAllComplete())) {
-//            return HttpResult.error("物流订单是否已全部完结不能为空!");
-//        }
+
         if (Objects.isNull(updateBy) || StringUtils.isBlank(updateByName)) {
             return HttpResult.error("操作人信息不能为空!");
         }
@@ -176,19 +177,6 @@ public class TradeOrderInfoServiceImpl implements TradeOrderInfoService {
                     ? actualLoadAmount : actualUnloadAmount;
             BigDecimal totalActualAmount = actualAmount.add(addActualAmount);
             order.setActualAmount(totalActualAmount).setUpdateBy(param.getUpdateBy());
-            //不走自然完结
-//            if (param.getIsAllComplete() && actualAmount.compareTo(order.getAmount()) >= 0) {
-//                //完结订单
-//                order.setStatus(OrderStatusEnum.FINISHED.getCode());
-//                //记录状态
-//                KwoTradeOrderTrack track = new KwoTradeOrderTrack();
-//                track.setTOrderId(order.getId()).setTOrderNo(order.getTOrderNo()).setStatus(order.getStatus())
-//                        .setCreateBy(updateBy).setUpdateBy(updateBy);
-//                kwoTradeOrderTrackService.insert(track);
-//                //更新合同履约量
-//                KwoTradeOrderContract contract = kwoTradeOrderContractService.getByOrderId(order.getId());
-//                remoteContractService.updatePerformed(contract.getContractId(), actualAmount);
-//            }
             kwoTradeOrderService.updateById(order);
             //更新mongodb
             SckwTradeOrder updateParam = new SckwTradeOrder();
@@ -329,7 +317,7 @@ public class TradeOrderInfoServiceImpl implements TradeOrderInfoService {
             return Boolean.FALSE;
         }
         List<KwoTradeOrder> list = kwoTradeOrderService.associateEnt(tOrderIds);
-        return CollectionUtils.isNotEmpty(list);
+        return CollUtil.isNotEmpty(list);
     }
 
     /**