123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- package services
- import (
- "errors"
- "fmt"
- "hongze/hongze_mfyx/models"
- "hongze/hongze_mfyx/utils"
- "strconv"
- "time"
- )
- // 判断用户是否属于销售,并且获取对应加密的分享码
- func GetInviteShareCode(mobile string) (inviteShareCode string) {
- if mobile == "" {
- return
- }
- var err error
- defer func() {
- if err != nil {
- fmt.Println(err)
- go utils.SendAlarmMsg(fmt.Sprint("判断用户是否属于销售,并且获取对应加密的分享码失败 GetInviteShareCode, err:", err.Error()), 2)
- }
- }()
- adminDetail, e := models.GetSysAdminByMobile(mobile)
- if e != nil {
- err = errors.New("GetSysAdminByMobile, Err: " + e.Error())
- return
- }
- if adminDetail == nil {
- return
- }
- inviteShareCode = utils.MD5(strconv.Itoa(adminDetail.AdminId)) //MD5 对ID进行加密
- total, e := models.GetCygxUserAdminShareCodeByShareCodeCount(inviteShareCode)
- if e != nil {
- err = errors.New("GetCygxUserAdminShareCodeByShareCodeCount, Err: " + e.Error())
- return
- }
- //如果不存在就新增一个
- if total == 0 {
- item := new(models.CygxUserAdminShareCode)
- item.SellerName = adminDetail.RealName
- item.SellerId = adminDetail.AdminId
- item.Mobile = adminDetail.Mobile
- item.CreateTime = time.Now()
- item.ModifyTime = time.Now()
- item.ShareCode = inviteShareCode
- e = models.AddCygxUserAdminShareCode(item)
- if e != nil {
- err = errors.New("AddCygxUserAdminShareCode, Err: " + e.Error())
- return
- }
- }
- return
- }
- // 记录分享来源
- func AddCygxUserAdminShareHistory(user *models.WxUserItem, source, sourceTitle, inviteShareCode string, sourceId int) {
- if inviteShareCode == "" {
- return
- }
- //3秒之内多次请求,不重复记录
- key := "CYGX_" + source + "_" + strconv.Itoa(sourceId) + "_" + strconv.Itoa(user.UserId)
- if utils.Rc.IsExist(key) {
- return
- }
- utils.Rc.Put(key, 1, 3*time.Second)
- var err error
- defer func() {
- if err != nil {
- fmt.Println(err)
- go utils.SendAlarmMsg(fmt.Sprint("记录分享来源失败 AddCygxUserAdminShareHistory, err:", err.Error()), 2)
- }
- }()
- adminDetail, e := models.GetUserAdminShareCodeByShareCode(inviteShareCode)
- if e != nil {
- err = errors.New("GetSysAdminByMobile, Err: " + e.Error())
- return
- }
- if adminDetail == nil {
- return
- }
- item := new(models.CygxUserAdminShareHistory)
- switch source {
- case utils.CYGX_OBJ_ACTIVITY:
- item.Action = "查看活动"
- case utils.CYGX_OBJ_ARTICLE:
- item.Action = "查看报告"
- case "login":
- item.Action = "注册"
- }
- item.UserId = user.UserId
- item.Mobile = user.Mobile
- item.Email = user.Email
- item.CompanyId = user.CompanyId
- item.CompanyName = user.CompanyName
- item.RealName = user.RealName
- item.SellerName, item.SellerId = GetSellerName(user) // 销售姓名
- item.Source = source
- item.SourceId = sourceId
- item.SourceTitle = sourceTitle
- item.ShareId = adminDetail.SellerId
- item.ShareName = adminDetail.SellerName
- item.RegisterPlatform = utils.REGISTER_PLATFORM
- item.CreateTime = time.Now()
- item.ModifyTime = time.Now()
- e = models.AddCygxUserAdminShareHistory(item)
- if e != nil {
- err = errors.New("AddCygxUserAdminShareHistory, Err: " + e.Error())
- return
- }
- return
- }
|