v2版本正式上线测试版

This commit is contained in:
george
2018-07-13 17:53:34 +08:00
parent 092ecf605b
commit 7bbe5585d8
661 changed files with 40153 additions and 2053 deletions

96
models/admin.go Normal file
View File

@@ -0,0 +1,96 @@
/**********************************************
** @Des: This file ...
** @Author: haodaquan
** @Date: 2017-09-16 15:42:43
** @Last Modified by: haodaquan
** @Last Modified time: 2017-09-17 11:48:17
***********************************************/
package models
import (
"github.com/astaxie/beego/orm"
)
type Admin struct {
Id int
LoginName string
RealName string
Password string
RoleIds string
Phone string
Email string
Salt string
LastLogin int64
LastIp string
Status int
CreateId int
UpdateId int
CreateTime int64
UpdateTime int64
}
func (a *Admin) TableName() string {
return TableName("uc_admin")
}
func AdminAdd(a *Admin) (int64, error) {
return orm.NewOrm().Insert(a)
}
func AdminGetByName(loginName string) (*Admin, error) {
a := new(Admin)
err := orm.NewOrm().QueryTable(TableName("uc_admin")).Filter("login_name", loginName).One(a)
if err != nil {
return nil, err
}
return a, nil
}
func AdminGetList(page, pageSize int, filters ...interface{}) ([]*Admin, int64) {
offset := (page - 1) * pageSize
list := make([]*Admin, 0)
query := orm.NewOrm().QueryTable(TableName("uc_admin"))
if len(filters) > 0 {
l := len(filters)
for k := 0; k < l; k += 2 {
query = query.Filter(filters[k].(string), filters[k+1])
}
}
total, _ := query.Count()
query.OrderBy("-id").Limit(pageSize, offset).All(&list)
return list, total
}
func AdminGetById(id int) (*Admin, error) {
r := new(Admin)
err := orm.NewOrm().QueryTable(TableName("uc_admin")).Filter("id", id).One(r)
if err != nil {
return nil, err
}
return r, nil
}
func (a *Admin) Update(fields ...string) error {
if _, err := orm.NewOrm().Update(a, fields...); err != nil {
return err
}
return nil
}
// func RoleAuthDelete(id int) (int64, error) {
// query := orm.NewOrm().QueryTable(TableName("role_auth"))
// return query.Filter("role_id", id).Delete()
// }
// func RoleAuthMultiAdd(ras []*RoleAuth) (n int, err error) {
// query := orm.NewOrm().QueryTable(TableName("role_auth"))
// i, _ := query.PrepareInsert()
// for _, ra := range ras {
// _, err := i.Insert(ra)
// if err == nil {
// n = n + 1
// }
// }
// i.Close() // 别忘记关闭 statement
// return n, err
// }

92
models/auth.go Normal file
View File

@@ -0,0 +1,92 @@
/**********************************************
** @Des: 权限因子
** @Author: haodaquan
** @Date: 2017-09-09 20:50:36
** @Last Modified by: haodaquan
** @Last Modified time: 2017-09-17 21:42:08
***********************************************/
package models
import (
"fmt"
"github.com/astaxie/beego/orm"
)
type Auth struct {
Id int
AuthName string
AuthUrl string
UserId int
Pid int
Sort int
Icon string
IsShow int
Status int
CreateId int
UpdateId int
CreateTime int64
UpdateTime int64
}
func (a *Auth) TableName() string {
return TableName("uc_auth")
}
func AuthGetList(page, pageSize int, filters ...interface{}) ([]*Auth, int64) {
offset := (page - 1) * pageSize
list := make([]*Auth, 0)
query := orm.NewOrm().QueryTable(TableName("uc_auth"))
if len(filters) > 0 {
l := len(filters)
for k := 0; k < l; k += 2 {
query = query.Filter(filters[k].(string), filters[k+1])
}
}
total, _ := query.Count()
query.OrderBy("pid", "sort").Limit(pageSize, offset).All(&list)
return list, total
}
func AuthGetListByIds(authIds string, userId int) ([]*Auth, error) {
list1 := make([]*Auth, 0)
var list []orm.Params
//list:=[]orm.Params
var err error
if userId == 1 {
//超级管理员
_, err = orm.NewOrm().Raw("select id,auth_name,auth_url,pid,icon,is_show from pp_uc_auth where status=? order by pid asc,sort asc", 1).Values(&list)
} else {
_, err = orm.NewOrm().Raw("select id,auth_name,auth_url,pid,icon,is_show from pp_uc_auth where status=1 and id in("+authIds+") order by pid asc,sort asc", authIds).Values(&list)
}
for k, v := range list {
fmt.Println(k, v)
}
fmt.Println(list)
return list1, err
}
func AuthAdd(auth *Auth) (int64, error) {
return orm.NewOrm().Insert(auth)
}
func AuthGetById(id int) (*Auth, error) {
a := new(Auth)
err := orm.NewOrm().QueryTable(TableName("uc_auth")).Filter("id", id).One(a)
if err != nil {
return nil, err
}
return a, nil
}
func (a *Auth) Update(fields ...string) error {
if _, err := orm.NewOrm().Update(a, fields...); err != nil {
return err
}
return nil
}

