Browse Source

1、北师大设备监接口编写;

2、多路控制代码优化;
3、07规约电表兼容;
dev
25604 6 days ago
parent
commit
202dd5061b
  1. 2
      user-service/src/main/java/com/mh/user/constants/Constant.java
  2. 97
      user-service/src/main/java/com/mh/user/controller/NowDataController.java
  3. 2
      user-service/src/main/java/com/mh/user/job/DealDataJob.java
  4. 2
      user-service/src/main/java/com/mh/user/mapper/DeviceInstallMapper.java
  5. 3
      user-service/src/main/java/com/mh/user/mapper/GatewayManageMapper.java
  6. 45
      user-service/src/main/java/com/mh/user/mapper/NowDataMapper.java
  7. 55
      user-service/src/main/java/com/mh/user/model/MultiControlModel.java
  8. 63
      user-service/src/main/java/com/mh/user/serialport/SerialPortThread.java
  9. 7
      user-service/src/main/java/com/mh/user/service/NowDataService.java
  10. 14
      user-service/src/main/java/com/mh/user/service/impl/ControlSetServiceImpl.java
  11. 12
      user-service/src/main/java/com/mh/user/service/impl/DeviceCodeParamServiceImpl.java
  12. 76
      user-service/src/main/java/com/mh/user/service/impl/NowDataServiceImpl.java
  13. 13
      user-service/src/main/java/com/mh/user/strategy/EleMeterStrategy.java
  14. 84
      user-service/src/main/java/com/mh/user/strategy/MultiControlStrategy.java
  15. 5
      user-service/src/main/java/com/mh/user/strategy/PressureTransStrategy.java
  16. 3
      user-service/src/main/java/com/mh/user/tcp/SendAndReceiveByTcp.java
  17. 33
      user-service/src/main/java/com/mh/user/utils/GetReadOrder485.java
  18. 6
      user-service/src/main/resources/application-dev.yml
  19. 28
      user-service/src/main/resources/application-prod.yml
  20. 2
      user-service/src/main/resources/application.yml
  21. 1
      user-service/src/test/java/com/mh/user/UserServiceApplicationTests.java

2
user-service/src/main/java/com/mh/user/constants/Constant.java

