技师项目收益=总收益-车费

This commit is contained in:
曹磊 2024-07-11 22:03:55 +08:00
parent 91c52d90c4
commit 88ba6a7a9f
6 changed files with 190 additions and 119 deletions

View File

@ -100,6 +100,8 @@ public interface OrdersDao extends BaseMapper<Orders> {
BigDecimal selectOrdersArtificerIntegralEarnings(Long artificerId, String endDate, String startDate); BigDecimal selectOrdersArtificerIntegralEarnings(Long artificerId, String endDate, String startDate);
BigDecimal selectOrdersArtificerIntegralProjectEarnings(Long artificerId, String endDate, String startDate);
String selectOrdersArtificerIntegral(Long artificerId, String endDate, String startDate); String selectOrdersArtificerIntegral(Long artificerId, String endDate, String startDate);
String selectOrdersArtificerIntegraladdNum(Long artificerId, String endDate, String startDate); String selectOrdersArtificerIntegraladdNum(Long artificerId, String endDate, String startDate);

View File

@ -1289,11 +1289,13 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
if(oldOrders.getCouponMoney()!=null){ if(oldOrders.getCouponMoney()!=null){
massageMoney = massageMoney.subtract(oldOrders.getCouponMoney()); massageMoney = massageMoney.subtract(oldOrders.getCouponMoney());
} }
BigDecimal projectBenefits = massageMoney;
BigDecimal subtract = oldOrders.getPayMoney(); BigDecimal subtract = oldOrders.getPayMoney();
//计算用户收益 //计算用户收益
BigDecimal artificerPrice = subtract.multiply(artificer.getRate()); BigDecimal artificerPrice = subtract.multiply(artificer.getRate());
artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP);
// BigDecimal projectBenefits = massageMoney;
// projectBenefits = projectBenefits.multiply(artificer.getRate());
// projectBenefits = projectBenefits.setScale(2, BigDecimal.ROUND_HALF_UP);
if(oldOrders.getPayWay().equals(5)){ if(oldOrders.getPayWay().equals(5)){
BigDecimal rate = new BigDecimal(commonInfoService.findOne(449).getValue()); BigDecimal rate = new BigDecimal(commonInfoService.findOne(449).getValue());
ordersOld.setWalletRate(rate); ordersOld.setWalletRate(rate);
@ -1304,16 +1306,14 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
ordersOld.setValueStorageDeduction(valueStorageDeduction); ordersOld.setValueStorageDeduction(valueStorageDeduction);
artificerPrice = artificerPrice.multiply(rate); artificerPrice = artificerPrice.multiply(rate);
artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP);
projectBenefits = projectBenefits.multiply(artificer.getRate()); // projectBenefits = projectBenefits.multiply(rate);
projectBenefits = projectBenefits.multiply(rate); // ordersOld.setProjectBenefits(projectBenefits);
projectBenefits = projectBenefits.setScale(2, BigDecimal.ROUND_HALF_UP); ordersOld.setProjectBenefits(artificerPrice);
ordersOld.setProjectBenefits(projectBenefits);
}else{ }else{
ordersOld.setValueStorageDeduction(BigDecimal.ZERO); ordersOld.setValueStorageDeduction(BigDecimal.ZERO);
//计算技师项目提成金额 //计算技师项目提成金额
projectBenefits = projectBenefits.multiply(artificer.getRate()); // ordersOld.setProjectBenefits(projectBenefits);
projectBenefits = projectBenefits.setScale(2, BigDecimal.ROUND_HALF_UP); ordersOld.setProjectBenefits(artificerPrice);
ordersOld.setProjectBenefits(projectBenefits);
} }
UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); UserEntity artificerUser = userService.selectUserById(artificer.getUserId());
@ -2043,11 +2043,13 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
BigDecimal artificerPrice = orders.getPayMoney().subtract(taxiMoney); BigDecimal artificerPrice = orders.getPayMoney().subtract(taxiMoney);
artificerPrice = artificerPrice.multiply(artificer.getRate()); artificerPrice = artificerPrice.multiply(artificer.getRate());
artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP);
BigDecimal massageMoney = orders.getMassageMoney(); // BigDecimal massageMoney = orders.getMassageMoney();
if(orders.getCouponMoney()!=null){ // if(orders.getCouponMoney()!=null){
massageMoney = massageMoney.subtract(orders.getCouponMoney()); // massageMoney = massageMoney.subtract(orders.getCouponMoney());
} // }
BigDecimal projectBenefits = massageMoney; // BigDecimal projectBenefits = massageMoney;
// projectBenefits = projectBenefits.multiply(artificer.getRate());
// projectBenefits = projectBenefits.setScale(2, BigDecimal.ROUND_HALF_UP);
if(oldOrders.getPayWay().equals(5)){ if(oldOrders.getPayWay().equals(5)){
BigDecimal rate = new BigDecimal(commonInfoService.findOne(449).getValue()); BigDecimal rate = new BigDecimal(commonInfoService.findOne(449).getValue());
orders.setWalletRate(rate); orders.setWalletRate(rate);
@ -2058,16 +2060,15 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
orders.setValueStorageDeduction(valueStorageDeduction); orders.setValueStorageDeduction(valueStorageDeduction);
artificerPrice = artificerPrice.multiply(rate); artificerPrice = artificerPrice.multiply(rate);
artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP);
projectBenefits = projectBenefits.multiply(artificer.getRate()); // projectBenefits = projectBenefits.multiply(rate);
projectBenefits = projectBenefits.multiply(rate); // projectBenefits = projectBenefits.setScale(2, BigDecimal.ROUND_HALF_UP);
projectBenefits = projectBenefits.setScale(2, BigDecimal.ROUND_HALF_UP); // orders.setProjectBenefits(projectBenefits);
orders.setProjectBenefits(projectBenefits); orders.setProjectBenefits(artificerPrice);
}else{ }else{
orders.setValueStorageDeduction(BigDecimal.ZERO); orders.setValueStorageDeduction(BigDecimal.ZERO);
//计算技师项目提成金额 //计算技师项目提成金额
projectBenefits = projectBenefits.multiply(artificer.getRate()); // orders.setProjectBenefits(projectBenefits);
projectBenefits = projectBenefits.setScale(2, BigDecimal.ROUND_HALF_UP); orders.setProjectBenefits(artificerPrice);
orders.setProjectBenefits(projectBenefits);
} }
UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); UserEntity artificerUser = userService.selectUserById(artificer.getUserId());
@ -2262,16 +2263,17 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
//设置出租车扣款为0 //设置出租车扣款为0
ordersOld.setPingTaxiMoney(BigDecimal.ZERO); ordersOld.setPingTaxiMoney(BigDecimal.ZERO);
} }
BigDecimal massageMoney = oldOrders.getMassageMoney();
if(oldOrders.getCouponMoney()!=null){
massageMoney = massageMoney.subtract(oldOrders.getCouponMoney());
}
BigDecimal projectBenefits = massageMoney;
//计算用户收益 //计算用户收益
BigDecimal oldArtificerPrice = oldOrders.getPayMoney().subtract(oldOrders.getTaxiMoney()); BigDecimal oldArtificerPrice = oldOrders.getPayMoney().subtract(oldOrders.getTaxiMoney());
oldArtificerPrice = oldArtificerPrice.multiply(artificer.getRate()); oldArtificerPrice = oldArtificerPrice.multiply(artificer.getRate());
oldArtificerPrice = oldArtificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); oldArtificerPrice = oldArtificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP);
// BigDecimal massageMoney = oldOrders.getMassageMoney();
// if(oldOrders.getCouponMoney()!=null){
// massageMoney = massageMoney.subtract(oldOrders.getCouponMoney());
// }
// BigDecimal projectBenefits = massageMoney;
// projectBenefits = projectBenefits.multiply(artificer.getRate());
// projectBenefits = projectBenefits.setScale(2, BigDecimal.ROUND_HALF_UP);
if(oldOrders.getPayWay().equals(5)){ if(oldOrders.getPayWay().equals(5)){
BigDecimal rate = new BigDecimal(commonInfoService.findOne(449).getValue()); BigDecimal rate = new BigDecimal(commonInfoService.findOne(449).getValue());
ordersOld.setWalletRate(rate); ordersOld.setWalletRate(rate);
@ -2282,16 +2284,15 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
ordersOld.setValueStorageDeduction(oldValueStorageDeduction); ordersOld.setValueStorageDeduction(oldValueStorageDeduction);
oldArtificerPrice = oldArtificerPrice.multiply(rate); oldArtificerPrice = oldArtificerPrice.multiply(rate);
oldArtificerPrice = oldArtificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); oldArtificerPrice = oldArtificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP);
projectBenefits = projectBenefits.multiply(artificer.getRate()); // projectBenefits = projectBenefits.multiply(rate);
projectBenefits = projectBenefits.multiply(rate); // projectBenefits = projectBenefits.setScale(2, BigDecimal.ROUND_HALF_UP);
projectBenefits = projectBenefits.setScale(2, BigDecimal.ROUND_HALF_UP); // ordersOld.setProjectBenefits(projectBenefits);
ordersOld.setProjectBenefits(projectBenefits); ordersOld.setProjectBenefits(oldArtificerPrice);
}else{ }else{
ordersOld.setValueStorageDeduction(BigDecimal.ZERO); ordersOld.setValueStorageDeduction(BigDecimal.ZERO);
//计算技师项目提成金额 //计算技师项目提成金额
projectBenefits = projectBenefits.multiply(artificer.getRate()); // ordersOld.setProjectBenefits(projectBenefits);
projectBenefits = projectBenefits.setScale(2, BigDecimal.ROUND_HALF_UP); ordersOld.setProjectBenefits(oldArtificerPrice);
ordersOld.setProjectBenefits(projectBenefits);
} }
UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); UserEntity artificerUser = userService.selectUserById(artificer.getUserId());
@ -3305,40 +3306,40 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
orders.setPingTaxiMoney(pingTaxiMoney); orders.setPingTaxiMoney(pingTaxiMoney);
UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); UserEntity artificerUser = userService.selectUserById(artificer.getUserId());
UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); // UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode());
BigDecimal oneArtificerMoney = BigDecimal.ZERO; // BigDecimal oneArtificerMoney = BigDecimal.ZERO;
if (oneArtificerUser != null && oneArtificerUser.getIsAgency() != null && oneArtificerUser.getIsAgency() == 1) { // if (oneArtificerUser != null && oneArtificerUser.getIsAgency() != null && oneArtificerUser.getIsAgency() == 1) {
orders.setOneArtificerUserId(oneArtificerUser.getUserId()); // orders.setOneArtificerUserId(oneArtificerUser.getUserId());
orders.setOneArtificerUserName(oneArtificerUser.getUserName()); // orders.setOneArtificerUserName(oneArtificerUser.getUserName());
} // }
orders.setOneArtificerMoney(oneArtificerMoney); // orders.setOneArtificerMoney(oneArtificerMoney);
BigDecimal shopMoney = BigDecimal.ZERO; // BigDecimal shopMoney = BigDecimal.ZERO;
if (artificerUser.getConsortiaId() != null) { // if (artificerUser.getConsortiaId() != null) {
Consortia consortia = consortiaService.getById(artificerUser.getConsortiaId()); // Consortia consortia = consortiaService.getById(artificerUser.getConsortiaId());
if (consortia != null && consortia.getUserId() != null) { // if (consortia != null && consortia.getUserId() != null) {
UserEntity consortiaUser = userService.getById(consortia.getUserId()); // UserEntity consortiaUser = userService.getById(consortia.getUserId());
if (consortiaUser != null) { // if (consortiaUser != null) {
orders.setConsortiaId(consortia.getConsortiaId()); // orders.setConsortiaId(consortia.getConsortiaId());
orders.setShopUserId(consortiaUser.getUserId()); // orders.setShopUserId(consortiaUser.getUserId());
orders.setShopUserName(consortiaUser.getUserName()); // orders.setShopUserName(consortiaUser.getUserName());
} // }
} // }
} // }
orders.setShopMoney(shopMoney); // orders.setShopMoney(shopMoney);
artificerTaxiMoney = artificerTaxiMoney.subtract(oneArtificerMoney); // artificerTaxiMoney = artificerTaxiMoney.subtract(oneArtificerMoney);
artificerTaxiMoney = artificerTaxiMoney.subtract(shopMoney); // artificerTaxiMoney = artificerTaxiMoney.subtract(shopMoney);
orders.setArtificerMoney(artificerTaxiMoney); orders.setArtificerMoney(artificerTaxiMoney);
orders.setSumArtificerMoney(artificerTaxiMoney); orders.setSumArtificerMoney(artificerTaxiMoney);
UserEntity user = userService.selectUserById(orders.getUserId()); // UserEntity user = userService.selectUserById(orders.getUserId());
UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); // UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode());
BigDecimal oneUserMoney = BigDecimal.ZERO; // BigDecimal oneUserMoney = BigDecimal.ZERO;
if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { // if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) {
orders.setOneUserId(oneUser.getUserId()); // orders.setOneUserId(oneUser.getUserId());
orders.setOneUserName(oneUser.getUserName()); // orders.setOneUserName(oneUser.getUserName());
} // }
orders.setOneUserMoney(oneUserMoney); // orders.setOneUserMoney(oneUserMoney);
orders.setPingMoney(BigDecimal.ZERO); // orders.setPingMoney(BigDecimal.ZERO);
userMoneyService.updateMoney(1, artificerUser.getUserId(), orders.getSumArtificerMoney().doubleValue()); userMoneyService.updateMoney(1, artificerUser.getUserId(), orders.getSumArtificerMoney().doubleValue());
userMoneyDetails = new UserMoneyDetails(); userMoneyDetails = new UserMoneyDetails();
@ -3748,40 +3749,40 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
orders.setPingTaxiMoney(pingTaxiMoney); orders.setPingTaxiMoney(pingTaxiMoney);
UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); UserEntity artificerUser = userService.selectUserById(artificer.getUserId());
UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); // UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode());
BigDecimal oneArtificerMoney = BigDecimal.ZERO; // BigDecimal oneArtificerMoney = BigDecimal.ZERO;
if (oneArtificerUser != null && oneArtificerUser.getIsAgency() != null && oneArtificerUser.getIsAgency() == 1) { // if (oneArtificerUser != null && oneArtificerUser.getIsAgency() != null && oneArtificerUser.getIsAgency() == 1) {
orders.setOneArtificerUserId(oneArtificerUser.getUserId()); // orders.setOneArtificerUserId(oneArtificerUser.getUserId());
orders.setOneArtificerUserName(oneArtificerUser.getUserName()); // orders.setOneArtificerUserName(oneArtificerUser.getUserName());
} // }
orders.setOneArtificerMoney(oneArtificerMoney); // orders.setOneArtificerMoney(oneArtificerMoney);
BigDecimal shopMoney = BigDecimal.ZERO; // BigDecimal shopMoney = BigDecimal.ZERO;
if (artificerUser.getConsortiaId() != null) { // if (artificerUser.getConsortiaId() != null) {
Consortia consortia = consortiaService.getById(artificerUser.getConsortiaId()); // Consortia consortia = consortiaService.getById(artificerUser.getConsortiaId());
if (consortia != null && consortia.getUserId() != null) { // if (consortia != null && consortia.getUserId() != null) {
UserEntity consortiaUser = userService.getById(consortia.getUserId()); // UserEntity consortiaUser = userService.getById(consortia.getUserId());
if (consortiaUser != null) { // if (consortiaUser != null) {
orders.setConsortiaId(consortia.getConsortiaId()); // orders.setConsortiaId(consortia.getConsortiaId());
orders.setShopUserId(consortiaUser.getUserId()); // orders.setShopUserId(consortiaUser.getUserId());
orders.setShopUserName(consortiaUser.getUserName()); // orders.setShopUserName(consortiaUser.getUserName());
} // }
} // }
} // }
orders.setShopMoney(shopMoney); // orders.setShopMoney(shopMoney);
artificerTaxiMoney = artificerTaxiMoney.subtract(oneArtificerMoney); // artificerTaxiMoney = artificerTaxiMoney.subtract(oneArtificerMoney);
artificerTaxiMoney = artificerTaxiMoney.subtract(shopMoney); // artificerTaxiMoney = artificerTaxiMoney.subtract(shopMoney);
orders.setArtificerMoney(artificerTaxiMoney); orders.setArtificerMoney(artificerTaxiMoney);
orders.setSumArtificerMoney(artificerTaxiMoney); orders.setSumArtificerMoney(artificerTaxiMoney);
UserEntity user = userService.selectUserById(orders.getUserId()); // UserEntity user = userService.selectUserById(orders.getUserId());
UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); // UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode());
BigDecimal oneUserMoney = BigDecimal.ZERO; // BigDecimal oneUserMoney = BigDecimal.ZERO;
if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { // if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) {
orders.setOneUserId(oneUser.getUserId()); // orders.setOneUserId(oneUser.getUserId());
orders.setOneUserName(oneUser.getUserName()); // orders.setOneUserName(oneUser.getUserName());
} // }
orders.setOneUserMoney(oneUserMoney); // orders.setOneUserMoney(oneUserMoney);
orders.setPingMoney(BigDecimal.ZERO); // orders.setPingMoney(BigDecimal.ZERO);
userMoneyService.updateMoney(1, artificerUser.getUserId(), orders.getSumArtificerMoney().doubleValue()); userMoneyService.updateMoney(1, artificerUser.getUserId(), orders.getSumArtificerMoney().doubleValue());
userMoneyDetails = new UserMoneyDetails(); userMoneyDetails = new UserMoneyDetails();
@ -4813,17 +4814,21 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
//计算用户收益 计算前先减去通行费用再计算技师抽成 //计算用户收益 计算前先减去通行费用再计算技师抽成
artificerPrice = subtract.multiply(artificer.getRate()); artificerPrice = subtract.multiply(artificer.getRate());
artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP);
//储值扣费 //储值扣费
valueStorageDeduction = artificerPrice.multiply(storageRate);//技师提成中扣除金额 valueStorageDeduction = artificerPrice.multiply(storageRate);//技师提成中扣除金额
valueStorageDeduction = valueStorageDeduction.setScale(2, BigDecimal.ROUND_HALF_UP); valueStorageDeduction = valueStorageDeduction.setScale(2, BigDecimal.ROUND_HALF_UP);
orders.setValueStorageDeduction(valueStorageDeduction); orders.setValueStorageDeduction(valueStorageDeduction);
BigDecimal projectBenefits = orders.getProjectBenefits().multiply(rate);
projectBenefits = projectBenefits.setScale(2, BigDecimal.ROUND_HALF_UP);
orders.setProjectBenefits(projectBenefits);
//用户收益不含交通费 //用户收益不含交通费
artificerPrice = artificerPrice.multiply(rate); artificerPrice = artificerPrice.multiply(rate);
artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP);
// BigDecimal projectBenefits = orders.getProjectBenefits().multiply(rate);
// projectBenefits = projectBenefits.setScale(2, BigDecimal.ROUND_HALF_UP);
// orders.setProjectBenefits(projectBenefits);
orders.setProjectBenefits(artificerPrice);
UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); UserEntity artificerUser = userService.selectUserById(artificer.getUserId());
UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode());
BigDecimal oneArtificerMoney = BigDecimal.ZERO; BigDecimal oneArtificerMoney = BigDecimal.ZERO;
@ -4882,6 +4887,7 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
if(orders.getIsSupplement() != null){ if(orders.getIsSupplement() != null){
if(!orders.getIsSupplement().equals(2)){ if(!orders.getIsSupplement().equals(2)){
Orders oldOrders = baseMapper.selectById(orders.getOrdersId()); Orders oldOrders = baseMapper.selectById(orders.getOrdersId());
BigDecimal projectBenefits = orders.getProjectBenefits();
projectBenefits = projectBenefits.add(oldOrders.getProjectBenefits()); projectBenefits = projectBenefits.add(oldOrders.getProjectBenefits());
orders.setProjectBenefits(projectBenefits); orders.setProjectBenefits(projectBenefits);
} }
@ -5210,13 +5216,16 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
valueStorageDeduction = artificerPrice.multiply(storageRate);//技师提成中扣除金额 valueStorageDeduction = artificerPrice.multiply(storageRate);//技师提成中扣除金额
valueStorageDeduction = valueStorageDeduction.setScale(2, BigDecimal.ROUND_HALF_UP); valueStorageDeduction = valueStorageDeduction.setScale(2, BigDecimal.ROUND_HALF_UP);
orders.setValueStorageDeduction(valueStorageDeduction); orders.setValueStorageDeduction(valueStorageDeduction);
BigDecimal projectBenefits = orders.getProjectBenefits().multiply(rate);
projectBenefits = projectBenefits.setScale(2, BigDecimal.ROUND_HALF_UP);
orders.setProjectBenefits(projectBenefits);
//用户收益不含交通费 //用户收益不含交通费
artificerPrice = artificerPrice.multiply(rate); artificerPrice = artificerPrice.multiply(rate);
artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP);
// BigDecimal projectBenefits = orders.getProjectBenefits().multiply(rate);
// projectBenefits = projectBenefits.setScale(2, BigDecimal.ROUND_HALF_UP);
// orders.setProjectBenefits(projectBenefits);
orders.setProjectBenefits(artificerPrice);
UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); UserEntity artificerUser = userService.selectUserById(artificer.getUserId());
UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode());
BigDecimal oneArtificerMoney = BigDecimal.ZERO; BigDecimal oneArtificerMoney = BigDecimal.ZERO;
@ -5274,6 +5283,7 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
if(orders.getIsSupplement() != null){ if(orders.getIsSupplement() != null){
if(!orders.getIsSupplement().equals(2)){ if(!orders.getIsSupplement().equals(2)){
Orders oldOrders = baseMapper.selectById(orders.getOrdersId()); Orders oldOrders = baseMapper.selectById(orders.getOrdersId());
BigDecimal projectBenefits = orders.getProjectBenefits();
projectBenefits = projectBenefits.add(oldOrders.getProjectBenefits()); projectBenefits = projectBenefits.add(oldOrders.getProjectBenefits());
orders.setProjectBenefits(projectBenefits); orders.setProjectBenefits(projectBenefits);
} }
@ -6690,7 +6700,11 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
BigDecimal sy = ordersDao.selectOrdersArtificerIntegralEarnings(artificerId,endDate,startDate); BigDecimal sy = ordersDao.selectOrdersArtificerIntegralEarnings(artificerId,endDate,startDate);
userMoneyArtificerDetails.setTotalRevenue(sy); userMoneyArtificerDetails.setTotalRevenue(sy);
BigDecimal xmsy = ordersDao.selectOrdersArtificerIntegralProjectEarnings(artificerId,endDate,startDate);
userMoneyArtificerDetails.setProjectBenefits(xmsy);
BigDecimal cfsy = sy.subtract(xmsy);
userMoneyArtificerDetails.setVehicleFareAmount(cfsy);
//资金明细添加到返回对象中 //资金明细添加到返回对象中
return Result.success().put("data", userMoneyArtificerDetails); return Result.success().put("data", userMoneyArtificerDetails);

View File

@ -618,13 +618,16 @@ public class AliPayController {
valueStorageDeduction = artificerPrice.multiply(storageRate);//技师提成中扣除金额 valueStorageDeduction = artificerPrice.multiply(storageRate);//技师提成中扣除金额
valueStorageDeduction = valueStorageDeduction.setScale(2, BigDecimal.ROUND_HALF_UP); valueStorageDeduction = valueStorageDeduction.setScale(2, BigDecimal.ROUND_HALF_UP);
orders.setValueStorageDeduction(valueStorageDeduction); orders.setValueStorageDeduction(valueStorageDeduction);
BigDecimal projectBenefits = orders.getProjectBenefits().multiply(rate);
projectBenefits = projectBenefits.setScale(2, BigDecimal.ROUND_HALF_UP);
orders.setProjectBenefits(projectBenefits);
//用户收益不含交通费 //用户收益不含交通费
artificerPrice = artificerPrice.multiply(rate); artificerPrice = artificerPrice.multiply(rate);
artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP);
// BigDecimal projectBenefits = orders.getProjectBenefits().multiply(rate);
// projectBenefits = projectBenefits.setScale(2, BigDecimal.ROUND_HALF_UP);
// orders.setProjectBenefits(projectBenefits);
orders.setProjectBenefits(artificerPrice);
UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); UserEntity artificerUser = userService.selectUserById(artificer.getUserId());
UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode());
BigDecimal oneArtificerMoney = BigDecimal.ZERO; BigDecimal oneArtificerMoney = BigDecimal.ZERO;
@ -1548,13 +1551,16 @@ public class AliPayController {
valueStorageDeduction = artificerPrice.multiply(storageRate);//技师提成中扣除金额 valueStorageDeduction = artificerPrice.multiply(storageRate);//技师提成中扣除金额
valueStorageDeduction = valueStorageDeduction.setScale(2, BigDecimal.ROUND_HALF_UP); valueStorageDeduction = valueStorageDeduction.setScale(2, BigDecimal.ROUND_HALF_UP);
orders.setValueStorageDeduction(valueStorageDeduction); orders.setValueStorageDeduction(valueStorageDeduction);
BigDecimal projectBenefits = orders.getProjectBenefits().multiply(rate);
projectBenefits = projectBenefits.setScale(2, BigDecimal.ROUND_HALF_UP);
orders.setProjectBenefits(projectBenefits);
//用户收益不含交通费 //用户收益不含交通费
artificerPrice = artificerPrice.multiply(rate); artificerPrice = artificerPrice.multiply(rate);
artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP);
// BigDecimal projectBenefits = orders.getProjectBenefits().multiply(rate);
// projectBenefits = projectBenefits.setScale(2, BigDecimal.ROUND_HALF_UP);
// orders.setProjectBenefits(projectBenefits);
orders.setProjectBenefits(artificerPrice);
UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); UserEntity artificerUser = userService.selectUserById(artificer.getUserId());
UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode());
BigDecimal oneArtificerMoney = BigDecimal.ZERO; BigDecimal oneArtificerMoney = BigDecimal.ZERO;

