Compare commits
97 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
435ed1c62f | |
|
|
d4253be537 | |
|
|
ce41e4a490 | |
|
|
c7793d7c71 | |
|
|
e761efb850 | |
|
|
7c77837cf5 | |
|
|
c767572a9f | |
|
|
3f87e669d5 | |
|
|
8e1550a045 | |
|
|
9fd2b1f6d7 | |
|
|
1be9f626a0 | |
|
|
395397fedc | |
|
|
755cd26ddb | |
|
|
cac50ce393 | |
|
|
d56262fc34 | |
|
|
7a661add52 | |
|
|
249215edd1 | |
|
|
b3cd8d8965 | |
|
|
7d3d36eb0f | |
|
|
c794a06e7a | |
|
|
337694250a | |
|
|
73e1deae4e | |
|
|
0fd39cf7f3 | |
|
|
ca98f67f13 | |
|
|
0820951503 | |
|
|
9718e3ae41 | |
|
|
3ccdb8ed5a | |
|
|
bb7363bd74 | |
|
|
d1398b5991 | |
|
|
0da4f1f8d4 | |
|
|
4a6cb25af2 | |
|
|
78428c9e98 | |
|
|
79fcee731d | |
|
|
081261e750 | |
|
|
ba86a0d011 | |
|
|
f9494ee635 | |
|
|
d32d652ba2 | |
|
|
c647948ca9 | |
|
|
291b3e1b7b | |
|
|
ce52499b3e | |
|
|
7583f3f98e | |
|
|
d0cc06c353 | |
|
|
aa5a6641d7 | |
|
|
4491b34704 | |
|
|
38661172ed | |
|
|
c0d7b808ad | |
|
|
a7cea1a5fb | |
|
|
c2145cf08e | |
|
|
9f14494575 | |
|
|
cc559f4cb1 | |
|
|
43c4b027bc | |
|
|
4fd0ee3c4e | |
|
|
c2cc12eeda | |
|
|
40645de69c | |
|
|
cc1f539a82 | |
|
|
f2b97009ab | |
|
|
bd79084fa0 | |
|
|
fc0e317432 | |
|
|
7252f19a4b | |
|
|
888659deae | |
|
|
89f8739c18 | |
|
|
9a4fa70463 | |
|
|
11336eaea1 | |
|
|
1d25c15369 | |
|
|
7da906c608 | |
|
|
ae03e92685 | |
|
|
b9eded75c7 | |
|
|
9f11633445 | |
|
|
f2f849c6e6 | |
|
|
b0e873e9d4 | |
|
|
f27bfc33a2 | |
|
|
c136e237fb | |
|
|
b03e858b3b | |
|
|
7e426b3bc7 | |
|
|
ea0a741933 | |
|
|
32ce1b3383 | |
|
|
2377e3e41e | |
|
|
5e34d029b6 | |
|
|
272aaa637e | |
|
|
bf42d6b13e | |
|
|
2202f4b034 | |
|
|
bf538371d7 | |
|
|
8e1f5c622a | |
|
|
a01ec7becd | |
|
|
99e961c476 | |
|
|
8e83c0adc1 | |
|
|
b9a4eefa4b | |
|
|
dee7f20935 | |
|
|
d2d265ec91 | |
|
|
d957404beb | |
|
|
9c1a5dca5b | |
|
|
4110db19f7 | |
|
|
f9babad49d | |
|
|
acc087cd72 | |
|
|
4d4b85dd7f | |
|
|
5acb3656d3 | |
|
|
551d5149b6 |
10
pom.xml
10
pom.xml
|
|
@ -23,6 +23,11 @@
|
|||
<artifactId>tuoheng-api-airline</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-api-system</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- SpringCloud Alibaba Nacos -->
|
||||
<dependency>
|
||||
<groupId>com.alibaba.cloud</groupId>
|
||||
|
|
@ -93,11 +98,6 @@
|
|||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-common-core</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-modules-file</artifactId>
|
||||
<version>3.6.7</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Flyway Database Migration -->
|
||||
<dependency>
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
a
|
||||
ddddda
|
||||
|
|
|
|||
|
|
@ -0,0 +1,223 @@
|
|||
package com.ruoyi.airline.controller;
|
||||
|
||||
import com.ruoyi.airline.api.domain.AirlineAreaGroupDetailVO;
|
||||
import com.ruoyi.airline.api.domain.AirlineAreaGroupVO;
|
||||
import com.ruoyi.airline.api.domain.AirlineAreaVO;
|
||||
import com.ruoyi.airline.controller.convert.AirlineAreaControllerConvert;
|
||||
import com.ruoyi.airline.controller.convert.AirlineAreaGroupControllerConvert;
|
||||
import com.ruoyi.airline.controller.convert.AirlineAreaGroupDetailControllerConvert;
|
||||
import com.ruoyi.airline.service.api.IAirlineAreaGroupService;
|
||||
import com.ruoyi.airline.service.dto.AirlineAreaDTO;
|
||||
import com.ruoyi.airline.service.dto.AirlineAreaGroupDTO;
|
||||
import com.ruoyi.common.core.web.controller.BaseController;
|
||||
import com.ruoyi.common.core.web.domain.AjaxResult;
|
||||
import com.ruoyi.common.core.web.page.TableDataInfo;
|
||||
import com.ruoyi.common.security.utils.SecurityUtils;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 空域分组
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/areaGroup")
|
||||
@Tag(name = "空域分组管理")
|
||||
public class AirlineAreaGroupController extends BaseController {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(AirlineAreaGroupController.class);
|
||||
|
||||
@Autowired
|
||||
private IAirlineAreaGroupService iAirlineAreaGroupService;
|
||||
|
||||
/**
|
||||
* 获取空域分组列表,根据用户Id查询分组
|
||||
*
|
||||
* @param airlineAreaGroupVO 查询条件
|
||||
*/
|
||||
@GetMapping()
|
||||
@Operation(summary = "获取所有的空域分组")
|
||||
public TableDataInfo index(AirlineAreaGroupVO airlineAreaGroupVO) {
|
||||
startPage();
|
||||
airlineAreaGroupVO.setUserId(SecurityUtils.getUserId());
|
||||
AirlineAreaGroupDTO dto = AirlineAreaGroupControllerConvert.to(airlineAreaGroupVO);
|
||||
List<AirlineAreaGroupDTO> list = iAirlineAreaGroupService.selectGroupList(dto);
|
||||
List<AirlineAreaGroupVO> result = AirlineAreaGroupControllerConvert.toApiDomainList(list);
|
||||
return getDataTable(result);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 新增分组
|
||||
*/
|
||||
@PostMapping
|
||||
@Operation(summary = "新增分组")
|
||||
public AjaxResult add(@Validated @RequestBody AirlineAreaGroupVO group) {
|
||||
group.setUserId(SecurityUtils.getUserId());
|
||||
group.setCreateBy(SecurityUtils.getUserId().toString());
|
||||
group.setUpdateBy(SecurityUtils.getUserId().toString());
|
||||
AirlineAreaGroupDTO dto = AirlineAreaGroupControllerConvert.to(group);
|
||||
if (iAirlineAreaGroupService.checkGroupNameUnique(dto)) {
|
||||
return error("新增分组'" + group.getGroupName() + "'失败,分组名称已存在");
|
||||
}
|
||||
return toAjax(iAirlineAreaGroupService.insertGroup(dto));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改分组
|
||||
*/
|
||||
@PutMapping
|
||||
@Operation(summary = "修改分组")
|
||||
public AjaxResult edit(@Validated @RequestBody AirlineAreaGroupVO group) {
|
||||
group.setUserId(SecurityUtils.getUserId());
|
||||
group.setUpdateBy(SecurityUtils.getUserId().toString());
|
||||
AirlineAreaGroupDTO dto = AirlineAreaGroupControllerConvert.to(group);
|
||||
if (iAirlineAreaGroupService.checkGroupNameUnique(dto)) {
|
||||
return error("修改分组'" + group.getGroupName() + "'失败,分组名称已存在");
|
||||
}
|
||||
return toAjax(iAirlineAreaGroupService.updateGroup(dto));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除分组,前端校验分组下是否有空域弹出确认删除提示,如果确认会将分组及空域一起删除。
|
||||
*/
|
||||
@DeleteMapping("/delete/{groupId}")
|
||||
@Operation(summary = "删除分组")
|
||||
public AjaxResult removeByQueryParam(@PathVariable Long groupId) {
|
||||
return toAjax(iAirlineAreaGroupService.deletegroupById(SecurityUtils.getUserId(), groupId));
|
||||
}
|
||||
/**
|
||||
* 按照空域分组查询所有的空域信息(包含坐标点信息)
|
||||
*
|
||||
* @param groupId 分组ID
|
||||
* @return 空域分组详情
|
||||
*/
|
||||
@GetMapping("/airspaceList/{groupId}")
|
||||
@Operation(summary = "按照空域分组查询所有的空域信息")
|
||||
public AjaxResult selectAirspaceListByGroupId(@PathVariable Long groupId) {
|
||||
AirlineAreaGroupDTO dto = iAirlineAreaGroupService.selectAirspaceListByGroupId(SecurityUtils.getUserId(), groupId);
|
||||
// 使用转换类进行转换
|
||||
AirlineAreaGroupDetailVO result = AirlineAreaGroupDetailControllerConvert.from(dto);
|
||||
return success(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改空域信息(包含坐标点信息)
|
||||
*
|
||||
* @param area 空域信息
|
||||
* @return 修改结果
|
||||
*/
|
||||
@PutMapping("/updateArea")
|
||||
@Operation(summary = "修改空域信息")
|
||||
public AjaxResult updateAreaWithPoints(@Validated @RequestBody AirlineAreaVO area) {
|
||||
// 设置更新人
|
||||
area.setUpdateBy(SecurityUtils.getUserId().toString());
|
||||
// 使用转换类进行转换
|
||||
AirlineAreaDTO dto = AirlineAreaControllerConvert.to(area);
|
||||
return toAjax(iAirlineAreaGroupService.updateAreaWithPoints(dto));
|
||||
}
|
||||
|
||||
/**
|
||||
* 在指定分组下新增空域(包含坐标点信息)
|
||||
*
|
||||
* @param groupId 分组ID
|
||||
* @param area 空域信息
|
||||
* @return 新增结果
|
||||
*/
|
||||
@PostMapping("/addArea/{groupId}")
|
||||
@Operation(summary = "在指定分组下新增空域")
|
||||
public AjaxResult addAreaWithGroup(@PathVariable Long groupId, @Validated @RequestBody AirlineAreaVO area) {
|
||||
// 设置创建人和更新人
|
||||
area.setCreateBy(SecurityUtils.getUserId().toString());
|
||||
area.setUpdateBy(SecurityUtils.getUserId().toString());
|
||||
// 使用转换类进行转换
|
||||
AirlineAreaDTO dto = AirlineAreaControllerConvert.to(area);
|
||||
return toAjax(iAirlineAreaGroupService.insertAreaWithGroup(groupId, dto));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除空域(软删除)
|
||||
*
|
||||
* @param areaId 空域ID
|
||||
* @return 删除结果
|
||||
*/
|
||||
@DeleteMapping("/deleteArea/{areaId}")
|
||||
@Operation(summary = "删除空域")
|
||||
public AjaxResult deleteArea(@PathVariable Long areaId) {
|
||||
return toAjax(iAirlineAreaGroupService.deleteArea(areaId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量移动空域到新分组
|
||||
*
|
||||
* @param areaIds 空域ID列表
|
||||
* @param groupId 原分组ID
|
||||
* @param newGroupId 新分组ID
|
||||
* @return 移动结果
|
||||
*/
|
||||
@PostMapping("/move/{groupId}/{newGroupId}")
|
||||
@Operation(summary = "批量移动空域到新分组")
|
||||
public AjaxResult batchMove(@RequestBody List<Long> areaIds, @PathVariable("groupId") Long groupId, @PathVariable("newGroupId") Long newGroupId) {
|
||||
if (groupId == null) {
|
||||
return error("原分组ID不能为空");
|
||||
}
|
||||
if (newGroupId == null) {
|
||||
return error("新分组ID不能为空");
|
||||
}
|
||||
if (areaIds == null || areaIds.isEmpty()) {
|
||||
return error("没有需要移动的空域");
|
||||
}
|
||||
int result = iAirlineAreaGroupService.batchMoveAreaToNewGroup(areaIds, groupId, newGroupId);
|
||||
if (result > 0) {
|
||||
return success("移动成功,共移动 " + result + " 个空域");
|
||||
}
|
||||
return error("移动失败");
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据用户ID查询空域列表,支持名称模糊查询
|
||||
*
|
||||
* @param area 查询条件
|
||||
* @return 空域列表
|
||||
*/
|
||||
@PostMapping("/areaList")
|
||||
@Operation(summary = "根据用户ID查询空域列表")
|
||||
public AjaxResult selectAreaListByUserId(@RequestBody AirlineAreaVO area) {
|
||||
// 设置用户ID
|
||||
area.setCreateBy(SecurityUtils.getUserId().toString());
|
||||
// 转换为DTO
|
||||
AirlineAreaDTO dto = AirlineAreaControllerConvert.to(area);
|
||||
// 调用服务层方法
|
||||
List<AirlineAreaDTO> list = iAirlineAreaGroupService.selectAreaListByUserId(dto);
|
||||
// 转换为VO
|
||||
List<AirlineAreaVO> result = AirlineAreaControllerConvert.fromList(list);
|
||||
return success(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除空域
|
||||
*
|
||||
* @param areaIds 空域ID列表
|
||||
* @return 删除结果
|
||||
*/
|
||||
@DeleteMapping("/batchDeleteArea")
|
||||
@Operation(summary = "批量删除空域")
|
||||
public AjaxResult batchDeleteArea(@RequestBody List<Long> areaIds) {
|
||||
if (areaIds == null || areaIds.isEmpty()) {
|
||||
return error("没有需要删除的空域");
|
||||
}
|
||||
int result = iAirlineAreaGroupService.batchDeleteArea(areaIds);
|
||||
if (result > 0) {
|
||||
return success("删除成功,共删除 " + result + " 个空域");
|
||||
}
|
||||
return error("删除失败");
|
||||
}
|
||||
}
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
package com.ruoyi.airline.controller;
|
||||
|
||||
import com.ruoyi.airline.api.domain.AirlineDataVO;
|
||||
import com.ruoyi.airline.service.api.IAirlineDataService;
|
||||
import com.ruoyi.airline.service.dto.AirlineDataDTO;
|
||||
import com.ruoyi.airline.controller.convert.AirlineDataControllerConvert;
|
||||
|
||||
import com.ruoyi.common.core.web.controller.BaseController;
|
||||
import com.ruoyi.common.core.web.page.TableDataInfo;
|
||||
|
||||
import com.ruoyi.common.security.annotation.RequiresPermissions;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 航线数据Controller
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2026-01-17
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/airline/data")
|
||||
public class AirlineDataController extends BaseController
|
||||
{
|
||||
@Autowired
|
||||
private IAirlineDataService airlineDataService;
|
||||
|
||||
/**
|
||||
* 查询航线数据列表
|
||||
*/
|
||||
@RequiresPermissions("system:dept:query")
|
||||
@GetMapping()
|
||||
public TableDataInfo list(AirlineDataVO airlineDataVO)
|
||||
{
|
||||
AirlineDataDTO dto = AirlineDataControllerConvert.toDTO(airlineDataVO);
|
||||
startPage();
|
||||
List<AirlineDataDTO> list = airlineDataService.selectAirlineDataList(dto);
|
||||
return getDataTable(AirlineDataControllerConvert.toVOList(list));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
package com.ruoyi.airline.controller;
|
||||
|
||||
import com.ruoyi.airline.api.domain.AirlineFileGroupInfoVO;
|
||||
import com.ruoyi.airline.api.domain.AirlineFileVO;
|
||||
import com.ruoyi.airline.controller.convert.AirlineFileControllerConvert;
|
||||
import com.ruoyi.airline.service.api.IAirlineFileService;
|
||||
|
|
@ -7,28 +8,25 @@ import com.ruoyi.airline.service.dto.AirlineFileDTO;
|
|||
import com.ruoyi.common.core.exception.base.BaseException;
|
||||
import com.ruoyi.common.core.web.controller.BaseController;
|
||||
import com.ruoyi.common.core.web.domain.AjaxResult;
|
||||
import com.ruoyi.common.core.web.page.TableDataInfo;
|
||||
import com.ruoyi.common.log.annotation.Log;
|
||||
import com.ruoyi.common.log.enums.BusinessType;
|
||||
import com.ruoyi.common.security.annotation.RequiresPermissions;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 航线文件Controller
|
||||
*
|
||||
* @author ruoyi
|
||||
* @author 拓恒
|
||||
* @date 2026-01-17
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/airline/file")
|
||||
@RequestMapping("/file")
|
||||
@Tag(name = "航线管理")
|
||||
public class AirlineFileController extends BaseController {
|
||||
|
||||
|
|
@ -45,28 +43,33 @@ public class AirlineFileController extends BaseController {
|
|||
* @param entity 实体对象
|
||||
* @return
|
||||
*/
|
||||
@RequiresPermissions("airline:file:edit")
|
||||
@Log(title = "修改航线属性", businessType = BusinessType.UPDATE)
|
||||
// @RequiresPermissions("airline:file:edit")
|
||||
// @Log(title = "修改航线属性", businessType = BusinessType.UPDATE)
|
||||
@PutMapping("/edit")
|
||||
public AjaxResult edit(@RequestBody AirlineFileVO entity) {
|
||||
AirlineFileDTO dto = AirlineFileControllerConvert.toDTO(entity);
|
||||
return success(airlineFileService.save(dto));
|
||||
@Operation(summary = "编辑航线文件描述信息")
|
||||
public AjaxResult edit(@RequestBody AirlineFileGroupInfoVO entity) {
|
||||
log.info("编辑航线文件信息请求: {}", entity);
|
||||
AirlineFileDTO dto = AirlineFileControllerConvert.to(entity.getAirlineFileVO());
|
||||
log.info("转换后的DTO: {}", dto);
|
||||
Long result = airlineFileService.update(dto);
|
||||
log.info("更新结果: {}", result);
|
||||
return success(result);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 长江口
|
||||
* 创建航线
|
||||
* <p>
|
||||
* kmz类似zip,一般情况下内部包含kml和wpml两个文件
|
||||
*
|
||||
* @param vo
|
||||
*/
|
||||
@RequiresPermissions("airline:file:parseAndUpload")
|
||||
@Log(title = "创建航线", businessType = BusinessType.UPDATE)
|
||||
@PostMapping("/parseAndUpload")
|
||||
// @RequiresPermissions("airline:file:parseAndUpload")
|
||||
// @Log(title = "创建航线", businessType = BusinessType.UPDATE)
|
||||
@PostMapping("/createOrUpdate")
|
||||
@Operation(summary = "编辑航线文件内容,生产航点新文件")
|
||||
public AjaxResult createOrUpdate(@RequestBody AirlineFileVO vo) {
|
||||
AirlineFileDTO airlineFile = AirlineFileControllerConvert.toDTO(vo);
|
||||
AirlineFileDTO airlineFile = AirlineFileControllerConvert.to(vo);
|
||||
try {
|
||||
return success(airlineFileService.createOrupdate(airlineFile));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -74,4 +77,15 @@ public class AirlineFileController extends BaseController {
|
|||
}
|
||||
}
|
||||
|
||||
@GetMapping("/{id}")
|
||||
@Operation(summary = "根据ID查询航线文件详情")
|
||||
public AjaxResult getById(@PathVariable Long id) {
|
||||
AirlineFileDTO dto = airlineFileService.selectById(id);
|
||||
if (dto == null) {
|
||||
return error("航线文件不存在");
|
||||
}
|
||||
AirlineFileVO vo = AirlineFileControllerConvert.from(dto);
|
||||
return success(vo);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -3,13 +3,13 @@ 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;
|
||||
import com.ruoyi.common.core.web.page.TableDataInfo;
|
||||
import com.ruoyi.common.log.annotation.Log;
|
||||
import com.ruoyi.common.log.enums.BusinessType;
|
||||
import com.ruoyi.common.security.annotation.RequiresPermissions;
|
||||
import com.ruoyi.common.security.utils.SecurityUtils;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
|
|
@ -25,7 +25,7 @@ import java.util.List;
|
|||
* @author 拓恒
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/airline/fileGroup")
|
||||
@RequestMapping("/fileGroup")
|
||||
@Tag(name = "航线分组管理")
|
||||
public class AirlineFileGroupController extends BaseController {
|
||||
|
||||
|
|
@ -40,13 +40,13 @@ public class AirlineFileGroupController extends BaseController {
|
|||
* @param airlineFileVO 查询条件
|
||||
* @return
|
||||
*/
|
||||
@RequiresPermissions("airline:group:list")
|
||||
// @RequiresPermissions("airline:group:list")
|
||||
@GetMapping()
|
||||
@Operation(summary = "获取所有的航线分组")
|
||||
@Operation(summary = "获取所有的航线分组")
|
||||
public TableDataInfo index(AirlineFileGroupVO airlineFileVO) {
|
||||
startPage();
|
||||
airlineFileVO.setUserId(SecurityUtils.getUserId());
|
||||
AirlineFileGroupDTO dto = AirlineFileGroupControllerConvert.toDTO(airlineFileVO);
|
||||
airlineFileVO.setCreateBy(String.valueOf(SecurityUtils.getUserId()));
|
||||
AirlineFileGroupDTO dto = AirlineFileGroupControllerConvert.to(airlineFileVO);
|
||||
List<AirlineFileGroupDTO> list = iAirlineFileGroupService.selectGroupList(dto);
|
||||
List<AirlineFileGroupVO> result = AirlineFileGroupControllerConvert.toApiDomainList(list);
|
||||
return getDataTable(result);
|
||||
|
|
@ -55,24 +55,24 @@ public class AirlineFileGroupController extends BaseController {
|
|||
/**
|
||||
* 根据分组编号获取详细信息
|
||||
*/
|
||||
@RequiresPermissions("airline:group:query")
|
||||
// @RequiresPermissions("airline:group:query")
|
||||
@GetMapping(value = "/{groupId}")
|
||||
@Operation(summary = "根据分组ID 获取分组详情信息")
|
||||
public AjaxResult getInfo(@PathVariable Long groupId) {
|
||||
@Operation(summary = "根据分组ID 获取分组详情信息")
|
||||
public AjaxResult getInfo(@PathVariable("groupId") Long groupId) {
|
||||
return success(iAirlineFileGroupService.selectAirLineListsByGroupId(SecurityUtils.getUserId(), groupId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增分组
|
||||
*/
|
||||
@RequiresPermissions("airline:group:add")
|
||||
@Log(title = "新增分组", businessType = BusinessType.INSERT)
|
||||
// @RequiresPermissions("airline:group:add")
|
||||
// @Log(title = "新增分组", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
@Operation(summary = "新增分组")
|
||||
@Operation(summary = "新增分组")
|
||||
public AjaxResult add(@Validated @RequestBody AirlineFileGroupVO group) {
|
||||
group.setUserId(SecurityUtils.getUserId());
|
||||
AirlineFileGroupDTO dto = AirlineFileGroupControllerConvert.toDTO(group);
|
||||
if (!iAirlineFileGroupService.checkGroupNameUnique(dto)) {
|
||||
group.setCreateBy(String.valueOf(SecurityUtils.getUserId()));
|
||||
AirlineFileGroupDTO dto = AirlineFileGroupControllerConvert.to(group);
|
||||
if (iAirlineFileGroupService.checkGroupNameUnique(dto)) {
|
||||
return error("新增分组'" + group.getGroupName() + "'失败,分组名称已存在");
|
||||
}
|
||||
return toAjax(iAirlineFileGroupService.insertGroup(dto));
|
||||
|
|
@ -81,14 +81,14 @@ public class AirlineFileGroupController extends BaseController {
|
|||
/**
|
||||
* 修改分组
|
||||
*/
|
||||
@RequiresPermissions("airline:group:edit")
|
||||
@Log(title = "修改分组", businessType = BusinessType.UPDATE)
|
||||
// @RequiresPermissions("airline:group:edit")
|
||||
// @Log(title = "修改分组", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
@Operation(summary = "修改分组")
|
||||
@Operation(summary = "修改分组")
|
||||
public AjaxResult edit(@Validated @RequestBody AirlineFileGroupVO group) {
|
||||
group.setUserId(SecurityUtils.getUserId());
|
||||
AirlineFileGroupDTO dto = AirlineFileGroupControllerConvert.toDTO(group);
|
||||
if (!iAirlineFileGroupService.checkGroupNameUnique(dto)) {
|
||||
group.setCreateBy(String.valueOf(SecurityUtils.getUserId()));
|
||||
AirlineFileGroupDTO dto = AirlineFileGroupControllerConvert.to(group);
|
||||
if (iAirlineFileGroupService.checkGroupNameUnique(dto)) {
|
||||
return error("修改分组'" + group.getGroupName() + "'失败,分组名称已存在");
|
||||
}
|
||||
return toAjax(iAirlineFileGroupService.updateGroup(dto));
|
||||
|
|
@ -97,12 +97,27 @@ public class AirlineFileGroupController extends BaseController {
|
|||
/**
|
||||
* 删除分组,前端校验分组下是否有航线弹出确认删除提示,如果确认会将分组及航线一起删除。
|
||||
*/
|
||||
@RequiresPermissions("airline:group:remove")
|
||||
@Log(title = "删除分组", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{groupId}")
|
||||
@Operation(summary = "删除分组")
|
||||
public AjaxResult remove(@PathVariable Long groupId) {
|
||||
// @RequiresPermissions("airline:group:remove")
|
||||
// @Log(title = "删除分组", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/delete/{groupId}")
|
||||
@Operation(summary = "删除分组")
|
||||
public AjaxResult removeByQueryParam(@PathVariable("groupId") Long groupId) {
|
||||
return toAjax(iAirlineFileGroupService.deletegroupById(SecurityUtils.getUserId(), groupId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据用户ID查询所有符合条件的航线(包含分组信息)
|
||||
*
|
||||
* @param dto 查询条件
|
||||
* @return 航线列表
|
||||
*/
|
||||
@PostMapping("/airlineList")
|
||||
@Operation(summary = "根据用户ID查询所有符合条件的航线")
|
||||
public TableDataInfo selectAirlineListByUserId(AirlineFileDTO dto) {
|
||||
startPage();
|
||||
dto.setCreateBy(String.valueOf(SecurityUtils.getUserId()));
|
||||
List<AirlineFileDTO> list = iAirlineFileGroupService.selectAirlineListByUserId(dto);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
package com.ruoyi.airline.controller;
|
||||
|
||||
import com.alibaba.nacos.client.naming.utils.CollectionUtils;
|
||||
import com.ruoyi.airline.api.domain.AirlineFileGroupInfoVO;
|
||||
import com.ruoyi.airline.api.domain.AirlineFileVO;
|
||||
import com.ruoyi.airline.controller.convert.AirlineFileControllerConvert;
|
||||
import com.ruoyi.airline.controller.convert.AirlineFileGroupInfoControllerConvert;
|
||||
import com.ruoyi.airline.service.api.IAirlineFileGroupInfoService;
|
||||
import com.ruoyi.airline.service.api.IAirlineFileService;
|
||||
|
|
@ -10,13 +13,12 @@ import com.ruoyi.common.core.exception.base.BaseException;
|
|||
import com.ruoyi.common.core.web.controller.BaseController;
|
||||
import com.ruoyi.common.core.web.domain.AjaxResult;
|
||||
import com.ruoyi.common.core.web.page.TableDataInfo;
|
||||
import com.ruoyi.common.security.annotation.RequiresPermissions;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
|
@ -25,7 +27,7 @@ import java.util.List;
|
|||
* @author 拓恒
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/airline/fileGroupInfo")
|
||||
@RequestMapping("/fileGroupInfo")
|
||||
@Tag(name = "分组航线管理")
|
||||
public class AirlineFileGroupInfoController extends BaseController {
|
||||
|
||||
|
|
@ -43,9 +45,26 @@ public class AirlineFileGroupInfoController extends BaseController {
|
|||
* @param groupId 分组ID
|
||||
* @return
|
||||
*/
|
||||
@RequiresPermissions("airline:groupInfo:list")
|
||||
@GetMapping()
|
||||
public TableDataInfo selectGroupInfoListById(Long groupId) {
|
||||
// @RequiresPermissions("airline:groupInfo:list")
|
||||
@GetMapping("/{groupId}")
|
||||
@Operation(summary = "编辑航线文件内容,生产航点新文件")
|
||||
public TableDataInfo selectGroupInfoListById(@PathVariable("groupId") Long groupId) {
|
||||
startPage();
|
||||
List<AirlineFileGroupInfoDTO> list = iAirlineFileGroupInfoService.selectGroupInfoListById(groupId);
|
||||
// List<AirlineFileGroupInfoVO> result = AirlineFileGroupInfoControllerConvert.fromList(list);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取航线文件分组列表,根据用户Id查询分组(使用查询参数)
|
||||
*
|
||||
* @param groupId 分组ID
|
||||
* @return
|
||||
*/
|
||||
// @RequiresPermissions("airline:groupInfo:list")
|
||||
@GetMapping
|
||||
@Operation(summary = "编辑航线文件内容,生产航点新文件")
|
||||
public TableDataInfo selectGroupInfoListByQueryId(@RequestParam("groupId") Long groupId) {
|
||||
startPage();
|
||||
List<AirlineFileGroupInfoDTO> list = iAirlineFileGroupInfoService.selectGroupInfoListById(groupId);
|
||||
List<AirlineFileGroupInfoVO> result = AirlineFileGroupInfoControllerConvert.toApiDomainList(list);
|
||||
|
|
@ -60,31 +79,141 @@ public class AirlineFileGroupInfoController extends BaseController {
|
|||
*
|
||||
* @param file
|
||||
*/
|
||||
@PostMapping("/parseAndUpload")
|
||||
public AjaxResult parseAndUpload(@RequestParam("file") MultipartFile file, Long groupId) throws IOException {
|
||||
AirlineFileDTO dto = iAirlineFileService.parseAndUplload(file);
|
||||
AirlineFileDTO result = iAirlineFileService.save(dto);
|
||||
@PostMapping("/parseAndUpload/{groupId}")
|
||||
@Operation(summary = " kmz航线文件,并转换成waypoint上传 ,仅仅返航URL")
|
||||
public AjaxResult parseAndUpload(@RequestParam("file") MultipartFile file, @PathVariable("groupId") Long groupId) throws BaseException {
|
||||
AirlineFileDTO dto = iAirlineFileService.parseAndUplload(file, groupId);
|
||||
AirlineFileGroupInfoDTO infoDTO = new AirlineFileGroupInfoDTO();
|
||||
infoDTO.setGroupId(groupId);
|
||||
infoDTO.setAirlineId(result.getId());
|
||||
return success(iAirlineFileGroupInfoService.save(infoDTO));
|
||||
infoDTO.setAirlineFileDTO(dto);
|
||||
AirlineFileDTO result = iAirlineFileGroupInfoService.save(infoDTO);
|
||||
return success(AirlineFileControllerConvert.from(result));
|
||||
}
|
||||
|
||||
/**
|
||||
* 在当前分组下添加初始航线(空的航线)
|
||||
*
|
||||
* @param vo 实体对象
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/add")
|
||||
public AjaxResult add(@RequestBody AirlineFileGroupInfoVO vo) throws IOException {
|
||||
@PostMapping()
|
||||
@Operation(summary = "在当前分组下添加初始航线,必须上传分组ID")
|
||||
public AjaxResult add(@RequestBody AirlineFileGroupInfoVO vo) throws BaseException {
|
||||
if (vo.getGroupId() == null) {
|
||||
throw new BaseException("分组ID不能为空");
|
||||
}
|
||||
AirlineFileGroupInfoDTO dto = AirlineFileGroupInfoControllerConvert.toDTO(vo);
|
||||
AirlineFileGroupInfoDTO result = iAirlineFileGroupInfoService.save(dto);
|
||||
return success(AirlineFileGroupInfoControllerConvert.toVO(result));
|
||||
AirlineFileGroupInfoDTO infoDTO = AirlineFileGroupInfoControllerConvert.to(vo);
|
||||
AirlineFileDTO result = iAirlineFileGroupInfoService.save(infoDTO);
|
||||
return success(AirlineFileControllerConvert.from(result));
|
||||
}
|
||||
|
||||
|
||||
/***
|
||||
* 删除分组详情
|
||||
* @param vo
|
||||
* @return
|
||||
* @throws BaseException
|
||||
*/
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "在当前分组下添加初始航线,必须上传分组ID")
|
||||
public AjaxResult delete(@RequestBody AirlineFileGroupInfoVO vo) throws BaseException {
|
||||
if (vo.getGroupId() == null) {
|
||||
throw new BaseException("分组ID不能为空");
|
||||
}
|
||||
AirlineFileGroupInfoDTO dto = AirlineFileGroupInfoControllerConvert.to(vo);
|
||||
Long result = iAirlineFileGroupInfoService.deleteGroupInfo(dto);
|
||||
if (result > 0) {
|
||||
return success(result);
|
||||
}
|
||||
throw new BaseException("删除失败");
|
||||
}
|
||||
|
||||
/***
|
||||
* 批量删除分组详情
|
||||
* @param airLineIds
|
||||
* @return
|
||||
* @throws BaseException
|
||||
*/
|
||||
@DeleteMapping("/batchDelete/{groupId}")
|
||||
@Operation(summary = "批量删除分组详情")
|
||||
public AjaxResult delete(@RequestBody List<Long> airLineIds, @PathVariable("groupId") Long groupId) throws BaseException {
|
||||
if (groupId == null) {
|
||||
throw new BaseException("分组ID不能为空");
|
||||
}
|
||||
if (CollectionUtils.isEmpty(airLineIds)) {
|
||||
throw new BaseException("没有需要删除的航线");
|
||||
}
|
||||
Long result = iAirlineFileGroupInfoService.deleteGroupInfoBatch(airLineIds, groupId);
|
||||
if (result > 0) {
|
||||
return success(result);
|
||||
}
|
||||
throw new BaseException("删除失败");
|
||||
}
|
||||
|
||||
/***
|
||||
* 移动分组详情到新分组
|
||||
* @param vo
|
||||
* @param groupId
|
||||
* @return
|
||||
* @throws BaseException
|
||||
*/
|
||||
|
||||
|
||||
@PostMapping("/move/{groupId}")
|
||||
@Operation(summary = "移动分组详情到新分组")
|
||||
public AjaxResult move(@RequestBody AirlineFileGroupInfoVO vo, @PathVariable("groupId") Long groupId) throws BaseException {
|
||||
AirlineFileGroupInfoDTO dto = AirlineFileGroupInfoControllerConvert.to(vo);
|
||||
Long result = iAirlineFileGroupInfoService.moveGroupInfo(
|
||||
dto, groupId
|
||||
);
|
||||
if (result > 0) {
|
||||
return success(result);
|
||||
}
|
||||
throw new BaseException("移动失败");
|
||||
}
|
||||
|
||||
@PostMapping("/move/{groupId}/{newGroupId}")
|
||||
@Operation(summary = "批量移动分组详情到新分组")
|
||||
public AjaxResult batchMove(@RequestBody List<Long> airlines, @PathVariable("groupId") Long groupId, @PathVariable("newGroupId") Long newGroupId) throws BaseException {
|
||||
if (groupId == null) {
|
||||
throw new BaseException("原分组ID不能为空");
|
||||
}
|
||||
if (newGroupId == null) {
|
||||
throw new BaseException("新分组ID不能为空");
|
||||
}
|
||||
if (CollectionUtils.isEmpty(airlines)) {
|
||||
throw new BaseException("没有需要移动的航线");
|
||||
}
|
||||
Long result = iAirlineFileGroupInfoService.batchMoveGroupInfo(
|
||||
airlines, groupId, newGroupId
|
||||
);
|
||||
if (result > 0) {
|
||||
return success(result);
|
||||
}
|
||||
throw new BaseException("移动失败");
|
||||
}
|
||||
|
||||
|
||||
// 增加根据分组下的航线id,进行批量导出,并且支持zip压缩上传到minos,将下载地址返回给前端
|
||||
|
||||
/**
|
||||
* 批量导出航线并上传到minio
|
||||
*
|
||||
* @param airLineIds 航线ID列表
|
||||
* @param groupId 分组ID
|
||||
* @return 下载地址
|
||||
* @throws BaseException
|
||||
*/
|
||||
@PostMapping("/batchExport/{groupId}")
|
||||
@Operation(summary = "批量导出航线并上传到minio")
|
||||
public AjaxResult batchExportAirlines(@RequestBody List<Long> airLineIds, @PathVariable("groupId") Long groupId) throws BaseException {
|
||||
if (groupId == null) {
|
||||
throw new BaseException("分组ID不能为空");
|
||||
}
|
||||
if (airLineIds == null || airLineIds.isEmpty()) {
|
||||
throw new BaseException("没有需要导出的航线");
|
||||
}
|
||||
String downloadUrl = iAirlineFileGroupInfoService.batchExportAirlines(airLineIds, groupId);
|
||||
return success(downloadUrl);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,154 @@
|
|||
package com.ruoyi.airline.controller;
|
||||
|
||||
import com.ruoyi.airline.api.domain.AirlineMarkerGroupDetailVO;
|
||||
import com.ruoyi.airline.api.domain.AirlineMarkerVO;
|
||||
import com.ruoyi.airline.controller.convert.AirlineMarkerControllerConvert;
|
||||
import com.ruoyi.airline.controller.convert.AirlineMarkerGroupDetailControllerConvert;
|
||||
import com.ruoyi.airline.service.api.IAirlineMarkerGroupInfoService;
|
||||
import com.ruoyi.airline.service.api.IAirlineMarkerService;
|
||||
import com.ruoyi.airline.service.dto.AirlineMarkerDTO;
|
||||
import com.ruoyi.airline.service.dto.AirlineMarkerGroupInfoDTO;
|
||||
import com.ruoyi.common.core.web.controller.BaseController;
|
||||
import com.ruoyi.common.core.web.domain.AjaxResult;
|
||||
import com.ruoyi.common.security.utils.SecurityUtils;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 标注管理
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/marker")
|
||||
@Tag(name = "标注管理")
|
||||
public class AirlineMarkerController extends BaseController {
|
||||
|
||||
|
||||
@Autowired
|
||||
private IAirlineMarkerService iAirlineMarkerService;
|
||||
|
||||
@Autowired
|
||||
private IAirlineMarkerGroupInfoService iAirlineMarkerGroupInfoService;
|
||||
|
||||
/**
|
||||
* 新增标注
|
||||
*/
|
||||
@PostMapping
|
||||
@Operation(summary = "新增标注")
|
||||
public AjaxResult add(@Validated @RequestBody AirlineMarkerVO marker) {
|
||||
marker.setCreateBy(SecurityUtils.getUserId().toString());
|
||||
marker.setUpdateBy(SecurityUtils.getUserId().toString());
|
||||
AirlineMarkerDTO dto = AirlineMarkerControllerConvert.to(marker);
|
||||
return toAjax(iAirlineMarkerGroupInfoService.insertMarker(dto));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除标注(软删除)
|
||||
*/
|
||||
@DeleteMapping("/{id}")
|
||||
@Operation(summary = "删除标注")
|
||||
public AjaxResult remove(@PathVariable Long id) {
|
||||
AirlineMarkerDTO dto = new AirlineMarkerDTO();
|
||||
dto.setId(id);
|
||||
dto.setUpdateBy(SecurityUtils.getUserId().toString());
|
||||
return toAjax(iAirlineMarkerGroupInfoService.deleteMarker(dto));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 修改标注
|
||||
*/
|
||||
@PutMapping
|
||||
@Operation(summary = "修改标注")
|
||||
public AjaxResult edit(@Validated @RequestBody AirlineMarkerVO marker) {
|
||||
marker.setUpdateBy(SecurityUtils.getUserId().toString());
|
||||
AirlineMarkerDTO dto = AirlineMarkerControllerConvert.to(marker);
|
||||
return toAjax(iAirlineMarkerService.updateMarker(dto));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 批量删除标注
|
||||
*
|
||||
* @param markerIds 标注ID列表
|
||||
* @return 删除结果
|
||||
*/
|
||||
@DeleteMapping("/batchDeleteMarker")
|
||||
@Operation(summary = "批量删除标注")
|
||||
public AjaxResult batchDeleteMarker(@RequestBody List<Long> markerIds) {
|
||||
if (markerIds == null || markerIds.isEmpty()) {
|
||||
return error("没有需要删除的标注");
|
||||
}
|
||||
int result = iAirlineMarkerGroupInfoService.batchDeleteMarker(markerIds);
|
||||
if (result > 0) {
|
||||
return success("删除成功,共删除 " + result + " 个标注");
|
||||
}
|
||||
return error("删除失败");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取用户下所有可用标注
|
||||
*/
|
||||
@GetMapping("/user-available")
|
||||
@Operation(summary = "获取用户下所有可用标注")
|
||||
public AjaxResult getUserAvailableMarkers(AirlineMarkerVO vo) {
|
||||
AirlineMarkerDTO dto = AirlineMarkerControllerConvert.to(vo);
|
||||
dto.setCreateBy(SecurityUtils.getUserId().toString());
|
||||
List<AirlineMarkerDTO> dtoList = iAirlineMarkerGroupInfoService.selectAllAvailableMarkers(dto);
|
||||
List<AirlineMarkerVO> result = AirlineMarkerControllerConvert.fromList(dtoList);
|
||||
return success(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取全部可用标注
|
||||
*/
|
||||
@GetMapping("/all-available")
|
||||
@Operation(summary = "获取全部可用标注")
|
||||
public AjaxResult getAllAvailableMarkers(AirlineMarkerVO vo) {
|
||||
AirlineMarkerDTO dto = AirlineMarkerControllerConvert.to(vo);
|
||||
dto.setStatus(1);
|
||||
List<AirlineMarkerDTO> dtoList = iAirlineMarkerGroupInfoService.selectAllAvailableMarkers(dto);
|
||||
List<AirlineMarkerVO> result = AirlineMarkerControllerConvert.fromList(dtoList);
|
||||
return success(result);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取标注详情
|
||||
*/
|
||||
@GetMapping("/{groupId}")
|
||||
@Operation(summary = "按照空域分组查询所有的标准信息")
|
||||
public AjaxResult getInfo(@PathVariable Long groupId) {
|
||||
AirlineMarkerGroupInfoDTO dto = iAirlineMarkerGroupInfoService.selectMarkersByGroupId(groupId);
|
||||
// 使用转换类进行转换
|
||||
AirlineMarkerGroupDetailVO result = AirlineMarkerGroupDetailControllerConvert.from(dto);
|
||||
return success(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量移动分组的接口
|
||||
*/
|
||||
@PostMapping("/move/{targetGroupId}")
|
||||
@Operation(summary = "批量移动标注到指定分组")
|
||||
public AjaxResult batchMoveToGroup(@RequestBody List<Long> markerIds, @PathVariable("targetGroupId") Long targetGroupId) {
|
||||
if (targetGroupId == null) {
|
||||
return error("目标分组ID不能为空");
|
||||
}
|
||||
if (markerIds == null || markerIds.isEmpty()) {
|
||||
return error("没有需要移动的标注");
|
||||
}
|
||||
int result = iAirlineMarkerGroupInfoService.batchMoveMarkersToGroup(markerIds, targetGroupId);
|
||||
if (result > 0) {
|
||||
return success("移动成功,共移动 " + result + " 个标注");
|
||||
}
|
||||
return error("移动失败");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,123 @@
|
|||
package com.ruoyi.airline.controller;
|
||||
|
||||
import com.ruoyi.airline.api.domain.AirlineMarkerGroupVO;
|
||||
import com.ruoyi.airline.api.domain.AirlineMarkerVO;
|
||||
import com.ruoyi.airline.controller.convert.AirlineMarkerControllerConvert;
|
||||
import com.ruoyi.airline.controller.convert.AirlineMarkerGroupControllerConvert;
|
||||
import com.ruoyi.airline.service.api.IAirlineMarkerGroupService;
|
||||
import com.ruoyi.airline.service.dto.AirlineMarkerDTO;
|
||||
import com.ruoyi.airline.service.dto.AirlineMarkerGroupDTO;
|
||||
import com.ruoyi.common.core.web.controller.BaseController;
|
||||
import com.ruoyi.common.core.web.domain.AjaxResult;
|
||||
import com.ruoyi.common.core.web.page.TableDataInfo;
|
||||
import com.ruoyi.common.security.utils.SecurityUtils;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 标注分组
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/markerGroup")
|
||||
@Tag(name = "标注分组管理")
|
||||
public class AirlineMarkerGroupController extends BaseController {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(AirlineMarkerGroupController.class);
|
||||
|
||||
@Autowired
|
||||
private IAirlineMarkerGroupService iAirlineMarkerGroupService;
|
||||
|
||||
/**
|
||||
* 获取标注分组列表
|
||||
*
|
||||
* @param markerGroupVO 查询条件
|
||||
*/
|
||||
@GetMapping()
|
||||
@Operation(summary = "获取所有的标注分组")
|
||||
public TableDataInfo index(AirlineMarkerGroupVO markerGroupVO) {
|
||||
startPage();
|
||||
AirlineMarkerGroupDTO dto = AirlineMarkerGroupControllerConvert.to(markerGroupVO);
|
||||
List<AirlineMarkerGroupDTO> list = iAirlineMarkerGroupService.selectGroupList(dto);
|
||||
List<AirlineMarkerGroupVO> result = AirlineMarkerGroupControllerConvert.toApiDomainList(list);
|
||||
return getDataTable(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增分组
|
||||
*/
|
||||
@PostMapping
|
||||
@Operation(summary = "新增分组")
|
||||
public AjaxResult add(@Validated @RequestBody AirlineMarkerGroupVO group) {
|
||||
group.setCreateBy(SecurityUtils.getUserId().toString());
|
||||
group.setUpdateBy(SecurityUtils.getUserId().toString());
|
||||
AirlineMarkerGroupDTO dto = AirlineMarkerGroupControllerConvert.to(group);
|
||||
if (iAirlineMarkerGroupService.checkGroupNameUnique(dto)) {
|
||||
return error("新增分组'" + group.getName() + "'失败,分组名称已存在");
|
||||
}
|
||||
return toAjax(iAirlineMarkerGroupService.insertGroup(dto));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改分组
|
||||
*/
|
||||
@PutMapping
|
||||
@Operation(summary = "修改分组")
|
||||
public AjaxResult edit(@Validated @RequestBody AirlineMarkerGroupVO group) {
|
||||
group.setUpdateBy(SecurityUtils.getUserId().toString());
|
||||
AirlineMarkerGroupDTO dto = AirlineMarkerGroupControllerConvert.to(group);
|
||||
if (iAirlineMarkerGroupService.checkGroupNameUnique(dto)) {
|
||||
return error("修改分组'" + group.getName() + "'失败,分组名称已存在");
|
||||
}
|
||||
return toAjax(iAirlineMarkerGroupService.updateGroup(dto));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除分组
|
||||
*/
|
||||
@DeleteMapping("/delete/{id}")
|
||||
@Operation(summary = "删除分组")
|
||||
public AjaxResult removeByQueryParam(@PathVariable Long id) {
|
||||
return toAjax(iAirlineMarkerGroupService.deleteGroupById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除分组
|
||||
*/
|
||||
@DeleteMapping("/batchDelete")
|
||||
@Operation(summary = "批量删除分组")
|
||||
public AjaxResult batchRemove(@RequestBody List<Long> groupIds) {
|
||||
return toAjax(iAirlineMarkerGroupService.batchDeleteGroup(groupIds));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据ID查询分组
|
||||
*/
|
||||
@GetMapping("/get/{id}")
|
||||
@Operation(summary = "根据ID查询分组")
|
||||
public AjaxResult getInfo(@PathVariable Long id) {
|
||||
AirlineMarkerGroupDTO dto = iAirlineMarkerGroupService.selectGroupById(id);
|
||||
AirlineMarkerGroupVO result = AirlineMarkerGroupControllerConvert.from(dto);
|
||||
return success(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 在指定分组下新增标注
|
||||
*/
|
||||
@PostMapping("/addMarker/{id}")
|
||||
@Operation(summary = "在指定分组下新增标注")
|
||||
public AjaxResult addMarker(@PathVariable Long id, @Validated @RequestBody AirlineMarkerVO marker) {
|
||||
marker.setCreateBy(SecurityUtils.getUserId().toString());
|
||||
marker.setUpdateBy(SecurityUtils.getUserId().toString());
|
||||
AirlineMarkerDTO dto = AirlineMarkerControllerConvert.to(marker);
|
||||
return toAjax(iAirlineMarkerGroupService.insertMarkerWithGroup(id, dto));
|
||||
}
|
||||
}
|
||||
|
|
@ -1,70 +0,0 @@
|
|||
package com.ruoyi.airline.controller;
|
||||
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.core.web.controller.BaseController;
|
||||
import com.ruoyi.common.core.web.domain.AjaxResult;
|
||||
import com.ruoyi.common.core.web.page.TableDataInfo;
|
||||
import com.ruoyi.common.security.annotation.InnerAuth;
|
||||
import com.ruoyi.airline.api.domain.AirlineTempVO;
|
||||
import com.ruoyi.airline.controller.convert.AirlineTempControllerConvert;
|
||||
import com.ruoyi.airline.service.api.IAirlineTempService;
|
||||
import com.ruoyi.airline.service.dto.AirlineTempDTO;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 航线临时表Controller
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2026-01-17
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/airline/temp")
|
||||
public class AirlineTempController extends BaseController
|
||||
{
|
||||
@Autowired
|
||||
private IAirlineTempService airlineTempService;
|
||||
|
||||
/**
|
||||
* 查询航线临时表列表
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(AirlineTempVO airlineTemp)
|
||||
{
|
||||
startPage();
|
||||
// API Domain → Service DTO
|
||||
AirlineTempDTO dto = AirlineTempControllerConvert.toDTO(airlineTemp);
|
||||
List<AirlineTempDTO> dtoList = airlineTempService.selectAirlineTempList(dto);
|
||||
// Service DTO → API Domain
|
||||
List<AirlineTempVO> list = AirlineTempControllerConvert.toApiDomainList(dtoList);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取航线临时表详细信息(内部调用)
|
||||
*/
|
||||
@InnerAuth
|
||||
@GetMapping(value = "/{id}")
|
||||
public R<AirlineTempVO> getAirlineById(@PathVariable("id") String id)
|
||||
{
|
||||
AirlineTempDTO dto = airlineTempService.selectAirlineTempById(id);
|
||||
AirlineTempVO airlineTemp = AirlineTempControllerConvert.toVO(dto);
|
||||
return R.ok(airlineTemp);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取航线临时表详细信息(外部调用)
|
||||
*/
|
||||
@GetMapping(value = "/info/{id}")
|
||||
public AjaxResult getInfo(@PathVariable("id") String id)
|
||||
{
|
||||
AirlineTempDTO dto = airlineTempService.selectAirlineTempById(id);
|
||||
AirlineTempVO airlineTemp = AirlineTempControllerConvert.toVO(dto);
|
||||
return success(airlineTemp);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
package com.ruoyi.airline.controller.convert;
|
||||
|
||||
import com.ruoyi.common.core.utils.BaseConvert;
|
||||
import com.ruoyi.airline.api.domain.AirLinePointVO;
|
||||
import com.ruoyi.airline.service.dto.AirLinePointDTO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 航线航点Controller转换类
|
||||
* 用于Controller层VO和Service层DTO之间的转换
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2026-01-26
|
||||
*/
|
||||
public class AirLinePointControllerConvert extends BaseConvert<AirLinePointDTO, AirLinePointVO>
|
||||
{
|
||||
|
||||
private static final AirLinePointControllerConvert INSTANCE = new AirLinePointControllerConvert();
|
||||
|
||||
private AirLinePointControllerConvert() {
|
||||
super(AirLinePointDTO.class, AirLinePointVO.class);
|
||||
}
|
||||
|
||||
public static AirLinePointVO from(AirLinePointDTO dto)
|
||||
{
|
||||
return INSTANCE.innerFrom(dto);
|
||||
}
|
||||
|
||||
public static AirLinePointDTO to(AirLinePointVO vo)
|
||||
{
|
||||
return INSTANCE.innerTo(vo);
|
||||
}
|
||||
|
||||
public static List<AirLinePointVO> fromList(List<AirLinePointDTO> dtoList)
|
||||
{
|
||||
return INSTANCE.innerFromList(dtoList);
|
||||
}
|
||||
|
||||
public static List<AirLinePointDTO> toList(List<AirLinePointVO> voList)
|
||||
{
|
||||
return INSTANCE.innerToList(voList);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,140 @@
|
|||
package com.ruoyi.airline.controller.convert;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.ruoyi.airline.api.domain.AirlineAreaVO;
|
||||
import com.ruoyi.airline.api.domain.AirlineAreaTimeRuleVO;
|
||||
import com.ruoyi.airline.controller.convert.AirlineAreaTimeRuleControllerConvert;
|
||||
import com.ruoyi.airline.service.dto.AirlineAreaDTO;
|
||||
import com.ruoyi.airline.service.dto.AirlineAreaTimeRuleDTO;
|
||||
import com.ruoyi.common.core.utils.BaseConvert;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 空域Controller转换类
|
||||
* 用于API VO和Service DTO之间的转换
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2026-02-25
|
||||
*/
|
||||
public class AirlineAreaControllerConvert extends BaseConvert<AirlineAreaDTO, AirlineAreaVO>
|
||||
{
|
||||
private static final Logger log = LoggerFactory.getLogger(AirlineAreaControllerConvert.class);
|
||||
private static final ObjectMapper objectMapper = new ObjectMapper();
|
||||
|
||||
private static final AirlineAreaControllerConvert INSTANCE = new AirlineAreaControllerConvert();
|
||||
|
||||
private AirlineAreaControllerConvert() {
|
||||
super(AirlineAreaDTO.class, AirlineAreaVO.class);
|
||||
}
|
||||
|
||||
public static AirlineAreaVO from(AirlineAreaDTO dto)
|
||||
{
|
||||
return INSTANCE.innerFrom(dto);
|
||||
}
|
||||
|
||||
public static AirlineAreaDTO to(AirlineAreaVO vo)
|
||||
{
|
||||
return INSTANCE.innerTo(vo);
|
||||
}
|
||||
|
||||
public static List<AirlineAreaVO> fromList(List<AirlineAreaDTO> dtoList)
|
||||
{
|
||||
return INSTANCE.innerFromList(dtoList);
|
||||
}
|
||||
|
||||
public static List<AirlineAreaDTO> toList(List<AirlineAreaVO> voList)
|
||||
{
|
||||
return INSTANCE.innerToList(voList);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected AirlineAreaVO innerFrom(AirlineAreaDTO dto) {
|
||||
if (dto == null) {
|
||||
return null;
|
||||
}
|
||||
AirlineAreaVO vo = new AirlineAreaVO();
|
||||
vo.setId(dto.getId());
|
||||
vo.setName(dto.getName());
|
||||
vo.setAreaType(dto.getAreaType());
|
||||
vo.setStatus(dto.getStatus());
|
||||
vo.setShape(dto.getShape());
|
||||
vo.setAreaArea(dto.getAreaArea());
|
||||
vo.setAreaPerimeter(dto.getAreaPerimeter());
|
||||
vo.setRadius(dto.getRadius());
|
||||
vo.setMinHeight(dto.getMinHeight());
|
||||
vo.setMaxHeight(dto.getMaxHeight());
|
||||
vo.setRemark(dto.getRemark());
|
||||
|
||||
// 转换时间规则列表
|
||||
if (dto.getTimeRules() != null && !dto.getTimeRules().isEmpty()) {
|
||||
List<AirlineAreaTimeRuleVO> timeRuleVOs = AirlineAreaTimeRuleControllerConvert.fromList(dto.getTimeRules());
|
||||
vo.setTimeRules(timeRuleVOs);
|
||||
}
|
||||
|
||||
// 将字符串转换为 List<PointInfo>
|
||||
if (dto.getPoints() != null && !dto.getPoints().isEmpty()) {
|
||||
try {
|
||||
List<AirlineAreaVO.PointInfo> pointsList = objectMapper.readValue(
|
||||
dto.getPoints(),
|
||||
objectMapper.getTypeFactory().constructCollectionType(List.class, AirlineAreaVO.PointInfo.class)
|
||||
);
|
||||
vo.setPoints(pointsList);
|
||||
} catch (JsonProcessingException e) {
|
||||
log.error("转换坐标点信息失败: {}", e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
return vo;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected AirlineAreaDTO innerTo(AirlineAreaVO vo) {
|
||||
if (vo == null) {
|
||||
return null;
|
||||
}
|
||||
log.info("AirlineAreaControllerConvert.innerTo - vo.getName(): {}, vo.getAreaType(): {}, vo.getStatus(): {}",
|
||||
vo.getName(), vo.getAreaType(), vo.getStatus());
|
||||
|
||||
AirlineAreaDTO dto = new AirlineAreaDTO();
|
||||
dto.setId(vo.getId());
|
||||
dto.setName(vo.getName());
|
||||
dto.setAreaType(vo.getAreaType());
|
||||
dto.setStatus(vo.getStatus());
|
||||
dto.setShape(vo.getShape());
|
||||
dto.setAreaArea(vo.getAreaArea());
|
||||
dto.setAreaPerimeter(vo.getAreaPerimeter());
|
||||
dto.setRadius(vo.getRadius());
|
||||
dto.setMinHeight(vo.getMinHeight());
|
||||
dto.setMaxHeight(vo.getMaxHeight());
|
||||
dto.setRemark(vo.getRemark());
|
||||
|
||||
// 转换时间规则列表
|
||||
if (vo.getTimeRules() != null && !vo.getTimeRules().isEmpty()) {
|
||||
List<AirlineAreaTimeRuleDTO> timeRuleDTOs = AirlineAreaTimeRuleControllerConvert.toList(vo.getTimeRules());
|
||||
dto.setTimeRules(timeRuleDTOs);
|
||||
}
|
||||
|
||||
// 将 List<PointInfo> 转换为字符串
|
||||
if (vo.getPoints() != null && !vo.getPoints().isEmpty()) {
|
||||
try {
|
||||
String pointsJson = objectMapper.writeValueAsString(vo.getPoints());
|
||||
dto.setPoints(pointsJson);
|
||||
} catch (JsonProcessingException e) {
|
||||
log.error("转换坐标点信息失败: {}", e.getMessage());
|
||||
dto.setPoints("[]"); // Default to empty array
|
||||
}
|
||||
} else {
|
||||
dto.setPoints("[]"); // Default to empty array
|
||||
}
|
||||
|
||||
log.info("AirlineAreaControllerConvert.innerTo - dto.getName(): {}, dto.getAreaType(): {}, dto.getStatus(): {}",
|
||||
dto.getName(), dto.getAreaType(), dto.getStatus());
|
||||
|
||||
return dto;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
package com.ruoyi.airline.controller.convert;
|
||||
|
||||
import com.ruoyi.airline.api.domain.AirlineAreaGroupVO;
|
||||
import com.ruoyi.airline.service.dto.AirlineAreaGroupDTO;
|
||||
import com.ruoyi.common.core.utils.BaseConvert;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 空域分组Controller转换类
|
||||
* 用于Controller VO和Service DTO之间的转换
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2026-02-25
|
||||
*/
|
||||
public class AirlineAreaGroupControllerConvert extends BaseConvert<AirlineAreaGroupDTO, AirlineAreaGroupVO>
|
||||
{
|
||||
|
||||
private static final AirlineAreaGroupControllerConvert INSTANCE = new AirlineAreaGroupControllerConvert();
|
||||
|
||||
private AirlineAreaGroupControllerConvert() {
|
||||
super(AirlineAreaGroupDTO.class, AirlineAreaGroupVO.class);
|
||||
}
|
||||
|
||||
public static AirlineAreaGroupVO from(AirlineAreaGroupDTO dto)
|
||||
{
|
||||
return INSTANCE.innerFrom(dto);
|
||||
}
|
||||
|
||||
public static AirlineAreaGroupDTO to(AirlineAreaGroupVO vo)
|
||||
{
|
||||
return INSTANCE.innerTo(vo);
|
||||
}
|
||||
|
||||
public static List<AirlineAreaGroupVO> fromList(List<AirlineAreaGroupDTO> dtoList)
|
||||
{
|
||||
return INSTANCE.innerFromList(dtoList);
|
||||
}
|
||||
|
||||
public static List<AirlineAreaGroupDTO> toList(List<AirlineAreaGroupVO> voList)
|
||||
{
|
||||
return INSTANCE.innerToList(voList);
|
||||
}
|
||||
|
||||
public static List<AirlineAreaGroupVO> toApiDomainList(List<AirlineAreaGroupDTO> dtoList) {
|
||||
if (dtoList == null) {
|
||||
return null;
|
||||
}
|
||||
return fromList(dtoList);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,81 @@
|
|||
package com.ruoyi.airline.controller.convert;
|
||||
|
||||
import com.ruoyi.airline.api.domain.AirlineAreaGroupDetailVO;
|
||||
import com.ruoyi.airline.service.dto.AirlineAreaDTO;
|
||||
import com.ruoyi.airline.service.dto.AirlineAreaGroupDTO;
|
||||
import com.ruoyi.common.core.utils.BaseConvert;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 空域分组详情Controller转换类
|
||||
* 用于Service DTO和API VO之间的转换
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2026-02-25
|
||||
*/
|
||||
public class AirlineAreaGroupDetailControllerConvert extends BaseConvert<AirlineAreaGroupDTO, AirlineAreaGroupDetailVO>
|
||||
{
|
||||
private static final Logger log = LoggerFactory.getLogger(AirlineAreaGroupDetailControllerConvert.class);
|
||||
|
||||
private static final AirlineAreaGroupDetailControllerConvert INSTANCE = new AirlineAreaGroupDetailControllerConvert();
|
||||
|
||||
private AirlineAreaGroupDetailControllerConvert() {
|
||||
super(AirlineAreaGroupDTO.class, AirlineAreaGroupDetailVO.class);
|
||||
}
|
||||
|
||||
public static AirlineAreaGroupDetailVO from(AirlineAreaGroupDTO dto)
|
||||
{
|
||||
return INSTANCE.innerFrom(dto);
|
||||
}
|
||||
|
||||
public static AirlineAreaGroupDTO to(AirlineAreaGroupDetailVO vo)
|
||||
{
|
||||
return INSTANCE.innerTo(vo);
|
||||
}
|
||||
|
||||
public static List<AirlineAreaGroupDetailVO> fromList(List<AirlineAreaGroupDTO> dtoList)
|
||||
{
|
||||
return INSTANCE.innerFromList(dtoList);
|
||||
}
|
||||
|
||||
public static List<AirlineAreaGroupDTO> toList(List<AirlineAreaGroupDetailVO> voList)
|
||||
{
|
||||
return INSTANCE.innerToList(voList);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected AirlineAreaGroupDetailVO innerFrom(AirlineAreaGroupDTO dto) {
|
||||
if (dto == null) {
|
||||
return null;
|
||||
}
|
||||
AirlineAreaGroupDetailVO result = new AirlineAreaGroupDetailVO();
|
||||
result.setGroupId(dto.getGroupId());
|
||||
|
||||
if (dto.getGroupInfos() != null && !dto.getGroupInfos().isEmpty()) {
|
||||
List<com.ruoyi.airline.api.domain.AirlineAreaVO> airspaceList = new ArrayList<>();
|
||||
for (AirlineAreaDTO area : dto.getGroupInfos()) {
|
||||
// 使用 AirlineAreaControllerConvert 进行转换
|
||||
com.ruoyi.airline.api.domain.AirlineAreaVO vo = AirlineAreaControllerConvert.from(area);
|
||||
airspaceList.add(vo);
|
||||
}
|
||||
result.setAirspaceList(airspaceList);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected AirlineAreaGroupDTO innerTo(AirlineAreaGroupDetailVO vo) {
|
||||
if (vo == null) {
|
||||
return null;
|
||||
}
|
||||
AirlineAreaGroupDTO dto = new AirlineAreaGroupDTO();
|
||||
dto.setGroupId(vo.getGroupId());
|
||||
// 这里不需要转换 airspaceList 到 groupInfos,因为通常是从服务层到控制层的转换
|
||||
return dto;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,146 @@
|
|||
package com.ruoyi.airline.controller.convert;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.ruoyi.airline.api.domain.AirlineAreaTimeRuleVO;
|
||||
import com.ruoyi.airline.service.dto.AirlineAreaTimeRuleDTO;
|
||||
import com.ruoyi.common.core.utils.BaseConvert;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 空域时间规则 Controller 转换类
|
||||
* 用于 API VO 和 Service DTO 之间的转换
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
public class AirlineAreaTimeRuleControllerConvert extends BaseConvert<AirlineAreaTimeRuleDTO, AirlineAreaTimeRuleVO>
|
||||
{
|
||||
private static final Logger log = LoggerFactory.getLogger(AirlineAreaTimeRuleControllerConvert.class);
|
||||
private static final ObjectMapper objectMapper = new ObjectMapper();
|
||||
|
||||
private static final AirlineAreaTimeRuleControllerConvert INSTANCE = new AirlineAreaTimeRuleControllerConvert();
|
||||
|
||||
private AirlineAreaTimeRuleControllerConvert() {
|
||||
super(AirlineAreaTimeRuleDTO.class, AirlineAreaTimeRuleVO.class);
|
||||
}
|
||||
|
||||
public static AirlineAreaTimeRuleVO from(AirlineAreaTimeRuleDTO dto)
|
||||
{
|
||||
return INSTANCE.innerFrom(dto);
|
||||
}
|
||||
|
||||
public static AirlineAreaTimeRuleDTO to(AirlineAreaTimeRuleVO vo)
|
||||
{
|
||||
return INSTANCE.innerTo(vo);
|
||||
}
|
||||
|
||||
public static List<AirlineAreaTimeRuleVO> fromList(List<AirlineAreaTimeRuleDTO> dtoList)
|
||||
{
|
||||
return INSTANCE.innerFromList(dtoList);
|
||||
}
|
||||
|
||||
public static List<AirlineAreaTimeRuleDTO> toList(List<AirlineAreaTimeRuleVO> voList)
|
||||
{
|
||||
return INSTANCE.innerToList(voList);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected AirlineAreaTimeRuleVO innerFrom(AirlineAreaTimeRuleDTO dto) {
|
||||
if (dto == null) {
|
||||
return null;
|
||||
}
|
||||
AirlineAreaTimeRuleVO vo = new AirlineAreaTimeRuleVO();
|
||||
vo.setId(dto.getId());
|
||||
vo.setAreaId(dto.getAreaId());
|
||||
vo.setRestrictType(dto.getRestrictType());
|
||||
vo.setGranularity(dto.getGranularity());
|
||||
vo.setRepetFrequency(dto.getRepetFrequency());
|
||||
vo.setRemark(dto.getRemark());
|
||||
|
||||
// 将字符串转换为 Object
|
||||
if (dto.getDateRange() != null && !dto.getDateRange().isEmpty()) {
|
||||
try {
|
||||
Object dateRange = objectMapper.readValue(dto.getDateRange(), Object.class);
|
||||
vo.setDateRange(dateRange);
|
||||
} catch (JsonProcessingException e) {
|
||||
log.error("转换日期范围失败: {}", e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
if (dto.getTimeRange() != null && !dto.getTimeRange().isEmpty()) {
|
||||
try {
|
||||
Object timeRange = objectMapper.readValue(dto.getTimeRange(), Object.class);
|
||||
vo.setTimeRange(timeRange);
|
||||
} catch (JsonProcessingException e) {
|
||||
log.error("转换时间范围失败: {}", e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
if (dto.getGranularityTimes() != null && !dto.getGranularityTimes().isEmpty()) {
|
||||
try {
|
||||
Object granularityTimes = objectMapper.readValue(dto.getGranularityTimes(), Object.class);
|
||||
vo.setGranularityTimes(granularityTimes);
|
||||
} catch (JsonProcessingException e) {
|
||||
log.error("转换重复粒度具体时间失败: {}", e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
return vo;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected AirlineAreaTimeRuleDTO innerTo(AirlineAreaTimeRuleVO vo) {
|
||||
if (vo == null) {
|
||||
return null;
|
||||
}
|
||||
AirlineAreaTimeRuleDTO dto = new AirlineAreaTimeRuleDTO();
|
||||
dto.setId(vo.getId());
|
||||
dto.setAreaId(vo.getAreaId());
|
||||
dto.setRestrictType(vo.getRestrictType());
|
||||
dto.setGranularity(vo.getGranularity());
|
||||
dto.setRepetFrequency(vo.getRepetFrequency());
|
||||
dto.setRemark(vo.getRemark());
|
||||
|
||||
// 将 Object 转换为字符串
|
||||
if (vo.getDateRange() != null) {
|
||||
try {
|
||||
String dateRangeJson = objectMapper.writeValueAsString(vo.getDateRange());
|
||||
dto.setDateRange(dateRangeJson);
|
||||
} catch (JsonProcessingException e) {
|
||||
log.error("转换日期范围失败: {}", e.getMessage());
|
||||
dto.setDateRange("[]"); // Default to empty array
|
||||
}
|
||||
} else {
|
||||
dto.setDateRange("[]"); // Default to empty array
|
||||
}
|
||||
|
||||
if (vo.getTimeRange() != null) {
|
||||
try {
|
||||
String timeRangeJson = objectMapper.writeValueAsString(vo.getTimeRange());
|
||||
dto.setTimeRange(timeRangeJson);
|
||||
} catch (JsonProcessingException e) {
|
||||
log.error("转换时间范围失败: {}", e.getMessage());
|
||||
dto.setTimeRange("[]"); // Default to empty array
|
||||
}
|
||||
} else {
|
||||
dto.setTimeRange("[]"); // Default to empty array
|
||||
}
|
||||
|
||||
if (vo.getGranularityTimes() != null) {
|
||||
try {
|
||||
String granularityTimesJson = objectMapper.writeValueAsString(vo.getGranularityTimes());
|
||||
dto.setGranularityTimes(granularityTimesJson);
|
||||
} catch (JsonProcessingException e) {
|
||||
log.error("转换重复粒度具体时间失败: {}", e.getMessage());
|
||||
dto.setGranularityTimes("[]"); // Default to empty array
|
||||
}
|
||||
} else {
|
||||
dto.setGranularityTimes("[]"); // Default to empty array
|
||||
}
|
||||
|
||||
return dto;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,95 +1,43 @@
|
|||
package com.ruoyi.airline.controller.convert;
|
||||
|
||||
import com.ruoyi.common.core.utils.BaseConvert;
|
||||
import com.ruoyi.airline.api.domain.AirlineDataVO;
|
||||
import com.ruoyi.airline.service.dto.AirlineDataDTO;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 航线数据Controller转换类
|
||||
* 用于Controller VO和Service DTO之间的转换
|
||||
*
|
||||
* @author ruoyi
|
||||
* @author 拓恒
|
||||
* @date 2026-01-17
|
||||
*/
|
||||
public class AirlineDataControllerConvert
|
||||
public class AirlineDataControllerConvert extends BaseConvert<AirlineDataDTO, AirlineDataVO>
|
||||
{
|
||||
/**
|
||||
* 将Service DTO转换为Controller VO
|
||||
*
|
||||
* @param dto Service DTO
|
||||
* @return Controller VO
|
||||
*/
|
||||
public static AirlineDataVO toVO(AirlineDataDTO dto)
|
||||
{
|
||||
if (dto == null) {
|
||||
return null;
|
||||
}
|
||||
AirlineDataVO vo = new AirlineDataVO();
|
||||
vo.setId(dto.getId());
|
||||
vo.setFlightNumber(dto.getFlightNumber());
|
||||
vo.setDepartureCity(dto.getDepartureCity());
|
||||
vo.setArrivalCity(dto.getArrivalCity());
|
||||
vo.setAirspeed(dto.getAirspeed());
|
||||
vo.setVelocity(dto.getVelocity());
|
||||
vo.setVspeed(dto.getVspeed());
|
||||
vo.setHspeed(dto.getHspeed());
|
||||
return vo;
|
||||
private static final AirlineDataControllerConvert INSTANCE = new AirlineDataControllerConvert();
|
||||
|
||||
private AirlineDataControllerConvert() {
|
||||
super(AirlineDataDTO.class, AirlineDataVO.class);
|
||||
}
|
||||
|
||||
/**
|
||||
* 将Controller VO转换为Service DTO
|
||||
*
|
||||
* @param vo Controller VO
|
||||
* @return Service DTO
|
||||
*/
|
||||
public static AirlineDataDTO toDTO(AirlineDataVO vo)
|
||||
public static AirlineDataVO from(AirlineDataDTO dto)
|
||||
{
|
||||
if (vo == null) {
|
||||
return null;
|
||||
}
|
||||
AirlineDataDTO dto = new AirlineDataDTO();
|
||||
dto.setId(vo.getId());
|
||||
dto.setFlightNumber(vo.getFlightNumber());
|
||||
dto.setDepartureCity(vo.getDepartureCity());
|
||||
dto.setArrivalCity(vo.getArrivalCity());
|
||||
dto.setAirspeed(vo.getAirspeed());
|
||||
dto.setVelocity(vo.getVelocity());
|
||||
dto.setVspeed(vo.getVspeed());
|
||||
dto.setHspeed(vo.getHspeed());
|
||||
return dto;
|
||||
return INSTANCE.innerFrom(dto);
|
||||
}
|
||||
|
||||
/**
|
||||
* 将Service DTO列表转换为Controller VO列表
|
||||
*
|
||||
* @param dtoList Service DTO列表
|
||||
* @return Controller VO列表
|
||||
*/
|
||||
public static List<AirlineDataVO> toVOList(List<AirlineDataDTO> dtoList)
|
||||
public static AirlineDataDTO to(AirlineDataVO vo)
|
||||
{
|
||||
if (dtoList == null || dtoList.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
return dtoList.stream()
|
||||
.map(AirlineDataControllerConvert::toVO)
|
||||
.collect(Collectors.toList());
|
||||
return INSTANCE.innerTo(vo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 将Controller VO列表转换为Service DTO列表
|
||||
*
|
||||
* @param voList Controller VO列表
|
||||
* @return Service DTO列表
|
||||
*/
|
||||
public static List<AirlineDataDTO> toDTOList(List<AirlineDataVO> voList)
|
||||
public static List<AirlineDataVO> fromList(List<AirlineDataDTO> dtoList)
|
||||
{
|
||||
if (voList == null || voList.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
return voList.stream()
|
||||
.map(AirlineDataControllerConvert::toDTO)
|
||||
.collect(Collectors.toList());
|
||||
return INSTANCE.innerFromList(dtoList);
|
||||
}
|
||||
|
||||
public static List<AirlineDataDTO> toList(List<AirlineDataVO> voList)
|
||||
{
|
||||
return INSTANCE.innerToList(voList);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,7 +1,11 @@
|
|||
package com.ruoyi.airline.controller.convert;
|
||||
|
||||
import com.ruoyi.airline.api.domain.AirLinePointVO;
|
||||
import com.ruoyi.airline.api.domain.AirlineFileVO;
|
||||
import com.ruoyi.airline.service.dto.AirLinePointDTO;
|
||||
import com.ruoyi.airline.service.dto.AirlineFileDTO;
|
||||
import com.ruoyi.common.core.utils.BaseConvert;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
|
@ -13,78 +17,52 @@ import java.util.stream.Collectors;
|
|||
* @author 拓恒
|
||||
* @date 2026-01-17
|
||||
*/
|
||||
public class AirlineFileControllerConvert {
|
||||
public class AirlineFileControllerConvert extends BaseConvert<AirlineFileDTO, AirlineFileVO>
|
||||
{
|
||||
|
||||
/**
|
||||
* 将Service DTO转换为Controller VO
|
||||
*
|
||||
* @param dto Service DTO
|
||||
* @return Controller VO
|
||||
*/
|
||||
public static AirlineFileVO toVO(AirlineFileDTO dto) {
|
||||
if (dto == null) {
|
||||
return null;
|
||||
}
|
||||
AirlineFileVO vo = new AirlineFileVO();
|
||||
vo.setId(dto.getId());
|
||||
vo.setFileName(dto.getFileName());
|
||||
vo.setFileUrl(dto.getFileUrl());
|
||||
vo.setType(dto.getType());
|
||||
vo.setLinePointDtoList(dto.getLinePointDtoList());
|
||||
vo.setStatus(dto.getStatus());
|
||||
vo.setDjiRthAltitude(dto.getDjiRthAltitude());
|
||||
return vo;
|
||||
private static final AirlineFileControllerConvert INSTANCE = new AirlineFileControllerConvert();
|
||||
|
||||
private AirlineFileControllerConvert() {
|
||||
super(AirlineFileDTO.class, AirlineFileVO.class);
|
||||
}
|
||||
|
||||
/**
|
||||
* 将Controller VO转换为Service DTO
|
||||
*
|
||||
* @param vo Controller VO
|
||||
* @return Service DTO
|
||||
*/
|
||||
public static AirlineFileDTO toDTO(AirlineFileVO vo) {
|
||||
public static AirlineFileVO from(AirlineFileDTO dto)
|
||||
{
|
||||
return INSTANCE.innerFrom(dto);
|
||||
}
|
||||
|
||||
public static AirlineFileDTO to(AirlineFileVO vo)
|
||||
{
|
||||
if (vo == null) {
|
||||
return null;
|
||||
}
|
||||
AirlineFileDTO dto = new AirlineFileDTO();
|
||||
dto.setId(vo.getId());
|
||||
dto.setFileName(vo.getFileName());
|
||||
dto.setFileUrl(vo.getFileUrl());
|
||||
dto.setType(vo.getType());
|
||||
dto.setLinePointDtoList(vo.getLinePointDtoList());
|
||||
dto.setStatus(vo.getStatus());
|
||||
dto.setDjiRthAltitude(vo.getDjiRthAltitude());
|
||||
BeanUtils.copyProperties(vo, dto);
|
||||
if (vo.getLinePointVOList() != null) {
|
||||
dto.setLinePointDtoList(vo.getLinePointVOList().stream()
|
||||
.map(AirlineFileControllerConvert::convertPoint)
|
||||
.collect(Collectors.toList()));
|
||||
}
|
||||
return dto;
|
||||
}
|
||||
|
||||
/**
|
||||
* 将Service DTO列表转换为Controller VO列表
|
||||
*
|
||||
* @param dtoList Service DTO列表
|
||||
* @return Controller VO列表
|
||||
*/
|
||||
public static List<AirlineFileVO> toVOList(List<AirlineFileDTO> dtoList) {
|
||||
if (dtoList == null || dtoList.isEmpty()) {
|
||||
private static AirLinePointDTO convertPoint(AirLinePointVO vo) {
|
||||
if (vo == null) {
|
||||
return null;
|
||||
}
|
||||
return dtoList.stream()
|
||||
.map(AirlineFileControllerConvert::toVO)
|
||||
.collect(Collectors.toList());
|
||||
AirLinePointDTO dto = new AirLinePointDTO();
|
||||
BeanUtils.copyProperties(vo, dto);
|
||||
return dto;
|
||||
}
|
||||
|
||||
/**
|
||||
* 将Controller VO列表转换为Service DTO列表
|
||||
*
|
||||
* @param voList Controller VO列表
|
||||
* @return Service DTO列表
|
||||
*/
|
||||
public static List<AirlineFileDTO> toDTOList(List<AirlineFileVO> voList) {
|
||||
if (voList == null || voList.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
return voList.stream()
|
||||
.map(AirlineFileControllerConvert::toDTO)
|
||||
.collect(Collectors.toList());
|
||||
public static List<AirlineFileVO> fromList(List<AirlineFileDTO> dtoList)
|
||||
{
|
||||
return INSTANCE.innerFromList(dtoList);
|
||||
}
|
||||
|
||||
public static List<AirlineFileDTO> toList(List<AirlineFileVO> voList)
|
||||
{
|
||||
return INSTANCE.innerToList(voList);
|
||||
}
|
||||
|
||||
public static List<AirlineFileVO> toApiDomainList(List<AirlineFileDTO> dtoList) {
|
||||
|
|
@ -92,6 +70,6 @@ public class AirlineFileControllerConvert {
|
|||
{
|
||||
return null;
|
||||
}
|
||||
return dtoList.stream().map(AirlineFileControllerConvert::toVO).collect(Collectors.toList());
|
||||
return fromList(dtoList);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,103 +1,51 @@
|
|||
package com.ruoyi.airline.controller.convert;
|
||||
|
||||
import com.ruoyi.airline.api.domain.AirlineFileGroupVO;
|
||||
import com.ruoyi.airline.api.domain.AirlineFileVO;
|
||||
import com.ruoyi.airline.service.dto.AirlineFileDTO;
|
||||
import com.ruoyi.airline.service.dto.AirlineFileGroupDTO;
|
||||
import com.ruoyi.common.core.utils.BaseConvert;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 航线文件分组Domain转换类
|
||||
* 用于Domain模型和Mapper实体之间的转换
|
||||
*
|
||||
* @author ruoyi
|
||||
* @author 拓恒
|
||||
* @date 2026-01-17
|
||||
*/
|
||||
public class AirlineFileGroupControllerConvert {
|
||||
public class AirlineFileGroupControllerConvert extends BaseConvert<AirlineFileGroupDTO, AirlineFileGroupVO> {
|
||||
|
||||
/**
|
||||
* 将Service DTO转换为Controller VO
|
||||
*
|
||||
* @param dto Service DTO
|
||||
* @return Controller VO
|
||||
*/
|
||||
public static AirlineFileGroupVO toVO(AirlineFileGroupDTO dto) {
|
||||
if (dto == null) {
|
||||
return null;
|
||||
}
|
||||
AirlineFileGroupVO vo = new AirlineFileGroupVO();
|
||||
vo.setGroupId(dto.getGroupId());
|
||||
vo.setGroupName(dto.getGroupName());
|
||||
vo.setUserId(dto.getUserId());
|
||||
vo.setCreateBy(dto.getCreateBy());
|
||||
vo.setCreateTime(dto.getCreateTime());
|
||||
vo.setUpdateBy(dto.getUpdateBy());
|
||||
vo.setUpdateTime(dto.getUpdateTime());
|
||||
vo.setRemark(dto.getRemark());
|
||||
private static final AirlineFileGroupControllerConvert INSTANCE = new AirlineFileGroupControllerConvert();
|
||||
|
||||
private AirlineFileGroupControllerConvert() {
|
||||
super(AirlineFileGroupDTO.class, AirlineFileGroupVO.class);
|
||||
}
|
||||
|
||||
public static AirlineFileGroupVO from(AirlineFileGroupDTO dto) {
|
||||
AirlineFileGroupVO vo = INSTANCE.innerFrom(dto);
|
||||
vo.setGroupInfos(AirlineFileControllerConvert.fromList(dto.getGroupInfos()));
|
||||
return vo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 将Controller VO转换为Service DTO
|
||||
*
|
||||
* @param vo Controller VO
|
||||
* @return Service DTO
|
||||
*/
|
||||
public static AirlineFileGroupDTO toDTO(AirlineFileGroupVO vo) {
|
||||
if (vo == null) {
|
||||
return null;
|
||||
}
|
||||
AirlineFileGroupDTO dto = new AirlineFileGroupDTO();
|
||||
dto.setGroupId(vo.getGroupId());
|
||||
dto.setGroupName(vo.getGroupName());
|
||||
dto.setUserId(vo.getUserId());
|
||||
dto.setCreateBy(vo.getCreateBy());
|
||||
dto.setCreateTime(vo.getCreateTime());
|
||||
dto.setUpdateBy(vo.getUpdateBy());
|
||||
dto.setUpdateTime(vo.getUpdateTime());
|
||||
dto.setRemark(vo.getRemark());
|
||||
public static AirlineFileGroupDTO to(AirlineFileGroupVO vo) {
|
||||
AirlineFileGroupDTO dto = INSTANCE.innerTo(vo);
|
||||
dto.setGroupInfos(AirlineFileControllerConvert.toList(vo.getGroupInfos()));
|
||||
return dto;
|
||||
}
|
||||
|
||||
/**
|
||||
* 将Service DTO列表转换为Controller VO列表
|
||||
*
|
||||
* @param dtoList Service DTO列表
|
||||
* @return Controller VO列表
|
||||
*/
|
||||
public static List<AirlineFileGroupVO> toVOList(List<AirlineFileGroupDTO> dtoList) {
|
||||
if (dtoList == null || dtoList.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
return dtoList.stream()
|
||||
.map(AirlineFileGroupControllerConvert::toVO)
|
||||
.collect(Collectors.toList());
|
||||
public static List<AirlineFileGroupVO> fromList(List<AirlineFileGroupDTO> dtoList) {
|
||||
return INSTANCE.innerFromList(dtoList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 将Controller VO列表转换为Service DTO列表
|
||||
*
|
||||
* @param voList Controller VO列表
|
||||
* @return Service DTO列表
|
||||
*/
|
||||
public static List<AirlineFileGroupDTO> toDTOList(List<AirlineFileGroupVO> voList) {
|
||||
if (voList == null || voList.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
return voList.stream()
|
||||
.map(AirlineFileGroupControllerConvert::toDTO)
|
||||
.collect(Collectors.toList());
|
||||
public static List<AirlineFileGroupDTO> toList(List<AirlineFileGroupVO> voList) {
|
||||
return INSTANCE.innerToList(voList);
|
||||
}
|
||||
|
||||
|
||||
public static List<AirlineFileGroupVO> toApiDomainList(List<AirlineFileGroupDTO> dtoList) {
|
||||
if (dtoList == null)
|
||||
{
|
||||
public static List<AirlineFileGroupVO> toApiDomainList(List<AirlineFileGroupDTO> dtoList) {
|
||||
if (dtoList == null) {
|
||||
return null;
|
||||
}
|
||||
return dtoList.stream().map(AirlineFileGroupControllerConvert::toVO).collect(Collectors.toList());
|
||||
return fromList(dtoList);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,13 +1,14 @@
|
|||
package com.ruoyi.airline.controller.convert;
|
||||
|
||||
|
||||
import com.ruoyi.common.core.utils.BaseConvert;
|
||||
import com.ruoyi.airline.api.domain.AirlineFileGroupInfoVO;
|
||||
import com.ruoyi.airline.api.domain.AirlineFileGroupVO;
|
||||
import com.ruoyi.airline.service.convert.AirlineFileServiceConvert;
|
||||
import com.ruoyi.airline.service.dto.AirlineFileGroupDTO;
|
||||
import com.ruoyi.airline.service.dto.AirlineFileGroupInfoDTO;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 航线文件Domain转换类
|
||||
|
|
@ -16,86 +17,44 @@ import java.util.stream.Collectors;
|
|||
* @author ruoyi
|
||||
* @date 2026-01-17
|
||||
*/
|
||||
public class AirlineFileGroupInfoControllerConvert {
|
||||
public class AirlineFileGroupInfoControllerConvert extends BaseConvert<AirlineFileGroupInfoDTO, AirlineFileGroupInfoVO>
|
||||
{
|
||||
|
||||
/**
|
||||
* 将Service DTO转换为Controller VO
|
||||
*
|
||||
* @param dto Service DTO
|
||||
* @return Controller VO
|
||||
*/
|
||||
public static AirlineFileGroupInfoVO toVO(AirlineFileGroupInfoDTO dto) {
|
||||
if (dto == null) {
|
||||
return null;
|
||||
}
|
||||
AirlineFileGroupInfoVO vo = new AirlineFileGroupInfoVO();
|
||||
vo.setId(dto.getId());
|
||||
vo.setGroupId(dto.getGroupId());
|
||||
vo.setCreateBy(dto.getCreateBy());
|
||||
vo.setCreateTime(dto.getCreateTime());
|
||||
vo.setUpdateBy(dto.getUpdateBy());
|
||||
vo.setUpdateTime(dto.getUpdateTime());
|
||||
vo.setRemark(dto.getRemark());
|
||||
return vo;
|
||||
private static final AirlineFileGroupInfoControllerConvert INSTANCE = new AirlineFileGroupInfoControllerConvert();
|
||||
|
||||
private AirlineFileGroupInfoControllerConvert() {
|
||||
super(AirlineFileGroupInfoDTO.class, AirlineFileGroupInfoVO.class);
|
||||
}
|
||||
|
||||
/**
|
||||
* 将Controller VO转换为Service DTO
|
||||
*
|
||||
* @param vo Controller VO
|
||||
* @return Service DTO
|
||||
*/
|
||||
public static AirlineFileGroupInfoDTO toDTO(AirlineFileGroupInfoVO vo) {
|
||||
if (vo == null) {
|
||||
return null;
|
||||
}
|
||||
AirlineFileGroupInfoDTO dto = new AirlineFileGroupInfoDTO();
|
||||
dto.setId(vo.getId());
|
||||
dto.setGroupId(vo.getGroupId());
|
||||
dto.setCreateBy(vo.getCreateBy());
|
||||
dto.setCreateTime(vo.getCreateTime());
|
||||
dto.setUpdateBy(vo.getUpdateBy());
|
||||
dto.setUpdateTime(vo.getUpdateTime());
|
||||
dto.setRemark(vo.getRemark());
|
||||
public static AirlineFileGroupInfoVO from(AirlineFileGroupInfoDTO dto)
|
||||
{
|
||||
AirlineFileGroupInfoVO vo = INSTANCE.innerFrom(dto);
|
||||
vo.setAirlineFileVO(AirlineFileControllerConvert.from(dto.getAirlineFileDTO()));
|
||||
return vo;
|
||||
}
|
||||
|
||||
public static AirlineFileGroupInfoDTO to(AirlineFileGroupInfoVO vo)
|
||||
{
|
||||
AirlineFileGroupInfoDTO dto = INSTANCE.innerTo(vo);
|
||||
dto.setAirlineFileDTO(AirlineFileControllerConvert.to(vo.getAirlineFileVO()));
|
||||
return dto;
|
||||
}
|
||||
|
||||
/**
|
||||
* 将Service DTO列表转换为Controller VO列表
|
||||
*
|
||||
* @param dtoList Service DTO列表
|
||||
* @return Controller VO列表
|
||||
*/
|
||||
public static List<AirlineFileGroupInfoVO> toVOList(List<AirlineFileGroupInfoDTO> dtoList) {
|
||||
if (dtoList == null || dtoList.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
return dtoList.stream()
|
||||
.map(AirlineFileGroupInfoControllerConvert::toVO)
|
||||
.collect(Collectors.toList());
|
||||
public static List<AirlineFileGroupInfoVO> fromList(List<AirlineFileGroupInfoDTO> dtoList)
|
||||
{
|
||||
return INSTANCE.innerFromList(dtoList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 将Controller VO列表转换为Service DTO列表
|
||||
*
|
||||
* @param voList Controller VO列表
|
||||
* @return Service DTO列表
|
||||
*/
|
||||
public static List<AirlineFileGroupInfoDTO> toDTOList(List<AirlineFileGroupInfoVO> voList) {
|
||||
if (voList == null || voList.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
return voList.stream()
|
||||
.map(AirlineFileGroupInfoControllerConvert::toDTO)
|
||||
.collect(Collectors.toList());
|
||||
public static List<AirlineFileGroupInfoDTO> toList(List<AirlineFileGroupInfoVO> voList)
|
||||
{
|
||||
return INSTANCE.innerToList(voList);
|
||||
}
|
||||
|
||||
|
||||
public static List<AirlineFileGroupInfoVO> toApiDomainList(List<AirlineFileGroupInfoDTO> dtoList) {
|
||||
if (dtoList == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return dtoList.stream().map(AirlineFileGroupInfoControllerConvert::toVO).collect(Collectors.toList());
|
||||
return fromList(dtoList);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,115 @@
|
|||
package com.ruoyi.airline.controller.convert;
|
||||
|
||||
import com.ruoyi.airline.api.domain.AirlineMarkerVO;
|
||||
import com.ruoyi.airline.service.dto.AirlineMarkerDTO;
|
||||
import com.ruoyi.common.core.utils.BaseConvert;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 标注Controller转换类
|
||||
* 用于API VO和Service DTO之间的转换
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
public class AirlineMarkerControllerConvert extends BaseConvert<AirlineMarkerDTO, AirlineMarkerVO>
|
||||
{
|
||||
private static final Logger log = LoggerFactory.getLogger(AirlineMarkerControllerConvert.class);
|
||||
|
||||
private static final AirlineMarkerControllerConvert INSTANCE = new AirlineMarkerControllerConvert();
|
||||
|
||||
private AirlineMarkerControllerConvert() {
|
||||
super(AirlineMarkerDTO.class, AirlineMarkerVO.class);
|
||||
}
|
||||
|
||||
public static AirlineMarkerVO from(AirlineMarkerDTO dto) {
|
||||
return INSTANCE.innerFrom(dto);
|
||||
}
|
||||
|
||||
public static AirlineMarkerDTO to(AirlineMarkerVO vo) {
|
||||
return INSTANCE.innerTo(vo);
|
||||
}
|
||||
|
||||
public static List<AirlineMarkerVO> fromList(List<AirlineMarkerDTO> dtoList) {
|
||||
return INSTANCE.innerFromList(dtoList);
|
||||
}
|
||||
|
||||
public static List<AirlineMarkerDTO> toList(List<AirlineMarkerVO> voList) {
|
||||
return INSTANCE.innerToList(voList);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected AirlineMarkerVO innerFrom(AirlineMarkerDTO dto) {
|
||||
if (dto == null) {
|
||||
return null;
|
||||
}
|
||||
AirlineMarkerVO vo = new AirlineMarkerVO();
|
||||
vo.setId(dto.getId());
|
||||
vo.setMarkerName(dto.getMarkerName());
|
||||
vo.setMarkerType(dto.getMarkerType());
|
||||
vo.setStatus(dto.getStatus());
|
||||
vo.setColor(dto.getColor());
|
||||
vo.setIcon(dto.getIcon());
|
||||
vo.setFontSize(dto.getFontSize());
|
||||
|
||||
// 转换coordinates
|
||||
if (dto.getCoordinates() != null) {
|
||||
vo.setCoordinates(dto.getCoordinates().stream()
|
||||
.map(point -> {
|
||||
AirlineMarkerVO.PointInfo voPoint = new AirlineMarkerVO.PointInfo();
|
||||
voPoint.setLatitude(point.getLatitude());
|
||||
voPoint.setLongitude(point.getLongitude());
|
||||
voPoint.setAsl(point.getAsl());
|
||||
return voPoint;
|
||||
})
|
||||
.collect(Collectors.toList()));
|
||||
}
|
||||
|
||||
vo.setDescription(dto.getDescription());
|
||||
vo.setGroupId(dto.getGroupId());
|
||||
vo.setCreateBy(dto.getCreateBy());
|
||||
vo.setCreateTime(dto.getCreateTime());
|
||||
vo.setUpdateBy(dto.getUpdateBy());
|
||||
vo.setUpdateTime(dto.getUpdateTime());
|
||||
return vo;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected AirlineMarkerDTO innerTo(AirlineMarkerVO vo) {
|
||||
if (vo == null) {
|
||||
return null;
|
||||
}
|
||||
AirlineMarkerDTO dto = new AirlineMarkerDTO();
|
||||
dto.setId(vo.getId());
|
||||
dto.setMarkerName(vo.getMarkerName());
|
||||
dto.setMarkerType(vo.getMarkerType());
|
||||
dto.setStatus(vo.getStatus());
|
||||
dto.setColor(vo.getColor());
|
||||
dto.setIcon(vo.getIcon());
|
||||
dto.setFontSize(vo.getFontSize());
|
||||
|
||||
// 转换coordinates
|
||||
if (vo.getCoordinates() != null) {
|
||||
dto.setCoordinates(vo.getCoordinates().stream()
|
||||
.map(point -> {
|
||||
AirlineMarkerDTO.PointInfo dtoPoint = new AirlineMarkerDTO.PointInfo();
|
||||
dtoPoint.setLatitude(point.getLatitude());
|
||||
dtoPoint.setLongitude(point.getLongitude());
|
||||
dtoPoint.setAsl(point.getAsl());
|
||||
return dtoPoint;
|
||||
})
|
||||
.collect(Collectors.toList()));
|
||||
}
|
||||
|
||||
dto.setDescription(vo.getDescription());
|
||||
dto.setGroupId(vo.getGroupId());
|
||||
dto.setCreateBy(vo.getCreateBy());
|
||||
dto.setCreateTime(vo.getCreateTime());
|
||||
dto.setUpdateBy(vo.getUpdateBy());
|
||||
dto.setUpdateTime(vo.getUpdateTime());
|
||||
return dto;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
package com.ruoyi.airline.controller.convert;
|
||||
|
||||
import com.ruoyi.airline.api.domain.AirlineMarkerGroupVO;
|
||||
import com.ruoyi.airline.service.dto.AirlineMarkerGroupDTO;
|
||||
import com.ruoyi.common.core.utils.BaseConvert;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 标注分组Controller转换类
|
||||
* 用于Controller VO和Service DTO之间的转换
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
public class AirlineMarkerGroupControllerConvert extends BaseConvert<AirlineMarkerGroupDTO, AirlineMarkerGroupVO>
|
||||
{
|
||||
|
||||
private static final AirlineMarkerGroupControllerConvert INSTANCE = new AirlineMarkerGroupControllerConvert();
|
||||
|
||||
private AirlineMarkerGroupControllerConvert() {
|
||||
super(AirlineMarkerGroupDTO.class, AirlineMarkerGroupVO.class);
|
||||
}
|
||||
|
||||
public static AirlineMarkerGroupVO from(AirlineMarkerGroupDTO dto)
|
||||
{
|
||||
return INSTANCE.innerFrom(dto);
|
||||
}
|
||||
|
||||
public static AirlineMarkerGroupDTO to(AirlineMarkerGroupVO vo)
|
||||
{
|
||||
return INSTANCE.innerTo(vo);
|
||||
}
|
||||
|
||||
public static List<AirlineMarkerGroupVO> fromList(List<AirlineMarkerGroupDTO> dtoList)
|
||||
{
|
||||
return INSTANCE.innerFromList(dtoList);
|
||||
}
|
||||
|
||||
public static List<AirlineMarkerGroupDTO> toList(List<AirlineMarkerGroupVO> voList)
|
||||
{
|
||||
return INSTANCE.innerToList(voList);
|
||||
}
|
||||
|
||||
public static List<AirlineMarkerGroupVO> toApiDomainList(List<AirlineMarkerGroupDTO> dtoList) {
|
||||
if (dtoList == null) {
|
||||
return null;
|
||||
}
|
||||
return fromList(dtoList);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
package com.ruoyi.airline.controller.convert;
|
||||
|
||||
import com.ruoyi.airline.api.domain.AirlineMarkerGroupDetailVO;
|
||||
import com.ruoyi.airline.service.dto.AirlineMarkerGroupInfoDTO;
|
||||
import com.ruoyi.common.core.utils.BaseConvert;
|
||||
|
||||
/**
|
||||
* 标注分组详情Controller转换类
|
||||
* 用于API VO和Service DTO之间的转换
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
public class AirlineMarkerGroupDetailControllerConvert extends BaseConvert<AirlineMarkerGroupInfoDTO, AirlineMarkerGroupDetailVO>
|
||||
{
|
||||
private static final AirlineMarkerGroupDetailControllerConvert INSTANCE = new AirlineMarkerGroupDetailControllerConvert();
|
||||
|
||||
private AirlineMarkerGroupDetailControllerConvert() {
|
||||
super(AirlineMarkerGroupInfoDTO.class, AirlineMarkerGroupDetailVO.class);
|
||||
}
|
||||
|
||||
public static AirlineMarkerGroupDetailVO from(AirlineMarkerGroupInfoDTO dto) {
|
||||
return INSTANCE.innerFrom(dto);
|
||||
}
|
||||
|
||||
public static AirlineMarkerGroupInfoDTO to(AirlineMarkerGroupDetailVO vo) {
|
||||
return INSTANCE.innerTo(vo);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected AirlineMarkerGroupDetailVO innerFrom(AirlineMarkerGroupInfoDTO dto) {
|
||||
if (dto == null) {
|
||||
return null;
|
||||
}
|
||||
AirlineMarkerGroupDetailVO vo = new AirlineMarkerGroupDetailVO();
|
||||
vo.setGroupId(dto.getGroupId());
|
||||
if (dto.getGroupInfos() != null) {
|
||||
vo.setAirspaceList(dto.getGroupInfos().stream()
|
||||
.map(AirlineMarkerControllerConvert::from)
|
||||
.collect(java.util.stream.Collectors.toList()));
|
||||
}
|
||||
return vo;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected AirlineMarkerGroupInfoDTO innerTo(AirlineMarkerGroupDetailVO vo) {
|
||||
if (vo == null) {
|
||||
return null;
|
||||
}
|
||||
AirlineMarkerGroupInfoDTO dto = new AirlineMarkerGroupInfoDTO();
|
||||
dto.setGroupId(vo.getGroupId());
|
||||
if (vo.getAirspaceList() != null) {
|
||||
dto.setGroupInfos(vo.getAirspaceList().stream()
|
||||
.map(AirlineMarkerControllerConvert::to)
|
||||
.collect(java.util.stream.Collectors.toList()));
|
||||
}
|
||||
return dto;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,11 +1,10 @@
|
|||
package com.ruoyi.airline.controller.convert;
|
||||
|
||||
import com.ruoyi.common.core.utils.BaseConvert;
|
||||
import com.ruoyi.airline.api.domain.AirlineTempVO;
|
||||
import com.ruoyi.airline.service.dto.AirlineTempDTO;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 航线临时表Controller层转换器
|
||||
|
|
@ -14,45 +13,40 @@ import java.util.stream.Collectors;
|
|||
* @author ruoyi
|
||||
* @date 2026-01-17
|
||||
*/
|
||||
public class AirlineTempControllerConvert
|
||||
public class AirlineTempControllerConvert extends BaseConvert<AirlineTempDTO, AirlineTempVO>
|
||||
{
|
||||
/**
|
||||
* DTO 转 API Domain
|
||||
*/
|
||||
public static AirlineTempVO toVO(AirlineTempDTO dto)
|
||||
{
|
||||
if (dto == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
AirlineTempVO apiDomain = new AirlineTempVO();
|
||||
BeanUtils.copyProperties(dto, apiDomain);
|
||||
return apiDomain;
|
||||
private static final AirlineTempControllerConvert INSTANCE = new AirlineTempControllerConvert();
|
||||
|
||||
private AirlineTempControllerConvert() {
|
||||
super(AirlineTempDTO.class, AirlineTempVO.class);
|
||||
}
|
||||
|
||||
/**
|
||||
* API Domain 转 DTO
|
||||
*/
|
||||
public static AirlineTempDTO toDTO(AirlineTempVO apiDomain)
|
||||
public static AirlineTempVO from(AirlineTempDTO dto)
|
||||
{
|
||||
if (apiDomain == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
AirlineTempDTO dto = new AirlineTempDTO();
|
||||
BeanUtils.copyProperties(apiDomain, dto);
|
||||
return dto;
|
||||
return INSTANCE.innerFrom(dto);
|
||||
}
|
||||
|
||||
public static AirlineTempDTO to(AirlineTempVO vo)
|
||||
{
|
||||
return INSTANCE.innerTo(vo);
|
||||
}
|
||||
|
||||
public static List<AirlineTempVO> fromList(List<AirlineTempDTO> dtoList)
|
||||
{
|
||||
return INSTANCE.innerFromList(dtoList);
|
||||
}
|
||||
|
||||
public static List<AirlineTempDTO> toList(List<AirlineTempVO> voList)
|
||||
{
|
||||
return INSTANCE.innerToList(voList);
|
||||
}
|
||||
|
||||
/**
|
||||
* DTO List 转 API Domain List
|
||||
*/
|
||||
public static List<AirlineTempVO> toApiDomainList(List<AirlineTempDTO> dtoList)
|
||||
{
|
||||
if (dtoList == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return dtoList.stream().map(AirlineTempControllerConvert::toVO).collect(Collectors.toList());
|
||||
return fromList(dtoList);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
package com.ruoyi.airline.domain.api;
|
||||
|
||||
import com.ruoyi.airline.domain.model.AirlineArea;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 空域管理
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
public interface IAirlineAreaDomain {
|
||||
|
||||
int insertArea(AirlineArea model);
|
||||
|
||||
int updateArea(AirlineArea model);
|
||||
|
||||
int deleteArea(AirlineArea model);
|
||||
|
||||
List<AirlineArea> selectAreaList(AirlineArea model);
|
||||
|
||||
AirlineArea selectAreaById(Long id);
|
||||
|
||||
List<AirlineArea> selectAreaListByIds(List<Long> ids);
|
||||
|
||||
/**
|
||||
* 根据用户ID查询空域列表
|
||||
* @param model 查询条件
|
||||
* @return 空域列表
|
||||
*/
|
||||
List<AirlineArea> selectAreaListByUserId(AirlineArea model);
|
||||
}
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
package com.ruoyi.airline.domain.api;
|
||||
|
||||
import com.ruoyi.airline.domain.model.AirlineArea;
|
||||
import com.ruoyi.airline.domain.model.AirlineAreaGroup;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 空域分组管理
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
public interface IAirlineAreaGroupDomain {
|
||||
|
||||
/**
|
||||
* 软删除
|
||||
* @param model
|
||||
* @return
|
||||
*/
|
||||
int deletegroup(AirlineAreaGroup model);
|
||||
|
||||
/**
|
||||
* 检查当前用户下分组名称是否唯一
|
||||
* @param model
|
||||
* @return
|
||||
*/
|
||||
boolean checkgroupNameUnique(AirlineAreaGroup model);
|
||||
|
||||
int updateGroup(AirlineAreaGroup model);
|
||||
|
||||
int insertGroup(AirlineAreaGroup model);
|
||||
|
||||
List<AirlineAreaGroup> selectGroupList(AirlineAreaGroup model);
|
||||
|
||||
List<AirlineArea> selectAirlineListByUserId(AirlineArea model);
|
||||
}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
package com.ruoyi.airline.domain.api;
|
||||
|
||||
import com.ruoyi.airline.domain.model.AirlineAreaGroupInfo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 空域分组明细管理
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
public interface IAirlineAreaGroupInfoDomain {
|
||||
|
||||
int insertGroupInfo(AirlineAreaGroupInfo model);
|
||||
|
||||
int deleteGroupInfo(AirlineAreaGroupInfo model);
|
||||
|
||||
List<AirlineAreaGroupInfo> selectGroupInfoList(AirlineAreaGroupInfo model);
|
||||
|
||||
List<Long> selectAreaIdsByGroupId(Long groupId);
|
||||
|
||||
List<AirlineAreaGroupInfo> selectGroupInfoListById(Long groupId);
|
||||
}
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
package com.ruoyi.airline.domain.api;
|
||||
|
||||
import com.ruoyi.airline.domain.model.AirlineAreaTimeRule;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 空域时间规则领域接口
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
public interface IAirlineAreaTimeRuleDomain {
|
||||
|
||||
int insertTimeRule(AirlineAreaTimeRule model);
|
||||
|
||||
int updateTimeRule(AirlineAreaTimeRule model);
|
||||
|
||||
int deleteTimeRule(AirlineAreaTimeRule model);
|
||||
|
||||
List<AirlineAreaTimeRule> selectTimeRuleList(AirlineAreaTimeRule model);
|
||||
|
||||
AirlineAreaTimeRule selectTimeRuleById(Long id);
|
||||
|
||||
List<AirlineAreaTimeRule> selectTimeRuleListByAreaId(Long areaId);
|
||||
|
||||
int deleteTimeRuleByAreaId(Long areaId);
|
||||
}
|
||||
|
|
@ -16,5 +16,11 @@ public interface IAirlineFileDomain {
|
|||
|
||||
List<AirlineFile> selectFileListByIds(List<Long> ids);
|
||||
|
||||
AirlineFile save(AirlineFile model);
|
||||
Long save(AirlineFile model);
|
||||
|
||||
List<AirlineFile> selectFileNameLike(String name);
|
||||
|
||||
List<AirlineFile> selectFileNameLikeByGroupId(String name, Long groupId);
|
||||
|
||||
Long update(AirlineFile model);
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,7 +19,45 @@ public interface IAirlineFileGroupInfoDomain {
|
|||
*
|
||||
* @param dto
|
||||
*/
|
||||
int deleteGroupInfo(AirlineFileGroupInfo dto);
|
||||
Long deleteGroupInfo(AirlineFileGroupInfo dto);
|
||||
|
||||
AirlineFileGroupInfo save(AirlineFileGroupInfo model);
|
||||
Long save(AirlineFileGroupInfo model);
|
||||
|
||||
/**
|
||||
* 检查是否存在相同的groupId和airlineId
|
||||
*
|
||||
* @param groupId 分组ID
|
||||
* @param airlineId 航线ID
|
||||
* @return 是否存在
|
||||
*/
|
||||
boolean existsByGroupIdAndAirlineId(Long groupId, Long airlineId);
|
||||
|
||||
/**
|
||||
* 移动分组详情到新分组
|
||||
*
|
||||
* @param oldGroupId 原分组ID
|
||||
* @param newGroupId 新分组ID
|
||||
* @param airlineId 航线文件ID
|
||||
* @return 结果
|
||||
*/
|
||||
Long moveGroupInfo(Long oldGroupId, Long newGroupId, Long airlineId);
|
||||
|
||||
/**
|
||||
* 批量删除分组详情
|
||||
*
|
||||
* @param airLineIds 航线ID列表
|
||||
* @param groupId 分组ID
|
||||
* @return 结果
|
||||
*/
|
||||
Long deleteGroupInfoBatch(List<Long> airLineIds, Long groupId);
|
||||
|
||||
/**
|
||||
* 批量移动分组详情到新分组
|
||||
*
|
||||
* @param oldGroupId 原分组ID
|
||||
* @param newGroupId 新分组ID
|
||||
* @param airLineIds 航线ID列表
|
||||
* @return 结果
|
||||
*/
|
||||
Long batchMoveGroupInfo(Long oldGroupId, Long newGroupId, List<Long> airLineIds);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,41 @@
|
|||
package com.ruoyi.airline.domain.api;
|
||||
|
||||
import com.ruoyi.airline.domain.model.AirlineMarker;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 标注管理
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
public interface IAirlineMarkerDomain {
|
||||
|
||||
int insertMarker(AirlineMarker model);
|
||||
|
||||
int updateMarker(AirlineMarker model);
|
||||
|
||||
int deleteMarker(AirlineMarker model);
|
||||
|
||||
List<AirlineMarker> selectMarkerList(AirlineMarker model);
|
||||
|
||||
AirlineMarker selectMarkerById(Long id);
|
||||
|
||||
AirlineMarker selectMarker(AirlineMarker marker);
|
||||
|
||||
List<AirlineMarker> selectMarkerListByIds(List<Long> ids);
|
||||
|
||||
/**
|
||||
* 根据用户ID查询标注列表
|
||||
* @param model 查询条件
|
||||
* @return 标注列表
|
||||
*/
|
||||
List<AirlineMarker> selectMarkerListByUserId(AirlineMarker model);
|
||||
|
||||
/**
|
||||
* 查询所有可用标注(关联分组信息表)
|
||||
* @param model 查询条件
|
||||
* @return 标注列表
|
||||
*/
|
||||
List<AirlineMarker> selectAllAvailableMarkers(AirlineMarker model);
|
||||
}
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
package com.ruoyi.airline.domain.api;
|
||||
|
||||
import com.ruoyi.airline.domain.model.AirlineMarker;
|
||||
import com.ruoyi.airline.domain.model.AirlineMarkerGroup;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 标注分组管理
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
public interface IAirlineMarkerGroupDomain {
|
||||
|
||||
/**
|
||||
* 软删除
|
||||
* @param model
|
||||
* @return
|
||||
*/
|
||||
int deleteGroup(AirlineMarkerGroup model);
|
||||
|
||||
/**
|
||||
* 检查分组名称是否唯一
|
||||
* @param model
|
||||
* @return
|
||||
*/
|
||||
boolean checkGroupNameUnique(AirlineMarkerGroup model);
|
||||
|
||||
int updateGroup(AirlineMarkerGroup model);
|
||||
|
||||
int insertGroup(AirlineMarkerGroup model);
|
||||
|
||||
List<AirlineMarkerGroup> selectGroupList(AirlineMarkerGroup model);
|
||||
|
||||
AirlineMarkerGroup selectGroupById(Long id);
|
||||
|
||||
List<AirlineMarker> selectMarkerListByUserId(AirlineMarker model);
|
||||
}
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
package com.ruoyi.airline.domain.api;
|
||||
|
||||
import com.ruoyi.airline.domain.model.AirlineMarkerGroupInfo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 标注分组明细管理
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
public interface IAirlineMarkerGroupInfoDomain {
|
||||
|
||||
int insertMarkerGroupInfo(AirlineMarkerGroupInfo model);
|
||||
|
||||
int deleteMarkerGroupInfo(AirlineMarkerGroupInfo model);
|
||||
|
||||
List<AirlineMarkerGroupInfo> selectMarkerGroupInfoList(AirlineMarkerGroupInfo model);
|
||||
|
||||
List<Long> selectMarkerIdsByGroupId(Long groupId);
|
||||
|
||||
int deleteByGroupId(Long groupId);
|
||||
|
||||
int deleteByMarkerId(Long markerId);
|
||||
|
||||
int batchInsertMarkerGroupInfo(List<AirlineMarkerGroupInfo> list);
|
||||
}
|
||||
|
|
@ -0,0 +1,93 @@
|
|||
package com.ruoyi.airline.domain.convert;
|
||||
|
||||
import com.ruoyi.common.core.utils.BaseConvert;
|
||||
import com.ruoyi.airline.domain.model.AirlineArea;
|
||||
import com.ruoyi.airline.mapper.entity.AirlineAreaEntity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 空域Domain转换类
|
||||
* 用于Domain模型和Mapper实体之间的转换
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2026-02-25
|
||||
*/
|
||||
public class AirlineAreaDomainConvert extends BaseConvert<AirlineAreaEntity, AirlineArea>
|
||||
{
|
||||
private static final AirlineAreaDomainConvert INSTANCE = new AirlineAreaDomainConvert();
|
||||
|
||||
private AirlineAreaDomainConvert() {
|
||||
super(AirlineAreaEntity.class, AirlineArea.class);
|
||||
}
|
||||
|
||||
public static AirlineArea from(AirlineAreaEntity entity)
|
||||
{
|
||||
return INSTANCE.innerFrom(entity);
|
||||
}
|
||||
|
||||
public static AirlineAreaEntity to(AirlineArea model)
|
||||
{
|
||||
return INSTANCE.innerTo(model);
|
||||
}
|
||||
|
||||
public static List<AirlineArea> fromList(List<AirlineAreaEntity> entityList)
|
||||
{
|
||||
return INSTANCE.innerFromList(entityList);
|
||||
}
|
||||
|
||||
public static List<AirlineAreaEntity> toList(List<AirlineArea> modelList)
|
||||
{
|
||||
return INSTANCE.innerToList(modelList);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected AirlineArea innerFrom(AirlineAreaEntity entity) {
|
||||
if (entity == null) {
|
||||
return null;
|
||||
}
|
||||
AirlineArea model = new AirlineArea();
|
||||
model.setId(entity.getId());
|
||||
model.setName(entity.getName());
|
||||
model.setAreaType(entity.getAreaType());
|
||||
model.setStatus(entity.getStatus());
|
||||
model.setPoints(entity.getPoints());
|
||||
model.setShape(entity.getShape());
|
||||
model.setAreaArea(entity.getAreaArea());
|
||||
model.setAreaPerimeter(entity.getAreaPerimeter());
|
||||
model.setRadius(entity.getRadius());
|
||||
model.setMinHeight(entity.getMinHeight());
|
||||
model.setMaxHeight(entity.getMaxHeight());
|
||||
model.setRemark(entity.getRemark());
|
||||
model.setCreateBy(entity.getCreateBy());
|
||||
model.setCreateTime(entity.getCreateTime());
|
||||
model.setUpdateBy(entity.getUpdateBy());
|
||||
model.setUpdateTime(entity.getUpdateTime());
|
||||
return model;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected AirlineAreaEntity innerTo(AirlineArea model) {
|
||||
if (model == null) {
|
||||
return null;
|
||||
}
|
||||
AirlineAreaEntity entity = new AirlineAreaEntity();
|
||||
entity.setId(model.getId());
|
||||
entity.setName(model.getName());
|
||||
entity.setAreaType(model.getAreaType());
|
||||
entity.setStatus(model.getStatus());
|
||||
entity.setPoints(model.getPoints());
|
||||
entity.setShape(model.getShape());
|
||||
entity.setAreaArea(model.getAreaArea());
|
||||
entity.setAreaPerimeter(model.getAreaPerimeter());
|
||||
entity.setRadius(model.getRadius());
|
||||
entity.setMinHeight(model.getMinHeight());
|
||||
entity.setMaxHeight(model.getMaxHeight());
|
||||
entity.setRemark(model.getRemark());
|
||||
entity.setCreateBy(model.getCreateBy());
|
||||
entity.setCreateTime(model.getCreateTime());
|
||||
entity.setUpdateBy(model.getUpdateBy());
|
||||
entity.setUpdateTime(model.getUpdateTime());
|
||||
return entity;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
package com.ruoyi.airline.domain.convert;
|
||||
|
||||
import com.ruoyi.common.core.utils.BaseConvert;
|
||||
import com.ruoyi.airline.domain.model.AirlineAreaGroup;
|
||||
import com.ruoyi.airline.mapper.entity.AirlineAreaGroupEntity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 空域分组Domain转换类
|
||||
* 用于Domain模型和Mapper实体之间的转换
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2026-02-25
|
||||
*/
|
||||
public class AirlineAreaGroupDomainConvert extends BaseConvert<AirlineAreaGroupEntity, AirlineAreaGroup>
|
||||
{
|
||||
private static final AirlineAreaGroupDomainConvert INSTANCE = new AirlineAreaGroupDomainConvert();
|
||||
|
||||
private AirlineAreaGroupDomainConvert() {
|
||||
super(AirlineAreaGroupEntity.class, AirlineAreaGroup.class);
|
||||
}
|
||||
|
||||
public static AirlineAreaGroup from(AirlineAreaGroupEntity entity)
|
||||
{
|
||||
return INSTANCE.innerFrom(entity);
|
||||
}
|
||||
|
||||
public static AirlineAreaGroupEntity to(AirlineAreaGroup model)
|
||||
{
|
||||
return INSTANCE.innerTo(model);
|
||||
}
|
||||
|
||||
public static List<AirlineAreaGroup> fromList(List<AirlineAreaGroupEntity> entityList)
|
||||
{
|
||||
return INSTANCE.innerFromList(entityList);
|
||||
}
|
||||
|
||||
public static List<AirlineAreaGroupEntity> toList(List<AirlineAreaGroup> modelList)
|
||||
{
|
||||
return INSTANCE.innerToList(modelList);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
package com.ruoyi.airline.domain.convert;
|
||||
|
||||
import com.ruoyi.common.core.utils.BaseConvert;
|
||||
import com.ruoyi.airline.domain.model.AirlineAreaGroupInfo;
|
||||
import com.ruoyi.airline.mapper.entity.AirlineAreaGroupInfoEntity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 空域分组明细Domain转换类
|
||||
* 用于Domain模型和Mapper实体之间的转换
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2026-02-25
|
||||
*/
|
||||
public class AirlineAreaGroupInfoDomainConvert extends BaseConvert<AirlineAreaGroupInfoEntity, AirlineAreaGroupInfo>
|
||||
{
|
||||
private static final AirlineAreaGroupInfoDomainConvert INSTANCE = new AirlineAreaGroupInfoDomainConvert();
|
||||
|
||||
private AirlineAreaGroupInfoDomainConvert() {
|
||||
super(AirlineAreaGroupInfoEntity.class, AirlineAreaGroupInfo.class);
|
||||
}
|
||||
|
||||
public static AirlineAreaGroupInfo from(AirlineAreaGroupInfoEntity entity)
|
||||
{
|
||||
return INSTANCE.innerFrom(entity);
|
||||
}
|
||||
|
||||
public static AirlineAreaGroupInfoEntity to(AirlineAreaGroupInfo model)
|
||||
{
|
||||
return INSTANCE.innerTo(model);
|
||||
}
|
||||
|
||||
public static List<AirlineAreaGroupInfo> fromList(List<AirlineAreaGroupInfoEntity> entityList)
|
||||
{
|
||||
return INSTANCE.innerFromList(entityList);
|
||||
}
|
||||
|
||||
public static List<AirlineAreaGroupInfoEntity> toList(List<AirlineAreaGroupInfo> modelList)
|
||||
{
|
||||
return INSTANCE.innerToList(modelList);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,86 @@
|
|||
package com.ruoyi.airline.domain.convert;
|
||||
|
||||
import com.ruoyi.common.core.utils.BaseConvert;
|
||||
import com.ruoyi.airline.domain.model.AirlineAreaTimeRule;
|
||||
import com.ruoyi.airline.mapper.entity.AirlineAreaTimeRuleEntity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 空域时间规则 Domain 转换类
|
||||
* 用于 Domain 模型和 Mapper 实体之间的转换
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
public class AirlineAreaTimeRuleDomainConvert extends BaseConvert<AirlineAreaTimeRuleEntity, AirlineAreaTimeRule>
|
||||
{
|
||||
private static final AirlineAreaTimeRuleDomainConvert INSTANCE = new AirlineAreaTimeRuleDomainConvert();
|
||||
|
||||
private AirlineAreaTimeRuleDomainConvert() {
|
||||
super(AirlineAreaTimeRuleEntity.class, AirlineAreaTimeRule.class);
|
||||
}
|
||||
|
||||
public static AirlineAreaTimeRule from(AirlineAreaTimeRuleEntity entity)
|
||||
{
|
||||
return INSTANCE.innerFrom(entity);
|
||||
}
|
||||
|
||||
public static AirlineAreaTimeRuleEntity to(AirlineAreaTimeRule model)
|
||||
{
|
||||
return INSTANCE.innerTo(model);
|
||||
}
|
||||
|
||||
public static List<AirlineAreaTimeRule> fromList(List<AirlineAreaTimeRuleEntity> entityList)
|
||||
{
|
||||
return INSTANCE.innerFromList(entityList);
|
||||
}
|
||||
|
||||
public static List<AirlineAreaTimeRuleEntity> toList(List<AirlineAreaTimeRule> modelList)
|
||||
{
|
||||
return INSTANCE.innerToList(modelList);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected AirlineAreaTimeRule innerFrom(AirlineAreaTimeRuleEntity entity) {
|
||||
if (entity == null) {
|
||||
return null;
|
||||
}
|
||||
AirlineAreaTimeRule model = new AirlineAreaTimeRule();
|
||||
model.setId(entity.getId());
|
||||
model.setAreaId(entity.getAreaId());
|
||||
model.setRestrictType(entity.getRestrictType());
|
||||
model.setDateRange(entity.getDateRange());
|
||||
model.setTimeRange(entity.getTimeRange());
|
||||
model.setGranularity(entity.getGranularity());
|
||||
model.setRepetFrequency(entity.getRepetFrequency());
|
||||
model.setGranularityTimes(entity.getGranularityTimes());
|
||||
model.setRemark(entity.getRemark());
|
||||
model.setCreateBy(entity.getCreateBy());
|
||||
model.setCreateTime(entity.getCreateTime());
|
||||
model.setUpdateBy(entity.getUpdateBy());
|
||||
model.setUpdateTime(entity.getUpdateTime());
|
||||
return model;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected AirlineAreaTimeRuleEntity innerTo(AirlineAreaTimeRule model) {
|
||||
if (model == null) {
|
||||
return null;
|
||||
}
|
||||
AirlineAreaTimeRuleEntity entity = new AirlineAreaTimeRuleEntity();
|
||||
entity.setId(model.getId());
|
||||
entity.setAreaId(model.getAreaId());
|
||||
entity.setRestrictType(model.getRestrictType());
|
||||
entity.setDateRange(model.getDateRange());
|
||||
entity.setTimeRange(model.getTimeRange());
|
||||
entity.setGranularity(model.getGranularity());
|
||||
entity.setRepetFrequency(model.getRepetFrequency());
|
||||
entity.setGranularityTimes(model.getGranularityTimes());
|
||||
entity.setRemark(model.getRemark());
|
||||
entity.setCreateBy(model.getCreateBy());
|
||||
entity.setCreateTime(model.getCreateTime());
|
||||
entity.setUpdateBy(model.getUpdateBy());
|
||||
entity.setUpdateTime(model.getUpdateTime());
|
||||
return entity;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
package com.ruoyi.airline.domain.convert;
|
||||
|
||||
import com.ruoyi.common.core.utils.BaseConvert;
|
||||
import com.ruoyi.airline.domain.model.AirlineData;
|
||||
import com.ruoyi.airline.mapper.entity.AirlineDataEntity;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 航线数据Domain转换类
|
||||
|
|
@ -13,69 +13,31 @@ import java.util.stream.Collectors;
|
|||
* @author ruoyi
|
||||
* @date 2026-01-17
|
||||
*/
|
||||
public class AirlineDataDomainConvert
|
||||
public class AirlineDataDomainConvert extends BaseConvert<AirlineDataEntity, AirlineData>
|
||||
{
|
||||
/**
|
||||
* 将Domain模型转换为Mapper实体
|
||||
*
|
||||
* @param model Domain模型
|
||||
* @return Mapper实体
|
||||
*/
|
||||
public static AirlineDataEntity toEntity(AirlineData model)
|
||||
{
|
||||
if (model == null) {
|
||||
return null;
|
||||
}
|
||||
AirlineDataEntity entity = new AirlineDataEntity();
|
||||
private static final AirlineDataDomainConvert INSTANCE = new AirlineDataDomainConvert();
|
||||
|
||||
return entity;
|
||||
private AirlineDataDomainConvert() {
|
||||
super(AirlineDataEntity.class, AirlineData.class);
|
||||
}
|
||||
|
||||
/**
|
||||
* 将Mapper实体转换为Domain模型
|
||||
*
|
||||
* @param entity Mapper实体
|
||||
* @return Domain模型
|
||||
*/
|
||||
public static AirlineData toModel(AirlineDataEntity entity)
|
||||
public static AirlineData from(AirlineDataEntity entity)
|
||||
{
|
||||
if (entity == null) {
|
||||
return null;
|
||||
}
|
||||
AirlineData model = new AirlineData();
|
||||
|
||||
return model;
|
||||
return INSTANCE.innerFrom(entity);
|
||||
}
|
||||
|
||||
/**
|
||||
* 将Mapper实体列表转换为Domain模型列表
|
||||
*
|
||||
* @param entityList Mapper实体列表
|
||||
* @return Domain模型列表
|
||||
*/
|
||||
public static List<AirlineData> toModelList(List<AirlineDataEntity> entityList)
|
||||
public static AirlineDataEntity to(AirlineData model)
|
||||
{
|
||||
if (entityList == null || entityList.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
return entityList.stream()
|
||||
.map(AirlineDataDomainConvert::toModel)
|
||||
.collect(Collectors.toList());
|
||||
return INSTANCE.innerTo(model);
|
||||
}
|
||||
|
||||
/**
|
||||
* 将Domain模型列表转换为Mapper实体列表
|
||||
*
|
||||
* @param modelList Domain模型列表
|
||||
* @return Mapper实体列表
|
||||
*/
|
||||
public static List<AirlineDataEntity> toEntityList(List<AirlineData> modelList)
|
||||
public static List<AirlineData> fromList(List<AirlineDataEntity> entityList)
|
||||
{
|
||||
if (modelList == null || modelList.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
return modelList.stream()
|
||||
.map(AirlineDataDomainConvert::toEntity)
|
||||
.collect(Collectors.toList());
|
||||
return INSTANCE.innerFromList(entityList);
|
||||
}
|
||||
|
||||
public static List<AirlineDataEntity> toList(List<AirlineData> modelList)
|
||||
{
|
||||
return INSTANCE.innerToList(modelList);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
package com.ruoyi.airline.domain.convert;
|
||||
|
||||
import com.ruoyi.common.core.utils.BaseConvert;
|
||||
import com.ruoyi.airline.domain.model.AirlineFile;
|
||||
import com.ruoyi.airline.mapper.entity.AirlineFileEntity;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 航线文件Domain转换类
|
||||
|
|
@ -13,85 +13,31 @@ import java.util.stream.Collectors;
|
|||
* @author ruoyi
|
||||
* @date 2026-01-17
|
||||
*/
|
||||
public class AirlineFileDomainConvert {
|
||||
public class AirlineFileDomainConvert extends BaseConvert<AirlineFileEntity, AirlineFile>
|
||||
{
|
||||
private static final AirlineFileDomainConvert INSTANCE = new AirlineFileDomainConvert();
|
||||
|
||||
/**
|
||||
* 将Domain模型转换为Mapper实体
|
||||
*
|
||||
* @param model Domain模型
|
||||
* @return Mapper实体
|
||||
*/
|
||||
public static AirlineFileEntity toEntity(AirlineFile model) {
|
||||
if (model == null) {
|
||||
return null;
|
||||
}
|
||||
AirlineFileEntity entity = new AirlineFileEntity();
|
||||
entity.setId(model.getId());
|
||||
entity.setFileName(model.getFileName());
|
||||
entity.setFileUrl(model.getFileUrl());
|
||||
entity.setType(model.getType());
|
||||
entity.setSource(model.getSource());
|
||||
entity.setStatus(model.getStatus());
|
||||
entity.setFileMd5(model.getFileMd5());
|
||||
entity.setCreateBy(model.getCreateBy());
|
||||
entity.setUpdateBy(model.getUpdateBy());
|
||||
entity.setRemark(model.getRemark());
|
||||
return entity;
|
||||
private AirlineFileDomainConvert() {
|
||||
super(AirlineFileEntity.class, AirlineFile.class);
|
||||
}
|
||||
|
||||
/**
|
||||
* 将Mapper实体转换为Domain模型
|
||||
*
|
||||
* @param entity Mapper实体
|
||||
* @return Domain模型
|
||||
*/
|
||||
public static AirlineFile toModel(AirlineFileEntity entity) {
|
||||
if (entity == null) {
|
||||
return null;
|
||||
}
|
||||
AirlineFile model = new AirlineFile();
|
||||
model.setId(entity.getId());
|
||||
model.setFileName(entity.getFileName());
|
||||
model.setFileUrl(entity.getFileUrl());
|
||||
model.setType(entity.getType());
|
||||
model.setSource(entity.getSource());
|
||||
model.setStatus(entity.getStatus());
|
||||
model.setFileMd5(entity.getFileMd5());
|
||||
model.setCreateBy(entity.getCreateBy());
|
||||
model.setCreateTime(entity.getCreateTime() != null ? entity.getCreateTime().toString() : null);
|
||||
model.setUpdateBy(entity.getUpdateBy());
|
||||
model.setUpdateTime(entity.getUpdateTime() != null ? entity.getUpdateTime().toString() : null);
|
||||
model.setRemark(entity.getRemark());
|
||||
return model;
|
||||
public static AirlineFile from(AirlineFileEntity entity)
|
||||
{
|
||||
return INSTANCE.innerFrom(entity);
|
||||
}
|
||||
|
||||
/**
|
||||
* 将Mapper实体列表转换为Domain模型列表
|
||||
*
|
||||
* @param entityList Mapper实体列表
|
||||
* @return Domain模型列表
|
||||
*/
|
||||
public static List<AirlineFile> toModelList(List<AirlineFileEntity> entityList) {
|
||||
if (entityList == null || entityList.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
return entityList.stream()
|
||||
.map(AirlineFileDomainConvert::toModel)
|
||||
.collect(Collectors.toList());
|
||||
public static AirlineFileEntity to(AirlineFile model)
|
||||
{
|
||||
return INSTANCE.innerTo(model);
|
||||
}
|
||||
|
||||
/**
|
||||
* 将Domain模型列表转换为Mapper实体列表
|
||||
*
|
||||
* @param modelList Domain模型列表
|
||||
* @return Mapper实体列表
|
||||
*/
|
||||
public static List<AirlineFileEntity> toEntityList(List<AirlineFile> modelList) {
|
||||
if (modelList == null || modelList.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
return modelList.stream()
|
||||
.map(AirlineFileDomainConvert::toEntity)
|
||||
.collect(Collectors.toList());
|
||||
public static List<AirlineFile> fromList(List<AirlineFileEntity> entityList)
|
||||
{
|
||||
return INSTANCE.innerFromList(entityList);
|
||||
}
|
||||
|
||||
public static List<AirlineFileEntity> toList(List<AirlineFile> modelList)
|
||||
{
|
||||
return INSTANCE.innerToList(modelList);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,11 +1,11 @@
|
|||
package com.ruoyi.airline.domain.convert;
|
||||
|
||||
|
||||
import com.ruoyi.common.core.utils.BaseConvert;
|
||||
import com.ruoyi.airline.domain.model.AirlineFileGroup;
|
||||
import com.ruoyi.airline.mapper.entity.AirlineFileGroupEntity;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 航线文件分组Domain转换类
|
||||
|
|
@ -14,77 +14,31 @@ import java.util.stream.Collectors;
|
|||
* @author ruoyi
|
||||
* @date 2026-01-17
|
||||
*/
|
||||
public class AirlineFileGroupDomainConvert {
|
||||
public class AirlineFileGroupDomainConvert extends BaseConvert<AirlineFileGroupEntity, AirlineFileGroup>
|
||||
{
|
||||
private static final AirlineFileGroupDomainConvert INSTANCE = new AirlineFileGroupDomainConvert();
|
||||
|
||||
/**
|
||||
* 将Domain模型转换为Mapper实体
|
||||
*
|
||||
* @param model Domain模型
|
||||
* @return Mapper实体
|
||||
*/
|
||||
public static AirlineFileGroupEntity toEntity(AirlineFileGroup model) {
|
||||
if (model == null) {
|
||||
return null;
|
||||
}
|
||||
AirlineFileGroupEntity entity = new AirlineFileGroupEntity();
|
||||
entity.setGroupId(model.getGroupId());
|
||||
entity.setGroupName(model.getGroupName());
|
||||
entity.setUserId(model.getUserId());
|
||||
entity.setCreateBy(model.getCreateBy());
|
||||
entity.setUpdateBy(model.getUpdateBy());
|
||||
entity.setRemark(model.getRemark());
|
||||
return entity;
|
||||
private AirlineFileGroupDomainConvert() {
|
||||
super(AirlineFileGroupEntity.class, AirlineFileGroup.class);
|
||||
}
|
||||
|
||||
/**
|
||||
* 将Mapper实体转换为Domain模型
|
||||
*
|
||||
* @param entity Mapper实体
|
||||
* @return Domain模型
|
||||
*/
|
||||
public static AirlineFileGroup toModel(AirlineFileGroupEntity entity) {
|
||||
if (entity == null) {
|
||||
return null;
|
||||
}
|
||||
AirlineFileGroup model = new AirlineFileGroup();
|
||||
model.setGroupId(entity.getGroupId());
|
||||
model.setGroupName(entity.getGroupName());
|
||||
model.setUserId(entity.getUserId());
|
||||
model.setCreateBy(entity.getCreateBy());
|
||||
model.setCreateTime(entity.getCreateTime() != null ? entity.getCreateTime(): null);
|
||||
model.setUpdateBy(entity.getUpdateBy());
|
||||
model.setUpdateTime(entity.getUpdateTime() != null ? entity.getUpdateTime(): null);
|
||||
model.setRemark(entity.getRemark());
|
||||
return model;
|
||||
public static AirlineFileGroup from(AirlineFileGroupEntity entity)
|
||||
{
|
||||
return INSTANCE.innerFrom(entity);
|
||||
}
|
||||
|
||||
/**
|
||||
* 将Mapper实体列表转换为Domain模型列表
|
||||
*
|
||||
* @param entityList Mapper实体列表
|
||||
* @return Domain模型列表
|
||||
*/
|
||||
public static List<AirlineFileGroup> toModelList(List<AirlineFileGroupEntity> entityList) {
|
||||
if (entityList == null || entityList.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
return entityList.stream()
|
||||
.map(AirlineFileGroupDomainConvert::toModel)
|
||||
.collect(Collectors.toList());
|
||||
public static AirlineFileGroupEntity to(AirlineFileGroup model)
|
||||
{
|
||||
return INSTANCE.innerTo(model);
|
||||
}
|
||||
|
||||
/**
|
||||
* 将Domain模型列表转换为Mapper实体列表
|
||||
*
|
||||
* @param modelList Domain模型列表
|
||||
* @return Mapper实体列表
|
||||
*/
|
||||
public static List<AirlineFileGroupEntity> toEntityList(List<AirlineFileGroup> modelList) {
|
||||
if (modelList == null || modelList.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
return modelList.stream()
|
||||
.map(AirlineFileGroupDomainConvert::toEntity)
|
||||
.collect(Collectors.toList());
|
||||
public static List<AirlineFileGroup> fromList(List<AirlineFileGroupEntity> entityList)
|
||||
{
|
||||
return INSTANCE.innerFromList(entityList);
|
||||
}
|
||||
|
||||
public static List<AirlineFileGroupEntity> toList(List<AirlineFileGroup> modelList)
|
||||
{
|
||||
return INSTANCE.innerToList(modelList);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,11 +1,11 @@
|
|||
package com.ruoyi.airline.domain.convert;
|
||||
|
||||
|
||||
import com.ruoyi.common.core.utils.BaseConvert;
|
||||
import com.ruoyi.airline.domain.model.AirlineFileGroupInfo;
|
||||
import com.ruoyi.airline.mapper.entity.AirlineFileGroupInfoEntity;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 航线文件Domain转换类
|
||||
|
|
@ -14,69 +14,31 @@ import java.util.stream.Collectors;
|
|||
* @author ruoyi
|
||||
* @date 2026-01-17
|
||||
*/
|
||||
public class AirlineFileGroupInfoDomainConvert {
|
||||
public class AirlineFileGroupInfoDomainConvert extends BaseConvert<AirlineFileGroupInfoEntity, AirlineFileGroupInfo>
|
||||
{
|
||||
private static final AirlineFileGroupInfoDomainConvert INSTANCE = new AirlineFileGroupInfoDomainConvert();
|
||||
|
||||
/**
|
||||
* 将Domain模型转换为Mapper实体
|
||||
*
|
||||
* @param model Domain模型
|
||||
* @return Mapper实体
|
||||
*/
|
||||
public static AirlineFileGroupInfoEntity toEntity(AirlineFileGroupInfo model) {
|
||||
if (model == null) {
|
||||
return null;
|
||||
}
|
||||
AirlineFileGroupInfoEntity entity = new AirlineFileGroupInfoEntity();
|
||||
entity.setId(model.getId());
|
||||
entity.setGroupId(model.getGroupId());
|
||||
entity.setAirlineId(model.getAirlineId());
|
||||
return entity;
|
||||
private AirlineFileGroupInfoDomainConvert() {
|
||||
super(AirlineFileGroupInfoEntity.class, AirlineFileGroupInfo.class);
|
||||
}
|
||||
|
||||
/**
|
||||
* 将Mapper实体转换为Domain模型
|
||||
*
|
||||
* @param entity Mapper实体
|
||||
* @return Domain模型
|
||||
*/
|
||||
public static AirlineFileGroupInfo toModel(AirlineFileGroupInfoEntity entity) {
|
||||
if (entity == null) {
|
||||
return null;
|
||||
}
|
||||
AirlineFileGroupInfo model = new AirlineFileGroupInfo();
|
||||
model.setId(entity.getId());
|
||||
model.setGroupId(entity.getGroupId());
|
||||
model.setAirlineId(entity.getAirlineId());
|
||||
return model;
|
||||
public static AirlineFileGroupInfo from(AirlineFileGroupInfoEntity entity)
|
||||
{
|
||||
return INSTANCE.innerFrom(entity);
|
||||
}
|
||||
|
||||
/**
|
||||
* 将Mapper实体列表转换为Domain模型列表
|
||||
*
|
||||
* @param entityList Mapper实体列表
|
||||
* @return Domain模型列表
|
||||
*/
|
||||
public static List<AirlineFileGroupInfo> toModelList(List<AirlineFileGroupInfoEntity> entityList) {
|
||||
if (entityList == null || entityList.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
return entityList.stream()
|
||||
.map(AirlineFileGroupInfoDomainConvert::toModel)
|
||||
.collect(Collectors.toList());
|
||||
public static AirlineFileGroupInfoEntity to(AirlineFileGroupInfo model)
|
||||
{
|
||||
return INSTANCE.innerTo(model);
|
||||
}
|
||||
|
||||
/**
|
||||
* 将Domain模型列表转换为Mapper实体列表
|
||||
*
|
||||
* @param modelList Domain模型列表
|
||||
* @return Mapper实体列表
|
||||
*/
|
||||
public static List<AirlineFileGroupInfoEntity> toEntityList(List<AirlineFileGroupInfo> modelList) {
|
||||
if (modelList == null || modelList.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
return modelList.stream()
|
||||
.map(AirlineFileGroupInfoDomainConvert::toEntity)
|
||||
.collect(Collectors.toList());
|
||||
public static List<AirlineFileGroupInfo> fromList(List<AirlineFileGroupInfoEntity> entityList)
|
||||
{
|
||||
return INSTANCE.innerFromList(entityList);
|
||||
}
|
||||
|
||||
public static List<AirlineFileGroupInfoEntity> toList(List<AirlineFileGroupInfo> modelList)
|
||||
{
|
||||
return INSTANCE.innerToList(modelList);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,105 @@
|
|||
package com.ruoyi.airline.domain.convert;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.ruoyi.common.core.utils.BaseConvert;
|
||||
import com.ruoyi.airline.domain.model.AirlineMarker;
|
||||
import com.ruoyi.airline.mapper.entity.AirlineMarkerEntity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 标注Domain转换类
|
||||
* 用于Domain模型和Mapper实体之间的转换
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
public class AirlineMarkerDomainConvert extends BaseConvert<AirlineMarkerEntity, AirlineMarker>
|
||||
{
|
||||
private static final AirlineMarkerDomainConvert INSTANCE = new AirlineMarkerDomainConvert();
|
||||
private static final ObjectMapper objectMapper = new ObjectMapper();
|
||||
|
||||
private AirlineMarkerDomainConvert() {
|
||||
super(AirlineMarkerEntity.class, AirlineMarker.class);
|
||||
}
|
||||
|
||||
public static AirlineMarker from(AirlineMarkerEntity entity) {
|
||||
return INSTANCE.innerFrom(entity);
|
||||
}
|
||||
|
||||
public static AirlineMarkerEntity to(AirlineMarker model) {
|
||||
return INSTANCE.innerTo(model);
|
||||
}
|
||||
|
||||
public static List<AirlineMarker> fromList(List<AirlineMarkerEntity> entityList) {
|
||||
return INSTANCE.innerFromList(entityList);
|
||||
}
|
||||
|
||||
public static List<AirlineMarkerEntity> toList(List<AirlineMarker> modelList) {
|
||||
return INSTANCE.innerToList(modelList);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected AirlineMarker innerFrom(AirlineMarkerEntity entity) {
|
||||
if (entity == null) {
|
||||
return null;
|
||||
}
|
||||
AirlineMarker model = new AirlineMarker();
|
||||
model.setId(entity.getId());
|
||||
model.setMarkerName(entity.getMarkerName());
|
||||
model.setMarkerType(entity.getMarkerType());
|
||||
model.setStatus(entity.getStatus());
|
||||
model.setColor(entity.getColor());
|
||||
model.setIcon(entity.getIcon());
|
||||
model.setFontSize(entity.getFontSize());
|
||||
|
||||
// 从JSON字符串转换为List<PointInfo>
|
||||
if (entity.getCoordinates() != null) {
|
||||
try {
|
||||
model.setCoordinates(objectMapper.readValue(entity.getCoordinates(), objectMapper.getTypeFactory().constructCollectionType(List.class, AirlineMarker.PointInfo.class)));
|
||||
} catch (JsonProcessingException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
model.setDescription(entity.getDescription());
|
||||
model.setCreateBy(entity.getCreateBy());
|
||||
model.setCreateTime(entity.getCreateTime());
|
||||
model.setUpdateBy(entity.getUpdateBy());
|
||||
model.setUpdateTime(entity.getUpdateTime());
|
||||
model.setRemark(entity.getRemark());
|
||||
return model;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected AirlineMarkerEntity innerTo(AirlineMarker model) {
|
||||
if (model == null) {
|
||||
return null;
|
||||
}
|
||||
AirlineMarkerEntity entity = new AirlineMarkerEntity();
|
||||
entity.setId(model.getId());
|
||||
entity.setMarkerName(model.getMarkerName());
|
||||
entity.setMarkerType(model.getMarkerType());
|
||||
entity.setStatus(model.getStatus());
|
||||
entity.setColor(model.getColor());
|
||||
entity.setIcon(model.getIcon());
|
||||
entity.setFontSize(model.getFontSize());
|
||||
|
||||
// 从List<PointInfo>转换为JSON字符串
|
||||
if (model.getCoordinates() != null) {
|
||||
try {
|
||||
entity.setCoordinates(objectMapper.writeValueAsString(model.getCoordinates()));
|
||||
} catch (JsonProcessingException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
entity.setDescription(model.getDescription());
|
||||
entity.setCreateBy(model.getCreateBy());
|
||||
entity.setCreateTime(model.getCreateTime());
|
||||
entity.setUpdateBy(model.getUpdateBy());
|
||||
entity.setUpdateTime(model.getUpdateTime());
|
||||
entity.setRemark(model.getRemark());
|
||||
return entity;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
package com.ruoyi.airline.domain.convert;
|
||||
|
||||
import com.ruoyi.common.core.utils.BaseConvert;
|
||||
import com.ruoyi.airline.domain.model.AirlineMarkerGroup;
|
||||
import com.ruoyi.airline.mapper.entity.AirlineMarkerGroupEntity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 标注分组Domain转换类
|
||||
* 用于Domain模型和Mapper实体之间的转换
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
public class AirlineMarkerGroupDomainConvert extends BaseConvert<AirlineMarkerGroupEntity, AirlineMarkerGroup>
|
||||
{
|
||||
private static final AirlineMarkerGroupDomainConvert INSTANCE = new AirlineMarkerGroupDomainConvert();
|
||||
|
||||
private AirlineMarkerGroupDomainConvert() {
|
||||
super(AirlineMarkerGroupEntity.class, AirlineMarkerGroup.class);
|
||||
}
|
||||
|
||||
public static AirlineMarkerGroup from(AirlineMarkerGroupEntity entity)
|
||||
{
|
||||
return INSTANCE.innerFrom(entity);
|
||||
}
|
||||
|
||||
public static AirlineMarkerGroupEntity to(AirlineMarkerGroup model)
|
||||
{
|
||||
return INSTANCE.innerTo(model);
|
||||
}
|
||||
|
||||
public static List<AirlineMarkerGroup> fromList(List<AirlineMarkerGroupEntity> entityList)
|
||||
{
|
||||
return INSTANCE.innerFromList(entityList);
|
||||
}
|
||||
|
||||
public static List<AirlineMarkerGroupEntity> toList(List<AirlineMarkerGroup> modelList)
|
||||
{
|
||||
return INSTANCE.innerToList(modelList);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
package com.ruoyi.airline.domain.convert;
|
||||
|
||||
import com.ruoyi.common.core.utils.BaseConvert;
|
||||
import com.ruoyi.airline.domain.model.AirlineMarkerGroupInfo;
|
||||
import com.ruoyi.airline.mapper.entity.AirlineMarkerGroupInfoEntity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 标注分组明细Domain转换类
|
||||
* 用于Domain模型和Mapper实体之间的转换
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
public class AirlineMarkerGroupInfoDomainConvert extends BaseConvert<AirlineMarkerGroupInfoEntity, AirlineMarkerGroupInfo>
|
||||
{
|
||||
private static final AirlineMarkerGroupInfoDomainConvert INSTANCE = new AirlineMarkerGroupInfoDomainConvert();
|
||||
|
||||
private AirlineMarkerGroupInfoDomainConvert() {
|
||||
super(AirlineMarkerGroupInfoEntity.class, AirlineMarkerGroupInfo.class);
|
||||
}
|
||||
|
||||
public static AirlineMarkerGroupInfo from(AirlineMarkerGroupInfoEntity entity)
|
||||
{
|
||||
return INSTANCE.innerFrom(entity);
|
||||
}
|
||||
|
||||
public static AirlineMarkerGroupInfoEntity to(AirlineMarkerGroupInfo model)
|
||||
{
|
||||
return INSTANCE.innerTo(model);
|
||||
}
|
||||
|
||||
public static List<AirlineMarkerGroupInfo> fromList(List<AirlineMarkerGroupInfoEntity> entityList)
|
||||
{
|
||||
return INSTANCE.innerFromList(entityList);
|
||||
}
|
||||
|
||||
public static List<AirlineMarkerGroupInfoEntity> toList(List<AirlineMarkerGroupInfo> modelList)
|
||||
{
|
||||
return INSTANCE.innerToList(modelList);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,11 +1,10 @@
|
|||
package com.ruoyi.airline.domain.convert;
|
||||
|
||||
import com.ruoyi.common.core.utils.BaseConvert;
|
||||
import com.ruoyi.airline.domain.model.AirlineTemp;
|
||||
import com.ruoyi.airline.mapper.entity.AirlineTempEntity;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 航线临时表Domain层转换器
|
||||
|
|
@ -14,45 +13,31 @@ import java.util.stream.Collectors;
|
|||
* @author ruoyi
|
||||
* @date 2026-01-17
|
||||
*/
|
||||
public class AirlineTempDomainConvert
|
||||
public class AirlineTempDomainConvert extends BaseConvert<AirlineTempEntity, AirlineTemp>
|
||||
{
|
||||
/**
|
||||
* Entity 转 Model
|
||||
*/
|
||||
public static AirlineTemp toModel(AirlineTempEntity entity)
|
||||
{
|
||||
if (entity == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
AirlineTemp model = new AirlineTemp();
|
||||
BeanUtils.copyProperties(entity, model);
|
||||
return model;
|
||||
private static final AirlineTempDomainConvert INSTANCE = new AirlineTempDomainConvert();
|
||||
|
||||
private AirlineTempDomainConvert() {
|
||||
super(AirlineTempEntity.class, AirlineTemp.class);
|
||||
}
|
||||
|
||||
/**
|
||||
* Model 转 Entity
|
||||
*/
|
||||
public static AirlineTempEntity toEntity(AirlineTemp model)
|
||||
public static AirlineTemp from(AirlineTempEntity entity)
|
||||
{
|
||||
if (model == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
AirlineTempEntity entity = new AirlineTempEntity();
|
||||
BeanUtils.copyProperties(model, entity);
|
||||
return entity;
|
||||
return INSTANCE.innerFrom(entity);
|
||||
}
|
||||
|
||||
/**
|
||||
* Entity List 转 Model List
|
||||
*/
|
||||
public static List<AirlineTemp> toModelList(List<AirlineTempEntity> entityList)
|
||||
public static AirlineTempEntity to(AirlineTemp model)
|
||||
{
|
||||
if (entityList == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return entityList.stream().map(AirlineTempDomainConvert::toModel).collect(Collectors.toList());
|
||||
return INSTANCE.innerTo(model);
|
||||
}
|
||||
|
||||
public static List<AirlineTemp> fromList(List<AirlineTempEntity> entityList)
|
||||
{
|
||||
return INSTANCE.innerFromList(entityList);
|
||||
}
|
||||
|
||||
public static List<AirlineTempEntity> toList(List<AirlineTemp> modelList)
|
||||
{
|
||||
return INSTANCE.innerToList(modelList);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
package com.ruoyi.airline.domain.impl;
|
||||
|
||||
import com.ruoyi.airline.domain.api.IAirlineAreaDomain;
|
||||
import com.ruoyi.airline.domain.convert.AirlineAreaDomainConvert;
|
||||
import com.ruoyi.airline.domain.model.AirlineArea;
|
||||
import com.ruoyi.airline.mapper.AirlineAreaMapper;
|
||||
import com.ruoyi.airline.mapper.entity.AirlineAreaEntity;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 空域管理
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
@Component
|
||||
public class AirlineAreaDomainImpl implements IAirlineAreaDomain {
|
||||
|
||||
@Autowired
|
||||
private AirlineAreaMapper airlineAreaMapper;
|
||||
|
||||
@Override
|
||||
public int insertArea(AirlineArea model) {
|
||||
AirlineAreaEntity entity = AirlineAreaDomainConvert.to(model);
|
||||
int result = airlineAreaMapper.insertArea(entity);
|
||||
// 将自增的 ID 设置回 model 对象
|
||||
if (result > 0 && entity.getId() != null) {
|
||||
model.setId(entity.getId());
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateArea(AirlineArea model) {
|
||||
AirlineAreaEntity entity = AirlineAreaDomainConvert.to(model);
|
||||
return airlineAreaMapper.updateArea(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int deleteArea(AirlineArea model) {
|
||||
AirlineAreaEntity entity = AirlineAreaDomainConvert.to(model);
|
||||
return airlineAreaMapper.deleteArea(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AirlineArea> selectAreaList(AirlineArea model) {
|
||||
AirlineAreaEntity entity = AirlineAreaDomainConvert.to(model);
|
||||
return AirlineAreaDomainConvert.fromList(airlineAreaMapper.selectAreaList(entity));
|
||||
}
|
||||
|
||||
@Override
|
||||
public AirlineArea selectAreaById(Long id) {
|
||||
AirlineAreaEntity entity = airlineAreaMapper.selectAreaById(id);
|
||||
return AirlineAreaDomainConvert.from(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AirlineArea> selectAreaListByIds(List<Long> ids) {
|
||||
return AirlineAreaDomainConvert.fromList(airlineAreaMapper.selectAreaListByIds(ids));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AirlineArea> selectAreaListByUserId(AirlineArea model) {
|
||||
AirlineAreaEntity entity = AirlineAreaDomainConvert.to(model);
|
||||
return AirlineAreaDomainConvert.fromList(airlineAreaMapper.selectAreaListByUserId(entity));
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
package com.ruoyi.airline.domain.impl;
|
||||
|
||||
import com.ruoyi.airline.domain.api.IAirlineAreaGroupDomain;
|
||||
import com.ruoyi.airline.domain.convert.AirlineAreaGroupDomainConvert;
|
||||
import com.ruoyi.airline.domain.convert.AirlineAreaDomainConvert;
|
||||
import com.ruoyi.airline.domain.model.AirlineArea;
|
||||
import com.ruoyi.airline.domain.model.AirlineAreaGroup;
|
||||
import com.ruoyi.airline.mapper.AirlineAreaGroupMapper;
|
||||
import com.ruoyi.airline.mapper.entity.AirlineAreaEntity;
|
||||
import com.ruoyi.airline.mapper.entity.AirlineAreaGroupEntity;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 空域分组管理
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
@Component
|
||||
public class AirlineAreaGroupDomainImpl implements IAirlineAreaGroupDomain {
|
||||
|
||||
@Autowired
|
||||
private AirlineAreaGroupMapper airlineAreaGroupMapper;
|
||||
|
||||
@Override
|
||||
public int deletegroup(AirlineAreaGroup model) {
|
||||
model.setDelFlag(1L);
|
||||
AirlineAreaGroupEntity entity = AirlineAreaGroupDomainConvert.to(model);
|
||||
return airlineAreaGroupMapper.deletegroup(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkgroupNameUnique(AirlineAreaGroup model) {
|
||||
AirlineAreaGroupEntity entity = AirlineAreaGroupDomainConvert.to(model);
|
||||
return airlineAreaGroupMapper.checkgroupNameUnique(entity) > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateGroup(AirlineAreaGroup model) {
|
||||
AirlineAreaGroupEntity entity = AirlineAreaGroupDomainConvert.to(model);
|
||||
return airlineAreaGroupMapper.updateGroup(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int insertGroup(AirlineAreaGroup model) {
|
||||
AirlineAreaGroupEntity entity = AirlineAreaGroupDomainConvert.to(model);
|
||||
return airlineAreaGroupMapper.insertGroup(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AirlineAreaGroup> selectGroupList(AirlineAreaGroup model) {
|
||||
AirlineAreaGroupEntity entity = AirlineAreaGroupDomainConvert.to(model);
|
||||
return AirlineAreaGroupDomainConvert.fromList(airlineAreaGroupMapper.selectGroupList(entity));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AirlineArea> selectAirlineListByUserId(AirlineArea model) {
|
||||
// 这里需要在 AirlineAreaGroupMapper 中添加对应的方法
|
||||
// 暂时返回空列表,后续需要实现
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
package com.ruoyi.airline.domain.impl;
|
||||
|
||||
import com.ruoyi.airline.domain.api.IAirlineAreaGroupInfoDomain;
|
||||
import com.ruoyi.airline.domain.convert.AirlineAreaGroupInfoDomainConvert;
|
||||
import com.ruoyi.airline.domain.model.AirlineAreaGroupInfo;
|
||||
import com.ruoyi.airline.mapper.AirlineAreaGroupInfoMapper;
|
||||
import com.ruoyi.airline.mapper.entity.AirlineAreaGroupInfoEntity;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 空域分组明细管理
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
@Component
|
||||
public class AirlineAreaGroupInfoDomainImpl implements IAirlineAreaGroupInfoDomain {
|
||||
|
||||
@Autowired
|
||||
private AirlineAreaGroupInfoMapper airlineAreaGroupInfoMapper;
|
||||
|
||||
@Override
|
||||
public int insertGroupInfo(AirlineAreaGroupInfo model) {
|
||||
model.setDelFlag(0L);
|
||||
AirlineAreaGroupInfoEntity entity = AirlineAreaGroupInfoDomainConvert.to(model);
|
||||
return airlineAreaGroupInfoMapper.insertGroupInfo(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int deleteGroupInfo(AirlineAreaGroupInfo model) {
|
||||
model.setDelFlag(1L);
|
||||
AirlineAreaGroupInfoEntity entity = AirlineAreaGroupInfoDomainConvert.to(model);
|
||||
return airlineAreaGroupInfoMapper.deleteGroupInfo(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AirlineAreaGroupInfo> selectGroupInfoList(AirlineAreaGroupInfo model) {
|
||||
AirlineAreaGroupInfoEntity entity = AirlineAreaGroupInfoDomainConvert.to(model);
|
||||
return AirlineAreaGroupInfoDomainConvert.fromList(airlineAreaGroupInfoMapper.selectGroupInfoList(entity));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Long> selectAreaIdsByGroupId(Long groupId) {
|
||||
return airlineAreaGroupInfoMapper.selectAreaIdsByGroupId(groupId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AirlineAreaGroupInfo> selectGroupInfoListById(Long groupId) {
|
||||
AirlineAreaGroupInfo model = new AirlineAreaGroupInfo();
|
||||
model.setGroupId(groupId);
|
||||
AirlineAreaGroupInfoEntity entity = AirlineAreaGroupInfoDomainConvert.to(model);
|
||||
return AirlineAreaGroupInfoDomainConvert.fromList(airlineAreaGroupInfoMapper.selectGroupInfoList(entity));
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,68 @@
|
|||
package com.ruoyi.airline.domain.impl;
|
||||
|
||||
import com.ruoyi.airline.domain.api.IAirlineAreaTimeRuleDomain;
|
||||
import com.ruoyi.airline.domain.convert.AirlineAreaTimeRuleDomainConvert;
|
||||
import com.ruoyi.airline.domain.model.AirlineAreaTimeRule;
|
||||
import com.ruoyi.airline.mapper.AirlineAreaTimeRuleMapper;
|
||||
import com.ruoyi.airline.mapper.entity.AirlineAreaTimeRuleEntity;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 空域时间规则领域实现
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
@Component
|
||||
public class AirlineAreaTimeRuleDomainImpl implements IAirlineAreaTimeRuleDomain {
|
||||
|
||||
@Autowired
|
||||
private AirlineAreaTimeRuleMapper airlineAreaTimeRuleMapper;
|
||||
|
||||
@Override
|
||||
public int insertTimeRule(AirlineAreaTimeRule model) {
|
||||
AirlineAreaTimeRuleEntity entity = AirlineAreaTimeRuleDomainConvert.to(model);
|
||||
int result = airlineAreaTimeRuleMapper.insertTimeRule(entity);
|
||||
// 将自增的 ID 设置回 model 对象
|
||||
if (result > 0 && entity.getId() != null) {
|
||||
model.setId(entity.getId());
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateTimeRule(AirlineAreaTimeRule model) {
|
||||
AirlineAreaTimeRuleEntity entity = AirlineAreaTimeRuleDomainConvert.to(model);
|
||||
return airlineAreaTimeRuleMapper.updateTimeRule(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int deleteTimeRule(AirlineAreaTimeRule model) {
|
||||
AirlineAreaTimeRuleEntity entity = AirlineAreaTimeRuleDomainConvert.to(model);
|
||||
return airlineAreaTimeRuleMapper.deleteTimeRule(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AirlineAreaTimeRule> selectTimeRuleList(AirlineAreaTimeRule model) {
|
||||
AirlineAreaTimeRuleEntity entity = AirlineAreaTimeRuleDomainConvert.to(model);
|
||||
return AirlineAreaTimeRuleDomainConvert.fromList(airlineAreaTimeRuleMapper.selectTimeRuleList(entity));
|
||||
}
|
||||
|
||||
@Override
|
||||
public AirlineAreaTimeRule selectTimeRuleById(Long id) {
|
||||
AirlineAreaTimeRuleEntity entity = airlineAreaTimeRuleMapper.selectTimeRuleById(id);
|
||||
return AirlineAreaTimeRuleDomainConvert.from(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AirlineAreaTimeRule> selectTimeRuleListByAreaId(Long areaId) {
|
||||
return AirlineAreaTimeRuleDomainConvert.fromList(airlineAreaTimeRuleMapper.selectTimeRuleListByAreaId(areaId));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int deleteTimeRuleByAreaId(Long areaId) {
|
||||
return airlineAreaTimeRuleMapper.deleteTimeRuleByAreaId(areaId);
|
||||
}
|
||||
}
|
||||
|
|
@ -31,9 +31,9 @@ public class AirlineDataDomainImpl implements IAirlineDataDomain
|
|||
@Override
|
||||
public List<AirlineData> selectAirlineDataList(AirlineData airlineData)
|
||||
{
|
||||
AirlineDataEntity entity = AirlineDataDomainConvert.toEntity(airlineData);
|
||||
AirlineDataEntity entity = AirlineDataDomainConvert.to(airlineData);
|
||||
List<AirlineDataEntity> entityList = airlineDataMapper.selectAirlineDataList(entity);
|
||||
return AirlineDataDomainConvert.toModelList(entityList);
|
||||
return AirlineDataDomainConvert.fromList(entityList);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -46,7 +46,7 @@ public class AirlineDataDomainImpl implements IAirlineDataDomain
|
|||
public AirlineData selectAirlineDataById(Long id)
|
||||
{
|
||||
AirlineDataEntity entity = airlineDataMapper.selectAirlineDataById(id);
|
||||
return AirlineDataDomainConvert.toModel(entity);
|
||||
return AirlineDataDomainConvert.from(entity);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -24,12 +24,31 @@ public class AirlineFileDomainImpl implements IAirlineFileDomain {
|
|||
|
||||
@Override
|
||||
public List<AirlineFile> selectFileListByIds(List<Long> ids) {
|
||||
return AirlineFileDomainConvert.toModelList(airlineFileMapper.selectFileListByIds(ids));
|
||||
return AirlineFileDomainConvert.fromList(airlineFileMapper.selectFileListByIds(ids));
|
||||
}
|
||||
|
||||
@Override
|
||||
public AirlineFile save(AirlineFile model) {
|
||||
AirlineFileEntity entity = AirlineFileDomainConvert.toEntity(model);
|
||||
return AirlineFileDomainConvert.toModel(airlineFileMapper.save(entity));
|
||||
public Long save(AirlineFile model) {
|
||||
AirlineFileEntity entity = AirlineFileDomainConvert.to(model);
|
||||
airlineFileMapper.save(entity);
|
||||
return entity.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AirlineFile> selectFileNameLike(String name) {
|
||||
return AirlineFileDomainConvert.fromList(airlineFileMapper.selectFileNameLike(name));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AirlineFile> selectFileNameLikeByGroupId(String name, Long groupId) {
|
||||
|
||||
return AirlineFileDomainConvert.fromList(airlineFileMapper.selectFileNameLikeByGroupId(groupId, name));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long update(AirlineFile model) {
|
||||
AirlineFileEntity entity = AirlineFileDomainConvert.to(model);
|
||||
|
||||
return airlineFileMapper.update(entity);
|
||||
}
|
||||
}
|
||||
|
|
@ -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;
|
||||
|
|
@ -24,31 +27,37 @@ public class AirlineFileGroupDomainImpl implements IAirlineFileGroupDomain {
|
|||
@Override
|
||||
public int deletegroup(AirlineFileGroup model) {
|
||||
model.setDelFlag(1L);
|
||||
AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.toEntity(model);
|
||||
AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.to(model);
|
||||
return airlineFileGroupMapper.deletegroup(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkgroupNameUnique(AirlineFileGroup model) {
|
||||
AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.toEntity(model);
|
||||
AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.to(model);
|
||||
return airlineFileGroupMapper.checkgroupNameUnique(entity) > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateGroup(AirlineFileGroup model) {
|
||||
AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.toEntity(model);
|
||||
AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.to(model);
|
||||
return airlineFileGroupMapper.updateGroup(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int insertGroup(AirlineFileGroup model) {
|
||||
AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.toEntity(model);
|
||||
AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.to(model);
|
||||
return airlineFileGroupMapper.insertGroup(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AirlineFileGroup> selectGroupList(AirlineFileGroup model) {
|
||||
AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.toEntity(model);
|
||||
return AirlineFileGroupDomainConvert.toModelList(airlineFileGroupMapper.selectGroupList(entity));
|
||||
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));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,21 +26,46 @@ public class AirlineFileGroupInfoDomainImpl implements IAirlineFileGroupInfoDoma
|
|||
public List<AirlineFileGroupInfo> selectGroupInfoListById(Long groupId) {
|
||||
AirlineFileGroupInfo dto = new AirlineFileGroupInfo();
|
||||
dto.setGroupId(groupId);
|
||||
AirlineFileGroupInfoEntity Entity = AirlineFileGroupInfoDomainConvert.toEntity(dto);
|
||||
AirlineFileGroupInfoEntity Entity = AirlineFileGroupInfoDomainConvert.to(dto);
|
||||
List<AirlineFileGroupInfoEntity> entities = airlineFileGroupInfoMapper.selectGroupList(Entity);
|
||||
return AirlineFileGroupInfoDomainConvert.toModelList(entities);
|
||||
return AirlineFileGroupInfoDomainConvert.fromList(entities);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int deleteGroupInfo(AirlineFileGroupInfo model) {
|
||||
public Long deleteGroupInfo(AirlineFileGroupInfo model) {
|
||||
model.setDelFlag(1L);
|
||||
AirlineFileGroupInfoEntity Entity = AirlineFileGroupInfoDomainConvert.toEntity(model);
|
||||
AirlineFileGroupInfoEntity Entity = AirlineFileGroupInfoDomainConvert.to(model);
|
||||
return airlineFileGroupInfoMapper.deleteGroupInfo(Entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AirlineFileGroupInfo save(AirlineFileGroupInfo model) {
|
||||
AirlineFileGroupInfoEntity Entity = AirlineFileGroupInfoDomainConvert.toEntity(model);
|
||||
public Long save(AirlineFileGroupInfo model) {
|
||||
AirlineFileGroupInfoEntity Entity = AirlineFileGroupInfoDomainConvert.to(model);
|
||||
return airlineFileGroupInfoMapper.save(Entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean existsByGroupIdAndAirlineId(Long groupId, Long airlineId) {
|
||||
AirlineFileGroupInfo model = new AirlineFileGroupInfo();
|
||||
model.setGroupId(groupId);
|
||||
model.setAirlineId(airlineId);
|
||||
AirlineFileGroupInfoEntity entity = AirlineFileGroupInfoDomainConvert.to(model);
|
||||
int count = airlineFileGroupInfoMapper.countByGroupIdAndAirlineId(entity);
|
||||
return count > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long moveGroupInfo(Long oldGroupId, Long newGroupId, Long airlineId) {
|
||||
return airlineFileGroupInfoMapper.updateGroupId(oldGroupId, newGroupId, airlineId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long deleteGroupInfoBatch(List<Long> airLineIds, Long groupId) {
|
||||
return airlineFileGroupInfoMapper.deleteGroupInfoBatch(airLineIds, groupId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long batchMoveGroupInfo(Long oldGroupId, Long newGroupId, List<Long> airLineIds) {
|
||||
return airlineFileGroupInfoMapper.batchUpdateGroupId(oldGroupId, newGroupId, airLineIds);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,87 @@
|
|||
package com.ruoyi.airline.domain.impl;
|
||||
|
||||
import com.ruoyi.airline.domain.api.IAirlineMarkerDomain;
|
||||
import com.ruoyi.airline.domain.convert.AirlineMarkerDomainConvert;
|
||||
import com.ruoyi.airline.domain.model.AirlineMarker;
|
||||
import com.ruoyi.airline.mapper.AirlineMarkerMapper;
|
||||
import com.ruoyi.airline.mapper.entity.AirlineMarkerEntity;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 标注管理
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
@Component
|
||||
public class AirlineMarkerDomainImpl implements IAirlineMarkerDomain {
|
||||
|
||||
@Autowired
|
||||
private AirlineMarkerMapper airlineMarkerMapper;
|
||||
|
||||
@Override
|
||||
public int insertMarker(AirlineMarker model) {
|
||||
AirlineMarkerEntity entity = AirlineMarkerDomainConvert.to(model);
|
||||
int result = airlineMarkerMapper.insertMarker(entity);
|
||||
if (result > 0 && entity.getId() != null) {
|
||||
model.setId(entity.getId());
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateMarker(AirlineMarker model) {
|
||||
AirlineMarkerEntity entity = AirlineMarkerDomainConvert.to(model);
|
||||
return airlineMarkerMapper.updateMarker(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int deleteMarker(AirlineMarker model) {
|
||||
AirlineMarkerEntity entity = AirlineMarkerDomainConvert.to(model);
|
||||
return airlineMarkerMapper.deleteMarker(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AirlineMarker> selectMarkerList(AirlineMarker model) {
|
||||
AirlineMarkerEntity entity = AirlineMarkerDomainConvert.to(model);
|
||||
return AirlineMarkerDomainConvert.fromList(airlineMarkerMapper.selectMarkerList(entity));
|
||||
}
|
||||
|
||||
@Override
|
||||
public AirlineMarker selectMarkerById(Long id) {
|
||||
AirlineMarkerEntity entity = airlineMarkerMapper.selectMarkerById(id);
|
||||
return AirlineMarkerDomainConvert.from(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AirlineMarker selectMarker(AirlineMarker marker) {
|
||||
if (marker == null) {
|
||||
return null;
|
||||
}
|
||||
AirlineMarkerEntity entity = AirlineMarkerDomainConvert.to(marker);
|
||||
List<AirlineMarkerEntity> list = airlineMarkerMapper.selectMarkerList(entity);
|
||||
if (list != null && !list.isEmpty()) {
|
||||
return AirlineMarkerDomainConvert.from(list.get(0));
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AirlineMarker> selectMarkerListByIds(List<Long> ids) {
|
||||
return AirlineMarkerDomainConvert.fromList(airlineMarkerMapper.selectMarkerListByIds(ids));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AirlineMarker> selectMarkerListByUserId(AirlineMarker model) {
|
||||
AirlineMarkerEntity entity = AirlineMarkerDomainConvert.to(model);
|
||||
return AirlineMarkerDomainConvert.fromList(airlineMarkerMapper.selectMarkerListByUserId(entity));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AirlineMarker> selectAllAvailableMarkers(AirlineMarker model) {
|
||||
AirlineMarkerEntity entity = AirlineMarkerDomainConvert.to(model);
|
||||
return AirlineMarkerDomainConvert.fromList(airlineMarkerMapper.selectAllAvailableMarkers(entity));
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,70 @@
|
|||
package com.ruoyi.airline.domain.impl;
|
||||
|
||||
import com.ruoyi.airline.domain.api.IAirlineMarkerGroupDomain;
|
||||
import com.ruoyi.airline.domain.convert.AirlineMarkerGroupDomainConvert;
|
||||
import com.ruoyi.airline.domain.convert.AirlineMarkerDomainConvert;
|
||||
import com.ruoyi.airline.domain.model.AirlineMarker;
|
||||
import com.ruoyi.airline.domain.model.AirlineMarkerGroup;
|
||||
import com.ruoyi.airline.mapper.AirlineMarkerGroupMapper;
|
||||
import com.ruoyi.airline.mapper.entity.AirlineMarkerEntity;
|
||||
import com.ruoyi.airline.mapper.entity.AirlineMarkerGroupEntity;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 标注分组管理
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
@Component
|
||||
public class AirlineMarkerGroupDomainImpl implements IAirlineMarkerGroupDomain {
|
||||
|
||||
@Autowired
|
||||
private AirlineMarkerGroupMapper airlineMarkerGroupMapper;
|
||||
|
||||
@Override
|
||||
public int deleteGroup(AirlineMarkerGroup model) {
|
||||
model.setDelFlag(1L);
|
||||
AirlineMarkerGroupEntity entity = AirlineMarkerGroupDomainConvert.to(model);
|
||||
return airlineMarkerGroupMapper.deleteGroup(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkGroupNameUnique(AirlineMarkerGroup model) {
|
||||
AirlineMarkerGroupEntity entity = AirlineMarkerGroupDomainConvert.to(model);
|
||||
return airlineMarkerGroupMapper.checkGroupNameUnique(entity) > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateGroup(AirlineMarkerGroup model) {
|
||||
AirlineMarkerGroupEntity entity = AirlineMarkerGroupDomainConvert.to(model);
|
||||
return airlineMarkerGroupMapper.updateGroup(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int insertGroup(AirlineMarkerGroup model) {
|
||||
AirlineMarkerGroupEntity entity = AirlineMarkerGroupDomainConvert.to(model);
|
||||
return airlineMarkerGroupMapper.insertGroup(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AirlineMarkerGroup> selectGroupList(AirlineMarkerGroup model) {
|
||||
AirlineMarkerGroupEntity entity = AirlineMarkerGroupDomainConvert.to(model);
|
||||
return AirlineMarkerGroupDomainConvert.fromList(airlineMarkerGroupMapper.selectGroupList(entity));
|
||||
}
|
||||
|
||||
@Override
|
||||
public AirlineMarkerGroup selectGroupById(Long id) {
|
||||
AirlineMarkerGroupEntity entity = airlineMarkerGroupMapper.selectGroupById(id);
|
||||
return AirlineMarkerGroupDomainConvert.from(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AirlineMarker> selectMarkerListByUserId(AirlineMarker model) {
|
||||
// 这里需要在 AirlineMarkerGroupMapper 中添加对应的方法
|
||||
// 暂时返回空列表,后续需要实现
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
package com.ruoyi.airline.domain.impl;
|
||||
|
||||
import com.ruoyi.airline.domain.api.IAirlineMarkerGroupInfoDomain;
|
||||
import com.ruoyi.airline.domain.convert.AirlineMarkerGroupInfoDomainConvert;
|
||||
import com.ruoyi.airline.domain.model.AirlineMarkerGroupInfo;
|
||||
import com.ruoyi.airline.mapper.AirlineMarkerGroupInfoMapper;
|
||||
import com.ruoyi.airline.mapper.entity.AirlineMarkerGroupInfoEntity;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 标注分组明细管理
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
@Component
|
||||
public class AirlineMarkerGroupInfoDomainImpl implements IAirlineMarkerGroupInfoDomain {
|
||||
|
||||
@Autowired
|
||||
private AirlineMarkerGroupInfoMapper airlineMarkerGroupInfoMapper;
|
||||
|
||||
@Override
|
||||
public int insertMarkerGroupInfo(AirlineMarkerGroupInfo model) {
|
||||
model.setDelFlag(0L);
|
||||
AirlineMarkerGroupInfoEntity entity = AirlineMarkerGroupInfoDomainConvert.to(model);
|
||||
return airlineMarkerGroupInfoMapper.insertMarkerGroupInfo(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int deleteMarkerGroupInfo(AirlineMarkerGroupInfo model) {
|
||||
model.setDelFlag(1L);
|
||||
AirlineMarkerGroupInfoEntity entity = AirlineMarkerGroupInfoDomainConvert.to(model);
|
||||
return airlineMarkerGroupInfoMapper.deleteMarkerGroupInfo(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AirlineMarkerGroupInfo> selectMarkerGroupInfoList(AirlineMarkerGroupInfo model) {
|
||||
AirlineMarkerGroupInfoEntity entity = AirlineMarkerGroupInfoDomainConvert.to(model);
|
||||
return AirlineMarkerGroupInfoDomainConvert.fromList(airlineMarkerGroupInfoMapper.selectMarkerGroupInfoList(entity));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Long> selectMarkerIdsByGroupId(Long groupId) {
|
||||
return airlineMarkerGroupInfoMapper.selectMarkerIdsByGroupId(groupId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int deleteByGroupId(Long groupId) {
|
||||
return airlineMarkerGroupInfoMapper.deleteByGroupId(groupId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int deleteByMarkerId(Long markerId) {
|
||||
return airlineMarkerGroupInfoMapper.deleteByMarkerId(markerId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int batchInsertMarkerGroupInfo(List<AirlineMarkerGroupInfo> list) {
|
||||
List<AirlineMarkerGroupInfoEntity> entityList = AirlineMarkerGroupInfoDomainConvert.toList(list);
|
||||
return airlineMarkerGroupInfoMapper.batchInsertMarkerGroupInfo(entityList);
|
||||
}
|
||||
}
|
||||
|
|
@ -25,15 +25,15 @@ public class AirlineTempDomainImpl implements IAirlineTempDomain
|
|||
@Override
|
||||
public List<AirlineTemp> selectAirlineTempList(AirlineTemp airlineTempModel)
|
||||
{
|
||||
AirlineTempEntity entity = AirlineTempDomainConvert.toEntity(airlineTempModel);
|
||||
AirlineTempEntity entity = AirlineTempDomainConvert.to(airlineTempModel);
|
||||
List<AirlineTempEntity> entityList = airlineTempMapper.selectAirlineTempList(entity);
|
||||
return AirlineTempDomainConvert.toModelList(entityList);
|
||||
return AirlineTempDomainConvert.fromList(entityList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AirlineTemp selectAirlineTempById(String id)
|
||||
{
|
||||
AirlineTempEntity entity = airlineTempMapper.selectAirlineTempById(id);
|
||||
return AirlineTempDomainConvert.toModel(entity);
|
||||
return AirlineTempDomainConvert.from(entity);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,78 @@
|
|||
package com.ruoyi.airline.domain.model;
|
||||
/**
|
||||
* 航线航点VO
|
||||
*
|
||||
* @author 拓恒
|
||||
* @date 2026-01-17
|
||||
*/
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
public class AirLinePoint implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* 序号
|
||||
*/
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 动作id
|
||||
*/
|
||||
private Integer command;
|
||||
/**
|
||||
* 经纬度 +-180
|
||||
*/
|
||||
private String lat;
|
||||
/**
|
||||
* 经纬度 +-90
|
||||
*/
|
||||
private String lon;
|
||||
|
||||
/**
|
||||
* 高度
|
||||
*/
|
||||
private Integer alt;
|
||||
|
||||
/**
|
||||
* 悬停时间s
|
||||
*/
|
||||
private String loiterTime;
|
||||
|
||||
/**
|
||||
* 相机俯仰角
|
||||
*/
|
||||
private String cameraPitch;
|
||||
|
||||
/**
|
||||
* 相机滚动角
|
||||
*/
|
||||
private String cameraRoll;
|
||||
|
||||
/**
|
||||
* 相机偏航角
|
||||
*/
|
||||
private String cameraYaw;
|
||||
|
||||
/**
|
||||
* 挂载控制 1 相机
|
||||
*/
|
||||
private Integer sessionControl;
|
||||
/**
|
||||
* 相机指令 1 拍照
|
||||
*/
|
||||
private Integer shootCommand;
|
||||
|
||||
/**
|
||||
* 绝对变焦 目前 1-10
|
||||
*/
|
||||
private Integer zoomAbsolute;
|
||||
|
||||
/***
|
||||
* 转动方向 -1逆时针 1相对机场方向 (硬件定义的)
|
||||
*/
|
||||
private Integer rotateDirection;
|
||||
}
|
||||
|
|
@ -0,0 +1,95 @@
|
|||
package com.ruoyi.airline.domain.model;
|
||||
|
||||
import com.ruoyi.common.core.web.domain.BaseEntity;
|
||||
import com.ruoyi.common.core.web.domain.ExBaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
|
||||
/**
|
||||
* 空域
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class AirlineArea extends ExBaseEntity {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 空域名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 空域类型
|
||||
*/
|
||||
private String areaType;
|
||||
|
||||
/**
|
||||
* 1 启用 0 停用。默认启用。
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 空域点列表
|
||||
*/
|
||||
private String points;
|
||||
|
||||
/**
|
||||
* 形状
|
||||
*/
|
||||
private String shape;
|
||||
|
||||
/**
|
||||
* 面积
|
||||
*/
|
||||
private Double areaArea;
|
||||
|
||||
/**
|
||||
* 周长
|
||||
*/
|
||||
private Double areaPerimeter;
|
||||
|
||||
/**
|
||||
* 半径
|
||||
*/
|
||||
private Double radius;
|
||||
|
||||
/**
|
||||
* 最小高度
|
||||
*/
|
||||
private Double minHeight;
|
||||
|
||||
/**
|
||||
* 最大高度
|
||||
*/
|
||||
private Double maxHeight;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("id", getId())
|
||||
.append("name", getName())
|
||||
.append("areaType", getAreaType())
|
||||
.append("status", getStatus())
|
||||
.append("points", getPoints())
|
||||
.append("shape", getShape())
|
||||
.append("areaArea", getAreaArea())
|
||||
.append("areaPerimeter", getAreaPerimeter())
|
||||
.append("radius", getRadius())
|
||||
.append("minHeight", getMinHeight())
|
||||
.append("maxHeight", getMaxHeight())
|
||||
.append("remark", getRemark())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
package com.ruoyi.airline.domain.model;
|
||||
|
||||
import com.ruoyi.common.core.web.domain.ExBaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 空域分组
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class AirlineAreaGroup extends ExBaseEntity {
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
private Long groupId;
|
||||
|
||||
/**
|
||||
* 分组名称
|
||||
*/
|
||||
private String groupName;
|
||||
|
||||
/**
|
||||
* 用户ID,分组自带用户归属。后期权限都是基于用户ID进行
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 组关联的空域
|
||||
*/
|
||||
private List<AirlineArea> groupInfos;
|
||||
|
||||
/**
|
||||
* 空域数量
|
||||
*/
|
||||
private Integer areaCount;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("groupId", getGroupId())
|
||||
.append("groupName", getGroupName())
|
||||
.append("userId", getUserId())
|
||||
.append("areaCount", getAreaCount())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
package com.ruoyi.airline.domain.model;
|
||||
|
||||
import com.ruoyi.common.core.web.domain.ExBaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
|
||||
/**
|
||||
* 空域分组明细
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class AirlineAreaGroupInfo extends ExBaseEntity {
|
||||
/**
|
||||
* id,主键
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
private Long groupId;
|
||||
|
||||
/**
|
||||
* 空域id
|
||||
*/
|
||||
private Long areaId;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("id", getId())
|
||||
.append("groupId", getGroupId())
|
||||
.append("areaId", getAreaId())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
package com.ruoyi.airline.domain.model;
|
||||
|
||||
import com.ruoyi.common.core.web.domain.ExBaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
|
||||
/**
|
||||
* 空域时间规则领域模型
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class AirlineAreaTimeRule extends ExBaseEntity {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 空域ID
|
||||
*/
|
||||
private Long areaId;
|
||||
|
||||
/**
|
||||
* 限制类型:0是永久 1:单次,2:自定义
|
||||
*/
|
||||
private Integer restrictType;
|
||||
|
||||
/**
|
||||
* 日期范围
|
||||
*/
|
||||
private String dateRange;
|
||||
|
||||
/**
|
||||
* 时间范围
|
||||
*/
|
||||
private String timeRange;
|
||||
|
||||
/**
|
||||
* 重复粒度值:0,1,2:日,周,月 restrictType=0时生效
|
||||
*/
|
||||
private Integer granularity;
|
||||
|
||||
/**
|
||||
* 粒度循环周期:整数值,每1天、每1周,每1个月
|
||||
*/
|
||||
private Integer repetFrequency;
|
||||
|
||||
/**
|
||||
* 重复粒度具体时间 granularity = 0时,该值为空,不生效;granularity = 1时,granularityTimes最多7个值(1,2,3,4,5,6,7分别周一周二。。。周日),granularity = 2时,granularityTimes最多12个值,(1,2,3,4,5,6,7。。12分别是1月,2月.。。12月)
|
||||
*/
|
||||
private String granularityTimes;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("id", getId())
|
||||
.append("areaId", getAreaId())
|
||||
.append("restrictType", getRestrictType())
|
||||
.append("dateRange", getDateRange())
|
||||
.append("timeRange", getTimeRange())
|
||||
.append("granularity", getGranularity())
|
||||
.append("repetFrequency", getRepetFrequency())
|
||||
.append("granularityTimes", getGranularityTimes())
|
||||
.append("remark", getRemark())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
package com.ruoyi.airline.domain.model;
|
||||
|
||||
import com.ruoyi.airline.api.domain.AirLinePointVO;
|
||||
import com.ruoyi.common.core.web.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
|
@ -13,13 +14,16 @@ import java.util.List;
|
|||
* @date 2026-01-17
|
||||
*/
|
||||
@Data
|
||||
public class AirlineFile {
|
||||
public class AirlineFile extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 航线名称
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* 文件名称
|
||||
*/
|
||||
|
|
@ -41,7 +45,7 @@ public class AirlineFile {
|
|||
/**
|
||||
* 航线类型:1,航点航线;2,指点航线;3,指面航线
|
||||
*/
|
||||
private Integer type;
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 文件备注
|
||||
|
|
@ -56,7 +60,7 @@ public class AirlineFile {
|
|||
/**
|
||||
* 航线点列表
|
||||
*/
|
||||
private List<AirLinePointVO> linePointDtoList;
|
||||
private List<AirLinePoint> linePointDtoList;
|
||||
|
||||
/**
|
||||
* 数据来源
|
||||
|
|
@ -73,6 +77,31 @@ public class AirlineFile {
|
|||
*/
|
||||
private String fileMd5;
|
||||
|
||||
/**
|
||||
* 爬升模式
|
||||
*/
|
||||
private String climbMode;
|
||||
|
||||
/**
|
||||
* 海拔高度
|
||||
*/
|
||||
private Double altitude;
|
||||
|
||||
/**
|
||||
* 飞行速度
|
||||
*/
|
||||
private Double flightSpeed;
|
||||
|
||||
/**
|
||||
* 全局航点高度
|
||||
*/
|
||||
private Double globalWaypointHeight;
|
||||
|
||||
/**
|
||||
* 拍照模式
|
||||
*/
|
||||
private String photoMode;
|
||||
|
||||
/**
|
||||
* 大疆航线对应的oss地址(可能存kmz也可能存waypoint,要看fileUrl存的是啥,这个字段存反的)
|
||||
*/
|
||||
|
|
@ -99,29 +128,21 @@ public class AirlineFile {
|
|||
private Integer autoTakePhotoInterval;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
* 分组ID
|
||||
*/
|
||||
private String createBy;
|
||||
private Long groupId;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
* 分组名称
|
||||
*/
|
||||
private String createTime;
|
||||
private String groupName;
|
||||
|
||||
/**
|
||||
* 更新者
|
||||
* 用户ID,分组自带用户归属。 后期权限都是基于用户ID进行
|
||||
*/
|
||||
private String updateBy;
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private String updateTime;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
|
||||
@Override
|
||||
|
|
@ -130,18 +151,26 @@ public class AirlineFile {
|
|||
"id=" + id +
|
||||
", fileName='" + fileName + '\'' +
|
||||
", fileUrl='" + fileUrl + '\'' +
|
||||
", type=" + type +
|
||||
", type=" + type + '\'' +
|
||||
", note='" + note + '\'' +
|
||||
", distance=" + distance +
|
||||
", linePointDtoList=" + linePointDtoList +
|
||||
", source='" + source + '\'' +
|
||||
", status=" + status +
|
||||
", fileMd5='" + fileMd5 + '\'' +
|
||||
", climbMode='" + climbMode + '\'' +
|
||||
", altitude=" + altitude +
|
||||
", flightSpeed=" + flightSpeed +
|
||||
", globalWaypointHeight=" + globalWaypointHeight +
|
||||
", photoMode='" + photoMode + '\'' +
|
||||
", djiFileUrl='" + djiFileUrl + '\'' +
|
||||
", djiRthAltitude=" + djiRthAltitude +
|
||||
", turnRadius=" + turnRadius +
|
||||
", autoTakePhoto=" + autoTakePhoto +
|
||||
", autoTakePhotoInterval=" + autoTakePhotoInterval +
|
||||
", groupId=" + groupId +
|
||||
", groupName='" + groupName + '\'' +
|
||||
", userId=" + userId +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
|
|
@ -3,6 +3,7 @@ package com.ruoyi.airline.domain.model;
|
|||
import com.ruoyi.common.core.web.domain.BaseEntity;
|
||||
import com.ruoyi.common.core.web.domain.ExBaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
|
||||
|
|
@ -11,6 +12,7 @@ import org.apache.commons.lang3.builder.ToStringStyle;
|
|||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class AirlineFileGroup extends ExBaseEntity {
|
||||
/**
|
||||
|
|
@ -22,10 +24,11 @@ public class AirlineFileGroup extends ExBaseEntity {
|
|||
* 分组名称
|
||||
*/
|
||||
private String groupName;
|
||||
|
||||
/**
|
||||
* 用户ID,分组自带用户归属。 后期权限都是基于用户ID进行
|
||||
* 航线数量
|
||||
*/
|
||||
private Long userId;
|
||||
private Integer airlineCount;
|
||||
|
||||
|
||||
@Override
|
||||
|
|
@ -33,7 +36,7 @@ public class AirlineFileGroup extends ExBaseEntity {
|
|||
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("groupId", getGroupId())
|
||||
.append("groupName", getGroupName())
|
||||
.append("userId", getUserId())
|
||||
.append("airlineCount", getAirlineCount())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package com.ruoyi.airline.domain.model;
|
||||
|
||||
import com.ruoyi.common.core.web.domain.BaseEntity;
|
||||
import com.ruoyi.common.core.web.domain.ExBaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
|
@ -29,6 +28,7 @@ public class AirlineFileGroupInfo extends ExBaseEntity {
|
|||
*/
|
||||
private Long airlineId;
|
||||
|
||||
private AirlineFile airlineFile;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,102 @@
|
|||
package com.ruoyi.airline.domain.model;
|
||||
|
||||
import com.ruoyi.common.core.web.domain.ExBaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 标注
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class AirlineMarker extends ExBaseEntity {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 标注名称
|
||||
*/
|
||||
private String markerName;
|
||||
|
||||
/**
|
||||
* 标注类型
|
||||
*/
|
||||
private String markerType;
|
||||
|
||||
/**
|
||||
* 1 启用 0 停用。默认启用。
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 颜色
|
||||
*/
|
||||
private String color;
|
||||
|
||||
/**
|
||||
* 图标
|
||||
*/
|
||||
private String icon;
|
||||
|
||||
/**
|
||||
* 字体大小
|
||||
*/
|
||||
private Integer fontSize;
|
||||
|
||||
/**
|
||||
* 经纬度,格式:[经,纬,asl高度]
|
||||
*/
|
||||
private List<PointInfo> coordinates;
|
||||
|
||||
/**
|
||||
* 简介
|
||||
*/
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
@Data
|
||||
public static class PointInfo {
|
||||
/**
|
||||
* 纬度
|
||||
*/
|
||||
private Double latitude;
|
||||
|
||||
/**
|
||||
* 经度
|
||||
*/
|
||||
private Double longitude;
|
||||
|
||||
/**
|
||||
* 海拔高度
|
||||
*/
|
||||
private Double asl;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("id", getId())
|
||||
.append("markerName", getMarkerName())
|
||||
.append("markerType", getMarkerType())
|
||||
.append("status", getStatus())
|
||||
.append("color", getColor())
|
||||
.append("icon", getIcon())
|
||||
.append("fontSize", getFontSize())
|
||||
.append("coordinates", getCoordinates())
|
||||
.append("description", getDescription())
|
||||
.append("remark", getRemark())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
package com.ruoyi.airline.domain.model;
|
||||
|
||||
import com.ruoyi.common.core.web.domain.ExBaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 标注分组
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class AirlineMarkerGroup extends ExBaseEntity {
|
||||
/**
|
||||
* 分组ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 分组名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 组关联的标注
|
||||
*/
|
||||
private List<AirlineMarker> groupInfos;
|
||||
|
||||
/**
|
||||
* 标注数量
|
||||
*/
|
||||
private Integer markerCount;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("id", getId())
|
||||
.append("name", getName())
|
||||
.append("markerCount", getMarkerCount())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
package com.ruoyi.airline.domain.model;
|
||||
|
||||
import com.ruoyi.common.core.web.domain.ExBaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
|
||||
/**
|
||||
* 标注分组明细
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class AirlineMarkerGroupInfo extends ExBaseEntity {
|
||||
/**
|
||||
* id,主键
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 分组ID
|
||||
*/
|
||||
private Long groupId;
|
||||
|
||||
/**
|
||||
* 标注id
|
||||
*/
|
||||
private Long markerId;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("id", getId())
|
||||
.append("groupId", getGroupId())
|
||||
.append("markerId", getMarkerId())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
|
@ -158,4 +158,18 @@ public class KmlActionActuatorFuncParam {
|
|||
|
||||
@XStreamAlias("wpml:recordPointCloudOperate")
|
||||
private String recordPointCloudOperate;
|
||||
|
||||
// 间隔拍照参数
|
||||
|
||||
@XStreamAlias("wpml:photoTime")
|
||||
private String photoTime;
|
||||
|
||||
@XStreamAlias("wpml:photoDistance")
|
||||
private String photoDistance;
|
||||
|
||||
@XStreamAlias("wpml:photoType")
|
||||
private String photoType;
|
||||
|
||||
@XStreamAlias("wpml:droneYaw")
|
||||
private String droneYaw;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
package com.ruoyi.airline.domain.uitl;
|
||||
package com.ruoyi.airline.domain.util;
|
||||
|
||||
|
||||
import com.ruoyi.airline.domain.model.kml.*;
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.ruoyi.airline.domain.uitl;
|
||||
package com.ruoyi.airline.domain.util;
|
||||
|
||||
import com.ruoyi.airline.api.domain.AirLinePointVO;
|
||||
import com.ruoyi.airline.domain.model.kml.*;
|
||||
import com.ruoyi.airline.service.dto.AirLinePointDTO;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
|
@ -22,20 +22,23 @@ public class WayPointUitls {
|
|||
* @return
|
||||
*/
|
||||
|
||||
public static byte[] kmz2waypoint(KmlInfo kmlInfo) {
|
||||
public static String kmz2waypoint(KmlInfo kmlInfo) {
|
||||
//准备一个waypoint文件的标头文本
|
||||
StringBuilder waypointBuilder = new StringBuilder("QGC WPL 110\n");
|
||||
// 重置全局id计数器
|
||||
//定义waypoint的航点对象集合备用
|
||||
List<AirLinePointVO> linePoints = new ArrayList<>();
|
||||
List<AirLinePointDTO> linePoints = new ArrayList<>();
|
||||
//m3和m4TD的机型可以从missionConfig获取部分基础数据
|
||||
KmlMissionConfig missionConfig = kmlInfo.getDocument().getKmlMissionConfig();
|
||||
//其他场景下都可以从missionConfig 拿航点和动作集合
|
||||
List<KmlPlacemark> placeMarkList = kmlInfo.getDocument().getFolder().getPlacemarkList();
|
||||
|
||||
if (placeMarkList == null || placeMarkList.isEmpty()) {
|
||||
return "";
|
||||
}
|
||||
//获取kml文件中的第一个坐标
|
||||
String[] takeoffCoords;
|
||||
if (missionConfig.getTakeOffRefPoint() != null) {
|
||||
|
||||
takeoffCoords = missionConfig.getTakeOffRefPoint().split(",");
|
||||
} else {
|
||||
// M300/M350:使用第一个航点的坐标
|
||||
|
|
@ -67,7 +70,7 @@ public class WayPointUitls {
|
|||
String[] coords = cleanCoords.split(",");
|
||||
|
||||
// 基础航点(安全点22和结束点20之间的其他16普通航点)
|
||||
AirLinePointVO waypoint = buildPoint(
|
||||
AirLinePointDTO waypoint = buildPoint(
|
||||
16,
|
||||
coords[1], coords[0],
|
||||
(int) Float.parseFloat(placeMark.getHeight()),
|
||||
|
|
@ -98,16 +101,16 @@ public class WayPointUitls {
|
|||
|
||||
// 5. 生成Waypoints文件内容
|
||||
for (int i = 0; i < linePoints.size(); i++) {
|
||||
AirLinePointVO point = linePoints.get(i);
|
||||
AirLinePointDTO point = linePoints.get(i);
|
||||
waypointBuilder.append(formatWaypointLine(point, i)).append("\n");
|
||||
}
|
||||
|
||||
return waypointBuilder.toString().getBytes();
|
||||
return waypointBuilder.toString();
|
||||
|
||||
}
|
||||
|
||||
// 格式化航点行(直接使用DTO字段)
|
||||
public static String formatWaypointLine(AirLinePointVO point, Integer index) {
|
||||
public static String formatWaypointLine(AirLinePointDTO point, Integer index) {
|
||||
switch (point.getCommand()) {
|
||||
case 16:
|
||||
if (index == 0) {
|
||||
|
|
@ -161,13 +164,41 @@ public class WayPointUitls {
|
|||
case 20: // 返航 (使用的是第一个航点的经纬度和高度)
|
||||
return String.format("%d\t0\t3\t20\t0\t0\t0\t0\t%s\t%s\t%d.000000\t1", index, point.getLat(), point.getLon(), point.getAlt());
|
||||
|
||||
case 4000: // 飞行器偏航角
|
||||
return String.format(Locale.US,
|
||||
"%d\t0\t3\t4000\t0\t%s\t0\t0\t0\t0\t0.000000\t1",
|
||||
index, point.getDroneYaw());
|
||||
|
||||
case 5000: // 开始等时间隔拍照
|
||||
log.info("处理5000命令,photoTime={}, photoType={}", point.getPhotoTime(), point.getPhotoType());
|
||||
return String.format(Locale.US,
|
||||
"%d\t0\t3\t5000\t%s\t0\t%s\t0\t0\t0\t0.000000\t1",
|
||||
index,
|
||||
point.getPhotoTime() != null ? String.valueOf(point.getPhotoTime()) : "0",
|
||||
point.getPhotoType() != null ? String.valueOf(point.getPhotoType()) : "0");
|
||||
|
||||
case 6000: // 开始等间距隔拍照
|
||||
return String.format(Locale.US,
|
||||
"%d\t0\t3\t6000\t%s\t0\t%s\t0\t0\t0\t0.000000\t1",
|
||||
index,
|
||||
point.getPhotoDistance() != null ? String.valueOf(point.getPhotoDistance()) : "0",
|
||||
point.getPhotoType() != null ? String.valueOf(point.getPhotoType()) : "0");
|
||||
|
||||
case 7000: // 结束间隔拍照
|
||||
return String.format(Locale.US,
|
||||
"%d\t0\t3\t2501\t0\t0\t0\t0\t0\t0\t0.000000\t1", index);
|
||||
|
||||
case 8000: // 全景拍照
|
||||
return String.format(Locale.US,
|
||||
"%d\t0\t3\t2501\t0\t0\t0\t0\t0\t0\t0.000000\t1", index);
|
||||
|
||||
default:
|
||||
throw new IllegalArgumentException("未知命令: " + point.getCommand());
|
||||
}
|
||||
}
|
||||
|
||||
// 动作解析逻辑
|
||||
public static void processActions(KmlAction action, List<AirLinePointVO> linePoints) {
|
||||
public static void processActions(KmlAction action, List<AirLinePointDTO> linePoints) {
|
||||
|
||||
//kmz航线的动作code
|
||||
String actionType = action.getActionActuatorFunc();
|
||||
|
|
@ -270,6 +301,66 @@ public class WayPointUitls {
|
|||
));
|
||||
break;
|
||||
|
||||
case "panoPhoto":
|
||||
// 全景拍照(命令8000)
|
||||
linePoints.add(buildPoint(
|
||||
8000,
|
||||
"0", "0", 0,
|
||||
"0", "0", "0", "0",
|
||||
0, 0, 0
|
||||
));
|
||||
break;
|
||||
|
||||
case "startTimeIntervalPhoto":
|
||||
// 开始等时间隔拍照(命令5000)
|
||||
linePoints.add(buildPoint(
|
||||
5000,
|
||||
"0", "0", 0,
|
||||
"0", "0", "0", "0",
|
||||
0, 0, 0,
|
||||
actionActuatorFuncParam.getPhotoTime() != null ? Integer.parseInt(actionActuatorFuncParam.getPhotoTime()) : null,
|
||||
null,
|
||||
actionActuatorFuncParam.getPhotoType() != null ? Integer.parseInt(actionActuatorFuncParam.getPhotoType()) : null,
|
||||
null
|
||||
));
|
||||
break;
|
||||
|
||||
case "startDistanceIntervalPhoto":
|
||||
// 开始等间距隔拍照(命令6000)
|
||||
linePoints.add(buildPoint(
|
||||
6000,
|
||||
"0", "0", 0,
|
||||
"0", "0", "0", "0",
|
||||
0, 0, 0,
|
||||
null,
|
||||
actionActuatorFuncParam.getPhotoDistance() != null ? Integer.parseInt(actionActuatorFuncParam.getPhotoDistance()) : null,
|
||||
actionActuatorFuncParam.getPhotoType() != null ? Integer.parseInt(actionActuatorFuncParam.getPhotoType()) : null,
|
||||
null
|
||||
));
|
||||
break;
|
||||
|
||||
case "stopIntervalPhoto":
|
||||
// 结束间隔拍照(命令7000)
|
||||
linePoints.add(buildPoint(
|
||||
7000,
|
||||
"0", "0", 0,
|
||||
"0", "0", "0", "0",
|
||||
0, 0, 0
|
||||
));
|
||||
break;
|
||||
|
||||
case "aircraftYaw":
|
||||
// 飞行器偏航角(命令4000)
|
||||
linePoints.add(buildPoint(
|
||||
4000,
|
||||
"0", "0", 0,
|
||||
"0", "0", "0", "0",
|
||||
0, 0, 0,
|
||||
null, null, null,
|
||||
actionActuatorFuncParam.getDroneYaw()
|
||||
));
|
||||
break;
|
||||
|
||||
default:
|
||||
log.error("未知动作类型: {}", actionType);
|
||||
}
|
||||
|
|
@ -277,10 +368,10 @@ public class WayPointUitls {
|
|||
|
||||
|
||||
//构建waypoint航点
|
||||
public static AirLinePointVO buildPoint(int command, String lat, String lon, int alt,
|
||||
public static AirLinePointDTO buildPoint(int command, String lat, String lon, int alt,
|
||||
String loiterTime, String cameraPitch, String cameraRoll, String cameraYaw,
|
||||
int sessionControl, int zoomAbsolute, int rotateDirection) {
|
||||
AirLinePointVO point = new AirLinePointVO();
|
||||
AirLinePointDTO point = new AirLinePointDTO();
|
||||
point.setCommand(command);
|
||||
point.setLat(lat);
|
||||
point.setLon(lon);
|
||||
|
|
@ -295,5 +386,19 @@ public class WayPointUitls {
|
|||
return point;
|
||||
}
|
||||
|
||||
//构建waypoint航点(带间隔拍照参数)
|
||||
public static AirLinePointDTO buildPoint(int command, String lat, String lon, int alt,
|
||||
String loiterTime, String cameraPitch, String cameraRoll, String cameraYaw,
|
||||
int sessionControl, int zoomAbsolute, int rotateDirection,
|
||||
Integer photoTime, Integer photoDistance, Integer photoType, String droneYaw) {
|
||||
AirLinePointDTO point = buildPoint(command, lat, lon, alt, loiterTime, cameraPitch, cameraRoll, cameraYaw,
|
||||
sessionControl, zoomAbsolute, rotateDirection);
|
||||
point.setPhotoTime(photoTime);
|
||||
point.setPhotoDistance(photoDistance);
|
||||
point.setPhotoType(photoType);
|
||||
point.setDroneYaw(droneYaw);
|
||||
return point;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
package com.ruoyi.airline.mapper;
|
||||
|
||||
import com.ruoyi.airline.mapper.entity.AirlineAreaGroupInfoEntity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 空域分组明细表 airline_area_group_info
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
public interface AirlineAreaGroupInfoMapper {
|
||||
|
||||
int insertGroupInfo(AirlineAreaGroupInfoEntity entity);
|
||||
|
||||
int deleteGroupInfo(AirlineAreaGroupInfoEntity entity);
|
||||
|
||||
List<AirlineAreaGroupInfoEntity> selectGroupInfoList(AirlineAreaGroupInfoEntity entity);
|
||||
|
||||
List<Long> selectAreaIdsByGroupId(Long groupId);
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
package com.ruoyi.airline.mapper;
|
||||
|
||||
import com.ruoyi.airline.mapper.entity.AirlineAreaGroupEntity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 空域分组表 airline_area_group
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
public interface AirlineAreaGroupMapper {
|
||||
|
||||
int checkgroupNameUnique(AirlineAreaGroupEntity model);
|
||||
|
||||
int deletegroup(AirlineAreaGroupEntity entity);
|
||||
|
||||
int updateGroup(AirlineAreaGroupEntity entity);
|
||||
|
||||
int insertGroup(AirlineAreaGroupEntity entity);
|
||||
|
||||
List<AirlineAreaGroupEntity> selectGroupList(AirlineAreaGroupEntity entity);
|
||||
|
||||
AirlineAreaGroupEntity selectGroupById(Long groupId);
|
||||
}
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
package com.ruoyi.airline.mapper;
|
||||
|
||||
import com.ruoyi.airline.mapper.entity.AirlineAreaEntity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 空域列表 airline_area
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
public interface AirlineAreaMapper {
|
||||
|
||||
int insertArea(AirlineAreaEntity entity);
|
||||
|
||||
int updateArea(AirlineAreaEntity entity);
|
||||
|
||||
int deleteArea(AirlineAreaEntity entity);
|
||||
|
||||
List<AirlineAreaEntity> selectAreaList(AirlineAreaEntity entity);
|
||||
|
||||
AirlineAreaEntity selectAreaById(Long id);
|
||||
|
||||
List<AirlineAreaEntity> selectAreaListByIds(List<Long> ids);
|
||||
|
||||
/**
|
||||
* 根据用户ID查询空域列表
|
||||
* @param entity 查询条件
|
||||
* @return 空域列表
|
||||
*/
|
||||
List<AirlineAreaEntity> selectAreaListByUserId(AirlineAreaEntity entity);
|
||||
}
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
package com.ruoyi.airline.mapper;
|
||||
|
||||
import com.ruoyi.airline.mapper.entity.AirlineAreaTimeRuleEntity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 空域时间规则 Mapper
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
public interface AirlineAreaTimeRuleMapper {
|
||||
|
||||
int insertTimeRule(AirlineAreaTimeRuleEntity entity);
|
||||
|
||||
int updateTimeRule(AirlineAreaTimeRuleEntity entity);
|
||||
|
||||
int deleteTimeRule(AirlineAreaTimeRuleEntity entity);
|
||||
|
||||
List<AirlineAreaTimeRuleEntity> selectTimeRuleList(AirlineAreaTimeRuleEntity entity);
|
||||
|
||||
AirlineAreaTimeRuleEntity selectTimeRuleById(Long id);
|
||||
|
||||
List<AirlineAreaTimeRuleEntity> selectTimeRuleListByAreaId(Long areaId);
|
||||
|
||||
int deleteTimeRuleByAreaId(Long areaId);
|
||||
}
|
||||
|
|
@ -15,7 +15,44 @@ public interface AirlineFileGroupInfoMapper {
|
|||
|
||||
List<AirlineFileGroupInfoEntity> selectGroupList(AirlineFileGroupInfoEntity entity);
|
||||
|
||||
int deleteGroupInfo(AirlineFileGroupInfoEntity entity);
|
||||
Long deleteGroupInfo(AirlineFileGroupInfoEntity entity);
|
||||
|
||||
AirlineFileGroupInfo save(AirlineFileGroupInfoEntity entity);
|
||||
Long save(AirlineFileGroupInfoEntity entity);
|
||||
|
||||
/**
|
||||
* 检查是否存在相同的groupId和airlineId
|
||||
*
|
||||
* @param entity 包含groupId和airlineId的实体
|
||||
* @return 存在的记录数
|
||||
*/
|
||||
int countByGroupIdAndAirlineId(AirlineFileGroupInfoEntity entity);
|
||||
|
||||
/**
|
||||
* 更新分组ID,将航线文件从一个分组移动到另一个分组
|
||||
*
|
||||
* @param oldGroupId 原分组ID
|
||||
* @param newGroupId 新分组ID
|
||||
* @param airlineId 航线文件ID
|
||||
* @return 影响的行数
|
||||
*/
|
||||
Long updateGroupId(Long oldGroupId, Long newGroupId, Long airlineId);
|
||||
|
||||
/**
|
||||
* 批量删除分组详情
|
||||
*
|
||||
* @param airLineIds 航线ID列表
|
||||
* @param groupId 分组ID
|
||||
* @return 影响的行数
|
||||
*/
|
||||
Long deleteGroupInfoBatch(List<Long> airLineIds, Long groupId);
|
||||
|
||||
/**
|
||||
* 批量更新分组ID,将航线文件从一个分组移动到另一个分组
|
||||
*
|
||||
* @param oldGroupId 原分组ID
|
||||
* @param newGroupId 新分组ID
|
||||
* @param airLineIds 航线文件ID列表
|
||||
* @return 影响的行数
|
||||
*/
|
||||
Long batchUpdateGroupId(Long oldGroupId, Long newGroupId, List<Long> airLineIds);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,20 @@ import java.util.List;
|
|||
public interface AirlineFileMapper {
|
||||
|
||||
|
||||
AirlineFileEntity save(AirlineFileEntity entity);
|
||||
Long save(AirlineFileEntity entity);
|
||||
|
||||
List<AirlineFileEntity> selectFileListByIds(List<Long> ids);
|
||||
|
||||
List<AirlineFileEntity> selectFileNameLike(String name);
|
||||
|
||||
/**
|
||||
* 根据分组ID和航线名称模糊查询航线文件
|
||||
*
|
||||
* @param groupId 分组ID
|
||||
* @param name 航线名称
|
||||
* @return 航线文件列表
|
||||
*/
|
||||
List<AirlineFileEntity> selectFileNameLikeByGroupId(Long groupId, String name);
|
||||
|
||||
Long update(AirlineFileEntity entity);
|
||||
}
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
package com.ruoyi.airline.mapper;
|
||||
|
||||
import com.ruoyi.airline.mapper.entity.AirlineMarkerGroupInfoEntity;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 标注分组明细表 airline_marker_group_info
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
@Mapper
|
||||
public interface AirlineMarkerGroupInfoMapper {
|
||||
|
||||
int insertMarkerGroupInfo(AirlineMarkerGroupInfoEntity entity);
|
||||
|
||||
int deleteMarkerGroupInfo(AirlineMarkerGroupInfoEntity entity);
|
||||
|
||||
List<AirlineMarkerGroupInfoEntity> selectMarkerGroupInfoList(AirlineMarkerGroupInfoEntity entity);
|
||||
|
||||
AirlineMarkerGroupInfoEntity selectMarkerGroupInfoById(Long id);
|
||||
|
||||
/**
|
||||
* 根据分组ID删除标注分组信息
|
||||
* @param groupId 分组ID
|
||||
* @return 影响行数
|
||||
*/
|
||||
int deleteByGroupId(@Param("groupId") Long groupId);
|
||||
|
||||
/**
|
||||
* 根据标注ID删除标注分组信息
|
||||
* @param markerId 标注ID
|
||||
* @return 影响行数
|
||||
*/
|
||||
int deleteByMarkerId(@Param("markerId") Long markerId);
|
||||
|
||||
/**
|
||||
* 根据分组ID查询标注ID列表
|
||||
* @param groupId 分组ID
|
||||
* @return 标注ID列表
|
||||
*/
|
||||
List<Long> selectMarkerIdsByGroupId(@Param("groupId") Long groupId);
|
||||
|
||||
/**
|
||||
* 批量插入标注分组信息
|
||||
* @param list 标注分组信息列表
|
||||
* @return 影响行数
|
||||
*/
|
||||
int batchInsertMarkerGroupInfo(@Param("list") List<AirlineMarkerGroupInfoEntity> list);
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
package com.ruoyi.airline.mapper;
|
||||
|
||||
import com.ruoyi.airline.mapper.entity.AirlineMarkerGroupEntity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 标注分组表 airline_marker_group
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
public interface AirlineMarkerGroupMapper {
|
||||
|
||||
int checkGroupNameUnique(AirlineMarkerGroupEntity model);
|
||||
|
||||
int deleteGroup(AirlineMarkerGroupEntity entity);
|
||||
|
||||
int updateGroup(AirlineMarkerGroupEntity entity);
|
||||
|
||||
int insertGroup(AirlineMarkerGroupEntity entity);
|
||||
|
||||
List<AirlineMarkerGroupEntity> selectGroupList(AirlineMarkerGroupEntity entity);
|
||||
|
||||
AirlineMarkerGroupEntity selectGroupById(Long id);
|
||||
}
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
package com.ruoyi.airline.mapper;
|
||||
|
||||
import com.ruoyi.airline.mapper.entity.AirlineMarkerEntity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 标注表 airline_marker
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
public interface AirlineMarkerMapper {
|
||||
|
||||
int insertMarker(AirlineMarkerEntity entity);
|
||||
|
||||
int updateMarker(AirlineMarkerEntity entity);
|
||||
|
||||
int deleteMarker(AirlineMarkerEntity entity);
|
||||
|
||||
List<AirlineMarkerEntity> selectMarkerList(AirlineMarkerEntity entity);
|
||||
|
||||
AirlineMarkerEntity selectMarkerById(Long id);
|
||||
|
||||
List<AirlineMarkerEntity> selectMarkerListByIds(List<Long> ids);
|
||||
|
||||
/**
|
||||
* 根据用户ID查询标注列表
|
||||
* @param entity 查询条件
|
||||
* @return 标注列表
|
||||
*/
|
||||
List<AirlineMarkerEntity> selectMarkerListByUserId(AirlineMarkerEntity entity);
|
||||
|
||||
/**
|
||||
* 查询所有可用标注(关联分组信息表)
|
||||
* @param entity 查询条件
|
||||
* @return 标注列表
|
||||
*/
|
||||
List<AirlineMarkerEntity> selectAllAvailableMarkers(AirlineMarkerEntity entity);
|
||||
}
|
||||
|
|
@ -0,0 +1,88 @@
|
|||
package com.ruoyi.airline.mapper.entity;
|
||||
|
||||
import com.ruoyi.common.core.web.domain.ExBaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
|
||||
/**
|
||||
* 空域列表 airline_area
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class AirlineAreaEntity extends ExBaseEntity {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 空域名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 空域类型
|
||||
*/
|
||||
private String areaType;
|
||||
|
||||
/**
|
||||
* 1 启用 0 停用。默认启用。
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 空域点列表
|
||||
*/
|
||||
private String points;
|
||||
|
||||
/**
|
||||
* 形状
|
||||
*/
|
||||
private String shape;
|
||||
|
||||
/**
|
||||
* 面积
|
||||
*/
|
||||
private Double areaArea;
|
||||
|
||||
/**
|
||||
* 周长
|
||||
*/
|
||||
private Double areaPerimeter;
|
||||
|
||||
/**
|
||||
* 半径
|
||||
*/
|
||||
private Double radius;
|
||||
|
||||
/**
|
||||
* 最小高度
|
||||
*/
|
||||
private Double minHeight;
|
||||
|
||||
/**
|
||||
* 最大高度
|
||||
*/
|
||||
private Double maxHeight;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("id", getId())
|
||||
.append("name", getName())
|
||||
.append("areaType", getAreaType())
|
||||
.append("status", getStatus())
|
||||
.append("points", getPoints())
|
||||
.append("shape", getShape())
|
||||
.append("areaArea", getAreaArea())
|
||||
.append("areaPerimeter", getAreaPerimeter())
|
||||
.append("radius", getRadius())
|
||||
.append("minHeight", getMinHeight())
|
||||
.append("maxHeight", getMaxHeight())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
package com.ruoyi.airline.mapper.entity;
|
||||
|
||||
import com.ruoyi.common.core.web.domain.ExBaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
|
||||
/**
|
||||
* 空域分组表 airline_area_group
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class AirlineAreaGroupEntity extends ExBaseEntity {
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
private Long groupId;
|
||||
|
||||
/**
|
||||
* 分组名称
|
||||
*/
|
||||
private String groupName;
|
||||
|
||||
/**
|
||||
* 用户ID,分组自带用户归属。后期权限都是基于用户ID进行
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("groupId", getGroupId())
|
||||
.append("groupName", getGroupName())
|
||||
.append("userId", getUserId())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
package com.ruoyi.airline.mapper.entity;
|
||||
|
||||
import com.ruoyi.common.core.web.domain.ExBaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
|
||||
/**
|
||||
* 空域分组明细表 airline_area_group_info
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class AirlineAreaGroupInfoEntity extends ExBaseEntity {
|
||||
/**
|
||||
* id,主键
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
private Long groupId;
|
||||
|
||||
/**
|
||||
* 空域id
|
||||
*/
|
||||
private Long areaId;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("id", getId())
|
||||
.append("groupId", getGroupId())
|
||||
.append("areaId", getAreaId())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
package com.ruoyi.airline.mapper.entity;
|
||||
|
||||
import com.ruoyi.common.core.web.domain.ExBaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
|
||||
/**
|
||||
* 空域时间规则表 airline_area_time_rule
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class AirlineAreaTimeRuleEntity extends ExBaseEntity {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 空域ID
|
||||
*/
|
||||
private Long areaId;
|
||||
|
||||
/**
|
||||
* 限制类型:0是永久 1:单次,2:自定义
|
||||
*/
|
||||
private Integer restrictType;
|
||||
|
||||
/**
|
||||
* 日期范围
|
||||
*/
|
||||
private String dateRange;
|
||||
|
||||
/**
|
||||
* 时间范围
|
||||
*/
|
||||
private String timeRange;
|
||||
|
||||
/**
|
||||
* 重复粒度值:0,1,2:日,周,月 restrictType=0时生效
|
||||
*/
|
||||
private Integer granularity;
|
||||
|
||||
/**
|
||||
* 粒度循环周期:整数值,每1天、每1周,每1个月
|
||||
*/
|
||||
private Integer repetFrequency;
|
||||
|
||||
/**
|
||||
* 重复粒度具体时间 granularity = 0时,该值为空,不生效;granularity = 1时,granularityTimes最多7个值(1,2,3,4,5,6,7分别周一周二。。。周日),granularity = 2时,granularityTimes最多12个值,(1,2,3,4,5,6,7。。12分别是1月,2月.。。12月)
|
||||
*/
|
||||
private String granularityTimes;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("id", getId())
|
||||
.append("areaId", getAreaId())
|
||||
.append("restrictType", getRestrictType())
|
||||
.append("dateRange", getDateRange())
|
||||
.append("timeRange", getTimeRange())
|
||||
.append("granularity", getGranularity())
|
||||
.append("repetFrequency", getRepetFrequency())
|
||||
.append("granularityTimes", getGranularityTimes())
|
||||
.append("remark", getRemark())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
|
@ -54,7 +54,7 @@ public class AirlineFileEntity extends BaseEntity {
|
|||
/**
|
||||
* 航线类型:1,航点航线;2,指点航线;3,指面航线
|
||||
*/
|
||||
private Integer type;
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 数据来源
|
||||
|
|
@ -71,5 +71,45 @@ public class AirlineFileEntity extends BaseEntity {
|
|||
*/
|
||||
private String fileMd5;
|
||||
|
||||
/**
|
||||
* 爬升模式
|
||||
*/
|
||||
private String climbMode;
|
||||
|
||||
/**
|
||||
* 海拔高度
|
||||
*/
|
||||
private Double altitude;
|
||||
|
||||
/**
|
||||
* 飞行速度
|
||||
*/
|
||||
private Double flightSpeed;
|
||||
|
||||
/**
|
||||
* 全局航点高度
|
||||
*/
|
||||
private Double globalWaypointHeight;
|
||||
|
||||
/**
|
||||
* 拍照模式
|
||||
*/
|
||||
private String photoMode;
|
||||
|
||||
/**
|
||||
* 分组ID
|
||||
*/
|
||||
private Long groupId;
|
||||
|
||||
/**
|
||||
* 分组名称
|
||||
*/
|
||||
private String groupName;
|
||||
/**
|
||||
* 用户ID,分组自带用户归属。 后期权限都是基于用户ID进行
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,10 +23,11 @@ public class AirlineFileGroupEntity extends ExBaseEntity {
|
|||
* 分组名称
|
||||
*/
|
||||
private String groupName;
|
||||
|
||||
/**
|
||||
* 用户ID,分组自带用户归属。 后期权限都是基于用户ID进行
|
||||
* 航线数量
|
||||
*/
|
||||
private Long userId;
|
||||
private Integer airlineCount;
|
||||
|
||||
|
||||
@Override
|
||||
|
|
@ -34,7 +35,6 @@ public class AirlineFileGroupEntity extends ExBaseEntity {
|
|||
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("groupId", getGroupId())
|
||||
.append("groupName", getGroupName())
|
||||
.append("userId", getUserId())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,76 @@
|
|||
package com.ruoyi.airline.mapper.entity;
|
||||
|
||||
import com.ruoyi.common.core.web.domain.ExBaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
|
||||
/**
|
||||
* 标注表 airline_marker
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class AirlineMarkerEntity extends ExBaseEntity {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 标注名称
|
||||
*/
|
||||
private String markerName;
|
||||
|
||||
/**
|
||||
* 标注类型
|
||||
*/
|
||||
private String markerType;
|
||||
|
||||
/**
|
||||
* 1 启用 0 停用。默认启用。
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 颜色
|
||||
*/
|
||||
private String color;
|
||||
|
||||
/**
|
||||
* 图标
|
||||
*/
|
||||
private String icon;
|
||||
|
||||
/**
|
||||
* 字体大小
|
||||
*/
|
||||
private Integer fontSize;
|
||||
|
||||
/**
|
||||
* 经纬度,格式:[经,纬,asl高度]
|
||||
*/
|
||||
private String coordinates;
|
||||
|
||||
/**
|
||||
* 简介
|
||||
*/
|
||||
private String description;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("id", getId())
|
||||
.append("markerName", getMarkerName())
|
||||
.append("markerType", getMarkerType())
|
||||
.append("status", getStatus())
|
||||
.append("color", getColor())
|
||||
.append("icon", getIcon())
|
||||
.append("fontSize", getFontSize())
|
||||
.append("coordinates", getCoordinates())
|
||||
.append("description", getDescription())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
package com.ruoyi.airline.mapper.entity;
|
||||
|
||||
import com.ruoyi.common.core.web.domain.ExBaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
|
||||
/**
|
||||
* 标注分组表 airline_marker_group
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class AirlineMarkerGroupEntity extends ExBaseEntity {
|
||||
/**
|
||||
* 分组ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 分组名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("id", getId())
|
||||
.append("name", getName())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
package com.ruoyi.airline.mapper.entity;
|
||||
|
||||
import com.ruoyi.common.core.web.domain.ExBaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
|
||||
/**
|
||||
* 标注分组明细表 airline_marker_group_info
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class AirlineMarkerGroupInfoEntity extends ExBaseEntity {
|
||||
/**
|
||||
* id,主键
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 分组ID
|
||||
*/
|
||||
private Long groupId;
|
||||
|
||||
/**
|
||||
* 标注id
|
||||
*/
|
||||
private Long markerId;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("id", getId())
|
||||
.append("groupId", getGroupId())
|
||||
.append("markerId", getMarkerId())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
package com.ruoyi.airline.service.api;
|
||||
|
||||
import com.ruoyi.airline.service.dto.AirlineAreaGroupInfoDTO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 空域分组明细管理
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
public interface IAirlineAreaGroupInfoService {
|
||||
|
||||
int insertGroupInfo(AirlineAreaGroupInfoDTO groupInfo);
|
||||
|
||||
int deleteGroupInfo(Long userId, Long groupId, Long areaId);
|
||||
|
||||
List<AirlineAreaGroupInfoDTO> selectGroupInfoList(AirlineAreaGroupInfoDTO dto);
|
||||
|
||||
List<Long> selectAreaIdsByGroupId(Long groupId);
|
||||
}
|
||||
|
|
@ -0,0 +1,90 @@
|
|||
package com.ruoyi.airline.service.api;
|
||||
|
||||
import com.ruoyi.airline.service.dto.AirlineAreaDTO;
|
||||
import com.ruoyi.airline.service.dto.AirlineAreaGroupDTO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 空域分组管理
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
public interface IAirlineAreaGroupService {
|
||||
|
||||
int deletegroupById(Long userId, Long groupId);
|
||||
|
||||
/**
|
||||
* 检查名称是否已经存在
|
||||
* @param group
|
||||
* @return
|
||||
*/
|
||||
boolean checkGroupNameUnique(AirlineAreaGroupDTO group);
|
||||
|
||||
int updateGroup(AirlineAreaGroupDTO group);
|
||||
|
||||
int insertGroup(AirlineAreaGroupDTO group);
|
||||
|
||||
List<AirlineAreaGroupDTO> selectGroupList(AirlineAreaGroupDTO dto);
|
||||
|
||||
// AirlineAreaGroupDTO selectAirLineListsByGroupId(Long userId, Long groupId);
|
||||
|
||||
// List<AirlineAreaDTO> selectAirlineListByUserId(AirlineAreaDTO dto);
|
||||
|
||||
/**
|
||||
* 按照空域分组查询所有的空域信息(包含坐标点信息)
|
||||
* @param userId 用户ID
|
||||
* @param groupId 分组ID
|
||||
* @return 空域分组详情
|
||||
*/
|
||||
AirlineAreaGroupDTO selectAirspaceListByGroupId(Long userId, Long groupId);
|
||||
|
||||
/**
|
||||
* 修改空域信息(包含坐标点信息)
|
||||
* @param area 空域信息
|
||||
* @return 修改结果
|
||||
*/
|
||||
int updateAreaWithPoints(AirlineAreaDTO area);
|
||||
|
||||
/**
|
||||
* 在指定分组下新增空域
|
||||
* @param groupId 分组ID
|
||||
* @param area 空域信息
|
||||
* @return 新增结果
|
||||
*/
|
||||
int insertAreaWithGroup(Long groupId, AirlineAreaDTO area);
|
||||
|
||||
/**
|
||||
* 删除空域(软删除)
|
||||
*
|
||||
* @param areaId 空域ID
|
||||
* @return 删除结果
|
||||
*/
|
||||
int deleteArea(Long areaId);
|
||||
|
||||
/**
|
||||
* 批量移动空域到新分组
|
||||
*
|
||||
* @param areaIds 空域ID列表
|
||||
* @param oldGroupId 原分组ID
|
||||
* @param newGroupId 新分组ID
|
||||
* @return 移动结果
|
||||
*/
|
||||
int batchMoveAreaToNewGroup(List<Long> areaIds, Long oldGroupId, Long newGroupId);
|
||||
|
||||
/**
|
||||
* 根据用户ID查询空域列表,支持名称模糊查询
|
||||
*
|
||||
* @param dto 查询条件
|
||||
* @return 空域列表
|
||||
*/
|
||||
List<AirlineAreaDTO> selectAreaListByUserId(AirlineAreaDTO dto);
|
||||
|
||||
/**
|
||||
* 批量删除空域
|
||||
*
|
||||
* @param areaIds 空域ID列表
|
||||
* @return 删除数量
|
||||
*/
|
||||
int batchDeleteArea(List<Long> areaIds);
|
||||
}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
package com.ruoyi.airline.service.api;
|
||||
|
||||
import com.ruoyi.airline.service.dto.AirlineAreaDTO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 空域管理
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
public interface IAirlineAreaService {
|
||||
|
||||
int insertArea(AirlineAreaDTO area);
|
||||
|
||||
int updateArea(AirlineAreaDTO area);
|
||||
|
||||
int deleteArea(Long id);
|
||||
|
||||
List<AirlineAreaDTO> selectAreaList(AirlineAreaDTO dto);
|
||||
|
||||
AirlineAreaDTO selectAreaById(Long id);
|
||||
}
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
package com.ruoyi.airline.service.api;
|
||||
|
||||
import com.ruoyi.airline.service.dto.AirlineAreaTimeRuleDTO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 空域时间规则服务接口
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
public interface IAirlineAreaTimeRuleService {
|
||||
|
||||
int insertTimeRule(AirlineAreaTimeRuleDTO dto);
|
||||
|
||||
int updateTimeRule(AirlineAreaTimeRuleDTO dto);
|
||||
|
||||
int deleteTimeRule(Long id);
|
||||
|
||||
List<AirlineAreaTimeRuleDTO> selectTimeRuleList(AirlineAreaTimeRuleDTO dto);
|
||||
|
||||
AirlineAreaTimeRuleDTO selectTimeRuleById(Long id);
|
||||
|
||||
List<AirlineAreaTimeRuleDTO> selectTimeRuleListByAreaId(Long areaId);
|
||||
|
||||
int deleteTimeRuleByAreaId(Long areaId);
|
||||
|
||||
int batchInsertTimeRule(Long areaId, List<AirlineAreaTimeRuleDTO> timeRules);
|
||||
}
|
||||
|
|
@ -1,10 +1,9 @@
|
|||
package com.ruoyi.airline.service.api;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.ruoyi.airline.service.dto.AirlineFileDTO;
|
||||
import com.ruoyi.airline.service.dto.AirlineFileGroupInfoDTO;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import com.ruoyi.common.core.exception.base.BaseException;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
|
@ -13,9 +12,47 @@ import java.util.List;
|
|||
* @author 拓恒
|
||||
*/
|
||||
public interface IAirlineFileGroupInfoService {
|
||||
List<AirlineFileGroupInfoDTO> selectGroupInfoListById(Long groupId);
|
||||
List<AirlineFileGroupInfoDTO> selectGroupInfoListById(Long groupId);
|
||||
|
||||
|
||||
AirlineFileGroupInfoDTO save(AirlineFileGroupInfoDTO dto) throws IOException;
|
||||
AirlineFileDTO save(AirlineFileGroupInfoDTO dto) throws BaseException;
|
||||
|
||||
Long deleteGroupInfo(AirlineFileGroupInfoDTO dto) throws BaseException;
|
||||
|
||||
/**
|
||||
* * 移动分组详情到新分组
|
||||
* @param dto
|
||||
* @param groupId
|
||||
* @return
|
||||
* @throws BaseException
|
||||
*/
|
||||
Long moveGroupInfo(AirlineFileGroupInfoDTO dto, Long groupId) throws BaseException;
|
||||
|
||||
/**
|
||||
* 批量删除分组详情
|
||||
* @param airLineIds 航线ID列表
|
||||
* @param groupId 分组ID
|
||||
* @return
|
||||
* @throws BaseException
|
||||
*/
|
||||
Long deleteGroupInfoBatch(List<Long> airLineIds, Long groupId) throws BaseException;
|
||||
|
||||
/**
|
||||
* 批量移动分组详情到新分组
|
||||
* @param airLineIds 航线ID列表
|
||||
* @param groupId 原分组ID
|
||||
* @param newGroupId 新分组ID
|
||||
* @return
|
||||
* @throws BaseException
|
||||
*/
|
||||
Long batchMoveGroupInfo(List<Long> airLineIds, Long groupId, Long newGroupId) throws BaseException;
|
||||
|
||||
/**
|
||||
* 批量导出航线并上传到minio
|
||||
* @param airLineIds 航线ID列表
|
||||
* @param groupId 分组ID
|
||||
* @return 下载地址
|
||||
* @throws BaseException
|
||||
*/
|
||||
String batchExportAirlines(List<Long> airLineIds, Long groupId) throws BaseException;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,7 +16,13 @@ public interface IAirlineFileService {
|
|||
|
||||
AirlineFileDTO save(AirlineFileDTO dto);
|
||||
|
||||
AirlineFileDTO parseAndUplload(MultipartFile file);
|
||||
AirlineFileDTO parseAndUplload(MultipartFile file, Long groupId);
|
||||
|
||||
AirlineFileDTO createOrupdate(AirlineFileDTO airlineFile) throws IOException;
|
||||
|
||||
AirlineFileDTO selectById(Long airlineId);
|
||||
|
||||
String getNewFileNameLikeByGroupId(String name, Long groupId);
|
||||
|
||||
Long update(AirlineFileDTO airlineFile);
|
||||
}
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
package com.ruoyi.airline.service.api;
|
||||
|
||||
import com.ruoyi.airline.service.dto.AirlineMarkerDTO;
|
||||
import com.ruoyi.airline.service.dto.AirlineMarkerGroupInfoDTO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 标注分组明细管理
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
public interface IAirlineMarkerGroupInfoService {
|
||||
|
||||
int insertMarker(AirlineMarkerDTO dto);
|
||||
|
||||
int deleteMarker(AirlineMarkerDTO dto);
|
||||
|
||||
int batchDeleteMarker(List<Long> markerIds);
|
||||
|
||||
/**
|
||||
* 根据分组ID查询标注列表
|
||||
* @param groupId 分组ID
|
||||
* @return 标注分组详情
|
||||
*/
|
||||
AirlineMarkerGroupInfoDTO selectMarkersByGroupId(Long groupId);
|
||||
|
||||
/**
|
||||
* 获取用户下所有可用标注
|
||||
* @return 标注列表
|
||||
*/
|
||||
List<AirlineMarkerDTO> selectUserAvailableMarkers();
|
||||
|
||||
/**
|
||||
* 获取全部可用标注
|
||||
* @param dto 查询条件
|
||||
* @return 标注列表
|
||||
*/
|
||||
List<AirlineMarkerDTO> selectAllAvailableMarkers(AirlineMarkerDTO dto);
|
||||
|
||||
/**
|
||||
* 批量移动标注到指定分组
|
||||
* @param markerIds 标注ID列表
|
||||
* @param targetGroupId 目标分组ID
|
||||
* @return 移动成功的数量
|
||||
*/
|
||||
int batchMoveMarkersToGroup(List<Long> markerIds, Long targetGroupId);
|
||||
}
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
package com.ruoyi.airline.service.api;
|
||||
|
||||
import com.ruoyi.airline.service.dto.AirlineMarkerDTO;
|
||||
import com.ruoyi.airline.service.dto.AirlineMarkerGroupDTO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 标注分组管理
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
public interface IAirlineMarkerGroupService {
|
||||
|
||||
/**
|
||||
* 删除分组(软删除)
|
||||
* @param id 分组ID
|
||||
* @return 删除结果
|
||||
*/
|
||||
int deleteGroupById(Long id);
|
||||
|
||||
/**
|
||||
* 检查分组名称是否唯一
|
||||
* @param group 分组信息
|
||||
* @return 是否唯一
|
||||
*/
|
||||
boolean checkGroupNameUnique(AirlineMarkerGroupDTO group);
|
||||
|
||||
/**
|
||||
* 更新分组
|
||||
* @param group 分组信息
|
||||
* @return 更新结果
|
||||
*/
|
||||
int updateGroup(AirlineMarkerGroupDTO group);
|
||||
|
||||
/**
|
||||
* 新增分组
|
||||
* @param group 分组信息
|
||||
* @return 新增结果
|
||||
*/
|
||||
int insertGroup(AirlineMarkerGroupDTO group);
|
||||
|
||||
/**
|
||||
* 查询分组列表
|
||||
* @param dto 查询条件
|
||||
* @return 分组列表
|
||||
*/
|
||||
List<AirlineMarkerGroupDTO> selectGroupList(AirlineMarkerGroupDTO dto);
|
||||
|
||||
/**
|
||||
* 根据ID查询分组
|
||||
* @param id 分组ID
|
||||
* @return 分组信息
|
||||
*/
|
||||
AirlineMarkerGroupDTO selectGroupById(Long id);
|
||||
|
||||
/**
|
||||
* 在指定分组下新增标注
|
||||
* @param id 分组ID
|
||||
* @param marker 标注信息
|
||||
* @return 新增结果
|
||||
*/
|
||||
int insertMarkerWithGroup(Long id, AirlineMarkerDTO marker);
|
||||
|
||||
/**
|
||||
* 批量删除分组
|
||||
* @param groupIds 分组ID列表
|
||||
* @return 删除数量
|
||||
*/
|
||||
int batchDeleteGroup(List<Long> groupIds);
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
package com.ruoyi.airline.service.api;
|
||||
|
||||
import com.ruoyi.airline.service.dto.AirlineMarkerDTO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 标注管理
|
||||
*
|
||||
* @author 拓恒
|
||||
*/
|
||||
public interface IAirlineMarkerService {
|
||||
|
||||
int updateMarker(AirlineMarkerDTO marker);
|
||||
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue