Sfoglia il codice sorgente

bls下黑反白接口(调部中心未处理)完成,已测试

master
huminghao 1 settimana fa
parent
commit
c8f938b58f
22 ha cambiato i file con 695 aggiunte e 80 eliminazioni
  1. 2
    2
      gly-base-core/src/main/java/cn/com/taiji/core/entity/basic/QtkBlackCard.java
  2. 2
    2
      gly-base-core/src/main/java/cn/com/taiji/core/entity/basic/QtkBlackObu.java
  3. 2
    1
      gly-base-core/src/main/java/cn/com/taiji/core/entity/basic/QtkBlackObuHis.java
  4. 1
    1
      gly-base-core/src/main/java/cn/com/taiji/core/model/comm/protocol/bls/AbstractBlsResponse.java
  5. 4
    4
      gly-base-core/src/main/java/cn/com/taiji/core/repo/jpa/basic/QtkBlackCardRepo.java
  6. 5
    1
      gly-base-core/src/main/java/cn/com/taiji/core/repo/jpa/basic/QtkBlackObuRepo.java
  7. 3
    0
      gly-base-core/src/main/java/cn/com/taiji/core/repo/jpa/basic/QtkCardInfoRepo.java
  8. 3
    0
      gly-base-core/src/main/java/cn/com/taiji/core/repo/jpa/basic/QtkObuInfoRepo.java
  9. 47
    0
      gly-base-core/src/main/java/cn/com/taiji/core/repo/request/bls/BlackCardHisPageRequest.java
  10. 45
    0
      gly-base-core/src/main/java/cn/com/taiji/core/repo/request/bls/BlackCardPageRequest.java
  11. 48
    0
      gly-base-core/src/main/java/cn/com/taiji/core/repo/request/bls/BlackObuHisPageRequest.java
  12. 43
    0
      gly-base-core/src/main/java/cn/com/taiji/core/repo/request/bls/BlackObuPageRequest.java
  13. 1
    1
      gly-base-core/src/test/java/common/TestCodeManager.java
  14. 3
    0
      zhywpt-service-ats/src/main/java/cn/com/taiji/ats/manager/comm/WxPartnerPayV3.java
  15. 4
    0
      zhywpt-service-bls/build.gradle
  16. 126
    3
      zhywpt-service-bls/src/main/java/cn/com/taiji/bls/manager/blk/BlackCardManagerImpl.java
  17. 113
    3
      zhywpt-service-bls/src/main/java/cn/com/taiji/bls/manager/blk/BlackObuManagerImpl.java
  18. 34
    0
      zhywpt-service-bls/src/main/java/cn/com/taiji/bls/tools/SourceTargetMapper.java
  19. 18
    18
      zhywpt-service-bls/src/test/java/cn/com/taiji/oqs/client/FeignClientApplication.java
  20. 73
    0
      zhywpt-service-bls/src/test/java/cn/com/taiji/oqs/client/bls/TestBlackCardManager.java
  21. 74
    0
      zhywpt-service-bls/src/test/java/cn/com/taiji/oqs/client/bls/TestBlackObuManager.java
  22. 44
    44
      zhywpt-service-bls/src/test/java/cn/com/taiji/oqs/client/demo/TestFeignClientRequest.java

+ 2
- 2
gly-base-core/src/main/java/cn/com/taiji/core/entity/basic/QtkBlackCard.java Vedi File

@@ -59,9 +59,9 @@ public class QtkBlackCard extends AbstractStringPropertyUUIDEntity {
@Size(max = 255)
@Column(name = "SOLUTION")
private String solution;//处理方案
@NotBlank
@NotNull
@Column(name = "SOURCE_IN")
// @Enumerated(EnumType.STRING)
@Enumerated(EnumType.STRING)
private SourceType sourceIn;//下黑来源

}

+ 2
- 2
gly-base-core/src/main/java/cn/com/taiji/core/entity/basic/QtkBlackObu.java Vedi File

@@ -1,7 +1,7 @@
package cn.com.taiji.core.entity.basic;

import cn.com.taiji.core.entity.AbstractStringPropertyUUIDEntity;
import cn.com.taiji.core.entity.dict.basic.CardBlackType;
import cn.com.taiji.core.entity.dict.basic.ObuBlackType;
import cn.com.taiji.core.entity.dict.basic.SourceType;
import lombok.Getter;
import lombok.Setter;
@@ -46,7 +46,7 @@ public class QtkBlackObu extends AbstractStringPropertyUUIDEntity {
@NotNull
@Column(name = "TYPE")
@Enumerated(EnumType.STRING)
private CardBlackType type;//黑名单类型
private ObuBlackType type;//黑名单类型
@NotNull
@Column(name = "STATUS")
private Integer status;//状态

+ 2
- 1
gly-base-core/src/main/java/cn/com/taiji/core/entity/basic/QtkBlackObuHis.java Vedi File

@@ -3,6 +3,7 @@ package cn.com.taiji.core.entity.basic;

import cn.com.taiji.core.entity.AbstractStringPropertyUUIDEntity;
import cn.com.taiji.core.entity.dict.basic.CardBlackType;
import cn.com.taiji.core.entity.dict.basic.ObuBlackType;
import cn.com.taiji.core.entity.dict.basic.SourceType;
import lombok.Getter;
import lombok.Setter;
@@ -34,7 +35,7 @@ public class QtkBlackObuHis extends AbstractStringPropertyUUIDEntity {
@NotNull
@Column(name = "TYPE")
@Enumerated(EnumType.STRING)
private CardBlackType type;//类型
private ObuBlackType type;//类型
@NotBlank
@Size(max = 32)
@Column(name = "OBU_ID")

+ 1
- 1
gly-base-core/src/main/java/cn/com/taiji/core/model/comm/protocol/bls/AbstractBlsResponse.java Vedi File

@@ -8,7 +8,7 @@ import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
@Getter
@Setter
public abstract class AbstractBlsResponse extends AbstractSignTypeResponse {
public class AbstractBlsResponse extends AbstractSignTypeResponse {

private Integer uploadStatus;// 0-失败 1-成功
private String info = "成功.";

+ 4
- 4
gly-base-core/src/main/java/cn/com/taiji/core/repo/jpa/basic/QtkBlackCardRepo.java Vedi File

@@ -2,13 +2,10 @@ 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 org.springframework.data.jpa.repository.Modifying;
import cn.com.taiji.core.entity.dict.basic.CardBlackType;
import org.springframework.data.jpa.repository.Query;
import org.springframework.transaction.annotation.Transactional;

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

public interface QtkBlackCardRepo extends AbstractJpaRepo<QtkBlackCard, String> {

@@ -16,4 +13,7 @@ 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 = ?2 order by creationTime desc")
List<QtkBlackCard> queryByCardIdAndType(String cardId, CardBlackType type);

}

+ 5
- 1
gly-base-core/src/main/java/cn/com/taiji/core/repo/jpa/basic/QtkBlackObuRepo.java Vedi File

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

import cn.com.taiji.common.repo.jpa.AbstractJpaRepo;
import cn.com.taiji.core.entity.basic.QtkBlackObu;
import cn.com.taiji.core.entity.dict.basic.ObuBlackType;
import org.springframework.data.jpa.repository.Query;

import java.util.List;
@@ -9,7 +10,10 @@ import java.util.List;
public interface QtkBlackObuRepo extends AbstractJpaRepo<QtkBlackObu, String>{


@Query("from QtkBlackObu where obuId=?1 and status = ?2")
@Query(" from QtkBlackObu where obuId=?1 and status = ?2")
public List<QtkBlackObu> listObuBlackByStatus(String obuId, Integer status);

@Query(" from QtkBlackObu where obuId = ?1 and type = ?2 order by creationTime desc")
List<QtkBlackObu> queryByObuIdAndType(String obuId, ObuBlackType type);

}

+ 3
- 0
gly-base-core/src/main/java/cn/com/taiji/core/repo/jpa/basic/QtkCardInfoRepo.java Vedi File

@@ -25,4 +25,7 @@ public interface QtkCardInfoRepo extends AbstractJpaRepo<QtkCardInfo, String>{
@Query("from QtkCardInfo as c where c.customerId =?1 and c.vehicleId = ?2 order by c.insertTime desc")
List<QtkCardInfo> listByCustomerIdAndVehicleId(String customerId, String vehicleId);

@Query("select cardId from QtkCardInfo where vehicleId = ?1")
List<String> queryByVehicleId(String vehicleId);

}

+ 3
- 0
gly-base-core/src/main/java/cn/com/taiji/core/repo/jpa/basic/QtkObuInfoRepo.java Vedi File

@@ -13,4 +13,7 @@ public interface QtkObuInfoRepo extends AbstractJpaRepo<QtkObuInfo, String>{

@Query("from QtkObuInfo where vehicleId = ?1 and obuStatus in obuStatus ")
public List<QtkObuInfo> listObuByVehicleIdInUse(String vehicleId, ObuStatus[] obuStatus);

@Query("select obuId from QtkObuInfo where vehicleId = ?1 ")
List<String> queryByVehicleId(String vehicleId);
}

+ 47
- 0
gly-base-core/src/main/java/cn/com/taiji/core/repo/request/bls/BlackCardHisPageRequest.java Vedi File

@@ -0,0 +1,47 @@
package cn.com.taiji.core.repo.request.bls;

import cn.com.taiji.common.pub.dao.HqlBuilder;
import cn.com.taiji.common.repo.request.jpa.JpaDateTimePageableDataRequest;
import cn.com.taiji.core.entity.basic.QtkBlackCardHis;
import cn.com.taiji.core.entity.dict.basic.CardBlackType;
import lombok.Getter;
import lombok.Setter;

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

@Getter
@Setter
public class BlackCardHisPageRequest extends JpaDateTimePageableDataRequest<QtkBlackCardHis>{

private CardBlackType type;// 类型
private String cardId;// 卡号
private List<String> cardIds;
private List<String> cardIdList;
private Integer status;// 1-在黑 2-已返白
private LocalDateTime startTime;//开始时间
private LocalDateTime endTime;//结束时间

public BlackCardHisPageRequest() {
this.orderBy="creationTime";
this.desc=true;
}

@Override
public HqlBuilder toSelectHql(){
HqlBuilder hql = new HqlBuilder("from QtkBlackCardHis where 1=1 ");
hql.append(" and type = :type",type);
hql.append(" and cardId = :cardId",cardId);
hql.append(" and cardId in :cardIds",cardIds);
hql.append(" and cardId in :cardIdList",cardIdList);
hql.append(" and status=:status",status);
hql.append(" creationTime >= startTime",startTime);
hql.append(" creationTime <= endTime",endTime);
return hql;
}





}

+ 45
- 0
gly-base-core/src/main/java/cn/com/taiji/core/repo/request/bls/BlackCardPageRequest.java Vedi File

@@ -0,0 +1,45 @@
package cn.com.taiji.core.repo.request.bls;

import cn.com.taiji.common.pub.dao.HqlBuilder;
import cn.com.taiji.common.repo.request.jpa.JpaDateTimePageableDataRequest;
import cn.com.taiji.core.entity.basic.QtkBlackCard;
import cn.com.taiji.core.entity.dict.basic.CardBlackType;
import cn.com.taiji.core.entity.dict.invw.InvDeviceStatus;
import cn.com.taiji.core.entity.invw.InvwCardDetails;
import lombok.Getter;
import lombok.Setter;

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

@Getter
@Setter
public class BlackCardPageRequest extends JpaDateTimePageableDataRequest<QtkBlackCard>{

private CardBlackType type;// 类型
private String cardId;// 卡号
private List<String> cardIds;
private List<String> cardIdList;
private Integer status;// 1-在黑 2-已返白
private LocalDateTime startTime;//开始时间
private LocalDateTime endTime;//结束时间

public BlackCardPageRequest() {
this.orderBy="creationTime";
this.desc=true;
}

@Override
public HqlBuilder toSelectHql(){
HqlBuilder hql = new HqlBuilder("from QtkBlackCard where 1=1 ");
hql.append(" and type = :type",type);
hql.append(" and cardId = :cardId",cardId);
hql.append(" and cardId in :cardIds",cardIds);
hql.append(" and cardId in :cardIdList",cardIdList);
hql.append(" and status=:status",status);
hql.append(" creationTime >= startTime",startTime);
hql.append(" creationTime <= endTime",endTime);
return hql;
}

}

+ 48
- 0
gly-base-core/src/main/java/cn/com/taiji/core/repo/request/bls/BlackObuHisPageRequest.java Vedi File

@@ -0,0 +1,48 @@
package cn.com.taiji.core.repo.request.bls;

import cn.com.taiji.common.pub.dao.HqlBuilder;
import cn.com.taiji.common.repo.request.jpa.JpaDateTimePageableDataRequest;
import cn.com.taiji.core.entity.basic.QtkBlackObuHis;
import cn.com.taiji.core.entity.dict.basic.CardBlackType;
import cn.com.taiji.core.entity.dict.basic.ObuBlackType;
import lombok.Getter;
import lombok.Setter;

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

@Getter
@Setter
public class BlackObuHisPageRequest extends JpaDateTimePageableDataRequest<QtkBlackObuHis>{

private ObuBlackType type;// 类型
private String obuId;// 卡号
private List<String> obuIds;
private List<String> obuIdList;
private Integer status;// 1-在黑 2-已返白
private LocalDateTime startTime;//开始时间
private LocalDateTime endTime;//结束时间

public BlackObuHisPageRequest() {
this.orderBy="creationTime";
this.desc=true;
}

@Override
public HqlBuilder toSelectHql(){
HqlBuilder hql = new HqlBuilder("from QtkBlackObuHis where 1=1 ");
hql.append(" and type = :type",type);
hql.append(" and obuId = :obuId",obuId);
hql.append(" and obuId in :obuIds",obuIds);
hql.append(" and obuId in :obuIdList",obuIdList);
hql.append(" and status=:status",status);
hql.append(" creationTime >= startTime",startTime);
hql.append(" creationTime <= endTime",endTime);
return hql;
}





}

+ 43
- 0
gly-base-core/src/main/java/cn/com/taiji/core/repo/request/bls/BlackObuPageRequest.java Vedi File

@@ -0,0 +1,43 @@
package cn.com.taiji.core.repo.request.bls;

import cn.com.taiji.common.pub.dao.HqlBuilder;
import cn.com.taiji.common.repo.request.jpa.JpaDateTimePageableDataRequest;
import cn.com.taiji.core.entity.basic.QtkBlackObu;
import cn.com.taiji.core.entity.dict.basic.ObuBlackType;
import lombok.Getter;
import lombok.Setter;

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

@Getter
@Setter
public class BlackObuPageRequest extends JpaDateTimePageableDataRequest<QtkBlackObu>{

private ObuBlackType type;// 类型
private String obuId;// 卡号
private List<String> obuIds;
private List<String> obuIdList;
private Integer status;// 1-在黑 2-已返白
private LocalDateTime startTime;//开始时间
private LocalDateTime endTime;//结束时间

public BlackObuPageRequest() {
this.orderBy="creationTime";
this.desc=true;
}

@Override
public HqlBuilder toSelectHql(){
HqlBuilder hql = new HqlBuilder("from QtkBlackObu where 1=1 ");
hql.append(" and type = :type",type);
hql.append(" and obuId = :obuId",obuId);
hql.append(" and obuId in :obuIds",obuIds);
hql.append(" and obuId in :obuIdList",obuIdList);
hql.append(" and status = :status",status);
hql.append(" creationTime >= startTime",startTime);
hql.append(" creationTime <= endTime",endTime);
return hql;
}

}

+ 1
- 1
gly-base-core/src/test/java/common/TestCodeManager.java Vedi File

@@ -62,7 +62,7 @@ public class TestCodeManager extends AbstractManager {
GlobalConfig globalConfig = configBuilder.build();
/* 给字段映射枚举类型、实体(manyToOne),如果是字符串,自动生成枚举 */
HashMap<String, Object> typeNameMap = new HashMap<>();
typeNameMap.put("STATUS", EnableFlag.class);
// typeNameMap.put("STATUS", EnableFlag.class);
// typeNameMap.put("CHARGE_METHOD", ChargeMethod.class);
// typeNameMap.put("CARD_TYPE", CardType.class);
// typeNameMap.put("OBU_TYPE", ObuType.class);

+ 3
- 0
zhywpt-service-ats/src/main/java/cn/com/taiji/ats/manager/comm/WxPartnerPayV3.java Vedi File

@@ -16,8 +16,11 @@ import com.wechat.pay.java.service.partnerpayments.h5.model.H5Info;
import com.wechat.pay.java.service.partnerpayments.jsapi.JsapiServiceExtension;
import com.wechat.pay.java.service.partnerpayments.jsapi.model.*;
import com.wechat.pay.java.service.partnerpayments.nativepay.NativePayService;
import org.apache.commons.compress.utils.Lists;
import org.springframework.stereotype.Service;

import java.util.ArrayList;


/**
* @Author:ChenChao

+ 4
- 0
zhywpt-service-bls/build.gradle Vedi File

@@ -26,6 +26,10 @@ dependencies {
//ORACLE+库编码问题
runtimeOnly 'com.oracle.database.jdbc:ojdbc8:19.10.0.0'
runtimeOnly 'cn.easyproject:orai18n:12.1.0.2.0'
// 添加 MapStruct 核心库依赖
implementation 'org.mapstruct:mapstruct:1.5.5.Final'
// 添加 MapStruct 注解处理器依赖
annotationProcessor 'org.mapstruct:mapstruct-processor:1.5.5.Final'
}

bootJar {

+ 126
- 3
zhywpt-service-bls/src/main/java/cn/com/taiji/bls/manager/blk/BlackCardManagerImpl.java Vedi File

@@ -1,26 +1,149 @@
package cn.com.taiji.bls.manager.blk;

import cn.com.taiji.bls.tools.SourceTargetMapper;
import cn.com.taiji.common.manager.AbstractManager;
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.basic.QtkBlackCardHis;
import cn.com.taiji.core.entity.dict.basic.CardBlackType;
import cn.com.taiji.core.entity.dict.basic.SourceType;
import cn.com.taiji.core.model.comm.protocol.bls.*;
import cn.com.taiji.core.model.comm.protocol.valid.GlyServiceError;
import cn.com.taiji.core.repo.jpa.basic.*;
import cn.com.taiji.core.repo.request.bls.BlackCardHisPageRequest;
import cn.com.taiji.core.repo.request.bls.BlackCardPageRequest;
import org.apache.commons.lang3.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;

@Service
public class BlackCardManagerImpl extends AbstractManager implements BlackCardManager {

@Autowired
private QtkBlackCardRepo blackCardRepo;
@Autowired
private QtkBlackCardHisRepo blackCardHisRepo;
@Autowired
private QtkCardInfoRepo cardInfoRepo;

@Override
@Transactional(rollbackFor = Exception.class)
public AbstractBlsResponse cardIn(CardInRequest req) throws ServiceHandleException {
return null;
//发送 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-下黑
//下黑
//todo 根据调接口返回的内容进行判断并做持久化操作 这里先处理正常返回的情况做持久化操作
// if(cardBlackUploadResponse...){ }

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

@Override
@Transactional(rollbackFor = Exception.class)
public AbstractBlsResponse cardOut(CardOutRequest req) throws ServiceHandleException {
return null;
List<QtkBlackCard> blackCardList = blackCardRepo.queryByCardIdAndType(req.getCardId(), CardBlackType.fromCode(req.getType()));
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.getStaffId());
blackCardHis.setSourceIn(blackCard.getSourceIn());
blackCardHis.setSourceOut(SourceType.findByCode(req.getSourceIn()));
blackCardHisRepo.save(blackCardHis);
//删除下黑数据
blackCardRepo.deleteAll(blackCardList);
AbstractBlsResponse blsResponse = new AbstractBlsResponse();
blsResponse.setUploadStatus(1);
return blsResponse;
}

@Override
public CardQueryResponse cardQuery(CardQueryRequest req) throws ServiceHandleException {
return null;
BlackCardPageRequest blackCardPageRequest = copyProperties(req, new BlackCardPageRequest());
BlackCardHisPageRequest blackCardHisPageRequest = copyProperties(req, new BlackCardHisPageRequest());
if (!StringUtils.isEmpty(req.getVehicleId())){
List<String> cardIdList = cardInfoRepo.queryByVehicleId(req.getVehicleId());
if (CollectionTools.isEmpty(cardIdList)){
blackCardPageRequest.setCardIdList(cardIdList);
blackCardHisPageRequest.setCardIdList(cardIdList);
}
}
List<QtkBlackCard> cardBlackList = blackCardRepo.list(blackCardPageRequest);
List<QtkBlackCardHis> cardblackHisList = blackCardHisRepo.list(blackCardHisPageRequest);
List<CardQueryModel> modelList = addModelList(cardBlackList, cardblackHisList);
CardQueryResponse response = new CardQueryResponse();
response.setResults(modelList);
return response;
}


// private AbstractBlsResponse blackUpload(CardBlackUploadRequest request, Integer status) throws ServiceHandleException {
//// CardBlackUploadResponse response = ygzUploader.syncDoCardBlackUpload(request, DataSourceEnum.DSI_INTERFACE);
// return response;
// }


private List<CardQueryModel> addModelList(List<QtkBlackCard> cardBlackList, List<QtkBlackCardHis> cardblackHisList){
List<CardQueryModel> modelList = null;
if (!CollectionTools.isEmpty(cardblackHisList)){
modelList = SourceTargetMapper.INSTANCE.toCardModelList(cardblackHisList);//进行复制
}
if (!CollectionTools.isEmpty(cardBlackList)){
for (QtkBlackCard blackCard : cardBlackList) {
CardQueryModel model = new CardQueryModel();
model.setType(blackCard.getType());
model.setCardId(blackCard.getCardId());
model.setStatus(blackCard.getStatus());
model.setCreateTime(blackCard.getCreationTime());
model.setReasonIn(blackCard.getReason());
model.setStaffIdIn(blackCard.getStaffId());
model.setSolution(blackCard.getSolution());
model.setSourceIn(blackCard.getSourceIn());
model.setAgencyId(blackCard.getAgencyId());
modelList.add(model);
}
}
return modelList;
}


}

+ 113
- 3
zhywpt-service-bls/src/main/java/cn/com/taiji/bls/manager/blk/BlackObuManagerImpl.java Vedi File

@@ -1,26 +1,136 @@
package cn.com.taiji.bls.manager.blk;

import cn.com.taiji.bls.tools.SourceTargetMapper;
import cn.com.taiji.common.manager.AbstractManager;
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.basic.QtkBlackObuHis;
import cn.com.taiji.core.entity.dict.basic.ObuBlackType;
import cn.com.taiji.core.entity.dict.basic.SourceType;
import cn.com.taiji.core.model.comm.protocol.bls.*;
import cn.com.taiji.core.model.comm.protocol.valid.GlyServiceError;
import cn.com.taiji.core.repo.jpa.basic.*;
import cn.com.taiji.core.repo.request.bls.BlackObuHisPageRequest;
import cn.com.taiji.core.repo.request.bls.BlackObuPageRequest;
import org.apache.commons.lang3.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;


@Service("blackObuManager")
public class BlackObuManagerImpl extends AbstractManager implements BlackObuManager {

@Autowired
private QtkBlackObuRepo blackObuRepo;
@Autowired
private QtkBlackObuHisRepo blackObuHisRepo;
@Autowired
private QtkObuInfoRepo obuInfoRepo;

@Override
@Transactional(rollbackFor = Exception.class)
public AbstractBlsResponse obuIn(ObuInRequest req) throws ServiceHandleException {
return null;
//发送 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);
//返回
//todo 判断后返回 成功-失败
AbstractBlsResponse blsResponse = new AbstractBlsResponse();
blsResponse.setUploadStatus(1);
return blsResponse;
}

@Override
@Transactional(rollbackFor = Exception.class)
public AbstractBlsResponse obuOut(ObuOutRequest req) throws ServiceHandleException {
return null;
List<QtkBlackObu> blackObuList = blackObuRepo.queryByObuIdAndType(req.getObuId(), ObuBlackType.fromCode(req.getType()));
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.getStaffId());
blackObuHis.setSourceIn(blackObu.getSourceIn());
blackObuHis.setSourceOut(SourceType.findByCode(req.getSourceIn()));
blackObuHisRepo.save(blackObuHis);
//删除下黑数据
blackObuRepo.deleteAll(blackObuList);
AbstractBlsResponse blsResponse = new AbstractBlsResponse();
blsResponse.setUploadStatus(1);
return blsResponse;
}

@Override
public ObuQueryResponse obuQuery(ObuQueryRequest req) throws ServiceHandleException {
return null;
BlackObuPageRequest blackObuPageRequest = copyProperties(req, new BlackObuPageRequest());
BlackObuHisPageRequest blackObuHisPageRequest = copyProperties(req, new BlackObuHisPageRequest());

if (!StringUtils.isEmpty(req.getVehicleId())){
List<String> obuIdList = obuInfoRepo.queryByVehicleId(req.getVehicleId());
if (CollectionTools.isEmpty(obuIdList)){
blackObuPageRequest.setObuIdList(obuIdList);
blackObuHisPageRequest.setObuIdList(obuIdList);
}
}
List<QtkBlackObu> obuBlackList = blackObuRepo.list(blackObuPageRequest);
List<QtkBlackObuHis> obublackHisList = blackObuHisRepo.list(blackObuHisPageRequest);
List<ObuQueryModel> modelList = addModelList(obuBlackList, obublackHisList);
ObuQueryResponse response = new ObuQueryResponse();
response.setResults(modelList);
return response;
}


private List<ObuQueryModel> addModelList(List<QtkBlackObu> obuBlackList, List<QtkBlackObuHis> obublackHisList){
List<ObuQueryModel> modelList = null;
if (!CollectionTools.isEmpty(obublackHisList)){
modelList = SourceTargetMapper.INSTANCE.toObuModelList(obublackHisList);//进行复制
}
if (!CollectionTools.isEmpty(obuBlackList)){
for (QtkBlackObu blackObu : obuBlackList) {
ObuQueryModel model = new ObuQueryModel();
model.setType(blackObu.getType());
model.setObuId(blackObu.getObuId());
model.setStatus(blackObu.getStatus());
model.setCreateTime(blackObu.getCreationTime());
model.setReasonIn(blackObu.getReason());
model.setStaffIdIn(blackObu.getStaffId());
model.setSolution(blackObu.getSolution());
model.setSourceIn(blackObu.getSourceIn());
model.setAgencyId(blackObu.getAgencyId());
modelList.add(model);
}
}
return modelList;
}
}

+ 34
- 0
zhywpt-service-bls/src/main/java/cn/com/taiji/bls/tools/SourceTargetMapper.java Vedi File

@@ -0,0 +1,34 @@
package cn.com.taiji.bls.tools;

import cn.com.taiji.core.entity.basic.QtkBlackCardHis;
import cn.com.taiji.core.entity.basic.QtkBlackObuHis;
import cn.com.taiji.core.model.comm.protocol.bls.CardQueryModel;
import cn.com.taiji.core.model.comm.protocol.bls.ObuQueryModel;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.ReportingPolicy;
import org.mapstruct.factory.Mappers;

import java.util.List;
import java.util.stream.Collectors;

@Mapper(unmappedTargetPolicy = ReportingPolicy.IGNORE)
public interface SourceTargetMapper {
/** 通行流水 字段数量类型相同,数量少:仅能让多的转换成少的,故没有toEntity*/
SourceTargetMapper INSTANCE = Mappers.getMapper(SourceTargetMapper.class);

@Mapping(source = "creationTime", target = "createTime")
CardQueryModel toCardModel(QtkBlackCardHis source);

default List<CardQueryModel> toCardModelList(List<QtkBlackCardHis> sources){
return sources.stream().map(this::toCardModel).collect(Collectors.toList());
}

@Mapping(source = "creationTime", target = "createTime")
ObuQueryModel toObuModel(QtkBlackObuHis source);

default List<ObuQueryModel> toObuModelList(List<QtkBlackObuHis> sources){
return sources.stream().map(this::toObuModel).collect(Collectors.toList());
}

}

+ 18
- 18
zhywpt-service-bls/src/test/java/cn/com/taiji/oqs/client/FeignClientApplication.java Vedi File

@@ -1,18 +1,18 @@
package cn.com.taiji.oqs.client;
import cn.com.taiji.bls.config.JsonConfig;
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.context.annotation.Import;
@SpringBootApplication(scanBasePackages = "cn.com.taiji.core.manager.comm.client.feign",
exclude = {DataSourceAutoConfiguration.class, DruidDataSourceAutoConfigure.class})
@Import({JsonConfig.class})
public class FeignClientApplication {
public static void main(String[] args) {
System.out.println("开始启动FeignClientApplication......");
SpringApplication.run(FeignClientApplication.class, args);
}
}
//package cn.com.taiji.oqs.client;
//
//import cn.com.taiji.bls.config.JsonConfig;
//import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure;
//import org.springframework.boot.SpringApplication;
//import org.springframework.boot.autoconfigure.SpringBootApplication;
//import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
//import org.springframework.context.annotation.Import;
//
//@SpringBootApplication(scanBasePackages = "cn.com.taiji.core.manager.comm.client.feign",
// exclude = {DataSourceAutoConfiguration.class, DruidDataSourceAutoConfigure.class})
//@Import({JsonConfig.class})
//public class FeignClientApplication {
// public static void main(String[] args) {
// System.out.println("开始启动FeignClientApplication......");
// SpringApplication.run(FeignClientApplication.class, args);
// }
//}

+ 73
- 0
zhywpt-service-bls/src/test/java/cn/com/taiji/oqs/client/bls/TestBlackCardManager.java Vedi File

@@ -0,0 +1,73 @@
package cn.com.taiji.oqs.client.bls;

import cn.com.taiji.bls.Application;
import cn.com.taiji.bls.manager.AbstractCommManager;
import cn.com.taiji.bls.manager.blk.BlackCardManager;
import cn.com.taiji.common.manager.net.http.ServiceHandleException;
import cn.com.taiji.core.model.comm.protocol.bls.*;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

/**
* @Auther: humh
* @Description:
* @Date: 2025/5/28 20:30
* @email: huminghao@mail.taiji.com.cn
* @version: 1.0
*/
@SpringBootTest(classes = Application.class)
public class TestBlackCardManager extends AbstractCommManager {

@Autowired
private BlackCardManager blackCardManager;

@Test
public void cardInTest() {
CardInRequest cardInRequest = new CardInRequest();
cardInRequest.setType(1);
cardInRequest.setCardId("52012223230230868393");
cardInRequest.setReason("测试");
cardInRequest.setSolution("测试");
cardInRequest.setSourceIn("431bfdc8b9c645e0b293b85d6ce1925b");
cardInRequest.setStaffId("52010106004");//11位手机号
cardInRequest.setOrgCode("52010106004");
try {
AbstractBlsResponse blsResponse = blackCardManager.cardIn(cardInRequest);
} catch (ServiceHandleException e) {
logger.error(e.getMessage(), e);
}

logger.info("结束。。。");
}

@Test
public void cardOutTest(){
CardOutRequest cardOutRequest = new CardOutRequest();
cardOutRequest.setType(1);
cardOutRequest.setCardId("52012223230230868393");
cardOutRequest.setReason("反白测试2");
cardOutRequest.setSourceIn("431bfdc8b9c645e0b293b85d6ce1925b");
cardOutRequest.setStaffId("52010106004");
try {
blackCardManager.cardOut(cardOutRequest);
} catch (ServiceHandleException e) {
logger.info(e.getMessage(), e);
}

logger.info("结束。。");
}

@Test
public void cardQuery(){
CardQueryRequest cardQueryRequest = new CardQueryRequest();
try {
CardQueryResponse response = blackCardManager.cardQuery(cardQueryRequest);
} catch (ServiceHandleException e) {
logger.error(e.getMessage(), e);
}

logger.info("结束。。。");
}

}

+ 74
- 0
zhywpt-service-bls/src/test/java/cn/com/taiji/oqs/client/bls/TestBlackObuManager.java Vedi File

@@ -0,0 +1,74 @@
package cn.com.taiji.oqs.client.bls;

import cn.com.taiji.bls.Application;
import cn.com.taiji.bls.manager.AbstractCommManager;
import cn.com.taiji.bls.manager.blk.BlackCardManager;
import cn.com.taiji.bls.manager.blk.BlackObuManager;
import cn.com.taiji.common.manager.net.http.ServiceHandleException;
import cn.com.taiji.core.model.comm.protocol.bls.*;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

/**
* @Auther: humh
* @Description:
* @Date: 2025/5/28 20:30
* @email: huminghao@mail.taiji.com.cn
* @version: 1.0
*/
@SpringBootTest(classes = Application.class)
public class TestBlackObuManager extends AbstractCommManager {

@Autowired
private BlackObuManager blackObuManager;

@Test
public void cardInTest() {
ObuInRequest obuInRequest = new ObuInRequest();
obuInRequest.setType(1);
obuInRequest.setObuId("5202254500000014");
obuInRequest.setReason("下黑测试");
obuInRequest.setSolution("下黑测试");
obuInRequest.setSourceIn("431bfdc8b9c645e0b293b85d6ce1925b");
obuInRequest.setStaffId("52010106004");//11位手机号
obuInRequest.setOrgCode("52010106004");
try {
AbstractBlsResponse blsResponse = blackObuManager.obuIn(obuInRequest);
} catch (ServiceHandleException e) {
logger.error(e.getMessage(), e);
}

logger.info("结束。。。");
}

@Test
public void ObuOutTest(){
ObuOutRequest obuOutRequest = new ObuOutRequest();
obuOutRequest.setType(1);
obuOutRequest.setObuId("5202254500000014");
obuOutRequest.setReason("反白测试2");
obuOutRequest.setSourceIn("431bfdc8b9c645e0b293b85d6ce1925b");
obuOutRequest.setStaffId("52010106004");
try {
blackObuManager.obuOut(obuOutRequest);
} catch (ServiceHandleException e) {
logger.info(e.getMessage(), e);
}

logger.info("结束。。");
}

@Test
public void ObuQuery(){
ObuQueryRequest obuQueryRequest = new ObuQueryRequest();
try {
ObuQueryResponse response = blackObuManager.obuQuery(obuQueryRequest);
} catch (ServiceHandleException e) {
logger.error(e.getMessage(), e);
}

logger.info("结束。。。");
}

}

+ 44
- 44
zhywpt-service-bls/src/test/java/cn/com/taiji/oqs/client/demo/TestFeignClientRequest.java Vedi File

@@ -1,44 +1,44 @@
package cn.com.taiji.oqs.client.demo;
import cn.com.taiji.common.manager.net.http.binclient.ApiRequestException;
import cn.com.taiji.core.model.comm.protocol.sample.TypeSampleRequest;
import cn.com.taiji.core.model.comm.protocol.sample.TypeSampleResponse;
import cn.com.taiji.oqs.client.FeignClientApplication;
import cn.com.taiji.bls.manager.AbstractCommManager;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.Random;
@SpringBootTest(classes = FeignClientApplication.class)
public class TestFeignClientRequest extends AbstractCommManager {
@Test
public void testSampleRequest() {
TypeSampleRequest req = new TypeSampleRequest();
try {
logger.info("格式校验异常 req:" + req.toJson(true));
jsonPostRepeat(req, 3);
} catch (ApiRequestException e) {
logger.error("", e);
}
req = new TypeSampleRequest();
req.setCardId("cardId" + new Random().nextInt(1000000));
req.setReqStr("hello");
req.setValid(true);
try {
logger.info("业务校验异常 req:" + req.toJson(true));
jsonPostRepeat(req, 3);
} catch (ApiRequestException e) {
logger.error("", e);
}
req = new TypeSampleRequest();
req.setCardId("cardId" + new Random().nextInt(1000000));
req.setReqStr("hello");
req.setValid(false);
logger.info("成功 req:" + req.toJson(true));
TypeSampleResponse res = jsonPostRepeat(req, 1);
logger.info("res:" + res.toJson(true));
}
}
//package cn.com.taiji.oqs.client.demo;
//
//import cn.com.taiji.common.manager.net.http.binclient.ApiRequestException;
//import cn.com.taiji.core.model.comm.protocol.sample.TypeSampleRequest;
//import cn.com.taiji.core.model.comm.protocol.sample.TypeSampleResponse;
//import cn.com.taiji.oqs.client.FeignClientApplication;
//import cn.com.taiji.bls.manager.AbstractCommManager;
//import org.junit.jupiter.api.Test;
//import org.springframework.boot.test.context.SpringBootTest;
//
//import java.util.Random;
//
//@SpringBootTest(classes = FeignClientApplication.class)
//public class TestFeignClientRequest extends AbstractCommManager {
//
// @Test
// public void testSampleRequest() {
// TypeSampleRequest req = new TypeSampleRequest();
// try {
// logger.info("格式校验异常 req:" + req.toJson(true));
// jsonPostRepeat(req, 3);
// } catch (ApiRequestException e) {
// logger.error("", e);
// }
// req = new TypeSampleRequest();
// req.setCardId("cardId" + new Random().nextInt(1000000));
// req.setReqStr("hello");
// req.setValid(true);
// try {
// logger.info("业务校验异常 req:" + req.toJson(true));
// jsonPostRepeat(req, 3);
// } catch (ApiRequestException e) {
// logger.error("", e);
// }
// req = new TypeSampleRequest();
// req.setCardId("cardId" + new Random().nextInt(1000000));
// req.setReqStr("hello");
// req.setValid(false);
// logger.info("成功 req:" + req.toJson(true));
// TypeSampleResponse res = jsonPostRepeat(req, 1);
// logger.info("res:" + res.toJson(true));
//
// }
//}

Loading…
Annulla
Salva