123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- <?php
- /**
- * AgentCpaLogController.php UTF-8
- * 渠道CPA记录
- *
- * @date : 2020/3/7 18:22
- *
- * @license 这不是一个自由软件,未经授权不许任何使用和传播。
- * @author : wuyonghong <wyh@huosdk.com>
- * @version : HUOOA 1.0
- */
- namespace admin\admin\controller\financial;
- use cmf\controller\AdminBaseController;
- use cmf\view\Filter;
- use huo\logic\agent\AgentCpaLogLogic;
- use huolib\constant\AgentConst;
- use huolib\tool\Export;
- class AgentCpaLogController extends AdminBaseController {
- public function _initialize() {
- parent::_initialize();
- }
- /**
- * 列表
- */
- public function index() {
- if ('1' == $this->request->param('export/d', 0)) {
- return $this->export();
- }
- $_param = $this->getSearchParam();
- $_page = $this->request->param('page/d', 1);
- $_list_rows = $this->request->param('list_rows/d', 10);
- $_data = (new AgentCpaLogLogic())->getAdminList($_param, $_page.','.$_list_rows);
- $_page_data = \huolib\tool\Page::paginate($_data['count'], $_data['list'], $_page, $_list_rows);
- $this->assign('items', $_page_data);
- $this->assign('page', $_page_data->render());
- return $this->fetch('index');
- }
- /**
- * 导出数据
- *
- */
- public function export() {
- $_param = $this->getSearchParam();
- $_p = 1;
- $_offset = Export::MAX_ROWS;
- $_page = $_p.','.$_offset;
- $_data = (new AgentCpaLogLogic())->getAdminList($_param, $_page);
- $_total_cnt = $_data['count'];
- if ($_total_cnt <= 0) {
- $_total_cnt = 1;
- }
- $_for_cnt = ceil($_total_cnt / $_offset);
- $_file_name_arr = [];
- $_file_name = '渠道CPA明细';
- while ($_p <= $_for_cnt) {
- $_head = [
- '时间',
- '记录号',
- '玩家账号',
- '注册IP',
- '游戏',
- '二级渠道',
- '二级CPA',
- '一级渠道',
- '一级CPA'
- ];
- $_export_datas = [];
- foreach ($_data['list'] as $_key => $_val) {
- $_export_data['create_time'] = date('Y-m-d H:i:s', $_val['create_time']);
- $_export_data['order_id'] = $_val['order_id'];
- $_export_data['username'] = $_val['username'];
- $_export_data['ip'] = $_val['ip'];
- $_export_data['game_name'] = $_val['game_name'];
- $_export_data['agent_name'] = $_val['agent_name'];
- $_export_data['agent_cpa'] = $_val['agent_cpa'];
- $_export_data['parent_name'] = $_val['parent_name'];
- $_export_data['parent_cpa'] = $_val['parent_cpa'];
- $_export_datas[] = $_export_data;
- }
- if (1 == $_for_cnt) {
- Export::exportCsv($_head, $_export_datas, $path = $this->admin_id, $_file_name, '.csv', true);
- break;
- } else {
- $_file_name = $_file_name.$_p;
- Export::exportCsv($_head, $_export_datas, $path = $this->admin_id, $_file_name);
- $_file_name_arr[] = $_file_name.'.csv';
- $_p++;
- if ($_p > 1) {
- $_data = null;
- $_page = $_p.','.$_offset;
- $_data = (new AgentCpaLogLogic())->getAdminList($_param, $_page);
- }
- }
- }
- Export::exportZip($_file_name_arr, $path = $this->admin_id, $_file_name);
- }
- /**
- * 获取请求参数
- */
- public function getSearchParam() {
- $_param = [];
- $agent_id = 0;
- if ($this->isAgent()) {
- $agent_id = $this->admin_id;
- }
- $_param['agent_id'] = $this->request->param('agent_id/d', $agent_id);
- $this->_agents($_param['agent_id'], false, [AgentConst::ROLE_TYPE_AGENT], true);
- $_param['parent_id'] = $this->request->param('parent_id/d', 0);
- $this->_agents($_param['parent_id'], false, [AgentConst::ROLE_TYPE_GROUP], true);
- $_param['start_time'] = $this->request->param('start_time', date('Y-m-d', strtotime('-1 month')));
- $_param['end_time'] = $this->request->param('end_time', date('Y-m-d'));
- $this->_time($_param['start_time'], $_param['end_time']);
- $_param['order_id'] = $this->request->param('order_id/s', '');
- $_order_text = Filter::text('order_id', $_param['order_id'], '请输入订单号');
- $this->assign('order_text', $_order_text);
- $_param['username'] = $this->request->param('username/s', '');
- $_username_text = Filter::text('username', $_param['username'], '请输入玩家账号');
- $this->assign('username_text', $_username_text);
- return $_param;
- }
- }
|