package com.panzhihua.service_dangjian.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.panzhihua.common.model.dtos.partybuilding.NewFightCommunityConstructionDTO; import com.panzhihua.common.model.dtos.partybuilding.NewFightProjectPlanDTO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.utlis.StringUtils; import com.panzhihua.service_dangjian.dao.NewFightCommunityConstructionDAO; import com.panzhihua.service_dangjian.dao.NewFightProjectPlanDAO; import com.panzhihua.service_dangjian.service.NewFightCommunityConstructionService; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Date; import java.util.List; /** * @program: springcloud_k8s_panzhihuazhihuishequ * @description: 党组织 * @author: huang.hongfa weixin hhf9596 qq 959656820 * @create: 2020-11-30 11:40 **/ @Service public class NewFightCommunityConstructionServiceImpl extends ServiceImpl implements NewFightCommunityConstructionService { @Resource private NewFightProjectPlanDAO projectPlanService; @Override public IPage getList(int pageNum, int pageSize, String communityId,String userId) { Page page = new Page<>(pageNum,pageSize); return baseMapper.getList(page,communityId,userId); } @Override public NewFightCommunityConstructionDTO getDetails(String id,String userId) { return baseMapper.getDetails(id,userId); } @Override public R addData(NewFightCommunityConstructionDTO item) { item.setStatus("1"); int num=baseMapper.addData(item); if(num>0) { if(item.getList()!=null && item.getList().size()>0 ) { for (NewFightProjectPlanDTO dto:item.getList()) { dto.setProjectId(item.getId()); projectPlanService.addData(dto); } } return R.ok(); } return R.fail("操作失败"); } @Override public R editData(NewFightCommunityConstructionDTO item) { int num=baseMapper.editData(item); if(num>0) { if(item.getList()!=null && item.getList().size()>0 ) { for (NewFightProjectPlanDTO dto:item.getList()) { if(StringUtils.isEmpty(dto.getId())) { return R.fail("项目规划进度id不能为空"); } projectPlanService.editData(dto); } } return R.ok(); } return R.fail("操作失败"); } @Override public R expurgateData(String id) { int num= baseMapper.expurgateData(id); if(num>0) { //删除相关项目规划进度 projectPlanService.expurgateData("",id); return R.ok(); } return R.fail("操作失败"); } @Override public R getListTime() { List list=baseMapper.getListTime(); if(list==null || list.size()<=0 ) { return R.ok(); } for (NewFightCommunityConstructionDTO item:list) { if(StringUtils.equals("1",item.getStatus())) { // 1 已发布 Date startTime = item.getStartTime(); if (startTime!=null) { if(new Date().getTime()>startTime.getTime()) { NewFightCommunityConstructionDTO dto=new NewFightCommunityConstructionDTO(); dto.setId(item.getId()); //进行中 dto.setStatus("2"); baseMapper.editData(dto); } } } //预计完成时间 Date estimatedTime = item.getEstimatedTime(); if (estimatedTime!=null) { if(new Date().getTime()>estimatedTime.getTime()) { int accomplishNum=projectPlanService.getNum(item.getId(),"0"); NewFightCommunityConstructionDTO dto=new NewFightCommunityConstructionDTO(); dto.setId(item.getId()); if(accomplishNum==0) { //已完成 dto.setStatus("3"); } else { //进行中 dto.setStatus("2"); } baseMapper.editData(dto); } } } return R.ok(); } }