package com.dsh.guns.modular.system.controller.code; import cn.hutool.crypto.SecureUtil; import com.alibaba.nacos.common.utils.Md5Utils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.dsh.course.entity.City; import com.dsh.course.feignClient.account.CityClient; import com.dsh.course.feignClient.account.model.CityListQuery; import com.dsh.course.feignClient.account.model.TCityManager; import com.dsh.course.feignClient.competition.CompetitionClient; import com.dsh.course.feignClient.competition.model.*; import com.dsh.course.feignClient.course.CourseClient; import com.dsh.course.feignClient.course.model.TCoursePackage; import com.dsh.course.mapper.UserMapper; import com.dsh.guns.core.base.controller.BaseController; import com.dsh.guns.core.base.tips.SuccessTip; import com.dsh.guns.core.common.constant.factory.PageFactory; import com.dsh.guns.core.util.ToolUtil; import com.dsh.guns.modular.system.model.TCity; import com.dsh.guns.modular.system.model.TCourse; import com.dsh.guns.modular.system.model.TStore; import com.dsh.guns.modular.system.model.User; import com.dsh.guns.modular.system.model.dto.SelectDto; import com.dsh.guns.modular.system.service.ICityService; import com.dsh.guns.modular.system.service.IStoreService; import com.dsh.guns.modular.system.service.IUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import javax.annotation.Resource; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.stream.Collectors; /** * 车辆管理控制器 * * @author fengshuonan * @Date 2020-06-05 17:25:12 */ @Controller @RequestMapping("/tCity") public class TCityController extends BaseController { private String PREFIX = "/system/tCity/"; @Autowired private CompetitionClient competitionClient; @Autowired private CityClient cityClient; @Autowired private IStoreService storeService; @Autowired private ICityService cityService; @Resource private UserMapper userMapper; @Autowired private IUserService userService; /** * 跳转到车辆管理首页 */ @RequestMapping("") public String index(Model model) { List list = cityService.list(new LambdaQueryWrapper().eq(TCity::getParentId, 0)); model.addAttribute("list",list); return PREFIX + "TCity.html"; } /** * 跳转到添加车辆管理 */ @RequestMapping("/tCity_add") public String tCompetitionAdd(Model model) { List list = cityService.list(new LambdaQueryWrapper().eq(TCity::getParentId, 0)); model.addAttribute("list",list); return PREFIX + "TCity_add.html"; } /** * 跳转到修改车辆管理 */ @RequestMapping("/tCity_update/{id}") public String tCityUpdate(@PathVariable Integer id, Model model) { TCityManager byId = cityClient.getById(id); model.addAttribute("item",byId); List list = cityService.list(new LambdaQueryWrapper().eq(TCity::getParentId, 0)); model.addAttribute("list",list); TCity one = cityService.getOne(new LambdaQueryWrapper().eq(TCity::getCode, byId.getProvinceCode())); List list1 = cityService.list(new LambdaQueryWrapper().eq(TCity::getParentId,one.getId() )); model.addAttribute("list1",list1); return PREFIX + "tCity_edit.html"; } @RequestMapping(value = "/list") @ResponseBody public Object list(String provinceCode, String cityCode , String name, String phone) { Page page = new PageFactory().defaultPage(); CityListQuery listQuery = new CityListQuery(page.getSize(),page.getCurrent(),provinceCode,cityCode,name,phone); Page competitions = cityClient.list(listQuery); return super.packForBT(competitions); } @Resource private CourseClient courseClient; @RequestMapping(value = "/timeChange") @ResponseBody public List timeChange(Integer oneId) { List integerList = courseClient.timeChange(oneId); return integerList ; } @RequestMapping(value = "/add") @ResponseBody public Object list(TCityManager manager) { try { String pwd = SecureUtil.md5("a123456"); manager.setPassword(pwd); manager.setState(1); TCity one = cityService.getOne(new LambdaQueryWrapper().eq(TCity::getCode, manager.getProvinceCode())); manager.setProvince(one.getName()); TCity one1 = cityService.getOne(new LambdaQueryWrapper().eq(TCity::getCode, manager.getCityCode())); manager.setCity(one1.getName()); List users = userMapper.selectList(new LambdaQueryWrapper().eq(User::getAccount, manager.getPhone())); if(users.size()>0){ return "5001"; } Integer add = cityClient.add(manager); User user = new User(); user.setPhone(manager.getPhone()); user.setAccount(manager.getPhone()); user.setRoleid(manager.getPhone()); user.setRoleid("3"); user.setName(manager.getName()); user.setPassword(SecureUtil.md5("a123456")); user.setCreatetime(new Date()); user.setObjectId(add); user.setObjectType(2); userMapper.insert(user); return new SuccessTip<>(); }catch (Exception e){ e.printStackTrace(); return ERROR; } } @RequestMapping(value = "/update") @ResponseBody public Object update(TCityManager manager) { try { TCity one = cityService.getOne(new LambdaQueryWrapper().eq(TCity::getCode, manager.getProvinceCode())); manager.setProvince(one.getName()); TCity one1 = cityService.getOne(new LambdaQueryWrapper().eq(TCity::getCode, manager.getCityCode())); manager.setCity(one1.getName()); List users = userMapper.selectList(new LambdaQueryWrapper().eq(User::getAccount, manager.getPhone()).ne(User::getObjectId,manager.getId())); if(users.size()>0){ return "5001"; } User user = userMapper.selectOne(new LambdaQueryWrapper().eq(User::getObjectType, 2).eq(User::getObjectId, manager.getId())); user.setAccount(manager.getPhone()); user.setName(manager.getName()); user.setPhone(manager.getPhone()); userMapper.updateById(user); cityClient.update(manager); return new SuccessTip<>(); }catch (Exception e){ e.printStackTrace(); return ERROR; } } @RequestMapping(value = "/onChange") @ResponseBody public Object onChange(Integer oneId) { if (oneId == null) { return null; } try { TCity one = cityService.getOne(new LambdaQueryWrapper().eq(TCity::getCode, oneId)); QueryWrapper query = new QueryWrapper().eq("parent_id", one.getId()); return cityService.list(query); }catch (Exception e){ e.printStackTrace(); return ERROR; } } @RequestMapping(value = "/cancel") public Object cancel(Integer id) { try { competitionClient.cancel(id); return SUCCESS_TIP; }catch (Exception e){ e.printStackTrace(); return ERROR; } } @RequestMapping(value = "/freeze") @ResponseBody public Object freeze(Integer id) { try { cityClient.freeze(id); return SUCCESS_TIP; }catch (Exception e){ e.printStackTrace(); return ERROR; } } @RequestMapping(value = "/unfreeze") @ResponseBody public Object unfreeze(Integer id) { try { cityClient.unfreeze(id); return SUCCESS_TIP; }catch (Exception e){ e.printStackTrace(); return ERROR; } } @RequestMapping(value = "/pwd") @ResponseBody public Object pwd(Integer id) { try { // 查询门店 获取门店店长id TStore store = storeService.getById(id); User user = userService.getById(store.getStoreStaffId()); user.setPassword(SecureUtil.md5("a123456")); userService.updateById(user); userMapper.selectOne(new LambdaQueryWrapper() .eq(User::getObjectId,id) .eq(User::getObjectType,2)); return SUCCESS_TIP; }catch (Exception e){ e.printStackTrace(); return ERROR; } } @RequestMapping(value = "/getPeopleFromId") public Object getPeopleFromId(Integer id,Integer state) { try { Page page = new PageFactory<>().defaultPage(); Page data = competitionClient.getPeopleFromId(new GetPeopleQuery(page.getSize(),page.getCurrent(),id,state)); return super.packForBT(data); }catch (Exception e){ e.printStackTrace(); return ERROR; } } }