Commit e086196e by biao

1

parent ef054ea1
...@@ -183,6 +183,20 @@ CREATE TABLE IF NOT EXISTS circle_member_dat( ...@@ -183,6 +183,20 @@ CREATE TABLE IF NOT EXISTS circle_member_dat(
Create INDEX circle_member_dat_circle_id_idx ON circle_member_dat(circle_id); Create INDEX circle_member_dat_circle_id_idx ON circle_member_dat(circle_id);
Create INDEX circle_member_dat_user_id_idx ON circle_member_dat(user_id); Create INDEX circle_member_dat_user_id_idx ON circle_member_dat(user_id);
##----circle_notice_dat create
DROP TABLE IF EXISTS circle_notice_dat;
CREATE TABLE IF NOT EXISTS circle_notice_dat(
id bigint unsigned NOT NULL PRIMARY KEY auto_increment,
registration_date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
circle_id int8 NOT NULL DEFAULT '0',
title varchar(128) NOT NULL,
comment text,
image text,
delete_flg tinyint(1) NOT NULL DEFAULT '0'
) ENGINE = INNODB DEFAULT CHARSET=utf8mb4;
Create INDEX circle_notice_dat_circle_id_idx ON circle_notice_dat(circle_id);
##----user_mst create ##----user_mst create
......
No preview for this file type
No preview for this file type
1. 小程序开发者账号 1. 小程序开发者账号
1. 小程序开发者账号 1. 小程序开发者账号
2.小程序开发者后台开通地图插件 2.小程序开发者后台开通地图插件
4.小程序后台需要加服务器ip白名单,生成二维码用 4.小程序后台需要加服务器ip白名单,生成二维码用
3.腾讯lbs账号 3.腾讯lbs账号,设定为 ip白名单的验证方式
4.阿里云oss key 4.阿里云oss key
5.小程序绑定对应公众号 5.小程序绑定对应公众号
<?php
/**
* CircleNoticeDat Entity
* $Id: CircleNoticeDat.inc,v 1.1 2020/2/27 14:40:01 Exp $
* @author zb
* @package jp.compass.entity
* @access public
*/
class CircleNoticeDat extends CompassDynamicData
{
var $circle_id;
var $title;
var $comment;
var $image;
var $delete_flg;
/**
* 构造实现。circle_notice_dat创建实例。
*
* @access public
* @param mixed circle_notice_dat
*/
function constructor($record)
{
parent::constructor($record);
$this->circle_id = $record["circle_id"];
$this->title = $record["title"];
$this->comment = $record["comment"];
$this->image = $record["image"];
$this->delete_flg = $record["delete_flg"];
}
/**
* 根据条件,获取数据列表。
* 条件与DBManager的doSelect相同。
* @access public
* @static
* @param array 检索条件
* @return array Entity的队列
*/
public static function getList($w_param = null, $orderkey = null, $direction = "ASC", $offset = null, $limit = null)
{
if ($w_param == null) {
$w_param = array();
$w_param["delete_flg"] = "false";
}
return CompassDBHandler::getList("CircleNoticeDat", "circle_notice_dat", $w_param, $orderkey, $direction, $offset, $limit);
}
/**
* 根据条件,获取数据列表的件数。
* 条件与DBManager的doSelect相同。
* @access public
* @static
* @param array 检索条件
* @return array Entity的队列
*/
public static function getListCount($w_param = null)
{
if ($w_param == null) {
$w_param = array();
$w_param["delete_flg"] = "false";
}
$db = CompassDBManager::getInstance();
$result = $db->doSelect("circle_notice_dat", $w_param, null, null, null, null, "count(*) as count");
return $result[0]["count"];
}
/**
* 获得此类指定ID的实例。
*/
public static function getById($id)
{
// delete_flg
$param = array();
$param["delete_flg"] = false;
return CompassDBHandler::getById("CircleNoticeDat", "circle_notice_dat", $id, $param);
}
// -- 这里开始Dynamic ---
/**
* 将此实例写入DB。
* DynamicData共用的保存方法。
* @access public
* @return int 写入实例的ID
*/
public function save()
{
$v_param = array();
ParamUtil::copyObj2Array($v_param, $this, "circle_id");
ParamUtil::copyObj2Array($v_param, $this, "title");
ParamUtil::copyObj2ArrayNullField($v_param, $this, "comment");
ParamUtil::copyObj2ArrayNullField($v_param, $this, "image");
ParamUtil::copyObj2Array($v_param, $this, "delete_flg");
// 保存
parent::_save("circle_notice_dat", $v_param);
}
}
\ No newline at end of file
<?php <?php
/** /**
* 用户角色 * 公益课堂一级分类
* $Id$ * $Id$
* @author huangliang * @author huangliang
* @package cn.compass.entity.definition * @package cn.compass.entity.definition
...@@ -10,8 +10,6 @@ class CourseParentCategory ...@@ -10,8 +10,6 @@ class CourseParentCategory
public $id; public $id;
public $title; public $title;
public $subCategorys;
function __construct($record) { function __construct($record) {
$this->id = $record["id"]; $this->id = $record["id"];
$this->title = $record["title"]; $this->title = $record["title"];
......
<?php
class GetWxQrHandler {
private $appid;
private $secret;
private $id;
private $page;
public function __construct($id = 0, $page = null)
{
$this->appid = "wxeef50c5d0ef117d1";
$this->secret = "48dd0dfd509d1438aa4950d7dcdbee9e";
$this->id = $id;
$this->page = $page;
}
//获取access_token
public function get_access_token()
{
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$this->appid."&secret=".$this->secret;
return $data = $this->curl_get($url);
}
public function curl_get($url) {
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
error_log($data);
return $data;
}
//获得二维码
public function get_qrcode() {
//header('content-type:image/gif');
//header('content-type:image/png');格式自选,不同格式貌似加载速度略有不同,想加载更快可选择jpg
//header('content-type:image/jpg');
$id = $this->id;
$data = array();
$data['scene'] = "qrId=".$id;
$data['page'] = $this->page; //参数跳转到product/show,产品详情
$data['width'] = 430;
$data = json_encode($data);
$access = json_decode($this->get_access_token(),true);
$access_token = $access['access_token'];
$url = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" . $access_token;
$da = $this->get_http_array($url,$data);
return $da;
}
public function get_http_array($url,$post_data) {
error_log("url--->" . $url);
$httpInfo = array();
$ch = curl_init();
curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt( $ch , CURLOPT_POST , 1 );
curl_setopt( $ch , CURLOPT_POSTFIELDS , $post_data);
curl_setopt( $ch , CURLOPT_URL , $url );
$response = curl_exec( $ch );
if ($response === FALSE) {
return false;
}
$httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
$httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
curl_close( $ch );
return $response;
}
}
\ No newline at end of file
...@@ -15,6 +15,7 @@ require_once(COMPASS_LIB_ROOT . "/cn/compass/entity/EntityBase.inc"); ...@@ -15,6 +15,7 @@ require_once(COMPASS_LIB_ROOT . "/cn/compass/entity/EntityBase.inc");
require_once(COMPASS_LIB_ROOT . "/cn/compass/entity/CompassDynamicData.inc"); require_once(COMPASS_LIB_ROOT . "/cn/compass/entity/CompassDynamicData.inc");
require_once(COMPASS_LIB_ROOT . "/cn/compass/entity/AccountMst.inc"); require_once(COMPASS_LIB_ROOT . "/cn/compass/entity/AccountMst.inc");
require_once(COMPASS_LIB_ROOT . "/cn/compass/entity/CircleDat.inc"); require_once(COMPASS_LIB_ROOT . "/cn/compass/entity/CircleDat.inc");
require_once(COMPASS_LIB_ROOT . "/cn/compass/entity/CircleNoticeDat.inc");
require_once(COMPASS_LIB_ROOT . "/cn/compass/entity/CircleMemberDat.inc"); require_once(COMPASS_LIB_ROOT . "/cn/compass/entity/CircleMemberDat.inc");
require_once(COMPASS_LIB_ROOT . "/cn/compass/entity/ClassMst.inc"); require_once(COMPASS_LIB_ROOT . "/cn/compass/entity/ClassMst.inc");
require_once(COMPASS_LIB_ROOT . "/cn/compass/entity/EventDat.inc"); require_once(COMPASS_LIB_ROOT . "/cn/compass/entity/EventDat.inc");
......
<?php
// 审核同意加入圈子的申请
require_once ("../user_include.inc");
ErrorLogger::doOutput("Compass...ajax_accept_user_join_circle.php....Start.", 0);
//获取参数
$userId = ParamUtil::getRequestNumber("userId", 0);//申请者
$circleId = ParamUtil::getRequestNumber("circleId", 0);//圈子id
$msgId = ParamUtil::getRequestNumber("msgId", 0);//圈主收到的消息id
$result = array();
//参数检查
if(empty($userId) || empty($circleId)|| empty($msgId)) {
$result["message"] = "参数错误!";
responseNG($result);
}
//判断用户是否存在
$param = array();
$param['id'] = $userId;
$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);
}
//用户是否已经加入圈子
$param = array();
$param['circle_id'] = $circleDat->id;
$param['user_id'] = $userMst->id;
$param['delete_flg'] = false;
$tmpCount = CircleMemberDat::getListCount($param);
if($tmpCount >= 1) {
$result["message"] = "不能重复加入圈子!";
responseNG($result);
}
//加入圈子处理
$circleMemberDat = new CircleMemberDat();
$circleMemberDat->circle_id = $circleDat->id;
$circleMemberDat->user_id = $userMst->id;
$circleMemberDat->name = $userMst->name;
$circleMemberDat->save();
//圈子成员数+1
$circleDat->member_count++;
$circleDat->save();
//本条消息改为已读
$userMsgDat = UserMessageDat::getById($msgId);
if(!empty($userMsgDat)) {
$userMsgDat->is_read = true;
$userMsgDat->save();
}
$result["message"] = "操作成功!";
responseOK($result);
ErrorLogger::doOutput("Compass...ajax_accept_user_join_circle.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;
}
?>
\ No newline at end of file
...@@ -91,7 +91,7 @@ if(!empty($tmpCircleMemberList)) { ...@@ -91,7 +91,7 @@ if(!empty($tmpCircleMemberList)) {
//添加附件附件 //添加附件附件
$userMessageDat->attach_dat_type = "VOLUNTEER"; $userMessageDat->attach_dat_type = "VOLUNTEER";
$userMessageDat->attach_dat_id = $circleDat->id; $userMessageDat->attach_dat_id = $circleDat->id;
$userMessageDat->attach_dat_path = "pages/volunteersEventDetail/volunteersEventDetail?volunteersEventId={$circleDat->id}&circleId{$circleDat->id}"; $userMessageDat->attach_dat_path = "pages/volunteersEventDetail/volunteersEventDetail?volunteersEventId={$volunteerDat->id}&circleId={$circleDat->id}";
} }
} }
......
<?php
// 审核加入圈子的申请
require_once ("../user_include.inc");
ErrorLogger::doOutput("Compass...ajax_check_user_join_circle.php....Start.", 0);
//获取参数
$userId = ParamUtil::getRequestNumber("userId", 0);//申请者
$circleId = ParamUtil::getRequestNumber("circleId", 0);//圈子id
$msgId = ParamUtil::getRequestNumber("msgId", 0);//圈主收到的消息id
$result = array();
//参数检查
if(empty($userId) || empty($circleId)|| empty($msgId)) {
$result["message"] = "参数错误!";
responseNG($result);
}
//判断用户是否存在
$param = array();
$param['id'] = $userId;
$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);
}
//组装返回数据
$result["userName"] = $userMst->name;
$result["circleTitle"] = $circleDat->title;
ErrorLogger::doOutput("Compass...ajax_check_user_join_circle.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;
}
?>
\ No newline at end of file
<?php
// 指定删除圈子成员接口
require_once ("../user_include.inc");
ErrorLogger::doOutput("Compass...ajax_delete_circle_member.php.php....Start.", 0);
//获取参数
$unionId = ParamUtil::getRequestString("unionId");
$userId = ParamUtil::getRequestNumber("userId", 0);//指定删除的用户ID
$circleId = ParamUtil::getRequestNumber("circleId", 0);//圈子id
$result = array();
//参数检查
if(empty($unionId) || empty($userId) || empty($circleId)) {
$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 = CircleDat::getById($circleId);
if(empty($circleDat)) {
$result["message"] = "圈子不存在!";
responseNG($result);
}
//只有圈主才可以删除成员
if($circleDat->owner_id != $userMst->id) {
$result["message"] = "只有圈主才可以删除!";
responseNG($result);
}
//不可删除圈主
if($userMst->id == $userId) {
$result["message"] = "不能删除圈主!";
responseNG($result);
}
//删除成员处理
$param = array();
$param['circle_id'] = $circleDat->id;
$param['user_id'] = $userId;
$param['delete_flg'] = false;
$memberList = CircleMemberDat::getList($param, "id", "asc", 0, 1);
if(!empty($memberList)) {
$memberList[0]->delete_flg = true;
$memberList[0]->save();
//圈子成员数 -1
$circleDat->member_count--;
$circleDat->save();
}
//组装返回数据
$result["memberList"] = $memberList;
ErrorLogger::doOutput("Compass...ajax_delete_circle_member.php.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;
}
?>
\ No newline at end of file
<?php <?php
// 获取证书列表 // 获取管辖区域内学校排名
require_once ("../user_include.inc"); require_once ("../user_include.inc");
ErrorLogger::doOutput("Compass...ajax_get_certificates.php....Start.", 0); ErrorLogger::doOutput("Compass...ajax_get_certificates.php....Start.", 0);
//获取参数 //获取参数
$unionId = ParamUtil::getRequestString("unionId");
$page = ParamUtil::getRequestNumber("page", 0); $page = ParamUtil::getRequestNumber("page", 0);
//每页显示条数 //参数检查
$rowCount = 10; if(empty($unionId)) {
$result["message"] = "参数错误!";
responseNG($result);
}
$result = array(); $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];
//管辖区域
$province = $userMst->province;
$city = $userMst->city;
$district = $userMst->district;
//管辖区域内学校数量以及列表
//todo:后面改成从别的系统获取
//每页显示条数
$rowCount = 10;
$offset = $page * $rowCount; $offset = $page * $rowCount;
//检索数据库
$param = array(); $param = array();
//$param['province'] = $province;
if(!empty($city)) {
// $param['city'] = $city;
}
if(!empty($district)) {
// $param['district'] = $district;
}
$param['delete_flg'] = false; $param['delete_flg'] = false;
$certificateList = CertificateMst::getList($param,'display_order','desc', $offset, $rowCount); $schoolList = SchoolMst::getList($param, 'province', 'asc, city asc, district asc', $offset, $rowCount);
$allCount = CertificateMst::getListCount($param); $schoolCount = SchoolMst::getListCount($param);
//能力分汇总
$abilityPoint = 0;
$sql = "select sum(ability_point) as ability_point from user_mst where delete_flg = false and school_no is not null and province='{$province}'";
if(!empty($city)) {
$sql .= " and city='{$city}'";
}
if(!empty($district)) {
$sql .= " and district='{$district}'";
}
$db = &CompassDBManager::getInstance();
$tmp = $db->executeQuery($sql);
if(!empty($tmp)) {
$abilityPoint = $tmp[0]['ability_point'];
}
//接口返回数据 //接口返回数据
$result["allCount"] = $allCount;
$result["page"] = $page; $result["page"] = $page;
$result["rowCount"] = $rowCount; $result["rowCount"] = $rowCount;
$result["list"] = $certificateList; $result["schoolList"] = $schoolList;
$result["schoolCount"] = $schoolCount;
$result["abilityPoint"] = $abilityPoint;
ErrorLogger::doOutput("Compass...ajax_get_certificates.php....End.", 0); ErrorLogger::doOutput("Compass...ajax_get_certificates.php....End.", 0);
......
<?php
// 获取指定圈子首页信息
require_once ("../user_include.inc");
ErrorLogger::doOutput("Compass...ajax_get_circle_info.php....Start.", 0);
//获取参数
$unionId = ParamUtil::getRequestString("unionId");
$circleId = ParamUtil::getRequestNumber("circleId", 0);//圈子id
$result = array();
//参数检查
if(empty($unionId) || empty($circleId)) {
$result["message"] = "参数错误!";
responseNG($result);
}
$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);
}
//判断圈子是否存在
$circleDat = CircleDat::getById($circleId);
if(empty($circleDat)) {
$result["message"] = "圈子不存在!";
responseNG($result);
}
$noticeDat = null;
//获取圈子最新一条公告信息
$param = array();
$param['circle_id'] = $circleDat->id;
$param['delete_flg'] = false;
$tmpList = CircleNoticeDat::getList($param, "id", "desc", 0, 1);
if(!empty($tmpList)) {
$noticeDat = $tmpList[0];
}
ErrorLogger::doOutput("Compass...ajax_get_circle_info.php....End.", 0);
//返回结果
$result["circleDat"] = $circleDat;
$result["noticeDat"] = $noticeDat;
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;
}
?>
\ No newline at end of file
<?php
// 获取指定圈子的成员列表
require_once ("../user_include.inc");
ErrorLogger::doOutput("Compass...ajax_get_circle_member_list.php....Start.", 0);
//获取参数
$unionId = ParamUtil::getRequestString("unionId");
$circleId = ParamUtil::getRequestNumber("circleId", 0);//圈子id
$result = array();
//参数检查
if(empty($unionId) || empty($circleId)) {
$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 = CircleDat::getById($circleId);
if(empty($circleDat)) {
$result["message"] = "圈子不存在!";
responseNG($result);
}
//获取圈子成员列表
$param = array();
$param['circle_id'] = $circleDat->id;
$param['delete_flg'] = false;
$memberList = CircleMemberDat::getList($param, "name", "asc");
//组装返回数据
$result["memberCount"] = count($memberList);
$result["memberList"] = $memberList;
ErrorLogger::doOutput("Compass...ajax_get_circle_member_list.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;
}
?>
\ No newline at end of file
...@@ -29,54 +29,26 @@ if(empty($userList)) { ...@@ -29,54 +29,26 @@ if(empty($userList)) {
$userMst = $userList[0]; $userMst = $userList[0];
//获取用户的所在圈子 //获取用户的所在圈子
$volunteerEventList = array(); $userCircleList = array();
$familyEventList = array();
$socialEventList = array();
$mediaList = array();
//志愿者活动[当前所在区域的第一条志愿者活动]
$param = array(); $param = array();
$param['province'] = $province; $param['user_id'] = $userMst->id;
$param['city'] = $city;
$param['district'] = $district;
$param['status'] = "OK";
$param['delete_flg'] = false; $param['delete_flg'] = false;
//社会用户和机构用户的时候,添加【是否允许社会人士参加】 $tmpUserCircleList = CircleMemberDat::getList($param,'id','desc');
if($userMst->role == 5 || $userMst->role == 6) { if(!empty($tmpUserCircleList)) {
$param['include_social_user'] = true; foreach($tmpUserCircleList as $tmp) {
$tmp2 = array();
//获取圈子名称
$tmpCircle = CircleDat::getById($tmp->circle_id);
if(!empty($tmpCircle)) {
$userCircleList[] = array("circle_id"=>$tmpCircle->id, "circle_title"=>$tmpCircle->title);
}
}
} }
$volunteerEventList = VolunteerEventDat::getList($param,'id','desc', 0, 1);
//亲子活动
if($userMst->role == 1) {
//亲子活动
$param = array();
$param['school_no'] = $userMst->school_no;
$param['original_source'] = $userMst->school_no;
$param['delete_flg'] = false;
$familyEventList = FamilyEventDat::getList($param,'id','desc', 0, 1);
}
//社会实践
if($userMst->role == 2) {
$param = array();
$param['school_no'] = $userMst->school_no;
$param['original_source'] = $userMst->school_no;
$param['delete_flg'] = false;
$socialEventList = SocialEventDat::getList($param,'id','desc', 0, 1);
}
//公益课堂
$param = array();
$param['delete_flg'] = false;
$mediaList = CourseMediaDat::getList($param,'id','desc', 0, 3);
//组装返回数据 //组装返回数据
$result["volunteerEventList"] = $volunteerEventList; $result["userCircleList"] = $userCircleList;
$result["familyEventList"] = $familyEventList;
$result["socialEventList"] = $socialEventList;
$result["mediaList"] = $mediaList;
ErrorLogger::doOutput("Compass...ajax_get_circle_top_dat.php....End.", 0); ErrorLogger::doOutput("Compass...ajax_get_circle_top_dat.php....End.", 0);
......
<?php
// 获取用户附近的圈子
require_once ("../user_include.inc");
ErrorLogger::doOutput("Compass...ajax_get_nearby_circle_list.php....Start.", 0);
//获取参数
$unionId = ParamUtil::getRequestString("unionId");
$longitude = ParamUtil::getRequestString("longitude");//用户位置的经度
$latitude = ParamUtil::getRequestString("latitude");//用户位置的纬度
$result = array();
//参数检查
if(empty($unionId) || empty($longitude) || empty($latitude)) {
$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];
//获取用户当前所处的区县
$lbsUrl = 'https://apis.map.qq.com/ws/geocoder/v1?key=' . LBS_KEY . '&location=' . $latitude . ',' . $longitude;
$lbsObj = file_get_contents($lbsUrl);
$jsonObj = json_decode($lbsObj); //对JSON格式的字符串进行编码
$lbsArray = get_object_vars($jsonObj);//转换成数组
$resultObj = $lbsArray['result'];
if($lbsArray['status'] != "0" || $resultObj->ad_info->nation_code!=156) {
$result["message"] = "位置信息错误!";
responseNG($result);
}
$province = $resultObj->address_component->province;
$city = $resultObj->address_component->city;
$district = $resultObj->address_component->district;
//获取用户附近的圈子
$circleList = array();
//查询圈子列表
$param = array();
$param['province'] = $province;
$param['city'] = $city;
$param['district'] = $district;
$param['delete_flg'] = false;
$tmpCircleList = CircleDat::getList($param,'id','desc');
//循环计算距离当前的距离
if(!empty($tmpCircleList)) {
foreach($tmpCircleList as $tmp) {
$from = $latitude . "," . $longitude;
$to = $tmp->latitude . "," . $tmp->longitude;
//距离比较
$distanceUrl = 'https://apis.map.qq.com/ws/distance/v1/?from=' . $from . '&key=' . LBS_KEY . '&mode=driving&to=' . $to;
$distanceObj = file_get_contents($distanceUrl);
$jsonObj = json_decode($distanceObj); //对JSON格式的字符串进行编码
$distanceArray = get_object_vars($jsonObj);//转换成数组
if($distanceArray['status'] == "0" && $distanceArray['result']->elements[0]->distance <= 3000) {
$circleList[] = array("circle_id"=>$tmp->id, "circle_title"=>$tmp->title);
}
}
}
//组装返回数据
$result["circleList"] = $circleList;
ErrorLogger::doOutput("Compass...ajax_get_nearby_circle_list.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;
}
?>
\ No newline at end of file
<?php
// 获取指定学校的志愿者活动列表
require_once ("../user_include.inc");
ErrorLogger::doOutput("Compass...ajax_get_school_detail.php....Start.", 0);
//获取参数
$schoolNo = ParamUtil::getRequestString("schoolNo");
$originalSource = ParamUtil::getRequestNumber("originalSource", 0);
//参数检查
if(empty($schoolNo) || empty($originalSource)) {
$result["message"] = "参数错误!";
responseNG($result);
}
$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];
//管辖区域
$province = $userMst->province;
$city = $userMst->city;
$district = $userMst->district;
//管辖区域内学校数量以及列表
//todo:后面改成从别的系统获取
//每页显示条数
$rowCount = 10;
$offset = $page * $rowCount;
$param = array();
//$param['province'] = $province;
if(!empty($city)) {
// $param['city'] = $city;
}
if(!empty($district)) {
// $param['district'] = $district;
}
$param['delete_flg'] = false;
$schoolList = SchoolMst::getList($param, 'province', 'asc, city asc, district asc', $offset, $rowCount);
$schoolCount = SchoolMst::getListCount($param);
//能力分汇总
$abilityPoint = 0;
$sql = "select sum(ability_point) as ability_point from user_mst where delete_flg = false and school_no is not null and province='{$province}'";
if(!empty($city)) {
$sql .= " and city='{$city}'";
}
if(!empty($district)) {
$sql .= " and district='{$district}'";
}
$db = &CompassDBManager::getInstance();
$tmp = $db->executeQuery($sql);
if(!empty($tmp)) {
$abilityPoint = $tmp[0]['ability_point'];
}
//接口返回数据
$result["page"] = $page;
$result["rowCount"] = $rowCount;
$result["schoolList"] = $schoolList;
$result["schoolCount"] = $schoolCount;
$result["abilityPoint"] = $abilityPoint;
ErrorLogger::doOutput("Compass...ajax_get_school_detail.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;
}
?>
\ No newline at end of file
<?php
// 审核拒绝加入圈子的申请
require_once ("../user_include.inc");
ErrorLogger::doOutput("Compass...ajax_refuse_user_join_circle.php....Start.", 0);
//获取参数
$userId = ParamUtil::getRequestNumber("userId", 0);//申请者
$circleId = ParamUtil::getRequestNumber("circleId", 0);//圈子id
$msgId = ParamUtil::getRequestNumber("msgId", 0);//圈主收到的消息id
$result = array();
//参数检查
if(empty($userId) || empty($circleId)|| empty($msgId)) {
$result["message"] = "参数错误!";
responseNG($result);
}
//判断用户是否存在
$param = array();
$param['id'] = $userId;
$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);
}
//用户是否已经加入圈子
$param = array();
$param['circle_id'] = $circleDat->id;
$param['user_id'] = $userMst->id;
$param['delete_flg'] = false;
$tmpCount = CircleMemberDat::getListCount($param);
if($tmpCount >= 1) {
$result["message"] = "不能重复加入圈子!";
responseNG($result);
}
//拒绝加入圈子处理,删除本条消息
$userMsgDat = UserMessageDat::getById($msgId);
if(!empty($userMsgDat)) {
$userMsgDat->delete_flg = true;
$userMsgDat->save();
}
$result["message"] = "操作成功!";
responseOK($result);
ErrorLogger::doOutput("Compass...ajax_refuse_user_join_circle.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;
}
?>
\ No newline at end of file
...@@ -38,9 +38,7 @@ if(!empty($userList)) { ...@@ -38,9 +38,7 @@ if(!empty($userList)) {
} }
//调用腾讯LGS服务解析用户地址信息 //调用腾讯LGS服务解析用户地址信息
$tmpUrl = '/ws/geocoder/v1?key=' . LBS_KEY . '&location=' . $latitude . ',' . $longitude . LBS_SECRET; $lbsUrl = 'https://apis.map.qq.com/ws/geocoder/v1?key=' . LBS_KEY . '&location=' . $latitude . ',' . $longitude;
$md5Str = md5($tmpUrl);
$lbsUrl = 'https://apis.map.qq.com/ws/geocoder/v1?key=' . LBS_KEY . '&location=' . $latitude . ',' . $longitude . '&sig=' . $md5Str;
$lbsObj = file_get_contents($lbsUrl); $lbsObj = file_get_contents($lbsUrl);
$jsonObj = json_decode($lbsObj); //对JSON格式的字符串进行编码 $jsonObj = json_decode($lbsObj); //对JSON格式的字符串进行编码
$lbsArray = get_object_vars($jsonObj);//转换成数组 $lbsArray = get_object_vars($jsonObj);//转换成数组
......
<?php
// 用户加入指定的圈子
require_once ("../user_include.inc");
ErrorLogger::doOutput("Compass...ajax_user_join_circle.php....Start.", 0);
//获取参数
$unionId = ParamUtil::getRequestString("unionId");
$circleId = ParamUtil::getRequestNumber("circleId", 0);//圈子id
$result = array();
//参数检查
if(empty($unionId) || empty($circleId)) {
$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 = CircleDat::getById($circleId);
if(empty($circleDat)) {
$result["message"] = "圈子不存在!";
responseNG($result);
}
//是否已经加入圈子
$param = array();
$param['circle_id'] = $circleDat->id;
$param['user_id'] = $userMst->id;
$param['delete_flg'] = false;
$tmpCount = CircleMemberDat::getListCount($param);
if($tmpCount >= 1) {
$result["message"] = "不能重复加入圈子!";
responseNG($result);
}
//加入圈子处理
//是否需要审核
if($circleDat->need_check) {
//需要审核的情况下,发送一条消息给圈主。
$userMessageDat = new UserMessageDat();
$userMessageDat->user_id = $circleDat->owner_id;
$userMessageDat->title = "您的圈子有一条加入申请";
$userMessageDat->comment = "嘀嘀嘀!有个好友申请加入您的圈子!";
//添加附件附件
$userMessageDat->attach_dat_type = "CIRCLE";
$userMessageDat->attach_dat_id = $circleDat->id;
$userMessageDat->attach_dat_path = "pages/checkJoinCircle/checkJoinCircle?userId={$userMst->id}&circleId={$circleDat->id}";
$result["message"] = "申请成功,请等待圈主审核!";
responseOK($result);
} else {
//不需要审核的情况下,直接加入圈子
$circleMemberDat = new CircleMemberDat();
$circleMemberDat->circle_id = $circleDat->id;
$circleMemberDat->user_id = $userMst->id;
$circleMemberDat->name = $userMst->name;
$circleMemberDat->save();
//圈子成员数+1
$circleDat->member_count++;
$circleDat->save();
$result["message"] = "加入成功!";
responseOK($result);
}
//组装返回数据
$result["circleList"] = $circleList;
ErrorLogger::doOutput("Compass...ajax_user_join_circle.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;
}
?>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment