فهرست منبع

feat:添加新增系统用户接口

Roc 3 سال پیش
والد
کامیت
1c333dae0b
2فایلهای تغییر یافته به همراه149 افزوده شده و 0 حذف شده
  1. 103 0
      controllers/admin.go
  2. 46 0
      models/tables/admin/admin.go

+ 103 - 0
controllers/admin.go

@@ -0,0 +1,103 @@
+package controllers
+
+import (
+	"encoding/json"
+	"hongze/hongze_open_api/models/request/admin"
+	adminTable "hongze/hongze_open_api/models/tables/admin"
+	"hongze/hongze_open_api/utils"
+	"time"
+)
+
+// Admin
+// 系统用户模块
+type Admin struct {
+	BaseAuth
+}
+
+// Create
+// @Title 创建系统用户
+// @Description 创建系统用户
+// @Param	request	body admin.CreateUserReq true "type json string"
+// @Success 200 创建成功
+// @router /create [post]
+func (c *Admin) Create() {
+	//appid权限校验
+	appid := c.GetString("appid", "")
+	if utils.RunMode == "release" && appid != "CQWx3EqDLNk7bVHo" {
+		c.FailWithMessage("无权限")
+		return
+	}
+	var req admin.CreateUserReq
+	err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
+	if err != nil {
+		c.FailWithMessage("参数解析异常")
+		return
+	}
+
+	roleType, ok := utils.RoleTypeMap[req.RoleType]
+	if !ok {
+		c.FailWithMessage("角色类型异常")
+		return
+	}
+	mobile := utils.TrimStr(req.Mobile)
+	if mobile == `` {
+		c.FailWithMessage("手机号必传")
+		return
+	}
+	realName := utils.TrimStr(req.RealName)
+	if realName == `` {
+		c.FailWithMessage("真实姓名必传")
+		return
+	}
+	//校验该用户是否存在系统中
+	count, err := adminTable.GetSysAdminCountByMobile(mobile)
+	if count > 0 {
+		c.FailWithMessage("该手机号已存在系统中")
+		return
+	}
+
+	passWord := `123456a`
+	//pwdByte, err := base64.StdEncoding.DecodeString(passWord)
+	//if err != nil {
+	//	fmt.Println("err:",err)
+	//	c.FailWithMessage("解析数据失败")
+	//	return
+	//}
+	//pwdStr := string(pwdByte)
+	//pwdStr = strings.ToLower(pwdStr)
+
+	adminInfo := &adminTable.Admin{
+		//AdminId:                 0,
+		AdminName: mobile,
+		RealName:  realName,
+		Password:  utils.MD5(passWord),
+		//LastUpdatedPasswordTime: time.Now().Format(utils.FormatDateTime),
+		Enabled: 0,
+		Email:   "",
+		//LastLoginTime:           time.Now().Format(utils.FormatDateTime),
+		CreatedTime: time.Now(),
+		//LastUpdatedTime:         time.Now().Format(utils.FormatDateTime),
+		Role:           roleType.Role,
+		Mobile:         mobile,
+		RoleType:       0,
+		RoleId:         roleType.RoleId,
+		RoleName:       roleType.RoleName,
+		RoleTypeCode:   roleType.RoleTypeCode,
+		DepartmentId:   roleType.DepartmentId,
+		DepartmentName: roleType.DepartmentName,
+		GroupId:        roleType.GroupId,
+		GroupName:      roleType.GroupName,
+		Authority:      0,
+		Position:       "",
+	}
+	err = adminTable.AddAdmin(adminInfo)
+	if err != nil {
+		c.OkWithMessage("创建失败")
+		return
+	}
+
+	// 清除用户列表缓存key
+	_ = utils.Rc.Delete(utils.CACHE_KEY_ADMIN)
+
+	c.OkWithMessage("创建成功")
+}

+ 46 - 0
models/tables/admin/admin.go

@@ -0,0 +1,46 @@
+package admin
+
+import (
+	"github.com/rdlucklib/rdluck_tools/orm"
+	"time"
+)
+
+type Admin struct {
+	AdminId                 int    `orm:"column(admin_id);pk" description:"系统用户id"`
+	AdminName               string `description:"系统用户名称"`
+	RealName                string `description:"系统用户姓名"`
+	Password                string `json:"-"`
+	LastUpdatedPasswordTime string `json:"-"`
+	Enabled                 int
+	Email                   string `description:"系统用户邮箱"`
+	LastLoginTime           string
+	CreatedTime             time.Time
+	LastUpdatedTime         string
+	Role                    string `description:"系统用户角色"`
+	Mobile                  string `description:"手机号"`
+	RoleType                int    `description:"角色类型:1需要录入指标,0:不需要"`
+	RoleId                  int    `description:"角色ID"`
+	RoleName                string `description:"角色名称"`
+	RoleTypeCode            string `description:"角色类型编码"`
+	DepartmentId            int    `description:"部门id"`
+	DepartmentName          string `description:"部门名称"`
+	GroupId                 int    `description:"分组id"`
+	GroupName               string `description:"分组名称"`
+	Authority               int    `description:"管理权限,0:无,1:部门负责人,2:小组负责人,3:超级管理员"`
+	Position                string `description:"职位"`
+}
+
+// AddAdmin 新增用户
+func AddAdmin(item *Admin) (err error) {
+	o := orm.NewOrm()
+	_, err = o.Insert(item)
+	return
+}
+
+// GetSysAdminCountByMobile 查询系统中是否存在该手机号(如果有传入用户id,那么排除该用户)
+func GetSysAdminCountByMobile(mobile string) (count int, err error) {
+	sql := `SELECT COUNT(1) AS count FROM admin WHERE mobile=? `
+	o := orm.NewOrm()
+	err = o.Raw(sql, mobile).QueryRow(&count)
+	return
+}