功能代码优化

yun-zuoyi
wei.peng 7 years ago
parent 5cc176395d
commit 53b0b86130

@ -126,6 +126,20 @@ public interface ISysUserService {
SysUser getSysUserByLoginName(String loginName);
/**
*
* @param email
* @return
*/
SysUser getSysUserByEmail(String email);
/**
*
* @param phone
* @return
*/
SysUser getSysUserByPhone(String phone);
/**
*
* @param userId
* @return
@ -138,5 +152,27 @@ public interface ISysUserService {
* @param id
* @return
*/
boolean checkLoginName(String userLoginName,long id);
boolean checkSysUserLoginName(String userLoginName, long id);
/**
*
* @param email
* @param id
* @return
*/
boolean checkSysUserEmail(String email,long id);
/**
*
* @param phone
* @param id
* @return
*/
boolean checkSysUserPhone(String phone,long id);
/**
*
* @param user
*/
void checkSysUserOnly(SysUser user);
}

@ -72,6 +72,9 @@ public class SysUserController extends CoreBaseController{
.build();
}
// 用户唯一校验
sysUserService.checkSysUserOnly(sysUser);
SysUserInfo userInfo = sysUserInfoService.getSysUserInfoById(sysUser.getUserInfoId());
if(userInfo == null){
throw ImppExceptionBuilder.newInstance()
@ -126,13 +129,8 @@ public class SysUserController extends CoreBaseController{
.build();
}
if (sysUserService.checkLoginName(sysUser.getUserLoginName(), sysUser.getId())) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("用户名已存在")
.build();
}
// 用户唯一校验
sysUserService.checkSysUserOnly(sysUser);
// 用户信息封装
SysUserInfo userInfo = sysUserService.getSysUserInfoById(sysUser.getUserInfoId());

@ -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 {
}
}
}

Loading…
Cancel
Save