Skip to content

Commit

Permalink
Merge pull request #201 from yg3630536/feature/optimization-transport…
Browse files Browse the repository at this point in the history
…ation

* merge QR code and barcode protocol logic
  • Loading branch information
junqizhang-dev committed May 20, 2020
2 parents a7b6050 + 1d56915 commit 91e4cfd
Show file tree
Hide file tree
Showing 11 changed files with 41 additions and 978 deletions.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@
import com.webank.weid.util.DataToolUtils;

/**
* 根据资源获取barCodeData回调处理.
* 根据资源获取CodeData回调处理.
* @author yanggang
*
*/
Expand All @@ -57,77 +57,77 @@ public class DownTransDataService extends InnerService implements TransmissionSe
public ResponseData<String> service(String message) {
try {
GetTransDataArgs arg = DataToolUtils.deserialize(message, GetTransDataArgs.class);
return getBarCodeData(arg);
return getCodeData(arg);
} catch (Exception e) {
logger.error("[onPush] get barCodeData has error.", e);
ResponseData<String> barCodeRes = new ResponseData<String>();
barCodeRes.setResult(StringUtils.EMPTY);
barCodeRes.setErrorCode(ErrorCode.UNKNOW_ERROR);
return barCodeRes;
logger.error("[onPush] get CodeData has error.", e);
ResponseData<String> codeDataRes = new ResponseData<String>();
codeDataRes.setResult(StringUtils.EMPTY);
codeDataRes.setErrorCode(ErrorCode.UNKNOW_ERROR);
return codeDataRes;
}
}

