mirror of
https://github.com/crmeb/CRMEB.git
synced 2026-10-28 21:40:50 +00:00
feat(邀新海报): 添加邀新海报背景图配置,优化海报获取逻辑
This commit is contained in:
parent
c47b11928b
commit
d93db7f9a3
@ -17,7 +17,6 @@ use app\services\other\QrcodeServices;
|
||||
use app\services\system\attachment\SystemAttachmentServices;
|
||||
use app\services\system\config\SystemConfigServices;
|
||||
use app\services\user\UserBillServices;
|
||||
use app\services\user\UserBrokerageServices;
|
||||
use app\services\user\UserMoneyServices;
|
||||
use app\services\driver\upload\UploadService;
|
||||
|
||||
@ -42,16 +41,6 @@ class UserBillController
|
||||
$this->services = $services;
|
||||
}
|
||||
|
||||
/**
|
||||
* 推广数据 昨天的佣金 累计提现金额 当前佣金
|
||||
* @param Request $request
|
||||
* @return mixed
|
||||
*/
|
||||
public function commission(Request $request)
|
||||
{
|
||||
$uid = (int)$request->uid();
|
||||
return app('json')->success($this->services->commission($uid));
|
||||
}
|
||||
|
||||
/**
|
||||
* 推广订单
|
||||
@ -70,45 +59,7 @@ class UserBillController
|
||||
return app('json')->success($this->services->spread_order($uid, $orderInfo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 推广佣金明细
|
||||
* @param Request $request
|
||||
* @param $type 0 全部 1 消费 2 充值 3 返佣 4 提现
|
||||
* @return mixed
|
||||
*/
|
||||
public function spreadCommission(Request $request, $type)
|
||||
{
|
||||
$uid = (int)$request->uid();
|
||||
$data = [];
|
||||
switch ($type) {
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
/** @var UserMoneyServices $moneyService */
|
||||
$moneyService = app()->make(UserMoneyServices::class);
|
||||
$data = $moneyService->getMoneyList($uid, $type);
|
||||
break;
|
||||
case 3:
|
||||
case 4:
|
||||
/** @var UserBrokerageServices $brokerageService */
|
||||
$brokerageService = app()->make(UserBrokerageServices::class);
|
||||
$data = $brokerageService->getBrokerageList($uid, $type);
|
||||
break;
|
||||
}
|
||||
return app('json')->success($data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 推广 佣金/提现 总和
|
||||
* @param Request $request
|
||||
* @param $type 3 佣金 4 提现
|
||||
* @return mixed
|
||||
*/
|
||||
public function spreadCount(Request $request, $type)
|
||||
{
|
||||
$uid = (int)$request->uid();
|
||||
return app('json')->success(['count' => $this->services->spread_count($uid, $type)]);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
@ -133,9 +84,9 @@ class UserBillController
|
||||
$routineSpreadBanner[] = ['pic' => $item];
|
||||
}
|
||||
if ($type == 1) {
|
||||
$poster = $user['uid'] . '_' . $user['is_promoter'] . '_user_routine_poster_';
|
||||
$poster = $user['uid'] . '_user_routine_poster_';
|
||||
} else {
|
||||
$poster = $user['uid'] . '_' . $user['is_promoter'] . '_user_wap_poster_';
|
||||
$poster = $user['uid'] . '_user_wap_poster_';
|
||||
}
|
||||
/** @var SystemAttachmentServices $systemAttachment */
|
||||
$systemAttachment = app()->make(SystemAttachmentServices::class);
|
||||
@ -173,7 +124,7 @@ class UserBillController
|
||||
$siteUrl = sys_config('site_url');
|
||||
if ($type == 1) {
|
||||
//小程序
|
||||
$name = $user['uid'] . '_' . $user['is_promoter'] . '_user_routine.jpg';
|
||||
$name = $user['uid'] . '_user_routine.jpg';
|
||||
$imageInfo = $systemAttachment->getInfo(['real_name' => $name, 'module_type' => 2]);
|
||||
//检测远程文件是否存在
|
||||
if (isset($imageInfo['att_dir']) && strstr($imageInfo['att_dir'], 'http') !== false && curl_file_exist($imageInfo['att_dir']) === false) {
|
||||
@ -248,7 +199,7 @@ class UserBillController
|
||||
),
|
||||
'background' => $item['pic']
|
||||
);
|
||||
$resRoutine = $resRoutine && $posterInfo = PosterServices::setSharePoster($config, 'routine/spread/poster', $user['uid'] . '_' . $user['is_promoter'] . '_user_routine_poster_' . $key . '.jpg');
|
||||
$resRoutine = $resRoutine && $posterInfo = PosterServices::setSharePoster($config, 'routine/spread/poster', $user['uid'] . '_user_routine_poster_' . $key . '.jpg');
|
||||
if (!is_array($posterInfo)) return app('json')->fail($posterInfo);
|
||||
$systemAttachment->attachmentAdd($posterInfo['name'], $posterInfo['size'], $posterInfo['type'], $posterInfo['dir'], $posterInfo['thumb_path'], 1, $posterInfo['image_type'], $posterInfo['time'], 2);
|
||||
if ($resRoutine) {
|
||||
@ -261,7 +212,7 @@ class UserBillController
|
||||
}
|
||||
} else if ($type == 2) {
|
||||
//公众号
|
||||
$name = $user['uid'] . '_' . $user['is_promoter'] . '_user_wap.jpg';
|
||||
$name = $user['uid'] . '_user_wap.jpg';
|
||||
$imageInfo = $systemAttachment->getInfo(['real_name' => $name, 'module_type' => 2]);
|
||||
//检测远程文件是否存在
|
||||
if (isset($imageInfo['att_dir']) && strstr($imageInfo['att_dir'], 'http') !== false && curl_file_exist($imageInfo['att_dir']) === false) {
|
||||
@ -321,7 +272,7 @@ class UserBillController
|
||||
),
|
||||
'background' => $item['pic']
|
||||
);
|
||||
$resWap = $resWap && $posterInfo = PosterServices::setSharePoster($config, 'wap/spread/poster', $user['uid'] . '_' . $user['is_promoter'] . '_user_wap_poster_' . $key . '.jpg');
|
||||
$resWap = $resWap && $posterInfo = PosterServices::setSharePoster($config, 'wap/spread/poster', $user['uid'] . '_user_wap_poster_' . $key . '.jpg');
|
||||
if (!is_array($posterInfo)) return app('json')->fail($posterInfo);
|
||||
$systemAttachment->attachmentAdd($posterInfo['name'], $posterInfo['size'], $posterInfo['type'], $posterInfo['dir'], $posterInfo['thumb_path'], 1, $posterInfo['image_type'], $posterInfo['time'], 2);
|
||||
if ($resWap) {
|
||||
@ -339,6 +290,43 @@ class UserBillController
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 分享邀新海报素材
|
||||
* 分享邀新只需要海报背景与邀请二维码,不涉及佣金/分销结算数据
|
||||
* @param Request $request
|
||||
* @return mixed
|
||||
*/
|
||||
public function getSpreadInfo(Request $request)
|
||||
{
|
||||
/** @var SystemConfigServices $systemConfigServices */
|
||||
$systemConfigServices = app()->make(SystemConfigServices::class);
|
||||
// 底图优先取「用户注册设置 - 邀新海报背景图」;未配置时回退组合数据里的海报组
|
||||
$posterBg = trim((string)sys_config('invite_poster_bg', ''));
|
||||
if ($posterBg !== '') {
|
||||
$spreadBanner = [set_file_url($posterBg, sys_config('site_url'))];
|
||||
} else {
|
||||
$spreadBanner = $systemConfigServices->getSpreadBanner() ?? [];
|
||||
}
|
||||
$routineSpreadBanner = [];
|
||||
foreach ($spreadBanner as $item) {
|
||||
$routineSpreadBanner[] = ['pic' => $item];
|
||||
}
|
||||
//公众号环境返回带邀请人标识的临时二维码,其它端由前端自行生成(?spid=uid)
|
||||
if (sys_config('share_qrcode', 0) && $request->isWechat()) {
|
||||
/** @var QrcodeServices $qrcodeService */
|
||||
$qrcodeService = app()->make(QrcodeServices::class);
|
||||
$qrcode = $qrcodeService->getTemporaryQrcode('spread', (int)$request->uid())->url;
|
||||
} else {
|
||||
$qrcode = '';
|
||||
}
|
||||
return app('json')->success([
|
||||
'spread' => $routineSpreadBanner,
|
||||
'qrcode' => $qrcode,
|
||||
'nickname' => $request->user('nickname'),
|
||||
'site_name' => sys_config('site_name'),
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取小程序二维码
|
||||
* @param Request $request
|
||||
@ -354,7 +342,7 @@ class UserBillController
|
||||
/** @var SystemAttachmentServices $systemAttachment */
|
||||
$systemAttachment = app()->make(SystemAttachmentServices::class);
|
||||
//小程序
|
||||
$name = $user['uid'] . '_' . $user['is_promoter'] . '_user_routine.jpg';
|
||||
$name = $user['uid'] . '_user_routine.jpg';
|
||||
$imageInfo = $systemAttachment->getInfo(['real_name' => $name, 'module_type' => 2]);
|
||||
//检测远程文件是否存在
|
||||
if (isset($imageInfo['att_dir']) && strstr($imageInfo['att_dir'], 'http') !== false && curl_file_exist($imageInfo['att_dir']) === false) {
|
||||
@ -390,42 +378,6 @@ class UserBillController
|
||||
return app('json')->success(['url' => $urlCode]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取海报详细信息
|
||||
* @param Request $request
|
||||
* @return mixed
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
*/
|
||||
public function getSpreadInfo(Request $request)
|
||||
{
|
||||
/** @var SystemConfigServices $systemConfigServices */
|
||||
$systemConfigServices = app()->make(SystemConfigServices::class);
|
||||
$spreadBanner = $systemConfigServices->getSpreadBanner() ?? [];
|
||||
$bannerCount = count($spreadBanner);
|
||||
$routineSpreadBanner = [];
|
||||
if ($bannerCount) {
|
||||
foreach ($spreadBanner as $item) {
|
||||
$routineSpreadBanner[] = ['pic' => $item];
|
||||
}
|
||||
}
|
||||
|
||||
if (sys_config('share_qrcode', 0) && request()->isWechat()) {
|
||||
/** @var QrcodeServices $qrcodeService */
|
||||
$qrcodeService = app()->make(QrcodeServices::class);
|
||||
$qrcode = $qrcodeService->getTemporaryQrcode('spread', $request->uid())->url;
|
||||
} else {
|
||||
$qrcode = '';
|
||||
}
|
||||
|
||||
return app('json')->success([
|
||||
'spread' => $routineSpreadBanner,
|
||||
'qrcode' => $qrcode,
|
||||
'nickname' => $request->user('nickname'),
|
||||
'site_name' => sys_config('site_name')
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 积分记录
|
||||
@ -442,36 +394,6 @@ class UserBillController
|
||||
return app('json')->success($data['list'] ?? []);
|
||||
}
|
||||
|
||||
/**
|
||||
* 佣金排行
|
||||
* @param Request $request
|
||||
* @return mixed
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
*/
|
||||
public function brokerageRank(Request $request)
|
||||
{
|
||||
$data = $request->getMore([
|
||||
['page', ''],
|
||||
['limit'],
|
||||
['type']
|
||||
]);
|
||||
$uid = (int)$request->uid();
|
||||
return app('json')->success($this->services->brokerage_rank($uid, $data['type']));
|
||||
}
|
||||
|
||||
/**
|
||||
* 事业部/代理商推广订单
|
||||
* @param Request $request
|
||||
* @return mixed
|
||||
*/
|
||||
public function divisionOrder(Request $request)
|
||||
{
|
||||
$uid = (int)$request->uid();
|
||||
return app('json')->success($this->services->divisionOrder($uid));
|
||||
}
|
||||
|
||||
/**
|
||||
* 资金明细(0=全部, 1=消费, 2=充值)
|
||||
* @param Request $request
|
||||
|
||||
@ -69,4 +69,5 @@ INSERT INTO `eb_system_config` (`id`, `menu_name`, `type`, `input_type`, `config
|
||||
(471,'elec_invoice_tax_rate','text','input',50,'',1,'{\"required\":false}',13,0,'\"0\"','电子发票税率','请填写电子发票的税率,填写0-100直接的整数,如:13%的税率请填写13',0,1,0,0,0),
|
||||
(472,'elec_invoice_cate_name','text','input',50,'',1,'{\"required\":false}',13,0,'\"\"','发票分类名称','电子发票分类对应的名称,用于回显',0,1,0,0,0),
|
||||
(187,'copy_product_apikey','text','input',136,'',1,'',0,0,'\"\"','99Api apiKey','注册99api采集接口在个人中心复制key',0,1,1,292,2),
|
||||
(292,'system_product_copy_type','radio','input',136,'1=>一号通\n2=>99Api',1,'',0,0,'1','商品采集接口','采集商品接口选择,一号通快速注册开通使用不用配置apikey,或者去99api网址:https://www.99api.com/注册帐号,推荐一号通方便快捷',999,1,0,0,0);
|
||||
(292,'system_product_copy_type','radio','input',136,'1=>一号通\n2=>99Api',1,'',0,0,'1','商品采集接口','采集商品接口选择,一号通快速注册开通使用不用配置apikey,或者去99api网址:https://www.99api.com/注册帐号,推荐一号通方便快捷',999,1,0,0,0),
|
||||
(520,'invite_poster_bg','upload','input',105,'',1,'',0,0,'\"\"','邀新海报背景图','分享邀新海报的底图,建议尺寸 750*1334(9:16);未配置时回退「组合数据-个人中心分销海报」,两者都没有则邀新页无海报',99,1,0,0,0);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user