Browse Source

no message

xingzai 1 year ago
parent
commit
23e6d83ace
3 changed files with 71 additions and 37 deletions
  1. 31 37
      controllers/activity_sign.go
  2. 13 0
      models/activity_signin.go
  3. 27 0
      services/activity_signin.go

+ 31 - 37
controllers/activity_sign.go

@@ -91,7 +91,7 @@ func (this *ActivitySignCoAntroller) Detail() {
 	item.CountryCode = user.CountryCode
 	item.OpenId = user.OpenId
 	item.CreateTime = time.Now()
-	if total == 0 && user.CompanyId > 1 || (user.Mobile != "" && applyCount > 0) {
+	if total == 0 && user.Mobile != "" || (applyCount > 0 && user.CompanyId > 1) {
 		err = models.AddCygxActivitySignin(item)
 		if err != nil {
 			br.Msg = "签到失败"
@@ -148,6 +148,17 @@ func (this *ActivitySignCoAntroller) Detail() {
 	if user.CompanyId == 1 {
 		detail.IsNewUser = true
 	}
+
+	//潜在客户提交过申请的显示提交时候的公司
+	if applyCount > 0 && user.Mobile != "" && 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
@@ -402,63 +413,46 @@ func (this *ActivitySignCoAntroller) SignupDetail() {
 	}
 	var condition string
 	var pars []interface{}
-	condition = `  AND activity_id = ? `
+	condition = ` AND do_fail_type = 0 AND activity_id  = ?`
 	pars = append(pars, activityId)
 
-	listOfflineMeeting, err := models.GetOfflineMeetingListWithUser(condition, pars)
+	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
 	}
-	//如果签到表没有记录就去报名表去找
-	if len(listOfflineMeeting) == 0 {
-		pars = make([]interface{}, 0)
-		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 = "GetActivitySignupList,UserId:" + strconv.Itoa(user.UserId)
-			return
-		}
-		if len(listSignup) > 0 {
-			for _, v := range listSignup {
-				if _, ok := UserMobileMap[v.Mobile]; ok {
-					item := new(models.CygxActivitySignupResp)
-					item.RealName = v.RealName
-					item.CompanyName = v.CompanyName
-					resp.List = append(resp.List, item)
-				}
-			}
-		}
-	} else {
-		for _, v := range listOfflineMeeting {
-			if _, ok := UserMobileMap[v.Mobile]; ok {
-				item := new(models.CygxActivitySignupResp)
-				item.RealName = v.RealName
-				item.CompanyName = v.CompanyName
-				item.IsMeeting = v.IsMeeting
-				if v.IsMeeting == 1 {
-					item.SigninTime = v.SigninTime
-				}
-				resp.List = append(resp.List, item)
+	//获取用户的签到时间
+	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 = "获取成功"

+ 13 - 0
models/activity_signin.go

@@ -64,6 +64,19 @@ func GetCygxActivitySigninCount(condition string, pars []interface{}) (count int
 	return
 }
 
+// GetCygxActivitySigninList 获取签到列表信息
+func GetCygxActivitySigninList(condition string, pars []interface{}) (items []*CygxActivitySignin, err error) {
+	sql := `SELECT
+			*
+		FROM
+			cygx_activity_signin AS art
+		WHERE
+			1 = 1 	` + condition
+	o := orm.NewOrm()
+	_, err = o.Raw(sql, pars).QueryRows(&items)
+	return
+}
+
 func GetCygxActivitySigninDetail(condition string, pars []interface{}) (item *CygxActivitySignin, err error) {
 	sql := `SELECT *  FROM cygx_activity_signin as art WHERE 1= 1 `
 	if condition != "" {

+ 27 - 0
services/activity_signin.go

@@ -179,3 +179,30 @@ func CygxActivityRestrictSignupByuid(uid, activityId int) (err error) {
 	}
 	return
 }
+
+// GetUserActivitySigninTimeMap  获取用户的签到时间
+func GetUserActivitySigninTimeMap(activityId int) (mapItem map[int]string, err error) {
+	defer func() {
+		if err != nil {
+			fmt.Println(err)
+			go utils.SendAlarmMsg("扫码签到日志记录,失败,活动ID:"+strconv.Itoa(activityId)+err.Error(), 2)
+		}
+	}()
+	var condition string
+	var pars []interface{}
+	condition = "  AND activity_id = ?  "
+	pars = append(pars, activityId)
+	userList, e := models.GetCygxActivitySigninList(condition, pars)
+	if e != nil && e.Error() != utils.ErrNoRow() {
+		err = errors.New("GetCygxActivitySigninList" + e.Error())
+		return
+	}
+	mapItem = make(map[int]string, 0)
+	for _, v := range userList {
+		if v.UserId == 0 {
+			continue
+		}
+		mapItem[v.UserId] = v.CreateTime.Format(utils.FormatDateTime)
+	}
+	return
+}