github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/routers/root/RReadUser.go (about)

     1  package root
     2  
     3  import (
     4  	"fmt"
     5  	"github.com/insionng/makross"
     6  	
     7  	"strconv"
     8  	"github.com/insionng/yougam/helper"
     9  	"github.com/insionng/yougam/models"
    10  )
    11  
    12  func GetRReadUserHandler(self *makross.Context) error {
    13  	
    14  
    15  	TplNames := ""
    16  	self.Set("catpage", "RReadUserHandler")
    17  	keyword := self.Param("keyword").String()
    18  	if keyword == "" {
    19  		keyword = self.FormValue("keyword")
    20  	}
    21  
    22  	switch uid := self.Param("uid").MustInt64(); {
    23  	//单独模式
    24  	case uid > 0:
    25  		{
    26  			TplNames = "root/create_user"
    27  
    28  			if usr, err := models.GetUser(uid); usr != nil && err == nil {
    29  				self.Set("user", *usr)
    30  
    31  			} else {
    32  				self.Flash.Error(err.Error())
    33  				return self.Render(TplNames)
    34  
    35  			}
    36  		}
    37  	//列表模式
    38  	case uid <= 0:
    39  		{
    40  			TplNames = "root/user_table"
    41  			offset := self.Args("offset").MustInt64()
    42  			limit := self.Args("limit").MustInt64()
    43  			field := self.FormValue("field")
    44  
    45  			if limit == 0 {
    46  				limit = 1000 //默认限制显示最近1000条,需要显示全部请在提交请求的时候设置limit字段为-1
    47  			}
    48  
    49  			if field == "" {
    50  				field = "id"
    51  			}
    52  
    53  			if keyword != "" {
    54  				if usrs, err := models.SearchUser(keyword, int(offset), int(limit), field); err == nil && usrs != nil {
    55  					self.Set("users", *usrs)
    56  					self.Set("keyword", keyword)
    57  				}
    58  
    59  			} else {
    60  
    61  				if usrs, err := models.GetUsersOnHotness(int(offset), int(limit), field); err == nil && usrs != nil {
    62  					self.Set("users", *usrs)
    63  				}
    64  			}
    65  
    66  		}
    67  	}
    68  
    69  	return self.Render(TplNames)
    70  
    71  }
    72  
    73  func PostRReadUserHandler(self *makross.Context) error {
    74  	
    75  
    76  	delrowids := self.FormValue("delrowids")
    77  
    78  	//删除用户
    79  	if len(delrowids) > 0 {
    80  
    81  		uid := int64(0)
    82  		role := int64(-1000)
    83  		iserr := false
    84  		delids := helper.Split(delrowids, ",")
    85  		for _, delid := range delids {
    86  			userid, _ := strconv.ParseInt(delid, 10, 0)
    87  
    88  			if e := models.DelUser(userid, uid, role); e != nil {
    89  				iserr = true
    90  				self.Flash.Error("删除 User id:" + strconv.FormatInt(userid, 10) + "出现错误 " + fmt.Sprintf("%s", e) + "!")
    91  
    92  			} else {
    93  				self.Flash.Success("删除 User id:" + strconv.FormatInt(userid, 10) + "成功!")
    94  
    95  			}
    96  
    97  		}
    98  		if iserr == false {
    99  			self.Flash.Success("删除 User id:" + delrowids + "成功!")
   100  
   101  		}
   102  	} else {
   103  		self.Flash.Error("非法 User id!")
   104  
   105  	}
   106  
   107  	return self.Redirect("/root/read/user/")
   108  
   109  }