diff --git a/snowy-admin-web/src/components/XnBatchButton/index.vue b/snowy-admin-web/src/components/XnBatchButton/index.vue index 46389e35..b8967320 100644 --- a/snowy-admin-web/src/components/XnBatchButton/index.vue +++ b/snowy-admin-web/src/components/XnBatchButton/index.vue @@ -5,9 +5,9 @@ @visibleChange="batchVisibleChange" @confirm="deleteBatch" > - + {{ props.buttonName }} @@ -18,6 +18,7 @@ import { message } from 'ant-design-vue' const batchVisible = ref(false) const emit = defineEmits({ batchCallBack: null }) + const buttonLoading = ref(false) const props = defineProps({ buttonName: { type: String, @@ -35,9 +36,17 @@ type: String, default: () => '' }, + size: { + type: String, + default: () => 'middle' + }, selectedRowKeys: { type: Array, default: () => [] + }, + color: { + type: String, + default: () => '' } }) // 参数校验 @@ -64,4 +73,12 @@ // 发起方法调用,谁的谁来实现 emit('batchCallBack', params) } + // 打开loading + const loading = () => { + buttonLoading.value = true + } + // 关闭loading + const closeLoading = () => { + buttonLoading.value = true + } diff --git a/snowy-admin-web/src/components/XnUpload/index.vue b/snowy-admin-web/src/components/XnUpload/index.vue index 9dc72d76..6645e42a 100644 --- a/snowy-admin-web/src/components/XnUpload/index.vue +++ b/snowy-admin-web/src/components/XnUpload/index.vue @@ -5,11 +5,11 @@ name="file" :action="action" :headers="headers" - :maxCount="props.uploadMumber" + :maxCount="props.uploadNumber" @change="handleChange" > - + 上传 @@ -21,11 +21,11 @@ :multiple="true" :action="action" :headers="headers" - :maxCount="props.uploadMumber" + :maxCount="props.uploadNumber" @change="handleChange" >

- +

单击或拖动文件到此区域上传

