Create & Init Project...

This commit is contained in:
2019-04-22 18:49:16 +08:00
commit fc4fa37393
25440 changed files with 4054998 additions and 0 deletions

View File

@@ -0,0 +1,46 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = [
"dialog.go",
"jointly.go",
"model.go",
"month.go",
"order.go",
"panel.go",
"params.go",
"platform.go",
"privilege.go",
"push.go",
"query.go",
"reques.go",
"resouce.go",
"tips.go",
"vip.go",
"welfare.go",
],
importpath = "go-common/app/admin/main/vip/model",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = ["//library/time:go_default_library"],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

View File

@@ -0,0 +1,34 @@
package model
import "go-common/library/time"
// ConfDialog .
type ConfDialog struct {
ID int64 `gorm:"column:id" json:"id" form:"id"`
AppID int64 `gorm:"column:app_id" json:"app_id" form:"app_id"`
Platform int64 `gorm:"column:platform" json:"platform" form:"platform"`
StartTime time.Time `gorm:"column:start_time" json:"start_time" form:"start_time"`
EndTime time.Time `gorm:"column:end_time" json:"end_time" form:"end_time" default:"32503651200"` //3000-01-01 00:00:00
Title string `gorm:"column:title" json:"title" form:"title" validate:"required"`
Content string `gorm:"column:content" json:"content" form:"content" validate:"required"`
Follow bool `gorm:"column:follow" json:"follow" form:"follow"`
LeftButton string `gorm:"column:left_button" json:"left_button" form:"left_button"`
LeftLink string `gorm:"column:left_link" json:"left_link" form:"left_link"`
RightButton string `gorm:"column:right_button" json:"right_button" form:"right_button" validate:"required"`
RightLink string `gorm:"column:right_link" json:"right_link" form:"right_link"`
Operator string `gorm:"column:operator" json:"operator"`
Stage bool `gorm:"column:stage" json:"stage" form:"stage" default:"true"`
Ctime time.Time `gorm:"column:ctime" json:"ctime" form:"ctime"`
Mtime time.Time `gorm:"column:mtime" json:"mtime" form:"mtime"`
}
// TableName for grom.
func (c *ConfDialog) TableName() string {
return "vip_conf_dialog"
}
// ConfDialogList admin list model.
type ConfDialogList struct {
*ConfDialog
Status string `json:"status"`
}

View File

@@ -0,0 +1,18 @@
package model
import "go-common/library/time"
// Jointly def.
type Jointly struct {
ID int64 `json:"id"`
Title string `json:"title"`
Content string `json:"content"`
StartTime int64 `json:"start_time"`
EndTime int64 `json:"end_time"`
Link string `json:"link"`
IsHot int8 `json:"is_hot"`
State int8 `json:"state"`
Operator string `json:"operator"`
CTime time.Time `json:"ctime"`
MTime time.Time `json:"mtime"`
}

View File

@@ -0,0 +1,148 @@
package model
// tips status.
const (
WaitShowTips = iota + 1
EffectiveTips
ExpireTips
)
// PlatformByCode .
var PlatformByCode = map[int]string{
DeviceIOS: "ios",
DeviceIPAD: "ipad",
DevicePC: "pc",
DeviceANDROID: "android",
}
// const for vip
const (
DeviceIOS = iota + 1
DeviceIPAD
DevicePC
DeviceANDROID
)
// push progress status
const (
NotStart = iota + 1
Starting
Started
)
// const .
const (
UnDisable = iota
Disable
)
// const .
const (
Normal = iota + 1
Fail
)
// tips judge type .
const (
VersionTypeNone int8 = iota
VersionMoreThan
VersionEqual
VersionLessThan
)
// Delete state
const (
Delete = 1
)
// PageInfo common page info.
type PageInfo struct {
Count int `json:"count"`
CurrentPage int `json:"currentPage,omitempty"`
Item interface{} `json:"item"`
}
// UserChangeHistoryReq user change history request.
type UserChangeHistoryReq struct {
Mid int64 `form:"mid"`
ChangeType int8 `form:"change_type"`
StartChangeTime int64 `form:"startchangetime"`
EndChangeTime int64 `form:"endchangetime"`
BatchID int64 `form:"batch_id"`
RelationID string `form:"relation_id"`
Pn int `form:"pn"`
Ps int `form:"ps"`
}
// PushPlatformMap .
var PushPlatformMap = map[string]string{
"1": "Android",
"2": "iPhone",
"3": "iPad",
}
// PushPlatformNameMap .
var PushPlatformNameMap = map[string]string{
"Android": "1",
"iPhone": "2",
"iPad": "3",
}
// ConditionMap .
var ConditionMap = map[string]string{
"gte": ">=",
"lte": "<=",
"eq": "=",
"neq": "!=",
}
// ConditionNameMap .
var ConditionNameMap = map[string]string{
">=": "gte",
"<=": "lte",
"=": "eq",
"!=": "neq",
}
// privilege resources state.
const (
DisablePrivilege = iota
NormalPrivilege
)
// privilege resources type.
const (
WebResources = iota
AppResources
)
// jointly state.
const (
WillEffect int8 = iota + 1
Effect
LoseEffect
)
// order type
const (
NormalOrder = iota
AutoOrder
IAPAutoOrder
)
// pay order status.
const (
PAYING = iota + 1
SUCCESS
FAILED
SIGN
UNSIGN
REFUNDING
REFUNDED
)
// order type
const (
General int8 = iota
AutoRenew
)

View File

