Просмотр исходного кода

fix car pay

release_toaliyun_real
lin 3 лет назад
Родитель
Сommit
47a06d4c51
2 измененных файлов: 71 добавлений и 11 удалений
  1. +48
    -11
      mallinkService/src/main/java/com/iformall/service/park/impl/fute/FuteParkService.java
  2. +23
    -0
      mallinkService/src/main/java/com/iformall/service/park/impl/fute/FuteUtil.java

+ 48
- 11
mallinkService/src/main/java/com/iformall/service/park/impl/fute/FuteParkService.java Просмотреть файл

@@ -128,19 +128,56 @@ public class FuteParkService extends BaseParkService implements ParkAdapterServi
if (null == valueMap) {
return new ResultData(ErrorCode.COUPON_IS_EMPTY.getCode(),"当前停车券没有关联停车场优惠券配置。"+coupon.getTitle());
}
//String orderNo = paramMap.get("parkOrderId");
String couponNo = valueMap.get("couponNo");
if (StringUtils.isBlank(couponNo)) {
return new ResultData(ErrorCode.COUPON_IS_EMPTY.getCode(),"当前停车券没有关联停车场优惠券配置[couponNo]。"+coupon.getTitle());
String reduceType = valueMap.get("reduceType");
if (StringUtils.isBlank(reduceType)) {
return new ResultData(ErrorCode.COUPON_IS_EMPTY.getCode(),"当前停车券未设置停车场优惠券配置参数[减免类型]。"+coupon.getTitle());
}
String ret = fute.useCoupon(park, couponNo, carNumber);
//打折登陆验证
logger.info("fute useCoupon result:"+ret);
JSONObject retObj = JSON.parseObject(ret);
if (retObj.getIntValue("state") == 1){
return new ResultData();
if ((!"1".equals(reduceType)) && (!"2".equals(reduceType))) {
return new ResultData(ErrorCode.COUPON_IS_EMPTY.getCode(),"当前停车券设置停车场优惠券配置参数[减免类型]值非法。"+coupon.getTitle());
}
String reduceValueStr = valueMap.get("reduceValue");
if (StringUtils.isBlank(reduceValueStr)) {
return new ResultData(ErrorCode.COUPON_IS_EMPTY.getCode(),"当前停车券未设置停车场优惠券配置参数[减免数值]。"+coupon.getTitle());
}
Integer reduceValue = 0;
try {
reduceValue = Integer.parseInt(reduceValueStr);
}catch(Exception e) {
return new ResultData(ErrorCode.COUPON_IS_EMPTY.getCode(),"当前停车券设置停车场优惠券配置参数[减免数值]值非法。"+coupon.getTitle());
}
boolean isTimeCash = false;
if ("1".equals(reduceType)) {
isTimeCash = true;
}
String createRet = fute.createCoupon(park, carNumber, isTimeCash, reduceValue);
logger.info("fute createCoupon result:"+createRet);
JSONObject createRetObj = JSON.parseObject(createRet);
if (createRetObj.getIntValue("state") == 1){
String codeUrl = createRetObj.getString("code_url");
if (StringUtils.isBlank(codeUrl)) {
return new ResultData(ErrorCode.COUPON_IS_EMPTY.getCode(),"当前用户使用福特优惠券失败。福特返回二维码URL为空");
}
String couponNO = codeUrl.substring(codeUrl.lastIndexOf("/")+1);
if (couponNO.contains("?")) {
couponNO = couponNO.substring(0,couponNO.indexOf("?"));
}
if (StringUtils.isBlank(couponNO)) {
return new ResultData(ErrorCode.COUPON_IS_EMPTY.getCode(),"当前用户使用福特优惠券失败。福特返回二维码URL非法");
}
String ret = fute.useCoupon(park, couponNO, carNumber);
//打折登陆验证
logger.info("fute useCoupon result:"+ret);
JSONObject retObj = JSON.parseObject(ret);
if (retObj.getIntValue("state") == 1){
return new ResultData();
}else {
return new ResultData(ErrorCode.COUPON_IS_EMPTY.getCode(),"当前用户使用福特优惠券失败。"+retObj.getString("errmsg"));
}
}else {
return new ResultData(ErrorCode.COUPON_IS_EMPTY.getCode(),"当前用户使用福特优惠券失败。"+retObj.getString("errmsg"));
return new ResultData(ErrorCode.COUPON_IS_EMPTY.getCode(),"当前用户使用福特优惠券失败。"+createRetObj.getString("errmsg"));
}
}


+ 23
- 0
mallinkService/src/main/java/com/iformall/service/park/impl/fute/FuteUtil.java Просмотреть файл

@@ -52,6 +52,7 @@ import java.util.TimeZone;
public class FuteUtil {

public static final String QUERY_PRICE = "http://s1.appykt.com/zld/parkapi/query_price";
public static final String COUPON_CREATE = "http://s1.appykt.com/zld/createTicketByApi";
public static final String COUPON_USE = "http://s1.appykt.com/zld/useTicket";
public static final String NOTIFY_PAID = "http://s1.appykt.com/zld/parkapi/pay_notify";

@@ -83,6 +84,28 @@ public class FuteUtil {
return ProcBussiness(QUERY_PRICE, param,vp.getString("signkey"));
}
/**
* 创建优惠券
*/
public String createCoupon(WxPark wxPark,String carNumber,boolean isTimeCash,Integer cashValue) {
String vendroParams = wxPark.getVendorParams();
JSONObject vp = JSON.parseObject(vendroParams);
Map param = new HashMap();
param.put("loginuin", vp.getString("loginuin"));//商家账号
param.put("md5pass", vp.getString("md5pass"));//商家登录密码进行MD5 加密
param.put("codeType", 0);//0:动态码 1:固定码
param.put("ticketCount", 1);
if (isTimeCash) {
param.put("type", 3);
}else {
param.put("type", 5);
}
param.put("reduce", cashValue);
param.put("parkid", wxPark.getParkingId());
log.info("fute createCoupon :" + JSON.toJSONString(param));
return ProcBussiness(COUPON_CREATE, param, vp.getString("signkey"));
}
/**
* 使用优惠券
**/


Загрузка…
Отмена
Сохранить