吉安感知网项目-后端
linwei
2026-01-21 0926a3c6cd5c31bec2a0b93d16a20d8740b8351c
附件
6 files modified
3 files added
127 ■■■■■ changed files
drone-ops-api/drone-resource-api/src/main/java/org/sxkj/resource/vo/AttachVO.java 18 ●●●●● patch | view | raw | blame | history
drone-ops/drone-resource/src/main/java/org/sxkj/resource/controller/AttachController.java 18 ●●●● patch | view | raw | blame | history
drone-ops/drone-resource/src/main/java/org/sxkj/resource/dto/AttachDto.java 22 ●●●●● patch | view | raw | blame | history
drone-ops/drone-resource/src/main/java/org/sxkj/resource/feign/AttachClient.java 1 ●●●● patch | view | raw | blame | history
drone-ops/drone-resource/src/main/java/org/sxkj/resource/mapper/AttachMapper.java 3 ●●●● patch | view | raw | blame | history
drone-ops/drone-resource/src/main/java/org/sxkj/resource/mapper/AttachMapper.xml 23 ●●●● patch | view | raw | blame | history
drone-ops/drone-resource/src/main/java/org/sxkj/resource/param/AttachPageParam.java 19 ●●●●● patch | view | raw | blame | history
drone-ops/drone-resource/src/main/java/org/sxkj/resource/param/AttachParam.java 11 ●●●●● patch | view | raw | blame | history
drone-ops/drone-resource/src/main/java/org/sxkj/resource/service/impl/AttachServiceImpl.java 12 ●●●● patch | view | raw | blame | history
drone-ops-api/drone-resource-api/src/main/java/org/sxkj/resource/vo/AttachVO.java
@@ -101,19 +101,13 @@
    @ApiModelProperty(value = "机场纬度")
    private String dockLatitude;
    // index
    @ApiModelProperty(value = "index")
    private String index;
    /**
     * 设置昵称数据
     *
     * @param list
     */
    public static void settingNickName(List<AttachVO> list) {
        Streams.toList(list, entity -> {
            entity.setNickName(Attach.getNickName(entity));
            return entity;
        });
    }
    @ApiModelProperty(value = "机构名称")
    private String deptName;
    @ApiModelProperty(value = "昵称")
    private String nickName;
}
drone-ops/drone-resource/src/main/java/org/sxkj/resource/controller/AttachController.java
@@ -20,6 +20,7 @@
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.constant.RoleConstant;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.DateTimeUtil;
import org.springblade.core.tool.utils.Func;
import org.springframework.util.CollectionUtils;
@@ -30,10 +31,13 @@
import org.sxkj.common.model.TimeRange;
import org.sxkj.common.utils.HeaderUtils;
import org.sxkj.common.utils.TimeRangeUtils;
import org.sxkj.resource.dto.AttachDto;
import org.sxkj.resource.dto.WaylineJobInfoQueryDto;
import org.sxkj.resource.dto.WaylineJobInfoQueryParam;
import org.sxkj.resource.entity.Attach;
import org.sxkj.resource.feign.IAttachClient;
import org.sxkj.resource.param.AttachPageParam;
import org.sxkj.resource.param.AttachParam;
import org.sxkj.resource.service.IAttachService;
import org.sxkj.resource.vo.*;
import org.sxkj.system.vo.TreeVo;
@@ -67,16 +71,14 @@
    private final IAttachService attachService;
    private final IAttachClient attachClient;
    /**
     * 详情
     */
    @GetMapping("/detail")
    @ApiOperationSupport(order = 1)
    @ApiOperation(value = "附件详情", notes = "传入attach")
    public R<Attach> detail(Attach attach) {
        Attach detail = attachService.getOne(Condition.getQueryWrapper(attach));
    public R<Attach> detail(AttachParam attach) {
        Attach detail = attachService.getOne(Wrappers.lambdaQuery(Attach.class).eq(Attach::getId, attach.getId()));
        return R.data(detail);
    }
@@ -86,11 +88,8 @@
    @GetMapping("/page")
    @ApiOperationSupport(order = 3)
    @ApiOperation(value = "附件分页", notes = "传入attach")
    public R<IPage<AttachVO>> page(AttachVO attach, Query query) {
        // String areaCode = HeaderUtils.getAreaCode();
        // attach.setAreaCode(areaCode);
    public R<IPage<AttachVO>> page(AttachPageParam attach, Query query) {
        IPage<AttachVO> pages = attachService.selectAttachPage(Condition.getPage(query), attach);
        AttachVO.settingNickName(pages.getRecords());
        return R.data(pages);
    }
@@ -100,7 +99,8 @@
    @PostMapping("/submit")
    @ApiOperationSupport(order = 6)
    @ApiOperation(value = "新增或修改", notes = "传入attach")
    public R submit(@Valid @RequestBody Attach attach) {
    public R submit(@Valid @RequestBody AttachDto attachDto) {
        Attach attach = Objects.requireNonNull(BeanUtil.copy(attachDto, Attach.class));
        return R.status(attachService.saveOrUpdate(attach));
    }
drone-ops/drone-resource/src/main/java/org/sxkj/resource/dto/AttachDto.java
New file
@@ -0,0 +1,22 @@
package org.sxkj.resource.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
@Data
public class AttachDto {
    @ApiModelProperty(value = "附件id")
    @NotNull
    private Long id;
    /**
     * 附件原名
     */
    @ApiModelProperty(value = "附件名称")
    private String nickName;
}
drone-ops/drone-resource/src/main/java/org/sxkj/resource/feign/AttachClient.java
@@ -95,7 +95,6 @@
        Page<AttachVO> page = new Page<>(1, 2000); // 或者 Integer.MAX_VALUE
        List<AttachVO> aiAttachImages = attachService.findAiAttachImages(page, attach);
        AttachVO.settingNickName(aiAttachImages);
        return aiAttachImages;
    }
drone-ops/drone-resource/src/main/java/org/sxkj/resource/mapper/AttachMapper.java
@@ -21,6 +21,7 @@
import org.apache.ibatis.annotations.Param;
import org.sxkj.resource.dto.WaylineJobInfoQueryParam;
import org.sxkj.resource.entity.Attach;
import org.sxkj.resource.param.AttachPageParam;
import org.sxkj.resource.vo.*;
import java.util.Date;
@@ -40,7 +41,7 @@
     * @param attach
     * @return
     */
    List<AttachVO> selectAttachPage(IPage page, @Param("attach") AttachVO attach);
    List<AttachVO> selectAttachPage(IPage page, @Param("attach") AttachPageParam attach);
    /**
     * 自定义分页
drone-ops/drone-resource/src/main/java/org/sxkj/resource/mapper/AttachMapper.xml
@@ -22,32 +22,15 @@
    <!--自定义分页查询-->
    <select id="selectAttachPage" resultType="org.sxkj.resource.vo.AttachVO">
        select * from blade_attach where is_deleted = 0
        <if test="attach.nickName != null and attach.nickName != ''">
            AND (nick_name LIKE CONCAT('%', #{attach.nickName}, '%') OR name LIKE CONCAT('%', #{attach.nickName}, '%'))
        </if>
        select ba.*,bd.dept_name, ifnull(ba.nick_name,ba.original_name) nickName
        from blade_attach ba
            left join blade_dept bd on ba.create_dept = bd.id where ba.is_deleted = 0
        <if test="attach.originalName!=null and attach.originalName!=''">
            and original_name like concat('%',#{attach.originalName},'%')
        </if>
        <if test="attach.extension!=null and attach.extension!=''">
            and extension like concat('%',#{attach.extension},'%')
        </if>
        <if test="attach.startTime!=null and attach.startTime!=''">
            and date_format(create_time,'%Y-%m-%d') &gt;= #{attach.startTime}
        </if>
        <if test="attach.endTime!=null and attach.endTime!=''">
            and date_format(create_time,'%Y-%m-%d') &lt;= #{attach.endTime}
        </if>
        <if test="attach.resultType!=null">
            and result_type = #{attach.resultType}
        </if>
        <if test="attach.wayLineJobId!=null and attach.wayLineJobId!=''">
            and wayline_job_id = #{attach.wayLineJobId}
        </if>
        <if test="attach.deviceSn!=null and attach.deviceSn!=''">
            and device_sn = #{attach.deviceSn}
        </if>
        order by create_time desc,id desc
    </select>
    <select id="findAiAttachImages" resultType="org.sxkj.resource.vo.AttachVO">
drone-ops/drone-resource/src/main/java/org/sxkj/resource/param/AttachPageParam.java
New file
@@ -0,0 +1,19 @@
package org.sxkj.resource.param;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class AttachPageParam {
    @ApiModelProperty(value = "id")
    private Long id;
    @ApiModelProperty(value = "附件类型: 1=巡查类文档,2=巡检类文档,3=安保类文档,4=文旅类文档,5=采集数据类文档")
    private Integer resultType;
    /**
     * 附件原名
     */
    @ApiModelProperty(value = "附件原名")
    private String originalName;
}
drone-ops/drone-resource/src/main/java/org/sxkj/resource/param/AttachParam.java
New file
@@ -0,0 +1,11 @@
package org.sxkj.resource.param;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class AttachParam {
    @ApiModelProperty(value = "id")
    private Long id;
}
drone-ops/drone-resource/src/main/java/org/sxkj/resource/service/impl/AttachServiceImpl.java
@@ -52,6 +52,7 @@
import org.sxkj.resource.model.FileMetadataDTO;
import org.sxkj.resource.model.MinioPojo;
import org.sxkj.resource.model.PositionDTO;
import org.sxkj.resource.param.AttachPageParam;
import org.sxkj.resource.service.IAttachService;
import org.sxkj.resource.util.MinioFileDownloader;
import org.sxkj.resource.vo.*;
@@ -104,15 +105,8 @@
    @Override
    public IPage<AttachVO> selectAttachPage(IPage<AttachVO> page, AttachVO attach) {
        // Integer resultType = attach.getResultType();
        List<AttachVO> attachVOS = Collections.emptyList();
        // if (Objects.nonNull(resultType) && Attach.RESULT_TYPE_AI.equals(resultType)) {
        //     attachVOS = baseMapper.selectEventAttachPage(page, attach);
        // } else {
            attachVOS = baseMapper.selectAttachPage(page, attach);
        // }
    public IPage<AttachVO> selectAttachPage(IPage<AttachVO> page, AttachPageParam attach) {
         List<AttachVO> attachVOS   = baseMapper.selectAttachPage(page, attach);
        return page.setRecords(attachVOS);
    }