UserCoin.php 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. namespace App\Modes;
  3. use Illuminate\Database\Eloquent\Model;
  4. /**
  5. * App\Modes\UserCoin
  6. *
  7. * @property int $id
  8. * @property int $uid 用户id
  9. * @property int $order_id 订单id
  10. * @property float $price 单价
  11. * @property int $num 数量
  12. * @property float $total_price 总价
  13. * @property int $pay_type 支付方式 0-未支付 1-现金 2-支付宝 3-微信 4-银行转账 5-桃牛支付
  14. * @property int $status 状态 1-未审核 2-审核通过 3-审核拒绝 4-失效
  15. * @property string $remark 拒绝备注
  16. * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\UserCoin newModelQuery()
  17. * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\UserCoin newQuery()
  18. * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\UserCoin query()
  19. * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\UserCoin whereId($value)
  20. * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\UserCoin whereNum($value)
  21. * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\UserCoin whereOrderId($value)
  22. * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\UserCoin wherePayType($value)
  23. * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\UserCoin wherePrice($value)
  24. * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\UserCoin whereRemark($value)
  25. * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\UserCoin whereStatus($value)
  26. * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\UserCoin whereTotalPrice($value)
  27. * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\UserCoin whereUid($value)
  28. * @mixin \Eloquent
  29. * @property float $coin_parities 汇率
  30. * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\UserCoin whereCoinParities($value)
  31. */
  32. class UserCoin extends Model
  33. {
  34. protected $table = 'user_coin';
  35. public $timestamps = false;
  36. public static function updateCoin($order_id)
  37. {
  38. $coin = UserCoin::whereOrderId($order_id)->first();
  39. if (empty($coin)) {
  40. ErrorLog::saveMsg("点币记录[{$out_trade_no}]不存在");
  41. }
  42. $user = User::find($coin->uid);
  43. //点币记录
  44. $remark="用户【id:".$coin->uid."】,用途-购买点币".$coin->num.",支付金额【".$coin->total_price."】";
  45. AccountLog::insert([
  46. 'uid' => $coin->uid,
  47. 'type' => 32,
  48. 'status' => 1,
  49. 'money_type' => 1,
  50. 'money' => $coin->total_price,
  51. 'current_money' => $user->coin,
  52. 'remark' => $remark
  53. ]);
  54. $coinUpdate = UserCoin::whereOrderId($order_id)->update([
  55. 'status' => 2,
  56. ]);
  57. if (empty($coinUpdate)) {
  58. ErrorLog::saveMsg("点币记录[{$out_trade_no}]状态更新为已支付失败");
  59. }
  60. $num = User::whereId($coin->uid)->increment('coin',$coin->num);
  61. if (empty($num)) {
  62. ErrorLog::saveMsg("点币记录[{$out_trade_no}]入账失败:".$coin->num);
  63. }
  64. }
  65. }