Merge branch 'dev' into test

# Conflicts:
#	modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/I3CoreQueueConfig.java
yun-zuoyi
wei.peng 6 years ago
commit d1f39edac4

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

@ -68,7 +68,7 @@ public interface ISysDashboardService {
* @return
*/
@ApiOperation(value = "查询操作日志",notes = "查询平均响应耗时")
Map querySysLogSystemAvgExecuteTime(String startTime, String endTime);
Map<Object,Object> querySysLogSystemAvgExecuteTime(String startTime, String endTime);
/**
*
@ -77,5 +77,5 @@ public interface ISysDashboardService {
* @return
*/
@ApiOperation(value = "查询系统日志",notes = "查询各模块系统日志数量")
Map querySysLogSystemByLevel(String startTime, String endTime);
Map<Object,Object> querySysLogSystemByLevel(String startTime, String endTime);
}

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

@ -2,6 +2,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.SysRefExpressionTrigger;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskTimeExpression;
import io.swagger.annotations.ApiOperation;
@ -68,4 +69,11 @@ public interface ISysTaskTimeExpressionService {
*/
@ApiOperation(value = "任务表达式批量删除")
void deleteSysTaskTimeExpressionByIds(Long[] ids);
/**
*
* @return
*/
@ApiOperation(value = "根据表达式id查询表达式关联任务信息",notes = "根据表达式id查询表达式关联任务信息")
List<SysRefExpressionTrigger> findRefExpressionTriggerList(Long id);
}

@ -1,7 +1,6 @@
package cn.estsh.i3plus.core.api.iservice.busi;
import cn.estsh.i3plus.pojo.platform.bean.SessionUser;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskTimeRecording;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogTaskTime;
import io.swagger.annotations.ApiOperation;
import java.util.List;
@ -20,7 +19,7 @@ public interface ISysTaskTimeRecordingService {
* @param taskTimeRecording
*/
@ApiOperation(value = "更新任务表达式信息")
void updateSysTaskTimeRecording(SysTaskTimeRecording taskTimeRecording);
void updateSysTaskTimeRecording(SysLogTaskTime taskTimeRecording);
/**
* Key
@ -35,14 +34,14 @@ public interface ISysTaskTimeRecordingService {
* @return
*/
@ApiOperation(value = "新增任务表达式信息")
SysTaskTimeRecording insertSysTaskTimeRecording(SysTaskTimeRecording taskTimeRecording);
SysLogTaskTime insertSysTaskTimeRecording(SysLogTaskTime taskTimeRecording);
/**
*
* @return
*/
@ApiOperation(value = "查询任务表达式信息",notes = "查询所有任务表达式信息")
List<SysTaskTimeRecording> findSysTaskTimeRecordingAll();
List<SysLogTaskTime> findSysTaskTimeRecordingAll();
/**
* id
@ -50,5 +49,5 @@ public interface ISysTaskTimeRecordingService {
* @return
*/
@ApiOperation(value = "查询任务表达式信息",notes = "查询 ID 任务表达式信息")
SysTaskTimeRecording getSysTaskTimeRecordingById(Long id);
SysLogTaskTime getSysTaskTimeRecordingById(Long id);
}

@ -5,6 +5,7 @@ import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.platform.bean.SessionUser;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskTime;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskTimeExpression;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogTaskTime;
import io.swagger.annotations.ApiOperation;
import java.util.List;
@ -103,4 +104,27 @@ public interface ISysTaskTimeService {
*/
@ApiOperation(value = "立即执行")
void executeSysTaskTimeById(Long id);
/**
*
* @param name
* @param groupName
* @return
*/
@ApiOperation(value = "查询定时任务",notes = "根据定时任务名称与组名称查询")
SysTaskTime getSysTaskTimeByNameAndGroup(String name,String groupName);
/**
*
* @param sysLogTaskTime
*/
@ApiOperation(value = "添加定时任务执行日志",notes = "添加定时任务执行日志")
void logInsertSysLogTaskTime(SysLogTaskTime sysLogTaskTime);
/**
* quartz
* @param sysTaskTime
*/
@ApiOperation(value = "修改定时任务信息",notes = "修改定时任务信息不会更新quartz数据库")
void updateSysTaskTime(SysTaskTime sysTaskTime);
}

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

