Browse Source

fix cyf

release_toaliyun_real
xiaohanzi 5 years ago
parent
commit
4c591eaffa
4 changed files with 52 additions and 11 deletions
  1. +1
    -1
      mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java
  2. +10
    -3
      mallinkService/src/main/java/com/iformall/service/park/impl/cyf/CYFParkCallbackService.java
  3. +39
    -3
      mallinkService/src/main/java/com/iformall/service/park/impl/cyf/CYFParkService.java
  4. +2
    -4
      mallinkService/src/main/java/com/iformall/utils/car/CYFUtil.java

+ 1
- 1
mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java View File

@@ -161,7 +161,7 @@ public class WxCarController extends BaseController {
try {
vendorPersonId = parkFactory.getParkService(park.getVendorType()).bindCar(paramMap, park, member);
if(StringUtils.isBlank(vendorPersonId)) {
return new ResultData(Result.ERROR,"厂商会员ID未返回");
return new ResultData(Result.ERROR,"厂商绑定车牌会员ID未返回");
}
return parkHelper.bindCar(paramMap, park, member.getId(),vendorPersonId);
} catch (Exception e) {


+ 10
- 3
mallinkService/src/main/java/com/iformall/service/park/impl/cyf/CYFParkCallbackService.java View File

@@ -1,6 +1,7 @@
package com.iformall.service.park.impl.cyf;

import java.text.ParseException;
import java.util.Date;
import java.util.Map;

import org.springframework.stereotype.Service;
@@ -67,14 +68,20 @@ public class CYFParkCallbackService extends BaseParkService implements ParkCallB

@Override
public ParkNotifyParam parseUnbindNoticyParam(Object param) {
// TODO Auto-generated method stub
return null;
}

@Override
public ParkNotifyParam parsePaidNoticyParam(Object param) {
// TODO Auto-generated method stub
return null;
Map vo = (Map) param;
ParkNotifyParam p = new ParkNotifyParam();
p.setCarNumber((String) vo.get("plate"));
p.setParkId(String.valueOf(vo.get("parkId")));
p.setParkOrderId((String) vo.get("orderNo"));
p.setSynId((String) vo.get("orderNo"));
p.setFee(vo.get("fee").toString());
p.setPayTime((Date) vo.get("payTime"));
return p;
}




+ 39
- 3
mallinkService/src/main/java/com/iformall/service/park/impl/cyf/CYFParkService.java View File

@@ -19,6 +19,7 @@ import com.iformall.domain.po.WxCoupon;
import com.iformall.domain.po.WxPark;
import com.iformall.domain.vo.WxCouponOrderCarCVo;
import com.iformall.enums.EnumCarVendor;
import com.iformall.enums.EnumCouponUnit;
import com.iformall.exception.MallinkException;
import com.iformall.service.park.ParkAdapterService;
import com.iformall.service.park.impl.BaseParkService;
@@ -66,8 +67,7 @@ public class CYFParkService extends BaseParkService implements ParkAdapterServic
String ret = cyf.registerCar(token,park.getNumber(),feeGroupId,park.getParkingId(),carNumber,null,member.getNickName());
JSONObject retObj = JSON.parseObject(ret);
if (retObj.getIntValue("result") == 1){
//TODO 返回vendorPersonId
return null;
return retObj.get("localPersonId").toString();
}else {
logger.error("cyfBindCar error. paramMap: {} . cyfResult: {}",JSON.toJSONString(paramMap),ret);
String msg = retObj.getString("strError");
@@ -128,9 +128,45 @@ public class CYFParkService extends BaseParkService implements ParkAdapterServic
}
}

/**
* 优惠券支付流程:(1):调取openapi/getFee路径获取当前停车费,入参:plate,parkingId,token
(2):调用地址:http://wechat.cheyifu2016.com/fm-pay/#/transit?encodeURIComponent('orderNo=123&couponFee=2&actualFee=20')
注: 详细参考接口文档参数
* @param token
* @param orderNo
* @param couponFee
* @param actualFee
* @return
*/
@Override
public ResultData useCoupon(Map<String, String> paramMap, WxPark park, WxCouponOrderCarCVo userCar,WxCoupon coupon,String carNumber) throws Exception{
return new ResultData();
String params = park.getVendorParams();
JSONObject objParams = JSON.parseObject(params);
String token = objParams.getString("token");
//先获取停车费,然后再提交停车费
String ret = cyf.getCarStopFee(token,park.getParkingId(),carNumber);
JSONObject retObj = JSON.parseObject(ret);
if (retObj.getIntValue("result") == 1){
String orderId = retObj.getString("orderId");
if (StringUtils.isBlank(orderId)) {
logger.error("cyfCarStopFee error. paramMap: {} . cyfResult: {}",JSON.toJSONString(paramMap),ret);
return new ResultData(ErrorCode.CYF_STOP_FEE_FAIL.getCode(), "车易付停车费查询未返回订单编号:"+orderId);
}
if (!coupon.getUnit().equals(EnumCouponUnit.MONEY.getCode())) {
return new ResultData(ErrorCode.CYF_STOP_FEE_FAIL.getCode(), "车易付只能支持金额券,不能使用小时券:"+orderId);
}
int fee = retObj.getInteger("fee");
int amount = Integer.parseInt(coupon.getPriceStr());
Map retmap = new HashMap();
retmap.put("orderNo", orderId);
retmap.put("couponFee", amount);
retmap.put("actualFee", fee-amount);
return new ResultData();
}else {
logger.error("cyfCarStopFee error. paramMap: {} . cyfResult: {}",JSON.toJSONString(paramMap),ret);
String msg = retObj.getString("strError");
return new ResultData(ErrorCode.CYF_STOP_FEE_FAIL.getCode(), "停车费获取失败:"+msg);
}
}

@Override


+ 2
- 4
mallinkService/src/main/java/com/iformall/utils/car/CYFUtil.java View File

@@ -54,8 +54,8 @@ public class CYFUtil {
//解绑车辆
public static final String UNBIND_CAR = "http://oepn.cheyifu2016.com:8892/openapi/personCar/delete";
//上报缴费接口
//优惠券缴费接口
public static final String COUPON_FEE = "http://oepn.cheyifu2016.com:8892/openapi/couponFee";


@@ -140,8 +140,6 @@ public class CYFUtil {
return result;
}



private static String Proc(String url, Map<String, Object> paramMap) {
CloseableHttpClient httpClient = HttpClients.createDefault();



Loading…
Cancel
Save