@@ -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(); | |||
} |
@@ -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) { | |||
} | |||
} |
@@ -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; | |||
} |
@@ -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; |
@@ -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); | |||
} |
@@ -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); | |||
@@ -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); | |||
} | |||
} | |||
} | |||
} |
@@ -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; |
@@ -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; | |||
} |
@@ -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; | |||
} | |||
} |
@@ -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; | |||
} | |||
@@ -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; | |||
} |
@@ -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), | |||
@@ -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()); | |||
} |
@@ -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; | |||
} | |||
} |