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

yun-zuoyi
汪云昊 5 years ago
commit 2e598ee33f

@ -40,6 +40,14 @@ public interface ISysTaskCycleService {
SysTaskCycle insertSysTaskCycle(SysTaskCycle sysTaskCycle);
/**
*
* @param sysTaskCycleList
* @return
*/
@ApiOperation(value = "批量新增任务周期",notes = "批量新增任务周期")
List<SysTaskCycle> insertBatchSysTaskCycle(List<SysTaskCycle> sysTaskCycleList);
/**
*
* @return
*/

@ -4,7 +4,6 @@ import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.platform.bean.SysTask;
import io.swagger.annotations.ApiOperation;
import org.springframework.data.domain.Page;
import java.util.List;
@ -26,6 +25,14 @@ public interface ISysTaskService {
SysTask insertSysTask(SysTask sysTask);
/**
*
* @param sysTaskList
* @return
*/
@ApiOperation(value = "批量添加任务",notes = "批量添加任务")
List<SysTask> insertBatchSysTask(List<SysTask> sysTaskList);
/**
*
* @param sysTask
* @return
@ -85,4 +92,12 @@ public interface ISysTaskService {
*/
@ApiOperation(value = "根据code查询任务",notes = "根据code查询任务")
SysTask getSysTaskByCode(String code);
/**
*
* @param sysTask
* @return
*/
@ApiOperation(value = "定时任务唯一校验",notes = "定时任务唯一校验")
boolean checkSysTaskOnly(SysTask sysTask);
}

@ -33,6 +33,10 @@
</dependency>
<dependency>
<groupId>i3plus.icloud</groupId>
<artifactId>i3plus-icloud-ptl</artifactId>
</dependency>
<dependency>
<groupId>i3plus.icloud</groupId>
<artifactId>i3plus-icloud-andon</artifactId>
</dependency>
<dependency>

@ -3,6 +3,7 @@ package cn.estsh.i3plus.core.apiservice.auth.realm;
import cn.estsh.i3plus.core.api.iservice.base.ISystemLoginService;
import cn.estsh.i3plus.pojo.base.shirotoken.AdminToken;
import cn.estsh.i3plus.pojo.platform.bean.SessionUser;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.authc.AuthenticationInfo;
import org.apache.shiro.authc.AuthenticationToken;
@ -47,12 +48,9 @@ public class AdminAuthRealm extends AuthorizingRealm {
SessionUser sessionUser = systemLoginService.queryCheckAdminLogin(( AdminToken ) authenticationToken);
LOGGER.info("管理员令牌验证:{}", sessionUser);
return new SimpleAuthenticationInfo(sessionUser, (( AdminToken ) authenticationToken).getLoginPwd(), this.getName());
// }catch (ImppBusiException e){
// e.printStackTrace();
// throw new AuthenticationException();
}catch (Exception e){
e.printStackTrace();
throw new AuthenticationException();
throw new AuthenticationException(e.getMessage());
}
}
}

