142 lines
3.8 KiB
PHP
142 lines
3.8 KiB
PHP
<?php
|
|
/**
|
|
* Created by PhpStorm.
|
|
*
|
|
*
|
|
*
|
|
* Date: 2021/9/22
|
|
* Time: 13:37
|
|
*/
|
|
|
|
namespace business\admin\controllers;
|
|
|
|
use business\common\services\BusinessService;
|
|
use business\common\controllers\components\BaseController;
|
|
use business\common\models\Business as BusinessModel;
|
|
use business\common\services\SettingService;
|
|
|
|
class SettingController extends BaseController
|
|
{
|
|
|
|
|
|
/*
|
|
* 清除用户缓存
|
|
*/
|
|
public function cleanMemberCache()
|
|
{
|
|
BusinessService::flush(0, \YunShop::app()->getMemberId());
|
|
return $this->successJson('清除会员缓存成功');
|
|
}
|
|
|
|
/*
|
|
* 清除企业缓存
|
|
*/
|
|
public function cleanBusinessCache()
|
|
{
|
|
BusinessService::flush(SettingService::getBusinessId(), 0);
|
|
return $this->successJson('清除企业缓存成功');
|
|
}
|
|
|
|
|
|
/*
|
|
* 企业概况
|
|
*/
|
|
public function getBusinessSurvey()
|
|
{
|
|
$business = BusinessModel::with(['hasOneMember' => function ($query) {
|
|
$query->select('nickname', 'realname', 'avatar', 'mobile', 'uid');
|
|
}])->find(SettingService::getBusinessId());
|
|
return $this->successJson('成功', [
|
|
'id' => $business->id,
|
|
'name' => $business->name ?: '',
|
|
'logo_img' => yz_tomedia($business->logo_img),
|
|
'member' => $business->hasOneMember
|
|
]);
|
|
}
|
|
|
|
|
|
/*
|
|
* 获取侧边栏
|
|
*/
|
|
public function getBusinessTab()
|
|
{
|
|
$res = BusinessService::checkBusinessRight();
|
|
return $this->successJson('成功', $res['page']);
|
|
}
|
|
|
|
|
|
/*
|
|
* 企业微信设置
|
|
*/
|
|
public function businessQyWxSetting()
|
|
{
|
|
$request = request();
|
|
$msg = '获取设置成功';
|
|
$setting = SettingService::getQyWxSetting();
|
|
if (isset($request->corpid)) { //如果是编辑
|
|
foreach (request()->input() as $key => $value) {
|
|
if (substr_count($value, '*') == 30) {
|
|
request()->offsetSet($key, $setting[$key]);
|
|
}
|
|
}
|
|
if (!SettingService::setQyWxSetting($request)) {
|
|
return $this->errorJson('设置失败');
|
|
}
|
|
$msg = '编辑设置成功';
|
|
}
|
|
|
|
$exclude = ['corpid', 'agentid', 'open_state', 'customer_notice_url', 'contact_notice_url'];
|
|
foreach ($setting as $set_key => &$set) {
|
|
if (!in_array($set_key, $exclude)) {
|
|
$set = $set ? str_repeat('*', 30) : '';
|
|
}
|
|
}
|
|
return $this->successJson($msg, $setting);
|
|
|
|
}
|
|
|
|
|
|
/*
|
|
* 编辑企业
|
|
*/
|
|
public function editBussiness()
|
|
{
|
|
|
|
$request = \request();
|
|
|
|
$business_id = intval($request->id) ?: SettingService::getBusinessId();
|
|
|
|
if (!$business = BusinessModel::uniacid()->find($business_id)) {
|
|
return $this->errorJson('企业不存在');
|
|
}
|
|
|
|
if (!isset($request->logo_img) && !isset($request->name)) { //如果是请求页面数据
|
|
return $this->successJson('获取成功', $business);
|
|
}
|
|
|
|
$member_right = BusinessService::checkBusinessRight($business->id);
|
|
if ($member_right['identity'] < 2) {
|
|
return $this->errorJson('无权修改企业名');
|
|
}
|
|
|
|
if (empty($request->logo_img) || empty($request->name)) {
|
|
return $this->errorJson('请设置企业名与logo');
|
|
}
|
|
|
|
$business->logo_img = trim($request->logo_img);
|
|
|
|
if (BusinessService::checkBusinessAuth($request->id)) {
|
|
if (trim($request->name) != $business->name) {
|
|
return $this->errorJson('已认证的企业不允许修改名称');
|
|
}
|
|
} else {
|
|
$business->name = trim($request->name);
|
|
}
|
|
|
|
$business->save();
|
|
return $this->successJson('修改成功');
|
|
|
|
}
|
|
|
|
}
|