package config import ( "SciencesServer/config" "SciencesServer/utils" "strings" ) // Area 区域 type Area struct { Province string `json:"province" form:"province"` City string `json:"city" form:"city"` District string `json:"district" form:"district"` Address string `json:"address" form:"address"` } type ( // IdentityForCompany 公司附加信息 IdentityForCompany struct { Kind int `json:"kind" form:"kind" binding:"required"` Product string `json:"product" form:"product" binding:"required"` // 企业产品 Url string `json:"url" form:"url"` // 企业网站 License string `json:"license" form:"license" binding:"required"` // 营业执照 Directions []string `json:"directions" form:"directions"` // 产品方向 } // IdentityForExpert 专家附加信息 IdentityForExpert struct { ResearchID string `json:"research_id" form:"research_id" binding:"required"` // 科研机构ID LaboratoryID string `json:"laboratory_id" form:"laboratory_id"` // 实验室ID Education string `json:"education" form:"education"` // 学历 School string `json:"school" form:"school"` // 毕业院校 Major string `json:"major" form:"major"` // 专业 Job string `json:"job" form:"job"` // 职务 Title string `json:"title" form:"title"` // 职称 WorkAt string `json:"work_at" form:"work_at"` // 从业时间 Gender int `json:"gender" form:"gender"` // 性别 Researchs []string `json:"researchs" form:"researchs"` // 研究方向 } // IdentityForResearch 研究机构 IdentityForResearch struct { Longitude float64 `json:"longitude" form:"longitude"` // 经度 Latitude float64 `json:"latitude" form:"latitude"` // 纬度 License string `json:"license" form:"license" binding:"required"` // 营业执照 Researchs []string `json:"researchs" form:"researchs"` // 研究方向 } // IdentityForLaboratory 实验室 IdentityForLaboratory struct { ResearchID string `json:"research_id" form:"research_id" binding:"required"` // 科研机构ID Url string `json:"url" form:"url"` // 实验室网站 Longitude float64 `json:"longitude" form:"longitude"` // 经度 Latitude float64 `json:"latitude" form:"latitude"` // 纬度 Researchs []string `json:"researchs" form:"researchs"` // 研究方向 } // IdentityForAgent 经纪人 IdentityForAgent struct { ResearchID string `json:"research_id" form:"research_id" binding:"required"` // 科研机构ID IDCard string `json:"id_card" form:"id_card" binding:"required"` // 身份证号 WorkExperience string `json:"work_experience" form:"work_experience" binding:"required"` // 工作经历 WorkPlace string `json:"work_place" form:"work_place" binding:"required"` // 工作地点 // ManageAgentIDImage 身份证信息 IDImage struct { Front string `json:"front" form:"front" binding:"required"` Behind string `json:"behind" form:"behind" binding:"required"` Hold string `json:"hold" form:"hold" binding:"required"` } `json:"id_image" form:"id_image" binding:"required"` CredentialImages []string `json:"credential_images" form:"credential_images"` // 资格证书 Longitude float64 `json:"longitude" form:"longitude"` // 经度 Latitude float64 `json:"latitude" form:"latitude"` // 纬度 } ) func (this *IdentityForCompany) FilterLicense() string { return strings.Replace(this.License, config.SystemConfig[config.SysImageDomain], "", -1) } func (this *IdentityForExpert) ConvertResearch() uint64 { if this.ResearchID == "" { return 0 } return uint64(utils.HASHIDDecode(this.ResearchID)) } func (this *IdentityForExpert) ConvertLaboratory() uint64 { if this.LaboratoryID == "" { return 0 } return uint64(utils.HASHIDDecode(this.LaboratoryID)) } func (this *IdentityForResearch) FilterLicense() string { return strings.Replace(this.License, config.SystemConfig[config.SysImageDomain], "", -1) } func (this *IdentityForLaboratory) ConvertResearch() uint64 { if this.ResearchID == "" { return 0 } return uint64(utils.HASHIDDecode(this.ResearchID)) } func (this *IdentityForAgent) ConvertResearch() uint64 { if this.ResearchID == "" { return 0 } return uint64(utils.HASHIDDecode(this.ResearchID)) } // TechnologyMaturity 科技成熟度 type TechnologyMaturity int const ( // TechnologyMaturityForDev 正在研发 TechnologyMaturityForDev TechnologyMaturity = iota + 1 // TechnologyMaturityForTest 小试阶段 TechnologyMaturityForTest // TechnologyMaturityForTestFinish 通过小试 TechnologyMaturityForTestFinish // TechnologyMaturityForModerateTest 中试阶段 TechnologyMaturityForModerateTest // TechnologyMaturityForModerateTestFinish 通过中试 TechnologyMaturityForModerateTestFinish // TechnologyMaturityForProduce 可规模生产 TechnologyMaturityForProduce ) func GetTechnologyMaturityTitle(key TechnologyMaturity) string { switch key { case TechnologyMaturityForDev: return "正在研发" case TechnologyMaturityForTest: return "小试阶段" case TechnologyMaturityForTestFinish: return "通过小试" case TechnologyMaturityForModerateTest: return "中试阶段" case TechnologyMaturityForModerateTestFinish: return "通过中试" case TechnologyMaturityForProduce: return "可规模生产" } return "" } // TechnologyCooperationMode 科技合作模式 type TechnologyCooperationMode int const ( // TechnologyCooperationModeForJSTransfer 技术转让 TechnologyCooperationModeForJSTransfer TechnologyCooperationMode = iota + 101 // TechnologyCooperationModeForJSPermit 技术许可 TechnologyCooperationModeForJSPermit // TechnologyCooperationModeForJSShare 技术入股 TechnologyCooperationModeForJSShare // TechnologyCooperationModeForCooperation 合作开发 TechnologyCooperationModeForCooperation // TechnologyCooperationModeForFinancing 融资 TechnologyCooperationModeForFinancing // TechnologyCooperationModeForCompany 公司 TechnologyCooperationModeForCompany // TechnologyCooperationModeForAgentJoin 代理加盟 TechnologyCooperationModeForAgentJoin // TechnologyCooperationModeForMarketing 市场推广 TechnologyCooperationModeForMarketing // TechnologyCooperationModeForOther 其他 TechnologyCooperationModeForOther ) func GetTechnologyCooperationModeTitle(key TechnologyCooperationMode) string { switch key { case TechnologyCooperationModeForJSTransfer: return "技术转让" case TechnologyCooperationModeForJSPermit: return "技术许可" case TechnologyCooperationModeForJSShare: return "技术入股" case TechnologyCooperationModeForCooperation: return "合作开发" case TechnologyCooperationModeForFinancing: return "融资" case TechnologyCooperationModeForCompany: return "公司" case TechnologyCooperationModeForAgentJoin: return "代理加盟" case TechnologyCooperationModeForMarketing: return "市场推广" case TechnologyCooperationModeForOther: return "其他" } return "" }