|
@@ -1 +1,62 @@
|
|
|
package service
|
|
|
+
|
|
|
+import (
|
|
|
+ "context"
|
|
|
+ "github.com/gogf/gf/v2/errors/gerror"
|
|
|
+ "github.com/gogf/gf/v2/frame/g"
|
|
|
+ "gof_ppw_api/internal/dao"
|
|
|
+ "gof_ppw_api/internal/model/do"
|
|
|
+ "gof_ppw_api/internal/model/entity"
|
|
|
+)
|
|
|
+
|
|
|
+var User = &UserService{}
|
|
|
+
|
|
|
+type UserService struct {
|
|
|
+ Service
|
|
|
+}
|
|
|
+
|
|
|
+// Create 创建用户
|
|
|
+func (p *UserService) Create(ctx context.Context, data map[string]interface{}) (err error) {
|
|
|
+ //事务
|
|
|
+ //return dao.User.Transaction(ctx, func(ctx context.Context, tx *gdb.TX) error {
|
|
|
+ // _, err = dao.User.Ctx(ctx).Data(data).Insert()
|
|
|
+ // return err
|
|
|
+ //})
|
|
|
+ _, err = dao.User.Ctx(ctx).Data(data).Insert()
|
|
|
+ return err
|
|
|
+}
|
|
|
+
|
|
|
+// Update 修改用户
|
|
|
+func (p *UserService) Update(ctx context.Context, data map[string]interface{}) (err error) {
|
|
|
+ _, err = dao.User.Ctx(ctx).Where("id", data["user_id"]).Data(data).Update()
|
|
|
+ return err
|
|
|
+}
|
|
|
+
|
|
|
+// Delete 删除用户
|
|
|
+func (p *UserService) Delete(ctx context.Context, data map[string]interface{}) (err error) {
|
|
|
+ _, err = dao.User.Ctx(ctx).Delete("id", data["user_id"])
|
|
|
+ return err
|
|
|
+}
|
|
|
+
|
|
|
+// Login 用户登录
|
|
|
+func (p *UserService) Login(ctx context.Context, data map[string]interface{}) (err error) {
|
|
|
+ var user *entity.User
|
|
|
+ err = dao.User.Ctx(ctx).Where(do.User{
|
|
|
+ UserName: data["user_name"],
|
|
|
+ Password: data["password"],
|
|
|
+ }).Scan(&user)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ if user == nil {
|
|
|
+ return gerror.New("用户名或密码错误")
|
|
|
+ }
|
|
|
+ _ = g.RequestFromCtx(ctx).Session.Set("user_id", user.Id)
|
|
|
+ return nil
|
|
|
+}
|
|
|
+
|
|
|
+// Logout 用户登出
|
|
|
+func (p *UserService) Logout(ctx context.Context) (err error) {
|
|
|
+ _ = g.RequestFromCtx(ctx).Session.Remove("user_id")
|
|
|
+ return nil
|
|
|
+}
|