@@ -0,0 +1,30 @@
package model
import "go-common/library/time"
// VipMonth vip month info.
type VipMonth struct {
ID int64 `json:"id"`
Month int8 `json:"month"`
MonthType int8 `json:"month_type"`
Operator string `json:"operator"`
Status int8 `json:"status"`
Mtime time.Time `json:"mtime"`
}
// VipMonthPrice month price info.
type VipMonthPrice struct {
ID int64 `json:"id" form:"id"`
MonthID int8 `json:"month_id" form:"month_id"`
MonthType int8 `json:"month_type" form:"month_type"`
Money float64 `json:"money" form:"money"`
FirstDiscountMoney float64 `json:"first_discount_money" form:"first_discount_money"`
DiscountMoney float64 `json:"discount_money" form:"discount_money"`
Selected int8 `json:"selected" form:"selected"`
StartTime time.Time `json:"start_time" form:"start_time"`
EndTime time.Time `json:"end_time" form:"end_time"`
Remark string `json:"remark" form:"remark"`
Operator string `json:"operator"`
Status int8 `json:"status"`
Mtime time.Time `json:"mtime"`
}

View File

@@ -0,0 +1,37 @@
package model
import "go-common/library/time"
//PayOrder pay order
type PayOrder struct {
ID int64 `json:"_"`
OrderNo string `json:"order_no"`
AppID int64 `json:"app_id"`
Platform int8 `json:"platform"`
OrderType int8 `json:"order_type"`
AppSubID string `json:"app_sub_id"`
Mid int64 `json:"mid"`
ToMid int64 `json:"to_mid"`
BuyMonths int16 `json:"buy_months"`
Money float64 `json:"money"`
RefundAmount float64 `json:"refund_amount"`
Status int8 `json:"status"`
PayType int8 `json:"pay_type"`
RechargeBp float64 `json:"recharge_bp"`
ThirdTradeNo string `json:"third_trade_no"`
Ver int64 `json:"ver"`
PaymentTime time.Time `json:"payment_time"`
Ctime time.Time `json:"ctime"`
Mtime time.Time `json:"mtime"`
}
//PayOrderLog pay order log.
type PayOrderLog struct {
ID int64 `json:"id"`
OrderNo string `json:"order_no"`
RefundID string `json:"refund_id"`
RefundAmount float64 `json:"refund_amount"`
Mid int64 `json:"mid"`
Status int8 `json:"status"`
Operator string `json:"operator"`
}

View File

