diff --git a/business/model/dao/dao_order.go b/business/model/dao/dao_order.go index eeceaa567..0a1ecbc17 100644 --- a/business/model/dao/dao_order.go +++ b/business/model/dao/dao_order.go @@ -337,7 +337,7 @@ func GetStoresOrderSaleInfo(db *DaoDB, storeIDList []int, fromTime time.Time, to return saleInfoList, err } -func GetAfsOrderSkuInfo(db *DaoDB, vendorOrderID, afsOrderID string, vendorID int) (skus []*model.OrderFinancialSkuExt, err error) { +func GetAfsOrderSkuInfo(db *DaoDB, vendorOrderID, afsOrderID string, vendorID int, isNotFaild bool) (skus []*model.OrderFinancialSkuExt, err error) { if vendorOrderID == "" && afsOrderID == "" { return nil, fmt.Errorf("必须指定订单或售后单ID") } @@ -346,6 +346,7 @@ func GetAfsOrderSkuInfo(db *DaoDB, vendorOrderID, afsOrderID string, vendorID in FROM order_sku_financial t1 LEFT JOIN sku t2 ON t2.id = IF(t1.jx_sku_id <> 0, t1.jx_sku_id, t1.sku_id) LEFT JOIN sku_name t3 ON t3.id = t2.name_id + LEFT JOIN afs_order t4 ON t4.afs_order_id = t1.afs_order_id WHERE t1.is_afs_order = 1 AND t1.vendor_id = ?` sqlParams := []interface{}{ vendorID, @@ -359,7 +360,10 @@ func GetAfsOrderSkuInfo(db *DaoDB, vendorOrderID, afsOrderID string, vendorID in sql += " AND t1.afs_order_id = ?" sqlParams = append(sqlParams, afsOrderID) } - + if isNotFaild { + sql += " AND t4.status <> ?" + sqlParams = append(sqlParams, model.AfsOrderStatusFailed) + } err = GetRows(db, &skus, sql, sqlParams...) return skus, err } diff --git a/business/partner/purchase/jx/localjx/order.go b/business/partner/purchase/jx/localjx/order.go index cc286250c..223bc1b0a 100644 --- a/business/partner/purchase/jx/localjx/order.go +++ b/business/partner/purchase/jx/localjx/order.go @@ -202,8 +202,8 @@ func GetMyOrders(ctx *jxcontext.Context, fromDateStr, toDateStr string, params m return pagedInfo, err } -func GetMyAfsOrders(ctx *jxcontext.Context, fromDateStr, toDateStr string, params map[string]interface{}, offset, pageSize int) (pagedInfo *model.PagedInfo, err error) { - +func GetMyAfsOrders(ctx *jxcontext.Context, vendorOrderID, afsOrderID, fromTime, toTime string, offset, pageSize int) (pagedInfo *model.PagedInfo, err error) { + return pagedInfo, err } diff --git a/business/partner/purchase/jx/order_afs.go b/business/partner/purchase/jx/order_afs.go index 3f042a212..bffcfb102 100644 --- a/business/partner/purchase/jx/order_afs.go +++ b/business/partner/purchase/jx/order_afs.go @@ -36,13 +36,14 @@ func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *mod StatusTime: time.Now(), Remark: reason, } - partner.CurOrderManager.OnAfsOrderStatusChanged(orderStatus) if status == model.AfsOrderStatusFinished { orderPays, err := dao.GetOrderPayList(dao.GetDB(), order.VendorOrderID, order.VendorID) if err == nil { _, err = localjx.RefundOrderByTL(ctx, orderPays[0], order.VendorOrderID, int(order.SkuUserMoney), reason) if err != nil { return err + } else { + partner.CurOrderManager.OnAfsOrderStatusChanged(orderStatus) } } } @@ -105,21 +106,23 @@ func (c *PurchaseHandler) PartRefundOrder(ctx *jxcontext.Context, order *model.G } if skuMap[sku.SkuID] != nil { orderSku.Name = skuMap[sku.SkuID].SkuName - orderSku.UserMoney = skuMap[sku.SkuID].SalePrice - salePrice += skuMap[sku.SkuID].SalePrice + orderSku.UserMoney = skuMap[sku.SkuID].SalePrice * int64(skuMap[sku.SkuID].Count) + salePrice += skuMap[sku.SkuID].SalePrice * int64(skuMap[sku.SkuID].Count) } afsOrder.SkuUserMoney += orderSku.UserMoney afsOrder.Skus = append(afsOrder.Skus, orderSku) } - if afsOrder != nil { - err = partner.CurOrderManager.OnAfsOrderNew(afsOrder, orderStatus) - } + if !isJxShop(appID) { orderPays, err := dao.GetOrderPayList(dao.GetDB(), order.VendorOrderID, order.VendorID) if err == nil { _, err = localjx.RefundOrderByTL(ctx, orderPays[0], order.VendorOrderID, int(salePrice), reason) if err != nil { return err + } else { + if afsOrder != nil { + err = partner.CurOrderManager.OnAfsOrderNew(afsOrder, orderStatus) + } } } } @@ -141,7 +144,7 @@ func buildOrderStatus(ctx *jxcontext.Context, order *model.GoodsOrder, reason st if isJxShop { orderStatus.Status = model.AfsOrderStatusWait4Approve } else { - orderStatus.Status = model.AfsOrderStatusNew + orderStatus.Status = model.AfsOrderStatusFinished } return orderStatus } diff --git a/controllers/jx_order.go b/controllers/jx_order.go index a4d044b51..11b54609c 100644 --- a/controllers/jx_order.go +++ b/controllers/jx_order.go @@ -373,14 +373,15 @@ func (c *OrderController) GetAfsOrders() { // @Description 得到售后单SKU信息(订单与售后单必填一项) // @Param token header string true "认证token" // @Param vendorID query int true "售后单所属的厂商ID" -// @Param vendorOrderID query string faslse "订单ID" -// @Param afsOrderID query string faslse "售后单ID" +// @Param vendorOrderID query string false "订单ID" +// @Param afsOrderID query string false "售后单ID" +// @Param isNotFaild query bool false "是否查非失败的" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /GetAfsOrderSkuInfo [get] func (c *OrderController) GetAfsOrderSkuInfo() { c.callGetAfsOrderSkuInfo(func(params *tOrderGetAfsOrderSkuInfoParams) (retVal interface{}, errCode string, err error) { - retVal, err = dao.GetAfsOrderSkuInfo(dao.GetDB(), params.VendorOrderID, params.AfsOrderID, params.VendorID) + retVal, err = dao.GetAfsOrderSkuInfo(dao.GetDB(), params.VendorOrderID, params.AfsOrderID, params.VendorID, params.IsNotFaild) return retVal, "", err }) } diff --git a/controllers/jx_order2.go b/controllers/jx_order2.go index f1a56b146..8ff732a2d 100644 --- a/controllers/jx_order2.go +++ b/controllers/jx_order2.go @@ -125,7 +125,7 @@ func (c *JxOrderController) GetMyOrders() { // @router /GetMyAfsOrders [get] func (c *JxOrderController) GetMyAfsOrders() { c.callGetMyAfsOrders(func(params *tJxorderGetMyAfsOrdersParams) (retVal interface{}, errCode string, err error) { - + retVal, err = localjx.GetMyAfsOrders(params.Ctx, params.VendorOrderID, params.AfsOrderID, params.FromTime, params.ToTime, params.Offset, params.PageSize) return retVal, "", err }) }