fix analysis

This commit is contained in:
2025-12-27 13:51:26 +08:00
parent ed50e9b778
commit cc1680cf01
17 changed files with 485 additions and 57 deletions

View File

@@ -142,10 +142,50 @@ func (l *PaySuccessNotifyUserHandler) ProcessTask(ctx context.Context, t *asynq.
}
// 调用API请求服务
combinedResponse, err := l.svcCtx.ApiRequestService.ProcessRequests(decryptData, product.Id)
responseData, err := l.svcCtx.ApiRequestService.ProcessRequests(decryptData, product.Id)
if err != nil {
return l.handleError(ctx, err, order, query)
}
// responseData 对这个进行筛选筛选Success == true 的此时调用成功的模块数据将产品关联的模块产品成本价cost_price 累加到order.SalesCost中
// 同时在响应数据中添加成本价信息
for i, data := range responseData {
if data.Success {
// 通过API ID查找对应的feature获取其成本价
feature, err := l.svcCtx.FeatureModel.FindOneByApiId(ctx, data.ApiID)
if err != nil {
logx.Errorf("查找API ID %s 对应的feature失败: %v", data.ApiID, err)
continue
}
order.SalesCost += feature.CostPrice
// 将成本价信息添加到响应数据中
// 首先解析原始数据
var originalData map[string]interface{}
if err := json.Unmarshal(data.Data, &originalData); err != nil {
logx.Errorf("解析API %s 的响应数据失败: %v", data.ApiID, err)
continue
}
// 添加成本价字段
originalData["cost_price"] = feature.CostPrice
// 重新序列化数据
updatedData, err := json.Marshal(originalData)
if err != nil {
logx.Errorf("序列化API %s 的更新后数据失败: %v", data.ApiID, err)
continue
}
// 更新responseData中的Data字段
responseData[i].Data = json.RawMessage(updatedData)
}
}
// 对返回的类型进行二进制转换
combinedResponse, marshalErr := json.Marshal(responseData)
if marshalErr != nil {
err = fmt.Errorf("响应数据转 JSON 失败: %v", marshalErr)
return l.handleError(ctx, err, order, query)
}
// 加密返回响应
encryptData, aesEncryptErr := crypto.AesEncrypt(combinedResponse, key)
if aesEncryptErr != nil {