@@ -0,0 +1,179 @@
package model
import "go-common/library/time"
// VipPriceConfigPlat vip价格面版平台 1. 其他平台 2.IOS平台 3.IOS的HD平台
type VipPriceConfigPlat int64
// VipPriceConfigStatus vip价格面版配置状态 0. 有效 1. 失效 2.待生效
type VipPriceConfigStatus int8
const (
// VipPriceConfigStatusON 有效
VipPriceConfigStatusON VipPriceConfigStatus = iota
// VipPriceConfigStatusOFF 失效
VipPriceConfigStatusOFF
// VipPriceConfigStatusFuture 待生效
VipPriceConfigStatusFuture
)
// vip_price_config suit_type
const (
AllUser int8 = iota
OldVIP
NewVIP
OldSubVIP
NewSubVIP
OldPackVIP
NewPackVIP
)
// const .
const (
DefualtZeroTimeFromDB = 0
TimeFormatDay = "2006-01-02 15:04:05"
DefulatTimeFromDB = "1970-01-01 08:00:00"
)
// VipPriceConfig struct .
type VipPriceConfig struct {
ID int64 `gorm:"column:id" json:"id"`
Plat VipPriceConfigPlat `gorm:"column:platform" json:"platform"`
PdName string `gorm:"column:product_name" json:"product_name"`
PdID string `gorm:"column:product_id" json:"product_id"`
SuitType int8 `gorm:"column:suit_type" json:"suit_type"`
Month int16 `gorm:"column:month" json:"month"`
SubType int8 `gorm:"column:suit_type" json:"sub_type"`
OPrice float64 `gorm:"column:original_price" json:"original_price"`
NPrice float64 `json:"now_price"`
Selected int8 `gorm:"column:selected" json:"selected"`
Remark string `gorm:"column:remark" json:"remark"`
Status VipPriceConfigStatus `gorm:"column:status" json:"status"`
Operator string `gorm:"column:operator" json:"operator"`
OpID int64 `gorm:"column:oper_id" json:"oper_id"`
Superscript string `gorm:"column:superscript" json:"superscript"`
CTime time.Time `gorm:"column:ctime" json:"ctime"`
MTime time.Time `gorm:"column:mtime" json:"mtime"`
StartBuild int64 `json:"start_build"`
EndBuild int64 `json:"end_build"`
}
// VipPriceConfigV2 struct .
type VipPriceConfigV2 struct {
ID int64 `gorm:"column:id" json:"id" form:"id"`
Platform int64 `gorm:"column:platform" json:"platform" form:"platform"`
ProductName string `gorm:"column:product_name" json:"product_name" form:"product_name"`
ProductID string `gorm:"column:product_id" json:"product_id" form:"product_id"`
SuitType int64 `gorm:"column:suit_type" json:"suit_type" form:"suit_type"`
Month int64 `gorm:"column:month" json:"month" form:"month"`
SubType int64 `gorm:"column:sub_type" json:"sub_type" form:"sub_type"`
OriginalPrice float64 `gorm:"column:original_price" json:"original_price" form:"original_price"`
Selected int8 `gorm:"column:selected" json:"selected" form:"selected"`
Remark string `gorm:"column:remark" json:"remark" form:"remark"`
Status int8 `gorm:"column:status" json:"status" form:"status"`
Operator string `gorm:"column:operator" json:"operator" form:"operator"`
OperID int64 `gorm:"column:oper_id" json:"oper_id" form:"oper_id"`
Ctime time.Time `gorm:"column:ctime" json:"ctime" form:"ctime"`
Mtime time.Time `gorm:"column:mtime" json:"mtime" form:"mtime"`
Superscript string `gorm:"column:superscript" json:"superscript" form:"superscript"`
StartBuild int64 `json:"start_build"`
EndBuild int64 `json:"end_build"`
}
// VipDPriceConfig price discount config.
type VipDPriceConfig struct {
DisID int64 `json:"discount_id"`
ID int64 `json:"vpc_id"`
PdID string `json:"product_id"`
DPrice float64 `json:"discount_price"`
STime time.Time `json:"stime"`
ETime time.Time `json:"etime"`
Remark string `json:"remark"`
Operator string `json:"operator"`
OpID int64 `json:"oper_id"`
CTime time.Time `json:"ctime"`
MTime time.Time `json:"mtime"`
FirstPrice float64 `json:"first_price"`
}
// VipPriceDiscountConfigV2 table vip_price_discount_config_v2 struct .
type VipPriceDiscountConfigV2 struct {
ID int64 `gorm:"column:id" json:"id" form:"id"`
VpcID int64 `gorm:"column:vpc_id" json:"vpc_id" form:"vpc_id"`
ProductID string `gorm:"column:product_id" json:"product_id" form:"product_id"`
DiscountPrice float64 `gorm:"column:discount_price" json:"discount_price" form:"discount_price"`
Stime time.Time `gorm:"column:stime" json:"stime" form:"stime"`
Etime time.Time `gorm:"column:etime" json:"etime" form:"etime"`
Remark string `gorm:"column:remark" json:"remark" form:"remark"`
Operator string `gorm:"column:operator" json:"operator" form:"operator"`
OperID int64 `gorm:"column:oper_id" json:"oper_id" form:"oper_id"`
Ctime time.Time `gorm:"column:ctime" json:"ctime" form:"ctime"`
Mtime time.Time `gorm:"column:mtime" json:"mtime" form:"mtime"`
}
// ArgAddOrUpVipPrice .
type ArgAddOrUpVipPrice struct {
ID int64 `form:"id"`
Plat VipPriceConfigPlat `form:"platform" validate:"required"`
PdName string `form:"product_name" validate:"required"`
PdID string `form:"product_id" validate:"required"`
Month int16 `form:"month" validate:"required"`
SubType int8 `form:"sub_type"`
SuitType int8 `form:"suit_type"`
OPrice float64 `form:"original_price" validate:"required"`
Remark string `form:"remark"`
Operator string `form:"operator" validate:"required"`
OpID int64 `form:"oper_id" validate:"required"`
Selected int8 `form:"selected"`
Superscript string `form:"superscript"`
StartBuild int64 `form:"start_build"`
EndBuild int64 `form:"end_build"`
}
// ArgAddOrUpVipDPrice .
type ArgAddOrUpVipDPrice struct {
DisID int64 `form:"discount_id"`
ID int64 `form:"vpc_id" validate:"required"`
PdID string `form:"product_id" validate:"required"`
DPrice float64 `form:"discount_price"`
STime time.Time `form:"stime" validate:"required"`
ETime time.Time `form:"etime"`
Remark string `form:"remark"`
Operator string `form:"operator" validate:"required"`
OpID int64 `form:"oper_id" validate:"required"`
FirstPrice float64 `form:"first_price"`
}
// CheckProductID .
// func (vpc *VipPriceConfig) CheckProductID(arg *ArgAddOrUpVipDPrice) bool {
// return (vpc.Plat == PlatVipPriceConfigIOS || vpc.Plat == PlatVipPriceConfigIOSHD || vpc.Plat == PlatVipPriceConfigIphoneB) && arg.PdID == ""
// }
// ExistPlat .
// func (aavp *ArgAddOrUpVipPrice) ExistPlat() bool {
// return aavp.Plat == PlatVipPriceConfigOther ||
// aavp.Plat == PlatVipPriceConfigIOS ||
// aavp.Plat == PlatVipPriceConfigIOSHD ||
// aavp.Plat == PlatVipPriceConfigFriendsGift ||
// aavp.Plat == PlatVipPriceConfigInternational ||
// aavp.Plat == PlatVipPriceConfigIphoneB ||
// aavp.Plat == PlatVipPriceConfigCheck
// }
// ArgVipPriceID .
type ArgVipPriceID struct {
ID int64 `form:"id" validate:"required"`
}
// ArgVipDPriceID .
type ArgVipDPriceID struct {
DisID int64 `form:"discount_id" validate:"required"`
}
// ArgVipPrice .
type ArgVipPrice struct {
Plat VipPriceConfigPlat `form:"platform" default:"-1"`
Month int16 `form:"month" default:"-1"`
SubType int8 `form:"sub_type" default:"-1"`
SuitType int8 `form:"suit_type" default:"-1"`
}

View File

