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 | 335 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 329 insertions(+), 6 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 bebefe7..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,7 +1,26 @@ 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.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; import org.springframework.ui.Model; @@ -9,8 +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; /** * 控制器 @@ -26,12 +49,26 @@ @Autowired private ITBranchOfficeService tBranchOfficeService; + @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"; } @@ -48,10 +85,144 @@ */ @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"; + } + + /** + * 跳转到详情 + */ + @RequestMapping("/tBranchOfficeDetail") + public String tBranchOfficeDetail(Integer tBranchOfficeId, Model model) { + tBranchOfficeService.tBranchOfficeDetail(tBranchOfficeId,model); + TSystemConfig tSystemConfig = tSystemConfigService.selectOne(new EntityWrapper<TSystemConfig>().eq("type", 3)); + JSONObject jsonObject = JSONObject.parseObject(tSystemConfig.getContent()); + model.addAttribute("num2",jsonObject.getInteger("num2")); + model.addAttribute("num3",jsonObject.getInteger("num3")); + return PREFIX + "tBranchOfficeDetail.html"; + } + + /** + * 跳转区域页面新增 + */ + @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"; } /** @@ -59,7 +230,76 @@ */ @RequestMapping(value = "/list") @ResponseBody - public Object list(String condition) { + public Object list(String branchOfficeName,String principal,String principalPhone,Integer operatingBusiness ,Integer status) { + List<TBranchOfficeResp> tBranchOfficeRespList = tBranchOfficeService.getPageList(branchOfficeName,principal,principalPhone,operatingBusiness,status); + for (TBranchOfficeResp tBranchOfficeResp : tBranchOfficeRespList) { + tBranchOfficeResp.setUserType(Objects.requireNonNull(ShiroKit.getUser()).getRoleType()); + } + // 分公司查询优惠券,订单,司机等信息 + 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; + } + + /** + * 启用分公司 + */ + @RequestMapping(value = "/start") + @ResponseBody + public Object start(Integer id) { + TBranchOffice tBranchOffice = tBranchOfficeService.selectById(id); + tBranchOffice.setStatus(StatusEnum.NORMAL.getCode()); + tBranchOfficeService.updateById(tBranchOffice); + return SUCCESS_TIP; + } + + /** + * 冻结分公司 + */ + @RequestMapping(value = "/stop") + @ResponseBody + public Object updateStatus(Integer id) { + TBranchOffice tBranchOffice = tBranchOfficeService.selectById(id); + 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; + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/list-back") + @ResponseBody + public Object listBack(String condition) { return tBranchOfficeService.selectList(null); } @@ -68,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; } @@ -79,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; } @@ -88,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