xiaohanzi 5 лет назад
Родитель
Сommit
1cf205317a
3 измененных файлов: 99 добавлений и 22 удалений
  1. +1
    -1
      mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java
  2. +51
    -19
      mallinkService/src/main/java/com/iformall/service/park/impl/jieshun/JieShunParkService.java
  3. +47
    -2
      mallinkService/src/main/java/com/iformall/service/park/impl/jieshun/JieShunUtil.java

+ 1
- 1
mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java Просмотреть файл

@@ -277,7 +277,7 @@ public class WxCarController extends BaseController {
"TJD:{\"carNumber\":\"string\",\"tradeId\":\"string\",\"accountId\":\"string\",\"couponOrderId\":\"string\"}\n" +
"ShangAn:{\"carNumber\":\"string\",\"couponOrderId\":\"string\"}\n" +
"BoLink:{\"carNumber\":\"string\",\"orderId\":\"string\",\"couponOrderId\":\"string\"}\n" +
"jieshun或者其他:{\"carNumber\":\"string\",\"orderId\":\"string\",\"couponOrderId\":\"string\",\"parkOrderId\":\"string\"}\n}"
"jieshun或者其他:{\"carNumber\":\"string\",\"couponOrderId\":\"string\",\"parkOrderId\":\"string\"}\n}"
)
@PostMapping("/getCoupon")
public ResultData getCoupon(@RequestBody Map<String, String> paramMap) {


+ 51
- 19
mallinkService/src/main/java/com/iformall/service/park/impl/jieshun/JieShunParkService.java Просмотреть файл

@@ -194,7 +194,7 @@ public class JieShunParkService extends BaseParkService implements ParkAdapterSe
}

