feat(team): 添加集体编辑功能
This commit is contained in:
@@ -42,10 +42,16 @@ public class MartialTeamController extends BladeController {
|
||||
@Operation(summary = "保存", description = "新增或修改集体")
|
||||
public R<Boolean> submit(@RequestBody TeamSubmitDTO dto) {
|
||||
MartialTeam team = new MartialTeam();
|
||||
team.setId(dto.getId());
|
||||
team.setTeamName(dto.getTeamName());
|
||||
team.setRemark(dto.getRemark());
|
||||
|
||||
boolean result = teamService.saveTeamWithMembers(team, dto.getMemberIds());
|
||||
boolean result;
|
||||
if (dto.getId() != null) {
|
||||
result = teamService.updateTeamWithMembers(team, dto.getMemberIds());
|
||||
} else {
|
||||
result = teamService.saveTeamWithMembers(team, dto.getMemberIds());
|
||||
}
|
||||
return R.data(result);
|
||||
}
|
||||
|
||||
|
||||
@@ -9,6 +9,9 @@ import java.util.List;
|
||||
@Schema(description = "集体提交DTO")
|
||||
public class TeamSubmitDTO {
|
||||
|
||||
@Schema(description = "集体ID(更新时必填)")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "集体名称")
|
||||
private String teamName;
|
||||
|
||||
|
||||
@@ -14,6 +14,11 @@ public interface IMartialTeamService extends IService<MartialTeam> {
|
||||
*/
|
||||
boolean saveTeamWithMembers(MartialTeam team, List<Long> memberIds);
|
||||
|
||||
/**
|
||||
* Update team with members
|
||||
*/
|
||||
boolean updateTeamWithMembers(MartialTeam team, List<Long> memberIds);
|
||||
|
||||
/**
|
||||
* Get team list with member count
|
||||
*/
|
||||
|
||||
@@ -53,6 +53,36 @@ public class MartialTeamServiceImpl extends ServiceImpl<MartialTeamMapper, Marti
|
||||
return saved;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean updateTeamWithMembers(MartialTeam team, List<Long> memberIds) {
|
||||
team.setMemberCount(memberIds != null ? memberIds.size() : 0);
|
||||
team.setUpdateUser(AuthUtil.getUserId());
|
||||
boolean updated = this.updateById(team);
|
||||
|
||||
if (updated) {
|
||||
// Delete old members
|
||||
LambdaQueryWrapper<MartialTeamMember> deleteWrapper = new LambdaQueryWrapper<>();
|
||||
deleteWrapper.eq(MartialTeamMember::getTeamId, team.getId());
|
||||
teamMemberMapper.delete(deleteWrapper);
|
||||
|
||||
// Insert new members
|
||||
if (memberIds != null && !memberIds.isEmpty()) {
|
||||
for (Long athleteId : memberIds) {
|
||||
MartialTeamMember member = new MartialTeamMember();
|
||||
member.setTeamId(team.getId());
|
||||
member.setAthleteId(athleteId);
|
||||
member.setCreateTime(LocalDateTime.now());
|
||||
member.setIsDeleted(0);
|
||||
member.setTenantId("000000");
|
||||
teamMemberMapper.insert(member);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return updated;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<MartialTeamVO> getTeamList(Long createUser, Integer current, Integer size) {
|
||||
LambdaQueryWrapper<MartialTeam> wrapper = new LambdaQueryWrapper<>();
|
||||
|
||||
Reference in New Issue
Block a user