提交代码
parent
503101b20b
commit
ff10ce3e8c
|
@ -1,18 +1,20 @@
|
||||||
package com.ruoyi.iot.api;
|
package com.ruoyi.iot.api;
|
||||||
|
|
||||||
import cn.hutool.http.HttpUtil;
|
import cn.hutool.http.HttpUtil;
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
import com.ruoyi.common.core.text.Convert;
|
import com.ruoyi.common.core.text.Convert;
|
||||||
import com.ruoyi.common.utils.DateUtils;
|
import com.ruoyi.common.utils.DateUtils;
|
||||||
|
import com.ruoyi.iot.domain.IotDeviceInfo;
|
||||||
|
import com.ruoyi.iot.domain.IotPower;
|
||||||
import com.ruoyi.iot.domain.TowerReqVo;
|
import com.ruoyi.iot.domain.TowerReqVo;
|
||||||
import com.ruoyi.iot.enums.TowerTypeEnums;
|
import com.ruoyi.iot.enums.TowerTypeEnums;
|
||||||
|
import com.ruoyi.iot.service.IIotDeviceInfoService;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -39,6 +41,10 @@ public class TowerCraneApiController {
|
||||||
{
|
{
|
||||||
cacheMap = new HashMap<>();
|
cacheMap = new HashMap<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IIotDeviceInfoService iIotDeviceInfoService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 塔吊监测++
|
* 塔吊监测++
|
||||||
* 限流规则[60秒内最多请求10次,限流策略IP]
|
* 限流规则[60秒内最多请求10次,限流策略IP]
|
||||||
|
@ -48,6 +54,7 @@ public class TowerCraneApiController {
|
||||||
*/
|
*/
|
||||||
@PostMapping("/v1/push")
|
@PostMapping("/v1/push")
|
||||||
public AjaxResult pushData(@Validated @RequestBody TowerReqVo req) {
|
public AjaxResult pushData(@Validated @RequestBody TowerReqVo req) {
|
||||||
|
log.info("/towerCrane/v1/push...{}",JSON.toJSONString(req));
|
||||||
if(req.getType() == TowerTypeEnums.BASE.getCode()){
|
if(req.getType() == TowerTypeEnums.BASE.getCode()){
|
||||||
this.pushConfigData(req);
|
this.pushConfigData(req);
|
||||||
}else if(req.getType() == TowerTypeEnums.RUN.getCode()){
|
}else if(req.getType() == TowerTypeEnums.RUN.getCode()){
|
||||||
|
@ -64,6 +71,30 @@ public class TowerCraneApiController {
|
||||||
return AjaxResult.success();
|
return AjaxResult.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 塔吊监测++
|
||||||
|
* 限流规则[60秒内最多请求10次,限流策略IP]
|
||||||
|
* @author JiangYuQi
|
||||||
|
* @date 2024-01-13
|
||||||
|
*/
|
||||||
|
@GetMapping("/v99/pushIotPower")
|
||||||
|
public AjaxResult pushIotPower() {
|
||||||
|
IotDeviceInfo iotDeviceInfo = new IotDeviceInfo();
|
||||||
|
iotDeviceInfo.setDeviceId("A3gVjYga");
|
||||||
|
iotDeviceInfo.setDeviceName("配电箱");
|
||||||
|
iotDeviceInfo.setState(1);
|
||||||
|
iotDeviceInfo.setProjectId(229L);
|
||||||
|
iotDeviceInfo.setPoints(1L);
|
||||||
|
iotDeviceInfo.setTypeName("配电箱");
|
||||||
|
iotDeviceInfo.setHzTenantId("2RrXaxJ8");
|
||||||
|
iotDeviceInfo.setHzProjectId("8NgaaNgY");
|
||||||
|
iotDeviceInfo.setFactoryName("萨达");
|
||||||
|
iotDeviceInfo.setCompanyName("中铁一局建安公司");
|
||||||
|
iotDeviceInfo.setProjectName("西建中国西电集团智慧产业园");
|
||||||
|
iIotDeviceInfoService.insertIotDeviceInfo(iotDeviceInfo);
|
||||||
|
return AjaxResult.success();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 塔机上报基本信息
|
* 塔机上报基本信息
|
||||||
* @param req
|
* @param req
|
||||||
|
|
|
@ -30,7 +30,6 @@ import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.beans.Transient;
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
@ -85,88 +84,89 @@ public class GainHzDataTask {
|
||||||
|
|
||||||
IotDeviceInfo iotDeviceInfo = new IotDeviceInfo();
|
IotDeviceInfo iotDeviceInfo = new IotDeviceInfo();
|
||||||
iotDeviceInfo.setDeviceName("配电箱");
|
iotDeviceInfo.setDeviceName("配电箱");
|
||||||
iotDeviceInfo.setFactoryName("华筑");
|
|
||||||
List<IotDeviceInfo> iotDeviceInfos = iIotDeviceInfoService.selectIotDeviceInfoList(iotDeviceInfo);
|
List<IotDeviceInfo> iotDeviceInfos = iIotDeviceInfoService.selectIotDeviceInfoList(iotDeviceInfo);
|
||||||
iotDeviceInfos.forEach(item -> {
|
iotDeviceInfos.forEach(item -> {
|
||||||
if(item.getHzTenantId() != null && item.getHzProjectId() != null) {
|
if(Objects.isNull(item.getFactoryName()) || !Objects.equals("萨达",item.getFactoryName())){
|
||||||
JSONObject body = new JSONObject();
|
if(item.getHzTenantId() != null && item.getHzProjectId() != null) {
|
||||||
body.put("tenantId", item.getHzTenantId());
|
JSONObject body = new JSONObject();
|
||||||
body.put("projectId", item.getHzProjectId());
|
body.put("tenantId", item.getHzTenantId());
|
||||||
body.put("startTime", startTime);
|
body.put("projectId", item.getHzProjectId());
|
||||||
body.put("endTime", endTime);
|
body.put("startTime", startTime);
|
||||||
String res_str = HttpRequest.post(HzApiConf.IOT_POWER_HOST + HzApiConf.DISTRIBUTION_BOX_PAGE_REAL_DATA)
|
body.put("endTime", endTime);
|
||||||
.header("appId", HzApiConf.APP_ID).header("appSecret", HzApiConf.APP_SECRET)
|
String res_str = HttpRequest.post(HzApiConf.IOT_POWER_HOST + HzApiConf.DISTRIBUTION_BOX_PAGE_REAL_DATA)
|
||||||
.body(body.toString())
|
.header("appId", HzApiConf.APP_ID).header("appSecret", HzApiConf.APP_SECRET)
|
||||||
.execute().body();
|
.body(body.toString())
|
||||||
JSONObject res = JSONObject.parseObject(res_str);
|
.execute().body();
|
||||||
|
JSONObject res = JSONObject.parseObject(res_str);
|
||||||
|
|
||||||
//2. 解析数据
|
//2. 解析数据
|
||||||
System.out.println(res_str);
|
System.out.println(res_str);
|
||||||
JSONArray content = res.getJSONObject("data").getJSONArray("content");
|
JSONArray content = res.getJSONObject("data").getJSONArray("content");
|
||||||
System.out.println(content);
|
System.out.println(content);
|
||||||
List<IotWarningInfo> iotWarningInfos = new ArrayList<>(16);
|
List<IotWarningInfo> iotWarningInfos = new ArrayList<>(16);
|
||||||
List<IotPower> iotPowers = new ArrayList<>(16);
|
List<IotPower> iotPowers = new ArrayList<>(16);
|
||||||
for (int i = 0; i < content.size(); i++) {
|
for (int i = 0; i < content.size(); i++) {
|
||||||
|
|
||||||
//3.数据转换
|
//3.数据转换
|
||||||
JSONObject tmp = content.getJSONObject(i);
|
JSONObject tmp = content.getJSONObject(i);
|
||||||
IotPower iotPower = new IotPower();
|
IotPower iotPower = new IotPower();
|
||||||
iotPower.setUid(tmp.getString("deviceSn"));
|
iotPower.setUid(tmp.getString("deviceSn"));
|
||||||
iotPower.setTime(tmp.getDate("createTime"));
|
iotPower.setTime(tmp.getDate("createTime"));
|
||||||
iotPower.setPower(BigDecimal.valueOf(tmp.getFloat("totalPower")));
|
iotPower.setPower(BigDecimal.valueOf(tmp.getFloat("totalPower")));
|
||||||
iotPower.setLeak(BigDecimal.valueOf(tmp.getFloat("leftElectric")));
|
iotPower.setLeak(BigDecimal.valueOf(tmp.getFloat("leftElectric")));
|
||||||
iotPower.setC1(BigDecimal.valueOf(tmp.getFloat("currentElectric1")));
|
iotPower.setC1(BigDecimal.valueOf(tmp.getFloat("currentElectric1")));
|
||||||
iotPower.setC2(BigDecimal.valueOf(tmp.getFloat("currentElectric2")));
|
iotPower.setC2(BigDecimal.valueOf(tmp.getFloat("currentElectric2")));
|
||||||
iotPower.setC3(BigDecimal.valueOf(tmp.getFloat("currentElectric3")));
|
iotPower.setC3(BigDecimal.valueOf(tmp.getFloat("currentElectric3")));
|
||||||
iotPower.setV1(BigDecimal.valueOf(tmp.getFloat("currentVoltage1")));
|
iotPower.setV1(BigDecimal.valueOf(tmp.getFloat("currentVoltage1")));
|
||||||
iotPower.setV2(BigDecimal.valueOf(tmp.getFloat("currentVoltage2")));
|
iotPower.setV2(BigDecimal.valueOf(tmp.getFloat("currentVoltage2")));
|
||||||
iotPower.setV3(BigDecimal.valueOf(tmp.getFloat("currentVoltage3")));
|
iotPower.setV3(BigDecimal.valueOf(tmp.getFloat("currentVoltage3")));
|
||||||
iotPower.setT1(BigDecimal.valueOf(tmp.getFloat("monitorTem1")));
|
iotPower.setT1(BigDecimal.valueOf(tmp.getFloat("monitorTem1")));
|
||||||
iotPower.setT2(BigDecimal.valueOf(tmp.getFloat("monitorTem2")));
|
iotPower.setT2(BigDecimal.valueOf(tmp.getFloat("monitorTem2")));
|
||||||
iotPower.setT3(BigDecimal.valueOf(tmp.getFloat("monitorTem3")));
|
iotPower.setT3(BigDecimal.valueOf(tmp.getFloat("monitorTem3")));
|
||||||
iotPower.setT4(BigDecimal.valueOf(tmp.getFloat("monitorTem4")));
|
iotPower.setT4(BigDecimal.valueOf(tmp.getFloat("monitorTem4")));
|
||||||
if (t % 2 == 0 && !warrning[t]) {
|
if (t % 2 == 0 && !warrning[t]) {
|
||||||
warrning = new Boolean[]{false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false};
|
warrning = new Boolean[]{false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false};
|
||||||
warrning[t] = true;
|
warrning[t] = true;
|
||||||
if (iotPower.getLeak().floatValue() > HzApiConf.DISTRIBUTION_BOX_WARNING_LEAK) {
|
if (iotPower.getLeak().floatValue() > HzApiConf.DISTRIBUTION_BOX_WARNING_LEAK) {
|
||||||
IotWarningInfo iotWarningInfo = new IotWarningInfo();
|
IotWarningInfo iotWarningInfo = new IotWarningInfo();
|
||||||
iotWarningInfo.setDeviceId(iotPower.getUid());
|
iotWarningInfo.setDeviceId(iotPower.getUid());
|
||||||
iotWarningInfo.setType("漏电预警");
|
iotWarningInfo.setType("漏电预警");
|
||||||
iotWarningInfo.setContent(String.format("设备存在漏电,当前剩余电流:%s", iotPower.getLeak()));
|
iotWarningInfo.setContent(String.format("设备存在漏电,当前剩余电流:%s", iotPower.getLeak()));
|
||||||
iotWarningInfo.setCreateTime(new Date());
|
iotWarningInfo.setCreateTime(new Date());
|
||||||
iotWarningInfos.add(iotWarningInfo);
|
iotWarningInfos.add(iotWarningInfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (iotPower.getT1().floatValue() > HzApiConf.DISTRIBUTION_BOX_WARNING_TEMP
|
||||||
|
|| iotPower.getT2().floatValue() > HzApiConf.DISTRIBUTION_BOX_WARNING_TEMP
|
||||||
|
|| iotPower.getT3().floatValue() > HzApiConf.DISTRIBUTION_BOX_WARNING_TEMP
|
||||||
|
|| iotPower.getT4().floatValue() > HzApiConf.DISTRIBUTION_BOX_WARNING_TEMP) {
|
||||||
|
IotWarningInfo iotWarningInfo = new IotWarningInfo();
|
||||||
|
iotWarningInfo.setDeviceId(iotPower.getUid());
|
||||||
|
iotWarningInfo.setType("温度异常");
|
||||||
|
iotWarningInfo.setContent(String.format("设备当前温度:%s,%s,%s,%s,有温度高于70度", iotPower.getT1(), iotPower.getT2(), iotPower.getT3(), iotPower.getT4()));
|
||||||
|
iotWarningInfo.setCreateTime(new Date());
|
||||||
|
iotWarningInfos.add(iotWarningInfo);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (iotPower.getT1().floatValue() > HzApiConf.DISTRIBUTION_BOX_WARNING_TEMP
|
//4. 数据入库
|
||||||
|| iotPower.getT2().floatValue() > HzApiConf.DISTRIBUTION_BOX_WARNING_TEMP
|
iotPowers.add(iotPower);
|
||||||
|| iotPower.getT3().floatValue() > HzApiConf.DISTRIBUTION_BOX_WARNING_TEMP
|
|
||||||
|| iotPower.getT4().floatValue() > HzApiConf.DISTRIBUTION_BOX_WARNING_TEMP) {
|
Request request = new Request();
|
||||||
IotWarningInfo iotWarningInfo = new IotWarningInfo();
|
request.setUri("https://aqzg.makalu.cc/api/iot/power/save");
|
||||||
iotWarningInfo.setDeviceId(iotPower.getUid());
|
request.addBody(JSONObject.parseObject(JSONObject.toJSONString(iotPower), HashMap.class));
|
||||||
iotWarningInfo.setType("温度异常");
|
try {
|
||||||
iotWarningInfo.setContent(String.format("设备当前温度:%s,%s,%s,%s,有温度高于70度", iotPower.getT1(), iotPower.getT2(), iotPower.getT3(), iotPower.getT4()));
|
HttpClient.json(request);
|
||||||
iotWarningInfo.setCreateTime(new Date());
|
} catch (Exception e) {
|
||||||
iotWarningInfos.add(iotWarningInfo);
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (iotPowers.size() > 0) {
|
||||||
//4. 数据入库
|
iotPowerService.batchInsertPower(iotPowers);
|
||||||
iotPowers.add(iotPower);
|
}
|
||||||
|
if (iotWarningInfos.size() > 0) {
|
||||||
Request request = new Request();
|
iotWarningInfoService.batchInsertWarning(iotWarningInfos);
|
||||||
request.setUri("https://aqzg.makalu.cc/api/iot/power/save");
|
|
||||||
request.addBody(JSONObject.parseObject(JSONObject.toJSONString(iotPower), HashMap.class));
|
|
||||||
try {
|
|
||||||
HttpClient.json(request);
|
|
||||||
} catch (Exception e) {
|
|
||||||
throw new RuntimeException(e);
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if (iotPowers.size() > 0) {
|
|
||||||
iotPowerService.batchInsertPower(iotPowers);
|
|
||||||
}
|
|
||||||
if (iotWarningInfos.size() > 0) {
|
|
||||||
iotWarningInfoService.batchInsertWarning(iotWarningInfos);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -52,6 +52,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<if test="typeName != null">type_name,</if>
|
<if test="typeName != null">type_name,</if>
|
||||||
<if test="hzTenantId != null">hz_tenant_id,</if>
|
<if test="hzTenantId != null">hz_tenant_id,</if>
|
||||||
<if test="hzProjectId != null">hz_project_id,</if>
|
<if test="hzProjectId != null">hz_project_id,</if>
|
||||||
|
<if test="factoryName != null">factory_name,</if>
|
||||||
|
<if test="companyName != null">company_name,</if>
|
||||||
|
<if test="projectName != null">project_name,</if>
|
||||||
</trim>
|
</trim>
|
||||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
<if test="deviceId != null and deviceId != ''">#{deviceId},</if>
|
<if test="deviceId != null and deviceId != ''">#{deviceId},</if>
|
||||||
|
@ -62,6 +65,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<if test="typeName != null">#{typeName},</if>
|
<if test="typeName != null">#{typeName},</if>
|
||||||
<if test="hzTenantId != null">#{hzTenantId},</if>
|
<if test="hzTenantId != null">#{hzTenantId},</if>
|
||||||
<if test="hzProjectId != null">#{hzProjectId},</if>
|
<if test="hzProjectId != null">#{hzProjectId},</if>
|
||||||
|
<if test="factoryName != null">#{factoryName},</if>
|
||||||
|
<if test="companyName != null">#{companyName},</if>
|
||||||
|
<if test="projectName != null">#{projectName},</if>
|
||||||
</trim>
|
</trim>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
|
|
|
@ -289,7 +289,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
<script type="text/javascript" src="https://api.map.baidu.com/api?type=webgl&v=1.0&ak="></script>
|
<script type="text/javascript" src="https://api.map.baidu.com/api?type=webgl&v=1.0&ak=5M76qMCiVjSG7bGOTcYmZdg0MQinsKve"></script>
|
||||||
<script src="https://cdn.makalu.cc/js/vue/vue.js"></script>
|
<script src="https://cdn.makalu.cc/js/vue/vue.js"></script>
|
||||||
<script src="https://cdn.makalu.cc/js/element-ui/index.js"></script>
|
<script src="https://cdn.makalu.cc/js/element-ui/index.js"></script>
|
||||||
<script src="/js/jquery-3.0.0.min.js"></script>
|
<script src="/js/jquery-3.0.0.min.js"></script>
|
||||||
|
|
|
@ -158,7 +158,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
<script type="text/javascript" src="https://api.map.baidu.com/api?type=webgl&v=1.0&ak="></script>
|
<script type="text/javascript" src="https://api.map.baidu.com/api?type=webgl&v=1.0&ak=5M76qMCiVjSG7bGOTcYmZdg0MQinsKve"></script>
|
||||||
<script src="https://cdn.makalu.cc/js/vue/vue.js"></script>
|
<script src="https://cdn.makalu.cc/js/vue/vue.js"></script>
|
||||||
<script src="https://cdn.makalu.cc/js/element-ui/index.js"></script>
|
<script src="https://cdn.makalu.cc/js/element-ui/index.js"></script>
|
||||||
<script src="/js/jquery-3.0.0.min.js"></script>
|
<script src="/js/jquery-3.0.0.min.js"></script>
|
||||||
|
|
|
@ -555,7 +555,7 @@
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
<script type="text/javascript" src="https://api.map.baidu.com/api?type=webgl&v=1.0&ak="></script>
|
<script type="text/javascript" src="https://api.map.baidu.com/api?type=webgl&v=1.0&ak=5M76qMCiVjSG7bGOTcYmZdg0MQinsKve"></script>
|
||||||
<script src="https://cdn.makalu.cc/js/vue/vue.js"></script>
|
<script src="https://cdn.makalu.cc/js/vue/vue.js"></script>
|
||||||
<script src="https://cdn.makalu.cc/js/element-ui/index.js"></script>
|
<script src="https://cdn.makalu.cc/js/element-ui/index.js"></script>
|
||||||
<script src="/js/jquery-3.0.0.min.js"></script>
|
<script src="/js/jquery-3.0.0.min.js"></script>
|
||||||
|
|
|
@ -390,7 +390,7 @@
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
<script type="text/javascript" src="https://api.map.baidu.com/api?type=webgl&v=1.0&ak="></script>
|
<script type="text/javascript" src="https://api.map.baidu.com/api?type=webgl&v=1.0&ak=5M76qMCiVjSG7bGOTcYmZdg0MQinsKve"></script>
|
||||||
<script src="https://cdn.makalu.cc/js/vue/vue.js"></script>
|
<script src="https://cdn.makalu.cc/js/vue/vue.js"></script>
|
||||||
<script src="https://cdn.makalu.cc/js/element-ui/index.js"></script>
|
<script src="https://cdn.makalu.cc/js/element-ui/index.js"></script>
|
||||||
<script src="/js/echarts.js"></script>
|
<script src="/js/echarts.js"></script>
|
||||||
|
|
|
@ -328,7 +328,7 @@
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
<script type="text/javascript" src="https://api.map.baidu.com/api?type=webgl&v=1.0&ak="></script>
|
<script type="text/javascript" src="https://api.map.baidu.com/api?type=webgl&v=1.0&ak=5M76qMCiVjSG7bGOTcYmZdg0MQinsKve"></script>
|
||||||
<script src="https://cdn.makalu.cc/js/vue/vue.js"></script>
|
<script src="https://cdn.makalu.cc/js/vue/vue.js"></script>
|
||||||
<script src="https://cdn.makalu.cc/js/element-ui/index.js"></script>
|
<script src="https://cdn.makalu.cc/js/element-ui/index.js"></script>
|
||||||
<script src="/js/jquery-3.0.0.min.js"></script>
|
<script src="/js/jquery-3.0.0.min.js"></script>
|
||||||
|
|
|
@ -823,7 +823,7 @@
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
<script src="https://cdn.makalu.cc/js/moment/2.24.0/moment.min.js"></script>
|
<script src="https://cdn.makalu.cc/js/moment/2.24.0/moment.min.js"></script>
|
||||||
<script type="text/javascript" src="https://api.map.baidu.com/api?type=webgl&v=1.0&ak="></script>
|
<script type="text/javascript" src="https://api.map.baidu.com/api?type=webgl&v=1.0&ak=5M76qMCiVjSG7bGOTcYmZdg0MQinsKve"></script>
|
||||||
<script src="https://cdn.makalu.cc/js/moment/2.24.0/moment.min.js"></script>
|
<script src="https://cdn.makalu.cc/js/moment/2.24.0/moment.min.js"></script>
|
||||||
<script src="https://cdn.makalu.cc/js/vue/vue.js"></script>
|
<script src="https://cdn.makalu.cc/js/vue/vue.js"></script>
|
||||||
<script src="https://cdn.makalu.cc/js/element-ui/index.js"></script>
|
<script src="https://cdn.makalu.cc/js/element-ui/index.js"></script>
|
||||||
|
|
|
@ -6,9 +6,33 @@ spring:
|
||||||
druid:
|
druid:
|
||||||
# 主库数据源
|
# 主库数据源
|
||||||
master:
|
master:
|
||||||
url: jdbc:mysql://62.234.3.186:3306/mkl_cas2?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&serverTimezone=GMT%2B8
|
# url: jdbc:mysql://rm-wz91cyo73auob3500o.mysql.rds.aliyuncs.com:3306/mkl_cas_demonstration?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&serverTimezone=GMT%2B8
|
||||||
|
# username: weihu
|
||||||
|
# password: mkl!2021
|
||||||
|
url: jdbc:mysql://10.4.9.233:3306/mkl_cas_v1?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&serverTimezone=GMT%2B8
|
||||||
username: root
|
username: root
|
||||||
password: Sxyanzhu@cf123
|
password: Makalu2024
|
||||||
|
# url: jdbc:mysql://rm-wz91cyo73auob3500o.mysql.rds.aliyuncs.com:3306/mkl_cas_test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&serverTimezone=GMT%2B8
|
||||||
|
# username: weihu
|
||||||
|
# password: mkl!2021
|
||||||
|
# url: jdbc:mysql://192.168.31.130:3306/mkl_cas_v1?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&serverTimezone=GMT%2B8
|
||||||
|
# username: root
|
||||||
|
# password: root
|
||||||
|
# url: jdbc:mysql://rm-wz91cyo73auob3500o.mysql.rds.aliyuncs.com:3306/mkl_aqsc?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&serverTimezone=GMT%2B8
|
||||||
|
# username: weihu
|
||||||
|
# password: mkl!2021
|
||||||
|
# url: jdbc:mysql://rm-wz91cyo73auob3500o.mysql.rds.aliyuncs.com:3306/mkl_cas_v1?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&serverTimezone=GMT%2B8
|
||||||
|
# username: weihu
|
||||||
|
# password: mkl!2021
|
||||||
|
# url: jdbc:mysql://127.0.0.1:3306/mkl_aqsc?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&serverTimezone=GMT%2B8
|
||||||
|
# username: root
|
||||||
|
# password: root
|
||||||
|
#中铁三局数字三局
|
||||||
|
# url: jdbc:mysql://rm-wz91s59439vhza70ho.mysql.rds.aliyuncs.com/mkl_cas_ztsj?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&serverTimezone=GMT%2B8
|
||||||
|
# username: weihu
|
||||||
|
# password: mkl!2021
|
||||||
|
|
||||||
|
|
||||||
# 从库数据源
|
# 从库数据源
|
||||||
slave:
|
slave:
|
||||||
# 从数据源开关/默认关闭
|
# 从数据源开关/默认关闭
|
||||||
|
|
|
@ -11,8 +11,10 @@ ruoyi:
|
||||||
# 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath)
|
# 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath)
|
||||||
#中铁一局建安公司
|
#中铁一局建安公司
|
||||||
profile: /mnt/data/typt/uploadPath
|
profile: /mnt/data/typt/uploadPath
|
||||||
|
# 安全生产、数字三局
|
||||||
|
# profile: /mnt/typt/uploadPath
|
||||||
# 本地
|
# 本地
|
||||||
# profile: D://mnt/typt/uploadPath
|
# profile: D://mnt/typt/uploadPath
|
||||||
# 获取ip地址开关
|
# 获取ip地址开关
|
||||||
addressEnabled: true
|
addressEnabled: true
|
||||||
|
|
||||||
|
@ -142,17 +144,43 @@ swagger:
|
||||||
# cas配置
|
# cas配置
|
||||||
cas:
|
cas:
|
||||||
client-name: CasClientTYPT
|
client-name: CasClientTYPT
|
||||||
|
# client-name: CasClientTYPTSJ
|
||||||
|
# client-name: aqscClient
|
||||||
server:
|
server:
|
||||||
url: http://62.234.3.186/cas
|
# url: https://cas-ty.makalu.cc/cas
|
||||||
|
# url: https://cas-sj.makalu.cc/cas
|
||||||
|
url: https://jaszpt-cas.crfeb.com.cn/cas
|
||||||
|
# url: http://localhost:8080/cas
|
||||||
project:
|
project:
|
||||||
url: http://127.0.0.1:9004
|
# url: http://typt-t.makalu.cc
|
||||||
|
# url: https://typt-t1.makalu.cc
|
||||||
|
# url: https://szh.makalu.cc
|
||||||
|
# url: https://aqsc.makalu.cc
|
||||||
|
# url: http://127.0.0.1:9004
|
||||||
|
url: https://jaszpt.crfeb.com.cn
|
||||||
|
# url:https://sz-test.makalu.cc/
|
||||||
|
# url: https://ztsj.makalu.cc/
|
||||||
|
# url: https://szsj.makalu.cc/
|
||||||
|
user-center:
|
||||||
|
# url: https://user-center-sj.makalu.cc
|
||||||
|
url: https://jaszpt-usercenter.crfeb.com.cn
|
||||||
|
# url: https://user-center.makalu.cc
|
||||||
|
# url: 127.0.0.1:8099
|
||||||
# helmet文件下载路径路径配置
|
# helmet文件下载路径路径配置
|
||||||
helmet:
|
helmet:
|
||||||
#建安公司数字化集成管控平台
|
#建安公司数字化集成管控平台
|
||||||
localFilePath: /mnt/data/aqm/
|
localFilePath: /mnt/data/aqm/
|
||||||
downloadFileHost: http://127.0.0.1:9004/typt/
|
downloadFileHost: https://jaszpt.crfeb.com.cn/typt/
|
||||||
downloadWritePath: /mnt/data/typt/
|
downloadWritePath: /mnt/data/typt/
|
||||||
templateFilePath: /mnt/data/temporary/
|
templateFilePath: /mnt/data/temporary/
|
||||||
|
|
||||||
|
#一局三公司安全生产 、数字三局
|
||||||
|
# localFilePath: /mnt/aqm/
|
||||||
|
# downloadFileHost: https://filedown.makalu.cc/
|
||||||
|
# downloadWritePath: /mnt/typt/
|
||||||
|
# templateFilePath: /mnt/temporary/
|
||||||
|
|
||||||
|
|
||||||
#本地
|
#本地
|
||||||
# localFilePath: D:/aqm/
|
# localFilePath: D:/aqm/
|
||||||
# downloadFileHost: D:/mnt/typt/
|
# downloadFileHost: D:/mnt/typt/
|
||||||
|
|
|
@ -1,31 +1,31 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<configuration>
|
<configuration>
|
||||||
<!-- 日志存放路径 -->
|
<!-- 日志存放路径 -->
|
||||||
<property name="log.path" value="./logs" />
|
<property name="log.path" value="./logs" />
|
||||||
<!-- 日志输出格式 -->
|
<!-- 日志输出格式 -->
|
||||||
<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
|
<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
|
||||||
|
|
||||||
<!-- 控制台输出 -->
|
<!-- 控制台输出 -->
|
||||||
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
|
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
|
||||||
<encoder>
|
<encoder>
|
||||||
<pattern>${log.pattern}</pattern>
|
<pattern>${log.pattern}</pattern>
|
||||||
</encoder>
|
</encoder>
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
<!-- 系统日志输出 -->
|
<!-- 系统日志输出 -->
|
||||||
<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||||
<file>${log.path}/sys-info.log</file>
|
<file>${log.path}/sys-info.log</file>
|
||||||
<!-- 循环政策:基于时间创建日志文件 -->
|
<!-- 循环政策:基于时间创建日志文件 -->
|
||||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||||
<!-- 日志文件名格式 -->
|
<!-- 日志文件名格式 -->
|
||||||
<fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern>
|
<fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern>
|
||||||
<!-- 日志最大的历史 60天 -->
|
<!-- 日志最大的历史 60天 -->
|
||||||
<maxHistory>60</maxHistory>
|
<maxHistory>60</maxHistory>
|
||||||
</rollingPolicy>
|
</rollingPolicy>
|
||||||
<encoder>
|
<encoder>
|
||||||
<pattern>${log.pattern}</pattern>
|
<pattern>${log.pattern}</pattern>
|
||||||
</encoder>
|
</encoder>
|
||||||
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
||||||
<!-- 过滤的级别 -->
|
<!-- 过滤的级别 -->
|
||||||
<level>INFO</level>
|
<level>INFO</level>
|
||||||
<!-- 匹配时的操作:接收(记录) -->
|
<!-- 匹配时的操作:接收(记录) -->
|
||||||
|
@ -33,16 +33,16 @@
|
||||||
<!-- 不匹配时的操作:拒绝(不记录) -->
|
<!-- 不匹配时的操作:拒绝(不记录) -->
|
||||||
<onMismatch>DENY</onMismatch>
|
<onMismatch>DENY</onMismatch>
|
||||||
</filter>
|
</filter>
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
<appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
<appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||||
<file>${log.path}/sys-error.log</file>
|
<file>${log.path}/sys-error.log</file>
|
||||||
<!-- 循环政策:基于时间创建日志文件 -->
|
<!-- 循环政策:基于时间创建日志文件 -->
|
||||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||||
<!-- 日志文件名格式 -->
|
<!-- 日志文件名格式 -->
|
||||||
<fileNamePattern>${log.path}/sys-error.%d{yyyy-MM-dd}.log</fileNamePattern>
|
<fileNamePattern>${log.path}/sys-error.%d{yyyy-MM-dd}.log</fileNamePattern>
|
||||||
<!-- 日志最大的历史 60天 -->
|
<!-- 日志最大的历史 60天 -->
|
||||||
<maxHistory>60</maxHistory>
|
<maxHistory>60</maxHistory>
|
||||||
</rollingPolicy>
|
</rollingPolicy>
|
||||||
<encoder>
|
<encoder>
|
||||||
<pattern>${log.pattern}</pattern>
|
<pattern>${log.pattern}</pattern>
|
||||||
|
@ -50,16 +50,16 @@
|
||||||
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
||||||
<!-- 过滤的级别 -->
|
<!-- 过滤的级别 -->
|
||||||
<level>ERROR</level>
|
<level>ERROR</level>
|
||||||
<!-- 匹配时的操作:接收(记录) -->
|
<!-- 匹配时的操作:接收(记录) -->
|
||||||
<onMatch>ACCEPT</onMatch>
|
<onMatch>ACCEPT</onMatch>
|
||||||
<!-- 不匹配时的操作:拒绝(不记录) -->
|
<!-- 不匹配时的操作:拒绝(不记录) -->
|
||||||
<onMismatch>DENY</onMismatch>
|
<onMismatch>DENY</onMismatch>
|
||||||
</filter>
|
</filter>
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
<!-- 用户访问日志输出 -->
|
<!-- 用户访问日志输出 -->
|
||||||
<appender name="sys-user" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
<appender name="sys-user" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||||
<file>${log.path}/sys-user.log</file>
|
<file>${log.path}/sys-user.log</file>
|
||||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||||
<!-- 按天回滚 daily -->
|
<!-- 按天回滚 daily -->
|
||||||
<fileNamePattern>${log.path}/sys-user.%d{yyyy-MM-dd}.log</fileNamePattern>
|
<fileNamePattern>${log.path}/sys-user.%d{yyyy-MM-dd}.log</fileNamePattern>
|
||||||
|
@ -71,22 +71,22 @@
|
||||||
</encoder>
|
</encoder>
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
<!-- 系统模块日志级别控制 -->
|
<!-- 系统模块日志级别控制 -->
|
||||||
<logger name="com.ruoyi" level="info" />
|
<logger name="com.ruoyi" level="info" />
|
||||||
<!-- Spring日志级别控制 -->
|
<!-- Spring日志级别控制 -->
|
||||||
<logger name="org.springframework" level="warn" />
|
<logger name="org.springframework" level="warn" />
|
||||||
|
|
||||||
<root level="info">
|
<root level="info">
|
||||||
<appender-ref ref="console" />
|
<appender-ref ref="console" />
|
||||||
</root>
|
</root>
|
||||||
|
|
||||||
<!--系统操作日志-->
|
<!--系统操作日志-->
|
||||||
<root level="info">
|
<root level="info">
|
||||||
<appender-ref ref="file_info" />
|
<appender-ref ref="file_info" />
|
||||||
<appender-ref ref="file_error" />
|
<appender-ref ref="file_error" />
|
||||||
</root>
|
</root>
|
||||||
|
|
||||||
<!--系统用户操作日志-->
|
<!--系统用户操作日志-->
|
||||||
<logger name="sys-user" level="info">
|
<logger name="sys-user" level="info">
|
||||||
<appender-ref ref="sys-user"/>
|
<appender-ref ref="sys-user"/>
|
||||||
</logger>
|
</logger>
|
||||||
|
|
Loading…
Reference in New Issue