yjj 3 lat temu
rodzic
commit
30ba288535
100 zmienionych plików z 2917 dodań i 0 usunięć
  1. 23 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/HuimvSmartincubatorDataAcquisitionApplication.java
  2. 28 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/autoconfigure/MybatisPlusConfiguration.java
  3. 85 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/controller/AlarmHistoryController.java
  4. 85 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/controller/FarmRegisterController.java
  5. 85 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/controller/HeartBeatController.java
  6. 85 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/controller/PhoneNumberController.java
  7. 19 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/dao/AlarmHistoryDao.java
  8. 20 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/dao/FarmRegisterDao.java
  9. 19 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/dao/HeartBeatDao.java
  10. 19 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/dao/PhoneNumberDao.java
  11. 17 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/dao/TelephoneDao.java
  12. 52 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/entity/AlarmHistoryEntity.java
  13. 48 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/entity/FarmRegisterEntity.java
  14. 44 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/entity/HeartBeatEntity.java
  15. 55 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/entity/PhoneNumberEntity.java
  16. 48 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/entity/TelephoneEntity.java
  17. 58 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/result/R.java
  18. 48 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/result/RRException.java
  19. 116 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/result/RRExceptionHandler.java
  20. 101 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/sendmassage/SendWork.java
  21. 21 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/service/AlarmHistoryService.java
  22. 21 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/service/FarmRegisterService.java
  23. 21 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/service/HeartBeatService.java
  24. 21 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/service/PhoneNumberService.java
  25. 37 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/service/impl/AlarmHistoryServiceImpl.java
  26. 36 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/service/impl/FarmRegisterServiceImpl.java
  27. 36 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/service/impl/HeartBeatServiceImpl.java
  28. 36 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/service/impl/PhoneNumberServiceImpl.java
  29. 44 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/socket/Server.java
  30. 81 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/socket/ServerThread.java
  31. 33 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/socket/TestClient.java
  32. 11 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/socket/eartagrecive/service/IClientDataPacketService.java
  33. 81 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/socket/eartagrecive/service/impl/ClientDataPacketServiceImpl.java
  34. 76 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/socket/eartagrecive/service/impl/SendPackageService.java
  35. 131 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/socket/eartagrecive/util/Constant.java
  36. 81 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/socket/eartagrecive/util/DateUtil.java
  37. 279 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/socket/eartagrecive/util/DateUtilsPublic.java
  38. 110 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/socket/eartagrecive/util/PageUtils.java
  39. 84 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/socket/eartagrecive/util/Query.java
  40. 73 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/socket/eartagrecive/util/Result.java
  41. 52 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/socket/eartagrecive/util/SQLFilter.java
  42. 14 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/socket/eartagrecive/util/StatusCode.java
  43. 60 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/socket/eartagrecive/util/StringUtilsWork.java
  44. 140 0
      huimv-massage-service/src/main/java/com/huimv/socketservice/timmertask/SendAlarmMassage.java
  45. 109 0
      huimv-massage-service/src/main/resources/application-dev.yml
  46. 11 0
      huimv-massage-service/src/main/resources/application.properties
  47. 0 0
      huimv-massage-service/src/main/resources/application.yml
  48. 10 0
      huimv-massage-service/src/main/resources/banner.txt
  49. 23 0
      huimv-massage-service/src/main/resources/logback-spring.xml
  50. 109 0
      huimv-massage-service/target/classes/application-dev.yml
  51. 11 0
      huimv-massage-service/target/classes/application.properties
  52. 0 0
      huimv-massage-service/target/classes/application.yml
  53. 10 0
      huimv-massage-service/target/classes/banner.txt
  54. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/HuimvSmartincubatorDataAcquisitionApplication.class
  55. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/autoconfigure/MybatisPlusConfiguration.class
  56. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/controller/AlarmHistoryController.class
  57. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/controller/FarmRegisterController.class
  58. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/controller/HeartBeatController.class
  59. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/controller/PhoneNumberController.class
  60. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/dao/AlarmHistoryDao.class
  61. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/dao/FarmRegisterDao.class
  62. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/dao/HeartBeatDao.class
  63. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/dao/PhoneNumberDao.class
  64. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/dao/TelephoneDao.class
  65. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/entity/AlarmHistoryEntity.class
  66. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/entity/FarmRegisterEntity.class
  67. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/entity/HeartBeatEntity.class
  68. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/entity/PhoneNumberEntity.class
  69. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/entity/TelephoneEntity.class
  70. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/result/R.class
  71. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/result/RRException.class
  72. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/result/RRExceptionHandler.class
  73. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/sendmassage/SendWork.class
  74. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/service/AlarmHistoryService.class
  75. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/service/FarmRegisterService.class
  76. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/service/HeartBeatService.class
  77. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/service/PhoneNumberService.class
  78. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/service/impl/AlarmHistoryServiceImpl.class
  79. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/service/impl/FarmRegisterServiceImpl.class
  80. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/service/impl/HeartBeatServiceImpl.class
  81. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/service/impl/PhoneNumberServiceImpl.class
  82. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/socket/Server.class
  83. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/socket/ServerThread.class
  84. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/socket/TestClient.class
  85. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/socket/eartagrecive/service/IClientDataPacketService.class
  86. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/socket/eartagrecive/service/impl/ClientDataPacketServiceImpl.class
  87. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/socket/eartagrecive/service/impl/SendPackageService.class
  88. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/socket/eartagrecive/util/Constant$CloudService.class
  89. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/socket/eartagrecive/util/Constant$MenuType.class
  90. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/socket/eartagrecive/util/Constant$ScheduleStatus.class
  91. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/socket/eartagrecive/util/Constant.class
  92. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/socket/eartagrecive/util/DateUtil.class
  93. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/socket/eartagrecive/util/DateUtilsPublic.class
  94. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/socket/eartagrecive/util/PageUtils.class
  95. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/socket/eartagrecive/util/Query.class
  96. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/socket/eartagrecive/util/Result.class
  97. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/socket/eartagrecive/util/SQLFilter.class
  98. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/socket/eartagrecive/util/StatusCode.class
  99. BIN
      huimv-massage-service/target/classes/com/huimv/socketservice/socket/eartagrecive/util/StringUtilsWork.class
  100. 0 0
      huimv-massage-service/target/classes/com/huimv/socketservice/timmertask/SendAlarmMassage.class

+ 23 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/HuimvSmartincubatorDataAcquisitionApplication.java

@@ -0,0 +1,23 @@
+package com.huimv.socketservice;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.scheduling.annotation.EnableScheduling;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.biosafety.uface.controller
+ * @Description : TODO
+ * @Version : 1.0
+ * @Author : ZhuoNing
+ * @Create : 2020-12-25
+ **/
+@EnableScheduling            //开启定时任务
+@SpringBootApplication
+public class HuimvSmartincubatorDataAcquisitionApplication {
+    public static void main(String[] args) {
+        SpringApplication.run(HuimvSmartincubatorDataAcquisitionApplication.class, args);
+    }
+}
+
+

+ 28 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/autoconfigure/MybatisPlusConfiguration.java

@@ -0,0 +1,28 @@
+package com.huimv.socketservice.autoconfigure;
+
+import com.baomidou.mybatisplus.annotation.DbType;
+import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @Author yinhao
+ * @Date 2021/4/27 9:01
+ * @Description
+ */
+@Configuration
+public class MybatisPlusConfiguration {
+
+    @Bean
+    public MybatisPlusInterceptor mybatisPlusInterceptor() {
+        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
+        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
+        return interceptor;
+    }
+
+//    @Bean
+//    public ConfigurationCustomizer configurationCustomizer() {
+//        return configuration -> configuration.setUseDeprecatedExecutor(false);
+//    }
+}

+ 85 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/controller/AlarmHistoryController.java

@@ -0,0 +1,85 @@
+ package com.huimv.socketservice.controller;
+
+import java.util.Arrays;
+import java.util.Map;
+
+import com.huimv.socketservice.result.R;
+import com.huimv.socketservice.socket.eartagrecive.util.PageUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.huimv.socketservice.entity.AlarmHistoryEntity;
+import com.huimv.socketservice.service.AlarmHistoryService;
+
+
+
+
+/**
+ * 
+ *
+ * @author yinhao
+ * @version ${version}
+ * @date 2021-09-07 10:24:08
+ */
+@RestController
+@RequestMapping("socketservice/alarmhistory")
+public class AlarmHistoryController {
+    @Autowired
+    private AlarmHistoryService alarmHistoryService;
+
+    /**
+     * 列表
+     */
+    @RequestMapping("/list")
+    public R list(@RequestParam Map<String, Object> params){
+        PageUtils page = alarmHistoryService.queryPage(params);
+
+        return R.ok().put("page", page);
+    }
+
+
+    /**
+     * 信息
+     */
+    @RequestMapping("/info/{id}")
+    public R info(@PathVariable("id") Integer id){
+		AlarmHistoryEntity alarmHistory = alarmHistoryService.getById(id);
+
+        return R.ok().put("alarmHistory", alarmHistory);
+    }
+
+    /**
+     * 保存
+     */
+    @RequestMapping("/save")
+    public R save(@RequestBody AlarmHistoryEntity alarmHistory){
+		alarmHistoryService.save(alarmHistory);
+
+        return R.ok();
+    }
+
+    /**
+     * 修改
+     */
+    @RequestMapping("/update")
+    public R update(@RequestBody AlarmHistoryEntity alarmHistory){
+		alarmHistoryService.updateById(alarmHistory);
+
+        return R.ok();
+    }
+
+    /**
+     * 删除
+     */
+    @RequestMapping("/delete")
+    public R delete(@RequestBody Integer[] ids){
+		alarmHistoryService.removeByIds(Arrays.asList(ids));
+
+        return R.ok();
+    }
+
+}

+ 85 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/controller/FarmRegisterController.java

@@ -0,0 +1,85 @@
+ package com.huimv.socketservice.controller;
+
+import java.util.Arrays;
+import java.util.Map;
+
+import com.huimv.socketservice.result.R;
+import com.huimv.socketservice.socket.eartagrecive.util.PageUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.huimv.socketservice.entity.FarmRegisterEntity;
+import com.huimv.socketservice.service.FarmRegisterService;
+
+
+
+
+/**
+ * 
+ *
+ * @author yinhao
+ * @version ${version}
+ * @date 2021-09-07 10:24:09
+ */
+@RestController
+@RequestMapping("socketservice/farmregister")
+public class FarmRegisterController {
+    @Autowired
+    private FarmRegisterService farmRegisterService;
+
+    /**
+     * 列表
+     */
+    @RequestMapping("/list")
+    public R list(@RequestParam Map<String, Object> params){
+        PageUtils page = farmRegisterService.queryPage(params);
+
+        return R.ok().put("page", page);
+    }
+
+
+    /**
+     * 信息
+     */
+    @RequestMapping("/info/{id}")
+    public R info(@PathVariable("id") Integer id){
+		FarmRegisterEntity farmRegister = farmRegisterService.getById(id);
+
+        return R.ok().put("farmRegister", farmRegister);
+    }
+
+    /**
+     * 保存
+     */
+    @RequestMapping("/save")
+    public R save(@RequestBody FarmRegisterEntity farmRegister){
+		farmRegisterService.save(farmRegister);
+
+        return R.ok();
+    }
+
+    /**
+     * 修改
+     */
+    @RequestMapping("/update")
+    public R update(@RequestBody FarmRegisterEntity farmRegister){
+		farmRegisterService.updateById(farmRegister);
+
+        return R.ok();
+    }
+
+    /**
+     * 删除
+     */
+    @RequestMapping("/delete")
+    public R delete(@RequestBody Integer[] ids){
+		farmRegisterService.removeByIds(Arrays.asList(ids));
+
+        return R.ok();
+    }
+
+}

