|
|
|
@@ -5,7 +5,10 @@ import com.iformall.controller.base.BaseController; |
|
|
|
import com.iformall.domain.po.*; |
|
|
|
import com.iformall.enums.EnumCarCmd; |
|
|
|
import com.iformall.enums.EnumCarVendor; |
|
|
|
import com.iformall.enums.EnumCouponSendSendType; |
|
|
|
import com.iformall.service.*; |
|
|
|
import com.iformall.utils.car.TJDUtil; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.slf4j.Logger; |
|
|
|
import org.slf4j.LoggerFactory; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
@@ -16,6 +19,7 @@ import org.springframework.web.bind.annotation.RestController; |
|
|
|
import java.text.SimpleDateFormat; |
|
|
|
import java.util.Date; |
|
|
|
import java.util.HashMap; |
|
|
|
import java.util.List; |
|
|
|
import java.util.Map; |
|
|
|
|
|
|
|
@RestController |
|
|
|
@@ -79,69 +83,99 @@ public class WxCarTJDCallBackController extends BaseController { |
|
|
|
/** |
|
|
|
* 进场通知 |
|
|
|
* { |
|
|
|
* "parkId": "f3f11a46f3a14056953aed97944242d4", "parkName": "测试停车场", |
|
|
|
* "carNum": "京A12345", |
|
|
|
* "carNumColor ": "blue", |
|
|
|
* "tradeId": "5836b8b52ada463ebc6199579f029565", |
|
|
|
* "outCarId": "", |
|
|
|
* "inDt": "20170319202020", |
|
|
|
* "payUrl": |
|
|
|
* "http://prep.tingjiandan.com/tcweixin/letter/prePay/pagePayInPark?prePayType=16&channel=10001&isShowDetail=true&orderId=5836b8b52ada463ebc6199579f029565&returnUrl=", |
|
|
|
* "miniProgram": "{ |
|
|
|
* \"path\": \"pages/pre_pay/index/main\", |
|
|
|
* \"extraData\": { |
|
|
|
* \"prePayType\": \"16\", |
|
|
|
* \"channel\": \"10001\", |
|
|
|
* \"isShowDetail\": \"true\", |
|
|
|
* \"orderId\": \"5836b8b52ada463ebc6199579f029565\" |
|
|
|
* }}", |
|
|
|
* "canFindCar": "0", |
|
|
|
* "city": "北京市", |
|
|
|
* "district": "海淀区", |
|
|
|
* "address": "五道口", |
|
|
|
* "lon": "74.000272", |
|
|
|
* "lat": "159.768703", |
|
|
|
* "wLon": "123.523032", |
|
|
|
* "wLat": "35.430735" |
|
|
|
* wLon=116.310335, |
|
|
|
* lon=116.316813, |
|
|
|
* outCarId=, |
|
|
|
* parkId=7715622dff834b34a44448b801c27607, |
|
|
|
* tradeId=e9e0d5db057f412fa323995fc292f6f7, |
|
|
|
* carNumColor=blue, |
|
|
|
* canFindCar=0, |
|
|
|
* miniProgram={ |
|
|
|
* "path": "pages/pre_pay/index/main", |
|
|
|
* "extraData": { |
|
|
|
* "prePayType": "16", |
|
|
|
* "channel": "30166", |
|
|
|
* "isShowDetail": "true", |
|
|
|
* "partnerId": "", |
|
|
|
* "orderId": "e9e0d5db057f412fa323995fc292f6f7"} |
|
|
|
* }, |
|
|
|
* city=北京市, |
|
|
|
* parkName=开发停车场25, |
|
|
|
* address=财智大厦23楼, |
|
|
|
* carNum=京YTJD01, |
|
|
|
* wLat=39.93609, |
|
|
|
* payUrl=https://prep.tingjiandan.com/tcweixin/letter/prePay/pagePayInPark?prePayType=16&channel=30166&isShowDetail=true&partnerId=&orderId=e9e0d5db057f412fa323995fc292f6f7&returnUrl=, |
|
|
|
* district=海淀区, |
|
|
|
* lat=39.942078, |
|
|
|
* inDt=20190920070500 |
|
|
|
* } |
|
|
|
*/ |
|
|
|
@RequestMapping(value = "/tjdParkInCallback") |
|
|
|
public Map tjdParkInCallback(@RequestBody Map<String, String> paramMap) { |
|
|
|
logger.info("["+getIpAddr()+"tjdParkInCallback: " + paramMap.toString()); |
|
|
|
Map map = new HashMap(); |
|
|
|
Date currentDate = new Date(); |
|
|
|
|
|
|
|
String tjdParkId = paramMap.get("parkId"); |
|
|
|
String tjdParkId = paramMap.get(TJDUtil.TJD_PARK_ID); |
|
|
|
String carNumber = paramMap.get(TJDUtil.TJD_CAR_NUMBER); |
|
|
|
|
|
|
|
WxCarCmdLog wxCarCmdLog = new WxCarCmdLog(); |
|
|
|
wxCarCmdLog.setVendorType(EnumCarVendor.CAR_TJD.getCode()); |
|
|
|
wxCarCmdLog.setCmdType(EnumCarCmd.CAR_TJD_CALLBACK_PARK_IN.getCode()); |
|
|
|
wxCarCmdLog.setCmdJson(JSON.toJSONString(paramMap)); |
|
|
|
wxCarCmdLog.setCreateDate(currentDate); |
|
|
|
wxCarCmdLog.setUpdateDate(currentDate); |
|
|
|
|
|
|
|
String tenantId = null; |
|
|
|
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); |
|
|
|
logger.error("tjdParkInCallback: 车场未找到" + tjdParkId); |
|
|
|
map.put(TJDUtil.TJD_IS_SUC, TJDUtil.TJD_ERR_1); |
|
|
|
map.put(TJDUtil.TJD_ERR_MSG, "车场未找到" + tjdParkId); |
|
|
|
return map; |
|
|
|
} else { |
|
|
|
tenantId = park.getTenantId(); |
|
|
|
wxCarCmdLog.setTenantId(park.getTenantId()); |
|
|
|
} |
|
|
|
|
|
|
|
Date currentDate = new Date(); |
|
|
|
WxCarCmdLog wxCarCmdLog = new WxCarCmdLog(); |
|
|
|
wxCarCmdLog.setTenantId(park.getTenantId()); |
|
|
|
wxCarCmdLog.setVendorType(EnumCarVendor.CAR_TJD.getCode()); |
|
|
|
wxCarCmdLog.setCmdType(EnumCarCmd.CAR_TJD_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()); |
|
|
|
map.put(TJDUtil.TJD_IS_SUC, TJDUtil.TJD_ERR_2); |
|
|
|
map.put(TJDUtil.TJD_ERR_MSG, "入库错误" + paramMap.toString()); |
|
|
|
return map; |
|
|
|
} |
|
|
|
|
|
|
|
map.put("isSuccess", "0"); |
|
|
|
map.put("errorMsg", ""); |
|
|
|
// 停车发券 |
|
|
|
String phoneStrs = ""; |
|
|
|
if (StringUtils.isNotBlank(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(); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
map.put(TJDUtil.TJD_IS_SUC, TJDUtil.TJD_SUC); |
|
|
|
return map; |
|
|
|
} |
|
|
|
|
|
|
|
@@ -162,13 +196,15 @@ public class WxCarTJDCallBackController extends BaseController { |
|
|
|
* "wLat": "35.430735" |
|
|
|
* } |
|
|
|
*/ |
|
|
|
@RequestMapping(value = "/tjdParkoutCallback") |
|
|
|
@RequestMapping(value = "/tjdParkOutCallback") |
|
|
|
public Map tjdParkOutCallback(@RequestBody Map<String, String> paramMap) { |
|
|
|
logger.info("["+getIpAddr()+"tjdParkoutCallback: " + paramMap.toString()); |
|
|
|
logger.info("["+getIpAddr()+"tjdParkOutCallback: " + paramMap.toString()); |
|
|
|
Map map = new HashMap(); |
|
|
|
|
|
|
|
String tjdParkId = paramMap.get(TJDUtil.TJD_PARK_ID); |
|
|
|
String carNumber = paramMap.get(TJDUtil.TJD_CAR_NUMBER); |
|
|
|
|
|
|
|
String tradeId = paramMap.get("tradeId"); |
|
|
|
String tradeId = paramMap.get(TJDUtil.TJD_TRADE_ID); |
|
|
|
|
|
|
|
Date currentDate = new Date(); |
|
|
|
WxCarCmdLog wxCarCmdLog = new WxCarCmdLog(); |
|
|
|
@@ -177,17 +213,32 @@ public class WxCarTJDCallBackController extends BaseController { |
|
|
|
wxCarCmdLog.setCmdJson(JSON.toJSONString(paramMap)); |
|
|
|
wxCarCmdLog.setCreateDate(currentDate); |
|
|
|
wxCarCmdLog.setUpdateDate(currentDate); |
|
|
|
|
|
|
|
String tenantId = null; |
|
|
|
WxPark parkQ = new WxPark(); |
|
|
|
parkQ.setVendorType(EnumCarVendor.CAR_TJD.getCode()); |
|
|
|
parkQ.setParkId(tjdParkId); |
|
|
|
WxPark park = wxParkService.getByObj(parkQ); |
|
|
|
if (park == null) { |
|
|
|
logger.error("tjdParkOutCallback: 车场未找到" + tjdParkId); |
|
|
|
map.put(TJDUtil.TJD_IS_SUC, TJDUtil.TJD_ERR_1); |
|
|
|
map.put(TJDUtil.TJD_ERR_MSG, "车场未找到" + tjdParkId); |
|
|
|
return map; |
|
|
|
} 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()); |
|
|
|
logger.error("tjdParkOutCallback: 入库错误" + paramMap.toString()); |
|
|
|
map.put(TJDUtil.TJD_IS_SUC, TJDUtil.TJD_ERR_2); |
|
|
|
map.put(TJDUtil.TJD_ERR_MSG, "入库错误" + paramMap.toString()); |
|
|
|
return map; |
|
|
|
} |
|
|
|
|
|
|
|
map.put("isSuccess", "0"); |
|
|
|
map.put("errorMsg", ""); |
|
|
|
map.put(TJDUtil.TJD_IS_SUC, TJDUtil.TJD_SUC); |
|
|
|
return map; |
|
|
|
} |
|
|
|
|
|
|
|
@@ -210,29 +261,45 @@ public class WxCarTJDCallBackController extends BaseController { |
|
|
|
@RequestMapping(value = "/tjdPaidCallback") |
|
|
|
public Map tjdPaidCallback(@RequestBody Map<String, String> paramMap) { |
|
|
|
logger.info("["+getIpAddr()+"tjdPaidCallback: " + paramMap.toString()); |
|
|
|
Date currentDate = new Date(); |
|
|
|
Map map = new HashMap(); |
|
|
|
|
|
|
|
String tjdParkId = paramMap.get(TJDUtil.TJD_PARK_ID); |
|
|
|
String carNumber = paramMap.get(TJDUtil.TJD_CAR_NUMBER); |
|
|
|
String tradeId = paramMap.get(TJDUtil.TJD_TRADE_ID); |
|
|
|
|
|
|
|
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.setCmdType(EnumCarCmd.CAR_TJD_CALLBACK_PAID.getCode()); |
|
|
|
wxCarCmdLog.setCmdJson(JSON.toJSONString(paramMap)); |
|
|
|
wxCarCmdLog.setCreateDate(currentDate); |
|
|
|
wxCarCmdLog.setUpdateDate(currentDate); |
|
|
|
|
|
|
|
String tenantId = null; |
|
|
|
WxPark parkQ = new WxPark(); |
|
|
|
parkQ.setVendorType(EnumCarVendor.CAR_TJD.getCode()); |
|
|
|
parkQ.setParkId(tjdParkId); |
|
|
|
WxPark park = wxParkService.getByObj(parkQ); |
|
|
|
if (park == null) { |
|
|
|
logger.error("tjdPaidCallback: 车场未找到" + tjdParkId); |
|
|
|
map.put(TJDUtil.TJD_IS_SUC, TJDUtil.TJD_ERR_1); |
|
|
|
map.put(TJDUtil.TJD_ERR_MSG, "车场未找到" + tjdParkId); |
|
|
|
return map; |
|
|
|
} 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()); |
|
|
|
logger.error("tjdPaidCallback: 入库错误" + paramMap.toString()); |
|
|
|
map.put(TJDUtil.TJD_IS_SUC, TJDUtil.TJD_ERR_2); |
|
|
|
map.put(TJDUtil.TJD_ERR_MSG, "入库错误" + paramMap.toString()); |
|
|
|
return map; |
|
|
|
} |
|
|
|
|
|
|
|
map.put("isSuccess", "0"); |
|
|
|
map.put("errorMsg", ""); |
|
|
|
map.put(TJDUtil.TJD_IS_SUC, TJDUtil.TJD_SUC); |
|
|
|
return map; |
|
|
|
} |
|
|
|
|
|
|
|
@@ -255,29 +322,45 @@ public class WxCarTJDCallBackController extends BaseController { |
|
|
|
@RequestMapping(value = "/tjdRefundCallback") |
|
|
|
public Map tjdRefundCallback(@RequestBody Map<String, String> paramMap) { |
|
|
|
logger.info("["+getIpAddr()+"tjdRefundCallback: " + paramMap.toString()); |
|
|
|
Date currentDate = new Date(); |
|
|
|
Map map = new HashMap(); |
|
|
|
|
|
|
|
String tjdParkId = paramMap.get(TJDUtil.TJD_PARK_ID); |
|
|
|
String carNumber = paramMap.get(TJDUtil.TJD_CAR_NUMBER); |
|
|
|
String tradeId = paramMap.get(TJDUtil.TJD_TRADE_ID); |
|
|
|
|
|
|
|
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.setCmdType(EnumCarCmd.CAR_TJD_CALLBACK_REFUND.getCode()); |
|
|
|
wxCarCmdLog.setCmdJson(JSON.toJSONString(paramMap)); |
|
|
|
wxCarCmdLog.setCreateDate(currentDate); |
|
|
|
wxCarCmdLog.setUpdateDate(currentDate); |
|
|
|
|
|
|
|
String tenantId = null; |
|
|
|
WxPark parkQ = new WxPark(); |
|
|
|
parkQ.setVendorType(EnumCarVendor.CAR_TJD.getCode()); |
|
|
|
parkQ.setParkId(tjdParkId); |
|
|
|
WxPark park = wxParkService.getByObj(parkQ); |
|
|
|
if (park == null) { |
|
|
|
logger.error("tjdRefundCallback: 停简单车场未找到" + tjdParkId); |
|
|
|
map.put(TJDUtil.TJD_IS_SUC, TJDUtil.TJD_ERR_1); |
|
|
|
map.put(TJDUtil.TJD_ERR_MSG, "车场未找到" + tjdParkId); |
|
|
|
return map; |
|
|
|
} else { |
|
|
|
tenantId = park.getTenantId(); |
|
|
|
wxCarCmdLog.setTenantId(tenantId); |
|
|
|
} |
|
|
|
|
|
|
|
try { |
|
|
|
wxCarCmdLogService.saveOrUpdate(wxCarCmdLog); |
|
|
|
} catch (Exception e) { |
|
|
|
logger.error("tjdRefundCallback: 入库错误" + paramMap.toString()); |
|
|
|
map.put("isSuccess", "0"); |
|
|
|
map.put("errorMsg", "入库错误" + paramMap.toString()); |
|
|
|
map.put(TJDUtil.TJD_IS_SUC, TJDUtil.TJD_ERR_2); |
|
|
|
map.put(TJDUtil.TJD_ERR_MSG, "入库错误" + paramMap.toString()); |
|
|
|
return map; |
|
|
|
} |
|
|
|
|
|
|
|
map.put("isSuccess", "0"); |
|
|
|
map.put("errorMsg", ""); |
|
|
|
map.put(TJDUtil.TJD_IS_SUC, TJDUtil.TJD_SUC); |
|
|
|
return map; |
|
|
|
} |
|
|
|
|
|
|
|
|