You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
943 lines
43 KiB
943 lines
43 KiB
<?php
|
|
defined('IN_IA') or exit('Access Denied');
|
|
|
|
class YellowpageModuleUniapp extends Uniapp {
|
|
/**
|
|
* Comment: 获取黄页分类列表
|
|
* Author: wlf
|
|
* Date: 2020/8/14 15:54
|
|
*/
|
|
public function cateList(){
|
|
global $_W,$_GPC;
|
|
$search = trim($_GPC['search']);
|
|
$list = Yellowpage::get_cates(false,$_W['aid'],$search);
|
|
$data['list'] = $list;
|
|
$this->renderSuccess('分页列表',$data);
|
|
}
|
|
|
|
/**
|
|
* Comment: 获取黄页首页初始化数据
|
|
* Author: wlf
|
|
* Date: 2020/8/14 17:58
|
|
*/
|
|
public function homeInfo(){
|
|
global $_W,$_GPC;
|
|
//幻灯片
|
|
$settings = Setting::agentsetting_read('yellowpage');
|
|
$data = [];
|
|
$advs = pdo_getall('wlmerchant_adv',array('aid' => $_W['aid'],'uniacid' => $_W['uniacid'],'type' => 13,'enabled' => 1),array('link','thumb'),'','displayorder DESC,id DESC');
|
|
if(!empty($advs)){
|
|
foreach($advs as &$adv){
|
|
$adv['thumb'] = tomedia($adv['thumb']);
|
|
}
|
|
}
|
|
$data['adv'] = $advs;
|
|
//社群
|
|
if($settings['communityid'] > 0){
|
|
$community = pdo_get('wlmerchant_community',array('id' => $settings['communityid']),array('id','communname','commundesc','communimg','communqrcode','systel'));
|
|
$community['community_id'] = $community['id'];
|
|
if(!empty($community['communimg'])){
|
|
$community['communimg'] = tomedia($community['communimg']);
|
|
}
|
|
if(!empty($community['communqrcode'])){
|
|
$community['communqrcode'] = tomedia($community['communqrcode']);
|
|
}
|
|
$data['community'] = $community;
|
|
}else{
|
|
$data['community'] = [];
|
|
}
|
|
//入驻广告
|
|
$time = time();
|
|
$notice = pdo_fetchall("SELECT name,createtime,id FROM ".tablename('wlmerchant_yellowpage_lists')."WHERE uniacid = {$_W['uniacid']} AND aid = {$_W['aid']} AND status = 1 AND checkstatus = 1 AND meal_endtime > {$time} ORDER BY createtime DESC LIMIT 10");
|
|
if(!empty($notice)){
|
|
foreach($notice as &$not){
|
|
$not['createtime'] = date('y-m-d',$not['createtime']);
|
|
}
|
|
}
|
|
$data['notice'] = $notice;
|
|
$data['noticeflag'] = 'yellowpage';
|
|
$this->renderSuccess('黄页首页初始化数据',$data);
|
|
}
|
|
|
|
/**
|
|
* Comment: 获取黄页首页列表数据
|
|
* Author: wlf
|
|
* Date: 2020/8/17 10:17
|
|
*/
|
|
public function homeList(){
|
|
global $_W,$_GPC;
|
|
$data = [];
|
|
$page = $_GPC['page'] ? $_GPC['page'] : 1;
|
|
$pageIndex = $_GPC['page_index'] ? $_GPC['page_index'] : 10;
|
|
$pageStart = $page * $pageIndex - $pageIndex;
|
|
$keyword = $_GPC['keyword']; //搜索关键词
|
|
$sort = $_GPC['sort'] ? : 1;
|
|
$cateOne = $_GPC['cate_one'] ? : 0;//一级分类
|
|
$cateTwo = $_GPC['cate_two'] ? : 0;//二级分类
|
|
$cityId = $_GPC['city_id'] ? : 0;//区域id
|
|
$lng = $_GPC['lng'] && $_GPC['lng'] != 'undefined' ? $_GPC['lng'] : 0;//用户当前所在经度 104.0091133118 经度
|
|
$lat = $_GPC['lat'] && $_GPC['lat'] != 'undefined' ? $_GPC['lat'] : 0;//用户当前所在纬度 30.5681964123 纬度
|
|
$time = time();
|
|
$settings = Setting::agentsetting_read('yellowpage');
|
|
//查询条件生成 基本条件:启用,审核通过,已支付
|
|
$where = " WHERE uniacid = {$_W['uniacid']} AND aid = {$_W['aid']} AND status = 1 AND checkstatus = 1 AND meal_endtime > {$time} ";
|
|
if($cateOne > 0) $where .= " AND one_class = {$cateOne} ";
|
|
if($cateTwo > 0) $where .= " AND two_class = {$cateTwo} ";
|
|
if($cityId > 0) $where .= " AND ( pro_code = {$cityId} OR city_code = {$cityId} OR area_code = {$cityId} ) ";
|
|
if($keyword) $where .= " AND ( name LIKE '%{$keyword}%' OR `desc` LIKE '%{$keyword}%' )";
|
|
//排序条件生成
|
|
switch ($sort){
|
|
case 1:$order = " ORDER BY distance ASC ";break;//附近
|
|
case 2:$order = " ORDER BY createtime DESC ";break;//最新
|
|
case 3:$order = " ORDER BY pv DESC ";break;//人气榜
|
|
case 4:$order = " ORDER BY total_collect DESC,id DESC ";break;//收藏榜
|
|
case 5:$order = " ORDER BY sort DESC,id DESC ";break;//系统推荐
|
|
}
|
|
//总数获取
|
|
if($page == 1){
|
|
$total = pdo_fetchcolumn("SELECT count(*) FROM " .tablename(PDO_NAME."yellowpage_lists") .$where);
|
|
$data['total'] = ceil($total / $pageIndex);
|
|
}
|
|
//列表信息获取
|
|
$field = "id,id as pid,mid,
|
|
(SELECT
|
|
CASE
|
|
WHEN {$lat} > 0 AND {$lng} > 0 THEN ROUND(6378.137 * 2 * ASIN(
|
|
SQRT(
|
|
POW(SIN(({$lat} * PI() / 180 - lat * PI() / 180) / 2),2) +
|
|
COS({$lat} * PI() / 180) * COS(lat * PI() / 180) *
|
|
POW(SIN(({$lng} * PI() / 180 - lng * PI() / 180) / 2),2)
|
|
)
|
|
) * 1000
|
|
)
|
|
ELSE 0
|
|
END FROM ".tablename(PDO_NAME.'yellowpage_lists')." as b WHERE b.id = pid) as distance,
|
|
(SELECT COUNT(*) FROM ".tablename(PDO_NAME.'yellowpage_collect')." WHERE pageid = pid) as total_collect,
|
|
name,logo,mobile,`desc`,one_class,two_class,pv,share,address";
|
|
$list = pdo_fetchall("SELECT {$field} FROM ".tablename(PDO_NAME."yellowpage_lists") .$where.$order." LIMIT {$pageStart},{$pageIndex}");
|
|
//循环进行信息的处理
|
|
if(is_array($list) && count($list) > 0){
|
|
foreach($list as $key => &$val){
|
|
//基本信息处理
|
|
$val['distance'] = Commons::distanceConversion($val['distance']); //距离转换
|
|
$val['logo'] = tomedia($val['logo']);
|
|
$one_class = pdo_get(PDO_NAME.'yellowpage_cates',array('id'=>$val['one_class']),array('name','querymoney'));
|
|
$val['oneCateName'] = $one_class['name'];
|
|
$two_class = pdo_get(PDO_NAME.'yellowpage_cates',array('id'=>$val['two_class']),array('name','querymoney'));
|
|
$val['twoCateName'] = $two_class['name'];
|
|
$val['querymoney'] = !empty($two_class) ? $two_class['querymoney'] : $one_class['querymoney'];
|
|
|
|
Yellowpage::changepv($val['id'],$settings['minup'],$settings['maxup']);
|
|
$val['showtel'] = 1;
|
|
if($val['querymoney']>0){
|
|
$payflag = pdo_getcolumn(PDO_NAME.'order',array('fkid'=>$val['id'],'mid'=>$_W['mid'],'status'=>3,'fightstatus'=>2),'id');
|
|
if(empty($payflag)){
|
|
$val['showtel'] = 0;
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
$data['list'] = $list;
|
|
$this->renderSuccess('首页列表信息',$data);
|
|
}
|
|
|
|
/**
|
|
* Comment: 获取黄页详情
|
|
* Author: wlf
|
|
* Date: 2020/8/17 16:12
|
|
*/
|
|
public function pageDetail(){
|
|
global $_W,$_GPC;
|
|
$data = [];
|
|
$id = $_GPC['id'];
|
|
$sid = $_GPC['sid'];
|
|
if(empty($id) && empty($sid)){
|
|
$this->renderError('缺少关键参数id');
|
|
}
|
|
$settings = Setting::agentsetting_read('yellowpage');
|
|
if($id > 0){
|
|
$yellowpage = pdo_get('wlmerchant_yellowpage_lists',array('id' => $id),array('name','mid','lng','lat','storeid','detail','logo','mobile','thumbs','desc','address','two_class','one_class','pv','share','status','wechat_number','wechat_qrcode'));
|
|
}else{
|
|
$yellowpage = pdo_get('wlmerchant_yellowpage_lists',array('storeid' => $sid),array('id','lng','lat','name','mid','detail','storeid','logo','mobile','thumbs','desc','address','two_class','one_class','pv','share','status','wechat_number','wechat_qrcode'));
|
|
$id = $yellowpage['id'];
|
|
}
|
|
|
|
if(empty($yellowpage)){
|
|
$this->renderError('页面不存在请刷新重试');
|
|
}
|
|
//更新PV
|
|
Yellowpage::changepv($id,$settings['minup'],$settings['maxup']);
|
|
if($yellowpage['status'] != 1){
|
|
$this->renderError('页面已关闭');
|
|
}
|
|
$yellowpage['logo'] = tomedia($yellowpage['logo']);
|
|
$yellowpage['wechat_qrcode'] = tomedia($yellowpage['wechat_qrcode']);
|
|
$yellowpage['thumbs'] = unserialize($yellowpage['thumbs']);
|
|
if(!empty($yellowpage['thumbs'])){
|
|
foreach($yellowpage['thumbs'] as &$thumb){
|
|
$thumb = tomedia($thumb);
|
|
}
|
|
}
|
|
$one_class = pdo_get(PDO_NAME.'yellowpage_cates',array('id'=>$yellowpage['one_class']),array('name','claimmoney','querymoney'));
|
|
$yellowpage['oneCateName'] = $one_class['name'];
|
|
$two_class = pdo_get(PDO_NAME.'yellowpage_cates',array('id'=>$yellowpage['two_class']),array('name','claimmoney','querymoney'));
|
|
$yellowpage['twoCateName'] = $two_class['name'];
|
|
$yellowpage['claimmoney'] = !empty($two_class) ? $two_class['claimmoney'] : $one_class['claimmoney'];
|
|
$yellowpage['querymoney'] = !empty($two_class) ? $two_class['querymoney'] : $one_class['querymoney'];
|
|
|
|
if(!empty($yellowpage['detail']) && is_base64($yellowpage['detail'])) $yellowpage['detail'] = htmlspecialchars_decode(base64_decode($yellowpage['detail']));
|
|
else if(!empty($yellowpage['detail'])) $yellowpage['detail'] = htmlspecialchars_decode($yellowpage['detail']);
|
|
//是否认领
|
|
if(empty($yellowpage['mid']) && $settings['claimstatus'] > 0){
|
|
//判断用户是否申请过
|
|
$alreadyClaim = pdo_getcolumn(PDO_NAME.'yellowpage_claim_lists',array('mid'=>$_W['mid'],'pageid'=>$id,'status' => 0,'paystatus >' => 0),'id');
|
|
if($alreadyClaim > 0){
|
|
$yellowpage['claimdiv'] = 0;
|
|
} else{
|
|
$yellowpage['claimdiv'] = 1;
|
|
}
|
|
}else{
|
|
$yellowpage['claimdiv'] = 0;
|
|
}
|
|
//是否付费查看
|
|
$yellowpage['showtel'] = 1;
|
|
if($yellowpage['querymoney']>0){
|
|
$payflag = pdo_getcolumn(PDO_NAME.'order',array('fkid'=>$id,'mid'=>$_W['mid'],'status'=>3,'fightstatus'=>2),'id');
|
|
if(empty($payflag)){
|
|
$yellowpage['showtel'] = 0;
|
|
}
|
|
}
|
|
//是否已收藏
|
|
$yellowpage['aCollect'] = 0;
|
|
$collectflag = pdo_getcolumn(PDO_NAME.'yellowpage_collect',array('pageid'=>$id,'mid'=>$_W['mid']),'id');
|
|
if(!empty($collectflag)){
|
|
$yellowpage['aCollect'] = 1;
|
|
}
|
|
$yellowpage['collectNum'] = pdo_fetchcolumn('SELECT count(id) FROM '.tablename('wlmerchant_yellowpage_collect')." WHERE pageid = {$id}");
|
|
$data['info'] = $yellowpage;
|
|
$data['remark'] = $settings['remark'];
|
|
$this->renderSuccess('黄页详情信息',$data);
|
|
|
|
}
|
|
|
|
/**
|
|
* Comment: 认领接口
|
|
* Author: wlf
|
|
* Date: 2020/8/18 15:02
|
|
*/
|
|
public function pageClaim(){
|
|
global $_W,$_GPC;
|
|
$pageid = $_GPC['id'];
|
|
$desc = $_GPC['desc'];
|
|
$name = $_GPC['name'];
|
|
$mobile = $_GPC['mobile'];
|
|
$data = [];
|
|
$yellowpage = pdo_get('wlmerchant_yellowpage_lists',array('id' => $pageid),array('name','uniacid','aid','two_class','one_class'));
|
|
if($yellowpage['mid']){
|
|
$this->renderError('此黄页已被认领');
|
|
}
|
|
$alreadyClaim = pdo_getcolumn(PDO_NAME.'yellowpage_claim_lists',array('mid'=>$_W['mid'],'pageid'=>$pageid,'status' => 0,'paystatus >' => 0),'id');
|
|
if($alreadyClaim > 0){
|
|
$this->renderError('您已在认领此黄页');
|
|
}
|
|
$one_class = pdo_get(PDO_NAME.'yellowpage_cates',array('id'=>$yellowpage['one_class']),array('name','claimmoney','querymoney'));
|
|
$two_class = pdo_get(PDO_NAME.'yellowpage_cates',array('id'=>$yellowpage['two_class']),array('name','claimmoney','querymoney'));
|
|
$claimmoney = !empty($two_class) ? $two_class['claimmoney'] : $one_class['claimmoney'];
|
|
if($claimmoney > 0){ //收费
|
|
//查询之前的订单
|
|
$orderid = pdo_getcolumn(PDO_NAME.'order',array('plugin'=>'yellowpage','fightstatus' => 1,'mid'=>$_W['mid'],'status'=>0,'fkid'=>$pageid),'id');
|
|
if(!empty($orderid)){
|
|
$data['orderid'] = $orderid;
|
|
}else{
|
|
//创建订单
|
|
$canceltime = time() + $_W['wlsetting']['orderset']['cancel'] * 60;
|
|
$orderdata = [
|
|
'uniacid' => $yellowpage['uniacid'] ,
|
|
'mid' => $_W['mid'] ,
|
|
'aid' => $yellowpage['aid'] ,
|
|
'fkid' => $pageid ,
|
|
'createtime' => time() ,
|
|
'orderno' => createUniontid() ,
|
|
'price' => $claimmoney ,
|
|
'num' => 1 ,
|
|
'plugin' => 'yellowpage' ,
|
|
'payfor' => 'pageOrder' ,
|
|
'goodsprice' => $claimmoney,
|
|
'fightstatus' => 1,
|
|
'canceltime' => $canceltime,
|
|
'buyremark' => $desc,
|
|
'name' => $name,
|
|
'mobile' => $mobile
|
|
];
|
|
pdo_insert(PDO_NAME . 'order', $orderdata);
|
|
$orderid = pdo_insertid();
|
|
if(empty($orderid)){
|
|
$this->renderError('生成订单失败,请刷新重试');
|
|
}else{
|
|
$data['orderid'] = $orderid;
|
|
}
|
|
}
|
|
$data['status'] = 1;
|
|
$this->renderSuccess('请支付认领订单',$data);
|
|
}else{ //免费
|
|
$claimData = [
|
|
'uniacid' => $yellowpage['uniacid'],
|
|
'aid' => $yellowpage['aid'],
|
|
'mid' => $_W['mid'],
|
|
'pageid' => $pageid,
|
|
'createtime' => time(),
|
|
'paystatus' => 2,
|
|
'desc' => $desc,
|
|
'name' => $name,
|
|
'mobile' => $mobile
|
|
];
|
|
$res = pdo_insert(PDO_NAME . 'yellowpage_claim_lists', $claimData);
|
|
if($res){
|
|
//发送模板消息通知
|
|
$first = "用户【{$name}】申请认领114页面";//消息头部
|
|
$type = "114页面认领";//业务类型
|
|
$content = "114页面:[".$yellowpage['name']."]";//业务内容
|
|
$status = "待审核";//处理结果
|
|
$remark = "请尽快审核!";//备注信息
|
|
$time = $claimData['createtime'];//操作时间
|
|
News::noticeAgent('yellowpage' , $claimData['aid'] , $first , $type , $content , $status , $remark , $time);
|
|
$data['status'] = 0;
|
|
$this->renderSuccess('认领申请成功,请等待系统审核',$data);
|
|
}else{
|
|
$this->renderError('认领申请失败,请刷新重试');
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Comment: 付费查看接口
|
|
* Author: wlf
|
|
* Date: 2020/8/18 17:36
|
|
*/
|
|
public function pageQuery(){
|
|
global $_W,$_GPC;
|
|
$pageid = $_GPC['id'];
|
|
$data = [];
|
|
$yellowpage = pdo_get('wlmerchant_yellowpage_lists',array('id' => $pageid),array('name','uniacid','aid','two_class','one_class'));
|
|
$one_class = pdo_get(PDO_NAME.'yellowpage_cates',array('id'=>$yellowpage['one_class']),array('name','claimmoney','querymoney'));
|
|
$two_class = pdo_get(PDO_NAME.'yellowpage_cates',array('id'=>$yellowpage['two_class']),array('name','claimmoney','querymoney'));
|
|
$querymoney = !empty($two_class) ? $two_class['querymoney'] : $one_class['querymoney'];
|
|
if($querymoney > 0){
|
|
//查询之前的订单
|
|
$orderid = pdo_getcolumn(PDO_NAME.'order',array('plugin'=>'yellowpage','fightstatus' => 2,'mid'=>$_W['mid'],'status'=>0,'fkid'=>$pageid),'id');
|
|
if(!empty($orderid)){
|
|
$data['orderid'] = $orderid;
|
|
}else{
|
|
//创建订单
|
|
$canceltime = time() + $_W['wlsetting']['orderset']['cancel'] * 60;
|
|
$orderdata = [
|
|
'uniacid' => $yellowpage['uniacid'] ,
|
|
'mid' => $_W['mid'] ,
|
|
'aid' => $yellowpage['aid'] ,
|
|
'fkid' => $pageid ,
|
|
'createtime' => time() ,
|
|
'orderno' => createUniontid() ,
|
|
'price' => $querymoney ,
|
|
'num' => 1 ,
|
|
'plugin' => 'yellowpage' ,
|
|
'payfor' => 'pageOrder' ,
|
|
'goodsprice' => $querymoney,
|
|
'fightstatus' => 2,
|
|
'canceltime' => $canceltime
|
|
];
|
|
pdo_insert(PDO_NAME . 'order', $orderdata);
|
|
$orderid = pdo_insertid();
|
|
if(empty($orderid)){
|
|
$this->renderError('生成订单失败,请刷新重试');
|
|
}else{
|
|
$data['orderid'] = $orderid;
|
|
}
|
|
}
|
|
$data['status'] = 1;
|
|
$this->renderSuccess('请支付认领订单',$data);
|
|
|
|
}else{
|
|
$this->renderError('支付金额错误,请刷新重试');
|
|
}
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
* Comment: 页面纠错/举报接口
|
|
* Author: wlf
|
|
* Date: 2020/8/19 09:30
|
|
*/
|
|
public function pageCorrection(){
|
|
global $_W,$_GPC;
|
|
$pageid = $_GPC['id'];
|
|
$desc = $_GPC['desc'];
|
|
$name = $_GPC['name'];
|
|
$mobile = $_GPC['mobile'];
|
|
$type = $_GPC['type'] ? : 2; //1纠错 2举报
|
|
if(empty($pageid)){
|
|
$this->renderError('缺少关键参数');
|
|
}
|
|
if(empty($desc)){
|
|
$this->renderError('请输入描述');
|
|
}
|
|
if(empty($name)){
|
|
$this->renderError('请输入名字');
|
|
}
|
|
if(empty($mobile)){
|
|
$this->renderError('请输入联系方式');
|
|
}
|
|
$yellowpage = pdo_get('wlmerchant_yellowpage_lists',array('id' => $pageid),array('uniacid','aid'));
|
|
$correct = [
|
|
'uniacid' => $yellowpage['uniacid'],
|
|
'aid' => $yellowpage['aid'],
|
|
'mid' => $_W['mid'],
|
|
'pageid' => $pageid,
|
|
'createtime' => time(),
|
|
'desc' => $desc,
|
|
'name' => $name,
|
|
'mobile' => $mobile
|
|
];
|
|
if($type == 1){
|
|
pdo_insert(PDO_NAME . 'yellowpage_correction_lists', $correct);
|
|
}else{
|
|
pdo_insert(PDO_NAME . 'yellowpage_report_lists', $correct);
|
|
}
|
|
$res = pdo_insertid();
|
|
if(empty($res)){
|
|
$this->renderError('提交失败,请刷新重试');
|
|
}else{
|
|
$this->renderSuccess('提交成功');
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Comment: 页面收藏接口
|
|
* Author: wlf
|
|
* Date: 2020/8/19 09:48
|
|
*/
|
|
public function pageCollect(){
|
|
global $_W,$_GPC;
|
|
$pageid = $_GPC['id'];
|
|
if(empty($pageid)){
|
|
$this->renderError('缺少关键参数');
|
|
}
|
|
$collectflag = pdo_getcolumn(PDO_NAME.'yellowpage_collect',array('pageid'=>$pageid,'mid'=>$_W['mid']),'id');
|
|
if($collectflag > 0){
|
|
$res = pdo_delete('wlmerchant_yellowpage_collect',array('id'=>$collectflag));
|
|
if(empty($res)){
|
|
$this->renderError('取消收藏失败,请刷新重试');
|
|
}else{
|
|
$this->renderSuccess('取消收藏成功');
|
|
}
|
|
}else{
|
|
$yellowpage = pdo_get('wlmerchant_yellowpage_lists',array('id' => $pageid),array('uniacid','aid'));
|
|
$collectdata = [
|
|
'uniacid' => $yellowpage['uniacid'],
|
|
'aid' => $yellowpage['aid'],
|
|
'mid' => $_W['mid'],
|
|
'pageid' => $pageid,
|
|
'createtime' => time()
|
|
];
|
|
$res = pdo_insert(PDO_NAME . 'yellowpage_collect', $collectdata);
|
|
if(empty($res)){
|
|
$this->renderError('收藏失败,请刷新重试');
|
|
}else{
|
|
$this->renderSuccess('收藏成功');
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Comment: 黄页入住页面初始化接口
|
|
* Author: wlf
|
|
* Date: 2020/8/19 16:45
|
|
*/
|
|
|
|
public function getPageInfo(){
|
|
global $_W,$_GPC;
|
|
$pageid = $_GPC['id'];
|
|
$storeid = $_GPC['storeid'];
|
|
$data = [];
|
|
if($pageid > 0){
|
|
$yellowpage = pdo_get('wlmerchant_yellowpage_lists',array('id' => $pageid),['aid','detail','name','logo','mobile','thumbs','desc','address','one_class','two_class','pro_code','city_code','area_code','wechat_number','wechat_qrcode']);
|
|
$yellowpage['logo'] = tomedia($yellowpage['logo']);
|
|
$yellowpage['thumbs'] = unserialize($yellowpage['thumbs']);
|
|
$yellowpage['wechat_qrcode'] = tomedia($yellowpage['wechat_qrcode']);
|
|
if(!empty($yellowpage['detail']) && is_base64($yellowpage['detail'])) $yellowpage['detail'] = htmlspecialchars_decode(base64_decode($yellowpage['detail']));
|
|
else if(!empty($yellowpage['detail'])) $yellowpage['detail'] = htmlspecialchars_decode($yellowpage['detail']);
|
|
|
|
$data['pageinfo'] = $yellowpage;
|
|
$aid = $yellowpage['aid'];
|
|
$data['provinceid'] = $yellowpage['pro_code'];
|
|
$data['areaid'] = $yellowpage['city_code'];
|
|
$data['distid'] = $yellowpage['area_code'];
|
|
}else if($storeid > 0){
|
|
$store = pdo_get('wlmerchant_merchantdata',array('id' => $storeid),array('album','introduction','provinceid','areaid','distid','storename','aid','mobile','logo','address','describe'));
|
|
$aid = $store['aid'];
|
|
$store['album'] = unserialize($store['album']);
|
|
$store['logo'] = tomedia($store['logo']);
|
|
$data['pageinfo'] = [
|
|
'name' => $store['storename'],
|
|
'logo' => $store['logo'],
|
|
'mobile' => $store['mobile'],
|
|
'thumbs' => $store['album'],
|
|
'desc' => $store['describe'],
|
|
'address' => $store['address'],
|
|
'one_class' => 0,
|
|
'two_class' => 0,
|
|
'pro_code' => $store['provinceid'],
|
|
'city_code' => $store['areaid'],
|
|
'area_code' => $store['distid']
|
|
];
|
|
if(!empty($store['introduction']) && is_base64($store['introduction'])) $store['introduction'] = htmlspecialchars_decode(base64_decode($store['introduction']));
|
|
else if(!empty($store['introduction'])) $store['introduction'] = htmlspecialchars_decode($store['introduction']);
|
|
$data['pageinfo']['detail'] = $store['introduction'];
|
|
|
|
$data['provinceid'] = $store['provinceid'];
|
|
$data['areaid'] = $store['areaid'];
|
|
$data['distid'] = $store['distid'];
|
|
}else{
|
|
$aid = $_W['aid'];
|
|
//获取地区信息
|
|
if ($aid) {
|
|
$areaid = pdo_getcolumn(PDO_NAME . 'oparea' , [
|
|
'uniacid' => $_W['uniacid'] ,
|
|
'aid' => $aid
|
|
] , 'areaid');
|
|
}
|
|
else {
|
|
$areaid = pdo_getcolumn(PDO_NAME . 'oparea' , ['uniacid' => $_W['uniacid'] , 'aid' => 0] , 'areaid');
|
|
}
|
|
if($areaid<110100){
|
|
$areaid = 110100;
|
|
}
|
|
$area = pdo_get('wlmerchant_area' , ['id' => $areaid] , ['pid' , 'name' , 'level']);
|
|
if ($area['level'] == 3) {
|
|
$data['distid'] = $areaid;
|
|
$data['areaid'] = $area['pid'];
|
|
$data['provinceid'] = pdo_getcolumn(PDO_NAME . 'area' , ['id' => $data['areaid']] , 'pid');
|
|
}
|
|
else if ($area['level'] == 2) {
|
|
$data['distid'] = pdo_getcolumn(PDO_NAME . 'area' , ['pid' => $areaid] , 'id');
|
|
$data['areaid'] = $areaid;
|
|
$data['provinceid'] = $area['pid'];
|
|
}
|
|
else {
|
|
$data['provinceid'] = $areaid;
|
|
$data['areaid'] = pdo_getcolumn(PDO_NAME . 'area' , ['pid' => $areaid] , 'id');
|
|
$data['distid'] = pdo_getcolumn(PDO_NAME . 'area' , ['pid' => $data['areaid']] , 'id');
|
|
}
|
|
}
|
|
if(!empty($data['pageinfo']['thumbs'])){
|
|
foreach($data['pageinfo']['thumbs'] as &$thumb){
|
|
$thumb = tomedia($thumb);
|
|
}
|
|
}
|
|
//初始化信息 分类
|
|
$data['catelist'] = Yellowpage::get_cates(false,$aid);
|
|
//入驻套餐
|
|
$data['meallist'] = pdo_getall('wlmerchant_yellowpage_meals',array('uniacid' =>$_W['uniacid'] ,'aid' => $aid,'status' => 1),array('id','name','check','is_free','price','day'),'','sort DESC');
|
|
|
|
|
|
$this->renderSuccess('入驻页面初始化信息',$data);
|
|
}
|
|
|
|
/**
|
|
* Comment: 通过地区更换分类
|
|
* Author: wlf
|
|
* Date: 2020/8/19 18:29
|
|
*/
|
|
public function area2cate()
|
|
{
|
|
global $_W , $_GPC;
|
|
$provinceid = $_GPC['provinceid'];
|
|
$areaid = $_GPC['areaid'];
|
|
$distid = $_GPC['distid'];
|
|
$aid = pdo_getcolumn(PDO_NAME . 'oparea' , ['uniacid' => $_W['uniacid'] , 'areaid' => $distid] , 'aid');
|
|
if (empty($aid)) {
|
|
$aid = pdo_getcolumn(PDO_NAME . 'oparea' , ['uniacid' => $_W['uniacid'] , 'areaid' => $areaid] , 'aid');
|
|
}
|
|
if (empty($aid)) {
|
|
$aid = pdo_getcolumn(PDO_NAME . 'oparea' , ['uniacid' => $_W['uniacid'] , 'areaid' => $provinceid] , 'aid');
|
|
}
|
|
if (empty($aid)) {
|
|
$aid = $_W['aid'];
|
|
}
|
|
$categoryes = Yellowpage::get_cates(false,$aid);
|
|
$this->renderSuccess('页面分类信息' , $categoryes);
|
|
}
|
|
|
|
/**
|
|
* Comment: 黄页入驻/编辑
|
|
* Author: wlf
|
|
* Date: 2020/8/20 09:45
|
|
*/
|
|
public function pageSettlement(){
|
|
global $_W , $_GPC;
|
|
//获取参数
|
|
$data = [];
|
|
$pageid = $_GPC['pageid'];
|
|
$storeid = $_GPC['storeid']? : 0; //关联商户
|
|
$mealid = $_GPC['meralid']; //入驻类型
|
|
//获取黄页拥有人
|
|
if($storeid > 0){
|
|
$mid = pdo_getcolumn(PDO_NAME.'merchantuser',array('storeid'=>$storeid,'ismain'=>1),'mid');
|
|
}else{
|
|
$mid = $_W['mid'];
|
|
}
|
|
//获取图集
|
|
$album = $_GPC['thumbs'];
|
|
if (!empty($album)) {
|
|
$thumbs = serialize(explode(',' , $album));
|
|
}
|
|
else {
|
|
$thumbs = '';
|
|
}
|
|
$pagedata = [
|
|
'storeid' => $storeid,
|
|
'mid' => $mid,
|
|
'name' => trim($_GPC['name']),
|
|
'logo' => $_GPC['logo'],
|
|
'mobile' => $_GPC['mobile'],
|
|
'thumbs' => $thumbs,
|
|
'desc' => $_GPC['desc'],
|
|
'address' => $_GPC['address'],
|
|
'one_class' => $_GPC['one_class'],
|
|
'two_class' => $_GPC['two_class'],
|
|
'pro_code' => $_GPC['provinceid'],
|
|
'city_code' => $_GPC['areaid'],
|
|
'area_code' => $_GPC['distid'],
|
|
'lng' => $_GPC['lng'],
|
|
'lat' => $_GPC['lat'],
|
|
'wechat_number' => $_GPC['wechat_number'],
|
|
'wechat_qrcode' => $_GPC['wechat_qrcode'],
|
|
'detail' => htmlspecialchars_decode($_GPC['detail']), //黄页详情
|
|
];
|
|
//判断内容是否完善
|
|
if(!$pagedata['mobile'] && !$pagedata['wechat_number'] && !$pagedata['wechat_qrcode']) $this->renderError('联系电话&微信号&微信二维码请至少完善一个');
|
|
|
|
|
|
//获取aid
|
|
$aid = pdo_getcolumn(PDO_NAME . 'oparea' , [
|
|
'uniacid' => $_W['uniacid'] ,
|
|
'areaid' => $pagedata['distid'] ,
|
|
'status' => 1
|
|
] , 'aid');
|
|
if (empty($aid)) {
|
|
$aid = pdo_getcolumn(PDO_NAME . 'oparea' , [
|
|
'uniacid' => $_W['uniacid'] ,
|
|
'areaid' => $pagedata['areaid'] ,
|
|
'status' => 1
|
|
] , 'aid');
|
|
}
|
|
if (empty($aid)) {
|
|
$aid = pdo_getcolumn(PDO_NAME . 'oparea' , [
|
|
'uniacid' => $_W['uniacid'] ,
|
|
'areaid' => $pagedata['provinceid'] ,
|
|
'status' => 1
|
|
] , 'aid');
|
|
}
|
|
if (empty($aid)) {
|
|
$aid = 0;
|
|
}
|
|
$pagedata['aid'] = $aid ? : $_W['aid'];
|
|
|
|
if(empty($pageid)){
|
|
//创建
|
|
$pagedata['meal_id'] = $mealid;
|
|
$meal = pdo_get('wlmerchant_yellowpage_meals',array('id' => $mealid),array('is_free','price','day','check'));
|
|
if(empty($meal)){
|
|
$this->renderError('入驻类型选择错误,请刷新重试');
|
|
}
|
|
$pagedata['uniacid'] = $_W['uniacid'];
|
|
$pagedata['createtime'] = time();
|
|
pdo_insert(PDO_NAME . 'yellowpage_lists', $pagedata);
|
|
$pageid = pdo_insertid();
|
|
if($pageid > 0){
|
|
if($meal['is_free'] > 0){ //免费
|
|
$meal_endtime = time() + $meal['day'] * 86400;
|
|
if($meal['check']){
|
|
pdo_update('wlmerchant_yellowpage_lists',['meal_endtime' => $meal_endtime,'paystatus'=>1],array('id' => $pageid));
|
|
$member = pdo_get('wlmerchant_member',array('id' => $pagedata['mid']),array('realname','nickname'));
|
|
$name = $member['realname'] ? : $member['nickname'];
|
|
//发送审核通知
|
|
$first = "用户【{$name}】入驻114页面";//消息头部
|
|
$type = "114页面入驻";//业务类型
|
|
$content = "114页面:[".$pagedata['name']."]";//业务内容
|
|
$status = "待审核";//处理结果
|
|
$remark = "请尽快审核!";//备注信息
|
|
$time = time();//操作时间
|
|
News::noticeAgent('yellowpage' , $pagedata['aid'] , $first , $type , $content , $status , $remark , $time);
|
|
$data['status'] = 0;
|
|
$this->renderSuccess('页面创建成功,请等待系统审核',$data);
|
|
}else{
|
|
pdo_update('wlmerchant_yellowpage_lists',['status' =>1 ,'checkstatus' => 1,'meal_endtime' => $meal_endtime,'paystatus'=>1],array('id' => $pageid));
|
|
$data['status'] = 0;
|
|
$this->renderSuccess('页面创建成功',$data);
|
|
}
|
|
}else{ //收费 创建订单
|
|
if($meal['price'] > 0){
|
|
//创建订单
|
|
$orderdata = [
|
|
'uniacid' => $_W['uniacid'] ,
|
|
'mid' => $mid,
|
|
'aid' => $pagedata['aid'] ,
|
|
'fkid' => $pageid ,
|
|
'createtime' => time() ,
|
|
'orderno' => createUniontid() ,
|
|
'price' => $meal['price'] ,
|
|
'num' => 1,
|
|
'plugin' => 'yellowpage' ,
|
|
'payfor' => 'pageOrder' ,
|
|
'goodsprice' => $meal['price'],
|
|
'fightstatus' => 3,
|
|
'specid' => $mealid
|
|
];
|
|
pdo_insert(PDO_NAME . 'order', $orderdata);
|
|
$orderid = pdo_insertid();
|
|
if(empty($orderid)){
|
|
$this->renderError('生成订单失败,请刷新重试');
|
|
}else{
|
|
$data['orderid'] = $orderid;
|
|
$data['status'] = 1;
|
|
$this->renderSuccess('订单生成成功,需要支付',$data);
|
|
}
|
|
}else{
|
|
$this->renderError('入驻类型金额错误,请联系管理员');
|
|
}
|
|
}
|
|
}else{
|
|
$this->renderError('页面创建失败,请刷新重试');
|
|
}
|
|
}else{
|
|
//编辑
|
|
$mealid = pdo_getcolumn(PDO_NAME.'yellowpage_lists',array('id'=>$pageid),'meal_id');
|
|
$meal = pdo_get('wlmerchant_yellowpage_meals',array('id' => $mealid),array('check'));
|
|
if($meal['check']){
|
|
$pagedata['checkstatus'] = 0;
|
|
}else{
|
|
$pagedata['checkstatus'] = 1;
|
|
}
|
|
$res = pdo_update('wlmerchant_yellowpage_lists',$pagedata,array('id' => $pageid));
|
|
if($res){
|
|
if($pagedata['checkstatus'] > 0){
|
|
$data['status'] = 0;
|
|
$this->renderSuccess('信息修改成功',$data);
|
|
}else{
|
|
$member = pdo_get('wlmerchant_member',array('id' => $pagedata['mid']),array('realname','nickname'));
|
|
$name = $member['realname'] ? : $member['nickname'];
|
|
//发送审核通知
|
|
$first = "用户【{$name}】入驻114页面";//消息头部
|
|
$type = "114页面入驻";//业务类型
|
|
$content = "114页面:[".$pagedata['name']."]";//业务内容
|
|
$status = "待审核";//处理结果
|
|
$remark = "请尽快审核!";//备注信息
|
|
$time = time();//操作时间
|
|
News::noticeAgent('yellowpage' , $pagedata['aid'] , $first , $type , $content , $status , $remark , $time);
|
|
$data['status'] = 0;
|
|
$this->renderSuccess('信息修改成功,请等待系统审核',$data);
|
|
}
|
|
}else{
|
|
$this->renderError('信息修改失败,请刷新重试');
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
* Comment: 我的页面列表数据
|
|
* Author: wlf
|
|
* Date: 2020/8/20 15:15
|
|
*/
|
|
public function myPageList(){
|
|
global $_W , $_GPC;
|
|
$data = [];
|
|
$page = $_GPC['page'] ? $_GPC['page'] : 1;
|
|
$pageIndex = $_GPC['page_index'] ? $_GPC['page_index'] : 10;
|
|
$pageStart = $page * $pageIndex - $pageIndex;
|
|
|
|
$where = " WHERE uniacid = {$_W['uniacid']} AND aid = {$_W['aid']} AND mid = {$_W['mid']} ";
|
|
$list = pdo_fetchall("SELECT id,name,logo,one_class,two_class,meal_endtime,status,checkstatus,paystatus,meal_id FROM ".tablename(PDO_NAME."yellowpage_lists") .$where." ORDER BY id DESC LIMIT {$pageStart},{$pageIndex}");
|
|
if(!empty($list)){
|
|
foreach($list as &$li){
|
|
$li['logo'] = tomedia($li['logo']);
|
|
$li['oneClassName'] = pdo_getcolumn(PDO_NAME.'yellowpage_cates',array('id'=>$li['one_class']),'name');
|
|
$li['twoClassName'] = pdo_getcolumn(PDO_NAME.'yellowpage_cates',array('id'=>$li['two_class']),'name');
|
|
if($li['meal_endtime'] > 0){
|
|
$li['meal_endtime'] = date('Y-m-d H:i:s',$li['meal_endtime']);
|
|
}
|
|
$meal = pdo_get('wlmerchant_yellowpage_meals',array('id' => $li['meal_id']),array('is_free'));
|
|
if(empty($li['status'])){
|
|
if(empty($li['paystatus']) && empty($meal['is_free'])){
|
|
$li['showstatus'] = 2; //待付款
|
|
$li['orderid'] = pdo_getcolumn(PDO_NAME.'order',array('fkid'=>$li['id'],'specid'=>$li['meal_id'],'plugin'=>'yellowpage'),'id');
|
|
}else if(empty($li['checkstatus'])){
|
|
$li['showstatus'] = 3; //待审核
|
|
}else if($li['checkstatus'] == 2){
|
|
$li['showstatus'] = 4; //被驳回
|
|
}else{
|
|
$li['showstatus'] = 0; //已关闭
|
|
}
|
|
}else{
|
|
$li['showstatus'] = 1; //展示中
|
|
}
|
|
}
|
|
}
|
|
$data['list'] = $list;
|
|
if($page == 1){
|
|
$total = pdo_fetchcolumn("SELECT count(*) FROM " .tablename(PDO_NAME."yellowpage_lists") .$where);
|
|
$data['total'] = ceil($total / $pageIndex);
|
|
$data['meallist'] = pdo_getall('wlmerchant_yellowpage_meals',array('uniacid' =>$_W['uniacid'] ,'aid' => $_W['aid'],'status' => 1),array('id','name','check','is_free','price','day'),'','sort DESC');
|
|
}
|
|
$this->renderSuccess('我的列表信息数据',$data);
|
|
}
|
|
|
|
/**
|
|
* Comment: 我的页面列表上下架接口
|
|
* Author: wlf
|
|
* Date: 2020/8/20 17:33
|
|
*/
|
|
public function changeStatus(){
|
|
global $_W,$_GPC;
|
|
$pageid = $_GPC['id'];
|
|
if(empty($pageid)){
|
|
$this->renderError('缺少重要参数,请刷新重试');
|
|
}
|
|
$page = pdo_get('wlmerchant_yellowpage_lists',array('id' => $pageid),array('meal_endtime','status','checkstatus','paystatus','meal_id'));
|
|
if(empty($page['status'])){
|
|
if($page['meal_endtime'] < time()){
|
|
$this->renderError('页面已过期,请续费页面');
|
|
}
|
|
if($page['checkstatus'] == 2){
|
|
$this->renderError('审核被驳回,请重新提交审核');
|
|
}
|
|
if(empty($page['checkstatus'])){
|
|
$this->renderError('页面审核中,请耐心等待');
|
|
}
|
|
$meal = pdo_get('wlmerchant_yellowpage_meals',array('id' => $pageid),array('is_free'));
|
|
if(empty($page['paystatus']) && empty($meal['is_free'])){
|
|
$this->renderError('请先进行入驻付款');
|
|
}
|
|
$res = pdo_update('wlmerchant_yellowpage_lists',array('status' => 1),array('id' => $pageid));
|
|
if($res){
|
|
$this->renderSuccess('展示成功');
|
|
}else{
|
|
$this->renderError('展示失败,请刷新重试');
|
|
}
|
|
}else{
|
|
$res = pdo_update('wlmerchant_yellowpage_lists',array('status' => 0),array('id' => $pageid));
|
|
if($res){
|
|
$this->renderSuccess('关闭成功');
|
|
}else{
|
|
$this->renderError('关闭失败,请刷新重试');
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
/**
|
|
* Comment: 我的页面列表续费架接口
|
|
* Author: wlf
|
|
* Date: 2020/8/20 16:28
|
|
*/
|
|
public function renewPage(){
|
|
global $_W,$_GPC;
|
|
$pageid = $_GPC['pageid'];
|
|
$mealid = $_GPC['mealid'];
|
|
if(empty($pageid) || empty($mealid)){
|
|
$this->renderError('缺少重要参数,请刷新重试');
|
|
}
|
|
$page = pdo_get('wlmerchant_yellowpage_lists',array('id' => $pageid),array('aid','mid','meal_endtime'));
|
|
$meal = pdo_get('wlmerchant_yellowpage_meals',array('id' => $mealid),array('is_free','day','price','check','aid'));
|
|
if($meal['is_free']){
|
|
$meal_endtime = $page['meal_endtime'] > time() ? $page['meal_endtime'] + $meal['day'] * 86400 : time() + $meal['day'] * 86400;
|
|
$res = pdo_update('wlmerchant_yellowpage_lists',array('meal_endtime' => $meal_endtime,'meal_id' => $mealid),array('id' => $pageid));
|
|
if($res){
|
|
$data['status'] = 0;
|
|
$this->renderSuccess('续费成功',$data);
|
|
}else{
|
|
$this->renderError('续费失败,请刷新重试');
|
|
}
|
|
}else{
|
|
//创建订单
|
|
$orderdata = [
|
|
'uniacid' => $_W['uniacid'] ,
|
|
'mid' => $page['mid'],
|
|
'aid' => $page['aid'] ,
|
|
'fkid' => $pageid ,
|
|
'createtime' => time() ,
|
|
'orderno' => createUniontid() ,
|
|
'price' => $meal['price'] ,
|
|
'num' => 1,
|
|
'plugin' => 'yellowpage' ,
|
|
'payfor' => 'pageOrder' ,
|
|
'goodsprice' => $meal['price'],
|
|
'fightstatus' => 4,
|
|
'specid' => $mealid
|
|
];
|
|
pdo_insert(PDO_NAME . 'order', $orderdata);
|
|
$orderid = pdo_insertid();
|
|
if(empty($orderid)){
|
|
$this->renderError('生成订单失败,请刷新重试');
|
|
}else{
|
|
$data['orderid'] = $orderid;
|
|
$data['status'] = 1;
|
|
$this->renderSuccess('订单生成成功,需要支付',$data);
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
/**
|
|
* Comment: 收藏页面列表
|
|
* Author: wlf
|
|
* Date: 2020/8/27 14:41
|
|
*/
|
|
public function myCollectList(){
|
|
global $_W , $_GPC;
|
|
$data = [];
|
|
$page = $_GPC['page'] ? $_GPC['page'] : 1;
|
|
$pageIndex = $_GPC['page_index'] ? $_GPC['page_index'] : 10;
|
|
$pageStart = $page * $pageIndex - $pageIndex;
|
|
$lng = $_GPC['lng'];
|
|
$lat = $_GPC['lat'];
|
|
|
|
$where = " WHERE uniacid = {$_W['uniacid']} AND aid = {$_W['aid']} AND mid = {$_W['mid']} ";
|
|
$list = pdo_fetchall("SELECT pageid FROM ".tablename(PDO_NAME."yellowpage_collect") .$where." ORDER BY createtime DESC LIMIT {$pageStart},{$pageIndex}");
|
|
if(!empty($list)){
|
|
foreach($list as &$li){
|
|
$li = pdo_get('wlmerchant_yellowpage_lists',array('id' => $li['pageid']),array('id','logo','one_class','two_class','name','pv','share','mobile','lng','lat','desc','address'));
|
|
$li['logo'] = tomedia($li['logo']);
|
|
$li['oneClassName'] = pdo_getcolumn(PDO_NAME.'yellowpage_cates',array('id'=>$li['one_class']),'name');
|
|
$li['twoClassName'] = pdo_getcolumn(PDO_NAME.'yellowpage_cates',array('id'=>$li['two_class']),'name');
|
|
$li['collectNum'] = pdo_fetchcolumn('SELECT count(id) FROM '.tablename('wlmerchant_yellowpage_collect')." WHERE pageid = {$li['id']}");
|
|
$li['distance'] = Store::getdistance($lng,$lat,$li['lng'],$li['lat'],1);
|
|
}
|
|
}
|
|
$data['list'] = $list;
|
|
if($page == 1){
|
|
$total = pdo_fetchcolumn("SELECT count(*) FROM " .tablename(PDO_NAME."yellowpage_collect") .$where);
|
|
$data['total'] = ceil($total / $pageIndex);
|
|
}
|
|
$this->renderSuccess('收藏列表信息数据',$data);
|
|
}
|
|
|
|
/**
|
|
* Comment: 分享后增加浏览量的接口
|
|
* Author: wlf
|
|
* Date: 2020/09/14 14:15
|
|
*/
|
|
public function addShare(){
|
|
global $_W , $_GPC;
|
|
$id = $_GPC['id'];
|
|
pdo_update('wlmerchant_yellowpage_lists', array('share +=' => 1), array('id' => $id));
|
|
$this->renderSuccess('操作成功');
|
|
}
|
|
|
|
|
|
}
|