@ -41,6 +41,8 @@ public class Constant {
public static final String BRAND_RU_YI = "汝翊"; public static final String BRAND_RU_YI = "汝翊";
public static final String BRAND_MEI_YI = "美仪";
public static final String BRAND_MEI_DI = "美的"; public static final String BRAND_MEI_DI = "美的";
public static final String BRAND_MEI_DI_TWO = "美的2"; public static final String BRAND_MEI_DI_TWO = "美的2";

97
user-service/src/main/java/com/mh/user/controller/NowDataController.java

@ -5,6 +5,7 @@ import com.mh.user.annotation.BusinessType;
import com.mh.user.annotation.SysLogger; import com.mh.user.annotation.SysLogger;
import com.mh.user.entity.*; import com.mh.user.entity.*;
import com.mh.user.model.DeviceModel; import com.mh.user.model.DeviceModel;
import com.mh.user.model.MultiControlModel;
import com.mh.user.model.PumpModel; import com.mh.user.model.PumpModel;
import com.mh.user.model.WaterLevelModel; import com.mh.user.model.WaterLevelModel;
import com.mh.user.service.*; import com.mh.user.service.*;
@ -107,6 +108,102 @@ public class NowDataController {
} }
} }
@SysLogger(title = "实时监控", optDesc = "实时查看每楼栋多路控制运行情况")
@PostMapping("/queryMultiNow")
public HttpResult queryMultiNowData(@RequestParam(value = "buildingId") String buildingId) {
try {
//把热泵的水温保存到公共信息中中的用水温度和回水温度
String avgWaterTemp = nowDataService.selectAve(buildingId);
String maxWaterTemp = nowDataService.selectMaxTemp(buildingId);
String buildingName = buildingService.queryBuildingName(buildingId);//获取楼栋名称
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
String curDate = sdf1.format(date);
curDate = curDate.substring(0, 13) + ":00:00";
NowPublicDataEntity nowPublicData = new NowPublicDataEntity();
nowPublicData.setBuildingId(buildingId);
nowPublicData.setBuildingName(buildingName);
if (avgWaterTemp != null) {
nowPublicData.setBackWaterTemp(avgWaterTemp);
} else {
nowPublicData.setBackWaterTemp("0");
}
if (maxWaterTemp != null) {
nowPublicData.setUseWaterTemp(maxWaterTemp);
} else {
nowPublicData.setUseWaterTemp("0");
}
nowPublicDataService.saveNowHistoryPublicData(nowPublicData);
//监视表生成初始记录
List<NowDataEntity> list = nowDataService.queryNowData(buildingId);
if (list.isEmpty()) {//实时表生成记录
List<DeviceModel> deviceList = deviceInstallService.selectDevices(buildingId, "多路控制");
if (!deviceList.isEmpty()) {
for (DeviceModel list2 : deviceList) {
NowDataEntity nowData = new NowDataEntity();
nowData.setPumpId(list2.getDeviceAddr());
nowData.setPumpName("1号供水泵");
nowData.setBuildingId(buildingId);
nowData.setBuildingName(buildingName);
nowData.setRunState("0");
nowData.setIsFault("0");
nowData.setCurDate(curDate);
nowDataService.saveNowData(nowData); //当前状态表
nowDataService.saveHistoryData(nowData); //历史状态表
nowData.setPumpId(list2.getDeviceAddr());
nowData.setPumpName("2号供水泵");
nowData.setBuildingId(buildingId);
nowData.setBuildingName(buildingName);
nowData.setRunState("0");
nowData.setIsFault("0");
nowData.setCurDate(curDate);
nowDataService.saveNowData(nowData); //当前状态表
nowDataService.saveHistoryData(nowData); //历史状态表
nowData.setPumpId(list2.getDeviceAddr());
nowData.setPumpName("1号抽水泵");
nowData.setBuildingId(buildingId);
nowData.setBuildingName(buildingName);
nowData.setRunState("0");
nowData.setIsFault("0");
nowData.setCurDate(curDate);
nowDataService.saveNowData(nowData); //当前状态表
nowDataService.saveHistoryData(nowData); //历史状态表
nowData.setPumpId(list2.getDeviceAddr());
nowData.setPumpName("2号抽水泵");
nowData.setBuildingId(buildingId);
nowData.setBuildingName(buildingName);
nowData.setRunState("0");
nowData.setIsFault("0");
nowData.setCurDate(curDate);
nowDataService.saveNowData(nowData); //当前状态表
nowDataService.saveHistoryData(nowData); //历史状态表
nowData.setPumpId(list2.getDeviceAddr());
nowData.setPumpName("补水电磁阀");
nowData.setBuildingId(buildingId);
nowData.setBuildingName(buildingName);
nowData.setRunState("0");
nowData.setIsFault("0");
nowData.setCurDate(curDate);
nowDataService.saveNowData(nowData); //当前状态表
nowDataService.saveHistoryData(nowData); //历史状态表
}
}
}
List<MultiControlModel> resultList = nowDataService.queryMultiControlNowData(buildingId);
return HttpResult.ok(resultList);
} catch (Exception e) {
log.error("查询当前监控状态出错!", e);
return HttpResult.error("查询当前监控状态出错!");
}
}
@SysLogger(title = "实时监控", optDesc = "分别查看热泵运行情况") @SysLogger(title = "实时监控", optDesc = "分别查看热泵运行情况")
@PostMapping("/queryNowByPump") @PostMapping("/queryNowByPump")
public HttpResult queryNowByPump(@RequestParam(value = "buildingId") String buildingId, @RequestParam(value = "pumpId") String pumpId) { public HttpResult queryNowByPump(@RequestParam(value = "buildingId") String buildingId, @RequestParam(value = "pumpId") String pumpId) {

2
user-service/src/main/java/com/mh/user/job/DealDataJob.java

@ -74,7 +74,7 @@ public class DealDataJob {
* 采集 * 采集
*/ */
@Scheduled(cron = "35 0/2 * * * ?") @Scheduled(cron = "35 0/2 * * * ?")
// @Scheduled(cron = "0/10 * * * * ?") 0 0/5 * * * ? // @Scheduled(cron = "0 0/1 * * * ?")
// @Scheduled(cron = "0 0/5 * * * ?") //5分钟 // @Scheduled(cron = "0 0/5 * * * ?") //5分钟
public void collect() { public void collect() {
try { try {

2
user-service/src/main/java/com/mh/user/mapper/DeviceInstallMapper.java

@ -87,7 +87,7 @@ public interface DeviceInstallMapper extends BaseMapper<DeviceInstallEntity> {
List<DeviceInstallEntity> selectDeviceParams(); List<DeviceInstallEntity> selectDeviceParams();
@ResultMap("rs") @ResultMap("rs")
@Select("select * from device_install where device_type='热泵' or device_type='水位开关' ") @Select("select * from device_install where device_type='热泵' or device_type='水位开关' or device_type = '多路控制' ")
List<DeviceInstallEntity> selectDeviceParams2(); List<DeviceInstallEntity> selectDeviceParams2();
//查询需要手动开关机的热泵 //查询需要手动开关机的热泵

3
user-service/src/main/java/com/mh/user/mapper/GatewayManageMapper.java

@ -112,4 +112,7 @@ public interface GatewayManageMapper {
// 根据设备IMEI更新设备在线状态 // 根据设备IMEI更新设备在线状态
@Update("update gateway_manage set grade = #{status}, connect_date = getdate() where imei = #{imei}") @Update("update gateway_manage set grade = #{status}, connect_date = getdate() where imei = #{imei}")
void updateGatewayManageOnlineByImei(String imei, int status); void updateGatewayManageOnlineByImei(String imei, int status);
@Select("select top 1 grade from gateway_manage where data_com = #{dataCom} ")
int queryGatewayByDataCom(@Param("dataCom") String dataCom);
} }

45
user-service/src/main/java/com/mh/user/mapper/NowDataMapper.java

@ -518,4 +518,49 @@ public interface NowDataMapper {
@Delete("delete from now_data where pump_id=#{pumpId} and building_id=#{buildingId}") @Delete("delete from now_data where pump_id=#{pumpId} and building_id=#{buildingId}")
void deleteNowDataByDeviceAddr(@Param("pumpId") String pumpId, void deleteNowDataByDeviceAddr(@Param("pumpId") String pumpId,
@Param("buildingId") String buildingId); @Param("buildingId") String buildingId);
@Select("select count(1) from now_data where pump_name like concat('%',#{pumpName},'%') " +
" and building_id=#{buildingId} " +
" and pump_id=#{deviceAddr}")
int selectNowDataByPumName(@Param("buildingId") String buildingId, @Param("deviceAddr") String deviceAddr, @Param("pumpName") String pumpName);
//查询监控界面实时信息
@Results(id="rsd",value = {
@Result(property="curDate",column="cur_date"),
@Result(property="buildingId",column="building_id"),
@Result(property="buildingName",column="building_name"),
@Result(property="pumpId",column="pump_id"),
@Result(property ="pumpName",column ="pump_name"),
@Result(property ="tempSet",column ="temp_set"),
@Result(property="waterTemp",column="water_temp"),
@Result(property ="runState",column ="run_state"),
@Result(property ="upWaterState",column ="up_water_state"),
@Result(property ="useWaterState",column ="use_water_state"),
@Result(property ="backWaterState",column ="back_water_state"),
@Result(property ="isFault",column ="is_fault"),
@Result(property ="levelSet",column ="level_set"),
@Result(property ="waterLevel",column ="water_level"),
@Result(property ="tankId",column ="tank_id"),
@Result(property ="tankName",column ="tank_name"),
@Result(property ="envTemp",column ="env_temp")
})
@Select("select * from now_data where pump_name like concat('%',#{pumpName},'%') " +
"and building_id= #{buildingId} " +
"and pump_id= #{deviceAddr}")
NowDataEntity queryNowDataByPumpName(@Param("buildingId") String buildingId, @Param("deviceAddr") String deviceAddr, @Param("pumpName") String pumpName);
@Update("<script>" +
" update now_data set cur_date=getDate()" +
" <if test='buildingName!=null and buildingName != \"\"'> , building_name = #{buildingName} </if>" +
" <if test='tempSet!=null and tempSet != \"\"'> , temp_set = #{tempSet} </if>" +
" <if test='waterTemp!=null and waterTemp != \"\"'> , water_temp = #{waterTemp} </if>" +
" <if test='runState!=null and runState != \"\"'> , run_state = #{runState} </if>" +
" <if test='isFault!=null and isFault != \"\"'> , is_fault = #{isFault} </if>" +
" <if test='levelSet!=null and levelSet != \"\"'> , level_set = #{levelSet} </if>" +
" <if test='waterLevel!=null and waterLevel != \"\"'> , water_level = #{waterLevel} </if>" +
" <if test='tankId!=null and tankId != \"\"'> , tank_id = #{tankId} </if>" +
" <if test='tankName!=null and tankName != \"\"'> , tank_name = #{tankName} </if>" +
" where building_id = #{buildingId} and pump_id = #{pumpId} and pump_name = #{pumpName} " +
"</script>")
void updateMultiNowData(NowDataEntity nowDataEntity);
} }

55
user-service/src/main/java/com/mh/user/model/MultiControlModel.java

@ -0,0 +1,55 @@
package com.mh.user.model;
import lombok.Getter;
import lombok.Setter;
import java.util.StringJoiner;
/**
* @author LJF
* @version 1.0
* @project CHWS
* @description 多路控制响应实体类
* @date 2025-11-20 08:46:22
*/
@Setter
@Getter
public class MultiControlModel {
private String curDate; //日期
private String buildingId; //楼栋编号
private String buildingName; //楼栋名称
private int upPumpRunStateOne; //1号供水泵运行状态 1:运行;0:停止
private int upPumpIsFaultOne; //1号供水泵故障状态 1:有故障;0:无故障
private int upPumpRunStateTwo; //2号供水泵运行状态 1:运行;0:停止
private int upPumpIsFaultTwo; //2号供水泵故障状态 1:有故障;0:无故障
private int suctionPumpRunStateOne; //1号抽水泵运行状态 1:运行;0:停止
private int suctionPumpIsFaultOne; //1号抽水泵故障状态 1:有故障;0:无故障
private int suctionPumpRunStateTwo; //2号抽水泵运行状态 1:运行;0:停止
private int suctionPumpIsFaultTwo; //2号抽水泵故障状态 1:有故障;0:无故障
private int upValveRunState; //补水电磁阀运行状态 1:运行;0:停止
private int gwRunState; // 网关运行状态 标志位(连接状态) 0:正常;1:不在线;2:异常
@Override
public String toString() {
return new StringJoiner(", ", MultiControlModel.class.getSimpleName() + "[", "]")
.add("curDate='" + curDate + "'")
.add("buildingId='" + buildingId + "'")
.add("buildingName='" + buildingName + "'")
.add("upPumpRunStateOne=" + upPumpRunStateOne)
.add("upPumpIsFaultOne=" + upPumpIsFaultOne)
.add("upPumpRunStateTwo=" + upPumpRunStateTwo)
.add("upPumpIsFaultTwo=" + upPumpIsFaultTwo)
.add("suctionPumpRunStateOne=" + suctionPumpRunStateOne)
.add("suctionPumpIsFaultOne=" + suctionPumpIsFaultOne)
.add("suctionPumpRunStateTwo=" + suctionPumpRunStateTwo)
.add("suctionPumpIsFaultTwo=" + suctionPumpIsFaultTwo)
.add("upValveRunState=" + upValveRunState)
.add("gwRunState=" + gwRunState)
.toString();
}
}

63
user-service/src/main/java/com/mh/user/serialport/SerialPortThread.java

@ -1,5 +1,6 @@
package com.mh.user.serialport; package com.mh.user.serialport;
import com.mh.common.utils.StringUtils;
import com.mh.user.constants.Constant; import com.mh.user.constants.Constant;
import com.mh.user.entity.GatewayManageEntity; import com.mh.user.entity.GatewayManageEntity;
import com.mh.user.tcp.SendAndReceiveByTcp; import com.mh.user.tcp.SendAndReceiveByTcp;
@ -38,38 +39,46 @@ public class SerialPortThread implements Runnable{
this.countDownLatch = countDownLatch; this.countDownLatch = countDownLatch;
} }
public void run(){ public void run() {
log.info("创建发送接收数据线程>>>>>>>>>>>>>>" + thread); log.info("创建发送接收数据线程>>>>>>>>>>>>>>" + thread);
// 增加判断是什么通讯类型:realCom、tcp try {
CacheUtil instance = CacheUtil.getInstance(); // 增加判断是什么通讯类型:realCom、tcp
List<GatewayManageEntity> gwList = instance.getGatewayInfo(); CacheUtil instance = CacheUtil.getInstance();
if (gwList != null && !gwList.isEmpty()) { List<GatewayManageEntity> gwList = instance.getGatewayInfo();
for (GatewayManageEntity gw : gwList) { if (gwList != null && !gwList.isEmpty()) {
if (gw.getDataCom().toUpperCase().equals("COM"+thread)) { for (GatewayManageEntity gw : gwList) {
String communityType = gw.getCommunityType(); if (StringUtils.isBlank(gw.getDataCom())) {
if (Constant.COMMUNITY_TYPE_REAL_COM.equals(communityType)) { continue;
SendAndReceiveByCom sendAndReceiveByCom = new SendAndReceiveByCom(); }
try { if (gw.getDataCom().toUpperCase().equals("COM" + thread)) {
sendAndReceiveByCom.sendAndReceive(name, thread); String communityType = gw.getCommunityType();
} catch (Exception e) { if (Constant.COMMUNITY_TYPE_REAL_COM.equals(communityType)) {
log.error("串口通信发生异常: ", e); SendAndReceiveByCom sendAndReceiveByCom = new SendAndReceiveByCom();
} finally { try {
this.countDownLatch.countDown(); sendAndReceiveByCom.sendAndReceive(name, thread);
} } catch (Exception e) {
} else if (Constant.COMMUNITY_TYPE_TCP.equals(communityType)) { log.error("串口通信发生异常: ", e);
// 开始TCP通信 }
SendAndReceiveByTcp sendAndReceiveByTcp = new SendAndReceiveByTcp(); return; // 找到并处理后直接返回
try { } else if (Constant.COMMUNITY_TYPE_TCP.equals(communityType)) {
sendAndReceiveByTcp.sendAndReceive(name, thread, gw.getHeartBeat()); // 开始TCP通信
} catch (Exception e) { SendAndReceiveByTcp sendAndReceiveByTcp = new SendAndReceiveByTcp();
log.error("TCP通信发生异常: ", e); try {
} finally { sendAndReceiveByTcp.sendAndReceive(name, thread, gw.getHeartBeat());
this.countDownLatch.countDown(); } catch (Exception e) {
log.error("TCP通信发生异常: ", e);
}
return; // 找到并处理后直接返回
} }
} }
} }
} }
} finally {
// 确保无论如何都会执行 countDown
if (this.countDownLatch != null) {
this.countDownLatch.countDown();
}
} }
} }
} }

7
user-service/src/main/java/com/mh/user/service/NowDataService.java

@ -2,6 +2,7 @@ package com.mh.user.service;
import com.mh.user.annotation.SysLogger; import com.mh.user.annotation.SysLogger;
import com.mh.user.entity.*; import com.mh.user.entity.*;
import com.mh.user.model.MultiControlModel;
import com.mh.user.model.WaterLevelModel; import com.mh.user.model.WaterLevelModel;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
@ -147,5 +148,11 @@ public interface NowDataService {
void updateNowPublicData(NowPublicDataEntity publicData); void updateNowPublicData(NowPublicDataEntity publicData);
void updatePumpName(String oldPumpId, String oldPumpName, String oldBuildingId, String pumpId, String pumpName, String buildingId, String buildingName); void updatePumpName(String oldPumpId, String oldPumpName, String oldBuildingId, String pumpId, String pumpName, String buildingId, String buildingName);
NowDataEntity queryNowDataByPumpName(String buildingId, String buildingName, String deviceAddr, String deviceName);
List<MultiControlModel> queryMultiControlNowData(String buildingId);
void updateMultiNowData(NowDataEntity nowDataEntity);
} }

14
user-service/src/main/java/com/mh/user/service/impl/ControlSetServiceImpl.java

@ -3,6 +3,7 @@ package com.mh.user.service.impl;
import com.mh.common.utils.StringUtils; import com.mh.common.utils.StringUtils;
import com.mh.user.entity.ControlSetEntity; import com.mh.user.entity.ControlSetEntity;
import com.mh.user.mapper.ControlSetMapper; import com.mh.user.mapper.ControlSetMapper;
import com.mh.user.mapper.DeviceInstallMapper;
import com.mh.user.service.ControlSetService; import com.mh.user.service.ControlSetService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -13,6 +14,9 @@ public class ControlSetServiceImpl implements ControlSetService {
@Autowired @Autowired
ControlSetMapper controlSetMapper; ControlSetMapper controlSetMapper;
@Autowired
DeviceInstallMapper deviceInstallMapper;
@Override @Override
public void saveControlSet(ControlSetEntity controlSetEntity) { public void saveControlSet(ControlSetEntity controlSetEntity) {
@ -33,8 +37,16 @@ public class ControlSetServiceImpl implements ControlSetService {
} }
if (timeName.contains("时控")) { if (timeName.contains("时控")) {
timeName = timeName.replaceAll("时控",""); timeName = timeName.replaceAll("时控","");
timeName = timeName + "时控";
} else if (timeName.contains("多路控制")) {
// 判断安装信息有没有deviceType='多路控制'
String deviceAddr = deviceInstallMapper.selectDeviceAddr("多路控制", buildingId);
if (StringUtils.isBlank(deviceAddr)) {
return null;
}
return new ControlSetEntity();
} }
ControlSetEntity controlSetEntity = controlSetMapper.queryControlSet(buildingId, timeName + "时控"); ControlSetEntity controlSetEntity = controlSetMapper.queryControlSet(buildingId, timeName);
if (null == controlSetEntity) { if (null == controlSetEntity) {
controlSetEntity = controlSetMapper.queryControlSet(buildingId, timeName + "温控"); controlSetEntity = controlSetMapper.queryControlSet(buildingId, timeName + "温控");
} }

12
user-service/src/main/java/com/mh/user/service/impl/DeviceCodeParamServiceImpl.java

@ -64,17 +64,23 @@ public class DeviceCodeParamServiceImpl implements DeviceCodeParamService {
@Override @Override
public void insertDeviceCodeParamList(List<DeviceCodeParamEntity> deviceCodeParamEntityList) { public void insertDeviceCodeParamList(List<DeviceCodeParamEntity> deviceCodeParamEntityList) {
deviceCodeParamMapper.insertDeviceCodeParamList(deviceCodeParamEntityList); if(!deviceCodeParamEntityList.isEmpty()){
deviceCodeParamMapper.insertDeviceCodeParamList(deviceCodeParamEntityList);
}
} }
@Override @Override
public void insertDeviceCodeParamList2(List<DeviceCodeParamEntity> deviceCodeParamEntityList) { public void insertDeviceCodeParamList2(List<DeviceCodeParamEntity> deviceCodeParamEntityList) {
deviceCodeParamMapper.insertDeviceCodeParamList2(deviceCodeParamEntityList); if(!deviceCodeParamEntityList.isEmpty()){
deviceCodeParamMapper.insertDeviceCodeParamList2(deviceCodeParamEntityList);
}
} }
@Override @Override
public void insertDeviceCodeParamList3(List<DeviceCodeParamEntity> deviceCodeParamEntityList) { public void insertDeviceCodeParamList3(List<DeviceCodeParamEntity> deviceCodeParamEntityList) {
deviceCodeParamMapper.insertDeviceCodeParamList3(deviceCodeParamEntityList); if(!deviceCodeParamEntityList.isEmpty()){
deviceCodeParamMapper.insertDeviceCodeParamList3(deviceCodeParamEntityList);
}
} }
@Override @Override

76
user-service/src/main/java/com/mh/user/service/impl/NowDataServiceImpl.java

@ -5,6 +5,7 @@ import com.mh.user.constants.Constant;
import com.mh.user.entity.*; import com.mh.user.entity.*;
import com.mh.user.mapper.*; import com.mh.user.mapper.*;
import com.mh.user.model.DeviceModel; import com.mh.user.model.DeviceModel;
import com.mh.user.model.MultiControlModel;
import com.mh.user.model.PumpModel; import com.mh.user.model.PumpModel;
import com.mh.user.model.WaterLevelModel; import com.mh.user.model.WaterLevelModel;
import com.mh.user.service.BuildingService; import com.mh.user.service.BuildingService;
@ -14,14 +15,12 @@ import com.mh.user.service.NowDataService;
import com.mh.user.utils.DateUtil; import com.mh.user.utils.DateUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Collections; import java.util.*;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.concurrent.locks.ReentrantLock; import java.util.concurrent.locks.ReentrantLock;
@Slf4j @Slf4j
@ -54,6 +53,75 @@ public class NowDataServiceImpl implements NowDataService {
ReentrantLock lockB = new ReentrantLock(); ReentrantLock lockB = new ReentrantLock();
@Autowired @Autowired
private AreaMapper areaMapper; private AreaMapper areaMapper;
@Qualifier("gatewayManageMapper")
@Autowired
private GatewayManageMapper gatewayManageMapper;
@Override
public void updateMultiNowData(NowDataEntity nowDataEntity) {
nowDataMapper.updateMultiNowData(nowDataEntity);
}
@Override
public List<MultiControlModel> queryMultiControlNowData(String buildingId) {
List<NowDataEntity> list = nowDataMapper.queryNowData(buildingId);
if (list.isEmpty()) {
return Collections.emptyList();
}
// list stream遍历,通过pumpName进行匹配,其中1号供水泵分别赋值
List<MultiControlModel> result = new ArrayList<>();
MultiControlModel multiControlModel = new MultiControlModel();
multiControlModel.setBuildingId(buildingId);
multiControlModel.setBuildingName(list.get(0).getBuildingName());
multiControlModel.setCurDate(list.get(0).getCurDate());
for (NowDataEntity nowDataEntity : list) {
switch (nowDataEntity.getPumpName()) {
case "1号供水泵":
multiControlModel.setUpPumpRunStateOne(Integer.parseInt(nowDataEntity.getRunState()));
multiControlModel.setUpPumpIsFaultOne(Integer.parseInt(nowDataEntity.getIsFault()));
break;
case "2号供水泵":
multiControlModel.setUpPumpRunStateTwo(Integer.parseInt(nowDataEntity.getRunState()));
multiControlModel.setUpPumpIsFaultTwo(Integer.parseInt(nowDataEntity.getIsFault()));
break;
case "1号抽水泵":
multiControlModel.setSuctionPumpRunStateOne(Integer.parseInt(nowDataEntity.getRunState()));
// multiControlModel.setSuctionPumpIsFaultOne(Integer.parseInt(nowDataEntity.getIsFault()));
break;
case "2号抽水泵":
multiControlModel.setSuctionPumpRunStateTwo(Integer.parseInt(nowDataEntity.getRunState()));
multiControlModel.setSuctionPumpIsFaultTwo(Integer.parseInt(nowDataEntity.getIsFault()));
break;
case "补水电磁阀":
multiControlModel.setUpValveRunState(Integer.parseInt(nowDataEntity.getRunState()));
break;
}
}
// 在判断网关在线情况
List<DeviceInstallEntity> devices = deviceInstallMapper.selectOfflineDevice(buildingId, "多路控制");
if (!devices.isEmpty()) {
DeviceInstallEntity deviceInstallEntity = devices.get(0);
int online = gatewayManageMapper.queryGatewayByDataCom(deviceInstallEntity.getDataCom());
multiControlModel.setGwRunState(online);
}
result.add(multiControlModel);
return result;
}
@Override
public NowDataEntity queryNowDataByPumpName(String buildingId, String buildingName, String deviceAddr, String deviceName) {
int count = nowDataMapper.selectNowDataByPumName(buildingId,deviceAddr,deviceName);
if (count==0){
NowDataEntity nowDataEntity = new NowDataEntity();
nowDataEntity.setPumpId(deviceAddr);
nowDataEntity.setPumpName(deviceName);
nowDataEntity.setBuildingId(buildingId);
nowDataEntity.setBuildingName(buildingName);
nowDataMapper.saveNowData(nowDataEntity);
return nowDataEntity;
}
return nowDataMapper.queryNowDataByPumpName(buildingId,deviceAddr,deviceName);
}
@Override @Override
public void saveNowData(NowDataEntity nowDataEntity) { public void saveNowData(NowDataEntity nowDataEntity) {

13
user-service/src/main/java/com/mh/user/strategy/EleMeterStrategy.java

@ -59,6 +59,19 @@ public class EleMeterStrategy implements DeviceStrategy {
// } // }
String checkWord = ExchangeStringUtil.getStrCRC16(str); //CRC16校验 String checkWord = ExchangeStringUtil.getStrCRC16(str); //CRC16校验
str = str + checkWord; str = str + checkWord;
} if ("广仪07规约".equals(deviceCodeParamEntity.getBrand())) {
//0代表前面补充0,12代表长度为12,d代表参数为正数型,基表通讯号
str = String.format("%012d", Long.parseLong(deviceAddr));
//转换位置
str = ExchangeStringUtil.changePosition(str);
//拼接功能码
str = "68" + str + "681104";
String strData = "00000100";
//加33操作
str = str + ExchangeStringUtil.addThree(strData);
//检验和
String checkSum = ExchangeStringUtil.makeChecksum(str);
str = "FEFEFE" + str + checkSum + "16";
} else { } else {
//0代表前面补充0,12代表长度为12,d代表参数为正数型,基表通讯号 //0代表前面补充0,12代表长度为12,d代表参数为正数型,基表通讯号
str = String.format("%012d", Long.parseLong(deviceAddr)); str = String.format("%012d", Long.parseLong(deviceAddr));

84
user-service/src/main/java/com/mh/user/strategy/MultiControlStrategy.java

@ -2,16 +2,16 @@ package com.mh.user.strategy;
import com.mh.common.utils.StringUtils; import com.mh.common.utils.StringUtils;
import com.mh.user.constants.Constant; import com.mh.user.constants.Constant;
import com.mh.user.entity.DeviceCodeParamEntity; import com.mh.user.entity.*;
import com.mh.user.entity.DeviceInstallEntity;
import com.mh.user.entity.NowPublicDataEntity;
import com.mh.user.entity.SysParamEntity;
import com.mh.user.service.*; import com.mh.user.service.*;
import com.mh.user.utils.ExchangeStringUtil; import com.mh.user.utils.ExchangeStringUtil;
import com.mh.user.utils.SpringBeanUtil; import com.mh.user.utils.SpringBeanUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContext;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
@ -59,6 +59,14 @@ public class MultiControlStrategy implements DeviceStrategy {
// 设备参数 // 设备参数
String param = deviceCodeParamEntity.getParam(); String param = deviceCodeParamEntity.getParam();
if (StringUtils.isBlank(param)) {
if ("0010".equals(registerAddr)) {
param = "DO_ALL";
} else if ("0018".equals(registerAddr)) {
param = "DI_ALL";
}
}
// 设备值 // 设备值
String dataValue = deviceCodeParamEntity.getDataValue(); String dataValue = deviceCodeParamEntity.getDataValue();
@ -73,6 +81,7 @@ public class MultiControlStrategy implements DeviceStrategy {
if (!StringUtils.isBlank(param)) { if (!StringUtils.isBlank(param)) {
switch (param) { switch (param) {
case "DO_ALL": case "DO_ALL":
deviceCodeParamEntity.setRegisterAddr("0018");
registerAddr = "00180008"; registerAddr = "00180008";
break; break;
case "DO1": case "DO1":
@ -100,6 +109,7 @@ public class MultiControlStrategy implements DeviceStrategy {
registerAddr = "001F0001"; registerAddr = "001F0001";
break; break;
case "DI_ALL": case "DI_ALL":
deviceCodeParamEntity.setRegisterAddr("0010");
registerAddr = "00100008"; registerAddr = "00100008";
break; break;
case "DI1": case "DI1":
@ -213,7 +223,7 @@ public class MultiControlStrategy implements DeviceStrategy {
// 多路控制,长度42,128 // 多路控制,长度42,128
public String analysisRelayOrder485(final String dateStr, public String analysisRelayOrder485(final String dateStr,
final String receiveData, final String receiveData1,
final String registerAddr, final String registerAddr,
final String brand, final String brand,
String buildingId, String buildingId,
@ -231,12 +241,27 @@ public class MultiControlStrategy implements DeviceStrategy {
String waterLevelSet = ""; String waterLevelSet = "";
String addr = ""; String addr = "";
String param = deviceCodeParamEntity.getParam(); String param = deviceCodeParamEntity.getParam();
String receiveData = receiveData1;
if (receiveData1.length() > 42) {
receiveData = receiveData1.substring(0, 42);
}
if (Constant.BRAND_YUAN_XIANG.equals(brand)) { if (Constant.BRAND_YUAN_XIANG.equals(brand)) {
String checkStr = receiveData.substring(0, receiveData.length() - 4);// 检验报文 String checkStr = receiveData.substring(0, receiveData.length() - 4);// 检验报文
String checkWord = ExchangeStringUtil.getStrCRC16(checkStr); String checkWord = ExchangeStringUtil.getStrCRC16(checkStr);
if (checkWord.equalsIgnoreCase(receiveData.substring(receiveData.length() - 4))) { if (checkWord.equalsIgnoreCase(receiveData.substring(receiveData.length() - 4))) {
addr = ExchangeStringUtil.hexToDec(checkStr.substring(0, 2));//地址 addr = ExchangeStringUtil.hexToDec(checkStr.substring(0, 2));//地址
if (checkStr.startsWith("03", 2)) { if (checkStr.startsWith("03", 2)) {
// 判断响应的长度有多长
int length = receiveData.length();
if (length == 42) {
if (deviceCodeParamEntity.getRegisterAddr().equals("0010")) {
param = "DI_ALL";
} else if (deviceCodeParamEntity.getRegisterAddr().equals("0018")) {
param = "DO_ALL";
} else {
param = "DI_ALL";
}
}
// 根据请求的param参数进行数据截取 // 根据请求的param参数进行数据截取
switch (param) { switch (param) {
case "DI_ALL": case "DI_ALL":
@ -269,11 +294,6 @@ public class MultiControlStrategy implements DeviceStrategy {
l1 = checkStr.substring(6, 10); l1 = checkStr.substring(6, 10);
break; break;
} }
if (!param.contains("ALL")) {
return l1;
} else {
return l1 + l2 + l3 + l4 + l5 + l6 + l7 + l8;
}
} else if (checkStr.startsWith("06", 2) || checkStr.startsWith("04", 2) || checkStr.startsWith("10", 2)) { } else if (checkStr.startsWith("06", 2) || checkStr.startsWith("04", 2) || checkStr.startsWith("10", 2)) {
log.info("时间:{},多路控制地址:{},DO操作成功! ", dateStr, addr); log.info("时间:{},多路控制地址:{},DO操作成功! ", dateStr, addr);
return Constant.SUCCESS; return Constant.SUCCESS;
@ -303,9 +323,10 @@ public class MultiControlStrategy implements DeviceStrategy {
nowPublicDataService.saveNowHistoryPublicData(publicData); nowPublicDataService.saveNowHistoryPublicData(publicData);
log.info("地址:{},供回补水状态保存数据库成功!楼栋ID:{},名称:{}", addr, buildingId, buildingName); log.info("地址:{},供回补水状态保存数据库成功!楼栋ID:{},名称:{}", addr, buildingId, buildingName);
// 更新now_data表中对应的供水、回水、补水状态 // 更新now_data表中对应的供水、回水、补水状态
DeviceInstallEntity deviceInstallEntity = deviceInstallService.selectDevice(addr, "多路控制", buildingId); DeviceInstallEntity deviceInstallEntity = deviceInstallService.selectDevice(addr, "水位开关", buildingId);
if (deviceInstallEntity != null if (deviceInstallEntity != null
&& !StringUtils.isBlank(deviceInstallEntity.getDeviceName())) { && !StringUtils.isBlank(deviceInstallEntity.getDeviceName())) {
// 判断设备类型是什么类型数据
if (deviceInstallEntity.getDeviceName().contains("低")) { if (deviceInstallEntity.getDeviceName().contains("低")) {
log.info("更新now_data表中低区对应的供水、回水、补水状态,楼栋ID:{},供水状态:{},回水状态:{},补水状态:{}", buildingId, publicData.getUseWater(), publicData.getBackWater(), publicData.getUpWater()); log.info("更新now_data表中低区对应的供水、回水、补水状态,楼栋ID:{},供水状态:{},回水状态:{},补水状态:{}", buildingId, publicData.getUseWater(), publicData.getBackWater(), publicData.getUpWater());
nowDataService.updateNowDataByPumpName("低", buildingId, publicData.getUseWater(), publicData.getBackWater(), publicData.getUpWater()); nowDataService.updateNowDataByPumpName("低", buildingId, publicData.getUseWater(), publicData.getBackWater(), publicData.getUpWater());
@ -324,9 +345,48 @@ public class MultiControlStrategy implements DeviceStrategy {
} }
nowDataService.updateNowPublicData(publicData); nowDataService.updateNowPublicData(publicData);
} }
deviceInstallEntity = deviceInstallService.selectDevice(addr, "多路控制", buildingId);
if (deviceInstallEntity != null
&& !StringUtils.isBlank(deviceInstallEntity.getDeviceName())) {
// 查看是否存在1号供水泵、2号供水泵、1号抽水泵、2号抽水泵、补水电磁阀
NowDataEntity nowDataEntity = nowDataService.queryNowDataByPumpName(buildingId, buildingName, deviceInstallEntity.getDeviceAddr(), "1号供水泵");
// 多路控制,分别插入或者更新DI点和DO点值
if (receiveData.length() == 42) {
// l1 l2 l3 l4 l5 l6 l7 l8形成一个key,value
if (param.equals("DI_ALL")) {
nowDataEntity.setRunState(l1);
nowDataEntity.setIsFault(l3);
nowDataService.updateMultiNowData(nowDataEntity);
nowDataEntity = nowDataService.queryNowDataByPumpName(buildingId, buildingName, deviceInstallEntity.getDeviceAddr(), "2号供水泵");
nowDataEntity.setRunState(l2);
nowDataEntity.setIsFault(l4);
nowDataService.updateMultiNowData(nowDataEntity);
nowDataEntity = nowDataService.queryNowDataByPumpName(buildingId, buildingName, deviceInstallEntity.getDeviceAddr(), "1号抽水泵");
nowDataEntity.setRunState(l5);
nowDataService.updateMultiNowData(nowDataEntity);
nowDataEntity = nowDataService.queryNowDataByPumpName(buildingId, buildingName, deviceInstallEntity.getDeviceAddr(), "2号抽水泵");
nowDataEntity.setRunState(l6);
nowDataEntity.setIsFault(l8);
nowDataService.updateMultiNowData(nowDataEntity);
nowDataEntity = nowDataService.queryNowDataByPumpName(buildingId, buildingName, deviceInstallEntity.getDeviceAddr(), "补水电磁阀");
nowDataEntity.setRunState(l7);
nowDataService.updateMultiNowData(nowDataEntity);
}
// if (param.equals("DO_ALL")) {
// nowDataEntity = nowDataService.queryNowDataByPumpName(buildingId, buildingName, deviceInstallEntity.getDeviceAddr(), "补水电磁阀");
// nowDataEntity.setRunState(l5);
// nowDataService.updateMultiNowData(nowDataEntity);
// }
}
nowDataService.updateNowPublicData(publicData);
}
} }
} }
return Constant.FAIL; if (!param.contains("ALL")) {
return l1;
} else {
return l1 + l2 + l3 + l4 + l5 + l6 + l7 + l8;
}
} }
return l1; return l1;
} }

5
user-service/src/main/java/com/mh/user/strategy/PressureTransStrategy.java

@ -54,6 +54,8 @@ public class PressureTransStrategy implements DeviceStrategy {
str = str + "0300040001"; // 新款压力变送器 str = str + "0300040001"; // 新款压力变送器
} else if (Constant.BRAND_RU_YI.equals(brand)) { } else if (Constant.BRAND_RU_YI.equals(brand)) {
str = str + "0300040001"; str = str + "0300040001";
} else if (Constant.BRAND_MEI_YI.equals(brand)) {
str = str + "0304040002"; // 压力输出值
} else { } else {
str = str + "0300000002"; // 压力变送器(新的协议) str = str + "0300000002"; // 压力变送器(新的协议)
} }
@ -85,6 +87,9 @@ public class PressureTransStrategy implements DeviceStrategy {
} else if (Constant.BRAND_AU_SUN.equals(brand) || Constant.BRAND_RU_YI.equals(brand)) { } else if (Constant.BRAND_AU_SUN.equals(brand) || Constant.BRAND_RU_YI.equals(brand)) {
data = ExchangeStringUtil.hexToDec(checkStr.substring(6, 10));//十六进制转整形 data = ExchangeStringUtil.hexToDec(checkStr.substring(6, 10));//十六进制转整形
wtHeight = Double.parseDouble(data) / 100 * 0.102; //通过压力求水高 wtHeight = Double.parseDouble(data) / 100 * 0.102; //通过压力求水高
} else if (Constant.BRAND_MEI_YI.equals(brand)) {
data = ExchangeStringUtil.hexToDec(checkStr.substring(6, 14));//十六进制转整形
wtHeight = Double.parseDouble(data);
} }
Double tankHeight; Double tankHeight;
// 默认是高区域 // 默认是高区域

3
user-service/src/main/java/com/mh/user/tcp/SendAndReceiveByTcp.java

@ -114,7 +114,7 @@ public class SendAndReceiveByTcp {
continue; continue;
} }
// 处理返回来的数据报文 // 处理返回来的数据报文
dealReceiveData(dateStr, keyVal, i, deviceAddr, deviceType, registerAddr, brand, buildingId, buildingName, receiveMsg, device, null); dealReceiveData(dateStr, keyVal, i, deviceAddr, deviceType, registerAddr, brand, buildingId, buildingName, receiveMsg, device, deviceManageEntityList.get(i));
} else { } else {
log.error("没有找到心跳包数据:{}", heartBeat); log.error("没有找到心跳包数据:{}", heartBeat);
} }
@ -122,6 +122,7 @@ public class SendAndReceiveByTcp {
log.error("发送窗口数据异常==>", e); log.error("发送窗口数据异常==>", e);
} }
} }
log.info("----------------{}采集完成----------------", sort);
} catch (Exception e) { } catch (Exception e) {
log.error("-------------串口采集异常!----------->>", e); log.error("-------------串口采集异常!----------->>", e);
} }

33
user-service/src/main/java/com/mh/user/utils/GetReadOrder485.java

@ -1045,6 +1045,39 @@ public class GetReadOrder485 {
deviceCodeParamEntityList.add(deviceCodeParamEntity2); deviceCodeParamEntityList.add(deviceCodeParamEntity2);
} }
} }
if (devices.getDeviceType().equals("多路控制")) {
if (Constant.BRAND_YUAN_XIANG.equals(devices.getBrand())) {
DeviceCodeParamEntity deviceCodeParamEntity2 = new DeviceCodeParamEntity();
deviceCodeParamEntity2.setRegisterAddr("0018");//DO点:读多路启停状态
deviceCodeParamEntity2.setFunCode("03");
deviceCodeParamEntity2.setDeviceAddr(devices.getDeviceAddr());
deviceCodeParamEntity2.setDeviceName(devices.getDeviceName());
deviceCodeParamEntity2.setDeviceType(devices.getDeviceType());
deviceCodeParamEntity2.setBaudrate(devices.getBaudRate());
deviceCodeParamEntity2.setBrand(devices.getBrand());
deviceCodeParamEntity2.setDataCom(devices.getDataCom());
// 只获取字符串数字
deviceCodeParamEntity2.setThread(ExchangeStringUtil.getNumFromString(devices.getDataCom()));
deviceCodeParamEntity2.setBuildingId(devices.getBuildingId());
deviceCodeParamEntity2.setParity(devices.getParity());
deviceCodeParamEntityList.add(deviceCodeParamEntity2);
DeviceCodeParamEntity deviceCodeParamEntity4 = new DeviceCodeParamEntity();
deviceCodeParamEntity4.setRegisterAddr("0010");//DI点:读取多路运行故障状态
deviceCodeParamEntity4.setFunCode("03");
deviceCodeParamEntity4.setDeviceAddr(devices.getDeviceAddr());
deviceCodeParamEntity4.setDeviceName(devices.getDeviceName());
deviceCodeParamEntity4.setDeviceType(devices.getDeviceType());
deviceCodeParamEntity4.setBaudrate(devices.getBaudRate());
deviceCodeParamEntity4.setBrand(devices.getBrand());
deviceCodeParamEntity4.setDataCom(devices.getDataCom());
// 只获取字符串数字
deviceCodeParamEntity4.setThread(ExchangeStringUtil.getNumFromString(devices.getDataCom()));
deviceCodeParamEntity4.setBuildingId(devices.getBuildingId());
deviceCodeParamEntity4.setParity(devices.getParity());
deviceCodeParamEntityList.add(deviceCodeParamEntity4);
}
}
deviceCodeParamService.insertDeviceCodeParamList3(deviceCodeParamEntityList); deviceCodeParamService.insertDeviceCodeParamList3(deviceCodeParamEntityList);
} }
} }

6
user-service/src/main/resources/application-dev.yml

@ -8,10 +8,14 @@ spring:
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
druid: druid:
#添加allowMultiQueries=true 在批量更新时才不会出错 #添加allowMultiQueries=true 在批量更新时才不会出错
url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=chws_chx;allowMultiQueries=true url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=chws_bsdz;allowMultiQueries=true
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
username: sa username: sa
password: mh@803 password: mh@803
# url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=chws_hx;allowMultiQueries=true
# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
# username: sa
# password: mh@803
# url: jdbc:sqlserver://119.29.33.133:2008;DatabaseName=chws_gsh;allowMultiQueries=true # url: jdbc:sqlserver://119.29.33.133:2008;DatabaseName=chws_gsh;allowMultiQueries=true
# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver # driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
# username: chws # username: chws

28
user-service/src/main/resources/application-prod.yml

@ -1,5 +1,5 @@
server: server:
port: 8762 #8761创新、8762广商、8763华厦、广州理工,华粤8762,广外8764 port: 8762 #8761创新、8762广商、8763华厦、广州理工,华粤8762,广外8764,北师大(珠海)8762
spring: spring:
application: application:
name: user-service name: user-service
@ -19,20 +19,20 @@ spring:
# username: test # username: test
# password: minghan123456@ # password: minghan123456@
# #华厦云服务器 # #华厦云服务器
url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=CHWS;allowMultiQueries=true # url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=CHWS;allowMultiQueries=true
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver # driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
username: chws # username: chws
password: minghan123456@ # password: minghan123456@
#创新服务器 #创新服务器
# url: jdbc:sqlserver://106.55.173.225:57238;DatabaseName=chws_chx;allowMultiQueries=true # url: jdbc:sqlserver://106.55.173.225:57238;DatabaseName=chws_chx;allowMultiQueries=true
# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver # driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
# username: chws_gsh # username: chws_gsh
# password: Mhtech@803 # password: Mhtech@803
# #广商服务器 #广商服务器
# url: jdbc:sqlserver://106.55.173.225:57238;DatabaseName=chws_gsh;allowMultiQueries=true url: jdbc:sqlserver://175.178.153.91:8033;DatabaseName=chws_gsh;allowMultiQueries=true
# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
# username: chws_gsh username: chws_gsh
# password: Mhtech@803 password: Mhtech@803gsh
#本机 #本机
# url: jdbc:sqlserver://127.0.0.1:9956;DatabaseName=CHWS;allowMultiQueries=true # url: jdbc:sqlserver://127.0.0.1:9956;DatabaseName=CHWS;allowMultiQueries=true
# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver # driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
@ -58,12 +58,18 @@ spring:
# username: chws_gw # username: chws_gw
# password: chws_gw@803 # password: chws_gw@803
# 华软江门 # # 华软江门
# url: jdbc:sqlserver://127.0.0.1:57238;DatabaseName=chws_jm;allowMultiQueries=true # url: jdbc:sqlserver://127.0.0.1:57238;DatabaseName=chws_jm;allowMultiQueries=true
# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver # driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
# username: chws_jm # username: chws_jm
# password: Mhtech@803 # password: Mhtech@803
# # 华软江门
# url: jdbc:sqlserver://127.0.0.1:8033;DatabaseName=chws_bsdz;allowMultiQueries=true
# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
# username: chws_bsdz
# password: Mhtech@803803
filters: stat,wall,config filters: stat,wall,config
max-active: 100 max-active: 100
initial-size: 1 initial-size: 1

2
user-service/src/main/resources/application.yml

@ -1,3 +1,3 @@
spring: spring:
profiles: profiles:
active: prod active: dev

1
user-service/src/test/java/com/mh/user/UserServiceApplicationTests.java

@ -124,6 +124,7 @@ class UserServiceApplicationTests {
"59", "59",
"46栋", "46栋",
"30030200E105C8", "30030200E105C8",
null
); );
} }

Loading…
Cancel
Save