yangdamao 2 vuotta sitten
vanhempi
commit
0096998cf4

+ 60 - 23
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/impl/TopOldOrderServiceImpl.java

@@ -390,14 +390,15 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
             brokerage = bo.getPretaxBrokerage();
             add.setBrokerage(bo.getPretaxBrokerage().subtract(multiply));
         }
-
+        add.setRefundStatus(1);//退款状态:正常
+        add.setFinishStatus(0);//完单状态:未完单
         if (bo.getOrderFrom() == 3) {
             add.setCheckStatus(0);//待审核
         } else {
             add.setCheckStatus(1);//C端不需要审核
+            add.setFinishStatus(1);//C端自动完单
         }
-        add.setRefundStatus(1);//退款状态:正常
-        add.setFinishStatus(0);//完单状态:未完单
+
         //未收账款
         if (ObjectUtils.isNull(bo.getOrderReceived()) || bo.getOrderReceived().compareTo(new BigDecimal("0.00")) == 0) {
             add.setOrderUncollected(bo.getPayPrice());
@@ -1119,20 +1120,35 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
             //订单审核通过,账款已结清,满足完单条件
             //成本设置项
             TopOldOrder order = getById(oldOrder.getOrderId());
-            String costJson = order.getCostJson();
-            if (StringUtils.isNotBlank(costJson)) {
+
+            List<String> tenantIds = Arrays.asList("1", "867735392558919680");
+            if (tenantIds.contains(order.getTenantId())){
+                //祥粤云订单不算分成
+                order.setFinishStatus(1);//已完单
+                //修改订单分成
+                updateById(order);
+            }else {
                 //获取机构分成方式
                 SysTenant tenant = sysTenantService
                         .getOne(new LambdaQueryWrapper<SysTenant>()
                                 .eq(SysTenant::getTenantId, order.getTenantId()));
                 Integer divideModel = ObjectUtil.isNotNull(tenant.getDivideModel()) ? tenant.getDivideModel() : 1;
-                //分成金额
-                TopCostTpVo topCostTpVo = JSONObject.parseObject(costJson, TopCostTpVo.class);
-                List<TopCostTpItemVo> itemList = topCostTpVo.getItemList();
-                if (CollectionUtils.isNotEmpty(itemList)) {
-                    //分成模板
-                    List<TopCostTpItemVo> divideList = itemList.stream().filter(x -> x.getItemCategory() == 1).collect(Collectors.toList());
-                    calculateDivide(divideList, order, divideModel);
+                String costJson = order.getCostJson();
+                if (StringUtils.isNotBlank(costJson)) {
+                    //分成金额
+                    TopCostTpVo topCostTpVo = JSONObject.parseObject(costJson, TopCostTpVo.class);
+                    List<TopCostTpItemVo> itemList = topCostTpVo.getItemList();
+                    if (CollectionUtils.isNotEmpty(itemList)) {
+                        //分成模板
+                        List<TopCostTpItemVo> divideList = itemList.stream().filter(x -> x.getItemCategory() == 1).collect(Collectors.toList());
+                        calculateDivide(divideList, order, divideModel);
+                    }
+                }else {
+                    order.setFinishStatus(1);//已完单
+                    order.setDivideModel(divideModel);
+                    order.setAccomplishTime(DateUtils.getNowTime());
+                    //修改订单分成
+                    updateById(order);
                 }
             }
         }
@@ -2363,6 +2379,11 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
                                 //已支付 不能撤销
                                 throw new CustomException(String.format("订单号分成已结清不能取消【%s】", orderSn));
                             }
+                            List<String> tenantIds = Arrays.asList("1", "867735392558919680");
+                            if (tenantIds.contains(order.getTenantId())){
+                                //C端订单 不能撤销
+                                throw new CustomException(String.format("C端订单不能取消完单【%s】", orderSn));
+                            }
                             if (order.getOrderFrom() == 1) {
                                 //新系统
                                 orderService.update(new LambdaUpdateWrapper<Order>()
@@ -2392,20 +2413,30 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
                                 //账款未收完 不能完单
                                 throw new CustomException(String.format("订单未审核不能完单【%s】", orderSn));
                             }
-                            //成本设置项
-                            String costJson = order.getCostJson();
-                            if (StringUtils.isBlank(costJson)) {
-                                return;
-                            }
                             //获取机构分成方式
                             SysTenant tenant = sysTenantService
                                     .getOne(new LambdaQueryWrapper<SysTenant>()
                                             .eq(SysTenant::getTenantId, order.getTenantId()));
                             Integer divideModel = tenant.getDivideModel();
+                            //成本设置项
+                            String costJson = order.getCostJson();
+                            if (StringUtils.isBlank(costJson)) {
+                                order.setFinishStatus(1);//已完单
+                                order.setDivideModel(divideModel);
+                                order.setAccomplishTime(DateUtils.getNowTime());
+                                //修改订单分成
+                                updateById(order);
+                                return;
+                            }
                             //分成金额
                             TopCostTpVo topCostTpVo = JSONObject.parseObject(costJson, TopCostTpVo.class);
                             List<TopCostTpItemVo> itemList = topCostTpVo.getItemList();
                             if (CollectionUtils.isEmpty(itemList)) {
+                                order.setFinishStatus(1);//已完单
+                                order.setDivideModel(divideModel);
+                                order.setAccomplishTime(DateUtils.getNowTime());
+                                //修改订单分成
+                                updateById(order);
                                 return;
                             }
                             //分成模板
@@ -2581,7 +2612,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
         List<TopOldOrderCheck> checkList = topOldOrderCheckService
                 .list(new LambdaQueryWrapper<TopOldOrderCheck>().in(TopOldOrderCheck::getCheckType, Arrays.asList(5, 6))
                         .orderByAsc(TopOldOrderCheck::getCheckSort));
-        if (CollectionUtils.isNotEmpty(checkList)) {
+        if (CollectionUtils.isNotEmpty(checkList) && divideTotal.compareTo(BigDecimal.ZERO) > 0) {
             List<TopOldOrderCheckLog> logs = new ArrayList<>();
             for (int i = 0; i < checkList.size(); i++) {
                 TopOldOrderCheck check = checkList.get(i);
@@ -3289,14 +3320,14 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
             order.setCreditTime(DateUtils.getNowTime());
             //自动完单
             if (order.getFinishSign() == 0) {
+                //获取机构分成方式
+                SysTenant tenant = sysTenantService
+                        .getOne(new LambdaQueryWrapper<SysTenant>()
+                                .eq(SysTenant::getTenantId, order.getTenantId()));
+                Integer divideModel = ObjectUtil.isNotNull(tenant.getDivideModel()) ? tenant.getDivideModel() : 1;
                 //成本设置项
                 String costJson = order.getCostJson();
                 if (StringUtils.isNotBlank(costJson)) {
-                    //获取机构分成方式
-                    SysTenant tenant = sysTenantService
-                            .getOne(new LambdaQueryWrapper<SysTenant>()
-                                    .eq(SysTenant::getTenantId, order.getTenantId()));
-                    Integer divideModel = ObjectUtil.isNotNull(tenant.getDivideModel()) ? tenant.getDivideModel() : 1;
                     //分成金额
                     TopCostTpVo topCostTpVo = JSONObject.parseObject(costJson, TopCostTpVo.class);
                     List<TopCostTpItemVo> itemList = topCostTpVo.getItemList();
@@ -3305,6 +3336,12 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
                         List<TopCostTpItemVo> divideList = itemList.stream().filter(x -> x.getItemCategory() == 1).collect(Collectors.toList());
                         calculateDivide(divideList, order, divideModel);
                     }
+                }else {
+                    order.setFinishStatus(1);//已完单
+                    order.setDivideModel(divideModel);
+                    order.setAccomplishTime(DateUtils.getNowTime());
+                    //修改订单分成
+                    updateById(order);
                 }
 
                 //完单通知旧系统