From db7fa6a91b9534ac90e219b6f554c54c43c83a5a Mon Sep 17 00:00:00 2001 From: liujie <liujie> Date: 星期三, 16 八月 2023 09:28:15 +0800 Subject: [PATCH] update --- driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/AccountChangeDetailServiceImpl.java | 72 +++++++++++++++++++----------------- 1 files changed, 38 insertions(+), 34 deletions(-) diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/AccountChangeDetailServiceImpl.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/AccountChangeDetailServiceImpl.java index c6679c0..2fb86c8 100644 --- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/AccountChangeDetailServiceImpl.java +++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/AccountChangeDetailServiceImpl.java @@ -5,10 +5,7 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.supersavedriving.driver.modular.system.dao.AccountChangeDetailMapper; -import com.supersavedriving.driver.modular.system.model.AccountChangeDetail; -import com.supersavedriving.driver.modular.system.model.Driver; -import com.supersavedriving.driver.modular.system.model.RechargeRecord; -import com.supersavedriving.driver.modular.system.model.SystemConfig; +import com.supersavedriving.driver.modular.system.model.*; import com.supersavedriving.driver.modular.system.service.*; import com.supersavedriving.driver.modular.system.util.ResultUtil; import com.supersavedriving.driver.modular.system.util.UUIDUtil; @@ -19,6 +16,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.Date; import java.util.List; @@ -41,6 +40,12 @@ @Autowired private IOrderService orderService; + + @Autowired + private IRevenueService revenueService; + + @Autowired + private ICompanyFundFlowService companyFundFlowService; @@ -125,79 +130,71 @@ Double num1 = jsonObject.getDouble("num1"); List<Driver> drivers = driverService.selectList(new EntityWrapper<Driver>().eq("approvalStatus", 2).eq("status", 1)); for (Driver driver : drivers) { + Double balance1 = revenueService.queryCompanyBalance(); Double backgroundBalance = driver.getBackgroundBalance(); Double balance = driver.getBalance(); double all = backgroundBalance + balance; - if(num1 > all){ + if(num1.compareTo(all) > 0){ continue; } double d = num1.doubleValue(); if(backgroundBalance > 0 && backgroundBalance < d){ - AccountChangeDetail accountChangeDetail = new AccountChangeDetail(); - accountChangeDetail.setCode(System.currentTimeMillis() + UUIDUtil.getNumberRandom(3)); - accountChangeDetail.setUserType(2); - accountChangeDetail.setUserId(driver.getId()); - accountChangeDetail.setType(1); - accountChangeDetail.setChangeType(8); - accountChangeDetail.setOldData(driver.getBackgroundBalance()); - accountChangeDetail.setNewData(0D); - accountChangeDetail.setExplain("收取保险费"); - accountChangeDetail.setCreateTime(new Date()); - this.insert(accountChangeDetail); d -= backgroundBalance; driver.setBackgroundBalance(0D); - } - if(backgroundBalance > 0 && backgroundBalance >= d){ + }else if(backgroundBalance >= d){ AccountChangeDetail accountChangeDetail = new AccountChangeDetail(); - accountChangeDetail.setCode(System.currentTimeMillis() + UUIDUtil.getNumberRandom(3)); + accountChangeDetail.setCode(System.currentTimeMillis() + UUIDUtil.getNumberRandom(5)); accountChangeDetail.setUserType(2); accountChangeDetail.setUserId(driver.getId()); accountChangeDetail.setType(1); accountChangeDetail.setChangeType(8); - accountChangeDetail.setOldData(driver.getBalance() + driver.getBackgroundBalance() + driver.getCouponBalance() + driver.getCommission()); + accountChangeDetail.setOldData(new BigDecimal(driver.getBalance()).add(new BigDecimal(driver.getBackgroundBalance())).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); driver.setBackgroundBalance(driver.getBackgroundBalance() - d); - accountChangeDetail.setNewData(driver.getBalance() + driver.getBackgroundBalance() + driver.getCouponBalance() + driver.getCommission()); + accountChangeDetail.setNewData(new BigDecimal(driver.getBalance()).add(new BigDecimal(driver.getBackgroundBalance())).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); accountChangeDetail.setExplain("收取保险费"); accountChangeDetail.setCreateTime(new Date()); this.insert(accountChangeDetail); d = 0; } if(d > 0){ - if(balance > 0 && balance < d){ - continue; - } if(balance > 0 && balance >= d){ AccountChangeDetail accountChangeDetail = new AccountChangeDetail(); - accountChangeDetail.setCode(System.currentTimeMillis() + UUIDUtil.getNumberRandom(3)); + accountChangeDetail.setCode(System.currentTimeMillis() + UUIDUtil.getNumberRandom(5)); accountChangeDetail.setUserType(2); accountChangeDetail.setUserId(driver.getId()); accountChangeDetail.setType(1); accountChangeDetail.setChangeType(8); - accountChangeDetail.setOldData(driver.getBalance() + driver.getBackgroundBalance() + driver.getCouponBalance() + driver.getCommission()); - driver.setBalance(driver.getBalance() - d); - accountChangeDetail.setNewData(driver.getBalance() + driver.getBackgroundBalance() + driver.getCouponBalance() + driver.getCommission()); + accountChangeDetail.setOldData(new BigDecimal(driver.getBalance()).add(new BigDecimal(driver.getBackgroundBalance())).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); + driver.setBalance(new BigDecimal(driver.getBalance()).subtract(new BigDecimal(d)).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); + accountChangeDetail.setNewData(new BigDecimal(driver.getBalance()).add(new BigDecimal(driver.getBackgroundBalance())).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); accountChangeDetail.setExplain("收取保险费"); accountChangeDetail.setCreateTime(new Date()); this.insert(accountChangeDetail); - d = 0; + + Revenue revenue = new Revenue(); + revenue.setType(3); + revenue.setUserType(4); + revenue.setAmount(d); + revenue.setCreateTime(new Date()); + revenueService.insert(revenue); List<RechargeRecord> rechargeRecords = rechargeRecordService.selectList(new EntityWrapper<RechargeRecord>().eq("type", 2).eq("userId", driver.getId()).eq("payStatus", 2).gt("surplusDividedAmount", 0).orderBy("createTime")); for (RechargeRecord rechargeRecord : rechargeRecords) { Double surplusDividedAmount = rechargeRecord.getSurplusDividedAmount(); if(surplusDividedAmount.compareTo(d) >= 0){ - ResultUtil fengzhang = orderService.fengzhang(3, null, "553021440975", rechargeRecord.getId().longValue(), rechargeRecord.getOrderNumber(), d, 1); + ResultUtil fengzhang = orderService.fengzhang(3, null, "553021440975", null, rechargeRecord.getId(), rechargeRecord.getOrderNumber(), d, 1); if(fengzhang.getCode() == 10000){ - rechargeRecord.setSurplusDividedAmount(rechargeRecord.getSurplusDividedAmount() - d); + rechargeRecord.setSurplusDividedAmount(new BigDecimal(rechargeRecord.getSurplusDividedAmount()).subtract(new BigDecimal(d)).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); rechargeRecordService.updateById(rechargeRecord); } break; }else{ - ResultUtil fengzhang = orderService.fengzhang(3, null, "553021440975", rechargeRecord.getId().longValue(), rechargeRecord.getOrderNumber(), surplusDividedAmount, 1); + ResultUtil fengzhang = orderService.fengzhang(3, null, "553021440975", null, rechargeRecord.getId(), rechargeRecord.getOrderNumber(), surplusDividedAmount, 1); if(fengzhang.getCode() == 10000){ rechargeRecord.setSurplusDividedAmount(0d); rechargeRecordService.updateById(rechargeRecord); - d -= surplusDividedAmount; + d = new BigDecimal(d).subtract(new BigDecimal(surplusDividedAmount)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); }else{ break; } @@ -206,8 +203,15 @@ } } - driverService.updateById(driver); + + CompanyFundFlow companyFundFlow = new CompanyFundFlow(); + companyFundFlow.setType(4); + companyFundFlow.setObjectType(1); + companyFundFlow.setBalance(new BigDecimal(balance1)); + companyFundFlow.setMoney(new BigDecimal(num1)); + companyFundFlow.setCreateTime(new Date()); + companyFundFlowService.insert(companyFundFlow); } } } -- Gitblit v1.7.1