@@ -0,0 +1,140 @@
package model
import "go-common/library/time"
// ArgID .
type ArgID struct {
ID int64 `form:"id" validate:"required"`
}
// ArgPointHistory .
type ArgPointHistory struct {
Mid int64 `form:"id"`
ChangeType int64 `form:"change_type"`
StartChangeTime int64 `form:"start_change_time"`
EndChangeTime int64 `form:"end_change_time"`
BatchID int64 `form:"batch_id"`
RelationID int64 `form:"relation_id"`
}
// ArgIDExtra .
type ArgIDExtra struct {
ID int64 `form:"id" validate:"required"`
Status int8 `form:"status" validate:"required"`
Operator string
}
// ArgPage .
type ArgPage struct {
Ps int `form:"ps"`
Pn int `form:"pn"`
Status int `form:"status"`
}
// ArgPoolID .
type ArgPoolID struct {
PoolID int `form:"pool_id" validate:"required"`
}
// ArgReSource .
type ArgReSource struct {
ID int `form:"id"`
Increment int `form:"increment"`
StartTime time.Time `form:"start_time"`
EndTime time.Time `form:"end_time"`
}
// ArgAddPrivilege add privilege.
type ArgAddPrivilege struct {
Name string `json:"name" form:"name" validate:"required"`
Title string `json:"title" form:"title" validate:"required"`
Explain string `json:"explain" form:"explain" validate:"required"`
Type int8 `json:"type" form:"type"`
LangType int8 `json:"lang_type" form:"lang_type"`
Operator string `json:"operator"`
WebLink string `json:"web_link" form:"web_link"`
AppLink string `json:"app_link" form:"app_link"`
}
// ArgUpdatePrivilege update privilege.
type ArgUpdatePrivilege struct {
ID int64 `form:"id" validate:"required"`
Name string `json:"name" form:"name" validate:"required"`
Title string `json:"title" form:"title" validate:"required"`
Explain string `json:"explain" form:"explain" validate:"required"`
Type int8 `json:"type" form:"type"`
Operator string `json:"operator"`
WebLink string `json:"web_link" form:"web_link"`
AppLink string `json:"app_link" form:"app_link"`
}
// ArgImage arg image.
type ArgImage struct {
IconFileType string
IconBody []byte
IconGrayFileType string
IconGrayBody []byte
WebImageFileType string
WebImageBody []byte
AppImageFileType string
AppImageBody []byte
}
// ArgStatePrivilege def.
type ArgStatePrivilege struct {
ID int64 `form:"id" validate:"required"`
Status int8 `form:"state"`
}
// ArgPivilegeID def.
type ArgPivilegeID struct {
ID int64 `form:"id" validate:"required"`
}
// ArgOrder def.
type ArgOrder struct {
AID int64 `form:"aid" validate:"required"`
BID int64 `form:"bid" validate:"required"`
}
// ArgAddJointly arg add jointly.
type ArgAddJointly struct {
Title string `form:"title" validate:"required"`
Content string `form:"content"`
StartTime int64 `form:"start_time" validate:"required"`
EndTime int64 `form:"end_time" validate:"required"`
Link string `form:"link" validate:"required"`
IsHot int8 `form:"is_hot" `
Operator string
}
// ArgModifyJointly arg modify jointly.
type ArgModifyJointly struct {
ID int64 `form:"id" validate:"required"`
Title string `form:"title" validate:"required"`
Content string `form:"content" validate:"required"`
Link string `form:"link" validate:"required"`
IsHot int8 `form:"is_hot" `
StartTime int64 `form:"start_time" validate:"required"`
EndTime int64 `form:"end_time" validate:"required"`
Operator string
}
// ArgQueryJointly query jointly params .
type ArgQueryJointly struct {
State int8 `form:"state" `
}
// ArgJointlyID .
type ArgJointlyID struct {
ID int64 `form:"id" validate:"required"`
}
//ArgPayOrder qeury order.
type ArgPayOrder struct {
Mid int64 `form:"mid"`
OrderNo string `form:"order_no"`
Status int8 `form:"status"`
PN int `form:"pn" default:"1"`
PS int `form:"ps" default:"20"`
}

View File

@@ -0,0 +1,40 @@
package model
import "go-common/library/time"
// const .
var (
// PlatformMap 平台
PlatformMap = map[string]string{"android": "android", "ios": "ios", "pc": "pc", "public": "public"}
// Device 对应设备
DeviceMap = map[string]string{"pad": "pad", "phone": "phone"}
// MobiAPPIDIosMap iOS
MobiAPPIDIosMap = map[string]string{"iphone": "iphone", "ipad": "ipad", "iphone_b": "iphone_b"}
// MobiAPPIDAndroidMap Android
MobiAPPIDAndroidMap = map[string]string{"android": "android", "android_tv_yst": "android_tv_yst", "android_tv": "android_tv", "android_i": "android_i", "android_b": "android_b"}
)
// ConfPlatform struct .
type ConfPlatform struct {
ID int64 `gorm:"column:id" json:"id" form:"id"`
PlatformName string `gorm:"column:platform_name" json:"platform_name" form:"platform_name" validate:"required"`
Platform string `gorm:"column:platform" json:"platform" form:"platform" validate:"required"`
Device string `gorm:"column:device" json:"device" form:"device"`
MobiApp string `gorm:"column:mobi_app" json:"mobi_app" form:"mobi_app"`
PanelType string `gorm:"column:panel_type" json:"panel_type" form:"panel_type" default:"normal"`
IsDel int8 `gorm:"column:is_del" json:"is_del" form:"is_del"`
Operator string `gorm:"column:operator" json:"operator" form:"operator"`
Ctime time.Time `gorm:"column:ctime" json:"ctime" form:"ctime"`
Mtime time.Time `gorm:"column:mtime" json:"mtime" form:"mtime"`
}
// TableName for grom.
func (s *ConfPlatform) TableName() string {
return "vip_platform_config"
}
// TypePlatform struct .
type TypePlatform struct {
ID int64 `json:"id"`
PlatformName string `json:"platform_name"`
}

View File

