Files
full/module/ec/delivery/internal/models/delivery_member.go

49 lines
1.7 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package models
import (
"gorm.io/gorm"
)
// DeliveryMember 配送员表/*
type DeliveryMember struct {
gorm.Model
Identity string `gorm:"column:identity;type:varchar(36);uniqueIndex;"` // 唯一标识24位NanoID,36位为UUID
Name string `gorm:"column:name;type:varchar(36);index;" json:"name"` // 姓名
TeamIdentity string `gorm:"column:team_identity;type:varchar(36);Index;" json:"team_identity"` // 团队唯一标识
Phone string `gorm:"column:phone;type:varchar(36);Index;" json:"phone"` // 电话
Picture string `gorm:"column:picture;type:varchar(255);Index;" json:"picture"` // 头像
Status int64 `gorm:"column:status;default:1;" json:"status"` // 状态1正常;-1禁用
Turnover int64 `gorm:"column:turnover;default:1;" json:"turnover"` // 总成交量
}
// TableName .
func (table *DeliveryMember) TableName() string {
return "delivery_member" //对应数据库表名
}
// DeliveryMemberList 获取配送团队成员
func DeliveryMemberList(identity, teamIdentity, name string, status int64, size, page int) (int64, []DeliveryMember, error) {
var (
cnt int64 = 0
data = make([]DeliveryMember, 0)
)
tx := DBService
if identity != "" {
tx = tx.Where("identity = ?", identity)
}
if name != "" {
tx = tx.Where("name like ?", "%"+name+"%")
}
if teamIdentity != "" {
tx = tx.Where("team_identity = ?", teamIdentity)
}
if status != 0 {
tx = tx.Where("status = ?", status)
}
err := tx.Model(DeliveryMember{}).Order("created_at desc").Count(&cnt).Limit(size).Offset((page - 1) * size).Find(&data).Error
if err != nil {
return 0, nil, err
}
return cnt, data, nil
}