正在显示
63 个修改的文件
包含
308 行增加
和
7445 行删除
| 1 | [dev] | 1 | [dev] |
| 2 | #数据库相关 | 2 | #数据库相关 |
| 3 | -data_source = "root:123456@tcp(192.168.100.102:3306)/opportunity?loc=Local" | 3 | +data_source = "root:123456@tcp(127.0.0.1:3306)/opportunity?loc=Local" |
| 4 | #data_source = "root:sutianxia2015@tcp(115.29.205.99:3306)/ability_display" | 4 | #data_source = "root:sutianxia2015@tcp(115.29.205.99:3306)/ability_display" |
| 5 | #data_source = "root:root@tcp(localhost:3306)/ability_display?loc=Local" | 5 | #data_source = "root:root@tcp(localhost:3306)/ability_display?loc=Local" |
| 6 | 6 | ||
| 7 | #redis相关配置 | 7 | #redis相关配置 |
| 8 | -redis_add_port = "192.168.100.102:6379" | 8 | +redis_add_port = "127.0.0.1:6379" |
| 9 | redis_auth = "123456" | 9 | redis_auth = "123456" |
| 10 | 10 | ||
| 11 | #sms相关配置 | 11 | #sms相关配置 |
| @@ -184,7 +184,7 @@ func CheckToken(ctx *context.Context) (result bool) { | @@ -184,7 +184,7 @@ func CheckToken(ctx *context.Context) (result bool) { | ||
| 184 | } else { | 184 | } else { |
| 185 | if rsp.UserInfo != nil { | 185 | if rsp.UserInfo != nil { |
| 186 | //设置附加数据 | 186 | //设置附加数据 |
| 187 | - ctx.Request.Header.Add("uid", fmt.Sprintf("%v", rsp.UserInfo.Uuid)) | 187 | + ctx.Request.Header.Add("uid", fmt.Sprintf("%v", rsp.UserInfo.UserId)) |
| 188 | } | 188 | } |
| 189 | } | 189 | } |
| 190 | return | 190 | return |
| @@ -3,27 +3,23 @@ package controllers | @@ -3,27 +3,23 @@ package controllers | ||
| 3 | import ( | 3 | import ( |
| 4 | "fmt" | 4 | "fmt" |
| 5 | "log" | 5 | "log" |
| 6 | + "opp/protocol" | ||
| 6 | "reflect" | 7 | "reflect" |
| 7 | "testing" | 8 | "testing" |
| 8 | - "time" | ||
| 9 | - | ||
| 10 | - "gitlab.fjmaimaimai.com/mmm-go/gocomm/common" | ||
| 11 | - "gitlab.fjmaimaimai.com/mmm-go/gocomm/pkg/mybeego" | ||
| 12 | ) | 9 | ) |
| 13 | 10 | ||
| 14 | func Test_GenMessage(t *testing.T) { | 11 | func Test_GenMessage(t *testing.T) { |
| 15 | input := []struct { | 12 | input := []struct { |
| 16 | Rsp interface{} | 13 | Rsp interface{} |
| 17 | Error error | 14 | Error error |
| 18 | - Exceprt *mybeego.Message | 15 | + Exceprt *protocol.ResponseMessage |
| 19 | }{ | 16 | }{ |
| 20 | - {Rsp: "test", Error: fmt.Errorf("test"), Exceprt: mybeego.NewMessage(1)}, | ||
| 21 | - {Rsp: "test-A", Error: common.NewErrorWithMsg(100, "test-A"), Exceprt: mybeego.NewErrMessage(100, "test-A")}, | 17 | + {Rsp: "test", Error: fmt.Errorf("test"), Exceprt: protocol.NewErrWithMessage(1, fmt.Errorf("test")).ParseToMessage()}, |
| 18 | + {Rsp: "test-A", Error: protocol.NewErrWithMessage(100, fmt.Errorf("test-A")), Exceprt: protocol.NewErrWithMessage(100, fmt.Errorf("test-A")).ParseToMessage()}, | ||
| 22 | } | 19 | } |
| 23 | - | ||
| 24 | for i := range input { | 20 | for i := range input { |
| 25 | o := input[i] | 21 | o := input[i] |
| 26 | - out := DefaultController.GenMessage(o.Rsp, o.Error) | 22 | + out := protocol.NewReturnResponse(o.Rsp, o.Error) |
| 27 | if !reflect.DeepEqual(out, o.Exceprt) { | 23 | if !reflect.DeepEqual(out, o.Exceprt) { |
| 28 | log.Fatal("not equal ", out, o.Exceprt) | 24 | log.Fatal("not equal ", out, o.Exceprt) |
| 29 | } | 25 | } |
| @@ -34,16 +30,12 @@ func Benchmark_GenMessage(b *testing.B) { | @@ -34,16 +30,12 @@ func Benchmark_GenMessage(b *testing.B) { | ||
| 34 | o := struct { | 30 | o := struct { |
| 35 | Rsp interface{} | 31 | Rsp interface{} |
| 36 | Error error | 32 | Error error |
| 37 | - Exceprt *mybeego.Message | ||
| 38 | - }{Rsp: "test", Error: fmt.Errorf("test"), Exceprt: mybeego.NewMessage(1)} | 33 | + Exceprt *protocol.ResponseMessage |
| 34 | + }{Rsp: "test", Error: fmt.Errorf("test"), Exceprt: protocol.NewErrWithMessage(1, fmt.Errorf("test-A")).ParseToMessage()} | ||
| 39 | for i := 0; i < b.N; i++ { | 35 | for i := 0; i < b.N; i++ { |
| 40 | - out := DefaultController.GenMessage(o.Rsp, o.Error) | 36 | + out := protocol.NewReturnResponse(o.Rsp, o.Error) |
| 41 | if out.Errmsg != o.Exceprt.Errmsg || out.Errno != o.Exceprt.Errno { | 37 | if out.Errmsg != o.Exceprt.Errmsg || out.Errno != o.Exceprt.Errno { |
| 42 | log.Fatal("not equal ", out, o.Exceprt) | 38 | log.Fatal("not equal ", out, o.Exceprt) |
| 43 | } | 39 | } |
| 44 | } | 40 | } |
| 45 | } | 41 | } |
| 46 | - | ||
| 47 | -func TestXXX(t *testing.T) { | ||
| 48 | - t.Log(time.Now()) | ||
| 49 | -} |
internal/repository/config.go
已删除
100755 → 0
| 1 | -package repository | ||
| 2 | - | ||
| 3 | -import "opp/models" | ||
| 4 | - | ||
| 5 | -type IConfigRepository interface { | ||
| 6 | - GetCfgClient(clintId, clientSecret string) (v *models.CfgClient, err error) | ||
| 7 | -} | ||
| 8 | - | ||
| 9 | -type ConfigRepository struct{} | ||
| 10 | - | ||
| 11 | -func (r *ConfigRepository) GetCfgClient(clintId, clientSecret string) (v *models.CfgClient, err error) { | ||
| 12 | - return models.GetCfgClient(clintId, clientSecret) | ||
| 13 | -} |
internal/repository/config_mock.go
已删除
100755 → 0
| @@ -2,34 +2,25 @@ package repository | @@ -2,34 +2,25 @@ package repository | ||
| 2 | 2 | ||
| 3 | import "sync" | 3 | import "sync" |
| 4 | 4 | ||
| 5 | -var( | ||
| 6 | - mutex sync.RWMutex | ||
| 7 | - DefaultUserRepository IUserRepository | ||
| 8 | - DefaultConfigRepository IConfigRepository | 5 | +//全局 |
| 6 | +var ( | ||
| 7 | + once sync.Once | ||
| 8 | + User IUserRepository | ||
| 9 | + UserAuth IUserAuthRepository | ||
| 9 | ) | 10 | ) |
| 10 | 11 | ||
| 11 | -func init(){ | ||
| 12 | - DefaultUserRepository = UserRepositoryFactory() | 12 | +func init() { |
| 13 | + InitRepository() | ||
| 13 | } | 14 | } |
| 14 | 15 | ||
| 15 | -func UserRepositoryFactory()IUserRepository{ | ||
| 16 | - if DefaultUserRepository==nil{ | ||
| 17 | - mutex.Lock() | ||
| 18 | - defer mutex.Unlock() | ||
| 19 | - if DefaultUserRepository==nil{ | ||
| 20 | - DefaultUserRepository = &UserRepository{} | ||
| 21 | - } | ||
| 22 | - } | ||
| 23 | - return DefaultUserRepository | 16 | +func InitRepository() { |
| 17 | + User = &UserRepository{} | ||
| 18 | + UserAuth = &UserAuthRepository{} | ||
| 24 | } | 19 | } |
| 25 | 20 | ||
| 26 | -func ConfigRepositoryFactory()IConfigRepository{ | ||
| 27 | - if DefaultConfigRepository==nil{ | ||
| 28 | - mutex.Lock() | ||
| 29 | - defer mutex.Unlock() | ||
| 30 | - if DefaultConfigRepository==nil{ | ||
| 31 | - DefaultConfigRepository = &ConfigRepository{} | ||
| 32 | - } | ||
| 33 | - } | ||
| 34 | - return DefaultConfigRepository | ||
| 35 | -} | ||
| 21 | +func InitRepositoryMock() { | ||
| 22 | + once.Do(func() { | ||
| 23 | + User = &UserMockRepository{} | ||
| 24 | + UserAuth = &UserAuthMockRepository{} | ||
| 25 | + }) | ||
| 26 | +} |
| @@ -3,35 +3,23 @@ package repository | @@ -3,35 +3,23 @@ package repository | ||
| 3 | import "opp/models" | 3 | import "opp/models" |
| 4 | 4 | ||
| 5 | type IUserRepository interface { | 5 | type IUserRepository interface { |
| 6 | - GetUsersByMobile(mobile string) (v *models.Users, err error) | ||
| 7 | - GetUserInfoByMobile(mobile string) (v *models.UserInfo, err error) | ||
| 8 | - UpdateUserInfoById(m *models.UserInfo) (err error) | ||
| 9 | - GetUserInfoByAuthCode(authCode string) (v *models.UserInfo, err error) | ||
| 10 | - GetUserInfoByRefreshToken(refreshToken string) (v *models.UserInfo, err error) | 6 | + GetUsersById(uid int64) (v *models.User, err error) |
| 7 | + GetUsersByMobile(mobile string) (v *models.User, err error) | ||
| 8 | + UpdateUserInfo(m *models.User) (err error) | ||
| 11 | } | 9 | } |
| 12 | 10 | ||
| 13 | -func assertImplement() { | ||
| 14 | - var _ IUserRepository = (*UserRepository)(nil) | ||
| 15 | -} | 11 | +var _ IUserRepository = (*UserRepository)(nil) |
| 16 | 12 | ||
| 17 | type UserRepository struct{} | 13 | type UserRepository struct{} |
| 18 | 14 | ||
| 19 | -func (r *UserRepository) GetUsersByMobile(mobile string) (v *models.Users, err error) { | ||
| 20 | - return models.GetUsersByMobile(mobile) | ||
| 21 | -} | ||
| 22 | - | ||
| 23 | -func (r *UserRepository) GetUserInfoByMobile(mobile string) (v *models.UserInfo, err error) { | ||
| 24 | - return models.GetUserInfoByMobile(mobile) | 15 | +func (r *UserRepository) GetUsersById(uid int64) (v *models.User, err error) { |
| 16 | + return models.GetUsersById(uid) | ||
| 25 | } | 17 | } |
| 26 | 18 | ||
| 27 | -func (r *UserRepository) UpdateUserInfoById(m *models.UserInfo) (err error) { | ||
| 28 | - return models.UpdateUserInfoById(m) | ||
| 29 | -} | ||
| 30 | - | ||
| 31 | -func (r *UserRepository) GetUserInfoByAuthCode(authCode string) (v *models.UserInfo, err error) { | ||
| 32 | - return models.GetUserInfoByAuthCode(authCode) | 19 | +func (r *UserRepository) GetUsersByMobile(mobile string) (v *models.User, err error) { |
| 20 | + return models.GetUsersByMobile(mobile) | ||
| 33 | } | 21 | } |
| 34 | 22 | ||
| 35 | -func (r *UserRepository) GetUserInfoByRefreshToken(refreshToken string) (v *models.UserInfo, err error) { | ||
| 36 | - return models.GetUserInfoByRefreshToken(refreshToken) | 23 | +func (r *UserRepository) UpdateUserInfo(m *models.User) (err error) { |
| 24 | + return models.UpdateUsersById(m) | ||
| 37 | } | 25 | } |
internal/repository/user_auth.go
0 → 100644
| 1 | +package repository | ||
| 2 | + | ||
| 3 | +import "opp/models" | ||
| 4 | + | ||
| 5 | +type IUserAuthRepository interface { | ||
| 6 | + GetUserAuthByUserId(uid int64) (v *models.UserAuth, err error) | ||
| 7 | + UpdateUserAuthById(m *models.UserAuth) (err error) | ||
| 8 | + GetUserAuthByAuthCode(authCode string) (v *models.UserAuth, err error) | ||
| 9 | + GetUserAuthByRefreshToken(refreshToken string) (v *models.UserAuth, err error) | ||
| 10 | + GetUserAuthByToken(refreshToken string) (v *models.UserAuth, err error) | ||
| 11 | +} | ||
| 12 | + | ||
| 13 | +var _ IUserAuthRepository = (*UserAuthRepository)(nil) | ||
| 14 | + | ||
| 15 | +type UserAuthRepository struct{} | ||
| 16 | + | ||
| 17 | +func (r *UserAuthRepository) GetUserAuthByUserId(uid int64) (v *models.UserAuth, err error) { | ||
| 18 | + return models.GetUserAuthByUserId(uid) | ||
| 19 | +} | ||
| 20 | + | ||
| 21 | +func (r *UserAuthRepository) UpdateUserAuthById(m *models.UserAuth) (err error) { | ||
| 22 | + return models.UpdateUserAuthById(m) | ||
| 23 | +} | ||
| 24 | + | ||
| 25 | +func (r *UserAuthRepository) GetUserAuthByAuthCode(authCode string) (v *models.UserAuth, err error) { | ||
| 26 | + return models.GetUserByAuthCode(authCode) | ||
| 27 | +} | ||
| 28 | + | ||
| 29 | +func (r *UserAuthRepository) GetUserAuthByRefreshToken(refreshToken string) (v *models.UserAuth, err error) { | ||
| 30 | + return models.GetUserAuthByRefreshToken(refreshToken) | ||
| 31 | +} | ||
| 32 | + | ||
| 33 | +func (r *UserAuthRepository) GetUserAuthByToken(refreshToken string) (v *models.UserAuth, err error) { | ||
| 34 | + return models.GetUserAuthByToken(refreshToken) | ||
| 35 | +} |
internal/repository/user_auth_mock.go
0 → 100644
| 1 | +package repository | ||
| 2 | + | ||
| 3 | +import "opp/models" | ||
| 4 | + | ||
| 5 | +var userAuth = &models.UserAuth{ | ||
| 6 | + AuthCode: "897ca746f46b11e98771000c29ad8d6d", | ||
| 7 | + AccessToken: "897ca746f46b11e98771000c29ad8d7d", | ||
| 8 | + RefreshToken: "897ca746f46b11e98771000c29ad8d8d", | ||
| 9 | +} | ||
| 10 | + | ||
| 11 | +type UserAuthMockRepository struct{} | ||
| 12 | + | ||
| 13 | +func (r *UserAuthMockRepository) GetUserAuthByUserId(uid int64) (v *models.UserAuth, err error) { | ||
| 14 | + v = userAuth | ||
| 15 | + return | ||
| 16 | +} | ||
| 17 | + | ||
| 18 | +func (r *UserAuthMockRepository) UpdateUserAuthById(m *models.UserAuth) (err error) { | ||
| 19 | + return | ||
| 20 | +} | ||
| 21 | + | ||
| 22 | +func (r *UserAuthMockRepository) GetUserAuthByAuthCode(authCode string) (v *models.UserAuth, err error) { | ||
| 23 | + v = userAuth | ||
| 24 | + return | ||
| 25 | +} | ||
| 26 | + | ||
| 27 | +func (r *UserAuthMockRepository) GetUserAuthByRefreshToken(refreshToken string) (v *models.UserAuth, err error) { | ||
| 28 | + v = userAuth | ||
| 29 | + return | ||
| 30 | +} | ||
| 31 | + | ||
| 32 | +func (r *UserAuthMockRepository) GetUserAuthByToken(refreshToken string) (v *models.UserAuth, err error) { | ||
| 33 | + v = userAuth | ||
| 34 | + return | ||
| 35 | +} |
| @@ -4,35 +4,27 @@ import "opp/models" | @@ -4,35 +4,27 @@ import "opp/models" | ||
| 4 | 4 | ||
| 5 | type UserMockRepository struct{} | 5 | type UserMockRepository struct{} |
| 6 | 6 | ||
| 7 | -var userInfo = &models.UserInfo{ | ||
| 8 | - Auth: "897ca746f46b11e98771000c29ad8d6d", | 7 | +var userInfo = &models.UserAuth{ |
| 8 | + AuthCode: "897ca746f46b11e98771000c29ad8d6d", | ||
| 9 | AccessToken: "897ca746f46b11e98771000c29ad8d7d", | 9 | AccessToken: "897ca746f46b11e98771000c29ad8d7d", |
| 10 | RefreshToken: "897ca746f46b11e98771000c29ad8d8d", | 10 | RefreshToken: "897ca746f46b11e98771000c29ad8d8d", |
| 11 | } | 11 | } |
| 12 | 12 | ||
| 13 | -func (r *UserMockRepository) GetUsersByMobile(mobile string) (v *models.Users, err error) { | ||
| 14 | - v = &models.Users{ | ||
| 15 | - Username: "18065048389", | ||
| 16 | - Password: "$2y$10$YWg7jPRVLBzc3kevokMkW.boswtCvhToqC.TappIwfqwJ.cI0efvy", | ||
| 17 | - } | ||
| 18 | - return | ||
| 19 | -} | ||
| 20 | - | ||
| 21 | -func (r *UserMockRepository) GetUserInfoByMobile(mobile string) (v *models.UserInfo, err error) { | ||
| 22 | - v = userInfo | ||
| 23 | - return | 13 | +var user = &models.User{ |
| 14 | + Phone: "18065048389", | ||
| 15 | + Passwd: "$2y$10$YWg7jPRVLBzc3kevokMkW.boswtCvhToqC.TappIwfqwJ.cI0efvy", | ||
| 24 | } | 16 | } |
| 25 | 17 | ||
| 26 | -func (r *UserMockRepository) UpdateUserInfoById(m *models.UserInfo) (err error) { | 18 | +func (r *UserMockRepository) GetUsersById(uid int64) (v *models.User, err error) { |
| 19 | + v = user | ||
| 27 | return | 20 | return |
| 28 | } | 21 | } |
| 29 | 22 | ||
| 30 | -func (r *UserMockRepository) GetUserInfoByAuthCode(authCode string) (v *models.UserInfo, err error) { | ||
| 31 | - v = userInfo | 23 | +func (r *UserMockRepository) GetUsersByMobile(mobile string) (v *models.User, err error) { |
| 24 | + v = user | ||
| 32 | return | 25 | return |
| 33 | } | 26 | } |
| 34 | 27 | ||
| 35 | -func (r *UserMockRepository) GetUserInfoByRefreshToken(refreshToken string) (v *models.UserInfo, err error) { | ||
| 36 | - v = userInfo | 28 | +func (r *UserMockRepository) UpdateUserInfo(m *models.User) (err error) { |
| 37 | return | 29 | return |
| 38 | } | 30 | } |
| @@ -34,7 +34,7 @@ func init() { | @@ -34,7 +34,7 @@ func init() { | ||
| 34 | //panic(err) | 34 | //panic(err) |
| 35 | } | 35 | } |
| 36 | orm.NewBeeormEngine(config.Mysql{ | 36 | orm.NewBeeormEngine(config.Mysql{ |
| 37 | - AliasName: "default", | 37 | + //AliasName: "default", |
| 38 | DataSource: beego.AppConfig.String("data_source"), | 38 | DataSource: beego.AppConfig.String("data_source"), |
| 39 | MaxIdle: 100, | 39 | MaxIdle: 100, |
| 40 | MaxOpen: 100, | 40 | MaxOpen: 100, |
models/announcement.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - "time" | ||
| 9 | - | ||
| 10 | - "github.com/astaxie/beego/orm" | ||
| 11 | -) | ||
| 12 | - | ||
| 13 | -type Announcement struct { | ||
| 14 | - Id int `orm:"column(id);pk" description:"主键ID"` | ||
| 15 | - CreateTime time.Time `orm:"column(createTime);type(timestamp);auto_now_add" description:"创建时间"` | ||
| 16 | - Content string `orm:"column(content);size(500)" description:"消息标题"` | ||
| 17 | - CompanyId int64 `orm:"column(company_id);null"` | ||
| 18 | - Day string `orm:"column(day);size(20)" description:"日期"` | ||
| 19 | -} | ||
| 20 | - | ||
| 21 | -func (t *Announcement) TableName() string { | ||
| 22 | - return "announcement" | ||
| 23 | -} | ||
| 24 | - | ||
| 25 | -func init() { | ||
| 26 | - orm.RegisterModel(new(Announcement)) | ||
| 27 | -} | ||
| 28 | - | ||
| 29 | -// AddAnnouncement insert a new Announcement into database and returns | ||
| 30 | -// last inserted Id on success. | ||
| 31 | -func AddAnnouncement(m *Announcement) (id int64, err error) { | ||
| 32 | - o := orm.NewOrm() | ||
| 33 | - id, err = o.Insert(m) | ||
| 34 | - return | ||
| 35 | -} | ||
| 36 | - | ||
| 37 | -// GetAnnouncementById retrieves Announcement by Id. Returns error if | ||
| 38 | -// Id doesn't exist | ||
| 39 | -func GetAnnouncementById(id int) (v *Announcement, err error) { | ||
| 40 | - o := orm.NewOrm() | ||
| 41 | - v = &Announcement{Id: id} | ||
| 42 | - if err = o.Read(v); err == nil { | ||
| 43 | - return v, nil | ||
| 44 | - } | ||
| 45 | - return nil, err | ||
| 46 | -} | ||
| 47 | - | ||
| 48 | -// GetAllAnnouncement retrieves all Announcement matches certain condition. Returns empty list if | ||
| 49 | -// no records exist | ||
| 50 | -func GetAllAnnouncement(query map[string]string, fields []string, sortby []string, order []string, | ||
| 51 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 52 | - o := orm.NewOrm() | ||
| 53 | - qs := o.QueryTable(new(Announcement)) | ||
| 54 | - // query k=v | ||
| 55 | - for k, v := range query { | ||
| 56 | - // rewrite dot-notation to Object__Attribute | ||
| 57 | - k = strings.Replace(k, ".", "__", -1) | ||
| 58 | - if strings.Contains(k, "isnull") { | ||
| 59 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 60 | - } else { | ||
| 61 | - qs = qs.Filter(k, v) | ||
| 62 | - } | ||
| 63 | - } | ||
| 64 | - // order by: | ||
| 65 | - var sortFields []string | ||
| 66 | - if len(sortby) != 0 { | ||
| 67 | - if len(sortby) == len(order) { | ||
| 68 | - // 1) for each sort field, there is an associated order | ||
| 69 | - for i, v := range sortby { | ||
| 70 | - orderby := "" | ||
| 71 | - if order[i] == "desc" { | ||
| 72 | - orderby = "-" + v | ||
| 73 | - } else if order[i] == "asc" { | ||
| 74 | - orderby = v | ||
| 75 | - } else { | ||
| 76 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 77 | - } | ||
| 78 | - sortFields = append(sortFields, orderby) | ||
| 79 | - } | ||
| 80 | - qs = qs.OrderBy(sortFields...) | ||
| 81 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 82 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 83 | - for _, v := range sortby { | ||
| 84 | - orderby := "" | ||
| 85 | - if order[0] == "desc" { | ||
| 86 | - orderby = "-" + v | ||
| 87 | - } else if order[0] == "asc" { | ||
| 88 | - orderby = v | ||
| 89 | - } else { | ||
| 90 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 91 | - } | ||
| 92 | - sortFields = append(sortFields, orderby) | ||
| 93 | - } | ||
| 94 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 95 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 96 | - } | ||
| 97 | - } else { | ||
| 98 | - if len(order) != 0 { | ||
| 99 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 100 | - } | ||
| 101 | - } | ||
| 102 | - | ||
| 103 | - var l []Announcement | ||
| 104 | - qs = qs.OrderBy(sortFields...) | ||
| 105 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 106 | - if len(fields) == 0 { | ||
| 107 | - for _, v := range l { | ||
| 108 | - ml = append(ml, v) | ||
| 109 | - } | ||
| 110 | - } else { | ||
| 111 | - // trim unused fields | ||
| 112 | - for _, v := range l { | ||
| 113 | - m := make(map[string]interface{}) | ||
| 114 | - val := reflect.ValueOf(v) | ||
| 115 | - for _, fname := range fields { | ||
| 116 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 117 | - } | ||
| 118 | - ml = append(ml, m) | ||
| 119 | - } | ||
| 120 | - } | ||
| 121 | - return ml, nil | ||
| 122 | - } | ||
| 123 | - return nil, err | ||
| 124 | -} | ||
| 125 | - | ||
| 126 | -// UpdateAnnouncement updates Announcement by Id and returns error if | ||
| 127 | -// the record to be updated doesn't exist | ||
| 128 | -func UpdateAnnouncementById(m *Announcement) (err error) { | ||
| 129 | - o := orm.NewOrm() | ||
| 130 | - v := Announcement{Id: m.Id} | ||
| 131 | - // ascertain id exists in the database | ||
| 132 | - if err = o.Read(&v); err == nil { | ||
| 133 | - var num int64 | ||
| 134 | - if num, err = o.Update(m); err == nil { | ||
| 135 | - fmt.Println("Number of records updated in database:", num) | ||
| 136 | - } | ||
| 137 | - } | ||
| 138 | - return | ||
| 139 | -} | ||
| 140 | - | ||
| 141 | -// DeleteAnnouncement deletes Announcement by Id and returns error if | ||
| 142 | -// the record to be deleted doesn't exist | ||
| 143 | -func DeleteAnnouncement(id int) (err error) { | ||
| 144 | - o := orm.NewOrm() | ||
| 145 | - v := Announcement{Id: id} | ||
| 146 | - // ascertain id exists in the database | ||
| 147 | - if err = o.Read(&v); err == nil { | ||
| 148 | - var num int64 | ||
| 149 | - if num, err = o.Delete(&Announcement{Id: id}); err == nil { | ||
| 150 | - fmt.Println("Number of records deleted in database:", num) | ||
| 151 | - } | ||
| 152 | - } | ||
| 153 | - return | ||
| 154 | -} |
models/bonus_point.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - "time" | ||
| 9 | - | ||
| 10 | - "github.com/astaxie/beego/orm" | ||
| 11 | -) | ||
| 12 | - | ||
| 13 | -type BonusPoint struct { | ||
| 14 | - Id int `orm:"column(id);pk"` | ||
| 15 | - CompanyId int `orm:"column(company_id)" description:"公司ID"` | ||
| 16 | - Type int8 `orm:"column(type)" description:"加分类型 0发现 1分析 2解决"` | ||
| 17 | - Uid int64 `orm:"column(uid)" description:"被加分人"` | ||
| 18 | - Score int `orm:"column(score)" description:"加分数值"` | ||
| 19 | - JoinDate time.Time `orm:"column(join_date);type(date)" description:"加入年月"` | ||
| 20 | - OperatorId int64 `orm:"column(operator_id)" description:"加分人(操作者id)"` | ||
| 21 | - Reason string `orm:"column(reason);size(500);null" description:"加分理由"` | ||
| 22 | - CreateTime time.Time `orm:"column(createTime);type(timestamp);auto_now_add"` | ||
| 23 | - UpdateTime time.Time `orm:"column(updateTime);type(timestamp);auto_now_add"` | ||
| 24 | -} | ||
| 25 | - | ||
| 26 | -func (t *BonusPoint) TableName() string { | ||
| 27 | - return "bonus_point" | ||
| 28 | -} | ||
| 29 | - | ||
| 30 | -func init() { | ||
| 31 | - orm.RegisterModel(new(BonusPoint)) | ||
| 32 | -} | ||
| 33 | - | ||
| 34 | -// AddBonusPoint insert a new BonusPoint into database and returns | ||
| 35 | -// last inserted Id on success. | ||
| 36 | -func AddBonusPoint(m *BonusPoint) (id int64, err error) { | ||
| 37 | - o := orm.NewOrm() | ||
| 38 | - id, err = o.Insert(m) | ||
| 39 | - return | ||
| 40 | -} | ||
| 41 | - | ||
| 42 | -// GetBonusPointById retrieves BonusPoint by Id. Returns error if | ||
| 43 | -// Id doesn't exist | ||
| 44 | -func GetBonusPointById(id int) (v *BonusPoint, err error) { | ||
| 45 | - o := orm.NewOrm() | ||
| 46 | - v = &BonusPoint{Id: id} | ||
| 47 | - if err = o.Read(v); err == nil { | ||
| 48 | - return v, nil | ||
| 49 | - } | ||
| 50 | - return nil, err | ||
| 51 | -} | ||
| 52 | - | ||
| 53 | -// GetAllBonusPoint retrieves all BonusPoint matches certain condition. Returns empty list if | ||
| 54 | -// no records exist | ||
| 55 | -func GetAllBonusPoint(query map[string]string, fields []string, sortby []string, order []string, | ||
| 56 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 57 | - o := orm.NewOrm() | ||
| 58 | - qs := o.QueryTable(new(BonusPoint)) | ||
| 59 | - // query k=v | ||
| 60 | - for k, v := range query { | ||
| 61 | - // rewrite dot-notation to Object__Attribute | ||
| 62 | - k = strings.Replace(k, ".", "__", -1) | ||
| 63 | - if strings.Contains(k, "isnull") { | ||
| 64 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 65 | - } else { | ||
| 66 | - qs = qs.Filter(k, v) | ||
| 67 | - } | ||
| 68 | - } | ||
| 69 | - // order by: | ||
| 70 | - var sortFields []string | ||
| 71 | - if len(sortby) != 0 { | ||
| 72 | - if len(sortby) == len(order) { | ||
| 73 | - // 1) for each sort field, there is an associated order | ||
| 74 | - for i, v := range sortby { | ||
| 75 | - orderby := "" | ||
| 76 | - if order[i] == "desc" { | ||
| 77 | - orderby = "-" + v | ||
| 78 | - } else if order[i] == "asc" { | ||
| 79 | - orderby = v | ||
| 80 | - } else { | ||
| 81 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 82 | - } | ||
| 83 | - sortFields = append(sortFields, orderby) | ||
| 84 | - } | ||
| 85 | - qs = qs.OrderBy(sortFields...) | ||
| 86 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 87 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 88 | - for _, v := range sortby { | ||
| 89 | - orderby := "" | ||
| 90 | - if order[0] == "desc" { | ||
| 91 | - orderby = "-" + v | ||
| 92 | - } else if order[0] == "asc" { | ||
| 93 | - orderby = v | ||
| 94 | - } else { | ||
| 95 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 96 | - } | ||
| 97 | - sortFields = append(sortFields, orderby) | ||
| 98 | - } | ||
| 99 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 100 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 101 | - } | ||
| 102 | - } else { | ||
| 103 | - if len(order) != 0 { | ||
| 104 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 105 | - } | ||
| 106 | - } | ||
| 107 | - | ||
| 108 | - var l []BonusPoint | ||
| 109 | - qs = qs.OrderBy(sortFields...) | ||
| 110 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 111 | - if len(fields) == 0 { | ||
| 112 | - for _, v := range l { | ||
| 113 | - ml = append(ml, v) | ||
| 114 | - } | ||
| 115 | - } else { | ||
| 116 | - // trim unused fields | ||
| 117 | - for _, v := range l { | ||
| 118 | - m := make(map[string]interface{}) | ||
| 119 | - val := reflect.ValueOf(v) | ||
| 120 | - for _, fname := range fields { | ||
| 121 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 122 | - } | ||
| 123 | - ml = append(ml, m) | ||
| 124 | - } | ||
| 125 | - } | ||
| 126 | - return ml, nil | ||
| 127 | - } | ||
| 128 | - return nil, err | ||
| 129 | -} | ||
| 130 | - | ||
| 131 | -// UpdateBonusPoint updates BonusPoint by Id and returns error if | ||
| 132 | -// the record to be updated doesn't exist | ||
| 133 | -func UpdateBonusPointById(m *BonusPoint) (err error) { | ||
| 134 | - o := orm.NewOrm() | ||
| 135 | - v := BonusPoint{Id: m.Id} | ||
| 136 | - // ascertain id exists in the database | ||
| 137 | - if err = o.Read(&v); err == nil { | ||
| 138 | - var num int64 | ||
| 139 | - if num, err = o.Update(m); err == nil { | ||
| 140 | - fmt.Println("Number of records updated in database:", num) | ||
| 141 | - } | ||
| 142 | - } | ||
| 143 | - return | ||
| 144 | -} | ||
| 145 | - | ||
| 146 | -// DeleteBonusPoint deletes BonusPoint by Id and returns error if | ||
| 147 | -// the record to be deleted doesn't exist | ||
| 148 | -func DeleteBonusPoint(id int) (err error) { | ||
| 149 | - o := orm.NewOrm() | ||
| 150 | - v := BonusPoint{Id: id} | ||
| 151 | - // ascertain id exists in the database | ||
| 152 | - if err = o.Read(&v); err == nil { | ||
| 153 | - var num int64 | ||
| 154 | - if num, err = o.Delete(&BonusPoint{Id: id}); err == nil { | ||
| 155 | - fmt.Println("Number of records deleted in database:", num) | ||
| 156 | - } | ||
| 157 | - } | ||
| 158 | - return | ||
| 159 | -} |
models/bulletin.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - "time" | ||
| 9 | - | ||
| 10 | - "github.com/astaxie/beego/orm" | ||
| 11 | -) | ||
| 12 | - | ||
| 13 | -type Bulletin struct { | ||
| 14 | - Id int `orm:"column(id);auto"` | ||
| 15 | - Title string `orm:"column(title);size(2000);null" description:"标题"` | ||
| 16 | - Content string `orm:"column(content);null" description:"内容"` | ||
| 17 | - Cover string `orm:"column(cover);size(255);null" description:"封面地址"` | ||
| 18 | - W int `orm:"column(w);null" description:"宽"` | ||
| 19 | - H int `orm:"column(h);null" description:"高"` | ||
| 20 | - Type int8 `orm:"column(type);null" description:"公告类型(0图+跳转链接、1链接)"` | ||
| 21 | - Receiver string `orm:"column(receiver);null" description:"接收者"` | ||
| 22 | - QuestionSwitch int8 `orm:"column(question_switch);null" description:"设置问题开关"` | ||
| 23 | - CreateTime time.Time `orm:"column(createTime);type(timestamp);null" description:"创建时间"` | ||
| 24 | - UpdateTime time.Time `orm:"column(updateTime);type(timestamp);null" description:"更新时间"` | ||
| 25 | - AllowClose int8 `orm:"column(allowClose);null" description:"允许关闭公告(0允许,1禁止)"` | ||
| 26 | - CompanyId int `orm:"column(company_id);null" description:"公司Id"` | ||
| 27 | - Status uint8 `orm:"column(status)" description:"状态 0-下架 1- 上架"` | ||
| 28 | -} | ||
| 29 | - | ||
| 30 | -func (t *Bulletin) TableName() string { | ||
| 31 | - return "bulletin" | ||
| 32 | -} | ||
| 33 | - | ||
| 34 | -func init() { | ||
| 35 | - orm.RegisterModel(new(Bulletin)) | ||
| 36 | -} | ||
| 37 | - | ||
| 38 | -// AddBulletin insert a new Bulletin into database and returns | ||
| 39 | -// last inserted Id on success. | ||
| 40 | -func AddBulletin(m *Bulletin) (id int64, err error) { | ||
| 41 | - o := orm.NewOrm() | ||
| 42 | - id, err = o.Insert(m) | ||
| 43 | - return | ||
| 44 | -} | ||
| 45 | - | ||
| 46 | -// GetBulletinById retrieves Bulletin by Id. Returns error if | ||
| 47 | -// Id doesn't exist | ||
| 48 | -func GetBulletinById(id int) (v *Bulletin, err error) { | ||
| 49 | - o := orm.NewOrm() | ||
| 50 | - v = &Bulletin{Id: id} | ||
| 51 | - if err = o.Read(v); err == nil { | ||
| 52 | - return v, nil | ||
| 53 | - } | ||
| 54 | - return nil, err | ||
| 55 | -} | ||
| 56 | - | ||
| 57 | -// GetAllBulletin retrieves all Bulletin matches certain condition. Returns empty list if | ||
| 58 | -// no records exist | ||
| 59 | -func GetAllBulletin(query map[string]string, fields []string, sortby []string, order []string, | ||
| 60 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 61 | - o := orm.NewOrm() | ||
| 62 | - qs := o.QueryTable(new(Bulletin)) | ||
| 63 | - // query k=v | ||
| 64 | - for k, v := range query { | ||
| 65 | - // rewrite dot-notation to Object__Attribute | ||
| 66 | - k = strings.Replace(k, ".", "__", -1) | ||
| 67 | - if strings.Contains(k, "isnull") { | ||
| 68 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 69 | - } else { | ||
| 70 | - qs = qs.Filter(k, v) | ||
| 71 | - } | ||
| 72 | - } | ||
| 73 | - // order by: | ||
| 74 | - var sortFields []string | ||
| 75 | - if len(sortby) != 0 { | ||
| 76 | - if len(sortby) == len(order) { | ||
| 77 | - // 1) for each sort field, there is an associated order | ||
| 78 | - for i, v := range sortby { | ||
| 79 | - orderby := "" | ||
| 80 | - if order[i] == "desc" { | ||
| 81 | - orderby = "-" + v | ||
| 82 | - } else if order[i] == "asc" { | ||
| 83 | - orderby = v | ||
| 84 | - } else { | ||
| 85 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 86 | - } | ||
| 87 | - sortFields = append(sortFields, orderby) | ||
| 88 | - } | ||
| 89 | - qs = qs.OrderBy(sortFields...) | ||
| 90 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 91 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 92 | - for _, v := range sortby { | ||
| 93 | - orderby := "" | ||
| 94 | - if order[0] == "desc" { | ||
| 95 | - orderby = "-" + v | ||
| 96 | - } else if order[0] == "asc" { | ||
| 97 | - orderby = v | ||
| 98 | - } else { | ||
| 99 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 100 | - } | ||
| 101 | - sortFields = append(sortFields, orderby) | ||
| 102 | - } | ||
| 103 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 104 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 105 | - } | ||
| 106 | - } else { | ||
| 107 | - if len(order) != 0 { | ||
| 108 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 109 | - } | ||
| 110 | - } | ||
| 111 | - | ||
| 112 | - var l []Bulletin | ||
| 113 | - qs = qs.OrderBy(sortFields...) | ||
| 114 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 115 | - if len(fields) == 0 { | ||
| 116 | - for _, v := range l { | ||
| 117 | - ml = append(ml, v) | ||
| 118 | - } | ||
| 119 | - } else { | ||
| 120 | - // trim unused fields | ||
| 121 | - for _, v := range l { | ||
| 122 | - m := make(map[string]interface{}) | ||
| 123 | - val := reflect.ValueOf(v) | ||
| 124 | - for _, fname := range fields { | ||
| 125 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 126 | - } | ||
| 127 | - ml = append(ml, m) | ||
| 128 | - } | ||
| 129 | - } | ||
| 130 | - return ml, nil | ||
| 131 | - } | ||
| 132 | - return nil, err | ||
| 133 | -} | ||
| 134 | - | ||
| 135 | -// UpdateBulletin updates Bulletin by Id and returns error if | ||
| 136 | -// the record to be updated doesn't exist | ||
| 137 | -func UpdateBulletinById(m *Bulletin) (err error) { | ||
| 138 | - o := orm.NewOrm() | ||
| 139 | - v := Bulletin{Id: m.Id} | ||
| 140 | - // ascertain id exists in the database | ||
| 141 | - if err = o.Read(&v); err == nil { | ||
| 142 | - var num int64 | ||
| 143 | - if num, err = o.Update(m); err == nil { | ||
| 144 | - fmt.Println("Number of records updated in database:", num) | ||
| 145 | - } | ||
| 146 | - } | ||
| 147 | - return | ||
| 148 | -} | ||
| 149 | - | ||
| 150 | -// DeleteBulletin deletes Bulletin by Id and returns error if | ||
| 151 | -// the record to be deleted doesn't exist | ||
| 152 | -func DeleteBulletin(id int) (err error) { | ||
| 153 | - o := orm.NewOrm() | ||
| 154 | - v := Bulletin{Id: id} | ||
| 155 | - // ascertain id exists in the database | ||
| 156 | - if err = o.Read(&v); err == nil { | ||
| 157 | - var num int64 | ||
| 158 | - if num, err = o.Delete(&Bulletin{Id: id}); err == nil { | ||
| 159 | - fmt.Println("Number of records deleted in database:", num) | ||
| 160 | - } | ||
| 161 | - } | ||
| 162 | - return | ||
| 163 | -} |
models/bulletin_question.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - "time" | ||
| 9 | - | ||
| 10 | - "github.com/astaxie/beego/orm" | ||
| 11 | -) | ||
| 12 | - | ||
| 13 | -type BulletinQuestion struct { | ||
| 14 | - Id int `orm:"column(id);auto"` | ||
| 15 | - BulletinId int `orm:"column(bulletin_id);null" description:"公告id"` | ||
| 16 | - Type int8 `orm:"column(type);null" description:"类型:0-单选,1-多选"` | ||
| 17 | - Title string `orm:"column(title);size(2000);null" description:"标题"` | ||
| 18 | - Content string `orm:"column(content);size(2000);null" description:"内容"` | ||
| 19 | - CreateTime time.Time `orm:"column(createTime);type(timestamp);null" description:"创建时间"` | ||
| 20 | - UpdateTime time.Time `orm:"column(updateTime);type(timestamp);null" description:"更新时间"` | ||
| 21 | -} | ||
| 22 | - | ||
| 23 | -func (t *BulletinQuestion) TableName() string { | ||
| 24 | - return "bulletin_question" | ||
| 25 | -} | ||
| 26 | - | ||
| 27 | -func init() { | ||
| 28 | - orm.RegisterModel(new(BulletinQuestion)) | ||
| 29 | -} | ||
| 30 | - | ||
| 31 | -// AddBulletinQuestion insert a new BulletinQuestion into database and returns | ||
| 32 | -// last inserted Id on success. | ||
| 33 | -func AddBulletinQuestion(m *BulletinQuestion) (id int64, err error) { | ||
| 34 | - o := orm.NewOrm() | ||
| 35 | - id, err = o.Insert(m) | ||
| 36 | - return | ||
| 37 | -} | ||
| 38 | - | ||
| 39 | -// GetBulletinQuestionById retrieves BulletinQuestion by Id. Returns error if | ||
| 40 | -// Id doesn't exist | ||
| 41 | -func GetBulletinQuestionById(id int) (v *BulletinQuestion, err error) { | ||
| 42 | - o := orm.NewOrm() | ||
| 43 | - v = &BulletinQuestion{Id: id} | ||
| 44 | - if err = o.Read(v); err == nil { | ||
| 45 | - return v, nil | ||
| 46 | - } | ||
| 47 | - return nil, err | ||
| 48 | -} | ||
| 49 | - | ||
| 50 | -// GetAllBulletinQuestion retrieves all BulletinQuestion matches certain condition. Returns empty list if | ||
| 51 | -// no records exist | ||
| 52 | -func GetAllBulletinQuestion(query map[string]string, fields []string, sortby []string, order []string, | ||
| 53 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 54 | - o := orm.NewOrm() | ||
| 55 | - qs := o.QueryTable(new(BulletinQuestion)) | ||
| 56 | - // query k=v | ||
| 57 | - for k, v := range query { | ||
| 58 | - // rewrite dot-notation to Object__Attribute | ||
| 59 | - k = strings.Replace(k, ".", "__", -1) | ||
| 60 | - if strings.Contains(k, "isnull") { | ||
| 61 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 62 | - } else { | ||
| 63 | - qs = qs.Filter(k, v) | ||
| 64 | - } | ||
| 65 | - } | ||
| 66 | - // order by: | ||
| 67 | - var sortFields []string | ||
| 68 | - if len(sortby) != 0 { | ||
| 69 | - if len(sortby) == len(order) { | ||
| 70 | - // 1) for each sort field, there is an associated order | ||
| 71 | - for i, v := range sortby { | ||
| 72 | - orderby := "" | ||
| 73 | - if order[i] == "desc" { | ||
| 74 | - orderby = "-" + v | ||
| 75 | - } else if order[i] == "asc" { | ||
| 76 | - orderby = v | ||
| 77 | - } else { | ||
| 78 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 79 | - } | ||
| 80 | - sortFields = append(sortFields, orderby) | ||
| 81 | - } | ||
| 82 | - qs = qs.OrderBy(sortFields...) | ||
| 83 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 84 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 85 | - for _, v := range sortby { | ||
| 86 | - orderby := "" | ||
| 87 | - if order[0] == "desc" { | ||
| 88 | - orderby = "-" + v | ||
| 89 | - } else if order[0] == "asc" { | ||
| 90 | - orderby = v | ||
| 91 | - } else { | ||
| 92 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 93 | - } | ||
| 94 | - sortFields = append(sortFields, orderby) | ||
| 95 | - } | ||
| 96 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 97 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 98 | - } | ||
| 99 | - } else { | ||
| 100 | - if len(order) != 0 { | ||
| 101 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 102 | - } | ||
| 103 | - } | ||
| 104 | - | ||
| 105 | - var l []BulletinQuestion | ||
| 106 | - qs = qs.OrderBy(sortFields...) | ||
| 107 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 108 | - if len(fields) == 0 { | ||
| 109 | - for _, v := range l { | ||
| 110 | - ml = append(ml, v) | ||
| 111 | - } | ||
| 112 | - } else { | ||
| 113 | - // trim unused fields | ||
| 114 | - for _, v := range l { | ||
| 115 | - m := make(map[string]interface{}) | ||
| 116 | - val := reflect.ValueOf(v) | ||
| 117 | - for _, fname := range fields { | ||
| 118 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 119 | - } | ||
| 120 | - ml = append(ml, m) | ||
| 121 | - } | ||
| 122 | - } | ||
| 123 | - return ml, nil | ||
| 124 | - } | ||
| 125 | - return nil, err | ||
| 126 | -} | ||
| 127 | - | ||
| 128 | -// UpdateBulletinQuestion updates BulletinQuestion by Id and returns error if | ||
| 129 | -// the record to be updated doesn't exist | ||
| 130 | -func UpdateBulletinQuestionById(m *BulletinQuestion) (err error) { | ||
| 131 | - o := orm.NewOrm() | ||
| 132 | - v := BulletinQuestion{Id: m.Id} | ||
| 133 | - // ascertain id exists in the database | ||
| 134 | - if err = o.Read(&v); err == nil { | ||
| 135 | - var num int64 | ||
| 136 | - if num, err = o.Update(m); err == nil { | ||
| 137 | - fmt.Println("Number of records updated in database:", num) | ||
| 138 | - } | ||
| 139 | - } | ||
| 140 | - return | ||
| 141 | -} | ||
| 142 | - | ||
| 143 | -// DeleteBulletinQuestion deletes BulletinQuestion by Id and returns error if | ||
| 144 | -// the record to be deleted doesn't exist | ||
| 145 | -func DeleteBulletinQuestion(id int) (err error) { | ||
| 146 | - o := orm.NewOrm() | ||
| 147 | - v := BulletinQuestion{Id: id} | ||
| 148 | - // ascertain id exists in the database | ||
| 149 | - if err = o.Read(&v); err == nil { | ||
| 150 | - var num int64 | ||
| 151 | - if num, err = o.Delete(&BulletinQuestion{Id: id}); err == nil { | ||
| 152 | - fmt.Println("Number of records deleted in database:", num) | ||
| 153 | - } | ||
| 154 | - } | ||
| 155 | - return | ||
| 156 | -} |
models/bulletin_question_answer.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - "time" | ||
| 9 | - | ||
| 10 | - "github.com/astaxie/beego/orm" | ||
| 11 | -) | ||
| 12 | - | ||
| 13 | -type BulletinQuestionAnswer struct { | ||
| 14 | - Id int `orm:"column(id);auto"` | ||
| 15 | - Answer string `orm:"column(answer);null" description:"答案"` | ||
| 16 | - BulletinId int `orm:"column(bulletin_id);null" description:"公告id"` | ||
| 17 | - BulletinQuestionId int `orm:"column(bulletin_question_id);null" description:"公告问题id"` | ||
| 18 | - Uid int64 `orm:"column(uid);null" description:"用户id"` | ||
| 19 | - CreateTime time.Time `orm:"column(createTime);type(timestamp);null" description:"创建时间"` | ||
| 20 | - UpdateTime time.Time `orm:"column(updateTime);type(timestamp);null" description:"更新时间"` | ||
| 21 | -} | ||
| 22 | - | ||
| 23 | -func (t *BulletinQuestionAnswer) TableName() string { | ||
| 24 | - return "bulletin_question_answer" | ||
| 25 | -} | ||
| 26 | - | ||
| 27 | -func init() { | ||
| 28 | - orm.RegisterModel(new(BulletinQuestionAnswer)) | ||
| 29 | -} | ||
| 30 | - | ||
| 31 | -// AddBulletinQuestionAnswer insert a new BulletinQuestionAnswer into database and returns | ||
| 32 | -// last inserted Id on success. | ||
| 33 | -func AddBulletinQuestionAnswer(m *BulletinQuestionAnswer) (id int64, err error) { | ||
| 34 | - o := orm.NewOrm() | ||
| 35 | - id, err = o.Insert(m) | ||
| 36 | - return | ||
| 37 | -} | ||
| 38 | - | ||
| 39 | -// GetBulletinQuestionAnswerById retrieves BulletinQuestionAnswer by Id. Returns error if | ||
| 40 | -// Id doesn't exist | ||
| 41 | -func GetBulletinQuestionAnswerById(id int) (v *BulletinQuestionAnswer, err error) { | ||
| 42 | - o := orm.NewOrm() | ||
| 43 | - v = &BulletinQuestionAnswer{Id: id} | ||
| 44 | - if err = o.Read(v); err == nil { | ||
| 45 | - return v, nil | ||
| 46 | - } | ||
| 47 | - return nil, err | ||
| 48 | -} | ||
| 49 | - | ||
| 50 | -// GetAllBulletinQuestionAnswer retrieves all BulletinQuestionAnswer matches certain condition. Returns empty list if | ||
| 51 | -// no records exist | ||
| 52 | -func GetAllBulletinQuestionAnswer(query map[string]string, fields []string, sortby []string, order []string, | ||
| 53 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 54 | - o := orm.NewOrm() | ||
| 55 | - qs := o.QueryTable(new(BulletinQuestionAnswer)) | ||
| 56 | - // query k=v | ||
| 57 | - for k, v := range query { | ||
| 58 | - // rewrite dot-notation to Object__Attribute | ||
| 59 | - k = strings.Replace(k, ".", "__", -1) | ||
| 60 | - if strings.Contains(k, "isnull") { | ||
| 61 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 62 | - } else { | ||
| 63 | - qs = qs.Filter(k, v) | ||
| 64 | - } | ||
| 65 | - } | ||
| 66 | - // order by: | ||
| 67 | - var sortFields []string | ||
| 68 | - if len(sortby) != 0 { | ||
| 69 | - if len(sortby) == len(order) { | ||
| 70 | - // 1) for each sort field, there is an associated order | ||
| 71 | - for i, v := range sortby { | ||
| 72 | - orderby := "" | ||
| 73 | - if order[i] == "desc" { | ||
| 74 | - orderby = "-" + v | ||
| 75 | - } else if order[i] == "asc" { | ||
| 76 | - orderby = v | ||
| 77 | - } else { | ||
| 78 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 79 | - } | ||
| 80 | - sortFields = append(sortFields, orderby) | ||
| 81 | - } | ||
| 82 | - qs = qs.OrderBy(sortFields...) | ||
| 83 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 84 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 85 | - for _, v := range sortby { | ||
| 86 | - orderby := "" | ||
| 87 | - if order[0] == "desc" { | ||
| 88 | - orderby = "-" + v | ||
| 89 | - } else if order[0] == "asc" { | ||
| 90 | - orderby = v | ||
| 91 | - } else { | ||
| 92 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 93 | - } | ||
| 94 | - sortFields = append(sortFields, orderby) | ||
| 95 | - } | ||
| 96 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 97 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 98 | - } | ||
| 99 | - } else { | ||
| 100 | - if len(order) != 0 { | ||
| 101 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 102 | - } | ||
| 103 | - } | ||
| 104 | - | ||
| 105 | - var l []BulletinQuestionAnswer | ||
| 106 | - qs = qs.OrderBy(sortFields...) | ||
| 107 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 108 | - if len(fields) == 0 { | ||
| 109 | - for _, v := range l { | ||
| 110 | - ml = append(ml, v) | ||
| 111 | - } | ||
| 112 | - } else { | ||
| 113 | - // trim unused fields | ||
| 114 | - for _, v := range l { | ||
| 115 | - m := make(map[string]interface{}) | ||
| 116 | - val := reflect.ValueOf(v) | ||
| 117 | - for _, fname := range fields { | ||
| 118 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 119 | - } | ||
| 120 | - ml = append(ml, m) | ||
| 121 | - } | ||
| 122 | - } | ||
| 123 | - return ml, nil | ||
| 124 | - } | ||
| 125 | - return nil, err | ||
| 126 | -} | ||
| 127 | - | ||
| 128 | -// UpdateBulletinQuestionAnswer updates BulletinQuestionAnswer by Id and returns error if | ||
| 129 | -// the record to be updated doesn't exist | ||
| 130 | -func UpdateBulletinQuestionAnswerById(m *BulletinQuestionAnswer) (err error) { | ||
| 131 | - o := orm.NewOrm() | ||
| 132 | - v := BulletinQuestionAnswer{Id: m.Id} | ||
| 133 | - // ascertain id exists in the database | ||
| 134 | - if err = o.Read(&v); err == nil { | ||
| 135 | - var num int64 | ||
| 136 | - if num, err = o.Update(m); err == nil { | ||
| 137 | - fmt.Println("Number of records updated in database:", num) | ||
| 138 | - } | ||
| 139 | - } | ||
| 140 | - return | ||
| 141 | -} | ||
| 142 | - | ||
| 143 | -// DeleteBulletinQuestionAnswer deletes BulletinQuestionAnswer by Id and returns error if | ||
| 144 | -// the record to be deleted doesn't exist | ||
| 145 | -func DeleteBulletinQuestionAnswer(id int) (err error) { | ||
| 146 | - o := orm.NewOrm() | ||
| 147 | - v := BulletinQuestionAnswer{Id: id} | ||
| 148 | - // ascertain id exists in the database | ||
| 149 | - if err = o.Read(&v); err == nil { | ||
| 150 | - var num int64 | ||
| 151 | - if num, err = o.Delete(&BulletinQuestionAnswer{Id: id}); err == nil { | ||
| 152 | - fmt.Println("Number of records deleted in database:", num) | ||
| 153 | - } | ||
| 154 | - } | ||
| 155 | - return | ||
| 156 | -} |
models/cfg_app_version.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - "time" | ||
| 9 | - | ||
| 10 | - "github.com/astaxie/beego/orm" | ||
| 11 | -) | ||
| 12 | - | ||
| 13 | -type CfgAppVersion struct { | ||
| 14 | - Id int `orm:"column(id);auto"` | ||
| 15 | - DeviceType int8 `orm:"column(device_type);null" description:"设备类型 (0 ios 1android)"` | ||
| 16 | - VersionName string `orm:"column(version_name);size(255)" description:"版本名"` | ||
| 17 | - VersionNo int `orm:"column(version_no)" description:"版本号"` | ||
| 18 | - VersionState int8 `orm:"column(version_state)" description:"版本状态(0正常 1危险)"` | ||
| 19 | - Title string `orm:"column(title);size(255)" description:"版本标题"` | ||
| 20 | - Content string `orm:"column(content);size(500)" description:"更新的内容"` | ||
| 21 | - DownloadPage string `orm:"column(download_page);size(255);null" description:"下载页"` | ||
| 22 | - DownloadFile string `orm:"column(download_file);size(255)" description:"文件下载页"` | ||
| 23 | - CreateTime time.Time `orm:"column(create_time);type(timestamp);null;auto_now"` | ||
| 24 | - Enabled int8 `orm:"column(enabled);null" description:"是否有效"` | ||
| 25 | - AdminId int `orm:"column(admin_id)" description:"操作人员"` | ||
| 26 | - UpdateTime time.Time `orm:"column(update_time);type(timestamp);auto_now_add" description:"更新时间"` | ||
| 27 | - Channel string `orm:"column(channel);size(255)" description:"当前渠道 0_AppStore、1_fir平台、2_华为、3_小米、4_魅族、5_oppo、6_vivo、7_360、8_百度、9_应用宝、10_其他(使用应用宝地址)"` | ||
| 28 | - Type int8 `orm:"column(type);null" description:"0为手机 1为平板 终端类型"` | ||
| 29 | -} | ||
| 30 | - | ||
| 31 | -func (t *CfgAppVersion) TableName() string { | ||
| 32 | - return "cfg_app_version" | ||
| 33 | -} | ||
| 34 | - | ||
| 35 | -func init() { | ||
| 36 | - orm.RegisterModel(new(CfgAppVersion)) | ||
| 37 | -} | ||
| 38 | - | ||
| 39 | -// AddCfgAppVersion insert a new CfgAppVersion into database and returns | ||
| 40 | -// last inserted Id on success. | ||
| 41 | -func AddCfgAppVersion(m *CfgAppVersion) (id int64, err error) { | ||
| 42 | - o := orm.NewOrm() | ||
| 43 | - id, err = o.Insert(m) | ||
| 44 | - return | ||
| 45 | -} | ||
| 46 | - | ||
| 47 | -// GetCfgAppVersionById retrieves CfgAppVersion by Id. Returns error if | ||
| 48 | -// Id doesn't exist | ||
| 49 | -func GetCfgAppVersionById(id int) (v *CfgAppVersion, err error) { | ||
| 50 | - o := orm.NewOrm() | ||
| 51 | - v = &CfgAppVersion{Id: id} | ||
| 52 | - if err = o.Read(v); err == nil { | ||
| 53 | - return v, nil | ||
| 54 | - } | ||
| 55 | - return nil, err | ||
| 56 | -} | ||
| 57 | - | ||
| 58 | -// GetAllCfgAppVersion retrieves all CfgAppVersion matches certain condition. Returns empty list if | ||
| 59 | -// no records exist | ||
| 60 | -func GetAllCfgAppVersion(query map[string]string, fields []string, sortby []string, order []string, | ||
| 61 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 62 | - o := orm.NewOrm() | ||
| 63 | - qs := o.QueryTable(new(CfgAppVersion)) | ||
| 64 | - // query k=v | ||
| 65 | - for k, v := range query { | ||
| 66 | - // rewrite dot-notation to Object__Attribute | ||
| 67 | - k = strings.Replace(k, ".", "__", -1) | ||
| 68 | - if strings.Contains(k, "isnull") { | ||
| 69 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 70 | - } else { | ||
| 71 | - qs = qs.Filter(k, v) | ||
| 72 | - } | ||
| 73 | - } | ||
| 74 | - // order by: | ||
| 75 | - var sortFields []string | ||
| 76 | - if len(sortby) != 0 { | ||
| 77 | - if len(sortby) == len(order) { | ||
| 78 | - // 1) for each sort field, there is an associated order | ||
| 79 | - for i, v := range sortby { | ||
| 80 | - orderby := "" | ||
| 81 | - if order[i] == "desc" { | ||
| 82 | - orderby = "-" + v | ||
| 83 | - } else if order[i] == "asc" { | ||
| 84 | - orderby = v | ||
| 85 | - } else { | ||
| 86 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 87 | - } | ||
| 88 | - sortFields = append(sortFields, orderby) | ||
| 89 | - } | ||
| 90 | - qs = qs.OrderBy(sortFields...) | ||
| 91 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 92 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 93 | - for _, v := range sortby { | ||
| 94 | - orderby := "" | ||
| 95 | - if order[0] == "desc" { | ||
| 96 | - orderby = "-" + v | ||
| 97 | - } else if order[0] == "asc" { | ||
| 98 | - orderby = v | ||
| 99 | - } else { | ||
| 100 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 101 | - } | ||
| 102 | - sortFields = append(sortFields, orderby) | ||
| 103 | - } | ||
| 104 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 105 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 106 | - } | ||
| 107 | - } else { | ||
| 108 | - if len(order) != 0 { | ||
| 109 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 110 | - } | ||
| 111 | - } | ||
| 112 | - | ||
| 113 | - var l []CfgAppVersion | ||
| 114 | - qs = qs.OrderBy(sortFields...) | ||
| 115 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 116 | - if len(fields) == 0 { | ||
| 117 | - for _, v := range l { | ||
| 118 | - ml = append(ml, v) | ||
| 119 | - } | ||
| 120 | - } else { | ||
| 121 | - // trim unused fields | ||
| 122 | - for _, v := range l { | ||
| 123 | - m := make(map[string]interface{}) | ||
| 124 | - val := reflect.ValueOf(v) | ||
| 125 | - for _, fname := range fields { | ||
| 126 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 127 | - } | ||
| 128 | - ml = append(ml, m) | ||
| 129 | - } | ||
| 130 | - } | ||
| 131 | - return ml, nil | ||
| 132 | - } | ||
| 133 | - return nil, err | ||
| 134 | -} | ||
| 135 | - | ||
| 136 | -// UpdateCfgAppVersion updates CfgAppVersion by Id and returns error if | ||
| 137 | -// the record to be updated doesn't exist | ||
| 138 | -func UpdateCfgAppVersionById(m *CfgAppVersion) (err error) { | ||
| 139 | - o := orm.NewOrm() | ||
| 140 | - v := CfgAppVersion{Id: m.Id} | ||
| 141 | - // ascertain id exists in the database | ||
| 142 | - if err = o.Read(&v); err == nil { | ||
| 143 | - var num int64 | ||
| 144 | - if num, err = o.Update(m); err == nil { | ||
| 145 | - fmt.Println("Number of records updated in database:", num) | ||
| 146 | - } | ||
| 147 | - } | ||
| 148 | - return | ||
| 149 | -} | ||
| 150 | - | ||
| 151 | -// DeleteCfgAppVersion deletes CfgAppVersion by Id and returns error if | ||
| 152 | -// the record to be deleted doesn't exist | ||
| 153 | -func DeleteCfgAppVersion(id int) (err error) { | ||
| 154 | - o := orm.NewOrm() | ||
| 155 | - v := CfgAppVersion{Id: id} | ||
| 156 | - // ascertain id exists in the database | ||
| 157 | - if err = o.Read(&v); err == nil { | ||
| 158 | - var num int64 | ||
| 159 | - if num, err = o.Delete(&CfgAppVersion{Id: id}); err == nil { | ||
| 160 | - fmt.Println("Number of records deleted in database:", num) | ||
| 161 | - } | ||
| 162 | - } | ||
| 163 | - return | ||
| 164 | -} | ||
| 165 | - | ||
| 166 | -func GetCfgAppVersion(versionNo, channel int) (v *CfgAppVersion, err error) { | ||
| 167 | - o := orm.NewOrm() | ||
| 168 | - sql := `select * from cfg_app_version where version_no =? and channel =? and enabled=1` | ||
| 169 | - if err = o.Raw(sql, versionNo, channel).QueryRow(&v); err == nil { | ||
| 170 | - return v, nil | ||
| 171 | - } | ||
| 172 | - return nil, err | ||
| 173 | -} |
models/cfg_attr.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - "time" | ||
| 9 | - | ||
| 10 | - "github.com/astaxie/beego/orm" | ||
| 11 | -) | ||
| 12 | - | ||
| 13 | -type CfgAttr struct { | ||
| 14 | - Id int `orm:"column(id);auto" description:"主键ID"` | ||
| 15 | - CompanyId int `orm:"column(company_id)" description:"公司Id"` | ||
| 16 | - Name string `orm:"column(name);size(200)" description:"名称"` | ||
| 17 | - Sort uint `orm:"column(sort)" description:"排序"` | ||
| 18 | - CreateTime time.Time `orm:"column(createTime);type(timestamp);auto_now_add" description:"创建时间"` | ||
| 19 | - Enabled int `orm:"column(enabled)"` | ||
| 20 | -} | ||
| 21 | - | ||
| 22 | -func (t *CfgAttr) TableName() string { | ||
| 23 | - return "cfg_attr" | ||
| 24 | -} | ||
| 25 | - | ||
| 26 | -func init() { | ||
| 27 | - orm.RegisterModel(new(CfgAttr)) | ||
| 28 | -} | ||
| 29 | - | ||
| 30 | -// AddCfgAttr insert a new CfgAttr into database and returns | ||
| 31 | -// last inserted Id on success. | ||
| 32 | -func AddCfgAttr(m *CfgAttr) (id int64, err error) { | ||
| 33 | - o := orm.NewOrm() | ||
| 34 | - id, err = o.Insert(m) | ||
| 35 | - return | ||
| 36 | -} | ||
| 37 | - | ||
| 38 | -// GetCfgAttrById retrieves CfgAttr by Id. Returns error if | ||
| 39 | -// Id doesn't exist | ||
| 40 | -func GetCfgAttrById(id int) (v *CfgAttr, err error) { | ||
| 41 | - o := orm.NewOrm() | ||
| 42 | - v = &CfgAttr{Id: id} | ||
| 43 | - if err = o.Read(v); err == nil { | ||
| 44 | - return v, nil | ||
| 45 | - } | ||
| 46 | - return nil, err | ||
| 47 | -} | ||
| 48 | - | ||
| 49 | -// GetAllCfgAttr retrieves all CfgAttr matches certain condition. Returns empty list if | ||
| 50 | -// no records exist | ||
| 51 | -func GetAllCfgAttr(query map[string]string, fields []string, sortby []string, order []string, | ||
| 52 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 53 | - o := orm.NewOrm() | ||
| 54 | - qs := o.QueryTable(new(CfgAttr)) | ||
| 55 | - // query k=v | ||
| 56 | - for k, v := range query { | ||
| 57 | - // rewrite dot-notation to Object__Attribute | ||
| 58 | - k = strings.Replace(k, ".", "__", -1) | ||
| 59 | - if strings.Contains(k, "isnull") { | ||
| 60 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 61 | - } else { | ||
| 62 | - qs = qs.Filter(k, v) | ||
| 63 | - } | ||
| 64 | - } | ||
| 65 | - // order by: | ||
| 66 | - var sortFields []string | ||
| 67 | - if len(sortby) != 0 { | ||
| 68 | - if len(sortby) == len(order) { | ||
| 69 | - // 1) for each sort field, there is an associated order | ||
| 70 | - for i, v := range sortby { | ||
| 71 | - orderby := "" | ||
| 72 | - if order[i] == "desc" { | ||
| 73 | - orderby = "-" + v | ||
| 74 | - } else if order[i] == "asc" { | ||
| 75 | - orderby = v | ||
| 76 | - } else { | ||
| 77 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 78 | - } | ||
| 79 | - sortFields = append(sortFields, orderby) | ||
| 80 | - } | ||
| 81 | - qs = qs.OrderBy(sortFields...) | ||
| 82 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 83 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 84 | - for _, v := range sortby { | ||
| 85 | - orderby := "" | ||
| 86 | - if order[0] == "desc" { | ||
| 87 | - orderby = "-" + v | ||
| 88 | - } else if order[0] == "asc" { | ||
| 89 | - orderby = v | ||
| 90 | - } else { | ||
| 91 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 92 | - } | ||
| 93 | - sortFields = append(sortFields, orderby) | ||
| 94 | - } | ||
| 95 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 96 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 97 | - } | ||
| 98 | - } else { | ||
| 99 | - if len(order) != 0 { | ||
| 100 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 101 | - } | ||
| 102 | - } | ||
| 103 | - | ||
| 104 | - var l []CfgAttr | ||
| 105 | - qs = qs.OrderBy(sortFields...) | ||
| 106 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 107 | - if len(fields) == 0 { | ||
| 108 | - for _, v := range l { | ||
| 109 | - ml = append(ml, v) | ||
| 110 | - } | ||
| 111 | - } else { | ||
| 112 | - // trim unused fields | ||
| 113 | - for _, v := range l { | ||
| 114 | - m := make(map[string]interface{}) | ||
| 115 | - val := reflect.ValueOf(v) | ||
| 116 | - for _, fname := range fields { | ||
| 117 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 118 | - } | ||
| 119 | - ml = append(ml, m) | ||
| 120 | - } | ||
| 121 | - } | ||
| 122 | - return ml, nil | ||
| 123 | - } | ||
| 124 | - return nil, err | ||
| 125 | -} | ||
| 126 | - | ||
| 127 | -// UpdateCfgAttr updates CfgAttr by Id and returns error if | ||
| 128 | -// the record to be updated doesn't exist | ||
| 129 | -func UpdateCfgAttrById(m *CfgAttr) (err error) { | ||
| 130 | - o := orm.NewOrm() | ||
| 131 | - v := CfgAttr{Id: m.Id} | ||
| 132 | - // ascertain id exists in the database | ||
| 133 | - if err = o.Read(&v); err == nil { | ||
| 134 | - var num int64 | ||
| 135 | - if num, err = o.Update(m); err == nil { | ||
| 136 | - fmt.Println("Number of records updated in database:", num) | ||
| 137 | - } | ||
| 138 | - } | ||
| 139 | - return | ||
| 140 | -} | ||
| 141 | - | ||
| 142 | -// DeleteCfgAttr deletes CfgAttr by Id and returns error if | ||
| 143 | -// the record to be deleted doesn't exist | ||
| 144 | -func DeleteCfgAttr(id int) (err error) { | ||
| 145 | - o := orm.NewOrm() | ||
| 146 | - v := CfgAttr{Id: id} | ||
| 147 | - // ascertain id exists in the database | ||
| 148 | - if err = o.Read(&v); err == nil { | ||
| 149 | - var num int64 | ||
| 150 | - if num, err = o.Delete(&CfgAttr{Id: id}); err == nil { | ||
| 151 | - fmt.Println("Number of records deleted in database:", num) | ||
| 152 | - } | ||
| 153 | - } | ||
| 154 | - return | ||
| 155 | -} |
models/cfg_client.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - "time" | ||
| 9 | - | ||
| 10 | - "github.com/astaxie/beego/orm" | ||
| 11 | -) | ||
| 12 | - | ||
| 13 | -type CfgClient struct { | ||
| 14 | - Id int `orm:"column(id);auto" description:"主键ID"` | ||
| 15 | - ClientId string `orm:"column(client_id);size(32)" description:"客户端ID"` | ||
| 16 | - ClientSecret string `orm:"column(client_secret);size(128);null" description:"客户端密钥"` | ||
| 17 | - CreateTime time.Time `orm:"column(create_time);type(timestamp);auto_now" description:"创建时间"` | ||
| 18 | - Enabled int8 `orm:"column(enabled)" description:"是否有效"` | ||
| 19 | -} | ||
| 20 | - | ||
| 21 | -func (t *CfgClient) TableName() string { | ||
| 22 | - return "cfg_client" | ||
| 23 | -} | ||
| 24 | - | ||
| 25 | -func init() { | ||
| 26 | - orm.RegisterModel(new(CfgClient)) | ||
| 27 | -} | ||
| 28 | - | ||
| 29 | -// AddCfgClient insert a new CfgClient into database and returns | ||
| 30 | -// last inserted Id on success. | ||
| 31 | -func AddCfgClient(m *CfgClient) (id int64, err error) { | ||
| 32 | - o := orm.NewOrm() | ||
| 33 | - id, err = o.Insert(m) | ||
| 34 | - return | ||
| 35 | -} | ||
| 36 | - | ||
| 37 | -// GetCfgClientById retrieves CfgClient by Id. Returns error if | ||
| 38 | -// Id doesn't exist | ||
| 39 | -func GetCfgClientById(id int) (v *CfgClient, err error) { | ||
| 40 | - o := orm.NewOrm() | ||
| 41 | - v = &CfgClient{Id: id} | ||
| 42 | - if err = o.Read(v); err == nil { | ||
| 43 | - return v, nil | ||
| 44 | - } | ||
| 45 | - return nil, err | ||
| 46 | -} | ||
| 47 | - | ||
| 48 | -// GetAllCfgClient retrieves all CfgClient matches certain condition. Returns empty list if | ||
| 49 | -// no records exist | ||
| 50 | -func GetAllCfgClient(query map[string]string, fields []string, sortby []string, order []string, | ||
| 51 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 52 | - o := orm.NewOrm() | ||
| 53 | - qs := o.QueryTable(new(CfgClient)) | ||
| 54 | - // query k=v | ||
| 55 | - for k, v := range query { | ||
| 56 | - // rewrite dot-notation to Object__Attribute | ||
| 57 | - k = strings.Replace(k, ".", "__", -1) | ||
| 58 | - if strings.Contains(k, "isnull") { | ||
| 59 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 60 | - } else { | ||
| 61 | - qs = qs.Filter(k, v) | ||
| 62 | - } | ||
| 63 | - } | ||
| 64 | - // order by: | ||
| 65 | - var sortFields []string | ||
| 66 | - if len(sortby) != 0 { | ||
| 67 | - if len(sortby) == len(order) { | ||
| 68 | - // 1) for each sort field, there is an associated order | ||
| 69 | - for i, v := range sortby { | ||
| 70 | - orderby := "" | ||
| 71 | - if order[i] == "desc" { | ||
| 72 | - orderby = "-" + v | ||
| 73 | - } else if order[i] == "asc" { | ||
| 74 | - orderby = v | ||
| 75 | - } else { | ||
| 76 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 77 | - } | ||
| 78 | - sortFields = append(sortFields, orderby) | ||
| 79 | - } | ||
| 80 | - qs = qs.OrderBy(sortFields...) | ||
| 81 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 82 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 83 | - for _, v := range sortby { | ||
| 84 | - orderby := "" | ||
| 85 | - if order[0] == "desc" { | ||
| 86 | - orderby = "-" + v | ||
| 87 | - } else if order[0] == "asc" { | ||
| 88 | - orderby = v | ||
| 89 | - } else { | ||
| 90 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 91 | - } | ||
| 92 | - sortFields = append(sortFields, orderby) | ||
| 93 | - } | ||
| 94 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 95 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 96 | - } | ||
| 97 | - } else { | ||
| 98 | - if len(order) != 0 { | ||
| 99 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 100 | - } | ||
| 101 | - } | ||
| 102 | - | ||
| 103 | - var l []CfgClient | ||
| 104 | - qs = qs.OrderBy(sortFields...) | ||
| 105 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 106 | - if len(fields) == 0 { | ||
| 107 | - for _, v := range l { | ||
| 108 | - ml = append(ml, v) | ||
| 109 | - } | ||
| 110 | - } else { | ||
| 111 | - // trim unused fields | ||
| 112 | - for _, v := range l { | ||
| 113 | - m := make(map[string]interface{}) | ||
| 114 | - val := reflect.ValueOf(v) | ||
| 115 | - for _, fname := range fields { | ||
| 116 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 117 | - } | ||
| 118 | - ml = append(ml, m) | ||
| 119 | - } | ||
| 120 | - } | ||
| 121 | - return ml, nil | ||
| 122 | - } | ||
| 123 | - return nil, err | ||
| 124 | -} | ||
| 125 | - | ||
| 126 | -// UpdateCfgClient updates CfgClient by Id and returns error if | ||
| 127 | -// the record to be updated doesn't exist | ||
| 128 | -func UpdateCfgClientById(m *CfgClient) (err error) { | ||
| 129 | - o := orm.NewOrm() | ||
| 130 | - v := CfgClient{Id: m.Id} | ||
| 131 | - // ascertain id exists in the database | ||
| 132 | - if err = o.Read(&v); err == nil { | ||
| 133 | - var num int64 | ||
| 134 | - if num, err = o.Update(m); err == nil { | ||
| 135 | - fmt.Println("Number of records updated in database:", num) | ||
| 136 | - } | ||
| 137 | - } | ||
| 138 | - return | ||
| 139 | -} | ||
| 140 | - | ||
| 141 | -// DeleteCfgClient deletes CfgClient by Id and returns error if | ||
| 142 | -// the record to be deleted doesn't exist | ||
| 143 | -func DeleteCfgClient(id int) (err error) { | ||
| 144 | - o := orm.NewOrm() | ||
| 145 | - v := CfgClient{Id: id} | ||
| 146 | - // ascertain id exists in the database | ||
| 147 | - if err = o.Read(&v); err == nil { | ||
| 148 | - var num int64 | ||
| 149 | - if num, err = o.Delete(&CfgClient{Id: id}); err == nil { | ||
| 150 | - fmt.Println("Number of records deleted in database:", num) | ||
| 151 | - } | ||
| 152 | - } | ||
| 153 | - return | ||
| 154 | -} | ||
| 155 | - | ||
| 156 | -func GetCfgClient(clintId, clientSecret string) (v *CfgClient, err error) { | ||
| 157 | - o := orm.NewOrm() | ||
| 158 | - sql := "select * from cfg_client where enabled=1 and client_id=? and client_secret=?" | ||
| 159 | - if err = o.Raw(sql, clintId, clientSecret).QueryRow(&v); err == nil { | ||
| 160 | - return v, nil | ||
| 161 | - } | ||
| 162 | - return nil, err | ||
| 163 | -} |
models/cfg_msg.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - "time" | ||
| 9 | - | ||
| 10 | - "github.com/astaxie/beego/orm" | ||
| 11 | -) | ||
| 12 | - | ||
| 13 | -type CfgMsg struct { | ||
| 14 | - Id int `orm:"column(id);pk" description:"主键ID"` | ||
| 15 | - CreateTime time.Time `orm:"column(createTime);type(timestamp);auto_now_add" description:"创建时间"` | ||
| 16 | - Title string `orm:"column(title);size(100)" description:"消息标题"` | ||
| 17 | - Type int `orm:"column(type)" description:"1为某某某代表解决 2为某某某提出 3为某某某申请解决"` | ||
| 18 | -} | ||
| 19 | - | ||
| 20 | -func (t *CfgMsg) TableName() string { | ||
| 21 | - return "cfg_msg" | ||
| 22 | -} | ||
| 23 | - | ||
| 24 | -func init() { | ||
| 25 | - orm.RegisterModel(new(CfgMsg)) | ||
| 26 | -} | ||
| 27 | - | ||
| 28 | -// AddCfgMsg insert a new CfgMsg into database and returns | ||
| 29 | -// last inserted Id on success. | ||
| 30 | -func AddCfgMsg(m *CfgMsg) (id int64, err error) { | ||
| 31 | - o := orm.NewOrm() | ||
| 32 | - id, err = o.Insert(m) | ||
| 33 | - return | ||
| 34 | -} | ||
| 35 | - | ||
| 36 | -// GetCfgMsgById retrieves CfgMsg by Id. Returns error if | ||
| 37 | -// Id doesn't exist | ||
| 38 | -func GetCfgMsgById(id int) (v *CfgMsg, err error) { | ||
| 39 | - o := orm.NewOrm() | ||
| 40 | - v = &CfgMsg{Id: id} | ||
| 41 | - if err = o.Read(v); err == nil { | ||
| 42 | - return v, nil | ||
| 43 | - } | ||
| 44 | - return nil, err | ||
| 45 | -} | ||
| 46 | - | ||
| 47 | -// GetAllCfgMsg retrieves all CfgMsg matches certain condition. Returns empty list if | ||
| 48 | -// no records exist | ||
| 49 | -func GetAllCfgMsg(query map[string]string, fields []string, sortby []string, order []string, | ||
| 50 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 51 | - o := orm.NewOrm() | ||
| 52 | - qs := o.QueryTable(new(CfgMsg)) | ||
| 53 | - // query k=v | ||
| 54 | - for k, v := range query { | ||
| 55 | - // rewrite dot-notation to Object__Attribute | ||
| 56 | - k = strings.Replace(k, ".", "__", -1) | ||
| 57 | - if strings.Contains(k, "isnull") { | ||
| 58 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 59 | - } else { | ||
| 60 | - qs = qs.Filter(k, v) | ||
| 61 | - } | ||
| 62 | - } | ||
| 63 | - // order by: | ||
| 64 | - var sortFields []string | ||
| 65 | - if len(sortby) != 0 { | ||
| 66 | - if len(sortby) == len(order) { | ||
| 67 | - // 1) for each sort field, there is an associated order | ||
| 68 | - for i, v := range sortby { | ||
| 69 | - orderby := "" | ||
| 70 | - if order[i] == "desc" { | ||
| 71 | - orderby = "-" + v | ||
| 72 | - } else if order[i] == "asc" { | ||
| 73 | - orderby = v | ||
| 74 | - } else { | ||
| 75 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 76 | - } | ||
| 77 | - sortFields = append(sortFields, orderby) | ||
| 78 | - } | ||
| 79 | - qs = qs.OrderBy(sortFields...) | ||
| 80 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 81 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 82 | - for _, v := range sortby { | ||
| 83 | - orderby := "" | ||
| 84 | - if order[0] == "desc" { | ||
| 85 | - orderby = "-" + v | ||
| 86 | - } else if order[0] == "asc" { | ||
| 87 | - orderby = v | ||
| 88 | - } else { | ||
| 89 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 90 | - } | ||
| 91 | - sortFields = append(sortFields, orderby) | ||
| 92 | - } | ||
| 93 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 94 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 95 | - } | ||
| 96 | - } else { | ||
| 97 | - if len(order) != 0 { | ||
| 98 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 99 | - } | ||
| 100 | - } | ||
| 101 | - | ||
| 102 | - var l []CfgMsg | ||
| 103 | - qs = qs.OrderBy(sortFields...) | ||
| 104 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 105 | - if len(fields) == 0 { | ||
| 106 | - for _, v := range l { | ||
| 107 | - ml = append(ml, v) | ||
| 108 | - } | ||
| 109 | - } else { | ||
| 110 | - // trim unused fields | ||
| 111 | - for _, v := range l { | ||
| 112 | - m := make(map[string]interface{}) | ||
| 113 | - val := reflect.ValueOf(v) | ||
| 114 | - for _, fname := range fields { | ||
| 115 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 116 | - } | ||
| 117 | - ml = append(ml, m) | ||
| 118 | - } | ||
| 119 | - } | ||
| 120 | - return ml, nil | ||
| 121 | - } | ||
| 122 | - return nil, err | ||
| 123 | -} | ||
| 124 | - | ||
| 125 | -// UpdateCfgMsg updates CfgMsg by Id and returns error if | ||
| 126 | -// the record to be updated doesn't exist | ||
| 127 | -func UpdateCfgMsgById(m *CfgMsg) (err error) { | ||
| 128 | - o := orm.NewOrm() | ||
| 129 | - v := CfgMsg{Id: m.Id} | ||
| 130 | - // ascertain id exists in the database | ||
| 131 | - if err = o.Read(&v); err == nil { | ||
| 132 | - var num int64 | ||
| 133 | - if num, err = o.Update(m); err == nil { | ||
| 134 | - fmt.Println("Number of records updated in database:", num) | ||
| 135 | - } | ||
| 136 | - } | ||
| 137 | - return | ||
| 138 | -} | ||
| 139 | - | ||
| 140 | -// DeleteCfgMsg deletes CfgMsg by Id and returns error if | ||
| 141 | -// the record to be deleted doesn't exist | ||
| 142 | -func DeleteCfgMsg(id int) (err error) { | ||
| 143 | - o := orm.NewOrm() | ||
| 144 | - v := CfgMsg{Id: id} | ||
| 145 | - // ascertain id exists in the database | ||
| 146 | - if err = o.Read(&v); err == nil { | ||
| 147 | - var num int64 | ||
| 148 | - if num, err = o.Delete(&CfgMsg{Id: id}); err == nil { | ||
| 149 | - fmt.Println("Number of records deleted in database:", num) | ||
| 150 | - } | ||
| 151 | - } | ||
| 152 | - return | ||
| 153 | -} |
models/commend.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - "time" | ||
| 9 | - | ||
| 10 | - "github.com/astaxie/beego/orm" | ||
| 11 | -) | ||
| 12 | - | ||
| 13 | -type Commend struct { | ||
| 14 | - Id int `orm:"column(cid);pk" description:"主键ID"` | ||
| 15 | - Uid int64 `orm:"column(uid)" description:"用户ID"` | ||
| 16 | - Username string `orm:"column(username);size(255)" description:"用户名"` | ||
| 17 | - CreateTime time.Time `orm:"column(createTime);type(timestamp);auto_now_add" description:"创建时间"` | ||
| 18 | - QuestionTitle string `orm:"column(questionTitle);size(100)" description:"标题"` | ||
| 19 | - QuestionId int64 `orm:"column(questionId);null"` | ||
| 20 | - Way int `orm:"column(way)" description:"0提出问题、1参与解决问题"` | ||
| 21 | - Company string `orm:"column(company);size(50)" description:"是否已读 0未读,1已读"` | ||
| 22 | - CompanyId int `orm:"column(company_id)" description:"公司id"` | ||
| 23 | - Status int8 `orm:"column(status)" description:"状态 1可见 2不可见"` | ||
| 24 | - CommendationTime time.Time `orm:"column(commendation_time);type(date)" description:"表彰时间"` | ||
| 25 | -} | ||
| 26 | - | ||
| 27 | -func (t *Commend) TableName() string { | ||
| 28 | - return "commend" | ||
| 29 | -} | ||
| 30 | - | ||
| 31 | -func init() { | ||
| 32 | - orm.RegisterModel(new(Commend)) | ||
| 33 | -} | ||
| 34 | - | ||
| 35 | -// AddCommend insert a new Commend into database and returns | ||
| 36 | -// last inserted Id on success. | ||
| 37 | -func AddCommend(m *Commend) (id int64, err error) { | ||
| 38 | - o := orm.NewOrm() | ||
| 39 | - id, err = o.Insert(m) | ||
| 40 | - return | ||
| 41 | -} | ||
| 42 | - | ||
| 43 | -// GetCommendById retrieves Commend by Id. Returns error if | ||
| 44 | -// Id doesn't exist | ||
| 45 | -func GetCommendById(id int) (v *Commend, err error) { | ||
| 46 | - o := orm.NewOrm() | ||
| 47 | - v = &Commend{Id: id} | ||
| 48 | - if err = o.Read(v); err == nil { | ||
| 49 | - return v, nil | ||
| 50 | - } | ||
| 51 | - return nil, err | ||
| 52 | -} | ||
| 53 | - | ||
| 54 | -// GetAllCommend retrieves all Commend matches certain condition. Returns empty list if | ||
| 55 | -// no records exist | ||
| 56 | -func GetAllCommend(query map[string]string, fields []string, sortby []string, order []string, | ||
| 57 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 58 | - o := orm.NewOrm() | ||
| 59 | - qs := o.QueryTable(new(Commend)) | ||
| 60 | - // query k=v | ||
| 61 | - for k, v := range query { | ||
| 62 | - // rewrite dot-notation to Object__Attribute | ||
| 63 | - k = strings.Replace(k, ".", "__", -1) | ||
| 64 | - if strings.Contains(k, "isnull") { | ||
| 65 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 66 | - } else { | ||
| 67 | - qs = qs.Filter(k, v) | ||
| 68 | - } | ||
| 69 | - } | ||
| 70 | - // order by: | ||
| 71 | - var sortFields []string | ||
| 72 | - if len(sortby) != 0 { | ||
| 73 | - if len(sortby) == len(order) { | ||
| 74 | - // 1) for each sort field, there is an associated order | ||
| 75 | - for i, v := range sortby { | ||
| 76 | - orderby := "" | ||
| 77 | - if order[i] == "desc" { | ||
| 78 | - orderby = "-" + v | ||
| 79 | - } else if order[i] == "asc" { | ||
| 80 | - orderby = v | ||
| 81 | - } else { | ||
| 82 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 83 | - } | ||
| 84 | - sortFields = append(sortFields, orderby) | ||
| 85 | - } | ||
| 86 | - qs = qs.OrderBy(sortFields...) | ||
| 87 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 88 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 89 | - for _, v := range sortby { | ||
| 90 | - orderby := "" | ||
| 91 | - if order[0] == "desc" { | ||
| 92 | - orderby = "-" + v | ||
| 93 | - } else if order[0] == "asc" { | ||
| 94 | - orderby = v | ||
| 95 | - } else { | ||
| 96 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 97 | - } | ||
| 98 | - sortFields = append(sortFields, orderby) | ||
| 99 | - } | ||
| 100 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 101 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 102 | - } | ||
| 103 | - } else { | ||
| 104 | - if len(order) != 0 { | ||
| 105 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 106 | - } | ||
| 107 | - } | ||
| 108 | - | ||
| 109 | - var l []Commend | ||
| 110 | - qs = qs.OrderBy(sortFields...) | ||
| 111 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 112 | - if len(fields) == 0 { | ||
| 113 | - for _, v := range l { | ||
| 114 | - ml = append(ml, v) | ||
| 115 | - } | ||
| 116 | - } else { | ||
| 117 | - // trim unused fields | ||
| 118 | - for _, v := range l { | ||
| 119 | - m := make(map[string]interface{}) | ||
| 120 | - val := reflect.ValueOf(v) | ||
| 121 | - for _, fname := range fields { | ||
| 122 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 123 | - } | ||
| 124 | - ml = append(ml, m) | ||
| 125 | - } | ||
| 126 | - } | ||
| 127 | - return ml, nil | ||
| 128 | - } | ||
| 129 | - return nil, err | ||
| 130 | -} | ||
| 131 | - | ||
| 132 | -// UpdateCommend updates Commend by Id and returns error if | ||
| 133 | -// the record to be updated doesn't exist | ||
| 134 | -func UpdateCommendById(m *Commend) (err error) { | ||
| 135 | - o := orm.NewOrm() | ||
| 136 | - v := Commend{Id: m.Id} | ||
| 137 | - // ascertain id exists in the database | ||
| 138 | - if err = o.Read(&v); err == nil { | ||
| 139 | - var num int64 | ||
| 140 | - if num, err = o.Update(m); err == nil { | ||
| 141 | - fmt.Println("Number of records updated in database:", num) | ||
| 142 | - } | ||
| 143 | - } | ||
| 144 | - return | ||
| 145 | -} | ||
| 146 | - | ||
| 147 | -// DeleteCommend deletes Commend by Id and returns error if | ||
| 148 | -// the record to be deleted doesn't exist | ||
| 149 | -func DeleteCommend(id int) (err error) { | ||
| 150 | - o := orm.NewOrm() | ||
| 151 | - v := Commend{Id: id} | ||
| 152 | - // ascertain id exists in the database | ||
| 153 | - if err = o.Read(&v); err == nil { | ||
| 154 | - var num int64 | ||
| 155 | - if num, err = o.Delete(&Commend{Id: id}); err == nil { | ||
| 156 | - fmt.Println("Number of records deleted in database:", num) | ||
| 157 | - } | ||
| 158 | - } | ||
| 159 | - return | ||
| 160 | -} |
models/comment.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - "time" | ||
| 9 | - | ||
| 10 | - "github.com/astaxie/beego/orm" | ||
| 11 | -) | ||
| 12 | - | ||
| 13 | -type Comment struct { | ||
| 14 | - Id int `orm:"column(cid);pk"` | ||
| 15 | - Uid int64 `orm:"column(uid);null"` | ||
| 16 | - CreateTime time.Time `orm:"column(createTime);type(timestamp);auto_now_add"` | ||
| 17 | - Content string `orm:"column(content)"` | ||
| 18 | - PageView int `orm:"column(pageView);null" description:"浏览总数"` | ||
| 19 | - CommentTotal int `orm:"column(commentTotal);null" description:"评论总数"` | ||
| 20 | - SympathyTotal int `orm:"column(sympathyTotal)" description:"同感总数"` | ||
| 21 | - Type int `orm:"column(type);null" description:"0问题、1评论、2方案"` | ||
| 22 | - Id_RENAME int64 `orm:"column(id);null" description:"对应的ID"` | ||
| 23 | -} | ||
| 24 | - | ||
| 25 | -func (t *Comment) TableName() string { | ||
| 26 | - return "comment" | ||
| 27 | -} | ||
| 28 | - | ||
| 29 | -func init() { | ||
| 30 | - orm.RegisterModel(new(Comment)) | ||
| 31 | -} | ||
| 32 | - | ||
| 33 | -// AddComment insert a new Comment into database and returns | ||
| 34 | -// last inserted Id on success. | ||
| 35 | -func AddComment(m *Comment) (id int64, err error) { | ||
| 36 | - o := orm.NewOrm() | ||
| 37 | - id, err = o.Insert(m) | ||
| 38 | - return | ||
| 39 | -} | ||
| 40 | - | ||
| 41 | -// GetCommentById retrieves Comment by Id. Returns error if | ||
| 42 | -// Id doesn't exist | ||
| 43 | -func GetCommentById(id int) (v *Comment, err error) { | ||
| 44 | - o := orm.NewOrm() | ||
| 45 | - v = &Comment{Id: id} | ||
| 46 | - if err = o.Read(v); err == nil { | ||
| 47 | - return v, nil | ||
| 48 | - } | ||
| 49 | - return nil, err | ||
| 50 | -} | ||
| 51 | - | ||
| 52 | -// GetAllComment retrieves all Comment matches certain condition. Returns empty list if | ||
| 53 | -// no records exist | ||
| 54 | -func GetAllComment(query map[string]string, fields []string, sortby []string, order []string, | ||
| 55 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 56 | - o := orm.NewOrm() | ||
| 57 | - qs := o.QueryTable(new(Comment)) | ||
| 58 | - // query k=v | ||
| 59 | - for k, v := range query { | ||
| 60 | - // rewrite dot-notation to Object__Attribute | ||
| 61 | - k = strings.Replace(k, ".", "__", -1) | ||
| 62 | - if strings.Contains(k, "isnull") { | ||
| 63 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 64 | - } else { | ||
| 65 | - qs = qs.Filter(k, v) | ||
| 66 | - } | ||
| 67 | - } | ||
| 68 | - // order by: | ||
| 69 | - var sortFields []string | ||
| 70 | - if len(sortby) != 0 { | ||
| 71 | - if len(sortby) == len(order) { | ||
| 72 | - // 1) for each sort field, there is an associated order | ||
| 73 | - for i, v := range sortby { | ||
| 74 | - orderby := "" | ||
| 75 | - if order[i] == "desc" { | ||
| 76 | - orderby = "-" + v | ||
| 77 | - } else if order[i] == "asc" { | ||
| 78 | - orderby = v | ||
| 79 | - } else { | ||
| 80 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 81 | - } | ||
| 82 | - sortFields = append(sortFields, orderby) | ||
| 83 | - } | ||
| 84 | - qs = qs.OrderBy(sortFields...) | ||
| 85 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 86 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 87 | - for _, v := range sortby { | ||
| 88 | - orderby := "" | ||
| 89 | - if order[0] == "desc" { | ||
| 90 | - orderby = "-" + v | ||
| 91 | - } else if order[0] == "asc" { | ||
| 92 | - orderby = v | ||
| 93 | - } else { | ||
| 94 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 95 | - } | ||
| 96 | - sortFields = append(sortFields, orderby) | ||
| 97 | - } | ||
| 98 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 99 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 100 | - } | ||
| 101 | - } else { | ||
| 102 | - if len(order) != 0 { | ||
| 103 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 104 | - } | ||
| 105 | - } | ||
| 106 | - | ||
| 107 | - var l []Comment | ||
| 108 | - qs = qs.OrderBy(sortFields...) | ||
| 109 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 110 | - if len(fields) == 0 { | ||
| 111 | - for _, v := range l { | ||
| 112 | - ml = append(ml, v) | ||
| 113 | - } | ||
| 114 | - } else { | ||
| 115 | - // trim unused fields | ||
| 116 | - for _, v := range l { | ||
| 117 | - m := make(map[string]interface{}) | ||
| 118 | - val := reflect.ValueOf(v) | ||
| 119 | - for _, fname := range fields { | ||
| 120 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 121 | - } | ||
| 122 | - ml = append(ml, m) | ||
| 123 | - } | ||
| 124 | - } | ||
| 125 | - return ml, nil | ||
| 126 | - } | ||
| 127 | - return nil, err | ||
| 128 | -} | ||
| 129 | - | ||
| 130 | -// UpdateComment updates Comment by Id and returns error if | ||
| 131 | -// the record to be updated doesn't exist | ||
| 132 | -func UpdateCommentById(m *Comment) (err error) { | ||
| 133 | - o := orm.NewOrm() | ||
| 134 | - v := Comment{Id: m.Id} | ||
| 135 | - // ascertain id exists in the database | ||
| 136 | - if err = o.Read(&v); err == nil { | ||
| 137 | - var num int64 | ||
| 138 | - if num, err = o.Update(m); err == nil { | ||
| 139 | - fmt.Println("Number of records updated in database:", num) | ||
| 140 | - } | ||
| 141 | - } | ||
| 142 | - return | ||
| 143 | -} | ||
| 144 | - | ||
| 145 | -// DeleteComment deletes Comment by Id and returns error if | ||
| 146 | -// the record to be deleted doesn't exist | ||
| 147 | -func DeleteComment(id int) (err error) { | ||
| 148 | - o := orm.NewOrm() | ||
| 149 | - v := Comment{Id: id} | ||
| 150 | - // ascertain id exists in the database | ||
| 151 | - if err = o.Read(&v); err == nil { | ||
| 152 | - var num int64 | ||
| 153 | - if num, err = o.Delete(&Comment{Id: id}); err == nil { | ||
| 154 | - fmt.Println("Number of records deleted in database:", num) | ||
| 155 | - } | ||
| 156 | - } | ||
| 157 | - return | ||
| 158 | -} |
models/companies.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - "time" | ||
| 9 | - | ||
| 10 | - "github.com/astaxie/beego/orm" | ||
| 11 | -) | ||
| 12 | - | ||
| 13 | -type Companies struct { | ||
| 14 | - Id int `orm:"column(id);auto"` | ||
| 15 | - Name string `orm:"column(name);size(255)"` | ||
| 16 | - Username string `orm:"column(username);size(255)"` | ||
| 17 | - Phone string `orm:"column(phone);size(255)"` | ||
| 18 | - Status uint8 `orm:"column(status)" description:"状态 1启用 2禁用"` | ||
| 19 | - CreateTime time.Time `orm:"column(create_time);type(timestamp);auto_now"` | ||
| 20 | -} | ||
| 21 | - | ||
| 22 | -func (t *Companies) TableName() string { | ||
| 23 | - return "companies" | ||
| 24 | -} | ||
| 25 | - | ||
| 26 | -func init() { | ||
| 27 | - orm.RegisterModel(new(Companies)) | ||
| 28 | -} | ||
| 29 | - | ||
| 30 | -// AddCompanies insert a new Companies into database and returns | ||
| 31 | -// last inserted Id on success. | ||
| 32 | -func AddCompanies(m *Companies) (id int64, err error) { | ||
| 33 | - o := orm.NewOrm() | ||
| 34 | - id, err = o.Insert(m) | ||
| 35 | - return | ||
| 36 | -} | ||
| 37 | - | ||
| 38 | -// GetCompaniesById retrieves Companies by Id. Returns error if | ||
| 39 | -// Id doesn't exist | ||
| 40 | -func GetCompaniesById(id int) (v *Companies, err error) { | ||
| 41 | - o := orm.NewOrm() | ||
| 42 | - v = &Companies{Id: id} | ||
| 43 | - if err = o.Read(v); err == nil { | ||
| 44 | - return v, nil | ||
| 45 | - } | ||
| 46 | - return nil, err | ||
| 47 | -} | ||
| 48 | - | ||
| 49 | -// GetAllCompanies retrieves all Companies matches certain condition. Returns empty list if | ||
| 50 | -// no records exist | ||
| 51 | -func GetAllCompanies(query map[string]string, fields []string, sortby []string, order []string, | ||
| 52 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 53 | - o := orm.NewOrm() | ||
| 54 | - qs := o.QueryTable(new(Companies)) | ||
| 55 | - // query k=v | ||
| 56 | - for k, v := range query { | ||
| 57 | - // rewrite dot-notation to Object__Attribute | ||
| 58 | - k = strings.Replace(k, ".", "__", -1) | ||
| 59 | - if strings.Contains(k, "isnull") { | ||
| 60 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 61 | - } else { | ||
| 62 | - qs = qs.Filter(k, v) | ||
| 63 | - } | ||
| 64 | - } | ||
| 65 | - // order by: | ||
| 66 | - var sortFields []string | ||
| 67 | - if len(sortby) != 0 { | ||
| 68 | - if len(sortby) == len(order) { | ||
| 69 | - // 1) for each sort field, there is an associated order | ||
| 70 | - for i, v := range sortby { | ||
| 71 | - orderby := "" | ||
| 72 | - if order[i] == "desc" { | ||
| 73 | - orderby = "-" + v | ||
| 74 | - } else if order[i] == "asc" { | ||
| 75 | - orderby = v | ||
| 76 | - } else { | ||
| 77 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 78 | - } | ||
| 79 | - sortFields = append(sortFields, orderby) | ||
| 80 | - } | ||
| 81 | - qs = qs.OrderBy(sortFields...) | ||
| 82 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 83 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 84 | - for _, v := range sortby { | ||
| 85 | - orderby := "" | ||
| 86 | - if order[0] == "desc" { | ||
| 87 | - orderby = "-" + v | ||
| 88 | - } else if order[0] == "asc" { | ||
| 89 | - orderby = v | ||
| 90 | - } else { | ||
| 91 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 92 | - } | ||
| 93 | - sortFields = append(sortFields, orderby) | ||
| 94 | - } | ||
| 95 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 96 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 97 | - } | ||
| 98 | - } else { | ||
| 99 | - if len(order) != 0 { | ||
| 100 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 101 | - } | ||
| 102 | - } | ||
| 103 | - | ||
| 104 | - var l []Companies | ||
| 105 | - qs = qs.OrderBy(sortFields...) | ||
| 106 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 107 | - if len(fields) == 0 { | ||
| 108 | - for _, v := range l { | ||
| 109 | - ml = append(ml, v) | ||
| 110 | - } | ||
| 111 | - } else { | ||
| 112 | - // trim unused fields | ||
| 113 | - for _, v := range l { | ||
| 114 | - m := make(map[string]interface{}) | ||
| 115 | - val := reflect.ValueOf(v) | ||
| 116 | - for _, fname := range fields { | ||
| 117 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 118 | - } | ||
| 119 | - ml = append(ml, m) | ||
| 120 | - } | ||
| 121 | - } | ||
| 122 | - return ml, nil | ||
| 123 | - } | ||
| 124 | - return nil, err | ||
| 125 | -} | ||
| 126 | - | ||
| 127 | -// UpdateCompanies updates Companies by Id and returns error if | ||
| 128 | -// the record to be updated doesn't exist | ||
| 129 | -func UpdateCompaniesById(m *Companies) (err error) { | ||
| 130 | - o := orm.NewOrm() | ||
| 131 | - v := Companies{Id: m.Id} | ||
| 132 | - // ascertain id exists in the database | ||
| 133 | - if err = o.Read(&v); err == nil { | ||
| 134 | - var num int64 | ||
| 135 | - if num, err = o.Update(m); err == nil { | ||
| 136 | - fmt.Println("Number of records updated in database:", num) | ||
| 137 | - } | ||
| 138 | - } | ||
| 139 | - return | ||
| 140 | -} | ||
| 141 | - | ||
| 142 | -// DeleteCompanies deletes Companies by Id and returns error if | ||
| 143 | -// the record to be deleted doesn't exist | ||
| 144 | -func DeleteCompanies(id int) (err error) { | ||
| 145 | - o := orm.NewOrm() | ||
| 146 | - v := Companies{Id: id} | ||
| 147 | - // ascertain id exists in the database | ||
| 148 | - if err = o.Read(&v); err == nil { | ||
| 149 | - var num int64 | ||
| 150 | - if num, err = o.Delete(&Companies{Id: id}); err == nil { | ||
| 151 | - fmt.Println("Number of records deleted in database:", num) | ||
| 152 | - } | ||
| 153 | - } | ||
| 154 | - return | ||
| 155 | -} |
models/departments.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - "time" | ||
| 9 | - | ||
| 10 | - "github.com/astaxie/beego/orm" | ||
| 11 | -) | ||
| 12 | - | ||
| 13 | -type Departments struct { | ||
| 14 | - Id int `orm:"column(id);auto"` | ||
| 15 | - CompanyId int `orm:"column(company_id)"` | ||
| 16 | - Name string `orm:"column(name);size(255)"` | ||
| 17 | - Username string `orm:"column(username);size(255)"` | ||
| 18 | - Number int `orm:"column(number)"` | ||
| 19 | - CreateTime time.Time `orm:"column(create_time);type(timestamp);auto_now"` | ||
| 20 | - Enabled uint8 `orm:"column(enabled)" description:"状态 1启用 0禁用"` | ||
| 21 | -} | ||
| 22 | - | ||
| 23 | -func (t *Departments) TableName() string { | ||
| 24 | - return "departments" | ||
| 25 | -} | ||
| 26 | - | ||
| 27 | -func init() { | ||
| 28 | - orm.RegisterModel(new(Departments)) | ||
| 29 | -} | ||
| 30 | - | ||
| 31 | -// AddDepartments insert a new Departments into database and returns | ||
| 32 | -// last inserted Id on success. | ||
| 33 | -func AddDepartments(m *Departments) (id int64, err error) { | ||
| 34 | - o := orm.NewOrm() | ||
| 35 | - id, err = o.Insert(m) | ||
| 36 | - return | ||
| 37 | -} | ||
| 38 | - | ||
| 39 | -// GetDepartmentsById retrieves Departments by Id. Returns error if | ||
| 40 | -// Id doesn't exist | ||
| 41 | -func GetDepartmentsById(id int) (v *Departments, err error) { | ||
| 42 | - o := orm.NewOrm() | ||
| 43 | - v = &Departments{Id: id} | ||
| 44 | - if err = o.Read(v); err == nil { | ||
| 45 | - return v, nil | ||
| 46 | - } | ||
| 47 | - return nil, err | ||
| 48 | -} | ||
| 49 | - | ||
| 50 | -// GetAllDepartments retrieves all Departments matches certain condition. Returns empty list if | ||
| 51 | -// no records exist | ||
| 52 | -func GetAllDepartments(query map[string]string, fields []string, sortby []string, order []string, | ||
| 53 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 54 | - o := orm.NewOrm() | ||
| 55 | - qs := o.QueryTable(new(Departments)) | ||
| 56 | - // query k=v | ||
| 57 | - for k, v := range query { | ||
| 58 | - // rewrite dot-notation to Object__Attribute | ||
| 59 | - k = strings.Replace(k, ".", "__", -1) | ||
| 60 | - if strings.Contains(k, "isnull") { | ||
| 61 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 62 | - } else { | ||
| 63 | - qs = qs.Filter(k, v) | ||
| 64 | - } | ||
| 65 | - } | ||
| 66 | - // order by: | ||
| 67 | - var sortFields []string | ||
| 68 | - if len(sortby) != 0 { | ||
| 69 | - if len(sortby) == len(order) { | ||
| 70 | - // 1) for each sort field, there is an associated order | ||
| 71 | - for i, v := range sortby { | ||
| 72 | - orderby := "" | ||
| 73 | - if order[i] == "desc" { | ||
| 74 | - orderby = "-" + v | ||
| 75 | - } else if order[i] == "asc" { | ||
| 76 | - orderby = v | ||
| 77 | - } else { | ||
| 78 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 79 | - } | ||
| 80 | - sortFields = append(sortFields, orderby) | ||
| 81 | - } | ||
| 82 | - qs = qs.OrderBy(sortFields...) | ||
| 83 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 84 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 85 | - for _, v := range sortby { | ||
| 86 | - orderby := "" | ||
| 87 | - if order[0] == "desc" { | ||
| 88 | - orderby = "-" + v | ||
| 89 | - } else if order[0] == "asc" { | ||
| 90 | - orderby = v | ||
| 91 | - } else { | ||
| 92 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 93 | - } | ||
| 94 | - sortFields = append(sortFields, orderby) | ||
| 95 | - } | ||
| 96 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 97 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 98 | - } | ||
| 99 | - } else { | ||
| 100 | - if len(order) != 0 { | ||
| 101 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 102 | - } | ||
| 103 | - } | ||
| 104 | - | ||
| 105 | - var l []Departments | ||
| 106 | - qs = qs.OrderBy(sortFields...) | ||
| 107 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 108 | - if len(fields) == 0 { | ||
| 109 | - for _, v := range l { | ||
| 110 | - ml = append(ml, v) | ||
| 111 | - } | ||
| 112 | - } else { | ||
| 113 | - // trim unused fields | ||
| 114 | - for _, v := range l { | ||
| 115 | - m := make(map[string]interface{}) | ||
| 116 | - val := reflect.ValueOf(v) | ||
| 117 | - for _, fname := range fields { | ||
| 118 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 119 | - } | ||
| 120 | - ml = append(ml, m) | ||
| 121 | - } | ||
| 122 | - } | ||
| 123 | - return ml, nil | ||
| 124 | - } | ||
| 125 | - return nil, err | ||
| 126 | -} | ||
| 127 | - | ||
| 128 | -// UpdateDepartments updates Departments by Id and returns error if | ||
| 129 | -// the record to be updated doesn't exist | ||
| 130 | -func UpdateDepartmentsById(m *Departments) (err error) { | ||
| 131 | - o := orm.NewOrm() | ||
| 132 | - v := Departments{Id: m.Id} | ||
| 133 | - // ascertain id exists in the database | ||
| 134 | - if err = o.Read(&v); err == nil { | ||
| 135 | - var num int64 | ||
| 136 | - if num, err = o.Update(m); err == nil { | ||
| 137 | - fmt.Println("Number of records updated in database:", num) | ||
| 138 | - } | ||
| 139 | - } | ||
| 140 | - return | ||
| 141 | -} | ||
| 142 | - | ||
| 143 | -// DeleteDepartments deletes Departments by Id and returns error if | ||
| 144 | -// the record to be deleted doesn't exist | ||
| 145 | -func DeleteDepartments(id int) (err error) { | ||
| 146 | - o := orm.NewOrm() | ||
| 147 | - v := Departments{Id: id} | ||
| 148 | - // ascertain id exists in the database | ||
| 149 | - if err = o.Read(&v); err == nil { | ||
| 150 | - var num int64 | ||
| 151 | - if num, err = o.Delete(&Departments{Id: id}); err == nil { | ||
| 152 | - fmt.Println("Number of records deleted in database:", num) | ||
| 153 | - } | ||
| 154 | - } | ||
| 155 | - return | ||
| 156 | -} |
models/log_uuid.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - | ||
| 9 | - "github.com/astaxie/beego/orm" | ||
| 10 | -) | ||
| 11 | - | ||
| 12 | -type LogUuid struct { | ||
| 13 | - Id int64 `orm:"column(id);auto" description:"主键ID"` | ||
| 14 | - Uuid string `orm:"column(uuid);size(128)"` | ||
| 15 | -} | ||
| 16 | - | ||
| 17 | -func (t *LogUuid) TableName() string { | ||
| 18 | - return "log_uuid" | ||
| 19 | -} | ||
| 20 | - | ||
| 21 | -func init() { | ||
| 22 | - orm.RegisterModel(new(LogUuid)) | ||
| 23 | -} | ||
| 24 | - | ||
| 25 | -// AddLogUuid insert a new LogUuid into database and returns | ||
| 26 | -// last inserted Id on success. | ||
| 27 | -func AddLogUuid(m *LogUuid) (id int64, err error) { | ||
| 28 | - o := orm.NewOrm() | ||
| 29 | - id, err = o.Insert(m) | ||
| 30 | - return | ||
| 31 | -} | ||
| 32 | - | ||
| 33 | -// GetLogUuidById retrieves LogUuid by Id. Returns error if | ||
| 34 | -// Id doesn't exist | ||
| 35 | -func GetLogUuidById(id int64) (v *LogUuid, err error) { | ||
| 36 | - o := orm.NewOrm() | ||
| 37 | - v = &LogUuid{Id: id} | ||
| 38 | - if err = o.Read(v); err == nil { | ||
| 39 | - return v, nil | ||
| 40 | - } | ||
| 41 | - return nil, err | ||
| 42 | -} | ||
| 43 | - | ||
| 44 | -// GetAllLogUuid retrieves all LogUuid matches certain condition. Returns empty list if | ||
| 45 | -// no records exist | ||
| 46 | -func GetAllLogUuid(query map[string]string, fields []string, sortby []string, order []string, | ||
| 47 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 48 | - o := orm.NewOrm() | ||
| 49 | - qs := o.QueryTable(new(LogUuid)) | ||
| 50 | - // query k=v | ||
| 51 | - for k, v := range query { | ||
| 52 | - // rewrite dot-notation to Object__Attribute | ||
| 53 | - k = strings.Replace(k, ".", "__", -1) | ||
| 54 | - if strings.Contains(k, "isnull") { | ||
| 55 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 56 | - } else { | ||
| 57 | - qs = qs.Filter(k, v) | ||
| 58 | - } | ||
| 59 | - } | ||
| 60 | - // order by: | ||
| 61 | - var sortFields []string | ||
| 62 | - if len(sortby) != 0 { | ||
| 63 | - if len(sortby) == len(order) { | ||
| 64 | - // 1) for each sort field, there is an associated order | ||
| 65 | - for i, v := range sortby { | ||
| 66 | - orderby := "" | ||
| 67 | - if order[i] == "desc" { | ||
| 68 | - orderby = "-" + v | ||
| 69 | - } else if order[i] == "asc" { | ||
| 70 | - orderby = v | ||
| 71 | - } else { | ||
| 72 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 73 | - } | ||
| 74 | - sortFields = append(sortFields, orderby) | ||
| 75 | - } | ||
| 76 | - qs = qs.OrderBy(sortFields...) | ||
| 77 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 78 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 79 | - for _, v := range sortby { | ||
| 80 | - orderby := "" | ||
| 81 | - if order[0] == "desc" { | ||
| 82 | - orderby = "-" + v | ||
| 83 | - } else if order[0] == "asc" { | ||
| 84 | - orderby = v | ||
| 85 | - } else { | ||
| 86 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 87 | - } | ||
| 88 | - sortFields = append(sortFields, orderby) | ||
| 89 | - } | ||
| 90 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 91 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 92 | - } | ||
| 93 | - } else { | ||
| 94 | - if len(order) != 0 { | ||
| 95 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 96 | - } | ||
| 97 | - } | ||
| 98 | - | ||
| 99 | - var l []LogUuid | ||
| 100 | - qs = qs.OrderBy(sortFields...) | ||
| 101 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 102 | - if len(fields) == 0 { | ||
| 103 | - for _, v := range l { | ||
| 104 | - ml = append(ml, v) | ||
| 105 | - } | ||
| 106 | - } else { | ||
| 107 | - // trim unused fields | ||
| 108 | - for _, v := range l { | ||
| 109 | - m := make(map[string]interface{}) | ||
| 110 | - val := reflect.ValueOf(v) | ||
| 111 | - for _, fname := range fields { | ||
| 112 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 113 | - } | ||
| 114 | - ml = append(ml, m) | ||
| 115 | - } | ||
| 116 | - } | ||
| 117 | - return ml, nil | ||
| 118 | - } | ||
| 119 | - return nil, err | ||
| 120 | -} | ||
| 121 | - | ||
| 122 | -// UpdateLogUuid updates LogUuid by Id and returns error if | ||
| 123 | -// the record to be updated doesn't exist | ||
| 124 | -func UpdateLogUuidById(m *LogUuid) (err error) { | ||
| 125 | - o := orm.NewOrm() | ||
| 126 | - v := LogUuid{Id: m.Id} | ||
| 127 | - // ascertain id exists in the database | ||
| 128 | - if err = o.Read(&v); err == nil { | ||
| 129 | - var num int64 | ||
| 130 | - if num, err = o.Update(m); err == nil { | ||
| 131 | - fmt.Println("Number of records updated in database:", num) | ||
| 132 | - } | ||
| 133 | - } | ||
| 134 | - return | ||
| 135 | -} | ||
| 136 | - | ||
| 137 | -// DeleteLogUuid deletes LogUuid by Id and returns error if | ||
| 138 | -// the record to be deleted doesn't exist | ||
| 139 | -func DeleteLogUuid(id int64) (err error) { | ||
| 140 | - o := orm.NewOrm() | ||
| 141 | - v := LogUuid{Id: id} | ||
| 142 | - // ascertain id exists in the database | ||
| 143 | - if err = o.Read(&v); err == nil { | ||
| 144 | - var num int64 | ||
| 145 | - if num, err = o.Delete(&LogUuid{Id: id}); err == nil { | ||
| 146 | - fmt.Println("Number of records deleted in database:", num) | ||
| 147 | - } | ||
| 148 | - } | ||
| 149 | - return | ||
| 150 | -} | ||
| 151 | - | ||
| 152 | -func GetLogUuidByUuid(uuid string) (v *LogUuid, err error) { | ||
| 153 | - o := orm.NewOrm() | ||
| 154 | - sql := "select * from log_uuid where uuid=?" | ||
| 155 | - if err = o.Raw(sql, uuid).QueryRow(&v); err == nil { | ||
| 156 | - return v, nil | ||
| 157 | - } | ||
| 158 | - return nil, err | ||
| 159 | -} |
models/logic.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - | ||
| 9 | - "github.com/astaxie/beego/orm" | ||
| 10 | -) | ||
| 11 | - | ||
| 12 | -type Logic struct { | ||
| 13 | - Id int `orm:"column(id);auto"` | ||
| 14 | - Data string `orm:"column(data);null"` | ||
| 15 | - Db string `orm:"column(db);size(50);null"` | ||
| 16 | - Datatype string `orm:"column(datatype);size(50);null"` | ||
| 17 | - Type string `orm:"column(type);size(100);null"` | ||
| 18 | - Defaultparam string `orm:"column(defaultparam);size(200);null"` | ||
| 19 | -} | ||
| 20 | - | ||
| 21 | -func (t *Logic) TableName() string { | ||
| 22 | - return "logic" | ||
| 23 | -} | ||
| 24 | - | ||
| 25 | -func init() { | ||
| 26 | - orm.RegisterModel(new(Logic)) | ||
| 27 | -} | ||
| 28 | - | ||
| 29 | -// AddLogic insert a new Logic into database and returns | ||
| 30 | -// last inserted Id on success. | ||
| 31 | -func AddLogic(m *Logic) (id int64, err error) { | ||
| 32 | - o := orm.NewOrm() | ||
| 33 | - id, err = o.Insert(m) | ||
| 34 | - return | ||
| 35 | -} | ||
| 36 | - | ||
| 37 | -// GetLogicById retrieves Logic by Id. Returns error if | ||
| 38 | -// Id doesn't exist | ||
| 39 | -func GetLogicById(id int) (v *Logic, err error) { | ||
| 40 | - o := orm.NewOrm() | ||
| 41 | - v = &Logic{Id: id} | ||
| 42 | - if err = o.Read(v); err == nil { | ||
| 43 | - return v, nil | ||
| 44 | - } | ||
| 45 | - return nil, err | ||
| 46 | -} | ||
| 47 | - | ||
| 48 | -// GetAllLogic retrieves all Logic matches certain condition. Returns empty list if | ||
| 49 | -// no records exist | ||
| 50 | -func GetAllLogic(query map[string]string, fields []string, sortby []string, order []string, | ||
| 51 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 52 | - o := orm.NewOrm() | ||
| 53 | - qs := o.QueryTable(new(Logic)) | ||
| 54 | - // query k=v | ||
| 55 | - for k, v := range query { | ||
| 56 | - // rewrite dot-notation to Object__Attribute | ||
| 57 | - k = strings.Replace(k, ".", "__", -1) | ||
| 58 | - if strings.Contains(k, "isnull") { | ||
| 59 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 60 | - } else { | ||
| 61 | - qs = qs.Filter(k, v) | ||
| 62 | - } | ||
| 63 | - } | ||
| 64 | - // order by: | ||
| 65 | - var sortFields []string | ||
| 66 | - if len(sortby) != 0 { | ||
| 67 | - if len(sortby) == len(order) { | ||
| 68 | - // 1) for each sort field, there is an associated order | ||
| 69 | - for i, v := range sortby { | ||
| 70 | - orderby := "" | ||
| 71 | - if order[i] == "desc" { | ||
| 72 | - orderby = "-" + v | ||
| 73 | - } else if order[i] == "asc" { | ||
| 74 | - orderby = v | ||
| 75 | - } else { | ||
| 76 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 77 | - } | ||
| 78 | - sortFields = append(sortFields, orderby) | ||
| 79 | - } | ||
| 80 | - qs = qs.OrderBy(sortFields...) | ||
| 81 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 82 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 83 | - for _, v := range sortby { | ||
| 84 | - orderby := "" | ||
| 85 | - if order[0] == "desc" { | ||
| 86 | - orderby = "-" + v | ||
| 87 | - } else if order[0] == "asc" { | ||
| 88 | - orderby = v | ||
| 89 | - } else { | ||
| 90 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 91 | - } | ||
| 92 | - sortFields = append(sortFields, orderby) | ||
| 93 | - } | ||
| 94 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 95 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 96 | - } | ||
| 97 | - } else { | ||
| 98 | - if len(order) != 0 { | ||
| 99 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 100 | - } | ||
| 101 | - } | ||
| 102 | - | ||
| 103 | - var l []Logic | ||
| 104 | - qs = qs.OrderBy(sortFields...) | ||
| 105 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 106 | - if len(fields) == 0 { | ||
| 107 | - for _, v := range l { | ||
| 108 | - ml = append(ml, v) | ||
| 109 | - } | ||
| 110 | - } else { | ||
| 111 | - // trim unused fields | ||
| 112 | - for _, v := range l { | ||
| 113 | - m := make(map[string]interface{}) | ||
| 114 | - val := reflect.ValueOf(v) | ||
| 115 | - for _, fname := range fields { | ||
| 116 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 117 | - } | ||
| 118 | - ml = append(ml, m) | ||
| 119 | - } | ||
| 120 | - } | ||
| 121 | - return ml, nil | ||
| 122 | - } | ||
| 123 | - return nil, err | ||
| 124 | -} | ||
| 125 | - | ||
| 126 | -// UpdateLogic updates Logic by Id and returns error if | ||
| 127 | -// the record to be updated doesn't exist | ||
| 128 | -func UpdateLogicById(m *Logic) (err error) { | ||
| 129 | - o := orm.NewOrm() | ||
| 130 | - v := Logic{Id: m.Id} | ||
| 131 | - // ascertain id exists in the database | ||
| 132 | - if err = o.Read(&v); err == nil { | ||
| 133 | - var num int64 | ||
| 134 | - if num, err = o.Update(m); err == nil { | ||
| 135 | - fmt.Println("Number of records updated in database:", num) | ||
| 136 | - } | ||
| 137 | - } | ||
| 138 | - return | ||
| 139 | -} | ||
| 140 | - | ||
| 141 | -// DeleteLogic deletes Logic by Id and returns error if | ||
| 142 | -// the record to be deleted doesn't exist | ||
| 143 | -func DeleteLogic(id int) (err error) { | ||
| 144 | - o := orm.NewOrm() | ||
| 145 | - v := Logic{Id: id} | ||
| 146 | - // ascertain id exists in the database | ||
| 147 | - if err = o.Read(&v); err == nil { | ||
| 148 | - var num int64 | ||
| 149 | - if num, err = o.Delete(&Logic{Id: id}); err == nil { | ||
| 150 | - fmt.Println("Number of records deleted in database:", num) | ||
| 151 | - } | ||
| 152 | - } | ||
| 153 | - return | ||
| 154 | -} |
models/permissions.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - | ||
| 9 | - "github.com/astaxie/beego/orm" | ||
| 10 | -) | ||
| 11 | - | ||
| 12 | -type Permissions struct { | ||
| 13 | - Id int `orm:"column(id);auto"` | ||
| 14 | - Name string `orm:"column(name);size(255)"` | ||
| 15 | - Value int8 `orm:"column(value)"` | ||
| 16 | -} | ||
| 17 | - | ||
| 18 | -func (t *Permissions) TableName() string { | ||
| 19 | - return "permissions" | ||
| 20 | -} | ||
| 21 | - | ||
| 22 | -func init() { | ||
| 23 | - orm.RegisterModel(new(Permissions)) | ||
| 24 | -} | ||
| 25 | - | ||
| 26 | -// AddPermissions insert a new Permissions into database and returns | ||
| 27 | -// last inserted Id on success. | ||
| 28 | -func AddPermissions(m *Permissions) (id int64, err error) { | ||
| 29 | - o := orm.NewOrm() | ||
| 30 | - id, err = o.Insert(m) | ||
| 31 | - return | ||
| 32 | -} | ||
| 33 | - | ||
| 34 | -// GetPermissionsById retrieves Permissions by Id. Returns error if | ||
| 35 | -// Id doesn't exist | ||
| 36 | -func GetPermissionsById(id int) (v *Permissions, err error) { | ||
| 37 | - o := orm.NewOrm() | ||
| 38 | - v = &Permissions{Id: id} | ||
| 39 | - if err = o.Read(v); err == nil { | ||
| 40 | - return v, nil | ||
| 41 | - } | ||
| 42 | - return nil, err | ||
| 43 | -} | ||
| 44 | - | ||
| 45 | -// GetAllPermissions retrieves all Permissions matches certain condition. Returns empty list if | ||
| 46 | -// no records exist | ||
| 47 | -func GetAllPermissions(query map[string]string, fields []string, sortby []string, order []string, | ||
| 48 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 49 | - o := orm.NewOrm() | ||
| 50 | - qs := o.QueryTable(new(Permissions)) | ||
| 51 | - // query k=v | ||
| 52 | - for k, v := range query { | ||
| 53 | - // rewrite dot-notation to Object__Attribute | ||
| 54 | - k = strings.Replace(k, ".", "__", -1) | ||
| 55 | - if strings.Contains(k, "isnull") { | ||
| 56 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 57 | - } else { | ||
| 58 | - qs = qs.Filter(k, v) | ||
| 59 | - } | ||
| 60 | - } | ||
| 61 | - // order by: | ||
| 62 | - var sortFields []string | ||
| 63 | - if len(sortby) != 0 { | ||
| 64 | - if len(sortby) == len(order) { | ||
| 65 | - // 1) for each sort field, there is an associated order | ||
| 66 | - for i, v := range sortby { | ||
| 67 | - orderby := "" | ||
| 68 | - if order[i] == "desc" { | ||
| 69 | - orderby = "-" + v | ||
| 70 | - } else if order[i] == "asc" { | ||
| 71 | - orderby = v | ||
| 72 | - } else { | ||
| 73 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 74 | - } | ||
| 75 | - sortFields = append(sortFields, orderby) | ||
| 76 | - } | ||
| 77 | - qs = qs.OrderBy(sortFields...) | ||
| 78 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 79 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 80 | - for _, v := range sortby { | ||
| 81 | - orderby := "" | ||
| 82 | - if order[0] == "desc" { | ||
| 83 | - orderby = "-" + v | ||
| 84 | - } else if order[0] == "asc" { | ||
| 85 | - orderby = v | ||
| 86 | - } else { | ||
| 87 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 88 | - } | ||
| 89 | - sortFields = append(sortFields, orderby) | ||
| 90 | - } | ||
| 91 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 92 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 93 | - } | ||
| 94 | - } else { | ||
| 95 | - if len(order) != 0 { | ||
| 96 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 97 | - } | ||
| 98 | - } | ||
| 99 | - | ||
| 100 | - var l []Permissions | ||
| 101 | - qs = qs.OrderBy(sortFields...) | ||
| 102 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 103 | - if len(fields) == 0 { | ||
| 104 | - for _, v := range l { | ||
| 105 | - ml = append(ml, v) | ||
| 106 | - } | ||
| 107 | - } else { | ||
| 108 | - // trim unused fields | ||
| 109 | - for _, v := range l { | ||
| 110 | - m := make(map[string]interface{}) | ||
| 111 | - val := reflect.ValueOf(v) | ||
| 112 | - for _, fname := range fields { | ||
| 113 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 114 | - } | ||
| 115 | - ml = append(ml, m) | ||
| 116 | - } | ||
| 117 | - } | ||
| 118 | - return ml, nil | ||
| 119 | - } | ||
| 120 | - return nil, err | ||
| 121 | -} | ||
| 122 | - | ||
| 123 | -// UpdatePermissions updates Permissions by Id and returns error if | ||
| 124 | -// the record to be updated doesn't exist | ||
| 125 | -func UpdatePermissionsById(m *Permissions) (err error) { | ||
| 126 | - o := orm.NewOrm() | ||
| 127 | - v := Permissions{Id: m.Id} | ||
| 128 | - // ascertain id exists in the database | ||
| 129 | - if err = o.Read(&v); err == nil { | ||
| 130 | - var num int64 | ||
| 131 | - if num, err = o.Update(m); err == nil { | ||
| 132 | - fmt.Println("Number of records updated in database:", num) | ||
| 133 | - } | ||
| 134 | - } | ||
| 135 | - return | ||
| 136 | -} | ||
| 137 | - | ||
| 138 | -// DeletePermissions deletes Permissions by Id and returns error if | ||
| 139 | -// the record to be deleted doesn't exist | ||
| 140 | -func DeletePermissions(id int) (err error) { | ||
| 141 | - o := orm.NewOrm() | ||
| 142 | - v := Permissions{Id: id} | ||
| 143 | - // ascertain id exists in the database | ||
| 144 | - if err = o.Read(&v); err == nil { | ||
| 145 | - var num int64 | ||
| 146 | - if num, err = o.Delete(&Permissions{Id: id}); err == nil { | ||
| 147 | - fmt.Println("Number of records deleted in database:", num) | ||
| 148 | - } | ||
| 149 | - } | ||
| 150 | - return | ||
| 151 | -} |
models/pics_log.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - | ||
| 9 | - "github.com/astaxie/beego/orm" | ||
| 10 | -) | ||
| 11 | - | ||
| 12 | -type PicsLog struct { | ||
| 13 | - Id int `orm:"column(id);auto" description:"主键ID"` | ||
| 14 | - Url string `orm:"column(url);size(128)"` | ||
| 15 | - Thumbnail string `orm:"column(thumbnail);size(128)" description:"缩略图"` | ||
| 16 | - Width int `orm:"column(width)" description:"宽度"` | ||
| 17 | - Length int `orm:"column(length)" description:"长度"` | ||
| 18 | -} | ||
| 19 | - | ||
| 20 | -func (t *PicsLog) TableName() string { | ||
| 21 | - return "pics_log" | ||
| 22 | -} | ||
| 23 | - | ||
| 24 | -func init() { | ||
| 25 | - orm.RegisterModel(new(PicsLog)) | ||
| 26 | -} | ||
| 27 | - | ||
| 28 | -// AddPicsLog insert a new PicsLog into database and returns | ||
| 29 | -// last inserted Id on success. | ||
| 30 | -func AddPicsLog(m *PicsLog) (id int64, err error) { | ||
| 31 | - o := orm.NewOrm() | ||
| 32 | - id, err = o.Insert(m) | ||
| 33 | - return | ||
| 34 | -} | ||
| 35 | - | ||
| 36 | -// GetPicsLogById retrieves PicsLog by Id. Returns error if | ||
| 37 | -// Id doesn't exist | ||
| 38 | -func GetPicsLogById(id int) (v *PicsLog, err error) { | ||
| 39 | - o := orm.NewOrm() | ||
| 40 | - v = &PicsLog{Id: id} | ||
| 41 | - if err = o.Read(v); err == nil { | ||
| 42 | - return v, nil | ||
| 43 | - } | ||
| 44 | - return nil, err | ||
| 45 | -} | ||
| 46 | - | ||
| 47 | -// GetAllPicsLog retrieves all PicsLog matches certain condition. Returns empty list if | ||
| 48 | -// no records exist | ||
| 49 | -func GetAllPicsLog(query map[string]string, fields []string, sortby []string, order []string, | ||
| 50 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 51 | - o := orm.NewOrm() | ||
| 52 | - qs := o.QueryTable(new(PicsLog)) | ||
| 53 | - // query k=v | ||
| 54 | - for k, v := range query { | ||
| 55 | - // rewrite dot-notation to Object__Attribute | ||
| 56 | - k = strings.Replace(k, ".", "__", -1) | ||
| 57 | - if strings.Contains(k, "isnull") { | ||
| 58 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 59 | - } else { | ||
| 60 | - qs = qs.Filter(k, v) | ||
| 61 | - } | ||
| 62 | - } | ||
| 63 | - // order by: | ||
| 64 | - var sortFields []string | ||
| 65 | - if len(sortby) != 0 { | ||
| 66 | - if len(sortby) == len(order) { | ||
| 67 | - // 1) for each sort field, there is an associated order | ||
| 68 | - for i, v := range sortby { | ||
| 69 | - orderby := "" | ||
| 70 | - if order[i] == "desc" { | ||
| 71 | - orderby = "-" + v | ||
| 72 | - } else if order[i] == "asc" { | ||
| 73 | - orderby = v | ||
| 74 | - } else { | ||
| 75 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 76 | - } | ||
| 77 | - sortFields = append(sortFields, orderby) | ||
| 78 | - } | ||
| 79 | - qs = qs.OrderBy(sortFields...) | ||
| 80 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 81 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 82 | - for _, v := range sortby { | ||
| 83 | - orderby := "" | ||
| 84 | - if order[0] == "desc" { | ||
| 85 | - orderby = "-" + v | ||
| 86 | - } else if order[0] == "asc" { | ||
| 87 | - orderby = v | ||
| 88 | - } else { | ||
| 89 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 90 | - } | ||
| 91 | - sortFields = append(sortFields, orderby) | ||
| 92 | - } | ||
| 93 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 94 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 95 | - } | ||
| 96 | - } else { | ||
| 97 | - if len(order) != 0 { | ||
| 98 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 99 | - } | ||
| 100 | - } | ||
| 101 | - | ||
| 102 | - var l []PicsLog | ||
| 103 | - qs = qs.OrderBy(sortFields...) | ||
| 104 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 105 | - if len(fields) == 0 { | ||
| 106 | - for _, v := range l { | ||
| 107 | - ml = append(ml, v) | ||
| 108 | - } | ||
| 109 | - } else { | ||
| 110 | - // trim unused fields | ||
| 111 | - for _, v := range l { | ||
| 112 | - m := make(map[string]interface{}) | ||
| 113 | - val := reflect.ValueOf(v) | ||
| 114 | - for _, fname := range fields { | ||
| 115 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 116 | - } | ||
| 117 | - ml = append(ml, m) | ||
| 118 | - } | ||
| 119 | - } | ||
| 120 | - return ml, nil | ||
| 121 | - } | ||
| 122 | - return nil, err | ||
| 123 | -} | ||
| 124 | - | ||
| 125 | -// UpdatePicsLog updates PicsLog by Id and returns error if | ||
| 126 | -// the record to be updated doesn't exist | ||
| 127 | -func UpdatePicsLogById(m *PicsLog) (err error) { | ||
| 128 | - o := orm.NewOrm() | ||
| 129 | - v := PicsLog{Id: m.Id} | ||
| 130 | - // ascertain id exists in the database | ||
| 131 | - if err = o.Read(&v); err == nil { | ||
| 132 | - var num int64 | ||
| 133 | - if num, err = o.Update(m); err == nil { | ||
| 134 | - fmt.Println("Number of records updated in database:", num) | ||
| 135 | - } | ||
| 136 | - } | ||
| 137 | - return | ||
| 138 | -} | ||
| 139 | - | ||
| 140 | -// DeletePicsLog deletes PicsLog by Id and returns error if | ||
| 141 | -// the record to be deleted doesn't exist | ||
| 142 | -func DeletePicsLog(id int) (err error) { | ||
| 143 | - o := orm.NewOrm() | ||
| 144 | - v := PicsLog{Id: id} | ||
| 145 | - // ascertain id exists in the database | ||
| 146 | - if err = o.Read(&v); err == nil { | ||
| 147 | - var num int64 | ||
| 148 | - if num, err = o.Delete(&PicsLog{Id: id}); err == nil { | ||
| 149 | - fmt.Println("Number of records deleted in database:", num) | ||
| 150 | - } | ||
| 151 | - } | ||
| 152 | - return | ||
| 153 | -} |
models/positions.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - "time" | ||
| 9 | - | ||
| 10 | - "github.com/astaxie/beego/orm" | ||
| 11 | -) | ||
| 12 | - | ||
| 13 | -type Positions struct { | ||
| 14 | - Id int `orm:"column(id);auto"` | ||
| 15 | - CompanyId int `orm:"column(company_id)"` | ||
| 16 | - Name string `orm:"column(name);size(255)"` | ||
| 17 | - Pid string `orm:"column(pid);size(255)"` | ||
| 18 | - Path string `orm:"column(path);size(1000)"` | ||
| 19 | - Level int8 `orm:"column(level)" description:"级别"` | ||
| 20 | - CreateTime time.Time `orm:"column(create_time);type(timestamp);auto_now"` | ||
| 21 | - Enabled int8 `orm:"column(enabled)"` | ||
| 22 | -} | ||
| 23 | - | ||
| 24 | -func (t *Positions) TableName() string { | ||
| 25 | - return "positions" | ||
| 26 | -} | ||
| 27 | - | ||
| 28 | -func init() { | ||
| 29 | - orm.RegisterModel(new(Positions)) | ||
| 30 | -} | ||
| 31 | - | ||
| 32 | -// AddPositions insert a new Positions into database and returns | ||
| 33 | -// last inserted Id on success. | ||
| 34 | -func AddPositions(m *Positions) (id int64, err error) { | ||
| 35 | - o := orm.NewOrm() | ||
| 36 | - id, err = o.Insert(m) | ||
| 37 | - return | ||
| 38 | -} | ||
| 39 | - | ||
| 40 | -// GetPositionsById retrieves Positions by Id. Returns error if | ||
| 41 | -// Id doesn't exist | ||
| 42 | -func GetPositionsById(id int) (v *Positions, err error) { | ||
| 43 | - o := orm.NewOrm() | ||
| 44 | - v = &Positions{Id: id} | ||
| 45 | - if err = o.Read(v); err == nil { | ||
| 46 | - return v, nil | ||
| 47 | - } | ||
| 48 | - return nil, err | ||
| 49 | -} | ||
| 50 | - | ||
| 51 | -// GetAllPositions retrieves all Positions matches certain condition. Returns empty list if | ||
| 52 | -// no records exist | ||
| 53 | -func GetAllPositions(query map[string]string, fields []string, sortby []string, order []string, | ||
| 54 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 55 | - o := orm.NewOrm() | ||
| 56 | - qs := o.QueryTable(new(Positions)) | ||
| 57 | - // query k=v | ||
| 58 | - for k, v := range query { | ||
| 59 | - // rewrite dot-notation to Object__Attribute | ||
| 60 | - k = strings.Replace(k, ".", "__", -1) | ||
| 61 | - if strings.Contains(k, "isnull") { | ||
| 62 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 63 | - } else { | ||
| 64 | - qs = qs.Filter(k, v) | ||
| 65 | - } | ||
| 66 | - } | ||
| 67 | - // order by: | ||
| 68 | - var sortFields []string | ||
| 69 | - if len(sortby) != 0 { | ||
| 70 | - if len(sortby) == len(order) { | ||
| 71 | - // 1) for each sort field, there is an associated order | ||
| 72 | - for i, v := range sortby { | ||
| 73 | - orderby := "" | ||
| 74 | - if order[i] == "desc" { | ||
| 75 | - orderby = "-" + v | ||
| 76 | - } else if order[i] == "asc" { | ||
| 77 | - orderby = v | ||
| 78 | - } else { | ||
| 79 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 80 | - } | ||
| 81 | - sortFields = append(sortFields, orderby) | ||
| 82 | - } | ||
| 83 | - qs = qs.OrderBy(sortFields...) | ||
| 84 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 85 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 86 | - for _, v := range sortby { | ||
| 87 | - orderby := "" | ||
| 88 | - if order[0] == "desc" { | ||
| 89 | - orderby = "-" + v | ||
| 90 | - } else if order[0] == "asc" { | ||
| 91 | - orderby = v | ||
| 92 | - } else { | ||
| 93 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 94 | - } | ||
| 95 | - sortFields = append(sortFields, orderby) | ||
| 96 | - } | ||
| 97 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 98 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 99 | - } | ||
| 100 | - } else { | ||
| 101 | - if len(order) != 0 { | ||
| 102 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 103 | - } | ||
| 104 | - } | ||
| 105 | - | ||
| 106 | - var l []Positions | ||
| 107 | - qs = qs.OrderBy(sortFields...) | ||
| 108 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 109 | - if len(fields) == 0 { | ||
| 110 | - for _, v := range l { | ||
| 111 | - ml = append(ml, v) | ||
| 112 | - } | ||
| 113 | - } else { | ||
| 114 | - // trim unused fields | ||
| 115 | - for _, v := range l { | ||
| 116 | - m := make(map[string]interface{}) | ||
| 117 | - val := reflect.ValueOf(v) | ||
| 118 | - for _, fname := range fields { | ||
| 119 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 120 | - } | ||
| 121 | - ml = append(ml, m) | ||
| 122 | - } | ||
| 123 | - } | ||
| 124 | - return ml, nil | ||
| 125 | - } | ||
| 126 | - return nil, err | ||
| 127 | -} | ||
| 128 | - | ||
| 129 | -// UpdatePositions updates Positions by Id and returns error if | ||
| 130 | -// the record to be updated doesn't exist | ||
| 131 | -func UpdatePositionsById(m *Positions) (err error) { | ||
| 132 | - o := orm.NewOrm() | ||
| 133 | - v := Positions{Id: m.Id} | ||
| 134 | - // ascertain id exists in the database | ||
| 135 | - if err = o.Read(&v); err == nil { | ||
| 136 | - var num int64 | ||
| 137 | - if num, err = o.Update(m); err == nil { | ||
| 138 | - fmt.Println("Number of records updated in database:", num) | ||
| 139 | - } | ||
| 140 | - } | ||
| 141 | - return | ||
| 142 | -} | ||
| 143 | - | ||
| 144 | -// DeletePositions deletes Positions by Id and returns error if | ||
| 145 | -// the record to be deleted doesn't exist | ||
| 146 | -func DeletePositions(id int) (err error) { | ||
| 147 | - o := orm.NewOrm() | ||
| 148 | - v := Positions{Id: id} | ||
| 149 | - // ascertain id exists in the database | ||
| 150 | - if err = o.Read(&v); err == nil { | ||
| 151 | - var num int64 | ||
| 152 | - if num, err = o.Delete(&Positions{Id: id}); err == nil { | ||
| 153 | - fmt.Println("Number of records deleted in database:", num) | ||
| 154 | - } | ||
| 155 | - } | ||
| 156 | - return | ||
| 157 | -} |
models/question.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - "time" | ||
| 9 | - | ||
| 10 | - "github.com/astaxie/beego/orm" | ||
| 11 | -) | ||
| 12 | - | ||
| 13 | -type Question struct { | ||
| 14 | - Id int `orm:"column(id);pk"` | ||
| 15 | - Title string `orm:"column(title);size(30)" description:"标题"` | ||
| 16 | - Content string `orm:"column(content)" description:"内容"` | ||
| 17 | - Uid int64 `orm:"column(uid)" description:"用户ID"` | ||
| 18 | - CreateTime time.Time `orm:"column(createTime);type(timestamp);auto_now_add"` | ||
| 19 | - Way int `orm:"column(way)" description:"提问方式(0语音,1图文)"` | ||
| 20 | - PageView int `orm:"column(pageView)" description:"浏览总数"` | ||
| 21 | - CommentTotal int `orm:"column(commentTotal)" description:"评论总数"` | ||
| 22 | - SympathyTotal int `orm:"column(sympathyTotal)" description:"同感总数"` | ||
| 23 | - Review int `orm:"column(review)" description:"0 待审核 1已审核"` | ||
| 24 | - Status int `orm:"column(status);null" description:"状态 0 未解决 1已解决"` | ||
| 25 | - UpdateTime time.Time `orm:"column(updateTime);type(timestamp);null"` | ||
| 26 | - ScoreAnalyze int `orm:"column(scoreAnalyze);null" description:"分析评分"` | ||
| 27 | - ScoreAsk int `orm:"column(scoreAsk);null" description:"提问评分"` | ||
| 28 | - ScoreScheme int `orm:"column(scoreScheme);null" description:"方案评分"` | ||
| 29 | - Published int `orm:"column(published);null" description:"公开状态 0未公开、1本部门公开、2本公司公开"` | ||
| 30 | - Level int `orm:"column(level)" description:"最后评分或审核人的级别"` | ||
| 31 | - CheckUid int64 `orm:"column(checkUid);null" description:"审核人ID"` | ||
| 32 | - Enabled int `orm:"column(enabled);null" description:"1有效 0删除"` | ||
| 33 | - Tlevel int `orm:"column(tlevel)" description:"公开操作权限"` | ||
| 34 | - PfUid int64 `orm:"column(pfUid)"` | ||
| 35 | - QType int `orm:"column(qType)"` | ||
| 36 | - SoluteTime time.Time `orm:"column(soluteTime);type(timestamp);auto_now_add"` | ||
| 37 | - ResolverTime time.Time `orm:"column(resolverTime);type(timestamp);auto_now_add"` | ||
| 38 | - Resolver int64 `orm:"column(resolver)"` | ||
| 39 | - RelevantDepartmentId int `orm:"column(relevantDepartmentId)" description:"相关部门id"` | ||
| 40 | - ReceiveStatus int8 `orm:"column(receiveStatus)" description:"领取状态 0未领取 1已领取"` | ||
| 41 | -} | ||
| 42 | - | ||
| 43 | -func (t *Question) TableName() string { | ||
| 44 | - return "question" | ||
| 45 | -} | ||
| 46 | - | ||
| 47 | -func init() { | ||
| 48 | - orm.RegisterModel(new(Question)) | ||
| 49 | -} | ||
| 50 | - | ||
| 51 | -// AddQuestion insert a new Question into database and returns | ||
| 52 | -// last inserted Id on success. | ||
| 53 | -func AddQuestion(m *Question) (id int64, err error) { | ||
| 54 | - o := orm.NewOrm() | ||
| 55 | - id, err = o.Insert(m) | ||
| 56 | - return | ||
| 57 | -} | ||
| 58 | - | ||
| 59 | -// GetQuestionById retrieves Question by Id. Returns error if | ||
| 60 | -// Id doesn't exist | ||
| 61 | -func GetQuestionById(id int) (v *Question, err error) { | ||
| 62 | - o := orm.NewOrm() | ||
| 63 | - v = &Question{Id: id} | ||
| 64 | - if err = o.Read(v); err == nil { | ||
| 65 | - return v, nil | ||
| 66 | - } | ||
| 67 | - return nil, err | ||
| 68 | -} | ||
| 69 | - | ||
| 70 | -// GetAllQuestion retrieves all Question matches certain condition. Returns empty list if | ||
| 71 | -// no records exist | ||
| 72 | -func GetAllQuestion(query map[string]string, fields []string, sortby []string, order []string, | ||
| 73 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 74 | - o := orm.NewOrm() | ||
| 75 | - qs := o.QueryTable(new(Question)) | ||
| 76 | - // query k=v | ||
| 77 | - for k, v := range query { | ||
| 78 | - // rewrite dot-notation to Object__Attribute | ||
| 79 | - k = strings.Replace(k, ".", "__", -1) | ||
| 80 | - if strings.Contains(k, "isnull") { | ||
| 81 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 82 | - } else { | ||
| 83 | - qs = qs.Filter(k, v) | ||
| 84 | - } | ||
| 85 | - } | ||
| 86 | - // order by: | ||
| 87 | - var sortFields []string | ||
| 88 | - if len(sortby) != 0 { | ||
| 89 | - if len(sortby) == len(order) { | ||
| 90 | - // 1) for each sort field, there is an associated order | ||
| 91 | - for i, v := range sortby { | ||
| 92 | - orderby := "" | ||
| 93 | - if order[i] == "desc" { | ||
| 94 | - orderby = "-" + v | ||
| 95 | - } else if order[i] == "asc" { | ||
| 96 | - orderby = v | ||
| 97 | - } else { | ||
| 98 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 99 | - } | ||
| 100 | - sortFields = append(sortFields, orderby) | ||
| 101 | - } | ||
| 102 | - qs = qs.OrderBy(sortFields...) | ||
| 103 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 104 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 105 | - for _, v := range sortby { | ||
| 106 | - orderby := "" | ||
| 107 | - if order[0] == "desc" { | ||
| 108 | - orderby = "-" + v | ||
| 109 | - } else if order[0] == "asc" { | ||
| 110 | - orderby = v | ||
| 111 | - } else { | ||
| 112 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 113 | - } | ||
| 114 | - sortFields = append(sortFields, orderby) | ||
| 115 | - } | ||
| 116 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 117 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 118 | - } | ||
| 119 | - } else { | ||
| 120 | - if len(order) != 0 { | ||
| 121 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 122 | - } | ||
| 123 | - } | ||
| 124 | - | ||
| 125 | - var l []Question | ||
| 126 | - qs = qs.OrderBy(sortFields...) | ||
| 127 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 128 | - if len(fields) == 0 { | ||
| 129 | - for _, v := range l { | ||
| 130 | - ml = append(ml, v) | ||
| 131 | - } | ||
| 132 | - } else { | ||
| 133 | - // trim unused fields | ||
| 134 | - for _, v := range l { | ||
| 135 | - m := make(map[string]interface{}) | ||
| 136 | - val := reflect.ValueOf(v) | ||
| 137 | - for _, fname := range fields { | ||
| 138 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 139 | - } | ||
| 140 | - ml = append(ml, m) | ||
| 141 | - } | ||
| 142 | - } | ||
| 143 | - return ml, nil | ||
| 144 | - } | ||
| 145 | - return nil, err | ||
| 146 | -} | ||
| 147 | - | ||
| 148 | -// UpdateQuestion updates Question by Id and returns error if | ||
| 149 | -// the record to be updated doesn't exist | ||
| 150 | -func UpdateQuestionById(m *Question) (err error) { | ||
| 151 | - o := orm.NewOrm() | ||
| 152 | - v := Question{Id: m.Id} | ||
| 153 | - // ascertain id exists in the database | ||
| 154 | - if err = o.Read(&v); err == nil { | ||
| 155 | - var num int64 | ||
| 156 | - if num, err = o.Update(m); err == nil { | ||
| 157 | - fmt.Println("Number of records updated in database:", num) | ||
| 158 | - } | ||
| 159 | - } | ||
| 160 | - return | ||
| 161 | -} | ||
| 162 | - | ||
| 163 | -// DeleteQuestion deletes Question by Id and returns error if | ||
| 164 | -// the record to be deleted doesn't exist | ||
| 165 | -func DeleteQuestion(id int) (err error) { | ||
| 166 | - o := orm.NewOrm() | ||
| 167 | - v := Question{Id: id} | ||
| 168 | - // ascertain id exists in the database | ||
| 169 | - if err = o.Read(&v); err == nil { | ||
| 170 | - var num int64 | ||
| 171 | - if num, err = o.Delete(&Question{Id: id}); err == nil { | ||
| 172 | - fmt.Println("Number of records deleted in database:", num) | ||
| 173 | - } | ||
| 174 | - } | ||
| 175 | - return | ||
| 176 | -} |
models/question_department.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - "time" | ||
| 9 | - | ||
| 10 | - "github.com/astaxie/beego/orm" | ||
| 11 | -) | ||
| 12 | - | ||
| 13 | -type QuestionDepartment struct { | ||
| 14 | - Id int `orm:"column(id);pk"` | ||
| 15 | - Qid int64 `orm:"column(qid)" description:"所属的问题ID"` | ||
| 16 | - DepartmentId int `orm:"column(department_id)" description:"语音路径"` | ||
| 17 | - CreateTime time.Time `orm:"column(createTime);type(timestamp);auto_now_add"` | ||
| 18 | -} | ||
| 19 | - | ||
| 20 | -func (t *QuestionDepartment) TableName() string { | ||
| 21 | - return "question_department" | ||
| 22 | -} | ||
| 23 | - | ||
| 24 | -func init() { | ||
| 25 | - orm.RegisterModel(new(QuestionDepartment)) | ||
| 26 | -} | ||
| 27 | - | ||
| 28 | -// AddQuestionDepartment insert a new QuestionDepartment into database and returns | ||
| 29 | -// last inserted Id on success. | ||
| 30 | -func AddQuestionDepartment(m *QuestionDepartment) (id int64, err error) { | ||
| 31 | - o := orm.NewOrm() | ||
| 32 | - id, err = o.Insert(m) | ||
| 33 | - return | ||
| 34 | -} | ||
| 35 | - | ||
| 36 | -// GetQuestionDepartmentById retrieves QuestionDepartment by Id. Returns error if | ||
| 37 | -// Id doesn't exist | ||
| 38 | -func GetQuestionDepartmentById(id int) (v *QuestionDepartment, err error) { | ||
| 39 | - o := orm.NewOrm() | ||
| 40 | - v = &QuestionDepartment{Id: id} | ||
| 41 | - if err = o.Read(v); err == nil { | ||
| 42 | - return v, nil | ||
| 43 | - } | ||
| 44 | - return nil, err | ||
| 45 | -} | ||
| 46 | - | ||
| 47 | -// GetAllQuestionDepartment retrieves all QuestionDepartment matches certain condition. Returns empty list if | ||
| 48 | -// no records exist | ||
| 49 | -func GetAllQuestionDepartment(query map[string]string, fields []string, sortby []string, order []string, | ||
| 50 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 51 | - o := orm.NewOrm() | ||
| 52 | - qs := o.QueryTable(new(QuestionDepartment)) | ||
| 53 | - // query k=v | ||
| 54 | - for k, v := range query { | ||
| 55 | - // rewrite dot-notation to Object__Attribute | ||
| 56 | - k = strings.Replace(k, ".", "__", -1) | ||
| 57 | - if strings.Contains(k, "isnull") { | ||
| 58 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 59 | - } else { | ||
| 60 | - qs = qs.Filter(k, v) | ||
| 61 | - } | ||
| 62 | - } | ||
| 63 | - // order by: | ||
| 64 | - var sortFields []string | ||
| 65 | - if len(sortby) != 0 { | ||
| 66 | - if len(sortby) == len(order) { | ||
| 67 | - // 1) for each sort field, there is an associated order | ||
| 68 | - for i, v := range sortby { | ||
| 69 | - orderby := "" | ||
| 70 | - if order[i] == "desc" { | ||
| 71 | - orderby = "-" + v | ||
| 72 | - } else if order[i] == "asc" { | ||
| 73 | - orderby = v | ||
| 74 | - } else { | ||
| 75 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 76 | - } | ||
| 77 | - sortFields = append(sortFields, orderby) | ||
| 78 | - } | ||
| 79 | - qs = qs.OrderBy(sortFields...) | ||
| 80 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 81 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 82 | - for _, v := range sortby { | ||
| 83 | - orderby := "" | ||
| 84 | - if order[0] == "desc" { | ||
| 85 | - orderby = "-" + v | ||
| 86 | - } else if order[0] == "asc" { | ||
| 87 | - orderby = v | ||
| 88 | - } else { | ||
| 89 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 90 | - } | ||
| 91 | - sortFields = append(sortFields, orderby) | ||
| 92 | - } | ||
| 93 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 94 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 95 | - } | ||
| 96 | - } else { | ||
| 97 | - if len(order) != 0 { | ||
| 98 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 99 | - } | ||
| 100 | - } | ||
| 101 | - | ||
| 102 | - var l []QuestionDepartment | ||
| 103 | - qs = qs.OrderBy(sortFields...) | ||
| 104 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 105 | - if len(fields) == 0 { | ||
| 106 | - for _, v := range l { | ||
| 107 | - ml = append(ml, v) | ||
| 108 | - } | ||
| 109 | - } else { | ||
| 110 | - // trim unused fields | ||
| 111 | - for _, v := range l { | ||
| 112 | - m := make(map[string]interface{}) | ||
| 113 | - val := reflect.ValueOf(v) | ||
| 114 | - for _, fname := range fields { | ||
| 115 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 116 | - } | ||
| 117 | - ml = append(ml, m) | ||
| 118 | - } | ||
| 119 | - } | ||
| 120 | - return ml, nil | ||
| 121 | - } | ||
| 122 | - return nil, err | ||
| 123 | -} | ||
| 124 | - | ||
| 125 | -// UpdateQuestionDepartment updates QuestionDepartment by Id and returns error if | ||
| 126 | -// the record to be updated doesn't exist | ||
| 127 | -func UpdateQuestionDepartmentById(m *QuestionDepartment) (err error) { | ||
| 128 | - o := orm.NewOrm() | ||
| 129 | - v := QuestionDepartment{Id: m.Id} | ||
| 130 | - // ascertain id exists in the database | ||
| 131 | - if err = o.Read(&v); err == nil { | ||
| 132 | - var num int64 | ||
| 133 | - if num, err = o.Update(m); err == nil { | ||
| 134 | - fmt.Println("Number of records updated in database:", num) | ||
| 135 | - } | ||
| 136 | - } | ||
| 137 | - return | ||
| 138 | -} | ||
| 139 | - | ||
| 140 | -// DeleteQuestionDepartment deletes QuestionDepartment by Id and returns error if | ||
| 141 | -// the record to be deleted doesn't exist | ||
| 142 | -func DeleteQuestionDepartment(id int) (err error) { | ||
| 143 | - o := orm.NewOrm() | ||
| 144 | - v := QuestionDepartment{Id: id} | ||
| 145 | - // ascertain id exists in the database | ||
| 146 | - if err = o.Read(&v); err == nil { | ||
| 147 | - var num int64 | ||
| 148 | - if num, err = o.Delete(&QuestionDepartment{Id: id}); err == nil { | ||
| 149 | - fmt.Println("Number of records deleted in database:", num) | ||
| 150 | - } | ||
| 151 | - } | ||
| 152 | - return | ||
| 153 | -} |
models/question_department_log.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - "time" | ||
| 9 | - | ||
| 10 | - "github.com/astaxie/beego/orm" | ||
| 11 | -) | ||
| 12 | - | ||
| 13 | -type QuestionDepartmentLog struct { | ||
| 14 | - Id int `orm:"column(id);pk"` | ||
| 15 | - Qid int64 `orm:"column(qid)" description:"所属的问题ID"` | ||
| 16 | - DepartmentId int `orm:"column(department_id)" description:"相关部门id"` | ||
| 17 | - OperatorId int64 `orm:"column(operator_id)" description:"操作者id"` | ||
| 18 | - CreateTime time.Time `orm:"column(createTime);type(timestamp);auto_now_add"` | ||
| 19 | -} | ||
| 20 | - | ||
| 21 | -func (t *QuestionDepartmentLog) TableName() string { | ||
| 22 | - return "question_department_log" | ||
| 23 | -} | ||
| 24 | - | ||
| 25 | -func init() { | ||
| 26 | - orm.RegisterModel(new(QuestionDepartmentLog)) | ||
| 27 | -} | ||
| 28 | - | ||
| 29 | -// AddQuestionDepartmentLog insert a new QuestionDepartmentLog into database and returns | ||
| 30 | -// last inserted Id on success. | ||
| 31 | -func AddQuestionDepartmentLog(m *QuestionDepartmentLog) (id int64, err error) { | ||
| 32 | - o := orm.NewOrm() | ||
| 33 | - id, err = o.Insert(m) | ||
| 34 | - return | ||
| 35 | -} | ||
| 36 | - | ||
| 37 | -// GetQuestionDepartmentLogById retrieves QuestionDepartmentLog by Id. Returns error if | ||
| 38 | -// Id doesn't exist | ||
| 39 | -func GetQuestionDepartmentLogById(id int) (v *QuestionDepartmentLog, err error) { | ||
| 40 | - o := orm.NewOrm() | ||
| 41 | - v = &QuestionDepartmentLog{Id: id} | ||
| 42 | - if err = o.Read(v); err == nil { | ||
| 43 | - return v, nil | ||
| 44 | - } | ||
| 45 | - return nil, err | ||
| 46 | -} | ||
| 47 | - | ||
| 48 | -// GetAllQuestionDepartmentLog retrieves all QuestionDepartmentLog matches certain condition. Returns empty list if | ||
| 49 | -// no records exist | ||
| 50 | -func GetAllQuestionDepartmentLog(query map[string]string, fields []string, sortby []string, order []string, | ||
| 51 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 52 | - o := orm.NewOrm() | ||
| 53 | - qs := o.QueryTable(new(QuestionDepartmentLog)) | ||
| 54 | - // query k=v | ||
| 55 | - for k, v := range query { | ||
| 56 | - // rewrite dot-notation to Object__Attribute | ||
| 57 | - k = strings.Replace(k, ".", "__", -1) | ||
| 58 | - if strings.Contains(k, "isnull") { | ||
| 59 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 60 | - } else { | ||
| 61 | - qs = qs.Filter(k, v) | ||
| 62 | - } | ||
| 63 | - } | ||
| 64 | - // order by: | ||
| 65 | - var sortFields []string | ||
| 66 | - if len(sortby) != 0 { | ||
| 67 | - if len(sortby) == len(order) { | ||
| 68 | - // 1) for each sort field, there is an associated order | ||
| 69 | - for i, v := range sortby { | ||
| 70 | - orderby := "" | ||
| 71 | - if order[i] == "desc" { | ||
| 72 | - orderby = "-" + v | ||
| 73 | - } else if order[i] == "asc" { | ||
| 74 | - orderby = v | ||
| 75 | - } else { | ||
| 76 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 77 | - } | ||
| 78 | - sortFields = append(sortFields, orderby) | ||
| 79 | - } | ||
| 80 | - qs = qs.OrderBy(sortFields...) | ||
| 81 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 82 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 83 | - for _, v := range sortby { | ||
| 84 | - orderby := "" | ||
| 85 | - if order[0] == "desc" { | ||
| 86 | - orderby = "-" + v | ||
| 87 | - } else if order[0] == "asc" { | ||
| 88 | - orderby = v | ||
| 89 | - } else { | ||
| 90 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 91 | - } | ||
| 92 | - sortFields = append(sortFields, orderby) | ||
| 93 | - } | ||
| 94 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 95 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 96 | - } | ||
| 97 | - } else { | ||
| 98 | - if len(order) != 0 { | ||
| 99 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 100 | - } | ||
| 101 | - } | ||
| 102 | - | ||
| 103 | - var l []QuestionDepartmentLog | ||
| 104 | - qs = qs.OrderBy(sortFields...) | ||
| 105 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 106 | - if len(fields) == 0 { | ||
| 107 | - for _, v := range l { | ||
| 108 | - ml = append(ml, v) | ||
| 109 | - } | ||
| 110 | - } else { | ||
| 111 | - // trim unused fields | ||
| 112 | - for _, v := range l { | ||
| 113 | - m := make(map[string]interface{}) | ||
| 114 | - val := reflect.ValueOf(v) | ||
| 115 | - for _, fname := range fields { | ||
| 116 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 117 | - } | ||
| 118 | - ml = append(ml, m) | ||
| 119 | - } | ||
| 120 | - } | ||
| 121 | - return ml, nil | ||
| 122 | - } | ||
| 123 | - return nil, err | ||
| 124 | -} | ||
| 125 | - | ||
| 126 | -// UpdateQuestionDepartmentLog updates QuestionDepartmentLog by Id and returns error if | ||
| 127 | -// the record to be updated doesn't exist | ||
| 128 | -func UpdateQuestionDepartmentLogById(m *QuestionDepartmentLog) (err error) { | ||
| 129 | - o := orm.NewOrm() | ||
| 130 | - v := QuestionDepartmentLog{Id: m.Id} | ||
| 131 | - // ascertain id exists in the database | ||
| 132 | - if err = o.Read(&v); err == nil { | ||
| 133 | - var num int64 | ||
| 134 | - if num, err = o.Update(m); err == nil { | ||
| 135 | - fmt.Println("Number of records updated in database:", num) | ||
| 136 | - } | ||
| 137 | - } | ||
| 138 | - return | ||
| 139 | -} | ||
| 140 | - | ||
| 141 | -// DeleteQuestionDepartmentLog deletes QuestionDepartmentLog by Id and returns error if | ||
| 142 | -// the record to be deleted doesn't exist | ||
| 143 | -func DeleteQuestionDepartmentLog(id int) (err error) { | ||
| 144 | - o := orm.NewOrm() | ||
| 145 | - v := QuestionDepartmentLog{Id: id} | ||
| 146 | - // ascertain id exists in the database | ||
| 147 | - if err = o.Read(&v); err == nil { | ||
| 148 | - var num int64 | ||
| 149 | - if num, err = o.Delete(&QuestionDepartmentLog{Id: id}); err == nil { | ||
| 150 | - fmt.Println("Number of records deleted in database:", num) | ||
| 151 | - } | ||
| 152 | - } | ||
| 153 | - return | ||
| 154 | -} |
models/question_image.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - | ||
| 9 | - "github.com/astaxie/beego/orm" | ||
| 10 | -) | ||
| 11 | - | ||
| 12 | -type QuestionImage struct { | ||
| 13 | - Id int `orm:"column(id);pk"` | ||
| 14 | - Qid int64 `orm:"column(qid);null" description:"所属的问题ID"` | ||
| 15 | - Path string `orm:"column(path);size(500);null" description:"语音路径"` | ||
| 16 | - W int `orm:"column(w)"` | ||
| 17 | - H int `orm:"column(h)"` | ||
| 18 | -} | ||
| 19 | - | ||
| 20 | -func (t *QuestionImage) TableName() string { | ||
| 21 | - return "question_image" | ||
| 22 | -} | ||
| 23 | - | ||
| 24 | -func init() { | ||
| 25 | - orm.RegisterModel(new(QuestionImage)) | ||
| 26 | -} | ||
| 27 | - | ||
| 28 | -// AddQuestionImage insert a new QuestionImage into database and returns | ||
| 29 | -// last inserted Id on success. | ||
| 30 | -func AddQuestionImage(m *QuestionImage) (id int64, err error) { | ||
| 31 | - o := orm.NewOrm() | ||
| 32 | - id, err = o.Insert(m) | ||
| 33 | - return | ||
| 34 | -} | ||
| 35 | - | ||
| 36 | -// GetQuestionImageById retrieves QuestionImage by Id. Returns error if | ||
| 37 | -// Id doesn't exist | ||
| 38 | -func GetQuestionImageById(id int) (v *QuestionImage, err error) { | ||
| 39 | - o := orm.NewOrm() | ||
| 40 | - v = &QuestionImage{Id: id} | ||
| 41 | - if err = o.Read(v); err == nil { | ||
| 42 | - return v, nil | ||
| 43 | - } | ||
| 44 | - return nil, err | ||
| 45 | -} | ||
| 46 | - | ||
| 47 | -// GetAllQuestionImage retrieves all QuestionImage matches certain condition. Returns empty list if | ||
| 48 | -// no records exist | ||
| 49 | -func GetAllQuestionImage(query map[string]string, fields []string, sortby []string, order []string, | ||
| 50 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 51 | - o := orm.NewOrm() | ||
| 52 | - qs := o.QueryTable(new(QuestionImage)) | ||
| 53 | - // query k=v | ||
| 54 | - for k, v := range query { | ||
| 55 | - // rewrite dot-notation to Object__Attribute | ||
| 56 | - k = strings.Replace(k, ".", "__", -1) | ||
| 57 | - if strings.Contains(k, "isnull") { | ||
| 58 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 59 | - } else { | ||
| 60 | - qs = qs.Filter(k, v) | ||
| 61 | - } | ||
| 62 | - } | ||
| 63 | - // order by: | ||
| 64 | - var sortFields []string | ||
| 65 | - if len(sortby) != 0 { | ||
| 66 | - if len(sortby) == len(order) { | ||
| 67 | - // 1) for each sort field, there is an associated order | ||
| 68 | - for i, v := range sortby { | ||
| 69 | - orderby := "" | ||
| 70 | - if order[i] == "desc" { | ||
| 71 | - orderby = "-" + v | ||
| 72 | - } else if order[i] == "asc" { | ||
| 73 | - orderby = v | ||
| 74 | - } else { | ||
| 75 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 76 | - } | ||
| 77 | - sortFields = append(sortFields, orderby) | ||
| 78 | - } | ||
| 79 | - qs = qs.OrderBy(sortFields...) | ||
| 80 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 81 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 82 | - for _, v := range sortby { | ||
| 83 | - orderby := "" | ||
| 84 | - if order[0] == "desc" { | ||
| 85 | - orderby = "-" + v | ||
| 86 | - } else if order[0] == "asc" { | ||
| 87 | - orderby = v | ||
| 88 | - } else { | ||
| 89 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 90 | - } | ||
| 91 | - sortFields = append(sortFields, orderby) | ||
| 92 | - } | ||
| 93 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 94 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 95 | - } | ||
| 96 | - } else { | ||
| 97 | - if len(order) != 0 { | ||
| 98 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 99 | - } | ||
| 100 | - } | ||
| 101 | - | ||
| 102 | - var l []QuestionImage | ||
| 103 | - qs = qs.OrderBy(sortFields...) | ||
| 104 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 105 | - if len(fields) == 0 { | ||
| 106 | - for _, v := range l { | ||
| 107 | - ml = append(ml, v) | ||
| 108 | - } | ||
| 109 | - } else { | ||
| 110 | - // trim unused fields | ||
| 111 | - for _, v := range l { | ||
| 112 | - m := make(map[string]interface{}) | ||
| 113 | - val := reflect.ValueOf(v) | ||
| 114 | - for _, fname := range fields { | ||
| 115 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 116 | - } | ||
| 117 | - ml = append(ml, m) | ||
| 118 | - } | ||
| 119 | - } | ||
| 120 | - return ml, nil | ||
| 121 | - } | ||
| 122 | - return nil, err | ||
| 123 | -} | ||
| 124 | - | ||
| 125 | -// UpdateQuestionImage updates QuestionImage by Id and returns error if | ||
| 126 | -// the record to be updated doesn't exist | ||
| 127 | -func UpdateQuestionImageById(m *QuestionImage) (err error) { | ||
| 128 | - o := orm.NewOrm() | ||
| 129 | - v := QuestionImage{Id: m.Id} | ||
| 130 | - // ascertain id exists in the database | ||
| 131 | - if err = o.Read(&v); err == nil { | ||
| 132 | - var num int64 | ||
| 133 | - if num, err = o.Update(m); err == nil { | ||
| 134 | - fmt.Println("Number of records updated in database:", num) | ||
| 135 | - } | ||
| 136 | - } | ||
| 137 | - return | ||
| 138 | -} | ||
| 139 | - | ||
| 140 | -// DeleteQuestionImage deletes QuestionImage by Id and returns error if | ||
| 141 | -// the record to be deleted doesn't exist | ||
| 142 | -func DeleteQuestionImage(id int) (err error) { | ||
| 143 | - o := orm.NewOrm() | ||
| 144 | - v := QuestionImage{Id: id} | ||
| 145 | - // ascertain id exists in the database | ||
| 146 | - if err = o.Read(&v); err == nil { | ||
| 147 | - var num int64 | ||
| 148 | - if num, err = o.Delete(&QuestionImage{Id: id}); err == nil { | ||
| 149 | - fmt.Println("Number of records deleted in database:", num) | ||
| 150 | - } | ||
| 151 | - } | ||
| 152 | - return | ||
| 153 | -} |
models/question_score.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - "time" | ||
| 9 | - | ||
| 10 | - "github.com/astaxie/beego/orm" | ||
| 11 | -) | ||
| 12 | - | ||
| 13 | -type QuestionScore struct { | ||
| 14 | - Id int `orm:"column(id);pk"` | ||
| 15 | - Uid int64 `orm:"column(uid);null" description:"评分用户ID"` | ||
| 16 | - Qid int64 `orm:"column(qid);null" description:"所属的问题ID"` | ||
| 17 | - ScoreAnalyze int `orm:"column(scoreAnalyze);null"` | ||
| 18 | - ScoreAsk int `orm:"column(scoreAsk);null"` | ||
| 19 | - ScoreScheme int `orm:"column(scoreScheme);null"` | ||
| 20 | - CreateTime time.Time `orm:"column(createTime);type(timestamp);null;auto_now_add" description:"评分时间"` | ||
| 21 | -} | ||
| 22 | - | ||
| 23 | -func (t *QuestionScore) TableName() string { | ||
| 24 | - return "question_score" | ||
| 25 | -} | ||
| 26 | - | ||
| 27 | -func init() { | ||
| 28 | - orm.RegisterModel(new(QuestionScore)) | ||
| 29 | -} | ||
| 30 | - | ||
| 31 | -// AddQuestionScore insert a new QuestionScore into database and returns | ||
| 32 | -// last inserted Id on success. | ||
| 33 | -func AddQuestionScore(m *QuestionScore) (id int64, err error) { | ||
| 34 | - o := orm.NewOrm() | ||
| 35 | - id, err = o.Insert(m) | ||
| 36 | - return | ||
| 37 | -} | ||
| 38 | - | ||
| 39 | -// GetQuestionScoreById retrieves QuestionScore by Id. Returns error if | ||
| 40 | -// Id doesn't exist | ||
| 41 | -func GetQuestionScoreById(id int) (v *QuestionScore, err error) { | ||
| 42 | - o := orm.NewOrm() | ||
| 43 | - v = &QuestionScore{Id: id} | ||
| 44 | - if err = o.Read(v); err == nil { | ||
| 45 | - return v, nil | ||
| 46 | - } | ||
| 47 | - return nil, err | ||
| 48 | -} | ||
| 49 | - | ||
| 50 | -// GetAllQuestionScore retrieves all QuestionScore matches certain condition. Returns empty list if | ||
| 51 | -// no records exist | ||
| 52 | -func GetAllQuestionScore(query map[string]string, fields []string, sortby []string, order []string, | ||
| 53 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 54 | - o := orm.NewOrm() | ||
| 55 | - qs := o.QueryTable(new(QuestionScore)) | ||
| 56 | - // query k=v | ||
| 57 | - for k, v := range query { | ||
| 58 | - // rewrite dot-notation to Object__Attribute | ||
| 59 | - k = strings.Replace(k, ".", "__", -1) | ||
| 60 | - if strings.Contains(k, "isnull") { | ||
| 61 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 62 | - } else { | ||
| 63 | - qs = qs.Filter(k, v) | ||
| 64 | - } | ||
| 65 | - } | ||
| 66 | - // order by: | ||
| 67 | - var sortFields []string | ||
| 68 | - if len(sortby) != 0 { | ||
| 69 | - if len(sortby) == len(order) { | ||
| 70 | - // 1) for each sort field, there is an associated order | ||
| 71 | - for i, v := range sortby { | ||
| 72 | - orderby := "" | ||
| 73 | - if order[i] == "desc" { | ||
| 74 | - orderby = "-" + v | ||
| 75 | - } else if order[i] == "asc" { | ||
| 76 | - orderby = v | ||
| 77 | - } else { | ||
| 78 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 79 | - } | ||
| 80 | - sortFields = append(sortFields, orderby) | ||
| 81 | - } | ||
| 82 | - qs = qs.OrderBy(sortFields...) | ||
| 83 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 84 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 85 | - for _, v := range sortby { | ||
| 86 | - orderby := "" | ||
| 87 | - if order[0] == "desc" { | ||
| 88 | - orderby = "-" + v | ||
| 89 | - } else if order[0] == "asc" { | ||
| 90 | - orderby = v | ||
| 91 | - } else { | ||
| 92 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 93 | - } | ||
| 94 | - sortFields = append(sortFields, orderby) | ||
| 95 | - } | ||
| 96 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 97 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 98 | - } | ||
| 99 | - } else { | ||
| 100 | - if len(order) != 0 { | ||
| 101 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 102 | - } | ||
| 103 | - } | ||
| 104 | - | ||
| 105 | - var l []QuestionScore | ||
| 106 | - qs = qs.OrderBy(sortFields...) | ||
| 107 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 108 | - if len(fields) == 0 { | ||
| 109 | - for _, v := range l { | ||
| 110 | - ml = append(ml, v) | ||
| 111 | - } | ||
| 112 | - } else { | ||
| 113 | - // trim unused fields | ||
| 114 | - for _, v := range l { | ||
| 115 | - m := make(map[string]interface{}) | ||
| 116 | - val := reflect.ValueOf(v) | ||
| 117 | - for _, fname := range fields { | ||
| 118 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 119 | - } | ||
| 120 | - ml = append(ml, m) | ||
| 121 | - } | ||
| 122 | - } | ||
| 123 | - return ml, nil | ||
| 124 | - } | ||
| 125 | - return nil, err | ||
| 126 | -} | ||
| 127 | - | ||
| 128 | -// UpdateQuestionScore updates QuestionScore by Id and returns error if | ||
| 129 | -// the record to be updated doesn't exist | ||
| 130 | -func UpdateQuestionScoreById(m *QuestionScore) (err error) { | ||
| 131 | - o := orm.NewOrm() | ||
| 132 | - v := QuestionScore{Id: m.Id} | ||
| 133 | - // ascertain id exists in the database | ||
| 134 | - if err = o.Read(&v); err == nil { | ||
| 135 | - var num int64 | ||
| 136 | - if num, err = o.Update(m); err == nil { | ||
| 137 | - fmt.Println("Number of records updated in database:", num) | ||
| 138 | - } | ||
| 139 | - } | ||
| 140 | - return | ||
| 141 | -} | ||
| 142 | - | ||
| 143 | -// DeleteQuestionScore deletes QuestionScore by Id and returns error if | ||
| 144 | -// the record to be deleted doesn't exist | ||
| 145 | -func DeleteQuestionScore(id int) (err error) { | ||
| 146 | - o := orm.NewOrm() | ||
| 147 | - v := QuestionScore{Id: id} | ||
| 148 | - // ascertain id exists in the database | ||
| 149 | - if err = o.Read(&v); err == nil { | ||
| 150 | - var num int64 | ||
| 151 | - if num, err = o.Delete(&QuestionScore{Id: id}); err == nil { | ||
| 152 | - fmt.Println("Number of records deleted in database:", num) | ||
| 153 | - } | ||
| 154 | - } | ||
| 155 | - return | ||
| 156 | -} |
models/question_speech.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - | ||
| 9 | - "github.com/astaxie/beego/orm" | ||
| 10 | -) | ||
| 11 | - | ||
| 12 | -type QuestionSpeech struct { | ||
| 13 | - Id int `orm:"column(id);pk"` | ||
| 14 | - Duration int `orm:"column(duration);null" description:"秒数"` | ||
| 15 | - Qid int64 `orm:"column(qid);null" description:"所属的问题ID"` | ||
| 16 | - Path string `orm:"column(path);size(500);null" description:"语音路径"` | ||
| 17 | -} | ||
| 18 | - | ||
| 19 | -func (t *QuestionSpeech) TableName() string { | ||
| 20 | - return "question_speech" | ||
| 21 | -} | ||
| 22 | - | ||
| 23 | -func init() { | ||
| 24 | - orm.RegisterModel(new(QuestionSpeech)) | ||
| 25 | -} | ||
| 26 | - | ||
| 27 | -// AddQuestionSpeech insert a new QuestionSpeech into database and returns | ||
| 28 | -// last inserted Id on success. | ||
| 29 | -func AddQuestionSpeech(m *QuestionSpeech) (id int64, err error) { | ||
| 30 | - o := orm.NewOrm() | ||
| 31 | - id, err = o.Insert(m) | ||
| 32 | - return | ||
| 33 | -} | ||
| 34 | - | ||
| 35 | -// GetQuestionSpeechById retrieves QuestionSpeech by Id. Returns error if | ||
| 36 | -// Id doesn't exist | ||
| 37 | -func GetQuestionSpeechById(id int) (v *QuestionSpeech, err error) { | ||
| 38 | - o := orm.NewOrm() | ||
| 39 | - v = &QuestionSpeech{Id: id} | ||
| 40 | - if err = o.Read(v); err == nil { | ||
| 41 | - return v, nil | ||
| 42 | - } | ||
| 43 | - return nil, err | ||
| 44 | -} | ||
| 45 | - | ||
| 46 | -// GetAllQuestionSpeech retrieves all QuestionSpeech matches certain condition. Returns empty list if | ||
| 47 | -// no records exist | ||
| 48 | -func GetAllQuestionSpeech(query map[string]string, fields []string, sortby []string, order []string, | ||
| 49 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 50 | - o := orm.NewOrm() | ||
| 51 | - qs := o.QueryTable(new(QuestionSpeech)) | ||
| 52 | - // query k=v | ||
| 53 | - for k, v := range query { | ||
| 54 | - // rewrite dot-notation to Object__Attribute | ||
| 55 | - k = strings.Replace(k, ".", "__", -1) | ||
| 56 | - if strings.Contains(k, "isnull") { | ||
| 57 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 58 | - } else { | ||
| 59 | - qs = qs.Filter(k, v) | ||
| 60 | - } | ||
| 61 | - } | ||
| 62 | - // order by: | ||
| 63 | - var sortFields []string | ||
| 64 | - if len(sortby) != 0 { | ||
| 65 | - if len(sortby) == len(order) { | ||
| 66 | - // 1) for each sort field, there is an associated order | ||
| 67 | - for i, v := range sortby { | ||
| 68 | - orderby := "" | ||
| 69 | - if order[i] == "desc" { | ||
| 70 | - orderby = "-" + v | ||
| 71 | - } else if order[i] == "asc" { | ||
| 72 | - orderby = v | ||
| 73 | - } else { | ||
| 74 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 75 | - } | ||
| 76 | - sortFields = append(sortFields, orderby) | ||
| 77 | - } | ||
| 78 | - qs = qs.OrderBy(sortFields...) | ||
| 79 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 80 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 81 | - for _, v := range sortby { | ||
| 82 | - orderby := "" | ||
| 83 | - if order[0] == "desc" { | ||
| 84 | - orderby = "-" + v | ||
| 85 | - } else if order[0] == "asc" { | ||
| 86 | - orderby = v | ||
| 87 | - } else { | ||
| 88 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 89 | - } | ||
| 90 | - sortFields = append(sortFields, orderby) | ||
| 91 | - } | ||
| 92 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 93 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 94 | - } | ||
| 95 | - } else { | ||
| 96 | - if len(order) != 0 { | ||
| 97 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 98 | - } | ||
| 99 | - } | ||
| 100 | - | ||
| 101 | - var l []QuestionSpeech | ||
| 102 | - qs = qs.OrderBy(sortFields...) | ||
| 103 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 104 | - if len(fields) == 0 { | ||
| 105 | - for _, v := range l { | ||
| 106 | - ml = append(ml, v) | ||
| 107 | - } | ||
| 108 | - } else { | ||
| 109 | - // trim unused fields | ||
| 110 | - for _, v := range l { | ||
| 111 | - m := make(map[string]interface{}) | ||
| 112 | - val := reflect.ValueOf(v) | ||
| 113 | - for _, fname := range fields { | ||
| 114 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 115 | - } | ||
| 116 | - ml = append(ml, m) | ||
| 117 | - } | ||
| 118 | - } | ||
| 119 | - return ml, nil | ||
| 120 | - } | ||
| 121 | - return nil, err | ||
| 122 | -} | ||
| 123 | - | ||
| 124 | -// UpdateQuestionSpeech updates QuestionSpeech by Id and returns error if | ||
| 125 | -// the record to be updated doesn't exist | ||
| 126 | -func UpdateQuestionSpeechById(m *QuestionSpeech) (err error) { | ||
| 127 | - o := orm.NewOrm() | ||
| 128 | - v := QuestionSpeech{Id: m.Id} | ||
| 129 | - // ascertain id exists in the database | ||
| 130 | - if err = o.Read(&v); err == nil { | ||
| 131 | - var num int64 | ||
| 132 | - if num, err = o.Update(m); err == nil { | ||
| 133 | - fmt.Println("Number of records updated in database:", num) | ||
| 134 | - } | ||
| 135 | - } | ||
| 136 | - return | ||
| 137 | -} | ||
| 138 | - | ||
| 139 | -// DeleteQuestionSpeech deletes QuestionSpeech by Id and returns error if | ||
| 140 | -// the record to be deleted doesn't exist | ||
| 141 | -func DeleteQuestionSpeech(id int) (err error) { | ||
| 142 | - o := orm.NewOrm() | ||
| 143 | - v := QuestionSpeech{Id: id} | ||
| 144 | - // ascertain id exists in the database | ||
| 145 | - if err = o.Read(&v); err == nil { | ||
| 146 | - var num int64 | ||
| 147 | - if num, err = o.Delete(&QuestionSpeech{Id: id}); err == nil { | ||
| 148 | - fmt.Println("Number of records deleted in database:", num) | ||
| 149 | - } | ||
| 150 | - } | ||
| 151 | - return | ||
| 152 | -} |
models/roles.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - "time" | ||
| 9 | - | ||
| 10 | - "github.com/astaxie/beego/orm" | ||
| 11 | -) | ||
| 12 | - | ||
| 13 | -type Roles struct { | ||
| 14 | - Id int `orm:"column(id);auto"` | ||
| 15 | - Name string `orm:"column(name);size(191)"` | ||
| 16 | - GuardName string `orm:"column(guard_name);size(191)"` | ||
| 17 | - CreatedAt time.Time `orm:"column(created_at);type(timestamp);null"` | ||
| 18 | - UpdatedAt time.Time `orm:"column(updated_at);type(timestamp);null"` | ||
| 19 | - ShowName string `orm:"column(show_name);size(191)"` | ||
| 20 | - Description string `orm:"column(description);size(191);null"` | ||
| 21 | -} | ||
| 22 | - | ||
| 23 | -func (t *Roles) TableName() string { | ||
| 24 | - return "roles" | ||
| 25 | -} | ||
| 26 | - | ||
| 27 | -func init() { | ||
| 28 | - orm.RegisterModel(new(Roles)) | ||
| 29 | -} | ||
| 30 | - | ||
| 31 | -// AddRoles insert a new Roles into database and returns | ||
| 32 | -// last inserted Id on success. | ||
| 33 | -func AddRoles(m *Roles) (id int64, err error) { | ||
| 34 | - o := orm.NewOrm() | ||
| 35 | - id, err = o.Insert(m) | ||
| 36 | - return | ||
| 37 | -} | ||
| 38 | - | ||
| 39 | -// GetRolesById retrieves Roles by Id. Returns error if | ||
| 40 | -// Id doesn't exist | ||
| 41 | -func GetRolesById(id int) (v *Roles, err error) { | ||
| 42 | - o := orm.NewOrm() | ||
| 43 | - v = &Roles{Id: id} | ||
| 44 | - if err = o.Read(v); err == nil { | ||
| 45 | - return v, nil | ||
| 46 | - } | ||
| 47 | - return nil, err | ||
| 48 | -} | ||
| 49 | - | ||
| 50 | -// GetAllRoles retrieves all Roles matches certain condition. Returns empty list if | ||
| 51 | -// no records exist | ||
| 52 | -func GetAllRoles(query map[string]string, fields []string, sortby []string, order []string, | ||
| 53 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 54 | - o := orm.NewOrm() | ||
| 55 | - qs := o.QueryTable(new(Roles)) | ||
| 56 | - // query k=v | ||
| 57 | - for k, v := range query { | ||
| 58 | - // rewrite dot-notation to Object__Attribute | ||
| 59 | - k = strings.Replace(k, ".", "__", -1) | ||
| 60 | - if strings.Contains(k, "isnull") { | ||
| 61 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 62 | - } else { | ||
| 63 | - qs = qs.Filter(k, v) | ||
| 64 | - } | ||
| 65 | - } | ||
| 66 | - // order by: | ||
| 67 | - var sortFields []string | ||
| 68 | - if len(sortby) != 0 { | ||
| 69 | - if len(sortby) == len(order) { | ||
| 70 | - // 1) for each sort field, there is an associated order | ||
| 71 | - for i, v := range sortby { | ||
| 72 | - orderby := "" | ||
| 73 | - if order[i] == "desc" { | ||
| 74 | - orderby = "-" + v | ||
| 75 | - } else if order[i] == "asc" { | ||
| 76 | - orderby = v | ||
| 77 | - } else { | ||
| 78 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 79 | - } | ||
| 80 | - sortFields = append(sortFields, orderby) | ||
| 81 | - } | ||
| 82 | - qs = qs.OrderBy(sortFields...) | ||
| 83 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 84 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 85 | - for _, v := range sortby { | ||
| 86 | - orderby := "" | ||
| 87 | - if order[0] == "desc" { | ||
| 88 | - orderby = "-" + v | ||
| 89 | - } else if order[0] == "asc" { | ||
| 90 | - orderby = v | ||
| 91 | - } else { | ||
| 92 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 93 | - } | ||
| 94 | - sortFields = append(sortFields, orderby) | ||
| 95 | - } | ||
| 96 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 97 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 98 | - } | ||
| 99 | - } else { | ||
| 100 | - if len(order) != 0 { | ||
| 101 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 102 | - } | ||
| 103 | - } | ||
| 104 | - | ||
| 105 | - var l []Roles | ||
| 106 | - qs = qs.OrderBy(sortFields...) | ||
| 107 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 108 | - if len(fields) == 0 { | ||
| 109 | - for _, v := range l { | ||
| 110 | - ml = append(ml, v) | ||
| 111 | - } | ||
| 112 | - } else { | ||
| 113 | - // trim unused fields | ||
| 114 | - for _, v := range l { | ||
| 115 | - m := make(map[string]interface{}) | ||
| 116 | - val := reflect.ValueOf(v) | ||
| 117 | - for _, fname := range fields { | ||
| 118 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 119 | - } | ||
| 120 | - ml = append(ml, m) | ||
| 121 | - } | ||
| 122 | - } | ||
| 123 | - return ml, nil | ||
| 124 | - } | ||
| 125 | - return nil, err | ||
| 126 | -} | ||
| 127 | - | ||
| 128 | -// UpdateRoles updates Roles by Id and returns error if | ||
| 129 | -// the record to be updated doesn't exist | ||
| 130 | -func UpdateRolesById(m *Roles) (err error) { | ||
| 131 | - o := orm.NewOrm() | ||
| 132 | - v := Roles{Id: m.Id} | ||
| 133 | - // ascertain id exists in the database | ||
| 134 | - if err = o.Read(&v); err == nil { | ||
| 135 | - var num int64 | ||
| 136 | - if num, err = o.Update(m); err == nil { | ||
| 137 | - fmt.Println("Number of records updated in database:", num) | ||
| 138 | - } | ||
| 139 | - } | ||
| 140 | - return | ||
| 141 | -} | ||
| 142 | - | ||
| 143 | -// DeleteRoles deletes Roles by Id and returns error if | ||
| 144 | -// the record to be deleted doesn't exist | ||
| 145 | -func DeleteRoles(id int) (err error) { | ||
| 146 | - o := orm.NewOrm() | ||
| 147 | - v := Roles{Id: id} | ||
| 148 | - // ascertain id exists in the database | ||
| 149 | - if err = o.Read(&v); err == nil { | ||
| 150 | - var num int64 | ||
| 151 | - if num, err = o.Delete(&Roles{Id: id}); err == nil { | ||
| 152 | - fmt.Println("Number of records deleted in database:", num) | ||
| 153 | - } | ||
| 154 | - } | ||
| 155 | - return | ||
| 156 | -} |
models/solution.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import "time" | ||
| 4 | - | ||
| 5 | -type Solution struct { | ||
| 6 | - Id_RENAME int64 `orm:"column(id)" description:"方案ID"` | ||
| 7 | - QuestionTitle string `orm:"column(questionTitle);size(500);null" description:"问题标题"` | ||
| 8 | - Uid int64 `orm:"column(uid)" description:"方案提供者"` | ||
| 9 | - CreateTime time.Time `orm:"column(createTime);type(timestamp);null" description:"方案创建时间"` | ||
| 10 | - Content string `orm:"column(content);null" description:"方案内容"` | ||
| 11 | - ScoreAnalyze int `orm:"column(scoreAnalyze);null" description:"分析评分(0-5对应分数)"` | ||
| 12 | - ScoreSolution int `orm:"column(scoreSolution);null" description:"解决评分(0-5对应分数)"` | ||
| 13 | - ScoreScheme int `orm:"column(scoreScheme);null" description:"方案评分(0-5对应分数)"` | ||
| 14 | - PageView int `orm:"column(pageView);null" description:"浏览总数"` | ||
| 15 | - CommentTotal int `orm:"column(commentTotal);null" description:"评论总数"` | ||
| 16 | - SympathyTotal int `orm:"column(sympathyTotal);null" description:"同感总数"` | ||
| 17 | - Qid int64 `orm:"column(qid);null" description:"问题ID"` | ||
| 18 | - Plevel int `orm:"column(plevel);null" description:"最新评分人等级"` | ||
| 19 | - Stype int `orm:"column(stype);null" description:"0备选方案 1解决方案"` | ||
| 20 | - SpfUid int64 `orm:"column(spfUid)"` | ||
| 21 | - UpdateTime time.Time `orm:"column(updateTime);type(timestamp);auto_now_add" description:"方案编辑更新时间"` | ||
| 22 | -} |
models/solution_image.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - | ||
| 9 | - "github.com/astaxie/beego/orm" | ||
| 10 | -) | ||
| 11 | - | ||
| 12 | -type SolutionImage struct { | ||
| 13 | - Id int `orm:"column(id);auto" description:"方案ID"` | ||
| 14 | - SolutionId int64 `orm:"column(solution_id)" description:"解决方案ID"` | ||
| 15 | - Path string `orm:"column(path);size(255)" description:"图片路径"` | ||
| 16 | - H int `orm:"column(h)"` | ||
| 17 | - W int `orm:"column(w)"` | ||
| 18 | -} | ||
| 19 | - | ||
| 20 | -func (t *SolutionImage) TableName() string { | ||
| 21 | - return "solution_image" | ||
| 22 | -} | ||
| 23 | - | ||
| 24 | -func init() { | ||
| 25 | - orm.RegisterModel(new(SolutionImage)) | ||
| 26 | -} | ||
| 27 | - | ||
| 28 | -// AddSolutionImage insert a new SolutionImage into database and returns | ||
| 29 | -// last inserted Id on success. | ||
| 30 | -func AddSolutionImage(m *SolutionImage) (id int64, err error) { | ||
| 31 | - o := orm.NewOrm() | ||
| 32 | - id, err = o.Insert(m) | ||
| 33 | - return | ||
| 34 | -} | ||
| 35 | - | ||
| 36 | -// GetSolutionImageById retrieves SolutionImage by Id. Returns error if | ||
| 37 | -// Id doesn't exist | ||
| 38 | -func GetSolutionImageById(id int) (v *SolutionImage, err error) { | ||
| 39 | - o := orm.NewOrm() | ||
| 40 | - v = &SolutionImage{Id: id} | ||
| 41 | - if err = o.Read(v); err == nil { | ||
| 42 | - return v, nil | ||
| 43 | - } | ||
| 44 | - return nil, err | ||
| 45 | -} | ||
| 46 | - | ||
| 47 | -// GetAllSolutionImage retrieves all SolutionImage matches certain condition. Returns empty list if | ||
| 48 | -// no records exist | ||
| 49 | -func GetAllSolutionImage(query map[string]string, fields []string, sortby []string, order []string, | ||
| 50 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 51 | - o := orm.NewOrm() | ||
| 52 | - qs := o.QueryTable(new(SolutionImage)) | ||
| 53 | - // query k=v | ||
| 54 | - for k, v := range query { | ||
| 55 | - // rewrite dot-notation to Object__Attribute | ||
| 56 | - k = strings.Replace(k, ".", "__", -1) | ||
| 57 | - if strings.Contains(k, "isnull") { | ||
| 58 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 59 | - } else { | ||
| 60 | - qs = qs.Filter(k, v) | ||
| 61 | - } | ||
| 62 | - } | ||
| 63 | - // order by: | ||
| 64 | - var sortFields []string | ||
| 65 | - if len(sortby) != 0 { | ||
| 66 | - if len(sortby) == len(order) { | ||
| 67 | - // 1) for each sort field, there is an associated order | ||
| 68 | - for i, v := range sortby { | ||
| 69 | - orderby := "" | ||
| 70 | - if order[i] == "desc" { | ||
| 71 | - orderby = "-" + v | ||
| 72 | - } else if order[i] == "asc" { | ||
| 73 | - orderby = v | ||
| 74 | - } else { | ||
| 75 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 76 | - } | ||
| 77 | - sortFields = append(sortFields, orderby) | ||
| 78 | - } | ||
| 79 | - qs = qs.OrderBy(sortFields...) | ||
| 80 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 81 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 82 | - for _, v := range sortby { | ||
| 83 | - orderby := "" | ||
| 84 | - if order[0] == "desc" { | ||
| 85 | - orderby = "-" + v | ||
| 86 | - } else if order[0] == "asc" { | ||
| 87 | - orderby = v | ||
| 88 | - } else { | ||
| 89 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 90 | - } | ||
| 91 | - sortFields = append(sortFields, orderby) | ||
| 92 | - } | ||
| 93 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 94 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 95 | - } | ||
| 96 | - } else { | ||
| 97 | - if len(order) != 0 { | ||
| 98 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 99 | - } | ||
| 100 | - } | ||
| 101 | - | ||
| 102 | - var l []SolutionImage | ||
| 103 | - qs = qs.OrderBy(sortFields...) | ||
| 104 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 105 | - if len(fields) == 0 { | ||
| 106 | - for _, v := range l { | ||
| 107 | - ml = append(ml, v) | ||
| 108 | - } | ||
| 109 | - } else { | ||
| 110 | - // trim unused fields | ||
| 111 | - for _, v := range l { | ||
| 112 | - m := make(map[string]interface{}) | ||
| 113 | - val := reflect.ValueOf(v) | ||
| 114 | - for _, fname := range fields { | ||
| 115 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 116 | - } | ||
| 117 | - ml = append(ml, m) | ||
| 118 | - } | ||
| 119 | - } | ||
| 120 | - return ml, nil | ||
| 121 | - } | ||
| 122 | - return nil, err | ||
| 123 | -} | ||
| 124 | - | ||
| 125 | -// UpdateSolutionImage updates SolutionImage by Id and returns error if | ||
| 126 | -// the record to be updated doesn't exist | ||
| 127 | -func UpdateSolutionImageById(m *SolutionImage) (err error) { | ||
| 128 | - o := orm.NewOrm() | ||
| 129 | - v := SolutionImage{Id: m.Id} | ||
| 130 | - // ascertain id exists in the database | ||
| 131 | - if err = o.Read(&v); err == nil { | ||
| 132 | - var num int64 | ||
| 133 | - if num, err = o.Update(m); err == nil { | ||
| 134 | - fmt.Println("Number of records updated in database:", num) | ||
| 135 | - } | ||
| 136 | - } | ||
| 137 | - return | ||
| 138 | -} | ||
| 139 | - | ||
| 140 | -// DeleteSolutionImage deletes SolutionImage by Id and returns error if | ||
| 141 | -// the record to be deleted doesn't exist | ||
| 142 | -func DeleteSolutionImage(id int) (err error) { | ||
| 143 | - o := orm.NewOrm() | ||
| 144 | - v := SolutionImage{Id: id} | ||
| 145 | - // ascertain id exists in the database | ||
| 146 | - if err = o.Read(&v); err == nil { | ||
| 147 | - var num int64 | ||
| 148 | - if num, err = o.Delete(&SolutionImage{Id: id}); err == nil { | ||
| 149 | - fmt.Println("Number of records deleted in database:", num) | ||
| 150 | - } | ||
| 151 | - } | ||
| 152 | - return | ||
| 153 | -} |
models/solution_partner.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - "time" | ||
| 9 | - | ||
| 10 | - "github.com/astaxie/beego/orm" | ||
| 11 | -) | ||
| 12 | - | ||
| 13 | -type SolutionPartner struct { | ||
| 14 | - Id int `orm:"column(id);auto"` | ||
| 15 | - Uid int64 `orm:"column(uid);null" description:"参与者用户ID"` | ||
| 16 | - Sid int64 `orm:"column(sid);null" description:"解决方案ID"` | ||
| 17 | - ScoreSolution int `orm:"column(scoreSolution);null"` | ||
| 18 | - CreateTime time.Time `orm:"column(createTime);type(timestamp);auto_now_add" description:"评分时间"` | ||
| 19 | - Puid int64 `orm:"column(puid);null" description:"评分人用户ID"` | ||
| 20 | - Enabled int `orm:"column(enabled);null" description:"有效1 失效0"` | ||
| 21 | - Sort int `orm:"column(sort)" description:"排序字段"` | ||
| 22 | -} | ||
| 23 | - | ||
| 24 | -func (t *SolutionPartner) TableName() string { | ||
| 25 | - return "solution_partner" | ||
| 26 | -} | ||
| 27 | - | ||
| 28 | -func init() { | ||
| 29 | - orm.RegisterModel(new(SolutionPartner)) | ||
| 30 | -} | ||
| 31 | - | ||
| 32 | -// AddSolutionPartner insert a new SolutionPartner into database and returns | ||
| 33 | -// last inserted Id on success. | ||
| 34 | -func AddSolutionPartner(m *SolutionPartner) (id int64, err error) { | ||
| 35 | - o := orm.NewOrm() | ||
| 36 | - id, err = o.Insert(m) | ||
| 37 | - return | ||
| 38 | -} | ||
| 39 | - | ||
| 40 | -// GetSolutionPartnerById retrieves SolutionPartner by Id. Returns error if | ||
| 41 | -// Id doesn't exist | ||
| 42 | -func GetSolutionPartnerById(id int) (v *SolutionPartner, err error) { | ||
| 43 | - o := orm.NewOrm() | ||
| 44 | - v = &SolutionPartner{Id: id} | ||
| 45 | - if err = o.Read(v); err == nil { | ||
| 46 | - return v, nil | ||
| 47 | - } | ||
| 48 | - return nil, err | ||
| 49 | -} | ||
| 50 | - | ||
| 51 | -// GetAllSolutionPartner retrieves all SolutionPartner matches certain condition. Returns empty list if | ||
| 52 | -// no records exist | ||
| 53 | -func GetAllSolutionPartner(query map[string]string, fields []string, sortby []string, order []string, | ||
| 54 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 55 | - o := orm.NewOrm() | ||
| 56 | - qs := o.QueryTable(new(SolutionPartner)) | ||
| 57 | - // query k=v | ||
| 58 | - for k, v := range query { | ||
| 59 | - // rewrite dot-notation to Object__Attribute | ||
| 60 | - k = strings.Replace(k, ".", "__", -1) | ||
| 61 | - if strings.Contains(k, "isnull") { | ||
| 62 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 63 | - } else { | ||
| 64 | - qs = qs.Filter(k, v) | ||
| 65 | - } | ||
| 66 | - } | ||
| 67 | - // order by: | ||
| 68 | - var sortFields []string | ||
| 69 | - if len(sortby) != 0 { | ||
| 70 | - if len(sortby) == len(order) { | ||
| 71 | - // 1) for each sort field, there is an associated order | ||
| 72 | - for i, v := range sortby { | ||
| 73 | - orderby := "" | ||
| 74 | - if order[i] == "desc" { | ||
| 75 | - orderby = "-" + v | ||
| 76 | - } else if order[i] == "asc" { | ||
| 77 | - orderby = v | ||
| 78 | - } else { | ||
| 79 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 80 | - } | ||
| 81 | - sortFields = append(sortFields, orderby) | ||
| 82 | - } | ||
| 83 | - qs = qs.OrderBy(sortFields...) | ||
| 84 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 85 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 86 | - for _, v := range sortby { | ||
| 87 | - orderby := "" | ||
| 88 | - if order[0] == "desc" { | ||
| 89 | - orderby = "-" + v | ||
| 90 | - } else if order[0] == "asc" { | ||
| 91 | - orderby = v | ||
| 92 | - } else { | ||
| 93 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 94 | - } | ||
| 95 | - sortFields = append(sortFields, orderby) | ||
| 96 | - } | ||
| 97 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 98 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 99 | - } | ||
| 100 | - } else { | ||
| 101 | - if len(order) != 0 { | ||
| 102 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 103 | - } | ||
| 104 | - } | ||
| 105 | - | ||
| 106 | - var l []SolutionPartner | ||
| 107 | - qs = qs.OrderBy(sortFields...) | ||
| 108 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 109 | - if len(fields) == 0 { | ||
| 110 | - for _, v := range l { | ||
| 111 | - ml = append(ml, v) | ||
| 112 | - } | ||
| 113 | - } else { | ||
| 114 | - // trim unused fields | ||
| 115 | - for _, v := range l { | ||
| 116 | - m := make(map[string]interface{}) | ||
| 117 | - val := reflect.ValueOf(v) | ||
| 118 | - for _, fname := range fields { | ||
| 119 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 120 | - } | ||
| 121 | - ml = append(ml, m) | ||
| 122 | - } | ||
| 123 | - } | ||
| 124 | - return ml, nil | ||
| 125 | - } | ||
| 126 | - return nil, err | ||
| 127 | -} | ||
| 128 | - | ||
| 129 | -// UpdateSolutionPartner updates SolutionPartner by Id and returns error if | ||
| 130 | -// the record to be updated doesn't exist | ||
| 131 | -func UpdateSolutionPartnerById(m *SolutionPartner) (err error) { | ||
| 132 | - o := orm.NewOrm() | ||
| 133 | - v := SolutionPartner{Id: m.Id} | ||
| 134 | - // ascertain id exists in the database | ||
| 135 | - if err = o.Read(&v); err == nil { | ||
| 136 | - var num int64 | ||
| 137 | - if num, err = o.Update(m); err == nil { | ||
| 138 | - fmt.Println("Number of records updated in database:", num) | ||
| 139 | - } | ||
| 140 | - } | ||
| 141 | - return | ||
| 142 | -} | ||
| 143 | - | ||
| 144 | -// DeleteSolutionPartner deletes SolutionPartner by Id and returns error if | ||
| 145 | -// the record to be deleted doesn't exist | ||
| 146 | -func DeleteSolutionPartner(id int) (err error) { | ||
| 147 | - o := orm.NewOrm() | ||
| 148 | - v := SolutionPartner{Id: id} | ||
| 149 | - // ascertain id exists in the database | ||
| 150 | - if err = o.Read(&v); err == nil { | ||
| 151 | - var num int64 | ||
| 152 | - if num, err = o.Delete(&SolutionPartner{Id: id}); err == nil { | ||
| 153 | - fmt.Println("Number of records deleted in database:", num) | ||
| 154 | - } | ||
| 155 | - } | ||
| 156 | - return | ||
| 157 | -} |
models/solution_score.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - "time" | ||
| 9 | - | ||
| 10 | - "github.com/astaxie/beego/orm" | ||
| 11 | -) | ||
| 12 | - | ||
| 13 | -type SolutionScore struct { | ||
| 14 | - Id int `orm:"column(id);pk"` | ||
| 15 | - Uid int64 `orm:"column(uid);null" description:"评分用户ID"` | ||
| 16 | - Sid int64 `orm:"column(sid);null" description:"所属的问题ID"` | ||
| 17 | - ScoreAnalyze int `orm:"column(scoreAnalyze);null"` | ||
| 18 | - ScoreScheme int `orm:"column(scoreScheme);null"` | ||
| 19 | - ScoreSolution int `orm:"column(scoreSolution);null"` | ||
| 20 | - CreateTime time.Time `orm:"column(createTime);type(timestamp);auto_now" description:"评分时间"` | ||
| 21 | -} | ||
| 22 | - | ||
| 23 | -func (t *SolutionScore) TableName() string { | ||
| 24 | - return "solution_score" | ||
| 25 | -} | ||
| 26 | - | ||
| 27 | -func init() { | ||
| 28 | - orm.RegisterModel(new(SolutionScore)) | ||
| 29 | -} | ||
| 30 | - | ||
| 31 | -// AddSolutionScore insert a new SolutionScore into database and returns | ||
| 32 | -// last inserted Id on success. | ||
| 33 | -func AddSolutionScore(m *SolutionScore) (id int64, err error) { | ||
| 34 | - o := orm.NewOrm() | ||
| 35 | - id, err = o.Insert(m) | ||
| 36 | - return | ||
| 37 | -} | ||
| 38 | - | ||
| 39 | -// GetSolutionScoreById retrieves SolutionScore by Id. Returns error if | ||
| 40 | -// Id doesn't exist | ||
| 41 | -func GetSolutionScoreById(id int) (v *SolutionScore, err error) { | ||
| 42 | - o := orm.NewOrm() | ||
| 43 | - v = &SolutionScore{Id: id} | ||
| 44 | - if err = o.Read(v); err == nil { | ||
| 45 | - return v, nil | ||
| 46 | - } | ||
| 47 | - return nil, err | ||
| 48 | -} | ||
| 49 | - | ||
| 50 | -// GetAllSolutionScore retrieves all SolutionScore matches certain condition. Returns empty list if | ||
| 51 | -// no records exist | ||
| 52 | -func GetAllSolutionScore(query map[string]string, fields []string, sortby []string, order []string, | ||
| 53 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 54 | - o := orm.NewOrm() | ||
| 55 | - qs := o.QueryTable(new(SolutionScore)) | ||
| 56 | - // query k=v | ||
| 57 | - for k, v := range query { | ||
| 58 | - // rewrite dot-notation to Object__Attribute | ||
| 59 | - k = strings.Replace(k, ".", "__", -1) | ||
| 60 | - if strings.Contains(k, "isnull") { | ||
| 61 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 62 | - } else { | ||
| 63 | - qs = qs.Filter(k, v) | ||
| 64 | - } | ||
| 65 | - } | ||
| 66 | - // order by: | ||
| 67 | - var sortFields []string | ||
| 68 | - if len(sortby) != 0 { | ||
| 69 | - if len(sortby) == len(order) { | ||
| 70 | - // 1) for each sort field, there is an associated order | ||
| 71 | - for i, v := range sortby { | ||
| 72 | - orderby := "" | ||
| 73 | - if order[i] == "desc" { | ||
| 74 | - orderby = "-" + v | ||
| 75 | - } else if order[i] == "asc" { | ||
| 76 | - orderby = v | ||
| 77 | - } else { | ||
| 78 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 79 | - } | ||
| 80 | - sortFields = append(sortFields, orderby) | ||
| 81 | - } | ||
| 82 | - qs = qs.OrderBy(sortFields...) | ||
| 83 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 84 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 85 | - for _, v := range sortby { | ||
| 86 | - orderby := "" | ||
| 87 | - if order[0] == "desc" { | ||
| 88 | - orderby = "-" + v | ||
| 89 | - } else if order[0] == "asc" { | ||
| 90 | - orderby = v | ||
| 91 | - } else { | ||
| 92 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 93 | - } | ||
| 94 | - sortFields = append(sortFields, orderby) | ||
| 95 | - } | ||
| 96 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 97 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 98 | - } | ||
| 99 | - } else { | ||
| 100 | - if len(order) != 0 { | ||
| 101 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 102 | - } | ||
| 103 | - } | ||
| 104 | - | ||
| 105 | - var l []SolutionScore | ||
| 106 | - qs = qs.OrderBy(sortFields...) | ||
| 107 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 108 | - if len(fields) == 0 { | ||
| 109 | - for _, v := range l { | ||
| 110 | - ml = append(ml, v) | ||
| 111 | - } | ||
| 112 | - } else { | ||
| 113 | - // trim unused fields | ||
| 114 | - for _, v := range l { | ||
| 115 | - m := make(map[string]interface{}) | ||
| 116 | - val := reflect.ValueOf(v) | ||
| 117 | - for _, fname := range fields { | ||
| 118 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 119 | - } | ||
| 120 | - ml = append(ml, m) | ||
| 121 | - } | ||
| 122 | - } | ||
| 123 | - return ml, nil | ||
| 124 | - } | ||
| 125 | - return nil, err | ||
| 126 | -} | ||
| 127 | - | ||
| 128 | -// UpdateSolutionScore updates SolutionScore by Id and returns error if | ||
| 129 | -// the record to be updated doesn't exist | ||
| 130 | -func UpdateSolutionScoreById(m *SolutionScore) (err error) { | ||
| 131 | - o := orm.NewOrm() | ||
| 132 | - v := SolutionScore{Id: m.Id} | ||
| 133 | - // ascertain id exists in the database | ||
| 134 | - if err = o.Read(&v); err == nil { | ||
| 135 | - var num int64 | ||
| 136 | - if num, err = o.Update(m); err == nil { | ||
| 137 | - fmt.Println("Number of records updated in database:", num) | ||
| 138 | - } | ||
| 139 | - } | ||
| 140 | - return | ||
| 141 | -} | ||
| 142 | - | ||
| 143 | -// DeleteSolutionScore deletes SolutionScore by Id and returns error if | ||
| 144 | -// the record to be deleted doesn't exist | ||
| 145 | -func DeleteSolutionScore(id int) (err error) { | ||
| 146 | - o := orm.NewOrm() | ||
| 147 | - v := SolutionScore{Id: id} | ||
| 148 | - // ascertain id exists in the database | ||
| 149 | - if err = o.Read(&v); err == nil { | ||
| 150 | - var num int64 | ||
| 151 | - if num, err = o.Delete(&SolutionScore{Id: id}); err == nil { | ||
| 152 | - fmt.Println("Number of records deleted in database:", num) | ||
| 153 | - } | ||
| 154 | - } | ||
| 155 | - return | ||
| 156 | -} |
models/solve_solution.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - "time" | ||
| 9 | - | ||
| 10 | - "github.com/astaxie/beego/orm" | ||
| 11 | -) | ||
| 12 | - | ||
| 13 | -type SolveSolution struct { | ||
| 14 | - Id int `orm:"column(id);auto" description:"方案ID"` | ||
| 15 | - QuestionId int64 `orm:"column(question_id)" description:"问题ID"` | ||
| 16 | - UserId int64 `orm:"column(user_id)" description:"方案解决者"` | ||
| 17 | - Content string `orm:"column(content);null" description:"方案内容"` | ||
| 18 | - ScoreSolve int `orm:"column(scoreSolve);null" description:"解决评分(0-5对应分数)"` | ||
| 19 | - CreateTime time.Time `orm:"column(create_time);type(timestamp);null" description:"方案创建时间"` | ||
| 20 | -} | ||
| 21 | - | ||
| 22 | -func (t *SolveSolution) TableName() string { | ||
| 23 | - return "solve_solution" | ||
| 24 | -} | ||
| 25 | - | ||
| 26 | -func init() { | ||
| 27 | - orm.RegisterModel(new(SolveSolution)) | ||
| 28 | -} | ||
| 29 | - | ||
| 30 | -// AddSolveSolution insert a new SolveSolution into database and returns | ||
| 31 | -// last inserted Id on success. | ||
| 32 | -func AddSolveSolution(m *SolveSolution) (id int64, err error) { | ||
| 33 | - o := orm.NewOrm() | ||
| 34 | - id, err = o.Insert(m) | ||
| 35 | - return | ||
| 36 | -} | ||
| 37 | - | ||
| 38 | -// GetSolveSolutionById retrieves SolveSolution by Id. Returns error if | ||
| 39 | -// Id doesn't exist | ||
| 40 | -func GetSolveSolutionById(id int) (v *SolveSolution, err error) { | ||
| 41 | - o := orm.NewOrm() | ||
| 42 | - v = &SolveSolution{Id: id} | ||
| 43 | - if err = o.Read(v); err == nil { | ||
| 44 | - return v, nil | ||
| 45 | - } | ||
| 46 | - return nil, err | ||
| 47 | -} | ||
| 48 | - | ||
| 49 | -// GetAllSolveSolution retrieves all SolveSolution matches certain condition. Returns empty list if | ||
| 50 | -// no records exist | ||
| 51 | -func GetAllSolveSolution(query map[string]string, fields []string, sortby []string, order []string, | ||
| 52 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 53 | - o := orm.NewOrm() | ||
| 54 | - qs := o.QueryTable(new(SolveSolution)) | ||
| 55 | - // query k=v | ||
| 56 | - for k, v := range query { | ||
| 57 | - // rewrite dot-notation to Object__Attribute | ||
| 58 | - k = strings.Replace(k, ".", "__", -1) | ||
| 59 | - if strings.Contains(k, "isnull") { | ||
| 60 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 61 | - } else { | ||
| 62 | - qs = qs.Filter(k, v) | ||
| 63 | - } | ||
| 64 | - } | ||
| 65 | - // order by: | ||
| 66 | - var sortFields []string | ||
| 67 | - if len(sortby) != 0 { | ||
| 68 | - if len(sortby) == len(order) { | ||
| 69 | - // 1) for each sort field, there is an associated order | ||
| 70 | - for i, v := range sortby { | ||
| 71 | - orderby := "" | ||
| 72 | - if order[i] == "desc" { | ||
| 73 | - orderby = "-" + v | ||
| 74 | - } else if order[i] == "asc" { | ||
| 75 | - orderby = v | ||
| 76 | - } else { | ||
| 77 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 78 | - } | ||
| 79 | - sortFields = append(sortFields, orderby) | ||
| 80 | - } | ||
| 81 | - qs = qs.OrderBy(sortFields...) | ||
| 82 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 83 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 84 | - for _, v := range sortby { | ||
| 85 | - orderby := "" | ||
| 86 | - if order[0] == "desc" { | ||
| 87 | - orderby = "-" + v | ||
| 88 | - } else if order[0] == "asc" { | ||
| 89 | - orderby = v | ||
| 90 | - } else { | ||
| 91 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 92 | - } | ||
| 93 | - sortFields = append(sortFields, orderby) | ||
| 94 | - } | ||
| 95 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 96 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 97 | - } | ||
| 98 | - } else { | ||
| 99 | - if len(order) != 0 { | ||
| 100 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 101 | - } | ||
| 102 | - } | ||
| 103 | - | ||
| 104 | - var l []SolveSolution | ||
| 105 | - qs = qs.OrderBy(sortFields...) | ||
| 106 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 107 | - if len(fields) == 0 { | ||
| 108 | - for _, v := range l { | ||
| 109 | - ml = append(ml, v) | ||
| 110 | - } | ||
| 111 | - } else { | ||
| 112 | - // trim unused fields | ||
| 113 | - for _, v := range l { | ||
| 114 | - m := make(map[string]interface{}) | ||
| 115 | - val := reflect.ValueOf(v) | ||
| 116 | - for _, fname := range fields { | ||
| 117 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 118 | - } | ||
| 119 | - ml = append(ml, m) | ||
| 120 | - } | ||
| 121 | - } | ||
| 122 | - return ml, nil | ||
| 123 | - } | ||
| 124 | - return nil, err | ||
| 125 | -} | ||
| 126 | - | ||
| 127 | -// UpdateSolveSolution updates SolveSolution by Id and returns error if | ||
| 128 | -// the record to be updated doesn't exist | ||
| 129 | -func UpdateSolveSolutionById(m *SolveSolution) (err error) { | ||
| 130 | - o := orm.NewOrm() | ||
| 131 | - v := SolveSolution{Id: m.Id} | ||
| 132 | - // ascertain id exists in the database | ||
| 133 | - if err = o.Read(&v); err == nil { | ||
| 134 | - var num int64 | ||
| 135 | - if num, err = o.Update(m); err == nil { | ||
| 136 | - fmt.Println("Number of records updated in database:", num) | ||
| 137 | - } | ||
| 138 | - } | ||
| 139 | - return | ||
| 140 | -} | ||
| 141 | - | ||
| 142 | -// DeleteSolveSolution deletes SolveSolution by Id and returns error if | ||
| 143 | -// the record to be deleted doesn't exist | ||
| 144 | -func DeleteSolveSolution(id int) (err error) { | ||
| 145 | - o := orm.NewOrm() | ||
| 146 | - v := SolveSolution{Id: id} | ||
| 147 | - // ascertain id exists in the database | ||
| 148 | - if err = o.Read(&v); err == nil { | ||
| 149 | - var num int64 | ||
| 150 | - if num, err = o.Delete(&SolveSolution{Id: id}); err == nil { | ||
| 151 | - fmt.Println("Number of records deleted in database:", num) | ||
| 152 | - } | ||
| 153 | - } | ||
| 154 | - return | ||
| 155 | -} |
models/solve_solution_image.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - | ||
| 9 | - "github.com/astaxie/beego/orm" | ||
| 10 | -) | ||
| 11 | - | ||
| 12 | -type SolveSolutionImage struct { | ||
| 13 | - Id int `orm:"column(id);auto" description:"方案ID"` | ||
| 14 | - SolveSolutionId int `orm:"column(solve_solution_id)" description:"解决方案ID"` | ||
| 15 | - Path string `orm:"column(path);size(255)" description:"图片路径"` | ||
| 16 | - W int `orm:"column(w)"` | ||
| 17 | - H int `orm:"column(h)"` | ||
| 18 | -} | ||
| 19 | - | ||
| 20 | -func (t *SolveSolutionImage) TableName() string { | ||
| 21 | - return "solve_solution_image" | ||
| 22 | -} | ||
| 23 | - | ||
| 24 | -func init() { | ||
| 25 | - orm.RegisterModel(new(SolveSolutionImage)) | ||
| 26 | -} | ||
| 27 | - | ||
| 28 | -// AddSolveSolutionImage insert a new SolveSolutionImage into database and returns | ||
| 29 | -// last inserted Id on success. | ||
| 30 | -func AddSolveSolutionImage(m *SolveSolutionImage) (id int64, err error) { | ||
| 31 | - o := orm.NewOrm() | ||
| 32 | - id, err = o.Insert(m) | ||
| 33 | - return | ||
| 34 | -} | ||
| 35 | - | ||
| 36 | -// GetSolveSolutionImageById retrieves SolveSolutionImage by Id. Returns error if | ||
| 37 | -// Id doesn't exist | ||
| 38 | -func GetSolveSolutionImageById(id int) (v *SolveSolutionImage, err error) { | ||
| 39 | - o := orm.NewOrm() | ||
| 40 | - v = &SolveSolutionImage{Id: id} | ||
| 41 | - if err = o.Read(v); err == nil { | ||
| 42 | - return v, nil | ||
| 43 | - } | ||
| 44 | - return nil, err | ||
| 45 | -} | ||
| 46 | - | ||
| 47 | -// GetAllSolveSolutionImage retrieves all SolveSolutionImage matches certain condition. Returns empty list if | ||
| 48 | -// no records exist | ||
| 49 | -func GetAllSolveSolutionImage(query map[string]string, fields []string, sortby []string, order []string, | ||
| 50 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 51 | - o := orm.NewOrm() | ||
| 52 | - qs := o.QueryTable(new(SolveSolutionImage)) | ||
| 53 | - // query k=v | ||
| 54 | - for k, v := range query { | ||
| 55 | - // rewrite dot-notation to Object__Attribute | ||
| 56 | - k = strings.Replace(k, ".", "__", -1) | ||
| 57 | - if strings.Contains(k, "isnull") { | ||
| 58 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 59 | - } else { | ||
| 60 | - qs = qs.Filter(k, v) | ||
| 61 | - } | ||
| 62 | - } | ||
| 63 | - // order by: | ||
| 64 | - var sortFields []string | ||
| 65 | - if len(sortby) != 0 { | ||
| 66 | - if len(sortby) == len(order) { | ||
| 67 | - // 1) for each sort field, there is an associated order | ||
| 68 | - for i, v := range sortby { | ||
| 69 | - orderby := "" | ||
| 70 | - if order[i] == "desc" { | ||
| 71 | - orderby = "-" + v | ||
| 72 | - } else if order[i] == "asc" { | ||
| 73 | - orderby = v | ||
| 74 | - } else { | ||
| 75 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 76 | - } | ||
| 77 | - sortFields = append(sortFields, orderby) | ||
| 78 | - } | ||
| 79 | - qs = qs.OrderBy(sortFields...) | ||
| 80 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 81 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 82 | - for _, v := range sortby { | ||
| 83 | - orderby := "" | ||
| 84 | - if order[0] == "desc" { | ||
| 85 | - orderby = "-" + v | ||
| 86 | - } else if order[0] == "asc" { | ||
| 87 | - orderby = v | ||
| 88 | - } else { | ||
| 89 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 90 | - } | ||
| 91 | - sortFields = append(sortFields, orderby) | ||
| 92 | - } | ||
| 93 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 94 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 95 | - } | ||
| 96 | - } else { | ||
| 97 | - if len(order) != 0 { | ||
| 98 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 99 | - } | ||
| 100 | - } | ||
| 101 | - | ||
| 102 | - var l []SolveSolutionImage | ||
| 103 | - qs = qs.OrderBy(sortFields...) | ||
| 104 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 105 | - if len(fields) == 0 { | ||
| 106 | - for _, v := range l { | ||
| 107 | - ml = append(ml, v) | ||
| 108 | - } | ||
| 109 | - } else { | ||
| 110 | - // trim unused fields | ||
| 111 | - for _, v := range l { | ||
| 112 | - m := make(map[string]interface{}) | ||
| 113 | - val := reflect.ValueOf(v) | ||
| 114 | - for _, fname := range fields { | ||
| 115 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 116 | - } | ||
| 117 | - ml = append(ml, m) | ||
| 118 | - } | ||
| 119 | - } | ||
| 120 | - return ml, nil | ||
| 121 | - } | ||
| 122 | - return nil, err | ||
| 123 | -} | ||
| 124 | - | ||
| 125 | -// UpdateSolveSolutionImage updates SolveSolutionImage by Id and returns error if | ||
| 126 | -// the record to be updated doesn't exist | ||
| 127 | -func UpdateSolveSolutionImageById(m *SolveSolutionImage) (err error) { | ||
| 128 | - o := orm.NewOrm() | ||
| 129 | - v := SolveSolutionImage{Id: m.Id} | ||
| 130 | - // ascertain id exists in the database | ||
| 131 | - if err = o.Read(&v); err == nil { | ||
| 132 | - var num int64 | ||
| 133 | - if num, err = o.Update(m); err == nil { | ||
| 134 | - fmt.Println("Number of records updated in database:", num) | ||
| 135 | - } | ||
| 136 | - } | ||
| 137 | - return | ||
| 138 | -} | ||
| 139 | - | ||
| 140 | -// DeleteSolveSolutionImage deletes SolveSolutionImage by Id and returns error if | ||
| 141 | -// the record to be deleted doesn't exist | ||
| 142 | -func DeleteSolveSolutionImage(id int) (err error) { | ||
| 143 | - o := orm.NewOrm() | ||
| 144 | - v := SolveSolutionImage{Id: id} | ||
| 145 | - // ascertain id exists in the database | ||
| 146 | - if err = o.Read(&v); err == nil { | ||
| 147 | - var num int64 | ||
| 148 | - if num, err = o.Delete(&SolveSolutionImage{Id: id}); err == nil { | ||
| 149 | - fmt.Println("Number of records deleted in database:", num) | ||
| 150 | - } | ||
| 151 | - } | ||
| 152 | - return | ||
| 153 | -} |
models/user_announcement_rela.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - "time" | ||
| 9 | - | ||
| 10 | - "github.com/astaxie/beego/orm" | ||
| 11 | -) | ||
| 12 | - | ||
| 13 | -type UserAnnouncementRela struct { | ||
| 14 | - Id int `orm:"column(id);pk" description:"主键ID"` | ||
| 15 | - CreateTime time.Time `orm:"column(createTime);type(timestamp);auto_now_add" description:"创建时间"` | ||
| 16 | - Uid int64 `orm:"column(uid)" description:"消息标题"` | ||
| 17 | - Aid int64 `orm:"column(aid)"` | ||
| 18 | -} | ||
| 19 | - | ||
| 20 | -func (t *UserAnnouncementRela) TableName() string { | ||
| 21 | - return "user_announcement_rela" | ||
| 22 | -} | ||
| 23 | - | ||
| 24 | -func init() { | ||
| 25 | - orm.RegisterModel(new(UserAnnouncementRela)) | ||
| 26 | -} | ||
| 27 | - | ||
| 28 | -// AddUserAnnouncementRela insert a new UserAnnouncementRela into database and returns | ||
| 29 | -// last inserted Id on success. | ||
| 30 | -func AddUserAnnouncementRela(m *UserAnnouncementRela) (id int64, err error) { | ||
| 31 | - o := orm.NewOrm() | ||
| 32 | - id, err = o.Insert(m) | ||
| 33 | - return | ||
| 34 | -} | ||
| 35 | - | ||
| 36 | -// GetUserAnnouncementRelaById retrieves UserAnnouncementRela by Id. Returns error if | ||
| 37 | -// Id doesn't exist | ||
| 38 | -func GetUserAnnouncementRelaById(id int) (v *UserAnnouncementRela, err error) { | ||
| 39 | - o := orm.NewOrm() | ||
| 40 | - v = &UserAnnouncementRela{Id: id} | ||
| 41 | - if err = o.Read(v); err == nil { | ||
| 42 | - return v, nil | ||
| 43 | - } | ||
| 44 | - return nil, err | ||
| 45 | -} | ||
| 46 | - | ||
| 47 | -// GetAllUserAnnouncementRela retrieves all UserAnnouncementRela matches certain condition. Returns empty list if | ||
| 48 | -// no records exist | ||
| 49 | -func GetAllUserAnnouncementRela(query map[string]string, fields []string, sortby []string, order []string, | ||
| 50 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 51 | - o := orm.NewOrm() | ||
| 52 | - qs := o.QueryTable(new(UserAnnouncementRela)) | ||
| 53 | - // query k=v | ||
| 54 | - for k, v := range query { | ||
| 55 | - // rewrite dot-notation to Object__Attribute | ||
| 56 | - k = strings.Replace(k, ".", "__", -1) | ||
| 57 | - if strings.Contains(k, "isnull") { | ||
| 58 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 59 | - } else { | ||
| 60 | - qs = qs.Filter(k, v) | ||
| 61 | - } | ||
| 62 | - } | ||
| 63 | - // order by: | ||
| 64 | - var sortFields []string | ||
| 65 | - if len(sortby) != 0 { | ||
| 66 | - if len(sortby) == len(order) { | ||
| 67 | - // 1) for each sort field, there is an associated order | ||
| 68 | - for i, v := range sortby { | ||
| 69 | - orderby := "" | ||
| 70 | - if order[i] == "desc" { | ||
| 71 | - orderby = "-" + v | ||
| 72 | - } else if order[i] == "asc" { | ||
| 73 | - orderby = v | ||
| 74 | - } else { | ||
| 75 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 76 | - } | ||
| 77 | - sortFields = append(sortFields, orderby) | ||
| 78 | - } | ||
| 79 | - qs = qs.OrderBy(sortFields...) | ||
| 80 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 81 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 82 | - for _, v := range sortby { | ||
| 83 | - orderby := "" | ||
| 84 | - if order[0] == "desc" { | ||
| 85 | - orderby = "-" + v | ||
| 86 | - } else if order[0] == "asc" { | ||
| 87 | - orderby = v | ||
| 88 | - } else { | ||
| 89 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 90 | - } | ||
| 91 | - sortFields = append(sortFields, orderby) | ||
| 92 | - } | ||
| 93 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 94 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 95 | - } | ||
| 96 | - } else { | ||
| 97 | - if len(order) != 0 { | ||
| 98 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 99 | - } | ||
| 100 | - } | ||
| 101 | - | ||
| 102 | - var l []UserAnnouncementRela | ||
| 103 | - qs = qs.OrderBy(sortFields...) | ||
| 104 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 105 | - if len(fields) == 0 { | ||
| 106 | - for _, v := range l { | ||
| 107 | - ml = append(ml, v) | ||
| 108 | - } | ||
| 109 | - } else { | ||
| 110 | - // trim unused fields | ||
| 111 | - for _, v := range l { | ||
| 112 | - m := make(map[string]interface{}) | ||
| 113 | - val := reflect.ValueOf(v) | ||
| 114 | - for _, fname := range fields { | ||
| 115 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 116 | - } | ||
| 117 | - ml = append(ml, m) | ||
| 118 | - } | ||
| 119 | - } | ||
| 120 | - return ml, nil | ||
| 121 | - } | ||
| 122 | - return nil, err | ||
| 123 | -} | ||
| 124 | - | ||
| 125 | -// UpdateUserAnnouncementRela updates UserAnnouncementRela by Id and returns error if | ||
| 126 | -// the record to be updated doesn't exist | ||
| 127 | -func UpdateUserAnnouncementRelaById(m *UserAnnouncementRela) (err error) { | ||
| 128 | - o := orm.NewOrm() | ||
| 129 | - v := UserAnnouncementRela{Id: m.Id} | ||
| 130 | - // ascertain id exists in the database | ||
| 131 | - if err = o.Read(&v); err == nil { | ||
| 132 | - var num int64 | ||
| 133 | - if num, err = o.Update(m); err == nil { | ||
| 134 | - fmt.Println("Number of records updated in database:", num) | ||
| 135 | - } | ||
| 136 | - } | ||
| 137 | - return | ||
| 138 | -} | ||
| 139 | - | ||
| 140 | -// DeleteUserAnnouncementRela deletes UserAnnouncementRela by Id and returns error if | ||
| 141 | -// the record to be deleted doesn't exist | ||
| 142 | -func DeleteUserAnnouncementRela(id int) (err error) { | ||
| 143 | - o := orm.NewOrm() | ||
| 144 | - v := UserAnnouncementRela{Id: id} | ||
| 145 | - // ascertain id exists in the database | ||
| 146 | - if err = o.Read(&v); err == nil { | ||
| 147 | - var num int64 | ||
| 148 | - if num, err = o.Delete(&UserAnnouncementRela{Id: id}); err == nil { | ||
| 149 | - fmt.Println("Number of records deleted in database:", num) | ||
| 150 | - } | ||
| 151 | - } | ||
| 152 | - return | ||
| 153 | -} |
models/cfg_qtype.go
→
models/user_auth.go
100755 → 100644
| @@ -10,47 +10,50 @@ import ( | @@ -10,47 +10,50 @@ import ( | ||
| 10 | "github.com/astaxie/beego/orm" | 10 | "github.com/astaxie/beego/orm" |
| 11 | ) | 11 | ) |
| 12 | 12 | ||
| 13 | -type CfgQtype struct { | ||
| 14 | - Id int `orm:"column(id);auto" description:"主键ID"` | ||
| 15 | - CompanyId int `orm:"column(company_id)" description:"公司Id"` | ||
| 16 | - Name string `orm:"column(name);size(200)" description:"消息标题"` | ||
| 17 | - CreateTime time.Time `orm:"column(createTime);type(timestamp);auto_now_add" description:"创建时间"` | ||
| 18 | - Enabled int `orm:"column(enabled)"` | 13 | +type UserAuth struct { |
| 14 | + Id int `orm:"column(id);auto"` | ||
| 15 | + UserId int64 `orm:"column(user_id)" description:"表user.id "` | ||
| 16 | + RefreshToken string `orm:"column(refresh_token);size(64)" description:"refresh token "` | ||
| 17 | + RefreshTokenExp time.Time `orm:"column(refresh_token_exp);type(timestamp);auto_now_add" description:"refresh token 过期时间"` | ||
| 18 | + AccessToken string `orm:"column(access_token);size(64)" description:"access_token "` | ||
| 19 | + AccessTokenExp time.Time `orm:"column(access_token_exp);type(timestamp);auto_now_add" description:"access token 过期时间"` | ||
| 20 | + AuthCode string `orm:"column(auth_code);size(64)" description:"auth_code"` | ||
| 21 | + AuthCodeExp time.Time `orm:"column(auth_code_exp);type(timestamp);auto_now_add" description:"auth_code过期时间"` | ||
| 19 | } | 22 | } |
| 20 | 23 | ||
| 21 | -func (t *CfgQtype) TableName() string { | ||
| 22 | - return "cfg_qtype" | 24 | +func (t *UserAuth) TableName() string { |
| 25 | + return "user_auth" | ||
| 23 | } | 26 | } |
| 24 | 27 | ||
| 25 | func init() { | 28 | func init() { |
| 26 | - orm.RegisterModel(new(CfgQtype)) | 29 | + orm.RegisterModel(new(UserAuth)) |
| 27 | } | 30 | } |
| 28 | 31 | ||
| 29 | -// AddCfgQtype insert a new CfgQtype into database and returns | 32 | +// AddUserAuth insert a new UserAuth into database and returns |
| 30 | // last inserted Id on success. | 33 | // last inserted Id on success. |
| 31 | -func AddCfgQtype(m *CfgQtype) (id int64, err error) { | 34 | +func AddUserAuth(m *UserAuth) (id int64, err error) { |
| 32 | o := orm.NewOrm() | 35 | o := orm.NewOrm() |
| 33 | id, err = o.Insert(m) | 36 | id, err = o.Insert(m) |
| 34 | return | 37 | return |
| 35 | } | 38 | } |
| 36 | 39 | ||
| 37 | -// GetCfgQtypeById retrieves CfgQtype by Id. Returns error if | 40 | +// GetUserAuthById retrieves UserAuth by Id. Returns error if |
| 38 | // Id doesn't exist | 41 | // Id doesn't exist |
| 39 | -func GetCfgQtypeById(id int) (v *CfgQtype, err error) { | 42 | +func GetUserAuthById(id int) (v *UserAuth, err error) { |
| 40 | o := orm.NewOrm() | 43 | o := orm.NewOrm() |
| 41 | - v = &CfgQtype{Id: id} | 44 | + v = &UserAuth{Id: id} |
| 42 | if err = o.Read(v); err == nil { | 45 | if err = o.Read(v); err == nil { |
| 43 | return v, nil | 46 | return v, nil |
| 44 | } | 47 | } |
| 45 | return nil, err | 48 | return nil, err |
| 46 | } | 49 | } |
| 47 | 50 | ||
| 48 | -// GetAllCfgQtype retrieves all CfgQtype matches certain condition. Returns empty list if | 51 | +// GetAllUserAuth retrieves all UserAuth matches certain condition. Returns empty list if |
| 49 | // no records exist | 52 | // no records exist |
| 50 | -func GetAllCfgQtype(query map[string]string, fields []string, sortby []string, order []string, | 53 | +func GetAllUserAuth(query map[string]string, fields []string, sortby []string, order []string, |
| 51 | offset int64, limit int64) (ml []interface{}, err error) { | 54 | offset int64, limit int64) (ml []interface{}, err error) { |
| 52 | o := orm.NewOrm() | 55 | o := orm.NewOrm() |
| 53 | - qs := o.QueryTable(new(CfgQtype)) | 56 | + qs := o.QueryTable(new(UserAuth)) |
| 54 | // query k=v | 57 | // query k=v |
| 55 | for k, v := range query { | 58 | for k, v := range query { |
| 56 | // rewrite dot-notation to Object__Attribute | 59 | // rewrite dot-notation to Object__Attribute |
| @@ -100,7 +103,7 @@ func GetAllCfgQtype(query map[string]string, fields []string, sortby []string, o | @@ -100,7 +103,7 @@ func GetAllCfgQtype(query map[string]string, fields []string, sortby []string, o | ||
| 100 | } | 103 | } |
| 101 | } | 104 | } |
| 102 | 105 | ||
| 103 | - var l []CfgQtype | 106 | + var l []UserAuth |
| 104 | qs = qs.OrderBy(sortFields...) | 107 | qs = qs.OrderBy(sortFields...) |
| 105 | if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | 108 | if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { |
| 106 | if len(fields) == 0 { | 109 | if len(fields) == 0 { |
| @@ -123,11 +126,11 @@ func GetAllCfgQtype(query map[string]string, fields []string, sortby []string, o | @@ -123,11 +126,11 @@ func GetAllCfgQtype(query map[string]string, fields []string, sortby []string, o | ||
| 123 | return nil, err | 126 | return nil, err |
| 124 | } | 127 | } |
| 125 | 128 | ||
| 126 | -// UpdateCfgQtype updates CfgQtype by Id and returns error if | 129 | +// UpdateUserAuth updates UserAuth by Id and returns error if |
| 127 | // the record to be updated doesn't exist | 130 | // the record to be updated doesn't exist |
| 128 | -func UpdateCfgQtypeById(m *CfgQtype) (err error) { | 131 | +func UpdateUserAuthById(m *UserAuth) (err error) { |
| 129 | o := orm.NewOrm() | 132 | o := orm.NewOrm() |
| 130 | - v := CfgQtype{Id: m.Id} | 133 | + v := UserAuth{Id: m.Id} |
| 131 | // ascertain id exists in the database | 134 | // ascertain id exists in the database |
| 132 | if err = o.Read(&v); err == nil { | 135 | if err = o.Read(&v); err == nil { |
| 133 | var num int64 | 136 | var num int64 |
| @@ -138,17 +141,55 @@ func UpdateCfgQtypeById(m *CfgQtype) (err error) { | @@ -138,17 +141,55 @@ func UpdateCfgQtypeById(m *CfgQtype) (err error) { | ||
| 138 | return | 141 | return |
| 139 | } | 142 | } |
| 140 | 143 | ||
| 141 | -// DeleteCfgQtype deletes CfgQtype by Id and returns error if | 144 | +// DeleteUserAuth deletes UserAuth by Id and returns error if |
| 142 | // the record to be deleted doesn't exist | 145 | // the record to be deleted doesn't exist |
| 143 | -func DeleteCfgQtype(id int) (err error) { | 146 | +func DeleteUserAuth(id int) (err error) { |
| 144 | o := orm.NewOrm() | 147 | o := orm.NewOrm() |
| 145 | - v := CfgQtype{Id: id} | 148 | + v := UserAuth{Id: id} |
| 146 | // ascertain id exists in the database | 149 | // ascertain id exists in the database |
| 147 | if err = o.Read(&v); err == nil { | 150 | if err = o.Read(&v); err == nil { |
| 148 | var num int64 | 151 | var num int64 |
| 149 | - if num, err = o.Delete(&CfgQtype{Id: id}); err == nil { | 152 | + if num, err = o.Delete(&UserAuth{Id: id}); err == nil { |
| 150 | fmt.Println("Number of records deleted in database:", num) | 153 | fmt.Println("Number of records deleted in database:", num) |
| 151 | } | 154 | } |
| 152 | } | 155 | } |
| 153 | return | 156 | return |
| 154 | } | 157 | } |
| 158 | + | ||
| 159 | +func GetUserByAuthCode(authCode string) (v *UserAuth, err error) { | ||
| 160 | + o := orm.NewOrm() | ||
| 161 | + sql := "select * from user_auth where auth_code=? and auth_exp >= Now()" | ||
| 162 | + if err = o.Raw(sql, authCode).QueryRow(&v); err == nil { | ||
| 163 | + return v, nil | ||
| 164 | + } | ||
| 165 | + return nil, err | ||
| 166 | +} | ||
| 167 | + | ||
| 168 | +func GetUserAuthByRefreshToken(refreshToken string) (v *UserAuth, err error) { | ||
| 169 | + o := orm.NewOrm() | ||
| 170 | + sql := "select * from user_auth where refresh_token=? and auth_exp >= Now()" // TODO: and enabled = 1 | ||
| 171 | + if err = o.Raw(sql, refreshToken).QueryRow(&v); err == nil { | ||
| 172 | + return v, nil | ||
| 173 | + } | ||
| 174 | + return nil, err | ||
| 175 | +} | ||
| 176 | + | ||
| 177 | +func GetUserAuthByToken(refreshToken string) (v *UserAuth, err error) { | ||
| 178 | + o := orm.NewOrm() | ||
| 179 | + sql := "select * from user_auth where refresh_token=? and auth_exp >= Now()" // TODO: and enabled = 1 | ||
| 180 | + if err = o.Raw(sql, refreshToken).QueryRow(&v); err == nil { | ||
| 181 | + return v, nil | ||
| 182 | + } | ||
| 183 | + return nil, err | ||
| 184 | +} | ||
| 185 | + | ||
| 186 | +// GetUserAuthById retrieves UserAuth by Id. Returns error if | ||
| 187 | +// Id doesn't exist | ||
| 188 | +func GetUserAuthByUserId(uid int64) (v *UserAuth, err error) { | ||
| 189 | + o := orm.NewOrm() | ||
| 190 | + sql := "select * from user_id where user_id=?" // | ||
| 191 | + if err = o.Raw(sql, uid).QueryRow(&v); err == nil { | ||
| 192 | + return v, nil | ||
| 193 | + } | ||
| 194 | + return nil, err | ||
| 195 | +} |
models/user_bulletin_rela.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - "time" | ||
| 9 | - | ||
| 10 | - "github.com/astaxie/beego/orm" | ||
| 11 | -) | ||
| 12 | - | ||
| 13 | -type UserBulletinRela struct { | ||
| 14 | - Id int `orm:"column(id);pk" description:"主键ID"` | ||
| 15 | - CreateTime time.Time `orm:"column(createTime);type(timestamp);auto_now_add" description:"创建时间"` | ||
| 16 | - Uid int64 `orm:"column(uid)" description:"消息标题"` | ||
| 17 | - Aid int64 `orm:"column(aid)"` | ||
| 18 | -} | ||
| 19 | - | ||
| 20 | -func (t *UserBulletinRela) TableName() string { | ||
| 21 | - return "user_bulletin_rela" | ||
| 22 | -} | ||
| 23 | - | ||
| 24 | -func init() { | ||
| 25 | - orm.RegisterModel(new(UserBulletinRela)) | ||
| 26 | -} | ||
| 27 | - | ||
| 28 | -// AddUserBulletinRela insert a new UserBulletinRela into database and returns | ||
| 29 | -// last inserted Id on success. | ||
| 30 | -func AddUserBulletinRela(m *UserBulletinRela) (id int64, err error) { | ||
| 31 | - o := orm.NewOrm() | ||
| 32 | - id, err = o.Insert(m) | ||
| 33 | - return | ||
| 34 | -} | ||
| 35 | - | ||
| 36 | -// GetUserBulletinRelaById retrieves UserBulletinRela by Id. Returns error if | ||
| 37 | -// Id doesn't exist | ||
| 38 | -func GetUserBulletinRelaById(id int) (v *UserBulletinRela, err error) { | ||
| 39 | - o := orm.NewOrm() | ||
| 40 | - v = &UserBulletinRela{Id: id} | ||
| 41 | - if err = o.Read(v); err == nil { | ||
| 42 | - return v, nil | ||
| 43 | - } | ||
| 44 | - return nil, err | ||
| 45 | -} | ||
| 46 | - | ||
| 47 | -// GetAllUserBulletinRela retrieves all UserBulletinRela matches certain condition. Returns empty list if | ||
| 48 | -// no records exist | ||
| 49 | -func GetAllUserBulletinRela(query map[string]string, fields []string, sortby []string, order []string, | ||
| 50 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 51 | - o := orm.NewOrm() | ||
| 52 | - qs := o.QueryTable(new(UserBulletinRela)) | ||
| 53 | - // query k=v | ||
| 54 | - for k, v := range query { | ||
| 55 | - // rewrite dot-notation to Object__Attribute | ||
| 56 | - k = strings.Replace(k, ".", "__", -1) | ||
| 57 | - if strings.Contains(k, "isnull") { | ||
| 58 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 59 | - } else { | ||
| 60 | - qs = qs.Filter(k, v) | ||
| 61 | - } | ||
| 62 | - } | ||
| 63 | - // order by: | ||
| 64 | - var sortFields []string | ||
| 65 | - if len(sortby) != 0 { | ||
| 66 | - if len(sortby) == len(order) { | ||
| 67 | - // 1) for each sort field, there is an associated order | ||
| 68 | - for i, v := range sortby { | ||
| 69 | - orderby := "" | ||
| 70 | - if order[i] == "desc" { | ||
| 71 | - orderby = "-" + v | ||
| 72 | - } else if order[i] == "asc" { | ||
| 73 | - orderby = v | ||
| 74 | - } else { | ||
| 75 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 76 | - } | ||
| 77 | - sortFields = append(sortFields, orderby) | ||
| 78 | - } | ||
| 79 | - qs = qs.OrderBy(sortFields...) | ||
| 80 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 81 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 82 | - for _, v := range sortby { | ||
| 83 | - orderby := "" | ||
| 84 | - if order[0] == "desc" { | ||
| 85 | - orderby = "-" + v | ||
| 86 | - } else if order[0] == "asc" { | ||
| 87 | - orderby = v | ||
| 88 | - } else { | ||
| 89 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 90 | - } | ||
| 91 | - sortFields = append(sortFields, orderby) | ||
| 92 | - } | ||
| 93 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 94 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 95 | - } | ||
| 96 | - } else { | ||
| 97 | - if len(order) != 0 { | ||
| 98 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 99 | - } | ||
| 100 | - } | ||
| 101 | - | ||
| 102 | - var l []UserBulletinRela | ||
| 103 | - qs = qs.OrderBy(sortFields...) | ||
| 104 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 105 | - if len(fields) == 0 { | ||
| 106 | - for _, v := range l { | ||
| 107 | - ml = append(ml, v) | ||
| 108 | - } | ||
| 109 | - } else { | ||
| 110 | - // trim unused fields | ||
| 111 | - for _, v := range l { | ||
| 112 | - m := make(map[string]interface{}) | ||
| 113 | - val := reflect.ValueOf(v) | ||
| 114 | - for _, fname := range fields { | ||
| 115 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 116 | - } | ||
| 117 | - ml = append(ml, m) | ||
| 118 | - } | ||
| 119 | - } | ||
| 120 | - return ml, nil | ||
| 121 | - } | ||
| 122 | - return nil, err | ||
| 123 | -} | ||
| 124 | - | ||
| 125 | -// UpdateUserBulletinRela updates UserBulletinRela by Id and returns error if | ||
| 126 | -// the record to be updated doesn't exist | ||
| 127 | -func UpdateUserBulletinRelaById(m *UserBulletinRela) (err error) { | ||
| 128 | - o := orm.NewOrm() | ||
| 129 | - v := UserBulletinRela{Id: m.Id} | ||
| 130 | - // ascertain id exists in the database | ||
| 131 | - if err = o.Read(&v); err == nil { | ||
| 132 | - var num int64 | ||
| 133 | - if num, err = o.Update(m); err == nil { | ||
| 134 | - fmt.Println("Number of records updated in database:", num) | ||
| 135 | - } | ||
| 136 | - } | ||
| 137 | - return | ||
| 138 | -} | ||
| 139 | - | ||
| 140 | -// DeleteUserBulletinRela deletes UserBulletinRela by Id and returns error if | ||
| 141 | -// the record to be deleted doesn't exist | ||
| 142 | -func DeleteUserBulletinRela(id int) (err error) { | ||
| 143 | - o := orm.NewOrm() | ||
| 144 | - v := UserBulletinRela{Id: id} | ||
| 145 | - // ascertain id exists in the database | ||
| 146 | - if err = o.Read(&v); err == nil { | ||
| 147 | - var num int64 | ||
| 148 | - if num, err = o.Delete(&UserBulletinRela{Id: id}); err == nil { | ||
| 149 | - fmt.Println("Number of records deleted in database:", num) | ||
| 150 | - } | ||
| 151 | - } | ||
| 152 | - return | ||
| 153 | -} |
models/user_click_logs.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - "time" | ||
| 9 | - | ||
| 10 | - "github.com/astaxie/beego/orm" | ||
| 11 | -) | ||
| 12 | - | ||
| 13 | -type UserClickLogs struct { | ||
| 14 | - Id int `orm:"column(id);pk" description:"主键ID"` | ||
| 15 | - Uid int64 `orm:"column(uid)" description:"用户ID"` | ||
| 16 | - CreateTime time.Time `orm:"column(createTime);type(timestamp);auto_now_add" description:"创建时间"` | ||
| 17 | - Type int64 `orm:"column(type)" description:"消息标题"` | ||
| 18 | -} | ||
| 19 | - | ||
| 20 | -func (t *UserClickLogs) TableName() string { | ||
| 21 | - return "user_click_logs" | ||
| 22 | -} | ||
| 23 | - | ||
| 24 | -func init() { | ||
| 25 | - orm.RegisterModel(new(UserClickLogs)) | ||
| 26 | -} | ||
| 27 | - | ||
| 28 | -// AddUserClickLogs insert a new UserClickLogs into database and returns | ||
| 29 | -// last inserted Id on success. | ||
| 30 | -func AddUserClickLogs(m *UserClickLogs) (id int64, err error) { | ||
| 31 | - o := orm.NewOrm() | ||
| 32 | - id, err = o.Insert(m) | ||
| 33 | - return | ||
| 34 | -} | ||
| 35 | - | ||
| 36 | -// GetUserClickLogsById retrieves UserClickLogs by Id. Returns error if | ||
| 37 | -// Id doesn't exist | ||
| 38 | -func GetUserClickLogsById(id int) (v *UserClickLogs, err error) { | ||
| 39 | - o := orm.NewOrm() | ||
| 40 | - v = &UserClickLogs{Id: id} | ||
| 41 | - if err = o.Read(v); err == nil { | ||
| 42 | - return v, nil | ||
| 43 | - } | ||
| 44 | - return nil, err | ||
| 45 | -} | ||
| 46 | - | ||
| 47 | -// GetAllUserClickLogs retrieves all UserClickLogs matches certain condition. Returns empty list if | ||
| 48 | -// no records exist | ||
| 49 | -func GetAllUserClickLogs(query map[string]string, fields []string, sortby []string, order []string, | ||
| 50 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 51 | - o := orm.NewOrm() | ||
| 52 | - qs := o.QueryTable(new(UserClickLogs)) | ||
| 53 | - // query k=v | ||
| 54 | - for k, v := range query { | ||
| 55 | - // rewrite dot-notation to Object__Attribute | ||
| 56 | - k = strings.Replace(k, ".", "__", -1) | ||
| 57 | - if strings.Contains(k, "isnull") { | ||
| 58 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 59 | - } else { | ||
| 60 | - qs = qs.Filter(k, v) | ||
| 61 | - } | ||
| 62 | - } | ||
| 63 | - // order by: | ||
| 64 | - var sortFields []string | ||
| 65 | - if len(sortby) != 0 { | ||
| 66 | - if len(sortby) == len(order) { | ||
| 67 | - // 1) for each sort field, there is an associated order | ||
| 68 | - for i, v := range sortby { | ||
| 69 | - orderby := "" | ||
| 70 | - if order[i] == "desc" { | ||
| 71 | - orderby = "-" + v | ||
| 72 | - } else if order[i] == "asc" { | ||
| 73 | - orderby = v | ||
| 74 | - } else { | ||
| 75 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 76 | - } | ||
| 77 | - sortFields = append(sortFields, orderby) | ||
| 78 | - } | ||
| 79 | - qs = qs.OrderBy(sortFields...) | ||
| 80 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 81 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 82 | - for _, v := range sortby { | ||
| 83 | - orderby := "" | ||
| 84 | - if order[0] == "desc" { | ||
| 85 | - orderby = "-" + v | ||
| 86 | - } else if order[0] == "asc" { | ||
| 87 | - orderby = v | ||
| 88 | - } else { | ||
| 89 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 90 | - } | ||
| 91 | - sortFields = append(sortFields, orderby) | ||
| 92 | - } | ||
| 93 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 94 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 95 | - } | ||
| 96 | - } else { | ||
| 97 | - if len(order) != 0 { | ||
| 98 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 99 | - } | ||
| 100 | - } | ||
| 101 | - | ||
| 102 | - var l []UserClickLogs | ||
| 103 | - qs = qs.OrderBy(sortFields...) | ||
| 104 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 105 | - if len(fields) == 0 { | ||
| 106 | - for _, v := range l { | ||
| 107 | - ml = append(ml, v) | ||
| 108 | - } | ||
| 109 | - } else { | ||
| 110 | - // trim unused fields | ||
| 111 | - for _, v := range l { | ||
| 112 | - m := make(map[string]interface{}) | ||
| 113 | - val := reflect.ValueOf(v) | ||
| 114 | - for _, fname := range fields { | ||
| 115 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 116 | - } | ||
| 117 | - ml = append(ml, m) | ||
| 118 | - } | ||
| 119 | - } | ||
| 120 | - return ml, nil | ||
| 121 | - } | ||
| 122 | - return nil, err | ||
| 123 | -} | ||
| 124 | - | ||
| 125 | -// UpdateUserClickLogs updates UserClickLogs by Id and returns error if | ||
| 126 | -// the record to be updated doesn't exist | ||
| 127 | -func UpdateUserClickLogsById(m *UserClickLogs) (err error) { | ||
| 128 | - o := orm.NewOrm() | ||
| 129 | - v := UserClickLogs{Id: m.Id} | ||
| 130 | - // ascertain id exists in the database | ||
| 131 | - if err = o.Read(&v); err == nil { | ||
| 132 | - var num int64 | ||
| 133 | - if num, err = o.Update(m); err == nil { | ||
| 134 | - fmt.Println("Number of records updated in database:", num) | ||
| 135 | - } | ||
| 136 | - } | ||
| 137 | - return | ||
| 138 | -} | ||
| 139 | - | ||
| 140 | -// DeleteUserClickLogs deletes UserClickLogs by Id and returns error if | ||
| 141 | -// the record to be deleted doesn't exist | ||
| 142 | -func DeleteUserClickLogs(id int) (err error) { | ||
| 143 | - o := orm.NewOrm() | ||
| 144 | - v := UserClickLogs{Id: id} | ||
| 145 | - // ascertain id exists in the database | ||
| 146 | - if err = o.Read(&v); err == nil { | ||
| 147 | - var num int64 | ||
| 148 | - if num, err = o.Delete(&UserClickLogs{Id: id}); err == nil { | ||
| 149 | - fmt.Println("Number of records deleted in database:", num) | ||
| 150 | - } | ||
| 151 | - } | ||
| 152 | - return | ||
| 153 | -} |
models/user_commend.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - "time" | ||
| 9 | - | ||
| 10 | - "github.com/astaxie/beego/orm" | ||
| 11 | -) | ||
| 12 | - | ||
| 13 | -type UserCommend struct { | ||
| 14 | - Id int `orm:"column(id);pk"` | ||
| 15 | - Uid int64 `orm:"column(uid);null" description:"接收消息的用户ID"` | ||
| 16 | - Cid int64 `orm:"column(cid)" description:"表彰ID"` | ||
| 17 | - CreateTime time.Time `orm:"column(createTime);type(timestamp);null;auto_now_add" description:"显示的时间"` | ||
| 18 | -} | ||
| 19 | - | ||
| 20 | -func (t *UserCommend) TableName() string { | ||
| 21 | - return "user_commend" | ||
| 22 | -} | ||
| 23 | - | ||
| 24 | -func init() { | ||
| 25 | - orm.RegisterModel(new(UserCommend)) | ||
| 26 | -} | ||
| 27 | - | ||
| 28 | -// AddUserCommend insert a new UserCommend into database and returns | ||
| 29 | -// last inserted Id on success. | ||
| 30 | -func AddUserCommend(m *UserCommend) (id int64, err error) { | ||
| 31 | - o := orm.NewOrm() | ||
| 32 | - id, err = o.Insert(m) | ||
| 33 | - return | ||
| 34 | -} | ||
| 35 | - | ||
| 36 | -// GetUserCommendById retrieves UserCommend by Id. Returns error if | ||
| 37 | -// Id doesn't exist | ||
| 38 | -func GetUserCommendById(id int) (v *UserCommend, err error) { | ||
| 39 | - o := orm.NewOrm() | ||
| 40 | - v = &UserCommend{Id: id} | ||
| 41 | - if err = o.Read(v); err == nil { | ||
| 42 | - return v, nil | ||
| 43 | - } | ||
| 44 | - return nil, err | ||
| 45 | -} | ||
| 46 | - | ||
| 47 | -// GetAllUserCommend retrieves all UserCommend matches certain condition. Returns empty list if | ||
| 48 | -// no records exist | ||
| 49 | -func GetAllUserCommend(query map[string]string, fields []string, sortby []string, order []string, | ||
| 50 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 51 | - o := orm.NewOrm() | ||
| 52 | - qs := o.QueryTable(new(UserCommend)) | ||
| 53 | - // query k=v | ||
| 54 | - for k, v := range query { | ||
| 55 | - // rewrite dot-notation to Object__Attribute | ||
| 56 | - k = strings.Replace(k, ".", "__", -1) | ||
| 57 | - if strings.Contains(k, "isnull") { | ||
| 58 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 59 | - } else { | ||
| 60 | - qs = qs.Filter(k, v) | ||
| 61 | - } | ||
| 62 | - } | ||
| 63 | - // order by: | ||
| 64 | - var sortFields []string | ||
| 65 | - if len(sortby) != 0 { | ||
| 66 | - if len(sortby) == len(order) { | ||
| 67 | - // 1) for each sort field, there is an associated order | ||
| 68 | - for i, v := range sortby { | ||
| 69 | - orderby := "" | ||
| 70 | - if order[i] == "desc" { | ||
| 71 | - orderby = "-" + v | ||
| 72 | - } else if order[i] == "asc" { | ||
| 73 | - orderby = v | ||
| 74 | - } else { | ||
| 75 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 76 | - } | ||
| 77 | - sortFields = append(sortFields, orderby) | ||
| 78 | - } | ||
| 79 | - qs = qs.OrderBy(sortFields...) | ||
| 80 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 81 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 82 | - for _, v := range sortby { | ||
| 83 | - orderby := "" | ||
| 84 | - if order[0] == "desc" { | ||
| 85 | - orderby = "-" + v | ||
| 86 | - } else if order[0] == "asc" { | ||
| 87 | - orderby = v | ||
| 88 | - } else { | ||
| 89 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 90 | - } | ||
| 91 | - sortFields = append(sortFields, orderby) | ||
| 92 | - } | ||
| 93 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 94 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 95 | - } | ||
| 96 | - } else { | ||
| 97 | - if len(order) != 0 { | ||
| 98 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 99 | - } | ||
| 100 | - } | ||
| 101 | - | ||
| 102 | - var l []UserCommend | ||
| 103 | - qs = qs.OrderBy(sortFields...) | ||
| 104 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 105 | - if len(fields) == 0 { | ||
| 106 | - for _, v := range l { | ||
| 107 | - ml = append(ml, v) | ||
| 108 | - } | ||
| 109 | - } else { | ||
| 110 | - // trim unused fields | ||
| 111 | - for _, v := range l { | ||
| 112 | - m := make(map[string]interface{}) | ||
| 113 | - val := reflect.ValueOf(v) | ||
| 114 | - for _, fname := range fields { | ||
| 115 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 116 | - } | ||
| 117 | - ml = append(ml, m) | ||
| 118 | - } | ||
| 119 | - } | ||
| 120 | - return ml, nil | ||
| 121 | - } | ||
| 122 | - return nil, err | ||
| 123 | -} | ||
| 124 | - | ||
| 125 | -// UpdateUserCommend updates UserCommend by Id and returns error if | ||
| 126 | -// the record to be updated doesn't exist | ||
| 127 | -func UpdateUserCommendById(m *UserCommend) (err error) { | ||
| 128 | - o := orm.NewOrm() | ||
| 129 | - v := UserCommend{Id: m.Id} | ||
| 130 | - // ascertain id exists in the database | ||
| 131 | - if err = o.Read(&v); err == nil { | ||
| 132 | - var num int64 | ||
| 133 | - if num, err = o.Update(m); err == nil { | ||
| 134 | - fmt.Println("Number of records updated in database:", num) | ||
| 135 | - } | ||
| 136 | - } | ||
| 137 | - return | ||
| 138 | -} | ||
| 139 | - | ||
| 140 | -// DeleteUserCommend deletes UserCommend by Id and returns error if | ||
| 141 | -// the record to be deleted doesn't exist | ||
| 142 | -func DeleteUserCommend(id int) (err error) { | ||
| 143 | - o := orm.NewOrm() | ||
| 144 | - v := UserCommend{Id: id} | ||
| 145 | - // ascertain id exists in the database | ||
| 146 | - if err = o.Read(&v); err == nil { | ||
| 147 | - var num int64 | ||
| 148 | - if num, err = o.Delete(&UserCommend{Id: id}); err == nil { | ||
| 149 | - fmt.Println("Number of records deleted in database:", num) | ||
| 150 | - } | ||
| 151 | - } | ||
| 152 | - return | ||
| 153 | -} |
models/user_info.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - "time" | ||
| 9 | - | ||
| 10 | - "github.com/astaxie/beego/orm" | ||
| 11 | -) | ||
| 12 | - | ||
| 13 | -type UserInfo struct { | ||
| 14 | - Id int64 `orm:"column(uid);pk" description:"用户ID"` | ||
| 15 | - Uname string `orm:"column(uname);size(100)" description:"名称"` | ||
| 16 | - Icon string `orm:"column(icon);size(128)" description:"头像"` | ||
| 17 | - Width int `orm:"column(width)" description:"宽度"` | ||
| 18 | - Height int `orm:"column(height)" description:"高度"` | ||
| 19 | - Thumbnail string `orm:"column(thumbnail);size(128)" description:"缩略图"` | ||
| 20 | - Phone string `orm:"column(phone);size(40)" description:"手机号码"` | ||
| 21 | - CreateTime time.Time `orm:"column(createTime);type(timestamp);auto_now_add"` | ||
| 22 | - Passwd string `orm:"column(passwd);size(128)" description:"密码 sha1处理"` | ||
| 23 | - State int8 `orm:"column(state)" description:"是否已认证 0未认证 1已认证 "` | ||
| 24 | - Uuid string `orm:"column(uuid);size(128)" description:"用于接收消息推送的标识 设备码"` | ||
| 25 | - ThirdloginCode string `orm:"column(thirdlogin_code);size(200)" description:"第三方登录code"` | ||
| 26 | - Enabled int8 `orm:"column(enabled)" description:"是否有效"` | ||
| 27 | - ImToken string `orm:"column(im_token);size(128)" description:"网易云token"` | ||
| 28 | - CsAccount int64 `orm:"column(cs_account)" description:"客服有话说ID"` | ||
| 29 | - RefreshExp time.Time `orm:"column(refresh_exp);type(timestamp);auto_now_add" description:"refresh token 过期时间"` | ||
| 30 | - AccessExp time.Time `orm:"column(access_exp);type(timestamp);auto_now_add" description:"access token 过期时间"` | ||
| 31 | - AccessToken string `orm:"column(access_token);size(64)" description:"access_token"` | ||
| 32 | - RefreshToken string `orm:"column(refresh_token);size(64)"` | ||
| 33 | - AuthExp time.Time `orm:"column(auth_exp);type(timestamp);auto_now_add" description:"auth_code过期时间"` | ||
| 34 | - Auth string `orm:"column(auth);size(64)" description:"auth_code"` | ||
| 35 | - LastloginTime time.Time `orm:"column(lastlogin_time);type(timestamp);auto_now_add" description:"最后一次登录时间"` | ||
| 36 | - DeviceToken string `orm:"column(device_token);size(128);null" description:"推送标志位"` | ||
| 37 | - ClientId string `orm:"column(client_id);size(128);null" description:"推送标识"` | ||
| 38 | - CompanyId int `orm:"column(company_id)" description:"公司Id"` | ||
| 39 | - DepartmentId int `orm:"column(department_id)" description:"部门id"` | ||
| 40 | - PositionId int `orm:"column(position_id)" description:"职位id"` | ||
| 41 | - Type int8 `orm:"column(type)" description:"1超级管理员 2公司负责人 3普通成员"` | ||
| 42 | - Score int `orm:"column(score)" description:"评分星级"` | ||
| 43 | - Questions int `orm:"column(questions)" description:"提问数"` | ||
| 44 | - Answer int `orm:"column(answer)" description:"回答数"` | ||
| 45 | - RememberToken string `orm:"column(remember_token);size(100);null"` | ||
| 46 | - IsHighlight int8 `orm:"column(is_highlight)" description:"点赞是否高亮 0否 1是"` | ||
| 47 | - ScoreAnalyze int `orm:"column(scoreAnalyze)" description:"分析得分"` | ||
| 48 | - ScoreScheme int `orm:"column(scoreScheme)" description:"解决得分"` | ||
| 49 | - ScoreAsk int `orm:"column(scoreAsk)" description:"提问得分"` | ||
| 50 | - AttrId int `orm:"column(attr_id)" description:"属性id"` | ||
| 51 | - RemainScore int `orm:"column(remain_score)"` | ||
| 52 | - RemainAnalyze int `orm:"column(remain_Analyze)"` | ||
| 53 | - BonusScoreAsk int `orm:"column(bonusScoreAsk)" description:"额外发现得分"` | ||
| 54 | - BonusScoreAnalyze int `orm:"column(bonusScoreAnalyze)" description:"额外分析得分"` | ||
| 55 | - BonusScoreScheme int `orm:"column(bonusScoreScheme)" description:"额外解决得分"` | ||
| 56 | -} | ||
| 57 | - | ||
| 58 | -func (t *UserInfo) TableName() string { | ||
| 59 | - return "user_info" | ||
| 60 | -} | ||
| 61 | - | ||
| 62 | -func init() { | ||
| 63 | - orm.RegisterModel(new(UserInfo)) | ||
| 64 | -} | ||
| 65 | - | ||
| 66 | -// AddUserInfo insert a new UserInfo into database and returns | ||
| 67 | -// last inserted Id on success. | ||
| 68 | -func AddUserInfo(m *UserInfo) (id int64, err error) { | ||
| 69 | - o := orm.NewOrm() | ||
| 70 | - id, err = o.Insert(m) | ||
| 71 | - return | ||
| 72 | -} | ||
| 73 | - | ||
| 74 | -// GetUserInfoById retrieves UserInfo by Id. Returns error if | ||
| 75 | -// Id doesn't exist | ||
| 76 | -func GetUserInfoById(id int64) (v *UserInfo, err error) { | ||
| 77 | - o := orm.NewOrm() | ||
| 78 | - v = &UserInfo{Id: id} | ||
| 79 | - if err = o.Read(v); err == nil { | ||
| 80 | - return v, nil | ||
| 81 | - } | ||
| 82 | - return nil, err | ||
| 83 | -} | ||
| 84 | - | ||
| 85 | -// GetAllUserInfo retrieves all UserInfo matches certain condition. Returns empty list if | ||
| 86 | -// no records exist | ||
| 87 | -func GetAllUserInfo(query map[string]string, fields []string, sortby []string, order []string, | ||
| 88 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 89 | - o := orm.NewOrm() | ||
| 90 | - qs := o.QueryTable(new(UserInfo)) | ||
| 91 | - // query k=v | ||
| 92 | - for k, v := range query { | ||
| 93 | - // rewrite dot-notation to Object__Attribute | ||
| 94 | - k = strings.Replace(k, ".", "__", -1) | ||
| 95 | - if strings.Contains(k, "isnull") { | ||
| 96 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 97 | - } else { | ||
| 98 | - qs = qs.Filter(k, v) | ||
| 99 | - } | ||
| 100 | - } | ||
| 101 | - // order by: | ||
| 102 | - var sortFields []string | ||
| 103 | - if len(sortby) != 0 { | ||
| 104 | - if len(sortby) == len(order) { | ||
| 105 | - // 1) for each sort field, there is an associated order | ||
| 106 | - for i, v := range sortby { | ||
| 107 | - orderby := "" | ||
| 108 | - if order[i] == "desc" { | ||
| 109 | - orderby = "-" + v | ||
| 110 | - } else if order[i] == "asc" { | ||
| 111 | - orderby = v | ||
| 112 | - } else { | ||
| 113 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 114 | - } | ||
| 115 | - sortFields = append(sortFields, orderby) | ||
| 116 | - } | ||
| 117 | - qs = qs.OrderBy(sortFields...) | ||
| 118 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 119 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 120 | - for _, v := range sortby { | ||
| 121 | - orderby := "" | ||
| 122 | - if order[0] == "desc" { | ||
| 123 | - orderby = "-" + v | ||
| 124 | - } else if order[0] == "asc" { | ||
| 125 | - orderby = v | ||
| 126 | - } else { | ||
| 127 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 128 | - } | ||
| 129 | - sortFields = append(sortFields, orderby) | ||
| 130 | - } | ||
| 131 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 132 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 133 | - } | ||
| 134 | - } else { | ||
| 135 | - if len(order) != 0 { | ||
| 136 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 137 | - } | ||
| 138 | - } | ||
| 139 | - | ||
| 140 | - var l []UserInfo | ||
| 141 | - qs = qs.OrderBy(sortFields...) | ||
| 142 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 143 | - if len(fields) == 0 { | ||
| 144 | - for _, v := range l { | ||
| 145 | - ml = append(ml, v) | ||
| 146 | - } | ||
| 147 | - } else { | ||
| 148 | - // trim unused fields | ||
| 149 | - for _, v := range l { | ||
| 150 | - m := make(map[string]interface{}) | ||
| 151 | - val := reflect.ValueOf(v) | ||
| 152 | - for _, fname := range fields { | ||
| 153 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 154 | - } | ||
| 155 | - ml = append(ml, m) | ||
| 156 | - } | ||
| 157 | - } | ||
| 158 | - return ml, nil | ||
| 159 | - } | ||
| 160 | - return nil, err | ||
| 161 | -} | ||
| 162 | - | ||
| 163 | -// UpdateUserInfo updates UserInfo by Id and returns error if | ||
| 164 | -// the record to be updated doesn't exist | ||
| 165 | -func UpdateUserInfoById(m *UserInfo) (err error) { | ||
| 166 | - o := orm.NewOrm() | ||
| 167 | - v := UserInfo{Id: m.Id} | ||
| 168 | - // ascertain id exists in the database | ||
| 169 | - if err = o.Read(&v); err == nil { | ||
| 170 | - var num int64 | ||
| 171 | - if num, err = o.Update(m); err == nil { | ||
| 172 | - fmt.Println("Number of records updated in database:", num) | ||
| 173 | - } | ||
| 174 | - } | ||
| 175 | - return | ||
| 176 | -} | ||
| 177 | - | ||
| 178 | -// DeleteUserInfo deletes UserInfo by Id and returns error if | ||
| 179 | -// the record to be deleted doesn't exist | ||
| 180 | -func DeleteUserInfo(id int64) (err error) { | ||
| 181 | - o := orm.NewOrm() | ||
| 182 | - v := UserInfo{Id: id} | ||
| 183 | - // ascertain id exists in the database | ||
| 184 | - if err = o.Read(&v); err == nil { | ||
| 185 | - var num int64 | ||
| 186 | - if num, err = o.Delete(&UserInfo{Id: id}); err == nil { | ||
| 187 | - fmt.Println("Number of records deleted in database:", num) | ||
| 188 | - } | ||
| 189 | - } | ||
| 190 | - return | ||
| 191 | -} | ||
| 192 | - | ||
| 193 | -func GetUserInfoByMobile(mobile string) (v *UserInfo, err error) { | ||
| 194 | - o := orm.NewOrm() | ||
| 195 | - sql := "select * from user_info where phone=?" | ||
| 196 | - if err = o.Raw(sql, mobile).QueryRow(&v); err == nil { | ||
| 197 | - return v, nil | ||
| 198 | - } | ||
| 199 | - return nil, err | ||
| 200 | -} | ||
| 201 | - | ||
| 202 | -func GetUserInfoByClientId(clintId string) (v *UserInfo, err error) { | ||
| 203 | - o := orm.NewOrm() | ||
| 204 | - sql := "select * from user_info where clientId=?" | ||
| 205 | - if err = o.Raw(sql, clintId).QueryRow(&v); err == nil { | ||
| 206 | - return v, nil | ||
| 207 | - } | ||
| 208 | - return nil, err | ||
| 209 | -} | ||
| 210 | - | ||
| 211 | -func GetUserInfoByToken(token string) (v *UserInfo, err error) { | ||
| 212 | - o := orm.NewOrm() | ||
| 213 | - sql := "select * from user_info where access_token=? and access_exp >= Now() and enabled = 1" | ||
| 214 | - if err = o.Raw(sql, token).QueryRow(&v); err == nil { | ||
| 215 | - return v, nil | ||
| 216 | - } | ||
| 217 | - return nil, err | ||
| 218 | -} | ||
| 219 | - | ||
| 220 | -func GetUserInfoByAuthCode(authCode string) (v *UserInfo, err error) { | ||
| 221 | - o := orm.NewOrm() | ||
| 222 | - sql := "select * from user_info where auth=? and auth_exp >= Now() and enabled = 1" | ||
| 223 | - if err = o.Raw(sql, authCode).QueryRow(&v); err == nil { | ||
| 224 | - return v, nil | ||
| 225 | - } | ||
| 226 | - return nil, err | ||
| 227 | -} | ||
| 228 | - | ||
| 229 | -func GetUserInfoByRefreshToken(refreshToken string) (v *UserInfo, err error) { | ||
| 230 | - o := orm.NewOrm() | ||
| 231 | - sql := "select * from user_info where refresh_token=? and auth_exp >= Now() and enabled = 1" | ||
| 232 | - if err = o.Raw(sql, refreshToken).QueryRow(&v); err == nil { | ||
| 233 | - return v, nil | ||
| 234 | - } | ||
| 235 | - return nil, err | ||
| 236 | -} |
models/user_interact.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - "time" | ||
| 9 | - | ||
| 10 | - "github.com/astaxie/beego/orm" | ||
| 11 | -) | ||
| 12 | - | ||
| 13 | -type UserInteract struct { | ||
| 14 | - Id int `orm:"column(id);pk"` | ||
| 15 | - Uid int64 `orm:"column(uid);null" description:"接收消息的用户ID"` | ||
| 16 | - Type int64 `orm:"column(type);null" description:"(0有人提交备选方案,对提问者、1提问被申请解决,对提问者、2提问申请解决被解除,对提问者、3提问申请解决解除,对解决者、4提问被解决,对提问者)"` | ||
| 17 | - Qid int64 `orm:"column(qid)" description:"问题ID"` | ||
| 18 | - CreateTime time.Time `orm:"column(createTime);type(timestamp);null;auto_now_add" description:"显示的时间"` | ||
| 19 | - Sid int64 `orm:"column(sid)" description:"方案ID 无默认为0"` | ||
| 20 | -} | ||
| 21 | - | ||
| 22 | -func (t *UserInteract) TableName() string { | ||
| 23 | - return "user_interact" | ||
| 24 | -} | ||
| 25 | - | ||
| 26 | -func init() { | ||
| 27 | - orm.RegisterModel(new(UserInteract)) | ||
| 28 | -} | ||
| 29 | - | ||
| 30 | -// AddUserInteract insert a new UserInteract into database and returns | ||
| 31 | -// last inserted Id on success. | ||
| 32 | -func AddUserInteract(m *UserInteract) (id int64, err error) { | ||
| 33 | - o := orm.NewOrm() | ||
| 34 | - id, err = o.Insert(m) | ||
| 35 | - return | ||
| 36 | -} | ||
| 37 | - | ||
| 38 | -// GetUserInteractById retrieves UserInteract by Id. Returns error if | ||
| 39 | -// Id doesn't exist | ||
| 40 | -func GetUserInteractById(id int) (v *UserInteract, err error) { | ||
| 41 | - o := orm.NewOrm() | ||
| 42 | - v = &UserInteract{Id: id} | ||
| 43 | - if err = o.Read(v); err == nil { | ||
| 44 | - return v, nil | ||
| 45 | - } | ||
| 46 | - return nil, err | ||
| 47 | -} | ||
| 48 | - | ||
| 49 | -// GetAllUserInteract retrieves all UserInteract matches certain condition. Returns empty list if | ||
| 50 | -// no records exist | ||
| 51 | -func GetAllUserInteract(query map[string]string, fields []string, sortby []string, order []string, | ||
| 52 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 53 | - o := orm.NewOrm() | ||
| 54 | - qs := o.QueryTable(new(UserInteract)) | ||
| 55 | - // query k=v | ||
| 56 | - for k, v := range query { | ||
| 57 | - // rewrite dot-notation to Object__Attribute | ||
| 58 | - k = strings.Replace(k, ".", "__", -1) | ||
| 59 | - if strings.Contains(k, "isnull") { | ||
| 60 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 61 | - } else { | ||
| 62 | - qs = qs.Filter(k, v) | ||
| 63 | - } | ||
| 64 | - } | ||
| 65 | - // order by: | ||
| 66 | - var sortFields []string | ||
| 67 | - if len(sortby) != 0 { | ||
| 68 | - if len(sortby) == len(order) { | ||
| 69 | - // 1) for each sort field, there is an associated order | ||
| 70 | - for i, v := range sortby { | ||
| 71 | - orderby := "" | ||
| 72 | - if order[i] == "desc" { | ||
| 73 | - orderby = "-" + v | ||
| 74 | - } else if order[i] == "asc" { | ||
| 75 | - orderby = v | ||
| 76 | - } else { | ||
| 77 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 78 | - } | ||
| 79 | - sortFields = append(sortFields, orderby) | ||
| 80 | - } | ||
| 81 | - qs = qs.OrderBy(sortFields...) | ||
| 82 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 83 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 84 | - for _, v := range sortby { | ||
| 85 | - orderby := "" | ||
| 86 | - if order[0] == "desc" { | ||
| 87 | - orderby = "-" + v | ||
| 88 | - } else if order[0] == "asc" { | ||
| 89 | - orderby = v | ||
| 90 | - } else { | ||
| 91 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 92 | - } | ||
| 93 | - sortFields = append(sortFields, orderby) | ||
| 94 | - } | ||
| 95 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 96 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 97 | - } | ||
| 98 | - } else { | ||
| 99 | - if len(order) != 0 { | ||
| 100 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 101 | - } | ||
| 102 | - } | ||
| 103 | - | ||
| 104 | - var l []UserInteract | ||
| 105 | - qs = qs.OrderBy(sortFields...) | ||
| 106 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 107 | - if len(fields) == 0 { | ||
| 108 | - for _, v := range l { | ||
| 109 | - ml = append(ml, v) | ||
| 110 | - } | ||
| 111 | - } else { | ||
| 112 | - // trim unused fields | ||
| 113 | - for _, v := range l { | ||
| 114 | - m := make(map[string]interface{}) | ||
| 115 | - val := reflect.ValueOf(v) | ||
| 116 | - for _, fname := range fields { | ||
| 117 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 118 | - } | ||
| 119 | - ml = append(ml, m) | ||
| 120 | - } | ||
| 121 | - } | ||
| 122 | - return ml, nil | ||
| 123 | - } | ||
| 124 | - return nil, err | ||
| 125 | -} | ||
| 126 | - | ||
| 127 | -// UpdateUserInteract updates UserInteract by Id and returns error if | ||
| 128 | -// the record to be updated doesn't exist | ||
| 129 | -func UpdateUserInteractById(m *UserInteract) (err error) { | ||
| 130 | - o := orm.NewOrm() | ||
| 131 | - v := UserInteract{Id: m.Id} | ||
| 132 | - // ascertain id exists in the database | ||
| 133 | - if err = o.Read(&v); err == nil { | ||
| 134 | - var num int64 | ||
| 135 | - if num, err = o.Update(m); err == nil { | ||
| 136 | - fmt.Println("Number of records updated in database:", num) | ||
| 137 | - } | ||
| 138 | - } | ||
| 139 | - return | ||
| 140 | -} | ||
| 141 | - | ||
| 142 | -// DeleteUserInteract deletes UserInteract by Id and returns error if | ||
| 143 | -// the record to be deleted doesn't exist | ||
| 144 | -func DeleteUserInteract(id int) (err error) { | ||
| 145 | - o := orm.NewOrm() | ||
| 146 | - v := UserInteract{Id: id} | ||
| 147 | - // ascertain id exists in the database | ||
| 148 | - if err = o.Read(&v); err == nil { | ||
| 149 | - var num int64 | ||
| 150 | - if num, err = o.Delete(&UserInteract{Id: id}); err == nil { | ||
| 151 | - fmt.Println("Number of records deleted in database:", num) | ||
| 152 | - } | ||
| 153 | - } | ||
| 154 | - return | ||
| 155 | -} |
models/user_msg.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - "time" | ||
| 9 | - | ||
| 10 | - "github.com/astaxie/beego/orm" | ||
| 11 | -) | ||
| 12 | - | ||
| 13 | -type UserMsg struct { | ||
| 14 | - Id int `orm:"column(msgId);pk" description:"主键ID"` | ||
| 15 | - CreateTime time.Time `orm:"column(createTime);type(timestamp);auto_now_add" description:"创建时间"` | ||
| 16 | - MsgTitle string `orm:"column(msgTitle);null" description:"消息标题"` | ||
| 17 | - Uid int64 `orm:"column(uid)"` | ||
| 18 | - Ext int64 `orm:"column(ext);null" description:"对应ID"` | ||
| 19 | - Enabled int `orm:"column(enabled);null" description:"是否公开 1公开 0不公开"` | ||
| 20 | - MsgType int `orm:"column(msgType)" description:"公司公告 1、星数变动2、表彰通知4、互动消息8、待评分16"` | ||
| 21 | - IsRead int `orm:"column(isRead);null" description:"0未读 1已读"` | ||
| 22 | - CompanyId int64 `orm:"column(company_id);null"` | ||
| 23 | -} | ||
| 24 | - | ||
| 25 | -func (t *UserMsg) TableName() string { | ||
| 26 | - return "user_msg" | ||
| 27 | -} | ||
| 28 | - | ||
| 29 | -func init() { | ||
| 30 | - orm.RegisterModel(new(UserMsg)) | ||
| 31 | -} | ||
| 32 | - | ||
| 33 | -// AddUserMsg insert a new UserMsg into database and returns | ||
| 34 | -// last inserted Id on success. | ||
| 35 | -func AddUserMsg(m *UserMsg) (id int64, err error) { | ||
| 36 | - o := orm.NewOrm() | ||
| 37 | - id, err = o.Insert(m) | ||
| 38 | - return | ||
| 39 | -} | ||
| 40 | - | ||
| 41 | -// GetUserMsgById retrieves UserMsg by Id. Returns error if | ||
| 42 | -// Id doesn't exist | ||
| 43 | -func GetUserMsgById(id int) (v *UserMsg, err error) { | ||
| 44 | - o := orm.NewOrm() | ||
| 45 | - v = &UserMsg{Id: id} | ||
| 46 | - if err = o.Read(v); err == nil { | ||
| 47 | - return v, nil | ||
| 48 | - } | ||
| 49 | - return nil, err | ||
| 50 | -} | ||
| 51 | - | ||
| 52 | -// GetAllUserMsg retrieves all UserMsg matches certain condition. Returns empty list if | ||
| 53 | -// no records exist | ||
| 54 | -func GetAllUserMsg(query map[string]string, fields []string, sortby []string, order []string, | ||
| 55 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 56 | - o := orm.NewOrm() | ||
| 57 | - qs := o.QueryTable(new(UserMsg)) | ||
| 58 | - // query k=v | ||
| 59 | - for k, v := range query { | ||
| 60 | - // rewrite dot-notation to Object__Attribute | ||
| 61 | - k = strings.Replace(k, ".", "__", -1) | ||
| 62 | - if strings.Contains(k, "isnull") { | ||
| 63 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 64 | - } else { | ||
| 65 | - qs = qs.Filter(k, v) | ||
| 66 | - } | ||
| 67 | - } | ||
| 68 | - // order by: | ||
| 69 | - var sortFields []string | ||
| 70 | - if len(sortby) != 0 { | ||
| 71 | - if len(sortby) == len(order) { | ||
| 72 | - // 1) for each sort field, there is an associated order | ||
| 73 | - for i, v := range sortby { | ||
| 74 | - orderby := "" | ||
| 75 | - if order[i] == "desc" { | ||
| 76 | - orderby = "-" + v | ||
| 77 | - } else if order[i] == "asc" { | ||
| 78 | - orderby = v | ||
| 79 | - } else { | ||
| 80 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 81 | - } | ||
| 82 | - sortFields = append(sortFields, orderby) | ||
| 83 | - } | ||
| 84 | - qs = qs.OrderBy(sortFields...) | ||
| 85 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 86 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 87 | - for _, v := range sortby { | ||
| 88 | - orderby := "" | ||
| 89 | - if order[0] == "desc" { | ||
| 90 | - orderby = "-" + v | ||
| 91 | - } else if order[0] == "asc" { | ||
| 92 | - orderby = v | ||
| 93 | - } else { | ||
| 94 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 95 | - } | ||
| 96 | - sortFields = append(sortFields, orderby) | ||
| 97 | - } | ||
| 98 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 99 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 100 | - } | ||
| 101 | - } else { | ||
| 102 | - if len(order) != 0 { | ||
| 103 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 104 | - } | ||
| 105 | - } | ||
| 106 | - | ||
| 107 | - var l []UserMsg | ||
| 108 | - qs = qs.OrderBy(sortFields...) | ||
| 109 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 110 | - if len(fields) == 0 { | ||
| 111 | - for _, v := range l { | ||
| 112 | - ml = append(ml, v) | ||
| 113 | - } | ||
| 114 | - } else { | ||
| 115 | - // trim unused fields | ||
| 116 | - for _, v := range l { | ||
| 117 | - m := make(map[string]interface{}) | ||
| 118 | - val := reflect.ValueOf(v) | ||
| 119 | - for _, fname := range fields { | ||
| 120 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 121 | - } | ||
| 122 | - ml = append(ml, m) | ||
| 123 | - } | ||
| 124 | - } | ||
| 125 | - return ml, nil | ||
| 126 | - } | ||
| 127 | - return nil, err | ||
| 128 | -} | ||
| 129 | - | ||
| 130 | -// UpdateUserMsg updates UserMsg by Id and returns error if | ||
| 131 | -// the record to be updated doesn't exist | ||
| 132 | -func UpdateUserMsgById(m *UserMsg) (err error) { | ||
| 133 | - o := orm.NewOrm() | ||
| 134 | - v := UserMsg{Id: m.Id} | ||
| 135 | - // ascertain id exists in the database | ||
| 136 | - if err = o.Read(&v); err == nil { | ||
| 137 | - var num int64 | ||
| 138 | - if num, err = o.Update(m); err == nil { | ||
| 139 | - fmt.Println("Number of records updated in database:", num) | ||
| 140 | - } | ||
| 141 | - } | ||
| 142 | - return | ||
| 143 | -} | ||
| 144 | - | ||
| 145 | -// DeleteUserMsg deletes UserMsg by Id and returns error if | ||
| 146 | -// the record to be deleted doesn't exist | ||
| 147 | -func DeleteUserMsg(id int) (err error) { | ||
| 148 | - o := orm.NewOrm() | ||
| 149 | - v := UserMsg{Id: id} | ||
| 150 | - // ascertain id exists in the database | ||
| 151 | - if err = o.Read(&v); err == nil { | ||
| 152 | - var num int64 | ||
| 153 | - if num, err = o.Delete(&UserMsg{Id: id}); err == nil { | ||
| 154 | - fmt.Println("Number of records deleted in database:", num) | ||
| 155 | - } | ||
| 156 | - } | ||
| 157 | - return | ||
| 158 | -} |
models/user_permissions.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - "time" | ||
| 9 | - | ||
| 10 | - "github.com/astaxie/beego/orm" | ||
| 11 | -) | ||
| 12 | - | ||
| 13 | -type UserPermissions struct { | ||
| 14 | - Id int `orm:"column(id);auto"` | ||
| 15 | - UserId int64 `orm:"column(user_id)" description:"用户id"` | ||
| 16 | - PermissionId int `orm:"column(permission_id)" description:"权限id (关联的部门id) 菜单权限(-1 成员管理,-2 职位管理,-3 部门管理,-4 表彰管理,-5 提问管理 -6 成员属性 -7 额外加分 -8 数据导出管理)"` | ||
| 17 | - Type int8 `orm:"column(type)" description:"权限类型 1菜单权限 2查看权限 3评分权限 4解决权限"` | ||
| 18 | - CreateTime time.Time `orm:"column(create_time);type(timestamp);null"` | ||
| 19 | - Enabled int8 `orm:"column(enabled)"` | ||
| 20 | -} | ||
| 21 | - | ||
| 22 | -func (t *UserPermissions) TableName() string { | ||
| 23 | - return "user_permissions" | ||
| 24 | -} | ||
| 25 | - | ||
| 26 | -func init() { | ||
| 27 | - orm.RegisterModel(new(UserPermissions)) | ||
| 28 | -} | ||
| 29 | - | ||
| 30 | -// AddUserPermissions insert a new UserPermissions into database and returns | ||
| 31 | -// last inserted Id on success. | ||
| 32 | -func AddUserPermissions(m *UserPermissions) (id int64, err error) { | ||
| 33 | - o := orm.NewOrm() | ||
| 34 | - id, err = o.Insert(m) | ||
| 35 | - return | ||
| 36 | -} | ||
| 37 | - | ||
| 38 | -// GetUserPermissionsById retrieves UserPermissions by Id. Returns error if | ||
| 39 | -// Id doesn't exist | ||
| 40 | -func GetUserPermissionsById(id int) (v *UserPermissions, err error) { | ||
| 41 | - o := orm.NewOrm() | ||
| 42 | - v = &UserPermissions{Id: id} | ||
| 43 | - if err = o.Read(v); err == nil { | ||
| 44 | - return v, nil | ||
| 45 | - } | ||
| 46 | - return nil, err | ||
| 47 | -} | ||
| 48 | - | ||
| 49 | -// GetAllUserPermissions retrieves all UserPermissions matches certain condition. Returns empty list if | ||
| 50 | -// no records exist | ||
| 51 | -func GetAllUserPermissions(query map[string]string, fields []string, sortby []string, order []string, | ||
| 52 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 53 | - o := orm.NewOrm() | ||
| 54 | - qs := o.QueryTable(new(UserPermissions)) | ||
| 55 | - // query k=v | ||
| 56 | - for k, v := range query { | ||
| 57 | - // rewrite dot-notation to Object__Attribute | ||
| 58 | - k = strings.Replace(k, ".", "__", -1) | ||
| 59 | - if strings.Contains(k, "isnull") { | ||
| 60 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 61 | - } else { | ||
| 62 | - qs = qs.Filter(k, v) | ||
| 63 | - } | ||
| 64 | - } | ||
| 65 | - // order by: | ||
| 66 | - var sortFields []string | ||
| 67 | - if len(sortby) != 0 { | ||
| 68 | - if len(sortby) == len(order) { | ||
| 69 | - // 1) for each sort field, there is an associated order | ||
| 70 | - for i, v := range sortby { | ||
| 71 | - orderby := "" | ||
| 72 | - if order[i] == "desc" { | ||
| 73 | - orderby = "-" + v | ||
| 74 | - } else if order[i] == "asc" { | ||
| 75 | - orderby = v | ||
| 76 | - } else { | ||
| 77 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 78 | - } | ||
| 79 | - sortFields = append(sortFields, orderby) | ||
| 80 | - } | ||
| 81 | - qs = qs.OrderBy(sortFields...) | ||
| 82 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 83 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 84 | - for _, v := range sortby { | ||
| 85 | - orderby := "" | ||
| 86 | - if order[0] == "desc" { | ||
| 87 | - orderby = "-" + v | ||
| 88 | - } else if order[0] == "asc" { | ||
| 89 | - orderby = v | ||
| 90 | - } else { | ||
| 91 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 92 | - } | ||
| 93 | - sortFields = append(sortFields, orderby) | ||
| 94 | - } | ||
| 95 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 96 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 97 | - } | ||
| 98 | - } else { | ||
| 99 | - if len(order) != 0 { | ||
| 100 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 101 | - } | ||
| 102 | - } | ||
| 103 | - | ||
| 104 | - var l []UserPermissions | ||
| 105 | - qs = qs.OrderBy(sortFields...) | ||
| 106 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 107 | - if len(fields) == 0 { | ||
| 108 | - for _, v := range l { | ||
| 109 | - ml = append(ml, v) | ||
| 110 | - } | ||
| 111 | - } else { | ||
| 112 | - // trim unused fields | ||
| 113 | - for _, v := range l { | ||
| 114 | - m := make(map[string]interface{}) | ||
| 115 | - val := reflect.ValueOf(v) | ||
| 116 | - for _, fname := range fields { | ||
| 117 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 118 | - } | ||
| 119 | - ml = append(ml, m) | ||
| 120 | - } | ||
| 121 | - } | ||
| 122 | - return ml, nil | ||
| 123 | - } | ||
| 124 | - return nil, err | ||
| 125 | -} | ||
| 126 | - | ||
| 127 | -// UpdateUserPermissions updates UserPermissions by Id and returns error if | ||
| 128 | -// the record to be updated doesn't exist | ||
| 129 | -func UpdateUserPermissionsById(m *UserPermissions) (err error) { | ||
| 130 | - o := orm.NewOrm() | ||
| 131 | - v := UserPermissions{Id: m.Id} | ||
| 132 | - // ascertain id exists in the database | ||
| 133 | - if err = o.Read(&v); err == nil { | ||
| 134 | - var num int64 | ||
| 135 | - if num, err = o.Update(m); err == nil { | ||
| 136 | - fmt.Println("Number of records updated in database:", num) | ||
| 137 | - } | ||
| 138 | - } | ||
| 139 | - return | ||
| 140 | -} | ||
| 141 | - | ||
| 142 | -// DeleteUserPermissions deletes UserPermissions by Id and returns error if | ||
| 143 | -// the record to be deleted doesn't exist | ||
| 144 | -func DeleteUserPermissions(id int) (err error) { | ||
| 145 | - o := orm.NewOrm() | ||
| 146 | - v := UserPermissions{Id: id} | ||
| 147 | - // ascertain id exists in the database | ||
| 148 | - if err = o.Read(&v); err == nil { | ||
| 149 | - var num int64 | ||
| 150 | - if num, err = o.Delete(&UserPermissions{Id: id}); err == nil { | ||
| 151 | - fmt.Println("Number of records deleted in database:", num) | ||
| 152 | - } | ||
| 153 | - } | ||
| 154 | - return | ||
| 155 | -} |
models/user_question_rela.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - "time" | ||
| 9 | - | ||
| 10 | - "github.com/astaxie/beego/orm" | ||
| 11 | -) | ||
| 12 | - | ||
| 13 | -type UserQuestionRela struct { | ||
| 14 | - Id int `orm:"column(id);pk" description:"主键ID"` | ||
| 15 | - CreateTime time.Time `orm:"column(createTime);type(timestamp);auto_now_add" description:"创建时间"` | ||
| 16 | - Uid int64 `orm:"column(uid)" description:"消息标题"` | ||
| 17 | - Qid int64 `orm:"column(qid)"` | ||
| 18 | - Type int `orm:"column(type);null" description:"0未同感,1同感 类型"` | ||
| 19 | -} | ||
| 20 | - | ||
| 21 | -func (t *UserQuestionRela) TableName() string { | ||
| 22 | - return "user_question_rela" | ||
| 23 | -} | ||
| 24 | - | ||
| 25 | -func init() { | ||
| 26 | - orm.RegisterModel(new(UserQuestionRela)) | ||
| 27 | -} | ||
| 28 | - | ||
| 29 | -// AddUserQuestionRela insert a new UserQuestionRela into database and returns | ||
| 30 | -// last inserted Id on success. | ||
| 31 | -func AddUserQuestionRela(m *UserQuestionRela) (id int64, err error) { | ||
| 32 | - o := orm.NewOrm() | ||
| 33 | - id, err = o.Insert(m) | ||
| 34 | - return | ||
| 35 | -} | ||
| 36 | - | ||
| 37 | -// GetUserQuestionRelaById retrieves UserQuestionRela by Id. Returns error if | ||
| 38 | -// Id doesn't exist | ||
| 39 | -func GetUserQuestionRelaById(id int) (v *UserQuestionRela, err error) { | ||
| 40 | - o := orm.NewOrm() | ||
| 41 | - v = &UserQuestionRela{Id: id} | ||
| 42 | - if err = o.Read(v); err == nil { | ||
| 43 | - return v, nil | ||
| 44 | - } | ||
| 45 | - return nil, err | ||
| 46 | -} | ||
| 47 | - | ||
| 48 | -// GetAllUserQuestionRela retrieves all UserQuestionRela matches certain condition. Returns empty list if | ||
| 49 | -// no records exist | ||
| 50 | -func GetAllUserQuestionRela(query map[string]string, fields []string, sortby []string, order []string, | ||
| 51 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 52 | - o := orm.NewOrm() | ||
| 53 | - qs := o.QueryTable(new(UserQuestionRela)) | ||
| 54 | - // query k=v | ||
| 55 | - for k, v := range query { | ||
| 56 | - // rewrite dot-notation to Object__Attribute | ||
| 57 | - k = strings.Replace(k, ".", "__", -1) | ||
| 58 | - if strings.Contains(k, "isnull") { | ||
| 59 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 60 | - } else { | ||
| 61 | - qs = qs.Filter(k, v) | ||
| 62 | - } | ||
| 63 | - } | ||
| 64 | - // order by: | ||
| 65 | - var sortFields []string | ||
| 66 | - if len(sortby) != 0 { | ||
| 67 | - if len(sortby) == len(order) { | ||
| 68 | - // 1) for each sort field, there is an associated order | ||
| 69 | - for i, v := range sortby { | ||
| 70 | - orderby := "" | ||
| 71 | - if order[i] == "desc" { | ||
| 72 | - orderby = "-" + v | ||
| 73 | - } else if order[i] == "asc" { | ||
| 74 | - orderby = v | ||
| 75 | - } else { | ||
| 76 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 77 | - } | ||
| 78 | - sortFields = append(sortFields, orderby) | ||
| 79 | - } | ||
| 80 | - qs = qs.OrderBy(sortFields...) | ||
| 81 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 82 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 83 | - for _, v := range sortby { | ||
| 84 | - orderby := "" | ||
| 85 | - if order[0] == "desc" { | ||
| 86 | - orderby = "-" + v | ||
| 87 | - } else if order[0] == "asc" { | ||
| 88 | - orderby = v | ||
| 89 | - } else { | ||
| 90 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 91 | - } | ||
| 92 | - sortFields = append(sortFields, orderby) | ||
| 93 | - } | ||
| 94 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 95 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 96 | - } | ||
| 97 | - } else { | ||
| 98 | - if len(order) != 0 { | ||
| 99 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 100 | - } | ||
| 101 | - } | ||
| 102 | - | ||
| 103 | - var l []UserQuestionRela | ||
| 104 | - qs = qs.OrderBy(sortFields...) | ||
| 105 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 106 | - if len(fields) == 0 { | ||
| 107 | - for _, v := range l { | ||
| 108 | - ml = append(ml, v) | ||
| 109 | - } | ||
| 110 | - } else { | ||
| 111 | - // trim unused fields | ||
| 112 | - for _, v := range l { | ||
| 113 | - m := make(map[string]interface{}) | ||
| 114 | - val := reflect.ValueOf(v) | ||
| 115 | - for _, fname := range fields { | ||
| 116 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 117 | - } | ||
| 118 | - ml = append(ml, m) | ||
| 119 | - } | ||
| 120 | - } | ||
| 121 | - return ml, nil | ||
| 122 | - } | ||
| 123 | - return nil, err | ||
| 124 | -} | ||
| 125 | - | ||
| 126 | -// UpdateUserQuestionRela updates UserQuestionRela by Id and returns error if | ||
| 127 | -// the record to be updated doesn't exist | ||
| 128 | -func UpdateUserQuestionRelaById(m *UserQuestionRela) (err error) { | ||
| 129 | - o := orm.NewOrm() | ||
| 130 | - v := UserQuestionRela{Id: m.Id} | ||
| 131 | - // ascertain id exists in the database | ||
| 132 | - if err = o.Read(&v); err == nil { | ||
| 133 | - var num int64 | ||
| 134 | - if num, err = o.Update(m); err == nil { | ||
| 135 | - fmt.Println("Number of records updated in database:", num) | ||
| 136 | - } | ||
| 137 | - } | ||
| 138 | - return | ||
| 139 | -} | ||
| 140 | - | ||
| 141 | -// DeleteUserQuestionRela deletes UserQuestionRela by Id and returns error if | ||
| 142 | -// the record to be deleted doesn't exist | ||
| 143 | -func DeleteUserQuestionRela(id int) (err error) { | ||
| 144 | - o := orm.NewOrm() | ||
| 145 | - v := UserQuestionRela{Id: id} | ||
| 146 | - // ascertain id exists in the database | ||
| 147 | - if err = o.Read(&v); err == nil { | ||
| 148 | - var num int64 | ||
| 149 | - if num, err = o.Delete(&UserQuestionRela{Id: id}); err == nil { | ||
| 150 | - fmt.Println("Number of records deleted in database:", num) | ||
| 151 | - } | ||
| 152 | - } | ||
| 153 | - return | ||
| 154 | -} |
models/user_question_solve.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - "time" | ||
| 9 | - | ||
| 10 | - "github.com/astaxie/beego/orm" | ||
| 11 | -) | ||
| 12 | - | ||
| 13 | -type UserQuestionSolve struct { | ||
| 14 | - Id int `orm:"column(id);auto" description:"主键ID"` | ||
| 15 | - CreateTime time.Time `orm:"column(createTime);type(timestamp);auto_now_add" description:"创建时间"` | ||
| 16 | - UpdateTime time.Time `orm:"column(updateTime);type(timestamp);null;auto_now_add" description:"更新时间"` | ||
| 17 | - Uid int64 `orm:"column(uid)" description:"消息标题"` | ||
| 18 | - Qid int64 `orm:"column(qid)"` | ||
| 19 | - StartTime time.Time `orm:"column(startTime);type(date);null" description:"解决开始时间"` | ||
| 20 | - EndTime time.Time `orm:"column(endTime);type(date);null" description:"解决结束时间"` | ||
| 21 | - Remark string `orm:"column(remark);null" description:"备注"` | ||
| 22 | - CompanyId int `orm:"column(company_id);null" description:"公司Id"` | ||
| 23 | - Flag int8 `orm:"column(flag);null" description:"标志位"` | ||
| 24 | -} | ||
| 25 | - | ||
| 26 | -func (t *UserQuestionSolve) TableName() string { | ||
| 27 | - return "user_question_solve" | ||
| 28 | -} | ||
| 29 | - | ||
| 30 | -func init() { | ||
| 31 | - orm.RegisterModel(new(UserQuestionSolve)) | ||
| 32 | -} | ||
| 33 | - | ||
| 34 | -// AddUserQuestionSolve insert a new UserQuestionSolve into database and returns | ||
| 35 | -// last inserted Id on success. | ||
| 36 | -func AddUserQuestionSolve(m *UserQuestionSolve) (id int64, err error) { | ||
| 37 | - o := orm.NewOrm() | ||
| 38 | - id, err = o.Insert(m) | ||
| 39 | - return | ||
| 40 | -} | ||
| 41 | - | ||
| 42 | -// GetUserQuestionSolveById retrieves UserQuestionSolve by Id. Returns error if | ||
| 43 | -// Id doesn't exist | ||
| 44 | -func GetUserQuestionSolveById(id int) (v *UserQuestionSolve, err error) { | ||
| 45 | - o := orm.NewOrm() | ||
| 46 | - v = &UserQuestionSolve{Id: id} | ||
| 47 | - if err = o.Read(v); err == nil { | ||
| 48 | - return v, nil | ||
| 49 | - } | ||
| 50 | - return nil, err | ||
| 51 | -} | ||
| 52 | - | ||
| 53 | -// GetAllUserQuestionSolve retrieves all UserQuestionSolve matches certain condition. Returns empty list if | ||
| 54 | -// no records exist | ||
| 55 | -func GetAllUserQuestionSolve(query map[string]string, fields []string, sortby []string, order []string, | ||
| 56 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 57 | - o := orm.NewOrm() | ||
| 58 | - qs := o.QueryTable(new(UserQuestionSolve)) | ||
| 59 | - // query k=v | ||
| 60 | - for k, v := range query { | ||
| 61 | - // rewrite dot-notation to Object__Attribute | ||
| 62 | - k = strings.Replace(k, ".", "__", -1) | ||
| 63 | - if strings.Contains(k, "isnull") { | ||
| 64 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 65 | - } else { | ||
| 66 | - qs = qs.Filter(k, v) | ||
| 67 | - } | ||
| 68 | - } | ||
| 69 | - // order by: | ||
| 70 | - var sortFields []string | ||
| 71 | - if len(sortby) != 0 { | ||
| 72 | - if len(sortby) == len(order) { | ||
| 73 | - // 1) for each sort field, there is an associated order | ||
| 74 | - for i, v := range sortby { | ||
| 75 | - orderby := "" | ||
| 76 | - if order[i] == "desc" { | ||
| 77 | - orderby = "-" + v | ||
| 78 | - } else if order[i] == "asc" { | ||
| 79 | - orderby = v | ||
| 80 | - } else { | ||
| 81 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 82 | - } | ||
| 83 | - sortFields = append(sortFields, orderby) | ||
| 84 | - } | ||
| 85 | - qs = qs.OrderBy(sortFields...) | ||
| 86 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 87 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 88 | - for _, v := range sortby { | ||
| 89 | - orderby := "" | ||
| 90 | - if order[0] == "desc" { | ||
| 91 | - orderby = "-" + v | ||
| 92 | - } else if order[0] == "asc" { | ||
| 93 | - orderby = v | ||
| 94 | - } else { | ||
| 95 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 96 | - } | ||
| 97 | - sortFields = append(sortFields, orderby) | ||
| 98 | - } | ||
| 99 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 100 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 101 | - } | ||
| 102 | - } else { | ||
| 103 | - if len(order) != 0 { | ||
| 104 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 105 | - } | ||
| 106 | - } | ||
| 107 | - | ||
| 108 | - var l []UserQuestionSolve | ||
| 109 | - qs = qs.OrderBy(sortFields...) | ||
| 110 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 111 | - if len(fields) == 0 { | ||
| 112 | - for _, v := range l { | ||
| 113 | - ml = append(ml, v) | ||
| 114 | - } | ||
| 115 | - } else { | ||
| 116 | - // trim unused fields | ||
| 117 | - for _, v := range l { | ||
| 118 | - m := make(map[string]interface{}) | ||
| 119 | - val := reflect.ValueOf(v) | ||
| 120 | - for _, fname := range fields { | ||
| 121 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 122 | - } | ||
| 123 | - ml = append(ml, m) | ||
| 124 | - } | ||
| 125 | - } | ||
| 126 | - return ml, nil | ||
| 127 | - } | ||
| 128 | - return nil, err | ||
| 129 | -} | ||
| 130 | - | ||
| 131 | -// UpdateUserQuestionSolve updates UserQuestionSolve by Id and returns error if | ||
| 132 | -// the record to be updated doesn't exist | ||
| 133 | -func UpdateUserQuestionSolveById(m *UserQuestionSolve) (err error) { | ||
| 134 | - o := orm.NewOrm() | ||
| 135 | - v := UserQuestionSolve{Id: m.Id} | ||
| 136 | - // ascertain id exists in the database | ||
| 137 | - if err = o.Read(&v); err == nil { | ||
| 138 | - var num int64 | ||
| 139 | - if num, err = o.Update(m); err == nil { | ||
| 140 | - fmt.Println("Number of records updated in database:", num) | ||
| 141 | - } | ||
| 142 | - } | ||
| 143 | - return | ||
| 144 | -} | ||
| 145 | - | ||
| 146 | -// DeleteUserQuestionSolve deletes UserQuestionSolve by Id and returns error if | ||
| 147 | -// the record to be deleted doesn't exist | ||
| 148 | -func DeleteUserQuestionSolve(id int) (err error) { | ||
| 149 | - o := orm.NewOrm() | ||
| 150 | - v := UserQuestionSolve{Id: id} | ||
| 151 | - // ascertain id exists in the database | ||
| 152 | - if err = o.Read(&v); err == nil { | ||
| 153 | - var num int64 | ||
| 154 | - if num, err = o.Delete(&UserQuestionSolve{Id: id}); err == nil { | ||
| 155 | - fmt.Println("Number of records deleted in database:", num) | ||
| 156 | - } | ||
| 157 | - } | ||
| 158 | - return | ||
| 159 | -} |
models/user_score.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - "time" | ||
| 9 | - | ||
| 10 | - "github.com/astaxie/beego/orm" | ||
| 11 | -) | ||
| 12 | - | ||
| 13 | -type UserScore struct { | ||
| 14 | - Id int `orm:"column(id);pk"` | ||
| 15 | - Uid int64 `orm:"column(uid);null" description:"接收用户ID"` | ||
| 16 | - Type int64 `orm:"column(type);null" description:"(0问题审核、1问题评分、2分析评分、3解决评分)"` | ||
| 17 | - Qid int64 `orm:"column(qid)" description:"提问ID"` | ||
| 18 | - CreateTime time.Time `orm:"column(createTime);type(timestamp);null;auto_now_add" description:"评分时间"` | ||
| 19 | - Sid int64 `orm:"column(sid)" description:"方案ID"` | ||
| 20 | -} | ||
| 21 | - | ||
| 22 | -func (t *UserScore) TableName() string { | ||
| 23 | - return "user_score" | ||
| 24 | -} | ||
| 25 | - | ||
| 26 | -func init() { | ||
| 27 | - orm.RegisterModel(new(UserScore)) | ||
| 28 | -} | ||
| 29 | - | ||
| 30 | -// AddUserScore insert a new UserScore into database and returns | ||
| 31 | -// last inserted Id on success. | ||
| 32 | -func AddUserScore(m *UserScore) (id int64, err error) { | ||
| 33 | - o := orm.NewOrm() | ||
| 34 | - id, err = o.Insert(m) | ||
| 35 | - return | ||
| 36 | -} | ||
| 37 | - | ||
| 38 | -// GetUserScoreById retrieves UserScore by Id. Returns error if | ||
| 39 | -// Id doesn't exist | ||
| 40 | -func GetUserScoreById(id int) (v *UserScore, err error) { | ||
| 41 | - o := orm.NewOrm() | ||
| 42 | - v = &UserScore{Id: id} | ||
| 43 | - if err = o.Read(v); err == nil { | ||
| 44 | - return v, nil | ||
| 45 | - } | ||
| 46 | - return nil, err | ||
| 47 | -} | ||
| 48 | - | ||
| 49 | -// GetAllUserScore retrieves all UserScore matches certain condition. Returns empty list if | ||
| 50 | -// no records exist | ||
| 51 | -func GetAllUserScore(query map[string]string, fields []string, sortby []string, order []string, | ||
| 52 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 53 | - o := orm.NewOrm() | ||
| 54 | - qs := o.QueryTable(new(UserScore)) | ||
| 55 | - // query k=v | ||
| 56 | - for k, v := range query { | ||
| 57 | - // rewrite dot-notation to Object__Attribute | ||
| 58 | - k = strings.Replace(k, ".", "__", -1) | ||
| 59 | - if strings.Contains(k, "isnull") { | ||
| 60 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 61 | - } else { | ||
| 62 | - qs = qs.Filter(k, v) | ||
| 63 | - } | ||
| 64 | - } | ||
| 65 | - // order by: | ||
| 66 | - var sortFields []string | ||
| 67 | - if len(sortby) != 0 { | ||
| 68 | - if len(sortby) == len(order) { | ||
| 69 | - // 1) for each sort field, there is an associated order | ||
| 70 | - for i, v := range sortby { | ||
| 71 | - orderby := "" | ||
| 72 | - if order[i] == "desc" { | ||
| 73 | - orderby = "-" + v | ||
| 74 | - } else if order[i] == "asc" { | ||
| 75 | - orderby = v | ||
| 76 | - } else { | ||
| 77 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 78 | - } | ||
| 79 | - sortFields = append(sortFields, orderby) | ||
| 80 | - } | ||
| 81 | - qs = qs.OrderBy(sortFields...) | ||
| 82 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 83 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 84 | - for _, v := range sortby { | ||
| 85 | - orderby := "" | ||
| 86 | - if order[0] == "desc" { | ||
| 87 | - orderby = "-" + v | ||
| 88 | - } else if order[0] == "asc" { | ||
| 89 | - orderby = v | ||
| 90 | - } else { | ||
| 91 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 92 | - } | ||
| 93 | - sortFields = append(sortFields, orderby) | ||
| 94 | - } | ||
| 95 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 96 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 97 | - } | ||
| 98 | - } else { | ||
| 99 | - if len(order) != 0 { | ||
| 100 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 101 | - } | ||
| 102 | - } | ||
| 103 | - | ||
| 104 | - var l []UserScore | ||
| 105 | - qs = qs.OrderBy(sortFields...) | ||
| 106 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 107 | - if len(fields) == 0 { | ||
| 108 | - for _, v := range l { | ||
| 109 | - ml = append(ml, v) | ||
| 110 | - } | ||
| 111 | - } else { | ||
| 112 | - // trim unused fields | ||
| 113 | - for _, v := range l { | ||
| 114 | - m := make(map[string]interface{}) | ||
| 115 | - val := reflect.ValueOf(v) | ||
| 116 | - for _, fname := range fields { | ||
| 117 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 118 | - } | ||
| 119 | - ml = append(ml, m) | ||
| 120 | - } | ||
| 121 | - } | ||
| 122 | - return ml, nil | ||
| 123 | - } | ||
| 124 | - return nil, err | ||
| 125 | -} | ||
| 126 | - | ||
| 127 | -// UpdateUserScore updates UserScore by Id and returns error if | ||
| 128 | -// the record to be updated doesn't exist | ||
| 129 | -func UpdateUserScoreById(m *UserScore) (err error) { | ||
| 130 | - o := orm.NewOrm() | ||
| 131 | - v := UserScore{Id: m.Id} | ||
| 132 | - // ascertain id exists in the database | ||
| 133 | - if err = o.Read(&v); err == nil { | ||
| 134 | - var num int64 | ||
| 135 | - if num, err = o.Update(m); err == nil { | ||
| 136 | - fmt.Println("Number of records updated in database:", num) | ||
| 137 | - } | ||
| 138 | - } | ||
| 139 | - return | ||
| 140 | -} | ||
| 141 | - | ||
| 142 | -// DeleteUserScore deletes UserScore by Id and returns error if | ||
| 143 | -// the record to be deleted doesn't exist | ||
| 144 | -func DeleteUserScore(id int) (err error) { | ||
| 145 | - o := orm.NewOrm() | ||
| 146 | - v := UserScore{Id: id} | ||
| 147 | - // ascertain id exists in the database | ||
| 148 | - if err = o.Read(&v); err == nil { | ||
| 149 | - var num int64 | ||
| 150 | - if num, err = o.Delete(&UserScore{Id: id}); err == nil { | ||
| 151 | - fmt.Println("Number of records deleted in database:", num) | ||
| 152 | - } | ||
| 153 | - } | ||
| 154 | - return | ||
| 155 | -} |
models/user_score_change.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - "time" | ||
| 9 | - | ||
| 10 | - "github.com/astaxie/beego/orm" | ||
| 11 | -) | ||
| 12 | - | ||
| 13 | -type UserScoreChange struct { | ||
| 14 | - Id int `orm:"column(id);pk"` | ||
| 15 | - Uid int64 `orm:"column(uid);null" description:"接收用户ID"` | ||
| 16 | - Type int64 `orm:"column(type);null" description:"(0发现问题、1分析问题、2解决问题)"` | ||
| 17 | - Score int `orm:"column(score);null" description:"评分"` | ||
| 18 | - Qid int64 `orm:"column(qid)" description:"问题ID"` | ||
| 19 | - ScoreUid int64 `orm:"column(scoreUid)" description:"评分用户ID"` | ||
| 20 | - CreateTime time.Time `orm:"column(createTime);type(timestamp);auto_now_add" description:"时间"` | ||
| 21 | - Sid int64 `orm:"column(sid)" description:"方案ID"` | ||
| 22 | -} | ||
| 23 | - | ||
| 24 | -func (t *UserScoreChange) TableName() string { | ||
| 25 | - return "user_score_change" | ||
| 26 | -} | ||
| 27 | - | ||
| 28 | -func init() { | ||
| 29 | - orm.RegisterModel(new(UserScoreChange)) | ||
| 30 | -} | ||
| 31 | - | ||
| 32 | -// AddUserScoreChange insert a new UserScoreChange into database and returns | ||
| 33 | -// last inserted Id on success. | ||
| 34 | -func AddUserScoreChange(m *UserScoreChange) (id int64, err error) { | ||
| 35 | - o := orm.NewOrm() | ||
| 36 | - id, err = o.Insert(m) | ||
| 37 | - return | ||
| 38 | -} | ||
| 39 | - | ||
| 40 | -// GetUserScoreChangeById retrieves UserScoreChange by Id. Returns error if | ||
| 41 | -// Id doesn't exist | ||
| 42 | -func GetUserScoreChangeById(id int) (v *UserScoreChange, err error) { | ||
| 43 | - o := orm.NewOrm() | ||
| 44 | - v = &UserScoreChange{Id: id} | ||
| 45 | - if err = o.Read(v); err == nil { | ||
| 46 | - return v, nil | ||
| 47 | - } | ||
| 48 | - return nil, err | ||
| 49 | -} | ||
| 50 | - | ||
| 51 | -// GetAllUserScoreChange retrieves all UserScoreChange matches certain condition. Returns empty list if | ||
| 52 | -// no records exist | ||
| 53 | -func GetAllUserScoreChange(query map[string]string, fields []string, sortby []string, order []string, | ||
| 54 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 55 | - o := orm.NewOrm() | ||
| 56 | - qs := o.QueryTable(new(UserScoreChange)) | ||
| 57 | - // query k=v | ||
| 58 | - for k, v := range query { | ||
| 59 | - // rewrite dot-notation to Object__Attribute | ||
| 60 | - k = strings.Replace(k, ".", "__", -1) | ||
| 61 | - if strings.Contains(k, "isnull") { | ||
| 62 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 63 | - } else { | ||
| 64 | - qs = qs.Filter(k, v) | ||
| 65 | - } | ||
| 66 | - } | ||
| 67 | - // order by: | ||
| 68 | - var sortFields []string | ||
| 69 | - if len(sortby) != 0 { | ||
| 70 | - if len(sortby) == len(order) { | ||
| 71 | - // 1) for each sort field, there is an associated order | ||
| 72 | - for i, v := range sortby { | ||
| 73 | - orderby := "" | ||
| 74 | - if order[i] == "desc" { | ||
| 75 | - orderby = "-" + v | ||
| 76 | - } else if order[i] == "asc" { | ||
| 77 | - orderby = v | ||
| 78 | - } else { | ||
| 79 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 80 | - } | ||
| 81 | - sortFields = append(sortFields, orderby) | ||
| 82 | - } | ||
| 83 | - qs = qs.OrderBy(sortFields...) | ||
| 84 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 85 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 86 | - for _, v := range sortby { | ||
| 87 | - orderby := "" | ||
| 88 | - if order[0] == "desc" { | ||
| 89 | - orderby = "-" + v | ||
| 90 | - } else if order[0] == "asc" { | ||
| 91 | - orderby = v | ||
| 92 | - } else { | ||
| 93 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 94 | - } | ||
| 95 | - sortFields = append(sortFields, orderby) | ||
| 96 | - } | ||
| 97 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 98 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 99 | - } | ||
| 100 | - } else { | ||
| 101 | - if len(order) != 0 { | ||
| 102 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 103 | - } | ||
| 104 | - } | ||
| 105 | - | ||
| 106 | - var l []UserScoreChange | ||
| 107 | - qs = qs.OrderBy(sortFields...) | ||
| 108 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 109 | - if len(fields) == 0 { | ||
| 110 | - for _, v := range l { | ||
| 111 | - ml = append(ml, v) | ||
| 112 | - } | ||
| 113 | - } else { | ||
| 114 | - // trim unused fields | ||
| 115 | - for _, v := range l { | ||
| 116 | - m := make(map[string]interface{}) | ||
| 117 | - val := reflect.ValueOf(v) | ||
| 118 | - for _, fname := range fields { | ||
| 119 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 120 | - } | ||
| 121 | - ml = append(ml, m) | ||
| 122 | - } | ||
| 123 | - } | ||
| 124 | - return ml, nil | ||
| 125 | - } | ||
| 126 | - return nil, err | ||
| 127 | -} | ||
| 128 | - | ||
| 129 | -// UpdateUserScoreChange updates UserScoreChange by Id and returns error if | ||
| 130 | -// the record to be updated doesn't exist | ||
| 131 | -func UpdateUserScoreChangeById(m *UserScoreChange) (err error) { | ||
| 132 | - o := orm.NewOrm() | ||
| 133 | - v := UserScoreChange{Id: m.Id} | ||
| 134 | - // ascertain id exists in the database | ||
| 135 | - if err = o.Read(&v); err == nil { | ||
| 136 | - var num int64 | ||
| 137 | - if num, err = o.Update(m); err == nil { | ||
| 138 | - fmt.Println("Number of records updated in database:", num) | ||
| 139 | - } | ||
| 140 | - } | ||
| 141 | - return | ||
| 142 | -} | ||
| 143 | - | ||
| 144 | -// DeleteUserScoreChange deletes UserScoreChange by Id and returns error if | ||
| 145 | -// the record to be deleted doesn't exist | ||
| 146 | -func DeleteUserScoreChange(id int) (err error) { | ||
| 147 | - o := orm.NewOrm() | ||
| 148 | - v := UserScoreChange{Id: id} | ||
| 149 | - // ascertain id exists in the database | ||
| 150 | - if err = o.Read(&v); err == nil { | ||
| 151 | - var num int64 | ||
| 152 | - if num, err = o.Delete(&UserScoreChange{Id: id}); err == nil { | ||
| 153 | - fmt.Println("Number of records deleted in database:", num) | ||
| 154 | - } | ||
| 155 | - } | ||
| 156 | - return | ||
| 157 | -} |
models/user_sms_code.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - "time" | ||
| 9 | - | ||
| 10 | - "github.com/astaxie/beego/orm" | ||
| 11 | -) | ||
| 12 | - | ||
| 13 | -type UserSmsCode struct { | ||
| 14 | - Id int `orm:"column(id);auto" description:"主键ID"` | ||
| 15 | - Phone string `orm:"column(phone);size(20)" description:"手机号"` | ||
| 16 | - Code string `orm:"column(code);size(10)" description:"短信验证码"` | ||
| 17 | - UseTime time.Time `orm:"column(useTime);type(timestamp);auto_now" description:"用户使用该验证码时间"` | ||
| 18 | - StartTime time.Time `orm:"column(startTime);type(timestamp);auto_now_add" description:"开始时间"` | ||
| 19 | - EndTime time.Time `orm:"column(endTime);type(timestamp);auto_now_add" description:"结束时间"` | ||
| 20 | - Enabled int8 `orm:"column(enabled)" description:"是否有效"` | ||
| 21 | -} | ||
| 22 | - | ||
| 23 | -func (t *UserSmsCode) TableName() string { | ||
| 24 | - return "user_sms_code" | ||
| 25 | -} | ||
| 26 | - | ||
| 27 | -func init() { | ||
| 28 | - orm.RegisterModel(new(UserSmsCode)) | ||
| 29 | -} | ||
| 30 | - | ||
| 31 | -// AddUserSmsCode insert a new UserSmsCode into database and returns | ||
| 32 | -// last inserted Id on success. | ||
| 33 | -func AddUserSmsCode(m *UserSmsCode) (id int64, err error) { | ||
| 34 | - o := orm.NewOrm() | ||
| 35 | - id, err = o.Insert(m) | ||
| 36 | - return | ||
| 37 | -} | ||
| 38 | - | ||
| 39 | -// GetUserSmsCodeById retrieves UserSmsCode by Id. Returns error if | ||
| 40 | -// Id doesn't exist | ||
| 41 | -func GetUserSmsCodeById(id int) (v *UserSmsCode, err error) { | ||
| 42 | - o := orm.NewOrm() | ||
| 43 | - v = &UserSmsCode{Id: id} | ||
| 44 | - if err = o.Read(v); err == nil { | ||
| 45 | - return v, nil | ||
| 46 | - } | ||
| 47 | - return nil, err | ||
| 48 | -} | ||
| 49 | - | ||
| 50 | -// GetAllUserSmsCode retrieves all UserSmsCode matches certain condition. Returns empty list if | ||
| 51 | -// no records exist | ||
| 52 | -func GetAllUserSmsCode(query map[string]string, fields []string, sortby []string, order []string, | ||
| 53 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 54 | - o := orm.NewOrm() | ||
| 55 | - qs := o.QueryTable(new(UserSmsCode)) | ||
| 56 | - // query k=v | ||
| 57 | - for k, v := range query { | ||
| 58 | - // rewrite dot-notation to Object__Attribute | ||
| 59 | - k = strings.Replace(k, ".", "__", -1) | ||
| 60 | - if strings.Contains(k, "isnull") { | ||
| 61 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 62 | - } else { | ||
| 63 | - qs = qs.Filter(k, v) | ||
| 64 | - } | ||
| 65 | - } | ||
| 66 | - // order by: | ||
| 67 | - var sortFields []string | ||
| 68 | - if len(sortby) != 0 { | ||
| 69 | - if len(sortby) == len(order) { | ||
| 70 | - // 1) for each sort field, there is an associated order | ||
| 71 | - for i, v := range sortby { | ||
| 72 | - orderby := "" | ||
| 73 | - if order[i] == "desc" { | ||
| 74 | - orderby = "-" + v | ||
| 75 | - } else if order[i] == "asc" { | ||
| 76 | - orderby = v | ||
| 77 | - } else { | ||
| 78 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 79 | - } | ||
| 80 | - sortFields = append(sortFields, orderby) | ||
| 81 | - } | ||
| 82 | - qs = qs.OrderBy(sortFields...) | ||
| 83 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 84 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 85 | - for _, v := range sortby { | ||
| 86 | - orderby := "" | ||
| 87 | - if order[0] == "desc" { | ||
| 88 | - orderby = "-" + v | ||
| 89 | - } else if order[0] == "asc" { | ||
| 90 | - orderby = v | ||
| 91 | - } else { | ||
| 92 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 93 | - } | ||
| 94 | - sortFields = append(sortFields, orderby) | ||
| 95 | - } | ||
| 96 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 97 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 98 | - } | ||
| 99 | - } else { | ||
| 100 | - if len(order) != 0 { | ||
| 101 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 102 | - } | ||
| 103 | - } | ||
| 104 | - | ||
| 105 | - var l []UserSmsCode | ||
| 106 | - qs = qs.OrderBy(sortFields...) | ||
| 107 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 108 | - if len(fields) == 0 { | ||
| 109 | - for _, v := range l { | ||
| 110 | - ml = append(ml, v) | ||
| 111 | - } | ||
| 112 | - } else { | ||
| 113 | - // trim unused fields | ||
| 114 | - for _, v := range l { | ||
| 115 | - m := make(map[string]interface{}) | ||
| 116 | - val := reflect.ValueOf(v) | ||
| 117 | - for _, fname := range fields { | ||
| 118 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 119 | - } | ||
| 120 | - ml = append(ml, m) | ||
| 121 | - } | ||
| 122 | - } | ||
| 123 | - return ml, nil | ||
| 124 | - } | ||
| 125 | - return nil, err | ||
| 126 | -} | ||
| 127 | - | ||
| 128 | -// UpdateUserSmsCode updates UserSmsCode by Id and returns error if | ||
| 129 | -// the record to be updated doesn't exist | ||
| 130 | -func UpdateUserSmsCodeById(m *UserSmsCode) (err error) { | ||
| 131 | - o := orm.NewOrm() | ||
| 132 | - v := UserSmsCode{Id: m.Id} | ||
| 133 | - // ascertain id exists in the database | ||
| 134 | - if err = o.Read(&v); err == nil { | ||
| 135 | - var num int64 | ||
| 136 | - if num, err = o.Update(m); err == nil { | ||
| 137 | - fmt.Println("Number of records updated in database:", num) | ||
| 138 | - } | ||
| 139 | - } | ||
| 140 | - return | ||
| 141 | -} | ||
| 142 | - | ||
| 143 | -// DeleteUserSmsCode deletes UserSmsCode by Id and returns error if | ||
| 144 | -// the record to be deleted doesn't exist | ||
| 145 | -func DeleteUserSmsCode(id int) (err error) { | ||
| 146 | - o := orm.NewOrm() | ||
| 147 | - v := UserSmsCode{Id: id} | ||
| 148 | - // ascertain id exists in the database | ||
| 149 | - if err = o.Read(&v); err == nil { | ||
| 150 | - var num int64 | ||
| 151 | - if num, err = o.Delete(&UserSmsCode{Id: id}); err == nil { | ||
| 152 | - fmt.Println("Number of records deleted in database:", num) | ||
| 153 | - } | ||
| 154 | - } | ||
| 155 | - return | ||
| 156 | -} |
models/user_sympathy.go
已删除
100755 → 0
| 1 | -package models | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - "fmt" | ||
| 6 | - "reflect" | ||
| 7 | - "strings" | ||
| 8 | - "time" | ||
| 9 | - | ||
| 10 | - "github.com/astaxie/beego/orm" | ||
| 11 | -) | ||
| 12 | - | ||
| 13 | -type UserSympathy struct { | ||
| 14 | - Id int `orm:"column(sid);pk"` | ||
| 15 | - Uid int64 `orm:"column(uid);null"` | ||
| 16 | - Id_RENAME string `orm:"column(id);size(100);null" description:"对应的ID"` | ||
| 17 | - Type int `orm:"column(type)" description:"0问题、1评论、2方案"` | ||
| 18 | - Status int `orm:"column(status);null" description:"0 有效 1无效"` | ||
| 19 | - CreateTime time.Time `orm:"column(createTime);type(timestamp);auto_now_add"` | ||
| 20 | -} | ||
| 21 | - | ||
| 22 | -func (t *UserSympathy) TableName() string { | ||
| 23 | - return "user_sympathy" | ||
| 24 | -} | ||
| 25 | - | ||
| 26 | -func init() { | ||
| 27 | - orm.RegisterModel(new(UserSympathy)) | ||
| 28 | -} | ||
| 29 | - | ||
| 30 | -// AddUserSympathy insert a new UserSympathy into database and returns | ||
| 31 | -// last inserted Id on success. | ||
| 32 | -func AddUserSympathy(m *UserSympathy) (id int64, err error) { | ||
| 33 | - o := orm.NewOrm() | ||
| 34 | - id, err = o.Insert(m) | ||
| 35 | - return | ||
| 36 | -} | ||
| 37 | - | ||
| 38 | -// GetUserSympathyById retrieves UserSympathy by Id. Returns error if | ||
| 39 | -// Id doesn't exist | ||
| 40 | -func GetUserSympathyById(id int) (v *UserSympathy, err error) { | ||
| 41 | - o := orm.NewOrm() | ||
| 42 | - v = &UserSympathy{Id: id} | ||
| 43 | - if err = o.Read(v); err == nil { | ||
| 44 | - return v, nil | ||
| 45 | - } | ||
| 46 | - return nil, err | ||
| 47 | -} | ||
| 48 | - | ||
| 49 | -// GetAllUserSympathy retrieves all UserSympathy matches certain condition. Returns empty list if | ||
| 50 | -// no records exist | ||
| 51 | -func GetAllUserSympathy(query map[string]string, fields []string, sortby []string, order []string, | ||
| 52 | - offset int64, limit int64) (ml []interface{}, err error) { | ||
| 53 | - o := orm.NewOrm() | ||
| 54 | - qs := o.QueryTable(new(UserSympathy)) | ||
| 55 | - // query k=v | ||
| 56 | - for k, v := range query { | ||
| 57 | - // rewrite dot-notation to Object__Attribute | ||
| 58 | - k = strings.Replace(k, ".", "__", -1) | ||
| 59 | - if strings.Contains(k, "isnull") { | ||
| 60 | - qs = qs.Filter(k, (v == "true" || v == "1")) | ||
| 61 | - } else { | ||
| 62 | - qs = qs.Filter(k, v) | ||
| 63 | - } | ||
| 64 | - } | ||
| 65 | - // order by: | ||
| 66 | - var sortFields []string | ||
| 67 | - if len(sortby) != 0 { | ||
| 68 | - if len(sortby) == len(order) { | ||
| 69 | - // 1) for each sort field, there is an associated order | ||
| 70 | - for i, v := range sortby { | ||
| 71 | - orderby := "" | ||
| 72 | - if order[i] == "desc" { | ||
| 73 | - orderby = "-" + v | ||
| 74 | - } else if order[i] == "asc" { | ||
| 75 | - orderby = v | ||
| 76 | - } else { | ||
| 77 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 78 | - } | ||
| 79 | - sortFields = append(sortFields, orderby) | ||
| 80 | - } | ||
| 81 | - qs = qs.OrderBy(sortFields...) | ||
| 82 | - } else if len(sortby) != len(order) && len(order) == 1 { | ||
| 83 | - // 2) there is exactly one order, all the sorted fields will be sorted by this order | ||
| 84 | - for _, v := range sortby { | ||
| 85 | - orderby := "" | ||
| 86 | - if order[0] == "desc" { | ||
| 87 | - orderby = "-" + v | ||
| 88 | - } else if order[0] == "asc" { | ||
| 89 | - orderby = v | ||
| 90 | - } else { | ||
| 91 | - return nil, errors.New("Error: Invalid order. Must be either [asc|desc]") | ||
| 92 | - } | ||
| 93 | - sortFields = append(sortFields, orderby) | ||
| 94 | - } | ||
| 95 | - } else if len(sortby) != len(order) && len(order) != 1 { | ||
| 96 | - return nil, errors.New("Error: 'sortby', 'order' sizes mismatch or 'order' size is not 1") | ||
| 97 | - } | ||
| 98 | - } else { | ||
| 99 | - if len(order) != 0 { | ||
| 100 | - return nil, errors.New("Error: unused 'order' fields") | ||
| 101 | - } | ||
| 102 | - } | ||
| 103 | - | ||
| 104 | - var l []UserSympathy | ||
| 105 | - qs = qs.OrderBy(sortFields...) | ||
| 106 | - if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | ||
| 107 | - if len(fields) == 0 { | ||
| 108 | - for _, v := range l { | ||
| 109 | - ml = append(ml, v) | ||
| 110 | - } | ||
| 111 | - } else { | ||
| 112 | - // trim unused fields | ||
| 113 | - for _, v := range l { | ||
| 114 | - m := make(map[string]interface{}) | ||
| 115 | - val := reflect.ValueOf(v) | ||
| 116 | - for _, fname := range fields { | ||
| 117 | - m[fname] = val.FieldByName(fname).Interface() | ||
| 118 | - } | ||
| 119 | - ml = append(ml, m) | ||
| 120 | - } | ||
| 121 | - } | ||
| 122 | - return ml, nil | ||
| 123 | - } | ||
| 124 | - return nil, err | ||
| 125 | -} | ||
| 126 | - | ||
| 127 | -// UpdateUserSympathy updates UserSympathy by Id and returns error if | ||
| 128 | -// the record to be updated doesn't exist | ||
| 129 | -func UpdateUserSympathyById(m *UserSympathy) (err error) { | ||
| 130 | - o := orm.NewOrm() | ||
| 131 | - v := UserSympathy{Id: m.Id} | ||
| 132 | - // ascertain id exists in the database | ||
| 133 | - if err = o.Read(&v); err == nil { | ||
| 134 | - var num int64 | ||
| 135 | - if num, err = o.Update(m); err == nil { | ||
| 136 | - fmt.Println("Number of records updated in database:", num) | ||
| 137 | - } | ||
| 138 | - } | ||
| 139 | - return | ||
| 140 | -} | ||
| 141 | - | ||
| 142 | -// DeleteUserSympathy deletes UserSympathy by Id and returns error if | ||
| 143 | -// the record to be deleted doesn't exist | ||
| 144 | -func DeleteUserSympathy(id int) (err error) { | ||
| 145 | - o := orm.NewOrm() | ||
| 146 | - v := UserSympathy{Id: id} | ||
| 147 | - // ascertain id exists in the database | ||
| 148 | - if err = o.Read(&v); err == nil { | ||
| 149 | - var num int64 | ||
| 150 | - if num, err = o.Delete(&UserSympathy{Id: id}); err == nil { | ||
| 151 | - fmt.Println("Number of records deleted in database:", num) | ||
| 152 | - } | ||
| 153 | - } | ||
| 154 | - return | ||
| 155 | -} |
| @@ -10,35 +10,34 @@ import ( | @@ -10,35 +10,34 @@ import ( | ||
| 10 | "github.com/astaxie/beego/orm" | 10 | "github.com/astaxie/beego/orm" |
| 11 | ) | 11 | ) |
| 12 | 12 | ||
| 13 | -type Users struct { | ||
| 14 | - Id int `orm:"column(id);auto"` | ||
| 15 | - Name string `orm:"column(name);size(191)" description:"用户名"` | ||
| 16 | - Username string `orm:"column(username);size(191)" description:"登录用户名"` | ||
| 17 | - Password string `orm:"column(password);size(191)" description:"密码"` | ||
| 18 | - Photo string `orm:"column(photo);size(191);null" description:"头像"` | ||
| 19 | - Accid string `orm:"column(accid);size(191);null" description:"网易云id"` | ||
| 20 | - Token string `orm:"column(token);size(191);null" description:"网易云密码"` | ||
| 21 | - Thumbnail string `orm:"column(thumbnail);size(191);null" description:"缩略图"` | ||
| 22 | - Width int `orm:"column(width);null" description:"宽"` | ||
| 23 | - Length int `orm:"column(length);null" description:"高"` | ||
| 24 | - IsKefu int8 `orm:"column(is_kefu)" description:"是否是客服 0不是 1是"` | ||
| 25 | - Status int8 `orm:"column(status)" description:"账号使用状态 0禁用 1启用"` | ||
| 26 | - RememberToken string `orm:"column(remember_token);size(100);null" description:"记住我token"` | ||
| 27 | - CreatedAt time.Time `orm:"column(created_at);type(timestamp);null" description:"创建时间"` | ||
| 28 | - UpdatedAt time.Time `orm:"column(updated_at);type(timestamp);null" description:"更新时间"` | 13 | +type User struct { |
| 14 | + Id int64 `orm:"column(id);pk" description:"用户id"` | ||
| 15 | + NickName string `orm:"column(nick_name);size(100)" description:"昵称"` | ||
| 16 | + Phone string `orm:"column(phone);size(40)" description:"手机号码"` | ||
| 17 | + Passwd string `orm:"column(passwd);size(128)" description:"密码"` | ||
| 18 | + Icon string `orm:"column(icon);size(255)" description:"头像"` | ||
| 19 | + CompanyId int `orm:"column(company_id)" description:"公司Id"` | ||
| 20 | + DepartmentId int `orm:"column(department_id)" description:"部门id"` | ||
| 21 | + PositionId int `orm:"column(position_id)" description:"职位id"` | ||
| 22 | + CsAccount int64 `orm:"column(cs_account)" description:"客服有话说ID"` | ||
| 23 | + IsKefu int8 `orm:"column(is_kefu)" description:"是否是客服 0:否 1:是"` | ||
| 24 | + ImToken string `orm:"column(im_token);size(128)" description:"网易云token"` | ||
| 25 | + LastLoginTime time.Time `orm:"column(last_login_time);type(timestamp);auto_now_add" description:"最后一次登录时间"` | ||
| 26 | + CreateAt time.Time `orm:"column(create_at);type(timestamp);auto_now_add" description:"创建时间"` | ||
| 27 | + EnableStatus int8 `orm:"column(enable_status)" description:"是否有效"` | ||
| 29 | } | 28 | } |
| 30 | 29 | ||
| 31 | -func (t *Users) TableName() string { | 30 | +func (t *User) TableName() string { |
| 32 | return "users" | 31 | return "users" |
| 33 | } | 32 | } |
| 34 | 33 | ||
| 35 | func init() { | 34 | func init() { |
| 36 | - orm.RegisterModel(new(Users)) | 35 | + orm.RegisterModel(new(User)) |
| 37 | } | 36 | } |
| 38 | 37 | ||
| 39 | // AddUsers insert a new Users into database and returns | 38 | // AddUsers insert a new Users into database and returns |
| 40 | // last inserted Id on success. | 39 | // last inserted Id on success. |
| 41 | -func AddUsers(m *Users) (id int64, err error) { | 40 | +func AddUsers(m *User) (id int64, err error) { |
| 42 | o := orm.NewOrm() | 41 | o := orm.NewOrm() |
| 43 | id, err = o.Insert(m) | 42 | id, err = o.Insert(m) |
| 44 | return | 43 | return |
| @@ -46,9 +45,9 @@ func AddUsers(m *Users) (id int64, err error) { | @@ -46,9 +45,9 @@ func AddUsers(m *Users) (id int64, err error) { | ||
| 46 | 45 | ||
| 47 | // GetUsersById retrieves Users by Id. Returns error if | 46 | // GetUsersById retrieves Users by Id. Returns error if |
| 48 | // Id doesn't exist | 47 | // Id doesn't exist |
| 49 | -func GetUsersById(id int) (v *Users, err error) { | 48 | +func GetUsersById(id int64) (v *User, err error) { |
| 50 | o := orm.NewOrm() | 49 | o := orm.NewOrm() |
| 51 | - v = &Users{Id: id} | 50 | + v = &User{Id: id} |
| 52 | if err = o.Read(v); err == nil { | 51 | if err = o.Read(v); err == nil { |
| 53 | return v, nil | 52 | return v, nil |
| 54 | } | 53 | } |
| @@ -60,7 +59,7 @@ func GetUsersById(id int) (v *Users, err error) { | @@ -60,7 +59,7 @@ func GetUsersById(id int) (v *Users, err error) { | ||
| 60 | func GetAllUsers(query map[string]string, fields []string, sortby []string, order []string, | 59 | func GetAllUsers(query map[string]string, fields []string, sortby []string, order []string, |
| 61 | offset int64, limit int64) (ml []interface{}, err error) { | 60 | offset int64, limit int64) (ml []interface{}, err error) { |
| 62 | o := orm.NewOrm() | 61 | o := orm.NewOrm() |
| 63 | - qs := o.QueryTable(new(Users)) | 62 | + qs := o.QueryTable(new(User)) |
| 64 | // query k=v | 63 | // query k=v |
| 65 | for k, v := range query { | 64 | for k, v := range query { |
| 66 | // rewrite dot-notation to Object__Attribute | 65 | // rewrite dot-notation to Object__Attribute |
| @@ -110,7 +109,7 @@ func GetAllUsers(query map[string]string, fields []string, sortby []string, orde | @@ -110,7 +109,7 @@ func GetAllUsers(query map[string]string, fields []string, sortby []string, orde | ||
| 110 | } | 109 | } |
| 111 | } | 110 | } |
| 112 | 111 | ||
| 113 | - var l []Users | 112 | + var l []User |
| 114 | qs = qs.OrderBy(sortFields...) | 113 | qs = qs.OrderBy(sortFields...) |
| 115 | if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { | 114 | if _, err = qs.Limit(limit, offset).All(&l, fields...); err == nil { |
| 116 | if len(fields) == 0 { | 115 | if len(fields) == 0 { |
| @@ -135,9 +134,9 @@ func GetAllUsers(query map[string]string, fields []string, sortby []string, orde | @@ -135,9 +134,9 @@ func GetAllUsers(query map[string]string, fields []string, sortby []string, orde | ||
| 135 | 134 | ||
| 136 | // UpdateUsers updates Users by Id and returns error if | 135 | // UpdateUsers updates Users by Id and returns error if |
| 137 | // the record to be updated doesn't exist | 136 | // the record to be updated doesn't exist |
| 138 | -func UpdateUsersById(m *Users) (err error) { | 137 | +func UpdateUsersById(m *User) (err error) { |
| 139 | o := orm.NewOrm() | 138 | o := orm.NewOrm() |
| 140 | - v := Users{Id: m.Id} | 139 | + v := User{Id: m.Id} |
| 141 | // ascertain id exists in the database | 140 | // ascertain id exists in the database |
| 142 | if err = o.Read(&v); err == nil { | 141 | if err = o.Read(&v); err == nil { |
| 143 | var num int64 | 142 | var num int64 |
| @@ -150,20 +149,20 @@ func UpdateUsersById(m *Users) (err error) { | @@ -150,20 +149,20 @@ func UpdateUsersById(m *Users) (err error) { | ||
| 150 | 149 | ||
| 151 | // DeleteUsers deletes Users by Id and returns error if | 150 | // DeleteUsers deletes Users by Id and returns error if |
| 152 | // the record to be deleted doesn't exist | 151 | // the record to be deleted doesn't exist |
| 153 | -func DeleteUsers(id int) (err error) { | 152 | +func DeleteUsers(id int64) (err error) { |
| 154 | o := orm.NewOrm() | 153 | o := orm.NewOrm() |
| 155 | - v := Users{Id: id} | 154 | + v := User{Id: id} |
| 156 | // ascertain id exists in the database | 155 | // ascertain id exists in the database |
| 157 | if err = o.Read(&v); err == nil { | 156 | if err = o.Read(&v); err == nil { |
| 158 | var num int64 | 157 | var num int64 |
| 159 | - if num, err = o.Delete(&Users{Id: id}); err == nil { | 158 | + if num, err = o.Delete(&User{Id: id}); err == nil { |
| 160 | fmt.Println("Number of records deleted in database:", num) | 159 | fmt.Println("Number of records deleted in database:", num) |
| 161 | } | 160 | } |
| 162 | } | 161 | } |
| 163 | return | 162 | return |
| 164 | } | 163 | } |
| 165 | 164 | ||
| 166 | -func GetUsersByMobile(mobile string) (v *Users, err error) { | 165 | +func GetUsersByMobile(mobile string) (v *User, err error) { |
| 167 | o := orm.NewOrm() | 166 | o := orm.NewOrm() |
| 168 | sql := `select * from users where username=?` | 167 | sql := `select * from users where username=?` |
| 169 | if err = o.Raw(sql, mobile).QueryRow(&v); err == nil { | 168 | if err = o.Raw(sql, mobile).QueryRow(&v); err == nil { |
| @@ -172,7 +171,7 @@ func GetUsersByMobile(mobile string) (v *Users, err error) { | @@ -172,7 +171,7 @@ func GetUsersByMobile(mobile string) (v *Users, err error) { | ||
| 172 | return nil, err | 171 | return nil, err |
| 173 | } | 172 | } |
| 174 | 173 | ||
| 175 | -func GetUsersKefu() (v []*Users, err error) { | 174 | +func GetUsersKefu() (v []*User, err error) { |
| 176 | o := orm.NewOrm() | 175 | o := orm.NewOrm() |
| 177 | sql := `select * from users where is_kefu = 1` | 176 | sql := `select * from users where is_kefu = 1` |
| 178 | if _, err = o.Raw(sql).QueryRows(&v); err == nil { | 177 | if _, err = o.Raw(sql).QueryRows(&v); err == nil { |
| @@ -180,3 +179,21 @@ func GetUsersKefu() (v []*Users, err error) { | @@ -180,3 +179,21 @@ func GetUsersKefu() (v []*Users, err error) { | ||
| 180 | } | 179 | } |
| 181 | return nil, err | 180 | return nil, err |
| 182 | } | 181 | } |
| 182 | + | ||
| 183 | +func GetUserByMobile(mobile string) (v *User, err error) { | ||
| 184 | + o := orm.NewOrm() | ||
| 185 | + sql := "select * from users where phone=?" | ||
| 186 | + if err = o.Raw(sql, mobile).QueryRow(&v); err == nil { | ||
| 187 | + return v, nil | ||
| 188 | + } | ||
| 189 | + return nil, err | ||
| 190 | +} | ||
| 191 | + | ||
| 192 | +//func GetUserInfoByClientId(clintId string) (v *User, err error) { | ||
| 193 | +// o := orm.NewOrm() | ||
| 194 | +// sql := "select * from users where clientId=?" | ||
| 195 | +// if err = o.Raw(sql, clintId).QueryRow(&v); err == nil { | ||
| 196 | +// return v, nil | ||
| 197 | +// } | ||
| 198 | +// return nil, err | ||
| 199 | +//} |
| @@ -92,7 +92,7 @@ type CheckTokenRequest struct { | @@ -92,7 +92,7 @@ type CheckTokenRequest struct { | ||
| 92 | } | 92 | } |
| 93 | type CheckTokenResponse struct { | 93 | type CheckTokenResponse struct { |
| 94 | IsValid bool //true:过期 false:没有过期 | 94 | IsValid bool //true:过期 false:没有过期 |
| 95 | - UserInfo *models.UserInfo | 95 | + UserInfo *models.UserAuth |
| 96 | } | 96 | } |
| 97 | 97 | ||
| 98 | /*CheckUuid */ | 98 | /*CheckUuid */ |
| @@ -6,7 +6,6 @@ import ( | @@ -6,7 +6,6 @@ import ( | ||
| 6 | "fmt" | 6 | "fmt" |
| 7 | "html/template" | 7 | "html/template" |
| 8 | "math/rand" | 8 | "math/rand" |
| 9 | - "strconv" | ||
| 10 | "strings" | 9 | "strings" |
| 11 | "time" | 10 | "time" |
| 12 | 11 | ||
| @@ -43,7 +42,7 @@ func assertImplement() { | @@ -43,7 +42,7 @@ func assertImplement() { | ||
| 43 | 42 | ||
| 44 | var ( | 43 | var ( |
| 45 | //服务 | 44 | //服务 |
| 46 | - sms s_sms.ISmsService = &s_sms.YunPianSmsService{} | 45 | + sms s_sms.ISmsService = &s_sms.YunPianSmsService{} |
| 47 | //ConfigRepository repository.IConfigRepository = &repository.ConfigRepository{} | 46 | //ConfigRepository repository.IConfigRepository = &repository.ConfigRepository{} |
| 48 | ////仓储 | 47 | ////仓储 |
| 49 | //UserRepository repository.IUserRepository = &repository.UserRepository{} | 48 | //UserRepository repository.IUserRepository = &repository.UserRepository{} |
| @@ -52,12 +51,12 @@ var ( | @@ -52,12 +51,12 @@ var ( | ||
| 52 | //登录 | 51 | //登录 |
| 53 | func (s *AuthService) Login(request *protocol.LoginRequest) (rsp *protocol.LoginResponse, err error) { | 52 | func (s *AuthService) Login(request *protocol.LoginRequest) (rsp *protocol.LoginResponse, err error) { |
| 54 | var ( | 53 | var ( |
| 55 | - user *models.Users | ||
| 56 | - userInfo *models.UserInfo | 54 | + user *models.User |
| 55 | + userAuth *models.UserAuth | ||
| 57 | result bool | 56 | result bool |
| 58 | checkImResponse *protocol.CheckImResponse | 57 | checkImResponse *protocol.CheckImResponse |
| 59 | ) | 58 | ) |
| 60 | - user, err = repository.UserRepositoryFactory().GetUsersByMobile(request.Phone) | 59 | + user, err = repository.User.GetUsersByMobile(request.Phone) |
| 61 | if err != nil { | 60 | if err != nil { |
| 62 | log.Error(err) | 61 | log.Error(err) |
| 63 | err = protocol.NewErrWithMessage(2020, err) //账号不存在 | 62 | err = protocol.NewErrWithMessage(2020, err) //账号不存在 |
| @@ -65,7 +64,7 @@ func (s *AuthService) Login(request *protocol.LoginRequest) (rsp *protocol.Login | @@ -65,7 +64,7 @@ func (s *AuthService) Login(request *protocol.LoginRequest) (rsp *protocol.Login | ||
| 65 | } | 64 | } |
| 66 | switch request.GrantType { | 65 | switch request.GrantType { |
| 67 | case protocol.LoginTypePassPord: | 66 | case protocol.LoginTypePassPord: |
| 68 | - if strings.Compare(user.Password, request.PassWord) == 0 { | 67 | + if strings.Compare(user.Passwd, request.PassWord) == 0 { |
| 69 | goto Success | 68 | goto Success |
| 70 | } else { | 69 | } else { |
| 71 | err = protocol.NewErrWithMessage(2021, err) //登录密码错误 | 70 | err = protocol.NewErrWithMessage(2021, err) //登录密码错误 |
| @@ -84,108 +83,43 @@ func (s *AuthService) Login(request *protocol.LoginRequest) (rsp *protocol.Login | @@ -84,108 +83,43 @@ func (s *AuthService) Login(request *protocol.LoginRequest) (rsp *protocol.Login | ||
| 84 | } | 83 | } |
| 85 | Success: | 84 | Success: |
| 86 | { | 85 | { |
| 87 | - userInfo, err = repository.UserRepositoryFactory().GetUserInfoByMobile(request.Phone) | 86 | + user, err = repository.User.GetUsersByMobile(request.Phone) |
| 88 | if err != nil { | 87 | if err != nil { |
| 89 | log.Error(err) | 88 | log.Error(err) |
| 90 | return | 89 | return |
| 91 | } | 90 | } |
| 92 | - if userInfo.Auth == "" { | ||
| 93 | - userInfo.Auth = uid.NewV1().StringNoDash() | 91 | + userAuth, err = repository.UserAuth.GetUserAuthByUserId(user.Id) |
| 92 | + if err != nil { | ||
| 93 | + log.Error(err) | ||
| 94 | + return | ||
| 95 | + } | ||
| 96 | + if userAuth.AuthCode == "" { | ||
| 97 | + userAuth.AuthCode = uid.NewV1().StringNoDash() | ||
| 94 | } | 98 | } |
| 95 | if checkImResponse, err = CheckIm(&protocol.CheckImRequest{ | 99 | if checkImResponse, err = CheckIm(&protocol.CheckImRequest{ |
| 96 | - Uid: fmt.Sprintf("%v", userInfo.Id), | ||
| 97 | - Uname: userInfo.Uname, | ||
| 98 | - Icon: userInfo.Icon, | ||
| 99 | - IsCreated: userInfo.ImToken != "", | 100 | + Uid: fmt.Sprintf("%v", user.Id), |
| 101 | + Uname: user.NickName, | ||
| 102 | + Icon: user.Icon, | ||
| 103 | + IsCreated: user.ImToken != "", | ||
| 100 | }); err != nil { | 104 | }); err != nil { |
| 101 | return | 105 | return |
| 102 | } | 106 | } |
| 103 | if checkImResponse != nil && checkImResponse.ImToken != "" { | 107 | if checkImResponse != nil && checkImResponse.ImToken != "" { |
| 104 | - userInfo.ImToken = checkImResponse.ImToken | 108 | + user.ImToken = checkImResponse.ImToken |
| 105 | } | 109 | } |
| 106 | - if userInfo.CsAccount == 0 { | ||
| 107 | - userInfo.CsAccount = imGetRandomCSAccount() | 110 | + if user.CsAccount == 0 { |
| 111 | + user.CsAccount = imGetRandomCSAccount() | ||
| 108 | } | 112 | } |
| 109 | - userInfo.AuthExp = time.Now().Add(time.Second * protocol.TokenExpire) | ||
| 110 | - if err = repository.UserRepositoryFactory().UpdateUserInfoById(userInfo); err != nil { | 113 | + userAuth.AccessTokenExp = time.Now().Add(time.Second * protocol.TokenExpire) |
| 114 | + if err = repository.UserAuth.UpdateUserAuthById(userAuth); err != nil { | ||
| 111 | return | 115 | return |
| 112 | } | 116 | } |
| 113 | - rsp = &protocol.LoginResponse{AuthCode: userInfo.Auth} | 117 | + rsp = &protocol.LoginResponse{AuthCode: userAuth.AuthCode} |
| 114 | return | 118 | return |
| 115 | } | 119 | } |
| 116 | return | 120 | return |
| 117 | } | 121 | } |
| 118 | 122 | ||
| 119 | -func (s *AuthService) Login1(request *protocol.LoginRequest) (rsp *protocol.LoginResponse, err error) { | ||
| 120 | - var logintype ILoginAuth | ||
| 121 | - switch request.GrantType { | ||
| 122 | - case protocol.LoginTypePassPord: | ||
| 123 | - logintype = NewLoginByPassword(request.Phone, request.PassWord) | ||
| 124 | - case protocol.LoginTypeSmdcode: | ||
| 125 | - logintype = NewLoginBySms(request.Phone, request.Code) | ||
| 126 | - default: | ||
| 127 | - err = fmt.Errorf("grantType error:%s", request.GrantType) | ||
| 128 | - return | ||
| 129 | - } | ||
| 130 | - var useridentity *UserIdentity | ||
| 131 | - useridentity, err = logintype.LoginAuth() | ||
| 132 | - if err != nil { | ||
| 133 | - return nil, err | ||
| 134 | - } | ||
| 135 | - rsp = &protocol.LoginResponse{ | ||
| 136 | - AuthCode: useridentity.Auth, | ||
| 137 | - } | ||
| 138 | - if len(useridentity.Auth) == 0 { | ||
| 139 | - useridentity.Auth = uid.NewV1().StringNoDash() | ||
| 140 | - } | ||
| 141 | - if len(useridentity.Imtoken) == 0 { | ||
| 142 | - //usercreate 最多重试俩次 | ||
| 143 | - for i := 0; i < 2; i++ { | ||
| 144 | - v := s_im.UserCreate{ | ||
| 145 | - Accid: fmt.Sprintf("%s", useridentity.Uid), | ||
| 146 | - Name: useridentity.Uname, | ||
| 147 | - Icon: useridentity.Icon, | ||
| 148 | - } | ||
| 149 | - tokenInfo, err := s_im.ParseUserCreate(v) | ||
| 150 | - if err != nil { | ||
| 151 | - log.Error("s_im.ParseUserCreate err:", err) | ||
| 152 | - } | ||
| 153 | - if err == nil { | ||
| 154 | - if tokenInfo.Code == 200 { | ||
| 155 | - useridentity.Imtoken = tokenInfo.Info.Token | ||
| 156 | - // 跳出 | ||
| 157 | - break | ||
| 158 | - } else { | ||
| 159 | - log.Error("s_im.ParseUserCreate response code:", tokenInfo.Code) | ||
| 160 | - } | ||
| 161 | - } | ||
| 162 | - } | ||
| 163 | - | ||
| 164 | - } else { | ||
| 165 | - //userupdateunifo | ||
| 166 | - for i := 0; i < 2; i++ { | ||
| 167 | - v := s_im.UserUpdateUinfo{ | ||
| 168 | - Accid: fmt.Sprintf("%s", useridentity.Accid), | ||
| 169 | - Name: useridentity.Uname, | ||
| 170 | - Icon: useridentity.Icon, | ||
| 171 | - } | ||
| 172 | - imRsp, err := s_im.ParseUserUpdateUinfo(v) | ||
| 173 | - if err != nil { | ||
| 174 | - log.Error("s_im.ParseUserUpdateUinfo err:", err) | ||
| 175 | - } | ||
| 176 | - if err == nil { | ||
| 177 | - if imRsp.Code == 200 { | ||
| 178 | - break | ||
| 179 | - } else { | ||
| 180 | - log.Error("s_im.ParseUserUpdateUinfo response code:", imRsp.Code) | ||
| 181 | - } | ||
| 182 | - } | ||
| 183 | - } | ||
| 184 | - } | ||
| 185 | - | ||
| 186 | - return nil, err | ||
| 187 | -} | ||
| 188 | - | ||
| 189 | //更新设备信息 | 123 | //更新设备信息 |
| 190 | func (s *AuthService) UpdateDevice(request *protocol.UpdateDeviceRequest) (rsp *protocol.UpdateDeviceResponse, err error) { | 124 | func (s *AuthService) UpdateDevice(request *protocol.UpdateDeviceRequest) (rsp *protocol.UpdateDeviceResponse, err error) { |
| 191 | return nil, nil | 125 | return nil, nil |
| @@ -194,28 +128,28 @@ func (s *AuthService) UpdateDevice(request *protocol.UpdateDeviceRequest) (rsp * | @@ -194,28 +128,28 @@ func (s *AuthService) UpdateDevice(request *protocol.UpdateDeviceRequest) (rsp * | ||
| 194 | //获取accessToken | 128 | //获取accessToken |
| 195 | func (s *AuthService) AccessToken(request *protocol.AccessTokenRequest) (rsp *protocol.AccessTokenResponse, err error) { | 129 | func (s *AuthService) AccessToken(request *protocol.AccessTokenRequest) (rsp *protocol.AccessTokenResponse, err error) { |
| 196 | var ( | 130 | var ( |
| 197 | - userInfo *models.UserInfo | 131 | + userAuth *models.UserAuth |
| 198 | ) | 132 | ) |
| 199 | - _, err = repository.ConfigRepositoryFactory().GetCfgClient(request.ClientId, request.ClientSecret) | ||
| 200 | - if err != nil { | ||
| 201 | - err = protocol.NewErrWithMessage(101, err) | ||
| 202 | - return | ||
| 203 | - } | ||
| 204 | - userInfo, err = repository.UserRepositoryFactory().GetUserInfoByAuthCode(request.AuthCode) | 133 | + //_, err = repository.ConfigRepositoryFactory().GetCfgClient(request.ClientId, request.ClientSecret) |
| 134 | + //if err != nil { | ||
| 135 | + // err = protocol.NewErrWithMessage(101, err) | ||
| 136 | + // return | ||
| 137 | + //} | ||
| 138 | + userAuth, err = repository.UserAuth.GetUserAuthByAuthCode(request.AuthCode) | ||
| 205 | if err != nil { | 139 | if err != nil { |
| 206 | err = protocol.NewErrWithMessage(4139, err) | 140 | err = protocol.NewErrWithMessage(4139, err) |
| 207 | return | 141 | return |
| 208 | } | 142 | } |
| 209 | - userInfo.AccessToken = uid.NewV1().StringNoDash() | ||
| 210 | - userInfo.RefreshToken = uid.NewV1().StringNoDash() | ||
| 211 | - if err = repository.UserRepositoryFactory().UpdateUserInfoById(userInfo); err != nil { | 143 | + userAuth.AccessToken = uid.NewV1().StringNoDash() |
| 144 | + userAuth.RefreshToken = uid.NewV1().StringNoDash() | ||
| 145 | + if err = repository.UserAuth.UpdateUserAuthById(userAuth); err != nil { | ||
| 212 | log.Error(err) | 146 | log.Error(err) |
| 213 | return | 147 | return |
| 214 | } | 148 | } |
| 215 | //valid token | 149 | //valid token |
| 216 | rsp = &protocol.AccessTokenResponse{ | 150 | rsp = &protocol.AccessTokenResponse{ |
| 217 | - RefreshToken: userInfo.RefreshToken, | ||
| 218 | - AccessToken: userInfo.AccessToken, | 151 | + RefreshToken: userAuth.RefreshToken, |
| 152 | + AccessToken: userAuth.AccessToken, | ||
| 219 | ExpiresIn: protocol.TokenExpire, | 153 | ExpiresIn: protocol.TokenExpire, |
| 220 | } | 154 | } |
| 221 | return | 155 | return |
| @@ -224,25 +158,25 @@ func (s *AuthService) AccessToken(request *protocol.AccessTokenRequest) (rsp *pr | @@ -224,25 +158,25 @@ func (s *AuthService) AccessToken(request *protocol.AccessTokenRequest) (rsp *pr | ||
| 224 | //刷新token | 158 | //刷新token |
| 225 | func (s *AuthService) RefreshToken(request *protocol.RefreshTokenRequest) (rsp *protocol.RefreshTokenResponse, err error) { | 159 | func (s *AuthService) RefreshToken(request *protocol.RefreshTokenRequest) (rsp *protocol.RefreshTokenResponse, err error) { |
| 226 | var ( | 160 | var ( |
| 227 | - userInfo *models.UserInfo | 161 | + userAuth *models.UserAuth |
| 228 | ) | 162 | ) |
| 229 | - _, err = repository.ConfigRepositoryFactory().GetCfgClient(request.ClientId, request.ClientSecret) | ||
| 230 | - if err != nil { | ||
| 231 | - protocol.NewErrWithMessage(101, err) | ||
| 232 | - return | ||
| 233 | - } | ||
| 234 | - userInfo, err = repository.UserRepositoryFactory().GetUserInfoByRefreshToken(request.RefreshToken) | 163 | + //_, err = repository.ConfigRepositoryFactory().GetCfgClient(request.ClientId, request.ClientSecret) |
| 164 | + //if err != nil { | ||
| 165 | + // protocol.NewErrWithMessage(101, err) | ||
| 166 | + // return | ||
| 167 | + //} | ||
| 168 | + userAuth, err = repository.UserAuth.GetUserAuthByRefreshToken(request.RefreshToken) | ||
| 235 | if err != nil { | 169 | if err != nil { |
| 236 | protocol.NewErrWithMessage(4139, err) | 170 | protocol.NewErrWithMessage(4139, err) |
| 237 | return | 171 | return |
| 238 | } | 172 | } |
| 239 | - userInfo.AccessToken = uid.NewV1().StringNoDash() | ||
| 240 | - if err = repository.UserRepositoryFactory().UpdateUserInfoById(userInfo); err != nil { | 173 | + userAuth.AccessToken = uid.NewV1().StringNoDash() |
| 174 | + if err = repository.UserAuth.UpdateUserAuthById(userAuth); err != nil { | ||
| 241 | return | 175 | return |
| 242 | } | 176 | } |
| 243 | rsp = &protocol.RefreshTokenResponse{ | 177 | rsp = &protocol.RefreshTokenResponse{ |
| 244 | - AccessToken: userInfo.AccessToken, | ||
| 245 | - RefreshToken: userInfo.RefreshToken, | 178 | + AccessToken: userAuth.AccessToken, |
| 179 | + RefreshToken: userAuth.RefreshToken, | ||
| 246 | ExpiresIn: protocol.TokenExpire, | 180 | ExpiresIn: protocol.TokenExpire, |
| 247 | } | 181 | } |
| 248 | return | 182 | return |
| @@ -259,19 +193,19 @@ func (s *AuthService) RefreshToken(request *protocol.RefreshTokenRequest) (rsp * | @@ -259,19 +193,19 @@ func (s *AuthService) RefreshToken(request *protocol.RefreshTokenRequest) (rsp * | ||
| 259 | //检查token有效性 | 193 | //检查token有效性 |
| 260 | func (s *AuthService) CheckToken(request *protocol.CheckTokenRequest) (rsp *protocol.CheckTokenResponse, err error) { | 194 | func (s *AuthService) CheckToken(request *protocol.CheckTokenRequest) (rsp *protocol.CheckTokenResponse, err error) { |
| 261 | var ( | 195 | var ( |
| 262 | - userInfo *models.UserInfo | 196 | + userAuth *models.UserAuth |
| 263 | ) | 197 | ) |
| 264 | if len(request.Token) == 0 { | 198 | if len(request.Token) == 0 { |
| 265 | err = common.NewErrorWithMsg(4141, "token not empty") | 199 | err = common.NewErrorWithMsg(4141, "token not empty") |
| 266 | return | 200 | return |
| 267 | } | 201 | } |
| 268 | - userInfo, err = models.GetUserInfoByToken(request.Token) | 202 | + userAuth, err = repository.UserAuth.GetUserAuthByToken(request.Token) |
| 269 | if err != nil { | 203 | if err != nil { |
| 270 | err = protocol.NewErrWithMessage(4141, err) | 204 | err = protocol.NewErrWithMessage(4141, err) |
| 271 | return | 205 | return |
| 272 | } | 206 | } |
| 273 | rsp = &protocol.CheckTokenResponse{ | 207 | rsp = &protocol.CheckTokenResponse{ |
| 274 | - UserInfo: userInfo, | 208 | + UserInfo: userAuth, |
| 275 | IsValid: true, | 209 | IsValid: true, |
| 276 | } | 210 | } |
| 277 | return | 211 | return |
| @@ -279,18 +213,18 @@ func (s *AuthService) CheckToken(request *protocol.CheckTokenRequest) (rsp *prot | @@ -279,18 +213,18 @@ func (s *AuthService) CheckToken(request *protocol.CheckTokenRequest) (rsp *prot | ||
| 279 | 213 | ||
| 280 | //检查uuid 是否重复 | 214 | //检查uuid 是否重复 |
| 281 | func (s *AuthService) CheckUuid(request *protocol.CheckUuidRequest) (rsp *protocol.CheckUuidResponse, err error) { | 215 | func (s *AuthService) CheckUuid(request *protocol.CheckUuidRequest) (rsp *protocol.CheckUuidResponse, err error) { |
| 282 | - var ( | ||
| 283 | - logUuid *models.LogUuid | ||
| 284 | - ) | ||
| 285 | - if len(request.Uuid) == 0 { | ||
| 286 | - err = common.NewErrorWithMsg(4142, "uuid not empty") | ||
| 287 | - } | ||
| 288 | - logUuid, err = models.GetLogUuidByUuid(request.Uuid) | ||
| 289 | - if err == nil && logUuid != nil { | ||
| 290 | - err = common.NewErrorWithMsg(4142, "uuid not valid") | ||
| 291 | - } | ||
| 292 | - models.AddLogUuid(&models.LogUuid{Uuid: request.Uuid}) | ||
| 293 | - rsp = &protocol.CheckUuidResponse{} | 216 | + //var ( |
| 217 | + // logUuid *models.LogUuid | ||
| 218 | + //) | ||
| 219 | + //if len(request.Uuid) == 0 { | ||
| 220 | + // err = common.NewErrorWithMsg(4142, "uuid not empty") | ||
| 221 | + //} | ||
| 222 | + //logUuid, err = models.GetLogUuidByUuid(request.Uuid) | ||
| 223 | + //if err == nil && logUuid != nil { | ||
| 224 | + // err = common.NewErrorWithMsg(4142, "uuid not valid") | ||
| 225 | + //} | ||
| 226 | + //models.AddLogUuid(&models.LogUuid{Uuid: request.Uuid}) | ||
| 227 | + //rsp = &protocol.CheckUuidResponse{} | ||
| 294 | return | 228 | return |
| 295 | } | 229 | } |
| 296 | 230 | ||
| @@ -502,9 +436,6 @@ func imGetRandomCSAccount() (acid int64) { | @@ -502,9 +436,6 @@ func imGetRandomCSAccount() (acid int64) { | ||
| 502 | return | 436 | return |
| 503 | } | 437 | } |
| 504 | index := rand.Intn(len(kefus)) | 438 | index := rand.Intn(len(kefus)) |
| 505 | - acid, err = strconv.ParseInt(kefus[index].Accid, 10, 64) | ||
| 506 | - if err != nil { | ||
| 507 | - log.Error(err) | ||
| 508 | - } | 439 | + acid = kefus[index].Id //Accid |
| 509 | return acid | 440 | return acid |
| 510 | } | 441 | } |
| @@ -10,8 +10,7 @@ import ( | @@ -10,8 +10,7 @@ import ( | ||
| 10 | 10 | ||
| 11 | func init() { | 11 | func init() { |
| 12 | tests.Init() | 12 | tests.Init() |
| 13 | - repository.DefaultUserRepository = &repository.UserMockRepository{} | ||
| 14 | - repository.DefaultConfigRepository = &repository.ConfigMockeRepository{} | 13 | + repository.InitRepositoryMock() |
| 15 | } | 14 | } |
| 16 | 15 | ||
| 17 | var auth = AuthService{} | 16 | var auth = AuthService{} |
services/auth/loginType.go
已删除
100755 → 0
| 1 | -package auth | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "math/rand" | ||
| 5 | - "opp/protocol" | ||
| 6 | - "strings" | ||
| 7 | - "time" | ||
| 8 | - | ||
| 9 | - "gitlab.fjmaimaimai.com/mmm-go/gocomm/pkg/log" | ||
| 10 | -) | ||
| 11 | - | ||
| 12 | -type ILoginAuth interface { | ||
| 13 | - LoginAuth() (*UserIdentity, error) //登录认证操作,返回身份ID和错误 | ||
| 14 | - TODO(v interface{}) error //预留,不知道干嘛用,也许可以用来获取取认证结果,或进行认证后附带的操作 | ||
| 15 | -} | ||
| 16 | - | ||
| 17 | -type UserIdentity struct { | ||
| 18 | - Auth string `json:"auth` | ||
| 19 | - Uid int64 `json:"uid"` | ||
| 20 | - Imtoken string `json:"imtoken"` | ||
| 21 | - Accid int64 `json:"accid"` | ||
| 22 | - Icon string `json:"icon"` | ||
| 23 | - Uname string `json:"uname"` | ||
| 24 | -} | ||
| 25 | - | ||
| 26 | -//TODO | ||
| 27 | -//账号密码登录 | ||
| 28 | -type LoginByPassword struct { | ||
| 29 | - Username string | ||
| 30 | - Password string | ||
| 31 | - err error | ||
| 32 | -} | ||
| 33 | - | ||
| 34 | -func NewLoginByPassword(username string, password string) *LoginByPassword { | ||
| 35 | - return &LoginByPassword{ | ||
| 36 | - Username: username, | ||
| 37 | - Password: password, | ||
| 38 | - } | ||
| 39 | -} | ||
| 40 | - | ||
| 41 | -//手机短信登录 | ||
| 42 | -type LoginBySms struct { | ||
| 43 | - Phone string | ||
| 44 | - Code string | ||
| 45 | - err error | ||
| 46 | -} | ||
| 47 | - | ||
| 48 | -func NewLoginBySms(phone string, code string) *LoginBySms { | ||
| 49 | - return &LoginBySms{ | ||
| 50 | - Phone: phone, | ||
| 51 | - Code: code, | ||
| 52 | - } | ||
| 53 | -} | ||
| 54 | - | ||
| 55 | -//其他第三方登录 | ||
| 56 | -type LoginByXxxx struct { | ||
| 57 | - Account string | ||
| 58 | - Identity string | ||
| 59 | -} | ||
| 60 | - | ||
| 61 | -var ( | ||
| 62 | - _ ILoginAuth = LoginByPassword{} | ||
| 63 | - _ ILoginAuth = LoginBySms{} | ||
| 64 | - _ ILoginAuth = LoginByXxxx{} | ||
| 65 | -) | ||
| 66 | - | ||
| 67 | -func (o LoginByPassword) LoginAuth() (*UserIdentity, error) { | ||
| 68 | - user, err := UserRepository.GetUserInfoByMobile(o.Username) | ||
| 69 | - if err != nil { | ||
| 70 | - log.Error(err) | ||
| 71 | - o.err = protocol.NewErrWithMessage(2020, err) //账号不存在 | ||
| 72 | - return nil, o.err | ||
| 73 | - } | ||
| 74 | - if strings.Compare(user.Passwd, o.Password) != 0 { | ||
| 75 | - o.err = protocol.NewErrWithMessage(2021, err) //登录密码错误 | ||
| 76 | - return nil, o.err | ||
| 77 | - } | ||
| 78 | - identity := &UserIdentity{ | ||
| 79 | - Uid: user.Id, | ||
| 80 | - Imtoken: strings.TrimSpace(user.ImToken), | ||
| 81 | - Accid: user.CsAccount, | ||
| 82 | - Icon: user.Icon, | ||
| 83 | - Uname: user.Uname, | ||
| 84 | - Auth: strings.TrimSpace(user.Auth), | ||
| 85 | - } | ||
| 86 | - return identity, nil | ||
| 87 | -} | ||
| 88 | - | ||
| 89 | -func (o LoginBySms) LoginAuth() (*UserIdentity, error) { | ||
| 90 | - user, err := UserRepository.GetUserInfoByMobile(o.Phone) | ||
| 91 | - if err != nil { | ||
| 92 | - log.Error(err) | ||
| 93 | - o.err = protocol.NewErrWithMessage(2020, err) //账号不存在 | ||
| 94 | - return nil, o.err | ||
| 95 | - } | ||
| 96 | - result, err := CheckSmsCode(o.Phone, o.Code, protocol.SmsLoginCode) | ||
| 97 | - if err != nil && !result { | ||
| 98 | - return nil, err | ||
| 99 | - } | ||
| 100 | - identity := &UserIdentity{ | ||
| 101 | - Uid: user.Id, | ||
| 102 | - Imtoken: strings.TrimSpace(user.ImToken), | ||
| 103 | - Accid: user.CsAccount, | ||
| 104 | - Icon: user.Icon, | ||
| 105 | - Uname: user.Uname, | ||
| 106 | - Auth: strings.TrimSpace(user.Auth), | ||
| 107 | - } | ||
| 108 | - return identity, nil | ||
| 109 | -} | ||
| 110 | - | ||
| 111 | -func (o LoginByXxxx) LoginAuth() (*UserIdentity, error) { | ||
| 112 | - //TODO | ||
| 113 | - return nil, nil | ||
| 114 | -} | ||
| 115 | - | ||
| 116 | -func (o LoginByPassword) TODO(v interface{}) error { | ||
| 117 | - // rv := reflect.ValueOf(v) | ||
| 118 | - // if rv.Kind() != reflect.Ptr { | ||
| 119 | - // return errors.New("v must be point") | ||
| 120 | - // } | ||
| 121 | - // rv = rv.Elem() | ||
| 122 | - // if ok := rv.CanSet(); !ok { | ||
| 123 | - // panic("v can not set") | ||
| 124 | - // } | ||
| 125 | - // a := "random string" | ||
| 126 | - // ra := reflect.ValueOf(a) | ||
| 127 | - // rv.Set(ra) | ||
| 128 | - //生成并更新authcode | ||
| 129 | - return nil | ||
| 130 | -} | ||
| 131 | - | ||
| 132 | -func (o LoginBySms) TODO(v interface{}) error { | ||
| 133 | - return nil | ||
| 134 | -} | ||
| 135 | - | ||
| 136 | -func (o LoginByXxxx) TODO(v interface{}) error { | ||
| 137 | - return nil | ||
| 138 | -} | ||
| 139 | - | ||
| 140 | -func randomString(l int) string { | ||
| 141 | - str := "0123456789abcdefghijklmnopqrstuvwxyz" | ||
| 142 | - bytes := []byte(str) | ||
| 143 | - result := []byte{} | ||
| 144 | - r := rand.New(rand.NewSource(time.Now().UnixNano())) | ||
| 145 | - for i := 0; i < l; i++ { | ||
| 146 | - result = append(result, bytes[r.Intn(len(bytes))]) | ||
| 147 | - } | ||
| 148 | - return string(result) | ||
| 149 | - | ||
| 150 | -} |
| 1 | package version | 1 | package version |
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | - "strconv" | ||
| 5 | - | ||
| 6 | - "opp/models" | ||
| 7 | "opp/protocol" | 4 | "opp/protocol" |
| 8 | ) | 5 | ) |
| 9 | 6 | ||
| @@ -23,18 +20,18 @@ func GetLatestVersionInfo(request *protocol.GetLatestVersionInfoRequest) (rsp *p | @@ -23,18 +20,18 @@ func GetLatestVersionInfo(request *protocol.GetLatestVersionInfoRequest) (rsp *p | ||
| 23 | 20 | ||
| 24 | //获取版本信息 | 21 | //获取版本信息 |
| 25 | func GetVersionInfo(versionNo, channel int) (v *protocol.VersionInfo, err error) { | 22 | func GetVersionInfo(versionNo, channel int) (v *protocol.VersionInfo, err error) { |
| 26 | - cfgAppVersion, err := models.GetCfgAppVersion(versionNo, channel) | ||
| 27 | - if err != nil { | ||
| 28 | - return | ||
| 29 | - } | ||
| 30 | - v = &protocol.VersionInfo{ | ||
| 31 | - VersionName: cfgAppVersion.VersionName, | ||
| 32 | - VersionNo: strconv.Itoa(cfgAppVersion.VersionNo), | ||
| 33 | - Title: cfgAppVersion.Title, | ||
| 34 | - Content: cfgAppVersion.Content, | ||
| 35 | - DownloadPage: cfgAppVersion.DownloadPage, | ||
| 36 | - DownloadFile: cfgAppVersion.DownloadFile, | ||
| 37 | - UpdateType: cfgAppVersion.Type, | ||
| 38 | - } | 23 | + //cfgAppVersion, err := models.GetCfgAppVersion(versionNo, channel) |
| 24 | + //if err != nil { | ||
| 25 | + // return | ||
| 26 | + //} | ||
| 27 | + //v = &protocol.VersionInfo{ | ||
| 28 | + // VersionName: cfgAppVersion.VersionName, | ||
| 29 | + // VersionNo: strconv.Itoa(cfgAppVersion.VersionNo), | ||
| 30 | + // Title: cfgAppVersion.Title, | ||
| 31 | + // Content: cfgAppVersion.Content, | ||
| 32 | + // DownloadPage: cfgAppVersion.DownloadPage, | ||
| 33 | + // DownloadFile: cfgAppVersion.DownloadFile, | ||
| 34 | + // UpdateType: cfgAppVersion.Type, | ||
| 35 | + //} | ||
| 39 | return | 36 | return |
| 40 | } | 37 | } |
-
请 注册 或 登录 后发表评论