fix:删除代理商时同时删除用户角色关系。

This commit is contained in:
嘉多宝宝 2026-01-13 10:24:30 +08:00
parent 29da542823
commit fadc42f2c2
4 changed files with 26 additions and 4 deletions

View File

@ -22,6 +22,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Objects;
@Slf4j
@RequiredArgsConstructor
@ -124,10 +125,17 @@ public class AdminAgentService {
log.warn("删除代理商时ID列表为空");
return false;
}
List<MpAgentEntity> agentList = mpAgentService.lambdaQuery().in(MpAgentEntity::getId, ids)
.select(MpAgentEntity::getContactUserId).list();
List<Integer> contactUserIdList = agentList.stream().map(MpAgentEntity::getContactUserId)
.filter(Objects::nonNull).toList();
log.info("待删除代理商关联的用户ID列表: {}", contactUserIdList);
boolean result = mpAgentService.removeByIds(ids);
log.info("删除代理商结果: {}", result);
if (result) {
log.info("删除代理商成功ID列表: {}", ids);
// 删除关联的用户数据
userInfoServiceApi.deleteUserRoleByUserId(contactUserIdList);
}
return result;
}

View File

@ -195,4 +195,7 @@ public interface UserInfoServiceApi {
@GetMapping("/getUserIdByMobile")
boolean getUserIdByMobile(@RequestParam("mobile") String mobile);
@DeleteMapping("/deleteUserRoleByUserIds")
boolean deleteUserRoleByUserId(@RequestParam("userIds") List<Integer> userIds);
}

View File

@ -4,9 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.seer.teach.common.entity.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;
import lombok.*;
/**
* <p>
@ -21,6 +19,8 @@ import lombok.Setter;
@TableName("za_user_role")
@Schema(name = "UserRoleEntity对象", description = "")
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class UserRoleEntity extends BaseEntity {
/**

View File

@ -327,6 +327,17 @@ public class UserInfoServiceApiImpl implements UserInfoServiceApi {
return one == null;
}
@Override
public boolean deleteUserRoleByUserId(List<Integer> userIds) {
log.info("删除用户角色用户id{}", userIds);
List<UserRoleEntity> userRolesList = userRoleService.lambdaQuery().in(UserRoleEntity::getUserId, userIds).list();
List<Integer> ids = userRolesList.stream().map(UserRoleEntity::getId).filter(Objects::nonNull).toList();
log.info("准备删除角色记录ID列表: {}", ids);
boolean result = userRoleService.removeByIds(ids);
log.info("删除角色结果: {}", result);
return result;
}
/**
* 推送更新孩子信息的MQ消息
*