caipin 4 năm trước cách đây
mục cha
commit
ec8f96f3eb

+ 13 - 0
dao/manager_dao.go

@@ -37,6 +37,19 @@ func (d *ManagerDao) Get(id int) *models.CmManager {
 	}
 }
 
+//用户名获得数据
+func (d *ManagerDao) GetUserName(userName string) *models.CmManager {
+	data := &models.CmManager{Username: userName}
+	//Get取到值后,会自动赋值到data中
+	ok, err := d.engine.Get(data)
+	if ok && err == nil {
+		return data
+	} else {
+		data.Id = 0
+		return data
+	}
+}
+
 //获得全部管理员数据
 func (d *ManagerDao) GetAll() (datalist []models.CmManager, total int64) {
 

+ 30 - 3
services/backstage_service.go

@@ -8,14 +8,19 @@ package services
 
 import (
 	"errors"
+	"fmt"
 	"log"
 	"net/http"
 	"net/url"
+	"time"
 
 	"github.com/kataras/iris/v12"
 	"go.mod/comm"
 	"go.mod/conf"
+	"go.mod/dao"
+	"go.mod/datasource"
 	"go.mod/lib"
+	"go.mod/models"
 	"go.mod/web/viewmodels"
 )
 
@@ -38,14 +43,14 @@ type BackstageService interface {
 //返回service操作类
 type backstageService struct {
 	// projectAccountDao *dao.ProjectAccountDao
-	// projectDao        *dao.ProjectDao
+	managerDao *dao.ManagerDao
 }
 
 //创建项目用户service
 func NewBackstageService() BackstageService {
 	return &backstageService{
 		// projectAccountDao: dao.NewProjectAccountDao(datasource.InstanceDbMaster()),
-		// projectDao:        dao.NewProjectDao(datasource.InstanceDbMaster()),
+		managerDao: dao.NewManagerDao(datasource.InstanceDbMaster()),
 	}
 }
 
@@ -198,7 +203,29 @@ func (s *backstageService) ValidCldStaff(loginData viewmodels.StaffCld, writer h
 		return nil, errors.New(result.Msg)
 	}
 
-	// 2.写入登录态
+	fmt.Println(result)
+
+	// 2.cld账号写入管理员表
+	managerData := s.managerDao.GetUserName(result.Data.UserName)
+	if managerData.Id == 0 {
+		// 写入管理表
+		manager := &models.CmManager{}
+
+		manager.Username = result.Data.UserName
+
+		manager.CreateTime = time.Now()
+		manager.LastLogin = time.Now()
+		manager.Category = result.Data.Category
+		manager.Telephone = ""
+		manager.Email = ""
+		manager.Qq = ""
+		manager.Fixedphone = ""
+		manager.Position = ""
+
+		// err := s.managerDao.Add(project)
+	}
+
+	// 3.写入登录态
 	// 加密用户标识
 	identity, err := comm.AesEncrypt(result.Data.UserName, conf.CookieSecret)
 	if err != nil {

+ 1 - 0
services/project_service.go

@@ -240,6 +240,7 @@ func makeProjectVM(projectCM *models.CmProject) viewmodels.Project {
 	projectVM.StaffTelephone = projectCM.StaffTelephone
 	projectVM.UserId = userId
 	projectVM.UserAccount = projectCM.UserAccount
+	projectVM.Status = projectCM.Status
 
 	if !projectCM.CreateTime.IsZero() {
 		projectVM.CreateTime = projectCM.CreateTime.Format(conf.SysTimeform)

+ 1 - 0
web/backstage/login_bs.go

@@ -40,6 +40,7 @@ func (c *LoginBs) Post() {
 		c.Ctx.JSON(iris.Map{"code": -1, "msg": ErrMsg})
 		return
 	}
+
 	//验证登陆用户
 	Data, err := c.ServiceBackstage.ValidCldStaff(LoginData, c.Ctx.ResponseWriter())
 	if err != nil {

+ 1 - 1
web/backstage/project_bs.go

@@ -54,7 +54,7 @@ func (c *ProjectBs) GetList() {
 	// 获得项目信息
 	dataList, total := c.ServiceProject.GetListBs(pageData, InsideCategoryId)
 	data := map[string]interface{}{
-		"item":  dataList,
+		"items": dataList,
 		"total": total,
 	}
 	c.Ctx.JSON(iris.Map{

+ 2 - 2
web/routes/routes.go

@@ -34,7 +34,7 @@ func Configure(b *bootstrap.Bootstrapper) {
 	ProjectMessageService := services.NewProjectMessageService()
 	VersionService := services.NewVersionService()
 	backstageService := services.NewBackstageService()
-	managerService2 := services.NewManagerService()
+	managerService := services.NewManagerService()
 
 	//CSRF相关
 	b.Use(middleware.SetCsrf)
@@ -227,7 +227,7 @@ func Configure(b *bootstrap.Bootstrapper) {
 	backstageAccountCM.Handle(new(backstage.ProjectAccountBs))
 
 	managerCM := mvc.New(b.Party("/api/backstage/manager"))
-	managerCM.Register(managerService2)
+	managerCM.Register(managerService)
 	managerCM.Router.Use(middleware.SessionsBackstageAuth)
 	managerCM.Handle(new(backstage.ManagerBs))
 }

+ 1 - 0
web/viewmodels/project.go

@@ -25,6 +25,7 @@ type Project struct {
 	StaffQq        string `form:"staffQq" json:"staffQq"`
 	StaffPhone     string `form:"staffPhone" json:"staffPhone"`
 	StaffTelephone string `form:"staffTelephone" json:"staffTelephone"`
+	Status         int    `form:"status" json:"status"`
 
 	CreateTime       string `form:"createTime" json:"createTime"`
 	CreateName       string `form:"createName" json:"createName"`