+ 85 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/controller/HeartBeatController.java

@@ -0,0 +1,85 @@
+ package com.huimv.socketservice.controller;
+
+import java.util.Arrays;
+import java.util.Map;
+
+import com.huimv.socketservice.result.R;
+import com.huimv.socketservice.socket.eartagrecive.util.PageUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.huimv.socketservice.entity.HeartBeatEntity;
+import com.huimv.socketservice.service.HeartBeatService;
+
+
+
+
+/**
+ * 
+ *
+ * @author yinhao
+ * @version ${version}
+ * @date 2021-09-06 15:16:14
+ */
+@RestController
+@RequestMapping("socketservice/heartbeat")
+public class HeartBeatController {
+    @Autowired
+    private HeartBeatService heartBeatService;
+
+    /**
+     * 列表
+     */
+    @RequestMapping("/list")
+    public R list(@RequestParam Map<String, Object> params){
+        PageUtils page = heartBeatService.queryPage(params);
+
+        return R.ok().put("page", page);
+    }
+
+
+    /**
+     * 信息
+     */
+    @RequestMapping("/info/{id}")
+    public R info(@PathVariable("id") Integer id){
+		HeartBeatEntity heartBeat = heartBeatService.getById(id);
+
+        return R.ok().put("heartBeat", heartBeat);
+    }
+
+    /**
+     * 保存
+     */
+    @RequestMapping("/save")
+    public R save(@RequestBody HeartBeatEntity heartBeat){
+		heartBeatService.save(heartBeat);
+
+        return R.ok();
+    }
+
+    /**
+     * 修改
+     */
+    @RequestMapping("/update")
+    public R update(@RequestBody HeartBeatEntity heartBeat){
+		heartBeatService.updateById(heartBeat);
+
+        return R.ok();
+    }
+
+    /**
+     * 删除
+     */
+    @RequestMapping("/delete")
+    public R delete(@RequestBody Integer[] ids){
+		heartBeatService.removeByIds(Arrays.asList(ids));
+
+        return R.ok();
+    }
+
+}

+ 85 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/controller/PhoneNumberController.java

@@ -0,0 +1,85 @@
+ package com.huimv.socketservice.controller;
+
+import java.util.Arrays;
+import java.util.Map;
+
+import com.huimv.socketservice.result.R;
+import com.huimv.socketservice.socket.eartagrecive.util.PageUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.huimv.socketservice.entity.PhoneNumberEntity;
+import com.huimv.socketservice.service.PhoneNumberService;
+
+
+
+
+/**
+ * 
+ *
+ * @author yinhao
+ * @version ${version}
+ * @date 2021-09-07 10:24:08
+ */
+@RestController
+@RequestMapping("socketservice/phonenumber")
+public class PhoneNumberController {
+    @Autowired
+    private PhoneNumberService phoneNumberService;
+
+    /**
+     * 列表
+     */
+    @RequestMapping("/list")
+    public R list(@RequestParam Map<String, Object> params){
+        PageUtils page = phoneNumberService.queryPage(params);
+
+        return R.ok().put("page", page);
+    }
+
+
+    /**
+     * 信息
+     */
+    @RequestMapping("/info/{id}")
+    public R info(@PathVariable("id") Integer id){
+		PhoneNumberEntity phoneNumber = phoneNumberService.getById(id);
+
+        return R.ok().put("phoneNumber", phoneNumber);
+    }
+
+    /**
+     * 保存
+     */
+    @RequestMapping("/save")
+    public R save(@RequestBody PhoneNumberEntity phoneNumber){
+		phoneNumberService.save(phoneNumber);
+
+        return R.ok();
+    }
+
+    /**
+     * 修改
+     */
+    @RequestMapping("/update")
+    public R update(@RequestBody PhoneNumberEntity phoneNumber){
+		phoneNumberService.updateById(phoneNumber);
+
+        return R.ok();
+    }
+
+    /**
+     * 删除
+     */
+    @RequestMapping("/delete")
+    public R delete(@RequestBody Integer[] ids){
+		phoneNumberService.removeByIds(Arrays.asList(ids));
+
+        return R.ok();
+    }
+
+}

+ 19 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/dao/AlarmHistoryDao.java

@@ -0,0 +1,19 @@
+package com.huimv.socketservice.dao;
+
+import com.huimv.socketservice.entity.AlarmHistoryEntity;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 
+ * 
+ * @author yinhao
+ * @version ${version}
+ * @date 2021-09-07 10:24:08
+ */
+@Mapper
+@Repository
+public interface AlarmHistoryDao extends BaseMapper<AlarmHistoryEntity> {
+	
+}

+ 20 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/dao/FarmRegisterDao.java

@@ -0,0 +1,20 @@
+package com.huimv.socketservice.dao;
+
+import com.huimv.socketservice.entity.FarmRegisterEntity;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 
+ * 
+ * @author yinhao
+ * @version ${version}
+ * @date 2021-09-07 10:24:09
+ */
+@Mapper
+@Repository
+public interface FarmRegisterDao extends BaseMapper<FarmRegisterEntity> {
+	
+}

+ 19 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/dao/HeartBeatDao.java

@@ -0,0 +1,19 @@
+package com.huimv.socketservice.dao;
+
+import com.huimv.socketservice.entity.HeartBeatEntity;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 
+ * 
+ * @author yinhao
+ * @version ${version}
+ * @date 2021-09-06 15:16:14
+ */
+@Mapper
+@Repository
+public interface HeartBeatDao extends BaseMapper<HeartBeatEntity> {
+	
+}

+ 19 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/dao/PhoneNumberDao.java

@@ -0,0 +1,19 @@
+package com.huimv.socketservice.dao;
+
+import com.huimv.socketservice.entity.PhoneNumberEntity;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 
+ * 
+ * @author yinhao
+ * @version ${version}
+ * @date 2021-09-07 10:24:08
+ */
+@Mapper
+@Repository
+public interface PhoneNumberDao extends BaseMapper<PhoneNumberEntity> {
+	
+}

+ 17 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/dao/TelephoneDao.java

@@ -0,0 +1,17 @@
+package com.huimv.socketservice.dao;
+
+import com.huimv.socketservice.entity.TelephoneEntity;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 
+ * 
+ * @author yinhao
+ * @version ${version}
+ * @date 2021-09-06 15:16:14
+ */
+@Mapper
+public interface TelephoneDao extends BaseMapper<TelephoneEntity> {
+	
+}

+ 52 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/entity/AlarmHistoryEntity.java

@@ -0,0 +1,52 @@
+package com.huimv.socketservice.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 
+ * 
+ * @author yinhao
+ * @version ${version}
+ * @date 2021-09-07 10:24:08
+ */
+@Data
+@TableName("alarm_history")
+public class AlarmHistoryEntity implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 
+	 */
+	@TableId
+	private Integer id;
+	/**
+	 * 
+	 */
+	private Integer farmCode;
+
+
+	private String phoneNumber;
+
+
+	private String farmName;
+
+
+	/**
+	 * 1.断电断网  2.relay停用
+	 */
+	private Integer alarmType;
+	/**
+	 * 
+	 */
+	private Date beginTime;
+	/**
+	 * 
+	 */
+	private Date endTime;
+
+}

+ 48 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/entity/FarmRegisterEntity.java

@@ -0,0 +1,48 @@
+package com.huimv.socketservice.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 
+ * 
+ * @author yinhao
+ * @version ${version}
+ * @date 2021-09-07 10:24:09
+ */
+@Data
+@TableName("farm_register")
+public class FarmRegisterEntity implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 
+	 */
+	@TableId
+	private Integer id;
+	/**
+	 * 
+	 */
+	private String farmName;
+	/**
+	 * 
+	 */
+	private Integer farmCode;
+	/**
+	 * 
+	 */
+	private Date createTime;
+	/**
+	 * 
+	 */
+	private String registPersion;
+	/**
+	 * 
+	 */
+	private Integer status;
+
+}

+ 44 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/entity/HeartBeatEntity.java

@@ -0,0 +1,44 @@
+package com.huimv.socketservice.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 
+ * 
+ * @author yinhao
+ * @version ${version}
+ * @date 2021-09-06 15:16:14
+ */
+@Data
+@TableName("heart_beat")
+public class HeartBeatEntity implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 
+	 */
+	@TableId
+	private Integer id;
+	/**
+	 * 
+	 */
+	private Integer cmd;
+	/**
+	 * 
+	 */
+	private Integer farmCode;
+	/**
+	 * 
+	 */
+	private Date createTime;
+	/**
+	 * 
+	 */
+	private String header;
+
+}

+ 55 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/entity/PhoneNumberEntity.java

@@ -0,0 +1,55 @@
+package com.huimv.socketservice.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 
+ * 
+ * @author yinhao
+ * @version ${version}
+ * @date 2021-09-07 10:24:08
+ */
+@Data
+@TableName("phone_number")
+public class PhoneNumberEntity implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 
+	 */
+	@TableId
+	private Integer id;
+	/**
+	 * 
+	 */
+	private String userName;
+	/**
+	 * 
+	 */
+	private String phoneNumber;
+	/**
+	 * 
+	 */
+	private Integer farmCode;
+
+
+	private Integer alarmType;
+	/**
+	 * 
+	 */
+	private String farmName;
+	/**
+	 * 
+	 */
+	private Integer status;
+	/**
+	 * 
+	 */
+	private String remark;
+
+}

+ 48 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/entity/TelephoneEntity.java

@@ -0,0 +1,48 @@
+package com.huimv.socketservice.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 
+ * 
+ * @author yinhao
+ * @version ${version}
+ * @date 2021-09-06 15:16:14
+ */
+@Data
+@TableName("telephone")
+public class TelephoneEntity implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 
+	 */
+	@TableId
+	private Integer id;
+	/**
+	 * 
+	 */
+	private String telephoneNumber;
+	/**
+	 * 
+	 */
+	private Integer farmCode;
+	/**
+	 * 
+	 */
+	private String name;
+	/**
+	 * 
+	 */
+	private String job;
+	/**
+	 * 
+	 */
+	private String farmName;
+
+}

+ 58 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/result/R.java

@@ -0,0 +1,58 @@
+package com.huimv.socketservice.result;
+
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class R extends HashMap<String, Object> {
+
+    private static final long serialVersionUID = 1L;
+
+    public R() {
+        put("code", 0);
+        put("msg", "success");
+    }
+
+    public static R error() {
+        return error(500, "未知异常,请联系管理员");
+    }
+
+    public static R error(String msg) {
+        return error(500, msg);
+    }
+
+    public static R error(int code, String msg) {
+        R r = new R();
+        r.put("code", code);
+        r.put("msg", msg);
+        return r;
+    }
+
+    public static R ok(String msg) {
+        R r = new R();
+        r.put("msg", msg);
+        return r;
+    }
+
+    public static R ok(Map<String, Object> map) {
+        R r = new R();
+        r.putAll(map);
+        return r;
+    }
+
+    public static R ok() {
+        return new R();
+    }
+
+    @Override
+    public R put(String key, Object value) {
+        super.put(key, value);
+        return this;
+    }
+
+    public static void main(String[] args) {
+        R r = new R();
+        System.out.println(r);
+
+    }
+}

+ 48 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/result/RRException.java

