PtbChargeModel.php 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. <?php
  2. /**
  3. * PtbChargeModel.php UTF-8
  4. * 玩家平台币充值表
  5. *
  6. * @date : 2018/5/18 17:24
  7. *
  8. * @license 这不是一个自由软件,未经授权不许任何使用和传播。
  9. * @author : wuyonghong <wyh@huosdk.com>
  10. * @version : HUOSDK 8.0
  11. */
  12. namespace huo\model\finance;
  13. use huo\model\common\CommonModel;
  14. use huolib\constant\OrderConst;
  15. class PtbChargeModel extends CommonModel {
  16. protected $name = 'ptb_charge';
  17. // 开启自动写入时间戳字段
  18. protected $autoWriteTimestamp = true;
  19. public function mem() {
  20. return $this->belongsTo('huo\model\member\MemberModel', 'mem_id', 'id')
  21. ->field('id,username,nickname,agent_id');
  22. }
  23. public function agent() {
  24. return $this->belongsTo('huo\model\user\UserModel', 'from_id', 'id')->field('id,user_login');
  25. }
  26. /**
  27. * 扣回
  28. * @return \think\model\relation\HasOne
  29. */
  30. public function back() {
  31. return $this->hasOne(PtbBackModel::className(), 'back_order_id', 'order_id');
  32. }
  33. /**
  34. * @param array $data
  35. *
  36. * @return bool|array
  37. */
  38. public function createOrder($data) {
  39. $_data['order_id'] = get_val($data, 'order_id', '');
  40. $_data['mem_id'] = get_val($data, 'mem_id', 0);
  41. $_data['from_id'] = get_val($data, 'from_id', 0);
  42. $_data['type'] = get_val($data, 'type', 0);
  43. $_data['amount'] = get_val($data, 'amount', 0.00);
  44. $_data['real_amount'] = get_val($data, 'real_amount', 0.00);
  45. $_data['ptb_cnt'] = get_val($data, 'ptb_cnt', 0);
  46. $_data['rebate_cnt'] = get_val($data, 'rebate_cnt', 0);
  47. $_data['discount'] = get_val($data, 'discount', 1);
  48. $_data['payway'] = get_val($data, 'payway', '');
  49. $_data['ip'] = get_val($data, 'ip', request()->ip());
  50. $_data['status'] = get_val($data, 'status', OrderConst::PAY_STATUS_NOT);
  51. if ($_obj = self::create($_data, true)) {
  52. $_data['id'] = $_obj->id;
  53. return $_data;
  54. } else {
  55. return false;
  56. }
  57. }
  58. /**
  59. * @param array $order_data
  60. * @param string $pay_id
  61. *
  62. * @return bool
  63. */
  64. public function updateOrder($order_data, $pay_id) {
  65. $_map['id'] = $pay_id;
  66. $_data = $order_data;
  67. $_rs = self::update($_data, $_map, true);
  68. if (false == $_rs) {
  69. return false;
  70. } else {
  71. return true;
  72. }
  73. }
  74. /**
  75. * @param $order_id
  76. *
  77. * @return array|false
  78. */
  79. public function getStatus($order_id) {
  80. $_map['order_id'] = $order_id;
  81. $_status = $this->where($_map)->value('status');
  82. if (false == $_status) {
  83. return false;
  84. }
  85. $_rdata['status'] = $_status;
  86. return $_rdata;
  87. }
  88. /**
  89. * @param $order_id
  90. *
  91. * @return array|false
  92. */
  93. public function getDetail($order_id) {
  94. $_map['order_id'] = $order_id;
  95. $_data = $this->where($_map)->find();
  96. if (false == $_data) {
  97. return false;
  98. }
  99. if (is_object($_data)) {
  100. $_data = $_data->toArray();
  101. }
  102. return $_data;
  103. }
  104. }