RebateOrderPayModel.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. <?php
  2. /**
  3. * RebateOrderPayModel.php UTF-8
  4. *
  5. *
  6. * @date : 2018/7/28 14:45
  7. *
  8. * @license 这不是一个自由软件,未经授权不许任何使用和传播。
  9. * @author : wuyonghong <wyh@huosdk.com>
  10. * @version : Huosdk 8.0
  11. */
  12. namespace huoRebate\model;
  13. use huolib\constant\OrderConst;
  14. use think\Model;
  15. class RebateOrderPayModel extends Model {
  16. protected $name = 'rebate_order_pay';
  17. // 开启自动写入时间戳字段
  18. protected $autoWriteTimestamp = true;
  19. /**
  20. * @return \think\model\relation\BelongsTo
  21. */
  22. public function pay() {
  23. return $this->belongsTo('huo\model\order\OrderModel', 'order_id');
  24. }
  25. /**
  26. * 添加返利订单
  27. *
  28. * @param $data
  29. *
  30. * @return bool|mixed
  31. */
  32. public function add($data) {
  33. $_data['ro_id'] = get_val($data, 'ro_id', 0);
  34. $_data['order_id'] = get_val($data, 'order_id', '');
  35. $_data['mem_id'] = get_val($data, 'mem_id', 0);
  36. $_data['app_id'] = get_val($data, 'app_id', 0);
  37. $_data['status'] = get_val($data, 'status', OrderConst::REBATE_STATUS_NOT);
  38. if ($_obj = self::create($_data, true)) {
  39. $_data['id'] = $_obj->id;
  40. return $_data;
  41. } else {
  42. return false;
  43. }
  44. }
  45. /**
  46. * 查询详细信息
  47. *
  48. * @param string $order_id SDK订单编号
  49. *
  50. * @param array $status 状态
  51. *
  52. * @return array|bool|false
  53. */
  54. public function getDetail($order_id, $status = []) {
  55. $_map['order_id'] = $order_id;
  56. if (!empty($status)) {
  57. $_map['status'] = ['in', $status];
  58. }
  59. $_data = self::where($_map)->find();
  60. if (false == $_data) {
  61. return false;
  62. }
  63. if (is_object($_data)) {
  64. $_data = $_data->toArray();
  65. }
  66. return $_data;
  67. }
  68. /**
  69. * 获取是否存在
  70. *
  71. * @param $order_id
  72. * @param array $status
  73. *
  74. * @return int|string
  75. */
  76. public function getCnt($order_id, $status = [OrderConst::REBATE_STATUS_NOT, OrderConst::REBATE_STATUS_SUC]) {
  77. $_map['order_id'] = $order_id;
  78. if (!empty($status)) {
  79. $_map['status'] = ['in', $status];
  80. }
  81. $_cnt = self::where($_map)->count();
  82. if (false == $_cnt) {
  83. return 0;
  84. }
  85. return $_cnt;
  86. }
  87. /**
  88. * 通过mem_id与app_id获取已申请返利的订单ID
  89. *
  90. * @param $mem_id
  91. * @param $app_id
  92. * @param array $status
  93. *
  94. * @return array
  95. */
  96. public function getOrdersByMemApp(
  97. $mem_id, $app_id = 0, $status = [OrderConst::REBATE_STATUS_NOT, OrderConst::REBATE_STATUS_SUC]
  98. ) {
  99. $_map['mem_id'] = $mem_id;
  100. if (!empty($app_id)) {
  101. $_map['app_id'] = $app_id;
  102. }
  103. if (!empty($status)) {
  104. $_map['status'] = ['in', $status];
  105. }
  106. $_order_ids = self::where($_map)->column('order_id');
  107. if (empty($_order_ids)) {
  108. return [];
  109. }
  110. return $_order_ids;
  111. }
  112. }