feat:完善项目信息

This commit is contained in:
henry
2022-01-21 16:52:08 +08:00
parent adb5bd7283
commit bdb570d19a
14 changed files with 328 additions and 175 deletions

View File

@ -0,0 +1,81 @@
package manage
import (
"SciencesServer/app/api/admin/model"
"SciencesServer/app/basic/controller"
model2 "SciencesServer/app/common/model"
"SciencesServer/app/session"
"errors"
)
type Enterprise struct {
*session.Admin
}
type EnterpriseHandle func(session *session.Admin) *Enterprise
type (
// EnterpriseInstance 基本信息
EnterpriseInstance struct {
ID string `json:"id"`
TenantID string `json:"tenant_id"`
*model2.ManageCooperateEnterprise
Area string `json:"area"`
}
)
// Instance 首页信息
func (*Enterprise) Instance(name string, mode, page, pageSize int) (*controller.ReturnPages, error) {
mManageCooperateEnterprise := model.NewManageCooperateEnterprise()
where := make([]*model2.ModelWhere, 0)
if name != "" {
where = append(where, model2.NewWhereLike("name", name))
}
if mode > 0 {
where = append(where, model2.NewWhere("mode", mode))
}
var count int64
out, err := mManageCooperateEnterprise.CooperateEnterprises(page, pageSize, &count, where...)
if err != nil {
return nil, err
}
list := make([]*EnterpriseInstance, 0)
for _, v := range out {
list = append(list, &EnterpriseInstance{
ID: v.GetEncodeID(),
TenantID: v.GetEncodeTenantID(),
ManageCooperateEnterprise: v.ManageCooperateEnterprise,
Area: v.FormatBasic(),
})
}
return &controller.ReturnPages{Data: list, Count: count}, nil
}
// Delete 删除操作
func (c *Enterprise) Delete(id uint64) error {
mManageCooperateEnterprise := model.NewManageCooperateEnterprise()
mManageCooperateEnterprise.ID = id
isExist, err := model2.FirstField(mManageCooperateEnterprise.ManageCooperateEnterprise, []string{"id", "tenant_id"})
if err != nil {
return err
} else if !isExist {
return errors.New("操作错误,企业合作信息不存在或已被删除")
}
if c.TenantID > 0 && mManageCooperateEnterprise.TenantID != c.TenantID {
return errors.New("操作错误,无权限操作")
}
return model2.Delete(mManageCooperateEnterprise.ManageCooperateEnterprise)
}
func NewEnterprise() EnterpriseHandle {
return func(session *session.Admin) *Enterprise {
return &Enterprise{session}
}
}