View File

@ -1148,13 +1148,16 @@ public class WxServiceImpl implements WxService {
valueStorageDeduction = artificerPrice.multiply(storageRate);//技师提成中扣除金额 valueStorageDeduction = artificerPrice.multiply(storageRate);//技师提成中扣除金额
valueStorageDeduction = valueStorageDeduction.setScale(2, BigDecimal.ROUND_HALF_UP); valueStorageDeduction = valueStorageDeduction.setScale(2, BigDecimal.ROUND_HALF_UP);
orders.setValueStorageDeduction(valueStorageDeduction); orders.setValueStorageDeduction(valueStorageDeduction);
BigDecimal projectBenefits = orders.getProjectBenefits().multiply(rate);
projectBenefits = projectBenefits.setScale(2, BigDecimal.ROUND_HALF_UP);
orders.setProjectBenefits(projectBenefits);
//用户收益不含交通费 //用户收益不含交通费
artificerPrice = artificerPrice.multiply(rate); artificerPrice = artificerPrice.multiply(rate);
artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP);
// BigDecimal projectBenefits = orders.getProjectBenefits().multiply(rate);
// projectBenefits = projectBenefits.setScale(2, BigDecimal.ROUND_HALF_UP);
// orders.setProjectBenefits(projectBenefits);
orders.setProjectBenefits(artificerPrice);
UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); UserEntity artificerUser = userService.selectUserById(artificer.getUserId());
UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode());
BigDecimal oneArtificerMoney = BigDecimal.ZERO; BigDecimal oneArtificerMoney = BigDecimal.ZERO;
@ -1786,13 +1789,16 @@ public class WxServiceImpl implements WxService {
valueStorageDeduction = artificerPrice.multiply(storageRate);//技师提成中扣除金额 valueStorageDeduction = artificerPrice.multiply(storageRate);//技师提成中扣除金额
valueStorageDeduction = valueStorageDeduction.setScale(2, BigDecimal.ROUND_HALF_UP); valueStorageDeduction = valueStorageDeduction.setScale(2, BigDecimal.ROUND_HALF_UP);
orders.setValueStorageDeduction(valueStorageDeduction); orders.setValueStorageDeduction(valueStorageDeduction);
BigDecimal projectBenefits = orders.getProjectBenefits().multiply(rate);
projectBenefits = projectBenefits.setScale(2, BigDecimal.ROUND_HALF_UP);
orders.setProjectBenefits(projectBenefits);
//用户收益不含交通费 //用户收益不含交通费
artificerPrice = artificerPrice.multiply(rate); artificerPrice = artificerPrice.multiply(rate);
artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP);
// BigDecimal projectBenefits = orders.getProjectBenefits().multiply(rate);
// projectBenefits = projectBenefits.setScale(2, BigDecimal.ROUND_HALF_UP);
// orders.setProjectBenefits(projectBenefits);
orders.setProjectBenefits(artificerPrice);
UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); UserEntity artificerUser = userService.selectUserById(artificer.getUserId());
UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode());
BigDecimal oneArtificerMoney = BigDecimal.ZERO; BigDecimal oneArtificerMoney = BigDecimal.ZERO;

