李克 3 months ago
parent
commit
9bf6306d46
  1. 10
      dk-api/api-business/src/main/java/org/dromara/business/api/RemoteBusinessTaskService.java
  2. 2
      dk-common/common-core/src/main/java/org/dromara/common/core/constant/BusinessConstants.java
  3. 19
      dk-modules/business/src/main/java/org/dromara/business/dubbo/RemoteBusinessTaskServiceImpl.java
  4. 2
      dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessTaskMapper.java
  5. 2
      dk-modules/business/src/main/java/org/dromara/business/service/IBusinessTaskService.java
  6. 5
      dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessTaskServiceImpl.java
  7. 25
      dk-modules/business/src/main/resources/mapper/business/BusinessTaskMapper.xml
  8. 25
      dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceQrtzDateEntity.java
  9. 5
      dk-modules/sample/src/main/java/org/dromara/sample/media/service/impl/FileServiceImpl.java
  10. 13
      dk-modules/sample/src/main/java/org/dromara/sample/wayline/mapper/IWaylineDeviceMapper.java
  11. 39
      dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/entity/WaylineDeviceEntity.java
  12. 16
      dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/WaylineFileServiceImpl.java

10
dk-api/api-business/src/main/java/org/dromara/business/api/RemoteBusinessTaskService.java

@ -9,9 +9,11 @@ public interface RemoteBusinessTaskService {
/** /**
* 更新预约工单状态 * 更新预约工单状态
* @param fileId 航线id * @param waylineId 航线id
* @param jobId 飞行记录id * @param status 状态 0预约中 1 等待中2执行中 3已完结 4 未完成
* @param isJobStatus 飞行状态 * @param jobId 任务id@ 完结需要上传任务id
* @param jobName 任务名称 完结需要上传任务名称
*/ */
void updateTaskStatus(String fileId, String jobId,Boolean isJobStatus); void updateTaskStatus(String waylineId,String status,String jobId,String jobName);
} }

2
dk-common/common-core/src/main/java/org/dromara/common/core/constant/BusinessConstants.java

@ -11,11 +11,13 @@ public interface BusinessConstants {
* 1-队列中 * 1-队列中
* 2-执行中 * 2-执行中
* 3-已完结 * 3-已完结
* 4-未完成
* */ * */
String TASK_STATUS_0 = String.valueOf(0); String TASK_STATUS_0 = String.valueOf(0);
String TASK_STATUS_1 = String.valueOf(1); String TASK_STATUS_1 = String.valueOf(1);
String TASK_STATUS_2 = String.valueOf(2); String TASK_STATUS_2 = String.valueOf(2);
String TASK_STATUS_3 = String.valueOf(3); String TASK_STATUS_3 = String.valueOf(3);
String TASK_STATUS_4 = String.valueOf(4);
/** 工单类型 /** 工单类型

19
dk-modules/business/src/main/java/org/dromara/business/dubbo/RemoteBusinessTaskServiceImpl.java

@ -3,9 +3,14 @@ package org.dromara.business.dubbo;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.apache.dubbo.config.annotation.DubboService; import org.apache.dubbo.config.annotation.DubboService;
import org.dromara.business.api.RemoteBusinessTaskService; import org.dromara.business.api.RemoteBusinessTaskService;
import org.dromara.business.domain.BusinessTask;
import org.dromara.business.domain.vo.BusinessTaskVo;
import org.dromara.business.service.IBusinessTaskService; import org.dromara.business.service.IBusinessTaskService;
import org.dromara.common.core.constant.BusinessConstants;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Date;
/** /**
* @auther yq * @auther yq
* @data 2025/3/18 * @data 2025/3/18
@ -18,7 +23,19 @@ public class RemoteBusinessTaskServiceImpl implements RemoteBusinessTaskService
@Override @Override
public void updateTaskStatus(String fileId, String jobId, Boolean isJobStatus) { public void updateTaskStatus(String waylineId,String status,String jobId,String jobName) {
BusinessTaskVo businessTaskVo = businessTaskService.queryBusinessTask(waylineId);
if(businessTaskVo != null){
BusinessTask businessTask = new BusinessTask();
businessTask.setId(businessTaskVo.getId());
businessTask.setStatus(status);
if(BusinessConstants.TASK_STATUS_3.equals(status)){
businessTask.setJobId(jobId);
businessTask.setJobName(jobName);
businessTask.setCompleteTime(new Date());
}
businessTaskService.update(businessTask);
}
} }
} }

2
dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessTaskMapper.java

@ -24,4 +24,6 @@ public interface BusinessTaskMapper extends BaseMapperPlus<BusinessTask, Busines
int distance(); int distance();
Page<BusinessTaskVo> queryPageList(@Param("page") Page<?> page, @Param("bo") BusinessTaskBo bo); Page<BusinessTaskVo> queryPageList(@Param("page") Page<?> page, @Param("bo") BusinessTaskBo bo);
BusinessTaskVo queryBusinessTask(@Param("waylineId") String waylineId);
} }

2
dk-modules/business/src/main/java/org/dromara/business/service/IBusinessTaskService.java

@ -68,4 +68,6 @@ public interface IBusinessTaskService {
* @return 是否删除成功 * @return 是否删除成功
*/ */
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid); Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
BusinessTaskVo queryBusinessTask(String waylineId);
} }