@ -1,7 +1,9 @@
package cn.estsh.i3plus.core.apiservice.controller.base;
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.busi.SysLocaleLanguageService;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
@ -12,7 +14,6 @@ import cn.estsh.i3plus.pojo.platform.bean.SysMenu;
import cn.estsh.impp.framework.base.controller.CoreBaseController;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.impp.framework.boot.util.LocaleUtils;
import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
@ -49,6 +50,9 @@ public class AuthController extends CoreBaseController {
@Autowired
private ICoreMemTreeService memTreeService;
@Autowired
private ISysMenuService sysMenuService;
/**
*
*
@ -147,6 +151,7 @@ public class AuthController extends CoreBaseController {
ValidatorBean.checkIsNumber(parentId,"父节点不能为空");
List<SysMenu> result = memTreeService.packTreeSysMenuByUserIdAndParentId(getSessionUser().getUser().getId(), Long.parseLong(parentId));
result=sysMenuService.setLanguageSysMenuName(AuthUtil.getSessionUser().getLanguageCode(),result);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(result);
} catch (ImppBusiException busExcep) {
LOGGER.error(busExcep.getErrorMsg() + "{}", busExcep.getErrorDetail(), busExcep);
@ -171,7 +176,11 @@ public class AuthController extends CoreBaseController {
ValidatorBean.checkIsNumber(parentId,"父节点不能为空");
List<SysMenu> result = memTreeService.packTreeSysMenuByUserIdAndParentId(getSessionUser().getUser().getId(), Long.parseLong(parentId));
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
result = findChildList(result);
// 国际化
result = sysMenuService.setLanguageSysMenuName(getSessionUser().getLanguageCode(),result);
return ResultBean.success("操作成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
.setResultList(findChildList(result));
} catch (ImppBusiException busExcep) {
LOGGER.error(busExcep.getErrorMsg() + "{}", busExcep.getErrorDetail(), busExcep);

@ -197,7 +197,7 @@ public class WhiteController extends CoreBaseController {
userLoginStatus = CommonEnumUtil.USER_LOGIN_STATUS.USER_INFO_NULL;
} catch (AuthenticationException e) {
// 系统异常
result = ResultBean.fail(e.getMessage()).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode());
result = ResultBean.fail(ImppExceptionEnum.LOGIN_EXCEPTION_USER_PASSWORD.getDescription()).setCode(ImppExceptionEnum.LOGIN_EXCEPTION_USER_PASSWORD.getCode());
result.setErrorMsg(e.getMessage());
// 记录登录记录

@ -159,8 +159,7 @@ public class SysConfigController extends CoreBaseController {
try {
// 条件验证
ValidatorBean.beginValid(bean)
.notNull("configCode",bean.getConfigCode())
.notNull("configValue",bean.getConfigValue());
.notNull("configCode",bean.getConfigCode());
SysConfig config = sysConfigService.getSysConfigByCode(bean.getConfigCode());
ValidatorBean.checkNotNull(config,"不存在的配置信息");

@ -1,19 +1,28 @@
package cn.estsh.i3plus.core.apiservice.controller.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysFileService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysMessageService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskService;
import cn.estsh.i3plus.icloud.andon.sdk.IAndonCommonCloud;
import cn.estsh.i3plus.icloud.mes.pcn.sdk.IMesPcnCommonCloud;
import cn.estsh.i3plus.icloud.mes.sdk.IMesCommonCloud;
import cn.estsh.i3plus.icloud.ptl.sdk.IPtlCommonCloud;
import cn.estsh.i3plus.icloud.softswitch.sdk.IBsCommonCloud;
import cn.estsh.i3plus.icloud.wms.sdk.IWmsCommonCloud;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
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.PlatformConstWords;
import cn.estsh.i3plus.pojo.base.bean.BaseResultBean;
import cn.estsh.i3plus.pojo.base.bean.ImppFile;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysFile;
import cn.estsh.i3plus.pojo.platform.bean.SysTask;
import cn.estsh.impp.framework.base.controller.CoreBaseController;
import cn.estsh.impp.framework.base.service.CommonServiceImpl;
@ -21,6 +30,8 @@ import cn.estsh.impp.framework.base.service.ICommonService;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.fileservice.ImppFileService;
import cn.estsh.impp.framework.boot.util.RedisCacheTool;
import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.Api;
@ -28,14 +39,17 @@ 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.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.persistence.EntityManager;
import java.io.File;
import java.io.FileInputStream;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* @Description :
@ -72,25 +86,41 @@ public class SysTaskController extends CoreBaseController {
@Autowired
private IBsCommonCloud bsCommonCloud;
@Autowired
private IPtlCommonCloud ptlCommonCloud;
@Autowired
private EntityManager entityManager;
@Autowired
private ImppFileService fileService;
@Autowired
private ISysFileService sysFileService;
@Autowired
private ISysMessageService sysMessageService;
/**
*
*
* @param softType
* @return
*/
private ICommonService getCommonService(int softType){
private ICommonService getCommonService(int softType) {
ICommonService commonService = coreCommonService;
// 平台
if(softType == CommonEnumUtil.SOFT_TYPE.CORE.getValue()){
if (softType == CommonEnumUtil.SOFT_TYPE.CORE.getValue()) {
commonService = coreCommonService;
// WMS
} else if(softType == CommonEnumUtil.SOFT_TYPE.WMS.getValue()){
} else if (softType == CommonEnumUtil.SOFT_TYPE.WMS.getValue()) {
commonService = wmsCommonCloud;
// MES
} else if(softType == CommonEnumUtil.SOFT_TYPE.MES.getValue()){
} else if (softType == CommonEnumUtil.SOFT_TYPE.MES.getValue()) {
commonService = mesCommonCloud;
// MES_PCN
} else if(softType == CommonEnumUtil.SOFT_TYPE.MES_PCN.getValue()){
} else if (softType == CommonEnumUtil.SOFT_TYPE.MES_PCN.getValue()) {
commonService = mesPcnCommonCloud;
// ANDON
} else if (softType == CommonEnumUtil.SOFT_TYPE.ANDON.getValue()) {
@ -98,12 +128,16 @@ public class SysTaskController extends CoreBaseController {
// SoftSwitch
} else if (softType == CommonEnumUtil.SOFT_TYPE.SOFTSWITCH.getValue()) {
commonService = bsCommonCloud;
// Ptl
} else if (softType == CommonEnumUtil.SOFT_TYPE.PTL.getValue()) {
commonService = ptlCommonCloud;
}
return commonService;
}
/**
*
*
* @param sysTask
* @return
*/
@ -120,7 +154,7 @@ public class SysTaskController extends CoreBaseController {
// 类校验
BaseResultBean resultBean = getCommonService(sysTask.getTaskSoftType()).isExistClass(sysTask.getTaskPackage(), sysTask.getTaskClass());
if(!resultBean.isSuccess()){
if (!resultBean.isSuccess()) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
@ -128,6 +162,15 @@ public class SysTaskController extends CoreBaseController {
.build();
}
if (!sysTaskService.checkSysTaskOnly(sysTask)) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("任务名称【%s】必须唯一", sysTask.getName())
.setErrorSolution("请重新输入")
.build();
}
// 设置组织代码
sysTask.setOrganizeCode(AuthUtil.getOrganize().getOrganizeCode());
@ -142,6 +185,7 @@ public class SysTaskController extends CoreBaseController {
/**
*
*
* @param sysTask
* @return
*/
@ -156,6 +200,25 @@ public class SysTaskController extends CoreBaseController {
.notNull("taskPackage", sysTask.getTaskPackage())
.notNull("taskClass", sysTask.getTaskClass());
// 类校验
BaseResultBean resultBean = getCommonService(sysTask.getTaskSoftType()).isExistClass(sysTask.getTaskPackage(), sysTask.getTaskClass());
if (!resultBean.isSuccess()) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
.setErrorDetail(resultBean.errorMsg)
.build();
}
if (!sysTaskService.checkSysTaskOnly(sysTask)) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("任务名称【%s】必须唯一", sysTask.getName())
.setErrorSolution("请重新输入")
.build();
}
sysTaskService.updateSysTask(sysTask);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
@ -167,6 +230,7 @@ public class SysTaskController extends CoreBaseController {
/**
*
*
* @param idStr id
* @return
*/
@ -198,6 +262,7 @@ public class SysTaskController extends CoreBaseController {
/**
*
*
* @return
*/
@GetMapping(value = "/list")
@ -216,6 +281,7 @@ public class SysTaskController extends CoreBaseController {
/**
*
*
* @param sysTask
* @param pager
* @return
@ -235,6 +301,7 @@ public class SysTaskController extends CoreBaseController {
/**
* id
*
* @param idsStr id
* @return
*/
@ -260,6 +327,7 @@ public class SysTaskController extends CoreBaseController {
/**
* code
*
* @return
*/
@GetMapping(value = "/get-code/{code}")
@ -278,4 +346,129 @@ public class SysTaskController extends CoreBaseController {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
/**************************************** 数据导入导出 ***********************************************/
@GetMapping(value = "/export")
@ApiOperation(value = "导出数据")
public ResultBean<SysTask> exportExcel(SysTask bean, boolean needSendMessage) {
ListPager<SysTask> listPager;
List<SysFile> result = new ArrayList<>();
File zipFile = null;
File excelDir = null;
File excelFile;
ExcelTool excelTool;
try {
Pager pager = new Pager(0);
// 判断是否超过excel最大导出数量设定值
pager.setPageSize(RedisCacheTool.getSysConfigIntVal(PlatformConstWords.EXCEL_EXPORT_MAX_ROW, 20000));
// 数据校验
Map<String, String> colMap = ExcelTool.getColName(SysTask.class);
String[] colName = new String[colMap.size()];
int i = 0;
for (String key : colMap.keySet()) {
colName[i++] = key;
}
excelTool = new ExcelTool(entityManager, RedisCacheTool.getImppRedis());
excelDir = new File(System.getProperty("java.io.tmpdir") + File.separator + new Date().getTime());
excelDir.mkdir();
do {
listPager = sysTaskService.querySysTaskByPager(bean, pager);
pager = listPager.getObjectPager();
// 将excel导出至临时文件夹
excelFile = new File(MessageFormat.format("{0}{1}{2}{3}.xls", excelDir, File.separator, SysTask.class.getSimpleName(),
pager.getCurrentPage()));
excelFile.createNewFile();
excelTool.exportData(excelFile, listPager.getObjectList(), SysTask.class, colName);
pager.setCurrentPage(pager.getCurrentPage() + 1);
} while (pager.getCurrentPage() <= pager.getTotalPages());
// 将所有excel文件打包上传
zipFile = ZipTool.zipFile(null, excelDir);
SysFile sysFile = fileService.upload(new FileInputStream(zipFile), zipFile.getName(),
StringTool.getStringFileSuffix(zipFile.getName(), true), CommonEnumUtil.SOFT_TYPE.CORE.getValue());
result.add(sysFileService.insertSysFile(sysFile));
// 是否发送站内信
if (needSendMessage) {
sysMessageService.insertSysMessage(ExcelTool.sendStationLetter(result, getSessionUser().getUser().getId()));
}
return ResultBean.success("导出成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(result);
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
} finally {
// 清理临时文件文件
if (zipFile != null) {
FileTool.deleteFile(zipFile.getPath());
}
if (excelDir != null) {
FileTool.deleteFile(excelDir.getPath());
}
}
}
@PostMapping(value = "/import")
@ApiOperation(value = "导入数据")
public ResultBean importExcel(@RequestParam("file") MultipartFile file) {
try {
ExcelTool excelTool = new ExcelTool(entityManager, RedisCacheTool.getImppRedis());
List<SysTask> beanList = excelTool.importData(file.getOriginalFilename(), file.getInputStream(), SysTask.class);
// 校验导入数据并初始化
for (SysTask sysTask : beanList) {
if (!sysTaskService.checkSysTaskOnly(sysTask)) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("任务名称【%s】必须唯一", sysTask.getName())
.setErrorSolution("请重新输入")
.build();
}
ConvertBean.modelInitialize(sysTask, AuthUtil.getSessionUser());
}
sysTaskService.insertBatchSysTask(beanList);
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 = "/down-template")
@ApiOperation(value = "下载导入模板")
public ResultBean downExcelTemplate() {
try {
ExcelTool excelTool = new ExcelTool(entityManager, RedisCacheTool.getImppRedis());
String importTemplateCode = "SysTaskImportTemplate";
// 查询服务器中是否存在模板文件
ImppFile fastDFSFile = new ImppFile("SysTaskImportTemplate.xls",
excelTool.importTemplate(SysTask.class), ".xls");
SysFile sysFile = sysFileService.getSysFileByFileCode(importTemplateCode);
if (sysFile == null) {
sysFile = fileService.upload(fastDFSFile, CommonEnumUtil.SOFT_TYPE.CORE.getValue());
sysFile.setFileCode(importTemplateCode);
sysFile = sysFileService.insertSysFile(sysFile);
}
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(sysFile);
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -1,30 +1,32 @@
package cn.estsh.i3plus.core.apiservice.controller.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskCycleService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskPlanService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskService;
import cn.estsh.i3plus.core.api.iservice.busi.*;
import cn.estsh.i3plus.icloud.andon.sdk.IAndonScheduleJobCloud;
import cn.estsh.i3plus.icloud.mes.pcn.sdk.IMesPcnScheduleJobCloud;
import cn.estsh.i3plus.icloud.mes.sdk.IMesScheduleJobCloud;
import cn.estsh.i3plus.icloud.wms.sdk.IWmsScheduleJobCloud;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
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.PlatformConstWords;
import cn.estsh.i3plus.pojo.base.bean.BaseResultBean;
import cn.estsh.i3plus.pojo.base.bean.ImppFile;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysRefTaskCyclePlan;
import cn.estsh.i3plus.pojo.platform.bean.SysTask;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskCycle;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskPlan;
import cn.estsh.i3plus.pojo.platform.bean.*;
import cn.estsh.impp.framework.base.controller.CoreBaseController;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.fileservice.ImppFileService;
import cn.estsh.impp.framework.boot.quartz.IQuartzJobService;
import cn.estsh.impp.framework.boot.quartz.ScheduleTool;
import cn.estsh.impp.framework.boot.util.RedisCacheTool;
import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.Api;
@ -34,9 +36,17 @@ 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.multipart.MultipartFile;
import javax.persistence.EntityManager;
import java.io.File;
import java.io.FileInputStream;
import java.text.MessageFormat;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* @Description :
@ -61,6 +71,19 @@ public class SysTaskCycleController extends CoreBaseController {
@Autowired
private ISysTaskService sysTaskService;
@Autowired
private ISysFileService sysFileService;
@Autowired
private ImppFileService fileService;
@Autowired
private ISysMessageService sysMessageService;
@Autowired
private EntityManager entityManager;
/************ 微服定时任务 *********/
@Autowired
private ScheduleTool scheduleTool;
@ -173,7 +196,7 @@ public class SysTaskCycleController extends CoreBaseController {
BaseResultBean baseResultBean =
getJobService(sysTaskPlan.getTaskSoftTypeRdd()).checkJobExists(sysTask.getTaskPackage(),
sysTask.getTaskClass());
if(sysTaskPlan == null || sysTask == null || (baseResultBean.isSuccess() && (boolean)baseResultBean.getResultObject())){
if (sysTaskPlan == null || sysTask == null || (baseResultBean.isSuccess() && (boolean) baseResultBean.getResultObject())) {
continue;
}
@ -325,4 +348,130 @@ public class SysTaskCycleController extends CoreBaseController {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
/**************************************** 数据导入导出 ***********************************************/
@GetMapping(value = "/export")
@ApiOperation(value = "导出数据")
public ResultBean<SysTaskCycle> exportExcel(SysTaskCycle bean, boolean needSendMessage) {
ListPager<SysTaskCycle> listPager;
List<SysFile> result = new ArrayList<>();
File zipFile = null;
File excelDir = null;
File excelFile;
ExcelTool excelTool;
try {
Pager pager = new Pager(0);
// 判断是否超过excel最大导出数量设定值
pager.setPageSize(RedisCacheTool.getSysConfigIntVal(PlatformConstWords.EXCEL_EXPORT_MAX_ROW, 20000));
// 数据校验
Map<String, String> colMap = ExcelTool.getColName(SysTaskCycle.class);
String[] colName = new String[colMap.size()];
int i = 0;
for (String key : colMap.keySet()) {
colName[i++] = key;
}
excelTool = new ExcelTool(entityManager, RedisCacheTool.getImppRedis());
excelDir = new File(System.getProperty("java.io.tmpdir") + File.separator + new Date().getTime());
excelDir.mkdir();
do {
listPager = sysTaskCycleService.querySysTaskCycleByPager(bean, pager);
pager = listPager.getObjectPager();
// 将excel导出至临时文件夹
excelFile = new File(MessageFormat.format("{0}{1}{2}{3}.xls", excelDir, File.separator,
SysTaskCycle.class.getSimpleName(),
pager.getCurrentPage()));
excelFile.createNewFile();
excelTool.exportData(excelFile, listPager.getObjectList(), SysTaskCycle.class, colName);
pager.setCurrentPage(pager.getCurrentPage() + 1);
} while (pager.getCurrentPage() <= pager.getTotalPages());
// 将所有excel文件打包上传
zipFile = ZipTool.zipFile(null, excelDir);
SysFile sysFile = fileService.upload(new FileInputStream(zipFile), zipFile.getName(),
StringTool.getStringFileSuffix(zipFile.getName(), true), CommonEnumUtil.SOFT_TYPE.CORE.getValue());
result.add(sysFileService.insertSysFile(sysFile));
// 是否发送站内信
if (needSendMessage) {
sysMessageService.insertSysMessage(ExcelTool.sendStationLetter(result, getSessionUser().getUser().getId()));
}
return ResultBean.success("导出成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(result);
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
} finally {
// 清理临时文件文件
if (zipFile != null) {
FileTool.deleteFile(zipFile.getPath());
}
if (excelDir != null) {
FileTool.deleteFile(excelDir.getPath());
}
}
}
@PostMapping(value = "/import")
@ApiOperation(value = "导入数据")
public ResultBean importExcel(@RequestParam("file") MultipartFile file) {
try {
ExcelTool excelTool = new ExcelTool(entityManager, RedisCacheTool.getImppRedis());
List<SysTaskCycle> beanList = excelTool.importData(file.getOriginalFilename(), file.getInputStream(), SysTaskCycle.class);
//校验导入数据并初始化
for (SysTaskCycle taskCycle : beanList) {
// if (!sysTaskService.checkSysTaskOnly(sysTask)) {
// throw ImppExceptionBuilder.newInstance()
// .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
// .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
// .setErrorDetail("任务名称【%s】必须唯一", sysTask.getName())
// .setErrorSolution("请重新输入")
// .build();
// }
ConvertBean.modelInitialize(taskCycle, AuthUtil.getSessionUser());
}
// sysTaskCycleService.insertSysTaskCycle(beanList);
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 = "/down-template")
@ApiOperation(value = "下载导入模板")
public ResultBean downExcelTemplate() {
try {
ExcelTool excelTool = new ExcelTool(entityManager, RedisCacheTool.getImppRedis());
String importTemplateCode = "SysTaskCycleImportTemplate";
// 查询服务器中是否存在模板文件
ImppFile fastDFSFile = new ImppFile("SysTaskCycleImportTemplate.xls",
excelTool.importTemplate(SysTaskCycle.class), ".xls");
SysFile sysFile = sysFileService.getSysFileByFileCode(importTemplateCode);
if (sysFile == null) {
sysFile = fileService.upload(fastDFSFile, CommonEnumUtil.SOFT_TYPE.CORE.getValue());
sysFile.setFileCode(importTemplateCode);
sysFile = sysFileService.insertSysFile(sysFile);
}
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(sysFile);
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -6,15 +6,20 @@ import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskService;
import cn.estsh.i3plus.icloud.andon.sdk.IAndonScheduleJobCloud;
import cn.estsh.i3plus.icloud.mes.pcn.sdk.IMesPcnScheduleJobCloud;
import cn.estsh.i3plus.icloud.mes.sdk.IMesScheduleJobCloud;
import cn.estsh.i3plus.icloud.ptl.sdk.IPtlScheduleJobCloud;
import cn.estsh.i3plus.icloud.softswitch.sdk.IBsScheduleJobCloud;
import cn.estsh.i3plus.icloud.wms.sdk.IWmsScheduleJobCloud;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.platform.common.tool.ExcelTool;
import cn.estsh.i3plus.platform.common.tool.FileTool;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
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.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysFile;
import cn.estsh.i3plus.pojo.platform.bean.SysTask;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskCycle;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskPlan;
@ -24,6 +29,7 @@ import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.quartz.IQuartzJobService;
import cn.estsh.impp.framework.boot.quartz.ScheduleTool;
import cn.estsh.impp.framework.boot.util.RedisCacheTool;
import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.Api;
@ -32,8 +38,13 @@ 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.multipart.MultipartFile;
import javax.persistence.EntityManager;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* @Description :
@ -58,6 +69,9 @@ public class SysTaskPlanController extends CoreBaseController {
@Autowired
private ISysTaskService sysTaskService;
@Autowired
private EntityManager entityManager;
/************ 微服定时任务 *********/
@Autowired
private ScheduleTool scheduleTool;
@ -77,6 +91,9 @@ public class SysTaskPlanController extends CoreBaseController {
@Autowired
private IBsScheduleJobCloud bsScheduleJobCloud;
@Autowired
private IPtlScheduleJobCloud ptlScheduleJobCloud;
/**
*
*
@ -104,6 +121,9 @@ public class SysTaskPlanController extends CoreBaseController {
// SoftSwitch
} else if (source == CommonEnumUtil.SOFT_TYPE.SOFTSWITCH.getValue()) {
quartzJobService = bsScheduleJobCloud;
// Ptl
} else if (source == CommonEnumUtil.SOFT_TYPE.PTL.getValue()) {
quartzJobService = ptlScheduleJobCloud;
}
return quartzJobService;
}
@ -478,4 +498,131 @@ public class SysTaskPlanController extends CoreBaseController {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
/**************************************** 数据导入导出 ***********************************************/
@GetMapping(value = "/export")
@ApiOperation(value = "导出数据")
public ResultBean<SysTask> exportExcel(SysTask bean, boolean needSendMessage) {
ListPager<SysTask> listPager;
List<SysFile> result = new ArrayList<>();
File zipFile = null;
File excelDir = null;
File excelFile;
ExcelTool excelTool;
try {
Pager pager = new Pager(0);
// 判断是否超过excel最大导出数量设定值
pager.setPageSize(RedisCacheTool.getSysConfigIntVal(PlatformConstWords.EXCEL_EXPORT_MAX_ROW, 20000));
// 数据校验
Map<String, String> colMap = ExcelTool.getColName(SysTaskCycle.class);
String[] colName = new String[colMap.size()];
int i = 0;
for (String key : colMap.keySet()) {
colName[i++] = key;
}
// excelTool = new ExcelTool(entityManager, RedisCacheTool.getImppRedis());
// excelDir = new File(System.getProperty("java.io.tmpdir") + File.separator + new Date().getTime());
// excelDir.mkdir();
// do {
// listPager = sysTaskService.querySysTaskByPager(bean, pager);
// pager = listPager.getObjectPager();
//
// // 将excel导出至临时文件夹
// excelFile = new File(MessageFormat.format("{0}{1}{2}{3}.xls", excelDir, File.separator,
// SysTaskCycle.class.getSimpleName(),
// pager.getCurrentPage()));
// excelFile.createNewFile();
// excelTool.exportData(excelFile, listPager.getObjectList(), SysTaskCycle.class, colName);
//
// pager.setCurrentPage(pager.getCurrentPage() + 1);
// } while (pager.getCurrentPage() <= pager.getTotalPages());
//
// // 将所有excel文件打包上传
// zipFile = ZipTool.zipFile(null, excelDir);
// SysFile sysFile = fileService.upload(new FileInputStream(zipFile), zipFile.getName(),
// StringTool.getStringFileSuffix(zipFile.getName(), true), CommonEnumUtil.SOFT_TYPE.CORE.getValue());
//
// result.add(sysFileService.insertSysFile(sysFile));
//
// // 是否发送站内信
// if (needSendMessage) {
// sysMessageService.insertSysMessage(ExcelTool.sendStationLetter(result, getSessionUser().getUser().getId()));
// }
return ResultBean.success("导出成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(result);
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
} finally {
// 清理临时文件文件
if (zipFile != null) {
FileTool.deleteFile(zipFile.getPath());
}
if (excelDir != null) {
FileTool.deleteFile(excelDir.getPath());
}
}
}
@PostMapping(value = "/import")
@ApiOperation(value = "导入数据")
public ResultBean importExcel(@RequestParam("file") MultipartFile file) {
try {
ExcelTool excelTool = new ExcelTool(entityManager, RedisCacheTool.getImppRedis());
List<SysTask> beanList = excelTool.importData(file.getOriginalFilename(), file.getInputStream(), SysTask.class);
// 校验导入数据并初始化
for (SysTask sysTask : beanList) {
if (!sysTaskService.checkSysTaskOnly(sysTask)) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("任务名称【%s】必须唯一", sysTask.getName())
.setErrorSolution("请重新输入")
.build();
}
ConvertBean.modelInitialize(sysTask, AuthUtil.getSessionUser());
}
sysTaskService.insertBatchSysTask(beanList);
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 = "/down-template")
@ApiOperation(value = "下载导入模板")
public ResultBean downExcelTemplate() {
try {
// ExcelTool excelTool = new ExcelTool(entityManager, RedisCacheTool.getImppRedis());
// String importTemplateCode = "SysTaskCycleImportTemplate";
//
// // 查询服务器中是否存在模板文件
// ImppFile fastDFSFile = new ImppFile("SysTaskCycleImportTemplate.xls",
// excelTool.importTemplate(SysTaskCycle.class), ".xls");
//
// SysFile sysFile = sysFileService.getSysFileByFileCode(importTemplateCode);
// if (sysFile == null) {
// sysFile = fileService.upload(fastDFSFile, CommonEnumUtil.SOFT_TYPE.CORE.getValue());
// sysFile.setFileCode(importTemplateCode);
// sysFile = sysFileService.insertSysFile(sysFile);
// }
// return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(sysFile);
return null;
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -1,6 +1,8 @@
package cn.estsh.i3plus.core.apiservice.schedulejob;
import cn.estsh.i3plus.core.api.iservice.busi.ISysMessageService;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.platform.bean.SysMessage;
import cn.estsh.impp.framework.base.schedule.BaseImppScheduleJob;
import cn.estsh.impp.framework.boot.init.ApplicationProperties;
import io.swagger.annotations.ApiOperation;
@ -39,6 +41,8 @@ public class DemoJob extends BaseImppScheduleJob {
// .setErrorSolution("请检查异常通知邮件")
// .buildSearch();
// }
sysMessageService.querySysMessageByPager(new SysMessage(),new Pager(10,10));
try {
if(getJobParam() != null && StringUtils.isNotBlank(getJobParam())) {
Thread.sleep(Long.parseLong(getJobParam())*1000);

@ -19,6 +19,7 @@ import cn.estsh.i3plus.pojo.platform.repository.SysDictionaryRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysLocaleLanguageRepository;
import cn.estsh.impp.framework.boot.util.ImppRedis;
import cn.estsh.impp.framework.boot.util.ImppSystemTool;
import cn.estsh.impp.framework.boot.util.LocaleUtils;
import cn.estsh.impp.framework.boot.util.RedisCacheTool;
import com.alibaba.fastjson.JSON;
import io.swagger.annotations.ApiOperation;
@ -146,10 +147,15 @@ public class SystemInitService implements ISystemInitService {
public void putAndLoadSysLocaleLanguage() {
// 加载资源
putAndLoadResource();
// 加载WEB资源
putAndLoadWebResource();
//加载语言数据
putAndLoadSysMenu();
// 加载内存数据
putAndLoadRAMResource();
}
public void putAndLoadWebResource() {
@ -264,6 +270,7 @@ public class SystemInitService implements ISystemInitService {
resMap.put(res.getLanguageCode(), res.getResourceValue());
}
pager.resetEndRow();
LOGGER.info("【加载资源】数据分类中 {} / {} ", pager.getEndRow(), pager.getTotalRows());
} while (pager.hasNext());
@ -333,6 +340,12 @@ public class SystemInitService implements ISystemInitService {
}
}
public void putAndLoadRAMResource(){
// 清除内存中的资源缓存
menuService.refreshMemSysMenuLanguage();
LocaleUtils.cleanCacheResMap();
}
/**
*
* @param key

@ -15,6 +15,7 @@ import cn.estsh.i3plus.pojo.platform.bean.SysUser;
import cn.estsh.i3plus.pojo.platform.bean.SysUserPassword;
import cn.estsh.i3plus.pojo.platform.repository.SysUserRepository;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.util.ImppLdapUtils;
import cn.estsh.impp.framework.boot.util.ImppRedis;
import cn.estsh.impp.framework.boot.util.ImppSwitchUtil;
@ -178,16 +179,17 @@ public class SystemLoginService implements ISystemLoginService {
}
if (StringUtils.equals(passwordStr,SysUserPasswordUtil.encoder(pwd))){
userPasswordUtil.checkSysUserLogin(user);
return user;
}
LOGGER.error("密码验证错误。");
} catch (ImppBusiException e) {
throw e;
} catch (Exception e) {
LOGGER.error("登录密码加密出错[Exception]");
}
throw new IncorrectCredentialsException("登陆密码错误");
}
/**

@ -53,8 +53,8 @@ public class LicenseClickService implements ILicenseClickService {
@Override
public void checkLicenseNumberLogin() {
// int count = webSessionManager.getSessionDAO().getActiveSessions().size();
// ImppLicenseTool.checkUserSession(count);
int count = webSessionManager.getSessionDAO().getActiveSessions().size();
ImppLicenseTool.checkUserSession(count);
}
}

@ -40,8 +40,10 @@ public class SysMenuService extends CacheCrudService<SysMenu> implements ISysMen
public static final Logger LOGGER = LoggerFactory.getLogger(SysMenuService.class);
/** 功能权限国际化 */
private final static Map<String, Map<String,String>> MEM_CACHE_LANGAGE = new HashMap<>();
/**
*
*/
private final static Map<String, Map<String, String>> MEM_CACHE_LANGAGE = new HashMap<>();
@Autowired
private SysMenuRepository sysMenuRDao;
@ -73,10 +75,10 @@ public class SysMenuService extends CacheCrudService<SysMenu> implements ISysMen
@Override
public void checkSysMenuOnly(SysMenu bean) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(bean);
DdlPreparedPack.getNumNOEqualPack(bean.getId(),"id",packBean);
DdlPreparedPack.getStringLikerPack(bean.getMenuCode(),"menuCode",packBean);
DdlPreparedPack.getNumNOEqualPack(bean.getId(), "id", packBean);
DdlPreparedPack.getStringLikerPack(bean.getMenuCode(), "menuCode", packBean);
if(sysMenuRDao.findByHqlWhereCount(packBean) > 0){
if (sysMenuRDao.findByHqlWhereCount(packBean) > 0) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.IO_EXCEPTION.getCode())
@ -92,14 +94,14 @@ public class SysMenuService extends CacheCrudService<SysMenu> implements ISysMen
SysLocaleResource resource = new SysLocaleResource();
resource.setResourceType(CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.MENU.getValue());
List<SysLocaleResource> resourceList = localeResourceService.findSysLocaleResource(resource);
if(CollectionUtils.isNotEmpty(resourceList)){
if (CollectionUtils.isNotEmpty(resourceList)) {
for (SysLocaleResource localeResource : resourceList) {
Map<String, String> map = MEM_CACHE_LANGAGE.get(localeResource.getLanguageCode());
if(Objects.isNull(map)){
if (Objects.isNull(map)) {
map = new HashMap<>();
}
map.put(localeResource.getResourceKey(),localeResource.getResourceValue());
MEM_CACHE_LANGAGE.put(localeResource.getLanguageCode(),map);
map.put(localeResource.getResourceKey(), localeResource.getResourceValue());
MEM_CACHE_LANGAGE.put(localeResource.getLanguageCode(), map);
}
}
}
@ -107,25 +109,25 @@ public class SysMenuService extends CacheCrudService<SysMenu> implements ISysMen
@Override
public void refreshRefSysMenuBySoftType() {
List<SysMenu> list = findAll();
if(CollectionUtils.isNotEmpty(list)){
if (CollectionUtils.isNotEmpty(list)) {
Map<Integer, List<Long>> refMap = new HashMap<>();
for (SysMenu menu : list) {
if(Objects.nonNull(menu.getSoftType())){
if (Objects.nonNull(menu.getSoftType())) {
List<Long> ids = refMap.get(menu.getSoftType());
if(CollectionUtils.isEmpty(ids)){
if (CollectionUtils.isEmpty(ids)) {
ids = new ArrayList<>();
}
ids.add(menu.getId());
refMap.put(menu.getSoftType(),ids);
refMap.put(menu.getSoftType(), ids);
}
}
if(MapUtils.isNotEmpty(refMap)){
if (MapUtils.isNotEmpty(refMap)) {
DdlPackBean packBean = null;
for (Integer softType : refMap.keySet()) {
packBean = DdlPackBean.getDdlPackBean();
DdlPreparedPack.getInPackList(refMap.get(softType),"menuId",packBean);
refRoleMenuRDao.updateByProperties("softType",softType,packBean);
DdlPreparedPack.getInPackList(refMap.get(softType), "menuId", packBean);
refRoleMenuRDao.updateByProperties("softType", softType, packBean);
}
}
}
@ -133,11 +135,11 @@ public class SysMenuService extends CacheCrudService<SysMenu> implements ISysMen
@Override
public List<SysMenu> setLanguageSysMenuName(String languageCode, List<SysMenu> menuList) {
if (menuList != null) {
languageCode = StringUtils.isNotBlank(languageCode) ? languageCode : CommonConstWords.DEFAULT_LANGUAGE;
List<SysMenu> resultList = (List<SysMenu>) SerializeTool.copyObject(menuList);
Map<String, String> localeResourceMap = MEM_CACHE_LANGAGE.get(languageCode);
if (menuList != null && localeResourceMap != null) {
List<SysMenu> resultList = (List<SysMenu>) SerializeTool.copyObject(menuList);
for (SysMenu menu : resultList) {
if (menu != null) {
if (StringUtils.isNotBlank(menu.getName())) {
@ -149,11 +151,15 @@ public class SysMenuService extends CacheCrudService<SysMenu> implements ISysMen
String parentNameRdd = localeResourceMap.get(RESOURCE_PREFIX_MENU + menu.getParentNameRdd());
menu.setParentNameRdd(StringUtils.isNotBlank(parentNameRdd) ? parentNameRdd : menu.getParentNameRdd());
}
if(CollectionUtils.isNotEmpty(menu.getChildList())){
menu.setChildList(setLanguageSysMenuName(languageCode, menu.getChildList()));
}
}
}
return resultList;
}
return menuList;
}
@ -342,9 +348,8 @@ public class SysMenuService extends CacheCrudService<SysMenu> implements ISysMen
@Override
public SysMenu getSysMenuByCode(String code) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean();
DdlPreparedPack.getStringEqualPack(code,"menuCode",packBean);
DdlPreparedPack.getStringEqualPack(code, "menuCode", packBean);
return sysMenuRDao.getByProperty(packBean);
}
}

@ -72,6 +72,11 @@ public class SysTaskCycleService implements ISysTaskCycleService {
}
@Override
public List<SysTaskCycle> insertBatchSysTaskCycle(List<SysTaskCycle> sysTaskCycleList) {
return sysTaskCycleRDao.saveAll(sysTaskCycleList);
}
@Override
@ApiOperation(value = "查询所有任务周期信息",notes = "查询所有任务周期信息")
public List<SysTaskCycle> listSysTaskCycle() {
return sysTaskCycleRDao.list();

@ -40,36 +40,23 @@ public class SysTaskService implements ISysTaskService {
private SysTaskPlanRepository sysTaskPlanRDao;
@Override
@ApiOperation(value = "添加任务",notes = "添加任务")
@ApiOperation(value = "添加任务", notes = "添加任务")
public SysTask insertSysTask(SysTask sysTask) {
if(sysTaskRDao.findByPropertyCount("name",sysTask.getName()) > 0){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("任务名称不能相同")
.setErrorSolution("请重新输入")
.build();
return sysTaskRDao.insert(sysTask);
}
return sysTaskRDao.insert(sysTask);
@Override
public List<SysTask> insertBatchSysTask(List<SysTask> sysTaskList) {
return sysTaskRDao.saveAll(sysTaskList);
}
@Override
@ApiOperation(value = "修改任务信息",notes = "修改任务信息")
@ApiOperation(value = "修改任务信息", notes = "修改任务信息")
public void updateSysTask(SysTask sysTask) {
// 业务校验,不能重名
StringBuffer sb = new StringBuffer();
HqlPack.getStringEqualPack(sysTask.getName(),"name",sb);
HqlPack.getNumNOEqualPack(sysTask.getId(),"id",sb);
if(sysTaskRDao.findByHqlWhereCount(sb.toString()) > 0){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("任务名称不能相同")
.setErrorSolution("请重新输入")
.build();
}
HqlPack.getStringEqualPack(sysTask.getName(), "name", sb);
HqlPack.getNumNOEqualPack(sysTask.getId(), "id", sb);
SysTask newSysTask = sysTaskRDao.getById(sysTask.getId());
newSysTask.setName(sysTask.getName());
@ -81,32 +68,32 @@ public class SysTaskService implements ISysTaskService {
sysTaskRDao.update(newSysTask);
// 修改冗余信息
sysTaskPlanRDao.updateByProperties("taskId",sysTask.getId(),
"taskNameRdd",sysTask.getName());
sysTaskPlanRDao.updateByProperties("taskId", sysTask.getId(),
"taskNameRdd", sysTask.getName());
}
@Override
@ApiOperation(value = "查询所有任务",notes = "查询所有任务")
@ApiOperation(value = "查询所有任务", notes = "查询所有任务")
public List<SysTask> listSysTask() {
return sysTaskRDao.list();
}
@Override
@ApiOperation(value = "根据组织代码查询任务",notes = "根据组织代码查询任务")
@ApiOperation(value = "根据组织代码查询任务", notes = "根据组织代码查询任务")
public List<SysTask> listSysTaskByOrg(String organizeCode) {
return sysTaskRDao.findByProperty("organizeCode",organizeCode);
return sysTaskRDao.findByProperty("organizeCode", organizeCode);
}
@Override
@ApiOperation(value = "根据id查询任务信息",notes = "根据id查询任务信息")
@ApiOperation(value = "根据id查询任务信息", notes = "根据id查询任务信息")
public SysTask getSysTaskById(Long id) {
return sysTaskRDao.getById(id);
}
@Override
@ApiOperation(value = "删除任务",notes = "根据id删除任务")
@ApiOperation(value = "删除任务", notes = "根据id删除任务")
public void deleteSysTaskById(Long id) {
if(sysTaskPlanRDao.isExitByProperty("taskId",id)){
if (sysTaskPlanRDao.isExitByProperty("taskId", id)) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
@ -119,13 +106,13 @@ public class SysTaskService implements ISysTaskService {
}
@Override
@ApiOperation(value = "删除任务",notes = "根据id批量删除任务")
@ApiOperation(value = "删除任务", notes = "根据id批量删除任务")
public void deleteSysTaskByIds(Long[] ids) {
sysTaskRDao.deleteByIds(ids);
}
@Override
@ApiOperation(value = "任务管理复杂查询,分页,排序",notes = "任务管理复杂查询,分页,排序")
@ApiOperation(value = "任务管理复杂查询,分页,排序", notes = "任务管理复杂查询,分页,排序")
public ListPager<SysTask> querySysTaskByPager(SysTask sysTask, Pager pager) {
if (sysTask == null) {
pager = PagerHelper.getPager(pager, sysTaskRDao.listCount());
@ -139,6 +126,11 @@ public class SysTaskService implements ISysTaskService {
@Override
public SysTask getSysTaskByCode(String code) {
return sysTaskRDao.getByProperty("taskCode",code);
return sysTaskRDao.getByProperty("taskCode", code);
}
@Override
public boolean checkSysTaskOnly(SysTask sysTask) {
return !sysTaskRDao.isExitByHql(CoreHqlPack.packHqlCheckSysTaskOnly(sysTask));
}
}

@ -40,6 +40,9 @@ public class SysUserSavePasswordService extends CrudService<SysUserPassword> imp
@Autowired
private ISysUserService userService;
@Autowired
private SysUserPasswordUtil userPasswordUtil;
@Override
public BaseRepository<SysUserPassword, Long> getRepository() {
return userPasswordRDao;
@ -68,6 +71,8 @@ public class SysUserSavePasswordService extends CrudService<SysUserPassword> imp
public void updatePassword(Long userId, String password) {
SysUser user = userService.getSysUserById(userId);
ValidatorBean.checkNotNull(user,"不存在的用户信息");
user.setUserLoginPassword(password);
userPasswordUtil.checkPasswordSave(user);
userPasswordRDao.updateByProperties(
new String[]{"userId","isDeleted"},

@ -223,7 +223,7 @@ public class SysUserPasswordUtil {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.NOT_CONFIG_EXCEPTION.getCode())
.setErrorDetail("必须包含字")
.setErrorDetail("必须包含特殊字")
.setErrorSolution("请重新输入")
.build();
}
@ -275,7 +275,7 @@ public class SysUserPasswordUtil {
}
}
if (lastDay <= num) {
if (lastDay > num) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.NOT_CONFIG_EXCEPTION.getCode())
@ -283,6 +283,8 @@ public class SysUserPasswordUtil {
.setErrorSolution("请重新输入")
.build();
}
} catch (ImppBusiException e) {
throw e;
} catch (Exception e) {
e.printStackTrace();
LOGGER.error("密码加密错误,异常信息:{}", e.getMessage());

@ -76,6 +76,13 @@
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>i3plus.icloud</groupId>
<artifactId>i3plus-icloud-ptl</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>i3plus.icloud</groupId>
<artifactId>i3plus-icloud-andon</artifactId>

Loading…
Cancel
Save