createBonus($bonus); } } public function getBonus($user_id, $user_mobile){ $bonus = $this->where(array('user_mobile' => $user_mobile))->select(); if(intval($bonus[0]['user_id']) === 0){ $update_data = array( 'user_id' => $user_id, 'get_time' => time() ); $this->where(array('user_mobile' => $user_mobile))->update($update_data); } $bonus_data = array( 'bonus_sn' => $bonus[0]['bonus_sn'], 'bonus_value' => $bonus[0]['bonus_value'] ); return $bonus_data; } private function createBonus($bonus){ $bouns_sn = $this->generateSn(); $bonus_value = array( 'bonus_sn' => $bouns_sn, 'bonus_type_id' => 1, 'user_mobile' => $bonus[0], 'bonus_value' => $bonus[1] ); $this->insert($bonus_value); } private function generateSn(){ $max_sn_rec = $this->field('MAX(bonus_sn) as max_sn')->select(); $max_sn = $max_sn_rec[0]['max_sn']? floor($max_sn_rec[0]['max_sn'] / 10000): 100000; $bonus_sn = ($max_sn + 1) . str_pad(mt_rand(0, 9999), 4, '0', STR_PAD_LEFT); return $bonus_sn; } }