Procházet zdrojové kódy

完成提醒功能。

zhuoning před 2 roky
rodič
revize
57d1129575
19 změnil soubory, kde provedl 503 přidání a 214 odebrání
  1. 10 0
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/utils/DateUtil.java
  2. 36 21
      huimv-env-platform/huimv-env-produce/pom.xml
  3. 5 0
      huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/controller/CostController.java
  4. 2 5
      huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/controller/DataSourceController.java
  5. 39 0
      huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/controller/ReminderController.java
  6. 9 6
      huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/controller/SalesDetailController.java
  7. 2 5
      huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/controller/StockDetailController.java
  8. 32 0
      huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/entity/Reminder.java
  9. 2 2
      huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/entity/SalesDetail.java
  10. 16 0
      huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/mapper/ReminderMapper.java
  11. 17 0
      huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/mapper/xml/ReminderMapper.xml
  12. 22 0
      huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/service/ReminderService.java
  13. 2 0
      huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/service/SalesDetailService.java
  14. 1 1
      huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/service/impl/EliminateDetailServiceImpl.java
  15. 1 1
      huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/service/impl/IndicatorServiceImpl.java
  16. 77 0
      huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/service/impl/ReminderServiceImpl.java
  17. 41 1
      huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/service/impl/SalesDetailServiceImpl.java
  18. 0 1
      huimv-env-platform/huimv-env-produce/src/test/java/com/huimv/env/produce/CodeGenerator.java
  19. 189 171
      huimv-env-platform/pom.xml

+ 10 - 0
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/utils/DateUtil.java

