Merge remote-tracking branch 'origin/master'

yun-zuoyi
alwaysfrin 7 years ago
commit 1b6e373c0e

@ -47,7 +47,7 @@ public interface ISysMenuService {
* @param id
* @return
*/
void deleteSysMenuById(String id);
void deleteSysMenuById(Long id);
/**
* id

@ -3,7 +3,7 @@ package cn.estsh.i3plus.core.api.iservice.busi;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.platform.bean.*;
import org.apache.shiro.authc.AuthenticationException;
import java.util.List;
/**
@ -22,7 +22,7 @@ public interface ISysUserService {
* @param languageCode
* @return
*/
SessionUser queryUserLogin(String loginName, String password, String languageCode);
SessionUser queryUserLogin(String loginName, String password, String languageCode) throws AuthenticationException;
/**
*
@ -56,6 +56,12 @@ public interface ISysUserService {
void updateSysUserPassword(String userIdStr,String password,String newPwd) throws Exception;
/**
*
* @param userId
*/
void updateUserLoginLastDateTime(Long userId);
/**
*
* @param sysUser
* @return

@ -33,6 +33,7 @@ import java.util.Map;
@Api(description="登陆授权demo")
public class DemoAuthController extends CoreBaseController {
public static final Logger LOGGER = LoggerFactory.getLogger(DemoAuthController.class);
@Autowired
private ISystemLoginService systemLoginService;

@ -14,6 +14,7 @@ import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authc.AuthenticationException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@ -63,7 +64,9 @@ public class AuthController {
ResultBean result = new ResultBean(true, "", AuthUtil.getSessionUser());
result.setUrl("/");
return result;
} catch (ImppBusiException e) {
}catch (AuthenticationException e) {
return new ResultBean(false,e.getMessage());
}catch (ImppBusiException e) {
return new ResultBean(false,e.getErrorDetail() + ",so:" + e.getErrorSolution());
}catch (Exception e){
return ResultBean.fail(e.getMessage()).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode());

@ -8,6 +8,7 @@
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.Organize;
import cn.estsh.i3plus.pojo.platform.bean.SysMenu;
import cn.estsh.impp.framework.base.controller.BaseController;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
@ -33,7 +34,7 @@
@RestController
@RequestMapping("/sys-menu")
@Api(description = "系统功能服务")
public class SysMenuController {
public class SysMenuController extends BaseController {
public static final Logger LOGGER = LoggerFactory.getLogger(SysMenuController.class);
@ -51,7 +52,7 @@ public class SysMenuController {
.notNull("menuTypeId", menu.getMenuTypeId());
//新增初始化
ConvertBean.modelInitialize(menu, AuthUtil.getSessionUser());
ConvertBean.modelInitialize(menu, getSessionUser());
if(menu.getParentId() == null || menu.getParentId().intValue() == 0){
menu.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue());
}
@ -78,7 +79,7 @@ public class SysMenuController {
.notNull("menuCode", sysMenu.getMenuCode())
.notNull("name", sysMenu.getName());
ConvertBean.modelUpdate(sysMenu, AuthUtil.getSessionUser());
ConvertBean.modelUpdate(sysMenu, getSessionUser());
sysMenuService.updateSysMenu(sysMenu);
return ResultBean.success("修改成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
@ -95,9 +96,9 @@ public class SysMenuController {
public ResultBean deleteSysMenu(@PathVariable("id") String id) {
try {
// 数据校验
ValidatorBean.checkNotNull(id, "系统功能id 不能为空");
ValidatorBean.checkIsNumber(id, "系统功能id 不能为空");
sysMenuService.deleteSysMenuById(id);
sysMenuService.deleteSysMenuById(Long.parseLong(id));
return ResultBean.success().setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
LOGGER.error(busExcep.getErrorMsg() + "{}", busExcep.getErrorDetail(), busExcep);
@ -172,7 +173,7 @@ public class SysMenuController {
ValidatorBean.checkNotNull(id, "功能id 不能为空");
ValidatorBean.checkNotZero(status, "功能状态不能为空");
sysMenuService.updateSysMenuStatus(id,status,AuthUtil.getSessionUser());
sysMenuService.updateSysMenuStatus(id,status,getSessionUser());
return new ResultBean(true);
} catch(ImppBusiException busExcep){
LOGGER.error(busExcep.getErrorMsg() + "{}",busExcep.getErrorDetail(),busExcep);
@ -192,7 +193,7 @@ public class SysMenuController {
ValidatorBean.checkNotNull(ids, "功能id 不能为空");
ValidatorBean.checkNotZero(status, "功能状态不能为空");
sysMenuService.updateSysMenuStatusByIds(ids,status,AuthUtil.getSessionUser());
sysMenuService.updateSysMenuStatusByIds(ids,status,getSessionUser());
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch(ImppBusiException busExcep){

@ -59,7 +59,7 @@ public class TaskTimeController {
ValidatorBean.beginValid(taskTimeExpression);
taskTime.setRedTimeName(taskTimeExpression.getName());
taskTime.setRedTimeExpression(taskTimeExpression.getTimeExpression());
taskTime.setRedTimeExpression(taskTimeExpression.getExpressionContent());
taskTime.setTaskStatus(CommonEnumUtil.DATA_STATUS.ENABLE.getValue());
ConvertBean.modelInitialize(taskTime, AuthUtil.getSessionUser());
@ -95,7 +95,7 @@ public class TaskTimeController {
// 数据冗余
taskTime.setRedTimeName(taskTimeExpression.getName());
taskTime.setRedTimeExpression(taskTimeExpression.getTimeExpression());
taskTime.setRedTimeExpression(taskTimeExpression.getExpressionContent());
ConvertBean.modelUpdate(taskTime, AuthUtil.getSessionUser());

@ -46,16 +46,12 @@ public class TaskTimeExpressionController {
// 数据校验
ValidatorBean.beginValid(timeExpression)
.notNull("name", timeExpression.getName())
.notNull("timeExpression", timeExpression.getTimeExpression())
.notNull("timeDescription", timeExpression.getTimeDescription());
.notNull("expressionContent", timeExpression.getExpressionContent())
.notNull("expressionStartDatetime",timeExpression.getExpressionStartDatetime());
ConvertBean.modelInitialize(timeExpression, AuthUtil.getSessionUser());
taskTimeExpressionService.insertTaskTimeExpression(timeExpression);
timeExpression = taskTimeExpressionService.insertTaskTimeExpression(timeExpression);
return ResultBean.success("操作成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
.setResultObject(timeExpression);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
LOGGER.error(busExcep.getErrorMsg() + "{}", busExcep.getErrorDetail(), busExcep);
return ResultBean.fail(busExcep.getErrorShow());
@ -73,16 +69,11 @@ public class TaskTimeExpressionController {
ValidatorBean.beginValid(timeExpression)
.notNull("id", timeExpression.getId())
.notNull("name", timeExpression.getName())
.notNull("timeExpression", timeExpression.getTimeExpression())
.notNull("timeDescription", timeExpression.getTimeDescription());
ConvertBean.modelInitialize(timeExpression, AuthUtil.getSessionUser());
.notNull("timeExpression", timeExpression.getExpressionContent());
taskTimeExpressionService.updateTaskTimeExpression(timeExpression);
return ResultBean.success("操作成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
.setResultObject(timeExpression);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
LOGGER.error(busExcep.getErrorMsg() + "{}", busExcep.getErrorDetail(), busExcep);
return ResultBean.fail(busExcep.getErrorShow());

@ -13,6 +13,7 @@ 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 org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authc.AuthenticationException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@ -86,31 +87,20 @@ public class SystemLoginService implements ISystemLoginService {
*/
public SysUser getUserLoginInfo(String loginName,String pwd) {
SysUser user = sysUserRDao.getByProperty("userLoginName",loginName);
try { // 密码加密
pwd = EncryptTool.hexMD5(pwd);
}catch (Exception e){
e.printStackTrace();
}
if(user == null){ //用户不存在
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.IMPP.getCode())
.setErrorCode(ImppExceptionEnum.LOGIN_EXCEPTION.getCode())
.setErrorDetail("用户不存在")
.setErrorSolution("重新登陆")
.build();
}
if (!StringUtils.equals(user.getUserLoginPassword(),pwd )) { //密码不符
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.IMPP.getCode())
.setErrorCode(ImppExceptionEnum.LOGIN_EXCEPTION.getCode())
.setErrorDetail("登陆密码错误")
.setErrorSolution("重新输入")
.build();
throw new AuthenticationException("用户不存在");
}else {
try { // 密码加密
pwd = EncryptTool.hexMD5(pwd);
} catch (Exception e) {
LOGGER.error("登录密码加密出错。");
throw new AuthenticationException("登陆密码错误");
}
if (!StringUtils.equals(user.getUserLoginPassword(), pwd)) { //密码不符
throw new AuthenticationException("登陆密码错误");
}
return user;
}
return user;
}
/**

@ -103,9 +103,9 @@ public class SysMenuService implements ISysMenuService {
}
@Override
public void deleteSysMenuById(String id) {
public void deleteSysMenuById(Long id) {
LOGGER.info("系统功能 SYS_MENU Key:{}", id);
long count = sysMenuRDao.findByPropertyCount("parentId",Long.parseLong(id));
long count = sysMenuRDao.findByPropertyCount("parentId",id);
if(count >= 1){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.IMPP.getCode())
@ -116,8 +116,8 @@ public class SysMenuService implements ISysMenuService {
}
refRoleMenuRDao.deleteByProperty("menuId",id);
sysMenuRDao.deleteById(Long.parseLong(id));
refRoleMenuRDao.deleteById(id);
sysMenuRDao.deleteById(id);
}
@Override

@ -4,6 +4,7 @@ import cn.estsh.i3plus.core.api.iservice.busi.ISysUserService;
import cn.estsh.i3plus.core.apiservice.dao.IUserPermissionDao;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.tool.EncryptTool;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper;
@ -18,6 +19,7 @@ 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 cn.estsh.impp.framework.boot.util.ValidatorBean;
import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.authc.AuthenticationToken;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -70,36 +72,42 @@ public class SysUserService implements ISysUserService {
private RefUserPositionRepository refUserPositionRDao;
@Override
public SessionUser queryUserLogin(String loginName, String password, String languageCode) {
public SessionUser queryUserLogin(String loginName, String password, String languageCode) throws AuthenticationException {
LOGGER.debug("平台用户 SYS_USER loginName:{} \t password:{} \t languageCode:{}", loginName, password, languageCode);
SysUser user = getSysUserByLoginName(loginName);
if(user == null){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.LOGIN_USER_NAME_EXCEPTION.getCode())
.setErrorDetail("用户名不存在")
.setErrorSolution("请重新输入用户名")
.build();
}
AuthenticationToken token = null;
switch (user.getUserTypeId()) {
case 2:
token = new AdminToken(loginName, password, languageCode);
break;
case 3:
token = new SaAdminToken(loginName, password, languageCode);
break;
default:
token = new UserToken(loginName, password, languageCode);
break;
}
// SysUser user = this.getSysUserByLoginName(loginName);
//
// if(user == null){
// throw ImppExceptionBuilder.newInstance()
// .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
// .setErrorCode(ImppExceptionEnum.LOGIN_USER_NAME_EXCEPTION.getCode())
// .setErrorDetail("用户名不存在")
// .setErrorSolution("请重新输入用户名")
// .build();
// }
//
// AuthenticationToken token = null;
// switch (user.getUserTypeId()) {
// case 2:
// token = new AdminToken(loginName, password, languageCode);
// break;
// case 3:
// token = new SaAdminToken(loginName, password, languageCode);
// break;
// default:
// token = new UserToken(loginName, password, languageCode);
// break;
// }
// SessionUser sessionUser = AuthUtil.login(token);
UserToken token = new UserToken(loginName,password,languageCode);
System.out.println("=============" + token);
SessionUser sessionUser = AuthUtil.login(token);
SysUser user = this.getSysUserByLoginName(loginName);
packSessionUser(sessionUser, user, user.getUserTypeId(), languageCode);
AuthUtil.setSessionUser(sessionUser);
updateUserLoginLastDateTime(user.getId());
return sessionUser;
}
@ -107,7 +115,7 @@ public class SysUserService implements ISysUserService {
public void updateSysUserStatus(String id, int status, SessionUser user) {
LOGGER.debug("平台用户 SYS_USER id:{} status:{} modifyUser:{}", id, status, user.getUserName());
SysUser sysUser = sysUserRDao.getById(Long.parseLong(id));
// sysUser.setUserStatusId(status);
sysUser.setUserStatus(status);
sysUser.setModifyUser(user.getUserName());
sysUserRDao.update(sysUser);
}
@ -120,7 +128,7 @@ public class SysUserService implements ISysUserService {
List<SysUser> list = sysUserRDao.findByHqlWhere(where);
if(null != list && list.size() > 0){
for (SysUser sysUser : list) {
// sysUser.setUserStatusId(status);
sysUser.setUserStatus(status);
sysUser.setIsValid(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
ConvertBean.modelUpdate(sysUser,user);
}
@ -182,6 +190,18 @@ public class SysUserService implements ISysUserService {
}
@Override
public void updateUserLoginLastDateTime(Long userId) {
SysUser user = sysUserRDao.getById(userId);
SysUserInfo userInfo = sysUserInfoRDao.getById(user.getUserInfoId());
user.setUserLoginLastDateTime(TimeTool.getNowTime(true));
userInfo.setUserLoginLastDateTime(TimeTool.getNowTime(true));
sysUserInfoRDao.save(userInfo);
sysUserRDao.save(user);
}
@Override
public SysUser insertSysUser(SysUser sysUser)throws Exception {
LOGGER.debug("平台用户 SYS_USER SysUser:{}", sysUser);

@ -1,5 +1,5 @@
#项目端口
server.port=8081
server.port=8080
#用户登陆路径
filter.shiro.user.loginuri = /login

@ -1,5 +1,5 @@
#项目端口
server.port=8080
server.port=51010
#用户登陆路径
filter.shiro.user.loginuri = /login

@ -54,8 +54,8 @@ public class TestTaskTimeExpressionService extends TestBase {
public void testInsertTaskTimeExpression() {
TaskTimeExpression taskTimeExpression = new TaskTimeExpression();
taskTimeExpression.setName("表达式");
taskTimeExpression.setTimeExpression("0000000");
taskTimeExpression.setTimeDescription("描述");
taskTimeExpression.setExpressionContent("0000000");
taskTimeExpression.setExpressionDescription("描述");
for (int i = 0; i < 50; i++) {
taskTimeExpression.setId(null);

Loading…
Cancel
Save