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

[车流][修改]:车流简单整理

release_toaliyun_real
Stormeye Wu 7 лет назад
Родитель
Сommit
12fb5e66da
1 измененных файлов: 48 добавлений и 32 удалений
  1. +48
    -32
      mallinkCallback/src/main/java/com/iformall/controller/callback/WxCarCallBackController.java

+ 48
- 32
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.EnumCouponSendSendType;
import com.iformall.enums.EnumETCPCode; import com.iformall.enums.EnumETCPCode;
import com.iformall.service.*; import com.iformall.service.*;
import com.iformall.utils.ETCPUtil;
import com.iformall.utils.TJDCarUtil;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@@ -32,10 +30,6 @@ import java.util.Map;
public class WxCarCallBackController extends BaseController { public class WxCarCallBackController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass()); private final Logger logger = LoggerFactory.getLogger(this.getClass());


ETCPUtil etcp = new ETCPUtil();

TJDCarUtil tjd = new TJDCarUtil();

@Autowired @Autowired
WxParkService wxParkService; WxParkService wxParkService;


@@ -57,6 +51,8 @@ public class WxCarCallBackController extends BaseController {
@Autowired @Autowired
WxCUserService wxCUserService; WxCUserService wxCUserService;


SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");

/** /**
* ETCP 车辆入场通知 * ETCP 车辆入场通知
* { * {
@@ -74,6 +70,14 @@ public class WxCarCallBackController extends BaseController {
@PostMapping(value = "/etcpParkInCallback") @PostMapping(value = "/etcpParkInCallback")
public Result etcpParkInCallback(@RequestBody Map<String, String> paramMap) { public Result etcpParkInCallback(@RequestBody Map<String, String> paramMap) {
logger.info("["+getIpAddr()+"] etcpParkInCallback: " + paramMap.toString()); logger.info("["+getIpAddr()+"] etcpParkInCallback: " + paramMap.toString());

doEtcpParkIn(paramMap);

return new Result(EnumETCPCode.SUCCESS.getCode(), EnumETCPCode.SUCCESS.getMessage());
}

// @Async
public boolean doEtcpParkIn(@RequestBody Map<String, String> paramMap) {
Date currentDate = new Date(); Date currentDate = new Date();
WxCarCmdLog wxCarCmdLog = new WxCarCmdLog(); WxCarCmdLog wxCarCmdLog = new WxCarCmdLog();


@@ -101,13 +105,21 @@ public class WxCarCallBackController extends BaseController {
wxCarCmdLogService.saveOrUpdate(wxCarCmdLog); wxCarCmdLogService.saveOrUpdate(wxCarCmdLog);
} catch (Exception e) { } catch (Exception e) {
logger.error("etcpParkInCallback: 入库错误 " + paramMap.toString()); 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 phoneStrs = "";


// 停车发券 // 停车发券
String carNumber = paramMap.get("plateNumber");
if (!StringUtils.isBlank(carNumber)) { if (!StringUtils.isBlank(carNumber)) {
// 根据车牌查找用户 // 根据车牌查找用户
WxCUserCar userCarQ = new WxCUserCar(); WxCUserCar userCarQ = new WxCUserCar();
@@ -116,44 +128,44 @@ public class WxCarCallBackController extends BaseController {
userCarQ.setVendorType(EnumCarVendor.CAR_ETCP.getCode()); userCarQ.setVendorType(EnumCarVendor.CAR_ETCP.getCode());
// TODO 可能多用户关联同一张车牌 // TODO 可能多用户关联同一张车牌
List<WxCUserCar> userCarList = wxCUserCarService.getList(userCarQ); List<WxCUserCar> userCarList = wxCUserCarService.getList(userCarQ);
boolean bFirst = true;
for (WxCUserCar userCar : userCarList) { for (WxCUserCar userCar : userCarList) {
wxCouponSendService.sendCouponToUser(EnumCouponSendSendType.CAR_STOP, userCar); wxCouponSendService.sendCouponToUser(EnumCouponSendSendType.CAR_STOP, userCar);
WxCUser cUser = wxCUserService.getById(userCar.getCUserId()); WxCUser cUser = wxCUserService.getById(userCar.getCUserId());
if(cUser != null){ 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 { try {
// 保存WxCarPayRecord // 保存WxCarPayRecord
WxCarPayRecord record = new WxCarPayRecord(); WxCarPayRecord record = new WxCarPayRecord();
record.setVendorType(wxCarCmdLog.getVendorType()); record.setVendorType(wxCarCmdLog.getVendorType());
Map<String,String> 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.setPhone(phoneStrs);
record.setTenantId(park.getTenantId()); record.setTenantId(park.getTenantId());
wxCarPayRecordService.saveOrUpdate(record); wxCarPayRecordService.saveOrUpdate(record);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
logger.error("WxCarPayRecord: 入库错误 " + paramMap.toString()); 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") @PostMapping(value = "/etcpParkOutCallback")
public Result etcpParkOutCallback(@RequestBody Map<String, String> paramMap) { public Result etcpParkOutCallback(@RequestBody Map<String, String> paramMap) {
logger.info("["+getIpAddr()+"etcpParkOutCallback: " + paramMap.toString()); logger.info("["+getIpAddr()+"etcpParkOutCallback: " + paramMap.toString());

doEtcpParkOut(paramMap);

return new Result(EnumETCPCode.SUCCESS.getCode(), EnumETCPCode.SUCCESS.getMessage());
}

public boolean doEtcpParkOut(@RequestBody Map<String, String> paramMap) {
Date currentDate = new Date(); Date currentDate = new Date();


WxCarCmdLog wxCarCmdLog = new WxCarCmdLog(); WxCarCmdLog wxCarCmdLog = new WxCarCmdLog();
@@ -202,7 +221,7 @@ public class WxCarCallBackController extends BaseController {
wxCarCmdLogService.saveOrUpdate(wxCarCmdLog); wxCarCmdLogService.saveOrUpdate(wxCarCmdLog);
} catch (Exception e) { } catch (Exception e) {
logger.error("etcpParkOutCallback: 入库错误 " + paramMap.toString()); logger.error("etcpParkOutCallback: 入库错误 " + paramMap.toString());
return new Result(ErrorCode.DB_FAIL.getCode(), "入库错误" + paramMap.toString());
return true;
} }


try { try {
@@ -219,12 +238,9 @@ public class WxCarCallBackController extends BaseController {
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
logger.error("WxCarPayRecord: 出场更新错误 " + paramMap.toString()); 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;
} }


/** /**


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