| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665 | <?phpnamespace Stats\Lib;use Dever;Class Manage{	public function index_api()	{		$data = array();		$start = Dever::input('start');		$end = Dever::input('end');		if (!$start && !$end) {			$start=Dever::maketime(date('Y-m-01') . ' 00:00:00');            $end = strtotime(date('Y-m-d 23:59:59',                strtotime(date('Y-m-01')."+1 month - 1 day")));			$data['start'] = date('Y-m-d',$start);			$data['end'] = date('Y-m-d',$end);		} else {			$data['start'] = date('Y-m-d',$start);			$data['end'] = date('Y-m-d',$end);		}		$fastart = Dever::input('fastart');		$faend = Dever::input('faend');		if (!$fastart && !$faend) {			$fastart=Dever::maketime(date('Y-m-01') . ' 00:00:00');            $faend = strtotime(date('Y-m-d 23:59:59',                strtotime(date('Y-m-01')."+1 month - 1 day")));			$data['fastart'] = date('Y-m-d',$fastart);			$data['faend'] = date('Y-m-d',$faend);		} else {			$data['fastart'] = date('Y-m-d',$fastart);			$data['faend'] = date('Y-m-d',$faend);		}		$fstart = Dever::input('fstart');		$fend = Dever::input('fend');		if (!$fstart && !$fend) {			$fstart=Dever::maketime(date('Y-m-01') . ' 00:00:00');            $fend = strtotime(date('Y-m-d 23:59:59',                strtotime(date('Y-m-01')."+1 month - 1 day")));			$data['fstart'] = date('Y-m-d',$fstart);			$data['fend'] = date('Y-m-d',$fend);		} else {			$data['fstart'] = date('Y-m-d',$fstart);			$data['fend'] = date('Y-m-d',$fend);		}		$data['type'] = array(1 => '体验店',2 => '零售店',10 => '平台商城');		return Dever::render('out', $data);	}	public function list_api()	{		$header = array('门店类型', '门店编号', '门店名称', '订单号', '商品编码', '存货编码', '商品名称', '规格型号', '税率', '商品单价', '购买数量', '商品合计金额', '代理优惠金额', '商品实付金额', '礼品卡金额', '钱包金额','商品支付金额', '礼品卡名称', '礼品卡卡号', '代理商注册时间', '下单时间', '付款时间', '发货时间', '完成时间', '订单总数量', '订单总金额', '订单实付金额', '礼品卡金额', '钱包金额', '优惠券金额', '代理优惠金额', '订单状态', '退款状态', '退款时间', '退款金额', '收件人', '收件人手机', '收件人地址');		$body = array();		$status = Dever::db('shop/sell_order')->config['status_manage'];		$start = Dever::input('start');		$end = Dever::input('end');		$fastart = Dever::input('fastart');		$faend = Dever::input('faend');		$fstart = Dever::input('fstart');		$fend = Dever::input('fend');		$cate = Dever::input('cate');		$name = Dever::input('goods_name');		$shop_name = Dever::input('shop_name');		if ($start) {			$where['start'] = strtotime($start);		}		if ($end) {			$where['end'] = strtotime($end);		}		if ($fastart) {			$where['fastart'] = strtotime($fastart);		}		if ($faend) {			$where['faend'] = strtotime($faend);		}		if ($fstart) {			$where['fstart'] = strtotime($fstart);		}		if ($fend) {			$where['fend'] = strtotime($fend);		}		if ($cate && $cate>0) {			$where['shop_type'] = $cate;		}		if ($name) {			$where['name'] = $name;		}		if ($shop_name) {			$shop = Dever::db('shop/info')->find(array('name'=>$name));			if ($shop) {				$where['shop_id'] = $shop['id'];			}		}		$where['state'] = 1;		$data = Dever::db('shop/sell_order')->getExcel($where);		if ($data) {			foreach ($data as $k => $v) {				$v['card'] = '';				$v['card_code'] = '';		        if ($v['card_code_id']) {		            $code = Dever::db('card/code')->find($v['card_code_id']);		            if ($code) {		                $card_info = Dever::db('card/info')->find($code['card_id']);		                if ($card_info) {		                    if (!$code['total_cash']) {		                        $code['total_cash'] = $card_info['value'];		                    }		                    $v['card'] = $card_info['name'];		                    $v['card_code'] = $code['card'];		                }		            }		        }				if ($v['shop_type'] == 1) {					$v['shop_type_name'] = '体验店';				} elseif ($v['shop_type'] == 2) {					$v['shop_type_name'] = '平台商城';				}				$shop = Dever::db('shop/info')->find(Array('id'=>$v['shop_id']));				if (isset($shop) && $shop) {					$data[$k]['shop_sid'] = $shop['sid'];					$data[$k]['shop_name'] = $shop['name'];				}				$zhuce = '';				$address_contact = '';				$address_mobile = '';				$address_info = '';				if ($v['address_id'] > 0) {        			$address = Dever::load('passport/address')->getOne($v['uid'], $v['address_id']);        			if($address) {        				$address_contact = $address['contact'];        				$address_mobile = $address['mobile'];        				$address_info = $address['address_info'];        				$member = Dever::db('agent/member')->find(array('mobile'=>$address['mobile']));        				if ($member) {        					$zhuce = date('Y-m-d H:i',$member['cdate']);        				}        			}        		}        		$ps = Dever::db('shop/sell_order_ps')->find(array('order_id' => $v['id']));	            $cdate = strstr($v['cdate'], '-') ? $v['cdate'] : date('Y-m-d H:i', $v['cdate']);	            $paydate = isset($v['paydate']) && $v['paydate'] ? date('Y-m-d H:i', $v['paydate']) : '-';	            $operdate = ($ps && $ps['cdate']) ? date('Y-m-d H:i', $ps['cdate']) : '-';				$goods = Dever::db('shop/sell_order_goods')->select(Array('order_id'=>$v['id']));				$fdate = '';				if ($v['fdate']) {					$fdate = date('Y-m-d H:i',$v['fdate']);				}																foreach ($goods as $k1 => $v1) {					$goods_info = Dever::load('goods/lib/info')->getInfoBySku($v1['goods_id'], $v1['sku_id']);					if (isset($goods_info['sku'])) {	                    $sku = $goods_info['sku']['string'];	                } else {	                    $sku = '';	                }	                $goods_price = $v1['price']*$v1['num'];	                #代理优惠金额	                $discount_cash = round($v['discount_cash']/$goods_price,2);	                #商品实付金额	                $price = round(($v['price']/$goods_price),2);	                #礼品卡金额	                $card_code_cash = round(($v['card_code_cash']/$goods_price),2);	                #钱包金额	                $wallet_cash = round(($v['wallet_cash']/$goods_price),2);	                #商品支付金额	                if ($k1 == 0) {	                	$total_cash = Dever::load("shop/lib/manage.getTotalCash", $v['id']);	                } else {	                	$total_cash = 0;	                }	                	                 if ($v['status'] == 8 || $v1['status'] == 3) {	                    $num = $v1['num'];	                    $v['refund_cash'] = $v1['price']*$v1['num'];	                    $refund_status = '已退款';	                    $refund_cdate = '';	                    if ($v['shop_type'] == 1) {	                    	$refund = Dever::db('shop/sell_order_refund')->find(array('order_id'=>$v['id']));							if ($refund) {								$refund_cdate = date('Y-m-d H:i',$refund['cdate']);							}	                    }	                    	                } else {	                	$refund_cdate = '';	                    $num = '0';	                    $v['refund_cash'] = '0';	                    $refund_status = '未退款';	                }	                if ($v['status'] >=7) {	                	$v['price'] = 0;	                }	                	                if ($k1 == 0) {	                    $v['num'] = $v['num'];	                    $v['card_code_cash'] = $v['card_code_cash'];	                    $v['price'] = $v['price'];	                    $v['wallet_cash'] = $v['wallet_cash'];	                    $v['coupon_cash'] = $v['coupon_cash'];	                    $v['discount_cash'] = $v['discount_cash'];	                } else {	                    $v['num'] = 0;	                    $v['card_code_cash'] = 0;	                    $v['price'] = 0;	                    $v['wallet_cash'] = 0;	                    $v['coupon_cash'] = 0;	                    $v['discount_cash'] = 0;	                }	                $d = array                    (                        $v['shop_type_name'],						$data[$k]['shop_sid'],						$data[$k]['shop_name'],						$v['order_num'],						$goods_info['code'] . "\t",						$goods_info['cunhuo_code'] . "\t",                    	$goods_info['name'],						$sku,						$goods_info['tax'],						round($v1['price'], 2),						round($v1['num'],2),						round($v1['price']*$v1['num'], 2),						$discount_cash,						$price,						$card_code_cash,						$wallet_cash,						$price,						$v['card'],						$v['card_code'],						$zhuce,						$cdate,						$paydate,						$operdate,						$fdate,						$v['num'],						round($total_cash, 2),	                    round($v['price'], 2),	                    round($v['card_code_cash'], 2),	                    round($v['wallet_cash'], 2),	                    round($v['coupon_cash'], 2),	                    round($v['discount_cash'], 2),	                    $status[$v['status']],	                    $refund_status,	                    $refund_cdate,	                    round($v['refund_cash'], 2),	                    $address_contact,	                    $address_mobile,	                    $address_info,                    );										$body[] = $d;					if ($goods_info['price_type'] > 2 && isset($goods_info['goods']) && is_array($goods_info['goods'])) {                    	                    foreach ($goods_info['goods'] as $k2 => $v2) {	                        if ($v2['code']) {	                            //$v2['code'] = '-' . $v2['code'];	                        }	                        $p = $v2['price'];	                        if (is_numeric($v2['num']) && is_numeric($v2['price'])) {	                            $p = $v2['price']*$v2['num'];	                        }	                        $goods_price1 = 0;	                        	                        $d = array							(								$v['shop_type_name'],								$data[$k]['shop_sid'],								$data[$k]['shop_name'],								$v['order_num'],								$goods_info['code'] . "\t",								$goods_info['cunhuo_code'] . "\t",		                    	$goods_info['name'],								$sku,								$goods_info['tax'],								round($v1['price'], 2),								round($v1['num'],2),								round($v1['price']*$v1['num'], 2),								$discount_cash,								$price,								$card_code_cash,								$wallet_cash,								$price,								$v['card'],								$v['card_code'],								$zhuce,								$cdate,								$paydate,								$operdate,								$fdate,								'',								'',			                    '',			                    '',			                    '',			                    '',			                    '',			                    $status[$v['status']],			                    '',			                    '',			                    '',			                    $address_contact,			                    $address_mobile,			                    $address_info,							);	                        $body[] = $d;	                    }	                }				}			}		}		$file = '商品销售相关数据';    	return Dever::excelExport($body, $header, $file);	}	public function memberGoods_api()	{		$name = Dever::input('name');		$member_name = Dever::input('member_name');		$card_num = Dever::input('card_num');		$mobile = Dever::input('mobile');		$start = Dever::input('start');		$end = Dever::input('end');		$rstart = Dever::input('rstart');		$rend = Dever::input('end');		$cstart = Dever::input('cstart');		$cend = Dever::input('cend');		if ($card_num) {			$code = Dever::db('card/code')->find(array('card'=>$card_num));			if ($code){				$where['sku_id'] = "t_1.sku_id=".$code['id'];			}		}		if ($name) {			$where['name'] = "t_1.name like '%$name%'";		} 		if ($cstart) {			$where['cstart'] = 't_1.cdate+(360*86400)>='. strtotime($cstart);		} 		if ($cend) {			$where['cend'] = 't_1.cdate+(360*86400)<='.strtotime($cend);		} 		if ($start) {			$where['start'] = 't_1.cdate>='.strtotime($start);		}		if ($end) {			$where['end'] = 't_1.cdate<='.strtotime($end);		} 				if ($member_name) {			$where['member_name'] = "t_2.name like '%$member_name%'";		} 		if ($mobile) {			$where['mobile'] = 't_2.mobile='.$mobile;		} 		if ($rstart) {			$where['rstart'] = 't_2.cdate>='.strtotime($rstart);		} 		if ($rend) {			$where['rend'] = 't_2.cdate<='.strtotime($rend);		} 		$where['t_1.state'] = 't_1.state=1';		$header = array('权益名称','会员等级','姓名','手机号','卡号','类型','数量','单件价值','总价值','已兑换价值','已使用价值','未兑换价值','未使用价值','备注','获取方式','获取时间','代理商注册时间','礼品卡有效期');		$body = array();		if ($where) {			$where = implode(' and ', $where);			$data = Dever::db('agent/member_goods')->fetchAll("select t_1.*,t_2.id as aid from churen_agent_member_goods as t_1 left join churen_agent_member as t_2 on t_1.mid = t_2.id where " . $where);			// $data = Dever::db('agent/member_goods')->getJoinAll($where);			// echo Dever::sql();die;			// print_R($data);die;			if ($data) {				foreach ($data as $k => $v) {					$role_name = '';					$member_name = '';					$member_mobile = '';					$member = Dever::db('agent/member')->find($v['mid']);					if ($member) {						$member_cdate = '-';			            if($member['cdate']){			                $member_cdate = date('Y-m-d H:i',$member['cdate']);			            }						$member_name = $member['name'];						$member_mobile = $member['mobile'];						$role = Dever::db('setting/role')->find(array($member['role']));						if ($role) {							$role_name = $role['name'];						}					}					$wd = ($v['total_num'] - $v['sell_num'])*$v['price'];            		$yd = $v['sell_num']*$v['price'];					$card = '-';		            $mianzhi = '0';		            $money = '-';		            $youxiao = '';		            $leitype = '发放权益';		            if($v['type'] == 2){		                $code = Dever::db('card/code')->find($v['sku_id']);		                if($code){		                    $card_info = Dever::db('card/info')->find($code['card_id']);		                    if ($card_info && $card_info['end_dh_day']) {		                        $youxiao = date('Y-m-d H:i',strtotime(+ $card_info['end_dh_day'].'day',$code['bdate']));		                    }		                    $card = $code['card']."\t";		                    $mianzhi = $code['use_cash']; 		                }                  		            }		            $wy = $v['cash'] - $mianzhi;		            $desc = '';		            $member_goods_log = Dever::db('agent/member_goods_log')->getOne(array('type'=>$v['type'],'type_id'=>$v['type_id'],'sku_id'=>$v['sku_id'],'state'=>1));		            if($member_goods_log && $member_goods_log['desc']){		                $desc = $member_goods_log['desc'];		            }		            $d = array		            (		            	$v['name'],		            	$role_name,		            	$member_name,		            	$member_mobile,		            	$card,		            	$leitype,		            	$v['total_num'],		            	$v['price'],		            	$v['cash'],		            	$yd,		            	$mianzhi,		            	$wd,		            	$wy,		            	$desc,		            	'',		            	date('Y-m-d H:i',$v['cdate']),		                $member_cdate,		                $youxiao,		            );		            $body[] = $d;				}							} 		}		$file = '代理商权益';        return Dever::excelExport($body, $header, $file);	}	#代理商权益发放使用兑换明细	public function mingxi_api()	{		$name = Dever::input('name');		$mobile = Dever::input('mobile');		$card_num = Dever::input('card_num');		$shop_name = Dever::input('shop_name');		$shop_num = Dever::input('shop_num');		$order_num = Dever::input('order_num');		$start = Dever::input('start');		$end = Dever::input('end');		$type = Dever::input('type');		if ($name) {			$where['name'] = $name;		}		if ($mobile) {			$where['mobile'] = $mobile;		}		if ($card_num) {			$code = Dever::db('card/code')->find(array('card'=>$card_num));			if ($code){				$where['sku_id'] = $code['id'];			}		}		if ($shop_name) {			$shop = Dever::db('shop/info')->find(array('name'=>$shop_name));			$where['shop_id'] = $shop['id'];		}		if ($shop_num) {			$shop = Dever::db('shop/info')->fetch('select * from churen_shop_info where sid = '.$shop_num.' and state = 1');			$where['shop_id'] = $shop['id'];		}		// print_R($where['shop_id']);die;		if ($order_num) {			$sell_order = Dever::db('shop/sell_order')->find(array('order_num'=>$order_num));			$where['sku_id'] = $sell_order['card_code_id'];		}		if ($start) {			$where['start'] = strtotime($start);		}		if ($end) {			$where['end'] = strtotime($end);		}		if ($type) {			$where['types'] = $type;		}		$header = array('日期','权益名称','会员等级','姓名','手机号','卡号','类型','数量','单件价值','总价值','门店类型','门店编号','门店名称','关联平台商城订单号','备注','获取方式','获取时间','代理商注册时间','礼品卡有效期');		$body = array();		$where['type'] = '1,2';		$data = Dever::db('agent/member_goods')->getMingxi($where);		if ($data) {			foreach ($data as $k =>$v) {				$cdata = '';				if ($v['cdate']) {					$cdate = date('Y-m-d H:i',$v['cdate']);				}				$type = '发放权益';				$role_name = '';				$member_name = '';				$member_mobile = '';				$member_cdate = '-';				$member = Dever::db('agent/member')->find($v['mid']);				if ($member) {		            if($member['cdate']){		                $member_cdate = date('Y-m-d H:i',$member['cdate']);		            }					$member_name = $member['name'];					$member_mobile = $member['mobile'];					$role = Dever::db('setting/role')->find(array($member['role']));					if ($role) {						$role_name = $role['name'];					}				}				$card = '';				$youxiao = '';				if ($v['type'] == 2){	                $code = Dever::db('card/code')->find($v['sku_id']);	                if($code){	                    $card_info = Dever::db('card/info')->find($code['card_id']);	                    if ($card_info && $card_info['end_dh_day']) {	                        $youxiao = date('Y-m-d H:i',strtotime(+ $card_info['end_dh_day'].'day',$code['bdate']));	                    }	                    $card = $code['card']."\t";	                }                  	            }	            $desc = '';	            $member_goods_log = Dever::db('agent/member_goods_log')->getOne(array('type'=>$v['type'],'type_id'=>$v['type_id'],'sku_id'=>$v['sku_id'],'state'=>1));	            if($member_goods_log && $member_goods_log['desc']){	                $desc = $member_goods_log['desc'];	            }	            $dh_order_ps = Dever::db('agent/dh_order_ps')->getDui($v['mid']);	            if ($dh_order_ps) {	            	$type = '兑换权益';	            	foreach ($dh_order_ps as $k =>$v) {	            		$dh_order = Deverr::db('agent/dh_order_ps')->find($v['order_id']);	            		if ($dh_order && isset($dh_order['info']) && $dh_order['info']){	            			$desc = $dh_order['info'];	            		}	            	}	            }	            if ($where['types'] == 2) {	            	if (!$dh_order_ps) {	            		$file = '代理商权益明细';        				return Dever::excelExport($body, $header, $file);	            	}	            }	            	           	            $shop_name = '';	            $shop_type = '';	            $shop_sid = '';	            $order_num = '';	            if (isset($where['shop_id']) && $where['shop_id']) {	            	// print_R($where['shop_id']);die;	            	$where['types'] = 3;	            	$sell_order = Dever::db('shop/sell_order')->find(array('shop_id'=>$where['shop_id']));	            	if ($sell_order) {	            		$w = $this->common($sell_order);	            		$type = '使用权益';	            		if ($w) {	            			$shop_name = $w['shop_name'];					        $shop_type = $w['shop_type'];					        $shop_sid = $w['shop_sid'];					        $order_num = $w['order_num'];	            			$d = array				                (				                	$cdate,				                	$v['name'],				                	$role_name,				                	$member_name,				                	$member_mobile,				                	$card,				                	$type,				                	$v['total_num'],				                	$v['price'],						            $v['cash'],						            $shop_type,						            $shop_sid,						            $shop_name,						            $order_num,						            $desc,					            	'',					            	date('Y-m-d H:i',$v['cdate']),					                $member_cdate,					                $youxiao,				                );				               	$body[] = $d;	            		}	            		$file = '代理商权益明细';	            		 return Dever::excelExport($body, $header, $file);	            	}	            		            } else {	            	$sell_order = Dever::db('shop/sell_order')->find(array('card_code_id'=>$v['sku_id']));	            }                                if ($where['types'] == 3) {                	if (!$sell_order) {                		$file = '代理商权益明细';        				return Dever::excelExport($body, $header, $file);                	}                 }                 if ($sell_order) {                	$type = '使用权益';                	$w = $this->common($sell_order);                	if ($w) {                		$shop_name = $w['shop_name'];				        $shop_type = $w['shop_type'];				        $shop_sid = $w['shop_sid'];				        $order_num = $w['order_num'];                	}                }                $d = array                (                	$cdate,                	$v['name'],                	$role_name,                	$member_name,                	$member_mobile,                	$card,                	$type,                	$v['total_num'],                	$v['price'],		            $v['cash'],		            $shop_type,		            $shop_sid,		            $shop_name,		            $order_num,		            $desc,	            	'',	            	date('Y-m-d H:i',$v['cdate']),	                $member_cdate,	                $youxiao,                );               	$body[] = $d;			}					}		$file = '代理商权益明细';				// Dever::input('excel_name');        return Dever::excelExport($body, $header, $file);	}	public function common($sell_order)	{		$w = array();		$w['order_num'] = $sell_order['order_num'];    	$shop = Dever::db('shop/info')->find($sell_order['shop_id']);    	if ($shop) {    		$w['shop_name'] = $shop['name'];    		$w['shop_sid'] = $shop['sid'];    		if ($shop['type'] = 1) {    			$w['shop_type'] = '体验店';    		} elseif ($shop['type'] = 2) {    			$w['shop_type'] = '零售店';    		} elseif ($shop['type'] = 10) {    			$w['shop_type'] = '平台商城';    		}    	}    	return $w;	}}
 |