From c4a098e3f88bc5071e36b92b9e5dcceb51129957 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期四, 01 六月 2023 23:25:07 +0800 Subject: [PATCH] 同步后台代码 --- management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgentController.java | 71 ++++++++++++++++++++++++++++++++--- 1 files changed, 65 insertions(+), 6 deletions(-) diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgentController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgentController.java index d6a3819..5e692d4 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgentController.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgentController.java @@ -1,10 +1,13 @@ package com.stylefeng.guns.modular.system.controller.general; +import cn.hutool.crypto.SecureUtil; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.stylefeng.guns.core.base.controller.BaseController; import com.stylefeng.guns.core.base.tips.SuccessTip; +import com.stylefeng.guns.core.common.constant.state.ManagerStatus; import com.stylefeng.guns.core.exception.GunsException; import com.stylefeng.guns.core.exception.ServiceExceptionEnum; +import com.stylefeng.guns.core.shiro.ShiroKit; import com.stylefeng.guns.core.util.DateUtil; import com.stylefeng.guns.modular.system.controller.resp.TAgentResp; import com.stylefeng.guns.modular.system.controller.util.ExcelUtil; @@ -13,6 +16,7 @@ import com.stylefeng.guns.modular.system.enums.UserTypeEnum; import com.stylefeng.guns.modular.system.model.*; import com.stylefeng.guns.modular.system.service.*; +import com.stylefeng.guns.modular.system.util.RedisUtil; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; @@ -20,6 +24,8 @@ import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Controller; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.RequestMapping; @@ -58,13 +64,20 @@ @Autowired private ITDriverService tDriverService; + @Autowired + private ITDriverWorkService tDriverWorkService; + @Autowired + private IUserService userService; + @Autowired + private RedisUtil redisUtil; /** * 跳转到首页 */ @RequestMapping("") - public String index() { + public String index(Model model) { + model.addAttribute("userType", Objects.requireNonNull(ShiroKit.getUser()).getRoleType()); return PREFIX + "tAgent.html"; } @@ -130,8 +143,8 @@ */ @RequestMapping(value = "/list") @ResponseBody - public Object list(String principal,String principalPhone,String createTime) { - EntityWrapper<TAgent> wrapper = tAgentService.getAgentWrapper(principal,principalPhone,createTime); + public Object list(String principal,String principalPhone,String createTime,Integer status) { + EntityWrapper<TAgent> wrapper = tAgentService.getAgentWrapper(principal,principalPhone,createTime,status); List<TAgent> tAgents = tAgentService.selectList(wrapper); // 代理商列表数据封装(导出共用) return tAgentService.getAgentResp(tAgents); @@ -151,6 +164,7 @@ */ @RequestMapping(value = "/add") @ResponseBody + @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRES_NEW) public Object add(TAgent tAgent) { String[] split1 = tAgent.getArea().split("/"); @@ -160,6 +174,14 @@ return new SuccessTip(500,"该代理商已存在!"); } + int count1 = userService.selectCount(new EntityWrapper<User>().eq("account", tAgent.getAccount())); + if (count1 > 0){ + return new SuccessTip(500,"该账号已存在!"); + } + + tAgent.setPrincipal(tAgent.getPrincipal().replace(" ","")); + + String[] split = tAgent.getAreaId().split("/"); // 查询省市 // 黑龙江省/大兴安岭地区 @@ -168,9 +190,30 @@ tAgent.setProvinceName(province.getName()); tAgent.setProvinceCode(province.getCode()); TRegion city = tRegionService.selectById(split[1]); + if(Objects.isNull(city)){ + city = tRegionService.selectOne(new EntityWrapper<TRegion>() + .eq("name",split[1]) + .last("LIMIT 1")); + } tAgent.setCityName(city.getName()); tAgent.setCityCode(city.getCode()); tAgentService.insert(tAgent); + + //添加User对象 + User user = new User(); + user.setAccount(tAgent.getAccount()); + user.setSalt(ShiroKit.getRandomSalt(5)); + user.setPassword(ShiroKit.md5(tAgent.getPassword(), user.getSalt())); + user.setStatus(ManagerStatus.OK.getCode()); + user.setRoleid("2"); + user.setDeptid(25); + user.setCreatetime(new Date()); + user.setRoleType(3); + user.setObjectId(tAgent.getId()); + user.setName(tAgent.getPrincipal()); + user.setSex(1); + userService.insert(user); + return SUCCESS_TIP; } @@ -204,12 +247,27 @@ for (TDriver tDriver : list) { if(1 == status){ tDriver.setStatus(2); + String value = redisUtil.getValue("DRIVER_" + tDriver.getPhone()); + redisUtil.remove(value); + redisUtil.remove("DRIVER_" + tDriver.getPhone()); + TDriverWork tDriverWork = tDriverWorkService.selectOne(new EntityWrapper<TDriverWork>() + .eq("driverId", tDriver.getId()) + .eq("status", 1) + .orderBy("workTime", false) + .last("LIMIT 1")); + if(Objects.nonNull(tDriverWork)){ + tDriverWork.setStatus(2); + tDriverWork.setOffWorkTime(new Date()); + tDriverWorkService.updateById(tDriverWork); + } } if(2 == status){ tDriver.setStatus(1); } } - tDriverService.updateBatchById(list); + if(!CollectionUtils.isEmpty(list)){ + tDriverService.updateBatchById(list); + } return SUCCESS_TIP; } @@ -219,6 +277,7 @@ @RequestMapping(value = "/update") @ResponseBody public Object update(TAgent tAgent) { + tAgent.setPrincipal(tAgent.getPrincipal().replace(" ","")); tAgentService.updateById(tAgent); return SUCCESS_TIP; } @@ -258,7 +317,7 @@ @ApiOperation(value = "导出代理商列表",notes="导出代理商列表") @RequestMapping(value = "/export") @ResponseBody - public void export(String principal,String principalPhone,String createTime, HttpServletResponse response) { + public void export(String principal,String principalPhone,Integer status,String createTime, HttpServletResponse response) { try { Date date = new Date(); DateFormat format = new SimpleDateFormat("yyyyMMdd"); @@ -266,7 +325,7 @@ String fileName = "Agent"+time1+".xls"; String[] title = new String[] {"时间","姓名","联系电话","代理区域","客服电话","订单数量", "有效订单","已发放优惠券","已使用优惠券","累计优惠券金额","司机充值","司机数","状态"}; - EntityWrapper<TAgent> wrapper = tAgentService.getAgentWrapper(principal,principalPhone,createTime); + EntityWrapper<TAgent> wrapper = tAgentService.getAgentWrapper(principal,principalPhone,createTime,status); // 是否异常 List<TAgent> list = tAgentService.selectList(wrapper); -- Gitblit v1.7.1