@@ -0,0 +1,48 @@
+package com.huimv.socketservice.result;
+
+public class RRException extends RuntimeException {
+	private static final long serialVersionUID = 1L;
+	
+    private String msg;
+    private int code = 500;
+    
+    public RRException(String msg) {
+		super(msg);
+		this.msg = msg;
+	}
+	
+	public RRException(String msg, Throwable e) {
+		super(msg, e);
+		this.msg = msg;
+	}
+	
+	public RRException(String msg, int code) {
+		super(msg);
+		this.msg = msg;
+		this.code = code;
+	}
+	
+	public RRException(String msg, int code, Throwable e) {
+		super(msg, e);
+		this.msg = msg;
+		this.code = code;
+	}
+
+	public String getMsg() {
+		return msg;
+	}
+
+	public void setMsg(String msg) {
+		this.msg = msg;
+	}
+
+	public int getCode() {
+		return code;
+	}
+
+	public void setCode(int code) {
+		this.code = code;
+	}
+	
+	
+}

+ 116 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/result/RRExceptionHandler.java

@@ -0,0 +1,116 @@
+/**
+ * Copyright (c) 2016-2019 人人开源 All rights reserved.
+ *
+ * https://www.renren.io
+ *
+ * 版权所有,侵权必究!
+ */
+
+package com.huimv.socketservice.result;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.dao.DataIntegrityViolationException;
+import org.springframework.dao.DuplicateKeyException;
+import org.springframework.validation.FieldError;
+import org.springframework.validation.ObjectError;
+import org.springframework.web.HttpRequestMethodNotSupportedException;
+import org.springframework.web.bind.MethodArgumentNotValidException;
+import org.springframework.web.bind.MissingServletRequestParameterException;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.RestControllerAdvice;
+import org.springframework.web.servlet.NoHandlerFoundException;
+
+/**
+ * 异常处理器
+ *
+ * @author Mark sunlightcs@gmail.com
+ */
+@RestControllerAdvice
+public class RRExceptionHandler {
+	private Logger logger = LoggerFactory.getLogger(getClass());
+
+	/**
+	 * 处理自定义异常
+	 */
+	@ExceptionHandler(RRException.class)
+	public R handleRRException(RRException e){
+		R r = new R();
+		r.put("code", e.getCode());
+		r.put("msg", e.getMessage());
+		logger.error(e.getMsg(),e);
+		return r;
+	}
+
+	@ExceptionHandler(NoHandlerFoundException.class)
+	public R handlerNoFoundException(Exception e) {
+		logger.error(e.getMessage(), e);
+		return R.error(404, "路径不存在,请检查路径是否正确");
+	}
+
+	@ExceptionHandler(DuplicateKeyException.class)
+	public R handleDuplicateKeyException(DuplicateKeyException e){
+		logger.error(e.toString());
+		String message = e.getCause().getMessage();
+		String[] s = message.split(" ");
+		return R.error(600,s[2].replace("'","") + " 已经存在!");
+	}
+
+//	@ExceptionHandler(AuthorizationException.class)
+//	public R handleAuthorizationException(AuthorizationException e){
+//		logger.error(e.getMessage(), e);
+//		return R.error("没有权限,请联系管理员授权");
+//	}
+//
+//	@ExceptionHandler(value = LimitAccessException.class)
+//	public R handleLimitAccessException(LimitAccessException e) {
+//		logger.error("LimitAccessException", e);
+//		return  R.error(429,e.getMessage());
+//	}
+
+	//当校验失败时,会抛出MethodArgumentNotValidException
+	//输出错误原因到前端
+	@ExceptionHandler(MethodArgumentNotValidException.class)
+	public R handleMethodArgumentNotValidException(MethodArgumentNotValidException ex) {
+		logger.error(ex.getMessage(),ex);
+		StringBuilder sb = new StringBuilder();
+		for(ObjectError error : ex.getBindingResult().getAllErrors()){
+			if(error instanceof FieldError){
+				FieldError e = (FieldError) error;
+				sb.append(e.getField()).append(e.getDefaultMessage()).append(" ");
+			}
+		}
+		return R.error(1001,sb.toString());
+	}
+
+//	@ExceptionHandler(ConstraintViolationException.class)
+//	public R handleConstraintViolationException(ConstraintViolationException e) {
+//		logger.error(e.getMessage(),e);
+//		StringBuilder sb = new StringBuilder();
+//		e.getConstraintViolations().forEach(constraintViolation -> sb.append(constraintViolation.getMessage()).append(" "));
+//		return R.error(1001,sb.toString().substring(0,sb.length() - 1));
+//	}
+
+	@ExceptionHandler(MissingServletRequestParameterException.class)
+	public R handMissingServletRequestParameterException(MissingServletRequestParameterException e) {
+		logger.error(e.getMessage(),e);
+		return R.error(1001,e.getMessage());
+	}
+
+	@ExceptionHandler(DataIntegrityViolationException.class)
+	public R handDataIntegrityViolationException(DataIntegrityViolationException e) {
+		logger.error(e.getMessage(),e);
+		return R.error(1001,e.getCause().getMessage());
+	}
+
+	@ExceptionHandler(HttpRequestMethodNotSupportedException.class)
+	public R handHttpRequestMethodNotSupportedException(HttpRequestMethodNotSupportedException e) {
+		logger.error(e.getMessage(), e);
+		return R.error(1001, e.getMessage());
+	}
+	@ExceptionHandler(Exception.class)
+	public R handleException(Exception e){
+		logger.error(e.getMessage(), e);
+		return R.error();
+	}
+}

+ 101 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/sendmassage/SendWork.java

@@ -0,0 +1,101 @@
+package com.huimv.socketservice.sendmassage;
+
+
+import com.huimv.socketservice.entity.AlarmHistoryEntity;
+import com.huimv.socketservice.entity.PhoneNumberEntity;
+import com.huimv.socketservice.service.AlarmHistoryService;
+import com.zhenzi.sms.ZhenziSmsClient;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Component
+public class SendWork {
+
+    @Autowired
+    private AlarmHistoryService alarmHistoryService;
+
+    public void send(String masssage1, List<PhoneNumberEntity> phoneNumberList) throws Exception {
+        ZhenziSmsClient client = new ZhenziSmsClient("https://sms_developer.zhenzikj.com",
+                "109928", "2684d129-1946-43fc-9074-93cee1687eb7");
+        for (PhoneNumberEntity phonNumber : phoneNumberList) {
+            Map<String, Object> params = new HashMap<String, Object>();
+            params.put("number", phonNumber.getPhoneNumber());
+            params.put("templateId", "6663");
+            String[] templateParams = new String[2];
+            templateParams[0] = phonNumber.getFarmName();
+            templateParams[1] = masssage1;
+            params.put("templateParams", templateParams);
+            String result = client.send(params);
+            String balance = client.balance();
+            System.out.println("222通知号码" + result + balance);
+
+            AlarmHistoryEntity alarmHistoryEntity = new AlarmHistoryEntity();
+            alarmHistoryEntity.setAlarmType(1);
+            alarmHistoryEntity.setBeginTime(new Date());
+            alarmHistoryEntity.setFarmCode(phonNumber.getFarmCode());
+            alarmHistoryEntity.setEndTime(new Date());
+            alarmHistoryEntity.setPhoneNumber(phonNumber.getPhoneNumber());
+            alarmHistoryEntity.setFarmName(phonNumber.getFarmName());
+            System.out.println(alarmHistoryEntity);
+            alarmHistoryService.save(alarmHistoryEntity);
+            System.out.println("222存储成功");
+            //同时存储记录
+        }
+    }
+
+    public void send2(String masssage1, List<PhoneNumberEntity> phoneNumberList) throws Exception {
+        ZhenziSmsClient client = new ZhenziSmsClient("https://sms_developer.zhenzikj.com",
+                "109928", "2684d129-1946-43fc-9074-93cee1687eb7");
+        for (PhoneNumberEntity phonNumber : phoneNumberList) {
+            Map<String, Object> params = new HashMap<String, Object>();
+            params.put("number", phonNumber.getPhoneNumber());
+            params.put("templateId", "6663");
+            String[] templateParams = new String[2];
+            templateParams[0] = phonNumber.getFarmName();
+            templateParams[1] = "relay故障";
+            params.put("templateParams", templateParams);
+            String result = client.send(params);
+            String balance = client.balance();
+            System.out.println("222通知号码" + result + balance);
+
+            AlarmHistoryEntity alarmHistoryEntity = new AlarmHistoryEntity();
+            alarmHistoryEntity.setAlarmType(2);
+            alarmHistoryEntity.setBeginTime(new Date());
+            alarmHistoryEntity.setFarmCode(phonNumber.getFarmCode());
+            alarmHistoryEntity.setEndTime(new Date());
+            alarmHistoryEntity.setPhoneNumber(phonNumber.getPhoneNumber());
+            alarmHistoryEntity.setFarmName(phonNumber.getFarmName());
+            System.out.println(alarmHistoryEntity);
+            alarmHistoryService.save(alarmHistoryEntity);
+            System.out.println("222存储成功");
+            //同时存储记录
+        }
+    }
+
+
+
+    public static void main(String[] args) throws Exception {
+
+        ZhenziSmsClient client = new ZhenziSmsClient("https://sms_developer.zhenzikj.com",
+                "109928", "2684d129-1946-43fc-9074-93cee1687eb7");
+        Map<String, Object> params = new HashMap<String, Object>();
+        params.put("number", "15171709851");
+        params.put("templateId", "6663");
+        String[] templateParams = new String[2];
+        templateParams[0] = "王江泾";
+        templateParams[1] = "1";
+        params.put("templateParams", templateParams);
+        String result = client.send(params);
+        String balance = client.balance();
+        System.out.println(result + balance);
+    }
+}
+
+
+
+
+

+ 21 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/service/AlarmHistoryService.java

@@ -0,0 +1,21 @@
+package com.huimv.socketservice.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import com.huimv.socketservice.entity.AlarmHistoryEntity;
+import com.huimv.socketservice.socket.eartagrecive.util.PageUtils;
+
+import java.util.Map;
+
+/**
+ * 
+ *
+ * @author yinhao
+ * @version ${version}
+ * @date 2021-09-07 10:24:08
+ */
+public interface AlarmHistoryService extends IService<AlarmHistoryEntity> {
+
+    PageUtils queryPage(Map<String, Object> params);
+}
+

+ 21 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/service/FarmRegisterService.java

@@ -0,0 +1,21 @@
+package com.huimv.socketservice.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import com.huimv.socketservice.entity.FarmRegisterEntity;
+import com.huimv.socketservice.socket.eartagrecive.util.PageUtils;
+
+import java.util.Map;
+
+/**
+ * 
+ *
+ * @author yinhao
+ * @version ${version}
+ * @date 2021-09-07 10:24:09
+ */
+public interface FarmRegisterService extends IService<FarmRegisterEntity> {
+
+    PageUtils queryPage(Map<String, Object> params);
+}
+

+ 21 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/service/HeartBeatService.java

@@ -0,0 +1,21 @@
+package com.huimv.socketservice.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import com.huimv.socketservice.entity.HeartBeatEntity;
+import com.huimv.socketservice.socket.eartagrecive.util.PageUtils;
+
+import java.util.Map;
+
+/**
+ * 
+ *
+ * @author yinhao
+ * @version ${version}
+ * @date 2021-09-06 15:16:14
+ */
+public interface HeartBeatService extends IService<HeartBeatEntity> {
+
+    PageUtils queryPage(Map<String, Object> params);
+}
+

+ 21 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/service/PhoneNumberService.java

