lanjianrong 4 vuotta sitten
vanhempi
commit
5dc484f21c

+ 0 - 257
services/backstage_service.go

@@ -1,257 +0,0 @@
-/*
- * @description:登陆相关数据操作
- * @Author: CP
- * @Date: 2020-09-02 09:56:28
- * @FilePath: \construction_management\services\backstage_service.go
- */
-package services
-
-import (
-	"errors"
-	"log"
-	"net/http"
-	"net/url"
-
-	"github.com/kataras/iris/v12"
-	"go.mod/comm"
-	"go.mod/conf"
-	"go.mod/lib"
-	"go.mod/web/viewmodels"
-)
-
-//定义项目用户Service接口
-type BackstageService interface {
-	ValidRuleLogin(ctx iris.Context) (viewmodels.StaffCld, error)
-	ValidCldStaff(loginData viewmodels.StaffCld, writer http.ResponseWriter) (*viewmodels.ResultCld, error)
-	ValidRuleProject(ctx iris.Context) (viewmodels.Project, error)
-	ValidRuleProjectAdd(ctx iris.Context) (viewmodels.Project, error)
-	ValidRuleProjectSave(ctx iris.Context) (viewmodels.Project, error)
-	ValidRuleAccountAdd(ctx iris.Context) (viewmodels.ProjectAccount, error)
-	ValidRuleAccountSave(ctx iris.Context) (viewmodels.ProjectAccount, error)
-	ValidRuleAccountEnable(ctx iris.Context) (viewmodels.ProjectAccount, error)
-	ValidRuleAccountPassword(ctx iris.Context) (viewmodels.ProjectAccount, error)
-
-	GetCldByCategoryId(categoryId string) (map[string]interface{}, error)
-	Out(ctx iris.Context) error
-}
-
-//返回service操作类
-type backstageService struct {
-	// projectAccountDao *dao.ProjectAccountDao
-	// projectDao        *dao.ProjectDao
-}
-
-//创建项目用户service
-func NewBackstageService() BackstageService {
-	return &backstageService{
-		// projectAccountDao: dao.NewProjectAccountDao(datasource.InstanceDbMaster()),
-		// projectDao:        dao.NewProjectDao(datasource.InstanceDbMaster()),
-	}
-}
-
-// 登陆验证
-func (s *backstageService) ValidRuleLogin(ctx iris.Context) (viewmodels.StaffCld, error) {
-	loginVaild := viewmodels.StaffCld{}
-	err := ctx.ReadJSON(&loginVaild)
-	if err != nil {
-		log.Println("ReadForm转换异常, error=", err)
-		return loginVaild, err
-	}
-
-	err = loginVaild.ValidateLogin()
-	if err != nil {
-		log.Println("登录验证, error=", err)
-		return loginVaild, err
-	}
-	return loginVaild, nil
-}
-
-// 验证项目
-func (s *backstageService) ValidRuleProject(ctx iris.Context) (viewmodels.Project, error) {
-	projectVaild := viewmodels.Project{}
-	err := ctx.ReadForm(&projectVaild)
-	if err != nil {
-		log.Println("ReadForm转换异常, error=", err)
-		return projectVaild, err
-	}
-
-	err = projectVaild.ValidateId()
-	if err != nil {
-		log.Println("验证项目, error=", err)
-		return projectVaild, err
-	}
-	return projectVaild, nil
-}
-
-// 验证项目
-func (s *backstageService) ValidRuleProjectAdd(ctx iris.Context) (viewmodels.Project, error) {
-	projectVaild := viewmodels.Project{}
-	err := ctx.ReadJSON(&projectVaild)
-	if err != nil {
-		log.Println("ReadForm转换异常, error=", err)
-		return projectVaild, err
-	}
-
-	err = projectVaild.ValidateAdd()
-	if err != nil {
-		log.Println("添加项目验证, error=", err)
-		return projectVaild, err
-	}
-	return projectVaild, nil
-}
-
-// 项目保存
-func (s *backstageService) ValidRuleProjectSave(ctx iris.Context) (viewmodels.Project, error) {
-	projectVaild := viewmodels.Project{}
-	err := ctx.ReadJSON(&projectVaild)
-	if err != nil {
-		log.Println("ReadForm转换异常, error=", err)
-		return projectVaild, err
-	}
-
-	err = projectVaild.ValidateSave()
-	if err != nil {
-		log.Println("添加项目验证, error=", err)
-		return projectVaild, err
-	}
-	return projectVaild, nil
-}
-
-// 验证账号新增
-func (s *backstageService) ValidRuleAccountAdd(ctx iris.Context) (viewmodels.ProjectAccount, error) {
-	projectVaild := viewmodels.ProjectAccount{}
-	err := ctx.ReadJSON(&projectVaild)
-	if err != nil {
-		log.Println("ReadForm转换异常, error=", err)
-		return projectVaild, err
-	}
-
-	err = projectVaild.ValidateAddBs()
-	if err != nil {
-		log.Println("添加账号验证, error=", err)
-		return projectVaild, err
-	}
-	return projectVaild, nil
-}
-
-// 验证账号编辑
-func (s *backstageService) ValidRuleAccountSave(ctx iris.Context) (viewmodels.ProjectAccount, error) {
-	projectVaild := viewmodels.ProjectAccount{}
-	err := ctx.ReadJSON(&projectVaild)
-	if err != nil {
-		log.Println("ReadForm转换异常, error=", err)
-		return projectVaild, err
-	}
-
-	err = projectVaild.ValidateSaveBs()
-	if err != nil {
-		log.Println("编辑账号验证, error=", err)
-		return projectVaild, err
-	}
-	return projectVaild, nil
-}
-
-// 验证账号启用
-func (s *backstageService) ValidRuleAccountEnable(ctx iris.Context) (viewmodels.ProjectAccount, error) {
-	accounttVaild := viewmodels.ProjectAccount{}
-	err := ctx.ReadForm(&accounttVaild)
-	if err != nil {
-		log.Println("ReadForm转换异常, error=", err)
-		return accounttVaild, err
-	}
-
-	err = accounttVaild.ValidateEnableBs()
-	if err != nil {
-		log.Println("编辑账号验证, error=", err)
-		return accounttVaild, err
-	}
-	return accounttVaild, nil
-}
-
-// 验证账号启用
-func (s *backstageService) ValidRuleAccountPassword(ctx iris.Context) (viewmodels.ProjectAccount, error) {
-	accounttVaild := viewmodels.ProjectAccount{}
-	err := ctx.ReadForm(&accounttVaild)
-	if err != nil {
-		log.Println("ReadForm转换异常, error=", err)
-		return accounttVaild, err
-	}
-
-	err = accounttVaild.ValidatePasswordBs()
-	if err != nil {
-		log.Println("账号密码验证, error=", err)
-		return accounttVaild, err
-	}
-	return accounttVaild, nil
-}
-
-// 验证项目用户登陆相关
-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.写入登录态
-	// 加密用户标识
-	identity, err := comm.AesEncrypt(result.Data.UserName, conf.CookieSecret)
-	if err != nil {
-		return nil, err
-	}
-	// 加密项目标识
-	category, err := comm.AesEncrypt(result.Data.Category, conf.CookieSecret)
-	if err != nil {
-		return nil, err
-	}
-
-	digitalToken := comm.CreateSign(conf.CookieSecret + identity)
-
-	// 设置cookie
-	maxAge := 60 * 60 * 24 * 7
-	params := url.Values{}
-	params.Add("identity", identity)
-	params.Add("attachedIdentity", category)
-	params.Add("digitalToken", digitalToken)
-	c := &http.Cookie{
-		Name:     "cmBackstage",
-		Value:    params.Encode(),
-		Path:     "/",
-		MaxAge:   maxAge,
-		HttpOnly: true,
-	}
-	http.SetCookie(writer, c)
-
-	// staffCld := &viewmodels.StaffCld{}
-	// staffCld.Category = result.Data.Category
-	// staffCld.StaffName = result.Data.UserName
-
-	return &result.Data, nil
-}
-
-// 登出
-func (s *backstageService) Out(ctx iris.Context) error {
-	// 移除cookie
-	ctx.RemoveCookie("cmBackstage")
-	return nil
-}
-
-// 获得cld办事处和员工 列表
-func (s *backstageService) GetCldByCategoryId(categoryId string) (map[string]interface{}, error) {
-	cld := lib.NewCld()
-
-	result, err := cld.GetList(categoryId)
-	if err != nil {
-		return nil, err
-	}
-
-	if result["code"].(float64) != 0 {
-		return nil, errors.New(result["code"].(string))
-	}
-	return result, nil
-}

+ 0 - 181
services/bid_account_service.go

@@ -1,181 +0,0 @@
-/*
- * @description:标段账号相关数据操作
- * @Author: CP
- * @Date: 2020-10-22 16:13:32
- * @FilePath: \construction_management\services\bid_account_service.go
- */
-package services
-
-import (
-	"errors"
-	"log"
-
-	"github.com/kataras/iris/v12"
-	"go.mod/dao"
-	"go.mod/datasource"
-	"go.mod/web/utils"
-	"go.mod/web/viewmodels"
-)
-
-//定义项目用户Service接口
-type BidAccountService interface {
-	ValidRule(ctx iris.Context) (viewmodels.BidAccount, error)
-	ValidRuleDelete(ctx iris.Context) (viewmodels.BidAccount, error)
-	Create(viewBidAccount viewmodels.BidAccount, projectId int, accountId int) error
-	Delete(viewBidAccount viewmodels.BidAccount, projectId int) error
-	GetPermission(accountId int, bidsectionId int, projectId int) (viewmodels.PermissionView, error)
-}
-
-//返回service操作类
-type bidAccountService struct {
-	projectAccountDao *dao.ProjectAccountDao
-	projectDao        *dao.ProjectDao
-	bidsectionDao     *dao.BidsectionDao
-	treeDao           *dao.TreeDao
-	bidAccountDao     *dao.BidAccountDao
-	permissionDao     *dao.PermissionAccountDao
-}
-
-//创建项目用户service
-func NewBidAccountService() BidAccountService {
-	return &bidAccountService{
-		projectAccountDao: dao.NewProjectAccountDao(datasource.InstanceDbMaster()),
-		projectDao:        dao.NewProjectDao(datasource.InstanceDbMaster()),
-		bidsectionDao:     dao.NewBidsectionDao(datasource.InstanceDbMaster()),
-		treeDao:           dao.NewTreeDao(datasource.InstanceDbMaster()),
-		bidAccountDao:     dao.NewBidAccountDao(datasource.InstanceDbMaster()),
-		permissionDao:     dao.NewPermissionAccountDao(datasource.InstanceDbMaster()),
-	}
-}
-
-// 登陆验证
-func (s *bidAccountService) ValidRule(ctx iris.Context) (viewmodels.BidAccount, error) {
-	bidAccountVaild := viewmodels.BidAccount{}
-	err := ctx.ReadJSON(&bidAccountVaild)
-	if err != nil {
-		log.Println("ReadForm转换异常, error=", err)
-		return bidAccountVaild, err
-	}
-
-	err = bidAccountVaild.Validate()
-	if err != nil {
-		log.Println("登录验证, error=", err)
-		return bidAccountVaild, err
-	}
-	return bidAccountVaild, nil
-}
-
-// 删除标段关系用户验证
-func (s *bidAccountService) ValidRuleDelete(ctx iris.Context) (viewmodels.BidAccount, error) {
-	bidAccountVaild := viewmodels.BidAccount{}
-	err := ctx.ReadForm(&bidAccountVaild)
-	if err != nil {
-		log.Println("ReadForm转换异常, error=", err)
-		return bidAccountVaild, err
-	}
-
-	err = bidAccountVaild.Validate()
-	if err != nil {
-		log.Println("登录验证, error=", err)
-		return bidAccountVaild, err
-	}
-	return bidAccountVaild, nil
-}
-
-// 获取当前标段的权限
-func (s *bidAccountService) GetPermission(accountId int, bidsectionId int, projectId int) (viewmodels.PermissionView, error) {
-	account := s.projectAccountDao.Get(accountId, projectId)
-	var isAdmin bool
-	if account.IsAdmin == 1 {
-		isAdmin = true
-	} else {
-		isAdmin = false
-	}
-	data, err := s.permissionDao.GetPermissionWithAccountId(accountId, bidsectionId, isAdmin)
-	return data, err
-}
-
-// 新增标段于账号的关系
-func (s *bidAccountService) Create(viewBidAccount viewmodels.BidAccount, projectId int, loginAccountId int) error {
-	// 写入关系表-标段的成员数量-账号表中标段ID
-	// 1.检查账号合法性
-	accountId, err := utils.GetDecryptId(viewBidAccount.AccountId)
-	if err != nil {
-		return err
-	}
-	if loginAccountId == accountId {
-		return errors.New("不能添加自己")
-	}
-	accountData := s.projectAccountDao.Get(accountId, projectId)
-	if accountData.Id == 0 {
-		return errors.New("添加的账号不合法")
-	}
-	// 2.检查标段合法性
-	bidsectionId, err := utils.GetDecryptId(viewBidAccount.BidsectionId)
-	if err != nil {
-		return err
-	}
-	bidsection := s.bidsectionDao.Get(bidsectionId, projectId)
-	if bidsection.Id == 0 {
-		return errors.New("标段不合法")
-	}
-	// 3.检查目录的合法性
-	// 3-1标段ID,,项目ID
-	treeData := s.treeDao.GetBidParentId(bidsectionId, projectId)
-	// 3-2获得目录ID
-	if treeData.Id == 0 {
-		return errors.New("目录不合法")
-	}
-	treeId := treeData.Id
-
-	// 4.检查账号是否已经添加过
-	bidAccountData := s.bidAccountDao.GetAccountId(projectId, bidsectionId, accountId)
-	if bidAccountData.Id != 0 {
-		return errors.New("已添加过该账号")
-	}
-
-	// 新增成员到标段
-	err = s.bidAccountDao.Create(bidsectionId, accountData, treeId, projectId)
-	if err != nil {
-		return err
-	}
-	return nil
-}
-
-//移除标段成员
-func (s *bidAccountService) Delete(viewBidAccount viewmodels.BidAccount, projectId int) error {
-	// 1.检查账号合法性
-	accountId, err := utils.GetDecryptId(viewBidAccount.AccountId)
-	if err != nil {
-		return err
-	}
-	accountData := s.projectAccountDao.Get(accountId, projectId)
-	if accountData.Id == 0 {
-		return errors.New("添加的账号不合法")
-	}
-	// 1-2 标段关系中是否有改账号 TODO
-	// 2.检查标段合法性
-	bidsectionId, err := utils.GetDecryptId(viewBidAccount.BidsectionId)
-	if err != nil {
-		return err
-	}
-	bidsection := s.bidsectionDao.Get(bidsectionId, projectId)
-	if bidsection.Id == 0 {
-		return errors.New("标段不合法")
-	}
-	// 3.检查目录的合法性
-	// 3-1标段ID,,项目ID
-	treeData := s.treeDao.GetBidParentId(bidsectionId, projectId)
-	// 3-2获得目录ID
-	if treeData.Id == 0 {
-		return errors.New("目录不合法")
-	}
-	treeId := treeData.Id
-
-	// 删除成员到标段
-	err = s.bidAccountDao.Delete(bidsectionId, accountData, treeId, projectId)
-	if err != nil {
-		return err
-	}
-	return nil
-}

+ 0 - 116
services/bidsection_service.go

@@ -1,116 +0,0 @@
-/*
- * @description: 标段相关数据操作相关
- * @Author: CP
- * @Date: 2020-09-28 10:31:31
- * @FilePath: \construction_management\services\bidsection_service.go
- */
-package services
-
-import (
-	"errors"
-	"fmt"
-	"log"
-	"strconv"
-	"time"
-
-	"github.com/kataras/iris/v12"
-	"go.mod/dao"
-	"go.mod/datasource"
-	"go.mod/models"
-	"go.mod/web/utils"
-	"go.mod/web/viewmodels"
-)
-
-//定义标段Service接口
-type BidsectionService interface {
-	ValidRule(iris.Context) (viewmodels.Bidsection, error)
-	Create(viewmodels.Bidsection) error
-}
-
-//返回service操作类
-type bidsectionService struct {
-	dao     *dao.BidsectionDao
-	treeDao *dao.TreeDao
-}
-
-//创建标段service
-func NewBidsectionService() BidsectionService {
-	return &bidsectionService{
-		dao:     dao.NewBidsectionDao(datasource.InstanceDbMaster()),
-		treeDao: dao.NewTreeDao(datasource.InstanceDbMaster()),
-	}
-}
-
-// 文件夹规则验证
-func (s *bidsectionService) ValidRule(ctx iris.Context) (viewmodels.Bidsection, error) {
-	bidsectionVaild := viewmodels.Bidsection{}
-	err := ctx.ReadJSON(&bidsectionVaild)
-	if err != nil {
-		log.Println("folder-ValidRule-ReadForm转换异常, error=", err)
-		return bidsectionVaild, err
-	}
-
-	err = bidsectionVaild.Validate()
-	if err != nil {
-		log.Println("标段验证, error=", err)
-		return bidsectionVaild, err
-	}
-
-	return bidsectionVaild, nil
-}
-
-// 新增一个标段
-func (s *bidsectionService) Create(data viewmodels.Bidsection) error {
-	// 类型校验
-	folder := models.CmTree{}
-	folder.Name = data.Name
-	ProjectId, err := strconv.Atoi(data.ProjectId)
-	if err != nil {
-		return err
-	}
-
-	// 获得该目录ID
-	Id, err := utils.GetDecryptId(data.FolderId)
-	if err != nil {
-		return err
-	}
-
-	// 该目录中是否有目录 -判断是否是叶子节点--TODO
-	folderList := s.treeDao.GetChildFolder(Id)
-	if len(folderList) > 0 {
-		return errors.New("该目录中存在其他目录,不能新增标段")
-	}
-
-	// 创建在树中的标段
-	// 获得该深度的文件夹最大序号
-	serial := 0
-	treeNode := s.treeDao.Get(Id, ProjectId)
-	if treeNode.Id == 0 {
-		return errors.New("上级目录不正确")
-	}
-	depth := treeNode.Depth + 1
-	attribution := fmt.Sprintf("%s%d-", treeNode.Attribution, treeNode.Serial)
-
-	datalist := s.treeDao.GetALLDepthByAttribution(depth, ProjectId, attribution)
-	maxIndex := len(datalist)
-	if maxIndex != 0 {
-		serial = datalist[maxIndex-1].Serial + 1
-	}
-	// 设置归属
-	folder.Attribution = attribution //treeNode.Attribution + strconv.Itoa(treeNode.Serial) + "-"
-	folder.ParentId = Id
-
-	folder.ProjectId = ProjectId
-	folder.Serial = serial
-	folder.Depth = depth
-	folder.Isfolder = 0
-	folder.CreateTime = time.Now()
-	folder.UpdateTime = time.Now()
-
-	// 创建标段和标段在树中的联系
-	err = s.dao.Create(&folder)
-	if err != nil {
-		return err
-	}
-	return nil
-}

