ItgOrderLogic.php 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. <?php
  2. /**
  3. * ItgOrderLogic.php UTF-8
  4. * WWW
  5. *
  6. * @date : 2018/5/15 14:04
  7. *
  8. * @license 这不是一个自由软件,未经授权不许任何使用和传播。
  9. * @author : chenbingling <cbl@huosdk.com>
  10. * @version : HUOSDK 8.0
  11. */
  12. namespace huo\logic\shop;
  13. use huo\model\common\CommonModel;
  14. use huo\model\shop\GoodsModel;
  15. use huo\model\shop\ItgOrderModel;
  16. use huolib\constant\MemItgConst;
  17. class ItgOrderLogic extends CommonModel {
  18. protected $base_field
  19. = [
  20. 'id' => 'id',
  21. 'order_id' => 'order_id',
  22. 'mem_id' => 'mem_id',
  23. 'flag' => 'flag',
  24. 'goods_id' => 'goods_id',
  25. 'integral' => 'integral',
  26. 'status' => 'status',
  27. 'shipping_status' => 'shipping_status',
  28. ];
  29. /**
  30. * 获取兑换订单列表
  31. *
  32. * @throws \think\exception\DbException
  33. */
  34. public function getList($_param = []) {
  35. $_map = array();
  36. $_offset = isset($_param['list_rows']) ? $_param['list_rows'] : 50;
  37. if (isset($_param['goods_name']) && !empty($_param['goods_name'])) {
  38. $_ids = (new GoodsModel())->where(['goods_name' => ['like', '%'.$_param['goods_name'].'%']])->column('id');
  39. $_map['goods_id'] = array('in', $_ids);
  40. }
  41. if (isset($_param['order_id'])) {
  42. $_map['order_id'] = ['like', '%'.$_param['order_id'].'%'];
  43. }
  44. if (isset($_param['flag']) && !empty($_param['flag'])) {
  45. $_map['flag'] = $_param['flag'];
  46. }
  47. if (isset($_param['pay_status']) && !empty($_param['pay_status'])) {
  48. $_map['status'] = $_param['pay_status'];
  49. }
  50. if (isset($_param['shipping_status']) && !empty($_param['shipping_status'])) {
  51. $_map['shipping_status'] = $_param['shipping_status'];
  52. }
  53. $_item = (new ItgOrderModel())->getList($_map, 'shipping_status asc,id desc', $_offset);
  54. return $_item;
  55. }
  56. public function getDetail($_where) {
  57. $_itg_order_model = new ItgOrderModel();
  58. $_data = $_itg_order_model->where($_where)->limit(1)->find();
  59. if (is_object($_data)) {
  60. return $_data->toArray();
  61. } else {
  62. return null;
  63. }
  64. }
  65. /**
  66. * 获取奖品订单表
  67. *
  68. * @param array $_where
  69. * @param $_page
  70. *
  71. * @return array
  72. */
  73. public function getAwardOrderList($_where = [], $_page) {
  74. $_where['flag'] = MemItgConst::SHOP_FLAG_LOTTERY;
  75. $_where['goods_id'] = array('gt', MemItgConst::AWARD_LOSE_GOODS_ID);
  76. $_order = '-id';
  77. $_itg_order_model = new ItgOrderModel();
  78. $_cnt = $_itg_order_model->where($_where)->count();
  79. if (empty($_cnt)) {
  80. return [
  81. 'count' => 0,
  82. 'list' => []
  83. ];
  84. }
  85. $_field = $this->base_field;
  86. $_order = $this->orderFilter($_order);
  87. $_list = $_itg_order_model
  88. ->with('goods')
  89. ->with('mem')
  90. ->field($_field)
  91. ->where($_where)
  92. ->order($_order)
  93. ->page($_page)
  94. ->select();
  95. if (is_object($_list)) {
  96. $_list = $_list->toArray();
  97. }
  98. if (empty($_list)) {
  99. $_list = null;
  100. }
  101. $_data_list = [];
  102. foreach ($_list as $_k => $_v) {
  103. $_data['id'] = $_v['id'];
  104. $_data['order_id'] = $_v['order_id'];
  105. $_data['mem_id'] = $_v['mem_id'];
  106. $_data['flag'] = $_v['flag'];
  107. $_data['goods_id'] = $_v['goods_id'];
  108. $_data['integral'] = $_v['integral'];
  109. $_data['status'] = $_v['status'];
  110. $_data['shipping_status'] = $_v['shipping_status'];
  111. $_data['award_name'] = get_val($_v['goods'], 'goods_name', '');
  112. $_data['username'] = isset($_v['mem']) ? get_val($_v['mem'], 'nickname', '') : '';
  113. $_data['avatar'] = isset($_v['mem']['avatar']) ? cmf_get_image_url($_v['mem']['avatar']) : '';
  114. $_data['original_img'] = get_val($_v['goods'], 'original_img', '');
  115. $_data['object_type'] = get_val($_v['goods'], 'object_type', '');
  116. $_data['is_real'] = get_val($_v['goods'], 'is_real', '');
  117. $_data['object_type'] = get_val($_v['goods'], 'object_type', '');
  118. $_data_list[] = $_data;
  119. }
  120. $_rdata['count'] = $_cnt;
  121. $_rdata['list'] = $_data_list;
  122. return $_rdata;
  123. }
  124. }