Browse Source

add: 添加国际化

master
丁世豪 8 months ago
parent
commit
e0cc4968cd
  1. 3
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/common/aspect/LimitAspect.java
  2. 3
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/FileUtil.java
  3. 3
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/ValidationUtil.java
  4. 8
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/WebMvcConfig.java
  5. 37
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/language/InitLocaleResolver.java
  6. 19
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/language/LangProcess.java
  7. 3
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/dept/DeptController.java
  8. 5
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/generator/CodeGeneratorController.java
  9. 3
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/quartz/SysQuartzJobController.java
  10. 5
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/secutiry/MobileAuthorizationController.java
  11. 3
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/tools/ToolLocalStorageController.java
  12. 9
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/user/UserController.java
  13. 7
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/coderule/impl/SysCodeRuleServiceImpl.java
  14. 3
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/dept/impl/SysDeptServiceImpl.java
  15. 13
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/dict/impl/SysDictServiceImpl.java
  16. 11
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/generator/impl/CodeGeneratorServiceImpl.java
  17. 3
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/logicflow/impl/StageImageServiceImpl.java
  18. 7
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/logicflow/impl/StageServiceImpl.java
  19. 10
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/impl/SysMenuServiceImpl.java
  20. 9
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/notice/impl/SysNoticeServiceImpl.java
  21. 13
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/param/dao/Param.java
  22. 7
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/param/impl/SysParamServiceImpl.java
  23. 15
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/permission/dao/SysDataPermission.java
  24. 9
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/permission/impl/SysDataPermissionServiceImpl.java
  25. 7
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/impl/SysQuartzJobServiceImpl.java
  26. 13
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/utils/QuartzManage.java
  27. 9
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/role/impl/SysRoleServiceImpl.java
  28. 9
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/secutiry/impl/OnlineUserService.java
  29. 5
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/tools/impl/ToolLocalStorageServiceImpl.java
  30. 9
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/classification/service/impl/MdBaseClassstandardServiceImpl.java
  31. 3
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/material/service/impl/MdBaseMaterialServiceImpl.java
  32. 3
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/vehicle/service/impl/MdBaseVehicleServiceImpl.java
  33. 13
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/impl/AcsToWmsServiceImpl.java
  34. 3
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/interactivelog/service/impl/SchBaseAcsandlmsinteractivelogServiceImpl.java
  35. 3
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/impl/SchBasePointServiceImpl.java
  36. 3
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/service/impl/ReportServiceImpl.java
  37. 9
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/impl/SchBaseTaskServiceImpl.java
  38. 9
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/impl/SchBaseTaskconfigServiceImpl.java
  39. 11
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AbstractTask.java
  40. 5
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/KJRKTask.java
  41. 7
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/POINTTask.java
  42. 5
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/SSXBKJTask.java
  43. 5
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/XGRKTask.java
  44. 5
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLCKTask.java
  45. 5
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLRKTask.java
  46. 17
      lms/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml
  47. 16
      lms/nladmin-system/nlsso-server/src/main/resources/language/error/error.properties
  48. 16
      lms/nladmin-system/nlsso-server/src/main/resources/language/error/error_en_US.properties
  49. 16
      lms/nladmin-system/nlsso-server/src/main/resources/language/error/error_vi_VN.properties
  50. 16
      lms/nladmin-system/nlsso-server/src/main/resources/language/error/error_zh_CN.properties
  51. 7
      lms/nladmin-system/nlsso-server/src/main/resources/language/login/login.properties
  52. 8
      lms/nladmin-system/nlsso-server/src/main/resources/language/login/login_en_US.properties
  53. 7
      lms/nladmin-system/nlsso-server/src/main/resources/language/login/login_vi_VN.properties
  54. 8
      lms/nladmin-system/nlsso-server/src/main/resources/language/login/login_zh_CN.properties
  55. 31
      lms/nladmin-system/nlsso-server/src/main/resources/language/monitor/universal/universal.properties
  56. 31
      lms/nladmin-system/nlsso-server/src/main/resources/language/monitor/universal/universal_en_US.properties
  57. 31
      lms/nladmin-system/nlsso-server/src/main/resources/language/monitor/universal/universal_vi_VN.properties
  58. 31
      lms/nladmin-system/nlsso-server/src/main/resources/language/monitor/universal/universal_zh_CN.properties
  59. 20
      lms/nladmin-system/nlsso-server/src/main/resources/language/task/task.properties
  60. 17
      lms/nladmin-system/nlsso-server/src/main/resources/language/task/task_en_US.properties
  61. 16
      lms/nladmin-system/nlsso-server/src/main/resources/language/task/task_vi_VN.properties
  62. 16
      lms/nladmin-system/nlsso-server/src/main/resources/language/task/task_zh_CN.properties
  63. 2
      lms/nladmin-system/nlsso-server/src/main/resources/template/generator/admin/ServiceImpl.ftl
  64. 8
      lms/nladmin-system/nlsso-server/target/classes/banner.txt
  65. 170
      lms/nladmin-system/nlsso-server/target/classes/config/application-dev.yml
  66. 163
      lms/nladmin-system/nlsso-server/target/classes/config/application-prod.yml
  67. 159
      lms/nladmin-system/nlsso-server/target/classes/config/application-test.yml
  68. 97
      lms/nladmin-system/nlsso-server/target/classes/config/application.yml
  69. 20
      lms/nladmin-system/nlsso-server/target/classes/generator.properties
  70. 16
      lms/nladmin-system/nlsso-server/target/classes/language/error/error.properties
  71. 16
      lms/nladmin-system/nlsso-server/target/classes/language/error/error_en_US.properties
  72. 16
      lms/nladmin-system/nlsso-server/target/classes/language/error/error_vi_VN.properties
  73. 16
      lms/nladmin-system/nlsso-server/target/classes/language/error/error_zh_CN.properties
  74. 7
      lms/nladmin-system/nlsso-server/target/classes/language/login/login.properties
  75. 8
      lms/nladmin-system/nlsso-server/target/classes/language/login/login_en_US.properties
  76. 7
      lms/nladmin-system/nlsso-server/target/classes/language/login/login_vi_VN.properties
  77. 8
      lms/nladmin-system/nlsso-server/target/classes/language/login/login_zh_CN.properties
  78. 31
      lms/nladmin-system/nlsso-server/target/classes/language/monitor/universal/universal.properties
  79. 31
      lms/nladmin-system/nlsso-server/target/classes/language/monitor/universal/universal_en_US.properties
  80. 31
      lms/nladmin-system/nlsso-server/target/classes/language/monitor/universal/universal_vi_VN.properties
  81. 31
      lms/nladmin-system/nlsso-server/target/classes/language/monitor/universal/universal_zh_CN.properties
  82. 20
      lms/nladmin-system/nlsso-server/target/classes/language/task/task.properties
  83. 17
      lms/nladmin-system/nlsso-server/target/classes/language/task/task_en_US.properties
  84. 16
      lms/nladmin-system/nlsso-server/target/classes/language/task/task_vi_VN.properties
  85. 16
      lms/nladmin-system/nlsso-server/target/classes/language/task/task_zh_CN.properties
  86. 34
      lms/nladmin-system/nlsso-server/target/classes/log/XgAgvDeviceDriver.xml
  87. 4
      lms/nladmin-system/nlsso-server/target/classes/log4jdbc.log4j2.properties
  88. 167
      lms/nladmin-system/nlsso-server/target/classes/logback-spring.xml
  89. BIN
      lms/nladmin-system/nlsso-server/target/classes/org/nl/AppRun.class
  90. 68
      lms/nladmin-system/nlsso-server/target/classes/org/nl/AppRun.java
  91. BIN
      lms/nladmin-system/nlsso-server/target/classes/org/nl/common/annotation/DataPermission.class
  92. 47
      lms/nladmin-system/nlsso-server/target/classes/org/nl/common/annotation/DataPermission.java
  93. BIN
      lms/nladmin-system/nlsso-server/target/classes/org/nl/common/annotation/Limit.class
  94. 50
      lms/nladmin-system/nlsso-server/target/classes/org/nl/common/annotation/Limit.java
  95. BIN
      lms/nladmin-system/nlsso-server/target/classes/org/nl/common/annotation/Query$Join.class
  96. BIN
      lms/nladmin-system/nlsso-server/target/classes/org/nl/common/annotation/Query$Type.class
  97. BIN
      lms/nladmin-system/nlsso-server/target/classes/org/nl/common/annotation/Query.class
  98. 88
      lms/nladmin-system/nlsso-server/target/classes/org/nl/common/annotation/Query.java
  99. BIN
      lms/nladmin-system/nlsso-server/target/classes/org/nl/common/annotation/RateLimiter.class
  100. 39
      lms/nladmin-system/nlsso-server/target/classes/org/nl/common/annotation/RateLimiter.java

3
lms/nladmin-system/nlsso-server/src/main/java/org/nl/common/aspect/LimitAspect.java

@ -27,6 +27,7 @@ import org.nl.common.annotation.Limit;
import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.RequestHolder;
import org.nl.common.utils.StringUtils;
import org.nl.config.language.LangProcess;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.data.redis.core.RedisTemplate;
@ -81,7 +82,7 @@ public class LimitAspect {
log.info("第{}次访问key为 {},描述为 [{}] 的接口", count, keys, limit.name());
return joinPoint.proceed();
} else {
throw new BadRequestException("访问次数受限制");
throw new BadRequestException(LangProcess.msg("universal_limit"));
}
}

3
lms/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/FileUtil.java

@ -22,6 +22,7 @@ import cn.hutool.poi.excel.ExcelUtil;
import org.apache.poi.util.IOUtils;
import org.apache.poi.xssf.streaming.SXSSFSheet;
import org.nl.common.exception.BadRequestException;
import org.nl.config.language.LangProcess;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.multipart.MultipartFile;
@ -253,7 +254,7 @@ public class FileUtil extends cn.hutool.core.io.FileUtil {
// 1M
int len = 1024 * 1024;
if (size > (maxSize * len)) {
throw new BadRequestException("文件超出规定大小");
throw new BadRequestException(LangProcess.msg("universal_file"));
}
}

3
lms/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/ValidationUtil.java

@ -18,6 +18,7 @@ package org.nl.common.utils;
import cn.hutool.core.util.ObjectUtil;
import org.hibernate.validator.internal.constraintvalidators.hv.EmailValidator;
import org.nl.common.exception.BadRequestException;
import org.nl.config.language.LangProcess;
/**
* 验证工具
@ -32,7 +33,7 @@ public class ValidationUtil{
public static void isNull(Object obj, String entity, String parameter , Object value){
if(ObjectUtil.isNull(obj)){
String msg = entity + " 不存在: "+ parameter +" is "+ value;
throw new BadRequestException(msg);
throw new BadRequestException(LangProcess.msg("universal_validation",entity,parameter,value.toString()));
}
}

8
lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/WebMvcConfig.java

@ -15,7 +15,10 @@
*/
package org.nl.config;
import org.nl.config.language.InitLocaleResolver;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.LocaleResolver;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
@ -27,5 +30,8 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Bean
public LocaleResolver localeResolver(){
return new InitLocaleResolver();
}
}

37
lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/language/InitLocaleResolver.java

@ -0,0 +1,37 @@
package org.nl.config.language;
import org.apache.commons.lang3.StringUtils;
import org.nl.config.MapOf;
import org.springframework.web.servlet.LocaleResolver;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Locale;
import java.util.Map;
public class InitLocaleResolver implements LocaleResolver {
public static Map<String,String> Language_Country = MapOf.of("vi","vi-VN","id","in-ID","in","in-ID","en-US,en;q=0.9","en-US","en","en-US","zh","zh-CN","ko","ko-KR");
public static String language = "";
@Override
public Locale resolveLocale(HttpServletRequest request) {
String header = request.getHeader("Accept-Language");
if (StringUtils.isNotEmpty(header)){
String lang = Language_Country.get(header);
language = lang;
if (StringUtils.isNotEmpty(lang)){
String[] l = lang.split("-");
//印尼的ISO标准国家代码为id-ID
return new Locale(l[0], l[1]);
}
}
return Locale.getDefault();
}
@Override
public void setLocale(HttpServletRequest request, HttpServletResponse response, Locale locale) {
}
public String getLanguage(){
return language;
}
}

19
lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/language/LangProcess.java

@ -0,0 +1,19 @@
package org.nl.config.language;
import org.apache.commons.lang3.StringUtils;
import org.nl.config.SpringContextHolder;
import org.springframework.context.MessageSource;
import org.springframework.context.i18n.LocaleContextHolder;
public class LangProcess {
public static String msg(String code,String...args){
MessageSource bean = SpringContextHolder.getBean(MessageSource.class);
if (StringUtils.isEmpty(code)){
return " ";
}
String message = bean.getMessage(code, args, LocaleContextHolder.getLocale());
return message;
}
}

3
lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/dept/DeptController.java

