123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- package model
- import (
- "active/tools"
- "encoding/json"
- "fmt"
- "strings"
- "time"
- "git.jiaxianghudong.com/go/logs"
- "git.jiaxianghudong.com/webs/pkg/pb"
- )
- //OpenTimes 开始时间
- type OpenTimes struct {
- Start string `json:"time_start"`
- End string `json:"time_end"`
- }
- //AdsOpenTimes 开始时间
- type AdsOpenTimes struct {
- Start string `json:"istimeoffon_time_start"`
- End string `json:"istimeoffon_time_end"`
- }
- //Tagdata 活动数据
- type Tagdata struct {
- Start string `json:"radix,omitempty"`
- RebateType string `json:"rebate_type,omitempty"`
- GoodIDs string `json:"goodids,omitempty"`
- RuleImg string `json:"rule_bgimg,omitempty"`
- ActiveModel string `json:"active_model,omitempty"`
- ActiveType string `json:"active_type,omitempty"`
- GoodsType string `json:"goods_type,omitempty"`
- GrandTotal []interface{} `json:"grand_total,omitempty"`
- ActiveTitleImg []interface{} `json:"active_title_img,omitempty"`
- InvestmentRebate []interface{} `json:"investment_rebate,omitempty"`
- GiftBag []interface{} `json:"gift_bag,omitempty"`
- Welfare []interface{} `json:"welfare,omitempty"`
- Rank []interface{} `json:"rank,omitempty"`
- }
- //CheckOpenCondition 判断限制渠道,包,地区
- func CheckOpenCondition(u *pb.User, openCond string) bool {
- if openCond != "" {
- opencondition := make(map[string]string)
- err := json.Unmarshal([]byte(openCond), &opencondition)
- if err != nil {
- logs.Errorf("Opencondition: %s err: %v", openCond, err)
- return false
- }
- if val, ok := opencondition["channel_app"]; ok && val != "" {
- channelapp := strings.Split(val, ",")
- if !tools.InStringArray(fmt.Sprintf("%d-%d", u.ChannelID, u.AppID), channelapp) {
- return false
- }
- }
- if val, ok := opencondition["region"]; ok && val != "000000" && val != "0" && val != u.Region {
- logs.Debug("region != 000000 and != ", u.Region, " continue")
- return false
- }
- }
- return true
- }
- //GetOpenTime 获取活动时间
- func (opentm *OpenTimes) GetOpenTime(tm string) {
- if tm != "" {
- err := json.Unmarshal([]byte(tm), &opentm)
- if err != nil {
- logs.Error(fmt.Sprintf("json opentime:%s err:%v", tm, err))
- }
- }
- }
- //CompareTime 活动时间判断
- func (opentm *OpenTimes) CompareTime() (bool, string) {
- if time.Now().Unix() < tools.TimeParseUnix(opentm.Start, "2006-01-02 15:04:05") || (opentm.Start == "" && opentm.End == "") {
- return false, "活动尚未开启!"
- }
- if time.Now().Unix() > tools.TimeParseUnix(opentm.End, "2006-01-02 15:04:05") {
- return false, "活动已经结束!"
- }
- return true, ""
- }
- //CompareRegTime 注册时间判断
- func (opentm *OpenTimes) CompareRegTime(unix int64) bool {
- if unix < tools.TimeParseUnix(opentm.Start, "2006-01-02 15:04:05") || (opentm.Start == "" && opentm.End == "") {
- return false
- }
- return true
- }
- //CheckTimeOut 显示时间
- func CheckTimeOut(begin, end string) (bool, string) {
- if time.Now().Unix() < tools.TimeParseUnix(begin, "2006-01-02 15:04:05") {
- return false, "当前活动领取时间尚未开启,敬请期待!"
- }
- if time.Now().Unix() > tools.TimeParseUnix(end, "2006-01-02 15:04:05") {
- return false, "当前活动领取时间已结束,谢谢参与!"
- }
- return true, ""
- }
- //GetOpenTime 获取活动时间
- func (adtm *AdsOpenTimes) GetOpenTime(tm string) {
- if tm != "" {
- err := json.Unmarshal([]byte(tm), &adtm)
- if err != nil {
- logs.Error(fmt.Sprintf("json opentime:%s err:%v", tm, err))
- }
- }
- }
- //CompareTime 活动时间判断
- func (adtm *AdsOpenTimes) CompareTime() (bool, string) {
- if time.Now().Unix() < tools.TimeParseUnix(adtm.Start, "2006-01-02 15:04:05") || (adtm.Start == "" && adtm.End == "") {
- return false, "活动尚未开启!"
- }
- if time.Now().Unix() > tools.TimeParseUnix(adtm.End, "2006-01-02 15:04:05") {
- return false, "活动已经结束!"
- }
- return true, ""
- }
|