ajax_set_circle_event_new.php 5.79 KB
<?php

// 圈主发布志愿者活动
require_once ("../user_include.inc");

ErrorLogger::doOutput("Compass...ajax_set_circle_event_new.php....Start.", 0);

//获取参数
$unionId = ParamUtil::getRequestString("unionId");
$circleId = ParamUtil::getRequestNumber("circleId", 0);//圈子id
$title = ParamUtil::getRequestString("title");//活动标题
$comment = ParamUtil::getRequestString("comment");//活动内容描述
$startTime = ParamUtil::getRequestString("startTime");//活动开始时间
$finishTime = ParamUtil::getRequestString("finishTime");//活动结束时间
$enrollTime = ParamUtil::getRequestString("enrollTime");//截止报名时间
$position = ParamUtil::getRequestString("position");//活动地点
$includeSocialUser = ParamUtil::getRequestBoolean("includeSocialUser");//是否允许社会人士参加
$maxMember = ParamUtil::getRequestNumber("maxMember");//最大参加人数
$timeLength = ParamUtil::getRequestString("timeLength");//活动时长
$leaderName = ParamUtil::getRequestString("leaderName");//负责人姓名
$leaderContact = ParamUtil::getRequestString("leaderContact");//负责人联系方式
$venue = ParamUtil::getRequestString("venue");//集合地点
$venueTime = ParamUtil::getRequestString("venueTime");//集合时间

$result = array();

//判断用户是否存在
$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];

//判断圈子是否存在
$circleDat = CircleDat::getById($circleId);
if(empty($circleDat)) {
	$result["message"] = "圈子不存在!";
	responseNG($result);
}

//判断是否为圈主
if($circleDat->owner_id != $userMst->id) {
	$result["message"] = "圈主才有权限发布活动!";
	responseNG($result);
}

if(!empty($title) && !empty($comment)) {
	//是否有正在审核的活动
	$param = array();
	$param['circle_id'] = $circleDat->id;
	$param['status'] = "NEW";
	$param['delete_flg'] = false;
	$volunteerEventList = VolunteerEventDat::getList($param, "id", "desc", 0, 1);
	if(!empty($volunteerEventList)) {
		$result["message"] = "已经有一条活动待审核!";
		responseNG($result);
	}
	//判断输入的活动地点是否合法
	$addressUrl = 'https://apis.map.qq.com/ws/geocoder/v1/?address=' . $position . '&key=' . LBS_KEY;
	$lbsObj =  file_get_contents($addressUrl);
	$jsonObj = json_decode($lbsObj); //对JSON格式的字符串进行编码
	$lbsArray = get_object_vars($jsonObj);//转换成数组
	if($lbsArray['status'] != 0) {
		$result["message"] = "请输入完整的活动地点!";
		responseNG($result);
	}
	$resultObj = $lbsArray['result'];

	$positionLongitude = $resultObj->location->lng;//活动地点经度
	$positionLatitude = $resultObj->location->lat;//活动地点纬度
	$province = $resultObj->address_components->province;
	$city = $resultObj->address_components->city;
	$district = $resultObj->address_components->district;

	//登陆活动数据
	//自动计算活动时长
	ErrorLogger::doOutput("Compass...ajax_set_circle_event_new.php....startTime=" . $startTime, 0);
	ErrorLogger::doOutput("Compass...ajax_set_circle_event_new.php....finishTime=" . $finishTime, 0);
	$minutes=floor((strtotime($finishTime)-strtotime($startTime))%86400/60);
	$timeLength = ceil($minutes/60) . "小时" . $minutes%60 . "分钟";
	ErrorLogger::doOutput("Compass...ajax_set_circle_event_new.php....minutes=" . $minutes, 0);
	
	$volunteerEventDat = new VolunteerEventDat();
	$volunteerEventDat->title = $title;
	$volunteerEventDat->comment = $comment;
	$volunteerEventDat->start_time = $startTime;
	$volunteerEventDat->finish_time = $finishTime;
	$volunteerEventDat->enroll_time = $enrollTime;
	$volunteerEventDat->position = $position;
	$volunteerEventDat->position_longitude = $positionLongitude;
	$volunteerEventDat->position_latitude = $positionLatitude;
	$volunteerEventDat->position_latitude = $positionLatitude;
	$volunteerEventDat->circle_id = $circleDat->id;
	$volunteerEventDat->province = $province;
	$volunteerEventDat->city = $city;
	$volunteerEventDat->district = $district;
	$volunteerEventDat->include_social_user = $includeSocialUser;
	$volunteerEventDat->max_member = $maxMember;
	$volunteerEventDat->time_length = $timeLength;
	$volunteerEventDat->leader_name = $leaderName;
	$volunteerEventDat->leader_contact = $leaderContact;
	$volunteerEventDat->venue = $venue;
	$volunteerEventDat->venue_time = $venueTime;
	$volunteerEventDat->status = 'NEW';
	$volunteerEventDat->author = $userMst->name;
	$volunteerEventDat->save();
}


//处理上传图片
$aliHandler = new AliUploadHandler();
if(!empty($_FILES['frontImage']['tmp_name'])){
	$upload_file = FileUploadUtil::getScalarFile(@$_FILES['frontImage']);
	$tmp_file_name = date("Ymd") . "_" . trim(basename($upload_file->name));//保存的名字自定义,这里如果图片的名字原来的是aa.jp,保存成20200220_aa.jpg

	$url = $aliHandler->uploadImg($tmp_file_name, $upload_file->tmp_name);
	ErrorLogger::doOutput($url);
	//获取最后一条
	$param = array();
	$param['circle_id'] = $circleDat->id;
	$param['status'] = "NEW";
	$param['delete_flg'] = false;
	$volunteerEventList = VolunteerEventDat::getList($param, "id", "desc", 0, 1);
	$volunteerEventDat = $volunteerEventList[0];
	//这里的url就是http://compass-dev.oss-cn-beijing.aliyuncs.com/20200220_aa.jpg
	$volunteerEventDat->front_image = $url;
	$volunteerEventDat->save();
}

ErrorLogger::doOutput("Compass...ajax_set_circle_event_new.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;
}
?>