123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178 |
- package com.huimv.cattle.controller;
- 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.huimv.cattle.pojo.DataSource;
- import com.huimv.cattle.pojo.SysFarm;
- import com.huimv.cattle.service.DataSourceService;
- import com.huimv.cattle.service.OverviewService;
- import com.huimv.cattle.service.SysFarmService;
- import com.huimv.cattle.utils.FarmCodeUtils;
- import com.huimv.common.utils.Result;
- import com.huimv.common.utils.ResultCode;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.http.HttpEntity;
- import org.springframework.http.HttpHeaders;
- import org.springframework.http.MediaType;
- import org.springframework.http.ResponseEntity;
- import org.springframework.web.bind.annotation.*;
- import org.springframework.web.client.RestTemplate;
- import javax.annotation.Resource;
- import javax.servlet.http.HttpServletRequest;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.Map;
- /**
- * <p>
- * 前端控制器
- * </p>
- *
- * @author zn
- * @since 2022-12-15
- */
- @CrossOrigin
- @RestController
- @RequestMapping("/v1.0.0/overview")
- public class OverviewController {
- @Autowired
- private OverviewService overviewService;
- @Resource
- private DataSourceService dataSourceService;
- @Resource
- private RestTemplate restTemplate;
- @Autowired
- private SysFarmService farmService;
- @PostMapping("/getOverview")
- public Result getOverView(HttpServletRequest httpServletRequest, @RequestBody Map<String,String> paramsMap) {
- String farmCode = FarmCodeUtils.getFarmCode(paramsMap.get("farmCode"), httpServletRequest);
- // //读取模式切换
- DataSource dataSource = dataSourceService.getDataSourceStatus();
- if (dataSource.getViewType() == 1) {
- //view=1,显示县填写数据
- return overviewService.overList(httpServletRequest,paramsMap);
- } else {
- //view=2,显示镇汇总数据
- if (dataSource.getDsStatus() == 1) {
- //status=1,显示镇汇总(手填)数据
- return overviewService.getListOverview(httpServletRequest,paramsMap);
- } else {
- //status=2,显示镇汇总(养殖云)数据
- System.out.println("status=2,显示镇汇总(养殖云)数据");
- String farmCodes = getFarmCodeByAdcode(farmCode);
- System.out.println(farmCodes);
- if (StringUtils.isBlank(farmCodes)){
- return new Result(ResultCode.SUCCESS,new ArrayList<>());
- }
- return getStockFromBreedCloud(farmCodes);
- //++++++++++++++++++++++++++++++++++++++++++++++++++
- }
- }
- }
- @PostMapping("/getOverviewScreen")
- public Result getOverviewScreen(HttpServletRequest httpServletRequest, @RequestBody Map<String,String> paramsMap) {
- String farmCode = FarmCodeUtils.getFarmCode(paramsMap.get("farmCode"), httpServletRequest);
- // //读取模式切换
- DataSource dataSource = dataSourceService.getDataSourceStatus();
- // if (dataSource.getDsStatus() == 1){
- // if (farmCode == null || farmCode.equals("0")){
- // return overviewService.overList(httpServletRequest,paramsMap);
- // }else {
- // return overviewService.getListOverviewScreen(httpServletRequest,paramsMap);
- // }
- // }else {
- // System.out.println("status=2,显示镇汇总(养殖云)数据");
- // String farmCodes = getFarmCodeByAdcode(farmCode);
- // System.out.println(farmCodes);
- // if (StringUtils.isBlank(farmCodes)){
- // return new Result(ResultCode.SUCCESS,new ArrayList<>());
- // }
- // return getStockFromBreedCloud(farmCodes);
- // }
- if (dataSource.getViewType() == 1) {
- //view=1,显示县填写数据
- return overviewService.overList(httpServletRequest,paramsMap);
- } else {
- //view=2,显示镇汇总数据
- if (dataSource.getDsStatus() == 1) {
- //status=1,显示镇汇总(手填)数据
- return overviewService.getListOverviewScreen(httpServletRequest,paramsMap);
- } else {
- //status=2,显示镇汇总(养殖云)数据
- System.out.println("status=2,显示镇汇总(养殖云)数据");
- String farmCodes = getFarmCodeByAdcode(farmCode);
- System.out.println(farmCodes);
- if (StringUtils.isBlank(farmCodes)){
- return new Result(ResultCode.SUCCESS,new ArrayList<>());
- }
- return getStockFromBreedCloud(farmCodes);
- }
- }
- }
- private String getFarmCodeByAdcode(String farmCode) {
- String adcode = "620826";
- if (!"0".equals(farmCode)){
- SysFarm list = farmService.getOne(new QueryWrapper<SysFarm>().eq("farm_code", farmCode));
- if (ObjectUtil.isNotEmpty(list)){
- String[] split = list.getAdcode().split(",");
- adcode = split[split.length-1];
- }
- }
- String remoteUrl = "http://123.60.134.84:10001/admin/v1.0.0/account/getFarmCodeByAdcode";
- Map map = new HashMap();
- map.put("adcode",adcode);
- ResponseEntity<String> stringResponseEntity = restTemplate.postForEntity(remoteUrl, map, String.class);
- return stringResponseEntity.getBody();
- }
- //从养殖云获取数据
- private Result getStockFromBreedCloud(String farmCodes) {
- HttpHeaders httpHeaders = new HttpHeaders();
- MediaType type = MediaType.parseMediaType("application/json;charset=UTF-8");
- httpHeaders.setContentType(type);
- // MultiValueMap<String, Object> map=new LinkedMultiValueMap<>();
- HashMap<String, Object> map = new HashMap<>();
- //这里提交的是区县编码或乡镇编码
- map.put("farmCode", farmCodes);
- HttpEntity<Map<String, Object>> objectHttpEntity = new HttpEntity<>(map, httpHeaders);
- //读取真实数据
- String remoteUrl = "http://123.60.134.84:10001/breed/api/v1.0.0/cattle/getFarmCountByDivision";
- 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("variety",0);
- //, )
- return new Result(ResultCode.SUCCESS,dataJo);
- }else{
- return new Result(ResultCode.FAIL,"调取远程数据出错.");
- }
- }
- @PostMapping("/saveOverview")
- public Result saveOverView(HttpServletRequest httpServletRequest,@RequestBody Map<String,String> paramsMap) {
- return overviewService.add(httpServletRequest,paramsMap);
- }
- @PostMapping("/deleteSaveOverview")
- public Result delete(@RequestBody Map<String,String> paramsMap) {
- String ids = paramsMap.get("ids");
- String[] id=ids.split(",");
- for (String s : id) {
- overviewService.removeById(s);
- }
- return new Result(ResultCode.SUCCESS,"删除成功");
- }
- }
|