Browse Source

增加地图上显示乡镇存栏数据

zhuoning 2 năm trước cách đây
mục cha
commit
fdd2457f0f

+ 1 - 1
huimv-cattle/src/main/java/com/huimv/cattle/config/GlobalInterceptor.java

@@ -33,7 +33,7 @@ public class GlobalInterceptor implements HandlerInterceptor {
     @Override
     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object obj) throws Exception {
         String secreKey = request.getHeader("from");
-        System.out.println("判断是否直连服务 secreKey="+secreKey);
+//        System.out.println("判断是否直连服务 secreKey="+secreKey);
 //        if (!StringUtils.isNotBlank(secreKey) || secreKey.equals(redisUUID.get("from"))) {
 //            response.setContentType("application/json; charset=utf-8");
 //            PrintWriter writer = response.getWriter();

+ 5 - 0
huimv-cattle/src/main/java/com/huimv/cattle/controller/SysFarmController.java

@@ -68,5 +68,10 @@ public class SysFarmController {
     public Result resetPassword(HttpServletRequest request, @RequestBody Map<String, String> paramsMap){
         return sysFarmService.resetPassword(request,paramsMap);
     }
+
+    @PostMapping("/listAllTowns")
+    public Result listAllTowns(HttpServletRequest request, @RequestBody Map<String, String> paramsMap){
+        return sysFarmService.listAllTowns(request,paramsMap);
+    }
 }
 

+ 2 - 0
huimv-cattle/src/main/java/com/huimv/cattle/service/SysFarmService.java

@@ -30,4 +30,6 @@ public interface SysFarmService extends IService<SysFarm> {
     Result resetPassword(HttpServletRequest request, Map<String, String> paramsMap);
 
     Result getAllFarmId(HttpServletRequest request, Map<String, String> paramsMap);
+
+    Result listAllTowns(HttpServletRequest request, Map<String, String> paramsMap);
 }

+ 73 - 16
huimv-cattle/src/main/java/com/huimv/cattle/service/impl/SysFarmServiceImpl.java

@@ -1,14 +1,19 @@
 package com.huimv.cattle.service.impl;
 
 import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 //import com.huimv.breed.common.utils.ResultUtil;
 import com.huimv.cattle.mapper.SysFarmMapper;
 import com.huimv.cattle.mapper.SysUserAccountMapper;
+import com.huimv.cattle.pojo.DataSource;
 import com.huimv.cattle.pojo.SysFarm;
 import com.huimv.cattle.pojo.SysUserAccount;
+import com.huimv.cattle.service.DataSourceService;
+import com.huimv.cattle.service.StockService;
 import com.huimv.cattle.service.SysFarmService;
 import com.huimv.cattle.utils.ResultUtil;
 import com.huimv.common.utils.Result;
@@ -20,18 +25,24 @@ import com.huimv.common.utils.ResultCode;
 //import com.huimv.saas.admin.service.SysFarmService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.client.RestTemplate;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import java.util.Arrays;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
 /**
  * <p>
- *  服务实现类
+ * 服务实现类
  * </p>
  *
  * @author zn
@@ -47,6 +58,12 @@ public class SysFarmServiceImpl extends ServiceImpl<SysFarmMapper, SysFarm> impl
     private ResultUtil resultUtil;
     @Value("${manager.defaultPassword}")
     private String defaultPassword;
+    @Resource
+    private DataSourceService dataSourceService;
+    @Resource
+    private StockService stockService;
+    @Resource
+    private RestTemplate restTemplate;
 
     @Override
     public Result initFarmFlow(HttpServletRequest request, Map<String, String> paramsMap) {
@@ -58,35 +75,35 @@ public class SysFarmServiceImpl extends ServiceImpl<SysFarmMapper, SysFarm> impl
 
     @Override
     public Result listFarm(HttpServletRequest request, Map<String, String> paramsMap) {
-        String pageNo = paramsMap.get("pageNo")+"";
+        String pageNo = paramsMap.get("pageNo") + "";
         if (pageNo == null) {
             pageNo = "1";
         }
-        String pageSize = paramsMap.get("pageSize")+"";
+        String pageSize = paramsMap.get("pageSize") + "";
         if (pageSize == null) {
             pageSize = "10";
         }
         //牧场名称
         String farmName = paramsMap.get("farmName");
         QueryWrapper<SysFarm> queryWrapper = new QueryWrapper<>();
-        queryWrapper.like(StringUtils.isNotBlank(farmName),"farm_name",farmName);
+        queryWrapper.like(StringUtils.isNotBlank(farmName), "farm_name", farmName);
         queryWrapper.orderByDesc("id");
         Page<SysFarm> page = new Page<>(Integer.parseInt(pageNo), Integer.parseInt(pageSize));
-        return new Result(ResultCode.SUCCESS,sysFarmMapper.selectPage(page,queryWrapper));
+        return new Result(ResultCode.SUCCESS, sysFarmMapper.selectPage(page, queryWrapper));
     }
 
     @Override
     public Result newFarm(HttpServletRequest request, Map<String, String> paramsMap) {
         //
         String farmStatus = paramsMap.get("farmStatus");
-        if(StringUtils.isBlank(farmStatus)){
+        if (StringUtils.isBlank(farmStatus)) {
             farmStatus = "1";
         }
         String farmCode = paramsMap.get("farmCode");
         List<SysFarm> farms = sysFarmMapper.selectList(new QueryWrapper<SysFarm>().eq("farm_code", farmCode));
         System.out.println(farms.toString());
-        if (ObjectUtil.isNotEmpty(farms)){
-            return new Result(10010,"牧场编号已存在",false);
+        if (ObjectUtil.isNotEmpty(farms)) {
+            return new Result(10010, "牧场编号已存在", false);
         }
 
 
@@ -106,7 +123,7 @@ public class SysFarmServiceImpl extends ServiceImpl<SysFarmMapper, SysFarm> impl
     public Result editFarm(HttpServletRequest request, Map<String, String> paramsMap) {
         //
         String farmStatus = paramsMap.get("farmStatus");
-        if(StringUtils.isBlank(farmStatus)){
+        if (StringUtils.isBlank(farmStatus)) {
             farmStatus = "1";
         }
         SysFarm sysFarm = new SysFarm();
@@ -126,7 +143,7 @@ public class SysFarmServiceImpl extends ServiceImpl<SysFarmMapper, SysFarm> impl
     public Result removeFarm(HttpServletRequest request, Map<String, String> paramsMap) {
         String ids = paramsMap.get("ids");
         String[] idArray = ids.split(",");
-        List<String> idList= Arrays.asList(idArray);
+        List<String> idList = Arrays.asList(idArray);
         return resultUtil.getResult(sysFarmMapper.deleteBatchIds(idList));
     }
 
@@ -136,7 +153,7 @@ public class SysFarmServiceImpl extends ServiceImpl<SysFarmMapper, SysFarm> impl
         String ids = paramsMap.get("farmCodes");
         String[] idArray = ids.split(",");
         int rows = 0;
-        for(String id:idArray){
+        for (String id : idArray) {
             SysUserAccount SysUserAccount = new SysUserAccount();
             SysUserAccount.setFarmCode(id);
             SysUserAccount.setPassword(defaultPassword);
@@ -151,16 +168,56 @@ public class SysFarmServiceImpl extends ServiceImpl<SysFarmMapper, SysFarm> impl
         queryWrapper.orderByDesc("id");
         List<SysFarm> sysFarmList = sysFarmMapper.selectList(queryWrapper);
         StringBuilder idSb = new StringBuilder();
-        for(SysFarm farmData:sysFarmList){
-            if(idSb.length()>0){
+        for (SysFarm farmData : sysFarmList) {
+            if (idSb.length() > 0) {
                 idSb.append(",");
             }
             idSb.append(farmData.getFarmCode());
         }
-        if(idSb.length()>0){
-            return new Result(ResultCode.SUCCESS,idSb.toString());
-        }else{
+        if (idSb.length() > 0) {
+            return new Result(ResultCode.SUCCESS, idSb.toString());
+        } else {
             return new Result(ResultCode.FAIL);
         }
     }
+
+    @Override
+    public Result listAllTowns(HttpServletRequest request, Map<String, String> paramsMap) {
+        //读取所有乡镇
+        //统计所有存栏(手填报或者从养殖云获取)
+        //读取模式切换
+        DataSource dataSource = dataSourceService.getDataSourceStatus();
+        //view=2,显示镇汇总数据
+        if (dataSource.getDsStatus() == 1) {
+            //status=1,显示镇(手填)数据
+            return stockService.getStock(request, paramsMap);
+        } else {
+            //status=2,显示镇汇总(养殖云)数据
+            return getStockFromBreedCloud(paramsMap);
+        }
+    }
+
+    //显示镇汇总(养殖云)数据
+    private Result getStockFromBreedCloud(Map<String, String> paramsMap) {
+        HttpHeaders httpHeaders = new HttpHeaders();
+        MediaType type = MediaType.parseMediaType("application/json;charset=UTF-8");
+        httpHeaders.setContentType(type);
+        HashMap<String, Object> map = new HashMap<>();
+        //这里提交的是区县编码或乡镇编码
+        map.put("farmCode", paramsMap.get("farmCode"));
+        HttpEntity<Map<String, Object>> objectHttpEntity = new HttpEntity<>(map, httpHeaders);
+        //读取真实数据
+        String remoteUrl = "http://123.60.134.84:10001/breed/api/v1.0.0/cattle/getStockByDivision2";
+        ResponseEntity<String> entity = restTemplate.postForEntity(remoteUrl, objectHttpEntity, String.class);
+        if(entity.getStatusCode().toString().contains("200")){
+            String body = entity.getBody();
+            System.out.println(body);
+            JSONObject dataJo = JSON.parseObject(body).getJSONObject("data");
+            System.out.println("dataJo="+dataJo);
+            dataJo.put("name","界石浦镇");
+            return new Result(ResultCode.SUCCESS,dataJo);
+        }else{
+            return new Result(ResultCode.FAIL,"调取远程数据出错.");
+        }
+    }
 }