@@ -0,0 +1,63 @@
package model
import (
"go-common/library/time"
)
// Privilege info.
type Privilege struct {
ID int64 `gorm:"column:id" json:"id"`
Name string `gorm:"column:privileges_name" json:"name"`
Title string `gorm:"column:title" json:"title"`
Explain string `gorm:"column:explains" json:"explain"`
Type int8 `gorm:"column:privileges_type" json:"type"`
Operator string `gorm:"column:operator" json:"operator"`
State int8 `gorm:"column:state" json:"state"`
Deleted int8 `gorm:"column:deleted" json:"deleted"`
IconURL string `gorm:"column:icon_url" json:"icon_url"`
IconGrayURL string `gorm:"column:icon_gray_url" json:"icon_gray_url"`
Order int64 `gorm:"column:order_num" json:"order"`
LangType int8 `gorm:"column:lang_type" json:"lang_type"`
Ctime time.Time `gorm:"column:ctime" json:"ctime"`
Mtime time.Time `gorm:"column:mtime" json:"mtime"`
}
// TableName for grom.
func (s *Privilege) TableName() string {
return "vip_privileges"
}
// PrivilegeResources privilege resources.
type PrivilegeResources struct {
ID int64 `gorm:"column:id" json:"id"`
PID int64 `gorm:"column:pid" json:"pid"`
Link string `gorm:"column:link" json:"link"`
ImageURL string `gorm:"column:image_url" json:"image_url"`
Type int8 `gorm:"column:resources_type" json:"type"`
Ctime time.Time `gorm:"column:ctime" json:"ctime"`
Mtime time.Time `gorm:"column:mtime" json:"mtime"`
}
// TableName for grom.
func (s *PrivilegeResources) TableName() string {
return "vip_privileges_resources"
}
// PrivilegeResp resp.
type PrivilegeResp struct {
ID int64 `json:"id"`
Name string `json:"name"`
Title string `json:"title"`
Explain string `json:"explain"`
Type int8 `json:"type"`
Operator string `json:"operator"`
State int8 `json:"state"`
IconURL string `json:"icon_url"`
IconGrayURL string `json:"icon_gray_url"`
Order int64 `json:"order"`
WebLink string `json:"web_link"`
WebImageURL string `json:"web_image_url"`
AppLink string `json:"app_link"`
AppImageURL string `json:"app_image_url"`
LangType int8 `json:"lang_type"`
}

View File

@@ -0,0 +1,36 @@
package model
import "go-common/library/time"
// VipPushData .
type VipPushData struct {
ID int64 `json:"id" form:"id"`
DisableType int8 `json:"disable_type"`
GroupName string `json:"group_name" form:"group_name"`
Title string `json:"title" form:"title"`
Content string `json:"content" form:"content" validate:"required"`
PushTotalCount int32 `json:"-"`
PushedCount int32 `json:"-"`
PushProgress string `json:"push_progress"`
ProgressStatus int8 `json:"progress_status"`
Operator string `json:"operator"`
Status int8 `json:"status"`
Platform string `json:"platform" form:"platform"`
LinkType int32 `json:"link_type" form:"link_type" validate:"required"`
ErrorCode int32 `json:"error_code"`
LinkURL string `json:"link_url" form:"link_url" validate:"required"`
ExpiredDayStart int32 `json:"expired_day_start" form:"expired_day_start"`
ExpiredDayEnd int64 `json:"expired_day_end" form:"expired_day_end"`
EffectStartDate time.Time `json:"effect_start_date" form:"effect_start_date" validate:"required"`
EffectEndDate time.Time `json:"effect_end_date" form:"effect_end_date" validate:"required"`
PushStartTime string `json:"push_start_time" form:"push_start_time" validate:"required"`
PushEndTime string `json:"push_end_time" form:"push_end_time" validate:"required"`
PlatformArr []*PushDataPlatform `json:"platform_arr"`
}
// PushDataPlatform .
type PushDataPlatform struct {
Name string `json:"name"`
Condition string `json:"condition"`
Build int64 `json:"build"`
}

View File

@@ -0,0 +1,7 @@
package model
// QueryBusinessInfo .
type QueryBusinessInfo struct {
Name string `json:"name"`
Appkey string `json:"appkey"`
}

View File

@@ -0,0 +1,90 @@
package model
import "go-common/library/time"
//ResoucePoolBo pool bo
type ResoucePoolBo struct {
PN int `form:"pn" default:"1"`
PS int `form:"ps" default:"20"`
ID int `form:"pool_id"`
PoolName string `form:"pool_name"`
BusinessID int `form:"biz_id"`
StartTime time.Time `form:"start_time"`
EndTime time.Time `form:"end_time"`
BatchID int `form:"batch_id"`
Reason string `form:"reason"`
CodeExpireTime time.Time `form:"code_expire_time"`
Contacts string `form:"contacts"`
ContactsNumber string `form:"contacts_number"`
}
//ResouceBatchBo resouce batch bo
type ResouceBatchBo struct {
ID int `form:"id"`
PoolID int `form:"pool_id"`
Unit int `form:"unit"`
Count int `form:"count"`
StartTime time.Time `form:"start_time"`
EndTime time.Time `form:"end_time"`
SurplusCount int `form:"surplus_count"`
CodeUseCount int `form:"code_use_count"`
DirectUseCount int `form:"direct_use_count"`
}
//ResouceBatchVo resouce batch vo
type ResouceBatchVo struct {
VipResourceBatch
PoolName string `json:"pool_name"`
}
//ArgPrivilege .
type ArgPrivilege struct {
PrivilegeID int `form:"privilege_id"`
Name string `form:"name"`
Remark string `form:"remark"`
PcLink string `form:"pc_link"`
H5Link string `form:"h5_link"`
BgColor string `form:"bg_color"`
Type int `form:"type"`
Mapping []ArgPrivilegeMapping `form:"platforms"`
}
//ArgPrivilegeMapping .
type ArgPrivilegeMapping struct {
Status int `form:"status"`
Platform int `form:"platform"`
Icon string `form:"icon"`
}
// ArgCode .
type ArgCode struct {
ID int64 `form:"id"`
Code string `form:"code"`
Mid int64 `form:"mid"`
BusinessID int64 `form:"business_id"`
PoolID int64 `form:"pool_id"`
BatchCodeID int64 `form:"batch_code_id"`
Status int8 `form:"status"`
UseStartTime time.Time `form:"use_start_time"`
UseEndTime time.Time `form:"use_end_time"`
BatchCodeIDs []int64 `form:"batch_code_ids"`
}
// ArgBatchCode .
type ArgBatchCode struct {
ID int64 `form:"id"`
BusinessID int64 `form:"business_id"`
PoolID int64 `form:"pool_id"`
Name string `form:"name"`
Status int8 `form:"status"`
StartTime time.Time `form:"start_time"`
EndTime time.Time `form:"end_time"`
}
// ArgPushData .
type ArgPushData struct {
ProgressStatus int8 `form:"progress_status"`
Status int8 `form:"status"`
PN int `form:"pn" default:"1"`
PS int `form:"ps" default:"20"`
}