+ 0 - 53
services/manager_service.go

@@ -1,53 +0,0 @@
-/*
- * @description: 管理员数据处理
- * @Author: CP
- * @Date: 2020-08-20 17:08:38
- * @FilePath: \construction_management\services\manager_service.go
- */
-package services
-
-import (
-	"go.mod/dao"
-	"go.mod/datasource"
-	"go.mod/models"
-)
-
-//定义管理员Service接口
-type ManagerService interface {
-	GetAll() []models.CmManager
-	CountAll() int64
-	Get(id int) *models.CmManager
-	Update(data *models.CmManager, columns []string) error
-	Create(data *models.CmManager) error
-}
-
-//返回service操作类
-type managerService struct {
-	dao *dao.ManagerDao
-}
-
-//创建管理员service
-func NewManagerService() ManagerService {
-	return &managerService{
-		dao: dao.NewManagerDao(datasource.InstanceDbMaster()),
-	}
-}
-
-//实现getall接口
-func (s *managerService) GetAll() []models.CmManager {
-	return s.dao.GetAll()
-}
-
-func (s *managerService) CountAll() int64 {
-	return s.dao.CountAll()
-}
-
-func (s *managerService) Get(id int) *models.CmManager {
-	return s.dao.Get(id)
-}
-func (s *managerService) Update(data *models.CmManager, columns []string) error {
-	return s.dao.Update(data, columns)
-}
-func (s *managerService) Create(data *models.CmManager) error {
-	return s.dao.Create(data)
-}

+ 0 - 63
services/project_message_service.go

@@ -1,63 +0,0 @@
-/*
- * @description: 项目相关数据处理
- * @Author: CP
- * @Date: 2020-09-04 14:42:27
- * @FilePath: \construction_management\services\project_message_service.go
- */
-package services
-
-import (
-	"strconv"
-
-	"go.mod/comm"
-	"go.mod/conf"
-	"go.mod/dao"
-	"go.mod/datasource"
-	"go.mod/web/viewmodels"
-)
-
-//定义项目Service接口
-type ProjectMessageService interface {
-	GetAll(projectId int, accountId int) []*viewmodels.ProjectMessage
-}
-
-//返回service操作类
-type projectMessageService struct {
-	projectMessagedao *dao.ProjectMessageDao
-}
-
-//创建项目service
-func NewProjectMessageService() ProjectMessageService {
-	return &projectMessageService{
-		projectMessagedao: dao.NewProjectMessageDao(datasource.InstanceDbMaster()),
-	}
-}
-
-// 获得需要关注人
-func (s *projectMessageService) GetAll(projectId int, accountId int) []*viewmodels.ProjectMessage {
-	dataList := s.projectMessagedao.GetAll(projectId, accountId)
-
-	projectMessageVM := make([]*viewmodels.ProjectMessage, 0)
-	for _, item := range dataList {
-		viewProjectMessage := &viewmodels.ProjectMessage{}
-		id, _ := comm.AesEncrypt(strconv.Itoa(item.Id), conf.SignSecret)
-		projectId, _ := comm.AesEncrypt(strconv.Itoa(item.ProjectId), conf.SignSecret)
-		bidsectionId, _ := comm.AesEncrypt(strconv.Itoa(item.BidsectionId), conf.SignSecret)
-		accountId, _ := comm.AesEncrypt(strconv.Itoa(item.AccountId), conf.SignSecret)
-		dataId, _ := comm.AesEncrypt(strconv.Itoa(item.DataId), conf.SignSecret)
-
-		viewProjectMessage.Id = id
-		viewProjectMessage.ProjectId = projectId
-		viewProjectMessage.BidsectionId = bidsectionId
-		viewProjectMessage.AccountId = accountId
-		viewProjectMessage.DataType = item.DataType
-		viewProjectMessage.DataId = dataId
-		viewProjectMessage.Title = item.Title
-		viewProjectMessage.Content = item.Content
-		viewProjectMessage.CreateTime = item.CreateTime.Format(conf.SysTimeform)
-
-		projectMessageVM = append(projectMessageVM, viewProjectMessage)
-	}
-	// data, err := s.permissionDao.GetPermissionWithAccountId(accountId, bidsectionId)
-	return projectMessageVM
-}

+ 0 - 280
services/project_service.go

@@ -1,280 +0,0 @@
-/*
- * @description: 项目相关数据处理
- * @Author: CP
- * @Date: 2020-09-04 14:42:27
- * @FilePath: \construction_management\services\project_service.go
- */
-package services
-
-import (
-	"errors"
-	"html"
-	"log"
-	"strconv"
-	"time"
-
-	"github.com/kataras/iris/v12"
-	"go.mod/comm"
-	"go.mod/conf"
-	"go.mod/dao"
-	"go.mod/datasource"
-	"go.mod/models"
-	"go.mod/web/viewmodels"
-)
-
-//定义项目Service接口
-type ProjectService interface {
-	//ValidManager(code string, account string, password string) error
-	ValidRule(iris.Context) (viewmodels.Project, error)
-	ValidRulePage(iris.Context) (viewmodels.ProjectPage, error)
-	ValidRuleId(ctx iris.Context) (viewmodels.Project, error)
-
-	Get(projectId int) (*viewmodels.Project, error)
-	GetList(page int, size int) []viewmodels.Project
-	GetName(code string) []viewmodels.Project
-	Save(projectId int, projectVM viewmodels.Project) error
-	Add(projectVM viewmodels.Project) error
-	SaveBs(projectVM viewmodels.Project, id int) error
-}
-
-//返回service操作类
-type projectService struct {
-	dao       *dao.ProjectDao
-	validSave string
-}
-
-//创建项目service
-func NewProjectService() ProjectService {
-	return &projectService{
-		dao:       dao.NewProjectDao(datasource.InstanceDbMaster()),
-		validSave: "/api/projectSetting/project/save",
-	}
-}
-
-func (s *projectService) ValidRulePage(ctx iris.Context) (viewmodels.ProjectPage, error) {
-	projectVaild := viewmodels.ProjectPage{}
-	err := ctx.ReadForm(&projectVaild)
-	if err != nil {
-		log.Println("folder-ValidRule-ReadForm转换异常, error=", err)
-		return projectVaild, err
-	}
-
-	err = projectVaild.ValidatePage()
-	if err != nil {
-		log.Println("参数验证错误, error=", err)
-		return projectVaild, err
-	}
-
-	return projectVaild, nil
-}
-
-// 验证项目
-func (s *projectService) ValidRuleId(ctx iris.Context) (viewmodels.Project, error) {
-	projectVaild := viewmodels.Project{}
-	err := ctx.ReadForm(&projectVaild)
-	if err != nil {
-		log.Println("ReadForm转换异常, error=", err)
-		return projectVaild, err
-	}
-
-	err = projectVaild.ValidateId()
-	if err != nil {
-		log.Println("验证项目, error=", err)
-		return projectVaild, err
-	}
-	return projectVaild, nil
-}
-
-// 验证项目项的内容
-func (s *projectService) ValidRule(ctx iris.Context) (viewmodels.Project, error) {
-	projectVaild := viewmodels.Project{}
-	var err error
-	if ctx.Method() == "POST" {
-		err = ctx.ReadJSON(&projectVaild)
-		if err != nil {
-			log.Println("project-ValidRule-ReadForm转换异常, error=", err)
-			return projectVaild, err
-		}
-	} else {
-		err = ctx.ReadForm(&projectVaild)
-		if err != nil {
-			log.Println("project-ValidRule-ReadForm转换异常, error=", err)
-			return projectVaild, err
-		}
-	}
-
-	if ctx.Path() == s.validSave {
-		err = projectVaild.ValidateName()
-	} else {
-		err = projectVaild.Validate()
-	}
-
-	if err != nil {
-		log.Println("项目信息验证, error=", err)
-		return projectVaild, err
-	}
-
-	projectVaild.Code = html.EscapeString(projectVaild.Code)
-	projectVaild.Name = html.EscapeString(projectVaild.Name)
-
-	return projectVaild, nil
-}
-
-// ID获得项目信息-TODO
-func (s *projectService) Get(projectId int) (*viewmodels.Project, error) {
-	data, err := s.dao.FindById(projectId)
-	if err != nil {
-		return nil, errors.New("获得项目详情出错")
-	}
-	project := makeProjectVM(data)
-
-	return &project, nil
-}
-
-// 获得一组项目信息 -项目编号
-func (s *projectService) GetList(page int, size int) []viewmodels.Project {
-	if size > 100 {
-		size = 100
-	}
-	datalist := make([]viewmodels.Project, 0)
-	projectData := s.dao.GetPage(page, size)
-	for _, data := range projectData {
-		projectVM := makeProjectVM(&data)
-		datalist = append(datalist, projectVM)
-	}
-	return datalist
-}
-
-// 获得项目名称
-func (s *projectService) GetName(code string) []viewmodels.Project {
-	datalist := make([]viewmodels.Project, 0)
-	if code != "" {
-		projectData := s.dao.GetListByCode(code)
-		for _, data := range projectData {
-			projectVM := makeProjectNameVM(&data)
-			datalist = append(datalist, projectVM)
-		}
-		return datalist
-	}
-	return datalist
-}
-
-// 保存项目信息
-func (s *projectService) Save(id int, projectVM viewmodels.Project) error {
-	project := models.CmProject{}
-	project.Id = id
-	project.Name = projectVM.Name
-
-	err := s.dao.Update(&project, []string{"Name"})
-
-	return err
-}
-
-// 新增项目
-func (s *projectService) Add(projectVM viewmodels.Project) error {
-	project := &models.CmProject{}
-	project.Name = projectVM.Name
-	project.Code = projectVM.Code
-	project.CategoryId = projectVM.CategoryId
-	project.Category = projectVM.Category
-	project.StaffId = projectVM.StaffId
-	project.StaffName = projectVM.StaffName
-	project.CreateTime = time.Now()
-	project.CreateName = projectVM.CreateName
-	project.CreateCategory = projectVM.CreateCategory
-	project.Remark = projectVM.Remark
-
-	err := s.dao.Add(project)
-	return err
-}
-
-// 更新项目-后台
-func (s *projectService) SaveBs(projectVM viewmodels.Project, id int) error {
-	project := &models.CmProject{}
-	project.Id = id
-	project.Name = projectVM.Name
-	project.InsideCategoryid = projectVM.InsideCategoryId
-	project.InsideCategory = projectVM.InsideCategory
-
-	project.CategoryId = projectVM.CategoryId
-	project.Category = projectVM.Category
-
-	project.StaffId = projectVM.StaffId
-	project.StaffName = projectVM.StaffName
-
-	project.Remark = projectVM.Remark
-
-	err := s.dao.Update(project, []string{"Name", "InsideCategoryid", "InsideCategory", "CategoryId", "Category", "StaffId", "StaffName", "Remark"})
-
-	return err
-}
-
-// 构造视图层models
-func makeProjectVM(projectCM *models.CmProject) viewmodels.Project {
-	projectVM := viewmodels.Project{}
-	id, _ := comm.AesEncrypt(strconv.Itoa(projectCM.Id), conf.SignSecret)
-	userId, _ := comm.AesEncrypt(strconv.Itoa(projectCM.UserId), conf.SignSecret)
-
-	projectVM.Id = id
-	projectVM.Code = projectCM.Code
-	projectVM.Name = projectCM.Name
-	projectVM.Category = projectCM.Category
-	projectVM.StaffName = projectCM.StaffName
-	projectVM.UserId = userId
-	projectVM.UserAccount = projectCM.UserAccount
-	if !projectCM.CreateTime.IsZero() {
-		projectVM.CreateTime = projectCM.CreateTime.Format(conf.SysTimeform)
-	}
-
-	return projectVM
-}
-
-func makeProjectNameVM(projectCM *models.CmProject) viewmodels.Project {
-	projectVM := viewmodels.Project{}
-	projectVM.Code = projectCM.Code
-	projectVM.Name = projectCM.Name
-	return projectVM
-}
-
-// 获得单个项目信息-ID 编号
-// func (s *projectService) Get(projectVM *viewmodels.Project) {
-// 	projectCM := models.CmProject{}
-
-// 	// 项目ID或编号
-// 	if projectVM.Id == "" && projectVM.Code == "" {
-// 		projectVM.Id = "0"
-// 		return
-// 		//return errors.New("项目ID或者项目编号不存在")
-// 	}
-
-// 	if projectVM.Id != "" {
-// 		projectId, err := comm.AesDecrypt(projectVM.Id, conf.SignSecret)
-// 		if err != nil {
-// 			projectVM.Id = "0"
-// 			return
-// 		}
-// 		projectIdInt, err := strconv.Atoi(projectId)
-// 		if err != nil {
-// 			projectVM.Id = "0"
-// 			return
-// 		}
-// 		if projectIdInt != 0 {
-// 			projectCM.Id = projectIdInt
-// 		}
-// 	} else if projectVM.Code != "" {
-// 		projectCM.Code = projectVM.Code
-// 	} else {
-// 		projectVM.Id = "0"
-// 		return
-// 	}
-
-// 	s.dao.Get(&projectCM)
-// 	if projectCM.Id != 0 {
-// 		// 项目信息补充完整
-// 		projectB := makeProjectVM(&projectCM)
-// 		projectVM = &projectB
-// 	} else {
-// 		projectVM.Id = "0"
-// 		return
-// 	}
-// }

+ 0 - 672
services/tree_service.go

