PtbAgentChargeModel.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. <?php
  2. /**
  3. * PtbAgentChargeModel.php UTF-8
  4. * 渠道平台币充值表
  5. *
  6. * @date : 2018/5/18 17:25
  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 PtbAgentChargeModel extends CommonModel {
  16. protected $name = 'ptb_agent_charge';
  17. // 开启自动写入时间戳字段
  18. protected $autoWriteTimestamp = true;
  19. public function agent() {
  20. return $this->belongsTo('huo\model\user\UserModel', 'agent_id', 'id')
  21. ->field('id,user_login,parent_id');
  22. }
  23. /**
  24. * 扣回
  25. * @return \think\model\relation\HasOne
  26. */
  27. public function back() {
  28. return $this->hasOne(PtbBackModel::className(), 'back_order_id', 'order_id');
  29. }
  30. /**
  31. * @param array $data
  32. *
  33. * @return bool|array
  34. */
  35. public function createOrder($data) {
  36. $_data['order_id'] = get_val($data, 'order_id', '');
  37. $_data['agent_id'] = get_val($data, 'agent_id', 0);
  38. $_data['from_id'] = get_val($data, 'from_id', 0);
  39. $_data['type'] = get_val($data, 'type', 0);
  40. $_data['amount'] = get_val($data, 'amount', 0.00);
  41. $_data['real_amount'] = get_val($data, 'real_amount', 0.00);
  42. $_data['ptb_cnt'] = get_val($data, 'ptb_cnt', 0);
  43. $_data['rebate_cnt'] = get_val($data, 'rebate_cnt', 0);
  44. $_data['discount'] = get_val($data, 'discount', 1);
  45. $_data['payway'] = get_val($data, 'payway', '');
  46. $_data['ip'] = get_val($data, 'ip', request()->ip());
  47. $_data['status'] = get_val($data, 'status', OrderConst::PAY_STATUS_NOT);
  48. if ($_obj = self::create($_data, true)) {
  49. $_data['id'] = $_obj->id;
  50. return $_data;
  51. } else {
  52. return false;
  53. }
  54. }
  55. /**
  56. * @param array $order_data
  57. * @param string $pay_id
  58. *
  59. * @return bool
  60. */
  61. public function updateOrder($order_data, $pay_id) {
  62. $_map['id'] = $pay_id;
  63. $_data = $order_data;
  64. $_rs = self::update($_data, $_map, true);
  65. if (false == $_rs) {
  66. return false;
  67. } else {
  68. return true;
  69. }
  70. }
  71. /**
  72. * @param $order_id
  73. *
  74. * @return array|false
  75. */
  76. public function getStatus($order_id) {
  77. $_map['order_id'] = $order_id;
  78. $_status = $this->where($_map)->value('status');
  79. if (false == $_status) {
  80. return false;
  81. }
  82. $_rdata['status'] = $_status;
  83. return $_rdata;
  84. }
  85. /**
  86. * @param $order_id
  87. *
  88. * @return array|false
  89. */
  90. public function getDetail($order_id) {
  91. $_map['order_id'] = $order_id;
  92. $_data = $this->where($_map)->find();
  93. if (false == $_data) {
  94. return false;
  95. }
  96. if (is_object($_data)) {
  97. $_data = $_data->toArray();
  98. }
  99. return $_data;
  100. }
  101. }