package com.dy.pmsProduct.taskPlan; 
 | 
  
 | 
import com.dy.common.webFilter.UserTokenContext; 
 | 
import com.dy.common.webUtil.QueryResultVo; 
 | 
import com.dy.pmsGlobal.daoPr.PrDevOpsPlanMapper; 
 | 
import com.dy.pmsGlobal.pojoBa.BaUser; 
 | 
import com.dy.pmsGlobal.pojoPr.PrDevOpsPlan; 
 | 
import com.dy.pmsGlobal.util.UserUtil; 
 | 
import lombok.extern.slf4j.Slf4j; 
 | 
import org.apache.dubbo.common.utils.PojoUtils; 
 | 
import org.springframework.beans.factory.annotation.Autowired; 
 | 
import org.springframework.stereotype.Service; 
 | 
import org.springframework.transaction.annotation.Transactional; 
 | 
  
 | 
import java.util.List; 
 | 
import java.util.Map; 
 | 
  
 | 
@Slf4j 
 | 
@Service 
 | 
public class DevOpsSv { 
 | 
    private PrDevOpsPlanMapper devOpsDao; 
 | 
    private UserUtil userUtil; 
 | 
  
 | 
    @Autowired 
 | 
    public void setDevOpsDao(PrDevOpsPlanMapper devOpsDao) { 
 | 
        this.devOpsDao = devOpsDao; 
 | 
    } 
 | 
    @Autowired 
 | 
    public void setUserUtil(UserUtil userUtil) { 
 | 
        this.userUtil = userUtil; 
 | 
    } 
 | 
    public PrDevOpsPlan selectById(Long id) { 
 | 
        return devOpsDao.selectByPrimaryKey(id); 
 | 
    } 
 | 
  
 | 
    @Transactional 
 | 
    public int save(PrDevOpsPlan plan) { 
 | 
        if(devOpsDao.exists(plan.name,plan.id)){ 
 | 
            throw new RuntimeException("计划名不能重复"); 
 | 
        } 
 | 
        BaUser loginUser = userUtil.getUser(UserTokenContext.get()); 
 | 
        if(loginUser!=null){ 
 | 
            plan.creator = loginUser.id; 
 | 
        } 
 | 
        plan.deleted = false; 
 | 
        return devOpsDao.insertSelective(plan); 
 | 
    } 
 | 
    @Transactional 
 | 
    public int update(PrDevOpsPlan plan) { 
 | 
        if(devOpsDao.exists(plan.name,plan.id)){ 
 | 
            throw new RuntimeException("计划名不能重复"); 
 | 
        } 
 | 
        return devOpsDao.updateByPrimaryKeySelective(plan); 
 | 
    } 
 | 
    public QueryResultVo<List<PrDevOpsPlan>> selectSome(QueryVo queryVo) { 
 | 
        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo); 
 | 
        //查询符合条件的记录总数 
 | 
        Long itemTotal = devOpsDao.selectSomeCount(params); 
 | 
        QueryResultVo<List<PrDevOpsPlan>> rsVo = new QueryResultVo<>(queryVo.pageSize, queryVo.pageCurr) ; 
 | 
        //计算分页等信息 
 | 
        rsVo.calculateAndSet(itemTotal, params); 
 | 
        //查询符合条件的记录 
 | 
        rsVo.obj = devOpsDao.selectSome(params); 
 | 
        return rsVo ; 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 只更新状态,不更新其他字段 
 | 
     * @param plan 
 | 
     * @return 
 | 
     */ 
 | 
    public int updateStatus(PrDevOpsPlan plan) { 
 | 
        PrDevOpsPlan param = new PrDevOpsPlan(); 
 | 
        param.id =plan.id; 
 | 
        param.status = plan.status; 
 | 
        return devOpsDao.updateByPrimaryKeySelective(param); 
 | 
    } 
 | 
} 
 |