南昌市物联网技防平台-后台
tangzy
2021-03-23 3f5d52e4e78b7a6b9f8425287236c6f5ea0fb81e
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/impl/ParcelServiceImpl.java
@@ -1,10 +1,13 @@
package org.springblade.jfpt.parcel.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.springblade.jfpt.parcel.service.ParcelService;
import org.springblade.jfpt.parcel.util.DateUtils;
import org.springblade.jfpt.parcel.util.HttpClientUtils;
import org.springblade.jfpt.parcel.util.JacksonUtil;
import org.springblade.jfpt.parcel.util.PageList;
import org.springblade.jfpt.parcel.vo.ConditionVo;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
@@ -92,7 +95,7 @@
      if (null!=conditionVo.getStatus()){
         //2.获取数据
         List<Object> objectList = getParcelData(conditionVo,PARCEL_URL,PARCEL_KEY,PARCEL_SECRET);
         System.out.println("objectList = " + objectList);
         if (null != objectList) {
         //3.创建时间集合,包裹集合数据
         List<String> listTime = new ArrayList<>();
         List<Map<String,Object>> parcelList = new ArrayList<>();
@@ -149,6 +152,7 @@
         //13.返回
         return list;
      }
      }
      return null;
   }
@@ -196,8 +200,11 @@
      String params = HttpClientUtils.httpPost(url, key, secret, map);
      //5.数据转换
      Map<String, Object> data = (Map<String, Object>) JSONObject.parse(params);
      //System.out.println("data = " + data);
      if (data.get("succ").toString().equals("ok")){
         //6.返回数据
      return JSON.parseArray(data.get("result").toString());
      }
      return null;
   }
@@ -213,6 +220,7 @@
      conditionVo.setStatus(status);
      //获取包裹数据
      List<Object> parcelData = getParcelData(conditionVo, PARCEL_URL, PARCEL_KEY, PARCEL_SECRET);
      if (null!=parcelData) {
      //查询当天的包裹总数
      Integer dangerCount = null;
      Integer contrabandCount = null;
@@ -229,6 +237,8 @@
      list.add(contrabandCount);
      //返回数据
      return list;
      }
      return null;
   }
   /**
@@ -251,6 +261,7 @@
      conditionVo.setStatus(1);//近7天status 为 1
      //获取数据
      List<Object> objectList = getParcelData(conditionVo,PARCEL_CONTRABAND_URL,PARCEL_KEY,PARCEL_SECRET);
      if (null!=objectList) {
      //遍历违禁编码map数据
      List<String> times = DateUtils.pastDay(new SimpleDateFormat("yyyy-MM-dd").format(new Date()));
      List<Integer> list = new ArrayList<>();
@@ -281,6 +292,8 @@
      }
      return list;
   }
      return null;
   }
   /**
    * 获取图片地址
@@ -308,7 +321,76 @@
    */
   @Override
   public Object getParcelDetailPage(ConditionVo conditionVo) {
      String result = getParcelDataPageList(conditionVo, PARCEL_DETAIL_RUL, PARCEL_KEY, PARCEL_SECRET).get("result").toString();
      if (null!=result) {
         return JSONObject.parse(result);
      }
      return null;
   }
   /**
    * 获取包裹违禁品明细分页数据,远程调用api获取数据
    * @param conditionVo  请求参数对象
    * @return
    */
   @Override
   public Object getParcelkindDetailPage(ConditionVo conditionVo) {
      conditionVo.setDecisioDiagramResult("contraband");
      Map<Object, Object> map = new HashMap<>();
      List<Object> list = new ArrayList<>();
      //获取违禁包裹数据
      Map<String,Object> result = (Map<String,Object>)getParcelDataPageList(conditionVo, PARCEL_DETAIL_RUL, PARCEL_KEY, PARCEL_SECRET).get("result");
      if (null!=result) {
         //提取违禁品数据
         List<Object> dataList = JSON.parseArray(result.get("data").toString());
         for (Object data : dataList) {
            //取出list里面的值转为map
            Map<String, Object> objectMap = (Map<String, Object>) data;
            //获取违禁包裹名称,包裹Id,包裹图片,过机时间
            String checkMachineName = objectMap.get("checkMachineName").toString();
            String packageId = objectMap.get("packageId").toString();
            String imgUrl = objectMap.get("imgUrl").toString();
            String samplingTime = objectMap.get("samplingTime").toString();
            //获取违禁品集合数据
            List<Object> detailVoList = JSON.parseArray(objectMap.get("coordsDetailVoList").toString());
            //遍历违禁品集合数据
            for (Object detailVo : detailVoList) {
               //封装违禁包裹信息
               Map<String, Object> detailVoMap = (Map<String, Object>) detailVo;
               detailVoMap.put("checkMachineName", checkMachineName);
               detailVoMap.put("packageId", packageId);
               detailVoMap.put("imgUrl", imgUrl);
               detailVoMap.put("samplingTime", samplingTime);
               list.add(detailVoMap);
            }
         }
         //对组装好的违禁品集合数据排序,按时间
         //分页
         List<Object> listPaging = PageList.getListPaging(list, conditionVo.getCurrentPage(), conditionVo.getPageSize());
         //封装数据
         map.put("totalSize", listPaging.size());
         map.put("data", listPaging);
         map.put("currentPage", conditionVo.getCurrentPage());
         map.put("pageSize", conditionVo.getPageSize());
         //返回数据
         return map;
      }
      return null;
   }
   /**
    * 远程调用api 获取违禁品详细数据
    * @param conditionVo 条件
    * @param url 违禁品详细数据Url
    * @param key key
    * @param secret 秘钥
    * @return
    */
   public Map<String,Object> getParcelDataPageList(ConditionVo conditionVo, String url, String key, String secret){
      //1.创建map对象存储数据
      HashMap<String, Object> map = new HashMap<>();
      //2.条件判断
      if (null!=conditionVo.getStartTime()){
         map.put("startTime", conditionVo.getStartTime());
      }
@@ -324,9 +406,15 @@
      if (null!=conditionVo.getPageSize()){
         map.put("pageSize", conditionVo.getPageSize());
      }
      //3.远程调用api 获取数据
      String params = HttpClientUtils.httpPost(PARCEL_DETAIL_RUL, PARCEL_KEY, PARCEL_SECRET, map);
      Map<String, Object> data = (Map<String, Object>) JSONObject.parse(params);
      //4.远程调用数据
      return JSONObject.parse(data.get("result").toString());
      Map<String,Object> paramsMap = (Map<String, Object>) JSONObject.parse(params);
      if (paramsMap.get("succ").toString().equals("ok")){
         //4返回数据
         return paramsMap;
   }
      //4返回数据
      return null;
   }
}