吉安感知网项目-后端
linwei
6 days ago 05fb356099b5af472ee23d9164bca61962d9c2ed
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/controller/GdTaskResultController.java
@@ -16,6 +16,7 @@
 */
package org.sxkj.gd.workorder.controller;
import com.alibaba.fastjson.JSON;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@@ -23,6 +24,7 @@
import lombok.AllArgsConstructor;
import javax.validation.Valid;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
@@ -31,10 +33,14 @@
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.sxkj.gd.common.GenericConverter;
import org.sxkj.gd.workorder.dto.GdTaskResultDTO;
import org.sxkj.gd.workorder.entity.GdTaskResultEntity;
import org.sxkj.gd.workorder.vo.GdTaskResultVO;
import org.sxkj.gd.workorder.excel.GdTaskResultExcel;
import org.sxkj.gd.workorder.wrapper.GdTaskResultWrapper;
import org.sxkj.gd.workorder.param.GdClueEventDistributeParam;
import org.sxkj.gd.workorder.service.IGdClueEventService;
import org.sxkj.gd.workorder.service.IGdTaskResultService;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.tool.utils.DateUtil;
@@ -51,6 +57,7 @@
 * @author lw
 * @since 2026-01-14
 */
@Slf4j
@RestController
@AllArgsConstructor
@RequestMapping("workOrder/gdTaskResult")
@@ -58,6 +65,7 @@
public class GdTaskResultController extends BladeController {
   private final IGdTaskResultService gdTaskResultService;
   private final IGdClueEventService gdClueEventService;
   /**
    * 成果表 详情
@@ -70,15 +78,30 @@
      return R.data(GdTaskResultWrapper.build().entityVO(detail));
   }
   /**
    * 成果表 分页
    * 成果表 列表
    *
    * @param patrolTaskId    巡查任务ID
    * @param attachmentTypes 附件类型列表:1媒体文件;2ai文件;3主视频;(可选,不传则查询全部,多个用逗号分隔)
    * @return 成果列表
    */
   @GetMapping("/list")
   @ApiOperationSupport(order = 2)
   @ApiOperation(value = "分页", notes = "传入gdTaskResult")
   public R<IPage<GdTaskResultVO>> list(@ApiIgnore @RequestParam Map<String, Object> gdTaskResult, Query query) {
      IPage<GdTaskResultEntity> pages = gdTaskResultService.page(Condition.getPage(query), Condition.getQueryWrapper(gdTaskResult, GdTaskResultEntity.class));
      return R.data(GdTaskResultWrapper.build().pageVO(pages));
   @ApiOperation(value = "列表", notes = "传入patrolTaskId和attachmentTypes")
   public R<List<GdTaskResultVO>> list(
         @ApiParam(value = "巡查任务ID", required = true) @RequestParam Long patrolTaskId,
         @ApiParam(value = "附件类型:1媒体文件;2ai文件;3主视频;多个用逗号分隔") @RequestParam(required = false) List<Integer> attachmentTypes) {
      return R.data(gdTaskResultService.listByPatrolTaskId(patrolTaskId, attachmentTypes));
   }
//   /**
//    * 成果表 分页
//    */
//   @GetMapping("/list")
//   @ApiOperationSupport(order = 2)
//   @ApiOperation(value = "分页", notes = "传入gdTaskResult")
//   public R<IPage<GdTaskResultVO>> list(@ApiIgnore @RequestParam Map<String, Object> gdTaskResult, Query query) {
//      IPage<GdTaskResultEntity> pages = gdTaskResultService.page(Condition.getPage(query), Condition.getQueryWrapper(gdTaskResult, GdTaskResultEntity.class));
//      return R.data(GdTaskResultWrapper.build().pageVO(pages));
//   }
   /**
    * 成果表 自定义分页
@@ -90,26 +113,26 @@
      IPage<GdTaskResultVO> pages = gdTaskResultService.selectGdTaskResultPage(Condition.getPage(query), gdTaskResult);
      return R.data(pages);
   }
   /**
    * 成果表 新增
    */
   @PostMapping("/save")
   @ApiOperationSupport(order = 4)
   @ApiOperation(value = "新增", notes = "传入gdTaskResult")
   public R save(@Valid @RequestBody GdTaskResultEntity gdTaskResult) {
      return R.status(gdTaskResultService.save(gdTaskResult));
   }
   /**
    * 成果表 修改
    */
   @PostMapping("/update")
   @ApiOperationSupport(order = 5)
   @ApiOperation(value = "修改", notes = "传入gdTaskResult")
   public R update(@Valid @RequestBody GdTaskResultEntity gdTaskResult) {
      return R.status(gdTaskResultService.updateById(gdTaskResult));
   }
//
//   /**
//    * 成果表 新增
//    */
//   @PostMapping("/save")
//   @ApiOperationSupport(order = 4)
//   @ApiOperation(value = "新增", notes = "传入gdTaskResult")
//   public R save(@Valid @RequestBody GdTaskResultEntity gdTaskResult) {
//      return R.status(gdTaskResultService.save(gdTaskResult));
//   }
//
//   /**
//    * 成果表 修改
//    */
//   @PostMapping("/update")
//   @ApiOperationSupport(order = 5)
//   @ApiOperation(value = "修改", notes = "传入gdTaskResult")
//   public R update(@Valid @RequestBody GdTaskResultEntity gdTaskResult) {
//      return R.status(gdTaskResultService.updateById(gdTaskResult));
//   }
   /**
    * 成果表 新增或修改
@@ -117,9 +140,31 @@
   @PostMapping("/submit")
   @ApiOperationSupport(order = 6)
   @ApiOperation(value = "新增或修改", notes = "传入gdTaskResult")
   public R submit(@Valid @RequestBody GdTaskResultEntity gdTaskResult) {
      return R.status(gdTaskResultService.saveOrUpdate(gdTaskResult));
   public R submit(@Valid @RequestBody GdTaskResultDTO gdTaskResult) {
      return R.status(gdTaskResultService.saveOrUpdate(GenericConverter.convert(gdTaskResult, GdTaskResultEntity.class)));
   }
   /**
    * 成果表批量新增-对外接口
    */
   @PostMapping("/batchSaveExternal")
   @ApiOperationSupport(order = 7)
   @ApiOperation(value = "批量新增", notes = "传入gdTaskResult")
   public R batchSaveExternal(@Valid @RequestBody List<GdTaskResultDTO> gdTaskResults) {
      log.info("批量新增-对外接口{}", JSON.toJSONString(gdTaskResults));
      return R.status(gdTaskResultService.saveBatchTaskResult(gdTaskResults));
   }
   /**
    * 成果表批量新增并返回ID列表,不关联任务-对外接口
    */
   // @PostMapping("/batchSaveWithIds")
   // @ApiOperationSupport(order = 8)
   // @ApiOperation(value = "批量新增并返回ID", notes = "传入gdTaskResult")
   // public R<List<Long>> batchSaveWithIds(@Valid @RequestBody List<GdTaskResultDTO> gdTaskResults) {
   //    log.info("批量新增并返回ID-对外接口{}", JSON.toJSONString(gdTaskResults));
   //    return R.data(gdTaskResultService.batchSaveWithIds(gdTaskResults));
   // }
   /**
    * 成果表 删除
@@ -128,9 +173,18 @@
   @ApiOperationSupport(order = 7)
   @ApiOperation(value = "逻辑删除", notes = "传入ids")
   public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
      return R.status(gdTaskResultService.deleteLogic(Func.toLongList(ids)));
      return R.status(gdTaskResultService.removeBatchByIds(Func.toLongList(ids)));
   }
   /**
    * 成果分发事件
    */
   @PostMapping("/distribute")
   @ApiOperationSupport(order = 8)
   @ApiOperation(value = "分发事件", notes = "传入分发参数")
   public R distribute(@Valid @RequestBody GdClueEventDistributeParam distributeParam) {
      return R.status(gdClueEventService.distributeClueEvent(distributeParam));
   }
   /**
    * 导出数据
@@ -148,4 +202,14 @@
      ExcelUtil.export(response, "成果表数据" + DateUtil.time(), "成果表数据表", list, GdTaskResultExcel.class);
   }
   /**
    * 批量下载成果文件
    */
   @GetMapping("/download")
   @ApiOperationSupport(order = 10)
   @ApiOperation(value = "批量下载成果文件", notes = "传入成果ID,多个用逗号分隔")
   public void downloadResultFiles(@ApiParam(value = "成果ID集合,多个用逗号分隔", required = true) @RequestParam String ids, HttpServletResponse response) {
      gdTaskResultService.downloadResultFiles(ids, response);
   }
}