|
|
|
@@ -32,7 +32,7 @@ import java.util.Map; |
|
|
|
|
|
|
|
@RestController |
|
|
|
@RequestMapping("/carCallback") |
|
|
|
public class WxCarCallBackController extends BaseController { |
|
|
|
public class WxCarETCPCallBackController extends BaseController { |
|
|
|
private final Logger logger = LoggerFactory.getLogger(this.getClass()); |
|
|
|
|
|
|
|
@Autowired |
|
|
|
@@ -81,119 +81,6 @@ public class WxCarCallBackController extends BaseController { |
|
|
|
return new Result(EnumETCPCode.SUCCESS.getCode(), EnumETCPCode.SUCCESS.getMessage()); |
|
|
|
} |
|
|
|
|
|
|
|
// @Async |
|
|
|
private boolean doEtcpParkIn(@RequestBody Map<String, String> paramMap) { |
|
|
|
Date currentDate = new Date(); |
|
|
|
WxCarCmdLog wxCarCmdLog = new WxCarCmdLog(); |
|
|
|
|
|
|
|
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); |
|
|
|
|
|
|
|
String etcpParkId = paramMap.get(ETCPUtil.ETCP_PARK_ID); |
|
|
|
String tenantId = null; |
|
|
|
WxPark parkQ = new WxPark(); |
|
|
|
parkQ.setVendorType(EnumCarVendor.CAR_ETCP.getCode()); |
|
|
|
parkQ.setParkingId(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); |
|
|
|
} else { |
|
|
|
tenantId = park.getTenantId(); |
|
|
|
wxCarCmdLog.setTenantId(park.getTenantId()); |
|
|
|
} |
|
|
|
|
|
|
|
String carNumber = paramMap.get(ETCPUtil.ETCP_CAR_NUMBER); |
|
|
|
String synId = paramMap.get(ETCPUtil.ETCP_SYN_ID); |
|
|
|
String parkId = paramMap.get(ETCPUtil.ETCP_PARK_ID); |
|
|
|
String parkName = paramMap.get(ETCPUtil.ETCP_PARK_NAME); |
|
|
|
String userType = paramMap.get(ETCPUtil.ETCP_USER_TYPE); |
|
|
|
String entranceTime = paramMap.get(ETCPUtil.ETCP_ENTRANCE_TIME); |
|
|
|
String fixParkingId = paramMap.get(ETCPUtil.ETCP_FIX_PARKING_ID); |
|
|
|
String remainingDays = paramMap.get(ETCPUtil.ETCP_REMAINING_DAYS); |
|
|
|
|
|
|
|
// 检查是否有重复数据 |
|
|
|
HashMap<String, Object> map = new HashMap<String, Object>(); |
|
|
|
map.put("synId", synId); |
|
|
|
map.put("cmdType", EnumCarCmd.CAR_ETCP_CALLBACK_PARK_IN.getCode()); |
|
|
|
if(tenantId != null) { |
|
|
|
map.put("tenantId", tenantId); |
|
|
|
} |
|
|
|
WxCarCmdLog carCmdLog = wxCarCmdLogService.getBySynId(map); |
|
|
|
if(carCmdLog != null) { |
|
|
|
logger.error("ETCP synId已入库: " + paramMap.toString()); |
|
|
|
return true; |
|
|
|
} |
|
|
|
|
|
|
|
try { |
|
|
|
wxCarCmdLogService.saveOrUpdate(wxCarCmdLog); |
|
|
|
} catch (Exception e) { |
|
|
|
logger.error("etcpParkInCallback: 入库错误 " + e.getMessage() + "\n" + paramMap.toString()); |
|
|
|
return true; |
|
|
|
} |
|
|
|
|
|
|
|
String phoneStrs = ""; |
|
|
|
|
|
|
|
// 停车发券 |
|
|
|
if (!StringUtils.isBlank(carNumber)) { |
|
|
|
// 根据车牌查找用户 |
|
|
|
WxCUserCar userCarQ = new WxCUserCar(); |
|
|
|
userCarQ.setTenantId(tenantId); |
|
|
|
userCarQ.setCarNumber(carNumber); |
|
|
|
userCarQ.setVendorType(EnumCarVendor.CAR_ETCP.getCode()); |
|
|
|
// TODO 可能多用户关联同一张车牌 |
|
|
|
List<WxCUserCar> userCarList = wxCUserCarService.getList(userCarQ); |
|
|
|
boolean bFirst = true; |
|
|
|
for (WxCUserCar userCar : userCarList) { |
|
|
|
wxCouponSendService.sendCouponToUser(EnumCouponSendSendType.CAR_STOP, userCar); |
|
|
|
WxCUser cUser = wxCUserService.getById(userCar.getCUserId()); |
|
|
|
if(cUser != null){ |
|
|
|
if(bFirst) { |
|
|
|
phoneStrs = cUser.getPhone(); |
|
|
|
bFirst = false; |
|
|
|
} else { |
|
|
|
phoneStrs += "," + cUser.getPhone(); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
try { |
|
|
|
// 保存WxCarPayRecord |
|
|
|
WxCarPayRecord record = new WxCarPayRecord(); |
|
|
|
record.setVendorType(wxCarCmdLog.getVendorType()); |
|
|
|
record.setSynId(synId); |
|
|
|
record.setParkId(parkId); |
|
|
|
record.setParkName(parkName); |
|
|
|
record.setUserType(userType); |
|
|
|
record.setPlateNumber(carNumber); |
|
|
|
if(StringUtils.isNotBlank(entranceTime)) { |
|
|
|
record.setEntranceTime(dateFormat.parse(entranceTime)); |
|
|
|
} |
|
|
|
record.setFixParkingId(fixParkingId); |
|
|
|
record.setRemainingDays(remainingDays); |
|
|
|
record.setPhone(phoneStrs); |
|
|
|
record.setTenantId(tenantId); |
|
|
|
|
|
|
|
WxCarPayRecord query = new WxCarPayRecord(); |
|
|
|
query.setSynId(synId); |
|
|
|
PageInfo<WxCarPayRecord> page = wxCarPayRecordService.findCarPayListByPage(query,1,1); |
|
|
|
if(page != null && CollectionUtils.isNotEmpty(page.getList())){ |
|
|
|
record.setId(page.getList().get(0).getId()); |
|
|
|
} |
|
|
|
wxCarPayRecordService.saveOrUpdate(record); |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
logger.error("WxCarPayRecord: 入库错误 ",e); |
|
|
|
logger.error("WxCarPayRecord: 入库错误 "+e.getMessage()+"," + paramMap.toString()); |
|
|
|
return true; |
|
|
|
} |
|
|
|
return false; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* ETCP 车辆出场通知 |
|
|
|
* { |
|
|
|
@@ -221,86 +108,6 @@ public class WxCarCallBackController extends BaseController { |
|
|
|
return new Result(EnumETCPCode.SUCCESS.getCode(), EnumETCPCode.SUCCESS.getMessage()); |
|
|
|
} |
|
|
|
|
|
|
|
private boolean doEtcpParkOut(@RequestBody Map<String, String> paramMap) { |
|
|
|
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); |
|
|
|
|
|
|
|
String etcpParkId = paramMap.get(ETCPUtil.ETCP_PARK_ID); |
|
|
|
String tenantId = null; |
|
|
|
WxPark parkQ = new WxPark(); |
|
|
|
parkQ.setVendorType(EnumCarVendor.CAR_ETCP.getCode()); |
|
|
|
parkQ.setParkingId(etcpParkId); |
|
|
|
WxPark park = wxParkService.getByObj(parkQ); |
|
|
|
if (park == null) { |
|
|
|
logger.error("etcpParkOutCallback: ETCP车场未找到 " + etcpParkId); |
|
|
|
// return new Result(ErrorCode.CAR_PARK_NOT_FOUND.getCode(), "ETCP车场未找到"+ etcpParkId); |
|
|
|
} else { |
|
|
|
tenantId = park.getTenantId(); |
|
|
|
wxCarCmdLog.setTenantId(tenantId); |
|
|
|
} |
|
|
|
|
|
|
|
try { |
|
|
|
wxCarCmdLogService.saveOrUpdate(wxCarCmdLog); |
|
|
|
} catch (Exception e) { |
|
|
|
logger.error("etcpParkOutCallback: 入库错误 " + e.getMessage() + "\n" + paramMap.toString()); |
|
|
|
return true; |
|
|
|
} |
|
|
|
|
|
|
|
String synId = paramMap.get(ETCPUtil.ETCP_SYN_ID); |
|
|
|
String exitTime = paramMap.get(ETCPUtil.ETCP_EXIT_TIME); |
|
|
|
String stayedTime = paramMap.get(ETCPUtil.ETCP_STAYED_TIME); |
|
|
|
String carNumber = paramMap.get(ETCPUtil.ETCP_CAR_NUMBER); |
|
|
|
String parkId = paramMap.get(ETCPUtil.ETCP_PARK_ID); |
|
|
|
String parkName = paramMap.get(ETCPUtil.ETCP_PARK_NAME); |
|
|
|
String userType = paramMap.get(ETCPUtil.ETCP_USER_TYPE); |
|
|
|
String entranceTime = paramMap.get(ETCPUtil.ETCP_ENTRANCE_TIME); |
|
|
|
String fixParkingId = paramMap.get(ETCPUtil.ETCP_FIX_PARKING_ID); |
|
|
|
String remainingDays = paramMap.get(ETCPUtil.ETCP_REMAINING_DAYS); |
|
|
|
|
|
|
|
try { |
|
|
|
// 保存WxCarPayRecord |
|
|
|
WxCarPayRecord record = new WxCarPayRecord(); |
|
|
|
record.setSynId(synId); |
|
|
|
if(StringUtils.isNotBlank(exitTime)) { |
|
|
|
record.setExitTime(dateFormat.parse(exitTime)); |
|
|
|
} |
|
|
|
if(StringUtils.isNotBlank(stayedTime)) { |
|
|
|
record.setStayedTime(Long.parseLong(stayedTime)); |
|
|
|
} |
|
|
|
record.setVendorType(wxCarCmdLog.getVendorType()); |
|
|
|
record.setSynId(synId); |
|
|
|
record.setParkId(parkId); |
|
|
|
record.setParkName(parkName); |
|
|
|
record.setUserType(userType); |
|
|
|
record.setPlateNumber(carNumber); |
|
|
|
if(StringUtils.isNotBlank(entranceTime)) { |
|
|
|
record.setEntranceTime(dateFormat.parse(entranceTime)); |
|
|
|
} |
|
|
|
record.setFixParkingId(fixParkingId); |
|
|
|
record.setRemainingDays(remainingDays); |
|
|
|
//record.setPhone(phoneStrs); |
|
|
|
record.setTenantId(tenantId); |
|
|
|
|
|
|
|
WxCarPayRecord query = new WxCarPayRecord(); |
|
|
|
query.setSynId(synId); |
|
|
|
PageInfo<WxCarPayRecord> page = wxCarPayRecordService.findCarPayListByPage(query,1,1); |
|
|
|
if(page != null && CollectionUtils.isNotEmpty(page.getList())){ |
|
|
|
record.setId(page.getList().get(0).getId()); |
|
|
|
} |
|
|
|
wxCarPayRecordService.saveOrUpdate(record); |
|
|
|
} catch (Exception e) { |
|
|
|
logger.error("WxCarPayRecord: 出场更新错误 " +e.getMessage()+", " +paramMap.toString()); |
|
|
|
return true; |
|
|
|
} |
|
|
|
return false; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* ETCP 车辆解绑通知 |
|
|
|
* { |
|
|
|
@@ -471,105 +278,196 @@ public class WxCarCallBackController extends BaseController { |
|
|
|
return new Result(EnumETCPCode.SUCCESS.getCode(), EnumETCPCode.SUCCESS.getMessage()); |
|
|
|
} |
|
|
|
|
|
|
|
// @Async |
|
|
|
private boolean doEtcpParkIn(@RequestBody Map<String, String> paramMap) { |
|
|
|
Date currentDate = new Date(); |
|
|
|
WxCarCmdLog wxCarCmdLog = new WxCarCmdLog(); |
|
|
|
|
|
|
|
/** |
|
|
|
* 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(@RequestBody Map<String, String> paramMap) { |
|
|
|
logger.info("["+getIpAddr()+"tjdParkInCallback: " + paramMap.toString()); |
|
|
|
Map map = new HashMap(); |
|
|
|
|
|
|
|
|
|
|
|
String tjdParkId = paramMap.get("parkId"); |
|
|
|
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); |
|
|
|
|
|
|
|
String etcpParkId = paramMap.get(ETCPUtil.ETCP_PARK_ID); |
|
|
|
String tenantId = null; |
|
|
|
WxPark parkQ = new WxPark(); |
|
|
|
parkQ.setVendorType(EnumCarVendor.CAR_TJD.getCode()); |
|
|
|
parkQ.setParkId(tjdParkId); |
|
|
|
parkQ.setVendorType(EnumCarVendor.CAR_ETCP.getCode()); |
|
|
|
parkQ.setParkingId(etcpParkId); |
|
|
|
WxPark park = wxParkService.getByObj(parkQ); |
|
|
|
if (park == null) { |
|
|
|
logger.error("tjdParkInCallback: 停简单车场未找到" + tjdParkId); |
|
|
|
map.put("isSuccess", "0"); |
|
|
|
map.put("errorMsg", "停简单车场未找到" + tjdParkId); |
|
|
|
return map; |
|
|
|
logger.error("etcpParkInCallback: ETCP车场未找到" + etcpParkId); |
|
|
|
//return new Result(ErrorCode.CAR_PARK_NOT_FOUND.getCode(), "ETCP车场未找到"+ etcpParkId); |
|
|
|
} else { |
|
|
|
tenantId = park.getTenantId(); |
|
|
|
wxCarCmdLog.setTenantId(park.getTenantId()); |
|
|
|
} |
|
|
|
|
|
|
|
String carNumber = paramMap.get(ETCPUtil.ETCP_CAR_NUMBER); |
|
|
|
String synId = paramMap.get(ETCPUtil.ETCP_SYN_ID); |
|
|
|
String parkId = paramMap.get(ETCPUtil.ETCP_PARK_ID); |
|
|
|
String parkName = paramMap.get(ETCPUtil.ETCP_PARK_NAME); |
|
|
|
String userType = paramMap.get(ETCPUtil.ETCP_USER_TYPE); |
|
|
|
String entranceTime = paramMap.get(ETCPUtil.ETCP_ENTRANCE_TIME); |
|
|
|
String fixParkingId = paramMap.get(ETCPUtil.ETCP_FIX_PARKING_ID); |
|
|
|
String remainingDays = paramMap.get(ETCPUtil.ETCP_REMAINING_DAYS); |
|
|
|
|
|
|
|
// 检查是否有重复数据 |
|
|
|
HashMap<String, Object> map = new HashMap<String, Object>(); |
|
|
|
map.put("synId", synId); |
|
|
|
map.put("cmdType", EnumCarCmd.CAR_ETCP_CALLBACK_PARK_IN.getCode()); |
|
|
|
if(tenantId != null) { |
|
|
|
map.put("tenantId", tenantId); |
|
|
|
} |
|
|
|
WxCarCmdLog carCmdLog = wxCarCmdLogService.getBySynId(map); |
|
|
|
if(carCmdLog != null) { |
|
|
|
logger.error("ETCP synId已入库: " + paramMap.toString()); |
|
|
|
return true; |
|
|
|
} |
|
|
|
|
|
|
|
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; |
|
|
|
logger.error("etcpParkInCallback: 入库错误 " + e.getMessage() + "\n" + paramMap.toString()); |
|
|
|
return true; |
|
|
|
} |
|
|
|
|
|
|
|
map.put("isSuccess", "0"); |
|
|
|
map.put("errorMsg", ""); |
|
|
|
return map; |
|
|
|
} |
|
|
|
String phoneStrs = ""; |
|
|
|
|
|
|
|
/** |
|
|
|
* 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(@RequestBody Map<String, String> paramMap) { |
|
|
|
logger.info("["+getIpAddr()+"tjdParkoutCallback: " + paramMap.toString()); |
|
|
|
Map map = new HashMap(); |
|
|
|
// 停车发券 |
|
|
|
if (!StringUtils.isBlank(carNumber)) { |
|
|
|
// 根据车牌查找用户 |
|
|
|
WxCUserCar userCarQ = new WxCUserCar(); |
|
|
|
userCarQ.setTenantId(tenantId); |
|
|
|
userCarQ.setCarNumber(carNumber); |
|
|
|
userCarQ.setVendorType(EnumCarVendor.CAR_ETCP.getCode()); |
|
|
|
// TODO 可能多用户关联同一张车牌 |
|
|
|
List<WxCUserCar> userCarList = wxCUserCarService.getList(userCarQ); |
|
|
|
boolean bFirst = true; |
|
|
|
for (WxCUserCar userCar : userCarList) { |
|
|
|
wxCouponSendService.sendCouponToUser(EnumCouponSendSendType.CAR_STOP, userCar); |
|
|
|
WxCUser cUser = wxCUserService.getById(userCar.getCUserId()); |
|
|
|
if(cUser != null){ |
|
|
|
if(bFirst) { |
|
|
|
phoneStrs = cUser.getPhone(); |
|
|
|
bFirst = false; |
|
|
|
} else { |
|
|
|
phoneStrs += "," + cUser.getPhone(); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
try { |
|
|
|
// 保存WxCarPayRecord |
|
|
|
WxCarPayRecord record = new WxCarPayRecord(); |
|
|
|
record.setVendorType(wxCarCmdLog.getVendorType()); |
|
|
|
record.setSynId(synId); |
|
|
|
record.setParkId(parkId); |
|
|
|
record.setParkName(parkName); |
|
|
|
record.setUserType(userType); |
|
|
|
record.setPlateNumber(carNumber); |
|
|
|
if(StringUtils.isNotBlank(entranceTime)) { |
|
|
|
record.setEntranceTime(dateFormat.parse(entranceTime)); |
|
|
|
} |
|
|
|
record.setFixParkingId(fixParkingId); |
|
|
|
record.setRemainingDays(remainingDays); |
|
|
|
record.setPhone(phoneStrs); |
|
|
|
record.setTenantId(tenantId); |
|
|
|
|
|
|
|
String tradeId = paramMap.get("tradeId"); |
|
|
|
WxCarPayRecord query = new WxCarPayRecord(); |
|
|
|
query.setSynId(synId); |
|
|
|
PageInfo<WxCarPayRecord> page = wxCarPayRecordService.findCarPayListByPage(query,1,1); |
|
|
|
if(page != null && CollectionUtils.isNotEmpty(page.getList())){ |
|
|
|
record.setId(page.getList().get(0).getId()); |
|
|
|
} |
|
|
|
wxCarPayRecordService.saveOrUpdate(record); |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
logger.error("WxCarPayRecord: 入库错误 ",e); |
|
|
|
logger.error("WxCarPayRecord: 入库错误 "+e.getMessage()+"," + paramMap.toString()); |
|
|
|
return true; |
|
|
|
} |
|
|
|
return false; |
|
|
|
} |
|
|
|
|
|
|
|
private boolean doEtcpParkOut(@RequestBody Map<String, String> paramMap) { |
|
|
|
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); |
|
|
|
|
|
|
|
String etcpParkId = paramMap.get(ETCPUtil.ETCP_PARK_ID); |
|
|
|
String tenantId = null; |
|
|
|
WxPark parkQ = new WxPark(); |
|
|
|
parkQ.setVendorType(EnumCarVendor.CAR_ETCP.getCode()); |
|
|
|
parkQ.setParkingId(etcpParkId); |
|
|
|
WxPark park = wxParkService.getByObj(parkQ); |
|
|
|
if (park == null) { |
|
|
|
logger.error("etcpParkOutCallback: ETCP车场未找到 " + etcpParkId); |
|
|
|
// return new Result(ErrorCode.CAR_PARK_NOT_FOUND.getCode(), "ETCP车场未找到"+ etcpParkId); |
|
|
|
} else { |
|
|
|
tenantId = park.getTenantId(); |
|
|
|
wxCarCmdLog.setTenantId(tenantId); |
|
|
|
} |
|
|
|
|
|
|
|
try { |
|
|
|
wxCarCmdLogService.saveOrUpdate(wxCarCmdLog); |
|
|
|
} catch (Exception e) { |
|
|
|
logger.error("tjdParkoutCallback: 入库错误" + paramMap.toString()); |
|
|
|
map.put("isSuccess", "0"); |
|
|
|
map.put("errorMsg", "入库错误" + paramMap.toString()); |
|
|
|
return map; |
|
|
|
logger.error("etcpParkOutCallback: 入库错误 " + e.getMessage() + "\n" + paramMap.toString()); |
|
|
|
return true; |
|
|
|
} |
|
|
|
|
|
|
|
map.put("isSuccess", "0"); |
|
|
|
map.put("errorMsg", ""); |
|
|
|
return map; |
|
|
|
} |
|
|
|
String synId = paramMap.get(ETCPUtil.ETCP_SYN_ID); |
|
|
|
String exitTime = paramMap.get(ETCPUtil.ETCP_EXIT_TIME); |
|
|
|
String stayedTime = paramMap.get(ETCPUtil.ETCP_STAYED_TIME); |
|
|
|
String carNumber = paramMap.get(ETCPUtil.ETCP_CAR_NUMBER); |
|
|
|
String parkId = paramMap.get(ETCPUtil.ETCP_PARK_ID); |
|
|
|
String parkName = paramMap.get(ETCPUtil.ETCP_PARK_NAME); |
|
|
|
String userType = paramMap.get(ETCPUtil.ETCP_USER_TYPE); |
|
|
|
String entranceTime = paramMap.get(ETCPUtil.ETCP_ENTRANCE_TIME); |
|
|
|
String fixParkingId = paramMap.get(ETCPUtil.ETCP_FIX_PARKING_ID); |
|
|
|
String remainingDays = paramMap.get(ETCPUtil.ETCP_REMAINING_DAYS); |
|
|
|
|
|
|
|
try { |
|
|
|
// 保存WxCarPayRecord |
|
|
|
WxCarPayRecord record = new WxCarPayRecord(); |
|
|
|
record.setSynId(synId); |
|
|
|
if(StringUtils.isNotBlank(exitTime)) { |
|
|
|
record.setExitTime(dateFormat.parse(exitTime)); |
|
|
|
} |
|
|
|
if(StringUtils.isNotBlank(stayedTime)) { |
|
|
|
record.setStayedTime(Long.parseLong(stayedTime)); |
|
|
|
} |
|
|
|
record.setVendorType(wxCarCmdLog.getVendorType()); |
|
|
|
record.setSynId(synId); |
|
|
|
record.setParkId(parkId); |
|
|
|
record.setParkName(parkName); |
|
|
|
record.setUserType(userType); |
|
|
|
record.setPlateNumber(carNumber); |
|
|
|
if(StringUtils.isNotBlank(entranceTime)) { |
|
|
|
record.setEntranceTime(dateFormat.parse(entranceTime)); |
|
|
|
} |
|
|
|
record.setFixParkingId(fixParkingId); |
|
|
|
record.setRemainingDays(remainingDays); |
|
|
|
//record.setPhone(phoneStrs); |
|
|
|
record.setTenantId(tenantId); |
|
|
|
|
|
|
|
} |
|
|
|
WxCarPayRecord query = new WxCarPayRecord(); |
|
|
|
query.setSynId(synId); |
|
|
|
PageInfo<WxCarPayRecord> page = wxCarPayRecordService.findCarPayListByPage(query,1,1); |
|
|
|
if(page != null && CollectionUtils.isNotEmpty(page.getList())){ |
|
|
|
record.setId(page.getList().get(0).getId()); |
|
|
|
} |
|
|
|
wxCarPayRecordService.saveOrUpdate(record); |
|
|
|
} catch (Exception e) { |
|
|
|
logger.error("WxCarPayRecord: 出场更新错误 " +e.getMessage()+", " +paramMap.toString()); |
|
|
|
return true; |
|
|
|
} |
|
|
|
return false; |
|
|
|
} |
|
|
|
} |