user_bonus.model.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. /**
  3. * ����
  4. *
  5. */
  6. defined('InShopNC') or exit('Access Invalid!');
  7. class user_bonusModel extends Model
  8. {
  9. public function __construct() {
  10. parent::__construct('user_bonus');
  11. }
  12. public function loadFile($content) {
  13. $lines = explode("\n", $content);
  14. foreach($lines as $line){
  15. $bonus = explode(',', trim($line));
  16. $this->createBonus($bonus);
  17. }
  18. }
  19. public function getBonus($user_id, $user_mobile){
  20. $bonus = $this->where(array('user_mobile' => $user_mobile))->select();
  21. if(intval($bonus[0]['user_id']) === 0){
  22. $update_data = array(
  23. 'user_id' => $user_id,
  24. 'get_time' => time()
  25. );
  26. $this->where(array('user_mobile' => $user_mobile))->update($update_data);
  27. }
  28. $bonus_data = array(
  29. 'bonus_sn' => $bonus[0]['bonus_sn'],
  30. 'bonus_value' => $bonus[0]['bonus_value']
  31. );
  32. return $bonus_data;
  33. }
  34. private function createBonus($bonus){
  35. $bouns_sn = $this->generateSn();
  36. $bonus_value = array(
  37. 'bonus_sn' => $bouns_sn,
  38. 'bonus_type_id' => 1,
  39. 'user_mobile' => $bonus[0],
  40. 'bonus_value' => $bonus[1]
  41. );
  42. $this->insert($bonus_value);
  43. }
  44. private function generateSn(){
  45. $max_sn_rec = $this->field('MAX(bonus_sn) as max_sn')->select();
  46. $max_sn = $max_sn_rec[0]['max_sn']? floor($max_sn_rec[0]['max_sn'] / 10000): 100000;
  47. $bonus_sn = ($max_sn + 1) . str_pad(mt_rand(0, 9999), 4, '0', STR_PAD_LEFT);
  48. return $bonus_sn;
  49. }
  50. }