From d5b3e5a413bcfccba294793ee093722f31b2448a Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期三, 16 八月 2023 17:02:13 +0800 Subject: [PATCH] 添加推单日志 --- management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TDriverServiceImpl.java | 124 +++++++++++++++++++++++++++++++--------- 1 files changed, 95 insertions(+), 29 deletions(-) diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TDriverServiceImpl.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TDriverServiceImpl.java index 5deea73..8ed368c 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TDriverServiceImpl.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TDriverServiceImpl.java @@ -24,6 +24,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.format.annotation.DateTimeFormat; import org.springframework.stereotype.Service; import org.springframework.ui.Model; import org.springframework.util.CollectionUtils; @@ -37,8 +38,10 @@ import java.net.URLConnection; import java.text.SimpleDateFormat; import java.time.LocalDate; +import java.time.LocalDateTime; import java.time.Period; import java.time.ZoneId; +import java.time.format.DateTimeFormatter; import java.util.*; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; @@ -125,9 +128,9 @@ TDriverResp tDriverResp = new TDriverResp(); BeanUtils.copyProperties(tDriver,tDriverResp); - if(Objects.nonNull(tDriver.getBackgroundBalance()) && Objects.nonNull(tDriver.getBalance())){ + if(Objects.nonNull(tDriver.getBackgroundBalance()) && Objects.nonNull(tDriver.getBalance()) && Objects.nonNull(tDriver.getCouponBalance())){ // 设置余额 - tDriverResp.setBalance(tDriver.getBackgroundBalance().add(tDriver.getBalance())); + tDriverResp.setBalance(tDriver.getBackgroundBalance().add(tDriver.getBalance()).add(tDriver.getCouponBalance())); } // 所属代理商 @@ -181,6 +184,7 @@ model.addAttribute("areaName",tDriver.getAreaName()); model.addAttribute("integral",tDriver.getIntegral()); model.addAttribute("score",tDriver.getScore()); + model.addAttribute("source",tDriver.getSource()); model.addAttribute("createTime",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(tDriver.getCreateTime())); // 计算驾龄 @@ -195,9 +199,9 @@ String monthDate = new SimpleDateFormat("yyyyMM").format(new Date()); - if(Objects.nonNull(tDriver.getBackgroundBalance()) && Objects.nonNull(tDriver.getBalance())){ + if(Objects.nonNull(tDriver.getBackgroundBalance()) && Objects.nonNull(tDriver.getBalance()) && Objects.nonNull(tDriver.getCouponBalance())){ // 设置余额 - tDriver.setBalance(tDriver.getBackgroundBalance().add(tDriver.getBalance())); + tDriver.setBalance(tDriver.getBackgroundBalance().add(tDriver.getBalance()).add(tDriver.getCouponBalance())); model.addAttribute("balance",tDriver.getBalance()); }else { model.addAttribute("balance",BigDecimal.ZERO); @@ -237,8 +241,16 @@ // 查询当前用户邀请了哪些人 List<TDriver> list = tDriverMapper.selectList(new EntityWrapper<TDriver>().eq("inviterId", tDriver.getId())); if(!CollectionUtils.isEmpty(list)){ + List<TCashWithdrawal> tCashWithdrawals = tCashWithdrawalMapper.selectList(new EntityWrapper<TCashWithdrawal>() + .eq("type", UserTypeEnum.DRIVER.getCode()) + .eq("userDriverId", tDriver.getId()) + .eq("businessType", 11) + .eq("state", 2)); + Optional<BigDecimal> reduce = tCashWithdrawals.stream().map(TCashWithdrawal::getAmount).reduce(BigDecimal::add); + BigDecimal bigDecimal = BigDecimal.ZERO; + reduce.ifPresent(bigDecimal::add); + model.addAttribute("inviterCommission",bigDecimal.add(tDriver.getCommission())); model.addAttribute("inviterCount",list.size()); - model.addAttribute("inviterCommission",0); }else { model.addAttribute("inviterCommission",0); model.addAttribute("inviterCount",0); @@ -323,12 +335,24 @@ tDriver.setCityName(city.getName()); tDriver.setCityCode(city.getCode()); - TRegion area = tRegionMapper.selectById(split[2]); - if(Objects.isNull(area)){ - area = itRegionService.selectOne(new EntityWrapper<TRegion>().eq("name",split[2])); +// TRegion area = tRegionMapper.selectById(split[2]); +// if(Objects.isNull(area)){ +// area = itRegionService.selectOne(new EntityWrapper<TRegion>().eq("name",split[2])); +// } +// tDriver.setAreaName(area.getName()); +// tDriver.setAreaCode(area.getCode()); + TRegion area = null; + if(split.length>2){ + area = itRegionService.selectById(split[2]); + if(Objects.isNull(area)){ + area = itRegionService.selectOne(new EntityWrapper<TRegion>().eq("name",split[2])); + } + tDriver.setAreaName(area.getName()); + tDriver.setAreaCode(area.getCode()); + }else { + tDriver.setAreaName(city.getName()); + tDriver.setAreaCode(city.getCode()); } - tDriver.setAreaName(area.getName()); - tDriver.setAreaCode(area.getCode()); // 通过省市查询代理商 List<TAgent> tAgent = tAgentMapper.selectList(new EntityWrapper<TAgent>().eq("provinceCode", province.getCode()) @@ -351,12 +375,26 @@ return new SuccessTip(500, "该邀约人:"+tDriver.getInviterName()+"不存在"); } } - // 通过省市区查询分公司 - List<TBranchOffice> tBranchOffice = tBranchOfficeMapper.selectList(new EntityWrapper<TBranchOffice>().eq("provinceCode", province.getCode()) - .eq("cityCode", city.getCode()) - .eq("status", StatusEnum.NORMAL.getCode()) - .eq("districtCode", area.getCode()) - .last("LIMIT 1")); + List<TBranchOffice> tBranchOffice; + if(split.length>2){ + // 通过省市区查询分公司 + tBranchOffice = tBranchOfficeMapper.selectList(new EntityWrapper<TBranchOffice>().eq("provinceCode", province.getCode()) + .eq("cityCode", city.getCode()) + .eq("status", StatusEnum.NORMAL.getCode()) + .eq("districtCode", area.getCode()) + .last("LIMIT 1")); + }else { + // 通过省市区查询分公司 + tBranchOffice = tBranchOfficeMapper.selectList(new EntityWrapper<TBranchOffice>().eq("provinceCode", province.getCode()) + .eq("cityCode", city.getCode()) + .eq("status", StatusEnum.NORMAL.getCode()) + .last("LIMIT 1")); +// tBranchOffice = tBranchOfficeMapper.selectList(new EntityWrapper<TBranchOffice>().eq("provinceCode", province.getCode()) +// .eq("cityCode", city.getCode()) +// .eq("status", StatusEnum.NORMAL.getCode()) +// .eq("districtCode", city.getCode()) +// .last("LIMIT 1")); + } if(!CollectionUtils.isEmpty(tBranchOffice)){ tDriver.setBranchOfficeId(tBranchOffice.get(0).getId()); }else { @@ -435,11 +473,23 @@ commissionResp.setConnectedPersons(connectedPersons.get()); // 已提现佣金 查询该司机的佣金提现记录 - commissionResp.setWithdrawnAmount(BigDecimal.ZERO); - + List<TCashWithdrawal> tCashWithdrawals = tCashWithdrawalMapper.selectList(new EntityWrapper<TCashWithdrawal>() + .eq("type", UserTypeEnum.DRIVER.getCode()) + .eq("userDriverId", driver.getId()) + .eq("businessType", 11) + .eq("state", 2)); + BigDecimal bigDecimal = BigDecimal.ZERO; + if(!CollectionUtils.isEmpty(tCashWithdrawals)){ + Optional<BigDecimal> reduce = tCashWithdrawals.stream().map(TCashWithdrawal::getAmount).reduce(BigDecimal::add); + if(reduce.isPresent()){ + bigDecimal.add(reduce.get()); + commissionResp.setWithdrawnAmount(bigDecimal); + } + }else { + commissionResp.setWithdrawnAmount(bigDecimal); + } // 累计佣金 可提现佣金+已提现佣金 - commissionResp.setAccumulatedCommission(BigDecimal.ZERO); - + commissionResp.setAccumulatedCommission(bigDecimal.add(commissionResp.getCommission())); commissionRespList.add(commissionResp); } @@ -447,11 +497,12 @@ } @Override - public void driverCommissionDetail(Integer tDriverId, Model model) { + public void driverCommissionDetail(Integer tDriverId, Integer levelFlag,Model model) { // 查询司机 TDriver driver = tDriverMapper.selectById(tDriverId); + model.addAttribute("levelFlag",levelFlag); // 司机信息封装 model.addAttribute("driverId",tDriverId); model.addAttribute("name",driver.getName()); @@ -491,11 +542,26 @@ model.addAttribute("numberPromoters",0); } model.addAttribute("connectedPersons",connectedPersons.get()); - // 已提现佣金 查询该司机的佣金提现记录 - model.addAttribute("withdrawnAmount",BigDecimal.ZERO); + List<TCashWithdrawal> tCashWithdrawals = tCashWithdrawalMapper.selectList(new EntityWrapper<TCashWithdrawal>() + .eq("type", UserTypeEnum.DRIVER.getCode()) + .eq("userDriverId", driver.getId()) + .eq("businessType", 11) + .eq("state", 2)); + BigDecimal bigDecimal = BigDecimal.ZERO; + if(!CollectionUtils.isEmpty(tCashWithdrawals)){ + Optional<BigDecimal> reduce = tCashWithdrawals.stream().map(TCashWithdrawal::getAmount).reduce(BigDecimal::add); + if(reduce.isPresent()){ + bigDecimal.add(reduce.get()); + // 已提现佣金 查询该司机的佣金提现记录 + model.addAttribute("withdrawnAmount",bigDecimal); + } + }else { + // 已提现佣金 查询该司机的佣金提现记录 + model.addAttribute("withdrawnAmount",bigDecimal); + } // commissionResp.setWithdrawnAmount(BigDecimal.ZERO); // 累计佣金 可提现佣金+已提现佣金 - model.addAttribute("accumulatedCommission",BigDecimal.ZERO); + model.addAttribute("accumulatedCommission",bigDecimal.add(driver.getCommission())); // commissionResp.setAccumulatedCommission(BigDecimal.ZERO); } @@ -506,11 +572,11 @@ Integer driverTotal = tDriverMapper.selectCount(new EntityWrapper<TDriver>() .eq("agentId", agentId)); // 司机最近一月数量 - LocalDate now = LocalDate.now(); - LocalDate localDate = now.plusMonths(1); + LocalDateTime now = LocalDateTime.now(); + LocalDateTime localDateTime = now.minusMonths(1); Integer driverMonthTotal = tDriverMapper.selectCount(new EntityWrapper<TDriver>() .eq("agentId", agentId) - .between("createTime", localDate, now)); + .between("createTime", localDateTime, now)); model.addAttribute("driverTotal",driverTotal); model.addAttribute("driverMonthTotal",driverMonthTotal); map.put("driverTotal",driverTotal); @@ -523,8 +589,8 @@ Integer driverTotal = tDriverMapper.selectCount(new EntityWrapper<TDriver>() .in("agentId", ids)); // 司机最近一月数量 - LocalDate now = LocalDate.now(); - LocalDate localDate = now.plusMonths(1); + LocalDateTime now = LocalDateTime.now(); + LocalDateTime localDate = now.minusMonths(1); Integer driverMonthTotal = tDriverMapper.selectCount(new EntityWrapper<TDriver>() .in("agentId", ids) .between("createTime", localDate, now)); -- Gitblit v1.7.1