From f91ffa4e3e8226b0621aa22a22e4716c6e187904 Mon Sep 17 00:00:00 2001
From: tangxuhui <554895468@qq.com>
Date: Tue, 3 Aug 2021 18:47:58 +0800
Subject: [PATCH] 添加共创项目管理,共创模式管理

---
 pkg/application/web/cooperationMode/command/create_cooperation_mode.go                           |  37 +++++++++++++++++++++++++++++++++++++
 pkg/application/web/cooperationMode/command/remove_cooperation_mode.go                           |  33 +++++++++++++++++++++++++++++++++
 pkg/application/web/cooperationMode/command/update_cooperation_mode.go                           |  39 +++++++++++++++++++++++++++++++++++++++
 pkg/application/web/cooperationMode/dto/dto.go                                                   |  20 ++++++++++++++++++++
 pkg/application/web/cooperationMode/query/get_cooperation_mode.go                                |  33 +++++++++++++++++++++++++++++++++
 pkg/application/web/cooperationMode/query/list_cooperation_mode.go                               |  39 +++++++++++++++++++++++++++++++++++++++
 pkg/application/web/cooperationMode/service/cooperation_mode.go                                  | 142 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 pkg/application/web/cooperationProject/command/create_cooperation_project.go                     |  44 ++++++++++++++++++++++++++++++++++++++++++++
 pkg/application/web/cooperationProject/command/end_cooperation_project.go                        |  33 +++++++++++++++++++++++++++++++++
 pkg/application/web/cooperationProject/command/release_cooperation_project.go                    |  55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 pkg/application/web/cooperationProject/command/remove_cooperation_project.go                     |  33 +++++++++++++++++++++++++++++++++
 pkg/application/web/cooperationProject/command/update_cooperation_project.go                     |  47 +++++++++++++++++++++++++++++++++++++++++++++++
 pkg/application/web/cooperationProject/query/get_cooperation_project.go                          |  33 +++++++++++++++++++++++++++++++++
 pkg/application/web/cooperationProject/query/list_cooperation_project.go                         |  41 +++++++++++++++++++++++++++++++++++++++++
 pkg/application/web/cooperationProject/service/cooperation_project.go                            | 123 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 pkg/application/web/roles/service/roles.go                                                       |   2 +-
 pkg/domain/attachment.go                                                                         |  13 +++++++++++++
 pkg/infrastructure/service_gateway/allied_creation_cooperation/module_cooperation_application.go |   2 +-
 pkg/infrastructure/service_gateway/allied_creation_cooperation/module_cooperation_project.go     |   4 ++--
 pkg/infrastructure/service_gateway/allied_creation_cooperation/param_cooperation_application.go  |  19 +++++++++++++++----
 pkg/infrastructure/service_gateway/allied_creation_cooperation/param_cooperation_mode.go         |  79 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------
 pkg/infrastructure/service_gateway/allied_creation_cooperation/param_cooperation_project.go      | 117 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 pkg/port/beego/controllers/web_client/baseController.go                                          |   3 +--
 23 files changed, 968 insertions(+), 23 deletions(-)
 create mode 100644 pkg/application/web/cooperationMode/command/create_cooperation_mode.go
 create mode 100644 pkg/application/web/cooperationMode/command/remove_cooperation_mode.go
 create mode 100644 pkg/application/web/cooperationMode/command/update_cooperation_mode.go
 create mode 100644 pkg/application/web/cooperationMode/dto/dto.go
 create mode 100644 pkg/application/web/cooperationMode/query/get_cooperation_mode.go
 create mode 100644 pkg/application/web/cooperationMode/query/list_cooperation_mode.go
 create mode 100644 pkg/application/web/cooperationMode/service/cooperation_mode.go
 create mode 100644 pkg/application/web/cooperationProject/command/create_cooperation_project.go
 create mode 100644 pkg/application/web/cooperationProject/command/end_cooperation_project.go
 create mode 100644 pkg/application/web/cooperationProject/command/release_cooperation_project.go
 create mode 100644 pkg/application/web/cooperationProject/command/remove_cooperation_project.go
 create mode 100644 pkg/application/web/cooperationProject/command/update_cooperation_project.go
 create mode 100644 pkg/application/web/cooperationProject/query/get_cooperation_project.go
 create mode 100644 pkg/application/web/cooperationProject/query/list_cooperation_project.go
 create mode 100644 pkg/application/web/cooperationProject/service/cooperation_project.go
 create mode 100644 pkg/domain/attachment.go

