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

     1  package root
     2  
     3  import (
     4  	"fmt"
     5  	"github.com/insionng/makross"
     6  	
     7  	"github.com/insionng/yougam/models"
     8  )
     9  
    10  func GetRRechargeUserHandler(self *makross.Context) error {
    11  	
    12  
    13  	TplNames := "root/recharge_user"
    14  	self.Set("catpage", "RRechargeUserHandler")
    15  	uid := self.Param("uid").MustInt64()
    16  	if uid <= 0 {
    17  		self.Flash.Error("非法参数!")
    18  		return self.Redirect("/root/read/user/")
    19  
    20  	}
    21  
    22  	if usr, err := models.GetUser(uid); usr != nil && err == nil {
    23  		self.Set("usr", *usr)
    24  
    25  	} else {
    26  		self.Flash.Error(fmt.Sprint(err))
    27  		return self.Render(TplNames)
    28  
    29  	}
    30  	return self.Render(TplNames)
    31  }
    32  
    33  func PostRRechargeUserHandler(self *makross.Context) error {
    34  
    35  	
    36  	_usr_, okay := self.Session.Get("SignedUser").(*models.User)
    37  	if !okay {
    38  		return self.NoContent(401)
    39  	}
    40  
    41  	amount := self.Args("amount").MustInt64()
    42  	uid := self.Param("uid").MustInt64()
    43  	if uid <= 0 {
    44  		self.Flash.Error("非法参数!")
    45  		return self.Redirect("/root/read/user/")
    46  
    47  	}
    48  
    49  	usr, e := models.GetUser(uid)
    50  	if e != nil || usr == nil {
    51  		self.Flash.Error("用户不存在!")
    52  		return self.Redirect("/root/read/user/")
    53  
    54  	}
    55  
    56  	if e := models.SetAmountByUid(uid, 3, amount, "充值"); e != nil {
    57  		self.Flash.Error(fmt.Sprintf("充值用户[%v]失败!", usr.Username))
    58  
    59  	} else {
    60  		self.Flash.Success(fmt.Sprintf("充值用户[%v]成功!", usr.Username))
    61  		if _usr_ != nil {
    62  			if _usr_.Id == usr.Id {
    63  				ur, e := models.GetUser(uid)
    64  				if e != nil || ur == nil {
    65  					self.Flash.Error("用户不存在!")
    66  					return self.Redirect("/root/read/user/")
    67  
    68  				}
    69  
    70  				self.Session.Set("SignedUser", ur)
    71  				self.Set("user", ur)
    72  			}
    73  		}
    74  	}
    75  
    76  	return self.Redirect(fmt.Sprintf("/root/update/user/recharge/%v/", uid))
    77  
    78  }