Files
youlegames/codes/agent/game/dlweb/api/lib/1.0/models/Agent.php
2026-03-15 01:27:05 +08:00

608 lines
20 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2017/11/14
* Time: 11:30
*/
namespace models;
class Agent extends \core\Model
{
/**
* 添加新代理商
* @param $params
*/
public function addAgent(&$params)
{
$sql = 'insert into ct_agent_list (agent_id, nickname, max_sales_id, default_sales_power) VALUES (?,?,?,?)';
$this->execute($sql, [$params['agentid'], $params['name'], 10000000, $params['power']]);
}
/**
* 添加新渠道,并添加相应的产品
* @param $p
*/
public function addChannel(&$p)
{
$sql = 'insert into ct_channel_list (
agent_id, channel_id, nickname, logo, qq,
is_show_recharge_star, recharge_roomcard_to_sales,
wechat, app_id, devkey, market_id, app_id_pay,
devkey_pay, market_id_pay, is_open, parent_agent_id, become_sales_mode,
invitation_model, buy_card_mode, is_check_phone)
VALUES (
?,?,?,?,?,
?,?,
?,?,?,?,?,
?,?,?,?,?,
?,?,0
)';
$this->execute($sql, [
$p['agentid'], $p['channelid'], $p['name'], $p['logo'], $p['qq'],
$p['is_show_recharge_star'], $p['recharge_roomcard_to_sales'],
$p['wechat'], '14966338932488', '14966329712475', 'ylhdyx', '14966338932488',
'14966329712475', 'ylhdyx', $p['is_open'], $p['parentid'], $p['become_sales_mode'],
$p['invitation_model'], $p['buy_card_mode']
]);
// 添加产品
$agent_id = $p['agentid'];
$sql = <<<EOL
# 玩家购房卡
INSERT INTO `sales_product` (`sapr_agentid`, `sapr_productid`, `sapr_type`, `sapr_name`, `sapr_amount`, `sapr_money`, `sapr_memo`, `sapr_state`, `product_type`) VALUES ('{$agent_id}', MD5(unix_timestamp(now())+1), '0', '5张F卡', '5', '15.00', '', '0', '0');
INSERT INTO `sales_product` (`sapr_agentid`, `sapr_productid`, `sapr_type`, `sapr_name`, `sapr_amount`, `sapr_money`, `sapr_memo`, `sapr_state`, `product_type`) VALUES ('{$agent_id}', MD5(unix_timestamp(now())+2), '0', '10张F卡', '10', '30.00', '', '0', '0');
INSERT INTO `sales_product` (`sapr_agentid`, `sapr_productid`, `sapr_type`, `sapr_name`, `sapr_amount`, `sapr_money`, `sapr_memo`, `sapr_state`, `product_type`) VALUES ('{$agent_id}', MD5(unix_timestamp(now())+3), '0', '80张F卡', '80', '208.00', '', '0', '0');
# 代理购房卡
INSERT INTO `sales_product` (`sapr_agentid`, `sapr_productid`, `sapr_type`, `sapr_name`, `sapr_amount`, `sapr_money`, `sapr_memo`, `sapr_state`, `product_type`) VALUES ('{$agent_id}', MD5(unix_timestamp(now())+4), '1', '1张F卡', '1', '10.00', '', '0', '0');
INSERT INTO `sales_product` (`sapr_agentid`, `sapr_productid`, `sapr_type`, `sapr_name`, `sapr_amount`, `sapr_money`, `sapr_memo`, `sapr_state`, `product_type`) VALUES ('{$agent_id}', MD5(unix_timestamp(now())+5), '1', '1张F卡', '1', '10.00', '', '0', '0');
INSERT INTO `sales_product` (`sapr_agentid`, `sapr_productid`, `sapr_type`, `sapr_name`, `sapr_amount`, `sapr_money`, `sapr_memo`, `sapr_state`, `product_type`) VALUES ('{$agent_id}', MD5(unix_timestamp(now())+6), '1', '1张F卡', '1', '10.00', '', '0', '0');
# 玩家购星星
INSERT INTO `sales_product` (`sapr_agentid`, `sapr_productid`, `sapr_type`, `sapr_name`, `sapr_amount`, `sapr_money`, `sapr_memo`, `sapr_state`, `product_type`) VALUES ('{$agent_id}', MD5(unix_timestamp(now())+7), '0', '一万个星星', '10000', '105.00', '', '1', '1');
INSERT INTO `sales_product` (`sapr_agentid`, `sapr_productid`, `sapr_type`, `sapr_name`, `sapr_amount`, `sapr_money`, `sapr_memo`, `sapr_state`, `product_type`) VALUES ('{$agent_id}', MD5(unix_timestamp(now())+8), '0', '五万个星星', '50000', '525.00', '', '1', '1');
INSERT INTO `sales_product` (`sapr_agentid`, `sapr_productid`, `sapr_type`, `sapr_name`, `sapr_amount`, `sapr_money`, `sapr_memo`, `sapr_state`, `product_type`) VALUES ('{$agent_id}', MD5(unix_timestamp(now())+9), '0', '十万个星星', '100000', '1050.00', '', '1', '1');
# 代理购星星
INSERT INTO `sales_product` (`sapr_agentid`, `sapr_productid`, `sapr_type`, `sapr_name`, `sapr_amount`, `sapr_money`, `sapr_memo`, `sapr_state`, `product_type`) VALUES ('{$agent_id}', MD5(unix_timestamp(now())+10), '1', '一万个星星', '10000', '105.00', '', '1', '1');
INSERT INTO `sales_product` (`sapr_agentid`, `sapr_productid`, `sapr_type`, `sapr_name`, `sapr_amount`, `sapr_money`, `sapr_memo`, `sapr_state`, `product_type`) VALUES ('{$agent_id}', MD5(unix_timestamp(now())+11), '1', '五万个星星', '50000', '525.00', '', '1', '1');
INSERT INTO `sales_product` (`sapr_agentid`, `sapr_productid`, `sapr_type`, `sapr_name`, `sapr_amount`, `sapr_money`, `sapr_memo`, `sapr_state`, `product_type`) VALUES ('{$agent_id}', MD5(unix_timestamp(now())+12), '1', '十万个星星', '100000', '1050.00', '', '1', '1');
EOL;
$this->execute($sql);
}
/**
* 添加游戏
* @param $p
*/
public function addGame(&$p)
{
$sql = 'insert into ct_game_list (
channel_id, game_id, game_name, logo, description,
ios_download_url, ios_market_type, ios_app_size, android_download_url, android_app_size,
is_open
) VALUES (
?,?,?,?,?,
?,?,?,?,?,
?
);';
$this->execute($sql, [
$p['channelid'], $p['gameid'], $p['gamename'], $p['logo'], $p['description'],
$p['ios_download_url'], $p['ios_market_type'], $p['ios_app_size'], $p['android_download_url'], $p['android_app_size'],
$p['is_open']
]);
}
/**
* 修改代理商信息
* @param $p
*/
public function setAgentInfo(&$p)
{
$sql = 'update ct_agent_list set
agent_id=?, nickname=?, default_sales_power=? where id=?;
';
$this->execute($sql, [
$p['agentid'], $p['name'], $p['power'], $p['id']
]);
}
/**
* 修改渠道信息
* @param $p
*/
public function setChannelInfo(&$p)
{
$sql = 'update ct_channel_list set
agent_id=?, channel_id=?, nickname=?, logo=?, qq=?,
is_show_recharge_star=?, recharge_roomcard_to_sales=?,
wechat=?, is_open=?, parent_agent_id=?, become_sales_mode=?, invitation_model=?,
buy_card_mode=?, share_title=?, share_desc=?, share_img=?, share_text=?, pay_desc=?, announcement=? where id=?;
';
$this->execute($sql, [
$p['agentid'], $p['channelid'], $p['name'], $p['logo'], $p['qq'],
$p['is_show_recharge_star'], $p['recharge_roomcard_to_sales'],
$p['wechat'], $p['is_open'], $p['parentid'], $p['become_sales_mode'], $p['invitation_model'],
$p['buy_card_mode'], $p['share_title'], $p['share_desc'], $p['share_img'], $p['share_text'], $p['pay_desc'],
$p['announcement'], $p['id']
]);
}
/**
* 修改渠道信息
* @param $p
*/
public function setGameInfo(&$p)
{
$sql = 'update ct_game_list set
channel_id=?, game_id=?, game_name=?, logo=?,
description=?, ios_download_url=?, ios_market_type=?, ios_app_size=?, android_download_url=?,
android_app_size=?, is_open=? where id=?;
';
$this->execute($sql, [
$p['channelid'], $p['gameid'], $p['gamename'], $p['logo'],
$p['description'], $p['ios_download_url'], $p['ios_market_type'], $p['ios_app_size'], $p['android_download_url'],
$p['android_app_size'], $p['is_open'], $p['id']
]);
}
/**
* 获取相关联的渠道列表
* @param $params
* @return array
*/
public function getChannelList(&$params)
{
// 获取所有开放的渠道
if($params['agentid'] === 'all') {
$sql = /** @lang text */
'SELECT id, agent_id AS agentid, channel_id AS channelid, nickname AS name
FROM ct_channel_list WHERE is_open = 1;';
} else {
$sql = /** @lang text */
'SELECT id, agent_id AS agentid, channel_id AS channelid, nickname AS name
FROM ct_channel_list WHERE parent_agent_id = ? AND is_open = 1;';
}
$result = $this->queryAll($sql, [$params['agentid']]);
return $result;
}
/**
* 获取所有渠道
* @return array
*/
public function getAllAgentList()
{
$sql = /** @lang text */'select id, agent_id as agentid, nickname as name, max_sales_id, default_sales_power
from ct_agent_list;';
$result = $this->queryAll($sql);
return $result;
}
/**
* 获取所有渠道
* @return array
*/
public function getAllChannelList()
{
$sql = 'select id, agent_id as agentid, channel_id as channelid, nickname as name, parent_agent_id
from ct_channel_list where is_open=1;';
$result = $this->queryAll($sql);
return $result;
}
/**
* 获取所有游戏
* @return array
*/
public function getAllGameList()
{
$sql = 'select id, channel_id as channelid, game_id as gameid, game_name as name
from ct_game_list where is_open=1 order by channelid, id;';
$result = $this->queryAll($sql);
return $result;
}
/**
* 获取渠道配置信息,公共版
* @param $params
* @return mixed
*/
public function getChannelConfig(&$params)
{
$sql = 'SELECT
id,
agent_id,
channel_id,
nickname AS agentname,
logo AS agentlogo,
qq,
wechat AS channelwechat,
become_sales_mode AS html_applysales,
invitation_model AS agentmode,
buy_card_mode AS html_buyroomcard,
recharge_roomcard_to_sales,
request_star,
is_check_phone,
create_withdrawals_order_type,
create_withdrawals_order_qcode,
is_show_topsales_menu,
is_show_recharge_star,
share_title,
share_desc,
share_img,
share_text,
pay_desc,
app_id AS youle_appid,
devkey AS youle_devkey,
market_id AS youle_busiid,
app_id_pay AS youle_appid_pay,
devkey_pay AS youle_devkey_pay,
market_id_pay AS youle_busiid_pay
FROM ct_channel_list WHERE agent_id = ? AND channel_id = ? AND is_open = 1;';
$result = $this->query($sql, [$params['agentid'], $params['channelid']]);
return $result;
}
/**
* 获取渠道配置信息,公共版
* @param $id
* @return mixed
*/
public function getChannelConfigById($id)
{
$sql = 'SELECT
id,
agent_id,
channel_id,
nickname AS agentname,
logo AS agentlogo,
qq,
wechat AS channelwechat,
become_sales_mode AS html_applysales,
invitation_model AS agentmode,
buy_card_mode AS html_buyroomcard,
recharge_roomcard_to_sales,
request_star,
share_title,
share_desc,
share_img,
share_text,
pay_desc,
app_id AS youle_appid,
devkey AS youle_devkey,
market_id AS youle_busiid,
app_id_pay AS youle_appid_pay,
devkey_pay AS youle_devkey_pay,
market_id_pay AS youle_busiid_pay
FROM ct_channel_list WHERE id=? AND is_open = 1;';
$result = $this->query($sql, [$id]);
return $result;
}
/**
* 获取代理商配置信息,管理员版
* @param $p
* @return mixed
*/
public function getAgentInfo(&$p)
{
$sql = 'SELECT
agent_id as agentid,
nickname as name,
default_sales_power as power
FROM ct_agent_list WHERE id=?;';
$result = $this->query($sql, [$p['id']]);
return $result;
}
/**
* 获取渠道配置信息,管理员版
* @param $p
* @return mixed
*/
public function getChannelInfo(&$p)
{
$sql = 'SELECT
agent_id as agentid,
channel_id as channelid,
parent_agent_id as parentid,
nickname AS name,
logo,
qq,
wechat,
is_show_recharge_star,
recharge_roomcard_to_sales,
become_sales_mode,
invitation_model,
buy_card_mode,
request_star,
share_title,
share_desc,
share_img,
share_text,
pay_desc,
announcement,
is_open
FROM ct_channel_list WHERE id=?;';
$result = $this->query($sql, [$p['id']]);
return $result;
}
/**
* 获取游戏配置信息,管理员版
* @param $p
* @return mixed
*/
public function getGameInfo(&$p)
{
$sql = 'SELECT
channel_id as channelid,
game_id as gameid,
game_name as gamename,
logo,
description,
ios_download_url,
ios_market_type,
ios_app_size,
android_download_url,
android_app_size,
is_open
FROM ct_game_list WHERE id=?;';
$result = $this->query($sql, [$p['id']]);
return $result;
}
/**
* 获取游戏下载列表
* @param $params
* @return array
*/
public function getGameList(&$params)
{
$sql = 'SELECT
game_id,
game_name AS name,
logo AS image,
description AS memo,
ios_download_url AS ios_down,
ios_download_url_2 AS ios_down_2,
ios_market_type AS ios_marketid,
ios_app_size AS ios_size,
android_download_url AS android_down,
android_download_url_2 AS android_down_2,
android_app_size AS android_size
FROM ct_game_list WHERE channel_id = ? AND is_open = 1;';
$result = $this->queryAll($sql, [$params['channelid']]);
return $result;
}
/**
* 产品列表
* @param $params
* @return array
*/
public function getProductList(&$params)
{
/**
* sales_product 表
* sapr_type => 0-针对个人玩家的产品 1-针对个人代理的产品
* product_type => 0-房卡1-星星2-钻石
* sapr_state => 0-启用 1-禁用
* sort 排序(数值大的在前面)
*/
$sql = 'SELECT
idx as productid, sapr_name as name, sapr_amount as amount, sapr_money as money,
sapr_memo as memo, product_type, sapr_type as type, make_vip
FROM
sales_product
WHERE
sapr_agentid = ? and sapr_type = ? and product_type = ? and sapr_state = 0 and parent_id is null
ORDER BY sort desc, idx;';
$result = $this->queryAll($sql, [$params['agentid'], $params['type'], $params['ptype']]);
return $result;
}
/**
* 获取指定渠道所有商品
* @param $agent_id
* @return array
* @throws \Exception
*/
public function getAllProductList($agent_id)
{
$sql = 'select * from sales_product where sapr_agentid=? order by product_type, sort desc';
return $this->queryAll($sql, [$agent_id]);
}
/**
* 获取单个商品信息
* @param $id
* @return mixed
* @throws \Exception
*/
public function getProductInfo($id)
{
$sql = 'select * from sales_product where idx=?';
return $this->query($sql, $id);
}
/**
* 修改商品信息
* @param $p
* @throws \Exception
*/
public function setProductInfo($p)
{
if(empty($p['parent_id']))
$parent_id = null;
else
$parent_id = $p['parent_id'];
$sql = 'update sales_product set sapr_agentid=?, sapr_type=?, sapr_name=?, sapr_amount=?, sapr_money=?, sapr_memo=?,
sapr_state=?, product_type=?, parent_id=?, sort=?, make_vip=? where idx=?';
$this->execute($sql, [
$p['sapr_agentid'], $p['sapr_type'],$p['sapr_name'],$p['sapr_amount'],$p['sapr_money'], $p['sapr_memo'],
$p['sapr_state'],$p['product_type'],$parent_id,$p['sort'], $p['make_vip'],$p['idx']
]);
}
/**
* 添加商品
* @param $p
* @throws \Exception
*/
public function addProductInfo($p)
{
if(empty($p['parent_id']))
$parent_id = null;
else
$parent_id = $p['parent_id'];
$sql = 'insert into sales_product (
sapr_agentid, sapr_type, sapr_name, sapr_amount, sapr_money,
sapr_memo, sapr_state, product_type, parent_id, sort,
make_vip
) values (
?,?,?,?,?,
?,?,?,?,?,
?)';
$this->execute($sql, [
$p['sapr_agentid'], $p['sapr_type'],$p['sapr_name'],$p['sapr_amount'],$p['sapr_money'], $p['sapr_memo'],
$p['sapr_state'],$p['product_type'],$parent_id,$p['sort'], $p['make_vip']
]);
}
/**
* 使用钻石兑换的商品
* @param $params
* @return array
* @throws \Exception
*/
public function getTransformProductList(&$params)
{
$sql = /** @lang text */<<<EOL
select
id, name, amount, diamond, type, remark
from
(
select
id, name, amount, diamond, type, remark, sort
from
ct_transform_product_info
where
agent_id = ? and channel_id = ? and enabled = 1 and is_preferential = 0
union all
select
id, name, amount, diamond, type, remark, sort
from
ct_transform_product_info
where
agent_id = ? and channel_id = ? and enabled = 1 and is_preferential = 1 and
date_format(now(), '%H:%i:%s') between preferential_start_time and preferential_end_time
) t
order by
sort desc, id
EOL;
// $sql = 'select
// id, name, amount, diamond, type, remark
// from
// ct_transform_product_info
// where
// agent_id=? and channel_id=? and enabled=1
// order by sort desc, id';
//
// $result = $this->queryAll($sql, [$params['agentid'], $params['channelid']]);
$result = $this->queryAll($sql, [$params['agentid'], $params['channelid'], $params['agentid'], $params['channelid']]);
return $result;
}
/**
* 公告
* type => 0-代理后台的公告 1-代理抽成的公告
* @param $p
* @return array
*/
public function getNotice(&$p)
{
$sql = 'SELECT
notice_info
FROM
ct_agent_notice
WHERE
(channel_id=1 or channel_id=?) and type=? and status=1;';
$result = $this->queryAll($sql, [$p['channelid'], $p['type']]);
return isset($result[0]) ? $result[0] : ['notice_info' => ''];
}
/**
* 获取茶水费配置
* @param $p
* @return array
*/
public function getAgentServiceConfig(&$p)
{
$sql = 'select * from ct_agent_service where agent_id=? and channel_id=?;';
$result = $this->queryAll($sql, [$p['agentid'], $p['channelid']]);
return $result;
}
/**
* 单个茶水费配置
* @param $id
* @return array
*/
public function getAgentServiceConfigSingle($id)
{
$sql = 'select * from ct_agent_service where id=?;';
$result = $this->query($sql, [$id]);
return $result;
}
/**
* 单个茶水费配置
* @param $p
* @return array
*/
public function getAgentServiceConfigSave(&$p)
{
$sql = 'update ct_agent_service set min_value=?, max_value=?, `type`=?, `value`=? where id=?;';
$this->execute($sql, [$p['min_value'], $p['max_value'], $p['type'], $p['value'], $p['id']]);
}
}