Ver código fonte

订单合计 数量调整(临时)

ZhangShuling 1 semana atrás
pai
commit
3947169b13

+ 27 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/otc/impl/OtcTradeOrderServiceImpl.java

@@ -643,6 +643,33 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
             return null;
         }
         OrderTotalRespVO totalMap = tradeOrderMapper.selectTotalByOrderIds(orderIds);
+        //TODO[临时应对]  查询这些订单的游客信息, 按人员名单里的人员类型来区分总量
+        List<TradeVisitorDO> visitorDOList = tradeVisitorMapper.selectList(new LambdaQueryWrapperX<TradeVisitorDO>().in(TradeVisitorDO::getOrderId, orderIds));
+        int adultTotalNum = 0; // 成人
+        int childTotalNum = 0; // 儿童
+        int babyTotalNum = 0; // 婴儿
+        int withTotalNum = 0; // 陪同
+        int leaderTotalNum = 0; // 领队
+        if(visitorDOList != null) {
+            for(TradeVisitorDO v : visitorDOList) {
+                if("full".equals(v.getType()) || "adultTake".equals(v.getType()) || "adultPlus".equals(v.getType())) {
+                    adultTotalNum ++;
+                } else if("half".equals(v.getType()) || "childTake".equals(v.getType()) || "childNonTake".equals(v.getType())|| "childPlus".equals(v.getType())) {
+                    childTotalNum ++;
+                } else if("free".equals(v.getType())|| "babyTake".equals(v.getType()) || "babyNonTake".equals(v.getType()) || "babyPlus".equals(v.getType())) {
+                    babyTotalNum ++;
+                } else if("car_yd".equals(v.getType()) || "with".equals(v.getType())) {
+                    withTotalNum ++;
+                } else if("leader".equals(v.getType())) {
+                    leaderTotalNum ++;
+                }
+            }
+        }
+        totalMap.setAdultTotalNum(adultTotalNum);
+        totalMap.setChildTotalNum(childTotalNum);
+        totalMap.setBabyTotalNum(babyTotalNum);
+        totalMap.setWithTotalNum(withTotalNum);
+        totalMap.setLeaderTotalNum(leaderTotalNum);
         //TODO: 待完善 订单合计
         return totalMap;
     }