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

[车场Callback][新增]:支持车场回调

release_toaliyun_real
Stormeye.Wu 7 лет назад
Родитель
Сommit
bcf3586b07
5 измененных файлов: 368 добавлений и 283 удалений
  1. +1
    -0
      mallinkAdmin/src/main/java/com/simple/config/ShiroConfig.java
  2. +323
    -0
      mallinkAdmin/src/main/java/com/simple/controller/WxCarCallBackController.java
  3. +0
    -275
      mallinkAdmin/src/main/java/com/simple/controller/WxCarController.java
  4. +35
    -0
      mallinkService/src/main/java/com/simple/enums/EnumETCPCode.java
  5. +9
    -8
      mallinkService/src/main/java/com/simple/utils/ETCPUtil.java

+ 1
- 0
mallinkAdmin/src/main/java/com/simple/config/ShiroConfig.java Просмотреть файл

@@ -122,6 +122,7 @@ public class ShiroConfig {
filterChainDefinitionMap.put("/swagger-resources/**","anon");
filterChainDefinitionMap.put("/webjars/**","anon");
filterChainDefinitionMap.put("/wxMsgCallback/**","anon");
filterChainDefinitionMap.put("/carCallback/**","anon");
// filterChainDefinitionMap.put("/role/**", "corsFilter,token");
filterChainDefinitionMap.put("/**", "corsFilter,token,authc");
// filterChainDefinitionMap.put("/**", "anon");


+ 323
- 0
mallinkAdmin/src/main/java/com/simple/controller/WxCarCallBackController.java Просмотреть файл

@@ -0,0 +1,323 @@
package com.simple.controller;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.simple.common.ErrorCode;
import com.simple.common.Result;
import com.simple.common.ResultData;
import com.simple.domain.po.*;
import com.simple.enums.EnumCarCmd;
import com.simple.enums.EnumCarVendor;
import com.simple.service.WxCUserCarService;
import com.simple.service.WxCarCmdLogService;
import com.simple.service.WxMerchantService;
import com.simple.service.WxParkService;
import com.simple.utils.ETCPUtil;
import com.simple.utils.TJDCarUtil;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

@RestController
@RequestMapping("/carCallback")
public class WxCarCallBackController extends BaseController
{
private Logger logger = Logger.getLogger(WxCarCallBackController.class);

ETCPUtil etcp = new ETCPUtil();

TJDCarUtil tjd = new TJDCarUtil();

@Autowired
WxParkService wxParkService;

@Autowired
WxCUserCarService wxCUserCarService;

@Autowired
WxMerchantService wxMerchantService;

@Autowired
WxCarCmdLogService wxCarCmdLogService;

/**
* ETCP 车辆入场通知
* {
* "synId": "4ebd80ff-cfcf-462a-94cb-727e9fa9547c",
* "plateNumber": "渝 ATX061",
* "parkName": "ETCP 智慧停车场",
* "parkId": "1",
* "entranceTime": "2017-08-20 12:59:54",
* "userType": "76",
* "pushTime": "2017-08-20 12:59:57",
* "fixParkingId": "U7",
* "remainingDays": "11"
* }
*/
@RequestMapping(value = "/etcpParkInCallback")
public Result etcpParkInCallback(@RequestBody Map<String,String> paramMap) {
logger.info("etcpParkInCallback: " + paramMap.toString());
String etcpParkId = paramMap.get("parkId");
WxPark parkQ = new WxPark();
parkQ.setVendorType(EnumCarVendor.CAR_ETCP.getCode());
parkQ.setParkId(etcpParkId);
WxPark park = wxParkService.getByObj(parkQ);
if (park == null) {
logger.error("etcpParkInCallback: ETCP车场未找到"+ etcpParkId);
return new Result(ErrorCode.CAR_PARK_NOT_FOUND.getCode(), "ETCP车场未找到"+ etcpParkId);
}

Date currentDate = new Date();
WxCarCmdLog wxCarCmdLog = new WxCarCmdLog();
wxCarCmdLog.setTenantId(park.getTenantId());
wxCarCmdLog.setVendorType(EnumCarVendor.CAR_ETCP.getCode());
wxCarCmdLog.setCmdType(EnumCarCmd.CAR_ETCP_CALLBACK_PARK_IN.getCode());
wxCarCmdLog.setCmdJson(JSON.toJSONString(paramMap));
wxCarCmdLog.setCreateDate(currentDate);
wxCarCmdLog.setUpdateDate(currentDate);
try {
wxCarCmdLogService.saveOrUpdate(wxCarCmdLog);
} catch (Exception e) {
logger.error("etcpParkInCallback: 入库错误 "+ paramMap.toString());
return new Result(ErrorCode.DB_FAIL.getCode(), "入库错误"+paramMap.toString());
}

// TODO 发起 营销 -- 短信
return new Result(0, "ok");
}

/**
* ETCP 车辆出场通知
* {
* "synId": "fd92f645-880e-4c2a-9d7d-7081a2488181",
* "plateNumber": "渝 ATX061",
* "parkName": "ETCP 智慧停车场",
* "parkId": "1",
* "entranceTime": "2017-08-17 18:44:19",
* "userType": "76",
* "pushTime": "2017-08-20 11:57:51",
* "exitTime": "2017-08-19 12:07:19",
* "stayedTime": 148980,
* "receivableFee": 0,
* "paidServiceFee": 0,
* "fixParkingId": "U7",
* "remainingDays": "12"
* }
*/
@RequestMapping(value = "/etcpParkOutCallback")
public Result etcpParkOutCallback(@RequestParam Map<String,String> paramMap) {
logger.info("etcpParkOutCallback: " + paramMap.toString());
String etcpParkId = paramMap.get("parkId");
WxPark parkQ = new WxPark();
parkQ.setVendorType(EnumCarVendor.CAR_ETCP.getCode());
parkQ.setParkId(etcpParkId);
WxPark park = wxParkService.getByObj(parkQ);
if (park == null) {
logger.error("etcpParkInCallback: ETCP车场未找到 "+ etcpParkId);
return new Result(ErrorCode.CAR_PARK_NOT_FOUND.getCode(), "ETCP车场未找到"+ etcpParkId);
}

Date currentDate = new Date();
WxCarCmdLog wxCarCmdLog = new WxCarCmdLog();
wxCarCmdLog.setTenantId(park.getTenantId());
wxCarCmdLog.setVendorType(EnumCarVendor.CAR_ETCP.getCode());
wxCarCmdLog.setCmdType(EnumCarCmd.CAR_ETCP_CALLBACK_PARK_OUT.getCode());
wxCarCmdLog.setCmdJson(JSON.toJSONString(paramMap));
wxCarCmdLog.setCreateDate(currentDate);
wxCarCmdLog.setUpdateDate(currentDate);
try {
wxCarCmdLogService.saveOrUpdate(wxCarCmdLog);
} catch (Exception e) {
logger.error("etcpParkInCallback: 入库错误 "+ paramMap.toString());
return new Result(ErrorCode.DB_FAIL.getCode(), "入库错误"+paramMap.toString());
}

// TODO 发起 营销 -- 短信
return new Result(0, "ok");
}

/**
* ETCP 车辆解绑通知
* {
* "plateNumber": "渝 ATX061",
* "time": "2017-08-20 11:57:51"
* }
*/
@RequestMapping(value = "/etcpUnbindCarCallBack")
public Result etcpUnbindCarCallBack(@RequestParam Map<String,String> paramMap) {
logger.info("etcpUnbindCarCallBack: " + paramMap.toString());
String carNumber = paramMap.get("plateNumber");

// TODO how to get the parkId

Date currentDate = new Date();
WxCarCmdLog wxCarCmdLog = new WxCarCmdLog();
wxCarCmdLog.setVendorType(EnumCarVendor.CAR_ETCP.getCode());
wxCarCmdLog.setCmdType(EnumCarCmd.CAR_ETCP_CALLBACK_UNBIND.getCode());
wxCarCmdLog.setCmdJson(JSON.toJSONString(paramMap));
wxCarCmdLog.setCreateDate(currentDate);
wxCarCmdLog.setUpdateDate(currentDate);
try {
wxCarCmdLogService.saveOrUpdate(wxCarCmdLog);
} catch (Exception e) {
logger.error("etcpParkInCallback: 入库错误 "+ paramMap.toString());
return new Result(ErrorCode.DB_FAIL.getCode(), "入库错误"+paramMap.toString());
}

WxCUserCar userCarQ = new WxCUserCar();
userCarQ.setVendorType(EnumCarVendor.CAR_ETCP.getCode());
userCarQ.setCarNumber(carNumber);
// 数据库里删除,保持同步
try {
wxCUserCarService.deleteByObj(userCarQ);
} catch (Exception e) {
logger.error(e.getMessage());
}
// 营销 - 短信
return new Result(0, "ok");
}

/**
* ETCP 主动支付结果通知
* {
* "plateNumber": "渝 ATX061",
* "orderId": "fd92f645-880e-4c2a-9d7d-7081a2488181",
* "fee": 7.65,
* "paidServiceFee": 0.07,
* "coupon": 0,
* "time": "2017-08-20 11:57:51"
* }
*/
@RequestMapping(value = "/etcpPaidCallback")
public Result etcpPaidCallback(@RequestParam Map<String,String> paramMap) {
logger.info("etcpPaidCallback: " + paramMap.toString());
String carNumber = paramMap.get("plateNumber");

// TODO how to get the parkId

Date currentDate = new Date();
WxCarCmdLog wxCarCmdLog = new WxCarCmdLog();
wxCarCmdLog.setVendorType(EnumCarVendor.CAR_ETCP.getCode());
wxCarCmdLog.setCmdType(EnumCarCmd.CAR_ETCP_CALLBACK_PAY_MANUAL.getCode());
wxCarCmdLog.setCmdJson(JSON.toJSONString(paramMap));
wxCarCmdLog.setCreateDate(currentDate);
wxCarCmdLog.setUpdateDate(currentDate);
try {
wxCarCmdLogService.saveOrUpdate(wxCarCmdLog);
} catch (Exception e) {
logger.error("etcpParkInCallback: 入库错误 "+ paramMap.toString());
return new Result(ErrorCode.DB_FAIL.getCode(), "入库错误"+paramMap.toString());
}

// 营销 - 短信
return new Result(0, "ok");
}


/**
* TJD 车辆入场通知
* {
* "tradeId": "5836b8b52ada463ebc6199579f029565",
* "outCarId": "45454545454",
* "carNum": "京A45413",
* "carNumColor ": "blue",
* "inDt": "20170319202020",
* "parkName": "测试停车场",
* "parkId": "5836b8b52ada463ebc6199579f029561",
* "lon": "74.000272",
* "lat": "159.768703",
* "wLon": "123.523032",
* "wLat": "35.430735",
* "payUrl": "http://prep.tingjiandan.com/tcweixin/letter/prePay/payInPark.html?prePayType=16&channel=10001",
* "canFindCar": "0"
* }
*/
@RequestMapping(value = "/tjdParkInCallback")
public Map tjdParkInCallback(@RequestParam Map<String,String> paramMap) {
logger.info("tjdParkInCallback: " + paramMap.toString());
Map map = new HashMap();


String tjdParkId = paramMap.get("parkId");

WxPark parkQ = new WxPark();
parkQ.setVendorType(EnumCarVendor.CAR_TJD.getCode());
parkQ.setParkId(tjdParkId);
WxPark park = wxParkService.getByObj(parkQ);
if (park == null) {
logger.error("tjdParkInCallback: 停简单车场未找到"+ tjdParkId);
map.put("isSuccess", "0");
map.put("errorMsg", "停简单车场未找到"+ tjdParkId);
return map;
}

Date currentDate = new Date();
WxCarCmdLog wxCarCmdLog = new WxCarCmdLog();
wxCarCmdLog.setTenantId(park.getTenantId());
wxCarCmdLog.setVendorType(EnumCarVendor.CAR_TJD.getCode());
wxCarCmdLog.setCmdType(EnumCarCmd.CAR_ETCP_CALLBACK_PARK_IN.getCode());
wxCarCmdLog.setCmdJson(JSON.toJSONString(paramMap));
wxCarCmdLog.setCreateDate(currentDate);
wxCarCmdLog.setUpdateDate(currentDate);
try {
wxCarCmdLogService.saveOrUpdate(wxCarCmdLog);
} catch (Exception e) {
logger.error("tjdParkInCallback: 入库错误"+ paramMap.toString());
map.put("isSuccess", "0");
map.put("errorMsg", "入库错误"+ paramMap.toString());
return map;
}

map.put("isSuccess", "0");
map.put("errorMsg", "");
return map;
}

/**
* TJD 车辆出场通知
* {
* "tradeId": "5836b8b52ada463ebc6199579f029565",
* "outDt": "20170319232020",
* "lon": "74.000272",
* "lat": "159.768703",
* "wLon": "123.523032",
* "wLat": "35.430735",
* "parkAmount": "5.20"
* }
*/
@RequestMapping(value = "/tjdParkoutCallback")
public Map tjdParkOutCallback(@RequestParam Map<String,String> paramMap) {
logger.info("tjdParkoutCallback: " + paramMap.toString());
Map map = new HashMap();


String tradeId = paramMap.get("tradeId");

Date currentDate = new Date();
WxCarCmdLog wxCarCmdLog = new WxCarCmdLog();
wxCarCmdLog.setVendorType(EnumCarVendor.CAR_ETCP.getCode());
wxCarCmdLog.setCmdType(EnumCarCmd.CAR_ETCP_CALLBACK_PARK_OUT.getCode());
wxCarCmdLog.setCmdJson(JSON.toJSONString(paramMap));
wxCarCmdLog.setCreateDate(currentDate);
wxCarCmdLog.setUpdateDate(currentDate);
try {
wxCarCmdLogService.saveOrUpdate(wxCarCmdLog);
} catch (Exception e) {
logger.error("tjdParkoutCallback: 入库错误"+ paramMap.toString());
map.put("isSuccess", "0");
map.put("errorMsg", "入库错误"+ paramMap.toString());
return map;
}

map.put("isSuccess", "0");
map.put("errorMsg", "");
return map;
}
}

+ 0
- 275
mallinkAdmin/src/main/java/com/simple/controller/WxCarController.java Просмотреть файл

@@ -161,279 +161,4 @@ public class WxCarController extends BaseController
businessId = objParams1.getString("businessId");
return businessId;
}

