@@ -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;//下黑来源 | |||
} |
@@ -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;//状态 |
@@ -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") |
@@ -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 = "成功."; |
@@ -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); | |||
} |
@@ -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); | |||
} |
@@ -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); | |||
} |
@@ -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); | |||
} |
@@ -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; | |||
} | |||
} |
@@ -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; | |||
} | |||
} |
@@ -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; | |||
} | |||
} |
@@ -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; | |||
} | |||
} |
@@ -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); |
@@ -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 |
@@ -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 { |
@@ -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; | |||
} | |||
} |
@@ -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; | |||
} | |||
} |
@@ -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()); | |||
} | |||
} |
@@ -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); | |||
// } | |||
//} |
@@ -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("结束。。。"); | |||
} | |||
} |
@@ -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("结束。。。"); | |||
} | |||
} |
@@ -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)); | |||
// | |||
// } | |||
//} |