package com.dsh.guns.modular.system.controller.code; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsh.course.feignClient.account.AppUserClient; import com.dsh.course.feignClient.account.CityManagerClient; import com.dsh.course.feignClient.account.StoreStaffClient; import com.dsh.course.feignClient.account.StudentClient; import com.dsh.course.feignClient.account.model.*; import com.dsh.course.feignClient.activity.BodySideAppointmentClient; import com.dsh.course.feignClient.activity.model.BodySideAppointment; import com.dsh.course.feignClient.activity.model.QueryBodySideAppointment; import com.dsh.course.feignClient.activity.model.QueryBodySideAppointmentVO; import com.dsh.course.feignClient.other.StoreClient; import com.dsh.course.feignClient.other.model.SiteChangeStateVO; import com.dsh.guns.config.UserExt; import com.dsh.guns.modular.system.model.*; import com.dsh.guns.modular.system.service.ICityService; import com.dsh.guns.modular.system.service.IRoleService; import com.dsh.guns.modular.system.service.IUserService; import com.dsh.guns.modular.system.util.ResultUtil; 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.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.stream.Collectors; /** * 用户管理控制器 */ @Controller @RequestMapping("/appUser") public class TAppUserController { private String PREFIX = "/system/appUser/"; @Autowired private IUserService userService; @Autowired private StoreClient storeClient; @Autowired private BodySideAppointmentClient bodySideAppointmentClient; @Autowired private CityManagerClient cityManagerClient; @Autowired private StoreStaffClient storeStaffClient; @Autowired private AppUserClient appUserClient; @Autowired private ICityService cityService; @Autowired private IRoleService roleService; @Autowired private StudentClient studentClient; /** * 跳转体测预约管理首页 */ @RequestMapping("") public String index(Model model) { Integer roleType = UserExt.getUser().getObjectType(); List list = cityService.list(new LambdaQueryWrapper().eq(TCity::getParentId, 0)); List deptid = roleService.list(new QueryWrapper().eq("deptid", 2)); model.addAttribute("roleType",roleType); model.addAttribute("sales",deptid); model.addAttribute("list",list); return PREFIX + "TAppUser.html"; } /** * 跳转用户信息管理添加页面 */ @RequestMapping("/add") public String add(Model model) { Integer roleType = UserExt.getUser().getObjectType(); List list = cityService.list(new LambdaQueryWrapper().eq(TCity::getParentId, 0)); List sales = userService.list(new QueryWrapper().eq("deptid", 2)); model.addAttribute("list",list); model.addAttribute("roleType",roleType); model.addAttribute("sales",sales); return PREFIX + "TAppUser_add.html"; } /** * 跳转体测预约管理添加页面 */ @RequestMapping("/addStudent/{appUserId}") public String addStudent(Model model,@PathVariable("appUserId") Integer appUserId) { Integer roleType = UserExt.getUser().getObjectType(); TAppUser tAppUser = appUserClient.queryById(appUserId); model.addAttribute("data",tAppUser); model.addAttribute("name",tAppUser.getName()); return PREFIX + "TAppUser_addStudent.html"; } /** * 跳转体测预约管理编辑页面 * @param type 1 = 用户管理编辑 2 = 用户管理详情 */ @RequestMapping("/update/{id}/{type}") public String update(Model model,@PathVariable("id") Integer id,@PathVariable("type") Integer type) { Integer roleType = UserExt.getUser().getObjectType(); TAppUser data = appUserClient.queryById(id); List list = cityService.list(new LambdaQueryWrapper().eq(TCity::getParentId, 0)); String province = data.getProvince(); TCity province1 = cityService.getOne(new QueryWrapper().eq("name", data.getProvince())); List city = cityService.list(new LambdaQueryWrapper().eq(TCity::getParentId, province1.getId())); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); String format1 = format.format(data.getBirthday()); List sales = userService.list(new QueryWrapper().eq("deptid", 2)); model.addAttribute("list",list); model.addAttribute("roleType",roleType); model.addAttribute("sales",sales); model.addAttribute("data",data); model.addAttribute("birthday",format1); model.addAttribute("city",city); model.addAttribute("type",type); model.addAttribute("isVip",data.getIsVip()); if (data.getVipEndTime()!=null){ SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd"); String format3 = format2.format(data.getVipEndTime()); model.addAttribute("vipEndTime",format3); } if (data.getViplevelId()!=null){ // todo创建会员等级表 model.addAttribute("level","黄金"); } model.addAttribute("level","黄金"); List tStudents = studentClient.queryStudentList(data.getId()); model.addAttribute("students",tStudents); return PREFIX + "TAppUser_edit.html"; } /** * 获取所有用户信息 * @return */ @RequestMapping("/listAll") @ResponseBody public List listAll(String province, String city,String name, String phone,Integer isVip, String salesmanUserName){ QueryAppUser queryAppUser = new QueryAppUser(); queryAppUser.setProvince(province); queryAppUser.setCity(city); queryAppUser.setName(name); queryAppUser.setPhone(phone); queryAppUser.setIsVip(isVip); queryAppUser.setSalesmanUserName(salesmanUserName); if (province!=null && (!province.equals(""))){ TCity p = cityService.getOne(new QueryWrapper().eq("code", province)); queryAppUser.setProvince(p.getName()); } if (city!=null && (!city.equals(""))){ TCity c = cityService.getOne(new QueryWrapper().eq("code", city)); queryAppUser.setCity(c.getName()); } List queryAppUserVOS = appUserClient.listAll(queryAppUser); for (QueryAppUserVO queryAppUserVO : queryAppUserVOS) { if (queryAppUserVO.getSalesmanUserId()!=null){ queryAppUserVO.setSalesmanUserName(userService.getById(queryAppUserVO.getSalesmanUserId()).getName()); } } if (salesmanUserName!=null && (!salesmanUserName.equals(""))){ List result = new ArrayList<>(); List sales = userService.list(new QueryWrapper().like("name", salesmanUserName)); for (QueryAppUserVO queryAppUserVO : queryAppUserVOS) { if (queryAppUserVO.getSalesmanUserId()!=null){ for (User sale : sales) { if (queryAppUserVO.getSalesmanUserId().equals(sale.getId())){ result.add(queryAppUserVO); } } } } return result; } return queryAppUserVOS; } /** * 新增用户信息 * @return */ @RequestMapping("/addAppUser") @ResponseBody public Object addAppUser(@RequestBody TAppUser appUser){ Integer objectType = UserExt.getUser().getObjectType(); appUser.setInsertType(objectType); appUser.setAddUserId(UserExt.getUser().getId()); Object o = appUserClient.addAppUser1(appUser); return o; } /** * 新增学员 * @return */ @RequestMapping("/addAppUserStudent") @ResponseBody public Object addAppUser(@RequestBody TStudent student){ return studentClient.addStudent(student); } /** * 上/下架 1为上架 2为下架 3为删除 * * @return */ @RequestMapping("/changeState") @ResponseBody public Object changeState(@RequestBody AdvertisementChangeStateDTO dto){ appUserClient.changeState(dto); return ResultUtil.success(); } }