Explorar o código

【feat】牧场基础配置 替换成mybatis

chengjing %!s(int64=2) %!d(string=hai) anos
pai
achega
a286daf3b5

+ 24 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/pom.xml

@@ -106,6 +106,30 @@
             <groupId>org.junit.platform</groupId>
             <artifactId>junit-platform-commons</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.huimv</groupId>
+            <artifactId>huimv-eartag2-common</artifactId>
+            <version>0.0.2-SNAPSHOT</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.huimv</groupId>
+            <artifactId>huimv-eartag2-common</artifactId>
+            <version>0.0.2-SNAPSHOT</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.huimv</groupId>
+            <artifactId>huimv-eartag2-common</artifactId>
+            <version>0.0.2-SNAPSHOT</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.huimv</groupId>
+            <artifactId>huimv-eartag2-manage</artifactId>
+            <version>0.0.1-SNAPSHOT</version>
+            <scope>compile</scope>
+        </dependency>
         <!-- 基准测试 start -->
         <!--        <dependency>-->
         <!--            <groupId>org.openjdk.jmh</groupId>-->

+ 74 - 8
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/controller/SysBaseConfigController.java

@@ -1,21 +1,87 @@
 package com.huimv.eartag2.manage2.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;
+
 /**
- * <p>
- *  前端控制器
- * </p>
- *
- * @author zn
- * @since 2022-07-19
+ * @Description: 系统基础配置
+ * @Author: 静静
+ * @CreateTime: 2022-07-19  09:14
+ * @Version: 1.0
  */
 @RestController
-@RequestMapping("/sys-base-config")
+@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);
+    }
+
+}

+ 8 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/mapper/SysBaseConfigMapper.java

@@ -2,6 +2,10 @@ package com.huimv.eartag2.manage2.mapper;
 
 import com.huimv.eartag2.manage2.pojo.SysBaseConfig;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import io.lettuce.core.dynamic.annotation.Param;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
 
 /**
  * <p>
@@ -11,6 +15,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @author zn
  * @since 2022-07-19
  */
+
+@Component
 public interface SysBaseConfigMapper extends BaseMapper<SysBaseConfig> {
 
+    List<SysBaseConfig> selectByRowIdList(@Param("rowIds") List<String> rowIds);
+
 }

+ 14 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/mapper/xml/SysBaseConfigMapper.xml

@@ -17,4 +17,18 @@
         id, config_name, config_key, config_value, area_name, row_id
     </sql>
 
+    <select id="selectByRowIdList" resultMap="BaseResultMap" parameterType="list">
+        select id, config_name, config_key, config_value, area_name, row_id
+        from sys_base_config
+
+        <where>
+            <if test=" rowIds != null and rowIds.size > 0 ">
+                AND row_id in
+                <foreach item="item" collection="rowIds" separator="," open="(" close=")" index="">
+                    #{item}
+                </foreach>
+            </if>
+        </where>
+    </select>
+
 </mapper>

+ 14 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/SysBaseConfigService.java

@@ -1,8 +1,12 @@
 package com.huimv.eartag2.manage2.service;
 
+import com.huimv.eartag2.common.utils.Result;
 import com.huimv.eartag2.manage2.pojo.SysBaseConfig;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  *  服务类
@@ -13,4 +17,14 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface SysBaseConfigService extends IService<SysBaseConfig> {
 
+    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);
+
 }

+ 123 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/impl/SysBaseConfigServiceImpl.java

@@ -1,11 +1,26 @@
 package com.huimv.eartag2.manage2.service.impl;
 
+import cn.hutool.core.lang.func.VoidFunc0;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.huimv.eartag2.common.utils.Result;
+import com.huimv.eartag2.common.utils.ResultCode;
 import com.huimv.eartag2.manage2.pojo.SysBaseConfig;
 import com.huimv.eartag2.manage2.mapper.SysBaseConfigMapper;
 import com.huimv.eartag2.manage2.service.SysBaseConfigService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.huimv.eartag2.manage2.vo.SysBaseConfigVo;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Pageable;
 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;
