bug:航线一期增加航线查询接口

This commit is contained in:
gyb 2026-02-09 08:40:59 +08:00
parent 9f11633445
commit b9eded75c7
10 changed files with 178 additions and 1 deletions

View File

@ -3,6 +3,7 @@ package com.ruoyi.airline.controller;
import com.ruoyi.airline.api.domain.AirlineFileGroupVO;
import com.ruoyi.airline.controller.convert.AirlineFileGroupControllerConvert;
import com.ruoyi.airline.service.api.IAirlineFileGroupService;
import com.ruoyi.airline.service.dto.AirlineFileDTO;
import com.ruoyi.airline.service.dto.AirlineFileGroupDTO;
import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.core.web.domain.AjaxResult;
@ -104,4 +105,19 @@ public class AirlineFileGroupController extends BaseController {
return toAjax(iAirlineFileGroupService.deletegroupById(SecurityUtils.getUserId(), groupId));
}
/**
* 根据用户ID查询所有符合条件的航线包含分组信息
*
* @param dto 查询条件
* @return 航线列表
*/
@GetMapping("/airlineList")
@Operation(summary = "根据用户ID查询所有符合条件的航线")
public TableDataInfo selectAirlineListByUserId(AirlineFileDTO dto) {
startPage();
dto.setUserId(SecurityUtils.getUserId());
List<AirlineFileDTO> list = iAirlineFileGroupService.selectAirlineListByUserId(dto);
return getDataTable(list);
}
}

View File

@ -1,5 +1,6 @@
package com.ruoyi.airline.domain.api;
import com.ruoyi.airline.domain.model.AirlineFile;
import com.ruoyi.airline.domain.model.AirlineFileGroup;
import java.util.List;
@ -31,4 +32,6 @@ public interface IAirlineFileGroupDomain {
int insertGroup(AirlineFileGroup model);
List<AirlineFileGroup> selectGroupList(AirlineFileGroup model);
List<AirlineFile> selectAirlineListByUserId(AirlineFile model);
}

View File

@ -2,8 +2,11 @@ package com.ruoyi.airline.domain.impl;
import com.ruoyi.airline.domain.api.IAirlineFileGroupDomain;
import com.ruoyi.airline.domain.convert.AirlineFileGroupDomainConvert;
import com.ruoyi.airline.domain.convert.AirlineFileDomainConvert;
import com.ruoyi.airline.domain.model.AirlineFile;
import com.ruoyi.airline.domain.model.AirlineFileGroup;
import com.ruoyi.airline.mapper.AirlineFileGroupMapper;
import com.ruoyi.airline.mapper.entity.AirlineFileEntity;
import com.ruoyi.airline.mapper.entity.AirlineFileGroupEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@ -51,4 +54,10 @@ public class AirlineFileGroupDomainImpl implements IAirlineFileGroupDomain {
AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.to(model);
return AirlineFileGroupDomainConvert.fromList(airlineFileGroupMapper.selectGroupList(entity));
}
@Override
public List<AirlineFile> selectAirlineListByUserId(AirlineFile model) {
AirlineFileEntity entity = AirlineFileDomainConvert.to(model);
return AirlineFileDomainConvert.fromList(airlineFileGroupMapper.selectAirlineListByUserId(entity));
}
}

View File

@ -102,6 +102,21 @@ public class AirlineFile extends BaseEntity {
*/
private Integer autoTakePhotoInterval;
/**
* 分组ID
*/
private Long groupId;
/**
* 分组名称
*/
private String groupName;
/**
* 用户ID分组自带用户归属 后期权限都是基于用户ID进行
*/
private Long userId;
@ -123,6 +138,9 @@ public class AirlineFile extends BaseEntity {
", turnRadius=" + turnRadius +
", autoTakePhoto=" + autoTakePhoto +
", autoTakePhotoInterval=" + autoTakePhotoInterval +
", groupId=" + groupId +
", groupName='" + groupName + '\'' +
", userId=" + userId +
'}';
}
}

View File

@ -1,5 +1,6 @@
package com.ruoyi.airline.mapper;
import com.ruoyi.airline.mapper.entity.AirlineFileEntity;
import com.ruoyi.airline.mapper.entity.AirlineFileGroupEntity;
import java.util.List;
@ -20,4 +21,6 @@ public interface AirlineFileGroupMapper {
int insertGroup(AirlineFileGroupEntity entity);
List<AirlineFileGroupEntity> selectGroupList(AirlineFileGroupEntity entity);
List<AirlineFileEntity> selectAirlineListByUserId(AirlineFileEntity entity);
}

View File

@ -70,6 +70,21 @@ public class AirlineFileEntity extends BaseEntity {
* 航线文件对应的 MD5指纹
*/
private String fileMd5;
/**
* 用户ID
*/
private Long groupId;
/**
* 分组名称
*/
private String groupName;
/**
* 用户ID分组自带用户归属 后期权限都是基于用户ID进行
*/
private Long userId;
}

View File

@ -1,5 +1,6 @@
package com.ruoyi.airline.service.api;
import com.ruoyi.airline.service.dto.AirlineFileDTO;
import com.ruoyi.airline.service.dto.AirlineFileGroupDTO;
import java.util.List;
@ -27,4 +28,6 @@ public interface IAirlineFileGroupService {
List<AirlineFileGroupDTO> selectGroupList(AirlineFileGroupDTO dto);
AirlineFileGroupDTO selectAirLineListsByGroupId(Long userId, Long groupId);
List<AirlineFileDTO> selectAirlineListByUserId(AirlineFileDTO dto);
}