5
dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessTaskServiceImpl.java

@ -150,4 +150,9 @@ public class BusinessTaskServiceImpl implements IBusinessTaskService {
} }
return baseMapper.deleteByIds(ids) > 0; return baseMapper.deleteByIds(ids) > 0;
} }
@Override
public BusinessTaskVo queryBusinessTask(String waylineId) {
return baseMapper.queryBusinessTask(waylineId);
}
} }

25
dk-modules/business/src/main/resources/mapper/business/BusinessTaskMapper.xml

@ -83,4 +83,29 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</where> </where>
order by t.status order by t.status
</select> </select>
<select id="queryBusinessTask" resultMap="businessTaskMap">
SELECT
t.id,
t.task_type,
t.polygon_region,
t.verbal_trick,
t.expect_time,
t.demand,
t.complete_time,
t.STATUS,
t.create_by,
t.nick_name,
t.create_dept,
t.dept_name,
p.user_id AS operatId,
p.nick_name AS operatName,
p.flight_time AS flightTime,
p.flight_explain AS flightExplain
FROM
business_task t
LEFT JOIN business_operation p ON t.id = p.task_id
where t.wayline_id=#{waylineId} and ABS(TIMESTAMPDIFF(SECOND, p.flight_time, NOW())) &lt;= 3600
order by p.flight_time asc
limit 1
</select>
</mapper> </mapper>

25
dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceQrtzDateEntity.java

