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.
4926 lines
230 KiB
4926 lines
230 KiB
<?php
|
|
defined('IN_IA') or exit('Access Denied');
|
|
class StoreModuleUniapp extends Uniapp
|
|
{
|
|
|
|
public function __construct(){
|
|
global $_W , $_GPC;
|
|
$apiList = ['storeInfo','storeNewList','orderList','storeMember'];
|
|
if(in_array($_GPC['do'],$apiList)){
|
|
//判断资格
|
|
$where = " WHERE uniacid = {$_W['uniacid']} AND storeid = {$_GPC['storeid']} AND mid = {$_W['mid']} AND ismain != 2 AND enabled = 1 ";
|
|
$flag = pdo_fetch("SELECT * FROM " . tablename('wlmerchant_merchantuser') .$where);
|
|
if (empty($flag)) {
|
|
$this->renderError('您无权管理该商户',['url'=>h5_url('pages/mainPages/index/index')]);
|
|
}
|
|
}
|
|
//判断过期
|
|
$overdueApiList = ['createGoods','changeGoodsStatus','commentReply','saveGoods','addDynamicPage','addDynamic','checkcodeCash','commentReply'];
|
|
if(in_array($_GPC['do'],$overdueApiList)){
|
|
$enabled = pdo_getcolumn(PDO_NAME.'merchantdata',array('id'=>$_GPC['storeid']),'enabled');
|
|
if($enabled == 2){
|
|
$this->renderError('商户暂停营业中,无法进行此操作');
|
|
}else if($enabled == 3){
|
|
$this->renderError('商户已过期,无法进行此操作');
|
|
}else if($enabled == 4){
|
|
$this->renderError('商户已删除,无法进行此操作');
|
|
}else if($enabled == 5){
|
|
$this->renderError('商户审核中,无法进行此操作');
|
|
}else if($enabled == 6){
|
|
$this->renderError('商户未在入驻中,无法进行此操作');
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Comment: 获取商户列表信息
|
|
* Author: zzw
|
|
* Date: 2019/8/6 15:41
|
|
*/
|
|
public function homeList()
|
|
{
|
|
global $_W , $_GPC;
|
|
#1、获取参数/设置信息
|
|
$set = Setting::agentsetting_read("pluginlist");
|
|
$page = $_GPC['page'] ? $_GPC['page'] : 1;
|
|
$page_index = $_GPC['page_index'] ? $_GPC['page_index'] : 10;
|
|
$page_start = $page * $page_index - $page_index;
|
|
$lng = $_GPC['lng'] ? $_GPC['lng'] : 0;//用户当前所在经度 104.0091133118 经度
|
|
$lat = $_GPC['lat'] ? $_GPC['lat'] : 0;//用户当前所在纬度 30.5681964123 纬度
|
|
$order = $_GPC['order'] ? $_GPC['order'] : $set['sjsort'];//排序方式
|
|
$cateOne = $_GPC['cate_one'] ? : 0;//一级分类id
|
|
$cateTwe = $_GPC['cate_two'] ? : 0;//二级分类id
|
|
$regionId = $_GPC['region_id'] ? : 0;
|
|
$search = trim($_GPC['search']); //搜索 1520定制
|
|
if ($regionId > 0) $getAid = pdo_getcolumn(PDO_NAME . "oparea" , [
|
|
'areaid' => $regionId ,
|
|
'status' => 1 ,
|
|
'uniacid' => $_W['uniacid']
|
|
] , 'aid');
|
|
$aid = $getAid > 0 ? $getAid : $_W['aid'];
|
|
$is_total = $_GPC['is_total'] ? : 0;//0=不获取总页数;1=获取总页数
|
|
#2、生成基本条件
|
|
|
|
if(empty($search)){
|
|
$getShopWhere = " WHERE uniacid = {$_W['uniacid']} AND aid = {$aid} AND status = 2 AND enabled = 1 AND listshow = 0 ";
|
|
if ($cateOne > 0) {
|
|
$cateWhere = " WHERE onelevel = {$cateOne} ";
|
|
if ($cateTwe > 0) $cateWhere .= " AND twolevel = {$cateTwe} ";
|
|
$ids = pdo_fetchall("SELECT * FROM " . tablename(PDO_NAME . "merchant_cate") . $cateWhere);
|
|
$getShopWhere .= " AND id in (" . implode(',' , array_column($ids , 'sid')) . ") ";
|
|
}
|
|
}else{
|
|
$getShopWhere = " AND uniacid = {$_W['uniacid']} AND aid = {$aid} AND status = 2 AND enabled = 1 AND listshow = 0 ";
|
|
//分类
|
|
$sercate = pdo_get(PDO_NAME.'category_store',array('uniacid'=>$_W['uniacid'],'aid'=>$_W['aid'],'name' => $search),['id','parentid']);
|
|
if(!empty($sercate)){
|
|
if($sercate['parentid'] > 0 ){
|
|
$ids = pdo_fetchall("SELECT * FROM " . tablename(PDO_NAME . "merchant_cate") . " WHERE twolevel = {$sercate['id']}");
|
|
}else{
|
|
$ids = pdo_fetchall("SELECT * FROM " . tablename(PDO_NAME . "merchant_cate") . " WHERE onelevel = {$sercate['id']}");
|
|
}
|
|
}
|
|
if(empty($ids)){
|
|
$getShopWhere = " WHERE ( storename LIKE '%{$search}%' OR `describe` LIKE '%{$search}%' ) " .$getShopWhere;
|
|
}else{
|
|
$getShopWhere = " WHERE ( storename LIKE '%{$search}%' OR `describe` LIKE '%{$search}%' OR id in (" . implode(',' , array_column($ids , 'sid')) . ") ) " .$getShopWhere;
|
|
}
|
|
}
|
|
#2、根据排序规则获取数据信息
|
|
if ($order == 2) {
|
|
//按照距离排序
|
|
$list = pdo_fetchall("SELECT id,location FROM " . tablename(PDO_NAME . "merchantdata") . $getShopWhere);
|
|
foreach ($list as $index => &$item) {
|
|
$location = unserialize($item['location']);
|
|
$item['length'] = intval(Store::getdistance($location['lng'] , $location['lat'] , $lng , $lat));
|
|
}
|
|
$length = array_column($list , 'length');
|
|
array_multisort($length , SORT_ASC , $list);
|
|
$list = array_splice($list , $page_start , $page_index);
|
|
}
|
|
else {
|
|
//获取排序方式 1 = 创建时间,2 = 店铺距离,3 = 默认设置,4 = 浏览人气
|
|
switch ($order) {
|
|
case 1:
|
|
$getShopWhere .= " ORDER BY createtime DESC ";
|
|
break;
|
|
case 3:
|
|
$getShopWhere .= " ORDER BY listorder DESC,id DESC ";
|
|
break;
|
|
case 4:
|
|
$getShopWhere .= " ORDER BY pv DESC ";
|
|
break;
|
|
}
|
|
$list = pdo_fetchall("SELECT id FROM " . tablename(PDO_NAME . "merchantdata") . $getShopWhere . " LIMIT {$page_start},{$page_index} ");
|
|
}
|
|
#3、获取最新的商户信息
|
|
foreach ($list as $key => &$val) {
|
|
$goodsInfo = pdo_get(PDO_NAME . "merchantdata" , ['id' => $val['id']] , [
|
|
'id' ,
|
|
'storename' ,
|
|
'logo' ,
|
|
'address' ,
|
|
'storehours' ,
|
|
'location' ,
|
|
'pv' ,
|
|
'score' ,
|
|
'panorama' ,
|
|
'videourl' ,
|
|
'tag',
|
|
'deliverystatus'
|
|
]);
|
|
//获取店铺分类信息
|
|
$goodsInfo['panorama'] = !empty($goodsInfo['panorama']) ? 1 : 0;
|
|
$goodsInfo['videourl'] = !empty($goodsInfo['videourl']) ? 1 : 0;
|
|
//店铺标签
|
|
$goodsInfo['tags'] = [];
|
|
$tagids = unserialize($goodsInfo['tag']);
|
|
if (!empty($tagids)) {
|
|
$tags = pdo_getall('wlmerchant_tags' , ['id' => $tagids] , ['title']);
|
|
$goodsInfo['tags'] = $tags ? array_column($tags , 'title') : [];
|
|
}
|
|
unset($goodsInfo['tag']);
|
|
//获取店铺信息地址跳转链接
|
|
$url = h5_url('pages/mainPages/store/index' , ['sid' => $goodsInfo['id']]);
|
|
$goodsInfo['shop_url'] = $url;
|
|
//处理图片信息
|
|
$goodsInfo['logo'] = tomedia($goodsInfo['logo']);
|
|
//处理营业时间
|
|
$storehours = unserialize($goodsInfo['storehours']);
|
|
if(!empty($storehours['startTime'])){
|
|
$goodsInfo['storehours'] = $storehours['startTime'] . ' - ' . $storehours['endTime']. " 营业";
|
|
}else{
|
|
$goodsInfo['storehours'] = '';
|
|
foreach($storehours as $hk => $hour){
|
|
if($hk > 0){
|
|
$goodsInfo['storehours'] .= ','.$hour['startTime'] . ' - ' . $hour['endTime'];
|
|
}else{
|
|
$goodsInfo['storehours'] .= $hour['startTime'] . ' - ' . $hour['endTime'];
|
|
}
|
|
}
|
|
$goodsInfo['storehours'] .= " 营业";
|
|
}
|
|
//处理店铺距离
|
|
$location = unserialize($goodsInfo['location']);
|
|
$goodsInfo['length'] = Store::getdistance($location['lng'] , $location['lat'] , $lng , $lat);
|
|
if ((!empty($goodsInfo['length']) || is_numeric($goodsInfo['length'])) && $lng && $lat) {
|
|
if ($goodsInfo['length'] > 9999998) {
|
|
$goodsInfo['distance'] = " ";
|
|
}
|
|
else if ($goodsInfo['length'] > 1000) {
|
|
$goodsInfo['distance'] = (floor(($goodsInfo['length'] / 1000) * 10) / 10) . "km";
|
|
}
|
|
else {
|
|
$goodsInfo['distance'] = intval($goodsInfo['length']) . "m";
|
|
}
|
|
}
|
|
//获取店铺分类信息
|
|
$storecates = pdo_getall('wlmerchant_merchant_cate',array('sid' => $val['id'],'twolevel >' => 0),array('twolevel'));
|
|
$goodsInfo['catename'] = '';
|
|
if(!empty($storecates)){
|
|
foreach ($storecates as $ke => $cate){
|
|
$catename = pdo_getcolumn(PDO_NAME.'category_store',array('id'=>$cate['twolevel']),'name');
|
|
if($ke > 0){
|
|
$goodsInfo['catename'] .= '|'.$catename;
|
|
}else{
|
|
$goodsInfo['catename'] .= $catename;
|
|
}
|
|
}
|
|
}
|
|
unset($val['location']);
|
|
//查询认证和保证金
|
|
if(p('attestation')){
|
|
$goodsInfo['attestation'] = Attestation::checkAttestation(2,$goodsInfo['id']);
|
|
}else{
|
|
$goodsInfo['attestation'] = 0;
|
|
}
|
|
|
|
|
|
$val = $goodsInfo;
|
|
}
|
|
#5、获取店铺商品活动信息
|
|
$list = WeliamWeChat::getStoreList($list);
|
|
#5、判断是否获取获取总页数
|
|
if ($is_total == 1) {
|
|
$total = pdo_fetchcolumn("SELECT COUNT(*) FROM " . tablename(PDO_NAME . "merchantdata") . $getShopWhere);
|
|
$data['list'] = $list;
|
|
$data['total'] = ceil($total / $page_index);
|
|
$this->renderSuccess('店铺列表' , $data);
|
|
}
|
|
$this->renderSuccess('店铺列表' , $list);
|
|
}
|
|
/**
|
|
* Comment: 获取商户入驻信息
|
|
* Author: wlf
|
|
* Date: 2019/8/7 16:11
|
|
*/
|
|
public function storeSettled()
|
|
{
|
|
global $_W , $_GPC;
|
|
|
|
$validate = Member::validateMemberIdentity($_W['mid'],false,true);
|
|
if (!$validate['status']) $this->renderError($validate['msg']);
|
|
|
|
$id = $_GPC['id'];
|
|
//获取商户信息
|
|
$data = ['havestore' => 0];
|
|
if (!empty($id)) {
|
|
$store = pdo_get('wlmerchant_merchantdata' , ['id' => $id]);
|
|
$_W['aid'] = $store['aid'];
|
|
$user = pdo_get('wlmerchant_merchantuser' , ['storeid' => $id] , ['name' , 'mobile', 'reject','position']);
|
|
$location = unserialize($store['location']);
|
|
$storehours = unserialize($store['storehours']);
|
|
$adv = unserialize($store['adv']);
|
|
$recruitAdv = unserialize($store['recruit_adv']);
|
|
if ($adv) {
|
|
foreach ($adv as $key => &$aa) {
|
|
$aa = tomedia($aa);
|
|
}
|
|
} else {
|
|
$adv = [];
|
|
}
|
|
if ($recruitAdv) {
|
|
foreach ($recruitAdv as $recruitAdvKey => &$recruitAdvVal) {
|
|
$recruitAdvVal = tomedia($recruitAdvVal);
|
|
}
|
|
} else {
|
|
$recruitAdv = [];
|
|
}
|
|
$album = unserialize($store['album']);
|
|
if ($album) {
|
|
foreach ($album as $key => &$ll) {
|
|
$ll = tomedia($ll);
|
|
}
|
|
}
|
|
else {
|
|
$album = [];
|
|
}
|
|
$examineimg = unserialize($store['examineimg']);
|
|
if ($examineimg) {
|
|
foreach ($examineimg as $key => &$ee) {
|
|
$ee = tomedia($ee);
|
|
}
|
|
}
|
|
else {
|
|
$examineimg = [];
|
|
}
|
|
// 企业长图处理
|
|
$recruit_long_img = [];
|
|
$recruit_long_img_src = [];
|
|
if (!empty($store['recruit_long_img'])) {
|
|
$recruit_long_img = explode("||",$store['recruit_long_img']);
|
|
foreach ($recruit_long_img as $recruit_long_img_val) $recruit_long_img_src[] = tomedia($recruit_long_img_val);
|
|
}
|
|
$data['store'] = [
|
|
'storename' => $store['storename'],
|
|
'position' => $user['position']?:'',
|
|
'name' => $user['name'],
|
|
'mobile' => $user['mobile'] ?: $store['mobile'],
|
|
'provinceid' => $store['provinceid'],
|
|
'areaid' => $store['areaid'],
|
|
'distid' => $store['distid'],
|
|
'address' => $store['address'],
|
|
'lat' => $location['lat'],
|
|
'lng' => $location['lng'],
|
|
'logo' => tomedia($store['logo']),
|
|
'adv' => $adv,
|
|
'album' => $album,
|
|
'examine' => $examineimg,
|
|
'introduction' => htmlspecialchars_decode($store['introduction']),
|
|
'recruit_switch' => $store['recruit_switch'] ? : 0,//是否开启求职招聘功能:0=关闭,1=开启
|
|
'recruit_nature_id' => $store['recruit_nature_id'] ? : 0,//企业性质id
|
|
'recruit_scale_id' => $store['recruit_scale_id'] ? : 0,//企业性质id
|
|
'recruit_industry_id' => $store['recruit_industry_id'] ? : 0,//企业行业id
|
|
'recruit_adv' => $recruitAdv,//企业幻灯片数组
|
|
'housekeepstatus' => $store['housekeepstatus'],
|
|
'verkey' => $store['verkey'],
|
|
'deliverystatus' => $store['deliverystatus'],
|
|
'acceptstatus' => $store['acceptstatus'],
|
|
'deliverymoney' => $store['deliverymoney'],
|
|
'deliverydistance' => $store['deliverydistance'],
|
|
'lowdeliverymoney' => $store['lowdeliverymoney'],
|
|
'recruit_brighten' => $store['recruit_brighten'],
|
|
'business_license' => $store['business_license'],
|
|
'recruit_long_img_src'=> $recruit_long_img_src,// 企业长图
|
|
'recruit_long_img' => $recruit_long_img
|
|
];
|
|
$data['reject'] = $user['reject'] ?: '';# 驳回原因
|
|
if(!empty($store['deliverytype'])){
|
|
$data['store']['deliverytype'] = unserialize($store['deliverytype']);
|
|
}else{
|
|
$data['store']['deliverytype'] = '';
|
|
}
|
|
if(empty($storehours)){
|
|
$hour['startTime'] = '00:00';
|
|
$hour['endTime'] = '00:00';
|
|
$data['store']['storehours'][] = $hour;
|
|
}else{
|
|
if(!empty($storehours['startTime'])){
|
|
$hour['startTime'] = $storehours['startTime'];
|
|
$hour['endTime'] = $storehours['endTime'];
|
|
$data['store']['storehours'][] = $hour;
|
|
}else{
|
|
$data['store']['storehours'] = $storehours;
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
//判断是否已有店铺
|
|
$havestore = pdo_get(PDO_NAME . 'merchantuser' , [
|
|
'mid' => $_W['mid'] ,
|
|
'ismain' => [1 , 3 , 4] ,
|
|
'uniacid' => $_W['uniacid']]
|
|
, ['id','storeid']);
|
|
if ($havestore && $havestore['storeid']) {
|
|
$merchantRes = pdo_get(PDO_NAME . 'merchantdata',['id' => $havestore['storeid'], 'status' => 2]);
|
|
if ($merchantRes) $data['havestore'] = 1;
|
|
}
|
|
# 判断商家是否审核成功
|
|
|
|
}
|
|
//获取地区信息
|
|
if ($_W['aid']) {
|
|
$areaid = pdo_getcolumn(PDO_NAME . 'oparea' , [
|
|
'uniacid' => $_W['uniacid'] ,
|
|
'aid' => $_W['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');
|
|
}
|
|
$citylist = pdo_getall('wlmerchant_area' , ['level' => 1,'visible' => 2] , ['id' , 'name']);
|
|
foreach ($citylist as $key => &$prov) {
|
|
$prov['area'] = pdo_getall('wlmerchant_area' , ['level' => 2 , 'pid' => $prov['id'],'visible' => 2] , ['id' , 'name']);
|
|
foreach ($prov['area'] as $k => &$area) {
|
|
$area['dist'] = pdo_getall('wlmerchant_area' , ['level' => 3 , 'pid' => $area['id'],'visible' => 2] , ['id' , 'name']);
|
|
}
|
|
}
|
|
$data['citylist'] = $citylist;
|
|
//获取分类信息
|
|
if (empty($_W['aid'])) {
|
|
$_W['aid'] = 0;
|
|
}
|
|
$categoryes = pdo_getall(PDO_NAME . 'category_store' , [
|
|
'uniacid' => $_W['uniacid'] ,
|
|
'aid' => $_W['aid'] ,
|
|
'parentid' => 0 ,
|
|
'state' => 0 ,
|
|
'enabled' => 1
|
|
] , ['id' , 'name'] , '' , 'displayorder DESC');
|
|
if (!empty($categoryes)) {
|
|
foreach ($categoryes as $cid => &$cate) {
|
|
$cate['twotype'] = pdo_getall(PDO_NAME . 'category_store' , [
|
|
'parentid' => $cate['id'] ,
|
|
'uniacid' => $_W['uniacid'] ,
|
|
'aid' => $_W['aid'] ,
|
|
'enabled' => 1
|
|
] , ['name' , 'id'] , '' , 'displayorder DESC');
|
|
}
|
|
}
|
|
$data['typelist'] = $categoryes;
|
|
//获取客户电话
|
|
$settings = Setting::wlsetting_read('base');
|
|
$agentsettings = Setting::agentsetting_read('agentcustomer');
|
|
$data['systemphone'] = $agentsettings['tel'] ? : $settings['phone'];
|
|
//入驻协议
|
|
$register = Setting::wlsetting_read('register');
|
|
$data['describe'] = $register['detail'];
|
|
//求职招聘准备信息
|
|
$data['is_recruit'] = 0;//不存在招聘插件
|
|
if(store_p('recruit',$id)){
|
|
$data['nature'] = Recruit::getLabelList(5);//企业性质
|
|
$data['scale'] = Recruit::getLabelList(4);//企业规模
|
|
$data['industry'] = Recruit::getIndustryList(['pid'=>0],['id','title']);//上级行业列表
|
|
$data['is_recruit'] = 1;//存在招聘插件
|
|
}
|
|
//家政准备信息
|
|
$data['is_housekeep'] = 0;//不存在招聘插件
|
|
if(store_p('housekeep',$id)){
|
|
$data['store_housekeep_cate'] = Housekeep::getRelation($id,3,1);
|
|
$data['all_housekeep_cate'] = Housekeep::getCategory();
|
|
$data['is_housekeep'] = 1;//存在招聘插件
|
|
}
|
|
//同城配送准备
|
|
$data['is_delivery'] = 0;//不存在同城配送
|
|
if(store_p('citydelivery',$id)){
|
|
$data['is_delivery'] = 1;//存在同城配送
|
|
}
|
|
|
|
//获取商户入驻顶部图片
|
|
$storeSet = Setting::wlsetting_read('agentsStoreSet');
|
|
$data['top_img'] = tomedia($storeSet['top_img']);
|
|
$data['top_link'] = $storeSet['top_link'];
|
|
|
|
$this->renderSuccess('商户信息' , $data);
|
|
}
|
|
/**
|
|
* Comment: 通过地区id更换分类
|
|
* Author: wlf
|
|
* Date: 2019/8/7 18:30
|
|
*/
|
|
public function area2type()
|
|
{
|
|
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 = 0;
|
|
}
|
|
$categoryes = pdo_getall(PDO_NAME . 'category_store' , [
|
|
'uniacid' => $_W['uniacid'] ,
|
|
'aid' => $aid ,
|
|
'parentid' => 0 ,
|
|
'state' => 0,
|
|
'enabled' => 1
|
|
] , ['id' , 'name'] , '' , 'displayorder DESC');
|
|
if (!empty($categoryes)) {
|
|
foreach ($categoryes as $cid => &$cate) {
|
|
$cate['twotype'] = pdo_getall(PDO_NAME . 'category_store' , [
|
|
'parentid' => $cate['id'] ,
|
|
'uniacid' => $_W['uniacid'] ,
|
|
'aid' => $aid,
|
|
'state' => 0,
|
|
'enabled' => 1
|
|
] , ['name' , 'id'] , '' , 'displayorder DESC');
|
|
}
|
|
}
|
|
$this->renderSuccess('商户分类信息' , $categoryes);
|
|
}
|
|
/**
|
|
* Comment: 创建商户和店长
|
|
* Author: wlf
|
|
* Date: 2019/8/8 09:40
|
|
*/
|
|
public function createStore()
|
|
{
|
|
global $_W , $_GPC;
|
|
$set = Setting::wlsetting_read('register');
|
|
$data = [];
|
|
$data['storename'] = $_GPC['storename'];
|
|
$sale_id = intval($_GPC['sale_id']);
|
|
if (empty($data['storename'])) {
|
|
$this->renderError('请输入商户名');
|
|
}
|
|
$textRes = Filter::init($data['storename'],$_W['source'],1);
|
|
if($textRes['errno'] == 0){
|
|
$this->renderError('商户名'.$textRes['message']);
|
|
}
|
|
if (empty($_GPC['business_license'])) $this->renderError('请上传营业执照');
|
|
if ($_GPC['recruit_switch'] == 1) {
|
|
if (empty($_GPC['recruit_brighten'])) $this->renderError('请填写企业亮点');
|
|
$count = preg_match_all("/[\x{4e00}-\x{9fa5}]/u", $_GPC['recruit_brighten']);
|
|
if ($count > 20) $this->renderError('企业亮点最多填写20个汉字');
|
|
$textRes = Filter::init($_GPC['recruit_brighten'],$_W['source'],1);
|
|
if($textRes['errno'] == 0) $this->renderError('企业亮点'.$textRes['message']);
|
|
}
|
|
$storeid = $_W['storeid'];
|
|
// 每个账号只能有一个店铺限制
|
|
if (empty($storeid)) {
|
|
$merchantExists = pdo_get(PDO_NAME . 'merchantuser',['mid' => $_W['mid']],['storeid']);
|
|
if ($merchantExists) {
|
|
$storeid = $merchantExists['storeid'];
|
|
$storeData = pdo_get(PDO_NAME . 'merchantdata',['id' => $storeid,'status' => 2]);
|
|
if ($storeData) $this->renderError('当前用户已申请企业,请勿重复申请');
|
|
}
|
|
}
|
|
$position = trim($_GPC['position']);
|
|
if (empty($position)) {
|
|
$this->renderError('请填写职务');
|
|
} else {
|
|
$positionRes = Filter::init($position,$_W['source'],1);
|
|
if($positionRes['errno'] == 0) $this->renderError('职务'.$positionRes['message']);
|
|
}
|
|
$validateEntData = MerchantDataEnt::validateEntData($_GPC, $_W['source']);
|
|
if ($validateEntData !== true) $this->renderError($validateEntData);
|
|
//获取商户数据
|
|
$data['realname'] = trim($_GPC['name']);
|
|
$data['mobile'] = $_GPC['mobile'];
|
|
$data['logo'] = $_GPC['logo'];
|
|
$adv = $_GPC['adv'];
|
|
if (!empty($adv)) {
|
|
$data['adv'] = serialize(explode(',' , $adv));
|
|
}
|
|
else {
|
|
$data['adv'] = '';
|
|
}
|
|
$album = $_GPC['album'];
|
|
if (!empty($album)) {
|
|
$data['album'] = serialize(explode(',' , $album));
|
|
}
|
|
else {
|
|
$data['album'] = '';
|
|
}
|
|
$examineimg = $_GPC['examine'];
|
|
if (!empty($examineimg)) {
|
|
$data['examineimg'] = serialize(explode(',' , $examineimg));
|
|
}
|
|
else {
|
|
$data['examineimg'] = '';
|
|
}
|
|
$recruit_long_img = '';
|
|
if (is_array($_GPC['recruit_long_img'])) {
|
|
$recruit_long_img = implode('||',$_GPC['recruit_long_img']);
|
|
} elseif (is_string($_GPC['recruit_long_img'])) {
|
|
$recruit_long_img = str_replace(',','||',$_GPC['recruit_long_img']);
|
|
}
|
|
if (!empty($recruit_long_img)) {
|
|
# 验证合法性
|
|
$recruit_long_img_arr = explode("||",$recruit_long_img);
|
|
foreach ($recruit_long_img_arr as $img) {
|
|
$imgRes = Filter::init($img,$_W['source'],2);
|
|
if($imgRes['errno'] == 0) $this->renderError('企业长图'.$imgRes['message']);
|
|
}
|
|
}
|
|
$data['location'] = serialize(['lng' => $_GPC['lng'] , 'lat' => $_GPC['lat']]);
|
|
$data['lng'] = $_GPC['lng'];
|
|
$data['lat'] = $_GPC['lat'];
|
|
$data['provinceid'] = $_GPC['provinceid'];
|
|
$data['areaid'] = $_GPC['areaid'];
|
|
$data['distid'] = $_GPC['distid'];
|
|
$data['address'] = $_GPC['address'];
|
|
$data['introduction'] = $_GPC['detail'];//店铺简介
|
|
$data['verkey'] = $_GPC['verkey'];//核销密码
|
|
|
|
//招聘
|
|
$data['recruit_switch'] = $_GPC['recruit_switch'] ? : 0;//是否开启求职招聘功能:0=关闭,1=开启
|
|
$data['recruit_nature_id'] = $_GPC['recruit_nature_id'] ? : 0;//企业性质
|
|
$data['recruit_scale_id'] = $_GPC['recruit_scale_id'] ? : 0;//企业规模
|
|
$data['recruit_industry_id'] = $_GPC['recruit_industry_id'];//企业行业
|
|
$data['recruit_brighten'] = $_GPC['recruit_brighten'];//企业亮点
|
|
$data['recruit_long_img'] = $recruit_long_img;//企业长图
|
|
$data['business_license'] = $_GPC['business_license'];//企业营业执照
|
|
$recruitAdv = $_GPC['recruit_adv'];
|
|
$data['recruit_adv'] = $recruitAdv ? serialize(explode(',',$recruitAdv)) : '';//企业幻灯片
|
|
//家政
|
|
$data['housekeepstatus'] = $_GPC['housekeepstatus'];
|
|
$housekeepcate = json_decode(base64_decode($_GPC['store_housekeep_cate']),true);
|
|
$data['storehours'] = serialize(json_decode(base64_decode($_GPC['storehours']),true));
|
|
//配送
|
|
$data['deliverystatus'] = $_GPC['deliverystatus'];
|
|
$data['acceptstatus'] = $_GPC['acceptstatus'];
|
|
$data['deliverymoney'] = $_GPC['deliverymoney'];
|
|
$data['deliverydistance'] = $_GPC['deliverydistance'];
|
|
$data['lowdeliverymoney'] = $_GPC['lowdeliverymoney'];
|
|
$data['deliverytype'] = $_GPC['deliverytype'] ? serialize(explode(',',$_GPC['deliverytype'])) : '';//配送方式
|
|
if ($storeid) {
|
|
Tools::clearwxapp();
|
|
Tools::clearposter();
|
|
$storestatus = pdo_get(PDO_NAME . 'merchantdata' , ['id' => $storeid] , ['status' , 'aid']);
|
|
$alflag = pdo_fetch("SELECT id FROM " . tablename('wlmerchant_merchantdata') . "WHERE uniacid = {$_W['uniacid']} AND aid = {$storestatus['aid']} AND storename = {$data['storename']} AND id != {$storeid}");
|
|
if ($alflag) {
|
|
$this->renderError('该商户已入驻,请更换商户名');
|
|
}
|
|
if ($storestatus['status'] == 3) {
|
|
$data['status'] = 1;
|
|
$userdata['status'] = 1;
|
|
//发送消息
|
|
$first = '您好,' . $_GPC['name'] . '修改了新商家入驻信息';
|
|
$type = '店铺入驻资料修改';
|
|
$content = '店铺名:[' . $data['storename'] . ']';
|
|
$status = '待审核';
|
|
$remark = '请尽快前往系统后台审核商家资料';
|
|
News::noticeAgent('storesettled' , $storestatus['aid'] , $first , $type , $content , $status , $remark , time());
|
|
}
|
|
pdo_update(PDO_NAME . 'merchantdata' , $data , ['id' => $storeid]);
|
|
//插入分类
|
|
pdo_delete('wlmerchant_merchant_cate' , ['sid' => $storeid]);
|
|
$cateidArray = json_decode(base64_decode($_GPC['cateidArray']),true);
|
|
foreach ($cateidArray as $cate){
|
|
$resss = pdo_insert('wlmerchant_merchant_cate' , [
|
|
'sid' => $storeid ,
|
|
'onelevel' => intval($cate['onelevel']) ,
|
|
'twolevel' => intval($cate['twolevel'])
|
|
]);
|
|
}
|
|
$userdata['name'] = $_GPC['name'];
|
|
$userdata['mobile'] = $_GPC['mobile'];
|
|
$userdata['position'] = $position;
|
|
$userdata['createtime'] = time();
|
|
pdo_update(PDO_NAME . 'merchantuser' , $userdata , ['storeid' => $storeid , 'ismain' => 1]);
|
|
//处理家政服务分类
|
|
pdo_delete('wlmerchant_housekeep_relation', array('type' => 3,'objid' => $storeid));
|
|
foreach ($housekeepcate as $item) {
|
|
$scate = pdo_get(PDO_NAME . 'housekeep_type', array('id' => $item), array('onelevelid'));
|
|
pdo_insert('wlmerchant_housekeep_relation', ['type' => 3,'objid' => $storeid, 'onelevelid' => $scate['onelevelid'], 'twolevelid' => $item]);
|
|
}
|
|
|
|
Member::updateStoreUserIdentity($storeid,1);
|
|
MerchantDataEnt::saveData($_GPC,$storeid);
|
|
# 判断是否跳转支付页面
|
|
$jump_pay = in_array($storestatus['status'],[1,2,3]) ? 0 : 1;
|
|
$this->renderSuccess('提交成功' , ['storeid' => $storeid,'jump_pay' => $jump_pay]);
|
|
} else {
|
|
$validate = Member::validateMemberIdentity($_W['mid']);
|
|
if (!$validate['status']) $this->renderError($validate['msg']);
|
|
//详情
|
|
$data['introduction'] = $_GPC['introduction'];
|
|
$storethumb = $_GPC['thumbimages'];
|
|
if ($storethumb) {
|
|
$storethumb = explode(',' , $storethumb);
|
|
foreach ($storethumb as $key => $th) {
|
|
$th = tomedia($th);
|
|
$data['introduction'] .= '<img src= "' . $th . '" />';
|
|
}
|
|
}
|
|
if (!empty($data['introduction'])) {
|
|
$data['introduction'] = htmlspecialchars_decode($data['introduction']);
|
|
}
|
|
$data['uniacid'] = $_W['uniacid'];
|
|
$aid = pdo_getcolumn(PDO_NAME . 'oparea' , [
|
|
'uniacid' => $_W['uniacid'] ,
|
|
'areaid' => $data['distid'] ,
|
|
'status' => 1
|
|
] , 'aid');
|
|
if (empty($aid)) {
|
|
$aid = pdo_getcolumn(PDO_NAME . 'oparea' , [
|
|
'uniacid' => $_W['uniacid'] ,
|
|
'areaid' => $data['areaid'] ,
|
|
'status' => 1
|
|
] , 'aid');
|
|
}
|
|
if (empty($aid)) {
|
|
$aid = pdo_getcolumn(PDO_NAME . 'oparea' , [
|
|
'uniacid' => $_W['uniacid'] ,
|
|
'areaid' => $data['provinceid'] ,
|
|
'status' => 1
|
|
] , 'aid');
|
|
}
|
|
if (empty($aid)) {
|
|
$aid = 0;
|
|
}
|
|
$data['aid'] = $_W['aid'] ? $_W['aid'] : $aid;
|
|
$alflag = pdo_get('wlmerchant_merchantdata' , [
|
|
'storename' => $data['storename'] ,
|
|
'uniacid' => $_W['uniacid'],
|
|
'aid' => $data['aid']
|
|
] , ['id']);
|
|
if ($alflag) {
|
|
$this->renderError('该商户已入驻,请更换商户名');
|
|
}
|
|
$data['createtime'] = time();
|
|
//设置默认商户状态为 未支付
|
|
$data['status'] = 0;
|
|
$data['endtime'] = time();
|
|
$data['enabled'] = 0;
|
|
$data['score'] = 5;
|
|
$data['groupid'] = 0;
|
|
$storeid = Store::registerEditData($data , 0);
|
|
if (empty($storeid)) {
|
|
$this->renderError('商户创建失败,请重试!' , $data);
|
|
}
|
|
//插入分类
|
|
$cateidArray = json_decode(base64_decode($_GPC['cateidArray']),true);
|
|
foreach ($cateidArray as $cate){
|
|
$resss = pdo_insert('wlmerchant_merchant_cate' , [
|
|
'sid' => $storeid ,
|
|
'onelevel' => intval($cate['onelevel']) ,
|
|
'twolevel' => intval($cate['twolevel'])
|
|
]);
|
|
}
|
|
//处理家政服务分类
|
|
pdo_delete('wlmerchant_housekeep_relation', array('type' => 3,'objid' => $storeid));
|
|
foreach ($housekeepcate as $item) {
|
|
$scate = pdo_get(PDO_NAME . 'housekeep_type', array('id' => $item), array('onelevelid'));
|
|
$res = pdo_insert('wlmerchant_housekeep_relation', ['type' => 3,'objid' => $storeid, 'onelevelid' => $scate['onelevelid'], 'twolevelid' => $item]);
|
|
}
|
|
$arr['storeid'] = $storeid;
|
|
$arr['name'] = trim($_GPC['name']);
|
|
$arr['mobile'] = $_GPC['mobile'];
|
|
$arr['createtime'] = time();
|
|
if (empty($data['areaid'])) {
|
|
$arr['areaid'] = $_W['areaid'];
|
|
}
|
|
else {
|
|
$arr['areaid'] = $data['areaid'];
|
|
}
|
|
$arr['status'] = 1;
|
|
$arr['enabled'] = 1;
|
|
$arr['ismain'] = 1;
|
|
$arr['uniacid'] = $_W['uniacid'];
|
|
$arr['aid'] = $_W['aid'] ? $_W['aid'] : $aid;
|
|
$re = Store::saveSingleRegister($arr , 0);
|
|
$data['storeid'] = $storeid;
|
|
$data['chargeflag'] = 1;
|
|
$data['jump_pay'] = 1;
|
|
if (empty($re)) {
|
|
$this->renderError('店铺管理员创建失败,请重试!');
|
|
}
|
|
//添加业务员
|
|
if(!empty($sale_id > 0 && $_GPC['sale_id'] != $_W['mid'])){
|
|
$_W['aid'] = $aid;
|
|
$saleset = Setting::agentsetting_read('salesman');
|
|
if($saleset['isopen']>0){
|
|
$salemember = pdo_get('wlmerchant_member',array('id' => intval($sale_id)),array('realname','nickname','mobile'));
|
|
$saledata = array(
|
|
'mid' => $sale_id,
|
|
'storeid' => $storeid,
|
|
'name' => $salemember['realname'] ? $salemember['realname'] : $salemember['nickname'],
|
|
'mobile' => $salemember['mobile'],
|
|
'enabled' => 1,
|
|
'uniacid' => $_W['uniacid'],
|
|
'aid' => $aid,
|
|
'ismain' => 4,
|
|
'position' => $position,
|
|
'createtime' => time()
|
|
);
|
|
pdo_insert('wlmerchant_merchantuser', $saledata);
|
|
}
|
|
}
|
|
MerchantDataEnt::saveData($_GPC,$storeid);
|
|
$this->renderSuccess('创建企业成功' , $data);
|
|
}
|
|
}
|
|
/**
|
|
* Comment: 获取付费入驻列表
|
|
* Author: wlf
|
|
* Date: 2019/8/8 10:52
|
|
*/
|
|
public function chargeList()
|
|
{
|
|
global $_W , $_GPC;
|
|
$settings = Setting::wlsetting_read('register');
|
|
$storeid = $_GPC['storeid'];
|
|
$store = pdo_get('wlmerchant_merchantdata' , ['id' => $storeid] , ['aid' , 'status']);
|
|
if ($store['status'] == 2) {
|
|
$chargetypes = pdo_fetchall("SELECT * FROM " . tablename('wlmerchant_chargelist') . "WHERE uniacid = {$_W['uniacid']} AND status = 1 AND renewstatus = 1 AND aid IN (0,{$store['aid']}) ORDER BY sort DESC");
|
|
}
|
|
else {
|
|
$chargetypes = pdo_fetchall("SELECT * FROM " . tablename('wlmerchant_chargelist') . "WHERE uniacid = {$_W['uniacid']} AND status = 1 AND aid IN (0,{$store['aid']}) ORDER BY sort DESC");
|
|
}
|
|
$data['typelist'] = $chargetypes;
|
|
$data['describe'] = $settings['description'];
|
|
$this->renderSuccess('付费类型列表' , $data);
|
|
}
|
|
/**
|
|
* Comment: 生成商户入驻付费订单
|
|
* Author: wlf
|
|
* Date: 2019/8/8 14:07
|
|
*/
|
|
public function createChargeOrder()
|
|
{
|
|
global $_W , $_GPC;
|
|
$storeid = $_GPC['storeid'];
|
|
$typeid = $_GPC['typeid'];
|
|
$store = pdo_get('wlmerchant_merchantdata' , ['id' => $storeid]);
|
|
$chargetype = pdo_get('wlmerchant_chargelist' , ['id' => $typeid]);
|
|
if (empty($chargetype)) {
|
|
$this->renderError('请选择商户入驻类型');
|
|
}
|
|
if (empty($store)) {
|
|
$this->renderError('商户ID未传入或已被删除');
|
|
}
|
|
//判断绑定手机
|
|
$mastmobile = unserialize($_W['wlsetting']['userset']['plugin']);
|
|
if (empty($_W['wlmember']['mobile']) && in_array('charge' , $mastmobile)) {
|
|
$this->renderError('未绑定手机号');
|
|
}
|
|
if (intval($chargetype['audits']) == 1) {
|
|
pdo_update(PDO_NAME.'merchantdata',['audits' => 1],['id' => $storeid]);
|
|
}else{
|
|
pdo_update(PDO_NAME.'merchantdata',['audits' => 0],['id' => $storeid]);
|
|
}
|
|
if ($chargetype['price'] > 0) {
|
|
$data = [
|
|
'uniacid' => $store['uniacid'] ,
|
|
'mid' => $_W['mid'] ,
|
|
'aid' => $store['aid'] ,
|
|
'fkid' => $typeid ,
|
|
'sid' => $storeid ,
|
|
'status' => 0 ,
|
|
'paytype' => 0 ,
|
|
'createtime' => time() ,
|
|
'orderno' => createUniontid() ,
|
|
'price' => $chargetype['price'] ,
|
|
'num' => $chargetype['days'] ,
|
|
'plugin' => 'store' ,
|
|
'payfor' => 'merchant'
|
|
];
|
|
$res = pdo_insert(PDO_NAME . 'order' , $data);
|
|
$orderid = pdo_insertid();
|
|
$data['orderid'] = $orderid;
|
|
$data['status'] = 1;
|
|
$this->renderSuccess('订单生成成功' , $data);
|
|
}
|
|
else {
|
|
$endtime = pdo_getcolumn(PDO_NAME . 'merchantdata' , ['id' => $storeid] , 'endtime');
|
|
$groupid = $typeid;
|
|
if ($endtime > time()) {
|
|
$newendtime = $chargetype['days'] * 24 * 3600 + $endtime;
|
|
}
|
|
else {
|
|
$newendtime = $chargetype['days'] * 24 * 3600 + time();
|
|
}
|
|
$merstatus = pdo_getcolumn(PDO_NAME.'merchantdata',array('id'=>$storeid),'status');
|
|
//audits 0=要审核 1=不审核
|
|
if (intval($chargetype['audits']) == 1 || $merstatus == 2) {
|
|
pdo_update(PDO_NAME . 'merchantdata' , [
|
|
'status' => 2 ,
|
|
'endtime' => $newendtime ,
|
|
'enabled' => 1 ,
|
|
'audits' => 1 ,
|
|
'groupid' => $groupid
|
|
] , ['id' => $storeid]); //更新商户
|
|
pdo_update(PDO_NAME . 'merchantuser' , ['status' => 2] , ['storeid' => $storeid]); //更新管理员
|
|
}else {
|
|
pdo_update(PDO_NAME . 'merchantdata' , [
|
|
'status' => 1 ,
|
|
'endtime' => $newendtime ,
|
|
'groupid' => $groupid
|
|
] , ['id' => $storeid]); //更新商户(待审核)
|
|
$appname = pdo_getcolumn(PDO_NAME . 'merchantuser' , ['storeid' => $storeid , 'ismain' => 1] , 'name');
|
|
$agentname = pdo_getcolumn(PDO_NAME . 'agentusers' , ['id' => $store['aid']] , 'agentname');
|
|
$first = '您好,'. $appname . '申请了新商家入驻';
|
|
$type = '店铺申请入驻';
|
|
$content = '店铺名:['.$store['storename'] .']';
|
|
$status = '待审核';
|
|
$time = time();
|
|
$remark = '入驻代理:['.$agentname.'],请尽快前往系统后台审核商家资料';
|
|
News::noticeAgent('storesettled',$store['aid'],$first,$type,$content,$status,$remark,$time);
|
|
}
|
|
$data['status'] = 0;
|
|
$this->renderSuccess('入驻成功' , $data);
|
|
}
|
|
}
|
|
/**
|
|
* Comment: 获取店员信息
|
|
* Author: wlf
|
|
* Date: 2019/8/8 15:34
|
|
*/
|
|
public function adminInfo()
|
|
{
|
|
global $_W , $_GPC;
|
|
$data = [];
|
|
$adminid = $_GPC['adminid'];
|
|
$storeid = $_GPC['storeid'];
|
|
$newadminid = $_GPC['newadminid'];
|
|
if ($newadminid > 0) {
|
|
$newadmin = pdo_get('wlmerchant_member' , ['id' => $newadminid] , [
|
|
'nickname' ,
|
|
'avatar' ,
|
|
'mobile'
|
|
]);
|
|
$newadmin['name'] = $newadmin['nickname'];
|
|
$newadmin['avatar'] = tomedia($newadmin['avatar']);
|
|
$newadmin['enabled'] = 0;
|
|
$newadmin['ismain'] = 2;
|
|
$newadmin['orderwrite'] = 0;
|
|
$newadmin['viewdata'] = 0;
|
|
$data['admin'] = $newadmin;
|
|
$this->renderSuccess('新店员数据' , $data);
|
|
}
|
|
else if ($adminid > 0) {
|
|
$admin = pdo_get('wlmerchant_merchantuser' , ['id' => $adminid] , [
|
|
'mobile' ,
|
|
'mid' ,
|
|
'enabled' ,
|
|
'name' ,
|
|
'ismain' ,
|
|
'orderwrite' ,
|
|
'viewdata'
|
|
]);
|
|
$admin['avatar'] = pdo_getcolumn(PDO_NAME . 'member' , ['id' => $admin['mid']] , 'avatar');
|
|
$admin['avatar'] = tomedia($admin['avatar']);
|
|
$data['admin'] = $admin;
|
|
$this->renderSuccess('店员数据' , $data);
|
|
}
|
|
else {
|
|
$storeSet = Setting::wlsetting_read('agentsStoreSet');
|
|
if($storeSet['admin_apply'] > 0){
|
|
$filename = md5('sid'.$storeid.'source'.$_W['source'].'adminapply');//保证图片唯一性,每种渠道,类型海报二维码都不一致
|
|
$path = 'pages/subPages/merchant/bindingClerk/bindingClerk?sid='.$storeid;
|
|
if ($_W['source'] == 3) {
|
|
$qrCodeLink = WeApp::getQrCode($path , 'qrcode_' . $filename . '.png');
|
|
if (is_array($qrCodeLink)) $qrCodeLink = Poster::qrcodeimg($path , $filename);
|
|
}else{
|
|
$path = h5_url($path);//非小程序渠道 基本路径转超链接
|
|
$qrCodeLink = Poster::qrcodeimg($path , $filename);
|
|
}
|
|
$data['src'] = tomedia($qrCodeLink) ;
|
|
}else{
|
|
$qrcode = time();
|
|
if ($_W['source'] == 3) { //小程序
|
|
$showurl = 'pages/subPages/merchant/merchantSuccess/merchantSuccess?codes=' . $qrcode . '&storeid=' . $storeid;
|
|
$logo = tomedia(pdo_getcolumn(PDO_NAME . 'merchantdata' , ['id' => $storeid] , 'logo'));
|
|
$src = tomedia(Store::getShopWxAppQrCode($storeid , $logo , $showurl));
|
|
}
|
|
else {
|
|
$showurl = h5_url('pages/subPages/merchant/merchantSuccess/merchantSuccess' , [
|
|
'codes' => $qrcode ,
|
|
'storeid' => $storeid
|
|
]); //暂无页面
|
|
$src = WeliamWeChat::getQrCode($showurl);
|
|
}
|
|
$data['src'] = $src;
|
|
$data['qrcode'] = $qrcode;
|
|
pdo_insert(PDO_NAME . 'merchantuser_qrlog' , [
|
|
'uniacid' => $_W['uniacid'] ,
|
|
'codes' => $qrcode ,
|
|
'createtime' => $qrcode
|
|
]);
|
|
pdo_delete(PDO_NAME . 'merchantuser_qrlog' , [
|
|
'uniacid' => $_W['uniacid'] ,
|
|
'createtime <' => $qrcode - 300 ,
|
|
'status !=' => 1
|
|
]);
|
|
}
|
|
|
|
$this->renderSuccess('入驻二维码' , $data);
|
|
}
|
|
}
|
|
/**
|
|
* Comment: 店员扫码后页面
|
|
* Author: wlf
|
|
* Date: 2019/09/25 16:41
|
|
*/
|
|
public function adminSurePage()
|
|
{
|
|
global $_W , $_GPC;
|
|
$qrcode = $_GPC['codes'];
|
|
$storeid = $_GPC['storeid'];
|
|
if (empty($qrcode) || empty($storeid)) {
|
|
$this->renderError('缺少重要参数,请重新扫描二维码');
|
|
}
|
|
$store = Store::getSingleStore($storeid);
|
|
$data['storename'] = $store['storename'];
|
|
$this->renderSuccess('扫码成功' , $data);
|
|
}
|
|
/**
|
|
* Comment: 确认成为店员接口
|
|
* Author: wlf
|
|
* Date: 2019/09/25 16:53
|
|
*/
|
|
public function adminSureAPI()
|
|
{
|
|
global $_W , $_GPC;
|
|
$qrcode = $_GPC['codes'];
|
|
if (empty($qrcode)) {
|
|
$this->renderError('缺少重要参数,请重新扫描二维码');
|
|
}
|
|
$item = pdo_get(PDO_NAME . 'merchantuser_qrlog' , ['uniacid' => $_W['uniacid'] , 'codes' => $qrcode]);
|
|
$itemtime = $item['createtime'] + 300;
|
|
if (empty($item) || $itemtime < time() || $item['status'] == 1) {
|
|
$this->renderError('二维码过期,请刷新生成新的二维码');
|
|
}
|
|
$res = pdo_update(PDO_NAME . 'merchantuser_qrlog' , [
|
|
'memberid' => $_W['mid'] ,
|
|
'status' => 1
|
|
] , ['id' => $item['id']]);
|
|
if ($res) {
|
|
$this->renderSuccess('修改成功');
|
|
}
|
|
else {
|
|
$this->renderError('修改失败,请刷新重试');
|
|
}
|
|
}
|
|
/**
|
|
* Comment: 验证店员是否扫码
|
|
* Author: wlf
|
|
* Date: 2019/8/8 16:07
|
|
*/
|
|
public function adminAjax()
|
|
{
|
|
global $_W , $_GPC;
|
|
$qrcode = $_GPC['qrcode'];
|
|
$item = pdo_get(PDO_NAME . 'merchantuser_qrlog' , ['uniacid' => $_W['uniacid'] , 'codes' => $qrcode]);
|
|
$itemtime = $item['createtime'] + 300;
|
|
if (empty($item) || $itemtime < time()) {
|
|
$this->renderError('二维码过期');
|
|
}
|
|
if ($item['status']) {
|
|
$data = pdo_get(PDO_NAME . "member" , ['id' => $item['memberid']] , ['avatar' , 'nickname' , 'id']);
|
|
$this->renderSuccess('扫码人信息' , $data);
|
|
}
|
|
$this->renderSuccess('暂未扫码');
|
|
}
|
|
/**
|
|
* Comment: 保存店员信息
|
|
* Author: wlf
|
|
* Date: 2019/8/8 16:57
|
|
*/
|
|
public function createAdmin()
|
|
{
|
|
global $_W , $_GPC;
|
|
$id = intval($_GPC['adminid']);
|
|
$storeid = $_GPC['storeid'];
|
|
$storeaid = pdo_getcolumn(PDO_NAME . 'merchantdata' , ['id' => $storeid] , 'aid');
|
|
if (empty($_GPC['ismain'])) {
|
|
$this->renderError('请选择店员类型');
|
|
}
|
|
if ($id) {
|
|
$data = [
|
|
'name' => $_GPC['name'] ,
|
|
'mobile' => $_GPC['mobile'] ,
|
|
'ismain' => $_GPC['ismain'] ,
|
|
'orderwrite' => $_GPC['orderwrite'] ,
|
|
'viewdata' => $_GPC['viewdata'] ,
|
|
'enabled' => $_GPC['enabled']
|
|
];
|
|
if (pdo_update(PDO_NAME . 'merchantuser' , $data , ['id' => $id])) {
|
|
$this->renderSuccess('店员修改成功');
|
|
}
|
|
else {
|
|
$this->renderError('店员修改失败,请重试');
|
|
}
|
|
}
|
|
else {
|
|
$flag = pdo_getcolumn(PDO_NAME . 'merchantuser' , [
|
|
'uniacid' => $_W['uniacid'] ,
|
|
'mid' => $_GPC['mid'] ,
|
|
'storeid' => $storeid
|
|
] , 'id');
|
|
if ($flag) {
|
|
$this->renderError('此用户已是店员,请勿重复添加');
|
|
}
|
|
else {
|
|
$data = [
|
|
'uniacid' => $_W['uniacid'] ,
|
|
'mid' => $_GPC['mid'] ,
|
|
'storeid' => $storeid ,
|
|
'name' => $_GPC['name'] ,
|
|
'mobile' => $_GPC['mobile'] ,
|
|
'areaid' => $_W['areaid'] ,
|
|
'createtime' => time() ,
|
|
'status' => 2 ,
|
|
'enabled' => $_GPC['enabled'] ,
|
|
'aid' => $storeaid ,
|
|
'ismain' => $_GPC['ismain'] ,
|
|
'orderwrite' => $_GPC['orderwrite'] ,
|
|
'viewdata' => $_GPC['viewdata']
|
|
];
|
|
if (pdo_insert(PDO_NAME . 'merchantuser' , $data)) {
|
|
$this->renderSuccess('店员添加成功');
|
|
}
|
|
else {
|
|
$this->renderError('店员添加失败,请重试');
|
|
}
|
|
}
|
|
}
|
|
}
|
|
/**
|
|
* Comment: 店铺店员列表
|
|
* Author: wlf
|
|
* Date: 2019/8/8 17:06
|
|
*/
|
|
public function adminList()
|
|
{
|
|
global $_W , $_GPC;
|
|
$storeid = $_GPC['storeid'];
|
|
if (empty($storeid)) {
|
|
$storeid = $_W['storeid'];
|
|
}
|
|
$list = pdo_fetchall("SELECT id,mid,name,mobile,ismain,enabled FROM " . tablename('wlmerchant_merchantuser') . "WHERE uniacid = {$_W['uniacid']} AND storeid = {$storeid} ORDER BY id ASC");
|
|
foreach ($list as $key => &$li) {
|
|
$avatar = pdo_getcolumn(PDO_NAME . 'member' , ['id' => $li['mid']] , 'avatar');
|
|
$li['avatar'] = tomedia($avatar);
|
|
}
|
|
$this->renderSuccess('店员列表' , $list);
|
|
}
|
|
/**
|
|
* Comment: 商户中心信息
|
|
* Author: wlf
|
|
* Date: 2019/8/8 17:46
|
|
*/
|
|
public function storeInfo()
|
|
{
|
|
global $_W , $_GPC;
|
|
$storeid = $_GPC['storeid'];
|
|
$store = Store::getSingleStore($storeid);
|
|
if (empty($store)) {
|
|
$this->renderError('商户不存在,请重试');
|
|
}
|
|
$authority = pdo_getcolumn('wlmerchant_chargelist' , ['id' => $store['groupid']] , 'authority');
|
|
$authority = unserialize($authority);
|
|
// 特殊商品类型
|
|
$where_cc = '';
|
|
if (!empty($_GPC['cc_id']) && $_GPC['cc_id'] > 0) {
|
|
$where_cc = "AND activityid IN (SELECT id FROM ".tablename(PDO_NAME . "rush_activity")." WHERE sid = {$storeid} AND uniacid = {$_W['uniacid']} AND cc_id = '{$_GPC['cc_id']}')";
|
|
}
|
|
//数据统计
|
|
$time = strtotime(date("Y-m-d") , time());
|
|
$rushordermoney = pdo_fetchcolumn('SELECT SUM(actualprice) FROM ' . tablename(PDO_NAME . "rush_order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$time} {$where_cc}");
|
|
$rushordernum = pdo_fetchcolumn('SELECT count(id) FROM' . tablename(PDO_NAME . "rush_order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$time} {$where_cc}");
|
|
$ordermoney = pdo_fetchcolumn('SELECT SUM(price) FROM ' . tablename(PDO_NAME . "order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$time} AND plugin != 'store' ");
|
|
$ordernum = pdo_fetchcolumn('SELECT count(id) FROM ' . tablename(PDO_NAME . "order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$time} AND plugin != 'store' ");
|
|
$todaymoney = sprintf("%.2f" , $rushordermoney + $ordermoney);
|
|
$todayordernum = sprintf("%.0f" , $ordernum + $rushordernum);
|
|
$newsnum = pdo_fetchcolumn('SELECT count(id) FROM ' . tablename(PDO_NAME . "im") . " WHERE uniacid = {$_W['uniacid']} AND receive_type = 2 AND receive_id = {$storeid} AND is_read = 0");
|
|
$data = [
|
|
'todaymoney' => $todaymoney ,
|
|
'todayordernum' => $todayordernum ,
|
|
'newsnum' => $newsnum ,
|
|
];
|
|
if(p('citydelivery')){
|
|
if((in_array('citydelivery',$authority) || empty($authority)) && $store['deliverystatus'] > 0 ){
|
|
$data['showDelivery'] = 1;
|
|
$data['deliveryName'] = pdo_getcolumn(PDO_NAME.'plugin',array('name'=>'citydelivery'),'title');
|
|
}else{
|
|
$data['showDelivery'] = 0;
|
|
}
|
|
}else{
|
|
$data['showDelivery'] = 0;
|
|
}
|
|
//图标数据
|
|
$timetype = $_GPC['timetype'] ? $_GPC['timetype'] : 1; //1今天 2昨天 3 最近7日 4最近30天 5自定义
|
|
$plugin = $_GPC['plugin'];
|
|
$type = $_GPC['type'] ? $_GPC['type'] : 1; // 1 支付金额 2支付单数
|
|
$chart = [];
|
|
if (!empty($plugin) && $plugin != 'rush') {
|
|
$where = " AND plugin = '" . $plugin . "'";
|
|
}
|
|
if ($timetype == 1) {
|
|
$h = date('H' , time());
|
|
$zreo = strtotime(date("Y-m-d") , time());
|
|
$chart['xaxis'][] = '0:00';
|
|
$chart['yaxis'][] = '0.00';
|
|
for ($start = 0 ; $start <= $h ; $start++) {
|
|
$starttime = $zreo + $start * 3600;
|
|
$endtime = $starttime + 3600;
|
|
if (!empty($plugin) && $plugin == 'rush') {
|
|
$rushordermoney = pdo_fetchcolumn('SELECT SUM(actualprice) FROM ' . tablename(PDO_NAME . "rush_order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} {$where_cc}");
|
|
$rushordernum = pdo_fetchcolumn('SELECT count(id) FROM' . tablename(PDO_NAME . "rush_order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} {$where_cc}");
|
|
$ordermoney = 0;
|
|
$ordernum = 0;
|
|
}
|
|
else if (!empty($plugin)) {
|
|
$rushordermoney = 0;
|
|
$rushordernum = 0;
|
|
$ordermoney = pdo_fetchcolumn('SELECT SUM(price) FROM ' . tablename(PDO_NAME . "order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} AND plugin != 'store' {$where} ");
|
|
$ordernum = pdo_fetchcolumn('SELECT count(id) FROM ' . tablename(PDO_NAME . "order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} AND plugin != 'store' {$where} ");
|
|
}
|
|
else {
|
|
$rushordermoney = pdo_fetchcolumn('SELECT SUM(actualprice) FROM ' . tablename(PDO_NAME . "rush_order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} {$where_cc}");
|
|
$rushordernum = pdo_fetchcolumn('SELECT count(id) FROM' . tablename(PDO_NAME . "rush_order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} {$where_cc}");
|
|
$ordermoney = pdo_fetchcolumn('SELECT SUM(price) FROM ' . tablename(PDO_NAME . "order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} AND plugin != 'store' ");
|
|
$ordernum = pdo_fetchcolumn('SELECT count(id) FROM ' . tablename(PDO_NAME . "order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} AND plugin != 'store' ");
|
|
}
|
|
$money = sprintf("%.2f" , $rushordermoney + $ordermoney);
|
|
$ordernum = sprintf("%.0f" , $ordernum + $rushordernum);
|
|
$chart['xaxis'][] = ($start + 1) . ':00';
|
|
if ($type == 1) {
|
|
$chart['yaxis'][] = $money;
|
|
}
|
|
else {
|
|
$chart['yaxis'][] = $ordernum;
|
|
}
|
|
}
|
|
}
|
|
else if ($timetype == 2) {
|
|
$zreo = strtotime(date("Y-m-d") , time()) - 86400;
|
|
$chart['xaxis'][] = '0:00';
|
|
$chart['yaxis'][] = '0.00';
|
|
for ($start = 0 ; $start <= 23 ; $start++) {
|
|
$starttime = $zreo + $start * 3600;
|
|
$endtime = $starttime + 3600;
|
|
if (!empty($plugin) && $plugin == 'rush') {
|
|
$rushordermoney = pdo_fetchcolumn('SELECT SUM(actualprice) FROM ' . tablename(PDO_NAME . "rush_order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} {$where_cc}");
|
|
$rushordernum = pdo_fetchcolumn('SELECT count(id) FROM' . tablename(PDO_NAME . "rush_order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} {$where_cc}");
|
|
$ordermoney = 0;
|
|
$ordernum = 0;
|
|
}
|
|
else if (!empty($plugin)) {
|
|
$rushordermoney = 0;
|
|
$rushordernum = 0;
|
|
$ordermoney = pdo_fetchcolumn('SELECT SUM(price) FROM ' . tablename(PDO_NAME . "order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} AND plugin != 'store' {$where} ");
|
|
$ordernum = pdo_fetchcolumn('SELECT count(id) FROM ' . tablename(PDO_NAME . "order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} AND plugin != 'store' {$where} ");
|
|
}
|
|
else {
|
|
$rushordermoney = pdo_fetchcolumn('SELECT SUM(actualprice) FROM ' . tablename(PDO_NAME . "rush_order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} {$where_cc}");
|
|
$rushordernum = pdo_fetchcolumn('SELECT count(id) FROM' . tablename(PDO_NAME . "rush_order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} {$where_cc}");
|
|
$ordermoney = pdo_fetchcolumn('SELECT SUM(price) FROM ' . tablename(PDO_NAME . "order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} AND plugin != 'store' ");
|
|
$ordernum = pdo_fetchcolumn('SELECT count(id) FROM ' . tablename(PDO_NAME . "order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} AND plugin != 'store' ");
|
|
}
|
|
$money = sprintf("%.2f" , $rushordermoney + $ordermoney);
|
|
$ordernum = sprintf("%.0f" , $ordernum + $rushordernum);
|
|
$chart['xaxis'][] = ($start + 1) . ':00';
|
|
if ($type == 1) {
|
|
$chart['yaxis'][] = $money;
|
|
}
|
|
else {
|
|
$chart['yaxis'][] = $ordernum;
|
|
}
|
|
}
|
|
}
|
|
else if ($timetype == 3) {
|
|
$zreo = strtotime(date("Y-m-d") , time()) - 86400 * 6;
|
|
for ($start = 0 ; $start <= 6 ; $start++) {
|
|
$starttime = $zreo + $start * 86400;
|
|
$endtime = $starttime + 86400;
|
|
if (!empty($plugin) && $plugin == 'rush') {
|
|
$rushordermoney = pdo_fetchcolumn('SELECT SUM(actualprice) FROM ' . tablename(PDO_NAME . "rush_order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} {$where_cc}");
|
|
$rushordernum = pdo_fetchcolumn('SELECT count(id) FROM' . tablename(PDO_NAME . "rush_order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} {$where_cc}");
|
|
$ordermoney = 0;
|
|
$ordernum = 0;
|
|
}
|
|
else if (!empty($plugin)) {
|
|
$rushordermoney = 0;
|
|
$rushordernum = 0;
|
|
$ordermoney = pdo_fetchcolumn('SELECT SUM(price) FROM ' . tablename(PDO_NAME . "order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} AND plugin != 'store' {$where} ");
|
|
$ordernum = pdo_fetchcolumn('SELECT count(id) FROM ' . tablename(PDO_NAME . "order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} AND plugin != 'store' {$where} ");
|
|
}
|
|
else {
|
|
$rushordermoney = pdo_fetchcolumn('SELECT SUM(actualprice) FROM ' . tablename(PDO_NAME . "rush_order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} {$where_cc}");
|
|
$rushordernum = pdo_fetchcolumn('SELECT count(id) FROM' . tablename(PDO_NAME . "rush_order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} {$where_cc}");
|
|
$ordermoney = pdo_fetchcolumn('SELECT SUM(price) FROM ' . tablename(PDO_NAME . "order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} AND plugin != 'store' ");
|
|
$ordernum = pdo_fetchcolumn('SELECT count(id) FROM ' . tablename(PDO_NAME . "order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} AND plugin != 'store' ");
|
|
}
|
|
$money = sprintf("%.2f" , $rushordermoney + $ordermoney);
|
|
$ordernum = sprintf("%.0f" , $ordernum + $rushordernum);
|
|
$chart['xaxis'][] = date('m-d' , $starttime);
|
|
if ($type == 1) {
|
|
$chart['yaxis'][] = $money;
|
|
}
|
|
else {
|
|
$chart['yaxis'][] = $ordernum;
|
|
}
|
|
}
|
|
}
|
|
else if ($timetype == 4) {
|
|
$zreo = strtotime(date("Y-m-d") , time()) - 86400 * 29;
|
|
for ($start = 0 ; $start <= 29 ; $start++) {
|
|
$starttime = $zreo + $start * 86400;
|
|
$endtime = $starttime + 86400;
|
|
if (!empty($plugin) && $plugin == 'rush') {
|
|
$rushordermoney = pdo_fetchcolumn('SELECT SUM(actualprice) FROM ' . tablename(PDO_NAME . "rush_order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} {$where_cc}");
|
|
$rushordernum = pdo_fetchcolumn('SELECT count(id) FROM' . tablename(PDO_NAME . "rush_order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} {$where_cc}");
|
|
$ordermoney = 0;
|
|
$ordernum = 0;
|
|
}
|
|
else if (!empty($plugin)) {
|
|
$rushordermoney = 0;
|
|
$rushordernum = 0;
|
|
$ordermoney = pdo_fetchcolumn('SELECT SUM(price) FROM ' . tablename(PDO_NAME . "order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} AND plugin != 'store' {$where} ");
|
|
$ordernum = pdo_fetchcolumn('SELECT count(id) FROM ' . tablename(PDO_NAME . "order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} AND plugin != 'store' {$where} ");
|
|
}
|
|
else {
|
|
$rushordermoney = pdo_fetchcolumn('SELECT SUM(actualprice) FROM ' . tablename(PDO_NAME . "rush_order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} {$where_cc}");
|
|
$rushordernum = pdo_fetchcolumn('SELECT count(id) FROM' . tablename(PDO_NAME . "rush_order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} {$where_cc}");
|
|
$ordermoney = pdo_fetchcolumn('SELECT SUM(price) FROM ' . tablename(PDO_NAME . "order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} AND plugin != 'store' ");
|
|
$ordernum = pdo_fetchcolumn('SELECT count(id) FROM ' . tablename(PDO_NAME . "order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} AND plugin != 'store' ");
|
|
}
|
|
$money = sprintf("%.2f" , $rushordermoney + $ordermoney);
|
|
$ordernum = sprintf("%.0f" , $ordernum + $rushordernum);
|
|
$chart['xaxis'][] = date('m-d' , $starttime);
|
|
if ($type == 1) {
|
|
$chart['yaxis'][] = $money;
|
|
}
|
|
else {
|
|
$chart['yaxis'][] = $ordernum;
|
|
}
|
|
}
|
|
}
|
|
else if ($timetype == 5) {
|
|
$time = $_GPC['time'];
|
|
$times = explode(',' , $time);
|
|
$starttime = $times[0];
|
|
$endtime = $times[1] + 86399;
|
|
$zreo = $starttime;
|
|
$days = floor(($endtime - $starttime) / 86400);
|
|
for ($start = 0 ; $start <= $days ; $start++) {
|
|
$starttime = $zreo + $start * 86400;
|
|
$endtime = $starttime + 86400;
|
|
if (!empty($plugin) && $plugin == 'rush') {
|
|
$rushordermoney = pdo_fetchcolumn('SELECT SUM(actualprice) FROM ' . tablename(PDO_NAME . "rush_order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} {$where_cc}");
|
|
$rushordernum = pdo_fetchcolumn('SELECT count(id) FROM' . tablename(PDO_NAME . "rush_order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} {$where_cc}");
|
|
$ordermoney = 0;
|
|
$ordernum = 0;
|
|
}
|
|
else if (!empty($plugin)) {
|
|
$rushordermoney = 0;
|
|
$rushordernum = 0;
|
|
$ordermoney = pdo_fetchcolumn('SELECT SUM(price) FROM ' . tablename(PDO_NAME . "order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} AND plugin != 'store' {$where} ");
|
|
$ordernum = pdo_fetchcolumn('SELECT count(id) FROM ' . tablename(PDO_NAME . "order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} AND plugin != 'store' {$where} ");
|
|
}
|
|
else {
|
|
$rushordermoney = pdo_fetchcolumn('SELECT SUM(actualprice) FROM ' . tablename(PDO_NAME . "rush_order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} {$where_cc}");
|
|
$rushordernum = pdo_fetchcolumn('SELECT count(id) FROM' . tablename(PDO_NAME . "rush_order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} {$where_cc}");
|
|
$ordermoney = pdo_fetchcolumn('SELECT SUM(price) FROM ' . tablename(PDO_NAME . "order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} AND plugin != 'store' ");
|
|
$ordernum = pdo_fetchcolumn('SELECT count(id) FROM ' . tablename(PDO_NAME . "order") . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND paytime > {$starttime} AND paytime <= {$endtime} AND plugin != 'store' ");
|
|
}
|
|
$money = sprintf("%.2f" , $rushordermoney + $ordermoney);
|
|
$ordernum = sprintf("%.0f" , $ordernum + $rushordernum);
|
|
$chart['xaxis'][] = date('m-d' , $starttime);
|
|
if ($type == 1) {
|
|
$chart['yaxis'][] = $money;
|
|
}
|
|
else {
|
|
$chart['yaxis'][] = $ordernum;
|
|
}
|
|
}
|
|
}
|
|
$data['chart'] = $chart;
|
|
$data['typelist'] = [0 => '全部' , 'rush' => '抢购' , 'coupon' => '卡券'];
|
|
if (p('wlfightgroup')) {
|
|
$data['typelist']['wlfightgroup'] = '拼团';
|
|
}
|
|
if (p('groupon')) {
|
|
$data['typelist']['groupon'] = '团购';
|
|
}
|
|
if (p('halfcard')) {
|
|
$data['typelist']['halfcard'] = '买单';
|
|
}
|
|
if (p('bargain')) {
|
|
$data['typelist']['bargain'] = '砍价';
|
|
}
|
|
$data['maxY'] = max($chart['yaxis']);
|
|
$data['minY'] = min($chart['yaxis']);
|
|
$this->renderSuccess('店铺信息' , $data);
|
|
}
|
|
/**
|
|
* Comment: 商户详细信息
|
|
* Author: zzw
|
|
* Date: 2019/8/19 18:17
|
|
*/
|
|
public function detail()
|
|
{
|
|
global $_W , $_GPC;
|
|
#1、参数接收
|
|
$sid = $_GPC['sid'] OR $this->renderError("缺少参数:商户id");;//商户id
|
|
$lng = $_GPC['lng'] ? $_GPC['lng'] : 0;//104.0091133118 经度
|
|
$lat = $_GPC['lat'] ? $_GPC['lat'] : 0;//30.5681964123 纬度
|
|
//排序设置
|
|
$storeSet = Setting::wlsetting_read('agentsStoreSet');
|
|
if(empty($storeSet['order'])){
|
|
$order = [
|
|
'sporder' => 8,
|
|
'spstatus' => 1,
|
|
'xqorder' => 7,
|
|
'xqstatus' => 1,
|
|
'dtorder' => 6,
|
|
'dtstatus' => 1,
|
|
'plorder' => 5,
|
|
'plstatus' => 1,
|
|
'xcorder' => 4,
|
|
'xcstatus' => 1,
|
|
'xcxmorder' => 3,
|
|
'xcxmstatus' => 1,
|
|
'sjzzorder' => 2,
|
|
'sjzzstatus' => 1,
|
|
'zporder' => 1,
|
|
'zpstatus' => 1,
|
|
];
|
|
}else{
|
|
$order = unserialize($storeSet['order']);
|
|
}
|
|
|
|
#2、获取商户详细信息
|
|
$info = pdo_get(PDO_NAME . "merchantdata" , ['id' => $sid] , [
|
|
'id' ,
|
|
'videourl' ,
|
|
'panorama' ,
|
|
'adv' ,
|
|
'logo' ,
|
|
'storename' ,
|
|
'score' ,
|
|
'pv' ,
|
|
'storehours' ,
|
|
'address' ,
|
|
'mobile' ,
|
|
'introduction' ,
|
|
'album' ,
|
|
'location' ,
|
|
'payonline' ,
|
|
'wxappswitch' ,
|
|
'tag' ,
|
|
'describe',
|
|
'deliverystatus',
|
|
'proportion',
|
|
'communityid'
|
|
]);
|
|
if (!$info) $this->renderError("商户不存在!");
|
|
$info['logo'] = tomedia($info['logo']);
|
|
$info['introduction'] = htmlspecialchars_decode($info['introduction']);
|
|
$info['location'] = unserialize($info['location']);
|
|
//幻灯片的处理
|
|
$info['adv'] = unserialize($info['adv']);
|
|
foreach ($info['adv'] as $advK => &$advV) {
|
|
$advV = tomedia($advV);
|
|
}
|
|
//营业时间的处理
|
|
$storehours = unserialize($info['storehours']);
|
|
$info['is_business'] = Store::getShopBusinessStatus($storehours,$sid);//判断商户当前状态:0=休息中,1=营业中
|
|
if(!empty($storehours['startTime'])){
|
|
$info['storehours'] = $storehours['startTime'] . ' - ' . $storehours['endTime'];
|
|
}else{
|
|
$info['storehours'] = '';
|
|
foreach($storehours as $hk => $hour){
|
|
if($hk > 0){
|
|
$info['storehours'] .= ','.$hour['startTime'] . ' - ' . $hour['endTime'];
|
|
}else{
|
|
$info['storehours'] .= $hour['startTime'] . ' - ' . $hour['endTime'];
|
|
}
|
|
}
|
|
}
|
|
//相册的处理
|
|
$info['album'] = unserialize($info['album']);
|
|
foreach ($info['album'] as $albumK => &$albumV) {
|
|
$albumV = tomedia($albumV);
|
|
}
|
|
//视频处理
|
|
$info['videourl'] = tomedia($info['videourl']);
|
|
//商户人气 +1 操作
|
|
$info['pv'] = intval($info['pv']) + 1;
|
|
pdo_update(PDO_NAME . "merchantdata" , ['pv' => $info['pv']] , ['id' => $sid]);
|
|
#3、对店铺进行定位
|
|
$info['distance'] = Store::shopLocation(0 , $lng , $lat , $info['location']);
|
|
#4、判断用户是否已经收藏当前商户
|
|
$storefans = pdo_getcolumn(PDO_NAME . "storefans" , [
|
|
'sid' => $sid ,
|
|
'mid' => $_W['mid'] ,
|
|
'source' => 1
|
|
] , 'id');
|
|
$info['is_collection'] = $storefans > 0 ? 1 : 0;
|
|
$info['collectionnum'] = pdo_fetchcolumn('SELECT count(id) FROM '.tablename('wlmerchant_storefans')." WHERE source = 1 AND sid = {$sid}");
|
|
$info['collectionnum'] = sprintf("%.0f",$info['pv'] / 10 ) + $info['collectionnum'];
|
|
#5、处理商户全景地址
|
|
if (!empty($info['panorama']) && count(explode('https' , $info['panorama'])) < 2) {
|
|
$info['panorama'] = str_replace('http' , 'https' , $info['panorama']);
|
|
}
|
|
|
|
#6、判断是否开启商户小程序码
|
|
if (p('wxapp')) {
|
|
$wxappSet = Setting::wlsetting_read('wxappset');
|
|
if ($wxappSet['storeqrcode'] == 1 && $info['wxappswitch'] != 1) {
|
|
$info['wxapp_qrcode'] = Store::getShopWxAppQrCode($sid , $info['logo']);
|
|
}
|
|
if($_W['source'] == 3 && empty($wxappSet['vp_status'])){
|
|
$info['panorama'] = '';
|
|
}
|
|
}
|
|
if(empty($info['wxapp_qrcode'])){
|
|
$order['xcxmstatus'] = 0;
|
|
}
|
|
#6、判断是否存在商户标签
|
|
$tag = unserialize($info['tag']);
|
|
$info['tags'] = [];
|
|
if (is_array($tag) && count($tag) > 0) {
|
|
foreach ($tag as $tagK => &$tagV) {
|
|
$taginfo = pdo_get(PDO_NAME . "tags" , ['id' => $tagV] , ['title','content']);
|
|
$info['tags'][] = $taginfo['title'];
|
|
$info['tagslist'][] = $taginfo;
|
|
}
|
|
}
|
|
//认证信息
|
|
if (p('attestation')) {
|
|
$info['attestation'] = Attestation::checkAttestation(2 , $sid);
|
|
if($info['attestation']['attestation'] == 2){
|
|
$moreatt = pdo_get('wlmerchant_attestation_list',array('uniacid'=>$_W['uniacid'],'storeid'=>$sid,'status'=>1,'type'=>2),array('subjectname','atttel','cardnum','pic','moreinfo'));
|
|
$moreatt['pic'] = unserialize($moreatt['pic']);
|
|
$info['moreinfo']['主体名称'] = ['value' => $moreatt['subjectname'],'type' => 'text'];
|
|
// $info['moreinfo']['联系电话'] = ['value' => $moreatt['atttel'],'type' => 'number'];
|
|
$info['moreinfo']['营业执照号'] = ['value' => $moreatt['cardnum'],'type' => 'number'];
|
|
$info['moreinfo']['营业执照'] = ['value' => tomedia($moreatt['pic'][0]),'type' => 'pic'];
|
|
$moreatt = unserialize($moreatt['moreinfo']);
|
|
foreach ($moreatt as $k => &$ll) {
|
|
if(!empty($ll['id'])){
|
|
if($ll['id'] == 'img'){
|
|
foreach($ll['data'] as &$pic){
|
|
$pic = tomedia($pic);
|
|
}
|
|
}
|
|
if(empty($ll['att_show'])){
|
|
$llnn['value'] = $ll['data'];
|
|
$llnn['type'] = $ll['id'];
|
|
$info['moreinfo'][$ll['title']] = $llnn;
|
|
}
|
|
}else{
|
|
if($ll['type'] == 'pics'){
|
|
$ll['value'] = unserialize($ll['value']);
|
|
foreach($ll['value'] as &$pic){
|
|
$pic = tomedia($pic);
|
|
}
|
|
}else if($ll['type'] == 'pic'){
|
|
$ll['value'] = tomedia($ll['value']);
|
|
}
|
|
$info['moreinfo'][$k] = $ll;
|
|
}
|
|
}
|
|
}else{
|
|
$order['sjzzstatus'] = 0;
|
|
}
|
|
}else {
|
|
$info['attestation'] = 0;
|
|
$order['sjzzstatus'] = 0;
|
|
}
|
|
|
|
$info['mid'] = $_W['mid'];
|
|
unset($info['tag']);
|
|
//判断商户是否有商品
|
|
$where = " AND uniacid = {$_W['uniacid']} AND status = 2 ";
|
|
$whereH = " AND uniacid = {$_W['uniacid']} AND status = 1 ";
|
|
$sql = "SELECT id,'1' as type,sort FROM " . tablename(PDO_NAME . "rush_activity") . " WHERE sid = {$sid} " . $where . " UNION ALL SELECT id,'2' as type,sort FROM " . tablename(PDO_NAME . "groupon_activity") . " WHERE sid = {$sid} " . $where . " UNION ALL SELECT id,'3' as type,listorder as sort FROM " . tablename(PDO_NAME . "fightgroup_goods") . " WHERE merchantid = {$sid} " . $where . " UNION ALL SELECT id,'5' as type,indexorder as sort FROM " . tablename(PDO_NAME . "couponlist") . " WHERE merchantid = {$sid} AND nostoreshow = 0" . $where . " UNION ALL SELECT id,'7' as type,sort FROM " . tablename(PDO_NAME . "bargain_activity") . " WHERE sid = {$sid} " . $where. " UNION ALL SELECT id,'9' as type,sort FROM " . tablename(PDO_NAME . "activitylist") . " WHERE sid = {$sid} " . $where." UNION ALL SELECT id,'10' as type,sort FROM " . tablename(PDO_NAME . "housekeep_service") . " WHERE objid = {$sid} AND type = 1". $whereH;
|
|
$goodslist = pdo_fetch($sql);
|
|
if(empty($goodslist)){
|
|
$order['spstatus'] = 0;
|
|
}
|
|
//判断是否有详情
|
|
if(empty($info['introduction'])){
|
|
$order['xqstatus'] = 0;
|
|
}
|
|
//判断是否有动态
|
|
$dynamic = pdo_fetch("SELECT id FROM ".tablename('wlmerchant_store_dynamic')."WHERE uniacid = {$_W['uniacid']} AND sid = {$sid} AND status > 0 ");
|
|
if(empty($dynamic)){
|
|
$order['dtstatus'] = 0;
|
|
}
|
|
//判断是否有评论
|
|
$comment = pdo_fetch("SELECT id FROM ".tablename('wlmerchant_comment')." WHERE sid = {$sid} AND status = 1 AND (checkone = 2 OR mid = {$_W['mid']})");
|
|
if(empty($comment)){
|
|
$order['plstatus'] = 0;
|
|
}
|
|
//判断是否有相册
|
|
if(empty($info['album'])){
|
|
$order['xcstatus'] = 0;
|
|
}
|
|
//判断是否有招聘
|
|
$recruit = pdo_get('wlmerchant_recruit_recruit',array('release_sid' => $sid,'status' => 4),array('id'));
|
|
if(empty($recruit)){
|
|
$order['zpstatus'] = 0;
|
|
}
|
|
#17、获取图片高度
|
|
$proportion = unserialize($info['proportion']);
|
|
$info['imgstyle']['width'] = $proportion['shopwidth'];
|
|
$info['imgstyle']['height'] = $proportion['shopheight'];
|
|
if(empty($info['imgstyle']['width'])){
|
|
$info['imgstyle']['width'] = !empty(trim($_W['wlsetting']['base']['width'])) ? trim($_W['wlsetting']['base']['width']) : 750;
|
|
}
|
|
if(empty($info['imgstyle']['height'])){
|
|
$info['imgstyle']['height'] = !empty(trim($_W['wlsetting']['base']['height'])) ? trim($_W['wlsetting']['base']['height']) : 560;
|
|
}
|
|
//获取社群信息
|
|
if($info['communityid'] > 0){
|
|
$community = Commons::getCommunity($info['communityid']);
|
|
if(is_array($community)){
|
|
$info['community'] = $community;
|
|
}
|
|
}
|
|
//标签页排序
|
|
$neworder[] = ['title' => '商品','type' => 'goods','status' => $order['spstatus'],'sort' => $order['sporder']];
|
|
$neworder[] = ['title' => '详情','type' => 'detail','status' => $order['xqstatus'],'sort' => $order['xqorder']];
|
|
$neworder[] = ['title' => '动态','type' => 'state','status' => $order['dtstatus'],'sort' => $order['dtorder']];
|
|
$neworder[] = ['title' => '评论','type' => 'comment','status' => $order['plstatus'],'sort' => $order['plorder']];
|
|
$neworder[] = ['title' => '相册','type' => 'photo','status' => $order['xcstatus'],'sort' => $order['xcorder']];
|
|
|
|
$order['xcxmorder'] = $order['xcxmorder'] ? : 0;
|
|
$order['xcxmstatus'] = $order['xcxmstatus'] ? : 0;
|
|
$neworder[] = ['title' => '小程序码','type' => 'qrCode','status' => $order['xcxmstatus'],'sort' => $order['xcxmorder']];
|
|
|
|
$order['sjzzorder'] = $order['sjzzorder'] ? : 0;
|
|
$order['sjzzstatus'] = $order['sjzzstatus'] ? : 0;
|
|
$neworder[] = ['title' => '商家资质','type' => 'certification','status' => $order['sjzzstatus'],'sort' => $order['sjzzorder']];
|
|
|
|
$order['zporder'] = $order['zporder'] ? : 0;
|
|
$order['zpstatus'] = $order['zpstatus'] ? : 0;
|
|
$neworder[] = ['title' => '招聘','type' => 'recruit','status' => $order['zpstatus'],'sort' => $order['zporder']];
|
|
|
|
$sortArr = array_column($neworder, 'sort');
|
|
array_multisort($sortArr, SORT_DESC, $neworder);
|
|
|
|
foreach($neworder as &$oor){
|
|
$oor['status'] = $oor['status'] ? : 0;
|
|
}
|
|
|
|
|
|
$info['order'] = $neworder;
|
|
$this->renderSuccess('商户详情' , $info);
|
|
}
|
|
/**
|
|
* Comment: 获取店铺商品信息
|
|
* Author: zzw
|
|
* Date: 2019/8/20 10:31
|
|
*/
|
|
public function getStoreGoods()
|
|
{
|
|
global $_W , $_GPC;
|
|
#1、参数接收 商品类型:1=抢购 2=团购 3=拼团 5=优惠券 7=砍价商品 9 = 同城活动
|
|
$sid = $_GPC['sid'];//店铺id
|
|
$page = $_GPC['page'] ? $_GPC['page'] : 1;//当前页
|
|
$pageIndex = $_GPC['page_index'] ? $_GPC['page_index'] : 10;
|
|
$storeflag = $_GPC['storeflag'] ? $_GPC['storeflag'] : 0;
|
|
$pageStart = $page * $pageIndex - $pageIndex;
|
|
$plugin = $_GPC['plugin'];
|
|
$cc_id = $_GPC['cc_id'];
|
|
$cc_child_id = $_GPC['cc_child_id'];
|
|
$recommend = $_GPC['recommend'];
|
|
if (!$sid) $this->renderError("缺少参数:sid");
|
|
$data = ['hidegoods' => 0];
|
|
//判断权限
|
|
$groupid = pdo_getcolumn('wlmerchant_merchantdata' , ['id' => $sid] , 'groupid');
|
|
if (empty($groupid)) {
|
|
$authority = 0;
|
|
}
|
|
else {
|
|
$authority = pdo_getcolumn('wlmerchant_chargelist' , ['id' => $groupid] , 'authority');
|
|
}
|
|
if (!empty($authority)) {
|
|
$authority = unserialize($authority);
|
|
if (!empty($authority) && !in_array('rush' , $authority) && !in_array('groupon' , $authority) && !in_array('wlfightgroup' , $authority) && !in_array('bargain' , $authority)) {
|
|
$data['hidegoods'] = 1;
|
|
}
|
|
}
|
|
if(p('activity')){
|
|
if (empty($authority) || in_array('activity' , $authority)) {
|
|
$data['activityflag'] = 1;
|
|
}
|
|
}
|
|
//数据筛选
|
|
$where1 = "";
|
|
$where2 = "";
|
|
if (!empty($_GPC['keyword'])) {
|
|
$keyword = trim($_GPC['keyword']);
|
|
$where1 .= " AND name LIKE '%{$keyword}%'";
|
|
$where2 .= " AND title LIKE '%{$keyword}%'";
|
|
}
|
|
$status = $_GPC['status'];
|
|
if (empty($status)) {
|
|
$where1 .= " AND status = 2";
|
|
$where2 .= " AND status = 2";
|
|
}
|
|
else if ($status == 1) {
|
|
$where1 .= " AND status IN (1,5,6)";
|
|
$where2 .= " AND status IN (1,5,6)";
|
|
}
|
|
else if ($status == 4) {
|
|
$where1 .= " AND status IN (0,3,4)";
|
|
$where2 .= " AND status IN (0,3,4)";
|
|
}
|
|
else {
|
|
$where1 .= " AND status = {$status}";
|
|
$where2 .= " AND status = {$status}";
|
|
}
|
|
#2、商品信息获取AND aid = {$_W['aid']}
|
|
$where = " AND uniacid = {$_W['uniacid']} ";
|
|
|
|
$where_cc = '';
|
|
if (!empty($cc_id) && $cc_id > 0) $where_cc = " AND cc_id = '{$cc_id}'";
|
|
if (!empty($cc_child_id) && $cc_child_id > 0) $where_cc = " AND cc_child_id = '{$cc_child_id}'";
|
|
if (!empty($recommend) && $recommend > 0) $where_cc = " AND recommend = '{$recommend}'";
|
|
|
|
if(empty($plugin)){
|
|
$sql = "SELECT id,'1' as type,sort FROM " . tablename(PDO_NAME . "rush_activity") . " WHERE sid = {$sid} " . $where_cc . $where . $where1 . " UNION ALL SELECT id,'2' as type,sort FROM " . tablename(PDO_NAME . "groupon_activity") . " WHERE sid = {$sid} " . $where . $where1 . " UNION ALL SELECT id,'3' as type,listorder as sort FROM " . tablename(PDO_NAME . "fightgroup_goods") . " WHERE merchantid = {$sid} " . $where . $where1 . " UNION ALL SELECT id,'5' as type,indexorder as sort FROM " . tablename(PDO_NAME . "couponlist") . " WHERE merchantid = {$sid} AND nostoreshow = 0" . $where . $where2 . " UNION ALL SELECT id,'7' as type,sort FROM " . tablename(PDO_NAME . "bargain_activity") . " WHERE sid = {$sid} " . $where . $where1. " UNION ALL SELECT id,'9' as type,sort FROM " . tablename(PDO_NAME . "activitylist") . " WHERE sid = {$sid} " . $where . $where2;
|
|
}else if($plugin == 'rush'){
|
|
$sql = "SELECT id,'1' as type,sort FROM " . tablename(PDO_NAME . "rush_activity") . " WHERE sid = {$sid} " . $where_cc . $where . $where1;
|
|
}else if($plugin == 'groupon'){
|
|
$sql = "SELECT id,'2' as type,sort FROM " . tablename(PDO_NAME . "groupon_activity") . " WHERE sid = {$sid} " . $where . $where1;
|
|
}else if($plugin == 'wlfightgroup'){
|
|
$sql = "SELECT id,'3' as type,listorder as sort FROM " . tablename(PDO_NAME . "fightgroup_goods") . " WHERE merchantid = {$sid} " . $where . $where1 ;
|
|
}else if($plugin == 'coupon'){
|
|
$sql = "SELECT id,'5' as type,indexorder as sort FROM " . tablename(PDO_NAME . "couponlist") . " WHERE merchantid = {$sid} AND nostoreshow = 0" . $where . $where2;
|
|
}else if($plugin == 'bargain'){
|
|
$sql = "SELECT id,'7' as type,sort FROM " . tablename(PDO_NAME . "bargain_activity") . " WHERE sid = {$sid} " . $where . $where1;
|
|
}else if($plugin == 'activity'){
|
|
$sql = "SELECT id,'9' as type,sort FROM " . tablename(PDO_NAME . "activitylist") . " WHERE sid = {$sid} " . $where . $where2;
|
|
}
|
|
$list = pdo_fetchall($sql . " ORDER BY sort DESC,id DESC LIMIT {$pageStart},{$pageIndex}");
|
|
#3、循环处理商品信息
|
|
if (is_array($list) && count($list) > 0) {
|
|
foreach ($list as $key => &$val) {
|
|
$val = WeliamWeChat::getHomeGoods($val['type'] , $val['id'] , $storeflag);
|
|
switch ($val['type']) {
|
|
case 1:
|
|
$val['creategoodstype'] = 'rush';
|
|
break;
|
|
case 2:
|
|
$val['creategoodstype'] = 'groupon';
|
|
break;
|
|
case 3:
|
|
$val['creategoodstype'] = 'fightgroup';
|
|
break;
|
|
case 5:
|
|
$val['creategoodstype'] = 'coupon';
|
|
break;
|
|
case 7:
|
|
$val['creategoodstype'] = 'bargain';
|
|
break;
|
|
case 9:
|
|
$val['creategoodstype'] = 'activity';
|
|
break;
|
|
}
|
|
if ($val['creategoodstype'] == 'fightgroup') {
|
|
$val['checktype'] = 'wlfightgroup';
|
|
}
|
|
else if ($val['creategoodstype'] == 'coupon') {
|
|
$val['checktype'] = 'wlcoupon';
|
|
}
|
|
else {
|
|
$val['checktype'] = $val['creategoodstype'];
|
|
}
|
|
if (!empty($authority) && !in_array($val['checktype'] , $authority)) {
|
|
$val['hidegoods'] = 1;
|
|
}
|
|
else {
|
|
$val['hidegoods'] = 0;
|
|
}
|
|
unset($val['checktype']);
|
|
unset($val['shop_logo']);
|
|
unset($val['address']);
|
|
unset($val['storename']);
|
|
unset($val['sid']);
|
|
unset($val['realsalenum']);
|
|
unset($val['allsalenum']);
|
|
unset($val['plugin']);
|
|
unset($val['user_list']);
|
|
unset($val['pay_state']);
|
|
unset($val['is_vip']);
|
|
unset($val['user_limit_num']);
|
|
unset($val['user_num']);
|
|
unset($val['buy_limit']);
|
|
unset($val['discount_price']);
|
|
unset($val['totalnum']);
|
|
unset($val['vipprice']);
|
|
unset($val['vipstatus']);
|
|
unset($val['starttime']);
|
|
unset($val['endtime']);
|
|
}
|
|
}
|
|
#4、商品总数获取
|
|
$total = count(pdo_fetchall($sql));
|
|
$data['list'] = $list;
|
|
$data['total'] = ceil($total / $pageIndex);
|
|
//增加插件筛选列表
|
|
if($page == 1){
|
|
$pluginlist[] = ['name'=>'全部','plugin'=>''];
|
|
$pluginlist[] = ['name'=>'抢购','plugin'=>'rush'];
|
|
if(p('groupon')){
|
|
$pluginlist[] = ['name'=>'团购','plugin'=>'groupon'];
|
|
}
|
|
if(p('wlfightgroup')){
|
|
$pluginlist[] = ['name'=>'拼团','plugin'=>'wlfightgroup'];
|
|
}
|
|
if(p('bargain')){
|
|
$pluginlist[] = ['name'=>'砍价','plugin'=>'bargain'];
|
|
}
|
|
// if(p('wlcoupon')){
|
|
// $pluginlist[] = ['name'=>'卡券','plugin'=>'coupon'];
|
|
// }
|
|
if(p('activity')){
|
|
$pluginlist[] = ['name'=>'活动','plugin'=>'activity'];
|
|
}
|
|
$data['pluginlist'] = $pluginlist;
|
|
}
|
|
|
|
$this->renderSuccess('店铺商品列表' , $data);
|
|
}
|
|
/**
|
|
* Comment: 商户详情页面获取店铺商品信息
|
|
* Author: wlf
|
|
* Date: 2021/05/25 11:24
|
|
*/
|
|
public function getStoreDetailGoods(){
|
|
global $_W , $_GPC;
|
|
$sid = $_GPC['sid'];//店铺id
|
|
$page = $_GPC['page'] ? $_GPC['page'] : 1;//当前页
|
|
$pageIndex = $_GPC['page_index'] ? $_GPC['page_index'] : 10;
|
|
$storeflag = 0;
|
|
$pageStart = $page * $pageIndex - $pageIndex;
|
|
if (!$sid) $this->renderError("缺少参数:sid");
|
|
$where = " AND uniacid = {$_W['uniacid']} ";
|
|
$where1 = $where. " AND status = 2";
|
|
$where2 = $where. " AND status = 1";
|
|
$sql = "SELECT id,1 as type,sort FROM " . tablename(PDO_NAME . "rush_activity") . " WHERE sid = {$sid} " . $where1 . " UNION ALL SELECT id,2 as type,sort FROM " . tablename(PDO_NAME . "groupon_activity") . " WHERE sid = {$sid} " . $where1 . " UNION ALL SELECT id,3 as type,listorder as sort FROM " . tablename(PDO_NAME . "fightgroup_goods") . " WHERE merchantid = {$sid} " . $where1 . " UNION ALL SELECT id,5 as type,indexorder as sort FROM " . tablename(PDO_NAME . "couponlist") . " WHERE merchantid = {$sid} AND nostoreshow = 0" . $where1 . " UNION ALL SELECT id,7 as type,sort FROM " . tablename(PDO_NAME . "bargain_activity") . " WHERE sid = {$sid} " . $where1. " UNION ALL SELECT id,9 as type,sort FROM " . tablename(PDO_NAME . "activitylist") . " WHERE sid = {$sid} ". $where1." UNION ALL SELECT id,10 as type,sort FROM " . tablename(PDO_NAME . "housekeep_service") . " WHERE objid = {$sid} AND type = 1". $where2;
|
|
$list = pdo_fetchall($sql . " ORDER BY type ASC,sort DESC,id DESC LIMIT {$pageStart},{$pageIndex}");
|
|
if (is_array($list) && count($list) > 0) {
|
|
foreach ($list as $key => &$val) {
|
|
if($val['type'] == 10){
|
|
$val = Housekeep::getServiceBaseInfo($val['id']);
|
|
$val['type'] = 10;
|
|
}else{
|
|
$val = WeliamWeChat::getHomeGoods($val['type'] , $val['id'] , $storeflag);
|
|
}
|
|
switch ($val['type']) {
|
|
case 1:
|
|
$val['creategoodstype'] = 'rush';
|
|
break;
|
|
case 2:
|
|
$val['creategoodstype'] = 'groupon';
|
|
break;
|
|
case 3:
|
|
$val['creategoodstype'] = 'fightgroup';
|
|
break;
|
|
case 5:
|
|
$val['creategoodstype'] = 'coupon';
|
|
break;
|
|
case 7:
|
|
$val['creategoodstype'] = 'bargain';
|
|
break;
|
|
case 9:
|
|
$val['creategoodstype'] = 'activity';
|
|
break;
|
|
case 10:
|
|
$val['creategoodstype'] = 'housekeep';
|
|
break;
|
|
}
|
|
if ($val['creategoodstype'] == 'fightgroup') {
|
|
$val['checktype'] = 'wlfightgroup';
|
|
}
|
|
else if ($val['creategoodstype'] == 'coupon') {
|
|
$val['checktype'] = 'wlcoupon';
|
|
}
|
|
else {
|
|
$val['checktype'] = $val['creategoodstype'];
|
|
}
|
|
if (!empty($authority) && !in_array($val['checktype'] , $authority)) {
|
|
$val['hidegoods'] = 1;
|
|
}
|
|
else {
|
|
$val['hidegoods'] = 0;
|
|
}
|
|
unset($val['checktype']);
|
|
unset($val['shop_logo']);
|
|
unset($val['address']);
|
|
unset($val['storename']);
|
|
unset($val['sid']);
|
|
unset($val['realsalenum']);
|
|
unset($val['allsalenum']);
|
|
unset($val['plugin']);
|
|
unset($val['user_list']);
|
|
unset($val['pay_state']);
|
|
unset($val['is_vip']);
|
|
unset($val['user_limit_num']);
|
|
unset($val['user_num']);
|
|
unset($val['buy_limit']);
|
|
unset($val['totalnum']);
|
|
unset($val['vipprice']);
|
|
unset($val['vipstatus']);
|
|
unset($val['starttime']);
|
|
unset($val['endtime']);
|
|
}
|
|
}
|
|
#4、商品总数获取
|
|
$total = count(pdo_fetchall($sql));
|
|
$data['list'] = $list;
|
|
$data['total'] = ceil($total / $pageIndex);
|
|
$this->renderSuccess('店铺商品列表' , $data);
|
|
}
|
|
/**
|
|
* Comment: 获取商户评论信息列表
|
|
* Author: zzw
|
|
* Date: 2019/8/20 11:49
|
|
*/
|
|
public function getStoreComment()
|
|
{
|
|
global $_W , $_GPC;
|
|
#1、参数接收
|
|
$sid = $_GPC['sid'];//店铺id
|
|
$page = $_GPC['page'] ? $_GPC['page'] : 1;//当前页
|
|
$pageIndex = $_GPC['page_index'] ? $_GPC['page_index'] : 5;
|
|
$pageStart = $page * $pageIndex - $pageIndex;
|
|
#2、获取评论信息
|
|
if(empty($_W['mid'])){
|
|
$_W['mid'] = 0;
|
|
}
|
|
$sql = "SELECT headimg,nickname,FROM_UNIXTIME(createtime,'%Y-%m-%d %H:%i') as datetime,star,pic,text,replytextone,replypicone FROM " . tablename(PDO_NAME . "comment") . " WHERE sid = {$sid} AND status = 1 AND (checkone = 2 OR mid = {$_W['mid']}) ";
|
|
$list = pdo_fetchall($sql . " ORDER BY createtime DESC LIMIT {$pageStart},{$pageIndex} ");
|
|
foreach ($list as $key => &$val) {
|
|
//用户评论图片的处理
|
|
$commentPic = unserialize($val['pic']);
|
|
if(is_string($commentPic) && strlen($commentPic) > 10){
|
|
$commentPic = explode(',',$commentPic);
|
|
}
|
|
if (is_array($commentPic) && count($commentPic) > 0) {
|
|
foreach ($commentPic as $picKey => &$picVal) {
|
|
if($picVal) $picVal = tomedia($picVal);
|
|
else unset($commentPic[$picKey]);
|
|
}
|
|
}
|
|
$val['pic'] = is_array($commentPic) ? array_values($commentPic) : [];
|
|
//商家回复信息图片的处理
|
|
$replyPic = unserialize($val['replypicone']);
|
|
if (is_array($replyPic) && count($replyPic) > 0) {
|
|
foreach ($replyPic as $replyPicKey => &$replyPicVal) {
|
|
$replyPicVal = tomedia($replyPicVal);
|
|
}
|
|
}
|
|
$val['replypicone'] = $replyPic;
|
|
$val['star'] = intval($val['star']);
|
|
}
|
|
#2、获取评论中页数
|
|
$total = ceil(count(pdo_fetchall($sql)) / $pageIndex);
|
|
$data['total'] = $total;
|
|
$data['list'] = $list;
|
|
$this->renderSuccess('获取商户评论信息列表' , $data);
|
|
}
|
|
/**
|
|
* Comment: 获取商户动态信息列表
|
|
* Author: zzw
|
|
* Date: 2019/8/20 14:12
|
|
*/
|
|
public function getStoreDynamic()
|
|
{
|
|
global $_W , $_GPC;
|
|
#1、参数信息获取
|
|
$sid = $_GPC['sid'];//店铺id
|
|
//$this->checkAuthority('dynamic' , $sid);
|
|
$page = $_GPC['page'] ? $_GPC['page'] : 1;//当前页
|
|
$pageIndex = $_GPC['page_index'] ? $_GPC['page_index'] : 5;
|
|
$pageStart = $page * $pageIndex - $pageIndex;
|
|
#2、获取动态信息列表
|
|
$sql = "SELECT b.logo,b.storename,FROM_UNIXTIME(a.createtime,'%Y-%m-%d %H:%i') as datetime,a.content,a.imgs FROM " . tablename(PDO_NAME . "store_dynamic") . " as a RIGHT JOIN " . tablename(PDO_NAME . "merchantdata") . " as b ON a.sid = b.id WHERE a.sid = {$sid} AND a.status IN (1,2) ORDER BY a.createtime DESC ";
|
|
$list = pdo_fetchall($sql . " LIMIT {$pageStart},{$pageIndex}");
|
|
#3、循环处理信息
|
|
foreach ($list as $key => &$val) {
|
|
$val['logo'] = tomedia($val['logo']);
|
|
$val['imgs'] = unserialize($val['imgs']);
|
|
if (is_array($val['imgs']) && count($val['imgs']) > 0) {
|
|
foreach ($val['imgs'] as $imgK => &$imgV) {
|
|
$imgV = tomedia($imgV);
|
|
}
|
|
}
|
|
$val['content'] = htmlspecialchars_decode($val['content']);
|
|
}
|
|
#3、总页数获取
|
|
$total = count(pdo_fetchall($sql));
|
|
$data['total'] = ceil($total / $pageIndex);
|
|
$data['list'] = $list;
|
|
$this->renderSuccess('获取商户动态信息列表' , $data);
|
|
}
|
|
/**
|
|
* Comment: 收藏商户
|
|
* Author: zzw
|
|
* Date: 2019/8/20 14:33
|
|
*/
|
|
public function collection()
|
|
{
|
|
global $_W , $_GPC;
|
|
#1、获取参数信息
|
|
$sid = $_GPC['sid'];
|
|
if (!$sid) $this->renderError('缺少参数:sid');
|
|
#2、查询用户是否已经收藏该商户
|
|
$cid = pdo_getcolumn(PDO_NAME . "storefans" , ['sid' => $sid , 'mid' => $_W['mid']] , 'id');
|
|
if ($cid) {
|
|
//已收藏 —— 取消收藏信息
|
|
$res = pdo_delete(PDO_NAME . "storefans" , ['sid' => $sid,'mid'=> $_W['mid']]);
|
|
}
|
|
else {
|
|
//未收藏 —— 添加收藏信息
|
|
$res = Store::addFans($sid , $_W['mid'] , $_W['source']);
|
|
}
|
|
#3、判断操作是否成功
|
|
if ($res) $this->renderSuccess('操作成功!');
|
|
else $this->renderError('操作失败!');
|
|
}
|
|
/**
|
|
* Comment: 商户提现
|
|
* Author: wlf
|
|
* Date: 2019/8/22 16:01
|
|
*/
|
|
public function storeCash()
|
|
{
|
|
global $_W , $_GPC;
|
|
$storeid = $_GPC['storeid'];
|
|
$store = pdo_get('wlmerchant_merchantdata' , ['id' => $storeid] , ['allmoney' , 'nowmoney']);
|
|
$data = [];
|
|
$data['allmoney'] = $store['allmoney'];
|
|
$data['nowmoney'] = $store['nowmoney'];
|
|
$data['cashmoney'] = sprintf("%.2f" , $store['allmoney'] - $store['nowmoney']);
|
|
$this->renderSuccess('商户账户' , $data);
|
|
}
|
|
/**
|
|
* Comment: 商户收支明细
|
|
* Author: wlf
|
|
* Date: 2019/8/22 16:25
|
|
*/
|
|
public function storeCurrent()
|
|
{
|
|
global $_W , $_GPC;
|
|
$storeid = $_GPC['storeid'] ? $_GPC['storeid'] : $_W['storeid'];
|
|
$page = $_GPC['page'] ? $_GPC['page'] : 1;
|
|
$pageStart = $page * 10 - 10;
|
|
//金额
|
|
$store = pdo_get('wlmerchant_merchantdata' , ['id' => $storeid] , ['nowmoney' , 'allmoney']);
|
|
$cashmoney = sprintf("%.2f" , $store['allmoney'] - $store['nowmoney']);
|
|
$currents = pdo_fetchall("SELECT fee,orderid,type,createtime,remark FROM " . tablename('wlmerchant_current') . "WHERE uniacid = {$_W['uniacid']} AND status = 1 AND objid = {$storeid} ORDER BY id DESC LIMIT {$pageStart},10");
|
|
$count = pdo_fetchcolumn('SELECT count(id) FROM ' . tablename('wlmerchant_current') . " WHERE uniacid = {$_W['uniacid']} AND status = 1 AND objid = {$storeid}");
|
|
foreach ($currents as &$current) {
|
|
$current['createtime'] = date('Y-m-d H:i:s' , $current['createtime']);
|
|
$current['checkcode'] = $current['remark'];
|
|
if ($current['type'] == 1) {
|
|
$order = pdo_get(PDO_NAME . 'rush_order' , ['id' => $current['orderid']] , array('activityid','orderno'));
|
|
$goodsid = $order['activityid'];
|
|
$current['orderno'] = $order['orderno'];
|
|
$current['remark'] = pdo_getcolumn(PDO_NAME . 'rush_activity' , ['id' => $goodsid] , 'name');
|
|
}
|
|
else if ($current['type'] == 10) {
|
|
$order = pdo_get(PDO_NAME . 'order' , ['id' => $current['orderid']] , array('fkid','orderno'));
|
|
$goodsid = $order['fkid'];
|
|
$current['orderno'] = $order['orderno'];
|
|
$current['remark'] = pdo_getcolumn(PDO_NAME . 'groupon_activity' , ['id' => $goodsid] , 'name');
|
|
}
|
|
else if ($current['type'] == 2) {
|
|
$order = pdo_get(PDO_NAME . 'order' , ['id' => $current['orderid']] , array('fkid','orderno'));
|
|
$goodsid = $order['fkid'];
|
|
$current['orderno'] = $order['orderno'];
|
|
$current['remark'] = pdo_getcolumn(PDO_NAME . 'fightgroup_goods' , ['id' => $goodsid] , 'name');
|
|
}
|
|
else if ($current['type'] == 3) {
|
|
$order = pdo_get(PDO_NAME . 'order' , ['id' => $current['orderid']] , array('fkid','orderno'));
|
|
$goodsid = $order['fkid'];
|
|
$current['orderno'] = $order['orderno'];
|
|
$current['remark'] = pdo_getcolumn(PDO_NAME . 'couponlist' , ['id' => $goodsid] , 'title');
|
|
}
|
|
else if ($current['type'] == 12) {
|
|
$order = pdo_get(PDO_NAME . 'order' , ['id' => $current['orderid']] , array('fkid','orderno'));
|
|
$goodsid = $order['fkid'];
|
|
$current['orderno'] = $order['orderno'];
|
|
$current['remark'] = pdo_getcolumn(PDO_NAME . 'bargain_activity' , ['id' => $goodsid] , 'name');
|
|
}
|
|
else if ($current['type'] == 11) {
|
|
$order = pdo_get(PDO_NAME . 'order' , ['id' => $current['orderid']] , array('orderno'));
|
|
$current['orderno'] = $order['orderno'];
|
|
$money = pdo_getcolumn(PDO_NAME . 'order' , ['id' => $current['orderid']] , 'price');
|
|
$current['remark'] = '商户在线买单' . $money . '元';
|
|
}else if ($current['type'] == 14) {
|
|
$order = pdo_get(PDO_NAME . 'timecardrecord' , ['id' => $current['orderid']] , array('activeid'));
|
|
$packagename = pdo_getcolumn(PDO_NAME.'package',array('id'=>$order['activeid']),'title');
|
|
$current['remark'] = '礼包【' . $packagename . '】';
|
|
}else if ($current['type'] == 17) {
|
|
$order = pdo_get(PDO_NAME . 'order' , ['id' => $current['orderid']] , array('fkid','orderno'));
|
|
$current['orderno'] = $order['orderno'];
|
|
$title = pdo_getcolumn(PDO_NAME . 'housekeep_service' , ['id' => $order['fkid']] , 'title');
|
|
$current['remark'] = '家政服务【' . $title . '】';
|
|
}
|
|
|
|
else if ($current['type'] == 7) {
|
|
if ($current['fee'] > 0) {
|
|
$current['remark'] = '提现申请被驳回';
|
|
}else {
|
|
$current['remark'] = '提现申请';
|
|
//商户提现申请 获取手续费金额
|
|
$current['spercentmoney'] = pdo_getcolumn(PDO_NAME."settlement_record",['id'=>$current['orderid']],'spercentmoney');
|
|
}
|
|
}
|
|
else if ($current['type'] == -1) {
|
|
$current['remark'] = '系统后台修改';
|
|
}
|
|
else if ($current['type'] == 140) {
|
|
$orderno = pdo_getcolumn(PDO_NAME.'order',array('id'=>$current['orderid']),'orderno');
|
|
$current['orderno'] = $orderno;
|
|
$smallorder = pdo_getall('wlmerchant_delivery_order',array('tid'=>$orderno),array('gid'));
|
|
$va['title'] = pdo_getcolumn(PDO_NAME.'delivery_activity',array('id'=>$smallorder[0]['gid']),'name');
|
|
if(count($smallorder)>1){
|
|
$va['title'] .= ' 等';
|
|
}
|
|
$current['remark'] = '同城配送 - '.$va['title'];
|
|
}
|
|
}
|
|
$data['list'] = $currents;
|
|
$data['totalpage'] = ceil($count / 10);
|
|
$data['allmoney'] = $store['allmoney'];
|
|
$data['nowmoney'] = $store['nowmoney'];
|
|
$data['cashmoney'] = $cashmoney;
|
|
$this->renderSuccess('商户收支明细' , $data);
|
|
}
|
|
/**
|
|
* Comment: 商户提现页面
|
|
* Author: wlf
|
|
* Date: 2019/8/23 09:25
|
|
*/
|
|
public function cashPage()
|
|
{
|
|
global $_W , $_GPC;
|
|
$storeid = $_GPC['storeid'];
|
|
$storeaid = pdo_getcolumn(PDO_NAME . 'merchantdata' , ['id' => $storeid] , 'aid');
|
|
$cashsets = Setting::wlsetting_read('cashset');
|
|
$data = [];
|
|
$storemain = pdo_get('wlmerchant_member' , ['id' => $_W['mid']] , [
|
|
'alipay' ,
|
|
'realname',
|
|
'bank_name' ,
|
|
'card_number' ,
|
|
'bank_username'
|
|
]);
|
|
$ismian = pdo_getcolumn(PDO_NAME . 'merchantuser' , [
|
|
'uniacid' => $_W['uniacid'] ,
|
|
'mid' => $_W['mid'] ,
|
|
'storeid' => $storeid
|
|
] , 'ismain');
|
|
if ($ismian != 1) {
|
|
$this->renderError('只有店铺店长才能进行财务结算。');
|
|
}
|
|
//可提现金额
|
|
$merchant = pdo_get('wlmerchant_merchantdata' , ['id' => $storeid] , [
|
|
'allmoney' ,
|
|
'nowmoney' ,
|
|
'reservestatus' ,
|
|
'reservemoney'
|
|
]);
|
|
//预留金额设置
|
|
if ($merchant['reservestatus']) {
|
|
$reservemoney = $merchant['reservemoney'];
|
|
}
|
|
else {
|
|
$reservemoney = sprintf("%.2f" , $cashsets['reservemoney']);
|
|
}
|
|
$usemoney = sprintf("%.2f" , $merchant['nowmoney'] - $reservemoney);
|
|
if ($usemoney < 0) {
|
|
$usemoney = 0;
|
|
}
|
|
$data['nowmoney'] = $usemoney;
|
|
$data['reservemoney'] = $reservemoney;
|
|
//提现方式
|
|
$payment_type = $cashsets['payment_type'];
|
|
if ($payment_type['alipay']) {
|
|
$data['alipaystatus'] = 1;
|
|
$data['alipay'] = $storemain['alipay'];
|
|
$data['realname'] = $storemain['realname'];
|
|
}
|
|
else {
|
|
$data['alipaystatus'] = 0;
|
|
}
|
|
if ($payment_type['we_chat']) {
|
|
$data['wechatstatus'] = 1;
|
|
}
|
|
else {
|
|
$data['wechatstatus'] = 0;
|
|
}
|
|
if ($payment_type['bank_card']) {
|
|
$data['bankcardstatus'] = 1;
|
|
$data['bank_name'] = $storemain['bank_name'];
|
|
$data['card_number'] = $storemain['card_number'];
|
|
$data['bank_username'] = $storemain['bank_username'];
|
|
}
|
|
else {
|
|
$data['bankcardstatus'] = 0;
|
|
}
|
|
//提现手续费
|
|
$agent = Area::getSingleAgent($storeaid);
|
|
$syssalepercent = $agent['percent']['syssalepercent'];
|
|
if (empty($syssalepercent)) {
|
|
$syssalepercent = sprintf("%.2f" , $_W['wlsetting']['cashset']['syssalepercent']);
|
|
}
|
|
else {
|
|
$syssalepercent = sprintf("%.2f" , $syssalepercent);
|
|
}
|
|
$data['syssalepercent'] = $syssalepercent;
|
|
$data['lowsetmoney'] = $cashsets['lowsetmoney'] ? : 0;
|
|
$data['maxsetmoney'] = $cashsets['maxsetmoney'] ? : 0;
|
|
|
|
$this->renderSuccess('商户提现' , $data);
|
|
}
|
|
/**
|
|
* Comment: 商户提现申请接口
|
|
* Author: wlf
|
|
* Date: 2019/8/23 10:15
|
|
*/
|
|
public function cashApply(){
|
|
global $_W , $_GPC;
|
|
$storeid = $_GPC['storeid'];
|
|
//判断临时申请内容
|
|
$flag = pdo_get('wlmerchant_settlement_temporary',array('mid' => $storeid,'uniacid'=>$_W['uniacid'],'type' => 2),array('id'));
|
|
if(!empty($flag)){
|
|
$this->renderError('此商户有处理中的提现申请,请稍后再试');
|
|
}
|
|
$storeaid = pdo_getcolumn(PDO_NAME . 'merchantdata' , ['id' => $storeid] , 'aid');
|
|
$settlementmoney = $_GPC['settlementmoney'];
|
|
$cashtype = $_GPC['cashtype'];
|
|
$storeadmin = pdo_get('wlmerchant_member' , ['id' => $_W['mid']] , ['id' , 'openid' , 'wechat_openid']);
|
|
if ($cashtype == 1) {
|
|
$alipay = $_GPC['alipay'];
|
|
$realname = $_GPC['realname'];
|
|
if (empty($alipay)) {
|
|
$this->renderError('请填写支付宝账号');
|
|
}
|
|
if (empty($realname)) {
|
|
$this->renderError('请填写支付宝账号真实姓名');
|
|
}
|
|
pdo_update('wlmerchant_member' , ['alipay' => $alipay,'realname'=>$realname] , ['id' => $_W['mid']]);
|
|
}
|
|
if ($cashtype == 2) {
|
|
if ($_W['source'] == 1) {
|
|
if (empty($storeadmin['openid'])) {
|
|
$this->renderError('您无微信账号数据,无法微信提现');
|
|
}
|
|
else {
|
|
$sopenid = $storeadmin['openid'];
|
|
}
|
|
}
|
|
else if ($_W['source'] == 3) {
|
|
if (empty($storeadmin['wechat_openid'])) {
|
|
$this->renderError('您无微信账号数据,无法微信提现');
|
|
}
|
|
else {
|
|
$sopenid = $storeadmin['wechat_openid'];
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
$sopenid = '';
|
|
}
|
|
if ($cashtype == 3) {
|
|
$bank_name = $_GPC['bank_name'];
|
|
$card_number = $_GPC['card_number'];
|
|
$bank_username = $_GPC['bank_username'];
|
|
if (empty($bank_name) || empty($card_number) || empty($bank_username)) {
|
|
$this->renderError('请填写银行卡各项参数');
|
|
}
|
|
pdo_update('wlmerchant_member' , [
|
|
'bank_name' => $bank_name ,
|
|
'card_number' => $card_number ,
|
|
'bank_username' => $bank_username
|
|
] , ['id' => $_W['mid']]);
|
|
}
|
|
$cashsets = Setting::wlsetting_read('cashset');
|
|
//提现手续费
|
|
$agent = Area::getSingleAgent($storeaid);
|
|
$syssalepercent = $agent['percent']['syssalepercent'];
|
|
if (empty($syssalepercent)) {
|
|
$syssalepercent = sprintf("%.2f" , $_W['wlsetting']['cashset']['syssalepercent']);
|
|
}
|
|
else {
|
|
$syssalepercent = sprintf("%.2f" , $syssalepercent);
|
|
}
|
|
|
|
//判断提现金额限制
|
|
if ($_GPC['settlementmoney'] < $cashsets['lowsetmoney']) {
|
|
$this->renderError('申请失败,最低提现金额为' . $cashsets['lowsetmoney'] . '元。');
|
|
}
|
|
//判断提现金额限制
|
|
if ($_GPC['settlementmoney'] > $cashsets['maxsetmoney'] && $cashsets['maxsetmoney'] > 0) {
|
|
$this->renderError('申请失败,单次最大提现金额为' . $cashsets['maxsetmoney'] . '元。');
|
|
}
|
|
|
|
//判断商家的提现时间限制
|
|
$shopIntervalTime = $cashsets['shopIntervalTime'];
|
|
if ($shopIntervalTime > 0) {
|
|
//获取上次提现申请时间
|
|
$startTime = pdo_fetchcolumn("SELECT applytime FROM " . tablename(PDO_NAME . "settlement_record") . " WHERE sid = {$storeid} AND uniacid = {$_W['uniacid']} ORDER BY applytime DESC ");
|
|
$interval = time() - $startTime;
|
|
$intervalDay = $interval / 3600 / 24;
|
|
//判断间隔时间
|
|
$intercalRes = ceil($shopIntervalTime - $intervalDay);
|
|
if ($intercalRes > 0) {
|
|
$this->renderError('请等' . $intercalRes . '天后再申请!。');
|
|
}
|
|
}
|
|
//可提现金额
|
|
$merchant = pdo_get('wlmerchant_merchantdata' , ['id' => $storeid] , [
|
|
'allmoney' ,
|
|
'nowmoney' ,
|
|
'reservestatus' ,
|
|
'reservemoney',
|
|
'autocash'
|
|
]);
|
|
//预留金额设置
|
|
if ($merchant['reservestatus']) {
|
|
$reservemoney = $merchant['reservemoney'];
|
|
}
|
|
else {
|
|
$reservemoney = sprintf("%.2f" , $cashsets['reservemoney']);
|
|
}
|
|
$usemoney = sprintf("%.2f" , $merchant['nowmoney'] - $reservemoney);
|
|
if ($usemoney < 0) {
|
|
$usemoney = 0;
|
|
}
|
|
if ($_GPC['settlementmoney'] > $usemoney) {
|
|
$this->renderError("'申请失败,最大可以提现金额:{$usemoney}");
|
|
}
|
|
//生成记录
|
|
$spercentmoney = sprintf("%.2f" , $syssalepercent * $settlementmoney / 100);
|
|
$sgetmoney = sprintf("%.2f" , $settlementmoney - $spercentmoney);
|
|
$data = [
|
|
'uniacid' => $_W['uniacid'] ,
|
|
'sid' => $storeid ,
|
|
'aid' => $storeaid ,
|
|
'status' => 2 ,
|
|
'type' => 1 ,
|
|
'sapplymoney' => $settlementmoney ,
|
|
'sgetmoney' => $sgetmoney ,
|
|
'spercentmoney' => $spercentmoney ,
|
|
'spercent' => $syssalepercent ,
|
|
'applytime' => TIMESTAMP ,
|
|
'updatetime' => TIMESTAMP ,
|
|
'sopenid' => $sopenid ,
|
|
'payment_type' => $cashtype ,
|
|
'source' => $_W['source']
|
|
];
|
|
if ($cashsets['noaudit']) {
|
|
$data['status'] = 3;
|
|
$trade_no = time() . random(4 , true);
|
|
$data['trade_no'] = $trade_no;
|
|
$data['updatetime'] = time();
|
|
}
|
|
$value = serialize($data);
|
|
$temporary = array(
|
|
'info' => $value,
|
|
'type' => 2,
|
|
'uniacid' => $_W['uniacid'],
|
|
'mid' => $data['sid']
|
|
);
|
|
$res = pdo_insert(PDO_NAME . 'settlement_temporary' , $temporary);
|
|
if($res){
|
|
$this->renderSuccess('申请成功');
|
|
}else{
|
|
$this->renderError('申请失败,请重试');
|
|
}
|
|
}
|
|
/**
|
|
* Comment: 商户提现记录
|
|
* Author: wlf
|
|
* Date: 2019/8/23 11:35
|
|
*/
|
|
public function cashList()
|
|
{
|
|
global $_W , $_GPC;
|
|
$storeid = $_GPC['storeid'];
|
|
$page = $_GPC['page'] ? $_GPC['page'] : 1;
|
|
$pageStart = $page * 10 - 10;
|
|
$status = $_GPC['status'] ? $_GPC['status'] : 1; // 1审核中 2已打款 3被驳回
|
|
$where = " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid} AND type = 1 ";
|
|
if ($status == 1) {
|
|
$where .= " AND status IN (1,2,3,4)";
|
|
}
|
|
else if ($status == 2) {
|
|
$where .= " AND status = 5";
|
|
}
|
|
else if ($status == 3) {
|
|
$where .= " AND status IN (-1,-2)";
|
|
}
|
|
$lists = pdo_fetchall("SELECT status,sapplymoney,sgetmoney,spercentmoney,updatetime FROM " . tablename('wlmerchant_settlement_record') . "{$where} ORDER BY applytime DESC LIMIT {$pageStart},10");
|
|
foreach ($lists as &$li) {
|
|
$li['updatetime'] = date('Y-m-d H:i:s' , $li['updatetime']);
|
|
}
|
|
$count = pdo_fetchcolumn('SELECT count(id) FROM ' . tablename('wlmerchant_settlement_record') . "{$where}");
|
|
$data['totalpage'] = ceil($count / 10);
|
|
$data['lists'] = $lists;
|
|
$this->renderSuccess('提现列表' , $data);
|
|
}
|
|
/**
|
|
* Comment: 输码核销接口
|
|
* Author: wlf
|
|
* Date: 2019/8/23 14:43
|
|
*/
|
|
public function checkcodeCash()
|
|
{
|
|
global $_W , $_GPC;
|
|
$storeid = $_GPC['storeid'];
|
|
$code = trim($_GPC['verifcode']);
|
|
$order = pdo_get(PDO_NAME . 'smallorder',['uniacid' => $_W['uniacid'],'sid' => $storeid ,'checkcode' => $code]);
|
|
if($order['appointstatus'] > 0){
|
|
if($order['appointstatus'] != 3){
|
|
$this->renderError('此核销码未预约,无法核销');
|
|
}else if($order['appstarttime'] > time()){
|
|
$this->renderError('此核销码未到预约时间,无法核销');
|
|
}else if($order['appendtime'] < time()){
|
|
$this->renderError('此核销码预约时间已过期,无法核销');
|
|
}
|
|
}
|
|
if ($order) {
|
|
if ($order['status'] == 1) {
|
|
if ($order['plugin'] == 'rush') {
|
|
$res = Rush::hexiaoorder($order['orderid'] , $_W['mid'] , 1 , 1 , $order['checkcode']);
|
|
}
|
|
else if ($order['plugin'] == 'groupon') {
|
|
$res = Groupon::hexiaoorder($order['orderid'] , $_W['mid'] , 1 , 1 , $order['checkcode']);
|
|
}
|
|
else if ($order['plugin'] == 'wlfightgroup') {
|
|
$res = Wlfightgroup::hexiaoorder($order['orderid'] , $_W['mid'] , 1 , 1 , $order['checkcode']);
|
|
}
|
|
else if ($order['plugin'] == 'bargain') {
|
|
$res = Bargain::hexiaoorder($order['orderid'] , $_W['mid'] , 1 , 1 , $order['checkcode']);
|
|
}
|
|
else if ($order['plugin'] == 'activity') {
|
|
$res = Activity::hexiaoorder($order['orderid'] , $_W['mid'] , 1 , 1 , $order['checkcode']);
|
|
}
|
|
else if ($order['plugin'] == 'coupon') {
|
|
$couponid = pdo_getcolumn(PDO_NAME . 'order' , ['id' => $order['orderid']] , 'recordid');
|
|
$res = wlCoupon::hexiaoorder($couponid , $_W['mid'] , 1 , 1 , $order['checkcode']);
|
|
}
|
|
if ($res) {
|
|
$this->renderSuccess('核销成功');
|
|
}
|
|
else {
|
|
$this->renderError('核销失败,请重试');
|
|
}
|
|
}
|
|
else {
|
|
$this->renderError('此核销码已核销完成');
|
|
}
|
|
}
|
|
else {
|
|
$this->renderError('核销码无效,请检查');
|
|
}
|
|
}
|
|
/**
|
|
* Comment: 验证记录列表
|
|
* Author: wlf
|
|
* Date: 2019/8/23 15:43
|
|
*/
|
|
public function verifList()
|
|
{
|
|
global $_W , $_GPC;
|
|
$data = [];
|
|
$page = $_GPC['page'] ? $_GPC['page'] : 1;
|
|
$pageStart = ($page - 1) * 20;
|
|
$admin = $_GPC['verifmid'];
|
|
$type = trim($_GPC['type']);
|
|
$cc_id = trim($_GPC['cc_id']);
|
|
$storeid = intval($_GPC['storeid']) ? intval($_GPC['storeid']) : $_W['storeid'];
|
|
$time = trim($_GPC['time']);
|
|
$keyword = trim($_GPC['keyword']);
|
|
$where = " WHERE uniacid = {$_W['uniacid']} AND storeid = {$storeid} ";
|
|
if (!empty($type)) {
|
|
$where .= " AND plugin = '{$type}'";
|
|
}
|
|
if (!empty($cc_id)) {
|
|
$where .= " AND cc_id = '{$cc_id}'";
|
|
}
|
|
if (!empty($admin)) {
|
|
$where .= " AND verifmid = {$admin}";
|
|
}
|
|
if (!empty($time)) {
|
|
$times = explode(',' , $time);
|
|
$starttime = $times[0];
|
|
$endtime = $times[1] + 86399;
|
|
$where .= " AND createtime > {$starttime} AND createtime < {$endtime}";
|
|
}
|
|
if (!empty($keyword)) {
|
|
$where .= " AND orderno LIKE '%{$keyword}%' or verifnickname LIKE '%{$keyword}%'";
|
|
}
|
|
$allfen = pdo_fetchcolumn('SELECT SUM(num) FROM ' . tablename(PDO_NAME . "verifrecord") . $where);
|
|
$myorder = pdo_fetchall("SELECT * FROM " . tablename('wlmerchant_verifrecord') . " {$where} ORDER BY id DESC LIMIT {$pageStart},20");
|
|
$allnum = pdo_fetchcolumn('SELECT count(id) FROM ' . tablename(PDO_NAME . "verifrecord") . $where);
|
|
foreach ($myorder as $key => &$value) {
|
|
$member = Member::wl_member_get($value['mid'] , ['nickname' , 'mobile' , 'encodename']);
|
|
$value['nickname'] = base64_decode($member['encodename']);
|
|
$value['mobile'] = $member['mobile'];
|
|
if (empty($value['verifnickname'])) {
|
|
$verifnickname = pdo_getcolumn(PDO_NAME . 'merchantuser' , [
|
|
'uniacid' => $_W['uniacid'] ,
|
|
'mid' => $value['verifmid'] ,
|
|
'storeid' => $value['storeid']
|
|
] , 'name');
|
|
$value['verifnickname'] = $verifnickname;
|
|
}
|
|
$value['createtime'] = date('Y-m-d H:i:s' , $value['createtime']);
|
|
$cc_name = pdo_getcolumn(PDO_NAME . 'cultivate_class',['id' => $value['cc_id']],'name');
|
|
$value['classname'] = $cc_name ?: ''; // 自定义特殊分类
|
|
//处理数据
|
|
switch ($value['plugin']) {
|
|
case 'rush':
|
|
$order = pdo_get(PDO_NAME . 'rush_order' , ['id' => $value['orderid']] , [
|
|
'optionid' ,
|
|
'activityid'
|
|
]);
|
|
$value['goodimg'] = pdo_getcolumn(PDO_NAME . 'rush_activity' , ['id' => $order['activityid']] , 'thumb');
|
|
$optionid = $order['optionid'];
|
|
$value['pluginname'] = '抢购';
|
|
$value['orderprice'] = pdo_getcolumn(PDO_NAME . 'smallorder' , ['checkcode' => $value['verifrcode'],'plugin' => $value['plugin'],'orderid' => $value['orderid']] , 'orderprice');
|
|
break;//抢购
|
|
case 'groupon':
|
|
$order = pdo_get(PDO_NAME . 'order' , ['id' => $value['orderid']] , [
|
|
'specid' ,
|
|
'fkid'
|
|
]);
|
|
$optionid = $order['specid'];
|
|
$value['goodimg'] = pdo_getcolumn(PDO_NAME . 'groupon_activity' , ['id' => $order['fkid']] , 'thumb');
|
|
$value['pluginname'] = '团购';
|
|
$value['orderprice'] = pdo_getcolumn(PDO_NAME . 'smallorder' , ['checkcode' => $value['verifrcode'],'plugin' => $value['plugin'],'orderid' => $value['orderid']] , 'orderprice');
|
|
break;//团购
|
|
case 'wlfightgroup':
|
|
$order = pdo_get(PDO_NAME . 'order' , ['id' => $value['orderid']] , [
|
|
'specid' ,
|
|
'fkid'
|
|
]);
|
|
$optionid = $order['specid'];
|
|
$value['goodimg'] = pdo_getcolumn(PDO_NAME . 'fightgroup_goods' , ['id' => $order['fkid']] , 'logo');
|
|
$value['pluginname'] = '拼团';
|
|
$value['orderprice'] = pdo_getcolumn(PDO_NAME . 'smallorder' , ['checkcode' => $value['verifrcode'],'plugin' => $value['plugin'],'orderid' => $value['orderid']] , 'orderprice');
|
|
break;//拼团
|
|
case 'coupon':
|
|
$order = pdo_get(PDO_NAME . 'order' , ['id' => $value['orderid']] , ['fkid']);
|
|
$value['goodimg'] = pdo_getcolumn(PDO_NAME . 'couponlist' , ['id' => $order['fkid']] , 'logo');
|
|
$value['pluginname'] = '卡券';
|
|
$value['orderprice'] = pdo_getcolumn(PDO_NAME . 'smallorder' , ['checkcode' => $value['verifrcode'],'plugin' => $value['plugin'],'orderid' => $value['orderid']] , 'orderprice');
|
|
break;//卡券
|
|
case 'wlcoupon':
|
|
$order = pdo_get(PDO_NAME . 'order' , ['id' => $value['orderid']] , ['fkid']);
|
|
$value['goodimg'] = pdo_getcolumn(PDO_NAME . 'couponlist' , ['id' => $order['fkid']] , 'logo');
|
|
$value['pluginname'] = '卡券';
|
|
$value['orderprice'] = pdo_getcolumn(PDO_NAME . 'smallorder' , ['checkcode' => $value['verifrcode'],'plugin' => $value['plugin'],'orderid' => $value['orderid']] , 'orderprice');
|
|
break;//卡券
|
|
case 'bargain':
|
|
$order = pdo_get(PDO_NAME . 'order' , ['id' => $value['orderid']] , ['fkid']);
|
|
$value['goodimg'] = pdo_getcolumn(PDO_NAME . 'bargain_activity' , ['id' => $order['fkid']] , 'thumb');
|
|
$value['pluginname'] = '砍价';
|
|
$value['orderprice'] = pdo_getcolumn(PDO_NAME . 'smallorder' , ['checkcode' => $value['verifrcode'],'plugin' => $value['plugin'],'orderid' => $value['orderid']] , 'orderprice');
|
|
break;//砍价
|
|
case 'halfcard1':
|
|
$value['goodimg'] = pdo_getcolumn(PDO_NAME . 'merchantdata' , ['id' => $value['storeid']] , 'logo');
|
|
$value['pluginname'] = '会员特权';
|
|
$value['orderprice'] = pdo_getcolumn(PDO_NAME . 'timecardrecord' , ['id' => $value['verifrcode']] , 'realmoney');
|
|
break;//特权
|
|
case 'halfcard2':
|
|
$value['goodimg'] = pdo_getcolumn(PDO_NAME . 'merchantdata' , ['id' => $value['storeid']] , 'logo');
|
|
$value['pluginname'] = '大礼包';
|
|
$value['orderprice'] = pdo_getcolumn(PDO_NAME . 'timecardrecord' , ['id' => $value['verifrcode']] , 'realmoney');
|
|
break;//大礼包
|
|
}
|
|
if ($optionid && $value['plugin'] != 'coupon' && $value['plugin'] != 'wlcoupon') {
|
|
$value['optionname'] = pdo_getcolumn(PDO_NAME . 'goods_option' , ['id' => $optionid] , 'title');
|
|
}
|
|
$value['storename'] = pdo_getcolumn(PDO_NAME . 'merchantdata' , [
|
|
'uniacid' => $_W['uniacid'] ,
|
|
'id' => $value['storeid']
|
|
] , 'storename');
|
|
$value['goodimg'] = tomedia($value['goodimg']);
|
|
//兼容处理
|
|
if (empty($value['goodimg'])) $value['goodimg'] = $_W['siteroot'] . 'web/resource/images/nopic-107.png';
|
|
}
|
|
$data['list'] = $myorder;
|
|
$data['allnum'] = intval($allnum);
|
|
$data['allfen'] = intval($allfen);
|
|
$data['totalpage'] = ceil($allnum / 20);
|
|
$alladminarray = [];
|
|
if ($_GPC['getinfoflag']) {
|
|
//所有店员
|
|
$meroof = Setting::agentsetting_read('meroof');
|
|
if ($meroof['veradmin']) {
|
|
$ismain = pdo_getcolumn(PDO_NAME . 'merchantuser' , [
|
|
'mid' => $_W['mid'] ,
|
|
'storeid' => $storeid
|
|
] , 'ismain');
|
|
if ($ismain == 1) {
|
|
$alladmin = pdo_getall(PDO_NAME . 'merchantuser' , [
|
|
'uniacid' => $_W['uniacid'] ,
|
|
'storeid' => $storeid
|
|
] , ['mid' , 'name' , 'mobile'] , 'mid');
|
|
}
|
|
else {
|
|
$alladmin = pdo_getall(PDO_NAME . 'merchantuser' , [
|
|
'uniacid' => $_W['uniacid'] ,
|
|
'verifmid' => $_W['mid'] ,
|
|
'storeid' => $storeid
|
|
] , ['mid' , 'name' , 'mobile'] , 'mid');
|
|
}
|
|
foreach ($alladmin as $ak => &$av) {
|
|
//$member = Member::wl_member_get($av['mid'] , ['nickname' , 'mobile' , 'encodename']);
|
|
$member = pdo_get(PDO_NAME . 'member',['id' => $av['mid']],['nickname','avatar' , 'mobile', 'encodename']);
|
|
$av['name'] = !empty($member['nickname']) ? base64_decode($member['encodename']) : $av['name'];
|
|
$av['mobile'] = !empty($av['mobile']) ? $av['mobile'] : $member['mobile'];
|
|
}
|
|
}
|
|
else {
|
|
$alladmin = pdo_getall(PDO_NAME . 'merchantuser' , [
|
|
'uniacid' => $_W['uniacid'] ,
|
|
'storeid' => $storeid
|
|
] , ['mid' , 'name' , 'mobile'] , 'mid');
|
|
foreach ($alladmin as $ak => $av) {
|
|
//$member = Member::wl_member_get($av['mid'] , ['nickname' , 'mobile' , 'encodename']);
|
|
$member = pdo_get(PDO_NAME . 'member',['id' => $av['mid']],['nickname','avatar' , 'mobile', 'encodename']);
|
|
$av['name'] = !empty($member['nickname']) ? base64_decode($member['encodename']) : $av['name'];
|
|
$av['mobile'] = !empty($av['mobile']) ? $av['mobile'] : $member['mobile'];
|
|
$alladminarray[] = $av;
|
|
}
|
|
}
|
|
//所有分类
|
|
$alladmin = $alladminarray;
|
|
// $halfcardtext = !empty($_W['wlsetting']['trade']['halfcardtext']) ? $_W['wlsetting']['trade']['halfcardtext'] : '一卡通';
|
|
// $alltype[] = ['name' => $halfcardtext ,'type' => 'halfcard1'];
|
|
// $alltype[] = ['name' => '大礼包' ,'type' => 'halfcard2'];
|
|
// $alltype[] = ['name' => '抢购' ,'type' => 'rush'];
|
|
// $alltype[] = ['name' => '卡券' ,'type' => 'wlcoupon'];
|
|
// $alltype[] = ['name' => '拼团' ,'type' => 'wlfightgroup'];
|
|
// $alltype[] = ['name' => '团购' ,'type' => 'groupon'];
|
|
// $alltype[] = ['name' => '砍价' ,'type' => 'bargain'];
|
|
$alltype = [];
|
|
$cultivate_class = Category::getStoreCategory();
|
|
foreach ($cultivate_class as $cultivate_class_val) {
|
|
$alltype[] = ['name' => $cultivate_class_val['name'], 'type' => 'rush', 'cc_id' => $cultivate_class_val['id']];
|
|
}
|
|
$data['typelist'] = $alltype;
|
|
$data['adminlist'] = $alladmin;
|
|
}
|
|
$this->renderSuccess('验证记录数据' , $data);
|
|
}
|
|
/**
|
|
* Comment: 店铺评价列表
|
|
* Author: wlf
|
|
* Date: 2019/8/23 16:45
|
|
*/
|
|
public function commentList()
|
|
{
|
|
global $_W , $_GPC;
|
|
$storeid = $_GPC['storeid'];
|
|
$rank = $_GPC['rank']; //1好评 2中评 3差评
|
|
$page = $_GPC['page'] ? $_GPC['page'] : 1;
|
|
$where = ['uniacid' => $_W['uniacid'] , 'sid' => $storeid,'checkone' => 2];
|
|
if($_GPC['personal'] > 0){
|
|
$where['housekeepflag'] = 1;
|
|
}
|
|
if ($rank == 1) {
|
|
$where['star#'] = "(4,5)";
|
|
}
|
|
else if ($rank == 2) {
|
|
$where['star#'] = "(2,3)";
|
|
}
|
|
else if ($rank == 3) {
|
|
$where['star'] = 1;
|
|
}
|
|
$myorder = Util::getNumData('id,text,createtime,nickname,status,star,replyone,gid,idoforder,plugin,headimg,sid,replytextone' , PDO_NAME . 'comment' , $where , 'ID DESC' , $page , 20 , 1);
|
|
$allnum = $myorder[2];
|
|
$myorder = $myorder[0];
|
|
foreach ($myorder as $key => &$value) {
|
|
switch ($value['plugin']) {
|
|
case 'rush':
|
|
if(empty($value['gid'])){
|
|
$activityid = pdo_getcolumn(PDO_NAME . 'rush_order' , ['id' => $value['idoforder']] , 'activityid');
|
|
}else{
|
|
$activityid = $value['gid'];
|
|
}
|
|
$value['goodsimg'] = pdo_getcolumn(PDO_NAME . 'rush_activity' , ['id' => $activityid] , 'thumb');
|
|
break;
|
|
case 'groupon':
|
|
if(empty($value['gid'])){
|
|
$activityid = pdo_getcolumn(PDO_NAME . 'order' , ['id' => $value['idoforder']] , 'fkid');
|
|
}else{
|
|
$activityid = $value['gid'];
|
|
}
|
|
$value['goodsimg'] = pdo_getcolumn(PDO_NAME . 'groupon_activity' , ['id' => $activityid] , 'thumb');
|
|
break;
|
|
case 'wlfightgroup':
|
|
if(empty($value['gid'])){
|
|
$activityid = pdo_getcolumn(PDO_NAME . 'order' , ['id' => $value['idoforder']] , 'fkid');
|
|
}else{
|
|
$activityid = $value['gid'];
|
|
}
|
|
$value['goodsimg'] = pdo_getcolumn(PDO_NAME . 'fightgroup_goods' , ['id' => $activityid] , 'logo');
|
|
break;
|
|
case 'coupon':
|
|
if(empty($value['gid'])){
|
|
$activityid = pdo_getcolumn(PDO_NAME . 'order' , ['id' => $value['idoforder']] , 'fkid');
|
|
}else{
|
|
$activityid = $value['gid'];
|
|
}
|
|
$value['goodsimg'] = pdo_getcolumn(PDO_NAME . 'couponlist' , ['id' => $activityid] , 'logo');
|
|
break;
|
|
case 'bargain':
|
|
if(empty($value['gid'])){
|
|
$activityid = pdo_getcolumn(PDO_NAME . 'order' , ['id' => $value['idoforder']] , 'fkid');
|
|
}else{
|
|
$activityid = $value['gid'];
|
|
}
|
|
$value['goodsimg'] = pdo_getcolumn(PDO_NAME . 'bargain_activity' , ['id' => $activityid] , 'thumb');
|
|
break;
|
|
case 'housekeep':
|
|
$value['goodsimg'] = pdo_getcolumn(PDO_NAME . 'housekeep_service' , ['id' => $value['gid']] , 'thumb');
|
|
break;
|
|
default:
|
|
$value['goodsimg'] = pdo_getcolumn(PDO_NAME . 'merchantdata' , ['id' => $value['sid']] , 'logo');
|
|
break;
|
|
}
|
|
$value['headimg'] = tomedia($value['headimg']);
|
|
$value['goodsimg'] = tomedia($value['goodsimg']);
|
|
$value['createtime'] = date('Y-m-d H:i:s' , $value['createtime']);
|
|
}
|
|
$data['list'] = $myorder;
|
|
$data['totalpage'] = ceil($allnum / 20);
|
|
$this->renderSuccess('评价列表' , $data);
|
|
}
|
|
/**
|
|
* Comment: 店铺回复评价
|
|
* Author: wlf
|
|
* Date: 2019/8/26 11:28
|
|
*/
|
|
public function commentReply()
|
|
{
|
|
global $_W , $_GPC;
|
|
$sid = $_GPC['storeid'];
|
|
$orderid = intval($_GPC['commentid']);
|
|
$replytext = trim($_GPC['replytext']);
|
|
if (empty($orderid) || empty($replytext)) {
|
|
$this->renderError('缺少重要参数,请重试');
|
|
}
|
|
$comment = pdo_get('wlmerchant_comment' , ['id' => $orderid] , ['mid' ,'housekeepflag', 'sid']);
|
|
if($comment['housekeepflag'] > 0){
|
|
$storename = pdo_getcolumn(PDO_NAME . 'housekeep_artificer' , ['id' => $comment['sid']] , 'name');
|
|
}else {
|
|
$aut = Store::checkAuthority('comment', $sid);
|
|
if ($aut) {
|
|
$this->renderError('商户暂无此权限');
|
|
}
|
|
$storename = pdo_getcolumn(PDO_NAME . 'merchantdata' , ['id' => $comment['sid']] , 'storename');
|
|
}
|
|
//给评论用户发模板消息
|
|
pdo_update(PDO_NAME . 'comment' , ['replytextone' => $replytext , 'replyone' => 2] , ['id' => $orderid]);
|
|
$modelData = [
|
|
'first' => '商家回复了您的评论' ,
|
|
'type' => '评论回复提醒' ,//业务类型
|
|
'content' => '商家[' . $storename . ']的回复' ,//业务内容
|
|
'status' => '已回复' ,//处理结果
|
|
'time' => date("Y-m-d H:i:s" , time()) ,//操作时间$store['createtime']
|
|
'remark' => '回复内容:' . $replytext
|
|
];
|
|
//$url = h5_url('pages/mainPages/store/index',['sid'=>$comment['sid']]);
|
|
TempModel::sendInit('service' , $comment['mid'] , $modelData , $_W['source']);
|
|
$this->renderSuccess('回复成功');
|
|
}
|
|
/**
|
|
* Comment: 店铺订单列表
|
|
* Author: wlf
|
|
* Date: 2019/8/23 10:01
|
|
*/
|
|
public function orderList()
|
|
{
|
|
global $_W , $_GPC;
|
|
$storeid = $_GPC['storeid'];
|
|
$type = $_GPC['type']; //订单类型
|
|
$status = intval($_GPC['status']); //订单状态
|
|
$sort = intval($_GPC['sort']); //订单排序
|
|
$time = trim($_GPC['time']); //时间筛选
|
|
$page = $_GPC['page'];
|
|
$keyword = trim($_GPC['keyword']);
|
|
$mid = trim($_GPC['userid']);
|
|
$cc_id = $_GPC['cc_id'];
|
|
$pageStart = $page * 20 - 20;
|
|
$settings = Setting::wlsetting_read('orderset');
|
|
$data = [];
|
|
$where = " where uniacid = {$_W['uniacid']} and sid = $storeid and orderno != 666666";
|
|
if (!empty($time)) {
|
|
if ($time == 'today') {
|
|
$starttime = strtotime(date('Y-m-d'));
|
|
$endtime = $starttime + 86399;
|
|
}
|
|
else if ($time == 'week') {
|
|
$starttime = strtotime("previous monday");
|
|
$endtime = time();
|
|
}
|
|
else if ($time == 'month') {
|
|
$starttime = mktime(0 , 0 , 0 , date('m') , 1 , date('Y'));
|
|
$endtime = time();
|
|
}
|
|
else {
|
|
$times = explode(',' , $time);
|
|
$starttime = (strtotime($times[0]) > time()) ? strtotime(date('Y-m-d')) : strtotime($times[0]);
|
|
$endtime = ($starttime > strtotime($times[1])) ? $starttime + 86399 : strtotime($times[1]) + 86399;
|
|
}
|
|
$where .= " AND createtime > {$starttime}";
|
|
$where .= " AND createtime < {$endtime}";
|
|
}
|
|
if ($status) {
|
|
if ($status == 3) {
|
|
$where .= " AND status IN (2,3)";
|
|
}
|
|
else {
|
|
$where .= " AND status = {$status}";
|
|
}
|
|
}
|
|
else {
|
|
$where .= " AND status IN (1,2,3,4,8,6,7,9)";
|
|
}
|
|
if (!empty($keyword)) {
|
|
$where .= " AND orderno LIKE '%{$keyword}%'";
|
|
}
|
|
if (!empty($mid)) {
|
|
$where .= " AND mid = {$mid}";
|
|
}
|
|
if ($type) {
|
|
if ($type == 'rush') {
|
|
$where2 = $where . " AND plugin IN ('null') ";
|
|
}
|
|
else {
|
|
$where2 = $where . " AND plugin = '{$type}' ";
|
|
$where .= " and orderno = 00000 ";
|
|
}
|
|
}
|
|
else {
|
|
$where2 = $where . " AND plugin IN ('wlfightgroup','activity','groupon','coupon','bargain','halfcard','citydelivery','housekeep')";
|
|
}
|
|
// 判断统计那种特殊类型
|
|
$where_cc = '';
|
|
if (!empty($cc_id) && $cc_id > 0) $where_cc = " AND activityid IN (SELECT id FROM ".tablename(PDO_NAME."rush_activity")." WHERE uniacid = {$_W['uniacid']} AND cc_id = '{$cc_id}') ";
|
|
//获取订单
|
|
if ($sort) {
|
|
$myorder = pdo_fetchall('SELECT id,createtime,sid,status,paidprid,mid,orderno,num,price,paytype,vipbuyflag,paytime,disorderid,mobile,remark,expressid,moinfo, "a" FROM ' . tablename(PDO_NAME . "order") . " {$where2}" . ' UNION ALL SELECT id,createtime,sid,status,paidprid,mid,orderno,num,price,paytype,vipbuyflag,paytime,disorderid,mobile,remark,expressid,moinfo, "b" FROM ' . tablename(PDO_NAME . "rush_order") . " {$where} {$where_cc} ORDER BY createtime ASC LIMIT " . $pageStart . ',' . "20");
|
|
}
|
|
else {
|
|
$myorder = pdo_fetchall('SELECT id,createtime,sid,status,paidprid,mid,orderno,num,price,paytype,vipbuyflag,paytime,disorderid,mobile,remark,expressid,moinfo, "a" FROM ' . tablename(PDO_NAME . "order") . " {$where2}" . ' UNION ALL SELECT id,createtime,sid,status,paidprid,mid,orderno,num,price,paytype,vipbuyflag,paytime,disorderid,mobile,remark,expressid,moinfo, "b" FROM ' . tablename(PDO_NAME . "rush_order") . " {$where} {$where_cc} ORDER BY createtime DESC LIMIT " . $pageStart . ',' . "20");
|
|
}
|
|
foreach ($myorder as $key => &$value) {
|
|
if ($value['a'] == 'a') {
|
|
$aorder = pdo_get(PDO_NAME . 'order' , ['id' => $value['id']] ,['fkid','specid','plugin','buyremark','fightgroupid']);
|
|
$value['fkid'] = $aorder['fkid'];
|
|
$value['plugin'] = $aorder['plugin'];
|
|
$value['remark'] = $aorder['buyremark'];
|
|
if ($value['plugin'] == 'coupon') {
|
|
$goods = wlCoupon::getSingleCoupons($value['fkid'] , 'title,logo');
|
|
$value['gname'] = $goods['title'];
|
|
$value['gimg'] = $goods['logo'];
|
|
$value['pluginname'] = '卡券';
|
|
}
|
|
if ($value['plugin'] == 'wlfightgroup') {
|
|
$goods = Wlfightgroup::getSingleGood($value['fkid'] , 'name,logo');
|
|
$value['gname'] = $goods['name'];
|
|
$value['gimg'] = $goods['logo'];
|
|
$value['pluginname'] = '拼团';
|
|
$optionid = $aorder['specid'];
|
|
}
|
|
if ($value['plugin'] == 'groupon') {
|
|
$goods = pdo_get(PDO_NAME . 'groupon_activity' , ['id' => $value['fkid']] , ['name','thumb']);
|
|
$value['gname'] = $goods['name'];
|
|
$value['gimg'] = $goods['thumb'];
|
|
$value['pluginname'] = '团购';
|
|
$optionid = $aorder['specid'];
|
|
|
|
}
|
|
if ($value['plugin'] == 'activity') {
|
|
$goods = pdo_get(PDO_NAME . 'activitylist' , ['id' => $value['fkid']] , ['title','thumb']);
|
|
$value['gname'] = $goods['title'];
|
|
$value['gimg'] = $goods['thumb'];
|
|
$value['pluginname'] = '活动';
|
|
$optionid = $aorder['specid'];
|
|
}
|
|
if ($value['plugin'] == 'halfcard') {
|
|
if ($value['fkid']) {
|
|
$value['gname'] = pdo_getcolumn(PDO_NAME . 'halfcardlist' , ['id' => $value['fkid']] , 'title');
|
|
}
|
|
else {
|
|
$value['gname'] = '在线买单';
|
|
}
|
|
$value['gimg'] = pdo_getcolumn(PDO_NAME . 'merchantdata' , ['id' => $value['sid']] , 'logo');
|
|
$value['pluginname'] = '买单';
|
|
}
|
|
if ($value['plugin'] == 'bargain') {
|
|
$goods = pdo_get(PDO_NAME . 'bargain_activity' , ['id' => $value['fkid']] , ['name','thumb']);
|
|
$value['gname'] = $goods['name'];
|
|
$value['gimg'] = $goods['thumb'];
|
|
$value['pluginname'] = '砍价';
|
|
}
|
|
if ($value['plugin'] == 'housekeep') {
|
|
$goods = pdo_get(PDO_NAME . 'housekeep_service' , ['id' => $value['fkid']] , ['title','thumb']);
|
|
$value['gname'] = $goods['title'];
|
|
$value['gimg'] = $goods['thumb'];
|
|
$value['pluginname'] = '家政';
|
|
}
|
|
if($value['plugin'] == 'citydelivery'){
|
|
$smallorders = pdo_fetchall("SELECT gid,money,num,specid FROM ".tablename('wlmerchant_delivery_order')." WHERE `tid` = '{$value['orderno']}' ORDER BY price DESC");
|
|
foreach ($smallorders as $ke => &$orr){
|
|
$goods = pdo_get('wlmerchant_delivery_activity',array('id' => $orr['gid']),array('name','thumb'));
|
|
$orr['name'] = $goods['name'];
|
|
if($orr['specid']>0){
|
|
$specname = pdo_getcolumn(PDO_NAME.'delivery_spec',array('id'=>$orr['specid']),'name');
|
|
$orr['name'] .= '/'.$specname;
|
|
}
|
|
if($ke == 0){
|
|
$value['gimg'] = tomedia($goods['thumb']);
|
|
}
|
|
unset($orr['gid']);
|
|
$value['goodsarray'][] = $orr;
|
|
}
|
|
$value['pluginname'] = '同城配送';
|
|
if($value['expressid']>0){
|
|
$value['express'] = pdo_get('wlmerchant_express',array('id' => $value['expressid']),array('name','tel','address'));
|
|
}
|
|
|
|
}
|
|
//规格
|
|
$value['goodsprice'] = pdo_getcolumn(PDO_NAME . 'order' , ['id' => $value['id']] , 'goodsprice');
|
|
$value['goodsprice'] = sprintf("%.2f" , $value['goodsprice'] / $value['num']);
|
|
}
|
|
else {
|
|
$value['activityid'] = pdo_getcolumn(PDO_NAME . 'rush_order' , ['id' => $value['id']] , 'activityid');
|
|
$value['gname'] = pdo_getcolumn(PDO_NAME . 'rush_activity' , ['id' => $value['activityid']] , 'name');
|
|
$value['gimg'] = pdo_getcolumn(PDO_NAME . 'rush_activity' , ['id' => $value['activityid']] , 'thumb');
|
|
$value['address'] = pdo_getcolumn(PDO_NAME . 'rush_order' , ['id' => $value['id']] , 'address');
|
|
$value['username'] = pdo_getcolumn(PDO_NAME . 'rush_order' , ['id' => $value['id']] , 'username');
|
|
//规格
|
|
$optionid = pdo_getcolumn(PDO_NAME . 'rush_order' , ['id' => $value['id']] , 'optionid');
|
|
$value['goodsprice'] = sprintf("%.2f" , $value['price'] / $value['num']);
|
|
$value['price'] = pdo_getcolumn(PDO_NAME . 'rush_order' , ['id' => $value['id']] , 'actualprice');
|
|
$value['pluginname'] = '抢购';
|
|
$value['plugin'] = 'rush';
|
|
}
|
|
//地址
|
|
if ($value['expressid']) {
|
|
if($value['plugin'] == 'citydelivery' || $value['plugin'] == 'housekeep'){
|
|
$value['express'] = pdo_get('wlmerchant_address',array('id' => $value['expressid']),['name','tel','province','city','county','detailed_address']);
|
|
if($value['plugin'] == 'citydelivery'){
|
|
$value['express']['address'] = $value['express']['province'].$value['express']['city'].$value['express']['county'].$value['express']['detailed_address'];
|
|
}else{
|
|
$value['express']['address'] = $value['express']['county'].$value['express']['detailed_address'];
|
|
}
|
|
}else{
|
|
$value['express'] = pdo_get('wlmerchant_express' , ['id' => $value['expressid']] , [
|
|
'name' ,
|
|
'tel' ,
|
|
'address' ,
|
|
'expressname' ,
|
|
'expresssn'
|
|
]);
|
|
}
|
|
}
|
|
$member = pdo_get(PDO_NAME . 'member' , [
|
|
'id' => $value['mid'] ,
|
|
'uniacid' => $_W['uniacid']
|
|
] , ['nickname' , 'mobile' , 'encodename']);
|
|
$value['nickname'] = base64_decode($member['encodename']);
|
|
if (empty($value['mobile'])) {
|
|
$value['mobile'] = $member['mobile'];
|
|
}
|
|
$value['createtime'] = date('Y-m-d H:i:s' , $value['createtime']);
|
|
if ($optionid) {
|
|
if($value['plugin'] == 'activity'){
|
|
$value['optiontitle'] = pdo_getcolumn(PDO_NAME . 'activity_spec' , ['id' => $optionid] , 'name');
|
|
}else{
|
|
$value['optiontitle'] = pdo_getcolumn(PDO_NAME . 'goods_option' , ['id' => $optionid] , 'title');
|
|
}
|
|
}
|
|
if (!$value['optiontitle']) {
|
|
$value['optiontitle'] = '';
|
|
}
|
|
$value['gimg'] = tomedia($value['gimg']);
|
|
switch ($value['status']) {
|
|
case 1:
|
|
if($value['plugin'] == 'citydelivery'){
|
|
$value['statusname'] = '待自提';
|
|
}else if($value['plugin'] == 'wlfightgroup' && $aorder['fightgroupid'] > 0){
|
|
$groupstatus = pdo_getcolumn(PDO_NAME.'fightgroup_group',array('id'=>$aorder['fightgroupid']),'status');
|
|
if($groupstatus['status'] == 1){
|
|
$value['statusname'] = '组团中';
|
|
$value['status'] = 5;
|
|
}else{
|
|
$value['statusname'] = '待使用';
|
|
}
|
|
} else{
|
|
$value['statusname'] = '待使用';
|
|
}
|
|
break;
|
|
case 2:
|
|
$value['statusname'] = '待评价';
|
|
break;
|
|
case 3:
|
|
$value['statusname'] = '已完成';
|
|
break;
|
|
case 4:
|
|
if($value['plugin'] == 'citydelivery'){
|
|
$value['statusname'] = '配送中';
|
|
}else {
|
|
$value['statusname'] = '待收货';
|
|
}
|
|
break;
|
|
case 6:
|
|
$value['statusname'] = '待退款';
|
|
break;
|
|
case 7:
|
|
$value['statusname'] = '已退款';
|
|
break;
|
|
case 8:
|
|
if($value['plugin'] == 'citydelivery'){
|
|
$value['statusname'] = '待接单';
|
|
}else{
|
|
$value['statusname'] = '待发货';
|
|
}
|
|
break;
|
|
case 9:
|
|
$value['statusname'] = '已过期';
|
|
break;
|
|
}
|
|
|
|
//判断当前订单是否存在售后申请
|
|
if($value['a'] == 'a'){
|
|
$aftersale = pdo_fetch("SELECT id,status FROM ".tablename(PDO_NAME."aftersale")
|
|
." WHERE plugin != 'rush' AND orderid = {$value['id']} ");
|
|
}else{
|
|
$aftersale = pdo_fetch("SELECT id,status FROM ".tablename(PDO_NAME."aftersale")
|
|
." WHERE plugin = 'rush' AND orderid = {$value['id']} ");
|
|
}
|
|
//状态 1申请中 2处理中 3已驳回 4用户取消
|
|
if($aftersale) {
|
|
switch ($aftersale['status']) {
|
|
case 1:
|
|
$value['statusname'] = '退款申请中';
|
|
if($settings['storerefund']>0){
|
|
$value['refundflag'] = 1;
|
|
}
|
|
break;//申请中
|
|
case 2:
|
|
$value['statusname'] = '已退款';
|
|
break;//处理中
|
|
//case 3:$value['statusname'] = '退款驳回';;break;//已驳回
|
|
//case 4:$value['statusname'] = '取消退款申请';;break;//用户取消
|
|
}
|
|
}
|
|
|
|
//自定义表单信息处理
|
|
$moinfo = unserialize($value['moinfo']);
|
|
if($moinfo){
|
|
foreach($moinfo as &$moinfoItem){
|
|
if($moinfoItem['id'] == 'img'){
|
|
foreach($moinfoItem['data'] as $imgKey => $imgLink){
|
|
$moinfoItem['data'][$imgKey] = tomedia($imgLink);
|
|
}
|
|
}
|
|
}
|
|
$value['moinfo'] = $moinfo;
|
|
$value['moinfoflag'] = 1;
|
|
}else{
|
|
$value['moinfo'] = [];
|
|
$value['moinfoflag'] = 0;
|
|
}
|
|
|
|
|
|
}
|
|
$data['orderlist'] = $myorder;
|
|
if ($_GPC['getinfoflag']) {
|
|
//初始化数据
|
|
$data['statuslist'] = [
|
|
0 => '全部状态' ,
|
|
1 => '待使用' ,
|
|
2 => '待评价' ,
|
|
3 => '已完成' ,
|
|
4 => '待收货' ,
|
|
6 => '待退款' ,
|
|
7 => '已退款' ,
|
|
8 => '待发货' ,
|
|
9 => '已过期'
|
|
];
|
|
$data['typelist'] = [0 => '全部' , 'rush' => '抢购' , 'coupon' => '卡券'];
|
|
if (p('wlfightgroup')) {
|
|
$data['typelist']['wlfightgroup'] = '拼团';
|
|
}
|
|
if (p('groupon')) {
|
|
$data['typelist']['groupon'] = '团购';
|
|
}
|
|
if (p('halfcard')) {
|
|
$data['typelist']['halfcard'] = '买单';
|
|
}
|
|
if (p('bargain')) {
|
|
$data['typelist']['bargain'] = '砍价';
|
|
}
|
|
if (p('citydelivery')) {
|
|
$data['typelist']['citydelivery'] = '同城配送';
|
|
}
|
|
if (p('housekeep')) {
|
|
$data['typelist']['housekeep'] = '家政服务';
|
|
}
|
|
$data['sortlist'] = [0 => '时间降序' , 1 => '时间升序'];
|
|
//统计
|
|
$rushordernum = pdo_fetchcolumn('SELECT count(id) FROM ' . tablename('wlmerchant_rush_order') . "{$where}");
|
|
$ordernum = pdo_fetchcolumn('SELECT count(id) FROM ' . tablename('wlmerchant_order') . "{$where2}");
|
|
$data['allordernum'] = $rushordernum + $ordernum;
|
|
$rushordermoney = pdo_fetchcolumn('SELECT SUM(actualprice) FROM ' . tablename('wlmerchant_rush_order') . "{$where}");
|
|
$ordermoney = pdo_fetchcolumn('SELECT SUM(price) FROM ' . tablename('wlmerchant_order') . "{$where2}");
|
|
$data['allordermoney'] = $rushordermoney + $ordermoney;
|
|
$rushgoodnum = pdo_fetchcolumn('SELECT SUM(num) FROM ' . tablename('wlmerchant_rush_order') . "{$where}");
|
|
$goodnum = pdo_fetchcolumn('SELECT SUM(num) FROM ' . tablename('wlmerchant_order') . "{$where2}");
|
|
$data['goodnum'] = $rushgoodnum + $goodnum;
|
|
$data['pagetotal'] = ceil($data['allordernum'] / 20);
|
|
}
|
|
//家政隐藏完成按钮
|
|
if (p('housekeep')) {
|
|
$set = Setting::agentsetting_read('housekeep');
|
|
$data['hkhidefish'] = $set['storefish'] ? : 0;
|
|
}
|
|
|
|
if(Customized::init('citycard1503')>0){
|
|
$data['fishimg'] = 1;
|
|
}else{
|
|
$data['fishimg'] = 0;
|
|
}
|
|
|
|
$this->renderSuccess('订单数据' , $data);
|
|
}
|
|
/**
|
|
* Comment: 商户分类信息列表
|
|
* Author: zzw
|
|
* Date: 2019/8/26 14:07
|
|
*/
|
|
public function cateList()
|
|
{
|
|
global $_W , $_GPC;
|
|
#1、获取参数信息
|
|
$type = $_GPC['type'] ? : 0;//0=只获取一级分类(默认);1=需要获取二级分类
|
|
#2、获取商户分类列表
|
|
$list = pdo_getall(PDO_NAME . "category_store" , [
|
|
'aid' => $_W['aid'] ,
|
|
'uniacid' => $_W['uniacid'] ,
|
|
'state' => 0 ,
|
|
'parentid' => 0 ,
|
|
'enabled' => 1
|
|
] , ['id' , 'name' , 'thumb'] , '' , ' displayorder DESC ');
|
|
if (is_array($list) && count($list) > 0) {
|
|
foreach ($list as $key => &$val) {
|
|
$val['thumb'] = tomedia($val['thumb']);
|
|
//获取当前一级分类下的二级分类
|
|
if ($type == 1) {
|
|
$twoList = pdo_getall(PDO_NAME . "category_store" , [
|
|
'aid' => $_W['aid'] ,
|
|
'uniacid' => $_W['uniacid'] ,
|
|
'state' => 0 ,
|
|
'parentid' => $val['id'] ,
|
|
'enabled' => 1
|
|
] , [
|
|
'id' ,
|
|
'name' ,
|
|
'thumb'
|
|
] , '' , ' displayorder DESC ');
|
|
if (is_array($twoList) && count($twoList) > 0) {
|
|
foreach ($twoList as $index => &$item) {
|
|
$item['thumb'] = tomedia($item['thumb']);
|
|
}
|
|
}
|
|
$val['list'] = $twoList;
|
|
}
|
|
}
|
|
}
|
|
$this->renderSuccess('商户一级分类信息' , $list);
|
|
}
|
|
/**
|
|
* Comment: 获取某个用户下的所有店铺列表
|
|
* Author: zzw
|
|
* Date: 2019/8/30 16:18
|
|
*/
|
|
public function userShopList()
|
|
{
|
|
global $_W , $_GPC;
|
|
#1、参数获取
|
|
$mid = $_GPC['mid'] ? : -1;
|
|
$lng = $_GPC['lng'] ? : 0;//104.0091133118 经度
|
|
$lat = $_GPC['lat'] ? : 0;//30.5681964123 纬度
|
|
#2、获取信息
|
|
$list = Store::getUserShopList($mid , $lng , $lat);
|
|
$this->renderSuccess('用户店铺列表' , $list);
|
|
}
|
|
/**
|
|
* Comment: 切换商户列表
|
|
* Author: wlf
|
|
* Date: 2019/09/24 16:52
|
|
*/
|
|
public function userStoreList()
|
|
{
|
|
global $_W , $_GPC;
|
|
$where = " WHERE a.mid = {$_W['mid']} AND a.ismain != 2 AND a.enabled = 1";
|
|
#1、获取有效代理列表
|
|
$agentIds = pdo_getall(PDO_NAME . "agentusers" , ['uniacid' => $_W['uniacid']] , ['id']);
|
|
$aids = array_column($agentIds , 'id');
|
|
if (is_array($aids) && count($aids) > 1) {
|
|
$where .= " AND a.aid IN (0," . implode(',' , $aids) . ") ";
|
|
}
|
|
else if (count($aids) == 1) {
|
|
$where .= " AND a.aid IN (0,{$aids['0']}) ";
|
|
}
|
|
$sql = "SELECT a.storeid,a.ismain,b.status,a.reject,a.aid,a.manage_store,a.hasmanage FROM " . tablename(PDO_NAME . "merchantuser") . " as a RIGHT JOIN " . tablename(PDO_NAME . "merchantdata") . " as b ON a.storeid = b.id {$where} ORDER BY a.ismain ASC,a.id DESC ";
|
|
$stores = pdo_fetchall($sql);
|
|
$data = [];
|
|
if (empty($stores)) {
|
|
$this->renderError('您没有可管理商户');
|
|
}else {
|
|
if(p('attestation')){
|
|
$attset = Setting::wlsetting_read('attestation');
|
|
}else{
|
|
$attset = [];
|
|
}
|
|
foreach ($stores as &$store) {
|
|
$user = [];
|
|
$user['status'] = $store['status'];
|
|
$merchant = pdo_get('wlmerchant_merchantdata' , ['id' => $store['storeid']] , [
|
|
'storename' ,
|
|
'logo'
|
|
]);
|
|
$user['storename'] = $merchant['storename'];
|
|
$user['storelogo'] = tomedia($merchant['logo']);
|
|
$user['storeid'] = $store['storeid'];
|
|
if ($store['ismain'] == 1) {
|
|
$user['ismain'] = '店长';
|
|
}else if ($store['ismain'] == 3) {
|
|
$user['ismain'] = '管理员';
|
|
}else if ($store['ismain'] == 4) {
|
|
$user['ismain'] = '业务员';
|
|
}
|
|
if ($store['status'] == 0) {
|
|
$user['orderid'] = pdo_getcolumn(PDO_NAME . 'order' , [
|
|
'sid' => $user['storeid'] ,
|
|
'status' => 0 ,
|
|
'plugin' => 'store'
|
|
] , 'id');
|
|
if (!$user['orderid']) {
|
|
$user['orderid'] = 0;
|
|
}
|
|
$user['reject'] = '您还未支付入驻金额';
|
|
}
|
|
else if ($store['status'] == 3) {
|
|
$user['reject'] = $store['reject'];
|
|
}
|
|
//认证管理商户权限
|
|
if($attset['switch'] == 1 && $attset['attmanage'] == 1 && $store['status'] == 2){
|
|
$attestation = Attestation::checkAttestation(2,$store['storeid']);
|
|
if(empty($attestation['attestation'])){
|
|
$user['reject'] = '您的商户未认证';
|
|
$user['status'] = 4;
|
|
}else if($attestation['attestation'] == 1){
|
|
$user['reject'] = '您的商户认证中';
|
|
$user['status'] = 4;
|
|
}else if($attestation['attestation'] == 3){
|
|
$user['reject'] = '您的商户认证被驳回';
|
|
$user['status'] = 4;
|
|
}
|
|
}
|
|
//代理商信息获取
|
|
$agentName = pdo_getcolumn(PDO_NAME."agentusers",['id'=>$store['aid']],'agentname');
|
|
$user['agent_name'] = $agentName ? $agentName : '总平台';
|
|
//判断业务员权限
|
|
if ($store['ismain'] == 4){
|
|
if($store['manage_store']){
|
|
if($store['hasmanage']){
|
|
$data[] = $user;
|
|
}
|
|
}else{
|
|
$setting = pdo_get('wlmerchant_agentsetting',array('uniacid' => $_W['uniacid'],'aid'=>$store['aid'],'key' => 'salesman'),array('value'));
|
|
$setting = unserialize($setting['value']);
|
|
if($setting['hasmanage']){
|
|
$data[] = $user;
|
|
}
|
|
}
|
|
}else{
|
|
$data[] = $user;
|
|
}
|
|
}
|
|
if(empty($data)){
|
|
$this->renderError('您没有可管理商户');
|
|
}else{
|
|
$this->renderSuccess('切换商户列表' , $data);
|
|
}
|
|
}
|
|
}
|
|
/**
|
|
* Comment: 修改店员状态
|
|
* Author: wlf
|
|
* Date: 2019/09/24 18:38
|
|
*/
|
|
public function changeAdminEnabled()
|
|
{
|
|
global $_W , $_GPC;
|
|
$userid = $_GPC['userid'];
|
|
$userEnabled = pdo_getcolumn(PDO_NAME . 'merchantuser' , ['id' => $userid] , 'enabled');
|
|
$ismain = pdo_getcolumn(PDO_NAME . 'merchantuser' , ['id' => $userid] , 'ismain');
|
|
if ($ismain == 1) {
|
|
$this->renderError('店长不能被停用');
|
|
}
|
|
if ($userEnabled) {
|
|
$res = pdo_update('wlmerchant_merchantuser' , ['enabled' => 0] , ['id' => $userid]);
|
|
if ($res) {
|
|
$this->renderSuccess('停用成功');
|
|
}
|
|
else {
|
|
$this->renderError('停用失败');
|
|
}
|
|
}
|
|
else {
|
|
$res = pdo_update('wlmerchant_merchantuser' , ['enabled' => 1] , ['id' => $userid]);
|
|
if ($res) {
|
|
$this->renderSuccess('启用成功');
|
|
}
|
|
else {
|
|
$this->renderError('启用失败');
|
|
}
|
|
}
|
|
}
|
|
/**
|
|
* Comment: 店铺客户列表
|
|
* Author: wlf
|
|
* Date: 2019/09/25 17:27
|
|
*/
|
|
public function storeFansList()
|
|
{
|
|
global $_W , $_GPC;
|
|
$storeid = $_GPC['storeid'] ? $_GPC['storeid'] : $_W['storeid'];
|
|
$page = $_GPC['page'] ? $_GPC['page'] : 1;
|
|
$initialization = $_GPC['initialization'];
|
|
$keyword = trim($_GPC['keyword']);
|
|
$pageStart = $page * 10 - 10;
|
|
$data = [];
|
|
$store = pdo_get('wlmerchant_merchantdata',array('id' => $storeid),array('paybackstatus'));
|
|
if (!empty($initialization)) {
|
|
//获取今日新增客户
|
|
$time = strtotime(date('Y-m-d' , time()));
|
|
$data['newfansnum'] = pdo_fetchcolumn('SELECT count(id) FROM ' . tablename('wlmerchant_storefans') . " WHERE sid = {$storeid} AND createtime > {$time} ");
|
|
//总客户数量
|
|
$data['allfansnum'] = pdo_fetchcolumn('SELECT count(id) FROM ' . tablename('wlmerchant_storefans') . " WHERE sid = {$storeid}");
|
|
}
|
|
$where = " WHERE a.sid = {$storeid} AND a.uniacid = {$_W['uniacid']}";
|
|
if (!empty($keyword)) {
|
|
$where .= " AND (b.nickname LIKE '%{$keyword}%' or b.realname LIKE '%{$keyword}%')";
|
|
}
|
|
$fans = pdo_fetchall("SELECT a.id,a.mid,a.createtime,b.avatar,b.nickname,b.realname FROM " . tablename(PDO_NAME . "storefans") . " as a LEFT JOIN " . tablename(PDO_NAME . "member") . " as b ON a.mid = b.id {$where} ORDER BY createtime DESC LIMIT {$pageStart},10");
|
|
$allfans = pdo_fetchcolumn("SELECT count(a.id) FROM " . tablename(PDO_NAME . "storefans") . " as a LEFT JOIN " . tablename(PDO_NAME . "member") . " as b ON a.mid = b.id {$where}");
|
|
$data['pagetotal'] = ceil($allfans / 10);
|
|
if ($fans) {
|
|
foreach ($fans as &$fan) {
|
|
//$fan['avatar'] = tomedia($fan['avatar']);
|
|
Member::getMemberInfo($fan,$fan['mid']);
|
|
$fan['createtime'] = date('Y-m-d H:i' , $fan['createtime']);
|
|
//抢购订单统计
|
|
$rushordernum = pdo_fetchcolumn('SELECT count(id) FROM ' . tablename('wlmerchant_rush_order') . " WHERE sid = {$storeid} AND mid = {$fan['mid']} AND status IN (1,2,3,4,8,9)");
|
|
$rushordermoney = pdo_fetchcolumn('SELECT SUM(actualprice) FROM ' . tablename('wlmerchant_rush_order') . " WHERE sid = {$storeid} AND mid = {$fan['mid']} AND status IN (1,2,3,4,8,9)");
|
|
//其他订单统计
|
|
$ordernum = pdo_fetchcolumn('SELECT count(id) FROM ' . tablename('wlmerchant_order') . " WHERE sid = {$storeid} AND mid = {$fan['mid']} AND status IN (1,2,3,4,8,9)");
|
|
$ordermoney = pdo_fetchcolumn('SELECT SUM(price) FROM ' . tablename('wlmerchant_order') . " WHERE sid = {$storeid} AND mid = {$fan['mid']} AND status IN (1,2,3,4,8,9)");
|
|
$fan['allordernum'] = sprintf("%.0f" , $rushordernum + $ordernum);
|
|
$fan['allordermoney'] = sprintf("%.2f" , $rushordermoney + $ordermoney);
|
|
pdo_update('wlmerchant_storefans' , ['isread' => 1] , ['id' => $fan['id']]);
|
|
}
|
|
}
|
|
$data['list'] = $fans;
|
|
if(p('payback') && $store['paybackstatus'] > 0 ){
|
|
$data['paybak'] = 1;
|
|
}
|
|
$this->renderSuccess('客户数据' , $data);
|
|
}
|
|
/**
|
|
* Comment: 店铺消息列表
|
|
* Author: wlf
|
|
* Date: 2019/09/26 09:42
|
|
*/
|
|
public function storeNewList()
|
|
{
|
|
global $_W , $_GPC;
|
|
#1参数获取
|
|
$storeid = $_GPC['storeid'] ? $_GPC['storeid'] : $_W['storeid'];
|
|
$page = $_GPC['page'] ? $_GPC['page'] : 1;
|
|
$pageIndex = $_GPC['page_index'] ? : 10;
|
|
#2、信息列表获取
|
|
$list = Im::myList($storeid , 2 , $page , $pageIndex);
|
|
$data['list'] = $list['list'];
|
|
$data['total'] = $list['total'];
|
|
$data['newnoticenum'] = pdo_fetchcolumn('SELECT count(id) FROM ' . tablename('wlmerchant_systemnotice') . " WHERE sid = {$storeid} AND isread = 0");
|
|
$data['newusernum'] = pdo_fetchcolumn('SELECT count(id) FROM ' . tablename('wlmerchant_storefans') . " WHERE sid = {$storeid} AND isread = 0");
|
|
$this->renderSuccess('商户通讯信息列表' , $data);
|
|
}
|
|
/**
|
|
* Comment: 店铺个人中心
|
|
* Author: wlf
|
|
* Date: 2019/09/28 17:59
|
|
*/
|
|
public function storeMember()
|
|
{
|
|
global $_W , $_GPC;
|
|
$storeid = $_GPC['storeid'];
|
|
$storeinfo = pdo_get('wlmerchant_merchantdata' , ['id' => $storeid] , [
|
|
'storename' ,
|
|
'logo' ,
|
|
'endtime' ,
|
|
'nowmoney',
|
|
'recruit_switch',//是否开启求职招聘功能:0=关闭,1=开启
|
|
'housekeepstatus', //是否开启家政服务功能:0=关闭,1=开启
|
|
'temclose' //临时休息参数 0 营业中 1休息中
|
|
]);
|
|
$data = [
|
|
'storename' => $storeinfo['storename'] ,
|
|
'storelogo' => tomedia($storeinfo['logo']) ,
|
|
'endtime' => date('Y-m-d' , $storeinfo['endtime']) ,
|
|
'nowmoney' => $storeinfo['nowmoney'],
|
|
'recruit_switch' => $storeinfo['recruit_switch'],
|
|
'housekeepstatus' => $storeinfo['housekeepstatus'],
|
|
'temclose' => $storeinfo['temclose']
|
|
];
|
|
//判断是否开启商家入驻
|
|
$set = Setting::wlsetting_read('attestation');
|
|
$set['type'] = is_array(unserialize($set['type'])) ? unserialize($set['type']) : [];
|
|
if ($set['switch'] == 1 && in_array('store' , $set['type'])) {
|
|
$data['switch'] = 1;
|
|
}
|
|
else {
|
|
$data['switch'] = 0;
|
|
}
|
|
if (p('attestation')) {
|
|
$data['attestation'] = Attestation::checkAttestation(2 , $storeid);
|
|
}
|
|
//入住114标识
|
|
if(p('yellowpage')){
|
|
$ismain = pdo_getcolumn(PDO_NAME . 'merchantuser' , [
|
|
'mid' => $_W['mid'] ,
|
|
'storeid' => $storeid
|
|
] , 'ismain');
|
|
if($ismain == 1){
|
|
$flag = pdo_getcolumn(PDO_NAME.'yellowpage_lists',array('storeid'=>$storeid),'id');
|
|
if(empty($flag)){
|
|
$data['oofflag'] = 1;
|
|
}else{
|
|
$data['oofflag'] = 2;
|
|
}
|
|
}
|
|
}
|
|
$this->renderSuccess('商户个人中心' , $data);
|
|
}
|
|
/**
|
|
* Comment: 隐藏显示评价接口
|
|
* Author: wlf
|
|
* Date: 2019/10/08 16:12
|
|
*/
|
|
public function hideCommnet()
|
|
{
|
|
global $_W , $_GPC;
|
|
$storeid = $_GPC['storeid'];
|
|
$aut = Store::checkAuthority('comment' , $storeid);
|
|
if($aut){
|
|
$this->renderError('商户暂无此权限');
|
|
}
|
|
$id = $_GPC['commentid'];
|
|
$comentStatus = pdo_getcolumn(PDO_NAME . 'comment' , ['id' => $id] , 'status');
|
|
if ($comentStatus) {
|
|
$res = pdo_update('wlmerchant_comment' , ['status' => 0] , ['id' => $id]);
|
|
if ($res) {
|
|
$this->renderSuccess('隐藏成功');
|
|
}
|
|
else {
|
|
$this->renderError('隐藏失败,请重试');
|
|
}
|
|
}
|
|
else {
|
|
$res = pdo_update('wlmerchant_comment' , ['status' => 1] , ['id' => $id]);
|
|
if ($res) {
|
|
$this->renderSuccess('显示成功');
|
|
}
|
|
else {
|
|
$this->renderError('显示失败,请重试');
|
|
}
|
|
}
|
|
}
|
|
/**
|
|
* Comment: 商家回复评价详情
|
|
* Author: wlf
|
|
* Date: 2019/10/08 16:45
|
|
*/
|
|
public function commnetDetail()
|
|
{
|
|
global $_W , $_GPC;
|
|
$id = $_GPC['commentid'];
|
|
$comment = pdo_get('wlmerchant_comment' , ['id' => $id] , [
|
|
'gid' ,
|
|
'mid' ,
|
|
'sid' ,
|
|
'pic' ,
|
|
'idoforder' ,
|
|
'text' ,
|
|
'createtime' ,
|
|
'star' ,
|
|
'plugin',
|
|
'replytextone'
|
|
]);
|
|
$member = pdo_get('wlmerchant_member' , ['id' => $comment['mid']] , ['avatar' , 'nickname' , 'encodename']);
|
|
$data = [
|
|
'pic' => unserialize($comment['pic']) ,
|
|
'text' => $comment['text'] ,
|
|
'createtime' => date('Y-m-d H:i' , $comment['createtime']) ,
|
|
'star' => $comment['star'] ,
|
|
'nickname' => base64_decode($member['encodename']) ,
|
|
'avatar' => tomedia($member['avatar']) ,
|
|
];
|
|
switch ($comment['plugin']) {
|
|
case 'rush' :
|
|
$goodsid = pdo_getcolumn(PDO_NAME . 'rush_order' , ['id' => $comment['idoforder']] , 'activityid');
|
|
$goods = pdo_get('wlmerchant_rush_activity' , ['id' => $goodsid] , [
|
|
'name' ,
|
|
'thumb' ,
|
|
'price' ,
|
|
'oldprice'
|
|
]);
|
|
$data['goodsname'] = $goods['name'];
|
|
$data['goodsimg'] = tomedia($goods['thumb']);
|
|
$data['goodsprcie'] = $goods['price'];
|
|
$data['goodsoldprice'] = $goods['oldprice'];
|
|
break;
|
|
case 'wlfightgroup':
|
|
$goodsid = pdo_getcolumn(PDO_NAME . 'order' , ['id' => $comment['idoforder']] , 'fkid');
|
|
$goods = pdo_get('wlmerchant_fightgroup_goods' , ['id' => $goodsid] , [
|
|
'name' ,
|
|
'logo' ,
|
|
'price' ,
|
|
'oldprice'
|
|
]);
|
|
$data['goodsname'] = $goods['name'];
|
|
$data['goodsimg'] = tomedia($goods['logo']);
|
|
$data['goodsprcie'] = $goods['price'];
|
|
$data['goodsoldprice'] = $goods['oldprice'];
|
|
break;
|
|
case 'bargain':
|
|
$goodsid = pdo_getcolumn(PDO_NAME . 'order' , ['id' => $comment['idoforder']] , 'fkid');
|
|
$goods = pdo_get('wlmerchant_bargain_activity' , ['id' => $goodsid] , [
|
|
'name' ,
|
|
'thumb' ,
|
|
'price' ,
|
|
'oldprice'
|
|
]);
|
|
$data['goodsname'] = $goods['name'];
|
|
$data['goodsimg'] = tomedia($goods['thumb']);
|
|
$data['goodsprcie'] = $goods['price'];
|
|
$data['goodsoldprice'] = $goods['oldprice'];
|
|
break;
|
|
case 'groupon':
|
|
$goodsid = pdo_getcolumn(PDO_NAME . 'order' , ['id' => $comment['idoforder']] , 'fkid');
|
|
$goods = pdo_get('wlmerchant_groupon_activity' , ['id' => $goodsid] , [
|
|
'name' ,
|
|
'thumb' ,
|
|
'price' ,
|
|
'oldprice'
|
|
]);
|
|
$data['goodsname'] = $goods['name'];
|
|
$data['goodsimg'] = tomedia($goods['thumb']);
|
|
$data['goodsprcie'] = $goods['price'];
|
|
$data['goodsoldprice'] = $goods['oldprice'];
|
|
break;
|
|
case 'coupon':
|
|
$goodsid = pdo_getcolumn(PDO_NAME . 'order' , ['id' => $comment['idoforder']] , 'fkid');
|
|
$goods = pdo_get('wlmerchant_couponlist' , ['id' => $goodsid] , [
|
|
'title' ,
|
|
'logo' ,
|
|
'price'
|
|
]);
|
|
$data['goodsname'] = $goods['title'];
|
|
$data['goodsimg'] = tomedia($goods['logo']);
|
|
$data['goodsprcie'] = $goods['price'];
|
|
$data['goodsoldprice'] = 0;
|
|
break;
|
|
case 'housekeep':
|
|
$goods = pdo_get('wlmerchant_housekeep_service' , ['id' => $comment['gid']] , [
|
|
'title' ,
|
|
'thumb' ,
|
|
'pricetype',
|
|
'price',
|
|
'unit'
|
|
]);
|
|
$data['goodsname'] = $goods['title'];
|
|
$data['goodsimg'] = tomedia($goods['thumb']);
|
|
$data['goodsprcie'] = $goods['price'];
|
|
$data['pricetype'] = $goods['pricetype'];
|
|
$data['goodsoldprice'] = 0;
|
|
//查询留言信息
|
|
$data['replylist'] = pdo_fetchall("SELECT a.id,a.content,b.nickname FROM ".tablename(PDO_NAME."housekeep_reply")." a LEFT JOIN".tablename('wlmerchant_member')." b ON a.smid = b.id WHERE cid = {$id} LIMIT 5");
|
|
break;
|
|
default :
|
|
$merchant = pdo_get('wlmerchant_merchantdata' , ['id' => $comment['sid']] , [
|
|
'storename' ,
|
|
'logo'
|
|
]);
|
|
$data['goodsname'] = $merchant['storename'];
|
|
$data['goodsimg'] = tomedia($merchant['logo']);
|
|
$data['goodsprcie'] = 0;
|
|
$data['goodsoldprice'] = 0;
|
|
break;
|
|
}
|
|
$this->renderSuccess('评价数据' , $data);
|
|
}
|
|
/**
|
|
* Comment: 商家发布动态页面初始化
|
|
* Author: wlf
|
|
* Date: 2020/02/26 10:35
|
|
*/
|
|
public function addDynamicPage(){
|
|
global $_W , $_GPC;
|
|
$storeid = $_GPC['storeid']; //店铺id
|
|
$groupid = pdo_getcolumn('wlmerchant_merchantdata' , ['id' => $storeid] , 'groupid');
|
|
if (empty($groupid)) {
|
|
$authority = 0;
|
|
}
|
|
else {
|
|
$authority = pdo_getcolumn('wlmerchant_chargelist' , ['id' => $groupid] , 'authority');
|
|
}
|
|
$authority = unserialize($authority);
|
|
if (!empty($authority)) {
|
|
if (!in_array('dynamic' , $authority)) {
|
|
$this->renderSuccess('商户暂无此权限',array('status'=>1));
|
|
}
|
|
}
|
|
$this->renderSuccess('商户有此权限',array('status'=>0));
|
|
}
|
|
|
|
/**
|
|
* Comment: 商家发布动态
|
|
* Author: wlf
|
|
* Date: 2019/10/09 9:28
|
|
*/
|
|
public function addDynamic()
|
|
{
|
|
global $_W , $_GPC;
|
|
$storeid = $_GPC['storeid']; //店铺id
|
|
$aut = Store::checkAuthority('dynamic' , $storeid);
|
|
if($aut){
|
|
$this->renderError('商户暂无此权限');
|
|
}
|
|
$content = $_GPC['content']; //动态内容
|
|
$pic = $_GPC['pic'];
|
|
if (!empty($pic)) {
|
|
$pic = explode(',' , $_GPC['pic']);
|
|
$pic = serialize($pic); //动态图片
|
|
}
|
|
else {
|
|
$pic = '';
|
|
}
|
|
$store = pdo_get('wlmerchant_merchantdata' , ['id' => $storeid] , ['storename' , 'aid' , 'uniacid' , 'audits']);
|
|
if (empty($content)) {
|
|
$this->renderSuccess('请输入动态内容');
|
|
}
|
|
$data = [
|
|
'uniacid' => $store['uniacid'] ,
|
|
'aid' => $store['aid'] ,
|
|
'sid' => $storeid ,
|
|
'mid' => $_W['mid'] ,
|
|
'content' => $content ,
|
|
'imgs' => $pic ,
|
|
'createtime' => time() ,
|
|
'status' => $store['audits']
|
|
];
|
|
$res = pdo_insert('wlmerchant_store_dynamic' , $data);
|
|
if ($res) {
|
|
if ($store['audits'] != 1) {
|
|
//未开启免审核 给代理商管理员发送模板消息
|
|
$first = "商户【{$store['storename']}】发布了动态信息";//消息头部
|
|
$type = "商家动态审核";//业务类型
|
|
$content = !empty($content) ? $content : '';//业务内容
|
|
$status = "待审核";//处理结果
|
|
$remark = "请尽快处理!";//备注信息
|
|
$time = $data['createtime'];//操作时间
|
|
News::noticeAgent('storegood' , $_W['aid'] , $first , $type , $content , $status , $remark , $time);
|
|
}
|
|
$this->renderSuccess('发布成功');
|
|
}
|
|
else {
|
|
$this->renderError('发布失败,请重试');
|
|
}
|
|
}
|
|
/**
|
|
* Comment: 商家删除动态
|
|
* Author: wlf
|
|
* Date: 2019/10/09 10:08
|
|
*/
|
|
public function deleteDynamic()
|
|
{
|
|
global $_W , $_GPC;
|
|
$id = $_GPC['id']; //动态id
|
|
$res = pdo_delete('wlmerchant_store_dynamic' , ['id' => $id]);
|
|
if ($res) {
|
|
$this->renderSuccess('删除成功');
|
|
}
|
|
else {
|
|
$this->renderError('删除失败,请重试');
|
|
}
|
|
}
|
|
/**
|
|
* Comment: 商家系统通知列表
|
|
* Author: wlf
|
|
* Date: 2019/10/09 17:37
|
|
*/
|
|
public function sysNoticeList()
|
|
{
|
|
global $_W , $_GPC;
|
|
$storeid = $_GPC['storeid'] ? $_GPC['storeid'] : $_W['storeid'];
|
|
$page = $_GPC['page'] ? $_GPC['page'] : 1;
|
|
$pageStart = $page * 10 - 10;
|
|
$data = [];
|
|
$list = pdo_fetchall("SELECT * FROM " . tablename('wlmerchant_systemnotice') . "WHERE sid = {$storeid} ORDER BY createtime DESC LIMIT {$pageStart},10 ");
|
|
$allnum = pdo_fetchcolumn('SELECT count(id) FROM ' . tablename('wlmerchant_systemnotice') . " WHERE uniacid = {$_W['uniacid']} AND sid = {$storeid}");
|
|
$data['pagetotal'] = ceil($allnum / 10);
|
|
$newlist = [];
|
|
if ($list) {
|
|
foreach ($list as $li) {
|
|
$arr = [];
|
|
$arr['id'] = $li['id'];
|
|
switch ($li['type']) {
|
|
case 1:
|
|
$order = pdo_get('wlmerchant_rush_order' , ['id' => $li['objid']] , [
|
|
'activityid' ,
|
|
'mid'
|
|
]);
|
|
$goods = pdo_get('wlmerchant_rush_activity' , ['id' => $order['activityid']] , [
|
|
'name' ,
|
|
'thumb'
|
|
]);
|
|
$member = pdo_get('wlmerchant_member' , ['id' => $order['mid']] , [
|
|
'nickname' ,
|
|
'avatar' ,
|
|
'encodename'
|
|
]);
|
|
$arr['head'] = '订单消息';
|
|
$arr['title'] = $goods['name'];
|
|
$arr['thumb'] = tomedia($goods['thumb']);
|
|
$arr['subtitle'] = base64_decode($member['encodename']);
|
|
$arr['subthumb'] = tomedia($member['avatar']);
|
|
break;
|
|
case 2:
|
|
$arr['head'] = '订单消息';
|
|
$order = pdo_get('wlmerchant_order' , ['id' => $li['objid']] , [
|
|
'fkid' ,
|
|
'plugin' ,
|
|
'mid' ,
|
|
'sid'
|
|
]);
|
|
if ($order['plugin'] == 'groupon') {
|
|
$goods = pdo_get('wlmerchant_groupon_activity' , ['id' => $order['fkid']] , [
|
|
'name' ,
|
|
'thumb'
|
|
]);
|
|
$arr['title'] = $goods['name'];
|
|
$arr['thumb'] = tomedia($goods['thumb']);
|
|
}
|
|
else if ($order['plugin'] == 'wlfightgroup') {
|
|
$goods = pdo_get('wlmerchant_fightgroup_goods' , ['id' => $order['fkid']] , [
|
|
'name' ,
|
|
'logo'
|
|
]);
|
|
$arr['title'] = $goods['name'];
|
|
$arr['thumb'] = tomedia($goods['logo']);
|
|
}
|
|
else if ($order['plugin'] == 'coupon') {
|
|
$goods = pdo_get('wlmerchant_couponlist' , ['id' => $order['fkid']] , [
|
|
'title' ,
|
|
'logo'
|
|
]);
|
|
$arr['title'] = $goods['title'];
|
|
$arr['thumb'] = tomedia($goods['logo']);
|
|
}
|
|
else if ($order['plugin'] == 'halfcard') {
|
|
$goods = pdo_get('wlmerchant_merchantdata' , ['id' => $order['sid']] , [
|
|
'storename' ,
|
|
'logo'
|
|
]);
|
|
$arr['title'] = $goods['storename'] . '在线买单';
|
|
$arr['thumb'] = tomedia($goods['logo']);
|
|
}
|
|
else if ($order['plugin'] == 'bargain') {
|
|
$goods = pdo_get('wlmerchant_bargain_activity' , ['id' => $order['fkid']] , [
|
|
'name' ,
|
|
'thumb'
|
|
]);
|
|
$arr['title'] = $goods['name'];
|
|
$arr['thumb'] = tomedia($goods['thumb']);
|
|
}
|
|
$member = pdo_get('wlmerchant_member' , ['id' => $order['mid']] , [
|
|
'nickname' ,
|
|
'avatar' ,
|
|
'encodename'
|
|
]);
|
|
$arr['subtitle'] = base64_decode($member['encodename']);
|
|
$arr['subthumb'] = tomedia($member['avatar']);
|
|
break;
|
|
case 3:
|
|
$arr['head'] = '提现消息';
|
|
$goods = pdo_get('wlmerchant_merchant' , ['id' => $li['sid']] , ['storename' , 'logo']);
|
|
$record = pdo_get('wlmerchant_settlement_record' , ['id' => $li['objid']] , ['sgetmoney']);
|
|
$arr['title'] = '提现¥' . $record['sgetmoney'];
|
|
$arr['thumb'] = tomedia($goods['logo']);
|
|
if ($li['status'] == 1) {
|
|
$arr['subtitle'] = '审核通过';
|
|
}
|
|
else if ($li['status'] == 2) {
|
|
$arr['subtitle'] = '申请驳回';
|
|
}
|
|
else if ($li['status'] == 3) {
|
|
$arr['subtitle'] = '已打款:+¥' . $record['sgetmoney'];
|
|
}
|
|
break;
|
|
case 4:
|
|
$arr['head'] = '粉丝消息';
|
|
$goods = pdo_get('wlmerchant_member' , ['id' => $li['objid']] , [
|
|
'nickname' ,
|
|
'avatar'
|
|
]);
|
|
$arr['title'] = $goods['nickname'];
|
|
$arr['thumb'] = tomedia($goods['avatar']);
|
|
$arr['subtitle'] = '成为了店铺的新粉丝';
|
|
break;
|
|
}
|
|
//处理时间
|
|
$differtime = time() - $li['createtime'];
|
|
if ($differtime < 60) {
|
|
$arr['timetext'] = $differtime . '秒前';
|
|
}
|
|
else if ($differtime < 3600) {
|
|
$differtime = floor($differtime / 60);
|
|
$arr['timetext'] = $differtime . '分前';
|
|
}
|
|
else if ($differtime < 24 * 3600) {
|
|
$differtime = floor($differtime / 3600);
|
|
$arr['timetext'] = $differtime . '小时前';
|
|
}
|
|
else {
|
|
$arr['timetext'] = date('Y-m-d H:i' , $li['createtime']);
|
|
}
|
|
$newlist[] = $arr;
|
|
pdo_update('wlmerchant_systemnotice' , ['isread' => 1] , ['id' => $li['id']]);
|
|
}
|
|
$data['list'] = $newlist;
|
|
}
|
|
else {
|
|
$data['list'] = [];
|
|
}
|
|
$this->renderSuccess('通知列表' , $data);
|
|
}
|
|
/**
|
|
* Comment: 商家系统公告列表
|
|
* Author: wlf
|
|
* Date: 2019/10/10 11:47
|
|
*/
|
|
public function agentNoticeList()
|
|
{
|
|
global $_W , $_GPC;
|
|
$page = $_GPC['page'] ? $_GPC['page'] : 1;
|
|
$pageStart = $page * 10 - 10;
|
|
$data = [];
|
|
$allnum = pdo_fetchcolumn('SELECT count(id) FROM ' . tablename('wlmerchant_notice') . " WHERE uniacid = {$_W['uniacid']} AND aid = {$_W['aid']} AND enabled = 1");
|
|
$data['pagetotal'] = ceil($allnum / 10);
|
|
$list = pdo_fetchall("SELECT title,createtime,id,link FROM " . tablename('wlmerchant_notice') . "WHERE uniacid = {$_W['uniacid']} AND aid = {$_W['aid']} AND enabled = 1 ORDER BY createtime DESC LIMIT {$pageStart},10 ");
|
|
foreach ($list as &$li) {
|
|
//处理时间
|
|
$differtime = time() - $li['createtime'];
|
|
if ($differtime < 60) {
|
|
$li['timetext'] = $differtime . '秒前';
|
|
}
|
|
else if ($differtime < 3600) {
|
|
$differtime = floor($differtime / 60);
|
|
$li['timetext'] = $differtime . '分前';
|
|
}
|
|
else if ($differtime < 24 * 3600) {
|
|
$differtime = floor($differtime / 3600);
|
|
$li['timetext'] = $differtime . '小时前';
|
|
}
|
|
else {
|
|
$li['timetext'] = date('Y-m-d H:i' , $li['createtime']);
|
|
}
|
|
}
|
|
if (!empty($list)) {
|
|
$data['list'] = $list;
|
|
}
|
|
else {
|
|
$data['list'] = [];
|
|
}
|
|
$this->renderSuccess('公告列表' , $data);
|
|
}
|
|
/**
|
|
* Comment: 上下架删除商品接口
|
|
* Author: wlf
|
|
* Date: 2019/10/10 13:50
|
|
*/
|
|
public function changeGoodsStatus()
|
|
{
|
|
global $_W , $_GPC;
|
|
$storeid = $_GPC['storeid']; //店铺id
|
|
$goodsid = $_GPC['goodsid']; //商户id
|
|
$operation = $_GPC['operation']; // 1上架 2下架 3放入回收站 4彻底删除
|
|
$type = $_GPC['type']; // 1=抢购 2=团购 3=拼团 5=优惠券 7=砍价商品
|
|
if (empty($goodsid) || empty($operation) || empty($type)) {
|
|
$this->renderError('缺少重要参数');
|
|
}
|
|
//判断权限
|
|
switch ($type) {
|
|
case 1:
|
|
$aut = Store::checkAuthority('rush' , $storeid);
|
|
if($aut){
|
|
$this->renderError('商户暂无此权限');
|
|
}
|
|
break;
|
|
case 2:
|
|
$aut = Store::checkAuthority('groupon' , $storeid);
|
|
if($aut){
|
|
$this->renderError('商户暂无此权限');
|
|
}
|
|
break;
|
|
case 3:
|
|
$aut = Store::checkAuthority('wlfightgroup' , $storeid);
|
|
if($aut){
|
|
$this->renderError('商户暂无此权限');
|
|
}
|
|
break;
|
|
case 5:
|
|
$aut = Store::checkAuthority('wlcoupon' , $storeid);
|
|
if($aut){
|
|
$this->renderError('商户暂无此权限');
|
|
}
|
|
break;
|
|
case 7:
|
|
$aut = Store::checkAuthority('bargain' , $storeid);
|
|
if($aut){
|
|
$this->renderError('商户暂无此权限');
|
|
}
|
|
break;
|
|
}
|
|
if ($operation == 1) {
|
|
$audits = pdo_getcolumn(PDO_NAME.'merchantdata',array('id'=>$storeid),'audits');
|
|
if (empty($audits)) {
|
|
$status = 5;
|
|
}else {
|
|
$status = 1;
|
|
}
|
|
switch ($type) {
|
|
case 1:
|
|
$res = pdo_update('wlmerchant_rush_activity' , ['status' => $status] , ['id' => $goodsid]);
|
|
break;
|
|
case 2:
|
|
$res = pdo_update('wlmerchant_groupon_activity' , ['status' => $status] , ['id' => $goodsid]);
|
|
break;
|
|
case 3:
|
|
$res = pdo_update('wlmerchant_fightgroup_goods' , ['status' => $status] , ['id' => $goodsid]);
|
|
break;
|
|
case 5:
|
|
$res = pdo_update('wlmerchant_couponlist' , ['status' => $status] , ['id' => $goodsid]);
|
|
break;
|
|
case 7:
|
|
$res = pdo_update('wlmerchant_bargain_activity' , ['status' => $status] , ['id' => $goodsid]);
|
|
break;
|
|
}
|
|
if ($res) {
|
|
$this->renderSuccess('上架成功');
|
|
}
|
|
else {
|
|
$this->renderError('上架失败,请刷新重试');
|
|
}
|
|
}
|
|
else if ($operation == 2) {
|
|
switch ($type) {
|
|
case 1:
|
|
$res = pdo_update('wlmerchant_rush_activity' , ['status' => 4] , ['id' => $goodsid]);
|
|
break;
|
|
case 2:
|
|
$res = pdo_update('wlmerchant_groupon_activity' , ['status' => 4] , ['id' => $goodsid]);
|
|
break;
|
|
case 3:
|
|
$res = pdo_update('wlmerchant_fightgroup_goods' , ['status' => 4] , ['id' => $goodsid]);
|
|
break;
|
|
case 5:
|
|
$res = pdo_update('wlmerchant_couponlist' , ['status' => 4] , ['id' => $goodsid]);
|
|
break;
|
|
case 7:
|
|
$res = pdo_update('wlmerchant_bargain_activity' , ['status' => 4] , ['id' => $goodsid]);
|
|
break;
|
|
}
|
|
if ($res) {
|
|
$this->renderSuccess('下架成功');
|
|
}
|
|
else {
|
|
$this->renderError('下架失败,请刷新重试');
|
|
}
|
|
}
|
|
else if ($operation == 3) {
|
|
switch ($type) {
|
|
case 1:
|
|
$res = pdo_update('wlmerchant_rush_activity' , ['status' => 8] , ['id' => $goodsid]);
|
|
break;
|
|
case 2:
|
|
$res = pdo_update('wlmerchant_groupon_activity' , ['status' => 8] , ['id' => $goodsid]);
|
|
break;
|
|
case 3:
|
|
$res = pdo_update('wlmerchant_fightgroup_goods' , ['status' => 8] , ['id' => $goodsid]);
|
|
break;
|
|
case 5:
|
|
$res = pdo_update('wlmerchant_couponlist' , ['status' => 8] , ['id' => $goodsid]);
|
|
break;
|
|
case 7:
|
|
$res = pdo_update('wlmerchant_bargain_activity' , ['status' => 8] , ['id' => $goodsid]);
|
|
break;
|
|
}
|
|
if ($res) {
|
|
$this->renderSuccess('放入回收站成功');
|
|
}
|
|
else {
|
|
$this->renderError('放入回收站失败,请刷新重试');
|
|
}
|
|
}
|
|
else if ($operation == 4) {
|
|
switch ($type) {
|
|
case 1:
|
|
$res = pdo_delete('wlmerchant_rush_activity' , ['id' => $goodsid]);
|
|
break;
|
|
case 2:
|
|
$res = pdo_delete('wlmerchant_groupon_activity' , ['id' => $goodsid]);
|
|
break;
|
|
case 3:
|
|
$res = pdo_delete('wlmerchant_fightgroup_goods' , ['id' => $goodsid]);
|
|
break;
|
|
case 5:
|
|
$res = pdo_delete('wlmerchant_couponlist' , ['id' => $goodsid]);
|
|
break;
|
|
case 7:
|
|
$res = pdo_delete('wlmerchant_bargain_activity' , ['id' => $goodsid]);
|
|
break;
|
|
}
|
|
if ($res) {
|
|
$this->renderSuccess('彻底删除成功');
|
|
}
|
|
else {
|
|
$this->renderError('彻底删除失败,请刷新重试');
|
|
}
|
|
}
|
|
}
|
|
/**
|
|
* Comment: 商户中心动态列表
|
|
* Author: wlf
|
|
* Date: 2019/10/11 17:05
|
|
*/
|
|
public function dynamicList()
|
|
{
|
|
global $_W , $_GPC;
|
|
#1、参数信息获取
|
|
$sid = $_GPC['storeid'];//店铺id
|
|
$page = $_GPC['page'] ? $_GPC['page'] : 1;//当前页
|
|
$pageStart = $page * 10 - 10;
|
|
#2、获取动态信息列表
|
|
$sql = "SELECT b.logo,b.storename,FROM_UNIXTIME(a.createtime,'%Y-%m-%d %H:%i') as datetime,a.id,a.status,a.content,a.imgs FROM " . tablename(PDO_NAME . "store_dynamic") . " as a RIGHT JOIN " . tablename(PDO_NAME . "merchantdata") . " as b ON a.sid = b.id WHERE a.sid = {$sid} ORDER BY a.createtime DESC";
|
|
$list = pdo_fetchall($sql . " LIMIT {$pageStart},10");
|
|
#3、循环处理信息
|
|
foreach ($list as $key => &$val) {
|
|
$val['logo'] = tomedia($val['logo']);
|
|
$val['imgs'] = unserialize($val['imgs']);
|
|
if (is_array($val['imgs']) && count($val['imgs']) > 0) {
|
|
foreach ($val['imgs'] as $imgK => &$imgV) {
|
|
$imgV = tomedia($imgV);
|
|
}
|
|
}
|
|
$val['content'] = htmlspecialchars_decode($val['content']);
|
|
}
|
|
#3、总页数获取
|
|
$total = count(pdo_fetchall($sql));
|
|
$data['total'] = ceil($total / 10);
|
|
$data['list'] = $list;
|
|
#4、查看发帖权限
|
|
$groupid = pdo_getcolumn('wlmerchant_merchantdata' , ['id' => $sid] , 'groupid');
|
|
if (empty($groupid)) {$authority = 0;}
|
|
else {
|
|
$authority = pdo_getcolumn('wlmerchant_chargelist' , ['id' => $groupid] , 'authority');
|
|
}
|
|
$authority = unserialize($authority);
|
|
if (!empty($authority)) {
|
|
if (!in_array('dynamic' , $authority)) {
|
|
$data['hideadd'] = 1;
|
|
}
|
|
}
|
|
if(empty($data['hideadd'])){
|
|
$data['hideadd'] = 0;
|
|
}
|
|
$this->renderSuccess('商户中心动态列表' , $data);
|
|
}
|
|
/**
|
|
* Comment: 商户登录状态改变
|
|
* Author: zzw
|
|
* Date: 2019/10/31 11:45
|
|
*/
|
|
public function storeLoginStatusChange()
|
|
{
|
|
global $_W , $_GPC;
|
|
#1、登录状态获取
|
|
$status = $_GPC['status'] ? : -1;
|
|
$onlyKey = $_GPC['only_key'] OR $this->renderError('网络错误,请重新扫码!');
|
|
#1、获取当前的登录状态
|
|
$loginInfo = json_decode(Cache::getCache('storeLoginInfo' , $onlyKey) , true);
|
|
if ($loginInfo['end_time'] <= time()) $this->renderError('操作超时,请重新扫码!');
|
|
#1、登录状态修改
|
|
$data = [
|
|
'status' => intval($status) ,
|
|
'end_time' => $loginInfo['end_time'] ,
|
|
'mid' => $_W['mid']
|
|
];
|
|
Cache::setCache('storeLoginInfo' , $onlyKey , json_encode($data));
|
|
$this->renderSuccess('操作成功' , ['status' => intval($status)]);
|
|
}
|
|
/**
|
|
* Comment: 商户创建商品页面
|
|
* Author: wlf
|
|
* Date: 2019/12/03 11:59
|
|
*/
|
|
public function createGoods()
|
|
{
|
|
global $_W , $_GPC;
|
|
$type = $_GPC['type'] ? $_GPC['type'] : 'rush'; //商品类型
|
|
$id = $_GPC['id']; //商品id
|
|
$storeid = $_GPC['storeid'];
|
|
$data = [];
|
|
if(empty($storeid)){
|
|
$this->renderError('无商户数据,请返回重试');
|
|
}
|
|
$store = pdo_get('wlmerchant_merchantdata' , ['id' => $storeid] ,array('groupid','uniacid','aid'));
|
|
//获取权限
|
|
$groupid = $store['groupid'];
|
|
if (empty($groupid)) {
|
|
$authority = 0;
|
|
}
|
|
else {
|
|
$authority = pdo_getcolumn('wlmerchant_chargelist' , ['id' => $groupid] , 'authority');
|
|
}
|
|
if (!empty($authority)) {
|
|
$authority = unserialize($authority);
|
|
}
|
|
//商品类型
|
|
$data['cultivate_class'] = Category::getStoreCategoryAll($storeid);
|
|
//活动类型
|
|
$data['type'] = [];
|
|
if ((!empty($authority) && in_array('rush' , $authority)) || empty($authority)) {
|
|
$data['type'][] = 'rush';
|
|
}
|
|
// if (p('groupon') && ((!empty($authority) && in_array('groupon' , $authority)) || empty($authority))) {
|
|
// $data['type'][] = 'groupon';
|
|
// }
|
|
// if (p('wlfightgroup') && ((!empty($authority) && in_array('wlfightgroup' , $authority)) || empty($authority))) {
|
|
// $data['type'][] = 'fightgroup';
|
|
// }
|
|
// if (p('bargain') && ((!empty($authority) && in_array('bargain' , $authority)) || empty($authority))) {
|
|
// $data['type'][] = 'bargain';
|
|
// }
|
|
//商品分类
|
|
$cate = pdo_getall('wlmerchant_' . $type . '_category' , [
|
|
'uniacid' => $store['uniacid'] ,
|
|
'aid' => $store['aid'] ,
|
|
'is_show' => 0
|
|
] , ['name' , 'id']);
|
|
$data['cate'] = $cate;
|
|
//运费模板
|
|
$express = pdo_fetchall("SELECT * FROM ".tablename('wlmerchant_express_template')."WHERE uniacid = {$_W['uniacid']} AND aid = {$_W['aid']} AND sid IN (0,{$storeid}) ORDER BY id DESC");
|
|
$data['express'] = $express;
|
|
//商品标签
|
|
$tag_type = ['rush' => 1 , 'groupon' => 3 , 'bargain' => 4 , 'fightgroup' => 2];
|
|
$presettags = pdo_getall('wlmerchant_tags' , [
|
|
'uniacid' => $store['uniacid'] ,
|
|
'aid' => $store['aid'] ,
|
|
'type' => $tag_type[$type]
|
|
] , ['id' , 'title'] , '' , 'sort DESC');
|
|
$data['presettags'] = $presettags;
|
|
if ($id) {
|
|
//基础信息
|
|
if ($type == 'rush') {
|
|
$goods = Rush::getSingleActive($id , "name,is_describe_tip,unit,cateid,starttime,endtime,thumb,thumbs,optionstatus,price,oldprice,retainage,appointment,tag,op_one_limit,num,usestatus,expressid,cutoffstatus,cutofftime,cutoffday,`describe`,detail,status,lp_status,lp_set,cc_id,cc_child_id");
|
|
$goods['lp_set'] = unserialize($goods['lp_set']);
|
|
unset($goods['a']);
|
|
}
|
|
else if ($type == 'groupon') {
|
|
$goods = Groupon::getSingleActive($id , "name,is_describe_tip,unit,cateid,starttime,endtime,thumb,thumbs,optionstatus,price,oldprice,retainage,appointment,tag,op_one_limit,num,usestatus,expressid,cutoffstatus,cutofftime,cutoffday,`describe`,detail,status");
|
|
}
|
|
else if ($type == 'bargain') {
|
|
$goods = Bargain::getSingleActive($id , "name,is_describe_tip,unit,cateid,starttime,endtime,thumb,thumbs,price,oldprice,appointment,tag,rules,stock,usestatus,expressid,cutoffstatus,cutofftime,cutoffday,`describe`,detail,status,helplimit,dayhelpcount,joinlimit,onlytimes");
|
|
$goods['rules'] = unserialize($goods['rules']);
|
|
if (empty($goods['rules'])) {
|
|
$goods['rules'] = [];
|
|
}
|
|
$goods['num'] = $goods['stock'];
|
|
unset($goods['stock']);
|
|
}
|
|
else if ($type == 'fightgroup') {
|
|
$goods = Wlfightgroup::getSingleGood($id , "name,is_describe_tip,unit,categoryid,limitstarttime,limitendtime,logo,adv,price,aloneprice,oldprice,appointment,tag,stock,op_one_limit,usestatus,expressid,cutoffstatus,cutofftime,cutoffday,`describe`,detail,status,grouptime,peoplenum,specstatus");
|
|
$goods['starttime'] = $goods['limitstarttime'];
|
|
unset($goods['limitstarttime']);
|
|
$goods['endtime'] = $goods['limitendtime'];
|
|
unset($goods['limitendtime']);
|
|
$goods['thumb'] = $goods['logo'];
|
|
unset($goods['logo']);
|
|
$goods['thumbs'] = $goods['adv'];
|
|
unset($goods['adv']);
|
|
$goods['num'] = $goods['stock'];
|
|
unset($goods['stock']);
|
|
$goods['optionstatus'] = $goods['specstatus'];
|
|
unset($goods['specstatus']);
|
|
$goods['cateid'] = $goods['categoryid'];
|
|
unset($goods['categoryid']);
|
|
}
|
|
$goods['tag'] = unserialize($goods['tag']);
|
|
if (empty($goods['tag'])) {
|
|
$goods['tag'] = [];
|
|
}
|
|
$goods['thumb'] = tomedia($goods['thumb']);
|
|
$goods['thumbs'] = unserialize($goods['thumbs']);
|
|
if (empty($goods['thumbs'])) {
|
|
$goods['thumbs'] = [];
|
|
}
|
|
else {
|
|
foreach ($goods['thumbs'] as &$th) {
|
|
$th = tomedia($th);
|
|
}
|
|
}
|
|
//规格
|
|
if ($goods['optionstatus'] == 1) {
|
|
if ($type == 'rush') {
|
|
$spectype = 1;
|
|
}
|
|
else if ($type == 'fightgroup') {
|
|
$spectype = 2;
|
|
}
|
|
else if ($type == 'groupon') {
|
|
$spectype = 3;
|
|
}
|
|
//规格项
|
|
$allspecs = pdo_fetchall("select id,title from " . tablename('wlmerchant_goods_spec') . " where goodsid = {$id} AND type = {$spectype}");
|
|
foreach ($allspecs as &$s) {
|
|
$s['items'] = pdo_fetchall("SELECT id,title FROM " . tablename('wlmerchant_goods_spec_item') . "WHERE uniacid = {$_W['uniacid']} AND specid = {$s['id']}");
|
|
}
|
|
//价目表
|
|
$options = pdo_fetchall("select id,title,stock,price from " . tablename('wlmerchant_goods_option') . " where goodsid={$id} and type = {$spectype} ");
|
|
$goods['spec'] = $allspecs;
|
|
$goods['options'] = $options;
|
|
}
|
|
else {
|
|
$goods['spec'] = [];
|
|
$goods['options'] = [];
|
|
}
|
|
if ($goods['status'] == 1 || $goods['status'] == 2 || $goods['status'] == 3 || $goods['status'] == 5) {
|
|
$goods['status'] = 1;
|
|
}
|
|
else {
|
|
$goods['status'] = 0;
|
|
}
|
|
if (empty($goods['cutofftime'])) {
|
|
$goods['cutofftime'] = time() + 86400 * 30;
|
|
}
|
|
$data['goods'] = $goods;
|
|
}
|
|
else {
|
|
$data['goods'] = [
|
|
'name' => '' ,
|
|
'unit' => '' ,
|
|
'cateid' => '' ,
|
|
'onelevel' => '' ,
|
|
'starttime' => time() ,
|
|
'endtime' => time() + 86400 * 30 ,
|
|
'thumb' => '' ,
|
|
'thumbs' => [] ,
|
|
'optionstatus' => 0 ,
|
|
'price' => '' ,
|
|
'aloneprice' => '' ,
|
|
'oldprice' => '' ,
|
|
'retainage' => '' ,
|
|
'appointment' => '' ,
|
|
'tag' => [] ,
|
|
'op_one_limit' => '' ,
|
|
'num' => '' ,
|
|
'usestatus' => '' ,
|
|
'expressid' => '' ,
|
|
'cutoffstatus' => 0 ,
|
|
'cutofftime' => time() + 86400 * 30 ,
|
|
'cutoffday' => 30 ,
|
|
'describe' => '' ,
|
|
'detail' => '' ,
|
|
'status' => 1 ,
|
|
'spec' => [] ,
|
|
'options' => [] ,
|
|
'rules' => [] ,
|
|
'helplimit' => '' ,
|
|
'dayhelpcount' => '' ,
|
|
'joinlimit' => '' ,
|
|
'onlytimes' => '' ,
|
|
'grouptime' => '' ,
|
|
'peoplenum' => 2 ,
|
|
'lp_set' => [],
|
|
'cc_id' => 1,
|
|
];
|
|
}
|
|
$this->renderSuccess('初始化商品创建' , $data);
|
|
}
|
|
/**
|
|
* Comment: 多规格根据规格项生成规格详情数组
|
|
* Author: wlf
|
|
* Date: 2019/12/10 09:38
|
|
*/
|
|
public function specToOption()
|
|
{
|
|
global $_W , $_GPC;
|
|
$spec = json_decode(base64_decode($_GPC['spec']) , true);
|
|
$option = json_decode(base64_decode($_GPC['options']) , true);
|
|
$newoption = [];
|
|
foreach ($spec as $sp) {
|
|
$items[] = $sp['items'];
|
|
}
|
|
$length = count($items);
|
|
for ($spec0 = 0 ; $spec0 < count($items[0]) ; $spec0++) {
|
|
$title = $items[0][$spec0]['title'];
|
|
if ($length > 1) {
|
|
for ($spec1 = 0 ; $spec1 < count($items[1]) ; $spec1++) {
|
|
$lasttitle = $title;
|
|
$lasttitle .= '+' . $items[1][$spec1]['title'];
|
|
if ($length > 2) {
|
|
for ($spec2 = 0 ; $spec2 < count($items[2]) ; $spec2++) {
|
|
$lasttitle2 = $lasttitle;
|
|
$lasttitle2 .= '+' . $items[2][$spec2]['title'];
|
|
if ($length > 3) {
|
|
for ($spec3 = 0 ; $spec3 < count($items[3]) ; $spec3++) {
|
|
$lasttitle3 = $lasttitle2;
|
|
$lasttitle3 .= '+' . $items[3][$spec3]['title'];
|
|
if ($length > 4) {
|
|
for ($spec4 = 0 ; $spec4 < count($items[4]) ; $spec4++) {
|
|
$lasttitle4 = $lasttitle3;
|
|
$lasttitle4 .= '+' . $items[4][$spec4]['title'];
|
|
if ($length > 5) {
|
|
for ($spec5 = 0 ; $spec5 < count($items[5]) ; $spec5++) {
|
|
$lasttitle5 = $lasttitle4;
|
|
$lasttitle5 .= '+' . $items[5][$spec5]['title'];
|
|
$titles[] = $lasttitle5;
|
|
}
|
|
}
|
|
else {
|
|
$titles[] = $lasttitle4;
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
$titles[] = $lasttitle3;
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
$titles[] = $lasttitle2;
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
$titles[] = $lasttitle;
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
$titles[] = $title;
|
|
}
|
|
}
|
|
foreach ($titles as $tit) {
|
|
$new = '';
|
|
if (!empty($option)) {
|
|
foreach ($option as $op) {
|
|
if (empty($new)) {
|
|
if ($tit == $op['title']) {
|
|
$new = $op;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if ($new) {
|
|
$newoption[] = $new;
|
|
}
|
|
else {
|
|
$newoption[] = [
|
|
'id' => 0 ,
|
|
'title' => $tit ,
|
|
'stock' => 0 ,
|
|
'price' => 0
|
|
];
|
|
}
|
|
}
|
|
$this->renderSuccess('新的规格详情表' , $newoption);
|
|
}
|
|
/**
|
|
* Comment: 商户保存商品接口
|
|
* Author: wlf
|
|
* Date: 2019/12/04 16:20
|
|
*/
|
|
public function saveGoods()
|
|
{
|
|
global $_W , $_GPC;
|
|
$type = $_GPC['type'];
|
|
$storeid = $_GPC['storeid'];
|
|
if (empty($storeid)) {
|
|
$this->renderError('无商户信息,请刷新重试');
|
|
}
|
|
else {
|
|
$store = pdo_get('wlmerchant_merchantdata' , ['id' => $storeid] , [
|
|
'audits' ,
|
|
'storename' ,
|
|
'uniacid' ,
|
|
'aid'
|
|
]);
|
|
}
|
|
if(empty($store)){
|
|
$this->renderError('商户信息错误,请刷新重试');
|
|
}
|
|
$id = $_GPC['id']; //商品id
|
|
$goods = [
|
|
'name' => $_GPC['name'] , //商品名
|
|
'sid' => $storeid , //所属商户
|
|
'aid' => $store['aid'],
|
|
'cateid' => $_GPC['cateid'] ,
|
|
'starttime' => $_GPC['starttime'] / 1000 , //活动开始时间
|
|
'endtime' => $_GPC['endtime'] / 1000 , //活动结束时间
|
|
'thumb' => $_GPC['thumb'] , //缩略图
|
|
'optionstatus' => $_GPC['optionstatus'] , //是否多规格
|
|
'price' => $_GPC['price'] , //价格
|
|
'oldprice' => $_GPC['oldprice'] , //原价
|
|
'retainage' => $_GPC['retainage'] , //尾款
|
|
'appointment' => $_GPC['appointment'] , //预约天数
|
|
'op_one_limit' => $_GPC['op_one_limit'] , //单人限购
|
|
'num' => $_GPC['num'] , //库存
|
|
'usestatus' => $_GPC['usestatus'] , //使用方式
|
|
'expressid' => $_GPC['expressid'] , //快递模板
|
|
'cutoffstatus' => $_GPC['cutoffstatus'] , //截止时间类型
|
|
'cutofftime' => $_GPC['cutofftime'] / 1000 , //固定时间
|
|
'cutoffday' => $_GPC['cutoffday'] , //有效期天数
|
|
'describe' => htmlspecialchars_decode($_GPC['describe']), //购买须知
|
|
'detail' => htmlspecialchars_decode($_GPC['detail']), //商品详情
|
|
'is_describe_tip' => $_GPC['is_describe_tip'], //有效期天数
|
|
];
|
|
//文本校验
|
|
$textRes = Filter::init($goods['name'],$_W['source'],1);
|
|
if($textRes['errno'] == 0){
|
|
$this->renderError('商品名'.$textRes['message']);
|
|
}
|
|
//轮播图
|
|
$thumbs = $_GPC['thumbs'];
|
|
if (!empty($thumbs)) {
|
|
$goods['thumbs'] = serialize(explode(',' , $thumbs));
|
|
}
|
|
//标签
|
|
$tag = $_GPC['tag'];
|
|
if (!empty($tag)) {
|
|
$goods['tag'] = serialize(explode(',' , $tag));
|
|
}
|
|
else {
|
|
$goods['tag'] = '';
|
|
}
|
|
$status = $_GPC['status'];
|
|
if ($status == 1) {
|
|
$audits = $store['audits'];
|
|
if (empty($audits)) {
|
|
$goods['status'] = 5;
|
|
}
|
|
else {
|
|
if ($goods['starttime'] > time()) {
|
|
$goods['status'] = 1;
|
|
}
|
|
else if ($goods['starttime'] < time() && time() < $goods['endtime']) {
|
|
$goods['status'] = 2;
|
|
}
|
|
else if ($goods['endtime'] < time()) {
|
|
$goods['status'] = 3;
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
$goods['status'] = 0;
|
|
}
|
|
if (empty($id)) {
|
|
$goods['uniacid'] = $store['uniacid'];
|
|
$goods['aid'] = $store['aid'];
|
|
$goods['isdistri'] = 1;
|
|
$goods['independent'] = 1;
|
|
$goods['allowapplyre'] = 0;//默认允许退款
|
|
}
|
|
//阶梯价信息处理
|
|
if($type == 'rush'){
|
|
//是否开启阶梯价(0=关闭 1=开启)
|
|
$goods['lp_status'] = $_GPC['lp_status'] ? : 0;
|
|
//阶梯价配置信息
|
|
$lpSet = json_decode(html_entity_decode($_GPC['lp_set']),true);
|
|
$goods['lp_set'] = is_array($lpSet) ? serialize($lpSet) : serialize([]);
|
|
}else {
|
|
//不是抢购商品 删除阶梯价信息
|
|
unset($goods['lp_set'],$goods['lp_status']);
|
|
}
|
|
if ($type == 'rush') {
|
|
$goods['cc_id'] = $_GPC['cc_id']?:0; // 特殊商品分类id
|
|
$goods['cc_child_id'] = $_GPC['cc_child_id']?:0; // 特殊商品分类id
|
|
# 设置分类必填
|
|
if (empty($goods['cc_id'])) {
|
|
# 验证分类权限并提示
|
|
$classRights = Category::judgeStoreClassRights($storeid);
|
|
if ($classRights['status'] <= 0) $this->renderError('商品类型'.$classRights['msg']);
|
|
$this->renderError('请选择商品类型');
|
|
}
|
|
if (empty($goods['cc_child_id'])) {
|
|
# 验证分类权限并提示
|
|
$classChildRights = Category::judgeStoreClassRights($storeid,true);
|
|
if ($classChildRights['status'] <= 0) $this->renderError('商品分类'.$classChildRights['msg']);
|
|
$this->renderError('请选择商品分类');
|
|
}
|
|
$spectype = 1;
|
|
$plugin = '抢购';
|
|
if (!empty($id)) {
|
|
$res = pdo_update('wlmerchant_rush_activity' , $goods , ['id' => $id]);
|
|
}
|
|
else {
|
|
$res = pdo_insert(PDO_NAME . 'rush_activity' , $goods);
|
|
$id = pdo_insertid();
|
|
}
|
|
}
|
|
else if ($type == 'fightgroup') {
|
|
$spectype = 2;
|
|
$plugin = '拼团';
|
|
$goods['merchantid'] = $goods['sid'];
|
|
unset($goods['sid']);
|
|
$goods['limitstarttime'] = $goods['starttime'];
|
|
unset($goods['starttime']);
|
|
$goods['limitendtime'] = $goods['endtime'];
|
|
unset($goods['endtime']);
|
|
$goods['logo'] = $goods['thumb'];
|
|
unset($goods['thumb']);
|
|
$goods['adv'] = $goods['thumbs'];
|
|
unset($goods['thumbs']);
|
|
$goods['stock'] = $goods['num'];
|
|
unset($goods['num']);
|
|
unset($goods['retainage']);
|
|
$goods['specstatus'] = $goods['optionstatus'];
|
|
unset($goods['optionstatus']);
|
|
$goods['categoryid'] = $goods['cateid'];
|
|
unset($goods['cateid']);
|
|
$goods['grouptime'] = $_GPC['grouptime'];
|
|
$goods['peoplenum'] = $_GPC['peoplenum'];
|
|
$goods['aloneprice'] = $_GPC['aloneprice'];
|
|
if ($goods['peoplenum'] < 2) {
|
|
$this->renderError('组团人数最小为2');
|
|
}
|
|
if (!empty($id)) {
|
|
$res = pdo_update('wlmerchant_fightgroup_goods' , $goods , ['id' => $id]);
|
|
}
|
|
else {
|
|
$res = pdo_insert(PDO_NAME . 'fightgroup_goods' , $goods);
|
|
$id = pdo_insertid();
|
|
}
|
|
}
|
|
else if ($type == 'groupon') {
|
|
$spectype = 3;
|
|
$plugin = '团购';
|
|
if (!empty($id)) {
|
|
$res = pdo_update('wlmerchant_groupon_activity' , $goods , ['id' => $id]);
|
|
}
|
|
else {
|
|
$res = pdo_insert(PDO_NAME . 'groupon_activity' , $goods);
|
|
$id = pdo_insertid();
|
|
}
|
|
}
|
|
else if ($type == 'bargain') {
|
|
$rules = json_decode(base64_decode($_GPC['rules']),true);
|
|
if(!empty($rules)){
|
|
$rules = serialize($rules);
|
|
}
|
|
unset($goods['op_one_limit']);
|
|
unset($goods['optionstatus']);
|
|
unset($goods['retainage']);
|
|
$goods['stock'] = $goods['num'];
|
|
unset($goods['num']);
|
|
$plugin = '砍价';
|
|
$goods['rules'] = $rules;
|
|
$goods['helplimit'] = $_GPC['helplimit'];
|
|
$goods['dayhelpcount'] = $_GPC['dayhelpcount'];
|
|
$goods['joinlimit'] = $_GPC['joinlimit'];
|
|
$goods['onlytimes'] = $_GPC['onlytimes'];
|
|
if (!empty($id)) {
|
|
$res = pdo_update('wlmerchant_bargain_activity' , $goods , ['id' => $id]);
|
|
}
|
|
else {
|
|
$goods['submitmoneylimit'] = $goods['oldprice'];
|
|
$res = pdo_insert(PDO_NAME . 'bargain_activity' , $goods);
|
|
}
|
|
}
|
|
else {
|
|
$this->renderError('类型错误,请刷新重试');
|
|
}
|
|
//处理规格
|
|
if ($_GPC['optionstatus'] && $spectype && $id) {
|
|
//获取规格
|
|
$spec = json_decode(base64_decode($_GPC['spec']) , true);
|
|
//储存
|
|
foreach ($spec as &$sp) {
|
|
//处理规格项
|
|
if ($sp['id'] > 0) {
|
|
$res2 = pdo_update('wlmerchant_goods_spec' , ['title' => $sp['title']] , ['id' => $sp['id']]);
|
|
}
|
|
else {
|
|
$spdata = $sp;
|
|
unset($spdata['id']);
|
|
unset($spdata['items']);
|
|
$spdata['uniacid'] = $store['uniacid'];
|
|
$spdata['type'] = $spectype;
|
|
$spdata['goodsid'] = $id;
|
|
$res2 = pdo_insert(PDO_NAME . 'goods_spec' , $spdata);
|
|
$sp['id'] = pdo_insertid();
|
|
}
|
|
$spid[] = $sp['id'];
|
|
//处理子规格项
|
|
$spec_itemid = [];
|
|
foreach ($sp['items'] as &$item) {
|
|
if ($item['id'] > 0) {
|
|
$res2 = pdo_update('wlmerchant_goods_spec_item' , [
|
|
'title' => $sp['title'] ,
|
|
'specid' => $sp['id']
|
|
] , ['id' => $sp['id']]);
|
|
}
|
|
else {
|
|
unset($item['id']);
|
|
$item['uniacid'] = $store['uniacid'];
|
|
$item['show'] = 1;
|
|
$item['specid'] = $sp['id'];
|
|
$res2 = pdo_insert(PDO_NAME . 'goods_spec_item' , $item);
|
|
$item['id'] = pdo_insertid();
|
|
}
|
|
$spec_itemid[] = $item['id'];
|
|
}
|
|
//删除要的的子规格
|
|
if (0 < count($spec_itemid)) {
|
|
pdo_query('delete from ' . tablename('wlmerchant_goods_spec_item') . ' where specid=' . $sp['id'] . ' and id not in (' . implode(',' , $spec_itemid) . ')');
|
|
}
|
|
else {
|
|
pdo_query('delete from ' . tablename('wlmerchant_goods_spec_item') . ' where specid=' . $sp['id']);
|
|
}
|
|
pdo_update('wlmerchant_goods_spec' , ['content' => serialize($spec_itemid)] , ['id' => $sp['id']]);
|
|
}
|
|
//删除不要的规格项
|
|
if (0 < count($spid)) {
|
|
pdo_query('delete from ' . tablename('wlmerchant_goods_spec') . ' where type = ' . $spectype . ' and goodsid=' . $id . ' and id not in (' . implode(',' , $spid) . ')');
|
|
}
|
|
else {
|
|
pdo_query('delete from ' . tablename('wlmerchant_goods_spec') . ' where type = ' . $spectype . ' and goodsid=' . $id);
|
|
}
|
|
//获取规格详情
|
|
$options = json_decode(base64_decode($_GPC['options']) , true);
|
|
foreach ($options as $option) {
|
|
$newids = [];
|
|
$idsarr = explode('+' , $option['title']);
|
|
foreach ($idsarr as $k => $title) {
|
|
foreach ($spec[$k]['items'] as $it) {
|
|
while ($title == $it['title']) {
|
|
$newids[] = $it['id'];
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
$newids = implode('_' , $newids);
|
|
if ($option['id'] > 0) {
|
|
$res2 = pdo_update('wlmerchant_goods_option' , [
|
|
'title' => $option['title'] ,
|
|
'stock' => $option['stock'] ,
|
|
'price' => $option['price'] ,
|
|
'specs' => $newids
|
|
] , ['id' => $option['id']]);
|
|
}
|
|
else {
|
|
unset($option['id']);
|
|
$option['uniacid'] = $store['uniacid'];
|
|
$option['specs'] = $newids;
|
|
$option['type'] = $spectype;
|
|
$option['goodsid'] = $id;
|
|
if ($spectype == 2) {
|
|
$option['vipprice'] = $option['price'] + $goods['aloneprice'] - $goods['price'];
|
|
}
|
|
$res2 = pdo_insert(PDO_NAME . 'goods_option' , $option);
|
|
$option['id'] = pdo_insertid();
|
|
}
|
|
$optionids[] = $option['id'];
|
|
}
|
|
if (0 < count($optionids)) {
|
|
pdo_query('delete from ' . tablename('wlmerchant_goods_option') . ' where type = ' . $spectype . ' AND goodsid=' . $id . ' and id not in ( ' . implode(',' , $optionids) . ')');
|
|
}
|
|
else {
|
|
pdo_query('delete from ' . tablename('wlmerchant_goods_option') . ' where type = ' . $spectype . ' AND goodsid=' . $id);
|
|
}
|
|
}
|
|
//审核通知代理
|
|
if ($goods['status'] == 5 && ($res || $res2)) {
|
|
$first = '您好,您有一个待审核任务需要处理';
|
|
$type = '审核商品';
|
|
$content = $plugin . '商品:' . $goods['name'];
|
|
$status = '待审核';
|
|
$remark = "商户[" . $store['storename'] . "]上传了一个" . $plugin . '商品待审核,请管理员尽快前往后台审核';
|
|
News::noticeAgent('storegood' , $_W['aid'] , $first , $type , $content , $status , $remark , time() , '');
|
|
}
|
|
if ($res || $res2) {
|
|
$this->renderSuccess('保存成功');
|
|
}
|
|
else {
|
|
$this->renderError('保存失败或未修改,请刷新重试');
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Comment: 店员调整粉丝余额
|
|
* Author: wlf
|
|
* Date: 2020/06/08 17:07
|
|
*/
|
|
public function changeUserCredit(){
|
|
global $_W , $_GPC;
|
|
$mid = $_GPC['mid'];
|
|
$sid = $_GPC['sid'];
|
|
if(empty($sid)){
|
|
$this->renderError('店铺信息错误,请刷新重试');
|
|
}
|
|
$type = $_GPC['type'];
|
|
$price = $_GPC['price'];
|
|
$remark = $_GPC['remark'];
|
|
if(empty($type)){
|
|
$price = sprintf("%.2f",0 - $price);
|
|
}
|
|
$store = pdo_get('wlmerchant_merchantdata',array('id' => $sid),array('uniacid','aid','nowmoney'));
|
|
if($store['nowmoney'] < $price){
|
|
$this->renderError('店铺现有金额不足,无法为用户充值');
|
|
}
|
|
$doid = pdo_getcolumn(PDO_NAME.'merchantuser',array('mid'=>$_W['mid'],'storeid' => $sid),'id');
|
|
if(empty($doid)){
|
|
$this->renderError('店员信息错误,请刷新重试');
|
|
}
|
|
$res = Payback::payCore($sid,$mid,$doid,'store',$price,0,0,$store['uniacid'],$store['aid'],0,$remark);
|
|
if($res){
|
|
$this->renderSuccess('操作成功');
|
|
}else{
|
|
$this->renderError('操作失败,请联系管理员');
|
|
}
|
|
|
|
|
|
}
|
|
|
|
/**
|
|
* Comment: 商户退款接口
|
|
* Author: wlf
|
|
* Date: 2020/08/03 14:03
|
|
*/
|
|
public function storeRefund(){
|
|
global $_W , $_GPC;
|
|
$id = $_GPC['id'];
|
|
$plugin = $_GPC['plugin'];
|
|
if ($plugin == 'wlfightgroup') {
|
|
$res = Wlfightgroup::refund($id);
|
|
} else if ($plugin == 'coupon') {
|
|
$res = wlCoupon::refund($id);
|
|
} else if ($plugin == 'groupon') {
|
|
$res = Groupon::refund($id);
|
|
} else if ($plugin == 'bargain') {
|
|
$res = Bargain::refund($id);
|
|
} else if ($plugin == 'citydelivery'){
|
|
$res = Citydelivery::refund($id);
|
|
} else if ($plugin == 'rush'){
|
|
$res = Rush::refund($id);
|
|
} else if ($plugin == 'housekeep'){
|
|
$res = Housekeep::refund($id);
|
|
}
|
|
if($res['status']){
|
|
$afters = pdo_getall('wlmerchant_aftersale',array('orderid' => $id,'status'=>1,'plugin'=>$plugin),array('id','checkcodes'));
|
|
if(!empty($afters)){
|
|
$refundtype = '商家退款:根据支付方式原路退款';
|
|
$journal = array(
|
|
'time' => time(),
|
|
'title' => '到账成功',
|
|
'detail' => '商家已退款:'.$refundtype,
|
|
);
|
|
foreach ($afters as $af){
|
|
$journals = Order::addjournal($journal,$af['id']);
|
|
$af['checkcodes'] = unserialize($af['checkcodes']);
|
|
if(empty($checkcode) || in_array($checkcode,$af['checkcodes'])) {
|
|
pdo_update('wlmerchant_aftersale', array('dotime' => time(), 'status' => 2, 'journal' => $journals), array('id' => $af['id']));
|
|
}
|
|
}
|
|
}
|
|
$this->renderSuccess('操作成功');
|
|
}else{
|
|
$this->renderError('退款失败,请刷新重试');
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Comment: 店员绑定申请页接口
|
|
* Author: wlf
|
|
* Date: 2021/07/09 16:51
|
|
*/
|
|
public function storeAdminApply(){
|
|
global $_W , $_GPC;
|
|
$sid = $_GPC['sid'];
|
|
if(empty($sid)){
|
|
$this->renderError('参数错误,请重新扫码');
|
|
}
|
|
$storeinfo = pdo_get('wlmerchant_merchantdata',array('id' => $sid),array('adv','storename','address'));
|
|
if(empty($storeinfo)){
|
|
$this->renderError('商户错误或被删除,请重新扫码');
|
|
}
|
|
$storeinfo['adv'] = beautifyImgInfo($storeinfo['adv']);
|
|
|
|
$this->renderSuccess('商户基础信息',$storeinfo);
|
|
}
|
|
|
|
/**
|
|
* Comment: 店员绑定提交申请接口
|
|
* Author: wlf
|
|
* Date: 2021/07/09 17:41
|
|
*/
|
|
public function adminApplyApi(){
|
|
global $_W , $_GPC;
|
|
$sid = $_GPC['sid'];
|
|
$realname = trim($_GPC['realname']);
|
|
$mobile = trim($_GPC['mobile']);
|
|
if(empty($sid)){
|
|
$this->renderError('商户参数错误');
|
|
}
|
|
|
|
if(empty($realname)){
|
|
$this->renderError('请填写姓名');
|
|
}
|
|
if(empty($mobile)){
|
|
$this->renderError('请填写手机号');
|
|
}
|
|
$storeinfo = pdo_get('wlmerchant_merchantdata',array('id' => $sid),array('uniacid','aid'));
|
|
if(empty($storeinfo)){
|
|
$this->renderError('商户错误或被删除,请重新扫码');
|
|
}
|
|
//判断是否重复
|
|
$flag = pdo_getcolumn(PDO_NAME . 'merchantuser' , [
|
|
'uniacid' => $storeinfo['uniacid'] ,
|
|
'mid' => $_W['mid'] ,
|
|
'storeid' => $sid
|
|
] , 'id');
|
|
if ($flag) {
|
|
$this->renderError('您已提交申请,请勿重复申请');
|
|
}
|
|
|
|
$data = [
|
|
'uniacid' => $storeinfo['uniacid'],
|
|
'aid' => $storeinfo['aid'],
|
|
'mid' => $_W['mid'],
|
|
'storeid' => $sid,
|
|
'name' => $realname,
|
|
'mobile' => $mobile,
|
|
'createtime' => time(),
|
|
'ismain' => 2,
|
|
];
|
|
$res = pdo_insert(PDO_NAME . 'merchantuser', $data);
|
|
if($res){
|
|
$this->renderSuccess('提交成功');
|
|
}else{
|
|
$this->renderError('提交失败,请刷新重试');
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Comment: 1520定制一级分类页面接口
|
|
* Author: wlf
|
|
* Date: 2021/12/22 16:03
|
|
*/
|
|
public function oneCatePage(){
|
|
global $_W , $_GPC;
|
|
$id = $_GPC['id'];
|
|
$cate = pdo_get('wlmerchant_category_store',array('id' => $id),array('name','advs'));
|
|
$data = [];
|
|
$data['title'] = $cate['name'];
|
|
if(!empty($cate['advs'])){
|
|
$advs = unserialize($cate['advs']);
|
|
foreach ($advs as &$ad){
|
|
$ad['thumb'] = tomedia($ad['thumb']);
|
|
}
|
|
$data['adv'] = $advs;
|
|
}else{
|
|
$data['adv'] = [];
|
|
}
|
|
$children = pdo_getall('wlmerchant_category_store',array('parentid' => $id,'enabled' => 1),array('id','name','thumb','state','abroad'));
|
|
if(!empty($children)){
|
|
foreach ($children as &$ch){
|
|
$ch['thumb'] = tomedia($ch['thumb']);
|
|
}
|
|
$data['chilread'] = $children;
|
|
}else{
|
|
$data['chilread'] = [];
|
|
}
|
|
$this->renderSuccess('页面信息',$data);
|
|
}
|
|
|
|
/**
|
|
* Comment: 临时闭店接口
|
|
* Author: wlf
|
|
* Date: 2021/12/31 10:51
|
|
*/
|
|
public function temCloseApi(){
|
|
global $_W , $_GPC;
|
|
$sid = $_GPC['sid'];
|
|
if(empty($sid)){
|
|
$this->renderError('参数错误,请刷新扫码');
|
|
}
|
|
$storeinfo = pdo_get('wlmerchant_merchantdata',array('id' => $sid),array('id','temclose'));
|
|
if($storeinfo['temclose'] > 0){
|
|
pdo_update('wlmerchant_merchantdata',array('temclose' => 0),array('id' => $sid));
|
|
$this->renderSuccess('营业成功');
|
|
}else{
|
|
pdo_update('wlmerchant_merchantdata',array('temclose' => 1),array('id' => $sid));
|
|
$this->renderSuccess('休息成功');
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 获取培训分类
|
|
* @return void
|
|
*/
|
|
public function getCultivateClassList() {
|
|
$data = Category::getStoreCategory();
|
|
$data_arr = [];
|
|
$i = 1;
|
|
foreach ($data as $value) {
|
|
$keystr = "C012345678910". $i;
|
|
$data_arr[$keystr] = [
|
|
'cc_id' => $value['id'],
|
|
'name' => $value['name'],
|
|
'sort' => 1,
|
|
'status' => 2,
|
|
'request_link' => "p=rush&do=homeList"
|
|
];
|
|
$i++;
|
|
}
|
|
if (!$data) $this->renderError('数据不存在');
|
|
$this->renderSuccess('数据获取成功',$data_arr);
|
|
}
|
|
|
|
}
|