删除系统用户校验是否绑定门店

This commit is contained in:
hupeng committed 2024-10-19 10:38:18 +08:00
1 parent 2ab8699f08
commit a7ec5f2ca0
1 file changed
+17
@@ -5,12 +5,15 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.io.IoUtil; import cn.hutool.core.io.IoUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import co.yixiang.yshop.framework.common.enums.CommonStatusEnum; import co.yixiang.yshop.framework.common.enums.CommonStatusEnum;
import co.yixiang.yshop.framework.common.exception.ErrorCode;
import co.yixiang.yshop.framework.common.exception.ServiceException; import co.yixiang.yshop.framework.common.exception.ServiceException;
import co.yixiang.yshop.framework.common.pojo.PageResult; import co.yixiang.yshop.framework.common.pojo.PageResult;
import co.yixiang.yshop.framework.common.util.collection.CollectionUtils; import co.yixiang.yshop.framework.common.util.collection.CollectionUtils;
import co.yixiang.yshop.framework.common.util.object.BeanUtils; import co.yixiang.yshop.framework.common.util.object.BeanUtils;
import co.yixiang.yshop.framework.datapermission.core.util.DataPermissionUtils; import co.yixiang.yshop.framework.datapermission.core.util.DataPermissionUtils;
import co.yixiang.yshop.module.infra.api.file.FileApi; import co.yixiang.yshop.module.infra.api.file.FileApi;
import co.yixiang.yshop.module.store.dal.dataobject.storeshop.StoreShopDO;
import co.yixiang.yshop.module.store.dal.mysql.storeshop.StoreShopMapper;
import co.yixiang.yshop.module.system.controller.admin.user.vo.profile.UserProfileUpdatePasswordReqVO; import co.yixiang.yshop.module.system.controller.admin.user.vo.profile.UserProfileUpdatePasswordReqVO;
import co.yixiang.yshop.module.system.controller.admin.user.vo.profile.UserProfileUpdateReqVO; import co.yixiang.yshop.module.system.controller.admin.user.vo.profile.UserProfileUpdateReqVO;
import co.yixiang.yshop.module.system.controller.admin.user.vo.user.UserImportExcelVO; import co.yixiang.yshop.module.system.controller.admin.user.vo.user.UserImportExcelVO;
@@ -26,6 +29,7 @@ import co.yixiang.yshop.module.system.service.dept.DeptService;
import co.yixiang.yshop.module.system.service.dept.PostService; import co.yixiang.yshop.module.system.service.dept.PostService;
import co.yixiang.yshop.module.system.service.permission.PermissionService; import co.yixiang.yshop.module.system.service.permission.PermissionService;
import co.yixiang.yshop.module.system.service.tenant.TenantService; import co.yixiang.yshop.module.system.service.tenant.TenantService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.google.common.annotations.VisibleForTesting; import com.google.common.annotations.VisibleForTesting;
import com.mzt.logapi.context.LogRecordContext; import com.mzt.logapi.context.LogRecordContext;
import com.mzt.logapi.service.impl.DiffParseFunction; import com.mzt.logapi.service.impl.DiffParseFunction;
@@ -80,6 +84,8 @@ public class AdminUserServiceImpl implements AdminUserService {
@Resource @Resource
private FileApi fileApi; private FileApi fileApi;
@Resource
private StoreShopMapper storeShopMapper;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@@ -225,6 +231,8 @@ public class AdminUserServiceImpl implements AdminUserService {
// 1. 校验用户存在 // 1. 校验用户存在
AdminUserDO user = validateUserExists(id); AdminUserDO user = validateUserExists(id);
getShop(id);
// 2.1 删除用户 // 2.1 删除用户
userMapper.deleteById(id); userMapper.deleteById(id);
// 2.2 删除用户关联数据 // 2.2 删除用户关联数据
@@ -236,6 +244,15 @@ public class AdminUserServiceImpl implements AdminUserService {
LogRecordContext.putVariable("user", user); LogRecordContext.putVariable("user", user);
} }
private void getShop(Long userId) {
StoreShopDO storeShopDO = storeShopMapper.selectOne(new LambdaQueryWrapper<StoreShopDO>()
.apply(userId > 0, "FIND_IN_SET ('" + userId + "',admin_id)"));
if(storeShopDO != null){
throw exception(new ErrorCode(20241013,"当前门店下:" + storeShopDO.getName() + "绑定等有管理员不可以删除"));
}
}
@Override @Override
public AdminUserDO getUserByUsername(String username) { public AdminUserDO getUserByUsername(String username) {
return userMapper.selectByUsername(username); return userMapper.selectByUsername(username);