Browse Source

改动

wuyuan
吴远 1 month ago
parent
commit
64df39fdd2
  1. 19
      dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertServiceImpl.java
  2. 36
      dk-modules/business/src/main/resources/mapper/business/BusinessAlertMapper.xml
  3. 31
      dk-modules/sample/src/main/java/org/dromara/sample/wayline/controller/WaylineJobController.java
  4. 3
      dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/IWaylineFileService.java
  5. 7
      dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/WaylineFileServiceImpl.java
  6. 4
      dk-visual/nacos/src/main/resources/application.properties

19
dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertServiceImpl.java

@ -307,25 +307,6 @@ public class BusinessAlertServiceImpl implements IBusinessAlertService {
return TableDataInfo.build(page);
}
/**
* 查询当前用户待办预警
* @return
*/
@Override
public List<BusinessAlert> listTodoAlert(BusinessAlertBo businessAlertBo) {
QueryWrapper<BusinessAlert> wrapper = buildQueryWrapper(businessAlertBo);
if (ObjectUtil.isEmpty(wrapper)){
return ListUtil.empty();
}
wrapper.eq("t.node_type", 1);
wrapper.in("t.approver", remoteWorkflowService.getPermissions());
wrapper.in("t.flow_status", BusinessStatusEnum.WAITING.getStatus());
return this.baseMapper.listTodoAlert(wrapper);
}
/**
* 查询当前用户待办预警
* @param bo

36
dk-modules/business/src/main/resources/mapper/business/BusinessAlertMapper.xml

@ -109,42 +109,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
${ew.getCustomSqlSegment}
</select>
<select id="listTodoAlert" resultType="org.dromara.business.domain.BusinessAlert">
select t.* from (
select
ba.*,
b.flow_status,
b.business_id,
uu.processed_by approver,
a.id flowTaskId,
b.id instanceId,
a.node_type,
fnData.buttonPermission,
fnData.permissions
from dk_business.business_alert ba
inner join dk_workflow.flow_instance b on ba.id = b.business_id
left join dk_workflow.flow_task a on a.instance_id = b.id
left join dk_workflow.flow_user uu on uu.associated = a.id
left join dk_workflow.flow_definition c on a.definition_id = c.id
LEFT JOIN LATERAL (
SELECT
JSON_UNQUOTE(JSON_EXTRACT(fn.ext, '$[0].value')) AS buttonPermission,
fn.permissions
FROM dk_workflow.flow_node fn
WHERE
fn.node_code = b.node_code
and fn.definition_id = c.id
and fn.del_flag = '0'
LIMIT 1
) AS fnData ON TRUE
where a.node_type = 1
and a.del_flag = '0'
and uu.del_flag = '0'
and uu.type in ('1','2','3')
) t
${ew.getCustomSqlSegment}
</select>
<select id="listMonthAlert" resultType="java.util.Map">
SELECT DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL -11 MONTH), '%Y-%m') AS dateMonth,count(1) total from business_alert ba
where DATE_FORMAT(ba.create_time, '%Y-%m' ) = DATE_FORMAT(DATE_ADD(DATE_FORMAT(CURDATE(), '%Y-01-01'), INTERVAL 0 MONTH), '%Y-%m')

31
dk-modules/sample/src/main/java/org/dromara/sample/wayline/controller/WaylineJobController.java

@ -3,25 +3,35 @@ package org.dromara.sample.wayline.controller;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import org.dromara.business.api.domain.vo.RemoteBusinessAlertVo;
import org.dromara.common.core.domain.R;
import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.common.sdk.cloudapi.wayline.FlighttaskProgress;
import org.dromara.common.sdk.cloudapi.wayline.WaylineJobTypeEnum;
import org.dromara.common.sdk.common.HttpResultResponse;
import org.dromara.common.sdk.common.PaginationData;
import org.dromara.sample.component.mqtt.model.EventsReceiver;
import org.dromara.sample.media.model.MediaFileDTO;
import org.dromara.sample.wayline.model.dto.WaylineJobDTO;
import org.dromara.sample.wayline.model.entity.WaylineFileEntity;
import org.dromara.sample.wayline.model.param.CreateJobParam;
import org.dromara.sample.wayline.model.param.UpdateJobParam;
import org.dromara.sample.wayline.service.IFlightTaskService;
import org.dromara.sample.wayline.service.IWaylineFileService;
import org.dromara.sample.wayline.service.IWaylineJobService;
import org.dromara.sample.wayline.service.IWaylineRedisService;
import org.dromara.sample.wayline.service.impl.WaylineFileServiceImpl;
import org.dromara.system.api.model.LoginUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.net.URL;
import java.sql.SQLException;
import java.util.List;
import java.util.Optional;
import java.util.Set;
import static org.bouncycastle.asn1.x500.style.RFC4519Style.name;
@ -43,6 +53,11 @@ public class WaylineJobController {
@Autowired
private IFlightTaskService flighttaskService;
@Autowired
private IWaylineRedisService waylineRedisService;
@Autowired
private IWaylineFileService waylineFileService;
/**
* Create a wayline task for the Dock.
* @param request
@ -111,6 +126,22 @@ public class WaylineJobController {
return HttpResultResponse.success();
}
@GetMapping("/{workspace_id}/getJobFileUrlByDeviceSn")
@Operation(summary = "根据设备查询飞行任务。", description = "根据设备查询飞行任务。")
public void getJobFileUrlByDeviceSn(@PathVariable(name = "workspace_id") String workspaceId,
@RequestParam(name = "device_sn") String deviceSn, HttpServletRequest req, HttpServletResponse rsp) {
try {
Optional<EventsReceiver<FlighttaskProgress>> runningWaylineJob = waylineRedisService.getRunningWaylineJob(deviceSn);
if(runningWaylineJob.isEmpty())return;
String jobId = runningWaylineJob.get().getOutput().getExt().getFlightId();
Optional<WaylineJobDTO> waylineJobDTO = waylineJobService.getJobByJobId(workspaceId, jobId);
if(waylineJobDTO.isEmpty())return;
URL url = waylineFileService.getObjectUrl(workspaceId, waylineJobDTO.get().getFileId());
rsp.sendRedirect(url.toString());
} catch (IOException | SQLException e) {
e.printStackTrace();
}
}

3
dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/IWaylineFileService.java

@ -5,6 +5,7 @@ import org.dromara.common.sdk.cloudapi.wayline.GetWaylineListResponse;
import org.dromara.common.sdk.common.PaginationData;
import org.dromara.sample.wayline.model.dto.WaylineFileDTO;
import org.dromara.sample.wayline.model.entity.AudioFileEntity;
import org.dromara.sample.wayline.model.entity.WaylineFileEntity;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
@ -87,6 +88,8 @@ public interface IWaylineFileService {
String getWaylineIdByFileId(Integer fileId);
WaylineFileEntity getWaylineFileByWaylineId(Integer waylineId);
/**
* Perform paging queries based on query parameters.

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

@ -248,6 +248,13 @@ public class WaylineFileServiceImpl implements IWaylineFileService {
return waylineId;
}
@Override
public WaylineFileEntity getWaylineFileByWaylineId(Integer waylineId) {
return mapper.selectOne(
new LambdaQueryWrapper<WaylineFileEntity>()
.eq(WaylineFileEntity::getId, waylineId));
}
@Override
public PaginationData<GetWaylineListResponse> getWaylinesByParamNew(String workspaceId, GetWaylineListRequest param) {
Page<WaylineFileEntity> waylineFileEntityPage = new Page<>(param.getPage(), param.getPageSize());

4
dk-visual/nacos/src/main/resources/application.properties

@ -40,9 +40,9 @@ spring.sql.init.platform=mysql
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/dk_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
db.url.0=jdbc:mysql://114.235.183.147:3306/dk_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
db.user.0=root
db.password.0=123456
db.password.0=dkcy@yf
### the maximum retry times for push
nacos.config.push.maxRetryTime=50

Loading…
Cancel
Save