/**
* ETCP 车辆入场通知
* {
* "synId": "4ebd80ff-cfcf-462a-94cb-727e9fa9547c",
* "plateNumber": "渝 ATX061",
* "parkName": "ETCP 智慧停车场",
* "parkId": "1",
* "entranceTime": "2017-08-20 12:59:54",
* "userType": "76",
* "pushTime": "2017-08-20 12:59:57",
* "fixParkingId": "U7",
* "remainingDays": "11"
* }
*/
@RequestMapping(value = "/etcpParkInCallback")
public Result etcpParkInCallback(@RequestBody Map<String,String> paramMap) {
logger.info("etcpParkInCallback: " + paramMap.toString());
String etcpParkId = paramMap.get("parkId");
WxPark parkQ = new WxPark();
parkQ.setVendorType(EnumCarVendor.CAR_ETCP.getCode());
parkQ.setParkId(etcpParkId);
WxPark park = wxParkService.getByObj(parkQ);
if (park == null) {
logger.error("etcpParkInCallback: ETCP车场未找到"+ etcpParkId);
return new Result(ErrorCode.CAR_PARK_NOT_FOUND.getCode(), "ETCP车场未找到"+ etcpParkId);
}

Date currentDate = new Date();
WxCarCmdLog wxCarCmdLog = new WxCarCmdLog();
wxCarCmdLog.setTenantId(park.getTenantId());
wxCarCmdLog.setVendorType(EnumCarVendor.CAR_ETCP.getCode());
wxCarCmdLog.setCmdType(EnumCarCmd.CAR_ETCP_CALLBACK_PARK_IN.getCode());
wxCarCmdLog.setCmdJson(JSON.toJSONString(paramMap));
wxCarCmdLog.setCreateDate(currentDate);
wxCarCmdLog.setUpdateDate(currentDate);
try {
wxCarCmdLogService.saveOrUpdate(wxCarCmdLog);
} catch (Exception e) {
logger.error("etcpParkInCallback: 入库错误 "+ paramMap.toString());
return new Result(ErrorCode.DB_FAIL.getCode(), "入库错误"+paramMap.toString());
}

// TODO 发起 营销 -- 短信
return new Result(0, "ok");
}

