|
@@ -48,6 +48,7 @@ func (this *ActivitySpecialTripCoAntroller) AddUser() {
|
|
|
}
|
|
|
var items []*cygx.CygxActivitySpecialTrip
|
|
|
var itemsBill []*cygx.CygxActivitySpecialTripBill
|
|
|
+ var itemsMeet []*cygx.CygxActivitySpecialMeetingDetail
|
|
|
activityIds := req.ActivityIds
|
|
|
uidList := req.List
|
|
|
if activityIds == "" {
|
|
@@ -119,14 +120,13 @@ func (this *ActivitySpecialTripCoAntroller) AddUser() {
|
|
|
br.ErrMsg = "获取失败,Err:" + errtotal.Error()
|
|
|
return
|
|
|
}
|
|
|
+ infoUser, err := cygx.GetUserAndCompanyNameList(uid)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
if total == 0 {
|
|
|
- infoUser, err := cygx.GetUserAndCompanyNameList(uid)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "获取失败"
|
|
|
- br.ErrMsg = "获取数据失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
//流水记录表
|
|
|
itemBill := new(cygx.CygxActivitySpecialTripBill)
|
|
|
itemBill.UserId = infoUser.UserId
|
|
@@ -176,9 +176,20 @@ func (this *ActivitySpecialTripCoAntroller) AddUser() {
|
|
|
items = append(items, item)
|
|
|
itemsBill = append(itemsBill, itemBill)
|
|
|
}
|
|
|
+
|
|
|
+ var itemMeeting = new(cygx.CygxActivitySpecialMeetingDetail)
|
|
|
+ itemMeeting.UserId = v.UserId
|
|
|
+ itemMeeting.ActivityId = activityId
|
|
|
+ itemMeeting.CreateTime = time.Now()
|
|
|
+ itemMeeting.Mobile = infoUser.Mobile
|
|
|
+ itemMeeting.Email = infoUser.Email
|
|
|
+ itemMeeting.CompanyId = infoUser.CompanyId
|
|
|
+ itemMeeting.CompanyName = infoUser.CompanyName
|
|
|
+ itemMeeting.RealName = infoUser.RealName
|
|
|
+ itemsMeet = append(itemsMeet, itemMeeting)
|
|
|
}
|
|
|
}
|
|
|
- err = cygx.AddCygxActivitySpecialTrip(items, itemsBill)
|
|
|
+ err = cygx.AddCygxActivitySpecialTrip(items, itemsBill, itemsMeet)
|
|
|
if err != nil {
|
|
|
br.Msg = "操作失败"
|
|
|
br.ErrMsg = "新增用户失败,Err:" + err.Error()
|
|
@@ -607,6 +618,7 @@ func (this *ActivitySpecialTripCoAntroller) MeetingDo() {
|
|
|
return
|
|
|
}
|
|
|
var userIdArr []int
|
|
|
+ var newMeetingUserid = make(map[int]bool) //新提交的到会的额用户ID
|
|
|
meetingUids := req.UserIds
|
|
|
if len(meetingUids) == 0 {
|
|
|
meetingUids = "0"
|
|
@@ -620,6 +632,7 @@ func (this *ActivitySpecialTripCoAntroller) MeetingDo() {
|
|
|
userId, _ := strconv.Atoi(v)
|
|
|
if userId > 0 {
|
|
|
userIdArr = append(userIdArr, userId)
|
|
|
+ newMeetingUserid[userId] = true
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -667,7 +680,66 @@ func (this *ActivitySpecialTripCoAntroller) MeetingDo() {
|
|
|
br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+ var condition string
|
|
|
+ var pars []interface{}
|
|
|
+ condition += " AND is_meeting = 1 AND activity_id = ? "
|
|
|
+ pars = append(pars, activityId)
|
|
|
+ listOldMeetingDetail, err := cygx.GetCygxActivitySpecialMeetingDetailList(condition, pars)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "GetCygxActivitySpecialMeetingDetailList,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //获取之前已经到会的人
|
|
|
+ //var oldMeetingUserid = make(map[int]bool)
|
|
|
+
|
|
|
+ pars = make([]interface{}, 0)
|
|
|
+ condition = " AND activity_id = ? "
|
|
|
+ pars = append(pars, activityId)
|
|
|
+ listTripBill, err := cygx.GetCygxActivitySpecialTripBill(condition, pars)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "GetCygxActivitySpecialTripBill,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //获取用户最后一次的扣点状态
|
|
|
+ mapUserLastTripBill := make(map[int]*cygx.CygxActivitySpecialTripBill)
|
|
|
+ for _, v := range listTripBill {
|
|
|
+ mapUserLastTripBill[v.UserId] = v
|
|
|
+ }
|
|
|
+
|
|
|
var items []*cygx.CygxActivitySpecialMeetingDetail
|
|
|
+ var itemsBill []*cygx.CygxActivitySpecialTripBill
|
|
|
+ if len(listOldMeetingDetail) > 0 {
|
|
|
+ for _, v := range listOldMeetingDetail {
|
|
|
+ if mapUserLastTripBill[v.UserId] == nil {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ //如果上一次空降的用户,这一次提交的时候没有带入,而且还被扣点了,那么就进行返点处理
|
|
|
+ if !newMeetingUserid[v.UserId] && v.IsAirborne == 1 && mapUserLastTripBill[v.UserId].BillDetailed < 0 {
|
|
|
+ var itemBill = new(cygx.CygxActivitySpecialTripBill)
|
|
|
+ //流水记录表
|
|
|
+ itemBill.UserId = v.UserId
|
|
|
+ itemBill.ActivityId = activityInfo.ActivityId
|
|
|
+ itemBill.CreateTime = time.Now()
|
|
|
+ itemBill.Mobile = v.Mobile
|
|
|
+ itemBill.Email = v.Email
|
|
|
+ itemBill.CompanyId = v.CompanyId
|
|
|
+ itemBill.CompanyName = v.CompanyName
|
|
|
+ itemBill.RealName = v.RealName
|
|
|
+ itemBill.Source = 2
|
|
|
+ itemBill.DoType = 2
|
|
|
+ itemBill.BillDetailed = 1 // 流水加一
|
|
|
+ itemBill.RegisterPlatform = 1
|
|
|
+ itemBill.ChartPermissionId = activityInfo.ChartPermissionId
|
|
|
+ itemBill.AdminId = AdminUser.AdminId
|
|
|
+ itemBill.Way = 2
|
|
|
+ itemsBill = append(itemsBill, itemBill)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
for _, v := range listUser {
|
|
|
var item = new(cygx.CygxActivitySpecialMeetingDetail)
|
|
|
item.UserId = v.UserId
|
|
@@ -678,13 +750,35 @@ func (this *ActivitySpecialTripCoAntroller) MeetingDo() {
|
|
|
item.CompanyId = v.CompanyId
|
|
|
item.CompanyName = v.CompanyName
|
|
|
item.IsMeeting = 1
|
|
|
+ item.RealName = v.RealName
|
|
|
//添加空降人员字段
|
|
|
if _, ok := UserMap[v.UserId]; !ok {
|
|
|
item.IsAirborne = 1
|
|
|
}
|
|
|
+ var itemBill = new(cygx.CygxActivitySpecialTripBill)
|
|
|
+ //如果是空降客户,(没有扣点记录,或者上一次的流水不为负) 就进行扣点处理
|
|
|
+ if item.IsAirborne == 1 && (mapUserLastTripBill[v.UserId] == nil || mapUserLastTripBill[v.UserId].BillDetailed >= 0) {
|
|
|
+ //流水记录表
|
|
|
+ itemBill.UserId = v.UserId
|
|
|
+ itemBill.ActivityId = activityInfo.ActivityId
|
|
|
+ itemBill.CreateTime = time.Now()
|
|
|
+ itemBill.Mobile = v.Mobile
|
|
|
+ itemBill.Email = v.Email
|
|
|
+ itemBill.CompanyId = v.CompanyId
|
|
|
+ itemBill.CompanyName = v.CompanyName
|
|
|
+ itemBill.RealName = v.RealName
|
|
|
+ itemBill.Source = 2
|
|
|
+ itemBill.DoType = 1
|
|
|
+ itemBill.BillDetailed = -1 // 流水减一
|
|
|
+ itemBill.RegisterPlatform = 1
|
|
|
+ itemBill.ChartPermissionId = activityInfo.ChartPermissionId
|
|
|
+ itemBill.AdminId = AdminUser.AdminId
|
|
|
+ itemBill.Way = 2
|
|
|
+ itemsBill = append(itemsBill, itemBill)
|
|
|
+ }
|
|
|
items = append(items, item)
|
|
|
}
|
|
|
- err = cygx.MeetingDopecialMeet(meetingUids, noMeetingUids, activityId, items)
|
|
|
+ err = cygx.MeetingDopecialMeet(meetingUids, noMeetingUids, activityId, items, itemsBill)
|
|
|
if err != nil {
|
|
|
br.Msg = "操作失败"
|
|
|
br.ErrMsg = "操作失败,Err:" + err.Error()
|