Преглед изворни кода

ias添加协议接口

增补OBU开发
master
huminghao пре 5 дана
родитељ
комит
113f6645a4
15 измењених фајлова са 329 додато и 27 уклоњено
  1. 2
    2
      gly-base-core/src/main/java/cn/com/taiji/core/entity/ass/AssObuSupply.java
  2. 28
    0
      gly-base-core/src/main/java/cn/com/taiji/core/model/comm/protocol/ias/order/IssueOrderNormalRequest.java
  3. 15
    0
      gly-base-core/src/main/java/cn/com/taiji/core/model/comm/protocol/ias/order/IssueOrderNormalResponse.java
  4. 1
    0
      gly-base-core/src/main/java/cn/com/taiji/core/model/comm/protocol/ias/order/OrderServiceCmd.java
  5. 3
    0
      gly-base-core/src/main/java/cn/com/taiji/core/repo/jpa/ass/AssOrderinfoRepo.java
  6. 4
    0
      gly-base-core/src/main/java/cn/com/taiji/core/repo/jpa/issue/IssueOrderinfoRepo.java
  7. 18
    3
      zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/dto/ass/obuSupply/AssObuSupplyApplyRequestDTO.java
  8. 0
    1
      zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/manager/AbstractIawManager.java
  9. 2
    1
      zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/manager/ass/AssObuSupplyManager.java
  10. 118
    3
      zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/manager/ass/AssObuSupplyManagerImpl.java
  11. 21
    17
      zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/manager/comm/VehicleInfoManagerImpl.java
  12. 44
    0
      zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/model/base/VehicleInfoQueryDeviceModel.java
  13. 1
    0
      zhywpt-service-ias/src/main/java/cn/com/taiji/ias/dict/DataType.java
  14. 4
    0
      zhywpt-service-ias/src/main/java/cn/com/taiji/ias/manager/handler/OrderServiceHandler.java
  15. 68
    0
      zhywpt-service-ias/src/main/java/cn/com/taiji/ias/manager/order/IssueOrderNormalManager.java

+ 2
- 2
gly-base-core/src/main/java/cn/com/taiji/core/entity/ass/AssObuSupply.java Прегледај датотеку

@@ -90,8 +90,8 @@ public class AssObuSupply extends AbstractStringPropertyUUIDEntity {
private String transCertUrl;//道路运输证图片地址

@Column(name = "INSERT_TIME")
private LocalDateTime insertTime;
private LocalDateTime insertTime = LocalDateTime.now();
@Column(name = "UPDATE_TIME")
private LocalDateTime updateTime;
private LocalDateTime updateTime = LocalDateTime.now();

}

+ 28
- 0
gly-base-core/src/main/java/cn/com/taiji/core/model/comm/protocol/ias/order/IssueOrderNormalRequest.java Прегледај датотеку

@@ -0,0 +1,28 @@
package cn.com.taiji.core.model.comm.protocol.ias.order;

import cn.com.taiji.core.model.comm.protocol.AbstractSignTypeRequest;
import cn.com.taiji.core.model.comm.protocol.valid.ErrorMsgBuilder;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

@Getter
@Setter
@Accessors(chain = true)
public class IssueOrderNormalRequest extends AbstractSignTypeRequest<IssueOrderNormalResponse> {

public IssueOrderNormalRequest() {
super(OrderServiceCmd.FINDNORMALORDER);
}

@NotBlank
private String vehicleId;

public void relatedValid(ErrorMsgBuilder builder) {

}

}

+ 15
- 0
gly-base-core/src/main/java/cn/com/taiji/core/model/comm/protocol/ias/order/IssueOrderNormalResponse.java Прегледај датотеку

@@ -0,0 +1,15 @@
package cn.com.taiji.core.model.comm.protocol.ias.order;

import cn.com.taiji.core.model.comm.protocol.AbstractSignTypeResponse;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;


@Getter
@Setter
@Accessors(chain = true)
public class IssueOrderNormalResponse extends AbstractSignTypeResponse {

private String orderNo;
}

+ 1
- 0
gly-base-core/src/main/java/cn/com/taiji/core/model/comm/protocol/ias/order/OrderServiceCmd.java Прегледај датотеку

