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/TBranchOfficeController.java | 319 ++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 276 insertions(+), 43 deletions(-) diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TBranchOfficeController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TBranchOfficeController.java index d806fe0..4438cf1 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TBranchOfficeController.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TBranchOfficeController.java @@ -1,14 +1,25 @@ package com.stylefeng.guns.modular.system.controller.general; +import cn.hutool.crypto.SecureUtil; import com.alibaba.fastjson.JSONObject; 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.shiro.ShiroKit; -import com.stylefeng.guns.modular.system.model.TAppUser; -import com.stylefeng.guns.modular.system.model.TSystemConfig; -import com.stylefeng.guns.modular.system.model.User; -import com.stylefeng.guns.modular.system.service.ITSystemConfigService; +import com.stylefeng.guns.core.util.SinataUtil; +import com.stylefeng.guns.modular.system.controller.resp.TBranchOfficeResp; +import com.stylefeng.guns.modular.system.controller.resp.TDriverResp; +import com.stylefeng.guns.modular.system.enums.StatusEnum; +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.ApiOperation; +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; import org.springframework.web.bind.annotation.ResponseBody; @@ -17,10 +28,12 @@ import org.springframework.beans.factory.annotation.Autowired; import com.stylefeng.guns.core.log.LogObjectHolder; import org.springframework.web.bind.annotation.RequestParam; -import com.stylefeng.guns.modular.system.model.TBranchOffice; -import com.stylefeng.guns.modular.system.service.ITBranchOfficeService; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; /** * 控制器 @@ -39,11 +52,23 @@ @Autowired private ITSystemConfigService tSystemConfigService; + @Autowired + private ITRegionService tRegionService; + @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 + "tBranchOffice.html"; } @@ -60,8 +85,32 @@ */ @RequestMapping("/tBranchOffice_update/{tBranchOfficeId}") public String tBranchOfficeUpdate(@PathVariable Integer tBranchOfficeId, Model model) { + TBranchOffice tBranchOffice = tBranchOfficeService.selectById(tBranchOfficeId); - model.addAttribute("item",tBranchOffice); + TBranchOfficeResp tBranchOfficeResp = new TBranchOfficeResp(); + BeanUtils.copyProperties(tBranchOffice,tBranchOfficeResp); + + // 查询区域 + TRegion city = tRegionService.selectOne(new EntityWrapper<TRegion>().eq("code", tBranchOffice.getCityCode()) + .last("LIMIT 1")); + TRegion district = tRegionService.selectOne(new EntityWrapper<TRegion>().eq("code", tBranchOffice.getDistrictCode()) + .last("LIMIT 1")); + + if(StringUtils.hasLength(tBranchOffice.getDistrictName())){ + tBranchOfficeResp.setArea(tBranchOffice.getProvinceName()+"/"+tBranchOffice.getCityName()+"/"+tBranchOffice.getDistrictName()); + }else { + tBranchOfficeResp.setArea(tBranchOffice.getProvinceName()+"/"+tBranchOffice.getCityName()); + } + + if(Objects.nonNull(city)){ + if(Objects.nonNull(district)){ + tBranchOfficeResp.setAreaId(city.getParentId()+"/"+city.getId()+"/"+district.getId()); + }else { + tBranchOfficeResp.setAreaId(city.getParentId()+"/"+city.getId()); + } + } + + model.addAttribute("item",tBranchOfficeResp); LogObjectHolder.me().set(tBranchOffice); return PREFIX + "tBranchOffice_edit.html"; } @@ -80,44 +129,128 @@ } /** + * 跳转区域页面新增 + */ + @RequestMapping("/areaPageAdd") + public String areaPageAdd(String area,String areaId,Model model) { + 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); + + if(StringUtils.hasLength(area) && StringUtils.hasLength(areaId)){ + String[] split = area.split("/"); + model.addAttribute("provinceName",split[0]); + model.addAttribute("cityName",split[1]); + if(split.length>2){ + model.addAttribute("districtName",split[2]); + }else { + model.addAttribute("districtName",""); + } + + model.addAttribute("provinceId",split1[0]); + model.addAttribute("cityId",split1[1]); + if(split1.length>2) { + model.addAttribute("districtId", split1[2]); + }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",""); + model.addAttribute("districtName",""); + + model.addAttribute("provinceId",""); + model.addAttribute("cityId",""); + model.addAttribute("districtId", ""); + } + return PREFIX + "tBranchOfficeAreaAdd.html"; + } + + /** + * 跳转区域页面编辑 + */ + @RequestMapping("/areaPageUpdate") + public String areaPageUpdate(String area,String areaId,Model model) { + + String[] split = area.split("/"); + model.addAttribute("provinceName",split[0]); + model.addAttribute("cityName",split[1]); + if(split.length>2){ + model.addAttribute("districtName",split[2]); + }else { + model.addAttribute("districtName",""); + } + + String[] split1 = areaId.split("/"); + String provinceId = split1[0]; + model.addAttribute("provinceId",split1[0]); + model.addAttribute("cityId",split1[1]); + 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)); + 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", provinceId)); + 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", split1[1])); + model.addAttribute("districtList",tRegions2); + + return PREFIX + "tBranchOfficeAreaUpdate.html"; + } + + /** * 获取列表 */ @RequestMapping(value = "/list") @ResponseBody public Object list(String branchOfficeName,String principal,String principalPhone,Integer operatingBusiness ,Integer status) { - EntityWrapper<TBranchOffice> wrapper = new EntityWrapper<>(); - // 分公司名称 - if(StringUtils.hasLength(branchOfficeName)){ - wrapper.like("branchOfficeName",branchOfficeName); + List<TBranchOfficeResp> tBranchOfficeRespList = tBranchOfficeService.getPageList(branchOfficeName,principal,principalPhone,operatingBusiness,status); + for (TBranchOfficeResp tBranchOfficeResp : tBranchOfficeRespList) { + tBranchOfficeResp.setUserType(Objects.requireNonNull(ShiroKit.getUser()).getRoleType()); } - // 负责人 - if(StringUtils.hasLength(principal)){ - wrapper.like("principal",principal); - } - // 负责人电话 - if(StringUtils.hasLength(principalPhone)){ - wrapper.like("principalPhone",principalPhone); - } - // 经营业务 - if(Objects.nonNull(operatingBusiness)){ - wrapper.eq("operatingBusiness",operatingBusiness); - } - // 状态 - if(Objects.nonNull(status)){ - wrapper.eq("status",status); - } - // 判断代理商 分公司 - Integer roleType = Objects.requireNonNull(ShiroKit.getUser()).getRoleType(); - Integer objectId = Objects.requireNonNull(ShiroKit.getUser()).getObjectId(); - if(2 == roleType){ - // 分公司 - wrapper.eq("id",objectId); - } - if(3 == roleType){ - // 代理商 - wrapper.eq("agentId",objectId); - } - return tBranchOfficeService.selectList(wrapper); + // 分公司查询优惠券,订单,司机等信息 + tBranchOfficeService.queryOtherInfo(tBranchOfficeRespList); + return tBranchOfficeRespList; + } + + @ApiOperation(value = "市区查询",notes="市区查询") + @RequestMapping(value = "/areaCity") + @ResponseBody + public Object areaCity(Integer parentId,Model model) { + List<TRegion> tRegions = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", parentId)); + /*if(CollectionUtils.isEmpty(tRegions) && StringUtils.hasLength(parentName)){ + TRegion parent = tRegionService.selectOne(new EntityWrapper<TRegion>().eq("name", parentName)); + tRegions = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", parentId)); + }*/ + model.addAttribute("list",tRegions); + return tRegions; } /** @@ -127,7 +260,7 @@ @ResponseBody public Object start(Integer id) { TBranchOffice tBranchOffice = tBranchOfficeService.selectById(id); - tBranchOffice.setStatus(1); + tBranchOffice.setStatus(StatusEnum.NORMAL.getCode()); tBranchOfficeService.updateById(tBranchOffice); return SUCCESS_TIP; } @@ -139,8 +272,25 @@ @ResponseBody public Object updateStatus(Integer id) { TBranchOffice tBranchOffice = tBranchOfficeService.selectById(id); - tBranchOffice.setStatus(2); + tBranchOffice.setStatus(StatusEnum.FREEZE.getCode()); tBranchOfficeService.updateById(tBranchOffice); + List<TDriver> list = tDriverService.selectList(new EntityWrapper<TDriver>() + .eq("branchOfficeId", tBranchOffice.getId())); + for (TDriver tDriver : list) { + 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); + } + } return SUCCESS_TIP; } @@ -158,8 +308,41 @@ */ @RequestMapping(value = "/add") @ResponseBody + @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRES_NEW) public Object add(TBranchOffice tBranchOffice) { + int count = tBranchOfficeService.selectCount(new EntityWrapper<TBranchOffice>().eq("branchOfficeName", tBranchOffice.getBranchOfficeName())); + if(count>0){ + return new SuccessTip(500,"该分公司名称已存在!"); + } + int count1 = userService.selectCount(new EntityWrapper<User>().eq("account", tBranchOffice.getAccount())); + if (count1 > 0){ + return new SuccessTip(500,"该账号已存在!"); + } + + Object o = tBranchOfficeService.addOrUpdate(tBranchOffice); + if(Objects.nonNull(o)){ + return o; + } + tBranchOffice.setPrincipal(tBranchOffice.getPrincipal().replace(" ","")); + tBranchOffice.setStatus(StatusEnum.NORMAL.getCode()); + tBranchOfficeService.insert(tBranchOffice); + + //添加User对象 + User user = new User(); + user.setAccount(tBranchOffice.getAccount()); + user.setSalt(ShiroKit.getRandomSalt(5)); + user.setPassword(ShiroKit.md5(tBranchOffice.getPassword(), user.getSalt())); + user.setStatus(ManagerStatus.OK.getCode()); + user.setRoleid("3"); + user.setDeptid(25); + user.setCreatetime(new Date()); + user.setRoleType(2); + user.setObjectId(tBranchOffice.getId()); + user.setName(tBranchOffice.getPrincipal()); + user.setSex(1); + userService.insert(user); + return SUCCESS_TIP; } @@ -169,7 +352,9 @@ @RequestMapping(value = "/delete") @ResponseBody public Object delete(@RequestParam Integer tBranchOfficeId) { - tBranchOfficeService.deleteById(tBranchOfficeId); + TBranchOffice tBranchOffice = tBranchOfficeService.selectById(tBranchOfficeId); + tBranchOffice.setStatus(StatusEnum.DELETE.getCode()); + tBranchOfficeService.updateById(tBranchOffice); return SUCCESS_TIP; } @@ -178,7 +363,55 @@ */ @RequestMapping(value = "/update") @ResponseBody + @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRES_NEW) public Object update(TBranchOffice tBranchOffice) { + TBranchOffice branchOffice = tBranchOfficeService.selectById(tBranchOffice.getId()); + User user = userService.selectOne(new EntityWrapper<User>() + .eq("role_type", 2) + .eq("object_id", branchOffice.getId()) + .last("LIMIT 1")); + //判断账号是否已存在 + if (SinataUtil.isNotEmpty(tBranchOffice.getAccount()) && SinataUtil.isNotEmpty(tBranchOffice.getPassword())){ + if(Objects.isNull(user)){ + //添加User对象 + user.setAccount(tBranchOffice.getAccount()); + user.setSalt(ShiroKit.getRandomSalt(5)); + user.setPassword(ShiroKit.md5(tBranchOffice.getPassword(), user.getSalt())); + user.setStatus(ManagerStatus.OK.getCode()); + user.setRoleid("3"); + user.setDeptid(25); + user.setCreatetime(new Date()); + user.setRoleType(2); + user.setObjectId(tBranchOffice.getId()); + user.setName(tBranchOffice.getPrincipal()); + user.setSex(1); + userService.insert(user); + }else { + if (!tBranchOffice.getAccount().equals(user.getAccount())){ + //判断账号是否已存在 + int count = userService.selectCount(new EntityWrapper<User>().eq("account", tBranchOffice.getAccount())); + if (count > 0){ + return new SuccessTip(500,"该账号已存在!"); + } + } + user.setAccount(tBranchOffice.getAccount()); + user.setPassword(ShiroKit.md5(user.getPassword(), user.getSalt())); + userService.updateById(user); + } + } + + TBranchOffice office = tBranchOfficeService.selectOne(new EntityWrapper<TBranchOffice>().eq("branchOfficeName", tBranchOffice.getBranchOfficeName()) + .last("LIMIT 1")); + if(Objects.nonNull(office) && !tBranchOffice.getId().equals(office.getId())){ + return new SuccessTip(500,"该分公司名称已存在!"); + } +// Object ocr = ocr("E:\\071bf986db0b00355c0ed190bbd3b16.png"); +// System.err.println(ocr); + Object o = tBranchOfficeService.addOrUpdate(tBranchOffice); + if(Objects.nonNull(o)){ + return o; + } + tBranchOffice.setPrincipal(tBranchOffice.getPrincipal().replace(" ","")); tBranchOfficeService.updateById(tBranchOffice); return SUCCESS_TIP; } -- Gitblit v1.7.1