From d77aa9268ed02e7bda8a67aab2213e42cb5afcf4 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期四, 08 六月 2023 13:43:11 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/1.1' into 1.1 --- management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java | 189 ++++++++++++++++++++++++++++++++++++---------- 1 files changed, 146 insertions(+), 43 deletions(-) diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java index 0a5f6f0..4c6f5ce 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java @@ -1,5 +1,6 @@ package com.stylefeng.guns.modular.system.controller.general; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; @@ -14,11 +15,9 @@ import com.stylefeng.guns.modular.system.controller.util.HttpUtils; import com.stylefeng.guns.modular.system.controller.util.TokenUtils; import com.stylefeng.guns.modular.system.controller.util.UUIDUtil; +import com.stylefeng.guns.modular.system.dao.AccountChangeDetailMapper; import com.stylefeng.guns.modular.system.enums.UserTypeEnum; -import com.stylefeng.guns.modular.system.model.TDriver; -import com.stylefeng.guns.modular.system.model.TDriverWork; -import com.stylefeng.guns.modular.system.model.TRechargeRecord; -import com.stylefeng.guns.modular.system.model.TRegion; +import com.stylefeng.guns.modular.system.model.*; import com.stylefeng.guns.modular.system.service.*; import com.stylefeng.guns.modular.system.util.DateUtil; import com.stylefeng.guns.modular.system.util.RedisUtil; @@ -32,6 +31,7 @@ import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.format.annotation.DateTimeFormat; import org.springframework.stereotype.Controller; import org.springframework.transaction.annotation.Transactional; import org.springframework.ui.Model; @@ -42,15 +42,18 @@ import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; +import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.IOException; import java.io.OutputStream; import java.math.BigDecimal; import java.text.DateFormat; +import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.Period; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Objects; @@ -92,6 +95,12 @@ @Autowired private ITRechargeRecordService tRechargeRecordService; + @Autowired + private ITSystemConfigService systemConfigService; + + @Resource + private AccountChangeDetailMapper accountChangeDetailMapper; + private Logger log = LoggerFactory.getLogger(this.getClass()); /** @@ -122,10 +131,17 @@ * 跳转到修改 */ @RequestMapping("/tDriver_update") - public String tDriverUpdate( Integer tDriverId, Model model) { + public String tDriverUpdate( Integer tDriverId, Model model) throws ParseException { TDriver tDriver = tDriverService.selectById(tDriverId); TDriverResp tDriverResp = new TDriverResp(); BeanUtils.copyProperties(tDriver,tDriverResp); + + if(Objects.nonNull(tDriverResp.getFirstCertificateTime())){ + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + String format1 = format.format(tDriverResp.getFirstCertificateTime()); + tDriverResp.setFirstCertificateTimeStr(format1); + } +// tDriverResp.setFirstCertificateTime(format.parse(format1)); // 查询邀请人 TDriver tDriver1 = tDriverService.selectById(tDriver.getInviterId()); @@ -140,9 +156,22 @@ TRegion city = tRegionService.selectOne(new EntityWrapper<TRegion>().eq("code", tDriver.getCityCode()) .last("LIMIT 1")); - tDriverResp.setArea(tDriver.getProvinceName()+"/"+tDriver.getCityName()+"/"+tDriver.getAreaName()); - if(Objects.nonNull(district) && Objects.nonNull(city)){ - tDriverResp.setAreaId(city.getParentId()+"/"+city.getId()+"/"+district.getId()); +// tDriverResp.setArea(tDriver.getProvinceName()+"/"+tDriver.getCityName()+"/"+tDriver.getAreaName()); +// if(Objects.nonNull(district) && Objects.nonNull(city)){ +// tDriverResp.setAreaId(city.getParentId()+"/"+city.getId()+"/"+district.getId()); +// } + if(StringUtils.hasLength(tDriver.getAreaName()) && !tDriver.getAreaName().equals(tDriver.getCityName())){ + tDriverResp.setArea(tDriver.getProvinceName()+"/"+tDriver.getCityName()+"/"+tDriver.getAreaName()); + }else { + tDriverResp.setArea(tDriver.getProvinceName()+"/"+tDriver.getCityName()); + } + + if(Objects.nonNull(city)){ + if(Objects.nonNull(district) && !district.getCode().equals(city.getCode())){ + tDriverResp.setAreaId(city.getParentId()+"/"+city.getId()+"/"+district.getId()); + }else { + tDriverResp.setAreaId(city.getParentId()+"/"+city.getId()); + } } model.addAttribute("item",tDriverResp); @@ -219,8 +248,8 @@ * 佣金跳转详情页面 */ @RequestMapping("/commission/driverCommissionDetail") - public String driverCommissionDetail(Integer tDriverId, Model model) { - tDriverService.driverCommissionDetail(tDriverId,model); + public String driverCommissionDetail(Integer tDriverId,Integer levelFlag, Model model) { + tDriverService.driverCommissionDetail(tDriverId,levelFlag,model); return PREFIX + "tDriverCommissionDetail.html"; } @@ -233,12 +262,20 @@ String[] split = area.split("/"); model.addAttribute("provinceName",split[0]); model.addAttribute("cityName",split[1]); - model.addAttribute("districtName",split[2]); + if(split.length>2){ + model.addAttribute("districtName",split[2]); + }else { + model.addAttribute("districtName",""); + } String[] split1 = areaId.split("/"); model.addAttribute("provinceId",split1[0]); model.addAttribute("cityId",split1[1]); - model.addAttribute("districtId",split1[2]); + if(split1.length>2) { + model.addAttribute("districtId", split1[2]); + }else { + model.addAttribute("districtId", ""); + } List<TRegion> tRegions = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", 0)); @@ -252,7 +289,7 @@ // 查询区 List<Integer> cityIds = tRegions1.stream().map(TRegion::getId).collect(Collectors.toList()); - List<TRegion> tRegions2 = tRegionService.selectList(new EntityWrapper<TRegion>().in("parent_id", cityIds)); + List<TRegion> tRegions2 = tRegionService.selectList(new EntityWrapper<TRegion>().in("parent_id", split1[1])); model.addAttribute("districtList",tRegions2); return PREFIX + "tDriverAreaUpdate.html"; @@ -266,15 +303,15 @@ String[] split1 = areaId.split("/"); List<TRegion> tRegions = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", 0)); model.addAttribute("provinceList",tRegions); - List<Integer> provinceIds = tRegions.stream().map(TRegion::getId).collect(Collectors.toList()); - // 查询市 - List<TRegion> tRegions1 = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", split1[0])); - model.addAttribute("cityList",tRegions1); - - // 查询区 - List<Integer> cityIds = tRegions1.stream().map(TRegion::getId).collect(Collectors.toList()); - List<TRegion> tRegions2 = tRegionService.selectList(new EntityWrapper<TRegion>().in("parent_id", cityIds)); - model.addAttribute("districtList",tRegions2); +// List<Integer> provinceIds = tRegions.stream().map(TRegion::getId).collect(Collectors.toList()); +// // 查询市 +// List<TRegion> tRegions1 = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", split1[0])); +// model.addAttribute("cityList",tRegions1); +// +// // 查询区 +// List<Integer> cityIds = tRegions1.stream().map(TRegion::getId).collect(Collectors.toList()); +// List<TRegion> tRegions2 = tRegionService.selectList(new EntityWrapper<TRegion>().in("parent_id", cityIds)); +// model.addAttribute("districtList",tRegions2); if(StringUtils.hasLength(area) && StringUtils.hasLength(areaId)){ String[] split = area.split("/"); @@ -293,7 +330,17 @@ }else { model.addAttribute("districtId", ""); } + + List<TRegion> tRegions1 = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", split1[0])); + model.addAttribute("cityList",tRegions1); + + // 查询区 + List<TRegion> tRegions2 = tRegionService.selectList(new EntityWrapper<TRegion>().in("parent_id", split1[1])); + model.addAttribute("districtList",tRegions2); }else { + model.addAttribute("cityList",new ArrayList<>()); + model.addAttribute("districtList",new ArrayList<>()); + model.addAttribute("provinceName",""); model.addAttribute("cityName","split[1]"); model.addAttribute("districtName",""); @@ -326,13 +373,13 @@ driverResp.setNotOnlineCount(0); }else { Period period = Period.between(DateUtil.dateToLocalDate(tDriverWork.getOffWorkTime()), LocalDate.now()); - driverResp.setNotOnlineCount(Math.abs(period.getDays())); + driverResp.setNotOnlineCount(period.getYears()*365 + period.getMonths()*30 + Math.abs(period.getDays())); } }else { if(Objects.nonNull(driverResp.getApprovalTime())){ // 没有上班记录,计算审核时间 Period period = Period.between(DateUtil.dateToLocalDate(driverResp.getApprovalTime()), LocalDate.now()); - driverResp.setNotOnlineCount(Math.abs(period.getDays())); + driverResp.setNotOnlineCount(period.getYears()*365 + period.getMonths()*30 + Math.abs(period.getDays())); }else { driverResp.setNotOnlineCount(0); } @@ -348,7 +395,11 @@ public Object commissionList(String name,String phone,Integer status) { EntityWrapper<TDriver> wrapper = tDriverService.getCommissionPageList(name,phone,status); List<TDriver> tDrivers = tDriverService.selectList(wrapper); - return tDriverService.getTDriverCommissionResp(tDrivers); + List<TDriverCommissionResp> commissionResp = tDriverService.getTDriverCommissionResp(tDrivers); + for (TDriverCommissionResp tDriverCommissionResp : commissionResp) { + tDriverCommissionResp.setLevelFlag(0); + } + return commissionResp; } /** * 获取异常列表 @@ -360,7 +411,31 @@ wrapper.eq("isException",2); wrapper.orderBy("createTime",false); List<TDriver> tDrivers = tDriverService.selectList(wrapper); - return tDriverService.getTDriverResp(tDrivers); + List<TDriverResp> tDriverResp = tDriverService.getTDriverResp(tDrivers); + for (TDriverResp driverResp : tDriverResp) { + TDriverWork tDriverWork = tDriverWorkService.selectOne(new EntityWrapper<TDriverWork>() + .eq("driverId", driverResp.getId()) + .orderBy("workTime", false) + .last("LIMIT 1")); + if(Objects.nonNull(tDriverWork)){ + // 如果是下班状态,计算未上线天数,,如果为上班状态,则设置为0 + if(tDriverWork.getStatus() == 1){ + driverResp.setNotOnlineCount(0); + }else { + Period period = Period.between(DateUtil.dateToLocalDate(tDriverWork.getOffWorkTime()), LocalDate.now()); + driverResp.setNotOnlineCount(period.getYears()*365 + period.getMonths()*30 + Math.abs(period.getDays())); + } + }else { + if(Objects.nonNull(driverResp.getApprovalTime())){ + // 没有上班记录,计算审核时间 + Period period = Period.between(DateUtil.dateToLocalDate(driverResp.getApprovalTime()), LocalDate.now()); + driverResp.setNotOnlineCount(period.getYears()*365 + period.getMonths()*30 + Math.abs(period.getDays())); + }else { + driverResp.setNotOnlineCount(0); + } + } + } + return tDriverResp; } /** @@ -368,8 +443,7 @@ */ @RequestMapping(value = "/commission/connect/list") @ResponseBody - public Object commissionConnectList(String driverId) { - + public Object commissionConnectList(String driverId,Integer levelFlag) { // 查询当前用户的用户信息 TDriver tDriver = tDriverService.selectById(driverId); @@ -379,24 +453,30 @@ } wrapper.orderBy("createTime",false); List<TDriver> list = tDriverService.selectList(wrapper); - List<TDriverCommissionResp> commissionResp = tDriverService.getTDriverCommissionResp(list); - for (TDriverCommissionResp tDriverCommissionResp : commissionResp) { - if(Objects.nonNull(tDriver)){ - tDriverCommissionResp.setInviterName(tDriver.getName()); - tDriverCommissionResp.setInviterPhone(tDriver.getPhone()); - - if(Objects.nonNull(tDriver.getInviterId())){ - TDriver driver = tDriverService.selectById(tDriver.getInviterId()); - if(Objects.nonNull(driver.getInviterId())){ - tDriverCommissionResp.setLevel("三级"); - }else { + List<TDriverCommissionResp> commissionResp = new ArrayList<>(); + try{ + commissionResp = tDriverService.getTDriverCommissionResp(list); + for (TDriverCommissionResp tDriverCommissionResp : commissionResp) { + if(Objects.nonNull(tDriver)){ + tDriverCommissionResp.setInviterName(tDriver.getName()); + tDriverCommissionResp.setInviterPhone(tDriver.getPhone()); + if(levelFlag == 0){ + tDriverCommissionResp.setLevelFlag(1); + tDriverCommissionResp.setLevel("一级"); + } + if(levelFlag == 1){ + tDriverCommissionResp.setLevelFlag(2); tDriverCommissionResp.setLevel("二级"); } - }else { - tDriverCommissionResp.setLevel("一级"); - } + if(levelFlag == 2){ + tDriverCommissionResp.setLevelFlag(3); + tDriverCommissionResp.setLevel("三级"); + } + } } + }catch (Exception e){ + e.printStackTrace(); } return commissionResp; } @@ -455,6 +535,28 @@ tDriver.setApprovalUserId(shiroUser.getId()); tDriver.setApprovalTime(new Date()); tDriverService.updateById(tDriver); + + //增加积分奖励 + if(approvalStatus == 2 && null != tDriver.getInviterId()){ + TSystemConfig systemConfig = systemConfigService.selectOne(new EntityWrapper<TSystemConfig>().eq("type", 4)); + Integer num7 = JSON.parseObject(systemConfig.getContent()).getInteger("num7"); + TDriver tDriver1 = tDriverService.selectById(tDriver.getInviterId()); + + AccountChangeDetail accountChangeDetail = new AccountChangeDetail(); + accountChangeDetail.setCode(System.currentTimeMillis() + UUIDUtil.getNumberRandom(3)); + accountChangeDetail.setUserType(2); + accountChangeDetail.setUserId(tDriver1.getId()); + accountChangeDetail.setType(2); + accountChangeDetail.setChangeType(10); + accountChangeDetail.setOldData(tDriver1.getIntegral().doubleValue()); + tDriver1.setIntegral(tDriver1.getIntegral() + num7); + accountChangeDetail.setNewData(tDriver1.getIntegral().doubleValue()); + accountChangeDetail.setExplain("推荐奖励"); + accountChangeDetail.setCreateTime(new Date()); + accountChangeDetailMapper.insert(accountChangeDetail); + tDriverService.updateById(tDriver1); + } + return SUCCESS_TIP; } @@ -548,7 +650,8 @@ tRechargeRecord.setPayTime(new Date()); tRechargeRecord.setPayStatus(2); tRechargeRecord.setCreateTime(new Date()); - tRechargeRecord.setAgentId(Objects.requireNonNull(ShiroKit.getUser()).getId()); + Integer id1 = Objects.requireNonNull(ShiroKit.getUser()).getObjectId(); + tRechargeRecord.setAgentId(id1); tRechargeRecordService.insert(tRechargeRecord); return SUCCESS_TIP; } -- Gitblit v1.7.1