package view_log import ( "errors" "gorm.io/gorm" "hongze/hongze_yb/models/tables/company_product" "hongze/hongze_yb/models/tables/yb_activity" "hongze/hongze_yb/models/tables/yb_view_log" "hongze/hongze_yb/services/user" "time" ) func AddViewLog(item *yb_view_log.YbViewLog) (id uint64, err error) { //查询对应的客户信息 companyProduct, err := company_product.GetByCompany2ProductId(item.CompanyId, 1) if err != nil { return } //增加记录 item.CompanyName = companyProduct.CompanyName item.CompanyStatus = companyProduct.Status item.SellerId = companyProduct.SellerID err = item.Create() if err != nil { return } return item.Id, nil } func UpdateActivityAudioLog(userinfo user.UserInfo, req yb_view_log.ActivityAudioLogStopReq) (err error) { viewLog := new(yb_view_log.YbViewLog) viewLog.Id = req.Id item, err := viewLog.GetById() if err != nil { if err == gorm.ErrRecordNotFound { return } return } if item.UserId != userinfo.UserID { err = errors.New("用户不一致, 更新日志失败") return } //更新音频停止的时间 item.StopSeconds = req.StopSeconds item.ModifyTime = time.Now() err = item.Update([]string{"stop_seconds", "modify_time"}) return } func AddActivityAudioLog(userinfo user.UserInfo, req yb_view_log.ActivityAudioLogAddReq)(resp yb_view_log.ActivityAudioLogAddResp, err error) { //查询报告相关 var activityDetail *yb_activity.ActivityDetail ybViewLog := new(yb_view_log.YbViewLog) if req.ExtendId <= 0 { err = errors.New("请输入活动ID") return } //根据活动ID查询报告信息 activityDetail, err = yb_activity.GetDetailById(req.ExtendId) if err != nil { if err == gorm.ErrRecordNotFound { return } return } if activityDetail.ActivityID == 0 { err = errors.New("活动不存在") return } ybViewLog.PrimaryId = req.PrimaryId ybViewLog.ExtendId = activityDetail.ActivityID ybViewLog.UserId = userinfo.UserID ybViewLog.Source = req.Source ybViewLog.FromPage = req.FromPage ybViewLog.ViewType = 2 if activityDetail.IsNewReport == 1 { ybViewLog.ReportId = activityDetail.ReportId }else{ ybViewLog.OldReportId = activityDetail.ReportId } ybViewLog.CreateTime = time.Now() ybViewLog.ModifyTime = time.Now() ybViewLog.CompanyId = userinfo.CompanyID id, err := AddViewLog(ybViewLog) if err != nil { return } resp.Id = id return }