From cbae4fb643d5ab9bdfbb27a926df1ed2c05a3d24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com> Date: Fri, 2 Aug 2024 20:45:55 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B7=9D=E7=A6=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/OrdersServiceImpl.java | 120 +++++++++--------- .../pay/controller/app/AliPayController.java | 28 ++-- .../pay/service/impl/WxServiceImpl.java | 62 ++++----- .../mapper/artificer/ArtificerDao.xml | 1 + 4 files changed, 108 insertions(+), 103 deletions(-) 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 fd3ecdb..25a98b8 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 @@ -1315,7 +1315,7 @@ public class OrdersServiceImpl extends ServiceImpl implements ordersOld.setOneArtificerUserId(oneArtificerUser.getUserId()); ordersOld.setOneArtificerUserName(oneArtificerUser.getUserName()); oneArtificerMoney = artificerPrice.multiply(oneArtificerUser.getShopRate()); - oneArtificerMoney = oneArtificerMoney.setScale(0, BigDecimal.ROUND_UP); + oneArtificerMoney = oneArtificerMoney.setScale(0, BigDecimal.ROUND_HALF_UP); } ordersOld.setOneArtificerMoney(oneArtificerMoney); BigDecimal shopMoney = BigDecimal.ZERO; @@ -1328,13 +1328,24 @@ public class OrdersServiceImpl extends ServiceImpl implements ordersOld.setShopUserId(consortiaUser.getUserId()); ordersOld.setShopUserName(consortiaUser.getUserName()); shopMoney = artificerPrice.multiply(consortia.getRate()); - shopMoney = shopMoney.setScale(0, BigDecimal.ROUND_UP); + shopMoney = shopMoney.setScale(0, BigDecimal.ROUND_HALF_UP); } } } ordersOld.setShopMoney(shopMoney); + UserEntity user = userService.selectUserById(orders.getUserId()); + UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); + BigDecimal oneUserMoney = BigDecimal.ZERO; + if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { + ordersOld.setOneUserId(oneUser.getUserId()); + ordersOld.setOneUserName(oneUser.getUserName()); + oneUserMoney = artificerPrice.multiply(oneUser.getUserRate()); + oneUserMoney = oneUserMoney.setScale(0, BigDecimal.ROUND_HALF_UP); + } + ordersOld.setOneUserMoney(oneUserMoney); artificerPrice = artificerPrice.subtract(oneArtificerMoney); artificerPrice = artificerPrice.subtract(shopMoney); + artificerPrice = artificerPrice.subtract(oneUserMoney); ordersOld.setArtificerMoney(artificerPrice); ordersOld.setSumArtificerMoney(artificerPrice); @@ -1343,17 +1354,6 @@ public class OrdersServiceImpl extends ServiceImpl implements pingMoney = pingMoney.subtract(artificerPrice); pingMoney = pingMoney.subtract(shopMoney); pingMoney = pingMoney.subtract(oneArtificerMoney); - - UserEntity user = userService.selectUserById(orders.getUserId()); - UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); - BigDecimal oneUserMoney = BigDecimal.ZERO; - if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { - ordersOld.setOneUserId(oneUser.getUserId()); - ordersOld.setOneUserName(oneUser.getUserName()); - oneUserMoney = pingMoney.multiply(oneUser.getUserRate()); - oneUserMoney = oneUserMoney.setScale(0, BigDecimal.ROUND_UP); - } - ordersOld.setOneUserMoney(oneUserMoney); pingMoney = pingMoney.subtract(oneUserMoney); ordersOld.setPingMoney(pingMoney); @@ -1802,7 +1802,7 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setOneArtificerUserId(oneArtificerUser.getUserId()); orders.setOneArtificerUserName(oneArtificerUser.getUserName()); oneArtificerMoney = artificerPrice.multiply(oneArtificerUser.getShopRate()); - oneArtificerMoney = oneArtificerMoney.setScale(0, BigDecimal.ROUND_UP); + oneArtificerMoney = oneArtificerMoney.setScale(0, BigDecimal.ROUND_HALF_UP); } orders.setOneArtificerMoney(oneArtificerMoney); BigDecimal shopMoney = BigDecimal.ZERO; @@ -1815,13 +1815,24 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setShopUserId(consortiaUser.getUserId()); orders.setShopUserName(consortiaUser.getUserName()); shopMoney = artificerPrice.multiply(consortia.getRate()); - shopMoney = shopMoney.setScale(0, BigDecimal.ROUND_UP); + shopMoney = shopMoney.setScale(0, BigDecimal.ROUND_HALF_UP); } } } orders.setShopMoney(shopMoney); + UserEntity user = userService.selectUserById(orders.getUserId()); + UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); + BigDecimal oneUserMoney = BigDecimal.ZERO; + if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { + orders.setOneUserId(oneUser.getUserId()); + orders.setOneUserName(oneUser.getUserName()); + oneUserMoney = artificerPrice.multiply(oneUser.getUserRate()); + oneUserMoney = oneUserMoney.setScale(0, BigDecimal.ROUND_HALF_UP); + } + orders.setOneUserMoney(oneUserMoney); artificerPrice = artificerPrice.subtract(oneArtificerMoney); artificerPrice = artificerPrice.subtract(shopMoney); + artificerPrice = artificerPrice.subtract(oneUserMoney); orders.setArtificerMoney(artificerPrice); orders.setSumArtificerMoney(artificerPrice); @@ -1830,17 +1841,6 @@ public class OrdersServiceImpl extends ServiceImpl implements pingMoney = pingMoney.subtract(artificerPrice); pingMoney = pingMoney.subtract(shopMoney); pingMoney = pingMoney.subtract(oneArtificerMoney); - - UserEntity user = userService.selectUserById(orders.getUserId()); - UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); - BigDecimal oneUserMoney = BigDecimal.ZERO; - if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { - orders.setOneUserId(oneUser.getUserId()); - orders.setOneUserName(oneUser.getUserName()); - oneUserMoney = pingMoney.multiply(oneUser.getUserRate()); - oneUserMoney = oneUserMoney.setScale(0, BigDecimal.ROUND_UP); - } - orders.setOneUserMoney(oneUserMoney); pingMoney = pingMoney.subtract(oneUserMoney); orders.setPingMoney(pingMoney); orders.setStatus(9); @@ -2012,7 +2012,7 @@ public class OrdersServiceImpl extends ServiceImpl implements ordersOld.setOneArtificerUserId(oneArtificerUser.getUserId()); ordersOld.setOneArtificerUserName(oneArtificerUser.getUserName()); oneArtificerMoney = oldArtificerPrice.multiply(oneArtificerUser.getShopRate()); - oneArtificerMoney = oneArtificerMoney.setScale(0, BigDecimal.ROUND_UP); + oneArtificerMoney = oneArtificerMoney.setScale(0, BigDecimal.ROUND_HALF_UP); } ordersOld.setOneArtificerMoney(oneArtificerMoney); BigDecimal shopMoney = BigDecimal.ZERO; @@ -2025,13 +2025,24 @@ public class OrdersServiceImpl extends ServiceImpl implements ordersOld.setShopUserId(consortiaUser.getUserId()); ordersOld.setShopUserName(consortiaUser.getUserName()); shopMoney = oldArtificerPrice.multiply(consortia.getRate()); - shopMoney = shopMoney.setScale(0, BigDecimal.ROUND_UP); + shopMoney = shopMoney.setScale(0, BigDecimal.ROUND_HALF_UP); } } } ordersOld.setShopMoney(shopMoney); + UserEntity user = userService.selectUserById(orders.getUserId()); + UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); + BigDecimal oneUserMoney = BigDecimal.ZERO; + if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { + ordersOld.setOneUserId(oneUser.getUserId()); + ordersOld.setOneUserName(oneUser.getUserName()); + oneUserMoney = oldArtificerPrice.multiply(oneUser.getUserRate()); + oneUserMoney = oneUserMoney.setScale(0, BigDecimal.ROUND_HALF_UP); + } + ordersOld.setOneUserMoney(oneUserMoney); oldArtificerPrice = oldArtificerPrice.subtract(oneArtificerMoney); oldArtificerPrice = oldArtificerPrice.subtract(shopMoney); + oldArtificerPrice = oldArtificerPrice.subtract(oneUserMoney); ordersOld.setArtificerMoney(oldArtificerPrice); ordersOld.setSumArtificerMoney(oldArtificerPrice); @@ -2040,17 +2051,6 @@ public class OrdersServiceImpl extends ServiceImpl implements pingMoney = pingMoney.subtract(oldArtificerPrice); pingMoney = pingMoney.subtract(shopMoney); pingMoney = pingMoney.subtract(oneArtificerMoney); - - UserEntity user = userService.selectUserById(orders.getUserId()); - UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); - BigDecimal oneUserMoney = BigDecimal.ZERO; - if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { - ordersOld.setOneUserId(oneUser.getUserId()); - ordersOld.setOneUserName(oneUser.getUserName()); - oneUserMoney = pingMoney.multiply(oneUser.getUserRate()); - oneUserMoney = oneUserMoney.setScale(0, BigDecimal.ROUND_UP); - } - ordersOld.setOneUserMoney(oneUserMoney); pingMoney = pingMoney.subtract(oneUserMoney); ordersOld.setPingMoney(pingMoney); baseMapper.updateById(ordersOld);//原单暂变成挂单状态 @@ -2404,10 +2404,9 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setOneArtificerUserId(oneArtificerUser.getUserId()); orders.setOneArtificerUserName(oneArtificerUser.getUserName()); oneArtificerMoney = artificerMoney.multiply(oneArtificerUser.getShopRate()); - oneArtificerMoney = oneArtificerMoney.setScale(0, BigDecimal.ROUND_UP); + oneArtificerMoney = oneArtificerMoney.setScale(0, BigDecimal.ROUND_HALF_UP); } orders.setOneArtificerMoney(oneArtificerMoney); - BigDecimal shopMoney = BigDecimal.ZERO; if (artificerUser.getConsortiaId() != null) { Consortia consortia = consortiaService.getById(artificerUser.getConsortiaId()); @@ -2418,28 +2417,33 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setShopUserId(consortiaUser.getUserId()); orders.setShopUserName(consortiaUser.getUserName()); shopMoney = artificerMoney.multiply(consortia.getRate()); - shopMoney = shopMoney.setScale(0, BigDecimal.ROUND_UP); + shopMoney = shopMoney.setScale(0, BigDecimal.ROUND_HALF_UP); } } } orders.setShopMoney(shopMoney); - artificerMoney = artificerMoney.subtract(oneArtificerMoney); - artificerMoney = artificerMoney.subtract(shopMoney); - artificerMoney = artificerMoney.add(artificerTaxiMoney); - orders.setArtificerMoney(artificerMoney); - orders.setSumArtificerMoney(artificerMoney); - - //平台扣款 UserEntity user = userService.selectUserById(orders.getUserId()); UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); BigDecimal oneUserMoney = BigDecimal.ZERO; if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { orders.setOneUserId(oneUser.getUserId()); orders.setOneUserName(oneUser.getUserName()); - oneUserMoney = pingMoney.multiply(oneUser.getUserRate()); - oneUserMoney = oneUserMoney.setScale(0, BigDecimal.ROUND_UP); + oneUserMoney = artificerMoney.multiply(oneUser.getUserRate()); + oneUserMoney = oneUserMoney.setScale(0, BigDecimal.ROUND_HALF_UP); } orders.setOneUserMoney(oneUserMoney); + artificerMoney = artificerMoney.subtract(oneArtificerMoney); + artificerMoney = artificerMoney.subtract(shopMoney); + artificerMoney = artificerMoney.subtract(oneUserMoney); + + artificerMoney = artificerMoney.add(artificerTaxiMoney); + orders.setArtificerMoney(artificerMoney); + orders.setSumArtificerMoney(artificerMoney); + + //平台扣款 + pingMoney = pingMoney.subtract(artificerMoney); + pingMoney = pingMoney.subtract(oneArtificerMoney); + pingMoney = pingMoney.subtract(shopMoney); pingMoney = pingMoney.subtract(oneUserMoney); pingMoney = pingMoney.setScale(0, BigDecimal.ROUND_UP); orders.setPingMoney(pingMoney); @@ -2458,12 +2462,12 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单取消!"); if (orders.getShopUserId() != null) { userMoneyDetails.setContent("用户取消订单,总扣除:" + sumMoney + ",平台扣除:" + orders.getPingMoney() + - ",商家扣除:" + orders.getShopMoney() + ",用户代理扣除:" + orders.getOneUserMoney() + ",技师代理扣除:" + orders.getOneArtificerMoney() + + ",商家扣除:" + orders.getShopMoney() + ",分销员扣除:" + orders.getOneUserMoney() + ",经纪人扣除:" + orders.getOneArtificerMoney() + ",车费:" + orders.getTaxiMoney() + ",平台扣除车费:" + orders.getPingTaxiMoney() + ",到账车费:" + orders.getArtificerTaxiMoney() + ",到账总金额:" + orders.getSumArtificerMoney()); } else { userMoneyDetails.setContent("用户取消订单,总扣除:" + sumMoney + ",平台扣除:" + orders.getPingMoney() + - ",用户代理扣除:" + orders.getOneUserMoney() + ",技师代理扣除:" + orders.getOneArtificerMoney() + + ",分销员扣除:" + orders.getOneUserMoney() + ",经纪人扣除:" + orders.getOneArtificerMoney() + ",车费:" + orders.getTaxiMoney() + ",平台扣除车费:" + orders.getPingTaxiMoney() + ",到账车费:" + orders.getArtificerTaxiMoney() + ",到账总金额:" + orders.getSumArtificerMoney()); } @@ -2487,7 +2491,7 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setMoney(orders.getOneUserMoney()); userMoneyDetails.setUserId(oneUser.getUserId()); userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单取消!"); - userMoneyDetails.setContent("推广用户收益:"+orders.getOneUserMoney()); + userMoneyDetails.setContent("分销员收益:"+orders.getOneUserMoney()); userMoneyDetails.setType(1); userMoneyDetails.setState(2); userMoneyDetails.setClassify(5); @@ -2511,7 +2515,7 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setMoney(orders.getOneArtificerMoney()); userMoneyDetails.setUserId(oneArtificerUser.getUserId()); userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单取消!"); - userMoneyDetails.setContent("推广师傅收益:"+orders.getOneArtificerMoney()); + userMoneyDetails.setContent("经纪人收益:"+orders.getOneArtificerMoney()); userMoneyDetails.setType(1); userMoneyDetails.setState(2); userMoneyDetails.setClassify(6); @@ -2844,12 +2848,12 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单取消!"); if (orders.getShopUserId() != null) { userMoneyDetails.setContent("用户取消订单,总扣除:" + sumMoney + ",平台扣除:" + orders.getPingMoney() + - ",商家扣除:" + orders.getShopMoney() + ",用户代理扣除:" + orders.getOneUserMoney() + ",技师代理扣除:" + orders.getOneArtificerMoney() + + ",商家扣除:" + orders.getShopMoney() + ",分销员扣除:" + orders.getOneUserMoney() + ",经纪人扣除:" + orders.getOneArtificerMoney() + ",车费:" + orders.getTaxiMoney() + ",平台扣除车费:" + orders.getPingTaxiMoney() + ",到账车费:" + orders.getArtificerTaxiMoney() + ",到账总金额:" + orders.getSumArtificerMoney()); } else { userMoneyDetails.setContent("用户取消订单,总扣除:" + sumMoney + ",平台扣除:" + orders.getPingMoney() + - ",用户代理扣除:" + orders.getOneUserMoney() + ",技师代理扣除:" + orders.getOneArtificerMoney() + + ",分销员扣除:" + orders.getOneUserMoney() + ",经纪人扣除:" + orders.getOneArtificerMoney() + ",车费:" + orders.getTaxiMoney() + ",平台扣除车费:" + orders.getPingTaxiMoney() + ",到账车费:" + orders.getArtificerTaxiMoney() + ",到账总金额:" + orders.getSumArtificerMoney()); } @@ -4661,8 +4665,8 @@ 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(shopMoney); pingMoney = pingMoney.subtract(oneUserMoney); orders.setPingMoney(pingMoney); 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 8ee653c..e70e015 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 @@ -590,7 +590,7 @@ public class AliPayController { if ("是".equals(taxi)) { //计算技师应该收取的出租车费用 artificerTaxiPrice = taxiMoney.multiply(artificer.getRate()); - artificerTaxiPrice = artificerTaxiPrice.setScale(2, BigDecimal.ROUND_HALF_UP); + artificerTaxiPrice = artificerTaxiPrice.setScale(0, BigDecimal.ROUND_UP); //计算出租车扣款 BigDecimal pingTaxiMoney = taxiMoney.subtract(artificerTaxiPrice); //赋值技师出租收款 @@ -613,15 +613,15 @@ public class AliPayController { } //计算用户收益 !计算前先减去通行费用再计算技师抽成 artificerPrice = subtract.multiply(artificer.getRate()); - artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); + artificerPrice = artificerPrice.setScale(0, BigDecimal.ROUND_UP); //储值扣费 valueStorageDeduction = artificerPrice.multiply(storageRate);//技师提成中扣除金额 - valueStorageDeduction = valueStorageDeduction.setScale(2, BigDecimal.ROUND_HALF_UP); + valueStorageDeduction = valueStorageDeduction.setScale(0, BigDecimal.ROUND_UP); orders.setValueStorageDeduction(valueStorageDeduction); //用户收益不含交通费 artificerPrice = artificerPrice.multiply(rate); - artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); + artificerPrice = artificerPrice.setScale(0, BigDecimal.ROUND_UP); // BigDecimal projectBenefits = orders.getProjectBenefits().multiply(rate); // projectBenefits = projectBenefits.setScale(2, BigDecimal.ROUND_HALF_UP); @@ -635,7 +635,7 @@ public class AliPayController { orders.setOneArtificerUserId(oneArtificerUser.getUserId()); orders.setOneArtificerUserName(oneArtificerUser.getUserName()); oneArtificerMoney = artificerPrice.multiply(oneArtificerUser.getShopRate()); - oneArtificerMoney = oneArtificerMoney.setScale(2, BigDecimal.ROUND_HALF_UP); + oneArtificerMoney = oneArtificerMoney.setScale(0, BigDecimal.ROUND_HALF_UP); } orders.setOneArtificerMoney(oneArtificerMoney); BigDecimal shopMoney = BigDecimal.ZERO; @@ -648,7 +648,7 @@ public class AliPayController { orders.setShopUserId(consortiaUser.getUserId()); orders.setShopUserName(consortiaUser.getUserName()); shopMoney = artificerPrice.multiply(consortia.getRate()); - shopMoney = shopMoney.setScale(2, BigDecimal.ROUND_HALF_UP); + shopMoney = shopMoney.setScale(0, BigDecimal.ROUND_HALF_UP); } } } @@ -660,7 +660,7 @@ public class AliPayController { orders.setOneUserId(oneUser.getUserId()); orders.setOneUserName(oneUser.getUserName()); oneUserMoney = artificerPrice.multiply(oneUser.getUserRate()); - oneUserMoney = oneUserMoney.setScale(2, BigDecimal.ROUND_HALF_UP); + oneUserMoney = oneUserMoney.setScale(0, BigDecimal.ROUND_HALF_UP); } orders.setOneUserMoney(oneUserMoney); artificerPrice = artificerPrice.subtract(oneArtificerMoney); @@ -1920,7 +1920,7 @@ public class AliPayController { if ("是".equals(taxi)) { //计算技师应该收取的出租车费用 artificerTaxiPrice = taxiMoney.multiply(artificer.getRate()); - artificerTaxiPrice = artificerTaxiPrice.setScale(2, BigDecimal.ROUND_HALF_UP); + artificerTaxiPrice = artificerTaxiPrice.setScale(0, BigDecimal.ROUND_UP); //计算出租车扣款 BigDecimal pingTaxiMoney = taxiMoney.subtract(artificerTaxiPrice); //赋值技师出租收款 @@ -1943,15 +1943,15 @@ public class AliPayController { } //计算用户收益 !计算前先减去通行费用再计算技师抽成 artificerPrice = subtract.multiply(artificer.getRate()); - artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); + artificerPrice = artificerPrice.setScale(0, BigDecimal.ROUND_UP); //储值扣费 valueStorageDeduction = artificerPrice.multiply(storageRate);//技师提成中扣除金额 - valueStorageDeduction = valueStorageDeduction.setScale(2, BigDecimal.ROUND_HALF_UP); + valueStorageDeduction = valueStorageDeduction.setScale(0, BigDecimal.ROUND_UP); orders.setValueStorageDeduction(valueStorageDeduction); //用户收益不含交通费 artificerPrice = artificerPrice.multiply(rate); - artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); + artificerPrice = artificerPrice.setScale(0, BigDecimal.ROUND_UP); // BigDecimal projectBenefits = orders.getProjectBenefits().multiply(rate); // projectBenefits = projectBenefits.setScale(2, BigDecimal.ROUND_HALF_UP); @@ -1965,7 +1965,7 @@ public class AliPayController { orders.setOneArtificerUserId(oneArtificerUser.getUserId()); orders.setOneArtificerUserName(oneArtificerUser.getUserName()); oneArtificerMoney = artificerPrice.multiply(oneArtificerUser.getShopRate()); - oneArtificerMoney = oneArtificerMoney.setScale(2, BigDecimal.ROUND_HALF_UP); + oneArtificerMoney = oneArtificerMoney.setScale(0, BigDecimal.ROUND_HALF_UP); } orders.setOneArtificerMoney(oneArtificerMoney); BigDecimal shopMoney = BigDecimal.ZERO; @@ -1978,7 +1978,7 @@ public class AliPayController { orders.setShopUserId(consortiaUser.getUserId()); orders.setShopUserName(consortiaUser.getUserName()); shopMoney = artificerPrice.multiply(consortia.getRate()); - shopMoney = shopMoney.setScale(2, BigDecimal.ROUND_HALF_UP); + shopMoney = shopMoney.setScale(0, BigDecimal.ROUND_HALF_UP); } } } @@ -1990,7 +1990,7 @@ public class AliPayController { orders.setOneUserId(oneUser.getUserId()); orders.setOneUserName(oneUser.getUserName()); oneUserMoney = artificerPrice.multiply(oneUser.getUserRate()); - oneUserMoney = oneUserMoney.setScale(2, BigDecimal.ROUND_HALF_UP); + oneUserMoney = oneUserMoney.setScale(0, BigDecimal.ROUND_HALF_UP); } orders.setOneUserMoney(oneUserMoney); artificerPrice = artificerPrice.subtract(oneArtificerMoney); 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 5831428..4927b46 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 @@ -798,7 +798,7 @@ public class WxServiceImpl implements WxService { if ("是".equals(taxi)) { //计算技师应该收取的出租车费用 artificerTaxiPrice = taxiMoney.multiply(artificer.getRate()); - artificerTaxiPrice = artificerTaxiPrice.setScale(2, BigDecimal.ROUND_HALF_UP); + artificerTaxiPrice = artificerTaxiPrice.setScale(0, BigDecimal.ROUND_UP); //计算出租车扣款 BigDecimal pingTaxiMoney = taxiMoney.subtract(artificerTaxiPrice); //赋值技师出租收款 @@ -821,15 +821,15 @@ public class WxServiceImpl implements WxService { } //计算用户收益 !计算前先减去通行费用再计算技师抽成 artificerPrice = subtract.multiply(artificer.getRate()); - artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); + artificerPrice = artificerPrice.setScale(0, BigDecimal.ROUND_UP); //储值扣费 valueStorageDeduction = artificerPrice.multiply(storageRate);//技师提成中扣除金额 - valueStorageDeduction = valueStorageDeduction.setScale(2, BigDecimal.ROUND_HALF_UP); + valueStorageDeduction = valueStorageDeduction.setScale(0, BigDecimal.ROUND_UP); orders.setValueStorageDeduction(valueStorageDeduction); //用户收益不含交通费 artificerPrice = artificerPrice.multiply(rate); - artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); + artificerPrice = artificerPrice.setScale(0, BigDecimal.ROUND_UP); orders.setProjectBenefits(artificerPrice); @@ -840,7 +840,7 @@ public class WxServiceImpl implements WxService { orders.setOneArtificerUserId(oneArtificerUser.getUserId()); orders.setOneArtificerUserName(oneArtificerUser.getUserName()); oneArtificerMoney = artificerPrice.multiply(oneArtificerUser.getShopRate()); - oneArtificerMoney = oneArtificerMoney.setScale(2, BigDecimal.ROUND_HALF_UP); + oneArtificerMoney = oneArtificerMoney.setScale(0, BigDecimal.ROUND_HALF_UP); } orders.setOneArtificerMoney(oneArtificerMoney); BigDecimal shopMoney = BigDecimal.ZERO; @@ -853,13 +853,24 @@ public class WxServiceImpl implements WxService { orders.setShopUserId(consortiaUser.getUserId()); orders.setShopUserName(consortiaUser.getUserName()); shopMoney = artificerPrice.multiply(consortia.getRate()); - shopMoney = shopMoney.setScale(2, BigDecimal.ROUND_HALF_UP); + shopMoney = shopMoney.setScale(0, BigDecimal.ROUND_HALF_UP); } } } orders.setShopMoney(shopMoney); + UserEntity user = userService.selectUserById(orders.getUserId()); + UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); + BigDecimal oneUserMoney = BigDecimal.ZERO; + if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { + orders.setOneUserId(oneUser.getUserId()); + orders.setOneUserName(oneUser.getUserName()); + oneUserMoney = artificerPrice.multiply(oneUser.getUserRate()); + oneUserMoney = oneUserMoney.setScale(2, BigDecimal.ROUND_HALF_UP); + } + orders.setOneUserMoney(oneUserMoney); artificerPrice = artificerPrice.subtract(oneArtificerMoney); artificerPrice = artificerPrice.subtract(shopMoney); + artificerPrice = artificerPrice.subtract(oneUserMoney); if(orders.getIsSupplement()!=null && orders.getIsSupplement().equals(2)){ }else{ //用户收益加上通行费用 @@ -873,17 +884,6 @@ public class WxServiceImpl implements WxService { pingMoney = pingMoney.subtract(artificerPrice); pingMoney = pingMoney.subtract(shopMoney); pingMoney = pingMoney.subtract(oneArtificerMoney); - - UserEntity user = userService.selectUserById(orders.getUserId()); - UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); - BigDecimal oneUserMoney = BigDecimal.ZERO; - if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { - orders.setOneUserId(oneUser.getUserId()); - orders.setOneUserName(oneUser.getUserName()); - oneUserMoney = pingMoney.multiply(oneUser.getUserRate()); - oneUserMoney = oneUserMoney.setScale(2, BigDecimal.ROUND_HALF_UP); - } - orders.setOneUserMoney(oneUserMoney); pingMoney = pingMoney.subtract(oneUserMoney); orders.setPingMoney(pingMoney); @@ -1392,7 +1392,7 @@ public class WxServiceImpl implements WxService { if ("是".equals(taxi)) { //计算技师应该收取的出租车费用 artificerTaxiPrice = taxiMoney.multiply(artificer.getRate()); - artificerTaxiPrice = artificerTaxiPrice.setScale(2, BigDecimal.ROUND_HALF_UP); + artificerTaxiPrice = artificerTaxiPrice.setScale(0, BigDecimal.ROUND_UP); //计算出租车扣款 BigDecimal pingTaxiMoney = taxiMoney.subtract(artificerTaxiPrice); //赋值技师出租收款 @@ -1415,15 +1415,15 @@ public class WxServiceImpl implements WxService { } //计算用户收益 !计算前先减去通行费用再计算技师抽成 artificerPrice = subtract.multiply(artificer.getRate()); - artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); + artificerPrice = artificerPrice.setScale(0, BigDecimal.ROUND_UP); //储值扣费 valueStorageDeduction = artificerPrice.multiply(storageRate);//技师提成中扣除金额 - valueStorageDeduction = valueStorageDeduction.setScale(2, BigDecimal.ROUND_HALF_UP); + valueStorageDeduction = valueStorageDeduction.setScale(0, BigDecimal.ROUND_UP); orders.setValueStorageDeduction(valueStorageDeduction); //用户收益不含交通费 artificerPrice = artificerPrice.multiply(rate); - artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); + artificerPrice = artificerPrice.setScale(0, BigDecimal.ROUND_UP); // BigDecimal projectBenefits = orders.getProjectBenefits().multiply(rate); // projectBenefits = projectBenefits.setScale(2, BigDecimal.ROUND_HALF_UP); @@ -1437,7 +1437,7 @@ public class WxServiceImpl implements WxService { orders.setOneArtificerUserId(oneArtificerUser.getUserId()); orders.setOneArtificerUserName(oneArtificerUser.getUserName()); oneArtificerMoney = artificerPrice.multiply(oneArtificerUser.getShopRate()); - oneArtificerMoney = oneArtificerMoney.setScale(2, BigDecimal.ROUND_HALF_UP); + oneArtificerMoney = oneArtificerMoney.setScale(0, BigDecimal.ROUND_HALF_UP); } orders.setOneArtificerMoney(oneArtificerMoney); BigDecimal shopMoney = BigDecimal.ZERO; @@ -1450,7 +1450,7 @@ public class WxServiceImpl implements WxService { orders.setShopUserId(consortiaUser.getUserId()); orders.setShopUserName(consortiaUser.getUserName()); shopMoney = artificerPrice.multiply(consortia.getRate()); - shopMoney = shopMoney.setScale(2, BigDecimal.ROUND_HALF_UP); + shopMoney = shopMoney.setScale(0, BigDecimal.ROUND_HALF_UP); } } } @@ -1462,7 +1462,7 @@ public class WxServiceImpl implements WxService { orders.setOneUserId(oneUser.getUserId()); orders.setOneUserName(oneUser.getUserName()); oneUserMoney = artificerPrice.multiply(oneUser.getUserRate()); - oneUserMoney = oneUserMoney.setScale(2, BigDecimal.ROUND_HALF_UP); + oneUserMoney = oneUserMoney.setScale(0, BigDecimal.ROUND_HALF_UP); } orders.setOneUserMoney(oneUserMoney); artificerPrice = artificerPrice.subtract(oneArtificerMoney); @@ -2148,7 +2148,7 @@ public class WxServiceImpl implements WxService { if ("是".equals(taxi)) { //计算技师应该收取的出租车费用 artificerTaxiPrice = taxiMoney.multiply(artificer.getRate()); - artificerTaxiPrice = artificerTaxiPrice.setScale(2, BigDecimal.ROUND_HALF_UP); + artificerTaxiPrice = artificerTaxiPrice.setScale(0, BigDecimal.ROUND_UP); //计算出租车扣款 BigDecimal pingTaxiMoney = taxiMoney.subtract(artificerTaxiPrice); //赋值技师出租收款 @@ -2171,15 +2171,15 @@ public class WxServiceImpl implements WxService { } //计算用户收益 !计算前先减去通行费用再计算技师抽成 artificerPrice = subtract.multiply(artificer.getRate()); - artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); + artificerPrice = artificerPrice.setScale(0, BigDecimal.ROUND_UP); //储值扣费 valueStorageDeduction = artificerPrice.multiply(storageRate);//技师提成中扣除金额 - valueStorageDeduction = valueStorageDeduction.setScale(2, BigDecimal.ROUND_HALF_UP); + valueStorageDeduction = valueStorageDeduction.setScale(0, BigDecimal.ROUND_UP); orders.setValueStorageDeduction(valueStorageDeduction); //用户收益不含交通费 artificerPrice = artificerPrice.multiply(rate); - artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); + artificerPrice = artificerPrice.setScale(0, BigDecimal.ROUND_UP); // BigDecimal projectBenefits = orders.getProjectBenefits().multiply(rate); // projectBenefits = projectBenefits.setScale(2, BigDecimal.ROUND_HALF_UP); @@ -2193,7 +2193,7 @@ public class WxServiceImpl implements WxService { orders.setOneArtificerUserId(oneArtificerUser.getUserId()); orders.setOneArtificerUserName(oneArtificerUser.getUserName()); oneArtificerMoney = artificerPrice.multiply(oneArtificerUser.getShopRate()); - oneArtificerMoney = oneArtificerMoney.setScale(2, BigDecimal.ROUND_HALF_UP); + oneArtificerMoney = oneArtificerMoney.setScale(0, BigDecimal.ROUND_HALF_UP); } orders.setOneArtificerMoney(oneArtificerMoney); BigDecimal shopMoney = BigDecimal.ZERO; @@ -2206,7 +2206,7 @@ public class WxServiceImpl implements WxService { orders.setShopUserId(consortiaUser.getUserId()); orders.setShopUserName(consortiaUser.getUserName()); shopMoney = artificerPrice.multiply(consortia.getRate()); - shopMoney = shopMoney.setScale(2, BigDecimal.ROUND_HALF_UP); + shopMoney = shopMoney.setScale(0, BigDecimal.ROUND_HALF_UP); } } } @@ -2218,7 +2218,7 @@ public class WxServiceImpl implements WxService { orders.setOneUserId(oneUser.getUserId()); orders.setOneUserName(oneUser.getUserName()); oneUserMoney = artificerPrice.multiply(oneUser.getUserRate()); - oneUserMoney = oneUserMoney.setScale(2, BigDecimal.ROUND_HALF_UP); + oneUserMoney = oneUserMoney.setScale(0, BigDecimal.ROUND_HALF_UP); } orders.setOneUserMoney(oneUserMoney); artificerPrice = artificerPrice.subtract(oneArtificerMoney); diff --git a/src/main/resources/mapper/artificer/ArtificerDao.xml b/src/main/resources/mapper/artificer/ArtificerDao.xml index 5cac07f..74b2125 100644 --- a/src/main/resources/mapper/artificer/ArtificerDao.xml +++ b/src/main/resources/mapper/artificer/ArtificerDao.xml @@ -48,6 +48,7 @@ and a.longitude is not null and a.latitude is not null ) b + where distance <= 50000 order by