소스 검색

2023-11-29

zoie 1 년 전
부모
커밋
5896a7cc7e
3개의 변경된 파일58개의 추가작업 그리고 13개의 파일을 삭제
  1. 39 1
      controllers/User.go
  2. 11 5
      models/Account/User.go
  3. 8 7
      routers/User.go

+ 39 - 1
controllers/User.go

@@ -62,8 +62,9 @@ func (c *UserController) List() {
 	T_power := c.GetString("T_power")
 	T_dept, _ := c.GetInt("T_dept")
 	T_dept_leader, _ := c.GetInt("T_dept_leader")
+	T_State, _ := c.GetInt("T_State")
 
-	R_List, R_cnt := Account.Read_User_List(T_name, T_power, T_dept, T_dept_leader, page, page_z)
+	R_List, R_cnt := Account.Read_User_List(T_name, T_power, T_dept, T_dept_leader, T_State, page, page_z)
 
 	var r_jsons lib.R_JSONS
 	r_jsons.Num = R_cnt
@@ -447,3 +448,40 @@ func (c *UserController) Dept_List() {
 	c.ServeJSON()
 	return
 }
+
+// 修改个人信息
+func (c *UserController) Leave() {
+
+	T_uuid := c.GetString("T_uuid")
+	if len(T_uuid) == 0 {
+		c.Data["json"] = lib.JSONS{Code: 201, Msg: "T_uuid Err!"}
+		c.ServeJSON()
+		return
+	}
+
+	user, err := Account.Read_User_ByT_uuid(T_uuid)
+	if err != nil {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_uuid Err!"}
+		c.ServeJSON()
+		return
+	}
+	if user.Id == 1 {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "无权操作!"}
+		c.ServeJSON()
+		return
+	}
+	user.T_State = 2
+
+	if err := Account.Update_User(user, "T_State"); err != nil {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "修改失败!"}
+		c.ServeJSON()
+		return
+	}
+
+	System.Add_UserLogs_T(c.User.T_uuid, "用户", "离职", "")
+
+	c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
+	c.ServeJSON()
+	return
+
+}

+ 11 - 5
models/Account/User.go

@@ -42,7 +42,7 @@ type User struct {
 	T_remark              string `orm:"size(32);null"`       // 备注
 	T_cold_uuid           string `orm:"size(32);null"`       // 关联冷链uuid
 
-	T_State    int       `orm:"size(200);default(1)"`                                  //  0删除  1 正常
+	T_State    int       `orm:"size(200);default(1)"`                                  //  0删除  1 正常 2 离职
 	CreateTime time.Time `orm:"column(create_time);type(timestamp);null;auto_now_add"` //auto_now 每次 model 保存时都会对时间自动更新
 	UpdateTime time.Time `orm:"column(update_time);type(timestamp);null;auto_now"`     //auto_now_add 第一次保存时才设置时间
 }
@@ -74,6 +74,7 @@ type User_R struct {
 	T_contract_end_time   string
 	T_expire              int
 	T_remark              string
+	T_State               int
 }
 
 var User_r *User
@@ -115,6 +116,7 @@ func UserToUser_R(r User) (m User_R) {
 	m.T_contract_end_time = r.T_contract_end_time
 	m.T_expire = r.T_expire
 	m.T_remark = r.T_remark
+	m.T_State = r.T_State
 
 	return
 }
@@ -136,8 +138,8 @@ func UserToUser_Libs(r User) (m userlibs.User) {
 // 验证登录
 func Read_User_verification(T_user string, T_pass string) (error, User) {
 	o := orm.NewOrm()
-	r := User{T_user: T_user, T_pass: T_pass}
-	err := o.Read(&r, "T_user", "T_pass") // o.Read(&r,"Tokey") 如果不是 主键 就得指定字段名
+	r := User{T_user: T_user, T_pass: T_pass, T_State: 1}
+	err := o.Read(&r, "T_user", "T_pass", "T_State") // o.Read(&r,"Tokey") 如果不是 主键 就得指定字段名
 	if err != nil {
 		logs.Error(lib.FuncName(), err)
 	}
@@ -207,7 +209,7 @@ func Delete_User(v User) error {
 }
 
 // 获取列表
-func Read_User_List(T_name string, T_power string, T_dept, T_dept_leader, page, page_z int) (r_ []User_R, cnt int64) {
+func Read_User_List(T_name string, T_power string, T_dept, T_dept_leader, T_State, page, page_z int) (r_ []User_R, cnt int64) {
 	o := orm.NewOrm()
 	// 也可以直接使用 Model 结构体作为表名
 	qs := o.QueryTable(new(User))
@@ -220,7 +222,7 @@ func Read_User_List(T_name string, T_power string, T_dept, T_dept_leader, page,
 
 	// 过滤
 	cond := orm.NewCondition()
-	cond1 := cond.And("T_State", 1) //.And("T_State", 1) .AndNot("status__in", 1).Or("profile__age__gt", 2000)
+	cond1 := cond.And("T_State__gt", 0) //.And("T_State", 1) .AndNot("status__in", 1).Or("profile__age__gt", 2000)
 
 	if len(T_name) > 0 {
 		//cond1.AndCond(cond.And("T_class", class))
@@ -237,6 +239,10 @@ func Read_User_List(T_name string, T_power string, T_dept, T_dept_leader, page,
 		cond1 = cond1.And("T_dept_leader", 1)
 	}
 
+	if T_State > 0 {
+		cond1 = cond1.And("T_State", T_State)
+	}
+
 	// 查询
 	var r []User
 	_, err := qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("-Id").All(&r)

+ 8 - 7
routers/User.go

@@ -12,13 +12,14 @@ func init() {
 	beego.Router("/Login_verification", &controllers.UserController{}, "*:Login_verification") // 获取未读消息
 
 	//-----------用户管理
-	beego.Router("/User/List", &controllers.UserController{}, "*:List") //
-	beego.Router("/User/Get", &controllers.UserController{}, "*:Get")   //
-	beego.Router("/User/Info", &controllers.UserController{}, "*:Info") //
-	beego.Router("/User/Post", &controllers.UserController{}, "*:Post") //
-	beego.Router("/User/Add", &controllers.UserController{}, "*:Add")   //
-	beego.Router("/User/Edit", &controllers.UserController{}, "*:Edit") //
-	beego.Router("/User/Del", &controllers.UserController{}, "*:Del")   //
+	beego.Router("/User/List", &controllers.UserController{}, "*:List")   //
+	beego.Router("/User/Get", &controllers.UserController{}, "*:Get")     //
+	beego.Router("/User/Info", &controllers.UserController{}, "*:Info")   //
+	beego.Router("/User/Post", &controllers.UserController{}, "*:Post")   //
+	beego.Router("/User/Add", &controllers.UserController{}, "*:Add")     //
+	beego.Router("/User/Edit", &controllers.UserController{}, "*:Edit")   //
+	beego.Router("/User/Del", &controllers.UserController{}, "*:Del")     //
+	beego.Router("/User/Leave", &controllers.UserController{}, "*:Leave") //离职
 
 	//-----------权限管理
 	beego.Router("/Power/List", &controllers.PowerController{}, "*:List")           //