package platform.modules.sys.web; import com.github.pagehelper.PageInfo; import com.xiaoleilu.hutool.crypto.SecureUtil; import io.swagger.models.auth.In; import org.apache.commons.lang3.StringUtils; import org.apache.tomcat.util.bcel.Const; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; import platform.common.Constant; import platform.common.annotation.OperationLog; import platform.common.base.controller.BaseController; import platform.common.exception.BaseException; import platform.common.util.ShiroUtils; import platform.common.util.ThreadPoolUtil; import platform.common.util.VerificationCodeUtil; import platform.modules.api.dto.SyncUserDto; import platform.modules.api.service.SkyImageApiService; import platform.modules.build.entity.Company; import platform.modules.build.service.BuildInfoService; import platform.modules.build.service.CompanyService; import platform.modules.government.entity.Street; import platform.modules.government.entity.User; import platform.modules.government.service.StreetService; import platform.modules.government.service.UserService; import platform.modules.sys.entity.Department; import platform.modules.sys.entity.Group; import platform.modules.sys.entity.Role; import platform.modules.sys.entity.UserRole; import platform.modules.sys.service.DepartmentService; import platform.modules.sys.service.GroupService; import platform.modules.sys.service.RoleService; import platform.modules.sys.service.UserRoleService; import platform.modules.sys.vo.RoleQuery; import java.util.ArrayList; import java.util.List; import java.util.concurrent.CompletableFuture; /** * 用户管理(政府)Controller * * @author lhf * @version 2017-10-26 */ @Controller @RequestMapping(value = "/admin/user") public class UserController extends BaseController { @Autowired private UserService userService; @Value("${resetPassword}") private String resetPassword; @Autowired private CompanyService companyService; @Autowired private StreetService streetService; @Autowired private BuildInfoService buildInfoService; @Autowired private DepartmentService departmentService; @Autowired private RoleService roleService; @Autowired private GroupService groupService; @Autowired private VerificationCodeUtil verificationCodeUtil; @Autowired private SkyImageApiService skyImageApiService; @OperationLog(value = "查看用户列表") @GetMapping(value = "/list") public String list( @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, String keyword, ModelMap modelMap, User searchCondition, String item_selected) throws Exception { try { log.debug("分页查询用户列表参数! pageNum = {}, keyword = {}", pageNum, keyword); PageInfo pageInfo = userService.findPage2(pageNum, PAGESIZE, keyword, searchCondition); log.info("分页查询用户列表结果! pageInfo = {}", pageInfo); modelMap.put("pageInfo", pageInfo); modelMap.put("keyword", keyword); modelMap.put("searchCondition", searchCondition); modelMap.put("user_type", ShiroUtils.getUserEntity().getUser_type()); modelMap.put("streetList", streetService.findList()); modelMap.put("item_selected", item_selected); //根据角色查询 Role role = new Role(); role.setDel_flag(false); role.setUser_type(ShiroUtils.getUserEntity().getUser_type()); if (ShiroUtils.getUserType().equals(Constant.UserType.STREET)) { //街道看见super创建的角色和自己创建的角色 modelMap.addAttribute("roles", roleService.getSuperAndOwnRoles()); } else if (ShiroUtils.getUserType().equals(Constant.UserType.BUILD)) { role.setBuild_id(ShiroUtils.getBuildId()); modelMap.addAttribute("roles", roleService.findListByWhere(role)); } else if (ShiroUtils.getUserType().equals(Constant.UserType.COMPANY)) { role.setCompany_id(ShiroUtils.getCompanyId()); modelMap.addAttribute("roles", roleService.findListByWhere(role)); } else if (ShiroUtils.getUserType().equals(Constant.UserType.SUPER)) { role.setUser_type(null);//所有角色,除了企业角色,企业角色在前端页面过滤 modelMap.addAttribute("roles", roleService.findListByWhere(role)); } else if (ShiroUtils.getUserType().equals(Constant.UserType.GOVERNMENT)) { modelMap.addAttribute("roles", roleService.findListByWhere(role)); } } catch (Exception e) { e.printStackTrace(); } return BASE_SYS_PATH + "user_list"; } @GetMapping("/role") @ResponseBody public Object role(RoleQuery query) { Role role = new Role(); role.setDel_flag(false); List sRoles = new ArrayList<>(); if (query.getUser_type() != null) { role.setUser_type(query.getUser_type()); if (ShiroUtils.getUserType().equals(Constant.UserType.STREET)) { if (query.getUser_type().equals(Constant.UserType.STREET)) return ResponseMessage.success("success", roleService.getSuperAndOwnRoles()); if (query.getUser_type().equals(Constant.UserType.COMPANY)) return ResponseMessage.success("success", roleService.getStreetCompanyRole()); } } if (query.getStreet_id() != null) { role.setStreet_id(query.getStreet_id()); sRoles = getStreetSuperRole(); } List roles = roleService.findListByWhere(role); if (sRoles.size() > 0) { roles.addAll(sRoles); } return ResponseMessage.success("success", roles); } private List getStreetSuperRole() { Role sRole = new Role(); sRole.setDel_flag(false); // sRole.setStreet_id(street_id); sRole.setUser_type(Constant.UserType.STREET); sRole.setIs_super(Constant.IsSuperRole.SUPER_ROLE); return roleService.findListByWhere(sRole); } @GetMapping(value = "/findCompanyList") public String findCompanyList( @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, String keyword, ModelMap modelMap, User searchCondition, String item_selected) throws Exception { try { log.debug("分页查询用户列表参数! pageNum = {}, keyword = {}", pageNum, keyword); PageInfo pageInfo = userService.findCompanyList(pageNum, PAGESIZE, keyword, searchCondition); log.info("分页查询用户列表结果! pageInfo = {}", pageInfo); modelMap.put("pageInfo", pageInfo); modelMap.put("keyword", keyword); modelMap.put("searchCondition", searchCondition); modelMap.put("user_type", ShiroUtils.getUserEntity().getUser_type()); modelMap.put("item_selected", item_selected); } catch (Exception e) { e.printStackTrace(); } return BASE_BUILD_PATH + "user_company_list"; } /** * 跳转到用户添加页面 * * @return */ @GetMapping(value = "/add") public String add(ModelMap modelMap) { log.info("跳转到用户添加页面!"); Department department = new Department(); department.setDel_flag(false); department.setUser_type(ShiroUtils.getUserEntity().getUser_type()); if (ShiroUtils.getUserType().equals(Constant.UserType.SUPER)) { //超级管理员需要选择政府用户的政府部门 department.setUser_type(Constant.UserType.GOVERNMENT); } Role role = new Role(); role.setDel_flag(false); role.setUser_type(ShiroUtils.getUserEntity().getUser_type()); if (ShiroUtils.getUserType().equals(Constant.UserType.STREET)) { //街道看见super创建的角色和自己创建的角色 modelMap.addAttribute("roles", roleService.getSuperAndOwnRoles()); department.setStreet_id(ShiroUtils.getStreetId()); } else if (ShiroUtils.getUserType().equals(Constant.UserType.BUILD)) { role.setBuild_id(ShiroUtils.getBuildId()); department.setBuild_id(ShiroUtils.getBuildId()); modelMap.addAttribute("roles", roleService.findListByWhere(role)); } else if (ShiroUtils.getUserType().equals(Constant.UserType.COMPANY)) { role.setCompany_id(ShiroUtils.getCompanyId()); department.setCompany_id(ShiroUtils.getCompanyId()); modelMap.addAttribute("roles", roleService.findListByWhere(role)); } else if (ShiroUtils.getUserType().equals(Constant.UserType.SUPER)) { //super需要super所建的街道的角色,和政府角色,给不同的用户类型用户添加角色 roleService.getSuperAndGovRoles(modelMap); } else if (ShiroUtils.getUserType().equals(Constant.UserType.GOVERNMENT)) { modelMap.addAttribute("roles", roleService.findListByWhere(role)); } modelMap.addAttribute("departments", departmentService.findListByWhere(department)); if (ShiroUtils.getUserEntity().getUser_type().equals(Constant.UserType.GOVERNMENT)) { Group group = new Group(); group.setUser_type(Constant.UserType.GOVERNMENT); modelMap.addAttribute("groups", groupService.findListByWhere(group)); return BASE_GOVERNMENT_PATH + "user_add"; } else if (ShiroUtils.getUserEntity().getUser_type().equals(Constant.UserType.BUILD)) { modelMap.addAttribute("companyList", companyService.findCompanyList()); return BASE_BUILD_PATH + "user_add"; } else if (ShiroUtils.getUserEntity().getUser_type().equals(Constant.UserType.STREET)) { return BASE_STREET_PATH + "user_add"; } else if (ShiroUtils.getUserEntity().getUser_type().equals(Constant.UserType.SUPER)) { modelMap.addAttribute("streets", streetService.findList()); return BASE_SUPER_PATH + "user_add"; } log.info("跳转到用户添加页面!"); return BASE_BUILD_PATH + "user_add"; } /** * 添加用户 * * @param content * @return */ @OperationLog(value = "添加用户") @ResponseBody @PostMapping(value = "/save") public ModelMap saveUser(User content) throws Exception { ModelMap messagesMap = new ModelMap(); if (IsTooFrequently()) { messagesMap.put("status", FAILURE); messagesMap.put("message", "操作过于频繁,请稍后再试!"); return messagesMap; } log.debug("添加用户参数! content = {}", content); Boolean flag = userService.saveUser(content); if (flag) { log.info("添加用户成功! content = {}", content.getId()); messagesMap.put("status", SUCCESS); messagesMap.put("message", "添加成功!"); return messagesMap; } messagesMap.put("status", FAILURE); messagesMap.put("message", "添加失败!"); return messagesMap; } /** * 跳转到用户编辑页面 * * @return */ @GetMapping(value = "/edit/{id}") public String edit(@PathVariable("id") int id, ModelMap modelMap) { if (ShiroUtils.getUserEntity().getUser_type() == Constant.UserType.BUILD) { modelMap.addAttribute("companyList", companyService.findCompanyList()); } modelMap.put("fileUrl", setFileUrl()); User user = userService.getUser(id); user.setRoleIds(userService.getUserRoleIds(id)); user.setGroupIds(userService.getUserGroupIds(id)); log.info("跳转到用户编辑页面!id = {}", id); modelMap.put("user", user); Department department = new Department(); department.setUser_type(ShiroUtils.getUserEntity().getUser_type()); if (ShiroUtils.getUserType().equals(Constant.UserType.SUPER)) { //超级管理员需要选择政府用户的政府部门 department.setUser_type(Constant.UserType.GOVERNMENT); //super需要super所建的街道的角色,和政府角色,给不同的用户类型用户添加角色 roleService.getSuperAndGovRoles(modelMap); } Role role = new Role(); role.setUser_type(ShiroUtils.getUserEntity().getUser_type()); if (ShiroUtils.getUserType().equals(Constant.UserType.STREET)) { //街道看见super创建的角色和自己创建的角色 modelMap.addAttribute("roles", roleService.getSuperAndOwnRoles()); department.setStreet_id(ShiroUtils.getStreetId()); } else if (ShiroUtils.getUserType().equals(Constant.UserType.BUILD)) { role.setBuild_id(ShiroUtils.getBuildId()); department.setBuild_id(ShiroUtils.getBuildId()); modelMap.addAttribute("roles", roleService.findListByWhere(role)); } else if (ShiroUtils.getUserType().equals(Constant.UserType.COMPANY)) { role.setCompany_id(ShiroUtils.getCompanyId()); department.setCompany_id(ShiroUtils.getCompanyId()); modelMap.addAttribute("roles", roleService.findListByWhere(role)); } else if (ShiroUtils.getUserType().equals(Constant.UserType.GOVERNMENT)) { modelMap.addAttribute("roles", roleService.findListByWhere(role)); } modelMap.addAttribute("departments", departmentService.findListByWhere(department)); if (ShiroUtils.getUserEntity().getUser_type().equals(Constant.UserType.GOVERNMENT)) { Group group = new Group(); group.setUser_type(Constant.UserType.GOVERNMENT); modelMap.addAttribute("groups", groupService.findListByWhere(group)); return BASE_GOVERNMENT_PATH + "user_edit"; } else if (ShiroUtils.getUserEntity().getUser_type().equals(Constant.UserType.BUILD)) { modelMap.addAttribute("companyList", companyService.findCompanyList()); return BASE_BUILD_PATH + "user_edit"; } else if (ShiroUtils.getUserEntity().getUser_type().equals(Constant.UserType.STREET)) { return BASE_STREET_PATH + "user_edit"; } else if (ShiroUtils.getUserEntity().getUser_type().equals(Constant.UserType.SUPER)) { if (null != user) { if (user.getUser_type() == Constant.UserType.BUILD) { modelMap.addAttribute("builds", buildInfoService.findListByStreet(user.getStreet_id())); } modelMap.addAttribute("streets", streetService.findList()); } return BASE_SUPER_PATH + "user_edit"; } return BASE_BUILD_PATH + "user_edit"; } /** * 跳转到用户查看页面 * * @return */ @OperationLog(value = "查看用户详情") @GetMapping(value = "/check/{id}") public String check(@PathVariable("id") int id, ModelMap modelMap) { User user = userService.getUser(id); log.info("跳转到用户查看页面!id = {}", id); modelMap.put("user", user); modelMap.put("fileUrl", setFileUrl()); Department department = new Department(); department.setUser_type(ShiroUtils.getUserEntity().getUser_type()); Role role = new Role(); role.setUser_type(ShiroUtils.getUserEntity().getUser_type()); modelMap.addAttribute("roles", roleService.findListByWhere(role)); modelMap.addAttribute("departments", departmentService.findListByWhere(department)); if (ShiroUtils.getUserEntity().getUser_type().equals(Constant.UserType.GOVERNMENT)) { Group group = new Group(); modelMap.addAttribute("groups", groupService.findListByWhere(group)); return BASE_GOVERNMENT_PATH + "user_check"; } else if (ShiroUtils.getUserEntity().getUser_type().equals(Constant.UserType.BUILD)) { return BASE_BUILD_PATH + "user_check"; } else if (ShiroUtils.getUserEntity().getUser_type().equals(Constant.UserType.STREET)) { return BASE_STREET_PATH + "user_check"; } else if (ShiroUtils.getUserEntity().getUser_type().equals(Constant.UserType.SUPER)) { return BASE_SUPER_PATH + "user_check"; } return BASE_BUILD_PATH + "user_check"; } /** * 更新用户信息 * * @param id id * @return */ @OperationLog(value = "编辑用户") @ResponseBody @PutMapping(value = "/updateUser/{id}") public ModelMap updateUser(@PathVariable("id") int id, User content) throws Exception { ModelMap messagesMap = new ModelMap(); log.debug("编辑用户参数! id= {}, content = {}", id, content); if (IsTooFrequently()) { messagesMap.put("status", FAILURE); messagesMap.put("message", "操作过于频繁,请稍后再试!"); return messagesMap; } if (null != content.getVerification_code()) { //验证码 if (!verificationCodeUtil.validateVerificationCode(content.getPhone(), content.getVerification_code())) { log.info("验证码不正确! id = {}", id); messagesMap.put("status", FAILURE); messagesMap.put("message", "验证码不正确!"); return messagesMap; } } User u = userService.findById(id); if (null == u) { log.info("编辑用户不存在! id = {}", id); messagesMap.put("status", FAILURE); messagesMap.put("message", "编辑用户不存在!"); return messagesMap; } // content.setPassword(SecureUtil.md5().digestHex(content.getPassword())); Boolean flag = userService.updateUser(content); if (flag) { log.info("编辑用户成功! id= {}, content = {}", id, content); messagesMap.put("status", SUCCESS); messagesMap.put("message", "编辑成功!"); new Thread(() -> { //同步信息给天启 SyncUserDto dto = new SyncUserDto(); dto.setAction(Constant.METHOD_STATUS.UPDATE); dto.setOldUserName(u.getNick_name()); dto.setUserName(content.getUser_name()); dto.setUserLoginName(content.getNick_name()); // dto.setPassword(content.getPassword()); // dto.setCompanyName(u.getCompany_name()); // if (null != u.getStreet_id()) { // Street street = streetService.findById(u.getStreet_id()); // dto.setStreetName(street.getName()); // } dto.setToken(skyImageApiService.accessToken()); skyImageApiService.syncUserInfo(dto); }, "syncUserInfo").start(); return messagesMap; } messagesMap.put("status", FAILURE); messagesMap.put("message", "编辑失败!"); return messagesMap; } /** * 查询街道下的所有园区 * * @param id * @return * @throws Exception */ @OperationLog(value = "查询街道下的所有园区") @ResponseBody @GetMapping(value = "/findBuildsByStreet/{id}") public ResponseMessage findBuildsByStreet(@PathVariable("id") Integer id) throws Exception { log.debug("查询街道下的所有园区! id= {}", id); Street street = streetService.findById(id); if (null == street) { log.info("街道不存在! id = {}", id); return ResponseMessage.error("街道不存在"); } return ResponseMessage.success("查询街道下的所有园区成功", buildInfoService.findListByStreet(id)); } /** * 重置密码 * * @param id * @return */ @OperationLog(value = "重置密码") @ResponseBody @PutMapping(value = "/resetPassword/{id}") public ResponseMessage resetPassword(@PathVariable("id") String id) throws Exception { log.debug("重置密码参数! id= {}", id); User u = userService.findById(Integer.parseInt(id)); if (null == u) { log.info("用户不存在! id = {}", id); return ResponseMessage.error("用户不存在"); } u.setPassword(SecureUtil.md5().digestHex(resetPassword)); Boolean flag = userService.updateUser(u); if (flag) { CompletableFuture.runAsync(() -> { //同步信息给天启 SyncUserDto dto = new SyncUserDto(); dto.setAction(Constant.METHOD_STATUS.UPDATE); dto.setOldUserName(""); dto.setUserName(u.getUser_name()); dto.setUserLoginName(u.getNick_name()); dto.setPassword(resetPassword); dto.setToken(skyImageApiService.accessToken()); skyImageApiService.syncUserInfo(dto); }, ThreadPoolUtil.getInstance()); log.info("重置密码成功! id= {}, u = {}", id); return ResponseMessage.success("重置密码成功"); } return ResponseMessage.error("重置密码失败"); } /** * 批量删除 * * @param ids * @return */ @OperationLog(value = "批量删除用户") @ResponseBody @PutMapping(value = "/deleteBatch") public ResponseMessage deleteBatch(@RequestParam(value = "ids[]") String[] ids) throws Exception { if (null == ids) { log.info("批量删除用户不存在! ids = {}", ids); return ResponseMessage.success("批量删除用户不存在"); } for (String id : ids) { if (id.equals(String.valueOf(ShiroUtils.getUserId()))) { return ResponseMessage.error("删除失败,不能删除自己的账户!"); } } try { userService.deleteBatch(ids); return ResponseMessage.success("删除成功"); } catch (Exception e) { e.printStackTrace(); } return ResponseMessage.error("删除失败"); } /** * 启用 * * @param ids * @return */ @OperationLog(value = "启用") @ResponseBody @PutMapping(value = "/startBatch") public ResponseMessage startBatch(@RequestParam(value = "ids[]") String[] ids) throws Exception { if (null == ids) { log.info("批量启用用户不存在! ids = {}", ids); return ResponseMessage.error("批量启用用户不存在"); } for (String id : ids) { if (id.equals(String.valueOf(ShiroUtils.getUserId()))) { return ResponseMessage.error("不能对自己的账号进行启用操作!"); } } for (String id : ids) { User user = new User(); user.setId(Integer.parseInt(id)); user.setIs_start(true); userService.updateUser(user); } return ResponseMessage.success("启用成功"); } /** * 禁用 * * @param ids * @return */ @OperationLog(value = "禁用") @ResponseBody @PutMapping(value = "/stopBatch") public ResponseMessage stopBatch(@RequestParam(value = "ids[]") String[] ids) throws Exception { if (null == ids) { log.info("批量启用用户不存在! ids = {}", ids); return ResponseMessage.error("批量启用用户不存在"); } for (String id : ids) { if (id.equals(String.valueOf(ShiroUtils.getUserId()))) { return ResponseMessage.error("不能对自己的账号进行禁用操作!"); } } for (String id : ids) { User user = new User(); user.setId(Integer.parseInt(id)); user.setIs_start(false); userService.updateUser(user); } return ResponseMessage.success("禁用成功"); } /** * 检验用户名是否存在 * * @param nick_name * @return */ @ResponseBody @GetMapping(value = "/isExist") public Boolean isExist(String id, String nick_name) throws Exception { boolean flag = true; log.debug("检验用户名是否存在参数! id= {}, username= {}", id, nick_name); User record = userService.findByUserName(nick_name); if (null != record) { if (StringUtils.isBlank(id)) { flag = false; } else { if (record.getId() != (Integer.parseInt(id))) { flag = false; } } } log.info("检验用户名是否存在结果! flag = {}", flag); return flag; } /** * 跳转到用户添加页面 * * @return */ @GetMapping(value = "/addCompanyUser") public String addCompanyUser(ModelMap modelMap) { log.info("跳转到用户添加页面!"); modelMap.addAttribute("companyList", companyService.findCompanyList()); Role role = new Role(); role.setDel_flag(false); role.setUser_type(ShiroUtils.getUserEntity().getUser_type()); if (ShiroUtils.getUserEntity().getUser_type().equals(Constant.UserType.COMPANY)) { role.setCompany_id(ShiroUtils.getCompanyId()); } else { role.setBuild_id(ShiroUtils.getBuildId()); } modelMap.addAttribute("roles", roleService.findListByWhere(role)); log.info("跳转到用户添加页面!"); modelMap.put("user_type", ShiroUtils.getUserEntity().getUser_type()); return BASE_BUILD_PATH + "user_company_add"; } /** * 添加用户 * * @param content * @return */ @OperationLog(value = "添加用户") @ResponseBody @PostMapping(value = "/saveCompanyUser") public ModelMap saveCompanyUser(User content, Integer company_id1) throws Exception { ModelMap messagesMap = new ModelMap(); if (IsTooFrequently()) { messagesMap.put("status", FAILURE); messagesMap.put("message", "操作过于频繁,请稍后再试!"); return messagesMap; } log.debug("添加用户参数! content = {}", content); Boolean flag = userService.saveCompanyUser(content); if (flag) { log.info("添加用户成功! content = {}", content.getId()); messagesMap.put("status", SUCCESS); messagesMap.put("message", "添加成功!"); new Thread(() -> { //同步信息给天启 SyncUserDto dto = new SyncUserDto(); dto.setAction(Constant.METHOD_STATUS.INSERT); dto.setOldUserName(""); dto.setUserName(content.getUser_name()); dto.setUserLoginName(content.getNick_name()); dto.setPassword(content.getPassword().trim()); dto.setCompanyName(content.getCompany_name()); dto.setToken(skyImageApiService.accessToken()); skyImageApiService.syncUserInfo(dto); }, "syncUserInfo").start(); return messagesMap; } messagesMap.put("status", FAILURE); messagesMap.put("message", "添加失败!"); return messagesMap; } /** * 跳转到用户编辑页面 * * @return */ @GetMapping(value = "/editCompanyUser/{id}") public String editCompanyUser(@PathVariable("id") int id, ModelMap modelMap) { modelMap.addAttribute("companyList", companyService.findCompanyList()); //User user = userService.findById(id); User user = userService.getUser(id); user.setRoleIds(userService.getUserRoleIds(id)); modelMap.addAttribute("user", user); List companyList = companyService.findCompanyList(); modelMap.addAttribute("companyList", companyService.findCompanyList()); Role role = new Role(); role.setDel_flag(false); role.setUser_type(ShiroUtils.getUserEntity().getUser_type()); if (ShiroUtils.getUserEntity().getUser_type().equals(Constant.UserType.COMPANY)) { role.setCompany_id(ShiroUtils.getCompanyId()); } else { role.setBuild_id(ShiroUtils.getBuildId()); } modelMap.addAttribute("roles", roleService.findListByWhere(role)); modelMap.put("user_type", ShiroUtils.getUserEntity().getUser_type()); return BASE_BUILD_PATH + "user_company_edit"; } /** * 跳转到用户查看页面 * * @return */ @GetMapping(value = "/checkCompanyUser/{id}") public String checkCompanyUser(@PathVariable("id") int id, ModelMap modelMap) { //User user = userService.findById(id); User user = userService.getUser(id); user.setRoleIds(userService.getUserRoleIds(id)); modelMap.addAttribute("user", user); modelMap.put("user_type", ShiroUtils.getUserEntity().getUser_type()); return BASE_BUILD_PATH + "user_company_check"; } /** * 更新用户信息 * * @param id id * @return */ @OperationLog(value = "编辑用户") @ResponseBody @PutMapping(value = "/updateCompanyUser/{id}") public ModelMap updateCompanyUser(@PathVariable("id") int id, User content, Integer company_id) throws Exception { ModelMap messagesMap = new ModelMap(); log.debug("编辑用户参数! id= {}, content = {}", id, content); if (IsTooFrequently()) { messagesMap.put("status", FAILURE); messagesMap.put("message", "操作过于频繁,请稍后再试!"); return messagesMap; } User u = userService.findById(id); if (null == u) { log.info("编辑用户不存在! id = {}", id); messagesMap.put("status", FAILURE); messagesMap.put("message", "编辑用户不存在!"); return messagesMap; } Boolean flag = userService.updateCompanyUser(content); if (flag) { log.info("编辑用户成功! id= {}, content = {}", id, content); messagesMap.put("status", SUCCESS); messagesMap.put("message", "编辑成功!"); new Thread(() -> { //同步信息给天启 SyncUserDto dto = new SyncUserDto(); dto.setAction(Constant.METHOD_STATUS.UPDATE); dto.setOldUserName(u.getNick_name()); dto.setUserName(content.getUser_name()); dto.setUserLoginName(content.getNick_name()); dto.setPassword(content.getPassword().trim()); dto.setCompanyName(content.getCompany_name()); dto.setToken(skyImageApiService.accessToken()); skyImageApiService.syncUserInfo(dto); }, "syncUserInfo").start(); return messagesMap; } messagesMap.put("status", FAILURE); messagesMap.put("message", "编辑失败!"); return messagesMap; } /** * 检验手机号是否存在 * * @param mobile * @return */ @ResponseBody @GetMapping(value = "/isExistMobile") public Boolean isExistMobile(String id, String mobile) throws Exception { boolean flag = true; log.debug("检验手机号是否存在参数! id= {}, mobile= {}", id, mobile); User record = userService.findByMobile(mobile); if (null != record) { if (StringUtils.isBlank(id)) { flag = false; } else { if (record.getId() != (Integer.parseInt(id))) { flag = false; } } } log.info("检验用户名是否存在结果! flag = {}", flag); return flag; } /** * 跳转到修改手机号页面 * * @return */ @GetMapping(value = "/editPhone") public String editPhone(ModelMap modelMap) { log.info("跳转到修改手机号页面成功!"); modelMap.put("id", ShiroUtils.getUserId()); return BASE_COMPANY_PATH + "accountInfo/editPhone"; } /** * 跳转到修改姓名页面 * * @return */ @GetMapping(value = "/editUserName") public String editUserName(ModelMap modelMap) { log.info("跳转到修改姓名页面成功!"); modelMap.put("id", ShiroUtils.getUserId()); return BASE_COMPANY_PATH + "accountInfo/editUserName"; } }