<?php
/**
 * 验证手机号是否存在
 * @param string $mobile 手机号
 * @param string $type 查询类型（1会员 2店铺）
 * @return array
 */
/*function checkmobile($mobile,$type=1){
	$map = array();
	if($type == 1){
		$map['mobile'] = array('eq',$mobile);
		$id = M('Member')->where($map)->getField('id');
	}elseif($type == 2){
		$map['mobile'] = array('eq',$mobile);
		$id = M('ShopsAccount')->where($map)->getField('id');
	}
	return $id;
}*/
function send_care($id,$page=0,$pagesize=100){
	if(!$id)return false;
	$map['id'] = $id;
	$info = M('MemberCare')->where($map)->find();
	$map = array();
	$map['name'] = 'FIXED_SIGNATURE';
	$sign = M('Config')->where($map)->getField('value');
	//短信查询
	$smsclass = new \Common\Vendor\Sms('Hanchaosms');
	$ret =$smsclass->balance();//条数
	$sms_num = $ret['data'];
	if($info){
		if($info['type'] == 1){//节日类型
			//发送对象
			if($info['send_member'] == 1)$m_map['is_tmp']=0;	
			if($info['send_member'] == 2)$m_map['is_tmp']=1;
			
			//等级限制
			if($info['rank_limit'] != 0){$m_map['rank_id']=$info['rank_limit'];}
			
			$member_count = M('Member')->where($m_map)->count();
			if($sms_num < $member_count && $info['sms_message'] == 1){
				$return['status'] = 3;
				$return['msg'] = '当前短信条数不足，无法发送短信，请进入应用市场充值购买';
				return $return;
			}
			if($member_count>0){
				$member_list = M('Member')->where($m_map)->limit($page,$pagesize)->select();
				if($member_list){
					if($info['send_type'] == 1){
						foreach($member_list as $key=>$val){
							account_change($val['id'],$info['points'],4,13,'节日大派送');
							$u_name = idtoname($val['id'],'Member','real_name;username;nickname;mobile');
							$coupons_name='';
							$rep_arr=array('[关怀名称]'=>$info['festival_name'],'[会员名称]'=>$u_name,'[卡券名称]'=>$coupons_name,'[积分数量]'=>Intval($info['points']));
							$content=strtr($info['content'],$rep_arr);
							if($info['wx_message'] == 1){
								$code_data = array();
								$code_data['to'] = $val['id'];
								$code_data['user_name'] = $u_name;
								$code_data['goods_name'] = $info['points'].'积分';
								$code_data['send_time'] = date('Y-m-d H:i:s',NOW_TIME);
								$code_data['remark']=$content;
								sendbytheme($code_data,'MEMBER_CARE');
							}
							if($info['sms_message'] == 1){
								if(strpos($info['content'],'[') !== false){
									$content = $content.'【'.$sign.'】';
								}else{
									$content = $content.'退订回N'.'【'.$sign.'】';
								}
								$send_data['form'] = 1;
								$send_data['title'] = '';
								$send_data['content'] = $content;
								$send_data['type'] = 1;
								$send_data['is_yingxiao'] = 1;
								$send_data['addtime'] = NOW_TIME;
								$send_data['touid'] = $val['id'];
								$send_data['to'] = $val['mobile'];
								send_method(2,$send_data);
							}
						}unset($key,$val);
					}
					if($info['send_type'] == 2){
						kaquan($info,$member_list);
					}
					$return['id'] = $id;
					$return['status'] = 1;
					$return['count'] = $member_count;
					$return['page'] = $page+$pagesize;
					$jindu = $page/$pagesize/ceil($member_count/$pagesize)*100;
					$return['jindu'] = sprintf("%.2f",$jindu);
					return $return;
				}else{
					$m_care['id'] = $info['id'];
					$m_care['status'] = 1;
					$m_care['send_time'] = NOW_TIME;
					$m_care['message_num'] = $member_count;
					M('MemberCare')->save($m_care);
					$return['count'] = 0;
					$return['data'] = $member_count;
					$return['status'] = 2;
					return $return;
				}
				
			}else{
				$m_care['id'] = $info['id'];
				$m_care['status'] = 1;
				$m_care['send_time'] = NOW_TIME;
				$m_care['message_num'] = $member_count;
				M('MemberCare')->save($m_care);
				$return['count'] = 0;
				$return['data'] = $member_count;
				$return['status'] = 2;
				return $return;
			}	
			
		}
		if($info['type'] == 2){//生日
			if($info['send_birthday']>10){
				$me_map['birthday'] = array('like','%-'.$info['send_birthday'].'-%');
			}else{
				$me_map['birthday'] = array('like','%-0'.$info['send_birthday'].'-%');
			}
			$member_count = M('Member')->where($me_map)->count();
			if($sms_num < $member_count && $info['sms_message'] == 1){
				$return['status'] = 3;
				$return['msg'] = '当前短信条数不足，无法发送短信，请进入应用市场充值购买';
				return $return;
			}
			if($member_count>0){
				$member_list = M('Member')->where($me_map)->limit($page,$pagesize)->select();
				if($member_list){
					if($info['send_type'] == 1){
						foreach($member_list as $key=>$val){
							account_change($val['id'],$info['points'],4,13,'生日大派送');
							$u_name = idtoname($val['id'],'Member','real_name;username;nickname;mobile');
							$coupons_name='';
							$rep_arr=array('[关怀名称]'=>$info['festival_name'],'[会员名称]'=>$u_name,'[卡券名称]'=>$coupons_name,'[积分数量]'=>Intval($info['points']));
							$content=strtr($info['content'],$rep_arr);
							if($info['wx_message'] == 1){
								$code_data = array();
								$code_data['to'] = $val['id'];
								$code_data['user_name'] = $u_name;
								$code_data['goods_name'] = $info['points'].'积分';
								$code_data['send_time'] = date('Y-m-d H:i:s',NOW_TIME);
								$code_data['remark']=$content;
								sendbytheme($code_data,'MEMBER_CARE');
							}
							if($info['sms_message'] == 1){
								if(strpos($info['content'],'[') !== false){
									$content = $content.'【'.$sign.'】';
								}else{
									$content = $content.'退订回N'.'【'.$sign.'】';
								}
								$send_data['form'] = 1;
								$send_data['title'] = '';
								$send_data['content'] = $content;
								$send_data['type'] = 1;
								$send_data['addtime'] = NOW_TIME;
								$send_data['is_yingxiao'] = 1;
								$send_data['touid'] = $val['id'];
								$send_data['to'] = $val['mobile'];
								send_method(2,$send_data);
							}
						}unset($key,$val);
					}
					if($info['send_type'] == 2){
						kaquan($info,$member_list);
					}
					$return['id'] = $id;
					$return['count'] = $member_count;
					$return['status'] = 1;
					$return['page'] = $page+$pagesize;
					$jindu = $page/$pagesize/ceil($member_count/$pagesize)*100;
					$return['jindu'] = sprintf("%.2f",$jindu);
					return $return;
				}else{
					$m_care['id'] = $info['id'];
					$m_care['status'] = 1;
					$m_care['send_time'] = NOW_TIME;
					$m_care['message_num'] = $member_count;
					M('MemberCare')->save($m_care);
					$return['count'] = 0;
					$return['data'] = $member_count;
					$return['status'] = 2;
					return $return;
				}	
				
			}else{
				$m_care['id'] = $info['id'];
				$m_care['status'] = 1;
				$m_care['send_time'] = NOW_TIME;
				$m_care['message_num'] = $member_count;
				M('MemberCare')->save($m_care);
				$return['count'] = 0;
				$return['data'] = $member_count;
				$return['status'] = 2;
				return $return;
			}	
		}
		if($info['type'] == 3){
			if($info['rank_limit'] != 0){$m_map['rank_id']=$info['rank_limit'];}
			$member_count = M('Member')->where($m_map)->count();
			if($sms_num < $member_count && $info['sms_message'] == 1){
				$return['status'] = 3;
				$return['msg'] = '当前短信条数不足，无法发送短信，请进入应用市场充值购买';
				return $return;
			}
			if($member_count>0){
				$member_list = M('Member')->where($m_map)->limit($page,$pagesize)->select();
				if($member_list){
					foreach($member_list as $key=>$val){
						
						$u_name = idtoname($val['id'],'Member','real_name;username;nickname;mobile');
						$coupons_name='';
						$rep_arr=array('[关怀名称]'=>$info['festival_name'],'[会员名称]'=>$u_name,'[卡券名称]'=>$coupons_name,'[积分数量]'=>Intval($info['points']));
						$content=strtr($info['content'],$rep_arr);
						if($info['sms_message'] == 1){
							if(strpos($info['content'],'[') !== false){
								$content = $content.'【'.$sign.'】';
							}else{
								$content = $content.'退订回N'.'【'.$sign.'】';
							}
							$send_data['form'] = 1;
							$send_data['title'] = $info['festival_name'];
							$send_data['content'] = $content;
							$send_data['type'] = 1;
							$send_data['is_yingxiao'] = 1;
							$send_data['addtime'] = NOW_TIME;
							$send_data['touid'] = $val['id'];
							$send_data['to'] = $val['mobile'];
							send_method(2,$send_data);
						}
					}unset($key,$val);
					$return['id'] = $id;
					$return['status'] = 1;
					$return['count'] = $member_count;
					$return['page'] = $page+$pagesize;
					return $return;
				}else{
					$m_care['id'] = $info['id'];
					$m_care['status'] = 1;
					$m_care['send_time'] = NOW_TIME;
					$m_care['message_num'] = $member_count;
					M('MemberCare')->save($m_care);
					$return['count'] = 0;
					$return['data'] = $member_count;
					$return['status'] = 2;
					return $return;
				}
				
			}else{
				$m_care['id'] = $info['id'];
				$m_care['status'] = 1;
				$m_care['send_time'] = NOW_TIME;
				$m_care['message_num'] = $member_count;
				M('MemberCare')->save($m_care);
				$return['count'] = 0;
				$return['data'] = $member_count;
				$return['status'] = 2;
				return $return;
			}
		}
	}
}

