| | |
| | | Integer totalAvailablePoint = 0; |
| | | Integer transferablePoint = 0; |
| | | for (AppUserGiveawayTemporary datum : data) { |
| | | if(datum.getAppUserId().longValue() != appUserId){ |
| | | if(datum.getAppUserId().longValue() == appUserId){ |
| | | sharePoint += datum.getSharePoint(); |
| | | balance = balance.add(datum.getBalance()); |
| | | withdrawableAmount = withdrawableAmount.add(datum.getWithdrawableAmount()); |
| | |
| | | |
| | | //开始处理明细流水 |
| | | List<BalanceChangeRecordCopy> data2 = balanceChangeRecordClient.getBalanceChangeRecordCopy(order.getId(), Arrays.asList(4)).getData(); |
| | | for(BalanceChangeRecordCopy item : data2){ |
| | | BalanceChangeRecord changeRecord = new BalanceChangeRecord(); |
| | | BeanUtil.copyProperties(item, changeRecord); |
| | | changeRecord.setId(null); |
| | | balanceChangeRecordClient.saveBalanceChangeRecord(changeRecord); |
| | | if(null != data2){ |
| | | for(BalanceChangeRecordCopy item : data2){ |
| | | BalanceChangeRecord changeRecord = new BalanceChangeRecord(); |
| | | BeanUtil.copyProperties(item, changeRecord); |
| | | changeRecord.setId(null); |
| | | balanceChangeRecordClient.saveBalanceChangeRecord(changeRecord); |
| | | } |
| | | } |
| | | balanceChangeRecordClient.deleteBalanceChangeRecordCopy(order.getId(), Arrays.asList(4)); |
| | | |
| | | List<UserPointCopy> data3 = userPointClient.getUserPointCopy(order.getId(), Arrays.asList(2,8,9,10,14)).getData(); |
| | | for(UserPointCopy item : data3){ |
| | | UserPoint userPoint = new UserPoint(); |
| | | BeanUtil.copyProperties(item, userPoint); |
| | | userPoint.setId(null); |
| | | userPointClient.saveUserPoint(userPoint); |
| | | if(null != data3){ |
| | | for(UserPointCopy item : data3){ |
| | | UserPoint userPoint = new UserPoint(); |
| | | BeanUtil.copyProperties(item, userPoint); |
| | | userPoint.setId(null); |
| | | userPointClient.saveUserPoint(userPoint); |
| | | } |
| | | } |
| | | userPointClient.deleteUserPointCopy(order.getId(), Arrays.asList(2,8,9,10,14)); |
| | | |
| | | |
| | | List<ShopBalanceStatementCopy> data4 = shopBalanceStatementClient.getShopBalanceStatementCopy(order.getId(), Arrays.asList(1,2,3)).getData(); |
| | | for(ShopBalanceStatementCopy item : data4){ |
| | | ShopBalanceStatement shopBalanceStatement = new ShopBalanceStatement(); |
| | | BeanUtil.copyProperties(item, shopBalanceStatement); |
| | | shopBalanceStatement.setId(null); |
| | | shopBalanceStatementClient.saveShopBalanceStatement(shopBalanceStatement); |
| | | if(null != data4){ |
| | | for(ShopBalanceStatementCopy item : data4){ |
| | | ShopBalanceStatement shopBalanceStatement = new ShopBalanceStatement(); |
| | | BeanUtil.copyProperties(item, shopBalanceStatement); |
| | | shopBalanceStatement.setId(null); |
| | | shopBalanceStatementClient.saveShopBalanceStatement(shopBalanceStatement); |
| | | } |
| | | } |
| | | shopBalanceStatementClient.deleteShopBalanceStatementCopy(order.getId(), Arrays.asList(1,2,3)); |
| | | |
| | | List<ShopPointCopy> data5 = shopPointClient.getShopPointCopy(order.getId(), Arrays.asList(1,2,3)).getData(); |
| | | for(ShopPointCopy item : data5){ |
| | | ShopPoint shopPoint = new ShopPoint(); |
| | | BeanUtil.copyProperties(item, shopPoint); |
| | | shopPoint.setId(null); |
| | | shopPointClient.saveShopPoint(shopPoint); |
| | | if(null != data5){ |
| | | for(ShopPointCopy item : data5){ |
| | | ShopPoint shopPoint = new ShopPoint(); |
| | | BeanUtil.copyProperties(item, shopPoint); |
| | | shopPoint.setId(null); |
| | | shopPointClient.saveShopPoint(shopPoint); |
| | | } |
| | | } |
| | | shopPointClient.deleteShopPointCopy(order.getId(), Arrays.asList(1,2,3)); |
| | | order.setIsCommission(3); |
| | | orderService.updateById(order); |
| | | |
| | | appUserGiveawayTemporaryClient.delAppUserGiveawayTemporary(order.getId()); |
| | | shopGiveawayTemporaryClient.delShopGiveawayTemporary(order.getId()); |
| | | } |
| | | |
| | | } |
| | |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void calculationCommissionUser() { |
| | | List<Order> list = orderService.list(new LambdaQueryWrapper<Order>().ne(Order::getIsCommission, 1).isNotNull(Order::getAfterSaleTime) |
| | | .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){ |
| | | public void calculationCommissionUser(Long orderId) { |
| | | Order order = orderService.getById(orderId); |
| | | List<OrderGood> orderGoods = orderGoodService.list(new LambdaQueryWrapper<OrderGood>() |
| | | .eq(OrderGood::getOrderId, order.getId())); |
| | | AppUser appUser = appUserClient.getAppUserById(order.getAppUserId()); |
| | | if(null == appUser){ |
| | | log.error("无效的用户数据"); |
| | | return; |
| | | } |
| | | |
| | | for (Order order : list) { |
| | | List<OrderGood> orderGoods = orderGoodService.list(new LambdaQueryWrapper<OrderGood>() |
| | | .eq(OrderGood::getOrderId, order.getId())); |
| | | AppUser appUser = appUserClient.getAppUserById(order.getAppUserId()); |
| | | if(null == appUser){ |
| | | continue; |
| | | } |
| | | //指导老师分佣金额 |
| | | BigDecimal zdls_price = BigDecimal.ZERO; |
| | | //指导老师分佣积分 |
| | | Integer zdls_point = 0; |
| | | //服务商分佣金额 |
| | | BigDecimal fws_price = BigDecimal.ZERO; |
| | | //服务商分佣积分 |
| | | Integer fws_point = 0; |
| | | //高级服务商分佣金额 |
| | | BigDecimal gjfws_price = BigDecimal.ZERO; |
| | | //高级服务商分佣积分 |
| | | Integer gjfws_point = 0; |
| | | for (OrderGood orderGood : orderGoods) { |
| | | //上级获得分佣金额(直推上级|直帮上级) |
| | | BigDecimal superiorSubcommission = orderGood.getSuperiorSubcommission(); |
| | | //上级获得分佣积分(直推上级|直帮上级) |
| | | Integer superiorRebatePoints = orderGood.getSuperiorRebatePoints(); |
| | | zdls_price = zdls_price.add(superiorSubcommission); |
| | | zdls_point += superiorRebatePoints; |
| | | |
| | | //绑定门店分佣金额 |
| | | fws_price = fws_price.add(orderGood.getBoundShopCharges()); |
| | | //绑定门店分佣积分 |
| | | fws_point += orderGood.getBoundShopPoints(); |
| | | //绑定门店上级门店分佣金额 |
| | | gjfws_price = gjfws_price.add(orderGood.getBoundShopSuperiorsCharges()); |
| | | //绑定门店上级门店分佣积分 |
| | | gjfws_point += orderGood.getBoundShopSuperiorsPoints(); |
| | | } |
| | | |
| | | //直帮上级 |
| | | AppUser superiorLeader = appUserClient.getSuperiorLeader(appUser.getId()).getData(); |
| | | if(null != superiorLeader){ |
| | | BigDecimal balance = superiorLeader.getBalance(); |
| | | Integer lavePoint = superiorLeader.getLavePoint(); |
| | | if(zdls_price.compareTo(BigDecimal.ZERO) > 0){ |
| | | //指导老师分佣金额 |
| | | BigDecimal zdls_price = BigDecimal.ZERO; |
| | | //指导老师分佣积分 |
| | | Integer zdls_point = 0; |
| | | //服务商分佣金额 |
| | | BigDecimal fws_price = BigDecimal.ZERO; |
| | | //服务商分佣积分 |
| | | Integer fws_point = 0; |
| | | //高级服务商分佣金额 |
| | | BigDecimal gjfws_price = BigDecimal.ZERO; |
| | | //高级服务商分佣积分 |
| | | Integer gjfws_point = 0; |
| | | for (OrderGood orderGood : orderGoods) { |
| | | //上级获得分佣金额(直推上级|直帮上级) |
| | | BigDecimal superiorSubcommission = orderGood.getSuperiorSubcommission(); |
| | | //上级获得分佣积分(直推上级|直帮上级) |
| | | Integer superiorRebatePoints = orderGood.getSuperiorRebatePoints(); |
| | | zdls_price = zdls_price.add(superiorSubcommission); |
| | | zdls_point += superiorRebatePoints; |
| | | |
| | | //绑定门店分佣金额 |
| | | fws_price = fws_price.add(orderGood.getBoundShopCharges()); |
| | | //绑定门店分佣积分 |
| | | fws_point += orderGood.getBoundShopPoints(); |
| | | //绑定门店上级门店分佣金额 |
| | | gjfws_price = gjfws_price.add(orderGood.getBoundShopSuperiorsCharges()); |
| | | //绑定门店上级门店分佣积分 |
| | | gjfws_point += orderGood.getBoundShopSuperiorsPoints(); |
| | | } |
| | | |
| | | //直帮上级 |
| | | AppUser superiorLeader = appUserClient.getSuperiorLeader(appUser.getId()).getData(); |
| | | if(null == superiorLeader){ |
| | | log.error("指导老师查询失败"); |
| | | } |
| | | if(null != superiorLeader){ |
| | | BigDecimal balance = superiorLeader.getBalance(); |
| | | Integer lavePoint = superiorLeader.getLavePoint(); |
| | | if(zdls_price.compareTo(BigDecimal.ZERO) > 0){ |
| | | // superiorLeader.setTotalDistributionAmount(superiorLeader.getTotalDistributionAmount().add(zdls_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); |
| | | // superiorLeader.setBalance(superiorLeader.getBalance().add(zdls_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); |
| | | // superiorLeader.setWithdrawableAmount(superiorLeader.getWithdrawableAmount().add(zdls_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); |
| | | |
| | | //添加临时分佣数据 |
| | | AppUserGiveawayTemporary appUserGiveawayTemporary = new AppUserGiveawayTemporary(); |
| | | appUserGiveawayTemporary.setOrderId(order.getId()); |
| | | appUserGiveawayTemporary.setAppUserId(superiorLeader.getId()); |
| | | appUserGiveawayTemporary.setTotalDistributionAmount(zdls_price); |
| | | appUserGiveawayTemporary.setBalance(zdls_price); |
| | | appUserGiveawayTemporary.setWithdrawableAmount(zdls_price); |
| | | appUserGiveawayTemporaryClient.saveAppUserGiveawayTemporary(appUserGiveawayTemporary); |
| | | |
| | | //添加临时分佣数据 |
| | | AppUserGiveawayTemporary appUserGiveawayTemporary = new AppUserGiveawayTemporary(); |
| | | appUserGiveawayTemporary.setOrderId(order.getId()); |
| | | appUserGiveawayTemporary.setAppUserId(superiorLeader.getId()); |
| | | appUserGiveawayTemporary.setTotalDistributionAmount(zdls_price); |
| | | appUserGiveawayTemporary.setBalance(zdls_price); |
| | | appUserGiveawayTemporary.setWithdrawableAmount(zdls_price); |
| | | appUserGiveawayTemporaryClient.saveAppUserGiveawayTemporary(appUserGiveawayTemporary); |
| | | } |
| | | if(zdls_point > 0){ |
| | | PointSetting pointSetting = pointSettingClient.getPointSetting(appUser.getVipId()).getData(); |
| | | int earnPoint1 = 0; |
| | | //计算可用积分比例 |
| | | if(null != pointSetting && 1 == pointSetting.getSharePointOpen()){ |
| | | earnPoint1 = new BigDecimal(zdls_point).multiply(pointSetting.getSharePoint().divide(new BigDecimal(100))).intValue(); |
| | | } |
| | | if(zdls_point > 0){ |
| | | PointSetting pointSetting = pointSettingClient.getPointSetting(appUser.getVipId()).getData(); |
| | | int earnPoint1 = 0; |
| | | //计算可用积分比例 |
| | | if(null != pointSetting && 1 == pointSetting.getSharePointOpen()){ |
| | | earnPoint1 = new BigDecimal(zdls_point).multiply(pointSetting.getSharePoint().divide(new BigDecimal(100))).intValue(); |
| | | } |
| | | // superiorLeader.setSharePoint(superiorLeader.getSharePoint() + zdls_point); |
| | | // superiorLeader.setLavePoint(superiorLeader.getLavePoint() + zdls_point); |
| | | // superiorLeader.setAvailablePoint(superiorLeader.getAvailablePoint() + earnPoint1); |
| | |
| | | // superiorLeader.setTransferablePoint(superiorLeader.getTransferablePoint() + earnPoint1); |
| | | // } |
| | | // superiorLeader.setTotalPoint(superiorLeader.getTotalPoint() + zdls_point); |
| | | |
| | | //添加临时分佣数据 |
| | | AppUserGiveawayTemporary appUserGiveawayTemporary = new AppUserGiveawayTemporary(); |
| | | appUserGiveawayTemporary.setOrderId(order.getId()); |
| | | appUserGiveawayTemporary.setAppUserId(superiorLeader.getId()); |
| | | appUserGiveawayTemporary.setSharePoint(zdls_point); |
| | | appUserGiveawayTemporary.setLavePoint(zdls_point); |
| | | appUserGiveawayTemporary.setAvailablePoint(earnPoint1); |
| | | appUserGiveawayTemporary.setTotalAvailablePoint(earnPoint1); |
| | | if(null != pointSetting && 1 == pointSetting.getSharePointGift()){ |
| | | appUserGiveawayTemporary.setTransferablePoint(earnPoint1); |
| | | } |
| | | appUserGiveawayTemporary.setTotalPoint(zdls_point); |
| | | appUserGiveawayTemporaryClient.saveAppUserGiveawayTemporary(appUserGiveawayTemporary); |
| | | |
| | | |
| | | //添加临时分佣数据 |
| | | AppUserGiveawayTemporary appUserGiveawayTemporary = new AppUserGiveawayTemporary(); |
| | | appUserGiveawayTemporary.setOrderId(order.getId()); |
| | | appUserGiveawayTemporary.setAppUserId(superiorLeader.getId()); |
| | | appUserGiveawayTemporary.setSharePoint(zdls_point); |
| | | appUserGiveawayTemporary.setLavePoint(zdls_point); |
| | | appUserGiveawayTemporary.setAvailablePoint(earnPoint1); |
| | | appUserGiveawayTemporary.setTotalAvailablePoint(earnPoint1); |
| | | if(null != pointSetting && 1 == pointSetting.getSharePointGift()){ |
| | | appUserGiveawayTemporary.setTransferablePoint(earnPoint1); |
| | | } |
| | | // appUserClient.editAppUserById(superiorLeader); |
| | | //添加明细记录 |
| | | if(zdls_price.compareTo(BigDecimal.ZERO) > 0){ |
| | | //添加临时明细记录数据 |
| | | BalanceChangeRecordCopy balanceChangeRecordCopy = new BalanceChangeRecordCopy(); |
| | | balanceChangeRecordCopy.setAppUserId(superiorLeader.getId()); |
| | | balanceChangeRecordCopy.setVipId(superiorLeader.getVipId()); |
| | | balanceChangeRecordCopy.setOrderId(order.getId()); |
| | | balanceChangeRecordCopy.setChangeType(4); |
| | | balanceChangeRecordCopy.setBeforeAmount(balance); |
| | | balanceChangeRecordCopy.setChangeAmount(zdls_price); |
| | | balanceChangeRecordCopy.setAfterAmount(superiorLeader.getBalance()); |
| | | balanceChangeRecordCopy.setDelFlag(0); |
| | | balanceChangeRecordCopy.setCreateTime(LocalDateTime.now()); |
| | | balanceChangeRecordClient.saveBalanceChangeRecordCopy(balanceChangeRecordCopy); |
| | | } |
| | | //添加积分明细 |
| | | if(zdls_point > 0){ |
| | | UserPointCopy userPointCopy = new UserPointCopy(); |
| | | userPointCopy.setType(2); |
| | | userPointCopy.setHistoricalPoint(lavePoint); |
| | | userPointCopy.setVariablePoint(zdls_point); |
| | | userPointCopy.setBalance(superiorLeader.getLavePoint()); |
| | | userPointCopy.setCreateTime(LocalDateTime.now()); |
| | | userPointCopy.setAppUserId(superiorLeader.getId()); |
| | | userPointCopy.setObjectId(order.getId()); |
| | | userPointCopy.setExtention(order.getOrderNumber()); |
| | | userPointClient.saveUserPointCopy(userPointCopy); |
| | | //变更等级 |
| | | // appUserClient.vipUpgrade(superiorLeader.getId()); |
| | | } |
| | | appUserGiveawayTemporary.setTotalPoint(zdls_point); |
| | | appUserGiveawayTemporaryClient.saveAppUserGiveawayTemporary(appUserGiveawayTemporary); |
| | | |
| | | } |
| | | |
| | | //服务商分佣 |
| | | Shop shop1 = shopClient.getServiceProvider(appUser.getId()).getData(); |
| | | if(null != shop1){ |
| | | AppUser bdShopAppUser = appUserClient.getAppUserById(shop1.getAppUserId()); |
| | | if(null != bdShopAppUser){ |
| | | BigDecimal shopBalance = shop1.getBalance(); |
| | | Integer lavePoint = bdShopAppUser.getLavePoint(); |
| | | Integer shopLavePoint = shop1.getLavePoint(); |
| | | if(fws_price.compareTo(BigDecimal.ZERO) > 0){ |
| | | //门店返佣 |
| | | // appUserClient.editAppUserById(superiorLeader); |
| | | //添加明细记录 |
| | | if(zdls_price.compareTo(BigDecimal.ZERO) > 0){ |
| | | //添加临时明细记录数据 |
| | | BalanceChangeRecordCopy balanceChangeRecordCopy = new BalanceChangeRecordCopy(); |
| | | balanceChangeRecordCopy.setAppUserId(superiorLeader.getId()); |
| | | balanceChangeRecordCopy.setVipId(superiorLeader.getVipId()); |
| | | balanceChangeRecordCopy.setOrderId(order.getId()); |
| | | balanceChangeRecordCopy.setChangeType(4); |
| | | balanceChangeRecordCopy.setBeforeAmount(balance); |
| | | balanceChangeRecordCopy.setChangeAmount(zdls_price); |
| | | balanceChangeRecordCopy.setAfterAmount(superiorLeader.getBalance()); |
| | | balanceChangeRecordCopy.setDelFlag(0); |
| | | balanceChangeRecordCopy.setCreateTime(LocalDateTime.now()); |
| | | balanceChangeRecordClient.saveBalanceChangeRecordCopy(balanceChangeRecordCopy); |
| | | } |
| | | //添加积分明细 |
| | | if(zdls_point > 0){ |
| | | UserPointCopy userPointCopy = new UserPointCopy(); |
| | | userPointCopy.setType(2); |
| | | userPointCopy.setHistoricalPoint(lavePoint); |
| | | userPointCopy.setVariablePoint(zdls_point); |
| | | userPointCopy.setBalance(superiorLeader.getLavePoint()); |
| | | userPointCopy.setCreateTime(LocalDateTime.now()); |
| | | userPointCopy.setAppUserId(superiorLeader.getId()); |
| | | userPointCopy.setObjectId(order.getId()); |
| | | userPointCopy.setExtention(order.getOrderNumber()); |
| | | userPointClient.saveUserPointCopy(userPointCopy); |
| | | //变更等级 |
| | | // appUserClient.vipUpgrade(superiorLeader.getId()); |
| | | } |
| | | } |
| | | |
| | | //服务商分佣 |
| | | Shop shop1 = shopClient.getServiceProvider(appUser.getId()).getData(); |
| | | if(null == shop1){ |
| | | log.error("服务商查询失败"); |
| | | } |
| | | if(null != shop1){ |
| | | AppUser bdShopAppUser = appUserClient.getAppUserById(shop1.getAppUserId()); |
| | | if(null == bdShopAppUser){ |
| | | log.error("服务商用户查询失败"); |
| | | } |
| | | if(null != bdShopAppUser){ |
| | | BigDecimal shopBalance = shop1.getBalance(); |
| | | Integer lavePoint = bdShopAppUser.getLavePoint(); |
| | | Integer shopLavePoint = shop1.getLavePoint(); |
| | | if(fws_price.compareTo(BigDecimal.ZERO) > 0){ |
| | | //门店返佣 |
| | | // shop1.setGiveawayAllMoney(shop1.getGiveawayAllMoney().add(fws_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); |
| | | // shop1.setGiveawayMoney(shop1.getGiveawayMoney().add(fws_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); |
| | | // shop1.setCanWithdrawMoney(shop1.getCanWithdrawMoney().add(fws_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); |
| | | // shop1.setBalance(shop1.getBalance().add(fws_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); |
| | | |
| | | //添加临时数据 |
| | | ShopGiveawayTemporary shopGiveawayTemporary = new ShopGiveawayTemporary(); |
| | | shopGiveawayTemporary.setShopId(shop1.getId()); |
| | | shopGiveawayTemporary.setOrderId(order.getId()); |
| | | shopGiveawayTemporary.setGiveawayAllMoney(fws_price); |
| | | shopGiveawayTemporary.setGiveawayMoney(fws_price); |
| | | shopGiveawayTemporary.setCanWithdrawMoney(fws_price); |
| | | shopGiveawayTemporary.setBalance(fws_price); |
| | | shopGiveawayTemporaryClient.saveShopGiveawayTemporary(shopGiveawayTemporary); |
| | | |
| | | //添加临时数据 |
| | | ShopGiveawayTemporary shopGiveawayTemporary = new ShopGiveawayTemporary(); |
| | | shopGiveawayTemporary.setShopId(shop1.getId()); |
| | | shopGiveawayTemporary.setOrderId(order.getId()); |
| | | shopGiveawayTemporary.setGiveawayAllMoney(fws_price); |
| | | shopGiveawayTemporary.setGiveawayMoney(fws_price); |
| | | shopGiveawayTemporary.setCanWithdrawMoney(fws_price); |
| | | shopGiveawayTemporary.setBalance(fws_price); |
| | | shopGiveawayTemporaryClient.saveShopGiveawayTemporary(shopGiveawayTemporary); |
| | | } |
| | | if(fws_point > 0){ |
| | | PointSetting pointSetting = pointSettingClient.getPointSetting(appUser.getVipId()).getData(); |
| | | int earnPoint1 = 0; |
| | | //计算可用积分比例 |
| | | if(null != pointSetting && 1 == pointSetting.getShopSharePointOpen()){ |
| | | earnPoint1 = new BigDecimal(fws_point).multiply(pointSetting.getShopSharePoint().divide(new BigDecimal(100))).intValue(); |
| | | } |
| | | if(fws_point > 0){ |
| | | PointSetting pointSetting = pointSettingClient.getPointSetting(appUser.getVipId()).getData(); |
| | | int earnPoint1 = 0; |
| | | //计算可用积分比例 |
| | | if(null != pointSetting && 1 == pointSetting.getShopSharePointOpen()){ |
| | | earnPoint1 = new BigDecimal(fws_point).multiply(pointSetting.getShopSharePoint().divide(new BigDecimal(100))).intValue(); |
| | | } |
| | | // bdShopAppUser.setLavePoint(bdShopAppUser.getLavePoint() + fws_point); |
| | | // bdShopAppUser.setAvailablePoint(bdShopAppUser.getAvailablePoint() + earnPoint1); |
| | | // bdShopAppUser.setTotalAvailablePoint(bdShopAppUser.getTotalAvailablePoint() + earnPoint1); |
| | |
| | | // } |
| | | // bdShopAppUser.setTotalPoint(bdShopAppUser.getTotalPoint() + fws_point); |
| | | // bdShopAppUser.setShopSharePoint(bdShopAppUser.getShopSharePoint() + fws_point); |
| | | |
| | | //添加临时分佣数据 |
| | | AppUserGiveawayTemporary appUserGiveawayTemporary = new AppUserGiveawayTemporary(); |
| | | appUserGiveawayTemporary.setOrderId(order.getId()); |
| | | appUserGiveawayTemporary.setAppUserId(bdShopAppUser.getId()); |
| | | appUserGiveawayTemporary.setLavePoint(fws_point); |
| | | appUserGiveawayTemporary.setAvailablePoint(earnPoint1); |
| | | appUserGiveawayTemporary.setTotalAvailablePoint(earnPoint1); |
| | | if(null != pointSetting && 1 == pointSetting.getShopSharePointGift()){ |
| | | appUserGiveawayTemporary.setTransferablePoint(earnPoint1); |
| | | } |
| | | appUserGiveawayTemporary.setTotalPoint(fws_point); |
| | | appUserGiveawayTemporary.setShopSharePoint(fws_point); |
| | | appUserGiveawayTemporaryClient.saveAppUserGiveawayTemporary(appUserGiveawayTemporary); |
| | | |
| | | //门店返佣 |
| | | |
| | | //添加临时分佣数据 |
| | | AppUserGiveawayTemporary appUserGiveawayTemporary = new AppUserGiveawayTemporary(); |
| | | appUserGiveawayTemporary.setOrderId(order.getId()); |
| | | appUserGiveawayTemporary.setAppUserId(bdShopAppUser.getId()); |
| | | appUserGiveawayTemporary.setLavePoint(fws_point); |
| | | appUserGiveawayTemporary.setAvailablePoint(earnPoint1); |
| | | appUserGiveawayTemporary.setTotalAvailablePoint(earnPoint1); |
| | | if(null != pointSetting && 1 == pointSetting.getShopSharePointGift()){ |
| | | appUserGiveawayTemporary.setTransferablePoint(earnPoint1); |
| | | } |
| | | appUserGiveawayTemporary.setTotalPoint(fws_point); |
| | | appUserGiveawayTemporary.setShopSharePoint(fws_point); |
| | | appUserGiveawayTemporaryClient.saveAppUserGiveawayTemporary(appUserGiveawayTemporary); |
| | | |
| | | //门店返佣 |
| | | // shop1.setShopAllPoint(shop1.getShopAllPoint() + fws_point); |
| | | // shop1.setSharePoint(shop1.getSharePoint() + fws_point); |
| | | // shop1.setLavePoint(shop1.getLavePoint() + fws_point); |
| | | //添加临时分佣数据 |
| | | ShopGiveawayTemporary shopGiveawayTemporary = new ShopGiveawayTemporary(); |
| | | shopGiveawayTemporary.setShopId(shop1.getId()); |
| | | shopGiveawayTemporary.setOrderId(order.getId()); |
| | | shopGiveawayTemporary.setShopAllPoint(fws_point); |
| | | shopGiveawayTemporary.setSharePoint(fws_point); |
| | | shopGiveawayTemporary.setLavePoint(fws_point); |
| | | shopGiveawayTemporaryClient.saveShopGiveawayTemporary(shopGiveawayTemporary); |
| | | } |
| | | //添加临时分佣数据 |
| | | ShopGiveawayTemporary shopGiveawayTemporary = new ShopGiveawayTemporary(); |
| | | shopGiveawayTemporary.setShopId(shop1.getId()); |
| | | shopGiveawayTemporary.setOrderId(order.getId()); |
| | | shopGiveawayTemporary.setShopAllPoint(fws_point); |
| | | shopGiveawayTemporary.setSharePoint(fws_point); |
| | | shopGiveawayTemporary.setLavePoint(fws_point); |
| | | shopGiveawayTemporaryClient.saveShopGiveawayTemporary(shopGiveawayTemporary); |
| | | } |
| | | // appUserClient.editAppUserById(bdShopAppUser); |
| | | // shopClient.updateShop(shop1); |
| | | //添加明细记录 |
| | | if(fws_price.compareTo(BigDecimal.ZERO) > 0){ |
| | | ShopBalanceStatementCopy shopBalanceStatementCopy = new ShopBalanceStatementCopy(); |
| | | shopBalanceStatementCopy.setShopId(shop1.getId()); |
| | | shopBalanceStatementCopy.setType(1); |
| | | shopBalanceStatementCopy.setHistoricalBalance(shopBalance); |
| | | shopBalanceStatementCopy.setVariableAmount(fws_price); |
| | | shopBalanceStatementCopy.setBalance(shop1.getBalance()); |
| | | shopBalanceStatementCopy.setCreateTime(LocalDateTime.now()); |
| | | shopBalanceStatementCopy.setCreateUserId(order.getAppUserId()); |
| | | shopBalanceStatementCopy.setObjectId(order.getId()); |
| | | shopBalanceStatementCopy.setExtension(order.getOrderNumber()); |
| | | shopBalanceStatementClient.saveShopBalanceStatementCopy(shopBalanceStatementCopy); |
| | | } |
| | | //添加积分明细 |
| | | if(fws_point > 0){ |
| | | UserPointCopy userPointCopy = new UserPointCopy(); |
| | | userPointCopy.setType(9); |
| | | userPointCopy.setHistoricalPoint(lavePoint); |
| | | userPointCopy.setVariablePoint(fws_point); |
| | | userPointCopy.setBalance(bdShopAppUser.getLavePoint()); |
| | | userPointCopy.setCreateTime(LocalDateTime.now()); |
| | | userPointCopy.setAppUserId(bdShopAppUser.getId()); |
| | | userPointCopy.setObjectId(order.getId()); |
| | | userPointCopy.setExtention(order.getOrderNumber()); |
| | | userPointClient.saveUserPointCopy(userPointCopy); |
| | | //变更等级 |
| | | //添加明细记录 |
| | | if(fws_price.compareTo(BigDecimal.ZERO) > 0){ |
| | | ShopBalanceStatementCopy shopBalanceStatementCopy = new ShopBalanceStatementCopy(); |
| | | shopBalanceStatementCopy.setShopId(shop1.getId()); |
| | | shopBalanceStatementCopy.setType(1); |
| | | shopBalanceStatementCopy.setHistoricalBalance(shopBalance); |
| | | shopBalanceStatementCopy.setVariableAmount(fws_price); |
| | | shopBalanceStatementCopy.setBalance(shop1.getBalance()); |
| | | shopBalanceStatementCopy.setCreateTime(LocalDateTime.now()); |
| | | shopBalanceStatementCopy.setCreateUserId(order.getAppUserId()); |
| | | shopBalanceStatementCopy.setObjectId(order.getId()); |
| | | shopBalanceStatementCopy.setExtension(order.getOrderNumber()); |
| | | shopBalanceStatementClient.saveShopBalanceStatementCopy(shopBalanceStatementCopy); |
| | | } |
| | | //添加积分明细 |
| | | if(fws_point > 0){ |
| | | UserPointCopy userPointCopy = new UserPointCopy(); |
| | | userPointCopy.setType(9); |
| | | userPointCopy.setHistoricalPoint(lavePoint); |
| | | userPointCopy.setVariablePoint(fws_point); |
| | | userPointCopy.setBalance(bdShopAppUser.getLavePoint()); |
| | | userPointCopy.setCreateTime(LocalDateTime.now()); |
| | | userPointCopy.setAppUserId(bdShopAppUser.getId()); |
| | | userPointCopy.setObjectId(order.getId()); |
| | | userPointCopy.setExtention(order.getOrderNumber()); |
| | | userPointClient.saveUserPointCopy(userPointCopy); |
| | | //变更等级 |
| | | // appUserClient.vipUpgrade(bdShopAppUser.getId()); |
| | | } |
| | | |
| | | if(shopLavePoint > 0){ |
| | | ShopPointCopy shopPointCopy = new ShopPointCopy(); |
| | | shopPointCopy.setShopId(shop1.getId()); |
| | | shopPointCopy.setType(2); |
| | | shopPointCopy.setHistoricalPoint(shopLavePoint); |
| | | shopPointCopy.setVariablePoint(fws_point); |
| | | shopPointCopy.setBalance(shop1.getLavePoint()); |
| | | shopPointCopy.setCreateTime(LocalDateTime.now()); |
| | | shopPointCopy.setCreateUserId(order.getAppUserId()); |
| | | shopPointCopy.setObjectId(order.getId()); |
| | | shopPointCopy.setOrderNum(order.getOrderNumber()); |
| | | shopPointClient.saveShopPointCopy(shopPointCopy); |
| | | } |
| | | } |
| | | |
| | | if(shopLavePoint > 0){ |
| | | ShopPointCopy shopPointCopy = new ShopPointCopy(); |
| | | shopPointCopy.setShopId(shop1.getId()); |
| | | shopPointCopy.setType(2); |
| | | shopPointCopy.setHistoricalPoint(shopLavePoint); |
| | | shopPointCopy.setVariablePoint(fws_point); |
| | | shopPointCopy.setBalance(shop1.getLavePoint()); |
| | | shopPointCopy.setCreateTime(LocalDateTime.now()); |
| | | shopPointCopy.setCreateUserId(order.getAppUserId()); |
| | | shopPointCopy.setObjectId(order.getId()); |
| | | shopPointCopy.setOrderNum(order.getOrderNumber()); |
| | | shopPointClient.saveShopPointCopy(shopPointCopy); |
| | | } |
| | | } |
| | | |
| | | //高级服务商 |
| | | Shop shop2 = shopClient.getSuperiorServiceProvider(order.getAppUserId()).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(gjfws_price.compareTo(BigDecimal.ZERO) > 0){ |
| | | //门店返佣 |
| | | } |
| | | |
| | | //高级服务商 |
| | | Shop shop2 = shopClient.getSuperiorServiceProvider(order.getAppUserId()).getData(); |
| | | if(null == shop2){ |
| | | log.error("高级服务商查询失败"); |
| | | } |
| | | if(null != shop2){ |
| | | AppUser sjShopAppUser = appUserClient.getAppUserById(shop2.getAppUserId()); |
| | | if(null == sjShopAppUser){ |
| | | log.error("高级服务商用户查询失败"); |
| | | } |
| | | if(null != sjShopAppUser){ |
| | | BigDecimal shopBalance = shop2.getBalance(); |
| | | Integer lavePoint = sjShopAppUser.getLavePoint(); |
| | | Integer shopLavePoint = shop2.getLavePoint(); |
| | | if(gjfws_price.compareTo(BigDecimal.ZERO) > 0){ |
| | | //门店返佣 |
| | | // shop2.setGiveawayAllMoney(shop2.getGiveawayAllMoney().add(gjfws_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); |
| | | // shop2.setLowerLevelGiveawayMoney(shop2.getLowerLevelGiveawayMoney().add(gjfws_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); |
| | | // shop2.setCanWithdrawMoney(shop2.getCanWithdrawMoney().add(gjfws_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); |
| | | // shop2.setBalance(shop2.getBalance().add(gjfws_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); |
| | | |
| | | //添加临时分佣数据 |
| | | ShopGiveawayTemporary shopGiveawayTemporary = new ShopGiveawayTemporary(); |
| | | shopGiveawayTemporary.setShopId(shop2.getId()); |
| | | shopGiveawayTemporary.setOrderId(order.getId()); |
| | | shopGiveawayTemporary.setGiveawayAllMoney(gjfws_price); |
| | | shopGiveawayTemporary.setLowerLevelGiveawayMoney(gjfws_price); |
| | | shopGiveawayTemporary.setCanWithdrawMoney(gjfws_price); |
| | | shopGiveawayTemporary.setBalance(gjfws_price); |
| | | shopGiveawayTemporaryClient.saveShopGiveawayTemporary(shopGiveawayTemporary); |
| | | |
| | | |
| | | //添加临时分佣数据 |
| | | ShopGiveawayTemporary shopGiveawayTemporary = new ShopGiveawayTemporary(); |
| | | shopGiveawayTemporary.setShopId(shop2.getId()); |
| | | shopGiveawayTemporary.setOrderId(order.getId()); |
| | | shopGiveawayTemporary.setGiveawayAllMoney(gjfws_price); |
| | | shopGiveawayTemporary.setLowerLevelGiveawayMoney(gjfws_price); |
| | | shopGiveawayTemporary.setCanWithdrawMoney(gjfws_price); |
| | | shopGiveawayTemporary.setBalance(gjfws_price); |
| | | shopGiveawayTemporaryClient.saveShopGiveawayTemporary(shopGiveawayTemporary); |
| | | |
| | | } |
| | | if(gjfws_point > 0){ |
| | | PointSetting pointSetting = pointSettingClient.getPointSetting(appUser.getVipId()).getData(); |
| | | int earnPoint1 = 0; |
| | | //计算可用积分比例 |
| | | if(null != pointSetting && 1 == pointSetting.getShopSharePointOpen()){ |
| | | earnPoint1 = new BigDecimal(gjfws_point).multiply(pointSetting.getShopSharePoint().divide(new BigDecimal(100))).intValue(); |
| | | } |
| | | if(gjfws_point > 0){ |
| | | PointSetting pointSetting = pointSettingClient.getPointSetting(appUser.getVipId()).getData(); |
| | | int earnPoint1 = 0; |
| | | //计算可用积分比例 |
| | | if(null != pointSetting && 1 == pointSetting.getShopSharePointOpen()){ |
| | | earnPoint1 = new BigDecimal(gjfws_point).multiply(pointSetting.getShopSharePoint().divide(new BigDecimal(100))).intValue(); |
| | | } |
| | | // sjShopAppUser.setLavePoint(sjShopAppUser.getLavePoint() + gjfws_point); |
| | | // sjShopAppUser.setAvailablePoint(sjShopAppUser.getAvailablePoint() + earnPoint1); |
| | | // sjShopAppUser.setTotalAvailablePoint(sjShopAppUser.getTotalAvailablePoint() + earnPoint1); |
| | |
| | | // } |
| | | // sjShopAppUser.setTotalPoint(sjShopAppUser.getTotalPoint() + gjfws_point); |
| | | // sjShopAppUser.setLowerLevelSharePoint(sjShopAppUser.getLowerLevelSharePoint() + gjfws_point); |
| | | |
| | | //添加临时分佣数据 |
| | | AppUserGiveawayTemporary appUserGiveawayTemporary = new AppUserGiveawayTemporary(); |
| | | appUserGiveawayTemporary.setOrderId(order.getId()); |
| | | appUserGiveawayTemporary.setAppUserId(sjShopAppUser.getId()); |
| | | appUserGiveawayTemporary.setLavePoint(gjfws_point); |
| | | appUserGiveawayTemporary.setAvailablePoint(earnPoint1); |
| | | appUserGiveawayTemporary.setTotalAvailablePoint(earnPoint1); |
| | | if(null != pointSetting && 1 == pointSetting.getShopSharePointGift()){ |
| | | appUserGiveawayTemporary.setTransferablePoint(earnPoint1); |
| | | } |
| | | appUserGiveawayTemporary.setTotalPoint(gjfws_point); |
| | | appUserGiveawayTemporary.setLowerLevelSharePoint(gjfws_point); |
| | | appUserGiveawayTemporaryClient.saveAppUserGiveawayTemporary(appUserGiveawayTemporary); |
| | | |
| | | |
| | | //门店返佣 |
| | | |
| | | //添加临时分佣数据 |
| | | AppUserGiveawayTemporary appUserGiveawayTemporary = new AppUserGiveawayTemporary(); |
| | | appUserGiveawayTemporary.setOrderId(order.getId()); |
| | | appUserGiveawayTemporary.setAppUserId(sjShopAppUser.getId()); |
| | | appUserGiveawayTemporary.setLavePoint(gjfws_point); |
| | | appUserGiveawayTemporary.setAvailablePoint(earnPoint1); |
| | | appUserGiveawayTemporary.setTotalAvailablePoint(earnPoint1); |
| | | if(null != pointSetting && 1 == pointSetting.getShopSharePointGift()){ |
| | | appUserGiveawayTemporary.setTransferablePoint(earnPoint1); |
| | | } |
| | | appUserGiveawayTemporary.setTotalPoint(gjfws_point); |
| | | appUserGiveawayTemporary.setLowerLevelSharePoint(gjfws_point); |
| | | appUserGiveawayTemporaryClient.saveAppUserGiveawayTemporary(appUserGiveawayTemporary); |
| | | |
| | | |
| | | //门店返佣 |
| | | // shop2.setShopAllPoint(shop2.getShopAllPoint() + gjfws_point); |
| | | // shop2.setLowerLevelSharePoint(shop2.getLowerLevelSharePoint() + gjfws_point); |
| | | // shop2.setLavePoint(shop2.getLavePoint() + gjfws_point); |
| | | |
| | | //添加临时分佣数据 |
| | | ShopGiveawayTemporary shopGiveawayTemporary = new ShopGiveawayTemporary(); |
| | | shopGiveawayTemporary.setShopId(shop2.getId()); |
| | | shopGiveawayTemporary.setOrderId(order.getId()); |
| | | shopGiveawayTemporary.setShopAllPoint(gjfws_point); |
| | | shopGiveawayTemporary.setLowerLevelSharePoint(gjfws_point); |
| | | shopGiveawayTemporary.setLavePoint(gjfws_point); |
| | | shopGiveawayTemporaryClient.saveShopGiveawayTemporary(shopGiveawayTemporary); |
| | | |
| | | } |
| | | |
| | | //添加临时分佣数据 |
| | | ShopGiveawayTemporary shopGiveawayTemporary = new ShopGiveawayTemporary(); |
| | | shopGiveawayTemporary.setShopId(shop2.getId()); |
| | | shopGiveawayTemporary.setOrderId(order.getId()); |
| | | shopGiveawayTemporary.setShopAllPoint(gjfws_point); |
| | | shopGiveawayTemporary.setLowerLevelSharePoint(gjfws_point); |
| | | shopGiveawayTemporary.setLavePoint(gjfws_point); |
| | | shopGiveawayTemporaryClient.saveShopGiveawayTemporary(shopGiveawayTemporary); |
| | | |
| | | } |
| | | // appUserClient.editAppUserById(sjShopAppUser); |
| | | // shopClient.updateShop(shop2); |
| | | //添加明细记录 |
| | | if(gjfws_price.compareTo(BigDecimal.ZERO) > 0){ |
| | | ShopBalanceStatementCopy shopBalanceStatementCopy = new ShopBalanceStatementCopy(); |
| | | shopBalanceStatementCopy.setShopId(shop2.getId()); |
| | | shopBalanceStatementCopy.setType(2); |
| | | shopBalanceStatementCopy.setHistoricalBalance(shopBalance); |
| | | shopBalanceStatementCopy.setVariableAmount(gjfws_price); |
| | | shopBalanceStatementCopy.setBalance(shop2.getBalance()); |
| | | shopBalanceStatementCopy.setCreateTime(LocalDateTime.now()); |
| | | shopBalanceStatementCopy.setCreateUserId(order.getAppUserId()); |
| | | shopBalanceStatementCopy.setObjectId(order.getId()); |
| | | shopBalanceStatementCopy.setExtension(order.getOrderNumber()); |
| | | shopBalanceStatementClient.saveShopBalanceStatementCopy(shopBalanceStatementCopy); |
| | | } |
| | | //添加积分明细 |
| | | if(gjfws_point > 0){ |
| | | UserPointCopy userPointCopy = new UserPointCopy(); |
| | | userPointCopy.setType(14); |
| | | userPointCopy.setHistoricalPoint(lavePoint); |
| | | userPointCopy.setVariablePoint(gjfws_point); |
| | | userPointCopy.setBalance(sjShopAppUser.getLavePoint()); |
| | | userPointCopy.setCreateTime(LocalDateTime.now()); |
| | | userPointCopy.setAppUserId(sjShopAppUser.getId()); |
| | | userPointCopy.setObjectId(order.getId()); |
| | | userPointCopy.setExtention(order.getOrderNumber()); |
| | | userPointClient.saveUserPointCopy(userPointCopy); |
| | | //变更等级 |
| | | //添加明细记录 |
| | | if(gjfws_price.compareTo(BigDecimal.ZERO) > 0){ |
| | | ShopBalanceStatementCopy shopBalanceStatementCopy = new ShopBalanceStatementCopy(); |
| | | shopBalanceStatementCopy.setShopId(shop2.getId()); |
| | | shopBalanceStatementCopy.setType(2); |
| | | shopBalanceStatementCopy.setHistoricalBalance(shopBalance); |
| | | shopBalanceStatementCopy.setVariableAmount(gjfws_price); |
| | | shopBalanceStatementCopy.setBalance(shop2.getBalance()); |
| | | shopBalanceStatementCopy.setCreateTime(LocalDateTime.now()); |
| | | shopBalanceStatementCopy.setCreateUserId(order.getAppUserId()); |
| | | shopBalanceStatementCopy.setObjectId(order.getId()); |
| | | shopBalanceStatementCopy.setExtension(order.getOrderNumber()); |
| | | shopBalanceStatementClient.saveShopBalanceStatementCopy(shopBalanceStatementCopy); |
| | | } |
| | | //添加积分明细 |
| | | if(gjfws_point > 0){ |
| | | UserPointCopy userPointCopy = new UserPointCopy(); |
| | | userPointCopy.setType(14); |
| | | userPointCopy.setHistoricalPoint(lavePoint); |
| | | userPointCopy.setVariablePoint(gjfws_point); |
| | | userPointCopy.setBalance(sjShopAppUser.getLavePoint()); |
| | | userPointCopy.setCreateTime(LocalDateTime.now()); |
| | | userPointCopy.setAppUserId(sjShopAppUser.getId()); |
| | | userPointCopy.setObjectId(order.getId()); |
| | | userPointCopy.setExtention(order.getOrderNumber()); |
| | | userPointClient.saveUserPointCopy(userPointCopy); |
| | | //变更等级 |
| | | // appUserClient.vipUpgrade(sjShopAppUser.getId()); |
| | | } |
| | | |
| | | if(gjfws_point > 0){ |
| | | ShopPointCopy shopPointCopy = new ShopPointCopy(); |
| | | shopPointCopy.setShopId(shop2.getId()); |
| | | shopPointCopy.setType(3); |
| | | shopPointCopy.setHistoricalPoint(shopLavePoint); |
| | | shopPointCopy.setVariablePoint(gjfws_point); |
| | | shopPointCopy.setBalance(shop2.getLavePoint()); |
| | | shopPointCopy.setCreateTime(LocalDateTime.now()); |
| | | shopPointCopy.setCreateUserId(order.getAppUserId()); |
| | | shopPointCopy.setObjectId(order.getId()); |
| | | shopPointCopy.setOrderNum(order.getOrderNumber()); |
| | | shopPointClient.saveShopPointCopy(shopPointCopy); |
| | | } |
| | | } |
| | | |
| | | if(gjfws_point > 0){ |
| | | ShopPointCopy shopPointCopy = new ShopPointCopy(); |
| | | shopPointCopy.setShopId(shop2.getId()); |
| | | shopPointCopy.setType(3); |
| | | shopPointCopy.setHistoricalPoint(shopLavePoint); |
| | | shopPointCopy.setVariablePoint(gjfws_point); |
| | | shopPointCopy.setBalance(shop2.getLavePoint()); |
| | | shopPointCopy.setCreateTime(LocalDateTime.now()); |
| | | shopPointCopy.setCreateUserId(order.getAppUserId()); |
| | | shopPointCopy.setObjectId(order.getId()); |
| | | shopPointCopy.setOrderNum(order.getOrderNumber()); |
| | | shopPointClient.saveShopPointCopy(shopPointCopy); |
| | | } |
| | | } |
| | | |
| | | order.setIsCommission(1); |
| | | orderService.updateById(order); |
| | | } |
| | | |
| | | //自提单品和服务需要走线下核销流程 |
| | | if(order.getOrderType() == 2 && order.getDistributionMode() == 2){ |
| | | order.setIsCommission(2); |
| | | }else{ |
| | | order.setIsCommission(1); |
| | | } |
| | | orderService.updateById(order); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void calculationCommissionShop() { |
| | | List<Order> list = orderService.list(new LambdaQueryWrapper<Order>().ne(Order::getIsCommission, 2).isNotNull(Order::getAfterSaleTime) |
| | | .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){ |
| | | public void calculationCommissionShop(Long orderId) { |
| | | Order order = orderService.getById(orderId); |
| | | List<OrderGood> orderGoods = orderGoodService.list(new LambdaQueryWrapper<OrderGood>() |
| | | .eq(OrderGood::getOrderId, order.getId())); |
| | | AppUser appUser = appUserClient.getAppUserById(order.getAppUserId()); |
| | | if(null == appUser){ |
| | | return; |
| | | } |
| | | |
| | | for (Order order : list) { |
| | | List<OrderGood> orderGoods = orderGoodService.list(new LambdaQueryWrapper<OrderGood>() |
| | | .eq(OrderGood::getOrderId, order.getId())); |
| | | AppUser appUser = appUserClient.getAppUserById(order.getAppUserId()); |
| | | if(null == appUser){ |
| | | continue; |
| | | //核销门店分佣金额 |
| | | BigDecimal hxmd_price = BigDecimal.ZERO; |
| | | //核销门店分佣积分 |
| | | Integer hxmd_point = 0; |
| | | //技师分佣积分 |
| | | Integer js_point = 0; |
| | | for (OrderGood orderGood : orderGoods) { |
| | | //核销门店获取服务费 |
| | | hxmd_price = hxmd_price.add(orderGood.getServuceShopCharges()); |
| | | //核销门店可获得积分 |
| | | hxmd_point += orderGood.getServuceShopPoints(); |
| | | //技师分佣金额 |
| | | if(order.getOrderType() == 1){ |
| | | js_point += orderGood.getTechnicianPoints(); |
| | | } |
| | | //核销门店分佣金额 |
| | | BigDecimal hxmd_price = BigDecimal.ZERO; |
| | | //核销门店分佣积分 |
| | | Integer hxmd_point = 0; |
| | | //技师分佣积分 |
| | | Integer js_point = 0; |
| | | for (OrderGood orderGood : orderGoods) { |
| | | //核销门店获取服务费 |
| | | hxmd_price = hxmd_price.add(orderGood.getServuceShopCharges()); |
| | | //核销门店可获得积分 |
| | | hxmd_point += orderGood.getServuceShopPoints(); |
| | | //技师分佣金额 |
| | | if(order.getOrderType() == 1){ |
| | | js_point += orderGood.getTechnicianPoints(); |
| | | } |
| | | } |
| | | |
| | | //核销门店 |
| | | Shop shop = shopClient.getShopById(order.getShopId()).getData(); |
| | | AppUser shopAppUser = appUserClient.getAppUserById(shop.getAppUserId()); |
| | | if(null != shopAppUser){ |
| | | BigDecimal shopBalance = shop.getBalance(); |
| | | Integer lavePoint = shopAppUser.getLavePoint(); |
| | | Integer shopLavePoint = shop.getLavePoint(); |
| | | if(hxmd_price.compareTo(BigDecimal.ZERO) > 0){ |
| | | //门店返佣 |
| | | } |
| | | |
| | | //核销门店 |
| | | Shop shop = shopClient.getShopById(order.getShopId()).getData(); |
| | | AppUser shopAppUser = appUserClient.getAppUserById(shop.getAppUserId()); |
| | | if(null == shopAppUser){ |
| | | log.error("核销门店用户查询失败"); |
| | | } |
| | | if(null != shopAppUser){ |
| | | BigDecimal shopBalance = shop.getBalance(); |
| | | Integer lavePoint = shopAppUser.getLavePoint(); |
| | | Integer shopLavePoint = shop.getLavePoint(); |
| | | if(hxmd_price.compareTo(BigDecimal.ZERO) > 0){ |
| | | //门店返佣 |
| | | // 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)); |
| | | // shop.setCanWithdrawMoney(shop.getCanWithdrawMoney().add(hxmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); |
| | | // shop.setBalance(shop.getBalance().add(hxmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); |
| | | |
| | | //添加临时分佣数据 |
| | | ShopGiveawayTemporary shopGiveawayTemporary = new ShopGiveawayTemporary(); |
| | | shopGiveawayTemporary.setShopId(shop.getId()); |
| | | shopGiveawayTemporary.setOrderId(order.getId()); |
| | | shopGiveawayTemporary.setGiveawayAllMoney(hxmd_price); |
| | | shopGiveawayTemporary.setServerGiveawayMoney(hxmd_price); |
| | | shopGiveawayTemporary.setCanWithdrawMoney(hxmd_price); |
| | | shopGiveawayTemporary.setBalance(hxmd_price); |
| | | shopGiveawayTemporaryClient.saveShopGiveawayTemporary(shopGiveawayTemporary); |
| | | |
| | | //添加临时分佣数据 |
| | | ShopGiveawayTemporary shopGiveawayTemporary = new ShopGiveawayTemporary(); |
| | | shopGiveawayTemporary.setShopId(shop.getId()); |
| | | shopGiveawayTemporary.setOrderId(order.getId()); |
| | | shopGiveawayTemporary.setGiveawayAllMoney(hxmd_price); |
| | | shopGiveawayTemporary.setServerGiveawayMoney(hxmd_price); |
| | | shopGiveawayTemporary.setCanWithdrawMoney(hxmd_price); |
| | | shopGiveawayTemporary.setBalance(hxmd_price); |
| | | shopGiveawayTemporaryClient.saveShopGiveawayTemporary(shopGiveawayTemporary); |
| | | } |
| | | if(hxmd_point > 0){ |
| | | 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(); |
| | | } |
| | | if(hxmd_point > 0){ |
| | | 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); |
| | |
| | | // } |
| | | // shopAppUser.setTotalPoint(shopAppUser.getTotalPoint() + hxmd_point); |
| | | // shopAppUser.setShopAchievementPoint(shopAppUser.getShopAchievementPoint() + hxmd_point); |
| | | |
| | | //添加临时分佣数据 |
| | | AppUserGiveawayTemporary appUserGiveawayTemporary = new AppUserGiveawayTemporary(); |
| | | appUserGiveawayTemporary.setOrderId(order.getId()); |
| | | appUserGiveawayTemporary.setAppUserId(shopAppUser.getId()); |
| | | appUserGiveawayTemporary.setLavePoint(hxmd_point); |
| | | appUserGiveawayTemporary.setAvailablePoint(earnPoint1); |
| | | appUserGiveawayTemporary.setTotalAvailablePoint(earnPoint1); |
| | | if(null != pointSetting && 1 == pointSetting.getShopPointGift()){ |
| | | appUserGiveawayTemporary.setTransferablePoint(earnPoint1); |
| | | } |
| | | appUserGiveawayTemporary.setTotalPoint(hxmd_point); |
| | | appUserGiveawayTemporary.setShopAchievementPoint(hxmd_point); |
| | | appUserGiveawayTemporaryClient.saveAppUserGiveawayTemporary(appUserGiveawayTemporary); |
| | | |
| | | |
| | | //门店返佣 |
| | | |
| | | //添加临时分佣数据 |
| | | AppUserGiveawayTemporary appUserGiveawayTemporary = new AppUserGiveawayTemporary(); |
| | | appUserGiveawayTemporary.setOrderId(order.getId()); |
| | | appUserGiveawayTemporary.setAppUserId(shopAppUser.getId()); |
| | | appUserGiveawayTemporary.setLavePoint(hxmd_point); |
| | | appUserGiveawayTemporary.setAvailablePoint(earnPoint1); |
| | | appUserGiveawayTemporary.setTotalAvailablePoint(earnPoint1); |
| | | if(null != pointSetting && 1 == pointSetting.getShopPointGift()){ |
| | | appUserGiveawayTemporary.setTransferablePoint(earnPoint1); |
| | | } |
| | | appUserGiveawayTemporary.setTotalPoint(hxmd_point); |
| | | appUserGiveawayTemporary.setShopAchievementPoint(hxmd_point); |
| | | appUserGiveawayTemporaryClient.saveAppUserGiveawayTemporary(appUserGiveawayTemporary); |
| | | |
| | | |
| | | //门店返佣 |
| | | // shop.setShopAllPoint(shop.getShopAllPoint() + hxmd_point); |
| | | // shop.setServerPoint(shop.getServerPoint() + hxmd_point); |
| | | // shop.setLavePoint(shop.getLavePoint() + hxmd_point); |
| | | |
| | | //添加临时分佣数据 |
| | | ShopGiveawayTemporary shopGiveawayTemporary = new ShopGiveawayTemporary(); |
| | | shopGiveawayTemporary.setShopId(shop.getId()); |
| | | shopGiveawayTemporary.setOrderId(order.getId()); |
| | | shopGiveawayTemporary.setShopAllPoint(hxmd_point); |
| | | shopGiveawayTemporary.setServerPoint(hxmd_point); |
| | | shopGiveawayTemporary.setLavePoint(hxmd_point); |
| | | shopGiveawayTemporaryClient.saveShopGiveawayTemporary(shopGiveawayTemporary); |
| | | } |
| | | |
| | | //添加临时分佣数据 |
| | | ShopGiveawayTemporary shopGiveawayTemporary = new ShopGiveawayTemporary(); |
| | | shopGiveawayTemporary.setShopId(shop.getId()); |
| | | shopGiveawayTemporary.setOrderId(order.getId()); |
| | | shopGiveawayTemporary.setShopAllPoint(hxmd_point); |
| | | shopGiveawayTemporary.setServerPoint(hxmd_point); |
| | | shopGiveawayTemporary.setLavePoint(hxmd_point); |
| | | shopGiveawayTemporaryClient.saveShopGiveawayTemporary(shopGiveawayTemporary); |
| | | } |
| | | // appUserClient.editAppUserById(shopAppUser); |
| | | // shopClient.updateShop(shop); |
| | | //添加明细记录 |
| | | if(hxmd_price.compareTo(BigDecimal.ZERO) > 0){ |
| | | ShopBalanceStatementCopy shopBalanceStatementCopy = new ShopBalanceStatementCopy(); |
| | | shopBalanceStatementCopy.setShopId(shop.getId()); |
| | | shopBalanceStatementCopy.setType(3); |
| | | shopBalanceStatementCopy.setHistoricalBalance(shopBalance); |
| | | shopBalanceStatementCopy.setVariableAmount(hxmd_price); |
| | | shopBalanceStatementCopy.setBalance(shop.getBalance()); |
| | | shopBalanceStatementCopy.setCreateTime(LocalDateTime.now()); |
| | | shopBalanceStatementCopy.setCreateUserId(order.getAppUserId()); |
| | | shopBalanceStatementCopy.setObjectId(order.getId()); |
| | | shopBalanceStatementCopy.setExtension(order.getOrderNumber()); |
| | | shopBalanceStatementClient.saveShopBalanceStatementCopy(shopBalanceStatementCopy); |
| | | } |
| | | //添加积分明细 |
| | | if(!shopAppUser.getLavePoint().equals(lavePoint)){ |
| | | UserPointCopy userPointCopy = new UserPointCopy(); |
| | | userPointCopy.setType(8); |
| | | userPointCopy.setHistoricalPoint(lavePoint); |
| | | userPointCopy.setVariablePoint(hxmd_point); |
| | | userPointCopy.setBalance(shopAppUser.getLavePoint()); |
| | | userPointCopy.setCreateTime(LocalDateTime.now()); |
| | | userPointCopy.setAppUserId(shopAppUser.getId()); |
| | | userPointCopy.setObjectId(order.getId()); |
| | | userPointCopy.setExtention(order.getOrderNumber()); |
| | | userPointClient.saveUserPointCopy(userPointCopy); |
| | | //变更等级 |
| | | // appUserClient.vipUpgrade(shopAppUser.getId()); |
| | | } |
| | | |
| | | if(!shop.getLavePoint().equals(shopLavePoint)){ |
| | | ShopPointCopy shopPointCopy = new ShopPointCopy(); |
| | | shopPointCopy.setShopId(shop.getId()); |
| | | shopPointCopy.setType(1); |
| | | shopPointCopy.setHistoricalPoint(shopLavePoint); |
| | | shopPointCopy.setVariablePoint(hxmd_point); |
| | | shopPointCopy.setBalance(shop.getLavePoint()); |
| | | shopPointCopy.setCreateTime(LocalDateTime.now()); |
| | | shopPointCopy.setCreateUserId(order.getAppUserId()); |
| | | shopPointCopy.setObjectId(order.getId()); |
| | | shopPointCopy.setOrderNum(order.getOrderNumber()); |
| | | shopPointClient.saveShopPointCopy(shopPointCopy); |
| | | } |
| | | //添加明细记录 |
| | | if(hxmd_price.compareTo(BigDecimal.ZERO) > 0){ |
| | | ShopBalanceStatementCopy shopBalanceStatementCopy = new ShopBalanceStatementCopy(); |
| | | shopBalanceStatementCopy.setShopId(shop.getId()); |
| | | shopBalanceStatementCopy.setType(3); |
| | | shopBalanceStatementCopy.setHistoricalBalance(shopBalance); |
| | | shopBalanceStatementCopy.setVariableAmount(hxmd_price); |
| | | shopBalanceStatementCopy.setBalance(shop.getBalance()); |
| | | shopBalanceStatementCopy.setCreateTime(LocalDateTime.now()); |
| | | shopBalanceStatementCopy.setCreateUserId(order.getAppUserId()); |
| | | shopBalanceStatementCopy.setObjectId(order.getId()); |
| | | shopBalanceStatementCopy.setExtension(order.getOrderNumber()); |
| | | shopBalanceStatementClient.saveShopBalanceStatementCopy(shopBalanceStatementCopy); |
| | | } |
| | | |
| | | //技师服务积分 |
| | | if(order.getOrderType() == 1){ |
| | | Technician technician = technicianClient.shopdetail(order.getTechnicianId()).getData(); |
| | | if(null != technician){ |
| | | AppUser technicianAppUser = appUserClient.getAppUserById(technician.getAppUserId()); |
| | | if(null != technicianAppUser){ |
| | | 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(); |
| | | } |
| | | //添加积分明细 |
| | | if(hxmd_point > 0){ |
| | | UserPointCopy userPointCopy = new UserPointCopy(); |
| | | userPointCopy.setType(8); |
| | | userPointCopy.setHistoricalPoint(lavePoint); |
| | | userPointCopy.setVariablePoint(hxmd_point); |
| | | userPointCopy.setBalance(shopAppUser.getLavePoint()); |
| | | userPointCopy.setCreateTime(LocalDateTime.now()); |
| | | userPointCopy.setAppUserId(shopAppUser.getId()); |
| | | userPointCopy.setObjectId(order.getId()); |
| | | userPointCopy.setExtention(order.getOrderNumber()); |
| | | userPointClient.saveUserPointCopy(userPointCopy); |
| | | //变更等级 |
| | | // appUserClient.vipUpgrade(shopAppUser.getId()); |
| | | } |
| | | |
| | | if(hxmd_point > 0){ |
| | | ShopPointCopy shopPointCopy = new ShopPointCopy(); |
| | | shopPointCopy.setShopId(shop.getId()); |
| | | shopPointCopy.setType(1); |
| | | shopPointCopy.setHistoricalPoint(shopLavePoint); |
| | | shopPointCopy.setVariablePoint(hxmd_point); |
| | | shopPointCopy.setBalance(shop.getLavePoint()); |
| | | shopPointCopy.setCreateTime(LocalDateTime.now()); |
| | | shopPointCopy.setCreateUserId(order.getAppUserId()); |
| | | shopPointCopy.setObjectId(order.getId()); |
| | | shopPointCopy.setOrderNum(order.getOrderNumber()); |
| | | shopPointClient.saveShopPointCopy(shopPointCopy); |
| | | } |
| | | } |
| | | |
| | | //技师服务积分 |
| | | if(order.getOrderType() == 1){ |
| | | Technician technician = technicianClient.shopdetail(order.getTechnicianId()).getData(); |
| | | if(null == technician){ |
| | | log.error("技师查询失败"); |
| | | } |
| | | if(null != technician){ |
| | | AppUser technicianAppUser = appUserClient.getAppUserById(technician.getAppUserId()); |
| | | if(null != technicianAppUser){ |
| | | 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); |
| | |
| | | // } |
| | | // technicianAppUser.setTotalPoint(technicianAppUser.getTotalPoint() + js_point); |
| | | // technicianAppUser.setTotalPerformancePoint(technicianAppUser.getTotalPerformancePoint() + js_point); |
| | | |
| | | //添加临时分佣数据 |
| | | AppUserGiveawayTemporary appUserGiveawayTemporary = new AppUserGiveawayTemporary(); |
| | | appUserGiveawayTemporary.setOrderId(order.getId()); |
| | | appUserGiveawayTemporary.setAppUserId(technicianAppUser.getId()); |
| | | appUserGiveawayTemporary.setLavePoint(js_point); |
| | | appUserGiveawayTemporary.setAvailablePoint(earnPoint1); |
| | | appUserGiveawayTemporary.setTotalAvailablePoint(earnPoint1); |
| | | if(null != pointSetting && 1 == pointSetting.getPersonPointGift()){ |
| | | appUserGiveawayTemporary.setTransferablePoint(earnPoint1); |
| | | } |
| | | appUserGiveawayTemporary.setTotalPoint(js_point); |
| | | appUserGiveawayTemporary.setTotalPerformancePoint(js_point); |
| | | appUserGiveawayTemporaryClient.saveAppUserGiveawayTemporary(appUserGiveawayTemporary); |
| | | |
| | | } |
| | | // appUserClient.editAppUserById(technicianAppUser); |
| | | //添加积分明细 |
| | | if(!technicianAppUser.getLavePoint().equals(lavePoint)){ |
| | | UserPointCopy userPointCopy = new UserPointCopy(); |
| | | userPointCopy.setType(10); |
| | | userPointCopy.setHistoricalPoint(lavePoint); |
| | | userPointCopy.setVariablePoint(js_point); |
| | | userPointCopy.setBalance(technicianAppUser.getLavePoint()); |
| | | userPointCopy.setCreateTime(LocalDateTime.now()); |
| | | userPointCopy.setAppUserId(technicianAppUser.getId()); |
| | | userPointCopy.setObjectId(order.getId()); |
| | | userPointCopy.setExtention(order.getOrderNumber()); |
| | | userPointClient.saveUserPointCopy(userPointCopy); |
| | | //变更等级 |
| | | // appUserClient.vipUpgrade(technicianAppUser.getId()); |
| | | } |
| | | } |
| | | |
| | | //添加临时分佣数据 |
| | | AppUserGiveawayTemporary appUserGiveawayTemporary = new AppUserGiveawayTemporary(); |
| | | appUserGiveawayTemporary.setOrderId(order.getId()); |
| | | appUserGiveawayTemporary.setAppUserId(technicianAppUser.getId()); |
| | | appUserGiveawayTemporary.setLavePoint(js_point); |
| | | appUserGiveawayTemporary.setAvailablePoint(earnPoint1); |
| | | appUserGiveawayTemporary.setTotalAvailablePoint(earnPoint1); |
| | | if(null != pointSetting && 1 == pointSetting.getPersonPointGift()){ |
| | | appUserGiveawayTemporary.setTransferablePoint(earnPoint1); |
| | | } |
| | | appUserGiveawayTemporary.setTotalPoint(js_point); |
| | | appUserGiveawayTemporary.setTotalPerformancePoint(js_point); |
| | | appUserGiveawayTemporaryClient.saveAppUserGiveawayTemporary(appUserGiveawayTemporary); |
| | | |
| | | } |
| | | // appUserClient.editAppUserById(technicianAppUser); |
| | | //添加积分明细 |
| | | if(js_point > 0){ |
| | | UserPointCopy userPointCopy = new UserPointCopy(); |
| | | userPointCopy.setType(10); |
| | | userPointCopy.setHistoricalPoint(lavePoint); |
| | | userPointCopy.setVariablePoint(js_point); |
| | | userPointCopy.setBalance(technicianAppUser.getLavePoint()); |
| | | userPointCopy.setCreateTime(LocalDateTime.now()); |
| | | userPointCopy.setAppUserId(technicianAppUser.getId()); |
| | | userPointCopy.setObjectId(order.getId()); |
| | | userPointCopy.setExtention(order.getOrderNumber()); |
| | | userPointClient.saveUserPointCopy(userPointCopy); |
| | | //变更等级 |
| | | // appUserClient.vipUpgrade(technicianAppUser.getId()); |
| | | } |
| | | } |
| | | } |
| | | |
| | | order.setIsCommission(2); |
| | | orderService.updateById(order); |
| | | } |
| | | } |
| | | |
| | | order.setIsCommission(2); |
| | | orderService.updateById(order); |
| | | } |
| | | |
| | | |