+
 /**
  * <p>
  *  服务实现类
@@ -17,4 +32,112 @@ import org.springframework.stereotype.Service;
 @Service
 public class SysBaseConfigServiceImpl extends ServiceImpl<SysBaseConfigMapper, SysBaseConfig> implements SysBaseConfigService {
 
+    @Resource
+    private SysBaseConfigMapper sysBaseConfigMapper;
+
+    @Override
+    public Result add(List<Map<String, String>> mapList) {
+        //SysBaseConfigEntity
+        //存入数据库
+        String fitId = UUID.randomUUID().toString();
+        for (Map<String, String> stringStringMap : mapList) {
+            SysBaseConfig sysBaseConfigEntity = new SysBaseConfig();
+            sysBaseConfigEntity.setConfigName(stringStringMap.get("configName"));
+            sysBaseConfigEntity.setConfigKey(stringStringMap.get("configKey"));
+            sysBaseConfigEntity.setConfigValue(stringStringMap.get("configValue"));
+            sysBaseConfigEntity.setAreaName(stringStringMap.get("areaName"));
+            sysBaseConfigEntity.setRowId(fitId);
+            sysBaseConfigMapper.insert(sysBaseConfigEntity);
+        }
+        return new Result(ResultCode.SUCCESS);
+    }
+
+    @Override
+    public Result remove(List<Integer> id) {
+        sysBaseConfigMapper.deleteBatchIds(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");
+            SysBaseConfig baseConfigDo = sysBaseConfigMapper.selectById(id);
+            baseConfigDo.setConfigName(map.get("configName"));
+            baseConfigDo.setConfigKey(map.get("configKey"));
+            baseConfigDo.setConfigValue(map.get("configValue"));
+            baseConfigDo.setAreaName(map.get("areaName"));
+            sysBaseConfigMapper.updateById(baseConfigDo);
+        }
+        return new Result(ResultCode.SUCCESS);
+    }
+
+    @Override
+    public Result list(Map<String, String> paramsMap) {
+        //先分页查询
+
+        if (paramsMap.get("ip")!= null){
+            String ip = paramsMap.get("ip");
+        }
+        Integer pageNo = Integer.valueOf(paramsMap.get("pageNo"));
+        if ( pageNo == 0){
+            pageNo = 1;
+        }
+       // Page<SysBaseConfig> page = new Page<>(pageNo, Integer.valueOf(paramsMap.get("pageSize")));
+        QueryWrapper<SysBaseConfig> queryWrapper = new QueryWrapper<>();
+        queryWrapper.like(StringUtils.isNotBlank(paramsMap.get("farmName")),"farm_name", paramsMap.get("farmName"));
+        queryWrapper.like(StringUtils.isNotBlank(paramsMap.get("farmCode")),"farm_code", paramsMap.get("farmCode"));
+        queryWrapper.like(StringUtils.isNotBlank(paramsMap.get("ip")),"ip", paramsMap.get("ip"));
+        //创建时间降序
+        queryWrapper.orderByDesc("id");
+
+        //获取到的只是当前传入参数的值的那条数据、需要再根据每个对象中的row_id获取到当前一组的数据、再进行拼装
+        List<SysBaseConfig> pageBizDeviceRegister = sysBaseConfigMapper.selectList(queryWrapper);
+
+        List<String> rowIds = pageBizDeviceRegister.stream().map(SysBaseConfig::getRowId).collect(Collectors.toList());
+
+        //根据row_id分组查询数据
+        List<SysBaseConfig> sysBaseConfigs = sysBaseConfigMapper.selectByRowIdList(rowIds);
+        //将查询出来的数据  按照row_id进行分组
+        Map<String, List<SysBaseConfig>> groupResult = sysBaseConfigs.stream().collect(Collectors.groupingBy(SysBaseConfig::getRowId));
+
+        //Map<String, List<SysBaseConfig>> groupResult = content.stream().collect(Collectors.groupingBy(SysBaseConfig::getRowId));
+
+        Set<String> strings = groupResult.keySet();
+
+        //最终返回的拼装好的数据
+        ArrayList<SysBaseConfigVo> resultList = new ArrayList<>();
+        strings.forEach(rId->{
+            List<SysBaseConfig> sysBaseConfigEntities = groupResult.get(rId);
+            SysBaseConfigVo sysBaseConfigVo = convertSysBaseConfigVo(sysBaseConfigEntities);
+            resultList.add(sysBaseConfigVo);
+        });
+
+        return new Result(ResultCode.SUCCESS,resultList);
+
+    }
+
+    @Override
+    public Result getDateById(List<Integer> ids) {
+        ArrayList<SysBaseConfig> sysBaseConfigEntities = new ArrayList<>();
+        for (Integer id : ids) {
+            SysBaseConfig sysBaseConfig = sysBaseConfigMapper.selectById(id);
+            sysBaseConfigEntities.add(sysBaseConfig);
+        }
+        SysBaseConfigVo sysBaseConfigVo = convertSysBaseConfigVo(sysBaseConfigEntities);
+        return new Result(ResultCode.SUCCESS,sysBaseConfigVo);
+    }
+
+    private SysBaseConfigVo convertSysBaseConfigVo(List<SysBaseConfig> list){
+        Map<String, String> map = list.stream().collect(Collectors.toMap(SysBaseConfig::getConfigKey, SysBaseConfig::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;
+
+    }
+
 }

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

@@ -0,0 +1,31 @@
+package com.huimv.eartag2.manage2.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;
+
+
+}