package model import ( "cu-helper/cus-eng-con-sys/cryptokit" "cu-helper/cus-eng-con-sys/util" "reflect" "time" ) /* /zjgd/frm/actInfoController/updateActInfo */ /* 用途 完工确认(扩容需要填写完工时间,需要调用这个接口) */ type UpdateActInfo struct { RemandName string `map:"remandName"` RemandCode string `map:"remandCode"` ProjectName string `map:"projectName"` ProjectCode string `map:"projectCode"` CityName string `map:"cityName"` City string `map:"city"` ReplyInvestment string `map:"replyInvestment"` StaffName string `map:"staffName"` MobilPhone string `map:"mobilPhone"` RemandStartDate string `map:"remandStartDate"` BuildAddress string `map:"buildAddress"` ActualFinishDate string `map:"actualFinishDate"` EponNum string `map:"eponNum"` GponNum string `map:"gponNum"` Epon10Num string `map:"epon10Num"` Gpon10gNum string `map:"gpon10gNum"` BuildPonNum string `map:"buildPonNum"` OltTypess string `map:"oltTypess"` OltPortNum string `map:"oltPortNum"` BuildSwithNum string `map:"buildSwithNum"` OltInvestment string `map:"oltInvestment"` SwithInvestment string `map:"swithInvestment"` PonPrice string `map:"ponPrice"` CoverTypeToRemind string `map:"coverTypeToRemind"` FenceAddressType string `map:"fenceAddressType"` UpPonType string `map:"upPonType"` AccessWay string `map:"accessWay"` ODNCoverReason string `map:"ODNCoverReason"` BroadbandPortNum string `map:"broadbandPortNum"` TipPortNum string `map:"tipPortNum"` CascadePort string `map:"cascadePort"` FtthPortNum string `map:"ftthPortNum"` PonLan10gNum string `map:"ponLan10gNum"` FiberBoxNum string `map:"fiberBoxNum"` BuildTotalNum string `map:"buildTotalNum"` CoverBuildTotalNum string `map:"coverBuildTotalNum"` CoverBuildNum string `map:"coverBuildNum"` ResiTotalNum string `map:"resiTotalNum"` CoverResiTotalNum string `map:"coverResiTotalNum"` CoverAddrNum string `map:"coverAddrNum"` EntryLineDesc string `map:"entryLineDesc"` PermeabilityRate string `map:"permeabilityRate"` PonIdList string `map:"ponIdList"` UpOltPoint string `map:"upOltPoint"` OltIps string `map:"oltIps"` OccupyPonNum string `map:"occupyPonNum"` OccupyPonName string `map:"occupyPonName"` UnselectedPonReason string `map:"unselectedPonReason"` ActCoverBussCode string `map:"actCoverBussCode"` CablePostion string `map:"cablePostion"` IsPerpendLine string `map:"isPerpendLine"` AccessEquipment string `map:"accessEquipment"` ScpectPorg string `map:"scpectPorg"` ActStartOrgId string `map:"actStartOrgId"` ActStartOrgName string `map:"actStartOrgName"` ActOrgCode string `map:"actOrgCode"` OrgName string `map:"orgName"` Phone string `map:"phone"` BuildLimitedType string `map:"buildLimitedType"` ActLimitType string `map:"actLimitType"` BuildLimitedDays string `map:"buildLimitedDays"` ActFinishDate string `map:"actFinishDate"` ActStartDesc string `map:"actStartDesc"` ActFinishDesc string `map:"actFinishDesc"` Token string `map:"token"` ActId string `map:"actId"` RemandId string `map:"remandId"` SplitRemandId string `map:"splitRemandId"` IsSplitedRemand string `map:"isSplitedRemand"` SaveOrUpdateType string `map:"saveOrUpdateType"` Prov string `map:"prov"` BussCode string `map:"bussCode"` ProcInsId string `map:"procInsId"` BuildType1 string `map:"buildType1"` SpecCC string `map:"specCC"` SpecB string `map:"specB"` BuildModel string `map:"buildModel"` Countys string `map:"countys"` LinkCode string `map:"linkCode"` BusiId string `map:"busiId'"` //todo 这是工建的bug TaskIds string `map:"taskIds"` SpecC string `map:"specC"` Pass string `map:"pass"` ActStartDate string `map:"actStartDate"` TaskDefinitionKeys string `map:"taskDefinitionKeys"` AttachCountyCode string `map:"attachCountyCode"` IsCross string `map:"isCross"` InvestmentConfigId string `map:"investmentConfigId"` IsGrid string `map:"isGrid"` AttactGrid string `map:"attactGrid"` ResourceGridOrg string `map:"resourceGridOrg"` GridId string `map:"gridId"` IsExist string `map:"isExist"` IsNewNational string `map:"isNewNational"` VoicePortNum string `map:"voicePortNum"` Ranstr string `map:"ranstr"` Timestamp string `map:"timestamp"` } func NewUpdateActInfo(html string) *UpdateActInfo { updateActInfo := new(UpdateActInfo) updateActInfo.RemandName = util.HTMLContentFindFirst(html, "remandName") updateActInfo.RemandCode = util.HTMLContentFindFirst(html, "remandCode") updateActInfo.ProjectName = util.HTMLContentFindFirst(html, "projectName") updateActInfo.ProjectCode = util.HTMLContentFindFirst(html, "projectCode") updateActInfo.CityName = util.HTMLContentFindFirst(html, "cityName") updateActInfo.City = util.HTMLContentFindFirst(html, "city") updateActInfo.ReplyInvestment = util.HTMLContentFindFirst(html, "replyInvestment") updateActInfo.StaffName = util.HTMLContentFindFirst(html, "staffName") updateActInfo.MobilPhone = util.HTMLContentFindFirst(html, "mobilPhone") updateActInfo.RemandStartDate = util.HTMLContentFindFirst(html, "remandStartDate") updateActInfo.BuildAddress = util.HTMLContentFindFirst(html, "buildAddress") updateActInfo.ActualFinishDate = util.HTMLContentFindFirst(html, "actualFinishDate") t, _ := time.Parse("2006-01-02 15:04:05", util.HTMLContentFindFirst(html, "actStartDate")) if t.String() == "0001-01-01 00:00:00 +0000 UTC" { updateActInfo.ActualFinishDate = "" } else { newDate := t.Add(48 * time.Hour).Format("2006-01-02") updateActInfo.ActualFinishDate = newDate } updateActInfo.EponNum = util.HTMLContentFindFirst(html, "eponNum") updateActInfo.GponNum = util.HTMLContentFindFirst(html, "gponNum") updateActInfo.Epon10Num = util.HTMLContentFindFirst(html, "epon10Num") updateActInfo.Gpon10gNum = util.HTMLContentFindFirst(html, "gpon10gNum") updateActInfo.BuildPonNum = util.HTMLContentFindFirst(html, "buildPonNum") updateActInfo.OltTypess = util.HTMLContentFindFirst(html, "oltTypess") updateActInfo.OltPortNum = util.HTMLContentFindFirst(html, "oltPortNum") updateActInfo.BuildSwithNum = util.HTMLContentFindFirst(html, "buildSwithNum") updateActInfo.OltInvestment = util.HTMLContentFindFirst(html, "oltInvestment") updateActInfo.SwithInvestment = util.HTMLContentFindFirst(html, "swithInvestment") updateActInfo.PonPrice = util.HTMLContentFindFirst(html, "ponPrice") updateActInfo.CoverTypeToRemind = util.HTMLContentFindFirst(html, "coverTypeToRemind") updateActInfo.FenceAddressType = util.HTMLContentFindFirst(html, "fenceAddressType") updateActInfo.UpPonType = util.HTMLContentFindFirst(html, "upPonType") updateActInfo.AccessWay = util.HTMLContentFindFirst(html, "accessWay") updateActInfo.ODNCoverReason = util.HTMLContentFindFirst(html, "ODNCoverReason") updateActInfo.BroadbandPortNum = util.HTMLContentFindFirst(html, "broadbandPortNum") updateActInfo.TipPortNum = util.HTMLContentFindFirst(html, "tipPortNum") updateActInfo.CascadePort = util.HTMLContentFindFirst(html, "cascadePort") updateActInfo.FtthPortNum = util.HTMLContentFindFirst(html, "ftthPortNum") updateActInfo.PonLan10gNum = util.HTMLContentFindFirst(html, "ponLan10gNum") updateActInfo.FiberBoxNum = util.HTMLContentFindFirst(html, "fiberBoxNum") updateActInfo.BuildTotalNum = util.HTMLContentFindFirst(html, "buildTotalNum") updateActInfo.CoverBuildTotalNum = util.HTMLContentFindFirst(html, "coverBuildTotalNum") updateActInfo.CoverBuildNum = util.HTMLContentFindFirst(html, "coverBuildNum") updateActInfo.ResiTotalNum = util.HTMLContentFindFirst(html, "resiTotalNum") updateActInfo.CoverResiTotalNum = util.HTMLContentFindFirst(html, "coverResiTotalNum") updateActInfo.CoverAddrNum = util.HTMLContentFindFirst(html, "coverAddrNum") updateActInfo.EntryLineDesc = util.HTMLContentFindFirst(html, "entryLineDesc") updateActInfo.PermeabilityRate = util.HTMLContentFindFirst(html, "permeabilityRate") updateActInfo.PonIdList = util.HTMLContentFindFirst(html, "ponIdList") updateActInfo.UpOltPoint = util.HTMLContentFindFirst(html, "upOltPoint") updateActInfo.OltIps = util.HTMLContentFindFirst(html, "oltIps") updateActInfo.OccupyPonNum = util.HTMLContentFindFirst(html, "occupyPonNum") updateActInfo.OccupyPonName = util.HTMLContentFindFirst(html, "occupyPonName") updateActInfo.UnselectedPonReason = util.HTMLContentFindFirst(html, "unselectedPonReason") updateActInfo.ActCoverBussCode = util.HTMLContentFindFirst(html, "actCoverBussCode") updateActInfo.CablePostion = util.HTMLContentFindFirst(html, "cablePostion") updateActInfo.IsPerpendLine = util.HTMLContentFindFirst(html, "isPerpendLine") updateActInfo.AccessEquipment = util.HTMLContentFindFirst(html, "accessEquipment") updateActInfo.ScpectPorg = util.HTMLContentFindFirst(html, "scpectPorg") updateActInfo.ActStartOrgId = util.HTMLContentFindFirst(html, "actStartOrgId") updateActInfo.ActStartOrgName = util.HTMLContentFindFirst(html, "actStartOrgName") updateActInfo.ActOrgCode = util.HTMLContentFindFirst(html, "actOrgCode") updateActInfo.OrgName = util.HTMLContentFindFirst(html, "orgName") updateActInfo.Phone = util.HTMLContentFindFirst(html, "phone") updateActInfo.BuildLimitedType = util.HTMLContentFindFirst(html, "buildLimitedType") updateActInfo.ActLimitType = util.HTMLContentFindFirst(html, "actLimitType") updateActInfo.BuildLimitedDays = util.HTMLContentFindFirst(html, "buildLimitedDays") updateActInfo.ActFinishDate = util.HTMLContentFindFirst(html, "actFinishDate") updateActInfo.ActStartDesc = util.HTMLContentFindFirst(html, "actStartDesc") updateActInfo.ActFinishDesc = util.HTMLContentFindFirst(html, "actFinishDesc") updateActInfo.Token = util.HTMLContentFindFirst(html, "token") updateActInfo.ActId = util.HTMLContentFindFirst(html, "actId") updateActInfo.RemandId = util.HTMLContentFindFirst(html, "remandId") updateActInfo.SplitRemandId = util.HTMLContentFindFirst(html, "splitRemandId") updateActInfo.IsSplitedRemand = util.HTMLContentFindFirst(html, "isSplitedRemand") updateActInfo.SaveOrUpdateType = "2" // todo 确认下 updateActInfo.Prov = util.HTMLContentFindFirst(html, "prov") updateActInfo.BussCode = util.HTMLContentFindFirst(html, "bussCode") updateActInfo.ProcInsId = util.HTMLContentFindFirst(html, "procInsId") updateActInfo.BuildType1 = util.HTMLContentFindFirst(html, "buildType1") updateActInfo.SpecCC = util.HTMLContentFindFirst(html, "specCC") updateActInfo.SpecB = util.HTMLContentFindFirst(html, "specB") updateActInfo.BuildModel = util.HTMLContentFindFirst(html, "buildModel") updateActInfo.Countys = util.HTMLContentFindFirst(html, "countys") updateActInfo.LinkCode = util.HTMLContentFindFirst(html, "linkCode") updateActInfo.BusiId = util.HTMLContentFindFirst(html, "busiId") // 你标记的BUG updateActInfo.TaskIds = util.HTMLContentFindFirst(html, "taskIds") updateActInfo.SpecC = util.HTMLContentFindFirst(html, "specC") updateActInfo.Pass = util.HTMLContentFindFirst(html, "pass") updateActInfo.ActStartDate = util.HTMLContentFindFirst(html, "actStartDate") updateActInfo.TaskDefinitionKeys = util.HTMLContentFindFirst(html, "taskDefinitionKeys") updateActInfo.AttachCountyCode = util.HTMLContentFindFirst(html, "attachCountyCode") updateActInfo.IsCross = util.HTMLContentFindFirst(html, "isCross") updateActInfo.InvestmentConfigId = util.HTMLContentFindFirst(html, "investmentConfigId") updateActInfo.IsGrid = util.HTMLContentFindFirst(html, "isGrid") updateActInfo.AttactGrid = util.HTMLContentFindFirst(html, "attactGrid") updateActInfo.ResourceGridOrg = util.HTMLContentFindFirst(html, "resourceGridOrg") updateActInfo.GridId = util.HTMLContentFindFirst(html, "gridId") updateActInfo.IsExist = util.HTMLContentFindFirst(html, "isExist") updateActInfo.IsNewNational = util.HTMLContentFindFirst(html, "isNewNational") updateActInfo.VoicePortNum = "0" //写死 return updateActInfo } // GenReqParam 返回加密后的请求参数 func (th *UpdateActInfo) GenReqParam() map[string]string { th.encrypt() return th.structToMap() } func (th *UpdateActInfo) structToMap() map[string]string { result := make(map[string]string) t := reflect.TypeOf(*th) v := reflect.ValueOf(*th) for i := 0; i < t.NumField(); i++ { field := t.Field(i) value := v.Field(i) // Use the tag value as the key in the map, if it exists; otherwise, use the field name. tag := field.Tag.Get("map") if tag == "" { tag = field.Name } result[tag] = value.String() } return result } func (th *UpdateActInfo) encrypt() { v := reflect.ValueOf(th).Elem() for i := 0; i < v.NumField(); i++ { field := v.Field(i) if field.CanSet() { field.SetString(cryptokit.Encrypt(field.String())) } } }