1145 changed files with 37480 additions and 1109 deletions
@ -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; |
|||
} |
|||
} |
@ -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; |
|||
} |
|||
} |
@ -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=生成失败,请手动处理已生成的文件 |
@ -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 |
@ -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 |
@ -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=生成失败,请手动处理已生成的文件 |
@ -0,0 +1,7 @@ |
|||
login_account=账号未激活 |
|||
login_update_information=不能修改他人资料 |
|||
login_codeError=验证码配置信息错误! |
|||
login_codeNull=验证码不存在或者过期 |
|||
login_pwdWrong=账号或者密码不正确 |
|||
login_pwdWrong_1=修改失败,旧密码错误 |
|||
login_pwdWrong_2=新密码不能与旧密码相同 |
@ -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 |
|||
|
@ -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ũ |
@ -0,0 +1,8 @@ |
|||
login_account=账号未激活 |
|||
login_update_information=不能修改他人资料 |
|||
login_codeError=验证码配置信息错误! |
|||
login_codeNull=验证码不存在或者过期 |
|||
login_pwdWrong=账号或者密码不正确 |
|||
login_pwdWrong_1=修改失败,旧密码错误 |
|||
login_pwdWrong_2=新密码不能与旧密码相同 |
|||
|
@ -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=部门存在绑定的人员,请先解绑人员对应部门 |
@ -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 |
@ -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. |
@ -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=部门存在绑定的人员,请先解绑人员对应部门 |
@ -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 |
|||
|
|||
|
|||
|
|||
|
@ -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 |
|||
|
@ -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 |
@ -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 |
@ -0,0 +1,8 @@ |
|||
_ _ ___________ _ _____ _ ___________ _____ |
|||
| \ | | _ | ___ \ | | ___| | | ___| ___|_ _| |
|||
| \| | | | | |_/ / | | |__ | | | |__ | |_ | | |
|||
| . ` | | | | ___ \ | | __|| | | __|| _| | | |
|||
| |\ \ \_/ / |_/ / |____| |___| |____| |___| | | | |
|||
\_| \_/\___/\____/\_____/\____/\_____/\____/\_| \_/ |
|||
|
|||
:: Spring Boot :: (v2.1.0.RELEASE) |
@ -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 |
@ -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 |
@ -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 |
@ -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]" |
@ -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 |
@ -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=生成失败,请手动处理已生成的文件 |
@ -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 |
@ -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 |
@ -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=生成失败,请手动处理已生成的文件 |
@ -0,0 +1,7 @@ |
|||
login_account=账号未激活 |
|||
login_update_information=不能修改他人资料 |
|||
login_codeError=验证码配置信息错误! |
|||
login_codeNull=验证码不存在或者过期 |
|||
login_pwdWrong=账号或者密码不正确 |
|||
login_pwdWrong_1=修改失败,旧密码错误 |
|||
login_pwdWrong_2=新密码不能与旧密码相同 |
@ -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 |
|||
|
@ -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ũ |
@ -0,0 +1,8 @@ |
|||
login_account=账号未激活 |
|||
login_update_information=不能修改他人资料 |
|||
login_codeError=验证码配置信息错误! |
|||
login_codeNull=验证码不存在或者过期 |
|||
login_pwdWrong=账号或者密码不正确 |
|||
login_pwdWrong_1=修改失败,旧密码错误 |
|||
login_pwdWrong_2=新密码不能与旧密码相同 |
|||
|
@ -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=部门存在绑定的人员,请先解绑人员对应部门 |
@ -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 |
@ -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. |
@ -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=部门存在绑定的人员,请先解绑人员对应部门 |
@ -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 |
|||
|
|||
|
|||
|
|||
|
@ -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 |
|||
|
@ -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 |
@ -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 |
@ -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> |
@ -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 |
@ -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> |
Binary file not shown.
@ -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"; |
|||
} |
|||
} |
|||
|
Binary file not shown.
@ -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 ""; |
|||
} |
Binary file not shown.
@ -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; |
|||
|
|||
} |
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -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 |
|||
} |
|||
|
|||
} |
|||
|
Binary file not shown.
@ -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…
Reference in new issue