package cn.cslg.pas.service.business; import cn.cslg.pas.common.dto.business.ProjectEventDTO; import cn.cslg.pas.common.model.cronModel.PersonnelVO; import cn.cslg.pas.common.utils.CacheUtils; import cn.cslg.pas.common.utils.LoginUtils; import cn.cslg.pas.domain.business.AssoProjectEvent; import cn.cslg.pas.exception.UnLoginException; import cn.cslg.pas.mapper.AssoProjectEventMapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; @Service public class AssoProjectEventService extends ServiceImpl { @Autowired private CacheUtils cacheUtils; @Autowired private LoginUtils loginUtils; public void addAssoEventProject(List events, Integer projectId, Integer type) { PersonnelVO personnelVO = new PersonnelVO(); personnelVO = cacheUtils.getLoginUser(loginUtils.getId()); List assoProjectEvents = new ArrayList<>(); //遍历传入的事件集合 for (ProjectEventDTO projectEventDTO : events) { AssoProjectEvent assoProjectEvent = assoProjectEvents.stream().filter(item -> item.getEventId()!=null&&item.getEventId().equals(projectEventDTO.getEventId())).findFirst().orElse(null); AssoProjectEvent assoProjectEvent1 = assoProjectEvents.stream().filter(item -> item.getScenarioId()!=null&&item.getScenarioId().equals(projectEventDTO.getScenarioId())).findFirst().orElse(null); AssoProjectEvent assoProjectEvent2 = assoProjectEvents.stream().filter(item -> item.getMatterId()!=null&&item.getMatterId().equals(projectEventDTO.getMatterId())).findFirst().orElse(null); if (assoProjectEvent == null) { assoProjectEvent = new AssoProjectEvent(); //事件id和处理事项id assoProjectEvent.setEventId(projectEventDTO.getEventId()); //项目id assoProjectEvent.setProjectId(projectId); //创建人 assoProjectEvent.setCreateId(personnelVO.getId()); //类型为专题库 assoProjectEvent.setProjectType(type); assoProjectEvents.add(assoProjectEvent); } if (assoProjectEvent1 == null) { assoProjectEvent1 = new AssoProjectEvent(); //事件id和处理事项id assoProjectEvent1.setScenarioId(projectEventDTO.getScenarioId()); //项目id assoProjectEvent1.setProjectId(projectId); //创建人 assoProjectEvent1.setCreateId(personnelVO.getId()); //类型为专题库 assoProjectEvent1.setProjectType(type); assoProjectEvents.add(assoProjectEvent1); } if (assoProjectEvent2 == null) { assoProjectEvent2 = new AssoProjectEvent(); //事件id和处理事项id assoProjectEvent2.setMatterId(projectEventDTO.getMatterId()); //项目id assoProjectEvent2.setProjectId(projectId); //创建人 assoProjectEvent2.setCreateId(personnelVO.getId()); //类型为专题库 assoProjectEvent2.setProjectType(type); assoProjectEvents.add(assoProjectEvent2); } } if (assoProjectEvents != null && assoProjectEvents.size() != 0) { this.saveBatch(assoProjectEvents); } } }