View File

@ -108,6 +108,21 @@ public class AirlineFileDTO extends BaseEntity {
*/
private Integer autoTakePhotoInterval;
/**
* 分组ID
*/
private Long groupId;
/**
* 分组名称
*/
private String groupName;
/**
* 用户ID分组自带用户归属 后期权限都是基于用户ID进行
*/
private Long userId;
@Override
public String toString() {
@ -128,6 +143,9 @@ public class AirlineFileDTO extends BaseEntity {
", turnRadius=" + turnRadius +
", autoTakePhoto=" + autoTakePhoto +
", autoTakePhotoInterval=" + autoTakePhotoInterval +
", groupId=" + groupId +
", groupName='" + groupName + '\'' +
", userId=" + userId +
'}';
}

View File

@ -11,6 +11,7 @@ import com.ruoyi.airline.service.api.IAirlineFileGroupService;
import com.ruoyi.airline.service.convert.AirlineFileGroupInfoServiceConvert;
import com.ruoyi.airline.service.convert.AirlineFileGroupServiceConvert;
import com.ruoyi.airline.service.convert.AirlineFileServiceConvert;
import com.ruoyi.airline.service.dto.AirlineFileDTO;
import com.ruoyi.airline.service.dto.AirlineFileGroupDTO;
import com.ruoyi.airline.service.dto.AirlineFileGroupInfoDTO;
import org.slf4j.Logger;
@ -40,7 +41,6 @@ public class AirlineFileServiceGroupImpl implements IAirlineFileGroupService {
@Autowired
private IAirlineFileDomain iAirlineFileDomain;
@Override
public int deletegroupById(Long userId, Long groupId) {
// 1删除航线信息
@ -110,5 +110,17 @@ public class AirlineFileServiceGroupImpl implements IAirlineFileGroupService {
return dto;
}
/**
* 根据用户ID查询所有符合条件的航线包含分组信息
*
* @param dto 查询条件
* @return 航线列表
*/
@Override
public List<AirlineFileDTO> selectAirlineListByUserId(AirlineFileDTO dto) {
AirlineFile model = AirlineFileServiceConvert.to(dto);
return AirlineFileServiceConvert.fromList(iAirlineFileGroupDomain.selectAirlineListByUserId(model));
}
}

View File

@ -18,6 +18,30 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="deletedTime" column="deleted_time" />
</resultMap>
<!-- 结果映射 -->
<resultMap type="com.ruoyi.airline.mapper.entity.AirlineFileEntity" id="AirlineFileResult">
<id property="id" column="id" />
<result property="name" column="name" />
<result property="airVendor" column="air_vendor" />
<result property="airType" column="air_type" />
<result property="fileName" column="file_name" />
<result property="fileUrl" column="file_url" />
<result property="type" column="type" />
<result property="source" column="source" />
<result property="status" column="status" />
<result property="fileMd5" column="file_md5" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="remark" column="remark" />
<result property="groupName" column="group_name" />
<result property="groupId" column="group_id" />
<result property="userId" column="user_id" />
<result property="userId" column="user_id" />
</resultMap>
<!-- 检查分组名称是否唯一 -->
<select id="checkgroupNameUnique" parameterType="com.ruoyi.airline.mapper.entity.AirlineFileGroupEntity" resultType="java.lang.Integer">
select count(1) from airline_file_group
@ -78,4 +102,60 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
order by create_time desc
</select>
// 增加sql实现 通过用户id查询 及详细信息,查询 airline_file_group 、airline_file_group_info airline_file表关联出所有符合条件的航线
<!-- 通过用户ID查询所有符合条件的航线包含分组信息 -->
<select id="selectAirlineListByUserId" parameterType="com.ruoyi.airline.mapper.entity.AirlineFileEntity" resultMap="AirlineFileResult">
select
af.id ,
af.name ,
af.file_name ,
af.air_vendor ,
af.air_type ,
af.file_url ,
af.type ,
af.source ,
af.status ,
af.file_md5 ,
af.create_by ,
af.create_time ,
af.update_by ,
af.update_time ,
af.remark ,
afg.group_id ,
afg.group_name ,
afg.user_id
from airline_file af
inner join airline_file_group_info afgi on af.id = afgi.airline_id
inner join airline_file_group afg on afgi.group_id = afg.group_id
<where>
afg.del_flag = 0
<if test="userId != null">
and afg.user_id = #{userId}
</if>
<if test="groupId != null">
and afg.group_id = #{groupId}
</if>
<if test="airlineName != null and airlineName != ''">
and af.name like concat('%', #{airlineName}, '%')
</if>
<if test="type != null and type != ''">
and af.type = #{type}
</if>
<if test="status != null">
and af.status = #{status}
</if>
<if test="source != null and source != ''">
and af.source = #{source}
</if>
<if test="airVendor != null and airVendor != ''">
and af.air_vendor = #{airVendor}
</if>
<if test="airType != null and airType != ''">
and af.air_type = #{airType}
</if>
</where>
order by af.create_time desc
</select>
</mapper>