You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

177 lines
5.9 KiB
PHTML

5 years ago
<?php
namespace Admin\Controller;
use User\Api\UserApi as UserApi;
use Base\Service\PromoteService as PromoteService;
5 years ago
/**
* 后台首页控制器
* @author 麦当苗儿 <zuojiazi@vip.qq.com>
*/
class MendController extends ThinkController {
public function lists($p=1){
$this->m_title = '推广补链';
$this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Mend/lists','status'=>1])->find());
$this->mendList();
5 years ago
}
public function mendList(){
if(isset($_REQUEST['account'])){
if ($_REQUEST['account']=='全部') {
unset($_REQUEST['account']);
}
$map['account']=array('like','%'.$_REQUEST['account'].'%');
unset($_REQUEST['account']);
}
$map['puid']=0;
$map['length(account)'] = array('gt', 0);
$map['register_time'] = array('gt', 0);
$p = I('p');
$map['register_type'] = array('in','(0,1,2,3,4,5,6,7)');
parent::lists("user",$p,$map);
}
/**
* 补链记录
* @param integer $p 分页
5 years ago
* @param booble IS_POST post请求时为下一页ajax请求
* @return void
*/
5 years ago
public function recordList($p=1,$export=false)
5 years ago
{
$page = intval($p);
$page = $page ? $page : 1;
if (isset($_REQUEST['row'])) {
$row = $_REQUEST['row'];
} else {
$row = 10;
}
5 years ago
if(isset($_REQUEST['account'])){
if ($_REQUEST['account']=='全部') {
unset($_REQUEST['account']);
}
$map['user_account']=array('like','%'.$_REQUEST['account'].'%');
unset($_REQUEST['account']);
}
5 years ago
$data = M("Mend","tab_")
->field("user_account,promote_account,promote_account_to,order_time,create_time,op_account,remark")
->where($map)
5 years ago
->order("create_time desc");
if($export){
$data = $data->select();
}else{
$data = $data->page($page, $row)->select();
}
//格式化信息
foreach ($data as $key => $value) {
$data[$key]['create_time'] = date("Y-m-d H:i:s",$value['create_time']);
$data[$key]['order_time'] = date("Y-m-d",$value['order_time']);
}
5 years ago
if($export) db2csv($data,"推广员管理_推广补链_补链记录",["玩家账号","补链前渠道","补链后渠道","切分时间","补链时间","操作人员","备注"]);
if(IS_POST){
$page = set_pagination($_REQUEST['row_count'],$row);
$this->ajaxReturn(array(
"list_data"=>$data,
"page"=>$page
));
die();
}
$count = M("Mend","tab_")->where($map)->count();
$this->assign('row_count',$count);
$this->assign('list_data', $data);
$page = set_pagination($count,$row);
if($page) {$this->assign('_page', $page);}
$this->display();
// parent::lists("Mend",$p,$map);
5 years ago
}
5 years ago
5 years ago
public function edit($id = null)
{
5 years ago
if (IS_POST) {
$promoteService = new PromoteService();
5 years ago
if ($_POST['prmoote_id_to'] == -1){
$_POST['prmoote_id_to'] = 0;
}
if ($_POST['prmoote_id_to'] === ''){
$this->error('请选择需要变更的渠道');
}
if ($_POST['promote_id'] == $_POST['prmoote_id_to']) {
$this->error('没有变更数据');
}
if ($_POST['order_time'] == '') {
$this->error('没有订单日期');
}
5 years ago
$create = $_REQUEST;
$create['order_time'] = date($create['order_time']);
$params = array(
"from_promote_id"=>$create['promote_id'],
"to_promote_id"=>$create['prmoote_id_to'],
"order_time"=>$create['order_time'],
"type"=>2,
"shift_ids"=>[$create['user_id']],
"creator_type"=>0,
"creator_id"=>$_SESSION["onethink_admin"]["user_auth"]["uid"]
);
if(!empty($create['remark'])){
$params['remark'] = $create['remark'];
}
$res = $promoteService->addShiftTask($params);
if($res['status']){
$this->success('补链成功', U('lists'), 2);
5 years ago
}else{
$this->error($res['msg']);
5 years ago
}
} else {
$user = A('User', 'Event');
$user_data = $user->user_entity($id);
$user_data || $this->error("用户数据异常");
// var_dump($user_data);die;
$this->assign("data", $user_data);
$this->meta_title = '编辑推广补链';
$this->m_title = '推广补链';
$this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Mend/lists','status'=>1])->find());
$this->display();
}
}
//补链详情
public function shiftInfo()
{
$id = I('id');
$info = M("shift_task")->where("id = {$id} and status = 0")->find();
if(empty($info)){
$this->error("补链不存在或已处理");
}
5 years ago
$info['user_id'] = json_decode($info['shift_ids'])[0];
$info['order_time'] = date("Y-m-d",$info['order_time']);
$userid = $info['user_id'];
$info['account'] = M("User","tab_")->field("account")->where("id = '{$userid}'")->find()['account'];
$this->assign('data',$info);
$this->display();
}
//取消补链
public function cancelShift()
{
$id = I('id');
$status = M('ShiftTask')->where(['id' => $id,'status' => 0])->save(['status' => 2]);
if ($status) {
$this->ajaxReturn(array("status"=>1,"url"=> U('lists')));
} else {
$this->ajaxReturn(array("status"=>0,"url"=> U('lists')));
}
}
5 years ago
}