优化用户维护品牌关系逻辑

This commit is contained in:
Mrking 2024-11-17 23:20:03 +08:00
parent 4c73984d12
commit be124b6763
5 changed files with 15 additions and 8 deletions

View File

@ -40,6 +40,9 @@ public class UserRespVO{
@Schema(description = "岗位编号数组", example = "1")
private Set<Long> postIds;
@Schema(description = "品牌编号数组", example = "1")
private Set<Long> brandIds;
@Schema(description = "用户邮箱", example = "hangtag@iocoder.cn")
@ExcelProperty("用户邮箱")
private String email;

View File

@ -17,10 +17,13 @@ public interface UserBrandMapper extends BaseMapperX<UserBrandDO> {
return selectList(UserBrandDO::getUserId, userId);
}
default void deleteByUserIdAndPostId(Long userId, Collection<Long> postIds) {
delete(new LambdaQueryWrapperX<UserBrandDO>()
.eq(UserBrandDO::getUserId, userId)
.in(UserBrandDO::getBrandId, postIds));
default void deleteByUserIdAndBrandId(Long userId, Collection<Long> brandIds) {
LambdaQueryWrapperX<UserBrandDO> update = new LambdaQueryWrapperX<>();
update.eq(UserBrandDO::getUserId, userId);
if(brandIds!=null && brandIds.size()>0){
update.in(UserBrandDO::getBrandId, brandIds);
}
delete(update);
}
default List<UserBrandDO> selectListByBrandIds(Collection<Long> brandIds) {

View File

@ -15,7 +15,8 @@ public interface DeptMapper extends BaseMapperX<DeptDO> {
default List<DeptDO> selectList(DeptListReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<DeptDO>()
.likeIfPresent(DeptDO::getName, reqVO.getName())
.eqIfPresent(DeptDO::getStatus, reqVO.getStatus()));
.eqIfPresent(DeptDO::getStatus, reqVO.getStatus())
.ne(DeptDO::getName, "客户"));
}
default DeptDO selectByParentIdAndName(Long parentId, String name) {

View File

@ -172,8 +172,8 @@ public class AdminUserServiceImpl implements AdminUserService {
userBrandMapper.insertBatch(convertList(createBrandIds,
brandId -> new UserBrandDO().setUserId(userId).setBrandId(brandId)));
}
if (!CollectionUtil.isEmpty(deleteBrandIds)) {
userBrandMapper.deleteByUserIdAndPostId(userId, deleteBrandIds);
if (!CollectionUtil.isEmpty(deleteBrandIds) || reqVO.getDeptId() != 1000000L) {
userBrandMapper.deleteByUserIdAndBrandId(userId, deleteBrandIds);
}
}

View File

@ -82,7 +82,7 @@
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-col :span="24" v-if="formData.deptId == 1000000">
<el-form-item label="品牌">
<el-select v-model="formData.brandIds" multiple placeholder="请选择">
<el-option