浏览代码

'批量处理订单'

yq 3 年之前
父节点
当前提交
d6432b0bb7
共有 1 个文件被更改,包括 16 次插入1 次删除
  1. 16 1
      src/main/java/com/usky/dxtop/service/impl/OrderServiceImpl.java

+ 16 - 1
src/main/java/com/usky/dxtop/service/impl/OrderServiceImpl.java

@@ -733,7 +733,22 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
     }
 
     public void  enhanceOrder(Order order,List<Staff> staffList){
-
+        Assert.check(StringUtils.isNotBlank(order.getUserName()),"用户名称不能为空");
+        Assert.check(StringUtils.isNotBlank(order.getUserPhone()),"用户手机号不能为空");
+        Assert.check(null != order.getMoney() && order.getMoney().compareTo(BigDecimal.ZERO)  != 0,"请输入订单金额");
+        BigDecimal money = order.getMoney();
+        String[] str=money.toString().split("\\.");
+        Assert.check(str[0].length() <= 10 && str[1].length() <= 2,"订单整数不能超过十位,小数不能超过两位");
+        Staff staff = staffList.stream().filter(s -> s.getContacts().equals(order.getUserPhone())).findAny()
+                .orElseThrow(() -> new CustomException("用户信息:" + order.getUserName() + "不存在"));
+        Assert.check(staff.getIsSuccess(),"人员"+staff.getUsername()+"未同步失败或同步失败,请手动同步人员信息");
+        order.setIdentity(staff.getIdentity());
+        order.setTopRadio(staff.getProportion());
+        double mul = Arith.mul(order.getMoney().doubleValue(), order.getTopRadio());
+        order.setRealMoney(BigDecimal.valueOf(Arith.div(mul,1,2)));
+        order.setCard(staff.getCardId());
+        order.setPayType(OrderPayType.XJ.getPayCode());
+        order.setScene(OrderSceneCode.BACK_STAGE.getCode());
     }
 
     public void uploadOrderExcel(MultipartFile multipartFile){