@@ -0,0 +1,21 @@
+package com.huimv.socketservice.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import com.huimv.socketservice.entity.PhoneNumberEntity;
+import com.huimv.socketservice.socket.eartagrecive.util.PageUtils;
+
+import java.util.Map;
+
+/**
+ * 
+ *
+ * @author yinhao
+ * @version ${version}
+ * @date 2021-09-07 10:24:08
+ */
+public interface PhoneNumberService extends IService<PhoneNumberEntity> {
+
+    PageUtils queryPage(Map<String, Object> params);
+}
+

+ 37 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/service/impl/AlarmHistoryServiceImpl.java

@@ -0,0 +1,37 @@
+package com.huimv.socketservice.service.impl;
+
+import com.huimv.socketservice.dao.AlarmHistoryDao;
+import com.huimv.socketservice.socket.eartagrecive.util.PageUtils;
+import com.huimv.socketservice.socket.eartagrecive.util.Query;
+import org.springframework.stereotype.Service;
+import java.util.Map;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+
+
+import com.huimv.socketservice.entity.AlarmHistoryEntity;
+import com.huimv.socketservice.service.AlarmHistoryService;
+
+/**
+ * 
+ *
+ * @author yinhao
+ * @version ${version}
+ * @date 2021-09-07 10:24:08
+ */
+@Service("alarmHistoryService")//
+public class AlarmHistoryServiceImpl extends ServiceImpl<AlarmHistoryDao, AlarmHistoryEntity> implements AlarmHistoryService {
+
+    @Override
+    public PageUtils queryPage(Map<String, Object> params) {
+        IPage<AlarmHistoryEntity> page = this.page(
+                new Query<AlarmHistoryEntity>().getPage(params),
+                new QueryWrapper<AlarmHistoryEntity>()
+        );
+
+        return new PageUtils(page);
+    }
+
+}

+ 36 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/service/impl/FarmRegisterServiceImpl.java

@@ -0,0 +1,36 @@
+package com.huimv.socketservice.service.impl;
+
+import com.huimv.socketservice.socket.eartagrecive.util.PageUtils;
+import com.huimv.socketservice.socket.eartagrecive.util.Query;
+import org.springframework.stereotype.Service;
+import java.util.Map;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+
+import com.huimv.socketservice.dao.FarmRegisterDao;
+import com.huimv.socketservice.entity.FarmRegisterEntity;
+import com.huimv.socketservice.service.FarmRegisterService;
+
+/**
+ * 
+ *
+ * @author yinhao
+ * @version ${version}
+ * @date 2021-09-07 10:24:09
+ */
+@Service("farmRegisterService")
+public class FarmRegisterServiceImpl extends ServiceImpl<FarmRegisterDao, FarmRegisterEntity> implements FarmRegisterService {
+
+    @Override
+    public PageUtils queryPage(Map<String, Object> params) {
+        IPage<FarmRegisterEntity> page = this.page(
+                new Query<FarmRegisterEntity>().getPage(params),
+                new QueryWrapper<FarmRegisterEntity>()
+        );
+
+        return new PageUtils(page);
+    }
+
+}

+ 36 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/service/impl/HeartBeatServiceImpl.java

@@ -0,0 +1,36 @@
+package com.huimv.socketservice.service.impl;
+
+import com.huimv.socketservice.socket.eartagrecive.util.PageUtils;
+import com.huimv.socketservice.socket.eartagrecive.util.Query;
+import org.springframework.stereotype.Service;
+import java.util.Map;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+
+import com.huimv.socketservice.dao.HeartBeatDao;
+import com.huimv.socketservice.entity.HeartBeatEntity;
+import com.huimv.socketservice.service.HeartBeatService;
+
+/**
+ * 
+ *
+ * @author yinhao
+ * @version ${version}
+ * @date 2021-09-06 15:16:14
+ */
+@Service("heartBeatService")
+public class HeartBeatServiceImpl extends ServiceImpl<HeartBeatDao, HeartBeatEntity> implements HeartBeatService {
+
+    @Override
+    public PageUtils queryPage(Map<String, Object> params) {
+        IPage<HeartBeatEntity> page = this.page(
+                new Query<HeartBeatEntity>().getPage(params),
+                new QueryWrapper<HeartBeatEntity>()
+        );
+
+        return new PageUtils(page);
+    }
+
+}

+ 36 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/service/impl/PhoneNumberServiceImpl.java

@@ -0,0 +1,36 @@
+package com.huimv.socketservice.service.impl;
+
+import com.huimv.socketservice.socket.eartagrecive.util.PageUtils;
+import com.huimv.socketservice.socket.eartagrecive.util.Query;
+import org.springframework.stereotype.Service;
+import java.util.Map;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+
+import com.huimv.socketservice.dao.PhoneNumberDao;
+import com.huimv.socketservice.entity.PhoneNumberEntity;
+import com.huimv.socketservice.service.PhoneNumberService;
+
+/**
+ * 
+ *
+ * @author yinhao
+ * @version ${version}
+ * @date 2021-09-07 10:24:08
+ */
+@Service("phoneNumberService")
+public class PhoneNumberServiceImpl extends ServiceImpl<PhoneNumberDao, PhoneNumberEntity> implements PhoneNumberService {
+
+    @Override
+    public PageUtils queryPage(Map<String, Object> params) {
+        IPage<PhoneNumberEntity> page = this.page(
+                new Query<PhoneNumberEntity>().getPage(params),
+                new QueryWrapper<PhoneNumberEntity>()
+        );
+
+        return new PageUtils(page);
+    }
+
+}

+ 44 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/socket/Server.java

