add(feature/REQ-3714) 退出班组时,区分工种需要物理删或逻辑删除

This commit is contained in:
zhangran 2025-03-10 15:58:48 +08:00
parent 4a6dfe1527
commit 179d6a3914
6 changed files with 52 additions and 1 deletions

View File

@ -23,6 +23,8 @@ public interface WorkerProfessionSkillTagRepository {
void removeByIds(List<Long> ids);
void deleteByIds(List<Long> ids);
default List<WorkerProfessionSkillTagResp> list(PageReq req) {
return page(req).getData();
}

View File

@ -26,6 +26,12 @@ public interface WorkerProfessionTagRepository {
*/
void removeByIds(List<Long> ids);
/**
* 软删
* @param ids
*/
void deleteByIds(List<Long> ids);
default List<WorkerProfessionTagResp> list(PageReq req) {
return page(req).getData();
}

View File

@ -18,6 +18,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author zhanghongbo
@ -49,7 +50,22 @@ public class WorkerProfessionSkillTagRepositoryImpl implements WorkerProfessionS
}
@Override
public void removeByIds(List<Long> ids) {
public void removeByIds(List<Long> ids) {
workerProfessionSkillTagDao.removeByIds(ids);
}
@Override
public void deleteByIds(List<Long> ids) {
if (CollUtil.isEmpty(ids)) {
return;
}
List<WorkerProfessionSkillTag> delete = ids.stream().map(id -> {
WorkerProfessionSkillTag workerProfessionSkillTag = new WorkerProfessionSkillTag();
workerProfessionSkillTag.setId(id);
workerProfessionSkillTag.setIsDelete(id);
return workerProfessionSkillTag;
}).collect(Collectors.toList());
workerProfessionSkillTagDao.updateBatchById(delete);
}
}

View File

@ -17,6 +17,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author zhanghongbo
@ -51,4 +52,18 @@ public class WorkerProfessionTagRepositoryImpl implements WorkerProfessionTagRep
public void removeByIds(List<Long> ids){
workerProfessionTagDao.removeByIds(ids);
}
@Override
public void deleteByIds(List<Long> ids){
if (CollUtil.isEmpty(ids)) {
return ;
}
List<WorkerProfessionTag> delete = ids.stream().map(id -> {
WorkerProfessionTag workerProfessionTag = new WorkerProfessionTag();
workerProfessionTag.setId(id);
workerProfessionTag.setIsDelete(id);
return workerProfessionTag;
}).collect(Collectors.toList());
workerProfessionTagDao.updateBatchById(delete);
}
}

View File

@ -76,6 +76,12 @@ public class OrgProjectWorkerProfessionFoundationServiceImpl implements OrgProje
return;
}
List<Long> ids = professionTagResps.stream().map(WorkerProfessionTag::getId).collect(Collectors.toList());
// 工人离开平台班组项目内班组软删工种
if (Boolean.TRUE.equals(req.getIsResign())){
professionTagRepository.deleteByIds(ids);
return ;
}
// 物理删除工种
professionTagRepository.removeByIds(ids);
}

View File

@ -46,6 +46,12 @@ public class OrgWorkerSkillTagFoundationServiceImpl implements OrgWorkerSkillTag
return;
}
List<Long> ids = skillTagResps.stream().map(WorkerProfessionSkillTag::getId).collect(Collectors.toList());
// 退出平台班组项目内班组时技能标签软删
if (Boolean.TRUE.equals(req.getIsResign())){
skillTagRepository.deleteByIds(ids);
return ;
}
removeByIds(ids);
}
}