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, a.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) return a.ReturnSuccessCustomResponse(resp) }待结算需要查询stmt_status字段为1的stmt_amt字段的和给到结构体待结算货款type BusinessOrderRecharge struct { Bid int64 `json:"bid"` // 商家ID Bname string `json:"bname"` // 商家名称 Acct_Bal int64 `json:"acct_Bal" ` //账面余额 Buy_sum_amt int64 `json:"buy_Sum_Amt" ` //采购货款 Unpaid_amt int64 `json:"unpaid_Amt"` //待结算货款 Stmt_amt int64 `json:"stmt_Amt"` //已结算金额 Admin_uid int64 `json:"admin_Uid"` //管理员 Admin_name string `json:"admin_name"` //管理员姓名 Status string `json:"status"` //商家状态
时间: 2024-04-15 21:31:08 浏览: 128
Python 基础课程《16.函数使用进阶》
根据给出的代码,你想要在函数`AppOperRecharge`中查询待结算商家的结算金额总和,并将结果存储到结构体`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, a.stmt_amt, a.admin_uid, a.user_name, a.status, sum(a.stmt_amt) as unpaid_amt").
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).
Where("b.stmt_status = ?", 1).
Scan(&resp)
if err != nil {
return err
}
return a.ReturnSuccessCustomResponse(resp)
}
```
在修改后的代码中,我添加了一个新的字段`unpaid_amt`来表示待结算货款(stmt_amt字段的总和)。在查询语句中使用`sum(a.stmt_amt) as unpaid_amt`来计算总和,并将结果存储到`BusinessOrderRecharge`结构体的`unpaid_amt`字段中。同时,我还在查询语句中添加了筛选条件`b.stmt_status = ?`来过滤出stmt_status字段为1的记录。
请注意,这只是一个修改的示例,具体根据你的业务逻辑和数据结构来进行调整。
阅读全文