diff --git a/business/model/dao/dao_order.go b/business/model/dao/dao_order.go index 0a1ecbc17..d4e846b2e 100644 --- a/business/model/dao/dao_order.go +++ b/business/model/dao/dao_order.go @@ -1296,3 +1296,43 @@ func GetSimpleOrderSkus(db *DaoDB, vendorOrderID string) (skus []*model.OrderSku err = GetRows(db, &skus, sql, sqlParams) return skus, err } + +func GetAfsOrdersByPage(db *DaoDB, vendorOrderID, afsOrderID, userID string, fromTime, toTime time.Time, offset, pageSize int) (afsOrderList []*model.AfsOrder, totalCount int, err error) { + sql := ` + SELECT SQL_CALC_FOUND_ROWS * + FROM afs_order t1 + LEFT JOIN goods_order t2 ON t2.vendor_order_id = t1.vendor_order_id AND t2.vendor_id = t1.vendor_id + WHERE 1 = 1 + ` + sqlParams := []interface{}{} + if vendorOrderID != "" { + sql += " AND t1.vendor_order_id = ?" + sqlParams = append(sqlParams, vendorOrderID) + } + if afsOrderID != "" { + sql += " AND t1.afs_order_id = ?" + sqlParams = append(sqlParams, afsOrderID) + } + if !utils.IsTimeZero(fromTime) { + sql += " AND t1.afs_created_at >= ?" + sqlParams = append(sqlParams, fromTime) + } + if !utils.IsTimeZero(toTime) { + sql += " AND t1.afs_created_at <= ?" + sqlParams = append(sqlParams, toTime) + } + if userID != "" { + sql += " AND t2.user_id = ?" + sqlParams = append(sqlParams, userID) + } + sql += ` ORDER BY t1.afs_order_id DESC + LIMIT ? OFFSET ? + ` + sqlParams = append(sqlParams, pageSize, offset) + Begin(db) + defer Commit(db) + if err = GetRows(db, &afsOrderList, sql, sqlParams...); err == nil { + totalCount = GetLastTotalRowCount(db) + } + return afsOrderList, totalCount, err +} diff --git a/business/partner/purchase/jx/localjx/order.go b/business/partner/purchase/jx/localjx/order.go index 223bc1b0a..a9283f3b8 100644 --- a/business/partner/purchase/jx/localjx/order.go +++ b/business/partner/purchase/jx/localjx/order.go @@ -202,8 +202,12 @@ func GetMyOrders(ctx *jxcontext.Context, fromDateStr, toDateStr string, params m return pagedInfo, err } -func GetMyAfsOrders(ctx *jxcontext.Context, vendorOrderID, afsOrderID, fromTime, toTime string, offset, pageSize int) (pagedInfo *model.PagedInfo, err error) { - +func GetMyAfsOrders(ctx *jxcontext.Context, vendorOrderID, afsOrderID, userID, fromTime, toTime string, offset, pageSize int) (pagedInfo *model.PagedInfo, err error) { + afsOrderList, totalCount, err := dao.GetAfsOrdersByPage(dao.GetDB(), vendorOrderID, afsOrderID, userID, utils.Str2Time(fromTime), utils.Str2Time(toTime), offset, pageSize) + pagedInfo = &model.PagedInfo{ + TotalCount: totalCount, + Data: afsOrderList, + } return pagedInfo, err } diff --git a/controllers/jx_order2.go b/controllers/jx_order2.go index ed557a21c..707c210c9 100644 --- a/controllers/jx_order2.go +++ b/controllers/jx_order2.go @@ -126,7 +126,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) + retVal, err = localjx.GetMyAfsOrders(params.Ctx, params.VendorOrderID, params.AfsOrderID, params.UserID, params.FromTime, params.ToTime, params.Offset, params.PageSize) return retVal, "", err }) } diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index a3199757a..12ca830d3 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -673,6 +673,15 @@ func init() { Filters: nil, Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:JxOrderController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:JxOrderController"], + beego.ControllerComments{ + Method: "GetMyAfsOrders", + Router: `/GetMyAfsOrders`, + AllowHTTPMethods: []string{"get"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:JxOrderController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:JxOrderController"], beego.ControllerComments{ Method: "GetMyOrderCountInfo",