func AppOperateOrderList(a *decorator.ApiBase, data *appStruct.AppOperateOrdersListRequest) error { logger.AccessLogger.Info("AppOperateOrderList...") var err error var boids []int64 //where := map[string]interface{}{} resp := appStruct.OperateOrderListResponse{} //orderMains := []appStruct.OperateOrderList{} resp.ResponseCommon = a.NewSuccessResponseCommon() query := rds.DB.Table("business_order_info as a"). Select(`a.boid, a.contract_no, a.bid, b.bname, s.sid, s.sname, w.wid, w.wname, a.order_no, a.ctime, a.sum_num, a.sum_amt, a.pay_amt, a.proc_status, a.status, a.remark`). Joins("left join supplier_base as s on s.sid=a.sid"). Joins("left join business_base as b on b.bid=a.bid"). Joins("left join warehouse_info as w on w.wid=a.wid"). Not("a.status=?", model.Delete)
时间: 2024-04-15 08:24:50 浏览: 111
在这段代码中,函数AppOperateOrderList接受了两个参数`a`和`data`,类型分别为`*decorator.ApiBase`和`*appStruct.AppOperateOrdersListRequest`。这个函数的目的是操作订单列表。
首先,通过日志记录了函数的开始。
然后定义了一些变量,其中`boids`是一个int64类型的切片。接下来,创建了一个空的`OperateOrderListResponse`结构体类型的变量`resp`,并为其`ResponseCommon`字段赋值为`a.NewSuccessResponseCommon()`。
接下来,使用`rds.DB.Table`创建了一个查询对象`query`,并使用`Select`方法指定了需要查询的字段。在这里,查询了一些订单信息,并使用多个`Joins`方法进行了多表连接。
最后,使用`Not`方法排除了状态为删除的订单信息。
以上是函数`AppOperateOrderList`的部分代码。
相关问题
func PostPurchaseList(a *decorator.ApiBase, data *adminStruct.PurchaseList) error { logger.AccessLogger.Info("PostPurchaseList....") res := adminStruct.PurchaseListResp{}
这是一个函数的定义,名称为 PostPurchaseList,接收两个参数,一个是名为 a 的指向 ApiBase 结构体的指针,另一个是名为 data 的指向 PurchaseList 结构体的指针。函数返回一个 error 类型的值。函数中使用 AccessLogger 记录日志,同时定义了一个名为 res 的 PurchaseListResp 结构体变量。
func PostPlugPlatformGoodsInfo(a *decorator.ApiBase, data *openStruct.PostPlugPlatformGoodsRequest) error { logger.AccessLogger.Info("PostPlugPlatformGoodsInfo...", data.Url) // 获取用户的店铺表ID shop := erpModel.ErpCrossBorderShop{} utils.Error(a.Ts.Table(erpModel.ErpCrossBorderShop{}.TableName()). Where("link_type=? and status=? and platform_code=?", model.USER_TYPE_SUPPLIER_AGENT, model.Normal, model.SOURCE_NAME_1688). First(&shop). Error) logger.AccessLogger.Infof("id:%d shopId:%s", shop.Id, shop.ShopId) alibabaApi, err := go16882.ShopApi(shop.Id) if err != nil { logger.AccessLogger.Error("ERROR:", err.Error()) return a.ReturnPublicErrorResponse(err.Error()) } u, err := url.Parse(data.Url) if err != nil { logger.AccessLogger.Error("ERROR:", err.Error()) return a.ReturnPublicErrorResponse(err.Error()) }
这段代码是一个名为PostPlugPlatformGoodsInfo的函数,它接受两个参数:一个名为a的指向decorator.ApiBase类型的指针和一个名为data的指向openStruct.PostPlugPlatformGoodsRequest类型的指针。函数内部的逻辑如下:
1. 使用logger.AccessLogger记录日志,输出"PostPlugPlatformGoodsInfo..."和data.Url。
2. 从erpModel.ErpCrossBorderShop表中获取用户的店铺表ID,并将结果存储在shop变量中。
3. 使用utils.Error函数查询erpModel.ErpCrossBorderShop表,查询条件为"link_type=? and status=? and platform_code=?",具体的值为model.USER_TYPE_SUPPLIER_AGENT、model.Normal和model.SOURCE_NAME_1688。将第一条查询结果存储在shop变量中。
4. 使用logger.AccessLogger记录日志,输出"id:%d shopId:%s",并将shop.Id和shop.ShopId作为参数传入。
5. 根据shop.Id调用go16882.ShopApi函数创建一个alibabaApi对象,并将错误存储在err变量中。
6. 使用url.Parse函数解析data.Url,并将解析结果存储在u变量中,同时将错误存储在err变量中。
如果在第2步或第3步中发生错误,将使用logger.AccessLogger记录错误信息,并返回一个错误响应。
阅读全文