提交 9a5d4ad8 authored 作者: aiqingguo's avatar aiqingguo

数据同步

上级 e7d59269
package com.clx.performance.constant;
/**
* @ClassName UserConstants
* @Description
* @Author kavin
* @Date 2024/3/25 14:15
* @Version 1.0
*/
public class UserConstants {
public static String PRODUCT_CODE = "Product-Code";
public static String TOKEN = "Token";
}
......@@ -261,7 +261,10 @@
<artifactId>openBasicSDK</artifactId>
<version>1.7.0</version>
</dependency>
<dependency>
<groupId>com.clx.cy</groupId>
<artifactId>open-sdk</artifactId>
</dependency>
</dependencies>
......
package com.clx.performance.config;
import com.clx.open.sdk.callback.OpenCallBackClient;
import com.clx.open.sdk.request.OpenRequestClient;
import lombok.Data;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Getter
@Configuration
@ConfigurationProperties(prefix = "third") // 配置 文件的前缀
@Slf4j
public class ThirdAppConfig implements InitializingBean {
// 这里的名字要和yml中的对应字段名称一致
public static Map<String, AppConfig> config = new HashMap<>();
public Map<String, OpenCallBackClient> openCallBackClientMap = new HashMap<>();
public Map<String, OpenRequestClient> openRequestClientMap = new HashMap<>();
// 注意此处的 static 关键字
public static AppConfig getConfig(String appNo) {
return config.get(appNo);
}
public void setConfig(List<AppConfig> appConfigs) {
config = appConfigs.stream().collect(Collectors.toMap(AppConfig::getAppNo, value -> value));
}
public OpenCallBackClient getOpenCallBackClient(String appNo) {
OpenCallBackClient openCallBackClient = openCallBackClientMap.get(appNo);
if (openCallBackClient == null) {
log.info("当前appNo:{}对应的client不存在", appNo);
throw new RuntimeException("当前appNo对应的client不存在");
}
return openCallBackClient;
}
public OpenRequestClient getOpenRequestClient(String appNo) {
OpenRequestClient openRequestClient = openRequestClientMap.get(appNo);
if (openRequestClient == null) {
log.info("当前appNo:{}对应的client不存在", appNo);
throw new RuntimeException("当前appNo对应的client不存在");
}
return openRequestClient;
}
@Override
public void afterPropertiesSet() throws Exception {
if (config.isEmpty()) {
log.info("third app config is empty");
return;
}
for (Map.Entry<String, AppConfig> entry : config.entrySet()) {
String key = entry.getKey();
AppConfig value = entry.getValue();
openCallBackClientMap.put(key, new OpenCallBackClient(value.getUrl(), value.getAppNo(), value.getSecret()));
openRequestClientMap.put(key, new OpenRequestClient(value.getUrl(), value.getAppNo(), value.getSecret()));
}
}
@Data
public static class AppConfig {
private String appNo;
private String secret;
private String url;
}
}
......@@ -27,14 +27,14 @@ public class TempBankController {
private NbBankService bankService;
@ApiOperation(value = "转账支付", notes = "<br>By:艾庆国")
@RequestMapping(value = "/orderTransferPay", method = RequestMethod.POST)
// @RequestMapping(value = "/orderTransferPay", method = RequestMethod.POST)
public Result<NbBankOrderPayResultVO> directBankTransferOrder() {
return Result.ok(bankService.orderTransferPay(1));
}
@ApiOperation(value = "订单支付", notes = "<br>By:艾庆国")
@RequestMapping(value = "/orderDirectPay", method = RequestMethod.POST)
// @RequestMapping(value = "/orderDirectPay", method = RequestMethod.POST)
public Result<NbBankOrderPayResultVO> orderDirectPay() {
// return Result.ok(bankService.orderDirectPay(null,2,"313332082914","86041110000076809", "黑玫瑰"));
......@@ -43,7 +43,7 @@ public class TempBankController {
}
@ApiOperation(value = "订单支付1", notes = "<br>By:艾庆国")
@RequestMapping(value = "/orderDirectPay1", method = RequestMethod.POST)
// @RequestMapping(value = "/orderDirectPay1", method = RequestMethod.POST)
public Result<NbBankOrderPayResultVO> orderDirectPay1(String payAcctNo, String payAcctNm) {
// return Result.ok(bankService.orderDirectPay(null,2,"313332082914","86041110000076809", "黑玫瑰"));
......@@ -52,28 +52,28 @@ public class TempBankController {
}
@ApiOperation(value = "查询", notes = "<br>By:艾庆国")
@RequestMapping(value = "/getResult", method = RequestMethod.POST)
// @RequestMapping(value = "/getResult", method = RequestMethod.POST)
public Result<NbBankOrderResultVO> getResult(String merSeqNo) {
return Result.ok(bankService.getResult(merSeqNo));
}
@ApiOperation(value = "调账", notes = "<br>By:艾庆国")
@RequestMapping(value = "/adjust", method = RequestMethod.POST)
// @RequestMapping(value = "/adjust", method = RequestMethod.POST)
public Result<NbBankOrderResultVO> adjust(String orgMerSeqNo, Integer amount) {
return Result.ok(bankService.adjust(orgMerSeqNo,amount));
}
@ApiOperation(value = "退款", notes = "<br>By:艾庆国")
@RequestMapping(value = "/refund", method = RequestMethod.POST)
// @RequestMapping(value = "/refund", method = RequestMethod.POST)
public Result<NbBankOrderResultVO> refund(Integer type, String orgMerSeqNo, Integer amount, String orgTransSeqNo) {
return Result.ok(bankService.refund(type,orgMerSeqNo,amount,orgTransSeqNo));
}
@ApiOperation(value = "回调", notes = "<br>By:艾庆国")
@RequestMapping(value = "/notify", method = RequestMethod.POST)
// @RequestMapping(value = "/notify", method = RequestMethod.POST)
public Result notify(NbBankOrderResultVO param) {
bankService.orderPayCallback(param.getMerSeqNo(), param.getTransSeqNo(),
param.getAmount(), param.getAmount(), param.getStatus(), param.getSignNo());
......
package com.clx.performance.controller.temp;
import com.clx.performance.component.ThirdComponent;
import com.clx.open.sdk.request.action.SyncOrderChildAction;
import com.clx.performance.extranal.transport.TransportService;
import com.clx.performance.feign.TransportFeignService;
import com.clx.performance.param.feign.transport.OrderChildPaySyncParam;
import com.clx.performance.param.feign.transport.OwnerSettlementSyncParam;
import com.clx.performance.param.feign.transport.ThirdOrderChildRiskStatusParam;
import com.clx.performance.listener.OrderChildDtsListener;
import com.clx.performance.service.TempService;
import com.clx.performance.service.child.FeignOrderChildService;
import com.clx.performance.vo.pc.child.OrderChildLineStatisticsVO;
import com.msl.common.dto.HttpDTO;
import com.msl.common.result.Result;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotBlank;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
/**
......@@ -39,12 +35,16 @@ public class TempController {
@Autowired
private TransportFeignService transportFeignService;
@Autowired
private OrderChildDtsListener orderChildDtsListener;
@ApiOperation(value = "test", notes = "<br>By:艾庆国")
@RequestMapping(value = "/test", method = RequestMethod.GET)
public Result test() {
SyncOrderChildAction action = new SyncOrderChildAction();
orderChildDtsListener.thirdpartySync(action);
return Result.ok();
}
......@@ -67,16 +67,16 @@ public class TempController {
// return Result.ok();
// }
@ApiOperation(value = "测试支付划账 (临时接口)", notes = "<br>By:胡宁宁")
@RequestMapping(value = "/paymentTest", method = RequestMethod.GET)
public Result<Void> paymentTest(@RequestParam("fromUser") @NotBlank(message = "扣款方") String fromUser,
@RequestParam("toUser") @NotBlank(message = "收款方") String toUser,
@RequestParam("figure") @NotBlank(message = "金额") String figure) {
tempService.paymentTest(fromUser,toUser,figure);
return Result.ok();
}
// @ApiOperation(value = "测试支付划账 (临时接口)", notes = "<br>By:胡宁宁")
// @RequestMapping(value = "/paymentTest", method = RequestMethod.GET)
// public Result<Void> paymentTest(@RequestParam("fromUser") @NotBlank(message = "扣款方") String fromUser,
// @RequestParam("toUser") @NotBlank(message = "收款方") String toUser,
// @RequestParam("figure") @NotBlank(message = "金额") String figure) {
//
// tempService.paymentTest(fromUser,toUser,figure);
//
// return Result.ok();
// }
// @ApiOperation(value = "承运同步网络货运 (临时接口)", notes = "<br>By:艾庆国")
......
......@@ -4,20 +4,22 @@ import com.alibaba.fastjson.JSON;
import com.clx.open.sdk.callback.OpenCallBackClient;
import com.clx.open.sdk.callback.message.OrderChildMessage;
import com.clx.open.sdk.enums.ResultStatusEnum;
import com.clx.open.sdk.request.OpenRequestClient;
import com.clx.open.sdk.request.action.SyncOrderChildAction;
import com.clx.order.enums.OrderEnum;
import com.clx.order.enums.SyncPlatformEnum;
import com.clx.order.feign.OrderFeign;
import com.clx.order.vo.feign.FeignOrderVO;
import com.clx.performance.config.MslAppConfig;
import com.clx.performance.config.ThirdAppConfig;
import com.clx.performance.constant.RabbitKeyConstants;
import com.clx.performance.dto.dts.DataTransportDTO;
import com.clx.performance.enums.DtsOperationTypeEnum;
import com.clx.performance.enums.OrderChildEnum;
import com.clx.performance.extranal.user.DriverService;
import com.clx.performance.event.OrderChildCancelEvent;
import com.clx.performance.extranal.user.DriverService;
import com.clx.performance.model.OrderChild;
import com.clx.performance.service.LastTruckService;
import com.clx.performance.struct.OrderChildStruct;
import com.clx.user.vo.feign.FeignDriverTruckModelVo;
import com.msl.common.enums.ResultCodeEnum;
import com.msl.common.result.Result;
......@@ -27,7 +29,6 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.stereotype.Component;
......@@ -43,6 +44,8 @@ public class OrderChildDtsListener {
private final LastTruckService lastTruckService;
private final DriverService driverService;
private final ApplicationEventPublisher applicationEventPublisher;
private final ThirdAppConfig thirdAppConfig;
@RabbitListener(queues = RabbitKeyConstants.CLX_PERFORMANCE_ORDER_CHILD_QUEUE)
......@@ -56,6 +59,8 @@ public class OrderChildDtsListener {
OrderChildMessage before = DtsMapConvertUtil.convert(dataTransportDTO.getBeforeMap(), new OrderChildMessage());
OrderChildMessage after = DtsMapConvertUtil.convert(dataTransportDTO.getAfterMap(), new OrderChildMessage());
thirdpartySync(DtsMapConvertUtil.convert(dataTransportDTO.getAfterMap(), new SyncOrderChildAction()));
if(Objects.equals(DtsOperationTypeEnum.INSERT.getCode(),dataTransportDTO.getOperationType().getCode())){
//同步after数据
log.info("新增:{}",after);
......@@ -135,7 +140,35 @@ public class OrderChildDtsListener {
}
}
/**
* 第三方同步
*/
public void thirdpartySync(SyncOrderChildAction action){
// FeignOrderVO orderInfoFeign = orderFeign.getOrderInfoFeign("");
// if (orderInfoFeign == null) {
// return;
// }
// // 同步新货主客户端的运单
// if(!Objects.equals(orderInfoFeign.getOrderSource(), SyncPlatformEnum.Source.NEW_OWNER_CLIENT.getCode())){
//
// }
try{
OpenRequestClient openRequestClient = thirdAppConfig.getOpenRequestClient(SyncPlatformEnum.Source.NEW_OWNER_CLIENT.getCode().toString());
log.info("运单同步:{}", action.getId());
Result<String> result = openRequestClient.doAction(action);
if (result.succeed()) {
log.info("运单同步成功:{}", action.getId());
}else{
log.info("运单同步失败:{}", action.getId());
}
}catch (Exception e){
}
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论