@@ -1,672 +0,0 @@
-/*
- * @description:层级文件夹数据操作相关
- * @Author: CP
- * @Date: 2020-09-11 14:43:58
- * @FilePath: \construction_management\services\tree_service.go
- */
-package services
-
-import (
-	"encoding/json"
-	"errors"
-	"fmt"
-	"log"
-	"strconv"
-	"time"
-
-	"github.com/kataras/iris/v12"
-	"go.mod/comm"
-	"go.mod/conf"
-	"go.mod/dao"
-	"go.mod/datasource"
-	"go.mod/models"
-	"go.mod/web/viewmodels"
-)
-
-//定义项目Service接口
-type TreeService interface {
-	//ValidManager(code string, account string, password string) error
-	ValidRule(ctx iris.Context) (viewmodels.Tree, error)
-	ValidRuleBidsectionType(ctx iris.Context) (viewmodels.Permission, error)
-
-	Create(data viewmodels.Tree) error
-	GetAllProject(projectId int) *viewmodels.Tree
-	GetAllContract(projectId int, account *models.CmProjectAccount, bidsectionType int) *viewmodels.FolderContract
-	Rename(treevm viewmodels.Tree, projectId int) error
-	GetFolderAndBid(id int, projectId int) ([]models.CmTree, error)
-	DeleteFolderAndBid(id int, projectId int) error
-	Move(id int, moveId int, projectId int) error
-}
-
-//返回service操作类
-type treeService struct {
-	dao                  *dao.TreeDao
-	permissionAccountDao *dao.PermissionAccountDao
-}
-
-//创建项目service
-func NewTreeService() TreeService {
-	return &treeService{
-		dao:                  dao.NewTreeDao(datasource.InstanceDbMaster()),
-		permissionAccountDao: dao.NewPermissionAccountDao(datasource.InstanceDbMaster()),
-	}
-}
-
-// 文件夹规则验证
-func (s *treeService) ValidRule(ctx iris.Context) (viewmodels.Tree, error) {
-	folderVaild := viewmodels.Tree{}
-	err := ctx.ReadJSON(&folderVaild)
-	if err != nil {
-		log.Println("folder-ValidRule-ReadForm转换异常, error=", err)
-		return folderVaild, err
-	}
-
-	err = folderVaild.Validate()
-	if err != nil {
-		log.Println("文件夹验证, error=", err)
-		return folderVaild, err
-	}
-
-	return folderVaild, nil
-}
-
-// 文件夹规则验证
-func (s *treeService) ValidRuleBidsectionType(ctx iris.Context) (viewmodels.Permission, error) {
-	folderVaild := viewmodels.Permission{}
-	err := ctx.ReadForm(&folderVaild)
-	if err != nil {
-		log.Println("folder-ValidRule-ReadForm转换异常, error=", err)
-		return folderVaild, err
-	}
-
-	err = folderVaild.ValidateType()
-	if err != nil {
-		log.Println("请求标段类型验证, error=", err)
-		return folderVaild, err
-	}
-
-	return folderVaild, nil
-}
-
-// 获得项目下 相关文件夹-整个树结构
-func (s *treeService) GetAllProject(projectId int) *viewmodels.Tree {
-	datalist := s.dao.GetAllTree(projectId)
-	folderlist := make([]*viewmodels.Tree, 0)
-	// 生成根
-	folder := &viewmodels.Tree{}
-	id, _ := comm.AesEncrypt(strconv.Itoa(0), conf.SignSecret)
-	parentId, _ := comm.AesEncrypt(strconv.Itoa(-1), conf.SignSecret)
-	folder.Id = id
-	folder.Name = "根目录"
-	folder.Isfolder = 1
-	folder.ParentId = parentId
-	folder.Children = make([]*viewmodels.Tree, 0)
-	folderlist = append(folderlist, folder)
-	// 加入数据
-	for _, data := range datalist {
-		folder := &viewmodels.Tree{}
-		//folder.Id = comm.Encrypt([]byte(conf.SignSecret), []byte(strconv.Itoa(data.Id)))
-		id, _ := comm.AesEncrypt(strconv.Itoa(data.Id), conf.SignSecret)
-		parentId, _ := comm.AesEncrypt(strconv.Itoa(data.ParentId), conf.SignSecret)
-		projectId, _ := comm.AesEncrypt(strconv.Itoa(data.ProjectId), conf.SignSecret)
-		serial, _ := comm.AesEncrypt(strconv.Itoa(data.Serial), conf.SignSecret)
-		bidsectionId, _ := comm.AesEncrypt(strconv.Itoa(data.BidsectionId), conf.SignSecret)
-		folder.Id = id
-		folder.Name = data.Name
-		folder.ParentId = parentId
-		folder.ProjectId = projectId
-		folder.BidsectionId = bidsectionId
-		folder.Depth = data.Depth + 1
-		folder.Serial = serial
-		folder.Accounts = data.Accounts
-		folder.Isfolder = data.Isfolder
-		folder.IsEnd = false
-		//folder.Leaf = true
-		folder.HasFolder = false
-		folder.IsBid = false
-		folder.CreateTime = data.CreateTime.Format(conf.SysTimeform)
-		folderlist = append(folderlist, folder)
-	}
-
-	//fmt.Println(folderlist)
-
-	//var data []*viewmodels.Tree
-	// data := make([]*viewmodels.Tree, 0)
-	// for i, _ := range folderlist {
-	// 	var a *viewmodels.Tree
-	// 	a = &folderlist[i]
-	// 	data = append(data, a)
-	// }
-
-	node := folderlist[0]      //父节点
-	maketree(folderlist, node) //调用生成tree
-	//transformjson(node)    //转化为json
-	return node
-}
-
-// 获得合同管理的目录
-func (s *treeService) GetAllContract(projectId int, account *models.CmProjectAccount, bidsectionType int) *viewmodels.FolderContract {
-	datalist := s.dao.GetAllTree(projectId)
-	folderlist := make([]viewmodels.FolderContract, 0)
-
-	// 2.获得该账号的权限
-	permissionData := s.permissionAccountDao.GetProjectIdAccountId(projectId, account.Id)
-
-	// 生成根
-	folder := viewmodels.FolderContract{}
-	id, _ := comm.AesEncrypt(strconv.Itoa(0), conf.SignSecret)
-	parentId, _ := comm.AesEncrypt(strconv.Itoa(-1), conf.SignSecret)
-	folder.Id = id
-	folder.Name = "root"
-	folder.ParentId = parentId
-	folder.Isfolder = 1
-	// folder.Children = make([]*viewmodels.FolderContract, 0)
-	folderlist = append(folderlist, folder)
-	// 加入数据
-	for _, data := range datalist {
-
-		flag := true
-		// 标段过滤开始
-		if data.BidsectionId != 0 && account.IsAdmin != 1 {
-			flag = false
-		}
-
-		// 过滤没有权限访问的标段-管理员不需要过滤
-		if data.BidsectionId != 0 && account.IsAdmin != 1 {
-			permission := map[string]int{}
-			for _, item := range permissionData {
-				if data.BidsectionId == item.BidsectionId {
-					// 区别合同,安全,质量
-					if bidsectionType == 1 {
-						json.Unmarshal([]byte(item.SafePermission), &permission)
-
-					} else if bidsectionType == 2 {
-						json.Unmarshal([]byte(item.QualityPermission), &permission)
-
-					} else if bidsectionType == 0 {
-						json.Unmarshal([]byte(item.ContractPermission), &permission)
-						// fmt.Println(permission)
-						// if permission["access"] == 1 {
-						// 	flag = true
-						// 	break
-						// }
-					} else {
-						return nil
-					}
-
-					if permission["access"] == 1 {
-						flag = true
-						break
-					}
-				}
-			}
-		}
-		// 标段过滤结束
-
-		if flag {
-			folder := viewmodels.FolderContract{}
-			id, _ := comm.AesEncrypt(strconv.Itoa(data.Id), conf.SignSecret)
-			parentId, _ := comm.AesEncrypt(strconv.Itoa(data.ParentId), conf.SignSecret)
-			projectId, _ := comm.AesEncrypt(strconv.Itoa(data.ProjectId), conf.SignSecret)
-			bidsectionId, _ := comm.AesEncrypt(strconv.Itoa(data.BidsectionId), conf.SignSecret)
-			folder.Id = id
-			folder.Name = data.Name
-			folder.ParentId = parentId
-			folder.ProjectId = projectId
-			folder.BidsectionId = bidsectionId
-			// 合同数据
-			folder.Contracts = data.Contracts
-			folder.ContractsIncome = data.ContractsIncome
-			folder.ContractsReturned = data.ContractsReturned
-			// 汇款进度
-			ContractsIncome, err := strconv.ParseFloat(data.ContractsIncome, 64)
-			if err != nil {
-				ContractsIncome = 0
-			}
-			ContractsReturned, err := strconv.ParseFloat(data.ContractsReturned, 64)
-			if err != nil || ContractsReturned == 0 {
-				ContractsReturned = 0
-				folder.ContractsIncomeProgress = "0%"
-			} else {
-				folder.ContractsIncomeProgress = fmt.Sprintf("%.0f", (ContractsReturned/ContractsIncome)*100) + "%"
-			}
-
-			folder.ContractsPay = data.ContractsPay
-			folder.ContractsPaid = data.ContractsPaid
-			// 支付进度
-			ContractsPay, err := strconv.ParseFloat(data.ContractsPay, 64)
-			if err != nil {
-				ContractsPay = 0
-			}
-			ContractsPaid, err := strconv.ParseFloat(data.ContractsPaid, 64)
-			if err != nil || ContractsPaid == 0 {
-				ContractsPaid = 0
-				folder.ContractsPayProgress = "0%"
-			} else {
-				folder.ContractsPayProgress = fmt.Sprintf("%.0f", (ContractsPaid/ContractsPay)*100) + "%"
-			}
-
-			folder.Isfolder = data.Isfolder
-			folder.IsEnd = false
-
-			folder.HasFolder = false
-			folder.IsBid = false
-			folderlist = append(folderlist, folder)
-		}
-
-	}
-
-	// fmt.Println(folderlist)
-
-	var data []*viewmodels.FolderContract
-	data = make([]*viewmodels.FolderContract, 0)
-	for i, _ := range folderlist {
-		var a *viewmodels.FolderContract
-		a = &folderlist[i]
-		data = append(data, a)
-	}
-
-	node := &folderlist[0] //父节点
-	comm.MakeFolderContract(data, node)
-
-	// 求和
-	// dataLenght := len(data) + 4
-
-	s.filterFolder(node)
-
-	// 删除空目录
-	ChildrenShow := make([]*viewmodels.FolderContract, 0)
-	for _, item := range node.Children {
-		if item.IsHidden == 0 {
-			ChildrenShow = append(ChildrenShow, item)
-		}
-	}
-	node.Children = ChildrenShow
-
-	// node.Children = s.copyShowFolder(node.Children)
-	// fmt.Println(node)
-	return node
-}
-
-// 复制出需要展示的目录
-// func (s *treeService) copyShowFolder(children []*viewmodels.FolderContract) []*viewmodels.FolderContract {
-// 	ChildrenShow := make([]*viewmodels.FolderContract, 0)
-// 	for _, item := range children {
-// 		if item.IsHidden == 0 {
-// 			ChildrenShow = append(ChildrenShow, item)
-// 		}
-// 	}
-// 	return ChildrenShow
-// }
-
-func (s *treeService) filterFolder(node *viewmodels.FolderContract) {
-	if node == nil {
-		return
-	}
-
-	// 目录下是否为空目录  1空目录
-	isEmptyFolder := 1
-
-	length := len(node.Children)
-	// 如果length为0叶子节点---为目录才需要遍历
-	if length == 0 {
-		// 1.如果是目录-已经为叶子目录不需要遍历
-		// 2.是标段 目录不为空
-		if node.Isfolder == 0 {
-			isEmptyFolder = 0
-		}
-	} else {
-		// 1.遍历目录下
-		for i := 0; i < length; i++ {
-			// 2.该节点下子对象 从0-length 依次进入
-			s.filterFolder(node.Children[i])
-			// 后序-父节点逻辑 处理完0 ... -length
-			// 2-1 是标段 设置目录不为空
-			if node.Children[i].Isfolder == 0 {
-				// 有标段
-				isEmptyFolder = 0
-			} else {
-				// 2-2 是目录   ----后序遍历,最后一层下的孩子们是否能删除 走完三个点后返回到父亲
-				// 2-2-1 可展示目录 集合
-				ChildrenShow := make([]*viewmodels.FolderContract, 0)
-				// 2-2-2 目录下内容
-				if len(node.Children[i].Children) != 0 {
-					// 2-2-3 内容中是否有需要显示的目录
-					for _, item := range node.Children[i].Children {
-						// 2-2-4 有 设置为需要显示并拷贝显示内容
-						if item.IsHidden == 0 {
-							ChildrenShow = append(ChildrenShow, item)
-							node.Children[i].IsHidden = 0
-						}
-					}
-				}
-				// 2-2-5 覆盖父亲节点的显示内容
-				node.Children[i].Children = ChildrenShow
-
-				// s.copyShowFolder(node.Children[i].Children)
-				// fmt.Println("==========filterFolder执行完成")
-				// fmt.Println(node.Children[i].Name)
-				// fmt.Println(fmt.Sprintf("删除:%d", node.Children[i].IsHidden))
-				// fmt.Println(node.Children[i].Children)
-			}
-		}
-	}
-
-	// fmt.Println("=========================进入")
-	// fmt.Println(node.Name)
-	// fmt.Println(fmt.Sprintf("空目录:%d", isEmptyFolder))
-	// 后序的第一位叶子节点 如果目录为空,设置不显示
-	if isEmptyFolder == 1 {
-		node.IsHidden = 1
-	}
-}
-
-// 新增一个文件夹
-func (s *treeService) Create(data viewmodels.Tree) error {
-	// 类型校验
-	folder := models.CmTree{}
-	folder.Name = data.Name
-	// 项目ID
-	ProjectId, err := strconv.Atoi(data.ProjectId)
-	if err != nil {
-		return err
-	}
-
-	// 获得该目录ID
-	Id, err := comm.AesDecrypt(data.Id, conf.SignSecret)
-	if err != nil {
-		return err
-	}
-	IdInt, err1 := strconv.Atoi(Id)
-	if err1 != nil {
-		return err1
-	}
-
-	// 该目录中是否有标段
-	bidlist := s.dao.GetBidsection(IdInt)
-	if len(bidlist) > 0 {
-		return errors.New("该文件夹已存在标段,不能在新增目录")
-	}
-
-	// 获得该深度的文件夹最大序号
-	serial := 0
-	depth := data.Depth + 1
-	if data.Depth == -1 {
-		// 1-创建顶级目录--获得最大序号
-		datalist := s.dao.GetAllDepth(depth, ProjectId)
-		maxIndex := len(datalist)
-		if maxIndex != 0 {
-			serial = datalist[maxIndex-1].Serial + 1
-		}
-	} else {
-		// 1-创建次目录-获得次级目录最大序号
-		treeNode := s.dao.Get(IdInt, ProjectId)
-		// 去除前端depth作用-在这里获得下级目录的深度
-		depth = treeNode.Depth + 1
-		if treeNode.Id == 0 {
-			return errors.New("上级目录不正确")
-		}
-		attribution := fmt.Sprintf("%s%d-", treeNode.Attribution, treeNode.Serial)
-		datalist := s.dao.GetALLDepthByAttribution(depth, ProjectId, attribution)
-		maxIndex := len(datalist)
-		if maxIndex != 0 {
-			serial = datalist[maxIndex-1].Serial + 1
-		}
-
-		// 设置归属
-		folder.Attribution = attribution //treeNode.Attribution + strconv.Itoa(treeNode.Serial) + "-"
-		folder.ParentId = IdInt
-	}
-
-	folder.ProjectId = ProjectId
-	folder.Serial = serial
-	folder.Depth = depth
-	folder.Isfolder = 1
-	folder.CreateTime = time.Now()
-	folder.UpdateTime = time.Now()
-	folder.ContractsIncome = "0"
-	folder.ContractsPaid = "0"
-	folder.ContractsPay = "0"
-	folder.ContractsReturned = "0"
-	err = s.dao.Create(&folder)
-	if err != nil {
-		log.Println("添加目录出错, error=", err)
-		return errors.New("添加目录出错")
-	}
-	return nil
-}
-
-// 重命名
-func (s *treeService) Rename(data viewmodels.Tree, projectId int) error {
-	// 获得该目录ID
-	Id, err := comm.AesDecrypt(data.Id, conf.SignSecret)
-	if err != nil {
-		return err
-	}
-	IdInt, err1 := strconv.Atoi(Id)
-	if err1 != nil {
-		return err1
-	}
-
-	// 获得树信息
-	treeData := s.dao.Get(IdInt, projectId)
-	if treeData.Id == 0 {
-		return errors.New("修改的目录不合法")
-	}
-	treeNode := models.CmTree{}
-	treeNode.Id = IdInt
-	treeNode.Name = data.Name
-	if treeData.Isfolder == 1 {
-		// 目录
-		err = s.dao.Update(&treeNode, []string{"Name"})
-	} else {
-		// 标段
-		treeNode.BidsectionId = treeData.BidsectionId
-		err = s.dao.Rename(&treeNode, []string{"Name"})
-	}
-
-	if err != nil {
-		return err
-	}
-	return nil
-}
-
-// 获得该目录下所有的目录和标段
-func (s *treeService) GetFolderAndBid(id int, projectId int) ([]models.CmTree, error) {
-	// 获得该目录ID
-	// id, err := comm.AesDecrypt(id, conf.SignSecret)
-	// if err != nil {
-	// 	return nil, errors.New("目录解析错误")
-	// }
-	// IdInt, err := strconv.Atoi(id)
-	// if err != nil {
-	// 	return nil, errors.New("目录解析错误")
-	// }
-	// 获得该目录下所有数据
-	folder := s.dao.Get(id, projectId)
-	if folder.Id == 0 {
-		return nil, errors.New("目录不合法")
-	}
-	attribution := fmt.Sprintf("%s%d-", folder.Attribution, folder.Serial)
-	// 获得目录归属
-	dataList := s.dao.GetFolderAndBid(folder.ProjectId, attribution)
-	return dataList, nil
-}
-
-// 删除该目录和所属的目录和标段
-func (s *treeService) DeleteFolderAndBid(id int, projectId int) error {
-	// 获得该目录ID
-	// id, err := comm.AesDecrypt(id, conf.SignSecret)
-	// if err != nil {
-	// 	return errors.New("目录解析错误")
-	// }
-	// IdInt, err := strconv.Atoi(id)
-	// if err != nil {
-	// 	return errors.New("目录解析错误")
-	// }
-	// 获得该目录下 归属关系
-	folder := s.dao.Get(id, projectId)
-	if folder.Id == 0 {
-		return errors.New("目录不合法")
-	}
-	attribution := fmt.Sprintf("%s%d-", folder.Attribution, folder.Serial)
-	// --逻辑删除 目录和数据
-	err := s.dao.DeleteFolderAndBid(folder.Id, folder.ProjectId, attribution)
-	if err != nil {
-		return err
-	}
-	// TODO -加入堆栈 物理删除数据
-
-	return nil
-}
-
-// 移动目录
-func (s *treeService) Move(id int, moveId int, projectId int) error {
-	// 获得项目目录
-	treeNode := s.dao.Get(id, projectId)
-
-	if treeNode.Id == 0 {
-		return errors.New("目录或标段解析错误")
-	}
-
-	targetFolder := &models.CmTree{}
-	// id为0是跟目录
-	if moveId == 0 {
-		// id
-		targetFolder.Id = 0
-		// 1.获得最大序号
-		// seriallist := s.dao.GetALLDepthByAttribution(0, projectId, "")
-		// maxIndex := len(seriallist)
-		// serial := 0
-		// if maxIndex != 0 {
-		// 	serial = seriallist[maxIndex-1].Serial + 1
-		// }
-		// targetFolder.Serial = serial
-		targetFolder.Serial = 0
-		// 2.归属
-		targetFolder.Attribution = ""
-		// 3.深度depth-根目录为-1
-		targetFolder.Depth = -1
-		// 4.为目录
-		targetFolder.Isfolder = 1
-		// 5.项目ID
-		targetFolder.ProjectId = projectId
-
-		// fmt.Println(targetFolder)
-		// if targetFolder.Id == 0 {
-		// 	return errors.New("目录解析错误-测试")
-		// }
-	} else {
-		targetFolder = s.dao.Get(moveId, projectId)
-		if targetFolder.Id == 0 {
-			return errors.New("目录解析错误")
-		}
-	}
-
-	// 目录必须是目录
-	if targetFolder.Isfolder == 0 {
-		return errors.New("目标不是文件夹")
-	}
-
-	// 目录的目标不能是自己
-	if id == moveId {
-		return errors.New("目标目录是原目录-不能移动")
-	}
-
-	// 移动的是目录
-	if treeNode.Isfolder == 1 {
-		// 1.目录下不能有标段
-		// 被移动的目录存在标段
-		moveBidList := s.dao.GetBidsection(moveId)
-		if len(moveBidList) > 0 {
-			return errors.New("该目录中存在标段,不能移动")
-		}
-	} else {
-		// 标段
-		// 1.移动的目录是否为叶子节点
-		moveBidList := s.dao.GetChildFolder(moveId)
-		if len(moveBidList) > 0 {
-			return errors.New("该目录中存在其他目录,不能移动")
-		}
-	}
-
-	err := s.dao.Move(treeNode, targetFolder)
-	if err != nil {
-		return err
-	}
-	return nil
-}
-
-// 创建一颗树...interface{}
-func maketree(Data []*viewmodels.Tree, node *viewmodels.Tree) { //参数为父节点,添加父节点的子节点指针切片
-	childs, _ := havechild(Data, node) //判断节点是否有子节点并返回
-	if childs != nil {
-		// fmt.Printf("\n")
-		// fmt.Println(*node)
-		// fmt.Println("子节点:")
-		// for _, v := range childs {
-		// 	fmt.Println(*v)
-		// } //打印
-
-		// 子节点总数
-		Total := len(childs)
-		node.ChildsTotal = Total
-		// 标记最后一个元素
-		end := Total - 1
-		childs[end].IsEnd = true
-
-		// 往父节点添加子节点
-		node.Children = append(node.Children, childs[0:]...) //添加子节点
-		for _, v := range childs {                           //查询子节点的子节点,并添加到子节点
-			_, has := havechild(Data, v)
-			if has {
-				// 递归添加节点
-				maketree(Data, v)
-			}
-			// else {
-			// 	// 叶子节点
-			// 	node.Leaf = false
-			// }
-			// 目录下是否包含标段
-			if v.Isfolder == 0 {
-				node.IsBid = true
-			} else {
-				node.HasFolder = true
-			}
-		}
-	}
-}
-
-// 是否有子树
-func havechild(Data []*viewmodels.Tree, node *viewmodels.Tree) (child []*viewmodels.Tree, yes bool) {
-	for _, v := range Data {
-		if v.ParentId == node.Id {
-			child = append(child, v)
-		}
-	}
-	if child != nil {
-		yes = true
-	}
-	return
-}
-
-func transformjson(Data *viewmodels.Tree) { //转为json
-
-	Jsondata, _ := json.Marshal(Data)
-
-	fmt.Println(string(Jsondata))
-}
-
-//now := comm.NowUnix()
-//comm.FormatFromUnixTime(now)
-// ParentIdInt := 0
-// if data.ParentId != "" {
-// 	ParentId, err := comm.AesDecrypt(data.ParentId, conf.SignSecret)
-// 	if err != nil {
-// 		return err
-// 	}
-// 	ParentIdInt, err = strconv.Atoi(ParentId)
-// 	if err != nil {
-// 		ParentIdInt = 0
-// 	}
-// }

