|
|
|
@@ -9,6 +9,7 @@ import com.iformall.domain.po.WxCoupon; |
|
|
|
import com.iformall.domain.po.WxPark; |
|
|
|
import com.iformall.domain.vo.WxCouponOrderCarCVo; |
|
|
|
import com.iformall.enums.EnumCouponUnit; |
|
|
|
import com.iformall.exception.MallinkException; |
|
|
|
import com.iformall.service.park.ParkAdapterService; |
|
|
|
import com.iformall.service.park.entity.ParkCreatePayOrder; |
|
|
|
import com.iformall.service.park.entity.ParkNotifyPaid; |
|
|
|
@@ -16,13 +17,21 @@ import com.iformall.service.park.entity.ParkPaidNotifyResult; |
|
|
|
import com.iformall.service.park.entity.ParkStopFee; |
|
|
|
import com.iformall.service.park.impl.BaseParkService; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.slf4j.Logger; |
|
|
|
import org.slf4j.LoggerFactory; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
import java.util.Date; |
|
|
|
import java.util.HashMap; |
|
|
|
import java.util.Map; |
|
|
|
|
|
|
|
@Service |
|
|
|
public class BoLinkParkService extends BaseParkService implements ParkAdapterService { |
|
|
|
|
|
|
|
private final Logger logger = LoggerFactory.getLogger(this.getClass()); |
|
|
|
|
|
|
|
BoLinkUtil bolinkUtil = new BoLinkUtil(); |
|
|
|
|
|
|
|
@Override |
|
|
|
public ResultData parkInitConfig(WxPark park) throws Exception { |
|
|
|
// TODO Auto-generated method stub |
|
|
|
@@ -36,7 +45,7 @@ public class BoLinkParkService extends BaseParkService implements ParkAdapterSer |
|
|
|
|
|
|
|
@Override |
|
|
|
public String bindCar(Map<String, String> paramMap, WxPark park, WxCUserBasicInfo member) { |
|
|
|
return member.getId().toString(); |
|
|
|
return "bolink"; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
@@ -48,6 +57,7 @@ public class BoLinkParkService extends BaseParkService implements ParkAdapterSer |
|
|
|
return bolinkCarStopFee(paramMap, park,carNumber); |
|
|
|
} |
|
|
|
|
|
|
|
//https://doc.bolinkpaas.com/doc/126/ |
|
|
|
private ParkStopFee bolinkCarStopFee(Map<String, String> paramMap, WxPark park,String carNumber) { |
|
|
|
String params = park.getVendorParams(); |
|
|
|
JSONObject objParams = JSON.parseObject(params); |
|
|
|
@@ -59,17 +69,47 @@ public class BoLinkParkService extends BaseParkService implements ParkAdapterSer |
|
|
|
if (ret != null) { |
|
|
|
JSONObject retObj = JSON.parseObject(ret); |
|
|
|
JSONObject dataObj = retObj.getJSONObject(BoLinkUtil.BOLINK_DATA); |
|
|
|
if (dataObj.getIntValue(BoLinkUtil.BOLINK_STATE) == BoLinkUtil.BOLINK_SUCCESS) { |
|
|
|
//return new ResultData(dataObj); |
|
|
|
} else { |
|
|
|
//return new ResultData(ErrorCode.BOLINK_STOP_FEE_FAIL); |
|
|
|
if (null != dataObj) { |
|
|
|
if (dataObj.getIntValue(BoLinkUtil.BOLINK_STATE) == BoLinkUtil.BOLINK_SUCCESS) { |
|
|
|
String parkOrderId = dataObj.getString("order_id"); |
|
|
|
Long _createTime = dataObj.getLong("in_time"); |
|
|
|
Date inTime = new Date(_createTime); |
|
|
|
String duration = dataObj.getString("duration"); |
|
|
|
if (StringUtils.isBlank(duration)) { |
|
|
|
duration = ""; |
|
|
|
} |
|
|
|
String money = String.valueOf(dataObj.getDouble("money")); |
|
|
|
|
|
|
|
String appId = "wx0870f79235e513f7"; |
|
|
|
String payPath = "pages/park/park"; |
|
|
|
Map extraMap = new HashMap(); |
|
|
|
extraMap.put("union_id", unionId); |
|
|
|
extraMap.put("park_id", comid); |
|
|
|
extraMap.put("plate_number", carNumber); |
|
|
|
extraMap.put("money", money); |
|
|
|
extraMap.put("in_time", _createTime); |
|
|
|
extraMap.put("pay_url", "https://s.bolink.club"); |
|
|
|
extraMap.put("flag", "1"); |
|
|
|
|
|
|
|
String freeMinute = dataObj.getString("free_out_time"); |
|
|
|
return new ParkStopFee(parkOrderId,inTime,bolinkUtil.addTimeByStr(inTime,duration), |
|
|
|
String.valueOf(dataObj.getDouble("money")),appId,payPath,extraMap,null,"请支付后"+freeMinute+"分钟内离场"); |
|
|
|
} else { |
|
|
|
logger.error("bolinkCarStopFee error. paramMap: {} . bolinkResult: {}",JSON.toJSONString(paramMap),ret); |
|
|
|
String msg = retObj.getString("errmsg"); |
|
|
|
throw new MallinkException(ErrorCode.CYF_STOP_FEE_FAIL.getCode(), "停车费获取失败:"+msg); |
|
|
|
} |
|
|
|
}else { |
|
|
|
logger.error("bolinkCarStopFee error. paramMap: {} . bolinkResult: {}",JSON.toJSONString(paramMap),ret); |
|
|
|
throw new MallinkException(ErrorCode.CYF_STOP_FEE_FAIL.getCode(), "停车费获取失败:no result"); |
|
|
|
} |
|
|
|
} else { |
|
|
|
//return new ResultData(ErrorCode.BOLINK_STOP_FEE_FAIL); |
|
|
|
logger.error("bolinkCarStopFee error. paramMap: {} . bolinkResult: {}",JSON.toJSONString(paramMap),ret); |
|
|
|
throw new MallinkException(ErrorCode.CYF_STOP_FEE_FAIL.getCode(), "停车费获取失败:no result"); |
|
|
|
} |
|
|
|
return null; |
|
|
|
} |
|
|
|
|
|
|
|
//https://doc.bolinkpaas.com/doc/125/ |
|
|
|
@Override |
|
|
|
public ResultData useCoupon(Map<String, String> paramMap, WxPark park, WxCouponOrderCarCVo userCar,WxCoupon coupon,String carNumber) { |
|
|
|
String orderId = paramMap.get("orderId"); |
|
|
|
@@ -97,20 +137,22 @@ public class BoLinkParkService extends BaseParkService implements ParkAdapterSer |
|
|
|
JSONObject retObj = JSON.parseObject(ret); |
|
|
|
JSONObject dataObj = retObj.getJSONObject(BoLinkUtil.BOLINK_DATA); |
|
|
|
if (dataObj.getIntValue(BoLinkUtil.BOLINK_STATE) == BoLinkUtil.BOLINK_SUCCESS) { |
|
|
|
return new ResultData(dataObj); |
|
|
|
return new ResultData(); |
|
|
|
} else { |
|
|
|
return new ResultData(ErrorCode.CAR_DEDUCE_FEE_FAIL); |
|
|
|
logger.error("bolink useCoupon error. paramMap: {} . bolinkResult: {}",JSON.toJSONString(paramMap),ret); |
|
|
|
String msg = dataObj.getString("message"); |
|
|
|
return new ResultData(dataObj.getIntValue("state"), "泊链平台缴费通知车场接口失败:"+msg); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public ResultData getParkStatus(WxPark park) { |
|
|
|
return null; |
|
|
|
return new ResultData(); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public boolean ignoreUseCouponCache() { |
|
|
|
return false; |
|
|
|
return true; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
|