新部署一个项目

This commit is contained in:
lcj
2025-10-22 16:07:10 +08:00
parent 8d3853fe6b
commit 3ba13e3ef8
8 changed files with 152 additions and 25 deletions

View File

@ -354,3 +354,7 @@ qrCode:
# 无人机大图 # 无人机大图
drone: drone:
url: http://192.168.110.2:9512 url: http://192.168.110.2:9512
# 聊天服务
chat:
server:
port: 19099

View File

@ -164,7 +164,7 @@ sms:
# 配置源类型用于标定配置来源(interface,yaml) # 配置源类型用于标定配置来源(interface,yaml)
config-type: yaml config-type: yaml
# 用于标定yml中的配置是否开启短信拦截接口配置不受此限制 # 用于标定yml中的配置是否开启短信拦截接口配置不受此限制
restricted: true restricted: false
# 短信拦截限制单手机号每分钟最大发送,只对开启了拦截的配置有效 # 短信拦截限制单手机号每分钟最大发送,只对开启了拦截的配置有效
minute-max: 1 minute-max: 1
# 短信拦截限制单手机号每日最大发送量,只对开启了拦截的配置有效 # 短信拦截限制单手机号每日最大发送量,只对开启了拦截的配置有效
@ -183,12 +183,45 @@ sms:
signature: 您的短信签名 signature: 您的短信签名
sdk-app-id: 您的sdkAppId sdk-app-id: 您的sdkAppId
config2: config2:
# 厂商标识,标定此配置是哪个厂商,详细请看厂商标识介绍部分 # 登录
supplier: tencent supplier: tencent
access-key-id: 您的accessKey access-key-id: AKIDb3JK5dx4wa0DCxWqvxlKejvysZ3ITVJv
access-key-secret: 您的accessKeySecret access-key-secret: c5LPFsJI8k7GDxTkoeFj4A1ukQr66rPi
signature: 您的短信签名 signature: 重庆远界大数据研究院
sdk-app-id: 您的sdkAppId sdk-app-id: 1401018866
template-id: 2491779
config3:
# 注册
supplier: tencent
access-key-id: AKIDb3JK5dx4wa0DCxWqvxlKejvysZ3ITVJv
access-key-secret: c5LPFsJI8k7GDxTkoeFj4A1ukQr66rPi
signature: 重庆远界大数据研究院
sdk-app-id: 1401018866
template-id: 2491776
config4:
# 质量工单逾期
supplier: tencent
access-key-id: AKIDb3JK5dx4wa0DCxWqvxlKejvysZ3ITVJv
access-key-secret: c5LPFsJI8k7GDxTkoeFj4A1ukQr66rPi
signature: 重庆远界大数据研究院
sdk-app-id: 1401018866
template-id: 2534747
config5:
# 设计图纸
supplier: tencent
access-key-id: AKIDb3JK5dx4wa0DCxWqvxlKejvysZ3ITVJv
access-key-secret: c5LPFsJI8k7GDxTkoeFj4A1ukQr66rPi
signature: 重庆远界大数据研究院
sdk-app-id: 1401018866
template-id: 2534750
config6:
# 安全工单
supplier: tencent
access-key-id: AKIDb3JK5dx4wa0DCxWqvxlKejvysZ3ITVJv
access-key-secret: c5LPFsJI8k7GDxTkoeFj4A1ukQr66rPi
signature: 重庆远界大数据研究院
sdk-app-id: 1401018866
template-id: 2534848
--- # 三方授权 --- # 三方授权
justauth: justauth:
@ -276,7 +309,10 @@ dxf2GeoJson:
file-name: main file-name: main
ys7: ys7:
app-key: 3acf9f1a43dc4209841e0893003db0a2 app-key: 3acf9f1a43dc4209841e0893003db0a2
app-secret: 4bbf3e9394f55d3af6e3af27b2d3db36 app-secret: 09e29c70ae1161fbc3ce2030fc09ba2e
job:
capture-enabled: true # 控制是否启用萤石抓拍任务
device-sync-enabled: true # 控制是否同步萤石设备
# 斯巴达算法 # 斯巴达算法
sparta: sparta:
url: http://119.3.204.120:8040 url: http://119.3.204.120:8040
@ -286,10 +322,14 @@ sparta:
id-card: id-card:
encrypt-key: 7ae260d150a14027d2238a1cf80a48ef encrypt-key: 7ae260d150a14027d2238a1cf80a48ef
recognizer: recognizer:
url: http://192.168.110.5:50070 url: http://192.168.110.5:50071
qrCode: qrCode:
url: http://xny.yj-3d.com:7171 url: http://xny.yj-3d.com:7788
# 无人机大图 # 无人机大图
drone: drone:
url: http://192.168.110.2:9512 url: http://192.168.110.2:9512
# 聊天服务
chat:
server:
port: 18088

View File