+ 0 - 43
services/version_service.go

@@ -1,43 +0,0 @@
-/*
- * @description:版本相关数据操作
- * @Author: CP
- * @Date: 2020-09-02 09:56:28
- * @FilePath: \construction_management\services\version_service.go
- */
-package services
-
-import (
-	"go.mod/dao"
-	"go.mod/datasource"
-	"go.mod/web/viewmodels"
-)
-
-//定义项目用户Service接口
-type VersionService interface {
-	Get() *viewmodels.Version
-}
-
-//返回service操作类
-type versionService struct {
-	versionDao *dao.VersionDao
-}
-
-//创建项目用户service
-func NewVersionService() VersionService {
-	return &versionService{
-		versionDao: dao.NewVersionDao(datasource.InstanceDbMaster()),
-	}
-}
-
-// 验证项目用户登陆相关
-func (s *versionService) Get() *viewmodels.Version {
-
-	// 1-1.工程项目是否存在
-	versionData := s.versionDao.Get()
-	if versionData.Id == 0 {
-		return nil
-	}
-	versionVm := &viewmodels.Version{}
-	versionVm.Name = versionData.Name
-	return versionVm
-}

+ 0 - 77
web/api/bidsection_api.go

@@ -1,77 +0,0 @@
-/*
- * @description: 标段相关的接口api
- * @Author: CP
- * @Date: 2020-09-28 10:26:49
- * @FilePath: \construction_management\web\api\bidsection_api.go
- */
-package api
-
-import (
-	"fmt"
-	"strconv"
-
-	"github.com/kataras/iris/v12"
-	"go.mod/services"
-	"go.mod/web/utils"
-)
-
-type BidsectionApi struct {
-	//框架-web应用上下文环境
-	Ctx iris.Context
-	// 需要用的service
-	ServiceBidsection services.BidsectionService
-}
-
-// 获得项目目录结构
-func (c *BidsectionApi) Get() {
-
-}
-
-// @Summary 新增标段
-// @Tags 目录相关-管理员
-// @Description 新增标段
-// @Accept  json
-// @Produce  json
-// @Security ApiKeyAuth
-// @Param   folderId     body    string     true        "目录ID"
-// @Param   name     body    string     true        "名称"
-// @Success 200 {string} string	"{code:0成功,-1参数类错误,-2服务端内部错误,msg:错误信息}"
-// @Router /api/bidsection/create [post]
-func (c *BidsectionApi) PostCreate() {
-	ErrMsg := ""
-	// 验证内容
-	BidsectionData, err := c.ServiceBidsection.ValidRule(c.Ctx)
-	if err != nil {
-		ErrMsg = utils.FormValidError(err)
-		c.Ctx.JSON(iris.Map{
-			"code": -1,
-			"msg":  ErrMsg,
-		})
-		return
-	} else {
-
-		// 获得项目ID
-		projectIdInt, err := utils.GetProjectId(c.Ctx)
-		if err != nil {
-			c.Ctx.JSON(iris.Map{
-				"code": -1,
-				"msg":  fmt.Sprintf("%s", err),
-			})
-			return
-		}
-		BidsectionData.ProjectId = strconv.Itoa(projectIdInt)
-		// 新增标段-新增树结构里的标段
-		err = c.ServiceBidsection.Create(BidsectionData)
-		if err != nil {
-			c.Ctx.JSON(iris.Map{
-				"code": -1,
-				"msg":  fmt.Sprintf("%s", err),
-			})
-			return
-		}
-		c.Ctx.JSON(iris.Map{
-			"code": 0,
-			"msg":  "新增成功",
-		})
-	}
-}

+ 3 - 4
web/api/contract_api.go

@@ -16,7 +16,6 @@ type ContractApi struct {
 	//框架-web应用上下文环境
 	Ctx iris.Context
 	// // 需要用的service
-	ServiceTree     services.TreeService
 	ServiceContract services.ContractService
 	// ServiceLogin          services.LoginService
 	// ServiceProject        services.ProjectService
@@ -58,8 +57,8 @@ func (c *ContractApi) GetSectionAll() {
 	sectionTree := c.ServiceContract.GetSecionTree()
 
 	c.Ctx.JSON(iris.Map{
-		"code": 0,
-		"msg":  "",
-		"data": sectionTree,
+		"code":   0,
+		"msg":    "",
+		"result": sectionTree,
 	})
 }

+ 3 - 0
web/api/contract_section_tree_api.go

@@ -9,6 +9,7 @@ package api
 import (
 	"fmt"
 
+	"github.com/iris-contrib/middleware/jwt"
 	"github.com/kataras/iris/v12"
 	"go.mod/web/utils"
 )
@@ -247,6 +248,8 @@ func (c *ContractApi) PostSectionAdd() {
 		return
 	}
 
+	userMsg := c.Ctx.Values().Get("jwt").(*jwt.Token).Claims.(jwt.MapClaims)
+	fmt.Println(userMsg)
 	// 项目ID
 	// projectIdInt, err := utils.GetProjectId(c.Ctx)
 	// if err != nil {

+ 3 - 36
web/api/login_api.go

@@ -12,7 +12,6 @@ import (
 	"github.com/kataras/iris/v12"
 	"go.mod/services"
 	"go.mod/web/utils"
-	"go.mod/web/viewmodels"
 )
 
 type LoginApi struct {
@@ -21,7 +20,6 @@ type LoginApi struct {
 	// 需要用的service
 	ServiceProjectAccount services.ProjectAccountService
 	ServiceLogin          services.LoginService
-	ServiceProject        services.ProjectService
 }
 
 // @Summary 登录
@@ -50,9 +48,9 @@ func (c *LoginApi) Post() {
 		return
 	}
 	c.Ctx.JSON(iris.Map{
-		"code": 0,
-		"msg":  "",
-		"data": token,
+		"code":   0,
+		"msg":    "",
+		"result": token,
 	})
 }
 
@@ -68,37 +66,6 @@ func (c *LoginApi) PostOut() {
 	c.Ctx.JSON(iris.Map{"code": 0, "msg": ""})
 }
 
-// @Summary 获得项目名称
-// @Tags 登录/登出
-// @Accept  json
-// @Produce  json
-// @Param   code     	query    string     true        "项目编号" 	default({code:2})
-// @Success 200 {object} viewmodels.Project "{code:0成功,data:viewmodels.Project,msg:}"
-// @Failure 400 {string} string "{code:-1,msg:string}"
-// @Router /api/login/project/name [get]
-func (c *LoginApi) GetProjectName() {
-	// 验证内容
-	ProjectData := viewmodels.Project{}
-	err := c.Ctx.ReadForm(&ProjectData)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{
-			"code": -1,
-			"msg":  "ReadJSON转换异常,请检查code",
-		})
-		return
-	} else {
-		fmt.Println("=========================")
-		fmt.Println(ProjectData)
-		// 获得项目信息
-		dataList := c.ServiceProject.GetName(ProjectData.Code)
-		c.Ctx.JSON(iris.Map{
-			"code": 0,
-			"msg":  "",
-			"data": dataList,
-		})
-	}
-}
-
 // func (c *LoginApi) Get() {
 // 	token := jwt.NewTokenWithClaims(jwt.SigningMethodHS256, jwt.MapClaims{
 // 		// 根据需求,可以存一些必要的数据

+ 0 - 96
web/api/project_api.go

@@ -1,96 +0,0 @@
-/*
- * @description: 项目相关 api
- * @Author: CP
- * @Date: 2020-09-23 09:46:21
- * @FilePath: \construction_management\web\api\project_api.go
- */
-package api
-
-import (
-	"fmt"
-
-	"github.com/kataras/iris/v12"
-	"go.mod/services"
-	"go.mod/web/utils"
-)
-
-type ProjectApi struct {
-	//框架-web应用上下文环境
-	Ctx iris.Context
-	// 需要用的service
-	ServiceProject services.ProjectService
-}
-
-// @Summary 获得登陆项目信息
-// @Tags 项目相关
-// @Description 获得登陆项目信息
-// @Accept  json
-// @Produce  json
-// @Security ApiKeyAuth
-// @Success 200 {object} viewmodels.Project "{code:0成功,-1参数类错误,data:viewmodels.ProjectAccount,msg:错误信息}"
-// @Router /api/project [get]
-func (c *ProjectApi) Get() {
-	// 获得项目ID
-	projectIdInt, err := utils.GetProjectId(c.Ctx)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-	// 获得项目信息
-	ProjectData, err := c.ServiceProject.Get(projectIdInt)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-	c.Ctx.JSON(iris.Map{
-		"code": 0,
-		"data": ProjectData,
-		"msg":  "",
-	})
-	// }
-}
-
-// 保存项目管理员信息
-func (c *ProjectApi) PostSave() {
-	// ErrMsg := ""
-	// // 验证内容
-	// AccountData, err := c.ServiceProjectAccount.ValidRule(c.Ctx)
-	// if err != nil {
-	// 	ErrMsg = utils.FormValidError(err)
-	// 	comm.Redirect(c.Ctx.ResponseWriter(), "/account?errMsg="+ErrMsg)
-	// } else {
-	// 	// 获得更新用户ID
-	// 	id, err := c.Ctx.Values().GetInt("accountId")
-	// 	if err != nil {
-	// 		comm.Redirect(c.Ctx.ResponseWriter(), "/account?errMsg="+ErrMsg)
-	// 	}
-	// 	// 保存信息
-	// 	err = c.ServiceProjectAccount.Save(AccountData, id, 0)
-	// 	if err != nil {
-	// 		comm.Redirect(c.Ctx.ResponseWriter(), "/account?errMsg="+ErrMsg)
-	// 	}
-	// 	comm.Redirect(c.Ctx.ResponseWriter(), "/account?success=修改成功")
-	// }
-}
-
-// 获得多个项目信息--暂无使用
-// func (c *ProjectApi) GetList() {
-// 	// 验证内容
-// 	ProjectData := viewmodels.Project{}
-// 	err := c.Ctx.ReadForm(&ProjectData)
-// 	if err != nil {
-// 		c.Ctx.JSON(iris.Map{
-// 			"code": -1,
-// 			"msg":  "ReadForm转换异常",
-// 		})
-// 		return
-// 	} else {
-// 		// 获得项目信息
-// 		dataList := c.ServiceProject.GetList(ProjectData)
-// 		c.Ctx.JSON(iris.Map{
-// 			"code": 0,
-// 			"msg":  "",
-// 			"data": dataList,
-// 		})
-// 	}
-// }

+ 0 - 373
web/api/project_setting_api.go

