From 5f113d964f3b2b94f9675698ea196f2850804e1c 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 16:05:21 +0800 Subject: [PATCH] =?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 --- .../sqx/modules/app/entity/UserEntity.java | 3 +- .../service/impl/OrdersServiceImpl.java | 715 +++++++++++------- .../bl/commission/jjr/dao/JjrApplyDao.java | 2 + .../jjr/service/JjrApplyService.java | 2 + .../jjr/service/impl/JjrApplyServiceImpl.java | 22 + .../pay/controller/app/AliPayController.java | 194 +++-- .../pay/service/impl/WxServiceImpl.java | 192 +++-- .../mapper/bl/commission/jjr/JjrApplyDao.xml | 14 + 8 files changed, 737 insertions(+), 407 deletions(-) diff --git a/src/main/java/com/sqx/modules/app/entity/UserEntity.java b/src/main/java/com/sqx/modules/app/entity/UserEntity.java index 8d7061b..f4d10f2 100644 --- a/src/main/java/com/sqx/modules/app/entity/UserEntity.java +++ b/src/main/java/com/sqx/modules/app/entity/UserEntity.java @@ -245,8 +245,9 @@ public class UserEntity implements Serializable { @TableField(exist = false) private String loglataddress; + private Integer blIsJjr; + private String blJjrCode; - private BigDecimal blJjrRate; @TableField(exist = false) private String jjrName; 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 28493bb..79f1a59 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 @@ -1,7 +1,5 @@ package com.sqx.modules.artificer.service.impl; -import cn.hutool.core.date.DateTime; -import cn.hutool.core.date.DateUtil; import cn.hutool.core.lang.tree.Tree; import cn.hutool.core.lang.tree.TreeNodeConfig; import cn.hutool.core.lang.tree.TreeUtil; @@ -34,6 +32,12 @@ 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.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.bl.order.entity.UserPackage; import com.sqx.modules.bl.order.entity.UserPackageOrder; import com.sqx.modules.bl.order.service.UserPackageOrderService; @@ -166,6 +170,13 @@ public class OrdersServiceImpl extends ServiceImpl implements private FxyApplyService fxyApplyService; @Autowired private FxyConfigService fxyConfigService; + @Autowired + private JjrApplyService jjrApplyService; + @Autowired + private JjrConfigService jjrConfigService; + @Autowired + private JjrConfigLevelService jjrConfigServiceLevel; + private ReentrantReadWriteLock reentrantReadWriteLock = new ReentrantReadWriteLock(true); @@ -1316,7 +1327,6 @@ public class OrdersServiceImpl extends ServiceImpl implements ordersOld.setProjectBenefits(artificerPrice); } - UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); // UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); // BigDecimal oneArtificerMoney = BigDecimal.ZERO; // if (oneArtificerUser != null && oneArtificerUser.getIsAgency() != null && oneArtificerUser.getIsAgency() == 1) { @@ -1326,15 +1336,42 @@ public class OrdersServiceImpl extends ServiceImpl implements // oneArtificerMoney = oneArtificerMoney.setScale(0, BigDecimal.ROUND_HALF_UP); // } // ordersOld.setOneArtificerMoney(oneArtificerMoney); - UserEntity jjrUser = userService.queryByInvitationCode(artificerUser.getBlJjrCode()); - BigDecimal jjrMoney = BigDecimal.ZERO; - if (jjrUser != null) { - ordersOld.setJjrUserId(jjrUser.getUserId()); - ordersOld.setJjrUserName(jjrUser.getUserName()); - jjrMoney = jjrMoney.multiply(jjrUser.getBlJjrRate()); - jjrMoney = jjrMoney.setScale(2, BigDecimal.ROUND_HALF_UP); + UserEntity user = userService.selectUserById(orders.getUserId()); + JjrConfig jc = jjrConfigService.getOne(new QueryWrapper()); + if(jc.getIsOpen().equals(1)){ + UserEntity jjrUser = userService.queryByInvitationCode(user.getBlJjrCode()); + JjrApply jjrApply = jjrApplyService.findByUserId(jjrUser.getUserId()); + if(jjrApply.getStatus().equals(1)){ + if(jjrUser!=null && jjrUser.getBlIsJjr() !=null && jjrUser.getBlIsJjr() ==1){ + ordersOld.setJjrUserId(jjrUser.getUserId()); + ordersOld.setJjrUserName(jjrUser.getUserName()); + BigDecimal artificerRate = jc.getArtificerRate(); + BigDecimal agentRate = jc.getAgentRate(); + BigDecimal rate = BigDecimal.ZERO; + if(jc.getType().equals(1)){ + rate = jc.getRate(); + }else{ + int invitationCn = jjrApplyService.getInvitationCn(user.getBlJjrCode()); + List list = jjrConfigServiceLevel.findList(null); + for(int i=0;ijjrcl.getMinNumber() && invitationCn<=jjrcl.getMaxNumber()){ + rate = jjrcl.getRate(); + break; + } + } + } + BigDecimal jjrMoney = subtract.multiply(rate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + ordersOld.setJjrMoney(jjrMoney); + BigDecimal jjrOneArtificerDeductMoney = jjrMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + ordersOld.setJjrArtificerDeductMoney(jjrOneArtificerDeductMoney); + } + } + }else{ + ordersOld.setJjrMoney(BigDecimal.ZERO); + ordersOld.setJjrArtificerDeductMoney(BigDecimal.ZERO); } - ordersOld.setJjrMoney(jjrMoney); + UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); BigDecimal shopMoney = BigDecimal.ZERO; if (artificerUser.getConsortiaId() != null) { Consortia consortia = consortiaService.getById(artificerUser.getConsortiaId()); @@ -1364,7 +1401,6 @@ public class OrdersServiceImpl extends ServiceImpl implements //分销商分佣 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)){ @@ -1475,7 +1511,7 @@ public class OrdersServiceImpl extends ServiceImpl implements } // artificerPrice = artificerPrice.subtract(oneArtificerMoney); - artificerPrice = artificerPrice.subtract(jjrMoney); + artificerPrice = artificerPrice.subtract(ordersOld.getJjrArtificerDeductMoney()); artificerPrice = artificerPrice.subtract(shopMoney); // artificerPrice = artificerPrice.subtract(oneUserMoney); artificerPrice = artificerPrice.subtract(ordersOld.getFxyOneArtificerDeductMoney());//减掉一级分销商分佣技师承担 @@ -1486,9 +1522,9 @@ public class OrdersServiceImpl extends ServiceImpl implements //平台扣款 BigDecimal pingMoney = oldOrders.getPayMoney(); pingMoney = pingMoney.subtract(artificerPrice); - pingMoney = pingMoney.subtract(shopMoney); // pingMoney = pingMoney.subtract(oneArtificerMoney); - pingMoney = pingMoney.subtract(jjrMoney); + pingMoney = pingMoney.subtract(ordersOld.getJjrMoney()); + pingMoney = pingMoney.subtract(shopMoney); // pingMoney = pingMoney.subtract(oneUserMoney); pingMoney = pingMoney.subtract(ordersOld.getFxyOneMoney());//减掉一级分销商分佣 pingMoney = pingMoney.subtract(ordersOld.getFxyTwoMoney());//减掉二级分销商分佣 @@ -1931,17 +1967,42 @@ public class OrdersServiceImpl extends ServiceImpl implements //计算技师项目提成金额 orders.setProjectBenefits(artificerPrice); } - - UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); - UserEntity jjrUser = userService.queryByInvitationCode(artificerUser.getBlJjrCode()); - BigDecimal jjrMoney = BigDecimal.ZERO; - if (jjrUser != null) { - orders.setJjrUserId(jjrUser.getUserId()); - orders.setJjrUserName(jjrUser.getUserName()); - jjrMoney = artificerPrice.multiply(jjrUser.getBlJjrRate()); - jjrMoney = jjrMoney.setScale(2, BigDecimal.ROUND_HALF_UP); + UserEntity user = userService.selectUserById(orders.getUserId()); + JjrConfig jc = jjrConfigService.getOne(new QueryWrapper()); + if(jc.getIsOpen().equals(1)){ + UserEntity jjrUser = userService.queryByInvitationCode(user.getBlJjrCode()); + JjrApply jjrApply = jjrApplyService.findByUserId(jjrUser.getUserId()); + if(jjrApply.getStatus().equals(1)){ + if(jjrUser!=null && jjrUser.getBlIsJjr() !=null && jjrUser.getBlIsJjr() ==1){ + orders.setJjrUserId(jjrUser.getUserId()); + orders.setJjrUserName(jjrUser.getUserName()); + BigDecimal artificerRate = jc.getArtificerRate(); + BigDecimal agentRate = jc.getAgentRate(); + BigDecimal rate = BigDecimal.ZERO; + if(jc.getType().equals(1)){ + rate = jc.getRate(); + }else{ + int invitationCn = jjrApplyService.getInvitationCn(user.getBlJjrCode()); + List list = jjrConfigServiceLevel.findList(null); + for(int i=0;ijjrcl.getMinNumber() && invitationCn<=jjrcl.getMaxNumber()){ + rate = jjrcl.getRate(); + break; + } + } + } + BigDecimal jjrMoney = subtract.multiply(rate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setJjrMoney(jjrMoney); + BigDecimal jjrOneArtificerDeductMoney = jjrMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setJjrArtificerDeductMoney(jjrOneArtificerDeductMoney); + } + } + }else{ + orders.setJjrMoney(BigDecimal.ZERO); + orders.setJjrArtificerDeductMoney(BigDecimal.ZERO); } - orders.setJjrMoney(jjrMoney); + UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); BigDecimal shopMoney = BigDecimal.ZERO; if (artificerUser.getConsortiaId() != null) { Consortia consortia = consortiaService.getById(artificerUser.getConsortiaId()); @@ -1971,7 +2032,6 @@ public class OrdersServiceImpl extends ServiceImpl implements //分销商分佣 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)){ @@ -2082,7 +2142,7 @@ public class OrdersServiceImpl extends ServiceImpl implements } // artificerPrice = artificerPrice.subtract(oneArtificerMoney); - artificerPrice = artificerPrice.subtract(jjrMoney); + artificerPrice = artificerPrice.subtract(orders.getJjrArtificerDeductMoney()); artificerPrice = artificerPrice.subtract(shopMoney); // artificerPrice = artificerPrice.subtract(oneUserMoney); artificerPrice = artificerPrice.subtract(orders.getFxyOneArtificerDeductMoney());//减掉一级分销商分佣技师承担 @@ -2093,9 +2153,9 @@ public class OrdersServiceImpl extends ServiceImpl implements //平台扣款 BigDecimal pingMoney = orders.getPayMoney(); pingMoney = pingMoney.subtract(artificerPrice); - pingMoney = pingMoney.subtract(shopMoney); // pingMoney = pingMoney.subtract(oneArtificerMoney); - pingMoney = pingMoney.subtract(jjrMoney); + pingMoney = pingMoney.subtract(orders.getJjrMoney()); + pingMoney = pingMoney.subtract(shopMoney); // pingMoney = pingMoney.subtract(oneUserMoney); pingMoney = pingMoney.subtract(orders.getFxyOneMoney());//减掉一级分销商分佣 pingMoney = pingMoney.subtract(orders.getFxyTwoMoney());//减掉二级分销商分佣 @@ -2262,17 +2322,42 @@ public class OrdersServiceImpl extends ServiceImpl implements //计算技师项目提成金额 ordersOld.setProjectBenefits(oldArtificerPrice); } - - UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); - UserEntity jjrUser = userService.queryByInvitationCode(artificerUser.getBlJjrCode()); - BigDecimal jjrMoney = BigDecimal.ZERO; - if (jjrUser != null) { - orders.setJjrUserId(jjrUser.getUserId()); - orders.setJjrUserName(jjrUser.getUserName()); - jjrMoney = jjrMoney.multiply(jjrUser.getBlJjrRate()); - jjrMoney = jjrMoney.setScale(2, BigDecimal.ROUND_HALF_UP); + UserEntity user = userService.selectUserById(orders.getUserId()); + JjrConfig jc = jjrConfigService.getOne(new QueryWrapper()); + if(jc.getIsOpen().equals(1)){ + UserEntity jjrUser = userService.queryByInvitationCode(user.getBlJjrCode()); + JjrApply jjrApply = jjrApplyService.findByUserId(jjrUser.getUserId()); + if(jjrApply.getStatus().equals(1)){ + if(jjrUser!=null && jjrUser.getBlIsJjr() !=null && jjrUser.getBlIsJjr() ==1){ + ordersOld.setJjrUserId(jjrUser.getUserId()); + ordersOld.setJjrUserName(jjrUser.getUserName()); + BigDecimal artificerRate = jc.getArtificerRate(); + BigDecimal agentRate = jc.getAgentRate(); + BigDecimal rate = BigDecimal.ZERO; + if(jc.getType().equals(1)){ + rate = jc.getRate(); + }else{ + int invitationCn = jjrApplyService.getInvitationCn(user.getBlJjrCode()); + List list = jjrConfigServiceLevel.findList(null); + for(int i=0;ijjrcl.getMinNumber() && invitationCn<=jjrcl.getMaxNumber()){ + rate = jjrcl.getRate(); + break; + } + } + } + BigDecimal jjrMoney = subtract.multiply(rate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + ordersOld.setJjrMoney(jjrMoney); + BigDecimal jjrOneArtificerDeductMoney = jjrMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + ordersOld.setJjrArtificerDeductMoney(jjrOneArtificerDeductMoney); + } + } + }else{ + ordersOld.setJjrMoney(BigDecimal.ZERO); + ordersOld.setJjrArtificerDeductMoney(BigDecimal.ZERO); } - orders.setJjrMoney(jjrMoney); + UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); BigDecimal shopMoney = BigDecimal.ZERO; if (artificerUser.getConsortiaId() != null) { Consortia consortia = consortiaService.getById(artificerUser.getConsortiaId()); @@ -2302,7 +2387,6 @@ public class OrdersServiceImpl extends ServiceImpl implements //分销商分佣 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)){ @@ -2413,7 +2497,7 @@ public class OrdersServiceImpl extends ServiceImpl implements } // oldArtificerPrice = oldArtificerPrice.subtract(oneArtificerMoney); - oldArtificerPrice = oldArtificerPrice.subtract(jjrMoney); + oldArtificerPrice = oldArtificerPrice.subtract(ordersOld.getJjrArtificerDeductMoney()); oldArtificerPrice = oldArtificerPrice.subtract(shopMoney); // oldArtificerPrice = oldArtificerPrice.subtract(oneUserMoney); oldArtificerPrice = oldArtificerPrice.subtract(ordersOld.getFxyOneArtificerDeductMoney());//减掉一级分销商分佣技师承担 @@ -2424,9 +2508,9 @@ public class OrdersServiceImpl extends ServiceImpl implements //平台扣款 BigDecimal pingMoney = oldOrders.getPayMoney(); pingMoney = pingMoney.subtract(oldArtificerPrice); - pingMoney = pingMoney.subtract(shopMoney); // pingMoney = pingMoney.subtract(oneArtificerMoney); - pingMoney = pingMoney.subtract(jjrMoney); + pingMoney = pingMoney.subtract(oldOrders.getJjrMoney()); + pingMoney = pingMoney.subtract(shopMoney); // pingMoney = pingMoney.subtract(oneUserMoney); pingMoney = pingMoney.subtract(oldOrders.getFxyOneMoney());//减掉一级分销商分佣 pingMoney = pingMoney.subtract(oldOrders.getFxyTwoMoney());//减掉二级分销商分佣 @@ -2776,16 +2860,42 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setArtificerTaxiMoney(artificerTaxiMoney); orders.setPingTaxiMoney(pingTaxiMoney); - UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); - UserEntity jjrUser = userService.queryByInvitationCode(artificerUser.getBlJjrCode()); - BigDecimal jjrMoney = BigDecimal.ZERO; - if (jjrUser != null) { - orders.setJjrUserId(jjrUser.getUserId()); - orders.setJjrUserName(jjrUser.getUserName()); - jjrMoney = jjrMoney.multiply(jjrUser.getBlJjrRate()); - jjrMoney = jjrMoney.setScale(2, BigDecimal.ROUND_HALF_UP); + UserEntity user = userService.selectUserById(orders.getUserId()); + JjrConfig jc = jjrConfigService.getOne(new QueryWrapper()); + if(jc.getIsOpen().equals(1)){ + UserEntity jjrUser = userService.queryByInvitationCode(user.getBlJjrCode()); + JjrApply jjrApply = jjrApplyService.findByUserId(jjrUser.getUserId()); + if(jjrApply.getStatus().equals(1)){ + if(jjrUser!=null && jjrUser.getBlIsJjr() !=null && jjrUser.getBlIsJjr() ==1){ + orders.setJjrUserId(jjrUser.getUserId()); + orders.setJjrUserName(jjrUser.getUserName()); + BigDecimal artificerRate = jc.getArtificerRate(); + BigDecimal agentRate = jc.getAgentRate(); + BigDecimal jjrRate = BigDecimal.ZERO; + if(jc.getType().equals(1)){ + jjrRate = jc.getRate(); + }else{ + int invitationCn = jjrApplyService.getInvitationCn(user.getBlJjrCode()); + List list = jjrConfigServiceLevel.findList(null); + for(int i=0;ijjrcl.getMinNumber() && invitationCn<=jjrcl.getMaxNumber()){ + jjrRate = jjrcl.getRate(); + break; + } + } + } + BigDecimal jjrMoney = subtract.multiply(jjrRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setJjrMoney(jjrMoney); + BigDecimal jjrOneArtificerDeductMoney = jjrMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setJjrArtificerDeductMoney(jjrOneArtificerDeductMoney); + } + } + }else{ + orders.setJjrMoney(BigDecimal.ZERO); + orders.setJjrArtificerDeductMoney(BigDecimal.ZERO); } - orders.setJjrMoney(jjrMoney); + UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); BigDecimal shopMoney = BigDecimal.ZERO; if (artificerUser.getConsortiaId() != null) { Consortia consortia = consortiaService.getById(artificerUser.getConsortiaId()); @@ -2815,7 +2925,6 @@ public class OrdersServiceImpl extends ServiceImpl implements //分销商分佣 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)){ @@ -2926,7 +3035,7 @@ public class OrdersServiceImpl extends ServiceImpl implements } // artificerMoney = artificerMoney.subtract(oneArtificerMoney); - artificerMoney = artificerMoney.subtract(jjrMoney); + artificerMoney = artificerMoney.subtract(orders.getJjrArtificerDeductMoney()); artificerMoney = artificerMoney.subtract(shopMoney); // artificerMoney = artificerMoney.subtract(oneUserMoney); artificerMoney = artificerMoney.subtract(orders.getFxyOneArtificerDeductMoney());//减掉一级分销商分佣技师承担 @@ -2939,7 +3048,7 @@ public class OrdersServiceImpl extends ServiceImpl implements //平台扣款 pingMoney = pingMoney.subtract(artificerMoney); // pingMoney = pingMoney.subtract(oneArtificerMoney); - pingMoney = pingMoney.subtract(jjrMoney); + pingMoney = pingMoney.subtract(orders.getJjrMoney()); pingMoney = pingMoney.subtract(shopMoney); // pingMoney = pingMoney.subtract(oneUserMoney); pingMoney = pingMoney.subtract(orders.getFxyOneMoney());//减掉一级分销商分佣 @@ -2962,12 +3071,12 @@ public class OrdersServiceImpl extends ServiceImpl implements BigDecimal fxyArtificerDeductMoney = orders.getFxyOneArtificerDeductMoney().add(orders.getFxyTwoArtificerDeductMoney()); if (orders.getShopUserId() != null) { userMoneyDetails.setContent("用户取消订单,总扣除:" + sumMoney + ",平台扣除:" + orders.getPingMoney() + - ",商家扣除:" + orders.getShopMoney() + ",分销员扣除:" + fxyArtificerDeductMoney + ",经纪人扣除:" + orders.getJjrMoney() + + ",商家扣除:" + orders.getShopMoney() + ",分销员扣除:" + fxyArtificerDeductMoney + ",经纪人扣除:" + orders.getJjrArtificerDeductMoney() + ",车费:" + orders.getTaxiMoney() + ",平台扣除车费:" + orders.getPingTaxiMoney() + ",到账车费:" + orders.getArtificerTaxiMoney() + ",到账总金额:" + orders.getSumArtificerMoney()); } else { userMoneyDetails.setContent("用户取消订单,总扣除:" + sumMoney + ",平台扣除:" + orders.getPingMoney() + - ",分销员扣除:" + fxyArtificerDeductMoney + ",经纪人扣除:" + orders.getJjrMoney() + + ",分销员扣除:" + fxyArtificerDeductMoney + ",经纪人扣除:" + orders.getJjrArtificerDeductMoney() + ",车费:" + orders.getTaxiMoney() + ",平台扣除车费:" + orders.getPingTaxiMoney() + ",到账车费:" + orders.getArtificerTaxiMoney() + ",到账总金额:" + orders.getSumArtificerMoney()); } @@ -2991,7 +3100,7 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setMoney(orders.getFxyOneMoney()); userMoneyDetails.setUserId(orders.getFxyOneUserId()); userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单取消!"); - userMoneyDetails.setContent("一级分销员收益:"+orders.getFxyOneUserName()); + userMoneyDetails.setContent("一级分销员收益:"+orders.getFxyOneMoney()); userMoneyDetails.setType(1); userMoneyDetails.setState(2); userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date())); @@ -3014,7 +3123,7 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setMoney(orders.getFxyTwoMoney()); userMoneyDetails.setUserId(orders.getFxyTwoUserId()); userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单取消!"); - userMoneyDetails.setContent("二级分销员收益:"+orders.getFxyTwoUserName()); + userMoneyDetails.setContent("二级分销员收益:"+orders.getFxyTwoMoney()); userMoneyDetails.setType(1); userMoneyDetails.setState(2); userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date())); @@ -3024,18 +3133,18 @@ public class OrdersServiceImpl extends ServiceImpl implements } } - if (jjrUser != null && orders.getJjrMoney().compareTo(BigDecimal.ZERO)!=0) { + if (orders.getJjrUserId() != null) { if(orders.getJjrMoney().compareTo(BigDecimal.ZERO)>0) { - userMoneyService.updateMoney(1, jjrUser.getUserId(), orders.getJjrMoney().doubleValue()); + userMoneyService.updateMoney(1, orders.getJjrUserId(), orders.getJjrMoney().doubleValue()); userMoneyDetails = new UserMoneyDetails(); //查询用户当前余额 - UserMoney userNowMoney4 = userMoneyService.selectUserMoneyByUserId(jjrUser.getUserId()); + UserMoney userNowMoney4 = userMoneyService.selectUserMoneyByUserId(orders.getJjrUserId()); //插入余额 userMoneyDetails.setBalance(userNowMoney4.getMoney()); //插入操作类型为已操作用户余额 userMoneyDetails.setManipulateType(2); userMoneyDetails.setMoney(orders.getJjrMoney()); - userMoneyDetails.setUserId(jjrUser.getUserId()); + userMoneyDetails.setUserId(orders.getJjrUserId()); userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单取消!"); userMoneyDetails.setContent("经纪人收益:"+orders.getJjrMoney()); userMoneyDetails.setType(1); @@ -3325,15 +3434,24 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setArtificerTaxiMoney(artificerTaxiMoney); orders.setPingTaxiMoney(pingTaxiMoney); - UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); - UserEntity jjrUser = userService.queryByInvitationCode(artificerUser.getBlJjrCode()); - BigDecimal jjrMoney = BigDecimal.ZERO; - if (jjrUser != null) { - orders.setJjrUserId(jjrUser.getUserId()); - orders.setJjrUserName(jjrUser.getUserName()); + UserEntity user = userService.selectUserById(orders.getUserId()); + JjrConfig jc = jjrConfigService.getOne(new QueryWrapper()); + if(jc.getIsOpen().equals(1)){ + UserEntity jjrUser = userService.queryByInvitationCode(user.getBlJjrCode()); + JjrApply jjrApply = jjrApplyService.findByUserId(jjrUser.getUserId()); + if(jjrApply.getStatus().equals(1)){ + if(jjrUser!=null && jjrUser.getBlIsJjr() !=null && jjrUser.getBlIsJjr() ==1){ + orders.setJjrUserId(jjrUser.getUserId()); + orders.setJjrUserName(jjrUser.getUserName()); + orders.setJjrMoney(BigDecimal.ZERO); + orders.setJjrArtificerDeductMoney(BigDecimal.ZERO); + } + } + }else{ + orders.setJjrMoney(BigDecimal.ZERO); + orders.setJjrArtificerDeductMoney(BigDecimal.ZERO); } - - orders.setJjrMoney(jjrMoney); + UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); BigDecimal shopMoney = BigDecimal.ZERO; if (artificerUser.getConsortiaId() != null) { Consortia consortia = consortiaService.getById(artificerUser.getConsortiaId()); @@ -3351,7 +3469,6 @@ public class OrdersServiceImpl extends ServiceImpl implements //分销商分佣 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)){ @@ -3454,12 +3571,12 @@ public class OrdersServiceImpl extends ServiceImpl implements BigDecimal fxyArtificerDeductMoney = orders.getFxyOneArtificerDeductMoney().add(orders.getFxyTwoArtificerDeductMoney()); if (orders.getShopUserId() != null) { userMoneyDetails.setContent("用户取消订单,总扣除:" + sumMoney + ",平台扣除:" + orders.getPingMoney() + - ",商家扣除:" + orders.getShopMoney() + ",分销员扣除:" + fxyArtificerDeductMoney + ",经纪人扣除:" + orders.getJjrMoney() + + ",商家扣除:" + orders.getShopMoney() + ",分销员扣除:" + fxyArtificerDeductMoney + ",经纪人扣除:" + orders.getJjrArtificerDeductMoney() + ",车费:" + orders.getTaxiMoney() + ",平台扣除车费:" + orders.getPingTaxiMoney() + ",到账车费:" + orders.getArtificerTaxiMoney() + ",到账总金额:" + orders.getSumArtificerMoney()); } else { userMoneyDetails.setContent("用户取消订单,总扣除:" + sumMoney + ",平台扣除:" + orders.getPingMoney() + - ",分销员扣除:" + fxyArtificerDeductMoney + ",经纪人扣除:" + orders.getJjrMoney() + + ",分销员扣除:" + fxyArtificerDeductMoney + ",经纪人扣除:" + orders.getJjrArtificerDeductMoney() + ",车费:" + orders.getTaxiMoney() + ",平台扣除车费:" + orders.getPingTaxiMoney() + ",到账车费:" + orders.getArtificerTaxiMoney() + ",到账总金额:" + orders.getSumArtificerMoney()); } @@ -5237,18 +5354,42 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setProjectBenefits(artificerPrice); - //取配置 - UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); - UserEntity jjrUser = userService.queryByInvitationCode(artificerUser.getBlJjrCode()); - BigDecimal jjrMoney = BigDecimal.ZERO; - if (jjrUser != null) { - orders.setJjrUserId(jjrUser.getUserId()); - orders.setJjrUserName(jjrUser.getUserName()); - jjrMoney = artificerPrice.multiply(jjrUser.getBlJjrRate()); - jjrMoney = jjrMoney.setScale(2, BigDecimal.ROUND_HALF_UP); + UserEntity user = userService.selectUserById(orders.getUserId()); + JjrConfig jc = jjrConfigService.getOne(new QueryWrapper()); + if(jc.getIsOpen().equals(1)){ + UserEntity jjrUser = userService.queryByInvitationCode(user.getBlJjrCode()); + JjrApply jjrApply = jjrApplyService.findByUserId(jjrUser.getUserId()); + if(jjrApply.getStatus().equals(1)){ + if(jjrUser!=null && jjrUser.getBlIsJjr() !=null && jjrUser.getBlIsJjr() ==1){ + orders.setJjrUserId(jjrUser.getUserId()); + orders.setJjrUserName(jjrUser.getUserName()); + BigDecimal artificerRate = jc.getArtificerRate(); + BigDecimal agentRate = jc.getAgentRate(); + BigDecimal jjrRate = BigDecimal.ZERO; + if(jc.getType().equals(1)){ + jjrRate = jc.getRate(); + }else{ + int invitationCn = jjrApplyService.getInvitationCn(user.getBlJjrCode()); + List list = jjrConfigServiceLevel.findList(null); + for(int i=0;ijjrcl.getMinNumber() && invitationCn<=jjrcl.getMaxNumber()){ + jjrRate = jjrcl.getRate(); + break; + } + } + } + BigDecimal jjrMoney = subtract.multiply(jjrRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setJjrMoney(jjrMoney); + BigDecimal jjrOneArtificerDeductMoney = jjrMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setJjrArtificerDeductMoney(jjrOneArtificerDeductMoney); + } + } + }else{ + orders.setJjrMoney(BigDecimal.ZERO); + orders.setJjrArtificerDeductMoney(BigDecimal.ZERO); } - orders.setJjrMoney(jjrMoney); - + UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); BigDecimal shopMoney = BigDecimal.ZERO; if (artificerUser.getConsortiaId() != null) { Consortia consortia = consortiaService.getById(artificerUser.getConsortiaId()); @@ -5278,7 +5419,6 @@ public class OrdersServiceImpl extends ServiceImpl implements //分销商分佣 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)){ @@ -5389,7 +5529,7 @@ public class OrdersServiceImpl extends ServiceImpl implements } // artificerPrice = artificerPrice.subtract(oneArtificerMoney); - artificerPrice = artificerPrice.subtract(jjrMoney); + artificerPrice = artificerPrice.subtract(orders.getJjrArtificerDeductMoney()); artificerPrice = artificerPrice.subtract(shopMoney); // artificerPrice = artificerPrice.subtract(oneUserMoney); artificerPrice = artificerPrice.subtract(orders.getFxyOneArtificerDeductMoney());//减掉一级分销商分佣技师承担 @@ -5407,7 +5547,7 @@ public class OrdersServiceImpl extends ServiceImpl implements BigDecimal pingMoney = orders.getPayMoney(); pingMoney = pingMoney.subtract(artificerPrice); // pingMoney = pingMoney.subtract(oneArtificerMoney); - pingMoney = pingMoney.subtract(jjrMoney); + pingMoney = pingMoney.subtract(orders.getJjrMoney()); pingMoney = pingMoney.subtract(shopMoney); // pingMoney = pingMoney.subtract(oneUserMoney); pingMoney = pingMoney.subtract(orders.getFxyOneMoney());//减掉一级分销商分佣 @@ -5750,16 +5890,42 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setValueStorageDeduction(valueStorageDeduction); orders.setProjectBenefits(artificerPrice); - UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); - UserEntity jjrUser = userService.queryByInvitationCode(artificerUser.getBlJjrCode()); - BigDecimal jjrMoney = BigDecimal.ZERO; - if (jjrUser != null) { - orders.setJjrUserId(jjrUser.getUserId()); - orders.setJjrUserName(jjrUser.getUserName()); - jjrMoney = artificerPrice.multiply(jjrUser.getBlJjrRate()); - jjrMoney = jjrMoney.setScale(2, BigDecimal.ROUND_HALF_UP); + UserEntity user = userService.selectUserById(orders.getUserId()); + JjrConfig jc = jjrConfigService.getOne(new QueryWrapper()); + if(jc.getIsOpen().equals(1)){ + UserEntity jjrUser = userService.queryByInvitationCode(user.getBlJjrCode()); + JjrApply jjrApply = jjrApplyService.findByUserId(jjrUser.getUserId()); + if(jjrApply.getStatus().equals(1)){ + if(jjrUser!=null && jjrUser.getBlIsJjr() !=null && jjrUser.getBlIsJjr() ==1){ + orders.setJjrUserId(jjrUser.getUserId()); + orders.setJjrUserName(jjrUser.getUserName()); + BigDecimal artificerRate = jc.getArtificerRate(); + BigDecimal agentRate = jc.getAgentRate(); + BigDecimal jjrRate = BigDecimal.ZERO; + if(jc.getType().equals(1)){ + jjrRate = jc.getRate(); + }else{ + int invitationCn = jjrApplyService.getInvitationCn(user.getBlJjrCode()); + List list = jjrConfigServiceLevel.findList(null); + for(int i=0;ijjrcl.getMinNumber() && invitationCn<=jjrcl.getMaxNumber()){ + jjrRate = jjrcl.getRate(); + break; + } + } + } + BigDecimal jjrMoney = subtract.multiply(jjrRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setJjrMoney(jjrMoney); + BigDecimal jjrOneArtificerDeductMoney = jjrMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setJjrArtificerDeductMoney(jjrOneArtificerDeductMoney); + } + } + }else{ + orders.setJjrMoney(BigDecimal.ZERO); + orders.setJjrArtificerDeductMoney(BigDecimal.ZERO); } - orders.setJjrMoney(jjrMoney); + UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); BigDecimal shopMoney = BigDecimal.ZERO; if (artificerUser.getConsortiaId() != null) { Consortia consortia = consortiaService.getById(artificerUser.getConsortiaId()); @@ -5789,7 +5955,6 @@ public class OrdersServiceImpl extends ServiceImpl implements //分销商分佣 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)){ @@ -5900,13 +6065,12 @@ public class OrdersServiceImpl extends ServiceImpl implements } // artificerPrice = artificerPrice.subtract(oneArtificerMoney); - artificerPrice = artificerPrice.subtract(jjrMoney); + artificerPrice = artificerPrice.subtract(orders.getJjrArtificerDeductMoney()); artificerPrice = artificerPrice.subtract(shopMoney); // artificerPrice = artificerPrice.subtract(oneUserMoney); artificerPrice = artificerPrice.subtract(orders.getFxyOneArtificerDeductMoney());//减掉一级分销商分佣技师承担 artificerPrice = artificerPrice.subtract(orders.getFxyTwoArtificerDeductMoney());//减掉二级分销商分佣技师承担 - if(orders.getIsSupplement()!=null && orders.getIsSupplement().equals(2)){ }else{ //用户收益加上通行费用 @@ -5918,9 +6082,9 @@ public class OrdersServiceImpl extends ServiceImpl implements //平台扣款 BigDecimal pingMoney = orders.getPayMoney(); pingMoney = pingMoney.subtract(artificerPrice); - pingMoney = pingMoney.subtract(shopMoney); // pingMoney = pingMoney.subtract(oneArtificerMoney); - pingMoney = pingMoney.subtract(jjrMoney); + pingMoney = pingMoney.subtract(orders.getJjrMoney()); + pingMoney = pingMoney.subtract(shopMoney); // pingMoney = pingMoney.subtract(oneUserMoney); pingMoney = pingMoney.subtract(orders.getFxyOneMoney());//减掉一级分销商分佣 pingMoney = pingMoney.subtract(orders.getFxyTwoMoney());//减掉二级分销商分佣 @@ -6288,14 +6452,15 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setMoney(orders.getSumArtificerMoney()); userMoneyDetails.setUserId(userEntity.getUserId()); userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单完成!"); + BigDecimal fxyArtificerDeductMoney = orders.getFxyOneArtificerDeductMoney().add(orders.getFxyTwoArtificerDeductMoney()); if (orders.getShopUserId() != null) { userMoneyDetails.setContent("支付金额:" + orders.getSumMoney() + ",平台扣除:" + orders.getPingMoney() + - ",商家扣除:" + orders.getShopMoney() + ",分销员扣除:" + orders.getOneUserMoney() + ",经纪人扣除:" + orders.getJjrMoney() + + ",商家扣除:" + orders.getShopMoney() + ",分销员扣除:" + fxyArtificerDeductMoney + ",经纪人扣除:" + orders.getJjrArtificerDeductMoney() + ",打车费:" + orders.getTaxiMoney() + ",平台扣除打车费:" + orders.getPingTaxiMoney() + ",到账打车费:" + orders.getArtificerTaxiMoney() + ",到账总金额:" + orders.getSumArtificerMoney()); } else { userMoneyDetails.setContent("支付金额:" + orders.getSumMoney() + ",平台扣除:" + orders.getPingMoney() + - ",分销员扣除:" + orders.getOneUserMoney() + ",经纪人扣除:" + orders.getJjrMoney() + + ",分销员扣除:" + fxyArtificerDeductMoney + ",经纪人扣除:" + orders.getJjrArtificerDeductMoney() + ",打车费:" + orders.getTaxiMoney() + ",平台扣除打车费:" + orders.getPingTaxiMoney() + ",到账打车费:" + orders.getArtificerTaxiMoney() + ",到账总金额:" + orders.getSumArtificerMoney()); } @@ -6312,22 +6477,21 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setStatus(3); orders.setAccomplishLatitude(accomplishLatitude); orders.setAccomplishLongitude(accomplishLongitude); - UserEntity user = userService.selectUserById(orders.getUserId()); - UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); - if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { - 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 userNowMoney11 = userMoneyService.selectUserMoneyByUserId(orders.getUserId()); + UserMoney userNowMoney3 = userMoneyService.selectUserMoneyByUserId(orders.getFxyOneUserId()); //插入余额 - userMoneyDetails.setBalance(userNowMoney11.getMoney()); + userMoneyDetails.setBalance(userNowMoney3.getMoney()); //插入操作类型为已操作用户余额 userMoneyDetails.setManipulateType(2); - userMoneyDetails.setMoney(orders.getOneUserMoney()); - userMoneyDetails.setUserId(oneUser.getUserId()); - userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单完成!"); - userMoneyDetails.setContent("分销员收益:" + orders.getOneUserMoney()); + userMoneyDetails.setMoney(orders.getFxyOneMoney()); + userMoneyDetails.setUserId(orders.getFxyOneUserId()); + userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单取消!"); + userMoneyDetails.setContent("一级分销员收益:"+orders.getFxyOneMoney()); userMoneyDetails.setType(1); userMoneyDetails.setState(2); userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date())); @@ -6336,21 +6500,43 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetailsService.save(userMoneyDetails); } } - UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); - UserEntity jjrUser = userService.queryByInvitationCode(artificerUser.getBlJjrCode()); - if (jjrUser != null) { - if(orders.getJjrMoney().compareTo(BigDecimal.ZERO)>0) { - userMoneyService.updateMoney(1, jjrUser.getUserId(), orders.getJjrMoney().doubleValue()); + + if (orders.getFxyTwoUserId() != null) { + if(orders.getFxyTwoMoney().compareTo(BigDecimal.ZERO)>0){ + userMoneyService.updateMoney(1, orders.getFxyTwoUserId(), orders.getFxyTwoMoney().doubleValue()); userMoneyDetails = new UserMoneyDetails(); //查询用户当前余额 - UserMoney userNowMoney12 = userMoneyService.selectUserMoneyByUserId(jjrUser.getUserId()); + UserMoney userNowMoney3 = userMoneyService.selectUserMoneyByUserId(orders.getFxyTwoUserId()); //插入余额 - userMoneyDetails.setBalance(userNowMoney12.getMoney()); + userMoneyDetails.setBalance(userNowMoney3.getMoney()); + //插入操作类型为已操作用户余额 + userMoneyDetails.setManipulateType(2); + userMoneyDetails.setMoney(orders.getFxyTwoMoney()); + userMoneyDetails.setUserId(orders.getFxyTwoUserId()); + userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单取消!"); + userMoneyDetails.setContent("二级分销员收益:"+orders.getFxyTwoMoney()); + userMoneyDetails.setType(1); + userMoneyDetails.setState(2); + userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date())); + userMoneyDetails.setBlRole(5); + userMoneyDetails.setBlFlag(1); + userMoneyDetailsService.save(userMoneyDetails); + } + } + + if (orders.getJjrUserId() != null) { + if(orders.getJjrMoney().compareTo(BigDecimal.ZERO)>0) { + userMoneyService.updateMoney(1, orders.getJjrUserId(), orders.getJjrMoney().doubleValue()); + userMoneyDetails = new UserMoneyDetails(); + //查询用户当前余额 + UserMoney userNowMoney4 = userMoneyService.selectUserMoneyByUserId(orders.getJjrUserId()); + //插入余额 + userMoneyDetails.setBalance(userNowMoney4.getMoney()); //插入操作类型为已操作用户余额 userMoneyDetails.setManipulateType(2); userMoneyDetails.setMoney(orders.getJjrMoney()); - userMoneyDetails.setUserId(jjrUser.getUserId()); - userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单完成!"); + userMoneyDetails.setUserId(orders.getJjrUserId()); + userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单取消!"); userMoneyDetails.setContent("经纪人收益:"+orders.getJjrMoney()); userMoneyDetails.setType(1); userMoneyDetails.setState(2); @@ -6456,6 +6642,8 @@ public class OrdersServiceImpl extends ServiceImpl implements data.put("thing3", new TemplateMessageItem(content, "#d71345")); userService.sendWxMessage(apkey, data, userEntity.getWxOpenId()); }*/ + + UserEntity user = userService.selectUserById(orders.getUserId()); if (StringUtils.isNotEmpty(user.getOpenId())) { CommonInfo one = commonInfoService.findOne(250); SenInfoCheckUtil.sendMsg(user.getOpenId(), one.getValue(), msgList, 3); @@ -6544,14 +6732,15 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setUserId(userEntity.getUserId()); userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单完成!"); String value = commonInfoService.findOne(394).getValue(); + BigDecimal fxyArtificerDeductMoney = orders.getFxyOneArtificerDeductMoney().add(orders.getFxyTwoArtificerDeductMoney()); if (orders.getShopUserId() != null) { userMoneyDetails.setContent("支付金额:" + orders.getSumMoney() + ",平台扣除:" + orders.getPingMoney() + - ",商家扣除:" + orders.getShopMoney() + ",分销员扣除:" + orders.getOneUserMoney() + ",经纪人扣除:" + orders.getJjrMoney() + + ",商家扣除:" + orders.getShopMoney() + ",分销员扣除:" + fxyArtificerDeductMoney + ",经纪人扣除:" + orders.getJjrArtificerDeductMoney() + ",打车费:" + orders.getTaxiMoney() + ",平台扣除打车费:" + orders.getPingTaxiMoney() + ",到账打车费:" + orders.getArtificerTaxiMoney() + ",到账总金额:" + orders.getSumArtificerMoney()); } else { userMoneyDetails.setContent("支付金额:" + orders.getSumMoney() + ",平台扣除:" + orders.getPingMoney() + - ",分销员扣除:" + orders.getOneUserMoney() + ",经纪人扣除:" + orders.getJjrMoney() + + ",分销员扣除:" + fxyArtificerDeductMoney + ",经纪人扣除:" + orders.getJjrArtificerDeductMoney() + ",打车费:" + orders.getTaxiMoney() + ",平台扣除打车费:" + orders.getPingTaxiMoney() + ",到账打车费:" + orders.getArtificerTaxiMoney() + ",到账总金额:" + orders.getSumArtificerMoney()); } @@ -6563,23 +6752,20 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setBlFlag(1); userMoneyDetailsService.save(userMoneyDetails); - //--------添加钱包流水日志------------- - UserEntity user = userService.selectUserById(orders.getUserId()); - UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); - if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { - 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 userNowMoney11 = userMoneyService.selectUserMoneyByUserId(orders.getUserId()); + UserMoney userNowMoney3 = userMoneyService.selectUserMoneyByUserId(orders.getFxyOneUserId()); //插入余额 - userMoneyDetails.setBalance(userNowMoney11.getMoney()); + userMoneyDetails.setBalance(userNowMoney3.getMoney()); //插入操作类型为已操作用户余额 userMoneyDetails.setManipulateType(2); - userMoneyDetails.setMoney(orders.getOneUserMoney()); - userMoneyDetails.setUserId(oneUser.getUserId()); - userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单完成!"); - userMoneyDetails.setContent("分销员收益:"+orders.getOneUserMoney()); + userMoneyDetails.setMoney(orders.getFxyOneMoney()); + userMoneyDetails.setUserId(orders.getFxyOneUserId()); + userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单取消!"); + userMoneyDetails.setContent("一级分销员收益:"+orders.getFxyOneMoney()); userMoneyDetails.setType(1); userMoneyDetails.setState(2); userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date())); @@ -6588,21 +6774,43 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetailsService.save(userMoneyDetails); } } - UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); - UserEntity jjrUser = userService.queryByInvitationCode(artificerUser.getBlJjrCode()); - if (jjrUser != null) { - if(orders.getJjrMoney().compareTo(BigDecimal.ZERO)>0) { - userMoneyService.updateMoney(1, jjrUser.getUserId(), orders.getJjrMoney().doubleValue()); + + if (orders.getFxyTwoUserId() != null) { + if(orders.getFxyTwoMoney().compareTo(BigDecimal.ZERO)>0){ + userMoneyService.updateMoney(1, orders.getFxyTwoUserId(), orders.getFxyTwoMoney().doubleValue()); userMoneyDetails = new UserMoneyDetails(); //查询用户当前余额 - UserMoney userNowMoney12 = userMoneyService.selectUserMoneyByUserId(jjrUser.getUserId()); + UserMoney userNowMoney3 = userMoneyService.selectUserMoneyByUserId(orders.getFxyTwoUserId()); //插入余额 - userMoneyDetails.setBalance(userNowMoney12.getMoney()); + userMoneyDetails.setBalance(userNowMoney3.getMoney()); + //插入操作类型为已操作用户余额 + userMoneyDetails.setManipulateType(2); + userMoneyDetails.setMoney(orders.getFxyTwoMoney()); + userMoneyDetails.setUserId(orders.getFxyTwoUserId()); + userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单取消!"); + userMoneyDetails.setContent("二级分销员收益:"+orders.getFxyTwoMoney()); + userMoneyDetails.setType(1); + userMoneyDetails.setState(2); + userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date())); + userMoneyDetails.setBlRole(5); + userMoneyDetails.setBlFlag(1); + userMoneyDetailsService.save(userMoneyDetails); + } + } + + if (orders.getJjrUserId() != null) { + if(orders.getJjrMoney().compareTo(BigDecimal.ZERO)>0) { + userMoneyService.updateMoney(1, orders.getJjrUserId(), orders.getJjrMoney().doubleValue()); + userMoneyDetails = new UserMoneyDetails(); + //查询用户当前余额 + UserMoney userNowMoney4 = userMoneyService.selectUserMoneyByUserId(orders.getJjrUserId()); + //插入余额 + userMoneyDetails.setBalance(userNowMoney4.getMoney()); //插入操作类型为已操作用户余额 userMoneyDetails.setManipulateType(2); userMoneyDetails.setMoney(orders.getJjrMoney()); - userMoneyDetails.setUserId(jjrUser.getUserId()); - userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单完成!"); + userMoneyDetails.setUserId(orders.getJjrUserId()); + userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单取消!"); userMoneyDetails.setContent("经纪人收益:"+orders.getJjrMoney()); userMoneyDetails.setType(1); userMoneyDetails.setState(2); @@ -6698,6 +6906,8 @@ public class OrdersServiceImpl extends ServiceImpl implements data.put("thing3", new TemplateMessageItem(content, "#d71345")); userService.sendWxMessage(apkey, data, userEntity.getWxOpenId()); }*/ + + UserEntity user = userService.selectUserById(orders.getUserId()); if (StringUtils.isNotEmpty(user.getOpenId())) { CommonInfo one = commonInfoService.findOne(250); SenInfoCheckUtil.sendMsg(user.getOpenId(), one.getValue(), msgList, 3); @@ -7522,163 +7732,100 @@ public class OrdersServiceImpl extends ServiceImpl implements } public static void main(String[] args) { - FxyConfig fc = new FxyConfig(); - fc.setIsOpen(1); - fc.setType(2); - fc.setOneRate(new BigDecimal(2.5)); - fc.setTwoRate(new BigDecimal(2)); - fc.setArtificerRate(new BigDecimal(10)); - fc.setAgentRate(new BigDecimal(10)); - fc.setMostRate(new BigDecimal(15)); - fc.setOneRecommendRate(new BigDecimal(5)); - fc.setTwoRecommendRate(new BigDecimal(5)); - fc.setFxmLimit(2); - fc.setFxmLimitDays(100); - FxyApply faOne = new FxyApply(); - faOne.setUserId(630L); - faOne.setStatus(1); - faOne.setApproveTime("2024-08-06 20:04:47"); + JjrConfig jc = new JjrConfig(); + jc.setIsOpen(1); + jc.setType(2); + jc.setRate(new BigDecimal(2.5)); + jc.setArtificerRate(new BigDecimal(10)); + jc.setAgentRate(new BigDecimal(10)); - UserEntity fxyOneUser = new UserEntity(); - fxyOneUser.setUserId(630L); - fxyOneUser.setUserName("技师甲"); - fxyOneUser.setBlIsFxy(1); - fxyOneUser.setBlFxyLevel(1); + JjrApply jjrApply = new JjrApply(); + jjrApply.setUserId(625L); + jjrApply.setStatus(1); - FxyApply faTwo = new FxyApply(); - faTwo.setUserId(1L); - faTwo.setStatus(1); - faTwo.setApproveTime("2024-08-06 17:58:09"); + UserEntity jjrUser = new UserEntity(); + jjrUser.setUserId(625L); + jjrUser.setUserName("曹磊"); + jjrUser.setBlIsJjr(1); - UserEntity fxyTwoUser = new UserEntity(); - fxyTwoUser.setUserId(1L); - fxyTwoUser.setUserName("官方"); - fxyTwoUser.setBlIsFxy(1); - fxyTwoUser.setBlFxyLevel(2); + List list = new ArrayList<>(); + JjrConfigLevel jjrConfigLevel = new JjrConfigLevel(); + jjrConfigLevel.setLevel("A1"); + jjrConfigLevel.setMinNumber(0); + jjrConfigLevel.setMaxNumber(10); + jjrConfigLevel.setRate(new BigDecimal(5)); + list.add(jjrConfigLevel); + JjrConfigLevel jjrConfigLevel2 = new JjrConfigLevel(); + jjrConfigLevel2.setLevel("A2"); + jjrConfigLevel2.setMinNumber(0); + jjrConfigLevel2.setMaxNumber(10); + jjrConfigLevel2.setRate(new BigDecimal(5)); + list.add(jjrConfigLevel2); + JjrConfigLevel jjrConfigLevel3 = new JjrConfigLevel(); + jjrConfigLevel3.setLevel("A3"); + jjrConfigLevel3.setMinNumber(0); + jjrConfigLevel3.setMaxNumber(10); + jjrConfigLevel3.setRate(new BigDecimal(5)); + list.add(jjrConfigLevel3); + JjrConfigLevel jjrConfigLevel4 = new JjrConfigLevel(); + jjrConfigLevel4.setLevel("A4"); + jjrConfigLevel4.setMinNumber(0); + jjrConfigLevel4.setMaxNumber(10); + jjrConfigLevel4.setRate(new BigDecimal(5)); + list.add(jjrConfigLevel4); + JjrConfigLevel jjrConfigLevel5 = new JjrConfigLevel(); + jjrConfigLevel5.setLevel("A5"); + jjrConfigLevel5.setMinNumber(0); + jjrConfigLevel5.setMaxNumber(10); + jjrConfigLevel5.setRate(new BigDecimal(5)); + list.add(jjrConfigLevel5); 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)){ +// JjrConfig jc = jjrConfigService.getOne(new QueryWrapper()); + if(jc.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; - } +// UserEntity jjrUser = userService.queryByInvitationCode(user.getBlJjrCode()); +// JjrApply jjrApply = jjrApplyService.findByUserId(jjrUser.getUserId()); + if(jjrApply.getStatus().equals(1)){ + if(jjrUser!=null && jjrUser.getBlIsJjr() !=null && jjrUser.getBlIsJjr() ==1){ + orders.setJjrUserId(jjrUser.getUserId()); + orders.setJjrUserName(jjrUser.getUserName()); + BigDecimal artificerRate = jc.getArtificerRate(); + BigDecimal agentRate = jc.getAgentRate(); + BigDecimal rate = BigDecimal.ZERO; + if(jc.getType().equals(1)){ + rate = jc.getRate(); }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; +// int invitationCn = jjrApplyService.getInvitationCn(user.getBlJjrCode()); + int invitationCn = 10; +// List list = jjrConfigServiceLevel.findList(null); + for(int i=0;ijjrcl.getMinNumber() && invitationCn<=jjrcl.getMaxNumber()){ + rate = jjrcl.getRate(); + break; } - }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); } } + BigDecimal jjrMoney = subtract.multiply(rate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setJjrMoney(jjrMoney); + BigDecimal jjrOneArtificerDeductMoney = jjrMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setJjrArtificerDeductMoney(jjrOneArtificerDeductMoney); } } }else{ - orders.setFxyOneMoney(BigDecimal.ZERO); - orders.setFxyOneArtificerDeductMoney(BigDecimal.ZERO); - orders.setFxyTwoMoney(BigDecimal.ZERO); - orders.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); + orders.setJjrMoney(BigDecimal.ZERO); + orders.setJjrArtificerDeductMoney(BigDecimal.ZERO); } - artificerPrice = artificerPrice.subtract(orders.getFxyOneArtificerDeductMoney()).subtract(orders.getFxyTwoArtificerDeductMoney()); + artificerPrice = artificerPrice.subtract(orders.getJjrArtificerDeductMoney()); - System.out.println(orders.getFxyOneMoney()); - System.out.println(orders.getFxyTwoMoney()); - System.out.println(orders.getFxyOneArtificerDeductMoney()); - System.out.println(orders.getFxyTwoArtificerDeductMoney()); + System.out.println(orders.getJjrMoney()); + System.out.println(orders.getJjrArtificerDeductMoney()); System.out.println(artificerPrice); } 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 ef02422..811992c 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 @@ -12,9 +12,11 @@ import java.util.List; @Mapper public interface JjrApplyDao extends BaseMapper { IPage findPage(Page page, @Param("params") JjrApply jjrApply); + JjrApply findByUserId(Long userId); List findList(JjrApply jjrApply); int add(JjrApply jjrApply); int update(JjrApply jjrApply); int approve(JjrApply jjrApply); IPage findUserPage(Page page, @Param("params") JjrApply jjrApply); + int getInvitationCn(String invitationCode); } \ No newline at end of file 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 61c11c8..306e67e 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 @@ -6,8 +6,10 @@ import com.sqx.modules.bl.commission.jjr.entity.JjrApply; public interface JjrApplyService extends IService { Result findPage(JjrApply jjrApply); + JjrApply findByUserId(Long userId); int add(JjrApply jjrApply); int update(JjrApply jjrApply); void approve(JjrApply jjrApply); Result findUserPage(JjrApply jjrApply); + int getInvitationCn(String invitationCode); } \ 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 6f8d83d..83e91a5 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 @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.sqx.common.utils.PageUtils; import com.sqx.common.utils.Result; +import com.sqx.modules.app.entity.UserEntity; +import com.sqx.modules.app.service.UserService; 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; @@ -30,12 +32,20 @@ public class JjrApplyServiceImpl extends ServiceImpl impl @Autowired private JjrConfigLevelService configLevelService; + @Autowired + private UserService userService; + @Override public Result findPage(JjrApply jjrApply){ Page pages=new Page<>(jjrApply.getPage(),jjrApply.getLimit()); return Result.success().put("data",new PageUtils(baseMapper.findPage(pages,jjrApply))); } + @Override + public JjrApply findByUserId(Long userId){ + return baseMapper.findByUserId(userId); + } + @Override public int add(JjrApply jjrApply){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -54,6 +64,13 @@ public class JjrApplyServiceImpl extends ServiceImpl impl SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); jjrApply.setApproveTime(sdf.format(new Date())); jjrApply.setApproveUser(((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUserId()); + UserEntity userEntity = userService.selectUserById(jjrApply.getUserId()); + userService.updateById(userEntity); + if(jjrApply.getStatus().equals(1)){ + userEntity.setBlIsJjr(1); + }else{ + userEntity.setBlIsJjr(0); + } baseMapper.approve(jjrApply); } @@ -63,4 +80,9 @@ public class JjrApplyServiceImpl extends ServiceImpl impl return Result.success().put("data",new PageUtils(baseMapper.findUserPage(pages,jjrApply))); } + @Override + public int getInvitationCn(String invitationCode){ + return baseMapper.getInvitationCn(invitationCode); + } + } \ No newline at end of file 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 3673d7c..24eb4ae 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 @@ -32,6 +32,12 @@ 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.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.bl.massage.entity.MassagePackage; import com.sqx.modules.bl.massage.service.MassagePackageService; import com.sqx.modules.bl.order.dao.UserPackageOrderDao; @@ -157,6 +163,12 @@ public class AliPayController { private FxyApplyService fxyApplyService; @Autowired private FxyConfigService fxyConfigService; + @Autowired + private JjrApplyService jjrApplyService; + @Autowired + private JjrConfigService jjrConfigService; + @Autowired + private JjrConfigLevelService jjrConfigServiceLevel; private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -549,7 +561,7 @@ public class AliPayController { PayDetails payDetails = payDetailsDao.selectByOrderId(outTradeNo); if (payDetails.getState() == 0) { payDetailsDao.updateState(payDetails.getId(), 1, sdf.format(new Date()), tradeNo); - if (payDetails.getType() == 1) { + if (payDetails.getType()==1) { Orders orders = ordersService.selectOrdersByOrderNo(payDetails.getOrderId()); if(orders.getIsSupplement() != null){ if(orders.getIsSupplement() == 2){ @@ -641,25 +653,42 @@ public class AliPayController { // orders.setProjectBenefits(projectBenefits); orders.setProjectBenefits(artificerPrice); - UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); -// UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); -// BigDecimal oneArtificerMoney = BigDecimal.ZERO; -// if (oneArtificerUser != null && oneArtificerUser.getIsAgency() != null && oneArtificerUser.getIsAgency() == 1) { -// orders.setOneArtificerUserId(oneArtificerUser.getUserId()); -// orders.setOneArtificerUserName(oneArtificerUser.getUserName()); -// oneArtificerMoney = artificerPrice.multiply(oneArtificerUser.getShopRate()); -// oneArtificerMoney = oneArtificerMoney.setScale(0, BigDecimal.ROUND_HALF_UP); -// } -// orders.setOneArtificerMoney(oneArtificerMoney); - UserEntity jjrUser = userService.queryByInvitationCode(artificerUser.getBlJjrCode()); - BigDecimal jjrMoney = BigDecimal.ZERO; - if (jjrUser != null) { - orders.setJjrUserId(jjrUser.getUserId()); - orders.setJjrUserName(jjrUser.getUserName()); - jjrMoney = jjrMoney.multiply(jjrUser.getBlJjrRate()); - jjrMoney = jjrMoney.setScale(2, BigDecimal.ROUND_HALF_UP); + UserEntity user = userService.selectUserById(orders.getUserId()); + JjrConfig jc = jjrConfigService.getOne(new QueryWrapper()); + if(jc.getIsOpen().equals(1)){ + UserEntity jjrUser = userService.queryByInvitationCode(user.getBlJjrCode()); + JjrApply jjrApply = jjrApplyService.findByUserId(jjrUser.getUserId()); + if(jjrApply.getStatus().equals(1)){ + if(jjrUser!=null && jjrUser.getBlIsJjr() !=null && jjrUser.getBlIsJjr() ==1){ + orders.setJjrUserId(jjrUser.getUserId()); + orders.setJjrUserName(jjrUser.getUserName()); + BigDecimal artificerRate = jc.getArtificerRate(); + BigDecimal agentRate = jc.getAgentRate(); + BigDecimal jjrRate = BigDecimal.ZERO; + if(jc.getType().equals(1)){ + jjrRate = jc.getRate(); + }else{ + int invitationCn = jjrApplyService.getInvitationCn(user.getBlJjrCode()); + List list = jjrConfigServiceLevel.findList(null); + for(int i=0;ijjrcl.getMinNumber() && invitationCn<=jjrcl.getMaxNumber()){ + jjrRate = jjrcl.getRate(); + break; + } + } + } + BigDecimal jjrMoney = subtract.multiply(jjrRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setJjrMoney(jjrMoney); + BigDecimal jjrOneArtificerDeductMoney = jjrMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setJjrArtificerDeductMoney(jjrOneArtificerDeductMoney); + } + } + }else{ + orders.setJjrMoney(BigDecimal.ZERO); + orders.setJjrArtificerDeductMoney(BigDecimal.ZERO); } - orders.setJjrMoney(jjrMoney); + UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); BigDecimal shopMoney = BigDecimal.ZERO; if (artificerUser.getConsortiaId() != null) { Consortia consortia = consortiaService.getById(artificerUser.getConsortiaId()); @@ -689,7 +718,6 @@ public class AliPayController { //分销商分佣 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)){ @@ -800,7 +828,7 @@ public class AliPayController { } // artificerPrice = artificerPrice.subtract(oneArtificerMoney); - artificerPrice = artificerPrice.subtract(jjrMoney); + artificerPrice = artificerPrice.subtract(orders.getJjrArtificerDeductMoney()); artificerPrice = artificerPrice.subtract(shopMoney); // artificerPrice = artificerPrice.subtract(oneUserMoney); artificerPrice = artificerPrice.subtract(orders.getFxyOneArtificerDeductMoney());//减掉一级分销商分佣技师承担 @@ -816,9 +844,9 @@ public class AliPayController { //平台扣款 BigDecimal pingMoney = orders.getPayMoney(); pingMoney = pingMoney.subtract(artificerPrice); - pingMoney = pingMoney.subtract(shopMoney); // pingMoney = pingMoney.subtract(oneArtificerMoney); - pingMoney = pingMoney.subtract(jjrMoney); + pingMoney = pingMoney.subtract(orders.getJjrMoney()); + pingMoney = pingMoney.subtract(shopMoney); // pingMoney = pingMoney.subtract(oneUserMoney); pingMoney = pingMoney.subtract(orders.getFxyOneMoney());//减掉一级分销商分佣 pingMoney = pingMoney.subtract(orders.getFxyTwoMoney());//减掉二级分销商分佣 @@ -972,7 +1000,7 @@ public class AliPayController { userMoneyDetails.setBlFlag(2); userMoneyDetailsService.save(userMoneyDetails); - } else if (payDetails.getType() == 2) { + } else if (payDetails.getType()==2) { //缴纳保证金 Double cashDeposit = payDetails.getMoney(); Long userId = payDetails.getUserId(); @@ -995,7 +1023,7 @@ public class AliPayController { userMoneyDetails.setBlRole(2); userMoneyDetails.setBlFlag(2); userMoneyDetailsService.save(userMoneyDetails); - } else if (payDetails.getType() == 3) { + } else if (payDetails.getType()==3) { PayClassify payClassify = payClassifyService.getById(Long.parseLong(payDetails.getRemark())); userMoneyDao.updateMayMoney(1, payDetails.getUserId(), payClassify.getMoney().doubleValue()); //查询用户当前余额 @@ -1399,7 +1427,7 @@ public class AliPayController { massagePackage.setSales(sales); massagePackageService.updateSales(massagePackage); } - }else if (payDetails.getType() == 9) { + }else if (payDetails.getType()==9) { //缴纳门槛费 Double cashDeposit = payDetails.getMoney(); Long userId = payDetails.getUserId(); @@ -1719,7 +1747,7 @@ public class AliPayController { orders.setProjectBenefits(artificerPrice); - UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); + // UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); // BigDecimal oneArtificerMoney = BigDecimal.ZERO; // if (oneArtificerUser != null && oneArtificerUser.getIsAgency() != null && oneArtificerUser.getIsAgency() == 1) { @@ -1729,15 +1757,43 @@ public class AliPayController { // oneArtificerMoney = oneArtificerMoney.setScale(2, BigDecimal.ROUND_HALF_UP); // } // orders.setOneArtificerMoney(oneArtificerMoney); - UserEntity jjrUser = userService.queryByInvitationCode(artificerUser.getBlJjrCode()); - BigDecimal jjrMoney = BigDecimal.ZERO; - if (jjrUser != null) { - orders.setJjrUserId(jjrUser.getUserId()); - orders.setJjrUserName(jjrUser.getUserName()); - jjrMoney = jjrMoney.multiply(jjrUser.getBlJjrRate()); - jjrMoney = jjrMoney.setScale(2, BigDecimal.ROUND_HALF_UP); + + UserEntity user = userService.selectUserById(orders.getUserId()); + JjrConfig jc = jjrConfigService.getOne(new QueryWrapper()); + if(jc.getIsOpen().equals(1)){ + UserEntity jjrUser = userService.queryByInvitationCode(user.getBlJjrCode()); + JjrApply jjrApply = jjrApplyService.findByUserId(jjrUser.getUserId()); + if(jjrApply.getStatus().equals(1)){ + if(jjrUser!=null && jjrUser.getBlIsJjr() !=null && jjrUser.getBlIsJjr() ==1){ + orders.setJjrUserId(jjrUser.getUserId()); + orders.setJjrUserName(jjrUser.getUserName()); + BigDecimal artificerRate = jc.getArtificerRate(); + BigDecimal agentRate = jc.getAgentRate(); + BigDecimal jjrRate = BigDecimal.ZERO; + if(jc.getType().equals(1)){ + jjrRate = jc.getRate(); + }else{ + int invitationCn = jjrApplyService.getInvitationCn(user.getBlJjrCode()); + List list = jjrConfigServiceLevel.findList(null); + for(int i=0;ijjrcl.getMinNumber() && invitationCn<=jjrcl.getMaxNumber()){ + jjrRate = jjrcl.getRate(); + break; + } + } + } + BigDecimal jjrMoney = subtract.multiply(jjrRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setJjrMoney(jjrMoney); + BigDecimal jjrOneArtificerDeductMoney = jjrMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setJjrArtificerDeductMoney(jjrOneArtificerDeductMoney); + } + } + }else{ + orders.setJjrMoney(BigDecimal.ZERO); + orders.setJjrArtificerDeductMoney(BigDecimal.ZERO); } - orders.setJjrMoney(jjrMoney); + UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); BigDecimal shopMoney = BigDecimal.ZERO; if (artificerUser.getConsortiaId() != null) { Consortia consortia = consortiaService.getById(artificerUser.getConsortiaId()); @@ -1767,7 +1823,6 @@ public class AliPayController { //分销商分佣 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)){ @@ -1878,7 +1933,7 @@ public class AliPayController { } // artificerPrice = artificerPrice.subtract(oneArtificerMoney); - artificerPrice = artificerPrice.subtract(jjrMoney); + artificerPrice = artificerPrice.subtract(orders.getJjrArtificerDeductMoney()); artificerPrice = artificerPrice.subtract(shopMoney); // artificerPrice = artificerPrice.subtract(oneUserMoney); artificerPrice = artificerPrice.subtract(orders.getFxyOneArtificerDeductMoney());//减掉一级分销商分佣技师承担 @@ -1894,9 +1949,9 @@ public class AliPayController { //平台扣款 BigDecimal pingMoney = orders.getPayMoney(); pingMoney = pingMoney.subtract(artificerPrice); - pingMoney = pingMoney.subtract(shopMoney); // pingMoney = pingMoney.subtract(oneArtificerMoney); - pingMoney = pingMoney.subtract(jjrMoney); + pingMoney = pingMoney.subtract(orders.getJjrMoney()); + pingMoney = pingMoney.subtract(shopMoney); // pingMoney = pingMoney.subtract(oneUserMoney); pingMoney = pingMoney.subtract(orders.getFxyOneMoney());//减掉一级分销商分佣 pingMoney = pingMoney.subtract(orders.getFxyTwoMoney());//减掉二级分销商分佣 @@ -2192,7 +2247,7 @@ public class AliPayController { PayDetails payDetails = payDetailsDao.selectByOrderId(outTradeNo); if (payDetails.getState() == 0) { payDetailsDao.updateState(payDetails.getId(), 1, sdf.format(new Date()), tradeNo); - if (payDetails.getType() == 1) { + if (payDetails.getType()==1) { Orders orders = ordersService.selectOrdersByOrderNo(payDetails.getOrderId()); if(orders.getIsSupplement() != null){ if(orders.getIsSupplement() == 2){ @@ -2284,7 +2339,7 @@ public class AliPayController { // orders.setProjectBenefits(projectBenefits); orders.setProjectBenefits(artificerPrice); - UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); + // UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); // BigDecimal oneArtificerMoney = BigDecimal.ZERO; // if (oneArtificerUser != null && oneArtificerUser.getIsAgency() != null && oneArtificerUser.getIsAgency() == 1) { @@ -2294,15 +2349,43 @@ public class AliPayController { // oneArtificerMoney = oneArtificerMoney.setScale(0, BigDecimal.ROUND_HALF_UP); // } // orders.setOneArtificerMoney(oneArtificerMoney); - UserEntity jjrUser = userService.queryByInvitationCode(artificerUser.getBlJjrCode()); - BigDecimal jjrMoney = BigDecimal.ZERO; - if (jjrUser != null) { - orders.setJjrUserId(jjrUser.getUserId()); - orders.setJjrUserName(jjrUser.getUserName()); - jjrMoney = jjrMoney.multiply(jjrUser.getBlJjrRate()); - jjrMoney = jjrMoney.setScale(2, BigDecimal.ROUND_HALF_UP); + + UserEntity user = userService.selectUserById(orders.getUserId()); + JjrConfig jc = jjrConfigService.getOne(new QueryWrapper()); + if(jc.getIsOpen().equals(1)){ + UserEntity jjrUser = userService.queryByInvitationCode(user.getBlJjrCode()); + JjrApply jjrApply = jjrApplyService.findByUserId(jjrUser.getUserId()); + if(jjrApply.getStatus().equals(1)){ + if(jjrUser!=null && jjrUser.getBlIsJjr() !=null && jjrUser.getBlIsJjr() ==1){ + orders.setJjrUserId(jjrUser.getUserId()); + orders.setJjrUserName(jjrUser.getUserName()); + BigDecimal artificerRate = jc.getArtificerRate(); + BigDecimal agentRate = jc.getAgentRate(); + BigDecimal jjrRate = BigDecimal.ZERO; + if(jc.getType().equals(1)){ + jjrRate = jc.getRate(); + }else{ + int invitationCn = jjrApplyService.getInvitationCn(user.getBlJjrCode()); + List list = jjrConfigServiceLevel.findList(null); + for(int i=0;ijjrcl.getMinNumber() && invitationCn<=jjrcl.getMaxNumber()){ + jjrRate = jjrcl.getRate(); + break; + } + } + } + BigDecimal jjrMoney = subtract.multiply(jjrRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setJjrMoney(jjrMoney); + BigDecimal jjrOneArtificerDeductMoney = jjrMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setJjrArtificerDeductMoney(jjrOneArtificerDeductMoney); + } + } + }else{ + orders.setJjrMoney(BigDecimal.ZERO); + orders.setJjrArtificerDeductMoney(BigDecimal.ZERO); } - orders.setJjrMoney(jjrMoney); + UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); BigDecimal shopMoney = BigDecimal.ZERO; if (artificerUser.getConsortiaId() != null) { Consortia consortia = consortiaService.getById(artificerUser.getConsortiaId()); @@ -2332,7 +2415,6 @@ public class AliPayController { //分销商分佣 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)){ @@ -2443,7 +2525,7 @@ public class AliPayController { } // artificerPrice = artificerPrice.subtract(oneArtificerMoney); - artificerPrice = artificerPrice.subtract(jjrMoney); + artificerPrice = artificerPrice.subtract(orders.getJjrArtificerDeductMoney()); artificerPrice = artificerPrice.subtract(shopMoney); // artificerPrice = artificerPrice.subtract(oneUserMoney); artificerPrice = artificerPrice.subtract(orders.getFxyOneArtificerDeductMoney());//减掉一级分销商分佣技师承担 @@ -2459,9 +2541,9 @@ public class AliPayController { //平台扣款 BigDecimal pingMoney = orders.getPayMoney(); pingMoney = pingMoney.subtract(artificerPrice); - pingMoney = pingMoney.subtract(shopMoney); // pingMoney = pingMoney.subtract(oneArtificerMoney); - pingMoney = pingMoney.subtract(jjrMoney); + pingMoney = pingMoney.subtract(orders.getJjrMoney()); + pingMoney = pingMoney.subtract(shopMoney); // pingMoney = pingMoney.subtract(oneUserMoney); pingMoney = pingMoney.subtract(orders.getFxyOneMoney());//减掉一级分销商分佣 pingMoney = pingMoney.subtract(orders.getFxyTwoMoney());//减掉二级分销商分佣 @@ -2615,7 +2697,7 @@ public class AliPayController { userMoneyDetails.setBlFlag(2); userMoneyDetailsService.save(userMoneyDetails); - } else if (payDetails.getType() == 2) { + } else if (payDetails.getType()==2) { //缴纳保证金 Double cashDeposit = payDetails.getMoney(); Long userId = payDetails.getUserId(); @@ -2639,7 +2721,7 @@ public class AliPayController { userMoneyDetails.setBlFlag(2); userMoneyDetailsService.save(userMoneyDetails); } else - if (payDetails.getType() == 3) { + if (payDetails.getType()==3) { PayClassify payClassify = payClassifyService.getById(Long.parseLong(payDetails.getRemark())); userMoneyDao.updateMayMoney(1, payDetails.getUserId(), payClassify.getMoney().doubleValue()); //查询用户当前余额 @@ -3137,7 +3219,7 @@ public class AliPayController { massagePackage.setSales(sales); massagePackageService.updateSales(massagePackage); } - }else if (payDetails.getType() == 9) { + }else if (payDetails.getType()==9) { //缴纳门槛费 Double cashDeposit = payDetails.getMoney(); Long userId = payDetails.getUserId(); 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 6a301e2..3f23481 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 @@ -22,6 +22,12 @@ 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.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.bl.massage.entity.MassagePackage; import com.sqx.modules.bl.massage.service.MassagePackageService; import com.sqx.modules.bl.order.dao.UserPackageOrderDao; @@ -149,6 +155,12 @@ public class WxServiceImpl implements WxService { private FxyApplyService fxyApplyService; @Autowired private FxyConfigService fxyConfigService; + @Autowired + private JjrApplyService jjrApplyService; + @Autowired + private JjrConfigService jjrConfigService; + @Autowired + private JjrConfigLevelService jjrConfigServiceLevel; private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -885,25 +897,42 @@ public class WxServiceImpl implements WxService { orders.setProjectBenefits(artificerPrice); - UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); -// UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); -// BigDecimal oneArtificerMoney = BigDecimal.ZERO; -// if (oneArtificerUser != null && oneArtificerUser.getIsAgency() != null && oneArtificerUser.getIsAgency() == 1) { -// orders.setOneArtificerUserId(oneArtificerUser.getUserId()); -// orders.setOneArtificerUserName(oneArtificerUser.getUserName()); -// oneArtificerMoney = artificerPrice.multiply(oneArtificerUser.getShopRate()); -// oneArtificerMoney = oneArtificerMoney.setScale(0, BigDecimal.ROUND_HALF_UP); -// } -// orders.setOneArtificerMoney(oneArtificerMoney); - UserEntity jjrUser = userService.queryByInvitationCode(artificerUser.getBlJjrCode()); - BigDecimal jjrMoney = BigDecimal.ZERO; - if (jjrUser != null) { - orders.setJjrUserId(jjrUser.getUserId()); - orders.setJjrUserName(jjrUser.getUserName()); - jjrMoney = jjrMoney.multiply(jjrUser.getBlJjrRate()); - jjrMoney = jjrMoney.setScale(2, BigDecimal.ROUND_HALF_UP); + UserEntity user = userService.selectUserById(orders.getUserId()); + JjrConfig jc = jjrConfigService.getOne(new QueryWrapper()); + if(jc.getIsOpen().equals(1)){ + UserEntity jjrUser = userService.queryByInvitationCode(user.getBlJjrCode()); + JjrApply jjrApply = jjrApplyService.findByUserId(jjrUser.getUserId()); + if(jjrApply.getStatus().equals(1)){ + if(jjrUser!=null && jjrUser.getBlIsJjr() !=null && jjrUser.getBlIsJjr() ==1){ + orders.setJjrUserId(jjrUser.getUserId()); + orders.setJjrUserName(jjrUser.getUserName()); + BigDecimal artificerRate = jc.getArtificerRate(); + BigDecimal agentRate = jc.getAgentRate(); + BigDecimal jjrRate = BigDecimal.ZERO; + if(jc.getType().equals(1)){ + jjrRate = jc.getRate(); + }else{ + int invitationCn = jjrApplyService.getInvitationCn(user.getBlJjrCode()); + List list = jjrConfigServiceLevel.findList(null); + for(int i=0;ijjrcl.getMinNumber() && invitationCn<=jjrcl.getMaxNumber()){ + jjrRate = jjrcl.getRate(); + break; + } + } + } + BigDecimal jjrMoney = subtract.multiply(jjrRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setJjrMoney(jjrMoney); + BigDecimal jjrOneArtificerDeductMoney = jjrMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setJjrArtificerDeductMoney(jjrOneArtificerDeductMoney); + } + } + }else{ + orders.setJjrMoney(BigDecimal.ZERO); + orders.setJjrArtificerDeductMoney(BigDecimal.ZERO); } - orders.setJjrMoney(jjrMoney); + UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); BigDecimal shopMoney = BigDecimal.ZERO; if (artificerUser.getConsortiaId() != null) { Consortia consortia = consortiaService.getById(artificerUser.getConsortiaId()); @@ -933,7 +962,6 @@ public class WxServiceImpl implements WxService { //分销商分佣 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)){ @@ -1044,7 +1072,7 @@ public class WxServiceImpl implements WxService { } // artificerPrice = artificerPrice.subtract(oneArtificerMoney); - artificerPrice = artificerPrice.subtract(jjrMoney); + artificerPrice = artificerPrice.subtract(orders.getJjrArtificerDeductMoney()); artificerPrice = artificerPrice.subtract(shopMoney); // artificerPrice = artificerPrice.subtract(oneUserMoney); artificerPrice = artificerPrice.subtract(orders.getFxyOneArtificerDeductMoney());//减掉一级分销商分佣技师承担 @@ -1060,9 +1088,9 @@ public class WxServiceImpl implements WxService { //平台扣款 BigDecimal pingMoney = orders.getPayMoney(); pingMoney = pingMoney.subtract(artificerPrice); - pingMoney = pingMoney.subtract(shopMoney); // pingMoney = pingMoney.subtract(oneArtificerMoney); - pingMoney = pingMoney.subtract(jjrMoney); + pingMoney = pingMoney.subtract(orders.getJjrMoney()); + pingMoney = pingMoney.subtract(shopMoney); // pingMoney = pingMoney.subtract(oneUserMoney); pingMoney = pingMoney.subtract(orders.getFxyOneMoney());//减掉一级分销商分佣 pingMoney = pingMoney.subtract(orders.getFxyTwoMoney());//减掉二级分销商分佣 @@ -1651,25 +1679,42 @@ public class WxServiceImpl implements WxService { // orders.setProjectBenefits(projectBenefits); orders.setProjectBenefits(artificerPrice); - UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); -// UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); -// BigDecimal oneArtificerMoney = BigDecimal.ZERO; -// if (oneArtificerUser != null && oneArtificerUser.getIsAgency() != null && oneArtificerUser.getIsAgency() == 1) { -// orders.setOneArtificerUserId(oneArtificerUser.getUserId()); -// orders.setOneArtificerUserName(oneArtificerUser.getUserName()); -// oneArtificerMoney = artificerPrice.multiply(oneArtificerUser.getShopRate()); -// oneArtificerMoney = oneArtificerMoney.setScale(0, BigDecimal.ROUND_HALF_UP); -// } -// orders.setOneArtificerMoney(oneArtificerMoney); - UserEntity jjrUser = userService.queryByInvitationCode(artificerUser.getBlJjrCode()); - BigDecimal jjrMoney = BigDecimal.ZERO; - if (jjrUser != null) { - orders.setJjrUserId(jjrUser.getUserId()); - orders.setJjrUserName(jjrUser.getUserName()); - jjrMoney = jjrMoney.multiply(jjrUser.getBlJjrRate()); - jjrMoney = jjrMoney.setScale(2, BigDecimal.ROUND_HALF_UP); + UserEntity user = userService.selectUserById(orders.getUserId()); + JjrConfig jc = jjrConfigService.getOne(new QueryWrapper()); + if(jc.getIsOpen().equals(1)){ + UserEntity jjrUser = userService.queryByInvitationCode(user.getBlJjrCode()); + JjrApply jjrApply = jjrApplyService.findByUserId(jjrUser.getUserId()); + if(jjrApply.getStatus().equals(1)){ + if(jjrUser!=null && jjrUser.getBlIsJjr() !=null && jjrUser.getBlIsJjr() ==1){ + orders.setJjrUserId(jjrUser.getUserId()); + orders.setJjrUserName(jjrUser.getUserName()); + BigDecimal artificerRate = jc.getArtificerRate(); + BigDecimal agentRate = jc.getAgentRate(); + BigDecimal jjrRate = BigDecimal.ZERO; + if(jc.getType().equals(1)){ + jjrRate = jc.getRate(); + }else{ + int invitationCn = jjrApplyService.getInvitationCn(user.getBlJjrCode()); + List list = jjrConfigServiceLevel.findList(null); + for(int i=0;ijjrcl.getMinNumber() && invitationCn<=jjrcl.getMaxNumber()){ + jjrRate = jjrcl.getRate(); + break; + } + } + } + BigDecimal jjrMoney = subtract.multiply(jjrRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setJjrMoney(jjrMoney); + BigDecimal jjrOneArtificerDeductMoney = jjrMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setJjrArtificerDeductMoney(jjrOneArtificerDeductMoney); + } + } + }else{ + orders.setJjrMoney(BigDecimal.ZERO); + orders.setJjrArtificerDeductMoney(BigDecimal.ZERO); } - orders.setJjrMoney(jjrMoney); + UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); BigDecimal shopMoney = BigDecimal.ZERO; if (artificerUser.getConsortiaId() != null) { Consortia consortia = consortiaService.getById(artificerUser.getConsortiaId()); @@ -1699,7 +1744,6 @@ public class WxServiceImpl implements WxService { //分销商分佣 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)){ @@ -1810,7 +1854,7 @@ public class WxServiceImpl implements WxService { } // artificerPrice = artificerPrice.subtract(oneArtificerMoney); - artificerPrice = artificerPrice.subtract(jjrMoney); + artificerPrice = artificerPrice.subtract(orders.getJjrArtificerDeductMoney()); artificerPrice = artificerPrice.subtract(shopMoney); // artificerPrice = artificerPrice.subtract(oneUserMoney); artificerPrice = artificerPrice.subtract(orders.getFxyOneArtificerDeductMoney());//减掉一级分销商分佣技师承担 @@ -1826,9 +1870,9 @@ public class WxServiceImpl implements WxService { //平台扣款 BigDecimal pingMoney = orders.getPayMoney(); pingMoney = pingMoney.subtract(artificerPrice); - pingMoney = pingMoney.subtract(shopMoney); // pingMoney = pingMoney.subtract(oneArtificerMoney); - pingMoney = pingMoney.subtract(jjrMoney); + pingMoney = pingMoney.subtract(orders.getJjrMoney()); + pingMoney = pingMoney.subtract(shopMoney); // pingMoney = pingMoney.subtract(oneUserMoney); pingMoney = pingMoney.subtract(orders.getFxyOneMoney());//减掉一级分销商分佣 pingMoney = pingMoney.subtract(orders.getFxyTwoMoney());//减掉二级分销商分佣 @@ -2636,25 +2680,42 @@ public class WxServiceImpl implements WxService { // orders.setProjectBenefits(projectBenefits); orders.setProjectBenefits(artificerPrice); - UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); -// UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); -// BigDecimal oneArtificerMoney = BigDecimal.ZERO; -// if (oneArtificerUser != null && oneArtificerUser.getIsAgency() != null && oneArtificerUser.getIsAgency() == 1) { -// orders.setOneArtificerUserId(oneArtificerUser.getUserId()); -// orders.setOneArtificerUserName(oneArtificerUser.getUserName()); -// oneArtificerMoney = artificerPrice.multiply(oneArtificerUser.getShopRate()); -// oneArtificerMoney = oneArtificerMoney.setScale(0, BigDecimal.ROUND_HALF_UP); -// } -// orders.setOneArtificerMoney(oneArtificerMoney); - UserEntity jjrUser = userService.queryByInvitationCode(artificerUser.getBlJjrCode()); - BigDecimal jjrMoney = BigDecimal.ZERO; - if (jjrUser != null) { - orders.setJjrUserId(jjrUser.getUserId()); - orders.setJjrUserName(jjrUser.getUserName()); - jjrMoney = jjrMoney.multiply(jjrUser.getBlJjrRate()); - jjrMoney = jjrMoney.setScale(2, BigDecimal.ROUND_HALF_UP); + UserEntity user = userService.selectUserById(orders.getUserId()); + JjrConfig jc = jjrConfigService.getOne(new QueryWrapper()); + if(jc.getIsOpen().equals(1)){ + UserEntity jjrUser = userService.queryByInvitationCode(user.getBlJjrCode()); + JjrApply jjrApply = jjrApplyService.findByUserId(jjrUser.getUserId()); + if(jjrApply.getStatus().equals(1)){ + if(jjrUser!=null && jjrUser.getBlIsJjr() !=null && jjrUser.getBlIsJjr() ==1){ + orders.setJjrUserId(jjrUser.getUserId()); + orders.setJjrUserName(jjrUser.getUserName()); + BigDecimal artificerRate = jc.getArtificerRate(); + BigDecimal agentRate = jc.getAgentRate(); + BigDecimal jjrRate = BigDecimal.ZERO; + if(jc.getType().equals(1)){ + jjrRate = jc.getRate(); + }else{ + int invitationCn = jjrApplyService.getInvitationCn(user.getBlJjrCode()); + List list = jjrConfigServiceLevel.findList(null); + for(int i=0;ijjrcl.getMinNumber() && invitationCn<=jjrcl.getMaxNumber()){ + jjrRate = jjrcl.getRate(); + break; + } + } + } + BigDecimal jjrMoney = subtract.multiply(jjrRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setJjrMoney(jjrMoney); + BigDecimal jjrOneArtificerDeductMoney = jjrMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + orders.setJjrArtificerDeductMoney(jjrOneArtificerDeductMoney); + } + } + }else{ + orders.setJjrMoney(BigDecimal.ZERO); + orders.setJjrArtificerDeductMoney(BigDecimal.ZERO); } - orders.setJjrMoney(jjrMoney); + UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); BigDecimal shopMoney = BigDecimal.ZERO; if (artificerUser.getConsortiaId() != null) { Consortia consortia = consortiaService.getById(artificerUser.getConsortiaId()); @@ -2684,7 +2745,6 @@ public class WxServiceImpl implements WxService { //分销商分佣 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)){ @@ -2795,7 +2855,7 @@ public class WxServiceImpl implements WxService { } // artificerPrice = artificerPrice.subtract(oneArtificerMoney); - artificerPrice = artificerPrice.subtract(jjrMoney); + artificerPrice = artificerPrice.subtract(orders.getJjrArtificerDeductMoney()); artificerPrice = artificerPrice.subtract(shopMoney); // artificerPrice = artificerPrice.subtract(oneUserMoney); artificerPrice = artificerPrice.subtract(orders.getFxyOneArtificerDeductMoney());//减掉一级分销商分佣技师承担 @@ -2811,9 +2871,9 @@ public class WxServiceImpl implements WxService { //平台扣款 BigDecimal pingMoney = orders.getPayMoney(); pingMoney = pingMoney.subtract(artificerPrice); - pingMoney = pingMoney.subtract(shopMoney); // pingMoney = pingMoney.subtract(oneArtificerMoney); - pingMoney = pingMoney.subtract(jjrMoney); + pingMoney = pingMoney.subtract(orders.getJjrMoney()); + pingMoney = pingMoney.subtract(shopMoney); // pingMoney = pingMoney.subtract(oneUserMoney); pingMoney = pingMoney.subtract(orders.getFxyOneMoney());//减掉一级分销商分佣 pingMoney = pingMoney.subtract(orders.getFxyTwoMoney());//减掉二级分销商分佣 diff --git a/src/main/resources/mapper/bl/commission/jjr/JjrApplyDao.xml b/src/main/resources/mapper/bl/commission/jjr/JjrApplyDao.xml index 4ec2ec5..5f3066d 100644 --- a/src/main/resources/mapper/bl/commission/jjr/JjrApplyDao.xml +++ b/src/main/resources/mapper/bl/commission/jjr/JjrApplyDao.xml @@ -26,6 +26,13 @@ order by id desc + + + + \ No newline at end of file