@ -326,7 +326,7 @@ ys7:
app-key: 3acf9f1a43dc4209841e0893003db0a2 app-key: 3acf9f1a43dc4209841e0893003db0a2
app-secret: 09e29c70ae1161fbc3ce2030fc09ba2e app-secret: 09e29c70ae1161fbc3ce2030fc09ba2e
job: job:
capture-enabled: false # 控制是否启用萤石抓拍任务 capture-enabled: true # 控制是否启用萤石抓拍任务
device-sync-enabled: true # 控制是否同步萤石设备 device-sync-enabled: true # 控制是否同步萤石设备
# 斯巴达算法 # 斯巴达算法
sparta: sparta:
@ -344,3 +344,7 @@ qrCode:
# 无人机大图 # 无人机大图
drone: drone:
url: http://192.168.110.2:9512 url: http://192.168.110.2:9512
# 聊天服务
chat:
server:
port: 19099

View File

@ -106,6 +106,10 @@ sa-token:
is-share: false is-share: false
# jwt秘钥 # jwt秘钥
jwt-secret-key: abcdefghijklmnopqrstuvwxyz jwt-secret-key: abcdefghijklmnopqrstuvwxyz
# token有效期单位s 默认30天, -1代表永不过期
timeout: 2592000
# token临时有效期 (指定时间内无操作就视为token过期) 单位: 秒
active-timeout: 86400
# security配置 # security配置
security: security:
@ -277,8 +281,8 @@ springdoc:
packages-to-scan: org.dromara.gps packages-to-scan: org.dromara.gps
- group: 24.招标模块 - group: 24.招标模块
packages-to-scan: org.dromara.tender packages-to-scan: org.dromara.tender
# - group: 25.app版本模块 # - group: 25.app版本模块
# packages-to-scan: org.dromara.app # packages-to-scan: org.dromara.app
- group: 25.数据迁移模块 - group: 25.数据迁移模块
packages-to-scan: org.dromara.transferData packages-to-scan: org.dromara.transferData
- group: 26.netty消息模块 - group: 26.netty消息模块

View File

@ -9,10 +9,7 @@ import lombok.RequiredArgsConstructor;
import org.dromara.bigscreen.domain.dto.ProjectUpdateDto; import org.dromara.bigscreen.domain.dto.ProjectUpdateDto;
import org.dromara.bigscreen.domain.dto.TanchuangInfoReq; import org.dromara.bigscreen.domain.dto.TanchuangInfoReq;
import org.dromara.bigscreen.domain.dto.Ys7DeviceUpdateReq; import org.dromara.bigscreen.domain.dto.Ys7DeviceUpdateReq;
import org.dromara.bigscreen.domain.vo.ProjectImageProgressVo; import org.dromara.bigscreen.domain.vo.*;
import org.dromara.bigscreen.domain.vo.ProjectLandVo;
import org.dromara.bigscreen.domain.vo.ProjectPeopleVo;
import org.dromara.bigscreen.domain.vo.ProjectSafetyInspectionVo;
import org.dromara.bigscreen.service.ProjectBigScreenService; import org.dromara.bigscreen.service.ProjectBigScreenService;
import org.dromara.common.core.constant.HttpStatus; import org.dromara.common.core.constant.HttpStatus;
import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.R;
@ -20,7 +17,12 @@ import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.idempotent.annotation.RepeatSubmit; import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log; import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType; import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController; import org.dromara.common.web.core.BaseController;
import org.dromara.facility.domain.bo.FacRedLineBo;
import org.dromara.facility.domain.vo.redline.FacRedLineVo;
import org.dromara.facility.service.IFacRedLineService;
import org.dromara.gps.domain.bo.GpsEquipmentBo; import org.dromara.gps.domain.bo.GpsEquipmentBo;
import org.dromara.land.domain.BusLandBlock; import org.dromara.land.domain.BusLandBlock;
import org.dromara.land.domain.BusLandTransferLedger; import org.dromara.land.domain.BusLandTransferLedger;
@ -33,6 +35,7 @@ import org.dromara.manager.ys7manager.Ys7Manager;
import org.dromara.other.domain.OthYs7Device; import org.dromara.other.domain.OthYs7Device;
import org.dromara.other.service.IOthYs7DeviceService; import org.dromara.other.service.IOthYs7DeviceService;
import org.dromara.project.domain.vo.project.BusProjectSafetyDayVo; import org.dromara.project.domain.vo.project.BusProjectSafetyDayVo;
import org.dromara.project.domain.vo.project.BusProjectVo;
import org.dromara.project.domain.vo.projectnews.BusProjectNewsVo; import org.dromara.project.domain.vo.projectnews.BusProjectNewsVo;
import org.dromara.project.service.IBusProjectNewsService; import org.dromara.project.service.IBusProjectNewsService;
import org.dromara.project.service.IBusProjectService; import org.dromara.project.service.IBusProjectService;
@ -86,6 +89,8 @@ public class ProjectBigScreenController extends BaseController {
private final BusLandTransferLedgerSonServiceImpl busLandTransferLedgerSonService; private final BusLandTransferLedgerSonServiceImpl busLandTransferLedgerSonService;
private final IFacRedLineService facRedLineService;
/** /**
* 查询项目土地统计 * 查询项目土地统计
*/ */
@ -271,7 +276,7 @@ public class ProjectBigScreenController extends BaseController {
throw new ServiceException("更新云端萤石摄像头名称异常", HttpStatus.ERROR); throw new ServiceException("更新云端萤石摄像头名称异常", HttpStatus.ERROR);
} }
} }
if (req.getLatitude() != null && req.getLongitude() != null) { if (req.getLatitude() != null && req.getLongitude() != null) {
ys7Device.setLatitude(req.getLatitude()); ys7Device.setLatitude(req.getLatitude());
ys7Device.setLongitude(req.getLongitude()); ys7Device.setLongitude(req.getLongitude());
} }
@ -334,6 +339,22 @@ public class ProjectBigScreenController extends BaseController {
return toAjax(projectService.updatePosition(dto)); return toAjax(projectService.updatePosition(dto));
} }
/**
* 获取项目信息
*/
@GetMapping("/getProjectInfo/{projectId}")
public R<ProjectInfo> getProjectInfo(@NotNull(message = "主键不能为空")
@PathVariable Long projectId) {
BusProjectVo projectVo = projectService.queryById(projectId);
ProjectInfo info = new ProjectInfo();
info.setLat(projectVo.getLat());
info.setLng(projectVo.getLng());
info.setPlan(projectVo.getPlan());
info.setPosition(projectVo.getPosition());
info.setProjectId(projectVo.getId().toString());
return R.ok(info);
}
/** /**
* 查询项目地域分散图 * 查询项目地域分散图
@ -372,4 +393,12 @@ public class ProjectBigScreenController extends BaseController {
return R.ok(projectBigScreenService.getInfoData(req)); return R.ok(projectBigScreenService.getInfoData(req));
} }
/**
* 查询设施-红线列表
*/
@GetMapping("/redLine/list")
public TableDataInfo<FacRedLineVo> list(FacRedLineBo bo, PageQuery pageQuery) {
return facRedLineService.queryPageList(bo, pageQuery);
}
} }

