plugin_orderModel.class.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. <?php
  2. /**
  3. *
  4. */
  5. class plugin_orderModel extends NewModel
  6. {
  7. public function buyPlugin($user_id, $plugin_id)
  8. {
  9. $user_id = intval($user_id);
  10. $plugin_id = intval($plugin_id);
  11. if (defined('BUY_PLUGIN_ONCE') && BUY_PLUGIN_ONCE) {
  12. $has_plugin = $this->select(['user_id' => $user_id, 'plugin_id' => $plugin_id]);
  13. if ($has_plugin) {
  14. return '已购买插件';
  15. }
  16. }
  17. $plugin_model = self::build('plugin');
  18. $plugin = $plugin_model->field('price,name')->selectOne(['id' => $plugin_id]);
  19. $money = $plugin['price'];
  20. $user_model = self::build('user');
  21. if ($money > 0) {
  22. $res = $user_model->coin($user_id, -$money, 'diamonds');
  23. if (!$res) {
  24. return '余额不足';
  25. }
  26. $account_diamonds = $user_model->coin($user_id, false, 'diamonds');
  27. self::build('coin_log')->addLog($user_id, -1, -$money, $account_diamonds, $plugin['name'] . '插件购买');
  28. } else {
  29. $account_diamonds = $user_model->coin($user_id, false, 'diamonds');
  30. }
  31. $create_time = NOW_TIME;
  32. $this->insert(compact('plugin_id', 'user_id', 'create_time'));
  33. return $account_diamonds;
  34. }
  35. }