From 31b9bd8cb38340083ddc3b9aa725e3eb94182246 Mon Sep 17 00:00:00 2001 From: bunny <1319900154@qq.com> Date: Fri, 11 Oct 2024 16:47:15 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=B8=BAmapper=E5=8A=A0=E4=B8=8Aand,?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=83=A8=E5=88=86=E4=BB=A3=E7=A0=81=E7=94=9F?= =?UTF-8?q?=E6=88=90=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/vms/server/resourceMapper.vm | 2 +- .../src/main/resources/vms/web/hook.vm | 22 +++++++++ .../src/main/resources/vms/web/index.vm | 23 ++++++++-- .../exception/GlobalExceptionHandler.java | 10 +++- .../bunny/dao/pojo/result/ResultCodeEnum.java | 1 + .../controller/EmailUsersController.java | 4 +- .../bunny/services/factory/EmailFactory.java | 21 +++++++++ .../service/impl/EmailUsersServiceImpl.java | 25 ++++++++++ service/src/main/resources/application.yml | 2 +- .../src/main/resources/mapper/DeptMapper.xml | 6 +-- .../resources/mapper/EmailTemplateMapper.xml | 46 +++++++++---------- .../resources/mapper/EmailUsersMapper.xml | 12 ++--- .../src/main/resources/mapper/FilesMapper.xml | 27 +++++------ .../src/main/resources/mapper/I18nMapper.xml | 6 +-- .../main/resources/mapper/MenuIconMapper.xml | 4 +- .../src/main/resources/mapper/PowerMapper.xml | 6 +-- .../src/main/resources/mapper/RoleMapper.xml | 4 +- .../main/resources/mapper/RouterMapper.xml | 4 +- .../src/main/resources/mapper/UserMapper.xml | 16 +++---- .../test/java/cn/bunny/service/Solution.java | 35 ++++++++++++++ 20 files changed, 201 insertions(+), 75 deletions(-) create mode 100644 service/src/test/java/cn/bunny/service/Solution.java diff --git a/common/common-generator/src/main/resources/vms/server/resourceMapper.vm b/common/common-generator/src/main/resources/vms/server/resourceMapper.vm index 6c77bce..066f075 100644 --- a/common/common-generator/src/main/resources/vms/server/resourceMapper.vm +++ b/common/common-generator/src/main/resources/vms/server/resourceMapper.vm @@ -22,7 +22,7 @@ #foreach($field in $pageQueryMap) - $field.column like CONCAT('%',#{dto.${field.property}},'%') + and $field.column like CONCAT('%',#{dto.${field.property}},'%') #end diff --git a/common/common-generator/src/main/resources/vms/web/hook.vm b/common/common-generator/src/main/resources/vms/web/hook.vm index 09f7ba4..bcb3b4c 100644 --- a/common/common-generator/src/main/resources/vms/web/hook.vm +++ b/common/common-generator/src/main/resources/vms/web/hook.vm @@ -8,6 +8,8 @@ import type { FormItemProps } from '${typesPath}'; import { $t } from '@/plugins/i18n'; export const formRef = ref(); +// 删除ids +export const deleteIds = ref([]); const ${lowercaseName}Store = use${originalName}Store(); /** @@ -103,3 +105,23 @@ export const onDelete = async (row: any) => { await ${lowercaseName}Store.delete${originalName}([id]); await onSearch(); }; + +/** + * 批量删除 + */ +export const onDeleteBatch = async () => { + const ids = deleteIds.value; + + // 是否确认删除 + const result = await messageBox({ + title: $t('confirm_delete'), + showMessage: false, + confirmMessage: undefined, + cancelMessage: $t('cancel_delete'), + }); + if (!result) return; + + // 删除数据 + await ${lowercaseName}Store.delete${originalName}(ids); + await onSearch(); +}; \ No newline at end of file diff --git a/common/common-generator/src/main/resources/vms/web/index.vm b/common/common-generator/src/main/resources/vms/web/index.vm index a26a69a..527217e 100644 --- a/common/common-generator/src/main/resources/vms/web/index.vm +++ b/common/common-generator/src/main/resources/vms/web/index.vm @@ -4,7 +4,7 @@ import PureTableBar from '@/components/TableBar/src/bar'; import AddFill from '@iconify-icons/ri/add-circle-line'; import PureTable from '@pureadmin/table'; - import { onAdd, onDelete, onSearch, onUpdate } from '${hookPath}'; + import { onAdd, onDelete, onSearch, onUpdate, deleteIds } from '${hookPath}'; import Delete from '@iconify-icons/ep/delete'; import EditPen from '@iconify-icons/ep/edit-pen'; import Refresh from '@iconify-icons/ep/refresh'; @@ -34,19 +34,27 @@ await onSearch(); }; +/** + * * 选择多行 + * @param rows + */ +const onSelectionChange = (rows: Array) => { + deleteIds.value = rows.map((row: any) => row.id); +}; + /** * 重置表单 * @param formEl */ - const resetForm = async formEl => { +const resetForm = async (formEl: FormInstance | undefined) => { if (!formEl) return; formEl.resetFields(); await onSearch(); - }; +}; - onMounted(() => { +onMounted(() => { onSearch(); - }); +});