1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
<?php
// 获取志愿者活动报名【圈子】
require_once ("../user_include.inc");
ErrorLogger::doOutput("Compass...ajax_attend_volunteer_event_circle.php....Start.", 0);
//获取参数
$unionId = ParamUtil::getRequestString("unionId");
$eventId = ParamUtil::getRequestNumber("eventId", 0);
$circleIds = ParamUtil::getRequestString("circleIds");
$result = array();
//参数检查
if(empty($unionId) || empty($eventId)|| empty($circleIds)) {
$result["message"] = "参数错误!";
responseNG($result);
}
//判断用户是否存在
$param = array();
$param['unionid'] = $unionId;
$param['delete_flg'] = false;
$userList = UserMst::getList($param,'id','desc', 0, 1);
if(empty($userList)) {
$result["message"] = "用户不存在!";
responseNG($result);
}
$userMst = $userList[0];
//查询志愿者活动
$volunteerDat = VolunteerEventDat::getById($eventId);
if(empty($volunteerDat)) {
$result["message"] = "参数错误!";
responseNG($result);
}
//是否已经报名
$param = array();
$param['volunteer_event_id'] = $eventId;
$param['user_id'] = $userMst->id;
$param['delete_flg'] = false;
$tmpList = VolunteerEventMemberDat::getList($param, "id", "desc", 0, 1);
if(!empty($tmpList)) {
$result["message"] = "不能重复报名!";
responseNG($result);
}
//分解获取圈子id参数
$tmpArray = explode("|",$circleIds);
$circleIdArray = array_filter($tmpArray);
if(empty($circleIdArray)) {
$result["message"] = "参数错误!";
responseNG($result);
}
//循环处理圈子报名
foreach($circleIdArray as $circleId) {
$circleDat = CircleDat::getById($circleId);
if(empty($circleDat)) {
continue;
}
//报名顺序
$param = array();
$param['volunteer_event_id'] = $eventId;
$param['delete_flg'] = false;
$tmpCount = VolunteerEventMemberDat::getListCount($param);
$indexNo = sprintf("%05d", $tmpCount+1);
//报名表插入数据
$volunteerEventMemberDat = new VolunteerEventMemberDat();
$volunteerEventMemberDat->volunteer_event_id = $eventId;
$volunteerEventMemberDat->user_id = $userMst->id;
$volunteerEventMemberDat->circle_id = $circleId;
$volunteerEventMemberDat->is_owner = true;
$volunteerEventMemberDat->index_no = $indexNo;
$volunteerEventMemberDat->mobile = $userMst->mobile;
$volunteerEventMemberDat->save();
//查找圈子成员,给圈子成员发送邀请消息
$param = array();
$param['circle_id'] = $circleId;
$param['user_id_NOT'] = $userMst->id;//不包含自己
$param['delete_flg'] = false;
$tmpCircleMemberList = CircleMemberDat::getList($param);
if(!empty($tmpCircleMemberList)) {
foreach($tmpCircleMemberList as $tmpCircleMember) {
$userMessageDat = new UserMessageDat();
$userMessageDat->user_id = $tmpCircleMember->user_id;
$userMessageDat->title = "活动参加邀请通知";
$userMessageDat->comment = "嘀嘀嘀!圈主邀请您参加活动,快点击参加报名吧!";
//添加附件附件
$userMessageDat->attach_dat_type = "VOLUNTEER";
$userMessageDat->attach_dat_id = $circleDat->id;
$userMessageDat->attach_dat_path = "/pages/volunteersEventDetail/volunteersEventDetail?eventId={$eventId}&circleId={$circleId}";
$userMessageDat->save();
}
}
}
ErrorLogger::doOutput("Compass...ajax_attend_volunteer_event_circle.php....End.", 0);
//返回结果
$result["message"] = "报名成功!";
responseOK($result);
function responseNG($result) {
$result = array("status"=>"NG", "result"=>$result);
print json_encode($result);
exit;
}
function responseOK($result) {
$result = array("status"=>"OK", "result"=>$result);
print json_encode($result);
exit;
}
?>