@@ -1,373 +0,0 @@
-/*
- * @description: 项目设置相关--管理员可访问
- * @Author: CP
- * @Date: 2020-10-09 10:35:38
- * @FilePath: \construction_management\web\api\project_setting_api.go
- */
-package api
-
-import (
-	"fmt"
-
-	"github.com/kataras/iris/v12"
-	"go.mod/services"
-	"go.mod/web/utils"
-	"go.mod/web/viewmodels"
-)
-
-type ProjectSettingApi struct {
-	//框架-web应用上下文环境
-	Ctx iris.Context
-	// 需要用的service
-	ServiceProjectAccount services.ProjectAccountService
-	ServiceProject        services.ProjectService
-	ServiceBidAccount     services.BidAccountService
-}
-
-// @Summary 获得项目账号列表
-// @Tags 项目设置-管理员
-// @Description id获得单条信息<br/>
-// @Accept  json
-// @Produce  json
-// @Security ApiKeyAuth
-// @Param   id     body    string     false        "账号ID"
-// @Success 200 {object} viewmodels.ProjectAccount "{code:0成功,-1参数类错误,data:viewmodels.ProjectAccount,msg:错误信息}"
-// @Router /api/projectSetting/account [get]
-func (c *ProjectSettingApi) GetAccount() {
-	// 获得项目ID
-	projectIdInt, err := utils.GetProjectId(c.Ctx)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-
-	// 获得账号ID
-	AccountData := viewmodels.ProjectAccount{}
-	err = c.Ctx.ReadJSON(&AccountData)
-	if err != nil {
-		// 获得所有项目下的账号
-		dataList := c.ServiceProjectAccount.GetAll(projectIdInt)
-		c.Ctx.JSON(iris.Map{
-			"code": 0,
-			"msg":  "",
-			"data": dataList,
-		})
-	} else {
-		// 获得单个账号ID
-		id, err := utils.GetDecryptId(AccountData.Id)
-		if err != nil {
-			c.Ctx.JSON(iris.Map{"code": -1, "msg": err})
-			return
-		}
-
-		accountData := c.ServiceProjectAccount.Get(id, projectIdInt)
-		c.Ctx.JSON(iris.Map{
-			"code": 0,
-			"msg":  "",
-			"data": accountData,
-		})
-	}
-}
-
-// @Summary 检索账号信息
-// @Tags 项目设置-管理员
-// @Description 检索字段:账号 姓名 单位 手机 前匹配
-// @Accept  json
-// @Produce  json
-// @Security ApiKeyAuth
-// @Param   name     body    string     true        "检索内容"
-// @Success 200 {object} viewmodels.ProjectAccount "{code:0成功,-1参数类错误,data:viewmodels.ProjectAccount,msg:错误信息}"
-// @Router /api/projectSetting/account/search [get]
-func (c *ProjectSettingApi) GetAccountSearch() {
-	// 获得项目ID
-	projectIdInt, err := utils.GetProjectId(c.Ctx)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-	// c.Ctx.Header("X-CSRF-Token", csrf.Token(c.Ctx))
-
-	// 获得检索关键字
-	AccountData := viewmodels.ProjectAccount{}
-	err = c.Ctx.ReadForm(&AccountData)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("JSON转换异常, error=%s", err)})
-		return
-	}
-
-	// 检索
-	dataList := c.ServiceProjectAccount.Search(AccountData.Name, projectIdInt)
-	c.Ctx.JSON(iris.Map{
-		"code": 0, "msg": "",
-		"data": dataList,
-	})
-}
-
-// @Summary 创建账号
-// @Tags 项目设置-管理员
-// @Description 新增账号
-// @Accept  json
-// @Produce  json
-// @Security ApiKeyAuth
-// @Param   account     body    string     true        "账号"
-// @Param   password     body    string     true        "密码"
-// @Param   role     body    int     true        "角色ID"
-// @Param   name     body    string     true        "姓名"
-// @Param   company     body    string     true        "公司"
-// @Param   position     body    string     true        "职位"
-// @Param   mobile     body    string     true        "手机"
-// @Param   telephone     body    string     true        "座机"
-// @Param   accountGroup     body    int     true        "账号组"
-// @Success 200 {string} string "{code:0成功,-1参数类错误,data:viewmodels.ProjectAccount,msg:错误信息}"
-// @Router /api/projectSetting/account/create [post]
-func (c *ProjectSettingApi) PostAccountCreate() {
-	ErrMsg := ""
-	// 验证内容
-	AccountData, err := c.ServiceProjectAccount.ValidRule(c.Ctx)
-
-	if err != nil {
-		ErrMsg = utils.FormValidError(err)
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", ErrMsg)})
-		return
-	} else {
-		projectId, err := utils.GetProjectId(c.Ctx)
-		if err != nil {
-			c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-			return
-		}
-		// 新增账号信息
-		err = c.ServiceProjectAccount.Add(AccountData, projectId)
-		if err != nil {
-			c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-			return
-		}
-		c.Ctx.JSON(iris.Map{"code": 0, "msg": "新增成功"})
-	}
-}
-
-// @Summary 编辑账号
-// @Tags 项目设置-管理员
-// @Description 编辑账号
-// @Accept  json
-// @Produce  json
-// @Security ApiKeyAuth
-// @Param   id     body    string     true        "账号ID" default(PcqqGsn1O0jBSmLqkuOTwQ)
-// @Param   role     body    int     true        "角色ID"
-// @Param   name     body    string     true        "姓名"
-// @Param   company     body    string     true        "公司"
-// @Param   position     body    string     true        "职位"
-// @Param   telephone     body    string     true        "座机"
-// @Param   accountGroup     body    int     true        "账号组"
-// @Param   X-CSRF-Token      header    string     true        "csrf"
-// @Success 200 {string} string "{code:0成功,-1参数类错误,data:viewmodels.ProjectAccount,msg:错误信息}"
-// @Router /api/projectSetting/account/save [post]
-func (c *ProjectSettingApi) PostAccountSave() {
-	// 验证内容
-	AccountData, err := c.ServiceProjectAccount.ValidRule(c.Ctx)
-	if err != nil {
-		ErrMsg := utils.FormValidError(err)
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": ErrMsg})
-		return
-	} else {
-		// 获得更新账号ID
-		id, err := utils.GetDecryptId(AccountData.Id)
-		if err != nil {
-			c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-			return
-		}
-		projectId, err := utils.GetProjectId(c.Ctx)
-		if err != nil {
-			c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-			return
-		}
-
-		err = c.ServiceProjectAccount.Save(AccountData, id, projectId)
-		if err != nil {
-			c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-			return
-		}
-		c.Ctx.JSON(iris.Map{"code": 0, "msg": "编辑成功"})
-	}
-}
-
-// @Summary 账号启用/禁用
-// @Tags 项目设置-管理员
-// @Description 账号启用/禁用
-// @Accept  json
-// @Produce  json
-// @Security ApiKeyAuth
-// @Param   id     body    string     true        "账号ID" default(PcqqGsn1O0jBSmLqkuOTwQ)
-// @Param   enable     body    int     true        "启用/禁用"
-// @Success 200 {string} string "{code:0成功,-1参数类错误,data:viewmodels.ProjectAccount,msg:错误信息}"
-// @Router /api/projectSetting/account/enable [post]
-func (c *ProjectSettingApi) PostAccountEnable() {
-	// 修改验证方式——TODO
-	accountVaild := viewmodels.ProjectAccount{}
-	err := c.Ctx.ReadJSON(&accountVaild)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": "参数错误"})
-		return
-	}
-
-	// 账号ID校验
-	id, err := utils.GetDecryptId(accountVaild.Id)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": "账号异常"})
-		return
-	}
-	// 项目ID
-	projectId, err := utils.GetProjectId(c.Ctx)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": "账号异常"})
-		return
-	}
-
-	err = c.ServiceProjectAccount.Enable(id, projectId, accountVaild.Enable)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": err})
-		return
-	}
-	c.Ctx.JSON(iris.Map{"code": 0, "msg": "操作成功"})
-}
-
-// @Summary 删除账号
-// @Tags 项目设置-管理员
-// @Description 删除账号
-// @Accept  json
-// @Produce  json
-// @Security ApiKeyAuth
-// @Param   id     body    string     true        "账号ID" default(PcqqGsn1O0jBSmLqkuOTwQ)
-// @Success 200 {string} string "{code:0成功,-1参数类错误,data:viewmodels.ProjectAccount,msg:错误信息}"
-// @Router /api/projectSetting/account/delete [post]
-func (c *ProjectSettingApi) PostAccountDelete() {
-	accountVaild := viewmodels.ProjectAccount{}
-	err := c.Ctx.ReadJSON(&accountVaild)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": "参数错误"})
-		return
-	}
-	// 账号ID校验
-	id, err := utils.GetDecryptId(accountVaild.Id)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": "账号异常"})
-		return
-	}
-	// 项目ID
-	projectId, err := utils.GetProjectId(c.Ctx)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": "账号异常"})
-		return
-	}
-
-	err = c.ServiceProjectAccount.Delete(id, projectId)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": err})
-		return
-	}
-	c.Ctx.JSON(iris.Map{"code": 0, "msg": "操作成功"})
-}
-
-// @Summary 设置账号密码
-// @Tags 项目设置-管理员
-// @Description 设置账号密码
-// @Accept  json
-// @Produce  json
-// @Security ApiKeyAuth
-// @Param   id     body    string     true        "账号ID" default(PcqqGsn1O0jBSmLqkuOTwQ)
-// @Param   account     body    string     true        "账号" default(textoopd)
-// @Param   password     body    string     true        "密码" default(ww123456)
-// @Param   X-CSRF-Token      header    string     true        "csrf"
-// @Success 200 {string} string "{code:0成功,-1参数类错误,data:viewmodels.ProjectAccount,msg:错误信息}"
-// @Router /api/projectSetting/account/change [post]
-func (c *ProjectSettingApi) PostAccountChange() {
-	// 验证内容
-	AccountData, err := c.ServiceProjectAccount.ValidRule(c.Ctx)
-	if err != nil {
-		ErrMsg := utils.FormValidError(err)
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": ErrMsg})
-		return
-	} else {
-		// 获得更新账号ID
-		id, err := utils.GetDecryptId(AccountData.Id)
-		if err != nil {
-			c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-			return
-		}
-		projectId, err := utils.GetProjectId(c.Ctx)
-		if err != nil {
-			c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-			return
-		}
-
-		err = c.ServiceProjectAccount.ChangeAccount(id, projectId, AccountData)
-		if err != nil {
-			c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-			return
-		}
-		c.Ctx.JSON(iris.Map{"code": 0, "msg": "编辑成功"})
-	}
-}
-
-// @Summary 获取项目信息
-// @Tags 项目设置-管理员
-// @Description 获取项目信息
-// @Accept  json
-// @Produce  json
-// @Security ApiKeyAuth
-// @Success 200 {string} string "{code:0成功,-1参数类错误,data:viewmodels.ProjectAccount,msg:错误信息}"
-// @Router /api/projectSetting/project [get]
-func (c *ProjectSettingApi) GetProject() {
-	projectId, err := utils.GetProjectId(c.Ctx)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-	projectdata, err := c.ServiceProject.Get(projectId)
-	userId, _ := utils.GetDecryptId(projectdata.UserId)
-	accountData := c.ServiceProjectAccount.Get(userId, projectId)
-
-	data := make(map[string]interface{})
-	data["project"] = projectdata
-	data["account"] = accountData
-
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	} else {
-		c.Ctx.JSON(iris.Map{"code": 0, "msg": "操作成功", "data": data})
-	}
-}
-
-// @Summary 保存项目信息
-// @Tags 项目设置-管理员
-// @Description 保存项目信息
-// @Accept  json
-// @Produce  json
-// @Security ApiKeyAuth
-// @Param   name     body    string     true        "账号ID" default(红旗大桥)
-// @Param   X-CSRF-Token      header    string     true        "csrf"
-// @Success 200 {string} string "{code:0成功,-1参数类错误,data:viewmodels.ProjectAccount,msg:错误信息}"
-// @Router /api/projectSetting/project/save [post]
-func (c *ProjectSettingApi) PostProjectSave() {
-
-	ProjectData, err := c.ServiceProject.ValidRule(c.Ctx)
-	if err != nil {
-		ErrMsg := utils.FormValidError(err)
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": ErrMsg})
-		return
-	} else {
-		// 项目ID
-		projectId, err := utils.GetProjectId(c.Ctx)
-		if err != nil {
-			c.Ctx.JSON(iris.Map{"code": -1, "msg": "账号异常"})
-			return
-		}
-
-		err = c.ServiceProject.Save(projectId, ProjectData)
-		if err != nil {
-			c.Ctx.JSON(iris.Map{"code": -1, "msg": err})
-			return
-		}
-		c.Ctx.JSON(iris.Map{"code": 0, "msg": "操作成功"})
-	}
-}

+ 0 - 249
web/api/project_setting_auth_api.go

@@ -1,249 +0,0 @@
-/*
- * @description:项目设置-权限管理
- * @Author: CP
- * @Date: 2020-10-20 15:47:07
- * @FilePath: \construction_management\web\api\project_setting_auth_api.go
- */
-
-package api
-
-import (
-	"fmt"
-
-	"github.com/kataras/iris/v12"
-	"go.mod/web/utils"
-	"go.mod/web/viewmodels"
-)
-
-// @Summary 获得标段账号
-// @Tags 项目设置-标段成员权限-管理员
-// @Description 获得标段账号
-// @Accept  json
-// @Produce  json
-// @Security ApiKeyAuth
-// @Param   bidsectionId     path    string     false        "标段ID"
-// @Param   name     path    string     false        "账号名称"
-// @Success 200 {object} viewmodels.ProjectAccount "{code:0成功,-1参数类错误,data:viewmodels.ProjectAccount,msg:错误信息}"
-// @Router /api/projectSetting/bid/account [get]
-func (c *ProjectSettingApi) GetBidAccount() {
-
-	// 获得标段ID
-	TreeData := viewmodels.ProjectAccount{}
-	err := c.Ctx.ReadForm(&TreeData)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": err})
-		return
-	}
-	if TreeData.BidsectionId == "" {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": "标段ID不能为空"})
-		return
-	}
-	// 解密标段ID
-	bidsectionId, err := utils.GetDecryptId(TreeData.BidsectionId)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": err})
-		return
-	}
-
-	// 获得项目ID
-	projectIdInt, err := utils.GetProjectId(c.Ctx)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-
-	// 获得项目账号ID
-	projectAccountIdInt, err := utils.GetProjectAccountId(c.Ctx)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-
-	dataList := c.ServiceProjectAccount.GetBidAccount(bidsectionId, projectIdInt, projectAccountIdInt, TreeData.Name)
-
-	c.Ctx.JSON(iris.Map{
-		"code": 0,
-		"msg":  "",
-		"data": dataList,
-	})
-}
-
-// @Summary 标段中添加成员-账号
-// @Tags 项目设置-标段成员权限-管理员
-// @Description 标段中添加成员-账号
-// @Accept  json
-// @Produce  json
-// @Security ApiKeyAuth
-// @Param   bidsectionId     body    string     false        "标段ID"
-// @Param   accountId     body    string     false        "账号ID"
-// @Success 200 {string} string "{code:0成功,-1参数类错误,data:viewmodels.ProjectAccount,msg:错误信息}"
-// @Router /api/projectSetting/bid/account/create [post]
-func (c *ProjectSettingApi) PostBidAccountCreate() {
-
-	// 账号ID,标段ID,目录ID
-	BidAccountData, err := c.ServiceBidAccount.ValidRule(c.Ctx)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": utils.FormValidError(err)})
-		return
-	}
-
-	// 获得项目ID
-	projectIdInt, err := utils.GetProjectId(c.Ctx)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-
-	// 获得账号ID
-	accountId, err := utils.GetProjectAccountId(c.Ctx)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-
-	// 创建标段和账号的关系
-	err = c.ServiceBidAccount.Create(BidAccountData, projectIdInt, accountId)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-	c.Ctx.JSON(iris.Map{
-		"code": 0,
-		"msg":  "新增成功",
-	})
-}
-
-// @Summary 设置成员权限
-// @Tags 项目设置-标段成员权限-管理员
-// @Description 设置成员权限
-// @Accept  json
-// @Produce  json
-// @Security ApiKeyAuth
-// @Param   bidsectionId     body    string     false        "标段ID"
-// @Param   accountId     body    string     false        "账号ID"
-// @Param   contractAdd    body    int     false        "合同创建 1拥有0不拥有"
-// @Param   contractDelete        body    int     false        "合同删除 1拥有0不拥有"
-// @Param   contractAccess        body    int     false        "合同查看 1拥有0不拥有"
-// @Param   safeAdd    body    int     false        "安全创建 1拥有0不拥有"
-// @Param   safeDelete        body    int     false        "安全删除 1拥有0不拥有"
-// @Param   safeAccess        body    int     false        "安全查看 1拥有0不拥有"
-// @Param   qualityAdd    body    int     false        "合同创建 1拥有0不拥有"
-// @Param   qualityDelete        body    int     false        "合同删除 1拥有0不拥有"
-// @Param   qualityAccess        body    int     false        "合同查看 1拥有0不拥有"
-// @Success 200 {string} string "{code:0成功,-1参数类错误,data:viewmodels.ProjectAccount,msg:错误信息}"
-// @Router /api/projectSetting/bid/account/auth [post]
-func (c *ProjectSettingApi) PostBidAccountAuth() {
-	// 1.验证消息
-	PermissionData, err := c.ServiceProjectAccount.ValidRulePermission(c.Ctx)
-
-	// 获得项目ID
-	projectId, err := utils.GetProjectId(c.Ctx)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-
-	// 账号ID
-	accountId, err := utils.GetDecryptId(PermissionData.AccountId)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-
-	bidsectionId, err := utils.GetDecryptId(PermissionData.BidsectionId)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-
-	// 保存设置的权限
-	err = c.ServiceProjectAccount.SaveAuth(PermissionData, projectId, bidsectionId, accountId)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-	c.Ctx.JSON(iris.Map{
-		"code": 0,
-		"msg":  "设置成功",
-	})
-}
-
-// @Summary 移除标段成员-账号
-// @Tags 项目设置-标段成员权限-管理员
-// @Description 移除标段成员-账号
-// @Accept  json
-// @Produce  json
-// @Security ApiKeyAuth
-// @Param   bidsectionId     body    string     false        "标段ID"
-// @Param   accountId     body    string     false        "账号ID"
-// @Success 200 {string} string "{code:0成功,-1参数类错误,data:viewmodels.ProjectAccount,msg:错误信息}"
-// @Router /api/projectSetting/bid/account [delete]
-func (c *ProjectSettingApi) DeleteBidAccount() {
-	// 账号ID,标段ID
-	BidAccountData, err := c.ServiceBidAccount.ValidRuleDelete(c.Ctx)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": utils.FormValidError(err)})
-		return
-	}
-
-	// 获得项目ID
-	projectIdInt, err := utils.GetProjectId(c.Ctx)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-	// 创建标段和账号的关系
-	err = c.ServiceBidAccount.Delete(BidAccountData, projectIdInt)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-	c.Ctx.JSON(iris.Map{
-		"code": 0,
-		"msg":  "移除成功",
-	})
-}
-
-// @Summary 获得标段权限
-// @Tags 项目设置-标段成员权限-管理员
-// @Description 获得当前用户下当前标段的权限
-// @Accept  json
-// @Produce  json
-// @Security ApiKeyAuth
-// @Param   bidsectionId     path    string     false        "标段ID"
-// @Success 200 {object} viewmodels.PermissionView "{code:0成功,-1参数类错误,data:viewmodels.PermissionView,msg:错误信息}"
-// @Router /api/projectSetting/permission [get]
-func (c *ProjectSettingApi) GetPermission() {
-	// 1.验证消息
-	PermissionData, err := c.ServiceProjectAccount.ValidGetPermission(c.Ctx)
-	// 账号ID
-	accountId, err := utils.GetProjectAccountId(c.Ctx)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-
-	bidsectionId, err := utils.GetDecryptId(PermissionData.BidsectionId)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-
-	// 获得项目ID
-	pid, err := utils.GetProjectId(c.Ctx)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-
-	data, err := c.ServiceBidAccount.GetPermission(accountId, bidsectionId, pid)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-	c.Ctx.JSON(iris.Map{
-		"code": 0,
-		"msg":  "请求成功",
-		"data": data,
-	})
-}

+ 0 - 247
web/api/tree_api.go

