package com.welampiot.controller; import com.welampiot.common.BaseResult; import com.welampiot.common.InterfaceResultEnum; import com.welampiot.common.ResultEnum; import com.welampiot.dto.GlobalLocationDTO; import com.welampiot.dto.SectionDTO; import com.welampiot.dto.UserDTO; import com.welampiot.service.GlobalLocationService; import com.welampiot.service.SectionService; import com.welampiot.service.UserService; import com.welampiot.utils.MD5Utils; import com.welampiot.utils.ToolUtils; import com.welampiot.vo.GlobalLocationVO; import com.welampiot.vo.ListResponseVO; import com.welampiot.vo.LoginVO; import com.welampiot.vo.UserVO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import javax.validation.Valid; import java.util.ArrayList; import java.util.List; @RestController @CrossOrigin @RequestMapping("/user") //@Slf4j public class UserController { private final static Logger log = LoggerFactory.getLogger(UserController.class); @Autowired private UserService userService; @Autowired private ToolUtils toolUtils; @Autowired private GlobalLocationService globalLocationService; @Autowired private SectionService sectionService; /** * 登录demo做测试,后续删除 * @param vo * @return */ @RequestMapping(value = "/userlogin",method = RequestMethod.POST) public BaseResult login(@Valid LoginVO vo){ vo.setPassword(MD5Utils.encoderMD5(vo.getPassword())); UserDTO user = userService.getUserByUserName(vo); if(user!=null){ return BaseResult.success(user); }else{ return BaseResult.fail(ResultEnum.LOGIN_ERROR); } } @RequestMapping(value = "/find",method = RequestMethod.POST) // @PreAuthorize(value = "isAuthenticated()")//需要登录才可以访问 public BaseResult find(){ int num = userService.countUser(); return BaseResult.success(num); } @RequestMapping(value = "/doIt",method = RequestMethod.POST) // @PreAuthorize(value = "isAuthenticated()")//需要登录才可以访问 public BaseResult doIt(){ int num = userService.countUser(); return BaseResult.success(num); } @RequestMapping(value = "/amazing",method = RequestMethod.POST) // @PreAuthorize(value = "isAuthenticated()")//需要登录才可以访问 public BaseResult amazing(){ int num = userService.countUser(); return BaseResult.success(num); } /** * 获取用户省份下拉列表 * @param request * @return */ @RequestMapping(value = "/provinceNav",method = RequestMethod.POST) private BaseResult provinceNav(HttpServletRequest request) { String version = request.getParameter("version") == null ? "0" : request.getParameter("version"); List sectionList = toolUtils.getSectionList(request); GlobalLocationVO globalLocationVO = new GlobalLocationVO(); globalLocationVO.setSectionList(sectionList); globalLocationVO.setVersion(Integer.valueOf(version)); List userProvinceNav = globalLocationService.getUserProvinceNav(globalLocationVO); ListResponseVO listResponseVO = new ListResponseVO(); listResponseVO.setList(userProvinceNav); return BaseResult.success(listResponseVO); } /** * 用户获取城市下拉列表 * @param request * @return */ @PostMapping("/cityNav") private BaseResult cityNav(HttpServletRequest request){ String version = request.getParameter("version") == null ? "0" : request.getParameter("version"); List sectionList = toolUtils.getSectionList(request); System.out.println(sectionList); GlobalLocationVO globalLocationVO = new GlobalLocationVO(); globalLocationVO.setSectionList(sectionList); globalLocationVO.setVersion(Integer.valueOf(version)); List userProvinceNav = globalLocationService.getUserCityNav(globalLocationVO); ListResponseVO listResponseVO = new ListResponseVO(); listResponseVO.setList(userProvinceNav); return BaseResult.success(listResponseVO); } /** * 用户获取区域下拉列表 * @param request * @return */ @PostMapping("/areaNav") private BaseResult areaNav(HttpServletRequest request){ String version = request.getParameter("version") == null ? "0" : request.getParameter("version"); List sectionList = toolUtils.getSectionList(request); GlobalLocationVO globalLocationVO = new GlobalLocationVO(); globalLocationVO.setSectionList(sectionList); globalLocationVO.setVersion(Integer.valueOf(version)); List userProvinceNav = globalLocationService.getUserAreaNav(globalLocationVO); ListResponseVO listResponseVO = new ListResponseVO(); listResponseVO.setList(userProvinceNav); return BaseResult.success(listResponseVO); } /** * 用户获取路段下拉列表 * @param request * @return */ @PostMapping("/sectionNav") private BaseResult sectionNav(HttpServletRequest request){ List sectionList = toolUtils.getSectionList(request); List sectionDTOList = sectionService.getListByIdList(sectionList); ListResponseVO listResponseVO = new ListResponseVO(); listResponseVO.setList(sectionDTOList); return BaseResult.success(listResponseVO); } /** * 获取用户信息 * @param request 用户id * @return 返回用户信息 */ @RequestMapping(value = "info", method = RequestMethod.POST) public BaseResult info(HttpServletRequest request) { int id = (int) toolUtils.getRequestContent(request,"id",1); int version = (int) toolUtils.getRequestContent(request,"version",1); if (id == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version); UserVO userVO = userService.getUserInfoById(id); return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,userVO); } /** * 获取子账号列表 * @param request 用户名username * @return 返回子账号列表 */ @RequestMapping(value = "/userList", method = RequestMethod.POST) public BaseResult userList(HttpServletRequest request) { int version = (int) toolUtils.getRequestContent(request,"version",1); String username = (String) toolUtils.getRequestContent(request,"username",2); if (username == null || username.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version); int role = (int) toolUtils.getRequestContent(request,"role",1); int department = (int) toolUtils.getRequestContent(request,"department",1); int companyId = (int) toolUtils.getRequestContent(request,"companyId",1); String keyword = (String) toolUtils.getRequestContent(request,"keyword",2); int page = request.getParameter("page") == null ? 1 : Integer.parseInt(request.getParameter("page")); int count = request.getParameter("count") == null ? 16 : Integer.parseInt(request.getParameter("count")); UserDTO dto = new UserDTO(); dto.setPage(count * (page - 1)); dto.setCount(count); dto.setKeyword(keyword); dto.setRole(role); dto.setDepartment(department); dto.setCompanyId(companyId); UserDTO dto1 = userService.queryUserIdByUsername(username); if (dto1 == null) return toolUtils.response(InterfaceResultEnum.PARAM_FAIL,version); dto.setId(dto1.getId()); List userList; if (dto1.getRole() == 1) { userList = userService.getAllUserListByUserDTO(dto); } else { userList = userService.getUserListByUserDTO(dto); } List list = new ArrayList<>(); userList.forEach(userDTO -> { if (userDTO.getRole() == 1) { if (version == 0) { userDTO.setRoleStr("超级管理员"); } else if (version == 1) { userDTO.setRoleStr("Super Administrator"); } else { userDTO.setRoleStr("суперинтендант"); } } else if (userDTO.getRole() == 2) { if (version == 0) { userDTO.setRoleStr("单位管理员"); } else if (version == 1) { userDTO.setRoleStr("Unit Administrator"); } else { userDTO.setRoleStr("Администратор единицы"); } } else if (userDTO.getRole() == 3){ if (version == 0) { userDTO.setRoleStr("公司子账号"); } else if (version == 1) { userDTO.setRoleStr("Company Sub Account"); } else { userDTO.setRoleStr("Субсчет компании"); } } list.add(userDTO); }); UserVO userVO = new UserVO(); userVO.setList(list); return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,userVO); } }