View File

@ -61,7 +61,7 @@ public class AllTaskServiceImpl implements AllTaskSercice {
* A0,A1,A2,A3,A4,A5等 * A0,A1,A2,A3,A4,A5等
*/ */
// @Scheduled(cron = "0 * * * * ?") // @Scheduled(cron = "0 * * * * ?")
@Scheduled(cron = "0 25 17 * * ?") // @Scheduled(cron = "0 00 21 * * ?")
public void upgradeJishi() { public void upgradeJishi() {
System.out.println("------------计算技师升级规则-----------"); System.out.println("------------计算技师升级规则-----------");
//1.获取全部参与积分规则的技师 //1.获取全部参与积分规则的技师
@ -84,7 +84,7 @@ public class AllTaskServiceImpl implements AllTaskSercice {
String lastMonth = format.format(calendar2.getTime()); String lastMonth = format.format(calendar2.getTime());
startTime = lastMonth+"-21 00:00:00"; startTime = lastMonth+"-21 00:00:00";
endTime = lastMonth+"-"+lastDayOfMonth+" 23:59:59"; endTime = lastMonth+"-"+lastDayOfMonth+" 23:59:59";
}else if(dayOfMonth == 12){ }else if(dayOfMonth == 11){
Calendar calendar4 = Calendar.getInstance(); Calendar calendar4 = Calendar.getInstance();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM"); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM");
String lastMonth = format.format(calendar4.getTime()); String lastMonth = format.format(calendar4.getTime());
@ -182,7 +182,6 @@ public class AllTaskServiceImpl implements AllTaskSercice {
} }
} }
//技师汇总逻辑 //技师汇总逻辑
QueryWrapper<BlArtificerZqhz> blArtificerZqhzQueryWrapper = new QueryWrapper<>(); QueryWrapper<BlArtificerZqhz> blArtificerZqhzQueryWrapper = new QueryWrapper<>();
blArtificerZqhzQueryWrapper.eq("artificer_id",jsPar.getArtificerId()); blArtificerZqhzQueryWrapper.eq("artificer_id",jsPar.getArtificerId());
@ -205,9 +204,6 @@ public class AllTaskServiceImpl implements AllTaskSercice {
blArtificerZqhz.setZxsc(zxscHour+""); blArtificerZqhz.setZxsc(zxscHour+"");
blArtificerZqhz.setJf(jsjfStr); blArtificerZqhz.setJf(jsjfStr);
blArtificerZqhzDao.insert(blArtificerZqhz); blArtificerZqhzDao.insert(blArtificerZqhz);
} }
} }
} }

