func PostPddAfterList(a *decorator.ApiBase) error { logger.AccessLogger.Info("PostPddAfterList...") resp := pdd_epur.PddAfterListResponse{ResponseCommon: a.NewSuccessResponseCommon()} query := a.Ts.Table("pdd_after as a"). Select("a.id,b.pid,b.refunds_status,b.sum_amt,a.reason,a.after_type,a.after_status,b.order_time"). Joins("pdd_order_info as b on a.pid = b.pid"). Where("a.status = ?", model.Normal).Where("a.pid = ?", a.Token.LinkId) status := a.C.Param("after_status") switch status { case PDD_AFTER_STATUS_0: query = query.Where("a.after_type = ?", PDD_AFTER_STATUS_0) default: query = query.Where("a.after_type = ?", PDD_AFTER_STATUS_1) } utils.Error(query.Find(&resp.Data).Order("b.pid desc").Error) for i := range resp.Data { resp.Data[i].RefundsStatusName = GetPddRefundsStatusStatusMsg(resp.Data[i].RefundsStatus) resp.Data[i].AfterTypeName = GetPddAfterTypeMsg(resp.Data[i].AfterType) resp.Data[i].AfterStatusName = GetPddAFTERStatusStatusMsg(resp.Data[i].AfterStatus) } return a.ReturnSuccessCustomResponse(resp) }
时间: 2024-04-07 07:30:27 浏览: 21
这段代码是一个名为PostPddAfterList的函数,它接受一个名为a的decorator.ApiBase类型的指针作为参数,并返回一个错误。
在函数中,首先记录一条日志信息,然后创建一个名为resp的pdd_epur.PddAfterListResponse结构体对象,该结构体包含一个ResponseCommon字段,该字段由a.NewSuccessResponseCommon()方法创建。
接下来,使用查询构建器query查询pdd_after表和pdd_order_info表的字段,并根据条件进行过滤。条件包括a.status等于model.Normal和a.pid等于a.Token.LinkId。其中,a.C.Param("after_status")获取了一个名为after_status的参数,并根据不同的值设置不同的查询条件。
然后,使用query.Find()方法执行查询,并将结果存储在resp.Data中。同时,使用Order()方法对结果进行排序。
之后,使用一个for循环对resp.Data中的每个元素进行处理,设置一些字段的值。
最后,通过调用a.ReturnSuccessCustomResponse()方法,将resp作为自定义响应返回。
函数的作用是根据条件查询pdd_after表和pdd_order_info表的数据,并对结果进行处理后返回。
相关问题
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 AppOperateRecharge(a *decorator.ApiBase) error { logger.AccessLogger.Info("AppOperateRecharge...") resp := adminStruct.BusinessOrderRecharge{} err := a.Ts.Table("business_base as a"). Select('a.bid, a.bname, a.acct_bal, a.buy_Sum_Amt,sum(CASE WHEN b.stmt_status = 1 THEN a.stmt_amt ELSE 0 END) as unpaid_amt, sum(CASE WHEN b.stmt_status = 0 THEN a.stmt_amt ELSE 0 END) as stmt_amt, a.admin_uid, a.user_name, a.status'). Joins("left join business_bal as s on s.bid=a.bid"). Joins("left join user_base as u on u.uid=a.admin_uid"). Joins("left join business_settlement as b on b.uid=a.bid"). Where("a.bid=?", a.Token.LinkId). Group("a.bid"). Scan(resp) if err != nil { return err } return a.ReturnSuccessCustomResponse(resp) }
在给出的代码中,你想要查询待结算商家的待结算货款和已结算货款,并将结果存储到结构体`BusinessOrderRecharge`中。为了实现这个目标,你需要对代码进行以下修改:
```go
func AppOperateRecharge(a *decorator.ApiBase) error {
logger.AccessLogger.Info("AppOperateRecharge...")
resp := adminStruct.BusinessOrderRecharge{}
err := a.Ts.Table("business_base as a").
Select("a.bid, a.bname, a.acct_bal, a.buy_Sum_Amt, sum(CASE WHEN b.stmt_status = 1 THEN a.stmt_amt ELSE 0 END) as unpaid_amt, sum(CASE WHEN b.stmt_status = 0 THEN a.stmt_amt ELSE 0 END) as stmt_amt, a.admin_uid, a.user_name, a.status").
Joins("left join business_bal as s on s.bid=a.bid").
Joins("left join user_base as u on u.uid=a.admin_uid").
Joins("left join business_settlement as b on b.uid=a.bid").
Where("a.bid=?", a.Token.LinkId).
Group("a.bid").
Scan(&resp)
if err != nil {
return err
}
return a.ReturnSuccessCustomResponse(resp)
}
```
在修改后的代码中,我更正了`Select`函数的参数,将单引号改为双引号,以正确表示字符串。同时,我还在`Scan`函数的参数中添加了取地址符`&`,以便将查询结果存储到结构体`resp`中。
请注意,这只是一个修改的示例,具体根据你的业务逻辑和数据结构来进行调整。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)