您的位置:首页 > 编程语言

代码中出现的奇怪问题原因

2014-09-25 15:31 337 查看
好好看看这段代码,之前是没有第29行的。

/*
* 系统账号监控规则:
* 1.每小时监控
* 2.系统账号数量<=10以下时不报警
* 3.10以上时每小时增长率超过20%则报警
*
*/
public function watching(){
$this->load->model('monite/watch_dingdan_model');
$this->load->model('readdb/dingdan_model');
$this->load->model('readdb/product_model');

foreach($this->userid as $userid){
//监控预订单表dingdan系统账号
$orders = $this->dingdan_model->getSystemAccount($userid);
foreach($orders as $order){
if(!trim($order['s_id'])) continue;
$sql = "select * from watch_dingdan where shopid = '".$order['s_id']."' and userid='{$userid}'";
$watch = $this->watch_dingdan_model->query($sql);
if(count($watch)<=0){	//如果监控表中没有数据,则直接写入记录
//将最新的系统账号数量添加到监控表中
$data = array();
$data['shopid'] = $order['s_id'];
$data['userid'] = $userid;
$data['num'] = $order['num'];
$this->watch_dingdan_model->insert($data);
if($order['num']<=$this->threshold) continue;
}else{
$where = $data = array();
//将最新的系统账号数量更新到监控表中
$where['shopid'] = $order['s_id'];
$where['userid'] = $userid;
$data['num'] = $order['num'];
$this->watch_dingdan_model->update($where,$data);

if(($order['num']-$watch[0]['num'])>=$this->threshold && $watch[0]['num']>0 && $order['num']>$watch[0]['num']){
if(!(($order['num']-$watch[0]['num'])/$watch[0]['num'] >= $this->rate)){
continue;
}
}else{
continue;
}
}
$shopname = $this->product_model->getShopName($order['s_id']);
$shopname = iconv("gbk","utf-8",$shopname);
//发送监控
$title = '【跟单监控时报】'.$shopname."系统账号{$userid}监控";
$content = '【跟单监控时报】'.date("Y-m-d H:i",strtotime("-15 minute"))."至".date("Y-m-d H:i").$shopname."[$order[s_id]]系统账号{$userid}的数量为".($order['num']-$watch[0]['num']).",总数量为$order[num]";
$this->sendEmail($title, $content);
$this->sendSms($content);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: