123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- <?php
- /**
- * DayPayLogic.php UTF-8
- *
- *
- * @date : 2017/12/18 11:42
- *
- * @license 这不是一个自由软件,未经授权不许任何使用和传播。
- * @author : liguanglong <lgl@huosdk.com>
- * @version : HUOSDK 8.0
- */
- namespace huo\logic\data;
- use huo\model\common\CommonModel;
- use huo\model\data\PayExtModel;
- use huo\model\data\PayModel;
- use huo\model\game\GameModel;
- use huo\logic\user\UserLogic;
- class IapDataLogic extends CommonModel {
- protected $_id;
- protected $_agent_id;
- protected $_app_id;
- protected $_cp_id;
- public function __construct($data = []) {
- parent::__construct($data);
- List($this->_id, $this->_cp_id, $this->_agent_id, $this->_app_id)
- = (new UserLogic())->getRoleLevelID(session('ADMIN_ID'));
- }
- /**
- * iap计费统计
- * @param null $start_time
- * @param null $end_time
- * @param null $order_id
- * @param null $phone
- * @param null $imei
- * @param null $cp
- * @param null $app_id
- *
- * @return array
- */
- public function iapList($start_time = null, $end_time = null, $order_id = null, $phone = null, $imei = null, $cp = null, $app_id = null){
- $_pay_model = new PayModel();
- $_pay_ext_model = new PayExtModel();
- $_game_model = new GameModel();
- $_pay_model = $_pay_model->where('create_time', '>=', $start_time)
- ->where('create_time', '<=', $end_time);
- if($order_id){
- $_pay_model = $_pay_model->where('order_id', $order_id);
- }
- $_pay_model = $_pay_model->with('ext')
- ->with('game.cp')
- ->with(['member' => function($query){
- $query->with('country')->with('operator');
- }]);
- if($imei || $phone){
- if($imei){
- $_pay_ext_model = $_pay_ext_model->where('device_id', $imei);
- }
- if($phone){
- $_pay_ext_model = $_pay_ext_model->where('device_info', 'like', "%{$phone}%");
- }
- $_pay_model = $_pay_model->whereIn('id', $_pay_ext_model->column('pay_id'));
- }
- if($app_id){
- $_pay_model = $_pay_model->where('app_id', $app_id);
- }
- if($cp){
- $_pay_model = $_pay_model->whereIn('app_id', $_game_model->where('cp_id', $cp)->column('id'));
- }
- $_pay_model = $_pay_model->whereIn('app_id', $this->_app_id)
- ->whereIn('agent_id', $this->_agent_id)
- ->paginate(10);
- $_page = $_pay_model->render();
- $_data = $_pay_model->toArray()['data'];
- $this->handleData($_data);
- return [$_data, $_page];
- }
- /**
- * 封装
- * @param $data
- */
- private function handleData(&$data){
- if(!empty($data)){
- foreach ($data as &$val){
- $val['phone'] = null;
- $val['imei'] = null;
- $val['game_name'] = null;
- $val['product_name'] = null;
- $val['is_vip'] = null; //todo
- $val['protect_date'] = 'xx';
- $val['cp'] = null;
- $val['country'] = null;
- $val['operator'] = null;
- if(!empty($val['ext'])){
- $_to_ext = $val['ext'];
- $val['imei'] = $_to_ext['device_id'];
- $val['product_name'] = $_to_ext['product_name'];
- $val['is_vip'] = $_to_ext['role_vip'] == 0 ? '否' : '是';
- $_device_info = explode('||', $_to_ext['device_info']);
- if(count($_device_info)){
- $val['phone'] = $_device_info[0];
- }
- }
- if(!empty($val['game'])){
- $_to_game = $val['game'];
- if(!empty($_to_game['cp'])){
- $val['cp'] = $_to_game['cp']['company_name'];
- }
- $val['game_name'] = $val['game']['name'];
- }
- if(!empty($val['member'])){
- $_to_member = $val['member'];
- if(!empty($_to_member['country'])){
- $val['country'] = $_to_member['country']['en_name_abbr'];
- }
- if(!empty($_to_member['operator'])){
- $val['operator'] = $_to_member['operator']['name'];
- }
- }
- }
- }
- }
- }
|