diff --git a/pom.xml b/pom.xml index 5548f41..0b75ef8 100644 --- a/pom.xml +++ b/pom.xml @@ -273,7 +273,7 @@ - zilberboot + intelligenceSite org.springframework.boot diff --git a/src/main/java/com/zilber/boot/module/vehicle/constant/Constant.java b/src/main/java/com/zilber/boot/module/vehicle/constant/Constant.java index 6d5f14e..c6d715a 100644 --- a/src/main/java/com/zilber/boot/module/vehicle/constant/Constant.java +++ b/src/main/java/com/zilber/boot/module/vehicle/constant/Constant.java @@ -1,5 +1,8 @@ package com.zilber.boot.module.vehicle.constant; +import java.util.Arrays; +import java.util.List; + /** * @Author LJX * @TIME 2025-05-06 13:38 @@ -23,4 +26,6 @@ public class Constant { public final static String SUCCESS_CODE = "0"; + public final static List SCOPES = Arrays.asList("aotomobile", "personal"); + } diff --git a/src/main/java/com/zilber/boot/module/vehicle/controller/VehicleController.java b/src/main/java/com/zilber/boot/module/vehicle/controller/VehicleController.java index 2b8ac8a..b0bfeb1 100644 --- a/src/main/java/com/zilber/boot/module/vehicle/controller/VehicleController.java +++ b/src/main/java/com/zilber/boot/module/vehicle/controller/VehicleController.java @@ -12,6 +12,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import java.util.Map; + /** * @Author LJX * @TIME 2025-05-06 11:57 @@ -33,6 +35,12 @@ public class VehicleController { return AjaxResult.success(service.list(pr)); } + @GetMapping("/stat") + @ApiOperation("统计") + public AjaxResult stat() { + return AjaxResult.success(service.stat()); + } + @GetMapping("/h5") @ApiOperation("h5") public AjaxResult h5( diff --git a/src/main/java/com/zilber/boot/module/vehicle/service/TourRunService.java b/src/main/java/com/zilber/boot/module/vehicle/service/TourRunService.java index f5e5893..fcb24a4 100644 --- a/src/main/java/com/zilber/boot/module/vehicle/service/TourRunService.java +++ b/src/main/java/com/zilber/boot/module/vehicle/service/TourRunService.java @@ -2,6 +2,9 @@ package com.zilber.boot.module.vehicle.service; import com.zilber.boot.module.vehicle.dto.pr.DevicePR; import com.zilber.boot.utils.page.PageUtils; +import io.swagger.models.auth.In; + +import java.util.Map; /** * @Author LJX @@ -14,6 +17,8 @@ public interface TourRunService { PageUtils list(DevicePR pr); + Map stat(); + String h5(String tabType, String imei); String token(); diff --git a/src/main/java/com/zilber/boot/module/vehicle/service/impl/TourRunServiceImpl.java b/src/main/java/com/zilber/boot/module/vehicle/service/impl/TourRunServiceImpl.java index 70b3b23..0f7aeb2 100644 --- a/src/main/java/com/zilber/boot/module/vehicle/service/impl/TourRunServiceImpl.java +++ b/src/main/java/com/zilber/boot/module/vehicle/service/impl/TourRunServiceImpl.java @@ -67,36 +67,37 @@ public class TourRunServiceImpl @Override public PageUtils list(DevicePR pr) { - String token = token(); - - Map paramMap = paramMap(Method.LIST.getCode()); - - // 私有参数 - paramMap.put("access_token", token); - paramMap.put("target", properties.getTourRunAccount()); - // 计算签名 - String sign = ""; - try { - sign = SignUtils.signTopRequest(paramMap, properties.getAppSecret(), Constant.MD5); - paramMap.put("sign", sign); - } catch (IOException e) { - e.printStackTrace(); - } - //调用com/zilber/boot/module/vehicle/util/http/HttpUtils方法 - JSONObject jsonObject = sendPost(properties.getOpenapiUrl(), headerMap(), paramMap); - //初始化列表 -// List resultList = null; -// if ( jsonObject != null) { -// if ( !jsonObject.get("code").toString().equals("0")) -// { -// throw new ServiceException(jsonObject.get("message").toString()); -// } -// resultList = jsonObject.getList("result", JSONObject.class); -// } -// else { -// throw new ServiceException("列表获取失败"); +// String token = token(); +// +// Map paramMap = paramMap(Method.LIST.getCode()); +// +// // 私有参数 +// paramMap.put("access_token", token); +// paramMap.put("target", properties.getTourRunAccount()); +// // 计算签名 +// String sign = ""; +// try { +// sign = SignUtils.signTopRequest(paramMap, properties.getAppSecret(), Constant.MD5); +// paramMap.put("sign", sign); +// } catch (IOException e) { +// e.printStackTrace(); // } - List resultList = handleResult(jsonObject, JSONObject.class, "获取列表失败"); +// //调用com/zilber/boot/module/vehicle/util/http/HttpUtils方法 +// JSONObject jsonObject = sendPost(properties.getOpenapiUrl(), headerMap(), paramMap); +// //初始化列表 +//// List resultList = null; +//// if ( jsonObject != null) { +//// if ( !jsonObject.get("code").toString().equals("0")) +//// { +//// throw new ServiceException(jsonObject.get("message").toString()); +//// } +//// resultList = jsonObject.getList("result", JSONObject.class); +//// } +//// else { +//// throw new ServiceException("列表获取失败"); +//// } +// List resultList = handleResult(jsonObject, JSONObject.class, "获取列表失败"); + List resultList = resultList(); if (CollectionUtils.isNotEmpty(resultList)) { List handledList = resultList.stream() @@ -116,6 +117,31 @@ public class TourRunServiceImpl return new PageUtils(new ArrayList<>(), 0, pr.getPageSize(), pr.getPageNo()); } + @Override + public Map stat() { + Map resultMap = new HashMap<>(Constant.SCOPES.size()); + List resultList = resultList(); + if (CollectionUtils.isNotEmpty(resultList)) { + Map> scopeMap + = resultList.stream() + .collect(Collectors.groupingBy(jo -> jo.get("mcTypeUseScope").toString())); + for ( String scope: Constant.SCOPES) { + List jsonObjects = scopeMap.get(scope); + if ( CollectionUtils.isNotEmpty(jsonObjects)) { + resultMap.put(scope, jsonObjects.size()); + } + else { + resultMap.put(scope, 0); + } + } + return resultMap; + } + for ( String scope: Constant.SCOPES) { + resultMap.put(scope, 0); + } + return resultMap; + } + //https://openh5.aichezaixian.com/?token=XXX&imei=AAA&appKey=BBB&activeTab=CCC @Override public String h5(String tabType, String imei) { @@ -175,6 +201,39 @@ public class TourRunServiceImpl return formatter.format(new Date()); } + private List resultList() { + String token = token(); + + Map paramMap = paramMap(Method.LIST.getCode()); + + // 私有参数 + paramMap.put("access_token", token); + paramMap.put("target", properties.getTourRunAccount()); + // 计算签名 + String sign = ""; + try { + sign = SignUtils.signTopRequest(paramMap, properties.getAppSecret(), Constant.MD5); + paramMap.put("sign", sign); + } catch (IOException e) { + e.printStackTrace(); + } + //调用com/zilber/boot/module/vehicle/util/http/HttpUtils方法 + JSONObject jsonObject = sendPost(properties.getOpenapiUrl(), headerMap(), paramMap); + //初始化列表 +// List resultList = null; +// if ( jsonObject != null) { +// if ( !jsonObject.get("code").toString().equals("0")) +// { +// throw new ServiceException(jsonObject.get("message").toString()); +// } +// resultList = jsonObject.getList("result", JSONObject.class); +// } +// else { +// throw new ServiceException("列表获取失败"); +// } + return handleResult(jsonObject, JSONObject.class, "获取列表失败"); + } + /** * 构造并初始化部分参数的请求头map * @return map