@@ -1,247 +0,0 @@
-/*
- * @description:文件夹相关-管理员可访问
- * @Author: CP
- * @Date: 2020-09-17 17:50:50
- * @FilePath: \construction_management\web\api\tree_api.go
- */
-package api
-
-import (
-	"fmt"
-	"strconv"
-
-	"github.com/kataras/iris/v12"
-	"go.mod/services"
-	"go.mod/web/utils"
-	"go.mod/web/viewmodels"
-)
-
-type TreeApi struct {
-	//框架-web应用上下文环境
-	Ctx iris.Context
-	// 需要用的service
-	ServiceTree services.TreeService
-}
-
-// @Summary 获得目录和数据
-// @Tags 目录相关-管理员
-// @Description 获得目录和数据
-// @Accept  json
-// @Produce  json
-// @Security ApiKeyAuth
-// @Success 200 {object} viewmodels.Tree "{code:0成功,data:viewmodels.Tree,msg:}"
-// @Failure 400 {string} string	"{code:0成功,-1参数类错误,-2服务端内部错误,msg:错误信息}"
-// @Router /api/tree [get]
-func (c *TreeApi) Get() {
-
-	// 获得项目ID
-	projectIdInt, err := utils.GetProjectId(c.Ctx)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{
-			"code": -1,
-			"msg":  err,
-		})
-		return
-	}
-
-	// 获得层级文件夹
-	FolderData := c.ServiceTree.GetAllProject(projectIdInt)
-
-	c.Ctx.JSON(iris.Map{
-		"code": 0,
-		"msg":  "",
-		"data": FolderData,
-	})
-}
-
-// @Summary 新增目录
-// @Tags 目录相关-管理员
-// @Description 新增目录
-// @Accept  json
-// @Produce  json
-// @Security ApiKeyAuth
-// @Param   id     body    string     true        "目录ID"
-// @Param   depth     body    int     true        "目录深度 顶级目录(-1)其他级目录(0)"
-// @Param   name     body    string     true        "目录名称"
-// @Success 200 {string} string	"{code:0成功,-1参数类错误,-2服务端内部错误,msg:错误信息}"
-// @Router /api/tree/create [post]
-func (c *TreeApi) PostCreate() {
-	ErrMsg := ""
-	// 验证内容
-	FolderData, err := c.ServiceTree.ValidRule(c.Ctx)
-	if err != nil {
-		ErrMsg = utils.FormValidError(err)
-		c.Ctx.JSON(iris.Map{
-			"code": -1,
-			"msg":  ErrMsg,
-		})
-		return
-	} else {
-		// 获得项目ID
-		projectIdInt, err := utils.GetProjectId(c.Ctx)
-		if err != nil {
-			c.Ctx.JSON(iris.Map{
-				"code": -1,
-				"msg":  fmt.Sprintf("%s", err),
-			})
-			return
-		}
-
-		FolderData.ProjectId = strconv.Itoa(projectIdInt)
-		// 新增文件夹
-		err = c.ServiceTree.Create(FolderData)
-		if err != nil {
-			c.Ctx.JSON(iris.Map{
-				"code": 3,
-				"msg":  fmt.Sprintf("%s", err),
-			})
-			return
-		}
-		c.Ctx.JSON(iris.Map{
-			"code": 0,
-			"msg":  "新增成功",
-		})
-	}
-}
-
-// @Summary 重命名
-// @Tags 目录相关-管理员
-// @Description 重命名-文件夹或者标段
-// @Accept  json
-// @Produce  json
-// @Security ApiKeyAuth
-// @Param   id     body    string     true        "treeId"
-// @Param   name     body    string     true        "重命名的名称"
-// @Success 200 {string} string	"{code:0成功,-1参数类错误,-2服务端内部错误,msg:错误信息}"
-// @Router /api/tree/rename [post]
-func (c *TreeApi) PostRename() {
-	ErrMsg := ""
-	// 验证内容
-	FolderData, err := c.ServiceTree.ValidRule(c.Ctx)
-	if err != nil {
-		ErrMsg = utils.FormValidError(err)
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": ErrMsg})
-		return
-	} else {
-		// 重命名
-		projectId, err := utils.GetProjectId(c.Ctx)
-		if err != nil {
-			c.Ctx.JSON(iris.Map{"code": -1, "msg": err})
-			return
-		}
-		err = c.ServiceTree.Rename(FolderData, projectId)
-		if err != nil {
-			c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-			return
-		}
-		c.Ctx.JSON(iris.Map{
-			"code": 0,
-			"msg":  "重命名成功",
-		})
-	}
-}
-
-// @Summary 删除目录
-// @Tags 目录相关-管理员
-// @Description 删除目录下的目录以及其他内容
-// @Accept  json
-// @Produce  json
-// @Security ApiKeyAuth
-// @Param   id     body    string     true        "目录ID"
-// @Success 200 {string} string	"{code:0成功,-1参数类错误,-2服务端内部错误,msg:错误信息}"
-// @Router /api/tree [delete]
-func (c *TreeApi) Delete() {
-	// 获得需要删除数据
-	// api/tree/{id:int min(1)}
-	//id := c.Ctx.Params().Get("id")
-	//id := c.Ctx.URLParam("id")
-	// 获得该目录下所有的目录和标段
-	// treeData, err := c.ServiceTree.GetFolderAndBid(id)
-	// if err != nil {
-	// 	c.Ctx.JSON(iris.Map{
-	// 		"code": -1,
-	// 		"msg":  fmt.Sprintf("%s", err),
-	// 	})
-	// 	return
-	// }
-	// fmt.Println(treeData)
-	// 添加锁
-
-	idString := c.Ctx.URLParam("id")
-	if idString == "" {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": "目录不存在"})
-		return
-	}
-
-	id, err := utils.GetDecryptId(idString)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": err})
-		return
-	}
-	projectId, err := utils.GetProjectId(c.Ctx)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": err})
-		return
-	}
-
-	// 删除目录以及标段
-	err = c.ServiceTree.DeleteFolderAndBid(id, projectId)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{
-			"code": -1,
-			"msg":  fmt.Sprintf("%s", err),
-		})
-		return
-	}
-	c.Ctx.JSON(iris.Map{
-		"code": 0,
-		"msg":  "删除成功",
-	})
-}
-
-// @Summary 移动文件夹
-// @Tags 目录相关-管理员
-// @Description 移动文件夹
-// @Accept  json
-// @Produce  json
-// @Security ApiKeyAuth
-// @Param   id     body    string     true        "目录ID"
-// @Param   moveId     body    string     true        "被放置的目录ID"
-// @Success 200 {string} string	"{code:0成功,-1参数类错误,-2服务端内部错误,msg:错误信息}"
-// @Router /api/tree/move [post]
-func (c *TreeApi) PostMove() {
-	// 获得目录ID和移动目录ID--TODO 判断
-	Tree := viewmodels.Tree{}
-	err := c.Ctx.ReadJSON(&Tree)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-	id, err := utils.GetDecryptId(Tree.Id)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-	moveId, err := utils.GetDecryptId(Tree.TargetFolderId)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-
-	projectId, err := utils.GetProjectId(c.Ctx)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": err})
-		return
-	}
-
-	// 移动目录
-	err = c.ServiceTree.Move(id, moveId, projectId)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-	c.Ctx.JSON(iris.Map{
-		"code": 0,
-		"msg":  "移动成功",
-	})
-}

+ 0 - 66
web/backstage/login_bs.go

@@ -1,66 +0,0 @@
-/*
- * @description: 后台 登陆接口相关
- * @Author: CP
- * @Date: 2020-09-17 16:23:02
- * @FilePath: \construction_management\web\backstage\login_bs.go
- */
-package backstage
-
-import (
-	"fmt"
-
-	"github.com/kataras/iris/v12"
-	"go.mod/services"
-	"go.mod/web/utils"
-)
-
-type LoginBs struct {
-	//框架-web应用上下文环境
-	Ctx iris.Context
-	// 需要用的service
-	ServiceBackstage services.BackstageService
-}
-
-// @Summary 后台-登录
-// @Description 登录接口
-// @Tags 后台 - 登录/登出
-// @Accept  json
-// @Produce  json
-// @Param   account     body    string     true        "CLD账号" 	default(蔡频)
-// @Param   password     body    string    true        "密码"		default(123456)
-// @Success 200 {object} viewmodels.ProjectAccount "{code:0成功,data:viewmodels.ProjectAccount,msg:}"
-// @Failure 400 {string} string	"{code:-1参数类错误,msg:错误信息}"
-// @Router /backstage/login [post]
-func (c *LoginBs) Post() {
-
-	//验证规则
-	LoginData, err := c.ServiceBackstage.ValidRuleLogin(c.Ctx)
-	if err != nil {
-		ErrMsg := utils.FormValidError(err)
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": ErrMsg})
-		return
-	}
-	//验证登陆用户
-	Data, err := c.ServiceBackstage.ValidCldStaff(LoginData, c.Ctx.ResponseWriter())
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-	c.Ctx.JSON(iris.Map{
-		"code": 0,
-		"msg":  "",
-		"data": Data,
-	})
-}
-
-// @Summary 后台-登出
-// @Tags 后台 - 登录/登出
-// @Accept  json
-// @Produce  json
-// @Success 200 {string} string	"{code:0,msg:string}"
-// @Failure 400 {string} string "{code:-1,msg:string}"
-// @Router /backstage/out [post]
-func (c *LoginBs) PostOut() {
-	c.ServiceBackstage.Out(c.Ctx)
-	c.Ctx.JSON(iris.Map{"code": 0, "msg": ""})
-}

+ 0 - 405
web/backstage/project_account_bs.go

@@ -1,405 +0,0 @@
-/*
- * @description: 项目设置相关--管理员可访问
- * @Author: CP
- * @Date: 2020-10-09 10:35:38
- * @FilePath: \construction_management\web\backstage\project_account_bs.go
- */
-package backstage
-
-import (
-	"fmt"
-
-	"github.com/kataras/iris/v12"
-	"go.mod/services"
-	"go.mod/web/utils"
-	"go.mod/web/viewmodels"
-)
-
-type ProjectAccountBs struct {
-	//框架-web应用上下文环境
-	Ctx iris.Context
-	// 需要用的service
-	ServiceProjectAccount services.ProjectAccountService
-	ServiceProject        services.ProjectService
-	ServiceBidAccount     services.BidAccountService
-	ServiceBackstage      services.BackstageService
-}
-
-// @Summary 获得项目账号列表
-// @Tags 后台 - 项目账号
-// @Description id获得单条信息<br/>projectId必须传
-// @Accept  json
-// @Produce  json
-// @Security ApiKeyAuth
-// @Param   id     body    string     false        "账号ID"
-// @Param   projectId     body    string     false        "项目ID"
-// @Success 200 {object} viewmodels.ProjectAccount "{code:0成功,-1参数类错误,data:viewmodels.ProjectAccount,msg:错误信息}"
-// @Router /backstage/account [get]
-func (c *ProjectAccountBs) Get() {
-
-	accountData, err := c.ServiceProjectAccount.ValidRuleProjectId(c.Ctx)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-
-	// 获得项目ID
-	projectIdInt, err := utils.GetDecryptId(accountData.ProjectId)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-
-	if accountData.Id == "" {
-		// 获得所有项目下的账号
-		dataList := c.ServiceProjectAccount.GetAll(projectIdInt)
-		c.Ctx.JSON(iris.Map{
-			"code": 0,
-			"msg":  "",
-			"data": dataList,
-		})
-	} else {
-		// 获得单个账号ID
-		id, err := utils.GetDecryptId(accountData.Id)
-		if err != nil {
-			c.Ctx.JSON(iris.Map{"code": -1, "msg": err})
-			return
-		}
-
-		accountData := c.ServiceProjectAccount.Get(id, projectIdInt)
-		c.Ctx.JSON(iris.Map{
-			"code": 0,
-			"msg":  "",
-			"data": accountData,
-		})
-	}
-}
-
-// @Summary 检索账号信息
-// @Tags 后台 - 项目账号
-// @Description 检索字段:账号 姓名 单位 手机 前匹配
-// @Accept  json
-// @Produce  json
-// @Security ApiKeyAuth
-// @Param   name     body    string     true        "检索内容"
-// @Param   projectId     body    string     false        "项目ID"
-// @Success 200 {object} viewmodels.ProjectAccount "{code:0成功,-1参数类错误,data:viewmodels.ProjectAccount,msg:错误信息}"
-// @Router /backstage/account/search [get]
-func (c *ProjectAccountBs) GetSearch() {
-	accountData, err := c.ServiceProjectAccount.ValidRuleProjectId(c.Ctx)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-
-	// 获得项目ID
-	projectIdInt, err := utils.GetDecryptId(accountData.ProjectId)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-
-	// 获得检索关键字
-	AccountData := viewmodels.ProjectAccount{}
-	err = c.Ctx.ReadForm(&AccountData)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("JSON转换异常, error=%s", err)})
-		return
-	}
-
-	// 检索
-	dataList := c.ServiceProjectAccount.Search(AccountData.Name, projectIdInt)
-	c.Ctx.JSON(iris.Map{
-		"code": 0, "msg": "",
-		"data": dataList,
-	})
-}
-
-// @Summary 创建账号
-// @Tags 后台 - 项目账号
-// @Description 新增账号
-// @Accept  json
-// @Produce  json
-// @Security ApiKeyAuth
-// @Param   projectId     body    string     true        "项目ID"
-// @Param   account     body    string     true        "账号"
-// @Param   password     body    string     true        "密码"
-// @Param   role     body    int     true        "角色ID"
-// @Param   name     body    string     true        "姓名"
-// @Param   company     body    string     true        "公司"
-// @Param   position     body    string     true        "职位"
-// @Param   mobile     body    string     true        "手机"
-// @Param   telephone     body    string     true        "座机"
-// @Success 200 {string} string "{code:0成功,-1参数类错误,data:viewmodels.ProjectAccount,msg:错误信息}"
-// @Router /backstage/account/create [post]
-func (c *ProjectAccountBs) PostCreate() {
-	// 验证内容
-	accountData, err := c.ServiceBackstage.ValidRuleAccountAdd(c.Ctx)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-
-	// 项目ID
-	projectId, err := utils.GetDecryptId(accountData.ProjectId)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-	// 是否有该项目
-	_, err = c.ServiceProject.Get(projectId)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": "项目不存在"})
-		return
-	}
-
-	// 新增账号信息
-	err = c.ServiceProjectAccount.AddBs(accountData, projectId)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-	c.Ctx.JSON(iris.Map{"code": 0, "msg": "新增成功"})
-
-}
-
-// @Summary 编辑账号
-// @Tags 后台 - 项目账号
-// @Description 编辑账号
-// @Accept  json
-// @Produce  json
-// @Security ApiKeyAuth
-// @Param   id     body    string     true        "账号ID" default(PcqqGsn1O0jBSmLqkuOTwQ)
-// @Param   projectId     body    string     true        "项目ID"
-// @Param   name     body    string     true        "姓名"
-// @Param   company     body    string     true        "公司"
-// @Param   position     body    string     true        "职位"
-// @Param   mobile     body    string     true        "手机"
-// @Param   telephone     body    string     true        "座机"
-// @Param   X-CSRF-Token      header    string     true        "csrf"
-// @Success 200 {string} string "{code:0成功,-1参数类错误,data:viewmodels.ProjectAccount,msg:错误信息}"
-// @Router /backstage/account/save [post]
-func (c *ProjectAccountBs) PostSave() {
-
-	// 验证内容
-	accountData, err := c.ServiceBackstage.ValidRuleAccountSave(c.Ctx)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-
-	// 获得更新账号ID
-	id, err := utils.GetDecryptId(accountData.Id)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-	// 项目ID
-	projectId, err := utils.GetDecryptId(accountData.ProjectId)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-
-	err = c.ServiceProjectAccount.Save(accountData, id, projectId)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-	c.Ctx.JSON(iris.Map{"code": 0, "msg": "编辑成功"})
-
-}
-
-// @Summary 账号启用/禁用
-// @Tags 项目设置-管理员
-// @Description 账号启用/禁用
-// @Accept  json
-// @Produce  json
-// @Security ApiKeyAuth
-// @Param   id     body    string     true        "账号ID" default(PcqqGsn1O0jBSmLqkuOTwQ)
-// @Param   projectId     body    string     true        "项目ID"
-// @Param   enable     body    int     true        "启用/禁用"
-// @Success 200 {string} string "{code:0成功,-1参数类错误,data:viewmodels.ProjectAccount,msg:错误信息}"
-// @Router /backstage/account/enable [post]
-func (c *ProjectAccountBs) PostEnable() {
-
-	// 验证内容
-	accountData, err := c.ServiceBackstage.ValidRuleAccountEnable(c.Ctx)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-
-	// 账号ID校验
-	id, err := utils.GetDecryptId(accountData.Id)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": "账号异常"})
-		return
-	}
-	// 项目ID
-
-	projectId, err := utils.GetDecryptId(accountData.ProjectId)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": "账号异常"})
-		return
-	}
-
-	err = c.ServiceProjectAccount.Enable(id, projectId, accountData.Enable)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": err})
-		return
-	}
-	c.Ctx.JSON(iris.Map{"code": 0, "msg": "操作成功"})
-}
-
-// @Summary 设置账号密码
-// @Tags 项目设置-管理员
-// @Description 设置账号密码
-// @Accept  json
-// @Produce  json
-// @Security ApiKeyAuth
-// @Param   id     body    string     true        "账号ID" default(PcqqGsn1O0jBSmLqkuOTwQ)
-// @Param   projectId     body    string     true        "项目ID"
-// @Param   account     body    string     true        "账号" default(textoopd)
-// @Param   password     body    string     true        "密码" default(ww123456)
-// @Param   X-CSRF-Token      header    string     true        "csrf"
-// @Success 200 {string} string "{code:0成功,-1参数类错误,data:viewmodels.ProjectAccount,msg:错误信息}"
-// @Router /backstage/account/change [post]
-func (c *ProjectAccountBs) PostChange() {
-	// 验证内容
-	accountData, err := c.ServiceBackstage.ValidRuleAccountPassword(c.Ctx)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-
-	// 获得更新账号ID
-	id, err := utils.GetDecryptId(accountData.Id)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-	projectId, err := utils.GetDecryptId(accountData.ProjectId)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-
-	err = c.ServiceProjectAccount.ChangeAccountBS(id, projectId, accountData)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-	c.Ctx.JSON(iris.Map{"code": 0, "msg": "编辑成功"})
-}
-
-// @Summary 删除账号
-// @Tags 项目设置-管理员
-// @Description 删除账号
-// @Accept  json
-// @Produce  json
-// @Security ApiKeyAuth
-// @Param   id     body    string     true        "账号ID" default(PcqqGsn1O0jBSmLqkuOTwQ)
-// @Param   projectId     body    string     true        "项目ID"
-// @Success 200 {string} string "{code:0成功,-1参数类错误,data:viewmodels.ProjectAccount,msg:错误信息}"
-// @Router /backstage/account/delete [post]
-// func (c *ProjectAccountBs) PostDelete() {
-
-// 	// TODO
-// 	// 验证内容
-// 	// accountData, err := c.ServiceBackstage.ValidRuleAccountEnable(c.Ctx)
-// 	// if err != nil {
-// 	// 	c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-// 	// 	return
-// 	// }
-
-// 	accountVaild := viewmodels.ProjectAccount{}
-// 	err := c.Ctx.ReadJSON(&accountVaild)
-// 	if err != nil {
-// 		c.Ctx.JSON(iris.Map{"code": -1, "msg": "参数错误"})
-// 		return
-// 	}
-// 	// 账号ID校验
-// 	id, err := utils.GetDecryptId(accountVaild.Id)
-// 	if err != nil {
-// 		c.Ctx.JSON(iris.Map{"code": -1, "msg": "账号异常"})
-// 		return
-// 	}
-// 	// 项目ID
-// 	projectId, err := utils.GetProjectId(c.Ctx)
-// 	if err != nil {
-// 		c.Ctx.JSON(iris.Map{"code": -1, "msg": "账号异常"})
-// 		return
-// 	}
-
-// 	err = c.ServiceProjectAccount.Delete(id, projectId)
-// 	if err != nil {
-// 		c.Ctx.JSON(iris.Map{"code": -1, "msg": err})
-// 		return
-// 	}
-// 	c.Ctx.JSON(iris.Map{"code": 0, "msg": "操作成功"})
-// }
-
-// // @Summary 获取项目信息
-// // @Tags 项目设置-管理员
-// // @Description 获取项目信息
-// // @Accept  json
-// // @Produce  json
-// // @Security ApiKeyAuth
-// // @Success 200 {string} string "{code:0成功,-1参数类错误,data:viewmodels.ProjectAccount,msg:错误信息}"
-// // @Router /backstage/account/project [get]
-// func (c *ProjectAccountBs) GetProject() {
-// 	projectId, err := utils.GetProjectId(c.Ctx)
-// 	if err != nil {
-// 		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-// 		return
-// 	}
-// 	projectdata, err := c.ServiceProject.Get(projectId)
-// 	userId, _ := utils.GetDecryptId(projectdata.UserId)
-// 	accountData := c.ServiceProjectAccount.Get(userId, projectId)
-
-// 	data := make(map[string]interface{})
-// 	data["project"] = projectdata
-// 	data["account"] = accountData
-
-// 	if err != nil {
-// 		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-// 		return
-// 	} else {
-// 		c.Ctx.JSON(iris.Map{"code": 0, "msg": "操作成功", "data": data})
-// 	}
-// }
-
-// // @Summary 保存项目信息
-// // @Tags 项目设置-管理员
-// // @Description 保存项目信息
-// // @Accept  json
-// // @Produce  json
-// // @Security ApiKeyAuth
-// // @Param   name     body    string     true        "账号ID" default(红旗大桥)
-// // @Param   X-CSRF-Token      header    string     true        "csrf"
-// // @Success 200 {string} string "{code:0成功,-1参数类错误,data:viewmodels.ProjectAccount,msg:错误信息}"
-// // @Router /backstage/account/project/save [post]
-// func (c *ProjectAccountBs) PostProjectSave() {
-
-// 	ProjectData, err := c.ServiceProject.ValidRule(c.Ctx)
-// 	if err != nil {
-// 		ErrMsg := utils.FormValidError(err)
-// 		c.Ctx.JSON(iris.Map{"code": -1, "msg": ErrMsg})
-// 		return
-// 	} else {
-// 		// 项目ID
-// 		projectId, err := utils.GetProjectId(c.Ctx)
-// 		if err != nil {
-// 			c.Ctx.JSON(iris.Map{"code": -1, "msg": "账号异常"})
-// 			return
-// 		}
-
-// 		err = c.ServiceProject.Save(projectId, ProjectData)
-// 		if err != nil {
-// 			c.Ctx.JSON(iris.Map{"code": -1, "msg": err})
-// 			return
-// 		}
-// 		c.Ctx.JSON(iris.Map{"code": 0, "msg": "操作成功"})
-// 	}
-// }