View File

@ -1248,6 +1248,53 @@
and o.status in (3,5) and o.status in (3,5)
) t ) t
</select> </select>
<!--当期项目收益-->
<select id="selectOrdersArtificerIntegralProjectEarnings" resultType="java.math.BigDecimal">
select IFNULL(SUM(project_benefits_total),0) AS projectBenefits
from (
select
o.project_benefits + ifnull(o.add_artificer_money,0)
+ ifnull(o2.project_benefits,0) + ifnull(o2.add_artificer_money,0)
+ ifnull(o3.project_benefits,0) + ifnull(o3.add_artificer_money,0)
as project_benefits_total,
from orders o
left join orders o2 on o.old_orders_id = o2.orders_id and o2.status != 4
left join orders o3 on o2.old_orders_id = o3.orders_id and o3.status != 4
where o.artificer_id = #{artificerId}
and o.old_orders_id is not null
and o.status not in (4,11,15)
<if test="startDate!=null and startDate !=''">
and date_format(o.end_times,'%Y-%m-%d %H:%i:%s') >= #{startDate}
</if>
<if test="endDate!=null and endDate !=''">
and date_format(o.end_times,'%Y-%m-%d %H:%i:%s') &lt;= #{endDate}
</if>
and o.status in (3,5)
union all
select o.project_benefits + ifnull(o.add_artificer_money,0) as project_benefits_total
from orders o
where o.artificer_id = #{artificerId}
and o.parent_id = 0
and o.orders_id not in (
select orders_id from orders
where old_orders_id is not null
and status != 4
)
and o.orders_id not in (
select old_orders_id from orders
where old_orders_id is not null
and status != 4
)
<if test="startDate!=null and startDate !=''">
and date_format(o.end_times,'%Y-%m-%d %H:%i:%s') >= #{startDate}
</if>
<if test="endDate!=null and endDate !=''">
and date_format(o.end_times,'%Y-%m-%d %H:%i:%s') &lt;= #{endDate}
</if>
and o.status in (3,5)
) t
</select>
<!-- 订单数--> <!-- 订单数-->
<select id="selectOrdersArtificerIntegral" resultType="java.lang.String"> <select id="selectOrdersArtificerIntegral" resultType="java.lang.String">
select IFNULL( count(*),'0') AS currentPeriodOrdersSum select IFNULL( count(*),'0') AS currentPeriodOrdersSum