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