@ -51,31 +51,6 @@ public class DeviceQrtzDateEntity implements Serializable {
/**
* 创建人
*/
private String createBy;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新人
*/
private String updateBy;
/**
* 更新时间
*/
private Date updateTime;
/** /**
* 删除 0 正常 1已删除 * 删除 0 正常 1已删除
*/ */

5
dk-modules/sample/src/main/java/org/dromara/sample/media/service/impl/FileServiceImpl.java

@ -73,11 +73,14 @@ public class FileServiceImpl implements IFileService {
fileEntity.setWorkspaceId(workspaceId); fileEntity.setWorkspaceId(workspaceId);
fileEntity.setFileId(UUID.randomUUID().toString()); fileEntity.setFileId(UUID.randomUUID().toString());
fileEntity.setFileType(fileEntity.getFileName().substring( fileEntity.getFileName().lastIndexOf(".")+1)); fileEntity.setFileType(fileEntity.getFileName().substring( fileEntity.getFileName().lastIndexOf(".")+1));
if(!fileEntity.getFileType().equals("DAT")){
fileEntity.setFileStatus(fileEntity.getFileName().substring( fileEntity.getFileName().lastIndexOf("_")+1, fileEntity.getFileName().lastIndexOf("."))); fileEntity.setFileStatus(fileEntity.getFileName().substring( fileEntity.getFileName().lastIndexOf("_")+1, fileEntity.getFileName().lastIndexOf(".")));
int firstUnderscore = fileEntity.getFileName().indexOf("_"); int firstUnderscore = fileEntity.getFileName().indexOf("_");
int secondUnderscore = fileEntity.getFileName().indexOf("_", firstUnderscore + 1); int secondUnderscore = fileEntity.getFileName().indexOf("_", firstUnderscore + 1);
int thirdUnderscore = fileEntity.getFileName().indexOf("_", secondUnderscore + 1); int thirdUnderscore = fileEntity.getFileName().indexOf("_", secondUnderscore + 1);
fileEntity.setFileIndex(Integer.parseInt(fileEntity.getFileName().substring(secondUnderscore+1,thirdUnderscore))); fileEntity.setFileIndex(Integer.parseInt(fileEntity.getFileName().substring(secondUnderscore+1,thirdUnderscore)));
}
return mapper.insert(fileEntity); return mapper.insert(fileEntity);
} }
@ -148,7 +151,7 @@ public class FileServiceImpl implements IFileService {
.gimbalYawDegree(file.getMetadata().getGimbalYawDegree()) .gimbalYawDegree(file.getMetadata().getGimbalYawDegree())
.absoluteAltitude(file.getMetadata().getAbsoluteAltitude()) .absoluteAltitude(file.getMetadata().getAbsoluteAltitude())
.relativeAltitude(file.getMetadata().getRelativeAltitude()) .relativeAltitude(file.getMetadata().getRelativeAltitude())
.shootTime(file.getMetadata().getCreatedTime()) .shootTime(file.getMetadata().getCreatedTime() != null ? file.getMetadata().getCreatedTime() : new Date())
.cloudToCloudId(file.getCloudToCloudId()) .cloudToCloudId(file.getCloudToCloudId())
.flightType(flightTask.getFlightType().getType()) .flightType(flightTask.getFlightType().getType())
.uploadedFileCount(flightTask != null ? flightTask.getUploadedFileCount() : null) .uploadedFileCount(flightTask != null ? flightTask.getUploadedFileCount() : null)

13
dk-modules/sample/src/main/java/org/dromara/sample/wayline/mapper/IWaylineDeviceMapper.java

@ -1,13 +0,0 @@
package org.dromara.sample.wayline.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.dromara.sample.wayline.model.entity.WaylineDeviceEntity;
import org.dromara.sample.wayline.model.entity.WaylineFileEntity;
/**
* @author sean
* @version 0.3
* @date 2021/12/22
*/
public interface IWaylineDeviceMapper extends BaseMapper<WaylineDeviceEntity> {
}

39
dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/entity/WaylineDeviceEntity.java

@ -1,39 +0,0 @@
package org.dromara.sample.wayline.model.entity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* @author sean
* @version 0.3
* @date 2021/12/22
*/
@Data
@TableName("wayline_device")
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class WaylineDeviceEntity implements Serializable {
@TableId(type = IdType.AUTO)
private Integer id;
@TableField("wayline_id")
private String waylineId;
@TableField("device_sn")
private String deviceSn;
@TableField(value = "create_time", fill = FieldFill.INSERT)
private Date createTime;
@TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
private Date updateTime;
}

16
dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/WaylineFileServiceImpl.java

@ -21,11 +21,9 @@ import org.dromara.common.sdk.cloudapi.wayline.GetWaylineListResponse;
import org.dromara.common.sdk.cloudapi.wayline.WaylineTypeEnum; import org.dromara.common.sdk.cloudapi.wayline.WaylineTypeEnum;
import org.dromara.common.sdk.common.Pagination; import org.dromara.common.sdk.common.Pagination;
import org.dromara.common.sdk.common.PaginationData; import org.dromara.common.sdk.common.PaginationData;
import org.dromara.sample.wayline.mapper.IWaylineDeviceMapper;
import org.dromara.sample.wayline.mapper.IWaylineFileMapper; import org.dromara.sample.wayline.mapper.IWaylineFileMapper;
import org.dromara.sample.wayline.model.dto.KmzFileProperties; import org.dromara.sample.wayline.model.dto.KmzFileProperties;
import org.dromara.sample.wayline.model.dto.WaylineFileDTO; import org.dromara.sample.wayline.model.dto.WaylineFileDTO;
import org.dromara.sample.wayline.model.entity.WaylineDeviceEntity;
import org.dromara.sample.wayline.model.entity.WaylineFileEntity; import org.dromara.sample.wayline.model.entity.WaylineFileEntity;
import org.dromara.sample.wayline.service.IWaylineFileService; import org.dromara.sample.wayline.service.IWaylineFileService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -60,9 +58,6 @@ public class WaylineFileServiceImpl implements IWaylineFileService {
@Autowired @Autowired
private IWaylineFileMapper mapper; private IWaylineFileMapper mapper;
@Autowired
private IWaylineDeviceMapper deviceMapper;
@Override @Override
public PaginationData<GetWaylineListResponse> getWaylinesByParam(String workspaceId, GetWaylineListRequest param) { public PaginationData<GetWaylineListResponse> getWaylinesByParam(String workspaceId, GetWaylineListRequest param) {
// Paging Query // Paging Query
@ -138,17 +133,6 @@ public class WaylineFileServiceImpl implements IWaylineFileService {
} }
} }
int insertId = mapper.insert(file); int insertId = mapper.insert(file);
//插入航线和设备关联表
if (CollectionUtils.isNotEmpty(metadata.getDeviceSns())){
for (String sn : metadata.getDeviceSns()){
WaylineDeviceEntity entity = new WaylineDeviceEntity();
entity.setWaylineId(file.getWaylineId());
entity.setDeviceSn(sn);
entity.setCreateTime(new Date());
entity.setUpdateTime(new Date());
insertId = deviceMapper.insert(entity);
}
}
return insertId > 0 ? file.getId() : insertId; return insertId > 0 ? file.getId() : insertId;
} }

Loading…
Cancel
Save