package com.whyc.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.whyc.dto.Response; import com.whyc.mapper.TestPlanMapper; import com.whyc.pojo.DeviceManage; import com.whyc.pojo.TestPlan; import io.swagger.models.auth.In; import lombok.extern.slf4j.Slf4j; import lombok.val; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Date; import java.util.List; import java.util.Random; @Service @Slf4j public class TestPlanService { @Resource private TestPlanMapper mapper; public Response add(TestPlan testPlan){ testPlan.setCreator("admin"); testPlan.setCreateTime(new Date()); testPlan.setState(0);//试验状态:未开始 mapper.insert(testPlan); return new Response().setMsg(1,"添加成功"); } public Response update(TestPlan testPlan){ mapper.updateById(testPlan); return new Response().setMsg(1,"修改成功"); } public Response getOne(Integer num){ TestPlan testPlan = mapper.selectById(num); return new Response().set(1,testPlan); } public TestPlan getOneById(Integer num){ TestPlan testPlan = mapper.selectById(num); return testPlan; } public Response startPlan(Integer num){ TestPlan testPlan = mapper.selectById(num); //获取计划重复次数 int planCount = 0; int testCount = 0; if (testPlan.getPlanCount()!=null){ planCount = testPlan.getPlanCount(); } if (testPlan.getTestCount()!=null){ testCount= testPlan.getTestCount(); } if (planCount!=0 && testCount==planCount){ return new Response().setMsg(0,"已达到计划重复次数最大值"); } testPlan.setState(1); testPlan.setTestCount(++testCount); mapper.updateById(testPlan); return new Response().setMsg(1,"启动成功"); } public Response deletePlan(Integer num){ TestPlan testPlan = mapper.selectById(num); testPlan.setState(-1); mapper.updateById(testPlan); return new Response().setMsg(1,"删除作废成功"); } public Response stopPlan(Integer num){ TestPlan testPlan = mapper.selectById(num); //获取计划重复次数 int planCount = testPlan.getPlanCount(); int testCount = testPlan.getTestCount(); if (planCount!=0 && testCount==planCount){ testPlan.setState(3);//已结束 int k = (int)Math.random()*2; if (k==1){ testPlan.setConclusion("通过"); }else{ testPlan.setConclusion("不通过"); } }else { testPlan.setState(2);//已停止 } mapper.updateById(testPlan); return new Response().setMsg(1,"停止成功"); } public Response verifiedPlan(Integer num,String verifier){ TestPlan testPlan = mapper.selectById(num); testPlan.setState(6); testPlan.setVerifier(verifier); mapper.updateById(testPlan); return new Response().setMsg(1,"审核成功"); } public Response> getAll(int pageNum,int pageSize){ QueryWrapper wrapper = Wrappers.query(); IPage page = mapper.selectPage(new Page<>(pageNum,pageSize),wrapper); return new Response>().set(1,page); } public Response> getPageByCondition(int pageNum, int pageSize, TestPlan testPlan){ QueryWrapper queryWrapper = new QueryWrapper<>(testPlan); //去除已废止的计划 queryWrapper.in("state",0,1,2,3,6,8); IPage page = mapper.selectPage(new Page<>(pageNum,pageSize),queryWrapper); return new Response>().set(1,page); } public Response> getConclusion(int pageNum, int pageSize, TestPlan testPlan){ QueryWrapper queryWrapper = new QueryWrapper<>(testPlan); //6、8为结果审核状态,2:计划已结束,结论未审核 queryWrapper.in("state",3,6,8); IPage page = mapper.selectPage(new Page<>(pageNum,pageSize),queryWrapper); return new Response>().set(1,page); } }