123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- <?php
- /**
- * OrderLogic.php UTF-8
- * 订单逻辑
- *
- * @date : 2018/1/19 22:43
- *
- * @license 这不是一个自由软件,未经授权不许任何使用和传播。
- * @author : wuyonghong <wyh@huosdk.com>
- * @version : HUOSDK 8.0
- */
- namespace huo\logic\order;
- use huo\model\common\CommonModel;
- use huo\model\game\GameModel;
- use huo\model\member\MemberModel;
- use huo\model\member\MemGameModel;
- use huo\model\order\PayAppleModel;
- use huolib\constant\CommonConst;
- class AppleOrderLogic extends CommonModel {
- /**
- * @param array $param
- *
- * @return array
- */
- public function getListWhere($param) {
- $_map = [];
- if (!empty($param['start_time']) && !empty($param['start_time'])) {
- $_map['create_time'] = ['between',
- [strtotime($param['start_time']),
- CommonConst::CONST_DAY_SECONDS + strtotime($param['end_time'])]];
- } else if (!empty($param['start_time'])) {
- $_map['create_time'] = ['gt', strtotime($param['start_time'])];
- } else if (!empty($param['end_time'])) {
- $_map['create_time'] = ['lt',
- CommonConst::CONST_DAY_SECONDS + strtotime($param['end_time'])];
- }
- if (!empty($param['trans_id'])) {
- $_map['trans_id'] = $param['trans_id'];
- }
- if (!empty($param['username'])) {
- $_id = (new MemberModel())->getIdByUsername($param['username']);
- $_map['mem_id'] = $_id;
- }
- if (!empty($param['mem_id'])) {
- $_map['mem_id'] = $param['mem_id'];
- }
- if (!empty($param['order_id'])) {
- $_map['order_id'] = $param['order_id'];
- }
- if (!empty($param['app_id'])) {
- $_apple_id = (new GameModel())->getAppleIdById($param['app_id']);
- $_map['apple_id'] = $_apple_id;
- }
- if (!empty($param['status'])) {
- $_map['status'] = $param['status'];
- }
- /*小号昵称搜索*/
- if (!empty($param['nickname'])) {
- $_mg_mem_ids = (new MemGameModel())->getIdsByNickname($param['nickname']);
- $_map['mg_mem_id'] = ['in', $_mg_mem_ids];
- }
- return $_map;
- }
- /**
- * @param $param
- * @param string $page
- * @param string $order
- *
- * @return array
- */
- public function getOrderList($param, $page = '1,10', $order = '-create_time') {
- $_map = $this->getListWhere($param);
- $_field = [
- 'id' => 'id',
- 'order_id' => 'order_id',
- 'mem_id' => 'mem_id',
- 'trans_id' => 'trans_id',
- 'currency' => 'currency',
- 'status' => 'status',
- 'pay_time' => 'pay_time',
- 'create_time' => 'create_time',
- 'check_cnt' => 'check_cnt',
- 'last_check_time' => 'last_check_time',
- ];
- return $this->getList($_field, $_map, $page, $order);
- }
- /**
- * 获取订单列表
- *
- * @param array $field
- * @param $where
- * @param string $page
- * @param string $order
- *
- * @return array
- */
- public function getList($field = [], $where, $page = '1,10', $order = '-create_time') {
- $_map = $where;
- $_model = new PayAppleModel();
- $_count = $_model->where($_map)->count();
- if (empty($_count)) {
- return [
- 'count' => 0,
- 'list' => []
- ];
- }
- $_field = $field;
- if (empty($field)) {
- $_field = [];
- }
- $_order = $_model->orderFilter($order);
- $_datas = $_model
- ->with('mem,pay')
- ->where($_map)
- ->field($_field)
- ->order($_order)
- ->page($page)
- ->select();
- if (is_object($_datas)) {
- $_datas = $_datas->toArray();
- }
- if (empty($_datas)) {
- return [
- 'count' => $_count,
- 'list' => []
- ];
- }
- $_list = $_datas;
- $_mem_game_model = new MemGameModel();
- $_game_model = new GameModel();
- foreach ($_datas as $_k => $_v) {
- $_list[$_k]['app_id'] = !empty($_v['pay']) ? $_v['pay']['app_id'] : 0;
- $_list[$_k]['mg_mem_id'] = !empty($_v['pay']) ? $_v['pay']['mg_mem_id'] : 0;
- $_list[$_k]['username'] = !empty($_v['mem']) ? $_v['mem']['username'] : '';
- $_list[$_k]['nickname'] = $_mem_game_model->getNicknameById($_list[$_k]['mg_mem_id']);
- $_list[$_k]['game_name'] = $_game_model->getNameById($_list[$_k]['app_id']);
- unset($_v['mem']);
- unset($_v['pay']);
- }
- return [
- 'count' => $_count,
- 'list' => $_list
- ];
- }
- }
|