View File

@@ -0,0 +1,47 @@
package model
import "go-common/library/time"
// ResourceCode .
type ResourceCode struct {
ID int64 `json:"id"`
BatchCodeID int64 `json:"batch_code_id"`
Status int8 `json:"status"`
Code string `json:"code"`
Mid int64 `json:"mid"`
UseTime time.Time `json:"use_time"`
Ctime time.Time `json:"ctime"`
}
// BatchCode .
type BatchCode struct {
ID int64 `json:"id" form:"id"`
BusinessID int64 `json:"business_id" form:"business_id" validate:"required"`
PoolID int64 `json:"pool_id" form:"pool_id" validate:"required"`
Status int8 `json:"status" `
Type int8 `json:"type" form:"type"`
BatchName string `json:"batch_name" form:"batch_name" validate:"required"`
MaxCount int64 `json:"max_count" form:"max_count"`
LimitDay int64 `json:"limit_day" form:"limit_day" validate:"max=10000,min=-1"`
Reason string `json:"reason" form:"reason" validate:"required"`
Unit int32 `json:"unit" form:"unit" validate:"required"`
Count int64 `json:"count" form:"count" validate:"required"`
SurplusCount int64 `json:"surplus_count"`
Price float64 `json:"price" form:"price" validate:"required"`
StartTime time.Time `json:"start_time" form:"start_time" validate:"required"`
EndTime time.Time `json:"end_time" form:"end_time" validate:"required"`
Contacts string `json:"contacts" form:"contacts"`
ContactsNumber string `json:"contacts_number" form:"contacts_number"`
Operator string `json:"operator"`
Ctime time.Time `json:"ctime"`
}
// CodeVo .
type CodeVo struct {
ResourceCode
BatchName string `json:"batch_name"`
BatchStatus int8 `json:"batch_status"`
StartTime time.Time `json:"start_time"`
EndTime time.Time `json:"end_time"`
Unit int32 `json:"unit"`
}

View File

@@ -0,0 +1,49 @@
package model
import "go-common/library/time"
// Tips def.
type Tips struct {
ID int64 `json:"id" form:"id"`
Platform int8 `json:"platform" form:"platform" validate:"required,min=1,gte=1"`
Version int64 `json:"version" form:"version"`
Tip string `json:"tip" form:"tip" validate:"required"`
Link string `json:"link" form:"link"`
StartTime int64 `json:"start_time" form:"start_time" validate:"required,min=1,gte=1"`
EndTime int64 `json:"end_time" form:"end_time" validate:"required,min=1,gte=1"`
Level int8 `json:"level" form:"level" validate:"required,min=1,gte=1"`
JudgeType int8 `json:"judge_type" form:"judge_type"`
Operator string `json:"operator"`
Deleted int8 `json:"deleted"`
Position int8 `json:"position" form:"position" validate:"required,min=1,gte=1"`
State int8 `json:"state"`
Ctime time.Time `json:"ctime"`
Mtime time.Time `json:"mtime"`
}
// TipResp def.
type TipResp struct {
ID int64 `json:"id"`
PlatformStr string `json:"platform_str"`
JudgeBuild int8 `json:"judge_build_str"`
StateStr string `json:"state_str"`
State int8 `json:"state"`
Version int64 `json:"version"`
Tip string `json:"tip"`
Link string `json:"link"`
Operator string `json:"operator"`
Position int8 `json:"position"`
Ctime int64 `json:"ctime"`
Mtime int64 `json:"mtime"`
}
// TipState tip state
func (t *Tips) TipState(stime, etime, now int64) {
if stime > now {
t.State = WaitShowTips
} else if etime < now {
t.State = ExpireTips
} else {
t.State = EffectiveTips
}
}

View File