/**
* ETCP 车辆出场通知
* {
* "synId": "fd92f645-880e-4c2a-9d7d-7081a2488181",
* "plateNumber": "渝 ATX061",
* "parkName": "ETCP 智慧停车场",
* "parkId": "1",
* "entranceTime": "2017-08-17 18:44:19",
* "userType": "76",
* "pushTime": "2017-08-20 11:57:51",
* "exitTime": "2017-08-19 12:07:19",
* "stayedTime": 148980,
* "receivableFee": 0,
* "paidServiceFee": 0,
* "fixParkingId": "U7",
* "remainingDays": "12"
* }
*/
@RequestMapping(value = "/etcpParkOutCallback")
public Result etcpParkOutCallback(@RequestParam Map<String,String> paramMap) {
logger.info("etcpParkOutCallback: " + paramMap.toString());
String etcpParkId = paramMap.get("parkId");
WxPark parkQ = new WxPark();
parkQ.setVendorType(EnumCarVendor.CAR_ETCP.getCode());
parkQ.setParkId(etcpParkId);
WxPark park = wxParkService.getByObj(parkQ);
if (park == null) {
logger.error("etcpParkInCallback: ETCP车场未找到 "+ etcpParkId);
return new Result(ErrorCode.CAR_PARK_NOT_FOUND.getCode(), "ETCP车场未找到"+ etcpParkId);
}

Date currentDate = new Date();
WxCarCmdLog wxCarCmdLog = new WxCarCmdLog();
wxCarCmdLog.setTenantId(park.getTenantId());
wxCarCmdLog.setVendorType(EnumCarVendor.CAR_ETCP.getCode());
wxCarCmdLog.setCmdType(EnumCarCmd.CAR_ETCP_CALLBACK_PARK_OUT.getCode());
wxCarCmdLog.setCmdJson(JSON.toJSONString(paramMap));
wxCarCmdLog.setCreateDate(currentDate);
wxCarCmdLog.setUpdateDate(currentDate);
try {
wxCarCmdLogService.saveOrUpdate(wxCarCmdLog);
} catch (Exception e) {
logger.error("etcpParkInCallback: 入库错误 "+ paramMap.toString());
return new Result(ErrorCode.DB_FAIL.getCode(), "入库错误"+paramMap.toString());
}

// TODO 发起 营销 -- 短信
return new Result(0, "ok");
}

/**
* ETCP 车辆解绑通知
* {
* "plateNumber": "渝 ATX061",
* "time": "2017-08-20 11:57:51"
* }
*/
@RequestMapping(value = "/etcpUnbindCarCallBack")
public Result etcpUnbindCarCallBack(@RequestParam Map<String,String> paramMap) {
logger.info("etcpUnbindCarCallBack: " + paramMap.toString());
String carNumber = paramMap.get("plateNumber");

// TODO how to get the parkId

Date currentDate = new Date();
WxCarCmdLog wxCarCmdLog = new WxCarCmdLog();
wxCarCmdLog.setVendorType(EnumCarVendor.CAR_ETCP.getCode());
wxCarCmdLog.setCmdType(EnumCarCmd.CAR_ETCP_CALLBACK_UNBIND.getCode());
wxCarCmdLog.setCmdJson(JSON.toJSONString(paramMap));
wxCarCmdLog.setCreateDate(currentDate);
wxCarCmdLog.setUpdateDate(currentDate);
try {
wxCarCmdLogService.saveOrUpdate(wxCarCmdLog);
} catch (Exception e) {
logger.error("etcpParkInCallback: 入库错误 "+ paramMap.toString());
return new Result(ErrorCode.DB_FAIL.getCode(), "入库错误"+paramMap.toString());
}

WxCUserCar userCarQ = new WxCUserCar();
userCarQ.setVendorType(EnumCarVendor.CAR_ETCP.getCode());
userCarQ.setCarNumber(carNumber);
// 数据库里删除,保持同步
try {
wxCUserCarService.deleteByObj(userCarQ);
} catch (Exception e) {
logger.error(e.getMessage());
}
// 营销 - 短信
return new Result(0, "ok");
}

/**
* ETCP 主动支付结果通知
* {
* "plateNumber": "渝 ATX061",
* "orderId": "fd92f645-880e-4c2a-9d7d-7081a2488181",
* "fee": 7.65,
* "paidServiceFee": 0.07,
* "coupon": 0,
* "time": "2017-08-20 11:57:51"
* }
*/
@RequestMapping(value = "/etcpPaidCallback")
public Result etcpPaidCallback(@RequestParam Map<String,String> paramMap) {
logger.info("etcpPaidCallback: " + paramMap.toString());
String carNumber = paramMap.get("plateNumber");

// TODO how to get the parkId

Date currentDate = new Date();
WxCarCmdLog wxCarCmdLog = new WxCarCmdLog();
wxCarCmdLog.setVendorType(EnumCarVendor.CAR_ETCP.getCode());
wxCarCmdLog.setCmdType(EnumCarCmd.CAR_ETCP_CALLBACK_PAY_MANUAL.getCode());
wxCarCmdLog.setCmdJson(JSON.toJSONString(paramMap));
wxCarCmdLog.setCreateDate(currentDate);
wxCarCmdLog.setUpdateDate(currentDate);
try {
wxCarCmdLogService.saveOrUpdate(wxCarCmdLog);
} catch (Exception e) {
logger.error("etcpParkInCallback: 入库错误 "+ paramMap.toString());
return new Result(ErrorCode.DB_FAIL.getCode(), "入库错误"+paramMap.toString());
}

// 营销 - 短信
return new Result(0, "ok");
}


/**
* TJD 车辆入场通知
* {
* "tradeId": "5836b8b52ada463ebc6199579f029565",
* "outCarId": "45454545454",
* "carNum": "京A45413",
* "carNumColor ": "blue",
* "inDt": "20170319202020",
* "parkName": "测试停车场",
* "parkId": "5836b8b52ada463ebc6199579f029561",
* "lon": "74.000272",
* "lat": "159.768703",
* "wLon": "123.523032",
* "wLat": "35.430735",
* "payUrl": "http://prep.tingjiandan.com/tcweixin/letter/prePay/payInPark.html?prePayType=16&channel=10001",
* "canFindCar": "0"
* }
*/
@RequestMapping(value = "/tjdParkInCallback")
public Map tjdParkInCallback(@RequestParam Map<String,String> paramMap) {
logger.info("tjdParkInCallback: " + paramMap.toString());
Map map = new HashMap();


String tjdParkId = paramMap.get("parkId");

WxPark parkQ = new WxPark();
parkQ.setVendorType(EnumCarVendor.CAR_TJD.getCode());
parkQ.setParkId(tjdParkId);
WxPark park = wxParkService.getByObj(parkQ);
if (park == null) {
logger.error("tjdParkInCallback: 停简单车场未找到"+ tjdParkId);
map.put("isSuccess", "0");
map.put("errorMsg", "停简单车场未找到"+ tjdParkId);
return map;
}

Date currentDate = new Date();
WxCarCmdLog wxCarCmdLog = new WxCarCmdLog();
wxCarCmdLog.setTenantId(park.getTenantId());
wxCarCmdLog.setVendorType(EnumCarVendor.CAR_TJD.getCode());
wxCarCmdLog.setCmdType(EnumCarCmd.CAR_ETCP_CALLBACK_PARK_IN.getCode());
wxCarCmdLog.setCmdJson(JSON.toJSONString(paramMap));
wxCarCmdLog.setCreateDate(currentDate);
wxCarCmdLog.setUpdateDate(currentDate);
try {
wxCarCmdLogService.saveOrUpdate(wxCarCmdLog);
} catch (Exception e) {
logger.error("tjdParkInCallback: 入库错误"+ paramMap.toString());
map.put("isSuccess", "0");
map.put("errorMsg", "入库错误"+ paramMap.toString());
return map;
}

map.put("isSuccess", "0");
map.put("errorMsg", "");
return map;
}

