73 lines
1.3 KiB
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
|
|
}
|