zuoxiao
3 天以前 48d5fe7eaad22768e6c64711c50c485e8176f6f9
Merge remote-tracking branch 'origin/master'
33个文件已修改
1个文件已删除
1个文件已添加
512 ■■■■■ 已修改文件
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/MqttMsgParser.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/pSdV1/MqttSubMsgSdV1.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/pSdV1/ProtocolParserSdV1.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/pSdV1/upVos/ManureVo.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/pSdV1/upVos/SoilVo.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/pSdV1/upVos/StateVo.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/pSdV1/upVos/WeatherVo.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/application-common-mw.yml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/application-common-web(121服务器).yml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/application-common-web.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/application-database-jyg.yml 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/init-config(121服务器).xml 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.properties 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-param-set/src/main/java/com/dy/pipIrrParamSet/console/Command.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-param-set/src/main/java/com/dy/pipIrrParamSet/paramSet/ParamKey.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-param-set/src/main/java/com/dy/pipIrrParamSet/paramSet/ParamSetMw.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-param-set/src/main/resources/application-params.yml 93 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/resources/application(121服务器).yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/resources/application(121服务器).yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-file/src/main/resources/application(121服务器).yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-gis/src/main/resources/application(121服务器).yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/resources/application(121服务器).yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-operation/src/main/resources/application(121服务器).yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/resources/application(121服务器).yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/resources/application(121服务器).yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/resources/application(121服务器).yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/resources/application(121服务器).yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/resources/application(121服务器).yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/resources/application(121服务器).yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/resources/application(121服务器).yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/resources/application(121服务器).yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/文档/SaaS/增加一个单位(orgTag).docx 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/文档/SaaS/端口、IP、标签配置.docx 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/MqttMsgParser.java
@@ -18,7 +18,7 @@
            if(topicGrp.length != 5){
                throw new Exception("接收的mqtt消息主题不可识别") ;
            }else{
                if(NumUtil.isPlusIntNumber(topicGrp[4])){
                if(!NumUtil.isPlusIntNumber(topicGrp[4])){
                    throw new Exception("接收的mqtt消息主题不可识别") ;
                }
                if(Integer.parseInt(topicGrp[4]) <= 0){
@@ -73,7 +73,7 @@
    public static void main(String[] args) {
        String s = "ym/sd1/10000/control/m1" ;
        String s = "jyg/sd1/2430002404000840/weather/1" ;
        String[] ss = s.split("/") ;
        for (String s1 : ss) {
            System.out.println(s1);
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/pSdV1/MqttSubMsgSdV1.java
@@ -3,8 +3,8 @@
import com.dy.common.mw.protocol4Mqtt.MqttPubMsg;
import com.dy.common.mw.protocol4Mqtt.MqttSubMsg;
import com.dy.common.mw.protocol4Mqtt.MqttTopic;
import com.dy.common.mw.protocol4Mqtt.pSdV1.upVos.StateVo;
import com.dy.common.mw.protocol4Mqtt.Vo4Up;
import com.dy.common.mw.protocol4Mqtt.pSdV1.upVos.ManureVo;
import com.dy.common.util.Callback;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -52,7 +52,7 @@
    public boolean subMsgMatchPubMsg(MqttPubMsg pubMsg){
        if (pubMsg instanceof MqttPubMsgSdV1) {
            //MqttPubMsgSdV1 pubMsgSdV1 = (MqttPubMsgSdV1) pubMsg;
            if(this.vo4Up != null && this.vo4Up instanceof StateVo){
            if(this.vo4Up != null && this.vo4Up instanceof ManureVo){
                //只要上报的是状态数据,说明设备响应了命令
                return true ;
            }
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/pSdV1/ProtocolParserSdV1.java
@@ -41,12 +41,7 @@
            }
            case ProtocolConstantSdV1.SubTopicManure -> {
                vo = JSON.parseObject(strTxt, ManureVo.class);
                break;
            }
            case ProtocolConstantSdV1.SubTopicState -> {
                //此处未完成,应该产生一些通信的info,供下面callback.notify(objs)通知出去
                vo = JSON.parseObject(strTxt, StateVo.class);
                StateVo stVo = (StateVo)vo ;
                ManureVo stVo = (ManureVo)vo ;
                stInfo = new DevRunInfo() ;
                stInfo.devId = msg.deviceId ;
                stInfo.stirRunning = (stVo.stirRunning==null?false:(stVo.stirRunning.byteValue()==1?true:false)) ; //搅拌运行 true是 false否
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/pSdV1/upVos/ManureVo.java
@@ -15,16 +15,28 @@
    @JSONField(name = "flexem_message_id")
    public Integer messageId ;//消息ID
    public Integer no ;//测站编号,其不在JSON数据中,其中主题中
    public Integer no ;//测站编号,其不在JSON数据中,其在主题中
    @JSONField(name = "搅拌运行")
    public Byte stirRunning ;//搅拌运行
    @JSONField(name = "注肥运行")
    public Byte injectRunning ;//注肥运行
    @JSONField(name = "灌溉运行")
    public Byte irrRunning ;//灌溉运行
    @JSONField(name = "报警")
    public Byte alarm ;//报警
    @JSONField(name = "肥料流量")
    public Float manureFlow ;//肥料流量
    public Float manureFlow ;
    @JSONField(name = "注肥时长")
    public Integer manureTime ;//注肥时长
    @JSONField(name = "注肥经过时间")
    public Integer manureTime ;
    @JSONField(name = "搅拌时长")
    public Integer stirTime ;//搅拌时长
    @JSONField(name = "搅拌经过时间")
    public Integer stirTime ;
    @JSONField(name = "flexem_timestamp")
    public Long devDt ;//设备时间
@@ -49,9 +61,13 @@
        StringBuilder sb = new StringBuilder();
        sb.append("水肥数据=>") ;
        sb.append(" æ¶ˆæ¯ID:" + messageId + ", ") ;
        sb.append(" æ…拌运行:" + stirRunning + ", ") ;
        sb.append(" æ³¨è‚¥è¿è¡Œï¼š" + injectRunning + ", ") ;
        sb.append(" çŒæº‰è¿è¡Œï¼š" + irrRunning + ", ") ;
        sb.append(" æŠ¥è­¦ï¼š" + alarm + ", ") ;
        sb.append(" è‚¥æ–™æµé‡ï¼š" + manureFlow + ", ") ;
        sb.append(" æ³¨è‚¥æ—¶é•¿ï¼š" + manureTime + ", ") ;
        sb.append(" æ…拌时长:" + stirTime + ", ") ;
        sb.append(" æ³¨è‚¥ç»è¿‡æ—¶é—´ï¼š" + manureTime + ", ") ;
        sb.append(" æ…拌经过时间:" + stirTime + ", ") ;
        sb.append(" è®¾å¤‡æ—¶é—´ï¼š" + devDt + ", ") ;
        sb.append(" è®¾å¤‡æ—¶é—´ï¼š" +  this.getDevDtStr() + ", ") ;
        sb.append("\n") ;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/pSdV1/upVos/SoilVo.java
@@ -15,31 +15,37 @@
    @JSONField(name = "flexem_message_id")
    public Integer messageId ;//消息ID
    public Integer no ;//测站编号,其不在JSON数据中,其中主题中
    public Integer no ;//测站编号,其不在JSON数据中,其在主题中
    @JSONField(name = "土壤湿度1")
    public Float soilHumidity1 ;//土壤湿度1
    public Integer soilHumidity1 ;
    @JSONField(name = "土壤湿度2")
    public Float soilHumidity2 ;//土壤湿度2
    public Integer soilHumidity2 ;
    @JSONField(name = "土壤湿度3")
    public Float soilHumidity3 ;//土壤湿度3
    public Integer soilHumidity3 ;
    @JSONField(name = "土壤湿度4")
    public Float soilHumidity4 ;//土壤湿度4
    public Integer soilHumidity4 ;
    @JSONField(name = "土壤湿度5")
    public Integer soilHumidity5 ;
    @JSONField(name = "土壤湿度1")
    public Float soilTemperature1 ;//土壤温度1
    public Integer soilTemperature1 ;
    @JSONField(name = "土壤温度2")
    public Float soilTemperature2 ;//土壤温度2
    public Integer soilTemperature2 ;
    @JSONField(name = "土壤温度3")
    public Float soilTemperature3 ;//土壤温度3
    public Integer soilTemperature3 ;
    @JSONField(name = "土壤温度4")
    public Float soilTemperature4 ;//土壤温度4
    public Integer soilTemperature4 ;
    @JSONField(name = "土壤温度5")
    public Integer soilTemperature5 ;
    @JSONField(name = "flexem_timestamp")
    public Long devDt ;//设备时间
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/pSdV1/upVos/StateVo.java
File was deleted
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/pSdV1/upVos/WeatherVo.java
@@ -16,28 +16,34 @@
    @JSONField(name = "flexem_message_id")
    public Integer messageId ;//消息ID
    public Integer no ;//测站编号,其不在JSON数据中,其中主题中
    public Integer no ;//测站编号,其不在JSON数据中,其在主题中
    @JSONField(name = "二氧化碳")
    public Integer carbonDioxide ;//二氧化碳
    //@JSONField(name = "二氧化碳")
    //public Integer carbonDioxide ;
    @JSONField(name = "光照强度")
    public Integer lightIntensity ;//光照强度
    @JSONField(name = "大气压力")
    public Integer atmosphericPressure ;//大气压力
    //@JSONField(name = "大气压力")
    //public Integer atmosphericPressure ;
    @JSONField(name = "空气温度")
    public Integer airTemperature ;//空气温度
    public Integer airTemperature ;
    @JSONField(name = "空气湿度")
    public Integer airHumidity ;//空气湿度
    public Integer airHumidity ;
    @JSONField(name = "PM2.5")
    public Integer pm25 ;//PM2.5
    @JSONField(name = "紫外线")
    public Integer ultraviolet ;
    @JSONField(name = "PM10")
    public Integer pm10 ;//PM10
    @JSONField(name = "光照强度")
    public Integer lightIntensity ;
    @JSONField(name = "雨量")
    public Integer rainfall ;
    @JSONField(name = "风速")
    public Integer windSpeed ;
    @JSONField(name = "风向")
    public Integer windDirection ;
    @JSONField(name = "flexem_timestamp")
@@ -62,14 +68,16 @@
    public String toString(){
        StringBuilder sb = new StringBuilder();
        sb.append("气象数据=>") ;
        //sb.append(" äºŒæ°§åŒ–碳:" + carbonDioxide + ", ") ;
        //sb.append(" å¤§æ°”压力:" + atmosphericPressure + ", ") ;
        sb.append(" æ¶ˆæ¯ID:" + messageId + ", ") ;
        sb.append(" äºŒæ°§åŒ–碳:" + carbonDioxide + ", ") ;
        sb.append(" å…‰ç…§å¼ºåº¦ï¼š" + lightIntensity + ", ") ;
        sb.append(" å¤§æ°”压力:" + atmosphericPressure + ", ") ;
        sb.append(" ç©ºæ°”温度:" + airTemperature + ", ") ;
        sb.append(" ç©ºæ°”湿度:" + airHumidity + ", ") ;
        sb.append(" PM2.5:" + pm25 + ", ") ;
        sb.append(" PM10:" + pm10 + ", ") ;
        sb.append(" ç´«å¤–线:" + ultraviolet + ", ") ;
        sb.append(" å…‰ç…§å¼ºåº¦ï¼š" + lightIntensity + ", ") ;
        sb.append(" é›¨é‡ï¼š" + rainfall + ", ") ;
        sb.append(" é£Žé€Ÿï¼š" + windSpeed + ", ") ;
        sb.append(" é£Žå‘:" + windDirection + ", ") ;
        sb.append(" è®¾å¤‡æ—¶é—´ï¼š" + devDt + ", ") ;
        sb.append(" è®¾å¤‡æ—¶é—´ï¼š" +  this.getDevDtStr() + ", ") ;
        sb.append("\n") ;
pipIrr-platform/pipIrr-global/src/main/resources/application-common-mw.yml
@@ -11,6 +11,7 @@
  #   gz: 8103  9103
  #   lz: 8104  9104
  #   jc: 8105  9105
  #   jyg: 8106  9106
  pipIrr_mw_webPort: 8070 #通信中间件中应用,不能在web模块系统中应用
  pipIrr_mw_actutorPort: 9070 #通信中间件中应用,不能在web模块系统中应用
@@ -26,4 +27,5 @@
  #   gz: pipIrr_gz
  #   lz: pipIrr_lz
  #   jc: pipIrr_jc
  #   jyg: pipIrr_jyg
  spring_datasource_url_dbname: pipIrr_ym #数据库名称
pipIrr-platform/pipIrr-global/src/main/resources/application-common-web(121·þÎñÆ÷).yml
@@ -1,7 +1,7 @@
common:
  # 233服务器:ym,mj,sp,test
  # 121服务器:mq,yq,hlj,gz,lz,jc
  spring_main_datasource_names: mq,yq,hlj,gz,lz,jc
  # 121服务器:mq,yq,hlj,gz,lz,jc,jyg
  spring_main_datasource_names: mq,yq,hlj,gz,lz,jc,jyg
  # è™šæ‹Ÿå¡è¡¨:
  #      å­—段in_use意为占用状态,当为true时统一设置值为0
pipIrr-platform/pipIrr-global/src/main/resources/application-common-web.yml
@@ -1,6 +1,6 @@
common:
  # 233服务器:ym,mj,sp,test
  # 121服务器:mq,yq,hlj,gz,lz,jc
  # 121服务器:mq,yq,hlj,gz,lz,jc,jyg
  spring_main_datasource_names: ym,mj,sp,test
  # è™šæ‹Ÿå¡è¡¨:
pipIrr-platform/pipIrr-global/src/main/resources/application-database-jyg.yml
New file
@@ -0,0 +1,69 @@
# æ•°æ®æºé…ç½®
spring:
    datasource: #配置数据源
        jyg:
            #name: ym
            type: com.alibaba.druid.pool.DruidDataSource
            driverClassName: com.mysql.cj.jdbc.Driver
#            url: jdbc:mysql://192.168.40.166:3306/pipIrr_jyg?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
#            url: jdbc:mysql://8.130.130.233:3306/pipIrr_jyg?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
            url: jdbc:mysql://127.0.0.1:3306/pipIrr_jyg?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
            username: root
            password: dysql,;.abc!@#
            druid:
                # æ•°æ®æºåç§°ï¼šå½“存在多个数据源时,设置名字可以很方便的来进行区分,默认自动生成名称,格式是:"DataSource-" + System.identityHashCode(this)
                name: druid-mysql-jyg
                #配置初始化大小、最小、最大
                initialSize: 10
                minIdle: 10
                maxActive: 100
                # èŽ·å–è¿žæŽ¥æ—¶æœ€å¤§ç­‰å¾…æ—¶é—´,单位毫秒。配置了maxWait之后,缺省启用公平锁,并发效率会有所下降,如果需要可以通过配置useUnfairLock属性为true使用非公平锁
                maxWait: 60000
                #配置间隔多久进行一次检测,检测需要关闭的空闲连接,单位毫秒。 é»˜è®¤æ˜¯60s,太长可能会导致无法及时检测到连接中断
                timeBetweenEvictionRunsMillis: 60000
                #配置一个连接在连接池中的最小生存时间、最大生存时间,超过最大生存时间会被移除,单位毫秒。
                minEvictableIdleTimeMillis: 300000
                maxEvictableIdleTimeMillis: 900000
                #探活、验证链接有效性的查询,新版本默认使用mysqlPing代替
                #validation-query: select 1 #注释掉,采用默认的mysqlPing
                #配置从连接池获取连接时,当连接空闲时间大于timeBetweenEvictionRunsMillis时是否检查连接有效性,true每次都检查;false不检查。
                testWhileIdle: true
                #配置从连接池获取连接时和向连接池归还连接时,是否检查连接有效性
                #每次获取或归还连接都检测太频繁,除非特别重要或网络特别不可靠等情况,建议用testWhileIdle + timeBetweenEvictionRunsMillis代替。-->
                testOnBorrow: false
                testOnReturn: false
                #配置是否定期探活、探活间隔, é»˜è®¤120s
                keepAlive: true
                #keepAliveBetweenTimeMillis must be greater than timeBetweenEvictionRunsMillis
                keepAliveBetweenTimeMillis: 1200000
                #配置一个连接最大使用次数,避免长时间使用相同连接造成服务器端负载不均衡。
                phyMaxUseCount: 1000
                #是否缓存preparedStatement,也就是PSCache。PSCache对支持游标的数据库性能提升巨大,比如说oracle。在mysql下建议关闭。
                poolPreparedStatements: false
                #要启用PSCache,必须配置大于0,当大于0时,poolPreparedStatements自动触发修改为true。在Druid中,不会存在Oracle下PSCache占用内存过多的问题,可以把这个数值配置大一些,比如说100
                maxOpenPreparedStatements: -1
                #指定每个连接上PSCache的大小
                maxPoolPreparedStatementPerConnectionSize: 20
                #属性类型是字符串,通过别名的方式配置扩展插件,常用的插件有:
                #监控统计用的filter:stat,日志用的filter:log4j,防御sql注入的filter:wall
                #filters: stat,wall,config
                filters: wall,config
                webStatFilter:
                    # æ·»åŠ è¿‡æ»¤è§„åˆ™
                    urlPattern: /*
                    # å¿½ç•¥è¿‡æ»¤æ ¼å¼
                    exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"
                    statViewServlet:
                        # è®¾ç½®ip白名单
                        # allow: 127.0.0.1
                        # è®¾ç½®ip黑名单,优先级高于白名单
                        deny:
                        # è®¾ç½®æŽ§åˆ¶å°ç®¡ç†ç”¨æˆ·
                        #  loginUsername: root
                        #  loginPassword: root
                        # æ˜¯å¦å¯ä»¥é‡ç½®æ•°æ®
                        resetEnable: false
                        # å¼€å¯druid监控页面
                        #enabled: true
                        enabled: false
pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
@@ -361,6 +361,9 @@
    jc:
        url: "http://127.0.0.1:8105"
        comSendUrl: "http://127.0.0.1:8105/rtuMw/com/send"
    jyg:
        url: "http://127.0.0.1:8106"
        comSendUrl: "http://127.0.0.1:8106/rtuMw/com/send"
    #Rtu远程命令结果回调地址
    rtuCallbackUrl_rm: "http://127.0.0.1:8081/remote/comRes/receive"
    #接收通信中间件消息中心消息的地址
@@ -471,6 +474,14 @@
            secret: SEC6042bc964d08899a5853eb321eb5a4d842a395982777f815bd07451c879228b7
        at-all: true
        mobile: 18602657034
    jyg:
        enable: false #是否启用
        robot:
            url: https://oapi.dingtalk.com/robot/send
            access-token: fecef8e7725998f8912af05419580861aafc73413c4920036c07c050fa33055f
            secret: SEC6042bc964d08899a5853eb321eb5a4d842a395982777f815bd07451c879228b7
        at-all: true
        mobile: 18602657034
#视频监控相关
video:
pipIrr-platform/pipIrr-global/src/main/resources/init-config(121·þÎñÆ÷).xml
@@ -380,5 +380,68 @@
                <item3 typeName="设备保养"/>
            </taskType>
        </org6>
        <org7 tag="jyg" name="嘉峪关" enable="true">
            <districts>
                <province name="甘肃省" num="62" level="0">
                    <city name="嘉峪关市" num="02" level="1">
                        <country name="新城镇" num="01" level="2" />
                    </city>
                </province>
            </districts>
            <dictionaries>
                <dict code="icProtocol" title="IC卡协议" valueType="2">
                    <dictItem>
                        <!-- é³å»ºä¼Ÿç‰ˆæœ¬IC卡协议 å¡ä¸­ç¼–号已经加长(与王江海版本一致),与纯老版本协议不同 -->
                        <item1 dictCode="icProtocol" value="icP202203" name="老卡协议" status="1" sort="0" />
                        <!-- çŽ‹æ±Ÿæµ·ç‰ˆæœ¬IC卡协议 -->
                        <item2 dictCode="icProtocol" value="icP202404" name="新卡协议" status="0" sort="1" />
                    </dictItem>
                </dict>
            </dictionaries>
            <user name="超级管理员" phone="admin" password="dyyjy" supperAdmin="1" />
            <payments>
                <item1 name="现金"/>
                <item2 name="POS机"/>
                <item3 name="银行转账"/>
            </payments>
            <settings>
                <item1 item_name="lng" item_value="98.28875541687012" remarks="经度"/>
                <item2 item_name="lat" item_value="39.77140971937612" remarks="纬度"/>
                <item3 item_name="zoomMp" item_value="12" remarks="手机地图缩放级别"/>
                <item4 item_name="zoomPc" item_value="19" remarks="PC机地图缩放级别"/>
                <item5 item_name="projectName" item_value="高效智慧管灌微灌云服务管理平台" remarks="项目名称"/>
            </settings>
            <waterTypes>
                <item1 typeName="灌溉用水"/>
                <item2 typeName="工业用水"/>
                <item3 typeName="生活用水"/>
                <item4 typeName="养殖用水"/>
                <item5 typeName="绿化用水"/>
            </waterTypes>
            <waterPrice price="0.90" />
            <irrigateProfile>
                <item1 defaultValue = "10" unit = "2" sort = "1" type = "1"/>
                <item2 defaultValue = "20" unit = "2" sort = "2" type = "1" />
                <item3 defaultValue = "1" unit = "1" sort = "3" type = "1"/>
                <item4 defaultValue = "2" unit = "1" sort = "4" type = "1"/>
                <item5 defaultValue = "20" unit = "3" sort = "1" type = "2"/>
                <item6 defaultValue = "30" unit = "3" sort = "2" type = "2"/>
                <item7 defaultValue = "50" unit = "3" sort = "3" type = "2"/>
                <item8 defaultValue = "80" unit = "3" sort = "4" type = "2"/>
            </irrigateProfile>
            <rechargeProfile>
                <item1 rechargeAmount = "50" sort = "1"/>
                <item2 rechargeAmount = "100" sort = "2" />
                <item3 rechargeAmount = "200" sort = "3"/>
                <item4 rechargeAmount = "300" sort = "4"/>
                <item5 rechargeAmount = "500" sort = "5"/>
                <item6 rechargeAmount = "1000" sort = "6"/>
            </rechargeProfile>
            <taskType>
                <item1 typeName="设备安装"/>
                <item2 typeName="设备维修"/>
                <item3 typeName="设备保养"/>
            </taskType>
        </org7>
    </orgs>
</config>
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.properties
@@ -10,7 +10,8 @@
#   ç”˜å·žï¼š gz
#   å‡‰å·žï¼š lz
#   é‡‘川: jc
base.orgTag=ym
#   å˜‰å³ªå…³ï¼š jyg
base.orgTag=jyg
# 233服务器:
#   å…ƒè°‹ï¼š 60000
@@ -24,7 +25,8 @@
#   ç”˜å·žï¼š 60103
#   å‡‰å·žï¼š 60104
#   é‡‘川: 60105
tcp.port=60000
#   å˜‰å³ªå…³ï¼š 60106
tcp.port=60106
#RTU上行数据最小间隔,大于这个间隔认为设备离线了,测控一体阀是3,表阀一体机是6,默认采用时间最长的6
base.upData.min.interval=6
@@ -45,8 +47,13 @@
#   ç”˜å·žï¼š mqtt.enable=false  mqtt.protocolAndDeviceIds= mqtt.topicAndQos=
#   å‡‰å·žï¼š mqtt.enable=false  mqtt.protocolAndDeviceIds= mqtt.topicAndQos=
#   é‡‘川: mqtt.enable=true  mqtt.protocolAndDeviceIds=? mqtt.topicAndQos=weather/1,1;soil/1,1;manure/1,1;state/1,1
mqtt.enable=false
#   å˜‰å³ªå…³ï¼š mqtt.enable=true  mqtt.protocolAndDeviceIds=? mqtt.topicAndQos=weather/1,1;soil/1,1;manure/1,1;state/1,1
mqtt.enable=true
mqtt.ip=127.0.0.1
mqtt.port=1883
mqtt.user=dyyjy
mqtt.password=Dyyjy2025,;.abc!@#
mqtt.protocolAndDeviceIds=sd1/338220031439,sd1/338220031440
mqtt.subTopicAndQos=weather/1,1;soil/1,1;manure/1,1;state/1,1
mqtt.subTopicAndQos=weather/1,1;soil/1,1;manure/1,1
#MQtt设备在一定时间(分钟)后未发布消息,认为设备离线
mqtt.noSubThenOff=10
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.xml
@@ -181,10 +181,10 @@
    noSubThenOff: MQtt设备在一定时间(分钟)后未发布消息,认为设备离线
     -->
    <mqtt enable="${mqtt.enable}"
          svIp="121.199.41.121"
          svPort="1883"
          svUserName="dyyjy"
          svUserPassword="Dyyjy2025,;.abc!@#"
          svIp="${mqtt.ip}"
          svPort="${mqtt.port}"
          svUserName="${mqtt.user}"
          svUserPassword="${mqtt.password}"
          poolMaxSize="10"
          useMemoryPersistence="true"
          protocolAndDeviceIds="${mqtt.protocolAndDeviceIds}"
pipIrr-platform/pipIrr-mw/pipIrr-param-set/src/main/java/com/dy/pipIrrParamSet/console/Command.java
@@ -21,8 +21,8 @@
    static{
        commands = new String[]{
                "config æŸ¥çœ‹é…ç½®ä¿¡æ¯",    
                "mw 121 [tag] å‘½ä»¤å«ä¹‰ï¼šé€šä¿¡ä¸­é—´ä»¶åœ¨äº‘服务器(121.199.41.121)上的[tag](元谋ym,沙盘sp测试test,梅江mj,民勤mq,延庆yq,黑龙江hlj,甘州gz,凉州lz,金川jc)系统配置",
                "mw 233 [tag] å‘½ä»¤å«ä¹‰ï¼šé€šä¿¡ä¸­é—´ä»¶åœ¨äº‘服务器(8.130.130.233)上的[tag](元谋ym,沙盘sp测试test,梅江mj,民勤mq,延庆yq,黑龙江hlj,甘州gz,凉州lz,金川jc)系统配置",
                "mw 121 [tag] å‘½ä»¤å«ä¹‰ï¼šé€šä¿¡ä¸­é—´ä»¶åœ¨äº‘服务器(121.199.41.121)上的[tag](元谋ym,沙盘sp测试test,梅江mj,民勤mq,延庆yq,黑龙江hlj,甘州gz,凉州lz,金川jc,嘉峪关jyg)系统配置",
                "mw 233 [tag] å‘½ä»¤å«ä¹‰ï¼šé€šä¿¡ä¸­é—´ä»¶åœ¨äº‘服务器(8.130.130.233)上的[tag](元谋ym,沙盘sp测试test,梅江mj,民勤mq,延庆yq,黑龙江hlj,甘州gz,凉州lz,金川jc,嘉峪关jyg)系统配置",
                "web 121 å‘½ä»¤å«ä¹‰ï¼šweb模块在云服务器(121.199.41.121)上的配置",
                "web 233 å‘½ä»¤å«ä¹‰ï¼šweb模块在云服务器(8.130.130.233)上的配置",
                "exit é€€å‡º",
pipIrr-platform/pipIrr-mw/pipIrr-param-set/src/main/java/com/dy/pipIrrParamSet/paramSet/ParamKey.java
@@ -31,8 +31,12 @@
    public static final String TcpPort = "tcpPort" ;
    public static final String UpDataMinInterval = "upDataMinInterval" ;
    public static final String WebPort = "webPort" ;
    public static final String MqttEnable = "mqttEnable" ;
    public static final String MqttNoSubThenOff = "noSubThenOff" ;
    public static final String ActutorPort = "actutorPort" ;
    public static final String DbName = "dbName" ;
    public static final String MqttEnable = "mqttEnable" ;
    public static final String MqttNoSubThenOff = "mqttNoSubThenOff" ;
    public static final String mqttServerIp = "mqttServerIp" ;
    public static final String mqttServerPort = "mqttServerPort" ;
    public static final String mqttProtocolAndDeviceIds = "mqttProtocolAndDeviceIds" ;
    public static final String mqttSubTopicAndQos = "mqttSubTopicAndQos" ;
}
pipIrr-platform/pipIrr-mw/pipIrr-param-set/src/main/java/com/dy/pipIrrParamSet/paramSet/ParamSetMw.java
@@ -123,6 +123,14 @@
                    newLine = "base.upData.min.interval=" + paramMap.get(ParamKey.UpDataMinInterval);
                }else if(newLine != null && newLine.trim().startsWith("mqtt.enable=")){
                    newLine = "mqtt.enable=" + paramMap.get(ParamKey.MqttEnable);
                }else if(newLine != null && newLine.trim().startsWith("mqtt.ip=")){
                    newLine = "mqtt.ip=" + paramMap.get(ParamKey.mqttServerIp);
                }else if(newLine != null && newLine.trim().startsWith("mqtt.port=")){
                    newLine = "mqtt.port=" + paramMap.get(ParamKey.mqttServerPort);
                }else if(newLine != null && newLine.trim().startsWith("mqtt.protocolAndDeviceIds=")){
                    newLine = "mqtt.protocolAndDeviceIds=" + paramMap.get(ParamKey.mqttProtocolAndDeviceIds);
                }else if(newLine != null && newLine.trim().startsWith("mqtt.subTopicAndQos=")){
                    newLine = "mqtt.subTopicAndQos=" + paramMap.get(ParamKey.mqttSubTopicAndQos);
                }else if(newLine != null && newLine.trim().startsWith("mqtt.noSubThenOff=")){
                    newLine = "mqtt.noSubThenOff=" + paramMap.get(ParamKey.MqttNoSubThenOff);
                }
@@ -154,16 +162,28 @@
        key = ParamKey.WebPort;
        this.getConfig(env, map, paramNamePre + key, key);
        key = ParamKey.ActutorPort;
        this.getConfig(env, map, paramNamePre + key, key);
        key = ParamKey.DbName;
        this.getConfig(env, map, paramNamePre + key, key);
        key = ParamKey.MqttEnable;
        this.getConfig(env, map, paramNamePre + key, key);
        key = ParamKey.MqttNoSubThenOff;
        this.getConfig(env, map, paramNamePre + key, key);
        key = ParamKey.ActutorPort;
        key = ParamKey.mqttProtocolAndDeviceIds;
        this.getConfig(env, map, paramNamePre + key, key);
        key = ParamKey.DbName;
        key = ParamKey.mqttServerIp;
        this.getConfig(env, map, paramNamePre + key, key);
        key = ParamKey.mqttServerPort;
        this.getConfig(env, map, paramNamePre + key, key);
        key = ParamKey.mqttSubTopicAndQos;
        this.getConfig(env, map, paramNamePre + key, key);
        return map ;
pipIrr-platform/pipIrr-mw/pipIrr-param-set/src/main/resources/application-params.yml
@@ -4,90 +4,143 @@
            orgTag: ym
            tcpPort: 60000
            upDataMinInterval: 6
            mqttEnable: false
            noSubThenOff: 10
            webPort: 8070
            actutorPort: 9070
            dbName: pipIrr_ym
            mqttEnable: false
            mqttNoSubThenOff: 10
            mqttServerIp: 127.0.0.1
            mqttServerPort: 1883
            mqttProtocolAndDeviceIds:
            mqttSubTopicAndQos:
        sp:
            orgTag: sp
            tcpPort: 62000
            upDataMinInterval: 6
            mqttEnable: false
            noSubThenOff: 10
            webPort: 8073
            actutorPort: 9073
            dbName: pipIrr_sp
            mqttEnable: false
            mqttNoSubThenOff: 10
            mqttServerIp: 127.0.0.1
            mqttServerPort: 1883
            mqttProtocolAndDeviceIds:
            mqttSubTopicAndQos:
        test:
            orgTag: test
            tcpPort: 65000
            upDataMinInterval: 6
            mqttEnable: false
            noSubThenOff: 10
            webPort: 8072
            actutorPort: 9072
            dbName: pipIrr_test
            mqttEnable: false
            mqttNoSubThenOff: 10
            mqttServerIp: 127.0.0.1
            mqttServerPort: 1883
            mqttProtocolAndDeviceIds:
            mqttSubTopicAndQos:
        mj:
            orgTag: mj
            tcpPort: 61000
            upDataMinInterval: 6
            mqttEnable: false
            noSubThenOff: 10
            webPort: 8071
            actutorPort: 9071
            dbName: pipIrr_mj
            mqttEnable: false
            mqttNoSubThenOff: 10
            mqttServerIp: 127.0.0.1
            mqttServerPort: 1883
            mqttProtocolAndDeviceIds:
            mqttSubTopicAndQos:
    sv121:
        mq:
            orgTag: mq
            tcpPort: 60100
            upDataMinInterval: 6
            mqttEnable: true
            noSubThenOff: 10
            webPort: 8100
            actutorPort: 9100
            dbName: pipIrr_mq
            mqttEnable: false
            mqttNoSubThenOff: 10
            mqttServerIp: 127.0.0.1
            mqttServerPort: 1883
            mqttProtocolAndDeviceIds:
            mqttSubTopicAndQos:
        yq:
            orgTag: yq
            tcpPort: 60101
            upDataMinInterval: 6
            mqttEnable: false
            noSubThenOff: 10
            webPort: 8101
            actutorPort: 9101
            dbName: pipIrr_yq
            mqttEnable: false
            mqttNoSubThenOff: 10
            mqttServerIp: 127.0.0.1
            mqttServerPort: 1883
            mqttProtocolAndDeviceIds:
            mqttSubTopicAndQos:
        hlj:
            orgTag: hlj
            tcpPort: 60102
            upDataMinInterval: 6
            mqttEnable: false
            noSubThenOff: 10
            webPort: 8102
            actutorPort: 9102
            dbName: pipIrr_hlj
            mqttEnable: false
            mqttNoSubThenOff: 10
            mqttServerIp: 127.0.0.1
            mqttServerPort: 1883
            mqttProtocolAndDeviceIds:
            mqttSubTopicAndQos:
        gz:
            orgTag: gz
            tcpPort: 60103
            upDataMinInterval: 6
            mqttEnable: false
            noSubThenOff: 10
            webPort: 8103
            actutorPort: 9103
            dbName: pipIrr_gz
            mqttEnable: false
            mqttNoSubThenOff: 10
            mqttServerIp: 127.0.0.1
            mqttServerPort: 1883
            mqttProtocolAndDeviceIds:
            mqttSubTopicAndQos:
        lz:
            orgTag: lz
            tcpPort: 60104
            upDataMinInterval: 6
            mqttEnable: false
            noSubThenOff: 10
            webPort: 8104
            actutorPort: 9104
            dbName: pipIrr_lz
            mqttEnable: false
            mqttNoSubThenOff: 10
            mqttServerIp: 127.0.0.1
            mqttServerPort: 1883
            mqttProtocolAndDeviceIds:
            mqttSubTopicAndQos:
        jc:
            orgTag: jc
            tcpPort: 60105
            upDataMinInterval: 6
            mqttEnable: true
            noSubThenOff: 10
            webPort: 8105
            actutorPort: 9105
            dbName: pipIrr_jc
            mqttEnable: true
            mqttNoSubThenOff: 10
            mqttServerIp: 127.0.0.1
            mqttServerPort: 1883
            mqttProtocolAndDeviceIds:
            mqttSubTopicAndQos:
        jyg:
            orgTag: jyg
            tcpPort: 60106
            upDataMinInterval: 6
            webPort: 8106
            actutorPort: 9106
            dbName: pipIrr_jyg
            mqttEnable: true
            mqttNoSubThenOff: 10
            mqttServerIp: 127.0.0.1
            mqttServerPort: 1883
            mqttProtocolAndDeviceIds: sd1/2430002404000840,sd1/2430002404000840
            mqttSubTopicAndQos: weather/1,1;soil/1,1;manure/1,1
pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/resources/application(121·þÎñÆ÷).yml
@@ -1,3 +1,3 @@
spring:
    profiles:
        include: common-web, global, database, database-mq, database-yq, database-hlj, database-gz, database-lz, database-jc, self
        include: common-web, global, database, database-mq, database-yq, database-hlj, database-gz, database-lz, database-jc, database-jyg, self
pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/resources/application(121·þÎñÆ÷).yml
@@ -1,3 +1,3 @@
spring:
    profiles:
        include: common-web, global, database, database-mq, database-yq, database-hlj, database-gz, database-lz, database-jc, self
        include: common-web, global, database, database-mq, database-yq, database-hlj, database-gz, database-lz, database-jc, database-jyg, self
pipIrr-platform/pipIrr-web/pipIrr-web-file/src/main/resources/application(121·þÎñÆ÷).yml
@@ -1,3 +1,3 @@
spring:
    profiles:
        include: common-web, global, database, database-mq, database-yq, database-hlj, database-gz, database-lz, database-jc, self
        include: common-web, global, database, database-mq, database-yq, database-hlj, database-gz, database-lz, database-jc, database-jyg, self
pipIrr-platform/pipIrr-web/pipIrr-web-gis/src/main/resources/application(121·þÎñÆ÷).yml
@@ -1,3 +1,3 @@
spring:
    profiles:
        include: common-web, global, database, database-mq, database-yq, database-hlj, database-gz, database-lz, database-jc, self
        include: common-web, global, database, database-mq, database-yq, database-hlj, database-gz, database-lz, database-jc, database-jyg, self
pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/resources/application(121·þÎñÆ÷).yml
@@ -1,3 +1,3 @@
spring:
    profiles:
        include: common-web, global, database, database-mq, database-yq, database-hlj, database-gz, database-lz, database-jc, self
        include: common-web, global, database, database-mq, database-yq, database-hlj, database-gz, database-lz, database-jc, database-jyg, self
pipIrr-platform/pipIrr-web/pipIrr-web-operation/src/main/resources/application(121·þÎñÆ÷).yml
@@ -1,3 +1,3 @@
spring:
    profiles:
        include: common-web, global, database, database-mq, database-yq, database-hlj, database-gz, database-lz, database-jc, self
        include: common-web, global, database, database-mq, database-yq, database-hlj, database-gz, database-lz, database-jc, database-jyg, self
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/resources/application(121·þÎñÆ÷).yml
@@ -1,3 +1,3 @@
spring:
    profiles:
        include: common-web, global, database, database-mq, database-yq, database-hlj, database-gz, database-lz, database-jc, self
        include: common-web, global, database, database-mq, database-yq, database-hlj, database-gz, database-lz, database-jc, database-jyg, self
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/resources/application(121·þÎñÆ÷).yml
@@ -1,3 +1,3 @@
spring:
    profiles:
        include: common-web, global, database, database-mq, database-yq, database-hlj, database-gz, database-lz, database-jc, self
        include: common-web, global, database, database-mq, database-yq, database-hlj, database-gz, database-lz, database-jc, database-jyg, self
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/resources/application(121·þÎñÆ÷).yml
@@ -1,3 +1,3 @@
spring:
    profiles:
        include: common-web, global, database, database-mq, database-yq, database-hlj, database-gz, database-lz, database-jc, self
        include: common-web, global, database, database-mq, database-yq, database-hlj, database-gz, database-lz, database-jc, database-jyg, self
pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/resources/application(121·þÎñÆ÷).yml
@@ -1,3 +1,3 @@
spring:
    profiles:
        include: common-web, global, database, database-mq, database-yq, database-hlj, database-gz, database-lz, database-jc, self
        include: common-web, global, database, database-mq, database-yq, database-hlj, database-gz, database-lz, database-jc, database-jyg, self
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/resources/application(121·þÎñÆ÷).yml
@@ -1,3 +1,3 @@
spring:
    profiles:
        include: common-web, global, database, database-mq, database-yq, database-hlj, database-gz, database-lz, database-jc, self
        include: common-web, global, database, database-mq, database-yq, database-hlj, database-gz, database-lz, database-jc, database-jyg, self
pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/resources/application(121·þÎñÆ÷).yml
@@ -1,3 +1,3 @@
spring:
    profiles:
        include: common-web, global, database, database-mq, database-yq, database-hlj, database-gz, database-lz, database-jc, self
        include: common-web, global, database, database-mq, database-yq, database-hlj, database-gz, database-lz, database-jc, database-jyg, self
pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/resources/application(121·þÎñÆ÷).yml
@@ -1,3 +1,3 @@
spring:
    profiles:
        include: common-web, global, database, database-mq, database-yq, database-hlj, database-gz, database-lz, database-jc, self
        include: common-web, global, database, database-mq, database-yq, database-hlj, database-gz, database-lz, database-jc, database-jyg, self
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/resources/application(121·þÎñÆ÷).yml
@@ -1,3 +1,3 @@
spring:
    profiles:
        include: common-web, global, database, database-mq, database-yq, database-hlj, database-gz, database-lz, database-jc, self
        include: common-web, global, database, database-mq, database-yq, database-hlj, database-gz, database-lz, database-jc, database-jyg, self
pipIrr-platform/Îĵµ/SaaS/Ôö¼ÓÒ»¸öµ¥Î»£¨orgTag£©.docx
Binary files differ
pipIrr-platform/Îĵµ/SaaS/¶Ë¿Ú¡¢IP¡¢±êÇ©ÅäÖÃ.docx
Binary files differ