/**
* TJD 车辆出场通知
* {
* "tradeId": "5836b8b52ada463ebc6199579f029565",
* "outDt": "20170319232020",
* "lon": "74.000272",
* "lat": "159.768703",
* "wLon": "123.523032",
* "wLat": "35.430735",
* "parkAmount": "5.20"
* }
*/
@RequestMapping(value = "/tjdParkoutCallback")
public Map tjdParkOutCallback(@RequestParam Map<String,String> paramMap) {
logger.info("tjdParkoutCallback: " + paramMap.toString());
Map map = new HashMap();


String tradeId = paramMap.get("tradeId");

Date currentDate = new Date();
WxCarCmdLog wxCarCmdLog = new WxCarCmdLog();
wxCarCmdLog.setVendorType(EnumCarVendor.CAR_ETCP.getCode());
wxCarCmdLog.setCmdType(EnumCarCmd.CAR_ETCP_CALLBACK_PARK_OUT.getCode());
wxCarCmdLog.setCmdJson(JSON.toJSONString(paramMap));
wxCarCmdLog.setCreateDate(currentDate);
wxCarCmdLog.setUpdateDate(currentDate);
try {
wxCarCmdLogService.saveOrUpdate(wxCarCmdLog);
} catch (Exception e) {
logger.error("tjdParkoutCallback: 入库错误"+ paramMap.toString());
map.put("isSuccess", "0");
map.put("errorMsg", "入库错误"+ paramMap.toString());
return map;
}

map.put("isSuccess", "0");
map.put("errorMsg", "");
return map;
}
}

+ 35
- 0
mallinkService/src/main/java/com/simple/enums/EnumETCPCode.java Просмотреть файл

@@ -0,0 +1,35 @@
package com.simple.enums;

/**
* Created by Stormeye on 2018/08/09.
*/
public enum EnumETCPCode {

SUCCESS(0, "ok"),
;

public static EnumETCPCode getEnum(Integer code) {
for (EnumETCPCode value : values()) {
if (value.getCode().equals(code)) {
return value;
}
}
return null;
}

private Integer code;
private String message;

EnumETCPCode(Integer code, String message) {
this.code = code;
this.message = message;
}

public Integer getCode() {
return code;
}

public String getMessage() {
return message;
}
}

