Bladeren bron

Merge remote-tracking branch 'origin/master'

zhuoning 2 jaren geleden
bovenliggende
commit
00f21d881d

+ 21 - 0
huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/common/utils/PageOf.java

@@ -0,0 +1,21 @@
+package com.huimv.eartag2.common.common.utils;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @Description: 结果分页
+ * @Author: 静静
+ * @CreateTime: 2022-07-19  16:34
+ * @Version: 1.0
+ */
+@Data
+public class PageOf<T> implements Serializable {
+    private int pageNum;
+    private int pageSize;
+    private long totalCount;
+    private long totalPage;
+    private List<T> list;
+}

+ 45 - 0
huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/entity/SysBaseConfigEntity.java

@@ -0,0 +1,45 @@
+package com.huimv.eartag2.common.dao.entity;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.stereotype.Component;
+
+import javax.persistence.*;
+import java.io.Serializable;
+
+/**
+ * @Description: 基础配置信息表
+ * @Author: 静静
+ * @CreateTime: 2022-07-19  08:44
+ * @Version: 1.0
+ */
+@Entity
+@Table(name = "sys_base_config")
+@AllArgsConstructor
+@NoArgsConstructor
+@Data
+@Component
+public class SysBaseConfigEntity implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false)
+    private Integer id;
+
+    @Column(name = "config_name")
+    private String configName;
+
+    @Column(name = "config_key")
+    private String configKey;
+
+    @Column(name = "config_value")
+    private String configValue;
+
+    @Column(name = "area_name")
+    private String areaName;
+
+    @Column(name = "row_id")
+    private String rowId;
+}

+ 15 - 0
huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/repo/SysBaseConfigRepo.java

@@ -0,0 +1,15 @@
+package com.huimv.eartag2.common.dao.repo;
+
+import com.huimv.eartag2.common.dao.entity.SysBaseConfigEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+/**
+ * @Description: 基础配置信息表
+ * @Author: 静静
+ * @CreateTime: 2022-07-19  08:43
+ * @Version: 1.0
+ */
+public interface SysBaseConfigRepo extends JpaRepository<SysBaseConfigEntity,Integer>, JpaSpecificationExecutor<SysBaseConfigEntity> {
+
+}

+ 31 - 0
huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/vo/SysBaseConfigVo.java

@@ -0,0 +1,31 @@
+package com.huimv.eartag2.common.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @Description: 系统配置页面展示字段
+ * @Author: 静静
+ * @CreateTime: 2022-07-19  13:29
+ * @Version: 1.0
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class SysBaseConfigVo {
+
+    private String id;
+
+    private String farmName;
+
+    private String farmCode;
+
+    private String ip;
+
+    private String port;
+
+    private String remark;
+
+
+}

+ 0 - 2
huimv-eartag2-platform/huimv-eartag2-manage/src/main/java/com/huimv/eartag2/manage/controller/DeviceRegisterController.java

@@ -1,11 +1,9 @@
 package com.huimv.eartag2.manage.controller;
 
 import com.alibaba.fastjson.JSONObject;
-import com.huimv.eartag2.common.utils.DateUtil;
 import com.huimv.eartag2.common.utils.Result;
 import com.huimv.eartag2.common.utils.ResultCode;
 import com.huimv.eartag2.manage.service.IDeviceRegisterService;
-import com.huimv.eartag2.manage.service.IDeviceService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;

+ 85 - 0
huimv-eartag2-platform/huimv-eartag2-manage/src/main/java/com/huimv/eartag2/manage/controller/SysBaseConfigController.java

