state(); } public function ding($data) { if (isset($data['num_add_ding']) && isset($data['num_ratio_ding'])) { if ($data['buy'] == 1 && $data['buy_type'] == 2) { # 获取明星的订阅数 $star = Dever::db('journal/star')->state(array('info_id' => $data['id'])); $data['num_ding'] = 0; if ($star) { foreach ($star as $k => $v) { $data['num_ding'] += $this->starDing($v); } } $data['num_up'] = $data['num_add_ding'] = 0; $data['num_ratio_ding'] = 1; } elseif ($data['buy'] == 1 && $data['buy_type'] == 1) { if (!$data['num_ding']) { $stat = Dever::db('stat/journal')->getNumByJournal(array('journal_id' => $data['id'])); if (!$stat) { $stat['buy_num'] = 0; } if (!$stat['buy_num']) { $stat['buy_num'] = 0; } $data['num_ding'] = $stat['buy_num']; } $data['num_up'] = 0; } $data['num_ding'] = $data['num_ding'] + $data['num_up']; $data['buy_num'] = $data['num_ding']; $data['num_ding'] = round(($data['num_ding']+$data['num_add_ding'])*$data['num_ratio_ding']); } return $data; } public function starDing($data) { if (isset($data['num_add_ding']) && isset($data['num_ratio_ding'])) { if (!$data['num_ding']) { $stat = Dever::db('act/order')->getNumByStar(array('star_id' => $data['id'], 'product_id' => $data['info_id'])); if (!$stat) { $stat['buy_num'] = 0; } if (!$stat['buy_num']) { $stat['buy_num'] = 0; } $data['num_ding'] = $stat['buy_num']; } $data['buy_num'] = $data['num_ding']; $data['num_ding'] = round(($data['num_ding']+$data['num_add_ding'])*$data['num_ratio_ding']); } return $data; } }