|
|
|
@@ -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(), "优免券领取失败"); |
|
|
|
} |
|
|
|
|