/**
* 使用停车券。 先获取停车券,再使用
* 使用3.8打折方案,3.9有限制如果领券了之后未使用,不能再次领券。导致出现异常之后,用户永远无法使用优惠券
* @return
*/
@Override
@@ -211,33 +211,65 @@ public class JieShunParkService extends BaseParkService implements ParkAdapterSe
if (null == valueMap) {
return new ResultData(ErrorCode.COUPON_IS_EMPTY.getCode(),"当前停车券没有关联停车场优惠券配置。"+coupon.getTitle());
}
String orderNo = paramMap.get("parkOrderId");
//String orderNo = paramMap.get("parkOrderId");
String planNo = valueMap.get("planNo");
String ret = jieshun.getCoupon(park, planNo,userCar.getCUserPhone(), getCacheToken(park));
logger.info("jieshun getCoupon result:"+ret);
if (StringUtils.isBlank(planNo)) {
return new ResultData(ErrorCode.COUPON_IS_EMPTY.getCode(),"当前停车券没有关联停车场优惠券配置[planNo]。"+coupon.getTitle());
}
//String ret = jieshun.getCoupon(park, planNo,userCar.getCUserPhone(), getCacheToken(park));
//打折登陆验证
String ret = jieshun.verifyuser(park, getCacheToken(park));
logger.info("jieshun verifyuser result:"+ret);
JSONObject retObj = JSON.parseObject(ret);
if (retObj.getIntValue("resultCode") == 0){
JSONArray couponArrays = retObj.getJSONArray("dataItems");
if (null != couponArrays && couponArrays.size() > 0 ) {
JSONObject coupoo = couponArrays.getJSONObject(0).getJSONObject("attributes");
String couponNo = coupoo.getString("couponsNo");
String rret = jieshun.useCoupon(park, couponNo, orderNo, getCacheToken(park));
logger.info("jieshun useCoupon[couponOrderId:"+userCar.getId()+";jieshunOrderNo:"+orderNo+"] result:"+rret);
JSONObject rretObj = JSON.parseObject(rret);
if (rretObj.getIntValue("resultCode") == 0){
return new ResultData();
JSONArray verfyArrays = retObj.getJSONArray("dataItems");
if (null != verfyArrays && verfyArrays.size() > 0 ) {
JSONObject verfy = verfyArrays.getJSONObject(0).getJSONObject("attributes");
String userId = verfy.getString("userId");
//查询门店下打折方案
String queryPlanRet = jieshun.querySalePlan(park, getCacheToken(park), userId);
logger.info("jieshun querySalePlan result:"+queryPlanRet);
JSONObject queryPlantRetObj = JSON.parseObject(queryPlanRet);
if (queryPlantRetObj.getIntValue("resultCode") == 0){
JSONArray planArrays = queryPlantRetObj.getJSONArray("dataItems");
if (null != planArrays && planArrays.size() > 0 ) {
boolean hasPlan = false;
for (int i = 0 ; i < planArrays.size(); i++) {
JSONObject plan = planArrays.getJSONObject(i);
String planId = plan.getJSONObject("attributes").getString("planId");
if (planNo.equals(planId)) {
hasPlan = true;
break;
}
}
if (!hasPlan) {
return new ResultData(ErrorCode.CYF_STOP_FEE_FAIL.getCode(),"当前优惠券配置的捷顺编号无效,请联系管理员。"+coupon.getTitle());
}
//使用打折方案
String executeRet = jieshun.executediscount(park, planNo, userId, carNumber, getCacheToken(park));
logger.info("jieshun executediscount result:"+executeRet);
JSONObject executeRetObj = JSON.parseObject(executeRet);
if (executeRetObj.getIntValue("resultCode") == 0){
return new ResultData();
}else {
return new ResultData(executeRetObj.getIntValue("resultCode"),"当前用户使用捷顺停打折方案失败。"+executeRetObj.getString("message"));
}
}else {
return new ResultData(ErrorCode.CYF_STOP_FEE_FAIL.getCode(),"捷顺查询门店未查询到打折信息,请联系管理员。"+userCar.getcUserId());
}
}else {
return new ResultData(rretObj.getIntValue("resultCode"),"当前用户使用捷顺停车券失败。"+rretObj.getString("message"));
logger.error("jieshun querySalePlan error. paramMap: {} . jieshunResult: {}",JSON.toJSONString(paramMap),queryPlanRet);
String msg = queryPlantRetObj.getString("message");
return new ResultData(queryPlantRetObj.getIntValue("resultCode"), "捷顺查询门店打折方案失败:"+msg);
}
}else {
return new ResultData(ErrorCode.CYF_STOP_FEE_FAIL.getCode(),"当前用户未领用到捷顺停车券。"+userCar.getcUserId());
return new ResultData(ErrorCode.CYF_STOP_FEE_FAIL.getCode(),"捷顺门店账号登陆失败,请联系管理员。"+userCar.getcUserId());
}
}else {
logger.error("jieshun getCoupon error. paramMap: {} . cyfResult: {}",JSON.toJSONString(paramMap),ret);
logger.error("jieshun verifyuser error. paramMap: {} . jieshunResult: {}",JSON.toJSONString(paramMap),ret);
String msg = retObj.getString("message");
return new ResultData(retObj.getIntValue("resultCode"), "当前用户领用到捷顺停车券失败:"+msg);
}


+ 47
- 2
mallinkService/src/main/java/com/iformall/service/park/impl/jieshun/JieShunUtil.java Просмотреть файл

@@ -68,6 +68,10 @@ public class JieShunUtil {
public static final String GET_COUPON = "http://www.jslife.com.cn/jsaims/as";
public static final String COUPON_USE = "http://www.jslife.com.cn/jsaims/as";
public static final String VERIFY_USER = "http://www.jslife.com.cn/jsaims/as";
public static final String QUERY_PLAN = "http://www.jslife.com.cn/jsaims/as";
public static final String PLAN_EXECUTE = "http://www.jslife.com.cn/jsaims/as";

/**
* @description UTC时间转化为本地时间
@@ -160,6 +164,48 @@ public class JieShunUtil {
return ProcBussiness(QUERY_ORDER, wxPark.getParkId(), map, token,vp.getString("version"),vp.getString("signkey"));
}
/**
* 打折登陆验证
*/
public String verifyuser(WxPark wxPark,String token) {
String vendroParams = wxPark.getVendorParams();
JSONObject vp = JSON.parseObject(vendroParams);
Map param = new HashMap();
param.put("userCode", vp.get("loginUser"));//商户编号
param.put("password", vp.get("loginPassword"));//优惠券编号
Map map = generateMap("3c.discount.verifyuser",param);
log.info("jieshun verifyuser :" + JSON.toJSONString(map));
return ProcBussiness(VERIFY_USER, wxPark.getParkId(), map, token,vp.getString("version"),vp.getString("signkey"));
}
/**
* 查询门店打折方案
*/
public String querySalePlan(WxPark wxPark,String token,String userId) {
String vendroParams = wxPark.getVendorParams();
JSONObject vp = JSON.parseObject(vendroParams);
Map param = new HashMap();
param.put("userId", userId);//商户编号
Map map = generateMap("3c.discount.querysaleplan",param);
log.info("jieshun querySalePlan :" + JSON.toJSONString(map));
return ProcBussiness(QUERY_PLAN, wxPark.getParkId(), map, token,vp.getString("version"),vp.getString("signkey"));
}
/**
* 使用打折方案
*/
public String executediscount(WxPark wxPark,String planId,String userId,String carNumber,String token) {
String vendroParams = wxPark.getVendorParams();
JSONObject vp = JSON.parseObject(vendroParams);
Map param = new HashMap();
param.put("planId", planId);//商户编号
param.put("userId", userId);//优惠券编号
param.put("carOrCardNo", handleCarNumber(carNumber));//优惠券编号
Map map = generateMap("3c.discount.executediscount",param);
log.info("jieshun executediscount :" + JSON.toJSONString(map));
return ProcBussiness(PLAN_EXECUTE, wxPark.getParkId(), map, token,vp.getString("version"),vp.getString("signkey"));
}
/**
* 获取优惠券
@@ -194,8 +240,7 @@ public class JieShunUtil {
return ProcBussiness(COUPON_USE, wxPark.getParkId(), map, token,vp.getString("version"),vp.getString("signkey"));
}
/*token认证登陆**/
private static String ProcLogin(String cid,String user,String password) {
String url = TOKEN_URL +"?cid="+cid+"&usr="+user+"&psw="+password;
// ArrayList<NameValuePair> list = new ArrayList<NameValuePair>();


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