@ -25,6 +25,7 @@ import org.nl.common.domain.query.PageQuery;
import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.PageUtil;
import org.nl.common.logging.annotation.Log;
import org.nl.config.language.LangProcess;
import org.nl.system.service.dept.ISysDeptService;
import org.nl.system.service.dept.dao.SysDept;
import org.nl.system.service.dept.dto.DeptQuery;
@ -96,7 +97,7 @@ public class DeptController {
// @SaCheckPermission("dept:edit")
public ResponseEntity<Object> update(@Validated @RequestBody SysDept dept){
if (dept.getPid() != null && dept.getDept_id().equals(dept.getPid())) {
throw new BadRequestException("上级不能为自己");
throw new BadRequestException(LangProcess.msg("universal_superior"));
}
deptService.updateDept(dept);
return new ResponseEntity<>(HttpStatus.NO_CONTENT);

5
lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/generator/CodeGeneratorController.java

@ -6,6 +6,7 @@ import io.swagger.annotations.ApiOperation;
import org.nl.common.base.TableDataInfo;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.exception.BadRequestException;
import org.nl.config.language.LangProcess;
import org.nl.system.service.generator.ICodeGenConfigService;
import org.nl.system.service.generator.ICodeGeneratorService;
import org.nl.system.service.generator.dao.CodeColumnConfig;
@ -72,7 +73,7 @@ public class CodeGeneratorController {
@PostMapping(value = "/{tableName}/{type}")
public ResponseEntity<Object> generator(@PathVariable String tableName, @PathVariable Integer type, HttpServletRequest request, HttpServletResponse response){
if(!generatorEnabled && type == 0){
throw new BadRequestException("此环境不允许生成代码,请选择预览或者下载查看!");
throw new BadRequestException(LangProcess.msg("error_generate_code"));
}
switch (type){
// 生成代码
@ -83,7 +84,7 @@ public class CodeGeneratorController {
// 打包
case 2: generatorService.download(genConfigService.findByTableName(tableName), generatorService.getColumns(tableName), request, response);
break;
default: throw new BadRequestException("没有这个选项");
default: throw new BadRequestException(LangProcess.msg("error_options"));
}
return new ResponseEntity<>(HttpStatus.OK);
}

3
lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/quartz/SysQuartzJobController.java

@ -9,6 +9,7 @@ import org.nl.common.base.TableDataInfo;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.exception.BadRequestException;
import org.nl.common.logging.annotation.Log;
import org.nl.config.language.LangProcess;
import org.nl.system.service.quartz.ISysQuartzJobService;
import org.nl.system.service.quartz.dao.SysQuartzJob;
import org.nl.system.service.quartz.dto.JobQuery;
@ -58,7 +59,7 @@ public class SysQuartzJobController {
@SaCheckPermission("timing:add")
public ResponseEntity<Object> create(@Validated @RequestBody SysQuartzJob resources) {
if (resources.getJob_id() != null) {
throw new BadRequestException("A new " + ENTITY_NAME + " cannot already have an ID");
throw new BadRequestException(LangProcess.msg("universal_scheduled_create",ENTITY_NAME));
}
quartzJobService.createJob(resources);
return new ResponseEntity<>(HttpStatus.CREATED);

5
lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/secutiry/MobileAuthorizationController.java

@ -18,6 +18,7 @@ import org.nl.common.utils.RsaUtils;
import org.nl.common.utils.SecurityUtils;
import org.nl.common.utils.dto.CurrentUser;
import org.nl.config.RsaProperties;
import org.nl.config.language.LangProcess;
import org.nl.system.service.role.ISysRoleService;
import org.nl.system.service.role.dao.SysRole;
import org.nl.system.service.secutiry.dto.AuthUserDto;
@ -66,13 +67,13 @@ public class MobileAuthorizationController {
SysUser userInfo = userService.getOne(new LambdaQueryWrapper<SysUser>()
.eq(SysUser::getUsername, authUser.getUsername())); // 拿到多个已经抛出异常
if (ObjectUtil.isEmpty(userInfo) || !userInfo.getPassword().equals(SaSecureUtil.md5BySalt(password, "salt"))) { // 这里需要密码加密
throw new BadRequestException("账号或密码错误!");
throw new BadRequestException(LangProcess.msg("login_pwdWrong"));
}
// 获取权限列表 - 登录查找权限
List<String> permissionList = roleService.getPermissionList((JSONObject) JSON.toJSON(userInfo));
if (!userInfo.getIs_used()) {
throw new BadRequestException("账号未激活");
throw new BadRequestException(LangProcess.msg("login_account"));
}
// 登录输入,登出删除

3
lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/tools/ToolLocalStorageController.java

@ -10,6 +10,7 @@ import org.nl.common.domain.query.PageQuery;
import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.FileUtil;
import org.nl.common.logging.annotation.Log;
import org.nl.config.language.LangProcess;
import org.nl.system.service.tools.IToolLocalStorageService;
import org.nl.system.service.tools.dao.ToolLocalStorage;
import org.nl.system.service.tools.dto.ToolLocalStorageQuery;
@ -58,7 +59,7 @@ public class ToolLocalStorageController {
// 判断文件是否为图片
String suffix = FileUtil.getExtensionName(file.getOriginalFilename());
if (!FileUtil.IMAGE.equals(FileUtil.getFileType(suffix))) {
throw new BadRequestException("只能上传图片");
throw new BadRequestException(LangProcess.msg("universal_image"));
}
return new ResponseEntity<>(localStorageService.create(null, file), HttpStatus.OK);
}

9
lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/user/UserController.java

@ -31,6 +31,7 @@ import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.RsaUtils;
import org.nl.common.utils.SecurityUtils;
import org.nl.common.logging.annotation.Log;
import org.nl.config.language.LangProcess;
import org.nl.system.service.user.ISysUserService;
import org.nl.system.service.user.dao.SysUser;
import org.nl.system.service.user.dto.UserQuery;
@ -86,7 +87,7 @@ public class UserController {
// @PutMapping(value = "center")
public ResponseEntity<Object> center(@RequestBody SysUser resources){
if(!resources.getUser_id().equals(StpUtil.getLoginIdAsLong())){
throw new BadRequestException("不能修改他人资料");
throw new BadRequestException(LangProcess.msg("login_update_information"));
}
userService.saveOrUpdate(resources);
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
@ -109,10 +110,10 @@ public class UserController {
String newPass = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey,passVo.getString("newPass"));
SysUser user = userService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUsername, SecurityUtils.getCurrentUsername()));
if (!SaSecureUtil.md5BySalt(user.getPassword(), "salt").equals(SaSecureUtil.md5BySalt(oldPass, "salt"))) {
throw new BadRequestException("修改失败,旧密码错误");
throw new BadRequestException(LangProcess.msg("login_pwdWrong_1"));
}
if (!SaSecureUtil.md5BySalt(user.getPassword(), "salt").equals(SaSecureUtil.md5BySalt(newPass, "salt"))) {
throw new BadRequestException("新密码不能与旧密码相同");
throw new BadRequestException(LangProcess.msg("login_pwdWrong_2"));
}
user.setPassword(SaSecureUtil.md5BySalt(newPass, "salt"));
userService.updateById(user);
@ -132,7 +133,7 @@ public class UserController {
String password = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey,user.getPassword());
SysUser userInfo = userService.getOne(new QueryWrapper<SysUser>().eq("username",SecurityUtils.getCurrentUsername()));
if(!SaSecureUtil.md5BySalt(userInfo.getPassword(), "salt").equals(SaSecureUtil.md5BySalt(password, "salt"))){
throw new BadRequestException("密码错误");
throw new BadRequestException(LangProcess.msg("error_pwd"));
}
userService.update(new UpdateWrapper<SysUser>().set(userInfo.getUsername(),user.getEmail()));
return new ResponseEntity<>(HttpStatus.OK);

7
lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/coderule/impl/SysCodeRuleServiceImpl.java

@ -12,6 +12,7 @@ import org.nl.common.domain.query.PageQuery;
import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.SecurityUtils;
import org.nl.config.MapOf;
import org.nl.config.language.LangProcess;
import org.nl.system.service.coderule.ISysCodeRuleService;
import org.nl.system.service.coderule.dao.SysCodeRule;
import org.nl.system.service.coderule.dao.SysCodeRuleDetail;
@ -107,7 +108,7 @@ public class SysCodeRuleServiceImpl extends ServiceImpl<SysCodeRuleMapper, SysCo
if (!isSame) {
int initValue = Integer.parseInt(detail.getInit_value());
if (StrUtil.isEmpty((initValue + ""))) {
throw new BadRequestException("请完善编码数值的初始值!");
throw new BadRequestException(LangProcess.msg("universal_init_code"));
}
detail.setCurrent_value(String.valueOf(initValue));
} else {
@ -136,7 +137,7 @@ public class SysCodeRuleServiceImpl extends ServiceImpl<SysCodeRuleMapper, SysCo
String currentUsername = SecurityUtils.getCurrentUsername();
String now = DateUtil.now();
List<SysCodeRule> sysCodeRules = codeRuleMapper.selectList(new LambdaQueryWrapper<SysCodeRule>().eq(SysCodeRule::getCode, codeRule.getCode()));
if (ObjectUtil.isNotEmpty(sysCodeRules)) throw new BadRequestException("编号[" + sysCodeRules.get(0).getCode() + "]已存在");
if (ObjectUtil.isNotEmpty(sysCodeRules)) throw new BadRequestException(LangProcess.msg("universal_code_exist1", sysCodeRules.get(0).getCode()));
codeRule.setId(IdUtil.getSnowflake(1,1).nextIdStr());
codeRule.setCreate_id(currentUserId);
codeRule.setCreate_name(currentUsername);
@ -161,7 +162,7 @@ public class SysCodeRuleServiceImpl extends ServiceImpl<SysCodeRuleMapper, SysCo
List<SysCodeRule> sysCodeRules = codeRuleMapper.selectList(new LambdaQueryWrapper<SysCodeRule>()
.eq(SysCodeRule::getCode, codeRule.getCode())
.ne(SysCodeRule::getId, codeRule.getId()));
if (ObjectUtil.isNotEmpty(sysCodeRules)) throw new BadRequestException("该编码code已存在,请校验!");
if (ObjectUtil.isNotEmpty(sysCodeRules)) throw new BadRequestException(LangProcess.msg("universal_code_exist2"));
String currentUserId = SecurityUtils.getCurrentUserId();
String currentUsername = SecurityUtils.getCurrentUsername();
String now = DateUtil.now();

3
lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/dept/impl/SysDeptServiceImpl.java

@ -10,6 +10,7 @@ import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.SecurityUtils;
import org.nl.common.utils.dto.CurrentUser;
import org.nl.common.domain.vo.DeptVo;
import org.nl.config.language.LangProcess;
import org.nl.system.service.dept.dto.DeptTree;
import org.nl.common.utils.CopyUtil;
import org.nl.config.IdUtil;
@ -157,7 +158,7 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
if (!CollectionUtils.isEmpty(depeIds)){
List<Map> deptRelation = sysDeptMapper.getDeptRelation(depeIds);
if (!CollectionUtils.isEmpty(deptRelation)){
throw new BadRequestException("部门存在绑定的人员,请先解绑人员对应部门");
throw new BadRequestException(LangProcess.msg("universal_dept_exist"));
}
}
}

13
lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/dict/impl/SysDictServiceImpl.java

@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.SecurityUtils;
import org.nl.config.language.LangProcess;
import org.nl.system.service.dict.ISysDictService;
import org.nl.system.service.dict.dao.Dict;
import org.nl.system.service.dict.dao.mapper.SysDictMapper;
@ -59,7 +60,7 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, Dict> impleme
String date = DateUtil.now();
List<Dict> oldDict = sysDictMapper.selectList(new LambdaQueryWrapper<Dict>()
.eq(ObjectUtil.isNotEmpty(dict.getCode()), Dict::getCode, dict.getCode()));
if (ObjectUtil.isNotEmpty(oldDict)) throw new BadRequestException("字典[" + dict.getCode() + "]已存在");
if (ObjectUtil.isNotEmpty(oldDict)) throw new BadRequestException(LangProcess.msg("universal_dict_exist",dict.getCode()));
dict.setDict_id(IdUtil.getSnowflake(1, 1).nextIdStr());
dict.setCreate_id(currentUserId);
dict.setCreate_name(nickName);
@ -75,11 +76,11 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, Dict> impleme
public void updateDict(Dict dto) {
Dict dict = sysDictMapper.selectById(dto.getDict_id());
if (ObjectUtil.isEmpty(dict)) {
throw new BadRequestException("字典不存在");
throw new BadRequestException(LangProcess.msg("universal_dict_NoExist"));
}
List<Dict> dictList = sysDictMapper.selectList(new LambdaQueryWrapper<Dict>().eq(Dict::getCode, dto.getCode()));
if (ObjectUtil.isNotEmpty(dictList) && !dto.getCode().equals(dict.getCode()))
throw new BadRequestException("字典[" + dto.getCode() + "]已存在");
throw new BadRequestException(LangProcess.msg("universal_dict_exist",dict.getCode()));
String currentUserId = SecurityUtils.getCurrentUserId();
String currentNickName = SecurityUtils.getCurrentNickName();
// 根据code获取所有字典
@ -130,7 +131,7 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, Dict> impleme
// 校验是否已经有标签
Dict one = sysDictMapper.selectOne(new LambdaQueryWrapper<Dict>().eq(Dict::getLabel, dict.getLabel())
.eq(Dict::getCode, dict.getCode()));
if (ObjectUtil.isNotEmpty(one)) throw new BadRequestException("标签[" + dict.getLabel() + "]已存在");
if (ObjectUtil.isNotEmpty(one)) throw new BadRequestException(LangProcess.msg("universal_label_exist",dict.getLabel()));
// 判断是否有空的值
List<Dict> selectOne = sysDictMapper.selectList(new LambdaQueryWrapper<Dict>().eq(Dict::getCode, dict.getCode()));
Dict dic = selectOne.get(0);
@ -165,13 +166,13 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, Dict> impleme
public void updateDetail(Dict resources) {
Dict dict = sysDictMapper.selectById(resources.getDict_id());
if (ObjectUtil.isEmpty(dict)) {
throw new BadRequestException("被删除或无权限,操作失败!");
throw new BadRequestException(LangProcess.msg("universal_error"));
}
// 校验是否已经有标签
List<Dict> dictList = sysDictMapper.selectList(new LambdaQueryWrapper<Dict>().eq(Dict::getLabel, resources.getLabel())
.eq(Dict::getCode, resources.getCode()));
if (ObjectUtil.isNotEmpty(dictList) && !resources.getLabel().equals(dict.getLabel())) {
throw new BadRequestException("标签[" + resources.getLabel() + "]已存在");
throw new BadRequestException(LangProcess.msg("universal_label_exist",dict.getLabel()));
}
resources.setUpdate_id(SecurityUtils.getCurrentUserId());
resources.setUpdate_name(SecurityUtils.getCurrentNickName());

11
lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/generator/impl/CodeGeneratorServiceImpl.java

@ -13,6 +13,7 @@ import org.nl.common.domain.query.PageQuery;
import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.FileUtil;
import org.nl.common.utils.GenUtil;
import org.nl.config.language.LangProcess;
import org.nl.system.service.generator.ICodeGeneratorService;
import org.nl.system.service.generator.dao.CodeColumnConfig;
import org.nl.system.service.generator.dao.CodeGenConfig;
@ -141,7 +142,7 @@ public class CodeGeneratorServiceImpl extends ServiceImpl<CodeColumnConfigMapper
public ResponseEntity<Object> preview(CodeGenConfig genConfig, IPage<CodeColumnConfig> columns) {
List<CodeColumnConfig> columnsRecords = columns.getRecords();
if (genConfig.getConfig_id() == null) {
throw new BadRequestException("请先配置生成器");
throw new BadRequestException(LangProcess.msg("universal_generators"));
}
List<Map<String, Object>> genList = GenUtil.preview(columnsRecords, genConfig);
return new ResponseEntity<>(genList, HttpStatus.OK);
@ -151,7 +152,7 @@ public class CodeGeneratorServiceImpl extends ServiceImpl<CodeColumnConfigMapper
public void download(CodeGenConfig genConfig, IPage<CodeColumnConfig> columnsPage, HttpServletRequest request, HttpServletResponse response) {
List<CodeColumnConfig> columns = columnsPage.getRecords();
if (genConfig.getConfig_id() == null) {
throw new BadRequestException("请先配置生成器");
throw new BadRequestException(LangProcess.msg("universal_generators"));
}
try {
File file = new File(GenUtil.download(columns, genConfig));
@ -159,7 +160,7 @@ public class CodeGeneratorServiceImpl extends ServiceImpl<CodeColumnConfigMapper
ZipUtil.zip(file.getPath(), zipPath);
FileUtil.downloadFile(request, response, new File(zipPath), true);
} catch (IOException e) {
throw new BadRequestException("打包失败");
throw new BadRequestException(LangProcess.msg("error_pack"));
}
}
@ -167,13 +168,13 @@ public class CodeGeneratorServiceImpl extends ServiceImpl<CodeColumnConfigMapper
public void generator(CodeGenConfig genConfig, IPage<CodeColumnConfig> columnsPage) {
List<CodeColumnConfig> columns = columnsPage.getRecords();
if (genConfig.getConfig_id() == null) {
throw new BadRequestException("请先配置生成器");
throw new BadRequestException(LangProcess.msg("universal_generators"));
}
try {
GenUtil.generatorCode(columns, genConfig);
} catch (IOException e) {
log.error(e.getMessage(), e);
throw new BadRequestException("生成失败,请手动处理已生成的文件");
throw new BadRequestException(LangProcess.msg("error_generate"));
}
}
}

3
lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/logicflow/impl/StageImageServiceImpl.java

@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.SecurityUtils;
import org.nl.config.language.LangProcess;
import org.nl.system.service.logicflow.IStageImageService;
import org.nl.system.service.logicflow.dao.StageImage;
import org.nl.system.service.logicflow.dao.mapper.StageImageMapper;
@ -61,7 +62,7 @@ public class StageImageServiceImpl extends ServiceImpl<StageImageMapper, StageIm
public void update(StageImage entity) {
StageImage dto = stageImageMapper.selectOne(new LambdaQueryWrapper<StageImage>()
.eq(StageImage::getImage_uuid, entity.getImage_uuid()));
if (dto == null) throw new BadRequestException("被删除或无权限,操作失败!");
if (dto == null) throw new BadRequestException(LangProcess.msg("universal_error"));
String currentUsername = SecurityUtils.getCurrentUsername();
String currentUserId = SecurityUtils.getCurrentUserId();

7
lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/logicflow/impl/StageServiceImpl.java

@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.SecurityUtils;
import org.nl.config.language.LangProcess;
import org.nl.system.service.logicflow.IStageService;
import org.nl.system.service.logicflow.dao.Stage;
import org.nl.system.service.logicflow.dao.mapper.StageMapper;
@ -46,7 +47,7 @@ public class StageServiceImpl extends ServiceImpl<StageMapper, Stage> implements
public void create(Stage entity) {
Stage stage = stageMapper.selectOne(new LambdaQueryWrapper<Stage>().eq(Stage::getStage_code, entity.getStage_code()));
if (ObjectUtil.isNotEmpty(stage)) {
throw new BadRequestException("舞台编码[" + entity.getStage_code() + "]已存在");
throw new BadRequestException(LangProcess.msg("universal_stage_exist",entity.getStage_code()));
}
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
@ -65,7 +66,7 @@ public class StageServiceImpl extends ServiceImpl<StageMapper, Stage> implements
@Override
public void update(Stage dto) {
Stage entity = stageMapper.selectOne(new LambdaQueryWrapper<Stage>().eq(Stage::getStage_uuid, dto.getStage_uuid()));
if (entity == null) throw new BadRequestException("被删除或无权限,操作失败!");
if (entity == null) throw new BadRequestException(LangProcess.msg("universal_error"));
String currentUsername = SecurityUtils.getCurrentUsername();
String currentUserId = SecurityUtils.getCurrentUserId();
@ -93,7 +94,7 @@ public class StageServiceImpl extends ServiceImpl<StageMapper, Stage> implements
public void addNewStage(Stage dto) {
Stage stage = stageMapper.selectOne(new LambdaQueryWrapper<Stage>().eq(Stage::getStage_code, dto.getStage_code()));
if (ObjectUtil.isEmpty(stage)) {
throw new BadRequestException("舞台不存在");
throw new BadRequestException(LangProcess.msg("universal_stage_NoExist"));
}
// 设置内容
stage.setStage_data(dto.getStage_data());

10
lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/impl/SysMenuServiceImpl.java

@ -18,6 +18,7 @@ import org.nl.common.domain.vo.MenuMetaVo;
import org.nl.common.domain.vo.MenuVo;
import org.nl.common.utils.CopyUtil;
import org.nl.config.IdUtil;
import org.nl.config.language.LangProcess;
import org.nl.system.service.dict.dao.Dict;
import org.nl.system.service.dict.dao.mapper.SysDictMapper;
import org.nl.system.service.lucene.LuceneExecuteLogService;
@ -27,6 +28,7 @@ import org.nl.system.service.menu.dao.SysMenu;
import org.nl.system.service.menu.dao.mapper.SysMenuMapper;
import org.nl.system.service.menu.dto.MenuQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
@ -118,7 +120,7 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
if (resources.getIframe()) {
String http = "http://", https = "https://";
if (!(resources.getPath().toLowerCase().startsWith(http) || resources.getPath().toLowerCase().startsWith(https))) {
throw new BadRequestException("外链必须以http://或者https://开头");
throw new BadRequestException(LangProcess.msg("universal_Backlinks"));
}
}
resources.setMenu_id(IdUtil.getStringId());
@ -193,12 +195,12 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
String allChild = baseMapper.findAllChild(menuId); // 获取当前菜单的所有子菜单
List<String> allChildIds = ObjectUtil.isNotEmpty(allChild)?Arrays.asList(allChild.split(",")):null;
if (ObjectUtil.isNotEmpty(allChildIds) && allChildIds.contains(resources.getPid())){
throw new BadRequestException("上级不能为自己或自己的下级");
throw new BadRequestException(LangProcess.msg("universal_superior_or_lower"));
}
if (resources.getIframe()) {
String http = "http://", https = "https://";
if (!(resources.getPath().toLowerCase().startsWith(http) || resources.getPath().toLowerCase().startsWith(https))) {
throw new BadRequestException("外链必须以http://或者https://开头");
throw new BadRequestException(LangProcess.msg("universal_Backlinks"));
}
}
@ -387,7 +389,7 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
public List<MenuVo> buildMenus(String systemType) {
Dict dict = sysDictMapper.selectOne(new QueryWrapper<Dict>().eq("code", DictConstantPool.DICT_SYS_CODE).eq("value", systemType));
if (dict == null || StringUtils.isEmpty(dict.getPara1())){
throw new BadRequestException("获取对应的系统菜单不存在");
throw new BadRequestException(LangProcess.msg("universal_menu_NoExist"));
}
String pid = dict.getPara1();
List<SysMenu> menuDtoList = baseMapper.findSystemMenu(SecurityUtils.getCurrentUserId(),systemType);

9
lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/notice/impl/SysNoticeServiceImpl.java

@ -19,6 +19,7 @@ import org.nl.common.mnt.websocket.MsgType;
import org.nl.common.mnt.websocket.SocketMsg;
import org.nl.common.mnt.websocket.WebSocketServer;
import org.nl.common.utils.SecurityUtils;
import org.nl.config.language.LangProcess;
import org.nl.system.service.dict.dao.Dict;
import org.nl.system.service.dict.dao.mapper.SysDictMapper;
import org.nl.system.service.notice.ISysNoticeService;
@ -83,7 +84,7 @@ public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice
@Override
public void update(SysNotice entity) {
SysNotice dto = sysNoticeMapper.selectById(entity.getNotice_id());
if (dto == null) throw new BadRequestException("被删除或无权限,操作失败!");
if (dto == null) throw new BadRequestException(LangProcess.msg("universal_error"));
sysNoticeMapper.updateById(entity);
}
@ -120,7 +121,7 @@ public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice
public void read(String id) {
SysNotice notice = this.getById(id);
if (ObjectUtil.isEmpty(notice)) {
throw new BadRequestException("该信息不存在!");
throw new BadRequestException(LangProcess.msg("universal_msg_NoExist"));
}
notice.setHave_read(NoticeEnum.HAVE_READ_ON.getValue());
notice.setRead_time(DateUtil.now());
@ -131,7 +132,7 @@ public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice
public void deal(String id) {
SysNotice notice = this.getById(id);
if (ObjectUtil.isEmpty(notice)) {
throw new BadRequestException("该信息不存在!");
throw new BadRequestException(LangProcess.msg("universal_msg_NoExist"));
}
// 设置处理
notice.setDeal_status(NoticeEnum.DEAL_STATUS_YES.getValue());
@ -176,7 +177,7 @@ public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice
try {
webSocketServer.sendInfo(messageInfo, "messageInfo");
} catch (IOException e) {
throw new BadRequestException("消息发送失败");
throw new BadRequestException(LangProcess.msg("error_send_msg"));
}
}

13
lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/param/dao/Param.java

@ -37,6 +37,19 @@ public class Param implements Serializable {
*/
private String name;
/**
* 中文名称
*/
private String zh_name;
/**
* 英文名称
*/
private String en_name;
/**
* 越南名称
*/
private String vi_name;
/**
*
*/

7
lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/param/impl/SysParamServiceImpl.java

@ -12,6 +12,7 @@ import org.nl.common.domain.query.PageQuery;
import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.SecurityUtils;
import org.nl.config.MapOf;
import org.nl.config.language.LangProcess;
import org.nl.system.service.param.ISysParamService;
import org.nl.system.service.param.dao.Param;
import org.nl.system.service.param.dao.mapper.SysParamMapper;
@ -49,7 +50,7 @@ public class SysParamServiceImpl extends ServiceImpl<SysParamMapper, Param> impl
@Transactional(rollbackFor = Exception.class)
public void create(Param param) {
List code = paramMapper.selectByMap(MapOf.of("code", param.getCode()));
if (ObjectUtil.isNotEmpty(code)) throw new BadRequestException("编码不能一致");
if (ObjectUtil.isNotEmpty(code)) throw new BadRequestException(LangProcess.msg("universal_encode"));
param.setId(IdUtil.getSnowflake(1, 1).nextIdStr());
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
@ -68,12 +69,12 @@ public class SysParamServiceImpl extends ServiceImpl<SysParamMapper, Param> impl
public void update(Param param) {
Param paramObj = paramMapper.selectById(param.getId());
if (ObjectUtil.isEmpty(paramObj)) {
throw new BadRequestException("被删除或无权限,操作失败!");
throw new BadRequestException(LangProcess.msg("universal_error"));
}
Param param1 = paramMapper.selectOne(new LambdaQueryWrapper<Param>().eq(Param::getCode, param.getCode())
.and(lam -> lam.ne(Param::getId, param.getId())));
if (ObjectUtil.isNotEmpty(param1)) {
throw new BadRequestException("编码[" + param.getCode() + "]已存在");
throw new BadRequestException(LangProcess.msg("universal_encode_exist",param.getCode()));
}
param.setUpdate_id(SecurityUtils.getCurrentUserId());
param.setUpdate_name(SecurityUtils.getCurrentNickName());

15
lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/permission/dao/SysDataPermission.java

@ -42,6 +42,21 @@ public class SysDataPermission implements Serializable {
*/
@NotNull
private String name;
/**
* 中文名称
*/
@NotNull
private String zh_name;
/**
* 英文名称
*/
@NotNull
private String en_name;
/**
* 越南名称
*/
@NotNull
private String vi_name;
/**
* 排序

9
lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/permission/impl/SysDataPermissionServiceImpl.java

@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.SecurityUtils;
import org.nl.config.language.LangProcess;
import org.nl.system.service.dict.dao.Dict;
import org.nl.system.service.dict.dao.mapper.SysDictMapper;
import org.nl.system.service.permission.ISysDataPermissionService;
@ -55,7 +56,7 @@ public class SysDataPermissionServiceImpl extends ServiceImpl<SysDataPermissionM
@Transactional(rollbackFor = Exception.class)
public void create(SysDataPermission permission) {
SysDataPermission sysDataPermission = dataPermissionMapper.selectOne(new LambdaQueryWrapper<SysDataPermission>().eq(SysDataPermission::getCode, permission.getCode()));
if (ObjectUtil.isNotEmpty(sysDataPermission)) throw new BadRequestException("编码为[" + permission.getCode() + "]的数据权限已存在");
if (ObjectUtil.isNotEmpty(sysDataPermission)) throw new BadRequestException(LangProcess.msg("universal_encode_date_exist",permission.getCode()));
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
String now = DateUtil.now();
@ -74,7 +75,7 @@ public class SysDataPermissionServiceImpl extends ServiceImpl<SysDataPermissionM
@Transactional(rollbackFor = Exception.class)
public void update(SysDataPermission permission) {
SysDataPermission dataPermission = dataPermissionMapper.selectById(permission.getPermission_id());
if (ObjectUtil.isEmpty(dataPermission)) throw new BadRequestException("被删除或无权限,操作失败!");
if (ObjectUtil.isEmpty(dataPermission)) throw new BadRequestException(LangProcess.msg("universal_error"));
permission.setUpdate_time(DateUtil.now());
permission.setUpdate_id(SecurityUtils.getCurrentUserId());
permission.setUpdate_name(SecurityUtils.getCurrentNickName());
@ -86,7 +87,7 @@ public class SysDataPermissionServiceImpl extends ServiceImpl<SysDataPermissionM
public void deleteAll(Set<String> ids) {
ids.forEach(id -> {
List<UserDataPermissionDto> permissions = userService.getUserDataPermissionByPermissionId(id);
if (ObjectUtil.isNotEmpty(permissions)) throw new BadRequestException("存在相关联的数据权限,请解除关联后删除");
if (ObjectUtil.isNotEmpty(permissions)) throw new BadRequestException(LangProcess.msg("universal_exist_linked_data"));
dataPermissionMapper.deleteById(id);
});
}
@ -126,7 +127,7 @@ public class SysDataPermissionServiceImpl extends ServiceImpl<SysDataPermissionM
public void savePermission(JSONObject datas) {
String user_id = datas.getString("user_id");
JSONArray data = datas.getJSONArray("datas");
if (ObjectUtil.isEmpty(user_id)) throw new BadRequestException("用户不能为空");
if (ObjectUtil.isEmpty(user_id)) throw new BadRequestException(LangProcess.msg("universal_userid_empty"));
// 删除用户绑定的数据
userService.deleteDataPermissionById(user_id);
dataPermissionMapper.deleteScopeBySelfUserId(user_id);

7
lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/impl/SysQuartzJobServiceImpl.java

@ -12,6 +12,7 @@ import org.nl.common.domain.query.PageQuery;
import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.RedisUtils;
import org.nl.common.utils.SecurityUtils;
import org.nl.config.language.LangProcess;
import org.nl.system.service.quartz.ISysQuartzJobService;
import org.nl.system.service.quartz.dao.SysQuartzJob;
import org.nl.system.service.quartz.dao.SysQuartzLog;
@ -71,7 +72,7 @@ public class SysQuartzJobServiceImpl extends ServiceImpl<SysQuartzJobMapper, Sys
@Transactional(rollbackFor = Exception.class)
public void createJob(SysQuartzJob resources) {
if (!CronExpression.isValidExpression(resources.getCron_expression())) {
throw new BadRequestException("cron表达式格式错误");
throw new BadRequestException(LangProcess.msg("error_cron"));
}
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
@ -92,12 +93,12 @@ public class SysQuartzJobServiceImpl extends ServiceImpl<SysQuartzJobMapper, Sys
@Transactional(rollbackFor = Exception.class)
public void updateJob(SysQuartzJob resources) {
if (!CronExpression.isValidExpression(resources.getCron_expression())) {
throw new BadRequestException("cron表达式格式错误");
throw new BadRequestException(LangProcess.msg("error_cron"));
}
if (StrUtil.isNotEmpty(resources.getSub_task())) {
List<String> tasks = Arrays.asList(resources.getSub_task().split("[,,]"));
if (tasks.contains(resources.getJob_id())) {
throw new BadRequestException("子任务中不能添加当前任务ID");
throw new BadRequestException(LangProcess.msg("task_Subtasks"));
}
}
resources.setUpdate_id(SecurityUtils.getCurrentUserId());

13
lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/utils/QuartzManage.java

@ -2,6 +2,7 @@ package org.nl.system.service.quartz.utils;
import lombok.extern.slf4j.Slf4j;
import org.nl.common.exception.BadRequestException;
import org.nl.config.language.LangProcess;
import org.nl.system.service.quartz.dao.SysQuartzJob;
import org.quartz.*;
import org.quartz.impl.triggers.CronTriggerImpl;
@ -52,7 +53,7 @@ public class QuartzManage {
}
} catch (Exception e){
log.error("创建定时任务失败", e);
throw new BadRequestException("创建定时任务失败");
throw new BadRequestException(LangProcess.msg("error_scheduled_create"));
}
}
@ -82,7 +83,7 @@ public class QuartzManage {
}
} catch (Exception e){
log.error("更新定时任务失败", e);
throw new BadRequestException("更新定时任务失败");
throw new BadRequestException(LangProcess.msg("error_scheduled_update"));
}
}
@ -102,7 +103,7 @@ public class QuartzManage {
scheduler.resumeJob(jobKey);
} catch (Exception e){
log.error("恢复定时任务失败", e);
throw new BadRequestException("恢复定时任务失败");
throw new BadRequestException(LangProcess.msg("error_scheduled_recover"));
}
}
@ -116,7 +117,7 @@ public class QuartzManage {
scheduler.pauseJob(jobKey);
} catch (Exception e){
log.error("定时任务暂停失败", e);
throw new BadRequestException("定时任务暂停失败");
throw new BadRequestException(LangProcess.msg("error_scheduled_paused"));
}
}
@ -138,7 +139,7 @@ public class QuartzManage {
scheduler.triggerJob(jobKey,dataMap);
} catch (Exception e){
log.error("定时任务执行失败", e);
throw new BadRequestException("定时任务执行失败");
throw new BadRequestException(LangProcess.msg("error_scheduled_execute"));
}
}
@ -153,7 +154,7 @@ public class QuartzManage {
scheduler.deleteJob(jobKey);
} catch (Exception e){
log.error("删除定时任务失败", e);
throw new BadRequestException("删除定时任务失败");
throw new BadRequestException(LangProcess.msg("error_scheduled_delete"));
}
}
}

9
lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/role/impl/SysRoleServiceImpl.java

@ -14,6 +14,7 @@ import org.apache.commons.lang3.StringUtils;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.SecurityUtils;
import org.nl.config.language.LangProcess;
import org.nl.system.service.menu.dao.mapper.SysMenuMapper;
import org.nl.system.service.role.ISysRoleService;
import org.nl.system.service.role.dao.SysRole;
@ -59,12 +60,12 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
public void create(JSONObject param) {
//判断角色名字是否存在
String name = param.getString("name");
if (StrUtil.isEmpty(name)) throw new BadRequestException("角色名字不能为空!");
if (StrUtil.isEmpty(name)) throw new BadRequestException(LangProcess.msg("universal_role_empty"));
SysRole sysRole = JSONObject.parseObject(JSONObject.toJSONString(param), SysRole.class);
//判断角色名字是否存在
SysRole role = roleMapper.selectOne(new LambdaQueryWrapper<SysRole>().eq(SysRole::getName, sysRole.getName()));
if (ObjectUtil.isNotEmpty(role)) throw new BadRequestException("角色【" + name + "】已存在!");
if (ObjectUtil.isNotEmpty(role)) throw new BadRequestException(LangProcess.msg("universal_role_exist",name));
String userId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
@ -86,12 +87,12 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
SysRole sysRole = JSONObject.parseObject(JSONObject.toJSONString(param), SysRole.class);
//判断角色名字是否存在
String name = sysRole.getName();
if (StrUtil.isEmpty(name)) throw new BadRequestException("角色名字不能为空!");
if (StrUtil.isEmpty(name)) throw new BadRequestException(LangProcess.msg("universal_role_empty"));
//判断角色名字是否存在
SysRole role = roleMapper.selectOne(new LambdaQueryWrapper<SysRole>().eq(SysRole::getName, sysRole.getName())
.ne(SysRole::getRole_id, sysRole.getRole_id()));
if (ObjectUtil.isNotEmpty(role)) throw new BadRequestException("角色【" + name + "】已存在!");
if (ObjectUtil.isNotEmpty(role)) throw new BadRequestException(LangProcess.msg("universal_role_exist",name));
String userId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
String now = DateUtil.now();

9
lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/secutiry/impl/OnlineUserService.java

@ -30,6 +30,7 @@ import org.nl.common.utils.*;
import org.nl.config.RsaProperties;
import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.dto.CurrentUser;
import org.nl.config.language.LangProcess;
import org.nl.system.service.dept.ISysDeptService;
import org.nl.system.service.dept.dao.SysDept;
import org.nl.system.service.secutiry.dto.UserDto;
@ -240,16 +241,16 @@ public class OnlineUserService {
// 清除验证码
redisUtils.del(authUser.getUuid());
if (StrUtil.isEmpty(code)) {
throw new BadRequestException("验证码不存在或已过期");
throw new BadRequestException(LangProcess.msg("login_codeNull"));
}
if (StrUtil.isEmpty(authUser.getCode()) || !authUser.getCode().equalsIgnoreCase(code)) {
throw new BadRequestException("验证码错误");
throw new BadRequestException(LangProcess.msg("login_codeError"));
}
// 校验数据库
// 根据用户名查询,在比对密码
SysUser userInfo = sysUserService.getOne(new QueryWrapper<SysUser>().eq("username",authUser.getUsername()));
if (userInfo == null||!userInfo.getPassword().equals(SaSecureUtil.md5BySalt(password, "salt"))) { // 这里需要密码加密
throw new BadRequestException("账号或密码错误");
throw new BadRequestException(LangProcess.msg("login_pwdWrong"));
}
// 获取权限列表 - 登录查找权限
@ -257,7 +258,7 @@ public class OnlineUserService {
if (!userInfo.getIs_used()) {
throw new BadRequestException("账号未激活");
throw new BadRequestException(LangProcess.msg("login_account"));
}
// 登录输入,登出删除

5
lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/tools/impl/ToolLocalStorageServiceImpl.java

@ -10,6 +10,7 @@ import org.nl.config.FileProperties;
import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.FileUtil;
import org.nl.common.utils.SecurityUtils;
import org.nl.config.language.LangProcess;
import org.nl.system.service.tools.dao.ToolLocalStorage;
import org.nl.system.service.tools.dao.mapper.ToolLocalStorageMapper;
import org.nl.system.service.tools.IToolLocalStorageService;
@ -52,7 +53,7 @@ public class ToolLocalStorageServiceImpl extends ServiceImpl<ToolLocalStorageMap
String type = FileUtil.getFileType(suffix);
File file = FileUtil.upload(multipartFile, properties.getPath().getPath() + type + File.separator);
if(ObjectUtil.isNull(file)){
throw new BadRequestException("上传失败");
throw new BadRequestException(LangProcess.msg("error_upload"));
}
try {
String userId = SecurityUtils.getCurrentUserId();
@ -85,7 +86,7 @@ public class ToolLocalStorageServiceImpl extends ServiceImpl<ToolLocalStorageMap
@Transactional(rollbackFor = Exception.class)
public void update(ToolLocalStorage resources) {
ToolLocalStorage storage = localStorageMapper.selectById(resources.getStorage_id());
if (ObjectUtil.isEmpty(storage)) throw new BadRequestException("文件信息不存在");
if (ObjectUtil.isEmpty(storage)) throw new BadRequestException(LangProcess.msg("universal_file_NoExist"));
resources.setUpdate_id(SecurityUtils.getCurrentUserId());
resources.setUpdate_name(SecurityUtils.getCurrentNickName());
resources.setUpdate_time(DateUtil.now());

9
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/classification/service/impl/MdBaseClassstandardServiceImpl.java

@ -11,6 +11,7 @@ import lombok.extern.slf4j.Slf4j;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.SecurityUtils;
import org.nl.config.language.LangProcess;
import org.nl.wms.database.classification.service.IMdBaseClassstandardService;
import org.nl.wms.database.classification.service.dao.MdBaseClassstandard;
import org.nl.wms.database.classification.service.dao.mapper.MdBaseClassstandardMapper;
@ -65,7 +66,7 @@ public class MdBaseClassstandardServiceImpl extends ServiceImpl<MdBaseClassstand
.eq(MdBaseClassstandard::getClass_code, entity.getClass_code())
.eq(MdBaseClassstandard::getIs_delete, false));
if (ObjectUtil.isNotEmpty(mdBaseClassstandard) && !mdBaseClassstandard.getClass_id().equals(entity.getClass_id())) {
throw new BadRequestException("存在相同的基础类别编号");
throw new BadRequestException(LangProcess.msg("universal_exist_class"));
}
String currentUserId = SecurityUtils.getCurrentUserId();
@ -103,20 +104,20 @@ public class MdBaseClassstandardServiceImpl extends ServiceImpl<MdBaseClassstand
@Override
public void update(MdBaseClassstandard entity) {
MdBaseClassstandard dto = mdBaseClassstandardMapper.selectById(entity.getClass_id());
if (dto == null) throw new BadRequestException("被删除或无权限,操作失败!");
if (dto == null) throw new BadRequestException(LangProcess.msg("universal_error"));
// 判断是否存在
MdBaseClassstandard mdBaseClassstandard = mdBaseClassstandardMapper
.selectOne(new LambdaQueryWrapper<MdBaseClassstandard>()
.eq(MdBaseClassstandard::getClass_code, entity.getClass_code())
.eq(MdBaseClassstandard::getIs_delete, false));
if (ObjectUtil.isNotEmpty(mdBaseClassstandard) && !mdBaseClassstandard.getClass_id().equals(entity.getClass_id())) {
throw new BadRequestException("存在相同的基础类别编号");
throw new BadRequestException(LangProcess.msg("universal_exist_class"));
}
// 查询原来的父id
String oldPid = dto.getParent_class_id();
String newPid = entity.getParent_class_id();
if (entity.getParent_class_id() != null && entity.getClass_id().equals(entity.getParent_class_id())) {
throw new BadRequestException("上级不能为自己");
throw new BadRequestException(LangProcess.msg("universal_superior"));
}
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();

3
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/material/service/impl/MdBaseMaterialServiceImpl.java

@ -11,6 +11,7 @@ import lombok.extern.slf4j.Slf4j;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.SecurityUtils;
import org.nl.config.language.LangProcess;
import org.nl.wms.database.material.service.IMdBaseMaterialService;
import org.nl.wms.database.material.service.dao.MdBaseMaterial;
import org.nl.wms.database.material.service.dao.mapper.MdBaseMaterialMapper;
@ -68,7 +69,7 @@ public class MdBaseMaterialServiceImpl extends ServiceImpl<MdBaseMaterialMapper,
@Override
public void update(MdBaseMaterial entity) {
MdBaseMaterial dto = mdBaseMaterialMapper.selectById(entity.getMaterial_id());
if (dto == null) throw new BadRequestException("被删除或无权限,操作失败!");
if (dto == null) throw new BadRequestException(LangProcess.msg("universal_error"));
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();

3
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/vehicle/service/impl/MdBaseVehicleServiceImpl.java

@ -12,6 +12,7 @@ import lombok.extern.slf4j.Slf4j;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.SecurityUtils;
import org.nl.config.language.LangProcess;
import org.nl.wms.database.vehicle.service.IMdBaseVehicleService;
import org.nl.wms.database.vehicle.service.dao.mapper.MdBaseVehicleMapper;
import org.nl.wms.database.vehicle.service.dao.MdBaseVehicle;
@ -64,7 +65,7 @@ public class MdBaseVehicleServiceImpl extends ServiceImpl<MdBaseVehicleMapper, M
@Override
public void update(MdBaseVehicle entity) {
MdBaseVehicle dto = mdBaseVehicleMapper.selectById(entity.getVehicle_code());
if (dto == null) throw new BadRequestException("被删除或无权限,操作失败!");
if (dto == null) throw new BadRequestException(LangProcess.msg("universal_error"));
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();

13
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/impl/AcsToWmsServiceImpl.java

@ -11,6 +11,7 @@ import lombok.extern.slf4j.Slf4j;
import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.RedisUtils;
import org.nl.common.utils.SecurityUtils;
import org.nl.config.language.LangProcess;
import org.nl.system.service.notice.ISysNoticeService;
import org.nl.wms.ext.service.AcsToWmsService;
import org.nl.wms.ext.service.dto.to.BaseResponse;
@ -136,10 +137,10 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
}
AbstractTask task = taskFactory.getTask(requestMethodCode);
if(ObjectUtil.isEmpty(requestMethodCode)){
throw new BadRequestException("任务类型不能为空!requestMethodCode:"+requestMethodName+",device_code:"+device_code);
throw new BadRequestException(LangProcess.msg("task_type_empty",requestMethodName,device_code));
}
if(ObjectUtil.isNull(task)){
throw new BadRequestException("任务类型不正确!requestMethodCode:"+requestMethodName+",device_code:"+device_code);
throw new BadRequestException(LangProcess.msg("task_type_Incorrect","requestMethodCode",requestMethodName,"device_code",device_code));
}
// 执行创建任务
String task_code = task.apply(param);
@ -158,11 +159,11 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
String requestNo = param.getString("requestNo");
String taskId = param.getString("task_code");
if (ObjectUtil.isEmpty(taskId)) {
throw new BadRequestException("任务编码不能为空!");
throw new BadRequestException(LangProcess.msg("task_code_empty"));
}
SchBaseTask taskObj = taskService.getOne(new LambdaQueryWrapper<SchBaseTask>().eq(SchBaseTask::getTask_code, taskId));
if (ObjectUtil.isEmpty(taskObj)) {
throw new BadRequestException("未找到任务编码为 [" + taskId + "] 的任务");
throw new BadRequestException(LangProcess.msg("task_Id_isNull",taskId));
}
// 任务处理类
String processingClass = taskObj.getConfig_code();
@ -233,10 +234,10 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
try {
SchBaseTask schBaseTask = taskService.getById(taskId);
if(ObjectUtil.isEmpty(schBaseTask)){
throw new BadRequestException("任务不存在!taskId:"+taskId);
throw new BadRequestException(LangProcess.msg("task_Id_isNull",taskId));
}
if (Integer.parseInt(schBaseTask.getTask_status()) >= Integer.parseInt(TaskStatus.FINISHED.getCode())) {
throw new BadRequestException("任务已完成或已取消!");
throw new BadRequestException(LangProcess.msg("task_finish_or_cancel"));
}
AbstractTask task = taskFactory.getTask(schBaseTask.getConfig_code());
// 执行创建任务

3
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/interactivelog/service/impl/SchBaseAcsandlmsinteractivelogServiceImpl.java

@ -11,6 +11,7 @@ import lombok.extern.slf4j.Slf4j;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.SecurityUtils;
import org.nl.config.language.LangProcess;
import org.nl.wms.sch.interactivelog.service.ISchBaseAcsandlmsinteractivelogService;
import org.nl.wms.sch.interactivelog.service.dao.mapper.SchBaseAcsandlmsinteractivelogMapper;
import org.nl.wms.sch.interactivelog.service.dao.SchBaseAcsandlmsinteractivelog;
@ -59,7 +60,7 @@ public class SchBaseAcsandlmsinteractivelogServiceImpl extends ServiceImpl<SchBa
@Override
public void update(SchBaseAcsandlmsinteractivelog entity) {
SchBaseAcsandlmsinteractivelog dto = schBaseAcsandlmsinteractivelogMapper.selectById(entity.getLog_id());
if (dto == null) throw new BadRequestException("被删除或无权限,操作失败!");
if (dto == null) throw new BadRequestException(LangProcess.msg("universal_error"));
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();

3
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/impl/SchBasePointServiceImpl.java

@ -14,6 +14,7 @@ import lombok.extern.slf4j.Slf4j;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.SecurityUtils;
import org.nl.config.language.LangProcess;
import org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup;
import org.nl.wms.sch.group.service.dao.mapper.SchBaseVehiclematerialgroupMapper;
import org.nl.wms.sch.point.service.ISchBasePointService;
@ -64,7 +65,7 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
String point_code = entity.getPoint_code();
SchBasePoint pointObj = pointMapper.selectById(point_code);
if (ObjectUtil.isNotEmpty(pointObj) && !pointObj.getPoint_code().equals(entity.getPoint_code())) {
throw new BadRequestException("存在相同的点位编码");
throw new BadRequestException(LangProcess.msg("universal_exist_point"));
}
// 默认父类点位为自身

3
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/service/impl/ReportServiceImpl.java

@ -9,6 +9,7 @@ import lombok.extern.slf4j.Slf4j;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.FileUtil;
import org.nl.config.language.LangProcess;
import org.nl.wms.ext.service.AcsToWmsService;
import org.nl.wms.ext.service.dto.to.BaseResponse;
import org.nl.wms.sch.point.service.ISchBasePointService;
@ -376,7 +377,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, ReportDto> impl
pointService.update(schBasePoint);
pointService.update(nextSchBasePoint);
}else{
throw new BadRequestException("回温出库失败:+"+result.getMessage());
throw new BadRequestException(LangProcess.msg("error_report",result.getMessage()));
}
}

9
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/impl/SchBaseTaskServiceImpl.java

@ -14,6 +14,7 @@ import lombok.extern.slf4j.Slf4j;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.SecurityUtils;
import org.nl.config.language.LangProcess;
import org.nl.wms.ext.service.AcsToWmsService;
import org.nl.wms.ext.service.dto.to.BaseResponse;
import org.nl.wms.sch.point.service.ISchBasePointService;
@ -96,7 +97,7 @@ public class SchBaseTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBa
@Override
public void update(SchBaseTask entity) {
SchBaseTask dto = schBaseTaskMapper.selectById(entity.getTask_id());
if (dto == null) throw new BadRequestException("被删除或无权限,操作失败!");
if (dto == null) throw new BadRequestException(LangProcess.msg("universal_error"));
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
@ -209,7 +210,7 @@ public class SchBaseTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBa
}
if (ObjectUtil.isEmpty(config_code)) {
throw new BadRequestException("任务类型不正确!device_code:" + device_code + ",type:" + type);
throw new BadRequestException(LangProcess.msg("task_type_Incorrect","device_code",device_code,"type",type));
}
AbstractTask task = taskFactory.getTask(config_code);
// 执行创建任务
@ -235,13 +236,13 @@ public class SchBaseTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBa
String method_name = ObjectUtil.isNotEmpty(param.get("method_name")) ? param.get("method_name").toString() : null;
String config_code = ObjectUtil.isNotEmpty(param.get("config_code")) ? param.get("config_code").toString() : null;
if (ObjectUtil.isEmpty(task_id) || ObjectUtil.isEmpty(method_name) || ObjectUtil.isEmpty(config_code)) {
throw new BadRequestException("操作失败");
throw new BadRequestException(LangProcess.msg("error_operation"));
}
// 根据标识找到任务
SchBaseTask taskOne = schBaseTaskMapper.selectById(task_id);
if (Integer.parseInt(taskOne.getTask_status()) >= Integer.parseInt(TaskStatus.FINISHED.getCode())
&& !"feedback".equals(method_name)) {
throw new BadRequestException("任务已完成或已取消!");
throw new BadRequestException(LangProcess.msg("task_finish_or_cancel"));
}
// 根据配置去工厂类获得类对象
String processing_class = config_code;

9
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/impl/SchBaseTaskconfigServiceImpl.java

@ -11,6 +11,7 @@ import lombok.extern.slf4j.Slf4j;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.SecurityUtils;
import org.nl.config.language.LangProcess;
import org.nl.wms.sch.task.service.ISchBaseTaskconfigService;
import org.nl.wms.sch.task.service.dao.SchBaseTaskconfig;
import org.nl.wms.sch.task.service.dao.mapper.SchBaseTaskconfigMapper;
@ -57,14 +58,14 @@ public class SchBaseTaskconfigServiceImpl extends ServiceImpl<SchBaseTaskconfigM
public void create(SchBaseTaskconfig entity) {
SchBaseTaskconfig schBaseTaskconfig = schBaseTaskconfigMapper.selectOne(new LambdaQueryWrapper<SchBaseTaskconfig>().eq(SchBaseTaskconfig::getConfig_code, entity.getConfig_code()));
if (ObjectUtil.isNotEmpty(schBaseTaskconfig))
throw new BadRequestException("任务配置【" + entity.getConfig_code() + "】已存在!");
throw new BadRequestException(LangProcess.msg("task_checkExist",entity.getConfig_code()));
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
String now = DateUtil.now();
if (ObjectUtil.isAllEmpty(entity.getStart_region_strs(), entity.getNext_region_strs()))
throw new BadRequestException("起点区域和终点区域不能同时为空!");
throw new BadRequestException(LangProcess.msg("task_point_isNull"));
if (ObjectUtil.isNotEmpty(entity.getStart_region_strs())) {
// 起点区域配置
@ -91,9 +92,9 @@ public class SchBaseTaskconfigServiceImpl extends ServiceImpl<SchBaseTaskconfigM
@Override
public void update(SchBaseTaskconfig entity) {
SchBaseTaskconfig dto = schBaseTaskconfigMapper.selectById(entity.getConfig_id());
if (dto == null) throw new BadRequestException("被删除或无权限,操作失败!");
if (dto == null) throw new BadRequestException(LangProcess.msg("universal_error"));
if (ObjectUtil.isAllEmpty(entity.getStart_region_strs(), entity.getNext_region_strs()))
throw new BadRequestException("起点区域和终点区域不能同时为空!");
throw new BadRequestException(LangProcess.msg("task_point_isNull"));
if (ObjectUtil.isNotEmpty(entity.getStart_region_strs())) {
// 起点区域配置

11
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AbstractTask.java

@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.SecurityUtils;
import org.nl.config.language.LangProcess;
import org.nl.system.service.param.ISysParamService;
import org.nl.system.service.param.dao.Param;
import org.nl.wms.ext.service.dto.to.BaseResponse;
@ -226,28 +227,28 @@ public abstract class AbstractTask {
SchBasePoint nextSchBasePoint= pointService.getOne(new LambdaQueryWrapper<SchBasePoint>()
.eq(SchBasePoint::getPoint_code, next_point));
if(ObjectUtil.isEmpty(nextSchBasePoint)) {
throw new BadRequestException(next_point+"点位信息异常,请检查输入的点位!" );
throw new BadRequestException(LangProcess.msg("task_point_error5",next_point));
}
if (nextSchBasePoint.getVehicle_qty() > 0
|| ObjectUtil.isNotEmpty(nextSchBasePoint.getVehicle_code2())
|| ObjectUtil.isNotEmpty(nextSchBasePoint.getIng_task_code())) {
// 消息通知
throw new BadRequestException(next_point+"点位已存在载具或任务信息!" );
throw new BadRequestException(LangProcess.msg("task_point_error6",next_point));
}
}
// 判断是否校验工单
if (taskConfig.getIs_check_workorder()) {
//如果点位上没货
if(ObjectUtil.isEmpty(pointObj)) {
throw new BadRequestException(apply_point_code+"点位信息异常,请检查输入的点位!" );
throw new BadRequestException(LangProcess.msg("task_point_error3",apply_point_code));
}
//如果点位上没货
if(ObjectUtil.isEmpty(pointObj.getVehicle_code2())) {
throw new BadRequestException("点位:" + apply_point_code+ "上无托盘信息!");
throw new BadRequestException(LangProcess.msg("task_point_error1",apply_point_code));
}
//点位上载具和申请任务不一致
if(!sub_tray.equals(pointObj.getVehicle_code2())) {
throw new BadRequestException("点位:" + apply_point_code+ "上托盘信息:"+pointObj.getVehicle_code2()+"与任务申请托盘:"+sub_tray+"不一致,请检查库存!");
throw new BadRequestException(LangProcess.msg("task_point_error2",apply_point_code,pointObj.getVehicle_code2(),sub_tray));
}
//判断是否校验mes组盘记录
Param isConnectAcs = paramService.findByCode(GeneralDefinition.IS_RETURN_MES);

5
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/KJRKTask.java

@ -8,6 +8,7 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.extern.slf4j.Slf4j;
import org.nl.common.exception.BadRequestException;
import org.nl.config.language.LangProcess;
import org.nl.wms.ext.service.dto.to.BaseResponse;
import org.nl.wms.sch.point.service.ISchBasePointService;
import org.nl.wms.sch.point.service.dao.SchBasePoint;
@ -140,10 +141,10 @@ public class KJRKTask extends AbstractTask {
// 校验任务
SchBaseTask taskObj = taskService.getById(task_code);
if (taskObj.getTask_status().equals(TaskStatus.FINISHED.getCode())) {
throw new BadRequestException("该任务已完成!");
throw new BadRequestException(LangProcess.msg("task_finish"));
}
if (taskObj.getTask_status().equals(TaskStatus.CANCELED.getCode())) {
throw new BadRequestException("该任务已取消!");
throw new BadRequestException(LangProcess.msg("task_cancel"));
}
// 获取参数
JSONObject extGroupData = ObjectUtil.isNotEmpty(taskObj.getExt_group_data())

7
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/POINTTask.java

@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.nl.common.exception.BadRequestException;
import org.nl.config.language.LangProcess;
import org.nl.wms.ext.service.dto.to.BaseResponse;
import org.nl.wms.sch.group.service.ISchBaseVehiclematerialgroupService;
import org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup;
@ -167,10 +168,10 @@ public class POINTTask extends AbstractTask {
// 校验任务
SchBaseTask taskObj = taskService.getById(task_code);
if (taskObj.getTask_status().equals(TaskStatus.FINISHED.getCode())) {
throw new BadRequestException("该任务已完成!");
throw new BadRequestException(LangProcess.msg("task_finish"));
}
if (taskObj.getTask_status().equals(TaskStatus.CANCELED.getCode())) {
throw new BadRequestException("该任务已取消!");
throw new BadRequestException(LangProcess.msg("task_cancel"));
}
// 获取参数
JSONObject extGroupData = ObjectUtil.isNotEmpty(taskObj.getExt_group_data())
@ -320,7 +321,7 @@ public class POINTTask extends AbstractTask {
}else{
schBaseTask.setRemark("叠盘机空盘数量已达最大值:["+max_qty+"],暂时无法放置托盘!");
taskService.update(schBaseTask);
throw new BadRequestException("叠盘机空盘数量已达最大值:[\"+max_qty+\"],暂时无法放置托盘!");
throw new BadRequestException(LangProcess.msg("task_point_error4",max_qty.toString()));
}
}
}

5
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/SSXBKJTask.java

@ -8,6 +8,7 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.extern.slf4j.Slf4j;
import org.nl.common.exception.BadRequestException;
import org.nl.config.language.LangProcess;
import org.nl.wms.ext.service.dto.to.BaseResponse;
import org.nl.wms.sch.point.service.ISchBasePointService;
import org.nl.wms.sch.point.service.dao.SchBasePoint;
@ -139,10 +140,10 @@ public class SSXBKJTask extends AbstractTask {
// 校验任务
SchBaseTask taskObj = taskService.getById(task_code);
if (taskObj.getTask_status().equals(TaskStatus.FINISHED.getCode())) {
throw new BadRequestException("该任务已完成!");
throw new BadRequestException(LangProcess.msg("task_finish"));
}
if (taskObj.getTask_status().equals(TaskStatus.CANCELED.getCode())) {
throw new BadRequestException("该任务已取消!");
throw new BadRequestException(LangProcess.msg("task_cancel"));
}
// 获取参数
JSONObject extGroupData = ObjectUtil.isNotEmpty(taskObj.getExt_group_data())

5
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/XGRKTask.java

@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import lombok.extern.slf4j.Slf4j;
import org.nl.common.exception.BadRequestException;
import org.nl.config.language.LangProcess;
import org.nl.system.service.param.ISysParamService;
import org.nl.system.service.param.dao.Param;
import org.nl.wms.ext.service.dto.to.BaseResponse;
@ -293,10 +294,10 @@ public class XGRKTask extends AbstractTask {
// 校验任务
SchBaseTask taskObj = taskService.getById(task_code);
if (taskObj.getTask_status().equals(TaskStatus.FINISHED.getCode())) {
throw new BadRequestException("该任务已完成!");
throw new BadRequestException(LangProcess.msg("task_finish"));
}
if (taskObj.getTask_status().equals(TaskStatus.CANCELED.getCode())) {
throw new BadRequestException("该任务已取消!");
throw new BadRequestException(LangProcess.msg("task_cancel"));
}
// 获取参数
JSONObject extGroupData = ObjectUtil.isNotEmpty(taskObj.getExt_group_data())

5
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLCKTask.java

@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.extern.slf4j.Slf4j;
import org.nl.common.exception.BadRequestException;
import org.nl.config.language.LangProcess;
import org.nl.system.service.param.ISysParamService;
import org.nl.wms.ext.service.dto.to.BaseResponse;
import org.nl.wms.sch.data.service.dao.mapper.MaterialDataMapper;
@ -174,10 +175,10 @@ public class YCLCKTask extends AbstractTask {
// 校验任务
SchBaseTask taskObj = taskService.getById(task_code);
if (taskObj.getTask_status().equals(TaskStatus.FINISHED.getCode())) {
throw new BadRequestException("该任务已完成!");
throw new BadRequestException(LangProcess.msg("task_finish"));
}
if (taskObj.getTask_status().equals(TaskStatus.CANCELED.getCode())) {
throw new BadRequestException("该任务已取消!");
throw new BadRequestException(LangProcess.msg("task_cancel"));
}
// 获取参数
JSONObject extGroupData = ObjectUtil.isNotEmpty(taskObj.getExt_group_data())

5
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLRKTask.java

@ -13,6 +13,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import lombok.extern.slf4j.Slf4j;
import org.nl.common.exception.BadRequestException;
import org.nl.config.language.LangProcess;
import org.nl.system.service.param.ISysParamService;
import org.nl.system.service.param.dao.Param;
import org.nl.wms.ext.service.dto.to.BaseResponse;
@ -280,10 +281,10 @@ public class YCLRKTask extends AbstractTask {
// 校验任务
SchBaseTask taskObj = taskService.getById(task_code);
if (taskObj.getTask_status().equals(TaskStatus.FINISHED.getCode())) {
throw new BadRequestException("该任务已完成!");
throw new BadRequestException(LangProcess.msg("task_finish"));
}
if (taskObj.getTask_status().equals(TaskStatus.CANCELED.getCode())) {
throw new BadRequestException("该任务已取消!");
throw new BadRequestException(LangProcess.msg("task_cancel"));
}
// 获取参数
JSONObject extGroupData = ObjectUtil.isNotEmpty(taskObj.getExt_group_data())

17
lms/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml

@ -2,6 +2,8 @@ server:
port: 8010
#配置数据源
spring:
messages:
basename: language/login/login,language/error/error,language/task/task,language/monitor/universal/universal
datasource:
druid:
db-type: com.alibaba.druid.pool.DruidDataSource
@ -9,7 +11,8 @@ spring:
url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:fj_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true
# url: jdbc:log4jdbc:mysql://${DB_HOST:47.111.78.178}:${DB_PORT:3306}/${DB_NAME:stand_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
username: ${DB_USER:root}
password: ${DB_PWD:root}
# password: ${DB_PWD:root}
password: ${DB_PWD:123456}
# password: ${DB_PWD:P@ssw0rd}
# 初始连接数
initial-size: 5
@ -55,9 +58,11 @@ spring:
redis:
#数据库索引
database: ${REDIS_DB:2}
host: ${REDIS_HOST:127.0.0.1}
# host: ${REDIS_HOST:127.0.0.1}
host: ${REDIS_HOST:192.168.29.130}
port: ${REDIS_PORT:6379}
password: ${REDIS_PWD:}
# password: ${REDIS_PWD:}
password: ${REDIS_PWD:123456}
# 登录相关配置
login:
@ -154,10 +159,12 @@ sa-token:
# Redis数据库索引(默认为0)
database: 2
# Redis服务器地址
host: 127.0.0.1
# host: 127.0.0.1
host: 192.168.29.130
# Redis服务器连接端口
port: 6379
# Redis服务器连接密码(默认为空)
password:
# password:
password: 123456
# 连接超时时间
timeout: 10s

16
lms/nladmin-system/nlsso-server/src/main/resources/language/error/error.properties

@ -0,0 +1,16 @@
error_send_msg=消息发送失败
error_cron=cron表达式格式错误
error_scheduled_create=创建定时任务失败
error_scheduled_update=更新定时任务失败
error_scheduled_recover=恢复定时任务失败
error_scheduled_paused=定时任务暂停失败
error_scheduled_execute=定时任务执行失败
error_scheduled_delete=删除定时任务失败
error_generate_code=此环境不允许生成代码,请选择预览或者下载查看!
error_options=没有这个选项
error_pwd=密码错误
error_operation=操作失败
error_report=回温出库失败:{0}
error_upload=上传失败
error_pack=打包失败
error_generate=生成失败,请手动处理已生成的文件

16
lms/nladmin-system/nlsso-server/src/main/resources/language/error/error_en_US.properties

@ -0,0 +1,16 @@
error_send_msg=The message failed to be sent
error_cron=The cron expression is malformed
error_scheduled_create=Failed to create a scheduled task
error_scheduled_update=The update scheduled task failed
error_scheduled_recover=The scheduled task failed to be resumed
error_scheduled_paused=The scheduled task failed to be paused
error_scheduled_execute=The scheduled task failed to be executed
error_scheduled_delete=Failed to delete the scheduled task
error_generate_code=This environment does not allow code generation, please select Preview or download to view!
error_options=There is no such option
error_pwd=Wrong password
error_operation=The operation failed
error_report=Failed to return to the outbound warehouse: {0}
error_upload=Upload failed
error_pack=Packaging failed
error_generate=If the build fails, manually process the generated file

16
lms/nladmin-system/nlsso-server/src/main/resources/language/error/error_vi_VN.properties

@ -0,0 +1,16 @@
error_send_msg=Gửi tin nhắn thất bại
error_cron=Lỗi định dạng biểu thức cron
error_scheduled_create=Lỗi tạo tác vụ hẹn giờ
error_scheduled_update=Cập nhật tác vụ hẹn giờ thất bại
error_scheduled_recover=Nhiệm vụ khôi phục thời gian thất bại
error_scheduled_paused=Thời gian tạm dừng tác vụ thất bại
error_scheduled_execute=Lỗi thực hiện tác vụ hẹn giờ
error_scheduled_delete=Xoá tác vụ đã hẹn thất bại
error_generate_code=Môi trường này không cho phép tạo mã, vui lòng chọn xem trước hoặc tải xuống để xem!
error_options=Không có tùy chọn này
error_pwd=Mật khẩu sai
error_operation=Hoạt động thất bại
error_report=Phản hồi thất bại: {0}
error_upload=Tải lên không thành công
error_pack=Đóng gói thất bại
error_generate=Lỗi tạo, vui lòng xử lý thủ công các tập tin đã tạo

16
lms/nladmin-system/nlsso-server/src/main/resources/language/error/error_zh_CN.properties

@ -0,0 +1,16 @@
error_send_msg=消息发送失败
error_cron=cron表达式格式错误
error_scheduled_create=创建定时任务失败
error_scheduled_update=更新定时任务失败
error_scheduled_recover=恢复定时任务失败
error_scheduled_paused=定时任务暂停失败
error_scheduled_execute=定时任务执行失败
error_scheduled_delete=删除定时任务失败
error_generate_code=此环境不允许生成代码,请选择预览或者下载查看!
error_options=没有这个选项
error_pwd=密码错误
error_operation=操作失败
error_report=回温出库失败:{0}
error_upload=上传失败
error_pack=打包失败
error_generate=生成失败,请手动处理已生成的文件

7
lms/nladmin-system/nlsso-server/src/main/resources/language/login/login.properties

@ -0,0 +1,7 @@
login_account=账号未激活
login_update_information=不能修改他人资料
login_codeError=验证码配置信息错误!
login_codeNull=验证码不存在或者过期
login_pwdWrong=账号或者密码不正确
login_pwdWrong_1=修改失败,旧密码错误
login_pwdWrong_2=新密码不能与旧密码相同

8
lms/nladmin-system/nlsso-server/src/main/resources/language/login/login_en_US.properties

@ -0,0 +1,8 @@
login_account=Account not activated
login_update_information=You can't modify other people's data
login_codeError=Verification code configuration information error\!
login_codeNull=The verification code does not exist or has expired
login_pwdWrong=Incorrect account or password
login_pwdWrong_1=Modification failed, old password error
login_pwdWrong_2=The new password cannot be the same as the old password

7
lms/nladmin-system/nlsso-server/src/main/resources/language/login/login_vi_VN.properties

@ -0,0 +1,7 @@
login_account=Tài khoản chưa kích hoạt
login_update_information=Không thể thay đổi thông tin của người khác
login_codeError=Thông tin cấu hình CAPTCHA sai!
login_codeNull=Mã xác minh không tồn tại hoặc hết hạn
login_pwdWrong=Tài khoản hoặc mật khẩu không chính xác
login_pwdWrong_1=Sửa đổi không thành công, mật khẩu cũ bị lỗi
login_pwdWrong_2=Mật khẩu mới không thể giống với mật khẩu cũ

8
lms/nladmin-system/nlsso-server/src/main/resources/language/login/login_zh_CN.properties

@ -0,0 +1,8 @@
login_account=账号未激活
login_update_information=不能修改他人资料
login_codeError=验证码配置信息错误!
login_codeNull=验证码不存在或者过期
login_pwdWrong=账号或者密码不正确
login_pwdWrong_1=修改失败,旧密码错误
login_pwdWrong_2=新密码不能与旧密码相同

31
lms/nladmin-system/nlsso-server/src/main/resources/language/monitor/universal/universal.properties

@ -0,0 +1,31 @@
universal_limit=访问次数受限制
universal_error=被删除或无权限,操作失败!
universal_exist_point=存在相同的点位编码
universal_exist_class=存在相同的基础类别编号
universal_exist_linked_data=存在相关联的数据权限,请解除关联后删除
universal_generators=请先配置生成器
universal_superior=上级不能为自己
universal_superior_or_lower=上级不能为自己或自己的下级
universal_file=文件超出规定大小
universal_validation={0} 不存在: {1} is {2}
universal_scheduled_create=A new {0} cannot already have an ID
universal_role_empty=角色名字不能为空!
universal_role_exist=角色【{0}】已存在!
universal_encode=编码不能一致
universal_encode_exist=编码[{0}]已存在
universal_encode_date_exist=编码为[{0}]的数据权限已存在
universal_image=只能上传图片
universal_init_code=请完善编码数值的初始值!
universal_dict_exist=字典[{0}]已存在
universal_dict_NoExist=字典不存在
universal_label_exist=标签[{0}]已存在
universal_code_exist1=编号[{0}]已存在
universal_code_exist2=该编码code已存在,请校验!
universal_msg_NoExist=该信息不存在!
universal_userid_empty=用户不能为空
universal_Backlinks=外链必须以http://或者https://开头
universal_stage_exist=舞台编码[{0}]已存在
universal_stage_NoExist=舞台不存在
universal_menu_NoExist=获取对应的系统菜单不存在
universal_file_NoExist=文件信息不存在
universal_dept_exist=部门存在绑定的人员,请先解绑人员对应部门

31
lms/nladmin-system/nlsso-server/src/main/resources/language/monitor/universal/universal_en_US.properties

@ -0,0 +1,31 @@
universal_limit=The number of visits is limited
universal_error=Deleted or without permission, operation failed!
universal_exist_point=The same point code exists
universal_exist_class=The same base category number exists
universal_exist_linked_data=If there is an associated data permission, please delete it after disassociating it
universal_generators=Please configure the generator first
universal_superior=Superiors can not be for themselves
universal_superior_or_lower=Superiors cannot be for themselves or their own subordinates
universal_file=The file exceeds the specified size
universal_validation={0} does not exist: {1} is {2}
universal_scheduled_create=A new {0} cannot already have an ID
universal_role_empty=Character names can't be empty!!
universal_role_exist=Character [{0}] already exists!
universal_encode=The encoding is not consistent
universal_encode_exist=The encoding [{0}] already exists
universal_encode_date_exist=The data rights encoded as [{0}] already exist
universal_image=Only images can be uploaded
universal_init_code=Please complete the initial value of the encoded value!
universal_dict_exist=The dictionary [{0}] already exists
universal_dict_NoExist=The dictionary does not exist
universal_label_exist=The tag [{0}] already exists
universal_code_exist1=The number [{0}] already exists
universal_code_exist2=The code already exists, please verify!
universal_msg_NoExist=The information does not exist!
universal_userid_empty=The user cannot be empty
universal_Backlinks=Backlinks must start with http:// or https://
universal_stage_exist=Stage code [{0}] already exists
universal_stage_NoExist=The stage does not exist
universal_menu_NoExist=The corresponding system menu does not exist
universal_file_NoExist=The file information does not exist
universal_dept_exist=If there is a bound person in the department, please unbind the corresponding department first

31
lms/nladmin-system/nlsso-server/src/main/resources/language/monitor/universal/universal_vi_VN.properties

@ -0,0 +1,31 @@
universal_limit=Số lượt truy cập bị hạn chế
universal_error=Bị xóa hoặc không có quyền, hoạt động không thành công!
universal_exist_point=Có cùng một mã hóa điểm
universal_exist_class=Có cùng một số loại cơ sở
universal_exist_linked_data=Có quyền liên quan đến dữ liệu, hãy xóa nó sau khi hủy liên kết
universal_generators=Vui lòng cấu hình máy phát điện trước
universal_superior=Cấp trên không thể tự
universal_superior_or_lower=Cấp trên không thể vì mình hay cấp dưới của mình.
universal_file=Tập tin vượt quá kích thước quy định
universal_validation={0} không tồn tại: {1} là {2}
universal_scheduled_create={0} mới không thể có ID
universal_role_empty=Tên nhân vật không được để trống!!
universal_role_exist=Vai trò【{0}】Đã tồn tại!
universal_encode=Mã hóa không phù hợp
universal_encode_exist=Mã hóa [{0}] đã tồn tại
universal_encode_date_exist=Quyền dữ liệu được mã hóa thành [{0}] đã tồn tại
universal_image=Chỉ có thể upload ảnh
universal_init_code=Xin hãy hoàn thiện giá trị ban đầu của giá trị mã hóa!
universal_dict_exist=Từ điển [{0}] đã tồn tại
universal_dict_NoExist=Từ điển không tồn tại
universal_label_exist=Thẻ [{0}] đã tồn tại
universal_code_exist1=Số [{0}] đã tồn tại
universal_code_exist2=Mã này đã tồn tại, vui lòng kiểm tra!
universal_msg_NoExist=Thông tin này không tồn tại!
universal_userid_empty=User không thể để trống
universal_Backlinks=Chuỗi bên ngoài phải bắt đầu bằng http://hoặc https://
universal_stage_exist=Mã sân khấu [{0}] đã tồn tại
universal_stage_NoExist=Sân khấu không tồn tại
universal_menu_NoExist=Menu hệ thống tương ứng không tồn tại
universal_file_NoExist=Thông tin tập tin không tồn tại
universal_dept_exist=Nhân viên có liên quan, xin vui lòng cởi trói trước.

31
lms/nladmin-system/nlsso-server/src/main/resources/language/monitor/universal/universal_zh_CN.properties

@ -0,0 +1,31 @@
universal_limit=访问次数受限制
universal_error=被删除或无权限,操作失败!
universal_exist_point=存在相同的点位编码
universal_exist_class=存在相同的基础类别编号
universal_exist_linked_data=存在相关联的数据权限,请解除关联后删除
universal_generators=请先配置生成器
universal_superior=上级不能为自己
universal_superior_or_lower=上级不能为自己或自己的下级
universal_file=文件超出规定大小
universal_validation={0} 不存在: {1} is {2}
universal_scheduled_create=A new {0} cannot already have an ID
universal_role_empty=角色名字不能为空!
universal_role_exist=角色【{0}】已存在!
universal_encode=编码不能一致
universal_encode_exist=编码[{0}]已存在
universal_encode_date_exist=编码为[{0}]的数据权限已存在
universal_image=只能上传图片
universal_init_code=请完善编码数值的初始值!
universal_dict_exist=字典[{0}]已存在
universal_dict_NoExist=字典不存在
universal_label_exist=标签[{0}]已存在
universal_code_exist1=编号[{0}]已存在
universal_code_exist2=该编码code已存在,请校验!
universal_msg_NoExist=该信息不存在!
universal_userid_empty=用户不能为空
universal_Backlinks=外链必须以http://或者https://开头
universal_stage_exist=舞台编码[{0}]已存在
universal_stage_NoExist=舞台不存在
universal_menu_NoExist=获取对应的系统菜单不存在
universal_file_NoExist=文件信息不存在
universal_dept_exist=部门存在绑定的人员,请先解绑人员对应部门

20
lms/nladmin-system/nlsso-server/src/main/resources/language/task/task.properties

@ -0,0 +1,20 @@
task_finish=该任务已完成!
task_cancel=该任务已取消!
task_type_empty=任务类型不能为空!requestMethodCode:{0},device_code:{1}
task_type_Incorrect=任务类型不正确!{0}:{1},{2}:{3}
task_code_empty=任务编码不能为空!
task_finish_or_cancel=任务已完成或已取消!
task_point_isNull=起点区域和终点区域不能同时为空!
task_Id_isNull=未找到任务编码为{0}的任务
task_checkExist=任务配置【{0}】已存在!
task_point_error1=点位:{0}上无托盘信息!
task_point_error2=点位:{0}上托盘信息:{1}与任务申请托盘:{2}不一致,请检查库存!
task_point_error3={0}点位信息异常,请检查输入的点位!
task_point_error4=叠盘机空盘数量已达最大值:[{0}],暂时无法放置托盘!
task_point_error5={0}点位信息异常,请检查输入的点位!
task_point_error6={0}点位已存在载具或任务信息!
task_Subtasks=子任务中不能添加当前任务ID

17
lms/nladmin-system/nlsso-server/src/main/resources/language/task/task_en_US.properties

@ -0,0 +1,17 @@
task_finish=The mission is complete!
task_cancel=The mission has been cancelled!
task_type_empty=The task type cannot be empty! requestMethodCode:{0},device_code:{1}
task_type_Incorrect=The task type is incorrect! {0}:{1},{2}:{3}
task_code_empty=The task code cannot be empty!
task_finish_or_cancel=Mission completed or canceled!
task_point_isNull=The start and end areas cannot be empty at the same time!
task_Id_isNull=The task with the task code of {0} was not found
task_checkExist=The task configuration [{0}] already exists!
task_point_error1=Location: There is no pallet information on the {0}!
task_point_error2=Location: Pallet information on the {0}: {1} is inconsistent with the task application tray: {2}, please check the inventory!
task_point_error3={0} the point information is abnormal, please check the entered point!
task_point_error4=The number of empty trays in the stacker has reached the maximum value: [{0}], and the pallets cannot be placed temporarily!
task_point_error5={0} the point information is abnormal, please check the entered point!
task_point_error6=Vehicle or mission information already exists at {0} point!
task_Subtasks=You cannot add the current task ID to a subtask

16
lms/nladmin-system/nlsso-server/src/main/resources/language/task/task_vi_VN.properties

@ -0,0 +1,16 @@
task_finish=Nhiệm vụ đã hoàn thành!
task_cancel=Nhiệm vụ bị hủy bỏ!
task_type_empty=Loại nhiệm vụ không được để trống! requestMethodCode:{0},device_code:{1}
task_type_Incorrect=Loại nhiệm vụ không đúng! {0}:{1},{2}:{3}
task_code_empty=Mã hóa nhiệm vụ không thể để trống!
task_finish_or_cancel=Nhiệm vụ đã hoàn thành hoặc bị hủy bỏ!
task_point_isNull=Khu vực bắt đầu và khu vực kết thúc không thể trống cùng một lúc!
task_Id_isNull=Không tìm thấy nhiệm vụ được mã hóa {0}
task_checkExist=Cấu hình tác vụ [{0}] đã tồn tại!
task_point_error1=Vị trí: Không có thông tin pallet trên {0}!
task_point_error2=Điểm: {0} Thông tin pallet trên: {1} Không phù hợp với khay yêu cầu nhiệm vụ: {2} Vui lòng kiểm tra hàng tồn kho!
task_point_error3={0} Thông tin điểm bất thường, vui lòng kiểm tra điểm đã nhập!
task_point_error4=Số lượng đĩa trống của máy xếp đĩa đã đạt đến giá trị tối đa: [{0}], tạm thời không thể đặt khay!
task_point_error5={0} Thông tin điểm bất thường, vui lòng kiểm tra điểm đã nhập!
task_point_error6={0} Điểm đã có thông tin về tàu sân bay hoặc nhiệm vụ!
task_Subtasks=Bạn không thể thêm ID tác vụ hiện tại vào tác vụ con

16
lms/nladmin-system/nlsso-server/src/main/resources/language/task/task_zh_CN.properties

@ -0,0 +1,16 @@
task_finish=该任务已完成!
task_cancel=该任务已取消!
task_type_empty=任务类型不能为空!requestMethodCode:{0},device_code:{1}
task_type_Incorrect=任务类型不正确!{0}:{1},{2}:{3}
task_code_empty=任务编码不能为空!
task_finish_or_cancel=任务已完成或已取消!
task_point_isNull=起点区域和终点区域不能同时为空!
task_Id_isNull=未找到任务编码为{0}的任务
task_checkExist=任务配置【{0}】已存在!
task_point_error1=点位:{0}上无托盘信息!
task_point_error2=点位:{0}上托盘信息:{1}与任务申请托盘:{2}不一致,请检查库存!
task_point_error3={0}点位信息异常,请检查输入的点位!
task_point_error4=叠盘机空盘数量已达最大值:[{0}],暂时无法放置托盘!
task_point_error5={0}点位信息异常,请检查输入的点位!
task_point_error6={0}点位已存在载具或任务信息!
task_Subtasks=子任务中不能添加当前任务ID

2
lms/nladmin-system/nlsso-server/src/main/resources/template/generator/admin/ServiceImpl.ftl

@ -59,7 +59,7 @@ public class ${className}ServiceImpl extends ServiceImpl<${className}Mapper, ${c
@Override
public void update(${className} entity) {
${className} dto = ${changeClassName}Mapper.selectById(entity.get${pkChangeColName ? cap_first }());
if (dto == null) throw new BadRequestException("被删除或无权限,操作失败!");
if (dto == null) throw new BadRequestException(LangProcess.msg("universal_error"));
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();

8
lms/nladmin-system/nlsso-server/target/classes/banner.txt

@ -0,0 +1,8 @@
_ _ ___________ _ _____ _ ___________ _____
| \ | | _ | ___ \ | | ___| | | ___| ___|_ _|
| \| | | | | |_/ / | | |__ | | | |__ | |_ | |
| . ` | | | | ___ \ | | __|| | | __|| _| | |
| |\ \ \_/ / |_/ / |____| |___| |____| |___| | | |
\_| \_/\___/\____/\_____/\____/\_____/\____/\_| \_/
:: Spring Boot :: (v2.1.0.RELEASE)

170
lms/nladmin-system/nlsso-server/target/classes/config/application-dev.yml

@ -0,0 +1,170 @@
server:
port: 8010
#配置数据源
spring:
messages:
basename: language/login/login,language/error/error,language/task/task,language/monitor/universal/universal
datasource:
druid:
db-type: com.alibaba.druid.pool.DruidDataSource
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:fj_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true
# url: jdbc:log4jdbc:mysql://${DB_HOST:47.111.78.178}:${DB_PORT:3306}/${DB_NAME:stand_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
username: ${DB_USER:root}
# password: ${DB_PWD:root}
password: ${DB_PWD:123456}
# password: ${DB_PWD:P@ssw0rd}
# 初始连接数
initial-size: 5
# 最小连接数
min-idle: 15
# 最大连接数
max-active: 30
# 超时时间(以秒数为单位)
remove-abandoned-timeout: 180
# 获取连接超时时间
max-wait: 3000
# 连接有效性检测时间
time-between-eviction-runs-millis: 60000
# 连接在池中最小生存的时间
min-evictable-idle-time-millis: 300000
# 连接在池中最大生存的时间
max-evictable-idle-time-millis: 900000
# 指明连接是否被空闲连接回收器(如果有)进行检验.如果检测失败,则连接将被从池中去除
test-while-idle: true
# 指明是否在从池中取出连接前进行检验,如果检验失败, 则从池中去除连接并尝试取出另一个
test-on-borrow: true
# 是否在归还到池中前进行检验
test-on-return: false
# 检测连接是否有效
validation-query: select 1
# 配置监控统计
webStatFilter:
enabled: true
stat-view-servlet:
enabled: true
url-pattern: /druid/*
reset-enable: false
filter:
stat:
enabled: true
# 记录慢SQL
log-slow-sql: true
slow-sql-millis: 1000
merge-sql: true
wall:
config:
multi-statement-allow: true
redis:
#数据库索引
database: ${REDIS_DB:2}
# host: ${REDIS_HOST:127.0.0.1}
host: ${REDIS_HOST:192.168.29.130}
port: ${REDIS_PORT:6379}
# password: ${REDIS_PWD:}
password: ${REDIS_PWD:123456}
# 登录相关配置
login:
# 登录缓存
cache-enable: true
# 是否限制单用户登录
single-login: false
# 验证码
login-code:
# 验证码类型配置 查看 LoginProperties 类
code-type: arithmetic
# 登录图形验证码有效时间/分钟
expiration: 2
# 验证码高度
width: 111
# 验证码宽度
heigth: 36
# 内容长度
length: 2
# 字体名称,为空则使用默认字体
font-name:
# 字体大小
font-size: 25
#是否允许生成代码,生产环境设置为false
generator:
enabled: true
#是否开启 swagger-ui
swagger:
enabled: true
# IP 本地解析
ip:
local-parsing: true
# 文件存储路径
file:
mac:
path: ~/file/
avatar: ~/avatar/
linux:
path: /home/eladmin/file/
avatar: /home/eladmin/avatar/
windows:
path: C:\eladmin\file\
avatar: C:\eladmin\avatar\
# 文件大小 /M
maxSize: 100
avatarMaxSize: 5
logging:
file:
path: C:\log\wms
config: classpath:logback-spring.xml
# Sa-Token配置
sa-token:
# token 名称 (同时也是cookie名称)
token-name: Authorization
# token 有效期,单位s 默认30天, -1代表永不过期
timeout: 2592000
# token 临时有效期 (指定时间内无操作就视为token过期) 单位: 秒
activity-timeout: -1
# 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录)
is-concurrent: true
# 在多人登录同一账号时,是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token)
is-share: false
# token风格
token-style: random-128
# 是否输出操作日志
is-log: false
jwt-secret-key: opsjajisdnnca0sdkksdfaaasdfwwq
# token 前缀
token-prefix: Bearer
sso:
# Ticket有效期 (单位: 秒),默认五分钟
ticket-timeout: 300
# 所有允许的授权回调地址
allow-url: "*"
# 是否打开单点注销功能
is-slo: true
# ------- SSO-模式三相关配置 (下面的配置在SSO模式三并且 is-slo=true 时打开)
# 是否打开模式三
isHttp: true
# 接口调用秘钥(用于SSO模式三的单点注销功能)
secretkey: kQwIOrYvnXmSDkwEiFngrKidMcdrgKor
# ---- 除了以上配置项,你还需要为 Sa-Token 配置http请求处理器(文档有步骤说明)
is-read-cookie: true
is-print: false
# 未登录 StpUtil.getTokenSession() 设置值,获取值 @SaIgnore 得忽略接口
token-session-check-login: false
alone-redis:
# Redis数据库索引(默认为0)
database: 2
# Redis服务器地址
# host: 127.0.0.1
host: 192.168.29.130
# Redis服务器连接端口
port: 6379
# Redis服务器连接密码(默认为空)
# password:
password: 123456
# 连接超时时间
timeout: 10s

163
lms/nladmin-system/nlsso-server/target/classes/config/application-prod.yml

@ -0,0 +1,163 @@
server:
port: 8010
#配置数据源
spring:
datasource:
druid:
db-type: com.alibaba.druid.pool.DruidDataSource
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:gc_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true
# url: jdbc:log4jdbc:mysql://${DB_HOST:47.111.78.178}:${DB_PORT:3306}/${DB_NAME:stand_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
username: ${DB_USER:root}
password: ${DB_PWD:123456}
# password: ${DB_PWD:P@ssw0rd}
# 初始连接数
initial-size: 5
# 最小连接数
min-idle: 15
# 最大连接数
max-active: 30
# 超时时间(以秒数为单位)
remove-abandoned-timeout: 180
# 获取连接超时时间
max-wait: 3000
# 连接有效性检测时间
time-between-eviction-runs-millis: 60000
# 连接在池中最小生存的时间
min-evictable-idle-time-millis: 300000
# 连接在池中最大生存的时间
max-evictable-idle-time-millis: 900000
# 指明连接是否被空闲连接回收器(如果有)进行检验.如果检测失败,则连接将被从池中去除
test-while-idle: true
# 指明是否在从池中取出连接前进行检验,如果检验失败, 则从池中去除连接并尝试取出另一个
test-on-borrow: true
# 是否在归还到池中前进行检验
test-on-return: false
# 检测连接是否有效
validation-query: select 1
# 配置监控统计
webStatFilter:
enabled: true
stat-view-servlet:
enabled: true
url-pattern: /druid/*
reset-enable: false
filter:
stat:
enabled: true
# 记录慢SQL
log-slow-sql: true
slow-sql-millis: 1000
merge-sql: true
wall:
config:
multi-statement-allow: true
redis:
#数据库索引
database: ${REDIS_DB:2}
host: ${REDIS_HOST:127.0.0.1}
port: ${REDIS_PORT:6379}
password: ${REDIS_PWD:}
# 登录相关配置
login:
# 登录缓存
cache-enable: true
# 是否限制单用户登录
single-login: false
# 验证码
login-code:
# 验证码类型配置 查看 LoginProperties 类
code-type: arithmetic
# 登录图形验证码有效时间/分钟
expiration: 2
# 验证码高度
width: 111
# 验证码宽度
heigth: 36
# 内容长度
length: 2
# 字体名称,为空则使用默认字体
font-name:
# 字体大小
font-size: 25
#是否允许生成代码,生产环境设置为false
generator:
enabled: true
#是否开启 swagger-ui
swagger:
enabled: true
# IP 本地解析
ip:
local-parsing: true
# 文件存储路径
file:
mac:
path: ~/file/
avatar: ~/avatar/
linux:
path: /home/eladmin/file/
avatar: /home/eladmin/avatar/
windows:
path: C:\eladmin\file\
avatar: C:\eladmin\avatar\
# 文件大小 /M
maxSize: 100
avatarMaxSize: 5
logging:
file:
path: C:\log\wms
config: classpath:logback-spring.xml
# Sa-Token配置
sa-token:
# token 名称 (同时也是cookie名称)
token-name: Authorization
# token 有效期,单位s 默认30天, -1代表永不过期
timeout: 2592000
# token 临时有效期 (指定时间内无操作就视为token过期) 单位: 秒
activity-timeout: -1
# 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录)
is-concurrent: true
# 在多人登录同一账号时,是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token)
is-share: false
# token风格
token-style: random-128
# 是否输出操作日志
is-log: false
jwt-secret-key: opsjajisdnnca0sdkksdfaaasdfwwq
# token 前缀
token-prefix: Bearer
sso:
# Ticket有效期 (单位: 秒),默认五分钟
ticket-timeout: 300
# 所有允许的授权回调地址
allow-url: "*"
# 是否打开单点注销功能
is-slo: true
# ------- SSO-模式三相关配置 (下面的配置在SSO模式三并且 is-slo=true 时打开)
# 是否打开模式三
isHttp: true
# 接口调用秘钥(用于SSO模式三的单点注销功能)
secretkey: kQwIOrYvnXmSDkwEiFngrKidMcdrgKor
# ---- 除了以上配置项,你还需要为 Sa-Token 配置http请求处理器(文档有步骤说明)
is-read-cookie: true
is-print: false
# 未登录 StpUtil.getTokenSession() 设置值,获取值 @SaIgnore 得忽略接口
token-session-check-login: false
alone-redis:
# Redis数据库索引(默认为0)
database: 2
# Redis服务器地址
host: 127.0.0.1
# Redis服务器连接端口
port: 6379
# Redis服务器连接密码(默认为空)
password:
# 连接超时时间
timeout: 10s

159
lms/nladmin-system/nlsso-server/target/classes/config/application-test.yml

@ -0,0 +1,159 @@
deserver:
port: 8010
#配置数据源
spring:
datasource:
druid:
db-type: com.alibaba.druid.pool.DruidDataSource
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
url: jdbc:log4jdbc:mysql://${DB_HOST:47.111.78.178}:${DB_PORT:3306}/${DB_NAME:ndxy3_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
username: ${DB_USER:root}
password: ${DB_PWD:P@ssw0rd}
# 初始连接数
initial-size: 5
# 最小连接数
min-idle: 15
# 最大连接数
max-active: 60
# 获取连接超时时间
max-wait: 5000
# 连接有效性检测时间
time-between-eviction-runs-millis: 60000
# 连接在池中最小生存的时间
min-evictable-idle-time-millis: 300000
# 连接在池中最大生存的时间
max-evictable-idle-time-millis: 900000
# 指明连接是否被空闲连接回收器(如果有)进行检验.如果检测失败,则连接将被从池中去除
test-while-idle: true
# 指明是否在从池中取出连接前进行检验,如果检验失败, 则从池中去除连接并尝试取出另一个
test-on-borrow: true
# 是否在归还到池中前进行检验
test-on-return: false
# 检测连接是否有效
validation-query: select 1
# 配置监控统计
webStatFilter:
enabled: true
stat-view-servlet:
enabled: true
# 控制台管理用户名和密码
url-pattern: /druid/*
reset-enable: false
login-username: admin
login-password: 123456
filter:
stat:
enabled: true
# 记录慢SQL
log-slow-sql: true
slow-sql-millis: 1000
merge-sql: true
wall:
config:
multi-statement-allow: true
redis:
#数据库索引
database: ${REDIS_DB:15}
host: ${REDIS_HOST:127.0.0.1}
port: ${REDIS_PORT:6379}
password: ${REDIS_PWD:}
#连接超时时间
timeout: 5000
# 登录相关配置
login:
# 登录缓存
cache-enable: true
# 是否限制单用户登录
single-login: false
# 验证码
login-code:
# 验证码类型配置 查看 LoginProperties 类
code-type: arithmetic
# 登录图形验证码有效时间/分钟
expiration: 2
# 验证码高度
width: 111
# 验证码宽度
heigth: 36
# 内容长度
length: 2
# 字体名称,为空则使用默认字体,如遇到线上乱码,设置其他字体即可
font-name:
# 字体大小
font-size: 25
#jwt
jwt:
header: Authorization
# 令牌前缀
token-start-with: Bearer
# 必须使用最少88位的Base64对该令牌进行编码
base64-secret: ZmQ0ZGI5NjQ0MDQwY2I4MjMxY2Y3ZmI3MjdhN2ZmMjNhODViOTg1ZGE0NTBjMGM4NDA5NzYxMjdjOWMwYWRmZTBlZjlhNGY3ZTg4Y2U3YTE1ODVkZDU5Y2Y3OGYwZWE1NzUzNWQ2YjFjZDc0NGMxZWU2MmQ3MjY1NzJmNTE0MzI=
# 令牌过期时间 此处单位/毫秒 ,默认2小时,可在此网站生成 https://www.convertworld.com/zh-hans/time/milliseconds.html
token-validity-in-seconds: 7200000
# 在线用户key
online-key: online-token-
# 验证码
code-key: code-key-
# token 续期检查时间范围(默认30分钟,单位默认毫秒),在token即将过期的一段时间内用户操作了,则给用户的token续期
detect: 1800000
# 续期时间范围,默认 1小时,这里单位毫秒
renew: 3600000
# IP 本地解析
ip:
local-parsing: true
#是否允许生成代码,生产环境设置为false
generator:
enabled: false
#如果生产环境要开启swagger,需要配置请求地址
#springfox:
# documentation:
# swagger:
# v2:
# host: # 接口域名或外网ip
#是否开启 swagger-ui
swagger:
enabled: false
# 文件存储路径
file:
mac:
path: ~/file/
avatar: ~/avatar/
linux:
path: /home/eladmin/file/
avatar: /home/eladmin/avatar/
windows:
path: C:\eladmin\file\
avatar: C:\eladmin\avatar\
# 文件大小 /M
maxSize: 100
avatarMaxSize: 5
logging:
file:
path: /app/jar/logs
config: classpath:logback-spring.xml
# Sa-Token配置
sa-token:
# token 名称 (同时也是cookie名称)
token-name: Authorization
# token 有效期,单位s 默认30天, -1代表永不过期
timeout: 2592000
# token 临时有效期 (指定时间内无操作就视为token过期) 单位: 秒
activity-timeout: -1
# 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录)
is-concurrent: true
# 在多人登录同一账号时,是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token)
is-share: false
# token风格
token-style: random-128
# 是否输出操作日志
is-log: false
jwt-secret-key: opsjajisdnnca0sdkksdfaaasdfwwq
# token 前缀
token-prefix: Bearer

97
lms/nladmin-system/nlsso-server/target/classes/config/application.yml

@ -0,0 +1,97 @@
spring:
freemarker:
check-template-location: false
profiles:
active: dev
jackson:
time-zone: GMT+8
data:
redis:
repositories:
enabled: false
#配置 Jpa
jpa:
hibernate:
ddl-auto: none
open-in-view: true
properties:
hibernate:
dialect: org.hibernate.dialect.MySQL5InnoDBDialect
enable_lazy_load_no_trans: true
task:
pool:
# 核心线程池大小
core-pool-size: 10
# 最大线程数
max-pool-size: 30
# 活跃时间
keep-alive-seconds: 60
# 队列容量
queue-capacity: 50
#七牛云
qiniu:
# 文件大小 /M
max-size: 15
#邮箱验证码有效时间/秒
code:
expiration: 300
#密码加密传输,前端公钥加密,后端私钥解密
rsa:
private_key: MIIBUwIBADANBgkqhkiG9w0BAQEFAASCAT0wggE5AgEAAkEA0vfvyTdGJkdbHkB8mp0f3FE0GYP3AYPaJF7jUd1M0XxFSE2ceK3k2kw20YvQ09NJKk+OMjWQl9WitG9pB6tSCQIDAQABAkA2SimBrWC2/wvauBuYqjCFwLvYiRYqZKThUS3MZlebXJiLB+Ue/gUifAAKIg1avttUZsHBHrop4qfJCwAI0+YRAiEA+W3NK/RaXtnRqmoUUkb59zsZUBLpvZgQPfj1MhyHDz0CIQDYhsAhPJ3mgS64NbUZmGWuuNKp5coY2GIj/zYDMJp6vQIgUueLFXv/eZ1ekgz2Oi67MNCk5jeTF2BurZqNLR3MSmUCIFT3Q6uHMtsB9Eha4u7hS31tj1UWE+D+ADzp59MGnoftAiBeHT7gDMuqeJHPL4b+kC+gzV4FGTfhR9q3tTbklZkD2A==
logging:
file:
path: C:\log\wms
config: classpath:logback-spring.xml
# sa-token白名单配置
security:
# 排除路径
excludes:
# 认证
- /auth/login
- /auth/code
- /auth/logout
- /sys-user-do/**
# swagger
- /swagger-ui.html
- /swagger-resources/**
- /webjars/**
- /file/**
- /webSocket/**
# 静态资源
- /*.html
- /**/*.html
- /**/*.css
- /**/*.js
# swagger 文档配置
- /favicon.ico
- /*/api-docs
- /*/api-docs/**
# druid 监控配置
- /druid/**
# actuator 监控配置
- /actuator
- /actuator/**
# 上传
- /api/localStorage/pictures
# 参数
- /api/param/getValueByCode
mybatis-plus:
configuration:
map-underscore-to-camel-case: false
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
mapper-locations:
- classpath:org.nl.**.mapper/*.xml
global-config:
db-config:
id-type: INPUT
banner: false
lucene:
index:
path: D:\lucene\index
tlog:
enable-invoke-time-print: true
pattern: "[$preApp][$preIp][$spanId][$traceId]"

20
lms/nladmin-system/nlsso-server/target/classes/generator.properties

@ -0,0 +1,20 @@
# ????Java????
tinyint=Boolean
smallint=Integer
mediumint=Integer
int=Integer
integer=Integer
bigint=Long
float=Float
double=Double
decimal=BigDecimal
bit=Boolean
char=String
varchar=String
tinytext=String
text=String
mediumtext=String
longtext=String
date=Date
datetime=Date
Date=Date

16
lms/nladmin-system/nlsso-server/target/classes/language/error/error.properties

@ -0,0 +1,16 @@
error_send_msg=消息发送失败
error_cron=cron表达式格式错误
error_scheduled_create=创建定时任务失败
error_scheduled_update=更新定时任务失败
error_scheduled_recover=恢复定时任务失败
error_scheduled_paused=定时任务暂停失败
error_scheduled_execute=定时任务执行失败
error_scheduled_delete=删除定时任务失败
error_generate_code=此环境不允许生成代码,请选择预览或者下载查看!
error_options=没有这个选项
error_pwd=密码错误
error_operation=操作失败
error_report=回温出库失败:{0}
error_upload=上传失败
error_pack=打包失败
error_generate=生成失败,请手动处理已生成的文件

16
lms/nladmin-system/nlsso-server/target/classes/language/error/error_en_US.properties

@ -0,0 +1,16 @@
error_send_msg=The message failed to be sent
error_cron=The cron expression is malformed
error_scheduled_create=Failed to create a scheduled task
error_scheduled_update=The update scheduled task failed
error_scheduled_recover=The scheduled task failed to be resumed
error_scheduled_paused=The scheduled task failed to be paused
error_scheduled_execute=The scheduled task failed to be executed
error_scheduled_delete=Failed to delete the scheduled task
error_generate_code=This environment does not allow code generation, please select Preview or download to view!
error_options=There is no such option
error_pwd=Wrong password
error_operation=The operation failed
error_report=Failed to return to the outbound warehouse: {0}
error_upload=Upload failed
error_pack=Packaging failed
error_generate=If the build fails, manually process the generated file

16
lms/nladmin-system/nlsso-server/target/classes/language/error/error_vi_VN.properties

@ -0,0 +1,16 @@
error_send_msg=Gửi tin nhắn thất bại
error_cron=Lỗi định dạng biểu thức cron
error_scheduled_create=Lỗi tạo tác vụ hẹn giờ
error_scheduled_update=Cập nhật tác vụ hẹn giờ thất bại
error_scheduled_recover=Nhiệm vụ khôi phục thời gian thất bại
error_scheduled_paused=Thời gian tạm dừng tác vụ thất bại
error_scheduled_execute=Lỗi thực hiện tác vụ hẹn giờ
error_scheduled_delete=Xoá tác vụ đã hẹn thất bại
error_generate_code=Môi trường này không cho phép tạo mã, vui lòng chọn xem trước hoặc tải xuống để xem!
error_options=Không có tùy chọn này
error_pwd=Mật khẩu sai
error_operation=Hoạt động thất bại
error_report=Phản hồi thất bại: {0}
error_upload=Tải lên không thành công
error_pack=Đóng gói thất bại
error_generate=Lỗi tạo, vui lòng xử lý thủ công các tập tin đã tạo

16
lms/nladmin-system/nlsso-server/target/classes/language/error/error_zh_CN.properties

@ -0,0 +1,16 @@
error_send_msg=消息发送失败
error_cron=cron表达式格式错误
error_scheduled_create=创建定时任务失败
error_scheduled_update=更新定时任务失败
error_scheduled_recover=恢复定时任务失败
error_scheduled_paused=定时任务暂停失败
error_scheduled_execute=定时任务执行失败
error_scheduled_delete=删除定时任务失败
error_generate_code=此环境不允许生成代码,请选择预览或者下载查看!
error_options=没有这个选项
error_pwd=密码错误
error_operation=操作失败
error_report=回温出库失败:{0}
error_upload=上传失败
error_pack=打包失败
error_generate=生成失败,请手动处理已生成的文件

7
lms/nladmin-system/nlsso-server/target/classes/language/login/login.properties

@ -0,0 +1,7 @@
login_account=账号未激活
login_update_information=不能修改他人资料
login_codeError=验证码配置信息错误!
login_codeNull=验证码不存在或者过期
login_pwdWrong=账号或者密码不正确
login_pwdWrong_1=修改失败,旧密码错误
login_pwdWrong_2=新密码不能与旧密码相同

8
lms/nladmin-system/nlsso-server/target/classes/language/login/login_en_US.properties

@ -0,0 +1,8 @@
login_account=Account not activated
login_update_information=You can't modify other people's data
login_codeError=Verification code configuration information error\!
login_codeNull=The verification code does not exist or has expired
login_pwdWrong=Incorrect account or password
login_pwdWrong_1=Modification failed, old password error
login_pwdWrong_2=The new password cannot be the same as the old password

7
lms/nladmin-system/nlsso-server/target/classes/language/login/login_vi_VN.properties

@ -0,0 +1,7 @@
login_account=Tài khoản chưa kích hoạt
login_update_information=Không thể thay đổi thông tin của người khác
login_codeError=Thông tin cấu hình CAPTCHA sai!
login_codeNull=Mã xác minh không tồn tại hoặc hết hạn
login_pwdWrong=Tài khoản hoặc mật khẩu không chính xác
login_pwdWrong_1=Sửa đổi không thành công, mật khẩu cũ bị lỗi
login_pwdWrong_2=Mật khẩu mới không thể giống với mật khẩu cũ

8
lms/nladmin-system/nlsso-server/target/classes/language/login/login_zh_CN.properties

@ -0,0 +1,8 @@
login_account=账号未激活
login_update_information=不能修改他人资料
login_codeError=验证码配置信息错误!
login_codeNull=验证码不存在或者过期
login_pwdWrong=账号或者密码不正确
login_pwdWrong_1=修改失败,旧密码错误
login_pwdWrong_2=新密码不能与旧密码相同

31
lms/nladmin-system/nlsso-server/target/classes/language/monitor/universal/universal.properties

@ -0,0 +1,31 @@
universal_limit=访问次数受限制
universal_error=被删除或无权限,操作失败!
universal_exist_point=存在相同的点位编码
universal_exist_class=存在相同的基础类别编号
universal_exist_linked_data=存在相关联的数据权限,请解除关联后删除
universal_generators=请先配置生成器
universal_superior=上级不能为自己
universal_superior_or_lower=上级不能为自己或自己的下级
universal_file=文件超出规定大小
universal_validation={0} 不存在: {1} is {2}
universal_scheduled_create=A new {0} cannot already have an ID
universal_role_empty=角色名字不能为空!
universal_role_exist=角色【{0}】已存在!
universal_encode=编码不能一致
universal_encode_exist=编码[{0}]已存在
universal_encode_date_exist=编码为[{0}]的数据权限已存在
universal_image=只能上传图片
universal_init_code=请完善编码数值的初始值!
universal_dict_exist=字典[{0}]已存在
universal_dict_NoExist=字典不存在
universal_label_exist=标签[{0}]已存在
universal_code_exist1=编号[{0}]已存在
universal_code_exist2=该编码code已存在,请校验!
universal_msg_NoExist=该信息不存在!
universal_userid_empty=用户不能为空
universal_Backlinks=外链必须以http://或者https://开头
universal_stage_exist=舞台编码[{0}]已存在
universal_stage_NoExist=舞台不存在
universal_menu_NoExist=获取对应的系统菜单不存在
universal_file_NoExist=文件信息不存在
universal_dept_exist=部门存在绑定的人员,请先解绑人员对应部门

31
lms/nladmin-system/nlsso-server/target/classes/language/monitor/universal/universal_en_US.properties

@ -0,0 +1,31 @@
universal_limit=The number of visits is limited
universal_error=Deleted or without permission, operation failed!
universal_exist_point=The same point code exists
universal_exist_class=The same base category number exists
universal_exist_linked_data=If there is an associated data permission, please delete it after disassociating it
universal_generators=Please configure the generator first
universal_superior=Superiors can not be for themselves
universal_superior_or_lower=Superiors cannot be for themselves or their own subordinates
universal_file=The file exceeds the specified size
universal_validation={0} does not exist: {1} is {2}
universal_scheduled_create=A new {0} cannot already have an ID
universal_role_empty=Character names can't be empty!!
universal_role_exist=Character [{0}] already exists!
universal_encode=The encoding is not consistent
universal_encode_exist=The encoding [{0}] already exists
universal_encode_date_exist=The data rights encoded as [{0}] already exist
universal_image=Only images can be uploaded
universal_init_code=Please complete the initial value of the encoded value!
universal_dict_exist=The dictionary [{0}] already exists
universal_dict_NoExist=The dictionary does not exist
universal_label_exist=The tag [{0}] already exists
universal_code_exist1=The number [{0}] already exists
universal_code_exist2=The code already exists, please verify!
universal_msg_NoExist=The information does not exist!
universal_userid_empty=The user cannot be empty
universal_Backlinks=Backlinks must start with http:// or https://
universal_stage_exist=Stage code [{0}] already exists
universal_stage_NoExist=The stage does not exist
universal_menu_NoExist=The corresponding system menu does not exist
universal_file_NoExist=The file information does not exist
universal_dept_exist=If there is a bound person in the department, please unbind the corresponding department first

31
lms/nladmin-system/nlsso-server/target/classes/language/monitor/universal/universal_vi_VN.properties

@ -0,0 +1,31 @@
universal_limit=Số lượt truy cập bị hạn chế
universal_error=Bị xóa hoặc không có quyền, hoạt động không thành công!
universal_exist_point=Có cùng một mã hóa điểm
universal_exist_class=Có cùng một số loại cơ sở
universal_exist_linked_data=Có quyền liên quan đến dữ liệu, hãy xóa nó sau khi hủy liên kết
universal_generators=Vui lòng cấu hình máy phát điện trước
universal_superior=Cấp trên không thể tự
universal_superior_or_lower=Cấp trên không thể vì mình hay cấp dưới của mình.
universal_file=Tập tin vượt quá kích thước quy định
universal_validation={0} không tồn tại: {1} là {2}
universal_scheduled_create={0} mới không thể có ID
universal_role_empty=Tên nhân vật không được để trống!!
universal_role_exist=Vai trò【{0}】Đã tồn tại!
universal_encode=Mã hóa không phù hợp
universal_encode_exist=Mã hóa [{0}] đã tồn tại
universal_encode_date_exist=Quyền dữ liệu được mã hóa thành [{0}] đã tồn tại
universal_image=Chỉ có thể upload ảnh
universal_init_code=Xin hãy hoàn thiện giá trị ban đầu của giá trị mã hóa!
universal_dict_exist=Từ điển [{0}] đã tồn tại
universal_dict_NoExist=Từ điển không tồn tại
universal_label_exist=Thẻ [{0}] đã tồn tại
universal_code_exist1=Số [{0}] đã tồn tại
universal_code_exist2=Mã này đã tồn tại, vui lòng kiểm tra!
universal_msg_NoExist=Thông tin này không tồn tại!
universal_userid_empty=User không thể để trống
universal_Backlinks=Chuỗi bên ngoài phải bắt đầu bằng http://hoặc https://
universal_stage_exist=Mã sân khấu [{0}] đã tồn tại
universal_stage_NoExist=Sân khấu không tồn tại
universal_menu_NoExist=Menu hệ thống tương ứng không tồn tại
universal_file_NoExist=Thông tin tập tin không tồn tại
universal_dept_exist=Nhân viên có liên quan, xin vui lòng cởi trói trước.

31
lms/nladmin-system/nlsso-server/target/classes/language/monitor/universal/universal_zh_CN.properties

@ -0,0 +1,31 @@
universal_limit=访问次数受限制
universal_error=被删除或无权限,操作失败!
universal_exist_point=存在相同的点位编码
universal_exist_class=存在相同的基础类别编号
universal_exist_linked_data=存在相关联的数据权限,请解除关联后删除
universal_generators=请先配置生成器
universal_superior=上级不能为自己
universal_superior_or_lower=上级不能为自己或自己的下级
universal_file=文件超出规定大小
universal_validation={0} 不存在: {1} is {2}
universal_scheduled_create=A new {0} cannot already have an ID
universal_role_empty=角色名字不能为空!
universal_role_exist=角色【{0}】已存在!
universal_encode=编码不能一致
universal_encode_exist=编码[{0}]已存在
universal_encode_date_exist=编码为[{0}]的数据权限已存在
universal_image=只能上传图片
universal_init_code=请完善编码数值的初始值!
universal_dict_exist=字典[{0}]已存在
universal_dict_NoExist=字典不存在
universal_label_exist=标签[{0}]已存在
universal_code_exist1=编号[{0}]已存在
universal_code_exist2=该编码code已存在,请校验!
universal_msg_NoExist=该信息不存在!
universal_userid_empty=用户不能为空
universal_Backlinks=外链必须以http://或者https://开头
universal_stage_exist=舞台编码[{0}]已存在
universal_stage_NoExist=舞台不存在
universal_menu_NoExist=获取对应的系统菜单不存在
universal_file_NoExist=文件信息不存在
universal_dept_exist=部门存在绑定的人员,请先解绑人员对应部门

20
lms/nladmin-system/nlsso-server/target/classes/language/task/task.properties

@ -0,0 +1,20 @@
task_finish=该任务已完成!
task_cancel=该任务已取消!
task_type_empty=任务类型不能为空!requestMethodCode:{0},device_code:{1}
task_type_Incorrect=任务类型不正确!{0}:{1},{2}:{3}
task_code_empty=任务编码不能为空!
task_finish_or_cancel=任务已完成或已取消!
task_point_isNull=起点区域和终点区域不能同时为空!
task_Id_isNull=未找到任务编码为{0}的任务
task_checkExist=任务配置【{0}】已存在!
task_point_error1=点位:{0}上无托盘信息!
task_point_error2=点位:{0}上托盘信息:{1}与任务申请托盘:{2}不一致,请检查库存!
task_point_error3={0}点位信息异常,请检查输入的点位!
task_point_error4=叠盘机空盘数量已达最大值:[{0}],暂时无法放置托盘!
task_point_error5={0}点位信息异常,请检查输入的点位!
task_point_error6={0}点位已存在载具或任务信息!
task_Subtasks=子任务中不能添加当前任务ID

17
lms/nladmin-system/nlsso-server/target/classes/language/task/task_en_US.properties

@ -0,0 +1,17 @@
task_finish=The mission is complete!
task_cancel=The mission has been cancelled!
task_type_empty=The task type cannot be empty! requestMethodCode:{0},device_code:{1}
task_type_Incorrect=The task type is incorrect! {0}:{1},{2}:{3}
task_code_empty=The task code cannot be empty!
task_finish_or_cancel=Mission completed or canceled!
task_point_isNull=The start and end areas cannot be empty at the same time!
task_Id_isNull=The task with the task code of {0} was not found
task_checkExist=The task configuration [{0}] already exists!
task_point_error1=Location: There is no pallet information on the {0}!
task_point_error2=Location: Pallet information on the {0}: {1} is inconsistent with the task application tray: {2}, please check the inventory!
task_point_error3={0} the point information is abnormal, please check the entered point!
task_point_error4=The number of empty trays in the stacker has reached the maximum value: [{0}], and the pallets cannot be placed temporarily!
task_point_error5={0} the point information is abnormal, please check the entered point!
task_point_error6=Vehicle or mission information already exists at {0} point!
task_Subtasks=You cannot add the current task ID to a subtask

16
lms/nladmin-system/nlsso-server/target/classes/language/task/task_vi_VN.properties

@ -0,0 +1,16 @@
task_finish=Nhiệm vụ đã hoàn thành!
task_cancel=Nhiệm vụ bị hủy bỏ!
task_type_empty=Loại nhiệm vụ không được để trống! requestMethodCode:{0},device_code:{1}
task_type_Incorrect=Loại nhiệm vụ không đúng! {0}:{1},{2}:{3}
task_code_empty=Mã hóa nhiệm vụ không thể để trống!
task_finish_or_cancel=Nhiệm vụ đã hoàn thành hoặc bị hủy bỏ!
task_point_isNull=Khu vực bắt đầu và khu vực kết thúc không thể trống cùng một lúc!
task_Id_isNull=Không tìm thấy nhiệm vụ được mã hóa {0}
task_checkExist=Cấu hình tác vụ [{0}] đã tồn tại!
task_point_error1=Vị trí: Không có thông tin pallet trên {0}!
task_point_error2=Điểm: {0} Thông tin pallet trên: {1} Không phù hợp với khay yêu cầu nhiệm vụ: {2} Vui lòng kiểm tra hàng tồn kho!
task_point_error3={0} Thông tin điểm bất thường, vui lòng kiểm tra điểm đã nhập!
task_point_error4=Số lượng đĩa trống của máy xếp đĩa đã đạt đến giá trị tối đa: [{0}], tạm thời không thể đặt khay!
task_point_error5={0} Thông tin điểm bất thường, vui lòng kiểm tra điểm đã nhập!
task_point_error6={0} Điểm đã có thông tin về tàu sân bay hoặc nhiệm vụ!
task_Subtasks=Bạn không thể thêm ID tác vụ hiện tại vào tác vụ con

16
lms/nladmin-system/nlsso-server/target/classes/language/task/task_zh_CN.properties

@ -0,0 +1,16 @@
task_finish=该任务已完成!
task_cancel=该任务已取消!
task_type_empty=任务类型不能为空!requestMethodCode:{0},device_code:{1}
task_type_Incorrect=任务类型不正确!{0}:{1},{2}:{3}
task_code_empty=任务编码不能为空!
task_finish_or_cancel=任务已完成或已取消!
task_point_isNull=起点区域和终点区域不能同时为空!
task_Id_isNull=未找到任务编码为{0}的任务
task_checkExist=任务配置【{0}】已存在!
task_point_error1=点位:{0}上无托盘信息!
task_point_error2=点位:{0}上托盘信息:{1}与任务申请托盘:{2}不一致,请检查库存!
task_point_error3={0}点位信息异常,请检查输入的点位!
task_point_error4=叠盘机空盘数量已达最大值:[{0}],暂时无法放置托盘!
task_point_error5={0}点位信息异常,请检查输入的点位!
task_point_error6={0}点位已存在载具或任务信息!
task_Subtasks=子任务中不能添加当前任务ID

34
lms/nladmin-system/nlsso-server/target/classes/log/XgAgvDeviceDriver.xml

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<included>
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
<property name="LOG_HOME" value="${logPath}"/>
<!--<define name="DEVICECODE" class="org.nl.common.logging.DeviceCodeDir"/>-->
<!-- 按照每天生成日志文件 -->
<appender name="FILE_XGAGV" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!--日志文件输出的文件名-->
<FileNamePattern>${LOG_HOME}/XgAgvDeviceDriver/${DEVICECODE}/%d{yyyy-MM-dd}.%i.log</FileNamePattern>
<!--日志文件保留天数-->
<maxHistory>15</maxHistory>
<!--单个日志最大容量 至少10MB才能看得出来-->
<maxFileSize>50MB</maxFileSize>
<!--所有日志最多占多大容量-->
<totalSizeCap>2GB</totalSizeCap>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
<charset>${log.charset}</charset>
</encoder>
</appender>
<!-- <logger name="org.nl.start.Init" level="info" additivity="false">
<appender-ref ref="FILE3"/>
</logger>-->
<!-- 打印sql -->
<logger name="org.nl.system.service.lucene.impl.LuceneExecuteLogServiceImpl" level="info" additivity="false">
<appender-ref ref="FILE_XGAGV"/>
</logger>
</included>

4
lms/nladmin-system/nlsso-server/target/classes/log4jdbc.log4j2.properties

@ -0,0 +1,4 @@
# If you use SLF4J. First, you need to tell log4jdbc-log4j2 that you want to use the SLF4J logger
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
log4jdbc.auto.load.popular.drivers=false
log4jdbc.drivers=com.mysql.cj.jdbc.Driver

167
lms/nladmin-system/nlsso-server/target/classes/logback-spring.xml

@ -0,0 +1,167 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--配置说明:
https://www.cnblogs.com/jybky/p/12204586.html
https://blog.csdn.net/wzygis/article/details/103189490
https://www.cnblogs.com/xrq730/p/8628945.html
https://www.jianshu.com/p/af5a7bab0e59
https://blog.csdn.net/wzygis/article/details/103189490
https://juejin.cn/post/6844903775631572999
-->
<configuration scan="true" scanPeriod="30 seconds" debug="false">
<contextName>nlAdmin</contextName>
<property name="log.charset" value="utf-8"/>
<property name="log.pattern"
value="%cyan(%contextName-) %red(%d{yyyy-MM-dd HH:mm:ss.SSS}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}) - %cyan(%msg%n)"/>
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
<property name="LOG_HOME" value="${logPath}"/>
<!--引入默认的一些设置-->
<include resource="log/XgAgvDeviceDriver.xml"/>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<!--withJansi 参数改为true-->
<withJansi>true</withJansi>
<encoder class="com.yomahub.tlog.core.enhance.logback.AspectLogbackEncoder">
<pattern>${log.pattern}</pattern>
<!-- <charset>${log.charset}</charset>-->
</encoder>
</appender>
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
<property name="LOG_HOME" value="${logPath}"/>
<!-- 按照每天生成日志文件 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!--日志文件输出的文件名-->
<FileNamePattern>${LOG_HOME}/%d{yyyy-MM-dd}.%i.log</FileNamePattern>
<!--日志文件保留天数-->
<maxHistory>15</maxHistory>
<!--单个日志最大容量 至少10MB才能看得出来-->
<maxFileSize>50MB</maxFileSize>
<!--所有日志最多占多大容量-->
<totalSizeCap>20GB</totalSizeCap>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
</encoder>
</appender>
<!--异步到文件-->
<appender name="asyncFileAppender" class="com.yomahub.tlog.core.enhance.logback.async.AspectLogbackAsyncAppender">
<discardingThreshold>0</discardingThreshold>
<queueSize>500</queueSize>
<appender-ref ref="FILE"/>
</appender>
<!--开发环境:打印控制台-->
<springProfile name="dev">
<root level="info">
<appender-ref ref="asyncFileAppender"/>
<appender-ref ref="CONSOLE"/>
</root>
<logger name="org.springframework" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="org.apache" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="org.hibernate" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="io.netty" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="jdbc" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="io.lettuce" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="com.fasterxml" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="org.quartz" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="com.google" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="springfox" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="log4jdbc" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="nl.basjes" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
</logger>
</springProfile>
<!--生产环境:打印控制台和输出到文件-->
<springProfile name="prod">
<root level="debug">
<appender-ref ref="asyncFileAppender"/>
</root>
<logger name="org.springframework" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="org.apache" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="org.hibernate" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="io.netty" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="jdbc" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="io.lettuce" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="com.fasterxml" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="org.quartz" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="com.google" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="springfox" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="log4jdbc" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="nl.basjes" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
</logger>
</springProfile>
<!--测试环境:打印控制台-->
<springProfile name="test">
<root level="info">
<appender-ref ref="asyncFileAppender"/>
</root>
<logger name="jdbc.audit" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="jdbc.resultset" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="springfox.documentation" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="jdbc.resultsettable" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="jdbc.sqlonly" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
</logger>
</springProfile>
</configuration>

BIN
lms/nladmin-system/nlsso-server/target/classes/org/nl/AppRun.class

Binary file not shown.

68
lms/nladmin-system/nlsso-server/target/classes/org/nl/AppRun.java

@ -0,0 +1,68 @@
package org.nl;
import cn.dev33.satoken.annotation.SaIgnore;
import com.alicp.jetcache.anno.config.EnableCreateCacheAnnotation;
import com.alicp.jetcache.anno.config.EnableMethodCache;
import io.swagger.annotations.Api;
import org.mybatis.spring.annotation.MapperScan;
import org.nl.config.SpringContextHolder;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.boot.web.servlet.server.ServletWebServerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 开启审计功能 -> @EnableJpaAuditing
* https://www.cnblogs.com/niceyoo/p/10908647.html
*
* @author ldjun
* @date 2021/2/22 9:20:19
*/
@EnableAsync
@RestController
@Api(hidden = true)
@SpringBootApplication(exclude = {
org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class
})
@ServletComponentScan //https://blog.csdn.net/qq_36850813/article/details/101194250
@EnableTransactionManagement
@EnableMethodCache(basePackages = "org.nl")
@EnableCreateCacheAnnotation
@MapperScan("org.nl.**.mapper")
public class AppRun {
public static void main(String[] args) {
SpringApplication.run(AppRun.class, args);
}
@Bean
public SpringContextHolder springContextHolder() {
return new SpringContextHolder();
}
@Bean
public ServletWebServerFactory webServerFactory() {
TomcatServletWebServerFactory fa = new TomcatServletWebServerFactory();
fa.addConnectorCustomizers(connector -> connector.setProperty("relaxedQueryChars", "[]{}"));
return fa;
}
/**
* 访问首页提示
*
* @return /
*/
@GetMapping("/")
@SaIgnore
public String index() {
return "Backend service started successfully";
}
}

BIN
lms/nladmin-system/nlsso-server/target/classes/org/nl/common/annotation/DataPermission.class

Binary file not shown.

47
lms/nladmin-system/nlsso-server/target/classes/org/nl/common/annotation/DataPermission.java

@ -0,0 +1,47 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.nl.common.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* <p>
* 用于判断是否过滤数据权限
* 1如果没有用到 @OneToOne 这种关联关系只需要填写 fieldName [参考DeptQueryCriteria.class]
* 2如果用到了 @OneToOne fieldName joinName 都需要填写拿UserQueryCriteria.class举例:
* 应该是 @DataPermission(joinName = "dept", fieldName = "id")
* </p>
* @author Zheng Jie
* @website https://el-admin.vip
* @date 2020-05-07
**/
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface DataPermission {
/**
* Entity 中的字段名称
*/
String fieldName() default "";
/**
* Entity 中与部门关联的字段名称
*/
String joinName() default "";
}

BIN
lms/nladmin-system/nlsso-server/target/classes/org/nl/common/annotation/Limit.class

Binary file not shown.

50
lms/nladmin-system/nlsso-server/target/classes/org/nl/common/annotation/Limit.java

@ -0,0 +1,50 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.nl.common.annotation;
import org.nl.common.aspect.LimitType;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* @author jacky
*/
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Limit {
// 资源名称,用于描述接口功能
String name() default "";
// 资源 key
String key() default "";
// key prefix
String prefix() default "";
// 时间的,单位秒
int period();
// 限制访问次数
int count();
// 限制类型
LimitType limitType() default LimitType.CUSTOMER;
}

BIN
lms/nladmin-system/nlsso-server/target/classes/org/nl/common/annotation/Query$Join.class

Binary file not shown.

BIN
lms/nladmin-system/nlsso-server/target/classes/org/nl/common/annotation/Query$Type.class

Binary file not shown.

BIN
lms/nladmin-system/nlsso-server/target/classes/org/nl/common/annotation/Query.class

Binary file not shown.

88
lms/nladmin-system/nlsso-server/target/classes/org/nl/common/annotation/Query.java

@ -0,0 +1,88 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.nl.common.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* @author Zheng Jie
* @date 2019-6-4 13:52:30
*/
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Query {
// Dong ZhaoYang 2017/8/7 基本对象的属性名
String propName() default "";
// Dong ZhaoYang 2017/8/7 查询方式
Type type() default Type.EQUAL;
/**
* 连接查询的属性名如User类中的dept
*/
String joinName() default "";
/**
* 默认左连接
*/
Join join() default Join.LEFT;
/**
* 多字段模糊搜索仅支持String类型字段多个用逗号隔开, @Query(blurry = "email,username")
*/
String blurry() default "";
enum Type {
// jie 2019/6/4 相等
EQUAL
// Dong ZhaoYang 2017/8/7 大于等于
, GREATER_THAN
// Dong ZhaoYang 2017/8/7 小于等于
, LESS_THAN
// Dong ZhaoYang 2017/8/7 中模糊查询
, INNER_LIKE
// Dong ZhaoYang 2017/8/7 左模糊查询
, LEFT_LIKE
// Dong ZhaoYang 2017/8/7 右模糊查询
, RIGHT_LIKE
// Dong ZhaoYang 2017/8/7 小于
, LESS_THAN_NQ
// jie 2019/6/4 包含
, IN
// 不等于
,NOT_EQUAL
// between
,BETWEEN
// 不为空
,NOT_NULL
// 为空
,IS_NULL
}
/**
* @author Zheng Jie
* 适用于简单连接查询复杂的请自定义该注解或者使用sql查询
*/
enum Join {
/** jie 2019-6-4 13:18:30 */
LEFT, RIGHT, INNER
}
}

BIN
lms/nladmin-system/nlsso-server/target/classes/org/nl/common/annotation/RateLimiter.class

Binary file not shown.

39
lms/nladmin-system/nlsso-server/target/classes/org/nl/common/annotation/RateLimiter.java

@ -0,0 +1,39 @@
package org.nl.common.annotation;
import org.springframework.core.annotation.AliasFor;
import org.springframework.core.annotation.AnnotationUtils;
import java.lang.annotation.*;
import java.util.concurrent.TimeUnit;
/**
* @Author: lyd
* @Description: 限流注解添加了 {@link AliasFor} 必须通过 {@link AnnotationUtils} 获取才会生效
* @Date: 2022-08-15
*/
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface RateLimiter {
int NOT_LIMITED = 0;
/**
* qps
*/
@AliasFor("qps") double value() default NOT_LIMITED;
/**
* qps
*/
@AliasFor("value") double qps() default NOT_LIMITED;
/**
* 超时时长
*/
int timeout() default 0;
/**
* 超时时间单位
*/
TimeUnit timeUnit() default TimeUnit.MILLISECONDS;
}

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save