|
@@ -3088,3 +3088,225 @@ func (this *ReportController) CommentAdd() {
|
|
|
br.Success = true
|
|
|
br.Msg = "提交成功"
|
|
|
}
|
|
|
+
|
|
|
+// @Title 记录用户浏览音频回放接口
|
|
|
+// @Description 记录用户浏览音频回放接口
|
|
|
+// @Param request body models.ArticleIdReq true "type json string"
|
|
|
+// @Success Ret=200 操作成功
|
|
|
+// @router /voiceHistory/add [post]
|
|
|
+func (this *ReportController) ResearchSummaryVoiceHistoryAdd() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ user := this.User
|
|
|
+ if user == nil {
|
|
|
+ br.Msg = "请登录"
|
|
|
+ br.ErrMsg = "请登录,用户信息为空"
|
|
|
+ br.Ret = 408
|
|
|
+ return
|
|
|
+ }
|
|
|
+ uid := user.UserId
|
|
|
+ var req models.ArticleIdReq
|
|
|
+ err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "参数解析异常!"
|
|
|
+ br.ErrMsg = "参数解析失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ articleId := req.ArticleId
|
|
|
+ playSeconds := req.PlaySeconds
|
|
|
+ pageRouter := req.PageRouter
|
|
|
+
|
|
|
+ if pageRouter == "本周研究汇总" {
|
|
|
+ articleInfo, errInfo := models.GetCygxResearchSummaryInfoById(articleId)
|
|
|
+ if articleInfo == nil {
|
|
|
+ br.Msg = "操作失败"
|
|
|
+ br.ErrMsg = "文章ID错误,不存在articleId:" + strconv.Itoa(articleId)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if errInfo != nil {
|
|
|
+ br.Msg = "操作失败"
|
|
|
+ br.ErrMsg = "操作失败,Err:" + errInfo.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ var sellerName string
|
|
|
+ sellerName, err = models.GetCompanySellerName(user.CompanyId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "报名失败!"
|
|
|
+ br.ErrMsg = "获取对应销售失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ item := models.CygxResearchSummaryVoiceHistory{
|
|
|
+ ArticleId: articleId,
|
|
|
+ UserId: uid,
|
|
|
+ CreateTime: time.Now(),
|
|
|
+ Mobile: user.Mobile,
|
|
|
+ Email: user.Email,
|
|
|
+ CompanyId: user.CompanyId,
|
|
|
+ CompanyName: user.CompanyName,
|
|
|
+ RealName: user.RealName,
|
|
|
+ SellerName: sellerName,
|
|
|
+ PlaySeconds: strconv.Itoa(req.PlaySeconds),
|
|
|
+ ModifyTime: time.Now(),
|
|
|
+ }
|
|
|
+
|
|
|
+ if playSeconds != 0 {
|
|
|
+ lastItem, err := models.GetLastCygxResearchSummaryVoiceHistory(articleId, user.UserId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "操作失败"
|
|
|
+ br.ErrMsg = "操作失败,GetLastCygxResearchSummaryVoiceHistory Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ err = models.UpdateLastCygxResearchSummaryVoiceHistory(strconv.Itoa(req.PlaySeconds), lastItem.Id)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "更新失败"
|
|
|
+ br.ErrMsg = "更新失败,UpdateLastCygxResearchSummaryVoiceHistory Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ err = models.AddCygxResearchSummaryVoiceHistory(&item)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "操作失败"
|
|
|
+ br.ErrMsg = "操作失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ err = models.UpdateResearchSummaryVoiceCounts(articleId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "更新失败"
|
|
|
+ br.ErrMsg = "更新失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if pageRouter == "上周纪要汇总" {
|
|
|
+ articleInfo, errInfo := models.GetCygxMinutesSummaryInfoById(articleId)
|
|
|
+ if articleInfo == nil {
|
|
|
+ br.Msg = "操作失败"
|
|
|
+ br.ErrMsg = "文章ID错误,不存在articleId:" + strconv.Itoa(articleId)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if errInfo != nil {
|
|
|
+ br.Msg = "操作失败"
|
|
|
+ br.ErrMsg = "操作失败,Err:" + errInfo.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ var sellerName string
|
|
|
+ sellerName, err = models.GetCompanySellerName(user.CompanyId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "报名失败!"
|
|
|
+ br.ErrMsg = "获取对应销售失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ item := models.CygxMinutesSummaryVoiceHistory{
|
|
|
+ ArticleId: articleId,
|
|
|
+ UserId: uid,
|
|
|
+ CreateTime: time.Now(),
|
|
|
+ Mobile: user.Mobile,
|
|
|
+ Email: user.Email,
|
|
|
+ CompanyId: user.CompanyId,
|
|
|
+ CompanyName: user.CompanyName,
|
|
|
+ RealName: user.RealName,
|
|
|
+ SellerName: sellerName,
|
|
|
+ PlaySeconds: strconv.Itoa(req.PlaySeconds),
|
|
|
+ ModifyTime: time.Now(),
|
|
|
+ }
|
|
|
+
|
|
|
+ if playSeconds != 0 {
|
|
|
+ lastItem, err := models.GetLastCygxMinutesSummaryVoiceHistory(articleId, user.UserId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "操作失败"
|
|
|
+ br.ErrMsg = "操作失败,GetLastCygxSummaryVoiceHistory Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ err = models.UpdateLastCygxMinutesSummaryVoiceHistory(strconv.Itoa(req.PlaySeconds), lastItem.Id)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "更新失败"
|
|
|
+ br.ErrMsg = "更新失败,UpdateLastCygxSummaryVoiceHistory Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ err = models.AddCygxMinutesSummaryVoiceHistory(&item)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "操作失败"
|
|
|
+ br.ErrMsg = "操作失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ err = models.UpdateMinutesSummaryVoiceCounts(articleId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "更新失败"
|
|
|
+ br.ErrMsg = "更新失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if pageRouter == "报告精选" {
|
|
|
+ articleInfo, errInfo := models.GetCygxReportSelectionInfoById(articleId)
|
|
|
+ if articleInfo == nil {
|
|
|
+ br.Msg = "操作失败"
|
|
|
+ br.ErrMsg = "文章ID错误,不存在articleId:" + strconv.Itoa(articleId)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if errInfo != nil {
|
|
|
+ br.Msg = "操作失败"
|
|
|
+ br.ErrMsg = "操作失败,Err:" + errInfo.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ var sellerName string
|
|
|
+ sellerName, err = models.GetCompanySellerName(user.CompanyId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "报名失败!"
|
|
|
+ br.ErrMsg = "获取对应销售失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ item := models.CygxReportSelectionVoiceHistory{
|
|
|
+ ArticleId: articleId,
|
|
|
+ UserId: uid,
|
|
|
+ CreateTime: time.Now(),
|
|
|
+ Mobile: user.Mobile,
|
|
|
+ Email: user.Email,
|
|
|
+ CompanyId: user.CompanyId,
|
|
|
+ CompanyName: user.CompanyName,
|
|
|
+ RealName: user.RealName,
|
|
|
+ SellerName: sellerName,
|
|
|
+ PlaySeconds: strconv.Itoa(req.PlaySeconds),
|
|
|
+ ModifyTime: time.Now(),
|
|
|
+ }
|
|
|
+
|
|
|
+ if playSeconds != 0 {
|
|
|
+ lastItem, err := models.GetLastCygxReportSelectionVoiceHistory(articleId, user.UserId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "操作失败"
|
|
|
+ br.ErrMsg = "操作失败,GetLastCygxSummaryVoiceHistory Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ err = models.UpdateLastCygxReportSelectionVoiceHistory(strconv.Itoa(req.PlaySeconds), lastItem.Id)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "更新失败"
|
|
|
+ br.ErrMsg = "更新失败,UpdateLastCygxSummaryVoiceHistory Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ err = models.AddCygxReportSelectionVoiceHistory(&item)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "操作失败"
|
|
|
+ br.ErrMsg = "操作失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ err = models.UpdateReportSelectionVoiceCounts(articleId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "更新失败"
|
|
|
+ br.ErrMsg = "更新失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "操作成功"
|
|
|
+ return
|
|
|
+}
|