| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819 |
- 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<User> 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<Role> 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<Role> roles = roleService.findListByWhere(role);
- if (sRoles.size() > 0) {
- roles.addAll(sRoles);
- }
- return ResponseMessage.success("success", roles);
- }
- private List<Role> 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<User> 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<Company> 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";
- }
- }
|