houyaf 3 anni fa
parent
commit
10612e8c7f
2 ha cambiato i file con 50 aggiunte e 10 eliminazioni
  1. 18 0
      service/system/user_service.go
  2. 32 10
      web/controllers/user_controller.go

+ 18 - 0
service/system/user_service.go

@@ -6,6 +6,7 @@ import (
     "xps/datamodels"
     "xps/datasource"
     "xps/repositories/system"
+    "xps/utils"
     "xps/viewmodels"
 )
 
@@ -14,6 +15,8 @@ type UserService interface {
     GetById(ocId, groupId, userId int64) (*viewmodels.UserInfo, error)
     Create(ocTypeId int64, user *viewmodels.UserInfo) error
     Update(user *viewmodels.UserInfo) error
+    ResetPassword(ocId, userId int64) error
+    ChangeStatus(ocId, userId, status int64) error
     Delete(m map[string]interface{}) error
     IsUserNameExist(ocId int64, accountName string) (bool, error)
     IsUserPhoneExist(ocId int64, accountPhone string)(bool, error)
@@ -200,6 +203,21 @@ func (s *userService) Update(user *viewmodels.UserInfo) error {
     return err
 }
 
+func (s *userService) ResetPassword(ocId, userId int64) error {
+    pwd := utils.GetMD5String("888888")
+    data := &datamodels.Account{
+        Password: pwd,
+    }
+    return s.accountRepo.Update(ocId, userId, data)
+}
+
+func (s *userService) ChangeStatus(ocId, userId, status int64) error {
+    data := &datamodels.Account{
+        Status: status,
+    }
+    return s.accountRepo.Update(ocId, userId, data)
+}
+
 func (s *userService) Delete(m map[string]interface{}) error {
     err := s.accountRepo.Delete(m)
     return err

+ 32 - 10
web/controllers/user_controller.go

@@ -12,16 +12,18 @@ type UserController struct {
 }
 
 func (c *UserController) BeforeActivation(b mvc.BeforeActivation) {
-    b.Handle("GET",         "/page",                                    "GetPage"         )
-    b.Handle("GET",         "/{groupId:int64}/{accountId:int64}",       "GetById"         )
-    b.Handle("POST",        "/add",                                     "Create"          )
-    b.Handle("PUT",         "/update",                                  "Update"          )
-    b.Handle("DELETE",      "/{accountId:int64}",                       "DeleteById"      )
-    b.Handle("GET",         "/IsUserNameExist/{userName: string}",      "IsUserNameExist" )
-    b.Handle("GET",         "/IsUserPhoneExist/{userPhone: string}",    "IsUserPhoneExist")
-    b.Handle("GET",         "/IsStaffNoExist/{staffNo: string}",        "IsStaffNoExist"  )
-    b.Handle("GET",         "/IsEmailExist/{email: string}",            "IsEmailExist"    )
-    b.Handle("GET",         "/select",                                  "SelectUser"      )
+    b.Handle("GET",         "/page",                                        "GetPage"         )
+    b.Handle("GET",         "/{groupId:int64}/{accountId:int64}",           "GetById"         )
+    b.Handle("POST",        "/add",                                         "Create"          )
+    b.Handle("PUT",         "/update",                                      "Update"          )
+    b.Handle("PUT",         "/resetPassword/{userId:int64}",                "ResetPassword"   )
+    b.Handle("PUT",         "/updateStatus/{userId:int64}/{status:int64}",  "UpdateStatus"    )
+    b.Handle("DELETE",      "/{accountId:int64}",                           "DeleteById"      )
+    b.Handle("GET",         "/IsUserNameExist/{userName: string}",          "IsUserNameExist" )
+    b.Handle("GET",         "/IsUserPhoneExist/{userPhone: string}",        "IsUserPhoneExist")
+    b.Handle("GET",         "/IsStaffNoExist/{staffNo: string}",            "IsStaffNoExist"  )
+    b.Handle("GET",         "/IsEmailExist/{email: string}",                "IsEmailExist"    )
+    b.Handle("GET",         "/select",                                      "SelectUser"      )
 }
 
 func (c *UserController) GetPage() *JsonResult {
@@ -76,6 +78,26 @@ func (c *UserController) Update() *JsonResult {
     }
 }
 
+func (c *UserController) ResetPassword(userId int64)*JsonResult{
+    ocId := c.GetCurOcId()
+    err  := c.Service.ResetPassword(ocId, userId)
+    if err != nil {
+        return ResultErr(err.Error(), nil)
+    } else {
+        return ResultOk("密码重置成功", nil)
+    }
+}
+
+func (c *UserController) UpdateStatus(userId, status int64) *JsonResult{
+    ocId := c.GetCurOcId()
+    err  := c.Service.ChangeStatus(ocId, userId, status)
+    if err != nil {
+        return ResultErr(err.Error(), nil)
+    } else {
+        return ResultOk("状态变更成功", nil)
+    }
+}
+
 func (c *UserController) DeleteById(accountId int64) *JsonResult {
     ocId   := c.GetCurOcId()
     userId := c.GetCurUserId()