Browse Source

feat: 分销金额

wrj 1 năm trước cách đây
mục cha
commit
429d2cc895

+ 1 - 1
nightFragrance-common/src/main/java/com/ylx/common/constant/MassageConstants.java

@@ -30,7 +30,7 @@ public class MassageConstants {
     /**
      * 白天免费时间段
      */
-    public static final Long START_FREE = 730000L;
+    public static final Long START_FREE = 73000L;
 
     public static final Long END_FREE = 195959L;
 

+ 27 - 17
nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/TOrderServiceImpl.java

@@ -72,8 +72,6 @@ public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> impleme
     private CouponReceiveService couponReceiveService;
 
 
-//    @Resource
-//    private TInfoService infoService;
 
     public Boolean isFree(String jsId, BigDecimal distance) {
         TJs js = jsService.getById(jsId);
@@ -132,7 +130,7 @@ public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> impleme
         order.setdTotalMoney(sum);
         //总价 = 订单 + 车费 - 优惠
         order.setTotalPrice(sum.add(Optional.ofNullable(order.getFare()).orElse(BigDecimal.ZERO)).subtract(preferential));
-        if (order.getOrderType() == 2) {
+        if (order.getParentNo() != null && order.getOrderType() == 2) {
             //升级订单 补差价
             TOrder partOrder = this.getByNo(order.getParentNo());
             order.setPriceDifference(order.getTotalPrice().subtract(partOrder.getTotalPrice()));
@@ -340,25 +338,37 @@ public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> impleme
         tConsumptionLog.setNote("技师收益");
         consumptionLogService.save(tConsumptionLog);
 
-//        // 如果该技师有推荐人员
-//        if(StringUtils.isNotBlank(jsUser.getcUpUser())){
-//            // 获取技师上级对应的用户
-//            TWxUser jsUp = wxUserService.getById(jsUser.getcUpUser());
-//            // 获取基本信息
-//            List<TInfo> list = infoService.list();
-//            BigDecimal up = orderNew.getdTotalMoney().multiply(new BigDecimal(list.get(0).getnBili()));
-//            up = up.divide(new BigDecimal(100),2, RoundingMode.HALF_UP);
-//            // 更新余额
-//            jsUp.setdBalance(jsUp.getdBalance().add(up));
-//            // 更新总钱数
-//            jsUp.setdAllMoney(jsUp.getdAllMoney().add(up));
-//            wxUserService.updateById(jsUp);
-//        }
+        // 如果该技师有推荐人员 一级
+        if(StringUtils.isNotBlank(jsUser.getcUpUser())){
+            // 获取技师上级对应的用户
+            TWxUser jsUp = wxUserService.getById(jsUser.getcUpUser());
+            extracted(orderNew, jsUp);
+            //二级
+            if(jsUp.getcUpUser() != null){
+                TWxUser jsUpTwo = wxUserService.getById(jsUp.getcUpUser());
+                extracted(orderNew, jsUpTwo);
+                //三级
+                if(jsUpTwo.getcUpUser() != null){
+                    TWxUser jsUpThree = wxUserService.getById(jsUpTwo.getcUpUser());
+                    extracted(orderNew, jsUpThree);
+                }
+            }
+        }
         // 更新订单
         orderNew.setnStatus(OrderStatusEnum.WAIT_EVALUATE.getCode());
         return updateById(orderNew);
     }
 
+    private void extracted(TOrder orderNew, TWxUser jsUp) {
+        BigDecimal up = orderNew.getdTotalMoney().multiply(new BigDecimal("10"));
+        up = up.divide(new BigDecimal(100),2, RoundingMode.HALF_UP);
+        // 更新余额
+        jsUp.setdBalance(jsUp.getdBalance().add(up));
+        // 更新总钱数
+        jsUp.setdAllMoney(jsUp.getdAllMoney().add(up));
+        wxUserService.updateById(jsUp);
+    }
+
     /**
      * 取消订单
      *