From 257d66798aa538f8737980f13d94c547bf0b51ea Mon Sep 17 00:00:00 2001 From: luodangjia <luodangjia> Date: 星期三, 15 一月 2025 15:37:15 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java | 419 ++++++++++++++++++++++++++++++++--------------------------- 1 files changed, 229 insertions(+), 190 deletions(-) diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java index 928e49f..bd55d78 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java @@ -8,19 +8,14 @@ import com.ruoyi.account.api.model.BalanceChangeRecord; import com.ruoyi.account.api.model.UserPoint; import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.order.service.CommissionService; import com.ruoyi.order.service.OrderGoodService; import com.ruoyi.order.service.OrderService; -import com.ruoyi.other.api.domain.Shop; -import com.ruoyi.other.api.domain.ShopBalanceStatement; -import com.ruoyi.other.api.domain.ShopPoint; -import com.ruoyi.other.api.domain.Technician; -import com.ruoyi.other.api.feignClient.ShopBalanceStatementClient; -import com.ruoyi.other.api.feignClient.ShopClient; +import com.ruoyi.other.api.domain.*; +import com.ruoyi.other.api.feignClient.*; import com.ruoyi.order.model.Order; import com.ruoyi.order.model.OrderGood; -import com.ruoyi.other.api.feignClient.ShopPointClient; -import com.ruoyi.other.api.feignClient.TechnicianClient; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -54,6 +49,8 @@ private ShopPointClient shopPointClient; @Resource private TechnicianClient technicianClient; + @Resource + private PointSettingClient pointSettingClient; @@ -61,19 +58,19 @@ @Transactional(rollbackFor = Exception.class) public void calculationCommission() { List<Order> list = orderService.list(new LambdaQueryWrapper<Order>().eq(Order::getIsCommission, 0).isNotNull(Order::getAfterSaleTime) - .eq(Order::getDelFlag, 0).last(" and after_sale_time <= now()")); + .eq(Order::getDelFlag, 0).ne(Order::getPayMethod, 3).last(" and after_sale_time <= now()")); List<Long> collect = list.stream().map(Order::getId).collect(Collectors.toList()); if(collect.size() == 0){ return; } for (Order order : list) { - if(order.getPayMethod() == 3){ - continue; - } List<OrderGood> orderGoods = orderGoodService.list(new LambdaQueryWrapper<OrderGood>() .eq(OrderGood::getOrderId, order.getId())); AppUser appUser = appUserClient.getAppUserById(order.getAppUserId()); + if(null == appUser){ + return; + } //直推上级分佣金额 BigDecimal ztsj_price = BigDecimal.ZERO; //直帮上级分佣金额 @@ -101,17 +98,30 @@ BigDecimal superiorSubcommission = orderGood.getSuperiorSubcommission(); //上级获得分佣积分(直推上级|直帮上级) Integer superiorRebatePoints = orderGood.getSuperiorRebatePoints(); - String[] split = orderGood.getSuperiorPriceType().split(","); - for (String s : split) { - //直推上级 - if("1".equals(s)){ - ztsj_price = ztsj_price.add(superiorSubcommission); - ztsj_point += superiorRebatePoints; + if(StringUtils.isNotEmpty(orderGood.getSuperiorPriceType())){ + String[] split = orderGood.getSuperiorPriceType().split(","); + for (String s : split) { + //直推上级 + if("1".equals(s)){ + ztsj_price = ztsj_price.add(superiorSubcommission); + } + //直帮上级 + if("2".equals(s)){ + zbsj_price = zbsj_price.add(superiorSubcommission); + } } - //直帮上级 - if("2".equals(s)){ - zbsj_price = zbsj_price.add(superiorSubcommission); - zbsj_point += superiorRebatePoints; + } + if(StringUtils.isNotEmpty(orderGood.getSuperiorType())){ + String[] split = orderGood.getSuperiorType().split(","); + for (String s : split) { + //直推上级 + if("1".equals(s)){ + ztsj_point += superiorRebatePoints; + } + //直帮上级 + if("2".equals(s)){ + zbsj_point += superiorRebatePoints; + } } } @@ -133,48 +143,65 @@ bdmdsj_point += orderGood.getBoundShopSuperiorsPoints(); } //直推上级 - AppUser inviteUser = appUserClient.getAppUserById(appUser.getInviteUserId()); - if(null != inviteUser){ - BigDecimal balance = inviteUser.getBalance(); - Integer lavePoint = inviteUser.getLavePoint(); - if(ztsj_price.compareTo(BigDecimal.ZERO) > 0){ - inviteUser.setTotalDistributionAmount(inviteUser.getTotalDistributionAmount().add(ztsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); - inviteUser.setBalance(inviteUser.getBalance().add(ztsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); - inviteUser.setWithdrawableAmount(inviteUser.getWithdrawableAmount().add(ztsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); - } - if(ztsj_point > 0){ - inviteUser.setSharePoint(inviteUser.getSharePoint() + ztsj_point); - inviteUser.setLavePoint(inviteUser.getLavePoint() + ztsj_point); - inviteUser.setTotalPoint(inviteUser.getTotalPoint() + ztsj_point); - } - appUserClient.editAppUserById(inviteUser); - //添加明细记录 - if(!inviteUser.getBalance().equals(balance)){ - BalanceChangeRecord balanceChangeRecord = new BalanceChangeRecord(); - balanceChangeRecord.setAppUserId(inviteUser.getId()); - balanceChangeRecord.setOrderId(order.getId()); - balanceChangeRecord.setChangeType(4); - balanceChangeRecord.setBeforeAmount(balance); - balanceChangeRecord.setChangeAmount(ztsj_price); - balanceChangeRecord.setAfterAmount(inviteUser.getBalance()); - balanceChangeRecord.setDelFlag(0); - balanceChangeRecord.setCreateTime(LocalDateTime.now()); - balanceChangeRecordClient.saveBalanceChangeRecord(balanceChangeRecord); - } - //添加积分明细 - if(!inviteUser.getLavePoint().equals(lavePoint)){ - UserPoint userPoint = new UserPoint(); - userPoint.setType(2); - userPoint.setHistoricalPoint(lavePoint); - userPoint.setVariablePoint(ztsj_point); - userPoint.setBalance(inviteUser.getLavePoint()); - userPoint.setCreateTime(LocalDateTime.now()); - userPoint.setAppUserId(inviteUser.getId()); - userPoint.setObjectId(order.getId()); - userPoint.setExtention(order.getOrderNumber()); - userPointClient.saveUserPoint(userPoint); + if(null != appUser.getInviteUserId()){ + AppUser inviteUser = appUserClient.getAppUserById(appUser.getInviteUserId()); + if(null != inviteUser){ + BigDecimal balance = inviteUser.getBalance(); + Integer lavePoint = inviteUser.getLavePoint(); + if(ztsj_price.compareTo(BigDecimal.ZERO) > 0){ + inviteUser.setTotalDistributionAmount(inviteUser.getTotalDistributionAmount().add(ztsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); + inviteUser.setBalance(inviteUser.getBalance().add(ztsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); + inviteUser.setWithdrawableAmount(inviteUser.getWithdrawableAmount().add(ztsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); + } + if(ztsj_point > 0){ + PointSetting pointSetting = pointSettingClient.getPointSetting(appUser.getVipId()).getData(); + int earnPoint1 = 0; + //计算可用积分比例 + if(null != pointSetting && 1 == pointSetting.getSharePointOpen()){ + earnPoint1 = new BigDecimal(ztsj_point).multiply(pointSetting.getSharePoint().divide(new BigDecimal(100))).intValue(); + } + inviteUser.setSharePoint(inviteUser.getSharePoint() + ztsj_point); + inviteUser.setLavePoint(inviteUser.getLavePoint() + ztsj_point); + inviteUser.setAvailablePoint(inviteUser.getAvailablePoint() + earnPoint1); + inviteUser.setTotalAvailablePoint(inviteUser.getTotalAvailablePoint() + earnPoint1); + if(null != pointSetting && 1 == pointSetting.getSharePointGift()){ + inviteUser.setTransferablePoint(inviteUser.getTransferablePoint() + earnPoint1); + } + inviteUser.setTotalPoint(inviteUser.getTotalPoint() + ztsj_point); + } + appUserClient.editAppUserById(inviteUser); + //添加明细记录 + if(!inviteUser.getBalance().equals(balance)){ + BalanceChangeRecord balanceChangeRecord = new BalanceChangeRecord(); + balanceChangeRecord.setAppUserId(inviteUser.getId()); + balanceChangeRecord.setVipId(inviteUser.getVipId()); + balanceChangeRecord.setOrderId(order.getId()); + balanceChangeRecord.setChangeType(4); + balanceChangeRecord.setBeforeAmount(balance); + balanceChangeRecord.setChangeAmount(ztsj_price); + balanceChangeRecord.setAfterAmount(inviteUser.getBalance()); + balanceChangeRecord.setDelFlag(0); + balanceChangeRecord.setCreateTime(LocalDateTime.now()); + balanceChangeRecordClient.saveBalanceChangeRecord(balanceChangeRecord); + } + //添加积分明细 + if(!inviteUser.getLavePoint().equals(lavePoint)){ + UserPoint userPoint = new UserPoint(); + userPoint.setType(2); + userPoint.setHistoricalPoint(lavePoint); + userPoint.setVariablePoint(ztsj_point); + userPoint.setBalance(inviteUser.getLavePoint()); + userPoint.setCreateTime(LocalDateTime.now()); + userPoint.setAppUserId(inviteUser.getId()); + userPoint.setObjectId(order.getId()); + userPoint.setExtention(order.getOrderNumber()); + userPointClient.saveUserPoint(userPoint); + //变更等级 + appUserClient.vipUpgrade(inviteUser.getId()); + } } } + //直帮上级 AppUser superiorLeader = appUserClient.getSuperiorLeader(appUser.getId()).getData(); if(null != superiorLeader){ @@ -186,8 +213,19 @@ superiorLeader.setWithdrawableAmount(superiorLeader.getWithdrawableAmount().add(zbsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); } if(zbsj_point > 0){ + PointSetting pointSetting = pointSettingClient.getPointSetting(appUser.getVipId()).getData(); + int earnPoint1 = 0; + //计算可用积分比例 + if(null != pointSetting && 1 == pointSetting.getSharePointOpen()){ + earnPoint1 = new BigDecimal(zbsj_point).multiply(pointSetting.getSharePoint().divide(new BigDecimal(100))).intValue(); + } superiorLeader.setSharePoint(superiorLeader.getSharePoint() + zbsj_point); superiorLeader.setLavePoint(superiorLeader.getLavePoint() + zbsj_point); + superiorLeader.setAvailablePoint(superiorLeader.getAvailablePoint() + earnPoint1); + superiorLeader.setTotalAvailablePoint(superiorLeader.getTotalAvailablePoint() + earnPoint1); + if(null != pointSetting && 1 == pointSetting.getSharePointGift()){ + superiorLeader.setTransferablePoint(superiorLeader.getTransferablePoint() + earnPoint1); + } superiorLeader.setTotalPoint(superiorLeader.getTotalPoint() + zbsj_point); } appUserClient.editAppUserById(superiorLeader); @@ -195,6 +233,7 @@ if(!superiorLeader.getBalance().equals(balance)){ BalanceChangeRecord balanceChangeRecord = new BalanceChangeRecord(); balanceChangeRecord.setAppUserId(superiorLeader.getId()); + balanceChangeRecord.setVipId(superiorLeader.getVipId()); balanceChangeRecord.setOrderId(order.getId()); balanceChangeRecord.setChangeType(4); balanceChangeRecord.setBeforeAmount(balance); @@ -216,6 +255,8 @@ userPoint.setObjectId(order.getId()); userPoint.setExtention(order.getOrderNumber()); userPointClient.saveUserPoint(userPoint); + //变更等级 + appUserClient.vipUpgrade(superiorLeader.getId()); } } @@ -223,15 +264,10 @@ Shop shop = shopClient.getShopById(order.getShopId()).getData(); AppUser shopAppUser = appUserClient.getAppUserById(shop.getAppUserId()); if(null != shopAppUser){ - BigDecimal balance = shopAppUser.getBalance(); BigDecimal shopBalance = shop.getBalance(); Integer lavePoint = shopAppUser.getLavePoint(); Integer shopLavePoint = shop.getLavePoint(); if(hxmd_price.compareTo(BigDecimal.ZERO) > 0){ - shopAppUser.setTotalDistributionAmount(shopAppUser.getTotalDistributionAmount().add(hxmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); - shopAppUser.setBalance(shopAppUser.getBalance().add(hxmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); - shopAppUser.setWithdrawableAmount(shopAppUser.getWithdrawableAmount().add(hxmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); - shopAppUser.setShopServiceFee(shopAppUser.getShopServiceFee().add(hxmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); //门店返佣 shop.setGiveawayAllMoney(shop.getGiveawayAllMoney().add(hxmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); shop.setServerGiveawayMoney(shop.getServerGiveawayMoney().add(hxmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); @@ -239,9 +275,20 @@ shop.setBalance(shop.getBalance().add(hxmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); } if(hxmd_point > 0){ - shopAppUser.setSharePoint(shopAppUser.getSharePoint() + hxmd_point); + PointSetting pointSetting = pointSettingClient.getPointSetting(appUser.getVipId()).getData(); + int earnPoint1 = 0; + //计算可用积分比例 + if(null != pointSetting && 1 == pointSetting.getShopPointOpen()){ + earnPoint1 = new BigDecimal(hxmd_point).multiply(pointSetting.getShopPoint().divide(new BigDecimal(100))).intValue(); + } shopAppUser.setLavePoint(shopAppUser.getLavePoint() + hxmd_point); + shopAppUser.setAvailablePoint(shopAppUser.getAvailablePoint() + earnPoint1); + shopAppUser.setTotalAvailablePoint(shopAppUser.getTotalAvailablePoint() + earnPoint1); + if(null != pointSetting && 1 == pointSetting.getShopPointGift()){ + shopAppUser.setTransferablePoint(shopAppUser.getTransferablePoint() + earnPoint1); + } shopAppUser.setTotalPoint(shopAppUser.getTotalPoint() + hxmd_point); + shopAppUser.setShopAchievementPoint(shopAppUser.getShopAchievementPoint() + hxmd_point); //门店返佣 shop.setShopAllPoint(shop.getShopAllPoint() + hxmd_point); shop.setServerPoint(shop.getServerPoint() + hxmd_point); @@ -250,19 +297,6 @@ appUserClient.editAppUserById(shopAppUser); shopClient.updateShop(shop); //添加明细记录 - if(!shopAppUser.getBalance().equals(balance)){ - BalanceChangeRecord balanceChangeRecord = new BalanceChangeRecord(); - balanceChangeRecord.setAppUserId(shopAppUser.getId()); - balanceChangeRecord.setOrderId(order.getId()); - balanceChangeRecord.setChangeType(4); - balanceChangeRecord.setBeforeAmount(balance); - balanceChangeRecord.setChangeAmount(hxmd_price); - balanceChangeRecord.setAfterAmount(shopAppUser.getBalance()); - balanceChangeRecord.setDelFlag(0); - balanceChangeRecord.setCreateTime(LocalDateTime.now()); - balanceChangeRecordClient.saveBalanceChangeRecord(balanceChangeRecord); - } - if(!shop.getBalance().equals(shopBalance)){ ShopBalanceStatement shopBalanceStatement = new ShopBalanceStatement(); shopBalanceStatement.setShopId(shop.getId()); @@ -279,7 +313,7 @@ //添加积分明细 if(!shopAppUser.getLavePoint().equals(lavePoint)){ UserPoint userPoint = new UserPoint(); - userPoint.setType(9); + userPoint.setType(8); userPoint.setHistoricalPoint(lavePoint); userPoint.setVariablePoint(hxmd_point); userPoint.setBalance(shopAppUser.getLavePoint()); @@ -288,12 +322,14 @@ userPoint.setObjectId(order.getId()); userPoint.setExtention(order.getOrderNumber()); userPointClient.saveUserPoint(userPoint); + //变更等级 + appUserClient.vipUpgrade(shopAppUser.getId()); } if(!shop.getLavePoint().equals(shopLavePoint)){ ShopPoint shopPoint = new ShopPoint(); shopPoint.setShopId(shop.getId()); - shopPoint.setType(4); + shopPoint.setType(1); shopPoint.setHistoricalPoint(shopLavePoint); shopPoint.setVariablePoint(hxmd_point); shopPoint.setBalance(shop.getLavePoint()); @@ -312,7 +348,18 @@ AppUser technicianAppUser = appUserClient.getAppUserById(technician.getAppUserId()); Integer lavePoint = technicianAppUser.getLavePoint(); if(js_point > 0){ + PointSetting pointSetting = pointSettingClient.getPointSetting(appUser.getVipId()).getData(); + int earnPoint1 = 0; + //计算可用积分比例 + if(null != pointSetting && 1 == pointSetting.getPersonPointOpen()){ + earnPoint1 = new BigDecimal(js_point).multiply(pointSetting.getPersonPoint().divide(new BigDecimal(100))).intValue(); + } technicianAppUser.setLavePoint(technicianAppUser.getLavePoint() + js_point); + technicianAppUser.setAvailablePoint(technicianAppUser.getAvailablePoint() + earnPoint1); + technicianAppUser.setTotalAvailablePoint(technicianAppUser.getTotalAvailablePoint() + earnPoint1); + if(null != pointSetting && 1 == pointSetting.getPersonPointGift()){ + technicianAppUser.setTransferablePoint(technicianAppUser.getTransferablePoint() + earnPoint1); + } technicianAppUser.setTotalPoint(technicianAppUser.getTotalPoint() + js_point); technicianAppUser.setTotalPerformancePoint(technicianAppUser.getTotalPerformancePoint() + js_point); } @@ -329,6 +376,8 @@ userPoint.setObjectId(order.getId()); userPoint.setExtention(order.getOrderNumber()); userPointClient.saveUserPoint(userPoint); + //变更等级 + appUserClient.vipUpgrade(technicianAppUser.getId()); } } } @@ -338,15 +387,10 @@ if(null != shop1){ AppUser bdShopAppUser = appUserClient.getAppUserById(shop1.getAppUserId()); if(null != bdShopAppUser){ - BigDecimal balance = bdShopAppUser.getBalance(); BigDecimal shopBalance = shop1.getBalance(); Integer lavePoint = bdShopAppUser.getLavePoint(); Integer shopLavePoint = shop1.getLavePoint(); if(bdmd_price.compareTo(BigDecimal.ZERO) > 0){ - bdShopAppUser.setTotalDistributionAmount(bdShopAppUser.getTotalDistributionAmount().add(bdmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); - bdShopAppUser.setBalance(bdShopAppUser.getBalance().add(bdmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); - bdShopAppUser.setWithdrawableAmount(bdShopAppUser.getWithdrawableAmount().add(bdmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); - bdShopAppUser.setShopCommission(bdShopAppUser.getShopCommission().add(bdmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); //门店返佣 shop1.setGiveawayAllMoney(shop1.getGiveawayAllMoney().add(bdmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); shop1.setGiveawayMoney(shop1.getGiveawayMoney().add(bdmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); @@ -354,9 +398,20 @@ shop1.setBalance(shop1.getBalance().add(bdmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); } if(bdmd_point > 0){ - bdShopAppUser.setSharePoint(bdShopAppUser.getSharePoint() + bdmd_point); + PointSetting pointSetting = pointSettingClient.getPointSetting(appUser.getVipId()).getData(); + int earnPoint1 = 0; + //计算可用积分比例 + if(null != pointSetting && 1 == pointSetting.getShopSharePointOpen()){ + earnPoint1 = new BigDecimal(bdmd_point).multiply(pointSetting.getShopSharePoint().divide(new BigDecimal(100))).intValue(); + } bdShopAppUser.setLavePoint(bdShopAppUser.getLavePoint() + bdmd_point); + bdShopAppUser.setAvailablePoint(bdShopAppUser.getAvailablePoint() + earnPoint1); + bdShopAppUser.setTotalAvailablePoint(bdShopAppUser.getTotalAvailablePoint() + earnPoint1); + if(null != pointSetting && 1 == pointSetting.getShopSharePointGift()){ + bdShopAppUser.setTransferablePoint(bdShopAppUser.getTransferablePoint() + earnPoint1); + } bdShopAppUser.setTotalPoint(bdShopAppUser.getTotalPoint() + bdmd_point); + bdShopAppUser.setShopSharePoint(bdShopAppUser.getShopSharePoint() + bdmd_point); //门店返佣 shop1.setShopAllPoint(shop1.getShopAllPoint() + bdmd_point); shop1.setSharePoint(shop1.getSharePoint() + bdmd_point); @@ -365,23 +420,10 @@ appUserClient.editAppUserById(bdShopAppUser); shopClient.updateShop(shop1); //添加明细记录 - if(!bdShopAppUser.getBalance().equals(balance)){ - BalanceChangeRecord balanceChangeRecord = new BalanceChangeRecord(); - balanceChangeRecord.setAppUserId(bdShopAppUser.getId()); - balanceChangeRecord.setOrderId(order.getId()); - balanceChangeRecord.setChangeType(4); - balanceChangeRecord.setBeforeAmount(balance); - balanceChangeRecord.setChangeAmount(bdmd_price); - balanceChangeRecord.setAfterAmount(bdShopAppUser.getBalance()); - balanceChangeRecord.setDelFlag(0); - balanceChangeRecord.setCreateTime(LocalDateTime.now()); - balanceChangeRecordClient.saveBalanceChangeRecord(balanceChangeRecord); - } - if(!shop1.getBalance().equals(shopBalance)){ ShopBalanceStatement shopBalanceStatement = new ShopBalanceStatement(); shopBalanceStatement.setShopId(shop1.getId()); - shopBalanceStatement.setType(4); + shopBalanceStatement.setType(1); shopBalanceStatement.setHistoricalBalance(shopBalance); shopBalanceStatement.setVariableAmount(bdmd_price); shopBalanceStatement.setBalance(shop1.getBalance()); @@ -403,6 +445,8 @@ userPoint.setObjectId(order.getId()); userPoint.setExtention(order.getOrderNumber()); userPointClient.saveUserPoint(userPoint); + //变更等级 + appUserClient.vipUpgrade(bdShopAppUser.getId()); } if(!shop1.getLavePoint().equals(shopLavePoint)){ @@ -422,98 +466,93 @@ } //上级门店分佣 - Integer pid = shopClient.getShopById(order.getShopId()).getData().getPid(); - Shop shop2 = shopClient.getShopById(pid).getData(); - if(null != shop2){ - AppUser sjShopAppUser = appUserClient.getAppUserById(shop2.getAppUserId()); - if(null != sjShopAppUser){ - BigDecimal balance = sjShopAppUser.getBalance(); - BigDecimal shopBalance = shop2.getBalance(); - Integer lavePoint = sjShopAppUser.getLavePoint(); - Integer shopLavePoint = shop2.getLavePoint(); - if(bdmdsj_price.compareTo(BigDecimal.ZERO) > 0){ - sjShopAppUser.setTotalDistributionAmount(sjShopAppUser.getTotalDistributionAmount().add(bdmdsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); - sjShopAppUser.setBalance(sjShopAppUser.getBalance().add(bdmdsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); - sjShopAppUser.setWithdrawableAmount(sjShopAppUser.getWithdrawableAmount().add(bdmdsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); - //门店返佣 - shop2.setGiveawayAllMoney(shop2.getGiveawayAllMoney().add(bdmdsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); - shop2.setLowerLevelGiveawayMoney(shop2.getLowerLevelGiveawayMoney().add(bdmdsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); - shop2.setCanWithdrawMoney(shop2.getCanWithdrawMoney().add(bdmdsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); - shop2.setBalance(shop2.getBalance().add(bdmdsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); - } - if(bdmdsj_point > 0){ - sjShopAppUser.setSharePoint(sjShopAppUser.getSharePoint() + bdmdsj_point); - sjShopAppUser.setLavePoint(sjShopAppUser.getLavePoint() + bdmdsj_point); - sjShopAppUser.setTotalPoint(sjShopAppUser.getTotalPoint() + bdmdsj_point); - sjShopAppUser.setShopSharePoint(sjShopAppUser.getShopSharePoint() + bdmdsj_point); - //门店返佣 - shop2.setShopAllPoint(shop2.getShopAllPoint() + bdmdsj_point); - shop2.setSharePoint(shop2.getSharePoint() + bdmdsj_point); - shop2.setLavePoint(shop2.getLavePoint() + bdmdsj_point); - } - appUserClient.editAppUserById(sjShopAppUser); - shopClient.updateShop(shop2); - //添加明细记录 - if(!sjShopAppUser.getBalance().equals(balance)){ - BalanceChangeRecord balanceChangeRecord = new BalanceChangeRecord(); - balanceChangeRecord.setAppUserId(sjShopAppUser.getId()); - balanceChangeRecord.setOrderId(order.getId()); - balanceChangeRecord.setChangeType(4); - balanceChangeRecord.setBeforeAmount(balance); - balanceChangeRecord.setChangeAmount(bdmdsj_price); - balanceChangeRecord.setAfterAmount(sjShopAppUser.getBalance()); - balanceChangeRecord.setDelFlag(0); - balanceChangeRecord.setCreateTime(LocalDateTime.now()); - balanceChangeRecordClient.saveBalanceChangeRecord(balanceChangeRecord); - } - - if(!shop2.getBalance().equals(shopBalance)){ - ShopBalanceStatement shopBalanceStatement = new ShopBalanceStatement(); - shopBalanceStatement.setShopId(shop2.getId()); - shopBalanceStatement.setType(2); - shopBalanceStatement.setHistoricalBalance(shopBalance); - shopBalanceStatement.setVariableAmount(bdmdsj_price); - shopBalanceStatement.setBalance(shop2.getBalance()); - shopBalanceStatement.setCreateTime(LocalDateTime.now()); - shopBalanceStatement.setCreateUserId(order.getAppUserId()); - shopBalanceStatement.setObjectId(order.getId()); - shopBalanceStatement.setExtension(order.getOrderNumber()); - shopBalanceStatementClient.saveShopBalanceStatement(shopBalanceStatement); - } - //添加积分明细 - if(!sjShopAppUser.getLavePoint().equals(lavePoint)){ - UserPoint userPoint = new UserPoint(); - userPoint.setType(14); - userPoint.setHistoricalPoint(lavePoint); - userPoint.setVariablePoint(bdmdsj_point); - userPoint.setBalance(sjShopAppUser.getLavePoint()); - userPoint.setCreateTime(LocalDateTime.now()); - userPoint.setAppUserId(sjShopAppUser.getId()); - userPoint.setObjectId(order.getId()); - userPoint.setExtention(order.getOrderNumber()); - userPointClient.saveUserPoint(userPoint); - } - - if(!shop2.getLavePoint().equals(shopLavePoint)){ - ShopPoint shopPoint = new ShopPoint(); - shopPoint.setShopId(shop2.getId()); - shopPoint.setType(3); - shopPoint.setHistoricalPoint(shopLavePoint); - shopPoint.setVariablePoint(bdmdsj_point); - shopPoint.setBalance(shop2.getLavePoint()); - shopPoint.setCreateTime(LocalDateTime.now()); - shopPoint.setCreateUserId(order.getAppUserId()); - shopPoint.setObjectId(order.getId()); - shopPoint.setOrderNum(order.getOrderNumber()); - shopPointClient.saveShopPoint(shopPoint); + if(null != shop1){ + Integer pid = shop1.getPid(); + Shop shop2 = shopClient.getShopById(pid).getData(); + if(null != shop2){ + AppUser sjShopAppUser = appUserClient.getAppUserById(shop2.getAppUserId()); + if(null != sjShopAppUser){ + BigDecimal shopBalance = shop2.getBalance(); + Integer lavePoint = sjShopAppUser.getLavePoint(); + Integer shopLavePoint = shop2.getLavePoint(); + if(bdmdsj_price.compareTo(BigDecimal.ZERO) > 0){ + //门店返佣 + shop2.setGiveawayAllMoney(shop2.getGiveawayAllMoney().add(bdmdsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); + shop2.setLowerLevelGiveawayMoney(shop2.getLowerLevelGiveawayMoney().add(bdmdsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); + shop2.setCanWithdrawMoney(shop2.getCanWithdrawMoney().add(bdmdsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); + shop2.setBalance(shop2.getBalance().add(bdmdsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); + } + if(bdmdsj_point > 0){ + PointSetting pointSetting = pointSettingClient.getPointSetting(appUser.getVipId()).getData(); + int earnPoint1 = 0; + //计算可用积分比例 + if(null != pointSetting && 1 == pointSetting.getShopSharePointOpen()){ + earnPoint1 = new BigDecimal(bdmdsj_point).multiply(pointSetting.getShopSharePoint().divide(new BigDecimal(100))).intValue(); + } + sjShopAppUser.setLavePoint(sjShopAppUser.getLavePoint() + bdmdsj_point); + sjShopAppUser.setAvailablePoint(sjShopAppUser.getAvailablePoint() + earnPoint1); + sjShopAppUser.setTotalAvailablePoint(sjShopAppUser.getTotalAvailablePoint() + earnPoint1); + if(null != pointSetting && 1 == pointSetting.getShopSharePointGift()){ + sjShopAppUser.setTransferablePoint(sjShopAppUser.getTransferablePoint() + earnPoint1); + } + sjShopAppUser.setTotalPoint(sjShopAppUser.getTotalPoint() + bdmdsj_point); + sjShopAppUser.setLowerLevelSharePoint(sjShopAppUser.getLowerLevelSharePoint() + bdmdsj_point); + //门店返佣 + shop2.setShopAllPoint(shop2.getShopAllPoint() + bdmdsj_point); + shop2.setLowerLevelSharePoint(shop2.getLowerLevelSharePoint() + bdmdsj_point); + shop2.setLavePoint(shop2.getLavePoint() + bdmdsj_point); + } + appUserClient.editAppUserById(sjShopAppUser); + shopClient.updateShop(shop2); + //添加明细记录 + if(!shop2.getBalance().equals(shopBalance)){ + ShopBalanceStatement shopBalanceStatement = new ShopBalanceStatement(); + shopBalanceStatement.setShopId(shop2.getId()); + shopBalanceStatement.setType(2); + shopBalanceStatement.setHistoricalBalance(shopBalance); + shopBalanceStatement.setVariableAmount(bdmdsj_price); + shopBalanceStatement.setBalance(shop2.getBalance()); + shopBalanceStatement.setCreateTime(LocalDateTime.now()); + shopBalanceStatement.setCreateUserId(order.getAppUserId()); + shopBalanceStatement.setObjectId(order.getId()); + shopBalanceStatement.setExtension(order.getOrderNumber()); + shopBalanceStatementClient.saveShopBalanceStatement(shopBalanceStatement); + } + //添加积分明细 + if(!sjShopAppUser.getLavePoint().equals(lavePoint)){ + UserPoint userPoint = new UserPoint(); + userPoint.setType(14); + userPoint.setHistoricalPoint(lavePoint); + userPoint.setVariablePoint(bdmdsj_point); + userPoint.setBalance(sjShopAppUser.getLavePoint()); + userPoint.setCreateTime(LocalDateTime.now()); + userPoint.setAppUserId(sjShopAppUser.getId()); + userPoint.setObjectId(order.getId()); + userPoint.setExtention(order.getOrderNumber()); + userPointClient.saveUserPoint(userPoint); + //变更等级 + appUserClient.vipUpgrade(sjShopAppUser.getId()); + } + + if(!shop2.getLavePoint().equals(shopLavePoint)){ + ShopPoint shopPoint = new ShopPoint(); + shopPoint.setShopId(shop2.getId()); + shopPoint.setType(3); + shopPoint.setHistoricalPoint(shopLavePoint); + shopPoint.setVariablePoint(bdmdsj_point); + shopPoint.setBalance(shop2.getLavePoint()); + shopPoint.setCreateTime(LocalDateTime.now()); + shopPoint.setCreateUserId(order.getAppUserId()); + shopPoint.setObjectId(order.getId()); + shopPoint.setOrderNum(order.getOrderNumber()); + shopPointClient.saveShopPoint(shopPoint); + } } } } + order.setIsCommission(1); orderService.updateById(order); } - - - } } -- Gitblit v1.7.1