private ResponseData<String> getBarCodeData(
private ResponseData<String> getCodeData(
GetTransDataArgs arg
) throws ClassNotFoundException {
logger.info("[getBarCodeData] begin query data param:{}", arg);
ResponseData<String> barCodeRes = new ResponseData<String>();
barCodeRes.setResult(StringUtils.EMPTY);
logger.info("[getCodeData] begin query data param:{}", arg);
ResponseData<String> codeDataRes = new ResponseData<String>();
codeDataRes.setResult(StringUtils.EMPTY);
ResponseData<String> responseData = this.getDataDriver().get(
DataDriverConstant.DOMAIN_RESOURCE_INFO, arg.getResourceId());
// 数据查询出错
if (responseData.getErrorCode().intValue() != ErrorCode.SUCCESS.getCode()) {
logger.error(
"[getBarCodeData] query data has error: {} - {}.",
"[getCodeData] query data has error: {} - {}.",
responseData.getErrorCode(),
responseData.getErrorMessage()
);
barCodeRes.setErrorCode(ErrorCode.getTypeByErrorCode(responseData.getErrorCode()));
return barCodeRes;
codeDataRes.setErrorCode(ErrorCode.getTypeByErrorCode(responseData.getErrorCode()));
return codeDataRes;
}
// 数据不存在
if (StringUtils.isBlank(responseData.getResult())) {
logger.error("[getBarCodeData] the data does not exist.");
barCodeRes.setErrorCode(ErrorCode.SQL_DATA_DOES_NOT_EXIST);
return barCodeRes;
logger.error("[getCodeData] the data does not exist.");
codeDataRes.setErrorCode(ErrorCode.SQL_DATA_DOES_NOT_EXIST);
return codeDataRes;
}
// 解析数据
TransCodeBaseData codeData = (TransCodeBaseData)DataToolUtils.deserialize(
responseData.getResult(), Class.forName(arg.getClassName())
);
//得到数据编解码类型(原文&密文)
EncodeType encodeType = EncodeType.getEncodeType(codeData.getEncodeType());
logger.info("[getBarCodeData] the encode is {}", encodeType.name());
logger.info("[getCodeData] the encode is {}", encodeType.name());
if (encodeType == EncodeType.ORIGINAL) {
// 原文类型
barCodeRes.setResult(responseData.getResult());
barCodeRes.setErrorCode(ErrorCode.SUCCESS);
logger.info("[getBarCodeData] query data successfully.");
return barCodeRes;
codeDataRes.setResult(responseData.getResult());
codeDataRes.setErrorCode(ErrorCode.SUCCESS);
logger.info("[getCodeData] query data successfully.");
return codeDataRes;
} else if (encodeType == EncodeType.CIPHER) { //密文类型
// 获取密钥
GetEncryptKeyResponse encryptKey = getEncryptKey(arg);
if (encryptKey.getErrorCode().intValue() != ErrorCode.SUCCESS.getCode()) {
logger.error("[getBarCodeData] query the key has error.");
barCodeRes.setErrorCode(
logger.error("[getCodeData] query the key has error.");
codeDataRes.setErrorCode(
ErrorCode.getTypeByErrorCode(encryptKey.getErrorCode().intValue()));
return barCodeRes;
return codeDataRes;
}
logger.info("[getBarCodeData] begin decrypt the data");
logger.info("[getCodeData] begin decrypt the data");
String data = String.valueOf(codeData.getData());
String value = CryptoServiceFactory
.getCryptoService(CryptoType.AES)
.decrypt(data, encryptKey.getEncryptKey());
codeData.setData(value);
barCodeRes.setResult(DataToolUtils.serialize(codeData));
barCodeRes.setErrorCode(ErrorCode.SUCCESS);
logger.info("[getBarCodeData] query data successfully.");
return barCodeRes;
codeDataRes.setResult(DataToolUtils.serialize(codeData));
codeDataRes.setErrorCode(ErrorCode.SUCCESS);
logger.info("[getCodeData] query data successfully.");
return codeDataRes;
} else {
// 数据找不到编解码类型
logger.error("[getBarCodeData] the encode type error.");
barCodeRes.setErrorCode(ErrorCode.TRANSPORTATION_PROTOCOL_ENCODE_ERROR);
return barCodeRes;
logger.error("[getCodeData] the encode type error.");
codeDataRes.setErrorCode(ErrorCode.TRANSPORTATION_PROTOCOL_ENCODE_ERROR);
return codeDataRes;
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@
import com.webank.weid.suite.api.transportation.inf.QrCodeTransportation;
import com.webank.weid.suite.api.transportation.inf.Transportation;
import com.webank.weid.suite.api.transportation.params.TransportationType;
import com.webank.weid.suite.transportation.bar.impl.BarCodeTransportationImpl;
import com.webank.weid.suite.transportation.json.impl.JsonTransportationImpl;
import com.webank.weid.suite.transportation.pdf.impl.PdfTransportationImpl;
import com.webank.weid.suite.transportation.qr.impl.QrCodeTransportationImpl;
Expand Down Expand Up @@ -63,8 +62,6 @@ public static Transportation build(TransportationType transportationType) {
switch (transportationType) {
case JSON:
return new JsonTransportationImpl();
case BAR_CODE:
return new BarCodeTransportationImpl();
case QR_CODE:
return new QrCodeTransportationImpl();
default:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,5 +25,5 @@
*
*/
public enum TransportationType {
JSON, BAR_CODE, QR_CODE
JSON, QR_CODE
}
66 changes: 0 additions & 66 deletions src/main/java/com/webank/weid/suite/entity/BarCodeVersion.java

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -42,19 +42,19 @@ public abstract class AbstractCodeTransportation extends AbstractJsonTransportat

protected TransmissionRequest<GetTransDataArgs> buildRequest(
TransType type,
TransCodeBaseData barCodeData,
TransCodeBaseData codeData,
WeIdAuthentication weIdAuthentication
) {
TransmissionRequest<GetTransDataArgs> request = new TransmissionRequest<>();
request.setOrgId(barCodeData.getOrgId());
request.setOrgId(codeData.getOrgId());
request.setServiceType(ServiceType.SYS_GET_TRANS_DATA.name());
request.setWeIdAuthentication(weIdAuthentication);
request.setArgs(getBarCodeArgs(barCodeData, weIdAuthentication));
request.setArgs(getCodeDataArgs(codeData, weIdAuthentication));
request.setTransType(type);
return request;
}

protected GetTransDataArgs getBarCodeArgs(
protected GetTransDataArgs getCodeDataArgs(
TransCodeBaseData codeData,
WeIdAuthentication weIdAuthentication
) {
Expand Down

0 comments on commit 91e4cfd

Please sign in to comment.