UserSubscriptionMod

package
v5.1.34 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 27, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CheckConfigAndOrg

func CheckConfigAndOrg(args *ArgsCheckConfigAndOrg) (err error)

CheckConfigAndOrg 检查配置和商户是否关联

func CheckSub

func CheckSub(args *ArgsCheckSub) (b bool)

CheckSub 检查目标人的订阅状态

func SetSub

func SetSub(args ArgsSetSub) (err error)

SetSub 设置订阅信息

func SetSubAdd

func SetSubAdd(args *ArgsSetSubAdd) (err error)

SetSubAdd 向后续约指定时间

func UseSub

func UseSub(args ArgsUseSub) (err error)

UseSub 使用目标订阅

Types

type ArgsCheckConfigAndOrg

type ArgsCheckConfigAndOrg struct {
	//ID
	ID int64 `db:"id" json:"id" check:"id"`
	//组织ID
	// 可选
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
}

ArgsCheckConfigAndOrg 检查配置和商户是否关联参数

type ArgsCheckSub

type ArgsCheckSub struct {
	//配置ID
	ConfigID int64 `db:"config_id" json:"configID" check:"id"`
	//用户ID
	UserID int64 `db:"user_id" json:"userID" check:"id"`
}

ArgsCheckSub 检查目标人的订阅状态参数

type ArgsGetConfigByID

type ArgsGetConfigByID struct {
	//ID
	ID int64 `db:"id" json:"id" check:"id"`
	//组织ID
	// 可选
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
}

ArgsGetConfigByID 获取指定配置ID参数

type ArgsSetSub

type ArgsSetSub struct {
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
	//配置ID
	ConfigID int64 `db:"config_id" json:"configID" check:"id"`
	//用户ID
	UserID int64 `db:"user_id" json:"userID" check:"id"`
	//新的到期时间
	ExpireAt time.Time `db:"expire_at" json:"expireAt" check:"isoTime"`
	//是否为继续订阅
	// 否则将覆盖过期时间
	HaveExpire bool `db:"have_expire" json:"haveExpire" check:"bool"`
	//使用来源
	UseFrom     string `db:"use_from" json:"useFrom"`
	UseFromName string `db:"use_from_name" json:"useFromName"`
}

ArgsSetSub 设置订阅信息参数

type ArgsSetSubAdd

type ArgsSetSubAdd struct {
	ConfigID int64 `json:"configID"`
	UserID   int64 `json:"userID"`
	Unit     int   `json:"unit"`
	OrderID  int64 `json:"orderID"`
}

ArgsSetSubAdd 向后续约指定时间参数

type ArgsUseSub

type ArgsUseSub struct {
	//配置ID
	ConfigID int64 `db:"config_id" json:"configID" check:"id"`
	//用户ID
	UserID int64 `db:"user_id" json:"userID" check:"id"`
	//使用来源
	UseFrom     string `db:"use_from" json:"useFrom"`
	UseFromName string `db:"use_from_name" json:"useFromName"`
}

ArgsUseSub 使用目标订阅参数

type FieldsConfig