@ -0,0 +1,55 @@
package cn.estsh.i3plus.core.apiservice.controller;
import cn.estsh.i3plus.icloud.core.sdk.ICoreDemoCloud;
import cn.estsh.i3plus.icloud.wms.sdk.IWmsDemoCloud;
import cn.estsh.i3plus.pojo.base.bean.BaseModelBean;
import cn.estsh.i3plus.pojo.base.bean.BaseResultBean;
import cn.estsh.i3plus.pojo.base.common.Pager;
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.SysRole;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
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 io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import java.sql.SQLException;
import java.util.Map;
@RestController
@RequestMapping("/impp")
@Api(description="异常服务测试")
public class DemoExceptionController {
private static final Logger LOGGER = LoggerFactory.getLogger(DemoExceptionController.class);
@GetMapping(value="/test-exception")
@ApiOperation(value="测试异常")
public ResultBean testException(int type) throws Exception{
try{
if(type == 1){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.IMPP.getCode())
.setErrorCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode())
.setErrorDetail("手动抛出异常")
.build();
}else if(type == 2){
throw new SQLException("测试数据库异常");
}else {
return ResultBean.success("修改成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}
}catch(ImppBusiException busExcep){
LOGGER.error(busExcep.getErrorMsg() + "{}",busExcep.getErrorDetail(),busExcep);
return ResultBean.fail(busExcep);
}
}
}

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

