|
|
@@ -1,9 +1,11 @@
|
|
|
package casbin
|
|
|
|
|
|
import (
|
|
|
+ "dashoo.cn/backend/api/business/organize"
|
|
|
"dashoo.cn/business2/userRole"
|
|
|
"dashoo.cn/business2/permission"
|
|
|
"dashoo.cn/backend/api/models"
|
|
|
+ "encoding/json"
|
|
|
"strings"
|
|
|
|
|
|
. "dashoo.cn/backend/api/controllers"
|
|
|
@@ -16,6 +18,22 @@ type UserController struct {
|
|
|
BaseController
|
|
|
}
|
|
|
|
|
|
+type UserModel struct {
|
|
|
+ Username string `json:"username"`
|
|
|
+ Realname string `json:"realname"`
|
|
|
+ Telephone string `json:"telephone"`
|
|
|
+ Mobile string `json:"mobile"`
|
|
|
+ Description string `json:"description"`
|
|
|
+ Photo string `json:"photo"`
|
|
|
+ Role string `json:"role"`
|
|
|
+ Id int `json:"id"`
|
|
|
+ ChannelIds string `json:"channelids"`
|
|
|
+ Password string `json:"password"`
|
|
|
+ DepartmentId string `json:"departmentid"`
|
|
|
+ DepartmentName string `json:"departmentname"`
|
|
|
+ Sign string `json:"sign"`
|
|
|
+}
|
|
|
+
|
|
|
// @Title get
|
|
|
// @Description get user by token
|
|
|
// @Param uid path string true "The key for staticblock"
|
|
|
@@ -146,3 +164,190 @@ func (this *UserController) UserPowerPostRole() {
|
|
|
this.ServeJSON()
|
|
|
}
|
|
|
}
|
|
|
+// @Title 创建用户
|
|
|
+// @Description 创建用户
|
|
|
+// @Param body body business.device.DeviceChannels "传感器信息"
|
|
|
+// @Success 200 {object} controllers.Request
|
|
|
+// @router / [post]
|
|
|
+func (this *UserController) AddUser() {
|
|
|
+ /*var model UserModel
|
|
|
+ var jsonblob = this.Ctx.Input.RequestBody
|
|
|
+ json.Unmarshal(jsonblob, &model)
|
|
|
+ var errinfo ErrorDataInfo
|
|
|
+ departidint, _ := utils.StrTo(model.DepartmentId).Int()
|
|
|
+ if departidint < 1 {
|
|
|
+ errinfo.Message = "请选择所属组织!"
|
|
|
+ errinfo.Code = -3
|
|
|
+ this.Data["json"] = &errinfo
|
|
|
+ this.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //获取组织名称
|
|
|
+ svcorg := organize.GetOrganizeService(utils.DBE)
|
|
|
+ model.DepartmentName = svcorg.GetNameById(model.DepartmentId)
|
|
|
+
|
|
|
+ var userentity userRole.Base_User
|
|
|
+ userentity.Roleid, _ = utils.StrTo(model.Role).Int()
|
|
|
+ if userentity.Roleid == 0 {
|
|
|
+ //userentity.Roleid = 10000123 //普通用户
|
|
|
+ }
|
|
|
+ userentity.Username = model.Username
|
|
|
+ userentity.Realname = model.Realname
|
|
|
+ userentity.Telephone = model.Telephone
|
|
|
+ userentity.Mobile = model.Mobile
|
|
|
+ if model.Sign == "" {
|
|
|
+ userentity.Description = model.Description
|
|
|
+ } else {
|
|
|
+ userentity.Description = model.Sign
|
|
|
+ }
|
|
|
+ userentity.Photo = model.Photo
|
|
|
+
|
|
|
+ currentuser := this.User
|
|
|
+ userentity.Createuserid, _ = utils.StrTo(currentuser.Id).Int()
|
|
|
+ userentity.Createby = currentuser.Realname
|
|
|
+ userentity.AccCode = this.GetAccode()
|
|
|
+
|
|
|
+ userentity.QRCode = utils.GetGuid()
|
|
|
+ userentity.Departmentid = model.DepartmentId
|
|
|
+ userentity.Departmentname = model.DepartmentName
|
|
|
+
|
|
|
+ //salt := utils.GetRandomString(5)
|
|
|
+ //userentity.Userpassword = fmt.Sprintf("%s$%s", salt, utils.EncodePassword("123456", salt))
|
|
|
+ //更改密码算法2014-11-21
|
|
|
+ pwd, key, errrk := utils.TripleDesEncrypt("123456")
|
|
|
+ if errrk != nil {
|
|
|
+ errinfo.Message = "添加失败!" + utils.AlertProcess(errrk.Error())
|
|
|
+ errinfo.Code = -2
|
|
|
+ this.Data["json"] = &errinfo
|
|
|
+ this.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ userentity.Userpassword = pwd
|
|
|
+ userentity.Publickey = key
|
|
|
+ userentity.Auditstatus = 1
|
|
|
+ userentity.Email = userentity.Username
|
|
|
+ svc := userRole.GetUserService(utils.DBE)
|
|
|
+ err := svc.AddUser(&userentity)
|
|
|
+
|
|
|
+ if err == nil {
|
|
|
+ errinfo.Message = "添加用户成功,初始密码为123456!"
|
|
|
+ errinfo.Code = 0
|
|
|
+ errinfo.Item = userentity.Id
|
|
|
+ this.Data["json"] = &errinfo
|
|
|
+ this.ServeJSON()
|
|
|
+ return
|
|
|
+ } else {
|
|
|
+ errinfo.Message = "添加失败!" + utils.AlertProcess(err.Error())
|
|
|
+ errinfo.Code = -1
|
|
|
+ this.Data["json"] = &errinfo
|
|
|
+ this.ServeJSON()
|
|
|
+ return
|
|
|
+ }*/
|
|
|
+}
|
|
|
+
|
|
|
+// @Title 编辑用户
|
|
|
+// @Description 编辑用户
|
|
|
+// @Param id path string true "需要修改的传感器编号"
|
|
|
+// @Param body body business.device.DeviceChannels "传感器信息"
|
|
|
+// @Success 200 {object} controllers.Request
|
|
|
+// @router /:id [put]
|
|
|
+func (this *UserController) EditUser() {
|
|
|
+ id := this.Ctx.Input.Param(":id")
|
|
|
+ var errinfo ErrorInfo
|
|
|
+ if id == "" {
|
|
|
+ errinfo.Message = "操作失败!请求信息不完整"
|
|
|
+ errinfo.Code = -2
|
|
|
+ this.Data["json"] = &errinfo
|
|
|
+ this.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var model UserModel
|
|
|
+ var jsonblob = this.Ctx.Input.RequestBody
|
|
|
+ json.Unmarshal(jsonblob, &model)
|
|
|
+
|
|
|
+ var userentity userRole.Base_User
|
|
|
+ var userentityempty userRole.Base_User
|
|
|
+ svc := userRole.GetUserService(utils.DBE)
|
|
|
+ has := svc.GetEntityById(id, &userentity)
|
|
|
+ if has {
|
|
|
+ //获取组织名称
|
|
|
+ svcorg := organize.GetOrganizeService(utils.DBE)
|
|
|
+ model.DepartmentName = svcorg.GetNameById(model.DepartmentId)
|
|
|
+ // roleid, _ := utils.StrTo(model.Role).Int()
|
|
|
+ // if userentity.Roleid != roleid {
|
|
|
+ // svc.ClearUserRole(id)
|
|
|
+ // svc.AddUserToRole(id, model.Role, userentity)
|
|
|
+ // }
|
|
|
+ userentity.Realname = model.Realname
|
|
|
+ userentity.Telephone = model.Telephone
|
|
|
+ userentity.Mobile = model.Mobile
|
|
|
+ if model.Sign == "" {
|
|
|
+ userentity.Description = model.Description
|
|
|
+ } else {
|
|
|
+ userentity.Description = model.Sign
|
|
|
+ }
|
|
|
+ userentity.Photo = model.Photo
|
|
|
+ // userentity.Roleid = roleid
|
|
|
+ userentity.Modifieduserid, _ = utils.StrTo(this.User.Id).Int()
|
|
|
+ userentity.Modifiedby = this.User.Realname
|
|
|
+ userentity.Departmentid = model.DepartmentId
|
|
|
+ userentity.Departmentname = model.DepartmentName
|
|
|
+
|
|
|
+ var cols []string = []string{"Realname", "DepartmentId", "DepartmentName", "Telephone", "Mobile", "Description", "Photo", "Modifieduserid", "Modifiedby"}
|
|
|
+
|
|
|
+ err := svc.UpdateEntityAndBackupByCols(id, &userentity, &userentityempty, cols, utils.ToStr(this.User.Id), this.User.Realname)
|
|
|
+
|
|
|
+ if err == nil {
|
|
|
+ errinfo.Message = "保存成功!"
|
|
|
+ errinfo.Code = 0
|
|
|
+ this.Data["json"] = &errinfo
|
|
|
+ this.ServeJSON()
|
|
|
+ } else {
|
|
|
+ errinfo.Message = "操作失败!" + utils.AlertProcess(err.Error())
|
|
|
+ errinfo.Code = -1
|
|
|
+ this.Data["json"] = &errinfo
|
|
|
+ this.ServeJSON()
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ errinfo.Message = "操作失败!操作数据不存在"
|
|
|
+ errinfo.Code = -3
|
|
|
+ this.Data["json"] = &errinfo
|
|
|
+ this.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+// @Title 删除用户
|
|
|
+// @Description 删除用户
|
|
|
+// @Param id path string true "需要删除的用户编号"
|
|
|
+// @Success 200 {object} ErrorInfo
|
|
|
+// @Failure 403 :id 为空
|
|
|
+// @router /:id [delete]
|
|
|
+func (this *UserController) Delete() {
|
|
|
+ id := this.Ctx.Input.Param(":id")
|
|
|
+ var errinfo ErrorInfo
|
|
|
+ if id == "" {
|
|
|
+ errinfo.Message = "操作失败!请求信息不完整"
|
|
|
+ errinfo.Code = -2
|
|
|
+ this.Data["json"] = &errinfo
|
|
|
+ this.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var entity userRole.Base_User
|
|
|
+ var entityempty userRole.Base_User
|
|
|
+ svc := userRole.GetUserService(utils.DBE)
|
|
|
+ err := svc.DeleteEntityAndBackup(id, &entity, &entityempty, utils.ToStr(this.User.Id), this.User.Username)
|
|
|
+ if err == nil {
|
|
|
+ svc.ClearUserRole(id) //清除角色
|
|
|
+ errinfo.Message = "删除成功"
|
|
|
+ errinfo.Code = 0
|
|
|
+ this.Data["json"] = &errinfo
|
|
|
+ this.ServeJSON()
|
|
|
+ } else {
|
|
|
+ errinfo.Message = "删除失败!" + utils.AlertProcess(err.Error())
|
|
|
+ errinfo.Code = -1
|
|
|
+ this.Data["json"] = &errinfo
|
|
|
+ this.ServeJSON()
|
|
|
+ }
|
|
|
+}
|