From abbaf2374fff7d02ecc3eecd6bf62504fbf27c4b Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Tue, 06 Apr 2021 22:33:25 +0800
Subject: [PATCH] 预警数量统计接口修改,预警数量分布接口修改,预警分类占比接口新增

---
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/impl/ParcelServiceImpl.java |  176 ++++++++++++++++++++++++++++++----------------------------
 1 files changed, 92 insertions(+), 84 deletions(-)

diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/impl/ParcelServiceImpl.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/impl/ParcelServiceImpl.java
index a259baf..bca65ef 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/impl/ParcelServiceImpl.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/impl/ParcelServiceImpl.java
@@ -4,6 +4,7 @@
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import io.swagger.models.auth.In;
+import org.springblade.jfpt.animalheat.util.ImageUtil;
 import org.springblade.jfpt.parcel.service.ParcelService;
 import org.springblade.jfpt.parcel.util.DateUtils;
 import org.springblade.jfpt.parcel.util.HttpClientUtils;
@@ -40,6 +41,12 @@
 
 	@Value("${PARCEL_DETAIL_RUL}")
 	private String PARCEL_DETAIL_RUL;
+
+	@Value("${PARCEL_KIND_URL}")
+	private String PARCEL_KIND_URL;
+
+	@Value("${PARCEL_PRE_URL}")
+	private String PARCEL_PRE_URL;
 
 
 
@@ -149,7 +156,7 @@
 				//12.封装数据
 				list.add(listTime);
 				list.add(parcelList);
-				list.add(getKindServenDataList());
+				list.add(getKindServenDataList(conditionVo));
 				//13.返回
 				return list;
 			}
@@ -172,28 +179,38 @@
 		String startDate = null;
 		String endDate = null;
 		//2.2查询本天的数据
