package service import ( "regexp" "videoplayer/dao" "videoplayer/proto" ) func CreateUser(name, password, email, gender string, age int) uint { return dao.CreateUser(name, password, email, gender, age) } func GetUser(name, email, password string) dao.User { emailRegex := `^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$` re := regexp.MustCompile(emailRegex) var user dao.User if re.MatchString(name) { user = dao.FindUserByEmail(name) } else { user = dao.FindUserByName(name) } if user.ID != 0 && user.Password == password { return user } return dao.User{} } func ContainsUser(name, email string) bool { user := dao.FindUserByName(name) user2 := dao.FindUserByEmail(email) if user.ID != 0 || user2.ID != 0 { return true } return false } func GetUserByID(id int) []proto.User { return dao.FindUserByID(id) } func GetUserByNameLike(name string) []proto.User { return dao.FindUserByNameLike(name) } func UpdateUser(user_id int, req proto.UpdateUserInfoReq) (int, error) { cur_user := dao.FindUserByID2(user_id) if user_id == req.ID { dao.UpdateUserByID3(user_id, req) //用户修改自己的信息,不能修改权限信息 return user_id, nil } else if cur_user.Role == "admin" { dao.UpdateUserByID2(req.ID, req) return req.ID, nil } else { return 0, nil } }