package controllers import ( "hongze/hongze_open_api/models/response/company_user" "hongze/hongze_open_api/models/tables" "hongze/hongze_open_api/models/tables/wx_user" "hongze/hongze_open_api/utils" "strconv" "time" ) // CompanyUser // 客户联系人模块 type CompanyUser struct { BaseAuth } // GetUserReportList // @Title 获取用户阅读数据报表 // @Description 获取用户阅读数据报表 // @Param start_date query string true "开始日期,格式:2021-11-03" // @Param end_date query string true "结束日期,格式:2021-11-04" // @Param mobile query string false "用户手机号" // @Param email query string false "用户邮箱" // @Success 200 {object} company_user.UserReportListResp // @router /user_report_list [get] func (c *CompanyUser) GetUserReportList() { mobile:=c.GetString("mobile","") email:=c.GetString("email","") startDate:=c.GetString("start_date","") endDate:=c.GetString("end_date","") //} // return // c.FailWithMessage("end_date必传") //if endDate == ""{ //} // return // c.FailWithMessage("start_date必传") //if startDate == ""{ startTime := `` endTime := `` if startDate != "" && endDate != ""{ startDateTime,err := time.Parse(utils.FormatDate,startDate) if err != nil{ c.FailWithMessage("start_date格式异常") return } endDateTime,err := time.Parse(utils.FormatDate,endDate) if err != nil{ c.FailWithMessage("end_date格式异常") return } startTime = startDateTime.Format(utils.FormatDate)+" 00:00:00" endTime = endDateTime.Format(utils.FormatDate)+" 23:59:59" } pageSize := c.PageSize startSize := c.StartSize currentIndex := c.StartPage total,list, err := tables.GetViewReportList(mobile,email,startTime,endTime,startSize,pageSize) if err != nil { c.FailWithMessage("获取失败") return } for k, v := range list { if v.ReportType == "day" { list[k].MatchTypeName = "晨报" } else if v.ReportType == "week" { list[k].MatchTypeName = "周报" } else if v.ReportType == "two_week" { list[k].MatchTypeName = "双周报" } else if v.ReportType == "month" { list[k].MatchTypeName = "月报" } else if v.ReportType == "rddp" { //list[k].MatchTypeName = "日评" createdTime := utils.StrTimeToTime(v.CreatedTime) monthStr := createdTime.Format("01") dayStr := strconv.Itoa(createdTime.Day()) if len(dayStr) == 1 { dayStr = "0" + dayStr } list[k].ResearchReportName += "(" + monthStr + dayStr + ")" } if v.StopTime != "--" { list[k].StopTime += "s" } //v.CompanyName = wxUserInfo.CompanyName //v.UserName = wxUserInfo.RealName //v.Mobile = wxUserInfo.Mobile } page := utils.GetPaging(currentIndex, pageSize, total) resp := company_user.UserReportListResp{ List: list, Paging: page, } c.OkDetailed(resp,"获取成功") } // GetUserReportListV2 // @Title 获取用户阅读数据报表 // @Description 合同详情接口 // @Param mobile query string false "用户手机号" // @Param email query string false "用户邮箱" // @Success 200 {object} company_user.UserReportListResp func (c *CompanyUser) GetUserReportListV2() { mobile:=c.GetString("mobile","") startDate:=c.GetString("start_date","") endDate:=c.GetString("end_date","") if startDate == ""{ c.FailWithMessage("start_date必传") return } if endDate == ""{ c.FailWithMessage("end_date必传") return } startDateTime,err := time.Parse(utils.FormatDate,startDate) if err != nil{ c.FailWithMessage("start_date格式异常") return } endDateTime,err := time.Parse(utils.FormatDate,endDate) if err != nil{ c.FailWithMessage("end_date格式异常") return } var wxUserInfo *wx_user.WxUserItem if mobile!=""{ item, err := wx_user.GetWxUserByMobile(mobile) if err != nil { c.FailWithMessage("找不到该用户") return } wxUserInfo = item } email:=c.GetString("email","") if wxUserInfo == nil && email!=""{ item, err := wx_user.GetWxUserByEmail(email) if err != nil { c.FailWithMessage("找不到该用户") return } wxUserInfo = item } if wxUserInfo == nil{ c.FailWithMessage("找不该用户") } pageSize := c.PageSize startSize := c.StartSize currentIndex := c.StartPage total,list, err := tables.GetViewReportList(wxUserInfo.Mobile,wxUserInfo.Email,startDateTime.Format(utils.FormatDate)+" 00:00:00",endDateTime.Format(utils.FormatDate)+" 23:59:59",startSize,pageSize) if err != nil { c.FailWithMessage("获取失败") return } for k, v := range list { if v.ReportType == "day" { list[k].MatchTypeName = "晨报" } else if v.ReportType == "week" { list[k].MatchTypeName = "周报" } else if v.ReportType == "two_week" { list[k].MatchTypeName = "双周报" } else if v.ReportType == "month" { list[k].MatchTypeName = "月报" } else if v.ReportType == "rddp" { //list[k].MatchTypeName = "日评" createdTime := utils.StrTimeToTime(v.CreatedTime) monthStr := createdTime.Format("01") dayStr := strconv.Itoa(createdTime.Day()) if len(dayStr) == 1 { dayStr = "0" + dayStr } list[k].ResearchReportName += "(" + monthStr + dayStr + ")" } if v.StopTime != "--" { list[k].StopTime += "s" } v.CompanyName = wxUserInfo.CompanyName v.Mobile = wxUserInfo.Mobile } page := utils.GetPaging(currentIndex, pageSize, total) resp := company_user.UserReportListResp{ List: list, Paging: page, } c.OkDetailed(resp,"获取成功") }