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.
372 lines
15 KiB
372 lines
15 KiB
<?php
|
|
defined('IN_IA') or exit('Access Denied');
|
|
|
|
class Citycard_WeliamController {
|
|
|
|
public function card_lists() {
|
|
global $_W, $_GPC;
|
|
$where = array('uniacid' => $_W['uniacid'], 'aid' => $_W['aid']);
|
|
$pindex = max(1, intval($_GPC['page']));
|
|
$psize = 15;
|
|
if ($_GPC['name']) {
|
|
$where['name LIKE'] = '%' . $_GPC['name'] . '%';
|
|
}
|
|
|
|
$lists = pdo_getslice('wlmerchant_citycard_lists', $where, array($pindex, $psize), $total, array(), '', "id DESC");
|
|
foreach ($lists as $key => &$val) {
|
|
$val['member'] = $val['mid'] ? Member::wl_member_get($val['mid'], ['nickname', 'mobile','avatar','encodename']) : [];
|
|
$val['meal'] = pdo_get('wlmerchant_citycard_meals', array('id' => $val['meal_id']));
|
|
$val['collect'] = pdo_getcolumn('wlmerchant_citycard_collect', array('cardid' => $val['id']), 'COUNT(cardid)');
|
|
$val['one_class_name'] = pdo_getcolumn('wlmerchant_citycard_cates', array('id' => $val['one_class']), 'name');
|
|
$val['two_class_name'] = pdo_getcolumn('wlmerchant_citycard_cates', array('id' => $val['two_class']), 'name');
|
|
//如果名片没有logo 则使用 用户头条代替
|
|
$val['logo'] = !empty($val['logo']) ? $val['logo'] : $val['member']['avatar'];
|
|
|
|
}
|
|
$pager = wl_pagination($total, $pindex, $psize);
|
|
$checkstatus = array(['class' => 'btn-warning', 'text' => '待审核'], ['class' => 'btn-primary', 'text' => '已通过'], ['class' => 'btn-danger', 'text' => '已驳回']);
|
|
|
|
include wl_template('citycard/card_lists');
|
|
}
|
|
|
|
public function card_edit() {
|
|
global $_W, $_GPC;
|
|
$id = intval($_GPC['id']);
|
|
|
|
if (checksubmit('submit')) {
|
|
$location_info = Citycard::lnglat_to_adinfo($_GPC['location']);
|
|
|
|
$data = $_GPC['item'];
|
|
if(empty($data['mid'])){
|
|
wl_message('请选择关联用户','', 'error');
|
|
}
|
|
$data['lng'] = $location_info['lng'] OR wl_message('请选择坐标',referer(),'error');
|
|
$data['lat'] = $location_info['lat'] OR wl_message('请选择坐标',referer(),'error');
|
|
$data['pro_code'] = $location_info['pro_code'];
|
|
$data['city_code'] = $location_info['city_code'];
|
|
$data['area_code'] = $location_info['area_code'];
|
|
$data['one_class'] = intval($_GPC['category']['parentid']) OR wl_message('请选择一级分类',referer(),'error');;
|
|
$data['two_class'] = intval($_GPC['category']['childid']) OR wl_message('请选择二级分类',referer(),'error');;
|
|
$data['meal_endtime'] = strtotime($data['meal_endtime']);
|
|
$data['top_endtime'] = strtotime($data['top_endtime']);
|
|
|
|
if (!empty($id)) {
|
|
pdo_update('wlmerchant_citycard_lists', $data, array('id' => $id));
|
|
} else {
|
|
$data['uniacid'] = $_W['uniacid'];
|
|
$data['aid'] = $_W['aid'];
|
|
$data['paystatus'] = 1;
|
|
$data['checkstatus'] = 1;
|
|
$data['createtime'] = time();
|
|
pdo_insert('wlmerchant_citycard_lists', $data);
|
|
$id = pdo_insertid();
|
|
}
|
|
wl_message('编辑名片成功', web_url('citycard/citycard/card_edit', array('id' => $id)), 'success');
|
|
}
|
|
|
|
if (!empty($id)) {
|
|
$item = pdo_get('wlmerchant_citycard_lists', array('uniacid' => $_W['uniacid'], 'id' => $id));
|
|
} else {
|
|
$item = ['sort' => 100, 'show_addr' => 1, 'show_mobile' => 1, 'show_wechat' => 1, 'status' => 1, 'meal_endtime' => time() + 365 * 24 * 3600, 'top_endtime' => time() + 30 * 24 * 3600];
|
|
}
|
|
$meals = pdo_getall('wlmerchant_citycard_meals', array('uniacid' => $_W['uniacid'], 'aid' => $_W['aid']));
|
|
$categorys = Citycard::get_cates();
|
|
|
|
//如果名片没有logo 则使用 用户头条代替
|
|
$avatar = pdo_getcolumn(PDO_NAME."member",['id'=>$item['mid']],'avatar');
|
|
$item['logo'] = !empty($item['logo']) ? $item['logo'] : $avatar;
|
|
|
|
include wl_template('citycard/card_edit');
|
|
}
|
|
|
|
public function card_del() {
|
|
global $_W, $_GPC;
|
|
$id = $_GPC['id'] ?: $_GPC['ids'];
|
|
|
|
$items = pdo_getall('wlmerchant_citycard_lists', array('id' => $id, 'uniacid' => $_W['uniacid']), array('id'));
|
|
foreach ($items as $item) {
|
|
pdo_delete('wlmerchant_citycard_lists', array('id' => $item['id']));
|
|
}
|
|
|
|
show_json(1, array('url' => referer()));
|
|
}
|
|
|
|
public function card_check_status() {
|
|
global $_W, $_GPC;
|
|
$id = $_GPC['id'] ?: $_GPC['ids'];
|
|
$checkstatus = intval($_GPC['status']);
|
|
|
|
$items = pdo_getall('wlmerchant_citycard_lists', array('id' => $id, 'uniacid' => $_W['uniacid']), array('id'));
|
|
$update = array('checkstatus' => $checkstatus);
|
|
if($checkstatus == 1){
|
|
$update['status'] = 1;
|
|
}
|
|
foreach ($items as $item) {
|
|
pdo_update('wlmerchant_citycard_lists',$update,array('id' => $item['id']));
|
|
}
|
|
|
|
show_json(1, array('url' => referer()));
|
|
}
|
|
|
|
public function cate_lists() {
|
|
global $_W, $_GPC;
|
|
$categorys = Citycard::get_cates();
|
|
include wl_template('citycard/cate_lists');
|
|
}
|
|
|
|
public function cate_edit() {
|
|
global $_W, $_GPC;
|
|
$id = intval($_GPC['id']);
|
|
|
|
if (checksubmit('submit')) {
|
|
$data = $_GPC['item'];
|
|
if (!empty($id)) {
|
|
pdo_update('wlmerchant_citycard_cates', $data, array('id' => $id));
|
|
} else {
|
|
$data['uniacid'] = $_W['uniacid'];
|
|
$data['aid'] = $_W['aid'];
|
|
pdo_insert('wlmerchant_citycard_cates', $data);
|
|
}
|
|
wl_message('编辑分类成功', web_url('citycard/citycard/cate_lists'), 'success');
|
|
}
|
|
|
|
$item = $id ? pdo_get('wlmerchant_citycard_cates', array('uniacid' => $_W['uniacid'], 'id' => $id)) : ['sort' => 100, 'enabled' => 1, 'parentid' => intval($_GPC['parentid'])];
|
|
if (!empty($item['parentid'])) {
|
|
$item['parentname'] = pdo_getcolumn('wlmerchant_citycard_cates', ['id' => $item['parentid']], 'name');
|
|
}
|
|
|
|
include wl_template('citycard/cate_edit');
|
|
}
|
|
|
|
public function cate_del() {
|
|
global $_W, $_GPC;
|
|
$id = $_GPC['id'] ?: $_GPC['ids'];
|
|
|
|
$items = pdo_getall('wlmerchant_citycard_cates', array('id' => $id, 'uniacid' => $_W['uniacid']), array('id'));
|
|
foreach ($items as $item) {
|
|
pdo_delete('wlmerchant_citycard_cates', array('id' => $item['id']));
|
|
if (empty($item['parentid'])) {
|
|
pdo_delete('wlmerchant_citycard_cates', array('parentid' => $item['id']));
|
|
}
|
|
}
|
|
|
|
show_json(1, array('url' => referer()));
|
|
}
|
|
|
|
public function cate_enabled() {
|
|
global $_W, $_GPC;
|
|
$id = $_GPC['id'];
|
|
$status = $_GPC['status'] ?: 0;
|
|
$res = pdo_update("wlmerchant_citycard_cates", ['enabled' => $status], ['id' => $id]);
|
|
if ($res) {
|
|
Commons::sRenderSuccess('修改成功');
|
|
} else {
|
|
Commons::sRenderError('修改失败,请刷新重试!');
|
|
}
|
|
}
|
|
|
|
public function meal_lists() {
|
|
global $_W, $_GPC;
|
|
$pindex = max(1, intval($_GPC['page']));
|
|
$psize = 15;
|
|
$lists = pdo_getslice('wlmerchant_citycard_meals', array('uniacid' => $_W['uniacid'], 'aid' => $_W['aid']), array($pindex, $psize), $total, array(), '', "sort DESC");
|
|
|
|
foreach ($lists as $key => &$val) {
|
|
$val['usenum'] = intval(pdo_getcolumn('wlmerchant_citycard_lists', array('uniacid' => $_W['uniacid'], 'meal_id' => $val['id']), array('COUNT(id)')));
|
|
}
|
|
$pager = wl_pagination($total, $pindex, $psize);
|
|
include wl_template('citycard/meal_lists');
|
|
}
|
|
|
|
public function meal_edit() {
|
|
global $_W, $_GPC;
|
|
$id = intval($_GPC['id']);
|
|
|
|
if (checksubmit('submit')) {
|
|
$data = $_GPC['item'];
|
|
if($data['price'] < 0.01){
|
|
$data['is_free'] = 1;
|
|
}
|
|
if($data['is_free'] > 0 && $data['vipstatus'] == 1){
|
|
$data['vipstatus'] = 0;
|
|
}
|
|
if (!empty($id)) {
|
|
pdo_update('wlmerchant_citycard_meals', $data, array('id' => $id));
|
|
} else {
|
|
$data['uniacid'] = $_W['uniacid'];
|
|
$data['aid'] = $_W['aid'];
|
|
pdo_insert('wlmerchant_citycard_meals', $data);
|
|
}
|
|
wl_message('编辑套餐成功', web_url('citycard/citycard/meal_lists'), 'success');
|
|
}
|
|
|
|
if (!empty($id)) {
|
|
$item = pdo_get('wlmerchant_citycard_meals', array('uniacid' => $_W['uniacid'], 'id' => $id));
|
|
} else {
|
|
$item = ['sort' => 100, 'status' => 1];
|
|
}
|
|
include wl_template('citycard/meal_edit');
|
|
}
|
|
|
|
public function meal_del() {
|
|
global $_W, $_GPC;
|
|
$id = $_GPC['id'] ?: $_GPC['ids'];
|
|
|
|
$items = pdo_getall('wlmerchant_citycard_meals', array('id' => $id, 'uniacid' => $_W['uniacid']), array('id'));
|
|
foreach ($items as $item) {
|
|
pdo_delete('wlmerchant_citycard_meals', array('id' => $item['id']));
|
|
}
|
|
|
|
show_json(1, array('url' => referer()));
|
|
}
|
|
|
|
public function top_lists() {
|
|
global $_W, $_GPC;
|
|
$pindex = max(1, intval($_GPC['page']));
|
|
$psize = 15;
|
|
$lists = pdo_getslice('wlmerchant_citycard_tops', array('uniacid' => $_W['uniacid'], 'aid' => $_W['aid']), array($pindex, $psize), $total, array(), '', "sort DESC");
|
|
$pager = wl_pagination($total, $pindex, $psize);
|
|
|
|
include wl_template('citycard/top_lists');
|
|
}
|
|
|
|
public function top_edit() {
|
|
global $_W, $_GPC;
|
|
$id = intval($_GPC['id']);
|
|
|
|
if (checksubmit('submit')) {
|
|
$data = $_GPC['item'];
|
|
if($data['price'] < 0.01){
|
|
wl_message('置顶金额不能为0','', 'error');
|
|
}
|
|
if($data['vipprice'] < 0.01 && $data['vipstatus'] == 1){
|
|
wl_message('会员优惠置顶金额不能为0','', 'error');
|
|
}
|
|
if (!empty($id)) {
|
|
pdo_update('wlmerchant_citycard_tops', $data, array('id' => $id));
|
|
} else {
|
|
$data['uniacid'] = $_W['uniacid'];
|
|
$data['aid'] = $_W['aid'];
|
|
pdo_insert('wlmerchant_citycard_tops', $data);
|
|
}
|
|
wl_message('编辑置顶套餐成功', web_url('citycard/citycard/top_lists'), 'success');
|
|
}
|
|
|
|
if (!empty($id)) {
|
|
$item = pdo_get('wlmerchant_citycard_tops', array('uniacid' => $_W['uniacid'], 'id' => $id));
|
|
} else {
|
|
$item = ['sort' => 100, 'status' => 1];
|
|
}
|
|
include wl_template('citycard/top_edit');
|
|
}
|
|
|
|
public function top_del() {
|
|
global $_W, $_GPC;
|
|
$id = $_GPC['id'] ?: $_GPC['ids'];
|
|
|
|
$items = pdo_getall('wlmerchant_citycard_tops', array('id' => $id, 'uniacid' => $_W['uniacid']), array('id'));
|
|
foreach ($items as $item) {
|
|
pdo_delete('wlmerchant_citycard_tops', array('id' => $item['id']));
|
|
}
|
|
|
|
show_json(1, array('url' => referer()));
|
|
}
|
|
|
|
public function setting() {
|
|
global $_W, $_GPC;
|
|
$settings = Setting::agentsetting_read('citycard');
|
|
if (checksubmit('submit')) {
|
|
$data = $_GPC['settings'];
|
|
$data['agreement'] = htmlspecialchars_decode($data['agreement']);
|
|
Setting::agentsetting_save($data, 'citycard');
|
|
wl_message('更新设置成功!', web_url('citycard/citycard/setting'));
|
|
}
|
|
$communitylist = pdo_getall('wlmerchant_community', array('uniacid' => $_W['uniacid'], 'aid' => $_W['aid']), array('id', 'communname'));
|
|
|
|
include wl_template('citycard/setting');
|
|
}
|
|
|
|
public function order_lists(){
|
|
global $_W, $_GPC;
|
|
$pindex = max(1, intval($_GPC['page']));
|
|
$psize = 20;
|
|
|
|
$where = array();
|
|
$where['uniacid'] = $_W['uniacid'];
|
|
$where['plugin'] = 'citycard';
|
|
$where['status>'] = 1;
|
|
$where['status!='] = 5;
|
|
|
|
if($_GPC['fightstatus']){
|
|
$where['fightstatus'] = $_GPC['fightstatus'];
|
|
}
|
|
if($_GPC['keyword']){
|
|
$keyword = $_GPC['keyword'];
|
|
if($_GPC['keywordtype'] == 1){
|
|
$params[':name'] = "%{$keyword}%";
|
|
$members = pdo_fetchall("SELECT * FROM ".tablename('wlmerchant_member')." WHERE uniacid = {$_W['uniacid']} AND nickname LIKE :name",$params);
|
|
if($members){
|
|
$mids = "(";
|
|
foreach ($members as $key => $v) {
|
|
if($key == 0){
|
|
$mids.= $v['id'];
|
|
}else{
|
|
$mids.= ",".$v['id'];
|
|
}
|
|
}
|
|
$mids.= ")";
|
|
$where['mid#'] = $mids;
|
|
}
|
|
}else if($_GPC['keywordtype'] == 2){
|
|
$params[':name'] = "%{$keyword}%";
|
|
$members = pdo_fetchall("SELECT * FROM ".tablename('wlmerchant_member')." WHERE uniacid = {$_W['uniacid']} AND mobile LIKE :name",$params);
|
|
if($members){
|
|
$mids = "(";
|
|
foreach ($members as $key => $v) {
|
|
if($key == 0){
|
|
$mids.= $v['id'];
|
|
}else{
|
|
$mids.= ",".$v['id'];
|
|
}
|
|
}
|
|
$mids.= ")";
|
|
$where['mid#'] = $mids;
|
|
}
|
|
}else if($_GPC['keywordtype'] == 3){
|
|
$where['orderno'] = $keyword;
|
|
}
|
|
}
|
|
|
|
if($_GPC['time_limit']){
|
|
$time_limit = $_GPC['time_limit'];
|
|
$starttime = strtotime($_GPC['time_limit']['start']);
|
|
$endtime = strtotime($_GPC['time_limit']['end']) ;
|
|
$where['paytime>'] = $starttime;
|
|
$where['paytime<'] = $endtime+86400;
|
|
}
|
|
if (empty($starttime) || empty($endtime)) {
|
|
$starttime = strtotime('-1 month');
|
|
$endtime = time();
|
|
}
|
|
|
|
$payonlinelist = Util::getNumData('*','wlmerchant_order',$where,'paytime DESC',$pindex,$psize,1);
|
|
$pager = $payonlinelist[1];
|
|
$list = $payonlinelist[0];
|
|
foreach ($list as $key => &$li) {
|
|
$member = pdo_get('wlmerchant_member',array('id' => $li['mid']),array('avatar','nickname'));
|
|
$li['avatar'] = tomedia($member['avatar']);
|
|
$li['nickname'] = $member['nickname'];
|
|
if($li['fightstatus'] == 1){
|
|
$li['goodsname'] = pdo_getcolumn(PDO_NAME.'citycard_meals',array('id'=>$li['fkid']),'name');
|
|
}else{
|
|
$li['goodsname'] = pdo_getcolumn(PDO_NAME.'citycard_tops',array('id'=>$li['fkid']),'name');
|
|
}
|
|
$li['paytime'] = date('Y-m-d H:i:s',$li['paytime']);
|
|
}
|
|
|
|
|
|
include wl_template('citycard/order_lists');
|
|
|
|
}
|
|
|
|
}
|