From 1ed1d9d7be22c7202467897e305a4f47998bf3d5 Mon Sep 17 00:00:00 2001 From: winter Date: Thu, 14 Mar 2024 16:59:36 +0800 Subject: [PATCH] fix --- ...xCarHaiKangWeiShiV2CallBackController.java | 214 ++++++++++++++++++ .../java/com/iformall/enums/EnumCarCmd.java | 7 +- .../HaiKangWeiShiParkService.java | 1 - 3 files changed, 220 insertions(+), 2 deletions(-) create mode 100644 mallinkCallback/src/main/java/com/iformall/controller/callback/car/haikangweishi/WxCarHaiKangWeiShiV2CallBackController.java diff --git a/mallinkCallback/src/main/java/com/iformall/controller/callback/car/haikangweishi/WxCarHaiKangWeiShiV2CallBackController.java b/mallinkCallback/src/main/java/com/iformall/controller/callback/car/haikangweishi/WxCarHaiKangWeiShiV2CallBackController.java new file mode 100644 index 000000000..6150c4346 --- /dev/null +++ b/mallinkCallback/src/main/java/com/iformall/controller/callback/car/haikangweishi/WxCarHaiKangWeiShiV2CallBackController.java @@ -0,0 +1,214 @@ +package com.iformall.controller.callback.car.haikangweishi; + +import com.iformall.common.Result; +import com.iformall.controller.callback.car.WxParkCallBackBaseController; +import com.iformall.enums.EnumCarCmd; +import com.iformall.enums.EnumCarVendor; +import com.iformall.service.*; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.HashMap; +import java.util.Map; + +/** + * @author: furunxin + * @Date: 2020/7/6 15:29 + * @Description: 海康威视回调接口 + */ + +@Slf4j +@RestController +@RequestMapping("/hkwsv2CarCallback") +public class WxCarHaiKangWeiShiV2CallBackController extends WxParkCallBackBaseController { + + @Autowired + WxParkService wxParkService; + + @Autowired + WxCarCmdLogService wxCarCmdLogService; + + @Autowired + WxCUserService wxCUserService; + + @Autowired + WxCUserCarService wxCUserCarService; + + @Autowired + WxCouponSendService wxCouponSendService; + + @Autowired + WxCarPayRecordService wxCarPayRecordService; + + @Autowired + WxCUserBasicInfoService wxCUserBasicInfoService; + + /** + * 入场事件: + +{ + "method":"OnEventNotify", + "params":{ + "ability":"vehicle_pass_in_event", + "eventType":771760131, + "events":[ + { + "crossTime":"2021-07-01T17:29:27+08:00", + "crossType":1, + "eventIndexCode":"74b64514-4888-4f42-8cf7-22fed37d5dc8", + "eventType":3, + "resource":{ + "deviceId":"3715149265421676", + "deviceSerial":"R20150664", + "direction":0, + "entranceId":"2063867554789264", + "entranceName":"前门1", + "parkId":"2064637172217744", + "parkName":"车库", + "resType":"roadway", + "roadWayId":"2064272439342992", + "roadWayName":"前门入口" + }, + "stopType":11, + "vehicle":{ + "plateColor":12, + "plateNo":"苏A23658", + "plateType":8, + "vehicleColor":12, + "vehicleType":12 + } + } + ], + "sendTime":"2021-07-01T17:29:29.315+08:00" + } +} + +3 出场事件: + +{ + "method":"OnEventNotify", + "params":{ + "ability":"vehicle_pass_out_event", + "eventType":771760134, + "events":[ + { + "crossTime":"2021-07-01T17:31:17+08:00", + "crossType":1, + "eventIndexCode":"a5464f46-ba7b-4059-b657-5ebc2f3774a9", + "eventType":4, + "resource":{ + "deviceId":"370573791833424", + "deviceSerial":"9b1037b5-8a95-4657-81f0-edf27f71d92f", + "direction":1, + "entranceId":"2063867554789264", + "entranceName":"前门1", + "parkId":"2064637172217744", + "parkName":"车库", + "resType":"roadway", + "roadWayId":"2064664422217616", + "roadWayName":"前门出口test" + }, + "stopType":11, + "vehicle":{ + "plateColor":12, + "plateNo":"苏A23658", + "plateType":8, + "vehicleColor":12, + "vehicleType":12 + } + } + ], + "sendTime":"2021-07-01T17:31:17.337+08:00" + } +} + +4 图片事件: +{ + "method":"OnEventNotify", + "params":{ + "ability":"vehicle_pass_out_event", + "eventType":771760144, + "events":[ + { + "crossTime":"2021-07-01T17:31:17+08:00", + "crossType":1, + "eventIndexCode":"a5464f46-ba7b-4059-b657-5ebc2f3774a9", + "eventType":4, + "resource":{ + "deviceId":"370573791833424", + "deviceSerial":"9b1037b5-8a95-4657-81f0-edf27f71d92f", + "direction":1, + "entranceId":"2063867554789264", + "entranceName":"前门1", + "parkId":"2064637172217744", + "parkName":"车库", + "resType":"roadway", + "roadWayId":"2064664422217616", + "roadWayName":"前门出口test" + }, + "stopType":11, + "vehicle":{ + "plateColor":12, + "plateNo":"苏A23658", + "plateNoPicUrl":"62834762", + "plateType":8, + "vehicleColor":12, + "vehiclePicUrl":"62834762", + "vehicleType":12 + } + } + ], + "sendTime":"2021-07-01T17:31:19.659+08:00" + } +} + * @param paramMap + * @return + * + * 这个接口需要你们实现的时候规定下: +1、POST格式, +2、接口返回参数JSON格式:{errcode:0, errmsg: "success",data:null} +3、接口建议接收到过车事件,立即返回接收成功 + * + */ + @PostMapping(value = "/notify") + public Map notify(@RequestBody Map paramMap) { + Map retMap = new HashMap(); + try { + log.info("["+getIpAddr()+"] hkwsv2CarCallback notify: " + paramMap.toString()); + + Map params = (Map)paramMap.get("params"); + String eventType = params.get("eventType").toString(); + Result result = null; + if ("771760131".equals(eventType)) { + //解析车易付参数 + result = super.parkInCallBack(EnumCarVendor.CAR_HAIKANGWEISHI_V2, EnumCarCmd.CAR_HAIKANGWEISHI_V2_CALLBACK_PARK_IN, paramMap); + }else if ("771760134".equals(eventType)) { + result = super.parkOutCallBack(EnumCarVendor.CAR_HAIKANGWEISHI_V2, EnumCarCmd.CAR_HAIKANGWEISHI_V2_CALLBACK_PARK_OUT, paramMap); + } + + int errcode = 0; + String msg = "success"; + if (null != result) { + if (result.code != Result.SUCCESS) { + errcode = result.code; + msg = result.message; + } + }else { + errcode = Result.ERROR; + msg = "no result.eventType["+eventType+"]"; + } + retMap.put("errcode", errcode); + retMap.put("errmsg", msg); + } catch(Exception e) { + retMap.put("errcode", Result.ERROR); + retMap.put("errmsg", "notify error."+e.getLocalizedMessage()); + log.error("haikangweishiv2 notity error "+paramMap.toString(),e); + } + retMap.put("data", null); + return retMap; + } +} diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumCarCmd.java b/mallinkService/src/main/java/com/iformall/enums/EnumCarCmd.java index baeb243db..484a25088 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumCarCmd.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumCarCmd.java @@ -54,7 +54,12 @@ public enum EnumCarCmd { CAR_DAHUA_CALLBACK_PARK_IN(644,"大华进场通知"), CAR_DAHUA_CALLBACK_PARK_OUT(645,"大华出场通知"), CAR_DAHUA_CALLBACK_UNBIND(646,"大华解绑车牌通知"), - CAR_DAHUA_CALLBACK_PAID(647,"大华支付通知") + CAR_DAHUA_CALLBACK_PAID(647,"大华支付通知"), + + CAR_HAIKANGWEISHI_V2_CALLBACK_PARK_IN(648,"海康v2进场通知"), + CAR_HAIKANGWEISHI_V2_CALLBACK_PARK_OUT(649,"海康v2出场通知"), + CAR_HAIKANGWEISHI_V2_CALLBACK_UNBIND(650,"海康v2解绑车牌通知"), + CAR_HAIKANGWEISHI_V2_CALLBACK_PAID(651,"海康v2支付通知"), ; public static EnumCarCmd getEnum(Integer code) { diff --git a/mallinkService/src/main/java/com/iformall/service/park/impl/haikangweishi/HaiKangWeiShiParkService.java b/mallinkService/src/main/java/com/iformall/service/park/impl/haikangweishi/HaiKangWeiShiParkService.java index 9f7fcc19a..119b434a9 100644 --- a/mallinkService/src/main/java/com/iformall/service/park/impl/haikangweishi/HaiKangWeiShiParkService.java +++ b/mallinkService/src/main/java/com/iformall/service/park/impl/haikangweishi/HaiKangWeiShiParkService.java @@ -153,7 +153,6 @@ public class HaiKangWeiShiParkService extends BaseParkService implements ParkAda String _createTime = attribute.getString("entranceTime");//计费时间,格式为“yyyy-MM-dd HH:mi:ss” String _endTime = attribute.getString("costTime");//离场时间,格式为“yyyy-MM-dd HH:mi:ss” String payPath = ""; - Integer freeMinute = (Integer)park.getVendorParamsByKey("freeMinute"); return new ParkStopFee(parkOrderId,haikang.utcToLocal(_createTime),haikang.utcToLocal(_endTime), String.valueOf(attribute.getDouble("shouldCost")),appId,payPath,null,null,"0元请勿使用优惠券,无法退回。支付后15分钟内离场"); }