@@ -53,7 +53,7 @@ required: false }, // 上传数量 - uploadMumber: { + uploadNumber: { type: Number, default: 1, required: false @@ -61,11 +61,13 @@ }) const action = sysConfig.API_URL + props.action + // 上传时间,构造上传数组,主动推送至调用组件,单文件可以使用 const handleChange = () => { + // 单个文件可以使用回调方法,多个文件建议主动获取 let result = [] - for (let a = 0; a < props.uploadMumber; a++) { + for (let a = 0; a < props.uploadNumber; a++) { const file = fileList.value[a] - if (file.status === 'done' && file.response && file.response.code === 200) { + if (file && file.status === 'done' && file.response && file.response.code === 200) { const resultObj = { name: file.name, url: file.response.data @@ -77,4 +79,27 @@ emit('uploadDone', result) } } + // 通过DOM获取上传的文件 + const uploadFileList = () => { + if (fileList.value) { + const result = [] + // 只返回这些就够用了,其他基本用不到 + fileList.value.forEach((item) => { + const obj = { + name: item.name, + type: item.type, + size: item.size, + url: item.response.data + } + result.push(obj) + }) + return result + } else { + return [] + } + } + // 抛出这个获取文件列表的方法 + defineExpose({ + uploadFileList + }) diff --git a/snowy-admin-web/src/utils/request.js b/snowy-admin-web/src/utils/request.js index 802fc35e..291d387b 100644 --- a/snowy-admin-web/src/utils/request.js +++ b/snowy-admin-web/src/utils/request.js @@ -116,7 +116,6 @@ service.interceptors.response.use( 'update', 'grant', 'reset', - 'start', 'stop', 'pass', 'disable', @@ -126,7 +125,8 @@ service.interceptors.response.use( 'active', 'turn', 'adjust', - 'reject' + 'reject', + 'saveDraft' ] apiNameArray.forEach((apiName) => { if (responseUrl.includes(apiName)) { diff --git a/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/user/service/impl/BizUserServiceImpl.java b/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/user/service/impl/BizUserServiceImpl.java index f6ed79d9..eea0c01d 100644 --- a/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/user/service/impl/BizUserServiceImpl.java +++ b/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/user/service/impl/BizUserServiceImpl.java @@ -186,7 +186,7 @@ public class BizUserServiceImpl extends ServiceImpl impl throw new CommonException("手机号码:{}格式错误", bizUserAddParam.getPhone()); } if (this.count(new LambdaQueryWrapper() - .eq(BizUser::getPhone, bizUserAddParam.getPhone())) > 0) { + .eq(BizUser::getPhone, CommonCryptogramUtil.doSm4CbcEncrypt(bizUserAddParam.getPhone()))) > 0) { throw new CommonException("存在重复的手机号,手机号为:{}", bizUserAddParam.getPhone()); } } @@ -240,7 +240,7 @@ public class BizUserServiceImpl extends ServiceImpl impl throw new CommonException("手机号码:{}格式错误", bizUserEditParam.getPhone()); } if (this.count(new LambdaQueryWrapper() - .eq(BizUser::getPhone, bizUserEditParam.getPhone()) + .eq(BizUser::getPhone, CommonCryptogramUtil.doSm4CbcEncrypt(bizUserEditParam.getPhone())) .ne(BizUser::getId, bizUserEditParam.getId())) > 0) { throw new CommonException("存在重复的手机号,手机号为:{}", bizUserEditParam.getPhone()); } diff --git a/snowy-plugin/snowy-plugin-client/src/main/java/vip/xiaonuo/client/modular/user/service/impl/ClientUserServiceImpl.java b/snowy-plugin/snowy-plugin-client/src/main/java/vip/xiaonuo/client/modular/user/service/impl/ClientUserServiceImpl.java index 1f91e024..12ecedc9 100644 --- a/snowy-plugin/snowy-plugin-client/src/main/java/vip/xiaonuo/client/modular/user/service/impl/ClientUserServiceImpl.java +++ b/snowy-plugin/snowy-plugin-client/src/main/java/vip/xiaonuo/client/modular/user/service/impl/ClientUserServiceImpl.java @@ -147,7 +147,7 @@ public class ClientUserServiceImpl extends ServiceImpl() - .eq(ClientUser::getPhone, clientUserAddParam.getPhone())) > 0) { + .eq(ClientUser::getPhone, CommonCryptogramUtil.doSm4CbcEncrypt(clientUserAddParam.getPhone()))) > 0) { throw new CommonException("存在重复的手机号,手机号为:{}", clientUserAddParam.getPhone()); } } @@ -181,7 +181,7 @@ public class ClientUserServiceImpl extends ServiceImpl() - .eq(ClientUser::getPhone, clientUserEditParam.getPhone()) + .eq(ClientUser::getPhone, CommonCryptogramUtil.doSm4CbcEncrypt(clientUserEditParam.getPhone())) .ne(ClientUser::getId, clientUserEditParam.getId())) > 0) { throw new CommonException("存在重复的手机号,手机号为:{}", clientUserEditParam.getPhone()); } diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/service/impl/SysUserServiceImpl.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/service/impl/SysUserServiceImpl.java index 5a52143e..9f8db274 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/service/impl/SysUserServiceImpl.java +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/service/impl/SysUserServiceImpl.java @@ -264,7 +264,7 @@ public class SysUserServiceImpl extends ServiceImpl impl throw new CommonException("手机号码:{}格式错误", sysUserAddParam.getPhone()); } if (this.count(new LambdaQueryWrapper() - .eq(SysUser::getPhone, sysUserAddParam.getPhone())) > 0) { + .eq(SysUser::getPhone, CommonCryptogramUtil.doSm4CbcEncrypt(sysUserAddParam.getPhone()))) > 0) { throw new CommonException("存在重复的手机号,手机号为:{}", sysUserAddParam.getPhone()); } } @@ -307,7 +307,7 @@ public class SysUserServiceImpl extends ServiceImpl impl throw new CommonException("手机号码:{}格式错误", sysUserEditParam.getPhone()); } if (this.count(new LambdaQueryWrapper() - .eq(SysUser::getPhone, sysUserEditParam.getPhone()) + .eq(SysUser::getPhone, CommonCryptogramUtil.doSm4CbcEncrypt(sysUserEditParam.getPhone())) .ne(SysUser::getId, sysUserEditParam.getId())) > 0) { throw new CommonException("存在重复的手机号,手机号为:{}", sysUserEditParam.getPhone()); } @@ -784,30 +784,30 @@ public class SysUserServiceImpl extends ServiceImpl impl @Override public void grantResource(SysUserGrantResourceParam sysUserGrantResourceParam) { - String id = sysUserGrantResourceParam.getId(); - SysUserIdParam sysUserIdParam = new SysUserIdParam(); - List roleIdList = this.ownRole(sysUserIdParam); - if(ObjectUtil.isEmpty(roleIdList)) { - throw new CommonException("非超管角色用户不可被授权系统模块菜单资源"); - } - boolean hasSuperAdminRole = sysRoleService.listByIds(roleIdList).stream().map(SysRole::getCode).collect(Collectors.toSet()) - .contains(SysBuildInEnum.BUILD_IN_ROLE_CODE.getValue()); List menuIdList = sysUserGrantResourceParam.getGrantInfoList().stream() .map(SysUserGrantResourceParam.SysUserGrantResource::getMenuId).collect(Collectors.toList()); - if(!hasSuperAdminRole) { - if(ObjectUtil.isNotEmpty(menuIdList)) { - Set sysModuleIdList = sysMenuService.listByIds(menuIdList).stream().map(SysMenu::getModule).collect(Collectors.toSet()); - boolean containsSystemModule = sysModuleService.listByIds(sysModuleIdList).stream().map(SysModule::getCode) - .collect(Collectors.toSet()).contains(SysBuildInEnum.BUILD_IN_MODULE_CODE.getValue()); - if(containsSystemModule) { + if(ObjectUtil.isNotEmpty(menuIdList)) { + SysUserIdParam sysUserIdParam = new SysUserIdParam(); + sysUserIdParam.setId(sysUserGrantResourceParam.getId()); + List roleIdList = this.ownRole(sysUserIdParam); + Set sysModuleIdList = sysMenuService.listByIds(menuIdList).stream().map(SysMenu::getModule).collect(Collectors.toSet()); + boolean containsSystemModule = sysModuleService.listByIds(sysModuleIdList).stream().map(SysModule::getCode) + .collect(Collectors.toSet()).contains(SysBuildInEnum.BUILD_IN_MODULE_CODE.getValue()); + if(containsSystemModule) { + if(ObjectUtil.isEmpty(roleIdList)) { throw new CommonException("非超管角色用户不可被授权系统模块菜单资源"); + } else { + boolean hasSuperAdminRole = sysRoleService.listByIds(roleIdList).stream().map(SysRole::getCode).collect(Collectors.toSet()) + .contains(SysBuildInEnum.BUILD_IN_ROLE_CODE.getValue()); + if(!hasSuperAdminRole) { + throw new CommonException("非超管角色用户不可被授权系统模块菜单资源"); + } } } + List extJsonList = sysUserGrantResourceParam.getGrantInfoList().stream() + .map(JSONUtil::toJsonStr).collect(Collectors.toList()); + sysRelationService.saveRelationBatchWithClear(sysUserGrantResourceParam.getId(), menuIdList, SysRelationCategoryEnum.SYS_USER_HAS_RESOURCE.getValue(), extJsonList); } - List extJsonList = sysUserGrantResourceParam.getGrantInfoList().stream() - .map(JSONUtil::toJsonStr).collect(Collectors.toList()); - sysRelationService.saveRelationBatchWithClear(id, menuIdList, SysRelationCategoryEnum.SYS_USER_HAS_RESOURCE.getValue(), - extJsonList); } @Override @@ -858,7 +858,7 @@ public class SysUserServiceImpl extends ServiceImpl impl throw new CommonException("手机号码:{}格式错误", sysUserUpdateInfoParam.getPhone()); } if (this.count(new LambdaQueryWrapper().ne(SysUser::getId, sysUser.getId()) - .eq(SysUser::getPhone, sysUserUpdateInfoParam.getPhone())) > 0) { + .eq(SysUser::getPhone, CommonCryptogramUtil.doSm4CbcEncrypt(sysUserUpdateInfoParam.getPhone()))) > 0) { throw new CommonException("存在重复的手机号,手机号为:{}", sysUserUpdateInfoParam.getPhone()); } }