From 12fb5e66da1d2c7c358c85bfc9cd24e6acf22cc2 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Thu, 16 May 2019 14:38:00 +0800 Subject: [PATCH] =?UTF-8?q?[=E8=BD=A6=E6=B5=81][=E4=BF=AE=E6=94=B9]:?= =?UTF-8?q?=E8=BD=A6=E6=B5=81=E7=AE=80=E5=8D=95=E6=95=B4=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../callback/WxCarCallBackController.java | 80 +++++++++++-------- 1 file changed, 48 insertions(+), 32 deletions(-) diff --git a/mallinkCallback/src/main/java/com/iformall/controller/callback/WxCarCallBackController.java b/mallinkCallback/src/main/java/com/iformall/controller/callback/WxCarCallBackController.java index 2597edc0e..29c37d1e3 100644 --- a/mallinkCallback/src/main/java/com/iformall/controller/callback/WxCarCallBackController.java +++ b/mallinkCallback/src/main/java/com/iformall/controller/callback/WxCarCallBackController.java @@ -10,8 +10,6 @@ import com.iformall.enums.EnumCarVendor; import com.iformall.enums.EnumCouponSendSendType; import com.iformall.enums.EnumETCPCode; import com.iformall.service.*; -import com.iformall.utils.ETCPUtil; -import com.iformall.utils.TJDCarUtil; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -32,10 +30,6 @@ import java.util.Map; public class WxCarCallBackController extends BaseController { private final Logger logger = LoggerFactory.getLogger(this.getClass()); - ETCPUtil etcp = new ETCPUtil(); - - TJDCarUtil tjd = new TJDCarUtil(); - @Autowired WxParkService wxParkService; @@ -57,6 +51,8 @@ public class WxCarCallBackController extends BaseController { @Autowired WxCUserService wxCUserService; + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + /** * ETCP 车辆入场通知 * { @@ -74,6 +70,14 @@ public class WxCarCallBackController extends BaseController { @PostMapping(value = "/etcpParkInCallback") public Result etcpParkInCallback(@RequestBody Map paramMap) { logger.info("["+getIpAddr()+"] etcpParkInCallback: " + paramMap.toString()); + + doEtcpParkIn(paramMap); + + return new Result(EnumETCPCode.SUCCESS.getCode(), EnumETCPCode.SUCCESS.getMessage()); + } + + // @Async + public boolean doEtcpParkIn(@RequestBody Map paramMap) { Date currentDate = new Date(); WxCarCmdLog wxCarCmdLog = new WxCarCmdLog(); @@ -101,13 +105,21 @@ public class WxCarCallBackController extends BaseController { wxCarCmdLogService.saveOrUpdate(wxCarCmdLog); } catch (Exception e) { logger.error("etcpParkInCallback: 入库错误 " + paramMap.toString()); - return new Result(ErrorCode.DB_FAIL.getCode(), "入库错误" + paramMap.toString()); + return true; } + String carNumber = paramMap.get("plateNumber"); + String synId = paramMap.get("synId"); + String parkId = paramMap.get("parkId"); + String parkName = paramMap.get("parkName"); + String userType = paramMap.get("userType"); + String entranceTime = paramMap.get("entranceTime"); + String fixParkingId = paramMap.get("fixParkingId"); + String remainingDays = paramMap.get("remainingDays"); + String phoneStrs = ""; // 停车发券 - String carNumber = paramMap.get("plateNumber"); if (!StringUtils.isBlank(carNumber)) { // 根据车牌查找用户 WxCUserCar userCarQ = new WxCUserCar(); @@ -116,44 +128,44 @@ public class WxCarCallBackController extends BaseController { userCarQ.setVendorType(EnumCarVendor.CAR_ETCP.getCode()); // TODO 可能多用户关联同一张车牌 List 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){ - phoneStrs += cUser.getPhone() + ","; + if(bFirst) { + phoneStrs = cUser.getPhone(); + bFirst = false; + } else { + phoneStrs += "," + cUser.getPhone(); + } } } } - // 替换最后一个逗号 - if(StringUtils.isNotBlank(phoneStrs)){ - phoneStrs = phoneStrs.substring(0,phoneStrs.length() - 1); - } try { // 保存WxCarPayRecord WxCarPayRecord record = new WxCarPayRecord(); record.setVendorType(wxCarCmdLog.getVendorType()); - Map jsonMap = (Map)JSON.parseObject(wxCarCmdLog.getCmdJson()); - record.setSynId(jsonMap.get("synId")); - record.setParkId(jsonMap.get("parkId")); - record.setParkName(jsonMap.get("parkName")); - record.setUserType(jsonMap.get("userType")); - record.setPlateNumber(jsonMap.get("plateNumber")); - if(StringUtils.isNotBlank(jsonMap.get("entranceTime"))) { - record.setEntranceTime(new SimpleDateFormat("yyyy-MM-dd HH:mm").parse(jsonMap.get("entranceTime"))); + 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(jsonMap.get("fixParkingId")); - record.setRemainingDays(jsonMap.get("remainingDays")); + record.setFixParkingId(fixParkingId); + record.setRemainingDays(remainingDays); record.setPhone(phoneStrs); record.setTenantId(park.getTenantId()); wxCarPayRecordService.saveOrUpdate(record); } catch (Exception e) { e.printStackTrace(); logger.error("WxCarPayRecord: 入库错误 " + paramMap.toString()); - return new Result(ErrorCode.DB_FAIL.getCode(), "入库错误" + paramMap.toString()); + return true; } - - return new Result(EnumETCPCode.SUCCESS.getCode(), EnumETCPCode.SUCCESS.getMessage()); + return false; } /** @@ -177,6 +189,13 @@ public class WxCarCallBackController extends BaseController { @PostMapping(value = "/etcpParkOutCallback") public Result etcpParkOutCallback(@RequestBody Map paramMap) { logger.info("["+getIpAddr()+"etcpParkOutCallback: " + paramMap.toString()); + + doEtcpParkOut(paramMap); + + return new Result(EnumETCPCode.SUCCESS.getCode(), EnumETCPCode.SUCCESS.getMessage()); + } + + public boolean doEtcpParkOut(@RequestBody Map paramMap) { Date currentDate = new Date(); WxCarCmdLog wxCarCmdLog = new WxCarCmdLog(); @@ -202,7 +221,7 @@ public class WxCarCallBackController extends BaseController { wxCarCmdLogService.saveOrUpdate(wxCarCmdLog); } catch (Exception e) { logger.error("etcpParkOutCallback: 入库错误 " + paramMap.toString()); - return new Result(ErrorCode.DB_FAIL.getCode(), "入库错误" + paramMap.toString()); + return true; } try { @@ -219,12 +238,9 @@ public class WxCarCallBackController extends BaseController { } catch (Exception e) { e.printStackTrace(); logger.error("WxCarPayRecord: 出场更新错误 " + paramMap.toString()); - return new Result(ErrorCode.DB_FAIL.getCode(), "入库错误" + paramMap.toString()); + return true; } - - // TODO 如果此车关联了停车优免券,自动把优免券设为已使用 - - return new Result(EnumETCPCode.SUCCESS.getCode(), EnumETCPCode.SUCCESS.getMessage()); + return false; } /**