feat: 实现 AI 规格候选匹配与审计 (#201)
This commit is contained in:
+24
-2
@@ -586,6 +586,13 @@ type SybOrderContext struct {
|
||||
PddUpdatedAt string
|
||||
MappingOptionKey string
|
||||
MappingOptions string
|
||||
MappingSource string
|
||||
MappingProviderID string
|
||||
MappingModel string
|
||||
MappingConfidenceBPS int
|
||||
MappingReason string
|
||||
MappingSourceVersion string
|
||||
MappingContextVersion string
|
||||
HasSucceededPurchaseTask bool
|
||||
HasManualReviewPurchaseTask bool
|
||||
HasActiveTask bool
|
||||
@@ -598,14 +605,18 @@ func scanSybOrderContext(s rowScanner) (SybOrderContext, error) {
|
||||
var priceCent sql.NullInt64
|
||||
var shopeeExists int
|
||||
var pddGoodsID, pddGoodsURL, collectStatus, collectMsg, skusJSON, pddUpdatedAt sql.NullString
|
||||
var mappingKey, mappingOptions sql.NullString
|
||||
var mappingKey, mappingOptions, mappingSource, mappingProviderID, mappingModel sql.NullString
|
||||
var mappingReason, mappingSourceVersion, mappingContextVersion sql.NullString
|
||||
var mappingConfidence sql.NullInt64
|
||||
var hasSucceededTask, hasManualReviewTask, hasActiveTask, hasActiveCollectTask int
|
||||
err := s.Scan(
|
||||
&c.Order.SybID, &c.Order.OrderNo, &shopName, &title, &productSpec, &specKey, &shopeeGoodsID,
|
||||
&c.Order.Quantity, &priceCent, &imageURL, &c.Order.SybData,
|
||||
&c.Order.CreatedAt, &c.Order.UpdatedAt, &shopeeExists,
|
||||
&pddGoodsID, &pddGoodsURL, &collectStatus, &collectMsg, &skusJSON, &pddUpdatedAt,
|
||||
&mappingKey, &mappingOptions, &hasSucceededTask, &hasManualReviewTask,
|
||||
&mappingKey, &mappingOptions, &mappingSource, &mappingProviderID, &mappingModel,
|
||||
&mappingConfidence, &mappingReason, &mappingSourceVersion, &mappingContextVersion,
|
||||
&hasSucceededTask, &hasManualReviewTask,
|
||||
&hasActiveTask, &hasActiveCollectTask,
|
||||
)
|
||||
c.Order.ShopName = shopName.String
|
||||
@@ -624,6 +635,13 @@ func scanSybOrderContext(s rowScanner) (SybOrderContext, error) {
|
||||
c.PddUpdatedAt = pddUpdatedAt.String
|
||||
c.MappingOptionKey = mappingKey.String
|
||||
c.MappingOptions = mappingOptions.String
|
||||
c.MappingSource = mappingSource.String
|
||||
c.MappingProviderID = mappingProviderID.String
|
||||
c.MappingModel = mappingModel.String
|
||||
c.MappingConfidenceBPS = int(mappingConfidence.Int64)
|
||||
c.MappingReason = mappingReason.String
|
||||
c.MappingSourceVersion = mappingSourceVersion.String
|
||||
c.MappingContextVersion = mappingContextVersion.String
|
||||
c.HasSucceededPurchaseTask = hasSucceededTask != 0
|
||||
c.HasManualReviewPurchaseTask = hasManualReviewTask != 0
|
||||
c.HasActiveTask = hasActiveTask != 0
|
||||
@@ -641,6 +659,8 @@ func ListSybOrderContexts(q Execer, filter SybOrderFilter, limit, offset int) ([
|
||||
CASE WHEN sp.goods_id IS NULL THEN 0 ELSE 1 END,
|
||||
sp.pdd_goods_id, sp.pdd_goods_url, pp.collect_status, pp.collect_msg,
|
||||
pp.skus_json, pp.updated_at, sm.pdd_option_key, sm.pdd_options,
|
||||
sm.source,sm.source_provider_id,sm.source_model,sm.confidence_bps,
|
||||
sm.source_reason,sm.source_version,sm.context_version,
|
||||
EXISTS(SELECT 1 FROM tasks t WHERE t.task_type = 'purchase'
|
||||
AND t.syb_id = so.syb_id AND t.status = 'succeeded'),
|
||||
EXISTS(SELECT 1 FROM tasks t WHERE t.task_type = 'purchase'
|
||||
@@ -682,6 +702,8 @@ func GetSybOrderContext(q Execer, sybID string) (*SybOrderContext, error) {
|
||||
CASE WHEN sp.goods_id IS NULL THEN 0 ELSE 1 END,
|
||||
sp.pdd_goods_id, sp.pdd_goods_url, pp.collect_status, pp.collect_msg,
|
||||
pp.skus_json, pp.updated_at, sm.pdd_option_key, sm.pdd_options,
|
||||
sm.source,sm.source_provider_id,sm.source_model,sm.confidence_bps,
|
||||
sm.source_reason,sm.source_version,sm.context_version,
|
||||
EXISTS(SELECT 1 FROM tasks t WHERE t.task_type = 'purchase'
|
||||
AND t.syb_id = so.syb_id AND t.status = 'succeeded'),
|
||||
EXISTS(SELECT 1 FROM tasks t WHERE t.task_type = 'purchase'
|
||||
|
||||
Reference in New Issue
Block a user