OrderService.php 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: hp
  5. * Date: 2017/11/21
  6. * Time: 10:42
  7. */
  8. namespace App\Modules\Trade\Services;
  9. use App\Modules\Trade\Models\Order;
  10. use Redis;
  11. class OrderService
  12. {
  13. /**
  14. * 查询订单
  15. * @param array $params [distribution_channel_id、begin_time、end_time、uid(用户ID)、send_order_id(派单ID)、trade_no(订单号)]
  16. * @param boolean $is_all [是否返回全部,默认否]
  17. * @return [type] [description]
  18. */
  19. static function search($params = [], $is_all = false)
  20. {
  21. return Order::search($params, $is_all);
  22. }
  23. /**
  24. * 查询订单
  25. * @param array $params [distribution_channel_id、begin_time、end_time、uid(用户ID)、send_order_id(派单ID)、trade_no(订单号)]
  26. */
  27. static function searchObj($params = [])
  28. {
  29. return Order::searchObj($params);
  30. }
  31. /**
  32. * 获取订单总额
  33. * @param array $params [distribution_channel_id、begin_time、end_time、uid、send_order_id]
  34. */
  35. static function getAmount($params = [])
  36. {
  37. return Order::getAmount($params);
  38. }
  39. /**
  40. * 获取付费用户数
  41. * @param array $params [send_order_id]
  42. */
  43. static function getPayUserNum($send_order_id)
  44. {
  45. return Order::getPayUserNum($send_order_id);
  46. }
  47. /**
  48. * 获取VIP付费用户数
  49. * @param array $params [send_order_id]
  50. */
  51. static function getVipPayUserNum($send_order_id)
  52. {
  53. return Order::getVipPayUserNum($send_order_id);
  54. }
  55. /**
  56. * 获取普通付费用户数
  57. * @param array $params [send_order_id]
  58. */
  59. static function getNormaPayUserNum($send_order_id)
  60. {
  61. return Order::getNormalPayUserNum($send_order_id);
  62. }
  63. /**
  64. *获取派单下的订单总数
  65. * @param array $params [send_order_id]
  66. */
  67. static function getOrderCount($send_order_id)
  68. {
  69. return Order::getOrderCount($send_order_id);
  70. }
  71. /**
  72. *获取活动下的订单数
  73. * @param array $params [$activity_id]
  74. */
  75. static function getActivityOrderNum($params = [])
  76. {
  77. return Order::getActivityOrderNum($params);
  78. }
  79. /**
  80. *获取派单下的普通用户的订单总数
  81. * @param array $params [send_order_id]
  82. */
  83. static function getNormalOrderCount($send_order_id)
  84. {
  85. return Order::getNormalOrderCount($send_order_id);
  86. }
  87. /**
  88. *获取派单下的VIP用户的订单总数
  89. * @param array $params [send_order_id]
  90. */
  91. static function getVipOrderCount($send_order_id)
  92. {
  93. return Order::getVipOrderCount($send_order_id);
  94. }
  95. /**
  96. * 获取渠道当日数据
  97. * @param $distribution_channel_id 分销渠道ID
  98. * @return [成功订单总额、成功订单数]
  99. */
  100. static function getChannelToday($distribution_channel_id)
  101. {
  102. $data = Order::getChannelToday($distribution_channel_id);
  103. $data['total_num'] = Redis::hget('order_stat:' . $distribution_channel_id, 'order_num_' . date('Y-m-d'));
  104. return $data;
  105. }
  106. /**
  107. * 获取渠道当日数据 new
  108. * @param $distribution_channel_id 分销渠道ID
  109. * @return [成功订单总额、成功订单数]
  110. */
  111. static function getChannelTodayData($distribution_channel_id)
  112. {
  113. $data = Order::getChannelTodayData($distribution_channel_id);
  114. return $data;
  115. }
  116. /**
  117. * 获取渠道当日数据
  118. * @param $distribution_channel_id 分销渠道ID
  119. * @return [成功订单总额、成功订单数、总订单数]
  120. */
  121. static function getChannelDateOrderInfo($distribution_channel_id, $date)
  122. {
  123. $data = Order::getChannelDateOrderInfo($distribution_channel_id, $date);
  124. $data['total_num'] = Redis::hget('order_stat:' . $distribution_channel_id, 'order_num_' . $date);
  125. return $data;
  126. }
  127. /**
  128. * 获取渠道对应支付通道总额
  129. * @param array $params [distribution_channel_id、begin_time、end_time]
  130. * @return array
  131. * [
  132. * 'ALIPAY'=>121,
  133. * 'OFFICIAL'=2323
  134. * ]
  135. */
  136. static function getPayMerchantSourceAmount($params = [])
  137. {
  138. return Order::getPayMerchantSourceAmount($params);
  139. }
  140. //获取渠道日付费用户数
  141. static function getDayPayUserNumByChannelId($distribution_channel_id, $date)
  142. {
  143. return Order::getDayPayUserNumByChannelId($distribution_channel_id, $date);
  144. }
  145. //获取渠道日包年vip付费用户数
  146. static function getDayVipPayUserNumByChannelId($distribution_channel_id, $date)
  147. {
  148. return Order::getDayVipPayUserNumByChannelId($distribution_channel_id, $date);
  149. }
  150. //获取渠道日普通充值付费用户数
  151. static function getDayRechargePayUserNumByChannelId($distribution_channel_id, $date)
  152. {
  153. return Order::getDayRechargePayUserNumByChannelId($distribution_channel_id, $date);
  154. }
  155. //获取指定日期普通充值未支付订单数、支付订单数、总额
  156. static function getChannelDayTicketRechargeData($distribution_channel_id, $date)
  157. {
  158. return Order::getChannelDayTicketRechargeData($distribution_channel_id, $date);
  159. }
  160. //获取指定日期包年充值未支付订单数、支付订单数、总额
  161. static function getChannelDayYearRechargeData($distribution_channel_id, $date)
  162. {
  163. return Order::getChannelDayYearRechargeData($distribution_channel_id, $date);
  164. }
  165. //获取渠道日首充数据
  166. static function getChannelDayFirstRechargeData($distribution_channel_id, $date)
  167. {
  168. return Order::getChannelDayFirstRechargeData($distribution_channel_id, $date);
  169. }
  170. //获取派单累计充值(追踪用户)
  171. static function getPromotionRegUserRechargeAmount($params)
  172. {
  173. return Order::getPromotionRegUserRechargeAmount($params);
  174. }
  175. /**
  176. * 获取服务号下面的充值金额
  177. * @param $start_time 开始时间
  178. * @param $end_time 结束时间
  179. */
  180. static function getRechargeAmountGroupByOfficial($date)
  181. {
  182. return Order::getRechargeAmountGroupByOfficialAccount($date);
  183. }
  184. public static function getOrdersByActivityId($channelId, $createdAt, $activityId)
  185. {
  186. return Order::getOrdersByActivityId($channelId, $createdAt, $activityId);
  187. }
  188. public static function getUserLastestOrder($uid)
  189. {
  190. return Order::getUserLastestOrder($uid);
  191. }
  192. }