+ 0 - 244
web/backstage/project_bs.go

@@ -1,244 +0,0 @@
-/*
- * @description: 后台项目相关
- * @Author: CP
- * @Date: 2020-09-23 09:46:21
- * @FilePath: \construction_management\web\backstage\project_bs.go
- */
-package backstage
-
-import (
-	"fmt"
-
-	"github.com/kataras/iris/v12"
-	"go.mod/services"
-	"go.mod/web/utils"
-	"go.mod/web/viewmodels"
-)
-
-type ProjectBs struct {
-	//框架-web应用上下文环境
-	Ctx iris.Context
-	// 需要用的service
-	ServiceProject   services.ProjectService
-	ServiceBackstage services.BackstageService
-}
-
-// // 保存项目管理员信息
-// func (c *ProjectBs) PostSave() {
-// 	ErrMsg := ""
-// 	// 验证内容
-// 	AccountData, err := c.ServiceProjectAccount.ValidRule(c.Ctx)
-// 	if err != nil {
-// 		ErrMsg = utils.FormValidError(err)
-// 		comm.Redirect(c.Ctx.ResponseWriter(), "/account?errMsg="+ErrMsg)
-// 	} else {
-// 		// 获得更新用户ID
-// 		id, err := c.Ctx.Values().GetInt("accountId")
-// 		if err != nil {
-// 			comm.Redirect(c.Ctx.ResponseWriter(), "/account?errMsg="+ErrMsg)
-// 		}
-// 		// 保存信息
-// 		err = c.ServiceProjectAccount.Save(AccountData, id, 0)
-// 		if err != nil {
-// 			comm.Redirect(c.Ctx.ResponseWriter(), "/account?errMsg="+ErrMsg)
-// 		}
-// 		comm.Redirect(c.Ctx.ResponseWriter(), "/account?success=修改成功")
-// 	}
-// }
-
-// @Summary 后台-项目列表相关
-// @Tags 后台 - 项目
-// @Accept  json
-// @Produce  json
-// @Param   page     body    int     true        "当前页数" 	default(蔡频)
-// @Param   size     body    int    true        "每页数量"		default(123456)
-// @Success 200 {object} viewmodels.ProjectAccount "{code:0成功,data:viewmodels.ProjectAccount,msg:}"
-// @Failure 400 {string} string	"{code:-1参数类错误,msg:错误信息}"
-// @Router /backstage/project/list [get]
-func (c *ProjectBs) GetList() {
-
-	pageData, err := c.ServiceProject.ValidRulePage(c.Ctx)
-	if err != nil {
-		ErrMsg := utils.FormValidError(err)
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": ErrMsg})
-		return
-	}
-
-	// 获得项目信息
-	dataList := c.ServiceProject.GetList(pageData.Page, pageData.Size)
-	c.Ctx.JSON(iris.Map{
-		"code": 0,
-		"msg":  "",
-		"data": dataList,
-	})
-
-}
-
-// @Summary 后台-项目列表相关
-// @Tags 后台 - 项目
-// @Accept  json
-// @Produce  json
-// @Param   id     body    int     true        "项目ID"
-// @Success 200 {object} viewmodels.ProjectAccount "{code:0成功,data:viewmodels.ProjectAccount,msg:}"
-// @Failure 400 {string} string	"{code:-1参数类错误,msg:错误信息}"
-// @Router /backstage/project [get]
-func (c *ProjectBs) Get() {
-
-	AccountData, err := c.ServiceBackstage.ValidRuleProject(c.Ctx)
-	if err != nil {
-		ErrMsg := utils.FormValidError(err)
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": ErrMsg})
-		return
-	}
-	// 获得项目ID
-	projectIdInt, err := utils.GetDecryptId(AccountData.Id)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-	// 获得项目信息
-	ProjectData, err := c.ServiceProject.Get(projectIdInt)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-	c.Ctx.JSON(iris.Map{
-		"code": 0,
-		"data": ProjectData,
-		"msg":  "",
-	})
-}
-
-// @Summary 后台-办事处列表和员工
-// @Tags 后台 - 项目
-// @Accept  json
-// @Produce  json
-// @Param   categoryId     body    string     true        "办事处ID"
-// @Success 200 {object} viewmodels.ProjectAccount "{code:0成功,data:viewmodels.ProjectAccount,msg:}"
-// @Failure 400 {string} string	"{code:-1参数类错误,msg:错误信息}"
-// @Router /backstage/project/cld [get]
-func (c *ProjectBs) GetCld() {
-
-	cldData := viewmodels.StaffCld{}
-	err := c.Ctx.ReadForm(&cldData)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-
-	// 获得项目ID
-	// categoryId := 0
-	// if cldData.CategoryId != "" {
-	// 	categoryId, err = utils.GetDecryptId(cldData.CategoryId)
-	// 	if err != nil {
-	// 		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-	// 		return
-	// 	}
-	// }
-
-	// 获得项目信息
-	// c.ServiceBackstage.GetCldByCategoryId(categoryId)
-	data, err := c.ServiceBackstage.GetCldByCategoryId(cldData.CategoryId)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-	c.Ctx.JSON(iris.Map{
-		"code": 0,
-		"data": data,
-		"msg":  "",
-	})
-}
-
-// @Summary 后台-新增项目
-// @Tags 后台 - 项目
-// @Accept  json
-// @Produce  json
-// @Param   code     body    string     true        "项目编号"
-// @Param   name     body    string     true        "项目名称"
-// @Param   categoryId     body    string     true        "办事处Id"
-// @Param   category     body    string     true        "办事处"
-// @Param   staffId     body    string     true        "负责人Id"
-// @Param   staffName     body    string     true        "负责人"
-// @Param   remark     body    string     true        "备注"
-// @Success 200 {object} viewmodels.ProjectAccount "{code:0成功,data:viewmodels.ProjectAccount,msg:}"
-// @Failure 400 {string} string	"{code:-1参数类错误,msg:错误信息}"
-// @Router /backstage/project/add [post]
-func (c *ProjectBs) PostAdd() {
-
-	projectData, err := c.ServiceBackstage.ValidRuleProjectAdd(c.Ctx)
-	if err != nil {
-		ErrMsg := utils.FormValidError(err)
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": ErrMsg})
-		return
-	}
-
-	// 获得用户名称和办事处
-	staffName, err := utils.GetBackstageKey(c.Ctx, "StaffName")
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-	category, err := utils.GetBackstageKey(c.Ctx, "Category")
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-	projectData.CreateName = staffName
-	projectData.CreateCategory = category
-	// 新增项目信息
-	err = c.ServiceProject.Add(projectData)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-	c.Ctx.JSON(iris.Map{
-		"code": 0,
-		"data": "",
-		"msg":  "新增成功",
-	})
-}
-
-// @Summary 后台-编辑项目
-// @Tags 后台 - 项目
-// @Accept  json
-// @Produce  json
-// @Param   id     body    string     true        "项目ID"
-// @Param   name     body    string     true        "项目名称"
-// @Param   insideCategoryId     body    string     true        "所在办事处Id"
-// @Param   insideCategory     body    string     true        "所在办事处"
-// @Param   categoryId     body    string     true        "办事处Id"
-// @Param   category     body    string     true        "办事处"
-// @Param   staffId     body    string     true        "负责人Id"
-// @Param   staffName     body    string     true        "负责人"
-// @Param   remark     body    string     true        "备注"
-// @Success 200 {object} viewmodels.ProjectAccount "{code:0成功,data:viewmodels.ProjectAccount,msg:}"
-// @Failure 400 {string} string	"{code:-1参数类错误,msg:错误信息}"
-// @Router /backstage/project/save [post]
-func (c *ProjectBs) PostSave() {
-	projectData, err := c.ServiceBackstage.ValidRuleProjectSave(c.Ctx)
-	if err != nil {
-		ErrMsg := utils.FormValidError(err)
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": ErrMsg})
-		return
-	}
-
-	// 解析项目ID
-	id, err := utils.GetDecryptId(projectData.Id)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-
-	// 新增项目信息
-	err = c.ServiceProject.SaveBs(projectData, id)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
-		return
-	}
-	c.Ctx.JSON(iris.Map{
-		"code": 0,
-		"data": "",
-		"msg":  "编辑成功",
-	})
-}

+ 0 - 186
web/middleware/accessAuth.go

@@ -1,186 +0,0 @@
-/*
- * @description: 访问权限认证
- * @Author: CP
- * @Date: 2020-10-09 10:43:39
- * @FilePath: \construction_management\web\middleware\accessAuth.go
- */
-package middleware
-
-import (
-	"encoding/json"
-	"errors"
-	"fmt"
-	"io/ioutil"
-	"log"
-
-	"github.com/kataras/iris/v12"
-	"go.mod/dao"
-	"go.mod/datasource"
-	"go.mod/models"
-	"go.mod/web/utils"
-)
-
-// 员工表权限解析
-type permission struct {
-	Add    int ` json:"add" `
-	Delete int ` json:"delete" `
-	Access int ` json:"access" `
-}
-
-// 权限JSON对象
-type permissionPath struct {
-	Contract       path     `json:"contract" `
-	Safe           path     `json:"safe" `
-	Quality        path     `json:"quality" `
-	ProjectSetting []string `json:"projectSetting" `
-}
-
-// 对象中地址列表
-type path struct {
-	Add    []string `json:"add" `
-	Access []string `json:"access" `
-	Delete []string `json:"delete" `
-}
-
-// 权限验证中间件
-func AccessAuth(ctx iris.Context) {
-
-	// 1.获得成员信息
-	account := ctx.Values().Get("account").(*models.CmProjectAccount)
-	if account.Enable == 0 {
-		ctx.JSON(iris.Map{"code": 2, "msg": "该账号被禁用"})
-		return
-	}
-
-	// 需要先设置标段ID,在获得权限进行判断
-	// 账号活动状态下,入口必须是 /api/contract/survey,
-	path := ctx.Path()
-	if path == "/api/contract/survey" || path == "/api/quality/survey" || path == "/api/safe/survey" {
-		ctx.Next()
-		return
-	}
-
-	// 1-1获得标段ID --没有标段ID 默认为0
-	bidsectionIdHeader := ctx.GetHeader("bidsectionId")
-	bidsectionId, _ := utils.GetDecryptId(bidsectionIdHeader)
-
-	// if bidsectionIdHeader == "" {
-	// 	ctx.JSON(iris.Map{"code": 2, "msg": "标段解析出错"})
-	// 	return
-	// } else {
-	// 	bidsectionId, err := utils.GetDecryptId(bidsectionIdHeader)
-	// 	if err != nil {
-	// 		ctx.JSON(iris.Map{"code": 2, "msg": "标段解析出错"})
-	// 		return
-	// 	}
-
-	// }
-
-	// key := fmt.Sprintf("pm_%d_%d", account.ProjectId, account.Id)
-	// bidsectionId := lib.NewRedis().GetBidsectionIdByCache(key)
-
-	// 1-2 获得账号权限
-	permissionAccountDao := dao.NewPermissionAccountDao(datasource.InstanceDbMaster())
-	permissionData := permissionAccountDao.GetBidsectionIdAccountId(bidsectionId, account.Id)
-	// permissionData := s.permissionAccountDao.GetBidsectionId(bidsectionId)
-	// fmt.Println(bidsectionId, account.Id)
-	// fmt.Println(permissionData)
-
-	// 1-1.是管理员- 拥有所有权限
-	if account.IsAdmin != 1 {
-		// if account.IsAdmin == 1 {
-		// 2.获得员工可访问的权限
-		contractPermission := permission{}
-		if permissionData.ContractPermission != "" {
-			err := json.Unmarshal([]byte(permissionData.ContractPermission), &contractPermission)
-			// 错误后 全部权限默认为0
-			if err != nil {
-				log.Println("合同权限解析错误:err=", err)
-			}
-		}
-		safePermission := permission{}
-		if permissionData.SafePermission != "" {
-			err := json.Unmarshal([]byte(permissionData.SafePermission), &safePermission)
-			if err != nil {
-				log.Println("安全权限解析错误:err=", err)
-			}
-		}
-		qualityPermission := permission{}
-		if permissionData.QualityPermission != "" {
-			err := json.Unmarshal([]byte(permissionData.QualityPermission), &qualityPermission)
-			if err != nil {
-				log.Println("质量权限解析错误:err=", err)
-			}
-		}
-
-		// 2-1获得权限列表
-		permissionPath := permissionPath{}
-		permissionPathData, err := ioutil.ReadFile("../lib/permission.json")
-		err = json.Unmarshal(permissionPathData, &permissionPath)
-		if err != nil {
-			log.Println("权限解析错误:err=", err)
-			ctx.JSON(iris.Map{"code": 2, "msg": "权限解析错误"})
-			return
-		}
-		// 2-2 不容许访问的权限--比对访问路径
-		requestPath := ctx.Path()
-
-		// 2-3 请求的类型
-		method := ctx.Request().Method
-
-		// 合同权限
-		err = verifyAuth(contractPermission, permissionPath.Contract, requestPath, method)
-		if err != nil {
-			ctx.JSON(iris.Map{"code": 2, "msg": fmt.Sprintf("%s", err)})
-			return
-		}
-		// 安全权限
-		err = verifyAuth(safePermission, permissionPath.Safe, requestPath, method)
-		if err != nil {
-			ctx.JSON(iris.Map{"code": 2, "msg": fmt.Sprintf("%s", err)})
-			return
-		}
-		// 质量权限
-		err = verifyAuth(qualityPermission, permissionPath.Quality, requestPath, method)
-		if err != nil {
-			ctx.JSON(iris.Map{"code": 2, "msg": fmt.Sprintf("%s", err)})
-			return
-		}
-		// 项目设置 -只有管理员才能访问
-		for _, path := range permissionPath.ProjectSetting {
-			if path == requestPath {
-				ctx.JSON(iris.Map{"code": 2, "msg": "无权访问"})
-				return
-			}
-		}
-
-	}
-
-	ctx.Next()
-}
-
-// 验证权限路径
-func verifyAuth(permission permission, pathList path, requestPath string, method string) error {
-	if permission.Add == 0 {
-		for _, path := range pathList.Add {
-			if path == requestPath && method == "POST" {
-				return errors.New("无权访问")
-			}
-		}
-	}
-	if permission.Access == 0 {
-		for _, path := range pathList.Access {
-			if path == requestPath && method == "GET" {
-				return errors.New("无权访问")
-			}
-		}
-	}
-	if permission.Delete == 0 {
-		for _, path := range pathList.Delete {
-			if path == requestPath && (method == "POST" || method == "DELETE") {
-				return errors.New("无权访问")
-			}
-		}
-	}
-	return nil
-}

