|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- package com.qtzl.alterSales.manager.service;
-
- import cn.com.taiji.common.manager.ManagerException;
- import cn.com.taiji.common.manager.net.http.ServiceHandleException;
- import cn.hutool.core.bean.BeanUtil;
- import com.alibaba.fastjson.JSONObject;
- import com.qtzl.alterSales.dao.entity.primary.AflBindVehicleInfo;
- import com.qtzl.alterSales.dao.entity.second.AflCenterObuInfo;
- import com.qtzl.alterSales.dao.entity.second.AflCenterVehicleInfo;
- import com.qtzl.alterSales.dao.entity.second.AflDeviceCallback;
- import com.qtzl.alterSales.dao.repo.jpa.primary.AflBindVehicleInfoRepo;
- import com.qtzl.alterSales.dao.repo.jpa.second.AflCenterCardInfoRepo;
- import com.qtzl.alterSales.dao.repo.jpa.second.AflCenterObuInfoRepo;
- import com.qtzl.alterSales.dao.repo.jpa.second.AflCenterVehicleInfoRepo;
- import com.qtzl.alterSales.dao.repo.jpa.second.AflDeviceCallbackRepo;
- import com.qtzl.alterSales.manager.model.protocol.UcServiceError;
- import com.qtzl.alterSales.manager.model.protocol.sales.VehicleInfoFindByVehicleRequest;
- import com.qtzl.alterSales.manager.vo.AflCenterBlackInfoImplVo;
- import com.qtzl.alterSales.manager.vo.FindByVehicleVo;
- import com.qtzl.alterSales.zt.enums.ZttxInterfaceCode;
- import com.qtzl.alterSales.zt.utils.ZtHttpResponse;
- import com.qtzl.alterSales.zt.utils.ZtHttpUtil;
- import com.qtzl.alterSales.zt.vo.FindByVehicleIdRequestVo;
- import com.qtzl.alterSales.zt.vo.FindByVehicleIdResponse;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
-
- import javax.annotation.Resource;
- import java.util.Map;
-
- @Service
- public class VehicleInfoServiceImpl implements VehicleInfoService {
-
- @Resource
- AflBindVehicleInfoRepo aflBindVehicleInfoRepo;
- @Resource
- AflCenterCardInfoRepo aflCenterCardInfoRepo;
- @Resource
- AflCenterObuInfoRepo aflCenterObuInfoRepo;
- @Resource
- AflDeviceCallbackRepo aflDeviceCallbackRepo;
- @Resource
- AflCenterVehicleInfoRepo aflCenterVehicleInfoRepo;
-
- @Autowired
- private ZtHttpUtil httpUtil;
- @Resource
- private AflCenterBlackInfoService aflCenterBlackInfoService;
-
-
- @Override
- public FindByVehicleVo findByVehicle(VehicleInfoFindByVehicleRequest request) throws ServiceHandleException {
- FindByVehicleVo findByVehicleVo = new FindByVehicleVo();
- AflBindVehicleInfo aflBindVehicleInfo = aflBindVehicleInfoRepo.findByPlateNumAndPlateColor(request.getPlateNum(), request.getPlateColor());
- if (aflBindVehicleInfo == null) {
- AflCenterVehicleInfo aflCenterVehicleInfo = aflCenterVehicleInfoRepo.findByPlateNumAndPlateColor(request.getPlateNum(), request.getPlateColor());
- if (aflCenterVehicleInfo != null) {
- BeanUtil.copyProperties(aflCenterVehicleInfo, findByVehicleVo);
- findByVehicleVo.setDriverName(aflCenterVehicleInfo.getOwnerName());
- } else {
- findByVehicleVo = null;
- }
- } else {
- BeanUtil.copyProperties(aflBindVehicleInfo, findByVehicleVo);
- }
- if (findByVehicleVo != null && findByVehicleVo.getVehicleId() != null) {
- AflDeviceCallback aflDeviceCallback = aflDeviceCallbackRepo.findByVehicleId(findByVehicleVo.getVehicleId());
- if (aflDeviceCallback == null) {
- String cardId = aflCenterCardInfoRepo.findByVehicleId(findByVehicleVo.getVehicleId());
- if (!StringUtils.isEmpty(cardId)) {
- findByVehicleVo.setCardId(cardId);
- }
- AflCenterObuInfo aflCenterObuInfo = aflCenterObuInfoRepo.findByVehicleId(findByVehicleVo.getVehicleId());
- if (aflCenterObuInfo != null) {
- findByVehicleVo.setObuId(aflCenterObuInfo.getObuId());
- // findByVehicleVo.setEnableTime(aflCenterObuInfo.getEnableTime());
- if (aflCenterObuInfo.getEnableTime().indexOf('T') != -1) {
- findByVehicleVo.setEnableTime(aflCenterObuInfo.getEnableTime().substring(0, aflCenterObuInfo.getEnableTime().indexOf('T')));
- } else {
- findByVehicleVo.setEnableTime(aflCenterObuInfo.getEnableTime());
- }
- findByVehicleVo.setExpireTime(aflCenterObuInfo.getExpireTime());
- }
- } else if (StringUtils.isEmpty(aflDeviceCallback.getCpuId())) {
- String cardId = aflCenterCardInfoRepo.findByVehicleId(findByVehicleVo.getVehicleId());
- if (!StringUtils.isEmpty(cardId)) {
- findByVehicleVo.setCardId(cardId);
- }
- } else if (StringUtils.isEmpty(aflDeviceCallback.getObuId())) {
- AflCenterObuInfo aflCenterObuInfo = aflCenterObuInfoRepo.findByVehicleId(findByVehicleVo.getVehicleId());
- if (aflCenterObuInfo != null) {
- findByVehicleVo.setObuId(aflCenterObuInfo.getObuId());
- if (aflCenterObuInfo.getEnableTime().indexOf('T') != -1) {
- findByVehicleVo.setEnableTime(aflCenterObuInfo.getEnableTime().substring(0, aflCenterObuInfo.getEnableTime().indexOf('T')));
- } else {
- findByVehicleVo.setEnableTime(aflCenterObuInfo.getEnableTime());
- }
- // findByVehicleVo.setEnableTime(aflCenterObuInfo.getEnableTime());
- findByVehicleVo.setExpireTime(aflCenterObuInfo.getExpireTime());
- }
- } else {
- findByVehicleVo.setCardId(aflDeviceCallback.getCpuId());
- findByVehicleVo.setObuId(aflDeviceCallback.getObuId());
- if (!StringUtils.isEmpty(aflDeviceCallback.getEnableTime())) {
- if (aflDeviceCallback.getEnableTime().indexOf('T') != -1) {
- findByVehicleVo.setEnableTime(aflDeviceCallback.getEnableTime().substring(0, aflDeviceCallback.getEnableTime().indexOf('T')));
- } else {
- findByVehicleVo.setEnableTime(aflDeviceCallback.getEnableTime());
- }
- }
-
- findByVehicleVo.setExpireTime(aflDeviceCallback.getExpireTime());
- }
-
- if (!StringUtils.isEmpty(findByVehicleVo.getCardId()) && !StringUtils.isEmpty(findByVehicleVo.getObuId())) {
- AflCenterBlackInfoImplVo aflCenterBlackInfoImplVo = null;
- try {
- aflCenterBlackInfoImplVo = aflCenterBlackInfoService.queryDeviceStatus(findByVehicleVo.getObuId(), findByVehicleVo.getCardId());
- } catch (ServiceHandleException e) {
- throw UcServiceError.BUSINESS_VALIDATE_ERR.toHandleException(e.getMessage());
- }
- if (aflCenterBlackInfoImplVo != null) {
- findByVehicleVo.setBlack(aflCenterBlackInfoImplVo.getBlack());
- }
- }
-
- if (findByVehicleVo != null && !StringUtils.isEmpty(findByVehicleVo.getVehicleId())) {
- if (StringUtils.isEmpty(findByVehicleVo.getCardId()) || StringUtils.isEmpty(findByVehicleVo.getObuId())) {
- FindByVehicleIdRequestVo findByVehicleRequestVo = new FindByVehicleIdRequestVo();
- BeanUtil.copyProperties(findByVehicleVo, findByVehicleRequestVo);
- if (StringUtils.isEmpty(findByVehicleRequestVo.getVehicleId())){
- throw UcServiceError.BUSINESS_VALIDATE_ERR.toHandleException("根据车辆编号查询卡签信息失败,请求参数车辆编号不能为空");
- }
- Map<String, String> requestParam = findByVehicleRequestVo.getRequestParam();
- ZtHttpResponse response = null;
- try {
- response = httpUtil.doPost(ZttxInterfaceCode.XZ_FINDBYVEHICLEID_VEHICLE_INFO, requestParam);
- } catch (ManagerException e) {
- throw UcServiceError.BUSINESS_VALIDATE_ERR.toHandleException(e.getMessage());
- }
- if (response != null && response.getRcode() == 0) {
- try {
- FindByVehicleIdResponse res = JSONObject.parseObject(response.getData(), FindByVehicleIdResponse.class);
- findByVehicleVo.setObuId(res.getObuId());
- findByVehicleVo.setEnableTime(res.getEnableTime());
- findByVehicleVo.setExpireTime(res.getExpireTime());
- findByVehicleVo.setCardId(res.getCpuId());
- } catch (Exception e) {
- throw UcServiceError.BUSINESS_VALIDATE_ERR.toHandleException("返回数据解析异常");
- }
- }
- }
- }
- }
- return findByVehicleVo;
- }
-
- }
|