@@ -28,6 +28,7 @@ public enum OrderServiceCmd implements SignServiceCommand {
ORDERAUDIT("订单审核", OrderAuditRequest.class),//
PUSHAGREEMENT("协议提交接口", PushAgreementRequest.class),
CONSIGNEE("收货信息", OrderConsigneeRequest.class),
FINDNORMALORDER("查询正常订单", IssueOrderNormalRequest.class),
;

private final String value;

+ 3
- 0
gly-base-core/src/main/java/cn/com/taiji/core/repo/jpa/ass/AssOrderinfoRepo.java Прегледај датотеку

@@ -52,4 +52,7 @@ public interface AssOrderinfoRepo extends AbstractJpaRepo<AssOrderinfo, String>{
@Query(" from AssOrderinfo where customerId = ?1 and vehicleId = ?2 and obuId = ?3 and orderType = ?4 order by updateTime desc")
List<AssOrderinfo> findByCusIdAndObuId(String customerId, String vehicleId, String obuId, AssOrderType orderType);

@Query(" from AssOrderinfo where vehicleId = ?1 and orderStatus = ?2 and orderType in ?3")
List<AssOrderinfo> listByVehicleIdAndStatusAndTypeList(String vehicleId, AssOrderStatus orderStatus ,AssOrderType[] typeList);

}

+ 4
- 0
gly-base-core/src/main/java/cn/com/taiji/core/repo/jpa/issue/IssueOrderinfoRepo.java Прегледај датотеку

@@ -12,7 +12,11 @@ public interface IssueOrderinfoRepo extends AbstractJpaRepo<IssueOrderinfo, Stri
@Query("from IssueOrderinfo where vehicleId = ?1 and orderStatus = 'NORMAL'")
IssueOrderinfo findNormalByVehicleId(String vehicleId);

@Query("from IssueOrderinfo where vehicleId = ?1 and orderStatus IN ('NORMAL','ACTIVE') order by updateTime desc")
List<IssueOrderinfo> queryNormalOrActiveByVehicleId(String vehicleId);

IssueOrderinfo findByOrderNo(String orderNo);

@Query("from IssueOrderinfo where customerId = ?1 and orderStatus = 'NORMAL' and orderStep = 'WAITING_ACTIVE'")
List<IssueOrderinfo> listByCustomerId(String customerId);


+ 18
- 3
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/dto/ass/obuSupply/AssObuSupplyApplyRequestDTO.java Прегледај датотеку

@@ -3,6 +3,7 @@ package cn.com.taiji.iaw.dto.ass.obuSupply;
import cn.com.taiji.common.valid.ViolationValidator;
import cn.com.taiji.core.dto.AbstractBizRequestDTO;
import cn.com.taiji.core.entity.dict.basic.IdType;
import cn.com.taiji.core.entity.dict.basic.SourceType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
@@ -35,8 +36,9 @@ public class AssObuSupplyApplyRequestDTO extends AbstractBizRequestDTO {
@NotBlank
private String vehNegImgUrl;


@ApiModelProperty(value = "行驶证的所有人")
@NotBlank
private String ownerName;

@ApiModelProperty(value = "办理人姓名")
private String agentName;
@@ -79,7 +81,20 @@ public class AssObuSupplyApplyRequestDTO extends AbstractBizRequestDTO {


protected void validate(ViolationValidator validator){
// validator.validFieldNotBlank("passId",passId);
if (getOrderSource() == SourceType.SERVICE_HALL){
validator.validFieldNotBlank("agentName",agentName);
validator.validFieldNotNull("agentIdType",agentIdType);
validator.validFieldNotBlank("agentIdNum",agentIdNum);
validator.validFieldNotBlank("agentTel",agentTel);
validator.validFieldNotBlank("agentAddress",agentAddress);
validator.validFieldNotBlank("agentIdVld",agentIdVld);
validator.validFieldNotBlank("agentPosImgUrl",agentPosImgUrl);
validator.validFieldNotBlank("agentNegImgUrl",agentNegImgUrl);
if (!agentName.equals(ownerName)){
validator.validFieldNotBlank("proxyUrl",proxyUrl);
}
}

}

}

+ 0
- 1
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/manager/AbstractIawManager.java Прегледај датотеку

@@ -22,7 +22,6 @@ import cn.com.taiji.core.repo.jpa.ass.AssAgencyConfigRepo;
import cn.com.taiji.core.repo.jpa.comm.OcrResultRepo;
import cn.com.taiji.core.repo.jpa.log.OperateLogRepo;
import cn.com.taiji.core.repo.jpa.user.AccountInfoRepo;
import cn.com.taiji.core.repo.jpa.user.StaffRepo;
import cn.com.taiji.iaw.model.MyFinals;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.context.request.RequestContextHolder;

+ 2
- 1
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/manager/ass/AssObuSupplyManager.java Прегледај датотеку

@@ -1,5 +1,6 @@
package cn.com.taiji.iaw.manager.ass;

import cn.com.taiji.common.manager.ManagerException;
import cn.com.taiji.iaw.dto.ass.obuSupply.AssObuSupplyApplyRequestDTO;
import cn.com.taiji.iaw.dto.ass.obuSupply.AssObuSupplyApplyResponseDTO;

@@ -12,6 +13,6 @@ import cn.com.taiji.iaw.dto.ass.obuSupply.AssObuSupplyApplyResponseDTO;
*/
public interface AssObuSupplyManager {

AssObuSupplyApplyResponseDTO apply(AssObuSupplyApplyRequestDTO dto);
AssObuSupplyApplyResponseDTO apply(AssObuSupplyApplyRequestDTO dto) throws ManagerException;

}

+ 118
- 3
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/manager/ass/AssObuSupplyManagerImpl.java Прегледај датотеку

@@ -1,12 +1,34 @@
package cn.com.taiji.iaw.manager.ass;

import cn.com.taiji.common.manager.ManagerException;
import cn.com.taiji.common.manager.net.http.ServiceHandleException;
import cn.com.taiji.common.pub.CollectionTools;
import cn.com.taiji.core.entity.ass.AssObuSupply;
import cn.com.taiji.core.entity.ass.AssOrderinfo;
import cn.com.taiji.core.entity.basic.QtkCustomerInfo;
import cn.com.taiji.core.entity.basic.QtkVehicleInfo;
import cn.com.taiji.core.entity.dict.ass.AssOrderStatus;
import cn.com.taiji.core.entity.dict.ass.AssOrderStep;
import cn.com.taiji.core.entity.dict.ass.AssOrderType;
import cn.com.taiji.core.entity.dict.basic.CardType;
import cn.com.taiji.core.entity.dict.basic.SourceType;
import cn.com.taiji.core.repo.jpa.ass.AssObuSupplyRepo;
import cn.com.taiji.core.repo.jpa.ass.AssOrderinfoRepo;
import cn.com.taiji.core.repo.jpa.basic.QtkCustomerInfoRepo;
import cn.com.taiji.core.repo.jpa.basic.QtkVehicleInfoRepo;
import cn.com.taiji.iaw.dto.ass.obuSupply.AssObuSupplyApplyRequestDTO;
import cn.com.taiji.iaw.dto.ass.obuSupply.AssObuSupplyApplyResponseDTO;
import cn.com.taiji.iaw.manager.AbstractIawManager;
import cn.com.taiji.iaw.manager.comm.VehicleInfoManagerImpl;
import cn.com.taiji.iaw.model.MyFinals;
import cn.com.taiji.iaw.model.base.VehicleInfoQueryDeviceModel;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.time.LocalDateTime;
import java.util.List;

/**
* @Auther: humh
@@ -22,13 +44,106 @@ public class AssObuSupplyManagerImpl extends AbstractIawManager implements AssOb
private AssObuSupplyRepo obuSupplyRepo;
@Autowired
private AssOrderinfoRepo orderinfoRepo;

@Autowired
private QtkVehicleInfoRepo vehicleInfoRepo;
@Autowired
private VehicleInfoManagerImpl vehicleInfoManagerImpl;
@Autowired
private QtkCustomerInfoRepo customerInfoRepo;

@Override
public AssObuSupplyApplyResponseDTO apply(AssObuSupplyApplyRequestDTO dto) {
@Transactional(rollbackFor = Exception.class)
public AssObuSupplyApplyResponseDTO apply(AssObuSupplyApplyRequestDTO dto) throws ManagerException {
dto.validate();
if (dto.getOrderSource() == SourceType.WECHAT){
if (StringUtils.isEmpty(dto.getCustomerId())){
throw new ManagerException("用户编号不能为空");
}
}
QtkVehicleInfo vehicleInfo = vehicleInfoRepo.findByVehicleId(dto.getVehicleId());
if (vehicleInfo == null){
throw new ManagerException("未获取到车辆信息");
}
VehicleInfoQueryDeviceModel model = validVehicleInfo(vehicleInfo, dto);
String orderNo = createOrderNo(MyFinals.QTZL_AGENCY_ID);
AssObuSupply obuSupply = copyProperties(dto, new AssObuSupply());
obuSupply.setOrderNo(orderNo);
obuSupply.setPayee(1);//todo 先默认1-黔通
obuSupply.setFee(2000);//todo 默认20
obuSupplyRepo.save(obuSupply);
//生成售后订单
createAssOrderinfo(vehicleInfo, orderNo, dto, model);

return new AssObuSupplyApplyResponseDTO();
}

private void createAssOrderinfo(QtkVehicleInfo vehicleInfo, String orderNo, AssObuSupplyApplyRequestDTO dto, VehicleInfoQueryDeviceModel model) throws ServiceHandleException {

AssOrderinfo orderinfo = new AssOrderinfo();
LocalDateTime now = LocalDateTime.now();
orderinfo.setOrderNo(orderNo);
orderinfo.setOrderType(AssOrderType.OBU_SUPPLY);
orderinfo.setVehicleId(vehicleInfo.getVehicleId());
orderinfo.setVehiclePlate(vehicleInfo.getVehiclePlate());
orderinfo.setVehiclePlateColor(vehicleInfo.getVehiclePlateColor());
orderinfo.setCardId(model.getCardId());
orderinfo.setCardType(CardType.fromCode(model.getCardType()));
orderinfo.setOrderSource(dto.getOrderSource());
orderinfo.setAgencyId(MyFinals.QTZL_AGENCY_ID);
orderinfo.setOrderStatus(AssOrderStatus.NORMAL);
orderinfo.setOrderStep(AssOrderStep.WAITING_PAY);
orderinfo.setApplyTime(now);
orderinfo.setStaffOpenId(findOpenIdByToken(dto.getAccessToken()));
orderinfo.setOpenId(findOpenIdByToken(dto.getAccessToken()));
if (!StringUtils.isEmpty(dto.getCustomerId())){
QtkCustomerInfo customerInfo = customerInfoRepo.findByCustomerId(dto.getCustomerId());
orderinfo.setCustomerId(dto.getCustomerId());
orderinfo.setCustomerTel(customerInfo.getCustomerTel());
orderinfo.setCustomerName(customerInfo.getCustomerName());
orderinfo.setCustomerIdType(customerInfo.getCustomerIdType());
orderinfo.setUserType(customerInfo.getUserType());
}
if ((vehicleInfo.getType() > 10 && vehicleInfo.getType() <= 20) || !dto.getOwnerName().equals(vehicleInfo.getOwnerName())){
//客车或者 行驶证上所有人的信息和系统中保存的所有人的信息是不一致
orderinfo.setArtificialStatus(1);
}else {
orderinfo.setArtificialStatus(2);
}

orderinfoRepo.save(orderinfo);
}

private VehicleInfoQueryDeviceModel validVehicleInfo(QtkVehicleInfo vehicleInfo, AssObuSupplyApplyRequestDTO dto) throws ManagerException {
if (!dto.getOwnerName().equals(vehicleInfo.getOwnerName())){
throw new ManagerException("行驶证所有人与车辆所有不一致!");
}
if (vehicleInfo.getType() > 10 && vehicleInfo.getType() <= 20){
if (StringUtils.isEmpty(dto.getVehHeadUrl())){
throw new ManagerException("货车必须上传车头照!");
}
if (StringUtils.isEmpty(dto.getVehBodyUrl())){
throw new ManagerException("货车必须上传车身照!");
}
if (StringUtils.isEmpty(dto.getVehAndPersonUrl())){
throw new ManagerException("货车必须上传人车合影照!");
}
if (StringUtils.isEmpty(dto.getTransCertUrl())){
throw new ManagerException("货车必须上传道路运输证图片!");
}
}

VehicleInfoQueryDeviceModel model = vehicleInfoManagerImpl.getDevice(dto.getOrderSource(), findOpenIdByToken(dto.getAccessToken()), findAgencyIdByToken(dto.getAccessToken()), vehicleInfo);
if (model == null){
throw new ManagerException("没有获取到正常状态的卡,不能进行增补OBU");
}
if (!StringUtils.isEmpty(model.getObuId())){
throw new ManagerException("查询到该车辆有正常状态的OBU,无需增补OBU");
}

return null;
List<AssOrderinfo> assOrderinfos = orderinfoRepo.listByVehicleIdAndStatusAndTypeList(vehicleInfo.getVehicleId(), AssOrderStatus.NORMAL, new AssOrderType[]{AssOrderType.OBU_SUPPLY});
if (!CollectionTools.isEmpty(assOrderinfos)){
throw new ManagerException("查询到该OBU有在途的订单,不能进行增补OBU");
}
return model;
}
}

+ 21
- 17
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/manager/comm/VehicleInfoManagerImpl.java Прегледај датотеку

@@ -19,16 +19,14 @@ import cn.com.taiji.core.repo.jpa.basic.QtkVehicleInfoRepo;
import cn.com.taiji.core.repo.jpa.user.StaffRepo;
import cn.com.taiji.core.repo.request.basic.QtkVehicleInfoPageRequest;
import cn.com.taiji.iaw.dto.comm.*;
import cn.com.taiji.iaw.manager.AbstractCommManager;
import cn.com.taiji.iaw.manager.AbstractIawManager;
import cn.com.taiji.iaw.model.MyFinals;
import cn.com.taiji.iaw.model.base.CardInfoModel;
import cn.com.taiji.iaw.model.base.VehicleInfoQueryDeviceModel;
import cn.com.taiji.iaw.tools.WxLoginUserUtil;
import org.apache.commons.compress.utils.Lists;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;


@@ -96,32 +94,36 @@ public class VehicleInfoManagerImpl extends AbstractIawManager implements Vehicl
copyProperties(customerInfo, resDTO);
resDTO.setCustomerIdType(customerInfo.getCustomerIdType().getCode());

VehicleInfoQueryDeviceModel model = getDevice(dto.getOrderSource(), findOpenIdByToken(dto.getAccessToken()), findAgencyIdByToken(dto.getAccessToken()), vehicleInfo);
BeanTools.copyProperties(model, resDTO);
return resDTO;
}

public VehicleInfoQueryDeviceModel getDevice(SourceType sourceType, String openId, String agencyId, QtkVehicleInfo vehicleInfo) throws ManagerException {
//查询卡签信息
List<QtkCardInfo> cardInfos = Lists.newArrayList();
List<QtkObuInfo> obuInfos = Lists.newArrayList();

if (SourceType.SERVICE_HALL.equals(dto.getOrderSource())) {
if (SourceType.SERVICE_HALL.equals(sourceType)) {
//判断是否是黔通智联
Staff staff = staffRepo.findByOpenId(findOpenIdByToken(dto.getAccessToken()));
Staff staff = staffRepo.findByOpenId(findOpenIdByToken(openId));
if (staff == null){
throw new ManagerException("为获取到当前员工账号!");
}
if (isManager(staff.getIdentityType(), staff.getAgencyId())){
cardInfos = cardInfoRepo.listByVehicleId(dto.getVehicleId());
obuInfos = obuInfoRepo.listByVehicleId(dto.getVehicleId());
cardInfos = cardInfoRepo.listByVehicleId(vehicleInfo.getVehicleId());
obuInfos = obuInfoRepo.listByVehicleId(vehicleInfo.getVehicleId());
}else {
cardInfos = cardInfoRepo.listByAgencyIdAndVehicleId(findAgencyIdByToken(dto.getAccessToken()),dto.getVehicleId());
obuInfos = obuInfoRepo.listByAgencyIdAndVehicleId(findAgencyIdByToken(dto.getAccessToken()),dto.getVehicleId());
cardInfos = cardInfoRepo.listByAgencyIdAndVehicleId(agencyId,vehicleInfo.getVehicleId());
obuInfos = obuInfoRepo.listByAgencyIdAndVehicleId(agencyId,vehicleInfo.getVehicleId());
}
}
else {
cardInfos = cardInfoRepo.listByCustomerIdAndVehicleId(vehicleInfo.getCustomerId(), dto.getVehicleId());
obuInfos = obuInfoRepo.listByCustomerIdAndVehicleId(vehicleInfo.getCustomerId(), dto.getVehicleId());
cardInfos = cardInfoRepo.listByCustomerIdAndVehicleId(vehicleInfo.getCustomerId(), vehicleInfo.getVehicleId());
obuInfos = obuInfoRepo.listByCustomerIdAndVehicleId(vehicleInfo.getCustomerId(), vehicleInfo.getVehicleId());
}
//处理卡签信息
handleDevice(resDTO, cardInfos, obuInfos);

return resDTO;
return handleDevice(cardInfos, obuInfos);
}

@Override
@@ -161,14 +163,15 @@ public class VehicleInfoManagerImpl extends AbstractIawManager implements Vehicl
return resDTO;
}

private void handleDevice(VehicleInfoQueryDeviceResponseDTO resDTO,List<QtkCardInfo> cardInfos, List<QtkObuInfo> obuInfos) {
private VehicleInfoQueryDeviceModel handleDevice(List<QtkCardInfo> cardInfos, List<QtkObuInfo> obuInfos) {
VehicleInfoQueryDeviceModel model = new VehicleInfoQueryDeviceModel();
//卡
if (!CollectionTools.isEmpty(cardInfos)){
QtkCardInfo qtkCardInfo = cardInfos.stream()
.filter(cardInfo -> cardInfo.getCardStatus() == CardStatus.ZC)
.findFirst()
.orElse(cardInfos.isEmpty() ? null : cardInfos.get(0));
copyProperties(qtkCardInfo , resDTO);
copyProperties(qtkCardInfo , model);
}

//签
@@ -177,8 +180,9 @@ public class VehicleInfoManagerImpl extends AbstractIawManager implements Vehicl
.filter(obuInfo -> obuInfo.getObuStatus() == ObuStatus.ZC)
.findFirst()
.orElse(obuInfos.isEmpty() ? null : obuInfos.get(0));
copyProperties(qtkObuInfo , resDTO,"cardId");
copyProperties(qtkObuInfo , model,"cardId");
}
return model;
}



+ 44
- 0
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/model/base/VehicleInfoQueryDeviceModel.java Прегледај датотеку

@@ -0,0 +1,44 @@
package cn.com.taiji.iaw.model.base;

import cn.com.taiji.common.model.BaseModel;
import cn.com.taiji.core.entity.dict.basic.CardStatus;
import cn.com.taiji.core.entity.dict.basic.ObuStatus;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.time.LocalDateTime;

/**
* @Auther: humh
* @Description:
* @Date: 2025/9/11 22:11
* @email: huminghao@mail.taiji.com.cn
* @version: 1.0
*/

@Getter
@Setter
public class VehicleInfoQueryDeviceModel extends BaseModel {

@ApiModelProperty(value = "卡号")
private String cardId;

@ApiModelProperty(value = "卡类型")
private Integer cardType;

@ApiModelProperty(value = "卡状态")
private CardStatus cardStatus;

@ApiModelProperty(value = "卡过期时间")
private LocalDateTime cardExpireTime;

@ApiModelProperty(value = "签号")
private String obuId;

@ApiModelProperty(value = "签状态")
private ObuStatus obuStatus;

@ApiModelProperty(value = "签过期时间")
private LocalDateTime obuExpireTime;
}

+ 1
- 0
zhywpt-service-ias/src/main/java/cn/com/taiji/ias/dict/DataType.java Прегледај датотеку

@@ -31,6 +31,7 @@ public enum DataType {
PUSH_AGREEMENT("pushAgreement", IasServiceType.ORDER, OrderServiceCmd.PUSHAGREEMENT),
ORDERSIGNCHECK("orderSignCheck", IasServiceType.ORDER, OrderServiceCmd.SIGNCHECK),
CONSIGNEE("consignee", IasServiceType.ORDER, OrderServiceCmd.CONSIGNEE),
FIND_NORMAL_ORDER("findNormalOrder", IasServiceType.ORDER, OrderServiceCmd.FINDNORMALORDER),

GET_H5_URL("getH5Url", IasServiceType.ISSUE, IssueServiceCmd.GETH5URL),


+ 4
- 0
zhywpt-service-ias/src/main/java/cn/com/taiji/ias/manager/handler/OrderServiceHandler.java Прегледај датотеку

@@ -60,6 +60,8 @@ public class OrderServiceHandler extends AbstractIasServiceHandler<OrderServiceC
private GetCarSignManager getCarSignManager;
@Autowired
private PushAgreementManager pushAgreementManager;
@Autowired
private IssueOrderNormalManager issueOrderNormalManager;

@Override
protected <T extends AbstractSignTypeRequest<?>> AbstractSignTypeResponse handleInternal(T request, SignJsonRequest jsonReq, AbstractHttpRequestInfo reqInfo) throws ServiceHandleException {
@@ -107,6 +109,8 @@ public class OrderServiceHandler extends AbstractIasServiceHandler<OrderServiceC
return orderConsigneeManager.serviceHandle((OrderConsigneeRequest)request, jsonReq.getIfCode(), jsonReq.getReqId(), reqInfo);
case PUSHAGREEMENT:
return pushAgreementManager.serviceHandle((PushAgreementRequest)request, jsonReq.getIfCode(), jsonReq.getReqId(), reqInfo);
case FINDNORMALORDER:
return issueOrderNormalManager.serviceHandle((IssueOrderNormalRequest)request, jsonReq.getIfCode(), jsonReq.getReqId(), reqInfo);
default:
throw FileProtocolSystemError.NOT_SUPPORT.toHandleException(jsonReq.getIfCode());
}

+ 68
- 0
zhywpt-service-ias/src/main/java/cn/com/taiji/ias/manager/order/IssueOrderNormalManager.java Прегледај датотеку

@@ -0,0 +1,68 @@
package cn.com.taiji.ias.manager.order;

import cn.com.taiji.common.manager.net.http.ServiceHandleException;
import cn.com.taiji.common.pub.CollectionTools;
import cn.com.taiji.core.entity.issue.IssueOrderinfo;
import cn.com.taiji.core.model.comm.protocol.AbstractSignTypeResponse;
import cn.com.taiji.core.model.comm.protocol.ias.order.IssueOrderNormalRequest;
import cn.com.taiji.core.model.comm.protocol.ias.order.IssueOrderNormalResponse;
import cn.com.taiji.core.model.comm.protocol.valid.ErrorMsgBuilder;
import cn.com.taiji.core.repo.jpa.issue.IssueOrderinfoRepo;
import cn.com.taiji.ias.dict.DataType;
import cn.com.taiji.ias.model.ServiceLogEvent;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

/**
* 查询正常订单
*
*/
@Service
public class IssueOrderNormalManager extends AbstractOrderManager<IssueOrderNormalRequest> {

@Autowired
private IssueOrderinfoRepo orderinfoRepo;


public IssueOrderNormalManager() {
super(DataType.FIND_NORMAL_ORDER);
}

@Override
protected String getDataId(IssueOrderNormalRequest req) {
return req.getVehicleId();
}

@Override
protected void formatValidateInternal(ErrorMsgBuilder builder, IssueOrderNormalRequest req,
ServiceLogEvent event, Map<String, Object> dataStream) throws ServiceHandleException {
}

@Override
protected void businessValidateInternal(ErrorMsgBuilder builder, IssueOrderNormalRequest req,
ServiceLogEvent event, Map<String, Object> dataStream) throws ServiceHandleException {
}

@Override
protected void persistInternal(IssueOrderNormalRequest req, ServiceLogEvent event,
Map<String, Object> dataStream) throws ServiceHandleException {
}

@Override
protected AbstractSignTypeResponse getRes(IssueOrderNormalRequest req, ServiceLogEvent event,
Map<String, Object> dataStream) throws ServiceHandleException {
IssueOrderNormalResponse response = new IssueOrderNormalResponse();
List<IssueOrderinfo> issueOrderinfos = orderinfoRepo.queryNormalOrActiveByVehicleId(req.getVehicleId());
if (CollectionTools.isEmpty(issueOrderinfos)){
return response;
}
IssueOrderinfo issueOrderinfo = CollectionTools.extractOne(issueOrderinfos);
response.setOrderNo(issueOrderinfo.getOrderNo());
return response;
}


}

Loading…
Откажи
Сачувај