func AppOperateRecharge(a *decorator.ApiBase) error { logger.AccessLogger.Info("AppOperateRecharge...") resp := adminStruct.BusinessOrderRechargeResponse{} resp.ResponseCommon = a.NewSuccessResponseCommon() a.Ts.Table("business_base as a"). Select("s.bid, a.bname, s.acct_bal,s.buy_sum_amt, " + "sum(CASE WHEN b.stmt_status = 1 THEN b.stmt_amt ELSE 0 END) as unpaid_amt, " + "sum(CASE WHEN b.stmt_status = 0 THEN b.stmt_amt ELSE 0 END) as stmt_amt, " + "a.admin_uid, u.user_name, a.status"). Joins("inner join business_bal as s on s.bid=a.bid"). Joins("inner join user_base as u on u.uid=a.admin_uid"). Joins("inner join business_settlement as b on b.bid=a.bid").返回查询出来的所有数据
时间: 2024-04-16 11:25:14 浏览: 46
这段代码是一个名为`AppOperateRecharge`的函数,它接受一个名为`a`的指向`decorator.ApiBase`类型的指针作为参数,并返回一个`error`类型的值。
函数首先记录一条日志信息,然后创建一个名为`resp`的`adminStruct.BusinessOrderRechargeResponse`类型的变量。
接下来,函数给`resp`变量的`ResponseCommon`字段赋值为`a.NewSuccessResponseCommon()`,该方法返回一个表示成功响应的通用结构体。
然后,函数使用`a.Ts.Table`方法查询数据库中的数据,并将查询结果存储到`resp.Data`字段中。查询语句使用了多个`Joins`方法进行表连接操作,并使用了`Select`方法选择需要查询的字段。
最后,函数返回查询出来的所有数据,包括商家ID、商家名称、账面余额、采购货款等等。查询结果存储在`resp.Data`字段中。
相关问题
func AppOperateRecharge(a *decorator.ApiBase) error { logger.AccessLogger.Info("AppOperateRecharge...") resp := adminStruct.BusinessOrderRechargeResponse{} resp.ResponseCommon = a.NewSuccessResponseCommon() a.Ts.Table("business_base as a"). Select("s.bid, a.bname, s.acct_bal,s.buy_sum_amt, " + "sum(CASE WHEN b.stmt_status = 1 THEN b.stmt_amt ELSE 0 END) as unpaid_amt, " + "sum(CASE WHEN b.stmt_status = 0 THEN b.stmt_amt ELSE 0 END) as stmt_amt, " + "a.admin_uid, u.user_name, a.status"). Joins("inner join business_bal as s on s.bid=a.bid"). Joins("inner join user_base as u on u.uid=a.admin_uid"). Joins("inner join business_settlement as b on b.bid=a.bid").返回所有数据
这段代码是一个名为`AppOperateRecharge`的函数,它接受一个名为`a`的指向`decorator.ApiBase`类型的指针作为参数,并返回一个`error`类型的值。
函数首先记录一条日志信息,然后创建一个名为`resp`的`adminStruct.BusinessOrderRechargeResponse`类型的变量。
接下来,函数给`resp`变量的`ResponseCommon`字段赋值为`a.NewSuccessResponseCommon()`,该方法返回一个表示成功响应的通用结构体。
然后,函数使用`a.Ts.Table`方法查询数据库中的数据,并将查询结果存储到`resp.Data`字段中。查询语句使用了多个`Joins`方法进行表连接操作,并使用了`Select`方法选择需要查询的字段。
最后,函数返回查询出来的所有数据,包括商家ID、商家名称、账面余额、采购货款等等。查询结果存储在`resp.Data`字段中。
func AppOperateRecharge(a *decorator.ApiBase, data *adminStruct.BusinessOrderRecharge) error { logger.AccessLogger.Info("AppOperateRecharge...") resp := adminStruct.BusinessOrderRechargeResponse{} resp.ResponseCommon = a.NewSuccessResponseCommon() resQuerya := a.Ts.Table("business_base as a"). Select(`s.bid, a.bname, s.acct_bal, s.buy_sum_amt, + ifnull(sum(CASE WHEN b.stmt_status = 1 THEN b.stmt_amt ELSE 0 END), 0) as unpaid_amt, + ifnull(sum(CASE WHEN b.stmt_status = 0 THEN b.stmt_amt ELSE 0 END), 0 )as stmt_amt, + a.admin_uid, u.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.bid=a.bid"). Group("a.bid") if data.BusinessName > 0 { resQuerya = resQuerya.Where(" a.bname=?", data.BusinessName) } Count(&resp.Count). Offset(a.Offset). Limit(a.Size). Find(&resp.Data) return a.ReturnSuccessCustomResponse(resp) }
在函数`AppOperateRecharge`中增加商家名称搜索的功能,您可以按照以下修改:
```go
func AppOperateRecharge(a *decorator.ApiBase, data *adminStruct.BusinessOrderRecharge) error {
logger.AccessLogger.Info("AppOperateRecharge...")
resp := adminStruct.BusinessOrderRechargeResponse{}
resp.ResponseCommon = a.NewSuccessResponseCommon()
resQuerya := a.Ts.Table("business_base as a").
Select(`s.bid, a.bname, s.acct_bal, s.buy_sum_amt,
ifnull(sum(CASE WHEN b.stmt_status = 1 THEN b.stmt_amt ELSE 0 END), 0) as unpaid_amt,
ifnull(sum(CASE WHEN b.stmt_status = 0 THEN b.stmt_amt ELSE 0 END), 0 )as stmt_amt,
a.admin_uid, u.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.bid=a.bid").
Group("a.bid")
if len(data.BusinessName) > 0 {
resQuerya = resQuerya.Where("a.bname LIKE ?", "%"+data.BusinessName+"%")
}
resQuerya.Count(&resp.Count).
Offset(a.Offset).
Limit(a.Size).
Find(&resp.Data)
return a.ReturnSuccessCustomResponse(resp)
}
```
在上述代码中,我们将函数的参数`data`改为`*adminStruct.BusinessOrderRecharge`类型,并在查询语句中添加了一个条件,根据商家名称进行模糊匹配。使用`LIKE`关键字和通配符`%`来实现模糊搜索。
这样,当调用`AppOperateRecharge`函数时,可以传递`BusinessName`字段作为参数进行商家名称的搜索,例如:
```go
data := &adminStruct.BusinessOrderRecharge{
// ...
BusinessName: "商家名称",
// ...
}
err := AppOperateRecharge(a, data)
```
请注意,这只是一个示例修改,具体的实现可能因为代码结构和需求的不同而有所调整。
阅读全文