+ 9
- 8
mallinkService/src/main/java/com/simple/utils/ETCPUtil.java Просмотреть файл

@@ -219,13 +219,14 @@ public class ETCPUtil {
String carNumber = "京D12345";
String parkId = "Wj7YdvqyiYM=";
String businessId = "IgWGUtpAX68=";
String couponFreeId = "5627";

//caller.carSimulation(domain, appId, merchantNo, merchantKey, version, carNumber);
/* {"code":0,"message":"ok","data":{"isInPark":0}} */

//caller.getBCouponList(domain, merchantNo, merchantKey, version, parkId, businessId);
// {"code":0,"message":"查询成功","data":{"count":1,"couponPlatformModels":[{"id":5627,"parkId":"Wj7YdvqyiYM=","businessId":"IgWGUtpAX68=","businessName":"fmtest5678","name":"优免现金1元","category":"2","categoryValue":"1.00","amount":100,"status":"1","effectiveStart":"2018-08-20","effectiveEnd":"2018-08-25","couponType":"0","avaliavleNum":100}]}}
//caller.bCouponRecord(domain, merchantNo, merchantKey, version, etcpToken, parkId, businessId, carNumber, couponFreeId);
// 联合登录测试

/*ret = caller.userSignin(domain, appId, merchantNo, merchantKey, version, "13910154397");
@@ -237,9 +238,9 @@ public class ETCPUtil {
etcpToken = objret.getJSONObject("data").getString("token");
System.out.println(etcpToken);
*/
/*
// 绑定车牌查询
ret = caller.carNum(merchantNo, merchantKey, version, etcpToken);
ret = caller.carNum(domain, merchantNo, merchantKey, version, etcpToken);
System.out.println(ret);
objret = JSON.parseObject(ret);
if (objret.getIntValue("code") != 0)
@@ -247,7 +248,7 @@ public class ETCPUtil {
JSONObject data = objret.getJSONObject("data");
if (data.getIntValue("number") <= 0) {
// 车牌绑定测试
ret = caller.bindCar(etcpToken, carNumber, null, merchantNo, merchantKey, version);
ret = caller.bindCar(domain, etcpToken, carNumber, null, merchantNo, merchantKey, version);
objret = JSON.parseObject(ret);
if (objret.getIntValue("code") != 0)
return;
@@ -257,7 +258,7 @@ public class ETCPUtil {
carNumber = carNumber.substring(1, carNumber.length() -1);
System.out.println(carNumber);
// 停车费查询
ret = caller.orderUnpay(appId, merchantNo, merchantKey, version, etcpToken, carNumber);
ret = caller.orderUnpay(domain, appId, merchantNo, merchantKey, version, etcpToken, carNumber);
System.out.println(ret);
objret = JSON.parseObject(ret);
if (objret.getIntValue("code") != 0)
@@ -266,9 +267,9 @@ public class ETCPUtil {
JSONObject payObj = payArr.getJSONObject(0);
String orderId = payObj.getString("orderId");
// 微信h5支付
ret = caller.orderPay(merchantNo, merchantKey, version, etcpToken, orderId, "http://test.cn", null);
ret = caller.orderPay(domain, merchantNo, merchantKey, version, etcpToken, orderId, "http://test.cn", null);
System.out.println(ret);
*/
// 车牌解绑测试
//caller.unbindCar(merchantNo, merchantKey, version, etcpToken, carNumber);

@@ -556,7 +557,7 @@ public class ETCPUtil {
String etcpToken, String orderId,
String returnUrl, String couponCode) {
// payType 支付方式(1 微信公众号内支付 2 支付宝 H5 支付 3 微信二维码 4 支付宝二维码 5 微信 H5)(非空)
int payType = 5;
int payType = 1;
JSONObject jsonObject = new JSONObject();
jsonObject.put("token", etcpToken);
jsonObject.put("payType", payType);


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