rubbishclass-srv/user/user-service.go

73 lines
1.3 KiB
Go

package user
import (
"io"
"mime/multipart"
"os"
"strings"
"sync"
"yyjishu.com/rubbish-class/rubbish"
)
var once sync.Once
type UserService struct {
}
func NewService() *UserService {
u := &UserService{}
once.Do(u.Init)
return u
}
//StatTotal 人员总数统计服务
func (u *UserService) StatTotal(communityid *string) (*int, error) {
r := 1200
return &r, nil
}
//StatNewer 统计当天新增
func (u *UserService) StatNewer(communityid *string) (*int, error) {
r := 12
return &r, nil
}
//StatActive 统计当天活跃
func (u *UserService) StatActive(communityid *string) (*int, error) {
r := 385
return &r, nil
}
func (u *UserService) Init() {
rubbish.DB.AutoMigrate(&User{})
}
//SaveVideoFileService 文件上传服务
func SaveVideoFileService(file *multipart.FileHeader, openid *string) (*string, error) {
p := "./video/" + *openid
_, err := os.Stat(p)
if err != nil {
if os.IsNotExist(err) {
os.Mkdir(p, os.ModePerm)
os.Chmod(p, 0755)
}
}
src, err := file.Open()
if err != nil {
return nil, err
}
defer src.Close()
//创建 dst 文件
fn := strings.TrimLeft(file.Filename, "tmp_")
out, err := os.Create(p + `/` + fn)
if err != nil {
return nil, err
}
defer out.Close()
// 拷贝文件
_, err = io.Copy(out, src)
filename := out.Name()
return &filename, err
}