深圳停车平台

This commit is contained in:
Guoqs
2025-02-12 16:34:08 +08:00
parent 28b84152c0
commit cbff91cada
3 changed files with 46 additions and 50 deletions

View File

@@ -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;
}

View File

@@ -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);
/**
* 发放停车券

View File

@@ -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<String, String> 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<String, String> 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;
}
}