@@ -0,0 +1,44 @@
+package com.huimv.socketservice.socket;
+
+
+import com.huimv.socketservice.socket.eartagrecive.service.IClientDataPacketService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.CommandLineRunner;
+import org.springframework.stereotype.Component;
+
+import java.io.IOException;
+import java.net.ServerSocket;
+import java.net.Socket;
+
+@Component
+public class Server implements CommandLineRunner {
+
+    @Autowired
+    private IClientDataPacketService iClientDataPacketService;
+
+    @Override
+    public void run(String... args) throws Exception {
+        try {
+
+            // 初始化服务端socket连接, 并监听8888端口的socket请求
+            ServerSocket serverSocket = new ServerSocket(8899);
+
+            System.out.println("****** I am Server, now begin to wait the client ******");
+
+            int count = 0;
+            // 处理socket请求
+            Socket socket = null;
+            while (true) {
+                socket = serverSocket.accept();
+                ServerThread serverThread = new ServerThread(socket, iClientDataPacketService);
+                System.out.println("client host address is: " + socket.getInetAddress().getHostAddress());
+                serverThread.start();
+                count++;
+                System.out.println("now client count is: " + count);
+
+            }
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+}

+ 81 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/socket/ServerThread.java

@@ -0,0 +1,81 @@
+package com.huimv.socketservice.socket;
+
+
+
+
+import com.huimv.socketservice.socket.eartagrecive.service.IClientDataPacketService;
+
+import java.io.*;
+import java.net.Socket;
+import java.text.ParseException;
+
+//@Component
+public class ServerThread extends Thread {
+
+    private Socket socket;
+   // @Autowired
+    private IClientDataPacketService iClientDataPacketService;
+
+    public ServerThread(Socket socket, IClientDataPacketService iClientDataPacketService) {
+        this.socket = socket;
+        this.iClientDataPacketService = iClientDataPacketService;
+    }
+
+    @Override
+    public void run() {
+        InputStream inputStream = null;
+        InputStreamReader inputStreamReader = null;
+        BufferedReader bufferedReader = null;
+        OutputStream outputStream = null;
+        PrintWriter printWriter = null;
+
+        try {
+
+//             server接收消息
+            inputStream = socket.getInputStream();
+            inputStream = socket.getInputStream();
+            byte[] b = new byte[1024];
+            inputStream.read(b);
+            String packet = new String(b);
+
+            int i = packet.indexOf("+", packet.indexOf("+") + 1);
+            //int ver = Integer.parseInt(packet.substring(i + 1, i + 2));
+            outputStream = socket.getOutputStream();
+            packet = packet.trim();
+            // 处理数据包
+             String ss = iClientDataPacketService.handleClientSendPacket(packet);
+
+            outputStream.write(ss.getBytes());
+
+            socket.shutdownInput();
+
+        } catch (IOException | ParseException e) {
+            e.printStackTrace();
+        } finally {
+            // 关闭资源
+            try {
+                if (printWriter != null) {
+                    printWriter.close();
+                }
+                if (outputStream != null) {
+                    outputStream.close();
+
+                }
+                if (bufferedReader != null) {
+                    bufferedReader.close();
+                }
+                if (inputStreamReader != null) {
+                    inputStreamReader.close();
+                }
+                if (inputStream != null) {
+                    inputStream.close();
+                }
+                if (socket != null) {
+                    socket.close();
+                }
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+        }
+    }
+}

+ 33 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/socket/TestClient.java

@@ -0,0 +1,33 @@
+package com.huimv.socketservice.socket;
+
+import java.io.*;
+import java.net.Socket;
+
+public class TestClient {
+
+
+    public static void main(String[] args) throws IOException {
+
+        for (int i = 0; i <100 ; i++) {
+
+            //建立socket向服务器发送连接请求
+            Socket socket = new Socket("192.168.1.218",8899);
+            InputStream inputStream;
+            inputStream = socket.getInputStream();
+            OutputStream outputStream = socket.getOutputStream();
+            //客户端向socket发送数据
+            PrintWriter printWriter = new PrintWriter(outputStream);
+            //  printWriter.println("zj+4545898+1.0+112233445512345+666+90+3800+2700+9999+10+77+20210708152300+8888+9d+end");
+            printWriter.println("hm+158+4+1+289+20170208152300+6+end");
+            printWriter.flush();
+            //读取数据
+            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
+            String readLine = bufferedReader.readLine();
+            System.out.println(readLine);
+            inputStream.close();
+            outputStream.close();
+            socket.close();
+        }
+    }
+
+}

+ 11 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/socket/eartagrecive/service/IClientDataPacketService.java

@@ -0,0 +1,11 @@
+package com.huimv.socketservice.socket.eartagrecive.service;
+
+import java.text.ParseException;
+
+
+public interface IClientDataPacketService {
+
+    // 解析客户端数据包
+    public String handleClientSendPacket(String clientMessage) throws ParseException;
+
+}

+ 81 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/socket/eartagrecive/service/impl/ClientDataPacketServiceImpl.java

@@ -0,0 +1,81 @@
+package com.huimv.socketservice.socket.eartagrecive.service.impl;
+
+
+
+import com.huimv.socketservice.entity.HeartBeatEntity;
+import com.huimv.socketservice.service.HeartBeatService;
+import com.huimv.socketservice.socket.eartagrecive.service.IClientDataPacketService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.text.ParseException;
+import java.util.Date;
+
+/**
+ * @Project : huimv.ql
+ * @Package : com.huimv.biosafety.uface.controller
+ * @Description : TODO
+ * @Version : 1.0
+ * @Author : ZhuoNing
+ * @Create : 2020-12-25
+ **/
+
+@Service
+@Slf4j
+public class ClientDataPacketServiceImpl implements IClientDataPacketService {
+
+
+    @Autowired
+    private SendPackageService sendPackageService;
+
+
+    @Autowired
+    private HeartBeatService heartBeatService ;
+
+
+
+
+    //现在没有判断了,数据直接处理.上传的数据单一,只有耳标数据
+    @Override
+    public String handleClientSendPacket(String clientMessageTxt) throws ParseException {
+        System.out.println(clientMessageTxt.toString());
+        if (clientMessageTxt == null || clientMessageTxt.isEmpty()) {
+            log.error("本地提交数据包为空.");
+            return  "null"    ;
+        }
+
+        String matcher = "[+]";
+        String[] clientMessageArray = clientMessageTxt.split(matcher);
+        String cmd = clientMessageArray[1];
+        log.info("本次执行命令>>" + cmd);
+        if (Integer.parseInt(cmd) == 1) {    //断电断网  直接存储
+            //存储记录
+            HeartBeatEntity heartBeatEntity = new HeartBeatEntity();
+            heartBeatEntity.setCmd(Integer.valueOf(cmd));
+            heartBeatEntity.setFarmCode(Integer.valueOf(clientMessageArray[3]));
+            heartBeatEntity.setCreateTime(new Date());
+            heartBeatEntity.setHeader(clientMessageArray[0]);
+            heartBeatService.save(heartBeatEntity);
+            System.out.println("处理1命令");
+            //直接存储数据
+            return "hm+ok";
+        } else if (Integer.parseInt(cmd) == 2) {   //relay没有启动--直接报警
+            HeartBeatEntity heartBeatEntity = new HeartBeatEntity();
+            heartBeatEntity.setCmd(Integer.valueOf(cmd));
+            heartBeatEntity.setFarmCode(Integer.valueOf(clientMessageArray[3]));
+            heartBeatEntity.setCreateTime(new Date());
+            heartBeatEntity.setHeader(clientMessageArray[0]);
+            heartBeatService.save(heartBeatEntity);
+            System.out.println("处理2命令");
+
+            System.out.println("处理2命令");
+            return sendPackageService.getServerDateTime(clientMessageArray);
+        } else {
+            log.error("出错:当前命令cmd>>[" + cmd + "]未做任何处理.");
+            return  "null";
+        }
+    }
+}
+
+

+ 76 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/socket/eartagrecive/service/impl/SendPackageService.java

@@ -0,0 +1,76 @@
+package com.huimv.socketservice.socket.eartagrecive.service.impl;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+
+import com.huimv.socketservice.socket.eartagrecive.util.DateUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.biosafety.uface.controller
+ * @Description : TODO
+ * @Version : 1.0
+ * @Author : ZhuoNing
+ * @Create : 2020-12-25
+ **/
+@Component
+public class SendPackageService {
+
+
+    /**
+     * @Method      : _handleGetDeviceId
+     * @Description : 获取设备id
+     * @Params      : [clientMessageArray]
+     * @Return      : java.lang.String
+     * @Author      : ZhuoNing
+     * @Date        : 2021/1/15
+     * @Time        : 17:41
+     */
+    public String getDeviceId(String[] clientMessageArray) {
+        String serialNo = clientMessageArray[1];
+        System.out.println("serialNo>>"+serialNo);
+        // 查询机器id 没有查询了,取消
+        // String jqid = jqidService.findDeviceIdByJQcode(serialNo);
+        // hm+202007239999123+4+1+243+20210729161101+0+en
+
+
+        System.out.println("芯片编码为====>"+serialNo);
+        //520---站点ID--现在随便写
+
+        return "hm+1+0+6+123+8+end";
+    }
+
+    /**
+     * @Method      : _handleGetServerDateTime
+     * @Description : 获取获取服务器日期时间
+     * @Params      : [clientMessageArray]
+     * @Return      : java.lang.Strin
+     * @Author      : ZhuoNing
+     * @Date        : 2021/1/15
+     * @Time        : 17:38
+     */
+    public String getServerDateTime(String[] clientMessageArray) {
+        //
+        String formatNow = DateUtil.getNowWithDigital();
+       // hm+2+20170203094133+4+end
+        return "hm+2+"+formatNow+"+4+end";
+    }
+
+
+    /**
+     * @Method      : _handleGetHeartbeatBag
+     * @Description : 获取心跳包
+     * @Params      : [clientMessageArray]
+     * @Return      : java.lang.String
+     *
+     * @Author      : ZhuoNing
+     * @Date        : 2021/1/15
+     * @Time        : 17:38
+     */
+    public String getHeartbeatBag(String[] clientMessageArray) {
+        return "hm+3+0+6+end";
+    }
+}

Plik diff jest za duży
+ 131 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/socket/eartagrecive/util/Constant.java


+ 81 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/socket/eartagrecive/util/DateUtil.java

@@ -0,0 +1,81 @@
+package com.huimv.socketservice.socket.eartagrecive.util;
+
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.Locale;
+
+public class DateUtil {
+
+    public DateUtil() {
+    }
+
+    public static String getNowWithDigital() {
+        Date now = new Date();
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        return sdf.format(now).replaceAll("-", "").replaceAll(" ", "").replaceAll(":", "");
+    }
+
+
+    public static String buildDateTimeString(String formatContent) {
+        String year = formatContent.substring(0, 4);
+        String month = formatContent.substring(4, 6);
+        String day = formatContent.substring(6, 8);
+        String hour = formatContent.substring(8, 10);
+        String minute = formatContent.substring(10, 12);
+        String seconds = formatContent.substring(12, 14);
+        StringBuilder dateTimeSb = new StringBuilder();
+        return dateTimeSb.append(year).append("-").append(month).append("-").append(day).append(" ").append(hour).append(":").append(minute).append(":").append(seconds).toString();
+    }
+
+    public static String buildDateString(String formatContent) {
+        String year = formatContent.substring(0, 4);
+        String month = formatContent.substring(4, 6);
+        String day = formatContent.substring(6, 8);
+        String dateTime = year + "-" + month + "-" + day;
+        return dateTime;
+    }
+
+    public static String formatDateTime(String date) {
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:SS");
+        return sdf.format(date);
+    }
+
+    public static Date parseDateTime(String date) throws ParseException {
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        return sdf.parse(date);
+    }
+
+    public String getToday() {
+        DateFormat df3 = DateFormat.getDateInstance(2, Locale.CHINA);
+        return df3.format(new Date());
+    }
+
+    public static void main(String[] args) {
+         DateUtil dateUtil=new DateUtil();
+        System.out.println(dateUtil.getToday());
+         String a = dateUtil.getToday();
+        System.out.println(a);
+
+
+
+    }
+
+    public String formatDate(Date date) {
+        DateFormat df3 = DateFormat.getDateInstance(2, Locale.CHINA);
+        return df3.format(date);
+    }
+
+
+
+    public String beforeTime(int times) {
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        Calendar calendar = Calendar.getInstance();
+        calendar.set(11, calendar.get(11) - times);
+        String endTime = sdf.format(calendar.getTime());
+        System.out.println("提前3小时:" + endTime);
+        return endTime;
+    }
+}

+ 279 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/socket/eartagrecive/util/DateUtilsPublic.java

@@ -0,0 +1,279 @@
+package com.huimv.socketservice.socket.eartagrecive.util;
+
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.Locale;
+
+/**
+ * 日期转换工具
+ * @author guojian
+ */
+public class DateUtilsPublic {
+
+	public static final String DATE_FORMAT = "yyyy-MM-dd";
+
+	public static final String DATE_FORMAT_NUMBER = "yyyyMMdd";
+	public static final String DATE_FORMAT_NUMBER_MONTH = "yyyyMM";
+
+	public static final String DATETIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
+	public static final String TIME_FORMAT = "HH:mm:ss";
+
+	public static final String GREENWICH_TIME = "1970-01-01 00:00:00";
+
+	public static String formatDate(Date date, String pattern) {
+		SimpleDateFormat sdf = new SimpleDateFormat(pattern);
+		try {
+			return sdf.format(date);
+		} catch (Exception e) {
+			return null;
+		}
+	}
+
+
+	//计算两个时间之间的天数----毫秒到天之间的换算
+	private static long daysBetween(Date one, Date two) {
+		long difference =  (one.getTime()-two.getTime())/86400000;
+		return Math.abs(difference);
+	}
+
+
+//改一下,传进来date  处理完之后返回date
+	public static String addDateStringHour(String day, int hour) {
+		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+		Date date = null;
+		try {
+			date = format.parse(day);
+		} catch (Exception ex) {
+			ex.printStackTrace();
+		}
+		if (date == null)
+			return "";
+		System.out.println("front:" + format.format(date)); //显示输入的日期
+		Calendar cal = Calendar.getInstance();
+		cal.setTime(date);
+		cal.add(Calendar.HOUR, hour);// 24小时制
+		date = cal.getTime();
+		System.out.println("after:" + format.format(date));  //显示更新后的日期
+		cal = null;
+		return format.format(date);
+
+	}
+
+
+
+	//改一下,传进来date  处理完之后返回date
+	public static Date addDateHour(Date datein, int hour) {
+		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+		Date date = null;
+		/*try {
+			date = format.parse(day);
+		} catch (Exception ex) {
+			ex.printStackTrace();
+		}*/
+		//System.out.println("front:" +format.format(datein)); //显示输入的日期
+		Calendar cal = Calendar.getInstance();
+		cal.setTime(datein);
+		cal.add(Calendar.HOUR, hour);// 24小时制
+		date = cal.getTime();
+		//System.out.println("after:" + format.format(date));  //显示更新后的日期
+		cal = null;
+		return  date ;
+	}
+
+
+		//过去五秒
+	public static Date getPassedsecond(){
+		Calendar c = Calendar.getInstance();
+		c.setTime(new Date());
+		c.add(Calendar.SECOND, - 5);
+		return c.getTime();
+	}
+
+	public static String stampToTime(String s) throws Exception {
+		String res;
+		SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+		long lt = new Long(s);
+		//将时间戳转换为时间
+		Date date = new Date(lt);
+       //将时间调整为yyyy-MM-dd HH:mm:ss时间样式
+		res = simpleDateFormat.format(date);
+		return res;
+
+	}
+
+
+	//过去一天
+	public static Date getPassedDay(){
+		Calendar c = Calendar.getInstance();
+		c.setTime(new Date());
+		c.add(Calendar.HOUR, - 1);
+		return c.getTime();
+	}
+
+
+	//过去七天
+	public static Date getPassedWeek(){
+		SimpleDateFormat format = new SimpleDateFormat(DATETIME_FORMAT);
+		Calendar c = Calendar.getInstance();
+		c.setTime(new Date());
+		c.add(Calendar.DATE, - 7);
+		return c.getTime();
+	}
+
+	//过去三十天
+	public static Date getPassedMonth(){
+		Calendar c = Calendar.getInstance();
+		c.setTime(new Date());
+		c.add(Calendar.DATE, - 30);
+		return c.getTime();
+	}
+
+	//指定时间的周一
+	public static String getWeekFirstStr(Date time) {
+		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // 设置时间格式
+		return sdf.format(getThisWeekMonday(time));
+	}
+
+	//获取指定日期当月的第一天
+	public static String getMonthFirstStr(Date time){
+		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+		Calendar calendar = Calendar.getInstance();
+		calendar.setTime(time);
+		calendar.set(Calendar.DAY_OF_MONTH, 1);
+		calendar.add(Calendar.MONTH, 0);
+		return sdf.format(calendar.getTime());
+	}
+
+	public static Date geLastWeekMonday(Date date) {
+		Calendar cal = Calendar.getInstance();
+		cal.setTime(getThisWeekMonday(date));
+		cal.add(Calendar.DATE, -7);
+		return cal.getTime();
+	}
+
+
+	public static String dateToString(Date datetime) {
+      SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+      String dateString = formatter.format(datetime);
+      return dateString;
+}
+
+	public static Date getNextWeekMonday(Date date) {
+		Calendar cal = Calendar.getInstance();
+		cal.setTime(getThisWeekMonday(date));
+		cal.add(Calendar.DATE, 7);
+		return cal.getTime();
+	}
+
+	public static Date getThisWeekMonday(Date date) {
+		Calendar cal = Calendar.getInstance();
+		cal.setTime(date);
+		// 获得当前日期是一个星期的第几天
+		int dayWeek = cal.get(Calendar.DAY_OF_WEEK);
+		if (1 == dayWeek) {
+			cal.add(Calendar.DAY_OF_MONTH, -1);
+		}
+		// 设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一
+		cal.setFirstDayOfWeek(Calendar.MONDAY);
+		// 获得当前日期是一个星期的第几天
+		int day = cal.get(Calendar.DAY_OF_WEEK);
+		// 根据日历的规则,给当前日期减去星期几与一个星期第一天的差值
+		cal.add(Calendar.DATE, cal.getFirstDayOfWeek() - day);
+		return cal.getTime();
+	}
+
+	public static String getNowWithDigital() {
+		Date now = new Date();
+		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+		return sdf.format(now).replaceAll("-", "").replaceAll(" ", "").replaceAll(":", "");
+	}
+
+	public static String buildDateTimeString(String formatContent) {
+		String year = formatContent.substring(0, 4);
+		String month = formatContent.substring(4, 6);
+		String day = formatContent.substring(6, 8);
+		String hour = formatContent.substring(8, 10);
+		String minute = formatContent.substring(10, 12);
+		String seconds = formatContent.substring(12, 14);
+		StringBuilder dateTimeSb = new StringBuilder();
+		return dateTimeSb.append(year).append("-").append(month).append("-").append(day).append(" ").append(hour).append(":").append(minute).append(":").append(seconds).toString();
+	}
+
+	public static String buildDateString(String formatContent) {
+		String year = formatContent.substring(0, 4);
+		String month = formatContent.substring(4, 6);
+		String day = formatContent.substring(6, 8);
+		String dateTime = year + "-" + month + "-" + day;
+		return dateTime;
+	}
+
+	public static String formatDateTime(String date) {
+		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:SS");
+		return sdf.format(date);
+	}
+
+	public static Date parseDateTime(String date) throws ParseException {
+		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+		return sdf.parse(date);
+	}
+
+
+	public String getToday() {
+		DateFormat df3 = DateFormat.getDateInstance(2, Locale.CHINA);
+		return df3.format(new Date());
+	}
+
+	public String formatDate(Date date) {
+		DateFormat df3 = DateFormat.getDateInstance(2, Locale.CHINA);
+		return df3.format(date);
+	}
+
+
+	public String beforeTime(int times) {
+		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+		Calendar calendar = Calendar.getInstance();
+		calendar.set(11, calendar.get(11) - times);
+		String endTime = sdf.format(calendar.getTime());
+		System.out.println("提前3小时:" + endTime);
+		return endTime;
+	}
+
+	public static long getTimeGap(String oldTime, String newTime) throws ParseException {
+		SimpleDateFormat df = new SimpleDateFormat("YYYY/MM/dd HH:mm:ss.SSS");
+		long NTime =df.parse(newTime).getTime();
+		//从对象中拿到时间
+		long OTime = df.parse(oldTime).getTime();
+		long diff=(NTime-OTime);
+		return diff;
+	}
+
+
+
+
+
+	//判断日是否相同
+	public   static Boolean dayIsSame(Date date1 , Date date2) {
+		int   a = Integer.parseInt(String.format("%td", date1));
+		int   b = Integer.parseInt(String.format("%td", date2));
+		Boolean result = a==b;
+		return result;
+	}
+
+
+	//判断日是否相同
+	public   static Boolean IsSame(Date date1 , Date date2) {
+		int   a = Integer.parseInt(String.format("%td", date1));
+		int   b = Integer.parseInt(String.format("%td", date2));
+		Boolean result = a==b;
+		return result;
+	}
+
+
+
+
+
+
+}

+ 110 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/socket/eartagrecive/util/PageUtils.java

@@ -0,0 +1,110 @@
+/**
+ * Copyright (c) 2016-2019 人人开源 All rights reserved.
+ *
+ * https://www.renren.io
+ *
+ * 版权所有,侵权必究!
+ */
+
+package com.huimv.socketservice.socket.eartagrecive.util;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 分页工具类
+ *
+ * @author Mark sunlightcs@gmail.com
+ */
+public class PageUtils implements Serializable {
+	private static final long serialVersionUID = 1L;
+	/**
+	 * 总记录数
+	 */
+	private int totalCount;
+	/**
+	 * 每页记录数
+	 */
+	private int pageSize;
+	/**
+	 * 总页数
+	 */
+	private int totalPage;
+	/**
+	 * 当前页数
+	 */
+	private int currPage;
+	/**
+	 * 列表数据
+	 */
+	private List<?> list;
+	
+	/**
+	 * 分页
+	 * @param list        列表数据
+	 * @param totalCount  总记录数
+	 * @param pageSize    每页记录数
+	 * @param currPage    当前页数
+	 */
+	public PageUtils(List<?> list, int totalCount, int pageSize, int currPage) {
+		this.list = list;
+		this.totalCount = totalCount;
+		this.pageSize = pageSize;
+		this.currPage = currPage;
+		this.totalPage = (int) Math.ceil((double)totalCount/pageSize);
+	}
+
+	/**
+	 * 分页
+	 */
+	public PageUtils(IPage<?> page) {
+		this.list = page.getRecords();
+		this.totalCount = (int)page.getTotal();
+		this.pageSize = (int)page.getSize();
+		this.currPage = (int)page.getCurrent();
+		this.totalPage = (int)page.getPages();
+	}
+
+	public int getTotalCount() {
+		return totalCount;
+	}
+
+	public void setTotalCount(int totalCount) {
+		this.totalCount = totalCount;
+	}
+
+	public int getPageSize() {
+		return pageSize;
+	}
+
+	public void setPageSize(int pageSize) {
+		this.pageSize = pageSize;
+	}
+
+	public int getTotalPage() {
+		return totalPage;
+	}
+
+	public void setTotalPage(int totalPage) {
+		this.totalPage = totalPage;
+	}
+
+	public int getCurrPage() {
+		return currPage;
+	}
+
+	public void setCurrPage(int currPage) {
+		this.currPage = currPage;
+	}
+
+	public List<?> getList() {
+		return list;
+	}
+
+	public void setList(List<?> list) {
+		this.list = list;
+	}
+	
+}

+ 84 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/socket/eartagrecive/util/Query.java

@@ -0,0 +1,84 @@
+/**
+ * Copyright (c) 2016-2019 人人开源 All rights reserved.
+ *
+ * https://www.renren.io
+ *
+ * 版权所有,侵权必究!
+ */
+
+package com.huimv.socketservice.socket.eartagrecive.util;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.metadata.OrderItem;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.commons.lang.StringUtils;
+
+import java.util.Map;
+
+/**
+ * 查询参数
+ *
+ * @author Mark sunlightcs@gmail.com
+ */
+public class Query<T> {
+
+    public IPage<T> getPage(Map<String, Object> params) {
+        return this.getPage(params, null, false);
+    }
+
+    public IPage<T> getPageEartag(Map<String, Object> params) {
+        return this.getPage(params, "id", true);
+    }
+
+    public IPage<T> getPage(Map<String, Object> params, String defaultOrderField, boolean isAsc) {
+        //分页参数
+        long curPage = 1;
+        long limit = 10;
+
+        System.out.println("fenye"+params.get("page"));
+        System.out.println("fenyesize"+params.get("limit"));
+
+        if(params.get(Constant.PAGE) != null){
+            curPage = Long.parseLong((String)params.get(Constant.PAGE));
+        }
+        if(params.get(Constant.LIMIT) != null){
+            limit = Long.parseLong((String)params.get(Constant.LIMIT));
+        }
+
+
+        //分页对象
+       Page<T> page = new Page<>(curPage, limit);
+
+        //分页参数
+     //   params.put(Constant.PAGE, page);
+
+        //排序字段
+        //防止SQL注入(因为sidx、order是通过拼接SQL实现排序的,会有SQL注入风险)
+        String orderField = SQLFilter.sqlInject((String)params.get(Constant.ORDER_FIELD));
+        String order = (String)params.get(Constant.ORDER);
+
+
+        //前端字段排序
+        if(StringUtils.isNotEmpty(orderField) && StringUtils.isNotEmpty(order)){
+            if(Constant.ASC.equalsIgnoreCase(order)) {
+                return  page.addOrder(OrderItem.asc(orderField));
+            }else {
+                return page.addOrder(OrderItem.desc(orderField));
+            }
+        }
+
+        //没有排序字段,则不排序
+        if(StringUtils.isBlank(defaultOrderField)){
+            return page;
+        }
+
+        //默认排序
+        if(isAsc) {
+            page.addOrder(OrderItem.asc(defaultOrderField));
+        }else {
+            page.addOrder(OrderItem.desc(defaultOrderField));
+        }
+
+        return page;
+    }
+}

+ 73 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/socket/eartagrecive/util/Result.java

@@ -0,0 +1,73 @@
+package com.huimv.socketservice.socket.eartagrecive.util;
+
+import java.io.Serializable;
+
+/**
+ * 描述
+ *
+ * @author 三国的包子
+ * @version 1.0
+ * @package entity *
+ * @since 1.0
+ */
+public class Result<T> implements Serializable {
+    private boolean flag;//是否成功
+    private Integer code;//返回码
+    private String message;//返回消息
+    private T data;//返回数据
+
+    public Result(boolean flag, Integer code, String message, Object data) {
+        this.flag = flag;
+        this.code = code;
+        this.message = message;
+        this.data = (T) data;
+    }
+
+    public Result(boolean flag, Integer code, String message) {
+        this.flag = flag;
+        this.code = code;
+        this.message = message;
+    }
+
+    public Result() {
+        this.flag = true;
+        this.code = StatusCode.OK;
+        this.message = "操作成功!";
+    }
+
+
+
+
+
+    public boolean isFlag() {
+        return flag;
+    }
+
+    public void setFlag(boolean flag) {
+        this.flag = flag;
+    }
+
+    public Integer getCode() {
+        return code;
+    }
+
+    public void setCode(Integer code) {
+        this.code = code;
+    }
+
+    public String getMessage() {
+        return message;
+    }
+
+    public void setMessage(String message) {
+        this.message = message;
+    }
+
+    public T getData() {
+        return data;
+    }
+
+    public void setData(T data) {
+        this.data = data;
+    }
+}

+ 52 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/socket/eartagrecive/util/SQLFilter.java

@@ -0,0 +1,52 @@
+/**
+ * Copyright (c) 2016-2019 人人开源 All rights reserved.
+ *
+ * https://www.renren.io
+ *
+ * 版权所有,侵权必究!
+ */
+
+package com.huimv.socketservice.socket.eartagrecive.util;
+
+
+
+import com.huimv.socketservice.result.RRException;
+import org.apache.commons.lang.StringUtils;
+
+/**
+ * SQL过滤
+ *
+ * @author Mark sunlightcs@gmail.com
+ */
+public class SQLFilter {
+
+    /**
+     * SQL注入过滤
+     * @param str  待验证的字符串
+     */
+    public static String sqlInject(String str){
+        if(StringUtils.isBlank(str)){
+            return null;
+        }
+        //去掉'|"|;|\字符
+        str = StringUtils.replace(str, "'", "");
+        str = StringUtils.replace(str, "\"", "");
+        str = StringUtils.replace(str, ";", "");
+        str = StringUtils.replace(str, "\\", "");
+
+        //转换成小写
+        str = str.toLowerCase();
+
+        //非法字符
+        String[] keywords = {"master", "truncate", "insert", "select", "delete", "update", "declare", "alter", "drop"};
+
+        //判断是否包含非法字符
+        for(String keyword : keywords){
+            if(str.indexOf(keyword) != -1){
+                throw new RRException("包含非法字符");
+            }
+        }
+
+        return str;
+    }
+}

+ 14 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/socket/eartagrecive/util/StatusCode.java

@@ -0,0 +1,14 @@
+package com.huimv.socketservice.socket.eartagrecive.util;
+
+/**
+ * 返回码
+ */
+public class StatusCode {
+    public static final int OK = 20000;//成功
+    public static final int ERROR = 20001;//失败
+    public static final int LOGINERROR = 20002;//用户名或密码错误
+    public static final int ACCESSERROR = 20003;//权限不足
+    public static final int REMOTEERROR = 20004;//远程调用失败
+    public static final int REPERROR = 20005;//重复操作
+    public static final int NOTFOUNDERROR = 20006;//没有对应的抢购数据
+}

+ 60 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/socket/eartagrecive/util/StringUtilsWork.java

@@ -0,0 +1,60 @@
+package com.huimv.socketservice.socket.eartagrecive.util;
+
+/**
+ * @Author Anchor
+ * @Date 2021/7/30 13:17
+ * @Version 1.0.1
+ */
+public class StringUtilsWork {
+
+    public static boolean isEmpty(String str) {
+        return str == null || str.length() == 0;
+    }
+
+    public static boolean isNotEmpty(String str) {
+        return !isEmpty(str);
+    }
+
+    public static boolean isBlank(String str) {
+        int strLen;
+        if (str != null && (strLen = str.length()) != 0) {
+            for(int i = 0; i < strLen; ++i) {
+                if (!Character.isWhitespace(str.charAt(i))) {
+                    return false;
+                }
+            }
+
+            return true;
+        } else {
+            return true;
+        }
+    }
+
+    public static boolean isNotBlank(String str) {
+        return !isBlank(str);
+    }
+
+    public static void main(String[] args) {
+
+
+        String a =null;
+        String b ="";
+
+        System.out.println(isBlank(a));
+        System.out.println(isBlank(b));
+
+        System.out.println(isNotBlank(a));
+
+        System.out.println(isNotBlank(b));
+
+    }
+
+
+
+
+}
+
+
+
+
+

+ 140 - 0
huimv-massage-service/src/main/java/com/huimv/socketservice/timmertask/SendAlarmMassage.java

@@ -0,0 +1,140 @@
+package com.huimv.socketservice.timmertask;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.huimv.socketservice.dao.AlarmHistoryDao;
+import com.huimv.socketservice.dao.FarmRegisterDao;
+import com.huimv.socketservice.dao.HeartBeatDao;
+import com.huimv.socketservice.dao.PhoneNumberDao;
+import com.huimv.socketservice.entity.AlarmHistoryEntity;
+import com.huimv.socketservice.entity.FarmRegisterEntity;
+import com.huimv.socketservice.entity.HeartBeatEntity;
+import com.huimv.socketservice.entity.PhoneNumberEntity;
+import com.huimv.socketservice.sendmassage.SendWork;
+import com.huimv.socketservice.service.AlarmHistoryService;
+import com.huimv.socketservice.service.HeartBeatService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+@Slf4j
+@Component
+public class SendAlarmMassage {
+
+
+    @Autowired
+    private HeartBeatService heartBeatService;
+    @Autowired
+    private HeartBeatDao heartBeatDao;
+    @Autowired
+    private FarmRegisterDao farmRegisterDao;
+    @Autowired
+    private AlarmHistoryDao alarmHistoryDao;
+    @Autowired
+    private AlarmHistoryService alarmHistoryService;
+    @Autowired
+    private SendWork sendWork;
+    @Autowired
+    private PhoneNumberDao phoneNumberDao;
+
+
+    @Scheduled(cron = "0/10 * * * * ?")
+    public void checkDeviceAble() throws Exception {
+        LambdaQueryWrapper<FarmRegisterEntity> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper.select(FarmRegisterEntity::getFarmCode);
+        lambdaQueryWrapper.eq(FarmRegisterEntity::getStatus, 0);   //在使用的牧场
+        List<Integer> Farmcodes = farmRegisterDao.selectObjs(lambdaQueryWrapper).stream().map(o -> (Integer) o).collect(Collectors.toList());
+        System.out.println("牧场列表" + Farmcodes);
+
+        for (Integer farmCode : Farmcodes) {
+            //最近一段时间内是否有数据上传
+            Date now = new Date();
+            Date settingTimesBefore = new Date(now.getTime() - 15000);
+            //首先判断异常,然后电话通知
+            LambdaQueryWrapper<HeartBeatEntity> wrapper1 = Wrappers.lambdaQuery();
+            wrapper1.eq(HeartBeatEntity::getCmd, 1).eq(HeartBeatEntity::getFarmCode, farmCode).between(HeartBeatEntity::getCreateTime, settingTimesBefore, now);
+            List<HeartBeatEntity> heartBeatEntities = heartBeatDao.selectList(wrapper1);
+
+
+            if (heartBeatEntities.size() == 0) {
+                System.out.println("有异常---物数据上传--判断最近十分钟是否已经报警");
+                Date now1 = new Date();
+                Date settingTimesBefore1 = new Date(now.getTime() - 600000);
+                //异常 判断十分钟内是否已经通知过,通知过就放弃
+                LambdaQueryWrapper<AlarmHistoryEntity> wrapper11 = Wrappers.lambdaQuery();
+                wrapper11.eq(AlarmHistoryEntity::getAlarmType, 1).eq(AlarmHistoryEntity::getFarmCode, farmCode).between(AlarmHistoryEntity::getBeginTime, settingTimesBefore1, now1);
+                List<AlarmHistoryEntity> alarmHistoryEntities = alarmHistoryDao.selectList(wrapper11);
+                if (alarmHistoryEntities.size() == 0) {
+                    System.out.println("有异常而且最近十分钟没有报警-----》报警");
+                    //找出所有在使用的电话
+                    LambdaQueryWrapper<PhoneNumberEntity> lambdaQueryWrapper1 = new LambdaQueryWrapper<>();
+                    lambdaQueryWrapper1.eq(PhoneNumberEntity::getStatus, 0);   //在使用的牧场
+                    lambdaQueryWrapper1.eq(PhoneNumberEntity::getFarmCode, farmCode);
+                    lambdaQueryWrapper1.eq(PhoneNumberEntity::getAlarmType, 1);
+                    List<PhoneNumberEntity> collect = phoneNumberDao.selectList(lambdaQueryWrapper1);
+                    System.out.println("报警结束--存储历史报警信息**通知号码="+collect);
+                    sendWork.send( "1", collect);
+                }else {
+                    System.out.println("有故障但是十分钟内已经报警过了");
+                }
+
+            } else {
+                System.out.println("一切正常");
+            }
+        }
+    }
+
+
+
+    @Scheduled(cron = "0/10 * * * * ?")
+    public void alarm2() throws Exception {
+        LambdaQueryWrapper<FarmRegisterEntity> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper.select(FarmRegisterEntity::getFarmCode);
+        lambdaQueryWrapper.eq(FarmRegisterEntity::getStatus, 0);   //在使用的牧场
+        List<Integer> Farmcodes = farmRegisterDao.selectObjs(lambdaQueryWrapper).stream().map(o -> (Integer) o).collect(Collectors.toList());
+        System.out.println("牧场列表" + Farmcodes);
+        for (Integer farmCode : Farmcodes) {
+            //最近一段时间内是否有数据上传
+            Date now = new Date();
+            Date settingTimesBefore = new Date(now.getTime() - 15000);
+            //首先判断异常,然后电话通知
+            LambdaQueryWrapper<HeartBeatEntity> wrapper1 = Wrappers.lambdaQuery();
+            wrapper1.eq(HeartBeatEntity::getCmd, 2).eq(HeartBeatEntity::getFarmCode, farmCode).between(HeartBeatEntity::getCreateTime, settingTimesBefore, now);
+            List<HeartBeatEntity> heartBeatEntities = heartBeatDao.selectList(wrapper1);
+
+            if (heartBeatEntities.size() == 0) {
+                System.out.println("222有异常---物数据上传--判断最近十分钟是否已经报警");
+                Date now1 = new Date();
+                Date settingTimesBefore1 = new Date(now.getTime() - 600000);
+                //异常 判断十分钟内是否已经通知过,通知过就放弃
+                LambdaQueryWrapper<AlarmHistoryEntity> wrapper11 = Wrappers.lambdaQuery();
+                wrapper11.eq(AlarmHistoryEntity::getAlarmType, 2).eq(AlarmHistoryEntity::getFarmCode, farmCode).between(AlarmHistoryEntity::getBeginTime, settingTimesBefore1, now1);
+                List<AlarmHistoryEntity> alarmHistoryEntities = alarmHistoryDao.selectList(wrapper11);
+                if (alarmHistoryEntities.size() == 0) {
+                    System.out.println("222有异常而且最近十分钟没有报警-----》报警");
+                    LambdaQueryWrapper<PhoneNumberEntity> lambdaQueryWrapper1 = new LambdaQueryWrapper<>();
+                    lambdaQueryWrapper1.eq(PhoneNumberEntity::getStatus, 0);   //在使用的牧场
+                    lambdaQueryWrapper1.eq(PhoneNumberEntity::getFarmCode, farmCode);
+                    lambdaQueryWrapper1.eq(PhoneNumberEntity::getAlarmType, 2);
+                    List<PhoneNumberEntity> collect = phoneNumberDao.selectList(lambdaQueryWrapper1);
+                    System.out.println("222报警结束--存储历史报警信息**通知号码="+collect);
+                    sendWork.send2( "1", collect);
+                }else {
+                    System.out.println("222有故障但是十分钟内已经报警过了");
+                }
+
+            } else {
+                System.out.println("222一切正常");
+            }
+        }
+    }
+
+
+}

+ 109 - 0
huimv-massage-service/src/main/resources/application-dev.yml

@@ -0,0 +1,109 @@
+server:
+  port: 9986
+  tomcat:
+    uri-encoding: UTF-8
+#    min-spare-threads: 30
+#    max-threads: 1000
+#  servlet:
+#    context-path:
+
+
+spring:
+  # jackson时间格式化
+  jackson:
+    time-zone: GMT+8
+    date-format: yyyy-MM-dd HH:mm:ss
+  servlet:
+    multipart:
+      max-file-size: 100MB
+      max-request-size: 100MB
+      enabled: true
+
+  # 数据源
+  datasource:
+    type: com.alibaba.druid.pool.DruidDataSource
+    druid:
+      driver-class-name: com.mysql.cj.jdbc.Driver
+      url: jdbc:mysql://115.238.57.190:3306/huimv_smart_massage?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
+      username: root
+      password: hm123456
+      initial-size: 10
+      max-active: 100
+      min-idle: 10
+      max-wait: 60000
+      pool-prepared-statements: true
+      max-pool-prepared-statement-per-connection-size: 20
+      time-between-eviction-runs-millis: 60000
+      min-evictable-idle-time-millis: 300000
+      #Oracle需要打开注释
+      #validation-query: SELECT 1 FROM DUAL
+      test-while-idle: true
+      test-on-borrow: false
+      test-on-return: false
+      stat-view-servlet:
+        enabled: true
+        url-pattern: /druid/*
+        login-username: admin
+        login-password: admin
+      filter:
+        stat:
+          log-slow-sql: true
+          slow-sql-millis: 500
+          merge-sql: true
+          enabled: true
+          db-type: mysql
+        wall:
+          config:
+            multi-statement-allow: true
+      filters:
+        - stat
+        - wall
+        - log4j
+
+
+
+
+  # redis
+  redis:
+#    open: false  # 是否开启redis缓存  true开启   false关闭
+    database: 0
+    host: 122.112.224.199
+    port: 6379
+    password: hm123456   # 密码(默认为空)
+    timeout: 6000ms  # 连接超时时长(毫秒)
+    jedis:
+      pool:
+        max-active: 1000  # 连接池最大连接数(使用负值表示没有限制)
+        max-wait: -1ms      # 连接池最大阻塞等待时间(使用负值表示没有限制)
+        max-idle: 10      # 连接池中的最大空闲连接
+        min-idle: 5       # 连接池中的最小空闲连接
+
+
+# mybatis-plus相关配置
+mybatis-plus:
+  type-aliases-package: com.huimv.*.entity
+
+  global-config:
+    banner: false
+    db-config:
+      #主键类型  AUTO:"数据库ID自增", INPUT:"用户输入ID", ID_WORKER:"全局唯一ID (数字类型唯一ID)", UUID:"全局唯一ID UUID";
+      id-type: auto
+      logic-delete-field: deleted  # 全局逻辑删除的实体字段名(since 3.3.0,配置后可以忽略不配置步骤2)
+      logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)
+      logic-delete-value: UNIX_TIMESTAMP() # 逻辑已删除值(unix时间戳)
+  #原生配置
+  configuration:
+    map-underscore-to-camel-case: true
+    cache-enabled: false
+    call-setters-on-nulls: true
+    jdbc-type-for-null: 'null'
+#    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+
+
+
+renyang:
+  client: 20210501
+
+#logging:
+#  level:
+#    com.alibaba.druid.pool.DruidAbstractDataSource: error

+ 11 - 0
huimv-massage-service/src/main/resources/application.properties

@@ -0,0 +1,11 @@
+# \u73AF\u5883 dev|test|prod
+spring.profiles.active=dev
+
+# \u6DA6\u519C\u63A5\u53E3
+runnong.host=http://iotadmin.rnpig.com
+runnong.login=/api/gf2/login
+runnong.feed-record=/hadmin/pms/feeding/pmsFeedRecord/query?ajax=1
+
+# \u83B7\u53D6\u4E91\u5E73\u53F0\u7684\u8D26\u6237
+runnong.xiuzhou.nick-name=xzadmin
+runnong.xiuzhou.password=123456

+ 0 - 0
huimv-massage-service/src/main/resources/application.yml


+ 10 - 0
huimv-massage-service/src/main/resources/banner.txt

@@ -0,0 +1,10 @@
+${AnsiColor.BRIGHT_GREEN}
+ ___  ___  ___  ___  ___  _____ ______   ___      ___
+|\  \|\  \|\  \|\  \|\  \|\   _ \  _   \|\  \    /  /|
+\ \  \\\  \ \  \\\  \ \  \ \  \\\__\ \  \ \  \  /  / /
+ \ \   __  \ \  \\\  \ \  \ \  \\|__| \  \ \  \/  / /
+  \ \  \ \  \ \  \\\  \ \  \ \  \    \ \  \ \    / /
+   \ \__\ \__\ \_______\ \__\ \__\    \ \__\ \__/ /
+    \|__|\|__|\|_______|\|__|\|__|     \|__|\|__|/
+
+SPRING BOOT VERSION:${spring-boot.version}

+ 23 - 0
huimv-massage-service/src/main/resources/logback-spring.xml

@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration>
+    <include resource="org/springframework/boot/logging/logback/base.xml" />
+    <logger name="org.springframework.web" level="INFO"/>
+    <logger name="org.springboot.sample" level="TRACE" />
+
+
+    <!-- 开发、测试环境 -->
+    <springProfile name="dev,test">
+        <logger name="org.springframework.web" level="INFO"/>
+        <logger name="org.springboot.sample" level="INFO" />
+        <logger name="com.huimv" level="DEBUG" />
+        <logger name="com.alibaba.druid.pool" level="ERROR"/>
+    </springProfile>
+
+    <!-- 生产环境 -->
+    <springProfile name="prod">
+        <logger name="org.springframework.web" level="ERROR"/>
+        <logger name="org.springboot.sample" level="ERROR" />
+        <logger name="com.huimv" level="ERROR" />
+    </springProfile>
+
+</configuration>

+ 109 - 0
huimv-massage-service/target/classes/application-dev.yml

@@ -0,0 +1,109 @@
+server:
+  port: 9986
+  tomcat:
+    uri-encoding: UTF-8
+#    min-spare-threads: 30
+#    max-threads: 1000
+#  servlet:
+#    context-path:
+
+
+spring:
+  # jackson时间格式化
+  jackson:
+    time-zone: GMT+8
+    date-format: yyyy-MM-dd HH:mm:ss
+  servlet:
+    multipart:
+      max-file-size: 100MB
+      max-request-size: 100MB
+      enabled: true
+
+  # 数据源
+  datasource:
+    type: com.alibaba.druid.pool.DruidDataSource
+    druid:
+      driver-class-name: com.mysql.cj.jdbc.Driver
+      url: jdbc:mysql://115.238.57.190:3306/huimv_smart_massage?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
+      username: root
+      password: hm123456
+      initial-size: 10
+      max-active: 100
+      min-idle: 10
+      max-wait: 60000
+      pool-prepared-statements: true
+      max-pool-prepared-statement-per-connection-size: 20
+      time-between-eviction-runs-millis: 60000
+      min-evictable-idle-time-millis: 300000
+      #Oracle需要打开注释
+      #validation-query: SELECT 1 FROM DUAL
+      test-while-idle: true
+      test-on-borrow: false
+      test-on-return: false
+      stat-view-servlet:
+        enabled: true
+        url-pattern: /druid/*
+        login-username: admin
+        login-password: admin
+      filter:
+        stat:
+          log-slow-sql: true
+          slow-sql-millis: 500
+          merge-sql: true
+          enabled: true
+          db-type: mysql
+        wall:
+          config:
+            multi-statement-allow: true
+      filters:
+        - stat
+        - wall
+        - log4j
+
+
+
+
+  # redis
+  redis:
+#    open: false  # 是否开启redis缓存  true开启   false关闭
+    database: 0
+    host: 122.112.224.199
+    port: 6379
+    password: hm123456   # 密码(默认为空)
+    timeout: 6000ms  # 连接超时时长(毫秒)
+    jedis:
+      pool:
+        max-active: 1000  # 连接池最大连接数(使用负值表示没有限制)
+        max-wait: -1ms      # 连接池最大阻塞等待时间(使用负值表示没有限制)
+        max-idle: 10      # 连接池中的最大空闲连接
+        min-idle: 5       # 连接池中的最小空闲连接
+
+
+# mybatis-plus相关配置
+mybatis-plus:
+  type-aliases-package: com.huimv.*.entity
+
+  global-config:
+    banner: false
+    db-config:
+      #主键类型  AUTO:"数据库ID自增", INPUT:"用户输入ID", ID_WORKER:"全局唯一ID (数字类型唯一ID)", UUID:"全局唯一ID UUID";
+      id-type: auto
+      logic-delete-field: deleted  # 全局逻辑删除的实体字段名(since 3.3.0,配置后可以忽略不配置步骤2)
+      logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)
+      logic-delete-value: UNIX_TIMESTAMP() # 逻辑已删除值(unix时间戳)
+  #原生配置
+  configuration:
+    map-underscore-to-camel-case: true
+    cache-enabled: false
+    call-setters-on-nulls: true
+    jdbc-type-for-null: 'null'
+#    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+
+
+
+renyang:
+  client: 20210501
+
+#logging:
+#  level:
+#    com.alibaba.druid.pool.DruidAbstractDataSource: error

+ 11 - 0
huimv-massage-service/target/classes/application.properties

@@ -0,0 +1,11 @@
+# \u73AF\u5883 dev|test|prod
+spring.profiles.active=dev
+
+# \u6DA6\u519C\u63A5\u53E3
+runnong.host=http://iotadmin.rnpig.com
+runnong.login=/api/gf2/login
+runnong.feed-record=/hadmin/pms/feeding/pmsFeedRecord/query?ajax=1
+
+# \u83B7\u53D6\u4E91\u5E73\u53F0\u7684\u8D26\u6237
+runnong.xiuzhou.nick-name=xzadmin
+runnong.xiuzhou.password=123456

+ 0 - 0
huimv-massage-service/target/classes/application.yml


+ 10 - 0
huimv-massage-service/target/classes/banner.txt

@@ -0,0 +1,10 @@
+${AnsiColor.BRIGHT_GREEN}
+ ___  ___  ___  ___  ___  _____ ______   ___      ___
+|\  \|\  \|\  \|\  \|\  \|\   _ \  _   \|\  \    /  /|
+\ \  \\\  \ \  \\\  \ \  \ \  \\\__\ \  \ \  \  /  / /
+ \ \   __  \ \  \\\  \ \  \ \  \\|__| \  \ \  \/  / /
+  \ \  \ \  \ \  \\\  \ \  \ \  \    \ \  \ \    / /
+   \ \__\ \__\ \_______\ \__\ \__\    \ \__\ \__/ /
+    \|__|\|__|\|_______|\|__|\|__|     \|__|\|__|/
+
+SPRING BOOT VERSION:${spring-boot.version}

BIN
huimv-massage-service/target/classes/com/huimv/socketservice/HuimvSmartincubatorDataAcquisitionApplication.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/autoconfigure/MybatisPlusConfiguration.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/controller/AlarmHistoryController.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/controller/FarmRegisterController.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/controller/HeartBeatController.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/controller/PhoneNumberController.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/dao/AlarmHistoryDao.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/dao/FarmRegisterDao.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/dao/HeartBeatDao.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/dao/PhoneNumberDao.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/dao/TelephoneDao.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/entity/AlarmHistoryEntity.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/entity/FarmRegisterEntity.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/entity/HeartBeatEntity.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/entity/PhoneNumberEntity.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/entity/TelephoneEntity.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/result/R.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/result/RRException.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/result/RRExceptionHandler.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/sendmassage/SendWork.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/service/AlarmHistoryService.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/service/FarmRegisterService.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/service/HeartBeatService.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/service/PhoneNumberService.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/service/impl/AlarmHistoryServiceImpl.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/service/impl/FarmRegisterServiceImpl.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/service/impl/HeartBeatServiceImpl.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/service/impl/PhoneNumberServiceImpl.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/socket/Server.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/socket/ServerThread.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/socket/TestClient.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/socket/eartagrecive/service/IClientDataPacketService.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/socket/eartagrecive/service/impl/ClientDataPacketServiceImpl.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/socket/eartagrecive/service/impl/SendPackageService.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/socket/eartagrecive/util/Constant$CloudService.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/socket/eartagrecive/util/Constant$MenuType.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/socket/eartagrecive/util/Constant$ScheduleStatus.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/socket/eartagrecive/util/Constant.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/socket/eartagrecive/util/DateUtil.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/socket/eartagrecive/util/DateUtilsPublic.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/socket/eartagrecive/util/PageUtils.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/socket/eartagrecive/util/Query.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/socket/eartagrecive/util/Result.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/socket/eartagrecive/util/SQLFilter.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/socket/eartagrecive/util/StatusCode.class


BIN
huimv-massage-service/target/classes/com/huimv/socketservice/socket/eartagrecive/util/StringUtilsWork.class


+ 0 - 0
huimv-massage-service/target/classes/com/huimv/socketservice/timmertask/SendAlarmMassage.class


Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików