Newspaper пре 1 година
родитељ
комит
ea51c395d5
21 измењених фајлова са 80 додато и 37 уклоњено
  1. 1 1
      snowy-web-app/src/main/java/vip/xiaonuo/Timer/SendOrgId.java
  2. 1 1
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/carCapture/mapper/mapping/CarCaptureMapper.xml
  3. 1 1
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/personCapture/mapper/mapping/PersonCaptureMapper.xml
  4. 5 1
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/taskInspection/service/impl/TaskInspectionServiceImpl.java
  5. 1 2
      snowy-web-app/src/main/java/vip/xiaonuo/modular/base/baseConfig/param/BaseConfigListChildParam.java
  6. 7 1
      snowy-web-app/src/main/java/vip/xiaonuo/modular/base/baseConfig/service/impl/BaseConfigServiceImpl.java
  7. 15 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/base/pigpen/service/impl/BasePigpenServiceImpl.java
  8. 1 1
      snowy-web-app/src/main/java/vip/xiaonuo/modular/energy/energyElectricity/mapper/mapping/EnergyElectricityMapper.xml
  9. 2 3
      snowy-web-app/src/main/java/vip/xiaonuo/modular/energy/energyElectricity/param/EnergyElectricityListParm.java
  10. 1 1
      snowy-web-app/src/main/java/vip/xiaonuo/modular/energy/energyWater/mapper/mapping/EnergyWaterMapper.xml
  11. 2 3
      snowy-web-app/src/main/java/vip/xiaonuo/modular/energy/energyWater/param/EnergyWaterListParm.java
  12. 2 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envDeviceOnline/entity/EnvDeviceOnline.java
  13. 4 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envThreshold/entity/vo/EnvThresholdListVo.java
  14. 10 2
      snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envThreshold/service/impl/EnvThresholdServiceImpl.java
  15. 4 1
      snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdata/mapper/mapping/EnvDataMapper.xml
  16. 1 1
      snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdata/param/EnvDataBuildNameParm.java
  17. 2 2
      snowy-web-app/src/main/java/vip/xiaonuo/modular/warning/warningInfo/controller/WarningInfoController.java
  18. 8 3
      snowy-web-app/src/main/java/vip/xiaonuo/modular/warning/warningInfo/param/WarningInfoWarningTypeParam.java
  19. 1 1
      snowy-web-app/src/main/java/vip/xiaonuo/modular/warning/warningInfo/service/WarningInfoService.java
  20. 10 11
      snowy-web-app/src/main/java/vip/xiaonuo/modular/warning/warningInfo/service/impl/WarningInfoServiceImpl.java
  21. 1 1
      snowy-web-app/src/main/resources/application.properties

+ 1 - 1
snowy-web-app/src/main/java/vip/xiaonuo/Timer/SendOrgId.java

@@ -38,7 +38,7 @@ public class SendOrgId implements CommonTimerTaskRunner {
             orgIdVo.setName(sysOrg.getName());
             list.add(orgIdVo);
         }
-        String url = "https://nk.ifarmcloud.com/base-farm/getFarm";
+        String url = "https://nk.ifarmcloud.com/secureApi/base-farm/getFarm";
         HashMap<String, String> paramsMap = new HashMap<>();
         JSONObject jsonObject1 = new JSONObject();
         jsonObject1.put("list", list);

+ 1 - 1
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/carCapture/mapper/mapping/CarCaptureMapper.xml

@@ -11,7 +11,7 @@
         WHERE
             org_id = #{orgId} AND cap_time BETWEEN NOW() - INTERVAL 12 HOUR AND NOW()
         GROUP BY
-            DATE_FORMAT(cap_time, "%Y-%m-%d %H:00:00");
+            DATE_FORMAT(cap_time, "%Y-%m-%d %H:00:00")
         ORDER BY
             cap_time ASC
     </select>

+ 1 - 1
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/personCapture/mapper/mapping/PersonCaptureMapper.xml

