xingzai 10 mēneši atpakaļ
vecāks
revīzija
a99e531cee

+ 77 - 0
controllers/activity.go

@@ -2827,3 +2827,80 @@ func (this *ActivityController) CheckAsk() {
 	br.Success = true
 	br.Data = resp
 }
+
+// @Title 查看音视频扣点接口
+// @Description 查看音视频扣点接口
+// @Param	request	body models.ActivityIdRep true "type json string"
+// @Success Ret=200 {object}
+// @router /vivo_point_record [post]
+func (this *ActivityController) VivoPointRecord() {
+	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
+	}
+
+	var req models.ActivityIdRep
+	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	if err != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+	activityId := req.ActivityId
+	activityInfo, errInfo := models.GetAddActivityInfoById(activityId)
+	if activityInfo == nil {
+		br.Msg = "操作失败"
+		br.ErrMsg = "活动ID错误,不存在activityId:" + strconv.Itoa(activityId)
+		return
+	}
+	if errInfo != nil {
+		br.Msg = "操作失败"
+		br.ErrMsg = "操作失败,Err:" + errInfo.Error()
+		return
+	}
+
+	total, err := models.GetCygxActivityVivoPointRecordCount(activityId, user.UserId)
+	if err != nil {
+		br.Msg = "操作失败"
+		br.ErrMsg = "操作失败,获取历史记录信息失败Err:" + errInfo.Error()
+		return
+	}
+	if total == 0 {
+		vivoPointsSetDetail, err := models.GetCygxActivityVivoPointsSetByActivityId(activityId)
+		if err != nil {
+			br.Msg = "获取信息失败"
+			br.ErrMsg = "获取信息失败,Err:" + err.Error()
+			return
+		}
+		item := new(models.CygxActivityVivoPointRecord)
+		item.Source = vivoPointsSetDetail.Source
+		item.SourceId = activityId
+		item.UserId = user.UserId
+		item.Mobile = user.Mobile
+		item.Email = user.Email
+		item.CompanyId = user.CompanyId
+		item.CompanyName = user.CompanyName
+		item.RealName = user.RealName
+		item.SellerName, _ = services.GetSellerName(user) // 销售姓名
+		item.CreateTime = time.Now()
+		item.ModifyTime = time.Now()
+		item.RegisterPlatform = utils.REGISTER_PLATFORM
+		err = models.AddCygxActivityVivoPointRecord(item)
+		if err != nil {
+			br.Msg = "获取信息失败"
+			br.ErrMsg = "获取信息失败,Err:" + err.Error()
+			return
+		}
+	}
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "操作成功"
+}

+ 39 - 0
models/activity_vivo_point_record.go

@@ -0,0 +1,39 @@
+package models
+
+import (
+	"github.com/beego/beego/v2/client/orm"
+	"time"
+)
+
+//活动音视频,首次播放扣点记录
+
+type CygxActivityVivoPointRecord struct {
+	RecordId         int       `orm:"column(record_id);pk";comment:"主键ID"`
+	SourceId         int       `comment:"来源ID"`
+	Source           string    `comment:"来源 activityvoice:活动音频、activityvideo:活动视频"`
+	UserId           int       `comment:"用户ID"`
+	Mobile           string    `comment:"手机号"`
+	Email            string    `comment:"邮箱"`
+	CompanyId        int       `comment:"公司ID"`
+	CompanyName      string    `comment:"公司名称"`
+	RealName         string    `comment:"用户实际名称"`
+	SellerName       string    `comment:"所属销售"`
+	CreateTime       time.Time `comment:"创建时间"`
+	ModifyTime       time.Time `comment:"修改时间"`
+	RegisterPlatform int       `comment:"来源 1小程序,2:网页"`
+}
+
+// GetCygxActivityVivoPointRecordCount  查询用户是否扣过点
+func GetCygxActivityVivoPointRecordCount(sourceId, userId int) (count int, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT COUNT(1) count	FROM cygx_activity_vivo_point_record WHERE source_id = ? AND user_id = ?  `
+	err = o.Raw(sql, sourceId, userId).QueryRow(&count)
+	return
+}
+
+// 添加
+func AddCygxActivityVivoPointRecord(item *CygxActivityVivoPointRecord) (err error) {
+	o := orm.NewOrm()
+	_, err = o.Insert(item)
+	return
+}

+ 1 - 0
models/db.go

@@ -108,6 +108,7 @@ func init() {
 		new(CygxUserAdminShareHistory),
 		new(CygxUserAdminShareCode),
 		new(CygxUserPassword),
+		new(CygxActivityVivoPointRecord),
 	)
 
 	initOrder() // 订单模块

+ 9 - 0
routers/commentsRouter.go

@@ -124,6 +124,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["hongze/hongze_web_mfyx/controllers:ActivityController"] = append(beego.GlobalControllerRouter["hongze/hongze_web_mfyx/controllers:ActivityController"],
+        beego.ControllerComments{
+            Method: "VivoPointRecord",
+            Router: `/vivo_point_record`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["hongze/hongze_web_mfyx/controllers:ActivityController"] = append(beego.GlobalControllerRouter["hongze/hongze_web_mfyx/controllers:ActivityController"],
         beego.ControllerComments{
             Method: "ActivityVoiceHistoryAdd",