<?php 
namespace wstmart\admin\model;
use think\Db;
/**
 * ============================================================================
 * 系统业务处理
 */
class Index extends Base{
	/**
	 * 获取基础统计信息
	 */
	public function summary(){
		$data = [];		
		$m = Model('common/Table');

		$m->setTable('sys_summary');
		$toPayInfo = $m->getInfo(['id'=>1],'toPayFast,toPaySlow');
		$data['qlg']['fastPay'] = $toPayInfo['toPayFast'];
		$data['qlg']['slowPay'] = $toPayInfo['toPaySlow'];
		//预代付值
		$m->setTable('user_vouchers_summary');
		$data['qlg']['vouchersSummarySum'] = $m->getSum(['isDisabled'=>0],'expectedProductNum+expectedCouponsNum');
		//个体认证数
		$m->setTable('users');
		$data['qlg']['personalCount'] = $m->getCount(['authType'=>1]);
		//合作认证数
		$data['qlg']['companyCount'] = $m->getCount(['authType'=>2]);
		//合作商数
		$m->setTable('user_update');		
		$data['qlg']['updateCount'] = $m->getCount(['status'=>1]);
		//已上线店铺数
		$m->setTable('shops');
		$data['qlg']['shopCount'] = $m->getCount(['status'=>1,'dataFlag'=>1]);
		//已消费用户数
		$data['qlg']['payCount'] = Db::name('orders')->where(['orderStatus'=>['BETWEEN','0,2']])->group('userId')->count();
		//已完成订单总额
		$m->setTable('orders');
		//$data['qlg']['orderSum'] = $m->getSum(['orderStatus'=>['BETWEEN','0,2']],'realTotalMoney');
		$data['qlg']['orderSum'] = $m->getSum(['orderStatus'=>2],'realTotalMoney');
		//个体待审核
		$m->setTable('auth_personal');
		$data['qlg']['personalWaitCount'] = $m->getCount(['status'=>0]);
		//合作待审核
		$m->setTable('auth_company');
		$data['qlg']['companyWaitCount'] = $m->getCount(['status'=>0]);
		//合作商待审核
		$m->setTable('user_update');
		$data['qlg']['updateWaitCount'] = $m->getCount(['status'=>0]);
		//产品券抵现
		$m->setTable('orders');
		$data['qlg']['productSum'] = $m->getSum(['orderStatus'=>['BETWEEN','0,2']],'productNum-productHandlingFee-productTaxFee');
		//优惠券抵现
		$data['qlg']['couponsSum'] = $m->getSum(['orderStatus'=>['BETWEEN','0,2']],'couponsNum-couponsHandlingFee-couponsTaxFee');
		//旺旺券抵现
		$data['qlg']['wangSum'] = $m->getSum(['orderStatus'=>['BETWEEN','0,2']],'wangNum');

		//今日统计
		$data['tody'] = ['userType0'=>0,'userType1'=>0];
		$rs = Db::name('users')->where(['createTime'=>['like',date('Y-m-d').'%'],'dataFlag'=>1])->group('userType')->field('userType,count(userId) counts')->select();
		$tmp = [];
		if(!empty($rs)){
			foreach ($rs as $key => $v){
				$tmp[$v['userType']] = $v['counts'];
			}
		}
		if(isset($tmp['0']))$data['tody']['userType0'] = $tmp['0'];
		if(isset($tmp['1']))$data['tody']['userType1'] = $tmp['1'];
		$data['tody']['shopApplys'] = Db::name('shops')->whereTime('createTime','today')->where(['dataFlag'=>1,'status'=>0])->count();
		$data['tody']['compalins'] = Db::name('order_complains')->where(['complainTime'=>['like',date('Y-m-d').'%']])->count();
		$data['tody']['saleGoods'] = Db::name('goods')->where(['dataFlag'=>1,'goodsStatus'=>1,'isSale'=>1,'createTime'=>['like',date('Y-m-d').'%']])->count();
		$data['tody']['auditGoods'] = Db::name('goods')->where(['dataFlag'=>1,'goodsStatus'=>0,'isSale'=>1,'createTime'=>['like',date('Y-m-d').'%']])->count();
		$data['tody']['order'] = Db::name('orders')->where(['dataFlag'=>1,'createTime'=>['like',date('Y-m-d').'%']])->count();
		//商城统计
		$data['mall'] = ['userType0'=>1,'userType1'=>0];
		$rs = Db::name('users')->where(['dataFlag'=>1])->group('userType')->field('userType,count(userId) counts')->select();
		$tmp = [];
		if(!empty($rs)){
			foreach ($rs as $key => $v){
				$tmp[$v['userType']] = $v['counts'];
			}
		}
		if(isset($tmp['0']))$data['mall']['userType0'] = $tmp['0'];
		if(isset($tmp['1']))$data['mall']['userType1'] = $tmp['1'];
		$data['mall']['saleGoods'] = Db::name('goods')->where(['dataFlag'=>1,'goodsStatus'=>1,'isSale'=>1])->count();
		$data['mall']['auditGoods'] = Db::name('goods')->where(['dataFlag'=>1,'goodsStatus'=>0,'isSale'=>1])->count();
		$data['mall']['order'] = Db::name('orders')->where(['dataFlag'=>1])->count();
		$data['mall']['brands'] = Db::name('brands')->where(['dataFlag'=>1])->count();
		$data['mall']['appraise'] = Db::name('goods_appraises')->where(['dataFlag'=>1])->count();
		$rs = Db::query('select VERSION() as sqlversion');
		$data['MySQL_Version'] = $rs[0]['sqlversion'];
		$data['time']['startDate'] = date('Y-m-d',strtotime("-1month"));
        $data['time']['endDate'] = date('Y-m-d');
		return $data;
	}
	
    /**
	 * 保存授权码
	 */
	public function saveLicense(){
		$data = [];
		$data['fieldValue'] = input('license');
	    $result = model('SysConfigs')->where('fieldCode','mallLicense')->update($data);
		if(false !== $result){
			cache('WST_CONF',null);
			return WSTReturn("操作成功",1);
		}
		return WSTReturn("操作失败");
	}
}