@@ -0,0 +1,216 @@
package model
import "go-common/library/time"
// VipResourcePool vip_resource_pool table
type VipResourcePool struct {
ID int `json:"id"`
PoolName string `json:"pool_name"`
BusinessID int `json:"business_id"`
BusinessName string `json:"business_name"`
Reason string `json:"reason"`
CodeExpireTime time.Time `json:"code_expire_time"`
StartTime time.Time `json:"start_time"`
EndTime time.Time `json:"end_time"`
Contacts string `json:"contacts"`
ContactsNumber string `json:"contacts_number"`
Ctime time.Time `json:"-"`
Mtime time.Time `json:"-"`
}
// VipResourceBatch vip_resource_batch table
type VipResourceBatch struct {
ID int `json:"id"`
PoolID int `json:"pool_id"`
Unit int `json:"unit"`
Count int `json:"count"`
Ver int `json:"ver"`
StartTime time.Time `json:"start_time"`
EndTime time.Time `json:"end_time"`
SurplusCount int `json:"surplus_count"`
CodeUseCount int `json:"code_use_count"`
DirectUseCount int `json:"direct_use_count"`
Ctime time.Time `json:"-"`
Mtime time.Time `json:"-"`
}
//VipBusinessInfo vip_business_info table
type VipBusinessInfo struct {
ID int `json:"id" form:"id"`
BusinessName string `json:"business_name" form:"business_name"`
BusinessType int `json:"business_type" form:"business_type"`
Status int `json:"status" form:"status"`
AppKey string `json:"app_key" form:"app_key"`
Secret string `json:"-" form:"secret"`
Contacts string `json:"contacts" form:"contacts"`
ContactsNumber string `json:"contacts_number" form:"contacts_number"`
Ctime time.Time `json:"ctime"`
Mtime time.Time `json:"mtime"`
}
//VipChangeHistory vip_change_history table
type VipChangeHistory struct {
ID int `json:"id"`
Mid int64 `json:"mid"`
ChangeType int `json:"change_type"`
ChangeTime time.Time `json:"change_time"`
Days int `json:"days"`
OperatorID string `json:"operator_id"`
RelationID string `json:"relation_id"`
BatchID int `json:"batch_id"`
Remark string `json:"remark"`
Ctime time.Time `json:"ctime"`
Mtime time.Time `json:"mtime"`
}
//VipUserInfo vip_user_info table
type VipUserInfo struct {
ID int `json:"id"`
Mid int `json:"mid"`
VipType int `json:"vipType"`
VipPayType int `json:"vipPayType"`
VipStatus int `json:"vipStatus"`
VipStartTime time.Time `json:"vipStartTime"`
VipOverdueTime time.Time `json:"vipOverdueTime"`
AnnualVipOverdueTime time.Time `json:"annualVipOverdueTime"`
VipRecentTime time.Time `json:"vipRecentTime"`
Ctime time.Time `json:"ctime"`
Mtime time.Time `json:"mtime"`
}
//VipChangeBo vip change
type VipChangeBo struct {
Mid int
ChangeType int
ChangeTime time.Time
RelationID string
Remark string
Days int
BatchID int
OperatorID string
}
//HandlerVip vip handler
type HandlerVip struct {
OldVipUser *VipUserInfo
VipUser *VipUserInfo
HistoryID int
Days int
Mid int
}
//BcoinSendBo bcoinSendBo
type BcoinSendBo struct {
Amount int
DayOfMonth int
DueDate time.Time
}
//VipBcoinSalary vip_bcoin_salary table
type VipBcoinSalary struct {
ID int `json:"id"`
Mid int `json:"mid"`
Status int `json:"status"`
GiveNowStatus int `json:"giveNowStatus"`
Month time.Time `json:"month"`
Amount int `json:"amount"`
Memo string `json:"memo"`
Ctime time.Time `json:"ctime"`
Mtime time.Time `json:"mtime"`
}
//VipConfig vipConfig
type VipConfig struct {
ID int `json:"id"`
ConfigKey string `json:"configKey"`
Name string `json:"name"`
Content string `json:"content"`
Description string `json:"description"`
OperatorID int `json:"operatorId"`
OperatorName string `json:"operatorName"`
Mtime time.Time `json:"mtime"`
}
// VipAppVersion app version.
type VipAppVersion struct {
ID int64 `json:"id"`
PlatformID int8 `json:"platform_id"`
Version string `json:"version"`
Tip string `json:"tip"`
Operator string `json:"operator"`
Link string `json:"link"`
}
// VipPrivilege .
type VipPrivilege struct {
ID int `json:"id"`
Name string `json:"name"`
OrderNum int `json:"order_num"`
Remark string `json:"remark"`
BgColor string `json:"bg_color"`
Type int `json:"type"`
Deleted int `json:"deleted"`
PcLink string `json:"pc_link"`
MobileLink string `json:"mobile_link"`
}
// VipPrivilegeMapping .
type VipPrivilegeMapping struct {
ID int `json:"id"`
PrivilegeID int `json:"privilege_id"`
PlatformID int `json:"platform_id"`
Icon string `json:"icon"`
Status int `json:"status"`
Operator string `json:"operator"`
}
// const vip enum value
const (
//ChangeType
ChangeTypePointExhchange = 1 // 积分兑换
ChangeTypeRechange = 2 //充值开通
ChangeTypeSystem = 3 // 系统发放
ChangeTypeActiveGive = 4 //活动赠送
ChangeTypeRepeatDeduction = 5 //重复领取扣除
ChangeTypeSystemDrawback = 7 //系统扣减
VipDaysMonth = 31
VipDaysYear = 366
NotVip = 0 //非大会员
Vip = 1 //月度大会员
AnnualVip = 2 //年度会员
VipStatusOverTime = 0 //过期
VipStatusNotOverTime = 1 //未过期
VipStatusFrozen = 2 //冻结
VipStatusBan = 3 //封禁
VipAppUser = 1 //大会员对接业务方user缓存
VipAppPoint = 2 //大会员对接业务方积分缓存
VipChangeFrozen = -1 //冻结
VipChangeUnFrozen = 0 //解冻
VipChangeOpen = 1 //开通
VipChangeModify = 2 //变更
VipBusinessStatusOpen = 0 //有效
VipBusinessStatusClose = 1 //无效
VipOpenMsgTitle = "大会员开通成功"
VipSystemNotify = 4
VipOpenMsg = "恭喜您已开通大会员服务%s"
VipOpenKMsg = "恭喜您已续期大会员服务%s"
VipBcoinGiveContext = "尊敬的年度大会员,您本月%dB币到账啦请您随意挥霍注意会在次月%d日清零哦"
VipBcoinGiveTitle = "B币到账通知"
VipOpenMsgCode = "10_1_1"
VipBcoinGiveMsgCode = "10_99_2"
)
// const .
const (
NOTUSER = iota + 1
USED
FROZEN
)

