huminghao 2 giorni fa
parent
commit
9123fa0c6c

+ 1
- 0
gly-base-core/src/main/java/cn/com/taiji/core/model/comm/protocol/ias/order/OrderServiceCmd.java Vedi File

@@ -29,6 +29,7 @@ public enum OrderServiceCmd implements SignServiceCommand {
PUSHAGREEMENT("协议提交接口", PushAgreementRequest.class),
CONSIGNEE("收货信息", OrderConsigneeRequest.class),
FINDNORMALORDER("查询正常订单", IssueOrderNormalRequest.class),
WXSIGNINFO("微信信息查询", IssueWxSignInfoRequest.class),//凯琳老小程序恢复签约
;

private final String value;

+ 3
- 0
zhywpt-service-ias/src/main/java/cn/com/taiji/ias/dict/DataType.java Vedi File

@@ -32,6 +32,7 @@ public enum DataType {
ORDERSIGNCHECK("orderSignCheck", IasServiceType.ORDER, OrderServiceCmd.SIGNCHECK),
CONSIGNEE("consignee", IasServiceType.ORDER, OrderServiceCmd.CONSIGNEE),
FIND_NORMAL_ORDER("findNormalOrder", IasServiceType.ORDER, OrderServiceCmd.FINDNORMALORDER),
WX_SIGN_INFO("wxSignInfo", IasServiceType.ORDER, OrderServiceCmd.WXSIGNINFO),

GET_H5_URL("getH5Url", IasServiceType.ISSUE, IssueServiceCmd.GETH5URL),

@@ -44,6 +45,8 @@ public enum DataType {
ASSORDER_AUDIT("assOrderAudit", IasServiceType.ASS, AssServiceCmd.ORDERAUDIT),
ASSORDER_CANCEL("assOrderCancel", IasServiceType.ASS, AssServiceCmd.ORDERCANCEL),
ASSORDER_PAYINFO("assOrderPayInfo", IasServiceType.ASS, AssServiceCmd.PAYINFO),


;
private final String value;
private final SignServiceType serviceType;

+ 4
- 0
zhywpt-service-ias/src/main/java/cn/com/taiji/ias/manager/handler/OrderServiceHandler.java Vedi File

@@ -62,6 +62,8 @@ public class OrderServiceHandler extends AbstractIasServiceHandler<OrderServiceC
private PushAgreementManager pushAgreementManager;
@Autowired
private IssueOrderNormalManager issueOrderNormalManager;
@Autowired
private OrderWxSignInfoManager orderWxSignInfoManager;

@Override
protected <T extends AbstractSignTypeRequest<?>> AbstractSignTypeResponse handleInternal(T request, SignJsonRequest jsonReq, AbstractHttpRequestInfo reqInfo) throws ServiceHandleException {
@@ -111,6 +113,8 @@ public class OrderServiceHandler extends AbstractIasServiceHandler<OrderServiceC
return pushAgreementManager.serviceHandle((PushAgreementRequest)request, jsonReq.getIfCode(), jsonReq.getReqId(), reqInfo);
case FINDNORMALORDER:
return issueOrderNormalManager.serviceHandle((IssueOrderNormalRequest)request, jsonReq.getIfCode(), jsonReq.getReqId(), reqInfo);
case WXSIGNINFO:
return orderWxSignInfoManager.serviceHandle((IssueWxSignInfoRequest)request, jsonReq.getIfCode(), jsonReq.getReqId(), reqInfo);
default:
throw FileProtocolSystemError.NOT_SUPPORT.toHandleException(jsonReq.getIfCode());
}

+ 89
- 0
zhywpt-service-ias/src/main/java/cn/com/taiji/ias/manager/order/OrderWxSignInfoManager.java Vedi File

@@ -0,0 +1,89 @@
package cn.com.taiji.ias.manager.order;

import cn.com.taiji.common.manager.net.http.ServiceHandleException;
import cn.com.taiji.core.entity.basic.QtkCardInfo;
import cn.com.taiji.core.entity.basic.QtkVehicleInfo;
import cn.com.taiji.core.entity.dict.basic.PlateColorType;
import cn.com.taiji.core.model.comm.protocol.ias.order.IssueWxSignInfoRequest;
import cn.com.taiji.core.model.comm.protocol.ias.order.IssueWxSignInfoResponse;
import cn.com.taiji.core.model.comm.protocol.ias.order.SignQueryResponse;
import cn.com.taiji.core.model.comm.protocol.valid.ErrorMsgBuilder;
import cn.com.taiji.core.model.comm.protocol.valid.GlyServiceError;
import cn.com.taiji.core.repo.jpa.basic.QtkCardInfoRepo;
import cn.com.taiji.ias.dict.DataType;
import cn.com.taiji.ias.model.ServiceLogEvent;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Map;

/**
* @Author : cehnchaod
* @Date: 2025/2/20 23:37
* @Description:
*/

@Service
public class OrderWxSignInfoManager extends AbstractOrderManager<IssueWxSignInfoRequest> {
@Autowired
private SignCommonManager signCommonManager;
@Autowired
private QtkCardInfoRepo qtkCardInfoRepo;
public OrderWxSignInfoManager() {
super(DataType.WX_SIGN_INFO);
}

@Override
protected String getDataId(IssueWxSignInfoRequest req) {
return "";
}

@Override
protected void formatValidateInternal(ErrorMsgBuilder builder, IssueWxSignInfoRequest req,
ServiceLogEvent event, Map<String, Object> dataStream) throws ServiceHandleException {
}

@Override
protected void businessValidateInternal(ErrorMsgBuilder builder, IssueWxSignInfoRequest req,
ServiceLogEvent event, Map<String, Object> dataStream) throws ServiceHandleException {
}

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

@Override
protected IssueWxSignInfoResponse getRes(IssueWxSignInfoRequest reqDto, ServiceLogEvent event,
Map<String, Object> dataStream) throws ServiceHandleException {
logger.info("恢复签约request:{}",reqDto.toJson());
QtkVehicleInfo vehicle = vehicleInfoRepo.findByVehicleId(reqDto.getVehicleId());
if (vehicle == null) throw newBusinessException("未找到车辆信息");
QtkCardInfo card = qtkCardInfoRepo.findByVehicleIdAndCardStatus(vehicle.getVehicleId());
if (card == null) throw newBusinessException("未找到车辆对应的卡");
String[] split = reqDto.getVehicleId().split("_");
int color = Integer.parseInt(split[1]);
SignQueryResponse res = new SignQueryResponse();
switch (PlateColorType.valueOfCode(color)) {
case BLUE:
case GREEN:
res = signCommonManager.carSignV2(reqDto.getOpenid(), card.getPackageId(), reqDto.getVehicleId());
break;
default:
throw GlyServiceError.BUSINESS_VALIDATE_ERR.toHandleException("微信恢复签约只支持,蓝、渐变绿,车牌签约");
}
IssueWxSignInfoResponse issueWxSignInfoResponse = new IssueWxSignInfoResponse();
issueWxSignInfoResponse.setAppid(res.getAppId());
issueWxSignInfoResponse.setSubAppid(res.getSubAppId());
issueWxSignInfoResponse.setMchId(res.getMchId());
issueWxSignInfoResponse.setSubMchId(res.getSubMchId());
issueWxSignInfoResponse.setNonceStr(res.getNonceStr());
issueWxSignInfoResponse.setSignType(res.getSignType());
issueWxSignInfoResponse.setSign(res.getSign());
issueWxSignInfoResponse.setTradeScene(res.getTradeScene());
issueWxSignInfoResponse.setPlateNumber(res.getPlateNumber());
issueWxSignInfoResponse.setSubOpenid(res.getSubOpenId());
issueWxSignInfoResponse.setChannelType(res.getChannelType());
return issueWxSignInfoResponse;
}
}

Loading…
Annulla
Salva