@@ -23,6 +23,16 @@ import java.util.List;
 //@Slf4j
 public class DateUtil {
 
+    //格式化本月
+    public String getLastMonthAndYear(Date date){
+        Calendar cal = Calendar.getInstance();
+        cal.setTime(date);
+        cal.add(Calendar.MONTH, -1);
+        int month = cal.get(Calendar.MONTH) + 1;
+        int year = cal.get(Calendar.YEAR);
+        return year+"-"+month;
+    }
+
     //读取之前hours小时的时间
     public String getBeforeHoursDatetime(String newTime,int hours) throws ParseException {
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

+ 36 - 21
huimv-env-platform/huimv-env-produce/pom.xml

@@ -28,24 +28,25 @@
             <artifactId>lombok</artifactId>
             <optional>true</optional>
         </dependency>
-
         <dependency>
             <groupId>cn.dustlight.captcha</groupId>
             <artifactId>captcha-core</artifactId>
         </dependency>
-
         <dependency>
             <groupId>commons-lang</groupId>
             <artifactId>commons-lang</artifactId>
             <version>2.6</version>
             <scope>compile</scope>
         </dependency>
-
         <dependency>
             <groupId>cn.dustlight.captcha</groupId>
             <artifactId>redis-store</artifactId>
-
         </dependency>
+        <!--        <dependency>-->
+        <!--            <groupId>net.sf.json-lib</groupId>-->
+        <!--            <artifactId>json-lib</artifactId>-->
+        <!--            <classifier>jdk15</classifier>-->
+        <!--        </dependency>-->
         <dependency>
             <groupId>net.sf.json-lib</groupId>
             <artifactId>json-lib</artifactId>
@@ -138,20 +139,30 @@
         <!--            <artifactId>spring-boot-starter-freemarker</artifactId>-->
         <!--        </dependency>-->
         <!-- junit -->
-        <!--        <dependency>-->
-        <!--            <groupId>org.junit.platform</groupId>-->
-        <!--            <artifactId>junit-platform-commons</artifactId>-->
-        <!--        </dependency>-->
-        <!-- junit -->
         <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
+            <groupId>org.junit.platform</groupId>
+            <artifactId>junit-platform-commons</artifactId>
         </dependency>
         <!--rabbitmq-->
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-amqp</artifactId>
         </dependency>
+        <!-- -->
+        <dependency>
+            <groupId>com.huimv</groupId>
+            <artifactId>huimv-common</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <!-- junit -->
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+        </dependency>
         <!-- 一方包统一版本管理 -->
         <dependency>
             <groupId>com.huimv</groupId>
@@ -160,6 +171,20 @@
     </dependencies>
 
     <build>
+        <resources>
+            <resource>
+                <directory>src/main/java</directory>
+                <includes>
+                    <include>**/*.xml</include>
+                </includes>
+            </resource>
+            <!--指定src/main/resources资源要过滤-->
+            <resource>
+                <directory>src/main/resources</directory>
+                <filtering>true</filtering>
+            </resource>
+        </resources>
+
         <plugins>
             <plugin>
                 <groupId>org.springframework.boot</groupId>
@@ -172,15 +197,5 @@
                 <version>2.6</version>
             </plugin>
         </plugins>
-
-        <!--        <resources>-->
-        <!--            <resource>-->
-        <!--                <directory>src/main/java</directory>-->
-        <!--                <includes>-->
-        <!--                    <include>**/*.xml</include>-->
-        <!--                </includes>-->
-        <!--                <filtering>true</filtering>-->
-        <!--            </resource>-->
-        <!--        </resources>-->
     </build>
 </project>

+ 5 - 0
huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/controller/CostController.java

@@ -33,5 +33,10 @@ public class CostController {
     public Result save(@RequestBody Map<String, String> paramsMap) throws ParseException {
         return costService.save(paramsMap);
     }
+
+    @PostMapping("/list")
+    public Result list(@RequestBody Map<String, String> paramsMap) throws ParseException {
+        return costService.getCostInYearAndMonth(paramsMap);
+    }
 }
 

+ 2 - 5
huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/controller/DataSourceController.java

@@ -4,11 +4,7 @@ package com.huimv.env.produce.controller;
 import com.huimv.common.utils.Result;
 import com.huimv.env.produce.service.DataSourceService;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.text.ParseException;
 import java.util.Map;
@@ -21,6 +17,7 @@ import java.util.Map;
  * @author zn
  * @since 2022-11-01
  */
+@CrossOrigin
 @RestController
 @RequestMapping("/v1.0.0/datasource")
 public class DataSourceController {

+ 39 - 0
huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/controller/ReminderController.java

@@ -0,0 +1,39 @@
+package com.huimv.env.produce.controller;
+
+
+import com.huimv.common.utils.Result;
+import com.huimv.env.produce.service.ReminderService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.text.ParseException;
+import java.util.Map;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author zn
+ * @since 2022-11-02
+ */
+@CrossOrigin
+@RestController
+@RequestMapping("/v1.0.0/reminder")
+public class ReminderController {
+    @Autowired
+    private ReminderService reminderService;
+
+    //查询
+    @PostMapping("/getReminder")
+    public Result getReminder(@RequestBody Map<String, String> paramsMap) throws ParseException {
+        return reminderService.getReminder(paramsMap);
+    }
+
+    //查询
+    @PostMapping("/save")
+    public Result save(@RequestBody Map<String, String> paramsMap) throws ParseException {
+        return reminderService.save(paramsMap);
+    }
+}
+

+ 9 - 6
huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/controller/SalesDetailController.java

@@ -5,11 +5,7 @@ import com.huimv.common.utils.Result;
 import com.huimv.env.produce.service.EliminateDetailService;
 import com.huimv.env.produce.service.SalesDetailService;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.text.ParseException;
 import java.util.Map;
@@ -22,6 +18,7 @@ import java.util.Map;
  * @author zn
  * @since 2022-11-01
  */
+@CrossOrigin
 @RestController
 @RequestMapping("/v1.0.0/sales")
 public class SalesDetailController {
@@ -35,9 +32,15 @@ public class SalesDetailController {
     }
 
     //新增
+    @PostMapping("/save_old")
+    public Result save_old(@RequestBody Map<String, String> paramsMap) throws ParseException {
+        return salesDetailService.save(paramsMap);
+    }
+
+    //新增
     @PostMapping("/save")
     public Result save(@RequestBody Map<String, String> paramsMap) throws ParseException {
-        return salesDetailService.save(paramsMap);
+        return salesDetailService.save2(paramsMap);
     }
 
     //删除

+ 2 - 5
huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/controller/StockDetailController.java

@@ -4,11 +4,7 @@ package com.huimv.env.produce.controller;
 import com.huimv.common.utils.Result;
 import com.huimv.env.produce.service.StockDetailService;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.text.ParseException;
 import java.util.Map;
@@ -21,6 +17,7 @@ import java.util.Map;
  * @author zn
  * @since 2022-11-01
  */
+@CrossOrigin
 @RestController
 @RequestMapping("/v1.0.0/stock")
 public class StockDetailController {

+ 32 - 0
huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/entity/Reminder.java

@@ -0,0 +1,32 @@
+package com.huimv.env.produce.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.Version;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author zn
+ * @since 2022-11-02
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class Reminder implements Serializable {
+
+    private static final long serialVersionUID=1L;
+
+      @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    private String content;
+
+    private String farmCode;
+
+
+}

+ 2 - 2
huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/entity/SalesDetail.java

@@ -32,8 +32,8 @@ public class SalesDetail implements Serializable {
 
     private Integer saleCount;
 
-    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
-    private Date addDate;
+//    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+    private String addDate;
 
     private String farmCode;
 

+ 16 - 0
huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/mapper/ReminderMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.env.produce.mapper;
+
+import com.huimv.env.produce.entity.Reminder;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author zn
+ * @since 2022-11-02
+ */
+public interface ReminderMapper extends BaseMapper<Reminder> {
+
+}

+ 17 - 0
huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/mapper/xml/ReminderMapper.xml

@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huimv.env.produce.mapper.ReminderMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.huimv.env.produce.entity.Reminder">
+        <id column="id" property="id" />
+        <result column="content" property="content" />
+        <result column="farm_code" property="farmCode" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, content, farm_code
+    </sql>
+
+</mapper>

+ 22 - 0
huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/service/ReminderService.java

@@ -0,0 +1,22 @@
+package com.huimv.env.produce.service;
+
+import com.huimv.common.utils.Result;
+import com.huimv.env.produce.entity.Reminder;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author zn
+ * @since 2022-11-02
+ */
+public interface ReminderService extends IService<Reminder> {
+
+    Result getReminder(Map<String, String> paramsMap);
+
+    Result save(Map<String, String> paramsMap);
+}

+ 2 - 0
huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/service/SalesDetailService.java

@@ -22,4 +22,6 @@ public interface SalesDetailService extends IService<SalesDetail> {
     Result save(Map<String, String> paramsMap) throws ParseException;
 
     Result remove(Map<String, String> paramsMap);
+
+    Result save2(Map<String, String> paramsMap);
 }

+ 1 - 1
huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/service/impl/EliminateDetailServiceImpl.java

@@ -98,7 +98,7 @@ public class EliminateDetailServiceImpl extends ServiceImpl<EliminateDetailMappe
             eliminateDetail.setSowCount(listJo.getInteger("sowCount"));
             eliminateDetail.setFatpigsCount(listJo.getInteger("fatpigsCount"));
             eliminateDetail.setFarmCode(farmCode);
-            eliminateDetail.setAddDate(dateUtil.getTodayDate());
+            eliminateDetail.setAddDate(dateUtil.parseDate(listJo.getString("addDate")));
             eliminateDetailMapper.insert(eliminateDetail);
             boarCount+=listJo.getInteger("boarCount");
             sowCount+=listJo.getInteger("sowCount");

+ 1 - 1
huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/service/impl/IndicatorServiceImpl.java

@@ -216,7 +216,7 @@ public class IndicatorServiceImpl extends ServiceImpl<IndicatorMapper, Indicator
             indicator1.setPsy(indicator.getPsy());
             baseMapper.insert(indicator1);
         }
-        return new Result(ResultCode.SUCCESS,indicator);
+        return new Result(ResultCode.SUCCESS);
     }
 /*
     @Override

+ 77 - 0
huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/service/impl/ReminderServiceImpl.java

@@ -0,0 +1,77 @@
+package com.huimv.env.produce.service.impl;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.common.utils.Result;
+import com.huimv.common.utils.ResultCode;
+import com.huimv.env.common.utils.DateUtil;
+import com.huimv.env.produce.entity.Reminder;
+import com.huimv.env.produce.entity.Sales;
+import com.huimv.env.produce.entity.SalesDetail;
+import com.huimv.env.produce.mapper.ReminderMapper;
+import com.huimv.env.produce.service.ReminderService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author zn
+ * @since 2022-11-02
+ */
+@Service
+public class ReminderServiceImpl extends ServiceImpl<ReminderMapper, Reminder> implements ReminderService {
+    //默认牧场
+    private static final String DEFAULT_FARM_CODE = "14";
+    @Autowired
+    private ReminderMapper reminderMapper;
+
+    @Override
+    public Result getReminder(Map<String, String> paramsMap) {
+//
+        String farmCode = paramsMap.get("farmCode");
+        if(farmCode == null){
+            farmCode = DEFAULT_FARM_CODE;
+        }
+        JSONObject resultJo = new JSONObject();
+        //查询总表
+        QueryWrapper<Reminder> totalQueryWrapper = new QueryWrapper();
+        totalQueryWrapper.eq("farm_code",farmCode);
+        totalQueryWrapper.orderByDesc("id");
+        List<Reminder> reminderList = reminderMapper.selectList(totalQueryWrapper);
+        return new Result(ResultCode.SUCCESS,reminderList);
+    }
+
+    @Override
+    public Result save(Map<String, String> paramsMap) {
+//
+        String farmCode = paramsMap.get("farmCode");
+        if(farmCode == null){
+            farmCode = DEFAULT_FARM_CODE;
+        }
+        //删除原先明细表
+        QueryWrapper<Reminder> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_code",farmCode);
+        reminderMapper.delete(queryWrapper);
+        //新增明细表
+        String list = paramsMap.get("list");
+        JSONArray listJa = JSONArray.parseArray(list);
+        int count = 0;
+        for(int a=0;a<listJa.size();a++){
+            JSONObject listJo = listJa.getJSONObject(a);
+            Reminder reminder = new Reminder();
+            reminder.setContent(listJo.getString("content"));
+            reminder.setFarmCode(farmCode);
+            reminderMapper.insert(reminder);
+        }
+        return new Result(ResultCode.SUCCESS);
+    }
+}

+ 41 - 1
huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/service/impl/SalesDetailServiceImpl.java

@@ -100,7 +100,7 @@ public class SalesDetailServiceImpl extends ServiceImpl<SalesDetailMapper, Sales
             SalesDetail salesDetail = new SalesDetail();
             salesDetail.setSaleMoney(new BigDecimal(listJo.getString("saleMoney")));
             salesDetail.setSaleCount(listJo.getInteger("saleCount"));
-            salesDetail.setAddDate(dateUtil.parseDate(addDate));
+//            salesDetail.setAddDate(dateUtil.parseDate(addDate));
             salesDetail.setFarmCode(farmCode);
             salesDetailMapper.insert(salesDetail);
             moneyBd = moneyBd.add(new BigDecimal(listJo.getString("saleMoney")));
@@ -123,4 +123,44 @@ public class SalesDetailServiceImpl extends ServiceImpl<SalesDetailMapper, Sales
         salesDetailMapper.deleteById(id);
         return new Result(ResultCode.SUCCESS);
     }
+
+    @Override
+    public Result save2(Map<String, String> paramsMap) {
+        //
+        String farmCode = paramsMap.get("farmCode");
+        if(farmCode == null){
+            farmCode = DEFAULT_FARM_CODE;
+        }
+        //删除原先明细表
+        QueryWrapper<SalesDetail> detailQueryWrapper = new QueryWrapper<>();
+        detailQueryWrapper.eq("farm_code",farmCode);
+        salesDetailMapper.delete(detailQueryWrapper);
+        //新增明细表
+        DateUtil dateUtil = new DateUtil();
+
+        String list = paramsMap.get("list");
+        JSONArray listJa = JSONArray.parseArray(list);
+        BigDecimal moneyBd = new BigDecimal(0);
+        int count = 0;
+        for(int a=0;a<listJa.size();a++){
+            JSONObject listJo = listJa.getJSONObject(a);
+            SalesDetail salesDetail = new SalesDetail();
+            salesDetail.setSaleMoney(new BigDecimal(listJo.getString("saleMoney")));
+            salesDetail.setSaleCount(listJo.getInteger("saleCount"));
+            salesDetail.setAddDate(listJo.getString("addDate"));
+            salesDetail.setFarmCode(farmCode);
+            salesDetailMapper.insert(salesDetail);
+
+        }
+
+        //新增总表
+        Sales Sales = new Sales();
+        Sales.setThisSaleMoney(moneyBd);
+        Sales.setThisSaleCount(count);
+//        Sales.setLastSaleMoney(new BigDecimal(lastSaleMoney));
+//        Sales.setLastSaleCount(Integer.parseInt(lastSaleCount));
+        Sales.setFarmCode(farmCode);
+        salesMapper.insert(Sales);
+        return new Result(ResultCode.SUCCESS);
+    }
 }

+ 0 - 1
huimv-env-platform/huimv-env-produce/src/test/java/com/huimv/env/produce/CodeGenerator.java

@@ -67,7 +67,6 @@ public class CodeGenerator {
 
         // 数据源配置
         DataSourceConfig dsc = new DataSourceConfig();
-        //dsc.setUrl("jdbc:mysql://122.112.224.199:3306/huimv_registration_center?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai");
         String url = "jdbc:mysql://"+dbIp+":"+dbPort+"/"+dbName+"?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai";
         System.out.println("url="+url);
         System.out.println("driverName="+driverName);

+ 189 - 171
huimv-env-platform/pom.xml

@@ -2,185 +2,203 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
     <parent>
-        <artifactId>huimv-env-platform</artifactId>
-        <groupId>com.huimv</groupId>
-        <version>1.0-SNAPSHOT</version>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-starter-parent</artifactId>
+        <version>2.6.2</version>
     </parent>
-    <modelVersion>4.0.0</modelVersion>
 
     <groupId>com.huimv</groupId>
-    <artifactId>huimv-env-produce</artifactId>
-    <version>0.0.1-SNAPSHOT</version>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-web</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-test</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.projectlombok</groupId>
-            <artifactId>lombok</artifactId>
-            <optional>true</optional>
-        </dependency>
+    <artifactId>huimv-env-platform</artifactId>
+    <packaging>pom</packaging>
+    <version>1.0-SNAPSHOT</version>
+    <modules>
+        <module>huimv-env-common</module>
+        <module>huimv-env-input</module>
+        <module>huimv-env-manage</module>
+        <module>huimv-env-device</module>
+        <module>huimv-env-lamp</module>
+        <module>huimv-env-produce</module>
+    </modules>
 
-        <dependency>
-            <groupId>cn.dustlight.captcha</groupId>
-            <artifactId>captcha-core</artifactId>
-        </dependency>
+    <properties>
+        <java.version>1.8</java.version>
+        <maven.compile>1.8</maven.compile>
+        <druid.version>1.2.4</druid.version>
+        <mysql.version>6.0.6</mysql.version>
+        <junit.version>4.13.2</junit.version>
+        <hutool.version>5.8.1</hutool.version>
+        <velocity.version>2.0</velocity.version>
+        <lombok.version>1.16.18</lombok.version>
+        <netty.version>4.1.45.Final</netty.version>
+        <fastjson.version>1.2.28</fastjson.version>
+        <httpClient.version>4.5.5</httpClient.version>
+        <servletApi.version>3.1.0</servletApi.version>
+        <freemarker.version>2.3.31</freemarker.version>
+        <commonsLang3.version>3.7</commonsLang3.version>
+        <mybatisPlus.version>3.4.3.4</mybatisPlus.version>
+        <huimvCommon.version>0.0.6-SNAPSHOT</huimvCommon.version>
+        <huimvEnvCommon.version>0.0.1-SNAPSHOT</huimvEnvCommon.version>
+        <junitPlatformCommons.version>1.8.2</junitPlatformCommons.version>
+        <mybatisPlusGenerator.version>3.3.2</mybatisPlusGenerator.version>
+        <mybatisPlusExtension.version>3.5.2</mybatisPlusExtension.version>
+        <captcha.version>0.0.6</captcha.version>
+        <captcha.reids.version>0.0.6</captcha.reids.version>
+        <net.sf.json-lib.version>2.2.3</net.sf.json-lib.version>
+        <com.belerweb.version>2.5.1</com.belerweb.version>
+        <io.jsonwebtoken.version>0.9.1</io.jsonwebtoken.version>
+        <com.auth0.version>3.3.0</com.auth0.version>
+    </properties>
 
-        <dependency>
-            <groupId>commons-lang</groupId>
-            <artifactId>commons-lang</artifactId>
-            <version>2.6</version>
-            <scope>compile</scope>
-        </dependency>
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>io.jsonwebtoken</groupId>
+                <artifactId>jjwt</artifactId>
+                <version>${io.jsonwebtoken.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>com.auth0</groupId>
+                <artifactId>java-jwt</artifactId>
+                <version>${com.auth0.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>cn.dustlight.captcha</groupId>
+                <artifactId>captcha-core</artifactId>
+                <version>${captcha.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>cn.dustlight.captcha</groupId>
+                <artifactId>redis-store</artifactId>
+                <version>${captcha.reids.version}</version>
+            </dependency>
 
-        <dependency>
-            <groupId>cn.dustlight.captcha</groupId>
-            <artifactId>redis-store</artifactId>
+            <dependency>
+                <groupId>net.sf.json-lib</groupId>
+                <artifactId>json-lib</artifactId>
+                <version>${net.sf.json-lib.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>com.belerweb</groupId>
+                <artifactId>pinyin4j</artifactId>
+                <version>${com.belerweb.version}</version>
+            </dependency>
 
-        </dependency>
-        <dependency>
-            <groupId>net.sf.json-lib</groupId>
-            <artifactId>json-lib</artifactId>
-            <version>2.2.3</version>
-            <classifier>jdk15</classifier>
-        </dependency>
-        <dependency>
-            <groupId>com.belerweb</groupId>
-            <artifactId>pinyin4j</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>io.jsonwebtoken</groupId>
-            <artifactId>jjwt</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.auth0</groupId>
-            <artifactId>java-jwt</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.alibaba</groupId>
-            <artifactId>fastjson</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>cn.hutool</groupId>
-            <artifactId>hutool-all</artifactId>
-        </dependency>
-
-        <!-- 排除Tomcat容器 -->
-        <!-- <dependency>
-             <groupId>org.springframework.boot</groupId>
-             <artifactId>spring-boot-starter-web</artifactId>
-             &lt;!&ndash; 移除掉默认支持的 Tomcat &ndash;&gt;
-             <exclusions>
-                 <exclusion>
-                     <groupId>org.springframework.boot</groupId>
-                     <artifactId>spring-boot-starter-tomcat</artifactId>
-                 </exclusion>
-             </exclusions>
-         </dependency>-->
-        <!-- 添加 Undertow 容器 -->
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-undertow</artifactId>
-        </dependency>
-        <!-- JPA -->
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-data-jpa</artifactId>
-        </dependency>
-        <!-- mysql -->
-        <dependency>
-            <groupId>mysql</groupId>
-            <artifactId>mysql-connector-java</artifactId>
-            <version>6.0.6</version>
-        </dependency>
-        <!--Mybatis-Plus生成器依赖-->
-        <dependency>
-            <groupId>com.baomidou</groupId>
-            <artifactId>mybatis-plus-generator</artifactId>
-        </dependency>
-        <!--freemarker 模板引擎(没有用原生的模板引擎)-->
-        <dependency>
-            <groupId>org.freemarker</groupId>
-            <artifactId>freemarker</artifactId>
-        </dependency>
-        <!--mybits-plus-->
-        <dependency>
-            <groupId>com.baomidou</groupId>
-            <artifactId>mybatis-plus-boot-starter</artifactId>
-        </dependency>
-        <!-- mybatis-plus-extension -->
-        <dependency>
-            <groupId>com.baomidou</groupId>
-            <artifactId>mybatis-plus-extension</artifactId>
-        </dependency>
-        <!-- 连接池 -->
-        <dependency>
-            <!--自动配置-->
-            <groupId>com.alibaba</groupId>
-            <artifactId>druid-spring-boot-starter</artifactId>
-        </dependency>
-        <!-- velocity -->
-        <dependency>
-            <groupId>org.apache.velocity</groupId>
-            <artifactId>velocity-engine-core</artifactId>
-        </dependency>
-        <!-- freemarker -->
-        <!--        <dependency>-->
-        <!--            <groupId>org.springframework.boot</groupId>-->
-        <!--            <artifactId>spring-boot-starter-freemarker</artifactId>-->
-        <!--        </dependency>-->
-        <!-- junit -->
-        <!--        <dependency>-->
-        <!--            <groupId>org.junit.platform</groupId>-->
-        <!--            <artifactId>junit-platform-commons</artifactId>-->
-        <!--        </dependency>-->
-        <!-- junit -->
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-        </dependency>
-        <!--rabbitmq-->
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-amqp</artifactId>
-        </dependency>
-        <!-- 一方包统一版本管理 -->
-        <dependency>
-            <groupId>com.huimv</groupId>
-            <artifactId>huimv-env-common</artifactId>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
+            <!-- fastjson -->
+            <dependency>
+                <groupId>com.alibaba</groupId>
+                <artifactId>fastjson</artifactId>
+                <version>${fastjson.version}</version>
+            </dependency>
+            <!-- mysql -->
+            <dependency>
+                <groupId>mysql</groupId>
+                <artifactId>mysql-connector-java</artifactId>
+                <version>${mysql.version}</version>
+            </dependency>
+            <!--hutool-->
+            <dependency>
+                <groupId>cn.hutool</groupId>
+                <artifactId>hutool-all</artifactId>
+                <version>${hutool.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.httpcomponents</groupId>
+                <artifactId>httpclient</artifactId>
+                <version>${httpClient.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>junit</groupId>
+                <artifactId>junit</artifactId>
+                <scope>test</scope>
+                <version>${junit.version}</version>
+            </dependency>
+            <!-- lombok -->
+            <dependency>
+                <groupId>org.projectlombok</groupId>
+                <artifactId>lombok</artifactId>
+                <version>${lombok.version}</version>
+                <scope>compile</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.commons</groupId>
+                <artifactId>commons-lang3</artifactId>
+                <version>${commonsLang3.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>javax.servlet</groupId>
+                <artifactId>javax.servlet-api</artifactId>
+                <version>${servletApi.version}</version>
+            </dependency>
+            <!--Mybatis-Plus生成器依赖-->
+            <dependency>
+                <groupId>com.baomidou</groupId>
+                <artifactId>mybatis-plus-generator</artifactId>
+                <version>${mybatisPlusGenerator.version}</version>
+            </dependency>
+            <!--freemarker 模板引擎(没有用原生的模板引擎)-->
+            <dependency>
+                <groupId>org.freemarker</groupId>
+                <artifactId>freemarker</artifactId>
+                <version>${freemarker.version}</version>
+            </dependency>
+            <!--mybits-plus-->
+            <dependency>
+                <groupId>com.baomidou</groupId>
+                <artifactId>mybatis-plus-boot-starter</artifactId>
+                <version>${mybatisPlus.version}</version>
+            </dependency>
+            <!-- mybatis-plus-extension -->
+            <dependency>
+                <groupId>com.baomidou</groupId>
+                <artifactId>mybatis-plus-extension</artifactId>
+                <version>${mybatisPlusExtension.version}</version>
+            </dependency>
+            <!-- 连接池 -->
+            <dependency>
+                <!--自动配置-->
+                <groupId>com.alibaba</groupId>
+                <artifactId>druid-spring-boot-starter</artifactId>
+                <version>${druid.version}</version>
+            </dependency>
+            <!-- velocity -->
+            <dependency>
+                <groupId>org.apache.velocity</groupId>
+                <artifactId>velocity-engine-core</artifactId>
+                <version>${velocity.version}</version>
+            </dependency>
+            <!-- freemarker -->
+            <dependency>
                 <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-maven-plugin</artifactId>
-            </plugin>
-
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-resources-plugin</artifactId>
-                <version>2.6</version>
-            </plugin>
-        </plugins>
+                <artifactId>spring-boot-starter-freemarker</artifactId>
+            </dependency>
+            <!-- netty -->
+            <dependency>
+                <groupId>io.netty</groupId>
+                <artifactId>netty-all</artifactId>
+                <version>${netty.version}</version>
+            </dependency>
+            <!-- junit -->
+            <dependency>
+                <groupId>org.junit.platform</groupId>
+                <artifactId>junit-platform-commons</artifactId>
+                <version>${junitPlatformCommons.version}</version>
+            </dependency>
+            <!-- 二方包统一版本管理 -->
+            <dependency>
+                <groupId>com.huimv</groupId>
+                <artifactId>huimv-common</artifactId>
+                <version>${huimvCommon.version}</version>
+            </dependency>
+            <!-- 一方包统一版本管理 -->
+            <dependency>
+                <groupId>com.huimv</groupId>
+                <artifactId>huimv-env-common</artifactId>
+                <version>${huimvEnvCommon.version}</version>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
 
-        <!--        <resources>-->
-        <!--            <resource>-->
-        <!--                <directory>src/main/java</directory>-->
-        <!--                <includes>-->
-        <!--                    <include>**/*.xml</include>-->
-        <!--                </includes>-->
-        <!--                <filtering>true</filtering>-->
-        <!--            </resource>-->
-        <!--        </resources>-->
-    </build>
 </project>