From fdeaff15619f5f2e851f74f7b5e2b203b157856d Mon Sep 17 00:00:00 2001
From: wang-hao-jie <1550036656@qq.com>
Date: 星期四, 09 十二月 2021 13:40:02 +0800
Subject: [PATCH] 违章记录
---
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/pc/StatisticController.java | 25 ++++--
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/StatisticScheduleImpl.java | 59 +++++++++-----
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/util/HaiKangPost.java | 112 ++++++++++++++++++++-------
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/OrderTaskController.java | 10 ++
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/DrivingRecordMapper.java | 3
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/IDrivingRecordService.java | 2
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/IDrivingRecordServiceImpl.java | 10 ++
pom.xml | 1
8 files changed, 163 insertions(+), 59 deletions(-)
diff --git a/pom.xml b/pom.xml
index e82edec..b5d0307 100644
--- a/pom.xml
+++ b/pom.xml
@@ -194,6 +194,7 @@
<artifactId>selenium-java</artifactId>
<version>${selenuim.version}</version>
</dependency>
+
</dependencies>
</dependencyManagement>
</project>
\ No newline at end of file
diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/OrderTaskController.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/OrderTaskController.java
index c048824..c63db75 100644
--- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/OrderTaskController.java
+++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/OrderTaskController.java
@@ -64,6 +64,9 @@
@Autowired
private DepartmentService departmentService;
+ @Autowired
+ private IEventLogService iEventLogService;
+
@RequestMapping(value = "/get/{id}", method = RequestMethod.GET)
@ApiOperation(value = "閫氳繃id鑾峰彇")
public Result<OrderTask> get(@PathVariable String id) {
@@ -270,6 +273,13 @@
}
}
iOrderTaskService.saveOrUpdate(orderTask);
+
+ Car car = iCarService.getById(orderTask.getCarId());
+ EventLog eventLog = new EventLog();
+ eventLog.setCarNo(car.getCarNo());
+ eventLog.setRefId(orderId);
+ eventLog.setType(6);//6:閰嶉�佸畬鎴�
+ iEventLogService.saveOrUpdate(eventLog);
return ResultUtil.success("娣诲姞鎴愬姛");
}
diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/pc/StatisticController.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/pc/StatisticController.java
index 578fa22..0efae0b 100644
--- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/pc/StatisticController.java
+++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/pc/StatisticController.java
@@ -13,6 +13,7 @@
import cn.exrick.xboot.your.service.IOrderTaskService;
import cn.exrick.xboot.your.util.HaiKangPost;
import cn.hutool.core.date.DateUtil;
+import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
@@ -45,6 +46,9 @@
@Autowired
private ICarService iCarService;
+
+ @Autowired
+ private HaiKangPost haiKangPost;
@RequestMapping(value = "/getIndex1", method = RequestMethod.GET)
@ApiOperation(value = "鑾峰彇棣栭〉鏁版嵁")
@@ -81,13 +85,16 @@
return new ResultUtil<Object>().setData(data.getRecords());
}
-// @RequestMapping(value = "/getCars", method = RequestMethod.GET)
-// @ApiOperation(value = "鑾峰彇杞﹁締淇℃伅")
-// public Result<Object> getCars() {
-// List<Car> list = iCarService.list();
-// String codes[] = new String[list.size()];
-//
-// HaiKangPost.findLatestGps()
-// return new ResultUtil<Object>().setData(data.getRecords());
-// }
+ @RequestMapping(value = "/getCars", method = RequestMethod.GET)
+ @ApiOperation(value = "鑾峰彇杞﹁締瀹氫綅淇℃伅")
+ public Result<Object> getCars() {
+ List<Car> list = iCarService.list();
+ String codes[] = new String[list.size()];
+
+ for(int i=0;i<list.size();i++){
+ codes[i] = list.get(i).getCode();
+ }
+ String latestGps = haiKangPost.findLatestGps(codes);
+ return new ResultUtil<Object>().setData(JSONUtil.parseObj(latestGps));
+ }
}
diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/DrivingRecordMapper.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/DrivingRecordMapper.java
index 248ce3e..9e530bc 100644
--- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/DrivingRecordMapper.java
+++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/DrivingRecordMapper.java
@@ -17,4 +17,7 @@
@Select("select min(mileage) from t_driving_record where user_id=#{userId}")
Integer minByUserId(String userId);
+
+ @Select("select sum(likes) from t_driving_record where user_id=#{userId}")
+ Integer sumLikeByUserId(String userId);
}
\ No newline at end of file
diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/StatisticScheduleImpl.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/StatisticScheduleImpl.java
index 4728a4c..d314e9b 100644
--- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/StatisticScheduleImpl.java
+++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/StatisticScheduleImpl.java
@@ -33,8 +33,11 @@
@Autowired
private ICustomerService iCustomerService;
+ @Autowired
+ private IAlarmService iAlarmService;
+
@Scheduled(cron="0 0 * * * ?")//姣忔櫄鍑屾櫒1鐐规墽琛�
- public void execute() throws IOException {
+ public void execute(){
List<User> all = userService.findAll();
for(User user:all){
Integer type2 = user.getType2();
@@ -51,49 +54,65 @@
Integer max = iDrivingRecordService.maxByUserId(user.getId());
Integer min = iDrivingRecordService.minByUserId(user.getId());
if(max==null||min==null){
- one.setSafeDriving(0);
- one.setDriving(0);
+ one.setSafeDriving(0);//瀹夊叏椹鹃┒閲岀▼
+ one.setDriving(0);//椹鹃┒閲岀▼
}else{
- one.setSafeDriving(max-min);
- one.setDriving(max-min);
+ one.setSafeDriving(max-min);//瀹夊叏椹鹃┒閲岀▼
+ one.setDriving(max-min);//椹鹃┒閲岀▼
}
QueryWrapper<DrivingRecord> wrapper2 = new QueryWrapper<>();
wrapper2.eq("user_id",user.getId());
int count = iDrivingRecordService.count(wrapper2);
- one.setOutCar(count);
+ one.setOutCar(count);//鍑鸿溅娆℃暟
+ one.setLikes(iDrivingRecordService.sumLikeByUserId(user.getId()));//鐐硅禐鏁�
+
+ QueryWrapper<Alarm> wrapper3 = new QueryWrapper<>();
+ wrapper3.eq("car_user_id",user.getId());
+ wrapper3.eq("type",1);
+ one.setFatigueDriving(iAlarmService.count(wrapper3));//鐤插姵椹鹃┒
+ wrapper3.eq("type",3);
+ one.setNoBelt(iAlarmService.count(wrapper3));//涓嶇郴瀹夊叏甯�
+ wrapper3.eq("type",4);
+ one.setSmoking(iAlarmService.count(wrapper3));//鎶界儫
+ wrapper3.eq("type",2);
+ one.setPhone(iAlarmService.count(wrapper3));//鎺ユ墦鐢佃瘽
}
//閰嶉�佸憳
if(type2==1){
QueryWrapper<OrderTask> wrapper2 = new QueryWrapper<>();
wrapper2.eq("user_id",user.getId());
int count = iOrderTaskService.count(wrapper2);
+ one.setSends(count);//閰嶉�佹鏁�
+
wrapper2.ne("status",0);
int count2 = iOrderTaskService.count(wrapper2);
- wrapper2.ne("level",0);
- wrapper2.gt("level",2);
- int count5 = iOrderTaskService.count(wrapper2);
- if(count2==0){
- one.setLikesRate(0);
- }else{
- int rate = (count5/count2)*100;
- one.setLikesRate(rate);
- }
-
- one.setSends(count);
- one.setSends2(count2);
+ one.setSends2(count2);//閫佽揪娆℃暟
QueryWrapper<Area> wrapper3 = new QueryWrapper<>();
wrapper3.eq("user_id",user.getId());
Area area = iAreaService.getOne(wrapper3);
-
if(area!=null){
QueryWrapper<Customer> wrapper4 = new QueryWrapper<>();
wrapper4.eq("area_id",area.getId());
int count3 = iCustomerService.count(wrapper4);
- one.setService(count3);
+ one.setService(count3);//鏈嶅姟鍟嗘埛鏁�
}
+
+ int i = iOrderTaskService.countLike();
+ one.setLikes(i);//鐐硅禐娆℃暟
+ int likeCount = iOrderTaskService.count();
+ if(likeCount==0){
+ one.setLikesRate(0);//鐐硅禐鐜�
+ }else{
+ one.setLikesRate((i*100)/likeCount);//鐐硅禐鐜�
+ }
+
+ QueryWrapper<Alarm> wrapper4 = new QueryWrapper<>();
+ wrapper4.eq("follow_user_id",user.getId());
+ wrapper4.eq("type",5);
+ one.setAbnormalOpen(iAlarmService.count(wrapper4));//寮傚父寮�鍚�
}
iUserStatisticService.saveOrUpdate(one);
diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/IDrivingRecordService.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/IDrivingRecordService.java
index 6643ca7..b2ff5d4 100644
--- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/IDrivingRecordService.java
+++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/IDrivingRecordService.java
@@ -14,4 +14,6 @@
Integer maxByUserId(String id);
Integer minByUserId(String id);
+
+ int sumLikeByUserId(String id);
}
\ No newline at end of file
diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/IDrivingRecordServiceImpl.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/IDrivingRecordServiceImpl.java
index db22ed2..d733a57 100644
--- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/IDrivingRecordServiceImpl.java
+++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/IDrivingRecordServiceImpl.java
@@ -33,4 +33,14 @@
public Integer minByUserId(String userId) {
return drivingRecordMapper.minByUserId(userId);
}
+
+ @Override
+ public int sumLikeByUserId(String userId) {
+ Integer i = drivingRecordMapper.sumLikeByUserId(userId);
+ if(i==null){
+ return 0;
+ }else{
+ return i;
+ }
+ }
}
\ No newline at end of file
diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/util/HaiKangPost.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/util/HaiKangPost.java
index 2dac030..e315f23 100644
--- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/util/HaiKangPost.java
+++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/util/HaiKangPost.java
@@ -1,37 +1,40 @@
package cn.exrick.xboot.your.util;
import java.math.BigDecimal;
-import java.util.HashMap;
-import java.util.Map;
+import java.util.*;
import cn.exrick.xboot.your.vo.FindHistoryGpsRequest;
import cn.exrick.xboot.your.vo.PlaybackURLsVo;
import cn.exrick.xboot.your.vo.PreviewURLsVo;
import cn.exrick.xboot.your.vo.TalkURLsVo;
+import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
-import com.hikvision.artemis.sdk.ArtemisHttpUtil;
-import com.hikvision.artemis.sdk.config.ArtemisConfig;
+import com.hikvision.artemis.sdk.Client;
+import com.hikvision.artemis.sdk.Request;
+import com.hikvision.artemis.sdk.Response;
+import com.hikvision.artemis.sdk.constant.Constants;
+import com.hikvision.artemis.sdk.enums.Method;
+import org.springframework.stereotype.Component;
/**
* 娴峰悍杞︽満鎺ュ彛
*/
+@Component
public class HaiKangPost {
/**
* STEP1锛氳缃钩鍙板弬鏁帮紝鏍规嵁瀹為檯鎯呭喌,璁剧疆host appkey appsecret 涓変釜鍙傛暟.
*/
- static {
- ArtemisConfig.host = "111.63.178.115:1443";// 骞冲彴闂ㄦ埛/nginx鐨処P鍜岀鍙o紙蹇呴』浣跨敤https鍗忚锛宧ttps绔彛榛樿涓�443锛�
- ArtemisConfig.appKey = "28156526"; // 绉橀挜appkey
- ArtemisConfig.appSecret = "MNkyjHuids4XxFONSOaL";// 绉橀挜appSecret
- }
/**
* STEP2锛氳缃甇penAPI鎺ュ彛鐨勪笂涓嬫枃
*/
private static final String ARTEMIS_PATH = "/artemis";
+ private static final String HOST = "111.63.178.115:1443";
+ private static final String APP_KEY = "28156526";
+ private static final String APP_SECRET = "MNkyjHuids4XxFONSOaL";
//鏍规嵁杞﹁締缂栧彿鍙婃椂娈佃幏鍙栧巻鍙插畾浣嶄俊鎭�
- public static String findHistoryGps(FindHistoryGpsRequest findHistoryGpsRequest){
+ public String findHistoryGps(FindHistoryGpsRequest findHistoryGpsRequest){
String findHistoryGpsDataApi = ARTEMIS_PATH +"/api/rtsm/v1/gps/findHistoryGps";
Map<String,String> path = new HashMap<String,String>(2){
{
@@ -39,12 +42,12 @@
}
};
String body= JSONUtil.toJsonStr(findHistoryGpsRequest);
- String result = ArtemisHttpUtil.doPostStringArtemis(path,body,null,null,"application/json");
+ String result = doPostStringArtemis(path,body,null,null,"application/json");
return result;
}
//鏌ヨ鎸囧畾杞﹁締缂栧彿鐨勬渶鏂板畾浣�
- public static String findLatestGps(String[] code){
+ public String findLatestGps(String[] code){
String findHistoryGpsDataApi = ARTEMIS_PATH +"/api/rtsm/v1/gps/findLatestGps";
Map<String,String> path = new HashMap<String,String>(2){
{
@@ -52,12 +55,12 @@
}
};
String body= JSONUtil.toJsonStr(code);
- String result = ArtemisHttpUtil.doPostStringArtemis(path,body,null,null,"application/json");
+ String result = doPostStringArtemis(path,body,null,null,"application/json");
return result;
}
//鑾峰彇鐩戞帶鐐归瑙堝彇娴乁RL
- public static String previewURLs(PreviewURLsVo previewURLsVo){
+ public String previewURLs(PreviewURLsVo previewURLsVo){
String findHistoryGpsDataApi = ARTEMIS_PATH +"/api/video/v1/cameras/previewURLs";
Map<String,String> path = new HashMap<String,String>(2){
{
@@ -65,12 +68,12 @@
}
};
String body= JSONUtil.toJsonStr(previewURLsVo);
- String result = ArtemisHttpUtil.doPostStringArtemis(path,body,null,null,"application/json");
+ String result = doPostStringArtemis(path,body,null,null,"application/json");
return result;
}
//鑾峰彇鐩戞帶鐐瑰洖鏀惧彇娴乁RL
- public static String playbackURLs(PlaybackURLsVo playbackURLsVo){
+ public String playbackURLs(PlaybackURLsVo playbackURLsVo){
String findHistoryGpsDataApi = ARTEMIS_PATH +"/api/video/v1/cameras/playbackURLs";
Map<String,String> path = new HashMap<String,String>(2){
{
@@ -78,12 +81,12 @@
}
};
String body= JSONUtil.toJsonStr(playbackURLsVo);
- String result = ArtemisHttpUtil.doPostStringArtemis(path,body,null,null,"application/json");
+ String result = doPostStringArtemis(path,body,null,null,"application/json");
return result;
}
//璇煶瀵硅
- public static String talkURLs(TalkURLsVo talkURLsVo){
+ public String talkURLs(TalkURLsVo talkURLsVo){
String findHistoryGpsDataApi = ARTEMIS_PATH +"/api/video/v1/cameras/talkURLs";
Map<String,String> path = new HashMap<String,String>(2){
{
@@ -91,12 +94,12 @@
}
};
String body= JSONUtil.toJsonStr(talkURLsVo);
- String result = ArtemisHttpUtil.doPostStringArtemis(path,body,null,null,"application/json");
+ String result = doPostStringArtemis(path,body,null,null,"application/json");
return result;
}
//鎸変簨浠剁被鍨嬭幏鍙栦簨浠惰闃呬俊鎭�
- public static String getTopicInfo(){
+ public String getTopicInfo(){
String findHistoryGpsDataApi = ARTEMIS_PATH +"/api/common/v1/event/getTopicInfo";
Map<String,String> path = new HashMap<String,String>(2){
{
@@ -108,20 +111,69 @@
map.put("eventTypes",eventTypes);
String body= JSONUtil.toJsonStr(map);
System.out.println(body);
- String result = ArtemisHttpUtil.doPostStringArtemis(path,body,null,null,"application/json");
+ String result = doPostStringArtemis(path,body,null,null,"application/json");
return result;
}
- public static void main(String[] args) {
- getTopicInfo();
+ public String doPostStringArtemis(Map<String, String> path, String body, Map<String, String> querys, String accept, String contentType) {
+ String httpSchema = (String)path.keySet().toArray()[0];
+ if (httpSchema != null && !StrUtil.isEmpty(httpSchema)) {
+ String responseStr = null;
-// FindHistoryGpsRequest findHistoryGpsRequest = new FindHistoryGpsRequest();
-// findHistoryGpsRequest.setVehicleIndexCode("b279d865eabe497db465eb2f4d2cc87d");
-// findHistoryGpsRequest.setPageNo(1);
-// findHistoryGpsRequest.setPageSize(20);
-// findHistoryGpsRequest.setBeginTime("2021-11-25T03:10:01.000+08:00");
-// findHistoryGpsRequest.setEndTime("2021-11-25T12:10:01.000+08:00");
-// System.out.println(findHistoryGps(findHistoryGpsRequest));
+ try {
+ Map<String, String> headers = new HashMap();
+ if (StrUtil.isNotBlank(accept)) {
+ headers.put("Accept", accept);
+ } else {
+ headers.put("Accept", "*/*");
+ }
+
+ if (StrUtil.isNotBlank(contentType)) {
+ headers.put("Content-Type", contentType);
+ } else {
+ headers.put("Content-Type", "application/text;charset=UTF-8");
+ }
+
+ Request request = new Request(Method.POST_STRING, httpSchema + HOST, (String)path.get(httpSchema), APP_KEY, APP_SECRET, Constants.DEFAULT_TIMEOUT);
+ request.setHeaders(headers);
+ request.setQuerys(querys);
+ request.setStringBody(body);
+ Response response = Client.execute(request);
+ responseStr = getResponseResult2(response);
+ } catch (Exception var10) {
+ }
+
+ return responseStr;
+ } else {
+ throw new RuntimeException("http鍜宧ttps鍙傛暟閿欒httpSchema: " + httpSchema);
+ }
+ }
+
+ private String getResponseResult2(Response response) {
+ String responseStr = null;
+ int statusCode = response.getStatusCode();
+ if (!String.valueOf(statusCode).startsWith("2") && !String.valueOf(statusCode).startsWith("3")) {
+ String msg = response.getErrorMessage();
+ responseStr = response.getBody();
+ } else {
+ responseStr = response.getBody();
+ }
+
+ return responseStr;
+ }
+
+
+ public static void main(String[] args) {
+ //getTopicInfo();
+
+ FindHistoryGpsRequest findHistoryGpsRequest = new FindHistoryGpsRequest();
+ findHistoryGpsRequest.setVehicleIndexCode("b279d865eabe497db465eb2f4d2cc87d");
+ findHistoryGpsRequest.setPageNo(1);
+ findHistoryGpsRequest.setPageSize(20);
+ findHistoryGpsRequest.setBeginTime("2021-11-25T03:10:01.000+08:00");
+ findHistoryGpsRequest.setEndTime("2021-11-25T12:10:01.000+08:00");
+ HaiKangPost haiKangPost = new HaiKangPost();
+ System.out.println(haiKangPost.findHistoryGps(findHistoryGpsRequest));
// String code[] = {"b279d865eabe497db465eb2f4d2cc87d"};
// System.out.println(findLatestGps(code));
--
Gitblit v1.9.1