diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysDashboardService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysDashboardService.java index da555a1..c2ad55e 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysDashboardService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysDashboardService.java @@ -68,7 +68,7 @@ public interface ISysDashboardService { * @return */ @ApiOperation(value = "查询操作日志",notes = "查询平均响应耗时") - Map querySysLogSystemAvgExecuteTime(String startTime, String endTime); + Map querySysLogSystemAvgExecuteTime(String startTime, String endTime); /** * 查询时间段内各等级日志数量 @@ -77,5 +77,5 @@ public interface ISysDashboardService { * @return */ @ApiOperation(value = "查询系统日志",notes = "查询各模块系统日志数量") - Map querySysLogSystemByLevel(String startTime, String endTime); + Map querySysLogSystemByLevel(String startTime, String endTime); } diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysTaskTimeExpressionService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysTaskTimeExpressionService.java index 7955212..4a6628d 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysTaskTimeExpressionService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysTaskTimeExpressionService.java @@ -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 findRefExpressionTriggerList(Long id); } diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysTaskTimeRecordingService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysTaskTimeRecordingService.java index b325271..773cc4e 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysTaskTimeRecordingService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysTaskTimeRecordingService.java @@ -1,13 +1,12 @@ 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; /** - * @Description : 定时任务执行记录业务接口 + * @Description : 定时任务执行记录业务接口 * @Reference : * @Author : wei.peng * @Date : 2018-10-22 16:58:44.005 @@ -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 findSysTaskTimeRecordingAll(); + List findSysTaskTimeRecordingAll(); /** * 根据id 数据 @@ -50,5 +49,5 @@ public interface ISysTaskTimeRecordingService { * @return */ @ApiOperation(value = "查询任务表达式信息",notes = "查询 ID 任务表达式信息") - SysTaskTimeRecording getSysTaskTimeRecordingById(Long id); + SysLogTaskTime getSysTaskTimeRecordingById(Long id); } diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysTaskTimeService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysTaskTimeService.java index 4f856c5..ad8ee60 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysTaskTimeService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysTaskTimeService.java @@ -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); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoExceptionController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoExceptionController.java new file mode 100644 index 0000000..fde4bbc --- /dev/null +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoExceptionController.java @@ -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); + } + } +} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDashboardController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDashboardController.java index b40db50..0d728bb 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDashboardController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDashboardController.java @@ -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 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) 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 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 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 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 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); + } + } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDictionaryController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDictionaryController.java index 29b90dc..b83b6e5 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDictionaryController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDictionaryController.java @@ -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(); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMessageController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMessageController.java index d60778a..8e9369c 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMessageController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMessageController.java @@ -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); + } + } + } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskTimeExpressionController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskTimeExpressionController.java index 20161d4..40013cd 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskTimeExpressionController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskTimeExpressionController.java @@ -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 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); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/I3CoreQueueConfig.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/I3CoreQueueConfig.java index 2fb0093..9498b4f 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/I3CoreQueueConfig.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/I3CoreQueueConfig.java @@ -20,9 +20,6 @@ public class I3CoreQueueConfig { public static final String IMPP_MESSAGE_QUEUE = "IMPP_MESSAGE_QUEUE"; - public static final String IMPP_MESSAGE_MAIL_QUEUE = "IMPP_MESSAGE_MAIL_QUEUE"; - public static final String IMPP_MESSAGE_LETTER_QUEUE = "IMPP_MESSAGE_LETTER_QUEUE"; - @Bean public Queue getImppMessageQueue() { LOGGER.info("【开启平台消息队列】"); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageLetterQueueReceiver.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageLetterQueueReceiver.java index 39472b8..81e8f1a 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageLetterQueueReceiver.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageLetterQueueReceiver.java @@ -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); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageMailQueueReceiver.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageMailQueueReceiver.java index 462acd3..277eb41 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageMailQueueReceiver.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageMailQueueReceiver.java @@ -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); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/ScheduleQueueReceiver.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/ScheduleQueueReceiver.java new file mode 100644 index 0000000..47cf33d --- /dev/null +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/ScheduleQueueReceiver.java @@ -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(); + } + } + } +} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/schedulejob/DemoJob.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/schedulejob/DemoJob.java index 17445ae..f424e1c 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/schedulejob/DemoJob.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/schedulejob/DemoJob.java @@ -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()); } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMessageService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMessageService.java index e5bc83e..a69b8e8 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMessageService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMessageService.java @@ -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); } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysTaskTimeExpressionService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysTaskTimeExpressionService.java index 69b25df..d7d7676 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysTaskTimeExpressionService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysTaskTimeExpressionService.java @@ -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 findRefExpressionTriggerList(Long id) { + return sysRefExpressionTriggerRDao.findByProperty("expressionId",id); + } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysTaskTimeRecordingService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysTaskTimeRecordingService.java index dd343e8..c5812f5 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysTaskTimeRecordingService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysTaskTimeRecordingService.java @@ -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 findSysTaskTimeRecordingAll() { + public List 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); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysTaskTimeService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysTaskTimeService.java index ba42e9f..4cd0dd8 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysTaskTimeService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysTaskTimeService.java @@ -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 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); + } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysToolTypeService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysToolTypeService.java index caae1c4..50a2cfa 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysToolTypeService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysToolTypeService.java @@ -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 { diff --git a/modules/i3plus-core-apiservice/src/main/resources/application-dev.properties b/modules/i3plus-core-apiservice/src/main/resources/application-dev.properties index ce37a0f..71ea553 100644 --- a/modules/i3plus-core-apiservice/src/main/resources/application-dev.properties +++ b/modules/i3plus-core-apiservice/src/main/resources/application-dev.properties @@ -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/ diff --git a/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestBase.java b/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestBase.java index 3cc2fad..d806e8f 100644 --- a/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestBase.java +++ b/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestBase.java @@ -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()); +// } +// +//} +// diff --git a/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestMathOper.java b/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestMathOper.java new file mode 100644 index 0000000..2d7a837 --- /dev/null +++ b/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestMathOper.java @@ -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])); + } + +}