forked from free-lancers/electricity_bill_calc_service
feat(report):完成报表中户表列表功能。
This commit is contained in:
40
service/end_user.go
Normal file
40
service/end_user.go
Normal file
@@ -0,0 +1,40 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"electricity_bill_calc/config"
|
||||
"electricity_bill_calc/global"
|
||||
"electricity_bill_calc/model"
|
||||
|
||||
"xorm.io/builder"
|
||||
)
|
||||
|
||||
type _EndUserService struct{}
|
||||
|
||||
var EndUserService _EndUserService
|
||||
|
||||
func (_EndUserService) SearchEndUserRecord(reportId, keyword string, page int) ([]model.EndUserDetail, int64, error) {
|
||||
cond := builder.NewCond().And(builder.Eq{"report_id": reportId})
|
||||
if len(keyword) > 0 {
|
||||
cond = cond.And(
|
||||
builder.Like{"customer_name", keyword}.
|
||||
Or(builder.Like{"contact_name", keyword}).
|
||||
Or(builder.Like{"contact_phone", keyword}).
|
||||
Or(builder.Like{"meter_04kv_id", keyword}),
|
||||
)
|
||||
}
|
||||
total, err := global.DBConn.
|
||||
Table(&model.EndUserDetail{}).
|
||||
Where(cond).
|
||||
Count()
|
||||
if err != nil {
|
||||
return make([]model.EndUserDetail, 0), -1, err
|
||||
}
|
||||
startItem := (page - 1) * config.ServiceSettings.ItemsPageSize
|
||||
endUsers := make([]model.EndUserDetail, 0)
|
||||
err = global.DBConn.
|
||||
Where(cond).
|
||||
Limit(config.ServiceSettings.ItemsPageSize, startItem).
|
||||
Asc("seq").
|
||||
Find(&endUsers)
|
||||
return endUsers, total, err
|
||||
}
|
Reference in New Issue
Block a user