|
|
|
@ -17,6 +17,7 @@ import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack;
|
|
|
|
|
import cn.estsh.impp.framework.boot.auth.AuthUtil;
|
|
|
|
|
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
|
|
|
|
|
import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum;
|
|
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
|
|
import org.apache.shiro.authc.AuthenticationException;
|
|
|
|
|
import org.slf4j.Logger;
|
|
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
@ -24,7 +25,6 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.HashSet;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -73,6 +73,7 @@ public class SysUserService implements ISysUserService {
|
|
|
|
|
private SysPositionRepository sysPositionRDao;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@ApiOperation(value = "用户登录", notes = "用户登录功能实现")
|
|
|
|
|
public SessionUser queryUserLogin(String loginName, String password, String languageCode) throws AuthenticationException {
|
|
|
|
|
LOGGER.debug("平台用户 SYS_USER loginName:{} \t password:{} \t languageCode:{}", loginName, password, languageCode);
|
|
|
|
|
|
|
|
|
@ -96,6 +97,7 @@ public class SysUserService implements ISysUserService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@ApiOperation(value = "修改账号", notes = "修改账号状态")
|
|
|
|
|
public void updateSysUserStatus(Long id, int status, SessionUser user) {
|
|
|
|
|
LOGGER.debug("平台用户 SYS_USER id:{} status:{} modifyUser:{}", id, status, user.getUserName());
|
|
|
|
|
SysUser sysUser = sysUserRDao.getById(id);
|
|
|
|
@ -105,6 +107,7 @@ public class SysUserService implements ISysUserService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@ApiOperation(value = "修改账号", notes = "批量修改账号状态")
|
|
|
|
|
public void updateBatchSysUserStatus(Long[] ids, int status, SessionUser user) {
|
|
|
|
|
LOGGER.debug("平台用户 SYS_USER DELETE By ids :{} status:{}, SessionUser :{}", ids,status,user);
|
|
|
|
|
|
|
|
|
@ -121,12 +124,14 @@ public class SysUserService implements ISysUserService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@ApiOperation(value = "修改账号", notes = "修改账号信息")
|
|
|
|
|
public void updateSysUser(SysUser sysUser) throws Exception{
|
|
|
|
|
LOGGER.debug("平台用户 SYS_USER SysUser :{}", sysUser);
|
|
|
|
|
sysUserRDao.save(sysUser);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@ApiOperation(value = "修改账号", notes = "修改账号登录密码")
|
|
|
|
|
public void updateSysUserPassword(Long userId, String password, String newPwd) throws Exception {
|
|
|
|
|
LOGGER.debug("平台用户 SYS_USER Override:{} password:{} newPwd:{}", userId,password,newPwd);
|
|
|
|
|
SysUser user = sysUserRDao.getById(userId);
|
|
|
|
@ -154,6 +159,7 @@ public class SysUserService implements ISysUserService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@ApiOperation(value = "刷新账号", notes = "刷新账号登录信息")
|
|
|
|
|
public void refreshUserLoginInformation(Long userId) {
|
|
|
|
|
SysUser user = sysUserRDao.getById(userId);
|
|
|
|
|
SysUserInfo userInfo = sysUserInfoRDao.getById(user.getUserInfoId());
|
|
|
|
@ -168,6 +174,7 @@ public class SysUserService implements ISysUserService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@ApiOperation(value = "新增账号", notes = "新增账号信息")
|
|
|
|
|
public SysUser insertSysUser(SysUser sysUser)throws Exception {
|
|
|
|
|
LOGGER.debug("平台用户 SYS_USER SysUser:{}", sysUser);
|
|
|
|
|
|
|
|
|
@ -188,6 +195,7 @@ public class SysUserService implements ISysUserService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@ApiOperation(value = "新增账号", notes = "新增账号信息")
|
|
|
|
|
public void refreshSysRefUserRole(SysUser sysUser, Long[] roleIds, String userName) {
|
|
|
|
|
LOGGER.debug("平台用户 SYS_USER SysUser:{}", sysUser);
|
|
|
|
|
LOGGER.debug("平台用户 SYS_USER String[] :{}", roleIds);
|
|
|
|
@ -230,6 +238,7 @@ public class SysUserService implements ISysUserService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@ApiOperation(value = "删除账号", notes = "删除账号信息,逻辑删除,账号关系业务物理删除")
|
|
|
|
|
public void deleteSysUserById(Long id) {
|
|
|
|
|
LOGGER.debug("平台用户 SYS_USER DELETE By id :{}", id);
|
|
|
|
|
sysUserRDao.updateByProperties("id", id, "isValid", CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
|
|
|
|
@ -241,6 +250,7 @@ public class SysUserService implements ISysUserService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@ApiOperation(value = "删除账号", notes = "批量删除账号信息,逻辑删除,账号关系业务物理删除")
|
|
|
|
|
public void deleteBatchSysUserById(Long[] ids,SessionUser user) {
|
|
|
|
|
LOGGER.debug("平台用户 SYS_USER DELETE By ids :{}", ids);
|
|
|
|
|
|
|
|
|
@ -258,12 +268,14 @@ public class SysUserService implements ISysUserService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@ApiOperation(value = "账号查询", notes = "查询所有账号信息")
|
|
|
|
|
public List<SysUser> list() {
|
|
|
|
|
LOGGER.debug("平台用户 SYS_USER find All");
|
|
|
|
|
return sysUserRDao.findByProperty("isValid", CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@ApiOperation(value = "账号分页查询", notes = "组合查询")
|
|
|
|
|
public ListPager<SysUser> querySysUserByPager(SysUser user, Pager pager) {
|
|
|
|
|
LOGGER.debug("系统用户 SysUser find user :{} page :{}", user, pager);
|
|
|
|
|
|
|
|
|
@ -274,17 +286,20 @@ public class SysUserService implements ISysUserService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@ApiOperation(value = "账号查询", notes = "根据ID 查询账号信息")
|
|
|
|
|
public SysUser getSysUserById(Long id) {
|
|
|
|
|
LOGGER.debug("平台用户 SYS_USER get By id :{}", id);
|
|
|
|
|
return sysUserRDao.getById(id);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@ApiOperation(value = "用户查询", notes = "根据ID 查询用户信息")
|
|
|
|
|
public SysUserInfo getSysUserInfoById(Long id) {
|
|
|
|
|
return sysUserInfoRDao.getByProperty("id",id);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@ApiOperation(value = "账号查询", notes = "根据登录名查询用户信息")
|
|
|
|
|
public SysUser getSysUserByLoginName(String loginName) {
|
|
|
|
|
LOGGER.debug("平台用户 SYS_USER find By Login Name :{}", loginName);
|
|
|
|
|
return sysUserRDao.getByProperty(new String[]{"userLoginName", "isValid"},
|
|
|
|
@ -292,12 +307,28 @@ public class SysUserService implements ISysUserService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@ApiOperation(value = "账号查询", notes = "根据邮箱查询用户信息")
|
|
|
|
|
public SysUser getSysUserByEmail(String email) {
|
|
|
|
|
return sysUserRDao.getByProperty(new String[]{"userEmail", "isValid"},
|
|
|
|
|
new Object[]{email, CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@ApiOperation(value = "账号查询", notes = "根据手机号查询用户信息")
|
|
|
|
|
public SysUser getSysUserByPhone(String phone) {
|
|
|
|
|
return sysUserRDao.getByProperty(new String[]{"userPhone", "isValid"},
|
|
|
|
|
new Object[]{phone, CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@ApiOperation(value = "账号角色", notes = "根据账号ID查询账号角色关系")
|
|
|
|
|
public List<SysRefUserRole> findSysRefUserRoleByUserId(Long userId) {
|
|
|
|
|
return refUserRoleRDao.findByProperty("userId",userId);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public boolean checkLoginName(String userLoginName, long id) {
|
|
|
|
|
@ApiOperation(value = "检查-账号登录名", notes = "判断账号是否存在")
|
|
|
|
|
public boolean checkSysUserLoginName(String userLoginName, long id) {
|
|
|
|
|
int count;
|
|
|
|
|
if(id > 0){
|
|
|
|
|
StringBuffer sw = new StringBuffer();
|
|
|
|
@ -311,6 +342,74 @@ public class SysUserService implements ISysUserService {
|
|
|
|
|
return count <= 0 ;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@ApiOperation(value = "检查-账号邮箱", notes = "判断邮箱是否存在")
|
|
|
|
|
public boolean checkSysUserEmail(String email, long id) {
|
|
|
|
|
int count;
|
|
|
|
|
if(id > 0){
|
|
|
|
|
StringBuffer sw = new StringBuffer();
|
|
|
|
|
HqlPack.getStringEqualPackOr(email,"userEmail",sw);
|
|
|
|
|
HqlPack.getNumNOEqualPack(id,"id",sw);
|
|
|
|
|
count = sysUserRDao.findByHqlWhereCount(sw.toString());
|
|
|
|
|
|
|
|
|
|
}else{
|
|
|
|
|
count = sysUserRDao.findByPropertyCount("userEmail",email);
|
|
|
|
|
}
|
|
|
|
|
return count <= 0 ;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@ApiOperation(value = "检查-账号手机", notes = "判断手机是否存在")
|
|
|
|
|
public boolean checkSysUserPhone(String phone, long id) {
|
|
|
|
|
int count;
|
|
|
|
|
if(id > 0){
|
|
|
|
|
StringBuffer sw = new StringBuffer();
|
|
|
|
|
HqlPack.getStringEqualPackOr(phone,"userPhone",sw);
|
|
|
|
|
HqlPack.getNumNOEqualPack(id,"id",sw);
|
|
|
|
|
count = sysUserRDao.findByHqlWhereCount(sw.toString());
|
|
|
|
|
|
|
|
|
|
}else{
|
|
|
|
|
count = sysUserRDao.findByPropertyCount("userPhone",phone);
|
|
|
|
|
}
|
|
|
|
|
return count <= 0 ;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@ApiOperation(value = "检查-账号唯一", notes = "账号唯一性校验")
|
|
|
|
|
public void checkSysUserOnly(SysUser user) {
|
|
|
|
|
if(user != null){
|
|
|
|
|
// 登录名唯一教研
|
|
|
|
|
if(checkSysUserLoginName(user.getUserLoginName(),user.getId())){
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("用户名已存在")
|
|
|
|
|
.setErrorSolution("请重新输入用户名")
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 登录名唯一教研
|
|
|
|
|
if(checkSysUserEmail(user.getUserEmail(),user.getId())){
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("邮箱已存在")
|
|
|
|
|
.setErrorSolution("请重新输入邮箱")
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 登录名唯一教研
|
|
|
|
|
if(checkSysUserPhone(user.getUserPhone(),user.getId())){
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("手机号已存在")
|
|
|
|
|
.setErrorSolution("请重新输入手机号")
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 封装用户登陆信息
|
|
|
|
|
*
|
|
|
|
@ -456,6 +555,4 @@ public class SysUserService implements ISysUserService {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|