diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/parking/common/bean/QcyunParkCouponDTO.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/parking/common/bean/QcyunParkCouponDTO.java index 1b5230d55..13f701c36 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/parking/common/bean/QcyunParkCouponDTO.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/parking/common/bean/QcyunParkCouponDTO.java @@ -20,5 +20,17 @@ public class QcyunParkCouponDTO { // 站点名称 private String stationName; + /** + * 机构ID(分配) + */ + private String orgId; + + // 车场ID private String parkId; + + // 优惠券派发流水,该字段写入接入方的UUId + private String grantSerial; + + // 停车流水, 标识具体某次停车事件, 需保证该停车场下唯一 + private String parkingSerial; } diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/parking/service/QcyunsService.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/parking/service/QcyunsService.java index 10883b11a..ff6e2787d 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/parking/service/QcyunsService.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/parking/service/QcyunsService.java @@ -6,20 +6,6 @@ import com.jsowell.thirdparty.parking.common.bean.QcyunParkCouponDTO; * 后亭慢充道闸service */ public interface QcyunsService { - /** - * 获取车辆信息接口 - * 根据车牌号获取车辆信息(临时车,月租车,储值车) - */ - String getCarInfo(String parkId, String plateNumber); - - /** - * 商家优惠 - * @param plate - * @param grantSerial - * @param parkingSerial - * @return - */ - boolean createDiscountCoupon(String plate, String grantSerial, String parkingSerial); /** * 发放停车券 diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/parking/service/impl/QcyunsServiceImpl.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/parking/service/impl/QcyunsServiceImpl.java index 15858957a..0e94bd980 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/parking/service/impl/QcyunsServiceImpl.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/parking/service/impl/QcyunsServiceImpl.java @@ -30,27 +30,45 @@ public class QcyunsServiceImpl implements QcyunsService { final static String secretKey = "K9OGNA7CIY8N5GXD8HF3WVDMEZNFKL3F"; /** - * 获取车辆信息接口 - * 根据车牌号获取车辆信息(临时车,月租车,储值车) - * - * @param parkId 车场ID - * @param plateNumber 车牌号 + * 发放停车券 */ @Override - public String getCarInfo(String parkId, String plateNumber) { + public String issuanceOfParkingTickets(QcyunParkCouponDTO dto) { + // 1. 查询车辆信息 + String carInfo = getCarInfo(dto); + if (StringUtils.isBlank(carInfo)) { + return null; + } + TempCarInfo tempCarInfo = JSON.parseObject(carInfo, TempCarInfo.class); + if (tempCarInfo == null) { + return null; + } + dto.setParkingSerial(String.valueOf(tempCarInfo.getRecordId())); + // 2. 创建停车券 + boolean discountCoupon = createDiscountCoupon(dto); + + return null; + } + + /** + * 获取车辆信息接口 + * 根据车牌号获取车辆信息(临时车,月租车,储值车) + */ + private String getCarInfo(QcyunParkCouponDTO dto) { + String parkId = dto.getStationId(); if (StringUtils.isBlank(parkId)) { parkId = "11609"; } // 业务参数 Map data = Maps.newHashMap(); - data.put("ParkId", parkId); - data.put("PlateNumber", plateNumber); + data.put("parkId", parkId); + data.put("plate", dto.getPlateNumber()); // 组装请求体 ParkingCommonParam param = new ParkingCommonParam(); param.setService(ServiceApiCmd.CarInfo); param.setVersion("01"); param.setMsgId(UUID.randomUUID().toString()); - param.setOrgId("BTTEST01"); + param.setOrgId(dto.getOrgId()); param.setData(data); // 生成sign ParkingUtil.generateAndSetSign(param, secretKey); @@ -66,25 +84,23 @@ public class QcyunsServiceImpl implements QcyunsService { /** * 商家减免 - * @return */ - @Override - public boolean createDiscountCoupon(String plate, String grantSerial, String parkingSerial) { + private boolean createDiscountCoupon(QcyunParkCouponDTO dto) { // 业务参数 Map data = Maps.newHashMap(); - data.put("parkingSerial", parkingSerial); - data.put("grantSerial", grantSerial); // 对接方唯一id - data.put("plate", plate); // 车牌号 - data.put("storeName", ""); // 商家名称 + data.put("parkingSerial", dto.getParkingSerial()); + data.put("grantSerial", dto.getGrantSerial()); // 对接方唯一id + data.put("plate", dto.getPlateNumber()); // 车牌号 + data.put("storeName", dto.getStationName()); // 商家名称 data.put("type", "1"); // 优惠类型: 1.金额, 2.时长, 3.全免 data.put("value", String.valueOf(10 * 100)); // 当type=1时单位为分;当type=2时单位为分钟 - data.put("parkId", ""); // + data.put("parkId", dto.getParkId()); // // 组装请求体 ParkingCommonParam param = new ParkingCommonParam(); param.setService(ServiceApiCmd.DiscountCreate); param.setVersion("01"); param.setMsgId(UUID.randomUUID().toString()); - param.setOrgId("BTTEST01"); + param.setOrgId(dto.getOrgId()); param.setData(data); // 生成sign ParkingUtil.generateAndSetSign(param, secretKey); @@ -97,22 +113,4 @@ public class QcyunsServiceImpl implements QcyunsService { return false; } - /** - * 发放停车券 - */ - @Override - public String issuanceOfParkingTickets(QcyunParkCouponDTO dto) { - String parkId = ""; - String plateNumber = dto.getPlateNumber(); - // 1. 查询车辆信息 - String carInfo = getCarInfo(parkId, plateNumber); - if (StringUtils.isBlank(carInfo)) { - return null; - } - TempCarInfo tempCarInfo = JSON.parseObject(carInfo, TempCarInfo.class); - // 2. 创建停车券 - boolean discountCoupon = createDiscountCoupon(plateNumber, tempCarInfo.getRecordId() + "", tempCarInfo.getRecordId() + ""); - - return null; - } }