package examtestpage import ( "fmt" "strings" "github.com/flipped-aurora/gin-vue-admin/server/commonus" "github.com/flipped-aurora/gin-vue-admin/server/model/common/response" "github.com/gin-gonic/gin" ) //健康上报 type HealthReportStat struct{} func (h *HealthReportStat) HealthList(c *gin.Context) { var healthReport commonus.GetHealthReport err := c.ShouldBindJSON(&healthReport) tadayTime := commonus.GetYesterDay() if err == nil { if healthReport.Date != "" { tadayTime = healthReport.Date } } // fmt.Printf("%v===>%v\n", tadayTime, healthReport) pv, uv, isTrue, msg := commonus.GetHealthReportStat(tadayTime) if isTrue != true { response.Result(101, tadayTime, msg, c) return } type outStruct struct { Pv int64 `json:"pv"` //应用使用次数 Uv int64 `json:"uv"` //应用使用成员数 } var healthReportInfo outStruct healthReportInfo.Pv = pv healthReportInfo.Uv = uv // fmt.Printf("%v===>%v===>%v===>%v===>%v\n", tadayTime, pv, uv, isTrue, msg) response.Result(200, healthReportInfo, msg, c) } //获取企业当前正在运行的上报任务ID列表 func (h *HealthReportStat) RunHealthList(c *gin.Context) { var healthReport commonus.GetHealthReportRun err := c.ShouldBindJSON(&healthReport) var page int var pageSize int64 page = 0 pageSize = 100 if err == nil { if healthReport.Offset != 0 { page = healthReport.Offset } if healthReport.Limit != 0 { pageSize = healthReport.Limit } } jobMap, isTrue, msg := commonus.GetRunHealthReportJobids(page, pageSize) if isTrue != true { response.Result(102, isTrue, msg, c) return } // fmt.Printf("%v\n", jobMap) response.Result(200, jobMap, msg, c) } //获取健康上报任务详情 func (h *HealthReportStat) PostReportJobInfo(c *gin.Context) { var healthReportJob commonus.GetReportJobInfoDate err := c.ShouldBindJSON(&healthReportJob) if err != nil { response.Result(101, healthReportJob, "参数错误!", c) return } if healthReportJob.JobId == "" { response.Result(102, err, "参数错误!", c) return } tadayTime := commonus.GetYesterDay() if healthReportJob.Date != "" { tadayTime = healthReportJob.Date } strucr, _, _, msg := commonus.GetReportJobInfo(healthReportJob.JobId, tadayTime) response.Result(200, strucr, msg, c) } //获取用户填写答案列表 func (h *HealthReportStat) PostReportAnswerList(c *gin.Context) { var reportAnswer commonus.ReportAnswerStruct err := c.ShouldBindJSON(&reportAnswer) if err != nil { response.Result(101, reportAnswer, "参数错误!", c) return } if reportAnswer.JobId == "" { response.Result(102, err, "参数错误!", c) return } tadayTime := commonus.GetYesterDay() if reportAnswer.Date != "" { tadayTime = reportAnswer.Date } var page int var pageSize int64 page = 0 pageSize = 100 if reportAnswer.Offset != 0 { page = reportAnswer.Offset } if reportAnswer.Limit != 0 { pageSize = reportAnswer.Limit } _, reportAnswerInfoList, _, msg := commonus.GetUserWriteAnswer(reportAnswer.JobId, tadayTime, page, pageSize) // var reportAnswerJson commonus.ReportAnswerResult // err = json.Unmarshal(reportByte, &reportAnswerJson) var AdmDivStruct []commonus.AdministrativeDivision for _, v := range reportAnswerInfoList.Answers { for _, v_sun := range v.ReportValues { if v_sun.Text != "" { var AdmDiv commonus.AdministrativeDivision countSplit := strings.Split(v_sun.Text, "省") if len(countSplit) >= 2 { AdmDiv.Userid = v.Userid AdmDiv.Province = countSplit[0] + "省" countSplitSun := strings.Split(countSplit[1], "市") if len(countSplitSun) > 2 { AdmDiv.City = countSplitSun[0] + "市" AdmDiv.County = countSplitSun[1] + "市" } else { AdmDiv.City = countSplitSun[0] + "市" if len(countSplitSun) == 2 { countSplitSunes := strings.Split(countSplitSun[1], "县") if len(countSplitSun) > 1 { AdmDiv.County = countSplitSunes[0] + "县" } countSplitSunesi := strings.Split(countSplitSun[1], "区") if len(countSplitSunesi) > 1 { AdmDiv.County = countSplitSunesi[0] + "区" } fmt.Printf("%v切割地址%v-------------%v\n", v.Userid, countSplitSunes, len(countSplitSunes)) } } AdmDivStruct = append(AdmDivStruct, AdmDiv) } } } } response.Result(200, reportAnswerInfoList, msg, c) }