View File

@ -0,0 +1,42 @@
package org.dromara.bigscreen.domain.vo;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* @author lilemy
* @date 2025-10-22 15:00
*/
@Data
public class ProjectInfo implements Serializable {
@Serial
private static final long serialVersionUID = -8436930470114636496L;
/**
* 纬度
*/
private String lat;
/**
* 经度
*/
private String lng;
/**
* 计划
*/
private String plan;
/**
* 位置
*/
private String position;
/**
* 项目id
*/
private String projectId;
}

View File

@ -157,4 +157,9 @@ public class BusProjectUpdateReq implements Serializable {
*/ */
private List<Long> deptIds; private List<Long> deptIds;
/**
* 省份
*/
private String province;
} }

View File

@ -1,7 +1,6 @@
package org.dromara.websocket; package org.dromara.websocket;
import io.netty.bootstrap.ServerBootstrap; import io.netty.bootstrap.ServerBootstrap;
import io.netty.channel.ChannelFuture;
import io.netty.channel.ChannelInitializer; import io.netty.channel.ChannelInitializer;
import io.netty.channel.ChannelOption; import io.netty.channel.ChannelOption;
import io.netty.channel.EventLoopGroup; import io.netty.channel.EventLoopGroup;
@ -15,15 +14,15 @@ import io.netty.handler.stream.ChunkedWriteHandler;
import jakarta.annotation.PostConstruct; import jakarta.annotation.PostConstruct;
import jakarta.annotation.PreDestroy; import jakarta.annotation.PreDestroy;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.CommandLineRunner; import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;
@Slf4j @Slf4j
@Configuration @Configuration
public class ChatServer { public class ChatServer {
private final int port = 19099; // 聊天服务器端口
@Value("${chat.server.port}")
private int port; // 聊天服务器端口
private EventLoopGroup bossGroup; private EventLoopGroup bossGroup;
private EventLoopGroup workerGroup; private EventLoopGroup workerGroup;
@ -62,12 +61,12 @@ public class ChatServer {
ch.pipeline().addLast(new ChunkedWriteHandler()); ch.pipeline().addLast(new ChunkedWriteHandler());
ch.pipeline().addLast(new HttpObjectAggregator(8192)); ch.pipeline().addLast(new HttpObjectAggregator(8192));
// 注意WebSocketServerProtocolHandler 必须在 ChatServerHandler 之前添加 // 注意WebSocketServerProtocolHandler 必须在 ChatServerHandler 之前添加
ch.pipeline().addLast(new WebSocketServerProtocolHandler("/ws", null, true, 65536 * 10,false,true)); ch.pipeline().addLast(new WebSocketServerProtocolHandler("/ws", null, true, 65536 * 10, false, true));
ch.pipeline().addLast(new ChatServerHandler()); // 添加聊天消息处理类 ch.pipeline().addLast(new ChatServerHandler()); // 添加聊天消息处理类
} }
}); });
log.info("Netty聊天服务器启动端口" + port); log.info("Netty聊天服务器启动端口{}", port);
bootstrap.bind(port).sync(); bootstrap.bind(port).sync();
// ChannelFuture future = bootstrap.bind(port).sync(); // ChannelFuture future = bootstrap.bind(port).sync();
// future.channel().closeFuture().sync(); // future.channel().closeFuture().sync();