瀏覽代碼

fixbug:列表电话,管理员进入用户工单列表可查看该公司下所有工单

zoie 2 年之前
父節點
當前提交
065d6993fc
共有 5 個文件被更改,包括 42 次插入30 次删除
  1. 1 1
      Nats/Nats.go
  2. 4 11
      controllers/WorkOrder.go
  3. 16 6
      models/Account/Admin.go
  4. 5 5
      models/Account/Company.go
  5. 16 7
      models/WorkOrder/WorkOrder.go

+ 1 - 1
Nats/Nats.go

@@ -76,7 +76,7 @@ func Verification(GetCookie string, GetString string) (bool, Account.User) {
 
 	var t_R T_R
 
-	Account.T_pid = t_R.Pid
+	Account.T_pid = &t_R.Pid
 
 	err = msgpack.Unmarshal(msg.Data, &t_R)
 	if err != nil {

+ 4 - 11
controllers/WorkOrder.go

@@ -17,16 +17,8 @@ type WorkOrderController struct {
 }
 
 func (c *WorkOrderController) Prepare() {
-	GetCookie := c.Ctx.GetCookie("User_tokey")
-	GetString := c.GetString("User_tokey")
-
-	User_tokey := GetCookie
-	if len(User_tokey) == 0 {
-		User_tokey = GetString
-	}
-
 	c.User_r = Account.User_r
-	c.T_pid = Account.T_pid
+	c.T_pid = *Account.T_pid
 }
 
 // 列表 -
@@ -57,6 +49,7 @@ func (c *WorkOrderController) List() {
 		}
 	}
 	Account.AdminListToMap(Nats.UserListAll())
+	Account.CompanyListToMap(Company_list)
 	var cnt int64
 	List, cnt := WorkOrder.Read_WorkOrder_List(T_handle, page, page_z, CompanyIds)
 
@@ -85,7 +78,7 @@ func (c *WorkOrderController) User_List() {
 	}
 
 	var cnt int64
-	List, cnt := WorkOrder.Read_UserWorkOrder_List(Account.User_r.T_uuid, page, page_z)
+	List, cnt := WorkOrder.Read_UserWorkOrder_List(Account.User_r, c.T_pid, page, page_z)
 
 	page_size := math.Ceil(float64(cnt) / float64(page_z))
 	r_jsons.List = List
@@ -203,7 +196,7 @@ func (c *WorkOrderController) Del() {
 		return
 	}
 
-	if err = WorkOrder.Delete_WorkOrder(r); err != nil {
+	if err = WorkOrder.Delete_WorkOrder_ById(r); err != nil {
 		c.Data["json"] = lib.JSONS{Code: 202, Msg: "删除失败!"}
 		c.ServeJSON()
 		return

+ 16 - 6
models/Account/Admin.go

@@ -6,9 +6,9 @@ import (
 )
 
 var User_r User
-var T_pid int
+var T_pid *int
 
-var AdminMap map[string]string // 泛型
+var AdminMap map[string]User // 泛型
 
 type User struct {
 	T_uuid  string `xml:"T_uuid"`
@@ -22,20 +22,30 @@ type User struct {
 }
 
 func init() {
-	AdminMap = make(map[string]string)
+	AdminMap = make(map[string]User)
 }
 
 func AdminListToMap(A []User) {
 	for _, v := range A {
-		AdminMap[v.T_uuid] = v.T_name
+		AdminMap[v.T_uuid] = v
 	}
 }
 
-func Read_Admin_Get(T_uuid string) string {
+func Read_User_T_name_Get(T_uuid string) string {
 	// 有先加入 给全部人发消息
 	v, ok := AdminMap[T_uuid] /*如果确定是真实的,则存在,否则不存在 */
 	if ok {
-		return v
+		return v.T_name
+	} else {
+		return ""
+	}
+}
+
+func Read_User_T_phone_Get(T_uuid string) string {
+	// 有先加入 给全部人发消息
+	v, ok := AdminMap[T_uuid] /*如果确定是真实的,则存在,否则不存在 */
+	if ok {
+		return v.T_phone
 	} else {
 		return ""
 	}

+ 5 - 5
models/Account/Company.go

@@ -7,23 +7,23 @@ type Company struct {
 	T_uids string `xml:"T_uids"` // 绑定用户 Uid|  如:U1|U2|
 }
 
-var CompanyMap map[int]string // 泛型
+var CompanyMap map[int]Company // 泛型
 
 func init() {
-	CompanyMap = make(map[int]string)
+	CompanyMap = make(map[int]Company)
 }
 
 func CompanyListToMap(A []Company) {
 	for _, v := range A {
-		CompanyMap[v.Id] = v.T_name
+		CompanyMap[v.Id] = v
 	}
 }
 
-func Read_Company_Get(id int) string {
+func Read_Company_T_name_Get(id int) string {
 	// 有先加入 给全部人发消息
 	v, ok := CompanyMap[id] /*如果确定是真实的,则存在,否则不存在 */
 	if ok {
-		return v
+		return v.T_name
 	} else {
 		return ""
 	}

+ 16 - 7
models/WorkOrder/WorkOrder.go

@@ -25,7 +25,7 @@ type WorkOrder struct {
 }
 type WorkOrder_R struct {
 	Id      int    // ID
-	T_title string //
+	T_title string // 标题
 	T_text  string // 详情
 	T_State int    // 0 删除   1 已解决 2 未解决
 }
@@ -34,6 +34,7 @@ type WorkOrder_ struct {
 	Id             int    // ID
 	T_uuid         string // 用户uuid
 	T_name         string // 用户名
+	T_phone        string // 电话
 	T_Company_name string // 公司名
 	T_title        string // 标题
 	T_text         string // 详情
@@ -54,14 +55,14 @@ func WorkOrderToWorkOrder_R(t WorkOrder) (r WorkOrder_R) {
 	r.Id = t.Id
 	r.T_title = t.T_title
 	r.T_text = t.T_text
-	r.T_text = t.T_text
 	r.T_State = t.T_State
 	return
 }
 
 func WorkOrderToWorkOrder_(t WorkOrder) (r WorkOrder_) {
-	r.T_Company_name = Account.Read_Company_Get(t.T_pid)
-	r.T_name = Account.Read_Admin_Get(t.T_uuid)
+	r.T_Company_name = Account.Read_Company_T_name_Get(t.T_pid)
+	r.T_name = Account.Read_User_T_name_Get(t.T_uuid)
+	r.T_phone = Account.Read_User_T_phone_Get(t.T_uuid)
 	r.Id = t.Id
 	r.T_uuid = t.T_uuid
 	r.T_title = t.T_title
@@ -74,8 +75,9 @@ func WorkOrderToWorkOrder_(t WorkOrder) (r WorkOrder_) {
 // 获取 ById
 func Read_WorkOrder_ById(id int) (r WorkOrder, err error) {
 	o := orm.NewOrm()
+	qs := o.QueryTable(new(WorkOrder))
 	r = WorkOrder{Id: id}
-	err = o.Read(&r) // o.Read(&r,"Tokey") 如果不是 主键 就得指定字段名
+	err = qs.Filter("T_state__gt", 0).One(&r) // o.Read(&r,"Tokey") 如果不是 主键 就得指定字段名
 	if err != nil {
 		logs.Println(err)
 		return r, err
@@ -160,7 +162,7 @@ func Read_WorkOrder_List(T_handle int, page int, page_z int, CompanyIds []int) (
 }
 
 // 获取用户列表
-func Read_UserWorkOrder_List(T_uuid string, page int, page_z int) (t []WorkOrder_R, cnt int64) {
+func Read_UserWorkOrder_List(admin_r Account.User, T_pid int, page int, page_z int) (t []WorkOrder_R, cnt int64) {
 	o := orm.NewOrm()
 
 	// 也可以直接使用 Model 结构体作为表名
@@ -178,7 +180,14 @@ func Read_UserWorkOrder_List(T_uuid string, page int, page_z int) (t []WorkOrder
 	}
 
 	cond := orm.NewCondition()
-	cond1 := cond.And("T_uuid", T_uuid).And("T_State__gt", 0)
+	cond1 := cond.And("T_State__gt", 0)
+	if admin_r.T_pid > 0 {
+		// 用户进入
+		cond1 = cond1.And("T_uuid", admin_r.T_uuid)
+	} else {
+		//管理员进入
+		cond1 = cond1.And("T_pid", T_pid)
+	}
 
 	qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("Id").All(&r)
 	cnt, _ = qs.SetCond((*orm2.Condition)(cond1)).Count()