@ -41,58 +41,32 @@ public class SysDashboardController extends CoreBaseController {
@Autowired
private ISysDashboardService sysDashboardService;
@Resource(name="imppSessionManager")
@Resource(name = "imppSessionManager")
private DefaultWebSessionManager webSessionManager;
@Resource(name="redisCore")
@Resource(name = "redisCore")
private ImppRedis redisCore;
@GetMapping("/get")
@ApiOperation(value = "获取dashboard数据")
public ResultBean getDashboardData(){
@GetMapping("/get-basic")
@ApiOperation(value = "获取基础数据", notes = "获取基础数据,用户,部门,组织等信息")
public ResultBean getBasicInfo() {
try {
Object ds = redisCore.getObject(PlatformConstWords.DASHBOARD_REDIS_KEY + new Date().getTime());
if(ds == null){
// 前10分钟的日期时间
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
String endTime = TimeTool.getNowTime(true);
cal.add(Calendar.MINUTE,-10);
String startTime = sdf.format(cal.getTime());
// 保持时间,key统一
Date nowDate = new Date();
String redisKey = PlatformConstWords.REDIS_DASHBOARD_BASIC_INFO + "_" + nowDate.getTime();
Map dashboardData = new HashMap<>();
Map<Object, Object> dashboardData = redisCore.getHashMap(redisKey);
if (dashboardData == null || dashboardData.size() == 0) {
dashboardData = new HashMap<>();
dashboardData.put("orgNum", sysDashboardService.getSysOrganizeCount());
dashboardData.put("deptNum",sysDashboardService.getSysDepartmentCount());
dashboardData.put("onlineUser",webSessionManager.getSessionDAO().getActiveSessions().size());
dashboardData.put("logOperate",sysDashboardService.findNewSysLogOperateSize(10));
dashboardData.put("logException",sysDashboardService.findNewSysLogExceptionSize(10));
dashboardData.put("avgExecuteTime",sysDashboardService.querySysLogSystemAvgExecuteTime(startTime,endTime));
dashboardData.put("levelLogNum",sysDashboardService.querySysLogSystemByLevel(startTime,endTime));
dashboardData.put("userLoginLog",sysDashboardService.findSysUserLoginLog(10));
//获取上一分钟
sdf = new SimpleDateFormat("yyyyMMddHHmm");
cal.setTime(new Date());
cal.add(Calendar.MINUTE,-1);
dashboardData.put("serverPressure",redisCore.getHashMap(CommonConstWords.REDIS_DASHBOARD_MINUTE_SOURCE + "_" + sdf.format(cal.getTime())));
//获取上一秒
sdf = new SimpleDateFormat("yyyyMMddHHmmss");
cal.setTime(new Date());
cal.add(Calendar.SECOND,-1);
dashboardData.put("serverPressure",redisCore.getHashMap(CommonConstWords.REDIS_DASHBOARD_SECOND_PRESSURE + "_" + sdf.format(cal.getTime())));
redisCore.putObject(PlatformConstWords.DASHBOARD_REDIS_KEY + new Date().getTime(),
SerializeTool.serialization(dashboardData),60);
return ResultBean.success("添加成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
.setResultMap(dashboardData);
}else{
return ResultBean.success("添加成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
.setResultMap((Map<Object, Object>) SerializeTool.deserialization(ds.toString()));
dashboardData.put("deptNum", sysDashboardService.getSysDepartmentCount());
dashboardData.put("onlineUser", webSessionManager.getSessionDAO().getActiveSessions().size());
dashboardData.put("userLoginLog", sysDashboardService.findSysUserLoginLog(10));
redisCore.putHashMap(redisKey, dashboardData, 180);
}
return ResultBean.success("查询成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultMap(dashboardData);
} catch (
ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
@ -101,4 +75,115 @@ public class SysDashboardController extends CoreBaseController {
}
}
@GetMapping(value = "/get-log")
@ApiOperation(value = "查询日志", notes = "最近操作,异常日志")
public ResultBean getLogInfo() {
try {
// 保持时间,key统一
Date nowDate = new Date();
String redisKey = PlatformConstWords.REDIS_DASHBOARD_AVG_RESP_TIME + "_" + nowDate.getTime();
Map<Object, Object> dashboardData = redisCore.getHashMap(redisKey);
if (dashboardData == null || dashboardData.size() == 0) {
dashboardData = new HashMap<>();
dashboardData.put("logOperate", sysDashboardService.findNewSysLogOperateSize(10));
dashboardData.put("logException", sysDashboardService.findNewSysLogExceptionSize(10));
redisCore.putHashMap(redisKey, dashboardData, 180);
}
return ResultBean.success("查询成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
.setResultMap(dashboardData);
} catch (
ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@GetMapping(value = "/get-avg-response-time")
@ApiOperation(value = "获取平均响应时间", notes = "获取平均响应时间")
public ResultBean getAvgResponseTime() {
try {
// 保持时间,key统一
Date nowDate = new Date();
String redisKey = PlatformConstWords.REDIS_DASHBOARD_AVG_RESP_TIME + "_" + nowDate.getTime();
Map<Object, Object> dashboardData = redisCore.getHashMap(redisKey);
if (dashboardData == null || dashboardData.size() == 0) {
// 获取前5分钟时间
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
dashboardData = sysDashboardService.querySysLogSystemAvgExecuteTime(
sdf.format(TimeTool.timeCalc(nowDate, Calendar.MINUTE, -5)),sdf.format(nowDate));
redisCore.putHashMap(redisKey, dashboardData, 180);
}
return ResultBean.success("查询成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
.setResultMap(dashboardData);
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
}
}
@GetMapping(value = "/get-level-log-num")
@ApiOperation(value = "获取各等级日志数量", notes = "获取各等级日志数量")
public ResultBean getLevelLogNum() {
try {
// 保持时间,key统一
Date nowDate = new Date();
String redisKey = PlatformConstWords.REDIS_DASHBOARD_LOG_NUM + "_" + nowDate.getTime();
Map<Object, Object> dashboardData = redisCore.getHashMap(redisKey);
if (dashboardData == null || dashboardData.size() == 0) {
// 获取前10分钟时间日志数量
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
dashboardData = sysDashboardService.querySysLogSystemByLevel(
sdf.format(TimeTool.timeCalc(new Date(), Calendar.MINUTE, -10)), sdf.format(nowDate));
redisCore.putHashMap(redisKey, dashboardData, 180);
}
return ResultBean.success("查询成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
.setResultMap(dashboardData);
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@GetMapping(value = "/get-server-pressure")
public ResultBean getServerPressure() {
try {
// 保持时间,key统一
Date nowDate = new Date();
String redisKey = PlatformConstWords.REDIS_DASHBOARD_SERVER_PRESSURE + "_" + nowDate.getTime();
Map<Object, Object> dashboardData = redisCore.getHashMap(redisKey);
if (dashboardData == null || dashboardData.size() == 0) {
dashboardData = new HashMap<>();
//获取上一分钟,请求来源数据
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmm");
dashboardData.put("requestSource", redisCore.getHashMap(
CommonConstWords.REDIS_DASHBOARD_MINUTE_SOURCE + "_" + sdf.format(TimeTool.timeCalc(nowDate, Calendar.MINUTE, -1))));
//获取上一秒,服务器压力数据
sdf = new SimpleDateFormat("yyyyMMddHHmmss");
dashboardData.put("serverPressure", redisCore.getObject(
CommonConstWords.REDIS_DASHBOARD_SECOND_PRESSURE + "_" + sdf.format(TimeTool.timeCalc(nowDate, Calendar.SECOND, -1))));
redisCore.putHashMap(redisKey, dashboardData, 180);
}
return ResultBean.success("查询成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
.setResultMap(dashboardData);
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -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);

@ -107,7 +107,7 @@ public class SysDictionaryController extends CoreBaseController{
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
.setErrorDetail("字典不存在")
.setErrorSolution("请重新输入字典id")
.setErrorSolution("请重新选择")
.build();
}

@ -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);

@ -290,4 +290,32 @@ public class SysMessageController extends CoreBaseController {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@PostMapping(value = "/user-message/insert")
@ApiOperation(value = "用户新增消息",notes = "用户新增消息")
public ResultBean insertUserMessage(SysMessage sysMessage){
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 条件校验
ValidatorBean.beginValid(sysMessage)
.notNull("messageTitle",sysMessage.getMessageTitle())
.notNull("messageContent",sysMessage.getMessageContent())
.notNull("messageReceiversId",sysMessage.getMessageReceiversId());
// 设置发件人名称
sysMessage.setMessageType(ImppEnumUtil.MESSAGE_TYPE.LETTER.getValue());
sysMessage.setMessageSenderId(getSessionUser().getUserId());
sysMessage.setMessageSenderNameRdd(getSessionUser().getUserName());
sysMessage.setMessageSendTime(sdf.format(new Date()));
sysMessage.setMessageContentType(ImppEnumUtil.MESSAGE_TYPE_CONTENT.HTML.getValue());
sysMessageService.doSendSysMessage(sysMessage);
return ResultBean.success("添加成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -141,21 +141,6 @@ public class SysOrderNoRuleController extends CoreBaseController {
}
}
@GetMapping(value = "/get-order-no/{code}")
@ApiOperation(value = "根据单号规则代码,获取单号")
public ResultBean getOrderNo(@PathVariable("code") String code){
try {
ValidatorBean.checkNotNull(code,"code不能为空");
SysOrderNoRule sysOrderNoRule = sysOrderNoRuleService.getSysOrderNoRuleCode(code);
return ResultBean.success("查询成功").setResultObject(sysOrderNoRule).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@GetMapping(value = "/query")
@ApiOperation(value = "单号规则复杂查询,分页,排序")
public ResultBean querySysOrderNoRuleByPager(SysOrderNoRule sysOrderNoRule, Pager pager){
@ -356,4 +341,20 @@ public class SysOrderNoRuleController extends CoreBaseController {
.checkNotZero("serialNoLength",sysOrderNoRule.getSerialNoLength())
.checkNotZero("isCycle",sysOrderNoRule.getIsCycle());
}
@GetMapping(value = "/get-order-no/{code}")
@ApiOperation(value = "根据单号规则代码,生成单号")
public ResultBean getOrderNo(@PathVariable("code") String code){
try {
ValidatorBean.checkNotNull(code,"code不能为空");
SysOrderNoRule sysOrderNoRule = sysOrderNoRuleService.getSysOrderNoRuleCode(code);
return ResultBean.success("查询成功").setResultObject(sysOrderNoRule).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -1,12 +1,15 @@
package cn.estsh.i3plus.core.apiservice.controller.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskTimeExpressionService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskTimeService;
import cn.estsh.i3plus.platform.common.tool.StringTool;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysRefExpressionTrigger;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskTime;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskTimeExpression;
import cn.estsh.impp.framework.base.controller.CoreBaseController;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
@ -40,6 +43,9 @@ public class SysTaskTimeExpressionController extends CoreBaseController{
@Autowired
private ISysTaskTimeExpressionService taskTimeExpressionService;
@Autowired
private ISysTaskTimeService sysTaskTimeService;
@PostMapping(value = "/insert")
@ApiOperation(value = "新增系统时间表达式", notes = "系统时间表达式")
public ResultBean insertSysTaskTimeExpression(SysTaskTimeExpression timeExpression) {
@ -71,6 +77,19 @@ public class SysTaskTimeExpressionController extends CoreBaseController{
taskTimeExpressionService.updateSysTaskTimeExpression(timeExpression);
// 查询关联定时任务信息,并进行修改
List<SysRefExpressionTrigger> refTrigger = taskTimeExpressionService.findRefExpressionTriggerList(timeExpression.getId());
SysTaskTime sysTaskTime;
for (SysRefExpressionTrigger item: refTrigger) {
sysTaskTime = sysTaskTimeService.getSysTaskTimeByNameAndGroup(item.getTriggerName(),item.getTriggerGroupName());
sysTaskTime.setTimeExpressionNameRdd(timeExpression.getName());
sysTaskTime.setTimeExpressionContentRdd(timeExpression.getExpressionContent());
sysTaskTime.setTaskStartDateTimeRdd(timeExpression.getExpressionStartDatetime());
sysTaskTime.setTaskEndDateTimeRdd(timeExpression.getExpressionEndDatetime());
sysTaskTimeService.updateSysTaskTime(sysTaskTime,timeExpression);
}
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
@ -81,12 +100,20 @@ public class SysTaskTimeExpressionController extends CoreBaseController{
@DeleteMapping(value = "/delete/{id}")
@ApiOperation(value = "删除系统时间表达式", notes = "删除系统时间表达式")
public ResultBean deleteSysTaskTimeExpression(@PathVariable("id") String id) {
public ResultBean deleteSysTaskTimeExpression(@PathVariable("id") String idStr) {
try {
// 数据校验
ValidatorBean.checkNotNull(id, "时间表达式id 不能为空");
ValidatorBean.checkNotNull(idStr, "时间表达式id 不能为空");
if(taskTimeExpressionService.getSysTaskTimeExpressionById(Long.parseLong(idStr)) == null){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
.setErrorDetail("时间表达式不存在")
.setErrorSolution("请重新选择")
.build();
}
taskTimeExpressionService.deleteSysTaskTimeExpressionById(Long.parseLong(id));
taskTimeExpressionService.deleteSysTaskTimeExpressionById(Long.parseLong(idStr));
return ResultBean.success().setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(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) {

@ -3,6 +3,7 @@ package cn.estsh.i3plus.core.apiservice.mq;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.amqp.core.Queue;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@ -19,9 +20,6 @@ public class I3CoreQueueConfig {
public static final String IMPP_MESSAGE_QUEUE = "IMPP_MESSAGE_QUEUE";
public static final String IMPP_MESSAGE_MAIL_QUEUE = "TEST_IMPP_MESSAGE_MAIL_QUEUE";
public static final String IMPP_MESSAGE_LETTER_QUEUE = "TEST_IMPP_MESSAGE_LETTER_QUEUE";
@Bean
public Queue getImppMessageQueue() {
LOGGER.info("【开启平台消息队列】");

@ -4,6 +4,7 @@ import cn.estsh.i3plus.core.api.iservice.busi.ISysMessageService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysUserService;
import cn.estsh.i3plus.core.apiservice.websocket.MessageWebSocket;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysMessage;
import cn.estsh.i3plus.pojo.platform.bean.SysRefUserMessage;
@ -44,7 +45,7 @@ public class MessageLetterQueueReceiver {
* @param message
* rabbitTemplate.convertAndSend(I3CoreQueueConfig.IMPP_MESSAGE_QUEUE, new SysMessage(....));
*/
@RabbitListener(queues = I3CoreQueueConfig.IMPP_MESSAGE_LETTER_QUEUE)
@RabbitListener(queues = PlatformConstWords.IMPP_MESSAGE_LETTER_QUEUE)
public void processImppMessage(SysMessage msg, Channel channel, Message message) {
try {
LOGGER.info("【MQ-IMPP_MESSAGE_LETTER_QUEUE】数据接收成功{}",msg);

@ -46,7 +46,7 @@ public class MessageMailQueueReceiver {
* @param channel
* @param message
*/
@RabbitListener(queues = I3CoreQueueConfig.IMPP_MESSAGE_MAIL_QUEUE)
@RabbitListener(queues = PlatformConstWords.IMPP_MESSAGE_MAIL_QUEUE)
public void processImppMail(SysMessage msg, Channel channel, Message message) {
try {
LOGGER.info("【MQ-IMPP_MESSAGE_MAIL_QUEUE】数据接收成功{}",msg);msg = sysMessageService.insertSysMessage(msg);

@ -0,0 +1,67 @@
package cn.estsh.i3plus.core.apiservice.mq;
import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskTimeService;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskTime;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogTaskTime;
import com.rabbitmq.client.Channel;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.io.IOException;
/**
* @Description :
* @Reference :
* @Author : yunhao
* @CreateDate : 2018-12-20 21:56
* @Modify:
**/
@Component
public class ScheduleQueueReceiver {
private static final Logger LOGGER = LoggerFactory.getLogger(ScheduleQueueReceiver.class);
@Autowired
private ISysTaskTimeService sysTaskTimeService;
/**
*
* @param logTaskTime
* @param channel
* @param message
*/
@RabbitListener(queues = PlatformConstWords.IMPP_SCHEDULE_QUEUE)
public void processSchedule(SysLogTaskTime logTaskTime, Channel channel, Message message) {
try {
LOGGER.info("【MQ-IMPP_SCHEDULE_QUEUE】数据接收成功{}",logTaskTime);
// 跟新最后执行时间 及 任务状态
SysTaskTime task = sysTaskTimeService.getSysTaskTimeByNameAndGroup(logTaskTime.getName(),logTaskTime.getGroupName());
task.setLastRunDateTime(logTaskTime.getCreateDatetime());
task.setTaskStatus(logTaskTime.getTaskStatus());
sysTaskTimeService.updateSysTaskTime(task);
// 添加定时任务日志
logTaskTime.setTimeTaskId(task.getId());
logTaskTime.setTimeExpressionNameRdd(task.getTimeExpressionNameRdd());
logTaskTime.setTimeExpressionContentRdd(task.getTimeExpressionContentRdd());
sysTaskTimeService.logInsertSysLogTaskTime(logTaskTime);
//信息已处理
channel.basicAck(message.getMessageProperties().getDeliveryTag(),false);
} catch (IOException e) {
LOGGER.error("【MQ-IMPP_MESSAGE_MAIL_QUEUE】处理出错{}",e.getMessage(),e);
//丢弃这条消息
try {
// 未成功处理,重新发送
channel.basicNack(message.getMessageProperties().getDeliveryTag(),false,true);
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
}

@ -34,11 +34,7 @@ public class DemoJob extends BaseImppScheduleJob {
}
@Autowired
private ISysTaskTimeService taskTimeService;
@Autowired
private ISysMessageService sysMessageService;
@Autowired
private ISysConfigService sysConfigService;
@Override
public void executeImppJob(JobExecutionContext context, ApplicationProperties applicationProperties) {
@ -53,9 +49,5 @@ public class DemoJob extends BaseImppScheduleJob {
sysMessage.setMessageReceiversId(PlatformConstWords.CONTACT_MAIL);
sysMessage.setMessageReceiversNameRdd(PlatformConstWords.CONTACT_MAIL);
sysMessageService.doSendSysMessage(sysMessage);
taskTimeService.doSysTaskTimeLastDateByNameAndGroupName(TimeTool.getNowTime(true),
context.getJobDetail().getKey().getName(),
context.getJobDetail().getKey().getGroup());
}
}

@ -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();
}

@ -3,6 +3,7 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysMessageService;
import cn.estsh.i3plus.core.apiservice.mq.I3CoreQueueConfig;
import cn.estsh.i3plus.platform.common.tool.StringTool;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper;
@ -123,9 +124,9 @@ public class SysMessageService implements ISysMessageService {
public void doSendSysMessage(SysMessage sysMessage) {
// 判断消息类型推送到对应的队列
if(ImppEnumUtil.MESSAGE_TYPE.MAIL.getValue() == sysMessage.getMessageType().intValue()){
rabbitTemplate.convertAndSend(I3CoreQueueConfig.IMPP_MESSAGE_MAIL_QUEUE,sysMessage);
rabbitTemplate.convertAndSend(PlatformConstWords.IMPP_MESSAGE_MAIL_QUEUE,sysMessage);
}else{
rabbitTemplate.convertAndSend(I3CoreQueueConfig.IMPP_MESSAGE_LETTER_QUEUE,sysMessage);
rabbitTemplate.convertAndSend(PlatformConstWords.IMPP_MESSAGE_LETTER_QUEUE,sysMessage);
}
}

@ -5,7 +5,9 @@ import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysRefExpressionTrigger;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskTimeExpression;
import cn.estsh.i3plus.pojo.platform.repository.SysRefExpressionTriggerRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysTaskTimeExpressionRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysTaskTimeRepository;
import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack;
@ -37,6 +39,9 @@ public class SysTaskTimeExpressionService implements ISysTaskTimeExpressionServi
@Autowired
private SysTaskTimeRepository taskTimeRDao;
@Autowired
private SysRefExpressionTriggerRepository sysRefExpressionTriggerRDao;
@Override
@ApiOperation(value = "修改数据")
public void updateSysTaskTimeExpression(SysTaskTimeExpression taskTimeExpression) {
@ -48,6 +53,16 @@ public class SysTaskTimeExpressionService implements ISysTaskTimeExpressionServi
@ApiOperation(value = "根据id删除数据")
public void deleteSysTaskTimeExpressionById(Long id) {
LOGGER.info("定时任务时间表达式 TASK_TIME_EXPRESSION :{}", id);
List refExpressionTriggerList = sysRefExpressionTriggerRDao.findByProperty("expressionId",id);
if(refExpressionTriggerList == null || refExpressionTriggerList.size() == 0){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("存在关联定时任务,无法删除")
.setErrorSolution("请重新选择")
.build();
}
taskTimeExpressionRDao.deleteById(id);
}
@ -102,4 +117,10 @@ public class SysTaskTimeExpressionService implements ISysTaskTimeExpressionServi
taskTimeExpressionRDao.deleteByIds(ids);
}
}
@Override
@ApiOperation(value = "根据表达式id查询表达式关联任务信息",notes = "根据表达式id查询表达式关联任务信息")
public List<SysRefExpressionTrigger> findRefExpressionTriggerList(Long id) {
return sysRefExpressionTriggerRDao.findByProperty("expressionId",id);
}
}

@ -1,7 +1,7 @@
package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskTimeRecordingService;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskTimeRecording;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogTaskTime;
import cn.estsh.i3plus.pojo.platform.repository.SysTaskTimeRecordingRepository;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
@ -28,7 +28,7 @@ public class SysTaskTimeRecordingService implements ISysTaskTimeRecordingService
@Override
@ApiOperation(value = "更新任务表达式信息")
public void updateSysTaskTimeRecording(SysTaskTimeRecording taskTimeRecording) {
public void updateSysTaskTimeRecording(SysLogTaskTime taskTimeRecording) {
LOGGER.info("定时任务执行记录 TASK_TIMED_RECORDING :{}", taskTimeRecording);
taskTimeRecordingRDao.update(taskTimeRecording);
}
@ -42,21 +42,21 @@ public class SysTaskTimeRecordingService implements ISysTaskTimeRecordingService
@Override
@ApiOperation(value = "新增任务表达式信息")
public SysTaskTimeRecording insertSysTaskTimeRecording(SysTaskTimeRecording taskTimeRecording) {
public SysLogTaskTime insertSysTaskTimeRecording(SysLogTaskTime taskTimeRecording) {
LOGGER.info("定时任务执行记录 TASK_TIMED_RECORDING :{}", taskTimeRecording);
return taskTimeRecordingRDao.insert(taskTimeRecording);
}
@Override
@ApiOperation(value = "查询任务表达式信息",notes = "查询所有任务表达式信息")
public List<SysTaskTimeRecording> findSysTaskTimeRecordingAll() {
public List<SysLogTaskTime> findSysTaskTimeRecordingAll() {
LOGGER.info("定时任务执行记录 TASK_TIMED_RECORDING find All");
return taskTimeRecordingRDao.findAll();
}
@Override
@ApiOperation(value = "查询任务表达式信息",notes = "查询 ID 任务表达式信息")
public SysTaskTimeRecording getSysTaskTimeRecordingById(Long id) {
public SysLogTaskTime getSysTaskTimeRecordingById(Long id) {
LOGGER.info("定时任务执行记录 TASK_TIMED_RECORDING find id:{}", id);
return taskTimeRecordingRDao.getOne(id);
}

@ -10,6 +10,8 @@ import cn.estsh.i3plus.pojo.platform.bean.SessionUser;
import cn.estsh.i3plus.pojo.platform.bean.SysRefExpressionTrigger;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskTime;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskTimeExpression;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogTaskTime;
import cn.estsh.i3plus.pojo.platform.platrepositorymongo.SysLogTaskTimeRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysRefExpressionTriggerRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysTaskTimeRepository;
import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack;
@ -48,6 +50,9 @@ public class SysTaskTimeService implements ISysTaskTimeService{
private SysRefExpressionTriggerRepository refExpressionTriggerRDao;
@Autowired
private SysLogTaskTimeRepository sysLogTaskTimeRDao;
@Autowired
private Scheduler scheduler;
@Override
@ -87,7 +92,7 @@ public class SysTaskTimeService implements ISysTaskTimeService{
.withDescription(taskTimeExpression.getExpressionDescription())
.withSchedule(schedBuilder)
.startAt(sdf.parse(taskTimeExpression.getExpressionStartDatetime()));
if(taskTimeExpression.getExpressionEndDatetime() != null){
if(taskTimeExpression.getExpressionEndDatetime() != null && !"".equals(taskTimeExpression.getExpressionEndDatetime())){
trigger = trigger.endAt(sdf.parse(taskTimeExpression.getExpressionEndDatetime()));
}
@ -305,4 +310,26 @@ public class SysTaskTimeService implements ISysTaskTimeService{
.build();
}
}
@Override
@ApiOperation(value = "查询定时任务",notes = "根据定时任务名称与组名称查询")
public SysTaskTime getSysTaskTimeByNameAndGroup(String name, String groupName) {
List<SysTaskTime> taskList = taskTimeRDao.findByProperty(new String[]{"name","groupName"},new Object[]{name,groupName});
if (taskList != null && taskList.size() != 0){
return taskList.get(0);
}
return null;
}
@Override
@ApiOperation(value = "添加定时任务执行日志",notes = "添加定时任务执行日志")
public void logInsertSysLogTaskTime(SysLogTaskTime sysLogTaskTime) {
sysLogTaskTimeRDao.insert(sysLogTaskTime);
}
@Override
@ApiOperation(value = "修改定时任务信息",notes = "修改定时任务信息不会更新quartz数据库")
public void updateSysTaskTime(SysTaskTime sysTaskTime) {
taskTimeRDao.update(sysTaskTime);
}
}

@ -106,7 +106,7 @@ public class SysToolTypeService implements ISysToolTypeService {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail(count.get(0).getToolTypeNameRdd() + " - 存在关联硬件无法删除!")
.setErrorDetail("【" + count.get(0).getToolTypeNameRdd() + " - 存在关联硬件无法删除!")
.setErrorSolution("请重新操作")
.build();
}else {

@ -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;

@ -1,15 +1,15 @@
#项目端口
server.port=8100
#本机ip
impp.server.ip=192.168.1.56
impp.server.ip=192.168.1.35
#console控制台服务zipkin追踪全路径
impp.console.ip=http://csd.estsh.com
impp.console.ip=http://192.168.1.35:8010
################ 功能配置1 ################
#若无法连接注册中心,是否需要一直检测加入
impp.cluster.fetch=true
#服务注册中心
impp.cluster.regist.center=http://regd.estsh.com/eureka/
impp.cluster.regist.center=http://192.168.1.35:8000/eureka/
#多注册中心
#impp.cluster.regist.center=http://192.168.1.20:8000/eureka/,http://192.168.1.20:8001/eureka/

@ -1,30 +1,20 @@
package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.core.apiservice.auth.realm.UserAuthRealm;
import cn.estsh.i3plus.pojo.base.shirotoken.UserToken;
import cn.estsh.i3plus.pojo.platform.bean.SessionUser;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.util.SpringContextsUtil;
import cn.estsh.impp.framework.run.ImppGo;
import com.alibaba.fastjson.JSON;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.authc.AuthenticationInfo;
import org.apache.shiro.authc.AuthenticationToken;
import org.apache.shiro.authc.SimpleAuthenticationInfo;
import org.apache.shiro.authz.AuthorizationInfo;
import org.apache.shiro.authz.SimpleAuthorizationInfo;
import org.apache.shiro.mgt.DefaultSecurityManager;
import org.apache.shiro.realm.AuthorizingRealm;
import org.apache.shiro.session.Session;
import org.apache.shiro.session.mgt.DefaultSessionContext;
import org.apache.shiro.session.mgt.SessionContext;
import org.apache.shiro.subject.PrincipalCollection;
import org.junit.After;
import org.junit.Before;
import org.junit.runner.RunWith;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.stereotype.Component;
import org.springframework.test.context.junit4.SpringRunner;
/**
@ -53,8 +43,8 @@ public class TestBase {
securityManager.start(sessionContext);
UserToken token = new UserToken("login_name", "login_pwd", "zh");
SessionUser sessionUser = AuthUtil.login(token);
AuthUtil.setSessionUser(sessionUser);
// SessionUser sessionUser = AuthUtil.login(token);
// AuthUtil.setSessionUser(sessionUser);
System.out.println("----------------->> 开始测试 <<-----------------");
}
@ -65,26 +55,26 @@ public class TestBase {
}
}
@Component
class UserAuthRealm extends AuthorizingRealm {
public UserAuthRealm() {
//添加支持的token
this.setAuthenticationTokenClass(UserToken.class);
}
@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) {
return new SimpleAuthorizationInfo();
}
@Override
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {
SessionUser user = JSON.parseObject(TestBase.JSON_SESSION_USER, SessionUser.class);
return new SimpleAuthenticationInfo(user, ((UserToken) authenticationToken).getLoginPwd(), this.getName());
}
}
//
//@Component
//class UserAuthRealm extends AuthorizingRealm {
//
// public UserAuthRealm() {
// //添加支持的token
// this.setAuthenticationTokenClass(UserToken.class);
// }
//
// @Override
// protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) {
// return new SimpleAuthorizationInfo();
// }
//
// @Override
// protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {
// SessionUser user = JSON.parseObject(TestBase.JSON_SESSION_USER, SessionUser.class);
// return new SimpleAuthenticationInfo(user, ((UserToken) authenticationToken).getLoginPwd(), this.getName());
// }
//
//}
//

@ -0,0 +1,59 @@
package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.pojo.platform.bean.SysConfig;
import cn.estsh.i3plus.pojo.platform.repository.SysConfigRepository;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
/**
* @Description :
* @Reference :
* @Author : yunhao
* @CreateDate : 2018-12-20 17:02
* @Modify:
**/
public class TestMathOper extends TestBase {
@Test
public void test(){
System.out.println("Hello World !~");
}
@Autowired
private SysConfigRepository sysConfigRDao;
String propertyName = "configType";
String groupByName = "configType";
String[] param = new String[]{"configType"};
Object[] paramValue = new Object[]{1};
@Test
public void testMax(){
SysConfig sysConfig = new SysConfig();
// max
System.out.println(sysConfigRDao.findMaxByProperties(propertyName,groupByName,param,paramValue));
System.out.println(sysConfigRDao.findMaxByProperty(propertyName,groupByName,param[0],paramValue[0]));
}
@Test
public void testMin(){
// min
System.out.println(sysConfigRDao.findMinByProperties(propertyName,groupByName,param,paramValue));
System.out.println(sysConfigRDao.findMinByProperty(propertyName,groupByName,param[0],paramValue[0]));
}
@Test
public void testSum(){
//sum
System.out.println(sysConfigRDao.findSumByProperties(propertyName,groupByName,param,paramValue));
System.out.println(sysConfigRDao.findSumByProperty(propertyName,groupByName,param[0],paramValue[0]));
}
@Test
public void testAvg(){
//avg
System.out.println(sysConfigRDao.findAvgByProperties(propertyName,groupByName,param,paramValue));
System.out.println(sysConfigRDao.findAvgByProperty(propertyName,groupByName,param[0],paramValue[0]));
}
}
Loading…
Cancel
Save