zhangzengfei
2023-09-04 e8e536d1cb52d2126c8c7ce2ba1c7a76f7208678
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
package models
 
import (
    "errors"
    "vamicro/extend/util"
)
 
type SysUser struct {
    Id             string             `gorm:"column:id;primary_key;type:varchar(50);unique;not null;" json:"id"`
    Username     string             `gorm:"column:username;type varchar(100);unique_index" json:"username"`
    Password     string             `gorm:"column:password;type:varchar(100);" json:"password"`
    Sort         int             `gorm:"column:sort;default:1;" json:"sort"`
    Nickname    string          `gorm:"column:nickname;type varchar(100);default:'';" json:"nickname"`
    HeadPic     string             `gorm:"column:headpic;type varchar(100);default:'';" json:"headpic"`
    BackgroundPic string `gorm:"column:backgroundpic;type varchar(100);default:'';" json:"backgroundpic"`
 
    UseIconType int  `gorm:"column:useIconType;default:1;" json:"useIconType"`
}
 
const (
    RecordNotFound = "record not found"
    DefaultBgPic = "/images/desktop/background.png"
)
 
func (SysUser) TableName() string {
    return "sys_user"
}
 
func (su *SysUser) FindByName(username string) (rows int64,err error){
    result := db.Table("sys_user").Where("username=?",username).First(&su)
    if result.Error !=nil && result.Error.Error() != RecordNotFound {
        return 0,result.Error
    }
    return result.RowsAffected,nil
}
 
func (su *SysUser) SelectById(id string) (rows int64,err error) {
    result := db.Table("sys_user").Where("id=?",id).First(&su)
    if result.Error !=nil {
        return 0,err
    }
    return result.RowsAffected,nil
}
 
func (su *SysUser) UpdatePwd(userId string, encryPwd string) bool {
    result := db.Exec("update sys_user set password=? where id=?",encryPwd,userId)
    if result.Error ==nil &&result.RowsAffected >0 {
        return true
    }
    return false
}
 
func (su *SysUser) FindAll() (list []SysUser,err error) {
    err = db.Table("sys_user").Order("sort asc").Find(&list).Error
    if err !=nil {
        return nil,err
    } else {
        return list,nil
    }
}
 
func (su *SysUser) Insert()(bool,error){
    if su.Id == ""{
        su.Id = util.PseudoUuid()
    }
    result:=db.Table("sys_user").Create(&su)
    if result.Error !=nil {
        return false,result.Error
    }
    return result.RowsAffected>0,nil
}
 
func (su *SysUser) DeleteById(id string) (bool,error) {
    result := db.Exec("delete from "+su.TableName()+" where id=?", id)
    if result.Error != nil {
        return false, result.Error
    }
    if result.RowsAffected >0 {
        return true, nil
    }
    return false, errors.New("del user err")
}