function kaquan($info,$member_list){
	$map = array();
	$map['name'] = 'FIXED_SIGNATURE';
	$sign = M('Config')->where($map)->getField('value');
	$coupons = M('Coupons')->where('id='.$info['coupons_id'])->find();
	$add_data['coupons_id'] = $coupons['id'];
	$add_data['card_id'] = $coupons['card_id'];
	$add_data['rank_id'] = $coupons['rank_id'];
	$add_data['discount'] = $coupons['discount'];
	$add_data['reduce_cost'] = $coupons['reduce_cost'];
	$add_data['least_cost'] = $coupons['least_cost'];
	$add_data['begin_timestamp'] = $coupons['begin_timestamp'];
	$add_data['end_timestamp'] = $coupons['end_timestamp'];
	$add_data['add_time'] = time();
	foreach($member_list as $key=>$val){
		$add_data['uid'] = $val['id'];
		$add_data['code'] = base_order().$val['id'];
		$add = M('CouponsGet')->add($add_data);
		if($add)M('Coupons')->where('id='.$info['coupons_id'])->setDec('quantity',1);
		if($val['wxid'])$wxid[] = $val['wxid'];
		$goods_name = idtoname($info['coupons_id'],'Coupons','title');
		
		$u_name = idtoname($val['id'],'Member','real_name;username;nickname;mobile');
		$rep_arr=array('[关怀名称]'=>$info['festival_name'],'[会员名称]'=>$u_name,'[卡券名称]'=>$goods_name,'[积分数量]'=>Intval($info['points']));
		$content=strtr($info['content'],$rep_arr);
		if($info['wx_message'] == 1){
			if(strpos($info['content'],'[') !== false){
				$content = $content.'【'.$sign.'】';
			}else{
				$content = $content.'退订回N'.'【'.$sign.'】';
			}
			$code_data = array();
			$code_data['to'] = $val['id'];
			$code_data['user_name'] = $val['nickname'];
			$code_data['goods_name'] =$goods_name;
			$code_data['send_time'] = date('Y-m-d H:i:s',NOW_TIME);
			$code_data['remark']=$content;
			sendbytheme($code_data,'MEMBER_CARE');
		}
		if($info['sms_message'] == 1){
			$send_data['form'] = 1;
			$send_data['title'] = '';
			$send_data['content'] = $content;
			$send_data['type'] = 1;
			$send_data['is_yingxiao'] = 1;
			$send_data['addtime'] = NOW_TIME;
			$send_data['touid'] = $val['id'];
			$send_data['to'] = $val['mobile'];
			send_method(2,$send_data);
		}
	}unset($key,$val);
	//微信发券
	$Weixin = new \Common\Vendor\WeixinCoupon();
	if(count($wxid)){
		$wxcard = $Weixin->wxcard($wxid,$add_data['card_id']);
	}
	
}
function change_status($name,$id,$status=0){
	if(!$name||!$id)return false;
	$map = array();
	$map['id'] = $id;
	$map['status'] = $status;
	$ret = M($name)->save($map);
	return $ret;
}
function calculation($money=0,$uid){
	$return=array('status'=>1,'msg'=>'','data'=>array('actual_money'=>0.00,'points'=>0));
	if(!$uid)return $return;
	$map = array();
	$map['id'] = $uid;
	$rank_id = M('Member')->where($map)->getField('rank_id');
	$map = array();
	$rank_limit = "'0,".$rank_id."'";
	$map['rank_limit'] = array('IN',$rank_limit);
	$map['status'] = 1;
	$map['consumption_type'] = array('neq',2);
	$map['money_limit'] = array('elt',$money);
	$map['consumption_type'] = 1;
	$info = M('ManypointsRule')->where($map)->field(true)->order('money_limit desc')->find();
	$sell_points=C("RECHARGE_SELL_INTEGRAL_RATE");
	if($info){
		$return['data']['actual_money'] = $money;
		$return['data']['points'] = Intval($money*$sell_points/100*$info['give_num']);
	}else{
		$return['data']['actual_money'] = $money;
		$return['data']['points'] = Intval($money*$sell_points/100);
	}
	$map['consumption_type'] = 3;
	$info_m = M('ManypointsRule')->where($map)->field(true)->order('money_limit desc')->find();
	if($info_m){
		$return['data']['actual_money'] = $money+$info_m['give_num'];
	}
	return $return;
}	
?>