From e91e4f0b64edff072a9d81c367a297ed6018a52f Mon Sep 17 00:00:00 2001 From: zhuoda Date: Thu, 10 Apr 2025 22:14:14 +0800 Subject: [PATCH] =?UTF-8?q?v3.18.0=20=E3=80=90=E6=96=B0=E5=A2=9E=E3=80=91?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=B6=88=E6=81=AF=E7=AE=A1=E7=90=86=EF=BC=9B?= =?UTF-8?q?=E3=80=90=E6=96=B0=E5=A2=9E=E3=80=91=E5=AE=8C=E5=96=84=E4=BC=81?= =?UTF-8?q?=E4=B8=9Ademo=EF=BC=9B=E3=80=90=E6=96=B0=E5=A2=9E=E3=80=91?= =?UTF-8?q?=E5=AE=8C=E5=96=84=E7=9B=B8=E5=85=B3=E6=95=B0=E6=8D=AE=E6=9D=83?= =?UTF-8?q?=E9=99=90=EF=BC=9B=E3=80=90=E6=96=B0=E5=A2=9E=E3=80=91=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E7=AE=A1=E7=90=86=E4=B8=8B=E7=BA=A7=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- smart-admin-api-java17-springboot3/pom.xml | 2 +- .../sa-admin/pom.xml | 4 +- .../admin/constant/AdminSwaggerTagConst.java | 2 + .../business/oa/bank/BankController.java | 7 + .../oa/enterprise/EnterpriseController.java | 3 + .../oa/invoice/InvoiceController.java | 9 +- .../message/AdminMessageController.java | 54 ++++ .../system/support/AdminDictController.java | 28 +-- .../sa-base/pom.xml | 2 +- .../message/domain/MessageQueryForm.java | 4 +- .../message/service/MessageService.java | 10 + .../src/main/resources/prod/sa-base.yaml | 2 +- smart-admin-api-java8-springboot2/pom.xml | 2 +- .../sa-admin/pom.xml | 4 +- .../admin/constant/AdminSwaggerTagConst.java | 2 + .../business/oa/bank/BankController.java | 7 + .../oa/enterprise/EnterpriseController.java | 3 + .../oa/invoice/InvoiceController.java | 9 +- .../message/AdminMessageController.java | 54 ++++ .../system/support/AdminDictController.java | 28 +-- .../sa-base/pom.xml | 2 +- .../message/domain/MessageQueryForm.java | 4 +- .../domain/MessageTemplateSendForm.java | 7 + .../message/service/MessageService.java | 10 + .../src/main/resources/dev/sa-base.yaml | 4 +- .../src/main/resources/prod/sa-base.yaml | 4 +- smart-admin-web-javascript/src/App.vue | 4 +- .../src/api/support/message-api.js | 15 ++ .../support/table-operator/index.vue | 22 +- .../smart-table-column-modal.vue | 11 +- .../src/config/app-config.js | 2 +- .../src/constants/support/table-id-const.js | 3 +- .../src/constants/system/menu-const.js | 2 +- .../src/i18n/lang/zh-CN/index.js | 2 +- .../header-user-space/header-setting.vue | 4 +- .../src/layout/side-expand-layout.vue | 2 +- .../src/layout/side-layout.vue | 2 +- .../src/layout/top-expand-layout.vue | 2 +- .../src/layout/top-layout.vue | 12 +- .../src/plugins/privilege-plugin.js | 2 +- .../views/business/erp/goods/goods-list.vue | 39 ++- .../components/enterprise-bank-list.vue | 6 +- .../enterprise-bank-operate-modal.vue | 4 +- .../components/enterprise-employee-list.vue | 93 ++++--- .../components/enterprise-invoice-list.vue | 8 +- .../enterprise-invoice-operate-modal.vue | 4 +- .../components/enterprise-operate-modal.vue | 13 +- .../oa/enterprise/enterprise-detail.vue | 12 +- .../oa/enterprise/enterprise-list.vue | 4 +- .../code-generator/code-generator-list.vue | 2 +- ...enerator-table-config-form-query-field.vue | 4 +- .../dict/components/dict-data-form-modal.vue | 4 +- .../dict/components/dict-data-modal.vue | 12 +- .../dict/components/dict-form-modal.vue | 4 +- .../src/views/support/dict/index.vue | 10 +- .../components/message-receiver-modal.vue | 158 ++++++++++++ .../message/components/message-send-form.vue | 128 ++++++++++ .../views/support/message/message-list.vue | 236 ++++++++++++++++++ .../menu/components/menu-operate-modal.vue | 37 +-- .../system/menu/menu-list-table-columns.js | 8 +- .../src/views/system/menu/menu-list.vue | 21 +- smart-admin-web-typescript/src/App.vue | 3 - .../src/api/support/message-api.ts | 15 ++ .../support/table-operator/index.vue | 22 +- .../smart-table-column-modal.vue | 11 +- .../src/config/app-config.ts | 2 +- .../src/constants/support/table-id-const.ts | 3 +- .../src/constants/system/menu-const.ts | 2 +- .../src/i18n/lang/zh-CN/index.ts | 2 +- .../header-user-space/header-setting.vue | 4 +- .../src/layout/side-expand-layout.vue | 2 +- .../src/layout/side-layout.vue | 2 +- .../src/layout/top-expand-layout.vue | 2 +- .../src/layout/top-layout.vue | 12 +- .../src/plugins/privilege-plugin.ts | 2 +- .../views/business/erp/goods/goods-list.vue | 37 ++- .../components/enterprise-bank-list.vue | 6 +- .../enterprise-bank-operate-modal.vue | 4 +- .../components/enterprise-employee-list.vue | 93 ++++--- .../components/enterprise-invoice-list.vue | 9 +- .../enterprise-invoice-operate-modal.vue | 4 +- .../components/enterprise-operate-modal.vue | 13 +- .../oa/enterprise/enterprise-detail.vue | 12 +- .../oa/enterprise/enterprise-list.vue | 4 +- .../code-generator/code-generator-list.vue | 2 +- ...enerator-table-config-form-query-field.vue | 4 +- .../dict/components/dict-data-form-modal.vue | 4 +- .../dict/components/dict-data-modal.vue | 12 +- .../dict/components/dict-form-modal.vue | 4 +- .../src/views/support/dict/index.vue | 4 +- .../components/message-receiver-modal.vue | 158 ++++++++++++ .../message/components/message-send-form.vue | 128 ++++++++++ .../views/support/message/message-list.vue | 236 ++++++++++++++++++ .../menu/components/menu-operate-modal.vue | 5 +- .../system/menu/menu-list-table-columns.ts | 8 +- .../src/views/system/menu/menu-list.vue | 21 +- smart-app/src/api/system/login-api.js | 13 + smart-app/src/pages/login/login.vue | 71 +++++- sql/smart_admin_v3.sql | 30 ++- sql/sql-update-log/v3.18.0.sql | 21 ++ 100 files changed, 1840 insertions(+), 306 deletions(-) create mode 100644 smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/message/AdminMessageController.java create mode 100644 smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/message/AdminMessageController.java create mode 100644 smart-admin-web-javascript/src/views/support/message/components/message-receiver-modal.vue create mode 100644 smart-admin-web-javascript/src/views/support/message/components/message-send-form.vue create mode 100644 smart-admin-web-javascript/src/views/support/message/message-list.vue create mode 100644 smart-admin-web-typescript/src/views/support/message/components/message-receiver-modal.vue create mode 100644 smart-admin-web-typescript/src/views/support/message/components/message-send-form.vue create mode 100644 smart-admin-web-typescript/src/views/support/message/message-list.vue create mode 100644 sql/sql-update-log/v3.18.0.sql diff --git a/smart-admin-api-java17-springboot3/pom.xml b/smart-admin-api-java17-springboot3/pom.xml index 9f0e2636..ac76b6cd 100644 --- a/smart-admin-api-java17-springboot3/pom.xml +++ b/smart-admin-api-java17-springboot3/pom.xml @@ -2,7 +2,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - net.1024lab + net.lab1024 sa-parent 3.0.0 pom diff --git a/smart-admin-api-java17-springboot3/sa-admin/pom.xml b/smart-admin-api-java17-springboot3/sa-admin/pom.xml index 463f9494..c5ac192f 100644 --- a/smart-admin-api-java17-springboot3/sa-admin/pom.xml +++ b/smart-admin-api-java17-springboot3/sa-admin/pom.xml @@ -2,7 +2,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - net.1024lab + net.lab1024 sa-parent 3.0.0 ../pom.xml @@ -18,7 +18,7 @@ - net.1024lab + net.lab1024 sa-base 3.0.0 diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminSwaggerTagConst.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminSwaggerTagConst.java index c5319d63..fb7a630c 100644 --- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminSwaggerTagConst.java +++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminSwaggerTagConst.java @@ -51,6 +51,8 @@ public class AdminSwaggerTagConst extends SwaggerTagConst { public static final String SYSTEM_POSITION = "系统-职务管理"; + public static final String SYSTEM_MESSAGE = "系统-消息"; + } diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankController.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankController.java index f17cbd45..e165817e 100644 --- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankController.java +++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankController.java @@ -1,5 +1,6 @@ package net.lab1024.sa.admin.module.business.oa.bank; +import cn.dev33.satoken.annotation.SaCheckPermission; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; @@ -35,24 +36,28 @@ public class BankController { @Operation(summary = "分页查询银行信息 @author 善逸") @PostMapping("/oa/bank/page/query") + @SaCheckPermission("oa:bank:query") public ResponseDTO> queryByPage(@RequestBody @Valid BankQueryForm queryForm) { return bankService.queryByPage(queryForm); } @Operation(summary = "根据企业ID查询银行信息列表 @author 善逸") @GetMapping("/oa/bank/query/list/{enterpriseId}") + @SaCheckPermission("oa:bank:query") public ResponseDTO> queryList(@PathVariable Long enterpriseId) { return bankService.queryList(enterpriseId); } @Operation(summary = "查询银行信息详情 @author 善逸") @GetMapping("/oa/bank/get/{bankId}") + @SaCheckPermission("oa:bank:query") public ResponseDTO getDetail(@PathVariable Long bankId) { return bankService.getDetail(bankId); } @Operation(summary = "新建银行信息 @author 善逸") @PostMapping("/oa/bank/create") + @SaCheckPermission("oa:bank:add") public ResponseDTO createBank(@RequestBody @Valid BankCreateForm createVO) { RequestUser requestUser = SmartRequestUtil.getRequestUser(); createVO.setCreateUserId(requestUser.getUserId()); @@ -62,12 +67,14 @@ public class BankController { @Operation(summary = "编辑银行信息 @author 善逸") @PostMapping("/oa/bank/update") + @SaCheckPermission("oa:bank:update") public ResponseDTO updateBank(@RequestBody @Valid BankUpdateForm updateVO) { return bankService.updateBank(updateVO); } @Operation(summary = "删除银行信息 @author 善逸") @GetMapping("/oa/bank/delete/{bankId}") + @SaCheckPermission("oa:bank:delete") public ResponseDTO deleteBank(@PathVariable Long bankId) { return bankService.deleteBank(bankId); } diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseController.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseController.java index ad904791..d919537b 100644 --- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseController.java +++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseController.java @@ -100,6 +100,7 @@ public class EnterpriseController { @Operation(summary = "按照类型查询企业 @author 开云") @GetMapping("/oa/enterprise/query/list") + @SaCheckPermission("oa:enterprise:query") public ResponseDTO> queryList(@RequestParam(value = "type", required = false) Integer type) { return enterpriseService.queryList(type); } @@ -114,12 +115,14 @@ public class EnterpriseController { @Operation(summary = "查询企业全部员工 @author 罗伊") @PostMapping("/oa/enterprise/employee/list") + @SaCheckPermission("oa:enterprise:queryEmployee") public ResponseDTO> employeeList(@RequestBody @Valid List enterpriseIdList) { return ResponseDTO.ok(enterpriseService.employeeList(enterpriseIdList)); } @Operation(summary = "分页查询企业员工 @author 卓大") @PostMapping("/oa/enterprise/employee/queryPage") + @SaCheckPermission("oa:enterprise:queryEmployee") public ResponseDTO> queryPageEmployeeList(@RequestBody @Valid EnterpriseEmployeeQueryForm queryForm) { return ResponseDTO.ok(enterpriseService.queryPageEmployeeList(queryForm)); } diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceController.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceController.java index 52b5ea50..13d3b98f 100644 --- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceController.java +++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceController.java @@ -1,5 +1,6 @@ package net.lab1024.sa.admin.module.business.oa.invoice; +import cn.dev33.satoken.annotation.SaCheckPermission; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; @@ -38,18 +39,21 @@ public class InvoiceController { @Operation(summary = "分页查询发票信息 @author 善逸") @PostMapping("/oa/invoice/page/query") + @SaCheckPermission("oa:invoice:query") public ResponseDTO> queryByPage(@RequestBody @Valid InvoiceQueryForm queryForm) { return invoiceService.queryByPage(queryForm); } @Operation(summary = "查询发票信息详情 @author 善逸") @GetMapping("/oa/invoice/get/{invoiceId}") + @SaCheckPermission("oa:invoice:query") public ResponseDTO getDetail(@PathVariable Long invoiceId) { return invoiceService.getDetail(invoiceId); } @Operation(summary = "新建发票信息 @author 善逸") @PostMapping("/oa/invoice/create") + @SaCheckPermission("oa:invoice:add") public ResponseDTO createInvoice(@RequestBody @Valid InvoiceAddForm createVO) { RequestUser requestUser = SmartRequestUtil.getRequestUser(); createVO.setCreateUserId(requestUser.getUserId()); @@ -57,21 +61,24 @@ public class InvoiceController { return invoiceService.createInvoice(createVO); } + @OperateLog @Operation(summary = "编辑发票信息 @author 善逸") @PostMapping("/oa/invoice/update") - @OperateLog + @SaCheckPermission("oa:invoice:update") public ResponseDTO updateInvoice(@RequestBody @Valid InvoiceUpdateForm updateVO) { return invoiceService.updateInvoice(updateVO); } @Operation(summary = "删除发票信息 @author 善逸") @GetMapping("/invoice/delete/{invoiceId}") + @SaCheckPermission("oa:invoice:delete") public ResponseDTO deleteInvoice(@PathVariable Long invoiceId) { return invoiceService.deleteInvoice(invoiceId); } @Operation(summary = "查询列表 @author lidoudou") @GetMapping("/oa/invoice/query/list/{enterpriseId}") + @SaCheckPermission("oa:invoice:query") public ResponseDTO> queryList(@PathVariable Long enterpriseId) { return invoiceService.queryList(enterpriseId); } diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/message/AdminMessageController.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/message/AdminMessageController.java new file mode 100644 index 00000000..40922e2b --- /dev/null +++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/message/AdminMessageController.java @@ -0,0 +1,54 @@ +package net.lab1024.sa.admin.module.system.message; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.validation.Valid; +import net.lab1024.sa.admin.constant.AdminSwaggerTagConst; +import net.lab1024.sa.base.common.domain.PageResult; +import net.lab1024.sa.base.common.domain.ResponseDTO; +import net.lab1024.sa.base.common.domain.ValidateList; +import net.lab1024.sa.base.module.support.message.domain.MessageQueryForm; +import net.lab1024.sa.base.module.support.message.domain.MessageSendForm; +import net.lab1024.sa.base.module.support.message.domain.MessageVO; +import net.lab1024.sa.base.module.support.message.service.MessageService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + + +/** + * 后管 消息路由 + * + * @author: 卓大 + * @date: 2025/04/09 20:55 + */ +@Tag(name = AdminSwaggerTagConst.System.SYSTEM_MESSAGE) +@RestController +public class AdminMessageController { + + @Autowired + private MessageService messageService; + + @Operation(summary = "通知消息-新建 @author 卓大") + @PostMapping("/message/sendMessages") + @SaCheckPermission("system:message:send") + public ResponseDTO sendMessages(@RequestBody @Valid ValidateList messageList) { + messageService.sendMessage(messageList); + return ResponseDTO.ok(); + } + + @Operation(summary = "通知消息-分页查询 @author 卓大") + @PostMapping("/message/query") + @SaCheckPermission("system:message:query") + public ResponseDTO> query(@RequestBody @Valid MessageQueryForm queryForm) { + return ResponseDTO.ok(messageService.query(queryForm)); + } + + @Operation(summary = "通知消息-删除 @author 卓大") + @GetMapping("/message/delete/{messageId}") + @SaCheckPermission("system:message:delete") + public ResponseDTO delete(@PathVariable Long messageId) { + return messageService.delete(messageId); + } + +} diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminDictController.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminDictController.java index cb5f5f01..4c4fded8 100644 --- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminDictController.java +++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminDictController.java @@ -52,43 +52,43 @@ public class AdminDictController extends SupportBaseController { @Operation(summary = "分页查询 @author 1024创新实验室-主任-卓大") @PostMapping("/dict/queryPage") - @SaCheckPermission("dict:query") + @SaCheckPermission("support:dict:query") public ResponseDTO> queryPage(@RequestBody @Valid DictQueryForm queryForm) { return ResponseDTO.ok(dictService.queryPage(queryForm)); } @Operation(summary = "添加 @author 1024创新实验室-主任-卓大") @PostMapping("/dict/add") - @SaCheckPermission("dict:add") + @SaCheckPermission("support:dict:add") public ResponseDTO add(@RequestBody @Valid DictAddForm addForm) { return dictService.add(addForm); } @Operation(summary = "更新 @author 1024创新实验室-主任-卓大") @PostMapping("/dict/update") - @SaCheckPermission("dict:update") + @SaCheckPermission("support:dict:update") public ResponseDTO update(@RequestBody @Valid DictUpdateForm updateForm) { return dictService.update(updateForm); } - @Operation(summary = "字典数据 启用/禁用 @author 1024创新实验室-主任-卓大") + @Operation(summary = "启用/禁用 @author 1024创新实验室-主任-卓大") @GetMapping("/dict/updateDisabled/{dictId}") - @SaCheckPermission("dictData:updateDisabled") + @SaCheckPermission("support:dict:updateDisabled") public ResponseDTO updateDisabled(@PathVariable Long dictId) { return dictService.updateDisabled(dictId); } @Operation(summary = "批量删除 @author 1024创新实验室-主任-卓大") @PostMapping("/dict/batchDelete") - @SaCheckPermission("dict:delete") + @SaCheckPermission("support:dict:delete") public ResponseDTO batchDelete(@RequestBody ValidateList idList) { return dictService.batchDelete(idList); } @Operation(summary = "单个删除 @author 1024创新实验室-主任-卓大") @GetMapping("/dict/delete/{dictId}") - @SaCheckPermission("dict:delete") - public ResponseDTO batchDelete(@PathVariable Long dictId) { + @SaCheckPermission("support:dict:delete") + public ResponseDTO delete(@PathVariable Long dictId) { return dictService.delete(dictId); } @@ -96,42 +96,42 @@ public class AdminDictController extends SupportBaseController { @Operation(summary = "字典数据 分页查询 @author 1024创新实验室-主任-卓大") @GetMapping("/dict/dictData/queryDictData/{dictId}") - @SaCheckPermission("dictData:query") + @SaCheckPermission("support:dictData:query") public ResponseDTO> queryDictData(@PathVariable Long dictId) { return ResponseDTO.ok(dictService.queryDictData(dictId)); } @Operation(summary = "字典数据 启用/禁用 @author 1024创新实验室-主任-卓大") @GetMapping("/dict/dictData/updateDisabled/{dictDataId}") - @SaCheckPermission("dictData:updateDisabled") + @SaCheckPermission("support:dictData:updateDisabled") public ResponseDTO updateDictDataDisabled(@PathVariable Long dictDataId) { return dictService.updateDictDataDisabled(dictDataId); } @Operation(summary = "字典数据 添加 @author 1024创新实验室-主任-卓大") @PostMapping("/dict/dictData/add") - @SaCheckPermission("dictData:add") + @SaCheckPermission("support:dictData:add") public ResponseDTO addDictData(@RequestBody @Valid DictDataAddForm addForm) { return dictService.addDictData(addForm); } @Operation(summary = "字典数据 更新 @author 1024创新实验室-主任-卓大") @PostMapping("/dict/dictData/update") - @SaCheckPermission("dictData:update") + @SaCheckPermission("support:dictData:update") public ResponseDTO updateDictData(@RequestBody @Valid DictDataUpdateForm updateForm) { return dictService.updateDictData(updateForm); } @Operation(summary = "字典数据 批量删除 @author 1024创新实验室-主任-卓大") @PostMapping("/dict/dictData/batchDelete") - @SaCheckPermission("dictData:delete") + @SaCheckPermission("support:dictData:delete") public ResponseDTO batchDeleteDictData(@RequestBody ValidateList idList) { return dictService.batchDeleteDictData(idList); } @Operation(summary = "字典数据 单个删除 @author 1024创新实验室-主任-卓大") @GetMapping("/dict/dictData/delete/{dictDataId}") - @SaCheckPermission("dictData:delete") + @SaCheckPermission("support:dictData:delete") public ResponseDTO deleteDictData(@PathVariable Long dictDataId) { return dictService.deleteDictData(dictDataId); } diff --git a/smart-admin-api-java17-springboot3/sa-base/pom.xml b/smart-admin-api-java17-springboot3/sa-base/pom.xml index 45f99636..188cf2c8 100644 --- a/smart-admin-api-java17-springboot3/sa-base/pom.xml +++ b/smart-admin-api-java17-springboot3/sa-base/pom.xml @@ -2,7 +2,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - net.1024lab + net.lab1024 sa-parent 3.0.0 ../pom.xml diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/message/domain/MessageQueryForm.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/message/domain/MessageQueryForm.java index b8613a2a..fe80d705 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/message/domain/MessageQueryForm.java +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/message/domain/MessageQueryForm.java @@ -36,9 +36,9 @@ public class MessageQueryForm extends PageParam { @Schema(description = "查询结束时间") private LocalDate endDate; - @Schema(hidden = true) + @Schema(description = "接收人") private Long receiverUserId; - @Schema(hidden = true) + @Schema(description = "接收人类型") private Integer receiverUserType; } diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/message/service/MessageService.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/message/service/MessageService.java index f21cc97a..d380c197 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/message/service/MessageService.java +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/message/service/MessageService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.google.common.collect.Lists; import jakarta.annotation.Resource; import net.lab1024.sa.base.common.domain.PageResult; +import net.lab1024.sa.base.common.domain.ResponseDTO; import net.lab1024.sa.base.common.enumeration.UserTypeEnum; import net.lab1024.sa.base.common.util.SmartBeanUtil; import net.lab1024.sa.base.common.util.SmartPageUtil; @@ -105,4 +106,13 @@ public class MessageService { }).collect(Collectors.toList()); messageManager.saveBatch(messageEntityList); } + + // 删除消息 + public ResponseDTO delete(Long messageId) { + if(messageId == null){ + return ResponseDTO.userErrorParam(); + } + messageDao.deleteById(messageId); + return ResponseDTO.ok(); + } } \ No newline at end of file diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/resources/prod/sa-base.yaml b/smart-admin-api-java17-springboot3/sa-base/src/main/resources/prod/sa-base.yaml index 9acd6717..85f54951 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/resources/prod/sa-base.yaml +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/resources/prod/sa-base.yaml @@ -39,7 +39,7 @@ spring: host: smtp.163.com port: 465 username: lab1024@163.com - password: 1024lab + password: LAB1024LAB properties: mail: smtp: diff --git a/smart-admin-api-java8-springboot2/pom.xml b/smart-admin-api-java8-springboot2/pom.xml index d5e0c569..210b044a 100644 --- a/smart-admin-api-java8-springboot2/pom.xml +++ b/smart-admin-api-java8-springboot2/pom.xml @@ -2,7 +2,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - net.1024lab + net.lab1024 sa-parent 3.0.0 pom diff --git a/smart-admin-api-java8-springboot2/sa-admin/pom.xml b/smart-admin-api-java8-springboot2/sa-admin/pom.xml index 463f9494..c5ac192f 100644 --- a/smart-admin-api-java8-springboot2/sa-admin/pom.xml +++ b/smart-admin-api-java8-springboot2/sa-admin/pom.xml @@ -2,7 +2,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - net.1024lab + net.lab1024 sa-parent 3.0.0 ../pom.xml @@ -18,7 +18,7 @@ - net.1024lab + net.lab1024 sa-base 3.0.0 diff --git a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminSwaggerTagConst.java b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminSwaggerTagConst.java index c5319d63..fb7a630c 100644 --- a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminSwaggerTagConst.java +++ b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminSwaggerTagConst.java @@ -51,6 +51,8 @@ public class AdminSwaggerTagConst extends SwaggerTagConst { public static final String SYSTEM_POSITION = "系统-职务管理"; + public static final String SYSTEM_MESSAGE = "系统-消息"; + } diff --git a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankController.java b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankController.java index 6e1f8ed7..51a7c4c7 100644 --- a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankController.java +++ b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankController.java @@ -1,5 +1,6 @@ package net.lab1024.sa.admin.module.business.oa.bank; +import cn.dev33.satoken.annotation.SaCheckPermission; import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Operation; import net.lab1024.sa.admin.constant.AdminSwaggerTagConst; @@ -35,24 +36,28 @@ public class BankController { @Operation(summary = "分页查询银行信息 @author 善逸") @PostMapping("/oa/bank/page/query") + @SaCheckPermission("oa:bank:query") public ResponseDTO> queryByPage(@RequestBody @Valid BankQueryForm queryForm) { return bankService.queryByPage(queryForm); } @Operation(summary = "根据企业ID查询银行信息列表 @author 善逸") @GetMapping("/oa/bank/query/list/{enterpriseId}") + @SaCheckPermission("oa:bank:query") public ResponseDTO> queryList(@PathVariable Long enterpriseId) { return bankService.queryList(enterpriseId); } @Operation(summary = "查询银行信息详情 @author 善逸") @GetMapping("/oa/bank/get/{bankId}") + @SaCheckPermission("oa:bank:query") public ResponseDTO getDetail(@PathVariable Long bankId) { return bankService.getDetail(bankId); } @Operation(summary = "新建银行信息 @author 善逸") @PostMapping("/oa/bank/create") + @SaCheckPermission("oa:bank:add") public ResponseDTO createBank(@RequestBody @Valid BankCreateForm createVO) { RequestUser requestUser = SmartRequestUtil.getRequestUser(); createVO.setCreateUserId(requestUser.getUserId()); @@ -62,12 +67,14 @@ public class BankController { @Operation(summary = "编辑银行信息 @author 善逸") @PostMapping("/oa/bank/update") + @SaCheckPermission("oa:bank:update") public ResponseDTO updateBank(@RequestBody @Valid BankUpdateForm updateVO) { return bankService.updateBank(updateVO); } @Operation(summary = "删除银行信息 @author 善逸") @GetMapping("/oa/bank/delete/{bankId}") + @SaCheckPermission("oa:bank:delete") public ResponseDTO deleteBank(@PathVariable Long bankId) { return bankService.deleteBank(bankId); } diff --git a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseController.java b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseController.java index 211a1140..8ef807fa 100644 --- a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseController.java +++ b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseController.java @@ -100,6 +100,7 @@ public class EnterpriseController { @Operation(summary = "按照类型查询企业 @author 开云") @GetMapping("/oa/enterprise/query/list") + @SaCheckPermission("oa:enterprise:query") public ResponseDTO> queryList(@RequestParam(value = "type", required = false) Integer type) { return enterpriseService.queryList(type); } @@ -114,12 +115,14 @@ public class EnterpriseController { @Operation(summary = "查询企业全部员工 @author 罗伊") @PostMapping("/oa/enterprise/employee/list") + @SaCheckPermission("oa:enterprise:queryEmployee") public ResponseDTO> employeeList(@RequestBody @Valid List enterpriseIdList) { return ResponseDTO.ok(enterpriseService.employeeList(enterpriseIdList)); } @Operation(summary = "分页查询企业员工 @author 卓大") @PostMapping("/oa/enterprise/employee/queryPage") + @SaCheckPermission("oa:enterprise:queryEmployee") public ResponseDTO> queryPageEmployeeList(@RequestBody @Valid EnterpriseEmployeeQueryForm queryForm) { return ResponseDTO.ok(enterpriseService.queryPageEmployeeList(queryForm)); } diff --git a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceController.java b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceController.java index 6b481897..fb3270ef 100644 --- a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceController.java +++ b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceController.java @@ -1,5 +1,6 @@ package net.lab1024.sa.admin.module.business.oa.invoice; +import cn.dev33.satoken.annotation.SaCheckPermission; import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Operation; import lombok.extern.slf4j.Slf4j; @@ -38,18 +39,21 @@ public class InvoiceController { @Operation(summary = "分页查询发票信息 @author 善逸") @PostMapping("/oa/invoice/page/query") + @SaCheckPermission("oa:invoice:query") public ResponseDTO> queryByPage(@RequestBody @Valid InvoiceQueryForm queryForm) { return invoiceService.queryByPage(queryForm); } @Operation(summary = "查询发票信息详情 @author 善逸") @GetMapping("/oa/invoice/get/{invoiceId}") + @SaCheckPermission("oa:invoice:query") public ResponseDTO getDetail(@PathVariable Long invoiceId) { return invoiceService.getDetail(invoiceId); } @Operation(summary = "新建发票信息 @author 善逸") @PostMapping("/oa/invoice/create") + @SaCheckPermission("oa:invoice:add") public ResponseDTO createInvoice(@RequestBody @Valid InvoiceAddForm createVO) { RequestUser requestUser = SmartRequestUtil.getRequestUser(); createVO.setCreateUserId(requestUser.getUserId()); @@ -57,21 +61,24 @@ public class InvoiceController { return invoiceService.createInvoice(createVO); } + @OperateLog @Operation(summary = "编辑发票信息 @author 善逸") @PostMapping("/oa/invoice/update") - @OperateLog + @SaCheckPermission("oa:invoice:update") public ResponseDTO updateInvoice(@RequestBody @Valid InvoiceUpdateForm updateVO) { return invoiceService.updateInvoice(updateVO); } @Operation(summary = "删除发票信息 @author 善逸") @GetMapping("/invoice/delete/{invoiceId}") + @SaCheckPermission("oa:invoice:delete") public ResponseDTO deleteInvoice(@PathVariable Long invoiceId) { return invoiceService.deleteInvoice(invoiceId); } @Operation(summary = "查询列表 @author lidoudou") @GetMapping("/oa/invoice/query/list/{enterpriseId}") + @SaCheckPermission("oa:invoice:query") public ResponseDTO> queryList(@PathVariable Long enterpriseId) { return invoiceService.queryList(enterpriseId); } diff --git a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/message/AdminMessageController.java b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/message/AdminMessageController.java new file mode 100644 index 00000000..09ea2e5b --- /dev/null +++ b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/message/AdminMessageController.java @@ -0,0 +1,54 @@ +package net.lab1024.sa.admin.module.system.message; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import net.lab1024.sa.admin.constant.AdminSwaggerTagConst; +import net.lab1024.sa.base.common.domain.PageResult; +import net.lab1024.sa.base.common.domain.ResponseDTO; +import net.lab1024.sa.base.common.domain.ValidateList; +import net.lab1024.sa.base.module.support.message.domain.MessageQueryForm; +import net.lab1024.sa.base.module.support.message.domain.MessageSendForm; +import net.lab1024.sa.base.module.support.message.domain.MessageVO; +import net.lab1024.sa.base.module.support.message.service.MessageService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; + +/** + * 后管 消息路由 + * + * @author: 卓大 + * @date: 2025/04/09 20:55 + */ +@Tag(name = AdminSwaggerTagConst.System.SYSTEM_MESSAGE) +@RestController +public class AdminMessageController { + + @Autowired + private MessageService messageService; + + @Operation(summary = "通知消息-新建 @author 卓大") + @PostMapping("/message/sendMessages") + @SaCheckPermission("system:message:send") + public ResponseDTO sendMessages(@RequestBody @Valid ValidateList messageList) { + messageService.sendMessage(messageList); + return ResponseDTO.ok(); + } + + @Operation(summary = "通知消息-分页查询 @author 卓大") + @PostMapping("/message/query") + @SaCheckPermission("system:message:query") + public ResponseDTO> query(@RequestBody @Valid MessageQueryForm queryForm) { + return ResponseDTO.ok(messageService.query(queryForm)); + } + + @Operation(summary = "通知消息-删除 @author 卓大") + @GetMapping("/message/delete/{messageId}") + @SaCheckPermission("system:message:delete") + public ResponseDTO delete(@PathVariable Long messageId) { + return messageService.delete(messageId); + } + +} diff --git a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminDictController.java b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminDictController.java index 17d6e8a5..3a7327b4 100644 --- a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminDictController.java +++ b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminDictController.java @@ -52,43 +52,43 @@ public class AdminDictController extends SupportBaseController { @Operation(summary = "分页查询 @author 1024创新实验室-主任-卓大") @PostMapping("/dict/queryPage") - @SaCheckPermission("dict:query") + @SaCheckPermission("support:dict:query") public ResponseDTO> queryPage(@RequestBody @Valid DictQueryForm queryForm) { return ResponseDTO.ok(dictService.queryPage(queryForm)); } @Operation(summary = "添加 @author 1024创新实验室-主任-卓大") @PostMapping("/dict/add") - @SaCheckPermission("dict:add") + @SaCheckPermission("support:dict:add") public ResponseDTO add(@RequestBody @Valid DictAddForm addForm) { return dictService.add(addForm); } @Operation(summary = "更新 @author 1024创新实验室-主任-卓大") @PostMapping("/dict/update") - @SaCheckPermission("dict:update") + @SaCheckPermission("support:dict:update") public ResponseDTO update(@RequestBody @Valid DictUpdateForm updateForm) { return dictService.update(updateForm); } - @Operation(summary = "字典数据 启用/禁用 @author 1024创新实验室-主任-卓大") + @Operation(summary = "启用/禁用 @author 1024创新实验室-主任-卓大") @GetMapping("/dict/updateDisabled/{dictId}") - @SaCheckPermission("dictData:updateDisabled") + @SaCheckPermission("support:dict:updateDisabled") public ResponseDTO updateDisabled(@PathVariable Long dictId) { return dictService.updateDisabled(dictId); } @Operation(summary = "批量删除 @author 1024创新实验室-主任-卓大") @PostMapping("/dict/batchDelete") - @SaCheckPermission("dict:delete") + @SaCheckPermission("support:dict:delete") public ResponseDTO batchDelete(@RequestBody ValidateList idList) { return dictService.batchDelete(idList); } @Operation(summary = "单个删除 @author 1024创新实验室-主任-卓大") @GetMapping("/dict/delete/{dictId}") - @SaCheckPermission("dict:delete") - public ResponseDTO batchDelete(@PathVariable Long dictId) { + @SaCheckPermission("support:dict:delete") + public ResponseDTO delete(@PathVariable Long dictId) { return dictService.delete(dictId); } @@ -96,42 +96,42 @@ public class AdminDictController extends SupportBaseController { @Operation(summary = "字典数据 分页查询 @author 1024创新实验室-主任-卓大") @GetMapping("/dict/dictData/queryDictData/{dictId}") - @SaCheckPermission("dictData:query") + @SaCheckPermission("support:dictData:query") public ResponseDTO> queryDictData(@PathVariable Long dictId) { return ResponseDTO.ok(dictService.queryDictData(dictId)); } @Operation(summary = "字典数据 启用/禁用 @author 1024创新实验室-主任-卓大") @GetMapping("/dict/dictData/updateDisabled/{dictDataId}") - @SaCheckPermission("dictData:updateDisabled") + @SaCheckPermission("support:dictData:updateDisabled") public ResponseDTO updateDictDataDisabled(@PathVariable Long dictDataId) { return dictService.updateDictDataDisabled(dictDataId); } @Operation(summary = "字典数据 添加 @author 1024创新实验室-主任-卓大") @PostMapping("/dict/dictData/add") - @SaCheckPermission("dictData:add") + @SaCheckPermission("support:dictData:add") public ResponseDTO addDictData(@RequestBody @Valid DictDataAddForm addForm) { return dictService.addDictData(addForm); } @Operation(summary = "字典数据 更新 @author 1024创新实验室-主任-卓大") @PostMapping("/dict/dictData/update") - @SaCheckPermission("dictData:update") + @SaCheckPermission("support:dictData:update") public ResponseDTO updateDictData(@RequestBody @Valid DictDataUpdateForm updateForm) { return dictService.updateDictData(updateForm); } @Operation(summary = "字典数据 批量删除 @author 1024创新实验室-主任-卓大") @PostMapping("/dict/dictData/batchDelete") - @SaCheckPermission("dictData:delete") + @SaCheckPermission("support:dictData:delete") public ResponseDTO batchDeleteDictData(@RequestBody ValidateList idList) { return dictService.batchDeleteDictData(idList); } @Operation(summary = "字典数据 单个删除 @author 1024创新实验室-主任-卓大") @GetMapping("/dict/dictData/delete/{dictDataId}") - @SaCheckPermission("dictData:delete") + @SaCheckPermission("support:dictData:delete") public ResponseDTO deleteDictData(@PathVariable Long dictDataId) { return dictService.deleteDictData(dictDataId); } diff --git a/smart-admin-api-java8-springboot2/sa-base/pom.xml b/smart-admin-api-java8-springboot2/sa-base/pom.xml index d0864424..1cb1d280 100644 --- a/smart-admin-api-java8-springboot2/sa-base/pom.xml +++ b/smart-admin-api-java8-springboot2/sa-base/pom.xml @@ -2,7 +2,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - net.1024lab + net.lab1024 sa-parent 3.0.0 ../pom.xml diff --git a/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/message/domain/MessageQueryForm.java b/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/message/domain/MessageQueryForm.java index b8613a2a..fe80d705 100644 --- a/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/message/domain/MessageQueryForm.java +++ b/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/message/domain/MessageQueryForm.java @@ -36,9 +36,9 @@ public class MessageQueryForm extends PageParam { @Schema(description = "查询结束时间") private LocalDate endDate; - @Schema(hidden = true) + @Schema(description = "接收人") private Long receiverUserId; - @Schema(hidden = true) + @Schema(description = "接收人类型") private Integer receiverUserType; } diff --git a/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/message/domain/MessageTemplateSendForm.java b/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/message/domain/MessageTemplateSendForm.java index f6eb622b..2eb1b6a4 100644 --- a/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/message/domain/MessageTemplateSendForm.java +++ b/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/message/domain/MessageTemplateSendForm.java @@ -1,10 +1,13 @@ package net.lab1024.sa.base.module.support.message.domain; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import net.lab1024.sa.base.common.enumeration.UserTypeEnum; import net.lab1024.sa.base.module.support.message.constant.MessageTemplateEnum; +import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; +import java.util.List; import java.util.Map; /** @@ -25,6 +28,10 @@ public class MessageTemplateSendForm { @NotNull(message = "接收者id不能为空") private Long receiverUserId; + @Schema(description = "接收者id") + @NotEmpty(message = "接收者id不能为空") + private List receiverUserIdList; + /** * 相关业务id | 可选 * 用于跳转具体业务 diff --git a/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/message/service/MessageService.java b/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/message/service/MessageService.java index 0a9f5a84..1ea591d2 100644 --- a/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/message/service/MessageService.java +++ b/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/message/service/MessageService.java @@ -3,6 +3,7 @@ package net.lab1024.sa.base.module.support.message.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.google.common.collect.Lists; import net.lab1024.sa.base.common.domain.PageResult; +import net.lab1024.sa.base.common.domain.ResponseDTO; import net.lab1024.sa.base.common.enumeration.UserTypeEnum; import net.lab1024.sa.base.common.util.SmartBeanUtil; import net.lab1024.sa.base.common.util.SmartPageUtil; @@ -105,4 +106,13 @@ public class MessageService { }).collect(Collectors.toList()); messageManager.saveBatch(messageEntityList); } + + // 删除消息 + public ResponseDTO delete(Long messageId) { + if(messageId == null){ + return ResponseDTO.userErrorParam(); + } + messageDao.deleteById(messageId); + return ResponseDTO.ok(); + } } \ No newline at end of file diff --git a/smart-admin-api-java8-springboot2/sa-base/src/main/resources/dev/sa-base.yaml b/smart-admin-api-java8-springboot2/sa-base/src/main/resources/dev/sa-base.yaml index 1e1766c3..2486d0ba 100644 --- a/smart-admin-api-java8-springboot2/sa-base/src/main/resources/dev/sa-base.yaml +++ b/smart-admin-api-java8-springboot2/sa-base/src/main/resources/dev/sa-base.yaml @@ -87,8 +87,8 @@ file: region: oss-cn-hangzhou endpoint: oss-cn-hangzhou.aliyuncs.com bucket-name: 1024lab-smart-admin - access-key: - secret-key: + access-key: + secret-key: url-prefix: https://${file.storage.cloud.bucket-name}.${file.storage.cloud.endpoint}/ private-url-expire-seconds: 3600 diff --git a/smart-admin-api-java8-springboot2/sa-base/src/main/resources/prod/sa-base.yaml b/smart-admin-api-java8-springboot2/sa-base/src/main/resources/prod/sa-base.yaml index 9840acbf..fafbe5e0 100644 --- a/smart-admin-api-java8-springboot2/sa-base/src/main/resources/prod/sa-base.yaml +++ b/smart-admin-api-java8-springboot2/sa-base/src/main/resources/prod/sa-base.yaml @@ -87,8 +87,8 @@ file: region: oss-cn-hangzhou endpoint: oss-cn-hangzhou.aliyuncs.com bucket-name: 1024lab-smart-admin - access-key: - secret-key: + access-key: + secret-key: url-prefix: https://${file.storage.cloud.bucket-name}.${file.storage.cloud.endpoint}/ private-url-expire-seconds: 3600 diff --git a/smart-admin-web-javascript/src/App.vue b/smart-admin-web-javascript/src/App.vue index 1e087c28..cb5c9816 100644 --- a/smart-admin-web-javascript/src/App.vue +++ b/smart-admin-web-javascript/src/App.vue @@ -90,9 +90,7 @@ return text; } } - window.addEventListener('resize',_.throttle(()=>{ - window.location.reload() - },1000)); + diff --git a/smart-admin-web-javascript/src/views/support/message/components/message-send-form.vue b/smart-admin-web-javascript/src/views/support/message/components/message-send-form.vue new file mode 100644 index 00000000..bb0f1167 --- /dev/null +++ b/smart-admin-web-javascript/src/views/support/message/components/message-send-form.vue @@ -0,0 +1,128 @@ + + diff --git a/smart-admin-web-javascript/src/views/support/message/message-list.vue b/smart-admin-web-javascript/src/views/support/message/message-list.vue new file mode 100644 index 00000000..048a005e --- /dev/null +++ b/smart-admin-web-javascript/src/views/support/message/message-list.vue @@ -0,0 +1,236 @@ + + diff --git a/smart-admin-web-javascript/src/views/system/menu/components/menu-operate-modal.vue b/smart-admin-web-javascript/src/views/system/menu/components/menu-operate-modal.vue index 042d162d..d87d3383 100644 --- a/smart-admin-web-javascript/src/views/system/menu/components/menu-operate-modal.vue +++ b/smart-admin-web-javascript/src/views/system/menu/components/menu-operate-modal.vue @@ -15,8 +15,9 @@ :open="visible" :width="600" @close="onClose" + destroyOnClose > - + @@ -61,11 +62,17 @@ - + - + - + @@ -105,7 +118,7 @@ diff --git a/smart-admin-web-typescript/src/App.vue b/smart-admin-web-typescript/src/App.vue index 8f690c8c..0da5d386 100644 --- a/smart-admin-web-typescript/src/App.vue +++ b/smart-admin-web-typescript/src/App.vue @@ -91,9 +91,6 @@ return text; } } - window.addEventListener('resize',_.throttle(()=>{ - window.location.reload() - },1000)); diff --git a/smart-admin-web-typescript/src/views/support/message/components/message-send-form.vue b/smart-admin-web-typescript/src/views/support/message/components/message-send-form.vue new file mode 100644 index 00000000..bb0f1167 --- /dev/null +++ b/smart-admin-web-typescript/src/views/support/message/components/message-send-form.vue @@ -0,0 +1,128 @@ + + diff --git a/smart-admin-web-typescript/src/views/support/message/message-list.vue b/smart-admin-web-typescript/src/views/support/message/message-list.vue new file mode 100644 index 00000000..048a005e --- /dev/null +++ b/smart-admin-web-typescript/src/views/support/message/message-list.vue @@ -0,0 +1,236 @@ + + diff --git a/smart-admin-web-typescript/src/views/system/menu/components/menu-operate-modal.vue b/smart-admin-web-typescript/src/views/system/menu/components/menu-operate-modal.vue index d681f145..300bed69 100644 --- a/smart-admin-web-typescript/src/views/system/menu/components/menu-operate-modal.vue +++ b/smart-admin-web-typescript/src/views/system/menu/components/menu-operate-modal.vue @@ -15,6 +15,7 @@ :open="visible" :width="600" @close="onClose" + destroyOnClose > @@ -65,7 +66,7 @@ - + - + diff --git a/smart-admin-web-typescript/src/views/system/menu/menu-list-table-columns.ts b/smart-admin-web-typescript/src/views/system/menu/menu-list-table-columns.ts index dabb6616..effc5ad0 100644 --- a/smart-admin-web-typescript/src/views/system/menu/menu-list-table-columns.ts +++ b/smart-admin-web-typescript/src/views/system/menu/menu-list-table-columns.ts @@ -13,12 +13,13 @@ export const columns = ref([ title: '名称', dataIndex: 'menuName', key: 'ID', - width: 200, + width: 220, }, { title: '类型', dataIndex: 'menuType', - width: 80, + width: 100, + align: "center" }, { title: '图标', @@ -53,6 +54,7 @@ export const columns = ref([ { title: '操作', dataIndex: 'operate', - width: 100, + width: 170, + align: "center" }, ]); diff --git a/smart-admin-web-typescript/src/views/system/menu/menu-list.vue b/smart-admin-web-typescript/src/views/system/menu/menu-list.vue index bbbe14b3..dffb7888 100644 --- a/smart-admin-web-typescript/src/views/system/menu/menu-list.vue +++ b/smart-admin-web-typescript/src/views/system/menu/menu-list.vue @@ -88,7 +88,7 @@
+ + 添加下级 + 编辑 删除
@@ -157,6 +166,7 @@ import { smartSentry } from '/@/lib/smart-sentry'; import TableOperator from '/@/components/support/table-operator/index.vue'; import { TABLE_ID_CONST } from '/@/constants/support/table-id-const'; + import { MENU_TYPE_ENUM } from '/@/constants/system/menu-const'; // ------------------------ 表格渲染 ------------------------ const menuTypeColorArray = ['red', 'blue', 'orange', 'green']; @@ -256,4 +266,13 @@ function showDrawer(rowData) { menuOperateModal.value.showDrawer(rowData); } + + function showAddSub(rowData) { + const subData = { + parentId: rowData.menuId, + menuType: rowData.menuType === MENU_TYPE_ENUM.CATALOG.value ? MENU_TYPE_ENUM.MENU.value : MENU_TYPE_ENUM.POINTS.value, + contextMenuId: rowData.menuType === MENU_TYPE_ENUM.MENU.value ? rowData.menuId : undefined, + }; + menuOperateModal.value.showDrawer(subData); + } diff --git a/smart-app/src/api/system/login-api.js b/smart-app/src/api/system/login-api.js index 177190f3..98c540e7 100644 --- a/smart-app/src/api/system/login-api.js +++ b/smart-app/src/api/system/login-api.js @@ -37,4 +37,17 @@ export const loginApi = { getLoginInfo: () => { return getRequest('/login/getLoginInfo'); }, + /** + * 获取双因子登录标识 @author 卓大 + */ + getTwoFactorLoginFlag: () => { + return getRequest('/login/getTwoFactorLoginFlag'); + }, + /** + * 获取邮箱登录验证码 @author 卓大 + */ + sendLoginEmailCode: (loginName) => { + return getRequest(`/login/sendEmailCode/${loginName}`); + }, + }; diff --git a/smart-app/src/pages/login/login.vue b/smart-app/src/pages/login/login.vue index 49d6810c..26b95141 100644 --- a/smart-app/src/pages/login/login.vue +++ b/smart-app/src/pages/login/login.vue @@ -19,6 +19,21 @@ /> + + + + + + { + if (countDown > 1) { + countDown--; + emailCodeTips.value = `${countDown}秒后重新获取`; + } else { + clearInterval(countDownTimer); + emailCodeButtonDisabled.value = false; + emailCodeTips.value = '获取验证码'; + } + }, 1000); + } + + // 获取双因子登录标识 + async function getTwoFactorLoginFlag() { + try { + let result = await loginApi.getTwoFactorLoginFlag(); + emailCodeShowFlag.value = result.data; + } catch (e) { + smartSentry.captureError(e); + } + } + // 发送邮箱验证码 + async function sendSmsCode() { + try { + uni.showLoading(); + let result = await loginApi.sendLoginEmailCode(loginForm.loginName); + message.success('验证码发送成功!请登录邮箱查看验证码~'); + runCountDown(); + } catch (e) { + smartSentry.captureError(e); + } finally { + uni.hideLoading(); + } + } + onShow(()=>{ + getCaptcha() + getTwoFactorLoginFlag(); + }); diff --git a/sql/smart_admin_v3.sql b/sql/smart_admin_v3.sql index 085f7f8e..1bf3cc83 100644 --- a/sql/smart_admin_v3.sql +++ b/sql/smart_admin_v3.sql @@ -531,7 +531,7 @@ CREATE TABLE `t_menu` ( `update_user_id` bigint(0) NULL DEFAULT NULL COMMENT '更新人', `update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间', PRIMARY KEY (`menu_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 252 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '菜单表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 268 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '菜单表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of t_menu @@ -593,10 +593,10 @@ INSERT INTO `t_menu` VALUES (154, '获取缓存key', 3, 133, NULL, NULL, NULL, 1 INSERT INTO `t_menu` VALUES (156, '查看结果', 3, 117, NULL, NULL, NULL, 1, 'support:reload:result', 'support:reload:result', NULL, 117, 0, NULL, 0, 1, 0, 0, 1, '2022-10-15 23:17:23', 1, '2023-10-07 14:31:47'); INSERT INTO `t_menu` VALUES (157, '单号生成', 3, 130, NULL, NULL, NULL, 1, 'support:serialNumber:generate', 'support:serialNumber:generate', NULL, 130, 0, NULL, 0, 1, 0, 0, 1, '2022-10-15 23:21:06', 1, '2023-10-07 18:22:46'); INSERT INTO `t_menu` VALUES (158, '生成记录', 3, 130, NULL, NULL, NULL, 1, 'support:serialNumber:record', 'support:serialNumber:record', NULL, 130, 0, NULL, 0, 1, 0, 0, 1, '2022-10-15 23:21:34', 1, '2023-10-07 18:22:55'); -INSERT INTO `t_menu` VALUES (159, '新建', 3, 110, NULL, NULL, NULL, 1, 'support:dict:add', 'support:dict:add', NULL, 110, 0, NULL, 0, 1, 0, 0, 1, '2022-10-15 23:23:51', 1, '2023-10-07 18:18:24'); -INSERT INTO `t_menu` VALUES (160, '编辑', 3, 110, NULL, NULL, NULL, 1, 'support:dict:edit', 'support:dict:edit', NULL, 110, 0, NULL, 0, 1, 0, 0, 1, '2022-10-15 23:24:05', 1, '2023-10-07 18:19:17'); -INSERT INTO `t_menu` VALUES (161, '批量删除', 3, 110, NULL, NULL, NULL, 1, 'support:dict:delete', 'support:dict:delete', NULL, 110, 0, NULL, 0, 1, 0, 0, 1, '2022-10-15 23:24:34', 1, '2023-10-07 18:19:39'); -INSERT INTO `t_menu` VALUES (162, '刷新缓存', 3, 110, NULL, NULL, NULL, 1, 'support:dict:refresh', 'support:dict:refresh', NULL, 110, 0, NULL, 0, 1, 0, 0, 1, '2022-10-15 23:24:55', 1, '2023-10-07 18:18:37'); +INSERT INTO `t_menu` VALUES (159, '查询', 3, 110, NULL, NULL, NULL, 1, 'support:dict:query', 'support:dict:query', NULL, 110, 0, NULL, 0, 1, 0, 0, 1, '2022-10-15 23:23:51', 1, '2025-04-08 19:42:25'); +INSERT INTO `t_menu` VALUES (160, '添加', 3, 110, NULL, NULL, NULL, 1, 'support:dict:add', 'support:dict:add', NULL, 110, 0, NULL, 0, 1, 0, 0, 1, '2022-10-15 23:24:05', 1, '2025-04-08 19:43:02'); +INSERT INTO `t_menu` VALUES (161, '更新', 3, 110, NULL, NULL, NULL, 1, 'support:dict:update', 'support:dict:update', NULL, 110, 0, NULL, 0, 1, 0, 0, 1, '2022-10-15 23:24:34', 1, '2025-04-08 19:43:34'); +INSERT INTO `t_menu` VALUES (162, '删除', 3, 110, NULL, NULL, NULL, 1, 'support:dict:delete', 'support:dict:delete', NULL, 110, 0, NULL, 0, 1, 0, 0, 1, '2022-10-15 23:24:55', 1, '2025-04-08 19:43:52'); INSERT INTO `t_menu` VALUES (163, '新建', 3, 109, NULL, NULL, NULL, 1, 'support:config:add', 'support:config:add', NULL, 109, 0, NULL, 0, 1, 0, 0, 1, '2022-10-15 23:26:56', 1, '2023-10-07 18:16:17'); INSERT INTO `t_menu` VALUES (164, '编辑', 3, 109, NULL, NULL, NULL, 1, 'support:config:update', 'support:config:update', NULL, 109, 0, NULL, 0, 1, 0, 0, 1, '2022-10-15 23:27:07', 1, '2023-10-07 18:16:24'); INSERT INTO `t_menu` VALUES (165, '查询', 3, 47, NULL, NULL, NULL, 1, 'goods:query', 'goods:query', NULL, 47, 0, NULL, 0, 1, 0, 0, 1, '2022-10-16 19:55:39', 1, '2023-10-07 13:58:28'); @@ -657,6 +657,26 @@ INSERT INTO `t_menu` VALUES (233, 'knife4j文档', 2, 218, 4, '/knife4j', NULL, INSERT INTO `t_menu` VALUES (234, 'swagger文档', 2, 218, 5, '/swagger', 'http://localhost:1024/swagger-ui/index.html', 1, NULL, NULL, 'ApiOutlined', NULL, 1, 'http://localhost:1024/swagger-ui/index.html', 1, 1, 0, 0, 1, '2024-07-02 20:35:43', 1, '2024-07-08 13:49:26'); INSERT INTO `t_menu` VALUES (250, '三级等保设置', 2, 213, 1, '/support/level3protect/level3-protect-config-index', '/support/level3protect/level3-protect-config-index.vue', 1, NULL, NULL, 'SafetyOutlined', NULL, 0, NULL, 1, 1, 0, 0, 44, '2024-08-13 11:41:02', 44, '2024-08-13 11:58:12'); INSERT INTO `t_menu` VALUES (251, '敏感数据脱敏', 2, 213, 3, '/support/level3protect/data-masking-list', '/support/level3protect/data-masking-list.vue', 1, NULL, NULL, 'FileProtectOutlined', NULL, 0, NULL, 1, 1, 0, 0, 44, '2024-08-13 11:58:00', 44, '2024-08-13 11:59:49'); +INSERT INTO `t_menu` VALUES (252, '启用/禁用', 3, 110, NULL, NULL, NULL, 1, 'support:dict:updateDisabled', 'support:dict:updateDisabled', NULL, 110, 0, NULL, 0, 1, 0, 0, 1, '2025-04-08 19:44:12', 1, '2025-04-08 19:46:03'); +INSERT INTO `t_menu` VALUES (253, '查询字典数据', 3, 110, NULL, NULL, NULL, 1, 'support:dictData:query', 'support:dictData:query', NULL, 110, 0, NULL, 0, 1, 0, 0, 1, '2025-04-08 19:46:47', NULL, '2025-04-08 19:46:47'); +INSERT INTO `t_menu` VALUES (254, '添加字典数据', 3, 110, NULL, NULL, NULL, 1, 'support:dictData:add', 'support:dictData:add', NULL, 110, 0, NULL, 0, 1, 0, 0, 1, '2025-04-08 19:48:00', NULL, '2025-04-08 19:48:00'); +INSERT INTO `t_menu` VALUES (255, '更新字典数据', 3, 110, NULL, NULL, NULL, 1, 'support:dictData:update', 'support:dictData:update', NULL, 110, 0, NULL, 0, 1, 0, 0, 1, '2025-04-08 19:48:19', NULL, '2025-04-08 19:48:19'); +INSERT INTO `t_menu` VALUES (256, '删除字典数据', 3, 110, NULL, NULL, NULL, 1, 'support:dictData:delete', 'support:dictData:delete', NULL, 110, 0, NULL, 0, 1, 0, 0, 1, '2025-04-08 19:48:38', NULL, '2025-04-08 19:48:38'); +INSERT INTO `t_menu` VALUES (257, '启用/禁用字典数据', 3, 110, NULL, NULL, NULL, 1, 'support:dictData:updateDisabled', 'support:dictData:updateDisabled', NULL, 110, 0, NULL, 0, 1, 0, 0, 1, '2025-04-08 19:48:57', NULL, '2025-04-08 19:48:57'); +INSERT INTO `t_menu` VALUES (258, '查询企业员工', 3, 145, NULL, NULL, NULL, 1, 'oa:enterprise:queryEmployee', 'oa:enterprise:queryEmployee', NULL, 145, 0, NULL, 0, 1, 0, 0, 75, '2025-04-08 21:11:46', 75, '2025-04-08 21:12:24'); +INSERT INTO `t_menu` VALUES (259, '查询银行信息', 3, 145, NULL, NULL, NULL, 1, 'oa:bank:query', 'oa:bank:query', NULL, 145, 0, NULL, 0, 1, 0, 0, 75, '2025-04-08 21:12:40', NULL, '2025-04-08 21:12:40'); +INSERT INTO `t_menu` VALUES (260, '查询发票信息', 3, 145, NULL, NULL, NULL, 1, 'oa:invoice:query', 'oa:invoice:query', NULL, 145, 0, NULL, 0, 1, 0, 0, 75, '2025-04-08 21:12:56', NULL, '2025-04-08 21:12:56'); +INSERT INTO `t_menu` VALUES (261, '添加企业员工', 3, 145, NULL, NULL, NULL, 1, 'oa:enterprise:addEmployee', 'oa:enterprise:addEmployee', NULL, 145, 0, NULL, 0, 1, 0, 0, 75, '2025-04-08 21:35:34', NULL, '2025-04-08 21:35:34'); +INSERT INTO `t_menu` VALUES (262, '删除企业员工', 3, 145, NULL, NULL, NULL, 1, 'oa:enterprise:deleteEmployee', 'oa:enterprise:deleteEmployee', NULL, 145, 0, NULL, 0, 1, 0, 0, 75, '2025-04-08 21:40:17', NULL, '2025-04-08 21:40:17'); +INSERT INTO `t_menu` VALUES (263, '添加银行信息', 3, 145, NULL, NULL, NULL, 1, 'oa:bank:add', 'oa:bank:add', NULL, 145, 0, NULL, 0, 1, 0, 0, 75, '2025-04-08 21:45:44', NULL, '2025-04-08 21:45:44'); +INSERT INTO `t_menu` VALUES (264, '更新银行信息', 3, 145, NULL, NULL, NULL, 1, 'oa:bank:update', 'oa:bank:update', NULL, 145, 0, NULL, 0, 1, 0, 0, 75, '2025-04-08 21:46:02', NULL, '2025-04-08 21:46:02'); +INSERT INTO `t_menu` VALUES (265, '删除银行信息', 3, 145, NULL, NULL, NULL, 1, 'oa:bank:delete', 'oa:bank:delete', NULL, 145, 0, NULL, 0, 1, 0, 0, 75, '2025-04-08 21:46:12', NULL, '2025-04-08 21:46:12'); +INSERT INTO `t_menu` VALUES (266, '添加发票信息', 3, 145, NULL, NULL, NULL, 1, 'oa:invoice:add', 'oa:invoice:add', NULL, 145, 0, NULL, 0, 1, 0, 0, 75, '2025-04-08 21:46:30', NULL, '2025-04-08 21:46:30'); +INSERT INTO `t_menu` VALUES (267, '更新发票信息', 3, 145, NULL, NULL, NULL, 1, 'oa:invoice:update', 'oa:invoice:update', NULL, 145, 0, NULL, 0, 1, 0, 0, 75, '2025-04-08 21:46:47', NULL, '2025-04-08 21:46:47'); +INSERT INTO `t_menu` VALUES (268, '删除发票信息', 3, 145, NULL, NULL, NULL, 1, 'oa:invoice:delete', 'oa:invoice:delete', NULL, 145, 0, NULL, 0, 1, 0, 0, 75, '2025-04-08 21:46:59', NULL, '2025-04-08 21:46:59'); +INSERT INTO `t_menu` VALUES (300, '消息管理', 2, 50, 30, '/message', '/support/message/message-list.vue', 1, NULL, NULL, 'MailOutlined', NULL, 0, NULL, 0, 1, 0, 0, 1, '2025-04-09 14:30:04', 1, '2025-04-10 20:19:36'); + + -- ---------------------------- -- Table structure for t_message diff --git a/sql/sql-update-log/v3.18.0.sql b/sql/sql-update-log/v3.18.0.sql new file mode 100644 index 00000000..6c3f1df0 --- /dev/null +++ b/sql/sql-update-log/v3.18.0.sql @@ -0,0 +1,21 @@ +INSERT INTO `t_menu` VALUES (252, '启用/禁用', 3, 110, NULL, NULL, NULL, 1, 'support:dict:updateDisabled', 'support:dict:updateDisabled', NULL, 110, 0, NULL, 0, 1, 0, 0, 1, '2025-04-08 19:44:12', 1, '2025-04-08 19:46:03'); +INSERT INTO `t_menu` VALUES (253, '查询字典数据', 3, 110, NULL, NULL, NULL, 1, 'support:dictData:query', 'support:dictData:query', NULL, 110, 0, NULL, 0, 1, 0, 0, 1, '2025-04-08 19:46:47', NULL, '2025-04-08 19:46:47'); +INSERT INTO `t_menu` VALUES (254, '添加字典数据', 3, 110, NULL, NULL, NULL, 1, 'support:dictData:add', 'support:dictData:add', NULL, 110, 0, NULL, 0, 1, 0, 0, 1, '2025-04-08 19:48:00', NULL, '2025-04-08 19:48:00'); +INSERT INTO `t_menu` VALUES (255, '更新字典数据', 3, 110, NULL, NULL, NULL, 1, 'support:dictData:update', 'support:dictData:update', NULL, 110, 0, NULL, 0, 1, 0, 0, 1, '2025-04-08 19:48:19', NULL, '2025-04-08 19:48:19'); +INSERT INTO `t_menu` VALUES (256, '删除字典数据', 3, 110, NULL, NULL, NULL, 1, 'support:dictData:delete', 'support:dictData:delete', NULL, 110, 0, NULL, 0, 1, 0, 0, 1, '2025-04-08 19:48:38', NULL, '2025-04-08 19:48:38'); +INSERT INTO `t_menu` VALUES (257, '启用/禁用字典数据', 3, 110, NULL, NULL, NULL, 1, 'support:dictData:updateDisabled', 'support:dictData:updateDisabled', NULL, 110, 0, NULL, 0, 1, 0, 0, 1, '2025-04-08 19:48:57', NULL, '2025-04-08 19:48:57'); + +INSERT INTO `t_menu` VALUES (258, '查询企业员工', 3, 145, NULL, NULL, NULL, 1, 'oa:enterprise:queryEmployee', 'oa:enterprise:queryEmployee', NULL, 145, 0, NULL, 0, 1, 0, 0, 75, '2025-04-08 21:11:46', 75, '2025-04-08 21:12:24'); +INSERT INTO `t_menu` VALUES (259, '查询银行信息', 3, 145, NULL, NULL, NULL, 1, 'oa:bank:query', 'oa:bank:query', NULL, 145, 0, NULL, 0, 1, 0, 0, 75, '2025-04-08 21:12:40', NULL, '2025-04-08 21:12:40'); +INSERT INTO `t_menu` VALUES (260, '查询发票信息', 3, 145, NULL, NULL, NULL, 1, 'oa:invoice:query', 'oa:invoice:query', NULL, 145, 0, NULL, 0, 1, 0, 0, 75, '2025-04-08 21:12:56', NULL, '2025-04-08 21:12:56'); +INSERT INTO `t_menu` VALUES (261, '添加企业员工', 3, 145, NULL, NULL, NULL, 1, 'oa:enterprise:addEmployee', 'oa:enterprise:addEmployee', NULL, 145, 0, NULL, 0, 1, 0, 0, 75, '2025-04-08 21:35:34', NULL, '2025-04-08 21:35:34'); +INSERT INTO `t_menu` VALUES (262, '删除企业员工', 3, 145, NULL, NULL, NULL, 1, 'oa:enterprise:deleteEmployee', 'oa:enterprise:deleteEmployee', NULL, 145, 0, NULL, 0, 1, 0, 0, 75, '2025-04-08 21:40:17', NULL, '2025-04-08 21:40:17'); +INSERT INTO `t_menu` VALUES (263, '添加银行信息', 3, 145, NULL, NULL, NULL, 1, 'oa:bank:add', 'oa:bank:add', NULL, 145, 0, NULL, 0, 1, 0, 0, 75, '2025-04-08 21:45:44', NULL, '2025-04-08 21:45:44'); +INSERT INTO `t_menu` VALUES (264, '更新银行信息', 3, 145, NULL, NULL, NULL, 1, 'oa:bank:update', 'oa:bank:update', NULL, 145, 0, NULL, 0, 1, 0, 0, 75, '2025-04-08 21:46:02', NULL, '2025-04-08 21:46:02'); +INSERT INTO `t_menu` VALUES (265, '删除银行信息', 3, 145, NULL, NULL, NULL, 1, 'oa:bank:delete', 'oa:bank:delete', NULL, 145, 0, NULL, 0, 1, 0, 0, 75, '2025-04-08 21:46:12', NULL, '2025-04-08 21:46:12'); +INSERT INTO `t_menu` VALUES (266, '添加发票信息', 3, 145, NULL, NULL, NULL, 1, 'oa:invoice:add', 'oa:invoice:add', NULL, 145, 0, NULL, 0, 1, 0, 0, 75, '2025-04-08 21:46:30', NULL, '2025-04-08 21:46:30'); +INSERT INTO `t_menu` VALUES (267, '更新发票信息', 3, 145, NULL, NULL, NULL, 1, 'oa:invoice:update', 'oa:invoice:update', NULL, 145, 0, NULL, 0, 1, 0, 0, 75, '2025-04-08 21:46:47', NULL, '2025-04-08 21:46:47'); +INSERT INTO `t_menu` VALUES (268, '删除发票信息', 3, 145, NULL, NULL, NULL, 1, 'oa:invoice:delete', 'oa:invoice:delete', NULL, 145, 0, NULL, 0, 1, 0, 0, 75, '2025-04-08 21:46:59', NULL, '2025-04-08 21:46:59'); + + +INSERT INTO `t_menu` VALUES (300, '消息管理', 2, 50, 30, '/message', '/support/message/message-list.vue', 1, NULL, NULL, 'MailOutlined', NULL, 0, NULL, 0, 1, 0, 0, 1, '2025-04-09 14:30:04', 1, '2025-04-10 20:19:36');