Merge branch 'develop' of gitee.com:fusenpack/fusenapi into develop
This commit is contained in:
@@ -268,6 +268,7 @@ func (d *defaultOrder) PaymentSuccessful(ctx context.Context, in *PaymentSuccess
|
||||
StatusTitle: constants.OrderStatusMessage[statusCode],
|
||||
}
|
||||
statusLink = order.UpdateOrderStatusLink(ress.OrderDetailOriginal.OrderInfo.StatusLink, gmodel.OrderStatus{
|
||||
Ctime: &ntime,
|
||||
Utime: &ntime,
|
||||
StatusCode: statusCode,
|
||||
StatusTitle: constants.OrderStatusMessage[statusCode],
|
||||
@@ -343,8 +344,7 @@ func (d *defaultOrder) PaymentSuccessful(ctx context.Context, in *PaymentSuccess
|
||||
PayTitle: &payTitle,
|
||||
})
|
||||
// 更新订单信息
|
||||
var sql string = fmt.Sprintf(", `utime` = '%s'", ntime)
|
||||
uOrderDetail["pay_status"] = orderPayStatusCode
|
||||
var sql string = fmt.Sprintf(", `utime` = '%s', `pay_status` = %d", ntime, orderPayStatusCode)
|
||||
uOrderDetail["order_info"] = struct {
|
||||
Utime *time.Time `json:"utime"`
|
||||
Status gmodel.OrderStatus `json:"status"`
|
||||
@@ -892,7 +892,32 @@ func (d *defaultOrder) Create(ctx context.Context, in *CreateReq) (res *CreateRe
|
||||
if shoppingCart.ShoppingCartProduct.CoverResource != nil && shoppingCart.ShoppingCartProduct.CoverResource.Metadata != nil {
|
||||
json.Unmarshal(*shoppingCart.ShoppingCartProduct.CoverResource.Metadata, &productCoverMetadata)
|
||||
}
|
||||
orderProductList = append(orderProductList, gmodel.OrderProduct{
|
||||
snapshot, err := d.OrderDetailSnapshotHandler(ctx, shoppingCart.FsShoppingCart.Snapshot)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
var shoppingCartSnapshotInter = &gmodel.FsShoppingCartData{
|
||||
Id: shoppingCart.FsShoppingCart.Id,
|
||||
UserId: shoppingCart.FsShoppingCart.UserId,
|
||||
ProductId: shoppingCart.FsShoppingCart.ProductId,
|
||||
TemplateId: shoppingCart.FsShoppingCart.TemplateId,
|
||||
ModelId: shoppingCart.FsShoppingCart.ModelId,
|
||||
SizeId: shoppingCart.FsShoppingCart.SizeId,
|
||||
LightId: shoppingCart.FsShoppingCart.LightId,
|
||||
FittingId: shoppingCart.FsShoppingCart.FittingId,
|
||||
PurchaseQuantity: shoppingCart.FsShoppingCart.PurchaseQuantity,
|
||||
Snapshot: &snapshot,
|
||||
SnapshotData: shoppingCart.FsShoppingCart.Snapshot,
|
||||
IsSelected: shoppingCart.FsShoppingCart.IsSelected,
|
||||
IsHighlyCustomized: shoppingCart.FsShoppingCart.IsHighlyCustomized,
|
||||
Ctime: shoppingCart.FsShoppingCart.Ctime,
|
||||
Utime: shoppingCart.FsShoppingCart.Utime,
|
||||
}
|
||||
var purchaseQuantityInter = gmodel.PurchaseQuantity{
|
||||
Current: *shoppingCart.PurchaseQuantity,
|
||||
Initiate: *shoppingCart.PurchaseQuantity,
|
||||
}
|
||||
productInter := gmodel.OrderProduct{
|
||||
TotalPrice: order.GetAmountInfo(order.GetAmountInfoReq{
|
||||
ExchangeRate: in.ExchangeRate,
|
||||
Initiate: productTotalPrice,
|
||||
@@ -901,10 +926,7 @@ func (d *defaultOrder) Create(ctx context.Context, in *CreateReq) (res *CreateRe
|
||||
OriginalCurrency: in.OriginalCurrency,
|
||||
}),
|
||||
ExpectedDeliveryTime: &in.ExpectedDeliveryTime,
|
||||
PurchaseQuantity: gmodel.PurchaseQuantity{
|
||||
Current: *shoppingCart.PurchaseQuantity,
|
||||
Initiate: *shoppingCart.PurchaseQuantity,
|
||||
},
|
||||
PurchaseQuantity: purchaseQuantityInter,
|
||||
ProductID: *shoppingCart.ProductId,
|
||||
ProductCover: *shoppingCart.ShoppingCartProduct.Cover,
|
||||
ProductCoverMetadata: productCoverMetadata,
|
||||
@@ -917,7 +939,7 @@ func (d *defaultOrder) Create(ctx context.Context, in *CreateReq) (res *CreateRe
|
||||
OriginalCurrency: in.OriginalCurrency,
|
||||
}),
|
||||
ProductSnapshot: shoppingCart.ShoppingCartProduct,
|
||||
ShoppingCartSnapshot: &shoppingCart.FsShoppingCart,
|
||||
ShoppingCartSnapshot: shoppingCartSnapshotInter,
|
||||
ProductSn: *shoppingCart.ShoppingCartProduct.Sn,
|
||||
DiyInformation: &shoppingCartSnapshot.UserDiyInformation,
|
||||
FittingInfo: &gmodel.OrderProductFittingInfo{
|
||||
@@ -934,7 +956,8 @@ func (d *defaultOrder) Create(ctx context.Context, in *CreateReq) (res *CreateRe
|
||||
},
|
||||
StepNum: stepNum,
|
||||
IsHighlyCustomized: *shoppingCart.IsHighlyCustomized,
|
||||
})
|
||||
}
|
||||
orderProductList = append(orderProductList, productInter)
|
||||
}
|
||||
|
||||
subtotal = order.GetAmountInfo(order.GetAmountInfoReq{
|
||||
@@ -1060,6 +1083,66 @@ func (d *defaultOrder) Create(ctx context.Context, in *CreateReq) (res *CreateRe
|
||||
}, nil
|
||||
}
|
||||
|
||||
// 处理订单购物车快照
|
||||
func (d *defaultOrder) OrderDetailSnapshotHandler(ctx context.Context, req *string) (res map[string]interface{}, err error) {
|
||||
var snapshot map[string]interface{}
|
||||
json.Unmarshal([]byte(*req), &snapshot)
|
||||
snapshotFittingInfoData, snapshotFittingInfoEx := snapshot["fitting_info"]
|
||||
var fittingInfoMap map[string]interface{}
|
||||
if snapshotFittingInfoEx {
|
||||
var snapshotFittingInfoJson map[string]interface{}
|
||||
var fittingName string
|
||||
snapshotFittingInfo := snapshotFittingInfoData.(map[string]interface{})
|
||||
snapshotFittingInfoJsonData, snapshotFittingInfoJsonEx := snapshotFittingInfo["fitting_json"]
|
||||
if snapshotFittingInfoJsonEx {
|
||||
json.Unmarshal([]byte(snapshotFittingInfoJsonData.(string)), &snapshotFittingInfoJson)
|
||||
}
|
||||
fittingNameData, fittingNameEx := snapshotFittingInfo["fitting_name"]
|
||||
if fittingNameEx {
|
||||
fittingName = fittingNameData.(string)
|
||||
}
|
||||
fittingInfoMap = make(map[string]interface{}, 2)
|
||||
fittingInfoMap["fitting_json"] = snapshotFittingInfoJson
|
||||
fittingInfoMap["fitting_name"] = fittingName
|
||||
}
|
||||
snapshot["fitting_info"] = fittingInfoMap
|
||||
|
||||
snapshotModelInfoData, snapshotModelInfoEx := snapshot["model_info"]
|
||||
var modelInfoMap map[string]interface{}
|
||||
if snapshotModelInfoEx {
|
||||
var snapshotModelInfoJson map[string]interface{}
|
||||
snapshotModelInfo := snapshotModelInfoData.(map[string]interface{})
|
||||
snapshotModelInfoJsonData, snapshotModelInfoJsonEx := snapshotModelInfo["model_json"]
|
||||
if snapshotModelInfoJsonEx {
|
||||
json.Unmarshal([]byte(snapshotModelInfoJsonData.(string)), &snapshotModelInfoJson)
|
||||
}
|
||||
modelInfoMap = make(map[string]interface{}, 1)
|
||||
modelInfoMap["model_json"] = snapshotModelInfoJson
|
||||
}
|
||||
snapshot["model_info"] = modelInfoMap
|
||||
|
||||
snapshotTemplateInfoData, snapshotTemplateInfoEx := snapshot["template_info"]
|
||||
var templateInfoMap map[string]interface{}
|
||||
if snapshotTemplateInfoEx {
|
||||
var snapshotTemplateInfoJson map[string]interface{}
|
||||
var templateTag string
|
||||
snapshotTemplateInfo := snapshotTemplateInfoData.(map[string]interface{})
|
||||
snapshotTemplateInfoJsonData, snapshotTemplateInfoJsonEx := snapshotTemplateInfo["template_json"]
|
||||
if snapshotTemplateInfoJsonEx {
|
||||
json.Unmarshal([]byte(snapshotTemplateInfoJsonData.(string)), &snapshotTemplateInfoJson)
|
||||
}
|
||||
templateTagData, templateTagEx := snapshotTemplateInfo["template_tag"]
|
||||
if templateTagEx {
|
||||
templateTag = templateTagData.(string)
|
||||
}
|
||||
templateInfoMap = make(map[string]interface{}, 2)
|
||||
templateInfoMap["template_json"] = snapshotTemplateInfoJson
|
||||
templateInfoMap["template_tag"] = templateTag
|
||||
}
|
||||
snapshot["template_info"] = templateInfoMap
|
||||
return snapshot, nil
|
||||
}
|
||||
|
||||
// 详情处理
|
||||
func (d *defaultOrder) OrderDetailHandler(ctx context.Context, orderInfo *gmodel.FsOrder, original int64) (res *DetailRes, err error) {
|
||||
var orderDetail gmodel.OrderDetail
|
||||
@@ -1076,42 +1159,7 @@ func (d *defaultOrder) OrderDetailHandler(ctx context.Context, orderInfo *gmodel
|
||||
orderDetail.OrderProduct[orderProductKey].TotalPrice = order.GetAmountInfoFormat(&orderProduct.TotalPrice)
|
||||
orderDetail.OrderProduct[orderProductKey].PurchaseQuantity = order.GetPurchaseQuantity(&orderProduct.PurchaseQuantity)
|
||||
orderDetail.OrderProduct[orderProductKey].ProductSnapshot = nil
|
||||
var snapshot map[string]interface{}
|
||||
if orderDetail.OrderProduct[orderProductKey].ShoppingCartSnapshot.Snapshot != nil {
|
||||
json.Unmarshal([]byte(*orderDetail.OrderProduct[orderProductKey].ShoppingCartSnapshot.Snapshot), &snapshot)
|
||||
}
|
||||
snapshotfittingInfoData, snapshotfittingInfoEx := snapshot["fitting_info"]
|
||||
var snapshotfittingInfoJson map[string]interface{}
|
||||
if snapshotfittingInfoEx {
|
||||
snapshotfittingInfo := snapshotfittingInfoData.(map[string]interface{})
|
||||
snapshotfittingInfoJsonData, snapshotfittingInfoJsonEx := snapshotfittingInfo["fitting_json"]
|
||||
if snapshotfittingInfoJsonEx {
|
||||
var snapshotfittingInfoJson map[string]interface{}
|
||||
json.Unmarshal([]byte(snapshotfittingInfoJsonData.(string)), &snapshotfittingInfoJson)
|
||||
}
|
||||
}
|
||||
snapshot["fitting_info"] = snapshotfittingInfoJson
|
||||
snapshotModelInfoData, snapshotModelInfoEx := snapshot["model_info"]
|
||||
var snapshotModelInfoJson map[string]interface{}
|
||||
if snapshotModelInfoEx {
|
||||
snapshotModelInfo := snapshotModelInfoData.(map[string]interface{})
|
||||
snapshotModelInfoJsonData, snapshotModelInfoJsonEx := snapshotModelInfo["model_json"]
|
||||
if snapshotModelInfoJsonEx {
|
||||
json.Unmarshal([]byte(snapshotModelInfoJsonData.(string)), &snapshotModelInfoJson)
|
||||
}
|
||||
}
|
||||
snapshot["model_info"] = snapshotModelInfoJson
|
||||
snapshotTemplateInfoData, snapshotTemplateInfoEx := snapshot["template_info"]
|
||||
var snapshotTemplateInfoJson map[string]interface{}
|
||||
if snapshotTemplateInfoEx {
|
||||
snapshotTemplateInfo := snapshotTemplateInfoData.(map[string]interface{})
|
||||
snapshotTemplateInfoJsonData, snapshotTemplateInfoJsonEx := snapshotTemplateInfo["template_json"]
|
||||
if snapshotTemplateInfoJsonEx {
|
||||
json.Unmarshal([]byte(snapshotTemplateInfoJsonData.(string)), &snapshotTemplateInfoJson)
|
||||
}
|
||||
}
|
||||
snapshot["template_info"] = snapshotTemplateInfoJson
|
||||
orderDetail.OrderProduct[orderProductKey].ShoppingCartSnapshotInfo = snapshot
|
||||
orderDetail.OrderProduct[orderProductKey].ShoppingCartSnapshot.SnapshotData = nil
|
||||
}
|
||||
orderDetail.OrderInfo.StatusLink = order.GetOrderStatusLinkUser(orderDetail.OrderInfo.DeliveryMethod, orderDetail.OrderInfo.StatusLink)
|
||||
orderDetail.OrderAmount.Deposit.PayAmount = order.GetAmountInfoFormat(&orderDetail.OrderAmount.Deposit.PayAmount)
|
||||
|
||||
Reference in New Issue
Block a user