View File

@@ -0,0 +1,145 @@
package model
import (
"go-common/library/time"
)
// Welfare vip_welfare table
type Welfare struct {
ID int `json:"id"`
WelfareName string `json:"welfare_name" form:"welfare_name"`
WelfareDesc string `json:"welfare_desc" form:"welfare_desc"`
HomepageUri string `json:"homepage_uri" form:"homepage_uri"`
BackdropUri string `json:"backdrop_uri" form:"backdrop_uri"`
Recommend int `json:"recommend"`
Rank int `json:"rank"`
Tid int `json:"tid"`
UsageForm int `json:"usage_form" form:"usage_form"`
ReceiveRate int `json:"receive_rate" form:"receive_rate"`
ReceiveUri string `json:"receive_uri" form:"receive_uri"`
VipType int `json:"vip_type" form:"vip_type"`
State int `json:"state"`
OperID int `json:"oper_id"`
OperName string `json:"oper_name"`
Stime time.Time `json:"stime"`
Etime time.Time `json:"etime"`
Ctime time.Time `json:"ctime"`
Mtime time.Time `json:"mtime"`
}
// WelfareType vip_welfare_type table
type WelfareType struct {
ID int `json:"id"`
Name string `json:"name"`
State int `json:"state"`
OperID int `json:"oper_id"`
OperName string `json:"oper_name"`
}
// WelfareCodeBatch vip_welfare_code_batch table
type WelfareCodeBatch struct {
ID int `json:"id" gorm:"-;primary_key;AUTO_INCREMENT" form:"id"`
BatchName string `json:"batch_name"`
Wid int `json:"wid"`
Count int `json:"count"`
ReceivedCount int `json:"received_count"`
Ver int `json:"ver"`
State int `json:"state"`
OperID int `json:"oper_id"`
OperName string `json:"oper_name"`
Vtime time.Time `json:"vtime"`
Ctime time.Time `json:"ctime"`
Mtime time.Time `json:"mtime"`
}
// WelfareCode vip_welfare_code table
type WelfareCode struct {
ID int `json:"id"`
Bid int `json:"bid"`
Wid int `json:"wid"`
Code string `json:"code"`
Mid int `json:"mid"`
State int `json:"state"`
Ctime time.Time `json:"ctime"`
Mtime time.Time `json:"mtime"`
}
//WelfareTypeRes welfare type response
type WelfareTypeRes struct {
ID int `json:"id"`
Name string `json:"name"`
}
// WelfareReq save or update welfare params
type WelfareReq struct {
ID int `form:"id"`
WelfareName string `form:"name" validate:"required"`
WelfareDesc string `form:"desc" validate:"required"`
HomepageUri string `form:"homepage_uri"`
BackdropUri string `form:"backdrop_uri"`
Recommend int `form:"recommend"`
Rank int `form:"rank" validate:"required"`
Tid int `form:"tid"`
UsageForm int `form:"usage_form" validate:"required"`
ReceiveRate int `form:"receive_rate"`
ReceiveUri string `form:"receive_uri"`
VipType int `form:"vip_type" validate:"required"`
Stime time.Time `form:"stime" validate:"required"`
Etime time.Time `form:"etime" validate:"required"`
OperID int `json:"-"`
OperName string `json:"-"`
}
//WelfareRes welfare type response
type WelfareRes struct {
ID int `json:"id" gorm:"column:id"`
Name string `json:"name" gorm:"column:welfare_name"`
Desc string `json:"desc" gorm:"column:welfare_desc"`
TID int `json:"tid" gorm:"column:tid"`
HomepageUri string `json:"homepage_uri"`
BackdropUri string `json:"backdrop_uri"`
Recommend int `json:"recommend"`
Rank int `json:"rank"`
UsageForm int `json:"usage_form"`
Stime time.Time `json:"stime"`
Etime time.Time `json:"etime"`
ReceiveRate int `json:"receive_rate"`
ReceiveUri string `json:"receive_uri"`
VipType int `json:"vip_type"`
ReceivedCount int `json:"received_count"`
Count int `json:"count"`
}
//WelfareBatchRes welfare batch response
type WelfareBatchRes struct {
ID int `json:"id"`
Name string `json:"batch_name" gorm:"column:batch_name"`
WID int `json:"wid" gorm:"column:wid"`
Ver int `json:"ver"`
OperId int `json:"oper_id"`
OperName string `json:"oper_name"`
Vtime time.Time `json:"vtime"`
Ctime time.Time `json:"ctime"`
ReceivedCount int `json:"received_count"`
Count int `json:"count"`
}
// TableName vip_welfare_type
func (*WelfareType) TableName() string {
return "vip_welfare_type"
}
// TableName vip_welfare
func (*Welfare) TableName() string {
return "vip_welfare"
}
// TableName vip_welfare_code_batch
func (*WelfareCodeBatch) TableName() string {
return "vip_welfare_code_batch"
}
// TableName vip_welfare_code
func (*WelfareCode) TableName() string {
return "vip_welfare_code"
}