diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/revoke/controller/AnnouncementTaskListDetailController.java b/src/main/java/com/chinaweal/aiccs/aiccs/revoke/controller/AnnouncementTaskListDetailController.java index bd4bd14..002715f 100644 --- a/src/main/java/com/chinaweal/aiccs/aiccs/revoke/controller/AnnouncementTaskListDetailController.java +++ b/src/main/java/com/chinaweal/aiccs/aiccs/revoke/controller/AnnouncementTaskListDetailController.java @@ -3,9 +3,15 @@ package com.chinaweal.aiccs.aiccs.revoke.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.chinaweal.aiccs.aiccs.abnormal.entity.EBaseinfo; +import com.chinaweal.aiccs.aiccs.abnormal.service.EBaseinfoService; import com.chinaweal.aiccs.aiccs.revoke.entity.AnnouncementTaskListDetail; +import com.chinaweal.aiccs.aiccs.revoke.entity.Revokelist; +import com.chinaweal.aiccs.aiccs.revoke.entity.dto.AnnouncementTaskListDetailAddDto; +import com.chinaweal.aiccs.aiccs.revoke.entity.dto.AnnouncementTaskListDetailAddResultDto; import com.chinaweal.aiccs.aiccs.revoke.entity.dto.AnnouncementTaskListDetailQueryDto; import com.chinaweal.aiccs.aiccs.revoke.service.AnnouncementTaskListDetailService; +import com.chinaweal.aiccs.aiccs.revoke.service.RevokelistService; import com.chinaweal.aiccs.common.base.controller.BaseController; import com.chinaweal.aiccs.common.util.StringUtils; import com.chinaweal.aicorg.model.AICUser; @@ -22,6 +28,8 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; /** * 公告任务名单详细名录 Controller @@ -35,33 +43,64 @@ import java.time.LocalDateTime; @RequestMapping("announcement/task/detail") public class AnnouncementTaskListDetailController extends BaseController { + private final EBaseinfoService eBaseinfoService; private final AnnouncementTaskListDetailService announcementTaskListDetailService; + private final RevokelistService revokelistService; /** * 新增公告任务名单详细名录 * - * @param announcementTaskListDetail 公告任务名单详细名录信息 * @return 新增结果 */ @ApiOperation("新增公告任务名单详细名录") @PostMapping("/add") - public RestResult add(@RequestBody AnnouncementTaskListDetail announcementTaskListDetail, HttpServletRequest request) { - AssertUtils.isNotNull(announcementTaskListDetail); - AssertUtils.isNotBlank(announcementTaskListDetail.getTaskListId(), "任务名单id不能为空"); + public RestResult add(@RequestBody AnnouncementTaskListDetailAddDto dto, HttpServletRequest request) { + List pripidList = dto.getPripidList(); + String taskListId = dto.getTaskListId(); + AssertUtils.isNotBlank(taskListId); + AssertUtils.isNotEmpty(pripidList); AICUser loginUser = getLoginUser(request); LocalDateTime now = LocalDateTime.now(); - announcementTaskListDetail.setCreateTime(now); - announcementTaskListDetail.setUpdateTime(now); - announcementTaskListDetail.setCreateUserId(loginUser.getPrimaryKey()); - announcementTaskListDetail.setUpdateUserId(loginUser.getPrimaryKey()); - announcementTaskListDetail.setDelFlag("0"); - - boolean save = announcementTaskListDetailService.save(announcementTaskListDetail); - if (save) { - return RestResult.ok(announcementTaskListDetail); + List successList = new ArrayList<>(); + List failList = new ArrayList<>(); + for (String each : pripidList) { + EBaseinfo eBaseinfo = eBaseinfoService.getById(each); + if (eBaseinfo == null) { + failList.add(each); + continue; + } + AnnouncementTaskListDetail one = announcementTaskListDetailService.lambdaQuery().eq(AnnouncementTaskListDetail::getPripid, each) + .eq(AnnouncementTaskListDetail::getTaskListId, taskListId).eq(AnnouncementTaskListDetail::getDelFlag, 0).last("limit 1").one(); + if(one != null){ + successList.add(each); + continue; + } + AnnouncementTaskListDetail announcementTaskListDetail = new AnnouncementTaskListDetail(); + announcementTaskListDetail.setCreateTime(now); + announcementTaskListDetail.setUpdateTime(now); + announcementTaskListDetail.setCreateUserId(loginUser.getPrimaryKey()); + announcementTaskListDetail.setUpdateUserId(loginUser.getPrimaryKey()); + announcementTaskListDetail.setDelFlag("0"); + announcementTaskListDetail.setPripid(each); + announcementTaskListDetail.setTaskListId(taskListId); + announcementTaskListDetail.setUniscid(eBaseinfo.getUniscid()); + announcementTaskListDetail.setRegno(eBaseinfo.getRegno()); + announcementTaskListDetail.setEntname(eBaseinfo.getEntname()); + announcementTaskListDetail.setEnttype(eBaseinfo.getEnttype()); + announcementTaskListDetail.setIndustryphy(eBaseinfo.getIndustryphy()); + announcementTaskListDetail.setIndustryco(eBaseinfo.getIndustryco()); + Revokelist revokelist = revokelistService.lambdaQuery().eq(Revokelist::getPripid, each) + .eq(Revokelist::getState, "1").last("limit 1").one(); + if(revokelist != null){ + announcementTaskListDetail.setRevoketime(revokelist.getRevokedate().toLocalDate()); + } + announcementTaskListDetailService.save(announcementTaskListDetail); } - return RestResult.error(ResultCode.BUSINESS_LOGIC_ERROR); + AnnouncementTaskListDetailAddResultDto resultDto = new AnnouncementTaskListDetailAddResultDto(); + resultDto.setSuccessList(successList); + resultDto.setFailList(failList); + return RestResult.ok(resultDto); } /** diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/revoke/entity/AnnouncementTaskListDetail.java b/src/main/java/com/chinaweal/aiccs/aiccs/revoke/entity/AnnouncementTaskListDetail.java index 011e3ca..ae1d870 100644 --- a/src/main/java/com/chinaweal/aiccs/aiccs/revoke/entity/AnnouncementTaskListDetail.java +++ b/src/main/java/com/chinaweal/aiccs/aiccs/revoke/entity/AnnouncementTaskListDetail.java @@ -84,11 +84,18 @@ public class AnnouncementTaskListDetail extends Model pripidList; +} diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/revoke/entity/dto/AnnouncementTaskListDetailAddResultDto.java b/src/main/java/com/chinaweal/aiccs/aiccs/revoke/entity/dto/AnnouncementTaskListDetailAddResultDto.java new file mode 100644 index 0000000..78d0054 --- /dev/null +++ b/src/main/java/com/chinaweal/aiccs/aiccs/revoke/entity/dto/AnnouncementTaskListDetailAddResultDto.java @@ -0,0 +1,32 @@ +package com.chinaweal.aiccs.aiccs.revoke.entity.dto; + +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.List; + +/** + * 新增公告任务名单详细名录结果 + * + * @author lroyia + * @since 2026/2/27 14:01 + **/ +@Data +@Accessors(chain = true) +@ApiModel("新增公告任务名单详细名录结果") +public class AnnouncementTaskListDetailAddResultDto implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 导入成功市场主体主键 + */ + private List successList; + + /** + * 导入失败市场主体主键 + */ + private List failList; +} diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/revoke/excelListener/AnnouncementTaskListDetailExcelListener.java b/src/main/java/com/chinaweal/aiccs/aiccs/revoke/excelListener/AnnouncementTaskListDetailExcelListener.java index 7045b65..d338f81 100644 --- a/src/main/java/com/chinaweal/aiccs/aiccs/revoke/excelListener/AnnouncementTaskListDetailExcelListener.java +++ b/src/main/java/com/chinaweal/aiccs/aiccs/revoke/excelListener/AnnouncementTaskListDetailExcelListener.java @@ -41,9 +41,9 @@ public class AnnouncementTaskListDetailExcelListener extends AnalysisEventListen private String createUserId; public AnnouncementTaskListDetailExcelListener(AnnouncementTaskListDetailService announcementTaskListDetailService, - EBaseinfoService eBaseinfoService, - String taskListId, - String createUserId) { + EBaseinfoService eBaseinfoService, + String taskListId, + String createUserId) { this.announcementTaskListDetailService = announcementTaskListDetailService; this.eBaseinfoService = eBaseinfoService; this.taskListId = taskListId; @@ -53,7 +53,7 @@ public class AnnouncementTaskListDetailExcelListener extends AnalysisEventListen /** * 每一条数据解析都会来调用 * - * @param importDto 导入DTO + * @param importDto 导入DTO * @param analysisContext 分析上下文 */ @Override @@ -82,7 +82,8 @@ public class AnnouncementTaskListDetailExcelListener extends AnalysisEventListen if (eBaseinfo != null) { detail.setPripid(eBaseinfo.getPripid()); detail.setEnttype(eBaseinfo.getEnttype()); - detail.setIndustry(eBaseinfo.getIndustryphy()); + detail.setIndustryphy(eBaseinfo.getIndustryphy()); + detail.setIndustryco(eBaseinfo.getIndustryco()); } }