修改订单同步

This commit is contained in:
wuweihua
2026-09-21 10:05:16 +08:00
committed by luojiaquan
parent cf04681cea
commit 212c64e0ed
37 changed files with 1576 additions and 24 deletions
+8
View File
@@ -36,6 +36,14 @@
<artifactId>mysql-connector-j</artifactId>
</dependency>
<!-- Oracle driver for SLAVE upstream order query (enable slave DS to use) -->
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc11</artifactId>
<version>23.5.0.24.07</version>
<scope>runtime</scope>
</dependency>
<!-- 核心模块-->
<dependency>
<groupId>com.ruoyi</groupId>
@@ -16,12 +16,15 @@ import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.framework.config.properties.TmsApiProperties;
import com.ruoyi.price.domain.vo.BillingTaskSubmitRequest;
import com.ruoyi.price.domain.vo.TmsPriceBillRequest;
import com.ruoyi.price.domain.vo.TmsPriceQuoteRequest;
import com.ruoyi.price.domain.vo.TmsPriceQuoteResult;
import com.ruoyi.price.domain.PrcBillingTask;
import com.ruoyi.price.search.EsBizLogSupport;
import com.ruoyi.price.search.EsLogType;
import com.ruoyi.price.search.IBillSearchStore;
import com.ruoyi.price.service.IPrcBillingTaskService;
import com.ruoyi.price.service.IPrcOrderBillService;
import com.ruoyi.price.service.ITmsPriceQuoteService;
@@ -46,6 +49,9 @@ public class TmsPriceController extends BaseController
@Autowired
private IPrcOrderBillService prcOrderBillService;
@Autowired
private IPrcBillingTaskService prcBillingTaskService;
@Autowired
private TmsApiProperties tmsApiProperties;
@@ -99,6 +105,35 @@ public class TmsPriceController extends BaseController
return success(result);
}
/**
* Warehouse inbound: create billing task (PENDING/REBILL/REFUND) and publish MQ.
* Consumer queries Oracle by transferNo/orderNo then inserts prc_order_bill.
* POST /api/tms/price/billing-task
*/
@PostMapping("/billing-task")
public AjaxResult submitBillingTask(
@RequestHeader(value = HEADER_API_CODE, required = false) String headerApiCode,
@RequestBody BillingTaskSubmitRequest request)
{
assertApiCode(headerApiCode, request == null ? null : request.getApiCode());
PrcBillingTask task = prcBillingTaskService.submitInbound(request);
return success(task);
}
/**
* Query billing task writeback status.
* GET /api/tms/price/billing-task/{taskId}
*/
@GetMapping("/billing-task/{taskId}")
public AjaxResult getBillingTask(
@RequestHeader(value = HEADER_API_CODE, required = false) String headerApiCode,
@PathVariable("taskId") Long taskId,
@RequestParam(value = "apiCode", required = false) String apiCode)
{
assertApiCode(headerApiCode, apiCode);
return success(prcBillingTaskService.getById(taskId));
}
/**
* Query order bill by orderNo after sync.
*/
@@ -10,13 +10,17 @@ spring:
username: bms
password: D3wsHf2ZMfFtWtKX
connectionInitSqls: SET NAMES utf8mb4
# 从库数据源
# Slave DS: Oracle upstream order (TAB_ORDER)
slave:
# 从数据源开关/默认关闭
enabled: false
url:
username:
password:
enabled: true
driverClassName: oracle.jdbc.OracleDriver
url: jdbc:oracle:thin:@//120.79.189.203:15281/WSDB
username: readonly_report
password: k5x15WP1hE
# Oracle remote query may need longer read timeout than MySQL
connectTimeout: 30000
socketTimeout: 120000
validationQuery: SELECT 1 FROM DUAL
# 初始连接数
initialSize: 5
# 最小连接池数量
@@ -151,6 +151,17 @@ bms:
tms:
# Agreed API identification code for TMS callers
api-code: BMS.TMS.ZYaOvlQzpcfau8TUaCFfO3Hp8ieHIqGw
billing:
# MQ mode: redis (default list queue) | local (Spring event)
mq-mode: redis
mq-queue-key: bms:billing:task
consumer-enabled: true
consumer-delay-ms: 1000
oracle:
# SLAVE datasource Oracle main-order table (schema.table allowed)
order-table: WEISHI_USER.TAB_ORDER
# Fallback product when Oracle row has no PRODUCT_CODE
default-product-code: ""
elasticsearch:
enabled: true
uris: http://127.0.0.1:9200