type FieldsConfig struct {
	//ID
	ID int64 `db:"id" json:"id"`
	//创建时间
	CreateAt time.Time `db:"create_at" json:"createAt"`
	//更新时间
	UpdateAt time.Time `db:"update_at" json:"updateAt"`
	//删除时间
	DeleteAt time.Time `db:"delete_at" json:"deleteAt"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID"`
	//标识码
	Mark string `db:"mark" json:"mark"`
	//时间类型
	// 0 小时 1 天 2 周 3 月 4 年
	TimeType int `db:"time_type" json:"timeType"`
	//时间长度
	TimeN int `db:"time_n" json:"timeN"`
	//开通价格
	Currency int   `db:"currency" json:"currency"`
	Price    int64 `db:"price" json:"price"`
	//折扣前费用,用于展示
	PriceOld int64 `db:"price_old" json:"priceOld"`
	//标题
	Title string `db:"title" json:"title"`
	//描述
	Des string `db:"des" json:"des"`
	//封面
	CoverFileID int64 `db:"cover_file_id" json:"coverFileID"`
	//描述文件组
	DesFiles pq.Int64Array `db:"des_files" json:"desFiles"`
	//关联的用户组
	// 只有为平台配置时,该数据才可修改并会生效
	UserGroups pq.Int64Array `db:"user_groups" json:"userGroups"`
	//默认减免的费用比例、费用金额
	ExemptionPrice int64 `db:"exemption_price" json:"exemptionPrice"`
	// 1-100% 百分比
	ExemptionDiscount int64 `db:"exemption_discount" json:"exemptionDiscount"`
	//费用低于多少时,将失效
	// 依赖于订单的总金额判断
	ExemptionMinPrice int64 `db:"exemption_min_price" json:"exemptionMinPrice"`
	//限制设计
	// 允许设置多个条件,如1天限制一次的同时、30天能使用10次
	Limits FieldsLimits `db:"limits" json:"limits"`
	//周期价格
	ExemptionTime FieldsExemptionTimes `db:"exemption_time" json:"exemptionTime"`
	//样式ID
	// 关联到样式库后,本记录的图片和文本将交给样式库布局实现
	StyleID int64 `db:"style_id" json:"styleID"`
	//附加参数
	Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params"`
}

func GetConfigByID

func GetConfigByID(args *ArgsGetConfigByID) (data FieldsConfig, err error)

GetConfigByID 获取指定配置ID

type FieldsExemptionTime

type FieldsExemptionTime struct {
	//时间长度
	TimeN int `db:"time_n" json:"timeN" check:"intThan0"`
	//价格
	Price int64 `db:"price" json:"price" check:"price"`
}

func (*FieldsExemptionTime) Scan

func (t *FieldsExemptionTime) Scan(value interface{}) error

func (FieldsExemptionTime) Value

func (t FieldsExemptionTime) Value() (driver.Value, error)

Value sql底层处理器

type FieldsExemptionTimes

type FieldsExemptionTimes []FieldsExemptionTime

FieldsExemptionTimes 限制措施

func (*FieldsExemptionTimes) Scan

func (t *FieldsExemptionTimes) Scan(value interface{}) error

func (FieldsExemptionTimes) Value

func (t FieldsExemptionTimes) Value() (driver.Value, error)

Value sql底层处理器

type FieldsLimit

type FieldsLimit struct {
	//时间类型
	// 0 小时 1 天 2 周 3 月 4 年
	TimeType int `db:"time_type" json:"timeType" check:"intThan0"`
	//时间长度
	TimeN int `db:"time_n" json:"timeN" check:"intThan0"`
	//限制的次数
	Count int `db:"count" json:"count" check:"intThan0"`
}

func (*FieldsLimit) Scan

func (t *FieldsLimit) Scan(value interface{}) error

func (FieldsLimit) Value

func (t FieldsLimit) Value() (driver.Value, error)

Value sql底层处理器

type FieldsLimits

type FieldsLimits []FieldsLimit

FieldsLimits 限制措施

func (*FieldsLimits) Scan

func (t *FieldsLimits) Scan(value interface{}) error

func (FieldsLimits) Value

func (t FieldsLimits) Value() (driver.Value, error)

Value sql底层处理器

type FieldsSub

type FieldsSub struct {
	//ID
	ID int64 `db:"id" json:"id"`
	//创建时间
	CreateAt time.Time `db:"create_at" json:"createAt"`
	//更新时间
	UpdateAt time.Time `db:"update_at" json:"updateAt"`
	//删除时间
	DeleteAt time.Time `db:"delete_at" json:"deleteAt"`
	//过期时间
	ExpireAt time.Time `db:"expire_at" json:"expireAt"`
	//组织ID
	// 留空则表明为平台的用户留下的内容
	OrgID int64 `db:"org_id" json:"orgID"`
	//开通配置
	ConfigID int64 `db:"config_id" json:"configID"`
	//用户ID
	UserID int64 `db:"user_id" json:"userID"`
	//附加参数
	Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL