Quellcode durchsuchen

ias 签约信息变更完善

master
chenchaod vor 1 Tag
Ursprung
Commit
f02ce5c42b

+ 1
- 1
gly-base-core/src/main/java/cn/com/taiji/core/entity/ass/AssSignChange.java Datei anzeigen

@@ -30,7 +30,7 @@ public class AssSignChange extends StringPropertyUUIDEntity {
private String productId;//产品编号
@NotBlank
@Column(name = "AGENCY_ID")
private String agencyId;
private String agencyId;//机构编号(即将签约渠道);
@Size(max = 64)
@Column(name = "VEHICLE_PLATE")
private String vehiclePlate;//车牌号;

+ 5
- 0
gly-base-core/src/main/java/cn/com/taiji/core/repo/jpa/basic/QtkBlackCardRepo.java Datei anzeigen

@@ -2,7 +2,9 @@ package cn.com.taiji.core.repo.jpa.basic;

import cn.com.taiji.common.repo.jpa.AbstractJpaRepo;
import cn.com.taiji.core.entity.basic.QtkBlackCard;
import cn.com.taiji.core.entity.basic.QtkCardInfo;
import cn.com.taiji.core.entity.dict.basic.CardBlackType;
import cn.com.taiji.core.entity.dict.basic.CardStatus;
import org.springframework.data.jpa.repository.Query;

import java.util.List;
@@ -13,6 +15,9 @@ public interface QtkBlackCardRepo extends AbstractJpaRepo<QtkBlackCard, String>
@Query("from QtkBlackCard where cardId=?1 and status=?2")
public List<QtkBlackCard> listCardBlackByStatus(String cardId, int status);

@Query("from QtkBlackCard where cardId=?1 and type in ?2 and status =?3")
public List<QtkBlackCard> listCardBlack(String cardId, List<CardBlackType> type, int status);

@Query("from QtkBlackCard where cardId=?1 and type = ?2 order by creationTime desc")
QtkBlackCard findByCardIdAndType(String cardId, CardBlackType type);


+ 45
- 4
zhywpt-service-ias/src/main/java/cn/com/taiji/ias/manager/ass/SignChangeApplyManager.java Datei anzeigen

@@ -3,12 +3,11 @@ package cn.com.taiji.ias.manager.ass;
import cn.com.taiji.common.manager.net.http.ServiceHandleException;
import cn.com.taiji.core.entity.ass.AssOrderinfo;
import cn.com.taiji.core.entity.ass.AssSignChange;
import cn.com.taiji.core.entity.basic.QtkCustomerInfo;
import cn.com.taiji.core.entity.basic.QtkVehicleInfo;
import cn.com.taiji.core.entity.basic.*;
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.SourceType;
import cn.com.taiji.core.entity.dict.basic.*;
import cn.com.taiji.core.entity.dict.issue.FeeCategory;
import cn.com.taiji.core.entity.dict.issue.OrderPayType;
import cn.com.taiji.core.entity.dict.issue.OrderType;
@@ -19,6 +18,9 @@ import cn.com.taiji.core.model.comm.protocol.ias.ass.SignChangeApplyRequest;
import cn.com.taiji.core.model.comm.protocol.ias.ass.SignChangeApplyResponse;
import cn.com.taiji.core.model.comm.protocol.valid.ErrorMsgBuilder;
import cn.com.taiji.core.repo.jpa.ass.AssSignChangeRepo;
import cn.com.taiji.core.repo.jpa.basic.QtkBlackCardRepo;
import cn.com.taiji.core.repo.jpa.basic.QtkCardInfoRepo;
import cn.com.taiji.core.repo.jpa.basic.QtkObuInfoRepo;
import cn.com.taiji.core.repo.jpa.issue.IssueProductPayRepo;
import cn.com.taiji.core.repo.jpa.issue.IssueProductRepo;
import cn.com.taiji.ias.dict.DataType;
@@ -28,6 +30,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.io.IOException;
import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.List;
import java.util.Map;

@@ -39,18 +42,28 @@ import java.util.Map;
*/
@Service
public class SignChangeApplyManager extends AbstractAssManager<SignChangeApplyRequest>{

public SignChangeApplyManager() {
super(DataType.SIGNCHANGE_APPLY);
}
public static final String VEHICLE_INFO = "vehicle";
public static final String PRODUCT = "product";
public static final String CARD = "card";
public static final String OBU = "obu";
public static final List<CardBlackType> disableBlackType = Arrays.asList(CardBlackType.OVERDRAW,
CardBlackType.AGENCY_BLACK, CardBlackType.VEHICLE_TYPE_NOTMATCH,CardBlackType.CARD_BALANCE_INSUFFICIENT);

@Autowired
private IssueProductRepo issueProductRepo;
@Autowired
private IssueProductPayRepo issueProductPayRepo;
@Autowired
private AssSignChangeRepo assSignChangeRepo;
@Autowired
private QtkCardInfoRepo qtkCardInfoRepo;
@Autowired
private QtkObuInfoRepo qtkObuInfoRepo;
@Autowired
private QtkBlackCardRepo qtkBlackCardRepo;
@Override
protected String getDataId(SignChangeApplyRequest req) {
return "";
@@ -69,6 +82,7 @@ public class SignChangeApplyManager extends AbstractAssManager<SignChangeApplyRe
}
QtkVehicleInfo vehicleInfo = vehicleInfoRepo.findByVehicleId(req.getVehicleId());
if (vehicleInfo == null) throw newBusinessException("未找到车辆信息");
checkCardAndObu(req, vehicleInfo,dataStream);
IssueProduct product = issueProductRepo.findByReleaseId(req.getProductId());
if (product == null) {
throw newBusinessException("未找到产品信息");
@@ -80,11 +94,35 @@ public class SignChangeApplyManager extends AbstractAssManager<SignChangeApplyRe
dataStream.put(PRODUCT, product);
}

//校验卡签
private void checkCardAndObu(SignChangeApplyRequest req, QtkVehicleInfo vehicleInfo,Map<String, Object> dataStream) throws ServiceHandleException {
List<QtkCardInfo> qtkCardInfos = qtkCardInfoRepo.listByVehicleIdInUse(vehicleInfo.getVehicleId(), new CardStatus[]{CardStatus.ZC, CardStatus.KGS});
if (isEmpty(qtkCardInfos)) {
throw newBusinessException("未找到正常卡信息,不可办理");
}
QtkCardInfo cardInfo = qtkCardInfos.get(0);
if (CardType.CHARGE_CARD != cardInfo.getCardTypeNew()) {
throw newBusinessException("非记账卡不可办理");
}
List<QtkBlackCard> qtkBlackCards = qtkBlackCardRepo.listCardBlack(cardInfo.getCardId(), disableBlackType,1);
if (!isEmpty(qtkBlackCards)) {
throw newBusinessException("此卡存在黑名单");
}
List<QtkObuInfo> qtkObuInfos = qtkObuInfoRepo.listObuByVehicleIdInUse(req.getVehicleId(),new ObuStatus[]{ObuStatus.ZC,ObuStatus.BQGS,ObuStatus.YFX});
if (isEmpty(qtkObuInfos)) {
throw newBusinessException("未找到正常OBU信息,不可办理");
}
dataStream.put(CARD, cardInfo);
dataStream.put(OBU, qtkObuInfos.get(0));
}

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

QtkVehicleInfo vehicleInfo = (QtkVehicleInfo) dataStream.get(VEHICLE_INFO);
IssueProduct product = (IssueProduct) dataStream.get(PRODUCT);
QtkCardInfo cardInfo = (QtkCardInfo) dataStream.get(CARD);
QtkObuInfo obuInfo = (QtkObuInfo) dataStream.get(OBU);
QtkCustomerInfo customerInfo = customerInfoRepo.findByCustomerId(vehicleInfo.getCustomerId());

//创建售后单
@@ -118,6 +156,9 @@ public class SignChangeApplyManager extends AbstractAssManager<SignChangeApplyRe
assOrderinfo.setVehicleId(vehicleInfo.getVehicleId());
assOrderinfo.setVehiclePlate(vehicleInfo.getVehiclePlate());
assOrderinfo.setVehiclePlateColor(vehicleInfo.getVehiclePlateColor());
assOrderinfo.setCardId(cardInfo.getCardId());
assOrderinfo.setCardType(cardInfo.getCardTypeNew());
assOrderinfo.setObuId(obuInfo.getObuId());
orderInfoRepo.persist(assOrderinfo);
dataStream.put(ORDER, assOrderinfo);
//创建支付单

+ 25
- 0
zhywpt-service-ias/src/main/java/cn/com/taiji/ias/manager/ass/assSign/AssSignChangeManager.java Datei anzeigen

@@ -3,6 +3,8 @@ package cn.com.taiji.ias.manager.ass.assSign;
import cn.com.taiji.common.manager.net.http.ServiceHandleException;
import cn.com.taiji.core.entity.ass.AssOrderinfo;
import cn.com.taiji.core.entity.ass.AssSignChange;
import cn.com.taiji.core.entity.basic.QtkCardInfo;
import cn.com.taiji.core.entity.basic.QtkObuInfo;
import cn.com.taiji.core.entity.dict.ass.AssOrderStatus;
import cn.com.taiji.core.entity.dict.ass.AssOrderStep;
import cn.com.taiji.core.entity.user.AccountInfo;
@@ -11,10 +13,13 @@ import cn.com.taiji.core.model.comm.protocol.ias.ass.ResignRequest;
import cn.com.taiji.core.model.comm.protocol.valid.GlyServiceError;
import cn.com.taiji.core.repo.jpa.ass.AssOrderinfoRepo;
import cn.com.taiji.core.repo.jpa.ass.AssSignChangeRepo;
import cn.com.taiji.core.repo.jpa.basic.QtkCardInfoRepo;
import cn.com.taiji.core.repo.jpa.basic.QtkObuInfoRepo;
import cn.com.taiji.ias.manager.ass.AssOrderSignQueryManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.time.LocalDateTime;
import java.util.Map;

/**
@@ -33,6 +38,10 @@ public class AssSignChangeManager extends AbsAssSignManager {
private AssSignChangeRepo assSignChangeRepo;
@Autowired
private AssOrderinfoRepo orderInfoRepo;
@Autowired
private QtkCardInfoRepo qtkCardInfoRepo;
@Autowired
private QtkObuInfoRepo qtkObuInfoRepo;

/**
* 获取机构Id
@@ -76,8 +85,24 @@ public class AssSignChangeManager extends AbsAssSignManager {
*/
@Override
public void persistHandle(AssOrderinfo orderinfo, AssSignQueryRequest req,Map<String, Object> dataStream) {
AssSignChange assSignChange = (AssSignChange) dataStream.get(SIGNCHANGE);
LocalDateTime now = LocalDateTime.now();
//更新状态
orderinfo.setOrderStep(AssOrderStep.COMPLETED);
orderinfo.setOrderStatus(AssOrderStatus.FINISHED);
orderinfo.setUpdateTime(now);
orderInfoRepo.merge(orderinfo);
//更新卡片信息
QtkCardInfo cardInfo = qtkCardInfoRepo.findByCardId(orderinfo.getCardId());
cardInfo.setUpdateTime(now);
cardInfo.setPackageId(assSignChange.getProductId());
cardInfo.setAgencyId(assSignChange.getAgencyId());
cardInfo.setAccountId(assSignChange.getAgencyId());
qtkCardInfoRepo.merge(cardInfo);
//更新签信息
QtkObuInfo obuInfo = qtkObuInfoRepo.findByObuId(orderinfo.getObuId());
obuInfo.setAgencyId(assSignChange.getAgencyId());
obuInfo.setUpdateTime(now);
qtkObuInfoRepo.merge(obuInfo);
}
}

Laden…
Abbrechen
Speichern