浏览代码

blk卡签下黑反馈调用部中心接口

master
huminghao 1 个月前
父节点
当前提交
bfd5813302

+ 1
- 0
gly-base-core/src/main/java/cn/com/taiji/core/model/comm/protocol/ias/ygz/YgzCardBlackUploadResponse.java 查看文件

@@ -8,5 +8,6 @@ import lombok.experimental.Accessors;
@Setter
@Accessors(chain = true)
public class YgzCardBlackUploadResponse extends YgzCommonResponse {
// 1、上传成功 2、无需上传 -1 、再尝试 0、需手工反白
private Integer uploadStatus;
}

+ 1
- 0
gly-base-core/src/main/java/cn/com/taiji/core/model/comm/protocol/ias/ygz/YgzObuBlackUploadResponse.java 查看文件

@@ -8,5 +8,6 @@ import lombok.experimental.Accessors;
@Setter
@Accessors(chain = true)
public class YgzObuBlackUploadResponse extends YgzCommonResponse {
// 1、上传成功 2、无需上传 -1 、再尝试 0、需手工反白
private Integer uploadStatus;
}

+ 1
- 0
gly-base-core/src/main/java/cn/com/taiji/core/repo/jpa/basic/QtkVehicleInfoRepo.java 查看文件

@@ -4,6 +4,7 @@ import cn.com.taiji.common.repo.jpa.AbstractJpaRepo;
import cn.com.taiji.core.entity.basic.QtkVehicleInfo;
import org.springframework.data.jpa.repository.Query;

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


+ 4
- 8
zhywpt-app-managew/src/main/java/cn/com/taiji/managew/manager/bls/BlackCardManagerImpl.java 查看文件

@@ -54,8 +54,7 @@ public class BlackCardManagerImpl extends AbstractCommManager implements BlackCa
@Override
public BlackCardInResponseDTO cardIn(BlackCardInRequestDTO req) throws ManagerException {
CardInRequest cardInRequest = copyProperties(req, new CardInRequest());
cardInRequest.setSourceIn(req.getLoginSource());
cardInRequest.setOrgCode(findAgencyIdByToken(req.getAccessToken()));
cardInRequest.setSourceIn(req.getOrderSource().name());
AbstractBlsResponse blsResponse = null;
try {
blsResponse = jsonPostRepeat(cardInRequest);
@@ -68,8 +67,7 @@ public class BlackCardManagerImpl extends AbstractCommManager implements BlackCa
@Override
public BlackCardOutResponseDTO cardOut(BlackCardOutRequestDTO req) throws ManagerException {
CardOutRequest cardOutRequest = copyProperties(req, new CardOutRequest());
cardOutRequest.setSourceIn(req.getLoginSource());
cardOutRequest.setOrgCode(findAgencyIdByToken(req.getAccessToken()));
cardOutRequest.setSourceIn(req.getOrderSource().name());
AbstractBlsResponse blsResponse = null;
try {
blsResponse = jsonPostRepeat(cardOutRequest);
@@ -93,8 +91,7 @@ public class BlackCardManagerImpl extends AbstractCommManager implements BlackCa
if (errorMsg.length() == 0){
if (blackCardImportModel.getStatus() == 1){
CardInRequest cardInRequest = copyProperties(blackCardImportModel, new CardInRequest());
cardInRequest.setSourceIn(req.getLoginSource());
cardInRequest.setOrgCode(findAgencyIdByToken(req.getAccessToken()));
cardInRequest.setSourceIn(req.getOrderSource().name());
cardInRequest.setStaffId(req.getStaffId());
try {
jsonPostRepeat(cardInRequest);
@@ -103,8 +100,7 @@ public class BlackCardManagerImpl extends AbstractCommManager implements BlackCa
}
}else{
CardOutRequest cardOutRequest = copyProperties(blackCardImportModel, new CardOutRequest());
cardOutRequest.setSourceIn(req.getLoginSource());
cardOutRequest.setOrgCode(findAgencyIdByToken(req.getAccessToken()));
cardOutRequest.setSourceIn(req.getOrderSource().name());
cardOutRequest.setStaffId(req.getStaffId());
try {
jsonPostRepeat(cardOutRequest);

+ 4
- 8
zhywpt-app-managew/src/main/java/cn/com/taiji/managew/manager/bls/BlackObuManagerImpl.java 查看文件

@@ -52,8 +52,7 @@ public class BlackObuManagerImpl extends AbstractCommManager implements BlackObu
@Override
public BlackObuInResponseDTO obuIn(BlackObuInRequestDTO req) throws ManagerException {
ObuInRequest obuInRequest = copyProperties(req, new ObuInRequest());
obuInRequest.setSourceIn(req.getLoginSource());
obuInRequest.setOrgCode(findAgencyIdByToken(req.getAccessToken()));
obuInRequest.setSourceIn(req.getOrderSource().name());
AbstractBlsResponse blsResponse = null;
try {
blsResponse = jsonPostRepeat(obuInRequest);
@@ -66,8 +65,7 @@ public class BlackObuManagerImpl extends AbstractCommManager implements BlackObu
@Override
public BlackObuOutResponseDTO obuOut(BlackObuOutRequestDTO req) throws ManagerException {
ObuOutRequest obuOutRequest = copyProperties(req, new ObuOutRequest());
obuOutRequest.setSourceIn(req.getLoginSource());
obuOutRequest.setOrgCode(findAgencyIdByToken(req.getAccessToken()));
obuOutRequest.setSourceIn(req.getOrderSource().name());
AbstractBlsResponse blsResponse = null;
try {
blsResponse = jsonPostRepeat(obuOutRequest);
@@ -91,8 +89,7 @@ public class BlackObuManagerImpl extends AbstractCommManager implements BlackObu
if (errorMsg.length() == 0){
if (blackObuImportModel.getStatus() == 1){
ObuInRequest obuInRequest = copyProperties(blackObuImportModel, new ObuInRequest());
obuInRequest.setSourceIn(req.getLoginSource());
obuInRequest.setOrgCode(findAgencyIdByToken(req.getAccessToken()));
obuInRequest.setSourceIn(req.getOrderSource().name());
obuInRequest.setStaffId(req.getStaffId());
try {
jsonPostRepeat(obuInRequest);
@@ -101,8 +98,7 @@ public class BlackObuManagerImpl extends AbstractCommManager implements BlackObu
}
}else{
ObuOutRequest obuOutRequest = copyProperties(blackObuImportModel, new ObuOutRequest());
obuOutRequest.setSourceIn(req.getLoginSource());
obuOutRequest.setOrgCode(findAgencyIdByToken(req.getAccessToken()));
obuOutRequest.setSourceIn(req.getOrderSource().name());
obuOutRequest.setStaffId(req.getStaffId());
try {
jsonPostRepeat(obuOutRequest);

+ 1
- 0
zhywpt-service-bls/build.gradle 查看文件

@@ -14,6 +14,7 @@ dependencies {
implementation "${groupname}:entity-core:1.0.0-SNAPSHOT"
implementation "${groupname}:comm-core:1.0.0-SNAPSHOT"
implementation "${groupname}:bls-protocol:1.0.0-SNAPSHOT"
implementation "${groupname}:ias-protocol:1.0.0-SNAPSHOT"
implementation "${groupname}:smp-protocol:1.0.0-SNAPSHOT"
implementation "com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-discovery"
implementation "com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-config"

+ 110
- 26
zhywpt-service-bls/src/main/java/cn/com/taiji/bls/manager/blk/BlackCardInManager.java 查看文件

@@ -1,13 +1,18 @@
package cn.com.taiji.bls.manager.blk;

import cn.com.taiji.common.manager.AbstractManager;
import cn.com.taiji.bls.manager.AbstractCommManager;
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.basic.QtkBlackCard;
import cn.com.taiji.core.entity.dict.basic.CardBlackType;
import cn.com.taiji.core.entity.dict.basic.SourceType;
import cn.com.taiji.core.entity.dict.ygz.DataSourceEnum;
import cn.com.taiji.core.entity.log.BlsInterfaceLog;
import cn.com.taiji.core.manager.comm.LogManager;
import cn.com.taiji.core.model.comm.protocol.bls.*;
import cn.com.taiji.core.model.comm.protocol.ias.ygz.YgzCardBlackUploadRequest;
import cn.com.taiji.core.model.comm.protocol.ias.ygz.YgzCardBlackUploadResponse;
import cn.com.taiji.core.model.comm.protocol.valid.GlyServiceError;
import cn.com.taiji.core.repo.jpa.basic.*;
import cn.com.taiji.core.repo.jpa.log.BlsInterfaceLogRepo;
@@ -18,9 +23,10 @@ import org.springframework.util.StringUtils;


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

@Service
public class BlackCardInManager extends AbstractManager implements LogManager<CardInRequest, AbstractBlsResponse, BlsInterfaceLog> {
public class BlackCardInManager extends AbstractCommManager implements LogManager<CardInRequest, AbstractBlsResponse, BlsInterfaceLog> {

@Autowired
private QtkBlackCardRepo blackCardRepo;
@@ -34,31 +40,18 @@ public class BlackCardInManager extends AbstractManager implements LogManager<Ca
if (StringUtils.isEmpty(request.getOrgCode())){
throw GlyServiceError.NO_DATA_ERR.toHandleException("请求参数orgCode必填!");
}

//发送 todo 这里调部中心接口处先不处理
// CardBlackUploadRequest request = new CardBlackUploadRequest();
// request.setStatus(1);//1-下黑
// request.setCreationTime(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss").format(new Date()));
// request.setCardId(req.getCardId());
// request.setType(req.getType());
// CardBlackUploadResponse cardBlackUploadResponse = blackUpload(request, 1);//1-下黑
//发送,调部中心接口
YgzCardBlackUploadResponse uploadResponse = cardBlackUpload(request.getCardId(), 1, request.getType());
//下黑
//todo 根据调接口返回的内容进行判断并做持久化操作 这里先处理正常返回的情况做持久化操作
// if(cardBlackUploadResponse...){ }

QtkBlackCard blackCard = copyProperties(request, new QtkBlackCard());
LocalDateTime now = LocalDateTime.now();
blackCard.setIssuerId("520101");//固定的
blackCard.setStatus(1);
blackCard.setCreateTime(now);
blackCard.setCreationTime(now);
blackCard.setType(CardBlackType.fromCode(request.getType()));
blackCard.setSourceIn(SourceType.findByCode(request.getSourceIn()));
blackCard.setAgencyId(request.getOrgCode());//AbstractSignTypeRequest类里加了个orgCode,中台接口转发到接口系统会自动带上值,值实际为agentId
blackCardRepo.save(blackCard);
//返回
//todo 判断后返回 成功-失败

if (uploadResponse.getUploadStatus() == 1 || uploadResponse.getUploadStatus() == 2 ){//这里msg的内容一定是:已在部黑名单中,无需再次上传!
List<QtkBlackCard> blackCardList = blackCardRepo.queryByCardIdAndType(request.getCardId(), CardBlackType.fromCode(request.getType()));
//可能已在部黑名单中,但本地无数据,本地无数据则新增一条
if (CollectionTools.isEmpty(blackCardList)){
addBlackCard(request);
}
}else {
throw GlyServiceError.NO_DATA_ERR.toHandleException(uploadResponse.getErrorMsg());
}
AbstractBlsResponse blsResponse = new AbstractBlsResponse();
blsResponse.setUploadStatus(1);
return onSuccess(request, blsResponse, BlsInterfaceLog.class, System.currentTimeMillis() - begin);
@@ -68,6 +61,97 @@ public class BlackCardInManager extends AbstractManager implements LogManager<Ca
}
}

private void addBlackCard(CardInRequest request) {
QtkBlackCard blackCard = copyProperties(request, new QtkBlackCard());
LocalDateTime now = LocalDateTime.now();
blackCard.setIssuerId("520101");//固定的
blackCard.setStatus(1);
blackCard.setCreateTime(now);
blackCard.setCreationTime(now);
blackCard.setType(CardBlackType.fromCode(request.getType()));
blackCard.setSourceIn(SourceType.findByName(request.getSourceIn()));
blackCard.setAgencyId(request.getOrgCode());//AbstractSignTypeRequest类里加了个orgCode,中台接口转发到接口系统会自动带上值,值实际为agentId
blackCardRepo.save(blackCard);
}

/**
* 下黑、反白都调这个犯法进行请求部中心接口
*
* */
public YgzCardBlackUploadResponse cardBlackUpload(String cardId, Integer status, Integer blackType) throws ServiceHandleException {
YgzCardBlackUploadRequest protocolRequest = new YgzCardBlackUploadRequest();
protocolRequest.setStatus(status);//1-下黑,2-反白
protocolRequest.setCardId(cardId);
protocolRequest.setBlackType(blackType);
protocolRequest.setCreationTime(LocalDateTime.now());
protocolRequest.setDataSource(DataSourceEnum.DSI_INTERFACE);
YgzCardBlackUploadResponse response = null;
try {
response = jsonPostRepeat(protocolRequest);
} catch (ManagerException e) {
logger.error("异常",e);
throw GlyServiceError.RESPONSE_ERROR.toHandleException("卡下黑/反白请求部中心异常!");
}
if (response == null) {
throw GlyServiceError.BUSINESS_VALIDATE_ERR.toHandleException("省中心接口无响应!");
} else {
if (!"200".equals(response.getStatusCode())) {
String json = response.getResponseJson();
if (hasText(json)) {
int indexOf1 = json.indexOf("对应黑名单重复上传");
int indexOf2 = json.indexOf("10秒内不允许上传相同的文件");
int indexOf3 = json.indexOf("对应解除的黑名单不存在");
int indexOf4 = json.indexOf("返白黑名单重复上传");
int indexOf5 = json.indexOf("白名单生效时间比黑名单生效时间早");
int indexOf6 = json.indexOf("贵州已上传超过5000条");
int indexOf7 = json.indexOf("对应解除的黑名单正在生成, 请5分钟后再返白它");
int indexOf8 = json.indexOf("该类型的黑名单正在返白 ,请5分钟后再拉黑它");
if (indexOf1 > -1) {
String message = "已在部黑名单中,无需再次上传!";
response.setErrorMsg(message);
response.setUploadStatus(2);
} else if (indexOf2 > -1) {
String message = "下黑失败,请5分钟后重试!";
response.setErrorMsg(message);
response.setUploadStatus(-1);
} else if (indexOf3 > -1) {
String message = "此卡不在黑名单中!";
response.setErrorMsg(message);
response.setUploadStatus(2);
} else if (indexOf4 > -1) {
String message = "该黑名单已反白,无需再次上传!";
response.setErrorMsg(message);
response.setUploadStatus(2);
}else if (indexOf5> -1) {
String message = "反白失败,需手工反白,请将需反白卡号反馈给管理员!";
response.setErrorMsg(message);
response.setUploadStatus(0);
}else if (indexOf6> -1) {
String message = "当前版本贵州已上传超过5000条,请5分钟后再上传!";
response.setErrorMsg(message);
response.setUploadStatus(-1);
}else if(indexOf7>-1) {
response.setErrorMsg("请5分钟后再尝试解除挂失操作!");
response.setUploadStatus(-1);
}else if(indexOf8>-1) {
response.setErrorMsg("该类型的黑名单正在返白, 请5分钟后再返白它!");
response.setUploadStatus(-1);
}else {
if (!StringUtils.isEmpty(response.getErrorMsg())){
response.setErrorMsg(response.getErrorMsg());
}else{
response.setErrorMsg("部中心黑名单上传返回为空值,无法判断,请重试!");
}
response.setUploadStatus(-1);
}
}
}else {
response.setUploadStatus(1);
}
}
return response;
}


@Override
public void doSaveLog(CardInRequest request, AbstractBlsResponse response, BlsInterfaceLog log) {

+ 25
- 21
zhywpt-service-bls/src/main/java/cn/com/taiji/bls/manager/blk/BlackCardOutManager.java 查看文件

@@ -10,6 +10,7 @@ import cn.com.taiji.core.entity.dict.basic.SourceType;
import cn.com.taiji.core.entity.log.BlsInterfaceLog;
import cn.com.taiji.core.manager.comm.LogManager;
import cn.com.taiji.core.model.comm.protocol.bls.*;
import cn.com.taiji.core.model.comm.protocol.ias.ygz.YgzCardBlackUploadResponse;
import cn.com.taiji.core.model.comm.protocol.valid.GlyServiceError;
import cn.com.taiji.core.repo.jpa.basic.QtkBlackCardHisRepo;
import cn.com.taiji.core.repo.jpa.basic.QtkBlackCardRepo;
@@ -30,6 +31,8 @@ public class BlackCardOutManager extends AbstractManager implements LogManager<C
private QtkBlackCardHisRepo blackCardHisRepo;
@Autowired
private BlsInterfaceLogRepo logRepo;
@Autowired
private BlackCardInManager blackCardInManager;

@Transactional(rollbackFor = Exception.class)
public AbstractBlsResponse serviceHandle(CardOutRequest req) throws ServiceHandleException {
@@ -39,26 +42,28 @@ public class BlackCardOutManager extends AbstractManager implements LogManager<C
if (CollectionTools.isEmpty(blackCardList)){
throw GlyServiceError.NO_DATA_ERR.toHandleException("未查询到该类型卡号黑名单!");
}
//发送 todo 这里调部中心接口处先不处理

//todo 根据调接口返回的内容进行判断并做持久化操作 这里先处理正常返回的情况做持久化操作

QtkBlackCard blackCard = blackCardList.get(0);
LocalDateTime now = LocalDateTime.now();
QtkBlackCardHis blackCardHis = copyProperties(blackCard, new QtkBlackCardHis(), "id","createTime");
blackCardHis.setStatus(2);//2-反白
blackCardHis.setCreateTime(now);
blackCardHis.setReleaseTime(now);
blackCardHis.setReasonIn(blackCard.getReason());
blackCardHis.setReasonOut(req.getReason());
blackCardHis.setStaffIdIn(blackCard.getStaffId());
blackCardHis.setStaffIdOut(req.getStaffId());
blackCardHis.setReasonOut(req.getReason());
blackCardHis.setSourceIn(blackCard.getSourceIn());
blackCardHis.setSourceOut(SourceType.findByCode(req.getSourceIn()));
blackCardHisRepo.save(blackCardHis);
//删除下黑数据
blackCardRepo.deleteAll(blackCardList);
//发送,调部中心接口
YgzCardBlackUploadResponse uploadResponse = blackCardInManager.cardBlackUpload(req.getCardId(), 2, req.getType());
if (uploadResponse.getUploadStatus() == 1 || uploadResponse.getUploadStatus() == 2){
QtkBlackCard blackCard = blackCardList.get(0);
LocalDateTime now = LocalDateTime.now();
QtkBlackCardHis blackCardHis = copyProperties(blackCard, new QtkBlackCardHis(), "id","createTime");
blackCardHis.setStatus(2);//2-反白
blackCardHis.setCreateTime(now);
blackCardHis.setReleaseTime(now);
blackCardHis.setReasonIn(blackCard.getReason());
blackCardHis.setReasonOut(req.getReason());
blackCardHis.setStaffIdIn(blackCard.getStaffId());
blackCardHis.setStaffIdOut(req.getStaffId());
blackCardHis.setReasonOut(req.getReason());
blackCardHis.setSourceIn(blackCard.getSourceIn());
blackCardHis.setSourceOut(SourceType.findByCode(req.getSourceIn()));
blackCardHisRepo.save(blackCardHis);
//删除下黑数据
blackCardRepo.deleteAll(blackCardList);
}else {
throw GlyServiceError.NO_DATA_ERR.toHandleException(uploadResponse.getErrorMsg());
}
AbstractBlsResponse blsResponse = new AbstractBlsResponse();
blsResponse.setUploadStatus(1);
return onSuccess(req, blsResponse, BlsInterfaceLog.class, System.currentTimeMillis() - begin);
@@ -68,7 +73,6 @@ public class BlackCardOutManager extends AbstractManager implements LogManager<C
}
}


@Override
public void doSaveLog(CardOutRequest request, AbstractBlsResponse response, BlsInterfaceLog log) {
logger.info("enter do save log");

+ 113
- 21
zhywpt-service-bls/src/main/java/cn/com/taiji/bls/manager/blk/BlackObuInManager.java 查看文件

@@ -1,13 +1,18 @@
package cn.com.taiji.bls.manager.blk;

import cn.com.taiji.common.manager.AbstractManager;
import cn.com.taiji.bls.manager.AbstractCommManager;
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.basic.QtkBlackObu;
import cn.com.taiji.core.entity.dict.basic.ObuBlackType;
import cn.com.taiji.core.entity.dict.basic.SourceType;
import cn.com.taiji.core.entity.dict.ygz.DataSourceEnum;
import cn.com.taiji.core.entity.log.BlsInterfaceLog;
import cn.com.taiji.core.manager.comm.LogManager;
import cn.com.taiji.core.model.comm.protocol.bls.*;
import cn.com.taiji.core.model.comm.protocol.ias.ygz.YgzObuBlackUploadRequest;
import cn.com.taiji.core.model.comm.protocol.ias.ygz.YgzObuBlackUploadResponse;
import cn.com.taiji.core.model.comm.protocol.valid.GlyServiceError;
import cn.com.taiji.core.repo.jpa.basic.*;
import cn.com.taiji.core.repo.jpa.log.BlsInterfaceLogRepo;
@@ -17,10 +22,11 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;

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


@Service("blackObuInManager")
public class BlackObuInManager extends AbstractManager implements LogManager<ObuInRequest, AbstractBlsResponse, BlsInterfaceLog> {
public class BlackObuInManager extends AbstractCommManager implements LogManager<ObuInRequest, AbstractBlsResponse, BlsInterfaceLog> {

@Autowired
private QtkBlackObuRepo blackObuRepo;
@@ -31,36 +37,122 @@ public class BlackObuInManager extends AbstractManager implements LogManager<Obu
public AbstractBlsResponse serviceHandle(ObuInRequest req) throws ServiceHandleException {
try {
long begin = System.currentTimeMillis();
if (StringUtils.isEmpty(req.getOrgCode())){
if (StringUtils.isEmpty(req.getOrgCode())) {
throw GlyServiceError.NO_DATA_ERR.toHandleException("请求参数orgCode必填!");
}
//发送 todo 这里调部中心接口处先不处理

//下黑
//todo 根据调接口返回的内容进行判断并做持久化操作 这里先处理正常返回的情况做持久化操作

QtkBlackObu blackObu = copyProperties(req, new QtkBlackObu());
LocalDateTime now = LocalDateTime.now();
blackObu.setIssuerId("520101");//固定的
blackObu.setType(ObuBlackType.fromCode(req.getType()));
blackObu.setStatus(1);
blackObu.setCreateTime(now);
blackObu.setCreationTime(now);
blackObu.setType(ObuBlackType.fromCode(req.getType()));
blackObu.setSourceIn(SourceType.findByCode(req.getSourceIn()));
blackObu.setAgencyId(req.getOrgCode());//AbstractSignTypeRequest类里加了个orgCode,中台接口转发到接口系统会自动带上值,值实际为agentId
blackObuRepo.save(blackObu);
//发送,调部中心接口
YgzObuBlackUploadResponse uploadResponse = obuBlackUpload(req.getObuId(), 1, req.getType());
if (uploadResponse.getUploadStatus() == 1 || uploadResponse.getUploadStatus() == 2 ) {//这里msg的内容一定是:已在部黑名单中,无需再次上传!
List<QtkBlackObu> blackObuList = blackObuRepo.queryByObuIdAndType(req.getObuId(), ObuBlackType.fromCode(req.getType()));
//可能已在部黑名单中,但本地无数据,本地无数据则新增一条
if (CollectionTools.isEmpty(blackObuList)){
addBlackObu(req);
}
}else {
throw GlyServiceError.NO_DATA_ERR.toHandleException(uploadResponse.getErrorMsg());
}
//返回
//todo 判断后返回 成功-失败
AbstractBlsResponse blsResponse = new AbstractBlsResponse();
blsResponse.setUploadStatus(1);
return onSuccess(req, blsResponse, BlsInterfaceLog.class, System.currentTimeMillis() - begin);
} catch (Exception e) {
logger.error("异常",e);
logger.error("异常", e);
throw exception(req, BlsInterfaceLog.class, e.getMessage());
}
}

private void addBlackObu(ObuInRequest req) {
QtkBlackObu blackObu = copyProperties(req, new QtkBlackObu());
LocalDateTime now = LocalDateTime.now();
blackObu.setIssuerId("520101");//固定的
blackObu.setType(ObuBlackType.fromCode(req.getType()));
blackObu.setStatus(1);
blackObu.setCreateTime(now);
blackObu.setCreationTime(now);
blackObu.setType(ObuBlackType.fromCode(req.getType()));
blackObu.setSourceIn(SourceType.findByName(req.getSourceIn()));
blackObu.setAgencyId(req.getOrgCode());//AbstractSignTypeRequest类里加了个orgCode,中台接口转发到接口系统会自动带上值,值实际为agentId
blackObuRepo.save(blackObu);
}

public YgzObuBlackUploadResponse obuBlackUpload(String obuId, int status, Integer type) throws ServiceHandleException {
YgzObuBlackUploadRequest uploadRequest = new YgzObuBlackUploadRequest();
uploadRequest.setStatus(status);
uploadRequest.setObuId(obuId);
uploadRequest.setBlackType(type);
uploadRequest.setCreationTime(LocalDateTime.now());
uploadRequest.setDataSource(DataSourceEnum.DSI_INTERFACE);
YgzObuBlackUploadResponse response = null;
try {
response = jsonPostRepeat(uploadRequest);
} catch (ManagerException e) {
logger.error("异常", e);
throw GlyServiceError.RESPONSE_ERROR.toHandleException("卡下黑/反白请求部中心异常!");
}
if (response == null) {
throw GlyServiceError.BUSINESS_VALIDATE_ERR.toHandleException("省中心接口无响应!");
} else {
if (!"200".equals(response.getStatusCode())) {
String json = response.getResponseJson();
if (hasText(json)) {
int indexOf1 = json.indexOf("对应黑名单重复上传");//卡
int indexOf2 = json.indexOf("10秒内不允许上传相同的文件");
int indexOf3 = json.indexOf("对应解除的黑名单不存在");
int indexOf4 = json.indexOf("返白黑名单重复上传");
int indexOf5 = json.indexOf("白名单生效时间比黑名单生效时间早");
int indexOf6 = json.indexOf("贵州已上传超过5000条");
int indexOf7 = json.indexOf("解除黑名单类型不存在");
if (indexOf1 > -1) {
String message = "已在部黑名单中,无需再次上传!";
response.setErrorMsg(message);
response.setUploadStatus(2);
return response;
} else if (indexOf2 > -1) {
String message = "下黑失败,请5分钟后重试!";
response.setErrorMsg(message);
response.setUploadStatus(-1);
return response;
} else if (indexOf3 > -1) {
String message = "此OBU不在黑名单中!";
response.setErrorMsg(message);
response.setUploadStatus(2);
return response;
} else if (indexOf4 > -1) {
String message = "该黑名单已反白,无需再次上传!";
response.setErrorMsg(message);
response.setUploadStatus(2);
return response;
} else if (indexOf5 > -1) {
String message = "反白失败,需手工反白,请将需反白卡号反馈给管理员!";
response.setErrorMsg(message);
response.setUploadStatus(0);
return response;
} else if (indexOf6 > -1) {
String message = "当前版本贵州已上传超过5000条,请5分钟后再上传!";
response.setErrorMsg(message);
response.setUploadStatus(0);
return response;
} else if (indexOf7 > -1) {
String message = "此OBU不在黑名单中!";
response.setErrorMsg(message);
response.setUploadStatus(2);
return response;
} else {
if (!StringUtils.isEmpty(response.getErrorMsg())) {
response.setErrorMsg(response.getErrorMsg());
} else {
response.setErrorMsg("部中心黑名单上传返回为空值,无法判断,请重试!");
}
response.setUploadStatus(0);
}
}
} else {
response.setUploadStatus(1);
}
}
return response;
}

@Override
public void doSaveLog(ObuInRequest request, AbstractBlsResponse response, BlsInterfaceLog log) {
logger.info("enter do save log");

+ 26
- 20
zhywpt-service-bls/src/main/java/cn/com/taiji/bls/manager/blk/BlackObuOutManager.java 查看文件

@@ -10,6 +10,7 @@ import cn.com.taiji.core.entity.dict.basic.SourceType;
import cn.com.taiji.core.entity.log.BlsInterfaceLog;
import cn.com.taiji.core.manager.comm.LogManager;
import cn.com.taiji.core.model.comm.protocol.bls.*;
import cn.com.taiji.core.model.comm.protocol.ias.ygz.YgzObuBlackUploadResponse;
import cn.com.taiji.core.model.comm.protocol.valid.GlyServiceError;
import cn.com.taiji.core.repo.jpa.basic.QtkBlackObuHisRepo;
import cn.com.taiji.core.repo.jpa.basic.QtkBlackObuRepo;
@@ -31,6 +32,8 @@ public class BlackObuOutManager extends AbstractManager implements LogManager<Ob
private QtkBlackObuHisRepo blackObuHisRepo;
@Autowired
private BlsInterfaceLogRepo logRepo;
@Autowired
private BlackObuInManager blackObuInManager;

@Transactional(rollbackFor = Exception.class)
public AbstractBlsResponse serviceHandle(ObuOutRequest req) throws ServiceHandleException {
@@ -40,26 +43,28 @@ public class BlackObuOutManager extends AbstractManager implements LogManager<Ob
if (CollectionTools.isEmpty(blackObuList)){
throw GlyServiceError.NO_DATA_ERR.toHandleException("未查询到该类型签号黑名单!");
}
//发送 todo 这里调部中心接口处先不处理

//todo 根据调接口返回的内容进行判断并做持久化操作 这里先处理正常返回的情况做持久化操作

QtkBlackObu blackObu = blackObuList.get(0);
LocalDateTime now = LocalDateTime.now();
QtkBlackObuHis blackObuHis = copyProperties(blackObu, new QtkBlackObuHis(), "id","createTime");
blackObuHis.setStatus(2);//2-反白
blackObuHis.setCreateTime(now);
blackObuHis.setReleaseTime(now);
blackObuHis.setReasonIn(blackObu.getReason());
blackObuHis.setReasonOut(req.getReason());
blackObuHis.setStaffIdIn(blackObu.getStaffId());
blackObuHis.setStaffIdOut(req.getStaffId());
blackObuHis.setReasonOut(req.getReason());
blackObuHis.setSourceIn(blackObu.getSourceIn());
blackObuHis.setSourceOut(SourceType.findByCode(req.getSourceIn()));
blackObuHisRepo.save(blackObuHis);
//删除下黑数据
blackObuRepo.deleteAll(blackObuList);
//发送,调部中心接口
YgzObuBlackUploadResponse uploadResponse = blackObuInManager.obuBlackUpload(req.getObuId(), 2, req.getType());
if (uploadResponse.getUploadStatus() == 1 || uploadResponse.getUploadStatus() == 2){
QtkBlackObu blackObu = blackObuList.get(0);
LocalDateTime now = LocalDateTime.now();
QtkBlackObuHis blackObuHis = copyProperties(blackObu, new QtkBlackObuHis(), "id","createTime");
blackObuHis.setStatus(2);//2-反白
blackObuHis.setCreateTime(now);
blackObuHis.setReleaseTime(now);
blackObuHis.setReasonIn(blackObu.getReason());
blackObuHis.setReasonOut(req.getReason());
blackObuHis.setStaffIdIn(blackObu.getStaffId());
blackObuHis.setStaffIdOut(req.getStaffId());
blackObuHis.setReasonOut(req.getReason());
blackObuHis.setSourceIn(blackObu.getSourceIn());
blackObuHis.setSourceOut(SourceType.findByCode(req.getSourceIn()));
blackObuHisRepo.save(blackObuHis);
//删除下黑数据
blackObuRepo.deleteAll(blackObuList);
}else {
throw GlyServiceError.NO_DATA_ERR.toHandleException(uploadResponse.getErrorMsg());
}
AbstractBlsResponse blsResponse = new AbstractBlsResponse();
blsResponse.setUploadStatus(1);
return onSuccess(req, blsResponse, BlsInterfaceLog.class, System.currentTimeMillis() - begin);
@@ -70,6 +75,7 @@ public class BlackObuOutManager extends AbstractManager implements LogManager<Ob
}



@Override
public void doSaveLog(ObuOutRequest request, AbstractBlsResponse response, BlsInterfaceLog log) {
logger.info("enter do save log");

正在加载...
取消
保存