@@ -11,7 +11,7 @@
         WHERE
             org_id = #{orgId} AND cap_time BETWEEN NOW() - INTERVAL 12 HOUR AND NOW()
         GROUP BY
-            DATE_FORMAT(cap_time, "%Y-%m-%d %H:00:00");
+            DATE_FORMAT(cap_time, "%Y-%m-%d %H:00:00")
         ORDER BY
             cap_time ASC
     </select>

+ 5 - 1
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/taskInspection/service/impl/TaskInspectionServiceImpl.java

@@ -123,8 +123,12 @@ public class TaskInspectionServiceImpl extends ServiceImpl<TaskInspectionMapper,
         taskInspection.setStatus(1);
         this.updateById(taskInspection);
 
+        WarningInfo warningInfo = warningInfoMapper.selectById(taskInspection.getWarningId());
+        warningInfo.setWarningStatus(1);
+        warningInfoMapper.updateById(warningInfo);
+
         if ("1".equals(noRemind)){
-            WarningInfo warningInfo = warningInfoMapper.selectById(taskInspection.getWarningId());
+
             String waringTypeId = baseConfigMapper.selectById(warningInfo.getWarningTypeId()).getId();
             WarningRemind warningRemind = warningRemindMapper.selectOne(new QueryWrapper<WarningRemind>().lambda()
                     .eq(WarningRemind::getOrgId, taskInspection.getOrgId())

+ 1 - 2
snowy-web-app/src/main/java/vip/xiaonuo/modular/base/baseConfig/param/BaseConfigListChildParam.java

@@ -30,8 +30,7 @@ import javax.validation.constraints.NotBlank;
 public class BaseConfigListChildParam extends OrgIdParam {
 
     /** ID */
-    @ApiModelProperty(value = "父id", required = true,position = 1)
-    @NotBlank(message = "父id不能为空")
+    @ApiModelProperty(value = "父id",position = 1)
     private String parentId;
 
     /** 当前页 */

+ 7 - 1
snowy-web-app/src/main/java/vip/xiaonuo/modular/base/baseConfig/service/impl/BaseConfigServiceImpl.java

@@ -124,8 +124,14 @@ public class BaseConfigServiceImpl extends ServiceImpl<BaseConfigMapper, BaseCon
     @Override
     public Page<BaseConfig> listChild(BaseConfigListChildParam baseConfigListChildParam) {
         String orgId = baseConfigListChildParam.getOrgId();
+        String parentId = baseConfigListChildParam.getParentId();
         QueryWrapper<BaseConfig> queryWrapper = new QueryWrapper();
-        queryWrapper.lambda().eq(BaseConfig::getParentId, baseConfigListChildParam.getParentId()).eq(BaseConfig::getOrgId, orgId);
+        if (ObjectUtil.isEmpty(parentId)){
+            OrgIdParam orgIdParam = new OrgIdParam();
+            orgIdParam.setOrgId(orgId);
+            parentId = tree(orgIdParam).get(0).getId();
+        }
+        queryWrapper.lambda().eq(BaseConfig::getParentId, parentId).eq(BaseConfig::getOrgId, orgId);
         Page<BaseConfig> baseConfigList = this.page(CommonPageRequest.defaultPage(),queryWrapper);
         return baseConfigList;
     }

+ 15 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/base/pigpen/service/impl/BasePigpenServiceImpl.java

@@ -26,6 +26,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.omg.CORBA.OBJ_ADAPTER;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import vip.xiaonuo.auth.core.pojo.SaBaseLoginUser;
@@ -41,6 +42,10 @@ import vip.xiaonuo.modular.base.pigpen.entity.vo.BasePigpenMobileVo;
 import vip.xiaonuo.modular.base.pigpen.mapper.BasePigpenMapper;
 import vip.xiaonuo.modular.base.pigpen.param.*;
 import vip.xiaonuo.modular.base.pigpen.service.BasePigpenService;
+import vip.xiaonuo.modular.energy.energyDevice.entity.EnergyDevice;
+import vip.xiaonuo.modular.energy.energyDevice.mapper.EnergyDeviceMapper;
+import vip.xiaonuo.modular.env.envdevice.entity.EnvDevice;
+import vip.xiaonuo.modular.env.envdevice.mapper.EnvDeviceMapper;
 import vip.xiaonuo.sys.core.enums.SysDataTypeEnum;
 
 
@@ -57,6 +62,10 @@ import java.util.stream.Collectors;
  **/
 @Service
 public class BasePigpenServiceImpl extends ServiceImpl<BasePigpenMapper, BasePigpen> implements BasePigpenService {
+    @Autowired
+    private EnvDeviceMapper envDeviceMapper;
+    @Autowired
+    private EnergyDeviceMapper energyDeviceMapper;
 
     @Override
     public Page<BasePigpen> page(BasePigpenPageParam basePigpenPageParam) {
@@ -167,6 +176,12 @@ public class BasePigpenServiceImpl extends ServiceImpl<BasePigpenMapper, BasePig
             if (this.count(new LambdaQueryWrapper<BasePigpen>().eq(BasePigpen::getParentId,pigpenId)) > 0){
                 throw new CommonException("{}存在下级栋舍", this.getById(pigpenId).getBuildName());
             }
+            if (energyDeviceMapper.selectCount(new QueryWrapper<EnergyDevice>().lambda().eq(EnergyDevice::getInstallPosition,pigpenId)) > 0){
+                throw new CommonException("{}存在能耗设备", this.getById(pigpenId).getBuildName());
+            }
+            if (envDeviceMapper.selectCount(new QueryWrapper<EnvDevice>().lambda().eq(EnvDevice::getInstallPosition,pigpenId)) > 0){
+                throw new CommonException("{}存在环控设备设备", this.getById(pigpenId).getBuildName());
+            }
         }
         this.removeByIds(toDeletePigpenIdList);
         // 发布删除事件

+ 1 - 1
snowy-web-app/src/main/java/vip/xiaonuo/modular/energy/energyElectricity/mapper/mapping/EnergyElectricityMapper.xml

@@ -246,7 +246,7 @@
         FROM
             `energy_electricity`
         WHERE
-            create_date BETWEEN CURDATE() - INTERVAL 6 DAY AND CURDATE();
+            create_date BETWEEN CURDATE() - INTERVAL 6 DAY AND NOW()
             AND org_id = #{orgId}
             <if test="pigpenList != null and pigpenList.size > 0">
                 AND unit_id IN

+ 2 - 3
snowy-web-app/src/main/java/vip/xiaonuo/modular/energy/energyElectricity/param/EnergyElectricityListParm.java

@@ -11,12 +11,11 @@ import javax.validation.constraints.NotBlank;
 @Setter
 public class EnergyElectricityListParm extends OrgIdParam {
     /** 栋舍ID */
-    @ApiModelProperty(value = "栋舍ID", required = true, position = 1)
-    @NotBlank(message = "栋舍ID不能为空")
+    @ApiModelProperty(value = "栋舍ID", position = 1)
     private String pigpenId;
 
     /** 显示类型 */
-    @ApiModelProperty(value = "显示类型", required = true, position = 2, example = "0:今日, 1:本周, 2:本月, 3:自定义")
+    @ApiModelProperty(value = "显示类型", required = true, position = 2, example = "0:今日, 1:本周, 2:本月, 3:自定义, 4:近七天")
     @NotBlank(message = "显示类型不能为空")
     private String type;
 

+ 1 - 1
snowy-web-app/src/main/java/vip/xiaonuo/modular/energy/energyWater/mapper/mapping/EnergyWaterMapper.xml

@@ -242,7 +242,7 @@
         FROM
             `energy_water`
         WHERE
-            create_date BETWEEN CURDATE() - INTERVAL 6 DAY AND CURDATE();
+            create_date BETWEEN CURDATE() - INTERVAL 6 DAY AND NOW()
             AND org_id = #{orgId}
             <if test="pigpenList != null and pigpenList.size > 0">
                 AND unit_id IN

+ 2 - 3
snowy-web-app/src/main/java/vip/xiaonuo/modular/energy/energyWater/param/EnergyWaterListParm.java

@@ -11,12 +11,11 @@ import javax.validation.constraints.NotBlank;
 @Setter
 public class EnergyWaterListParm extends OrgIdParam {
     /** 栋舍ID */
-    @ApiModelProperty(value = "栋舍ID", required = true, position = 1)
-    @NotBlank(message = "栋舍ID不能为空")
+    @ApiModelProperty(value = "栋舍ID", position = 1)
     private String pigpenId;
 
     /** 显示类型 */
-    @ApiModelProperty(value = "显示类型", required = true, position = 2, example = "0:今日, 1:本周, 2:本月, 3:自定义")
+    @ApiModelProperty(value = "显示类型", required = true, position = 2, example = "0:今日, 1:本周, 2:本月, 3:自定义, 4:近七天")
     @NotBlank(message = "显示类型不能为空")
     private String type;
 

+ 2 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envDeviceOnline/entity/EnvDeviceOnline.java

@@ -13,6 +13,7 @@
 package vip.xiaonuo.modular.env.envDeviceOnline.entity;
 
 import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
@@ -46,6 +47,7 @@ public class EnvDeviceOnline {
 
     /** 创建时间 */
     @ApiModelProperty(value = "创建时间", position = 4)
+    @JsonFormat(pattern = "yyyy-MM-dd" ,timezone = "GMT+8")
     private LocalDateTime creatTime;
 
     /** 在线率 */

+ 4 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envThreshold/entity/vo/EnvThresholdListVo.java

@@ -16,5 +16,9 @@ public class EnvThresholdListVo {
     @ApiModelProperty(value = "栋舍名称", position = 2)
     private String buildingName;
 
+    /** 状态 */
+    @ApiModelProperty(value = "状态", position = 3)
+    private Integer isEnable;
+
     private List<EnvThresholdVo> list;
 }

+ 10 - 2
snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envThreshold/service/impl/EnvThresholdServiceImpl.java

@@ -75,15 +75,20 @@ public class EnvThresholdServiceImpl extends ServiceImpl<EnvThresholdMapper, Env
                     envThresholdVos.add(envThresholdVo);
                 }
             }
+            if (ObjectUtil.isNotEmpty(envThresholdVos)){
+                envThresholdListVo.setIsEnable(envThresholdVos.get(0).getIsEnable());
+            }else {
+                envThresholdListVo.setIsEnable(0);
+            }
             envThresholdListVo.setList(envThresholdVos);
             resultList.add(envThresholdListVo);
         }
         return resultList;
     }
 
+
     @Override
     public void saveThreshold(EnvThresholdSaveParam envThresholdSaveParam) {
-        System.out.println("OrgId"+envThresholdSaveParam.getOrgId());
         String orgId = envThresholdSaveParam.getOrgId();
         EnvThreshold envThreshold = this.getOne(new QueryWrapper<EnvThreshold>().lambda().eq(EnvThreshold::getOrgId, orgId).eq(EnvThreshold::getUnitId, envThresholdSaveParam.getUnitId()));
         BeanUtil.copyProperties(envThresholdSaveParam,envThreshold);
@@ -91,13 +96,16 @@ public class EnvThresholdServiceImpl extends ServiceImpl<EnvThresholdMapper, Env
     }
 
     @Override
+    @Transactional
     public void modifyThresholdStatus(EnvThresholdModifyParam envThresholdModifyParam) {
         String unitId = envThresholdModifyParam.getUnitId();
         List<BasePigpen> basePigpens = basePigpenMapper.selectList(new QueryWrapper<BasePigpen>().lambda()
                 .like(BasePigpen::getPids, unitId)
                 .eq(BasePigpen::getType, 2));
         List<String> unitIdList = basePigpens.stream().map(basePigpen -> basePigpen.getId()).collect(Collectors.toList());
-        this.update(new UpdateWrapper<EnvThreshold>().lambda().set(EnvThreshold::getIsEnable,envThresholdModifyParam.getIsEnable()).in(EnvThreshold::getUnitId,unitIdList));
+        if (ObjectUtil.isNotEmpty(unitIdList)){
+            this.update(new UpdateWrapper<EnvThreshold>().lambda().set(EnvThreshold::getIsEnable,envThresholdModifyParam.getIsEnable()).in(EnvThreshold::getUnitId,unitIdList));
+        }
     }
 
     @Override

+ 4 - 1
snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdata/mapper/mapping/EnvDataMapper.xml

@@ -83,6 +83,9 @@
         GROUP BY pigpen_id
             )
         ) d ON b.id = d.pigpen_id
-        WHERE b.type = 2 AND b.full_name LIKE CONCAT('%', #{buildName}, '%') AND b.org_id = #{orgId};
+        WHERE b.type = 2 AND b.org_id = #{orgId} 
+        <if test="buildName != null and buildName !=''">
+            AND b.full_name LIKE CONCAT('%', #{buildName}, '%')
+        </if>
     </select>
 </mapper>

+ 1 - 1
snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdata/param/EnvDataBuildNameParm.java

@@ -11,6 +11,6 @@ import javax.validation.constraints.NotBlank;
 @Setter
 public class EnvDataBuildNameParm extends OrgIdParam {
     /** 单元名称 */
-    @ApiModelProperty(value = "单元名称", required = true, position = 1)
+    @ApiModelProperty(value = "单元名称", position = 1)
     private String buildName;
 }

+ 2 - 2
snowy-web-app/src/main/java/vip/xiaonuo/modular/warning/warningInfo/controller/WarningInfoController.java

@@ -102,7 +102,7 @@ public class WarningInfoController {
     @ApiOperationSupport(order = 4)
     @ApiOperation("根据类型获取预警列表")
     @GetMapping("/warning/warningInfo/listWarningByType")
-    public CommonResult<List<WarningInfo>> listWarningByType(WarningInfoWarningTypeParam warningTypeParam) {
+    public CommonResult<Page<WarningInfo>> listWarningByType(WarningInfoWarningTypeParam warningTypeParam) {
         return CommonResult.data(warningInfoService.listWarningByType(warningTypeParam));
     }
 
@@ -112,7 +112,7 @@ public class WarningInfoController {
      * @author newspaper
      * @date  2023/12/26 13:40
      */
-    @ApiOperationSupport(order = 4)
+    @ApiOperationSupport(order = 5)
     @ApiOperation("获取预警类别选择器")
     @GetMapping("/warning/warningInfo/warningTypeSelector")
     public CommonResult<List<BaseConfig>> warningTypeSelector() {

+ 8 - 3
snowy-web-app/src/main/java/vip/xiaonuo/modular/warning/warningInfo/param/WarningInfoWarningTypeParam.java

@@ -34,7 +34,12 @@ public class WarningInfoWarningTypeParam extends OrgIdParam {
     @NotBlank(message = "type不能为空")
     private String type;
 
-    /** 条数 */
-    @ApiModelProperty(value = "条数" ,position = 2)
-    private Integer num;
+    /** 当前页 */
+    @ApiModelProperty(value = "当前页码")
+    private Integer current;
+
+    /** 每页条数 */
+    @ApiModelProperty(value = "每页条数")
+    private Integer size;
+
 }

+ 1 - 1
snowy-web-app/src/main/java/vip/xiaonuo/modular/warning/warningInfo/service/WarningInfoService.java

@@ -43,7 +43,7 @@ public interface WarningInfoService extends IService<WarningInfo> {
 
     List<WarningInfoListVo> listSevenDayWarning(OrgIdParam orgIdParam);
 
-    List<WarningInfo> listWarningByType(WarningInfoWarningTypeParam warningTypeParam);
+    Page<WarningInfo> listWarningByType(WarningInfoWarningTypeParam warningTypeParam);
 
     List<BaseConfig> warningTypeSelector();
 }

+ 10 - 11
snowy-web-app/src/main/java/vip/xiaonuo/modular/warning/warningInfo/service/impl/WarningInfoServiceImpl.java

@@ -151,19 +151,18 @@ public class WarningInfoServiceImpl extends ServiceImpl<WarningInfoMapper, Warni
     }
 
     @Override
-    public List<WarningInfo> listWarningByType(WarningInfoWarningTypeParam warningTypeParam) {
+    public Page<WarningInfo> listWarningByType(WarningInfoWarningTypeParam warningTypeParam) {
         String type = warningTypeParam.getType();
         String orgId = warningTypeParam.getOrgId();
-        Integer num = warningTypeParam.getNum();
+        Integer current = warningTypeParam.getCurrent();
+        Integer size = warningTypeParam.getSize();
+        Page<WarningInfo> page = new Page<>(current,size);
         String warningType;
-        List<WarningInfo> warningInfos = new ArrayList<>();
+        Page<WarningInfo> warningInfos = new Page<>();
         QueryWrapper<WarningInfo> queryWrapper = new QueryWrapper();
-        queryWrapper.lambda().eq(WarningInfo::getOrgId,orgId).orderByDesc(WarningInfo::getWarningTime);
-        if (ObjectUtil.isNotEmpty(num)){
-            queryWrapper.lambda().last("limit"+num);
-        }
+        queryWrapper.lambda().ge(WarningInfo::getWarningTime,DateUtil.beginOfDay(new Date())).eq(WarningInfo::getWarningStatus,0).eq(WarningInfo::getOrgId,orgId).orderByDesc(WarningInfo::getWarningTime);
         Map<String, String> typeToConfigNameMapping = new HashMap<>();
-        typeToConfigNameMapping.put("1", "环预警");
+        typeToConfigNameMapping.put("1", "环控预警");
         typeToConfigNameMapping.put("2", "能耗预警");
         typeToConfigNameMapping.put("3", "巡检预警");
         typeToConfigNameMapping.put("4", "洗消预警");
@@ -175,10 +174,10 @@ public class WarningInfoServiceImpl extends ServiceImpl<WarningInfoMapper, Warni
             String configName = typeToConfigNameMapping.get(type);
             // 通过查询数据库获取对应的warningType值
             warningType = baseConfigMapper.selectOne(new QueryWrapper<BaseConfig>().lambda().eq(BaseConfig::getConfigName, configName)).getId();
-            queryWrapper.lambda().eq(WarningInfo::getWarningType,warningType);
-            warningInfos = this.list(queryWrapper);
+            queryWrapper.lambda().eq(WarningInfo::getWarningTypeId,warningType);
+            warningInfos = this.page(page,queryWrapper);
         }else if ("0".equals(type)){
-            warningInfos = this.list(queryWrapper);
+            warningInfos = this.page(page,queryWrapper);
         }else {
             throw new CommonException("参数范围错误!");
         }

+ 1 - 1
snowy-web-app/src/main/resources/application.properties

@@ -23,7 +23,7 @@ spring.servlet.multipart.max-file-size=100MB
 # mysql
 spring.datasource.dynamic.datasource.master.driver-class-name=com.mysql.cj.jdbc.Driver
 #spring.datasource.dynamic.datasource.master.url=jdbc:mysql://localhost:3306/snowy?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&useInformationSchema=true
-spring.datasource.dynamic.datasource.master.url=jdbc:mysql://192.168.1.7:3306/huimv_nongkeyuan?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&useInformationSchema=true
+spring.datasource.dynamic.datasource.master.url=jdbc:mysql://115.238.57.190:3306/huimv_nongkeyuan?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&useInformationSchema=true
 spring.datasource.dynamic.datasource.master.username=root
 spring.datasource.dynamic.datasource.master.password=hm123456
 spring.datasource.dynamic.strict=true