Core 合并代码

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

# Conflicts:
#	modules/i3plus-ics-console/src/main/resources/application-test.properties.bak
#	modules/i3plus-ics-gateway/src/main/resources/application-docker.properties
#	modules/i3plus-ics-gateway/src/main/resources/application-prod.properties
#	modules/i3plus-ics-gateway/src/main/resources/application-test.properties.bak
#	modules/i3plus-ics-gateway/src/main/resources/application.properties
#	modules/i3plus-ics-regist/src/main/resources/application-docker.properties
#	modules/i3plus-ics-regist/src/main/resources/application-test.properties.bak
#	modules/i3plus-ics-regist/src/main/resources/application.properties
yun-zuoyi
wei.peng 5 years ago
commit c0411b1204

@ -5,7 +5,6 @@ import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.platform.platbean.*;
import io.swagger.annotations.ApiOperation;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -61,5 +60,4 @@ public interface ISysLogService {
@ApiOperation(value = "查询时间段内各等级日志数量",notes = "查询时间段内各等级日志数量")
Map<String, Object> querySysLogSystemByLevel(String startTime, String endTime);
}

@ -186,8 +186,8 @@ public interface IPersonnelService {
@ApiOperation(value = "组织关系检查")
void checkSysOrganizeRef(Long organizeId);
@ApiOperation(value = "密码规则校验")
void checkSysUserPassword(String password);
// @ApiOperation(value = "密码规则校验")
// void checkSysUserPassword(String password);
// @ApiOperation(value = "岗位关系检查")
// void refreshUpdateMenuRdd(Long menuId);
@ -207,6 +207,7 @@ public interface IPersonnelService {
@ApiOperation(value = "刷新用户岗位")
void refreshRefSysUserInfoPosition(Long userInfoId, Long[] positionIds);
// /**
// * 根据组织代码查询组织信息
// * @return

@ -79,9 +79,10 @@ public interface ISysLocaleResourceService {
/**
*
* @param missResourceModelList
* @param missResourceModelList
* @param userName
*/
@ApiOperation(value = "批量转换缺失资源")
void doConversionMissResourceByKeys(List<MissResourceModel> missResourceModelList) ;
void doConversionMissResourceByKeys(List<MissResourceModel> missResourceModelList,String userName) ;
}

@ -2,6 +2,7 @@ package cn.estsh.i3plus.core.api.iservice.busi;
import cn.estsh.i3plus.pojo.platform.bean.SysPojoVersionDetail;
import cn.estsh.impp.framework.base.service.ICrudService;
import io.swagger.annotations.ApiOperation;
/**
* @Description :
@ -11,4 +12,7 @@ import cn.estsh.impp.framework.base.service.ICrudService;
* @Modify:
**/
public interface ISysPojoVersionDetailService extends ICrudService<SysPojoVersionDetail> {
@ApiOperation("根据对象版本信息查询对象版本明细")
SysPojoVersionDetail getPojoVersionDetailByPojoVersionId(Long pojoVersionId);
}

@ -16,4 +16,6 @@ public interface ISysPojoVersionPlanService extends ICacheCrudService<SysPojoVer
@ApiOperation(value = "版本计划唯一检查")
void checkSysPojoVersionPlanOnly(SysPojoVersionPlan bean);
@ApiOperation(value = "查询对象版本计划",notes = "根据所属模块与className查询对象历史计划状态")
SysPojoVersionPlan getSysPojoVersionPlanBySoftTypeAndClassName(Integer softType, String className);
}

@ -1,11 +1,10 @@
package cn.estsh.i3plus.core.api.iservice.busi;
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.platform.bean.SessionUser;
import cn.estsh.i3plus.pojo.platform.bean.SysTask;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskPlan;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskCycle;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogTaskTime;
import io.swagger.annotations.ApiOperation;
@ -93,8 +92,10 @@ public interface ISysTaskPlanService {
/**
* quartz
*
* @param sysTaskPlan
*/
@AnnoIgnoreLog
@ApiOperation(value = "修改任务计划信息",notes = "修改任务计划信息不会更新quartz数据库")
void updateSysTaskPlan(SysTaskPlan sysTaskPlan);
}

@ -0,0 +1,30 @@
package cn.estsh.i3plus.core.api.iservice.busi;
import cn.estsh.i3plus.pojo.platform.bean.SysUserPassword;
import cn.estsh.impp.framework.base.service.ICrudService;
import io.swagger.annotations.ApiOperation;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : wei.peng
* @CreateDate : 20-6-4 3:47
* @Modify:
**/
public interface ISysUserPasswordService extends ICrudService<SysUserPassword> {
/**
*
* @param userId ID
* @param password
* @param newPwd
*/
@ApiOperation(value = "修改用户密码")
void updatePassword(Long userId,String password,String newPwd);
@ApiOperation(value = "重置用户密码")
void updatePassword(Long userId,String password);
}

@ -41,6 +41,9 @@ public interface ISysUserService {
@ApiOperation(value = "修改状态",notes = "修改指定账号状态")
void updateSysUserStatus(Long id, int status, SessionUser user);
@ApiOperation(value = "锁定用户",notes = "锁定用户")
void doLockSysUserById(Long id);
/**
*
* @param ids
@ -55,7 +58,7 @@ public interface ISysUserService {
* @param sysUser
*/
@ApiOperation(value = "修改账号信息",notes = "修改账号信息")
void updateSysUser(SysUser sysUser) throws Exception;
void updateSysUser(SysUser sysUser);
/**
*

@ -2,6 +2,7 @@ package cn.estsh.i3plus.core.apiservice.configuration;
import cn.estsh.i3plus.core.api.iservice.base.ISystemInitService;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.impp.framework.boot.util.ImppSwitchUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@ -20,16 +21,19 @@ public class AppStartSystemInit implements CommandLineRunner {
public static final Logger LOGGER = LoggerFactory.getLogger(CommonConstWords.SYSTEM_LOG);
@Autowired
@Autowired(required = false)
private ISystemInitService systemInitService;
@Override
public void run(String... args) throws Exception {
try {
if(ImppSwitchUtil.isUnitTestEnv()) {
LOGGER.info("【单元测试环境 跳过初始化...】");
return;
}
LOGGER.info("【IMPP-Core开始加载基础信息...】");
systemInitService.putAndLoadAll();
systemInitService.putAndLoadAll();
}catch (Exception e){
e.printStackTrace();
}

@ -1,34 +1,34 @@
package cn.estsh.i3plus.core.apiservice.configuration;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.pojo.base.jpa.factory.BaseMongoRepositoryFactoryBean;
import cn.estsh.i3plus.pojo.base.jpa.factory.BaseRepositoryFactoryBean;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.data.mongodb.repository.config.EnableMongoRepositories;
/**
* @Description :
*
* @Reference :
* @Author : alwaysfrin
* @CreateDate : 2018-12-12 20:49
* @Modify:
**/
@Configuration
@ConditionalOnExpression("'${" + CommonConstWords.PROP_SWITCH_MONGO + ":false}' == 'true'")
//扫描需要单独处理的持久化包
@EnableMongoRepositories(basePackages = {
"cn.estsh.i3plus.**.platrepositorymongo"
},repositoryFactoryBeanClass = BaseMongoRepositoryFactoryBean.class)
public class ScanMongoPackageConfiguration {
public static final Logger LOGGER = LoggerFactory.getLogger(CommonConstWords.SYSTEM_LOG);
public ScanMongoPackageConfiguration(){
LOGGER.info("【扫描关联包...】");
}
}
//package cn.estsh.i3plus.core.apiservice.configuration;
//
//import cn.estsh.i3plus.platform.common.util.CommonConstWords;
//import cn.estsh.i3plus.pojo.base.jpa.factory.BaseMongoRepositoryFactoryBean;
//import cn.estsh.i3plus.pojo.base.jpa.factory.BaseRepositoryFactoryBean;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
//import org.springframework.boot.autoconfigure.domain.EntityScan;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
//import org.springframework.data.mongodb.repository.config.EnableMongoRepositories;
//
///**
// * @Description : 需要扫描其他包的配置文件
// * 此类专门添加需要单独加载的其他模块的包
// * @Reference :
// * @Author : alwaysfrin
// * @CreateDate : 2018-12-12 20:49
// * @Modify:
// **/
//@Configuration
//@ConditionalOnExpression("'${" + CommonConstWords.PROP_SWITCH_MONGO + ":false}' == 'true'")
////扫描需要单独处理的持久化包
//@EnableMongoRepositories(basePackages = {
// "cn.estsh.i3plus.**.platrepositorymongo"
//},repositoryFactoryBeanClass = BaseMongoRepositoryFactoryBean.class)
//public class ScanMongoPackageConfiguration {
// public static final Logger LOGGER = LoggerFactory.getLogger(CommonConstWords.SYSTEM_LOG);
//
// public ScanMongoPackageConfiguration(){
// LOGGER.info("【扫描关联包...】");
// }
//}

@ -1,35 +1,35 @@
package cn.estsh.i3plus.core.apiservice.configuration;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.pojo.base.jpa.factory.BaseRepositoryFactoryBean;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
/**
* @Description :
*
* @Reference :
* @Author : alwaysfrin
* @CreateDate : 2018-12-12 20:49
* @Modify:
**/
@Configuration
//扫描需要单独处理的包
@EntityScan(basePackages = {
"cn.estsh.i3plus.**.platbean"
})
//需要单独处理的其他模块包
@EnableJpaRepositories(basePackages = {
"cn.estsh.i3plus.**.platrepository"
}, repositoryFactoryBeanClass = BaseRepositoryFactoryBean.class)
public class ScanPackageConfiguration {
public static final Logger LOGGER = LoggerFactory.getLogger(CommonConstWords.SYSTEM_LOG);
public ScanPackageConfiguration(){
LOGGER.info("【扫描关联包...】");
}
}
//package cn.estsh.i3plus.core.apiservice.configuration;
//
//import cn.estsh.i3plus.platform.common.util.CommonConstWords;
//import cn.estsh.i3plus.pojo.base.jpa.factory.BaseRepositoryFactoryBean;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.boot.autoconfigure.domain.EntityScan;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
//
///**
// * @Description : 需要扫描其他包的配置文件
// * 此类专门添加需要单独加载的其他模块的包
// * @Reference :
// * @Author : alwaysfrin
// * @CreateDate : 2018-12-12 20:49
// * @Modify:
// **/
//@Configuration
////扫描需要单独处理的包
//@EntityScan(basePackages = {
// "cn.estsh.i3plus.**.platbean"
//})
//
////需要单独处理的其他模块包
//@EnableJpaRepositories(basePackages = {
// "cn.estsh.i3plus.**.platrepository"
//}, repositoryFactoryBeanClass = BaseRepositoryFactoryBean.class)
//public class ScanPackageConfiguration {
// public static final Logger LOGGER = LoggerFactory.getLogger(CommonConstWords.SYSTEM_LOG);
//
// public ScanPackageConfiguration(){
// LOGGER.info("【扫描关联包...】");
// }
//}

@ -5,8 +5,8 @@ import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
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.fastdfs.FastDFSClient;
import cn.estsh.impp.framework.boot.fastdfs.FastDFSFile;
import cn.estsh.impp.framework.boot.fileservice.ImppFileService;
import cn.estsh.i3plus.pojo.base.bean.ImppFile;
import cn.estsh.impp.framework.boot.util.ResultBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -15,7 +15,6 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
/**
* @Description :
@ -33,7 +32,7 @@ public class DemoUploadController extends CoreBaseController{
/********************** 文件上传 ***********************/
@Autowired
private FastDFSClient dfsClient;
private ImppFileService fileService;
@GetMapping("/")
public String index() {
@ -64,7 +63,7 @@ public class DemoUploadController extends CoreBaseController{
@ApiOperation(value = "文件上传",notes = "文件上传")
public ResultBean singleFileUpload(@RequestParam("file") MultipartFile file) {
try {
FastDFSFile dfsFile = dfsClient.saveFile(file);
ImppFile dfsFile = fileService.upload(file);
return ResultBean.success("上传成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(dfsFile);
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);

@ -4,17 +4,18 @@ import cn.estsh.i3plus.core.api.iservice.base.ISynchronizedService;
import cn.estsh.i3plus.core.api.iservice.base.ISystemInitService;
import cn.estsh.i3plus.core.api.iservice.base.ISystemLoginService;
import cn.estsh.i3plus.core.api.iservice.busi.*;
import cn.estsh.i3plus.core.apiservice.util.SysUserPasswordUtil;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.platform.common.tool.CookieTool;
import cn.estsh.i3plus.platform.common.tool.ServletRequestTool;
import cn.estsh.i3plus.platform.common.tool.StringTool;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.platform.common.tool.*;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.pojo.base.annotation.AnnoIgnoreLog;
import cn.estsh.i3plus.pojo.base.bean.BaseConstWords;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.model.license.ImppLicense;
import cn.estsh.i3plus.pojo.model.platform.UserDetailModel;
import cn.estsh.i3plus.pojo.model.platform.UserDetailPagerModel;
import cn.estsh.i3plus.pojo.platform.bean.*;
@ -22,10 +23,9 @@ 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.util.ImppRedis;
import cn.estsh.impp.framework.boot.util.LocaleUtils;
import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import cn.estsh.impp.framework.boot.license.ImppLicenseTool;
import cn.estsh.impp.framework.boot.license.serviceimpl.ImppLicenseDecoder;
import cn.estsh.impp.framework.boot.util.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
@ -90,7 +90,7 @@ public class WhiteController extends CoreBaseController {
private ISysConfigService configService;
@Autowired
private ISysMenuService sysMenuService;
private SysUserPasswordUtil userPasswordUtil;
@Resource(name=CommonConstWords.IMPP_REDIS_RES)
private ImppRedis redisRes;
@ -151,6 +151,8 @@ public class WhiteController extends CoreBaseController {
LOGGER.info("用户登陆 loginName:{} loginPwd:{} languageCode:{}",loginName,loginPwd,languageCode);
ResultBean result = null;
CommonEnumUtil.USER_LOGIN_STATUS userLoginStatus = CommonEnumUtil.USER_LOGIN_STATUS.LOGIN_SUCCESS;
try {
ValidatorBean.checkNotNull(loginName,"用户名不能为空");
ValidatorBean.checkNotNull(loginPwd,"密码不能为空");
@ -171,54 +173,49 @@ public class WhiteController extends CoreBaseController {
recordSysUserLog(user.getUser().getUserInfoId(), loginName,CommonEnumUtil.USER_LOGIN_STATUS.LOGIN_SUCCESS.getValue(), ipAddr);
AuthUtil.setOrganize(user.getUser().getOrganize());
} catch (IncorrectCredentialsException e) {
// 密码错误
Integer num = systemLoginService.doLoginPasswordError(loginName, ipAddr);
num = CommonConstWords.USER_LOGIN_ERROR_MAX_NUM - num;
result = ResultBean.fail(ImppExceptionEnum.LOGIN_EXCEPTION_USER_PASSWORD);
if(num == 0){
result.setErrorMsg("密码输入错误。用户已被锁定请联系管理员!");
}else {
result.setErrorMsg("密码输入错误。再输入错误"+ num +"次,用户将被锁定。");
}
userPasswordUtil.checkLoginErrorNumber(loginName,result,e);
// 记录登录记录
recordSysUserLog(null, loginName, CommonEnumUtil.USER_LOGIN_STATUS.WRONG_PASSWORD.getValue(), ipAddr);
userLoginStatus = CommonEnumUtil.USER_LOGIN_STATUS.WRONG_PASSWORD;
} catch (CredentialsException e) {
// 用户名或密码错误
result = ResultBean.fail(ImppExceptionEnum.LOGIN_EXCEPTION_USER_NAME);
// 记录登录记录
recordSysUserLog(null, loginName,CommonEnumUtil.USER_LOGIN_STATUS.WRONG_USERNAME_OR_PASSWORD.getValue(), ipAddr);
userLoginStatus = CommonEnumUtil.USER_LOGIN_STATUS.WRONG_USERNAME_OR_PASSWORD;
} catch (LockedAccountException e) {
// 账号已锁定
result = ResultBean.fail(ImppExceptionEnum.LOGIN_EXCEPTION_USER_LOCKING);
// 记录登录记录
recordSysUserLog(null, loginName,CommonEnumUtil.USER_LOGIN_STATUS.USER_LOGIN_LOCKING.getValue(), ipAddr);
userLoginStatus = CommonEnumUtil.USER_LOGIN_STATUS.USER_LOGIN_LOCKING;
} catch (UnknownAccountException e) {
// 用户信息不存在
result = ResultBean.fail(ImppExceptionEnum.LOGIN_EXCEPTION_USER_INFO_NULL);
// 记录登录记录
recordSysUserLog(null, loginName,CommonEnumUtil.USER_LOGIN_STATUS.USER_INFO_NULL.getValue(), ipAddr);
userLoginStatus = CommonEnumUtil.USER_LOGIN_STATUS.USER_INFO_NULL;
} catch (AuthenticationException e) {
// 系统异常
result = ResultBean.fail(e.getMessage()).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode());
result.setErrorMsg(e.getMessage());
// 记录登录记录
recordSysUserLog(null, loginName,CommonEnumUtil.USER_LOGIN_STATUS.SYSTEM_ERROR.getValue(), ipAddr);
userLoginStatus = CommonEnumUtil.USER_LOGIN_STATUS.SYSTEM_ERROR;
} catch (ImppBusiException e) {
result = ResultBean.fail(e);
// 记录登录记录
recordSysUserLog(null, loginName,CommonEnumUtil.USER_LOGIN_STATUS.SYSTEM_ERROR.getValue(), ipAddr);
userLoginStatus = CommonEnumUtil.USER_LOGIN_STATUS.SYSTEM_ERROR;
} catch (Exception e) {
result = ResultBean.fail(e.getMessage()).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode())
.setErrorMsg(LocaleUtils.getEnumLocaleResDesc(ImppExceptionEnum.SYSTEM_EXCEPTION, ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription()));
// 记录登录记录
recordSysUserLog(null, loginName,CommonEnumUtil.USER_LOGIN_STATUS.SYSTEM_ERROR.getValue(), ipAddr);
userLoginStatus = CommonEnumUtil.USER_LOGIN_STATUS.SYSTEM_ERROR;
}finally {
// 记录登录记录
recordSysUserLog(null, loginName,userLoginStatus.getValue(), ipAddr);
}
LOGGER.info("会员{}登陆登录完成 , 登录耗时:{}",loginName,(System.currentTimeMillis() - startTime));
@ -357,6 +354,8 @@ public class WhiteController extends CoreBaseController {
sysFile.setFileTypeId(dictionary.getId());
sysFile.setFileTypeName(dictionary.getName());
ConvertBean.serviceModelInitialize(sysFile,"白名单");
sysFile = sysFileService.insertSysFile(sysFile);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(sysFile);
}catch(ImppBusiException busExcep){
@ -523,21 +522,20 @@ public class WhiteController extends CoreBaseController {
}
}
/**
*
* @param key
* @param menuCode
* @return
*/
@AnnoIgnoreLog
@PostMapping(value = "/miss-resource/get")
@ApiOperation(value = "缺失资源", notes = "缺失资源")
public ResultBean getMissResourceByKey(String key,String menuCode){
try {
SysMenu sysMenu = sysMenuService.getSysMenuByCode(menuCode);
CommonEnumUtil.SOFT_TYPE softType = CommonEnumUtil.SOFT_TYPE.valueOf(sysMenu.getSoftType());
if(softType == null){
softType = CommonEnumUtil.SOFT_TYPE.IMPP;
}
LocaleUtils.saveMissResource(key, AuthUtil.getSessionLanguage().toString(),
softType.getValue(),
CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.MISSING.getValue(),
CommonEnumUtil.MiSS_RESOURCE_SOURCE.WEB.getValue());
Map<String,String> missResource = new HashMap<>();
missResource.put(key,menuCode);
rabbitTemplate.convertAndSend(PlatformConstWords.QUEUE_IMPP_RESOURCE, JsonUtilTool.encode(missResource));
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
@ -545,4 +543,43 @@ public class WhiteController extends CoreBaseController {
return ResultBean.fail(e).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode());
}
}
/**
*
* @return
*/
@AnnoIgnoreLog
@GetMapping(value = "/miss-resource/web-listener-switch")
@ApiOperation(value = "缺失资源开关", notes = "缺失资源开关")
public ResultBean getWebMissResourceSwitch(){
try {
int webListener = RedisCacheTool.getSysConfigIntVal(PlatformConstWords.WEB_MISS_RESOURCE_LISTENER_SWITCH,
CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
return ResultBean.success("获取成功")
.setResultObject(webListener == CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ResultBean.fail(e).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode());
}
}
@PostMapping(value = "/license")
@ApiOperation(value = "缺失资源开关", notes = "缺失资源开关")
public ResultBean updateLicense(String content){
try {
ImppLicense license = ImppLicenseDecoder.getLicenseDecoder(content);
if(Objects.nonNull(license)){
ImppLicenseTool.updateImppLicense(license);
}else{
return ResultBean.fail("错误的授权信息");
}
return ResultBean.success("操作成功");
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ResultBean.fail(e).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode());
}
}
}

@ -2,24 +2,30 @@ package cn.estsh.i3plus.core.apiservice.controller.busi;
import cn.estsh.i3plus.core.api.iservice.base.ISysLogService;
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.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.*;
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 cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
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.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
/**
* @Description :
@ -38,95 +44,160 @@ public class ImppLogController extends CoreBaseController {
/**
*
*
* @param logSystem
* @param pager
* @param pager
* @return
*/
@GetMapping("/system/query")
@ApiOperation(value = "系统日志分页复杂查询",notes = "系统日志分页复杂查询")
public ResultBean querySysLogSystemByPager(SysLogSystem logSystem, Pager pager){
@ApiOperation(value = "系统日志分页复杂查询", notes = "系统日志分页复杂查询")
public ResultBean querySysLogSystemByPager(SysLogSystem logSystem, Pager pager) {
try {
ListPager logSystemList = logService.queryLogSystemPager(logSystem, pager);
return ResultBean.success("操作成功").setListPager(logSystemList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
}catch(Exception e){
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
/**
*
*
* @param sysLogTaskTime
* @param pager
* @param pager
* @return
*/
@GetMapping("/task-time/query")
@ApiOperation(value = "定时任务日志分页复杂查询",notes = "定时任务日志分页复杂查询")
public ResultBean querySysLogSystemByPager(SysLogTaskTime sysLogTaskTime, Pager pager){
@ApiOperation(value = "定时任务日志分页复杂查询", notes = "定时任务日志分页复杂查询")
public ResultBean querySysLogSystemByPager(SysLogTaskTime sysLogTaskTime, Pager pager) {
try {
ListPager logSystemList = logService.queryLogTaskTimePager(sysLogTaskTime, pager);
return ResultBean.success("操作成功").setListPager(logSystemList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
}catch(Exception e){
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
/**
*
*
* @param logOperate
* @param pager
* @param pager
* @return
*/
@GetMapping(value = "/operate/query")
@ApiOperation(value = "操作日志复杂查询,分页,排序",notes = "操作日志复杂查询,分页,排序")
public ResultBean querySysLogOperateByPager(SysLogOperate logOperate, Pager pager){
@ApiOperation(value = "操作日志复杂查询,分页,排序", notes = "操作日志复杂查询,分页,排序")
public ResultBean querySysLogOperateByPager(SysLogOperate logOperate, Pager pager) {
try {
ListPager logSystemList = logService.queryLogOperatePager(logOperate, pager);
return ResultBean.success("操作成功").setListPager(logSystemList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
}catch(Exception e){
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
/**
*
*
* @param sysLogException
* @param pager
* @param pager
* @return
*/
@GetMapping(value = "/exception/query")
@ApiOperation(value = "异常日志复杂查询,分页,排序",notes = "异常日志复杂查询,分页,排序")
public ResultBean querySysLogExceptionByPager(SysLogException sysLogException, Pager pager){
@ApiOperation(value = "异常日志复杂查询,分页,排序", notes = "异常日志复杂查询,分页,排序")
public ResultBean querySysLogExceptionByPager(SysLogException sysLogException, Pager pager) {
try {
ListPager logExceptionList = logService.queryLogExceptionPager(sysLogException, pager);
return ResultBean.success("查询成功").setListPager(logExceptionList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
}catch(Exception e){
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
/**
*
* @param bean
*
* @param bean
* @param pager
* @return
*/
@GetMapping(value = "/console/query")
@ApiOperation(value = "异常日志复杂查询,分页,排序",notes = "异常日志复杂查询,分页,排序")
public ResultBean querySysLogConsoleByPager(SysLogConsole bean, Pager pager){
@ApiOperation(value = "异常日志复杂查询,分页,排序", notes = "异常日志复杂查询,分页,排序")
public ResultBean querySysLogConsoleByPager(SysLogConsole bean, Pager pager) {
try {
ListPager logExceptionList = logService.queryLogConsolePager(bean, pager);
return ResultBean.success("查询成功").setListPager(logExceptionList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
/**
*
*
* @param bean
* @return
*/
@GetMapping(value = "/console/query-schedule")
@ApiOperation(value = "定时任务控制台日志,分页,排序", notes = "定时任务控制台日志")
public ResultBean querySchdeuleLogConsoleByPager(SysLogConsole bean) {
try {
ValidatorBean.beginValid(bean)
.notNull("logGroup", bean.getLogGroup());
// 参数
// 1. group = CommonConstWords.SCHEDULE_LOG:Gourp.Name
// 2.
bean.setLogGroup(CommonConstWords.SCHEDULE_LOG + ":" + bean.getLogGroup());
// 开始时间默认为上一分钟
if (StringUtils.isBlank(bean.getCreateDateTimeStart())) {
Date lastMinute = TimeTool.timeCalc(new Date(), Calendar.MINUTE, -1);
bean.setCreateDateTimeStart(TimeTool.pareDateToString(lastMinute));
}
// 结束时间默认为当前时间
if (StringUtils.isBlank(bean.getCreateDateTimeEnd())) {
bean.setCreateDateTimeEnd(TimeTool.getNowTime(true));
}
// 一次100条
bean.setOrderByParam("createDatetime");
bean.setAscOrDesc(CommonEnumUtil.ASC_OR_DESC.ASC.getValue());
List logScheduleList = new ArrayList();
Pager pager = new Pager();
pager.setPageSize(100);
pager.setCurrentPage(1);
ListPager listPager;
do {
if (pager.getTotalRows() != 0) {
pager.next();
}
listPager = logService.queryLogConsolePager(bean, pager);
if(listPager!= null && listPager.getObjectList()!= null) {
logScheduleList.addAll(listPager.getObjectList());
pager = listPager.getObjectPager();
}else if(pager.hasNext()) {
pager.setCurrentPage(pager.getTotalPages());
}
} while (pager.hasNext());
return ResultBean.success("查询成功").setResultList(logScheduleList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
}catch(Exception e){
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@ -134,12 +205,12 @@ public class ImppLogController extends CoreBaseController {
@GetMapping(value = "/clean-log")
@ApiOperation(value = "添加操作日志", notes = "添加操作日志,可用于国际化")
public ResultBean logClean(String time) {
try{
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";
logService.actionCleanLog(startTime,endTime);
logService.actionCleanLog(startTime, endTime);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep).build();

@ -1,6 +1,7 @@
package cn.estsh.i3plus.core.apiservice.controller.busi;
import cn.estsh.i3plus.core.api.iservice.busi.*;
import cn.estsh.i3plus.core.apiservice.util.SysUserPasswordUtil;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.platform.common.tool.EncryptTool;
@ -70,6 +71,9 @@ public class PersonnelController extends CoreBaseController {
@Autowired
private ISysDepartmentService departmentService;
@Autowired
private SysUserPasswordUtil userPasswordUtil;
/**
*
* @param model
@ -86,7 +90,7 @@ public class PersonnelController extends CoreBaseController {
SysUserInfo info = model.getSysUserInfo();
checkUserDetailModel(model, false);
personnelService.checkSysUserPassword(model.getUserLoginPassword());
userPasswordUtil.checkPasswordSave(user);
personnelService.checkSysUserOnly(user);
if (StringUtils.isBlank(info.getUserJoinDate())) {
@ -163,7 +167,6 @@ public class PersonnelController extends CoreBaseController {
SysUserInfo info = model.getSysUserInfo();
checkUserDetailModel(model, true);
personnelService.checkSysUserPassword(model.getUserLoginPassword());
personnelService.checkSysUserOnly(user);
SysUserInfo userInfo = personnelService.getSysUserInfoById(info.getId());
@ -226,11 +229,6 @@ public class PersonnelController extends CoreBaseController {
// 关系 刷新
refreshRef(sysUser, userInfo, model);
// 更新 密码
if(StringUtils.isNotBlank(user.getUserLoginPassword())){
sysUser.setUserLoginPassword(user.getUserLoginPassword());
refreshSysUserPassword(sysUser);
}
personnelService.saveSysUser(sysUser);
personnelService.saveSysUserInfo(userInfo);
@ -252,12 +250,9 @@ public class PersonnelController extends CoreBaseController {
@ApiOperation(value = "修改用户信息", notes = "返回内容添加用户信息")
public ResultBean updateUserModel(UserDetailModel model) {
try {
startMultiService();
checkUserModel(model);
SysUser user = personnelService.getSysUserById(Long.parseLong(model.getUserId()));
initUser(model, user);
personnelService.checkSysUserPassword(model.getUserLoginPassword());
personnelService.checkSysUserOnly(user);
SysDepartment userDepartment = departmentService.get(Long.parseLong(model.getUserDepartmentId()));

@ -17,7 +17,8 @@ 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.fastdfs.FastDFSClient;
import cn.estsh.impp.framework.boot.fileservice.ImppFileService;
import cn.estsh.i3plus.pojo.base.bean.ImppFile;
import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.Api;
@ -64,7 +65,7 @@ public class SysFileController extends CoreBaseController {
private ISysDictionaryService dictionaryService;
@Autowired
private FastDFSClient dfsClient;
private ImppFileService fileService;
/**
*
@ -106,7 +107,12 @@ public class SysFileController extends CoreBaseController {
ValidatorBean.checkNotNull(sysFile, "文件信息不存在");
LOGGER.info("FastDFS删除文件 == groupName: {}name{}", sysFile.getDfsGroupName(), sysFile.getDfsFileName());
dfsClient.deleteFile(sysFile.getDfsGroupName(), sysFile.getDfsFileName());
ImppFile imppFile = new ImppFile();
imppFile.setDfsGroupName(sysFile.getDfsGroupName());
imppFile.setDfsFileName(sysFile.getDfsFileName());
fileService.deleteFile(imppFile);
sysFileService.deleteSysFileById(Long.parseLong(idStr));
@ -312,7 +318,11 @@ public class SysFileController extends CoreBaseController {
.build();
}
InputStream fis = dfsClient.downFile(sysFile.getDfsGroupName(), sysFile.getDfsFileName());
ImppFile imppFile = new ImppFile();
imppFile.setDfsGroupName(sysFile.getDfsGroupName());
imppFile.setDfsFileName(sysFile.getDfsFileName());
InputStream fis = fileService.downFile(imppFile);
if (fis == null) {
throw ImppExceptionBuilder.newInstance()

@ -25,8 +25,8 @@ 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.fastdfs.FastDFSClient;
import cn.estsh.impp.framework.boot.fastdfs.FastDFSFile;
import cn.estsh.impp.framework.boot.fileservice.ImppFileService;
import cn.estsh.i3plus.pojo.base.bean.ImppFile;
import cn.estsh.impp.framework.boot.util.ImppRedis;
import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
@ -82,7 +82,7 @@ public class SysLocaleResourceController extends CoreBaseController {
private EntityManager entityManager;
@Autowired
private FastDFSClient dfsClient;
private ImppFileService fileService;
/**
*
@ -487,10 +487,10 @@ public class SysLocaleResourceController extends CoreBaseController {
// 查询服务器中是否存在模板文件
SysFile sysFile = sysFileService.getSysFileByFileCode(importTemplateCode);
if(sysFile == null){
FastDFSFile fastDFSFile = new FastDFSFile(SysLocaleResource.class.getSimpleName() + "ImportTemplate.xls",
ImppFile fastDFSFile = new ImppFile(SysLocaleResource.class.getSimpleName() + "ImportTemplate.xls",
excelTool.importTemplate(SysLocaleResource.class), ".xls");
sysFile = dfsClient.upload(fastDFSFile,CommonEnumUtil.SOFT_TYPE.CORE.getValue());
sysFile = fileService.upload(fastDFSFile,CommonEnumUtil.SOFT_TYPE.CORE.getValue());
sysFile.setFileCode(importTemplateCode);
sysFileService.insertSysFile(sysFile);
}
@ -563,7 +563,9 @@ public class SysLocaleResourceController extends CoreBaseController {
@ApiOperation(value = "批量转换缺失资源")
public ResultBean doBatchConversionMissResource(@RequestBody List<MissResourceModel> missResourceModelList){
try {
sysLocaleResourceService.doConversionMissResourceByKeys(missResourceModelList);
ValidatorBean.checkNotNull(missResourceModelList,"请选择缺失数据信息");
sysLocaleResourceService.doConversionMissResourceByKeys(missResourceModelList, AuthUtil.getSessionUser().getUserName());
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
@ -607,7 +609,7 @@ public class SysLocaleResourceController extends CoreBaseController {
String fileName = "locale_" + System.currentTimeMillis() + ".xls";
File file = new File(tempDir,fileName);
if (file.createNewFile()) {
if (!file.createNewFile()) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.IO_EXCEPTION_FILE.getCode())

@ -21,8 +21,8 @@ import cn.estsh.i3plus.pojo.platform.bean.SysOrderNoRule;
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.fastdfs.FastDFSClient;
import cn.estsh.impp.framework.boot.fastdfs.FastDFSFile;
import cn.estsh.impp.framework.boot.fileservice.ImppFileService;
import cn.estsh.i3plus.pojo.base.bean.ImppFile;
import cn.estsh.impp.framework.boot.util.ImppRedis;
import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
@ -67,7 +67,7 @@ public class SysOrderNoRuleController extends CoreBaseController {
private ISysMessageService sysMessageService;
@Autowired
private FastDFSClient dfsClient;
private ImppFileService fileService;
@Autowired
private EntityManager entityManager;
@ -333,10 +333,10 @@ public class SysOrderNoRuleController extends CoreBaseController {
// 查询服务器中是否存在模板文件
SysFile sysFile = sysFileService.getSysFileByFileCode(importTemplateCode);
if(sysFile == null){
FastDFSFile fastDFSFile = new FastDFSFile(SysOrderNoRule.class.getSimpleName() + "ImportTemplate.xls",
ImppFile fastDFSFile = new ImppFile(SysOrderNoRule.class.getSimpleName() + "ImportTemplate.xls",
excelTool.importTemplate(SysOrderNoRule.class), ".xls");
sysFile = dfsClient.upload(fastDFSFile,CommonEnumUtil.SOFT_TYPE.CORE.getValue());
sysFile = fileService.upload(fastDFSFile,CommonEnumUtil.SOFT_TYPE.CORE.getValue());
sysFile.setFileCode(importTemplateCode);
sysFileService.insertSysFile(sysFile);

@ -2,11 +2,20 @@ package cn.estsh.i3plus.core.apiservice.controller.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysPojoVersionService;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.pojo.base.bean.BaseResultBean;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.model.common.CloudPagerModel;
import cn.estsh.i3plus.pojo.platform.bean.SysPojoVersion;
import cn.estsh.impp.framework.base.controller.CrudBaseController;
import cn.estsh.impp.framework.base.service.ICrudService;
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 io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@ -28,4 +37,20 @@ public class SysPojoVersionController extends CrudBaseController<SysPojoVersion>
public ICrudService getCrudService() {
return pojoVersionService;
}
@PostMapping("/cloud-query")
@ApiOperation(value = "查询数据", notes = "复杂查询,分页,排序")
BaseResultBean<SysPojoVersion> queryPojoVersionByPagerCloud(@RequestBody CloudPagerModel<SysPojoVersion> model){
try {
SysPojoVersion bean = packQueryPager(model.getObj());
return ResultBean.success("操作成功")
.setListPager(getCrudService().findPager(bean, model.getPager()))
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -1,14 +1,20 @@
package cn.estsh.i3plus.core.apiservice.controller.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysPojoVersionDetailService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysPojoVersionService;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.pojo.platform.bean.SysPojoVersion;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysPojoVersionDetail;
import cn.estsh.impp.framework.base.controller.CrudBaseController;
import cn.estsh.impp.framework.base.service.ICrudService;
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 cn.estsh.impp.framework.boot.util.ValidatorBean;
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.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@ -30,4 +36,27 @@ public class SysPojoVersionDetailController extends CrudBaseController<SysPojoVe
public ICrudService getCrudService() {
return pojoVersionService;
}
/**
*
*
* @param pojoVersionId id
* @return
*/
@GetMapping(value = "/get-pojo-version-id/{pojoVersionId}")
@ApiOperation(value = "查询对象历史计划", notes = "根据所属模块与className查询对象历史计划状态")
public ResultBean getPojoVersionDetailByPojoVersionId(@PathVariable("pojoVersionId") Long pojoVersionId) {
try {
// 数据校验
ValidatorBean.checkNotZero(pojoVersionId, "对象版本id 不能为空");
SysPojoVersionDetail pojoVersionDetail = pojoVersionService.getPojoVersionDetailByPojoVersionId(pojoVersionId);
return ResultBean.success("操作成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
.setResultObject(pojoVersionDetail);
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -8,7 +8,6 @@ import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysPojoVersionPlan;
import cn.estsh.impp.framework.base.controller.CrudBaseController;
import cn.estsh.impp.framework.base.service.ICrudService;
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.util.ResultBean;
@ -16,6 +15,7 @@ import cn.estsh.impp.framework.boot.util.ValidatorBean;
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.PutMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@ -29,7 +29,7 @@ import org.springframework.web.bind.annotation.RestController;
**/
@RestController
@Api(tags = "对象历史计划")
@RequestMapping(CommonConstWords.BASE_URL_CORE+"/pojo-version-plan")
@RequestMapping(CommonConstWords.BASE_URL_CORE + "/pojo-version-plan")
public class SysPojoVersionPlanController extends CrudBaseController<SysPojoVersionPlan> {
@Autowired
private ISysPojoVersionPlanService pojoVersionService;
@ -42,9 +42,9 @@ public class SysPojoVersionPlanController extends CrudBaseController<SysPojoVers
@Override
public SysPojoVersionPlan validatorInsertBean(SysPojoVersionPlan bean) throws Exception {
ValidatorBean.beginValid(bean)
.notNull("refClass",bean.getRefClass())
.notNull("softType",bean.getSoftType())
.notNull("refClassTitle",bean.getRefClassTitle());
.notNull("refClass", bean.getRefClass())
.notNull("softType", bean.getSoftType())
.notNull("refClassTitle", bean.getRefClassTitle());
bean.setPlanStatus(CommonEnumUtil.DATA_STATUS.ENABLE.getValue());
pojoVersionService.checkSysPojoVersionPlanOnly(bean);
@ -54,11 +54,11 @@ public class SysPojoVersionPlanController extends CrudBaseController<SysPojoVers
@Override
public SysPojoVersionPlan validatorUpdateBean(SysPojoVersionPlan bean) throws Exception {
ValidatorBean.beginValid(bean)
.notNull("id",bean.getId())
.notNull("refClass",bean.getRefClass())
.notNull("softType",bean.getSoftType())
.notNull("planStatus",bean.getPlanStatus())
.notNull("refClassTitle",bean.getRefClassTitle());
.notNull("id", bean.getId())
.notNull("refClass", bean.getRefClass())
.notNull("softType", bean.getSoftType())
.notNull("planStatus", bean.getPlanStatus())
.notNull("refClassTitle", bean.getRefClassTitle());
pojoVersionService.checkSysPojoVersionPlanOnly(bean);
return bean;
@ -66,7 +66,8 @@ public class SysPojoVersionPlanController extends CrudBaseController<SysPojoVers
/**
*
* @param id id
*
* @param id id
* @param status
* @return
*/
@ -81,7 +82,7 @@ public class SysPojoVersionPlanController extends CrudBaseController<SysPojoVers
ValidatorBean.checkNotNull(plan, "不存在对象历史计划信息");
plan.setPlanStatus(status);
ConvertBean.modelUpdate(plan,getSessionUser());
ConvertBean.modelUpdate(plan, getSessionUser());
return ResultBean.success("操作成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
@ -93,4 +94,30 @@ public class SysPojoVersionPlanController extends CrudBaseController<SysPojoVers
}
}
/**
* className
*
* @param softType id
* @param className
* @return
*/
@GetMapping(value = "/get-soft-class")
@ApiOperation(value = "查询对象历史计划", notes = "根据所属模块与className查询对象历史计划状态")
public ResultBean getSysPojoVersionPlanBySoftTypeAndClassName(Integer softType, String className) {
try {
// 数据校验
ValidatorBean.checkNotZero(softType, "所属模块 不能为空");
ValidatorBean.checkNotNull(className, "关联类名不能为空 不能为空");
SysPojoVersionPlan plan = pojoVersionService.getSysPojoVersionPlanBySoftTypeAndClassName(softType, className);
ValidatorBean.checkNotNull(plan, "不存在对象历史计划信息");
return ResultBean.success("操作成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
.setResultObject(plan);
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -1,6 +1,7 @@
package cn.estsh.i3plus.core.apiservice.controller.busi;
import cn.estsh.i3plus.core.api.iservice.busi.*;
import cn.estsh.i3plus.core.apiservice.util.SysUserPasswordUtil;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.tool.EncryptTool;
import cn.estsh.i3plus.platform.common.tool.StringTool;
@ -60,6 +61,9 @@ public class SysUserController extends CoreBaseController{
@Autowired
private ICoreMemTreeService coreMemTreeService;
@Autowired
private ISysUserPasswordService userPasswordService;
/**
*
* @param sysUser
@ -250,17 +254,12 @@ public class SysUserController extends CoreBaseController{
@ApiOperation(value = "修改密码", notes = "修改当前登录用户密码")
public ResultBean updateSysUserPassword(String password,String newPwd) {
try {
startMultiService();
SessionUser sessionUser = AuthUtil.getSessionUser();
// 数据校验
ValidatorBean.checkNotNull(password, "旧密码不能为空");
ValidatorBean.checkNotNull(newPwd, "新密码不能为空");
personnelService.checkSysUserPassword(newPwd);
sysUserService.updateSysUserPassword(sessionUser.getUser().getId(),password,newPwd.trim());
userPasswordService.updatePassword(sessionUser.getUser().getId(),password,newPwd.trim());
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
@ -416,12 +415,11 @@ public class SysUserController extends CoreBaseController{
SysUser user = sysUserService.getSysUserById(Long.parseLong(id));
if(user != null){
Integer num = personnelService.checkSysUserResetPassword(user);
num = CommonConstWords.LOCK_USER_RESET_PASSWORD - num;
num = CommonConstWords.CONFIG_PWD_RESET_PASSWORD_DEFAULT - num;
String password = RandomStringUtils.random(6, true, false);
user.setUserLoginPassword(EncryptTool.hexMD5(password));
sysUserService.updateSysUser(user);
userPasswordService.updatePassword(user.getId(),password);
String content = "系统提示:\n" +
"\t"+getSessionUser().getUserName()+"使用密码重置功能帮您重置了【"+user.getUserLoginName()+"】账号的密码," +
@ -503,54 +501,54 @@ public class SysUserController extends CoreBaseController{
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
/**
*
* @param password
* @param email
* @param verification
* @return
*/
@PostMapping("/password/update-verification")
@ApiOperation(value = "修改密码",notes = "通过邮箱的验证码修改密码")
public ResultBean getEmailVerification(String password,String email,String verification){
try {
ValidatorBean.checkNotNull(verification,"验证码不能为空");
ValidatorBean.checkNotNull(password,"新密码不能为空");
ValidatorBean.checkNotNull(email,"邮件不能为空");
personnelService.checkSysUserPassword(password);
String redisKey = CommonConstWords.SESSION_VERIFICATION_USER_EMAIL + "_" + getSessionUser().getUserId();
Object redisValue = redisCore.getObject(redisKey);
if(redisValue != null){
if(redisValue.toString().indexOf(verification) >= 0 ){
if(redisValue.toString().indexOf(email) >= 0 ){
SysUser user = sysUserService.getSysUserByEmail(email);
user.setUserLoginPassword(EncryptTool.hexMD5(password));
sysUserService.updateSysUser(user);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}else {
return ResultBean.fail("操作失败")
.setCode(ResourceEnumUtil.MESSAGE.FAIL.getCode())
.setErrorMsg("请勿修改邮箱信息");
}
}else {
return ResultBean.fail("操作失败")
.setCode(ResourceEnumUtil.MESSAGE.FAIL.getCode())
.setErrorMsg("验证码错误请重新输入");
}
}else {
return ResultBean.fail("操作失败")
.setCode(ResourceEnumUtil.MESSAGE.FAIL.getCode())
.setErrorMsg("验证码已过期");
}
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
// TODO 密码待修复
// /**
// * 通过邮箱的验证码修改密码
// * @param password 新密码
// * @param email 邮箱
// * @param verification 验证码不能为空
// * @return 处理结果
// */
// @PostMapping("/password/update-verification")
// @ApiOperation(value = "修改密码",notes = "通过邮箱的验证码修改密码")
// public ResultBean getEmailVerification(String password,String email,String verification){
// try {
// ValidatorBean.checkNotNull(verification,"验证码不能为空");
// ValidatorBean.checkNotNull(password,"新密码不能为空");
// ValidatorBean.checkNotNull(email,"邮件不能为空");
//
// personnelService.checkSysUserPassword(password);
//
// String redisKey = CommonConstWords.SESSION_VERIFICATION_USER_EMAIL + "_" + getSessionUser().getUserId();
// Object redisValue = redisCore.getObject(redisKey);
// if(redisValue != null){
// if(redisValue.toString().indexOf(verification) >= 0 ){
// if(redisValue.toString().indexOf(email) >= 0 ){
// SysUser user = sysUserService.getSysUserByEmail(email);
// user.setUserLoginPassword(EncryptTool.hexMD5(password));
// sysUserService.updateSysUser(user);
// return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
// }else {
// return ResultBean.fail("操作失败")
// .setCode(ResourceEnumUtil.MESSAGE.FAIL.getCode())
// .setErrorMsg("请勿修改邮箱信息");
// }
// }else {
// return ResultBean.fail("操作失败")
// .setCode(ResourceEnumUtil.MESSAGE.FAIL.getCode())
// .setErrorMsg("验证码错误请重新输入");
// }
// }else {
// return ResultBean.fail("操作失败")
// .setCode(ResourceEnumUtil.MESSAGE.FAIL.getCode())
// .setErrorMsg("验证码已过期");
// }
// } catch (ImppBusiException busExcep) {
// return ResultBean.fail(busExcep);
// } catch (Exception e) {
// return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
// }
// }
/**
* id

@ -56,7 +56,7 @@ public class I3CoreQueueConfig {
* @throws Exception
*/
@Bean
public Queue getQueueSwebNoticeQueue(){
public Queue getQueueSwebNoticeQuery(){
return new Queue(PlatformConstWords.QUEUE_SWEB_NOTICE);
}

@ -0,0 +1,37 @@
package cn.estsh.i3plus.core.apiservice.mq;
import cn.estsh.i3plus.core.apiservice.serviceimpl.mdm.SysToolSyncDataService;
import cn.estsh.i3plus.pojo.mdm.bean.busi.core.MdmGearCoreBusiExtd;
import cn.estsh.impp.framework.boot.mdm.mq.BaseMdmDataSyncQueueReceiver;
import com.rabbitmq.client.Channel;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
import org.springframework.context.annotation.Configuration;
import static cn.estsh.i3plus.platform.common.util.MdmConstWords.QUEUE_MDM_SYNC_DATA_CORE;
/**
* @Description :
* @Reference :
* @Author : yunhao
* @CreateDate : 2020-05-28 16:54
* @Modify:
**/
@ConditionalOnExpression("'${impp.mq.queue.mdm.sync:true}' == 'true'")
@Configuration
public class MdmDataSyncQueueReceiver extends BaseMdmDataSyncQueueReceiver {
/**
*
*/
public MdmDataSyncQueueReceiver() {
putMdmDataRef(SysToolSyncDataService.class, MdmGearCoreBusiExtd.mdmMasterClass, MdmGearCoreBusiExtd.class);
}
@Override
@RabbitListener(queues = QUEUE_MDM_SYNC_DATA_CORE)
public void syncMasterData(String syncDataStr, Channel channel, Message message) {
processSyncMasterData(syncDataStr, channel, message);
}
}

@ -25,7 +25,8 @@ import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
import org.springframework.stereotype.Component;
import org.springframework.context.annotation.Configuration;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
@ -37,8 +38,8 @@ import java.util.List;
* @CreateDate : 2018-11-15 22:35
* @Modify:
**/
@ConditionalOnExpression("'${impp.mq.queue.letter}' == 'true'")
@Component
@ConditionalOnExpression("'${impp.mq.queue.letter:true}' == 'true'")
@Configuration
public class MessageLetterQueueReceiver {
private static final Logger LOGGER = LoggerFactory.getLogger(MessageLetterQueueReceiver.class);

@ -21,7 +21,8 @@ import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
import org.springframework.stereotype.Component;
import org.springframework.context.annotation.Configuration;
import java.io.IOException;
/**
@ -31,8 +32,8 @@ import java.io.IOException;
* @CreateDate : 2018-11-15 22:15
* @Modify:
**/
@ConditionalOnExpression("'${impp.mq.queue.mail}' == 'true'")
@Component
@ConditionalOnExpression("'${impp.mq.queue.mail:true}' == 'true'")
@Configuration
public class MessageMailQueueReceiver {
private static final Logger LOGGER = LoggerFactory.getLogger(MessageMailQueueReceiver.class);

@ -24,7 +24,7 @@ import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
import org.springframework.stereotype.Component;
import org.springframework.context.annotation.Configuration;
import java.io.IOException;
import java.util.ArrayList;
@ -37,8 +37,8 @@ import java.util.List;
* @CreateDate : 2018-11-15 22:15
* @Modify:
**/
@ConditionalOnExpression("'${impp.mq.queue.sweb.notice}' == 'true'")
@Component
@ConditionalOnExpression("'${impp.mq.queue.sweb.notice:true}' == 'true'")
@Configuration
public class MessageSWebNoticeQueueReceiver {
private static final Logger LOGGER = LoggerFactory.getLogger(MessageSWebNoticeQueueReceiver.class);
@ -64,6 +64,10 @@ public class MessageSWebNoticeQueueReceiver {
// 添加消息
SysMessage msg = JsonUtilTool.decode(data, SysMessage.class);
try {
if (msg!= null &&StringUtils.isBlank(msg.getCreateUser())) {
ConvertBean.serviceModelInitialize(msg, msg.getMessageSenderNameRdd());
}
msg = sysMessageService.insertSysMessage(msg);
// 添加附件信息
@ -90,20 +94,23 @@ public class MessageSWebNoticeQueueReceiver {
try {
userJsonArray = JSON.parseArray(msg.getMessageReceiversId());
}catch (JSONException e){
LOGGER.error(" JSON转换错误【{0}】{1}", msg.getMessageReceiversId(), e.getMessage());
LOGGER.error("JSON转换错误【{0}】", msg.getMessageReceiversId(), e.getMessage());
}
JSONObject userJsonObject;
List<SysRefUserMessage> insertList = new ArrayList<>(userJsonArray.size());
List<String> receiversId = new ArrayList();
List<String> receiversName = new ArrayList();
List<Long> receiversId = new ArrayList<>();
List<String> receiversName = new ArrayList<>();
SysRefUserMessage refUserMessage;
for (Object user : userJsonArray) {
// 约定格式:[{'id':'111','name':'张三'},{'id':'121','name':'张三2'}]
userJsonObject = ( JSONObject )user;
receiversId.add(userJsonObject.get("id").toString());
receiversName.add(userJsonObject.get("name").toString());
if (userJsonObject.containsKey("id")) {
receiversId.add(userJsonObject.getLongValue("id"));
}
if (userJsonObject.containsKey("name")) {
receiversName.add(userJsonObject.getString("name"));
}
refUserMessage = new SysRefUserMessage();
refUserMessage.setMessageId(msg.getId());
@ -111,8 +118,8 @@ public class MessageSWebNoticeQueueReceiver {
refUserMessage.setMessageTitleRdd(msg.getMessageTitle());
refUserMessage.setMessageTypeRdd(msg.getMessageType());
refUserMessage.setMessageSenderNameRdd(msg.getMessageSenderNameRdd());
refUserMessage.setReceiverId(Long.parseLong(userJsonObject.get("id").toString()));
refUserMessage.setReceiverNameRdd(userJsonObject.get("name").toString());
refUserMessage.setReceiverId(userJsonObject.getLongValue("id"));
refUserMessage.setReceiverNameRdd(userJsonObject.getString("name"));
refUserMessage.setMessageStatus(ImppEnumUtil.MESSAGE_STATUS.UNREAD.getValue());
refUserMessage.setReceiverTime(TimeTool.getNowTime(true));
refUserMessage.setIsUrgent(msg.getIsUrgent());

@ -42,8 +42,8 @@ import static cn.estsh.i3plus.platform.common.util.PlatformConstWords.QUEUE_IMPP
* @CreateDate : 20-4-26 2:32
* @Modify:
**/
@Component
@ConditionalOnExpression("'${impp.mq.queue.letter}' == 'true'")
@ConditionalOnExpression("'${impp.mq.queue.pojo.version:true}' == 'true'")
@Configuration
public class PojoVersionQueueReceiver {
private static final Logger LOGGER = LoggerFactory.getLogger(PojoVersionQueueReceiver.class);

@ -11,6 +11,7 @@ import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysMessage;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskPlan;
import cn.estsh.i3plus.pojo.platform.bean.SysUser;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogTaskTime;
import cn.estsh.impp.framework.boot.log.ImppLog;
import com.alibaba.fastjson.JSON;
@ -22,7 +23,7 @@ import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
import org.springframework.stereotype.Component;
import org.springframework.context.annotation.Configuration;
import java.io.IOException;
import java.util.stream.Collectors;
@ -34,8 +35,8 @@ import java.util.stream.Collectors;
* @CreateDate : 2018-12-20 21:56
* @Modify:
**/
@ConditionalOnExpression("'${impp.mq.queue.schedule}' == 'true'")
@Component
@ConditionalOnExpression("'${impp.mq.queue.schedule:true}' == 'true'")
@Configuration
public class ScheduleQueueReceiver {
private static final Logger LOGGER = LoggerFactory.getLogger(ScheduleQueueReceiver.class);
@ -110,7 +111,7 @@ public class ScheduleQueueReceiver {
// 设置收件人名称
String[] messageReceiver = taskPlan.getNoticeChannel().split(",");
String receiversName = sysUserService.findSysUserByIds(StringTool.getArrayLong(messageReceiver))
.stream().map(e -> e.getUserName()).collect(Collectors.joining(","));
.stream().map(SysUser::getUserName).collect(Collectors.joining(","));
sysMessage.setMessageReceiversNameRdd(receiversName);
}

@ -12,7 +12,8 @@ import org.slf4j.LoggerFactory;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
import org.springframework.context.annotation.Configuration;
import java.io.IOException;
import java.util.Map;
@ -27,7 +28,8 @@ import static cn.estsh.i3plus.platform.common.util.PlatformConstWords.QUEUE_IMPP
* @CreateDate : 19-8-23 3:12
* @Modify:
**/
@Component
@ConditionalOnExpression("'${impp.mq.queue.resource:true}' == 'true'")
@Configuration
public class SysLocalResourceQueue {
private static final Logger LOGGER = LoggerFactory.getLogger(SysLocalResourceQueue.class);

@ -7,8 +7,6 @@ import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.quartz.DisallowConcurrentExecution;
import org.quartz.JobExecutionContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
/**
@ -21,7 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired;
@DisallowConcurrentExecution
@ApiOperation("定时任务demo")
public class DemoJob extends BaseImppScheduleJob {
public static final Logger LOGGER = LoggerFactory.getLogger(DemoJob.class);
private static final long serialVersionUID = 2582480740831583839L;
public DemoJob() {
@ -48,7 +46,18 @@ public class DemoJob extends BaseImppScheduleJob {
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("定时任务被执行");
LOGGER.info("projectName{},port:{}", applicationProperties.getApplicationName(),applicationProperties.getServerPort());
LOGGER.debug("debug /////BaseImppScheduleJob/// ///////projectName{},port:{}",
applicationProperties.getApplicationName(),
applicationProperties.getServerPort());
LOGGER.info("info ///////////BaseImppScheduleJob// ////projectName{},port:{}",
applicationProperties.getApplicationName(),
applicationProperties.getServerPort());
LOGGER.warn("warn /////////BaseImppScheduleJob////////////////////projectName{},port:{}",
applicationProperties.getApplicationName(),
applicationProperties.getServerPort());
LOGGER.error("error ////////////BaseImppScheduleJob////////////////////projectName{},port:{}",
applicationProperties.getApplicationName(),
applicationProperties.getServerPort());
}
}

@ -9,7 +9,6 @@ import cn.estsh.i3plus.platform.common.convert.ConvertBean;
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.impp.framework.boot.license.ImppLicenseTool;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
@ -78,6 +77,8 @@ public class SystemInitService implements ISystemInitService {
@Override
@ApiOperation(value = "初始化加载所有数据",notes = "初始化加载所有数据")
public void putAndLoadAll() {
try {
type = ImppEnumUtil.SYS_CACHE_TYPE.REDIS.getValue();
LOGGER.info("加载 SysConfig 信息");
@ -99,8 +100,9 @@ public class SystemInitService implements ISystemInitService {
LOGGER.info("加载 对象版本控制信息");
reloadPojoVersionPlan();
LOGGER.info("加载 对象版本控制信息 信息完成");
}catch (Exception e){
e.printStackTrace();
}
}
@Override

@ -1,6 +1,9 @@
package cn.estsh.i3plus.core.apiservice.serviceimpl.base;
import cn.estsh.i3plus.core.api.iservice.base.ISystemLoginService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysUserPasswordService;
import cn.estsh.i3plus.core.apiservice.util.SysUserPasswordUtil;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.tool.EncryptTool;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
@ -9,20 +12,29 @@ import cn.estsh.i3plus.pojo.base.shirotoken.SaAdminToken;
import cn.estsh.i3plus.pojo.base.shirotoken.UserToken;
import cn.estsh.i3plus.pojo.platform.bean.SessionUser;
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.util.ImppLdapUtils;
import cn.estsh.impp.framework.boot.util.ImppRedis;
import cn.estsh.impp.framework.boot.util.ImppSwitchUtil;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
import org.apache.shiro.authc.CredentialsException;
import org.apache.shiro.authc.IncorrectCredentialsException;
import org.apache.shiro.authc.LockedAccountException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.io.UnsupportedEncodingException;
import java.security.NoSuchAlgorithmException;
import java.util.Objects;
/**
* @Description :
@ -38,6 +50,14 @@ public class SystemLoginService implements ISystemLoginService {
@Autowired
private SysUserRepository sysUserRDao;
@Lazy
@Autowired
private SysUserPasswordUtil userPasswordUtil;
@Lazy
@Autowired
private ISysUserPasswordService passwordService;
/**
*
*/
@ -119,28 +139,55 @@ public class SystemLoginService implements ISystemLoginService {
public SysUser getUserLoginInfo(String loginName,String pwd) {
SysUser user = sysUserRDao.getByProperty(
new String[]{"userLoginName","isValid"},
new Object[]{loginName,CommonEnumUtil.IS_VAILD.VAILD.getValue()}
);
new Object[]{loginName,CommonEnumUtil.IS_VAILD.VAILD.getValue()});
if(user == null){ //用户不存在
throw new CredentialsException("用户不存在");
}else {
if(user.getUserStatus() != CommonEnumUtil.USER_STATUS.ENABLE.getValue()){
throw new LockedAccountException("账号已被锁定");
}
try {
// 密码加密
pwd = EncryptTool.hexMD5(pwd);
} catch (Exception e) {
LOGGER.error("登录密码加密出错。");
throw new IncorrectCredentialsException("登陆密码错误");
}
if(user.getUserStatus() != CommonEnumUtil.USER_STATUS.ENABLE.getValue()){
throw new LockedAccountException("账号已被锁定");
}
// 登录AD 域检查
if(ImppSwitchUtil.isLoginActiveDirectory()){
userPasswordUtil.checkActiveDirectory(user);
return user;
}
SysUserPassword password = null;
String passwordStr = user.getUserLoginPassword();
try {
if(Objects.nonNull(user.getUserLoginPasswordId()) && user.getUserLoginPasswordId() > 0){
password = passwordService.get(user.getUserLoginPasswordId());
}else{
if(StringUtils.equals(user.getUserLoginPassword(),SysUserPasswordUtil.encoder(pwd))){
SysUserPassword userPassword = new SysUserPassword(user.getId(), SysUserPasswordUtil.encoder(pwd));
ConvertBean.serviceModelInitialize(userPassword,user.getUserName());
password = passwordService.insert(userPassword);
user.setUserLoginPassword(null);
user.setUserLoginPasswordId(password.getId());
sysUserRDao.save(user);
}
}
if (!StringUtils.equals(user.getUserLoginPassword(), pwd)) { //密码不符
LOGGER.error("密码验证错误。");
throw new IncorrectCredentialsException("登陆密码错误");
if(Objects.nonNull(password)){
passwordStr = password.getUserPassword();
}
return user;
if (StringUtils.equals(passwordStr,SysUserPasswordUtil.encoder(pwd))){
return user;
}
LOGGER.error("密码验证错误。");
} catch (Exception e) {
LOGGER.error("登录密码加密出错[Exception]");
}
throw new IncorrectCredentialsException("登陆密码错误");
}
/**

@ -5,6 +5,7 @@ import cn.estsh.i3plus.core.api.iservice.busi.*;
import cn.estsh.i3plus.core.apiservice.util.HqlModelPack;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.platform.common.tool.StringTool;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
@ -22,6 +23,7 @@ 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.util.ImppRedis;
import cn.estsh.impp.framework.boot.util.RedisCacheTool;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils;
@ -674,12 +676,12 @@ public class PersonnelServiceService implements IPersonnelService {
LOGGER.info("平台用户岗位 SysUser user:{}", user);
Integer num = 0;
if(user != null){
String day = DateFormatUtils.ISO_8601_EXTENDED_DATE_FORMAT.format(new Date());
String redisKey = CommonConstWords.REDIS_PREFIX_USER_RESET_PASSWORD + "-" + day + "-" + user.getId();
String redisKey = CommonConstWords.REDIS_PREFIX_USER_RESET_PASSWORD + ":" + TimeTool.getToday() + ":" + user.getId();
Object redisValue = redisCore.getObject(redisKey);
num = redisValue == null ? 1 : Integer.parseInt(redisValue.toString()) + 1;
if(num > CommonConstWords.LOCK_USER_RESET_PASSWORD){
int numMax = RedisCacheTool.getSysConfigIntVal(CommonConstWords.CONFIG_PWD_RESET_PASSWORD, CommonConstWords.CONFIG_PWD_RESET_PASSWORD_DEFAULT);
if(num > numMax){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.USER_PERMISSION_RUN_OUT.getCode())
@ -826,77 +828,77 @@ public class PersonnelServiceService implements IPersonnelService {
}
}
@Override
public void checkSysUserPassword(String password) {
LOGGER.info("平台用户 SysUser password:{}", password);
if(StringUtils.isNotBlank(password)){
// 密码长度校验
String redisKey = CommonConstWords.REDIS_PREFIX_CACHE_CONFIG + "_" + CommonConstWords.CONFIG_PWD_LENGTH;
SysConfig config = (SysConfig) systemInitService.getDataFromCache(redisKey, SysConfig.class);
if(!checkPasswordLength(config,password)){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.NOT_CONFIG_EXCEPTION.getCode())
.setErrorDetail("密码长度不够"+config.getConfigValue()+"位")
.setErrorSolution("请重新输入")
.build();
}
// 密码小写校验
redisKey = CommonConstWords.REDIS_PREFIX_CACHE_CONFIG + "_" + CommonConstWords.CONFIG_PWD_EXIST_LOWER_ENGLISH;
config = (SysConfig) systemInitService.getDataFromCache(redisKey, SysConfig.class);
if(!checkPasswordLowerEnglish(config,password)){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.NOT_CONFIG_EXCEPTION.getCode())
.setErrorDetail("密码必须包含小写英文")
.setErrorSolution("请重新输入")
.build();
}
// 密码大写校验
redisKey = CommonConstWords.REDIS_PREFIX_CACHE_CONFIG + "_" + CommonConstWords.CONFIG_PWD_EXIST_UPPERCASE_ENGLISH;
config = (SysConfig) systemInitService.getDataFromCache(redisKey, SysConfig.class);
if(!checkPasswordUpperEnglish(config,password)){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.NOT_CONFIG_EXCEPTION.getCode())
.setErrorDetail("密码必须包含大写英文")
.setErrorSolution("请重新输入")
.build();
}
// 密码特殊字符
redisKey = CommonConstWords.REDIS_PREFIX_CACHE_CONFIG + "_" + CommonConstWords.CONFIG_PWD_EXIST_SPECIAL_CHAR;
config = (SysConfig) systemInitService.getDataFromCache(redisKey, SysConfig.class);
if(!checkPasswordSpecialChar(config,password)){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.NOT_CONFIG_EXCEPTION.getCode())
.setErrorDetail("密码必须包含特殊字符")
.setErrorSolution("请重新输入")
.build();
}
// 密码特殊字符
redisKey = CommonConstWords.REDIS_PREFIX_CACHE_CONFIG + "_" + CommonConstWords.CONFIG_PWD_EXIST_NUMBER;
config = (SysConfig) systemInitService.getDataFromCache(redisKey, SysConfig.class);
if(!checkPasswordNumber(config,password)){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.NOT_CONFIG_EXCEPTION.getCode())
.setErrorDetail("密码必须包含数字")
.setErrorSolution("请重新输入")
.build();
}
}
}
// @Override
// public void checkSysUserPassword(String password) {
// LOGGER.info("平台用户 SysUser password:{}", password);
//
// if(StringUtils.isNotBlank(password)){
// // 密码长度校验
// String redisKey = CommonConstWords.REDIS_PREFIX_CACHE_CONFIG + "_" + CommonConstWords.CONFIG_PWD_LENGTH;
// SysConfig config = (SysConfig) systemInitService.getDataFromCache(redisKey, SysConfig.class);
//
// if(!checkPasswordLength(config,password)){
// throw ImppExceptionBuilder.newInstance()
// .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
// .setErrorCode(ImppExceptionEnum.NOT_CONFIG_EXCEPTION.getCode())
// .setErrorDetail("密码长度不够"+config.getConfigValue()+"位")
// .setErrorSolution("请重新输入")
// .build();
// }
//
// // 密码小写校验
// redisKey = CommonConstWords.REDIS_PREFIX_CACHE_CONFIG + "_" + CommonConstWords.CONFIG_PWD_EXIST_LOWER_ENGLISH;
// config = (SysConfig) systemInitService.getDataFromCache(redisKey, SysConfig.class);
//
// if(!checkPasswordLowerEnglish(config,password)){
// throw ImppExceptionBuilder.newInstance()
// .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
// .setErrorCode(ImppExceptionEnum.NOT_CONFIG_EXCEPTION.getCode())
// .setErrorDetail("密码必须包含小写英文")
// .setErrorSolution("请重新输入")
// .build();
// }
//
// // 密码大写校验
// redisKey = CommonConstWords.REDIS_PREFIX_CACHE_CONFIG + "_" + CommonConstWords.CONFIG_PWD_EXIST_UPPERCASE_ENGLISH;
// config = (SysConfig) systemInitService.getDataFromCache(redisKey, SysConfig.class);
//
// if(!checkPasswordUpperEnglish(config,password)){
// throw ImppExceptionBuilder.newInstance()
// .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
// .setErrorCode(ImppExceptionEnum.NOT_CONFIG_EXCEPTION.getCode())
// .setErrorDetail("密码必须包含大写英文")
// .setErrorSolution("请重新输入")
// .build();
// }
//
// // 密码特殊字符
// redisKey = CommonConstWords.REDIS_PREFIX_CACHE_CONFIG + "_" + CommonConstWords.CONFIG_PWD_EXIST_SPECIAL_CHAR;
// config = (SysConfig) systemInitService.getDataFromCache(redisKey, SysConfig.class);
//
// if(!checkPasswordSpecialChar(config,password)){
// throw ImppExceptionBuilder.newInstance()
// .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
// .setErrorCode(ImppExceptionEnum.NOT_CONFIG_EXCEPTION.getCode())
// .setErrorDetail("密码必须包含特殊字符")
// .setErrorSolution("请重新输入")
// .build();
// }
//
// // 密码特殊字符
// redisKey = CommonConstWords.REDIS_PREFIX_CACHE_CONFIG + "_" + CommonConstWords.CONFIG_PWD_EXIST_NUMBER;
// config = (SysConfig) systemInitService.getDataFromCache(redisKey, SysConfig.class);
//
// if(!checkPasswordNumber(config,password)){
// throw ImppExceptionBuilder.newInstance()
// .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
// .setErrorCode(ImppExceptionEnum.NOT_CONFIG_EXCEPTION.getCode())
// .setErrorDetail("密码必须包含数字")
// .setErrorSolution("请重新输入")
// .build();
// }
// }
// }
// @Override
// public void refreshUpdateMenuRdd(Long menuId) {

@ -16,8 +16,8 @@ import cn.estsh.i3plus.pojo.platform.repository.SysDictionaryRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysFileRepository;
import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.fastdfs.FastDFSClient;
import cn.estsh.impp.framework.boot.fastdfs.FastDFSFile;
import cn.estsh.impp.framework.boot.fileservice.ImppFileService;
import cn.estsh.i3plus.pojo.base.bean.ImppFile;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
@ -47,7 +47,7 @@ public class SysFileServiceImpl implements ISysFileService {
private SysDictionaryRepository sysDictionaryRDao;
@Autowired
private FastDFSClient dfsClient;
private ImppFileService fileService;
@Override
@ApiOperation(value = "新增资源信息")
@ -173,15 +173,15 @@ public class SysFileServiceImpl implements ISysFileService {
sysFile.setFileSoftType(CommonEnumUtil.SOFT_TYPE.CORE.getValue());
}
FastDFSFile fastDFSFile;
ImppFile fastDFSFile;
SysFile uploadFile;
// 判断参数类型
if (file instanceof File) {
fastDFSFile = new FastDFSFile(((File) file).getName(), FileTool.file2Byte(((File) file).getPath()),
fastDFSFile = new ImppFile(((File) file).getName(), FileTool.file2Byte(((File) file).getPath()),
StringTool.getStringFileSuffix(((File) file).getName(), true));
uploadFile = dfsClient.upload(fastDFSFile, sysFile.getFileSoftTypeVal());
uploadFile = fileService.upload(fastDFSFile, sysFile.getFileSoftTypeVal());
} else {
uploadFile = dfsClient.saveFile((MultipartFile) file, sysFile.getFileSoftTypeVal());
uploadFile = fileService.upload((MultipartFile) file, sysFile.getFileSoftTypeVal());
}
uploadFile.setId(sysFile.getId());

@ -1,6 +1,7 @@
package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysLocaleResourceService;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.platform.common.tool.BeanCopyTool;
import cn.estsh.i3plus.platform.common.tool.JsonUtilTool;
@ -257,7 +258,7 @@ public class SysLocaleResourceService implements ISysLocaleResourceService {
}
@Override
public void doConversionMissResourceByKeys(List<MissResourceModel> missResourceModelList) {
public void doConversionMissResourceByKeys(List<MissResourceModel> missResourceModelList,String userName) {
Map<String, String> langCodeMap = sysLocaleLanguageRDao.list()
.stream()
.collect(
@ -278,6 +279,9 @@ public class SysLocaleResourceService implements ISysLocaleResourceService {
sysLocaleResource.setResourceValue(resourceModel.getResourceValue());
sysLocaleResource.setIsSystem(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
// 数据初始化
ConvertBean.serviceModelInitialize(sysLocaleResource,userName);
insertSysLocaleResource(sysLocaleResource);
redisRes.deleteKey(resourceModel.getKey());
}

@ -1,7 +1,9 @@
package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysPojoVersionDetailService;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.platform.bean.SysPojoVersionDetail;
import cn.estsh.i3plus.pojo.platform.repository.SysPojoVersionDetailRepository;
import cn.estsh.impp.framework.base.service.CrudService;
@ -25,4 +27,11 @@ public class SysPojoVersionDetailService extends CrudService<SysPojoVersionDetai
public BaseRepository<SysPojoVersionDetail, Long> getRepository() {
return pojoVersionRDao;
}
@Override
public SysPojoVersionDetail getPojoVersionDetailByPojoVersionId(Long pojoVersionId) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean();
DdlPreparedPack.getNumEqualPack(pojoVersionId,"pojoVersionId",ddlPackBean);
return pojoVersionRDao.getByProperty(ddlPackBean);
}
}

@ -8,7 +8,6 @@ import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.platform.bean.SysPojoVersionPlan;
import cn.estsh.i3plus.pojo.platform.repository.SysPojoVersionPlanRepository;
import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack;
import cn.estsh.impp.framework.base.service.CacheCrudService;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import org.springframework.beans.factory.annotation.Autowired;
@ -48,4 +47,12 @@ public class SysPojoVersionPlanService extends CacheCrudService<SysPojoVersionPl
.build();
}
}
@Override
public SysPojoVersionPlan getSysPojoVersionPlanBySoftTypeAndClassName(Integer softType, String className) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean();
DdlPreparedPack.getNumEqualPack(softType,"softType",packBean);
DdlPreparedPack.getStringEqualPack(className,"refClass",packBean);
return pojoVersionPlanRDao.getByProperty(packBean);
}
}

@ -1,63 +0,0 @@
package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskTimeRecordingService;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogTaskTime;
import cn.estsh.i3plus.pojo.platform.repository.SysTaskTimeRecordingRepository;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : yunhao
* @Date : 2018-10-22 16:58:44.011
* @Modify :
**/
@Service
public class SysTaskTimeRecordingService implements ISysTaskTimeRecordingService {
public static final Logger LOGGER = LoggerFactory.getLogger(SysTaskTimeRecordingService.class);
@Autowired
private SysTaskTimeRecordingRepository taskTimeRecordingRDao;
@Override
@ApiOperation(value = "更新任务周期信息")
public void updateSysTaskTimeRecording(SysLogTaskTime taskTimeRecording) {
LOGGER.info("定时任务执行记录 TASK_TIMED_RECORDING :{}", taskTimeRecording);
taskTimeRecordingRDao.update(taskTimeRecording);
}
@Override
@ApiOperation(value = "删除任务周期信息",notes = "根据 ID 删除任务周期信息")
public void deleteSysTaskTimeRecordingById(Long id) {
LOGGER.info("定时任务执行记录 TASK_TIMED_RECORDING Key:{}", id);
taskTimeRecordingRDao.deleteById(id);
}
@Override
@ApiOperation(value = "新增任务周期信息")
public SysLogTaskTime insertSysTaskTimeRecording(SysLogTaskTime taskTimeRecording) {
LOGGER.info("定时任务执行记录 TASK_TIMED_RECORDING :{}", taskTimeRecording);
return taskTimeRecordingRDao.insert(taskTimeRecording);
}
@Override
@ApiOperation(value = "查询任务周期信息",notes = "查询所有任务周期信息")
public List<SysLogTaskTime> findSysTaskTimeRecordingAll() {
LOGGER.info("定时任务执行记录 TASK_TIMED_RECORDING find All");
return taskTimeRecordingRDao.findAll();
}
@Override
@ApiOperation(value = "查询任务周期信息",notes = "查询 ID 任务周期信息")
public SysLogTaskTime getSysTaskTimeRecordingById(Long id) {
LOGGER.info("定时任务执行记录 TASK_TIMED_RECORDING find id:{}", id);
return taskTimeRecordingRDao.getOne(id);
}
}

@ -1,7 +1,7 @@
package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysToolService;
import cn.estsh.i3plus.core.apiservice.dao.ITestDao;
import cn.estsh.i3plus.platform.common.tool.BeanCopyTool;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper;
@ -12,7 +12,6 @@ import cn.estsh.i3plus.pojo.platform.repository.SysToolRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysToolTypeRepository;
import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack;
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;
@ -82,24 +81,12 @@ public class SysToolService implements ISysToolService {
@Override
@ApiOperation(value = "更新硬件信息")
public void updateSysTool(SysTool tool) {
// 查询硬件类型名称
LOGGER.info("硬件类型 TOOL_TYPE :{}", tool);
SysToolType toolType = toolTypeRDao.getById(tool.getToolTypeId());
ValidatorBean.checkNotNull(toolType);
SysTool newSysTool = toolRDao.getById(tool.getId());
newSysTool.setName(tool.getName());
newSysTool.setToolConnType(tool.getToolConnType());
newSysTool.setToolDataType(tool.getToolDataType());
newSysTool.setToolIp(tool.getToolIp());
newSysTool.setToolPort(tool.getToolPort());
newSysTool.setToolDescription(tool.getToolDescription());
newSysTool.setToolTypeId(tool.getToolTypeId());
newSysTool.setToolTypeNameRdd(toolType.getName());
newSysTool.setToolOperating(tool.getToolOperating());
LOGGER.info("硬件 TOOL :{}",newSysTool);
toolRDao.update(newSysTool);
SysTool orginTool = toolRDao.getById(tool.getId());
if(orginTool == null){
orginTool = tool;
}
BeanCopyTool.beanCopy(tool,orginTool);
toolRDao.update(orginTool);
}
@Override

@ -0,0 +1,89 @@
package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysUserPasswordService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysUserService;
import cn.estsh.i3plus.core.apiservice.util.SysUserPasswordUtil;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository;
import cn.estsh.i3plus.pojo.platform.bean.SysUser;
import cn.estsh.i3plus.pojo.platform.bean.SysUserPassword;
import cn.estsh.i3plus.pojo.platform.repository.SysUserPasswordRepository;
import cn.estsh.impp.framework.base.service.CrudService;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : wei.peng
* @CreateDate : 20-6-4 3:49
* @Modify:
**/
@Primary
@Service
public class SysUserSavePasswordService extends CrudService<SysUserPassword> implements ISysUserPasswordService {
@Autowired
private SysUserPasswordRepository userPasswordRDao;
@Autowired
private ISysUserService userService;
@Override
public BaseRepository<SysUserPassword, Long> getRepository() {
return userPasswordRDao;
}
@Override
public void updatePassword(Long userId, String password, String newPwd) {
SysUser user = userService.getSysUserById(userId);
ValidatorBean.checkNotNull(user,"不存在的用户信息");
SysUserPassword userPassword = userPasswordRDao.getById(user.getUserLoginPasswordId());
ValidatorBean.checkNotNull(userPassword,"不存在的用户密码信息");
if(StringUtils.equals(userPassword.getUserPassword(),password)){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.NOT_CONFIG_EXCEPTION.getCode())
.setErrorDetail("原始密码错误")
.setErrorSolution("请重新操作")
.build();
}
updatePassword(userId, newPwd);
}
@Override
public void updatePassword(Long userId, String password) {
SysUser user = userService.getSysUserById(userId);
ValidatorBean.checkNotNull(user,"不存在的用户信息");
userPasswordRDao.updateByProperties(
new String[]{"userId","isDeleted"},
new Object[]{user.getId(),CommonEnumUtil.IS_DEAL.NO.getValue()},
new String[]{"isDeleted","modifyDatetime","modifyUser"},
new Object[]{
CommonEnumUtil.IS_DEAL.YES.getValue(), TimeTool.getNowTime(true), AuthUtil.getSessionUser().getUserName()});
SysUserPassword pwd = new SysUserPassword();
pwd.setUserId(userId);
pwd.setUserPassword(SysUserPasswordUtil.encoder(password));
ConvertBean.serviceModelInitialize(pwd,AuthUtil.getSessionUser());
SysUserPassword save = userPasswordRDao.save(pwd);
user.setUserLoginPasswordId(save.getId());
ConvertBean.serviceModelUpdate(user,AuthUtil.getSessionUser().getUserName());
userService.updateSysUser(user);
}
}

@ -2,6 +2,7 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.core.api.iservice.busi.*;
import cn.estsh.i3plus.core.apiservice.dao.IUserPermissionDao;
import cn.estsh.i3plus.core.apiservice.util.SysUserPasswordUtil;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.tool.EncryptTool;
import cn.estsh.i3plus.platform.common.tool.StringTool;
@ -26,6 +27,7 @@ import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.impp.framework.boot.util.ImppRedis;
import cn.estsh.impp.framework.boot.util.RedisCacheTool;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
@ -57,7 +59,7 @@ public class SysUserService implements ISysUserService {
public static final Logger LOGGER = LoggerFactory.getLogger(SysUserService.class);
@Autowired
private SysUserRepository sysUserRDao;
private SysUserRepository userRDao;
@Autowired
private SysUserInfoRepository sysUserInfoRDao;
@ -122,6 +124,11 @@ public class SysUserService implements ISysUserService {
@Autowired
private ISysFileService fileService;
@Autowired
private SysUserPasswordUtil passwordUtil;
@Autowired ISysUserPasswordService userPasswordService;
@Resource(name = CommonConstWords.IMPP_REDIS_RES)
private ImppRedis redisRes;
@ -173,10 +180,19 @@ public class SysUserService implements ISysUserService {
@ApiOperation(value = "修改账号", notes = "修改账号状态")
public void updateSysUserStatus(Long id, int status, SessionUser user) {
LOGGER.debug("平台用户 SYS_USER id:{} status:{} modifyUser:{}", id, status, user.getUserName());
SysUser sysUser = sysUserRDao.getById(id);
SysUser sysUser = userRDao.getById(id);
sysUser.setUserStatus(status);
sysUser.setModifyUser(user.getUserName());
sysUserRDao.update(sysUser);
userRDao.update(sysUser);
}
@Override
public void doLockSysUserById(Long id) {
SysUser user = userRDao.getById(id);
if(Objects.nonNull(user)){
user.setUserStatus(CommonEnumUtil.USER_STATUS.LOCKING.getValue());
userRDao.save(user);
}
}
@Override
@ -185,59 +201,67 @@ public class SysUserService implements ISysUserService {
LOGGER.debug("平台用户 SYS_USER DELETE By ids :{} status:{}, SessionUser :{}", ids,status,user);
String where = CoreHqlPack.packHqlIds("id", ids);
List<SysUser> list = sysUserRDao.findByHqlWhere(where);
List<SysUser> list = userRDao.findByHqlWhere(where);
if(null != list && list.size() > 0){
for (SysUser sysUser : list) {
sysUser.setUserStatus(status);
sysUser.setIsValid(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
ConvertBean.modelUpdate(sysUser,user);
}
sysUserRDao.saveAll(list);
userRDao.saveAll(list);
}
}
@Override
@ApiOperation(value = "修改账号", notes = "修改账号信息")
public void updateSysUser(SysUser sysUser) throws Exception{
public void updateSysUser(SysUser sysUser) {
LOGGER.debug("平台用户 SYS_USER SysUser :{}", sysUser);
sysUserRDao.save(sysUser);
userRDao.save(sysUser);
}
@Override
@ApiOperation(value = "修改账号", notes = "修改账号登录密码")
public void updateSysUserPassword(Long userId, String password, String newPwd) throws Exception {
LOGGER.debug("平台用户 SYS_USER Override:{} password:{} newPwd:{}", userId,password,newPwd);
SysUser user = sysUserRDao.getById(userId);
if(user != null){
String pwdMd5 = EncryptTool.hexMD5(password);
if(pwdMd5.equals(user.getUserLoginPassword())){
user.setUserLoginPassword(EncryptTool.hexMD5(newPwd));
sysUserRDao.save(user);
}else {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("旧密码错误")
.setErrorSolution("请重新输入")
.build();
}
}else {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
.setErrorDetail("用户不存在")
.setErrorSolution("请重新操作")
.build();
}
SysUser user = userRDao.getById(userId);
ValidatorBean.checkNotNull(user,"用户不存在");
user.setUserLoginPassword(newPwd);
passwordUtil.checkPasswordSave(user);
userPasswordService.update(null);
// if(user != null){
// String pwdMd5 = EncryptTool.hexMD5(password);
// if(pwdMd5.equals(user.getUserLoginPassword())){
// user.setUserLoginPassword(EncryptTool.hexMD5(newPwd));
// userRDao.save(user);
// }else {
// throw ImppExceptionBuilder.newInstance()
// .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
// .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
// .setErrorDetail("旧密码错误")
// .setErrorSolution("请重新输入")
// .build();
// }
// }else {
// throw ImppExceptionBuilder.newInstance()
// .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
// .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
// .setErrorDetail("用户不存在")
// .setErrorSolution("请重新操作")
// .build();
// }
}
@Override
@ApiOperation(value = "刷新账号", notes = "刷新账号登录信息")
public void refreshUserLoginInformation(Long userId) {
SysUser user = sysUserRDao.getById(userId);
SysUser user = userRDao.getById(userId);
user.setUserLoginLastDateTime(TimeTool.getNowTime(true));
user.setUserLoginNum(user.getUserLoginNum() + 1);
sysUserRDao.save(user);
userRDao.save(user);
SysUserInfo userInfo = sysUserInfoRDao.getById(user.getUserInfoId());
userInfo.setUserLoginLastDateTime(TimeTool.getNowTime(true));
@ -255,7 +279,7 @@ public class SysUserService implements ISysUserService {
// 密码加密 输入的密码不等于密码一致时修改密码
String md5 = EncryptTool.hexMD5(sysUser.getUserLoginPassword());
sysUser.setUserLoginPassword(md5);
return sysUserRDao.insert(sysUser);
return userRDao.insert(sysUser);
} else {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
@ -312,7 +336,7 @@ public class SysUserService implements ISysUserService {
// 角色名称冗余
// sysUser.setRoleNameRdd(String.join(",", roleNameList));
sysUserRDao.save(sysUser);
userRDao.save(sysUser);
}
}
@ -320,9 +344,9 @@ public class SysUserService implements ISysUserService {
@ApiOperation(value = "删除账号", notes = "删除账号信息,逻辑删除,账号关系业务物理删除")
public void deleteSysUserById(Long id) {
LOGGER.debug("平台用户 SYS_USER DELETE By id :{}", id);
SysUser user = sysUserRDao.getById(id);
SysUser user = userRDao.getById(id);
user.setIsValid(CommonEnumUtil.IS_VAILD.INVAILD.getValue());
sysUserRDao.save(user);
userRDao.save(user);
// 删除用户关系(物理删除)
refUserRoleRDao.deleteByProperty("userId", id); // 删除用户角色关系
@ -338,13 +362,13 @@ public class SysUserService implements ISysUserService {
// 标记用户已删除
String where = CoreHqlPack.packHqlIds("id", ids);
List<SysUser> list = sysUserRDao.findByHqlWhere(where);
List<SysUser> list = userRDao.findByHqlWhere(where);
if(null != list && list.size() > 0){
for (SysUser sysUser : list) {
sysUser.setIsValid(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
}
sysUserRDao.saveAll(list);
userRDao.saveAll(list);
refUserRoleRDao.deleteByPropertyIn("userId",ids);
}
}
@ -353,7 +377,7 @@ public class SysUserService implements ISysUserService {
@ApiOperation(value = "账号查询", notes = "查询所有账号信息")
public List<SysUser> list() {
LOGGER.debug("平台用户 SYS_USER find All");
return sysUserRDao.findByProperty(
return userRDao.findByProperty(
new String[]{"isDeleted","isValid","organizeCode"},
new Object[]{
CommonEnumUtil.IS_DEAL.NO.getValue(),
@ -434,22 +458,22 @@ public class SysUserService implements ISysUserService {
//生成hql查询语句
String hqlPack = CoreHqlPack.packHqlSysUser(user);
pager = PagerHelper.getPager(pager, sysUserRDao.findByHqlWhereCount(hqlPack));
return new ListPager(sysUserRDao.findByHqlWherePage(hqlPack + user.orderBy(), pager), pager);
pager = PagerHelper.getPager(pager, userRDao.findByHqlWhereCount(hqlPack));
return new ListPager(userRDao.findByHqlWherePage(hqlPack + user.orderBy(), pager), pager);
}
@Override
public ListPager<SysUser> querySysUserByPager(SysUser user, List<Long> idList, Pager pager) {
DdlPackBean packBean = CoreHqlPack.packDdlBeanSysUser(user, idList);
pager = PagerHelper.getPager(pager, sysUserRDao.findByHqlWhereCount(packBean));
return new ListPager(sysUserRDao.findByHqlWherePage(packBean, pager), pager);
pager = PagerHelper.getPager(pager, userRDao.findByHqlWhereCount(packBean));
return new ListPager(userRDao.findByHqlWherePage(packBean, pager), pager);
}
@Override
@ApiOperation(value = "账号查询", notes = "根据ID 查询账号信息")
public SysUser getSysUserById(Long id) {
LOGGER.debug("平台用户 SYS_USER get By id :{}", id);
return sysUserRDao.getById(id);
return userRDao.getById(id);
}
@Override
@ -463,21 +487,21 @@ public class SysUserService implements ISysUserService {
public SysUser getSysUserByLoginName(String loginName) {
LOGGER.debug("平台用户 SYS_USER find By Login Name :{}", loginName);
return sysUserRDao.getByProperty(new String[]{"userLoginName", "isValid"},
return userRDao.getByProperty(new String[]{"userLoginName", "isValid"},
new Object[]{loginName, CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()});
}
@Override
@ApiOperation(value = "账号查询", notes = "根据邮箱查询用户信息")
public SysUser getSysUserByEmail(String email) {
return sysUserRDao.getByProperty(new String[]{"userEmail", "isValid"},
return userRDao.getByProperty(new String[]{"userEmail", "isValid"},
new Object[]{email, CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()});
}
@Override
@ApiOperation(value = "账号查询", notes = "根据手机号查询用户信息")
public SysUser getSysUserByPhone(String phone) {
return sysUserRDao.getByProperty(new String[]{"userPhone", "isValid"},
return userRDao.getByProperty(new String[]{"userPhone", "isValid"},
new Object[]{phone, CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()});
}
@ -495,10 +519,10 @@ public class SysUserService implements ISysUserService {
StringBuffer sw = new StringBuffer();
HqlPack.getStringEqualPack(userLoginName,"userLoginName",sw);
HqlPack.getNumNOEqualPack(id,"id",sw);
count = sysUserRDao.findByHqlWhereCount(sw.toString());
count = userRDao.findByHqlWhereCount(sw.toString());
}else{
count = sysUserRDao.findByPropertyCount("userLoginName",userLoginName);
count = userRDao.findByPropertyCount("userLoginName",userLoginName);
}
return count <= 0 ;
}
@ -511,10 +535,10 @@ public class SysUserService implements ISysUserService {
StringBuffer sw = new StringBuffer();
HqlPack.getStringEqualPack(email,"userEmail",sw);
HqlPack.getNumNOEqualPack(id,"id",sw);
count = sysUserRDao.findByHqlWhereCount(sw.toString());
count = userRDao.findByHqlWhereCount(sw.toString());
}else{
count = sysUserRDao.findByPropertyCount("userEmail",email);
count = userRDao.findByPropertyCount("userEmail",email);
}
return count <= 0 ;
}
@ -527,10 +551,10 @@ public class SysUserService implements ISysUserService {
StringBuffer sw = new StringBuffer();
HqlPack.getStringEqualPack(phone,"userPhone",sw);
HqlPack.getNumNOEqualPack(id,"id",sw);
count = sysUserRDao.findByHqlWhereCount(sw.toString());
count = userRDao.findByHqlWhereCount(sw.toString());
}else{
count = sysUserRDao.findByPropertyCount("userPhone",phone);
count = userRDao.findByPropertyCount("userPhone",phone);
}
return count <= 0 ;
}
@ -574,7 +598,7 @@ public class SysUserService implements ISysUserService {
@Override
@ApiOperation(value = "查询账户数量")
public long getSysUserCount() {
return sysUserRDao.listCount();
return userRDao.listCount();
}
/**
@ -669,7 +693,7 @@ public class SysUserService implements ISysUserService {
public List<SysUser> findSysUserByIds(Long[] ids) {
DdlPackBean ddlPackBean = new DdlPackBean();
DdlPreparedPack.getInPackArray(ids, "id", ddlPackBean);
return sysUserRDao.findByHqlWhere(ddlPackBean);
return userRDao.findByHqlWhere(ddlPackBean);
}
/**
@ -762,6 +786,7 @@ public class SysUserService implements ISysUserService {
if(CollectionUtils.isNotEmpty(menuList)){
for (SysMenu menu : menuList) {
if(CommonConstWords.SYSTEM_MENU_ROOT_ID.equals(menu.getParentId())){
menu.getChildList().clear();
list.add(menu);
}
}

@ -0,0 +1,67 @@
package cn.estsh.i3plus.core.apiservice.serviceimpl.mdm;
import cn.estsh.i3plus.core.api.iservice.busi.ISysToolService;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.pojo.mdm.model.core.MdmGearCoreBusiModel;
import cn.estsh.i3plus.pojo.platform.bean.SysTool;
import cn.estsh.impp.framework.boot.mdm.cloud.IBaseMdmBusiExtdCloud;
import cn.estsh.impp.framework.boot.mdm.cloud.IBaseMdmBusiModelCloud;
import cn.estsh.impp.framework.boot.mdm.service.BaseBusiSyncMdmDataService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.stream.Collectors;
/**
* @Description :
* @Reference :
* @Author : yunhao
* @CreateDate : 2020-06-03 15:08
* @Modify:
**/
@Component
public class SysToolSyncDataService extends BaseBusiSyncMdmDataService<SysTool, MdmGearCoreBusiModel> {
@Autowired
private ISysToolService sysToolService;
@Autowired
public SysToolSyncDataService(IBaseMdmBusiExtdCloud baseMdmBusiExtdCloud, IBaseMdmBusiModelCloud<MdmGearCoreBusiModel> baseMdmBusiModelCloud) {
super(baseMdmBusiExtdCloud, baseMdmBusiModelCloud);
}
@Override
public List<SysTool> transform(List<MdmGearCoreBusiModel> syncDataList,String userName) {
return syncDataList.stream().map(gearCoreBusiModel -> {
SysTool sysTool = new SysTool();
if (gearCoreBusiModel != null && gearCoreBusiModel.getBusi() != null && gearCoreBusiModel.getMaster() != null) {
sysTool.setId(gearCoreBusiModel.getBusi().getId());
sysTool.setName(gearCoreBusiModel.getMaster().getName());
sysTool.setToolIp(gearCoreBusiModel.getMaster().getGearModel());
sysTool.setToolDescription(gearCoreBusiModel.getBusi().getCoreNum());
ConvertBean.serviceModelInitialize(sysTool,userName);
}
return sysTool;
}).collect(Collectors.toList());
}
@Override
public void insertBusiList(List<SysTool> beanList) {
for (SysTool sysTool : beanList) {
sysToolService.insertSysTool(sysTool);
}
}
@Override
public void updateBusiList(List<SysTool> beanList) {
for (SysTool sysTool : beanList) {
sysToolService.updateSysTool(sysTool);
}
}
@Override
public void deleteBusiList(List<Long> id,String userName) {
sysToolService.deleteSysToolByIds(id.toArray(new Long[id.size()]));
}
}

@ -177,9 +177,12 @@ public class NoSqlPack {
public static ElasticSearchPack packEsSysLogConsole(SysLogConsole bean) {
ElasticSearchPack result = packElasticSearchPack(bean);
result.andNumberBigger("id",bean.getId());
result.andNumberEquals("softType",bean.getSoftType());
result.andNumberEquals("requestId",bean.getRequestId());
result.andStringLeftLike("logHost",bean.getLogHost());
result.andStringLike("userLoginName",bean.getUserLoginName());
result.andStringEquals("logGroup",bean.getLogGroup());
result.andStringEquals("logLevel",bean.getLogLevel());
result.andStringLeftLike("executeClassName",bean.getExecuteClassName());
result.andStringLike("executeMethod",bean.getExecuteMethod());

@ -0,0 +1,505 @@
package cn.estsh.i3plus.core.apiservice.util;
import cn.estsh.i3plus.core.api.iservice.busi.ISysUserPasswordService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysUserService;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.platform.common.tool.EncryptTool;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysUser;
import cn.estsh.i3plus.pojo.platform.bean.SysUserPassword;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.*;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import javax.naming.NamingException;
import javax.naming.ldap.LdapContext;
import java.io.UnsupportedEncodingException;
import java.security.NoSuchAlgorithmException;
import java.util.List;
import java.util.Objects;
import java.util.regex.Pattern;
/**
* @Description :
* @Reference :
* @Author : wei.peng
* @CreateDate : 20-6-8 10:10
* @Modify:
**/
@Component
public class SysUserPasswordUtil {
public static final Logger LOGGER = LoggerFactory.getLogger(SysUserPasswordUtil.class);
@Autowired
private ISysUserPasswordService userPasswordService;
@Lazy
@Autowired
private ISysUserService userService;
@Resource(name = CommonConstWords.IMPP_REDIS_CORE)
protected ImppRedis redisCore;
/**
*
* @param password
* @return
*/
public static final String encoder(String password){
try {
return EncryptTool.hexMD5(password);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.NOT_CONFIG_EXCEPTION.getCode())
.setErrorDetail("密码加密失败")
.setErrorSolution("请重新操作")
.build();
}
/******************************************** 用户保存密码检查 ********************************************/
public void checkPasswordSave(SysUser user) {
/* 密码 长度校验 */
checkPasswordLength(user.getUserLoginPassword());
/* 密码 大写字母校验 */
checkPasswordUppercaseEnglish(user.getUserLoginPassword());
/* 密码 小写字母校验 */
checkPasswordlowerEnglish(user.getUserLoginPassword());
/* 密码 数字校验 */
checkPasswordNumber(user.getUserLoginPassword());
/* 密码 特殊字符校验 */
checkPasswordSpecial(user.getUserLoginPassword());
/* 密码 重复使用校验 */
checkPasswordRepeatDay(user);
/* 密码 密码正则校验 */
checkPasswordRepeat(user.getUserLoginPassword());
}
/**
*
*
* @param content
*/
private void checkPasswordLength(String content) {
int length = RedisCacheTool.getSysConfigIntVal(CommonConstWords.CONFIG_PWD_LENGTH, CommonConstWords.CONFIG_PWD_LENGTH_DEFAULT);
if (StringUtils.isBlank(content) || StringUtils.length(content) < length) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.NOT_CONFIG_EXCEPTION.getCode())
.setErrorDetail("长度不够" + length + "位")
.setErrorSolution("请重新输入")
.build();
}
}
/**
*
*
* @param content
*/
private void checkPasswordUppercaseEnglish(String content) {
boolean isUppercaseEnglish = RedisCacheTool.getSysConfigBooleanVal(CommonConstWords.CONFIG_PWD_EXIST_UPPERCASE_ENGLISH, CommonEnumUtil.TRUE_OR_FALSE.FALSE);
if (StringUtils.isNotBlank(content) && isUppercaseEnglish) {
char[] chars = content.toCharArray();
int num = 0;
for (char ch : chars) {
// Chart ASCLL 编码比对 A-Z
if (ch >= 65 && ch <= 90) {
++num;
}
}
if (num <= 0) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.NOT_CONFIG_EXCEPTION.getCode())
.setErrorDetail("必须包含大写英文")
.setErrorSolution("请重新输入")
.build();
}
}
}
/**
*
*
* @param content
*/
private void checkPasswordlowerEnglish(String content) {
boolean isUppercaseEnglish = RedisCacheTool.getSysConfigBooleanVal(CommonConstWords.CONFIG_PWD_EXIST_LOWER_ENGLISH, CommonEnumUtil.TRUE_OR_FALSE.FALSE);
if (StringUtils.isNotBlank(content) && isUppercaseEnglish) {
char[] chars = content.toCharArray();
int num = 0;
for (char ch : chars) {
// Chart ASCLL 编码比对 a-z
if (ch >= 97 && ch <= 122) {
++num;
}
}
if (num <= 0) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.NOT_CONFIG_EXCEPTION.getCode())
.setErrorDetail("必须包含小写英文")
.setErrorSolution("请重新输入")
.build();
}
}
}
/**
*
*
* @param content
*/
private void checkPasswordNumber(String content) {
boolean isUppercaseEnglish = RedisCacheTool.getSysConfigBooleanVal(CommonConstWords.CONFIG_PWD_EXIST_NUMBER, CommonEnumUtil.TRUE_OR_FALSE.FALSE);
if (StringUtils.isNotBlank(content) && isUppercaseEnglish) {
char[] chars = content.toCharArray();
int num = 0;
for (char ch : chars) {
// Chart ASCLL 编码比对 0-9
if (ch >= 48 && ch <= 57) {
++num;
}
}
if (num <= 0) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.NOT_CONFIG_EXCEPTION.getCode())
.setErrorDetail("必须包含数字")
.setErrorSolution("请重新输入")
.build();
}
}
}
/**
*
*
* @param content
*/
private void checkPasswordSpecial(String content) {
boolean isUppercaseEnglish = RedisCacheTool.getSysConfigBooleanVal(CommonConstWords.CONFIG_PWD_EXIST_NUMBER, CommonEnumUtil.TRUE_OR_FALSE.FALSE);
if (StringUtils.isNotBlank(content) && isUppercaseEnglish) {
char[] chars = content.toCharArray();
int num = 0;
for (char ch : chars) {
// Chart ASCLL 编码比对 特殊字符
if ((ch >= 32 && ch <= 47)|| (ch >= 58 && ch <= 64)||
(ch >= 91 && ch <= 96)|| (ch >= 123 && ch <= 126)) {
++num;
}
}
if (num <= 0) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.NOT_CONFIG_EXCEPTION.getCode())
.setErrorDetail("必须包含数字")
.setErrorSolution("请重新输入")
.build();
}
}
}
/**
*
*
* @param content
*/
private void checkPasswordSpecialCn(String content) {
boolean isUppercaseEnglish = RedisCacheTool.getSysConfigBooleanVal(CommonConstWords.CONFIG_PWD_EXIST_SPECIAL_CHAR, CommonEnumUtil.TRUE_OR_FALSE.FALSE);
if (StringUtils.isNotBlank(content) && isUppercaseEnglish) {
if (!Pattern.compile("[\u4e00-\u9fa5]").matcher(content).find()) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.NOT_CONFIG_EXCEPTION.getCode())
.setErrorDetail("必须包含中文字符")
.setErrorSolution("请重新输入")
.build();
}
}
}
/**
*
*
* @param user
*/
private void checkPasswordRepeatDay(SysUser user) {
int num = RedisCacheTool.getSysConfigIntVal(CommonConstWords.CONFIG_PWD_REPEAT_DAY, CommonConstWords.CONFIG_PWD_REPEAT_DAY_DEFAULT);
if (num > 0) {
try {
SysUserPassword userPassword = new SysUserPassword();
userPassword.setUserId(user.getId());
userPassword.setUserPassword(EncryptTool.hexMD5(user.getUserLoginPassword()));
List<SysUserPassword> passwords = userPasswordService.findAllByBean(userPassword);
int lastDay = Integer.MAX_VALUE;
if (CollectionUtils.isNotEmpty(passwords)) {
for (SysUserPassword password : passwords) {
int day = TimeTool.getSecoundsBetweenTime(4, password.getCreateDatetime(), TimeTool.getNowTime(true));
if (day < lastDay) {
lastDay = day;
}
}
}
if (lastDay <= num) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.NOT_CONFIG_EXCEPTION.getCode())
.setErrorDetail("请勿使用重复密码")
.setErrorSolution("请重新输入")
.build();
}
} catch (Exception e) {
e.printStackTrace();
LOGGER.error("密码加密错误,异常信息:{}", e.getMessage());
}
}
}
/**
*
*
* @param content
*/
private void checkPasswordRepeat(String content) {
String regulars = RedisCacheTool.getSysConfigStrVal(CommonConstWords.CONFIG_PWD_REPEAT_REGULARS);
if (StringUtils.isNotBlank(regulars) && regulars.indexOf(",") != -1) {
String[] split = regulars.split(",");
try {
for (String compile : split) {
if(StringUtils.isNotBlank(compile)){
if (!Pattern.compile(compile).matcher(content).find()) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.NOT_CONFIG_EXCEPTION.getCode())
.setErrorDetail("正则【"+compile+"】密码校验不通过")
.setErrorSolution("请重新输入")
.build();
}
}
}
}catch (ImppBusiException e){
// 业务异常 抛出
throw e;
}catch (Exception e){
e.printStackTrace();
}
}
}
/******************************************** 用户登录密码检查 ********************************************/
public void checkSysUserLogin(SysUser user) {
if(ImppSwitchUtil.isLoginActiveDirectory()){
// 使用AD域账号登录
checkActiveDirectory(user);
}else{
/* 检查密码有效期 */
checkLoginPasswordTimeOut(user);
/* 登录 长时间未登录锁定 */
checkLoginTimeOut(user);
}
}
/**
* ActiveDirectory
* @param user
*/
public void checkActiveDirectory(SysUser user) {
if(ImppSwitchUtil.isLoginActiveDirectory()){
String activeDirectoryUrl = RedisCacheTool.getSysConfigStrVal(CommonConstWords.CONFIG_PWD_ACTIVE_DIRECTORY_URL);
if (StringUtils.isNotBlank(activeDirectoryUrl)) {
LdapContext context = ImppLdapUtils.getLdapContext(activeDirectoryUrl, user.getUserLoginName(), user.getUserLoginPassword());
if(Objects.isNull(context)){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.NOT_CONFIG_EXCEPTION.getCode())
.setErrorDetail("ActiveDirectory 登录失败请重新登录")
.setErrorSolution("请重新操作")
.build();
}
try {
// 释放链接资源
context.close();
} catch (NamingException e) {
e.printStackTrace();
}
}else{
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.NOT_CONFIG_EXCEPTION.getCode())
.setErrorDetail("ActiveDirectory 未配置链接地址")
.setErrorSolution("请联系管理员")
.build();
}
}
}
/**
*
*/
public void checkLoginErrorNumber(String loginName, ResultBean resultBean, Exception e) {
SysUser user = userService.getSysUserByLoginName(loginName);
if(Objects.nonNull(user)){
checkLoginErrorNumber(user.getId(), resultBean, e);
}
}
/**
*
* @param userId
* @param resultBean
* @param e
*/
public void checkLoginErrorNumber(Long userId, ResultBean resultBean, Exception e) {
int loginErrorNumberMax = RedisCacheTool.getSysConfigIntVal(CommonConstWords.CONFIG_USER_LOGIN_ERROR_NUMBER, CommonConstWords.CONFIG_USER_LOGIN_ERROR_NUMBER_DEFAULT);
String today = TimeTool.getToday();
int loginErrorNumber = 0;
String redisKey = CommonConstWords.USER_LOGIN_ERROR + ":" + today + ":" + userId;
try {
Object redisValue = redisCore.getObject(redisKey);
if(Objects.nonNull(redisValue)){
loginErrorNumber = (Integer)redisValue;
}
}catch (Exception exception){
LOGGER.error("获取登录异常次数错误,错误信息:{}", exception.getMessage());
}
if(Objects.equals(loginErrorNumberMax,loginErrorNumber)){
// 锁定账号信息
userService.doLockSysUserById(userId);
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.NOT_CONFIG_EXCEPTION.getCode())
.setErrorDetail("账号已被锁定")
.setErrorSolution("请联系系统管理员")
.build();
}else if(loginErrorNumber > loginErrorNumberMax){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.NOT_CONFIG_EXCEPTION.getCode())
.setErrorDetail("账号已锁定")
.setErrorSolution("请联系系统管理员")
.build();
}
// 登录异常 更新登录失败次数
if(Objects.nonNull(e)){
++loginErrorNumber;
if(Objects.nonNull(resultBean)){
int num = loginErrorNumberMax - loginErrorNumber;
if(num == 0){
resultBean.setErrorMsg(resultBean.getErrorMsg() + "密码输入错误。用户已被锁定请联系管理员!");
}else{
resultBean.setErrorMsg(resultBean.getErrorMsg() + "密码输入错误。再输入错误"+ num +"次,用户将被锁定");
}
}
redisCore.putObject(redisKey,loginErrorNumber,CommonConstWords.REDIS_TIME_DAY_ONE);
}
}
/**
*
*/
private void checkLoginPasswordTimeOut(SysUser user) {
try {
int passwordDayMax = RedisCacheTool.getSysConfigIntVal(CommonConstWords.CONFIG_PWD_VALID_DAY, CommonConstWords.CONFIG_PWD_VALID_DAY_DEFAULT);
if(passwordDayMax > 0){
SysUserPassword password = userPasswordService.get(user.getUserLoginPasswordId());
if(Objects.nonNull(password)){
int day = TimeTool.getSecoundsBetweenTime(4, password.getCreateDatetime(), TimeTool.getNowTime(true));
if(day > passwordDayMax){
// 锁定账号信息
userService.doLockSysUserById(user.getId());
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.NOT_CONFIG_EXCEPTION.getCode())
.setErrorDetail("账号密码已过期")
.setErrorSolution("请联系系统管理员")
.build();
}
}
}
}catch (ImppBusiException e){
throw e;
}catch (Exception e){
LOGGER.error("密码有效期处理异常,异常信息:{}", e.getMessage());
e.printStackTrace();
}
}
/**
*
*/
private void checkLoginTimeOut(SysUser user) {
try {
int loginDayMax = RedisCacheTool.getSysConfigIntVal(CommonConstWords.CONFIG_USER_LOGIN_DAY_OUT, CommonConstWords.CONFIG_USER_LOGIN_DAY_OUT_DEFAULT);
if(loginDayMax > 0){
int day = TimeTool.getSecoundsBetweenTime(4, user.getUserLoginLastDateTime(), TimeTool.getNowTime(true));
if(day > loginDayMax){
// 锁定账号信息
userService.doLockSysUserById(user.getId());
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.NOT_CONFIG_EXCEPTION.getCode())
.setErrorDetail("长时间未登录账号已被锁定")
.setErrorSolution("请联系系统管理员")
.build();
}
}
}catch (ImppBusiException e){
throw e;
}catch (Exception e){
LOGGER.error("密码有效期处理异常,异常信息:{}", e.getMessage());
e.printStackTrace();
}
}
}

@ -6,15 +6,25 @@ import cn.estsh.i3plus.pojo.platform.bean.SessionUser;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.util.SpringContextsUtil;
import cn.estsh.impp.framework.run.ImppGo;
import com.alibaba.fastjson.JSON;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.authc.AuthenticationInfo;
import org.apache.shiro.authc.AuthenticationToken;
import org.apache.shiro.authc.SimpleAuthenticationInfo;
import org.apache.shiro.authz.AuthorizationInfo;
import org.apache.shiro.authz.SimpleAuthorizationInfo;
import org.apache.shiro.mgt.DefaultSecurityManager;
import org.apache.shiro.realm.AuthorizingRealm;
import org.apache.shiro.session.mgt.DefaultSessionContext;
import org.apache.shiro.session.mgt.SessionContext;
import org.apache.shiro.subject.PrincipalCollection;
import org.junit.After;
import org.junit.Before;
import org.junit.runner.RunWith;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.stereotype.Component;
import org.springframework.test.context.junit4.SpringRunner;
/**
@ -37,7 +47,7 @@ public class TestBase {
SessionContext sessionContext = new DefaultSessionContext();
sessionContext.setHost("localhost");
UserAuthRealm userAuthRealm = (UserAuthRealm) SpringContextsUtil.getBean(UserAuthRealm.class);
ImppUserAuthRealm userAuthRealm = (ImppUserAuthRealm) SpringContextsUtil.getBean(ImppUserAuthRealm.class);
org.apache.shiro.mgt.SecurityManager securityManager = new DefaultSecurityManager(userAuthRealm);
SecurityUtils.setSecurityManager(securityManager);
securityManager.start(sessionContext);
@ -55,26 +65,26 @@ public class TestBase {
}
}
//
//@Component
//class UserAuthRealm extends AuthorizingRealm {
//
// public UserAuthRealm() {
// //添加支持的token
// this.setAuthenticationTokenClass(UserToken.class);
// }
//
// @Override
// protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) {
// return new SimpleAuthorizationInfo();
// }
//
// @Override
// protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {
// SessionUser user = JSON.parseObject(TestBase.JSON_SESSION_USER, SessionUser.class);
// return new SimpleAuthenticationInfo(user, ((UserToken) authenticationToken).getLoginPwd(), this.getName());
// }
//
//}
//
@Component
class ImppUserAuthRealm extends AuthorizingRealm {
public ImppUserAuthRealm() {
//添加支持的token
this.setAuthenticationTokenClass(UserToken.class);
}
@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) {
return new SimpleAuthorizationInfo();
}
@Override
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {
SessionUser user = JSON.parseObject(TestBase.JSON_SESSION_USER, SessionUser.class);
return new SimpleAuthenticationInfo(user, ((UserToken) authenticationToken).getLoginPwd(), this.getName());
}
}

@ -1,718 +1,55 @@
//package test.cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
//
//import cn.estsh.i3plus.core.api.iservice.busi.*;
//import cn.estsh.i3plus.core.apiservice.serviceimpl.busi.TestBase;
//import cn.estsh.i3plus.core.apiservice.util.FileTool;
//import cn.estsh.i3plus.platform.common.convert.ConvertBean;
//import cn.estsh.i3plus.pojo.base.bean.BaseBean;
//import cn.estsh.i3plus.pojo.base.codemaker.SnowflakeIdMaker;
//import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
//import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil;
//import cn.estsh.i3plus.pojo.model.platform.UserDetailModel;
//import cn.estsh.i3plus.pojo.platform.bean.*;
//import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack;
//import cn.estsh.impp.framework.boot.auth.AuthUtil;
//import cn.estsh.impp.framework.boot.util.ValidatorBean;
//import com.alibaba.fastjson.JSON;
//import org.apache.commons.lang3.RandomStringUtils;
//import org.apache.commons.lang3.RandomUtils;
//import org.apache.commons.lang3.StringUtils;
//import org.apache.commons.lang3.time.DateFormatUtils;
//import org.junit.Test;
//import org.springframework.beans.factory.annotation.Autowired;
//
//import java.io.FileWriter;
//import java.io.IOException;
//import java.util.ArrayList;
//import java.util.List;
//import java.util.Random;
//import java.util.UUID;
//
///**
// * @Description :
// * @Reference :
// * @Author : Adair Peng
// * @CreateDate : 2019-02-25 14:39
// * @Modify:
// **/
//public class TestUser extends TestBase{
//
// SnowflakeIdMaker snowflakeIdMaker = new SnowflakeIdMaker();
//
// @Autowired
// private ISysPositionService positionService;
//
// @Autowired
// private ISysOrganizeService organizeService;
//
// @Autowired
// private ISysDepartmentService departmentService;
//
// @Autowired
// private ISysMenuService menuService;
//
// @Autowired
// private ISysRoleService roleService;
//
// String TEXT = "飓风黑兹尔是1954年大西洋飓风季期间造成死亡人数最多、经济损失最惨重的飓风。这场风暴夺走了海地多达1000人的生命然后又以四级飓风强度从南、北卡罗莱纳州边境附近袭击美国造成95人丧生。之后黑兹尔转变成温带风暴但仍然致使81人遇难其中大部分来自多伦多。由于风暴造成了重大人员伤亡和财产损失其名称“黑兹尔”因此从大西洋风暴命名名单上退役。黑兹尔摧毁了海地40%的咖啡树和50%的可可作物对当地经济的影响持续了数年之久。飓风在南、北卡罗莱纳州登陆冲击点附近的大部分海滨住宅被毁。气旋从北卡罗莱纳州沿大西洋海岸北上先后影响了弗吉尼亚州、西弗吉尼亚州、马里兰州、特拉华州、新泽西州、宾夕法尼亚州和纽约州产生的阵风时速有近160公里造成的经济损失高达3.08亿美元。多伦多市内及周边有许多溪流溢出导致严重的洪涝灾害。加拿大遭受的损失达到1.35亿加拿大元。由于缺少应对热带气旋的经验,加上风暴强度的保持时间异常之长,多伦多所受影响的严重程度是前所未有的";
//
// @Autowired
// private ITestTransService testTransService;
// @Test
// public void testTrans(){
// try {
// testTransService.testListTran(1, "aaa");
// }catch(Exception e){
// System.out.println("111============事务出错:" + e.getMessage());
// e.printStackTrace();
// }
//
// try {
// testTransService.testListTran(2, "aaa");
// }catch(Exception e){
// System.out.println("222============事务出错:" + e.getMessage());
// e.printStackTrace();
// }
//
// try {
// testTransService.testListTran(3, "aaa");
// }catch(Exception e){
// System.out.println("333============事务出错:" + e.getMessage());
// e.printStackTrace();
// }
//
// try {
// testTransService.testListTran(4, "aaa");
// }catch(Exception e){
// System.out.println("444============事务出错:" + e.getMessage());
// e.printStackTrace();
// }
//
// try {
// testTransService.testListTran(5, "aaa");
// }catch(Exception e){
// System.out.println("555============事务出错:" + e.getMessage());
// e.printStackTrace();
// }
//
// try {
// testTransService.testListTran(6, "aaa");
// }catch(Exception e){
// System.out.println("666============事务出错:" + e.getMessage());
// e.printStackTrace();
// }
//
// try {
// testTransService.testListTran(7, "aaa");
// }catch(Exception e){
// System.out.println("777============事务出错:" + e.getMessage());
// e.printStackTrace();
// }
//
// try {
// testTransService.testListTran(8, "aaa");
// }catch(Exception e){
// System.out.println("888============事务出错:" + e.getMessage());
// e.printStackTrace();
// }
//
// try {
// testTransService.testListTran(9, "aaa");
// }catch(Exception e){
// System.out.println("999============事务出错:" + e.getMessage());
// e.printStackTrace();
// }
// }
//
// @Test
// public void testSysPosition() throws Exception{
// List<SysPosition> dataBase = new ArrayList<>();
//
// for (int i = 0; i < 15; i++) {
// SysPosition position = new SysPosition();
// position.setName(RandomStringUtils.random(10, TEXT));
// position.setPositionCode(RandomStringUtils.random(10, true, false));
// position.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue());
// init(position);
// dataBase.add(position);
//
// for (int j = 0; j < 10; j++) {
//
// SysPosition position2 = new SysPosition();
// position2.setName(RandomStringUtils.random(10, TEXT));
// position2.setPositionCode(RandomStringUtils.random(10, true, false));
// position2.setParentId(position.getId());
// position2.setParentNameRdd(position.getName());
// init(position2);
// dataBase.add(position2);
//
// for (int k = 0; k < 5; k++) {
// SysPosition position3 = new SysPosition();
// position3.setName(RandomStringUtils.random(10, TEXT));
// position3.setPositionCode(RandomStringUtils.random(10, true, false));
// position3.setParentId(position2.getId());
// position3.setParentNameRdd(position2.getName());
// init(position3);
// dataBase.add(position3);
// }
// }
// }
//
// System.out.println("打印SQL Start ");
// String txt = null;
//
// for (SysPosition position : dataBase) {
// txt = new String("INSERT INTO sys_position (id, create_date, create_user, is_deleted, is_valid, modify_date, modify_user, organize_code, name, parent_id, parent_name_rdd, position_code, position_description) VALUES" +
// " ("+position.getId()+", '"+position.getCreateDatetime()+"', '"+position.getCreateUser()+"', "+position.getIsDeleted()+", "+position.getIsValid()+"," +
// " '"+position.getModifyDatetime()+"', '"+position.getModifyUser()+"', null, '"+position.getName()+"', "+position.getParentId()+", '"+position.getParentNameRdd()+"', '"+position.getPositionCode()+"', null);");
// fileWriter("E:\\test\\SysPosition.sql",txt);
// }
//
// System.out.println("打印SQL Start End ");
//
// }
//
// @Test
// public void testOrganize()throws Exception{
// System.out.println(positionService);
// List<SysOrganize> organizeList = new ArrayList<>();
// List<SysDepartment> departmentList = new ArrayList<>();
//
// for (int i = 0; i < 10; i++) {
// SysOrganize organize = new SysOrganize();
// organize.setName(RandomStringUtils.random(10, TEXT));
// organize.setOrganizeCode(RandomStringUtils.random(10, true, false));
// organize.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue());
// organize.setParentNameRdd("顶级组织");
// organize.setOrganizeType(ImppEnumUtil.ORGANIZE_YTPE.TYPE_GROUP.getValue());
//
// init(organize);
// organizeList.add(organize);
//
// for (int j = 0; j < 5 ; j++) {
// SysDepartment department = new SysDepartment();
// department.setName(RandomStringUtils.random(10, TEXT));
// department.setDepartmentCode(RandomStringUtils.random(10, true, false));
// department.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue());
// department.setParentNameRdd("顶级部门");
// department.setOrganizeId(organize.getId());
// department.setOrganizeNameRdd(organize.getName());
// department.setOrganizeCode(organize.getOrganizeCode());
//
// init(department);
// departmentList.add(department);
//
// for (int k = 0; k < 5; k++) {
// SysDepartment department1 = new SysDepartment();
// department1.setName(RandomStringUtils.random(10, TEXT));
// department1.setDepartmentCode(RandomStringUtils.random(10, true, false));
// department1.setParentId(department.getId());
// department1.setParentNameRdd(department.getParentNameRdd());
// department1.setOrganizeId(organize.getId());
// department1.setOrganizeNameRdd(organize.getName());
// department1.setOrganizeCode(organize.getOrganizeCode());
//
// init(department1);
// departmentList.add(department1);
//
// for (int l = 0; l < 5; l++) {
// SysDepartment department2 = new SysDepartment();
// department2.setName(RandomStringUtils.random(10, TEXT));
// department2.setDepartmentCode(RandomStringUtils.random(10, true, false));
// department2.setParentId(department1.getId());
// department2.setParentNameRdd(department1.getParentNameRdd());
// department2.setOrganizeId(organize.getId());
// department2.setOrganizeNameRdd(organize.getName());
// department2.setOrganizeCode(organize.getOrganizeCode());
//
// init(department2);
// departmentList.add(department2);
// }
// }
// }
//
// for (int j = 0; j < 5; j++) {
//
// SysOrganize organize1 = new SysOrganize();
// organize1.setName(RandomStringUtils.random(10, TEXT));
// organize1.setOrganizeCode(RandomStringUtils.random(10, true, false));
// organize1.setParentId(organize.getParentId());
// organize1.setParentNameRdd(organize.getName());
// organize1.setOrganizeType(ImppEnumUtil.ORGANIZE_YTPE.TYPE_FACTORY.getValue());
//
// init(organize1);
// organizeList.add(organize1);
//
// for (int k = 0; k < 5; k++) {
// SysDepartment department = new SysDepartment();
// department.setName(RandomStringUtils.random(10, TEXT));
// department.setDepartmentCode(RandomStringUtils.random(10, true, false));
// department.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue());
// department.setParentNameRdd("顶级部门");
// department.setOrganizeId(organize1.getId());
// department.setOrganizeNameRdd(organize1.getName());
// department.setOrganizeCode(organize1.getOrganizeCode());
//
// init(department);
// departmentList.add(department);
// for (int l = 0; l < 5; l++) {
// SysDepartment department1 = new SysDepartment();
// department1.setName(RandomStringUtils.random(10, TEXT));
// department1.setDepartmentCode(RandomStringUtils.random(10, true, false));
// department1.setParentId(department.getId());
// department1.setParentNameRdd(department.getParentNameRdd());
// department1.setOrganizeId(organize1.getId());
// department1.setOrganizeNameRdd(organize1.getName());
// department1.setOrganizeCode(organize1.getOrganizeCode());
//
// init(department1);
// departmentList.add(department1);
// for (int m = 0; m < 5; m++) {
// SysDepartment department2 = new SysDepartment();
// department2.setName(RandomStringUtils.random(10, TEXT));
// department2.setDepartmentCode(RandomStringUtils.random(10, true, false));
// department2.setParentId(department1.getId());
// department2.setParentNameRdd(department1.getParentNameRdd());
// department2.setOrganizeId(organize1.getId());
// department2.setOrganizeNameRdd(organize1.getName());
// department2.setOrganizeCode(organize1.getOrganizeCode());
//
// init(department2);
// departmentList.add(department2);
// }
// }
// }
//
// for (int k = 0; k < 5; k++) {
//
// SysOrganize organize2 = new SysOrganize();
// organize2.setName(RandomStringUtils.random(10, TEXT));
// organize2.setOrganizeCode(RandomStringUtils.random(10, true, false));
// organize2.setParentId(organize1.getParentId());
// organize2.setParentNameRdd(organize1.getName());
// organize2.setOrganizeType(ImppEnumUtil.ORGANIZE_YTPE.TYPE_FACTORY.getValue());
//
// init(organize2);
// organizeList.add(organize2);
//
// for (int l = 0; l < 5; l++) {
// SysDepartment department = new SysDepartment();
// department.setName(RandomStringUtils.random(10, TEXT));
// department.setDepartmentCode(RandomStringUtils.random(10, true, false));
// department.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue());
// department.setParentNameRdd("顶级部门");
// department.setOrganizeId(organize2.getId());
// department.setOrganizeNameRdd(organize2.getName());
// department.setOrganizeCode(organize2.getOrganizeCode());
//
// init(department);
// departmentList.add(department);
// for (int m = 0; m < 5; m++) {
// SysDepartment department1 = new SysDepartment();
// department1.setName(RandomStringUtils.random(10, TEXT));
// department1.setDepartmentCode(RandomStringUtils.random(10, true, false));
// department1.setParentId(department.getId());
// department1.setParentNameRdd(department.getParentNameRdd());
// department1.setOrganizeId(organize2.getId());
// department1.setOrganizeNameRdd(organize2.getName());
// department1.setOrganizeCode(organize2.getOrganizeCode());
//
// init(department1);
// departmentList.add(department1);
// for (int n = 0; n < 5; n++) {
// SysDepartment department2 = new SysDepartment();
// department2.setName(RandomStringUtils.random(10, TEXT));
// department2.setDepartmentCode(RandomStringUtils.random(10, true, false));
// department2.setParentId(department1.getId());
// department2.setParentNameRdd(department1.getParentNameRdd());
// department2.setOrganizeId(organize2.getId());
// department2.setOrganizeNameRdd(organize2.getName());
// department2.setOrganizeCode(organize2.getOrganizeCode());
//
// init(department2);
// departmentList.add(department2);
// }
// }
// }
// }
// }
// }
//
// for (SysOrganize organize : organizeList) {
// String txt = new String(" INSERT INTO sys_organize (" +
// "id, create_date, create_user, is_deleted, is_valid, modify_date, " +
// "modify_user, organize_code, name, organize_type, parent_id, parent_name_rdd) VALUES " +
// "("+organize.getId()+", '"+organize.getCreateDatetime()+"', '"+organize.getCreateUser()+"', " +
// " "+organize.getIsDeleted()+", "+organize.getIsValid()+", '"+organize.getModifyDatetime()+"'," +
// " '"+organize.getModifyUser()+"', '"+organize.getOrganizeCode()+"', '"+organize.getParentNameRdd()+"'," +
// " "+organize.getOrganizeType()+", "+organize.getParentId()+", '"+organize.getParentNameRdd()+"');");
// fileWriter("E:\\test\\SysOrganize.sql",txt);
// }
//
// for (SysDepartment department : departmentList) {
// String txt = new String("INSERT INTO sys_department (id, create_date, create_user, is_deleted," +
// " is_valid, modify_date, modify_user, department_code, name, organize_id, organize_name_rdd," +
// " parent_id, parent_name_rdd) VALUES (" +
// " "+department.getId()+", '"+department.getCreateDatetime()+"'," +
// " '"+department.getCreateUser()+"', "+department.getIsDeleted()+", "+department.getIsValid()+"," +
// " '"+department.getModifyDatetime()+"', '"+department.getModifyUser()+"', '"+department.getDepartmentCode()+"'," +
// " '"+department.getName()+"', "+department.getOrganizeId()+", '"+department.getOrganizeNameRdd()+"', " +
// " "+department.getParentId()+", ':"+department.getParentNameRdd()+"');");
// fileWriter("E:\\test\\SysDepartment.sql",txt);
// }
//
// }
//
// @Test
// public void testSysMenu() throws Exception {
// List<SysMenu> list = menuService.findSysMenuAll();
//
// for (SysMenu menu : list) {
// String txt = new String("INSERT INTO sys_menu (id, create_date, create_user, is_deleted, is_valid," +
// " modify_date, modify_user, menu_class_path, menu_code, menu_css, menu_description, menu_grade, menu_icon, " +
// "menu_sort, menu_status, menu_type, menu_url, name, parent_id, parent_name_rdd, name_zh_shortening) VALUES (" +
// " "+menu.getId()+", null, 'System Init', null, null, '2018-12-20 12:39:56', '系统管理员', '', '101010000', '', null, null, '', '0', 1, 2, '/impp-base', '基础信息管理', 100002, '设置', 'jcxxgl');");
// fileWriter("E:\\test\\SysRefRoleMenu.sql",txt);
// }
// }
//
// @Test
// public void testSysRole() throws Exception{
// List<SysMenu> list = menuService.findSysMenuAll();
//
// List<SysRole> roleList = new ArrayList<>();
// List<SysRefRoleMenu> refRoleMenuList = new ArrayList<>();
//
// for (int i = 0; i < 100 ; i++) {
// List<String> moduleListRdd = new ArrayList<>();
// List<String> featuresListRdd = new ArrayList<>(); // 冗余
//
// SysRole role = new SysRole();
// role.setRoleStatus(CommonEnumUtil.DATA_STATUS.ENABLE.getValue());
// role.setMenuNumber(0);
// role.setModuleNumber(0);
// role.setName(RandomStringUtils.random(10, TEXT));
// role.setRoleDescription(RandomStringUtils.random(50, TEXT));
//
// for (SysMenu menu : list) {
// SysRefRoleMenu ref = new SysRefRoleMenu();
// ref.setRoleId(role.getId());
// ref.setRoleNameRdd(role.getName());
// ref.setMenuNameRdd(menu.getName());
// ref.setMenuId(menu.getId());
// ref.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue());
// ref.setMenuTypeRdd(menu.getMenuType());
//
// // 冗余信息封装
// if(CommonEnumUtil.METHOD_LEVEL.MODULE.getValue() == menu.getMenuType().intValue()){
// moduleListRdd.add(menu.getName());
// }
// if(CommonEnumUtil.METHOD_LEVEL.METHOD.getValue() == menu.getMenuType().intValue()){
// featuresListRdd.add(menu.getName());
// }
//
// init(ref);
// refRoleMenuList.add(ref);
// }
//
// role.setModuleNumber(moduleListRdd.size());
// role.setMenuNumber(featuresListRdd.size());
//
// init(role);
// roleList.add(role);
// }
//
// for (SysRole role : roleList) {
// String txt = new String(" INSERT INTO sys_role (id, create_date, create_user, is_deleted, is_valid," +
// " modify_date, modify_user, menu_number_rdd, module_number, name," +
// " role_description, role_status) VALUES " +
// "( "+role.getId()+", '"+role.getCreateDatetime()+"', '"+role.getCreateUser()+"', "+role.getIsDeleted()+"," +
// " "+role.getIsValid()+", '"+role.getModifyDatetime()+"', '"+role.getModifyUser()+"', "+role.getMenuNumber()+"," +
// " "+role.getModuleNumber()+", '"+role.getName()+"', null, 1);");
// fileWriter("E:\\test\\SysRole.sql",txt);
// }
//
// for (SysRefRoleMenu ref : refRoleMenuList) {
// String txt = new String("INSERT INTO sys_ref_role_menu (id, create_date, create_user, is_deleted," +
// " is_valid, modify_date, modify_user, menu_id, menu_name_rdd, menu_type_rdd, role_id, role_name_rdd) VALUES (" +
// " "+ref.getId()+", '"+ref.getCreateDatetime()+"', '"+ref.getCreateUser()+"', "+ref.getIsDeleted()+", "+ref.getIsValid()+"," +
// " '"+ref.getModifyDatetime()+"', '"+ref.getModifyUser()+"', "+ref.getMenuId()+", '"+ref.getMenuNameRdd()+"'," +
// " '"+ref.getMenuTypeRdd()+"', "+ref.getRoleId()+", '"+ref.getRoleNameRdd()+"');");
// fileWriter("E:\\test\\SysRefRoleMenu.sql",txt);
// }
//
//
//
// }
//
// @Test
// public void testUserInfo() throws Exception {
// List<SysRole> roleList = roleService.findSysRoleAll();
// List<SysPosition> positionList = positionService.findSysPositionAll();
// List<SysDepartment> departmentList = departmentService.listSysDepartment();
//
// for (int y = 0; y < 10; y++) {
// String PATH = new String("E:\\test\\user\\" + y);
// List<SysUser> userList = new ArrayList<>();
// List<SysUserInfo> userInfoList = new ArrayList<>();
// List<SysRefUserRole> refUserRoleList = new ArrayList<>();
// List<SysRefUserDepartment> refUserDepartmentList = new ArrayList<>();
// List<SysRefUserInfoDepartment> refUserInfoDepartmentList = new ArrayList<>();
// List<SysRefUserPosition> refUserPositionList = new ArrayList<>();
//
// List<String> refUserRoleNameList ;
// List<String> refUserPositionNameList ;
// List<String> refUserDepartmentNameList ;
//
// SysUser user;
// SysUserInfo userInfo;
// SysRefUserRole refUserRole;
// SysRefUserDepartment refUserDepartment;
// SysRefUserInfoDepartment refUserInfoDepartment;
// SysRefUserPosition refUserPosition;
// SysDepartment department = null;
// SysPosition position = null;
//
// for (int i = 0; i < 10000; i++) {
// user = new SysUser();
// userInfo = new SysUserInfo();
// refUserRoleNameList = new ArrayList<>();
// refUserPositionNameList = new ArrayList<>();
// refUserDepartmentNameList = new ArrayList<>();
//
// init(user);
// init(userInfo);
//
// for (int j = 0; j < 2; j++) {
// SysRole role = roleList.get(new Random().nextInt(roleList.size() - 1));
// if(role != null){
// refUserRole = new SysRefUserRole();
// init(refUserRole);
//
// refUserRole.setRoleId(role.getId());
// refUserRole.setRoleNameRdd(role.getName());
// refUserRole.setUserId(user.getId());
// refUserRole.setUserNameRdd(user.getUserName());
//
// refUserRoleNameList.add(role.getName());
// refUserRoleList.add(refUserRole);
// }
// }
//
// for (int j = 0; j < 3; j++) {
// position = positionList.get(new Random().nextInt(positionList.size() - 1));
// if(position != null){
// refUserPosition = new SysRefUserPosition();
// init(refUserPosition);
//
// refUserPosition.setUserId(userInfo.getId());
// refUserPosition.setUserNameRdd(userInfo.getName());
// refUserPosition.setPositionId(position.getId());
// refUserPosition.setPositionNameRdd(position.getName());
//
// refUserPositionNameList.add(position.getName());
//
// refUserPositionList.add(refUserPosition);
// }
// }
//
// for (int j = 0; j < 3; j++) {
// department = departmentList.get(new Random().nextInt(departmentList.size() - 1));
//
// if(department != null){
// refUserDepartment= new SysRefUserDepartment();
// refUserInfoDepartment = new SysRefUserInfoDepartment();
//
// init(refUserDepartment);
// init(refUserInfoDepartment);
//
// refUserDepartment.setDepartmentId(department.getId());
// refUserDepartment.setDepartmentNameRdd(department.getName());
// refUserDepartment.setOrganizeNameRdd(department.getOrganizeNameRdd());
// refUserDepartment.setOrganizeId(department.getOrganizeId());
// refUserDepartment.setOrganizeCode(department.getOrganizeCode());
// refUserDepartment.setUserId(user.getId());
// refUserDepartment.setUserNameRdd(user.getUserName());
//
// refUserInfoDepartment.setDepartmentId(department.getId());
// refUserInfoDepartment.setDepartmentNameRdd(department.getName());
// refUserInfoDepartment.setOrganizeNameRdd(department.getOrganizeNameRdd());
// refUserInfoDepartment.setOrganizeId(department.getOrganizeId());
// refUserInfoDepartment.setOrganizeCode(department.getOrganizeCode());
// refUserInfoDepartment.setUserId(user.getId());
// refUserInfoDepartment.setUserNameRdd(user.getUserName());
//
// refUserDepartmentNameList.add(department.getName());
//
// refUserDepartmentList.add(refUserDepartment);
// refUserInfoDepartmentList.add(refUserInfoDepartment);
// }
// }
//
// userInfo.setDepartmentNamesRdd(StringUtils.join(refUserDepartmentNameList));
// userInfo.setDepartmentId(department.getId());
// userInfo.setDepartmentNameRdd(department.getName());
// userInfo.setOrganizeId(department.getOrganizeId());
// userInfo.setOrganizeNameRdd(department.getOrganizeNameRdd());
// userInfo.setOrganizeCode(department.getOrganizeCode());
// userInfo.setPositionId(position.getId());
// userInfo.setPositionNameRdd(position.getName());
// userInfo.setPositionNamesRdd(StringUtils.join(refUserPositionNameList,","));
// userInfo.setName(RandomStringUtils.random(5, TEXT));
// userInfo.setUserEmpNo(RandomStringUtils.random(10, true, true));
// userInfo.setUserInfoStatus(CommonEnumUtil.USER_INFO_STATUS.INCUMBENT.getValue());
// userInfo.setUserLoginNum(0);
// userInfo.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue());
// userInfo.setUserId(user.getId());
//
// user.setUserType(CommonEnumUtil.USER_TYPE.USER.getValue());
// user.setUserStatus(CommonEnumUtil.USER_STATUS.ENABLE.getValue());
// user.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue());
// user.setUserLoginNum(0);
// user.setDepartmentNamesRdd(StringUtils.join(refUserDepartmentNameList,","));
// user.setDepartmentId(department.getId());
// user.setDepartmentNameRdd(department.getName());
// user.setUserPhone(RandomStringUtils.random(11, false, true));
// user.setUserEmail(RandomStringUtils.random(15, true, true));
// user.setUserLoginName(RandomStringUtils.random(20, true, true));
// user.setUserLoginPassword("123456");
// user.setUserEmpNo(userInfo.getUserEmpNo());
//
// userList.add(user);
// userInfoList.add(userInfo);
// }
//
// for (SysRefUserPosition ref : refUserPositionList) {
// String txt = new String("INSERT INTO sys_ref_user_position (id, create_date, create_user, is_deleted," +
// " is_valid, modify_date, modify_user, position_id, position_name_rdd, user_id, user_name_rdd) VALUES (" +
// " "+ref.getId()+", '"+ref.getCreateDatetime()+"', '"+ref.getCreateUser()+"', "+ref.getIsDeleted()+"," +
// " "+ref.getIsValid()+", '"+ref.getModifyUser()+"', '"+ref.getModifyDatetime()+"', "+ref.getPositionId()+"," +
// " '"+ref.getPositionNameRdd()+"', "+ref.getUserId()+", '"+ref.getUserNameRdd()+"');");
// fileWriter(PATH+"\\SysRefUserPosition.sql",txt);
// }
//
// for (SysRefUserRole ref : refUserRoleList) {
// String txt = new String("INSERT INTO sys_ref_user_role (id, create_date, create_user, is_deleted," +
// " is_valid, modify_date, modify_user, role_id, role_name_rdd, user_id, user_name_rdd) VALUES (" +
// " "+ref.getId()+", '"+ref.getCreateDatetime()+"', '"+ref.getCreateUser()+"', "+ref.getIsDeleted()+"," +
// " "+ref.getIsValid()+", '"+ref.getModifyDatetime()+"', '"+ref.getModifyUser()+"', "+ref.getRoleId()+"," +
// " '"+ref.getRoleNameRdd()+"', "+ref.getUserId()+", '"+ref.getUserNameRdd()+"');");
// fileWriter(PATH+"\\SysRefUserRole.sql",txt);
// }
//
// for (SysRefUserDepartment ref : refUserDepartmentList) {
// String txt = new String("INSERT INTO sys_ref_user_department (id, create_date, create_user, is_deleted," +
// " is_valid, modify_date, modify_user, department_id, department_name_rdd, organize_id, organize_name_rdd, user_id, user_name) VALUES (" +
// " "+ref.getId()+", '"+ref.getCreateDatetime()+"', '"+ref.getCreateUser()+"', "+ref.getIsDeleted()+"," +
// " "+ref.getIsValid()+", '"+ref.getModifyDatetime()+"', '"+ref.getModifyUser()+"', "+ref.getDepartmentId()+"," +
// " '"+ref.getDepartmentNameRdd()+"', "+ref.getOrganizeId()+", '"+ref.getOrganizeNameRdd()+"'," +
// " "+ref.getUserId()+", '"+ref.getUserNameRdd()+"');");
// fileWriter(PATH+"\\SysRefUserDepartment.sql",txt);
// }
//
// for (SysRefUserInfoDepartment ref : refUserInfoDepartmentList) {
// String txt = new String("INSERT INTO sys_ref_user_info_department (id, create_date, create_user, is_deleted," +
// " is_valid, modify_date, modify_user, department_id, department_name_rdd, organize_id, organize_name_rdd, user_id, user_name) VALUES (" +
// " "+ref.getId()+", '"+ref.getCreateDatetime()+"', '"+ref.getCreateUser()+"', "+ref.getIsDeleted()+"," +
// " "+ref.getIsValid()+", '"+ref.getModifyDatetime()+"', '"+ref.getModifyUser()+"', "+ref.getDepartmentId()+"," +
// " '"+ref.getDepartmentNameRdd()+"', "+ref.getOrganizeId()+", '"+ref.getOrganizeNameRdd()+"'," +
// " "+ref.getUserId()+", '"+ref.getUserNameRdd()+"');");
// fileWriter(PATH+"\\SysRefUserInfoDepartment.sql",txt);
// }
//
// for (SysUser su : userList) {
// String txt = new String("INSERT INTO sys_user (id, create_date, create_user, is_deleted, is_valid," +
// " modify_date, modify_user, organize_code, department_id, department_name_rdd, department_names_rdd, language_code," +
// " organize_id, organize_name_rdd, organize_names_rdd, role_names_rdd, user_email, user_emp_no, user_info_id," +
// " user_login_last_date_time, user_login_name, user_login_num, user_login_password, user_name_rdd," +
// " user_phone, user_status, user_type) VALUES (" +
// " "+su.getId()+", '"+su.getCreateDatetime()+"', '"+su.getCreateUser()+"', "+su.getIsDeleted()+", "+su.getIsValid()+"," +
// " '"+su.getModifyDatetime()+"', '"+su.getModifyUser()+"', '"+su.getOrganizeCode()+"', " +
// " "+su.getDepartmentId()+", '"+su.getDepartmentNameRdd()+"', '"+su.getDepartmentNamesRdd()+"', ''," +
// " "+su.getOrganizeId()+", '"+su.getOrganizeNameRdd()+"', null, '"+su.getRoleNamesRdd()+"', '"+su.getUserEmail()+"'," +
// " '"+su.getUserEmpNo()+"', "+su.getUserInfoId()+", null, '"+su.getUserLoginName()+"', 0, '2637a5c30af69a7bad877fdb65fbd78b'," +
// " '"+su.getUserName()+"', '"+su.getUserPhone()+"', 1, 1);");
// fileWriter(PATH+"\\SysUser.sql",txt);
// }
//
// for (SysUserInfo ui : userInfoList) {
// String txt = new String("INSERT INTO sys_user_info (id, create_date, create_user, is_deleted, is_valid," +
// " modify_date, modify_user, organize_code, department_id, department_name_rdd, department_names_rdd, name," +
// " organize_id, organize_name_rdd, position_id, position_name_rdd, position_names_rdd, user_emp_no, user_id," +
// " user_info_status, user_join_date, user_login_last_date_time, user_login_num) VALUES (" +
// " "+ui.getId()+", '"+ui.getCreateDatetime()+"', '"+ui.getCreateUser()+"', "+ui.getIsDeleted()+", "+ui.getIsValid()+"," +
// " '"+ui.getModifyDatetime()+"', '"+ui.getModifyUser()+"', '"+ui.getOrganizeCode()+"'," +
// " "+ui.getDepartmentId()+", '"+ui.getDepartmentNameRdd()+"', '"+ui.getDepartmentNamesRdd()+"'," +
// " '"+ui.getName()+"', "+ui.getOrganizeId()+", '"+ui.getOrganizeNameRdd()+"'," +
// " "+ui.getPositionId()+", '"+ui.getPositionNameRdd()+"', '"+ui.getPositionNamesRdd()+"'," +
// " '"+ui.getUserEmpNo()+"', "+ui.getUserId()+", 1, '2019-02-26', null , 0);");
// fileWriter(PATH+"\\SysUserInfo.sql",txt);
// }
//
// System.gc();
// }
// }
//
// public void testUserDetailModel(){
// List<SysRole> roleList = roleService.findSysRoleAll();
// List<SysPosition> positionList = positionService.findSysPositionAll();
// List<SysDepartment> departmentList = departmentService.listSysDepartment();
//
// UserDetailModel model = new UserDetailModel();
// List<String> roleIds = new ArrayList<>();
// List<String> positionIds = new ArrayList<>();
// List<String> departmentIds = new ArrayList<>();
//
// for (int i = 0; i < new Random().nextInt(10) ; i++) {
// SysRole role = roleList.get(new Random().nextInt(roleList.size() - 1));
// roleIds.add(role.getId().toString());
// }
//
// for (int i = 0; i < new Random().nextInt(10) ; i++) {
// SysPosition position = positionList.get(new Random().nextInt(positionList.size() - 1));
// positionIds.add(position.getId().toString());
// }
//
// for (int i = 0; i < new Random().nextInt(10) ; i++) {
// SysDepartment department = departmentList.get(new Random().nextInt(departmentList.size() - 1));
// departmentIds.add(department.getId().toString());
// }
//
//
//
// model.setUserInfoId(System.currentTimeMillis() + snowflakeIdMaker.nextId() + "");
// model.setUserId(System.currentTimeMillis() + snowflakeIdMaker.nextId() + "");
// model.setUserPhone(RandomStringUtils.random(11, false, true));
// model.setUserEmail(RandomStringUtils.random(15, true, true));
// model.setUserLoginPassword(RandomStringUtils.random(20, true, true));
// model.setUserRoleIdList(roleIds);
// model.setUserDepartmentIdList(departmentIds);
// model.setInfoEmpNo(RandomStringUtils.random(10, true, true));
// model.setInfoPositionIdList(positionIds);
// model.setInfoDepartmentIdList(departmentIds);
//
// }
//
//
// public void init(BaseBean bean)throws Exception{
// bean.setId(System.currentTimeMillis() + snowflakeIdMaker.nextId() + UUID.randomUUID().hashCode() + new Random().nextInt(10000000));
// bean.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue());
// bean.setIsDeleted(CommonEnumUtil.IS_DEAL.NO.getValue());
// bean.setCreateUser("系统管理员-测试");
// bean.setModifyUser("系统管理员-测试");
// bean.setCreateDatetime(DateFormatUtils.format(System.currentTimeMillis(),"yyyy-MM-dd HH:mm:ss"));
// bean.setModifyDatetime(DateFormatUtils.format(System.currentTimeMillis(),"yyyy-MM-dd HH:mm:ss"));
// }
//
// public static void fileWriter(String fileName, String content) {
// try {
// // 打开一个写文件器构造函数中的第二个参数true表示以追加形式写文件   
// FileWriter writer = new FileWriter(fileName, true);
// writer.write(content+"\r\n");
// writer.close();
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
//
//}
package test.cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysToolService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysUserService;
import cn.estsh.i3plus.core.apiservice.serviceimpl.busi.TestBase;
import cn.estsh.i3plus.pojo.platform.bean.SysTool;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
/**
* @Description :
* @Reference :
* @Author : Adair Peng
* @CreateDate : 2019-02-25 14:39
* @Modify:
**/
public class TestUser extends TestBase {
@Autowired
private ISysToolService toolService;
@Test
public void testTrans() {
for (int i = 0; i < 20; i++) {
new Thread("Save Thread -> " + i) {
@Override
public void run() {
for (int j = 0; j < 10; j++) {
SysTool tool = new SysTool();
tool.setName(Thread.currentThread().getName() + "_" + System.currentTimeMillis());
tool.setToolIp("192.168.3.40");
tool.setToolPort(9090);
tool.setToolDescription(Thread.currentThread().getName());
System.out.println(toolService.saveSysTool(tool));
}
}
}.start();
}
for (int i = 0; i < 20; i++) {
new Thread("Read Thread -> " + i) {
@Override
public void run() {
for (int j = 0; j < 10; j++) {
System.out.println(toolService.findSysToolByTop(j * 3));
}
}
}.start();
}
}
}

Loading…
Cancel
Save