package allied_creation_cooperation import ( "time" "gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/domain" "gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/util/jtime" ) type ProjectAttachment struct { FileType string `json:"fileType"` Name string `json:"name"` Url string `json:"url"` FileSize int `json:"fileSize"` } //图片附件 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,string"` 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:"userId,string"` UserInfo struct { UsersName string `json:"userName"` UsersCode string `json:"userCode"` UserPhone string `json:"userPhone"` UserAccount string `json:"userAccount"` } `json:"userInfo"` } `json:"cooperationProjectPublisher"` //项目发布人,即操作人 CooperationProjectSponsor struct { UsersId int `json:"userId,string"` UserInfo struct { UsersName string `json:"userName"` UsersCode string `json:"userCode"` UserPhone string `json:"userPhone"` UserAccount string `json:"userAccount"` } `json:"userInfo"` } `json:"cooperationProjectSponsor"` //项目发起人 CooperationProjectUndertakerType []int `json:"cooperationProjectUndertakerTypes"` //共创合约承接对象,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结束 // 可以去除勾选的共创项目承接对象列表 UndertakerTypesUncheckedAvailable []int `json:"undertakerTypesUncheckedAvailable"` // 承接人 Applicants []struct { UserId int64 `json:"userId,string"` UserBaseId int64 `json:"userBaseId,string"` // 用户基本id Org struct { OrgId int64 `json:"orgId,string"` // 组织机构ID OrgName string `json:"orgName"` // 组织名称 } `json:"org"` // 用户所属组织机构 Department struct { DepartmentId int64 `json:"departmentId,string"` // 部门ID, DepartmentName string `json:"departmentName"` // 部门名称 DepartmentNumber string `json:"departmentNumber"` // 部门编码 } `json:"department"` // 用户所属的部门 UserInfo struct { UserAvatar string `json:"userAvatar"` // 用户头像 UserEmail string `json:"userEmail"` // 用户邮箱 UserName string `json:"userName"` // 共创人员姓名 UserPhone string `json:"userPhone"` // 用户手机号 UserAccount string `json:"userAccount"` // 用户账号, UserCode string `json:"userCode"` // 用户编码 } `json:"userInfo,omitempty"` } `json:"applicants"` } //创建共创项目 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"` CooperationProjectUndertakerTypes []int `json:"cooperationProjectUndertakerTypes"` Attachment []*domain.Attachment `json:"attachment"` } DataCooperationProjectAdd struct { CooperationProject } ) //返回共创项目列表 type ( ReqCooperationProjectList struct { } DataCooperationProjectList struct { } ) //返回共创项目详情 type ( ReqCooperationProjectGet struct { CooperationProjectId int CooperationProjectNumber string OrgId int CompanyId int } DataCooperationProjectGet struct { CooperationProject } ) //更新共创项目 type ( ReqCooperationProjectUpdate struct { // 共创项目ID CooperationProjectId string `json:"cooperationProjectId" ` // 共创项目名称 CooperationProjectName string `json:"cooperationProjectName"` CooperationModeNumber string `json:"cooperationModeNumber"` // 承接对象,1员工,2共创用户,3公开,可以多选 CooperationProjectUndertakerTypes []int32 `json:"cooperationProjectUndertakerTypes"` // 共创项目发起人uid SponsorUid string `json:"sponsorUid"` // 共创项目发布人uid PublisherUid string `json:"publisherUid"` // 共创项目描述 CooperationProjectDescription string `json:"cooperationProjectDescription"` Attachment []domain.Attachment `json:"attachment"` DepartmentId int `json:"departmentId"` } DataCooperationProjectUpdate struct { CooperationProject } ) //移除共创项目 type ( ReqCooperationProjectRemove struct { CooperationProjectID int `json:"cooperationProjectId"` } DataCooperationProjectRemove struct { } ) //发布共创项目 type ( ReqCooperationProjectsRelease struct { } DataCooperationProjectsRelease struct { } ) //查询共创项目 type ( SearchCooperationProjectExtQuery struct { // 公司ID,通过集成REST上下文获取 ExtCompanyId int64 `cname:"公司ID" json:"extCompanyId,omitempty"` // 组织机构ID ExtOrgId int64 `cname:"组织机构ID" json:"extOrgId,omitempty"` // 关联的组织机构ID列表 ExtOrgIds []int64 `cname:"关联的组织机构ID列表" json:"extOrgIds,omitempty"` // 用户ID,通过集成REST上下文获取,可翻译成发起人、承接人、推荐人、业务员 ExtUserId int64 `cname:"用户ID" json:"extUserId,omitempty"` // 用户基础数据id ExtUserBaseId int64 `cname:"用户基础数据ID" json:"extUserBaseId,omitempty"` // 共创项目承接对象,1员工,2共创用户,3公开,可多选 ExtCooperationProjectUndertakerTypes []int32 `json:"extCooperationProjectUndertakerTypes"` } 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"` // 关键字搜索 Keyword string `cname:"关键字" json:"keyword"` // 组织机构ID OrgId int64 `cname:"组织机构ID" json:"orgId"` OrgIds []int64 `json:"orgIds"` CompanyId int64 `json:"companyId"` CooperationProjectNumber string `json:"cooperationProjectNumber"` //OffsetLimitFlag bool `json:"offsetLimitFlag"` // 用户基础数据id UserBaseId int64 `cname:"用户基础数据ID" json:"userBaseId"` // 共创项目承接对象,1员工,2共创用户,4公开,可以多选 CooperationProjectUndertakerType int32 `json:"cooperationProjectUndertakerType"` // 额外的查询条件 0:不需要额外查询 1:额外查询 SearchCooperationProjectExtQueriesFlag int `cname:"额外的查询条件标识" json:"searchCooperationProjectExtQueriesFlag"` // 额外的查询条件 SearchCooperationProjectExtQueries []*SearchCooperationProjectExtQuery `cname:"额外的查询条件" json:"searchCooperationProjectExtQueries"` // 按共创项目状态排序 SortByStatus int32 `cname:"按共创项目状态排序" json:"sortByStatus,omitempty"` // 是否跳过获取共创模式 IsSkipFetchProjectModel bool `cname:"是否跳过获取共创模式" json:"isSkipFetchProjectModel,omitempty"` } DataCooperationProjectSearchItem struct { CooperationProjectID string `json:"cooperationProjectId"` CooperationProjectNumber string `json:"cooperationProjectNumber"` CooperationProjectDescription string `json:"cooperationProjectDescription"` CooperationProjectName string `json:"cooperationProjectName"` CooperationProjectPublishTime jtime.TimeToUnixMsec `json:"cooperationProjectPublishTime"` CooperationProjectPublisher struct { UserID string `json:"userId"` UserBaseID string `json:"userBaseId"` Department interface{} `json:"department"` UserInfo struct { UserAvatar string `json:"userAvatar"` UserEmail string `json:"userEmail"` UserName string `json:"userName"` UserPhone string `json:"userPhone"` UserAccount string `json:"userAccount"` } `json:"userInfo"` } `json:"cooperationProjectPublisher"` CooperationProjectSponsor struct { UserID string `json:"userId"` UserBaseID string `json:"userBaseId"` Department interface{} `json:"department"` UserInfo struct { UserAvatar string `json:"userAvatar"` UserEmail string `json:"userEmail"` UserName string `json:"userName"` UserPhone string `json:"userPhone"` UserAccount string `json:"userAccount"` } `json:"userInfo"` } `json:"cooperationProjectSponsor"` CooperationMode struct { CooperationModeId int `json:"cooperationModeId,string"` CooperationModeName string `json:"cooperationModeName"` CooperationModeNumber string `json:"cooperationModeNumber"` } `json:"cooperationMode"` //项目模式 Department struct { DepartmentID string `json:"departmentId"` DepartmentName string `json:"departmentName"` DepartmentNumber string `json:"departmentNumber"` } `json:"department"` CooperationProjectUndertakerTypes []int `json:"cooperationProjectUndertakerTypes"` CooperationProjectUndertakerType []int `json:"cooperationProjectUndertakerType"` Org struct { OrgID string `json:"orgId"` OrgName string `json:"orgName"` } `json:"org"` Attachment interface{} `json:"attachment"` Company struct { CompanyID string `json:"companyId"` CompanyLogo string `json:"companyLogo"` CompanyName string `json:"companyName"` } `json:"company"` Operator struct { UserID string `json:"userId"` UserBaseID string `json:"userBaseId"` Department interface{} `json:"department"` UserInfo struct { UserAvatar string `json:"userAvatar"` UserEmail string `json:"userEmail"` UserName string `json:"userName"` UserPhone string `json:"userPhone"` UserAccount string `json:"userAccount"` } `json:"userInfo"` } `json:"operator"` //OperateTime time.Time `json:"operateTime"` Status int `json:"status"` ApplicantCount int `json:"applicantCount"` // 共创申请人计数 // 合约计数 ContractCount int32 `json:"contractCount"` } DataCooperationProjectSearch struct { List []DataCooperationProjectSearchItem `json:"list"` Total int `json:"total"` } ) //判断当前勾选的承接对象是否存在用户 type ( ReqCooperationProjectsCheck struct { CooperationProjectId int `json:"cooperationProjectId"` CooperationProjectUndertakerTypes []int `json:"cooperationProjectUndertakerTypes"` } DataCooperationProjectsCheck struct { } ) // 批量结束项目 type ( ReqCooperationProjectBatchEnd struct { CooperationProjectIds []string `json:"cooperationProjectIds"` } DataCooperationProjectBatchEnd struct { } ) // 结束项目 type ( ReqCooperationProjectEnd struct { CooperationProjectId string `json:"cooperationProjectId"` } DataCooperationProjectEnd struct { } )