yangdamao 1 рік тому
батько
коміт
7fe7e55302

+ 5 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderServiceImpl.java

@@ -1296,7 +1296,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
         add.setCheckStatus(1);//C端订单不需要审核
         add.setOrderRefundStatus(1);
         add.setInvoiceStatus(0);
-        add.setFinishStatus(type == 1? 1:0);
+        if (ObjectUtils.isNull(add.getPayPrice()) || add.getPayPrice().compareTo(BigDecimal.ZERO) == 0 ){
+            add.setFinishStatus(1);
+        }else {
+            add.setFinishStatus(type == 1? 1:0);
+        }
         add.setCreditStatus(0);
         add.setOrderBase(1);
         add.setOrderRefund(BigDecimal.ZERO);

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

@@ -494,8 +494,8 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
                 if (ObjectUtils.isNotNull(item.getOrderRefunded())){
                     orderPractical = orderPractical.subtract(item.getOrderRefunded());
                 }
-                if (ObjectUtils.isNotNull(item.getPretaxBrokerage())){
-                    orderPractical = orderPractical.add(item.getPretaxBrokerage());
+                if (ObjectUtils.isNotNull(item.getRepairMoneyTotal())){
+                    orderPractical = orderPractical.add(item.getRepairMoneyTotal());
                 }
                 item.setOrderPractical(orderPractical);
             });
@@ -1317,7 +1317,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
         //奖金
         TopOldOrder oldOrder = baseMapper.getOrderBySn(query.getOrderSn());
         BigDecimal money = BigDecimal.ZERO;
-        if (ObjectUtils.isNotNull(oldOrder.getPretaxBrokerage())){
+        if (ObjectUtils.isNotNull(oldOrder.getPretaxBrokerage()) && CollectionUtils.isNotEmpty(list)){
             money = oldOrder.getPretaxBrokerage().divide(new BigDecimal(list.size()));
         }
         //数据处理
@@ -1347,6 +1347,9 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
         return list;
     }
 
+    public static void main(String[] args) {
+        System.out.println(EncryptHandler.decrypt("21bac9a89b8500cbad449f1e0644cf4fdcf042e4c2933c31a2a602da0d0f5f77"));
+    }
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -1526,7 +1529,8 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
                 if (!respone.contains("\"Status\":true") && respone.contains("\"ErrorCode\":1081")) {
                     throw new CustomException("业务员正在修改订单,请勿审核!");
                 } else if (!respone.contains("\"Status\":true")) {
-                    throw new CustomException("旧系统订单审核接口请求错误");
+                    JSONObject jsonObject = JSONObject.parseObject(respone);
+                    throw new CustomException(jsonObject.get("ErrorMessage").toString());
                 }
             } catch (IOException e) {
                 log.error("旧系统订单审核接口请求错误" + respone);
@@ -4562,11 +4566,20 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
         if (CollectionUtils.isEmpty(refunds)) {
             return vo;
         }
+        Integer count = topOrderGoodsService
+                .count(new LambdaQueryWrapper<TopOldOrderGoods>()
+                .eq(TopOldOrderGoods::getOrderSn, orderSn)
+                .eq(TopOldOrderGoods::getCheckStatus, 1)
+                .eq(TopOldOrderGoods::getStatus, 1));
         vo.setOrderId(orderVo.getOrderId());
         vo.setOrderSn(orderVo.getOrderSn());
         vo.setOrderUncollected(orderVo.getOrderUncollected());
         vo.setOrderReceived(orderVo.getOrderReceived());
-        vo.setBrokerage(orderVo.getPretaxBrokerage());
+        BigDecimal decimal = orderVo.getPretaxBrokerage();
+        if (ObjectUtils.isNotNull(decimal) && count > 0){
+            decimal = orderVo.getPretaxBrokerage().divide(new BigDecimal(count), 2, RoundingMode.HALF_UP);
+            vo.setBrokerage(decimal);
+        }
         vo.setInvoiceStatus(orderVo.getInvoiceStatus());
         Map<String, List<TopOldOrderRefundVo>> map = refunds.stream().collect(Collectors.groupingBy(TopOldOrderRefundVo::getRefundSn));
         if (map.keySet().size() > 1) {
@@ -4585,11 +4598,11 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
                         topRefundUserVo.setRealRefundFee(item.getRealRefundFee());
                         topRefundUserVo.setRefundReason(item.getApplyReason());
                         topRefundUserVo.setOrderSn(orderSn);
-                        BigDecimal money = BigDecimal.ZERO;
-                        if (ObjectUtils.isNotNull(orderVo.getPretaxBrokerage()) && CollectionUtils.isNotEmpty(v)){
-                            money = orderVo.getPretaxBrokerage().divide(new BigDecimal(v.size()));
+                        BigDecimal decimal1 = orderVo.getPretaxBrokerage();
+                        if (ObjectUtils.isNotNull(decimal1) && count > 0){
+                            decimal1 = orderVo.getPretaxBrokerage().divide(new BigDecimal(count), 2, RoundingMode.HALF_UP);
+                            topRefundUserVo.setBrokerage(decimal1);
                         }
-                        topRefundUserVo.setBrokerage(money);
                         if (item.getRefundType() == 1) {
                             //学员信息
                             Order one = orderService.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderSn, item.getOrderSn()));
@@ -4630,11 +4643,11 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
                 topRefundUserVo.setRealRefundFee(item.getRealRefundFee());
                 topRefundUserVo.setRefundReason(item.getApplyReason());
                 topRefundUserVo.setOrderSn(orderSn);
-                BigDecimal money = BigDecimal.ZERO;
-                if (ObjectUtils.isNotNull(orderVo.getPretaxBrokerage()) && CollectionUtils.isNotEmpty(refunds)){
-                    money = orderVo.getPretaxBrokerage().divide(new BigDecimal(refunds.size()));
+                BigDecimal decimal1 = orderVo.getPretaxBrokerage();
+                if (ObjectUtils.isNotNull(decimal1) && count > 0){
+                    decimal1 = orderVo.getPretaxBrokerage().divide(new BigDecimal(count), 2, RoundingMode.HALF_UP);
+                    topRefundUserVo.setBrokerage(decimal1);
                 }
-                topRefundUserVo.setBrokerage(money);
                 if (item.getRefundType() == 1) {
                     //学员信息
                     Order one = orderService.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderSn, item.getOrderSn()));
@@ -5139,7 +5152,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
                             }
                             if (order.getCheckStatus() != 1) {
                                 //账款未收完 不能完单
-                                throw new CustomException(String.format("订单审核不能完单【%s】", orderSn));
+                                throw new CustomException(String.format("订单审核状态未通过,不能完单【%s】", orderSn));
                             }
                             //成本设置项
                             String costJson = order.getCostJson();