Kaynağa Gözat

[停车][新增]:尚安停车接口及停简单接口整理

release_toaliyun_real
Stormeye Wu 6 yıl önce
ebeveyn
işleme
7246fa7ba5
6 değiştirilmiş dosya ile 100 ekleme ve 16 silme
  1. +44
    -5
      mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java
  2. +2
    -0
      mallinkService/src/main/java/com/iformall/common/ErrorCode.java
  3. +1
    -0
      mallinkService/src/main/java/com/iformall/enums/EnumCarVendor.java
  4. +37
    -0
      mallinkService/src/main/java/com/iformall/enums/EnumCouponUnit.java
  5. +9
    -2
      mallinkService/src/main/java/com/iformall/utils/car/ShangAnUtil.java
  6. +7
    -9
      mallinkService/src/main/java/com/iformall/utils/car/TJDUtil.java

+ 44
- 5
mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java Dosyayı Görüntüle

@@ -15,12 +15,14 @@ import com.iformall.exception.MallinkException;
import com.iformall.service.*;
import com.iformall.utils.car.DaHuaUtil;
import com.iformall.utils.car.ETCPUtil;
import com.iformall.utils.car.ShangAnUtil;
import com.iformall.utils.car.TJDUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.apache.tomcat.jni.Error;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -698,8 +700,11 @@ public class WxCarController extends BaseController {
* 优免券领取
* 优免券不可退
*/
@ApiOperation(value = "停车券使用", notes = "ETCP:={\"etcpToken\":\"string(ETCP专用)\",\"carNumber\":\"string\",\"couponOrderId\"=\"String\"},输出\n{}\n" +
"TJD:{\"carNumber\":\"string\",\"tradeId\":\"string\",\"accountId\":\"string\",\"couponOrderId\":\"string\"}")
@ApiOperation(value = "停车券使用",
notes = "ETCP:={\"etcpToken\":\"string(ETCP专用)\",\"carNumber\":\"string\",\"couponOrderId\"=\"String\"},输出\n{}\n" +
"TJD:{\"carNumber\":\"string\",\"tradeId\":\"string\",\"accountId\":\"string\",\"couponOrderId\":\"string\"}" +
"ShangAn:{\"carNumber\":\"string\",\"couponOrderId\":\"string\"}"
)
@PostMapping("/getCoupon")
public ResultData getCoupon(@RequestBody Map<String, String> paramMap) {
/// 1, get mall's park
@@ -731,7 +736,7 @@ public class WxCarController extends BaseController {
userCar = list.get(0);
}

if (park.getVendorType() == EnumCarVendor.CAR_ETCP.getCode()) {
if (park.getVendorType().equals(EnumCarVendor.CAR_ETCP.getCode())) {
String etcpToken = paramMap.get("etcpToken");
if (StringUtils.isBlank(etcpToken)) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "etcpToken为空");
@@ -783,7 +788,7 @@ public class WxCarController extends BaseController {
} else {
return new ResultData(ErrorCode.ETCP_QUAN_SEND_FAIL.getCode(), retObj.getString("message"));
}
} else if (park.getVendorType() == EnumCarVendor.CAR_TJD.getCode()) {
} else if (park.getVendorType().equals(EnumCarVendor.CAR_TJD.getCode())) {
String tradeId = paramMap.get("tradeId");
String accountId = paramMap.get("accountId");
if (StringUtils.isBlank(tradeId)) {
@@ -803,14 +808,48 @@ public class WxCarController extends BaseController {
String key = objParams.getString(TJDUtil.TJD_ACCOUNT_KEY);
String version = objParams.getString(TJDUtil.TJD_VERSION);

String amount = "";
if (coupon.getUnit().equals(EnumCouponUnit.MONEY.getCode())) {
amount = coupon.getPriceStr();
} else {
amount = String.valueOf(coupon.getPrice()* 60);
}

String ret = tjd.deductionForDetail(url, partner, key, version,
tradeId, accountId, userCar, coupon);
tradeId, accountId, String.valueOf(userCar.getId()),
coupon.getUnit().toString(), amount);
JSONObject retObj = JSON.parseObject(ret);
if (retObj.getString(TJDUtil.TJD_RETURN_CODE).equalsIgnoreCase(EnumTJDCode.SUCCESS.getMessage())) {
return new ResultData();
} else {
return new ResultData(ErrorCode.TJD_DEDUCE_FEE_FAIL.getCode(), "停车费抵扣失败");
}
} else if (park.getVendorType().equals(EnumCarVendor.CAR_SHANGAN.getCode())) {
WxCoupon coupon = couponService.getById(userCar.getCouponId());
if (coupon == null) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "券为空");
}
String params = park.getVendorParams();
JSONObject objParams = JSON.parseObject(params);
String url = objParams.getString(ShangAnUtil.SHANGAN_URL);
String key = objParams.getString(ShangAnUtil.SHANGAN_KEY);
String parkNumber = objParams.getString(ShangAnUtil.SHANGAN_PARK_NUMBER);

String couponModelId = coupon.getUnit().toString();
String position = "";
if (coupon.getUnit().equals(EnumCouponUnit.MONEY.getCode())) {
position = coupon.getPrice().toString();
} else {
position = String.valueOf(coupon.getPrice()* 60);
}

String ret = ShangAnUtil.couponSend(url, key, parkNumber, couponModelId, userCar.getExpiredTime(), carNumber, position);
JSONObject retObj = JSON.parseObject(ret);
if (retObj.getString(ShangAnUtil.SHANGAN_STATUS).equalsIgnoreCase(ShangAnUtil.SHANGAN_SUCCESS)) {
return new ResultData();
} else {
return new ResultData(ErrorCode.SHANGAN_COUPON_FAIL.getCode(), retObj.getString(ShangAnUtil.SHANGAN_ERROR_CODE));
}
}
return new ResultData(ErrorCode.CAR_VENDOR_NOT_SUPPORT.getCode(), "优免券领取失败");
}


