<?php

// 圈子创建第一步
require_once ("../user_include.inc");

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

//获取参数
$unionId = ParamUtil::getRequestString("unionId");
$circleId = ParamUtil::getRequestNumber("circleId");
$title = ParamUtil::getRequestString("title");//圈子名称
$needCheck = ParamUtil::getRequestBoolean("needCheck", false);//圈子名称
$longitude = ParamUtil::getRequestString("longitude");//用户位置的经度
$latitude = ParamUtil::getRequestString("latitude");//用户位置的纬度
$comment = ParamUtil::getRequestString("comment");//圈子简介

$province = ParamUtil::getRequestString("province");
$city = ParamUtil::getRequestString("city");
$district = ParamUtil::getRequestString("district");

$result = array();

//参数检查
if(empty($unionId)) {
	$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];
$circleDat = null;

if(!empty($title)) {
	//检查圈子数量
	$param = array();
	$param['owner_id'] = $userMst->id;
	$param['delete_flg'] = false;
	$circleCount = CircleDat::getListCount($param);
	if($circleCount >= MAX_CIRCLE_COUNT) {
		$result["message"] = "最多只能创建" + MAX_CIRCLE_COUNT + "个圈子！";
		responseNG($result);
	}

	//建立圈子
	$circleDat = new CircleDat();
	$circleDat->title = $title;
	$circleDat->need_check = $needCheck;
	$circleDat->member_count = 1;
	$circleDat->longitude = $longitude;
	$circleDat->latitude = $latitude;
	$circleDat->province = $province;
	$circleDat->city = $city;
	$circleDat->district = $district;
	$circleDat->owner_id = $userMst->id;
	$circleDat->comment = $comment;
	$circleDat->save();
	
	//返回创建的圈子
	$param = array();
	$param['owner_id'] = $userMst->id;
	$param['delete_flg'] = false;
	$circleList = CircleDat::getList($param, "id", "desc", 0, 1);
	if(!empty($circleList)) {
		$circleDat = $circleList[0];
		//同步插入圈子成员表
		$circleMemberDat = new CircleMemberDat();
		$circleMemberDat->circle_id = $circleDat->id;
		$circleMemberDat->user_id = $userMst->id;
		$circleMemberDat->name = $userMst->name;
		$circleMemberDat->header_img = $userMst->header_img;
		$circleMemberDat->is_owner = true;
		$circleMemberDat->save();
		
		//返回数据
		$result["message"] = "创建成功！";
		$result["circleDat"] = $circleDat;
		responseOK($result);
	}
} else {
	//上传图片接口处理
	//圈子是否存在
	$param = array();
	$param['id'] = $circleId;
	$param['owner_id'] = $userMst->id;
	$param['delete_flg'] = false;
	$circleDatList = CircleDat::getList($param,'id','desc', 0, 1);
	if(empty($circleDatList)) {
		$result["message"] = "数据错误！";
		responseOK($result);
	}

	$circleDat = $circleDatList[0];
	//圈子是否存在
	//处理上传图片【封面】
	if(!empty($_FILES['frontImage']['tmp_name'])){
		$aliHandler = new AliUploadHandler();
		$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("Compass...ajax_circle_new.php....url1=" . $url, 0);
		//这里的url就是http://compass-dev.oss-cn-beijing.aliyuncs.com/20200220_aa.jpg
		$circleDat->front_image = $url;
		$circleDat->save();
		
		//自动发布一条公告！
		$circleNoticeDat = new CircleNoticeDat();
		$circleNoticeDat->circle_id = $circleDat->id;
		$circleNoticeDat->title = $circleDat->title . "圈子成立公告";
		$circleNoticeDat->comment = $circleDat->comment;
		$circleNoticeDat->image = $circleDat->front_image;
		$circleNoticeDat->save();
		
		//返回数据
		$result["message"] = "创建成功！";
		$result["circleDat"] = $circleDat;
		responseOK($result);
		
	}
}


$result["message"] = "系统错误！";
responseNG($result);

ErrorLogger::doOutput("Compass...ajax_circle_new.php....End.", 0);

//返回结果
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;
}
?>