Commit 9a19e96d authored by chenweijian's avatar chenweijian

开斋节活动

parent 41b58066
package act_m
import (
"fmt"
"git.hilo.cn/hilo-common/domain"
)
type ActPoint struct {
AcId uint64 `json:"ac_id"`
UserId uint64 `json:"user_id"`
Point uint64 `json:"point"`
}
type ActPointLog struct {
Id uint64 `json:"id"`
AcId uint64 `json:"ac_id"`
UserId uint64 `json:"user_id"`
Point uint64 `json:"point"`
AddReduce uint8 `json:"add_reduce"` // 1.增加2.减少
Remark string `json:"remark"`
}
func (this *ActPoint) Add(model *domain.Model) error {
sql := "insert into hilo.act_point (ac_id,user_id,point) " +
"values(?,?,?) on duplicate key update point = point+values(point);"
return model.DB().Exec(sql, this.AcId, this.UserId, this.Point).Error
}
func (this *ActPoint) Reduce(model *domain.Model) error {
sql := "update hilo.act_point set point = point - ? where ac_id=? and user_id=? and point >= ?;"
result := model.DB().Exec(sql, this.Point, this.AcId, this.UserId, this.Point)
if result.Error != nil {
return result.Error
}
if result.RowsAffected <= 0 {
return fmt.Errorf("bizerr.TransactionFailed")
}
return nil
}
func CreateActPointLog(model *domain.Model, info *ActPointLog) error {
err := model.DB().Create(&info).Error
if err != nil {
return err
}
return nil
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment