123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- package com.fdkankan.fusion.controller;
- import com.fdkankan.fusion.aop.PushJm;
- import com.fdkankan.fusion.common.ResultCode;
- import com.fdkankan.fusion.common.ResultData;
- import com.fdkankan.fusion.entity.CaseFusion;
- import com.fdkankan.fusion.entity.FusionNum;
- import com.fdkankan.fusion.entity.Model;
- import com.fdkankan.fusion.entity.ScenePlus;
- import com.fdkankan.fusion.exception.BusinessException;
- import com.fdkankan.fusion.request.FusionParam;
- import com.fdkankan.fusion.response.CaseFusionVo;
- import com.fdkankan.fusion.response.SceneVo;
- import com.fdkankan.fusion.service.*;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.BeanUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.HashMap;
- import java.util.List;
- import java.util.stream.Collectors;
- /**
- * <p>
- * 前端控制器
- * </p>
- *
- * @author
- * @since 2022-08-04
- */
- @RestController
- @RequestMapping("/caseFusion")
- public class CaseFusionController extends BaseController{
- @Autowired
- ICaseFusionService caseFusionService;
- @Autowired
- IFusionNumService fusionNumService;
- @Autowired
- IFusionMeterService fusionMeterService;
- @Autowired
- ICaseTagPointService caseTagPointService;
- @Autowired
- IModelService modelService;
- @Autowired
- IScenePlusService scenePlusService;
- @GetMapping("/list")
- public ResultData allList(@RequestParam(required = false) Integer caseId){
- return ResultData.ok(fusionNumService.getListByCaseId(caseId,null));
- }
- @GetMapping("/info")
- public ResultData info(@RequestParam(required = false) Integer fusionId){
- CaseFusion caseFusion = caseFusionService.getById(fusionId);
- if(caseFusion == null){
- throw new BusinessException(ResultCode.RECORD_NOT_EXIST);
- }
- CaseFusionVo vo = new CaseFusionVo();
- BeanUtils.copyProperties(caseFusion,vo);
- List<SceneVo> sceneVos = new ArrayList<>();
- List<FusionNum> fusionNumList = fusionNumService.getByFusionId(fusionId);
- List<Integer> modelIds = fusionNumList.stream().map(FusionNum::getModelId).collect(Collectors.toList());
- List<Model> listByModelIds = modelService.getListByModelIds(modelIds);
- List<String> numList = listByModelIds.stream().filter(e -> e.getNum() != null).map(Model::getNum).collect(Collectors.toList());
- List<ScenePlus> scenePlusList = scenePlusService.getByNumList(numList);
- HashMap<String,ScenePlus> map = new HashMap<>();
- scenePlusList.stream().forEach(e -> map.put(e.getNum(),e));
- for (Model model : listByModelIds) {
- SceneVo sceneVo = new SceneVo();
- BeanUtils.copyProperties(model,sceneVo);
- ScenePlus scenePlus = map.get(model.getNum());
- if(model.getNum() != null && scenePlus != null){
- BeanUtils.copyProperties(scenePlus,sceneVo);
- sceneVo.setStatus(scenePlus.getSceneStatus() == -2 ? 2:scenePlus.getSceneStatus());
- sceneVo.setName(scenePlus.getTitle());
- sceneVo.setSceneName(scenePlus.getTitle());
- }
- if(model.getNum() == null){
- sceneVo.setStatus(2);
- }
- sceneVos.add(sceneVo);
- }
- vo.setSceneVoList(sceneVos);
- return ResultData.ok(vo);
- }
- @PostMapping("/add")
- @PushJm(event_content = "添加模型")
- public ResultData add(@RequestBody FusionParam param){
- if( param.getFusionId() == null || StringUtils.isNotBlank(param.getNum())){
- throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
- }
- ScenePlus scenePlus = scenePlusService.getByNum(param.getNum());
- if(scenePlus == null){
- throw new BusinessException(ResultCode.RECORD_NOT_EXIST);
- }
- return ResultData.ok(fusionNumService.add(param,scenePlus));
- }
- /**
- * 修改模型相关信息
- */
- @PostMapping("/update")
- @PushJm(event_content = "修改模型")
- public ResultData update(@RequestBody FusionParam param){
- fusionNumService.updateModel(param);
- return ResultData.ok();
- }
- @PostMapping("/delete")
- @PushJm(event_content = "删除模型")
- public ResultData delete(@RequestBody FusionParam param){
- if(param.getFusionNumId() == null){
- throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
- }
- fusionNumService.deleteById(param.getFusionNumId());
- return ResultData.ok();
- }
- }
|