Browse Source

【feat】牧场基础配置增删改查

chengjing 2 years ago
parent
commit
5403c22db3

+ 49 - 3
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/controller/BaseFarmController.java

@@ -1,13 +1,18 @@
 package com.huimv.eartag2.manage2.controller;
 
 
-import org.springframework.web.bind.annotation.RequestMapping;
+import com.huimv.eartag2.common.utils.Result;
+import com.huimv.eartag2.manage2.service.BaseFarmService;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.web.bind.annotation.*;
 
-import org.springframework.web.bind.annotation.RestController;
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
- *  前端控制器
+ *      牧场基础配置
  * </p>
  *
  * @author zn
@@ -16,6 +21,47 @@ import org.springframework.web.bind.annotation.RestController;
 @RestController
 @RequestMapping("/base-farm")
 public class BaseFarmController {
+    @Resource
+    private BaseFarmService baseFarmService;
+
+    /**
+     * @description: 【增加】
+     * @author: 静静
+     * @param: maps
+     **/
+    @PostMapping("/add")
+    public Result addConfig(@RequestBody Map<String, String> maps){
+        return baseFarmService.add(maps);
+    }
+
+    /**
+     * @description: 【删除】
+     * @author: 静静
+     * @param: ids
+     **/
+    @PostMapping("/remove")
+    public Result removeConfig(@RequestBody String ids){
+        return baseFarmService.remove(ids);
+    }
+
+    /**
+     * @description: 【修改】
+     * @author: 静静
+     * @param: maps
+     **/
+    @PostMapping("/update")
+    public Result updateConfig(@RequestBody  Map<String, String> maps){
+        return baseFarmService.update(maps);
+    }
+    /**
+     * @description: 【查询】 分页查询配置表
+     * @author: 静静
+     * @param: paramsMap
+     **/
+    @PostMapping("/list")
+    public Result list(@RequestBody Map<String,String> paramsMap){
+        return baseFarmService.list(paramsMap);
+    }
 
 }
 

+ 10 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/BaseFarmService.java

@@ -1,8 +1,12 @@
 package com.huimv.eartag2.manage2.service;
 
+import com.huimv.eartag2.common.utils.Result;
 import com.huimv.eartag2.manage2.pojo.BaseFarm;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  *  服务类
@@ -12,5 +16,11 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @since 2022-07-27
  */
 public interface BaseFarmService extends IService<BaseFarm> {
+    Result add(Map<String, String> mapList);
+
+    Result remove(String id);
+
+    Result update(Map<String, String> maps);
 
+    Result list(Map<String,String> paramsMap);
 }

+ 121 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/impl/BaseFarmServiceImpl.java

@@ -1,11 +1,26 @@
 package com.huimv.eartag2.manage2.service.impl;
 
+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.BaseFarm;
 import com.huimv.eartag2.manage2.mapper.BaseFarmMapper;
+import com.huimv.eartag2.manage2.pojo.BasePigpen;
+import com.huimv.eartag2.manage2.pojo.BizBaseStage;
 import com.huimv.eartag2.manage2.service.BaseFarmService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.huimv.eartag2.manage2.utils.IDUtil;
