yun-zuoyi
yunhao.wang 6 years ago
commit 005c30c761

@ -31,5 +31,5 @@ public interface ISystemLoginService {
SessionUser queryCheckSaAdminLogin(SaAdminToken authenticationToken);
@ApiOperation(value = "登录密码错误",notes = "登录密码错误记录错误次数功能")
Integer doLoginPasswordError(String loginName);
Integer doLoginPasswordError(String loginName,String sessionId);
}

@ -90,6 +90,9 @@ public interface ICoreTreeService {
@ApiOperation(value = "获取组织树",notes = "根据父节点获取组织树集合")
List<SysOrganize> findSysOrganizeTreeByParentId(long parentId);
@ApiOperation(value = "获取组织子集ID集合",notes = "获取组织子集ID集合")
List<Long> findSysOrganizeChildIds(SysOrganize organize);
/**
*
* @param id

@ -78,6 +78,9 @@ public interface ISysDepartmentService {
@ApiOperation(value = "查询部门信息",notes = "查询部门信息(分页、组合)")
ListPager<SysDepartment> findSysDepartmentByPager(SysDepartment department, Pager pager);
@ApiOperation(value = "查询部门信息",notes = "查询部门信息(分页、组织ID集合、组合)")
ListPager<SysDepartment> findSysDepartmentByPager(SysDepartment department,List<Long> organizeIdList, Pager pager);
/**
*
* @return

@ -120,6 +120,9 @@ public interface ISysUserInfoService {
@ApiOperation(value = "关系查询-用户部门",notes = "查询用户部门关系")
List<SysRefUserDepartment> findRefUserDepartmentByUserId(Long userId);
@ApiOperation(value = "关系查询-用户部门",notes = "根据部门或者组织集合查询用户部门关系")
List<SysRefUserDepartment> querySysRefUserDepartment(SysUserInfo userInfo);
/**
*
* @param userId
@ -129,6 +132,15 @@ public interface ISysUserInfoService {
List<SysRefUserPosition> findSysRefUserPositionByUserId(Long userId);
/**
* (ID,ID,,)
* @param info
* @param idList ID
* @return
*/
@ApiOperation(value = "查询用户信息-",notes = "根据组织、部门、名称+工号组合查询条件查询用户信息")
List<SysUserInfo> querySysUserInfoList(SysUserInfo info, List<Long> idList);
/**
*
* @param no
* @param id

@ -95,7 +95,7 @@ public class WhiteController extends CoreBaseController {
recordSysUserLog(user.getUser().getUserInfoId(), loginName,CommonEnumUtil.USER_LOGIN_STATUS.LOGIN_SUCCESS.getValue(), request);
} catch (IncorrectCredentialsException e) {
// 密码错误
Integer num = systemLoginService.doLoginPasswordError(loginName);
Integer num = systemLoginService.doLoginPasswordError(loginName,request.getSession().getId());
num = CommonConstWords.USER_LOGIN_ERROR_MAX_NUM - num;
result = ResultBean.fail(ImppExceptionEnum.LOGIN_EXCEPTION_USER_PASSWORD);
if(num == 0){

@ -1,6 +1,8 @@
package cn.estsh.i3plus.core.apiservice.controller.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ICoreTreeService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysDepartmentService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysOrganizeService;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.tool.StringTool;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
@ -10,6 +12,7 @@ import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SessionUser;
import cn.estsh.i3plus.pojo.platform.bean.SysDepartment;
import cn.estsh.i3plus.pojo.platform.bean.SysOrganize;
import cn.estsh.impp.framework.base.controller.CoreBaseController;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
@ -40,7 +43,13 @@ public class SysDepartmentController extends CoreBaseController {
public static final Logger LOGGER = LoggerFactory.getLogger(SysDepartmentController.class);
@Autowired
public ISysDepartmentService departmentService;
private ISysDepartmentService departmentService;
@Autowired
private ICoreTreeService coreTreeService;
@Autowired
private ISysOrganizeService organizeService;
@PostMapping(value = "/insert")
@ApiOperation(value = "添加部门", notes = "返回内容添加部门")
@ -146,14 +155,11 @@ public class SysDepartmentController extends CoreBaseController {
SysDepartment department = departmentService.getSysDepartmentById(Long.parseLong(id));
if(department != null){
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(department);
}else {
return ResultBean.fail("数据不存在").setCode(ResourceEnumUtil.MESSAGE.EMPTY.getCode());
}
} catch (ImppBusiException busExcep) {
LOGGER.error(busExcep.getErrorMsg() + "{}", busExcep.getErrorDetail(), busExcep);
return ResultBean.fail(busExcep);
@ -167,10 +173,20 @@ public class SysDepartmentController extends CoreBaseController {
@ApiOperation(value = "查询部门", notes = "组合查询部门信息外加分页信息")
public ResultBean querySysDepartment(SysDepartment department, Pager pager) {
try {
ListPager departmentListPager = departmentService.findSysDepartmentByPager(department, pager);
return ResultBean.success("查询成功")
.setListPager(departmentListPager)
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
ListPager list = null;
if(department.getOrganizeId() != null){
SysOrganize organize = organizeService.getSysOrganizeById(department.getOrganizeId());
if(organize != null){
coreTreeService.findSysOrganizeChildrenTreePack(organize,0);
List<Long> childIds = coreTreeService.findSysOrganizeChildIds(organize);
list = departmentService.findSysDepartmentByPager(department,childIds, pager);
}else {
return ResultBean.fail("不存在组织信息").setCode(ResourceEnumUtil.MESSAGE.EMPTY.getCode());
}
}else{
list = departmentService.findSysDepartmentByPager(department, pager);
}
return ResultBean.success("查询成功").setListPager(list).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
LOGGER.error(busExcep.getErrorMsg() + "{}", busExcep.getErrorDetail(), busExcep);
return ResultBean.fail(busExcep);

@ -53,9 +53,14 @@ public class SysMenuController extends CoreBaseController {
//新增初始化
ConvertBean.modelInitialize(menu, getSessionUser());
menu.setNameZhShortening(StringTool.getAllFirstLetter(menu.getName()));
if(menu.getParentId() == null || menu.getParentId().intValue() == 0){
menu.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue());
}
if(menu.getMenuSort() == null){
menu.setMenuSort(0);
}
menu.setMenuStatus(CommonEnumUtil.DATA_STATUS.ENABLE.getValue());
menu = sysMenuService.insertSysMenu(menu);
@ -70,18 +75,25 @@ public class SysMenuController extends CoreBaseController {
@PutMapping(value = "/update")
@ApiOperation(value = "修改系统功能", notes = "系统功能")
public ResultBean updateSysMenu(SysMenu sysMenu) {
public ResultBean updateSysMenu(SysMenu menu) {
try {
// 数据校验
ValidatorBean.beginValid(sysMenu)
.notNull("id", sysMenu.getId())
.notNull("menuType", sysMenu.getMenuType())
.notNull("menuCode", sysMenu.getMenuCode())
.notNull("name", sysMenu.getName());
ValidatorBean.beginValid(menu)
.notNull("id", menu.getId())
.notNull("menuType", menu.getMenuType())
.notNull("menuCode", menu.getMenuCode())
.notNull("name", menu.getName());
ConvertBean.modelUpdate(sysMenu, getSessionUser());
ConvertBean.modelUpdate(menu, getSessionUser());
menu.setNameZhShortening(StringTool.getAllFirstLetter(menu.getName()));
if(menu.getParentId() == null || menu.getParentId().intValue() == 0){
menu.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue());
}
if(menu.getMenuSort() == null){
menu.setMenuSort(0);
}
sysMenuService.updateSysMenu(sysMenu);
sysMenuService.updateSysMenu(menu);
return ResultBean.success("修改成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
LOGGER.error(busExcep.getErrorMsg() + "{}", busExcep.getErrorDetail(), busExcep);

@ -1,10 +1,8 @@
package cn.estsh.i3plus.core.apiservice.controller.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysDepartmentService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysFileService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysPositionService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysUserInfoService;
import cn.estsh.i3plus.core.apiservice.serviceimpl.busi.SysOrganizeService;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.tool.StringTool;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
@ -20,7 +18,6 @@ import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum;
import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import com.alibaba.fastjson.JSON;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
@ -28,6 +25,8 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
@ -51,12 +50,6 @@ public class SysUserInfoController extends CoreBaseController{
private ISysDepartmentService departmentService;
@Autowired
private SysOrganizeService organizeService;
@Autowired
private ISysFileService sysFileService;
@Autowired
private ISysPositionService sysPositionService;
@PostMapping(value="/insert")
@ -247,6 +240,31 @@ public class SysUserInfoController extends CoreBaseController{
}
}
@GetMapping(value = "/query-ref-department")
@ApiOperation(value = "查询角色的所有角色权限关系", notes = "查询角色的所有角色权限关系")
public ResultBean queryRefDepartment(SysUserInfo userInfo) {
try {
List<Long> idList = new ArrayList<>();
List<SysRefUserDepartment> refs = sysUserInfoService.querySysRefUserDepartment(userInfo);
if(refs != null && refs.size() > 0){
for (SysRefUserDepartment ref : refs) {
idList.add(ref.getUserId());
}
}
List<SysUserInfo> result = sysUserInfoService.querySysUserInfoList(userInfo, idList);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(result);
} catch (ImppBusiException busExcep) {
LOGGER.error(busExcep.getErrorMsg() + "{}", busExcep.getErrorDetail(), busExcep);
return ResultBean.fail(busExcep);
} catch (Exception e) {
LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + "{}", e.getMessage(), e);
return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode());
}
}
@GetMapping(value = "/find-ref-position/{userId}")
@ApiOperation(value = "查询角色的所有角色权限关系", notes = "查询角色的所有角色权限关系")
public ResultBean findRefPosition(@PathVariable("userId") String userId) {

@ -97,10 +97,10 @@ public class SystemLoginService implements ISystemLoginService {
@Override
@ApiOperation(value = "登录密码错误",notes = "登录密码错误记录错误次数功能")
public Integer doLoginPasswordError(String loginName) {
public Integer doLoginPasswordError(String loginName,String sessionId) {
SysUser user = sysUserRDao.getByProperty("userLoginName",loginName);
if(user != null){
String redisKey = CommonConstWords.USER_LOGIN_ERROR + "_" + user.getId();
String redisKey = CommonConstWords.USER_LOGIN_ERROR + "_" + sessionId + "_" + user.getId();
Object redisValue = redisCore.getObject(redisKey);
Integer num = redisValue == null ? 1 : Integer.parseInt(redisValue.toString()) + 1;

@ -191,6 +191,20 @@ public class CoreTreeService implements ICoreTreeService {
}
@Override
public List<Long> findSysOrganizeChildIds(SysOrganize organize) {
List<Long> result = new ArrayList<>();
if(null != organize){
if(organize.getChildList() != null && organize.getChildList().size() > 0){
for (SysOrganize org : organize.getChildList()) {
result.addAll(findSysOrganizeChildIds(org));
}
}
result.add(organize.getId());
}
return result;
}
@Override
@ApiOperation(value = "封装组织树",notes = "封装当前组织树")
public void findSysOrganizeChildrenTreePack(SysOrganize parent, int step) {
++step;

@ -173,7 +173,6 @@ public class SysDepartmentService implements ISysDepartmentService {
@ApiOperation(value = "查询部门信息",notes = "查询部门信息(分页、组合)")
public ListPager<SysDepartment> querySysDepartment(SysDepartment department, Pager pager) {
LOGGER.info("部门 SysDepartment find department :{} page:{}", department, pager);
if (department == null) {
//不传入实体对象,查询所有
int count = departmentRDao.listCount();
@ -212,6 +211,23 @@ public class SysDepartmentService implements ISysDepartmentService {
}
@Override
public ListPager<SysDepartment> findSysDepartmentByPager(SysDepartment department, List<Long> organizeIdList, Pager pager) {
LOGGER.info("部门信息 DEPARTMENT department :{} organizeIdList:{}", department,organizeIdList);
if (department == null) {
pager = PagerHelper.getPager(pager, departmentRDao.listCount());
return new ListPager(departmentRDao.listPager(pager),pager);
} else {
String hqlPack = CoreHqlPack.packHqlSysDepartment(department);
hqlPack += CoreHqlPack.packHqlIds("organizeId",organizeIdList.toArray(new Long[organizeIdList.size()]));
pager = PagerHelper.getPager(pager, departmentRDao.findByHqlWhereCount(hqlPack));
return new ListPager(departmentRDao.findByHqlWherePage(hqlPack + department.orderBy(),pager),pager);
}
}
@Override
public long getSysDepartmentCount() {
return departmentRDao.listCount();
}

@ -99,6 +99,8 @@ public class SysUserInfoService implements ISysUserInfoService {
SysRefUserDepartment ref = null;
for (SysDepartment department : departmentList) {
ref = new SysRefUserDepartment();
ref.setOrganizeId(department.getOrganizeId());
ref.setOrganizeNameRdd(department.getOrganizeNameRdd());
ref.setDepartmentId(department.getId());
ref.setDepartmentNameRdd(department.getName());
ref.setUserId(userInfo.getId());
@ -249,7 +251,7 @@ public class SysUserInfoService implements ISysUserInfoService {
@Override
@ApiOperation(value = "查询用户信息",notes = "根据复杂查询条件查询用户信息(分页信息)")
public ListPager<SysUserInfo> querySysUserInfo(SysUserInfo userInfo, Pager pager) {
LOGGER.info("定时任务 TASK_TIME TaskTime:{}Pager:{}",userInfo,pager);
LOGGER.info("查询用户信息 TASK_TIME TaskTime:{}Pager:{}",userInfo,pager);
if(userInfo == null) {
pager = PagerHelper.getPager(pager, sysUserInfoRDao.listCount());
return new ListPager(sysUserInfoRDao.listPager(pager),pager);
@ -267,6 +269,25 @@ public class SysUserInfoService implements ISysUserInfoService {
}
@Override
@ApiOperation(value = "关系查询-用户部门",notes = "根据部门或者组织集合查询用户部门关系")
public List<SysRefUserDepartment> querySysRefUserDepartment(SysUserInfo userInfo) {
if(userInfo != null){
StringBuffer userIdWhere = new StringBuffer();
if(userInfo.getDepartmentIdList() != null){
HqlPack.getInPack(StringUtils.join(userInfo.getDepartmentIdList(),","),"departmentId", userIdWhere);
}
if(userInfo.getOrganizeIdList() != null){
HqlPack.getInPack( StringUtils.join(userInfo.getOrganizeIdList(),","),"organizeId",userIdWhere);
}
return refUserDepartmentRDao.findByHqlWhere(userIdWhere.toString());
}else {
return null;
}
}
@Override
@ApiOperation(value = "关系查询-用户岗位",notes = "查询用户岗位关系")
public List<SysRefUserPosition> findSysRefUserPositionByUserId(Long userId) {
return refUserPositionRDao.findByProperty("userId",userId);
@ -289,6 +310,15 @@ public class SysUserInfoService implements ISysUserInfoService {
}
@Override
@ApiOperation(value = "查询用户信息-",notes = "根据组织、部门、名称+工号组合查询条件查询用户信息")
public List<SysUserInfo> querySysUserInfoList(SysUserInfo info, List<Long> idList) {
LOGGER.info("查询用户信息 TASK_TIME SysUserInfo:{}List<Long> idList :{}",info,idList);
String hqlPack = CoreHqlPack.packHqlSysUserInfo(info,idList);
return sysUserInfoRDao.findByHqlWhere(hqlPack);
}
@Override
@ApiOperation(value = "用户唯一校验 用户工号",notes = "用户唯一校验 用户工号")
public boolean checkUserInfoByUserEmpNo(String no, long id) {
int count;

Loading…
Cancel
Save