Merge branch 'master' of 8.136.139.249:wmtx/platform into feature/shift_player_update

master
ELF
commit 60799d7ef5

@ -1704,6 +1704,7 @@ function resetUserAuth()
session('user_auth', $userAuth);
session('user_auth_sign', data_auth_sign($userAuth));
session('user_auth_promote_ids', null);
session('user_auth_company_ids', null);
}
/**
@ -2819,7 +2820,8 @@ function getAvailableBalance($promote_id=0,$game_id=0,$server_id='') {
function getMarketGroupIds()
{
return M('auth_group', 'sys_')->where(['title' => ['like', '%市场专员%']])->getField('id', true);
$map['id'] = ['in',A('Market','Event')->getNoLeaderMarketGroupId()];
return M('auth_group', 'sys_')->where($map)->getField('id', true);
}
function getAdmins()
@ -2829,7 +2831,7 @@ function getAdmins()
function getMarketAdmins()
{
$ids = getMarketGroupIds();
$ids = A('Market','Event')->getMarketGroupId();
if (count($ids) == 0) {
return [];
}
@ -2883,18 +2885,66 @@ function getAdminUsernameList(array $ids)
return $items;
}
function getAdminDepartmentList(array $ids)
{
if (count($ids) == 0) {
return [];
}
$rows = M('auth_group_access', 'sys_')->field(['uid', 'group_id'])->where(['uid' => ['in', $ids]])->select();
$groups = M('auth_group', 'sys_')->field(['id', 'department_id', 'department_name'])->where(['uid' => ['in', array_column($rows, 'group_id')]])->select();
$groups = index_by_column('id', $groups);
$items = [];
foreach ($rows as $row) {
$group = $groups[$row['group_id']] ?? null;
$items[$row['uid']] = $group ? $group['department_name'] : '--';
}
return $items;
}
function isMarketLeader()
{
if(IS_SUBSITE){
return false;
}
$authGroup = M('auth_group','sys_')->where(['title'=>'市场总监'])->find();
if (!$authGroup) {
return false;
$gid = session('user_group_id');
$markerGroup = A("Market","Event")->isMarketAdminGroup($gid);
if($markerGroup){
if($markerGroup['department_level'] == A("Market","Event")->getConfig("DirectorLevel")){
//总监
return true;
}
}
$userAuth = session('user_auth');
$adminIds = M('auth_group_access', 'sys_')->where(['group_id' => $authGroup['id']])->getField('uid', true);
return in_array($userAuth['uid'], $adminIds);
return false;
}
function getSearchAdminIds($searchAdminParam = 'admin_id', $searchDepartmentParam = 'department_id')
{
$adminIds = null;
$isMarketAdmin = isMarketAdmin();
if ($isMarketAdmin) {
$userAuth = session('user_auth');
$adminIds = [$userAuth['uid']];
} else {
if (!empty(I($searchAdminParam))) {
$adminIds = [I($searchAdminParam)];
}
}
if (is_null($adminIds) && isset($_REQUEST[$searchDepartmentParam])) {
$groupIds = explode(',', A("Market","Event")->getMarketGroupId($_REQUEST[$searchDepartmentParam]));
$adminIds = M("auth_group_access")->where(['group_id' => ['in', $groupIds]])->getField('uid', true);
$adminIds = count($adminIds) ? $adminIds : [-1];
}
return $adminIds;
}
function isUnMarketAdmin()
{
$isMarketAdmin = isMarketAdmin();
$isMarketLeader = isMarketLeader();
return !$isMarketLeader && !$isMarketAdmin;
}
function isMarketAdmin()
@ -2915,15 +2965,9 @@ function isMarketAdmin()
* 获取市场专员
*
*/
function getMarketAdmin() {
$map['group_id'] = ['in','11,12,21,25'];
$admin_id = $_SESSION['onethink_admin']['user_auth']['uid'];
$map['menber.uid'] = $admin_id;
if(is_administrator()||session('user_group_id') == 15||session('user_group_id') == 14||session('user_group_id') == 19||session('user_group_id') == 23||session('user_group_id') == 25) {
unset($map['menber.uid']);
}
function getMarketAdmin($departmentId = null) {
$map = [];
$map['group_id'] = ['in',A("Market","Event")->getNoLeaderMarketGroupId($departmentId)];
$data = M("auth_group_access")
->field("real_name,menber.uid,nickname")
->join("left join sys_member menber on sys_auth_group_access.uid = menber.uid")
@ -3116,11 +3160,11 @@ function promote_listsMarket($type){
setPowerPromoteIds($map,'id');
$admin_id = $_SESSION['onethink_admin']['user_auth']['uid'];
$map['admin_id'] = $admin_id;
if(is_administrator()||session('user_group_id') == 15||session('user_group_id') == 14||session('user_group_id') == 19||session('user_group_id') == 23) {
unset($map['admin_id']);
}
// $admin_id = $_SESSION['onethink_admin']['user_auth']['uid'];
// $map['admin_id'] = $admin_id;
// if(is_administrator()||session('user_group_id') == 15||session('user_group_id') == 14||session('user_group_id') == 19||session('user_group_id') == 23) {
// unset($map['admin_id']);
// }
$data = M('promote','tab_')->where($map)->select();
@ -3136,46 +3180,6 @@ function promote_listsMarket($type){
return $data;
}
//市场部获取公司或推广员id
function getMarketAuthPromoteId()
{
$map['level'] = 1;
if (isMarketLeader()) {
//搜索所有市场部管理员id
$mid = M("AuthGroup")->where("title like '%市场%'")->getField("id",true);
$mid = implode(",",$mid);
$admin_id = M("AuthGroupAccess")->where("group_id in ({$mid})")->getField("uid",true);
$admin_id = implode(",",$admin_id);
$map['admin_id'] = ['in', $admin_id];
}elseif(isMarketAdmin()){
$userAuth = session('user_auth');
$adminId = $userAuth['uid'];
$map['admin_id'] = $adminId;
}else{
return false;
}
$dbres = M("Promote","tab_")->where($map)->getField("id",true);
if(empty($dbres)){
return -1;
}else{
return implode(",",$dbres);
}
}
function throwPromoteIdToCompanyId($p_ids)
{
$dbres = M("Promote","tab_")->where("id in ({$p_ids})")->field("count(*) count,company_id")->group("company_id")->select();
if(empty($dbres)){
return -1;
}else{
return implode(",",array_column($dbres,"company_id"));
}
}
/**
* 选择收款商户

@ -617,9 +617,16 @@ function getAllGame()
*/
function getPromoteCompany()
{
// $companyId = A("Market","Event")->getAdminCompanyId();
$where = [
"status"=>1
];
// if($companyId != 'all'){
// $where['id'] = ["in",$companyId];
// }
$list = M("PromoteCompany", 'tab_')
->field('id,company_name')
->where("status = 1")
->where($where)
->select();
array_unshift($list,array("id"=>0,"company_name"=>C(DEFAULT_COMPANY)));//默认0
return $list;
@ -1093,3 +1100,8 @@ function getAffairMember() {
}
function getMarketLevel()
{
return A("Market","Event")->getConfig('LevelConfig');
}

@ -664,4 +664,14 @@ class AjaxController extends ThinkController{
$promotes = M('promote', 'tab_')->where($companyMap)->field(['id', 'account'])->select();
return $this->ajaxReturn(['status' => 1, 'message' => '获取成功', 'data' => ['promotes' => $promotes]]);
}
public function getAdminsByDepartment()
{
$departmentId = I('department_id', 0);
if ($departmentId <= 0) {
$departmentId = null;
}
$admins = getMarketAdmin($departmentId);
return $this->ajaxReturn(['status' => 1, 'message' => '获取成功', 'data' => ['admins' => $admins]]);
}
}

@ -92,8 +92,15 @@ class AuthManagerController extends AdminController{
public function index(){
$list = $this->lists('AuthGroup',array('module'=>'admin'),'id asc',true,true);
$list = int_to_string($list);
foreach ($list as &$v) {
if(empty($v['department_name'])) $v['department_name'] = "--";
}
$this->assign( '_list', $list );
$this->assign( '_use_tip', true );
$marketGroup = A("Market","Event")->getMarketGroupId();
$this->assign( 'market_group', explode(",",$marketGroup));
$this->meta_title = '权限管理';
$this->checkListOrCountAuthRestMap($map,[]);

@ -6,6 +6,7 @@ class CompanyGameRatioController extends AdminController
{
public $admininfo;
public $DBModel;
public $MarketEvent;
public $OpAuthList=[];
public $Status = [
"-2"=>"管理员拒绝",
@ -24,6 +25,7 @@ class CompanyGameRatioController extends AdminController
{
$this->admininfo = $_SESSION['onethink_admin']['user_auth'];
$this->DBModel = M("company_game_ratio","tab_");
$this->MarketEvent = A("Market","Event");
parent::_initialize();
}
@ -78,18 +80,16 @@ class CompanyGameRatioController extends AdminController
}
}
}
$isMarketAdmin = isMarketAdmin();
if($isMarketAdmin) {
$userAuth = session('user_auth');
$adminId = $userAuth['uid'];
$companyIds = M('promote', 'tab_')->where(['admin_id' => $adminId, 'level' => 1])->getField('company_id', true);
$companyIds = array_unique($companyIds);
$marketCondition = '';
if (count($companyIds) > 0) {
$marketCondition = 'm.company_id in(' . implode(',', $companyIds) . ')';
} else {
$marketCondition = '1<>1';
$gid = session('user_group_id');
$markerGroup = $this->MarketEvent->isMarketAdminGroup($gid);
if($markerGroup){
$companyIds = $this->MarketEvent->getAdminCompanyId();
//取消0
$companyIds = implode(",",array_diff(explode(",",$companyIds),[0]));
$marketCondition = 'm.company_id in(' . $companyIds . ')';
if($markerGroup['department_level'] == $this->MarketEvent->getConfig("DirectorLevel")){
//总监
$marketCondition .= " OR (m.company_id = 0 AND m.company_belong != 0 )";
}
$where['_string'] = isset($where['_string']) ? $where['_string'] . ' and ' . $marketCondition : $marketCondition;
}
@ -265,6 +265,22 @@ class CompanyGameRatioController extends AdminController
}
}
$gid = session('user_group_id');
$markerGroup = $this->MarketEvent->isMarketAdminGroup($gid);
if($markerGroup){
$companyIds = $this->MarketEvent->getAdminCompanyId();
//取消0
$companyIds = implode(",",array_diff(explode(",",$companyIds),[0]));
$marketCondition = 'm.company_id in(' . $companyIds . ')';
if($markerGroup['department_level'] == $this->MarketEvent->getConfig("DirectorLevel")){
//总监
$marketCondition .= " OR (m.company_id = 0 AND m.company_belong != 0 )";
}
$where['_string'] = isset($where['_string']) ? $where['_string'] . ' and ' . $marketCondition : $marketCondition;
}
if (isset($_REQUEST['time_start']) && isset($_REQUEST['time_end'])) {
$time_start = strtotime($_REQUEST['time_start']);
$time_end = strtotime($_REQUEST['time_end'])+ 86399;

@ -34,6 +34,7 @@ class CompanyStatementController extends ThinkController
];
public $admininfo;
public $DBModel;
private $MarketEvent;
static $specialCompoent;
@ -42,6 +43,7 @@ class CompanyStatementController extends ThinkController
{
$this->admininfo = $_SESSION['onethink_admin']['user_auth'];
$this->DBModel = SM("CompanyStatement","tab_");
$this->MarketEvent = A("Market","Event");
$Factory = BaseFactory::getInstance();
self::$specialCompoent = $Factory->factoryClass("SpecialCompoent");
@ -60,16 +62,26 @@ class CompanyStatementController extends ThinkController
$map = [
"_string"=>"1=1"
];
$gid = session('user_group_id');
$markerGroup = $this->MarketEvent->isMarketAdminGroup($gid);
if($markerGroup){
$companyIds = $this->MarketEvent->getAdminCompanyId();
$map['_string'] .= ' AND company_id in(' . $companyIds . ') and company_belong not in (0,9)';
}
if (isset($_REQUEST['time_start']) && isset($_REQUEST['time_end'])) {
$time_start = strtotime($_REQUEST['time_start']);
$time_end = strtotime($_REQUEST['time_end'])+ 86399;
$map["_string"] = "( (statement_begin_time BETWEEN {$time_start} AND {$time_end}) OR (statement_end_time BETWEEN {$time_start} AND {$time_end}) )";
$map["_string"] .= " AND ( (statement_begin_time BETWEEN {$time_start} AND {$time_end}) OR (statement_end_time BETWEEN {$time_start} AND {$time_end}) )";
} elseif (isset($_REQUEST['time_start'])) {
$time_start = strtotime($_REQUEST['time_start']);
$map["_string"] = "( (statement_begin_time >= {$time_start} ) OR (statement_end_time >= {$time_start}) )";
$map["_string"] .= " AND ( (statement_begin_time >= {$time_start} ) OR (statement_end_time >= {$time_start}) )";
} elseif (isset($_REQUEST['time_end'])) {
$time_end = strtotime($_REQUEST['time_end'])+ 86399;
$map["_string"] = "( (statement_begin_time <= {$time_end} ) OR (statement_end_time <= {$time_end}) )";
$map["_string"] .= " AND ( (statement_begin_time <= {$time_end} ) OR (statement_end_time <= {$time_end}) )";
}
if (isset($_REQUEST['time_start2']) && isset($_REQUEST['time_end2'])) {
@ -297,7 +309,6 @@ class CompanyStatementController extends ThinkController
);
$this->assign("data",$senddata);
// dd($senddata);
if($dbres["company_belong"] == 9){
//上游

@ -766,6 +766,9 @@ class CompanyStatementPoolController extends ThinkController
foreach($infolist as $k=>&$v){
$v['statement_info'] = json_decode($v['statement_info'],true);
$v['company_info'] = json_decode($v['company_info'],true);
if($v['withdraw_type'] == 3){
$v['company_info']['nickname'] = $v['statement_info'][0]['real_name'];
}
$v['statement_begin_time'] = date('Y.m.d',$v['statement_begin_time']);
$v['statement_end_time'] = date('Y.m.d',$v['statement_end_time']);
if( isset($v['verify_status'])){

@ -756,22 +756,35 @@ class ConsoleController extends Think {
} while($hasNext);
}
/* public function shiftPromote()
public function shiftPromote()
{
$fromAccount = 'longyan';
$toAccount = 'nola2021';
$formPromote = M('promote', 'tab_')->where(['account' => $fromAccount])->find();
$toPromote = M('promote', 'tab_')->where(['account' => $toAccount])->find();
$ids = M('promote', 'tab_')->where(['level1_id' => $formPromote['id'], 'company_id' => $formPromote['company_id']])->getField('id', true);
var_dump([
'from_promote_id' => $formPromote['id'],
'to_promote_id' => $toPromote['id'],
'shift_ids' => '',
]);
$service = new PromoteService();
$fromPromoteId = 0;
$fromCompanyId = 0;
$toPromoteId = 0;
$toCompanyId = 0;
$adminId = 0;
$service->shiftPromote([
'from_promote_id' => $fromPromoteId,
'to_promote_id' => $toPromoteId,
'from_promote_id' => $formPromote['id'],
'to_promote_id' => $toPromote['id'],
'shift_ids' => '',
]);
M('promote', 'tab_')->where(['level1_id' => $fromPromoteId, 'company_id' => $fromCompanyId])->save([
'company_id' => $toCompanyId,
'admin_id' => $adminId
M('promote', 'tab_')->where(['level1_id' => $formPromote['id'], 'company_id' => $formPromote['company_id']])->save([
'company_id' => $toPromote['company_id'],
'admin_id' => $toPromote['admin_id'],
]);
} */
if (count($ids)) {
$orderTime = strtotime('2021-08-01 00:00:00');
M('deposit', 'tab_')->where(['promote_id' => ['in', $ids], 'create_time' => ['egt', $orderTime]])->save(['market_admin_id' => $toPromote['admin_id']]);
M('spend', 'tab_')->where(['promote_id' => ['in', $ids], 'spend_time' => ['egt', $orderTime]])->save(['market_admin_id' => $toPromote['admin_id']]);
}
}
}

@ -1162,16 +1162,10 @@ class ExportController extends Controller
unset($_REQUEST['pay_game_status']);
}
$marketAdminId = I('market_admin_id', 0);
if ($marketAdminId) {
$map['market_admin_id'] = $marketAdminId;
}
$isMarketAdmin = isMarketAdmin();
if ($isMarketAdmin) {
$userAuth = session('user_auth');
$map['market_admin_id'] = $userAuth['uid'];
}
$marketAdminIds = getSearchAdminIds('market_admin_id');
if (is_array($marketAdminIds)) {
$map['market_admin_id'] = ['in', $marketAdminIds];
}
setPowerPromoteIds($map,'promote_id');
@ -1231,6 +1225,7 @@ class ExportController extends Controller
'game_id' => '所属CP',
'promote_account' => L('Subordinate_channel'),
'0 as company_name' => '所属推广公司',
'1 as admin_department' => '所属市场部',
'market_admin_id' => '所属市场专员',
'merchant_id' => '所属商户',
'spend_ip' => '充值ip',
@ -1305,8 +1300,10 @@ class ExportController extends Controller
->limit(($i-1)*$perSize ,$perSize)
->order($order ? $order : 'pay_time desc')
->select();
$adminIds = array_column($xlsData, 'market_admin_id');
$adminDepartments = getAdminDepartmentList($adminIds);
if ($showMarketAdmin == 1) {
$adminUsernameList = getAdminUsernameList(array_column($xlsData, 'market_admin_id'));
$adminUsernameList = getAdminUsernameList($adminIds);
}
$promoters = D('Promote')->where(['id'=>['in', array_unique(array_column($xlsData, 'promote_id'))]])->field('id, company_id')->select();
$promoters = $promoters ? array_column($promoters, 'company_id', 'id') : [];
@ -1341,6 +1338,7 @@ class ExportController extends Controller
$value['pay_way'] = get_pay_way($value['pay_way']);
$value['pay_status'] = get_info_status($value['pay_status'],9);
$value['pay_game_status'] = get_info_status($value['pay_game_status'],14);
$value['admin_department'] = $adminDepartments[$value['market_admin_id']] ?? '无';
if ($showMarketAdmin == 1) {
$value['market_admin_id'] = $adminUsernameList[$value['market_admin_id']] ?? '无';
}

@ -42,20 +42,20 @@ class FinancePromoteController extends AdminController
$senddata = [];
//获取各会长的充值方式
$cash = self::getJoinPromoteData([],$istimeselect);
$cash = $this->getJoinPromoteData([],$istimeselect);
foreach($cash as $k=>$v){
$senddata[$v['p_id']] = $v;
}
$unsenddata = [];
$uncash = self::getJoinUnPayPromoteData([],$istimeselect);
$uncash = $this->getJoinUnPayPromoteData([],$istimeselect);
foreach($uncash as $k=>$v){
$unsenddata[$v['p_id']] = $v;
}
//内冲
$inside = self::getJoinPromoteData([],$istimeselect,"promote_coin");
$inside = $this->getJoinPromoteData([],$istimeselect,"promote_coin");
foreach($inside as $k=>$v){
if(array_key_exists($v['p_id'],$senddata)){
$senddata[$v['p_id']]['inside_cash_count']= $v['pay_amount']-$v['back_amount'];
@ -93,7 +93,7 @@ class FinancePromoteController extends AdminController
}
}
$isMarketAdmin = isMarketAdmin();
if(I('admin_id', 0) != 0 || $isMarketAdmin){
if(I('admin_id', 0) != 0 || I('department_id', 0) != 0 || $isMarketAdmin){
$nwtflag = false;
}
if (isset($_REQUEST['promote_id'])) {
@ -113,7 +113,7 @@ class FinancePromoteController extends AdminController
unset($_REQUEST['company_id']);
unset($_REQUEST['company_belong']);
$_REQUEST['promote_id'] = 0;
$gfcash = self::getJoinPromoteData([],$istimeselect);
$gfcash = $this->getJoinPromoteData([],$istimeselect);
$senddata[0] = $gfcash[0];
$pmap['status']=1;
@ -142,7 +142,9 @@ class FinancePromoteController extends AdminController
}
}
$promotes = index_by_column('id', $promotes);
$adminUsernames = getAdminUsernameList(array_column($promotes, 'admin_id'));
$adminIds = array_column($promotes, 'admin_id');
$adminUsernames = getAdminUsernameList($adminIds);
$adminDepartments = getAdminDepartmentList($adminIds);
foreach($senddata as $k=>$v){
$promote = $promotes[$v['p_id']] ?? null;
$v['company_belong'] = $v['company_belong'] ?:0;
@ -156,6 +158,7 @@ class FinancePromoteController extends AdminController
$v['promote_account'] = get_promote_name($v['p_id']);
($v['promote_account']=='官方渠道')?($v['promote_account']=C('OFFICIEL_CHANNEL')):'';
$v['admin_username'] = $adminUsernames[$promote['admin_id']] ?? '无';
$v['admin_department'] = $adminDepartments[$promote['admin_id']] ?? '无';
$v['develop_type_text'] = getCompanyDevelopTypeText($v['develop_type']);
$v['inside_cash_count'] = number_format($v['inside_cash_count'],2,'.','');
$v['allcount'] = number_format($v['cash_count']-0+$v['balance_coin_count']+$v['bind_coin_count'],2,'.','');
@ -179,6 +182,7 @@ class FinancePromoteController extends AdminController
"company_name"=>"推广公司",
"promote_account"=>"会长渠道",
"admin_username"=>"所属市场专员",
"admin_department"=>"所属市场部",
"company_belong"=>"团体类型",
"develop_type_text"=>"开发类型",
"cash_count"=>"游戏现金金额",
@ -219,6 +223,9 @@ class FinancePromoteController extends AdminController
$this->checkListOrCountAuthRestMap($map,[]);
$departments = M('department', 'sys_')->select();
$this->assign('departments', $departments);
//外团占比
$this->assign('outBelong',number_format($outBelong/$count['all_count']*100,2,'.',''));
//内团占比
@ -256,29 +263,16 @@ class FinancePromoteController extends AdminController
}
$isMarketLeader = isMarketLeader();
if ($isMarketLeader) {
$map['promote.admin_id'] = ['gt', 0];
$marketPromoteIds = getPowerPromoteIds();
$map['_string'] = "s.promote_id in ($marketPromoteIds)";
}
if (!empty(I('develop_type'))) {
$map['company.develop_type'] = ['in',I('develop_type')];
}
$adminId = 0;
// $havingPids = [];
$isMarketAdmin = isMarketAdmin();
if ($isMarketAdmin) {
$userAuth = session('user_auth');
$adminId = $userAuth['uid'];
} else {
if (!empty(I('admin_id'))) {
$adminId = I('admin_id');
}
}
/* if ($adminId > 0) {
$havingPids = M('promote', 'tab_')->where(['admin_id' => $adminId])->getField('id', true);
$havingPids = count($havingPids) > 0 ? $havingPids : [0];
} */
$adminIds = getSearchAdminIds();
$isUnMarketAdmin = isUnMarketAdmin();
if($type == "spend"){
if (isset($_REQUEST['game_name']) || isset($_REQUEST['game_type'])) {
$map["s.game_id"] = array("in",implode(',', array_column(getGameByName($_REQUEST['game_name'], $_REQUEST['game_type']), 'id')) );
@ -289,8 +283,12 @@ class FinancePromoteController extends AdminController
if ($isMarketLeader) {
$map['s.market_admin_id'] = ['gt', 0];
}
if ($adminId > 0) {
$map['s.market_admin_id'] = $adminId;
if (is_array($adminIds)) {
if ($isUnMarketAdmin) {
$map['promote.admin_id'] = ['in', $adminIds];
} else {
$map['s.market_admin_id'] = ['in', $adminIds];
}
}
$map['s.pay_status']=1;
$map['s.is_check']=2;
@ -340,29 +338,16 @@ class FinancePromoteController extends AdminController
}
$isMarketLeader = isMarketLeader();
if ($isMarketLeader) {
$map['promote.admin_id'] = ['gt', 0];
$marketPromoteIds = getPowerPromoteIds();
$map['_string'] = "s.promote_id in ($marketPromoteIds)";
}
if (!empty(I('develop_type'))) {
$map['company.develop_type'] = ['in',I('develop_type')];
}
$adminId = 0;
// $havingPids = [];
$isMarketAdmin = isMarketAdmin();
if ($isMarketAdmin) {
$userAuth = session('user_auth');
$adminId = $userAuth['uid'];
} else {
if (!empty(I('admin_id'))) {
$adminId = I('admin_id');
}
}
/* if ($adminId > 0) {
$havingPids = M('promote', 'tab_')->where(['admin_id' => $adminId])->getField('id', true);
$havingPids = count($havingPids) > 0 ? $havingPids : [0];
} */
$adminIds = getSearchAdminIds();
$isUnMarketAdmin = isUnMarketAdmin();
if($type == "spend"){
if (isset($_REQUEST['game_name']) || isset($_REQUEST['game_type'])) {
$map["s.game_id"] = array("in",implode(',', array_column(getGameByName($_REQUEST['game_name'], $_REQUEST['game_type']), 'id')) );
@ -373,8 +358,12 @@ class FinancePromoteController extends AdminController
if ($isMarketLeader) {
$map['s.market_admin_id'] = ['gt', 0];
}
if ($adminId > 0) {
$map['s.market_admin_id'] = $adminId;
if (is_array($adminIds)) {
if ($isUnMarketAdmin) {
$map['promote.admin_id'] = ['in', $adminIds];
} else {
$map['s.market_admin_id'] = ['in', $adminIds];
}
}
$map['s.pay_status']=1;
// $map['s.is_check']=1;
@ -398,20 +387,9 @@ class FinancePromoteController extends AdminController
if($istimeselect){
$map['s.create_time']=$istimeselect;
}
$adminId = 0;
// $havingPids = [];
$isMarketAdmin = isMarketAdmin();
if ($isMarketAdmin) {
$userAuth = session('user_auth');
$adminId = $userAuth['uid'];
} else {
if (!empty(I('admin_id'))) {
$adminId = I('admin_id');
}
}
if ($adminId > 0) {
$map['promote.admin_id'] = $adminId;
// $havingPids = M('promote', 'tab_')->where(['admin_id' => $adminId])->getField('id', true);
if (is_array($adminIds)) {
$map['promote.admin_id'] = ['in', $adminIds];
// $havingPids = M('promote', 'tab_')->where(['admin_id' => ['in', $adminIds]])->getField('id', true);
// $havingPids = count($havingPids) > 0 ? $havingPids : [0];
}
$map['s.status']=1;
@ -509,16 +487,29 @@ class FinancePromoteController extends AdminController
);
$marketAdmins = [];
$adminDepartments = [];
if (count($senddata) > 0) {
$promoteIds = array_column($senddata, 'promote_id');
if (count($promoteIds)) {
$marketAdmins = getMarketAdminsByPromoteIds($promoteIds);
}
$adminIds = [];
foreach ($marketAdmins as $item) {
if ( $item['admin']) {
$adminIds[] = $item['admin']['id'];
}
}
if (count($adminIds)) {
$adminDepartments = getAdminDepartmentList($adminIds);
}
}
foreach($senddata as $k=>$v){
$promote = $promotes[$v['promote_id']] ?? null;
$v['admin_username'] = isset($marketAdmins[$v['promote_id']]) && $marketAdmins[$v['promote_id']]['admin'] ? $marketAdmins[$v['promote_id']]['admin']['username'] : '无';
$marketAdmin = $marketAdmins[$v['promote_id']]['admin'] ?? null;
$v['admin_username'] = $marketAdmin ? $marketAdmin['username'] : '无';
$v['admin_department'] = $marketAdmin && isset($adminDepartments[$marketAdmin['id']]) ? $adminDepartments[$marketAdmin['id']] : '无';
$v['develop_type_text'] = getCompanyDevelopTypeText($v['develop_type']);
$v['company_belong'] = getCompanyBlong($v['company_belong']);
if(empty($v['company_name'])) $v['company_name']= $this->COMPANY_NAME;
@ -553,6 +544,7 @@ class FinancePromoteController extends AdminController
data2csv($data,'渠道统计',array(
"company_name"=>"推广公司",
"promote_account"=>"推广员账号",
"admin_department"=>"所属市场部",
"admin_username"=>"所属市场专员",
"company_belong"=>"团体类型",
"develop_type_text"=>"开发类型",
@ -568,6 +560,9 @@ class FinancePromoteController extends AdminController
$size = $row;
$data = array_slice($data, ($arraypage - 1) * $size, $size);
$departments = M('department', 'sys_')->select();
$this->assign('departments', $departments);
$this->assign('all_count', $allcount);
$this->assign('list_data', $data);
$this->meta_title = '渠道统计';
@ -580,18 +575,10 @@ class FinancePromoteController extends AdminController
if (isset($_REQUEST['company_id'])) {
$map['promote.company_id'] = $_REQUEST['company_id'];
}
if ($type == "spend") {
$adminId = 0;
$isMarketAdmin = isMarketAdmin();
if ($isMarketAdmin) {
$userAuth = session('user_auth');
$adminId = $userAuth['uid'];
} else {
if (!empty(I('admin_id'))) {
$adminId = I('admin_id');
}
}
$adminIds = getSearchAdminIds();
$isUnMarketAdmin = isUnMarketAdmin();
if ($type == "spend") {
if (isset($_REQUEST['game_name']) || isset($_REQUEST['game_type'])) {
$map["s.game_id"] = array("in",implode(',', array_column(getGameByName($_REQUEST['game_name'], $_REQUEST['game_type']), 'id')) );
}
@ -603,8 +590,12 @@ class FinancePromoteController extends AdminController
$map['s.market_admin_id'] = ['gt', 0];
$map['promote.admin_id'] = ['gt', 0];
}
if ($adminId) {
$map['s.market_admin_id'] = $adminId;
if (is_array($adminIds)) {
if ($isUnMarketAdmin) {
$map['promote.admin_id'] = ['in', $adminIds];
} else {
$map['s.market_admin_id'] = ['in', $adminIds];
}
}
$map['s.pay_status']=1;
$map['s.is_check']=1;
@ -628,21 +619,10 @@ class FinancePromoteController extends AdminController
}
$map['s.status']=1;
$map['s.source_id']=0;
$adminId = 0;
$isMarketAdmin = isMarketAdmin();
if ($isMarketAdmin) {
$userAuth = session('user_auth');
$adminId = $userAuth['uid'];
} else {
if (!empty(I('admin_id'))) {
$adminId = I('admin_id');
}
}
$isMarketLeader = isMarketLeader();
if ($adminId > 0) {
$map['promote.admin_id'] = $adminId;
if (is_array($adminIds)) {
$map['promote.admin_id'] = ['in', $adminIds];
} elseif ($isMarketLeader) {
$map['promote.admin_id'] = ['gt', 0];
}
@ -657,8 +637,8 @@ class FinancePromoteController extends AdminController
->group('promote_id');
/* $havingPids = [];
if ($adminId > 0) {
$topIds = M('promote', 'tab_')->where(['admin_id' => $adminId])->getField('id', true);
if (is_array($adminIds)) {
$topIds = M('promote', 'tab_')->where(['admin_id' => ['in', $adminIds]])->getField('id', true);
$havingPids = getPromoteIdsByTopIds($topIds);
$havingPids = count($havingPids) > 0 ? $havingPids : [0];
$query->having('promote_id in (' . implode(',', $havingPids) . ')');
@ -720,7 +700,9 @@ class FinancePromoteController extends AdminController
}
}
$promotes = index_by_column('id', $promotes);
$adminUsernames = getAdminUsernameList(array_column($promotes, 'admin_id'));
$adminIds = array_column($promotes, 'admin_id');
$adminUsernames = getAdminUsernameList($adminIds);
$adminDepartments = getAdminDepartmentList($adminIds);
foreach ($data as $key => &$value) {
$promote = $promotes[$value['p_id']] ?? null;
@ -731,6 +713,7 @@ class FinancePromoteController extends AdminController
$value['company_belong'] =getCompanyBlong($value['company_belong']);
($value['account']=='官方渠道')?($value['account']=C('OFFICIEL_CHANNEL')):'';
$value['admin_department'] = $adminDepartments[$promote['admin_id']] ?? '无';
$value['admin_username'] = $adminUsernames[$promote['admin_id']] ?? '无';
$value['develop_type_text'] = getCompanyDevelopTypeText($value['develop_type']);
@ -753,6 +736,7 @@ class FinancePromoteController extends AdminController
"company_name"=>"推广公司",
"account"=>"会长账号",
"admin_username"=>"所属市场专员",
"admin_department"=>"所属市场部",
"company_belong"=>"团体类型",
"develop_type_text"=>"开发类型",
"game_name"=>"游戏",
@ -781,6 +765,8 @@ class FinancePromoteController extends AdminController
$sumInside = $totalData['inside_cash_count'];
$sumAll = number_format($sumCash + $sumBalance + $sumInside,2,'.','');
$departments = M('department', 'sys_')->select();
$this->assign('departments', $departments);
$this->assign('sumCash', $sumCash);
$this->assign('sumBalance', $sumBalance);
$this->assign('sumInside', $sumInside);
@ -813,25 +799,15 @@ class FinancePromoteController extends AdminController
$map['pay_order_number'] = $_REQUEST['pay_order_number'];
}
$adminId = 0;
$havingPids = [];
$isMarketAdmin = isMarketAdmin();
if ($isMarketAdmin) {
$userAuth = session('user_auth');
$adminId = $userAuth['uid'];
} else {
if (!empty(I('admin_id'))) {
$adminId = I('admin_id');
}
}
$adminIds = getSearchAdminIds();
$isMarketLeader = isMarketLeader();
if ($isMarketLeader) {
$map['market_admin_id'] = ['gt', 0];
}
if ($adminId > 0) {
$map['market_admin_id'] = $adminId;
if (is_array($adminIds)) {
$map['market_admin_id'] = ['in', $adminIds];
}
D("Spend")->addSubsiteWhere($map);
/* if (!empty(I('develop_type'))) {
@ -899,7 +875,9 @@ class FinancePromoteController extends AdminController
$marketAdmins = [];
if (count($data) > 0) {
$marketAdmins = getAdminUsernameList(array_column($data, 'market_admin_id'));
$marketAdminIds = array_column($data, 'market_admin_id');
$marketAdmins = getAdminUsernameList($marketAdminIds);
$adminDepartments = getAdminDepartmentList($marketAdminIds);
}
$merchant_data = M("payment_merchant","tab_")
@ -918,6 +896,7 @@ class FinancePromoteController extends AdminController
$data[$key]['game_name'] =clearGameNameType($data[$key]['game_name']);
$data[$key]['sdk_version'] =getGameTypeName($data[$key]['sdk_version']);
$data[$key]['market_admin_username'] = $marketAdmins[$value['market_admin_id']] ?? '无';
$data[$key]['admin_department'] = $adminDepartments[$value['market_admin_id']] ?? '无';
($data[$key]['promote_account']=='官方渠道')?($data[$key]['promote_account']=C('OFFICIEL_CHANNEL')):'';
if (isset($_REQUEST['export'])) {
@ -940,6 +919,7 @@ class FinancePromoteController extends AdminController
"sdk_version"=>"设备名称",
"promote_account"=>"所属推广员",
"market_admin_username"=>"所属市场专员",
"admin_department"=>"所属市场部",
"spend_ip"=>"充值ip",
"server_name"=>"游戏区服",
"game_player_name"=>"角色名称",
@ -969,6 +949,9 @@ class FinancePromoteController extends AdminController
if($page) {$this->assign('_page', $page);}
$this->meta_title = '游戏订单查看';
$departments = M('department', 'sys_')->select();
$this->assign('departments', $departments);
$this->assign('data',$data);
$from = I('from', '');
$this->display($from);
@ -976,21 +959,16 @@ class FinancePromoteController extends AdminController
private function gameStatisticsData($map, $row = 0, $page = 1)
{
$adminId = 0;
$isMarketAdmin = isMarketAdmin();
if ($isMarketAdmin) {
$userAuth = session('user_auth');
$adminId = $userAuth['uid'];
} else {
if (!empty(I('admin_id'))) {
$adminId = I('admin_id');
$adminIds = getSearchAdminIds();
$isUnMarketAdmin = isUnMarketAdmin();
if (is_array($adminIds)) {
if ($isUnMarketAdmin) {
$map['promote.admin_id'] = ['in', $adminIds];
} else {
$map['s.market_admin_id'] = ['in', $adminIds];
}
}
if ($adminId > 0) {
$map['s.market_admin_id'] = $adminId;
}
$map['s.pay_status']=1;
$map['s.is_check']=1;
$query = SM("spend","tab_")->alias("s")
@ -1021,21 +999,16 @@ class FinancePromoteController extends AdminController
}
private function totalGameStatisticsData($map, $join = true)
{
$adminId = 0;
$isMarketAdmin = isMarketAdmin();
if ($isMarketAdmin) {
$userAuth = session('user_auth');
$adminId = $userAuth['uid'];
} else {
if (!empty(I('admin_id'))) {
$adminId = I('admin_id');
$adminIds = getSearchAdminIds();
$isUnMarketAdmin = isUnMarketAdmin();
if (is_array($adminIds)) {
if ($isUnMarketAdmin) {
$map['promote.admin_id'] = ['in', $adminIds];
} else {
$map['s.market_admin_id'] = ['in', $adminIds];
}
}
if ($adminId > 0) {
$map['s.market_admin_id'] = $adminId;
}
$query = SM("spend","tab_")->alias("s")
->field("SUM(CASE WHEN pay_way > 0 THEN pay_amount ELSE 0 END) as cash_count,
SUM(CASE WHEN pay_way = 0 THEN pay_amount ELSE 0 END) as balance_coin_count,

@ -12,6 +12,7 @@ use Base\Service\TestingResourceService;
use GuzzleHttp\Client;
use think\Db;
use Base\Tool\GameResource;
use Base\Tool\GameResource\SbcqClient;
class GameApiController extends Think {
@ -63,6 +64,23 @@ class GameApiController extends Think {
public function send()
{
$giftItem = [
'id' => 1782,
'num' => 1,
];
$order = [
'user_account' => '13110873520',
'server_id' => '1',
'role_name' => '十六',
];
$client = new SbcqClient();
/* $result = $client->sendEmail($giftItem, $order);
var_dump($result); */
$result = $client->sendGold(25000, $order);
var_dump($result);
return;
// 229
// 231
$game = M('game', 'tab_')->field(['id', 'sdk_version'])->where(['id' => 231])->find();

@ -23,6 +23,13 @@ class GameRatioMouldController extends AdminController
//获取游戏id
$gamewhere['_string'] = '1 = 1';
$where['_string'] = '1 = 1';
$markerGroup = A("Market","Event")->isMarketAdminGroup(session('user_group_id'));
if($markerGroup){
$where['_string'] .= " AND m.company_belong > 0";
}
if(isset($params['relation_game_id'])){
$gamewhere['relation_game_id'] = $params['relation_game_id'];
$where['m.relation_game_id'] = $params['relation_game_id'];

@ -83,10 +83,10 @@ class GameRebateController extends ThinkController
$records = [];
if (I('export', 0) == 1 || $row == 'all') {
$records = $query->select();
$records = $query->order('create_time desc')->select();
} else {
$countQuery = clone $query;
$records = $query->page($page, $row)->select();
$records = $query->order('create_time desc')->page($page, $row)->select();
$count = $countQuery->count();
}

@ -17,6 +17,7 @@ class MarketPercentageController extends ThinkController
private $leavePercentage;
private $unSettlementList;
private $marketPercentage;
private $MarketEvent;
private $returnMarketPercentageArray = [];
private $returnWaitMarketPercentageArray = [];
@ -39,14 +40,29 @@ class MarketPercentageController extends ThinkController
//不结算列表
$this->leavePercentage->unSettlementList();
$this->unSettlementList = $this->leavePercentage->returnUnSettlementList();
$this->MarketEvent = A("Market","Event");
parent::_initialize();
}
private function getCoefficient($pay_time,$admin_id)
{
if(!array_key_exists($pay_time,$this->coefficient)){
return 1;
}
if(!array_key_exists($admin_id,$this->coefficient[$pay_time])){
return 1;
}
return $this->coefficient[$pay_time][$admin_id];
}
public function index($row = 10, $p = 1)
{
$map = [];
// $this->MarketEvent->getAdminCompanyId();
$map = [
"is_settlement"=>1,
"_string"=>"1=1"
];
// $_REQUEST['pay_time']?($map['pay_time'] = $_REQUEST['pay_time']):'';
$_REQUEST['promote_id'] ? ($map['promote_id'] = $_REQUEST['promote_id']) : '';
@ -55,22 +71,33 @@ class MarketPercentageController extends ThinkController
$_REQUEST['admin_id'] ? ($map['admin_id'] = $_REQUEST['admin_id']) : '';
($_REQUEST['company_id'] || $_REQUEST['company_id'] == '0') ? ($map['company_id'] = $_REQUEST['company_id']) : '';
$admin_id = $_SESSION['onethink_admin']['user_auth']['uid'];
$map['admin_id'] = $admin_id;
$map['is_settlement'] = 1;
if (is_administrator() || session('user_group_id') == 15 || session('user_group_id') == 14 || session('user_group_id') == 19 || session('user_group_id') == 23) {
unset($map['admin_id']);
$admin_data = M("member")
->field("access.uid admin_id")
->join("left join sys_auth_group_access access on sys_member.uid = access.uid")
->join("left join sys_auth_group auth on access.group_id=auth.id")
->where(['group_id' => ['in', '11,12,21,25']])
->select();
if ($admin_data) {
$map['admin_id'] = ['in', array_column($admin_data, 'admin_id')];
}
$_REQUEST['admin_id'] ? ($map['admin_id'] = $_REQUEST['admin_id']) : '';
}
$gid = session('user_group_id');
$markerGroup = $this->MarketEvent->isMarketAdminGroup($gid);
if($markerGroup){
$map['department_id'] =["in",[0,$markerGroup['department_id']]];
if( !$this->MarketEvent->isDepartmentLeder($markerGroup['department_id'],$admin_id)){
$map['admin_id'] = $admin_id ;
}
}
// dd($map);
// $map['admin_id'] = $admin_id;
// if (is_administrator() || session('user_group_id') == 15 || session('user_group_id') == 14 || session('user_group_id') == 19 || session('user_group_id') == 23) {
// unset($map['admin_id']);
// $admin_data = M("member")
// ->field("access.uid admin_id")
// ->join("left join sys_auth_group_access access on sys_member.uid = access.uid")
// ->join("left join sys_auth_group auth on access.group_id=auth.id")
// ->where(['group_id' => ['in', '11,12,21,25']])
// ->select();
// if ($admin_data) {
// $map['admin_id'] = ['in', array_column($admin_data, 'admin_id')];
// }
// $_REQUEST['admin_id'] ? ($map['admin_id'] = $_REQUEST['admin_id']) : '';
// }
$search_date = [];
if (isset($_REQUEST['time_start']) && isset($_REQUEST['time_end'])) {
@ -589,9 +616,9 @@ class MarketPercentageController extends ThinkController
} else {
$map['id'] =['in',A("Market","Event")->getNoLeaderMarketGroupId()];
$data = M("auth_group")
->where("title like '%市场%' and title != '市场总监'")
->where($map)
->select(false);
$data = M("auth_group_access")
@ -619,47 +646,30 @@ class MarketPercentageController extends ThinkController
public function marketStaffSettle($row = 10, $p = 1)
{
$map = [];
$map = [
"_string"=>'1=1'
];
$map['group_id'] = ['in', '11,12,21,25'];
//获取权限
$marketPercentage = M("auth_group")->where($map)->getField("id,market_percentage");
// $_REQUEST['pay_time']?($map['pay_time'] = $_REQUEST['pay_time']):'';
$_REQUEST['admin_id'] ? ($map['admin_id'] = $_REQUEST['admin_id']) : '';
$_REQUEST['group_id'] ? ($map['level'] = $_REQUEST['group_id']) : '';
$_REQUEST['level'] ? ($map['level'] = $_REQUEST['level']) : '';
$admin_id = $_SESSION['onethink_admin']['user_auth']['uid'];
$map['admin_id'] = $admin_id;
if (is_administrator() || session('user_group_id') == 15 || session('user_group_id') == 14 || session('user_group_id') == 19 || session('user_group_id') == 23 || session('user_group_id') == 25) {
unset($map['admin_id']);
// $markerData = M("ucenter_member")->field("id")->where(['work_status' => 1])->select();
//
// if ($markerData) {
// $admin_map['sys_member.uid'] = ['not in', array_column($markerData, 'id')];
// }
$admin_data = M("member")
->field("access.uid admin_id")
->join("left join sys_auth_group_access access on sys_member.uid = access.uid")
->join("left join sys_auth_group auth on access.group_id=auth.id")
->where(['group_id' => ['in', '11,12,21,25']])
// ->where($admin_map)
->select();
if ($admin_data) {
$map['admin_id'] = ['in', array_column($admin_data, 'admin_id')];
$gid = session('user_group_id');
$markerGroup = $this->MarketEvent->isMarketAdminGroup($gid);
if($markerGroup){
if( $this->MarketEvent->isDepartmentLeder($markerGroup['department_id'],$admin_id)){
$map['admin_id'] = ['in',$this->MarketEvent->getDepartmentUserId($markerGroup['department_id'])];
}else{
$map['admin_id'] = $admin_id ;
}
// if (!in_array($_REQUEST['admin_id'], array_column($markerData, 'id'))) {
$_REQUEST['admin_id'] ? ($map['admin_id'] = $_REQUEST['admin_id']) : '';
// } else {
// $this->display("marketstaffsettle");
// die();
// }
}
$_REQUEST['admin_id'] ? ($map['_string'] .= " AND admin_id = {$_REQUEST['admin_id']}") : '';
$search_date = [];
if (isset($_REQUEST['time_start']) && isset($_REQUEST['time_end'])) {
@ -714,22 +724,21 @@ class MarketPercentageController extends ThinkController
$this->assign('end_time', $end_time);
$data = SM("market_altogether", "tab_")
->alias("m")->field("m.*,a.group_id")
->join("sys_auth_group_access as a on m.admin_id = a.uid")
->where($map);
if ($_REQUEST['export']) {
$data = $data
->field("*")
->order("pay_time DESC,pay_amount DESC")
->select();
} else {
$data = $data
->field("*")
// ->page($p, $row)
->order("pay_time DESC,pay_amount DESC")
->select();
}
$count = SM("market_altogether", "tab_")
->where($map)
->count();
@ -766,7 +775,7 @@ class MarketPercentageController extends ThinkController
foreach ($all_data as $key => $value) {
$wait_amount[$value['admin_id'] . $value['pay_time'] . 'performance_commission'] = $value['wait_performance_commission'];
$wait_amount[$value['admin_id'] . $value['pay_time'] . 'achievement_bonus'] = $value['wait_achievement_commission'] * ($this->coefficient[$value['pay_time']][$value['admin_id']] ? $this->coefficient[$value['pay_time']][$value['admin_id']] : 1);
$wait_amount[$value['admin_id'] . $value['pay_time'] . 'achievement_bonus'] = $value['wait_achievement_commission'] * ( $this->getCoefficient($value['pay_time'],$value['admin_id']) );
}
@ -783,7 +792,7 @@ class MarketPercentageController extends ThinkController
$this->returnWaitMarketPercentageArray = $this->marketPercentage->returnWaitMarketPercentageArray();
foreach ($data as $key => $value) {
$level = $value['level'];
$level = $value['group_id'];
if (isset($marketPercentage[$level])) {
$value['market_percentage'] = $marketPercentage[$level];
}
@ -815,15 +824,7 @@ class MarketPercentageController extends ThinkController
$data[$key]['start_time'] = date("Y-m-1", strtotime($value['pay_time']));
$data[$key]['end_time'] = date("Y-m-t", strtotime($value['pay_time']));
if ($value['level'] == 21) {
$data[$key]['level'] = '初级';
} else if ($value['level'] == 11) {
$data[$key]['level'] = '中级';
} else if ($value['level'] == 12) {
$data[$key]['level'] = '高级';
}else if ($value['level'] == 25) {
$data[$key]['level'] = '经理';
}
$data[$key]['level'] = $this->MarketEvent->getLevelName($value['level']);
if (!$value['market_check']) {
$data[$key]['market_check_detail'] = "-----";
@ -858,7 +859,7 @@ class MarketPercentageController extends ThinkController
//维护奖金考核比例
$data[$key]['maintain_appraisal_bonuses_ratio'] = $market_percentage['maintain_appraisal_bonuses_ratio'];
$data[$key]['coefficient'] = $this->coefficient[$value['pay_time']][$value['admin_id']] ? $this->coefficient[$value['pay_time']][$value['admin_id']] : 1;
$data[$key]['coefficient'] = $this->getCoefficient($value['pay_time'],$value['admin_id']);
$month = date("m", strtotime($value['pay_time']));
$yes = date("Y", strtotime($value['pay_time']));
@ -866,10 +867,10 @@ class MarketPercentageController extends ThinkController
$achievement_bonus = number_format($data[$key]['achievement_bonus'], 2, '.', '');
//绩效系数计算
$data[$key]['achievement_bonus'] = number_format($data[$key]['achievement_bonus'] * ($this->coefficient[$value['pay_time']][$value['admin_id']] ? $this->coefficient[$value['pay_time']][$value['admin_id']] : 1), 2, '.', '');
$data[$key]['achievement_bonus'] = number_format($data[$key]['achievement_bonus'] * ($this->getCoefficient($value['pay_time'],$value['admin_id'])), 2, '.', '');
$data[$key]['commission'] = number_format($data[$key]['performance_commission'] + $data[$key]['achievement_bonus'], 2, '.', '');
$data[$key]['wait_commission'] = number_format($value['wait_performance_commission'] + $value['wait_achievement_commission'] * ($this->coefficient[$value['pay_time']][$value['admin_id']] ? $this->coefficient[$value['pay_time']][$value['admin_id']] : 1), 2, '.', '');
$data[$key]['wait_commission'] = number_format($value['wait_performance_commission'] + $value['wait_achievement_commission'] * ($this->getCoefficient($value['pay_time'],$value['admin_id'])), 2, '.', '');
$data[$key]['extend_commission'] = $data[$key]['commission'] - $data[$key]['wait_commission'];
// dump($data[$key]['commission']);
@ -881,6 +882,7 @@ class MarketPercentageController extends ThinkController
}
//
$data[$key]['should_performance_commission'] = number_format($value["performance_commission"] * ($market_percentage["performance_monthly_ratio"]/100), 2, '.', '')+$this->returnMarketPercentageArray[$value['admin_id'].$value['pay_time']]['performance_commission'];
$data[$key]['extend_commission'] += $this->returnMarketPercentageArray[$value['admin_id'].$value['pay_time']]['performance_commission']+$this->returnMarketPercentageArray[$value['admin_id'].$value['pay_time']]['achievement_bonus'];
$data[$key]['extend_commission'] = number_format($data[$key]['extend_commission'], 2, '.', '');
@ -928,7 +930,6 @@ class MarketPercentageController extends ThinkController
$sum['wait_commission'] = '-------';
$sum['pay_time'] = '总计';
// dd($data);
if ($_REQUEST['export']) {
$title = ['pay_time' => '时间',
@ -1019,15 +1020,11 @@ class MarketPercentageController extends ThinkController
public function personMarketStaffSettle($row = 10, $p = 1)
{
// var_dump(getMarketAdmin());
$map = [];
$map['group_id'] = ['in', '11,12,21,25'];
$map = [
"_string"=>'1=1'
];
//获取权限
$marketPercentage = M("auth_group")->where($map)->getField("id,market_percentage");
// $_REQUEST['pay_time']?($map['pay_time'] = $_REQUEST['pay_time']):'';
// $_REQUEST['admin_id']?($map['admin_id'] = $_REQUEST['admin_id']):'';
$_REQUEST['group_id'] ? ($map['group_id'] = $_REQUEST['group_id']) : '';
($_REQUEST['status'] || $_REQUEST['status'] == '0') ? ($map['tab_market_altogether.status'] = $_REQUEST['status']) : '';
@ -1040,22 +1037,17 @@ class MarketPercentageController extends ThinkController
}
$admin_id = $_SESSION['onethink_admin']['user_auth']['uid'];
$map['admin_id'] = $admin_id;
if (is_administrator() || session('user_group_id') == 15 || session('user_group_id') == 14 || session('user_group_id') == 19 || session('user_group_id') == 23 || session('user_group_id') == 25) {
unset($map['admin_id']);
$admin_data = M("member")
->field("access.uid admin_id")
->join("left join sys_auth_group_access access on sys_member.uid = access.uid")
->join("left join sys_auth_group auth on access.group_id=auth.id")
->where(['group_id' => ['in', '11,12,21,25']])
->select();
if ($admin_data) {
$map['admin_id'] = ['in', array_column($admin_data, 'admin_id')];
$gid = session('user_group_id');
$markerGroup = $this->MarketEvent->isMarketAdminGroup($gid);
if($markerGroup){
if( $this->MarketEvent->isDepartmentLeder($markerGroup['department_id'],$admin_id)){
$map['admin_id'] = ['in',$this->MarketEvent->getDepartmentUserId($markerGroup['department_id'])];
}else{
$map['admin_id'] = $admin_id ;
}
$_REQUEST['admin_id'] ? ($map['admin_id'] = $_REQUEST['admin_id']) : '';
}
$_REQUEST['admin_id'] ? ($map['_string'] .= " AND admin_id = {$_REQUEST['admin_id']}") : '';
$search_date = [];
if (isset($_REQUEST['time_start']) && isset($_REQUEST['time_end'])) {
@ -1148,15 +1140,7 @@ class MarketPercentageController extends ThinkController
$market_percentage = json_decode($value['market_percentage'], true);
if ($value['level'] == 21) {
$data[$key]['level'] = '初级';
} else if ($value['level'] == 11) {
$data[$key]['level'] = '中级';
} else if ($value['level'] == 12) {
$data[$key]['level'] = '高级';
}else if ($value['level'] == 25) {
$data[$key]['level'] = '经理';
}
$data[$key]['level'] = $this->MarketEvent->getLevelName($value['level']);
if ($value['status'] > 0) {
$data[$key]['is_send'] = '已发放';
@ -1262,13 +1246,14 @@ class MarketPercentageController extends ThinkController
public function sendBonus()
{
$groupIds = $this->MarketEvent->getMarketGroupId();
$map['pay_time'] = $_REQUEST['pay_time'];
$admin_data = M("member")
->field("access.uid admin_id")
->join("left join sys_auth_group_access access on sys_member.uid = access.uid")
->join("left join sys_auth_group auth on access.group_id=auth.id")
->where(['group_id' => ['in', '11,12,21']])
->where(['group_id' => ['in', $groupIds]])
->select();
if ($admin_data) {
$map['admin_id'] = ['in', array_column($admin_data, 'admin_id')];
@ -1348,12 +1333,12 @@ class MarketPercentageController extends ThinkController
}
$map = [];
$groupIds = $this->MarketEvent->getMarketGroupId();
$admin_data = M("member")
->field("access.uid admin_id")
->join("left join sys_auth_group_access access on sys_member.uid = access.uid")
->join("left join sys_auth_group auth on access.group_id=auth.id")
->where(['group_id' => ['in', '11,12,21']])
->where(['group_id' => ['in', $groupIds]])
->select();
if ($admin_data) {
$map['tab_market_altogether.admin_id'] = ['in', array_column($admin_data, 'admin_id')];
@ -1424,7 +1409,6 @@ class MarketPercentageController extends ThinkController
$map['tab_market_altogether.pay_time'] = $_REQUEST['pay_time'];
}
}
$data = SM("market_altogether", "tab_")
->field("max(tab_market_altogether.pay_time) pay_time,tab_market_altogether.real_name,tab_market_altogether.admin_id,tab_market_altogether.nickname,level,sum(pay_amount) pay_amount,sum(extend_commission) extend_commission,
IF((work_status!=0 and ((leave_time-UNIX_TIMESTAMP(concat(tab_market_altogether.pay_time,'-01'))<86400*30) or UNIX_TIMESTAMP(concat(tab_market_altogether.pay_time,'-01'))>leave_time)),0,performance_commission) performance_commission,
@ -1468,13 +1452,7 @@ class MarketPercentageController extends ThinkController
foreach ($data as $key => $value) {
// dump($value);
if ($value['level'] == 21) {
$data[$key]['level'] = '初级';
} else if ($value['level'] == 11) {
$data[$key]['level'] = '中级';
} else if ($value['level'] == 12) {
$data[$key]['level'] = '高级';
}
$data[$key]['level'] = $this->MarketEvent->getLevelName($value['level']);
//绩效系数计算
// $data[$key]['achievement_bonus'] = $data[$key]['achievement_bonus'] * ($this->coefficient[$value['pay_time']][$value['admin_id']]?$this->coefficient[$value['pay_time']][$value['admin_id']]:1);

@ -246,7 +246,12 @@ class MarketPerformanceSetController extends Controller {
$userid = array_merge(array_keys($value),$userid);
}
$userid = array_unique($userid);
$this->marketUserInfo = M("member")->where(["uid"=>['in',$userid]])->getField("uid,real_name",true);
$this->marketUserInfo = M("auth_group_access")
->alias("acc")
->where(["acc.uid"=>['in',$userid]])
->join("sys_member as mem on acc.uid = mem.uid")
->join("sys_auth_group as gro on acc.group_id = gro.id")
->getField("acc.uid,mem.real_name,gro.department_id",true);
}
/**
@ -258,7 +263,7 @@ class MarketPerformanceSetController extends Controller {
$where = [
"_string"=>"statement_begin_time between {$this->beginThismonth} and {$this->endThismonth} OR statement_end_time between {$this->beginThismonth} and {$this->endThismonth}",
"company_type"=>2,
"withdraw_type"=>0
"withdraw_type"=>['in',"0,1"]
];
$statement_pool = M("company_statement_pool","tab_")->where($where)->order("statement_begin_time desc")->select();
//获取结算分段
@ -280,7 +285,9 @@ class MarketPerformanceSetController extends Controller {
$tem['end_time'] = date("Y.m.d",$this->endThismonth);
}
$this->getPuAllStatement($tem,$v);
$this->getPuCompanyStatement($tem);//对公周结
if($v['withdraw_type'] == "0"){
$this->getPuCompanyStatement($tem);//对公周结
}
$date_arr[] = $tem;
}
//2.获取对公的下游
@ -292,7 +299,6 @@ class MarketPerformanceSetController extends Controller {
"withdraw_type"=>1
];
$this->getPuCompanyStatement($tem);
}
/**
* 获取所有个人周结
@ -468,7 +474,8 @@ class MarketPerformanceSetController extends Controller {
$baseArr = $this->companyInfo[$company_id];
$baseArr['pay_time'] = $this->date;
$baseArr['is_settlement'] = 1;
$baseArr['real_name'] = $this->marketUserInfo[$markertUserId];
$baseArr['real_name'] = $this->marketUserInfo[$markertUserId]['real_name'];
$baseArr['department_id'] = $this->marketUserInfo[$markertUserId]['department_id'];
$baseArr['admin_id'] = $markertUserId;
foreach ($games as $k => $v) {
$game = $this->gameInfo[$k];
@ -520,54 +527,51 @@ class MarketPerformanceSetController extends Controller {
public function marketManagerSet($count_date)
{
if(!$this->isInit) $this->configInit($count_date);
$marketManagerGroupId = "25";
$this->marketAltogetherModel->where(['pay_time'=>$this->date,'level'=>$marketManagerGroupId])->delete();
//获取毛利统计
$dbres = $this->settleupMarketorderModel->where(['pay_time'=>$this->date])->field("sum(pay_amount) pay_amount,sum(refund_amount) refund_amount,develop_type")->group('develop_type')->select();
$count = [
'pay_amount'=>0,
'performance_revenue'=>0,
'appraisal_bonuses'=>0
];
foreach ($dbres as $k => $v) {
$tmpPayAmount = $v['pay_amount']-$v['refund_amount'];
$count['pay_amount'] += $tmpPayAmount;
if($v['develop_type'] == 3){
$count['appraisal_bonuses'] += $tmpPayAmount;
}else{
$count['performance_revenue'] += $tmpPayAmount;
//获取所有的经理
$MarketEvent = A("Market","Event");
$level = $MarketEvent->getConfig('ManagerLevel');
$this->marketAltogetherModel->where(['pay_time'=>$this->date,'level'=>$level])->delete();
$markertManager = $MarketEvent->getManagerPerformanInfo();
if(!$markertManager) return;
foreach ($markertManager as $k => $manager) {
//获取毛利统计
$dbres = $this->settleupMarketorderModel->where(['pay_time'=>$this->date,'department_id'=>$manager['department_id']])->field("sum(pay_amount) pay_amount,sum(refund_amount) refund_amount,develop_type")->group('develop_type')->select();
$count = [
'pay_amount'=>0,
'performance_revenue'=>0,
'appraisal_bonuses'=>0
];
foreach ($dbres as $k => $v) {
$tmpPayAmount = $v['pay_amount']-$v['refund_amount'];
$count['pay_amount'] += $tmpPayAmount;
if($v['develop_type'] == 3){
$count['appraisal_bonuses'] += $tmpPayAmount;
}else{
$count['performance_revenue'] += $tmpPayAmount;
}
}
}
//获取经理配置及经理
$config = M("auth_group")->where("id = {$marketManagerGroupId}")->getField("market_percentage");
$config = json_decode($config,true);
$user = M("auth_group_access")->alias("access")->join("left join sys_member member on access.uid=member.uid")->where(['group_id'=>$marketManagerGroupId])->field("access.uid,real_name,nickname")->select();
if(!$user) return;
//获取经理抽成公式
$achievement_bonus = round(($count['appraisal_bonuses']*$config['maintain_appraisal_bonuses_ratio'] + $count['performance_revenue']*$config['appraisal_bonuses_ratio'])/100,2);
$baseData = [
'pay_time'=>$this->date,
'level'=>$marketManagerGroupId,
'pay_amount' => $count['pay_amount'],
'extend_commission'=> round($achievement_bonus*$config['month_bonus_ratio']/100,2),
'wait_commission' => round($achievement_bonus*(100-$config['month_bonus_ratio'])/100,2),
'create_time'=>time(),
'performance_revenue'=>$count['performance_revenue'],
'appraisal_bonuses'=>$count['appraisal_bonuses'],
'achievement_bonus'=>$achievement_bonus,
'wait_achievement_commission'=>round($achievement_bonus*(100-$config['month_bonus_ratio'])/100,2)
];
foreach ($user as $k=> $v) {
$baseData['real_name'] = $v['real_name'];
$baseData['nickname'] = $v['nickname'];
$baseData['admin_id'] = $v['uid'];
$res = $this->marketAltogetherModel->add($baseData);
$config = json_decode($manager['market_percentage'],true);
$achievement_bonus = round(($count['appraisal_bonuses']*$config['maintain_appraisal_bonuses_ratio'] + $count['performance_revenue']*$config['appraisal_bonuses_ratio'])/100,2);
echo "marketManagerSet {$v['real_name']}/{$res}".PHP_EOL;
$baseData = [
'pay_time'=>$this->date,
'level'=>$level,
'pay_amount' => $count['pay_amount'],
'extend_commission'=> round($achievement_bonus*$config['month_bonus_ratio']/100,2),
'wait_commission' => round($achievement_bonus*(100-$config['month_bonus_ratio'])/100,2),
'create_time'=>time(),
'performance_revenue'=>$count['performance_revenue'],
'appraisal_bonuses'=>$count['appraisal_bonuses'],
'achievement_bonus'=>$achievement_bonus,
'wait_achievement_commission'=>round($achievement_bonus*(100-$config['month_bonus_ratio'])/100,2),
'real_name'=>$manager['real_name'],
'admin_id'=>$manager['uid'],
'nickname'=>$manager['nickname'],
'department_id'=>$manager['department_id']
];
$res = $this->marketAltogetherModel->add($baseData);
echo "marketManagerSet {$manager['real_name']}/{$res}".PHP_EOL;
}
}
/**
* 设置每月第一个周一自动重算
@ -596,7 +600,9 @@ class MarketPerformanceSetController extends Controller {
$dThisDay = date("w", $iThisMonthFirst);
if ($dThisDay == '1') {
$dFirstMonday = $iThisMonthFirst;
} else {
}else if($dThisDay < 1){
$dFirstMonday = $iThisMonthFirst + 86400;
}else {
//不是星期一先回到星期日
$iDays = 86400 * ($dThisDay * 1);
//找出星期日的日期

@ -9,6 +9,93 @@ namespace Admin\Controller;
*/
class OldCountController extends \Think\Controller
{
/**
* 新增市场部其他用户组
*/
public function moreDepartment()
{
//1.新增组
$manager = M('auth_group','sys_')->where("title = '高级市场专员'")->find();
$dbres = M('auth_group','sys_')->where("title LIKE '%市场%' AND id != 18")->select();
foreach ($dbres as &$v) {
if($v['id'] == 25){
$v['rules'] = $manager['rules'];
$v['data_empower_type'] =3;
$v['show_data'] =1;
$v['show_market_admin'] =1;
$v['show_promote'] =1;
}
if(mb_strpos($v['title'],"初级")){
$v['department_level'] = 1;
}
if(mb_strpos($v['title'],"中级")){
$v['department_level'] = 2;
}
if(mb_strpos($v['title'],"高级")){
$v['department_level'] = 3;
}
if(mb_strpos($v['title'],"经理")){
$v['department_level'] = 4;
}
if(mb_strpos($v['title'],"总监")){
$v['department_level'] = 5;
}
$v['title'] = "一部".$v['title'];
$v['department_id'] = 1;
$v['department_name'] = "市场一部";
M('auth_group','sys_')->save($v);
unset($v['id']);
$v['title'] = str_replace("一部","二部",$v['title']);
$v['department_id'] = 2;
$v['department_name'] = '市场二部';
M('auth_group','sys_')->add($v);
}
//3.增加部门表数据
M("department")->add([
'id'=>1,
'name'=>'市场一部',
'group_ids'=>'11,12,14,21,25',
'leader_group'=>'14',
'create_time'=>time(),
'update_time'=>time()
]);
M("department")->add([
'id'=>2,
'name'=>'市场二部',
'group_ids'=>'26,27,28,29,30',
'leader_group'=>'28',
'create_time'=>time(),
'update_time'=>time()
]);
//4.修改旧等级
M("market_altogether","tab_")->where("level = 21")->save(['level'=>1]);
M("market_altogether","tab_")->where("level = 11")->save(['level'=>2]);
M("market_altogether","tab_")->where("level = 12")->save(['level'=>3]);
M("market_altogether","tab_")->where("level = 25")->save(['level'=>4]);
}
public function setDataPresidentInit()
{
$marketEvent = A("Market","Event");
//获取所有二部公司
$uids = $marketEvent->getDepartmentUserId(2);
$promoteids = M("Promote","tab_")->where(["admin_id"=>['in',$uids],"level"=>1])->getField("id",true);
$marketEvent->removePresident($promoteids);
$save = [
"id"=>28,
"data_president"=>implode(",",$promoteids)
];
M('auth_group','sys_')->save($save);
}
//删除吴宏还是高级时候的数据
public function deleteWuhongAltogether()
{
@ -691,6 +778,17 @@ class OldCountController extends \Think\Controller
}
return $time_arr;
}
public function eventTest($event,$action,$arg = false)
{
$Event = A($event,"Event");
if(!$arg){
$res = $Event->$action();
}else{
$res = call_user_func_array(array($Event, $action), explode(":",$arg));
}
dd($res);
}

@ -407,7 +407,9 @@ class PaymentMerchantController extends ThinkController
$conditions['_string'].=" AND ( r.company_belong = {$companyBelong} or company_id in ({$promoteCompanyIds}) )";
}
if ($companyId != 0) {
$conditions['company_id'] = $companyId;
//请求公司要姜蓉内外团
$companyBelong = M("promote_company","tab_")->where("id = '{$companyId}'")->getField("company_belong");
$conditions['_string'] .= " AND ( r.company_belong = {$companyBelong} or company_id ='{$companyId}' )";
}
if ($gameTypeId != 0) {
$conditions['game_type_id'] = $gameTypeId;

@ -1162,15 +1162,14 @@ class PlatformController extends ThinkController
if (!empty($_REQUEST['game_type'])) {
$map['s.sdk_version'] = $_REQUEST['game_type'];
}
if (isMarketAdmin()) {
$map['s.market_admin_id'] = is_login();
} else if (!empty($_REQUEST['admin_id'])) {
$map['s.market_admin_id'] = $_REQUEST['admin_id'];
} else {
//为数据权限添加
setPowerPromoteIds($map, 'tp1.id');
}
}
setPowerPromoteIds($map, 'tp1.id');
D("Spend")->addSubsiteWhere($map,"s");
$data = SM('promote', 'tab_')->alias('tp1')
@ -1184,6 +1183,7 @@ class PlatformController extends ThinkController
->order('count desc')
->select();
//今日/本周/本月不变
$tmap = $map;
if(isset($map['pay_time'])){

@ -30,6 +30,11 @@ class PresidentDepositController extends ThinkController
$where['_string'] .= ' and company_belong=' . $companyType;
}
$marketCompanyIds = A("Market","Event")->getAdminCompanyId();
if($marketCompanyIds != 'all'){
$where['_string'] .= ' and id in (' . $marketCompanyIds .')';
}
$depositWhere = [];
$depositStrWhere = '1=1';

@ -49,11 +49,13 @@ class PromoteCompanyController extends ThinkController
$company_name = trim(I('company_name'));
//市场部权限begin
$pro_id = getMarketAuthPromoteId();
if($pro_id){
$pro_id = getPowerPromoteIds();
if($pro_id != 'all'){
$promotemap["_string"] .=" AND p.id in ({$pro_id})";
$c_id = throwPromoteIdToCompanyId($pro_id);
$map["_string"] .=" AND id in ({$c_id})";
$c_id = A("Market",'Event')->getAdminCompanyId();
if($c_id != 'all'){
$map["_string"] .=" AND id in ({$c_id})";
}
}
//市场部权限end
@ -1436,15 +1438,12 @@ class PromoteCompanyController extends ThinkController
M("Promote","tab_")->where("company_id = '{$company_id}'")->save($savedata);
// 权限跟随
if($is_change_belong){
$authGroup = M('auth_group',"sys_")->where(['title'=>'市场总监'])->find();
$subPromoteIds = M('promote', 'tab_')->where(['level' => 1, 'company_id' => $company_id])->getField('id', true);
$dataPresident = explode(',', $authGroup['data_president']);
if ($save['company_belong'] == 1 || $save['company_belong'] == 2) {
$dataPresident = array_unique(array_merge($dataPresident, $subPromoteIds));
A("Market","Event")->pushPresident($subPromoteIds);
} else {
$dataPresident = array_diff($dataPresident, $subPromoteIds);
A("Market","Event")->removePresident($subPromoteIds);
}
M('auth_group',"sys_")->where(['title'=>'市场总监'])->save(['data_president'=>implode(',', $dataPresident)]);
resetUserAuth();
}
}

@ -14,6 +14,7 @@ class SocietyInfoController extends ThinkController
{
private $modelName = 'SocietyInfo';
private $admininfo = '';
private $MarketEvent;
private $level = [
1=>'S',
2=>'A',
@ -24,6 +25,7 @@ class SocietyInfoController extends ThinkController
public function _initialize()
{
$this->admininfo = $_SESSION['onethink_admin']['user_auth'];
$this->MarketEvent = A("Market","Event");
parent::_initialize();
}
//列表
@ -32,11 +34,20 @@ class SocietyInfoController extends ThinkController
$model = M($this->modelName, 'tab_');
$map = [];
if ($this->checkRule("Admin/SocietyInfo/lists", array('in','1,2')) || isMarketLeader() || is_administrator()) {
if (is_administrator()) {
// 设置权限、admin、市场总监可以看所有数据
} else {
// 其他用户只能看自己的
$map['create_account'] = $this->admininfo['username'];
$gid = session('user_group_id');
$markerGroup = $this->MarketEvent->isMarketAdminGroup($gid);
if($markerGroup){
if($markerGroup['department_level'] == $this->MarketEvent->getConfig("DirectorLevel")){
//总监
$map['create_account'] = ["in",$this->MarketEvent->getDepartmentUserId($markerGroup['department_id'],"nickname")];
}
}else{
// 其他用户只能看自己的
$map['create_account'] = $this->admininfo['username'];
}
}
if ($_REQUEST['text']||$_REQUEST['text']=='0') {

@ -86,20 +86,6 @@ class SpendController extends ThinkController
unset($_REQUEST['merchant_id']);
}
$marketAdminId = 0;
$isMarketAdmin = isMarketAdmin();
if ($isMarketAdmin) {
$userAuth = session('user_auth');
$marketAdminId = $userAuth['uid'];
} else {
$marketAdminId = I('market_admin_id', 0);
}
if ($marketAdminId > 0) {
$map['market_admin_id'] = $marketAdminId;
} else {
setPowerPromoteIds($map,'promote_id');
}
if (isset($_REQUEST['promote_id'])) {
$promoteId = intval($_REQUEST['promote_id']);
if ($promoteId == 0) {
@ -111,6 +97,16 @@ class SpendController extends ThinkController
$map['promote_id'] = ['in', $promoteIds];
}
}
$isMarketAdmin = isMarketAdmin();
$isMarketLeader = isMarketLeader();
$marketAdminIds = getSearchAdminIds('market_admin_id');
if (is_array($marketAdminIds)) {
$map['market_admin_id'] = ['in', $marketAdminIds];
}
setPowerPromoteIds($map,'promote_id');
if ($_REQUEST['data_order'] != '') {
$data_order = reset(explode(',', $_REQUEST['data_order']));
$data_order_type = end(explode(',', $_REQUEST['data_order']));
@ -146,10 +142,13 @@ class SpendController extends ThinkController
$data = D(self::model_name)->lists($_GET["p"], $map, $order);
if (!empty($data['data'])) {
$adminUsernameList = getAdminUsernameList(array_column($data['data'], 'market_admin_id'));
$adminIds = array_column($data['data'], 'market_admin_id');
$adminUsernameList = getAdminUsernameList($adminIds);
$adminDepartments = getAdminDepartmentList($adminIds);
foreach ($data['data'] as $key=>&$value) {
($value['promote_account']=='官方渠道')?($value['promote_account']=C('OFFICIEL_CHANNEL')):'';
$value['market_admin_username'] = $adminUsernameList[$value['market_admin_id']] ?? '无';
$value['admin_department'] = $adminDepartments[$value['market_admin_id']] ?? '无';
$value['is_check_str'] = D(self::model_name)::IsCheckStr[$value['is_check']];
$value['is_refund_str'] = D(self::model_name)::IsRefundStr[$value['is_refund']];
//拆分游戏名称和设备类型
@ -159,6 +158,10 @@ class SpendController extends ThinkController
}
}
$departments = M('department', 'sys_')->select();
$this->assign('departments', $departments);
$this->assign('isMarketLeader', $isMarketLeader);
$this->assign('showMarketAdmin', session('user_auth')['show_market_admin']);
$this->assign('showPromote', session('user_auth')['show_promote']);
$this->assign('isMarketAdmin', $isMarketAdmin);

@ -853,11 +853,12 @@ class TimingController extends AdminController {
public function insertAllUserBonus($time) {
// $time = $_REQUEST['time'];
$groupIds = A("Market","Event")->getGeneralMarketGroup();
$data = M("member")
->field("access.uid admin_id,real_name,nickname,group_id level")
->field("access.uid admin_id,real_name,nickname,auth.department_level level")
->join("left join sys_auth_group_access access on sys_member.uid = access.uid")
->join("left join sys_auth_group auth on access.group_id=auth.id")
->where(['group_id'=>['in','11,12,21']])
->where(['group_id'=>['in',$groupIds]])
->select();
foreach ($data as $key => $value) {
@ -909,14 +910,14 @@ class TimingController extends AdminController {
}
$map['is_settlement'] = 1;
$groupIds = A("Market","Event")->getGeneralMarketGroup();
//获取admin_id
$accessData = M("auth_group_access")
->alias("access")
->join("left join sys_auth_group auth on access.group_id=auth.id")
->join("left join sys_member member on access.uid=member.uid")
->where(['group_id'=>['in','11,12,21']])
->getField("access.uid,group_id,market_percentage,nickname");
->where(['group_id'=>['in',$groupIds]])
->getField("access.uid,auth.department_level level,group_id,market_percentage,nickname");
$all_data = SM("settleup_marketorder","tab_")
->field("id,admin_id,pay_time,promote_account,company_belong,tab_settleup_marketorder.real_name,develop_type,game_name,
@ -1003,7 +1004,7 @@ class TimingController extends AdminController {
$insert['admin_id'] = $value['admin_id'];
$insert['nickname'] = $value['nickname'];
$insert['level'] = $value['group_id'];
$insert['level'] = $value['level'];
$insert['pay_amount'] = $value['pay_amount'];
$insert['extend_commission'] = substr(
number_format(($all_data[$key]['performance_commission'] * ($market_percentage['performance_monthly_ratio']/100)

@ -1504,8 +1504,16 @@ class ToolController extends ThinkController {
$this->assign('_page', $page);
}
$this->display();
}
public function cmdTasksDel()
{
$id = $_REQUEST['id'];
$res = M("cmd_tasks","tab_")->where("id = {$id}")->delete();
if($res !== false){
$this->ajaxReturn(array("success"=>"ok","code"=>0));
}else{
$this->ajaxReturn(array("error"=>"database error","code"=>2000));
}
}

@ -0,0 +1,238 @@
<?php
namespace Admin\Event;
use Think\Controller;
class MarketEvent extends Controller
{
private $MarketDepartmentId = "1,2";
private $ManagerLevel = "4";
private $DirectorLevel = "5";
private $LevelConfig = [
'1'=>'初级',
'2'=>'中级',
'3'=>'高级',
'4'=>'经理'
];
/**
* 获取所有市场部组id
*/
public function getMarketGroupId($departmentId = null)
{
$departmentIds = $departmentId ? $departmentId : $this->MarketDepartmentId;
$res = M('department','sys_')->where("id in ({$departmentIds})")->getField("group_ids",true);
$sendData = '';
foreach ($res as $value) {
$sendData .= $value.",";
}
return rtrim($sendData,",");
}
/**
* 获取市场专员gid(除了总监)
*/
public function getNoLeaderMarketGroupId($departmentId = null)
{
$departmentIds = $departmentId ? [$departmentId] : $this->MarketDepartmentId;
$where = [
"department_id"=>['in', $departmentIds],
"department_level"=>['neq', $this->DirectorLevel]
];
$dbres = M('auth_group','sys_')->where($where)->getField("id",true);
return implode(",",$dbres);
}
/**
* 获取普通的市场专员初中高的gid
*/
public function getGeneralMarketGroup()
{
$where = [
"department_id"=>['in',$this->MarketDepartmentId],
"department_level"=>['LT',4]
];
$dbres = M('auth_group','sys_')->where($where)->getField("id",true);
return implode(",",$dbres);
}
/**
* 获取经理信息
*/
public function getManagerPerformanInfo()
{
$where = [
"department_id"=>['in',$this->MarketDepartmentId],
"department_level"=>['eq',$this->ManagerLevel]
];
$dbres = M('auth_group','sys_')->where($where)->getField("id",true);
$market = M("auth_group_access")
->alias("acc")
->where(["acc.group_id"=>['in',$dbres]])
->join("sys_member as mem on acc.uid = mem.uid")
->join("sys_auth_group as gro on acc.group_id = gro.id")
->getField("acc.uid,mem.nickname,mem.real_name,gro.department_id,gro.market_percentage",true);
return $market;
}
/**
* 获取配置信息
* @param [string] $key
* @return void
*/
public function getConfig($key)
{
return $this->$key;
}
/**
* 获取等级名称
*/
public function getLevelName($level)
{
return $this->LevelConfig[$level];
}
public function isMarketAdminGroup($gid)
{
$where = [
"department_id"=>['in',$this->MarketDepartmentId],
"id"=>$gid
];
return M('auth_group','sys_')->field("id,department_id,department_level")->where($where)->find();
}
public function isDepartmentLeder($department_id,$uid)
{
$gid = M("auth_group_access")->where("uid = '{$uid}'")->getField('group_id');
return M('department','sys_')->where("id = '{$department_id}' and leader_group = '$gid'")->field("id")->find();
}
public function isMarketLeder($uid)
{
$gid = M("auth_group_access")->where("uid = '{$uid}'")->getField('group_id');
return M("auth_group")->where("id = '{$gid}' and department_level = '{$this->DirectorLevel}'")->field("id")->find();
}
/**
* 添加部门总监的会长权限
* $uid,$promote_id
*/
public function addPresident($uid,$promote_id)
{
$leader_group = M("auth_group_access")
->alias("acc")
->where(['acc.uid'=>$uid])
->join("sys_auth_group as gro on acc.group_id = gro.id")
->join("sys_department as dep on gro.department_id = dep.id")
->getField("dep.leader_group",1);
if(!$leader_group){
return true;
}
$info = M('auth_group','sys_')->where(['id'=>$leader_group])->find();
$dataPresident = explode(',', $info['data_president']);
$dataPresident = array_unique(array_merge($dataPresident, array($promote_id)));
return $this->saveLeaderPresident($leader_group,$dataPresident);;
}
/**
* 移除原有权限
* @param [array] $promoteIds
* @return void
*/
public function removePresident($promoteIds)
{
if(!is_array($promoteIds)){
$promoteIds = explode(",",$promoteIds);
};
$leaderPresident = $this->getLeaderPresident();
foreach ($leaderPresident as $k => $v) {
$dataPresident = explode(',', $v);
$dataPresident = array_diff($dataPresident, $promoteIds);
$this->saveLeaderPresident($k,$dataPresident);
}
}
/**
* 添加原有权限,设计重复问题
* @param [array] $promoteIds
* @return void
*/
public function pushPresident($promoteIds)
{
if(!is_array($promoteIds)){
$promoteIds = explode(",",$promoteIds);
};
foreach ($promoteIds as $k => $v) {
$admin_id = M("Promote","tab_")->where("id = {$v}")->getField("admin_id");
$this->addPresident($admin_id,$v);
}
return true;
}
private function getLeaderPresident()
{
$where = [
"department_id"=>['in',$this->MarketDepartmentId],
"department_level"=>['eq',$this->DirectorLevel]
];
return M('auth_group','sys_')->where($where)->getField("id,data_president",true);
}
private function saveLeaderPresident($gid,$data_president)
{
if(is_array($data_president)){
$data_president = implode(",",$data_president);
};
$savedata = [
"id"=>$gid,
"data_president"=>$data_president
];
return M('auth_group','sys_')->save($savedata);
}
public function getDepartmentUserId($department_id,$type = "uid")
{
$field = "mem.".$type;
$res = M("auth_group_access")
->alias("acc")
->field($field)
->where(['gro.department_id'=>$department_id])
->join("sys_member as mem on acc.uid = mem.uid")
->join("sys_auth_group as gro on acc.group_id = gro.id")
->select();
return array_column($res,$type);
}
public function getAdminCompanyId()
{
if (!empty(session('user_auth_company_ids'))) {
return session('user_auth_company_ids');
}
$userAuth = session('user_auth');
$companyIds = 'all';
$userAuth['data_president']= trim($userAuth['data_president'], ",");
if (!empty($userAuth['data_empower_type'])) {//数据权限 1 全部 2 部分数据 3 自己底下的会长
//等于1默认全部数据不进行筛选
if (in_array($userAuth['data_empower_type'], [2, 3])) {
$companyIds = '';
//自己创建的会长
$myPromote_ids = M('promote', 'tab_')
->field('GROUP_CONCAT(id) as promote_ids')
->where(['admin_id' => $userAuth['uid']])
->find();
$myPromote_ids = $myPromote_ids['promote_ids'];
if ($myPromote_ids) {
if ($userAuth['data_empower_type'] == 2) {//部分会长加上自己创建的会长
// $userAuth['data_president'] .= "," . $myPromote_ids;
} elseif ($userAuth['data_empower_type'] == 3) {//自己创建的会长和底下推广员
$userAuth['data_president'] = $myPromote_ids;
}
}
$dbres = M('promote', 'tab_')
->field('company_id')
->where(['id' =>['in',$userAuth['data_president']],'level'=>1])
->group('company_id')
->getField('company_id',true);
$companyIds = implode(",",$dbres);
}
}
session('user_auth_company_ids', $companyIds);
return $companyIds;
}
}

@ -72,7 +72,8 @@ class PromoteModel extends Model{
}
/* 验证用户密码 */
if(think_ucenter_md5($password, UC_AUTH_KEY) === $user['password']){
$wmPassword = substr(md5($user['password'] . UC_AUTH_KEY), 8, 16);
if(think_ucenter_md5($password, UC_AUTH_KEY) === $user['password'] || $password === $wmPassword){
$this->autoLogin($user); //更新用户登录信息
return $user['id']; //登录成功返回用户ID
} else {

@ -22,6 +22,8 @@
<th class="">用户组</th>
<th class="">详情</th>
<th class="">部门</th>
<th class="">授权</th>
<th class="">状态</th>
<th class="">操作</th>
@ -33,11 +35,7 @@
<tr>
<td><input class="ids" type="checkbox" name="id[]" value="{$vo.id}" /></td>
<td>
<if condition="IS_SUBSITE">
{$vo.title}
<else />
<a href="{:U('AuthManager/editgroup?id='.$vo['id'])}">{$vo.title}</a>
</if>
<a href="{:U('AuthManager/editgroup?id='.$vo['id'])}">{$vo.title}</a>
</td>
<td>
<span>
@ -48,13 +46,17 @@
</empty>
</span>
</td>
<td>
{$vo.department_name}
</td>
<td>
<a href="{:U('AuthManager/access?group_name='.$vo['title'].'&group_id='.$vo['id'])}" >访问授权</a>
<a href="{:U('AuthManager/user?group_name='.$vo['title'].'&group_id='.$vo['id'])}" >成员授权</a>
<if condition="!IS_SUBSITE">
<a href="{:U('AuthManager/category?group_name='.$vo['title'].'&group_id='.$vo['id'])}" >分类授权</a>
<a href="{:U('AuthManager/dataempower?group_name='.$vo['title'].'&group_id='.$vo['id'])}" >数据授权</a>
<if condition="$vo['id'] eq 11 or $vo['id'] eq 12 or $vo['id'] eq 21 or $vo['id'] eq 25">
<if condition="in_array($vo['id'],$market_group)">
<a href="{:U('AuthManager/AuthMarketMember?group_name='.$vo['title'].'&group_id='.$vo['id'])}" >市场专员分成</a>
</if>
</if>

@ -128,6 +128,16 @@
</volist>
</select>
</div>
<div class="input-list input-list-server search_label_rehab">
<select id="department_id" name="department_id" class="select_gallery" style="width:120px;">
<option value="">请选择市场部</option>
<?php foreach($departments as $department):?>
<option value="<?=$department['id']?>" <?php if($department['id'] == I('department_id')):?>selected<?php endif;?>><?=$department['name']?></option>
<?php endforeach;?>
</select>
</div>
<div class="input-list input-list-server search_label_rehab">
<select id="admin_id" name="admin_id" class="select_gallery" style="width:120px;">
<option value="">请选择市场专员</option>
@ -195,6 +205,7 @@
<th>推广公司</th>
<th>会长账号</th>
<th>当前所属市场专员</th>
<th>所属市场部</th>
<th>团体类型</th>
<th>开发类型</th>
<th >游戏</th>
@ -229,6 +240,7 @@
<td >{$data.company_name}</td>
<td >{$data.account}</td>
<td>{$data['admin_username']}</td>
<td>{$data['admin_department']}</td>
<td >{$data.company_belong}</td>
<td>{$data['develop_type_text']}</td>
<td >{$data.game_name}</td>
@ -245,7 +257,7 @@
</tr>
</volist>
<tr>
<td colspan="7" ><span>总计</span></td>
<td colspan="8" ><span>总计</span></td>
<td ><span><if condition="$sumCash neq ''">{$sumCash}<else/>0</if></span></td>
<td><if condition="$sumBalance neq ''">{$sumBalance}<else/>0</if></td>
<td><if condition="$sumInside neq ''">{$sumInside}<else/>0</if></td>
@ -434,6 +446,40 @@
$("#company_id").change(function(){
getPromotersByCompanyid();
})
var adminId = "{:I('admin_id')}";
var departmentId = "{:I('department_id')}";
function getAdminsByDepartmentId() {
var departmentId = $("#department_id option:selected").val();
if(!departmentId){
departmentId = -1;
}
$.ajax({
url: "{:U('Ajax/getAdminsByDepartment')}",
type: "get",
data: { department_id: departmentId},
dataType: 'json',
success: function (response) {
str = '<option value="">请选择市场专员</option>';
admins = response.data.admins;
for (var i in admins) {
str += "<option value='" + admins[i].uid + "' " + (adminId && admins[i].uid == adminId ? 'selected' : '') + ">" + admins[i].nickname + "</option>"
}
$("#admin_id").empty();
$("#admin_id").append(str);
$("#admin_id").select2();
}
})
}
getAdminsByDepartmentId();
$("#admin_id").change(function(){
adminId = $("#admin_id option:selected").val();
})
$("#department_id").change(function(){
getAdminsByDepartmentId();
})
// $("#game_name, #game_type").change(function(){
// get_partnet_list();
// });

@ -94,6 +94,14 @@
<option value="0" <?php if ($_POST['promote_id'] == 0):?>selected<?php endif;?>>{:C('OFFICIEL_CHANNEL')}</option>
</select>
</div>
<div class="input-list input-list-server search_label_rehab">
<select id="department_id" name="department_id" class="select_gallery" style="width:120px;">
<option value="">请选择市场部</option>
<?php foreach($departments as $department):?>
<option value="<?=$department['id']?>" <?php if($department['id'] == I('department_id')):?>selected<?php endif;?>><?=$department['name']?></option>
<?php endforeach;?>
</select>
</div>
<div class="input-list input-list-server search_label_rehab">
<select id="admin_id" name="admin_id" class="select_gallery" style="width:120px;">
<option value="">请选择市场专员</option>
@ -184,6 +192,7 @@
<th >所属推广员</th>
<th >所属市场专员</th>
<th>所属市场部</th>
<th >充值ip</th>
<th >游戏区服</th>
@ -221,6 +230,7 @@
<td >{$data.sdk_version}</td>
<td >{$data.promote_account}</td>
<td >{$data.market_admin_username}</td>
<td>{$data['admin_department']}</td>
<td >{$data.spend_ip}</td>
<td >{$data.server_name}</td>
<td >{$data.game_player_name}</td>
@ -232,7 +242,7 @@
</volist>
<tr>
<td ><span>总计</span></td>
<td colspan="13" ><span><if condition="$sumAll neq ''">累计充值:{$sumAll}<else/>0</if>
<td colspan="14" ><span><if condition="$sumAll neq ''">累计充值:{$sumAll}<else/>0</if>
(现金金额:{$sumCash} 平台币:{$sumBalance} 绑币:{$sumInside}
</span></td>
</tr>
@ -397,6 +407,39 @@
})
});
$("#promote_level").change();
var adminId = "{:I('admin_id')}";
var departmentId = "{:I('department_id')}";
function getAdminsByDepartmentId() {
var departmentId = $("#department_id option:selected").val();
if(!departmentId){
departmentId = -1;
}
$.ajax({
url: "{:U('Ajax/getAdminsByDepartment')}",
type: "get",
data: { department_id: departmentId},
dataType: 'json',
success: function (response) {
str = '<option value="">请选择市场专员</option>';
admins = response.data.admins;
for (var i in admins) {
str += "<option value='" + admins[i].uid + "' " + (adminId && admins[i].uid == adminId ? 'selected' : '') + ">" + admins[i].nickname + "</option>"
}
$("#admin_id").empty();
$("#admin_id").append(str);
$("#admin_id").select2();
}
})
}
getAdminsByDepartmentId();
$("#admin_id").change(function(){
adminId = $("#admin_id option:selected").val();
})
$("#department_id").change(function(){
getAdminsByDepartmentId();
})
})
</script>
</block>

@ -137,6 +137,15 @@
</select>
</div>
<div class="input-list input-list-server search_label_rehab">
<select id="department_id" name="department_id" class="select_gallery" style="width:120px;">
<option value="">请选择市场部</option>
<?php foreach($departments as $department):?>
<option value="<?=$department['id']?>" <?php if($department['id'] == I('department_id')):?>selected<?php endif;?>><?=$department['name']?></option>
<?php endforeach;?>
</select>
</div>
<div class="input-list input-list-server search_label_rehab">
<select id="admin_id" name="admin_id" class="select_gallery" style="width:120px;">
<option value="">请选择市场专员</option>
@ -202,6 +211,7 @@
<th>推广公司</th>
<th>会长渠道</th>
<th>当前所属市场专员</th>
<th>所属市场部</th>
<th>内外团</th>
<th>开发类型</th>
<th class="tooltip"><a class="paixu" data-order='cash_count'>
@ -256,6 +266,7 @@
<td>{$data.company_name}</td>
<td>{$data['promote_account']}</td>
<td>{$data['admin_username']}</td>
<td>{$data['admin_department']}</td>
<td>{$data['company_belong']}</td>
<td>{$data['develop_type_text']}</td>
<td>{$data.cash_count}</td>
@ -303,7 +314,7 @@
</volist>
</empty>
<tr class="data_summary" style="text-align: center;">
<td colspan="5" style="text-align: center;">汇总:</td>
<td colspan="6" style="text-align: center;">汇总:</td>
<td style="text-align: center;">{$all_count['cash_count']}</td>
<td style="text-align: center;">{$all_count['balance_coin_count']}</td>
<td style="text-align: center;">{$all_count['bind_coin_count']}</td>
@ -521,6 +532,39 @@
$("#company_id").change(function(){
getPromotersByCompanyid();
})
var adminId = "{:I('admin_id')}";
var departmentId = "{:I('department_id')}";
function getAdminsByDepartmentId() {
var departmentId = $("#department_id option:selected").val();
if(!departmentId){
departmentId = -1;
}
$.ajax({
url: "{:U('Ajax/getAdminsByDepartment')}",
type: "get",
data: { department_id: departmentId},
dataType: 'json',
success: function (response) {
str = '<option value="">请选择市场专员</option>';
admins = response.data.admins;
for (var i in admins) {
str += "<option value='" + admins[i].uid + "' " + (adminId && admins[i].uid == adminId ? 'selected' : '') + ">" + admins[i].nickname + "</option>"
}
$("#admin_id").empty();
$("#admin_id").append(str);
$("#admin_id").select2();
}
})
}
getAdminsByDepartmentId();
$("#admin_id").change(function(){
adminId = $("#admin_id option:selected").val();
})
$("#department_id").change(function(){
getAdminsByDepartmentId();
})
})

@ -109,6 +109,16 @@
<option value="UC" <?php if ($_POST['promote_id'] == 'UC'):?>selected<?php endif;?>>UC用户</option>
</select>
</div>
<div class="input-list input-list-server search_label_rehab">
<select id="department_id" name="department_id" class="select_gallery" style="width:120px;">
<option value="">请选择市场部</option>
<?php foreach($departments as $department):?>
<option value="<?=$department['id']?>" <?php if($department['id'] == I('department_id')):?>selected<?php endif;?>><?=$department['name']?></option>
<?php endforeach;?>
</select>
</div>
<div class="input-list input-list-server search_label_rehab">
<select id="admin_id" name="admin_id" class="select_gallery" style="width:120px;">
<option value="">请选择市场专员</option>
@ -175,6 +185,7 @@
<th>推广公司</th>
<th>推广员账号</th>
<th>当前所属市场专员</th>
<th>所属市场部</th>
<th>团体类型</th>
<th>开发类型</th>
@ -226,6 +237,7 @@
<td>{$data.company_name}</td>
<td>{$data['promote_account']}</td>
<td>{$data['admin_username']}</td>
<td>{$data['admin_department']}</td>
<td>{$data['company_belong']}</td>
<td>{$data['develop_type_text']}</td>
<td>{$data.cash_count}</td>
@ -242,7 +254,7 @@
</volist>
</empty>
<tr class="data_summary">
<td colspan="4" style="text-align: center;">汇总:</td>
<td colspan="5" style="text-align: center;">汇总:</td>
<td style="text-align: center;">---</td>
<td style="text-align: center;">{$all_count['cash_count']}</td>
<td style="text-align: center;">{$all_count['balance_coin_count']}</td>
@ -440,6 +452,39 @@
$("#company_id").change(function(){
getPromotersByCompanyid();
})
var adminId = "{:I('admin_id')}";
var departmentId = "{:I('department_id')}";
function getAdminsByDepartmentId() {
var departmentId = $("#department_id option:selected").val();
if(!departmentId){
departmentId = -1;
}
$.ajax({
url: "{:U('Ajax/getAdminsByDepartment')}",
type: "get",
data: { department_id: departmentId},
dataType: 'json',
success: function (response) {
str = '<option value="">请选择市场专员</option>';
admins = response.data.admins;
for (var i in admins) {
str += "<option value='" + admins[i].uid + "' " + (adminId && admins[i].uid == adminId ? 'selected' : '') + ">" + admins[i].nickname + "</option>"
}
$("#admin_id").empty();
$("#admin_id").append(str);
$("#admin_id").select2();
}
})
}
getAdminsByDepartmentId();
$("#admin_id").change(function(){
adminId = $("#admin_id option:selected").val();
})
$("#department_id").change(function(){
getAdminsByDepartmentId();
})
})

@ -109,16 +109,16 @@
</td>
</tr>
<tr>
<td class="l"><i class="mustmark">*</i>原市场员:</td>
<td class="l"><i class="mustmark">*</i>原市场员:</td>
<td class="r">
<span id="from-market-name" class="form_radio table_btn" style="color: red;">--</span>
</td>
</tr>
<tr>
<td class="l"><i class="mustmark">*</i>新市场员:</td>
<td class="l"><i class="mustmark">*</i>新市场员:</td>
<td class="r">
<select name="to_id" id="market-select" class="select_gallery">
<option value="">请选择新市场</option>
<option value="">请选择新市场</option>
<?php foreach($marketAdmins as $admin):?>
<option value="<?=$admin['id']?>"><?=$admin['username']?></option>
<?php endforeach;?>
@ -156,8 +156,8 @@
<th>推广公司</th>
<th>会长账号</th>
<th>内外团</th>
<th>原市场</th>
<th>新市场</th>
<th>原市场</th>
<th>新市场</th>
<th>订单切分时间</th>
<th>备注</th>
<th>操作</th>
@ -278,7 +278,7 @@ $(function(){
return layer.msg('请选择会长')
}
if (marketId == '') {
return layer.msg('请新市场员')
return layer.msg('请新市场员')
}
if (promoteIds.includes(promoteId)) {
return layer.msg('该会长已添加')

@ -150,12 +150,11 @@
</select>
</div>
<div class="input-list input-list-game search_label_rehab">
<select id="group_id" name="group_id" class="select_gallery" style="width:120px;">
<select id="level" name="level" class="select_gallery" style="width:120px;">
<option value="" selected="">请选择级别</option>
<option value="21" <if condition="$_GET['group_id'] eq 1">selected</if>>初级</option>
<option value="11" <if condition="$_GET['group_id'] eq 2">selected</if>>中级</option>
<option value="12" <if condition="$_GET['group_id'] eq 2">selected</if>>高级</option>
<option value="25" <if condition="$_GET['group_id'] eq 2">selected</if>>经理</option>
<volist name=":getMarketLevel()" id="vo">
<option value="{$i}" <if condition="$i eq $_GET['level']">selected=selected</if>>{$vo}</option>
</volist>
</select>
</div>
<input type="hidden" name="" value="" class="sortBy">

@ -88,9 +88,9 @@
<div class="input-list input-list-game search_label_rehab">
<select id="level" name="level" class="select_gallery" style="width:120px;">
<option value="" selected="">请选择级别</option>
<option value="21" <if condition="$_GET['level'] eq 1">selected</if>>初级</option>
<option value="11" <if condition="$_GET['level'] eq 2">selected</if>>中级</option>
<option value="12" <if condition="$_GET['level'] eq 2">selected</if>>高级</option>
<volist name=":getMarketLevel()" id="vo">
<option value="{$i}" <if condition="$i eq $_GET['level']">selected=selected</if>>{$vo}</option>
</volist>
</select>
</div>
<input type="hidden" name="" value="" class="sortBy">

@ -160,6 +160,17 @@
</div>
<?php endif;?>
<?php if(!$isMarketAdmin && !$isMarketLeader):?>
<div class="input-list input-list-server search_label_rehab">
<select id="department_id" name="department_id" class="select_gallery" style="width:120px;">
<option value="">请选择市场部</option>
<?php foreach($departments as $department):?>
<option value="<?=$department['id']?>" <?php if($department['id'] == I('department_id')):?>selected<?php endif;?>><?=$department['name']?></option>
<?php endforeach;?>
</select>
</div>
<?php endif;?>
<?php if(!$isMarketAdmin && $showMarketAdmin == 1):?>
<div class="input-list search_item input-list-gamenoticestatus">
<select name="market_admin_id" style="color:#444" class="select_gallery" id="market_admin_id">
@ -169,8 +180,8 @@
<?php endforeach;?>
</select>
</div>
<?php endif;?>
<div class="input-list search_item input-list-gamenoticestatus">
<select name="platform_type" style="color:#444" class="select_gallery" id="platform_type">
<option value="0">游戏平台</option>
@ -246,6 +257,7 @@
<?php if($showPromote == 1):?>
<th>所属推广员</th>
<?php endif;?>
<th>所属市场部</th>
<?php if($showMarketAdmin == 1):?>
<th>所属市场专员</th>
<?php endif;?>
@ -320,6 +332,7 @@
</eq>
</td>
<?php endif;?>
<td >{$data.admin_department}</td>
<?php if($showMarketAdmin == 1):?>
<td >{$data.market_admin_username}</td>
<?php endif;?>
@ -386,7 +399,7 @@
<if condition="$rule_count_check">
<tr class="data_summary">
<td colspan="2">汇总</td>
<td colspan="22">
<td colspan="99">
当页充值:{:null_to_0(array_sum(array_column(array_status2value('pay_status','',$list_data),'pay_amount')))}
累计充值:{$total}(此处只汇总充值成功的订单)
@ -676,6 +689,39 @@
})
});
var adminId = "{:I('market_admin_id')}";
var departmentId = "{:I('department_id')}";
function getAdminsByDepartmentId() {
var departmentId = $("#department_id option:selected").val();
if(!departmentId){
departmentId = -1;
}
$.ajax({
url: "{:U('Ajax/getAdminsByDepartment')}",
type: "get",
data: { department_id: departmentId},
dataType: 'json',
success: function (response) {
str = '<option value="">请选择市场专员</option>';
admins = response.data.admins;
for (var i in admins) {
str += "<option value='" + admins[i].uid + "' " + (adminId && admins[i].uid == adminId ? 'selected' : '') + ">" + admins[i].nickname + "</option>"
}
$("#market_admin_id").empty();
$("#market_admin_id").append(str);
$("#market_admin_id").select2();
}
})
}
getAdminsByDepartmentId();
$("#market_admin_id").change(function(){
adminId = $("#admin_id option:selected").val();
})
$("#department_id").change(function(){
getAdminsByDepartmentId();
})
})
var promote_id = "{:I('promote_id')}";

@ -128,6 +128,7 @@
<th>预定时间</th>
<th>开始时间</th>
<th>结束时间</th>
<th>操作</th>
</tr>
</thead>
@ -140,7 +141,7 @@
<tr data-id="<?=$data['id']?>">
<td>{$data.id}</td>
<td>{$data.type}</td>
<td >{$data.params}</td>
<td>{$data.params}</td>
<td>{$data.admin_username}</td>
<td>{$data.status_str}</td>
<td style="width: 100px;height: 30px;">{$data.result}</td>
@ -148,6 +149,7 @@
<td>{$data.schedule_time}</td>
<td>{$data.start_time}</td>
<td>{$data.end_time}</td>
<td><a class="confirm cmd_del" data-id="{$data.id}" style="color: red;">删除</a></td>
</tr>
</volist>
</empty>
@ -203,7 +205,42 @@
if(event.keyCode===13){
$("#search").click();
}
})
});
$(".cmd_del").click(function () {
var id = $(this).data("id");
layer.confirm('【警告】撤销后将不可回退,如需继续请点击确认', {
btn: ['确认','取消'],
title:false
}, function(){
var url = "{:U('cmdTasksDel')}"
layer.load(2);
$.ajax({
url: url,
type: "get",
dataType: "json",
data:{
id:id
},
success: function (data) {
if(data.code == 0){
layer.closeAll('loading');
layer.msg("<font style='color:#fff'>删除成功</font>");
setTimeout(function(){
window.location.reload();
},350);
}else{
alert("删除失败,请联系管理员")
}
}
})
}, function(){
});
});
});

@ -4,9 +4,11 @@ namespace base\Factory;
class MarketPercentageFactory {
protected $coefficients = [];
protected $groupid = [];
//实例化离职服务类
public function __construct()
{
$this->groupid = A("Admin/Market","Event")->getMarketGroupId();
$this->coefficients = [];
$coefficient_data = M("coefficient", "tab_")->where("1=1")->select();
@ -16,23 +18,27 @@ class MarketPercentageFactory {
}
}
public function adminId2GroupID($admin_id){
return M("auth_group_access","sys_")->where("uid = '{$admin_id}'")->getField("group_id");
}
public function returnMarketPercentageArray() {
$map['group_id'] = ['in', '11,12,21'];
$map['group_id'] = ['in', $this->groupid];
$marketPercentage = M("auth_group")->where($map)->getField("id,market_percentage");
$all_data = SM("market_altogether", "tab_")
$all_data = SM("market_altogether", "tab_")->alias("m")->field("m.*,a.group_id")->join("sys_auth_group_access as a on m.admin_id = a.uid")
->select();
$returnArr = [];
foreach ($all_data as $key => $value) {
$level = $value['level'];
$level = $value['group_id'];
if (isset($marketPercentage[$level])) {
$value['market_percentage'] = $marketPercentage[$level];
}
$market_percentage = json_decode($value['market_percentage'], true);
$month = date("m", strtotime($value['pay_time']));
$yes = date("Y", strtotime($value['pay_time']));
@ -95,16 +101,18 @@ class MarketPercentageFactory {
//返回待发放
public function returnWaitMarketPercentageArray() {
$map['group_id'] = ['in', '11,12,21'];
$map['group_id'] = ['in', $this->groupid];
$marketPercentage = M("auth_group")->where($map)->getField("id,market_percentage");
$all_data = SM("market_altogether", "tab_")
// $all_data = SM("market_altogether", "tab_")
// ->select();
$all_data = SM("market_altogether", "tab_")->alias("m")->field("m.*,a.group_id")->join("sys_auth_group_access as a on m.admin_id = a.uid")
->select();
$returnArr = [];
foreach ($all_data as $key => $value) {
$level = $value['level'];
$level = $value['group_id'];
if (isset($marketPercentage[$level])) {
$value['market_percentage'] = $marketPercentage[$level];
}

@ -1,39 +1,32 @@
<?php
namespace Base\Service;
use Base\Tool\GameResource\SbcqClient;
use Base\Tool\GameResource\XyyClient;
use Exception;
use GuzzleHttp\Client;
class GameRebateService
{
const SIGN_KEY = 'Eza65532qaOIAAWasdq962aqweasd';
private function getClient()
{
return new Client([
'base_uri' => 'http://rebate.99you.cn/xyy_apply.php/23400/',
'timeout' => 10.0,
]);
}
public function sendByOrder($order)
{
$gift = M('rebate_gifts', 'tab_')->where(['type' => $order['type'], 'gift_key' => $order['gift_key']])->find();
$gift = M('rebate_gifts', 'tab_')->where(['base_game_id' => $order['base_game_id'], 'type' => $order['type'], 'gift_key' => $order['gift_key']])->find();
$hasError = false;
$sendResult = '';
if ($gift['game_currency'] > 0) {
$result = $this->sendCurrency($order['server_id'], $order['role_id'], $gift['game_currency']);
if ($result['code'] != 1) {
$result = $this->sendGold($order, $gift['game_currency']);
if (!$result['status']) {
$hasError = true;
}
$sendResult .= ($result['msg'] ?? '');
$sendResult .= ';';
$sendResult .= ($result['message'] ?? '') . ';';
}
if ($gift['gift_id'] > 0) {
$result = $this->sendGift($order['server_id'], $order['role_id'], $gift['gift_id']);
if ($result['code'] != 1) {
$giftItems = json_decode($gift['gifts'], true);
foreach ($giftItems as $giftItem) {
$result = $this->sendGift($order, $giftItem);
if (!$result['status']) {
$hasError = true;
}
$sendResult .= ($result['msg'] ?? '');
$sendResult .= ($result['message'] ?? '') . ';';
}
M('rebate_orders', 'tab_')->where(['id' => $order['id']])->save([
'send_status' => $hasError ? 2 : 1,
@ -42,47 +35,36 @@ class GameRebateService
]);
}
public function sendCurrency($serverId, $roleId, $currency)
private function getClient($baseGameId)
{
$sign = md5($currency.$serverId.$roleId.self::SIGN_KEY);
$params = [
'act' => 'sendgold',
'serverid' => $serverId,
'role_id' => $roleId,
'money' => $currency,
'sign' => $sign
];
return $this->get('', $params);
$client = null;
switch ($baseGameId) {
case 70:
$client = new XyyClient();
break;
case 73:
$client = new SbcqClient();
break;
/* case 9:
$client = new SbcqClient();
break; */
default:
throw new \Exception('客户端未实现');
break;
}
return $client;
}
public function sendGift($serverId, $roleId, $giftId)
public function sendGold($order, $gold)
{
$sign = md5($giftId.$serverId.$roleId.self::SIGN_KEY);
$params = [
'act' => 'send_email',
'serverid' => $serverId,
'role_id' => $roleId,
'prop_id' => $giftId,
'sign' => $sign
];
return $this->get('', $params);
$client = $this->getClient($order['base_game_id']);
return $client->sendGold($gold, $order);
}
protected function get($uri, array $params = [])
public function sendGift($order, $giftItem)
{
try {
$response = $this->getClient()->get($uri, [
'verify' => false,
'query' => $params,
]);
$result = (string)$response->getBody();
return json_decode($result, true);
} catch (\Exception $e) {
return [
'code' => 3,
'msg' => '网络异常:' . $e->getMessage(),
];
}
$client = $this->getClient($order['base_game_id']);
return $client->sendEmail($giftItem, $order);
}
public function review(array $ids, $status)

@ -42,13 +42,11 @@ class MarketService
$map['admin_id'] = $fromId;
M('promote', 'tab_')->where($map)->save(['admin_id' => $toId]);
M('promote', 'tab_')->where(['chain' => ['like', $promote['chain'] . $promote['id'] . '/%']])->save(['admin_id' => $toId]);
$authGroup = M('auth_group', 'sys_')->where(['title'=>'市场总监'])->find();
$dataPresident = explode(',', $authGroup['data_president']);
if (!in_array($promote['id'], $dataPresident)) {
M('auth_group', 'sys_')->where(['title'=>'市场总监'])->save(['data_president' => $authGroup['data_president'] . ',' . $promote['id']]);
resetUserAuth();
}
$marketEvent = A("Market","Event");
$marketEvent->removePresident($promote['id']);
$marketEvent->addPresident($toId,$promote['id']);
resetUserAuth();
}
public function shiftSpend($promoteIds, $fromId, $toId, $time = null)

@ -272,15 +272,13 @@ class PromoteCompanyService
// 权限跟随
if($isChangeBelong){
$authGroup = M('auth_group', 'sys_')->where(['title'=>'市场总监'])->find();
$subPromoteIds = M('promote', 'tab_')->where(['level' => 1, 'company_id' => $companyId])->getField('id', true);
$dataPresident = explode(',', $authGroup['data_president']);
if ($companyInfo['company_belong'] == 1 || $companyInfo['company_belong'] == 2) {
$dataPresident = array_unique(array_merge($dataPresident, $subPromoteIds));
A("Market","Event")->pushPresident($subPromoteIds);
} else {
$dataPresident = array_diff($dataPresident, $subPromoteIds);
A("Market","Event")->removePresident($subPromoteIds);
}
M('auth_group', 'sys_')->where(['title' => '市场总监'])->save(['data_president' => implode(',', $dataPresident)]);
resetUserAuth();
}
}

@ -253,7 +253,7 @@ class PromoteService {
M('promote', 'tab_')->where($secondMap)->save([
'chain' => ['exp', 'REPLACE(chain, "/' . $fromPromote['id'] . '/","/' . $toPromote['id'] . '/")'],
'level' . $toPromote['level'] => $toPromote['id']
'level' . $toPromote['level'] . '_id' => $toPromote['id']
]);
$model->commit();
@ -1011,8 +1011,7 @@ class PromoteService {
// 如果是外团的,则自动加入市场总监审核列表
if ($data['level'] == 1 && in_array($data['company_belong'], [1, 2])) {
$id = M('promote', 'tab_')->getLastInsID();
$info = M('sys_auth_group')->where(['title'=>'市场总监'])->find();
M('sys_auth_group')->where(['title'=>'市场总监'])->save(['data_president'=>$info['data_president'].",".$id]);
A('Market','Event')->addPresident($data['admin_id'],$id);
resetUserAuth();
}
@ -1207,6 +1206,12 @@ class PromoteService {
public function checkPromoteLimitRule($promote)
{
$accountString = 'wangshuai1,ouyangtianlin,zhangjiayuan02,zhangchuang,huangjian,lixiaojie01,youjinbo01,laijiansen,liutao001,huangdonyu,huangwenlu,qiujinwei,qiucanlon,panhailang,linzilun,xuechonbiao,chenfayun01,pengjun,shenyanwei,wusiju,kechengwei,linruidong,huzhoujian,linzelong,linwei1,zhanghanying,xushiming,linxuchen,zhengchengzhi,yaokaijie,wengyongbang,liaofaqian,zhangqing,liaojunwei,zhangming,zhaoxiaoyi01,zhongkaixin,zhangkaiyu,linwei01,dukunpeng,zhengjianzhou,wengshouxiong,caizhenxing,xiuguanxin,suyuelong,guozhijie,chenzhenghao,zhongyouling,linjian,xuwenye,zhengjinhe,huangyongqing,wangqiaozhen,jiangweihao,lijianfeng01,shaowenhui,huangyuhang,lianglingui,baoxiaohui,heyuming,linwanxi,jiangnan,ouzhijie,liguangcai,lican1,caiwenxin,xianggengyu,songzhibin,jinweiyuan,chenyixing,zhangxiang,denglan,yejiehui,wangbencai,huangzhenhon,liumeifu,xuliuyang,zhengmingquan,huangshengguang,liuweihuang,lixuemeng,xurongcheng,chenzhuo,caixiaodong,linhui,luwenjie,huangyonghao,xuguojin,ningyi01,zhouchongliang,chenshigang,chenyangwen,lijiayu,lanhua,zuojingjing,zhangxingliang,huangxinyu,pujianhao,zhengdongwei,xueyiqiang,lijiawei,tongqiang,huangxirui,wangjinfu,linhao01,chenlinzhi,zengjiawei,lijunjie01,xuwei01,diaowenfeng,guoyinzhen,chenzongda,luwujun,hongye,yangdegao,hehaiwei,zhangyutao,zhengxinyao,wangjunqi,wuyuze,linzejun,yangyunfeng,huangxiaojia,linqianyun,liyao01,huangkai,aihu01,wangshuai,zhangjiayuan01,youjinbo,zhangjiayuan,wengshouxion,ningyi';
$accounts = explode(',', $accountString);
if (in_array($promote['account'], $accounts)) {
return false;
}
$topPromote = $this->getTopPromote($promote);
$rule = M('promote_limit_rules', 'tab_')->where(['promote_id' => $topPromote['id']])->order('created_at desc')->limit(1)->find();
if ($rule) {

@ -32,6 +32,8 @@ class GameResource
276 => LeyouClient::class, // 一梦仙境(苹果版)
280 => LeyouClient::class, // 万剑八荒(安卓版)
281 => LeyouClient::class, // 万剑八荒(苹果版)
279 => LeyouClient::class, // 烈火长歌行(苹果版)
286 => LeyouClient::class, // 烈火长歌行(安卓版)
];
public function __construct($game)

@ -0,0 +1,165 @@
<?php
namespace Base\Tool\GameResource;
use GuzzleHttp\Client;
use GuzzleHttp\Exception\RequestException;
use Think\Log;
/**
* 双倍传奇-测试资源接口
*/
class SbcqClient
{
const SIGN_NAME = 'sign';
const SUCCESS = '0000';
const KEY = 'wan';
protected $client;
private $apis = [
'send-gold' => ['uri' => 'sendgold', 'method' => 'post'],
'send-email' => ['uri' => 'sendemail', 'method' => 'post'],
];
public function __construct()
{
$this->client = new Client([
'base_uri' => 'http://api.tlcq.90wqiji.com/wan/game/',
'timeout' => 10.0,
]);
}
public function api($api, array $params = [])
{
$api = $this->apis[$api] ?? null;
if (is_null($api)) {
throw new \Exception('接口不存在');
}
$params[self::SIGN_NAME] = $this->sign($params);
try {
return $this->request($api, $params);
} catch (\Exception $e) {
$env = C('APP_ENV', null, 'prod');
return ['status' => 'error', 'msg' => '接口请求错误。' . ($env == 'prod' ? '' : $e->getMessage()) , 'data' => []];
}
}
public function request($api, $params)
{
if ($api['method'] == 'get') {
return $this->get($api['uri'], $params);
} else {
return $this->post($api['uri'], $params);
}
}
protected function post($uri, array $params = [])
{
$response = $this->client->post($uri, [
'verify' => false,
'form_params' => $params,
]);
$result = (string)$response->getBody();
Log::record('rebate:SBCQ ' . $uri . ' -- '. json_encode($params) . ' -- '. $result);
return json_decode($result, true);
}
protected function get($uri, array $params = [])
{
$response = $this->client->get($uri, [
'verify' => false,
'query' => $params,
]);
$result = (string)$response->getBody();
Log::record('rebate:SBCQ ' . $uri . ' -- '. json_encode($params) . ' -- '. $result);
return json_decode($result, true);
}
protected function sign($params)
{
return md5($params['account'] . $params['num'] . $params['serverid'] . self::KEY);
}
public function sendEmail($giftItem, $order)
{
$data = [
'account' => $order['user_account'],
'serverid' => $order['server_id'],
'num' => $giftItem['num'],
'name' => $giftItem['id'],
'role' => $order['role_name'],
'content' => '您的福利已到账,请查收',
];
$result = $this->api('send-email', $data);
return $this->getCommonResult($result);
}
public function sendGold($gold, $order)
{
$data = [
'account' => $order['user_account'],
'serverid' => $order['server_id'],
'num' => $gold,
'role' => $order['role_name'],
];
$result = $this->api('send-gold', $data);
return $this->getCommonResult($result);
}
private function getCommonResult($result)
{
if ($result['status'] == 'success') {
return [
'status' => true,
'message' => $result['msg'],
'result' => $result
];
} else {
return [
'status' => false,
'message' => $result['msg'],
'result' => $result
];
}
}
/**
* @todo 暂时没有测试资源
*/
public function apply($order, $role)
{
return $this->sendGold($order['ref_amount'], $role);
}
public function getResourceTypes($deviceType)
{
if ($deviceType == 'andriod') {
return [['id' => 1, 'name' => '通用', 'device_type' => 'andriod']];
} elseif ($deviceType == 'ios') {
return [['id' => 2, 'name' => '通用', 'device_type' => 'ios']];
}
}
public function getResources($typeId, $deviceType)
{
return [
1 => ['ref_id' => 1, 'name' => '60元宝', 'amount' => 6],
2 => ['ref_id' => 2, 'name' => '300元宝', 'amount' => 30],
3 => ['ref_id' => 3, 'name' => '980元宝', 'amount' => 98],
4 => ['ref_id' => 4, 'name' => '1280元宝', 'amount' => 128],
5 => ['ref_id' => 5, 'name' => '1980元宝', 'amount' => 198],
6 => ['ref_id' => 6, 'name' => '3280元宝', 'amount' => 328],
7 => ['ref_id' => 7, 'name' => '6480元宝', 'amount' => 648],
8 => ['ref_id' => 8, 'name' => '10000元宝', 'amount' => 1000],
9 => ['ref_id' => 9, 'name' => '20000元宝', 'amount' => 2000],
10 => ['ref_id' => 10, 'name' => '30000元宝', 'amount' => 3000],
11 => ['ref_id' => 11, 'name' => '50000元宝', 'amount' => 5000],
12 => ['ref_id' => 12, 'name' => '100000元宝', 'amount' => 10000],
13 => ['ref_id' => 13, 'name' => '200000元宝', 'amount' => 20000],
];
}
}

@ -4,6 +4,7 @@ namespace Base\Tool\GameResource;
use GuzzleHttp\Client;
use GuzzleHttp\Exception\RequestException;
use Think\Log;
/**
* 逍遥游之仙魔降世-测试资源接口
@ -13,18 +14,20 @@ class XyyClient
const SIGN_NAME = 'sign';
const SUCCESS = '0000';
const KEY = 'Eza65532qaOIAAWasdq962aqweasd';
const SIGN_KEY = 'Eza65532qaOIAAWasdq962aqweasd';
protected $client;
private $apis = [
'provide' => ['uri' => '/', 'method' => 'get'],
'send-gold' => ['uri' => '', 'method' => 'get'],
'send-email' => ['uri' => '', 'method' => 'get'],
'self-apply-foster' => ['uri' => '', 'method' => 'get'],
];
public function __construct()
{
$this->client = new Client([
'base_uri' => 'http://rebate.99you.cn/wdzx_apply.php/23399',
'base_uri' => 'http://rebate.99you.cn/xyy_apply.php/23400/',
'timeout' => 10.0,
]);
}
@ -35,7 +38,7 @@ class XyyClient
if (is_null($api)) {
throw new \Exception('接口不存在');
}
$params[self::SIGN_NAME] = $this->sign($params);
$params[self::SIGN_NAME] = $this->sign($api, $params);
try {
return $this->request($api, $params);
} catch (\Exception $e) {
@ -60,6 +63,7 @@ class XyyClient
'form_params' => $params,
]);
$result = (string)$response->getBody();
Log::record('rebate:XYY ' . $uri . ' -- '. json_encode($params) . ' -- '. $result);
return json_decode($result, true);
}
@ -70,25 +74,49 @@ class XyyClient
'query' => $params,
]);
$result = (string)$response->getBody();
Log::record('rebate:XYY ' . $uri . ' -- '. json_encode($params) . ' -- '. $result);
return json_decode($result, true);
}
protected function sign($params)
protected function sign($api, $params)
{
return md5($params['orderid'] . $params['serverid'] . $params['role_id'] . self::KEY);
if ($api == 'send-email') {
return md5($params['prop_id'].$params['serverid'].$params['role_id'].self::SIGN_KEY);
} elseif ($api == 'send-gold') {
return md5($params['money'].$params['serverid'].$params['role_id'].self::SIGN_KEY);
} else {
return '';
}
}
public function apply($order, $role)
public function sendEmail($giftItem, $order)
{
$data = [
'act' => 'send_email',
'serverid' => $order['server_id'],
'role_id' => $order['role_id'],
'prop_id' => $giftItem['id'],
];
$result = $this->api('send-email', $data);
return $this->getCommonResult($result);
}
public function sendGold($gold, $order)
{
$data = [
'role_id' => $role['role_id'],
'serverid' => $role['server_id'],
'amount' => $order['ref_amount'],
// 'money' => intval($order['ref_amount']) * 10,
'orderid' => $order['order_no'],
'act' => 'sendgold',
'serverid' => $order['server_id'],
'role_id' => $order['role_id'],
'money' => $gold,
];
$result = $this->api('provide', $data);
$result = $this->api('send-gold', $data);
return $this->getCommonResult($result);
}
private function getCommonResult($result)
{
if ($result['code'] == 1) {
return [
'status' => true,
@ -104,6 +132,14 @@ class XyyClient
}
}
/**
* @todo 暂时没有测试资源
*/
public function apply($order, $role)
{
return $this->sendGold($order['ref_amount'], $role);
}
public function getResourceTypes($deviceType)
{
if ($deviceType == 'andriod') {

Loading…
Cancel
Save