caipin 3 éve
szülő
commit
88b4bf26ad

+ 9 - 2
dao/project_account_dao.go

@@ -151,8 +151,15 @@ func (d *ProjectAccountDao) Search(name string, projectId int) []models.CmProjec
 	}
 }
 
-func JlSync() {
-
+func (d *ProjectAccountDao) JlSync(accountList []map[string]interface{}) error {
+	// for _, data := range accountList {
+	// 	//if data.IsAdmin != 1 {
+	// 	account := comm.MakeProjectAccountVM(&data)
+
+	// 	accountListVM = append(accountListVM, account)
+	// 	//}
+	// }
+	return nil
 }
 
 // 新增

+ 1 - 1
lib/jlzf.go

@@ -85,7 +85,7 @@ func (j *Jlzf) GetAccountList(code string) ([]map[string]interface{}, error) {
 	fmt.Println(tokenString)
 
 	// 1-2.发送请求
-	if resultByte, err = utils.PullData("GET", j.AuthUrl+"/management/account/async?auth="+tokenString, ""); err != nil {
+	if resultByte, err = utils.PullData("GET", j.AuthUrl+"/management/account/sync?auth="+tokenString, ""); err != nil {
 		return nil, errors.New(fmt.Sprintf("计量错误,err= %s", err))
 	}
 

+ 1 - 1
services/jl_service.go

@@ -324,7 +324,7 @@ func (s *JlService) AccountUpdate(claimsData *viewmodels.Jl) error {
 		return errors.New("项目未找到")
 	}
 
-	newAccountData := s.accountDao.GetAccount(claimsData.NewAccount)
+	newAccountData := s.accountDao.GetAccountProjectId(claimsData.NewAccount, projectInfo.Id)
 	if newAccountData.Id != 0 {
 		return errors.New("项目管理 已存在该账号")
 	}

+ 3 - 1
services/login_service.go

@@ -82,7 +82,9 @@ func (s *loginService) ValidProjectAccount(loginData viewmodels.Login, writer ht
 	}
 	// 2.账号停用
 	if projectAccountInfo.Enable == 0 {
-		return nil, errors.New("该账号已被停用")
+		pa := &viewmodels.ProjectAccount{}
+		pa.Enable = 0
+		return pa, errors.New("该账号已被停用")
 	}
 
 	password := comm.CreatePasswordSign(loginData.Password, loginData.Account)

+ 4 - 5
services/project_account_service.go

@@ -9,7 +9,6 @@ package services
 import (
 	"encoding/json"
 	"errors"
-	"fmt"
 	"html"
 	"log"
 	"strconv"
@@ -408,16 +407,16 @@ func (s *projectAccountService) SyncAccountBs(projectId int) error {
 		return errors.New("项目不存在")
 	}
 
-	// 获得计量
+	// 获得计量 -TODO
 	Jlzf := lib.NewJlzf()
 	if accountList, err = Jlzf.GetAccountList(projectData.Code); err != nil {
 		return err
 	}
 
-	fmt.Println(accountList)
-
 	// 同步账号数据
-	// s.dao.JlSync(accountList)
+	if err = s.dao.JlSync(accountList); err != nil {
+		return err
+	}
 
 	return nil
 }

+ 34 - 5
web/external/jl_ex.go

@@ -10,6 +10,7 @@ import (
 	"fmt"
 
 	"github.com/kataras/iris/v12"
+	"github.com/spf13/viper"
 	"go.mod/services"
 	"go.mod/web/utils"
 	"go.mod/web/viewmodels"
@@ -107,21 +108,35 @@ func (c *JlEx) PostProjectAdd() {
 
 // 授权登陆
 func (c *JlEx) PostAuthLogin() {
+
+	debug := getEnvInfo("DEBUG")
+	AuthUrl := "https://jl.smartcost.com.cn"
+	if debug {
+		AuthUrl = "http://jlqa.smartcost.com.cn:7002"
+	}
+
 	// 1.获得数据
 	data := &viewmodels.Jl{}
 	if err := c.Ctx.ReadJSON(data); err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
+		// fmt.Sprintf("%s", err)
+		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err), "data": map[string]string{
+			"redirect": AuthUrl,
+		}})
 		return
 	}
 	// 1-1.校验是否存在TOKEN
 	if err := data.ValidateToken(); err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
+		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err), "data": map[string]string{
+			"redirect": AuthUrl,
+		}})
 		return
 	}
 	// 1-2.验证jwt
 	claims, err := utils.ValidateJwt(data.Token)
 	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
+		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err), "data": map[string]string{
+			"redirect": AuthUrl,
+		}})
 		return
 	}
 
@@ -131,14 +146,23 @@ func (c *JlEx) PostAuthLogin() {
 		Account: fmt.Sprintf("%s", claims["account"]),
 	}
 	if err := claimsData.ValidateProjectAdd(); err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
+		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err), "data": map[string]string{
+			"redirect": AuthUrl,
+		}})
 		return
 	}
 
 	JlService := services.NewJlService()
 	result, err := JlService.AuthLogin(claimsData, c.Ctx.ResponseWriter())
 	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
+		code := -1
+		if result.Enable == 0 {
+			// 计量跳转代表账号停用
+			code = 3
+		}
+		c.Ctx.JSON(iris.Map{"code": code, "msg": fmt.Sprintf("%s", err), "data": map[string]string{
+			"redirect": AuthUrl,
+		}})
 		return
 	}
 	c.Ctx.JSON(iris.Map{
@@ -191,3 +215,8 @@ func (c *JlEx) PostAccountUpdate() {
 		"data": "",
 	})
 }
+
+func getEnvInfo(env string) bool {
+	viper.AutomaticEnv()
+	return viper.GetBool(env)
+}