Merge remote-tracking branch 'remotes/origin/dev' into test

yun-zuoyi
wei.peng 5 years ago
commit 6544b76276

@ -5,7 +5,7 @@
<parent>
<artifactId>i3plus-core</artifactId>
<groupId>i3plus.core</groupId>
<version>1.0-SNAPSHOT</version>
<version>1.0-DEV-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
@ -62,6 +62,6 @@
</profile>
</profiles>
<build>
<finalName>${project.artifactId}-${profileActive}-${project.version}</finalName>
<finalName>${project.artifactId}-${project.version}</finalName>
</build>
</project>

@ -20,107 +20,33 @@ import java.util.Map;
**/
public interface ISysLogService {
/********************************************************* 系统异常日志 Start *********************************************************/
@ApiOperation(value = "系统异常日志复杂查询,分页,排序")
ListPager<SysLogException> querySysLogExceptionByPager(SysLogException sysLogException, Pager pager);
@ApiOperation(value = "删除指定日期之后的日志")
long deleteSysLogExceptionByDateTimeAfter(String dateTime);
/******************************************************* 系统异常日志 End *********************************************************/
/********************************************************* 操作日志 Start *********************************************************/
@ApiOperation(value = "添加操作日志",notes = "添加操作日志")
SysLogOperate insertSysLogOperate(SysLogOperate logOperate);
@ApiOperation(value = "根据id删除日志",notes = "根据id删除日志")
void deleteSysLogOperateById(Long id);
@ApiOperation(value = "查询全部操作日志",notes = "查询全部操作日志")
List listSysLogOperate();
@ApiOperation(value = "批量删除日志",notes = "批量删除日志")
void deleteSysLogOperateByIds(Long[] ids);
@ApiOperation(value = "根据id查询操作日志",notes = "根据id查询操作日志")
SysLogOperate getSysLogOperateById(Long id);
@ApiOperation(value = "根据操作人姓名模糊查询日志",notes = "根据操作人姓名模糊查询日志")
List<SysLogOperate> listSysLogOperateByOperateUserName(String operateUserName);
@ApiOperation(value = "查询所有日志数量")
long countAllSysLogOperate();
@ApiOperation(value = "操作日志复杂查询,分页,排序",notes = "操作日志复杂查询,分页,排序")
ListPager<SysLogOperate> querySysLogOperateByPager(SysLogOperate logOperate, Pager pager);
@ApiOperation(value = "查询最新的操作日志")
List<SysLogOperate> findNewSysLogOperate(Integer num);
@ApiOperation(value = "删除指定日期之后的日志")
long deleteSysLogOperateByDateTimeAfter(String dateTime);
@ApiOperation(value = "操作日志数量")
long countSysLogOperate();
/******************************************************* 操作日志 End *********************************************************/
/******************************************************* 系统日志 Start *********************************************************/
@ApiOperation(value = "添加系统日志",notes = "添加系统日志")
void insertSysLogSystem(SysLogSystem logSystem);
@ApiOperation(value = "造数据系统日志",notes = "造数据")
void insertSysLogBatch(int num,int waitTime);
@ApiOperation(value = "删除日志",notes = "删除日志")
long deleteSysLogSystemById(Long id);
@ApiOperation(value = "查询全部日志",notes = "查询全部日志")
List<SysLogSystem> listSysLogSystem();
@ApiOperation(value = "根据id查询系统日志",notes = "根据id查询系统日志")
SysLogSystem getSysLogSystemById(long id);
@ApiOperation(value = "系统日志分页复杂查询",notes = "系统日志分页复杂查询")
ListPager querySysLogSystemByPager(SysLogSystem logSystem, Pager pager);
@ApiOperation(value = "系统日志批量删除",notes = "系统日志批量删除")
long deleteSysLogSystemByIds(Long[] ids);
@ApiOperation(value = "系统日志按id区间查询",notes = "系统日志按id区间查询")
List<SysLogSystem> findSysLogSystemByIdInterval(long min, long max);
@ApiOperation(value = "删除指定日期之后的日志",notes = "系统日志按id区间查询")
long deleteSysLogSystemByDateTimeAfter(String dateTime);
/******************************************************* 系统日志 End *********************************************************/
/******************************************************* 定时任务日志 Start *********************************************************/
@ApiOperation(value = "添加定时任务日志",notes = "添加定时任务日志")
void insertSysLogTaskTime(SysLogTaskTime sysLogTaskTime);
@ApiOperation(value = "删除定时任务日志",notes = "删除定时任务日志")
void deleteSysLogTaskTimeById(Long id);
@ApiOperation(value = "根据id查询定时任务日志",notes = "根据id查询定时任务日志")
SysLogTaskTime getSysLogTaskTimeById(Long id);
@ApiOperation(value = "定时任务日志分页复杂查询",notes = "定时任务日志分页复杂查询")
ListPager querySysLogTaskTimeByPager(SysLogTaskTime sysLogTaskTime, Pager pager);
@ApiOperation(value = "删除指定日期之后的日志",notes = "删除指定日期之后的日志")
long deleteSysLogTaskTimeByDateTimeAfter(String dateTime);
/******************************************************* 定时任务日志 End *********************************************************/
/********************************************************* 操作日志 Start *********************************************************/
ListPager<SysLogException> queryLogExceptionPager(SysLogException log, Pager pager);
List<SysLogException> findLogExceptionList(SysLogException log, Pager pager);
List<SysLogException> findLogExceptionList(SysLogException log);
SysLogException insertLogException(SysLogException log);
SysLogException getLogException(SysLogException log);
void deleteLogException(SysLogException log);
ListPager<SysLogOperate> queryLogOperatePager(SysLogOperate log, Pager pager);
List<SysLogOperate> findLogOperateList(SysLogOperate log, Pager pager);
List<SysLogOperate> findLogOperateList(SysLogOperate log);
SysLogOperate insertLogOperate(SysLogOperate log);
SysLogOperate getLogOperate(SysLogOperate log);
void deleteLogOperate(SysLogOperate log);
ListPager<SysLogSystem> queryLogSystemPager(SysLogSystem log, Pager pager);
List<SysLogSystem> findLogSystemList(SysLogSystem log, Pager pager);
List<SysLogSystem> findLogSystemList(SysLogSystem log);
SysLogSystem insertLogSystem(SysLogSystem log);
SysLogSystem getLogSystem(SysLogSystem log);
void deleteLogSystem(SysLogSystem log);
ListPager<SysLogTaskTime> queryLogTaskTimePager(SysLogTaskTime log, Pager pager);
List<SysLogTaskTime> findLogTaskTimeList(SysLogTaskTime log, Pager pager);
List<SysLogTaskTime> findLogTaskTimeList(SysLogTaskTime log);
SysLogTaskTime insertLogTaskTime(SysLogTaskTime log);
SysLogTaskTime getLogTaskTime(SysLogTaskTime log);
void deleteLogTaskTime(SysLogTaskTime log);
@ApiOperation(value = "查询时间段内平均请求耗时",notes = "查询时间段内平均请求耗时")
Map<String, Object> querySysLogSystemAvgExecuteTime(String startTime, String endTime);
@ -128,6 +54,5 @@ public interface ISysLogService {
@ApiOperation(value = "查询时间段内各等级日志数量",notes = "查询时间段内各等级日志数量")
Map<String, Object> querySysLogSystemByLevel(String startTime, String endTime);
/******************************************************* 系统异常日志 End *********************************************************/
}

@ -0,0 +1,28 @@
package cn.estsh.i3plus.core.api.iservice.busi;
/**
* @Description :
*
* @Reference :
* @Author : wei.peng
* @CreateDate : 20-3-23 5:12
* @Modify:
**/
public interface ILicenseClickService {
/**
*
*/
void checkLicenseNumberUser();
/**
*
*/
void checkLicenseNumberOrganize();
/**
*
*/
void checkLicenseNumberLogin();
}

@ -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.platform.bean.SysUser;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogException;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogOperate;
import io.swagger.annotations.ApiOperation;
@ -18,20 +19,6 @@ import java.util.Map;
public interface ISysDashboardService {
/**
*
* @return
*/
@ApiOperation(value = "查询组织个数")
long getSysOrganizeCount();
/**
*
* @return
*/
@ApiOperation(value = "获取部门数量")
long getSysDepartmentCount();
/**
*
* @return
*/
@ -40,28 +27,17 @@ public interface ISysDashboardService {
/**
*
* @param size
* @return
*/
@ApiOperation(value = "查询操作日志",notes = "查询最近操作日志")
ListPager<SysLogOperate> findNewSysLogOperateSize(Integer size);
List<SysLogOperate> findNewSysLogOperateSize();
/**
*
* @param size
* @return
*/
@ApiOperation(value = "查询异常日志",notes = "查询最近异常日志")
ListPager<SysLogOperate> findNewSysLogExceptionSize(Integer size);
/**
*
* @param startTime
* @param endTime
* @return
*/
@ApiOperation(value = "查询系统日志",notes = "查询系统日志各级别占比")
Map findSysLogSystempByLevel(String startTime,String endTime);
List<SysLogException> findNewSysLogExceptionSize();
/**
*

@ -26,7 +26,7 @@ public interface ISysLocaleLanguageService {
void deleteSysLocaleLanguageById(Long id);
@ApiOperation(value = "查询全部系统语言",notes = "查询全部系统语言")
List listSysLocaleLanguage();
List<SysLocaleLanguage> listSysLocaleLanguage();
@ApiOperation(value = "系统语言复杂查询,分页,排序",notes = "系统语言复杂查询,分页,排序")
ListPager querySysLocaleLanguageByPager(SysLocaleLanguage sysLocaleLanguage, Pager pager);

@ -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.model.platform.MissResourceModel;
import cn.estsh.i3plus.pojo.platform.bean.SysLocaleResource;
import cn.estsh.i3plus.pojo.platform.bean.SysMenu;
import io.swagger.annotations.ApiOperation;
@ -58,4 +59,17 @@ public interface ISysLocaleResourceService {
@ApiOperation(value = "删除所有资源")
void deleteSysLocaleResourceAll();
/***************************** 缺失资源管理 ******************************/
List<MissResourceModel> listMissResourceModel();
MissResourceModel saveMissResourceModel(MissResourceModel missResourceModel);
void updateMissResourceModelIsValidByKeys(String[] keys, Integer isValid);
void doCleanInValidMissResource();
void doConversionMissResourceByKeys(String[] keys);
}

@ -5,7 +5,7 @@
<parent>
<artifactId>i3plus-core</artifactId>
<groupId>i3plus.core</groupId>
<version>1.0-SNAPSHOT</version>
<version>1.0-DEV-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
@ -194,7 +194,11 @@
<artifactId>poi-ooxml</artifactId>
</dependency>
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>7.5.1</version>
</dependency>
</dependencies>
<build>
@ -243,7 +247,7 @@
</includes>
</resource>
</resources>
<finalName>${project.artifactId}-${profileActive}-${project.version}</finalName>
<finalName>${project.artifactId}-${project.version}</finalName>
</build>
<profiles>
<profile>

@ -65,7 +65,7 @@ public class ShiroAuthConfiguration {
private CacheManager getEhCacheManage;
//平台控制会话
@Resource(name = "imppSessionManager")
@Resource(name = CommonConstWords.IMPP_BEAN_SESSION_MANAGER)
private DefaultWebSessionManager getSessionManage;
@Bean

@ -5,9 +5,12 @@ import cn.estsh.i3plus.core.api.iservice.busi.ISysOrganizeService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysUserInfoService;
import cn.estsh.i3plus.core.api.iservice.busi.ISystemResourceService;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.platform.plugin.elasticsearch.ElasticSearchTool;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.impp.framework.boot.configuration.SystemConfig;
import cn.estsh.impp.framework.boot.util.ImppRedis;
import cn.estsh.impp.framework.boot.util.ImppSwitchUtil;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@ -39,7 +42,10 @@ public class AppStartSystemInit implements CommandLineRunner {
// 限制账号数量
public static int userInfoCount = 100;
@Resource(name = "redisRes")
@Value("${" + CommonConstWords.PROP_IMPP_ELASTICSEARCH_URL + "}")
public String PROP_IMPP_ELASTICSEARCH_URL;
@Resource(name = CommonConstWords.IMPP_REDIS_RES)
private ImppRedis redisRes;
@Autowired
@ -56,8 +62,6 @@ public class AppStartSystemInit implements CommandLineRunner {
@Override
public void run(String... args) throws Exception {
// checkOrganizeCount();
// checkUserInfoCount();
LOGGER.info("【IMPP-Core开始绑定资源信息...】");
packIMPPResources();
@ -68,6 +72,10 @@ public class AppStartSystemInit implements CommandLineRunner {
LOGGER.info("【IMPP-Core 加载系统配置文件到缓存中 ...】");
systemConfig.loadSystemConfig(CommonEnumUtil.SOFT_TYPE.CORE.getCode());
LOGGER.info("【IMPP-Core 加载系统配置文件到缓存完成】");
LOGGER.info("【IMPP-Core 加载 ElasticSearch中 ...】");
initImppElasticSearch();
LOGGER.info("【IMPP-Core 加载 ElasticSearch完成】");
}
/**
@ -91,6 +99,24 @@ public class AppStartSystemInit implements CommandLineRunner {
}
/**
* Es
*/
public void initImppElasticSearch(){
try {
if(ImppSwitchUtil.isElasticSearchSwitch()){
if(StringUtils.isNotBlank(PROP_IMPP_ELASTICSEARCH_URL)){
ElasticSearchTool.init(PROP_IMPP_ELASTICSEARCH_URL);
}else {
LOGGER.info("【启动加载】启动加载 ElasticSearch 组件错误,url 参数缺失");
}
}
}catch (Exception e){
e.printStackTrace();
LOGGER.info("【启动加载】启动加载 ElasticSearch Error Message:{}",e.getMessage());
}
}
/**
*
* cn.estsh.i3plus.core.apiservice.serviceimpl.base.SystemInitService
*/

@ -0,0 +1,96 @@
package cn.estsh.i3plus.core.apiservice.controller;
import cn.estsh.i3plus.core.apiservice.schedulejob.CoreLogClearJob;
import cn.estsh.i3plus.platform.common.tool.HttpClientTool;
import cn.estsh.i3plus.platform.common.tool.SerializeTool;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.platform.plugin.elasticsearch.ElasticSearchPack;
import cn.estsh.i3plus.platform.plugin.elasticsearch.ElasticSearchTool;
import cn.estsh.i3plus.platform.plugin.license.ImppLicense;
import cn.estsh.i3plus.platform.plugin.license.ImppLicenseTool;
import cn.estsh.i3plus.platform.plugin.license.serviceimpl.SenseLockUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogOperate;
import cn.estsh.impp.framework.base.controller.CoreBaseController;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ResultBean;
import com.alibaba.fastjson.JSON;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Base64;
import java.util.HashMap;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : wei.peng
* @CreateDate : 20-3-10 1:16
* @Modify:
**/
@RestController
@Api(tags = "测试Demo ")
@RequestMapping(PlatformConstWords.BASE_URL + "/demo")
public class DemoController extends CoreBaseController {
@Autowired
private CoreLogClearJob coreLogClearJob;
@GetMapping(value = "/query")
@ApiOperation(value = "添加操作日志", notes = "添加操作日志,可用于国际化")
public ResultBean insertLogOperate() {
try {
// org.elasticsearch.common.xcontent.DeprecationHandler handler;
ElasticSearchTool.init("http://192.168.3.40:9200");
ElasticSearchPack pack = ElasticSearchPack.imppBuild(SysLogOperate.class);
List<SysLogOperate> list = ElasticSearchTool.searchList(pack, SysLogOperate.class);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(list);
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep).build();
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@GetMapping(value = "/license")
@ApiOperation(value = "添加操作日志", notes = "添加操作日志,可用于国际化")
public ResultBean license() {
try{
ImppLicense license = ImppLicenseTool.getLicense();
// SenseLockUtil lockUtil = SenseLockUtil.getSenseLockUtil(10086);
//// lockUtil.checkAPIKey();
// String readValue = lockUtil.getReadValue();
// System.out.println(readValue);
// ImppLicense readLicense = (ImppLicense) SerializeTool.deserializationByte(Base64.getDecoder().decode(readValue));
// System.out.println(JSON.toJSONString(readLicense));
//
// String writeValue = lockUtil.getWriteValue();
// System.out.println(writeValue);
// ImppLicense writeLicense = (ImppLicense) SerializeTool.deserializationByte(Base64.getDecoder().decode(writeValue));
// System.out.println(JSON.toJSONString(writeLicense));
//
// String publicValue = lockUtil.getPublicValue();
// System.out.println(publicValue);
// ImppLicense publicLicense = (ImppLicense) SerializeTool.deserializationByte(Base64.getDecoder().decode(publicValue));
// System.out.println(JSON.toJSONString(publicLicense));
// System.out.println("Hello World ~!");
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(license);
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep).build();
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -1,135 +0,0 @@
package cn.estsh.i3plus.core.apiservice.controller;
import cn.estsh.i3plus.core.api.iservice.base.ISysLogService;
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.platbean.SysLogException;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogSystem;
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 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.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.sql.SQLException;
@RestController
@RequestMapping("/impp")
@Api(tags="异常服务测试")
public class DemoExceptionController {
private static final Logger LOGGER = LoggerFactory.getLogger(DemoExceptionController.class);
@Autowired
private ISysLogService logService;
/**
*
* @param type
* @return
* @throws Exception
*/
@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);
}
}
/**
*
* @param sysLogException
* @param pager
* @return
*/
@GetMapping(value = "/query")
@ApiOperation(value = "异常日志复杂查询,分页,排序",notes = "异常日志复杂查询,分页,排序")
public ResultBean querySysLogExceptionByPager(SysLogException sysLogException, Pager pager){
try {
System.out.println("1===============");
ListPager logExceptionList = logService.querySysLogExceptionByPager(sysLogException, pager);
System.out.println(logExceptionList.getObjectList().size());
System.out.println("===============pager:" + pager);
return ResultBean.success("查询成功").setListPager(logExceptionList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
/**
* /query-logSystem
* @param sysLog
* @param pager
* @return
*/
@GetMapping(value = "/query-logSystem")
@ApiOperation(value = "异常日志复杂查询,分页,排序",notes = "异常日志复杂查询,分页,排序")
public ResultBean querySysLogSystemByPager(SysLogSystem sysLog, Pager pager){
try {
System.out.println("2===============");
ListPager logSystemList = logService.querySysLogSystemByPager(sysLog,pager);
System.out.println(logSystemList.getObjectList().size());
System.out.println("===============pager:" + pager);
return ResultBean.success("查询成功").setListPager(logSystemList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
/**
*
* @return
*/
@GetMapping(value = "/query-logSystemtest2")
@ApiOperation(value = "异常日志复杂查询,分页,排序",notes = "异常日志复杂查询,分页,排序")
public ResultBean querySysLogSystemTest(){
try {
Pager pager = new Pager();
pager.setStartRow(0);
pager.setPageSize(10);
SysLogSystem logSystem = new SysLogSystem();
System.out.println("2===============");
ListPager logSystemList = logService.querySysLogSystemByPager(logSystem,pager);
System.out.println(logSystemList.getObjectList().size());
System.out.println("===============pager:" + pager);
return ResultBean.success("查询成功").setListPager(logSystemList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -1,134 +0,0 @@
package cn.estsh.i3plus.core.apiservice.controller;
import cn.estsh.i3plus.core.api.iservice.base.ISysLogService;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogOperate;
import cn.estsh.impp.framework.base.controller.CoreBaseController;
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 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.web.bind.annotation.*;
import java.util.List;
/**
* @Description : demo
* @Reference :
* @Author : alwaysfrin
* @CreateDate : 2018-09-26 10:34
* @Modify:
**/
@RestController
@Api(tags = "系统服务demo")
@RequestMapping(PlatformConstWords.BASE_URL + "/demo-mongo-service")
public class DemoMongoController extends CoreBaseController {
private static final Logger LOGGER = LoggerFactory.getLogger(DemoMongoController.class);
@Autowired
private ISysLogService logService;
/**
*
*
* @param logOperate
* @return
*/
@PostMapping(value = "/logoperate/insert")
@ApiOperation(value = "添加操作日志", notes = "添加操作日志,可用于国际化")
public ResultBean insertLogOperate(SysLogOperate logOperate) {
try {
logService.insertSysLogOperate(logOperate);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep).build();
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
/**
*
*
* @return
*/
@DeleteMapping(value = "/logoperate/delete/{id}")
@ApiOperation(value = "删除日志", notes = "删除日志")
public ResultBean deleteLog(@PathVariable String id) {
try {
logService.deleteSysLogOperateById(Long.parseLong(id));
return ResultBean.success("删除日志成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep).build();
} catch (Exception e) {
return ResultBean.fail(e.getMessage()).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode());
}
}
/**
*
*
* @param logOperate
* @param pager
* @return
*/
@GetMapping(value = "/logoperate/query")
@ApiOperation(value = "查询日志", notes = "查询日志")
public ResultBean queryLanguage(SysLogOperate logOperate, Pager pager) {
try {
List logList = logService.listSysLogOperate();
return ResultBean.success("操作成功").setResultList(logList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep).build();
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
/**
*
*
* @param OperateUserName
* @return
*/
@GetMapping(value = "/logoperate/operate-user-name")
@ApiOperation(value = "查询日志", notes = "查询日志")
public ResultBean queryLanguage(String OperateUserName) {
try {
List<SysLogOperate> logList = logService.listSysLogOperateByOperateUserName(OperateUserName);
long count = logService.countAllSysLogOperate();
LOGGER.info("=log size= " + count);
return ResultBean.success("操作成功").setResultList(logList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep).build();
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
/**
* @param id
* @return
*/
@GetMapping(value = "/logoperate/get/{id}")
@ApiOperation(value = "根据id查询日志", notes = "根据id查询日志")
public ResultBean getLogById(@PathVariable String id) {
try {
logService.getSysLogOperateById(Long.parseLong(id));
return ResultBean.success().setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep).build();
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -0,0 +1,236 @@
package cn.estsh.i3plus.core.apiservice.controller;
import cn.estsh.i3plus.core.api.iservice.base.ISysLogService;
import cn.estsh.i3plus.core.api.iservice.busi.*;
import cn.estsh.i3plus.core.apiservice.controller.busi.PersonnelController;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.model.platform.UserDetailModel;
import cn.estsh.i3plus.pojo.platform.bean.SysDepartment;
import cn.estsh.i3plus.pojo.platform.bean.SysPosition;
import cn.estsh.i3plus.pojo.platform.bean.SysRole;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogOperate;
import cn.estsh.impp.framework.base.controller.CoreBaseController;
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 io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.commons.lang3.RandomUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
/**
* @Description : demo
* @Reference :
* @Author : alwaysfrin
* @CreateDate : 2018-09-26 10:34
* @Modify:
**/
@RestController
@Api(tags = "系统服务demo")
@RequestMapping(PlatformConstWords.BASE_URL + "/test/user-info")
public class DemoUserInfoController extends CoreBaseController {
private static final Logger LOGGER = LoggerFactory.getLogger(DemoUserInfoController.class);
@Autowired
private IPersonnelService personnelService;
@Autowired
private ISysOrganizeService organizeService;
@Autowired
private ISysDepartmentService departmentService;
@Autowired
private ISysRoleService roleService;
@Autowired
private ISysPositionService positionService;
@Autowired
private ISysDictionaryService dictionaryService;
ExecutorService executorService = Executors.newFixedThreadPool(100);
private List<SysRole> roleList;
private List<SysDepartment> departmentList;
private List<SysPosition> positionList;
private Random roleListRandom;//默认构造方法
private Random departmentListRandom;//默认构造方法
private Random positionListRandom;//默认构造方法
private static Random random = new Random(10);
@Autowired
private PersonnelController personnelController;
/**
*
*
* @return
*/
@PostMapping(value = "/insert")
@ApiOperation(value = "添加操作日志", notes = "添加操作日志,可用于国际化")
public ResultBean insertLogOperate() {
try {
initData();
for (int i = 0; i < 350; i++) {
executorService.execute(new Runnable() {
@Override
public void run() {
for (int j = 0; j < 20000; j++) {
try {
System.out.println(Thread.currentThread().getName() + "----> Start insert " + j);
personnelController.insertUserDetailModel(getUserDetailModel());
System.out.println(Thread.currentThread().getName() + "----> End insert " + j);
}catch (Exception e){
}
}
}
});
}
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep).build();
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
public void initData() {
roleList = roleService.findSysRoleAll();
departmentList = departmentService.findSysDepartmentList();
positionList = positionService.findSysPositionAll();
roleListRandom = new Random(roleList.size() - 1);
departmentListRandom = new Random(departmentList.size() - 1);
positionListRandom = new Random(positionList.size() - 1);
}
public synchronized UserDetailModel getUserDetailModel() {
UserDetailModel model = new UserDetailModel();
model.setInfoName(RandomStringUtils.randomAlphanumeric(RandomUtils.nextInt(20, 50)));
model.setInfoEmpNo(RandomStringUtils.randomAlphanumeric(RandomUtils.nextInt(20, 50)));
model.setInfoEmployeeType(2);
model.setInfoGrade(2);
model.setInfoSex(2);
model.setInfoMarriage(2);
model.setInfoCardType(1);
model.setInfoCardNumber(RandomStringUtils.randomAlphanumeric(18));
model.setInfoSchoolEducation(1);
model.setInfoSchoolLeaveDate("2020-03-09 19:38:41");
model.setInfoRace(2);
model.setInfoJoinDate("2020-03-09 19:39:12");
model.setInfoResignationDate("2020-03-09 19:39:12");
model.setInfoPoliticalStatus(2);
model.setInfoBornDate("2020-03-09 19:39:59");
model.setUserLoginName(RandomStringUtils.randomAlphanumeric(RandomUtils.nextInt(15, 20)));
model.setUserLoginPassword("123456");
model.setUserLanguageCode("CN/zh");
model.setUserPhone(RandomStringUtils.randomAlphanumeric(11));
model.setUserEmail(RandomStringUtils.randomAlphanumeric(11) + "qq.com");
model.setInfoDepartmentId(getSysDepartment().getId().toString());
model.setInfoDepartmentIdList(getSysDepartmentList());
model.setInfoPositionId(getSysPosition().getId().toString());
model.setInfoPositionIdList(getSysPositionList());
model.setUserDepartmentId(getSysDepartment().getId().toString());
model.setUserDepartmentIdList(getSysDepartmentList());
model.setUserRoleIdList(getSysRoleList());
return model;
}
public SysRole getSysRole() {
return roleList.get(roleListRandom.nextInt(roleList.size()));
}
public List<String> getSysRoleList() {
List<String> result = new ArrayList<>();
int length = random.nextInt(5);
for (int i = 0; i < length; i++) {
result.add(roleList.get(roleListRandom.nextInt(roleList.size())).getId().toString());
}
return result;
}
public SysDepartment getSysDepartment() {
return departmentList.get(departmentListRandom.nextInt(departmentList.size()));
}
public List<String> getSysDepartmentList() {
List<String> result = new ArrayList<>();
int length = random.nextInt(5);
for (int i = 0; i < length; i++) {
result.add(departmentList.get(departmentListRandom.nextInt(departmentList.size())).getId().toString());
}
return result;
}
public SysPosition getSysPosition() {
do {
return positionList.get(positionListRandom.nextInt(positionList.size()));
} while (true);
}
public List<String> getSysPositionList() {
List<String> result = new ArrayList<>();
int length = random.nextInt(5);
for (int i = 0; i < length; i++) {
result.add(positionList.get(positionListRandom.nextInt(positionList.size())).getId().toString());
}
return result;
}
//➜ ~ df -h
//文件系统 容量 已用 可用 已用% 挂载点
//udev 12G 0 12G 0% /dev
//tmpfs 2.4G 4.2M 2.4G 1% /run
///dev/mapper/ubuntu--vg-root 457G 130G 304G 30% /
//tmpfs 12G 206M 12G 2% /dev/shm
//tmpfs 5.0M 4.0K 5.0M 1% /run/lock
//tmpfs 12G 0 12G 0% /sys/fs/cgroup
///dev/loop1 25M 25M 0 100% /snap/snapd/6434
///dev/loop2 55M 55M 0 100% /snap/core18/1668
///dev/loop3 397M 397M 0 100% /snap/redis-desktop-manager/332
///dev/loop4 92M 92M 0 100% /snap/core/8689
///dev/loop5 25M 25M 0 100% /snap/snapd/6240
///dev/loop6 398M 398M 0 100% /snap/redis-desktop-manager/335
///dev/loop11 45M 45M 0 100% /snap/gtk-common-themes/1440
///dev/loop8 45M 45M 0 100% /snap/gtk-common-themes/1353
///dev/loop9 225M 225M 0 100% /snap/wine-platform-runtime/89
///dev/loop10 74M 74M 0 100% /snap/wine-platform-3-stable/6
///dev/loop12 4.0M 4.0M 0 100% /snap/notepad-plus-plus/225
///dev/loop13 55M 55M 0 100% /snap/core18/1650
///dev/loop14 92M 92M 0 100% /snap/core/8592
///dev/nvme0n1p1 511M 6.1M 505M 2% /boot/efi
///dev/sda1 1.8T 286G 1.5T 17% /works
//tmpfs 2.4G 16K 2.4G 1% /run/user/121
//tmpfs 2.4G 80K 2.4G 1% /run/user/1001
///dev/loop15 4.0M 4.0M 0 100% /snap/notepad-plus-plus/227
///dev/loop16 225M 225M 0 100% /snap/wine-platform-runtime/94
//➜ ~
//
}

@ -3,17 +3,28 @@ package cn.estsh.i3plus.core.apiservice.controller.base;
import cn.estsh.i3plus.core.api.iservice.base.ISystemInitService;
import cn.estsh.i3plus.core.api.iservice.busi.ICoreMemTreeService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysMenuService;
import cn.estsh.i3plus.core.apiservice.serviceimpl.base.SysLogElasticSearchService;
import cn.estsh.i3plus.core.apiservice.serviceimpl.base.SysLogMongoService;
import cn.estsh.i3plus.platform.common.tool.SerializeTool;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.platform.plugin.elasticsearch.ElasticSearchTool;
import cn.estsh.i3plus.platform.plugin.license.ImppLicense;
import cn.estsh.i3plus.platform.plugin.license.ImppLicenseTool;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysMenu;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogException;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogOperate;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogSystem;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogTaskTime;
import cn.estsh.impp.framework.base.controller.CoreBaseController;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ImppRedis;
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;
@ -25,6 +36,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
/**
@ -50,6 +62,12 @@ public class BackstageController extends CoreBaseController {
@Autowired
private ICoreMemTreeService memTreeService;
@Autowired
private SysLogElasticSearchService elasticSearchService;
@Autowired
private SysLogMongoService mongoService;
@Resource(name= CommonConstWords.IMPP_REDIS_CORE)
private ImppRedis redisRes;
@ -105,4 +123,74 @@ public class BackstageController extends CoreBaseController {
}
}
@GetMapping(value = "/license")
@ApiOperation(value = "重新加载授权数据",notes = "重新加载授权数据")
public ResultBean updateLicense(ImppLicense license){
try {
ValidatorBean.beginValid(license)
.checkNotZero("licenseMaxOrganize",license.getLicenseMaxOrganize())
.checkNotZero("licenseMaxWarehouse",license.getLicenseMaxWarehouse())
.checkNotZero("licenseMaxProductionLine",license.getLicenseMaxProductionLine())
.checkNotZero("licenseMaxUser",license.getLicenseMaxUser())
.checkNotZero("licenseMaxUserSession",license.getLicenseMaxUserSession())
.notNull("licenseUpdateUserName",license.getLicenseUpdateUserName())
.notNull("licenseUpdateDateTime",license.getLicenseUpdateDateTime())
.notNull("licenseDescription",license.getLicenseDescription());
ImppLicenseTool.updateImppLicense(license);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@GetMapping(value = "/clean-log")
@ApiOperation(value = "添加操作日志", notes = "添加操作日志,可用于国际化")
public ResultBean logClean(String time) {
try{
Date thisTime = TimeTool.parseDate(time);
String startTime = TimeTool.getToday(TimeTool.getDateBefore(thisTime, 0)) + " 00:00:00";
String endTime = TimeTool.getToday(TimeTool.getDateBefore(thisTime, 0)) + " 23:59:59";
SysLogOperate operate = new SysLogOperate();
operate.setCreateDatetime(startTime);
operate.setCreateDateTimeStart(startTime);
operate.setCreateDateTimeEnd(endTime);
SysLogSystem system = new SysLogSystem();
system.setCreateDatetime(startTime);
system.setCreateDateTimeStart(startTime);
system.setCreateDateTimeEnd(endTime);
SysLogException exception = new SysLogException();
exception.setCreateDatetime(startTime);
exception.setCreateDateTimeStart(startTime);
exception.setCreateDateTimeEnd(endTime);
SysLogTaskTime taskTime = new SysLogTaskTime();
taskTime.setCreateDatetime(startTime);
taskTime.setCreateDateTimeStart(startTime);
taskTime.setCreateDateTimeEnd(endTime);
ElasticSearchTool.reload();
elasticSearchService.deleteLogOperate(operate);
elasticSearchService.deleteLogSystem(system);
elasticSearchService.deleteLogException(exception);
elasticSearchService.deleteLogTaskTime(taskTime);
mongoService.deleteLogOperate(operate);
mongoService.deleteLogSystem(system);
mongoService.deleteLogException(exception);
mongoService.deleteLogTaskTime(taskTime);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep).build();
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -88,9 +88,12 @@ public class WhiteController extends CoreBaseController {
@Autowired
private ISysConfigService configService;
@Resource(name="redisRes")
@Resource(name=CommonConstWords.IMPP_REDIS_RES)
private ImppRedis redisRes;
@Autowired
private ILicenseClickService licenseClickService;
@GetMapping(value = "/sys-locale-language/list")
@ApiOperation(value = "查询可用语言",notes = "查询可用语言")
public ResultBean listSysLocaleLanguage(){
@ -140,6 +143,7 @@ public class WhiteController extends CoreBaseController {
@RequestParam(required = false) String deviceId){
Long startTime = System.currentTimeMillis();
startMultiService();
licenseClickService.checkLicenseNumberLogin();
LOGGER.info("用户登陆 loginName:{} loginPwd:{} languageCode:{}",loginName,loginPwd,languageCode);
ResultBean result = null;
@ -514,4 +518,19 @@ public class WhiteController extends CoreBaseController {
return ResultBean.fail(e).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode());
}
}
@PostMapping(value = "/miss-resource/get")
@ApiOperation(value = "根据条件分页查询账号信息", notes = "根据条件分页查询账号信息")
public ResultBean getMissResourceByKey(String key,String soft){
try {
LocaleUtils.saveMissResource(key, AuthUtil.getSessionLanguage().toString(), CommonEnumUtil.SOFT_TYPE.descOf(soft),
CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.MISSING.getValue(),
CommonEnumUtil.MiSS_RESOURCE_SOURCE.SERVER.getValue());
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ResultBean.fail(e).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode());
}
}
}

@ -1,5 +1,6 @@
package cn.estsh.i3plus.core.apiservice.controller.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ILicenseClickService;
import cn.estsh.i3plus.core.api.iservice.busi.IPersonnelService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysFileService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysRoleService;
@ -58,6 +59,9 @@ public class PersonnelController extends CoreBaseController {
@Autowired
private ISysRoleService sysRoleService;
@Autowired
private ILicenseClickService licenseClickService;
/**
*
* @param model
@ -68,6 +72,7 @@ public class PersonnelController extends CoreBaseController {
public ResultBean insertUserDetailModel(UserDetailModel model) {
try {
startMultiService();
licenseClickService.checkLicenseNumberUser();
SysUser user = model.getSysUser();
SysUserInfo info = model.getSysUserInfo();
@ -92,19 +97,14 @@ public class PersonnelController extends CoreBaseController {
ConvertBean.modelInitialize(user, AuthUtil.getSessionUser());
SysDepartment infoDepartment = personnelService.getSysDepartmentById(Long.parseLong(model.getInfoDepartmentId()));
if (infoDepartment == null) {
ValidatorBean.checkNotNull(infoDepartment, "用户主部门不存在");
}
ValidatorBean.checkNotNull(infoDepartment, "用户主部门不存在");
SysOrganize infoOrganize = personnelService.getSysOrganizeById(infoDepartment.getOrganizeId());
ValidatorBean.checkNotNull(infoOrganize, "用户主组织不存在");
SysPosition position = personnelService.getSysPositionById(Long.parseLong(model.getInfoPositionId()));
if (infoDepartment == null) {
ValidatorBean.checkNotNull(position, "用户主岗位存在");
}
ValidatorBean.checkNotNull(position, "用户主岗位不存在");
SysDepartment userDepartment = personnelService.getSysDepartmentById(Long.parseLong(model.getUserDepartmentId()));
if (userDepartment == null) {
ValidatorBean.checkNotNull(userDepartment, "账号主部门不存在");
}
ValidatorBean.checkNotNull(userDepartment, "账号主部门不存在");
SysOrganize userOrganize = personnelService.getSysOrganizeById(userDepartment.getOrganizeId());
info.setDepartmentId(infoDepartment.getId());
@ -162,20 +162,17 @@ public class PersonnelController extends CoreBaseController {
SysUser sysUser = personnelService.getSysUserById(user.getId());
SysDepartment infoDepartment = personnelService.getSysDepartmentById(Long.parseLong(model.getInfoDepartmentId()));
if (infoDepartment == null) {
ValidatorBean.checkNotNull(infoDepartment, "用户主部门不存在");
}
ValidatorBean.checkNotNull(infoDepartment, "用户主部门不存在");
SysOrganize infoOrganize = personnelService.getSysOrganizeById(infoDepartment.getOrganizeId());
ValidatorBean.checkNotNull(infoOrganize, "用户主组织不存在");
SysPosition position = personnelService.getSysPositionById(Long.parseLong(model.getInfoPositionId()));
if (infoDepartment == null) {
ValidatorBean.checkNotNull(position, "用户主岗位存在");
}
ValidatorBean.checkNotNull(position, "用户主岗位不存在");
SysDepartment userDepartment = personnelService.getSysDepartmentById(Long.parseLong(model.getUserDepartmentId()));
if (userDepartment == null) {
ValidatorBean.checkNotNull(userDepartment, "账号主部门不存在");
}
ValidatorBean.checkNotNull(userDepartment, "账号主部门不存在");
SysOrganize userOrganize = personnelService.getSysOrganizeById(userDepartment.getOrganizeId());
ValidatorBean.checkNotNull(userOrganize, "账号主组织不存在");
userInfo.setDepartmentId(infoDepartment.getId());
userInfo.setDepartmentNameRdd(infoDepartment.getName());

@ -1,6 +1,8 @@
package cn.estsh.i3plus.core.apiservice.controller.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysDashboardService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysDepartmentService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysOrganizeService;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
@ -11,8 +13,10 @@ import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ImppRedis;
import cn.estsh.impp.framework.boot.util.ResultBean;
import com.google.common.collect.Maps;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.collections.CollectionUtils;
import org.apache.shiro.web.session.mgt.DefaultWebSessionManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -22,10 +26,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.*;
/**
* @Description : Dashboard
@ -43,14 +44,22 @@ public class SysDashboardController extends CoreBaseController {
@Autowired
private ISysDashboardService sysDashboardService;
@Resource(name = "imppSessionManager")
@Resource(name = CommonConstWords.IMPP_BEAN_SESSION_MANAGER)
private DefaultWebSessionManager webSessionManager;
@Resource(name = CommonConstWords.IMPP_REDIS_CORE)
private ImppRedis redisCore;
@Autowired
private ISysOrganizeService organizeService;
@Autowired
private ISysDepartmentService departmentService;
public static final int TIMEOUT = 60 * 60;
/**
*
* @return
@ -68,8 +77,8 @@ public class SysDashboardController extends CoreBaseController {
LOGGER.info("getBasicInforedisKey:{},dashboardData:{}",redisKey,dashboardData);
if (dashboardData == null || dashboardData.size() == 0) {
dashboardData = new HashMap<>();
dashboardData.put("orgNum", sysDashboardService.getSysOrganizeCount());
dashboardData.put("deptNum", sysDashboardService.getSysDepartmentCount());
dashboardData.put("orgNum", organizeService.getSysOrganizeCount());
dashboardData.put("deptNum", departmentService.getSysDepartmentCount());
dashboardData.put("onlineUser", webSessionManager.getSessionDAO().getActiveSessions().size());
dashboardData.put("userLoginLog", sysDashboardService.findSysUserLoginLog(10));
@ -100,8 +109,8 @@ public class SysDashboardController extends CoreBaseController {
LOGGER.info("最近操作,异常日志:{}",redisKey);
if (dashboardData == null || dashboardData.size() == 0) {
dashboardData = new HashMap<>();
dashboardData.put("logOperate", sysDashboardService.findNewSysLogOperateSize(10));
dashboardData.put("logException", sysDashboardService.findNewSysLogExceptionSize(10));
dashboardData.put("logOperate", sysDashboardService.findNewSysLogOperateSize());
dashboardData.put("logException", sysDashboardService.findNewSysLogExceptionSize());
redisCore.putHashMap(redisKey, dashboardData, TIMEOUT);
}
@ -140,6 +149,21 @@ public class SysDashboardController extends CoreBaseController {
redisCore.putHashMap(redisKey, dashboardData, TIMEOUT);
}
if(dashboardData != null && dashboardData.size() > 0){
Map<Object, Object> mapSortDesc = new TreeMap<>(new TreeMap<>(new Comparator() {
public int compare(Object o1, Object o2) {
//如果有空值直接返回0
if (o1 == null || o2 == null)
return 0;
return String.valueOf(o2).compareTo(String.valueOf(o1));
}
}));
mapSortDesc.putAll(dashboardData);
dashboardData = mapSortDesc;
}
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
.setResultMap(dashboardData);
} catch (ImppBusiException busExcep) {
@ -164,6 +188,7 @@ public class SysDashboardController extends CoreBaseController {
Map<Object, Object> dashboardData = redisCore.getHashMap(redisKey);
LOGGER.info("getLevelLogNumredisKey:{},dashboardData:{}",redisKey,dashboardData);
dashboardData = null;
if (dashboardData == null || dashboardData.size() == 0) {
// 获取前10分钟时间日志数量
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

@ -2,6 +2,7 @@ package cn.estsh.i3plus.core.apiservice.controller.busi;
import cn.estsh.i3plus.core.api.iservice.base.ISystemInitService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysFileService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysLocaleLanguageService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysLocaleResourceService;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.exception.BaseImppException;
@ -15,7 +16,9 @@ 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.model.platform.MissResourceModel;
import cn.estsh.i3plus.pojo.platform.bean.SysFile;
import cn.estsh.i3plus.pojo.platform.bean.SysLocaleLanguage;
import cn.estsh.i3plus.pojo.platform.bean.SysLocaleResource;
import cn.estsh.impp.framework.base.controller.CoreBaseController;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
@ -41,6 +44,7 @@ import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.nio.charset.StandardCharsets;
import java.util.*;
import java.util.stream.Collectors;
/**
* @Description :
@ -62,6 +66,9 @@ public class SysLocaleResourceController extends CoreBaseController {
private ISysLocaleResourceService sysLocaleResourceService;
@Autowired
private ISysLocaleLanguageService sysLocaleLanguageService;
@Autowired
private ISystemInitService systemInitService;
@Autowired
@ -505,7 +512,6 @@ public class SysLocaleResourceController extends CoreBaseController {
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
private Long getResourceKey(String resKey, String languageCode) {
@ -518,4 +524,162 @@ public class SysLocaleResourceController extends CoreBaseController {
}
return null;
}
/************************* 缺失资源管理 **********************/
@GetMapping(value = "/miss/list")
@ApiOperation(value = "缺失资源列表")
public ResultBean listMissResource(){
try {
List<MissResourceModel> missResourceModelList = sysLocaleResourceService.listMissResourceModel();
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(missResourceModelList);
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@PutMapping(value = "/miss/update")
@ApiOperation(value = "更新缺失资源信息")
public ResultBean listMissResource(MissResourceModel missResourceModel){
try {
missResourceModel = sysLocaleResourceService.saveMissResourceModel(missResourceModel);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(missResourceModel);
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@PutMapping(value = "/miss/batch-update-valid")
@ApiOperation(value = "更新缺失资源有效状态")
public ResultBean updateMissResourceIsValidByKeys(String[] keys,Integer valid){
try {
sysLocaleResourceService.updateMissResourceModelIsValidByKeys(keys, valid);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@DeleteMapping(value = "/miss/clean-invalid")
@ApiOperation(value = "更新缺失资源有效状态")
public ResultBean cleanMissResourceByInvalid(){
try {
sysLocaleResourceService.doCleanInValidMissResource();
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@PostMapping(value = "/miss/batch-conversion")
@ApiOperation(value = "批量转换缺失资源")
public ResultBean doBatchConversionMissResource(String[] keys){
try {
sysLocaleResourceService.doConversionMissResourceByKeys(keys);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@GetMapping(value = "/miss/export")
@ApiOperation(value = "导出缺失资源")
public ResultBean exportMissResource(HttpServletResponse response){
try {
List<MissResourceModel> missResourceModelList = sysLocaleResourceService.listMissResourceModel();
Map<String, String> langCodeMap = sysLocaleLanguageService.listSysLocaleLanguage()
.stream()
.collect(
Collectors.toMap(
SysLocaleLanguage::getLanguageCode,
SysLocaleLanguage::getLanguageName
)
);
List<SysLocaleResource> sysLocaleResourceList = new ArrayList<>(missResourceModelList.size());
SysLocaleResource sysLocaleResource;
for (MissResourceModel resourceModel : missResourceModelList) {
sysLocaleResource = new SysLocaleResource();
sysLocaleResource.setSoftType(resourceModel.getSoftType());
sysLocaleResource.setLanguageCode(resourceModel.getLanguageCode());
sysLocaleResource.setLanguageNameRdd(langCodeMap.get(resourceModel.getLanguageCode()));
sysLocaleResource.setResourceType(resourceModel.getResourceType());
sysLocaleResource.setResourceKey(resourceModel.getResourceKey());
sysLocaleResource.setResourceValue(resourceModel.getResourceValue());
sysLocaleResource.setIsSystem(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
sysLocaleResourceList.add(sysLocaleResource);
}
ExcelTool excelTool = new ExcelTool(entityManager, redisRes);
String fileName = "locale_" + System.currentTimeMillis() + ".xls";
File file = new File(fileName);
if (file.createNewFile()) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.IO_EXCEPTION_FILE.getCode())
.setErrorDetail("临时文件创建失败!")
.build();
}
File excle = excelTool.exportData(file, sysLocaleResourceList, SysLocaleResource.class, new String[]{
"resourceType", "languageCode", "languageNameRdd", "resourceKey", "resourceValue", "softType"
});
String userAgent = request.getHeader("User-Agent");
// 针对IE或者以IE为内核的浏览器
if (userAgent.contains("MSIE") || userAgent.contains("Trident")) {
fileName = java.net.URLEncoder.encode(fileName, "UTF-8");
} else {
// 非IE浏览器的处理
fileName = new String(fileName.getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1);
}
response.setContentType("application/force-download"); // 设置强制下载不打开
response.addHeader("Content-Disposition", "attachment;fileName=" + fileName); // 设置文件名
response.addHeader("Content-type", FileContentTypeTool.getContentType(".xls")); // 设置文件名
BufferedInputStream bis = null;
InputStream targetStream = null;
try {
targetStream = new DataInputStream(new FileInputStream(excle));
bis = new BufferedInputStream(targetStream);
OutputStream os = response.getOutputStream();
byte[] buffer = new byte[1024];
int i = bis.read(buffer);
while (i != -1) {
os.write(buffer, 0, i);
i = bis.read(buffer);
}
} finally {
if (bis != null) {
bis.close();
}
if (targetStream != null) {
targetStream.close();
}
}
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -7,6 +7,7 @@ import cn.estsh.i3plus.core.api.iservice.busi.ISysMessageService;
import cn.estsh.i3plus.platform.common.tool.ExcelTool;
import cn.estsh.i3plus.platform.common.tool.FileTool;
import cn.estsh.i3plus.platform.common.tool.ZipTool;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
@ -63,7 +64,7 @@ public class SysLogExceptionController extends CoreBaseController {
@Autowired
private EntityManager entityManager;
@Resource(name="redisRes")
@Resource(name= CommonConstWords.IMPP_REDIS_RES)
private ImppRedis redisRes;
/**
@ -76,7 +77,7 @@ public class SysLogExceptionController extends CoreBaseController {
@ApiOperation(value = "异常日志复杂查询,分页,排序",notes = "异常日志复杂查询,分页,排序")
public ResultBean querySysLogExceptionByPager(SysLogException sysLogException, Pager pager){
try {
ListPager logExceptionList = logService.querySysLogExceptionByPager(sysLogException, pager);
ListPager logExceptionList = logService.queryLogExceptionPager(sysLogException, pager);
return ResultBean.success("查询成功").setListPager(logExceptionList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
@ -145,7 +146,7 @@ public class SysLogExceptionController extends CoreBaseController {
excelDir = new File(System.getProperty("java.io.tmpdir") + File.separator + new Date().getTime());
excelDir.mkdir();
do {
listPager = logService.querySysLogExceptionByPager(sysLogException, pager);
listPager = logService.queryLogExceptionPager(sysLogException, pager);
pager = listPager.getObjectPager();
// 将excel导出至临时文件夹并上传

@ -8,6 +8,7 @@ import cn.estsh.i3plus.core.api.iservice.busi.ISysMessageService;
import cn.estsh.i3plus.platform.common.tool.ExcelTool;
import cn.estsh.i3plus.platform.common.tool.FileTool;
import cn.estsh.i3plus.platform.common.tool.ZipTool;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
@ -66,89 +67,89 @@ public class SysLogOperateController extends CoreBaseController {
@Autowired
private EntityManager entityManager;
@Resource(name="redisRes")
@Resource(name= CommonConstWords.IMPP_REDIS_RES)
private ImppRedis redisRes;
/**
*
* @param logOperate
* @return
*/
@PostMapping(value = "/insert")
@ApiOperation(value = "添加操作日志",notes = "添加操作日志")
public ResultBean insertSysLogOperateController(SysLogOperate logOperate){
try {
logService.insertSysLogOperate(logOperate);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
/**
* id
* @param id id
* @return
*/
@DeleteMapping(value = "/delete")
@ApiOperation(value = "根据id删除操作日志",notes = "根据id删除操作日志")
public ResultBean deleteSysLogOperateById(String id){
try {
// 条件验证
ValidatorBean.checkNotNull(id,"id不能为空");
logService.deleteSysLogOperateById(Long.parseLong(id));
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
/**
*
* @return
*/
@GetMapping(value = "/list")
@ApiOperation(value = "查询全部操作日志",notes = "查询全部操作日志")
public ResultBean findSysLogOperateAll(){
try {
List logOperateList = logService.listSysLogOperate();
return ResultBean.success("操作成功").setResultList(logOperateList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
/**
* id
* @param id
* @return
*/
@GetMapping(value = "/get/{id}")
@ApiOperation(value = "根据id查询操作日志",notes = "根据id查询操作日志")
public ResultBean getSysLogOperateById(@PathVariable("id") String id){
try{
SysLogOperate logOperate = logService.getSysLogOperateById(Long.parseLong(id));
if (logOperate != null) {
return ResultBean.success("操作成功")
.setResultObject(logOperate)
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}else {
return ResultBean.fail("操作日志不存在")
.setCode(ResourceEnumUtil.MESSAGE.EMPTY.getCode());
}
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
// /**
// * 添加操作日志
// * @param logOperate 操作日志
// * @return 处理结果
// */
// @PostMapping(value = "/insert")
// @ApiOperation(value = "添加操作日志",notes = "添加操作日志")
// public ResultBean insertSysLogOperateController(SysLogOperate logOperate){
// try {
// logService.insertSysLogOperate(logOperate);
// return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
// }catch(ImppBusiException busExcep){
// return ResultBean.fail(busExcep);
// }catch(Exception e){
// return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
// }
// }
//
// /**
// * 根据id删除操作日志
// * @param id 操作日志id
// * @return 处理结果
// */
// @DeleteMapping(value = "/delete")
// @ApiOperation(value = "根据id删除操作日志",notes = "根据id删除操作日志")
// public ResultBean deleteSysLogOperateById(String id){
// try {
// // 条件验证
// ValidatorBean.checkNotNull(id,"id不能为空");
//
// logService.deleteSysLogOperateById(Long.parseLong(id));
// return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
// }catch(ImppBusiException busExcep){
// return ResultBean.fail(busExcep);
// }catch(Exception e){
// return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
// }
// }
//
// /**
// * 查询全部操作日志
// * @return 处理结果
// */
// @GetMapping(value = "/list")
// @ApiOperation(value = "查询全部操作日志",notes = "查询全部操作日志")
// public ResultBean findSysLogOperateAll(){
// try {
// List logOperateList = logService.listSysLogOperate();
// return ResultBean.success("操作成功").setResultList(logOperateList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
// }catch(ImppBusiException busExcep){
// return ResultBean.fail(busExcep);
// }catch(Exception e){
// return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
// }
// }
//
// /**
// * 根据id查询操作日志
// * @param id 操作日志
// * @return 处理结果
// */
// @GetMapping(value = "/get/{id}")
// @ApiOperation(value = "根据id查询操作日志",notes = "根据id查询操作日志")
// public ResultBean getSysLogOperateById(@PathVariable("id") String id){
// try{
// SysLogOperate logOperate = logService.getSysLogOperateById(Long.parseLong(id));
// if (logOperate != null) {
// return ResultBean.success("操作成功")
// .setResultObject(logOperate)
// .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
// }else {
// return ResultBean.fail("操作日志不存在")
// .setCode(ResourceEnumUtil.MESSAGE.EMPTY.getCode());
// }
// }catch(ImppBusiException busExcep){
// return ResultBean.fail(busExcep);
// }catch(Exception e){
// return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
// }
// }
/**
*
@ -160,7 +161,7 @@ public class SysLogOperateController extends CoreBaseController {
@ApiOperation(value = "操作日志复杂查询,分页,排序",notes = "操作日志复杂查询,分页,排序")
public ResultBean querySysLogOperateByPager(SysLogOperate logOperate, Pager pager){
try {
ListPager logSystemList = logService.querySysLogOperateByPager(logOperate, pager);
ListPager logSystemList = logService.queryLogOperatePager(logOperate, pager);
return ResultBean.success("操作成功").setListPager(logSystemList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
@ -228,7 +229,7 @@ public class SysLogOperateController extends CoreBaseController {
ExcelTool excelTool = new ExcelTool(entityManager, redisCore);
do {
listPager = logService.querySysLogOperateByPager(sysLogOperate, pager);
listPager = logService.queryLogOperatePager(sysLogOperate, pager);
pager = listPager.getObjectPager();
// 将excel导出至临时文件夹并上传

@ -19,13 +19,14 @@ import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum;
import cn.estsh.impp.framework.boot.util.ImppRedis;
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.web.bind.annotation.*;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.persistence.EntityManager;
@ -33,6 +34,7 @@ import java.io.File;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
* @Description :
@ -65,79 +67,79 @@ public class SysLogSystemController extends CoreBaseController{
@Resource(name="redisRes")
private ImppRedis redisRes;
/**
*
* @param logSystem
* @return
*/
@PostMapping(value = "/insert")
@ApiOperation(value="新增系统日志",notes = "新增系统日志")
public ResultBean insertSysLogSystem(SysLogSystem logSystem) {
try {
logService.insertSysLogSystem(logSystem);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
// /**
// * 新增系统日志
// * @param logSystem 系统日志
// * @return 处理结果
// */
// @PostMapping(value = "/insert")
// @ApiOperation(value="新增系统日志",notes = "新增系统日志")
// public ResultBean insertSysLogSystem(SysLogSystem logSystem) {
// try {
// logService.insertSysLogSystem(logSystem);
// return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
// }catch(ImppBusiException busExcep){
// return ResultBean.fail(busExcep);
// }catch(Exception e){
// return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
// }
// }
/**
*
* @param id id
* @return
*/
@DeleteMapping(value = "/delete")
@ApiOperation(value = "删除系统日志",notes = "删除系统日志")
public ResultBean deleteSysLogSystemById(String id) {
try {
// 条件校验
ValidatorBean.checkNotNull(id,"id不能为空");
// /**
// * 删除系统日志
// * @param id 日志id
// * @return 处理结果
// */
// @DeleteMapping(value = "/delete")
// @ApiOperation(value = "删除系统日志",notes = "删除系统日志")
// public ResultBean deleteSysLogSystemById(String id) {
// try {
// // 条件校验
// ValidatorBean.checkNotNull(id,"id不能为空");
//
// logService.deleteSysLogSystemById(Long.parseLong(id));
// return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
// }catch(ImppBusiException busExcep){
// return ResultBean.fail(busExcep);
// }catch(Exception e){
// return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
// }
// }
//
// /**
// * 查询全部系统日志
// * @return 处理结果
// */
// @GetMapping(value = "/list")
// @ApiOperation(value = "查询全部系统日志",notes = "查询全部系统日志")
// public ResultBean findSysLogSystemAll(){
// try {
// List<SysLogSystem> logSystemList = logService.listSysLogSystem();
// return ResultBean.success("操作成功").setResultList(logSystemList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
// }catch(ImppBusiException busExcep){
// return ResultBean.fail(busExcep);
// }catch(Exception e){
// return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
// }
// }
logService.deleteSysLogSystemById(Long.parseLong(id));
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
/**
*
* @return
*/
@GetMapping(value = "/list")
@ApiOperation(value = "查询全部系统日志",notes = "查询全部系统日志")
public ResultBean findSysLogSystemAll(){
try {
List<SysLogSystem> logSystemList = logService.listSysLogSystem();
return ResultBean.success("操作成功").setResultList(logSystemList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
/**
* id
* @param id id
* @return
*/
@GetMapping(value = "/get")
@ApiOperation(value = "根据id查询系统日志",notes = "根据id查询系统日志")
public ResultBean getSysLogSystemById(String id){
try {
SysLogSystem logSystem = logService.getSysLogSystemById(Long.parseLong(id));
return ResultBean.success("操作成功").setResultObject(logSystem).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
// /**
// * 根据id查询系统日志
// * @param id 系统日志id
// * @return 处理结果
// */
// @GetMapping(value = "/get")
// @ApiOperation(value = "根据id查询系统日志",notes = "根据id查询系统日志")
// public ResultBean getSysLogSystemById(String id){
// try {
// SysLogSystem logSystem = logService.getSysLogSystemById(Long.parseLong(id));
// return ResultBean.success("操作成功").setResultObject(logSystem).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
// }catch(ImppBusiException busExcep){
// return ResultBean.fail(busExcep);
// }catch(Exception e){
// return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
// }
// }
/**
*
@ -149,7 +151,7 @@ public class SysLogSystemController extends CoreBaseController{
@ApiOperation(value = "系统日志分页复杂查询",notes = "系统日志分页复杂查询")
public ResultBean querySysLogSystemByPager(SysLogSystem logSystem, Pager pager){
try {
ListPager logSystemList = logService.querySysLogSystemByPager(logSystem, pager);
ListPager logSystemList = logService.queryLogSystemPager(logSystem, pager);
return ResultBean.success("操作成功").setListPager(logSystemList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
@ -218,7 +220,7 @@ public class SysLogSystemController extends CoreBaseController{
excelDir = new File(System.getProperty("java.io.tmpdir") + File.separator + new Date().getTime());
excelDir.mkdir();
do {
listPager = logService.querySysLogSystemByPager(sysLogSystem, pager);
listPager = logService.queryLogSystemPager(sysLogSystem, pager);
pager = listPager.getObjectPager();
// 将excel导出至临时文件夹并上传
@ -249,7 +251,9 @@ public class SysLogSystemController extends CoreBaseController{
if (zipFile != null) {
FileTool.deleteFile(zipFile.getPath());
}
FileTool.deleteFile(excelDir.getPath());
if(Objects.nonNull(excelDir)){
FileTool.deleteFile(excelDir.getPath());
}
}
}
}

@ -34,66 +34,66 @@ public class SysLogTaskTimeController extends CoreBaseController{
@Autowired
private ISysLogService logService;
/**
*
* @param sysLogTaskTime
* @return
*/
@PostMapping(value = "/insert")
@ApiOperation(value="新增定时任务日志",notes = "新增定时任务日志")
public ResultBean insertSyslogTaskTime(SysLogTaskTime sysLogTaskTime) {
try {
logService.insertSysLogTaskTime(sysLogTaskTime);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
// /**
// * 新增定时任务日志
// * @param sysLogTaskTime 定时任务日志
// * @return 处理结果
// */
// @PostMapping(value = "/insert")
// @ApiOperation(value="新增定时任务日志",notes = "新增定时任务日志")
// public ResultBean insertSyslogTaskTime(SysLogTaskTime sysLogTaskTime) {
// try {
// logService.insertSysLogTaskTime(sysLogTaskTime);
// return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
// }catch(ImppBusiException busExcep){
// return ResultBean.fail(busExcep);
// }catch(Exception e){
// return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
// }
// }
/**
*
* @param id id
* @return
*/
@DeleteMapping(value = "/delete")
@ApiOperation(value = "删除定时任务日志",notes = "删除定时任务日志")
public ResultBean deleteSysLogTaskTimeById(String id) {
try {
// 条件校验
ValidatorBean.checkNotNull(id,"id不能为空");
// /**
// * 删除定时任务
// * @param id 定时任务id
// * @return 处理结果
// */
// @DeleteMapping(value = "/delete")
// @ApiOperation(value = "删除定时任务日志",notes = "删除定时任务日志")
// public ResultBean deleteSysLogTaskTimeById(String id) {
// try {
// // 条件校验
// ValidatorBean.checkNotNull(id,"id不能为空");
//
// logService.deleteSysLogTaskTimeById(Long.parseLong(id));
// return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
// }catch(ImppBusiException busExcep){
// return ResultBean.fail(busExcep);
// }catch(Exception e){
// return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
// }
// }
logService.deleteSysLogTaskTimeById(Long.parseLong(id));
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
/**
* id
* @param id id
* @return
*/
@GetMapping(value = "/get")
@ApiOperation(value = "根据id查询定时任务日志",notes = "根据id查询定时任务日志")
public ResultBean getSysLogTaskTimeById(String id){
try {
SysLogTaskTime logTaskTime = logService.getSysLogTaskTimeById(Long.parseLong(id));
if (logTaskTime != null) {
return ResultBean.success("操作成功").setResultObject(logTaskTime).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}else {
return ResultBean.fail("日志不存在").setCode(ResourceEnumUtil.MESSAGE.EMPTY.getCode());
}
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
// /**
// * 根据id查询定时任务日志
// * @param id 定时任务id
// * @return 处理结果
// */
// @GetMapping(value = "/get")
// @ApiOperation(value = "根据id查询定时任务日志",notes = "根据id查询定时任务日志")
// public ResultBean getSysLogTaskTimeById(String id){
// try {
// SysLogTaskTime logTaskTime = logService.getSysLogTaskTimeById(Long.parseLong(id));
// if (logTaskTime != null) {
// return ResultBean.success("操作成功").setResultObject(logTaskTime).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
// }else {
// return ResultBean.fail("日志不存在").setCode(ResourceEnumUtil.MESSAGE.EMPTY.getCode());
// }
// }catch(ImppBusiException busExcep){
// return ResultBean.fail(busExcep);
// }catch(Exception e){
// return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
// }
// }
/**
*
@ -105,7 +105,7 @@ public class SysLogTaskTimeController extends CoreBaseController{
@ApiOperation(value = "定时任务日志分页复杂查询",notes = "定时任务日志分页复杂查询")
public ResultBean querySysLogSystemByPager(SysLogTaskTime sysLogTaskTime, Pager pager){
try {
ListPager logSystemList = logService.querySysLogTaskTimeByPager(sysLogTaskTime, pager);
ListPager logSystemList = logService.queryLogTaskTimePager(sysLogTaskTime, pager);
return ResultBean.success("操作成功").setListPager(logSystemList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);

@ -10,6 +10,7 @@ import cn.estsh.i3plus.platform.common.tool.ExcelTool;
import cn.estsh.i3plus.platform.common.tool.FileTool;
import cn.estsh.i3plus.platform.common.tool.StringTool;
import cn.estsh.i3plus.platform.common.tool.ZipTool;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
@ -71,7 +72,7 @@ public class SysOrderNoRuleController extends CoreBaseController {
@Autowired
private EntityManager entityManager;
@Resource(name="redisRes")
@Resource(name= CommonConstWords.IMPP_REDIS_RES)
private ImppRedis redisRes;
/**

@ -2,6 +2,7 @@ package cn.estsh.i3plus.core.apiservice.controller.busi;
import cn.estsh.i3plus.core.api.iservice.base.ISystemInitService;
import cn.estsh.i3plus.core.api.iservice.busi.ICoreMemTreeService;
import cn.estsh.i3plus.core.api.iservice.busi.ILicenseClickService;
import cn.estsh.i3plus.core.api.iservice.busi.IPersonnelService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysOrganizeService;
import cn.estsh.i3plus.icloud.wms.sdk.IWmsActionGroupCloud;
@ -14,6 +15,7 @@ import cn.estsh.i3plus.pojo.base.bean.BaseResultBean;
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.ImppEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysConfig;
import cn.estsh.i3plus.pojo.platform.bean.SysOrganize;
@ -64,6 +66,9 @@ public class SysOrganizeController extends CoreBaseController{
@Autowired
private IWmsActionGroupCloud wmsActionGroupCloud;
@Autowired
private ILicenseClickService licenseClickService;
/**
*
* @param organize
@ -86,6 +91,10 @@ public class SysOrganizeController extends CoreBaseController{
organize.setParentNameRdd("顶级组织");
}
if(organize.getOrganizeType().equals(ImppEnumUtil.ORGANIZE_YTPE.TYPE_FACTORY.getValue())){
licenseClickService.checkLicenseNumberOrganize();
}
organize = organizeService.insertSysOrganize(organize);
String resutl = "组织已创建完成";
@ -125,6 +134,10 @@ public class SysOrganizeController extends CoreBaseController{
sysOrganize.setParentNameRdd("顶级组织");
}
if(organize.getOrganizeType().equals(ImppEnumUtil.ORGANIZE_YTPE.TYPE_FACTORY.getValue())){
licenseClickService.checkLicenseNumberOrganize();
}
sysOrganize.setName(organize.getName());
sysOrganize.setOrganizeType(organize.getOrganizeType());
sysOrganize.setOrganizeAddress(organize.getOrganizeAddress());

@ -7,6 +7,7 @@ import cn.estsh.i3plus.platform.common.tool.ExcelTool;
import cn.estsh.i3plus.platform.common.tool.FileTool;
import cn.estsh.i3plus.platform.common.tool.ZipTool;
import cn.estsh.i3plus.platform.common.tool.StringTool;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
@ -51,6 +52,9 @@ public class SysUserInfoController extends CoreBaseController{
public static final Logger LOGGER = LoggerFactory.getLogger(SysUserInfoController.class);
@Autowired
private ILicenseClickService licenseClickService;
@Autowired
private ISysUserInfoService sysUserInfoService;
@Autowired
@ -77,7 +81,7 @@ public class SysUserInfoController extends CoreBaseController{
@Autowired
private IPersonnelService personnelService;
@Resource(name="redisRes")
@Resource(name= CommonConstWords.IMPP_REDIS_RES)
private ImppRedis redisRes;
/**
*
@ -89,6 +93,7 @@ public class SysUserInfoController extends CoreBaseController{
public ResultBean insertSysUserInfo(SysUserInfo userInfo){
try {
startMultiService();
licenseClickService.checkLicenseNumberUser();
//登陆用户
SessionUser user = AuthUtil.getSessionUser();
@ -100,11 +105,8 @@ public class SysUserInfoController extends CoreBaseController{
userInfo.setUserLoginNum(0);
sysUserInfoService.checkSysUserInfoOnly(userInfo);
SysUserInfo info = sysUserInfoService.insertSysUserInfo(userInfo);
sysUserInfoService.refreshRefUserOrganize(info.getId(), userInfo.getDepartment().getOrganizeId(),user.getUserName());
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(info);
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);

@ -1,18 +1,24 @@
package cn.estsh.i3plus.core.apiservice.schedulejob;
import cn.estsh.i3plus.core.api.iservice.base.ISysLogService;
import cn.estsh.i3plus.core.apiservice.serviceimpl.base.SysLogElasticSearchService;
import cn.estsh.i3plus.core.apiservice.serviceimpl.base.SysLogMongoService;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.platform.plugin.elasticsearch.ElasticSearchTool;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogException;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogOperate;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogSystem;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogTaskTime;
import cn.estsh.impp.framework.base.schedule.BaseImppScheduleJob;
import cn.estsh.impp.framework.boot.init.ApplicationProperties;
import com.alibaba.fastjson.JSONObject;
import cn.estsh.impp.framework.boot.util.RedisUtilTool;
import org.quartz.DisallowConcurrentExecution;
import org.quartz.JobExecutionContext;
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.stereotype.Component;
import java.util.Calendar;
import java.util.Date;
/**
@ -22,6 +28,7 @@ import java.util.Date;
* @CreateDate : 2019-07-04 19:13
* @Modify:
**/
@Component
@DisallowConcurrentExecution
public class CoreLogClearJob extends BaseImppScheduleJob {
@ -32,67 +39,49 @@ public class CoreLogClearJob extends BaseImppScheduleJob {
super(CoreLogClearJob.class, "日志清除");
}
@Value("${impp.logService.retention-time:-1}")
private Integer retentionTime;
@Autowired
private ISysLogService logService;
private SysLogElasticSearchService elasticSearchService;
@Autowired
private SysLogMongoService mongoService;
@Override
public void executeImppJob(JobExecutionContext context, ApplicationProperties applicationProperties) {
// 判断日志保留时间 -1 永久
if (getJobParam() == null) {
return;
}
JSONObject clearParam = JSONObject.parseObject(getJobParam());
// 计算保留日期
String dateTime = TimeTool.timeCalc(new Date(), Calendar.DAY_OF_MONTH, -retentionTime,"yyyy-MM-dd HH:mm:ss");
long count;
// 系统日志
if (clearParam.containsKey("logSystem") && clearParam.getInteger("logSystem") != -1) {
dateTime = TimeTool.timeCalc(new Date(), Calendar.DAY_OF_MONTH, -clearParam.getInteger("logSystem"),"yyyy-MM-dd HH:mm:ss");
count = logService.deleteSysLogSystemByDateTimeAfter(dateTime);
LOGGER.info("【日志清理】 清理系统日志 {} 条", count);
}
// 异常日志
if (clearParam.containsKey("logException") && clearParam.getInteger("logException") != -1) {
dateTime = TimeTool.timeCalc(new Date(), Calendar.DAY_OF_MONTH, -clearParam.getInteger("logException"),"yyyy-MM-dd HH:mm:ss");
count = logService.deleteSysLogExceptionByDateTimeAfter(dateTime);
LOGGER.info("【日志清理】 清理异常日志 {} 条", count);
}
// 操作日志
if (clearParam.containsKey("logOperate") && clearParam.getInteger("logOperate") != -1) {
dateTime = TimeTool.timeCalc(new Date(), Calendar.DAY_OF_MONTH, -clearParam.getInteger("logException"),"yyyy-MM-dd HH:mm:ss");
count = logService.deleteSysLogOperateByDateTimeAfter(dateTime);
LOGGER.info("【日志清理】 清理操作日志 {} 条", count);
}
// 任务日志
if (clearParam.containsKey("logTask") && clearParam.getInteger("logTask") != -1) {
dateTime = TimeTool.timeCalc(new Date(), Calendar.DAY_OF_MONTH, -clearParam.getInteger("logException"),"yyyy-MM-dd HH:mm:ss");
count = logService.deleteSysLogTaskTimeByDateTimeAfter(dateTime);
LOGGER.info("【日志清理】 清理定时任务日志 {} 条", count);
}
int to = RedisUtilTool.getSysConfigIntVal(CommonConstWords.LOG_STORAGE_DAYS, CommonConstWords.LOG_STORAGE_DAYS_DEFAULT);
Date thisTime = new Date();
String startTime = TimeTool.getToday(TimeTool.getDateBefore(thisTime, to)) + " 00:00:00";
String endTime = TimeTool.getToday(TimeTool.getDateBefore(thisTime, to)) + " 23:59:59";
SysLogOperate operate = new SysLogOperate();
operate.setCreateDatetime(startTime);
operate.setCreateDateTimeStart(startTime);
operate.setCreateDateTimeEnd(endTime);
SysLogSystem system = new SysLogSystem();
system.setCreateDatetime(startTime);
system.setCreateDateTimeStart(startTime);
system.setCreateDateTimeEnd(endTime);
SysLogException exception = new SysLogException();
exception.setCreateDatetime(startTime);
exception.setCreateDateTimeStart(startTime);
exception.setCreateDateTimeEnd(endTime);
SysLogTaskTime taskTime = new SysLogTaskTime();
taskTime.setCreateDatetime(startTime);
taskTime.setCreateDateTimeStart(startTime);
taskTime.setCreateDateTimeEnd(endTime);
ElasticSearchTool.reload();
elasticSearchService.deleteLogOperate(operate);
elasticSearchService.deleteLogSystem(system);
elasticSearchService.deleteLogException(exception);
elasticSearchService.deleteLogTaskTime(taskTime);
mongoService.deleteLogOperate(operate);
mongoService.deleteLogSystem(system);
mongoService.deleteLogException(exception);
mongoService.deleteLogTaskTime(taskTime);
}
public static void main(String[] args) {
JSONObject clearParam = new JSONObject();
clearParam.put("logSystem",30);
clearParam.put("logException",30);
clearParam.put("logOperate",30);
clearParam.put("logTask",30);
System.out.println(clearParam.toJSONString());
clearParam = JSONObject.parseObject("{\"logOperate\":10,\"logException\":10,\"logSystem\":10,\"logTask\":10}");
// 计算保留日期
String dateTime = TimeTool.pareDateToString("yyyy-MM-dd HH:mm:ss",
TimeTool.timeCalc(new Date(), Calendar.DAY_OF_MONTH, 1)
);
}
}

@ -1,6 +1,8 @@
package cn.estsh.i3plus.core.apiservice.schedulejob;
import cn.estsh.i3plus.core.api.iservice.busi.ISysDashboardService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysDepartmentService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysOrganizeService;
import cn.estsh.i3plus.core.apiservice.controller.busi.SysDashboardController;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
@ -14,6 +16,7 @@ import org.quartz.JobExecutionContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.Calendar;
@ -40,10 +43,17 @@ public class SysDashboardDataJob extends BaseImppScheduleJob {
@Autowired
private ISysDashboardService sysDashboardService;
@Autowired
private ISysOrganizeService organizeService;
@Autowired
private ISysDepartmentService departmentService;
@Resource(name = CommonConstWords.IMPP_REDIS_CORE)
private ImppRedis redisCore;
@Resource(name = "imppSessionManager")
@Resource(name = CommonConstWords.IMPP_BEAN_SESSION_MANAGER)
private DefaultWebSessionManager webSessionManager;
@Override
@ -53,8 +63,8 @@ public class SysDashboardDataJob extends BaseImppScheduleJob {
// 更新基础信息 获取基础数据,用户,部门,组织等信息
Map<Object, Object> dashboardData = new HashMap<>();
dashboardData.put("orgNum", sysDashboardService.getSysOrganizeCount());
dashboardData.put("deptNum", sysDashboardService.getSysDepartmentCount());
dashboardData.put("orgNum", organizeService.getSysOrganizeCount());
dashboardData.put("deptNum", departmentService.getSysDepartmentCount());
dashboardData.put("onlineUser", webSessionManager.getSessionDAO().getActiveSessions().size());
dashboardData.put("userLoginLog", sysDashboardService.findSysUserLoginLog(10));
@ -63,8 +73,8 @@ public class SysDashboardDataJob extends BaseImppScheduleJob {
// 最近操作,异常日志
dashboardData = new HashMap<>();
dashboardData.put("logOperate", sysDashboardService.findNewSysLogOperateSize(10));
dashboardData.put("logException", sysDashboardService.findNewSysLogExceptionSize(10));
dashboardData.put("logOperate", sysDashboardService.findNewSysLogOperateSize());
dashboardData.put("logException", sysDashboardService.findNewSysLogExceptionSize());
LOGGER.info("最近操作,异常日志 {}{}", PlatformConstWords.REDIS_DASHBOARD_LOG_INFO, dashboardData);
redisCore.putHashMap(PlatformConstWords.REDIS_DASHBOARD_LOG_INFO, dashboardData, SysDashboardController.TIMEOUT);

@ -1,178 +1,223 @@
package cn.estsh.i3plus.core.apiservice.serviceimpl.base;
import cn.estsh.i3plus.core.api.iservice.base.ISysLogService;
import cn.estsh.i3plus.core.apiservice.util.NoSqlPack;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.platform.plugin.elasticsearch.ElasticSearchPack;
import cn.estsh.i3plus.platform.plugin.elasticsearch.ElasticSearchTool;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogException;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogOperate;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogSystem;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogTaskTime;
import cn.estsh.impp.framework.boot.util.ImppLog;
import org.elasticsearch.search.aggregations.Aggregation;
import org.elasticsearch.search.aggregations.bucket.terms.ParsedTerms;
import org.elasticsearch.search.aggregations.bucket.terms.Terms;
import org.elasticsearch.search.aggregations.metrics.ParsedAvg;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
/**
* @Description :
* @Reference :
* @Author : wei.peng
* @CreateDate : 20-2-19 9:17
* @CreateDate : 20-2-13 4:16
* @Modify:
**/
@Service
public class SysLogElasticSearchService implements ISysLogService {
public static final Logger LOGGER = LoggerFactory.getLogger(SysLogElasticSearchService.class);
@Autowired
private ImppLog imppLog;
@Override
public ListPager<SysLogException> querySysLogExceptionByPager(SysLogException sysLogException, Pager pager) {
return null;
public ListPager<SysLogException> queryLogExceptionPager(SysLogException log, Pager pager) {
return ElasticSearchTool.searchPager(NoSqlPack.packEsSysLogException(log),pager,SysLogException.class);
}
@Override
public long deleteSysLogExceptionByDateTimeAfter(String dateTime) {
return 0;
public List<SysLogException> findLogExceptionList(SysLogException log, Pager pager) {
return ElasticSearchTool.searchList(NoSqlPack.packEsSysLogException(log),pager,SysLogException.class);
}
@Override
public SysLogOperate insertSysLogOperate(SysLogOperate logOperate) {
imppLog.insertSysLogOperate(logOperate);
return logOperate;
public List<SysLogException> findLogExceptionList(SysLogException log) {
return ElasticSearchTool.searchList(NoSqlPack.packEsSysLogException(log),SysLogException.class);
}
@Override
public void deleteSysLogOperateById(Long id) {
// ElasticSearchTool.deletePrimaryKey();
public SysLogException insertLogException(SysLogException log) {
imppLog.insertSysLogException(log);
return log;
}
@Override
public List listSysLogOperate() {
return null;
public SysLogException getLogException(SysLogException log) {
return ElasticSearchTool.getPrimaryKey(log.getId(),SysLogException.class);
}
@Override
public void deleteSysLogOperateByIds(Long[] ids) {
public void deleteLogException(SysLogException log) {
ElasticSearchTool.deleteQuery(NoSqlPack.packEsSysLogException(log));
}
@Override
public SysLogOperate getSysLogOperateById(Long id) {
// return ElasticSearchTool.getPrimaryKey();
return null;
public ListPager<SysLogOperate> queryLogOperatePager(SysLogOperate log, Pager pager) {
return ElasticSearchTool.searchPager(NoSqlPack.packEsSysLogOperate(log),pager,SysLogOperate.class);
}
@Override
public List<SysLogOperate> listSysLogOperateByOperateUserName(String operateUserName) {
return null;
public List<SysLogOperate> findLogOperateList(SysLogOperate log, Pager pager) {
return ElasticSearchTool.searchList(NoSqlPack.packEsSysLogOperate(log),pager,SysLogOperate.class);
}
@Override
public long countAllSysLogOperate() {
return 0;
public List<SysLogOperate> findLogOperateList(SysLogOperate log) {
return ElasticSearchTool.searchList(NoSqlPack.packEsSysLogOperate(log),SysLogOperate.class);
}
@Override
public ListPager<SysLogOperate> querySysLogOperateByPager(SysLogOperate logOperate, Pager pager) {
return null;
public SysLogOperate insertLogOperate(SysLogOperate log) {
imppLog.insertSysLogOperate(log);
return log;
}
@Override
public List<SysLogOperate> findNewSysLogOperate(Integer num) {
return null;
public SysLogOperate getLogOperate(SysLogOperate log) {
return ElasticSearchTool.getPrimaryKey(log.getId(),SysLogOperate.class);
}
@Override
public long deleteSysLogOperateByDateTimeAfter(String dateTime) {
return 0;
public void deleteLogOperate(SysLogOperate log) {
ElasticSearchTool.deleteQuery(NoSqlPack.packEsSysLogOperate(log));
}
@Override
public long countSysLogOperate() {
return 0;
public ListPager<SysLogSystem> queryLogSystemPager(SysLogSystem log, Pager pager) {
return ElasticSearchTool.searchPager(NoSqlPack.packEsSysLogSystem(log),pager,SysLogSystem.class);
}
@Override
public void insertSysLogSystem(SysLogSystem logSystem) {
public List<SysLogSystem> findLogSystemList(SysLogSystem log, Pager pager) {
return ElasticSearchTool.searchList(NoSqlPack.packEsSysLogSystem(log),pager,SysLogSystem.class);
}
@Override
public void insertSysLogBatch(int num, int waitTime) {
public List<SysLogSystem> findLogSystemList(SysLogSystem log) {
return ElasticSearchTool.searchList(NoSqlPack.packEsSysLogSystem(log), SysLogSystem.class);
}
@Override
public long deleteSysLogSystemById(Long id) {
return 0;
public SysLogSystem insertLogSystem(SysLogSystem log) {
imppLog.insertSysLogSystem(log);
return log;
}
@Override
public List<SysLogSystem> listSysLogSystem() {
return null;
public SysLogSystem getLogSystem(SysLogSystem log) {
return ElasticSearchTool.getPrimaryKey(log.getId(),SysLogSystem.class);
}
@Override
public SysLogSystem getSysLogSystemById(long id) {
return null;
public void deleteLogSystem(SysLogSystem log) {
ElasticSearchTool.deleteQuery(NoSqlPack.packEsSysLogSystem(log));
}
@Override
public ListPager querySysLogSystemByPager(SysLogSystem logSystem, Pager pager) {
return null;
public ListPager<SysLogTaskTime> queryLogTaskTimePager(SysLogTaskTime log, Pager pager) {
return ElasticSearchTool.searchPager(NoSqlPack.packEsSysLogTaskTime(log),pager,SysLogTaskTime.class);
}
@Override
public long deleteSysLogSystemByIds(Long[] ids) {
return 0;
public List<SysLogTaskTime> findLogTaskTimeList(SysLogTaskTime log, Pager pager) {
return ElasticSearchTool.searchList(NoSqlPack.packEsSysLogTaskTime(log),pager,SysLogTaskTime.class);
}
@Override
public List<SysLogSystem> findSysLogSystemByIdInterval(long min, long max) {
return null;
public List<SysLogTaskTime> findLogTaskTimeList(SysLogTaskTime log) {
return ElasticSearchTool.searchList(NoSqlPack.packEsSysLogTaskTime(log),SysLogTaskTime.class);
}
@Override
public long deleteSysLogSystemByDateTimeAfter(String dateTime) {
return 0;
public SysLogTaskTime insertLogTaskTime(SysLogTaskTime log) {
imppLog.insertSysLogTaskTime(log);
return log;
}
@Override
public void insertSysLogTaskTime(SysLogTaskTime sysLogTaskTime) {
public SysLogTaskTime getLogTaskTime(SysLogTaskTime log) {
return ElasticSearchTool.getPrimaryKey(log.getId(),SysLogTaskTime.class);
}
@Override
public void deleteSysLogTaskTimeById(Long id) {
public void deleteLogTaskTime(SysLogTaskTime log) {
ElasticSearchTool.deleteQuery(NoSqlPack.packEsSysLogTaskTime(log));
}
@Override
public SysLogTaskTime getSysLogTaskTimeById(Long id) {
return null;
}
/******************************************************* 定时任务日志 End *********************************************************/
@Override
public ListPager querySysLogTaskTimeByPager(SysLogTaskTime sysLogTaskTime, Pager pager) {
return null;
}
@Override
public long deleteSysLogTaskTimeByDateTimeAfter(String dateTime) {
return 0;
}
@Override
public Map<String, Object> querySysLogSystemAvgExecuteTime(String startTime, String endTime) {
return null;
Map resultData = new LinkedHashMap();
ElasticSearchPack pack = ElasticSearchPack.imppBuild(SysLogSystem.class);
pack.pager(CommonConstWords.getDefaultPager());
pack.andStringDateTimeBetween("createDatetime",startTime,endTime);
pack.group("createDatetime").avg("executeTime").buildAggregation();
Map<String, Aggregation> aggregationMap = ElasticSearchTool.searchAggregationMap(pack);
ParsedTerms parsedTerms = (ParsedTerms)aggregationMap.get("group_createDatetime");
if(Objects.nonNull(parsedTerms)){
for (Terms.Bucket bucket : parsedTerms.getBuckets()) {
try {
String key = bucket.getKeyAsString();
Double value = ((ParsedAvg) bucket.getAggregations().get("avg_executeTime")).getValue();
resultData.put(key,value.intValue());
}catch (Exception e){
}
}
}
return resultData;
}
@Override
public Map<String, Object> querySysLogSystemByLevel(String startTime, String endTime) {
return null;
Map resultData = new LinkedHashMap();
ElasticSearchPack pack = ElasticSearchPack.imppBuild(SysLogSystem.class);
pack.pager(CommonConstWords.getDefaultPager());
pack.andStringDateTimeBetween("createDatetime",startTime,endTime);
pack.group("logLevel").count("id").buildAggregation();
Map<String, Aggregation> aggregationMap = ElasticSearchTool.searchAggregationMap(pack);
ParsedTerms parsedTerms = (ParsedTerms)aggregationMap.get("group_logLevel");
if(Objects.nonNull(parsedTerms)){
for (Terms.Bucket bucket : parsedTerms.getBuckets()) {
try {
String key = bucket.getKeyAsString();
resultData.put(ImppEnumUtil.LOG_LEVEL.valueOfName(Integer.parseInt(key)),bucket.getDocCount());
}catch (Exception e){
}
}
}
return resultData;
}
/******************************************************* 系统异常日志 End *********************************************************/
}

@ -0,0 +1,218 @@
package cn.estsh.i3plus.core.apiservice.serviceimpl.base;
import cn.estsh.i3plus.core.api.iservice.base.ISysLogService;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
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.ImppEnumUtil;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogException;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogOperate;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogSystem;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogTaskTime;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ImppLog;
import cn.estsh.impp.framework.boot.util.ImppSwitchUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
* @Description :
* @Reference :
* @Author : wei.peng
* @CreateDate : 20-2-13 4:16
* @Modify:
**/
@Service
@Primary
public class SysLogFactory implements ISysLogService {
public static final Logger LOGGER = LoggerFactory.getLogger(SysLogFactory.class);
@Autowired
private SysLogElasticSearchService elasticSearchService;
@Autowired
private SysLogMongoService mongoService;
@Autowired
private ImppLog imppLog;
private ISysLogService getSysLogService(){
ImppEnumUtil.LOG_STORAGE storage = imppLog.getLogStorageCase();
if(ImppEnumUtil.LOG_STORAGE.MONGO.equals(storage)){
if(ImppSwitchUtil.isSwitchMongo() && mongoService != null){
return mongoService;
}else{
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.IMPP.getCode())
.setErrorCode(ImppExceptionEnum.LOG_SAVE_STORAGE_ERROR.getCode())
.setErrorDetail("没有开启Mongo储存技术,请联系管理员")
.setErrorSolution("请检查配置文件")
.build();
}
}else if(ImppEnumUtil.LOG_STORAGE.ELASTICSEARCH.equals(storage)){
if(ImppSwitchUtil.isElasticSearchSwitch() && elasticSearchService != null){
return elasticSearchService;
}else{
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.IMPP.getCode())
.setErrorCode(ImppExceptionEnum.LOG_SAVE_STORAGE_ERROR.getCode())
.setErrorDetail("没有开启Elasticsearch储存技术,请联系管理员")
.setErrorSolution("请检查配置文件")
.build();
}
}
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.IMPP.getCode())
.setErrorCode(ImppExceptionEnum.LOG_SAVE_STORAGE_ERROR.getCode())
.setErrorDetail("没有开启日志储存技术,请联系管理员")
.setErrorSolution("请检查日志配置,或者配置文件")
.build();
}
@Override
public ListPager<SysLogException> queryLogExceptionPager(SysLogException log, Pager pager) {
return getSysLogService().queryLogExceptionPager(log,pager);
}
@Override
public List<SysLogException> findLogExceptionList(SysLogException log, Pager pager) {
return getSysLogService().findLogExceptionList(log,pager);
}
@Override
public List<SysLogException> findLogExceptionList(SysLogException log) {
return getSysLogService().findLogExceptionList(log);
}
@Override
public SysLogException insertLogException(SysLogException log) {
return getSysLogService().insertLogException(log);
}
@Override
public SysLogException getLogException(SysLogException log) {
return getSysLogService().getLogException(log);
}
@Override
public void deleteLogException(SysLogException log) {
getSysLogService().deleteLogException(log);
}
@Override
public ListPager<SysLogOperate> queryLogOperatePager(SysLogOperate log, Pager pager) {
return getSysLogService().queryLogOperatePager(log,pager);
}
@Override
public List<SysLogOperate> findLogOperateList(SysLogOperate log, Pager pager) {
return getSysLogService().findLogOperateList(log,pager);
}
@Override
public List<SysLogOperate> findLogOperateList(SysLogOperate log) {
return getSysLogService().findLogOperateList(log);
}
@Override
public SysLogOperate insertLogOperate(SysLogOperate log) {
return getSysLogService().insertLogOperate(log);
}
@Override
public SysLogOperate getLogOperate(SysLogOperate log) {
return getSysLogService().getLogOperate(log);
}
@Override
public void deleteLogOperate(SysLogOperate log) {
getSysLogService().deleteLogOperate(log);
}
@Override
public ListPager<SysLogSystem> queryLogSystemPager(SysLogSystem log, Pager pager) {
return getSysLogService().queryLogSystemPager(log,pager);
}
@Override
public List<SysLogSystem> findLogSystemList(SysLogSystem log, Pager pager) {
return getSysLogService().findLogSystemList(log,pager);
}
@Override
public List<SysLogSystem> findLogSystemList(SysLogSystem log) {
return getSysLogService().findLogSystemList(log);
}
@Override
public SysLogSystem insertLogSystem(SysLogSystem log) {
return getSysLogService().insertLogSystem(log);
}
@Override
public SysLogSystem getLogSystem(SysLogSystem log) {
return getSysLogService().getLogSystem(log);
}
@Override
public void deleteLogSystem(SysLogSystem log) {
getSysLogService().deleteLogSystem(log);
}
@Override
public ListPager<SysLogTaskTime> queryLogTaskTimePager(SysLogTaskTime log, Pager pager) {
return getSysLogService().queryLogTaskTimePager(log,pager);
}
@Override
public List<SysLogTaskTime> findLogTaskTimeList(SysLogTaskTime log, Pager pager) {
return getSysLogService().findLogTaskTimeList(log,pager);
}
@Override
public List<SysLogTaskTime> findLogTaskTimeList(SysLogTaskTime log) {
return getSysLogService().findLogTaskTimeList(log);
}
@Override
public SysLogTaskTime insertLogTaskTime(SysLogTaskTime log) {
return getSysLogService().insertLogTaskTime(log);
}
@Override
public SysLogTaskTime getLogTaskTime(SysLogTaskTime log) {
return getSysLogService().getLogTaskTime(log);
}
@Override
public void deleteLogTaskTime(SysLogTaskTime log) {
getSysLogService().deleteLogTaskTime(log);
}
/******************************************************* 定时任务日志 End *********************************************************/
@Override
public Map<String, Object> querySysLogSystemAvgExecuteTime(String startTime, String endTime) {
return getSysLogService().querySysLogSystemAvgExecuteTime(startTime, endTime);
}
@Override
public Map<String, Object> querySysLogSystemByLevel(String startTime, String endTime) {
return getSysLogService().querySysLogSystemByLevel(startTime, endTime);
}
/******************************************************* 系统异常日志 End *********************************************************/
}

@ -1,9 +1,11 @@
package cn.estsh.i3plus.core.apiservice.serviceimpl.base;
import cn.estsh.i3plus.core.api.iservice.base.ISysLogService;
import cn.estsh.i3plus.core.apiservice.util.NoSqlPack;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.platform.common.tool.MathOperation;
import cn.estsh.i3plus.platform.common.tool.StringTool;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper;
@ -17,19 +19,15 @@ import cn.estsh.i3plus.pojo.platform.platrepositorymongo.SysLogExceptionReposito
import cn.estsh.i3plus.pojo.platform.platrepositorymongo.SysLogOperateRepository;
import cn.estsh.i3plus.pojo.platform.platrepositorymongo.SysLogSystemRepository;
import cn.estsh.i3plus.pojo.platform.platrepositorymongo.SysLogTaskTimeRepository;
import cn.estsh.i3plus.pojo.platform.sqlpack.CoreBsonPack;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ImppSwitchUtil;
import cn.estsh.impp.framework.boot.util.SpringContextsUtil;
import com.mongodb.client.AggregateIterable;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.model.Filters;
import io.swagger.annotations.ApiOperation;
import org.bson.Document;
import org.bson.conversions.Bson;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Primary;
import org.springframework.data.mongodb.MongoDbFactory;
import org.springframework.stereotype.Service;
@ -46,7 +44,6 @@ import java.util.Map;
* @Modify:
**/
@Service
@Primary
public class SysLogMongoService implements ISysLogService {
public static final Logger LOGGER = LoggerFactory.getLogger(SysLogMongoService.class);
@ -58,15 +55,15 @@ public class SysLogMongoService implements ISysLogService {
private MongoDbFactory mongoDbFactory;
public SysLogTaskTimeRepository getSysLogTaskTimeRepository(){
if(logTaskTimeRDao == null && ImppSwitchUtil.propSwitchMongo()){
public SysLogTaskTimeRepository getSysLogTaskTimeRepository() {
if (logTaskTimeRDao == null && ImppSwitchUtil.isSwitchMongo()) {
logTaskTimeRDao = SpringContextsUtil.getBean(SysLogTaskTimeRepository.class);
}
if(logTaskTimeRDao == null){
if (logTaskTimeRDao == null) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.IMPP.getCode())
.setErrorCode(ImppExceptionEnum.LOG_SAVE_MONGO_ERROR.getCode())
.setErrorCode(ImppExceptionEnum.LOG_SAVE_STORAGE_ERROR.getCode())
.setErrorDetail("日志Mongo存储错误")
.setErrorSolution("请检查是否开启MongoDB存储")
.build();
@ -75,15 +72,15 @@ public class SysLogMongoService implements ISysLogService {
return logTaskTimeRDao;
}
public SysLogSystemRepository getSysLogSystemRepository(){
if(logSystemRDao == null && ImppSwitchUtil.propSwitchMongo()){
public SysLogSystemRepository getSysLogSystemRepository() {
if (logSystemRDao == null && ImppSwitchUtil.isSwitchMongo()) {
logSystemRDao = SpringContextsUtil.getBean(SysLogSystemRepository.class);
}
if(logSystemRDao == null){
if (logSystemRDao == null) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.IMPP.getCode())
.setErrorCode(ImppExceptionEnum.LOG_SAVE_MONGO_ERROR.getCode())
.setErrorCode(ImppExceptionEnum.LOG_SAVE_STORAGE_ERROR.getCode())
.setErrorDetail("日志Mongo存储错误")
.setErrorSolution("请检查是否开启MongoDB存储")
.build();
@ -92,15 +89,15 @@ public class SysLogMongoService implements ISysLogService {
return logSystemRDao;
}
public SysLogOperateRepository getSysLogOperateRepository(){
if(logOperateRDao == null && ImppSwitchUtil.propSwitchMongo()){
public SysLogOperateRepository getSysLogOperateRepository() {
if (logOperateRDao == null && ImppSwitchUtil.isSwitchMongo()) {
logOperateRDao = SpringContextsUtil.getBean(SysLogOperateRepository.class);
}
if(logOperateRDao == null){
if (logOperateRDao == null) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.IMPP.getCode())
.setErrorCode(ImppExceptionEnum.LOG_SAVE_MONGO_ERROR.getCode())
.setErrorCode(ImppExceptionEnum.LOG_SAVE_STORAGE_ERROR.getCode())
.setErrorDetail("日志Mongo存储错误")
.setErrorSolution("请检查是否开启MongoDB存储")
.build();
@ -109,15 +106,15 @@ public class SysLogMongoService implements ISysLogService {
return logOperateRDao;
}
public SysLogExceptionRepository getSysLogExceptionRepository(){
if(logExceptionRDao == null && ImppSwitchUtil.propSwitchMongo()){
public SysLogExceptionRepository getSysLogExceptionRepository() {
if (logExceptionRDao == null && ImppSwitchUtil.isSwitchMongo()) {
logExceptionRDao = SpringContextsUtil.getBean(SysLogExceptionRepository.class);
}
if(logExceptionRDao == null){
if (logExceptionRDao == null) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.IMPP.getCode())
.setErrorCode(ImppExceptionEnum.LOG_SAVE_MONGO_ERROR.getCode())
.setErrorCode(ImppExceptionEnum.LOG_SAVE_STORAGE_ERROR.getCode())
.setErrorDetail("日志Mongo存储错误")
.setErrorSolution("请检查是否开启MongoDB存储")
.build();
@ -126,15 +123,15 @@ public class SysLogMongoService implements ISysLogService {
return logExceptionRDao;
}
public MongoDbFactory getMongoDbFactory(){
if(mongoDbFactory == null && ImppSwitchUtil.propSwitchMongo()){
public MongoDbFactory getMongoDbFactory() {
if (mongoDbFactory == null && ImppSwitchUtil.isSwitchMongo()) {
mongoDbFactory = SpringContextsUtil.getBean(MongoDbFactory.class);
}
if(mongoDbFactory == null){
if (mongoDbFactory == null) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.IMPP.getCode())
.setErrorCode(ImppExceptionEnum.LOG_SAVE_MONGO_ERROR.getCode())
.setErrorCode(ImppExceptionEnum.LOG_SAVE_STORAGE_ERROR.getCode())
.setErrorDetail("日志Mongo存储错误")
.setErrorSolution("请检查是否开启MongoDB存储")
.build();
@ -145,253 +142,151 @@ public class SysLogMongoService implements ISysLogService {
/********************************************************* 系统异常日志 Start *********************************************************/
@Override
@ApiOperation(value = "系统异常日志复杂查询,分页,排序")
public ListPager<SysLogException> querySysLogExceptionByPager(SysLogException sysLogException, Pager pager) {
if(sysLogException == null) {
pager = PagerHelper.getPager(pager, (int) getSysLogExceptionRepository().count());
return new ListPager(getSysLogExceptionRepository().findAll(),pager);
}else{
Bson bson = CoreBsonPack.packBsonBySysLogException(sysLogException);
pager = PagerHelper.getPager(pager,getSysLogExceptionRepository().findByBsonCount(bson));
//分页,排序
return new ListPager(getSysLogExceptionRepository().findByBsonPager(bson,pager,sysLogException.getOrderByParam()
,sysLogException.getAscOrDesc()),pager);
}
public ListPager<SysLogException> queryLogExceptionPager(SysLogException log, Pager pager) {
Bson bson = NoSqlPack.packMongoBySysLogException(log);
pager = PagerHelper.getPager(pager, getSysLogTaskTimeRepository().findByBsonCount(bson));
return new ListPager(getSysLogExceptionRepository().findByBsonPager(bson, pager, log.getOrderByParam(), log.getAscOrDesc()), pager);
}
@Override
public long deleteSysLogExceptionByDateTimeAfter(String dateTime) {
return getSysLogExceptionRepository().deleteByProperty(CoreBsonPack.packBsonByDateTimeAfter(dateTime));
public List<SysLogException> findLogExceptionList(SysLogException log, Pager pager) {
Bson bson = NoSqlPack.packMongoBySysLogException(log);
return getSysLogExceptionRepository().findByBsonPager(bson, pager, log.getOrderByParam(), log.getAscOrDesc());
}
/******************************************************* 系统异常日志 End *********************************************************/
/********************************************************* 操作日志 Start *********************************************************/
@Override
@ApiOperation(value = "添加操作日志",notes = "添加操作日志")
public SysLogOperate insertSysLogOperate(SysLogOperate logOperate) {
return getSysLogOperateRepository().insert(logOperate);
public List<SysLogException> findLogExceptionList(SysLogException log) {
Bson bson = NoSqlPack.packMongoBySysLogException(log);
return getSysLogExceptionRepository().findByBsonPager(bson, CommonConstWords.getDefaultPager(), log.getOrderByParam(), log.getAscOrDesc());
}
@Override
@ApiOperation(value = "根据id删除日志",notes = "根据id删除日志")
public void deleteSysLogOperateById(Long id) {
getSysLogOperateRepository().deleteById(id);
public SysLogException insertLogException(SysLogException log) {
return getSysLogExceptionRepository().save(log);
}
@Override
@ApiOperation(value = "查询全部操作日志",notes = "查询全部操作日志")
public List listSysLogOperate() {
return getSysLogOperateRepository().listPager(null);
public SysLogException getLogException(SysLogException log) {
return getSysLogExceptionRepository().getById(log.getId());
}
@Override
public void deleteSysLogOperateByIds(Long[] ids) {
for(Long id : ids){
getSysLogOperateRepository().deleteById(id);
}
public void deleteLogException(SysLogException log) {
getSysLogExceptionRepository().deleteByProperty(NoSqlPack.packMongoBySysLogException(log));
}
@Override
@ApiOperation(value = "根据id查询操作日志",notes = "根据id查询操作日志")
public SysLogOperate getSysLogOperateById(Long id) {
return getSysLogOperateRepository().getById(id);
public ListPager<SysLogOperate> queryLogOperatePager(SysLogOperate log, Pager pager) {
Bson bson = NoSqlPack.packMongoByLogOperate(log);
pager = PagerHelper.getPager(pager, getSysLogTaskTimeRepository().findByBsonCount(bson));
return new ListPager(getSysLogOperateRepository().findByBsonPager(bson, pager, log.getOrderByParam(), log.getAscOrDesc()), pager);
}
@Override
@ApiOperation(value = "根据操作人姓名模糊查询日志",notes = "根据操作人姓名模糊查询日志")
public List<SysLogOperate> listSysLogOperateByOperateUserName(String operateUserName) {
return getSysLogOperateRepository().findByProperty("operateUserName",operateUserName);
public List<SysLogOperate> findLogOperateList(SysLogOperate log, Pager pager) {
Bson bson = NoSqlPack.packMongoByLogOperate(log);
return getSysLogOperateRepository().findByBsonPager(bson, pager, log.getOrderByParam(), log.getAscOrDesc());
}
@Override
@ApiOperation(value = "查询所有日志数量")
public long countAllSysLogOperate() {
return getSysLogOperateRepository().listCount();
public List<SysLogOperate> findLogOperateList(SysLogOperate log) {
Bson bson = NoSqlPack.packMongoByLogOperate(log);
return getSysLogOperateRepository().findByBsonPager(bson, CommonConstWords.getDefaultPager(), log.getOrderByParam(), log.getAscOrDesc());
}
@Override
@ApiOperation(value = "操作日志复杂查询,分页,排序",notes = "操作日志复杂查询,分页,排序")
public ListPager<SysLogOperate> querySysLogOperateByPager(SysLogOperate logOperate, Pager pager) {
if(logOperate == null) {
pager = PagerHelper.getPager(pager, (int) getSysLogOperateRepository().count());
return new ListPager(getSysLogOperateRepository().findAll(),pager);
}else{
Bson bson = CoreBsonPack.packBsonByLogOperate(logOperate);
pager = PagerHelper.getPager(pager,getSysLogOperateRepository().findByBsonCount(bson));
//分页,排序
return new ListPager(getSysLogOperateRepository().findByBsonPager(bson,pager,logOperate.getOrderByParam(),logOperate.getAscOrDesc()),pager);
}
public SysLogOperate insertLogOperate(SysLogOperate log) {
return getSysLogOperateRepository().save(log);
}
@Override
public List<SysLogOperate> findNewSysLogOperate(Integer num) {
Pager page = new Pager();
page.setCurrentPage(1);
page.setPageSize(num);
SysLogOperate sysLogOperate = new SysLogOperate();
sysLogOperate.setOrderByParam("createDatetime");
sysLogOperate.setAscOrDesc(CommonEnumUtil.ASC_OR_DESC.DESC.getValue());
return getSysLogOperateRepository().findByBsonPager(null,page,sysLogOperate.getOrderByParam(),sysLogOperate.getAscOrDesc());
public SysLogOperate getLogOperate(SysLogOperate log) {
return getSysLogOperateRepository().getById(log.getId());
}
@Override
public long deleteSysLogOperateByDateTimeAfter(String dateTime) {
return getSysLogOperateRepository().deleteByProperty(CoreBsonPack.packBsonByDateTimeAfter(dateTime));
}
@Override
public long countSysLogOperate() {
return getSysLogOperateRepository().listCount();
}
/******************************************************* 操作日志 End *********************************************************/
/******************************************************* 系统日志 Start *********************************************************/
@Override
@ApiOperation(value = "添加系统日志",notes = "添加系统日志")
public void insertSysLogSystem(SysLogSystem logSystem) {
getSysLogSystemRepository().insert(logSystem);
public void deleteLogOperate(SysLogOperate log) {
getSysLogOperateRepository().deleteByProperty(NoSqlPack.packMongoByLogOperate(log));
}
@Override
public void insertSysLogBatch(int num,int waitTime){
long t1 = System.currentTimeMillis();
SysLogSystem sysLogSystem = null;
for (int i = 0; i < num * 1000; i++) {
sysLogSystem = new SysLogSystem();
sysLogSystem.setLogClass("新增测试class");
sysLogSystem.setLogMethod("新增测试method" +System.currentTimeMillis());
sysLogSystem.setLogArgs("新增测试参数" + System.currentTimeMillis());
sysLogSystem.setExecuteTime(0L);
sysLogSystem.setArgsCount(1);
sysLogSystem.setLogDetail("2333");
sysLogSystem.setLogLevel(ImppEnumUtil.LOG_LEVEL.DEBUG.getValue());
sysLogSystem.setLogModuleId(CommonEnumUtil.SOFT_TYPE.CORE.getValue());
sysLogSystem.setLogTitle("新增测试");
getSysLogSystemRepository().insert(sysLogSystem);
try {
this.wait(waitTime);
} catch (InterruptedException e) {
e.printStackTrace();
}
LOGGER.info("插入SysLog耗时" + (System.currentTimeMillis() - t1) + ",idx" + i);
}
public ListPager<SysLogSystem> queryLogSystemPager(SysLogSystem log, Pager pager) {
Bson bson = NoSqlPack.packMongoByLogSystem(log);
pager = PagerHelper.getPager(pager, getSysLogTaskTimeRepository().findByBsonCount(bson));
return new ListPager(getSysLogSystemRepository().findByBsonPager(bson, pager, log.getOrderByParam(), log.getAscOrDesc()), pager);
}
@Override
@ApiOperation(value = "删除日志",notes = "删除日志")
public long deleteSysLogSystemById(Long id) {
Bson bson = Filters.eq("id",id);
return getSysLogSystemRepository().deleteByProperty(bson);
public List<SysLogSystem> findLogSystemList(SysLogSystem log, Pager pager) {
Bson bson = NoSqlPack.packMongoByLogSystem(log);
return getSysLogSystemRepository().findByBsonPager(bson, pager, log.getOrderByParam(), log.getAscOrDesc());
}
@Override
@ApiOperation(value = "查询全部日志",notes = "查询全部日志")
public List<SysLogSystem> listSysLogSystem() {
return getSysLogSystemRepository().findAll();
public List<SysLogSystem> findLogSystemList(SysLogSystem log) {
Bson bson = NoSqlPack.packMongoByLogSystem(log);
return getSysLogSystemRepository().findByBsonPager(bson, CommonConstWords.getDefaultPager(), log.getOrderByParam(), log.getAscOrDesc());
}
@Override
@ApiOperation(value = "根据id查询系统日志",notes = "根据id查询系统日志")
public SysLogSystem getSysLogSystemById(long id) {
return getSysLogSystemRepository().getById(id);
public SysLogSystem insertLogSystem(SysLogSystem log) {
return getSysLogSystemRepository().save(log);
}
@Override
@ApiOperation(value = "系统日志分页复杂查询",notes = "系统日志分页复杂查询")
public ListPager querySysLogSystemByPager(SysLogSystem logSystem, Pager pager) {
if (logSystem == null) {
pager = PagerHelper.getPager(pager,getSysLogSystemRepository().listCount());
return new ListPager(getSysLogSystemRepository().listPager(pager),pager);
} else {
Bson bson = CoreBsonPack.packBsonByLogSystem(logSystem);
pager = PagerHelper.getPager(pager,getSysLogSystemRepository().findByBsonCount(bson));
return new ListPager(getSysLogSystemRepository().findByBsonPager(bson,pager,logSystem.getOrderByParam()
,logSystem.getAscOrDesc()),pager);
}
public SysLogSystem getLogSystem(SysLogSystem log) {
return getSysLogSystemRepository().getById(log.getId());
}
@Override
@ApiOperation(value = "系统日志批量删除",notes = "系统日志批量删除")
public long deleteSysLogSystemByIds(Long[] ids) {
return getSysLogSystemRepository().deleteByIds(ids);
public void deleteLogSystem(SysLogSystem log) {
getSysLogSystemRepository().deleteByProperty(NoSqlPack.packMongoByLogSystem(log));
}
@Override
@ApiOperation(value = "系统日志按id区间查询",notes = "系统日志按id区间查询")
public List<SysLogSystem> findSysLogSystemByIdInterval(long min, long max) {
return getSysLogSystemRepository().findByBson(CoreBsonPack.packBsonByInterval("_id",min,max));
public ListPager<SysLogTaskTime> queryLogTaskTimePager(SysLogTaskTime log, Pager pager) {
Bson bson = NoSqlPack.packMongoByLogTaskTime(log);
pager = PagerHelper.getPager(pager, getSysLogTaskTimeRepository().findByBsonCount(bson));
return new ListPager(getSysLogTaskTimeRepository().findByBsonPager(bson, pager, log.getOrderByParam(), log.getAscOrDesc()), pager);
}
@Override
public long deleteSysLogSystemByDateTimeAfter(String dateTime) {
return getSysLogSystemRepository().deleteByProperty(CoreBsonPack.packBsonByDateTimeAfter(dateTime));
public List<SysLogTaskTime> findLogTaskTimeList(SysLogTaskTime log, Pager pager) {
Bson bson = NoSqlPack.packMongoByLogTaskTime(log);
return getSysLogTaskTimeRepository().findByBsonPager(bson, pager, log.getOrderByParam(), log.getAscOrDesc());
}
/******************************************************* 系统日志 End *********************************************************/
/******************************************************* 定时任务日志 Start *********************************************************/
@Override
@ApiOperation(value = "添加定时任务日志",notes = "添加定时任务日志")
public void insertSysLogTaskTime(SysLogTaskTime sysLogTaskTime) {
getSysLogTaskTimeRepository().insert(sysLogTaskTime);
public List<SysLogTaskTime> findLogTaskTimeList(SysLogTaskTime log) {
Bson bson = NoSqlPack.packMongoByLogTaskTime(log);
return getSysLogTaskTimeRepository().findByBsonPager(bson, CommonConstWords.getDefaultPager(), log.getOrderByParam(), log.getAscOrDesc());
}
@Override
@ApiOperation(value = "删除定时任务日志",notes = "删除定时任务日志")
public void deleteSysLogTaskTimeById(Long id) {
getSysLogTaskTimeRepository().deleteById(id);
public SysLogTaskTime insertLogTaskTime(SysLogTaskTime log) {
return getSysLogTaskTimeRepository().save(log);
}
@Override
@ApiOperation(value = "根据id查询定时任务日志",notes = "根据id查询定时任务日志")
public SysLogTaskTime getSysLogTaskTimeById(Long id) {
return getSysLogTaskTimeRepository().getById(id);
public SysLogTaskTime getLogTaskTime(SysLogTaskTime log) {
return getSysLogTaskTimeRepository().getById(log.getId());
}
@Override
@ApiOperation(value = "定时任务日志分页复杂查询",notes = "定时任务日志分页复杂查询")
public ListPager querySysLogTaskTimeByPager(SysLogTaskTime sysLogTaskTime, Pager pager) {
if (sysLogTaskTime == null) {
pager = PagerHelper.getPager(pager,getSysLogTaskTimeRepository().listCount());
return new ListPager(getSysLogTaskTimeRepository().listPager(pager),pager);
} else {
Bson bson = CoreBsonPack.packBsonByLogTaskTime(sysLogTaskTime);
pager = PagerHelper.getPager(pager,getSysLogTaskTimeRepository().findByBsonCount(bson));
return new ListPager(getSysLogTaskTimeRepository().findByBsonPager(bson,pager,sysLogTaskTime.getOrderByParam()
,sysLogTaskTime.getAscOrDesc()),pager);
}
public void deleteLogTaskTime(SysLogTaskTime log) {
getSysLogTaskTimeRepository().deleteByProperty(NoSqlPack.packMongoByLogTaskTime(log));
}
@Override
public long deleteSysLogTaskTimeByDateTimeAfter(String dateTime) {
return getSysLogTaskTimeRepository().deleteByProperty(CoreBsonPack.packBsonByDateTimeAfter(dateTime));
}
/******************************************************* 定时任务日志 End *********************************************************/
/********************************************************* 操作日志 Start *********************************************************/
@Override
public Map<String, Object> querySysLogSystemAvgExecuteTime(String startTime, String endTime) {
// 筛选
Document sub_match = new Document();
sub_match.put("createDatetime", new Document("$gte", startTime).append("$lte", endTime));
// 分组
// 分组
Document sub_group = new Document();
sub_group.put("_id", "$createDatetime");
sub_group.put("avg", new Document("$avg", "$executeTime"));
@ -415,13 +310,13 @@ public class SysLogMongoService implements ISysLogService {
Document item_doc;
while (cursor.hasNext()) {
item_doc = cursor.next();
resultData.put(item_doc.getString("_id"),MathOperation.round(item_doc.getDouble("avg"),0));
resultData.put(item_doc.getString("_id"), MathOperation.round(item_doc.getDouble("avg"), 0));
}
return resultData;
}
@Override
public Map<String,Object> querySysLogSystemByLevel(String startTime, String endTime){
public Map<String, Object> querySysLogSystemByLevel(String startTime, String endTime) {
// 筛选
Document sub_match = new Document();
sub_match.put("createDatetime", new Document("$gte", startTime).append("$lte", endTime));
@ -446,7 +341,7 @@ public class SysLogMongoService implements ISysLogService {
Document item_doc;
while (cursor.hasNext()) {
item_doc = cursor.next();
resultData.put(ImppEnumUtil.LOG_LEVEL.valueOfName(item_doc.getInteger("_id")),MathOperation.round(item_doc.getInteger("count"),0));
resultData.put(ImppEnumUtil.LOG_LEVEL.valueOfName(item_doc.getInteger("_id")), MathOperation.round(item_doc.getInteger("count"), 0));
}
return resultData;

@ -83,7 +83,7 @@ public class SystemInitService implements ISystemInitService {
List<SysConfig> list = configRDao.findAll();
if(list != null && list.size() > 0){
list.forEach(config -> {
RedisUtilTool.setSysConfigByConfigCode(redisRes, config);
RedisUtilTool.setSysConfigByConfigCode(config);
});
}
LOGGER.info("加载系统配置数量:【{}】",list.size());
@ -101,12 +101,12 @@ public class SystemInitService implements ISystemInitService {
for (String key : parentCodeMap.keySet()) {
//存放于缓存
RedisUtilTool.setSysDictionaryListByCode(redisRes, key, parentCodeMap.get(key));
RedisUtilTool.setSysDictionaryListByCode(key, parentCodeMap.get(key));
}
for (long key : parentIdMap.keySet()) {
putDataToCache(CommonConstWords.REDIS_PREFIX_CACHE_DICTIONARY + ":" + key, parentIdMap.get(key),Object.class);
RedisUtilTool.setSysDictionaryListByParentId(redisRes,key,parentIdMap.get(key));
RedisUtilTool.setSysDictionaryListByParentId(key,parentIdMap.get(key));
}
}
}catch (Exception e){

@ -0,0 +1,60 @@
package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ILicenseClickService;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.platform.plugin.license.ImppLicenseTool;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.platform.repository.SysOrganizeRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysUserInfoRepository;
import org.apache.shiro.web.session.mgt.DefaultWebSessionManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* @Description :
* @Reference :
* @Author : wei.peng
* @CreateDate : 20-3-23 5:16
* @Modify:
**/
@Service
public class LicenseClickService implements ILicenseClickService {
private static final Logger LOGGER = LoggerFactory.getLogger(LicenseClickService.class);
@Autowired
private SysUserInfoRepository userInfoRDao;
@Autowired
private SysOrganizeRepository organizeRDao;
@Resource(name = CommonConstWords.IMPP_BEAN_SESSION_MANAGER)
private DefaultWebSessionManager webSessionManager;
@Override
public void checkLicenseNumberUser() {
int count = userInfoRDao.findByHqlWhereCount(DdlPackBean.getDdlPackBean());
ImppLicenseTool.checkUser(count);
}
@Override
public void checkLicenseNumberOrganize() {
DdlPackBean bean = DdlPackBean.getDdlPackBean();
DdlPreparedPack.getNumEqualPack(ImppEnumUtil.ORGANIZE_YTPE.TYPE_FACTORY.getValue(),"organizeType",bean);
ImppLicenseTool.checkOrganize(organizeRDao.findByHqlWhereCount(bean));
}
@Override
public void checkLicenseNumberLogin() {
int count = webSessionManager.getSessionDAO().getActiveSessions().size();
ImppLicenseTool.checkUserSession(count);
}
}

@ -2,6 +2,7 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysConfigService;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper;
@ -74,9 +75,9 @@ public class SysConfigService implements ISysConfigService {
pager = PagerHelper.getPager(pager, SysConfigRDao.listCount());
return new ListPager(SysConfigRDao.listPager(pager),pager);
}else {
String hqlPack = CoreHqlPack.packHqlSysConfig(sysConfig);
DdlPackBean hqlPack = CoreHqlPack.packHqlSysConfig(sysConfig);
pager = PagerHelper.getPager(pager, SysConfigRDao.findByHqlWhereCount(hqlPack));
return new ListPager(SysConfigRDao.findByHqlWherePage(hqlPack + sysConfig.orderBy(),pager),pager);
return new ListPager(SysConfigRDao.findByHqlWherePage(hqlPack, pager), pager);
}
}

@ -2,12 +2,15 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.core.api.iservice.base.ISysLogService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysDashboardService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysOrganizeService;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.pojo.base.annotation.AnnoIgnoreLog;
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.tool.HqlPack;
import cn.estsh.i3plus.pojo.platform.bean.SysUser;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogException;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogOperate;
import cn.estsh.i3plus.pojo.platform.repository.SysDepartmentRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysUserRepository;
@ -35,23 +38,22 @@ public class SysDashboardService implements ISysDashboardService {
private SysDepartmentRepository sysDepartmentRDao;
@Autowired
private ISysOrganizeService organizeService;
@Autowired
private ISysLogService logService;
@Autowired
private SysUserRepository sysUserRDao;
@Override
@AnnoIgnoreLog
@ApiOperation(value = "查询组织个数")
public long getSysOrganizeCount() {
return logService.countSysLogOperate();
}
private static final Pager PAGER;
private static final SysLogOperate SYS_LOG_OPERATE = new SysLogOperate();
private static final SysLogException SYS_LOG_EXCEPTION = new SysLogException();
@Override
@AnnoIgnoreLog
@ApiOperation(value = "获取部门数量")
public long getSysDepartmentCount() {
return sysDepartmentRDao.listCount();
static {
PAGER = new Pager();
PAGER.setCurrentPage(1);
PAGER.setPageSize(CommonConstWords.DASHBOARD_TABLE_SIZE);
}
@Override
@ -67,34 +69,15 @@ public class SysDashboardService implements ISysDashboardService {
@Override
@AnnoIgnoreLog
@ApiOperation(value = "查询操作日志",notes = "查询最新的几条操作日志")
public ListPager<SysLogOperate> findNewSysLogOperateSize(Integer size) {
Pager page = new Pager();
page.setCurrentPage(1);
page.setPageSize(size);
SysLogOperate sysLogOperate = new SysLogOperate();
sysLogOperate.setOrderByParam("createDatetime");
sysLogOperate.setAscOrDesc(CommonEnumUtil.ASC_OR_DESC.DESC.getValue());
return logService.querySysLogOperateByPager(sysLogOperate,page);
public List<SysLogOperate> findNewSysLogOperateSize() {
return logService.findLogOperateList(SYS_LOG_OPERATE);
}
@Override
@AnnoIgnoreLog
@ApiOperation(value = "查询操异常日志",notes = "查询最新的几条异常日志")
public ListPager<SysLogOperate> findNewSysLogExceptionSize(Integer size) {
Pager page = new Pager();
page.setCurrentPage(1);
page.setPageSize(size);
SysLogOperate sysLogOperate = new SysLogOperate();
sysLogOperate.setOrderByParam("createDatetime");
sysLogOperate.setAscOrDesc(CommonEnumUtil.ASC_OR_DESC.DESC.getValue());
return logService.querySysLogOperateByPager(sysLogOperate,page);
}
@Override
@AnnoIgnoreLog
@ApiOperation(value = "查询系统日志",notes = "查询系统日志各级别占比")
public Map findSysLogSystempByLevel(String startTime, String endTime) {
return null;
public List<SysLogException> findNewSysLogExceptionSize() {
return logService.findLogExceptionList(SYS_LOG_EXCEPTION);
}
@Override

@ -287,7 +287,7 @@ public class SysDepartmentService implements ISysDepartmentService {
@Override
public long getSysDepartmentCount() {
return departmentRDao.listCount();
return departmentRDao.findByHqlWhereCount(DdlPackBean.getDdlPackBean());
}
}

@ -6,6 +6,7 @@ import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.platform.common.tool.BeanCopyTool;
import cn.estsh.i3plus.platform.common.tool.FileTool;
import cn.estsh.i3plus.platform.common.tool.StringTool;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper;
@ -121,9 +122,9 @@ public class SysFileServiceImpl implements ISysFileService {
pager = PagerHelper.getPager(pager, sysFileRDao.listCount());
return new ListPager(sysFileRDao.listPager(pager), pager);
} else {
String hqlPack = CoreHqlPack.packHqlSysFile(sysFile);
DdlPackBean hqlPack = CoreHqlPack.packHqlSysFile(sysFile);
pager = PagerHelper.getPager(pager, sysFileRDao.findByHqlWhereCount(hqlPack));
return new ListPager(sysFileRDao.findByHqlWherePage(hqlPack + sysFile.orderBy(), pager), pager);
return new ListPager(sysFileRDao.findByHqlWherePage(hqlPack, pager), pager);
}
}

@ -3,6 +3,7 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysLocaleResourceService;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.platform.common.tool.BeanCopyTool;
import cn.estsh.i3plus.platform.common.tool.JsonUtilTool;
import cn.estsh.i3plus.platform.common.tool.SerializeTool;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
@ -10,6 +11,7 @@ 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.model.platform.MissResourceModel;
import cn.estsh.i3plus.pojo.platform.bean.SysLocaleLanguage;
import cn.estsh.i3plus.pojo.platform.bean.SysLocaleResource;
import cn.estsh.i3plus.pojo.platform.bean.SysMenu;
@ -20,6 +22,7 @@ import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ImppRedis;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import com.alibaba.fastjson.JSON;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
@ -28,8 +31,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
import static cn.estsh.i3plus.platform.common.util.CommonConstWords.RESOURCE_PREFIX_MENU;
@ -228,4 +231,113 @@ public class SysLocaleResourceService implements ISysLocaleResourceService {
sysLocaleResourceRDao.deleteAllInBatch();
}
@Override
public List<MissResourceModel> listMissResourceModel() {
List<Object> listStr = redisRes.scan(CommonConstWords.REDIS_PREFIX_CACHE_NO_RES + "*");
MissResourceModel missResourceModel = null;
List<MissResourceModel> missResourceModelList = new ArrayList<>(listStr.size());
// 更新状态
for (Object missResourceStr : listStr) {
if (missResourceStr == null || StringUtils.isBlank(missResourceStr.toString())) {
continue;
}
missResourceModel = JsonUtilTool.decode(missResourceStr.toString(), MissResourceModel.class);
// 转换失败
if(missResourceModel==null){
continue;
}
missResourceModelList.add(missResourceModel);
}
return missResourceModelList;
}
@Override
public MissResourceModel saveMissResourceModel(MissResourceModel missResourceModel) {
redisRes.putObject(missResourceModel.getKey(), JSON.toJSONString(missResourceModel), -1);
return missResourceModel;
}
@Override
public void updateMissResourceModelIsValidByKeys(String[] keys, Integer valid) {
List<Object> missResourceStrList = redisRes.findObject(Arrays.asList(keys));
MissResourceModel missResourceModel = null;
List<MissResourceModel> missResourceModelList = new ArrayList<>(missResourceStrList.size());
// 更新状态
for (Object missResourceStr : missResourceStrList) {
if (missResourceStr == null || StringUtils.isBlank(missResourceStr.toString())) {
continue;
}
missResourceModel = JsonUtilTool.decode(missResourceStr.toString(), MissResourceModel.class);
missResourceModel.setIsValid(valid);
missResourceModelList.add(missResourceModel);
}
// 存入redis
for (MissResourceModel resourceModel : missResourceModelList) {
redisRes.putObject(resourceModel.getKey(), JsonUtilTool.encode(resourceModel));
}
}
@Override
public void doCleanInValidMissResource() {
List<Object> listStr = redisRes.scan(CommonConstWords.REDIS_PREFIX_CACHE_NO_RES + "*");
MissResourceModel missResourceModel = null;
List<String> cleanKeys = new ArrayList<>(listStr.size());
// 更新状态
for (Object missResourceStr : listStr) {
if (missResourceStr ==null || StringUtils.isBlank(missResourceStr.toString())) {
continue;
}
missResourceModel = JsonUtilTool.decode(missResourceStr.toString(), MissResourceModel.class);
if (missResourceModel != null && missResourceModel.getIsValid() != null
&& CommonEnumUtil.IS_VAILD.INVAILD.getValue() == missResourceModel.getIsValid()) {
cleanKeys.add(missResourceModel.getKey());
}
}
redisRes.deleteKey(cleanKeys.toArray(new String[cleanKeys.size()]));
}
@Override
public void doConversionMissResourceByKeys(String[] keys) {
List<Object> missResourceStrList = redisRes.findObject(Arrays.asList(keys));
MissResourceModel missResourceModel = null;
List<MissResourceModel> missResourceModelList = new ArrayList<>(missResourceStrList.size());
Map<String, String> langCodeMap = sysLocaleLanguageRDao.list()
.stream()
.collect(
Collectors.toMap(
SysLocaleLanguage::getLanguageCode,
SysLocaleLanguage::getLanguageName
)
);
// 类型转换
for (Object missResourceStr : missResourceStrList) {
if (missResourceStr == null || StringUtils.isBlank(missResourceStr.toString())) {
continue;
}
missResourceModel = JsonUtilTool.decode(missResourceStr.toString(), MissResourceModel.class);
missResourceModelList.add(missResourceModel);
}
SysLocaleResource sysLocaleResource;
for (MissResourceModel resourceModel : missResourceModelList) {
sysLocaleResource = new SysLocaleResource();
sysLocaleResource.setSoftType(resourceModel.getSoftType());
sysLocaleResource.setLanguageCode(resourceModel.getLanguageCode());
sysLocaleResource.setLanguageNameRdd(langCodeMap.get(resourceModel.getLanguageCode()));
sysLocaleResource.setResourceType(resourceModel.getResourceType());
sysLocaleResource.setResourceKey(resourceModel.getResourceKey());
sysLocaleResource.setResourceValue(resourceModel.getResourceValue());
sysLocaleResource.setIsSystem(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
insertSysLocaleResource(sysLocaleResource);
redisRes.deleteKey(resourceModel.getKey());
}
}
}

@ -35,7 +35,7 @@
//// pager = PagerHelper.getPager(pager, (int) sysLogExceptionRDao.count());
//// return new ListPager(sysLogExceptionRDao.findAll(),pager);
//// }else{
//// Bson bson = CoreBsonPack.packBsonBySysLogException(sysLogException);
//// Bson bson = CoreBsonPack.packMongoBySysLogException(sysLogException);
//// pager = PagerHelper.getPager(pager,sysLogExceptionRDao.findByBsonCount(bson));
//// //分页,排序
//// return new ListPager(sysLogExceptionRDao.findByBsonPager(bson,pager,sysLogException.getOrderByParam()

@ -96,7 +96,7 @@
//// pager = PagerHelper.getPager(pager,logSystemRDao.listCount());
//// return new ListPager(logSystemRDao.listPager(pager),pager);
//// } else {
//// Bson bson = CoreBsonPack.packBsonByLogSystem(logSystem);
//// Bson bson = CoreBsonPack.packMongoByLogSystem(logSystem);
//// pager = PagerHelper.getPager(pager,logSystemRDao.findByBsonCount(bson));
//// return new ListPager(logSystemRDao.findByBsonPager(bson,pager,logSystem.getOrderByParam()
//// ,logSystem.getAscOrDesc()),pager);

@ -55,7 +55,7 @@
//// pager = PagerHelper.getPager(pager,sysLogTaskTimeRDao.listCount());
//// return new ListPager(sysLogTaskTimeRDao.listPager(pager),pager);
//// } else {
//// Bson bson = CoreBsonPack.packBsonByLogTaskTime(sysLogTaskTime);
//// Bson bson = CoreBsonPack.packMongoByLogTaskTime(sysLogTaskTime);
//// pager = PagerHelper.getPager(pager,sysLogTaskTimeRDao.findByBsonCount(bson));
//// return new ListPager(sysLogTaskTimeRDao.findByBsonPager(bson,pager,sysLogTaskTime.getOrderByParam()
//// ,sysLogTaskTime.getAscOrDesc()),pager);

@ -3,6 +3,7 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysOrderNoRuleService;
import cn.estsh.i3plus.core.apiservice.util.OrderNoMakeUtil;
import cn.estsh.i3plus.platform.common.tool.StringTool;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper;
@ -81,9 +82,9 @@ public class SysOrderNoRuleService implements ISysOrderNoRuleService {
pager = PagerHelper.getPager(pager, sysOrderNoRuleRDao.listCount());
return new ListPager(sysOrderNoRuleRDao.listPager(pager), pager);
} else {
String hqlPack = CoreHqlPack.packHqlSysOrderNoRule(sysOrderNoRule);
DdlPackBean hqlPack = CoreHqlPack.packHqlSysOrderNoRule(sysOrderNoRule);
pager = PagerHelper.getPager(pager, sysOrderNoRuleRDao.findByHqlWhereCount(hqlPack));
return new ListPager(sysOrderNoRuleRDao.findByHqlWherePage(hqlPack + sysOrderNoRule.orderBy(), pager), pager);
return new ListPager(sysOrderNoRuleRDao.findByHqlWherePage(hqlPack, pager), pager);
}
}

@ -234,7 +234,7 @@ public class SysOrganizeService implements ISysOrganizeService {
@Override
public long getSysOrganizeCount() {
return organizeRDao.listCount();
return organizeRDao.findByHqlWhereCount(DdlPackBean.getDdlPackBean());
}
@Override

@ -2,7 +2,7 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.core.api.iservice.base.ISysLogService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskPlanService;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper;
@ -11,11 +11,9 @@ import cn.estsh.i3plus.pojo.platform.bean.SessionUser;
import cn.estsh.i3plus.pojo.platform.bean.SysRefTaskCyclePlan;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskPlan;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogTaskTime;
import cn.estsh.i3plus.pojo.platform.platrepositorymongo.SysLogTaskTimeRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysRefTaskCyclePlanRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysTaskPlanRepository;
import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
@ -160,9 +158,9 @@ public class SysTaskPlanService implements ISysTaskPlanService {
pager = PagerHelper.getPager(pager, sysTaskPlanRDao.listCount());
return new ListPager(sysTaskPlanRDao.listPager(pager), pager);
} else {
String hqlPack = CoreHqlPack.packHqlSysTaskPlan(sysTaskPlan);
DdlPackBean hqlPack = CoreHqlPack.packHqlSysTaskPlan(sysTaskPlan);
pager = PagerHelper.getPager(pager, sysTaskPlanRDao.findByHqlWhereCount(hqlPack));
return new ListPager(sysTaskPlanRDao.findByHqlWherePage(hqlPack + sysTaskPlan.orderBy(), pager), pager);
return new ListPager(sysTaskPlanRDao.findByHqlWherePage(hqlPack, pager), pager);
}
}
@ -178,6 +176,6 @@ public class SysTaskPlanService implements ISysTaskPlanService {
@Override
@ApiOperation(value = "添加定时任务执行日志", notes = "添加定时任务执行日志")
public void logInsertSysLogTaskTime(SysLogTaskTime sysLogTaskTime) {
logService.insertSysLogTaskTime(sysLogTaskTime);
logService.insertLogTaskTime(sysLogTaskTime);
}
}

@ -1,6 +1,7 @@
package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskService;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper;
@ -126,13 +127,13 @@ public class SysTaskService implements ISysTaskService {
@Override
@ApiOperation(value = "任务管理复杂查询,分页,排序",notes = "任务管理复杂查询,分页,排序")
public ListPager<SysTask> querySysTaskByPager(SysTask sysTask, Pager pager) {
if(sysTask == null) {
if (sysTask == null) {
pager = PagerHelper.getPager(pager, sysTaskRDao.listCount());
return new ListPager(sysTaskRDao.listPager(pager),pager);
}else {
String hqlPack = CoreHqlPack.packHqlSysTask(sysTask);
return new ListPager(sysTaskRDao.listPager(pager), pager);
} else {
DdlPackBean hqlPack = CoreHqlPack.packHqlSysTask(sysTask);
pager = PagerHelper.getPager(pager, sysTaskRDao.findByHqlWhereCount(hqlPack));
return new ListPager(sysTaskRDao.findByHqlWherePage(hqlPack + sysTask.orderBy(),pager),pager);
return new ListPager(sysTaskRDao.findByHqlWherePage(hqlPack, pager), pager);
}
}

@ -609,7 +609,7 @@ public class SysUserService implements ISysUserService {
@Override
public SessionUser packPageSessionUser(SessionUser sessionUser, SysUser user) {
SysConfig configPageList = RedisUtilTool.getSysConfigByConfigCode(redisRes, CommonConstWords.CONFIG_PAGE_SIZE_LIST);
SysConfig configPageList = RedisUtilTool.getSysConfigByConfigCode(CommonConstWords.CONFIG_PAGE_SIZE_LIST);
try {
if(configPageList != null && StringUtils.isNotBlank(configPageList.getConfigValue())){
String[] split = configPageList.getConfigValue().split(",");
@ -623,7 +623,7 @@ public class SysUserService implements ISysUserService {
sessionUser.setPageSizeArray(CommonConstWords.CONFIG_PAGE_SIZE_LIST_DEFAULT);
}
SysConfig configPageSize = RedisUtilTool.getSysConfigByConfigCode(redisRes, CommonConstWords.CONFIG_PAGE_DEFAULT_SIZE);
SysConfig configPageSize = RedisUtilTool.getSysConfigByConfigCode(CommonConstWords.CONFIG_PAGE_DEFAULT_SIZE);
try {
if(configPageSize != null && StringUtils.isNotBlank(configPageSize.getConfigValue())){
sessionUser.setPageDefaultSize(Integer.parseInt(configPageSize.getConfigValue()));

@ -1,6 +1,7 @@
package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISystemResourceService;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
@ -32,7 +33,7 @@ import java.util.Map;
@Service
public class SystemResourceService implements ISystemResourceService {
@Resource(name="redisRes")
@Resource(name= CommonConstWords.IMPP_REDIS_RES)
private ImppRedis redisRes;
@Autowired

@ -0,0 +1,171 @@
package cn.estsh.i3plus.core.apiservice.util;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.platform.plugin.elasticsearch.ElasticSearchPack;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.BsonPackTool;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogException;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogOperate;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogSystem;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogTaskTime;
import com.mongodb.BasicDBObject;
import org.apache.commons.lang3.StringUtils;
import org.bson.conversions.Bson;
/**
* @Description :
* @Reference :
* @Author : wei.peng
* @CreateDate : 20-3-10 4:12
* @Modify:
**/
public class NoSqlPack {
/**
* Es
* @param bean
* @return
*/
public static ElasticSearchPack packElasticSearchPack(BaseBean bean){
ElasticSearchPack result = null;
if(StringUtils.isNotBlank(bean.getCreateDatetime())){
result = ElasticSearchPack.imppBuild(TimeTool.parseDate(bean.getCreateDatetime()),bean.getClass());
}else{
result = ElasticSearchPack.imppBuild(bean.getClass());
}
if(StringUtils.isNotBlank(bean.getOrderByParam())){
if(CommonEnumUtil.ASC_OR_DESC.ASC.getValue() == bean.getAscOrDesc()){
result.asc(bean.getOrderByParam());
}else {
result.desc(bean.getOrderByParam());
}
}else{
result.orderKeywordDesc("createDatetime");
}
return result;
}
/**
*
*
* @param sysLogException
* @return
*/
public static Bson packMongoBySysLogException(SysLogException sysLogException) {
Bson bson = new BasicDBObject();
bson = BsonPackTool.getNumEqualPack(sysLogException.getExcModule(), "excModule", bson);
bson = BsonPackTool.getStringLikerPack(sysLogException.getExcMessage(), "excMessage", bson);
bson = BsonPackTool.timeBuilder("createDatetime", bson, sysLogException.getCreateDateTimeStart(),sysLogException.getCreateDateTimeEnd());
return bson;
}
public static ElasticSearchPack packEsSysLogException(SysLogException bean) {
ElasticSearchPack result = packElasticSearchPack(bean);
result.andTextEquals("excModule",bean.getExcModule());
result.andKeywordLike("excMessage",bean.getExcMessage());
result.andKeywordDateTimeBetween("createDatetime",bean.getCreateDateTimeStart(),bean.getCreateDateTimeEnd());
return result;
}
/**
*
*
* @param logOperate
* @return
*/
public static Bson packMongoByLogOperate(SysLogOperate logOperate) {
Bson bson = new BasicDBObject();
bson = BsonPackTool.getNumEqualPack(logOperate.getId(), "id", bson);
bson = BsonPackTool.getNumEqualPack(logOperate.getOperateType(), "operateType", bson);
bson = BsonPackTool.getNumEqualPack(logOperate.getOperateModule(), "operateModule", bson);
bson = BsonPackTool.timeBuilder("createDatetime", bson, logOperate.getCreateDateTimeStart(),logOperate.getCreateDateTimeEnd());
bson = BsonPackTool.getStringLikerPack(logOperate.getRemoteIp(), "remoteIp", bson);
bson = BsonPackTool.getStringLikerPack(logOperate.getOperateMessage(), "operateMessage", bson);
bson = BsonPackTool.getStringLikerPack(logOperate.getCreateUser(), "createUser", bson);
return bson;
}
public static ElasticSearchPack packEsSysLogOperate(SysLogOperate bean) {
ElasticSearchPack result = packElasticSearchPack(bean);
result.andKeywordEquals("id",bean.getId());
result.andKeywordEquals("operateType",bean.getOperateType());
result.andKeywordEquals("operateModule",bean.getOperateModule());
result.andStringEquals("remoteIp",bean.getRemoteIp());
result.andStringEquals("createUser",bean.getCreateUser());
result.andStringLike("operateMessage",bean.getOperateMessage());
result.andStringDateTimeBetween("createDatetime",bean.getCreateDateTimeStart(),bean.getCreateDateTimeEnd());
return result;
}
/**
*
*
* @param logSystem
* @return
*/
public static Bson packMongoByLogSystem(SysLogSystem logSystem) {
Bson bson = new BasicDBObject();
bson = BsonPackTool.getNumEqualPack(logSystem.getId(), "id", bson);
bson = BsonPackTool.getNumEqualPack(logSystem.getLogLevel(), "logLevel", bson);
bson = BsonPackTool.getNumEqualPack(logSystem.getLogModuleId(), "logModuleId", bson);
bson = BsonPackTool.timeBuilder("createDatetime", bson, logSystem.getCreateDateTimeStart(),logSystem.getCreateDateTimeEnd());
bson = BsonPackTool.getStringLikerPack(logSystem.getRemoteIp(), "remoteIp", bson);
bson = BsonPackTool.getStringLikerPack(logSystem.getRequestUrl(), "requestUrl", bson);
bson = BsonPackTool.getStringLikerPack(logSystem.getLogMethod(), "logMethod", bson);
return bson;
}
public static ElasticSearchPack packEsSysLogSystem(SysLogSystem bean) {
ElasticSearchPack result = packElasticSearchPack(bean);
result.andTextEquals("id",bean.getId());
result.andTextEquals("logLevel",bean.getLogLevel());
result.andTextEquals("logModuleId",bean.getLogModuleId());
result.andStringEquals("remoteIp",bean.getRemoteIp());
result.andTextLike("requestUrl",bean.getRequestUrl());
result.andKeywordDateTimeBetween("createDatetime",bean.getCreateDateTimeStart(),bean.getCreateDateTimeEnd());
return result;
}
/**
*
*
* @param sysLogTaskTime
* @return
*/
public static Bson packMongoByLogTaskTime(SysLogTaskTime sysLogTaskTime) {
Bson bson = new BasicDBObject();
bson = BsonPackTool.getNumEqualPack(sysLogTaskTime.getId(), "id", bson);
bson = BsonPackTool.getStringLikerPack(sysLogTaskTime.getName(), "name", bson);
bson = BsonPackTool.getStringLikerPack(sysLogTaskTime.getGroupName(), "groupName", bson);
bson = BsonPackTool.timeBuilder("createDatetime", bson, sysLogTaskTime.getCreateDateTimeStart(),sysLogTaskTime.getCreateDateTimeEnd());
return bson;
}
public static ElasticSearchPack packEsSysLogTaskTime(SysLogTaskTime bean) {
ElasticSearchPack result = packElasticSearchPack(bean);
result.andKeywordEquals("id",bean.getId());
result.andTextLike("name",bean.getName());
result.andStringEquals("groupName",bean.getGroupName());
result.andStringEquals("schedulerServerIp",bean.getSchedulerServerIp());
result.andKeywordDateTimeBetween("createDatetime",bean.getCreateDateTimeStart(),bean.getCreateDateTimeEnd());
return result;
}
}

@ -3,6 +3,7 @@ package test.cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysLocaleResourceService;
import cn.estsh.i3plus.core.apiservice.serviceimpl.busi.TestBase;
import cn.estsh.i3plus.platform.common.tool.ExcelTool;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.pojo.platform.bean.SysLocaleResource;
import cn.estsh.impp.framework.boot.util.ImppRedis;
import org.junit.Test;
@ -29,7 +30,7 @@ public class TestSysLocaleResourceService extends TestBase {
@Autowired
private EntityManager entityManager;
@Resource(name = "redisRes")
@Resource(name = CommonConstWords.IMPP_REDIS_RES)
private ImppRedis redisRes;

@ -1,6 +1,7 @@
package test.cn.estsh.i3plus.core.apiservice.util;
import cn.estsh.i3plus.platform.common.tool.ExcelTool;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.pojo.platform.bean.SysMenu;
import cn.estsh.impp.framework.boot.util.ImppRedis;
import com.alibaba.fastjson.JSON;
@ -29,7 +30,7 @@ public class ExcelReadData {
private static ImppRedis redisRes;
@Resource(name = "redisRes")
@Resource(name = CommonConstWords.IMPP_REDIS_RES)
public void setRedisRes(ImppRedis redisRes) {
this.redisRes = redisRes;
}

@ -2,6 +2,7 @@ package test.cn.estsh.i3plus.core.apiservice.util;
import cn.estsh.i3plus.platform.common.tool.ExcelTool;
import cn.estsh.i3plus.platform.common.tool.StringTool;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.pojo.platform.bean.SysMenu;
import cn.estsh.impp.framework.boot.util.ImppRedis;
import lombok.Data;
@ -945,7 +946,7 @@ public class JavaTest {
private static ImppRedis redisRes;
@Resource(name = "redisRes")
@Resource(name = CommonConstWords.IMPP_REDIS_RES)
public void setRedisRes(ImppRedis redisRes) {
this.redisRes = redisRes;
}

@ -2,6 +2,7 @@ package cn.estsh.i3plus.core.apiservice.util;
import cn.estsh.i3plus.core.apiservice.serviceimpl.busi.TestBase;
import cn.estsh.i3plus.platform.common.tool.ExcelTool;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysTool;
import cn.estsh.impp.framework.boot.util.ImppRedis;
@ -37,7 +38,7 @@ public class TestExcelUtil extends TestBase {
@Autowired
private EntityManager entityManager;
@Resource(name = "redisRes")
@Resource(name = CommonConstWords.IMPP_REDIS_RES)
private ImppRedis redisRes;
@Test

@ -7,7 +7,7 @@
<groupId>i3plus.core</groupId>
<artifactId>i3plus-core</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<version>1.0-DEV-SNAPSHOT</version>
<modules>
<module>modules/i3plus-core-api</module>
<module>modules/i3plus-core-apiservice</module>
@ -273,6 +273,11 @@
<version>1.1.6</version>
</dependency>
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>7.5.1</version>
</dependency>
</dependencies>
</dependencyManagement>
@ -344,7 +349,7 @@
</configuration>
</plugin>
</plugins>
<finalName>${project.artifactId}-${profileActive}-${project.version}</finalName>
<finalName>${project.artifactId}-${project.version}</finalName>
</build>
<profiles>
<profile>

Loading…
Cancel
Save