+ 2
- 0
mallinkService/src/main/java/com/iformall/common/ErrorCode.java Dosyayı Görüntüle

@@ -156,6 +156,8 @@ public enum ErrorCode{
TJD_STOP_FEE_FAIL(2062, "TJD停车费失败"),
TJD_DEDUCE_FEE_FAIL(2063, "TJD停车费抵扣失败"),

SHANGAN_COUPON_FAIL(2070, "优惠券失败"),


/**
* 游戏


+ 1
- 0
mallinkService/src/main/java/com/iformall/enums/EnumCarVendor.java Dosyayı Görüntüle

@@ -10,6 +10,7 @@ public enum EnumCarVendor {
CAR_ETCP(1, "ETCP"),
CAR_TJD(2, "TJD"),
CAR_DAHUA(3, "DAHUA"),
CAR_SHANGAN(4, "ShangAn"),
;

public static EnumCarVendor getEnum(Integer code) {


+ 37
- 0
mallinkService/src/main/java/com/iformall/enums/EnumCouponUnit.java Dosyayı Görüntüle

@@ -0,0 +1,37 @@
package com.iformall.enums;

/**
* Created by Stormeye on 2018/08/09.
*/
public enum EnumCouponUnit {

// 0:rmb分 1:小时
MONEY(0, "单位:分(人民币)"),
HOUR(1, "单位;小时")
;

public static EnumCouponUnit getEnum(Integer code) {
for (EnumCouponUnit value : values()) {
if (value.getCode().equals(code)) {
return value;
}
}
return null;
}

private Integer code;
private String message;

EnumCouponUnit(Integer code, String message) {
this.code = code;
this.message = message;
}

public Integer getCode() {
return code;
}

public String getMessage() {
return message;
}
}

+ 9
- 2
mallinkService/src/main/java/com/iformall/utils/car/ShangAnUtil.java Dosyayı Görüntüle

@@ -28,16 +28,23 @@ import java.util.Map;
* 尚安停车
*/
public class ShangAnUtil {

private final static Logger logger = LoggerFactory.getLogger(ShangAnUtil.class);

public static final String SHANGAN_URL = "url";
public static final String SHANGAN_KEY = "key";
public static final String SHANGAN_PARK_NUMBER = "parkNumber";

public static final String KEY = "NzMFFDDJDIFACACCM2zAezDz";

public static final String PARK_NUMBER = "p190829183435";

public static final String URL = "http://www.p-share.com/shangan-yhq/web/api/outcoupon";

public static final String SUCCESS = "success";
public static final String SHANGAN_STATUS = "status";
public static final String SHANGAN_SUCCESS = "success";
public static final String SHANGAN_FAIL = "fail";
public static final String SHANGAN_ERROR_CODE = "errorCode";


public static final SimpleDateFormat dateInFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");



+ 7
- 9
mallinkService/src/main/java/com/iformall/utils/car/TJDUtil.java Dosyayı Görüntüle

@@ -3,8 +3,7 @@ package com.iformall.utils.car;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.iformall.domain.po.WxCoupon;
import com.iformall.domain.po.WxCouponOrder;
import com.iformall.enums.EnumCouponUnit;
import com.iformall.utils.MapUtil;
import org.apache.http.Consts;
import org.apache.http.HttpEntity;
@@ -378,7 +377,7 @@ public class TJDUtil {
public static String deductionForDetail(
String url, String partner, String key, String version,
String tradeId, String accountId,
WxCouponOrder couponOrder, WxCoupon coupon) {
String couponOrderId, String couponType, String reduceAmount) {
// 为指定订单抵扣停车费,如果此时车辆已经出场,返回isSuccess错误码为3,停简单系统不再接收此笔抵扣信息,对方系统 需要给用户发起退款。
String service = "parkhub.order.deductionForDetail";
Map<String, String> paramMap = MapUtil.getOrderMap();
@@ -388,17 +387,16 @@ public class TJDUtil {

JSONArray detailArr = new JSONArray();
JSONObject detailObj = new JSONObject();
detailObj.put(TJD_OUT_TRADE_NO, String.valueOf(couponOrder.getId()));
detailObj.put(TJD_OUT_TRADE_NO, couponOrderId);
detailObj.put(TJD_TYPE, TJD_TYPE_COUPON);
detailObj.put(TJD_CHANNEL, "2204");
String memo = "会员优惠券";
if (coupon.getUnit().equals(0)) {
detailObj.put(TJD_COUPON_TYPE, "0");
detailObj.put(TJD_AMOUNT, coupon.getPriceStr());
detailObj.put(TJD_COUPON_TYPE, couponType);
if (couponType.equals(String.valueOf(EnumCouponUnit.MONEY.getCode()))) {
detailObj.put(TJD_AMOUNT, reduceAmount);
memo += "-金额";
} else {
detailObj.put(TJD_COUPON_TYPE, "1");
detailObj.put(TJD_MINUTES, String.valueOf(coupon.getPrice()*60));
detailObj.put(TJD_MINUTES, reduceAmount);
memo += "-时长";
}
detailObj.put(TJD_MEMO, memo);


Yükleniyor…
İptal
Kaydet