-		if (conditionVo.getStatus() == 0) {
-			//3.获取本天开始时间和结束时间
-			startDate = DateUtils.getToday();
-			endDate = DateUtils.getToday();
+		if (null!=conditionVo.getStatus()) {
+			if (conditionVo.getStatus() == 0) {
+				//3.获取本天开始时间和结束时间
+				startDate = DateUtils.getToday();
+				endDate = DateUtils.getToday();
+			}
+			//2.2查询过去6天及当天的的数据
+			if (conditionVo.getStatus() == 1) {
+				//3.获取过去6天及当天开始时间和结束时间
+				startDate = DateUtils.getPastDate(6, now());
+				endDate = DateUtils.getToday();
+			}
+			//2.4查询本周的数据
+			if (conditionVo.getStatus() == 3) {
+				//3.获取过去6天及当天开始时间和结束时间
+				startDate = DateUtils.getWeekStart();
+				endDate = DateUtils.getWeekEnd();
+			}
+			//2.2查询本月的数据
+			if (conditionVo.getStatus() == 2) {
+				//3.获取本月开始时间和结束时间
+				startDate = DateUtils.getMonthStart();
+				endDate = DateUtils.getMonthEnd();
+			}
 		}
-		//2.2查询过去6天及当天的的数据
-		if (conditionVo.getStatus() == 1) {
-			//3.获取过去6天及当天开始时间和结束时间
-			startDate = DateUtils.getPastDate(6,now());
-			endDate = DateUtils.getToday();
-		}
-		//2.4查询本周的数据
-		if (conditionVo.getStatus() == 3) {
-			//3.获取过去6天及当天开始时间和结束时间
-			startDate = DateUtils.getWeekStart();
-			endDate = DateUtils.getWeekEnd();
-		}
-		//2.2查询本月的数据
-		if (conditionVo.getStatus() == 2) {
-			//3.获取本月开始时间和结束时间
-			startDate = DateUtils.getMonthStart();
-			endDate = DateUtils.getMonthEnd();
+		//2.5 按时间条件查询
+		if (null!=conditionVo.getStartTime() && conditionVo.getStartTime()!=""
+			&& null != conditionVo.getEndTime() && conditionVo.getEndTime()!=""){
+			startDate = conditionVo.getStartTime().substring(0,10);
+			System.out.println("startDate = " + startDate);
+			endDate = conditionVo.getEndTime().substring(0,10);
+			System.out.println("endDate = " + endDate);
 		}
 		map.put("startDate", startDate);
 		map.put("endDate", endDate);
@@ -211,21 +228,20 @@
 
 	/**
 	 * 查询包裹,违禁品总数
-	 * @param status 状态码 0:本天    1:本周   2:本月
+	 * @param conditionVo status 状态码 0:本天    1:本周   2:本月
 	 * @return
 	 */
 	@Override
-	public List<Integer> selectParcelCount(Integer status) {
+	public List<Integer> selectParcelCount(ConditionVo conditionVo) {
 		List<Integer> list = new ArrayList<>();
-		ConditionVo conditionVo = new ConditionVo();
-		conditionVo.setStatus(status);
 		//获取包裹数据
 		List<Object> parcelData = getParcelData(conditionVo, PARCEL_URL, PARCEL_KEY, PARCEL_SECRET);
 		if (null!=parcelData) {
 			//查询当天的包裹总数
 			Integer dangerCount = null;
 			Integer contrabandCount = null;
-			if (status == 0) {
+			conditionVo.setStatus(0);
+			if (conditionVo.getStatus() == 0) {
 				for (Object object : parcelData) {
 					//取出list里面的值转为map
 					Map<String, Object> objectMap = (Map<String, Object>) object;
@@ -247,9 +263,9 @@
 	 * @return
 	 */
 	@Override
-	public Map<String, Object> selectParcelData() {
+	public Map<String, Object> selectParcelData(ConditionVo conditionVo) {
 		HashMap<String, Object> map = new HashMap<>();
-		map.put("parcelData",getKindServenDataList());
+		map.put("parcelData",getKindServenDataList(conditionVo));
 		return map;
 	}
 
@@ -257,9 +273,10 @@
 	 * 获取危险违禁品7天内每天的数量集合
 	 * @return
 	 */
-	public List<Integer> getKindServenDataList(){
-		ConditionVo conditionVo = new ConditionVo();
-		conditionVo.setStatus(1);//近7天status 为 1
+	public List<Integer> getKindServenDataList(ConditionVo conditionVo){
+		if (null==conditionVo){
+			conditionVo.setStatus(1);//近7天status 为 1
+		}
 		//获取数据
 		List<Object> objectList = getParcelData(conditionVo,PARCEL_CONTRABAND_URL,PARCEL_KEY,PARCEL_SECRET);
 		if (null!=objectList) {
@@ -302,7 +319,7 @@
 	 * @return
 	 */
 	@Override
-	public Map<String, String> getParcelPic(String imgUrl) {
+	public Map<String, Object> getParcelPic(String imgUrl) {
 		//截取图片imgKey信息
 		String[] imgKeys = imgUrl.split("=", imgUrl.length());
 		String imgKey = imgKeys[1];
@@ -311,8 +328,12 @@
 		map.put("imgKey",imgKey);
 		//执行http远程调用
 		String s = HttpClientUtils.doGetHeaderPictureBase64(PARCEL_PICTURE_URL, PARCEL_KEY, PARCEL_SECRET, map);
-		map.put("imgBase64",s);
-		return map;
+		//获取图片的长宽
+		Map<String, Object> imageMap = ImageUtil.getBase64ImageWidthAndHeight(s);
+		//封装数据
+		imageMap.put("imgBase64",s);
+		//返回
+		return imageMap;
 	}
 
 	/**
@@ -322,9 +343,30 @@
 	 */
 	@Override
 	public Object getParcelDetailPage(ConditionVo conditionVo) {
-		String result = getParcelDataPageList(conditionVo, PARCEL_DETAIL_RUL, PARCEL_KEY, PARCEL_SECRET).get("result").toString();
+		Map<String,Object> result =(Map<String,Object>) getParcelDataPageList(conditionVo, PARCEL_DETAIL_RUL, PARCEL_KEY, PARCEL_SECRET).get("result");
 		if (null!=result) {
-			return JSONObject.parse(result);
+//			List<Object> dataList = JSONArray.parseArray(result.get("data").toString());
+//			System.out.println("dataList = " + dataList);
+//			//遍历集合
+//			for (Object data:dataList) {
+//				Map<String,Object> parcelData =(Map<String,Object>)data;
+//				String imgUrl = parcelData.get("imgUrl").toString();
+//				//查询图片  PARCEL_PRE_URL
+//				//截取图片imgKey信息
+//				String[] imgKeys = imgUrl.split("=", imgUrl.length());
+//				String imgKey = imgKeys[1];
+//				//封装成map对象
+//				HashMap<String, String> map = new HashMap<>();
+//				map.put("imgKey",imgKey);
+//				//执行http远程调用
+//				String s = HttpClientUtils.doGetHeaderPictureBase64(PARCEL_PICTURE_URL, PARCEL_KEY, PARCEL_SECRET, map);
+//				//封装数据
+//				if (null!=s && s!="") {
+//					parcelData.put("imgUrl", s);
+//				}
+//			}
+			return JSONObject.parse(result.toString());
+
 		}
 		return null;
 	}
@@ -337,53 +379,10 @@
 	 */
 	@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");
+		//获取违禁品数据
+		String result = getParcelDataPageList(conditionVo, PARCEL_KIND_URL, PARCEL_KEY, PARCEL_SECRET).get("result").toString();
 		if (null!=result) {
-			//获取总违禁包裹数量
-			Integer totalSize = Integer.parseInt(result.get("totalSize").toString());
-			int total = totalSize/conditionVo.getCurrentPage() +1 ;
-			for (int i = 0;i<total;i++){
-				conditionVo.setCurrentPage(i+1);
-				//获取违禁包裹数据
-				Map<String,Object> resultData = (Map<String,Object>)getParcelDataPageList(conditionVo, PARCEL_DETAIL_RUL, PARCEL_KEY, PARCEL_SECRET).get("result");
-				//提取违禁品数据
-				List<Object> dataList = JSON.parseArray(resultData.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", list.size());
-			map.put("data", listPaging);
-			map.put("currentPage", conditionVo.getCurrentPage());
-			map.put("pageSize", conditionVo.getPageSize());
-			//返回数据
-			return map;
+			return JSONObject.parse(result);
 		}
 		return null;
 	}
@@ -416,7 +415,7 @@
 			map.put("pageSize", conditionVo.getPageSize());
 		}
 		//3.远程调用api 获取数据
-		String params = HttpClientUtils.httpPost(PARCEL_DETAIL_RUL, PARCEL_KEY, PARCEL_SECRET, map);
+		String params = HttpClientUtils.httpPost(url, key, secret, map);
 		Map<String,Object> paramsMap = (Map<String, Object>) JSONObject.parse(params);
 		if (paramsMap.get("succ").toString().equals("ok")){
 			//4返回数据
@@ -426,4 +425,13 @@
 		return null;
 	}
 
+	/**
+	 * 查询当前时间段违禁品总个数
+	 * @param conditionVo
+	 * @return
+	 */
+	@Override
+	public Integer selParcelTimeCount(ConditionVo conditionVo) {
+		return selectParcelCount(conditionVo).get(1);
+	}
 }

--
Gitblit v1.9.3