Browse Source

no message

xingzai 6 months ago
parent
commit
8f1da87b9d

+ 5 - 0
controllers/cygx/activity.go

@@ -699,6 +699,11 @@ func (this *ActivityCoAntroller) PreserveAndPublish() {
 				}
 
 				err = cygxService.UpdateActivityVivoPointsSet(activityInfo, vivoPointsSet, itemPointsSet)
+				if err != nil {
+					br.Msg = "获取信息失败"
+					br.ErrMsg = "UpdateActivityVideoAndVoice,Err:" + err.Error() + "activityId:" + strconv.Itoa(activityId)
+					return
+				}
 				//if itemVoice.VoiceUrl != "" {
 				//voiceReqList, err := cygx.GetCygxActivityVoiceReqList(activityId)
 				//if err != nil && err.Error() != utils.ErrNoRow() {

+ 38 - 3
models/cygx/activity_vivo_points_set.go

@@ -1,12 +1,14 @@
 package cygx
 
-import "time"
+import (
+	"github.com/beego/beego/v2/client/orm"
+	"time"
+)
 
 type CygxActivityVivoPointsSet struct {
 	PointSetId   int       `orm:"column(point_set_id);pk";comment:"主键id"`
 	ActivityId   int       `comment:"活动ID"`
-	IsPay        bool      `comment:"是否付费查看"`
-	PointsObject int       `comment:"扣点设置方式 1:同报名参会时的扣点数、2:输入其余点数"`
+	PointsObject string    `comment:"扣点设置方式 1:同报名参会时的扣点数、2:输入其余点数"`
 	PointsNum    float64   `comment:"扣点数量"`
 	GoodsMoney   float64   `comment:"商品总价"`
 	CreateTime   time.Time `comment:"创建时间"`
@@ -19,3 +21,36 @@ type CygxActivityVivoPointsSetReq struct {
 	PointsNum    float64 `comment:"扣点数量"`
 	GoodsMoney   float64 `comment:"商品总价"`
 }
+
+// 根据活动ID判断音视频是否设置了扣点
+func GetCygxActivityVivoPointsSetCountByActivityId(activityId int) (count int, err error) {
+	o := orm.NewOrmUsingDB("hz_cygx")
+	sqlCount := ` SELECT COUNT(1) AS count  FROM cygx_activity_vivo_points_set  WHERE activity_id =?  `
+	err = o.Raw(sqlCount, activityId).QueryRow(&count)
+	return
+}
+
+// 添加
+func AddCygxActivityVivoPointsSet(item *CygxActivityVivoPointsSet) (err error) {
+	o := orm.NewOrmUsingDB("hz_cygx")
+	_, err = o.Insert(item)
+	return
+}
+
+// 编辑
+func EditCygxActivityVivoPointsSet(item *CygxActivityVivoPointsSet) (err error) {
+	o := orm.NewOrmUsingDB("hz_cygx")
+	updateParams := make(map[string]interface{})
+	updateParams["PointsObject"] = item.PointsObject
+	updateParams["PointsNum"] = item.PointsNum
+	updateParams["GoodsMoney"] = item.GoodsMoney
+	updateParams["ModifyTime"] = time.Now()
+	ptrStructOrTableName := "cygx_activity_vivo_points_set"
+	whereParam := map[string]interface{}{"activity_id": item.ActivityId}
+	qs := o.QueryTable(ptrStructOrTableName)
+	for expr, exprV := range whereParam {
+		qs = qs.Filter(expr, exprV)
+	}
+	_, err = qs.Update(updateParams)
+	return
+}

+ 29 - 0
services/cygx/activity_points_set.go

@@ -403,6 +403,35 @@ func init0703() {
 }
 
 func UpdateActivityVivoPointsSet(activityInfo *cygx.ActivityDetail, vivoPointsSet cygx.CygxActivityVivoPointsSetReq, itemPointsSet *cygx.CygxActivityPointsSet) (err error) {
+	activityId := activityInfo.ActivityId
+	if vivoPointsSet.IsPay == 0 {
+		return
+	}
+	total, e := cygx.GetCygxActivityVivoPointsSetCountByActivityId(activityId)
+	if e != nil {
+		err = errors.New("GetCygxActivityVivoPointsSetCountByActivityId, Err: " + e.Error())
+		return
+	}
+	item := new(cygx.CygxActivityVivoPointsSet)
+	item.ActivityId = activityId
+	item.PointsObject = vivoPointsSet.PointsObject
+	item.PointsNum = vivoPointsSet.PointsNum
+	item.GoodsMoney = vivoPointsSet.GoodsMoney
+	item.CreateTime = time.Now()
+	item.ModifyTime = time.Now()
+	if total == 0 {
+		e = cygx.AddCygxActivityVivoPointsSet(item)
+		if e != nil {
+			err = errors.New("AddCygxActivityVivoPointsSet, Err: " + e.Error())
+			return
+		}
+	} else {
+		e = cygx.EditCygxActivityVivoPointsSet(item)
+		if e != nil {
+			err = errors.New("AddCygxActivityVivoPointsSet, Err: " + e.Error())
+			return
+		}
+	}
 
 	return
 }