From 2f5c7e0526af2b2678291428d1f4f1c6413c7d68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Fri, 21 Aug 2020 14:12:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E6=8E=A5=E5=8F=A3=EF=BC=8C=E5=BE=97?= =?UTF-8?q?=E5=88=B0=E6=88=91=E7=9A=84=E5=AE=88=E4=BB=B7=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxcallback/orderman/order.go | 2 +- business/jxstore/act/act.go | 2 +- business/model/dao/dao_order.go | 43 ++++++++++++++----- business/partner/purchase/jx/localjx/order.go | 11 ++++- controllers/jx_order2.go | 15 +++++++ routers/commentsRouter_controllers.go | 18 ++++++++ 6 files changed, 77 insertions(+), 14 deletions(-) diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index bf829a8cf..117031eff 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -410,7 +410,7 @@ func checkPriceDefendOrderByStock(db *dao.DaoDB, storeID, skuID, stock, jxPrice var ( sumStock = 0 ) - priceDefends, _ := dao.GetPriceDefendOrder(db, []int{storeID}, []int{skuID}, []int{jxutils.GetDefendPriceIssue()}, 0, 1, 0) + priceDefends, _ := dao.GetPriceDefendOrder(db, []int{storeID}, []int{skuID}, []int{jxutils.GetDefendPriceIssue()}, 0, 1, 0, "", utils.ZeroTimeValue, utils.ZeroTimeValue, false) if len(priceDefends) == 0 { return -1 } diff --git a/business/jxstore/act/act.go b/business/jxstore/act/act.go index 52afb0dc0..68be7f43a 100644 --- a/business/jxstore/act/act.go +++ b/business/jxstore/act/act.go @@ -1658,7 +1658,7 @@ func ChangeJxPriceByDiscountAct(ctx *jxcontext.Context) { } func checkPriceDefendOrderByPrice(db *dao.DaoDB, storeID, skuID, stock, jxPrice int) (realStock int) { - priceDefends, _ := dao.GetPriceDefendOrder(db, []int{storeID}, []int{skuID}, []int{jxutils.GetDefendPriceIssue()}, 0, 0, 0) + priceDefends, _ := dao.GetPriceDefendOrder(db, []int{storeID}, []int{skuID}, []int{jxutils.GetDefendPriceIssue()}, 0, 0, 0, "",utils.ZeroTimeValue, utils.ZeroTimeValue, false) if len(priceDefends) == 0 { return -1 } diff --git a/business/model/dao/dao_order.go b/business/model/dao/dao_order.go index b10a56e5c..faf74e5d5 100644 --- a/business/model/dao/dao_order.go +++ b/business/model/dao/dao_order.go @@ -1412,38 +1412,59 @@ func GetSupplySupportStoreSkus(db *DaoDB, fromDate, toDate time.Time, fromStoreI return getSupplySupportStoreSkusResult, err } -func GetPriceDefendOrder(db *DaoDB, storeIDs, skuIDs, issues []int, defendPrice, isBuyNowPrice, isSuccess int) (priceDefendOrders []*model.PriceDefendOrder, err error) { +func GetPriceDefendOrder(db *DaoDB, storeIDs, skuIDs, issues []int, defendPrice, isBuyNowPrice, isSuccess int, userID string, beginAt, EndAt time.Time, isDesc bool) (priceDefendOrders []*model.PriceDefendOrder, err error) { sql := ` - SELECT * - FROM price_defend_order + SELECT a.* + FROM price_defend_order a + JOIN user_delivery_address b ON a.address_id = b.id AND b.deleted_at = ? WHERE 1 = 1 + AND a.deleted_at = ? ` - sqlParams := []interface{}{} + sqlParams := []interface{}{ + utils.DefaultTimeValue, + utils.DefaultTimeValue, + } if len(storeIDs) > 0 { - sql += " AND store_id IN (" + GenQuestionMarks(len(storeIDs)) + ")" + sql += " AND a.store_id IN (" + GenQuestionMarks(len(storeIDs)) + ")" sqlParams = append(sqlParams, storeIDs) } if len(skuIDs) > 0 { - sql += " AND sku_id IN (" + GenQuestionMarks(len(skuIDs)) + ")" + sql += " AND a.sku_id IN (" + GenQuestionMarks(len(skuIDs)) + ")" sqlParams = append(sqlParams, skuIDs) } if len(issues) > 0 { - sql += " AND issue IN (" + GenQuestionMarks(len(issues)) + ")" + sql += " AND a.issue IN (" + GenQuestionMarks(len(issues)) + ")" sqlParams = append(sqlParams, issues) } if defendPrice != 0 { - sql += " AND defend_price = ?" + sql += " AND a.defend_price = ?" sqlParams = append(sqlParams, defendPrice) } if isBuyNowPrice != -1 { - sql += " AND is_buy_now_price = ?" + sql += " AND a.is_buy_now_price = ?" sqlParams = append(sqlParams, isBuyNowPrice) } if isSuccess != -1 { - sql += " AND is_success = ?" + sql += " AND a.is_success = ?" sqlParams = append(sqlParams, isSuccess) } - sql += " ORDER BY created_at" + if userID != "" { + sql += " AND b.user_id = ?" + sqlParams = append(sqlParams, userID) + } + if beginAt != utils.ZeroTimeValue { + sql += " AND a.created_at >= ?" + sqlParams = append(sqlParams, beginAt) + } + if EndAt != utils.ZeroTimeValue { + sql += " AND a.created_at <= ?" + sqlParams = append(sqlParams, EndAt) + } + if isDesc { + sql += " ORDER BY a.created_at DESC" + } else { + sql += " ORDER BY a.created_at" + } err = GetRows(db, &priceDefendOrders, sql, sqlParams) return priceDefendOrders, err } diff --git a/business/partner/purchase/jx/localjx/order.go b/business/partner/purchase/jx/localjx/order.go index 54618950d..aee5e8038 100644 --- a/business/partner/purchase/jx/localjx/order.go +++ b/business/partner/purchase/jx/localjx/order.go @@ -1904,7 +1904,7 @@ func CreateOrderByPriceDefend(ctx *jxcontext.Context) { var ( db = dao.GetDB() ) - priceDefends, _ := dao.GetPriceDefendOrder(db, nil, nil, []int{jxutils.GetDefendPriceIssue()}, 0, -1, 1) + priceDefends, _ := dao.GetPriceDefendOrder(db, nil, nil, []int{jxutils.GetDefendPriceIssue()}, 0, -1, 1, "", utils.ZeroTimeValue, utils.ZeroTimeValue, false) if len(priceDefends) == 0 { return } @@ -1949,3 +1949,12 @@ func SettleDiscountActByPriceDefend(ctx *jxcontext.Context, order *model.PriceDe } return err } + +func GetMyPriceDefendOrders(ctx *jxcontext.Context, fromTime, toTime string) (priceDefendOrders []*model.PriceDefendOrder, err error) { + var ( + db = dao.GetDB() + userID = ctx.GetUserID() + ) + priceDefendOrders, err = dao.GetPriceDefendOrder(db, nil, nil, nil, 0, -1, -1, userID, utils.Str2Time(fromTime), utils.Str2Time(toTime), true) + return priceDefendOrders, err +} diff --git a/controllers/jx_order2.go b/controllers/jx_order2.go index 4509ea81b..0e3196de5 100644 --- a/controllers/jx_order2.go +++ b/controllers/jx_order2.go @@ -255,3 +255,18 @@ func (c *JxOrderController) GetSupplySupportStoreSkus() { return retVal, "", err }) } + +// @Title 得到自己的守价订单列表 +// @Description 得到自己的守价订单列表 +// @Param token header string true "认证token" +// @Param fromTime query string false "开始日期(包含),格式(2006-01-02 00:00:00)" +// @Param toTime query string false "结束日期(包含),格式(2006-01-02 00:00:00)" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /GetMyPriceDefendOrders [get] +func (c *JxOrderController) GetMyPriceDefendOrders() { + c.callGetMyPriceDefendOrders(func(params *tJxorderGetMyPriceDefendOrdersParams) (retVal interface{}, errCode string, err error) { + + return retVal, "", err + }) +} diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index 1e4ca26de..dcd9d53c5 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -727,6 +727,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: "GetMyPriceDefendOrders", + Router: `/GetMyPriceDefendOrders`, + 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: "GetOrderPay", @@ -754,6 +763,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: "Pay4User", + Router: `/Pay4User`, + AllowHTTPMethods: []string{"post"}, + 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: "PayForPopluarMan",