From c815dd365ec5a17a96d68a86dba1529b5a88041d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com> Date: Wed, 7 Aug 2024 22:00:54 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E5=88=86=E9=94=80=E5=91=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sqx/modules/artificer/entity/Orders.java | 28 +- .../service/impl/OrdersServiceImpl.java | 1195 +++++++++++++++-- .../fxy/controller/app/AppFxyController.java | 4 +- .../pay/controller/app/AliPayController.java | 467 ++++++- .../pay/service/impl/WxServiceImpl.java | 466 ++++++- 5 files changed, 1974 insertions(+), 186 deletions(-) diff --git a/src/main/java/com/sqx/modules/artificer/entity/Orders.java b/src/main/java/com/sqx/modules/artificer/entity/Orders.java index bc7d167..33d92cc 100644 --- a/src/main/java/com/sqx/modules/artificer/entity/Orders.java +++ b/src/main/java/com/sqx/modules/artificer/entity/Orders.java @@ -608,10 +608,6 @@ public class Orders implements Serializable { @TableField(exist = false) private String zxsc; - /** - * 经纪人分佣 - */ - private BigDecimal jjrMoney; /** * 经纪人ID */ @@ -621,9 +617,13 @@ public class Orders implements Serializable { */ private String jjrUserName; /** - * 一级分销员分佣 + * 经纪人分佣 */ - private BigDecimal fxyOneMoney; + private BigDecimal jjrMoney; + /** + * 经纪人分佣技师承担金额 + */ + private BigDecimal jjrArtificerDeductMoney; /** * 一级分销员ID */ @@ -633,9 +633,13 @@ public class Orders implements Serializable { */ private String fxyOneUserName; /** - * 二级分销员分佣 + * 一级分销员分佣 */ - private BigDecimal fxyTwoMoney; + private BigDecimal fxyOneMoney; + /** + * 一级分销员分佣技师承担金额 + */ + private BigDecimal fxyOneArtificerDeductMoney; /** * 二级分销员ID */ @@ -644,6 +648,14 @@ public class Orders implements Serializable { * 二级分销员姓名 */ private String fxyTwoUserName; + /** + * 二级分销员分佣 + */ + private BigDecimal fxyTwoMoney; + /** + * 二级分销员分佣技师承担金额 + */ + private BigDecimal fxyTwoArtificerDeductMoney; public Orders() {} } diff --git a/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java b/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java index 2d105f8..28493bb 100644 --- a/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java +++ b/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java @@ -32,6 +32,8 @@ import com.sqx.modules.artificer.entity.*; import com.sqx.modules.artificer.service.*; import com.sqx.modules.bl.commission.fxy.entity.FxyApply; import com.sqx.modules.bl.commission.fxy.entity.FxyConfig; +import com.sqx.modules.bl.commission.fxy.service.FxyApplyService; +import com.sqx.modules.bl.commission.fxy.service.FxyConfigService; import com.sqx.modules.bl.order.entity.UserPackage; import com.sqx.modules.bl.order.entity.UserPackageOrder; import com.sqx.modules.bl.order.service.UserPackageOrderService; @@ -156,12 +158,14 @@ public class OrdersServiceImpl extends ServiceImpl implements private MaterialArtificerMapper materialArtificerMapper; @Autowired private MaterialMapper materialMapper; - @Autowired public CommonInfoDao commonInfoDao; - @Autowired private TravelConfService travelConfService; + @Autowired + private FxyApplyService fxyApplyService; + @Autowired + private FxyConfigService fxyConfigService; private ReentrantReadWriteLock reentrantReadWriteLock = new ReentrantReadWriteLock(true); @@ -1325,12 +1329,12 @@ public class OrdersServiceImpl extends ServiceImpl implements UserEntity jjrUser = userService.queryByInvitationCode(artificerUser.getBlJjrCode()); BigDecimal jjrMoney = BigDecimal.ZERO; if (jjrUser != null) { - orders.setJjrUserId(jjrUser.getUserId()); - orders.setJjrUserName(jjrUser.getUserName()); + ordersOld.setJjrUserId(jjrUser.getUserId()); + ordersOld.setJjrUserName(jjrUser.getUserName()); jjrMoney = jjrMoney.multiply(jjrUser.getBlJjrRate()); jjrMoney = jjrMoney.setScale(2, BigDecimal.ROUND_HALF_UP); } - orders.setJjrMoney(jjrMoney); + ordersOld.setJjrMoney(jjrMoney); BigDecimal shopMoney = BigDecimal.ZERO; if (artificerUser.getConsortiaId() != null) { Consortia consortia = consortiaService.getById(artificerUser.getConsortiaId()); @@ -1346,20 +1350,136 @@ public class OrdersServiceImpl extends ServiceImpl implements } } ordersOld.setShopMoney(shopMoney); - UserEntity user = userService.selectUserById(orders.getUserId()); - UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); - BigDecimal oneUserMoney = BigDecimal.ZERO; - if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { - ordersOld.setOneUserId(oneUser.getUserId()); - ordersOld.setOneUserName(oneUser.getUserName()); - oneUserMoney = artificerPrice.multiply(oneUser.getUserRate()); - oneUserMoney = oneUserMoney.setScale(2, BigDecimal.ROUND_HALF_UP); +// UserEntity user = userService.selectUserById(orders.getUserId()); +// UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); +// BigDecimal oneUserMoney = BigDecimal.ZERO; +// if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { +// ordersOld.setOneUserId(oneUser.getUserId()); +// ordersOld.setOneUserName(oneUser.getUserName()); +// oneUserMoney = artificerPrice.multiply(oneUser.getUserRate()); +// oneUserMoney = oneUserMoney.setScale(2, BigDecimal.ROUND_HALF_UP); +// } +// ordersOld.setOneUserMoney(oneUserMoney); + + //分销商分佣 + FxyConfig fc = fxyConfigService.getOne(new QueryWrapper()); + if(fc.getIsOpen().equals(1)){ + UserEntity user = userService.selectUserById(orders.getUserId()); + UserEntity fxyOneUser = userService.queryByInvitationCode(user.getBlFxyCode()); + FxyApply faOne = fxyApplyService.findByUserId(fxyOneUser.getUserId()); + if(faOne.getStatus().equals(1)){ + if(fxyOneUser!=null && fxyOneUser.getBlIsFxy() !=null && fxyOneUser.getBlIsFxy() ==1){ + boolean isCanFxyFy = false; + if(fc.getFxmLimit().equals(2)){ + int fxmLimitDays = fc.getFxmLimitDays(); + String approveTime = faOne.getApproveTime(); + Date approveDate = DateUtils.stringToDate(approveTime,DateUtils.DATE_TIME_PATTERN); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(approveDate); + calendar.add(Calendar.DAY_OF_MONTH, fxmLimitDays); + approveDate = calendar.getTime(); + Date current = new Date(); + if(approveDate.getTime() > current.getTime()){ + isCanFxyFy = true; + } + }else{ + isCanFxyFy = true; + } + if(isCanFxyFy){ + ordersOld.setFxyOneUserId(fxyOneUser.getUserId()); + ordersOld.setFxyOneUserName(fxyOneUser.getUserName()); + BigDecimal fxyMoney = BigDecimal.ZERO; + if(fc.getType().equals(1)){ + fxyMoney = artificerPrice; + } + if(fc.getType().equals(2)){ + fxyMoney = subtract; + } + BigDecimal artificerRate = fc.getArtificerRate(); + BigDecimal mostRate = fc.getMostRate(); + BigDecimal oneRate = fc.getOneRate(); + BigDecimal oneRecommendRate = fc.getOneRecommendRate(); + BigDecimal fxyRate = BigDecimal.ZERO; + if(oneRate == null || oneRate.compareTo(BigDecimal.ZERO) == 0){ + fxyRate = oneRecommendRate; + if(oneRecommendRate.compareTo(mostRate)> 0){ + fxyRate = mostRate; + } + }else{ + fxyRate = oneRate; + if(oneRate.compareTo(mostRate)> 0){ + fxyRate = mostRate; + } + } + BigDecimal fxyOneMoney = fxyMoney.multiply(fxyRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + ordersOld.setFxyOneMoney(fxyOneMoney); + BigDecimal fxyOneArtificerDeductMoney = fxyOneMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + ordersOld.setFxyOneArtificerDeductMoney(fxyOneArtificerDeductMoney); + if(fxyOneUser.getBlFxyLevel().equals(1)){ + UserEntity fxyTwoUser = userService.queryByInvitationCode(fxyOneUser.getBlFxyCode()); + FxyApply faTwo = fxyApplyService.findByUserId(fxyTwoUser.getUserId()); + if(faTwo.getStatus().equals(1)){ + if(fxyTwoUser!=null && fxyTwoUser.getBlIsFxy() !=null && fxyTwoUser.getBlIsFxy() ==1){ + isCanFxyFy = false; + if(fc.getFxmLimit().equals(2)){ + int fxmLimitDays = fc.getFxmLimitDays(); + String approveTime = faTwo.getApproveTime(); + Date approveDate = DateUtils.stringToDate(approveTime,DateUtils.DATE_TIME_PATTERN); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(approveDate); + calendar.add(Calendar.DAY_OF_MONTH, fxmLimitDays); + approveDate = calendar.getTime(); + Date current = new Date(); + if(approveDate.getTime() > current.getTime()){ + isCanFxyFy = true; + } + }else{ + isCanFxyFy = true; + } + if(isCanFxyFy) { + ordersOld.setFxyTwoUserId(fxyTwoUser.getUserId()); + ordersOld.setFxyTwoUserName(fxyTwoUser.getUserName()); + BigDecimal twoRate = fc.getTwoRate(); + BigDecimal twoRecommendRate = fc.getTwoRecommendRate(); + fxyRate = BigDecimal.ZERO; + if (twoRate == null || twoRate.compareTo(BigDecimal.ZERO) == 0) { + fxyRate = twoRecommendRate; + if (twoRecommendRate.compareTo(mostRate) > 0) { + fxyRate = mostRate; + } + } else { + fxyRate = twoRate; + if (twoRate.compareTo(mostRate) > 0) { + fxyRate = mostRate; + } + } + BigDecimal fxyTwoMoney = fxyMoney.multiply(fxyRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + ordersOld.setFxyTwoMoney(fxyTwoMoney); + BigDecimal fxyTwoArtificerDeductMoney = fxyTwoMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + ordersOld.setFxyTwoArtificerDeductMoney(fxyTwoArtificerDeductMoney); + } + } + } + }else{ + ordersOld.setFxyTwoMoney(BigDecimal.ZERO); + ordersOld.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); + } + } + } + } + }else{ + ordersOld.setFxyOneMoney(BigDecimal.ZERO); + ordersOld.setFxyOneArtificerDeductMoney(BigDecimal.ZERO); + ordersOld.setFxyTwoMoney(BigDecimal.ZERO); + ordersOld.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); } - ordersOld.setOneUserMoney(oneUserMoney); + // artificerPrice = artificerPrice.subtract(oneArtificerMoney); artificerPrice = artificerPrice.subtract(jjrMoney); artificerPrice = artificerPrice.subtract(shopMoney); - artificerPrice = artificerPrice.subtract(oneUserMoney); +// artificerPrice = artificerPrice.subtract(oneUserMoney); + artificerPrice = artificerPrice.subtract(ordersOld.getFxyOneArtificerDeductMoney());//减掉一级分销商分佣技师承担 + artificerPrice = artificerPrice.subtract(ordersOld.getFxyTwoArtificerDeductMoney());//减掉二级分销商分佣技师承担 ordersOld.setArtificerMoney(artificerPrice); ordersOld.setSumArtificerMoney(artificerPrice); @@ -1369,7 +1489,9 @@ public class OrdersServiceImpl extends ServiceImpl implements pingMoney = pingMoney.subtract(shopMoney); // pingMoney = pingMoney.subtract(oneArtificerMoney); pingMoney = pingMoney.subtract(jjrMoney); - pingMoney = pingMoney.subtract(oneUserMoney); +// pingMoney = pingMoney.subtract(oneUserMoney); + pingMoney = pingMoney.subtract(ordersOld.getFxyOneMoney());//减掉一级分销商分佣 + pingMoney = pingMoney.subtract(ordersOld.getFxyTwoMoney());//减掉二级分销商分佣 ordersOld.setPingMoney(pingMoney); baseMapper.updateById(ordersOld);//原单暂变成挂单状态 @@ -1790,8 +1912,8 @@ public class OrdersServiceImpl extends ServiceImpl implements if (chajia.compareTo(BigDecimal.ZERO) == 0) { orders.setPayMoney(oldOrders.getPayMoney()); - BigDecimal artificerPrice = orders.getPayMoney().subtract(taxiMoney); - artificerPrice = artificerPrice.multiply(artificer.getRate()); + BigDecimal subtract = orders.getPayMoney().subtract(taxiMoney); + BigDecimal artificerPrice = subtract.multiply(artificer.getRate()); artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); if(oldOrders.getPayWay().equals(5)){ @@ -1816,7 +1938,7 @@ public class OrdersServiceImpl extends ServiceImpl implements if (jjrUser != null) { orders.setJjrUserId(jjrUser.getUserId()); orders.setJjrUserName(jjrUser.getUserName()); - jjrMoney = jjrMoney.multiply(jjrUser.getBlJjrRate()); + jjrMoney = artificerPrice.multiply(jjrUser.getBlJjrRate()); jjrMoney = jjrMoney.setScale(2, BigDecimal.ROUND_HALF_UP); } orders.setJjrMoney(jjrMoney); @@ -1835,20 +1957,136 @@ public class OrdersServiceImpl extends ServiceImpl implements } } orders.setShopMoney(shopMoney); - UserEntity user = userService.selectUserById(orders.getUserId()); - UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); - BigDecimal oneUserMoney = BigDecimal.ZERO; - if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { - orders.setOneUserId(oneUser.getUserId()); - orders.setOneUserName(oneUser.getUserName()); - oneUserMoney = artificerPrice.multiply(oneUser.getUserRate()); - oneUserMoney = oneUserMoney.setScale(0, BigDecimal.ROUND_HALF_UP); +// UserEntity user = userService.selectUserById(orders.getUserId()); +// UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); +// BigDecimal oneUserMoney = BigDecimal.ZERO; +// if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { +// orders.setOneUserId(oneUser.getUserId()); +// orders.setOneUserName(oneUser.getUserName()); +// oneUserMoney = artificerPrice.multiply(oneUser.getUserRate()); +// oneUserMoney = oneUserMoney.setScale(0, BigDecimal.ROUND_HALF_UP); +// } +// orders.setOneUserMoney(oneUserMoney); + + //分销商分佣 + FxyConfig fc = fxyConfigService.getOne(new QueryWrapper()); + if(fc.getIsOpen().equals(1)){ + UserEntity user = userService.selectUserById(orders.getUserId()); + UserEntity fxyOneUser = userService.queryByInvitationCode(user.getBlFxyCode()); + FxyApply faOne = fxyApplyService.findByUserId(fxyOneUser.getUserId()); + if(faOne.getStatus().equals(1)){ + if(fxyOneUser!=null && fxyOneUser.getBlIsFxy() !=null && fxyOneUser.getBlIsFxy() ==1){ + boolean isCanFxyFy = false; + if(fc.getFxmLimit().equals(2)){ + int fxmLimitDays = fc.getFxmLimitDays(); + String approveTime = faOne.getApproveTime(); + Date approveDate = DateUtils.stringToDate(approveTime,DateUtils.DATE_TIME_PATTERN); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(approveDate); + calendar.add(Calendar.DAY_OF_MONTH, fxmLimitDays); + approveDate = calendar.getTime(); + Date current = new Date(); + if(approveDate.getTime() > current.getTime()){ + isCanFxyFy = true; + } + }else{ + isCanFxyFy = true; + } + if(isCanFxyFy){ + orders.setFxyOneUserId(fxyOneUser.getUserId()); + orders.setFxyOneUserName(fxyOneUser.getUserName()); + BigDecimal fxyMoney = BigDecimal.ZERO; + if(fc.getType().equals(1)){ + fxyMoney = artificerPrice; + } + if(fc.getType().equals(2)){ + fxyMoney = subtract; + } + BigDecimal artificerRate = fc.getArtificerRate(); + BigDecimal mostRate = fc.getMostRate(); + BigDecimal oneRate = fc.getOneRate(); + BigDecimal oneRecommendRate = fc.getOneRecommendRate(); + BigDecimal fxyRate = BigDecimal.ZERO; + if(oneRate == null || oneRate.compareTo(BigDecimal.ZERO) == 0){ + fxyRate = oneRecommendRate; + if(oneRecommendRate.compareTo(mostRate)> 0){ + fxyRate = mostRate; + } + }else{ + fxyRate = oneRate; + if(oneRate.compareTo(mostRate)> 0){ + fxyRate = mostRate; + } + } + BigDecimal fxyOneMoney = fxyMoney.multiply(fxyRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setFxyOneMoney(fxyOneMoney); + BigDecimal fxyOneArtificerDeductMoney = fxyOneMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setFxyOneArtificerDeductMoney(fxyOneArtificerDeductMoney); + if(fxyOneUser.getBlFxyLevel().equals(1)){ + UserEntity fxyTwoUser = userService.queryByInvitationCode(fxyOneUser.getBlFxyCode()); + FxyApply faTwo = fxyApplyService.findByUserId(fxyTwoUser.getUserId()); + if(faTwo.getStatus().equals(1)){ + if(fxyTwoUser!=null && fxyTwoUser.getBlIsFxy() !=null && fxyTwoUser.getBlIsFxy() ==1){ + isCanFxyFy = false; + if(fc.getFxmLimit().equals(2)){ + int fxmLimitDays = fc.getFxmLimitDays(); + String approveTime = faTwo.getApproveTime(); + Date approveDate = DateUtils.stringToDate(approveTime,DateUtils.DATE_TIME_PATTERN); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(approveDate); + calendar.add(Calendar.DAY_OF_MONTH, fxmLimitDays); + approveDate = calendar.getTime(); + Date current = new Date(); + if(approveDate.getTime() > current.getTime()){ + isCanFxyFy = true; + } + }else{ + isCanFxyFy = true; + } + if(isCanFxyFy) { + orders.setFxyTwoUserId(fxyTwoUser.getUserId()); + orders.setFxyTwoUserName(fxyTwoUser.getUserName()); + BigDecimal twoRate = fc.getTwoRate(); + BigDecimal twoRecommendRate = fc.getTwoRecommendRate(); + fxyRate = BigDecimal.ZERO; + if (twoRate == null || twoRate.compareTo(BigDecimal.ZERO) == 0) { + fxyRate = twoRecommendRate; + if (twoRecommendRate.compareTo(mostRate) > 0) { + fxyRate = mostRate; + } + } else { + fxyRate = twoRate; + if (twoRate.compareTo(mostRate) > 0) { + fxyRate = mostRate; + } + } + BigDecimal fxyTwoMoney = fxyMoney.multiply(fxyRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + orders.setFxyTwoMoney(fxyTwoMoney); + BigDecimal fxyTwoArtificerDeductMoney = fxyTwoMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + orders.setFxyTwoArtificerDeductMoney(fxyTwoArtificerDeductMoney); + } + } + } + }else{ + orders.setFxyTwoMoney(BigDecimal.ZERO); + orders.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); + } + } + } + } + }else{ + orders.setFxyOneMoney(BigDecimal.ZERO); + orders.setFxyOneArtificerDeductMoney(BigDecimal.ZERO); + orders.setFxyTwoMoney(BigDecimal.ZERO); + orders.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); } - orders.setOneUserMoney(oneUserMoney); + // artificerPrice = artificerPrice.subtract(oneArtificerMoney); artificerPrice = artificerPrice.subtract(jjrMoney); artificerPrice = artificerPrice.subtract(shopMoney); - artificerPrice = artificerPrice.subtract(oneUserMoney); +// artificerPrice = artificerPrice.subtract(oneUserMoney); + artificerPrice = artificerPrice.subtract(orders.getFxyOneArtificerDeductMoney());//减掉一级分销商分佣技师承担 + artificerPrice = artificerPrice.subtract(orders.getFxyTwoArtificerDeductMoney());//减掉二级分销商分佣技师承担 orders.setArtificerMoney(artificerPrice); orders.setSumArtificerMoney(artificerPrice); @@ -1858,7 +2096,9 @@ public class OrdersServiceImpl extends ServiceImpl implements pingMoney = pingMoney.subtract(shopMoney); // pingMoney = pingMoney.subtract(oneArtificerMoney); pingMoney = pingMoney.subtract(jjrMoney); - pingMoney = pingMoney.subtract(oneUserMoney); +// pingMoney = pingMoney.subtract(oneUserMoney); + pingMoney = pingMoney.subtract(orders.getFxyOneMoney());//减掉一级分销商分佣 + pingMoney = pingMoney.subtract(orders.getFxyTwoMoney());//减掉二级分销商分佣 orders.setPingMoney(pingMoney); orders.setStatus(9); //总差价不变,则修改原单据 @@ -1921,6 +2161,7 @@ public class OrdersServiceImpl extends ServiceImpl implements //计算项目收益 //计算技师项目提成金额 + BigDecimal subtract = xmchajia; artificerPrice = xmchajia.multiply(artificer.getRate()).setScale(2, BigDecimal.ROUND_HALF_UP); orders.setProjectBenefits(artificerPrice); artificerPrice = artificerPrice.add(artificerTaxiPrice); @@ -2047,20 +2288,136 @@ public class OrdersServiceImpl extends ServiceImpl implements } } ordersOld.setShopMoney(shopMoney); - UserEntity user = userService.selectUserById(orders.getUserId()); - UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); - BigDecimal oneUserMoney = BigDecimal.ZERO; - if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { - ordersOld.setOneUserId(oneUser.getUserId()); - ordersOld.setOneUserName(oneUser.getUserName()); - oneUserMoney = oldArtificerPrice.multiply(oneUser.getUserRate()); - oneUserMoney = oneUserMoney.setScale(0, BigDecimal.ROUND_HALF_UP); +// UserEntity user = userService.selectUserById(orders.getUserId()); +// UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); +// BigDecimal oneUserMoney = BigDecimal.ZERO; +// if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { +// ordersOld.setOneUserId(oneUser.getUserId()); +// ordersOld.setOneUserName(oneUser.getUserName()); +// oneUserMoney = oldArtificerPrice.multiply(oneUser.getUserRate()); +// oneUserMoney = oneUserMoney.setScale(0, BigDecimal.ROUND_HALF_UP); +// } +// ordersOld.setOneUserMoney(oneUserMoney); + + //分销商分佣 + FxyConfig fc = fxyConfigService.getOne(new QueryWrapper()); + if(fc.getIsOpen().equals(1)){ + UserEntity user = userService.selectUserById(orders.getUserId()); + UserEntity fxyOneUser = userService.queryByInvitationCode(user.getBlFxyCode()); + FxyApply faOne = fxyApplyService.findByUserId(fxyOneUser.getUserId()); + if(faOne.getStatus().equals(1)){ + if(fxyOneUser!=null && fxyOneUser.getBlIsFxy() !=null && fxyOneUser.getBlIsFxy() ==1){ + boolean isCanFxyFy = false; + if(fc.getFxmLimit().equals(2)){ + int fxmLimitDays = fc.getFxmLimitDays(); + String approveTime = faOne.getApproveTime(); + Date approveDate = DateUtils.stringToDate(approveTime,DateUtils.DATE_TIME_PATTERN); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(approveDate); + calendar.add(Calendar.DAY_OF_MONTH, fxmLimitDays); + approveDate = calendar.getTime(); + Date current = new Date(); + if(approveDate.getTime() > current.getTime()){ + isCanFxyFy = true; + } + }else{ + isCanFxyFy = true; + } + if(isCanFxyFy){ + ordersOld.setFxyOneUserId(fxyOneUser.getUserId()); + ordersOld.setFxyOneUserName(fxyOneUser.getUserName()); + BigDecimal fxyMoney = BigDecimal.ZERO; + if(fc.getType().equals(1)){ + fxyMoney = artificerPrice; + } + if(fc.getType().equals(2)){ + fxyMoney = subtract; + } + BigDecimal artificerRate = fc.getArtificerRate(); + BigDecimal mostRate = fc.getMostRate(); + BigDecimal oneRate = fc.getOneRate(); + BigDecimal oneRecommendRate = fc.getOneRecommendRate(); + BigDecimal fxyRate = BigDecimal.ZERO; + if(oneRate == null || oneRate.compareTo(BigDecimal.ZERO) == 0){ + fxyRate = oneRecommendRate; + if(oneRecommendRate.compareTo(mostRate)> 0){ + fxyRate = mostRate; + } + }else{ + fxyRate = oneRate; + if(oneRate.compareTo(mostRate)> 0){ + fxyRate = mostRate; + } + } + BigDecimal fxyOneMoney = fxyMoney.multiply(fxyRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + ordersOld.setFxyOneMoney(fxyOneMoney); + BigDecimal fxyOneArtificerDeductMoney = fxyOneMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + ordersOld.setFxyOneArtificerDeductMoney(fxyOneArtificerDeductMoney); + if(fxyOneUser.getBlFxyLevel().equals(1)){ + UserEntity fxyTwoUser = userService.queryByInvitationCode(fxyOneUser.getBlFxyCode()); + FxyApply faTwo = fxyApplyService.findByUserId(fxyTwoUser.getUserId()); + if(faTwo.getStatus().equals(1)){ + if(fxyTwoUser!=null && fxyTwoUser.getBlIsFxy() !=null && fxyTwoUser.getBlIsFxy() ==1){ + isCanFxyFy = false; + if(fc.getFxmLimit().equals(2)){ + int fxmLimitDays = fc.getFxmLimitDays(); + String approveTime = faTwo.getApproveTime(); + Date approveDate = DateUtils.stringToDate(approveTime,DateUtils.DATE_TIME_PATTERN); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(approveDate); + calendar.add(Calendar.DAY_OF_MONTH, fxmLimitDays); + approveDate = calendar.getTime(); + Date current = new Date(); + if(approveDate.getTime() > current.getTime()){ + isCanFxyFy = true; + } + }else{ + isCanFxyFy = true; + } + if(isCanFxyFy) { + ordersOld.setFxyTwoUserId(fxyTwoUser.getUserId()); + ordersOld.setFxyTwoUserName(fxyTwoUser.getUserName()); + BigDecimal twoRate = fc.getTwoRate(); + BigDecimal twoRecommendRate = fc.getTwoRecommendRate(); + fxyRate = BigDecimal.ZERO; + if (twoRate == null || twoRate.compareTo(BigDecimal.ZERO) == 0) { + fxyRate = twoRecommendRate; + if (twoRecommendRate.compareTo(mostRate) > 0) { + fxyRate = mostRate; + } + } else { + fxyRate = twoRate; + if (twoRate.compareTo(mostRate) > 0) { + fxyRate = mostRate; + } + } + BigDecimal fxyTwoMoney = fxyMoney.multiply(fxyRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + ordersOld.setFxyTwoMoney(fxyTwoMoney); + BigDecimal fxyTwoArtificerDeductMoney = fxyTwoMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + ordersOld.setFxyTwoArtificerDeductMoney(fxyTwoArtificerDeductMoney); + } + } + } + }else{ + ordersOld.setFxyTwoMoney(BigDecimal.ZERO); + ordersOld.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); + } + } + } + } + }else{ + ordersOld.setFxyOneMoney(BigDecimal.ZERO); + ordersOld.setFxyOneArtificerDeductMoney(BigDecimal.ZERO); + ordersOld.setFxyTwoMoney(BigDecimal.ZERO); + ordersOld.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); } - ordersOld.setOneUserMoney(oneUserMoney); + // oldArtificerPrice = oldArtificerPrice.subtract(oneArtificerMoney); oldArtificerPrice = oldArtificerPrice.subtract(jjrMoney); oldArtificerPrice = oldArtificerPrice.subtract(shopMoney); - oldArtificerPrice = oldArtificerPrice.subtract(oneUserMoney); +// oldArtificerPrice = oldArtificerPrice.subtract(oneUserMoney); + oldArtificerPrice = oldArtificerPrice.subtract(ordersOld.getFxyOneArtificerDeductMoney());//减掉一级分销商分佣技师承担 + oldArtificerPrice = oldArtificerPrice.subtract(ordersOld.getFxyTwoArtificerDeductMoney());//减掉二级分销商分佣技师承担 ordersOld.setArtificerMoney(oldArtificerPrice); ordersOld.setSumArtificerMoney(oldArtificerPrice); @@ -2070,7 +2427,9 @@ public class OrdersServiceImpl extends ServiceImpl implements pingMoney = pingMoney.subtract(shopMoney); // pingMoney = pingMoney.subtract(oneArtificerMoney); pingMoney = pingMoney.subtract(jjrMoney); - pingMoney = pingMoney.subtract(oneUserMoney); +// pingMoney = pingMoney.subtract(oneUserMoney); + pingMoney = pingMoney.subtract(oldOrders.getFxyOneMoney());//减掉一级分销商分佣 + pingMoney = pingMoney.subtract(oldOrders.getFxyTwoMoney());//减掉二级分销商分佣 ordersOld.setPingMoney(pingMoney); baseMapper.updateById(ordersOld);//原单暂变成挂单状态 return Result.success().put("data", orders); @@ -2403,6 +2762,7 @@ public class OrdersServiceImpl extends ServiceImpl implements Artificer artificer = artificerService.getById(orders.getArtificerId()); BigDecimal artificerTaxiMoney = taxiMoneyDeduction;//扣车费 BigDecimal pingTaxiMoney = BigDecimal.ZERO; + BigDecimal subtract = rate; BigDecimal artificerMoney = rate.multiply(artificer.getRate()).setScale(2,BigDecimal.ROUND_HALF_UP); //技师获得扣款提成 orders.setProjectBenefits(artificerMoney); BigDecimal pingMoney = massageMoneyDeduction.subtract(artificerMoney);//平台获得项目扣款 @@ -2441,20 +2801,136 @@ public class OrdersServiceImpl extends ServiceImpl implements } } orders.setShopMoney(shopMoney); - UserEntity user = userService.selectUserById(orders.getUserId()); - UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); - BigDecimal oneUserMoney = BigDecimal.ZERO; - if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { - orders.setOneUserId(oneUser.getUserId()); - orders.setOneUserName(oneUser.getUserName()); - oneUserMoney = artificerMoney.multiply(oneUser.getUserRate()); - oneUserMoney = oneUserMoney.setScale(0, BigDecimal.ROUND_HALF_UP); +// UserEntity user = userService.selectUserById(orders.getUserId()); +// UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); +// BigDecimal oneUserMoney = BigDecimal.ZERO; +// if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { +// orders.setOneUserId(oneUser.getUserId()); +// orders.setOneUserName(oneUser.getUserName()); +// oneUserMoney = artificerMoney.multiply(oneUser.getUserRate()); +// oneUserMoney = oneUserMoney.setScale(0, BigDecimal.ROUND_HALF_UP); +// } +// orders.setOneUserMoney(oneUserMoney); + + //分销商分佣 + FxyConfig fc = fxyConfigService.getOne(new QueryWrapper()); + if(fc.getIsOpen().equals(1)){ + UserEntity user = userService.selectUserById(orders.getUserId()); + UserEntity fxyOneUser = userService.queryByInvitationCode(user.getBlFxyCode()); + FxyApply faOne = fxyApplyService.findByUserId(fxyOneUser.getUserId()); + if(faOne.getStatus().equals(1)){ + if(fxyOneUser!=null && fxyOneUser.getBlIsFxy() !=null && fxyOneUser.getBlIsFxy() ==1){ + boolean isCanFxyFy = false; + if(fc.getFxmLimit().equals(2)){ + int fxmLimitDays = fc.getFxmLimitDays(); + String approveTime = faOne.getApproveTime(); + Date approveDate = DateUtils.stringToDate(approveTime,DateUtils.DATE_TIME_PATTERN); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(approveDate); + calendar.add(Calendar.DAY_OF_MONTH, fxmLimitDays); + approveDate = calendar.getTime(); + Date current = new Date(); + if(approveDate.getTime() > current.getTime()){ + isCanFxyFy = true; + } + }else{ + isCanFxyFy = true; + } + if(isCanFxyFy){ + orders.setFxyOneUserId(fxyOneUser.getUserId()); + orders.setFxyOneUserName(fxyOneUser.getUserName()); + BigDecimal fxyMoney = BigDecimal.ZERO; + if(fc.getType().equals(1)){ + fxyMoney = artificerMoney; + } + if(fc.getType().equals(2)){ + fxyMoney = subtract; + } + BigDecimal artificerRate = fc.getArtificerRate(); + BigDecimal mostRate = fc.getMostRate(); + BigDecimal oneRate = fc.getOneRate(); + BigDecimal oneRecommendRate = fc.getOneRecommendRate(); + BigDecimal fxyRate = BigDecimal.ZERO; + if(oneRate == null || oneRate.compareTo(BigDecimal.ZERO) == 0){ + fxyRate = oneRecommendRate; + if(oneRecommendRate.compareTo(mostRate)> 0){ + fxyRate = mostRate; + } + }else{ + fxyRate = oneRate; + if(oneRate.compareTo(mostRate)> 0){ + fxyRate = mostRate; + } + } + BigDecimal fxyOneMoney = fxyMoney.multiply(fxyRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setFxyOneMoney(fxyOneMoney); + BigDecimal fxyOneArtificerDeductMoney = fxyOneMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setFxyOneArtificerDeductMoney(fxyOneArtificerDeductMoney); + if(fxyOneUser.getBlFxyLevel().equals(1)){ + UserEntity fxyTwoUser = userService.queryByInvitationCode(fxyOneUser.getBlFxyCode()); + FxyApply faTwo = fxyApplyService.findByUserId(fxyTwoUser.getUserId()); + if(faTwo.getStatus().equals(1)){ + if(fxyTwoUser!=null && fxyTwoUser.getBlIsFxy() !=null && fxyTwoUser.getBlIsFxy() ==1){ + isCanFxyFy = false; + if(fc.getFxmLimit().equals(2)){ + int fxmLimitDays = fc.getFxmLimitDays(); + String approveTime = faTwo.getApproveTime(); + Date approveDate = DateUtils.stringToDate(approveTime,DateUtils.DATE_TIME_PATTERN); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(approveDate); + calendar.add(Calendar.DAY_OF_MONTH, fxmLimitDays); + approveDate = calendar.getTime(); + Date current = new Date(); + if(approveDate.getTime() > current.getTime()){ + isCanFxyFy = true; + } + }else{ + isCanFxyFy = true; + } + if(isCanFxyFy) { + orders.setFxyTwoUserId(fxyTwoUser.getUserId()); + orders.setFxyTwoUserName(fxyTwoUser.getUserName()); + BigDecimal twoRate = fc.getTwoRate(); + BigDecimal twoRecommendRate = fc.getTwoRecommendRate(); + fxyRate = BigDecimal.ZERO; + if (twoRate == null || twoRate.compareTo(BigDecimal.ZERO) == 0) { + fxyRate = twoRecommendRate; + if (twoRecommendRate.compareTo(mostRate) > 0) { + fxyRate = mostRate; + } + } else { + fxyRate = twoRate; + if (twoRate.compareTo(mostRate) > 0) { + fxyRate = mostRate; + } + } + BigDecimal fxyTwoMoney = fxyMoney.multiply(fxyRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + orders.setFxyTwoMoney(fxyTwoMoney); + BigDecimal fxyTwoArtificerDeductMoney = fxyTwoMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + orders.setFxyTwoArtificerDeductMoney(fxyTwoArtificerDeductMoney); + } + } + } + }else{ + orders.setFxyTwoMoney(BigDecimal.ZERO); + orders.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); + } + } + } + } + }else{ + orders.setFxyOneMoney(BigDecimal.ZERO); + orders.setFxyOneArtificerDeductMoney(BigDecimal.ZERO); + orders.setFxyTwoMoney(BigDecimal.ZERO); + orders.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); } - orders.setOneUserMoney(oneUserMoney); + // artificerMoney = artificerMoney.subtract(oneArtificerMoney); artificerMoney = artificerMoney.subtract(jjrMoney); artificerMoney = artificerMoney.subtract(shopMoney); - artificerMoney = artificerMoney.subtract(oneUserMoney); +// artificerMoney = artificerMoney.subtract(oneUserMoney); + artificerMoney = artificerMoney.subtract(orders.getFxyOneArtificerDeductMoney());//减掉一级分销商分佣技师承担 + artificerMoney = artificerMoney.subtract(orders.getFxyTwoArtificerDeductMoney());//减掉二级分销商分佣技师承担 artificerMoney = artificerMoney.add(artificerTaxiMoney); orders.setArtificerMoney(artificerMoney); @@ -2465,7 +2941,9 @@ public class OrdersServiceImpl extends ServiceImpl implements // pingMoney = pingMoney.subtract(oneArtificerMoney); pingMoney = pingMoney.subtract(jjrMoney); pingMoney = pingMoney.subtract(shopMoney); - pingMoney = pingMoney.subtract(oneUserMoney); +// pingMoney = pingMoney.subtract(oneUserMoney); + pingMoney = pingMoney.subtract(orders.getFxyOneMoney());//减掉一级分销商分佣 + pingMoney = pingMoney.subtract(orders.getFxyTwoMoney());//减掉二级分销商分佣 pingMoney = pingMoney.setScale(2, BigDecimal.ROUND_HALF_UP); orders.setPingMoney(pingMoney); @@ -2481,14 +2959,15 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setMoney(orders.getSumArtificerMoney()); userMoneyDetails.setUserId(artificerUser.getUserId()); userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单取消!"); + BigDecimal fxyArtificerDeductMoney = orders.getFxyOneArtificerDeductMoney().add(orders.getFxyTwoArtificerDeductMoney()); if (orders.getShopUserId() != null) { userMoneyDetails.setContent("用户取消订单,总扣除:" + sumMoney + ",平台扣除:" + orders.getPingMoney() + - ",商家扣除:" + orders.getShopMoney() + ",分销员扣除:" + orders.getOneUserMoney() + ",经纪人扣除:" + orders.getJjrMoney() + + ",商家扣除:" + orders.getShopMoney() + ",分销员扣除:" + fxyArtificerDeductMoney + ",经纪人扣除:" + orders.getJjrMoney() + ",车费:" + orders.getTaxiMoney() + ",平台扣除车费:" + orders.getPingTaxiMoney() + ",到账车费:" + orders.getArtificerTaxiMoney() + ",到账总金额:" + orders.getSumArtificerMoney()); } else { userMoneyDetails.setContent("用户取消订单,总扣除:" + sumMoney + ",平台扣除:" + orders.getPingMoney() + - ",分销员扣除:" + orders.getOneUserMoney() + ",经纪人扣除:" + orders.getJjrMoney() + + ",分销员扣除:" + fxyArtificerDeductMoney + ",经纪人扣除:" + orders.getJjrMoney() + ",车费:" + orders.getTaxiMoney() + ",平台扣除车费:" + orders.getPingTaxiMoney() + ",到账车费:" + orders.getArtificerTaxiMoney() + ",到账总金额:" + orders.getSumArtificerMoney()); } @@ -2499,20 +2978,43 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setBlFlag(1); userMoneyDetailsService.save(userMoneyDetails); - if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1 && orders.getOneUserMoney().compareTo(BigDecimal.ZERO) !=0) { - if(orders.getOneUserMoney().compareTo(BigDecimal.ZERO)>0){ - userMoneyService.updateMoney(1, oneUser.getUserId(), orders.getOneUserMoney().doubleValue()); + if (orders.getFxyOneUserId() != null) { + if(orders.getFxyOneMoney().compareTo(BigDecimal.ZERO)>0){ + userMoneyService.updateMoney(1, orders.getFxyOneUserId(), orders.getFxyOneMoney().doubleValue()); userMoneyDetails = new UserMoneyDetails(); //查询用户当前余额 - UserMoney userNowMoney3 = userMoneyService.selectUserMoneyByUserId(oneUser.getUserId()); + UserMoney userNowMoney3 = userMoneyService.selectUserMoneyByUserId(orders.getFxyOneUserId()); //插入余额 userMoneyDetails.setBalance(userNowMoney3.getMoney()); //插入操作类型为已操作用户余额 userMoneyDetails.setManipulateType(2); - userMoneyDetails.setMoney(orders.getOneUserMoney()); - userMoneyDetails.setUserId(oneUser.getUserId()); + userMoneyDetails.setMoney(orders.getFxyOneMoney()); + userMoneyDetails.setUserId(orders.getFxyOneUserId()); userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单取消!"); - userMoneyDetails.setContent("分销员收益:"+orders.getOneUserMoney()); + userMoneyDetails.setContent("一级分销员收益:"+orders.getFxyOneUserName()); + userMoneyDetails.setType(1); + userMoneyDetails.setState(2); + userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date())); + userMoneyDetails.setBlRole(5); + userMoneyDetails.setBlFlag(1); + userMoneyDetailsService.save(userMoneyDetails); + } + } + + if (orders.getFxyTwoUserId() != null) { + if(orders.getFxyTwoMoney().compareTo(BigDecimal.ZERO)>0){ + userMoneyService.updateMoney(1, orders.getFxyTwoUserId(), orders.getFxyTwoMoney().doubleValue()); + userMoneyDetails = new UserMoneyDetails(); + //查询用户当前余额 + UserMoney userNowMoney3 = userMoneyService.selectUserMoneyByUserId(orders.getFxyTwoUserId()); + //插入余额 + userMoneyDetails.setBalance(userNowMoney3.getMoney()); + //插入操作类型为已操作用户余额 + userMoneyDetails.setManipulateType(2); + userMoneyDetails.setMoney(orders.getFxyTwoMoney()); + userMoneyDetails.setUserId(orders.getFxyTwoUserId()); + userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单取消!"); + userMoneyDetails.setContent("二级分销员收益:"+orders.getFxyTwoUserName()); userMoneyDetails.setType(1); userMoneyDetails.setState(2); userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date())); @@ -2646,11 +3148,16 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setProjectBenefits(BigDecimal.ZERO); orders.setArtificerTaxiMoney(BigDecimal.ZERO); orders.setPingTaxiMoney(BigDecimal.ZERO); - orders.setOneArtificerMoney(BigDecimal.ZERO); +// orders.setOneArtificerMoney(BigDecimal.ZERO); + orders.setJjrMoney(BigDecimal.ZERO); orders.setShopMoney(BigDecimal.ZERO); orders.setArtificerMoney(BigDecimal.ZERO); orders.setSumArtificerMoney(BigDecimal.ZERO); - orders.setOneUserMoney(BigDecimal.ZERO); +// orders.setOneUserMoney(BigDecimal.ZERO); + orders.setFxyOneMoney(BigDecimal.ZERO); + orders.setFxyOneArtificerDeductMoney(BigDecimal.ZERO); + orders.setFxyTwoMoney(BigDecimal.ZERO); + orders.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); orders.setPingMoney(BigDecimal.ZERO); orders.setJjrMoney(BigDecimal.ZERO); } @@ -2791,11 +3298,16 @@ public class OrdersServiceImpl extends ServiceImpl implements BigDecimal sumMoney = taxiMoneyDeduction;//总扣费 if(sumMoney.compareTo(BigDecimal.ZERO)>0){ orders.setProjectBenefits(BigDecimal.ZERO); - orders.setOneArtificerMoney(BigDecimal.ZERO); +// orders.setOneArtificerMoney(BigDecimal.ZERO); + orders.setJjrMoney(BigDecimal.ZERO); orders.setShopMoney(BigDecimal.ZERO); orders.setArtificerMoney(BigDecimal.ZERO); orders.setSumArtificerMoney(BigDecimal.ZERO); - orders.setOneUserMoney(BigDecimal.ZERO); +// orders.setOneUserMoney(BigDecimal.ZERO); + orders.setFxyOneMoney(BigDecimal.ZERO); + orders.setFxyOneArtificerDeductMoney(BigDecimal.ZERO); + orders.setFxyTwoMoney(BigDecimal.ZERO); + orders.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); orders.setPingMoney(BigDecimal.ZERO); orders.setJjrMoney(BigDecimal.ZERO); @@ -2819,9 +3331,8 @@ public class OrdersServiceImpl extends ServiceImpl implements if (jjrUser != null) { orders.setJjrUserId(jjrUser.getUserId()); orders.setJjrUserName(jjrUser.getUserName()); - jjrMoney = jjrMoney.multiply(jjrUser.getBlJjrRate()); - jjrMoney = jjrMoney.setScale(2, BigDecimal.ROUND_HALF_UP); } + orders.setJjrMoney(jjrMoney); BigDecimal shopMoney = BigDecimal.ZERO; if (artificerUser.getConsortiaId() != null) { @@ -2836,6 +3347,79 @@ public class OrdersServiceImpl extends ServiceImpl implements } } orders.setShopMoney(shopMoney); + + //分销商分佣 + FxyConfig fc = fxyConfigService.getOne(new QueryWrapper()); + if(fc.getIsOpen().equals(1)){ + UserEntity user = userService.selectUserById(orders.getUserId()); + UserEntity fxyOneUser = userService.queryByInvitationCode(user.getBlFxyCode()); + FxyApply faOne = fxyApplyService.findByUserId(fxyOneUser.getUserId()); + if(faOne.getStatus().equals(1)){ + if(fxyOneUser!=null && fxyOneUser.getBlIsFxy() !=null && fxyOneUser.getBlIsFxy() ==1){ + boolean isCanFxyFy = false; + if(fc.getFxmLimit().equals(2)){ + int fxmLimitDays = fc.getFxmLimitDays(); + String approveTime = faOne.getApproveTime(); + Date approveDate = DateUtils.stringToDate(approveTime,DateUtils.DATE_TIME_PATTERN); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(approveDate); + calendar.add(Calendar.DAY_OF_MONTH, fxmLimitDays); + approveDate = calendar.getTime(); + Date current = new Date(); + if(approveDate.getTime() > current.getTime()){ + isCanFxyFy = true; + } + }else{ + isCanFxyFy = true; + } + if(isCanFxyFy){ + orders.setFxyOneUserId(fxyOneUser.getUserId()); + orders.setFxyOneUserName(fxyOneUser.getUserName()); + orders.setFxyOneMoney(BigDecimal.ZERO); + orders.setFxyOneArtificerDeductMoney(BigDecimal.ZERO); + if(fxyOneUser.getBlFxyLevel().equals(1)){ + UserEntity fxyTwoUser = userService.queryByInvitationCode(fxyOneUser.getBlFxyCode()); + FxyApply faTwo = fxyApplyService.findByUserId(fxyTwoUser.getUserId()); + if(faTwo.getStatus().equals(1)){ + if(fxyTwoUser!=null && fxyTwoUser.getBlIsFxy() !=null && fxyTwoUser.getBlIsFxy() ==1){ + isCanFxyFy = false; + if(fc.getFxmLimit().equals(2)){ + int fxmLimitDays = fc.getFxmLimitDays(); + String approveTime = faTwo.getApproveTime(); + Date approveDate = DateUtils.stringToDate(approveTime,DateUtils.DATE_TIME_PATTERN); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(approveDate); + calendar.add(Calendar.DAY_OF_MONTH, fxmLimitDays); + approveDate = calendar.getTime(); + Date current = new Date(); + if(approveDate.getTime() > current.getTime()){ + isCanFxyFy = true; + } + }else{ + isCanFxyFy = true; + } + if(isCanFxyFy) { + orders.setFxyTwoUserId(fxyTwoUser.getUserId()); + orders.setFxyTwoUserName(fxyTwoUser.getUserName()); + orders.setFxyTwoMoney(BigDecimal.ZERO); + orders.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); + } + } + } + }else{ + orders.setFxyTwoMoney(BigDecimal.ZERO); + orders.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); + } + } + } + } + }else{ + orders.setFxyOneMoney(BigDecimal.ZERO); + orders.setFxyOneArtificerDeductMoney(BigDecimal.ZERO); + orders.setFxyTwoMoney(BigDecimal.ZERO); + orders.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); + } + orders.setArtificerMoney(artificerTaxiMoney); orders.setSumArtificerMoney(artificerTaxiMoney); @@ -2867,14 +3451,15 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setMoney(orders.getSumArtificerMoney()); userMoneyDetails.setUserId(artificerUser.getUserId()); userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单取消!"); + BigDecimal fxyArtificerDeductMoney = orders.getFxyOneArtificerDeductMoney().add(orders.getFxyTwoArtificerDeductMoney()); if (orders.getShopUserId() != null) { userMoneyDetails.setContent("用户取消订单,总扣除:" + sumMoney + ",平台扣除:" + orders.getPingMoney() + - ",商家扣除:" + orders.getShopMoney() + ",分销员扣除:" + orders.getOneUserMoney() + ",经纪人扣除:" + orders.getJjrMoney() + + ",商家扣除:" + orders.getShopMoney() + ",分销员扣除:" + fxyArtificerDeductMoney + ",经纪人扣除:" + orders.getJjrMoney() + ",车费:" + orders.getTaxiMoney() + ",平台扣除车费:" + orders.getPingTaxiMoney() + ",到账车费:" + orders.getArtificerTaxiMoney() + ",到账总金额:" + orders.getSumArtificerMoney()); } else { userMoneyDetails.setContent("用户取消订单,总扣除:" + sumMoney + ",平台扣除:" + orders.getPingMoney() + - ",分销员扣除:" + orders.getOneUserMoney() + ",经纪人扣除:" + orders.getJjrMoney() + + ",分销员扣除:" + fxyArtificerDeductMoney + ",经纪人扣除:" + orders.getJjrMoney() + ",车费:" + orders.getTaxiMoney() + ",平台扣除车费:" + orders.getPingTaxiMoney() + ",到账车费:" + orders.getArtificerTaxiMoney() + ",到账总金额:" + orders.getSumArtificerMoney()); } @@ -2958,11 +3543,16 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setProjectBenefits(BigDecimal.ZERO); orders.setArtificerTaxiMoney(BigDecimal.ZERO); orders.setPingTaxiMoney(BigDecimal.ZERO); - orders.setOneArtificerMoney(BigDecimal.ZERO); +// orders.setOneArtificerMoney(BigDecimal.ZERO); + orders.setJjrMoney(BigDecimal.ZERO); orders.setShopMoney(BigDecimal.ZERO); orders.setArtificerMoney(BigDecimal.ZERO); orders.setSumArtificerMoney(BigDecimal.ZERO); - orders.setOneUserMoney(BigDecimal.ZERO); +// orders.setOneUserMoney(BigDecimal.ZERO); + orders.setFxyOneMoney(BigDecimal.ZERO); + orders.setFxyOneArtificerDeductMoney(BigDecimal.ZERO); + orders.setFxyTwoMoney(BigDecimal.ZERO); + orders.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); orders.setPingMoney(BigDecimal.ZERO); orders.setJjrMoney(BigDecimal.ZERO); } @@ -3958,15 +4548,22 @@ public class OrdersServiceImpl extends ServiceImpl implements } } + orders.setProjectBenefits(BigDecimal.ZERO); + orders.setArtificerTaxiMoney(BigDecimal.ZERO); + orders.setPingTaxiMoney(BigDecimal.ZERO); +// orders.setOneArtificerMoney(BigDecimal.ZERO); + orders.setJjrMoney(BigDecimal.ZERO); orders.setShopMoney(BigDecimal.ZERO); orders.setArtificerMoney(BigDecimal.ZERO); orders.setSumArtificerMoney(BigDecimal.ZERO); - orders.setOneUserMoney(BigDecimal.ZERO); - orders.setOneArtificerMoney(BigDecimal.ZERO); +// orders.setOneUserMoney(BigDecimal.ZERO); + orders.setFxyOneMoney(BigDecimal.ZERO); + orders.setFxyOneArtificerDeductMoney(BigDecimal.ZERO); + orders.setFxyTwoMoney(BigDecimal.ZERO); + orders.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); orders.setPingMoney(BigDecimal.ZERO); - orders.setArtificerTaxiMoney(BigDecimal.ZERO); - orders.setPingTaxiMoney(BigDecimal.ZERO); orders.setJjrMoney(BigDecimal.ZERO); + orders.setStatus(4); baseMapper.updateById(orders); //删除技师占用时间表数据 @@ -4667,20 +5264,136 @@ public class OrdersServiceImpl extends ServiceImpl implements } } orders.setShopMoney(shopMoney); - UserEntity user = userService.selectUserById(orders.getUserId()); - UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); - BigDecimal oneUserMoney = BigDecimal.ZERO; - if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { - orders.setOneUserId(oneUser.getUserId()); - orders.setOneUserName(oneUser.getUserName()); - oneUserMoney = artificerPrice.multiply(oneUser.getUserRate()); - oneUserMoney = oneUserMoney.setScale(2, BigDecimal.ROUND_HALF_UP); +// UserEntity user = userService.selectUserById(orders.getUserId()); +// UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); +// BigDecimal oneUserMoney = BigDecimal.ZERO; +// if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { +// orders.setOneUserId(oneUser.getUserId()); +// orders.setOneUserName(oneUser.getUserName()); +// oneUserMoney = artificerPrice.multiply(oneUser.getUserRate()); +// oneUserMoney = oneUserMoney.setScale(2, BigDecimal.ROUND_HALF_UP); +// } +// orders.setOneUserMoney(oneUserMoney); + + //分销商分佣 + FxyConfig fc = fxyConfigService.getOne(new QueryWrapper()); + if(fc.getIsOpen().equals(1)){ + UserEntity user = userService.selectUserById(orders.getUserId()); + UserEntity fxyOneUser = userService.queryByInvitationCode(user.getBlFxyCode()); + FxyApply faOne = fxyApplyService.findByUserId(fxyOneUser.getUserId()); + if(faOne.getStatus().equals(1)){ + if(fxyOneUser!=null && fxyOneUser.getBlIsFxy() !=null && fxyOneUser.getBlIsFxy() ==1){ + boolean isCanFxyFy = false; + if(fc.getFxmLimit().equals(2)){ + int fxmLimitDays = fc.getFxmLimitDays(); + String approveTime = faOne.getApproveTime(); + Date approveDate = DateUtils.stringToDate(approveTime,DateUtils.DATE_TIME_PATTERN); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(approveDate); + calendar.add(Calendar.DAY_OF_MONTH, fxmLimitDays); + approveDate = calendar.getTime(); + Date current = new Date(); + if(approveDate.getTime() > current.getTime()){ + isCanFxyFy = true; + } + }else{ + isCanFxyFy = true; + } + if(isCanFxyFy){ + orders.setFxyOneUserId(fxyOneUser.getUserId()); + orders.setFxyOneUserName(fxyOneUser.getUserName()); + BigDecimal fxyMoney = BigDecimal.ZERO; + if(fc.getType().equals(1)){ + fxyMoney = artificerPrice; + } + if(fc.getType().equals(2)){ + fxyMoney = subtract; + } + BigDecimal artificerRate = fc.getArtificerRate(); + BigDecimal mostRate = fc.getMostRate(); + BigDecimal oneRate = fc.getOneRate(); + BigDecimal oneRecommendRate = fc.getOneRecommendRate(); + BigDecimal fxyRate = BigDecimal.ZERO; + if(oneRate == null || oneRate.compareTo(BigDecimal.ZERO) == 0){ + fxyRate = oneRecommendRate; + if(oneRecommendRate.compareTo(mostRate)> 0){ + fxyRate = mostRate; + } + }else{ + fxyRate = oneRate; + if(oneRate.compareTo(mostRate)> 0){ + fxyRate = mostRate; + } + } + BigDecimal fxyOneMoney = fxyMoney.multiply(fxyRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setFxyOneMoney(fxyOneMoney); + BigDecimal fxyOneArtificerDeductMoney = fxyOneMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setFxyOneArtificerDeductMoney(fxyOneArtificerDeductMoney); + if(fxyOneUser.getBlFxyLevel().equals(1)){ + UserEntity fxyTwoUser = userService.queryByInvitationCode(fxyOneUser.getBlFxyCode()); + FxyApply faTwo = fxyApplyService.findByUserId(fxyTwoUser.getUserId()); + if(faTwo.getStatus().equals(1)){ + if(fxyTwoUser!=null && fxyTwoUser.getBlIsFxy() !=null && fxyTwoUser.getBlIsFxy() ==1){ + isCanFxyFy = false; + if(fc.getFxmLimit().equals(2)){ + int fxmLimitDays = fc.getFxmLimitDays(); + String approveTime = faTwo.getApproveTime(); + Date approveDate = DateUtils.stringToDate(approveTime,DateUtils.DATE_TIME_PATTERN); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(approveDate); + calendar.add(Calendar.DAY_OF_MONTH, fxmLimitDays); + approveDate = calendar.getTime(); + Date current = new Date(); + if(approveDate.getTime() > current.getTime()){ + isCanFxyFy = true; + } + }else{ + isCanFxyFy = true; + } + if(isCanFxyFy) { + orders.setFxyTwoUserId(fxyTwoUser.getUserId()); + orders.setFxyTwoUserName(fxyTwoUser.getUserName()); + BigDecimal twoRate = fc.getTwoRate(); + BigDecimal twoRecommendRate = fc.getTwoRecommendRate(); + fxyRate = BigDecimal.ZERO; + if (twoRate == null || twoRate.compareTo(BigDecimal.ZERO) == 0) { + fxyRate = twoRecommendRate; + if (twoRecommendRate.compareTo(mostRate) > 0) { + fxyRate = mostRate; + } + } else { + fxyRate = twoRate; + if (twoRate.compareTo(mostRate) > 0) { + fxyRate = mostRate; + } + } + BigDecimal fxyTwoMoney = fxyMoney.multiply(fxyRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + orders.setFxyTwoMoney(fxyTwoMoney); + BigDecimal fxyTwoArtificerDeductMoney = fxyTwoMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + orders.setFxyTwoArtificerDeductMoney(fxyTwoArtificerDeductMoney); + } + } + } + }else{ + orders.setFxyTwoMoney(BigDecimal.ZERO); + orders.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); + } + } + } + } + }else{ + orders.setFxyOneMoney(BigDecimal.ZERO); + orders.setFxyOneArtificerDeductMoney(BigDecimal.ZERO); + orders.setFxyTwoMoney(BigDecimal.ZERO); + orders.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); } - orders.setOneUserMoney(oneUserMoney); + // artificerPrice = artificerPrice.subtract(oneArtificerMoney); artificerPrice = artificerPrice.subtract(jjrMoney); artificerPrice = artificerPrice.subtract(shopMoney); - artificerPrice = artificerPrice.subtract(oneUserMoney); +// artificerPrice = artificerPrice.subtract(oneUserMoney); + artificerPrice = artificerPrice.subtract(orders.getFxyOneArtificerDeductMoney());//减掉一级分销商分佣技师承担 + artificerPrice = artificerPrice.subtract(orders.getFxyTwoArtificerDeductMoney());//减掉二级分销商分佣技师承担 if(orders.getIsSupplement()!=null && orders.getIsSupplement().equals(2)){ }else{ @@ -4696,7 +5409,9 @@ public class OrdersServiceImpl extends ServiceImpl implements // pingMoney = pingMoney.subtract(oneArtificerMoney); pingMoney = pingMoney.subtract(jjrMoney); pingMoney = pingMoney.subtract(shopMoney); - pingMoney = pingMoney.subtract(oneUserMoney); +// pingMoney = pingMoney.subtract(oneUserMoney); + pingMoney = pingMoney.subtract(orders.getFxyOneMoney());//减掉一级分销商分佣 + pingMoney = pingMoney.subtract(orders.getFxyTwoMoney());//减掉二级分销商分佣 orders.setPingMoney(pingMoney); if(orders.getIsSupplement() != null){ @@ -4752,7 +5467,11 @@ public class OrdersServiceImpl extends ServiceImpl implements // orders1.setOneArtificerMoney(orders1.getOneArtificerMoney().add(orders.getOneArtificerMoney())); orders1.setJjrMoney(orders1.getJjrMoney().add(orders.getJjrMoney())); orders1.setShopMoney(orders1.getShopMoney().add(orders.getShopMoney())); - orders1.setOneUserMoney(orders1.getOneUserMoney().add(orders.getOneUserMoney())); +// orders1.setOneUserMoney(orders1.getOneUserMoney().add(orders.getOneUserMoney())); + orders1.setFxyOneMoney(orders1.getFxyOneMoney().add(orders.getFxyOneMoney())); + orders1.setFxyTwoMoney(orders1.getFxyTwoMoney().add(orders.getFxyTwoMoney())); + orders1.setFxyOneArtificerDeductMoney(orders1.getFxyOneArtificerDeductMoney().add(orders.getFxyOneArtificerDeductMoney())); + orders1.setFxyTwoArtificerDeductMoney(orders1.getFxyTwoArtificerDeductMoney().add(orders.getFxyTwoArtificerDeductMoney())); orders1.setPingMoney(orders1.getPingMoney().add(orders.getPingMoney())); if (orders1.getStatus().equals(6)) { @@ -5056,20 +5775,137 @@ public class OrdersServiceImpl extends ServiceImpl implements } } orders.setShopMoney(shopMoney); - UserEntity user = userService.selectUserById(orders.getUserId()); - UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); - BigDecimal oneUserMoney = BigDecimal.ZERO; - if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { - orders.setOneUserId(oneUser.getUserId()); - orders.setOneUserName(oneUser.getUserName()); - oneUserMoney = artificerPrice.multiply(oneUser.getUserRate()); - oneUserMoney = oneUserMoney.setScale(0, BigDecimal.ROUND_HALF_UP); +// UserEntity user = userService.selectUserById(orders.getUserId()); +// UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); +// BigDecimal oneUserMoney = BigDecimal.ZERO; +// if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { +// orders.setOneUserId(oneUser.getUserId()); +// orders.setOneUserName(oneUser.getUserName()); +// oneUserMoney = artificerPrice.multiply(oneUser.getUserRate()); +// oneUserMoney = oneUserMoney.setScale(0, BigDecimal.ROUND_HALF_UP); +// } +// orders.setOneUserMoney(oneUserMoney); + + //分销商分佣 + FxyConfig fc = fxyConfigService.getOne(new QueryWrapper()); + if(fc.getIsOpen().equals(1)){ + UserEntity user = userService.selectUserById(orders.getUserId()); + UserEntity fxyOneUser = userService.queryByInvitationCode(user.getBlFxyCode()); + FxyApply faOne = fxyApplyService.findByUserId(fxyOneUser.getUserId()); + if(faOne.getStatus().equals(1)){ + if(fxyOneUser!=null && fxyOneUser.getBlIsFxy() !=null && fxyOneUser.getBlIsFxy() ==1){ + boolean isCanFxyFy = false; + if(fc.getFxmLimit().equals(2)){ + int fxmLimitDays = fc.getFxmLimitDays(); + String approveTime = faOne.getApproveTime(); + Date approveDate = DateUtils.stringToDate(approveTime,DateUtils.DATE_TIME_PATTERN); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(approveDate); + calendar.add(Calendar.DAY_OF_MONTH, fxmLimitDays); + approveDate = calendar.getTime(); + Date current = new Date(); + if(approveDate.getTime() > current.getTime()){ + isCanFxyFy = true; + } + }else{ + isCanFxyFy = true; + } + if(isCanFxyFy){ + orders.setFxyOneUserId(fxyOneUser.getUserId()); + orders.setFxyOneUserName(fxyOneUser.getUserName()); + BigDecimal fxyMoney = BigDecimal.ZERO; + if(fc.getType().equals(1)){ + fxyMoney = artificerPrice; + } + if(fc.getType().equals(2)){ + fxyMoney = subtract; + } + BigDecimal artificerRate = fc.getArtificerRate(); + BigDecimal mostRate = fc.getMostRate(); + BigDecimal oneRate = fc.getOneRate(); + BigDecimal oneRecommendRate = fc.getOneRecommendRate(); + BigDecimal fxyRate = BigDecimal.ZERO; + if(oneRate == null || oneRate.compareTo(BigDecimal.ZERO) == 0){ + fxyRate = oneRecommendRate; + if(oneRecommendRate.compareTo(mostRate)> 0){ + fxyRate = mostRate; + } + }else{ + fxyRate = oneRate; + if(oneRate.compareTo(mostRate)> 0){ + fxyRate = mostRate; + } + } + BigDecimal fxyOneMoney = fxyMoney.multiply(fxyRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setFxyOneMoney(fxyOneMoney); + BigDecimal fxyOneArtificerDeductMoney = fxyOneMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setFxyOneArtificerDeductMoney(fxyOneArtificerDeductMoney); + if(fxyOneUser.getBlFxyLevel().equals(1)){ + UserEntity fxyTwoUser = userService.queryByInvitationCode(fxyOneUser.getBlFxyCode()); + FxyApply faTwo = fxyApplyService.findByUserId(fxyTwoUser.getUserId()); + if(faTwo.getStatus().equals(1)){ + if(fxyTwoUser!=null && fxyTwoUser.getBlIsFxy() !=null && fxyTwoUser.getBlIsFxy() ==1){ + isCanFxyFy = false; + if(fc.getFxmLimit().equals(2)){ + int fxmLimitDays = fc.getFxmLimitDays(); + String approveTime = faTwo.getApproveTime(); + Date approveDate = DateUtils.stringToDate(approveTime,DateUtils.DATE_TIME_PATTERN); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(approveDate); + calendar.add(Calendar.DAY_OF_MONTH, fxmLimitDays); + approveDate = calendar.getTime(); + Date current = new Date(); + if(approveDate.getTime() > current.getTime()){ + isCanFxyFy = true; + } + }else{ + isCanFxyFy = true; + } + if(isCanFxyFy) { + orders.setFxyTwoUserId(fxyTwoUser.getUserId()); + orders.setFxyTwoUserName(fxyTwoUser.getUserName()); + BigDecimal twoRate = fc.getTwoRate(); + BigDecimal twoRecommendRate = fc.getTwoRecommendRate(); + fxyRate = BigDecimal.ZERO; + if (twoRate == null || twoRate.compareTo(BigDecimal.ZERO) == 0) { + fxyRate = twoRecommendRate; + if (twoRecommendRate.compareTo(mostRate) > 0) { + fxyRate = mostRate; + } + } else { + fxyRate = twoRate; + if (twoRate.compareTo(mostRate) > 0) { + fxyRate = mostRate; + } + } + BigDecimal fxyTwoMoney = fxyMoney.multiply(fxyRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + orders.setFxyTwoMoney(fxyTwoMoney); + BigDecimal fxyTwoArtificerDeductMoney = fxyTwoMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + orders.setFxyTwoArtificerDeductMoney(fxyTwoArtificerDeductMoney); + } + } + } + }else{ + orders.setFxyTwoMoney(BigDecimal.ZERO); + orders.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); + } + } + } + } + }else{ + orders.setFxyOneMoney(BigDecimal.ZERO); + orders.setFxyOneArtificerDeductMoney(BigDecimal.ZERO); + orders.setFxyTwoMoney(BigDecimal.ZERO); + orders.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); } - orders.setOneUserMoney(oneUserMoney); + // artificerPrice = artificerPrice.subtract(oneArtificerMoney); artificerPrice = artificerPrice.subtract(jjrMoney); artificerPrice = artificerPrice.subtract(shopMoney); - artificerPrice = artificerPrice.subtract(oneUserMoney); +// artificerPrice = artificerPrice.subtract(oneUserMoney); + artificerPrice = artificerPrice.subtract(orders.getFxyOneArtificerDeductMoney());//减掉一级分销商分佣技师承担 + artificerPrice = artificerPrice.subtract(orders.getFxyTwoArtificerDeductMoney());//减掉二级分销商分佣技师承担 + if(orders.getIsSupplement()!=null && orders.getIsSupplement().equals(2)){ }else{ @@ -5085,7 +5921,9 @@ public class OrdersServiceImpl extends ServiceImpl implements pingMoney = pingMoney.subtract(shopMoney); // pingMoney = pingMoney.subtract(oneArtificerMoney); pingMoney = pingMoney.subtract(jjrMoney); - pingMoney = pingMoney.subtract(oneUserMoney); +// pingMoney = pingMoney.subtract(oneUserMoney); + pingMoney = pingMoney.subtract(orders.getFxyOneMoney());//减掉一级分销商分佣 + pingMoney = pingMoney.subtract(orders.getFxyTwoMoney());//减掉二级分销商分佣 orders.setPingMoney(pingMoney); if(orders.getIsSupplement() != null){ @@ -5124,10 +5962,16 @@ public class OrdersServiceImpl extends ServiceImpl implements orders1.setAddMoney(orders1.getAddMoney().add(orders.getPayMoney())); orders1.setAddArtificerMoney(orders1.getAddArtificerMoney().add(orders.getArtificerMoney())); orders1.setAddProjectBenefits(orders1.getProjectBenefits().add(orders.getProjectBenefits())); + orders1.setAddPriceMarkup(orders1.getAddPriceMarkup().add(orders.getPriceMarkup())); + orders1.setAddTechnicianMoney(orders1.getAddTechnicianMoney().add(orders.getTechnicianMoney())); + orders1.setAddVipReductionMoney(orders1.getAddVipReductionMoney().add(orders.getVipReductionMoney())); } else { orders1.setAddMoney(orders.getPayMoney()); orders1.setAddArtificerMoney(orders.getArtificerMoney()); orders1.setAddProjectBenefits(orders.getProjectBenefits()); + orders1.setAddPriceMarkup(orders.getPriceMarkup()); + orders1.setAddTechnicianMoney(orders.getTechnicianMoney()); + orders1.setAddVipReductionMoney(orders.getVipReductionMoney()); } orders1.setSumMoney(orders1.getSumMoney().add(orders.getPayMoney())); orders1.setSumArtificerMoney(orders1.getSumArtificerMoney().add(orders.getArtificerMoney())); @@ -5135,7 +5979,11 @@ public class OrdersServiceImpl extends ServiceImpl implements // orders1.setOneArtificerMoney(orders1.getOneArtificerMoney().add(orders.getOneArtificerMoney())); orders1.setJjrMoney(orders1.getJjrMoney().add(orders.getJjrMoney())); orders1.setShopMoney(orders1.getShopMoney().add(orders.getShopMoney())); - orders1.setOneUserMoney(orders1.getOneUserMoney().add(orders.getOneUserMoney())); +// orders1.setOneUserMoney(orders1.getOneUserMoney().add(orders.getOneUserMoney())); + orders1.setFxyOneMoney(orders1.getFxyOneMoney().add(orders.getFxyOneMoney())); + orders1.setFxyTwoMoney(orders1.getFxyTwoMoney().add(orders.getFxyTwoMoney())); + orders1.setFxyOneArtificerDeductMoney(orders1.getFxyOneArtificerDeductMoney().add(orders.getFxyOneArtificerDeductMoney())); + orders1.setFxyTwoArtificerDeductMoney(orders1.getFxyTwoArtificerDeductMoney().add(orders.getFxyTwoArtificerDeductMoney())); orders1.setPingMoney(orders1.getPingMoney().add(orders.getPingMoney())); if (orders1.getStatus().equals(6)) { @@ -6687,10 +7535,151 @@ public class OrdersServiceImpl extends ServiceImpl implements fc.setFxmLimit(2); fc.setFxmLimitDays(100); -// FxyApply fa = new FxyApply(); -// fa.setUserId(); -// fa.setStatus(); -// fa.setApproveTime(); + FxyApply faOne = new FxyApply(); + faOne.setUserId(630L); + faOne.setStatus(1); + faOne.setApproveTime("2024-08-06 20:04:47"); + + UserEntity fxyOneUser = new UserEntity(); + fxyOneUser.setUserId(630L); + fxyOneUser.setUserName("技师甲"); + fxyOneUser.setBlIsFxy(1); + fxyOneUser.setBlFxyLevel(1); + + FxyApply faTwo = new FxyApply(); + faTwo.setUserId(1L); + faTwo.setStatus(1); + faTwo.setApproveTime("2024-08-06 17:58:09"); + + UserEntity fxyTwoUser = new UserEntity(); + fxyTwoUser.setUserId(1L); + fxyTwoUser.setUserName("官方"); + fxyTwoUser.setBlIsFxy(1); + fxyTwoUser.setBlFxyLevel(2); + + Orders orders = new Orders(); + + BigDecimal subtract = new BigDecimal(200);//项目金额 + BigDecimal artificerPrice = new BigDecimal(150);//技师金额 + +// FxyConfig fc = fxyConfigService.getOne(new QueryWrapper()); + if(fc.getIsOpen().equals(1)){ +// UserEntity user = userService.selectUserById(orders.getUserId()); +// UserEntity fxyOneUser = userService.queryByInvitationCode(user.getBlFxyCode()); +// FxyApply faOne = fxyApplyService.findByUserId(fxyOneUser.getUserId()); + if(faOne.getStatus().equals(1)){ + if(fxyOneUser!=null && fxyOneUser.getBlIsFxy() !=null && fxyOneUser.getBlIsFxy() ==1){ + boolean isCanFxyFy = false; + if(fc.getFxmLimit().equals(2)){ + int fxmLimitDays = fc.getFxmLimitDays(); + String approveTime = faOne.getApproveTime(); + Date approveDate = DateUtils.stringToDate(approveTime,DateUtils.DATE_TIME_PATTERN); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(approveDate); + calendar.add(Calendar.DAY_OF_MONTH, fxmLimitDays); + approveDate = calendar.getTime(); + Date current = new Date(); + if(approveDate.getTime() > current.getTime()){ + isCanFxyFy = true; + } + }else{ + isCanFxyFy = true; + } + if(isCanFxyFy){ + orders.setFxyOneUserId(fxyOneUser.getUserId()); + orders.setFxyOneUserName(fxyOneUser.getUserName()); + BigDecimal fxyMoney = BigDecimal.ZERO; + if(fc.getType().equals(1)){ + fxyMoney = artificerPrice; + } + if(fc.getType().equals(2)){ + fxyMoney = subtract; + } + BigDecimal artificerRate = fc.getArtificerRate(); + BigDecimal mostRate = fc.getMostRate(); + BigDecimal oneRate = fc.getOneRate(); + BigDecimal oneRecommendRate = fc.getOneRecommendRate(); + BigDecimal rate = BigDecimal.ZERO; + if(oneRate == null || oneRate.compareTo(BigDecimal.ZERO) == 0){ + rate = oneRecommendRate; + if(oneRecommendRate.compareTo(mostRate)> 0){ + rate = mostRate; + } + }else{ + rate = oneRate; + if(oneRate.compareTo(mostRate)> 0){ + rate = mostRate; + } + } + BigDecimal fxyOneMoney = fxyMoney.multiply(rate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setFxyOneMoney(fxyOneMoney); + BigDecimal fxyOneArtificerDeductMoney = fxyOneMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setFxyOneArtificerDeductMoney(fxyOneArtificerDeductMoney); + if(fxyOneUser.getBlFxyLevel().equals(1)){ +// UserEntity fxyTwoUser = userService.queryByInvitationCode(fxyOneUser.getBlFxyCode()); +// FxyApply faTwo = fxyApplyService.findByUserId(fxyOneUser.getUserId()); + if(faTwo.getStatus().equals(1)){ + if(fxyTwoUser!=null && fxyTwoUser.getBlIsFxy() !=null && fxyTwoUser.getBlIsFxy() ==1){ + isCanFxyFy = false; + if(fc.getFxmLimit().equals(2)){ + int fxmLimitDays = fc.getFxmLimitDays(); + String approveTime = faTwo.getApproveTime(); + Date approveDate = DateUtils.stringToDate(approveTime,DateUtils.DATE_TIME_PATTERN); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(approveDate); + calendar.add(Calendar.DAY_OF_MONTH, fxmLimitDays); + approveDate = calendar.getTime(); + Date current = new Date(); + if(approveDate.getTime() > current.getTime()){ + isCanFxyFy = true; + } + }else{ + isCanFxyFy = true; + } + if(isCanFxyFy) { + orders.setFxyTwoUserId(fxyTwoUser.getUserId()); + orders.setFxyTwoUserName(fxyTwoUser.getUserName()); + BigDecimal twoRate = fc.getTwoRate(); + BigDecimal twoRecommendRate = fc.getTwoRecommendRate(); + rate = BigDecimal.ZERO; + if (twoRate == null || twoRate.compareTo(BigDecimal.ZERO) == 0) { + rate = twoRecommendRate; + if (twoRecommendRate.compareTo(mostRate) > 0) { + rate = mostRate; + } + } else { + rate = twoRate; + if (twoRate.compareTo(mostRate) > 0) { + rate = mostRate; + } + } + BigDecimal fxyTwoMoney = fxyMoney.multiply(rate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + orders.setFxyTwoMoney(fxyTwoMoney); + BigDecimal fxyTwoArtificerDeductMoney = fxyTwoMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + orders.setFxyTwoArtificerDeductMoney(fxyTwoArtificerDeductMoney); + } + } + } + }else{ + orders.setFxyTwoMoney(BigDecimal.ZERO); + orders.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); + } + } + } + } + }else{ + orders.setFxyOneMoney(BigDecimal.ZERO); + orders.setFxyOneArtificerDeductMoney(BigDecimal.ZERO); + orders.setFxyTwoMoney(BigDecimal.ZERO); + orders.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); + } + artificerPrice = artificerPrice.subtract(orders.getFxyOneArtificerDeductMoney()).subtract(orders.getFxyTwoArtificerDeductMoney()); + + System.out.println(orders.getFxyOneMoney()); + System.out.println(orders.getFxyTwoMoney()); + System.out.println(orders.getFxyOneArtificerDeductMoney()); + System.out.println(orders.getFxyTwoArtificerDeductMoney()); + System.out.println(artificerPrice); } diff --git a/src/main/java/com/sqx/modules/bl/commission/fxy/controller/app/AppFxyController.java b/src/main/java/com/sqx/modules/bl/commission/fxy/controller/app/AppFxyController.java index 261f6fa..febdf39 100644 --- a/src/main/java/com/sqx/modules/bl/commission/fxy/controller/app/AppFxyController.java +++ b/src/main/java/com/sqx/modules/bl/commission/fxy/controller/app/AppFxyController.java @@ -24,10 +24,10 @@ public class AppFxyController { private FxyApplyService service; @Autowired - private FxyDataService dataService; + private FxyConfigService configService; @Autowired - private FxyConfigService configService; + private FxyDataService dataService; @PostMapping("/fxyConfig") @ApiOperation("获取分销员配置") diff --git a/src/main/java/com/sqx/modules/pay/controller/app/AliPayController.java b/src/main/java/com/sqx/modules/pay/controller/app/AliPayController.java index c97538f..3673d7c 100644 --- a/src/main/java/com/sqx/modules/pay/controller/app/AliPayController.java +++ b/src/main/java/com/sqx/modules/pay/controller/app/AliPayController.java @@ -29,7 +29,9 @@ import com.sqx.modules.artificer.dao.UserRechargeDao; import com.sqx.modules.artificer.entity.*; import com.sqx.modules.artificer.service.*; import com.sqx.modules.bl.commission.fxy.entity.FxyApply; +import com.sqx.modules.bl.commission.fxy.entity.FxyConfig; import com.sqx.modules.bl.commission.fxy.service.FxyApplyService; +import com.sqx.modules.bl.commission.fxy.service.FxyConfigService; import com.sqx.modules.bl.massage.entity.MassagePackage; import com.sqx.modules.bl.massage.service.MassagePackageService; import com.sqx.modules.bl.order.dao.UserPackageOrderDao; @@ -153,10 +155,11 @@ public class AliPayController { private BlSadJobService blSadJobService; @Autowired private FxyApplyService fxyApplyService; + @Autowired + private FxyConfigService fxyConfigService; private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - /** * 获取总花费时间 * @param duration 服务时长 @@ -672,20 +675,136 @@ public class AliPayController { } } orders.setShopMoney(shopMoney); - UserEntity user = userService.selectUserById(orders.getUserId()); - UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); - BigDecimal oneUserMoney = BigDecimal.ZERO; - if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { - orders.setOneUserId(oneUser.getUserId()); - orders.setOneUserName(oneUser.getUserName()); - oneUserMoney = artificerPrice.multiply(oneUser.getUserRate()); - oneUserMoney = oneUserMoney.setScale(2, BigDecimal.ROUND_HALF_UP); +// UserEntity user = userService.selectUserById(orders.getUserId()); +// UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); +// BigDecimal oneUserMoney = BigDecimal.ZERO; +// if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { +// orders.setOneUserId(oneUser.getUserId()); +// orders.setOneUserName(oneUser.getUserName()); +// oneUserMoney = artificerPrice.multiply(oneUser.getUserRate()); +// oneUserMoney = oneUserMoney.setScale(2, BigDecimal.ROUND_HALF_UP); +// } +// orders.setOneUserMoney(oneUserMoney); + + //分销商分佣 + FxyConfig fc = fxyConfigService.getOne(new QueryWrapper()); + if(fc.getIsOpen().equals(1)){ + UserEntity user = userService.selectUserById(orders.getUserId()); + UserEntity fxyOneUser = userService.queryByInvitationCode(user.getBlFxyCode()); + FxyApply faOne = fxyApplyService.findByUserId(fxyOneUser.getUserId()); + if(faOne.getStatus().equals(1)){ + if(fxyOneUser!=null && fxyOneUser.getBlIsFxy() !=null && fxyOneUser.getBlIsFxy() ==1){ + boolean isCanFxyFy = false; + if(fc.getFxmLimit().equals(2)){ + int fxmLimitDays = fc.getFxmLimitDays(); + String approveTime = faOne.getApproveTime(); + Date approveDate = DateUtils.stringToDate(approveTime,DateUtils.DATE_TIME_PATTERN); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(approveDate); + calendar.add(Calendar.DAY_OF_MONTH, fxmLimitDays); + approveDate = calendar.getTime(); + Date current = new Date(); + if(approveDate.getTime() > current.getTime()){ + isCanFxyFy = true; + } + }else{ + isCanFxyFy = true; + } + if(isCanFxyFy){ + orders.setFxyOneUserId(fxyOneUser.getUserId()); + orders.setFxyOneUserName(fxyOneUser.getUserName()); + BigDecimal fxyMoney = BigDecimal.ZERO; + if(fc.getType().equals(1)){ + fxyMoney = artificerPrice; + } + if(fc.getType().equals(2)){ + fxyMoney = subtract; + } + BigDecimal artificerRate = fc.getArtificerRate(); + BigDecimal mostRate = fc.getMostRate(); + BigDecimal oneRate = fc.getOneRate(); + BigDecimal oneRecommendRate = fc.getOneRecommendRate(); + BigDecimal fxyRate = BigDecimal.ZERO; + if(oneRate == null || oneRate.compareTo(BigDecimal.ZERO) == 0){ + fxyRate = oneRecommendRate; + if(oneRecommendRate.compareTo(mostRate)> 0){ + fxyRate = mostRate; + } + }else{ + fxyRate = oneRate; + if(oneRate.compareTo(mostRate)> 0){ + fxyRate = mostRate; + } + } + BigDecimal fxyOneMoney = fxyMoney.multiply(fxyRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setFxyOneMoney(fxyOneMoney); + BigDecimal fxyOneArtificerDeductMoney = fxyOneMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setFxyOneArtificerDeductMoney(fxyOneArtificerDeductMoney); + if(fxyOneUser.getBlFxyLevel().equals(1)){ + UserEntity fxyTwoUser = userService.queryByInvitationCode(fxyOneUser.getBlFxyCode()); + FxyApply faTwo = fxyApplyService.findByUserId(fxyTwoUser.getUserId()); + if(faTwo.getStatus().equals(1)){ + if(fxyTwoUser!=null && fxyTwoUser.getBlIsFxy() !=null && fxyTwoUser.getBlIsFxy() ==1){ + isCanFxyFy = false; + if(fc.getFxmLimit().equals(2)){ + int fxmLimitDays = fc.getFxmLimitDays(); + String approveTime = faTwo.getApproveTime(); + Date approveDate = DateUtils.stringToDate(approveTime,DateUtils.DATE_TIME_PATTERN); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(approveDate); + calendar.add(Calendar.DAY_OF_MONTH, fxmLimitDays); + approveDate = calendar.getTime(); + Date current = new Date(); + if(approveDate.getTime() > current.getTime()){ + isCanFxyFy = true; + } + }else{ + isCanFxyFy = true; + } + if(isCanFxyFy) { + orders.setFxyTwoUserId(fxyTwoUser.getUserId()); + orders.setFxyTwoUserName(fxyTwoUser.getUserName()); + BigDecimal twoRate = fc.getTwoRate(); + BigDecimal twoRecommendRate = fc.getTwoRecommendRate(); + fxyRate = BigDecimal.ZERO; + if (twoRate == null || twoRate.compareTo(BigDecimal.ZERO) == 0) { + fxyRate = twoRecommendRate; + if (twoRecommendRate.compareTo(mostRate) > 0) { + fxyRate = mostRate; + } + } else { + fxyRate = twoRate; + if (twoRate.compareTo(mostRate) > 0) { + fxyRate = mostRate; + } + } + BigDecimal fxyTwoMoney = fxyMoney.multiply(fxyRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + orders.setFxyTwoMoney(fxyTwoMoney); + BigDecimal fxyTwoArtificerDeductMoney = fxyTwoMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + orders.setFxyTwoArtificerDeductMoney(fxyTwoArtificerDeductMoney); + } + } + } + }else{ + orders.setFxyTwoMoney(BigDecimal.ZERO); + orders.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); + } + } + } + } + }else{ + orders.setFxyOneMoney(BigDecimal.ZERO); + orders.setFxyOneArtificerDeductMoney(BigDecimal.ZERO); + orders.setFxyTwoMoney(BigDecimal.ZERO); + orders.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); } - orders.setOneUserMoney(oneUserMoney); + // artificerPrice = artificerPrice.subtract(oneArtificerMoney); artificerPrice = artificerPrice.subtract(jjrMoney); artificerPrice = artificerPrice.subtract(shopMoney); - artificerPrice = artificerPrice.subtract(oneUserMoney); +// artificerPrice = artificerPrice.subtract(oneUserMoney); + artificerPrice = artificerPrice.subtract(orders.getFxyOneArtificerDeductMoney());//减掉一级分销商分佣技师承担 + artificerPrice = artificerPrice.subtract(orders.getFxyTwoArtificerDeductMoney());//减掉二级分销商分佣技师承担 if(orders.getIsSupplement()!=null && orders.getIsSupplement().equals(2)){ }else{ //用户收益加上通行费用 @@ -700,7 +819,9 @@ public class AliPayController { pingMoney = pingMoney.subtract(shopMoney); // pingMoney = pingMoney.subtract(oneArtificerMoney); pingMoney = pingMoney.subtract(jjrMoney); - pingMoney = pingMoney.subtract(oneUserMoney); +// pingMoney = pingMoney.subtract(oneUserMoney); + pingMoney = pingMoney.subtract(orders.getFxyOneMoney());//减掉一级分销商分佣 + pingMoney = pingMoney.subtract(orders.getFxyTwoMoney());//减掉二级分销商分佣 orders.setPingMoney(pingMoney); ordersService.updateById(orders); @@ -774,9 +895,17 @@ public class AliPayController { if(orders1.getAddMoney()!=null){ orders1.setAddMoney(orders1.getAddMoney().add(orders.getPayMoney())); orders1.setAddArtificerMoney(orders1.getAddArtificerMoney().add(orders.getArtificerMoney())); + orders1.setAddProjectBenefits(orders1.getProjectBenefits().add(orders.getProjectBenefits())); + orders1.setAddPriceMarkup(orders1.getAddPriceMarkup().add(orders.getPriceMarkup())); + orders1.setAddTechnicianMoney(orders1.getAddTechnicianMoney().add(orders.getTechnicianMoney())); + orders1.setAddVipReductionMoney(orders1.getAddVipReductionMoney().add(orders.getVipReductionMoney())); }else{ orders1.setAddMoney(orders.getPayMoney()); orders1.setAddArtificerMoney(orders.getArtificerMoney()); + orders1.setAddProjectBenefits(orders.getProjectBenefits()); + orders1.setAddPriceMarkup(orders.getPriceMarkup()); + orders1.setAddTechnicianMoney(orders.getTechnicianMoney()); + orders1.setAddVipReductionMoney(orders.getVipReductionMoney()); } orders1.setSumMoney(orders1.getSumMoney().add(orders.getPayMoney())); orders1.setSumArtificerMoney(orders1.getSumArtificerMoney().add(orders.getArtificerMoney())); @@ -784,7 +913,11 @@ public class AliPayController { // orders1.setOneArtificerMoney(orders1.getOneArtificerMoney().add(orders.getOneArtificerMoney())); orders1.setJjrMoney(orders1.getJjrMoney().add(orders.getJjrMoney())); orders1.setShopMoney(orders1.getShopMoney().add(orders.getShopMoney())); - orders1.setOneUserMoney(orders1.getOneUserMoney().add(orders.getOneUserMoney())); +// orders1.setOneUserMoney(orders1.getOneUserMoney().add(orders.getOneUserMoney())); + orders1.setFxyOneMoney(orders1.getFxyOneMoney().add(orders.getFxyOneMoney())); + orders1.setFxyTwoMoney(orders1.getFxyTwoMoney().add(orders.getFxyTwoMoney())); + orders1.setFxyOneArtificerDeductMoney(orders1.getFxyOneArtificerDeductMoney().add(orders.getFxyOneArtificerDeductMoney())); + orders1.setFxyTwoArtificerDeductMoney(orders1.getFxyTwoArtificerDeductMoney().add(orders.getFxyTwoArtificerDeductMoney())); orders1.setPingMoney(orders1.getPingMoney().add(orders.getPingMoney())); if(orders1.getStatus().equals(6)){ @@ -1620,20 +1753,136 @@ public class AliPayController { } } orders.setShopMoney(shopMoney); - UserEntity user = userService.selectUserById(orders.getUserId()); - UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); - BigDecimal oneUserMoney = BigDecimal.ZERO; - if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { - orders.setOneUserId(oneUser.getUserId()); - orders.setOneUserName(oneUser.getUserName()); - oneUserMoney = artificerPrice.multiply(oneUser.getUserRate()); - oneUserMoney = oneUserMoney.setScale(0, BigDecimal.ROUND_HALF_UP); +// UserEntity user = userService.selectUserById(orders.getUserId()); +// UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); +// BigDecimal oneUserMoney = BigDecimal.ZERO; +// if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { +// orders.setOneUserId(oneUser.getUserId()); +// orders.setOneUserName(oneUser.getUserName()); +// oneUserMoney = artificerPrice.multiply(oneUser.getUserRate()); +// oneUserMoney = oneUserMoney.setScale(0, BigDecimal.ROUND_HALF_UP); +// } +// orders.setOneUserMoney(oneUserMoney); + + //分销商分佣 + FxyConfig fc = fxyConfigService.getOne(new QueryWrapper()); + if(fc.getIsOpen().equals(1)){ + UserEntity user = userService.selectUserById(orders.getUserId()); + UserEntity fxyOneUser = userService.queryByInvitationCode(user.getBlFxyCode()); + FxyApply faOne = fxyApplyService.findByUserId(fxyOneUser.getUserId()); + if(faOne.getStatus().equals(1)){ + if(fxyOneUser!=null && fxyOneUser.getBlIsFxy() !=null && fxyOneUser.getBlIsFxy() ==1){ + boolean isCanFxyFy = false; + if(fc.getFxmLimit().equals(2)){ + int fxmLimitDays = fc.getFxmLimitDays(); + String approveTime = faOne.getApproveTime(); + Date approveDate = DateUtils.stringToDate(approveTime,DateUtils.DATE_TIME_PATTERN); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(approveDate); + calendar.add(Calendar.DAY_OF_MONTH, fxmLimitDays); + approveDate = calendar.getTime(); + Date current = new Date(); + if(approveDate.getTime() > current.getTime()){ + isCanFxyFy = true; + } + }else{ + isCanFxyFy = true; + } + if(isCanFxyFy){ + orders.setFxyOneUserId(fxyOneUser.getUserId()); + orders.setFxyOneUserName(fxyOneUser.getUserName()); + BigDecimal fxyMoney = BigDecimal.ZERO; + if(fc.getType().equals(1)){ + fxyMoney = artificerPrice; + } + if(fc.getType().equals(2)){ + fxyMoney = subtract; + } + BigDecimal artificerRate = fc.getArtificerRate(); + BigDecimal mostRate = fc.getMostRate(); + BigDecimal oneRate = fc.getOneRate(); + BigDecimal oneRecommendRate = fc.getOneRecommendRate(); + BigDecimal fxyRate = BigDecimal.ZERO; + if(oneRate == null || oneRate.compareTo(BigDecimal.ZERO) == 0){ + fxyRate = oneRecommendRate; + if(oneRecommendRate.compareTo(mostRate)> 0){ + fxyRate = mostRate; + } + }else{ + fxyRate = oneRate; + if(oneRate.compareTo(mostRate)> 0){ + fxyRate = mostRate; + } + } + BigDecimal fxyOneMoney = fxyMoney.multiply(fxyRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setFxyOneMoney(fxyOneMoney); + BigDecimal fxyOneArtificerDeductMoney = fxyOneMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setFxyOneArtificerDeductMoney(fxyOneArtificerDeductMoney); + if(fxyOneUser.getBlFxyLevel().equals(1)){ + UserEntity fxyTwoUser = userService.queryByInvitationCode(fxyOneUser.getBlFxyCode()); + FxyApply faTwo = fxyApplyService.findByUserId(fxyTwoUser.getUserId()); + if(faTwo.getStatus().equals(1)){ + if(fxyTwoUser!=null && fxyTwoUser.getBlIsFxy() !=null && fxyTwoUser.getBlIsFxy() ==1){ + isCanFxyFy = false; + if(fc.getFxmLimit().equals(2)){ + int fxmLimitDays = fc.getFxmLimitDays(); + String approveTime = faTwo.getApproveTime(); + Date approveDate = DateUtils.stringToDate(approveTime,DateUtils.DATE_TIME_PATTERN); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(approveDate); + calendar.add(Calendar.DAY_OF_MONTH, fxmLimitDays); + approveDate = calendar.getTime(); + Date current = new Date(); + if(approveDate.getTime() > current.getTime()){ + isCanFxyFy = true; + } + }else{ + isCanFxyFy = true; + } + if(isCanFxyFy) { + orders.setFxyTwoUserId(fxyTwoUser.getUserId()); + orders.setFxyTwoUserName(fxyTwoUser.getUserName()); + BigDecimal twoRate = fc.getTwoRate(); + BigDecimal twoRecommendRate = fc.getTwoRecommendRate(); + fxyRate = BigDecimal.ZERO; + if (twoRate == null || twoRate.compareTo(BigDecimal.ZERO) == 0) { + fxyRate = twoRecommendRate; + if (twoRecommendRate.compareTo(mostRate) > 0) { + fxyRate = mostRate; + } + } else { + fxyRate = twoRate; + if (twoRate.compareTo(mostRate) > 0) { + fxyRate = mostRate; + } + } + BigDecimal fxyTwoMoney = fxyMoney.multiply(fxyRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + orders.setFxyTwoMoney(fxyTwoMoney); + BigDecimal fxyTwoArtificerDeductMoney = fxyTwoMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + orders.setFxyTwoArtificerDeductMoney(fxyTwoArtificerDeductMoney); + } + } + } + }else{ + orders.setFxyTwoMoney(BigDecimal.ZERO); + orders.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); + } + } + } + } + }else{ + orders.setFxyOneMoney(BigDecimal.ZERO); + orders.setFxyOneArtificerDeductMoney(BigDecimal.ZERO); + orders.setFxyTwoMoney(BigDecimal.ZERO); + orders.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); } - orders.setOneUserMoney(oneUserMoney); + // artificerPrice = artificerPrice.subtract(oneArtificerMoney); artificerPrice = artificerPrice.subtract(jjrMoney); artificerPrice = artificerPrice.subtract(shopMoney); - artificerPrice = artificerPrice.subtract(oneUserMoney); +// artificerPrice = artificerPrice.subtract(oneUserMoney); + artificerPrice = artificerPrice.subtract(orders.getFxyOneArtificerDeductMoney());//减掉一级分销商分佣技师承担 + artificerPrice = artificerPrice.subtract(orders.getFxyTwoArtificerDeductMoney());//减掉二级分销商分佣技师承担 if(orders.getIsSupplement()!=null && orders.getIsSupplement().equals(2)){ }else{ //用户收益加上通行费用 @@ -1648,7 +1897,9 @@ public class AliPayController { pingMoney = pingMoney.subtract(shopMoney); // pingMoney = pingMoney.subtract(oneArtificerMoney); pingMoney = pingMoney.subtract(jjrMoney); - pingMoney = pingMoney.subtract(oneUserMoney); +// pingMoney = pingMoney.subtract(oneUserMoney); + pingMoney = pingMoney.subtract(orders.getFxyOneMoney());//减掉一级分销商分佣 + pingMoney = pingMoney.subtract(orders.getFxyTwoMoney());//减掉二级分销商分佣 orders.setPingMoney(pingMoney); ordersService.updateById(orders); @@ -1680,9 +1931,17 @@ public class AliPayController { if(orders1.getAddMoney()!=null){ orders1.setAddMoney(orders1.getAddMoney().add(orders.getPayMoney())); orders1.setAddArtificerMoney(orders1.getAddArtificerMoney().add(orders.getArtificerMoney())); + orders1.setAddProjectBenefits(orders1.getProjectBenefits().add(orders.getProjectBenefits())); + orders1.setAddPriceMarkup(orders1.getAddPriceMarkup().add(orders.getPriceMarkup())); + orders1.setAddTechnicianMoney(orders1.getAddTechnicianMoney().add(orders.getTechnicianMoney())); + orders1.setAddVipReductionMoney(orders1.getAddVipReductionMoney().add(orders.getVipReductionMoney())); }else{ orders1.setAddMoney(orders.getPayMoney()); orders1.setAddArtificerMoney(orders.getArtificerMoney()); + orders1.setAddProjectBenefits(orders.getProjectBenefits()); + orders1.setAddPriceMarkup(orders.getPriceMarkup()); + orders1.setAddTechnicianMoney(orders.getTechnicianMoney()); + orders1.setAddVipReductionMoney(orders.getVipReductionMoney()); } orders1.setSumMoney(orders1.getSumMoney().add(orders.getPayMoney())); orders1.setSumArtificerMoney(orders1.getSumArtificerMoney().add(orders.getArtificerMoney())); @@ -1690,7 +1949,11 @@ public class AliPayController { // orders1.setOneArtificerMoney(orders1.getOneArtificerMoney().add(orders.getOneArtificerMoney())); orders1.setJjrMoney(orders1.getJjrMoney().add(orders.getJjrMoney())); orders1.setShopMoney(orders1.getShopMoney().add(orders.getShopMoney())); - orders1.setOneUserMoney(orders1.getOneUserMoney().add(orders.getOneUserMoney())); +// orders1.setOneUserMoney(orders1.getOneUserMoney().add(orders.getOneUserMoney())); + orders1.setFxyOneMoney(orders1.getFxyOneMoney().add(orders.getFxyOneMoney())); + orders1.setFxyTwoMoney(orders1.getFxyTwoMoney().add(orders.getFxyTwoMoney())); + orders1.setFxyOneArtificerDeductMoney(orders1.getFxyOneArtificerDeductMoney().add(orders.getFxyOneArtificerDeductMoney())); + orders1.setFxyTwoArtificerDeductMoney(orders1.getFxyTwoArtificerDeductMoney().add(orders.getFxyTwoArtificerDeductMoney())); orders1.setPingMoney(orders1.getPingMoney().add(orders.getPingMoney())); if(orders1.getStatus().equals(6)){ @@ -2055,20 +2318,136 @@ public class AliPayController { } } orders.setShopMoney(shopMoney); - UserEntity user = userService.selectUserById(orders.getUserId()); - UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); - BigDecimal oneUserMoney = BigDecimal.ZERO; - if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { - orders.setOneUserId(oneUser.getUserId()); - orders.setOneUserName(oneUser.getUserName()); - oneUserMoney = artificerPrice.multiply(oneUser.getUserRate()); - oneUserMoney = oneUserMoney.setScale(2, BigDecimal.ROUND_HALF_UP); +// UserEntity user = userService.selectUserById(orders.getUserId()); +// UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); +// BigDecimal oneUserMoney = BigDecimal.ZERO; +// if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { +// orders.setOneUserId(oneUser.getUserId()); +// orders.setOneUserName(oneUser.getUserName()); +// oneUserMoney = artificerPrice.multiply(oneUser.getUserRate()); +// oneUserMoney = oneUserMoney.setScale(2, BigDecimal.ROUND_HALF_UP); +// } +// orders.setOneUserMoney(oneUserMoney); + + //分销商分佣 + FxyConfig fc = fxyConfigService.getOne(new QueryWrapper()); + if(fc.getIsOpen().equals(1)){ + UserEntity user = userService.selectUserById(orders.getUserId()); + UserEntity fxyOneUser = userService.queryByInvitationCode(user.getBlFxyCode()); + FxyApply faOne = fxyApplyService.findByUserId(fxyOneUser.getUserId()); + if(faOne.getStatus().equals(1)){ + if(fxyOneUser!=null && fxyOneUser.getBlIsFxy() !=null && fxyOneUser.getBlIsFxy() ==1){ + boolean isCanFxyFy = false; + if(fc.getFxmLimit().equals(2)){ + int fxmLimitDays = fc.getFxmLimitDays(); + String approveTime = faOne.getApproveTime(); + Date approveDate = DateUtils.stringToDate(approveTime,DateUtils.DATE_TIME_PATTERN); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(approveDate); + calendar.add(Calendar.DAY_OF_MONTH, fxmLimitDays); + approveDate = calendar.getTime(); + Date current = new Date(); + if(approveDate.getTime() > current.getTime()){ + isCanFxyFy = true; + } + }else{ + isCanFxyFy = true; + } + if(isCanFxyFy){ + orders.setFxyOneUserId(fxyOneUser.getUserId()); + orders.setFxyOneUserName(fxyOneUser.getUserName()); + BigDecimal fxyMoney = BigDecimal.ZERO; + if(fc.getType().equals(1)){ + fxyMoney = artificerPrice; + } + if(fc.getType().equals(2)){ + fxyMoney = subtract; + } + BigDecimal artificerRate = fc.getArtificerRate(); + BigDecimal mostRate = fc.getMostRate(); + BigDecimal oneRate = fc.getOneRate(); + BigDecimal oneRecommendRate = fc.getOneRecommendRate(); + BigDecimal fxyRate = BigDecimal.ZERO; + if(oneRate == null || oneRate.compareTo(BigDecimal.ZERO) == 0){ + fxyRate = oneRecommendRate; + if(oneRecommendRate.compareTo(mostRate)> 0){ + fxyRate = mostRate; + } + }else{ + fxyRate = oneRate; + if(oneRate.compareTo(mostRate)> 0){ + fxyRate = mostRate; + } + } + BigDecimal fxyOneMoney = fxyMoney.multiply(fxyRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setFxyOneMoney(fxyOneMoney); + BigDecimal fxyOneArtificerDeductMoney = fxyOneMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setFxyOneArtificerDeductMoney(fxyOneArtificerDeductMoney); + if(fxyOneUser.getBlFxyLevel().equals(1)){ + UserEntity fxyTwoUser = userService.queryByInvitationCode(fxyOneUser.getBlFxyCode()); + FxyApply faTwo = fxyApplyService.findByUserId(fxyTwoUser.getUserId()); + if(faTwo.getStatus().equals(1)){ + if(fxyTwoUser!=null && fxyTwoUser.getBlIsFxy() !=null && fxyTwoUser.getBlIsFxy() ==1){ + isCanFxyFy = false; + if(fc.getFxmLimit().equals(2)){ + int fxmLimitDays = fc.getFxmLimitDays(); + String approveTime = faTwo.getApproveTime(); + Date approveDate = DateUtils.stringToDate(approveTime,DateUtils.DATE_TIME_PATTERN); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(approveDate); + calendar.add(Calendar.DAY_OF_MONTH, fxmLimitDays); + approveDate = calendar.getTime(); + Date current = new Date(); + if(approveDate.getTime() > current.getTime()){ + isCanFxyFy = true; + } + }else{ + isCanFxyFy = true; + } + if(isCanFxyFy) { + orders.setFxyTwoUserId(fxyTwoUser.getUserId()); + orders.setFxyTwoUserName(fxyTwoUser.getUserName()); + BigDecimal twoRate = fc.getTwoRate(); + BigDecimal twoRecommendRate = fc.getTwoRecommendRate(); + fxyRate = BigDecimal.ZERO; + if (twoRate == null || twoRate.compareTo(BigDecimal.ZERO) == 0) { + fxyRate = twoRecommendRate; + if (twoRecommendRate.compareTo(mostRate) > 0) { + fxyRate = mostRate; + } + } else { + fxyRate = twoRate; + if (twoRate.compareTo(mostRate) > 0) { + fxyRate = mostRate; + } + } + BigDecimal fxyTwoMoney = fxyMoney.multiply(fxyRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + orders.setFxyTwoMoney(fxyTwoMoney); + BigDecimal fxyTwoArtificerDeductMoney = fxyTwoMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + orders.setFxyTwoArtificerDeductMoney(fxyTwoArtificerDeductMoney); + } + } + } + }else{ + orders.setFxyTwoMoney(BigDecimal.ZERO); + orders.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); + } + } + } + } + }else{ + orders.setFxyOneMoney(BigDecimal.ZERO); + orders.setFxyOneArtificerDeductMoney(BigDecimal.ZERO); + orders.setFxyTwoMoney(BigDecimal.ZERO); + orders.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); } - orders.setOneUserMoney(oneUserMoney); + // artificerPrice = artificerPrice.subtract(oneArtificerMoney); artificerPrice = artificerPrice.subtract(jjrMoney); artificerPrice = artificerPrice.subtract(shopMoney); - artificerPrice = artificerPrice.subtract(oneUserMoney); +// artificerPrice = artificerPrice.subtract(oneUserMoney); + artificerPrice = artificerPrice.subtract(orders.getFxyOneArtificerDeductMoney());//减掉一级分销商分佣技师承担 + artificerPrice = artificerPrice.subtract(orders.getFxyTwoArtificerDeductMoney());//减掉二级分销商分佣技师承担 if(orders.getIsSupplement()!=null && orders.getIsSupplement().equals(2)){ }else{ //用户收益加上通行费用 @@ -2083,7 +2462,9 @@ public class AliPayController { pingMoney = pingMoney.subtract(shopMoney); // pingMoney = pingMoney.subtract(oneArtificerMoney); pingMoney = pingMoney.subtract(jjrMoney); - pingMoney = pingMoney.subtract(oneUserMoney); +// pingMoney = pingMoney.subtract(oneUserMoney); + pingMoney = pingMoney.subtract(orders.getFxyOneMoney());//减掉一级分销商分佣 + pingMoney = pingMoney.subtract(orders.getFxyTwoMoney());//减掉二级分销商分佣 orders.setPingMoney(pingMoney); ordersService.updateById(orders); @@ -2157,9 +2538,17 @@ public class AliPayController { if(orders1.getAddMoney()!=null){ orders1.setAddMoney(orders1.getAddMoney().add(orders.getPayMoney())); orders1.setAddArtificerMoney(orders1.getAddArtificerMoney().add(orders.getArtificerMoney())); + orders1.setAddProjectBenefits(orders1.getProjectBenefits().add(orders.getProjectBenefits())); + orders1.setAddPriceMarkup(orders1.getAddPriceMarkup().add(orders.getPriceMarkup())); + orders1.setAddTechnicianMoney(orders1.getAddTechnicianMoney().add(orders.getTechnicianMoney())); + orders1.setAddVipReductionMoney(orders1.getAddVipReductionMoney().add(orders.getVipReductionMoney())); }else{ orders1.setAddMoney(orders.getPayMoney()); orders1.setAddArtificerMoney(orders.getArtificerMoney()); + orders1.setAddProjectBenefits(orders.getProjectBenefits()); + orders1.setAddPriceMarkup(orders.getPriceMarkup()); + orders1.setAddTechnicianMoney(orders.getTechnicianMoney()); + orders1.setAddVipReductionMoney(orders.getVipReductionMoney()); } orders1.setSumMoney(orders1.getSumMoney().add(orders.getPayMoney())); orders1.setSumArtificerMoney(orders1.getSumArtificerMoney().add(orders.getArtificerMoney())); @@ -2167,7 +2556,11 @@ public class AliPayController { // orders1.setOneArtificerMoney(orders1.getOneArtificerMoney().add(orders.getOneArtificerMoney())); orders1.setJjrMoney(orders1.getJjrMoney().add(orders.getJjrMoney())); orders1.setShopMoney(orders1.getShopMoney().add(orders.getShopMoney())); - orders1.setOneUserMoney(orders1.getOneUserMoney().add(orders.getOneUserMoney())); +// orders1.setOneUserMoney(orders1.getOneUserMoney().add(orders.getOneUserMoney())); + orders1.setFxyOneMoney(orders1.getFxyOneMoney().add(orders.getFxyOneMoney())); + orders1.setFxyTwoMoney(orders1.getFxyTwoMoney().add(orders.getFxyTwoMoney())); + orders1.setFxyOneArtificerDeductMoney(orders1.getFxyOneArtificerDeductMoney().add(orders.getFxyOneArtificerDeductMoney())); + orders1.setFxyTwoArtificerDeductMoney(orders1.getFxyTwoArtificerDeductMoney().add(orders.getFxyTwoArtificerDeductMoney())); orders1.setPingMoney(orders1.getPingMoney().add(orders.getPingMoney())); if(orders1.getStatus().equals(6)){ diff --git a/src/main/java/com/sqx/modules/pay/service/impl/WxServiceImpl.java b/src/main/java/com/sqx/modules/pay/service/impl/WxServiceImpl.java index 4d479b9..6a301e2 100644 --- a/src/main/java/com/sqx/modules/pay/service/impl/WxServiceImpl.java +++ b/src/main/java/com/sqx/modules/pay/service/impl/WxServiceImpl.java @@ -19,7 +19,9 @@ import com.sqx.modules.artificer.dao.UserRechargeDao; import com.sqx.modules.artificer.entity.*; import com.sqx.modules.artificer.service.*; import com.sqx.modules.bl.commission.fxy.entity.FxyApply; +import com.sqx.modules.bl.commission.fxy.entity.FxyConfig; import com.sqx.modules.bl.commission.fxy.service.FxyApplyService; +import com.sqx.modules.bl.commission.fxy.service.FxyConfigService; import com.sqx.modules.bl.massage.entity.MassagePackage; import com.sqx.modules.bl.massage.service.MassagePackageService; import com.sqx.modules.bl.order.dao.UserPackageOrderDao; @@ -145,6 +147,8 @@ public class WxServiceImpl implements WxService { private BlSadJobService blSadJobService; @Autowired private FxyApplyService fxyApplyService; + @Autowired + private FxyConfigService fxyConfigService; private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -915,20 +919,136 @@ public class WxServiceImpl implements WxService { } } orders.setShopMoney(shopMoney); - UserEntity user = userService.selectUserById(orders.getUserId()); - UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); - BigDecimal oneUserMoney = BigDecimal.ZERO; - if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { - orders.setOneUserId(oneUser.getUserId()); - orders.setOneUserName(oneUser.getUserName()); - oneUserMoney = artificerPrice.multiply(oneUser.getUserRate()); - oneUserMoney = oneUserMoney.setScale(2, BigDecimal.ROUND_HALF_UP); +// UserEntity user = userService.selectUserById(orders.getUserId()); +// UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); +// BigDecimal oneUserMoney = BigDecimal.ZERO; +// if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { +// orders.setOneUserId(oneUser.getUserId()); +// orders.setOneUserName(oneUser.getUserName()); +// oneUserMoney = artificerPrice.multiply(oneUser.getUserRate()); +// oneUserMoney = oneUserMoney.setScale(2, BigDecimal.ROUND_HALF_UP); +// } +// orders.setOneUserMoney(oneUserMoney); + + //分销商分佣 + FxyConfig fc = fxyConfigService.getOne(new QueryWrapper()); + if(fc.getIsOpen().equals(1)){ + UserEntity user = userService.selectUserById(orders.getUserId()); + UserEntity fxyOneUser = userService.queryByInvitationCode(user.getBlFxyCode()); + FxyApply faOne = fxyApplyService.findByUserId(fxyOneUser.getUserId()); + if(faOne.getStatus().equals(1)){ + if(fxyOneUser!=null && fxyOneUser.getBlIsFxy() !=null && fxyOneUser.getBlIsFxy() ==1){ + boolean isCanFxyFy = false; + if(fc.getFxmLimit().equals(2)){ + int fxmLimitDays = fc.getFxmLimitDays(); + String approveTime = faOne.getApproveTime(); + Date approveDate = DateUtils.stringToDate(approveTime,DateUtils.DATE_TIME_PATTERN); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(approveDate); + calendar.add(Calendar.DAY_OF_MONTH, fxmLimitDays); + approveDate = calendar.getTime(); + Date current = new Date(); + if(approveDate.getTime() > current.getTime()){ + isCanFxyFy = true; + } + }else{ + isCanFxyFy = true; + } + if(isCanFxyFy){ + orders.setFxyOneUserId(fxyOneUser.getUserId()); + orders.setFxyOneUserName(fxyOneUser.getUserName()); + BigDecimal fxyMoney = BigDecimal.ZERO; + if(fc.getType().equals(1)){ + fxyMoney = artificerPrice; + } + if(fc.getType().equals(2)){ + fxyMoney = subtract; + } + BigDecimal artificerRate = fc.getArtificerRate(); + BigDecimal mostRate = fc.getMostRate(); + BigDecimal oneRate = fc.getOneRate(); + BigDecimal oneRecommendRate = fc.getOneRecommendRate(); + BigDecimal fxyRate = BigDecimal.ZERO; + if(oneRate == null || oneRate.compareTo(BigDecimal.ZERO) == 0){ + fxyRate = oneRecommendRate; + if(oneRecommendRate.compareTo(mostRate)> 0){ + fxyRate = mostRate; + } + }else{ + fxyRate = oneRate; + if(oneRate.compareTo(mostRate)> 0){ + fxyRate = mostRate; + } + } + BigDecimal fxyOneMoney = fxyMoney.multiply(fxyRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setFxyOneMoney(fxyOneMoney); + BigDecimal fxyOneArtificerDeductMoney = fxyOneMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setFxyOneArtificerDeductMoney(fxyOneArtificerDeductMoney); + if(fxyOneUser.getBlFxyLevel().equals(1)){ + UserEntity fxyTwoUser = userService.queryByInvitationCode(fxyOneUser.getBlFxyCode()); + FxyApply faTwo = fxyApplyService.findByUserId(fxyTwoUser.getUserId()); + if(faTwo.getStatus().equals(1)){ + if(fxyTwoUser!=null && fxyTwoUser.getBlIsFxy() !=null && fxyTwoUser.getBlIsFxy() ==1){ + isCanFxyFy = false; + if(fc.getFxmLimit().equals(2)){ + int fxmLimitDays = fc.getFxmLimitDays(); + String approveTime = faTwo.getApproveTime(); + Date approveDate = DateUtils.stringToDate(approveTime,DateUtils.DATE_TIME_PATTERN); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(approveDate); + calendar.add(Calendar.DAY_OF_MONTH, fxmLimitDays); + approveDate = calendar.getTime(); + Date current = new Date(); + if(approveDate.getTime() > current.getTime()){ + isCanFxyFy = true; + } + }else{ + isCanFxyFy = true; + } + if(isCanFxyFy) { + orders.setFxyTwoUserId(fxyTwoUser.getUserId()); + orders.setFxyTwoUserName(fxyTwoUser.getUserName()); + BigDecimal twoRate = fc.getTwoRate(); + BigDecimal twoRecommendRate = fc.getTwoRecommendRate(); + fxyRate = BigDecimal.ZERO; + if (twoRate == null || twoRate.compareTo(BigDecimal.ZERO) == 0) { + fxyRate = twoRecommendRate; + if (twoRecommendRate.compareTo(mostRate) > 0) { + fxyRate = mostRate; + } + } else { + fxyRate = twoRate; + if (twoRate.compareTo(mostRate) > 0) { + fxyRate = mostRate; + } + } + BigDecimal fxyTwoMoney = fxyMoney.multiply(fxyRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + orders.setFxyTwoMoney(fxyTwoMoney); + BigDecimal fxyTwoArtificerDeductMoney = fxyTwoMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + orders.setFxyTwoArtificerDeductMoney(fxyTwoArtificerDeductMoney); + } + } + } + }else{ + orders.setFxyTwoMoney(BigDecimal.ZERO); + orders.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); + } + } + } + } + }else{ + orders.setFxyOneMoney(BigDecimal.ZERO); + orders.setFxyOneArtificerDeductMoney(BigDecimal.ZERO); + orders.setFxyTwoMoney(BigDecimal.ZERO); + orders.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); } - orders.setOneUserMoney(oneUserMoney); + // artificerPrice = artificerPrice.subtract(oneArtificerMoney); artificerPrice = artificerPrice.subtract(jjrMoney); artificerPrice = artificerPrice.subtract(shopMoney); - artificerPrice = artificerPrice.subtract(oneUserMoney); +// artificerPrice = artificerPrice.subtract(oneUserMoney); + artificerPrice = artificerPrice.subtract(orders.getFxyOneArtificerDeductMoney());//减掉一级分销商分佣技师承担 + artificerPrice = artificerPrice.subtract(orders.getFxyTwoArtificerDeductMoney());//减掉二级分销商分佣技师承担 if(orders.getIsSupplement()!=null && orders.getIsSupplement().equals(2)){ }else{ //用户收益加上通行费用 @@ -943,7 +1063,9 @@ public class WxServiceImpl implements WxService { pingMoney = pingMoney.subtract(shopMoney); // pingMoney = pingMoney.subtract(oneArtificerMoney); pingMoney = pingMoney.subtract(jjrMoney); - pingMoney = pingMoney.subtract(oneUserMoney); +// pingMoney = pingMoney.subtract(oneUserMoney); + pingMoney = pingMoney.subtract(orders.getFxyOneMoney());//减掉一级分销商分佣 + pingMoney = pingMoney.subtract(orders.getFxyTwoMoney());//减掉二级分销商分佣 orders.setPingMoney(pingMoney); ordersService.updateById(orders); @@ -975,9 +1097,17 @@ public class WxServiceImpl implements WxService { if(orders1.getAddMoney()!=null){ orders1.setAddMoney(orders1.getAddMoney().add(orders.getPayMoney())); orders1.setAddArtificerMoney(orders1.getAddArtificerMoney().add(orders.getArtificerMoney())); + orders1.setAddProjectBenefits(orders1.getProjectBenefits().add(orders.getProjectBenefits())); + orders1.setAddPriceMarkup(orders1.getAddPriceMarkup().add(orders.getPriceMarkup())); + orders1.setAddTechnicianMoney(orders1.getAddTechnicianMoney().add(orders.getTechnicianMoney())); + orders1.setAddVipReductionMoney(orders1.getAddVipReductionMoney().add(orders.getVipReductionMoney())); }else{ orders1.setAddMoney(orders.getPayMoney()); orders1.setAddArtificerMoney(orders.getArtificerMoney()); + orders1.setAddProjectBenefits(orders.getProjectBenefits()); + orders1.setAddPriceMarkup(orders.getPriceMarkup()); + orders1.setAddTechnicianMoney(orders.getTechnicianMoney()); + orders1.setAddVipReductionMoney(orders.getVipReductionMoney()); } orders1.setSumMoney(orders1.getSumMoney().add(orders.getPayMoney())); orders1.setSumArtificerMoney(orders1.getSumArtificerMoney().add(orders.getArtificerMoney())); @@ -985,7 +1115,11 @@ public class WxServiceImpl implements WxService { // orders1.setOneArtificerMoney(orders1.getOneArtificerMoney().add(orders.getOneArtificerMoney())); orders1.setJjrMoney(orders1.getJjrMoney().add(orders.getJjrMoney())); orders1.setShopMoney(orders1.getShopMoney().add(orders.getShopMoney())); - orders1.setOneUserMoney(orders1.getOneUserMoney().add(orders.getOneUserMoney())); +// orders1.setOneUserMoney(orders1.getOneUserMoney().add(orders.getOneUserMoney())); + orders1.setFxyOneMoney(orders1.getFxyOneMoney().add(orders.getFxyOneMoney())); + orders1.setFxyTwoMoney(orders1.getFxyTwoMoney().add(orders.getFxyTwoMoney())); + orders1.setFxyOneArtificerDeductMoney(orders1.getFxyOneArtificerDeductMoney().add(orders.getFxyOneArtificerDeductMoney())); + orders1.setFxyTwoArtificerDeductMoney(orders1.getFxyTwoArtificerDeductMoney().add(orders.getFxyTwoArtificerDeductMoney())); orders1.setPingMoney(orders1.getPingMoney().add(orders.getPingMoney())); if(orders1.getStatus().equals(6)){ @@ -1551,20 +1685,136 @@ public class WxServiceImpl implements WxService { } } orders.setShopMoney(shopMoney); - UserEntity user = userService.selectUserById(orders.getUserId()); - UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); - BigDecimal oneUserMoney = BigDecimal.ZERO; - if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { - orders.setOneUserId(oneUser.getUserId()); - orders.setOneUserName(oneUser.getUserName()); - oneUserMoney = artificerPrice.multiply(oneUser.getUserRate()); - oneUserMoney = oneUserMoney.setScale(0, BigDecimal.ROUND_HALF_UP); +// UserEntity user = userService.selectUserById(orders.getUserId()); +// UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); +// BigDecimal oneUserMoney = BigDecimal.ZERO; +// if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { +// orders.setOneUserId(oneUser.getUserId()); +// orders.setOneUserName(oneUser.getUserName()); +// oneUserMoney = artificerPrice.multiply(oneUser.getUserRate()); +// oneUserMoney = oneUserMoney.setScale(0, BigDecimal.ROUND_HALF_UP); +// } +// orders.setOneUserMoney(oneUserMoney); + + //分销商分佣 + FxyConfig fc = fxyConfigService.getOne(new QueryWrapper()); + if(fc.getIsOpen().equals(1)){ + UserEntity user = userService.selectUserById(orders.getUserId()); + UserEntity fxyOneUser = userService.queryByInvitationCode(user.getBlFxyCode()); + FxyApply faOne = fxyApplyService.findByUserId(fxyOneUser.getUserId()); + if(faOne.getStatus().equals(1)){ + if(fxyOneUser!=null && fxyOneUser.getBlIsFxy() !=null && fxyOneUser.getBlIsFxy() ==1){ + boolean isCanFxyFy = false; + if(fc.getFxmLimit().equals(2)){ + int fxmLimitDays = fc.getFxmLimitDays(); + String approveTime = faOne.getApproveTime(); + Date approveDate = DateUtils.stringToDate(approveTime,DateUtils.DATE_TIME_PATTERN); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(approveDate); + calendar.add(Calendar.DAY_OF_MONTH, fxmLimitDays); + approveDate = calendar.getTime(); + Date current = new Date(); + if(approveDate.getTime() > current.getTime()){ + isCanFxyFy = true; + } + }else{ + isCanFxyFy = true; + } + if(isCanFxyFy){ + orders.setFxyOneUserId(fxyOneUser.getUserId()); + orders.setFxyOneUserName(fxyOneUser.getUserName()); + BigDecimal fxyMoney = BigDecimal.ZERO; + if(fc.getType().equals(1)){ + fxyMoney = artificerPrice; + } + if(fc.getType().equals(2)){ + fxyMoney = subtract; + } + BigDecimal artificerRate = fc.getArtificerRate(); + BigDecimal mostRate = fc.getMostRate(); + BigDecimal oneRate = fc.getOneRate(); + BigDecimal oneRecommendRate = fc.getOneRecommendRate(); + BigDecimal fxyRate = BigDecimal.ZERO; + if(oneRate == null || oneRate.compareTo(BigDecimal.ZERO) == 0){ + fxyRate = oneRecommendRate; + if(oneRecommendRate.compareTo(mostRate)> 0){ + fxyRate = mostRate; + } + }else{ + fxyRate = oneRate; + if(oneRate.compareTo(mostRate)> 0){ + fxyRate = mostRate; + } + } + BigDecimal fxyOneMoney = fxyMoney.multiply(fxyRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setFxyOneMoney(fxyOneMoney); + BigDecimal fxyOneArtificerDeductMoney = fxyOneMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setFxyOneArtificerDeductMoney(fxyOneArtificerDeductMoney); + if(fxyOneUser.getBlFxyLevel().equals(1)){ + UserEntity fxyTwoUser = userService.queryByInvitationCode(fxyOneUser.getBlFxyCode()); + FxyApply faTwo = fxyApplyService.findByUserId(fxyTwoUser.getUserId()); + if(faTwo.getStatus().equals(1)){ + if(fxyTwoUser!=null && fxyTwoUser.getBlIsFxy() !=null && fxyTwoUser.getBlIsFxy() ==1){ + isCanFxyFy = false; + if(fc.getFxmLimit().equals(2)){ + int fxmLimitDays = fc.getFxmLimitDays(); + String approveTime = faTwo.getApproveTime(); + Date approveDate = DateUtils.stringToDate(approveTime,DateUtils.DATE_TIME_PATTERN); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(approveDate); + calendar.add(Calendar.DAY_OF_MONTH, fxmLimitDays); + approveDate = calendar.getTime(); + Date current = new Date(); + if(approveDate.getTime() > current.getTime()){ + isCanFxyFy = true; + } + }else{ + isCanFxyFy = true; + } + if(isCanFxyFy) { + orders.setFxyTwoUserId(fxyTwoUser.getUserId()); + orders.setFxyTwoUserName(fxyTwoUser.getUserName()); + BigDecimal twoRate = fc.getTwoRate(); + BigDecimal twoRecommendRate = fc.getTwoRecommendRate(); + fxyRate = BigDecimal.ZERO; + if (twoRate == null || twoRate.compareTo(BigDecimal.ZERO) == 0) { + fxyRate = twoRecommendRate; + if (twoRecommendRate.compareTo(mostRate) > 0) { + fxyRate = mostRate; + } + } else { + fxyRate = twoRate; + if (twoRate.compareTo(mostRate) > 0) { + fxyRate = mostRate; + } + } + BigDecimal fxyTwoMoney = fxyMoney.multiply(fxyRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + orders.setFxyTwoMoney(fxyTwoMoney); + BigDecimal fxyTwoArtificerDeductMoney = fxyTwoMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + orders.setFxyTwoArtificerDeductMoney(fxyTwoArtificerDeductMoney); + } + } + } + }else{ + orders.setFxyTwoMoney(BigDecimal.ZERO); + orders.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); + } + } + } + } + }else{ + orders.setFxyOneMoney(BigDecimal.ZERO); + orders.setFxyOneArtificerDeductMoney(BigDecimal.ZERO); + orders.setFxyTwoMoney(BigDecimal.ZERO); + orders.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); } - orders.setOneUserMoney(oneUserMoney); + // artificerPrice = artificerPrice.subtract(oneArtificerMoney); artificerPrice = artificerPrice.subtract(jjrMoney); artificerPrice = artificerPrice.subtract(shopMoney); - artificerPrice = artificerPrice.subtract(oneUserMoney); +// artificerPrice = artificerPrice.subtract(oneUserMoney); + artificerPrice = artificerPrice.subtract(orders.getFxyOneArtificerDeductMoney());//减掉一级分销商分佣技师承担 + artificerPrice = artificerPrice.subtract(orders.getFxyTwoArtificerDeductMoney());//减掉二级分销商分佣技师承担 if(orders.getIsSupplement()!=null && orders.getIsSupplement().equals(2)){ }else{ //用户收益加上通行费用 @@ -1579,7 +1829,9 @@ public class WxServiceImpl implements WxService { pingMoney = pingMoney.subtract(shopMoney); // pingMoney = pingMoney.subtract(oneArtificerMoney); pingMoney = pingMoney.subtract(jjrMoney); - pingMoney = pingMoney.subtract(oneUserMoney); +// pingMoney = pingMoney.subtract(oneUserMoney); + pingMoney = pingMoney.subtract(orders.getFxyOneMoney());//减掉一级分销商分佣 + pingMoney = pingMoney.subtract(orders.getFxyTwoMoney());//减掉二级分销商分佣 orders.setPingMoney(pingMoney); ordersService.updateById(orders); @@ -1647,9 +1899,17 @@ public class WxServiceImpl implements WxService { if(orders1.getAddMoney()!=null){ orders1.setAddMoney(orders1.getAddMoney().add(orders.getPayMoney())); orders1.setAddArtificerMoney(orders1.getAddArtificerMoney().add(orders.getArtificerMoney())); + orders1.setAddProjectBenefits(orders1.getProjectBenefits().add(orders.getProjectBenefits())); + orders1.setAddPriceMarkup(orders1.getAddPriceMarkup().add(orders.getPriceMarkup())); + orders1.setAddTechnicianMoney(orders1.getAddTechnicianMoney().add(orders.getTechnicianMoney())); + orders1.setAddVipReductionMoney(orders1.getAddVipReductionMoney().add(orders.getVipReductionMoney())); }else{ orders1.setAddMoney(orders.getPayMoney()); orders1.setAddArtificerMoney(orders.getArtificerMoney()); + orders1.setAddProjectBenefits(orders.getProjectBenefits()); + orders1.setAddPriceMarkup(orders.getPriceMarkup()); + orders1.setAddTechnicianMoney(orders.getTechnicianMoney()); + orders1.setAddVipReductionMoney(orders.getVipReductionMoney()); } orders1.setSumMoney(orders1.getSumMoney().add(orders.getPayMoney())); orders1.setSumArtificerMoney(orders1.getSumArtificerMoney().add(orders.getArtificerMoney())); @@ -1657,7 +1917,11 @@ public class WxServiceImpl implements WxService { // orders1.setOneArtificerMoney(orders1.getOneArtificerMoney().add(orders.getOneArtificerMoney())); orders1.setJjrMoney(orders1.getJjrMoney().add(orders.getJjrMoney())); orders1.setShopMoney(orders1.getShopMoney().add(orders.getShopMoney())); - orders1.setOneUserMoney(orders1.getOneUserMoney().add(orders.getOneUserMoney())); +// orders1.setOneUserMoney(orders1.getOneUserMoney().add(orders.getOneUserMoney())); + orders1.setFxyOneMoney(orders1.getFxyOneMoney().add(orders.getFxyOneMoney())); + orders1.setFxyTwoMoney(orders1.getFxyTwoMoney().add(orders.getFxyTwoMoney())); + orders1.setFxyOneArtificerDeductMoney(orders1.getFxyOneArtificerDeductMoney().add(orders.getFxyOneArtificerDeductMoney())); + orders1.setFxyTwoArtificerDeductMoney(orders1.getFxyTwoArtificerDeductMoney().add(orders.getFxyTwoArtificerDeductMoney())); orders1.setPingMoney(orders1.getPingMoney().add(orders.getPingMoney())); if(orders1.getStatus().equals(6)){ @@ -2406,20 +2670,136 @@ public class WxServiceImpl implements WxService { } } orders.setShopMoney(shopMoney); - UserEntity user = userService.selectUserById(orders.getUserId()); - UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); - BigDecimal oneUserMoney = BigDecimal.ZERO; - if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { - orders.setOneUserId(oneUser.getUserId()); - orders.setOneUserName(oneUser.getUserName()); - oneUserMoney = artificerPrice.multiply(oneUser.getUserRate()); - oneUserMoney = oneUserMoney.setScale(0, BigDecimal.ROUND_HALF_UP); +// UserEntity user = userService.selectUserById(orders.getUserId()); +// UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); +// BigDecimal oneUserMoney = BigDecimal.ZERO; +// if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { +// orders.setOneUserId(oneUser.getUserId()); +// orders.setOneUserName(oneUser.getUserName()); +// oneUserMoney = artificerPrice.multiply(oneUser.getUserRate()); +// oneUserMoney = oneUserMoney.setScale(0, BigDecimal.ROUND_HALF_UP); +// } +// orders.setOneUserMoney(oneUserMoney); + + //分销商分佣 + FxyConfig fc = fxyConfigService.getOne(new QueryWrapper()); + if(fc.getIsOpen().equals(1)){ + UserEntity user = userService.selectUserById(orders.getUserId()); + UserEntity fxyOneUser = userService.queryByInvitationCode(user.getBlFxyCode()); + FxyApply faOne = fxyApplyService.findByUserId(fxyOneUser.getUserId()); + if(faOne.getStatus().equals(1)){ + if(fxyOneUser!=null && fxyOneUser.getBlIsFxy() !=null && fxyOneUser.getBlIsFxy() ==1){ + boolean isCanFxyFy = false; + if(fc.getFxmLimit().equals(2)){ + int fxmLimitDays = fc.getFxmLimitDays(); + String approveTime = faOne.getApproveTime(); + Date approveDate = DateUtils.stringToDate(approveTime,DateUtils.DATE_TIME_PATTERN); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(approveDate); + calendar.add(Calendar.DAY_OF_MONTH, fxmLimitDays); + approveDate = calendar.getTime(); + Date current = new Date(); + if(approveDate.getTime() > current.getTime()){ + isCanFxyFy = true; + } + }else{ + isCanFxyFy = true; + } + if(isCanFxyFy){ + orders.setFxyOneUserId(fxyOneUser.getUserId()); + orders.setFxyOneUserName(fxyOneUser.getUserName()); + BigDecimal fxyMoney = BigDecimal.ZERO; + if(fc.getType().equals(1)){ + fxyMoney = artificerPrice; + } + if(fc.getType().equals(2)){ + fxyMoney = subtract; + } + BigDecimal artificerRate = fc.getArtificerRate(); + BigDecimal mostRate = fc.getMostRate(); + BigDecimal oneRate = fc.getOneRate(); + BigDecimal oneRecommendRate = fc.getOneRecommendRate(); + BigDecimal fxyRate = BigDecimal.ZERO; + if(oneRate == null || oneRate.compareTo(BigDecimal.ZERO) == 0){ + fxyRate = oneRecommendRate; + if(oneRecommendRate.compareTo(mostRate)> 0){ + fxyRate = mostRate; + } + }else{ + fxyRate = oneRate; + if(oneRate.compareTo(mostRate)> 0){ + fxyRate = mostRate; + } + } + BigDecimal fxyOneMoney = fxyMoney.multiply(fxyRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setFxyOneMoney(fxyOneMoney); + BigDecimal fxyOneArtificerDeductMoney = fxyOneMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setFxyOneArtificerDeductMoney(fxyOneArtificerDeductMoney); + if(fxyOneUser.getBlFxyLevel().equals(1)){ + UserEntity fxyTwoUser = userService.queryByInvitationCode(fxyOneUser.getBlFxyCode()); + FxyApply faTwo = fxyApplyService.findByUserId(fxyTwoUser.getUserId()); + if(faTwo.getStatus().equals(1)){ + if(fxyTwoUser!=null && fxyTwoUser.getBlIsFxy() !=null && fxyTwoUser.getBlIsFxy() ==1){ + isCanFxyFy = false; + if(fc.getFxmLimit().equals(2)){ + int fxmLimitDays = fc.getFxmLimitDays(); + String approveTime = faTwo.getApproveTime(); + Date approveDate = DateUtils.stringToDate(approveTime,DateUtils.DATE_TIME_PATTERN); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(approveDate); + calendar.add(Calendar.DAY_OF_MONTH, fxmLimitDays); + approveDate = calendar.getTime(); + Date current = new Date(); + if(approveDate.getTime() > current.getTime()){ + isCanFxyFy = true; + } + }else{ + isCanFxyFy = true; + } + if(isCanFxyFy) { + orders.setFxyTwoUserId(fxyTwoUser.getUserId()); + orders.setFxyTwoUserName(fxyTwoUser.getUserName()); + BigDecimal twoRate = fc.getTwoRate(); + BigDecimal twoRecommendRate = fc.getTwoRecommendRate(); + fxyRate = BigDecimal.ZERO; + if (twoRate == null || twoRate.compareTo(BigDecimal.ZERO) == 0) { + fxyRate = twoRecommendRate; + if (twoRecommendRate.compareTo(mostRate) > 0) { + fxyRate = mostRate; + } + } else { + fxyRate = twoRate; + if (twoRate.compareTo(mostRate) > 0) { + fxyRate = mostRate; + } + } + BigDecimal fxyTwoMoney = fxyMoney.multiply(fxyRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + orders.setFxyTwoMoney(fxyTwoMoney); + BigDecimal fxyTwoArtificerDeductMoney = fxyTwoMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + orders.setFxyTwoArtificerDeductMoney(fxyTwoArtificerDeductMoney); + } + } + } + }else{ + orders.setFxyTwoMoney(BigDecimal.ZERO); + orders.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); + } + } + } + } + }else{ + orders.setFxyOneMoney(BigDecimal.ZERO); + orders.setFxyOneArtificerDeductMoney(BigDecimal.ZERO); + orders.setFxyTwoMoney(BigDecimal.ZERO); + orders.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); } - orders.setOneUserMoney(oneUserMoney); + // artificerPrice = artificerPrice.subtract(oneArtificerMoney); artificerPrice = artificerPrice.subtract(jjrMoney); artificerPrice = artificerPrice.subtract(shopMoney); - artificerPrice = artificerPrice.subtract(oneUserMoney); +// artificerPrice = artificerPrice.subtract(oneUserMoney); + artificerPrice = artificerPrice.subtract(orders.getFxyOneArtificerDeductMoney());//减掉一级分销商分佣技师承担 + artificerPrice = artificerPrice.subtract(orders.getFxyTwoArtificerDeductMoney());//减掉二级分销商分佣技师承担 if(orders.getIsSupplement()!=null && orders.getIsSupplement().equals(2)){ }else{ //用户收益加上通行费用 @@ -2434,7 +2814,9 @@ public class WxServiceImpl implements WxService { pingMoney = pingMoney.subtract(shopMoney); // pingMoney = pingMoney.subtract(oneArtificerMoney); pingMoney = pingMoney.subtract(jjrMoney); - pingMoney = pingMoney.subtract(oneUserMoney); +// pingMoney = pingMoney.subtract(oneUserMoney); + pingMoney = pingMoney.subtract(orders.getFxyOneMoney());//减掉一级分销商分佣 + pingMoney = pingMoney.subtract(orders.getFxyTwoMoney());//减掉二级分销商分佣 orders.setPingMoney(pingMoney); ordersService.updateById(orders); @@ -2502,9 +2884,17 @@ public class WxServiceImpl implements WxService { if(orders1.getAddMoney()!=null){ orders1.setAddMoney(orders1.getAddMoney().add(orders.getPayMoney())); orders1.setAddArtificerMoney(orders1.getAddArtificerMoney().add(orders.getArtificerMoney())); + orders1.setAddProjectBenefits(orders1.getProjectBenefits().add(orders.getProjectBenefits())); + orders1.setAddPriceMarkup(orders1.getAddPriceMarkup().add(orders.getPriceMarkup())); + orders1.setAddTechnicianMoney(orders1.getAddTechnicianMoney().add(orders.getTechnicianMoney())); + orders1.setAddVipReductionMoney(orders1.getAddVipReductionMoney().add(orders.getVipReductionMoney())); }else{ orders1.setAddMoney(orders.getPayMoney()); orders1.setAddArtificerMoney(orders.getArtificerMoney()); + orders1.setAddProjectBenefits(orders.getProjectBenefits()); + orders1.setAddPriceMarkup(orders.getPriceMarkup()); + orders1.setAddTechnicianMoney(orders.getTechnicianMoney()); + orders1.setAddVipReductionMoney(orders.getVipReductionMoney()); } orders1.setSumMoney(orders1.getSumMoney().add(orders.getPayMoney())); orders1.setSumArtificerMoney(orders1.getSumArtificerMoney().add(orders.getArtificerMoney())); @@ -2512,7 +2902,11 @@ public class WxServiceImpl implements WxService { // orders1.setOneArtificerMoney(orders1.getOneArtificerMoney().add(orders.getOneArtificerMoney())); orders1.setJjrMoney(orders1.getJjrMoney().add(orders.getJjrMoney())); orders1.setShopMoney(orders1.getShopMoney().add(orders.getShopMoney())); - orders1.setOneUserMoney(orders1.getOneUserMoney().add(orders.getOneUserMoney())); +// orders1.setOneUserMoney(orders1.getOneUserMoney().add(orders.getOneUserMoney())); + orders1.setFxyOneMoney(orders1.getFxyOneMoney().add(orders.getFxyOneMoney())); + orders1.setFxyTwoMoney(orders1.getFxyTwoMoney().add(orders.getFxyTwoMoney())); + orders1.setFxyOneArtificerDeductMoney(orders1.getFxyOneArtificerDeductMoney().add(orders.getFxyOneArtificerDeductMoney())); + orders1.setFxyTwoArtificerDeductMoney(orders1.getFxyTwoArtificerDeductMoney().add(orders.getFxyTwoArtificerDeductMoney())); orders1.setPingMoney(orders1.getPingMoney().add(orders.getPingMoney())); if(orders1.getStatus().equals(6)){ From 39a708b6b2582d8daa4ab7b069e6c8cbbfc9b657 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com> Date: Wed, 7 Aug 2024 23:01:02 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E7=BB=8F=E7=BA=AA=E4=BA=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/JjrConfigLevelController.java | 49 +++++++++++++++++ .../commission/jjr/dao/JjrConfigLevelDao.java | 13 +++++ .../commission/jjr/entity/JjrConfigLevel.java | 53 +++++++++++++++++++ .../jjr/service/JjrConfigLevelService.java | 11 ++++ .../impl/JjrConfigLevelServiceImpl.java | 32 +++++++++++ .../bl/commission/jjr/JjrConfigLevelDao.xml | 25 +++++++++ 6 files changed, 183 insertions(+) create mode 100644 src/main/java/com/sqx/modules/bl/commission/jjr/controller/JjrConfigLevelController.java create mode 100644 src/main/java/com/sqx/modules/bl/commission/jjr/dao/JjrConfigLevelDao.java create mode 100644 src/main/java/com/sqx/modules/bl/commission/jjr/entity/JjrConfigLevel.java create mode 100644 src/main/java/com/sqx/modules/bl/commission/jjr/service/JjrConfigLevelService.java create mode 100644 src/main/java/com/sqx/modules/bl/commission/jjr/service/impl/JjrConfigLevelServiceImpl.java create mode 100644 src/main/resources/mapper/bl/commission/jjr/JjrConfigLevelDao.xml diff --git a/src/main/java/com/sqx/modules/bl/commission/jjr/controller/JjrConfigLevelController.java b/src/main/java/com/sqx/modules/bl/commission/jjr/controller/JjrConfigLevelController.java new file mode 100644 index 0000000..be896aa --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/commission/jjr/controller/JjrConfigLevelController.java @@ -0,0 +1,49 @@ +package com.sqx.modules.bl.commission.jjr.controller; + +import com.sqx.common.utils.Result; +import com.sqx.modules.bl.commission.jjr.entity.JjrConfigLevel; +import com.sqx.modules.bl.commission.jjr.service.JjrConfigLevelService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/commission/jjrConfigLevel") +@Api(value = "分佣管理", tags = {"经纪人配置等级"}) +public class JjrConfigLevelController { + + @Autowired + private JjrConfigLevelService service; + + @GetMapping("/findList") + @ApiOperation("查询列表") + public Result findList(JjrConfigLevel jjrConfigLevel){ + return service.findList(jjrConfigLevel); + } + + @PostMapping("/add") + @ApiOperation("添加") + public Result add(JjrConfigLevel jjrConfigLevel){ + service.add(jjrConfigLevel); + return Result.success(); + } + + @PostMapping("/update") + @ApiOperation("修改") + public Result update(JjrConfigLevel jjrConfigLevel){ + service.update(jjrConfigLevel); + return Result.success(); + } + + @PostMapping("/delete") + @ApiOperation("删除") + public Result delete(JjrConfigLevel jjrConfigLevel){ + service.removeById(jjrConfigLevel.getId()); + return Result.success(); + } + +} diff --git a/src/main/java/com/sqx/modules/bl/commission/jjr/dao/JjrConfigLevelDao.java b/src/main/java/com/sqx/modules/bl/commission/jjr/dao/JjrConfigLevelDao.java new file mode 100644 index 0000000..147c64f --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/commission/jjr/dao/JjrConfigLevelDao.java @@ -0,0 +1,13 @@ +package com.sqx.modules.bl.commission.jjr.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.sqx.modules.bl.commission.jjr.entity.JjrConfigLevel; +import org.apache.ibatis.annotations.Mapper; +import java.util.List; + +@Mapper +public interface JjrConfigLevelDao extends BaseMapper { + List findList(JjrConfigLevel jjrConfigLevel); + int add(JjrConfigLevel jjrConfigLevel); + int update(JjrConfigLevel jjrConfigLevel); +} \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/bl/commission/jjr/entity/JjrConfigLevel.java b/src/main/java/com/sqx/modules/bl/commission/jjr/entity/JjrConfigLevel.java new file mode 100644 index 0000000..9147779 --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/commission/jjr/entity/JjrConfigLevel.java @@ -0,0 +1,53 @@ +package com.sqx.modules.bl.commission.jjr.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * @description bl_jjr_config_level + * 经纪人配置等级表 + * @author caolei + * @date 2024-08-07 + */ +@Data +@TableName("bl_jjr_config_level") +public class JjrConfigLevel implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(type = IdType.AUTO) + /** + * ID + */ + private Long id; + /** + *经纪人等级 + */ + private String level; + /** + *邀请技师人数 + */ + private String peopleNumber; + /** + *经纪人返佣比例 + */ + private BigDecimal rate; + /** + *创建时间 + */ + private String createTime; + + @TableField(exist = false) + private Integer page; + + @TableField(exist = false) + private Integer limit; + + public JjrConfigLevel() {} +} diff --git a/src/main/java/com/sqx/modules/bl/commission/jjr/service/JjrConfigLevelService.java b/src/main/java/com/sqx/modules/bl/commission/jjr/service/JjrConfigLevelService.java new file mode 100644 index 0000000..1364543 --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/commission/jjr/service/JjrConfigLevelService.java @@ -0,0 +1,11 @@ +package com.sqx.modules.bl.commission.jjr.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.sqx.common.utils.Result; +import com.sqx.modules.bl.commission.jjr.entity.JjrConfigLevel; + +public interface JjrConfigLevelService extends IService { + Result findList(JjrConfigLevel jjrConfigLevel); + int add(JjrConfigLevel jjrConfigLevel); + int update(JjrConfigLevel jjrConfigLevel); +} \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/bl/commission/jjr/service/impl/JjrConfigLevelServiceImpl.java b/src/main/java/com/sqx/modules/bl/commission/jjr/service/impl/JjrConfigLevelServiceImpl.java new file mode 100644 index 0000000..1fb08df --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/commission/jjr/service/impl/JjrConfigLevelServiceImpl.java @@ -0,0 +1,32 @@ +package com.sqx.modules.bl.commission.jjr.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.sqx.common.utils.Result; +import com.sqx.modules.bl.commission.jjr.dao.JjrConfigLevelDao; +import com.sqx.modules.bl.commission.jjr.entity.JjrConfigLevel; +import com.sqx.modules.bl.commission.jjr.service.JjrConfigLevelService; +import org.springframework.stereotype.Service; +import java.text.SimpleDateFormat; +import java.util.Date; + +@Service +public class JjrConfigLevelServiceImpl extends ServiceImpl implements JjrConfigLevelService { + + @Override + public Result findList(JjrConfigLevel jjrConfigLevel){ + return Result.success().put("data",baseMapper.findList(jjrConfigLevel)); + } + + @Override + public int add(JjrConfigLevel jjrConfigLevel){ + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + jjrConfigLevel.setCreateTime(sdf.format(new Date())); + return baseMapper.add(jjrConfigLevel); + } + + @Override + public int update(JjrConfigLevel jjrConfigLevel){ + return baseMapper.update(jjrConfigLevel); + } + +} \ No newline at end of file diff --git a/src/main/resources/mapper/bl/commission/jjr/JjrConfigLevelDao.xml b/src/main/resources/mapper/bl/commission/jjr/JjrConfigLevelDao.xml new file mode 100644 index 0000000..71c1fdf --- /dev/null +++ b/src/main/resources/mapper/bl/commission/jjr/JjrConfigLevelDao.xml @@ -0,0 +1,25 @@ + + + + + + + + + insert into bl_jjr_config_level(level,people_number,rate,create_time) + values(#{level},#{peopleNumber},#{rate},#{createTime}) + + + + update bl_jjr_config_level + set level=#{level}, + people_number=#{peopleNumber}, + rate=#{rate} + where id=#{id} + + + \ No newline at end of file From ba62be63b7cf305c3a23029758d42aae55ff973a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com> Date: Thu, 8 Aug 2024 10:52:18 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E7=BB=8F=E7=BA=AA=E4=BA=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jjr/controller/JjrConfigController.java | 1 - .../controller/JjrConfigLevelController.java | 4 ++- .../bl/commission/jjr/dao/JjrApplyDao.java | 1 - .../commission/jjr/entity/JjrConfigLevel.java | 10 +++++- .../jjr/service/JjrApplyService.java | 1 - .../jjr/service/JjrConfigLevelService.java | 4 ++- .../jjr/service/impl/JjrApplyServiceImpl.java | 32 +++---------------- .../impl/JjrConfigLevelServiceImpl.java | 5 +-- .../mapper/bl/commission/jjr/JjrApplyDao.xml | 6 ---- .../bl/commission/jjr/JjrConfigLevelDao.xml | 9 +++--- 10 files changed, 28 insertions(+), 45 deletions(-) diff --git a/src/main/java/com/sqx/modules/bl/commission/jjr/controller/JjrConfigController.java b/src/main/java/com/sqx/modules/bl/commission/jjr/controller/JjrConfigController.java index 56156a7..35dc3f4 100644 --- a/src/main/java/com/sqx/modules/bl/commission/jjr/controller/JjrConfigController.java +++ b/src/main/java/com/sqx/modules/bl/commission/jjr/controller/JjrConfigController.java @@ -47,7 +47,6 @@ public class JjrConfigController { jjrConfig.setCreateTime(sdf.format(new Date())); service.save(jjrConfig); } - applyService.setJjrRate(null); return Result.success(); } } diff --git a/src/main/java/com/sqx/modules/bl/commission/jjr/controller/JjrConfigLevelController.java b/src/main/java/com/sqx/modules/bl/commission/jjr/controller/JjrConfigLevelController.java index be896aa..032ceec 100644 --- a/src/main/java/com/sqx/modules/bl/commission/jjr/controller/JjrConfigLevelController.java +++ b/src/main/java/com/sqx/modules/bl/commission/jjr/controller/JjrConfigLevelController.java @@ -11,6 +11,8 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + @RestController @RequestMapping("/commission/jjrConfigLevel") @Api(value = "分佣管理", tags = {"经纪人配置等级"}) @@ -22,7 +24,7 @@ public class JjrConfigLevelController { @GetMapping("/findList") @ApiOperation("查询列表") public Result findList(JjrConfigLevel jjrConfigLevel){ - return service.findList(jjrConfigLevel); + return Result.success().put("data",service.findList(jjrConfigLevel)); } @PostMapping("/add") diff --git a/src/main/java/com/sqx/modules/bl/commission/jjr/dao/JjrApplyDao.java b/src/main/java/com/sqx/modules/bl/commission/jjr/dao/JjrApplyDao.java index 6c7ae54..ef02422 100644 --- a/src/main/java/com/sqx/modules/bl/commission/jjr/dao/JjrApplyDao.java +++ b/src/main/java/com/sqx/modules/bl/commission/jjr/dao/JjrApplyDao.java @@ -17,5 +17,4 @@ public interface JjrApplyDao extends BaseMapper { int update(JjrApply jjrApply); int approve(JjrApply jjrApply); IPage findUserPage(Page page, @Param("params") JjrApply jjrApply); - int setRate(JjrApply jjrApply); } \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/bl/commission/jjr/entity/JjrConfigLevel.java b/src/main/java/com/sqx/modules/bl/commission/jjr/entity/JjrConfigLevel.java index 9147779..ef06ee7 100644 --- a/src/main/java/com/sqx/modules/bl/commission/jjr/entity/JjrConfigLevel.java +++ b/src/main/java/com/sqx/modules/bl/commission/jjr/entity/JjrConfigLevel.java @@ -31,7 +31,15 @@ public class JjrConfigLevel implements Serializable { */ private String level; /** - *邀请技师人数 + *最小邀请技师人数 + */ + private Integer minNumber; + /** + *最大邀请技师人数 + */ + private Integer maxNumber; + /** + *请技师人数 */ private String peopleNumber; /** diff --git a/src/main/java/com/sqx/modules/bl/commission/jjr/service/JjrApplyService.java b/src/main/java/com/sqx/modules/bl/commission/jjr/service/JjrApplyService.java index 3c0e989..61c11c8 100644 --- a/src/main/java/com/sqx/modules/bl/commission/jjr/service/JjrApplyService.java +++ b/src/main/java/com/sqx/modules/bl/commission/jjr/service/JjrApplyService.java @@ -10,5 +10,4 @@ public interface JjrApplyService extends IService { int update(JjrApply jjrApply); void approve(JjrApply jjrApply); Result findUserPage(JjrApply jjrApply); - void setJjrRate(JjrApply jjrApply); } \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/bl/commission/jjr/service/JjrConfigLevelService.java b/src/main/java/com/sqx/modules/bl/commission/jjr/service/JjrConfigLevelService.java index 1364543..27cb8b7 100644 --- a/src/main/java/com/sqx/modules/bl/commission/jjr/service/JjrConfigLevelService.java +++ b/src/main/java/com/sqx/modules/bl/commission/jjr/service/JjrConfigLevelService.java @@ -4,8 +4,10 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.sqx.common.utils.Result; import com.sqx.modules.bl.commission.jjr.entity.JjrConfigLevel; +import java.util.List; + public interface JjrConfigLevelService extends IService { - Result findList(JjrConfigLevel jjrConfigLevel); + List findList(JjrConfigLevel jjrConfigLevel); int add(JjrConfigLevel jjrConfigLevel); int update(JjrConfigLevel jjrConfigLevel); } \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/bl/commission/jjr/service/impl/JjrApplyServiceImpl.java b/src/main/java/com/sqx/modules/bl/commission/jjr/service/impl/JjrApplyServiceImpl.java index dd108c0..6f8d83d 100644 --- a/src/main/java/com/sqx/modules/bl/commission/jjr/service/impl/JjrApplyServiceImpl.java +++ b/src/main/java/com/sqx/modules/bl/commission/jjr/service/impl/JjrApplyServiceImpl.java @@ -8,7 +8,9 @@ import com.sqx.common.utils.Result; import com.sqx.modules.bl.commission.jjr.dao.JjrApplyDao; import com.sqx.modules.bl.commission.jjr.entity.JjrApply; import com.sqx.modules.bl.commission.jjr.entity.JjrConfig; +import com.sqx.modules.bl.commission.jjr.entity.JjrConfigLevel; import com.sqx.modules.bl.commission.jjr.service.JjrApplyService; +import com.sqx.modules.bl.commission.jjr.service.JjrConfigLevelService; import com.sqx.modules.bl.commission.jjr.service.JjrConfigService; import com.sqx.modules.sys.entity.SysUserEntity; import org.apache.shiro.SecurityUtils; @@ -25,6 +27,9 @@ public class JjrApplyServiceImpl extends ServiceImpl impl @Autowired private JjrConfigService configService; + @Autowired + private JjrConfigLevelService configLevelService; + @Override public Result findPage(JjrApply jjrApply){ Page pages=new Page<>(jjrApply.getPage(),jjrApply.getLimit()); @@ -50,7 +55,6 @@ public class JjrApplyServiceImpl extends ServiceImpl impl jjrApply.setApproveTime(sdf.format(new Date())); jjrApply.setApproveUser(((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUserId()); baseMapper.approve(jjrApply); - setJjrRate(jjrApply); } @Override @@ -59,30 +63,4 @@ public class JjrApplyServiceImpl extends ServiceImpl impl return Result.success().put("data",new PageUtils(baseMapper.findUserPage(pages,jjrApply))); } - @Override - public void setJjrRate(JjrApply jjrApply){ - JjrConfig jjrConfig = configService.getOne(new QueryWrapper()); - if(jjrConfig != null){ - if(jjrApply == null){ - List list = baseMapper.findList(null); - for(int i=0;i implements JjrConfigLevelService { @Override - public Result findList(JjrConfigLevel jjrConfigLevel){ - return Result.success().put("data",baseMapper.findList(jjrConfigLevel)); + public List findList(JjrConfigLevel jjrConfigLevel){ + return baseMapper.findList(jjrConfigLevel); } @Override diff --git a/src/main/resources/mapper/bl/commission/jjr/JjrApplyDao.xml b/src/main/resources/mapper/bl/commission/jjr/JjrApplyDao.xml index f509452..4ec2ec5 100644 --- a/src/main/resources/mapper/bl/commission/jjr/JjrApplyDao.xml +++ b/src/main/resources/mapper/bl/commission/jjr/JjrApplyDao.xml @@ -79,10 +79,4 @@ order by b.user_id - - update tb_user - set bl_jjr_rate=#{rate} - where user_id=#{userId} - - \ No newline at end of file diff --git a/src/main/resources/mapper/bl/commission/jjr/JjrConfigLevelDao.xml b/src/main/resources/mapper/bl/commission/jjr/JjrConfigLevelDao.xml index 71c1fdf..b4bb561 100644 --- a/src/main/resources/mapper/bl/commission/jjr/JjrConfigLevelDao.xml +++ b/src/main/resources/mapper/bl/commission/jjr/JjrConfigLevelDao.xml @@ -4,20 +4,21 @@ - insert into bl_jjr_config_level(level,people_number,rate,create_time) - values(#{level},#{peopleNumber},#{rate},#{createTime}) + insert into bl_jjr_config_level(level,min_number,max_number,rate,create_time) + values(#{level},#{minNumber},#{maxNumber},#{rate},#{createTime}) update bl_jjr_config_level set level=#{level}, - people_number=#{peopleNumber}, + min_number=#{minNumber}, + max_number=#{maxNumber}, rate=#{rate} where id=#{id} From 93a219bc263bedf7cb3b7fd1dd9034490eeb6501 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com> Date: Thu, 8 Aug 2024 10:54:41 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E7=BB=8F=E7=BA=AA=E4=BA=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bl/commission/jjr/controller/JjrConfigController.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/java/com/sqx/modules/bl/commission/jjr/controller/JjrConfigController.java b/src/main/java/com/sqx/modules/bl/commission/jjr/controller/JjrConfigController.java index 35dc3f4..48b280d 100644 --- a/src/main/java/com/sqx/modules/bl/commission/jjr/controller/JjrConfigController.java +++ b/src/main/java/com/sqx/modules/bl/commission/jjr/controller/JjrConfigController.java @@ -23,8 +23,6 @@ public class JjrConfigController { @Autowired private JjrConfigService service; - @Autowired - private JjrApplyService applyService; @GetMapping("/info") @ApiOperation("查询经纪人配置")