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.
239 lines
8.3 KiB
239 lines
8.3 KiB
<?php
|
|
defined('IN_IA') or exit('Access Denied');
|
|
|
|
class Realcard_WeliamController {
|
|
|
|
public function cardlist() {
|
|
global $_W, $_GPC;
|
|
$wheresql = " WHERE uniacid = :uniacid ";
|
|
$param = array(':uniacid' => $_W['uniacid']);
|
|
$keyword = trim($_GPC['keyword']);
|
|
if(!empty($keyword)) {
|
|
$wheresql .= " AND (cardsn LIKE '%{$keyword}%' or remark LIKE '%{$keyword}%') ";
|
|
}
|
|
if($_GPC['startkeyword']){
|
|
$startword = trim($_GPC['startkeyword']);
|
|
$wheresql .= " AND cardsn >= '{$startword}'";
|
|
}
|
|
if($_GPC['endkeyword']){
|
|
$endword = trim($_GPC['endkeyword']);
|
|
$wheresql .= " AND cardsn <= '{$endword}'";
|
|
}
|
|
$starttime = empty($_GPC['time']['start']) ? TIMESTAMP - 86399 * 30 : strtotime($_GPC['time']['start']);
|
|
$endtime = empty($_GPC['time']['end']) ? TIMESTAMP: strtotime($_GPC['time']['end']);
|
|
if(!empty($_GPC['time']['start'])) {
|
|
$wheresql .= " AND createtime >= '{$starttime}' AND createtime <= '{$endtime}'";
|
|
}
|
|
if (!empty($_GPC['status'])) {
|
|
$wheresql .= " AND status = {$_GPC['status']}";
|
|
}
|
|
$pindex = max(1, intval($_GPC['page']));
|
|
$psize = 15;
|
|
$list = pdo_fetchall("SELECT * FROM ".tablename(PDO_NAME.'halfcard_realcard'). $wheresql . ' ORDER BY `id` DESC LIMIT '.($pindex - 1) * $psize.','. $psize, $param);
|
|
if (!empty($list)) {
|
|
foreach ($list as $index => &$qrcode) {
|
|
$path = h5_url('pages/mainPages/realCard/realCard',['cardsn' => $qrcode['cardsn'],'salt' => $qrcode['salt']]);
|
|
$qrcode['showurl'] = web_url('halfcard/realcard/qrcodeimg', array('url' => $path));
|
|
if($qrcode['levelid']){
|
|
$qrcode['levelname'] = pdo_getcolumn(PDO_NAME.'halflevel',array('id'=>$qrcode['levelid']),'name');
|
|
}else {
|
|
$qrcode['levelname'] = $_W['wlsetting']['halflevel']['name'];
|
|
}
|
|
}
|
|
}
|
|
$total = pdo_fetchcolumn('SELECT COUNT(id) FROM ' . tablename(PDO_NAME.'halfcard_realcard') . $wheresql, $param);
|
|
$pager = wl_pagination($total, $pindex, $psize);
|
|
|
|
if($_GPC['export'] != ''){
|
|
$this->export($wheresql, $param);
|
|
}
|
|
include wl_template('realcard/qr-list');
|
|
}
|
|
|
|
public function addcard() {
|
|
global $_W, $_GPC;
|
|
$levels = pdo_fetchall("SELECT * FROM ".tablename('wlmerchant_halflevel')."WHERE uniacid = {$_W['uniacid']} AND status = 1 ORDER BY sort DESC");
|
|
if(checksubmit('submit')){
|
|
$days = intval($_GPC['days']);
|
|
$allnum = intval($_GPC['qr_num']);
|
|
$levelid = intval($_GPC['levelid']);
|
|
include wl_template('realcard/qr-process');
|
|
exit;
|
|
}
|
|
include wl_template('realcard/qr-post');
|
|
}
|
|
|
|
public function deletemodal(){
|
|
global $_W, $_GPC;
|
|
$id = $_GPC['id'];
|
|
$realcard = pdo_get('wlmerchant_halfcard_realcard',array('id' => $id));
|
|
|
|
if($_W['ispost']){
|
|
if($id){
|
|
if($_GPC['range']){
|
|
$res = pdo_delete('wlmerchant_halfcard_realcard',array('remark'=>$realcard['remark']));
|
|
}else {
|
|
$res = pdo_delete('wlmerchant_halfcard_realcard',array('id'=>$id));
|
|
}
|
|
}
|
|
if($res){
|
|
show_json(1,'删除成功');
|
|
}else {
|
|
show_json(0,'删除失败,请重试');
|
|
}
|
|
}
|
|
include wl_template('realcard/deletemodel');
|
|
}
|
|
|
|
public function icerealcard(){
|
|
global $_W, $_GPC;
|
|
$id = $_GPC['id'];
|
|
$realcard = pdo_get('wlmerchant_halfcard_realcard',array('id' => $id));
|
|
if($_W['ispost']){
|
|
if($id){
|
|
$data = array(
|
|
'icestatus'=> trim($_GPC['icestatus']),
|
|
);
|
|
if($_GPC['range']){
|
|
$res = pdo_update('wlmerchant_halfcard_realcard',$data,array('remark' => $realcard['remark']));
|
|
}else {
|
|
$res = pdo_update('wlmerchant_halfcard_realcard',$data,array('id' => $id));
|
|
}
|
|
}
|
|
if($res){
|
|
show_json(1,'操作成功');
|
|
}else {
|
|
show_json(0,'操作失败,请重试');
|
|
}
|
|
}
|
|
include wl_template('realcard/icemodel');
|
|
}
|
|
|
|
//删除实卡
|
|
public function deletecard(){
|
|
global $_W, $_GPC;
|
|
$ids = $_GPC['ids'];
|
|
if ($ids) {
|
|
foreach ($ids as $key => $id) {
|
|
pdo_delete('wlmerchant_halfcard_realcard',array('id'=>$id));
|
|
}
|
|
die(json_encode(array('errno' => 0, 'message' => '', 'id' => $ids)));
|
|
}
|
|
}
|
|
|
|
public function editrealcard() {
|
|
global $_W, $_GPC;
|
|
$id = $_GPC['id'];
|
|
$realcard = pdo_get('wlmerchant_halfcard_realcard',array('id' => $id));
|
|
$levels = pdo_fetchall("SELECT * FROM ".tablename('wlmerchant_halflevel')."WHERE uniacid = {$_W['uniacid']} AND status = 1 ORDER BY sort DESC");
|
|
if($_W['ispost']){
|
|
if($id){
|
|
$data = array(
|
|
'days' => trim($_GPC['days']),
|
|
'levelid' => trim($_GPC['levelid']),
|
|
'remark'=> trim($_GPC['remark'])
|
|
);
|
|
if($_GPC['range']){
|
|
$res = pdo_update('wlmerchant_halfcard_realcard',$data,array('remark' => $realcard['remark']));
|
|
}else {
|
|
$res = pdo_update('wlmerchant_halfcard_realcard',$data,array('id' => $id));
|
|
}
|
|
}
|
|
if($res){
|
|
show_json(1,'操作成功');
|
|
}else {
|
|
show_json(0,'操作失败,请重试');
|
|
}
|
|
}
|
|
include wl_template('realcard/qr-model');
|
|
}
|
|
|
|
public function get(){
|
|
global $_W,$_GPC;
|
|
$settings = Setting::wlsetting_read('halfcard');
|
|
$numbers = pdo_getcolumn(PDO_NAME.'halfcard_realcard', array('uniacid' => $_W['uniacid']), array('COUNT(id)'));
|
|
$firstnum = 80000000;
|
|
$qrinsert = array(
|
|
'uniacid' => $_W['uniacid'],
|
|
'days' => intval($_GPC['days']),
|
|
'cardsn' => empty($numbers) ? $firstnum + 1 : $firstnum + 1 + $numbers,
|
|
'salt' => random(8),
|
|
'createtime' => TIMESTAMP,
|
|
'status' => '1',
|
|
'levelid'=> $_GPC['levelid'],
|
|
'remark' => trim($_GPC['remark'])
|
|
);
|
|
$result = Util::long2short(h5_url('pages/mainPages/realCard/realCard', array('cardsn' => $qrinsert['cardsn'], 'salt' => $qrinsert['salt'])));
|
|
if (!is_error($result) && $result['short_url'] != 'h') {
|
|
$qrinsert['url'] = $result['short_url'];
|
|
}
|
|
pdo_insert(PDO_NAME.'halfcard_realcard', $qrinsert);
|
|
die(json_encode(array('result' => 1)));
|
|
}
|
|
|
|
public function export($wheresql, $param) {
|
|
global $_W,$_GPC;
|
|
if (empty($wheresql) || empty($param)) {
|
|
return FALSE;
|
|
}
|
|
$settings = Setting::wlsetting_read('halfcard');
|
|
$list = pdo_fetchall("SELECT * FROM ".tablename(PDO_NAME.'halfcard_realcard'). $wheresql . ' ORDER BY `id` DESC', $param);
|
|
/* 输出表头 */
|
|
$filter = array(
|
|
'showurl' => '二维码',
|
|
'cardsn' => '实卡编号',
|
|
'days' => '包含时长',
|
|
'status' => '使用状态',
|
|
'createtime' => '生成时间',
|
|
'bindtime' => '绑定时间',
|
|
);
|
|
$data = array();
|
|
foreach ($list as $k => $v) {
|
|
$v['showurl'] = $v['url'] ? $v['url'] : h5_url('pages/mainPages/realCard/realCard',array('cardsn' => $v['cardsn'],'salt' => $v['salt'])) ;
|
|
foreach ($filter as $key => $title) {
|
|
if ($key == 'createtime') {
|
|
$data[$k][$key] = date('Y-m-d H:i:s', $v[$key]);
|
|
}elseif($key == 'status'){
|
|
switch ($v[$key]) {
|
|
case '1':
|
|
$data[$k][$key] = '未绑定';
|
|
break;
|
|
case '2':
|
|
$data[$k][$key] = '已绑定';
|
|
break;
|
|
default:
|
|
$data[$k][$key] = '已失效';
|
|
break;
|
|
}
|
|
}elseif($key == 'days'){
|
|
$data[$k][$key] = $v[$key] . '天';
|
|
}elseif($key == 'bindtime'){
|
|
$data[$k][$key] = !empty($v[$key]) ? date('Y-m-d H:i:s', $v[$key]) : '未绑定';
|
|
}else {
|
|
$data[$k][$key] = $v[$key];
|
|
}
|
|
}
|
|
}
|
|
util_csv::export_csv_2($data, $filter, '全部数据.csv');
|
|
exit;
|
|
}
|
|
|
|
public function qrcodeimg() {
|
|
global $_W, $_GPC;
|
|
$url = $_GPC['url'];
|
|
m('qrcode/QRcode') -> png($url, false, QR_ECLEVEL_H, 5);
|
|
}
|
|
|
|
public function longToshort(){
|
|
global $_W, $_GPC;
|
|
$list = pdo_fetchall("SELECT * FROM ".tablename('wlmerchant_halfcard_realcard')."WHERE uniacid = {$_W['uniacid']} AND url = '' ORDER BY id DESC");
|
|
foreach ($list as $li){
|
|
$result = Util::long2short(h5_url('pages/mainPages/realCard/realCard',['cardsn' => $li['cardsn'],'salt' => $li['salt']]));
|
|
if (!is_error($result) && $result['short_url'] != 'h') {
|
|
pdo_update('wlmerchant_halfcard_realcard',array('url' => $result['short_url']),array('id' => $li['id']));
|
|
}
|
|
}
|
|
show_json(1);
|
|
}
|
|
|
|
}
|