diff --git a/pkg/application/web/cooperationMode/command/create_cooperation_mode.go b/pkg/application/web/cooperationMode/command/create_cooperation_mode.go
new file mode 100644
index 0000000..1eca2b1
--- /dev/null
+++ b/pkg/application/web/cooperationMode/command/create_cooperation_mode.go
@@ -0,0 +1,37 @@
+package command
+
+import (
+	"fmt"
+
+	"github.com/beego/beego/v2/core/validation"
+	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/domain"
+)
+
+type CreateCooperationModeCommand struct {
+	//操作人
+	Operator domain.Operator `json:"-"`
+	// 模式编码,唯一确定
+	CooperationModeNumber string `json:"cooperationModeNumber" valid:"Required"`
+	// 模式名称,唯一确定
+	CooperationModeName string `json:"cooperationModeName" valid:"Required"`
+	// 备注
+	Remarks string `json:"remarks" valid:"Required"`
+}
+
+func (createCooperationModeCommand *CreateCooperationModeCommand) Valid(validation *validation.Validation) {
+
+}
+
+func (createCooperationModeCommand *CreateCooperationModeCommand) ValidateCommand() error {
+	valid := validation.Validation{}
+	b, err := valid.Valid(createCooperationModeCommand)
+	if err != nil {
+		return err
+	}
+	if !b {
+		for _, validErr := range valid.Errors {
+			return fmt.Errorf("%s  %s", validErr.Key, validErr.Message)
+		}
+	}
+	return nil
+}
diff --git a/pkg/application/web/cooperationMode/command/remove_cooperation_mode.go b/pkg/application/web/cooperationMode/command/remove_cooperation_mode.go
new file mode 100644
index 0000000..23e4fa4
--- /dev/null
+++ b/pkg/application/web/cooperationMode/command/remove_cooperation_mode.go
@@ -0,0 +1,33 @@
+package command
+
+import (
+	"fmt"
+
+	"github.com/beego/beego/v2/core/validation"
+	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/domain"
+)
+
+type RemoveCooperationModeCommand struct {
+	//操作人
+	Operator domain.Operator `json:"-"`
+	// 共创模式ID
+	CooperationModeId int `json:"cooperationModeId,string" valid:"Required"`
+}
+
+func (removeCooperationModeCommand *RemoveCooperationModeCommand) Valid(validation *validation.Validation) {
+
+}
+
+func (removeCooperationModeCommand *RemoveCooperationModeCommand) ValidateCommand() error {
+	valid := validation.Validation{}
+	b, err := valid.Valid(removeCooperationModeCommand)
+	if err != nil {
+		return err
+	}
+	if !b {
+		for _, validErr := range valid.Errors {
+			return fmt.Errorf("%s  %s", validErr.Key, validErr.Message)
+		}
+	}
+	return nil
+}
diff --git a/pkg/application/web/cooperationMode/command/update_cooperation_mode.go b/pkg/application/web/cooperationMode/command/update_cooperation_mode.go
new file mode 100644
index 0000000..0e42770
--- /dev/null
+++ b/pkg/application/web/cooperationMode/command/update_cooperation_mode.go
@@ -0,0 +1,39 @@
+package command
+
+import (
+	"fmt"
+
+	"github.com/beego/beego/v2/core/validation"
+	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/domain"
+)
+
+type UpdateCooperationModeCommand struct {
+	//操作人
+	Operator domain.Operator `json:"-"`
+	// 共创模式ID
+	CooperationModeId int `json:"cooperationModeId,string," valid:"Required"`
+	// 模式名称,唯一确定
+	CooperationModeName string `json:"cooperationModeName" valid:"Required"`
+	// 备注
+	Remarks string `json:"remarks" valid:"Required"`
+	// 共创模式状态,1启用,2禁用
+	Status int `json:"status" valid:"Required"`
+}
+
+func (updateCooperationModeCommand *UpdateCooperationModeCommand) Valid(validation *validation.Validation) {
+
+}
+
+func (updateCooperationModeCommand *UpdateCooperationModeCommand) ValidateCommand() error {
+	valid := validation.Validation{}
+	b, err := valid.Valid(updateCooperationModeCommand)
+	if err != nil {
+		return err
+	}
+	if !b {
+		for _, validErr := range valid.Errors {
+			return fmt.Errorf("%s  %s", validErr.Key, validErr.Message)
+		}
+	}
+	return nil
+}
diff --git a/pkg/application/web/cooperationMode/dto/dto.go b/pkg/application/web/cooperationMode/dto/dto.go
new file mode 100644
index 0000000..1bfe305
--- /dev/null
+++ b/pkg/application/web/cooperationMode/dto/dto.go
@@ -0,0 +1,20 @@
+package dto
+
+type CooperationModeItem struct {
+	// 共创模式ID
+	CooperationModeId int `json:"cooperationModeId,string,"`
+	// 模式名称,唯一确定
+	CooperationModeName string `json:"cooperationModeName"`
+	// 备注
+	Remarks string `json:"remarks" `
+	// 共创模式状态,1启用,2禁用
+	Status int `json:"status" `
+	// 模式编码,唯一确定
+	CooperationModeNumber string `json:"cooperationModeNumber"`
+	Org                   struct {
+		// 组织机构ID
+		OrgId int `json:"orgId,string"`
+		// 组织名称
+		OrgName string `json:"orgName"`
+	} `json:"org"`
+}
diff --git a/pkg/application/web/cooperationMode/query/get_cooperation_mode.go b/pkg/application/web/cooperationMode/query/get_cooperation_mode.go
new file mode 100644
index 0000000..21e379c
--- /dev/null
+++ b/pkg/application/web/cooperationMode/query/get_cooperation_mode.go
@@ -0,0 +1,33 @@
+package query
+
+import (
+	"fmt"
+
+	"github.com/beego/beego/v2/core/validation"
+	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/domain"
+)
+
+type GetCooperationModeQuery struct {
+	//操作人
+	Operator domain.Operator `json:"-"`
+	// 共创模式ID
+	CooperationModeId int `json:"cooperationModeId,string" valid:"Required"`
+}
+
+func (getCooperationModeQuery *GetCooperationModeQuery) Valid(validation *validation.Validation) {
+
+}
+
+func (getCooperationModeQuery *GetCooperationModeQuery) ValidateQuery() error {
+	valid := validation.Validation{}
+	b, err := valid.Valid(getCooperationModeQuery)
+	if err != nil {
+		return err
+	}
+	if !b {
+		for _, validErr := range valid.Errors {
+			return fmt.Errorf("%s  %s", validErr.Key, validErr.Message)
+		}
+	}
+	return nil
+}
diff --git a/pkg/application/web/cooperationMode/query/list_cooperation_mode.go b/pkg/application/web/cooperationMode/query/list_cooperation_mode.go
new file mode 100644
index 0000000..1977e2d
--- /dev/null
+++ b/pkg/application/web/cooperationMode/query/list_cooperation_mode.go
@@ -0,0 +1,39 @@
+package query
+
+import (
+	"fmt"
+
+	"github.com/beego/beego/v2/core/validation"
+	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/domain"
+)
+
+type ListCooperationModeQuery struct {
+	//操作人
+	Operator domain.Operator `json:"-"`
+	// 查询偏离量
+	PageNumber int `json:"pageNumber" valid:"Required"`
+	// 查询限制
+	PageSize int `json:"pageSize" valid:"Required"`
+	//模式名称
+	CooperationModeName string `json:"cooperationModeName"`
+	//组织名称
+	OrganizationName string `json:"organizationName"`
+}
+
+func (listCooperationModeQuery *ListCooperationModeQuery) Valid(validation *validation.Validation) {
+
+}
+
+func (listCooperationModeQuery *ListCooperationModeQuery) ValidateQuery() error {
+	valid := validation.Validation{}
+	b, err := valid.Valid(listCooperationModeQuery)
+	if err != nil {
+		return err
+	}
+	if !b {
+		for _, validErr := range valid.Errors {
+			return fmt.Errorf("%s  %s", validErr.Key, validErr.Message)
+		}
+	}
+	return nil
+}
diff --git a/pkg/application/web/cooperationMode/service/cooperation_mode.go b/pkg/application/web/cooperationMode/service/cooperation_mode.go
new file mode 100644
index 0000000..f24d8c8
--- /dev/null
+++ b/pkg/application/web/cooperationMode/service/cooperation_mode.go
@@ -0,0 +1,142 @@
+package service
+
+import (
+	"github.com/linmadan/egglib-go/core/application"
+	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/application/web/cooperationMode/command"
+	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/application/web/cooperationMode/dto"
+	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/application/web/cooperationMode/query"
+	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/infrastructure/service_gateway/allied_creation_cooperation"
+)
+
+// 共创模式服务
+type CooperationModeService struct {
+}
+
+//CreateCooperationMode 创建共创模式服务
+func (cooperationModeService *CooperationModeService) CreateCooperationMode(createCooperationModeCommand *command.CreateCooperationModeCommand) (interface{}, error) {
+	if err := createCooperationModeCommand.ValidateCommand(); err != nil {
+		return nil, application.ThrowError(application.ARG_ERROR, err.Error())
+	}
+	creationCooperationGateway := allied_creation_cooperation.NewHttplibAlliedCreationCooperation(createCooperationModeCommand.Operator)
+	result, err := creationCooperationGateway.CooperationModeAdd(allied_creation_cooperation.ReqCooperationModeAdd{
+		CooperationModeName:   createCooperationModeCommand.CooperationModeName,
+		CooperationModeNumber: createCooperationModeCommand.CooperationModeNumber,
+		Remarks:               createCooperationModeCommand.Remarks,
+	})
+	if err != nil {
+		return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
+	}
+	data := struct {
+		CooperationModeId int `json:"cooperationModeId,string," valid:"Required"`
+		command.CreateCooperationModeCommand
+	}{
+		CooperationModeId:            result.CooperationModeId,
+		CreateCooperationModeCommand: *createCooperationModeCommand,
+	}
+	return data, nil
+}
+
+//GetCooperationMode 返回共创模式服务
+func (cooperationModeService *CooperationModeService) GetCooperationMode(getCooperationModeQuery *query.GetCooperationModeQuery) (interface{}, error) {
+	if err := getCooperationModeQuery.ValidateQuery(); err != nil {
+		return nil, application.ThrowError(application.ARG_ERROR, err.Error())
+	}
+
+	creationCooperationGateway := allied_creation_cooperation.NewHttplibAlliedCreationCooperation(getCooperationModeQuery.Operator)
+	result, err := creationCooperationGateway.CooperationModeGet(allied_creation_cooperation.ReqCooperationModeGet{
+		CooperationModeId: getCooperationModeQuery.CooperationModeId,
+	})
+	if err != nil {
+		return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
+	}
+	data := dto.CooperationModeItem{
+		CooperationModeId:     result.CooperationModeId,
+		CooperationModeName:   result.CooperationModeName,
+		Remarks:               result.Remarks,
+		Status:                result.Status,
+		CooperationModeNumber: result.CooperationModeNumber,
+		Org:                   result.Org,
+	}
+	return data, nil
+}
+
+//ListCooperationMode 返回共创模式服务列表
+func (cooperationModeService *CooperationModeService) ListCooperationMode(listCooperationModeQuery *query.ListCooperationModeQuery) (int64, interface{}, error) {
+	if err := listCooperationModeQuery.ValidateQuery(); err != nil {
+		return 0, nil, application.ThrowError(application.ARG_ERROR, err.Error())
+	}
+	creationCooperationGateway := allied_creation_cooperation.NewHttplibAlliedCreationCooperation(listCooperationModeQuery.Operator)
+	result, err := creationCooperationGateway.CooperationModesSearch(allied_creation_cooperation.ReqCooperationModesSearch{
+		PageNumber:          listCooperationModeQuery.PageNumber,
+		PageSize:            listCooperationModeQuery.PageSize,
+		CooperationModeName: listCooperationModeQuery.CooperationModeName,
+		OrganizationName:    listCooperationModeQuery.OrganizationName,
+	})
+	if err != nil {
+		return 0, nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
+	}
+	var (
+		listData []dto.CooperationModeItem
+		item     dto.CooperationModeItem
+	)
+	for _, v := range result.List {
+		item = dto.CooperationModeItem{
+			CooperationModeId:     v.CooperationModeId,
+			CooperationModeName:   v.CooperationModeName,
+			Remarks:               v.Remarks,
+			Status:                v.Status,
+			CooperationModeNumber: v.CooperationModeNumber,
+			Org:                   v.Org,
+		}
+		listData = append(listData, item)
+	}
+	return int64(result.Total), listData, nil
+}
+
+//RemoveCooperationMode 移除共创模式服务
+func (cooperationModeService *CooperationModeService) RemoveCooperationMode(removeCooperationModeCommand *command.RemoveCooperationModeCommand) (interface{}, error) {
+	if err := removeCooperationModeCommand.ValidateCommand(); err != nil {
+		return nil, application.ThrowError(application.ARG_ERROR, err.Error())
+	}
+	creationCooperationGateway := allied_creation_cooperation.NewHttplibAlliedCreationCooperation(removeCooperationModeCommand.Operator)
+	_, err := creationCooperationGateway.CooperationModeRemove(allied_creation_cooperation.ReqCooperationModeRemove{
+		CooperationModeId: removeCooperationModeCommand.CooperationModeId,
+	})
+	//TODO 改为批量删除
+	if err != nil {
+		return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
+	}
+	return removeCooperationModeCommand, nil
+}
+
+//UpdateCooperationMode 更新共创模式
+func (cooperationModeService *CooperationModeService) UpdateCooperationMode(updateCooperationModeCommand *command.UpdateCooperationModeCommand) (interface{}, error) {
+	if err := updateCooperationModeCommand.ValidateCommand(); err != nil {
+		return nil, application.ThrowError(application.ARG_ERROR, err.Error())
+	}
+	creationCooperationGateway := allied_creation_cooperation.NewHttplibAlliedCreationCooperation(updateCooperationModeCommand.Operator)
+	_, err := creationCooperationGateway.CooperationModeUpdate(allied_creation_cooperation.ReqCooperationModeUpdate{
+		CooperationModeId:   updateCooperationModeCommand.CooperationModeId,
+		CooperationModeName: updateCooperationModeCommand.CooperationModeName,
+		Remarks:             updateCooperationModeCommand.Remarks,
+		Status:              updateCooperationModeCommand.Status,
+	})
+	if err != nil {
+		return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
+	}
+	return updateCooperationModeCommand, nil
+}
+
+// EnableCooperationMode 禁用启用共创模式
+func (cooperationModeService *CooperationModeService) EnableCooperationMode(updateCooperationModeCommand *command.UpdateCooperationModeCommand) (interface{}, error) {
+	if err := updateCooperationModeCommand.ValidateCommand(); err != nil {
+		return nil, application.ThrowError(application.ARG_ERROR, err.Error())
+	}
+	//TODO gateway 待补充
+	return nil, nil
+}
+
+func NewCooperationModeService(options map[string]interface{}) *CooperationModeService {
+	newCooperationModeService := &CooperationModeService{}
+	return newCooperationModeService
+}
diff --git a/pkg/application/web/cooperationProject/command/create_cooperation_project.go b/pkg/application/web/cooperationProject/command/create_cooperation_project.go
new file mode 100644
index 0000000..e79ed0d
--- /dev/null
+++ b/pkg/application/web/cooperationProject/command/create_cooperation_project.go
@@ -0,0 +1,44 @@
+package command
+
+import (
+	"fmt"
+
+	"github.com/beego/beego/v2/core/validation"
+	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/domain"
+)
+
+type CreateCooperationProjectCommand struct {
+	//操作人
+	Operator domain.Operator `json:"-"`
+	// 模式编码,唯一确定
+	CooperationModeNumber string `json:"cooperationModeNumber" valid:"Required"`
+	// 发起组织ID
+	OrgId int64 `json:"orgId,string," valid:"Required"`
+	// 共创项目名称
+	CooperationProjectName string `json:"cooperationProjectName" valid:"Required"`
+	// 共创发起人id
+	CooperationProjectSponsor string `json:"cooperationProjectSponsor,string,"`
+	// 项目承接对象
+	CooperationProjectUndertakerType []int `json:"cooperationProjectUndertakerType"`
+	// 共创项目描述
+	CooperationProjectDescription string `json:"cooperationProjectDescription" valid:"Required"`
+	//图片
+	Images []string `json:"images"`
+}
+
+func (createCooperationProjectCommand *CreateCooperationProjectCommand) Valid(validation *validation.Validation) {
+}
+
+func (createCooperationProjectCommand *CreateCooperationProjectCommand) ValidateCommand() error {
+	valid := validation.Validation{}
+	b, err := valid.Valid(createCooperationProjectCommand)
+	if err != nil {
+		return err
+	}
+	if !b {
+		for _, validErr := range valid.Errors {
+			return fmt.Errorf("%s  %s", validErr.Key, validErr.Message)
+		}
+	}
+	return nil
+}
diff --git a/pkg/application/web/cooperationProject/command/end_cooperation_project.go b/pkg/application/web/cooperationProject/command/end_cooperation_project.go
new file mode 100644
index 0000000..0fa0ea4
--- /dev/null
+++ b/pkg/application/web/cooperationProject/command/end_cooperation_project.go
@@ -0,0 +1,33 @@
+package command
+
+import (
+	"fmt"
+
+	"github.com/beego/beego/v2/core/validation"
+	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/domain"
+)
+
+type EndCooperationProjectCommand struct {
+	//操作人
+	Operator domain.Operator `json:"-"`
+	// 共创项目id
+	CooperationProjectId []int64 `json:"cooperationProjectId,omitempty"`
+}
+
+func (endCooperationProjectCommand *EndCooperationProjectCommand) Valid(validation *validation.Validation) {
+	validation.SetError("CustomValid", "未实现的自定义认证")
+}
+
+func (endCooperationProjectCommand *EndCooperationProjectCommand) ValidateCommand() error {
+	valid := validation.Validation{}
+	b, err := valid.Valid(endCooperationProjectCommand)
+	if err != nil {
+		return err
+	}
+	if !b {
+		for _, validErr := range valid.Errors {
+			return fmt.Errorf("%s  %s", validErr.Key, validErr.Message)
+		}
+	}
+	return nil
+}
diff --git a/pkg/application/web/cooperationProject/command/release_cooperation_project.go b/pkg/application/web/cooperationProject/command/release_cooperation_project.go
new file mode 100644
index 0000000..20b5918
--- /dev/null
+++ b/pkg/application/web/cooperationProject/command/release_cooperation_project.go
@@ -0,0 +1,55 @@
+package command
+
+import (
+	"fmt"
+
+	"github.com/beego/beego/v2/core/validation"
+	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/domain"
+)
+
+type ReleaseCooperationProjectCommand struct {
+	//操作人
+	Operator domain.Operator `json:"-"`
+	// 共创项目名称
+	CooperationProjectName string `json:"cooperationProjectName" valid:"Required"`
+	// 共创模式ID
+	CooperationModeId int64 `json:"cooperationModeId" valid:"Required"`
+	// 手机号码
+	Phone string `json:"phone" valid:"Required"`
+	// 共创模式状态,1启用,2禁用
+	Status int32 `json:"status" valid:"Required"`
+	// 用户编号
+	UsersCode string `json:"usersCode" valid:"Required"`
+	// 用户编号
+	UsersId int64 `json:"usersId" valid:"Required"`
+	// 用户姓名
+	UsersName string `json:"usersName" valid:"Required"`
+	// 邮箱
+	Email string `json:"email" valid:"Required"`
+	// 共创公司
+	CooperationCompany string `json:"cooperationCompany" valid:"Required"`
+	// 共创公司到期时间
+	CooperationDeadline string `json:"cooperationDeadline" valid:"Required"`
+	// 共创项目承接对象,1员工,2共创用户,3公开,可以多选
+	CooperationProjectUndertakerType []int32 `json:"cooperationProjectUndertakerType" valid:"Required"`
+	// 共创项目描述
+	CooperationProjectDescription string `json:"cooperationProjectDescription" valid:"Required"`
+}
+
+func (releaseCooperationProjectCommand *ReleaseCooperationProjectCommand) Valid(validation *validation.Validation) {
+	validation.SetError("CustomValid", "未实现的自定义认证")
+}
+
+func (releaseCooperationProjectCommand *ReleaseCooperationProjectCommand) ValidateCommand() error {
+	valid := validation.Validation{}
+	b, err := valid.Valid(releaseCooperationProjectCommand)
+	if err != nil {
+		return err
+	}
+	if !b {
+		for _, validErr := range valid.Errors {
+			return fmt.Errorf("%s  %s", validErr.Key, validErr.Message)
+		}
+	}
+	return nil
+}
diff --git a/pkg/application/web/cooperationProject/command/remove_cooperation_project.go b/pkg/application/web/cooperationProject/command/remove_cooperation_project.go
new file mode 100644
index 0000000..54f2aa3
--- /dev/null
+++ b/pkg/application/web/cooperationProject/command/remove_cooperation_project.go
@@ -0,0 +1,33 @@
+package command
+
+import (
+	"fmt"
+
+	"github.com/beego/beego/v2/core/validation"
+	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/domain"
+)
+
+type RemoveCooperationProjectCommand struct {
+	//操作人
+	Operator domain.Operator `json:"-"`
+	// 共创项目ID
+	CooperationProjectId int64 `json:"cooperationProjectId" valid:"Required"`
+}
+
+func (removeCooperationProjectCommand *RemoveCooperationProjectCommand) Valid(validation *validation.Validation) {
+	validation.SetError("CustomValid", "未实现的自定义认证")
+}
+
+func (removeCooperationProjectCommand *RemoveCooperationProjectCommand) ValidateCommand() error {
+	valid := validation.Validation{}
+	b, err := valid.Valid(removeCooperationProjectCommand)
+	if err != nil {
+		return err
+	}
+	if !b {
+		for _, validErr := range valid.Errors {
+			return fmt.Errorf("%s  %s", validErr.Key, validErr.Message)
+		}
+	}
+	return nil
+}
diff --git a/pkg/application/web/cooperationProject/command/update_cooperation_project.go b/pkg/application/web/cooperationProject/command/update_cooperation_project.go
new file mode 100644
index 0000000..015963d
--- /dev/null
+++ b/pkg/application/web/cooperationProject/command/update_cooperation_project.go
@@ -0,0 +1,47 @@
+package command
+
+import (
+	"fmt"
+
+	"github.com/beego/beego/v2/core/validation"
+	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/domain"
+)
+
+type UpdateCooperationProjectCommand struct {
+	//操作人
+	Operator domain.Operator `json:"-"`
+	// 共创项目ID
+	CooperationProjectId string `json:"cooperationProjectId" valid:"Required"`
+	// 模式编码,唯一确定
+	CooperationModeNumber string `json:"cooperationModeNumber" valid:"Required"`
+	// 组织ID
+	OrgId string `json:"orgId" valid:"Required"`
+	// 共创项目名称
+	CooperationProjectName string `json:"cooperationProjectName" valid:"Required"`
+	// 共创发起人id
+	CooperationProjectSponsor string `json:"cooperationProjectSponsor,omitempty"`
+	// 项目承接对象
+	CooperationProjectUndertakerType []int32 `json:"cooperationProjectUndertakerType,omitempty"`
+	// 共创项目描述
+	CooperationProjectDescription string `json:"cooperationProjectDescription" valid:"Required"`
+	//图片
+	Images []string `json:"images"`
+}
+
+func (updateCooperationProjectCommand *UpdateCooperationProjectCommand) Valid(validation *validation.Validation) {
+	validation.SetError("CustomValid", "未实现的自定义认证")
+}
+
+func (updateCooperationProjectCommand *UpdateCooperationProjectCommand) ValidateCommand() error {
+	valid := validation.Validation{}
+	b, err := valid.Valid(updateCooperationProjectCommand)
+	if err != nil {
+		return err
+	}
+	if !b {
+		for _, validErr := range valid.Errors {
+			return fmt.Errorf("%s  %s", validErr.Key, validErr.Message)
+		}
+	}
+	return nil
+}
diff --git a/pkg/application/web/cooperationProject/query/get_cooperation_project.go b/pkg/application/web/cooperationProject/query/get_cooperation_project.go
new file mode 100644
index 0000000..4274dea
--- /dev/null
+++ b/pkg/application/web/cooperationProject/query/get_cooperation_project.go
@@ -0,0 +1,33 @@
+package query
+
+import (
+	"fmt"
+
+	"github.com/beego/beego/v2/core/validation"
+	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/domain"
+)
+
+type GetCooperationProjectQuery struct {
+	//操作人
+	Operator domain.Operator `json:"-"`
+	// 共创项目ID
+	CooperationProjectId int `json:"cooperationProjectId,string" valid:"Required"`
+}
+
+func (getCooperationProjectQuery *GetCooperationProjectQuery) Valid(validation *validation.Validation) {
+
+}
+
+func (getCooperationProjectQuery *GetCooperationProjectQuery) ValidateQuery() error {
+	valid := validation.Validation{}
+	b, err := valid.Valid(getCooperationProjectQuery)
+	if err != nil {
+		return err
+	}
+	if !b {
+		for _, validErr := range valid.Errors {
+			return fmt.Errorf("%s  %s", validErr.Key, validErr.Message)
+		}
+	}
+	return nil
+}
diff --git a/pkg/application/web/cooperationProject/query/list_cooperation_project.go b/pkg/application/web/cooperationProject/query/list_cooperation_project.go
new file mode 100644
index 0000000..c68c739
--- /dev/null
+++ b/pkg/application/web/cooperationProject/query/list_cooperation_project.go
@@ -0,0 +1,41 @@
+package query
+
+import (
+	"fmt"
+
+	"github.com/beego/beego/v2/core/validation"
+	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/domain"
+)
+
+type ListCooperationProjectQuery struct {
+	//操作人
+	Operator domain.Operator `json:"-"`
+	// 查询偏离量
+	PageNumber int `json:"pageNumber"`
+	// 查询限制
+	PageSize int `json:"pageSize" valid:"Required"`
+	// 项目状态 全部、招标中、已结束
+	// Status int32 `json:"status" valid:"Required"`
+	//发起部门名称
+	DepartmentName string `json:"departmentName"`
+	//项目名称
+	CooperationProjectName string `json:"cooperationProjectName"`
+}
+
+func (listCooperationProjectQuery *ListCooperationProjectQuery) Valid(validation *validation.Validation) {
+
+}
+
+func (listCooperationProjectQuery *ListCooperationProjectQuery) ValidateQuery() error {
+	valid := validation.Validation{}
+	b, err := valid.Valid(listCooperationProjectQuery)
+	if err != nil {
+		return err
+	}
+	if !b {
+		for _, validErr := range valid.Errors {
+			return fmt.Errorf("%s  %s", validErr.Key, validErr.Message)
+		}
+	}
+	return nil
+}
diff --git a/pkg/application/web/cooperationProject/service/cooperation_project.go b/pkg/application/web/cooperationProject/service/cooperation_project.go
new file mode 100644
index 0000000..8f6087f
--- /dev/null
+++ b/pkg/application/web/cooperationProject/service/cooperation_project.go
@@ -0,0 +1,123 @@
+package service
+
+import (
+	"strconv"
+
+	"github.com/linmadan/egglib-go/core/application"
+	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/application/web/cooperationProject/command"
+	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/application/web/cooperationProject/query"
+	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/infrastructure/service_gateway/allied_creation_cooperation"
+)
+
+// 共创项目管理
+type CooperationProjectService struct {
+}
+
+// 创建共创项目管理
+func (cooperationProjectService *CooperationProjectService) CreateCooperationProject(createCooperationProjectCommand *command.CreateCooperationProjectCommand) (interface{}, error) {
+	if err := createCooperationProjectCommand.ValidateCommand(); err != nil {
+		return nil, application.ThrowError(application.ARG_ERROR, err.Error())
+	}
+	creationCooperationGateway := allied_creation_cooperation.NewHttplibAlliedCreationCooperation(createCooperationProjectCommand.Operator)
+	result, err := creationCooperationGateway.CooperationProjectAdd(allied_creation_cooperation.ReqCooperationProjectAdd{
+		CooperationProjectDescription:    createCooperationProjectCommand.CooperationProjectDescription,
+		CooperationProjectName:           createCooperationProjectCommand.CooperationProjectName,
+		PublisherUid:                     strconv.Itoa(int(createCooperationProjectCommand.Operator.UserId)),
+		SponsorUid:                       createCooperationProjectCommand.CooperationProjectSponsor,
+		CooperationProjectUndertakerType: createCooperationProjectCommand.CooperationProjectUndertakerType,
+		Images:                           createCooperationProjectCommand.Images,
+	})
+
+	if err != nil {
+		return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
+	}
+	data := struct {
+		CooperationProjectId int `json:"cooperationProjectId"`
+		command.CreateCooperationProjectCommand
+	}{
+		CooperationProjectId:            result.CooperationProjectId,
+		CreateCooperationProjectCommand: *createCooperationProjectCommand,
+	}
+	return data, nil
+}
+
+// 结束共创项目管理
+func (cooperationProjectService *CooperationProjectService) EndCooperationProject(endCooperationProjectCommand *command.EndCooperationProjectCommand) (interface{}, error) {
+	if err := endCooperationProjectCommand.ValidateCommand(); err != nil {
+		return nil, application.ThrowError(application.ARG_ERROR, err.Error())
+	}
+	//creationCooperationGateway := allied_creation_cooperation.NewHttplibAlliedCreationCooperation(endCooperationProjectCommand.Operator)
+	return nil, nil
+}
+
+// 返回共创项目管理
+func (cooperationProjectService *CooperationProjectService) GetCooperationProject(getCooperationProjectQuery *query.GetCooperationProjectQuery) (interface{}, error) {
+	if err := getCooperationProjectQuery.ValidateQuery(); err != nil {
+		return nil, application.ThrowError(application.ARG_ERROR, err.Error())
+	}
+	creationCooperationGateway := allied_creation_cooperation.NewHttplibAlliedCreationCooperation(getCooperationProjectQuery.Operator)
+	result, err := creationCooperationGateway.CooperationProjectGet(allied_creation_cooperation.ReqCooperationProjectGet{
+		CooperationProjectId: getCooperationProjectQuery.CooperationProjectId,
+	})
+	if err != nil {
+		return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
+	}
+	return result, nil
+
+}
+
+// 返回共创项目管理列表
+func (cooperationProjectService *CooperationProjectService) ListCooperationProject(listCooperationProjectQuery *query.ListCooperationProjectQuery) (int64, interface{}, error) {
+	if err := listCooperationProjectQuery.ValidateQuery(); err != nil {
+		return 0, nil, application.ThrowError(application.ARG_ERROR, err.Error())
+	}
+	creationCooperationGateway := allied_creation_cooperation.NewHttplibAlliedCreationCooperation(listCooperationProjectQuery.Operator)
+	result, err := creationCooperationGateway.CooperationProjectsSearch(allied_creation_cooperation.ReqCooperationProjectSearch{
+		PageNumber: listCooperationProjectQuery.PageNumber,
+		PageSize:   listCooperationProjectQuery.PageSize,
+		//发起部门名称
+		DepartmentName: listCooperationProjectQuery.DepartmentName,
+		//项目名
+		CooperationProjectName: listCooperationProjectQuery.CooperationProjectName,
+	})
+	if err != nil {
+		return 0, nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
+	}
+	return result.Total, result.CooperationProjects, nil
+}
+
+// 发布共创项目
+// func (cooperationProjectService *CooperationProjectService) ReleaseCooperationProject(releaseCooperationProjectCommand *command.ReleaseCooperationProjectCommand) (interface{}, error) {
+// 	if err := releaseCooperationProjectCommand.ValidateCommand(); err != nil {
+// 		return nil, application.ThrowError(application.ARG_ERROR, err.Error())
+// 	}
+// 	creationCooperationGateway := allied_creation_cooperation.NewHttplibAlliedCreationCooperation(releaseCooperationProjectCommand.Operator)
+// 	return nil, nil
+// }
+
+// 更新共创项目管理
+func (cooperationProjectService *CooperationProjectService) UpdateCooperationProject(updateCooperationProjectCommand *command.UpdateCooperationProjectCommand) (interface{}, error) {
+	if err := updateCooperationProjectCommand.ValidateCommand(); err != nil {
+		return nil, application.ThrowError(application.ARG_ERROR, err.Error())
+	}
+	creationCooperationGateway := allied_creation_cooperation.NewHttplibAlliedCreationCooperation(updateCooperationProjectCommand.Operator)
+	_, err := creationCooperationGateway.CooperationProjectUpdate(allied_creation_cooperation.ReqCooperationProjectUpdate{
+		CooperationProjectId:             updateCooperationProjectCommand.CooperationProjectId,
+		CooperationProjectName:           updateCooperationProjectCommand.CooperationProjectName,
+		CooperationProjectUndertakerType: updateCooperationProjectCommand.CooperationProjectUndertakerType,
+		SponsorUid:                       updateCooperationProjectCommand.CooperationProjectSponsor,
+		PublisherUid:                     strconv.Itoa(int(updateCooperationProjectCommand.Operator.UserId)),
+		CooperationProjectDescription:    updateCooperationProjectCommand.CooperationProjectDescription,
+		Images:                           updateCooperationProjectCommand.Images,
+	})
+	if err != nil {
+		return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
+	}
+
+	return updateCooperationProjectCommand, nil
+}
+
+func NewCooperationProjectService(options map[string]interface{}) *CooperationProjectService {
+	newCooperationProjectService := &CooperationProjectService{}
+	return newCooperationProjectService
+}
diff --git a/pkg/application/web/roles/service/roles.go b/pkg/application/web/roles/service/roles.go
index 8d68a13..0504fab 100644
--- a/pkg/application/web/roles/service/roles.go
+++ b/pkg/application/web/roles/service/roles.go
@@ -212,7 +212,7 @@ func (rolesService *RolesService) RoleRemove(roleRemoveCommand *command.RoleRemo
 		}
 	}
 	_, err := creationUserGateway.RoleBatchRemove(allied_creation_user.ReqRoleBatchRemove{
-		roleIds,
+		RoleIds: roleIds,
 	})
 	if err != nil {
 		return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
diff --git a/pkg/domain/attachment.go b/pkg/domain/attachment.go
new file mode 100644
index 0000000..a74ee5f
--- /dev/null
+++ b/pkg/domain/attachment.go
@@ -0,0 +1,13 @@
+package domain
+
+// Attachment 附件对象
+type Attachment struct {
+	// 附件文件类型,jpg,pdf
+	FileType string `json:"fileType"`
+	// 附件名称
+	Name string `json:"name"`
+	// 附件地址
+	Url string `json:"url"`
+	// 附件文件大小
+	FileSize int64 `json:"fileSize,string"`
+}
diff --git a/pkg/infrastructure/service_gateway/allied_creation_cooperation/module_cooperation_application.go b/pkg/infrastructure/service_gateway/allied_creation_cooperation/module_cooperation_application.go
index f014fb0..d79ddc1 100644
--- a/pkg/infrastructure/service_gateway/allied_creation_cooperation/module_cooperation_application.go
+++ b/pkg/infrastructure/service_gateway/allied_creation_cooperation/module_cooperation_application.go
@@ -12,7 +12,7 @@ import (
 
 // CooperationApplicationUpdaet 更新共创申请
 func (gateway HttplibAlliedCreationCooperation) CooperationApplicationUpdaet(param ReqCooperationApplicationUpdate) (*DataCooperationApplicationUpdate, error) {
-	url := gateway.baseUrL + "/cooperation-applications/" + strconv.Itoa(param.ApplicationId)
+	url := gateway.baseUrL + "/cooperation-applications/" + strconv.Itoa(param.CooperationApplicationId)
 	method := "PUT"
 	req := gateway.CreateRequest(url, method)
 	log.Logger.Debug("向基础模块请求数据:更新共创申请。", map[string]interface{}{
diff --git a/pkg/infrastructure/service_gateway/allied_creation_cooperation/module_cooperation_project.go b/pkg/infrastructure/service_gateway/allied_creation_cooperation/module_cooperation_project.go
index 9a79dca..1c92d89 100644
--- a/pkg/infrastructure/service_gateway/allied_creation_cooperation/module_cooperation_project.go
+++ b/pkg/infrastructure/service_gateway/allied_creation_cooperation/module_cooperation_project.go
@@ -73,7 +73,7 @@ func (gateway HttplibAlliedCreationCooperation) CooperationProjectList(param Req
 
 // Cooperation-projects[cooperationProjectId} 返回共创项目详情
 func (gateway HttplibAlliedCreationCooperation) CooperationProjectGet(param ReqCooperationProjectGet) (*DataCooperationProjectGet, error) {
-	url := gateway.baseUrL + "/cooperation-projects/" + strconv.Itoa(param.ProjectId)
+	url := gateway.baseUrL + "/cooperation-projects/" + strconv.Itoa(param.CooperationProjectId)
 	method := "GET"
 	req := gateway.CreateRequest(url, method)
 	log.Logger.Debug("向基础模块请求数据:返回共创项目详情。", map[string]interface{}{
@@ -135,7 +135,7 @@ func (gateway HttplibAlliedCreationCooperation) CooperationProjectUpdate(param R
 
 //CooperationProjectRemove 移除共创项目
 func (gateway HttplibAlliedCreationCooperation) CooperationProjectRemove(param ReqCooperationProjectRemove) (*DataCooperationProjectRemove, error) {
-	url := gateway.baseUrL + "/cooperation-projects/" + strconv.Itoa(param.ProjectId)
+	url := gateway.baseUrL + "/cooperation-projects/" + strconv.Itoa(param.CooperationProjectID)
 	method := "DELETE"
 	req := gateway.CreateRequest(url, method)
 	log.Logger.Debug("向基础模块请求数据:移除共创项目。", map[string]interface{}{
diff --git a/pkg/infrastructure/service_gateway/allied_creation_cooperation/param_cooperation_application.go b/pkg/infrastructure/service_gateway/allied_creation_cooperation/param_cooperation_application.go
index be1460d..cc3b3cd 100644
--- a/pkg/infrastructure/service_gateway/allied_creation_cooperation/param_cooperation_application.go
+++ b/pkg/infrastructure/service_gateway/allied_creation_cooperation/param_cooperation_application.go
@@ -1,9 +1,11 @@
 package allied_creation_cooperation
 
+import "gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/domain"
+
 //更新共创申请
 type (
 	ReqCooperationApplicationUpdate struct {
-		ApplicationId int
+		CooperationApplicationId int
 	}
 
 	DataCooperationApplicationUpdate struct {
@@ -32,7 +34,7 @@ type (
 //审核-同意共创申请
 type (
 	ReqCooperationApplicationAgree struct {
-		ApplicationId int
+		CooperationApplicationId int
 	}
 
 	DataCooperationApplicationAgree struct {
@@ -42,7 +44,7 @@ type (
 //审核-拒绝共创申请
 type (
 	ReqCooperationApplicationReject struct {
-		ApplicationId int
+		CooperationApplicationId int
 	}
 
 	DataCooperationApplicationReject struct {
@@ -52,9 +54,18 @@ type (
 //创建共创申请
 type (
 	ReqCooperationApplicationAdd struct {
+		// 共创申请人uid
+		ApplicantUid string `json:"applicantUid" `
+		// 共创申请描述
+		CooperationApplicationDescription string ` json:"cooperationApplicationDescription"`
+		// 共创申请描述附件
+		CooperationApplicationAttachment []domain.Attachment `json:"cooperationApplicationAttachment"`
+		// 关联的共创项目编号
+		CooperationProjectNumber string `json:"cooperationProjectNumber"`
 	}
 
 	DataCooperationApplicationAdd struct {
+		CooperationApplicationId int `json:"cooperationApplicationId,string"`
 	}
 )
 
@@ -98,7 +109,7 @@ type (
 //返回共创申请详情
 type (
 	ReqCooperationApplicationGet struct {
-		ApplicationId int
+		CooperationApplicationId int
 	}
 
 	DataCooperationApplicationGet struct {
diff --git a/pkg/infrastructure/service_gateway/allied_creation_cooperation/param_cooperation_mode.go b/pkg/infrastructure/service_gateway/allied_creation_cooperation/param_cooperation_mode.go
index 66768c6..3e5e8f6 100644
--- a/pkg/infrastructure/service_gateway/allied_creation_cooperation/param_cooperation_mode.go
+++ b/pkg/infrastructure/service_gateway/allied_creation_cooperation/param_cooperation_mode.go
@@ -9,6 +9,31 @@ type (
 	}
 
 	DataCooperationModeAdd struct {
+		// 共创模式ID
+		CooperationModeId int `json:"cooperationModeId,string"`
+		// 共创模式编码,
+		CooperationModeNumber string `json:"cooperationModeNumber"`
+		// 模式名称,
+		CooperationModeName string `json:"cooperationModeName"`
+		// 共创模式状态,1启用,2禁用
+		Status int `json:"status"`
+		// 备注
+		Remarks string `json:"remarks"`
+		Company struct {
+			// 公司ID,
+			CompanyId int `json:"companyId,string"`
+			// 公司logo
+			CompanyLogo string `json:"companyLogo"`
+			// 公司名称
+			CompanyName string `json:"companyName"`
+		} `json:"company"`
+		// 数据所属组织机构
+		Org struct {
+			// 组织机构ID
+			OrgId int `json:"orgId,string"`
+			// 组织名称
+			OrgName string `json:"orgName"`
+		} `json:"org"`
 	}
 )
 
@@ -23,7 +48,7 @@ type (
 		Total int `json:"total"`
 		List  []struct {
 			// 共创模式ID
-			CooperationModeId int `json:"cooperationModeId"`
+			CooperationModeId int `json:"cooperationModeId,string"`
 			// 共创模式编码,
 			CooperationModeNumber string `json:"cooperationModeNumber"`
 			// 模式名称,
@@ -34,7 +59,7 @@ type (
 			Remarks string `json:"remarks"`
 			Company struct {
 				// 公司ID,
-				CompanyId int `json:"companyId"`
+				CompanyId int `json:"companyId,string"`
 				// 公司logo
 				CompanyLogo string `json:"companyLogo"`
 				// 公司名称
@@ -43,7 +68,7 @@ type (
 			// 数据所属组织机构
 			Org struct {
 				// 组织机构ID
-				OrgId int `json:"orgId"`
+				OrgId int `json:"orgId,string"`
 				// 组织名称
 				OrgName string `json:"orgName"`
 			} `json:"org"`
@@ -54,12 +79,12 @@ type (
 //返回共创模式详情
 type (
 	ReqCooperationModeGet struct {
-		CooperationModeId int `json:"modeId"`
+		CooperationModeId int `json:"cooperationModeId"`
 	}
 
 	DataCooperationModeGet struct {
 		// 共创模式ID
-		CooperationModeId int `json:"cooperationModeId"`
+		CooperationModeId int `json:"cooperationModeId,string"`
 		// 共创模式编码,
 		CooperationModeNumber string `json:"cooperationModeNumber"`
 		// 模式名称,
@@ -89,12 +114,10 @@ type (
 //更新共创模式
 type (
 	ReqCooperationModeUpdate struct {
-		// 共创模式ID
-		CooperationModeId   int    `json:"cooperationModeId"`
+		CooperationModeId   int    `json:"cooperationModeId"` // 共创模式ID
 		CooperationModeName string `json:"cooperationModeName"`
 		Remarks             string `json:"remarks"`
-		// 共创模式状态,1启用,2禁用
-		Status int `json:"status"`
+		Status              int    `json:"status"` // 共创模式状态,1启用,2禁用
 	}
 
 	DataCooperationModeUpdate struct {
@@ -104,7 +127,7 @@ type (
 //移除共创模式
 type (
 	ReqCooperationModeRemove struct {
-		CooperationModeId int `json:"modeId"`
+		CooperationModeId int `json:"cooperationModeId"`
 	}
 
 	DataCooperationModeRemove struct {
@@ -114,8 +137,44 @@ type (
 //查询共创模式
 type (
 	ReqCooperationModesSearch struct {
+		// 页面大小
+		PageNumber int `json:"pageNumber,omitempty,"`
+		// 页面大小
+		PageSize int `json:"pageSize,omitempty,"`
+		//模式名称
+		CooperationModeName string `json:"cooperationModeName"`
+		//组织名称
+		OrganizationName string `json:"organizationName"`
 	}
 
 	DataCooperationModesSearch struct {
+		Total int `json:"total"`
+		List  []struct {
+			// 共创模式ID
+			CooperationModeId int `json:"cooperationModeId,string"`
+			// 共创模式编码,
+			CooperationModeNumber string `json:"cooperationModeNumber"`
+			// 模式名称,
+			CooperationModeName string `json:"cooperationModeName"`
+			// 共创模式状态,1启用,2禁用
+			Status int `json:"status"`
+			// 备注
+			Remarks string `json:"remarks"`
+			Company struct {
+				// 公司ID,
+				CompanyId int `json:"companyId,string"`
+				// 公司logo
+				CompanyLogo string `json:"companyLogo"`
+				// 公司名称
+				CompanyName string `json:"companyName"`
+			} `json:"company"`
+			// 数据所属组织机构
+			Org struct {
+				// 组织机构ID
+				OrgId int `json:"orgId,string"`
+				// 组织名称
+				OrgName string `json:"orgName"`
+			} `json:"org"`
+		} `json:"list"`
 	}
 )
diff --git a/pkg/infrastructure/service_gateway/allied_creation_cooperation/param_cooperation_project.go b/pkg/infrastructure/service_gateway/allied_creation_cooperation/param_cooperation_project.go
index 1e97c96..78bd35c 100644
--- a/pkg/infrastructure/service_gateway/allied_creation_cooperation/param_cooperation_project.go
+++ b/pkg/infrastructure/service_gateway/allied_creation_cooperation/param_cooperation_project.go
@@ -3,9 +3,16 @@ package allied_creation_cooperation
 //创建共创项目
 type (
 	ReqCooperationProjectAdd struct {
+		CooperationProjectDescription    string   `json:"cooperationProjectDescription"`
+		CooperationProjectName           string   `json:"cooperationProjectName"`
+		PublisherUid                     string   `json:"publisherUid"`
+		SponsorUid                       string   `json:"sponsorUid"`
+		CooperationProjectUndertakerType []int    `json:"cooperationProjectUndertakerType"`
+		Images                           []string `json:"images"`
 	}
 
 	DataCooperationProjectAdd struct {
+		CooperationProjectId int `json:"cooperationProjectId"`
 	}
 )
 
@@ -21,17 +28,70 @@ type (
 //返回共创项目详情
 type (
 	ReqCooperationProjectGet struct {
-		ProjectId int
+		CooperationProjectId int
 	}
 
 	DataCooperationProjectGet struct {
+		CooperationProject struct {
+			CooperationMode struct {
+				CooperationModeID     int    `json:"cooperationModeId,string"`
+				CooperationModeName   string `json:"cooperationModeName"`
+				CooperationModeNumber string `json:"cooperationModeNumber"`
+			} `json:"cooperationMode"`
+			CooperationProjectDescription string   `json:"cooperationProjectDescription"`
+			Images                        []string `json:"images"`
+			CooperationProjectID          int      `json:"cooperationProjectId,string"`
+			CooperationProjectName        string   `json:"cooperationProjectName"`
+			CooperationProjectNumber      string   `json:"cooperationProjectNumber"`
+			CooperationProjectPublishTime string   `json:"cooperationProjectPublishTime"`
+			CooperationProjectPublisher   struct {
+				CooperationCompany  string `json:"cooperationCompany"`
+				CooperationDeadline string `json:"cooperationDeadline"`
+				Email               string `json:"email"`
+				Phone               string `json:"phone"`
+				Status              int    `json:"status"`
+				UsersCode           string `json:"usersCode"`
+				UsersID             int    `json:"usersId,string"`
+				UsersName           string `json:"usersName"`
+			} `json:"cooperationProjectPublisher"`
+			CooperationProjectSponsor struct {
+				CooperationCompany  string `json:"cooperationCompany"`
+				CooperationDeadline string `json:"cooperationDeadline"`
+				Email               string `json:"email"`
+				Phone               string `json:"phone"`
+				Status              int    `json:"status"`
+				UsersCode           string `json:"usersCode"`
+				UsersID             int    `json:"usersId,string"`
+				UsersName           string `json:"usersName"`
+			} `json:"cooperationProjectSponsor"`
+			CooperationProjectUndertakerType []int `json:"cooperationProjectUndertakerType"`
+			Department                       struct {
+				CompanyID int    `json:"companyId,string"`
+				OrgCode   string `json:"orgCode"`
+				OrgID     int    `json:"orgId,string"`
+				OrgName   string `json:"orgName"`
+			} `json:"department"`
+			Status int `json:"status"`
+		} `json:"cooperationProject"`
 	}
 )
 
 //更新共创项目
 type (
 	ReqCooperationProjectUpdate struct {
-		ProjectId int
+		// 共创项目ID
+		CooperationProjectId string `json:"cooperationProjectId" `
+		// 共创项目名称
+		CooperationProjectName string `json:"cooperationProjectName"`
+		// 承接对象,1员工,2共创用户,3公开,可以多选
+		CooperationProjectUndertakerType []int32 `json:"cooperationProjectUndertakerType"`
+		// 共创项目发起人uid
+		SponsorUid string `json:"sponsorUid"`
+		// 共创项目发布人uid
+		PublisherUid string `json:"publisherUid"`
+		// 共创项目描述
+		CooperationProjectDescription string   `json:"cooperationProjectDescription"`
+		Images                        []string `json:"images"`
 	}
 
 	DataCooperationProjectUpdate struct {
@@ -41,7 +101,7 @@ type (
 //移除共创项目
 type (
 	ReqCooperationProjectRemove struct {
-		ProjectId int
+		CooperationProjectID int
 	}
 
 	DataCooperationProjectRemove struct {
@@ -60,15 +120,66 @@ type (
 //查询共创项目
 type (
 	ReqCooperationProjectSearch struct {
+		PageNumber int `json:"pageNumber"`
+		PageSize   int `json:"pageSize"`
+		//发起部门名称
+		DepartmentName string `json:"departmentName"`
+		//项目名称
+		CooperationProjectName string `json:"cooperationProjectName"`
+		Status                 int    `json:"status"`
 	}
 
 	DataCooperationProjectSearch struct {
+		Total               int64 `json:"total"`
+		CooperationProjects []struct {
+			CooperationMode struct {
+				CooperationModeID     int    `json:"cooperationModeId,string,"`
+				CooperationModeName   string `json:"cooperationModeName"`
+				CooperationModeNumber string `json:"cooperationModeNumber"`
+			} `json:"cooperationMode"`
+			CooperationProjectDescription string   `json:"cooperationProjectDescription"`
+			Images                        []string `json:"images"`
+			CooperationProjectID          int      `json:"cooperationProjectId,string,"`
+			CooperationProjectName        string   `json:"cooperationProjectName"`
+			CooperationProjectNumber      string   `json:"cooperationProjectNumber"`
+			CooperationProjectPublishTime string   `json:"cooperationProjectPublishTime"`
+			CooperationProjectPublisher   struct {
+				CooperationCompany  string `json:"cooperationCompany"`
+				CooperationDeadline string `json:"cooperationDeadline"`
+				Email               string `json:"email"`
+				Phone               string `json:"phone"`
+				Status              int    `json:"status"`
+				UsersCode           string `json:"usersCode"`
+				UsersID             int    `json:"usersId,string,"`
+				UsersName           string `json:"usersName"`
+			} `json:"cooperationProjectPublisher"`
+			CooperationProjectSponsor struct {
+				CooperationCompany  string `json:"cooperationCompany"`
+				CooperationDeadline string `json:"cooperationDeadline"`
+				Email               string `json:"email"`
+				Phone               string `json:"phone"`
+				Status              int    `json:"status"`
+				UsersCode           string `json:"usersCode"`
+				UsersID             int    `json:"usersId,string,"`
+				UsersName           string `json:"usersName"`
+			} `json:"cooperationProjectSponsor"`
+			CooperationProjectUndertakerType []int `json:"cooperationProjectUndertakerType"`
+			Department                       struct {
+				CompanyID int    `json:"companyId,string,"`
+				OrgCode   string `json:"orgCode"`
+				OrgID     int    `json:"orgId,string,"`
+				OrgName   string `json:"orgName"`
+			} `json:"department"`
+			Status int `json:"status"`
+		} `json:"cooperationProjects"`
 	}
 )
 
 //判断当前勾选的承接对象是否存在用户
 type (
 	ReqCooperationProjectsCheck struct {
+		CooperationProjectId              int
+		CooperationProjectUndertakerTypes []int
 	}
 
 	DataCooperationProjectsCheck struct {
diff --git a/pkg/port/beego/controllers/web_client/baseController.go b/pkg/port/beego/controllers/web_client/baseController.go
index 157556a..fe46163 100644
--- a/pkg/port/beego/controllers/web_client/baseController.go
+++ b/pkg/port/beego/controllers/web_client/baseController.go
@@ -13,8 +13,7 @@ func (controller *baseController) returnPageListData(count int64, data interface
 	dataMap := map[string]interface{}{
 		"grid": map[string]interface{}{
 			"total": count,
-			//"pageNumber": pageNumber,
-			"list": data,
+			"list":  data,
 		},
 	}
 	controller.Response(dataMap, err)
--
libgit2 0.24.0