Commit bf42e038 authored by hujun's avatar hujun

搜索经纪人列表,增加个推包

parent a4b8aa8b
<?php
/**
* Created by PhpStorm.
* User: hujun
* Date: 2017/12/24
* Time: 21:09
*/
namespace app\api\untils;
use think\Loader;
//http的域名
define('HOST','http://sdk.open.api.igexin.com/apiex.htm');
//定义常量, appId、appKey、masterSecret 采用本文档 "第二步 获取访问凭证 "中获得的应用配置
define('APPKEY','m6kO8mg0rs85RJD1lW4Gv8');
define('APPID','Cp63kT0yXMAmxVmekIQVI5');
define('MASTERSECRET','02DunI3DGL60rXkud74YZ8');
class GeTuiUntils {
/**
* 个推
* zhuwei
* 2017-11-06
*/
function push_message_for_one()
{
$data=$this->request->data;
//$this->changlianjie($data);
$Agentdata = $this->Agent->findById($data['agent_id']);
$cid =$Agentdata['Agent']['device_id'];
$igt = new IGeTui(TL_GETUI_HOST, TL_GETUI_APPKEY, TL_GETUI_MASTERSECRET);
//模板
$template = $this->onli_all_template($data['touchuan'], $data['black_title'],$data['content']);
$this->log($data['black_title']);
//个推信息体
$message = new IGtSingleMessage();
$message->set_isOffline(true); //是否离线
$message->set_offlineExpireTime(3600 * 12 * 1000); //离线时间
$message->set_data($template); //设置推送消息类型
$message->set_PushNetWorkType(0);//设置是否根据WIFI推送消息,1为wifi推送,0为不限制推送
//接收方
$target = new IGtTarget();
$target->set_appId(TL_GETUI_APPID);
$target->set_clientId($cid);
//var_dump($this->request->data);
//var_dump(TL_GETUI_APPID);
//$target->set_alias(Alias);
try {
$rep = $igt->pushMessageToSingle($message, $target);
$this->log("======pushnotice_return");
$this->log($rep);
//var_dump($rep);
echo("<br><br>");
} catch (RequestException $e) {
$requstId = $e . getRequestId();
$rep = $igt->pushMessageToSingle($message, $target, $requstId);
//var_dump($rep);
echo("<br><br>");
}
}
/**
* 群推
* zhuwei
* 2017-11-06
*/
function push_message_for_all()
{
//Configure::write('debug', 2);
$data = $this->request->data;
$igt = new IGeTui(TL_GETUI_HOST, TL_GETUI_APPKEY, TL_GETUI_MASTERSECRET);
$template = $this->onli_all_template($data['touchuan'], $data['black_title'], $data['content']);
//个推信息体
//基于应用消息体
$message = new IGtAppMessage();
$message->set_isOffline(true);
$message->set_offlineExpireTime(3600 * 12 * 1000);//离线时间单位为毫秒,例,两个小时离线为3600*1000*2
$message->set_data($template);
$message->set_PushNetWorkType(0);//设置是否根据WIFI推送消息,1为wifi推送,0为不限制推送
//$message->set_speed(1);// 设置群推接口的推送速度,单位为条/秒,例如填写100,则为100条/秒。仅对指定应用群推接口有效。
$appIdList = array(TL_GETUI_APPID);
//$phoneTypeList=array($data['android_or_ios']);
//$cdt = new AppConditions();
//$cdt->addCondition(AppConditions::PHONE_TYPE, $phoneTypeList);
$message->set_appIdList($appIdList);
//$message->set_conditions($cdt);
$rep = $igt->pushMessageToApp($message);
//var_dump($rep);
echo("<br><br>");
}
/**
* 推送模板
* zhuwei
* 2017-11-06
*/
function onli_all_template($touchuan, $black_title, $content)
{
//$this->changlianjie($content);
$template = new IGtTransmissionTemplate();
$template->set_appId(TL_GETUI_APPID);//应用appid
$template->set_appkey(TL_GETUI_APPKEY);//应用appkey
$template->set_transmissionType(2);//透传消息类型
$template->set_transmissionContent($touchuan); //透传内容
//$template->set_duration(BEGINTIME,ENDTIME); //设置ANDROID客户端在此时间区间内展示消息
/*
//如下有两个推送模版,一个简单一个高级,可以互相切换使用。此处以高级为例,所以把简单模版注释掉。
//APN简单推送
$apn = new IGtAPNPayload();
$alertmsg=new SimpleAlertMsg();
$alertmsg->alertMsg="";
$apn->alertMsg=$alertmsg;
$apn->badge=2;
$apn->sound="";
$apn->add_customMsg("payload","payload");
$apn->contentAvailable=1;
$apn->category="ACTIONABLE";
$template->set_apnInfo($apn);
//2)离线透传参数设置
//而 从 $apn = new IGtAPNPayload();这一行开始,构建的都是针对ios下app离线的推送
//其中 $alertmsg->body="body"; 对应的是在线透传的content
$alertmsg->locKey="LocKey"; 对应的是在线透传的title
$alertmsg->title="水培喝水"; 对应的也是在线透传的title
//然后 $apn->add_customMsg("payload","阿波罗度上市"); 这是用来传送自定义参数的,我们来改成我们想要的
$apn->add_customMsg("id","1");
$apn->add_customMsg("type","新闻");
*/
//APN高级推送
$apn = new IGtAPNPayload();
$alertmsg = new DictionaryAlertMsg();
$alertmsg->body = $content;//对应的是在线透传的content
$alertmsg->actionLocKey = "打开同联商业";//滑动打开app
$alertmsg->locKey = $content;//锁屏提示下框
/*
$alertmsg->locArgs=array("locargs");
$alertmsg->launchImage="launchimage";
iOS8.2 支持
*/
$alertmsg->title = $black_title;//标题 锁屏标题
$alertmsg->titleLocKey = $black_title;//下拉通知上部框框
$alertmsg->titleLocArgs = array("TitleLocArg");
$apn->alertMsg = $alertmsg;
$apn->badge = 1;//应用icon上显示的数字
$apn->sound = "";
/*
$apn->add_customMsg("payload","阿波罗度上市");
$apn->contentAvailable=1;
$apn->category="ACTIONABLE";
*/
$template->set_apnInfo($apn);
return $template;
}
function pushMessageToApp(){
// Loader::import('IGeTui',EXTEND_PATH.'GETUI_PHP_SDK');
include_once(EXTEND_PATH.'GETUI_PHP_SDK'.DS.'IGt.Push.php');
$igt = new \IGeTui(HOST,APPKEY,MASTERSECRET);
//定义透传模板,设置透传内容,和收到消息是否立即启动启用
$template = $this->IGtNotificationTemplateDemo();
//$template = IGtLinkTemplateDemo();
// 定义"AppMessage"类型消息对象,设置消息内容模板、发送的目标App列表、是否支持离线发送、以及离线消息有效期(单位毫秒)
$message = new \IGtAppMessage();
$message->set_isOffline(true);
$message->set_offlineExpireTime(10 * 60 * 1000);//离线时间单位为毫秒,例,两个小时离线为3600*1000*2
$message->set_data($template);
$appIdList=array(APPID);
$phoneTypeList=array('ANDROID');
$provinceList=array('浙江');
$tagList=array('haha');
//用户属性
//$age = array("0000", "0010");
//$cdt = new \AppConditions();
// $cdt->addCondition(AppConditions::PHONE_TYPE, $phoneTypeList);
// $cdt->addCondition(AppConditions::REGION, $provinceList);
//$cdt->addCondition(AppConditions::TAG, $tagList);
//$cdt->addCondition("age", $age);
$message->set_appIdList($appIdList);
//$message->set_conditions($cdt->getCondition());
$rep = $igt->pushMessageToApp($message,"任务组名");
var_dump($rep);
echo ("<br><br>");
}
function IGtNotificationTemplateDemo(){
$template = new \IGtNotificationTemplate();
$template->set_appId(APPID); //应用appid
$template->set_appkey(APPKEY); //应用appkey
$template->set_transmissionType(1); //透传消息类型
$template->set_transmissionContent("测试离线");//透传内容
$template->set_title("个推"); //通知栏标题
// $template->set_text("个推最新版点击下载"); //通知栏内容
$template->set_text('【张三】报备了【肯德基】'); //通知栏内容
$template->set_logo(""); //通知栏logo
$template->set_logoURL(""); //通知栏logo链接
$template->set_isRing(true); //是否响铃
$template->set_isVibrate(true); //是否震动
$template->set_isClearable(true); //通知栏是否可清除
return $template;
}
}
\ No newline at end of file
......@@ -21,7 +21,7 @@ class GenerateCodeUntils {
$qrCode->setForegroundColor(['r' => 0, 'g' => 0, 'b' => 0]);
$qrCode->setBackgroundColor(['r' => 255, 'g' => 255, 'b' => 255]);
$qrCode->setValidateResult(false);
$path = 'resource/qrcode/'.$file_name.'.png';
$path = 'static/qrcode/'.$file_name.'.png';
$qrCode->writeFile($path);
return $path;
}
......
......@@ -31,19 +31,15 @@ class Broker extends Basic
$params = $this->request->param();
$pageNo = empty($params['pageNo']) ? 1 : $params['pageNo'];
$pageSize = empty($params['pageSize']) ? 15 : $params['pageSize'];
if ($params['name']) {
$where['realname'] = ['like', $params['name'].'%'];;;
}
$pageSize = empty($params['pageSize']) ? 10 : $params['pageSize'];
if ($params['phone']) {
$where['phone'] = ['like', $params['phone'].'%'];;
$where = 'phone like "'.$params['phone'].'%" or realname like "'.$params['phone'].'%"';
}
if ($where) {
$agent = new Agents();
$field = 'father_id,realname,phone';
$field = 'id,father_id,realname,phone';
$data['data'] = $agent->getAgents($pageNo, $pageSize, '', $field, $where);
} else {
$data['msg'] = '没有该楼盘信息';
......
......@@ -9,10 +9,12 @@
namespace app\index\controller;
use app\api\untils\GeTuiUntils;
use app\index\extend\Basic;
use app\model\Applies;
use app\model\AppointWatchShop;
use app\model\HouseInfos;
use app\model\Remarks;
use think\Session;
class WatchShop extends Basic
......@@ -64,31 +66,63 @@ class WatchShop extends Basic
$params = $this->request->param();
if ($params['id']) {
$appoint_watch = new AppointWatchShop();
$appoint_list = $appoint_watch->get($params['id']);
if ($appoint_list->agent_id) {
} else {
$house = new HouseInfos();
$house->field('')->find();
}
$apples = new Applies();
$apples->save([
'agent_id' => $appoint_list['agent_id'],
]);
if ($params['watch_id'] && $params['shop_id'] && $params['agents_id']) {
if ($apples->id) {
$appoint_watch = new AppointWatchShop();
$appoint_watch->startTrans();
$apponit_data = $appoint_watch->get($params['watch_id'])->lock();
if ($apponit_data['id']) {
$apples = new Applies();
$apples->data([
'agent_id' => $params['agents_id'],
'house_id' => $apponit_data['house_id'],
'customer' => $apponit_data['appellation'],
'phpone' => $apponit_data['phone'],
'go_off' => $apponit_data['expect_time'],
'agent_shop_id' => $params['shop_id'],
'transaction_status' => 0,
'invite_id' => 0,
'marketgroup_id' => 0
])->save();
$remark = new Remarks();
$remark->data([
'apply_id' => $apples->id,
'shopuser_id' => $params['agents_id'],
'shop_id' => $params['shop_id'],
'house_id' => $params['house_id'],
'transaction_status' => 0,
'created' => date("Y-m-d H:i:s")
])->save();
$appoint_watch->save([
'agents_id' => $params['agents_id'],
'applies_id' => $apples->id
],['id'=>$apponit_data['id']]);
if ($apples->id && $remark->id) {
$appoint_watch->commit();
$data['status'] = 200;
$data['msg'] = '报备成功';
} else {
$appoint_watch->rollback();
$data['status'] = 101;
$data['msg'] = '报备失败';
}
} else {
$data['msg'] = '没有该铺信息';
$data['status'] = 101;
}
} else {
$data['msg'] = '没有该看铺信息';
$data['msg'] = '该看铺信息错误';
}
return $this->response($data['status'], $data['msg'], $data['data']);
}
public function test(){
$get = new GeTuiUntils();
$get->pushMessageToApp();
}
}
\ No newline at end of file
......@@ -121,14 +121,18 @@
<label class="col-sm-3 control-label">报备人:</label>
<div class="col-sm-9">
<input type="text" class="form-control btn6 phone_jia" name="phone" placeholder="请输入手机号">
<div class="col-sm-9">
<ul class="list-unstyled" id="agents_list"></ul>
</div>
</div>
</div>
<input type="hidden" id="agents">
</form>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭
</button>
<button type="button" class="btn btn-primary">
<button type="button" class="btn btn-primary" id="submit_applies">
提交
</button>
</div>
......
......@@ -3,6 +3,9 @@ define (['doT', 'text!temp/watch_template_tpl.html', 'css!style/home.css',"datet
pageNo: 1, /*第几页*/
pageSize: 10, /*每页显示多少条*/
father_id : '',
agents_id : '',
watch_id : '',
urls: '',
init: function () {
//初始化dot
......@@ -30,34 +33,7 @@ define (['doT', 'text!temp/watch_template_tpl.html', 'css!style/home.css',"datet
});
$ (document).delegate (".phone_jia", "click", function () {
var params = {};
params.house_id = $(this).attr ("data-id");
$.ajax ({
url: '/index/getBroker',
type: 'GET',
async: true,
data: params,
dataType: 'json',
success: function (data) {
if (data.code == 200) {
var str = '';
$.each(data.data, function (i,item) {
str += "<tr><td>"+item['content']+"</td><td>"+item['admin_name']+"</td><td>"+item['create_time']+"</td></tr>";
$("#list_agents").html(str);
});
} else {
alert(data.msg);
}
}
});
});
$ (document).delegate (".phone_jia", "click", function () {
// 手机检索姓名
/*手机检索姓名*/
var ldHtml = $('.phone_list');
var stopstatus = true;
var valueCurrent = '';
......@@ -101,12 +77,17 @@ define (['doT', 'text!temp/watch_template_tpl.html', 'css!style/home.css',"datet
},
success: function(data) {
if(data.status === 1){
if(data.code === 200){
$("#agents_list").show();
var _html = '';
$.each(data.data, function(i,data) {
_html += '<li onclick="addphone(this)"><span class="id">'+data['id']+'-</span><span class="phone_name">'+data['realname']+'</span><span class="phone_span">-</span><span class="phone-phone">'+data['phone']+'</span> </li>';
});
obj.html(_html);
_html += '<li class="addphone"><span class="id">'+data['id']
+'-</span><span class="phone_name">'+data['realname']
+'</span><span class="phone_span">-</span><span class="phone-phone">'
+data['phone']+'</span><span class="father_id">'
+data['father_id']+'</span></li>';
});
$("#agents_list").html(_html);
}
},
error: function() {
......@@ -114,23 +95,40 @@ define (['doT', 'text!temp/watch_template_tpl.html', 'css!style/home.css',"datet
},
complete: function(xhr, textStatus) {
if(textStatus === "timeout") {
//处理超时的逻辑
/*处理超时的逻辑*/
alert("请求超时");
}
}
});
}
function addphone(n){
var phone_name= $(n).find(".phone_name").html();
var phone_phone= $(n).find(".phone-phone").html();
var phone_span= $(n).find(".phone_span").html();
var id= $(n).find(".id").html();
$(n).parent().prev().val(id+phone_name+phone_span+phone_phone);
$(n).parent().hide();
ldHtml.html('');
return false;
}
});
/*选择经纪人*/
$ (document).delegate (".addphone", "click", function () {
user.addphone($(this));
});
$ (document).delegate (".add_applies", "click", function () {
user.watch_id = $(this).attr ("data-id");
});
$ (document).delegate ("#submit_applies", "click", function () {
var params = {};
params.shop_id = user.father_id;
params.agents_id = user.agents_id;
params.watch_id = user.watch_id;
$.ajax ({
url: '/index/add_applies',
type: 'POST',
async: true,
data: params,
dataType: 'json',
success: function (data) {
alert(data.msg);
}
});
});
},
......@@ -188,6 +186,19 @@ define (['doT', 'text!temp/watch_template_tpl.html', 'css!style/home.css',"datet
}
}
});
},
addphone : function(obj) {
var phone_name= $(obj).find(".phone_name").html();
var phone_phone= $(obj).find(".phone-phone").html();
var phone_span= $(obj).find(".phone_span").html();
var id= $(obj).find(".id").html();
var val = id+phone_name+phone_span+phone_phone;
user.father_id = $(obj).find(".father_id").html();
user.agents_id = id.substring(0,id.length-1)
$("input[name='phone']").val(val);
$(obj).parent().hide();
$("#agents_list").html('');
return ;
}
};
return user;
......
......@@ -10,11 +10,11 @@
<td>[%= it[item]["create_time"] %]</td>
<td>
<a class="btn1 btn-success " href="#modal-process" data-toggle="modal" data-id="[%= it[item]['id'] %]" onclick="alertFollow(this)">跟进</a>
<a href="#modal-watch" data-toggle="modal" data-id="[%= it[item]['id'] %]"
<a data-toggle="modal" data-id="[%= it[item]['id'] %]"
[% if (it[item]["applies_id"] == 0){ %]
class="btn1 btn-danger add_applies">转为报备</a>
href="#modal-watch" class="btn1 btn-danger add_applies">转为报备</a>
[% }else{ %]
class="btn1 btn-info add_applies">已转为报备</a>
class="btn1 btn-info">已转为报备</a>
[% } %]
</td>
</tr>
......
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