@@ -0,0 +1,85 @@
+package com.huimv.eartag2.manage.controller;
+
+import com.huimv.eartag2.common.utils.Result;
+import com.huimv.eartag2.manage.service.ISysBaseConfigService;
+import lombok.extern.slf4j.Slf4j;
+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 javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description: 系统基础配置
+ * @Author: 静静
+ * @CreateTime: 2022-07-19  09:14
+ * @Version: 1.0
+ */
+@RestController
+@RequestMapping(value = "/config")
+@Slf4j
+public class SysBaseConfigController {
+
+    @Resource
+    private ISysBaseConfigService sysBaseConfigService;
+
+    /**
+     * @description: 【增加】
+     * @author: 静静
+     * @date: 2022/7/19 5:08 下午
+     * @param: maps
+     **/
+    @PostMapping("/add")
+    public Result addConfig(@RequestBody List<Map<String, String>> maps){
+        return sysBaseConfigService.add(maps);
+    }
+
+    /**
+     * @description: 【删除】
+     * @author: 静静
+     * @date: 2022/7/19 5:10 下午
+     * @param: ids
+     **/
+    @PostMapping("/remove")
+    public Result removeConfig(@RequestBody List<Integer> ids){
+        return sysBaseConfigService.remove(ids);
+    }
+
+    /**
+     * @description: 【修改】
+     * @author: 静静
+     * @date: 2022/7/19 5:10 下午
+     * @param: maps
+     **/
+    @PostMapping("/update")
+    public Result updateConfig(@RequestBody  List<Map<String, String>> maps){
+        return sysBaseConfigService.update(maps);
+    }
+
+    /**
+     * @description: 【查询】根据id查询配置
+     * @author: 静静
+     * @date: 2022/7/19 5:11 下午
+     * @param: ids
+     **/
+    @PostMapping("/getDateById")
+    public Result getDateById(@RequestBody List<Integer> ids){
+        return sysBaseConfigService.getDateById(ids);
+    }
+
+
+    /**
+     * @description: 【查询】 分页查询配置表
+     * @author: 静静
+     * @date: 2022/7/19 5:11 下午
+     * @param: paramsMap
+     **/
+    @PostMapping("/list")
+    public Result list(@RequestBody Map<String,String> paramsMap){
+        return sysBaseConfigService.list(paramsMap);
+    }
+
+}

+ 25 - 0
huimv-eartag2-platform/huimv-eartag2-manage/src/main/java/com/huimv/eartag2/manage/service/ISysBaseConfigService.java

@@ -0,0 +1,25 @@
+package com.huimv.eartag2.manage.service;
+
+import com.huimv.eartag2.common.utils.Result;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description: 基础配置增删改查相关
+ * @Author: 静静
+ * @CreateTime: 2022-07-19  10:42
+ * @Version: 1.0
+ */
+public interface ISysBaseConfigService {
+    Result add(List<Map<String, String>> mapList);
+
+    Result remove(List<Integer> id);
+
+    Result update(List<Map<String, String>> maps);
+
+    Result list(Map<String,String> paramsMap);
+
+    Result getDateById(List<Integer> ids);
+
+}

+ 145 - 0
huimv-eartag2-platform/huimv-eartag2-manage/src/main/java/com/huimv/eartag2/manage/service/impl/SysBaseConfigServiceImpl.java

@@ -0,0 +1,145 @@
+package com.huimv.eartag2.manage.service.impl;
+
+import cn.hutool.db.PageResult;
+import com.huimv.eartag2.common.common.utils.PageOf;
+import com.huimv.eartag2.common.dao.entity.SysBaseConfigEntity;
+import com.huimv.eartag2.common.dao.repo.SysBaseConfigRepo;
+import com.huimv.eartag2.common.utils.Result;
+import com.huimv.eartag2.common.utils.ResultCode;
+import com.huimv.eartag2.common.vo.SysBaseConfigVo;
+import com.huimv.eartag2.manage.service.ISysBaseConfigService;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.jpa.domain.Specification;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import javax.persistence.criteria.Order;
+import javax.persistence.criteria.Predicate;
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * @Description: 基础配置相关
+ * @Author: 静静
+ * @CreateTime: 2022-07-19  10:44
+ * @Version: 1.0
+ */
+@Service
+public class SysBaseConfigServiceImpl implements ISysBaseConfigService {
+
+    @Resource
+    private SysBaseConfigRepo sysBaseConfigRepo;
+
+    @Override
+    public Result add(List<Map<String, String>> mapList) {
+        //SysBaseConfigEntity
+        //存入数据库
+        ArrayList<SysBaseConfigEntity> sysBaseConfigEntities = new ArrayList<>();
+        String fitId = UUID.randomUUID().toString();
+        for (Map<String, String> stringStringMap : mapList) {
+            SysBaseConfigEntity sysBaseConfigEntity = new SysBaseConfigEntity();
+            sysBaseConfigEntity.setConfigName(stringStringMap.get("configName"));
+            sysBaseConfigEntity.setConfigKey(stringStringMap.get("configKey"));
+            sysBaseConfigEntity.setConfigValue(stringStringMap.get("configValue"));
+            sysBaseConfigEntity.setAreaName(stringStringMap.get("areaName"));
+            sysBaseConfigEntity.setRowId(fitId);
+            sysBaseConfigEntities.add(sysBaseConfigEntity);
+        }
+        sysBaseConfigRepo.saveAllAndFlush(sysBaseConfigEntities);
+        return new Result(ResultCode.SUCCESS);
+    }
+
+    @Override
+    public Result remove(List<Integer> id) {
+        sysBaseConfigRepo.deleteAllById(id);
+        return new Result(ResultCode.SUCCESS);
+    }
+
+    @Override
+    public Result update(List<Map<String, String>> maps) {
+        for (Map<String, String> map : maps) {
+            String id = map.get("id");
+            SysBaseConfigEntity baseConfigDo = sysBaseConfigRepo.getById(Integer.valueOf(id));
+            baseConfigDo.setConfigName(map.get("configName"));
+            baseConfigDo.setConfigKey(map.get("configKey"));
+            baseConfigDo.setConfigValue(map.get("configValue"));
+            baseConfigDo.setAreaName(map.get("areaName"));
+            sysBaseConfigRepo.saveAndFlush(baseConfigDo);
+        }
+        return new Result(ResultCode.SUCCESS);
+    }
+
+    @Override
+    public Result list(Map<String, String> paramsMap) {
+       String farmName =  paramsMap.get("farmName");
+       String farmCode =  paramsMap.get("farmCode");
+       String ip = paramsMap.get("ip");
+        Specification<SysBaseConfigEntity> sf = (Specification<SysBaseConfigEntity>) (root, criteriaQuery, criteriaBuilder) ->{
+            List<Predicate> predList = new ArrayList<>();
+            if (null != farmName && farmName.trim().length() > 0){
+                predList.add(criteriaBuilder.equal(root.get("farmName").as(String.class), farmName));
+            }
+            if (null != farmCode && farmCode.trim().length() > 0){
+                predList.add(criteriaBuilder.equal(root.get("farmCode").as(String.class), farmCode));
+            }
+            if (null != ip && ip.trim().length() > 0){
+                predList.add(criteriaBuilder.equal(root.get("ip").as(String.class), ip));
+            }
+            Predicate[] pred = new Predicate[predList.size()];
+            Predicate and = criteriaBuilder.and(predList.toArray(pred));
+            criteriaQuery.where(and);
+
+            List<Order> orders = new ArrayList<>();
+            orders.add(criteriaBuilder.desc(root.get("id")));
+            return criteriaQuery.orderBy(orders).getRestriction();
+        };
+        String pageNo=  paramsMap.get("pageNo");
+        String pageSize =   paramsMap.get("pageSize");
+        Pageable pageable = PageRequest.of(Integer.valueOf(pageNo) - 1, Integer.valueOf(pageSize));
+        Page<SysBaseConfigEntity> page = sysBaseConfigRepo.findAll(sf, pageable);
+        List<SysBaseConfigEntity> content = page.getContent();
+        //将查询出来的数据  按照row_id进行分组
+        Map<String, List<SysBaseConfigEntity>> groupResult = content.stream().collect(Collectors.groupingBy(SysBaseConfigEntity::getRowId));
+        Set<String> rowIds = groupResult.keySet();
+
+        //最终返回的拼装好的数据
+        ArrayList<SysBaseConfigVo> resultList = new ArrayList<>();
+        rowIds.forEach(rowId->{
+            List<SysBaseConfigEntity> sysBaseConfigEntities = groupResult.get(rowId);
+            SysBaseConfigVo sysBaseConfigVo = convertSysBaseConfigVo(sysBaseConfigEntities);
+            resultList.add(sysBaseConfigVo);
+        });
+
+        PageOf<SysBaseConfigVo> result = new PageOf<>();
+        result.setList(resultList);
+        result.setPageSize(Integer.valueOf(pageSize));
+        result.setTotalCount(page.getTotalElements());
+        result.setTotalPage(page.getSize());
+        return new Result(ResultCode.SUCCESS,result);
+    }
+
+    @Override
+    public Result getDateById(List<Integer> ids) {
+        ArrayList<SysBaseConfigEntity> sysBaseConfigEntities = new ArrayList<>();
+        for (Integer id : ids) {
+            SysBaseConfigEntity byId = sysBaseConfigRepo.getById(id);
+            sysBaseConfigEntities.add(byId);
+        }
+        SysBaseConfigVo sysBaseConfigVo = convertSysBaseConfigVo(sysBaseConfigEntities);
+        return new Result(ResultCode.SUCCESS,sysBaseConfigVo);
+    }
+
+    private SysBaseConfigVo convertSysBaseConfigVo(List<SysBaseConfigEntity> list){
+        Map<String, String> map = list.stream().collect(Collectors.toMap(SysBaseConfigEntity::getConfigKey, SysBaseConfigEntity::getConfigValue));
+        SysBaseConfigVo sysBaseConfigVo = new SysBaseConfigVo();
+        sysBaseConfigVo.setId(map.get("id"));
+        sysBaseConfigVo.setFarmCode(map.get("farmId"));
+        sysBaseConfigVo.setFarmName(map.get("configName"));
+        sysBaseConfigVo.setIp(map.get("ip"));
+        sysBaseConfigVo.setPort(map.get("port"));
+        return sysBaseConfigVo;
+
+    }
+}