123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226 |
- package controllers
- import (
- "hongze/hongze_open_api/logic"
- "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 false "开始日期,格式:2021-11-03"
- // @Param end_date query string false "结束日期,格式: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() {
- //appid权限校验
- appid := c.GetString("appid", "")
- if utils.RunMode == "release" && appid != "CQWx3EqDLNk7bVHo" {
- c.FailWithMessage("无权限")
- return
- }
- 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, "获取成功")
- }
- // GetUserReportViewTotalList
- // @Title 获取用户阅读数据报表
- // @Description 获取用户阅读数据报表
- // @Success 200 {object} []logic.UserView
- // @router /view_total_list [get]
- func (c *CompanyUser) GetUserReportViewTotalList() {
- //appid权限校验
- appid := c.GetString("appid", "")
- if utils.RunMode == "release" && appid != "CQWx3EqDLNk7bVHo" {
- c.FailWithMessage("无权限")
- return
- }
- list, err := logic.GetUserViewTotal()
- if err != nil {
- c.FailWithMessage("获取失败")
- return
- }
- resp := list
- c.OkDetailed(resp, "获取成功")
- }
|