Documentation ¶
Index ¶
- Variables
- func AddUserSubAny(orgID int64, userID int64, addSec int64) (err error)
- func CheckHaveAnySub(userID int64) (b bool)
- func CheckHaveSub(userID int64, configID int64) (b bool)
- func CheckSub(args *ArgsCheckSub) (b bool)
- func ClearSubByConfig(args *ArgsClearSubByConfig) (err error)
- func ClearSubByUser(args *ArgsClearSubByUser) (err error)
- func CreateSubOrder(args *ArgsCreateSubOrder) (data ServiceOrderWaitFields.FieldsWait, errCode string, err error)
- func DeleteConfig(args *ArgsDeleteConfig) (err error)
- func GetConfigMoreMap(args *ArgsGetConfigMore) (data map[int64]string, err error)
- func GetConfigName(id int64) (name string)
- func Init()
- func SetSub(args *ArgsSetSub) (err error)
- func UpdateConfig(args *ArgsUpdateConfig) (err error)
- func UseSub(args *ArgsUseSub) (err error)
- type ArgsCheckSub
- type ArgsClearSubByConfig
- type ArgsClearSubByUser
- type ArgsCreateConfig
- type ArgsCreateSubOrder
- type ArgsDeleteConfig
- type ArgsGetAnalysisArea
- type ArgsGetAnalysisUse
- type ArgsGetConfigByID
- type ArgsGetConfigByMark
- type ArgsGetConfigList
- type ArgsGetConfigMore
- type ArgsGetLogList
- type ArgsGetSub
- type ArgsGetSubList
- type ArgsSetSub
- type ArgsUpdateConfig
- type ArgsUseSub
- type DataAnalysisArea
- type DataAnalysisUse
- type FieldsConfig
- func CreateConfig(args *ArgsCreateConfig) (data FieldsConfig, err error)
- func GetConfigByID(args *ArgsGetConfigByID) (data FieldsConfig, err error)
- func GetConfigByMark(args *ArgsGetConfigByMark) (data FieldsConfig, err error)
- func GetConfigList(args *ArgsGetConfigList) (dataList []FieldsConfig, dataCount int64, err error)
- func GetConfigMore(args *ArgsGetConfigMore) (dataList []FieldsConfig, err error)
- func GetConfigOnlyOne() (data FieldsConfig)
- type FieldsExemptionTime
- type FieldsExemptionTimes
- type FieldsLimit
- type FieldsLimits
- type FieldsLog
- type FieldsSub
Constants ¶
This section is empty.
Variables ¶
var ( //OpenSub 是否启动订阅 OpenSub = false )
Functions ¶
func AddUserSubAny ¶
AddUserSubAny 为任意一个会员叠加时间 将从平台或组织下,抽取任意一个配置来给用户叠加会员 该设计为过度设计,v2会员系统将没有会员配置得定义,所以考虑到此设计将不对多个配置进行处理,只识别一个配置即可
func CheckHaveSub ¶ added in v5.2.20
CheckHaveSub 用户是否具有指定会员?
func ClearSubByConfig ¶
func ClearSubByConfig(args *ArgsClearSubByConfig) (err error)
ClearSubByConfig 删除所有指定的订阅
func ClearSubByUser ¶
func ClearSubByUser(args *ArgsClearSubByUser) (err error)
ClearSubByUser 删除目标人的订阅
func CreateSubOrder ¶
func CreateSubOrder(args *ArgsCreateSubOrder) (data ServiceOrderWaitFields.FieldsWait, errCode string, err error)
CreateSubOrder 创建新订阅请求 用户专用请求
func GetConfigMoreMap ¶
func GetConfigMoreMap(args *ArgsGetConfigMore) (data map[int64]string, err error)
GetConfigMoreMap 获取一组配置名称组
Types ¶
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 ArgsClearSubByConfig ¶
type ArgsClearSubByConfig struct { //组织ID OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"` //配置ID ConfigID int64 `db:"config_id" json:"configID" check:"id"` }
ArgsClearSubByConfig 删除所有指定的订阅参数
type ArgsClearSubByUser ¶
type ArgsClearSubByUser struct { //组织ID OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"` //用户ID UserID int64 `db:"user_id" json:"userID" check:"id"` //配置ID ConfigID int64 `db:"config_id" json:"configID" check:"id" empty:"true"` }
ArgsClearSubByUser 删除目标人的订阅参数
type ArgsCreateConfig ¶
type ArgsCreateConfig struct { //组织ID OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"` //标识码 Mark string `db:"mark" json:"mark" check:"mark" empty:"true"` //时间类型 // 0 小时 1 天 2 周 3 月 4 年 TimeType int `db:"time_type" json:"timeType" check:"intThan0" empty:"true"` //时间长度 TimeN int `db:"time_n" json:"timeN" check:"intThan0" empty:"true"` //开通价格 Currency int `db:"currency" json:"currency" check:"intThan0" empty:"true"` Price int64 `db:"price" json:"price" check:"price"` //折扣前费用,用于展示 PriceOld int64 `db:"price_old" json:"priceOld" check:"price"` //标题 Title string `db:"title" json:"title" check:"title" min:"1" max:"300"` //描述 Des string `db:"des" json:"des" check:"des" min:"1" max:"3000" empty:"true"` //封面 CoverFileID int64 `db:"cover_file_id" json:"coverFileID" check:"id" empty:"true"` //描述文件组 DesFiles pq.Int64Array `db:"des_files" json:"desFiles" check:"ids" empty:"true"` //关联的用户组 // 只有为平台配置时,该数据才可修改病会生效 UserGroups pq.Int64Array `db:"user_groups" json:"userGroups" check:"ids" empty:"true"` //默认减免的费用比例、费用金额 ExemptionPrice int64 `db:"exemption_price" json:"exemptionPrice" check:"price" empty:"true"` // 1-100百分比 ExemptionDiscount int64 `db:"exemption_discount" json:"exemptionDiscount"` //费用低于多少时,将失效 // 依赖于订单的总金额判断 ExemptionMinPrice int64 `db:"exemption_min_price" json:"exemptionMinPrice" check:"price" empty:"true"` //限制设计 // 允许设置多个条件,如1天限制一次的同时、30天能使用10次 Limits FieldsLimits `db:"limits" json:"limits"` //周期价格 ExemptionTime FieldsExemptionTimes `db:"exemption_time" json:"exemptionTime"` //样式ID // 关联到样式库后,本记录的图片和文本将交给样式库布局实现 StyleID int64 `db:"style_id" json:"styleID" check:"id" empty:"true"` //附加参数 Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params"` }
ArgsCreateConfig 创建新的订阅配置参数
type ArgsCreateSubOrder ¶
type ArgsCreateSubOrder struct { //组织ID // 留空则表明为平台的用户留下的内容 OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"` //用户ID UserID int64 `db:"user_id" json:"userID" check:"id"` //创建来源 // 0 商户平台下单、1 用户APP下单、2 微信小程序下单、3 支付宝小程序下单、4 电话系统下单、5 线下柜台下单、6 辅助设备下单、7 其他渠道 CreateFrom int `db:"create_from" json:"createFrom"` //收取货物地址 AddressFrom CoreSQLAddress.FieldsAddress `db:"address_from" json:"addressFrom"` //送货地址 AddressTo CoreSQLAddress.FieldsAddress `db:"address_to" json:"addressTo"` //备注信息 Des string `db:"des" json:"des" check:"des" min:"1" max:"600" empty:"true"` //订阅配置ID SubConfigID int64 `db:"sub_config_id" json:"subConfigID" check:"id"` //购买的单位 Unit int64 `db:"unit" json:"unit" check:"int64Than0"` //推荐人手机号 ReferrerNationCode string `db:"referrer_nation_code" json:"referrerNationCode" check:"nationCode" empty:"true"` ReferrerPhone string `json:"referrerPhone" check:"phone" empty:"true"` //扩展参数 Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params"` //强制约定价格 UnitPrice int64 `db:"unit_price" json:"unitPrice"` }
ArgsCreateSubOrder 创建新的订阅请求参数
type ArgsDeleteConfig ¶
type ArgsDeleteConfig struct { //ID ID int64 `db:"id" json:"id" check:"id"` //组织ID // 可选 OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"` }
ArgsDeleteConfig 删除订阅配置参数
type ArgsGetAnalysisArea ¶
type ArgsGetAnalysisArea struct { //组织ID OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"` }
ArgsGetAnalysisArea 获取在续订阅分布情况参数
type ArgsGetAnalysisUse ¶
type ArgsGetAnalysisUse struct { //组织ID OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"` //时间段 TimeBetween CoreSQLTime.DataCoreTime `json:"timeBetween"` }
ArgsGetAnalysisUse 统计使用情况参数
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 ArgsGetConfigByMark ¶ added in v5.1.47
type ArgsGetConfigByMark struct { //标识码 Mark string `db:"mark" json:"mark" check:"mark"` //组织ID // 可选 OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"` }
ArgsGetConfigByMark 获取指定配置标识码参数
type ArgsGetConfigList ¶
type ArgsGetConfigList struct { //分页 Pages CoreSQLPages.ArgsDataList `json:"pages"` //组织ID OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"` //是否被删除 IsRemove bool `db:"is_remove" json:"isRemove" check:"bool" empty:"true"` //搜索 Search string `json:"search" check:"search" empty:"true"` }
ArgsGetConfigList 获取配置列表参数
type ArgsGetConfigMore ¶
type ArgsGetConfigMore struct { //ID列 IDs pq.Int64Array `json:"ids"` //是否包含删除数据 HaveRemove bool `json:"haveRemove"` }
ArgsGetConfigMore 获取一组配置参数
type ArgsGetLogList ¶
type ArgsGetLogList struct { //分页 Pages CoreSQLPages.ArgsDataList `json:"pages"` //组织ID OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"` //配置ID ConfigID int64 `db:"config_id" json:"configID" check:"id" empty:"true"` //用户ID UserID int64 `db:"user_id" json:"userID" check:"id" empty:"true"` }
ArgsGetLogList 获取日志列表参数
type ArgsGetSub ¶
type ArgsGetSub struct { //配置ID ConfigID int64 `db:"config_id" json:"configID" check:"id"` //用户ID UserID int64 `db:"user_id" json:"userID" check:"id"` }
ArgsGetSub 获取指定人的订阅信息参数
type ArgsGetSubList ¶
type ArgsGetSubList struct { //分页 Pages CoreSQLPages.ArgsDataList `json:"pages"` //组织ID OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"` //配置ID ConfigID int64 `db:"config_id" json:"configID" check:"id" empty:"true"` //用户ID UserID int64 `db:"user_id" json:"userID" check:"id" empty:"true"` //是否到期 NeedIsExpire bool `json:"needIsExpire" check:"bool" empty:"true"` IsExpire bool `json:"isExpire" check:"bool" empty:"true"` //是否被删除 IsRemove bool `db:"is_remove" json:"isRemove" check:"bool" empty:"true"` //搜索 Search string `json:"search" check:"search" empty:"true"` }
ArgsGetSubList 获取订阅列表参数
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 ArgsUpdateConfig ¶
type ArgsUpdateConfig struct { //ID ID int64 `db:"id" json:"id" check:"id"` //组织ID OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"` //标识码 Mark string `db:"mark" json:"mark" check:"mark" empty:"true"` //时间类型 // 0 小时 1 天 2 周 3 月 4 年 TimeType int `db:"time_type" json:"timeType" check:"intThan0" empty:"true"` //时间长度 TimeN int `db:"time_n" json:"timeN" check:"intThan0" empty:"true"` //开通价格 Currency int `db:"currency" json:"currency" check:"intThan0" empty:"true"` Price int64 `db:"price" json:"price" check:"price"` //折扣前费用,用于展示 PriceOld int64 `db:"price_old" json:"priceOld" check:"price"` //标题 Title string `db:"title" json:"title" check:"title" min:"1" max:"300"` //描述 Des string `db:"des" json:"des" check:"des" min:"1" max:"3000" empty:"true"` //封面 CoverFileID int64 `db:"cover_file_id" json:"coverFileID" check:"id" empty:"true"` //描述文件组 DesFiles pq.Int64Array `db:"des_files" json:"desFiles" check:"ids" empty:"true"` //关联的用户组 // 只有为平台配置时,该数据才可修改病会生效 UserGroups pq.Int64Array `db:"user_groups" json:"userGroups" check:"ids" empty:"true"` //默认减免的费用比例、费用金额 ExemptionPrice int64 `db:"exemption_price" json:"exemptionPrice" check:"price" empty:"true"` // 1-100% 百分比 ExemptionDiscount int64 `db:"exemption_discount" json:"exemptionDiscount"` //费用低于多少时,将失效 // 依赖于订单的总金额判断 ExemptionMinPrice int64 `db:"exemption_min_price" json:"exemptionMinPrice" check:"price" empty:"true"` //限制设计 // 允许设置多个条件,如1天限制一次的同时、30天能使用10次 Limits FieldsLimits `db:"limits" json:"limits"` //周期价格 ExemptionTime FieldsExemptionTimes `db:"exemption_time" json:"exemptionTime"` //样式ID // 关联到样式库后,本记录的图片和文本将交给样式库布局实现 StyleID int64 `db:"style_id" json:"styleID" check:"id" empty:"true"` //附加参数 Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params"` }
ArgsUpdateConfig 修改订阅配置参数
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 DataAnalysisArea ¶
type DataAnalysisUse ¶
type DataAnalysisUse struct { //配置ID ConfigID int64 `db:"config_id" json:"configID"` //配置名称 ConfigName string `db:"config_name" json:"configName"` //数量 Count int64 `db:"count" json:"count"` }
func GetAnalysisArea ¶
func GetAnalysisArea(args *ArgsGetAnalysisArea) (dataList []DataAnalysisUse, err error)
GetAnalysisArea 获取在续订阅分布情况
func GetAnalysisUse ¶
func GetAnalysisUse(args *ArgsGetAnalysisUse) (dataList []DataAnalysisUse, err error)
GetAnalysisUse 统计使用情况
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 CreateConfig ¶
func CreateConfig(args *ArgsCreateConfig) (data FieldsConfig, err error)
CreateConfig 创建新的订阅配置
func GetConfigByID ¶
func GetConfigByID(args *ArgsGetConfigByID) (data FieldsConfig, err error)
GetConfigByID 获取指定配置ID
func GetConfigByMark ¶ added in v5.1.47
func GetConfigByMark(args *ArgsGetConfigByMark) (data FieldsConfig, err error)
GetConfigByMark 获取指定配置标识码
func GetConfigList ¶
func GetConfigList(args *ArgsGetConfigList) (dataList []FieldsConfig, dataCount int64, err error)
GetConfigList 获取配置列表
func GetConfigMore ¶
func GetConfigMore(args *ArgsGetConfigMore) (dataList []FieldsConfig, err error)
GetConfigMore 获取一组配置
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
type FieldsExemptionTimes ¶
type FieldsExemptionTimes []FieldsExemptionTime
FieldsExemptionTimes 限制措施
func (*FieldsExemptionTimes) Scan ¶
func (t *FieldsExemptionTimes) Scan(value interface{}) error
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
type FieldsLimits ¶
type FieldsLimits []FieldsLimit
FieldsLimits 限制措施
func (*FieldsLimits) Scan ¶
func (t *FieldsLimits) Scan(value interface{}) error
type FieldsLog ¶
type FieldsLog struct { //ID ID int64 `db:"id" json:"id"` //创建时间 CreateAt time.Time `db:"create_at" json:"createAt"` //组织ID OrgID int64 `db:"org_id" json:"orgID"` //配置ID ConfigID int64 `db:"config_id" json:"configID"` //用户ID UserID int64 `db:"user_id" json:"userID"` //使用来源 UseFrom string `db:"use_from" json:"useFrom"` //使用日志 Des string `db:"des" json:"des"` }
FieldsLog 使用日志
func GetLogList ¶
func GetLogList(args *ArgsGetLogList) (dataList []FieldsLog, dataCount int64, err error)
GetLogList 获取日志列表
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"` }
func GetSubList ¶
func GetSubList(args *ArgsGetSubList) (dataList []FieldsSub, dataCount int64, err error)
GetSubList 获取订阅列表