package controllers import ( "Cold_Api/Nats/NatsServer" "Cold_Api/conf" "Cold_Api/controllers/lib" "Cold_Api/models" "Cold_Api/models/Account" "Cold_Api/models/System" "Cold_Api/models/Warning" beego "github.com/beego/beego/v2/server/web" uuid "github.com/satori/go.uuid" "math" "strconv" "strings" "time" ) type UserController struct { beego.Controller } // 获取微信二维码 ( 扫描后 ,Nats 自动绑定在 Admin->T_wx ) func (c *UserController) User_WxQRCode() { // 验证登录 b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey")) if !b_ { c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"} c.ServeJSON() return } WxQRCode_str, _ := NatsServer.Wx_GenerateQRCode("-|" + lib.AesEncryptCBC(admin_r.T_uuid, "0123456789012345") + "|- @宝智达冷链 微信公众号通知") WxQRCode_str = "https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=" + WxQRCode_str c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: WxQRCode_str} c.ServeJSON() return } // 公司管理 func (c *UserController) Company_Tree() { // 验证登录 b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey")) if !b_ { c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"} c.ServeJSON() return } var r_jsons lib.R_JSONS T_name := c.GetString("T_name") r_jsons.Data, r_jsons.Num = Account.Read_Company_Tree(admin_r, T_name) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons} c.ServeJSON() return } func (c *UserController) Company_List() { var r_jsons lib.R_JSONS page, _ := c.GetInt("page") if page < 1 { page = 1 } page_z, _ := c.GetInt("page_z") if page_z < 1 { page_z = conf.Page_size } r_jsons.Data, r_jsons.Num = Account.Read_Company_List(page, page_z) r_jsons.Page = page r_jsons.Page_size = int(math.Ceil(float64(r_jsons.Num) / float64(page_z))) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons} c.ServeJSON() return } func (c *UserController) Company_Add() { // 验证登录 b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey")) if !b_ { c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"} c.ServeJSON() return } T_mid, _ := c.GetInt("T_mid") T_name := c.GetString("T_name") var_ := Account.Company{ T_mid: T_mid, T_name: T_name, T_State: 1, } id, err := Account.Add_Company(var_) if err != nil { c.Data["json"] = lib.JSONS{Code: 301, Msg: "添加失败!"} c.ServeJSON() return } System.Add_UserLogs_T(admin_r.T_uuid, "公司管理", "添加", var_) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: id} c.ServeJSON() return } func (c *UserController) Company_Edit() { // 验证登录 b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey")) if !b_ { c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"} c.ServeJSON() return } Id, Id_err := c.GetInt("Id") if Id_err != nil { c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id Err!"} c.ServeJSON() return } Company_r, err := Account.Read_Company_ById(Id) if err != nil { c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id Err!"} c.ServeJSON() return } T_mid, T_mid_err := c.GetInt("T_mid") T_name := c.GetString("T_name") if len(T_name) > 0 { Company_r.T_name = T_name } if T_mid_err == nil { Company_r.T_mid = T_mid } is := Account.Update_Company(Company_r, "T_mid", "T_name") if !is { c.Data["json"] = lib.JSONS{Code: 202, Msg: "修改失败!"} c.ServeJSON() return } System.Add_UserLogs_T(admin_r.T_uuid, "公司管理", "修改", Company_r) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"} c.ServeJSON() return } func (c *UserController) Company_Del() { // 验证登录 b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey")) if !b_ { c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"} c.ServeJSON() return } Id, Id_err := c.GetInt("Id") if Id_err != nil { c.Data["json"] = lib.JSONS{Code: 204, Msg: "Id Err!"} c.ServeJSON() return } Company_r, err := Account.Read_Company_ById(Id) if err != nil { c.Data["json"] = lib.JSONS{Code: 204, Msg: "Id Err!"} c.ServeJSON() return } is := Account.Delete_Company(Company_r) if !is { c.Data["json"] = lib.JSONS{Code: 204, Msg: "删除失败!"} c.ServeJSON() return } System.Add_UserLogs_T(admin_r.T_uuid, "公司管理", "删除", Company_r) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"} c.ServeJSON() return } // 检查 Tokey 是否过期 // 用户管理 func (c *UserController) User_List() { // 验证登录 b_, _ := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey")) if !b_ { c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"} c.ServeJSON() return } var r_jsons lib.R_JSONS page, _ := c.GetInt("page") println(page) if page < 1 { page = 1 } page_z, _ := c.GetInt("page_z") if page_z < 1 { page_z = conf.Page_size } T_name := c.GetString("T_name") T_pid, T_pid_err := c.GetInt("T_pid") if T_pid_err != nil || T_pid == 0 { c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_pid Err!"} c.ServeJSON() return } Account.Read_Power_All_Map() r_jsons.Data, r_jsons.Num = Account.Read_Admin_List(T_pid, T_name, page, page_z) r_jsons.Page = page r_jsons.Page_size = int(math.Ceil(float64(r_jsons.Num) / float64(page_z))) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons} c.ServeJSON() return } func (c *UserController) User_Get() { // 验证登录 b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey")) if !b_ { c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"} c.ServeJSON() return } T_uuid := c.GetString("T_uuid") if len(T_uuid) < 8 { c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_uuid Err!"} c.ServeJSON() return } admin_r, err := Account.Read_Admin_ByUuid(T_uuid) if err != nil { c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_uuid Err!"} c.ServeJSON() return } c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: Account.AdminToAdmin_R(admin_r)} c.ServeJSON() return } func (c *UserController) User_Info() { // 验证登录 b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey")) if !b_ { c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"} c.ServeJSON() return } type User_ struct { User Account.Admin_R //Power Account.Power // 权限 //Menu map[string]Account.Menu_R // 菜单 //Menu []Account.Menu // 菜单 } Admin_r := User_{} Admin_r.User = Account.AdminToAdmin_R(admin_r) //Admin_r.Power, _ = Account.Read_Power_ById(admin_r.T_power) //Admin_r.Menu = Account.Read_Menu_Tree(Power.T_menu, T_pid) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: Admin_r} c.ServeJSON() return } func (c *UserController) User_Post() { // 验证登录 b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey")) if !b_ { c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"} c.ServeJSON() return } T_name := c.GetString("T_name") T_pass := c.GetString("T_pass") T_phone := c.GetString("T_phone") T_mail := c.GetString("T_mail") T_wx := c.GetString("T_wx") if len(T_pass) < 8 && len(T_pass) > 0 { c.Data["json"] = lib.JSONS{Code: 202, Msg: "密码异常!"} c.ServeJSON() return } if len(T_name) > 0 { admin_r.T_name = T_name } if len(T_pass) >= 8 { admin_r.T_pass = T_pass } if len(T_phone) > 0 { admin_r.T_phone = T_phone } if len(T_mail) > 0 { admin_r.T_mail = T_mail } if len(T_wx) > 0 { admin_r.T_wx = T_wx } is := Account.Update_Admin(admin_r, "T_name", "T_pass", "T_phone", "T_mail", "T_wx") if !is { c.Data["json"] = lib.JSONS{Code: 204, Msg: "修改失败!"} c.ServeJSON() return } admin_r.T_pass = "******" System.Add_UserLogs_T(admin_r.T_uuid, "用户管理", "修改个人信息", admin_r) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"} c.ServeJSON() return } func (c *UserController) User_Add() { // 验证登录 b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey")) if !b_ { c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"} c.ServeJSON() return } T_power, _ := c.GetInt("T_power") T_pid, _ := c.GetInt("T_pid") T_name := c.GetString("T_name") T_user := c.GetString("T_user") T_pass := c.GetString("T_pass") T_phone := c.GetString("T_phone") T_mail := c.GetString("T_mail") T_wx := c.GetString("T_wx") T_uuid := uuid.NewV4().String() var_ := Account.Admin{ T_uuid: T_uuid, T_pid: T_pid, T_name: T_name, T_user: T_user, T_phone: T_phone, T_mail: T_mail, T_wx: T_wx, T_pass: T_pass, T_power: T_power, T_State: 1, } if T_pid == 0 { c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_pid Err!"} c.ServeJSON() return } if len(T_pass) < 8 { c.Data["json"] = lib.JSONS{Code: 202, Msg: "密码异常!"} c.ServeJSON() return } _, err := Account.Read_Admin_T_user(T_user) if err == nil { c.Data["json"] = lib.JSONS{Code: 302, Msg: "账户重复!"} c.ServeJSON() return } _, err = Account.Add_Admin(var_) if err != nil { c.Data["json"] = lib.JSONS{Code: 301, Msg: "添加失败!"} c.ServeJSON() return } var_.T_pass = "******" System.Add_UserLogs_T(admin_r.T_uuid, "用户管理", "添加", var_) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"} c.ServeJSON() return } func (c *UserController) User_Edit() { // 验证登录 b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey")) if !b_ { c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"} c.ServeJSON() return } T_uuid := c.GetString("T_uuid") if len(T_uuid) < 8 { c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_uuid Err!"} c.ServeJSON() return } r, err := Account.Read_Admin_ByUuid(T_uuid) if err != nil { c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_uuid Err!"} c.ServeJSON() return } T_power, T_power_err := c.GetInt("T_power") T_name := c.GetString("T_name") T_pass := c.GetString("T_pass") T_phone := c.GetString("T_phone") T_mail := c.GetString("T_mail") T_wx := c.GetString("T_wx") if T_power_err == nil { r.T_power = T_power } if len(T_pass) < 8 && len(T_pass) > 0 { c.Data["json"] = lib.JSONS{Code: 202, Msg: "密码异常!"} c.ServeJSON() return } if len(T_name) > 0 { r.T_name = T_name } if len(T_pass) >= 8 { r.T_pass = T_pass } if len(T_phone) > 0 { r.T_phone = T_phone } if len(T_mail) > 0 { r.T_mail = T_mail } if len(T_wx) > 0 { r.T_wx = T_wx } is := Account.Update_Admin(r, "T_power", "T_pid", "T_name", "T_pass", "T_phone", "T_mail", "T_wx") if !is { c.Data["json"] = lib.JSONS{Code: 204, Msg: "修改失败!"} c.ServeJSON() return } r.T_pass = "******" System.Add_UserLogs_T(admin_r.T_uuid, "用户管理", "编辑", r) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"} c.ServeJSON() return } func (c *UserController) User_Del() { // 验证登录 b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey")) if !b_ { c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"} c.ServeJSON() return } T_uuid := c.GetString("T_uuid") if len(T_uuid) <= 0 { c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_uuid Err!"} c.ServeJSON() return } admin_r_lod, err := Account.Read_Admin_ByUuid(T_uuid) if err != nil { c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_uuid Err!"} c.ServeJSON() return } if is := Account.Delete_Admin(admin_r_lod); !is { c.Data["json"] = lib.JSONS{Code: 200, Msg: "删除失败!"} c.ServeJSON() return } System.Add_UserLogs_T(admin_r.T_uuid, "用户管理", "删除", T_uuid) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"} c.ServeJSON() return } // 管理员 func (c *UserController) User_Home() { // 验证登录 b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey")) if !b_ { c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"} c.ServeJSON() return } type Info struct { T_name string // 姓名 T_pid int // 公司id T_Days int // 服务天输 Admin []Account.Admin_ // 专属管理员 WarningNum int64 // 报警数量 UntreatedWarningNum int64 // 未处理报警数量 WorkOrderNum int64 // 工单数量 UntreatedWorkOrderNum int64 // 未处理工单数量 } var info Info info.T_name = admin_r.T_name info.T_pid = admin_r.T_pid if admin_r.T_pid > 0 { power, _ := Account.Read_Power_ById(admin_r.T_power) company, _ := Account.Read_Company_ById(admin_r.T_pid) info.T_Days = int(time.Now().Sub(company.CreateTime).Hours() / 24) AdminList := Account.Read_Admin_List_T_pids(admin_r.T_pid) var Admin_ []Account.Admin_ for _, v := range AdminList { Admin_ = append(Admin_, Account.Admin_RToAdmin_(v)) } info.Admin = Admin_ info.WarningNum = Warning.Read_Warning_ALL_T_State_Count(admin_r.T_pid, 1, power.T_warning) info.UntreatedWarningNum = Warning.Read_Warning_ALL_T_State_Count(admin_r.T_pid, 3, power.T_warning) } if admin_r.T_pid == 0 { info.WorkOrderNum, info.UntreatedWorkOrderNum = NatsServer.Read_WorkOrderT_State_Count(admin_r.T_pids) } c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: info} c.ServeJSON() return } // 内部用户管理 func (c *UserController) Admin_List() { // 验证登录 b_, _ := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey")) if !b_ { c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"} c.ServeJSON() return } var r_jsons lib.R_JSONS page, _ := c.GetInt("page") if page < 1 { page = 1 } page_z, _ := c.GetInt("page_z") if page_z < 1 { page_z = conf.Page_size } T_name := c.GetString("T_name") T_pid := 0 Account.Read_Power_All_Map() r_jsons.Data, r_jsons.Num = Account.Read_Admin_List(T_pid, T_name, page, page_z) r_jsons.Page = page r_jsons.Page_size = int(math.Ceil(float64(r_jsons.Num) / float64(page_z))) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons} c.ServeJSON() return } func (c *UserController) Admin_Get() { // 验证登录 b_, _ := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey")) if !b_ { c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"} c.ServeJSON() return } T_uuid := c.GetString("T_uuid") if len(T_uuid) < 8 { c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_uuid Err!"} c.ServeJSON() return } admin_r, err := Account.Read_Admin_ByUuid(T_uuid) if err != nil { c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_uuid Err!"} c.ServeJSON() return } c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: Account.AdminToAdmin_R(admin_r)} c.ServeJSON() return } func (c *UserController) Admin_Add() { // 验证登录 b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey")) if !b_ { c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"} c.ServeJSON() return } T_power, _ := c.GetInt("T_power") T_name := c.GetString("T_name") T_user := c.GetString("T_user") T_pass := c.GetString("T_pass") T_phone := c.GetString("T_phone") T_mail := c.GetString("T_mail") T_wx := c.GetString("T_wx") var_ := Account.Admin{ T_uuid: uuid.NewV4().String(), T_pid: 0, T_name: T_name, T_user: T_user, T_phone: T_phone, T_mail: T_mail, T_wx: T_wx, T_pass: T_pass, T_power: T_power, T_State: 1, } if len(T_pass) < 8 { c.Data["json"] = lib.JSONS{Code: 202, Msg: "密码异常!"} c.ServeJSON() return } _, err := Account.Read_Admin_T_user(T_user) if err == nil { c.Data["json"] = lib.JSONS{Code: 302, Msg: "账户重复!"} c.ServeJSON() return } _, err = Account.Add_Admin(var_) if err != nil { c.Data["json"] = lib.JSONS{Code: 301, Msg: "添加失败!"} c.ServeJSON() return } var_.T_pass = "******" System.Add_UserLogs_T(admin_r.T_uuid, "用户管理", "添加", var_) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"} c.ServeJSON() return } func (c *UserController) Admin_Edit() { // 验证登录 b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey")) if !b_ { c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"} c.ServeJSON() return } T_uuid := c.GetString("T_uuid") if len(T_uuid) < 8 { c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_uuid Err!"} c.ServeJSON() return } r, err := Account.Read_Admin_ByUuid(T_uuid) if err != nil { c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_uuid Err!"} c.ServeJSON() return } T_power, T_power_err := c.GetInt("T_power") T_name := c.GetString("T_name") T_pass := c.GetString("T_pass") T_phone := c.GetString("T_phone") T_mail := c.GetString("T_mail") T_wx := c.GetString("T_wx") if T_power_err == nil { r.T_power = T_power } if len(T_pass) < 8 && len(T_pass) > 0 { c.Data["json"] = lib.JSONS{Code: 202, Msg: "密码异常!"} c.ServeJSON() return } if len(T_name) > 0 { r.T_name = T_name } if len(T_pass) >= 8 { r.T_pass = T_pass } if len(T_phone) > 0 { r.T_phone = T_phone } if len(T_mail) > 0 { r.T_mail = T_mail } if len(T_wx) > 0 { r.T_wx = T_wx } is := Account.Update_Admin(r, "T_power", "T_name", "T_pass", "T_phone", "T_mail", "T_wx") if !is { c.Data["json"] = lib.JSONS{Code: 204, Msg: "修改失败!"} c.ServeJSON() return } r.T_pass = "********" System.Add_UserLogs_T(admin_r.T_uuid, "用户管理", "编辑", r) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"} c.ServeJSON() return } func (c *UserController) Admin_Del() { // 验证登录 b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey")) if !b_ { c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"} c.ServeJSON() return } T_uuid := c.GetString("T_uuid") if len(T_uuid) <= 0 { c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_uuid Err!"} c.ServeJSON() return } admin_r_lod, err := Account.Read_Admin_ByUuid(T_uuid) if err != nil { c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_uuid Err!"} c.ServeJSON() return } if is := Account.Delete_Admin(admin_r_lod); !is { c.Data["json"] = lib.JSONS{Code: 200, Msg: "删除失败!"} c.ServeJSON() return } System.Add_UserLogs_T(admin_r.T_uuid, "用户管理", "删除", T_uuid) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"} c.ServeJSON() return } // 报警通知的用户列表 func (c *UserController) User_Notice_List() { // 验证登录 b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey")) if !b_ { c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"} c.ServeJSON() return } type R_JSONS struct { //必须的大写开头 AdminList []Account.Admin_R UserList []Account.Admin_R } var r_jsons R_JSONS T_pid := admin_r.T_pid if T_pid == 0 { T_pid, _ = strconv.Atoi(c.Ctx.Request.Header.Get("T_pid")) } // 绑定公司id的内部用户列表 r_jsons.AdminList = Account.Read_Admin_List_T_pids(T_pid) // 绑定公司id的公司用户列表 r_jsons.UserList = Account.Read_Admin_List_T_pid(T_pid) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons} c.ServeJSON() return } // 管理员绑定公司 func (c *UserController) AdminCompanyBind_List() { var r_jsons lib.R_JSONS page, _ := c.GetInt("page") if page < 1 { page = 1 } page_z, _ := c.GetInt("page_z") if page_z < 1 { page_z = conf.Page_size } T_uuid := c.GetString("T_uuid") if len(T_uuid) < 8 { c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_uuid Err!"} c.ServeJSON() return } r, err := Account.Read_Admin_ByUuid(T_uuid) if err != nil { c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_uuid Err!"} c.ServeJSON() return } var cnt int64 Company_lite, cnt := Account.Read_Company_List_ByT_pids(r.T_pids, page, page_z) r_jsons.Data = Company_lite r_jsons.Page = page r_jsons.Page_size = int(math.Ceil(float64(r_jsons.Num) / float64(page_z))) r_jsons.Num = cnt c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons} c.ServeJSON() return } func (c *UserController) AdminCompanyBind_Add() { // 验证登录 b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey")) if !b_ { c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"} c.ServeJSON() return } T_uuid := c.GetString("T_uuid") if len(T_uuid) < 8 { c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_uuid Err!"} c.ServeJSON() return } T_pid, _ := c.GetInt("T_pid") if T_pid == 0 { c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_pid Err!"} c.ServeJSON() return } r, err := Account.Read_Admin_ByUuid(T_uuid) if err != nil { c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_uuid Err!"} c.ServeJSON() return } if strings.Contains(r.T_pids, "P"+strconv.Itoa(T_pid)+"|") { c.Data["json"] = lib.JSONS{Code: 203, Msg: "重复绑定!"} c.ServeJSON() return } if err = Account.Add_Company_bind(r.Id, T_pid); err != nil { c.Data["json"] = lib.JSONS{Code: 200, Msg: "公司绑定失败"} c.ServeJSON() return } System.Add_UserLogs(admin_r.T_uuid, "内部用户管理", "公司绑定添加", T_uuid+"-"+strconv.Itoa(T_pid)) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"} c.ServeJSON() return } func (c *UserController) AdminCompanyBind_Del() { // 验证登录 b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey")) if !b_ { c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"} c.ServeJSON() return } T_uuid := c.GetString("T_uuid") if len(T_uuid) < 8 { c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_uuid Err!"} c.ServeJSON() return } T_pid, _ := c.GetInt("T_pid") if T_pid == 0 { c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_pid Err!"} c.ServeJSON() return } r, err := Account.Read_Admin_ByUuid(T_uuid) if err != nil { c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_uuid Err!"} c.ServeJSON() return } if !strings.Contains(r.T_pids, "P"+strconv.Itoa(T_pid)+"|") { c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"} c.ServeJSON() return } if err = Account.Delete_Company_bind(r.Id, T_pid); err != nil { c.Data["json"] = lib.JSONS{Code: 200, Msg: "公司绑定失败"} c.ServeJSON() return } System.Add_UserLogs(admin_r.T_uuid, "内部用户管理", "公司绑定删除", T_uuid+"-"+strconv.Itoa(T_pid)) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"} c.ServeJSON() return } // 权限管理 func (c *UserController) Power_List() { // 验证登录 b_, _ := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey")) if !b_ { c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"} c.ServeJSON() return } var r_jsons lib.R_JSONS page, _ := c.GetInt("page") println(page) if page < 1 { page = 1 } page_z, _ := c.GetInt("page_z") if page_z < 1 { page_z = conf.Page_size } Name := c.GetString("T_name") r_jsons.Data, r_jsons.Num = Account.Read_Power_List(Name, page, page_z) r_jsons.Page = page r_jsons.Page_size = int(math.Ceil(float64(r_jsons.Num) / float64(page_z))) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons} c.ServeJSON() return } // 权限管理 func (c *UserController) Power_List_All() { // 验证登录 b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey")) if !b_ { c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"} c.ServeJSON() return } r, err := Account.Read_Power_ById(admin_r.T_power) if err != nil { c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id Err!"} c.ServeJSON() return } var r_jsons lib.R_JSONS r_jsons.Data = Account.Read_Power_List_ALL_User(r.T_select) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons} c.ServeJSON() return } func (c *UserController) Power_Get() { // 验证登录 b_, _ := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey")) if !b_ { c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"} c.ServeJSON() return } type Data struct { Power Account.Power_ Menu []Account.Menu Menu_checked []int Select []Account.Power_R Warning []Warning.WarningType_R } var data Data id, id_err := c.GetInt("T_id") if id_err != nil || id == 0 { c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_id Err!"} c.ServeJSON() return } power, err := Account.Read_Power_ById(id) if err != nil { c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_id Err!"} c.ServeJSON() return } data.Power = Account.PowerToPower_(power) data.Menu, data.Menu_checked = Account.Read_Menu_List_All() if err != nil { c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_menu Err!"} c.ServeJSON() return } if power.T_menu != "*" { data.Menu_checked = models.SplitStringToIntIds(power.T_menu, "M") } if err != nil { c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_menu Err!"} c.ServeJSON() return } data.Select = Account.Read_Power_List_ALL_T_select(power.T_select) if err != nil { c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_select Err!"} c.ServeJSON() return } data.Warning = Warning.Read_WarningType_All_Power_T_Warning(power.T_warning) if err != nil { c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_warning Err!"} c.ServeJSON() return } c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: data} c.ServeJSON() return } func (c *UserController) Power_Add() { // 验证登录 b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey")) if !b_ { c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"} c.ServeJSON() return } T_name := c.GetString("T_name") T_select := c.GetString("T_select") T_warning := c.GetString("T_warning") T_menu := c.GetString("T_menu") var_ := Account.Power{ T_name: T_name, T_select: T_select, T_warning: T_warning, T_menu: T_menu, T_State: 1, } _, err := Account.Add_Power(var_) if err != nil { c.Data["json"] = lib.JSONS{Code: 301, Msg: "添加失败!"} c.ServeJSON() return } System.Add_UserLogs_T(admin_r.T_uuid, "权限管理", "添加", var_) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"} c.ServeJSON() return } func (c *UserController) Power_Edit() { // 验证登录 b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey")) if !b_ { c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"} c.ServeJSON() return } Id, Id_err := c.GetInt("T_id") if Id_err != nil || Id == 0 { c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id Err!"} c.ServeJSON() return } if Id == 1 { c.Data["json"] = lib.JSONS{Code: 202, Msg: "无权修改!"} c.ServeJSON() return } r, err := Account.Read_Power_ById(Id) if err != nil { c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id Err!"} c.ServeJSON() return } T_name := c.GetString("T_name") T_select := c.GetString("T_select") T_warning := c.GetString("T_warning") T_menu := c.GetString("T_menu") if len(T_name) > 0 { r.T_name = T_name } if len(T_select) > 0 { r.T_select = T_select } if len(T_warning) > 0 { r.T_warning = T_warning } if len(T_menu) > 0 { r.T_menu = T_menu } is := Account.Update_Power(r, "T_name", "T_select", "T_warning", "T_menu") if !is { c.Data["json"] = lib.JSONS{Code: 302, Msg: "修改失败!"} c.ServeJSON() return } System.Add_UserLogs_T(admin_r.T_uuid, "权限管理", "修改", r) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"} c.ServeJSON() return } func (c *UserController) Power_Del() { // 验证登录 b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey")) if !b_ { c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"} c.ServeJSON() return } id, id_err := c.GetInt("T_id") if id_err != nil || id == 0 { c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id Err!"} c.ServeJSON() return } r, err := Account.Read_Power_ById(id) if err != nil { c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id Err!"} c.ServeJSON() return } is := Account.Delete_Power(r) if !is { c.Data["json"] = lib.JSONS{Code: 302, Msg: "删除失败!"} c.ServeJSON() return } System.Add_UserLogs(admin_r.T_uuid, "权限管理", "删除", strconv.Itoa(id)) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"} c.ServeJSON() return } // 菜单列表 func (c *UserController) User_Menu_List() { // 验证登录 b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey")) if !b_ { c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"} c.ServeJSON() return } T_pid := admin_r.T_pid if T_pid == 0 { T_pid, _ = strconv.Atoi(c.Ctx.Request.Header.Get("T_pid")) } var r_jsons lib.R_JSONS power, err := Account.Read_Power_ById(admin_r.T_power) if err != nil { c.Data["json"] = lib.JSONS{Code: 200, Msg: "获取菜单失败"} c.ServeJSON() return } r_jsons.Data = Account.Read_Menu_Bind_List(power.T_menu, T_pid) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons} c.ServeJSON() return } // 权限菜单列表 func (c *UserController) Menu_List_All() { // 验证登录 b_, _ := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey")) if !b_ { c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"} c.ServeJSON() return } var r_jsons lib.R_JSONS r_jsons.Data, _ = Account.Read_Menu_List_All() c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons} c.ServeJSON() return }