github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/routers/ViewHandler.go (about) 1 package routers 2 3 import ( 4 "fmt" 5 "github.com/insionng/makross" 6 "github.com/insionng/yougam/helper" 7 "github.com/insionng/yougam/models" 8 ) 9 10 func GetTouchViewHandler(self *makross.Context) error { 11 12 name := self.Param("name").String() 13 id := self.Param("id").MustInt64() 14 15 if (len(name) > 0) && (id > 0) && (!helper.IsSpider(self.UserAgent())) { 16 if name == "topic" { 17 18 if tp, err := models.GetTopic(id); tp != nil && err == nil { 19 tp.Views = tp.Views + 1 20 if row, e := models.PutViews2TopicViaVersion(id, tp); (e == nil) && (row > 0) { 21 return self.String(fmt.Sprintf("%v", tp.Views)) 22 } else { 23 return self.String(fmt.Sprintf("%v", tp.Views-1)) 24 } 25 } 26 } 27 28 } 29 return self.NoContent(makross.StatusOK) 30 }