+ 0 - 26
web/middleware/basicauth.go

@@ -1,26 +0,0 @@
-/*
- * @description: 登录权限中间件
- * @Author: CP
- * @Date: 2020-08-28 11:42:39
- * @FilePath: \construction_management\web\middleware\basicauth.go
- */
-package middleware
-
-import (
-	"fmt"
-
-	"github.com/kataras/iris/v12"
-	"github.com/kataras/iris/v12/middleware/basicauth"
-)
-
-// BasicAuth middleware sample.
-var BasicAuth = basicauth.New(basicauth.Config{
-	Users: map[string]string{
-		"admin": "password",
-	},
-})
-
-func Before(ctx iris.Context) {
-	fmt.Println("before")
-	// [...]
-}

+ 0 - 22
web/middleware/csrf.go

@@ -1,22 +0,0 @@
-/*
- * @description:CSRF 相关设置
- * @Author: CP
- * @Date: 2020-08-28 15:47:10
- * @FilePath: \construction_management\web\middleware\csrf.go
- */
-package middleware
-
-import (
-	"github.com/iris-contrib/middleware/csrf"
-	"github.com/kataras/iris/v12"
-)
-
-//设置CSRF信息
-func SetCsrf(ctx iris.Context) {
-	//ctx.Header("X-CSRF-Token", csrf.Token(ctx))
-	ctx.Header("X-CSRF-TOKEN", csrf.Token(ctx))
-	// fmt.Println(csrf.Token(ctx))
-
-	ctx.ViewData(csrf.TemplateTag, csrf.TemplateField(ctx))
-	ctx.Next()
-}

+ 1 - 0
web/middleware/jwt.go

@@ -36,6 +36,7 @@ func JwtAuth() *jwt.Middleware {
 		},
 		// 设置一个函数返回秘钥,关键在于return []byte("这里设置秘钥")
 		ValidationKeyGetter: func(token *jwt.Token) (interface{}, error) {
+
 			return []byte(conf.SignSecret), nil
 		},
 

+ 0 - 164
web/middleware/sessions.go

@@ -1,164 +0,0 @@
-/*
- * @description: session判断中间件
- * @Author: CP
- * @Date: 2020-08-28 14:17:23
- * @FilePath: \construction_management\web\middleware\sessions.go
- */
-package middleware
-
-import (
-	"errors"
-	"net/url"
-	"strconv"
-
-	"github.com/kataras/iris/v12"
-	"go.mod/comm"
-	"go.mod/conf"
-	"go.mod/dao"
-	"go.mod/datasource"
-)
-
-func SessionsAuth(ctx iris.Context) {
-	// 获得cookie
-	cookie, err := ctx.Request().Cookie("cm")
-	if err != nil {
-		ctx.JSON(iris.Map{"code": 1, "msg": "请重新登陆"})
-		return
-	}
-	// 格式化
-	params, err := url.ParseQuery(cookie.Value)
-	if err != nil {
-		ctx.JSON(iris.Map{"code": 1, "msg": "请重新登陆"})
-		return
-	}
-
-	// 获得用户信息--TODO 存放redis
-	// 解密用户标识
-	identityId, err := getDecryptId(params.Get("identity"))
-	if err != nil {
-		ctx.JSON(iris.Map{"code": 1, "msg": "账号发生异常1"})
-		return
-	}
-	// 数字证书
-	digitalToken := comm.CreateSign(conf.CookieSecret + strconv.Itoa(identityId))
-
-	// 解密副标识
-	attachedIdentityId, err := getDecryptId(params.Get("attachedIdentity"))
-	if err != nil {
-		ctx.JSON(iris.Map{"code": 1, "msg": "账号发生异常2"})
-		return
-	}
-	projectAccountDao := dao.NewProjectAccountDao(datasource.InstanceDbMaster())
-	accountInfo := projectAccountDao.Get(identityId, attachedIdentityId)
-	// npaSer := services.NewProjectAccountService()
-	// accountInfo := npaSer.Get(identityId, attachedIdentityId)
-
-	if accountInfo.Id == 0 {
-		ctx.JSON(iris.Map{"code": 1, "msg": "账号不存在"})
-		return
-	}
-	if accountInfo.Enable == 0 {
-		ctx.RemoveCookie("cm")
-		ctx.JSON(iris.Map{"code": 1, "msg": "账号被停用"})
-		return
-	}
-
-	ctx.Values().Set("accountId", identityId)
-	ctx.Values().Set("projectId", attachedIdentityId)
-	ctx.Values().Set("account", accountInfo)
-	// 设置viewData
-	//ctx.ViewData("Account", accountInfo)
-
-	// 比对数字证书
-	if digitalToken != params.Get("digitalToken") {
-		ctx.JSON(iris.Map{"code": 1, "msg": "账号异常3"})
-		return
-	}
-	// TODO 分布式session
-
-	//通过后执行下一步
-	ctx.Next()
-}
-
-// 获得解密后的ID
-func getDecryptId(id string) (int, error) {
-	id, err := comm.AesDecrypt(id, conf.CookieSecret)
-	if err != nil {
-		return 0, errors.New("ID 解析错误")
-	}
-	idInt, err := strconv.Atoi(id)
-	if err != nil {
-		return 0, errors.New("ID 转换错误")
-	}
-	return idInt, nil
-}
-
-// 登陆态-认证
-// func SessionsAuth(ctx iris.Context) {
-// 	// 获得cookie
-// 	cookie, err := ctx.Request().Cookie("cm")
-// 	if err != nil {
-// 		comm.Redirect(ctx.ResponseWriter(), "/login")
-// 	}
-// 	// 格式化
-// 	params, err := url.ParseQuery(cookie.Value)
-// 	if err != nil {
-// 		comm.Redirect(ctx.ResponseWriter(), "/login")
-// 	}
-
-// 	// 解密用户标识
-// 	identity, err := comm.AesDecrypt(params.Get("identity"), conf.CookieSecret)
-// 	if err != nil {
-// 		comm.Redirect(ctx.ResponseWriter(), "/login")
-// 	}
-// 	digitalToken := comm.CreateSign(conf.CookieSecret + identity)
-
-// 	// 获得用户信息--TODO 存放redis
-// 	npaSer := services.NewProjectAccountService()
-// 	identityId, err := strconv.Atoi(identity)
-// 	if err != nil {
-// 		comm.Redirect(ctx.ResponseWriter(), "/login")
-// 	}
-// 	// TODO 项目ID的获得
-// 	accountInfo := npaSer.Get(identityId, 2)
-// 	if accountInfo.Id == "0" {
-// 		comm.Redirect(ctx.ResponseWriter(), "/login")
-// 	}
-// 	ctx.Values().Set("accountId", identity)
-// 	projectId, err := comm.AesDecrypt(accountInfo.ProjectId, conf.SignSecret)
-// 	if err != nil {
-// 		comm.Redirect(ctx.ResponseWriter(), "/login")
-// 	}
-// 	ctx.Values().Set("projectId", projectId)
-// 	// 设置viewData
-// 	ctx.ViewData("Account", accountInfo)
-// 	// npaDao := dao.NewProjectAccountDao(datasource.InstanceDbMaster())
-// 	// identityId, err := strconv.Atoi(identity)
-// 	// if err != nil {
-// 	// 	comm.Redirect(ctx.ResponseWriter(), "/login")
-// 	// }
-// 	// accountInfo := npaDao.Get(identityId)
-// 	// if accountInfo.Id == 0 {
-// 	// 	comm.Redirect(ctx.ResponseWriter(), "/login")
-// 	// }
-// 	// ctx.Values().Set("accountId", identity)
-
-// 	// 设置viewData
-// 	// accountView := viewmodels.ProjectAccount{}
-// 	// accountView.Account = accountInfo.Account
-// 	// accountView.Name = accountInfo.Name
-// 	// accountView.Company = accountInfo.Company
-// 	// accountView.Role = accountInfo.Role
-// 	// accountView.Mobile = accountInfo.Mobile
-// 	// accountView.Telephone = accountInfo.Telephone
-// 	// ctx.ViewData("Account", accountView)
-
-// 	// 比对数字证书
-// 	if digitalToken != params.Get("digitalToken") {
-// 		comm.Redirect(ctx.ResponseWriter(), "/login")
-// 	}
-// 	// TODO 分布式session
-
-// 	//通过后执行下一步
-// 	ctx.Next()
-// }

+ 0 - 157
web/middleware/sessions_backstage.go

@@ -1,157 +0,0 @@
-/*
- * @description: session判断中间件
- * @Author: CP
- * @Date: 2020-08-28 14:17:23
- * @FilePath: \construction_management\web\middleware\sessions_backstage.go
- */
-package middleware
-
-import (
-	"errors"
-	"net/url"
-
-	"github.com/kataras/iris/v12"
-	"go.mod/comm"
-	"go.mod/conf"
-)
-
-func SessionsBackstageAuth(ctx iris.Context) {
-	// 获得cookie
-	cookie, err := ctx.Request().Cookie("cmBackstage")
-	if err != nil {
-		ctx.JSON(iris.Map{"code": 1, "msg": "请重新登陆"})
-		return
-	}
-	// 格式化
-	params, err := url.ParseQuery(cookie.Value)
-	if err != nil {
-		ctx.JSON(iris.Map{"code": 1, "msg": "请重新登陆"})
-		return
-	}
-
-	// 获得用户信息--TODO 存放redis
-	// 解密用户标识
-	UserName, err := getDecryptValue(params.Get("identity"))
-	if err != nil {
-		ctx.JSON(iris.Map{"code": 1, "msg": "账号发生异常1"})
-		return
-	}
-	// 数字证书
-	digitalToken := comm.CreateSign(conf.CookieSecret + params.Get("identity"))
-
-	// 解密副标识
-	Category, err := getDecryptValue(params.Get("attachedIdentity"))
-	if err != nil {
-		ctx.JSON(iris.Map{"code": 1, "msg": "账号发生异常2"})
-		return
-	}
-	// projectAccountDao := dao.NewProjectAccountDao(datasource.InstanceDbMaster())
-	// accountInfo := projectAccountDao.Get(UserName, attachedIdentityId)
-	// npaSer := services.NewProjectAccountService()
-	// accountInfo := npaSer.Get(identityId, attachedIdentityId)
-
-	// if accountInfo.Id == 0 {
-	// 	ctx.JSON(iris.Map{"code": 1, "msg": "账号不存在"})
-	// 	return
-	// }
-	// if accountInfo.Enable == 0 {
-	// 	ctx.RemoveCookie("cm")
-	// 	ctx.JSON(iris.Map{"code": 1, "msg": "账号被停用"})
-	// 	return
-	// }
-
-	ctx.Values().Set("StaffName", UserName)
-	ctx.Values().Set("Category", Category)
-	// 设置viewData
-	//ctx.ViewData("Account", accountInfo)
-
-	// 比对数字证书
-	if digitalToken != params.Get("digitalToken") {
-		ctx.JSON(iris.Map{"code": 1, "msg": "账号异常3"})
-		return
-	}
-	// TODO 分布式session
-
-	//通过后执行下一步
-	ctx.Next()
-}
-
-// 获得解密后的ID
-func getDecryptValue(id string) (string, error) {
-	value, err := comm.AesDecrypt(id, conf.CookieSecret)
-	if err != nil {
-		return "", errors.New("ID 解析错误")
-	}
-
-	return value, nil
-}
-
-// 登陆态-认证
-// func SessionsAuth(ctx iris.Context) {
-// 	// 获得cookie
-// 	cookie, err := ctx.Request().Cookie("cm")
-// 	if err != nil {
-// 		comm.Redirect(ctx.ResponseWriter(), "/login")
-// 	}
-// 	// 格式化
-// 	params, err := url.ParseQuery(cookie.Value)
-// 	if err != nil {
-// 		comm.Redirect(ctx.ResponseWriter(), "/login")
-// 	}
-
-// 	// 解密用户标识
-// 	identity, err := comm.AesDecrypt(params.Get("identity"), conf.CookieSecret)
-// 	if err != nil {
-// 		comm.Redirect(ctx.ResponseWriter(), "/login")
-// 	}
-// 	digitalToken := comm.CreateSign(conf.CookieSecret + identity)
-
-// 	// 获得用户信息--TODO 存放redis
-// 	npaSer := services.NewProjectAccountService()
-// 	identityId, err := strconv.Atoi(identity)
-// 	if err != nil {
-// 		comm.Redirect(ctx.ResponseWriter(), "/login")
-// 	}
-// 	// TODO 项目ID的获得
-// 	accountInfo := npaSer.Get(identityId, 2)
-// 	if accountInfo.Id == "0" {
-// 		comm.Redirect(ctx.ResponseWriter(), "/login")
-// 	}
-// 	ctx.Values().Set("accountId", identity)
-// 	projectId, err := comm.AesDecrypt(accountInfo.ProjectId, conf.SignSecret)
-// 	if err != nil {
-// 		comm.Redirect(ctx.ResponseWriter(), "/login")
-// 	}
-// 	ctx.Values().Set("projectId", projectId)
-// 	// 设置viewData
-// 	ctx.ViewData("Account", accountInfo)
-// 	// npaDao := dao.NewProjectAccountDao(datasource.InstanceDbMaster())
-// 	// identityId, err := strconv.Atoi(identity)
-// 	// if err != nil {
-// 	// 	comm.Redirect(ctx.ResponseWriter(), "/login")
-// 	// }
-// 	// accountInfo := npaDao.Get(identityId)
-// 	// if accountInfo.Id == 0 {
-// 	// 	comm.Redirect(ctx.ResponseWriter(), "/login")
-// 	// }
-// 	// ctx.Values().Set("accountId", identity)
-
-// 	// 设置viewData
-// 	// accountView := viewmodels.ProjectAccount{}
-// 	// accountView.Account = accountInfo.Account
-// 	// accountView.Name = accountInfo.Name
-// 	// accountView.Company = accountInfo.Company
-// 	// accountView.Role = accountInfo.Role
-// 	// accountView.Mobile = accountInfo.Mobile
-// 	// accountView.Telephone = accountInfo.Telephone
-// 	// ctx.ViewData("Account", accountView)
-
-// 	// 比对数字证书
-// 	if digitalToken != params.Get("digitalToken") {
-// 		comm.Redirect(ctx.ResponseWriter(), "/login")
-// 	}
-// 	// TODO 分布式session
-
-// 	//通过后执行下一步
-// 	ctx.Next()
-// }

+ 1 - 23
web/routes/routes.go

@@ -17,10 +17,6 @@ func Configure(b *bootstrap.Bootstrapper) {
 	//service加载
 	ProjectAccountService := services.NewProjectAccountService()
 	LoginService := services.NewLoginService()
-	ProjectService := services.NewProjectService()
-	TreeService := services.NewTreeService()
-	BidsectionService := services.NewBidsectionService()
-	BidAccountService := services.NewBidAccountService()
 	ContractService := services.NewContractService()
 
 	//CSRF相关
@@ -34,7 +30,6 @@ func Configure(b *bootstrap.Bootstrapper) {
 	// 登陆接口
 	apiLogin := mvc.New(b.Party("/api/login"))
 	apiLogin.Register(LoginService)
-	apiLogin.Register(ProjectService)
 	apiLogin.Handle(new(api.LoginApi))
 
 	// 项目账号相关接口
@@ -42,26 +37,9 @@ func Configure(b *bootstrap.Bootstrapper) {
 	apiProjectAccount.Register(ProjectAccountService)
 	apiProjectAccount.Handle(new(api.ProjectAccountApi))
 
-	// 标段相关接口
-	apiBidsection := mvc.New(b.Party("/api/bidsection"))
-	apiBidsection.Register(BidsectionService)
-	apiBidsection.Handle(new(api.BidsectionApi))
-
-	// 项目设置接口
-	apiSetting := mvc.New(b.Party("/api/projectSetting"))
-	apiSetting.Register(ProjectAccountService)
-	apiSetting.Register(ProjectService)
-	apiSetting.Register(BidAccountService)
-	apiSetting.Handle(new(api.ProjectSettingApi))
-
-	// TreeNode相关接口
-	apiTree := mvc.New(b.Party("/api/tree"))
-	apiTree.Register(TreeService)
-	apiTree.Handle(new(api.TreeApi))
-
 	// 合同管理
 	apiContract := mvc.New(b.Party("/api/contract"))
-	apiContract.Register(TreeService)
+	// apiContract.Router.Use(middleware.JwtAuth().Serve)
 	apiContract.Register(ContractService)
 	// 中间件
 	apiContract.Handle(new(api.ContractApi))