caipin 4 år sedan
förälder
incheckning
43b7a3607e
2 ändrade filer med 42 tillägg och 29 borttagningar
  1. 41 28
      services/backstage_service.go
  2. 1 1
      web/backstage/project_bs.go

+ 41 - 28
services/backstage_service.go

@@ -192,40 +192,53 @@ func (s *backstageService) ValidRuleAccountPassword(ctx iris.Context) (viewmodel
 // 验证项目用户登陆相关
 func (s *backstageService) ValidCldStaff(loginData viewmodels.StaffCld, writer http.ResponseWriter) (*viewmodels.ResultCld, error) {
 
-	// 1.验证CLD账号密码
-	cld := lib.NewCld()
-	result, err := cld.LoginValid(loginData)
-	if err != nil {
-		return nil, err
-	}
-	if result.Code != 0 {
-		return nil, errors.New(result.Msg)
-	}
-
-	// 2.cld账号写入管理员表
-	managerData := s.managerDao.GetUserName(result.Data.UserName)
-	if managerData.Id == 0 {
-		// 写入管理表
-		manager := &models.CmManager{}
+	// 1.cld账号写入管理员表
+	managerData := s.managerDao.GetUserName(loginData.StaffName)
+	result := &lib.Result{}
 
-		manager.Username = result.Data.UserName
+	if managerData.Id != 0 && managerData.GroupId == 1 {
+		result.Data.UserName = "admin"
+		result.Data.Category = "admin"
 
-		manager.CreateTime = time.Now()
-		manager.UpdateTime = time.Now()
-		manager.LastLogin = time.Now()
-
-		manager.Category = result.Data.Category
-		manager.Office = result.Data.CategoryId
-		manager.Telephone = result.Data.Telephone
-		manager.Email = result.Data.Email
-		manager.Qq = result.Data.Qq
-		manager.Fixedphone = result.Data.Fixedphone
-		manager.Position = result.Data.Position
+		if !(managerData.Username == loginData.StaffName && managerData.Password == loginData.Password) {
+			return nil, errors.New("账号或者密码不正确")
+		}
 
-		err := s.managerDao.Create(manager)
+	} else {
+		// 1.验证CLD账号密码
+		cld := lib.NewCld()
+		result, err := cld.LoginValid(loginData)
 		if err != nil {
 			return nil, err
 		}
+		if result.Code != 0 {
+			return nil, errors.New(result.Msg)
+		}
+
+		if managerData.Id == 0 {
+			// 写入管理表
+			manager := &models.CmManager{}
+
+			manager.Username = result.Data.UserName
+
+			manager.CreateTime = time.Now()
+			manager.UpdateTime = time.Now()
+			manager.LastLogin = time.Now()
+
+			manager.Category = result.Data.Category
+			manager.Office = result.Data.CategoryId
+			manager.Telephone = result.Data.Telephone
+			manager.Email = result.Data.Email
+			manager.Qq = result.Data.Qq
+			manager.Fixedphone = result.Data.Fixedphone
+			manager.Position = result.Data.Position
+
+			err = s.managerDao.Create(manager)
+			if err != nil {
+				return nil, err
+			}
+		}
+
 	}
 
 	// 2-1

+ 1 - 1
web/backstage/project_bs.go

@@ -136,7 +136,7 @@ func (c *ProjectBs) GetCld() {
 	}
 	c.Ctx.JSON(iris.Map{
 		"code": 0,
-		"data": data,
+		"data": data["data"],
 		"msg":  "",
 	})
 }