diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysLocaleLanguageService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysLocaleLanguageService.java index f7c0479..6ce7a5c 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysLocaleLanguageService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysLocaleLanguageService.java @@ -48,4 +48,7 @@ public interface ISysLocaleLanguageService { @ApiOperation(value = "根据语言状态查询语言信息") List findSysLocaleLanguageByStatus(Integer status); + + @ApiOperation(value = "根据code查询语言") + SysLocaleLanguage getSysLocaleLanguageById(Long id); } diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysLocaleResourceService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysLocaleResourceService.java index 2a5b5ea..a778186 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysLocaleResourceService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysLocaleResourceService.java @@ -36,4 +36,10 @@ public interface ISysLocaleResourceService { @ApiOperation(value = "批量添加") void insertSysLocaleResourceList(List sysLocaleResources); + + @ApiOperation(value = "根据语言code和资源key查询资源") + SysLocaleResource getSysLocaleResourceByLanguageCodeAndResKey(String languageCode,String resKey); + + @ApiOperation(value = "根据id查询资源") + SysLocaleResource getSysLocaleResourceById(Long id); } diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysLogSystemService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysLogSystemService.java index 9313c1a..3e895f5 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysLogSystemService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysLogSystemService.java @@ -6,7 +6,6 @@ import cn.estsh.i3plus.pojo.platform.platbean.SysLogSystem; import io.swagger.annotations.ApiOperation; import java.util.List; -import java.util.Map; /** * @Description : 系统日志服务接口 @@ -24,7 +23,7 @@ public interface ISysLogSystemService { void insertSysLogBatch(int num,int waitTime); @ApiOperation(value = "删除日志",notes = "删除日志") - void deleteSysLogSystemById(Long id); + long deleteSysLogSystemById(Long id); @ApiOperation(value = "查询全部日志",notes = "查询全部日志") List listSysLogSystem(); @@ -36,5 +35,14 @@ public interface ISysLogSystemService { ListPager querySysLogSystemByPager(SysLogSystem logSystem, Pager pager); @ApiOperation(value = "系统日志批量删除",notes = "系统日志批量删除") - void deleteSysLogSystemByIds(Long[] ids); + long deleteSysLogSystemByIds(Long[] ids); + + /** + * 压力测试 + * @param min + * @param max + * @return + */ + @ApiOperation(value = "系统日志按id区间查询",notes = "系统日志按id区间查询") + List findSysLogSystemByIdInterval(long min, long max); } diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysRoleService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysRoleService.java index 5897e45..1bf928c 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysRoleService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysRoleService.java @@ -105,6 +105,9 @@ public interface ISysRoleService { @ApiOperation(value = "查信角色信息",notes = "查询指定角色信息") List findSysRoleByInId(Long[] ids); + @ApiOperation(value = "查信角色信息",notes = "根据ID + 角色状态查询角色信息") + List findSysRoleByInIdAndStatus(Long[] ids,Integer status); + @ApiOperation(value = "查信用户的所有角色信息",notes = "查信用户的所有角色信息") List findSysRoleByUser(SysUser user); diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysTaskPlanService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysTaskPlanService.java index 1fe4a4d..ae1f9f8 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysTaskPlanService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysTaskPlanService.java @@ -107,4 +107,12 @@ public interface ISysTaskPlanService { */ @ApiOperation(value = "修改任务计划信息",notes = "修改任务计划信息,不会更新quartz数据库") void updateSysTaskPlan(SysTaskPlan sysTaskPlan); + + + /** + * 批量删除任务计划信息 + * @param ids + */ + @ApiOperation(value = "批量删除任务计划信息",notes = "批量删除任务计划信息") + void deleteSysTaskPlanByIds(Long[] ids); } diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysToolService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysToolService.java index 572e371..96447a9 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysToolService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysToolService.java @@ -3,7 +3,6 @@ package cn.estsh.i3plus.core.api.iservice.busi; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.platform.bean.SysTool; -import cn.estsh.i3plus.pojo.platform.bean.SysToolType; import io.swagger.annotations.ApiOperation; import java.util.List; @@ -74,14 +73,14 @@ public interface ISysToolService { * @param id */ @ApiOperation(value = "删除硬件信息",notes = "根据 ID 删除硬件信息") - void deleteSysToolById(Long id); + int deleteSysToolById(Long id); /** * 批量删除硬件 * @param ids */ @ApiOperation(value = "删除硬件信息",notes = "根据 ID 批量删除硬件信息") - void deleteSysToolByIds(Long[] ids); + int deleteSysToolByIds(Long[] ids); /** * 批量修改硬件状态 @@ -89,11 +88,21 @@ public interface ISysToolService { * @param status */ @ApiOperation(value = "更新设备信息",notes = "根据 ID 批量修改硬件状态信息") - void updateSysToolStatusByIds(Long[] ids,Integer status); + int updateSysToolStatusByIds(Long[] ids,Integer status); /** + * 压力测试 * 查询指定数量设备信息 */ @ApiOperation(value = "查询指定数量设备信息",notes = "查询指定数量设备信息") List findSysToolByTop(int topNum); + + /** + * 压力测试 + * @param min + * @param max + * @return + */ + @ApiOperation(value = "查询指定数量设备信息",notes = "查询指定数量设备信息") + List findSysToolByIdInterval(long min,long max); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java index f1a3902..a66ae66 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java @@ -1,13 +1,11 @@ package cn.estsh.i3plus.core.apiservice.controller.base; +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.controller.DemoAuthController; -import cn.estsh.i3plus.core.apiservice.serviceimpl.busi.SysLocaleLanguageService; import cn.estsh.i3plus.platform.common.tool.ServletRequestTool; 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.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.platform.bean.SessionUser; @@ -17,6 +15,7 @@ import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppBusiException; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; +import cn.estsh.impp.framework.boot.util.ImppRedis; import cn.estsh.impp.framework.boot.util.ResultBean; import cn.estsh.impp.framework.boot.util.ValidatorBean; import io.swagger.annotations.Api; @@ -27,10 +26,13 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.util.List; +import java.util.Map; /** * @Description : @@ -58,6 +60,12 @@ public class WhiteController extends CoreBaseController { @Autowired private IPersonnelService personnelService; + @Autowired + private ISystemInitService systemInitService; + + @Resource(name="redisRes") + private ImppRedis redisRes; + @GetMapping(value = "/sys-locale-language/list") @ApiOperation(value = "查询可用语言",notes = "查询可用语言") public ResultBean listSysLocaleLanguage(){ @@ -89,20 +97,17 @@ public class WhiteController extends CoreBaseController { @GetMapping(value="/auth/login") @ApiOperation(value="登陆",notes="登陆") - public ResultBean login(HttpServletRequest request, String loginName, String loginPwd, String languageCode){ + public ResultBean login(HttpServletRequest request, String loginName, String loginPwd, String languageCode, + @RequestParam(required = false) String ipAddr){ LOGGER.info("用户登陆 loginName:{} loginPwd:{} languageCode:{}",loginName,loginPwd,languageCode); ResultBean result = null; try { ValidatorBean.checkNotNull(loginName,"用户名不能为空"); ValidatorBean.checkNotNull(loginPwd,"密码不能为空"); ValidatorBean.checkNotNull(languageCode,"语言不能为空"); +// ValidatorBean.checkNotNull(ipAddr,"IP 地址不能为空"); - try { - //先进行登出 - AuthUtil.logout(); - }catch (Exception e){ - e.printStackTrace(); - } + logout(); SessionUser user = userService.queryUserLogin(loginName,loginPwd.trim(),languageCode); @@ -115,10 +120,10 @@ public class WhiteController extends CoreBaseController { result.setUrl("/"); // 记录登录记录 - recordSysUserLog(user.getUser().getUserInfoId(), loginName,CommonEnumUtil.USER_LOGIN_STATUS.LOGIN_SUCCESS.getValue(), request); + recordSysUserLog(user.getUser().getUserInfoId(), loginName,CommonEnumUtil.USER_LOGIN_STATUS.LOGIN_SUCCESS.getValue(), ipAddr); } catch (IncorrectCredentialsException e) { // 密码错误 - Integer num = systemLoginService.doLoginPasswordError(loginName,request.getSession().getId()); + 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){ @@ -128,58 +133,86 @@ public class WhiteController extends CoreBaseController { } // 记录登录记录 - recordSysUserLog(null, loginName, CommonEnumUtil.USER_LOGIN_STATUS.WRONG_PASSWORD.getValue(), request); + recordSysUserLog(null, loginName, CommonEnumUtil.USER_LOGIN_STATUS.WRONG_PASSWORD.getValue(), ipAddr); } catch (CredentialsException e) { // 用户名或密码错误 result = ResultBean.fail(ImppExceptionEnum.LOGIN_EXCEPTION_USER_NAME); // 记录登录记录 - recordSysUserLog(null, loginName,CommonEnumUtil.USER_LOGIN_STATUS.WRONG_USERNAME_OR_PASSWORD.getValue(), request); + recordSysUserLog(null, loginName,CommonEnumUtil.USER_LOGIN_STATUS.WRONG_USERNAME_OR_PASSWORD.getValue(), ipAddr); } catch (LockedAccountException e) { // 账号已锁定 result = ResultBean.fail(ImppExceptionEnum.LOGIN_EXCEPTION_USER_LOCKING); // 记录登录记录 - recordSysUserLog(null, loginName,CommonEnumUtil.USER_LOGIN_STATUS.USER_LOGIN_LOCKING.getValue(), request); + recordSysUserLog(null, loginName,CommonEnumUtil.USER_LOGIN_STATUS.USER_LOGIN_LOCKING.getValue(), ipAddr); } catch (UnknownAccountException e) { // 用户信息不存在 result = ResultBean.fail(ImppExceptionEnum.LOGIN_EXCEPTION_USER_INFO_NULL); // 记录登录记录 - recordSysUserLog(null, loginName,CommonEnumUtil.USER_LOGIN_STATUS.USER_INFO_NULL.getValue(), request); + recordSysUserLog(null, loginName,CommonEnumUtil.USER_LOGIN_STATUS.USER_INFO_NULL.getValue(), ipAddr); } 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(), request); + recordSysUserLog(null, loginName,CommonEnumUtil.USER_LOGIN_STATUS.SYSTEM_ERROR.getValue(), ipAddr); } catch (ImppBusiException e) { result = ResultBean.fail(e); // 记录登录记录 - recordSysUserLog(null, loginName,CommonEnumUtil.USER_LOGIN_STATUS.SYSTEM_ERROR.getValue(), request); + recordSysUserLog(null, loginName,CommonEnumUtil.USER_LOGIN_STATUS.SYSTEM_ERROR.getValue(), ipAddr); } catch (Exception e) { result = ResultBean.fail(e.getMessage()).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()) .setErrorMsg(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription()); // 记录登录记录 - recordSysUserLog(null, loginName,CommonEnumUtil.USER_LOGIN_STATUS.SYSTEM_ERROR.getValue(), request); + recordSysUserLog(null, loginName,CommonEnumUtil.USER_LOGIN_STATUS.SYSTEM_ERROR.getValue(), ipAddr); } return result; } - private void recordSysUserLog(Long userId, String username,Integer userLoginStatus,HttpServletRequest request){ + private void recordSysUserLog(Long userId, String username,Integer userLoginStatus,String IpAddr){ SysLogUserLogin log = new SysLogUserLogin(); log.setUserId(userId); log.setLogLoginName(username); log.setLogLoginStatus(userLoginStatus); log.setLogLoginBrowser(ServletRequestTool.getRequestBrowser(request)); - log.setLogLoginHost(ServletRequestTool.getRequestHost(request)); + log.setLogLoginHost(IpAddr); log.setLogLoginPlatform(CommonEnumUtil.LOG_LOGIN_PLATFORM.descOf(ServletRequestTool.getRequestOs(request))); log.setLogLoginDateTime(TimeTool.getNowTime(true)); userService.insertSysLogUserLogin(log); } + + @GetMapping(value = "/find-language-code") + @ApiOperation(value = "根据语言代码查询资源") + public ResultBean findSysLocaleResourceByLanguageCode(String languageCode){ + try { + ValidatorBean.checkNotNull(languageCode,"语言代码不能为空"); + if (sysLocaleLanguageService.getSysLocaleLanguageByCode(languageCode) == null) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("语言不存在") + .build(); + } + + // 从缓存获取语言信息 + Map resourceMap = redisRes.getHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE + languageCode); + if (resourceMap == null || resourceMap.size() == 0) { + systemInitService.loadSysLocaleLanguage(); + resourceMap = redisRes.getHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE + languageCode); + } + + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultMap(resourceMap); + }catch(ImppBusiException busExcep){ + return ResultBean.fail(busExcep); + }catch(Exception e){ + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysConfigController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysConfigController.java index 1f674c4..4859363 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysConfigController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysConfigController.java @@ -27,6 +27,8 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.mail.AuthenticationFailedException; +import javax.mail.MessagingException; import java.util.List; /** @@ -250,6 +252,8 @@ public class SysConfigController extends CoreBaseController { mailUtil.setTo(mailConfig.getTestTo()); mailUtil.send(); return ResultBean.success("测试邮件已发送").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }catch(MessagingException messageExcep){ + return ImppExceptionBuilder.newInstance().buildExceptionResult(messageExcep); }catch(ImppBusiException busExcep){ return ResultBean.fail(busExcep); }catch(Exception e){ diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDictionaryController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDictionaryController.java index a0f5a23..1f5d165 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDictionaryController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDictionaryController.java @@ -51,6 +51,7 @@ public class SysDictionaryController extends CoreBaseController{ try { // 条件验证 ValidatorBean.beginValid(sysDictionary) + .notNull("id",sysDictionary.getId()) .notNull("name",sysDictionary.getName()) .notNull("dictionaryCode",sysDictionary.getDictionaryCode()) .notNull("dictionaryValue",sysDictionary.getDictionaryValue()); @@ -98,13 +99,21 @@ public class SysDictionaryController extends CoreBaseController{ try { // 条件验证 ValidatorBean.checkNotNull(idStr,"id不能为空"); - if(sysDictionaryService.getSysDictionaryById(Long.parseLong(idStr)) == null){ + SysDictionary sysDictionary = sysDictionaryService.getSysDictionaryById(Long.parseLong(idStr)); + if(sysDictionary == null){ throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode()) .setErrorDetail("字典不存在") .setErrorSolution("请重新选择") .build(); + }else if(sysDictionary.getIsDefault().intValue() == CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode()) + .setErrorDetail("默认字典不能删除") + .setErrorSolution("请重新选择") + .build(); } sysDictionaryService.deleteSysDictionaryById(Long.parseLong(idStr)); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleLanguageController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleLanguageController.java index bca4457..718a978 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleLanguageController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleLanguageController.java @@ -1,13 +1,16 @@ package cn.estsh.i3plus.core.apiservice.controller.busi; +import cn.estsh.i3plus.core.api.iservice.base.ISystemInitService; import cn.estsh.i3plus.core.api.iservice.busi.ISysLocaleLanguageService; import cn.estsh.i3plus.platform.common.tool.StringTool; +import cn.estsh.i3plus.platform.common.util.CommonConstWords; import cn.estsh.i3plus.platform.common.util.PlatformConstWords; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.platform.bean.SysLocaleLanguage; +import cn.estsh.i3plus.pojo.platform.bean.SysLocaleResource; import cn.estsh.impp.framework.base.controller.CoreBaseController; import cn.estsh.impp.framework.boot.exception.ImppBusiException; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; @@ -21,6 +24,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.HashMap; import java.util.List; /** @@ -39,6 +43,9 @@ public class SysLocaleLanguageController extends CoreBaseController { @Autowired private ISysLocaleLanguageService sysLocaleLanguageService; + @Autowired + private ISystemInitService systemInitService; + @PostMapping(value = "/insert") @ApiOperation(value = "添加系统语言",notes = "添加系统语言") public ResultBean insertSysLocaleLanguage(SysLocaleLanguage sysLocaleLanguage){ @@ -53,6 +60,8 @@ public class SysLocaleLanguageController extends CoreBaseController { sysLocaleLanguage.setLanguageStatus(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); sysLocaleLanguageService.insertSysLocaleLanguage(sysLocaleLanguage); + + redisCore.putHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE + sysLocaleLanguage.getLanguageCode(),new HashMap<>()); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ return ResultBean.fail(busExcep); @@ -72,6 +81,9 @@ public class SysLocaleLanguageController extends CoreBaseController { .notNull("languageCode", sysLocaleLanguage.getLanguageCode()); sysLocaleLanguageService.updateSysLocaleLanguage(sysLocaleLanguage); + + // 重新加载资源 + systemInitService.loadSysLocaleLanguage(); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ return ResultBean.fail(busExcep); @@ -86,8 +98,19 @@ public class SysLocaleLanguageController extends CoreBaseController { try { //条件验证 ValidatorBean.checkNotNull(idStr,"id不能为空"); + SysLocaleLanguage sysLocaleLanguage =sysLocaleLanguageService.getSysLocaleLanguageById(Long.parseLong(idStr)); + if(sysLocaleLanguage == null){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("语言不存在") + .build(); + } sysLocaleLanguageService.deleteSysLocaleLanguageById(Long.parseLong(idStr)); + + // 移出缓存 + redisCore.deleteKey(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE + sysLocaleLanguage.getLanguageCode()); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ return ResultBean.fail(busExcep); @@ -151,6 +174,9 @@ public class SysLocaleLanguageController extends CoreBaseController { } sysLocaleLanguageService.deleteSysLocaleLanguageByIds(StringTool.getArrayLong(idsStr)); + + // 重新加载语言资源 + systemInitService.loadSysLocaleLanguage(); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ return ResultBean.fail(busExcep); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleResourceController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleResourceController.java index cb6f9d6..b414a52 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleResourceController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleResourceController.java @@ -1,7 +1,9 @@ package cn.estsh.i3plus.core.apiservice.controller.busi; +import cn.estsh.i3plus.core.api.iservice.base.ISystemInitService; import cn.estsh.i3plus.core.api.iservice.busi.ISysLocaleResourceService; import cn.estsh.i3plus.platform.common.tool.StringTool; +import cn.estsh.i3plus.platform.common.util.CommonConstWords; import cn.estsh.i3plus.platform.common.util.PlatformConstWords; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; @@ -25,6 +27,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.HashMap; import java.util.List; +import java.util.Map; /** * @Description :系统语言资源服务 @@ -45,6 +48,9 @@ public class SysLocaleResourceController extends CoreBaseController { @Autowired private ISysLocaleResourceService sysLocaleResourceService; + @Autowired + private ISystemInitService systemInitService; + @PostMapping(value = "/insert") @ApiOperation(value = "新增语言资源",notes = "新增语言资源") public ResultBean insertSysLocaleResource(SysLocaleResource sysLocaleResource){ @@ -57,15 +63,12 @@ public class SysLocaleResourceController extends CoreBaseController { .notNull("resourceValue",sysLocaleResource.getResourceValue()); //新增初始化 -// ConvertBean.modelInitialize(sysLocaleResource, sessionUser); sysLocaleResource.setIsSystem(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); - sysLocaleResource = sysLocaleResourceService.insertSysLocaleResource(sysLocaleResource); + sysLocaleResourceService.insertSysLocaleResource(sysLocaleResource); - // 放入缓存 - HashMap resource = new HashMap(); - resource.put(sysLocaleResource.getLanguageCode(),sysLocaleResource.getResourceValue()); - redisRes.putHashMap(sysLocaleResource.getResourceKey(),resource,0); + // 更新缓存信息 + updateResourceCache(sysLocaleResource,false); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ return ResultBean.fail(busExcep); @@ -86,15 +89,10 @@ public class SysLocaleResourceController extends CoreBaseController { .checkNotZero("resourceType",sysLocaleResource.getResourceType()) .notNull("resourceValue",sysLocaleResource.getResourceValue()); - //修改初始化 -// ConvertBean.modelUpdate(sysLocaleResource, sessionUser); - sysLocaleResourceService.updateSysLocaleResource(sysLocaleResource); - // 放入缓存 - HashMap resource = new HashMap(); - resource.put(sysLocaleResource.getLanguageCode(),sysLocaleResource.getResourceValue()); - redisRes.putHashMap(sysLocaleResource.getResourceKey(),resource,0); + // 更新缓存信息 + updateResourceCache(sysLocaleResource,false); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ return ResultBean.fail(busExcep); @@ -109,8 +107,18 @@ public class SysLocaleResourceController extends CoreBaseController { try { //条件验证 ValidatorBean.checkNotNull(idStr,"id不能为空"); + SysLocaleResource sysLocaleResource =sysLocaleResourceService.getSysLocaleResourceById(Long.parseLong(idStr)); + if(sysLocaleResource == null){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("资源不存在") + .build(); + } sysLocaleResourceService.deleteSysLocaleResourceById(Long.parseLong(idStr)); + + updateResourceCache(sysLocaleResource,false); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ return ResultBean.fail(busExcep); @@ -158,6 +166,9 @@ public class SysLocaleResourceController extends CoreBaseController { } sysLocaleResourceService.deleteSysLocaleResourceByIds(StringTool.getArrayLong(idsStr)); + + // 重新加载资源 + systemInitService.loadSysLocaleLanguage(); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ return ResultBean.fail(busExcep); @@ -166,7 +177,7 @@ public class SysLocaleResourceController extends CoreBaseController { } } - @PutMapping(value = "batch-insert") + @PutMapping(value = "/batch-insert") @ApiOperation(value = "批量添加系统资源") public ResultBean insertSysLocaleResourceList(@RequestBody List sysLocaleResourcesList){ try { @@ -180,12 +191,8 @@ public class SysLocaleResourceController extends CoreBaseController { sysLocaleResourceService.insertSysLocaleResourceList(sysLocaleResourcesList); - HashMap resource; - for (SysLocaleResource item:sysLocaleResourcesList) { - resource = new HashMap(); - resource.put(item.getLanguageCode(),item.getResourceValue()); - redisRes.putHashMap(item.getResourceKey(),resource,0); - } + // 重新加载资源 + systemInitService.loadSysLocaleLanguage(); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ return ResultBean.fail(busExcep); @@ -193,4 +200,32 @@ public class SysLocaleResourceController extends CoreBaseController { return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } } + + /** + * 更新缓存信息 + * @param sysLocaleResource + * @param isDelete + */ + private void updateResourceCache(SysLocaleResource sysLocaleResource,boolean isDelete){ + // 判断是否为删除资源 + if(isDelete){ + Map langMap = redisRes.getHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE + sysLocaleResource.getLanguageCode()); + if (langMap != null && langMap.size() != 0) { + langMap.remove(sysLocaleResource.getResourceKey()); + redisRes.putHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE + sysLocaleResource.getLanguageCode(), langMap); + } + + redisRes.deleteKey(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE + sysLocaleResource.getResourceKey()); + }else { + Map langMap = redisRes.getHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE + sysLocaleResource.getLanguageCode()); + if (langMap != null && langMap.size() != 0) { + langMap.put(sysLocaleResource.getResourceKey(), sysLocaleResource.getResourceValue()); + redisRes.putHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE + sysLocaleResource.getLanguageCode(), langMap); + } + + HashMap resource = new HashMap(); + resource.put(sysLocaleResource.getLanguageCode(), sysLocaleResource.getResourceValue()); + redisRes.putHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE + sysLocaleResource.getResourceKey(), resource, 0); + } + } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMessageController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMessageController.java index fc68c91..9059c0f 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMessageController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMessageController.java @@ -63,6 +63,7 @@ public class SysMessageController extends CoreBaseController { sysMessage.setMessageSenderNameRdd(getSessionUser().getUserName()); sysMessage.setMessageSendTime(sdf.format(new Date())); sysMessage.setMessageContentType(ImppEnumUtil.MESSAGE_TYPE_CONTENT.HTML.getValue()); + sysMessage.setMessageReceiverType(ImppEnumUtil.MESSAGE_RECEIVER_TYPE.INTERNAL.getValue()); sysMessageService.doSendSysMessage(sysMessage); return ResultBean.success("添加成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); @@ -309,6 +310,7 @@ public class SysMessageController extends CoreBaseController { sysMessage.setMessageSenderNameRdd(getSessionUser().getUserName()); sysMessage.setMessageSendTime(sdf.format(new Date())); sysMessage.setMessageContentType(ImppEnumUtil.MESSAGE_TYPE_CONTENT.HTML.getValue()); + sysMessage.setMessageReceiverType(ImppEnumUtil.MESSAGE_RECEIVER_TYPE.INTERNAL.getValue()); sysMessageService.doSendSysMessage(sysMessage); return ResultBean.success("添加成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysRoleController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysRoleController.java index d6ecb0e..cc5827e 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysRoleController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysRoleController.java @@ -257,7 +257,16 @@ public class SysRoleController extends CoreBaseController{ .setErrorDetail("请输入需要更新的角色信息。") .build(); } + List roleList = sysRoleService.findSysRoleByInIdAndStatus(StringTool.getArrayLong(roleIds), CommonEnumUtil.DATA_STATUS.DISABLE.getValue()); + if(roleList != null && roleList.size() > 0){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode()) + .setErrorDetail("["+roleList.get(0).getName()+"]角色已禁用,不允许操作") + .setErrorSolution("请重新操作") + .build(); + } sysRoleService.refreshBatchSysRoleRef(StringTool.getArrayLong(roleIds),StringTool.getArrayLong(menuIds), AuthUtil.getSessionUser().getUserName()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskController.java index 0b11c11..a8b27d8 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskController.java @@ -50,8 +50,13 @@ public class SysTaskController extends CoreBaseController { .notNull("taskPackage", sysTask.getTaskPackage()) .notNull("taskClass", sysTask.getTaskClass()); + // 类校验 + Class.forName(sysTask.getTaskPackage() + "." + sysTask.getTaskClass()); + sysTaskService.insertSysTask(sysTask); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(sysTask); + } catch (ClassNotFoundException e) { + return ResultBean.fail("任务类不存在:" + sysTask.getTaskPackage() + "." + sysTask.getTaskClass()); } catch (ImppBusiException busExcep) { return ResultBean.fail(busExcep); } catch (Exception e) { diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskPlanController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskPlanController.java index d0b4fa2..904de23 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskPlanController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskPlanController.java @@ -3,6 +3,7 @@ package cn.estsh.i3plus.core.apiservice.controller.busi; import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskCycleService; import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskPlanService; import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskService; +import cn.estsh.i3plus.platform.common.tool.StringTool; import cn.estsh.i3plus.platform.common.util.PlatformConstWords; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; @@ -221,4 +222,20 @@ public class SysTaskPlanController extends CoreBaseController{ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } } + + @DeleteMapping("/batch-delete") + @ApiOperation(value = "根据id批量删除任务计划",notes = "根据id批量删除任务计划") + public ResultBean deleteSysTaskPlanByIds(String[] idsStr) { + try { + // 数据校验 + ValidatorBean.checkNotNull(idsStr, "任务计划id 不能为空"); + + sysTaskPlanService.deleteSysTaskPlanByIds(StringTool.getArrayLong(idsStr)); + return ResultBean.success().setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }catch(ImppBusiException busExcep){ + return ResultBean.fail(busExcep); + }catch(Exception e){ + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } } \ No newline at end of file diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserController.java index e898673..6be7b5b 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserController.java @@ -345,6 +345,7 @@ public class SysUserController extends CoreBaseController{ message.setMessageSenderNameRdd(getSessionUser().getUserName()); message.setMessageReceiversId(user.getId().toString()); message.setMessageReceiversNameRdd(user.getUserName()); + message.setMessageReceiverType(ImppEnumUtil.MESSAGE_RECEIVER_TYPE.INTERNAL.getValue()); sysMessageService.doSendSysMessage(message); @@ -389,6 +390,7 @@ public class SysUserController extends CoreBaseController{ message.setMessageReceiversId(user.getId().toString()); message.setMessageReceiversNameRdd(user.getUserName()); message.setMessageSendTime(TimeTool.getNowTime(true)); + message.setMessageReceiverType(ImppEnumUtil.MESSAGE_RECEIVER_TYPE.INTERNAL.getValue()); sysMessageService.doSendSysMessage(message); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/TestController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/TestController.java index ec75d0f..0192f6e 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/TestController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/TestController.java @@ -1,10 +1,8 @@ package cn.estsh.i3plus.core.apiservice.controller.busi; import cn.estsh.i3plus.core.api.iservice.busi.*; -import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.platform.common.tool.TimeTool; import cn.estsh.i3plus.pojo.base.bean.BaseBean; -import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.codemaker.SnowflakeIdMaker; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; @@ -13,7 +11,6 @@ import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.model.platform.UserDetailModel; import cn.estsh.i3plus.pojo.platform.bean.*; import cn.estsh.i3plus.pojo.platform.platbean.SysLogSystem; -import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.eureka.EurekaClientHealthCheck; import cn.estsh.impp.framework.boot.exception.ImppBusiException; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; @@ -22,7 +19,6 @@ 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 io.swagger.annotations.ApiParam; import org.apache.commons.lang3.RandomStringUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.time.DateFormatUtils; @@ -30,7 +26,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -39,12 +34,14 @@ import javax.persistence.EntityManager; import java.io.File; import java.io.FileWriter; import java.io.IOException; -import java.lang.reflect.Method; -import java.lang.reflect.Parameter; -import java.util.*; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import java.util.Random; +import java.util.UUID; /** - * @Description : + * @Description : IMPP性能测试 * @Reference : * @Author : yunhao * @CreateDate : 2019-02-19 11:29 @@ -143,12 +140,11 @@ public class TestController { // 测试cpu性能 if (cpu) { for (int i = 0; i < num; i++) { - TestThread th1 = new TestThread(piLength); - th1.start(); + System.out.println(ComputePi.computePi(piLength)); } } - return ResultBean.success("查询成功").setResultObject("耗时:" + (System.currentTimeMillis() - time)) + return ResultBean.success("查询成功 耗时:" + (System.currentTimeMillis() - time)) .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { return ResultBean.fail(busExcep); @@ -170,7 +166,7 @@ public class TestController { */ @GetMapping(value = "/test-db") @ApiOperation(value = "数据库操作测试", notes = "数据库操作测试") - public ResultBean testDBCRUD(int num, boolean mongo, boolean insert, boolean update, boolean batchUpdate, boolean delete, boolean batchDelete, int waitTime) { + public ResultBean testDBCRUD(int num, boolean mongo, boolean insert, boolean update, boolean batchUpdate, boolean delete, boolean batchDelete,long min,long max) { try { long time = System.currentTimeMillis(); Pager page = new Pager(); @@ -179,12 +175,15 @@ public class TestController { List list; SysTool sysTool; SysLogSystem sysLogSystem; + int insertAffect = 0; + int updateAffect = 0; + long deleteAffect = 0; long t1 = System.currentTimeMillis(); // 新增数据 if (insert) { - for (int i = 0; i < num * 1000; i++) { + for (int i = 0; i < num; i++) { t1 = System.currentTimeMillis(); if (!mongo) { sysTool = new SysTool(); @@ -195,8 +194,6 @@ public class TestController { sysTool.setToolDescription("描述新增测试"); sysToolService.insertSysTool(sysTool); - - this.wait(waitTime); } else { sysLogSystem = new SysLogSystem(); sysLogSystem.setLogClass("新增测试class"); @@ -210,11 +207,9 @@ public class TestController { sysLogSystem.setLogTitle("新增测试"); syslogSystemService.insertSysLogSystem(sysLogSystem); - - this.wait(waitTime); } - LOGGER.info("插入耗时:" + (System.currentTimeMillis() - t1) + ",idx:" + i); + insertAffect++; } } @@ -232,10 +227,10 @@ public class TestController { for (int i = 0; i < num; i++) { ids[i] = ((SysTool) list.get(i)).getId(); } - sysToolService.updateSysToolStatusByIds(ids, CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); + updateAffect = sysToolService.updateSysToolStatusByIds(ids, (int) (Math.random() * 1000)); } else if (!mongo && update) { - for (Object obj : list) { - sysTool = (SysTool) obj; + for (int i = 0; i < num; i++) { + sysTool = (SysTool) list.get(i); sysTool.setName("修改测试" + System.currentTimeMillis()); sysTool.setToolTypeId(1073140662133723136L); sysTool.setToolIp("192.168.1.35"); @@ -257,24 +252,25 @@ public class TestController { } } if (mongo) { - syslogSystemService.deleteSysLogSystemByIds(ids); + deleteAffect = syslogSystemService.deleteSysLogSystemByIds(ids); } else { - sysToolService.deleteSysToolByIds(ids); + deleteAffect = sysToolService.deleteSysToolByIds(ids); } } else if (delete) { - for (Object obj : list) { + for (int i = 0; i < num; i++) { if (mongo) { - sysLogSystem = (SysLogSystem) obj; - syslogSystemService.deleteSysLogSystemById(sysLogSystem.getId()); + sysLogSystem = (SysLogSystem) list.get(i); + deleteAffect += syslogSystemService.deleteSysLogSystemById(sysLogSystem.getId()); } else { - sysTool = (SysTool) obj; - sysToolService.deleteSysToolById(sysTool.getId()); + sysTool = (SysTool) list.get(i); + deleteAffect += sysToolService.deleteSysToolById(sysTool.getId()); } } } } - return ResultBean.success("调用完成-耗时:" + (System.currentTimeMillis() - time) + ",数据量:" + num) + return ResultBean.success("调用完成-耗时:" + (System.currentTimeMillis() - time) + ",新增数据量:" + insertAffect + + ",修改影响量" + updateAffect + ",删除影响量:" + deleteAffect) .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { return ResultBean.fail(busExcep); @@ -283,7 +279,6 @@ public class TestController { } } - /** * 数据库操作测试 * @@ -295,9 +290,6 @@ public class TestController { public ResultBean dateInsert(int num, boolean mongo, int waitTime) { try { long time = System.currentTimeMillis(); - SysTool sysTool; - SysLogSystem sysLogSystem; - long t1 = System.currentTimeMillis(); // 新增数据 if (!mongo) { @@ -381,12 +373,12 @@ public class TestController { if (deleteCache && batchPutCache) { redisRes.deleteKey(redisKey); } else if (deleteCache) { - for (int i = 0; i < list.size(); i++) { - redisRes.putObject(redisKey + i, list.get(i), cacheTime); + for (int i = 0; i < num; i++) { + redisRes.deleteKey(redisKey + i); } } - return ResultBean.success("调用完成-耗时:" + (System.currentTimeMillis() - time) + ",数据量:" + list.size()) + return ResultBean.success("调用完成-耗时:" + (System.currentTimeMillis() - time) + ",数据量:" + num) .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { return ResultBean.fail(busExcep); @@ -489,7 +481,7 @@ public class TestController { case 2: deptList = new ArrayList<>(); - for (int j = 0; j < 300; j++) { + for (int j = 0; j < 20; j++) { sysDept = new SysDepartment(); sysDept.setName("部门名称"); sysDept.setDepartmentCode("部门code"); @@ -514,11 +506,18 @@ public class TestController { // 复杂对象 case 3: deptList = new ArrayList<>(); + for (int j = 0; j < 20; j++) { + sysDept = new SysDepartment(); + sysDept.setName("部门名称集合" + j); + sysDept.setDepartmentCode("部门集合code" + j); + sysDept.setParentNameRdd("集合" + j); + deptList.add(sysDept); + + } sysDept = new SysDepartment(); sysDept.setName("部门名称"); sysDept.setDepartmentCode("部门code"); sysDept.setParentNameRdd("上级部门名称"); - deptList.add(sysDept); sysDept.setChildList(deptList); @@ -1049,4 +1048,15 @@ public class TestController { } } + @GetMapping(value = "/make-sql") + @ApiOperation(value = "生成sql脚本", notes = "生成sql脚本") + public void MakeSql(String path,int page,int pageSize){ + try { + for (int i = 0; i < page; i++) { + Text.printUsage(path,pageSize, i); + } + } catch (IOException e) { + e.printStackTrace(); + } + } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/Text.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/Text.java index 9c1499c..ad86ad6 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/Text.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/Text.java @@ -1,52 +1,61 @@ package cn.estsh.i3plus.core.apiservice.controller.busi; -import java.lang.management.ManagementFactory; -import java.util.Random; +import cn.estsh.i3plus.platform.common.tool.TimeTool; +import cn.estsh.i3plus.pojo.base.codemaker.SnowflakeIdMaker; +import cn.estsh.i3plus.pojo.platform.bean.SysTool; +import org.apache.commons.lang3.RandomStringUtils; + +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; /** - * @Description : + * @Description : 性能测试 * @Reference : * @Author : yunhao * @CreateDate : 2019-02-19 11:41 * @Modify: **/ public class Text { + public static final String TEXT = "党的十八大提出,倡导富强、民主、文明、和谐,倡导自由、平等、公正、法治,倡导爱国、敬业、诚信、友善,积极培育和践行社会主义核心价值观。富强、民主、文明、和谐是国家层面的价值目标,自由、平等、公正、法治是社会层面的价值取向,爱国、敬业、诚信、友善是公民个人层面的价值准则,这24个字是社会主义核心价值观的基本内容。"; - public static void main(String[] args) { + public static void printUsage(String path, int num, int index) throws IOException { - String name = ManagementFactory.getRuntimeMXBean().getName(); - System.out.println(name); -// get pid - String pid = name.split("@")[0]; - System.out.println("Pid is:" + pid); - for (int i = 0; i < 1; i++) { - TestThread th1 = new TestThread(i); - th1.start(); + File dir = new File(path+File.separator+"tool"+File.separator+"temp" + (index / 10)); + if (!dir.exists()) { + System.out.println(dir.mkdirs()); } - - -// System.out.println("Please input times: "); -// caculatePI(100000000); - } - - - public static void caculatePI(int countInSquarel) { - int countInCircle = 0, i, resulttimes; - double x, y; /* 坐标 */ - Random s = new Random(); - for (resulttimes = 0; resulttimes < 10; resulttimes++) { /* 输出十次结果 */ - for (i = 1; i <= countInSquarel; i++) { - x = s.nextDouble(); /* 在0~1之间产生一个随机x坐标 */ - y = s.nextDouble(); /* 在0~1之间产生一个随机y坐标 */ - if (caculateAcreage(x, y) <= 1.0) - countInCircle++; /* 统计落入单位圆中的点数 */ + File f = new File(path+File.separator+"tool"+File.separator+"temp" + (index / 10) + File.separator+"insert" + index + ".sql"); + FileWriter fw = new FileWriter(f); + BufferedWriter out = new BufferedWriter(fw); + try { + + SysTool sysTool; + StringBuffer sb; + SnowflakeIdMaker snf = new SnowflakeIdMaker(); + for (int i = 0; i < num; i++) { + sb = new StringBuffer(); + sb.append("insert into sys_tool (id,name,tool_type_name_rdd,tool_type_id,tool_ip,tool_port,tool_description) values "); + sysTool = new SysTool(); + sysTool.setId(snf.nextId() + System.currentTimeMillis()); + sysTool.setName(RandomStringUtils.random(10, TEXT)); + sysTool.setToolTypeNameRdd(RandomStringUtils.random(10, TEXT)); + sysTool.setToolTypeId(System.currentTimeMillis()); + sysTool.setToolIp(RandomStringUtils.random(10, TEXT)); + sysTool.setToolPort((int) (Math.random() * i)); + sysTool.setToolDescription(RandomStringUtils.random(10, TEXT)); + sysTool.setCreateDatetime(TimeTool.getNowTime(true)); + sysTool.setModifyDatetime(TimeTool.getNowTime(true)); + + sb.append("(" + sysTool.getId() + ",'" + sysTool.getName() + "','" + sysTool.getToolTypeNameRdd() + "'," + sysTool.getToolTypeId() + ",'" + + sysTool.getToolIp() + "'," + sysTool.getToolPort() + ",'" + sysTool.getToolDescription() + "');"); + out.write(sb.toString()); } - System.out.println("The result of pai is " + (double) countInCircle / countInSquarel * 4); /* 计算出π的值 */ - countInCircle = 0; + + } finally { + out.close(); } } - private static double caculateAcreage(double xPosition, double yPosition) { - return xPosition * xPosition + yPosition * yPosition; - } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/report/CoreReportController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/report/CoreReportController.java index ecab060..b98e489 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/report/CoreReportController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/report/CoreReportController.java @@ -30,6 +30,7 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; import javax.persistence.Transient; +import javax.servlet.http.HttpServletRequest; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.List; @@ -78,7 +79,7 @@ public class CoreReportController extends CoreBaseController { @GetMapping(value = "/role/user/list") @ApiOperation(value = "查询登录用户所有角色") - public ResultBean findSysRoleByUser() { + public ResultBean findSysRoleByUser(HttpServletRequest req) { try { SessionUser sessionUser = getSessionUser(); if(sessionUser != null && sessionUser.getUser() != null){ diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/dao/ITestDao.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/dao/ITestDao.java index 7d148b6..5c3e3f3 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/dao/ITestDao.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/dao/ITestDao.java @@ -7,7 +7,7 @@ import cn.estsh.i3plus.pojo.platform.platbean.SysLogSystem; import java.util.List; /** - * @Description : + * @Description : 性能测试 * @Reference : * @Author : yunhao * @CreateDate : 2019-02-20 21:15 @@ -22,12 +22,5 @@ public interface ITestDao { */ void insertBatch(int num,int waitTime); - /** - * mongodb批量新增 - * @param num - * @param waitTime - */ - void insertMongoDBBatch(int num,int waitTime); - List queryToolAndToolType(Pager pager); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/daoimpl/TestDaoImpl.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/daoimpl/TestDaoImpl.java index 2f9a560..4e0896e 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/daoimpl/TestDaoImpl.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/daoimpl/TestDaoImpl.java @@ -1,6 +1,7 @@ package cn.estsh.i3plus.core.apiservice.daoimpl; import cn.estsh.i3plus.core.apiservice.dao.ITestDao; +import cn.estsh.i3plus.platform.common.tool.TimeTool; import cn.estsh.i3plus.pojo.base.codemaker.SnowflakeIdMaker; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.platform.bean.SysTool; @@ -11,11 +12,11 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.persistence.EntityManager; +import javax.persistence.Query; import java.util.List; -import java.util.Random; /** - * @Description : 多表测试 + * @Description : 性能测试 * @Reference : * @Author : yunhao * @CreateDate : 2019-02-20 21:17 @@ -35,8 +36,9 @@ public class TestDaoImpl implements ITestDao { long t1 = System.currentTimeMillis(); SysTool sysTool = new SysTool(); StringBuffer sb = new StringBuffer(); + sb.append("insert into sys_tool (id,name,tool_type_name_rdd,tool_type_id,tool_ip,tool_port,tool_description) values "); SnowflakeIdMaker snf = new SnowflakeIdMaker(); - for (int i = 0; i < num * 1000; i++) { + for (int i = 0; i < num * 100; i++) { sysTool = new SysTool(); sysTool.setId(snf.nextId() + System.currentTimeMillis()); sysTool.setName(RandomStringUtils.random(10, TEXT)); @@ -45,20 +47,17 @@ public class TestDaoImpl implements ITestDao { sysTool.setToolIp(RandomStringUtils.random(10, TEXT)); sysTool.setToolPort((int) (Math.random() * i)); sysTool.setToolDescription(RandomStringUtils.random(10, TEXT)); + sysTool.setCreateDatetime(TimeTool.getNowTime(true)); + sysTool.setModifyDatetime(TimeTool.getNowTime(true)); - sb.append("insert into sys_tool (id,name,tool_type_name_rdd,tool_type_id,tool_ip,tool_port,tool_description) "); - sb.append(" values("+sysTool.getId()+",'"+sysTool.getName()+"','"+sysTool.getToolTypeNameRdd()+"',"+sysTool.getToolTypeId()+",'" - +sysTool.getToolIp()+"',"+sysTool.getToolPort()+",'"+sysTool.getToolDescription()+"')"); + sb.append("("+sysTool.getId()+",'"+sysTool.getName()+"','"+sysTool.getToolTypeNameRdd()+"',"+sysTool.getToolTypeId()+",'" + +sysTool.getToolIp()+"',"+sysTool.getToolPort()+",'"+sysTool.getToolDescription()+"'),"); } - entityManager.createNativeQuery(sb.toString()); - LOGGER.info("插入耗时:" + (System.currentTimeMillis() - t1) ); - } - - @Override - public void insertMongoDBBatch(int num, int waitTime) { - + sb.deleteCharAt(sb.length() - 1); + Query sql = entityManager.createNativeQuery(sb.toString()); + LOGGER.info("插入耗时:" + (System.currentTimeMillis() - t1) + ",操作数:" + sql.executeUpdate()); } @Override diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/listener/SysResourceBindleListener.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/listener/SysResourceBindleListener.java index 81261a6..de08506 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/listener/SysResourceBindleListener.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/listener/SysResourceBindleListener.java @@ -43,6 +43,8 @@ public class SysResourceBindleListener implements ApplicationListener> resMap = new HashMap(); HashMap lanMap = null; + HashMap> webLangMap = new HashMap<>(); + HashMap webResMap; //语言数量 List langList = systemResourceService.listSysLocaleLanguage(null); @@ -61,6 +63,14 @@ public class SysResourceBindleListener implements ApplicationListener()); + } + // 放入资源信息 + webResMap = webLangMap.get(res.getLanguageCode()); + webResMap.put(res.getResourceKey(),res.getResourceValue()); } for(String key : resMap.keySet()){ @@ -68,6 +78,11 @@ public class SysResourceBindleListener implements ApplicationListener + * 先根据code查询,判断是否存在,然后通过语言获取对应的值 + */ + HashMap> resMap = new HashMap(); + HashMap lanMap = null; + HashMap> webLangMap = new HashMap<>(); + HashMap webResMap; + + //语言数量 + List langList = systemResourceService.listSysLocaleLanguage(null); + + //查询所有资源 + List resourceList = systemResourceService.listSysLocaleResource(null); + LOGGER.info("【加载平台资源】共有{}个资源,{}种语言。",resourceList.size(),langList.size()); + for(SysLocaleResource res : resourceList) { + //遍历资源,放入map中 + lanMap = resMap.get(res.getResourceKey()); + //判断是否已存在资源信息 + if(lanMap == null){ + lanMap = new HashMap(); + //将key/代码放入 + resMap.put(res.getResourceKey(),lanMap); + } + //根据语言放入 + lanMap.put(res.getLanguageCode(),res.getResourceValue()); + + // web 资源 + if(!webLangMap.containsKey(res.getLanguageCode())){ + webLangMap.put(res.getLanguageCode(),new HashMap<>()); + } + // 放入资源信息 + webResMap = webLangMap.get(res.getLanguageCode()); + webResMap.put(res.getResourceKey(),res.getResourceValue()); + } + + for(String key : resMap.keySet()){ + //放入缓存 + redisRes.putHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE + key,resMap.get(key),0); + } + + for(String key : webLangMap.keySet()){ + //放入缓存 + redisRes.putHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE + key,webLangMap.get(key),0); + } + } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/CoreTreeService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/CoreTreeService.java index 9695b98..1c015b7 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/CoreTreeService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/CoreTreeService.java @@ -404,8 +404,19 @@ public class CoreTreeService implements ICoreTreeService { @Override @ApiOperation(value = "父节点检查",notes = "检查菜单的父节点是否是当前节点的子节点") public void doValidatorSysMenuParentId(SysMenu menu) { - findSysMenuChildrenTreePack(menu,0); - validatorSysMenuParentId(menu.getChildList(),menu.getParentId()); + if(menu != null){ + if(menu.getParentId().longValue() == menu.getId().longValue()){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("上级组织不能为当前系统功能") + .setErrorSolution("请重新操作") + .build(); + } + + findSysMenuChildrenTreePack(menu,0); + validatorSysMenuParentId(menu.getChildList(),menu.getParentId()); + } } @Override @@ -585,7 +596,7 @@ public class CoreTreeService implements ICoreTreeService { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("上级部门不能为子部门") + .setErrorDetail("上级部门不能为子目录") .setErrorSolution("请重新操作") .build(); } @@ -596,35 +607,38 @@ public class CoreTreeService implements ICoreTreeService { } private List findSysDepartmentCacheByHqlWhere(String hql){ - if(!StringUtils.isBlank(hql)){ - String redisKey = CommonConstWords.REDIS_PREFIX_CACHE_DEPARTMENT+ "_findCacheByHqlWhere" + "_" + hql.hashCode(); - List list = redisCore.getList(redisKey, 0, -1); - if(list == null){ - list = departmentRDao.findByHqlWhere(hql); - if(list != null){ - redisCore.putList(redisKey,list,CommonConstWords.REDIS_TIME_DAY_ONE); - } - } - return list; - }else { - return null; - } + return departmentRDao.findByHqlWhere(hql); +// if(!StringUtils.isBlank(hql)){ +// String redisKey = CommonConstWords.REDIS_PREFIX_CACHE_DEPARTMENT+ "_findCacheByHqlWhere" + "_" + hql.hashCode(); +// List list = redisCore.getList(redisKey, 0, -1); +// if(list == null){ +// list = departmentRDao.findByHqlWhere(hql); +// if(list != null){ +// redisCore.putList(redisKey,list,CommonConstWords.REDIS_TIME_DAY_ONE); +// } +// } +// return list; +// }else { +// return null; +// } } private List findSysOrganizeCacheByHqlWhere(String hql){ - if(!StringUtils.isBlank(hql)){ - String redisKey = CommonConstWords.REDIS_PREFIX_CACHE_ORGANIZE+ "_findCacheByHqlWhere" + "_" + hql.hashCode(); - List list = redisCore.getList(redisKey, 0, -1); - if(list == null){ - list = organizeRDao.findByHqlWhere(hql); - if(list != null){ - redisCore.putList(redisKey,list,CommonConstWords.REDIS_TIME_DAY_ONE); - } - } - return list; - }else { - return null; - } + return organizeRDao.findByHqlWhere(hql); + +// if(!StringUtils.isBlank(hql)){ +// String redisKey = CommonConstWords.REDIS_PREFIX_CACHE_ORGANIZE+ "_findCacheByHqlWhere" + "_" + hql.hashCode(); +// List list = redisCore.getList(redisKey, 0, -1); +// if(list == null){ +// list = organizeRDao.findByHqlWhere(hql); +// if(list != null){ +// redisCore.putList(redisKey,list,CommonConstWords.REDIS_TIME_DAY_ONE); +// } +// } +// return list; +// }else { +// return null; +// } } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/PersonnelServiceService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/PersonnelServiceService.java index 0e9818c..ae2de54 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/PersonnelServiceService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/PersonnelServiceService.java @@ -404,7 +404,7 @@ public class PersonnelServiceService implements IPersonnelService { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("["+positionList.get(0).getName()+"]存在相关岗位信息无法删除!") + .setErrorDetail("存在岗位信息["+positionList.get(0).getName()+"]无法删除!") .setErrorSolution("请先删除子集信息在操作") .build(); } @@ -422,7 +422,7 @@ public class PersonnelServiceService implements IPersonnelService { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("["+userInfoList.get(0).getName()+"]存在用户信息无法删除!") + .setErrorDetail("存在用户信息["+userInfoList.get(0).getName()+"]无法删除!") .setErrorSolution("请先删除用户引用信息再操作") .build(); } @@ -439,7 +439,7 @@ public class PersonnelServiceService implements IPersonnelService { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("["+departmentList.get(0).getName()+"]存在相关部门信息无法删除!") + .setErrorDetail("存在相关部门信息["+departmentList.get(0).getName()+"]无法删除!") .setErrorSolution("请先删除子集信息在操作") .build(); } @@ -457,7 +457,7 @@ public class PersonnelServiceService implements IPersonnelService { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("["+userInfoList.get(0).getName()+"]存在用户信息无法删除!") + .setErrorDetail("存在用户信息["+userInfoList.get(0).getName()+"]无法删除!") .setErrorSolution("请先删除用户引用信息再操作") .build(); } @@ -467,7 +467,7 @@ public class PersonnelServiceService implements IPersonnelService { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("["+userList.get(0).getUserLoginName()+"]存在账号信息无法删除!") + .setErrorDetail("存在账号信息["+userList.get(0).getUserLoginName()+"]无法删除!") .setErrorSolution("请先删除账号引用信息再操作") .build(); } @@ -484,7 +484,7 @@ public class PersonnelServiceService implements IPersonnelService { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("["+organizeList.get(0).getName()+"]存在相关组织信息无法删除!") + .setErrorDetail("存在相关组织信息["+organizeList.get(0).getName()+"]无法删除!") .setErrorSolution("请先删除子集信息在操作") .build(); } @@ -504,7 +504,7 @@ public class PersonnelServiceService implements IPersonnelService { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("["+departmentList.get(0).getName()+"]存在部门信息无法删除!") + .setErrorDetail("存在部门信息["+departmentList.get(0).getName()+"]无法删除!") .setErrorSolution("请先删除部门引用信息再操作") .build(); } @@ -514,7 +514,7 @@ public class PersonnelServiceService implements IPersonnelService { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("["+userInfoList.get(0).getName()+"]存在用户信息无法删除!") + .setErrorDetail("存在用户信息["+userInfoList.get(0).getName()+"]无法删除!") .setErrorSolution("请先删除用户引用信息再操作") .build(); } @@ -524,7 +524,7 @@ public class PersonnelServiceService implements IPersonnelService { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("["+userList.get(0).getUserLoginName()+"]存在账号信息无法删除!") + .setErrorDetail("存在账号信息["+userList.get(0).getUserLoginName()+"]无法删除!") .setErrorSolution("请先删除账号引用信息再操作") .build(); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysDictionaryService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysDictionaryService.java index 52f23bb..3ddda96 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysDictionaryService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysDictionaryService.java @@ -93,7 +93,7 @@ public class SysDictionaryService implements ISysDictionaryService { } // 数据反填 - SysDictionary newSysDict = sysDictionaryRDao.getById(sysDictionary.getParentId()); + SysDictionary newSysDict = sysDictionaryRDao.getById(sysDictionary.getId()); newSysDict.setName(sysDictionary.getName()); newSysDict.setDictionaryCode(sysDictionary.getDictionaryCode()); newSysDict.setParentId(sysDictionary.getParentId()); @@ -108,12 +108,12 @@ public class SysDictionaryService implements ISysDictionaryService { SysDictionary parentSysDictionary = sysDictionaryRDao.getById(sysDictionary.getParentId()); ValidatorBean.checkNotNull(parentSysDictionary); - sysDictionary.setParentNameRdd(parentSysDictionary.getName()); - sysDictionary.setParentCodeRdd(parentSysDictionary.getDictionaryCode()); + newSysDict.setParentNameRdd(parentSysDictionary.getName()); + newSysDict.setParentCodeRdd(parentSysDictionary.getDictionaryCode()); } - LOGGER.info("字典 SYS_DICTIONARY sysDictionary:{}",sysDictionary); - sysDictionaryRDao.update(sysDictionary); + LOGGER.info("字典 SYS_DICTIONARY sysDictionary:{}",newSysDict); + sysDictionaryRDao.update(newSysDict); } @Override @@ -157,6 +157,15 @@ public class SysDictionaryService implements ISysDictionaryService { @Override @ApiOperation(value = "批量删除字典") public void deleteSysDictionaryByIds(Long[] ids) { + if (sysDictionaryRDao.findByHqlWhereCount(CoreHqlPack.packHqlSysDictionaryByIdsAndIsDefault(ids)) > 0) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode()) + .setErrorDetail("默认字典不可删除") + .setErrorSolution("请重新选择") + .build(); + } + LOGGER.info("字典 SYS_DICTIONARY ids:{}", ids.toString()); sysDictionaryRDao.deleteByIds(ids); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysLocaleLanguageService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysLocaleLanguageService.java index 2ed87eb..2940db5 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysLocaleLanguageService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysLocaleLanguageService.java @@ -201,4 +201,9 @@ public class SysLocaleLanguageService implements ISysLocaleLanguageService { public List findSysLocaleLanguageByStatus(Integer status) { return sysLocaleLanguageRDao.findByProperty("languageStatus",status); } + + @Override + public SysLocaleLanguage getSysLocaleLanguageById(Long id) { + return sysLocaleLanguageRDao.getById(id); + } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysLocaleResourceService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysLocaleResourceService.java index 2362109..f1276eb 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysLocaleResourceService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysLocaleResourceService.java @@ -63,6 +63,7 @@ public class SysLocaleResourceService implements ISysLocaleResourceService { } @Override + @ApiOperation(value = "修改系统资源",notes = "修改系统资源") public void updateSysLocaleResource(SysLocaleResource sysLocaleResource) { LOGGER.info("系统资源 SYS_LOCALE_RESOURCE SysLocaleResource:{}",sysLocaleResource); String hqlPack = CoreHqlPack.packHqlSysLocaleResourceKey(sysLocaleResource); @@ -86,18 +87,21 @@ public class SysLocaleResourceService implements ISysLocaleResourceService { } @Override + @ApiOperation(value = "根据id删除系统资源",notes = "根据id删除系统资源") public void deleteSysLocaleResourceById(Long id) { LOGGER.info("系统资源 SYS_LOCALE_RESOURCE id:{}",id); sysLocaleResourceRDao.deleteById(id); } @Override + @ApiOperation(value = "查询全部系统资源",notes = "查询全部系统资源") public List listSysLocaleResource() { LOGGER.info("系统资源 SYS_LOCALE_RESOURCE list"); return sysLocaleResourceRDao.list(); } @Override + @ApiOperation(value = "系统资源复杂查询,分页,排序",notes = "系统资源复杂查询,分页,排序") public ListPager querySysLocaleResourceByPager(SysLocaleResource sysLocaleResource, Pager pager) { LOGGER.info("系统资源 SYS_LOCALE_RESOURCE SysLocaleResource:{},Pager:{}",sysLocaleResource,pager); if(sysLocaleResourceRDao == null) { @@ -111,13 +115,46 @@ public class SysLocaleResourceService implements ISysLocaleResourceService { } @Override + @ApiOperation(value = "根据id批量删除",notes = "根据id批量删除") public void deleteSysLocaleResourceByIds(Long[] ids) { LOGGER.info("系统资源 SYS_LOCALE_RESOURCE ids:{}",ids); sysLocaleResourceRDao.deleteByIds(ids); } @Override + @ApiOperation(value = "批量添加") public void insertSysLocaleResourceList(List sysLocaleResourcesList) { + // 添加校验 + SysLocaleResource sysLocaleResource = sysLocaleResourcesList.get(0); + LOGGER.info("系统资源 SYS_LOCALE_RESOURCE SysLocaleResource:{}",sysLocaleResource); + int count = sysLocaleResourceRDao.findByPropertyCount(new String[]{"languageCode","resourceKey"}, + new String[]{sysLocaleResource.getLanguageCode(),sysLocaleResource.getResourceKey()}); + if (count > 0){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode()) + .setErrorDetail("语言资源已存在") + .setErrorSolution("请重新输入语言代码与资源键") + .build(); + } + + // 设置语言名称冗余 + SysLocaleLanguage sysLocaleLanguage = sysLocaleLanguageRDao.getByProperty("languageCode", + sysLocaleResource.getLanguageCode()); + ValidatorBean.checkNotNull(sysLocaleLanguage,"选中的语言不存在"); + sysLocaleResource.setLanguageNameRdd(sysLocaleLanguage.getLanguageName()); + sysLocaleResourceRDao.saveAll(sysLocaleResourcesList); } + + @Override + @ApiOperation(value = "根据语言code和资源key查询资源") + public SysLocaleResource getSysLocaleResourceByLanguageCodeAndResKey(String languageCode,String resKey) { + return sysLocaleResourceRDao.getByProperty(new String[]{"languageCode","resourceKey"},new String[]{languageCode,resKey}); + } + + @Override + public SysLocaleResource getSysLocaleResourceById(Long id) { + return sysLocaleResourceRDao.getById(id); + } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysLogSystemService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysLogSystemService.java index 56fd50e..5f3dd0f 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysLogSystemService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysLogSystemService.java @@ -1,16 +1,15 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; import cn.estsh.i3plus.core.api.iservice.busi.ISysLogSystemService; -import cn.estsh.i3plus.core.apiservice.dao.ISysLogSystemDao; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.common.PagerHelper; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil; -import cn.estsh.i3plus.pojo.platform.bean.SysTool; import cn.estsh.i3plus.pojo.platform.platbean.SysLogSystem; import cn.estsh.i3plus.pojo.platform.platrepositorymongo.SysLogSystemRepository; import cn.estsh.i3plus.pojo.platform.sqlpack.CoreBsonPack; +import com.mongodb.client.model.Filters; import io.swagger.annotations.ApiOperation; import org.bson.conversions.Bson; import org.slf4j.Logger; @@ -19,7 +18,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; -import java.util.Map; /** * @Description : 系统日志服务接口实现 @@ -71,8 +69,9 @@ public class SysLogSystemService implements ISysLogSystemService { @Override @ApiOperation(value = "删除日志",notes = "删除日志") - public void deleteSysLogSystemById(Long id) { - logSystemRDao.deleteById(id); + public long deleteSysLogSystemById(Long id) { + Bson bson = Filters.eq("id",id); + return logSystemRDao.deleteByProperty(bson); } @Override @@ -102,7 +101,14 @@ public class SysLogSystemService implements ISysLogSystemService { } @Override - public void deleteSysLogSystemByIds(Long[] ids) { - logSystemRDao.deleteByIds(ids); + @ApiOperation(value = "系统日志批量删除",notes = "系统日志批量删除") + public long deleteSysLogSystemByIds(Long[] ids) { + return logSystemRDao.deleteByIds(ids); + } + + @Override + @ApiOperation(value = "系统日志按id区间查询",notes = "系统日志按id区间查询") + public List findSysLogSystemByIdInterval(long min, long max) { + return logSystemRDao.findByBson(CoreBsonPack.packBsonByInterval("_id",min,max)); } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysOrganizeService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysOrganizeService.java index 5c7986a..ba67e42 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysOrganizeService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysOrganizeService.java @@ -116,7 +116,7 @@ public class SysOrganizeService implements ISysOrganizeService { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("["+list.get(0).getName()+"]存在相关组织信息无法删除!") + .setErrorDetail("["+list.get(0).getParentNameRdd()+"]存在相关组织信息无法删除!") .setErrorSolution("请先删除子集信息在操作") .build(); }else { diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysRoleService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysRoleService.java index 9b5050f..7fdf82f 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysRoleService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysRoleService.java @@ -228,6 +228,15 @@ public class SysRoleService implements ISysRoleService { } @Override + public List findSysRoleByInIdAndStatus(Long[] ids, Integer status) { + LOGGER.info("系统角色 SYS_ROLE findSysRoleByInIdAndStatus ids:{} , status:{}",ids,status); + StringBuffer findWhere = new StringBuffer(); + HqlPack.getInPack(StringUtils.join(ids,","),"id",findWhere); + HqlPack.getNumEqualPack(status,"roleStatus",findWhere); + return roleRDao.findByHqlWhere(findWhere.toString()); + } + + @Override @ApiOperation(value = "查信用户的所有角色信息",notes = "查信用户的所有角色信息") public List findSysRoleByUser(SysUser user) { LOGGER.info("系统角色 查询用户所有角色"); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysTaskCycleService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysTaskCycleService.java index 47152fb..46aec15 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysTaskCycleService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysTaskCycleService.java @@ -51,12 +51,13 @@ public class SysTaskCycleService implements ISysTaskCycleService { @Override @ApiOperation(value = "删除任务周期",notes = "根据id删除任务周期") public void deleteSysTaskCycleById(Long id) { - int refExpressionTriggerList = sysRefTaskCyclePlanRDao.findByPropertyCount("taskCycleId",id); - if(refExpressionTriggerList != 0){ + List refExpressionTriggerList = sysRefTaskCyclePlanRDao.findByProperty("taskCycleId",id); + if(refExpressionTriggerList.size() != 0){ throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("存在关联任务计划,无法删除") + .setErrorDetail("存在关联任务计划【" + refExpressionTriggerList.get(0).getTaskPlanName() + + refExpressionTriggerList.get(0).getTaskPlanGroupName() + "】,无法删除") .setErrorSolution("请重新选择") .build(); } @@ -98,6 +99,17 @@ public class SysTaskCycleService implements ISysTaskCycleService { @Override @ApiOperation(value = "根据id批量删除任务周期",notes = "根据id批量删除任务周期") public void deleteSysTaskCycleByIds(Long[] ids) { + List refExpressionTriggerList = sysRefTaskCyclePlanRDao.findByHqlWhere(CoreHqlPack.packHqlIds("taskCycleId",ids)); + if(refExpressionTriggerList.size() != 0){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("存在关联任务计划【" + refExpressionTriggerList.get(0).getTaskPlanName() + + refExpressionTriggerList.get(0).getTaskPlanGroupName() + "】,无法删除") + .setErrorSolution("请重新选择") + .build(); + } + sysTaskCycleRDao.deleteByIds(ids); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysTaskPlanService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysTaskPlanService.java index 7b8f361..673d3c3 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysTaskPlanService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysTaskPlanService.java @@ -23,6 +23,7 @@ import org.springframework.stereotype.Service; import java.text.ParseException; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.HashSet; import java.util.List; @@ -51,15 +52,15 @@ public class SysTaskPlanService implements ISysTaskPlanService { private Scheduler scheduler; @Override - @ApiOperation(value = "新增任务计划",notes = "新增任务计划") - public SysTaskPlan insertSysTaskPlan(SysTaskPlan sysTaskPlan, SysTaskCycle sysTaskCycle,SysTask sysTask){ + @ApiOperation(value = "新增任务计划", notes = "新增任务计划") + public SysTaskPlan insertSysTaskPlan(SysTaskPlan sysTaskPlan, SysTaskCycle sysTaskCycle, SysTask sysTask) { try { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 唯一校验 - JobKey jobKey = JobKey.jobKey(sysTaskPlan.getName(),sysTaskPlan.getGroupName()); - TriggerKey triggerKey = TriggerKey.triggerKey(sysTaskPlan.getName(),sysTaskPlan.getGroupName()); - if (sysTaskPlanRDao.isExitByProperty(new String[]{"name","groupName"},new String[]{sysTaskPlan.getName(),sysTaskPlan.getGroupName()}) - || scheduler.checkExists(jobKey) || scheduler.checkExists(triggerKey)){ + JobKey jobKey = JobKey.jobKey(sysTaskPlan.getName(), sysTaskPlan.getGroupName()); + TriggerKey triggerKey = TriggerKey.triggerKey(sysTaskPlan.getName(), sysTaskPlan.getGroupName()); + if (sysTaskPlanRDao.isExitByProperty(new String[]{"name", "groupName"}, new String[]{sysTaskPlan.getName(), sysTaskPlan.getGroupName()}) + || scheduler.checkExists(jobKey) || scheduler.checkExists(triggerKey)) { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode()) @@ -68,12 +69,14 @@ public class SysTaskPlanService implements ISysTaskPlanService { .build(); } + sysTaskPlan = sysTaskPlanRDao.insert(sysTaskPlan); + SysRefTaskCyclePlan refTaskCyclePlan = new SysRefTaskCyclePlan(); refTaskCyclePlan.setTaskCycleId(sysTaskCycle.getId()); + refTaskCyclePlan.setTaskPlanId(sysTaskPlan.getId()); refTaskCyclePlan.setTaskPlanName(sysTaskPlan.getName()); refTaskCyclePlan.setTaskPlanGroupName(sysTaskPlan.getGroupName()); - sysTaskPlan = sysTaskPlanRDao.insert(sysTaskPlan); // 添加表达式与触发器关系表 sysRefTaskCyclePlanRDao.insert(refTaskCyclePlan); @@ -86,7 +89,7 @@ public class SysTaskPlanService implements ISysTaskPlanService { .withDescription(sysTaskCycle.getTaskCycleDescription()) .withSchedule(schedBuilder) .startAt(sdf.parse(sysTaskCycle.getTaskCycleStartDatetime())); - if(sysTaskCycle.getTaskCycleEndDatetime() != null && sysTaskCycle.getTaskCycleEndDatetime().length() != 0){ + if (sysTaskCycle.getTaskCycleEndDatetime() != null && sysTaskCycle.getTaskCycleEndDatetime().length() != 0) { trigger = trigger.endAt(sdf.parse(sysTaskCycle.getTaskCycleEndDatetime())); } @@ -114,11 +117,11 @@ public class SysTaskPlanService implements ISysTaskPlanService { .setErrorDetail("定时任务包名及类名不正确") .setErrorSolution("请重新输入定时任务包名及类名") .build(); - } catch (RuntimeException e){ + } catch (RuntimeException e) { String message; - if(e.getMessage().indexOf("CronExpression") == 0){ + if (e.getMessage().indexOf("CronExpression") == 0) { message = "时间周期表达式错误"; - }else { + } else { message = e.getMessage(); } throw ImppExceptionBuilder.newInstance() @@ -131,15 +134,15 @@ public class SysTaskPlanService implements ISysTaskPlanService { } @Override - @ApiOperation(value = "修改任务计划",notes = "修改任务计划") + @ApiOperation(value = "修改任务计划", notes = "修改任务计划") public void updateSysTaskPlan(SysTaskPlan sysTaskPlan, SysTaskCycle sysTaskCycle) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SysTaskPlan oldSysTaskPlan = sysTaskPlanRDao.getById(sysTaskPlan.getId()); // 更新关系表 - sysRefTaskCyclePlanRDao.updateByProperties(new String[]{"taskPlanName","taskPlanGroupName"}, - new String[]{oldSysTaskPlan.getName(),oldSysTaskPlan.getGroupName()}, + sysRefTaskCyclePlanRDao.updateByProperties(new String[]{"taskPlanName", "taskPlanGroupName"}, + new String[]{oldSysTaskPlan.getName(), oldSysTaskPlan.getGroupName()}, "taskCycleId", oldSysTaskPlan.getTaskCycleId() ); @@ -149,7 +152,7 @@ public class SysTaskPlanService implements ISysTaskPlanService { sysTaskPlanRDao.update(sysTaskPlan); try { - TriggerKey triggerKey = TriggerKey.triggerKey(oldSysTaskPlan.getName(),oldSysTaskPlan.getGroupName()); + TriggerKey triggerKey = TriggerKey.triggerKey(oldSysTaskPlan.getName(), oldSysTaskPlan.getGroupName()); if (!scheduler.checkExists(triggerKey)) { throw ImppExceptionBuilder.newInstance() @@ -169,7 +172,7 @@ public class SysTaskPlanService implements ISysTaskPlanService { .withDescription(sysTaskCycle.getTaskCycleDescription()) .withSchedule(schedBuilder) .startAt(sdf.parse(sysTaskCycle.getTaskCycleStartDatetime())); - if(sysTaskCycle.getTaskCycleEndDatetime() != null && !"".equals(sysTaskCycle.getTaskCycleEndDatetime())){ + if (sysTaskCycle.getTaskCycleEndDatetime() != null && !"".equals(sysTaskCycle.getTaskCycleEndDatetime())) { trigger = trigger.endAt(sdf.parse(sysTaskCycle.getTaskCycleEndDatetime())); } @@ -198,9 +201,9 @@ public class SysTaskPlanService implements ISysTaskPlanService { } @Override - @ApiOperation(value = "修改任务计划状态",notes = "修改任务计划状态") + @ApiOperation(value = "修改任务计划状态", notes = "修改任务计划状态") public void updateSysTaskPlanStatus(Long id, int status, SessionUser user) { - LOGGER.info("定时任务 SYS_MENU id:{} status:{} user:{}", id,status,user); + LOGGER.info("定时任务 SYS_MENU id:{} status:{} user:{}", id, status, user); SysTaskPlan sysTaskPlan = sysTaskPlanRDao.getById(id); sysTaskPlan.setTaskPlanStatus(status); sysTaskPlan.setModifyUser(user.getUserName()); @@ -217,7 +220,7 @@ public class SysTaskPlanService implements ISysTaskPlanService { .build(); } - if (status == CommonEnumUtil.DATA_STATUS.ENABLE.getValue()){ + if (status == CommonEnumUtil.DATA_STATUS.ENABLE.getValue()) { scheduler.resumeTrigger(triggerKey); } else { scheduler.pauseTrigger(triggerKey); @@ -233,19 +236,19 @@ public class SysTaskPlanService implements ISysTaskPlanService { public void deleteSysTaskPlanById(Long id) { try { SysTaskPlan sysTaskPlan = sysTaskPlanRDao.getById(id); - ValidatorBean.checkNotNull(sysTaskPlan,"定时任务不存在"); + ValidatorBean.checkNotNull(sysTaskPlan, "定时任务不存在"); sysTaskPlanRDao.deleteById(id); // 删除关系表数据 - sysRefTaskCyclePlanRDao.deleteByProperties(new String[]{"taskPlanName","taskPlanGroupName"}, - new Object[]{sysTaskPlan.getName(),sysTaskPlan.getGroupName()}); + sysRefTaskCyclePlanRDao.deleteByProperties(new String[]{"taskPlanName", "taskPlanGroupName"}, + new Object[]{sysTaskPlan.getName(), sysTaskPlan.getGroupName()}); - TriggerKey triggerKey = TriggerKey.triggerKey(sysTaskPlan.getName(),sysTaskPlan.getGroupName()); - if(scheduler.checkExists(triggerKey)){ + TriggerKey triggerKey = TriggerKey.triggerKey(sysTaskPlan.getName(), sysTaskPlan.getGroupName()); + if (scheduler.checkExists(triggerKey)) { scheduler.pauseTrigger(triggerKey); scheduler.unscheduleJob(triggerKey); - }else { + } else { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode()) @@ -268,28 +271,28 @@ public class SysTaskPlanService implements ISysTaskPlanService { } @Override - @ApiOperation(value = "根据id查询任务计划数据",notes = "根据id查询任务计划数据") + @ApiOperation(value = "根据id查询任务计划数据", notes = "根据id查询任务计划数据") public SysTaskPlan getSysTaskPlanById(Long id) { return sysTaskPlanRDao.getById(id); } @Override - @ApiOperation(value = "任务计划复杂查询,分页,排序",notes = "任务计划复杂查询,分页,排序") + @ApiOperation(value = "任务计划复杂查询,分页,排序", notes = "任务计划复杂查询,分页,排序") public ListPager querySysTaskPlanByPager(SysTaskPlan sysTaskPlan, Pager pager) { - if(sysTaskPlan == null) { + if (sysTaskPlan == null) { pager = PagerHelper.getPager(pager, sysTaskPlanRDao.listCount()); - return new ListPager(sysTaskPlanRDao.listPager(pager),pager); - }else { + return new ListPager(sysTaskPlanRDao.listPager(pager), pager); + } else { String hqlPack = CoreHqlPack.packHqlSysTaskPlan(sysTaskPlan); pager = PagerHelper.getPager(pager, sysTaskPlanRDao.findByHqlWhereCount(hqlPack)); - return new ListPager(sysTaskPlanRDao.findByHqlWherePage(hqlPack + sysTaskPlan.orderBy(),pager),pager); + return new ListPager(sysTaskPlanRDao.findByHqlWherePage(hqlPack + sysTaskPlan.orderBy(), pager), pager); } } @Override - @ApiOperation(value = "立即执行任务计划",notes = "立即执行任务计划") + @ApiOperation(value = "立即执行任务计划", notes = "立即执行任务计划") public void executeSysTaskPlan(SysTaskPlan sysTaskPlan) { - JobKey jobKey = JobKey.jobKey(sysTaskPlan.getName(),sysTaskPlan.getGroupName()); + JobKey jobKey = JobKey.jobKey(sysTaskPlan.getName(), sysTaskPlan.getGroupName()); try { if (scheduler.checkExists(jobKey)) { scheduler.triggerJob(jobKey); @@ -310,24 +313,74 @@ public class SysTaskPlanService implements ISysTaskPlanService { } @Override - @ApiOperation(value = "查询任务计划",notes = "根据任务计划名称与组名称查询") + @ApiOperation(value = "查询任务计划", notes = "根据任务计划名称与组名称查询") public SysTaskPlan getSysTaskPlanByNameAndGroup(String name, String groupName) { - List sysTaskPlanList = sysTaskPlanRDao.findByProperty(new String[]{"name","groupName"},new Object[]{name,groupName}); - if (sysTaskPlanList != null && sysTaskPlanList.size() != 0){ + List sysTaskPlanList = sysTaskPlanRDao.findByProperty(new String[]{"name", "groupName"}, new Object[]{name, groupName}); + if (sysTaskPlanList != null && sysTaskPlanList.size() != 0) { return sysTaskPlanList.get(0); } return null; } @Override - @ApiOperation(value = "添加定时任务执行日志",notes = "添加定时任务执行日志") + @ApiOperation(value = "添加定时任务执行日志", notes = "添加定时任务执行日志") public void logInsertSysLogTaskTime(SysLogTaskTime sysLogTaskTime) { sysLogTaskTimeRDao.insert(sysLogTaskTime); } @Override - @ApiOperation(value = "修改定时任务信息",notes = "修改定时任务信息,不会更新quartz数据库") + @ApiOperation(value = "修改定时任务信息", notes = "修改定时任务信息,不会更新quartz数据库") public void updateSysTaskPlan(SysTaskPlan sysTaskPlan) { sysTaskPlanRDao.update(sysTaskPlan); } + + @Override + @ApiOperation(value = "批量删除任务计划信息", notes = "批量删除任务计划信息") + public void deleteSysTaskPlanByIds(Long[] ids) { + try { + List sysTaskPlan = sysTaskPlanRDao.findByHqlWhere(CoreHqlPack.packHqlIds("id", ids)); + List triggerKeyList = new ArrayList<>(); + + //数据校验 + if (sysTaskPlan == null || sysTaskPlan.size() == 0) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode()) + .setErrorDetail("任务计划不存在") + .setErrorSolution("请重新选择任务计划") + .build(); + } else { + for (int i = 0; i < sysTaskPlan.size(); i++) { + triggerKeyList.add(TriggerKey.triggerKey(sysTaskPlan.get(i).getName(), sysTaskPlan.get(i).getGroupName())); + } + } + + sysTaskPlanRDao.deleteByIds(ids); + + // 删除关系表数据 + sysRefTaskCyclePlanRDao.deleteByPropertyIn("taskPlanId", ids); + + // 检查定时人计划是否存在,并暂停 + for (TriggerKey trigger : triggerKeyList) { + if (scheduler.checkExists(trigger)) { + scheduler.pauseTrigger(trigger); + } else { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode()) + .setErrorDetail("定时任务不存在") + .setErrorSolution("请重新选择") + .build(); + } + } + + // 取消调度任务 + scheduler.unscheduleJobs(triggerKeyList); + } catch (SchedulerException e) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.TASK_EXCEPTION.getCode()) + .build(); + } + } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysTaskService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysTaskService.java index 508c23f..cc7caa4 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysTaskService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysTaskService.java @@ -5,6 +5,7 @@ import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.common.PagerHelper; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.base.tool.HqlPack; import cn.estsh.i3plus.pojo.platform.bean.SysTask; import cn.estsh.i3plus.pojo.platform.repository.SysTaskPlanRepository; import cn.estsh.i3plus.pojo.platform.repository.SysTaskRepository; @@ -40,13 +41,44 @@ public class SysTaskService implements ISysTaskService { @Override @ApiOperation(value = "添加任务",notes = "添加任务") public SysTask insertSysTask(SysTask sysTask) { + if(sysTaskRDao.findByPropertyCount("name",sysTask.getName()) > 0){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("任务名称不能相同") + .setErrorSolution("请重新输入") + .build(); + } + return sysTaskRDao.insert(sysTask); } @Override @ApiOperation(value = "修改任务信息",notes = "修改任务信息") public void updateSysTask(SysTask sysTask) { - sysTaskRDao.update(sysTask); + // 业务校验,不能重名 + StringBuffer sb = new StringBuffer(); + HqlPack.getStringEqualPack(sysTask.getName(),"name",sb); + HqlPack.getNumNOEqualPack(sysTask.getId(),"id",sb); + + if(sysTaskRDao.findByHqlWhereCount(sb.toString()) > 0){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("任务名称不能相同") + .setErrorSolution("请重新输入") + .build(); + } + + SysTask newSysTask = sysTaskRDao.getById(sysTask.getId()); + newSysTask.setName(sysTask.getName()); + newSysTask.setTaskPackage(sysTask.getTaskPackage()); + newSysTask.setTaskClass(sysTask.getTaskClass()); + newSysTask.setTaskDescription(sysTask.getTaskDescription()); + newSysTask.setModifyDatetime(sysTask.getModifyDatetime()); + newSysTask.setModifyUser(sysTask.getModifyUser()); + + sysTaskRDao.update(newSysTask); // 修改冗余信息 sysTaskPlanRDao.updateByProperties("taskId",sysTask.getId(), "taskNameRdd",sysTask.getName()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysToolService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysToolService.java index 44a0cc8..66dcc19 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysToolService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysToolService.java @@ -46,21 +46,22 @@ public class SysToolService implements ISysToolService { @ApiOperation(value = "新增硬件信息") public SysTool insertSysTool(SysTool tool) { // 查询硬件类型名称 - LOGGER.info("硬件类型 TOOL_TYPE :{}", tool); - SysToolType toolType = toolTypeRDao.getById(tool.getToolTypeId()); - ValidatorBean.checkNotNull(toolType); - - tool.setToolTypeNameRdd(toolType.getName()); - - LOGGER.info("硬件 TOOL tool:{}",tool); + //todo 压测关闭校验提高处理速度 +// LOGGER.info("硬件类型 TOOL_TYPE :{}", tool); +// SysToolType toolType = toolTypeRDao.getById(tool.getToolTypeId()); +// ValidatorBean.checkNotNull(toolType); +// +// tool.setToolTypeNameRdd(toolType.getName()); +// +// LOGGER.info("硬件 TOOL tool:{}",tool); return toolRDao.insert(tool); } @Override @ApiOperation(value = "删除硬件信息",notes = "根据 ID 删除硬件信息") - public void deleteSysToolById(Long id) { + public int deleteSysToolById(Long id) { LOGGER.info("硬件 TOOL id:{}",id); - toolRDao.deleteById(id); + return toolRDao.deleteByProperty("id",id); } @Override @@ -71,15 +72,29 @@ public class SysToolService implements ISysToolService { SysToolType toolType = toolTypeRDao.getById(tool.getToolTypeId()); ValidatorBean.checkNotNull(toolType); - tool.setToolTypeNameRdd(toolType.getName()); - - LOGGER.info("硬件 TOOL :{}",tool); - toolRDao.update(tool); + 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); } @Override public void insertBatch(int num,int waitTime){ - testDao.insertBatch(num,waitTime); + try { + testDao.insertBatch(num,waitTime); + Thread.sleep(waitTime); + } catch (InterruptedException e) { + e.printStackTrace(); + } } @Override @@ -119,22 +134,27 @@ public class SysToolService implements ISysToolService { @Override @ApiOperation(value = "删除硬件信息",notes = "根据 ID 批量删除硬件信息") - public void deleteSysToolByIds(Long[] ids) { + public int deleteSysToolByIds(Long[] ids) { LOGGER.info("消息 SYS_MESSAGE ids:{}", Arrays.toString(ids)); - toolRDao.deleteByIds(ids); + return toolRDao.deleteByIds(ids); } @Override @ApiOperation(value = "更新设备信息",notes = "根据 ID 批量修改硬件状态信息") - public void updateSysToolStatusByIds(Long[] ids, Integer status) { + public int updateSysToolStatusByIds(Long[] ids, Integer status) { LOGGER.info("硬件 TOOL ids:{},status:{}",ids,status); StringBuffer where = new StringBuffer(); HqlPack.getInPack(StringUtils.join( ids,","), "id", where); - toolRDao.updateByHqlWhere(where.toString(), "toolStatus", status); + return toolRDao.updateByHqlWhere(where.toString(), "toolStatus", status); } public List findSysToolByTop(int topNum) { return toolRDao.findByHqlTopWhere("",topNum); } + + @Override + public List findSysToolByIdInterval(long min, long max) { + return toolRDao.findByHqlWhere(CoreHqlPack.packHqlByInterval("id",min,max)); + } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/ExcelUtil.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/ExcelUtil.java index e1945f9..c07d7c6 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/ExcelUtil.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/ExcelUtil.java @@ -423,7 +423,7 @@ public class ExcelUtil { for (SysFile sysFile:fileList) { letter.append(""); letter.append(sysFile.getFileOriginalName()); - letter.append(""); + letter.append("
"); } // 消息提示 diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/MailUtil.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/MailUtil.java index 11ffc87..364b979 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/MailUtil.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/MailUtil.java @@ -170,8 +170,7 @@ public class MailUtil { /** * 发送邮件 */ - public void send() { - try { + public void send() throws UnsupportedEncodingException, MessagingException { Properties server = new Properties(); server.put("mail.smtp.port", String.valueOf(this.smtpPort)); server.put("mail.smtp.host", this.smtpHost); @@ -201,6 +200,9 @@ public class MailUtil { msg.setSubject( MimeUtility.encodeText(this.title, MimeUtility.mimeCharset("gb2312"), null)); msg.setSubject(this.title); + // 消息主体内容 处理 + this.content = this.content == null ? "" : this.content; + msg.setContent(this.content, this.content_type); msg.saveChanges(); @@ -213,12 +215,5 @@ public class MailUtil { Transport.send(msg, msg.getAllRecipients()); } LOGGER.info("邮件发送成功"); - } catch (javax.mail.internet.AddressException e) { - e.printStackTrace(); - } catch (MessagingException e) { - e.printStackTrace(); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/OrderNoMakeUtil.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/OrderNoMakeUtil.java index ba90f91..3dca8cb 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/OrderNoMakeUtil.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/OrderNoMakeUtil.java @@ -3,6 +3,7 @@ package cn.estsh.i3plus.core.apiservice.util; import cn.estsh.i3plus.platform.common.util.PlatformConstWords; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.platform.bean.SysOrderNoRule; +import com.alibaba.fastjson.JSON; import java.text.MessageFormat; import java.text.SimpleDateFormat; @@ -20,6 +21,7 @@ public class OrderNoMakeUtil { StringBuilder orderNo = new StringBuilder(orderNoRule.getOrderNoRule()); String[] dateTime = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss").format(System.currentTimeMillis()).split("-"); + // 单号表达式 replace(orderNo, PlatformConstWords.YEAR, dateTime[0]); replace(orderNo, PlatformConstWords.MONTH, dateTime[1]); replace(orderNo, PlatformConstWords.DAY, dateTime[2]); @@ -27,14 +29,15 @@ public class OrderNoMakeUtil { replace(orderNo, PlatformConstWords.MINUTE, dateTime[4]); replace(orderNo, PlatformConstWords.SECOND, dateTime[5]); - // 流水号长度补全 - String serialNumberFormatStr = MessageFormat.format(PlatformConstWords.SERIAL_NO_FORMAT, orderNoRule.getSerialNoLength()); + // 流水号长度补全表达式 + String serialNoFormatStr = MessageFormat.format(PlatformConstWords.SERIAL_NO_FORMAT, orderNoRule.getSerialNoLength()); + // 判断是否首次生成(SerialNo初始值-1) if (orderNoRule.getSerialNo() > 0) { - Long serialNo = orderNoRule.getSerialNo() + orderNoRule.getSerialNoIncrement(); - // 达到最大值后循环或继续 - if(orderNoRule.getSerialNoLength().intValue() < String.valueOf(serialNo).length() - && orderNoRule.getIsCycle() == CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()){ + String newNo = orderNo.substring(0,orderNo.indexOf(PlatformConstWords.SERIAL_NO)); + String oldNo = orderNoRule.getOrderNo().substring(0,orderNo.indexOf(PlatformConstWords.SERIAL_NO)); + // 前缀(日期)不同后是否重置流水号 + if(!newNo.equals(oldNo) && orderNoRule.getIsCycle() == CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()){ orderNoRule.setSerialNo(orderNoRule.getSerialNoSeed()); } else { orderNoRule.setSerialNo(orderNoRule.getSerialNo() + orderNoRule.getSerialNoIncrement()); @@ -42,7 +45,7 @@ public class OrderNoMakeUtil { } else { orderNoRule.setSerialNo(orderNoRule.getSerialNoSeed()); } - replace(orderNo, PlatformConstWords.SERIAL_NO, String.format(serialNumberFormatStr, orderNoRule.getSerialNo())); + replace(orderNo, PlatformConstWords.SERIAL_NO, String.format(serialNoFormatStr, orderNoRule.getSerialNo())); orderNoRule.setOrderNo(orderNo.toString()); return orderNoRule; diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/websocket/TestMain.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/websocket/TestMain.java index 3c4a74d..fe7fc2d 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/websocket/TestMain.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/websocket/TestMain.java @@ -1,5 +1,6 @@ package cn.estsh.i3plus.core.apiservice.websocket; +import org.apache.commons.lang.StringEscapeUtils; import org.apache.commons.lang3.RandomStringUtils; /** @@ -13,5 +14,7 @@ public class TestMain { public static void main(String[] args) { System.out.println(RandomStringUtils.random(15, true, false)); + +// StringEscapeUtils.escapeHtml(); } } diff --git a/modules/i3plus-core-apiservice/src/main/resources/application-dev.properties b/modules/i3plus-core-apiservice/src/main/resources/application-dev.properties index ba14679..caa9081 100644 --- a/modules/i3plus-core-apiservice/src/main/resources/application-dev.properties +++ b/modules/i3plus-core-apiservice/src/main/resources/application-dev.properties @@ -3,13 +3,13 @@ server.port=8100 #本机ip impp.server.ip=192.168.1.56 #console控制台服务(zipkin追踪全路径) -impp.console.ip=http://csd.estsh.com +impp.console.ip=http://192.168.1.56:8010 ################ 功能配置1 ################ #若无法连接注册中心,是否需要一直检测加入 impp.cluster.fetch=true #服务注册中心 -impp.cluster.regist.center=http://regd.estsh.com/eureka/ +impp.cluster.regist.center=http://192.168.1.56:8000/eureka/ #多注册中心 #impp.cluster.regist.center=http://192.168.1.20:8000/eureka/,http://192.168.1.20:8001/eureka/ diff --git a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/mq/TestMQ.java b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/mq/TestMQ.java new file mode 100644 index 0000000..62b9b5c --- /dev/null +++ b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/mq/TestMQ.java @@ -0,0 +1,50 @@ +package cn.estsh.i3plus.core.apiservice.mq; + +import cn.estsh.i3plus.core.apiservice.serviceimpl.busi.TestBase; +import cn.estsh.i3plus.core.apiservice.util.MailUtil; +import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil; +import cn.estsh.i3plus.pojo.platform.bean.SysMessage; +import org.junit.Test; +import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * @Description : + * @Reference : + * @Author : yunhao + * @CreateDate : 2018-11-15 13:22 + * @Modify: + **/ +public class TestMQ extends TestBase { + + /** + * rabbitMQ队列 + */ + @Autowired + private RabbitTemplate rabbitTemplate; + + @Autowired + private MailUtil mailUtil; + + @Test + public void sendMail() throws InterruptedException { + + SysMessage sysMessage = new SysMessage(); + sysMessage.setMessageTitle("test-系统通知"); + sysMessage.setMessageSenderNameRdd("system"); + sysMessage.setMessageSenderId(-1L); + sysMessage.setMessageType(ImppEnumUtil.MESSAGE_TYPE.MAIL.getValue()); + sysMessage.setMessageSendTime("2018-11-01 16:58:00"); + + for (int i = 0; i < 50; i++) { + sysMessage = new SysMessage(); + sysMessage.setId(null); + sysMessage.setMessageTitle( i + "mail测试"); + sysMessage.setMessageSenderNameRdd(i+""); + rabbitTemplate.convertAndSend("WYH_MESSAGE_QUEUE", new SysMessage()); + System.out.println("第" + i + "次"); + } + + } + +} diff --git a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/ArraySort.java b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/ArraySort.java new file mode 100644 index 0000000..5d501bb --- /dev/null +++ b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/ArraySort.java @@ -0,0 +1,34 @@ +package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; + +/** + * @Description : + * @Reference : + * @Author : alwaysfrin + * @CreateDate : 2018-11-09 10:00 + * @Modify: + **/ +public class ArraySort implements Runnable { + + private String num; + + public ArraySort(int num){ + this.num = num + ""; + } + + public static void main(String[] args){ + int[] num = {11,3,9,5,1,4,15}; + for(int i=0;i " + i); + fileWriter("E:\\test\\test.txt", "Hello World !~ -> " + i); + } + } + +// public static void fileWriter(String fileName, String txt) throws Exception { +// PrintStream fileStream = new PrintStream(new File(fileName)); +// fileStream.println(txt); +// } + + + 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(); + } + } + +} diff --git a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestBase.java b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestBase.java new file mode 100644 index 0000000..d806e8f --- /dev/null +++ b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestBase.java @@ -0,0 +1,80 @@ +package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; + +import cn.estsh.i3plus.core.apiservice.auth.realm.UserAuthRealm; +import cn.estsh.i3plus.pojo.base.shirotoken.UserToken; +import cn.estsh.i3plus.pojo.platform.bean.SessionUser; +import cn.estsh.impp.framework.boot.auth.AuthUtil; +import cn.estsh.impp.framework.boot.util.SpringContextsUtil; +import cn.estsh.impp.framework.run.ImppGo; +import org.apache.shiro.SecurityUtils; +import org.apache.shiro.mgt.DefaultSecurityManager; +import org.apache.shiro.session.mgt.DefaultSessionContext; +import org.apache.shiro.session.mgt.SessionContext; +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.test.context.junit4.SpringRunner; + +/** + * @Description : + * @Reference : + * @Author : Adair Peng + * @CreateDate : 2018-12-13 10:00 + * @Modify: + **/ +@RunWith(SpringRunner.class) +@SpringBootTest(classes = ImppGo.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +@AutoConfigureMockMvc +public class TestBase { + + public static final String JSON_SESSION_USER = "{\"languageCode\":\"zh\",\"user\":{\"ascOrDesc\":1,\"id\":400001,\"isValid\":1,\"menuList\":[],\"orderByParam\":\"\",\"roleList\":[],\"userEmail\":\"wei.peng@estsh.com\",\"userInfoId\":300001,\"userLoginLastDateTime\":\"2018-12-13 14:52:09\",\"userLoginName\":\"admin\",\"userLoginNum\":170,\"userLoginPassword\":\"e10adc3949ba59abbe56e057f20f883e\",\"userName\":\"系统管理员\",\"userPhone\":\"18507256660\",\"userStatus\":1,\"userType\":1},\"userCode\":\"100001\",\"userId\":300001,\"userInfo\":{\"ascOrDesc\":1,\"department\":{\"ascOrDesc\":1,\"createDatetime\":\"2018-12-10 15:52:38\",\"createUser\":\"系统管理员\",\"departmentCode\":\"10001\",\"id\":1072036353472073728,\"isDeleted\":2,\"isValid\":1,\"modifyDatetime\":\"2018-12-10 15:52:38\",\"modifyUser\":\"系统管理员\",\"name\":\"闵行一部\",\"orderByParam\":\"\",\"organizeId\":1072033924571598848,\"organizeNameRdd\":\"闵行车轮工厂\",\"parentId\":-1,\"parentNameRdd\":\"顶级部门\"},\"departmentId\":1072036353472073728,\"departmentList\":[{\"ascOrDesc\":1,\"createDatetime\":\"2018-12-10 15:52:38\",\"createUser\":\"系统管理员\",\"departmentCode\":\"10001\",\"id\":1072036353472073728,\"isDeleted\":2,\"isValid\":1,\"modifyDatetime\":\"2018-12-10 15:52:38\",\"modifyUser\":\"系统管理员\",\"name\":\"闵行一部\",\"orderByParam\":\"\",\"organizeId\":1072033924571598848,\"organizeNameRdd\":\"闵行车轮工厂\",\"parentId\":-1,\"parentNameRdd\":\"顶级部门\"},{\"ascOrDesc\":1,\"createDatetime\":\"2018-12-10 15:52:52\",\"createUser\":\"系统管理员\",\"departmentCode\":\"10002\",\"id\":1072036412234272768,\"isDeleted\":2,\"isValid\":1,\"modifyDatetime\":\"2018-12-10 15:52:52\",\"modifyUser\":\"系统管理员\",\"name\":\"闵行二部\",\"orderByParam\":\"\",\"organizeId\":1072033995035906048,\"organizeNameRdd\":\"闵行车门工厂\",\"parentId\":-1,\"parentNameRdd\":\"顶级部门\"},{\"ascOrDesc\":1,\"createDatetime\":\"2018-12-10 15:53:07\",\"createUser\":\"系统管理员\",\"departmentCode\":\"10003\",\"id\":1072036474448384000,\"isDeleted\":2,\"isValid\":1,\"modifyDatetime\":\"2018-12-10 15:53:07\",\"modifyUser\":\"系统管理员\",\"name\":\"浦东一部\",\"orderByParam\":\"\",\"organizeId\":1072034176548605952,\"organizeNameRdd\":\"浦东车窗工厂\",\"parentId\":-1,\"parentNameRdd\":\"顶级部门\"},{\"ascOrDesc\":1,\"createDatetime\":\"2018-12-10 15:53:26\",\"createUser\":\"系统管理员\",\"departmentCode\":\"10004\",\"id\":1072036552160448512,\"isDeleted\":2,\"isValid\":1,\"modifyDatetime\":\"2018-12-10 15:53:26\",\"modifyUser\":\"系统管理员\",\"name\":\"浦东二部\",\"orderByParam\":\"\",\"organizeId\":1072034276020719616,\"organizeNameRdd\":\"浦东发动机工厂\",\"parentId\":-1,\"parentNameRdd\":\"顶级部门\"},{\"ascOrDesc\":1,\"createDatetime\":\"2018-12-10 15:54:42\",\"createUser\":\"系统管理员\",\"departmentCode\":\"10005\",\"id\":1072036873070841856,\"isDeleted\":2,\"isValid\":1,\"modifyDatetime\":\"2018-12-10 15:54:52\",\"modifyUser\":\"系统管理员\",\"name\":\"浙江AD部\",\"orderByParam\":\"\",\"organizeId\":1072034411442212864,\"organizeNameRdd\":\"浙江AD钙工厂\",\"parentId\":-1,\"parentNameRdd\":\"顶级部门\"},{\"ascOrDesc\":1,\"createDatetime\":\"2018-12-10 15:55:05\",\"createUser\":\"系统管理员\",\"departmentCode\":\"10006\",\"id\":1072036970013790208,\"isDeleted\":2,\"isValid\":1,\"modifyDatetime\":\"2018-12-10 15:55:05\",\"modifyUser\":\"系统管理员\",\"name\":\"江苏一部\",\"orderByParam\":\"\",\"organizeId\":1072034525309177856,\"organizeNameRdd\":\"江苏爽歪歪工厂\",\"parentId\":-1,\"parentNameRdd\":\"顶级部门\"},{\"ascOrDesc\":1,\"createDatetime\":\"2018-12-10 15:55:48\",\"createUser\":\"系统管理员\",\"departmentCode\":\"10007\",\"id\":1072037153732694016,\"isDeleted\":2,\"isValid\":1,\"modifyDatetime\":\"2018-12-10 15:55:48\",\"modifyUser\":\"系统管理员\",\"name\":\"闵行一部一组\",\"orderByParam\":\"\",\"organizeId\":1072033924571598848,\"organizeNameRdd\":\"闵行车轮工厂\",\"parentId\":1072036353472073728,\"parentNameRdd\":\"闵行一部\"},{\"ascOrDesc\":1,\"createDatetime\":\"2018-12-10 15:56:08\",\"createUser\":\"系统管理员\",\"departmentCode\":\"10008\",\"id\":1072037232132624384,\"isDeleted\":2,\"isValid\":1,\"modifyDatetime\":\"2018-12-10 15:56:08\",\"modifyUser\":\"系统管理员\",\"name\":\"闵行二部一组\",\"orderByParam\":\"\",\"organizeId\":1072033995035906048,\"organizeNameRdd\":\"闵行车门工厂\",\"parentId\":1072036412234272768,\"parentNameRdd\":\"闵行二部\"},{\"ascOrDesc\":1,\"createDatetime\":\"2018-12-10 20:43:11\",\"createUser\":\"系统管理员\",\"departmentCode\":\"10010\",\"id\":1072109473407045632,\"isDeleted\":2,\"isValid\":1,\"modifyDatetime\":\"2018-12-10 20:43:11\",\"modifyUser\":\"系统管理员\",\"name\":\"东尚总部\",\"orderByParam\":\"\",\"organizeId\":1072028266539388928,\"organizeNameRdd\":\"东尚集团\",\"parentId\":-1,\"parentNameRdd\":\"顶级部门\"},{\"ascOrDesc\":1,\"createDatetime\":\"2018-12-10 20:43:37\",\"createUser\":\"系统管理员\",\"departmentCode\":\"20010\",\"id\":1072109580340826112,\"isDeleted\":2,\"isValid\":1,\"modifyDatetime\":\"2018-12-10 20:43:37\",\"modifyUser\":\"系统管理员\",\"name\":\"娃哈哈总部\",\"orderByParam\":\"\",\"organizeId\":1072033577438416896,\"organizeNameRdd\":\"娃哈哈集团\",\"parentId\":-1,\"parentNameRdd\":\"顶级部门\"}],\"departmentNameRdd\":\"闵行一部\",\"departmentNamesRdd\":\"闵行一部,闵行二部,浦东一部,浦东二部,浙江AD部,江苏一部,闵行一部一组,闵行二部一组,东尚总部,娃哈哈总部\",\"id\":300001,\"isValid\":1,\"modifyDatetime\":\"2018-12-12 16:34:45\",\"modifyUser\":\"系统管理员\",\"name\":\"系统管理员\",\"orderByParam\":\"\",\"organize\":{\"ascOrDesc\":1,\"createDatetime\":\"2018-12-10 15:42:59\",\"createUser\":\"系统管理员\",\"id\":1072033924571598848,\"isDeleted\":2,\"isValid\":1,\"modifyDatetime\":\"2018-12-10 15:42:59\",\"modifyUser\":\"系统管理员\",\"name\":\"闵行车轮工厂\",\"orderByParam\":\"\",\"organizeCode\":\"10004\",\"organizeType\":3,\"parentId\":1072032375745155072,\"parentNameRdd\":\"闵行公司\"},\"organizeId\":1072033924571598848,\"organizeList\":[{\"ascOrDesc\":1,\"createDatetime\":\"2018-12-10 15:42:59\",\"createUser\":\"系统管理员\",\"id\":1072033924571598848,\"isDeleted\":2,\"isValid\":1,\"modifyDatetime\":\"2018-12-10 15:42:59\",\"modifyUser\":\"系统管理员\",\"name\":\"闵行车轮工厂\",\"orderByParam\":\"\",\"organizeCode\":\"10004\",\"organizeType\":3,\"parentId\":1072032375745155072,\"parentNameRdd\":\"闵行公司\"},{\"ascOrDesc\":1,\"createDatetime\":\"2018-12-10 15:43:16\",\"createUser\":\"系统管理员\",\"id\":1072033995035906048,\"isDeleted\":2,\"isValid\":1,\"modifyDatetime\":\"2018-12-10 15:43:16\",\"modifyUser\":\"系统管理员\",\"name\":\"闵行车门工厂\",\"orderByParam\":\"\",\"organizeCode\":\"10005\",\"organizeType\":3,\"parentId\":1072032375745155072,\"parentNameRdd\":\"闵行公司\"},{\"ascOrDesc\":1,\"createDatetime\":\"2018-12-10 15:43:59\",\"createUser\":\"系统管理员\",\"id\":1072034176548605952,\"isDeleted\":2,\"isValid\":1,\"modifyDatetime\":\"2018-12-10 15:43:59\",\"modifyUser\":\"系统管理员\",\"name\":\"浦东车窗工厂\",\"orderByParam\":\"\",\"organizeCode\":\"10006\",\"organizeType\":3,\"parentId\":1072033520731426816,\"parentNameRdd\":\"浦东公司\"},{\"ascOrDesc\":1,\"createDatetime\":\"2018-12-10 15:44:23\",\"createUser\":\"系统管理员\",\"id\":1072034276020719616,\"isDeleted\":2,\"isValid\":1,\"modifyDatetime\":\"2018-12-10 15:44:23\",\"modifyUser\":\"系统管理员\",\"name\":\"浦东发动机工厂\",\"orderByParam\":\"\",\"organizeCode\":\"10007\",\"organizeType\":3,\"parentId\":1072033520731426816,\"parentNameRdd\":\"浦东公司\"},{\"ascOrDesc\":1,\"createDatetime\":\"2018-12-10 15:44:55\",\"createUser\":\"系统管理员\",\"id\":1072034411442212864,\"isDeleted\":2,\"isValid\":1,\"modifyDatetime\":\"2018-12-12 15:47:10\",\"modifyUser\":\"系统管理员\",\"name\":\"浙江AD钙工厂\",\"orderByParam\":\"\",\"organizeCode\":\"20004\",\"organizeSort\":999999999,\"organizeType\":3,\"parentId\":1072033722552946688,\"parentNameRdd\":\"浙江娃哈哈有限公司\"},{\"ascOrDesc\":1,\"createDatetime\":\"2018-12-10 15:45:22\",\"createUser\":\"系统管理员\",\"id\":1072034525309177856,\"isDeleted\":2,\"isValid\":1,\"modifyDatetime\":\"2018-12-12 15:47:57\",\"modifyUser\":\"系统管理员\",\"name\":\"江苏爽歪歪工厂\",\"orderByParam\":\"\",\"organizeCode\":\"20005\",\"organizeSort\":222222222,\"organizeType\":3,\"parentId\":1072033806300614656,\"parentNameRdd\":\"江苏娃哈哈有限公司\"}],\"organizeNameRdd\":\"闵行车轮工厂\",\"position\":{\"ascOrDesc\":1,\"createDatetime\":\"2018-12-10 16:07:07\",\"createUser\":\"系统管理员\",\"id\":1072039995872776192,\"isDeleted\":2,\"isValid\":1,\"modifyDatetime\":\"2018-12-12 15:22:50\",\"modifyUser\":\"系统管理员\",\"name\":\"Java开发工程师\",\"orderByParam\":\"\",\"parentId\":1072039995872776192,\"parentNameRdd\":\"Java开发工程师\",\"positionCode\":\"10001\"},\"positionId\":1072039995872776192,\"positionList\":[{\"ascOrDesc\":1,\"createDatetime\":\"2018-12-10 16:20:17\",\"createUser\":\"系统管理员\",\"id\":1072043310375374848,\"isDeleted\":2,\"isValid\":1,\"modifyDatetime\":\"2018-12-10 16:20:17\",\"modifyUser\":\"系统管理员\",\"name\":\"运维工程师\",\"orderByParam\":\"\",\"parentId\":-1,\"parentNameRdd\":\"顶级岗位\",\"positionCode\":\"10002\"},{\"ascOrDesc\":1,\"createDatetime\":\"2018-12-10 16:20:31\",\"createUser\":\"系统管理员\",\"id\":1072043370869821440,\"isDeleted\":2,\"isValid\":1,\"modifyDatetime\":\"2018-12-12 15:22:34\",\"modifyUser\":\"系统管理员\",\"name\":\"Android 开发工程师\",\"orderByParam\":\"\",\"parentId\":-1,\"parentNameRdd\":\"顶级岗位\",\"positionCode\":\"10003\"},{\"ascOrDesc\":1,\"createDatetime\":\"2018-12-10 16:20:50\",\"createUser\":\"系统管理员\",\"id\":1072043447055159296,\"isDeleted\":2,\"isValid\":1,\"modifyDatetime\":\"2018-12-10 16:20:50\",\"modifyUser\":\"系统管理员\",\"name\":\"数据库运维\",\"orderByParam\":\"\",\"parentId\":1072043310375374848,\"parentNameRdd\":\"运维工程师\",\"positionCode\":\"10004\"},{\"ascOrDesc\":1,\"createDatetime\":\"2018-12-10 16:21:38\",\"createUser\":\"系统管理员\",\"id\":1072043651225489408,\"isDeleted\":2,\"isValid\":1,\"modifyDatetime\":\"2018-12-10 16:21:38\",\"modifyUser\":\"系统管理员\",\"name\":\"部署工程师\",\"orderByParam\":\"\",\"parentId\":1072043310375374848,\"parentNameRdd\":\"运维工程师\",\"positionCode\":\"10006\"}],\"positionNameRdd\":\"Java开发工程师\",\"positionNamesRdd\":\"运维工程师,Android 开发工程师,数据库运维,部署工程师\",\"user\":{\"$ref\":\"$.user\"},\"userAge\":110,\"userEmpNo\":\"100001\",\"userImageId\":1072104117033373696,\"userInfoStatus\":1,\"userLoginLastDateTime\":\"2018-12-13 14:52:09\",\"userLoginNum\":170},\"userName\":\"系统管理员\",\"userType\":\"普通用户\"}\n"; + + @Before + public void before() { + System.out.println("----------------->> 注入登录用户 <<-----------------"); + SessionContext sessionContext = new DefaultSessionContext(); + sessionContext.setHost("localhost"); + + UserAuthRealm userAuthRealm = (UserAuthRealm) SpringContextsUtil.getBean(UserAuthRealm.class); + org.apache.shiro.mgt.SecurityManager securityManager = new DefaultSecurityManager(userAuthRealm); + SecurityUtils.setSecurityManager(securityManager); + securityManager.start(sessionContext); + + UserToken token = new UserToken("login_name", "login_pwd", "zh"); +// SessionUser sessionUser = AuthUtil.login(token); +// AuthUtil.setSessionUser(sessionUser); + System.out.println("----------------->> 开始测试 <<-----------------"); + } + + @After + public void after() { + System.out.println("----------------->> 测试结束 <<-----------------"); + + } + +} +// +//@Component +//class UserAuthRealm extends AuthorizingRealm { +// +// public UserAuthRealm() { +// //添加支持的token +// this.setAuthenticationTokenClass(UserToken.class); +// } +// +// @Override +// protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) { +// return new SimpleAuthorizationInfo(); +// } +// +// @Override +// protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException { +// SessionUser user = JSON.parseObject(TestBase.JSON_SESSION_USER, SessionUser.class); +// return new SimpleAuthenticationInfo(user, ((UserToken) authenticationToken).getLoginPwd(), this.getName()); +// } +// +//} +// + diff --git a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestDepartmentService.java b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestDepartmentService.java new file mode 100644 index 0000000..c330bce --- /dev/null +++ b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestDepartmentService.java @@ -0,0 +1,118 @@ +//package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; +// +//import cn.estsh.i3plus.core.api.iservice.busi.IDepartmentService; +//import cn.estsh.i3plus.pojo.base.bean.ListPager; +//import cn.estsh.i3plus.pojo.base.common.Pager; +//import cn.estsh.i3plus.pojo.platform.bean.Department; +//import cn.estsh.i3plus.pojo.platform.bean.Organize; +//import com.alibaba.fastjson.JSON; +//import org.junit.Test; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.test.annotation.Rollback; +// +//import javax.transaction.Transactional; +//import java.util.List; +// +///** +// * @Description : 岗位信息测试 +// * @Reference : +// * @Author : wei.peng +// * @Date : 2018-10-29 19:02 +// * @Modify : +// **/ +//public class TestDepartmentService extends TestBase { +// +// @Autowired +// private IDepartmentService departmentService; +// +// /** +// * 新增数据 +// */ +// @Test +// @Transactional +// public void testInsertDepartment(){ +// for(int i = 0 ; i < 50 ; i++ ){ +// Department obj = new Department(); +// obj.setName("Junit Test " + i); +// obj.setDepartmentCode("DEV_JUNIT " + i); +// obj.setParentId(1057165194242953216L); +// obj.setOrganizeId(1057163974900060160L); +// obj = departmentService.insertDepartment(obj); +// System.out.println(JSON.toJSONString(obj)); +// } +// } +// +// /** +// * 根据Key 数据 +// * @return +// */ +// @Test +// @Transactional +// public void testGetDepartmentById(){ +// Department obj = departmentService.getDepartmentById("1057163974900060160"); +// System.out.println(JSON.toJSONString(obj)); +// } +// +// /** +// * 查询所有数据 +// * +// * @return +// */ +// @Test +// @Transactional +// public void testListDepartment(){ +// List list = departmentService.listDepartment(); +// System.out.println(JSON.toJSONString(list)); +// } +// +// /** +// * 根据岗位信息进行查找 +// * @return +// */ +// @Test +// @Transactional +// public void testFindDepartmentByPager(){ +// Organize obj = new Organize(); +// +// Pager pager = new Pager(); +// pager.setPageSize(10); +// pager.setCurrentPage(1); +// +// ListPager list = departmentService.queryDepartment(null, pager); +// +// System.out.println(JSON.toJSONString(list)); +// } +// +// /** +// * 修改数据 +// */ +// @Test +// @Transactional +// public void testUpdateDepartment(){ +// Department obj = departmentService.getDepartmentById("1057108586410414080"); +// obj.setName("Junit update Name "); +// departmentService.updateDepartment(obj); +// System.out.println(JSON.toJSONString(obj)); +// } +// +// /** +// * 根据Key 删除数据 +// */ +// @Test +// @Transactional +// public void testDeleteDepartmentById(){ +//// departmentService.deleteOrganizeById(""); +// } +// +// /** +// * 根据id批量删除岗位 +// * @return +// */ +// @Test +// @Transactional +// public void deleteDepartmentByIds(){ +//// departmentService.deleteOrganizeByIds(new String[]{"1057108585445724160","1057108585760296960"}); +// } +// +// +//} diff --git a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestExcelOrderNoRule.java b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestExcelOrderNoRule.java new file mode 100644 index 0000000..2d527bf --- /dev/null +++ b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestExcelOrderNoRule.java @@ -0,0 +1,96 @@ +package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;//package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; + +import cn.estsh.i3plus.pojo.platform.bean.*; +import cn.estsh.i3plus.pojo.platform.repository.*; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; + +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; + +/** + * @Description : + * @Reference : + * @Author : yunhao + * @CreateDate : 2018-11-22 11:01 + * @Modify: + **/ +public class TestExcelOrderNoRule extends TestBase { + + public static final Logger LOGGER = LoggerFactory.getLogger(TestExcelOrderNoRule.class); + + // 文件路径 + public static final String PATH_NAME = "init/oder-no-rule.xlsx"; + // 权限Sheet 名称 + public static final String SHEET_ORDER_NO_RULE = "order-no-rule"; + + @Autowired + private SysOrderNoRuleRepository sysOrderNoRuleRDao; + + @Test + public void testInit() throws Exception { + XSSFWorkbook workbook = getWorkbook(PATH_NAME); + if(workbook != null){ + XSSFSheet sheetOrderNoRule = workbook.getSheet(SHEET_ORDER_NO_RULE); + + List ysOrderNoRuleList = getSysOrderNoRule(sheetOrderNoRule); + + LOGGER.info("System Init SysOrderNoRule Size:{}",ysOrderNoRuleList.size()); + + sysOrderNoRuleRDao.saveAll(ysOrderNoRuleList); + } + } + + public List getSysOrderNoRule(XSSFSheet sheet){ + List result = new ArrayList<>(); + if(sheet != null){ + if(sheet.getLastRowNum() >= 1){ + SysOrderNoRule obj = null; + for (int i = 1; i <= sheet.getLastRowNum(); i++) { + try { + Row row = sheet.getRow(i);//获取索引为i的行,以0开始 + if(row.getCell(0).toString().trim().length() > 0){ + obj = new SysOrderNoRule(); + obj.setId(Long.parseLong(row.getCell(0).getStringCellValue())); + obj.setName(row.getCell(1).getStringCellValue()); + obj.setOrderNoRuleCode(row.getCell(2).getStringCellValue()); + obj.setOrderNoRule(row.getCell(3).getStringCellValue()); + obj.setSerialNoSeed(Long.parseLong(row.getCell(4).getStringCellValue())); + obj.setSerialNoIncrement(Long.parseLong(row.getCell(5).getStringCellValue())); + obj.setSerialNoLength(Long.parseLong(row.getCell(6).getStringCellValue())); + obj.setIsCycle(Integer.parseInt(row.getCell(7).getStringCellValue())); + obj.setOrderNoRuleDescription(row.getCell(8).getStringCellValue()); + obj.setOrderNoRuleStatus(1); + obj.setSerialNo(-1L); + obj.setIsValid(1); + + result.add(obj); + } + }catch (Exception e){ + LOGGER.error("Excel Sheet Name :{} Index:{} DataType Error", sheet.getSheetName(), i); + } + } + } + } + return result; + } + + public XSSFWorkbook getWorkbook(String pathName){ + try { + InputStream in = TestExcelPermission.class.getClassLoader().getResourceAsStream(pathName); + XSSFWorkbook workbook = new XSSFWorkbook(in); + return workbook; + }catch (Exception e){ + LOGGER.error(" System Init Sys Data Excel Error file path {} error message :{}",pathName,e.getMessage()); + e.getMessage(); + return null; + } + } + +} diff --git a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestExcelPermission.java b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestExcelPermission.java new file mode 100644 index 0000000..55718e7 --- /dev/null +++ b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestExcelPermission.java @@ -0,0 +1,260 @@ +package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; + +import cn.estsh.i3plus.platform.common.tool.EncryptTool; +import cn.estsh.i3plus.pojo.platform.bean.*; +import cn.estsh.i3plus.pojo.platform.repository.*; +import com.alibaba.fastjson.JSON; +import io.swagger.models.auth.In; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.ss.usermodel.WorkbookFactory; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.jdom2.Document; +import org.jdom2.JDOMException; +import org.jdom2.input.SAXBuilder; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; + +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; + +/** + * 系统数据初始化 + */ +public class TestExcelPermission extends TestBase { +//public class TestExcelPermission { + + public static final Logger LOGGER = LoggerFactory.getLogger(TestExcelPermission.class); + + // 文件路径 + public static final String PATH_NAME = "init/permission.xlsx"; + // 权限Sheet 名称 + public static final String SHEET_NAME_MENU = "menu"; + public static final String SHEET_NAME_ROLE = "role"; + public static final String SHEET_NAME_USER_INFO = "user-info"; + public static final String SHEET_NAME_USER = "user"; + + @Autowired + private SysUserRepository sysUserRdao; + + @Autowired + private SysUserInfoRepository userInfoRDao; + + @Autowired + private SysMenuRepository menuRdao; + + @Autowired + private SysRoleRepository roleRDao; + + @Autowired + private SysRefRoleMenuRepository refRoleMenuRDao; + + @Test + public void testInit() throws Exception { + XSSFWorkbook workbook = getWorkbook(PATH_NAME); + if(workbook != null){ + XSSFSheet sheetMenu = workbook.getSheet(SHEET_NAME_MENU); + XSSFSheet sheetRole = workbook.getSheet(SHEET_NAME_ROLE); + XSSFSheet sheetUserInfo = workbook.getSheet(SHEET_NAME_USER_INFO); + XSSFSheet sheetUser = workbook.getSheet(SHEET_NAME_USER); + + List menus = getSysMenu(sheetMenu); + List roles = getSysRole(sheetRole); + List userInfos = getSysUserInfo(sheetUserInfo); + List users = getSysUser(sheetUser); + + List refRoleMenu = getRefRoleMenu(menus, roles); + + LOGGER.info("System Init SysMenu Size:{}",menus.size()); + LOGGER.info("System Init SysRole Size:{}",roles.size()); + LOGGER.info("System Init SysUserInfo Size:{}",userInfos.size()); + LOGGER.info("System Init SysUser Size:{}",users.size()); + LOGGER.info("System Init SysRefRoleMenu Size:{}",refRoleMenu.size()); + + sysUserRdao.saveAll(users); + userInfoRDao.saveAll(userInfos); + menuRdao.saveAll(menus); + roleRDao.saveAll(roles); + refRoleMenuRDao.saveAll(refRoleMenu); + } + } + + public List getRefUserRole(List users,List roles){ + List result = new ArrayList<>(); + if(users != null && roles != null){ + SysRefUserRole ref = null; + for (SysUser user : users) { + for (SysRole role : roles) { + ref = new SysRefUserRole(); + ref.setRoleId(role.getId()); + ref.setRoleNameRdd(role.getName()); + ref.setUserId(user.getId()); + ref.setUserNameRdd(user.getUserName()); + result.add(ref); + } + } + } + return result; + } + + public List getRefRoleMenu(List menus,List roles){ + List result = new ArrayList<>(); + if(menus != null && roles != null){ + SysRefRoleMenu ref = null; + for (SysMenu menu : menus) { + for (SysRole role : roles) { + ref = new SysRefRoleMenu(); + ref.setRoleId(role.getId()); + ref.setRoleNameRdd(role.getName()); + ref.setMenuId(menu.getId()); + ref.setMenuNameRdd(menu.getName()); + ref.setMenuTypeRdd(menu.getMenuType()); + result.add(ref); + } + } + } + return result; + } + + public List getSysUser(XSSFSheet sheet){ + List result = new ArrayList<>(); + if(sheet != null){ + if(sheet.getLastRowNum() >= 1){ + SysUser obj = null; + for (int i = 1; i <= sheet.getLastRowNum(); i++) { + try { + Row row = sheet.getRow(i);//获取索引为i的行,以0开始 + if(row.getCell(0).toString().trim().length() > 0){ + obj = new SysUser(); + String md5 = EncryptTool.hexMD5(row.getCell(2).toString()); + obj.setId(Long.parseLong(row.getCell(0).getStringCellValue())); + obj.setUserLoginName(row.getCell(1).getStringCellValue()); + obj.setUserLoginPassword(md5); + obj.setUserEmail(row.getCell(3).getStringCellValue()); + obj.setUserPhone(row.getCell(4).getStringCellValue()); + obj.setUserInfoId(Long.parseLong(row.getCell(5).getStringCellValue())); + obj.setUserName(row.getCell(6).getStringCellValue()); + obj.setIsValid(1); + obj.setUserStatus(1); + obj.setUserType(1); + obj.setUserLoginNum(0); + + result.add(obj); + } + }catch (Exception e){ + LOGGER.error("Excel Sheet Name :{} Index:{} DataType Error", sheet.getSheetName(), i); + } + } + } + } + return result; + } + + public List getSysUserInfo(XSSFSheet sheet){ + List result = new ArrayList<>(); + if(sheet != null){ + if(sheet.getLastRowNum() >= 1){ + SysUserInfo obj = null; + for (int i = 1; i <= sheet.getLastRowNum(); i++) { + try { + Row row = sheet.getRow(i);//获取索引为i的行,以0开始 + if(row.getCell(0).toString().trim().length() > 0){ + obj = new SysUserInfo(); + obj.setId(Long.parseLong(row.getCell(0).getStringCellValue())); + obj.setName(row.getCell(1).getStringCellValue()); + obj.setUserEmpNo(row.getCell(2).getStringCellValue()); + obj.setUserLoginNum(0); + obj.setIsValid(1); + obj.setUserInfoStatus(1); + + result.add(obj); + } + }catch (Exception e){ + LOGGER.error("Excel Sheet Name :{} Index:{} DataType Error", sheet.getSheetName(), i); + } + } + } + } + return result; + } + + public List getSysRole(XSSFSheet sheet){ + List result = new ArrayList<>(); + if(sheet != null){ + if(sheet.getLastRowNum() >= 1){ + SysRole role = null; + for (int i = 1; i <= sheet.getLastRowNum(); i++) { + try { + Row row = sheet.getRow(i);//获取索引为i的行,以0开始 + if(row.getCell(0).toString().trim().length() > 0){ + role = new SysRole(); + role.setId(Long.parseLong(row.getCell(0).getStringCellValue())); + role.setName(row.getCell(1).getStringCellValue()); + role.setRoleDescription(row.getCell(2).getStringCellValue()); + role.setRoleStatus(1); + role.setIsValid(1); + + result.add(role); + } + }catch (Exception e){ + LOGGER.error("Excel Sheet Name :{} Index:{} DataType Error", sheet.getSheetName(), i); + } + } + } + } + return result; + } + + public List getSysMenu(XSSFSheet sheet){ + List result = new ArrayList<>(); + if(sheet != null){ + if(sheet.getLastRowNum() >= 1){ + SysMenu menu = null; + for (int i = 1; i <= sheet.getLastRowNum(); i++) { + try { + Row row = sheet.getRow(i);//获取索引为i的行,以0开始 + if(row.getCell(0).toString().trim().length() > 0){ + menu = new SysMenu(); + menu.setId(Long.parseLong(row.getCell(0).getStringCellValue())); + menu.setMenuType(Integer.parseInt(row.getCell(1).getStringCellValue())); + menu.setMenuCode(row.getCell(2).getStringCellValue()); + menu.setName(row.getCell(3).getStringCellValue()); + menu.setParentId(Long.parseLong(row.getCell(4).getStringCellValue())); + menu.setParentNameRdd(row.getCell(5).getStringCellValue()); + menu.setMenuDescription(row.getCell(6).getStringCellValue()); + menu.setMenuStatus(Integer.parseInt(row.getCell(7).getStringCellValue())); + menu.setCreateUser("System Init"); + menu.setMenuUrl(row.getCell(9).getStringCellValue()); + menu.setMenuCss(row.getCell(10).getStringCellValue()); + menu.setMenuIcon(row.getCell(11).getStringCellValue()); + + result.add(menu); + } + }catch (Exception e){ + LOGGER.error("Excel Sheet Name :{} Index:{} DataType Error", sheet.getSheetName(), i); + } + } + } + } + return result; + } + + public XSSFWorkbook getWorkbook(String pathName){ + try { + InputStream in = TestExcelPermission.class.getClassLoader().getResourceAsStream(pathName); + XSSFWorkbook workbook = new XSSFWorkbook(in); + return workbook; + }catch (Exception e){ + LOGGER.error(" System Init Sys Data Excel Error file path {} error message :{}",pathName,e.getMessage()); + e.getMessage(); + return null; + } + } + +} diff --git a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestExcelSysConfig.java b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestExcelSysConfig.java new file mode 100644 index 0000000..11ccac1 --- /dev/null +++ b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestExcelSysConfig.java @@ -0,0 +1,207 @@ +package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; + +import cn.estsh.i3plus.pojo.platform.bean.*; +import cn.estsh.i3plus.pojo.platform.repository.SysConfigRepository; +import cn.estsh.i3plus.pojo.platform.repository.SysDictionaryRepository; +import cn.estsh.i3plus.pojo.platform.repository.SysLocaleLanguageRepository; +import cn.estsh.i3plus.pojo.platform.repository.SysLocaleResourceRepository; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; + +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; + +/** + * @Description : + * @Reference : + * @Author : yunhao + * @CreateDate : 2018-11-22 11:01 + * @Modify: + **/ +public class TestExcelSysConfig extends cn.estsh.i3plus.core.apiservice.serviceimpl.busi.TestBase { + + public static final Logger LOGGER = LoggerFactory.getLogger(cn.estsh.i3plus.core.apiservice.serviceimpl.busi.TestExcelPermission.class); + + // 文件路径 + public static final String PATH_NAME = "init/sys-config.xlsx"; + // 权限Sheet 名称 + public static final String SHEET_SYS_CONFIG = "sys-config"; + public static final String SHEET_DICTIONARY = "dictionary"; + public static final String SHEET_LANGUAGE = "language"; + public static final String SHEET_RESOURCE = "resource"; + + @Autowired + private SysConfigRepository sysConfigRDao; + @Autowired + private SysDictionaryRepository sysDictionaryRDao; + @Autowired + private SysLocaleLanguageRepository sysLocaleLanguageRDao; + @Autowired + private SysLocaleResourceRepository sysLocaleResourceRDao; + + @Test + public void testInit() throws Exception { + XSSFWorkbook workbook = getWorkbook(PATH_NAME); + if(workbook != null){ + XSSFSheet sheetSysConfig = workbook.getSheet(SHEET_SYS_CONFIG); + XSSFSheet sheetDictionary = workbook.getSheet(SHEET_DICTIONARY); + XSSFSheet sheetLanguage = workbook.getSheet(SHEET_LANGUAGE); + XSSFSheet sheetResource = workbook.getSheet(SHEET_RESOURCE); + + List sysConfigList = getSysConfig(sheetSysConfig); + List sysDictionaryList = getSysDictionary(sheetDictionary); + List sysLocaleLanguageList = getSysLocaleLanguage(sheetLanguage); + List sysLocaleResourceList= getSysLocaleResource(sheetResource); + + LOGGER.info("System Init SysConfig Size:{}",sysConfigList.size()); + LOGGER.info("System Init SysDictionary Size:{}",sysDictionaryList.size()); + LOGGER.info("System Init SysLocaleLanguage Size:{}",sysLocaleLanguageList.size()); + LOGGER.info("System Init SysLocaleResource Size:{}",sysLocaleResourceList.size()); + + sysConfigRDao.saveAll(sysConfigList); + sysDictionaryRDao.saveAll(sysDictionaryList); + sysLocaleLanguageRDao.saveAll(sysLocaleLanguageList); + sysLocaleResourceRDao.saveAll(sysLocaleResourceList); + } + } + + public List getSysConfig(XSSFSheet sheet){ + List result = new ArrayList<>(); + if(sheet != null){ + if(sheet.getLastRowNum() >= 1){ + SysConfig obj = null; + for (int i = 1; i <= sheet.getLastRowNum(); i++) { + try { + Row row = sheet.getRow(i);//获取索引为i的行,以0开始 + if(row.getCell(0).toString().trim().length() > 0){ + obj = new SysConfig(); + obj.setId(Long.parseLong(row.getCell(0).getStringCellValue())); + obj.setName(row.getCell(1).getStringCellValue()); + obj.setConfigType(Integer.valueOf(row.getCell(2).getStringCellValue())); + obj.setConfigCode(row.getCell(3).getStringCellValue()); + obj.setConfigValue(row.getCell(4).getStringCellValue()); + obj.setConfigDescription(row.getCell(5).getStringCellValue()); + obj.setIsValid(1); + + result.add(obj); + } + }catch (Exception e){ + LOGGER.error("Excel Sheet Name :{} Index:{} DataType Error", sheet.getSheetName(), i); + } + } + } + } + return result; + } + + public List getSysDictionary(XSSFSheet sheet){ + List result = new ArrayList<>(); + if(sheet != null){ + if(sheet.getLastRowNum() >= 1){ + SysDictionary obj = null; + for (int i = 1; i <= sheet.getLastRowNum(); i++) { + try { + Row row = sheet.getRow(i);//获取索引为i的行,以0开始 + if(row.getCell(0).toString().trim().length() > 0){ + obj = new SysDictionary(); + obj.setId(Long.parseLong(row.getCell(0).getStringCellValue())); + obj.setName(row.getCell(1).getStringCellValue()); + obj.setDictionaryCode(row.getCell(2).getStringCellValue()); + obj.setParentId(Long.valueOf(row.getCell(3).getStringCellValue())); + obj.setParentNameRdd(row.getCell(4).getStringCellValue()); + obj.setParentCodeRdd(row.getCell(5).getStringCellValue()); + obj.setDictionaryValue(row.getCell(6).getStringCellValue()); + obj.setDictionarySort(Integer.valueOf(row.getCell(7).getStringCellValue())); + obj.setDictionaryDescription(row.getCell(8).getStringCellValue()); + obj.setIsValid(1); + + result.add(obj); + } + }catch (Exception e){ + LOGGER.error("Excel Sheet Name :{} Index:{} DataType Error", sheet.getSheetName(), i); + } + } + } + } + return result; + } + + public List getSysLocaleLanguage(XSSFSheet sheet){ + List result = new ArrayList<>(); + if(sheet != null){ + if(sheet.getLastRowNum() >= 1){ + SysLocaleLanguage obj = null; + for (int i = 1; i <= sheet.getLastRowNum(); i++) { + try { + Row row = sheet.getRow(i);//获取索引为i的行,以0开始 + if(row.getCell(0).toString().trim().length() > 0){ + obj = new SysLocaleLanguage(); + obj.setId(Long.parseLong(row.getCell(0).getStringCellValue())); + obj.setLanguageName(row.getCell(1).getStringCellValue()); + obj.setLanguageCode(row.getCell(2).getStringCellValue()); + obj.setLanguageSort(Integer.valueOf(row.getCell(3).getStringCellValue())); + obj.setIsDefault(Integer.valueOf(row.getCell(4).getStringCellValue())); + obj.setLanguageStatus(Integer.valueOf(row.getCell(5).getStringCellValue())); + obj.setIsValid(1); + + result.add(obj); + } + }catch (Exception e){ + LOGGER.error("Excel Sheet Name :{} Index:{} DataType Error", sheet.getSheetName(), i); + } + } + } + } + return result; + } + + public List getSysLocaleResource(XSSFSheet sheet){ + List result = new ArrayList<>(); + if(sheet != null){ + if(sheet.getLastRowNum() >= 1){ + SysLocaleResource obj = null; + for (int i = 1; i <= sheet.getLastRowNum(); i++) { + try { + Row row = sheet.getRow(i);//获取索引为i的行,以0开始 + if(row.getCell(0).toString().trim().length() > 0){ + obj = new SysLocaleResource(); + obj.setId(Long.parseLong(row.getCell(0).getStringCellValue())); + obj.setResourceType(Integer.valueOf(row.getCell(1).getStringCellValue())); + obj.setLanguageCode(row.getCell(2).getStringCellValue()); + obj.setLanguageNameRdd(row.getCell(3).getStringCellValue()); + obj.setResourceKey(row.getCell(4).getStringCellValue()); + obj.setResourceValue(row.getCell(5).getStringCellValue()); + obj.setIsSystem(Integer.valueOf(row.getCell(6).getStringCellValue())); + obj.setIsValid(1); + + result.add(obj); + } + }catch (Exception e){ + LOGGER.error("Excel Sheet Name :{} Index:{} DataType Error", sheet.getSheetName(), i); + } + } + } + } + return result; + } + + + public XSSFWorkbook getWorkbook(String pathName){ + try { + InputStream in = cn.estsh.i3plus.core.apiservice.serviceimpl.busi.TestExcelPermission.class.getClassLoader().getResourceAsStream(pathName); + XSSFWorkbook workbook = new XSSFWorkbook(in); + return workbook; + }catch (Exception e){ + LOGGER.error(" System Init Sys Data Excel Error file path {} error message :{}",pathName,e.getMessage()); + e.getMessage(); + return null; + } + } + +} diff --git a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestMain.java b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestMain.java new file mode 100644 index 0000000..bb1db82 --- /dev/null +++ b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestMain.java @@ -0,0 +1,45 @@ +package test.cn.estsh.i3plus.core.apiservice.serviceimpl.busi; + +/** + * @Description : + * @Reference : + * @Author : Adair Peng + * @CreateDate : 2019-02-27 1:24 + * @Modify: + **/ +public class TestMain { + static int a ; + int b; + static int c; + + public int setT(){ + a++; + return a; + } + + public int setT2(){ + b++; + return b; + } + + public int setT3(){ + c++; + return c; + } + + public static void main(String[] args) { + TestMain t1 = new TestMain(); + TestMain t2 = new TestMain(); + TestMain t3 = new TestMain(); + + t1.setT(); + System.out.println(t1.setT()); + + t2.setT2(); + System.out.println(t2.setT2()); + + t3.setT3(); + System.out.println(t3.setT3()); + + } +} diff --git a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestMathOper.java b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestMathOper.java new file mode 100644 index 0000000..3770b78 --- /dev/null +++ b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestMathOper.java @@ -0,0 +1,59 @@ +package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; + +import cn.estsh.i3plus.pojo.platform.bean.SysConfig; +import cn.estsh.i3plus.pojo.platform.repository.SysConfigRepository; +import org.junit.Test; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * @Description : + * @Reference : + * @Author : yunhao + * @CreateDate : 2018-12-20 17:02 + * @Modify: + **/ +public class TestMathOper extends cn.estsh.i3plus.core.apiservice.serviceimpl.busi.TestBase { + + @Test + public void test(){ + System.out.println("Hello World !~"); + } + + @Autowired + private SysConfigRepository sysConfigRDao; + + String propertyName = "configType"; + String groupByName = "configType"; + String[] param = new String[]{"configType"}; + Object[] paramValue = new Object[]{1}; + + + @Test + public void testMax(){ + SysConfig sysConfig = new SysConfig(); + // max + System.out.println(sysConfigRDao.findMaxByProperties(propertyName,groupByName,param,paramValue)); + System.out.println(sysConfigRDao.findMaxByProperty(propertyName,groupByName,param[0],paramValue[0])); + } + + @Test + public void testMin(){ + // min + System.out.println(sysConfigRDao.findMinByProperties(propertyName,groupByName,param,paramValue)); + System.out.println(sysConfigRDao.findMinByProperty(propertyName,groupByName,param[0],paramValue[0])); + } + + @Test + public void testSum(){ + //sum + System.out.println(sysConfigRDao.findSumByProperties(propertyName,groupByName,param,paramValue)); + System.out.println(sysConfigRDao.findSumByProperty(propertyName,groupByName,param[0],paramValue[0])); + } + @Test + public void testAvg(){ + //avg + System.out.println(sysConfigRDao.findAvgByProperties(propertyName,groupByName,param,paramValue)); + System.out.println(sysConfigRDao.findAvgByProperty(propertyName,groupByName,param[0],paramValue[0])); + } + +} diff --git a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestMessageService.java b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestMessageService.java new file mode 100644 index 0000000..259a4e6 --- /dev/null +++ b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestMessageService.java @@ -0,0 +1,110 @@ +//package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; +// +//import cn.estsh.i3plus.core.api.iservice.busi.ISysMessageService; +//import cn.estsh.i3plus.pojo.base.bean.ListPager; +//import cn.estsh.i3plus.pojo.base.common.Pager; +//import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil; +//import cn.estsh.i3plus.pojo.platform.bean.SysMessage; +//import com.alibaba.fastjson.JSON; +//import org.junit.Test; +//import org.slf4j.Logger; +//import org.slf4j.LoggerFactory; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.test.annotation.Rollback; +// +//import javax.transaction.Transactional; +//import java.util.List; +// +///** +// * @Description : 测试 消息服务接口 +// * @Reference : +// * @Author : yunhao +// * @Date : 2018-10-31 15:30 +// * @Modify : +// **/ +//public class TestMessageService extends TestBase { +// +// public static final Logger LOGGER = LoggerFactory.getLogger(TestMessageService.class); +// @Autowired +// private ISysMessageService sysMessageService; +// +// /** +// * 测试 查询所有消息 +// */ +// @Test +// @Transactional +// public void testListSysMessage() { +// List list = sysMessageService.listSysMessage(); +// System.out.println(JSON.toJSONString(list)); +// } +// +// /** +// * 测试 根据id查询消息 +// */ +// @Test +// @Transactional +// public void testGetSysMessageById() { +// SysMessage sysMessage = sysMessageService.getSysMessageById(1L); +// System.out.println(JSON.toJSONString(sysMessage)); +// } +// +// /** +// * 测试 添加消息 +// */ +// @Test +// @Transactional +// @Rollback(false) +// public void testInsertSysMessage() { +// SysMessage sysMessage = new SysMessage(); +// sysMessage.setMessageTitle("test-系统通知"); +// sysMessage.setMessageSenderNameRdd("system"); +// sysMessage.setMessageSenderId(-1L); +// sysMessage.setMessageType(ImppEnumUtil.MESSAGE_TYPE.MAIL.getValue()); +// sysMessage.setMessageSendTime("2018-11-01 16:58:00"); +// +// for (int i = 0; i < 50; i++) { +// sysMessage.setId(null); +// sysMessage.setMessageTitle("test-系统通知" + i); +// sysMessageService.insertSysMessage(sysMessage); +// } +// System.out.println(JSON.toJSONString(sysMessage)); +// } +// +// /** +// * 测试 修改消息 +// */ +// @Test +// @Transactional +// public void testUpdateSysMessage(){ +// SysMessage sysMessage = sysMessageService.getSysMessageById(1L); +// sysMessage.setMessageTitle("测试修改"); +// +// sysMessageService.updateSysMessage(sysMessage); +// } +// +// /** +// * 测试 根据id删除消息 +// */ +// @Test +// @Transactional +// public void testDeleteSysMessageById(){ +// sysMessageService.deleteSysMessageById(1L); +// } +// +// /** +// * 测试 复杂查询 +// */ +// @Test +// @Transactional +// public void testQuerySysMessageByPager(){ +// SysMessage sysMessage = new SysMessage(); +// +// Pager pager = new Pager(); +// pager.setPageSize(10); +// pager.setCurrentPage(5); +// +// ListPager list = sysMessageService.querySysMessageByPager(sysMessage,pager); +// System.out.println(list); +// } +// +//} diff --git a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestOrganizeService.java b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestOrganizeService.java new file mode 100644 index 0000000..af77e5d --- /dev/null +++ b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestOrganizeService.java @@ -0,0 +1,118 @@ +//package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; +// +//import cn.estsh.i3plus.core.api.iservice.busi.IOrganizeService; +//import cn.estsh.i3plus.pojo.base.bean.ListPager; +//import cn.estsh.i3plus.pojo.base.common.Pager; +//import cn.estsh.i3plus.pojo.platform.bean.Organize; +//import cn.estsh.i3plus.pojo.platform.bean.Organize; +//import com.alibaba.fastjson.JSON; +//import org.junit.Test; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.test.annotation.Rollback; +// +//import javax.transaction.Transactional; +//import java.util.List; +// +///** +// * @Description : 岗位信息测试 +// * @Reference : +// * @Author : wei.peng +// * @Date : 2018-10-29 19:02 +// * @Modify : +// **/ +//public class TestOrganizeService extends TestBase { +// +// @Autowired +// private IOrganizeService organizeService; +// +// /** +// * 新增数据 +// */ +// @Test +// @Transactional +// @Rollback(false) +// public void testInsertOrganize(){ +// for(int i = 0 ; i < 50 ; i++ ){ +// Organize obj = new Organize(); +// obj.setName("Junit Test " + i); +// obj.setOrganizeCode("DEV_JUNIT " + i); +// obj.setParentId(-1L); +// obj = organizeService.insertOrganize(obj); +// System.out.println(JSON.toJSONString(obj)); +// } +// } +// +// /** +// * 根据Key 数据 +// * @return +// */ +// @Test +// @Transactional +// public void testGetOrganizeById(){ +// Organize obj = organizeService.getOrganizeById("1057163974900060160"); +// System.out.println(JSON.toJSONString(obj)); +// } +// +// /** +// * 查询所有数据 +// * +// * @return +// */ +// @Test +// @Transactional +// public void testListOrganize(){ +// List list = organizeService.listOrganize(); +// System.out.println(JSON.toJSONString(list)); +// } +// +// /** +// * 根据岗位信息进行查找 +// * @return +// */ +// @Test +// @Transactional +// public void testFindOrganizeByPager(){ +// Organize obj = new Organize(); +// +// Pager pager = new Pager(); +// pager.setPageSize(10); +// pager.setCurrentPage(1); +// +// ListPager list = organizeService.queryOrganize(null, pager); +// +// System.out.println(JSON.toJSONString(list)); +// } +// +// /** +// * 修改数据 +// */ +// @Test +// @Transactional +// public void testUpdateOrganize(){ +// Organize obj = organizeService.getOrganizeById("1057108586410414080"); +// obj.setName("Junit update Name "); +// organizeService.updateOrganize(obj); +// System.out.println(JSON.toJSONString(obj)); +// } +// +// /** +// * 根据Key 删除数据 +// */ +// @Test +// @Transactional +// public void testDeleteOrganizeById(){ +//// organizeService.deleteOrganizeById(""); +// } +// +// /** +// * 根据id批量删除岗位 +// * @return +// */ +// @Test +// @Transactional +// public void deleteOrganizeByIds(){ +//// organizeService.deleteOrganizeByIds(new String[]{"1057108585445724160","1057108585760296960"}); +// } +// +// +//} diff --git a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestPositionService.java b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestPositionService.java new file mode 100644 index 0000000..3e53b3b --- /dev/null +++ b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestPositionService.java @@ -0,0 +1,117 @@ +//package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; +// +//import cn.estsh.i3plus.core.api.iservice.busi.IPositionService; +//import cn.estsh.i3plus.pojo.base.bean.ListPager; +//import cn.estsh.i3plus.pojo.base.common.Pager; +//import cn.estsh.i3plus.pojo.platform.bean.Position; +//import com.alibaba.fastjson.JSON; +//import org.junit.Test; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.core.annotation.Order; +//import org.springframework.test.annotation.Rollback; +// +//import javax.transaction.Transactional; +//import java.util.List; +// +///** +// * @Description : 岗位信息测试 +// * @Reference : +// * @Author : wei.peng +// * @Date : 2018-10-29 19:02 +// * @Modify : +// **/ +//public class TestPositionService extends TestBase { +// +// @Autowired +// private IPositionService positionService; +// +// /** +// * 新增数据 +// */ +// @Test +// @Transactional +// @Rollback(false) +// public void testInsertPosition(){ +// for(int i = 0 ; i < 50 ; i++ ){ +// Position position = new Position(); +// position.setName("Junit Test " + i); +// position.setPositionCode("DEV_JUNIT " + i); +// position = positionService.insertPosition(position); +// System.out.println(JSON.toJSONString(position)); +// } +// } +// +// /** +// * 根据Key 数据 +// * @return +// */ +// @Test +// @Transactional +// public void testGetPositionById(){ +// Position pos = positionService.getPositionById("1057108589715525632"); +// System.out.println(JSON.toJSONString(pos)); +// } +// +// /** +// * 查询所有数据 +// * +// * @return +// */ +// @Test +// @Transactional +// public void testListPosition(){ +// List list = positionService.listPosition(); +// System.out.println(JSON.toJSONString(list)); +// } +// +// /** +// * 根据岗位信息进行查找 +// * @return +// */ +// @Test +// @Transactional +// public void testFindPositionByPager(){ +// Position position = new Position(); +// +// Pager pager = new Pager(); +// pager.setPageSize(10); +// pager.setCurrentPage(1); +// +// ListPager list = positionService.findPositionByPager(null, pager); +// +// System.out.println(JSON.toJSONString(list)); +// } +// +// /** +// * 修改数据 +// */ +// @Test +// @Transactional +// public void testUpdatePosition(){ +// Position position = positionService.getPositionById("1057108586410414080"); +// position.setName("Junit update Name "); +// positionService.updatePosition(position); +// System.out.println(JSON.toJSONString(position)); +// } +// +// /** +// * 根据Key 删除数据 +// */ +// @Test +// @Transactional +// public void testDeletePositionById(){ +// positionService.deletePositionById("1057108585240203264"); +// } +// +// /** +// * 根据id批量删除岗位 +// * @return +// */ +// @Test +// @Transactional +// public void deletePositionByIds(){ +// positionService.deletePositionByIds(new String[]{"1057108585445724160","1057108585760296960"}); +// } +// +// +//} diff --git a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestSysConfigService.java b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestSysConfigService.java new file mode 100644 index 0000000..1ca0c30 --- /dev/null +++ b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestSysConfigService.java @@ -0,0 +1,102 @@ +package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; + +import cn.estsh.i3plus.core.api.iservice.busi.ISysConfigService; +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.platform.bean.SysConfig; +import com.alibaba.fastjson.JSON; +import org.junit.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.annotation.Rollback; + +import javax.transaction.Transactional; +import java.util.List; + +/** + * @Description : 系统参数服务测试 + * @Reference : + * @Author : yunhao + * @Date : 2018-10-30 10:49 + * @Modify : + **/ +public class TestSysConfigService extends TestBase { + + @Autowired + private ISysConfigService sysConfigService; + + /** + * 测试 查询所有系统参数 + */ + @Test + @Transactional + public void testListSysConfig() { + List list = sysConfigService.ListSysConfig(); + System.out.println(JSON.toJSONString(list)); + } + + /** + * 测试 根据id查询系统参数 + */ + @Test + @Transactional + public void testGetSysConfigById() { + SysConfig sysConfig = sysConfigService.getSysConfigById(1057110061127700480L); + System.out.println(JSON.toJSONString(sysConfig)); + } + + /** + * 测试 添加系统参数 + */ + @Test + @Transactional + @Rollback(false) + public void testInsertSysConfig() { + SysConfig sysConfig = new SysConfig(); + sysConfig.setName("系统名称"); + sysConfig.setConfigCode("sys_name"); + sysConfig.setConfigType(1); + sysConfig.setConfigValue("IMPP"); + sysConfig.setConfigDescription("系统名称"); + + sysConfigService.insertSysConfig(sysConfig); + System.out.println(JSON.toJSONString(sysConfig)); + + } + + /** + * 测试 修改系统参数 + */ + @Test + @Transactional + public void testUpdateSysConfig(){ + SysConfig sysConfig = sysConfigService.getSysConfigById(1057110613261684736L); + sysConfig.setConfigDescription("测试修改"); + + sysConfigService.updateSysConfig(sysConfig); + } + + /** + * 测试 根据id删除系统参数 + */ + @Test + @Transactional + public void testDeleteSysConfigById(){ + sysConfigService.deleteSysConfigById(1057111616417566720L); + } + + /** + * 测试 复制查询 + */ + @Test + @Transactional + public void testQuerySysConfigByPager(){ + SysConfig sysConfig = new SysConfig(); + + Pager pager = new Pager(); + pager.setPageSize(10); + pager.setCurrentPage(1); + + ListPager list = sysConfigService.querySysConfigByPager(sysConfig,pager); + System.out.println(list); + } +} diff --git a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestSysDictionaryService.java b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestSysDictionaryService.java new file mode 100644 index 0000000..8922e68 --- /dev/null +++ b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestSysDictionaryService.java @@ -0,0 +1,99 @@ +//package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; +// +//import cn.estsh.i3plus.core.api.iservice.busi.ISysDictionaryService; +//import cn.estsh.i3plus.pojo.base.bean.ListPager; +//import cn.estsh.i3plus.pojo.base.common.Pager; +//import cn.estsh.i3plus.pojo.platform.bean.SysDictionary; +//import com.alibaba.fastjson.JSON; +//import org.junit.Test; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.test.annotation.Rollback; +// +//import javax.transaction.Transactional; +//import java.util.List; +// +///** +// * @Description : 测试字典服务接口 +// * @Reference : +// * @Author : yunhao +// * @Date : 2018-10-30 18:52 +// * @Modify : +// **/ +//public class TestSysDictionaryService extends TestBase { +// @Autowired +// private ISysDictionaryService sysDictionaryService; +// +// /** +// * 测试 查询所有字典 +// */ +// @Test +// @Transactional +// public void testListSysDictionary() { +// List list = sysDictionaryService.listSysDictionary(); +// System.out.println(JSON.toJSONString(list)); +// } +// +// /** +// * 测试 根据id查询字典 +// */ +// @Test +// @Transactional +// public void testGetSysDictionaryById() { +// SysDictionary sysDictionary = sysDictionaryService.getSysDictionaryById("1057110061127700480"); +// System.out.println(JSON.toJSONString(sysDictionary)); +// } +// +// /** +// * 测试 添加字典 +// */ +// @Test +// @Transactional +// @Rollback(false) +// public void testInsertSysDictionary() { +// SysDictionary sysDictionary = new SysDictionary(); +// sysDictionary.setName("字典测试"); +// sysDictionary.setDictionaryCode("dic_test"); +// sysDictionary.setDictionaryValue("DEV"); +// sysDictionary.setDictionaryDescription("字典测试"); +// +// sysDictionaryService.insertSysDictionary(sysDictionary); +// System.out.println(JSON.toJSONString(sysDictionary)); +// } +// +// /** +// * 测试 修改字典 +// */ +// @Test +// @Transactional +// public void testUpdateSysDictionary(){ +// SysDictionary sysDictionary = sysDictionaryService.getSysDictionaryById("1057110613261684736"); +// sysDictionary.setName("测试修改"); +// +// sysDictionaryService.updateSysDictionary(sysDictionary); +// } +// +// /** +// * 测试 根据id删除字典 +// */ +// @Test +// @Transactional +// public void testDeleteSysDictionaryById(){ +// sysDictionaryService.deleteSysDictionaryById("1057111616417566720"); +// } +// +// /** +// * 测试 复杂查询 +// */ +// @Test +// @Transactional +// public void testQuerySysDictionaryByPager(){ +// SysDictionary sysDictionary = new SysDictionary(); +// +// Pager pager = new Pager(); +// pager.setPageSize(10); +// pager.setCurrentPage(5); +// +// ListPager list = sysDictionaryService.querySysDictionaryByPager(sysDictionary,pager); +// System.out.println(list); +// } +//} diff --git a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestSysFileService.java b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestSysFileService.java new file mode 100644 index 0000000..955f1a5 --- /dev/null +++ b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestSysFileService.java @@ -0,0 +1,107 @@ +//package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; +// +//import cn.estsh.i3plus.core.api.iservice.busi.ISysFileService; +//import cn.estsh.i3plus.pojo.base.bean.ListPager; +//import cn.estsh.i3plus.pojo.base.common.Pager; +//import cn.estsh.i3plus.pojo.platform.bean.SysFile; +//import com.alibaba.fastjson.JSON; +//import org.junit.Test; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.test.annotation.Rollback; +// +//import javax.transaction.Transactional; +//import java.util.List; +// +///** +// * @Description : 测试 文件资源服务接口 +// * @Reference : +// * @Author : yunhao +// * @Date : 2018-10-31 15:30 +// * @Modify : +// **/ +//public class TestSysFileService extends TestBase { +// +// @Autowired +// public ISysFileService sysFileService; +// +// /** +// * 测试 查询所有文件资源 +// */ +// @Test +// @Transactional +// public void testListSysFile() { +// List list = sysFileService.listSysFile(); +// System.out.println(JSON.toJSONString(list)); +// } +// +// /** +// * 测试 根据id查询文件资源 +// */ +// @Test +// @Transactional +// public void testGetSysFileById() { +// SysFile sysFile = sysFileService.getSysFileById(1057110061127700480L); +// System.out.println(JSON.toJSONString(sysFile)); +// } +// +// /** +// * 测试 添加文件资源 +// */ +// @Test +// @Transactional +// @Rollback(false) +// public void testInsertSysFile() { +// SysFile sysFile = new SysFile(); +// sysFile.setName("文件doc"); +// sysFile.setFileTypeId(1058251784058966016L); +// sysFile.setFileTypeName("doc"); +// sysFile.setDownloads(999); +// sysFile.setFileSize(1024); +// sysFile.setCreateUser("中国移动"); +// sysFile.setCreateDatetime("2018-01-01 00:00:00"); +// for (int i = 0; i < 50; i++) { +// sysFile.setId(null); +// sysFile.setName("文件"+ i +".doc"); +// sysFile.setCreateDatetime("2018-01-01 " + (i % 10) + "0:00:00"); +// sysFileService.insertSysFile(sysFile); +// } +// System.out.println(JSON.toJSONString(sysFile)); +// } +// +// /** +// * 测试 修改文件资源 +// */ +// @Test +// @Transactional +// public void testUpdateSysFile(){ +// SysFile sysFile = sysFileService.getSysFileById(1057110613261684736L); +// sysFile.setName("测试修改"); +// +// sysFileService.updateSysFile(sysFile); +// } +// +// /** +// * 测试 根据id删除文件资源 +// */ +// @Test +// @Transactional +// public void testDeleteSysFileById(){ +// sysFileService.deleteSysFileById("1057111616417566720"); +// } +// +// /** +// * 测试 复杂查询 +// */ +// @Test +// @Transactional +// public void testQuerySysFileByPager(){ +// SysFile sysFile = new SysFile(); +// +// Pager pager = new Pager(); +// pager.setPageSize(10); +// pager.setCurrentPage(5); +// +// ListPager list = sysFileService.querySysFileByPager(sysFile,pager); +// System.out.println(list); +// } +//} diff --git a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestSysMenuService.java b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestSysMenuService.java new file mode 100644 index 0000000..ce918a3 --- /dev/null +++ b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestSysMenuService.java @@ -0,0 +1,104 @@ +//package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; +// +//import cn.estsh.i3plus.core.api.iservice.busi.ISysMenuService; +//import cn.estsh.i3plus.pojo.platform.bean.Organize; +//import cn.estsh.i3plus.pojo.platform.bean.SysMenu; +//import com.alibaba.fastjson.JSON; +//import org.junit.Test; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.test.annotation.Rollback; +// +//import javax.transaction.Transactional; +//import java.util.List; +// +///** +// * @Description : +// * @Reference : +// * @Author : wei.peng +// * @Date : 2018-11-01 11:58 +// * @Modify : +// **/ +//public class TestSysMenuService extends TestBase { +// +// @Autowired +// private ISysMenuService sysMenuService; +// +// +// +// +// /** +// * 修改数据 +// */ +// @Test +// public void testUpdateSysMenu() { +// +// } +// +// /** +// * 修改权限状态 +// */ +// @Test +// public void testUpdateSysMenuStatus() { +// +// } +// +// /** +// * 批量修改状态 +// */ +// @Test +// public void testUpdateSysMenuStatusByIds() { +// +// } +// +// /** +// * 根据Key 删除数据 +// */ +// @Test +// public void testDeleteSysMenuById() { +// +// } +// +// /** +// * 新增数据 +// */ +// @Test +// @Transactional +// @Rollback(false) +// public void testInsertSysMenu() { +// for(int i = 0 ; i < 50 ; i++ ){ +// SysMenu obj = new SysMenu(); +// obj.setName("Junit Test " + i); +// obj.setMenuCode("DEV_JUNIT " + i); +// obj.setParentId(-1L); +// obj = sysMenuService.insertSysMenu(obj); +// System.out.println(JSON.toJSONString(obj)); +// } +// } +// +// /** +// * 查询所有数据 +// */ +// @Test +// public void testFindSysMenuAll() { +// List list = sysMenuService.findSysMenuAll(); +// System.out.println(JSON.toJSONString(list)); +// } +// +// /** +// * 根据id 数据 +// */ +// @Test +// public void testGetSysMenuById() { +// SysMenu menu = sysMenuService.getSysMenuById("1057844135052054528"); +// System.out.println(JSON.toJSONString(menu)); +// } +// +// /** +// * 复杂查询 +// */ +// @Test +// public void testQuerySysMenu() { +// +// } +// +//} diff --git a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestTaskTimeExpressionService.java b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestTaskTimeExpressionService.java new file mode 100644 index 0000000..69f5336 --- /dev/null +++ b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestTaskTimeExpressionService.java @@ -0,0 +1,104 @@ +//package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; +// +//import cn.estsh.i3plus.core.api.iservice.busi.ITaskTimeExpressionService; +//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.platform.bean.TaskTimeExpression; +//import com.alibaba.fastjson.JSON; +//import org.junit.Test; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.test.annotation.Rollback; +// +//import javax.transaction.Transactional; +//import java.util.List; +// +///** +// * @Description : 测试 时间表达式 +// * @Reference : +// * @Author : yunhao +// * @Date : 2018-10-31 15:30 +// * @Modify : +// **/ +//public class TestTaskTimeExpressionService extends TestBase { +// +// @Autowired +// ITaskTimeExpressionService taskTimeExpressionService; +// +// /** +// * 测试 查询所有时间表达式 +// */ +// @Test +// @Transactional +// public void testListTaskTimeExpression() { +// List list = taskTimeExpressionService.listTaskTimeExpression(); +// System.out.println(JSON.toJSONString(list)); +// } +// +// /** +// * 测试 根据id查询时间表达式 +// */ +// @Test +// @Transactional +// public void testGetTaskTimeExpressionById() { +// TaskTimeExpression taskTimeExpression = taskTimeExpressionService.getTaskTimeExpressionById("1057110061127700480"); +// System.out.println(JSON.toJSONString(taskTimeExpression)); +// } +// +// /** +// * 测试 添加时间表达式 +// */ +// @Test +// @Transactional +// @Rollback(false) +// public void testInsertTaskTimeExpression() { +// TaskTimeExpression taskTimeExpression = new TaskTimeExpression(); +// taskTimeExpression.setName("表达式"); +// taskTimeExpression.setExpressionContent("0000000"); +// taskTimeExpression.setExpressionDescription("描述"); +// +// for (int i = 0; i < 50; i++) { +// taskTimeExpression.setId(null); +// taskTimeExpression.setName("表达式"+i); +// taskTimeExpressionService.insertTaskTimeExpression(taskTimeExpression); +// } +// System.out.println(JSON.toJSONString(taskTimeExpression)); +// } +// +// /** +// * 测试 修改时间表达式 +// */ +// @Test +// @Transactional +// public void testUpdateTaskTimeExpression(){ +// TaskTimeExpression taskTimeExpression = taskTimeExpressionService.getTaskTimeExpressionById("1057110613261684736"); +// taskTimeExpression.setName("测试修改"); +// +// taskTimeExpressionService.updateTaskTimeExpression(taskTimeExpression); +// } +// +// /** +// * 测试 根据id删除时间表达式 +// */ +// @Test +// @Transactional +// public void testDeleteTaskTimeExpressionById(){ +// taskTimeExpressionService.deleteTaskTimeExpressionById("1057111616417566720"); +// } +// +// /** +// * 测试 复杂查询 +// */ +// @Test +// @Transactional +// public void testQueryTaskTimeExpressionByPager(){ +// TaskTimeExpression taskTimeExpression = new TaskTimeExpression(); +// +// Pager pager = new Pager(); +// pager.setPageSize(10); +// pager.setCurrentPage(5); +// +// ListPager list = taskTimeExpressionService.queryTaskTimeExpressionByPager(taskTimeExpression,pager); +// System.out.println(list); +// } +//} diff --git a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestTaskTimeService.java b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestTaskTimeService.java new file mode 100644 index 0000000..d9924f0 --- /dev/null +++ b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestTaskTimeService.java @@ -0,0 +1,109 @@ +//package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; +// +//import cn.estsh.i3plus.core.api.iservice.busi.ITaskTimeService; +//import cn.estsh.i3plus.core.api.iservice.busi.ITaskTimeService; +//import cn.estsh.i3plus.pojo.base.bean.ListPager; +//import cn.estsh.i3plus.pojo.base.common.Pager; +//import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +//import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil; +//import cn.estsh.i3plus.pojo.platform.bean.TaskTime; +//import com.alibaba.fastjson.JSON; +//import org.junit.Test; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.test.annotation.Rollback; +// +//import javax.transaction.Transactional; +//import java.util.List; +// +///** +// * @Description : +// * @Reference : +// * @Author : yunhao +// * @Date : 2018-11-03 00:09 +// * @Modify : +// **/ +//public class TestTaskTimeService extends TestBase { +// +// @Autowired +// ITaskTimeService taskTimeService; +// +// /** +// * 测试 查询所有硬件 +// */ +// @Test +// @Transactional +// public void testListTaskTime() { +// List list = taskTimeService.listTaskTime(); +// System.out.println(JSON.toJSONString(list)); +// } +// +// /** +// * 测试 根据id查询硬件 +// */ +// @Test +// @Transactional +// public void testGetTaskTimeById() { +// TaskTime taskTime = taskTimeService.getTaskTimeById("1057110061127700480"); +// System.out.println(JSON.toJSONString(taskTime)); +// } +// +// /** +// * 测试 添加硬件 +// */ +// @Test +// @Transactional +// @Rollback(false) +// public void testInsertTaskTime() { +// TaskTime taskTime = new TaskTime(); +// taskTime.setName("时间表达式"); +// taskTime.setTimeExpressionId(1L); +// taskTime.setTaskStartDateTimeRdd("2018-01-01 00:00:00"); +// taskTime.setTaskEndDateTimeRdd("2018-12-31 00:00:00"); +// taskTime.setTaskTypeId(ImppEnumUtil.TASK_METHOD_TYPE.TYPE_GROUP.getValue()); +// taskTime.setTaskStatus(CommonEnumUtil.DATA_STATUS.ENABLE.getValue()); +// +// for (int i = 0; i < 50; i++) { +// taskTime.setId(null); +// taskTime.setName("时间表达式"+i); +// taskTimeService.insertTaskTime(taskTime,null); +// } +// System.out.println(JSON.toJSONString(taskTime)); +// } +// +// /** +// * 测试 修改硬件 +// */ +// @Test +// @Transactional +// public void testUpdateTaskTime(){ +// TaskTime taskTime = taskTimeService.getTaskTimeById("1057110613261684736"); +// taskTime.setName("测试修改"); +// +// taskTimeService.updateTaskTime(taskTime,null); +// } +// +// /** +// * 测试 根据id删除硬件 +// */ +// @Test +// @Transactional +// public void testDeleteTaskTimeById(){ +// taskTimeService.deleteTaskTimeById("1058406771644829696"); +// } +// +// /** +// * 测试 复杂查询 +// */ +// @Test +// @Transactional +// public void testQueryTaskTimeByPager(){ +// TaskTime taskTime = new TaskTime(); +// +// Pager pager = new Pager(); +// pager.setPageSize(10); +// pager.setCurrentPage(5); +// +// ListPager list = taskTimeService.queryTaskTimeByPager(taskTime,pager); +// System.out.println(list); +// } +//} diff --git a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestToolService.java b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestToolService.java new file mode 100644 index 0000000..a1a6bfc --- /dev/null +++ b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestToolService.java @@ -0,0 +1,109 @@ +//package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; +// +//import cn.estsh.i3plus.core.api.iservice.busi.IToolService; +//import cn.estsh.i3plus.pojo.base.bean.ListPager; +//import cn.estsh.i3plus.pojo.base.common.Pager; +//import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +//import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil; +//import cn.estsh.i3plus.pojo.platform.bean.Tool; +//import com.alibaba.fastjson.JSON; +//import org.apache.commons.lang3.EnumUtils; +//import org.junit.Test; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.test.annotation.Rollback; +// +//import javax.transaction.Transactional; +//import java.util.List; +// +///** +// * @Description : 测试 硬件服务接口 +// * @Reference : +// * @Author : yunhao +// * @Date : 2018-10-31 15:30 +// * @Modify : +// **/ +//public class TestToolService extends TestBase { +// +// @Autowired +// IToolService toolService; +// +// /** +// * 测试 查询所有硬件 +// */ +// @Test +// @Transactional +// public void testListTool() { +// List list = toolService.listTool(); +// System.out.println(JSON.toJSONString(list)); +// } +// +// /** +// * 测试 根据id查询硬件 +// */ +// @Test +// @Transactional +// public void testGetToolById() { +// Tool tool = toolService.getToolById("1057110061127700480"); +// System.out.println(JSON.toJSONString(tool)); +// } +// +// /** +// * 测试 添加硬件 +// */ +// @Test +// @Transactional +// @Rollback(false) +// public void testInsertTool() { +// Tool tool = new Tool(); +// tool.setName("扫描枪"); +// tool.setToolTypeId(1057261374348070912L); +// tool.setRedToolTypeName("扫描枪22"); +// tool.setToolConnTypeId(1); +// tool.setToolDataTypeId(1); +// tool.setToolStatusId(CommonEnumUtil.DATA_STATUS.ENABLE.getValue()); +// +// for (int i = 0; i < 50; i++) { +// tool.setId(null); +// tool.setName("扫描枪"+i); +// toolService.insertTool(tool); +// } +// System.out.println(JSON.toJSONString(tool)); +// } +// +// /** +// * 测试 修改硬件 +// */ +// @Test +// @Transactional +// public void testUpdateTool(){ +// Tool tool = toolService.getToolById("1057110613261684736"); +// tool.setName("测试修改"); +// +// toolService.updateTool(tool); +// } +// +// /** +// * 测试 根据id删除硬件 +// */ +// @Test +// @Transactional +// public void testDeleteToolById(){ +// toolService.deleteToolById("1057111616417566720"); +// } +// +// /** +// * 测试 复杂查询 +// */ +// @Test +// @Transactional +// public void testQueryToolByPager(){ +// Tool tool = new Tool(); +// +// Pager pager = new Pager(); +// pager.setPageSize(10); +// pager.setCurrentPage(5); +// +// ListPager list = toolService.queryToolByPager(tool,pager); +// System.out.println(list); +// } +//} diff --git a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestToolTypeService.java b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestToolTypeService.java new file mode 100644 index 0000000..8e09a4b --- /dev/null +++ b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestToolTypeService.java @@ -0,0 +1,101 @@ +//package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; +// +//import cn.estsh.i3plus.core.api.iservice.busi.IToolTypeService; +//import cn.estsh.i3plus.core.api.iservice.busi.IToolTypeService; +//import cn.estsh.i3plus.pojo.base.bean.ListPager; +//import cn.estsh.i3plus.pojo.base.common.Pager; +//import cn.estsh.i3plus.pojo.platform.bean.ToolType; +//import com.alibaba.fastjson.JSON; +//import org.junit.Test; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.test.annotation.Rollback; +// +//import javax.transaction.Transactional; +//import java.util.List; +// +///** +// * @Description : 测试 硬件类型服务接口 +// * @Reference : +// * @Author : yunhao +// * @Date : 2018-10-30 20:36 +// * @Modify : +// **/ +//public class TestToolTypeService extends TestBase { +// @Autowired +// private IToolTypeService toolTypeService; +// +// /** +// * 测试 查询所有硬件类型 +// */ +// @Test +// @Transactional +// public void testListToolType() { +// List list = toolTypeService.listToolType(); +// System.out.println(JSON.toJSONString(list)); +// } +// +// /** +// * 测试 根据id查询硬件类型 +// */ +// @Test +// @Transactional +// public void testGetToolTypeById() { +// ToolType toolType = toolTypeService.getToolTypeById("1057110061127700480"); +// System.out.println(JSON.toJSONString(toolType)); +// } +// +// /** +// * 测试 添加硬件类型 +// */ +// @Test +// @Transactional +// @Rollback(false) +// public void testInsertToolType() { +// ToolType toolType = new ToolType(); +// toolType.setName("扫描枪"); +// +// for (int i = 0; i < 50; i++) { +// toolType.setId(null); +// toolType.setName("扫描枪"+i); +// toolTypeService.insertToolType(toolType); +// } +// System.out.println(JSON.toJSONString(toolType)); +// } +// +// /** +// * 测试 修改硬件类型 +// */ +// @Test +// @Transactional +// public void testUpdateToolType(){ +// ToolType toolType = toolTypeService.getToolTypeById("1057110613261684736"); +// toolType.setName("测试修改"); +// +// toolTypeService.updateToolType(toolType); +// } +// +// /** +// * 测试 根据id删除硬件类型 +// */ +// @Test +// @Transactional +// public void testDeleteToolTypeById(){ +// toolTypeService.deleteToolTypeById("1057111616417566720"); +// } +// +// /** +// * 测试 复杂查询 +// */ +// @Test +// @Transactional +// public void testQueryToolTypeByPager(){ +// ToolType toolType = new ToolType(); +// +// Pager pager = new Pager(); +// pager.setPageSize(10); +// pager.setCurrentPage(5); +// +// ListPager list = toolTypeService.queryToolTypeByPager(toolType,pager); +// System.out.println(list); +// } +//} diff --git a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestUser.java b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestUser.java new file mode 100644 index 0000000..3ddc7af --- /dev/null +++ b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestUser.java @@ -0,0 +1,652 @@ +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.FileUtil; +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亿加拿大元。由于缺少应对热带气旋的经验,加上风暴强度的保持时间异常之长,多伦多所受影响的严重程度是前所未有的"; + + @Test + public void testSysPosition() throws Exception{ + List 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 organizeList = new ArrayList<>(); + List 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 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 list = menuService.findSysMenuAll(); + + List roleList = new ArrayList<>(); + List refRoleMenuList = new ArrayList<>(); + + for (int i = 0; i < 100 ; i++) { + List moduleListRdd = new ArrayList<>(); + List 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.setModuleNamesRdd(String.join(",",moduleListRdd)); + role.setMenuNumber(featuresListRdd.size()); + role.setMenuNamesRdd(String.join(",",featuresListRdd)); + + 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_names_rdd, menu_number_rdd, module_names_rdd, module_number, name," + + " role_description, role_status) VALUES " + + "( "+role.getId()+", '"+role.getCreateDatetime()+"', '"+role.getCreateUser()+"', "+role.getIsDeleted()+"," + + " "+role.getIsValid()+", '"+role.getModifyDatetime()+"', '"+role.getModifyUser()+"', '"+role.getMenuNamesRdd()+"', "+role.getMenuNumber()+"," + + " '"+role.getModuleNamesRdd()+"', "+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 roleList = roleService.findSysRoleAll(); + List positionList = positionService.listSysPosition(); + List departmentList = departmentService.listSysDepartment(); + + for (int y = 0; y < 10; y++) { + String PATH = new String("E:\\test\\user\\" + y); + List userList = new ArrayList<>(); + List userInfoList = new ArrayList<>(); + List refUserRoleList = new ArrayList<>(); + List refUserDepartmentList = new ArrayList<>(); + List refUserInfoDepartmentList = new ArrayList<>(); + List refUserPositionList = new ArrayList<>(); + + List refUserRoleNameList ; + List refUserPositionNameList ; + List 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 roleList = roleService.findSysRoleAll(); + List positionList = positionService.listSysPosition(); + List departmentList = departmentService.listSysDepartment(); + + UserDetailModel model = new UserDetailModel(); + List roleIds = new ArrayList<>(); + List positionIds = new ArrayList<>(); + List 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(); + } + } + +} diff --git a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/util/TestExcelUtil.java b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/util/TestExcelUtil.java new file mode 100644 index 0000000..1283122 --- /dev/null +++ b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/util/TestExcelUtil.java @@ -0,0 +1,41 @@ +package cn.estsh.i3plus.core.apiservice.util; + +import cn.estsh.i3plus.core.apiservice.serviceimpl.busi.TestBase; +import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil; +import cn.estsh.i3plus.pojo.platform.bean.SysTool; +import org.junit.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.util.ArrayList; +import java.util.List; + +/** + * @Description : excel导入导出测试 + * @Reference : + * @Author : yunhao + * @CreateDate : 2018-11-21 19:44 + * @Modify: + **/ +public class TestExcelUtil extends TestBase { + + + @Test + public void TestExportData(){ + + } + + @Test + public void importData() throws Exception{ + try { + List sy = ExcelUtil.importData("testOut.xls", new FileInputStream("E://testOut.xls"), SysTool.class); + System.out.println(sy); + } catch (FileNotFoundException e) { + e.printStackTrace(); + } + } +} diff --git a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/util/TestMailUtil.java b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/util/TestMailUtil.java new file mode 100644 index 0000000..cbb50e6 --- /dev/null +++ b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/util/TestMailUtil.java @@ -0,0 +1,38 @@ +package cn.estsh.i3plus.core.apiservice.util; + +import cn.estsh.i3plus.core.apiservice.serviceimpl.busi.TestBase; +import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil; +import org.junit.Test; +import org.springframework.beans.factory.annotation.Autowired; + +import javax.mail.MessagingException; +import java.io.UnsupportedEncodingException; + +/** + * @Description : + * @Reference : + * @Author : yunhao + * @CreateDate : 2018-11-21 19:44 + * @Modify: + **/ +public class TestMailUtil extends TestBase { + + @Autowired + MailUtil mailUtil; + + @Test + public void TestSendMail(){ + mailUtil.setTo("yunhao.wang@estsh.com"); + mailUtil.setSubject("中文"); + mailUtil.setContentType(ImppEnumUtil.MESSAGE_TYPE_CONTENT.HTML.getDescription()); + mailUtil.setBody("内容"); + try { + mailUtil.send(); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } catch (MessagingException e) { + e.printStackTrace(); + } + + } +} diff --git a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/util/TestOrderNoMakeUtil.java b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/util/TestOrderNoMakeUtil.java new file mode 100644 index 0000000..e592865 --- /dev/null +++ b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/util/TestOrderNoMakeUtil.java @@ -0,0 +1,33 @@ +package cn.estsh.i3plus.core.apiservice.util; + +import cn.estsh.i3plus.core.apiservice.serviceimpl.busi.TestBase; +import cn.estsh.i3plus.pojo.platform.bean.SysOrderNoRule; +import org.junit.Test; + +/** + * @Description : + * @Reference : + * @Author : yunhao + * @CreateDate : 2018-11-21 19:45 + * @Modify: + **/ +public class TestOrderNoMakeUtil extends TestBase { + + @Test + public void TestMakeOrderNo() { + SysOrderNoRule sysOrderNoRule = new SysOrderNoRule(); + sysOrderNoRule.setName("一号单据"); + sysOrderNoRule.setOrderNoRule("GG-{yyyy}{MM}{dd}{serialNo}"); + sysOrderNoRule.setSerialNoSeed(1L); + sysOrderNoRule.setSerialNoIncrement(1L); + sysOrderNoRule.setSerialNoLength(4L); + sysOrderNoRule.setSerialNo(9999L); + sysOrderNoRule.setIsCycle(1); + + System.out.println(OrderNoMakeUtil.next(sysOrderNoRule)); + +// String d= MessageFormat.format("%0{0}d", 3); +// System.out.println(d); + } + +}