mirror of
https://github.com/arnaucube/goRecommender.git
synced 2026-02-06 19:16:39 +01:00
cluster age
This commit is contained in:
@@ -1,9 +1,11 @@
|
||||
package main
|
||||
|
||||
type UserModel struct {
|
||||
ID string `json:"id"`
|
||||
Age int `json:",string"`
|
||||
Actions []string
|
||||
ID string `json:"id"`
|
||||
Age int `json:",string"`
|
||||
//age clusters: a<20 (0), 20<a<40 (1), 40<a<60 (2), 60<a (3)
|
||||
AgeCluster int
|
||||
Actions []string
|
||||
}
|
||||
type ItemModel struct {
|
||||
ID string
|
||||
|
||||
@@ -51,11 +51,14 @@ func NewUser(w http.ResponseWriter, r *http.Request) {
|
||||
err := decoder.Decode(&newUser)
|
||||
check(err)
|
||||
defer r.Body.Close()
|
||||
newUser = user.clusterAge(newUser)
|
||||
|
||||
saveUser(userCollection, newUser)
|
||||
|
||||
fmt.Println(newUser)
|
||||
fmt.Fprintln(w, "new user added: ", newUser.ID)
|
||||
jNewUser, err := json.Marshal(newUser)
|
||||
check(err)
|
||||
fmt.Fprintln(w, string(jNewUser))
|
||||
}
|
||||
func Recommendations(w http.ResponseWriter, r *http.Request) {
|
||||
ipFilter(w, r)
|
||||
|
||||
20
userOperations.go
Normal file
20
userOperations.go
Normal file
@@ -0,0 +1,20 @@
|
||||
package main
|
||||
|
||||
var user UserModel
|
||||
|
||||
func (userModel UserModel) clusterAge(u UserModel) UserModel {
|
||||
if u.Age < 15 {
|
||||
u.AgeCluster = 0
|
||||
} else if 15 < u.Age && u.Age <= 25 {
|
||||
u.AgeCluster = 1
|
||||
} else if 25 < u.Age && u.Age <= 40 {
|
||||
u.AgeCluster = 2
|
||||
} else if 40 < u.Age && u.Age <= 50 {
|
||||
u.AgeCluster = 3
|
||||
} else if 50 < u.Age && u.Age <= 60 {
|
||||
u.AgeCluster = 4
|
||||
} else if 60 < u.Age {
|
||||
u.AgeCluster = 5
|
||||
}
|
||||
return u
|
||||
}
|
||||
Reference in New Issue
Block a user