package com.fdkankan.fusion.controller; import cn.hutool.http.HttpUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.deepoove.poi.XWPFTemplate; import com.dtflys.forest.annotation.Post; import com.fdkankan.fusion.common.ResultCode; import com.fdkankan.fusion.common.ResultData; import com.fdkankan.fusion.common.util.ShellUtil; import com.fdkankan.fusion.entity.*; import com.fdkankan.fusion.exception.BusinessException; import com.fdkankan.fusion.service.*; import com.fdkankan.redis.util.RedisUtil; import org.apache.commons.lang3.StringUtils; import org.apache.ibatis.annotations.Case; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import sun.java2d.pipe.SpanIterator; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.xml.transform.Result; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.List; import java.util.concurrent.ThreadPoolExecutor; @RestController @RequestMapping("/test") public class TestController { @Autowired RedisUtil redisUtil; @Autowired IFusionMeterService meterService; @Autowired ITmProjectService tmProjectService; @Autowired ITmUserService tmUserService; @Autowired ICaseService caseService; @Autowired ICaseNumService caseNumService; @RequestMapping("/test") public ResultData test(){ //String cmd = "docker exec -d 3dtile /bin/bash -c '/mnt/fusion/3dtile.sh -f osgb -i /mnt/fusion/osgb/modelId_576/OSGB -o /mnt/fusion/b3dm/modelId_576/OSGB'"; String cmd = "sudo docker run --rm -v /mnt/fusion:/mnt/fusion 3dtile:v2 /mnt/fusion/3dtile.sh -f osgb -i /mnt/fusion/osgb/modelId_576/OSGB -o /mnt/fusion/b3dm/modelId_576/OSGB"; ShellUtil.execCmd(cmd); return ResultData.ok(); } @RequestMapping("/projectAddCase") public ResultData projectAddCase(){ List list = tmProjectService.list(); for (TmProject project : list) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(CaseEntity::getTmProjectId,project.getId()); CaseEntity caseEntity = caseService.getOne(wrapper); if(caseEntity == null){ caseEntity = new CaseEntity(); caseEntity.setCaseTitle(project.getProjectName()); caseEntity.setType(1); caseEntity.setTmProjectId(project.getId()); caseService.save(caseEntity); } if(StringUtils.isNotBlank(project.getSceneNum())){ CaseNumEntity caseNumEntity = new CaseNumEntity(); caseNumEntity.setCaseId(caseEntity.getCaseId()); caseNumEntity.setNumType(null); caseNumEntity.setNum(project.getSceneNum()); if(project.getSceneNum().contains("KK-")){ caseNumEntity.setNumType(0); } if(project.getSceneNum().contains("KJ-")){ caseNumEntity.setNumType(1); } caseNumService.save(caseNumEntity); } } return ResultData.ok(); } @Autowired IModelService modelService; @GetMapping("/updateModelDeptId") public ResultData updateModelDeptId(){ List list = modelService.list(); for (Model model : list) { if(model.getType() == 3){ TmUser byUserName = tmUserService.getByUserName(model.getUserName()); model.setDeptId(byUserName.getDeptId()); modelService.updateById(model); } } return ResultData.ok(); } @GetMapping("/updateCaseDeptId") public ResultData updateCaseDeptId(){ List list = caseService.list(); for (CaseEntity casee : list) { if(casee.getType() == 0){ TmUser byUserName = tmUserService.getByUserName(casee.getUserName()); casee.setDeptId(byUserName.getDeptId()); caseService.updateById(casee); } } return ResultData.ok(); } @Autowired ICaseInquestService caseInquestService; @GetMapping("/downDocx") public void downDocx(@RequestParam(required = false) Integer caseId, HttpServletResponse res, HttpServletRequest req) throws IOException { if(caseId == null){ throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS); } CaseInquest caseInquest = caseInquestService.getByCaseId(caseId); if(caseInquest == null){ throw new BusinessException(ResultCode.INQUEST_ERROR); } OutputStream os = res.getOutputStream(); InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("template/inquest-template.docx"); // 渲染模板 XWPFTemplate template = XWPFTemplate.compile(inputStream).render(caseInquest); template.writeAndClose(os); } }