param_cooperation_project.go 5.7 KB
package allied_creation_cooperation

import (
	"time"

	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/domain"
)

type CooperationProject struct {
	Company struct {
		CompanyId   int    `json:"companyId,string,"`
		CompanyLogo string `json:"companyLogo"`
		CompanyName string `json:"companyName"`
	} `json:"company"` //项目归属企业
	Org struct {
		OrgId   int    `json:"orgId"`
		OrgName string `json:"orgName"`
	} `json:"org"` //项目创建时的组织
	CooperationMode struct {
		CooperationModeId     int    `json:"cooperationModeId,string"`
		CooperationModeName   string `json:"cooperationModeName"`
		CooperationModeNumber string `json:"cooperationModeNumber"`
	} `json:"cooperationMode"` //项目模式
	CooperationProjectDescription string              `json:"cooperationProjectDescription"`
	Attachment                    []domain.Attachment `json:"attachment"`
	CooperationProjectId          int                 `json:"cooperationProjectId,string,"`
	CooperationProjectName        string              `json:"cooperationProjectName"`
	CooperationProjectNumber      string              `json:"cooperationProjectNumber"`
	CooperationProjectPublishTime time.Time           `json:"cooperationProjectPublishTime"`
	CreatedAt                     time.Time           `json:"createdAt"`
	CooperationProjectPublisher   struct {
		UsersId  int `json:"usersId"`
		UserInfo struct {
			UsersName string `json:"usersName"`
			UsersCode string `json:"usersCode"`
			Phone     string `json:"phone"`
			UsersId   int    `json:"userId,string,"`
		} `json:"userInfo"`
	} `json:"cooperationProjectPublisher"` //项目发布人,即操作人
	CooperationProjectSponsor struct {
		UsersId  int `json:"usersId"`
		UserInfo struct {
			UsersName string `json:"usersName"`
			UsersCode string `json:"usersCode"`
			Phone     string `json:"phone"`
			UsersId   int    `json:"userId,string,"`
		} `json:"userInfo"`
	} `json:"cooperationProjectSponsor"` //项目发起人
	CooperationProjectUndertakerType []int `json:"cooperationProjectUndertakerType"` //共创合约承接对象,1员工,2共创用户,3公开
	Department                       struct {
		DepartmentNumber string `json:"departmentNumber"`
		DepartmentId     int    `json:"departmentId,string,"`
		DepartmentName   string `json:"departmentName"`
	} `json:"department"` //项目发起部门
	Status int `json:"status"` // 共创项目状态,1招标中,2结束
}

//创建共创项目
type (
	ReqCooperationProjectAdd struct {
		CooperationProjectDescription    string              `json:"cooperationProjectDescription"`
		CooperationProjectName           string              `json:"cooperationProjectName"`
		CooperationModeNumber            string              `json:"cooperationModeNumber"`
		PublisherUid                     int                 `json:"publisherUid,string"`
		SponsorUid                       int                 `json:"sponsorUid,string"`
		DepartmentId                     int                 `json:"departmentId,string"`
		CooperationProjectUndertakerType []int               `json:"cooperationProjectUndertakerType"`
		Attachment                       []domain.Attachment `json:"attachment"`
	}

	DataCooperationProjectAdd struct {
		CooperationProject
	}
)

//返回共创项目列表
type (
	ReqCooperationProjectList struct {
	}

	DataCooperationProjectList struct {
	}
)

//返回共创项目详情
type (
	ReqCooperationProjectGet struct {
		CooperationProjectId int
	}

	DataCooperationProjectGet struct {
		CooperationProject CooperationProject `json:"cooperationProject"`
	}
)

//更新共创项目
type (
	ReqCooperationProjectUpdate struct {
		// 共创项目ID
		CooperationProjectId string `json:"cooperationProjectId" `
		// 共创项目名称
		CooperationProjectName string `json:"cooperationProjectName"`
		CooperationModeNumber  string `json:"cooperationModeNumber"`
		// 承接对象,1员工,2共创用户,3公开,可以多选
		CooperationProjectUndertakerType []int32 `json:"cooperationProjectUndertakerType"`
		// 共创项目发起人uid
		SponsorUid string `json:"sponsorUid"`
		// 共创项目发布人uid
		PublisherUid string `json:"publisherUid"`
		// 共创项目描述
		CooperationProjectDescription string              `json:"cooperationProjectDescription"`
		Attachment                    []domain.Attachment `json:"attachment"`
	}

	DataCooperationProjectUpdate struct {
		CooperationProject
	}
)

//移除共创项目
type (
	ReqCooperationProjectRemove struct {
		CooperationProjectID int `json:"cooperationProjectId"`
	}

	DataCooperationProjectRemove struct {
	}
)

//发布共创项目
type (
	ReqCooperationProjectsRelease struct {
	}

	DataCooperationProjectsRelease struct {
	}
)

//查询共创项目
type (
	ReqCooperationProjectSearch struct {
		PageNumber int `json:"pageNumber"`
		PageSize   int `json:"pageSize"`
		//发起部门名称
		DepartmentName string `json:"departmentName"`
		//项目名称
		CooperationProjectName string `json:"cooperationProjectName"`
		// 共创项目状态,1招标中,2结束 0 全部
		Status int `json:"status"`
		//
		OrgIds []string `json:"orgIds"`
	}

	DataCooperationProjectSearch struct {
		Total int64                `json:"total"`
		List  []CooperationProject `json:"cooperationProjects"`
	}
)

//判断当前勾选的承接对象是否存在用户
type (
	ReqCooperationProjectsCheck struct {
		CooperationProjectId              int   `json:"cooperationProjectId"`
		CooperationProjectUndertakerTypes []int `json:"cooperationProjectUndertakerTypes"`
	}

	DataCooperationProjectsCheck struct {
	}
)

// 批量结束项目
type (
	ReqCooperationProjectBatchEnd struct {
		CooperationProjectIds []string `json:"cooperationProjectId"`
	}

	DataCooperationProjectBatchEnd struct {
	}
)