20200407-lc-1

This commit is contained in:
sk1551
2020-04-07 15:53:17 +08:00
parent 7d49c015af
commit 652e7088e1

View File

@ -1,198 +1,199 @@
package com.ruoyi.project.system.controller; package com.ruoyi.project.system.controller;
import java.util.List; import java.util.List;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.ServletUtils; import com.ruoyi.common.utils.ServletUtils;
import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.framework.aspectj.lang.annotation.Log; import com.ruoyi.framework.aspectj.lang.annotation.Log;
import com.ruoyi.framework.aspectj.lang.enums.BusinessType; import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
import com.ruoyi.framework.security.LoginUser; import com.ruoyi.framework.security.LoginUser;
import com.ruoyi.framework.security.service.TokenService; import com.ruoyi.framework.security.service.TokenService;
import com.ruoyi.framework.web.controller.BaseController; import com.ruoyi.framework.web.controller.BaseController;
import com.ruoyi.framework.web.domain.AjaxResult; import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.framework.web.page.TableDataInfo; import com.ruoyi.framework.web.page.TableDataInfo;
import com.ruoyi.project.system.domain.SysUser; import com.ruoyi.project.system.domain.SysUser;
import com.ruoyi.project.system.service.ISysPostService; import com.ruoyi.project.system.service.ISysPostService;
import com.ruoyi.project.system.service.ISysRoleService; import com.ruoyi.project.system.service.ISysRoleService;
import com.ruoyi.project.system.service.ISysUserService; import com.ruoyi.project.system.service.ISysUserService;
/** /**
* 用户信息 * 用户信息
* *
* @author ruoyi * @author ruoyi
*/ */
@RestController @RestController
@RequestMapping("/system/user") @RequestMapping("/system/user")
public class SysUserController extends BaseController public class SysUserController extends BaseController
{ {
@Autowired @Autowired
private ISysUserService userService; private ISysUserService userService;
@Autowired @Autowired
private ISysRoleService roleService; private ISysRoleService roleService;
@Autowired @Autowired
private ISysPostService postService; private ISysPostService postService;
@Autowired @Autowired
private TokenService tokenService; private TokenService tokenService;
/** /**
* 获取用户列表 * 获取用户列表
*/ */
@PreAuthorize("@ss.hasPermi('system:user:list')") @PreAuthorize("@ss.hasPermi('system:user:list')")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(SysUser user) public TableDataInfo list(SysUser user)
{ {
startPage(); System.out.println("111");
List<SysUser> list = userService.selectUserList(user); startPage();
return getDataTable(list); List<SysUser> list = userService.selectUserList(user);
} return getDataTable(list);
}
@Log(title = "用户管理", businessType = BusinessType.EXPORT)
@PreAuthorize("@ss.hasPermi('system:user:export')") @Log(title = "用户管理", businessType = BusinessType.EXPORT)
@GetMapping("/export") @PreAuthorize("@ss.hasPermi('system:user:export')")
public AjaxResult export(SysUser user) @GetMapping("/export")
{ public AjaxResult export(SysUser user)
List<SysUser> list = userService.selectUserList(user); {
ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class); List<SysUser> list = userService.selectUserList(user);
return util.exportExcel(list, "用户数据"); ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
} return util.exportExcel(list, "用户数据");
}
@Log(title = "用户管理", businessType = BusinessType.IMPORT)
@PreAuthorize("@ss.hasPermi('system:user:import')") @Log(title = "用户管理", businessType = BusinessType.IMPORT)
@PostMapping("/importData") @PreAuthorize("@ss.hasPermi('system:user:import')")
public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception @PostMapping("/importData")
{ public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception
ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class); {
List<SysUser> userList = util.importExcel(file.getInputStream()); ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); List<SysUser> userList = util.importExcel(file.getInputStream());
String operName = loginUser.getUsername(); LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
String message = userService.importUser(userList, updateSupport, operName); String operName = loginUser.getUsername();
return AjaxResult.success(message); String message = userService.importUser(userList, updateSupport, operName);
} return AjaxResult.success(message);
}
@GetMapping("/importTemplate")
public AjaxResult importTemplate() @GetMapping("/importTemplate")
{ public AjaxResult importTemplate()
ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class); {
return util.importTemplateExcel("用户数据"); ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
} return util.importTemplateExcel("用户数据");
}
/**
* 根据用户编号获取详细信息 /**
*/ * 根据用户编号获取详细信息
@PreAuthorize("@ss.hasPermi('system:user:query')") */
@GetMapping(value = { "/", "/{userId}" }) @PreAuthorize("@ss.hasPermi('system:user:query')")
public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId) @GetMapping(value = { "/", "/{userId}" })
{ public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId)
AjaxResult ajax = AjaxResult.success(); {
ajax.put("roles", roleService.selectRoleAll()); AjaxResult ajax = AjaxResult.success();
ajax.put("posts", postService.selectPostAll()); ajax.put("roles", roleService.selectRoleAll());
if (StringUtils.isNotNull(userId)) ajax.put("posts", postService.selectPostAll());
{ if (StringUtils.isNotNull(userId))
ajax.put(AjaxResult.DATA_TAG, userService.selectUserById(userId)); {
ajax.put("postIds", postService.selectPostListByUserId(userId)); ajax.put(AjaxResult.DATA_TAG, userService.selectUserById(userId));
ajax.put("roleIds", roleService.selectRoleListByUserId(userId)); ajax.put("postIds", postService.selectPostListByUserId(userId));
} ajax.put("roleIds", roleService.selectRoleListByUserId(userId));
return ajax; }
} return ajax;
}
/**
* 新增用户 /**
*/ * 新增用户
@PreAuthorize("@ss.hasPermi('system:user:add')") */
@Log(title = "用户管理", businessType = BusinessType.INSERT) @PreAuthorize("@ss.hasPermi('system:user:add')")
@PostMapping @Log(title = "用户管理", businessType = BusinessType.INSERT)
public AjaxResult add(@Validated @RequestBody SysUser user) @PostMapping
{ public AjaxResult add(@Validated @RequestBody SysUser user)
if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user.getUserName()))) {
{ if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user.getUserName())))
return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,登录账号已存在"); {
} return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,登录账号已存在");
else if (UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) }
{ else if (UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user)))
return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,手机号码已存在"); {
} return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,手机号码已存在");
else if (UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user))) }
{ else if (UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user)))
return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在"); {
} return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在");
user.setCreateBy(SecurityUtils.getUsername()); }
user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); user.setCreateBy(SecurityUtils.getUsername());
return toAjax(userService.insertUser(user)); user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
} return toAjax(userService.insertUser(user));
}
/**
* 修改用户 /**
*/ * 修改用户
@PreAuthorize("@ss.hasPermi('system:user:edit')") */
@Log(title = "用户管理", businessType = BusinessType.UPDATE) @PreAuthorize("@ss.hasPermi('system:user:edit')")
@PutMapping @Log(title = "用户管理", businessType = BusinessType.UPDATE)
public AjaxResult edit(@Validated @RequestBody SysUser user) @PutMapping
{ public AjaxResult edit(@Validated @RequestBody SysUser user)
userService.checkUserAllowed(user); {
if (UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) userService.checkUserAllowed(user);
{ if (UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user)))
return AjaxResult.error("修改用户'" + user.getUserName() + "'失败,手机号码已存在"); {
} return AjaxResult.error("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
else if (UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user))) }
{ else if (UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user)))
return AjaxResult.error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在"); {
} return AjaxResult.error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
user.setUpdateBy(SecurityUtils.getUsername()); }
return toAjax(userService.updateUser(user)); user.setUpdateBy(SecurityUtils.getUsername());
} return toAjax(userService.updateUser(user));
}
/**
* 删除用户 /**
*/ * 删除用户
@PreAuthorize("@ss.hasPermi('system:user:remove')") */
@Log(title = "用户管理", businessType = BusinessType.DELETE) @PreAuthorize("@ss.hasPermi('system:user:remove')")
@DeleteMapping("/{userIds}") @Log(title = "用户管理", businessType = BusinessType.DELETE)
public AjaxResult remove(@PathVariable Long[] userIds) @DeleteMapping("/{userIds}")
{ public AjaxResult remove(@PathVariable Long[] userIds)
return toAjax(userService.deleteUserByIds(userIds)); {
} return toAjax(userService.deleteUserByIds(userIds));
}
/**
* 重置密码 /**
*/ * 重置密码
@PreAuthorize("@ss.hasPermi('system:user:edit')") */
@Log(title = "用户管理", businessType = BusinessType.UPDATE) @PreAuthorize("@ss.hasPermi('system:user:edit')")
@PutMapping("/resetPwd") @Log(title = "用户管理", businessType = BusinessType.UPDATE)
public AjaxResult resetPwd(@RequestBody SysUser user) @PutMapping("/resetPwd")
{ public AjaxResult resetPwd(@RequestBody SysUser user)
userService.checkUserAllowed(user); {
user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); userService.checkUserAllowed(user);
user.setUpdateBy(SecurityUtils.getUsername()); user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
return toAjax(userService.resetPwd(user)); user.setUpdateBy(SecurityUtils.getUsername());
} return toAjax(userService.resetPwd(user));
}
/**
* 状态修改 /**
*/ * 状态修改
@PreAuthorize("@ss.hasPermi('system:user:edit')") */
@Log(title = "用户管理", businessType = BusinessType.UPDATE) @PreAuthorize("@ss.hasPermi('system:user:edit')")
@PutMapping("/changeStatus") @Log(title = "用户管理", businessType = BusinessType.UPDATE)
public AjaxResult changeStatus(@RequestBody SysUser user) @PutMapping("/changeStatus")
{ public AjaxResult changeStatus(@RequestBody SysUser user)
userService.checkUserAllowed(user); {
user.setUpdateBy(SecurityUtils.getUsername()); userService.checkUserAllowed(user);
return toAjax(userService.updateUserStatus(user)); user.setUpdateBy(SecurityUtils.getUsername());
} return toAjax(userService.updateUserStatus(user));
}
} }