|
@@ -6,6 +6,7 @@ import (
|
|
|
"hongze/hongze_cygx/services"
|
|
|
"hongze/hongze_cygx/utils"
|
|
|
"strconv"
|
|
|
+ "strings"
|
|
|
"time"
|
|
|
)
|
|
|
|
|
@@ -70,6 +71,15 @@ func (this *ActivitySignCoAntroller) Detail() {
|
|
|
br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+ //判断是否已经申请过
|
|
|
+ applyCount, err := models.GetApplyRecordCount(uid)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "判断是否已申请过试用失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
item := new(models.CygxActivitySignin)
|
|
|
item.ActivityId = activityId
|
|
|
item.UserId = user.UserId
|
|
@@ -82,7 +92,7 @@ func (this *ActivitySignCoAntroller) Detail() {
|
|
|
item.CountryCode = user.CountryCode
|
|
|
item.OpenId = user.OpenId
|
|
|
item.CreateTime = time.Now()
|
|
|
- if total == 0 && user.Mobile != "" {
|
|
|
+ if total == 0 && (user.Mobile != "" || user.Email != "") && (applyCount > 0 || user.CompanyId > 1) {
|
|
|
err = models.AddCygxActivitySignin(item)
|
|
|
if err != nil {
|
|
|
br.Msg = "签到失败"
|
|
@@ -126,17 +136,36 @@ func (this *ActivitySignCoAntroller) Detail() {
|
|
|
|
|
|
//后期扫码签到,处理是否爽约限制
|
|
|
services.CygxActivityRestrictSignupByuid(user.UserId, activityId)
|
|
|
- }
|
|
|
|
|
|
- if user.Mobile != "" || total > 0 {
|
|
|
+ //线下调研活动扫码签到给对应销售发模版消息
|
|
|
+ services.SendActivitieSignTemplateMsg(user, activityInfo)
|
|
|
+ }
|
|
|
+ //1,没有签到记录不为潜在客户
|
|
|
+ //2,没有签到记录,手机号不为空,没有申请记录
|
|
|
+ //3,已经有签到记录的
|
|
|
+ if total == 0 && user.CompanyId > 1 || ((user.Mobile != "" || user.Email != "") && applyCount > 0) || total > 0 {
|
|
|
resp.IsBindingMobile = true
|
|
|
}
|
|
|
if user.CompanyId == 1 {
|
|
|
detail.IsNewUser = true
|
|
|
}
|
|
|
+
|
|
|
+ //潜在客户提交过申请的显示提交时候的公司
|
|
|
+ if applyCount > 0 && (user.Mobile != "" || user.Email != "") && user.CompanyId == 1 {
|
|
|
+ detail, err := models.GetCygxApplyRecordByMobile(user.Mobile)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "签到失败"
|
|
|
+ br.ErrMsg = "GetCygxApplyRecordByMobile,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ user.CompanyName = detail.CompanyName
|
|
|
+ }
|
|
|
detail.ActivityId = activityId
|
|
|
detail.ActivityName = activityInfo.ActivityName
|
|
|
detail.Mobile = user.Mobile
|
|
|
+ if user.Mobile == "" {
|
|
|
+ detail.Mobile = user.Email
|
|
|
+ }
|
|
|
detail.RealName = user.RealName
|
|
|
detail.CompanyName = user.CompanyName
|
|
|
|
|
@@ -154,6 +183,9 @@ func (this *ActivitySignCoAntroller) Detail() {
|
|
|
if signinDetail != nil {
|
|
|
detail.BusinessCard = signinDetail.BusinessCard
|
|
|
detail.Mobile = signinDetail.Mobile
|
|
|
+ if signinDetail.Mobile == "" {
|
|
|
+ detail.Mobile = signinDetail.Email
|
|
|
+ }
|
|
|
detail.RealName = signinDetail.RealName
|
|
|
detail.CompanyName = signinDetail.CompanyName
|
|
|
detail.IsNewUser = true
|
|
@@ -236,44 +268,61 @@ func (this *ActivitySignCoAntroller) ByHand() {
|
|
|
br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
- if signinType == 1 {
|
|
|
- if req.Mobile == "" {
|
|
|
- br.Msg = "参数错误"
|
|
|
- br.ErrMsg = "参数错误,手机号为空 为空"
|
|
|
- return
|
|
|
- }
|
|
|
- itemMsgCode, err := models.GetMsgCode(req.Mobile, req.VCode)
|
|
|
- if err != nil {
|
|
|
- if err.Error() == utils.ErrNoRow() {
|
|
|
- br.Msg = "验证码错误,请重新输入"
|
|
|
- br.ErrMsg = "校验验证码失败,Err:" + err.Error()
|
|
|
+ if user.Mobile == "" && user.Email == "" {
|
|
|
+ if signinType == 1 {
|
|
|
+ if req.Mobile == "" {
|
|
|
+ br.Msg = "参数错误"
|
|
|
+ br.ErrMsg = "参数错误,手机号为空 为空"
|
|
|
return
|
|
|
- } else {
|
|
|
+ }
|
|
|
+ itemMsgCode, err := models.GetMsgCode(req.Mobile, req.VCode)
|
|
|
+ if err != nil {
|
|
|
+ if err.Error() == utils.ErrNoRow() {
|
|
|
+ br.Msg = "验证码错误,请重新输入"
|
|
|
+ br.ErrMsg = "校验验证码失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ } else {
|
|
|
+ br.Msg = "验证码错误,请重新输入"
|
|
|
+ br.ErrMsg = "校验验证码失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if itemMsgCode == nil {
|
|
|
br.Msg = "验证码错误,请重新输入"
|
|
|
- br.ErrMsg = "校验验证码失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
- }
|
|
|
- if itemMsgCode == nil {
|
|
|
- br.Msg = "验证码错误,请重新输入"
|
|
|
- return
|
|
|
- }
|
|
|
- userMobile, err := models.GetWxUserItemByMobile(Mobile)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
- br.Msg = "签到失败"
|
|
|
- br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- if userMobile != nil {
|
|
|
- user = userMobile
|
|
|
+ userMobile, err := models.GetWxUserItemByMobile(Mobile)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "签到失败"
|
|
|
+ br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if userMobile != nil {
|
|
|
+ user = userMobile
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if BusinessCard == "" {
|
|
|
+ br.Msg = "签到失败"
|
|
|
+ br.ErrMsg = "签到失败名片地址为空,Err:"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ item.BusinessCard = BusinessCard
|
|
|
}
|
|
|
} else {
|
|
|
- if BusinessCard == "" {
|
|
|
- br.Msg = "签到失败"
|
|
|
- br.ErrMsg = "签到失败名片地址为空,Err:"
|
|
|
- return
|
|
|
+ if signinType == 1 {
|
|
|
+ if CompanyName == "" {
|
|
|
+ br.Msg = "请输入公司名称"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if RealName == "" {
|
|
|
+ br.Msg = "请输入姓名"
|
|
|
+ return
|
|
|
+ }
|
|
|
}
|
|
|
- item.BusinessCard = BusinessCard
|
|
|
+ }
|
|
|
+ //如果是用邮箱登录的,就把手机号置空
|
|
|
+ if strings.Contains(Mobile, "@") {
|
|
|
+ Mobile = ""
|
|
|
}
|
|
|
item.ActivityId = activityId
|
|
|
item.UserId = user.UserId
|
|
@@ -336,3 +385,87 @@ func (this *ActivitySignCoAntroller) ByHand() {
|
|
|
br.Msg = "获取成功"
|
|
|
br.Data = resp
|
|
|
}
|
|
|
+
|
|
|
+// @Title 活动签到到会详情
|
|
|
+// @Description 活动签到到会详情接口
|
|
|
+// @Param ActivityId query int true "活动ID"
|
|
|
+// @Success Ret=200 {object} models.CygxActivityResp
|
|
|
+// @router /signup/detail [get]
|
|
|
+func (this *ActivitySignCoAntroller) SignupDetail() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ user := this.User
|
|
|
+ if user == nil {
|
|
|
+ br.Msg = "请登录"
|
|
|
+ br.ErrMsg = "请登录,用户信息为空"
|
|
|
+ br.Ret = 408
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ activityId, _ := this.GetInt("ActivityId")
|
|
|
+ if activityId < 1 {
|
|
|
+ br.Msg = "请输入活动ID"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ resp := new(models.CygxActivityOfflineMeetingDetailResp)
|
|
|
+ activityInfo, err := models.GetAddActivityInfoById(activityId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "获取活动详情信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if !services.GetBelongingRai(user.Mobile) {
|
|
|
+ br.Msg = "你暂无查看权限"
|
|
|
+ br.ErrMsg = "你暂无查看权限,UserId:" + strconv.Itoa(user.UserId)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var condition string
|
|
|
+ var pars []interface{}
|
|
|
+ condition = ` AND do_fail_type = 0 AND activity_id = ?`
|
|
|
+ pars = append(pars, activityId)
|
|
|
+
|
|
|
+ listSignup, err := models.GetActivitySignupList(condition, pars)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "GetOfflineMeetingListWithUser,UserId:" + strconv.Itoa(user.UserId)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //获取对应销售所能查看的用户手机号
|
|
|
+ UserMobileMap, err := services.GetAdminCheckUserMobileMap(user)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "GetAdminCheckUserMobileMap,UserId:" + strconv.Itoa(user.UserId)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //获取用户的签到时间
|
|
|
+ SigninTimeMap, err := services.GetUserActivitySigninTimeMap(activityId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "GetUserActivitySigninTimeMap,activityId:" + strconv.Itoa(activityId)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range listSignup {
|
|
|
+ if _, ok := UserMobileMap[v.Mobile]; ok {
|
|
|
+ item := new(models.CygxActivitySignupResp)
|
|
|
+ item.RealName = v.RealName
|
|
|
+ item.CompanyName = v.CompanyName
|
|
|
+ if _, ok := SigninTimeMap[v.UserId]; ok {
|
|
|
+ item.IsMeeting = 1
|
|
|
+ item.SigninTime = SigninTimeMap[v.UserId]
|
|
|
+ }
|
|
|
+ resp.List = append(resp.List, item)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if len(resp.List) == 0 {
|
|
|
+ resp.List = make([]*models.CygxActivitySignupResp, 0)
|
|
|
+ }
|
|
|
+ resp.ActivityId = activityId
|
|
|
+ resp.ActivityName = activityInfo.ActivityName
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = resp
|
|
|
+}
|