74
models/ban.go Normal file
View File

@@ -0,0 +1,74 @@
/************************************************************
** @Description: models
** @Author: haodaquan
** @Date: 2018-06-10 19:51
** @Last Modified by: haodaquan
** @Last Modified time: 2018-06-10 19:51
*************************************************************/
package models
import (
"fmt"
"github.com/astaxie/beego/orm"
)
type Ban struct {
Id int
Code string
CreateTime int64
UpdateTime int64
Status int
}
func (t *Ban) TableName() string {
return TableName("task_ban")
}
func (t *Ban) Update(fields ...string) error {
if t.Code == "" {
return fmt.Errorf("命令不能为空")
}
if _, err := orm.NewOrm().Update(t, fields...); err != nil {
return err
}
return nil
}
func BanAdd(obj *Ban) (int64, error) {
if obj.Code == "" {
return 0, fmt.Errorf("命令不能为空")
}
return orm.NewOrm().Insert(obj)
}
func BanGetById(id int) (*Ban, error) {
obj := &Ban{
Id: id,
}
err := orm.NewOrm().Read(obj)
if err != nil {
return nil, err
}
return obj, nil
}
func BanDelById(id int) error {
_, err := orm.NewOrm().QueryTable(TableName("task_ban")).Filter("id", id).Delete()
return err
}
func BanGetList(page, pageSize int, filters ...interface{}) ([]*Ban, int64) {
offset := (page - 1) * pageSize
list := make([]*Ban, 0)
query := orm.NewOrm().QueryTable(TableName("task_ban"))
if len(filters) > 0 {
l := len(filters)
for k := 0; k < l; k += 2 {
query = query.Filter(filters[k].(string), filters[k+1])
}
}
total, _ := query.Count()
query.OrderBy("-id").Limit(pageSize, offset).All(&list)
return list, total
}

View File

@@ -10,10 +10,11 @@ package models
import (
"net/url"
"fmt"
"github.com/astaxie/beego"
"github.com/astaxie/beego/orm"
_ "github.com/go-sql-driver/mysql"
"github.com/gpmgo/gopm/modules/log"
)
func Init() {
@@ -27,13 +28,23 @@ func Init() {
dbport = "3306"
}
dsn := dbuser + ":" + dbpassword + "@tcp(" + dbhost + ":" + dbport + ")/" + dbname + "?charset=utf8"
log.Fatal(dsn)
fmt.Println(dsn)
if timezone != "" {
dsn = dsn + "&loc=" + url.QueryEscape(timezone)
}
orm.RegisterDataBase("default", "mysql", dsn)
orm.RegisterModel(new(User), new(Task), new(TaskGroup), new(TaskLog), new(TaskServer))
orm.RegisterModel(
new(Admin),
new(Auth),
new(Role),
new(RoleAuth),
new(ServerGroup),
new(TaskServer),
new(Ban),
new(Group),
new(Task),
new(TaskLog),
)
if beego.AppConfig.String("runmode") == "dev" {
orm.Debug = true

68
models/role.go Normal file
View File

@@ -0,0 +1,68 @@
/**********************************************
** @Des: This file ...
** @Author: haodaquan
** @Date: 2017-09-14 15:24:51
** @Last Modified by: haodaquan
** @Last Modified time: 2017-09-17 11:48:52
***********************************************/
package models
import (
"github.com/astaxie/beego/orm"
)
type Role struct {
Id int
RoleName string
Detail string
ServerGroupIds string
TaskGroupIds string
Status int
CreateId int
UpdateId int
CreateTime int64
UpdateTime int64
}
func (a *Role) TableName() string {
return TableName("uc_role")
}
func RoleGetList(page, pageSize int, filters ...interface{}) ([]*Role, int64) {
offset := (page - 1) * pageSize
list := make([]*Role, 0)
query := orm.NewOrm().QueryTable(TableName("uc_role"))
if len(filters) > 0 {
l := len(filters)
for k := 0; k < l; k += 2 {
query = query.Filter(filters[k].(string), filters[k+1])
}
}
total, _ := query.Count()
query.OrderBy("-id").Limit(pageSize, offset).All(&list)
return list, total
}
func RoleAdd(role *Role) (int64, error) {
id, err := orm.NewOrm().Insert(role)
if err != nil {
return 0, err
}
return id, nil
}
func RoleGetById(id int) (*Role, error) {
r := new(Role)
err := orm.NewOrm().QueryTable(TableName("uc_role")).Filter("id", id).One(r)
if err != nil {
return nil, err
}
return r, nil
}
func (r *Role) Update(fields ...string) error {
if _, err := orm.NewOrm().Update(r, fields...); err != nil {
return err
}
return nil
}

77
models/role_auth.go Normal file
View File

@@ -0,0 +1,77 @@
/**********************************************
** @Des: This file ...
** @Author: haodaquan
** @Date: 2017-09-15 11:44:13
** @Last Modified by: haodaquan
** @Last Modified time: 2017-09-17 11:49:13
***********************************************/
package models
import (
"bytes"
"strconv"
"strings"
"github.com/astaxie/beego/orm"
)
type RoleAuth struct {
AuthId int `orm:"pk"`
RoleId int64
}
func (ra *RoleAuth) TableName() string {
return TableName("uc_role_auth")
}
func RoleAuthAdd(ra *RoleAuth) (int64, error) {
return orm.NewOrm().Insert(ra)
}
func RoleAuthGetById(id int) ([]*RoleAuth, error) {
list := make([]*RoleAuth, 0)
query := orm.NewOrm().QueryTable(TableName("uc_role_auth"))
_, err := query.Filter("role_id", id).All(&list, "AuthId")
if err != nil {
return nil, err
}
return list, nil
}
func RoleAuthDelete(id int) (int64, error) {
query := orm.NewOrm().QueryTable(TableName("uc_role_auth"))
return query.Filter("role_id", id).Delete()
}
//获取多个
func RoleAuthGetByIds(RoleIds string) (Authids string, err error) {
list := make([]*RoleAuth, 0)
query := orm.NewOrm().QueryTable(TableName("uc_role_auth"))
ids := strings.Split(RoleIds, ",")
_, err = query.Filter("role_id__in", ids).All(&list, "AuthId")
if err != nil {
return "", err
}
b := bytes.Buffer{}
for _, v := range list {
if v.AuthId != 0 && v.AuthId != 1 {
b.WriteString(strconv.Itoa(v.AuthId))
b.WriteString(",")
}
}
Authids = strings.TrimRight(b.String(), ",")
return Authids, nil
}
func RoleAuthMultiAdd(ras []*RoleAuth) (n int, err error) {
query := orm.NewOrm().QueryTable(TableName("uc_role_auth"))
i, _ := query.PrepareInsert()
for _, ra := range ras {
_, err := i.Insert(ra)
if err == nil {
n = n + 1
}
}
i.Close() // 别忘记关闭 statement
return n, err
}

View File

@@ -1,21 +1,24 @@
/*
* @Author: haodaquan
* @Date: 2017-08-16 12:22:37
* @Last Modified by: haodaquan
* @Last Modified time: 2017-08-16 12:22:55
*/
/************************************************************
** @Description: models
** @Author: haodaquan
** @Date: 2018-06-09 16:11
** @Last Modified by: haodaquan
** @Last Modified time: 2018-06-09 16:11
*************************************************************/
package models
import (
"fmt"
"github.com/astaxie/beego/orm"
)
type TaskServer struct {
Id int
GroupId int
ServerName string
ServerAccount string
ServerOuterIp string
ServerIp string
Port int
Password string
@@ -60,22 +63,22 @@ func (t *TaskServer) Update(fields ...string) error {
func TaskServerAdd(obj *TaskServer) (int64, error) {
if obj.ServerName == "" {
return 0,fmt.Errorf("服务器名不能为空")
return 0, fmt.Errorf("服务器名不能为空")
}
if obj.ServerIp == "" {
return 0,fmt.Errorf("服务器IP不能为空")
return 0, fmt.Errorf("服务器IP不能为空")
}
if obj.ServerAccount == "" {
return 0,fmt.Errorf("登录账户不能为空")
return 0, fmt.Errorf("登录账户不能为空")
}
if obj.Type == 0 && obj.Password == "" {
return 0,fmt.Errorf("服务器密码不能为空")
return 0, fmt.Errorf("服务器密码不能为空")
}
if obj.Type == 1 && obj.PrivateKeySrc == "" {
return 0,fmt.Errorf("私钥不能为空")
return 0, fmt.Errorf("私钥不能为空")
}
return orm.NewOrm().Insert(obj)
}
@@ -96,12 +99,18 @@ func TaskServerDelById(id int) error {
return err
}
func TaskServerGetList(page, pageSize int) ([]*TaskServer, int64) {
func TaskServerGetList(page, pageSize int, filters ...interface{}) ([]*TaskServer, int64) {
offset := (page - 1) * pageSize
list := make([]*TaskServer, 0)
query := orm.NewOrm().QueryTable(TableName("task_server"))
if len(filters) > 0 {
l := len(filters)
for k := 0; k < l; k += 2 {
query = query.Filter(filters[k].(string), filters[k+1])
}
}
total, _ := query.Count()
query.OrderBy("-id").Limit(pageSize, offset).All(&list)
return list, total
}

77
models/server_group.go Normal file
View File

@@ -0,0 +1,77 @@
/************************************************************
** @Description: models
** @Author: haodaquan
** @Date: 2018-06-08 21:49
** @Last Modified by: haodaquan
** @Last Modified time: 2018-06-08 21:49
*************************************************************/
package models
import (
"fmt"
"github.com/astaxie/beego/orm"
)
type ServerGroup struct {
Id int
CreateId int
UpdateId int
GroupName string
Description string
CreateTime int64
UpdateTime int64
Status int
}
func (t *ServerGroup) TableName() string {
return TableName("task_server_group")
}
func (t *ServerGroup) Update(fields ...string) error {
if t.GroupName == "" {
return fmt.Errorf("组名不能为空")
}
if _, err := orm.NewOrm().Update(t, fields...); err != nil {
return err
}
return nil
}
func ServerGroupAdd(obj *ServerGroup) (int64, error) {
if obj.GroupName == "" {
return 0, fmt.Errorf("组名不能为空")
}
return orm.NewOrm().Insert(obj)
}
func TaskGroupGetById(id int) (*ServerGroup, error) {
obj := &ServerGroup{
Id: id,
}
err := orm.NewOrm().Read(obj)
if err != nil {
return nil, err
}
return obj, nil
}
func ServerGroupDelById(id int) error {
_, err := orm.NewOrm().QueryTable(TableName("task_server_group")).Filter("id", id).Delete()
return err
}
func ServerGroupGetList(page, pageSize int, filters ...interface{}) ([]*ServerGroup, int64) {
offset := (page - 1) * pageSize
list := make([]*ServerGroup, 0)
query := orm.NewOrm().QueryTable(TableName("task_server_group"))
if len(filters) > 0 {
l := len(filters)
for k := 0; k < l; k += 2 {
query = query.Filter(filters[k].(string), filters[k+1])
}
}
total, _ := query.Count()
query.OrderBy("-id").Limit(pageSize, offset).All(&list)
return list, total
}

View File

@@ -1,16 +1,17 @@
/*
* @Author: haodaquan
* @Date: 2017-06-21 12:22:00
* @Last Modified by: haodaquan
* @Last Modified time: 2017-06-21 12:22:10
*/
/************************************************************
** @Description: models
** @Author: haodaquan
** @Date: 2018-06-11 21:26
** @Last Modified by: haodaquan
** @Last Modified time: 2018-06-11 21:26
*************************************************************/
package models
import (
"fmt"
"github.com/astaxie/beego/orm"
"time"
"github.com/astaxie/beego/orm"
)
const (
@@ -21,20 +22,21 @@ const (
type Task struct {
Id int
UserId int
ServerId int
GroupId int
ServerId int
TaskName string
TaskType int
Description string
CronSpec string
Concurrent int
Command string
Status int
Timeout int
ExecuteTimes int
PrevTime int64
Status int
CreateId int
UpdateId int
CreateTime int64
UpdateTime int64
}
func (t *Task) TableName() string {
@@ -50,14 +52,14 @@ func (t *Task) Update(fields ...string) error {
func TaskAdd(task *Task) (int64, error) {
if task.TaskName == "" {
return 0, fmt.Errorf("TaskName字段不能为空")
return 0, fmt.Errorf("任务名称不能为空")
}
if task.CronSpec == "" {
return 0, fmt.Errorf("CronSpec字段不能为空")
return 0, fmt.Errorf("时间表达式不能为空")
}
if task.Command == "" {
return 0, fmt.Errorf("Command字段不能为空")
return 0, fmt.Errorf("命令内容不能为空")
}
if task.CreateTime == 0 {
task.CreateTime = time.Now().Unix()

View File

@@ -1,30 +1,35 @@
/*
* @Author: haodaquan
* @Date: 2017-06-21 12:22:37
* @Last Modified by: haodaquan
* @Last Modified time: 2017-06-21 12:22:55
*/
/************************************************************
** @Description: models
** @Author: haodaquan
** @Date: 2018-06-10 22:24
** @Last Modified by: haodaquan
** @Last Modified time: 2018-06-10 22:24
*************************************************************/
package models
import (
"fmt"
"github.com/astaxie/beego/orm"
)
type TaskGroup struct {
type Group struct {
Id int
UserId int
CreateId int
UpdateId int
GroupName string
Description string
CreateTime int64
UpdateTime int64
Status int
}
func (t *TaskGroup) TableName() string {
func (t *Group) TableName() string {
return TableName("task_group")
}
func (t *TaskGroup) Update(fields ...string) error {
func (t *Group) Update(fields ...string) error {
if t.GroupName == "" {
return fmt.Errorf("组名不能为空")
}
@@ -34,18 +39,17 @@ func (t *TaskGroup) Update(fields ...string) error {
return nil
}
func TaskGroupAdd(obj *TaskGroup) (int64, error) {
func GroupAdd(obj *Group) (int64, error) {
if obj.GroupName == "" {
return 0, fmt.Errorf("组名不能为空")
}
return orm.NewOrm().Insert(obj)
}
func TaskGroupGetById(id int) (*TaskGroup, error) {
obj := &TaskGroup{
func GroupGetById(id int) (*Group, error) {
obj := &Group{
Id: id,
}
err := orm.NewOrm().Read(obj)
if err != nil {
return nil, err
@@ -53,17 +57,22 @@ func TaskGroupGetById(id int) (*TaskGroup, error) {
return obj, nil
}
func TaskGroupDelById(id int) error {
func GroupDelById(id int) error {
_, err := orm.NewOrm().QueryTable(TableName("task_group")).Filter("id", id).Delete()
return err
}
func TaskGroupGetList(page, pageSize int) ([]*TaskGroup, int64) {
func GroupGetList(page, pageSize int, filters ...interface{}) ([]*Group, int64) {
offset := (page - 1) * pageSize
list := make([]*TaskGroup, 0)
list := make([]*Group, 0)
query := orm.NewOrm().QueryTable(TableName("task_group"))
if len(filters) > 0 {
l := len(filters)
for k := 0; k < l; k += 2 {
query = query.Filter(filters[k].(string), filters[k+1])
}
}
total, _ := query.Count()
query.OrderBy("-id").Limit(pageSize, offset).All(&list)
return list, total
}

View File

@@ -1,63 +0,0 @@
/*
* @Author: haodaquan
* @Date: 2017-06-20 09:35:45
* @Last Modified by: haodaquan
* @Last Modified time: 2017-06-20 09:37:34
*/
package models
import (
"github.com/astaxie/beego/orm"
)
type User struct {
Id int
UserName string
Password string
Salt string
Email string
LastLogin int64
LastIp string
Status int
}
func (u *User) TableName() string {
return TableName("user")
}
func (u *User) Update(fields ...string) error {
if _, err := orm.NewOrm().Update(u, fields...); err != nil {
return err
}
return nil
}
func UserAdd(user *User) (int64, error) {
return orm.NewOrm().Insert(user)
}
func UserGetById(id int) (*User, error) {
u := new(User)
err := orm.NewOrm().QueryTable(TableName("user")).Filter("id", id).One(u)
if err != nil {
return nil, err
}
return u, nil
}
func UserGetByName(userName string) (*User, error) {
u := new(User)
err := orm.NewOrm().QueryTable(TableName("user")).Filter("user_name", userName).One(u)
if err != nil {
return nil, err
}
return u, nil
}
func UserUpdate(user *User, fields ...string) error {
_, err := orm.NewOrm().Update(user, fields...)
return err
}