This commit is contained in:
zhujunjieit 2019-01-09 22:29:04 +08:00
parent 66502a7622
commit d205514484
7 changed files with 203 additions and 173 deletions

View File

@ -47,19 +47,19 @@ public class UploadFileController extends BaseController {
*/
@Log(title = "上传文件", businessType = BusinessType.INSERT)
@PostMapping("/files")
public AjaxResult updateAvatar(@RequestParam("file") MultipartFile file,String module) {
public AjaxResult updateAvatar(@RequestParam("file") MultipartFile file, String module) {
try {
if (!file.isEmpty()) {
String originalFileName = file.getOriginalFilename();
originalFileName.substring(originalFileName.lastIndexOf("."));
String filePath="";
originalFileName.substring( originalFileName.lastIndexOf( "." ) );
String filePath = "";
//上传文件路径由模块参数module和上传的当天日期组成
if (null != module) {
filePath=module+ File.separator+ DateUtil.today()+ File.separator;
filePath = module + "/" + DateUtil.today() + "/";
}
String fileName = FileUploadUtils.upload( Global.getAvatarPath()+filePath, file,false,originalFileName);
String fileName = FileUploadUtils.upload( Global.getAvatarPath() + filePath, file, false, originalFileName );
AjaxResult ajaxResult = new AjaxResult();
ajaxResult.put( "fileName", filePath+fileName );
ajaxResult.put( "fileName", filePath + fileName );
ajaxResult.put( "code", "200" );
ajaxResult.put( "msg", "上传成功" );
return ajaxResult;

View File

@ -2,73 +2,112 @@ package com.ruoyi.common.constant;
/**
* 用户常量信息
*
*
* @author ruoyi
*/
public class UserConstants
{
/** 正常状态 */
public class UserConstants {
/**
* 正常状态
*/
public static final String NORMAL = "0";
/** 异常状态 */
/**
* 异常状态
*/
public static final String EXCEPTION = "1";
/** 用户封禁状态 */
/**
* 用户封禁状态
*/
public static final String USER_BLOCKED = "1";
/** 角色封禁状态 */
/**
* 角色封禁状态
*/
public static final String ROLE_BLOCKED = "1";
/** 部门正常状态 */
/**
* 部门正常状态
*/
public static final String DEPT_NORMAL = "0";
/**
* 用户类型 系统用户
*/
public static final String USER_SYS = "00";
/**
* 用户类型 会员用户
*/
public static final String USER_VIP = "10";
/**
* 用户名长度限制
*/
public static final int USERNAME_MIN_LENGTH = 2;
public static final int USERNAME_MAX_LENGTH = 20;
/** 登录名称是否唯一的返回结果码 */
/**
* 登录名称是否唯一的返回结果码
*/
public final static String USER_NAME_UNIQUE = "0";
public final static String USER_NAME_NOT_UNIQUE = "1";
/** 手机号码是否唯一的返回结果 */
/**
* 手机号码是否唯一的返回结果
*/
public final static String USER_PHONE_UNIQUE = "0";
public final static String USER_PHONE_NOT_UNIQUE = "1";
/** e-mail 是否唯一的返回结果 */
/**
* e-mail 是否唯一的返回结果
*/
public final static String USER_EMAIL_UNIQUE = "0";
public final static String USER_EMAIL_NOT_UNIQUE = "1";
/** 部门名称是否唯一的返回结果码 */
/**
* 部门名称是否唯一的返回结果码
*/
public final static String DEPT_NAME_UNIQUE = "0";
public final static String DEPT_NAME_NOT_UNIQUE = "1";
/** 角色名称是否唯一的返回结果码 */
/**
* 角色名称是否唯一的返回结果码
*/
public final static String ROLE_NAME_UNIQUE = "0";
public final static String ROLE_NAME_NOT_UNIQUE = "1";
/** 岗位名称是否唯一的返回结果码 */
/**
* 岗位名称是否唯一的返回结果码
*/
public final static String POST_NAME_UNIQUE = "0";
public final static String POST_NAME_NOT_UNIQUE = "1";
/** 角色权限是否唯一的返回结果码 */
/**
* 角色权限是否唯一的返回结果码
*/
public final static String ROLE_KEY_UNIQUE = "0";
public final static String ROLE_KEY_NOT_UNIQUE = "1";
/** 岗位编码是否唯一的返回结果码 */
/**
* 岗位编码是否唯一的返回结果码
*/
public final static String POST_CODE_UNIQUE = "0";
public final static String POST_CODE_NOT_UNIQUE = "1";
/** 菜单名称是否唯一的返回结果码 */
/**
* 菜单名称是否唯一的返回结果码
*/
public final static String MENU_NAME_UNIQUE = "0";
public final static String MENU_NAME_NOT_UNIQUE = "1";
/** 字典类型是否唯一的返回结果码 */
/**
* 字典类型是否唯一的返回结果码
*/
public final static String DICT_TYPE_UNIQUE = "0";
public final static String DICT_TYPE_NOT_UNIQUE = "1";
/** 参数键名是否唯一的返回结果码 */
/**
* 参数键名是否唯一的返回结果码
*/
public final static String CONFIG_KEY_UNIQUE = "0";
public final static String CONFIG_KEY_NOT_UNIQUE = "1";

View File

@ -47,7 +47,7 @@ public class JwtUtil {
*/
public static String getLoginName() {
try {
String token = ServletUtils.getRequest().getHeader("token");
String token = ServletUtils.getRequest().getHeader("Authorization");
DecodedJWT jwt = JWT.decode(token);
return jwt.getClaim("loginName").asString();
} catch (JWTDecodeException e) {

View File

@ -11,7 +11,7 @@ import javax.persistence.Id;
/**
* 用户对象 sys_user
*
*
* @author ruoyi
*/
public class SysUser extends BaseEntity
@ -49,6 +49,9 @@ public class SysUser extends BaseEntity
@Excel(name = "用户性别", readConverterExp = "0=男,1=女,2=未知")
private String sex;
/** 用户头像 */
private String userType;
/** 用户头像 */
private String avatar;
@ -84,6 +87,15 @@ public class SysUser extends BaseEntity
/** 岗位组 */
private Long[] postIds;
public String getUserType() {
return userType;
}
public void setUserType(String userType) {
this.userType = userType;
}
public Long getUserId()
{
return userId;
@ -287,25 +299,25 @@ public class SysUser extends BaseEntity
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("userId", getUserId())
.append("deptId", getDeptId())
.append("loginName", getLoginName())
.append("userName", getUserName())
.append("email", getEmail())
.append("phonenumber", getPhonenumber())
.append("sex", getSex())
.append("avatar", getAvatar())
.append("password", getPassword())
.append("salt", getSalt())
.append("status", getStatus())
.append("delFlag", getDelFlag())
.append("loginIp", getLoginIp())
.append("loginDate", getLoginDate())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.toString();
.append("userId", getUserId())
.append("deptId", getDeptId())
.append("loginName", getLoginName())
.append("userName", getUserName())
.append("email", getEmail())
.append("phonenumber", getPhonenumber())
.append("sex", getSex())
.append("avatar", getAvatar())
.append("password", getPassword())
.append("salt", getSalt())
.append("status", getStatus())
.append("delFlag", getDelFlag())
.append("loginIp", getLoginIp())
.append("loginDate", getLoginDate())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.toString();
}
}

View File

@ -16,12 +16,11 @@ import com.ruoyi.system.service.ISysUserService;
/**
* 用户 业务层处理
*
*
* @author ruoyi
*/
@Service
public class SysUserServiceImpl extends AbstractBaseServiceImpl<SysUserMapper,SysUser> implements ISysUserService
{
public class SysUserServiceImpl extends AbstractBaseServiceImpl<SysUserMapper, SysUser> implements ISysUserService {
@Autowired
private SysUserMapper userMapper;
@ -39,222 +38,206 @@ public class SysUserServiceImpl extends AbstractBaseServiceImpl<SysUserMapper,Sy
/**
* 根据条件分页查询用户对象
*
*
* @param user 用户信息
*
* @return 用户信息集合信息
*/
@Override
@DataScope(tableAlias = "u")
public List<SysUser> selectUserList(SysUser user)
{
public List<SysUser> selectUserList(SysUser user) {
startPage();
return userMapper.selectUserList(user);
return userMapper.selectUserList( user );
}
/**
* 通过用户名查询用户
*
*
* @param userName 用户名
* @return 用户对象信息
*/
@Override
public SysUser selectUserByLoginName(String userName)
{
return userMapper.selectUserByLoginName(userName);
public SysUser selectUserByLoginName(String userName) {
return userMapper.selectUserByLoginName( userName );
}
/**
* 通过手机号码查询用户
*
*
* @param phoneNumber 手机号码
* @return 用户对象信息
*/
@Override
public SysUser selectUserByPhoneNumber(String phoneNumber)
{
return userMapper.selectUserByPhoneNumber(phoneNumber);
public SysUser selectUserByPhoneNumber(String phoneNumber) {
return userMapper.selectUserByPhoneNumber( phoneNumber );
}
/**
* 通过邮箱查询用户
*
*
* @param email 邮箱
* @return 用户对象信息
*/
@Override
public SysUser selectUserByEmail(String email)
{
return userMapper.selectUserByEmail(email);
public SysUser selectUserByEmail(String email) {
return userMapper.selectUserByEmail( email );
}
/**
* 通过用户ID查询用户
*
*
* @param userId 用户ID
* @return 用户对象信息
*/
@Override
public SysUser selectUserById(Long userId)
{
return userMapper.selectUserById(userId);
public SysUser selectUserById(Long userId) {
return userMapper.selectUserById( userId );
}
/**
* 通过用户ID删除用户
*
*
* @param userId 用户ID
* @return 结果
*/
@Override
public int deleteUserById(Long userId)
{
public int deleteUserById(Long userId) {
// 删除用户与角色关联
userRoleMapper.deleteUserRoleByUserId(userId);
userRoleMapper.deleteUserRoleByUserId( userId );
// 删除用户与岗位表
userPostMapper.deleteUserPostByUserId(userId);
return userMapper.deleteUserById(userId);
userPostMapper.deleteUserPostByUserId( userId );
return userMapper.deleteUserById( userId );
}
/**
* 批量删除用户信息
*
*
* @param ids 需要删除的数据ID
* @return 结果
*/
@Override
public int deleteUserByIds(String ids) throws Exception
{
Long[] userIds = Convert.toLongArray(ids);
for (Long userId : userIds)
{
if (SysUser.isAdmin(userId))
{
throw new Exception("不允许删除超级管理员用户");
public int deleteUserByIds(String ids) throws Exception {
Long[] userIds = Convert.toLongArray( ids );
for (Long userId : userIds) {
if (SysUser.isAdmin( userId )) {
throw new Exception( "不允许删除超级管理员用户" );
}
}
return userMapper.deleteUserByIds(userIds);
return userMapper.deleteUserByIds( userIds );
}
/**
* 新增保存用户信息
*
*
* @param user 用户信息
* @return 结果
*/
@Override
public int insertUser(SysUser user)
{
public int insertUser(SysUser user) {
// 新增用户信息
int rows = userMapper.insertUser(user);
int rows = userMapper.insertUser( user );
// 新增用户岗位关联
insertUserPost(user);
insertUserPost( user );
// 新增用户与角色管理
insertUserRole(user);
insertUserRole( user );
return rows;
}
/**
* 修改保存用户信息
*
*
* @param user 用户信息
* @return 结果
*/
@Override
public int updateUser(SysUser user)
{
public int updateUser(SysUser user) {
Long userId = user.getUserId();
// 删除用户与角色关联
userRoleMapper.deleteUserRoleByUserId(userId);
userRoleMapper.deleteUserRoleByUserId( userId );
// 新增用户与角色管理
insertUserRole(user);
insertUserRole( user );
// 删除用户与岗位关联
userPostMapper.deleteUserPostByUserId(userId);
userPostMapper.deleteUserPostByUserId( userId );
// 新增用户与岗位管理
insertUserPost(user);
return userMapper.updateUser(user);
insertUserPost( user );
return userMapper.updateUser( user );
}
/**
* 修改用户个人详细信息
*
*
* @param user 用户信息
* @return 结果
*/
@Override
public int updateUserInfo(SysUser user)
{
return userMapper.updateUser(user);
public int updateUserInfo(SysUser user) {
return userMapper.updateUser( user );
}
/**
* 修改用户密码
*
*
* @param user 用户信息
* @return 结果
*/
@Override
public int resetUserPwd(SysUser user)
{
return updateUserInfo(user);
public int resetUserPwd(SysUser user) {
return updateUserInfo( user );
}
/**
* 新增用户角色信息
*
*
* @param user 用户对象
*/
public void insertUserRole(SysUser user)
{
public void insertUserRole(SysUser user) {
// 新增用户与角色管理
List<SysUserRole> list = new ArrayList<SysUserRole>();
for (Long roleId : user.getRoleIds())
{
SysUserRole ur = new SysUserRole();
ur.setUserId(user.getUserId());
ur.setRoleId(roleId);
list.add(ur);
if (null != user.getRoleIds()) {
for (Long roleId : user.getRoleIds()) {
SysUserRole ur = new SysUserRole();
ur.setUserId( user.getUserId() );
ur.setRoleId( roleId );
list.add( ur );
}
}
if (list.size() > 0)
{
userRoleMapper.batchUserRole(list);
if (list.size() > 0) {
userRoleMapper.batchUserRole( list );
}
}
/**
* 新增用户岗位信息
*
*
* @param user 用户对象
*/
public void insertUserPost(SysUser user)
{
public void insertUserPost(SysUser user) {
// 新增用户与岗位管理
List<SysUserPost> list = new ArrayList<SysUserPost>();
for (Long postId : user.getPostIds())
{
SysUserPost up = new SysUserPost();
up.setUserId(user.getUserId());
up.setPostId(postId);
list.add(up);
if (null != user.getPostIds()) {
for (Long postId : user.getPostIds()) {
SysUserPost up = new SysUserPost();
up.setUserId( user.getUserId() );
up.setPostId( postId );
list.add( up );
}
}
if (list.size() > 0)
{
userPostMapper.batchUserPost(list);
if (list.size() > 0) {
userPostMapper.batchUserPost( list );
}
}
/**
* 校验用户名称是否唯一
*
*
* @param loginName 用户名
* @return
*/
@Override
public String checkLoginNameUnique(String loginName)
{
int count = userMapper.checkLoginNameUnique(loginName);
if (count > 0)
{
public String checkLoginNameUnique(String loginName) {
int count = userMapper.checkLoginNameUnique( loginName );
if (count > 0) {
return UserConstants.USER_NAME_NOT_UNIQUE;
}
return UserConstants.USER_NAME_UNIQUE;
@ -267,12 +250,10 @@ public class SysUserServiceImpl extends AbstractBaseServiceImpl<SysUserMapper,Sy
* @return
*/
@Override
public String checkPhoneUnique(SysUser user)
{
Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
SysUser info = userMapper.checkPhoneUnique(user.getPhonenumber());
if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue())
{
public String checkPhoneUnique(SysUser user) {
Long userId = StringUtils.isNull( user.getUserId() ) ? -1L : user.getUserId();
SysUser info = userMapper.checkPhoneUnique( user.getPhonenumber() );
if (StringUtils.isNotNull( info ) && info.getUserId().longValue() != userId.longValue()) {
return UserConstants.USER_PHONE_NOT_UNIQUE;
}
return UserConstants.USER_PHONE_UNIQUE;
@ -285,12 +266,10 @@ public class SysUserServiceImpl extends AbstractBaseServiceImpl<SysUserMapper,Sy
* @return
*/
@Override
public String checkEmailUnique(SysUser user)
{
Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
SysUser info = userMapper.checkEmailUnique(user.getEmail());
if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue())
{
public String checkEmailUnique(SysUser user) {
Long userId = StringUtils.isNull( user.getUserId() ) ? -1L : user.getUserId();
SysUser info = userMapper.checkEmailUnique( user.getEmail() );
if (StringUtils.isNotNull( info ) && info.getUserId().longValue() != userId.longValue()) {
return UserConstants.USER_EMAIL_NOT_UNIQUE;
}
return UserConstants.USER_EMAIL_UNIQUE;
@ -298,44 +277,38 @@ public class SysUserServiceImpl extends AbstractBaseServiceImpl<SysUserMapper,Sy
/**
* 查询用户所属角色组
*
*
* @param userId 用户ID
* @return 结果
*/
@Override
public String selectUserRoleGroup(Long userId)
{
List<SysRole> list = roleMapper.selectRolesByUserId(userId);
public String selectUserRoleGroup(Long userId) {
List<SysRole> list = roleMapper.selectRolesByUserId( userId );
StringBuffer idsStr = new StringBuffer();
for (SysRole role : list)
{
idsStr.append(role.getRoleName()).append(",");
for (SysRole role : list) {
idsStr.append( role.getRoleName() ).append( "," );
}
if (StringUtils.isNotEmpty(idsStr.toString()))
{
return idsStr.substring(0, idsStr.length() - 1);
if (StringUtils.isNotEmpty( idsStr.toString() )) {
return idsStr.substring( 0, idsStr.length() - 1 );
}
return idsStr.toString();
}
/**
* 查询用户所属岗位组
*
*
* @param userId 用户ID
* @return 结果
*/
@Override
public String selectUserPostGroup(Long userId)
{
List<SysPost> list = postMapper.selectPostsByUserId(userId);
public String selectUserPostGroup(Long userId) {
List<SysPost> list = postMapper.selectPostsByUserId( userId );
StringBuffer idsStr = new StringBuffer();
for (SysPost post : list)
{
idsStr.append(post.getPostName()).append(",");
for (SysPost post : list) {
idsStr.append( post.getPostName() ).append( "," );
}
if (StringUtils.isNotEmpty(idsStr.toString()))
{
return idsStr.substring(0, idsStr.length() - 1);
if (StringUtils.isNotEmpty( idsStr.toString() )) {
return idsStr.substring( 0, idsStr.length() - 1 );
}
return idsStr.toString();
}

View File

@ -9,6 +9,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="deptId" column="dept_id" />
<result property="loginName" column="login_name" />
<result property="userName" column="user_name" />
<result property="userType" column="user_type" />
<result property="email" column="email" />
<result property="phonenumber" column="phonenumber" />
<result property="sex" column="sex" />
@ -46,7 +47,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<sql id="selectUserVo">
select u.user_id, u.dept_id, u.login_name, u.user_name, u.email, u.phonenumber, u.sex, u.avatar, u.password, u.salt, u.status, u.del_flag, u.login_ip, u.login_date, u.create_time, u.remark,
select u.user_id, u.dept_id, u.login_name, u.user_name,u.user_type, u.email, u.phonenumber, u.sex, u.avatar, u.password, u.salt, u.status, u.del_flag, u.login_ip, u.login_date, u.create_time, u.remark,
d.dept_id, d.parent_id, d.dept_name, d.order_num, d.status as dept_status,
r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status
from sys_user u
@ -56,7 +57,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</sql>
<select id="selectUserList" parameterType="SysUser" resultMap="SysUserResult">
select u.user_id, u.dept_id, u.login_name, u.user_name, u.email, u.phonenumber, u.password, u.sex, u.avatar, u.salt, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name from sys_user u
select u.user_id, u.dept_id, u.login_name, u.user_name,u.user_type, u.email, u.phonenumber, u.password, u.sex, u.avatar, u.salt, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name from sys_user u
left join sys_dept d on u.dept_id = d.dept_id
where u.del_flag = '0'
<if test="loginName != null and loginName != ''">
@ -133,6 +134,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="deptId != null and deptId != 0">dept_id = #{deptId},</if>
<if test="loginName != null and loginName != ''">login_name = #{loginName},</if>
<if test="userName != null and userName != ''">user_name = #{userName},</if>
<if test="userType != null and userType != ''">user_type = #{userType},</if>
<if test="email != null and email != ''">email = #{email},</if>
<if test="phonenumber != null and phonenumber != ''">phonenumber = #{phonenumber},</if>
<if test="sex != null and sex != ''">sex = #{sex},</if>
@ -155,6 +157,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="deptId != null and deptId != 0">dept_id,</if>
<if test="loginName != null and loginName != ''">login_name,</if>
<if test="userName != null and userName != ''">user_name,</if>
<if test="userType != null and userType != ''">user_type,</if>
<if test="email != null and email != ''">email,</if>
<if test="phonenumber != null and phonenumber != ''">phonenumber,</if>
<if test="sex != null and sex != ''">sex,</if>
@ -169,6 +172,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="deptId != null and deptId != ''">#{deptId},</if>
<if test="loginName != null and loginName != ''">#{loginName},</if>
<if test="userName != null and userName != ''">#{userName},</if>
<if test="userType != null and userType != ''">#{userType},</if>
<if test="email != null and email != ''">#{email},</if>
<if test="phonenumber != null and phonenumber != ''">#{phonenumber},</if>
<if test="sex != null and sex != ''">#{sex},</if>

View File

@ -3,6 +3,7 @@ package com.ruoyi.vip.controller;
import com.auth0.jwt.JWTVerifier;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.base.AjaxResult;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.json.JSONObject;
import com.ruoyi.common.utils.ExcelUtil;
@ -91,6 +92,7 @@ public class ApiVipUserController extends BaseController {
@ResponseBody
public AjaxResult addSave(@RequestBody SysUser user) {
user.setSalt( ShiroUtils.randomSalt() );
user.setUserType( UserConstants.USER_VIP );
user.setPassword( passwordService.encryptPassword( user.getLoginName(), user.getPassword(), user.getSalt() ) );
return toAjax( sysUserService.insertUser( user ) );
}