+import com.huimv.eartag2.manage2.utils.ResultUtil;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.util.Comparator;
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  *  服务实现类
@@ -17,4 +32,110 @@ import org.springframework.stereotype.Service;
 @Service
 public class BaseFarmServiceImpl extends ServiceImpl<BaseFarmMapper, BaseFarm> implements BaseFarmService {
 
+    @Resource
+    private BaseFarmMapper baseFarmMapper;
+
+    @Autowired
+    private ResultUtil resultUtil;
+
+    @Autowired
+    private IDUtil idUtil;
+
+    @Override
+    public Result add(Map<String, String> maps) {
+        String farmName = maps.get("farmName");
+        String leader = maps.get("leader");
+        String phone = maps.get("phone");
+        String remark = maps.get("remark");
+        String areaCode = maps.get("areaCode");
+        String ip = maps.get("ip");
+        String port = maps.get("port");
+        String location = maps.get("location");
+        String code1 = maps.get("code");
+        String farmCode = createFarmCode(areaCode);
+
+        BaseFarm baseFarm = new BaseFarm();
+        baseFarm.setAreaCode(areaCode);
+        baseFarm.setCode1(code1);
+        baseFarm.setFarmCode(farmCode);
+        baseFarm.setFarmName(farmName);
+        baseFarm.setIp(ip);
+        baseFarm.setLeader(leader);
+        baseFarm.setRemark(remark);
+        baseFarm.setPhone(phone);
+        baseFarm.setPort(port);
+        baseFarm.setLocation(location);
+        return  resultUtil.result(baseFarmMapper.insert(baseFarm));
+    }
+    /**
+     * @description: 生成农场编码
+     * @author: 静静
+     * @date: 2022/7/27 1:28 下午
+     * @param: areaCode
+     **/
+    private String createFarmCode(String areaCode) {
+        //先查这个区域有没有牧场、如果有、取最大编码顺序+1 、没有则从001直接开始
+        QueryWrapper<BaseFarm> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("area_code",areaCode);
+        List<BaseFarm> basePigpens = baseFarmMapper.selectList(queryWrapper);
+        if (null == basePigpens || basePigpens.size()== 0){
+            return areaCode+"001";
+        }
+        //当前区域中最大的牧场编码
+        String farmCode = basePigpens.stream().max(Comparator.comparing(BaseFarm::getFarmCode)).get().getFarmCode();
+        String substring = farmCode.substring(farmCode.length() - 3);
+        int code =  Integer.parseInt(substring)+1;
+        String formatCode = String.format("%03d", code);
+        return areaCode+formatCode;
+    }
+
+    @Override
+    public Result remove(String ids) {
+        List<Integer> idList = idUtil.convert(ids);
+        return resultUtil.result(baseFarmMapper.deleteBatchIds(idList));
+    }
+
+    @Override
+    public Result update(Map<String, String> maps) {
+        String id = maps.get("id");
+        String farmName = maps.get("farmName");
+        String leader = maps.get("leader");
+        String phone = maps.get("phone");
+        String remark = maps.get("remark");
+        String areaCode = maps.get("areaCode");
+        String ip = maps.get("ip");
+        String port = maps.get("port");
+        String location = maps.get("location");
+        String code1 = maps.get("code");
+        String farmCode = createFarmCode(areaCode);
+
+        BaseFarm baseFarm = baseFarmMapper.selectById(id);
+        baseFarm.setAreaCode(areaCode);
+        baseFarm.setCode1(code1);
+        baseFarm.setFarmCode(farmCode);
+        baseFarm.setFarmName(farmName);
+        baseFarm.setIp(ip);
+        baseFarm.setLeader(leader);
+        baseFarm.setRemark(remark);
+        baseFarm.setPhone(phone);
+        baseFarm.setPort(port);
+        baseFarm.setLocation(location);
+        return resultUtil.result(baseFarmMapper.updateById(baseFarm));
+    }
+
+    @Override
+    public Result list(Map<String, String> paramsMap) {
+        String farmName = paramsMap.get("farmName");
+        String farmCode = paramsMap.get("farmCode");
+        String code1 = paramsMap.get("code");
+        String pageNo = paramsMap.get("pageNo");
+        String pageSize = paramsMap.get("pageSize");
+        Page<BaseFarm> page = new Page<>(Integer.valueOf(pageNo), Integer.valueOf(pageSize));
+        QueryWrapper<BaseFarm> queryWrapper = new QueryWrapper<>();
+        queryWrapper.like(StringUtils.isNotBlank(farmName), "farm_name", farmName);
+        queryWrapper.like(StringUtils.isNotBlank(farmCode), "farm_code", farmCode);
+        queryWrapper.like(StringUtils.isNotBlank(code1), "code1", code1);
+        Page<BaseFarm> bizBaseStagePage = baseFarmMapper.selectPage(page, queryWrapper);
+        return new Result(ResultCode.SUCCESS, bizBaseStagePage);
+    }
 }