作者 zhl

Merge remote-tracking branch 'origin/master' into zhl

... ... @@ -50,6 +50,18 @@ class ProjectImport extends Command
echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', import start' . PHP_EOL;
$is_gbk = 0;
$file_code_type = $this->get_code_type($task->file_url);
if ($file_code_type === false) {
echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', import fail, error: 文件编码格式错误' . PHP_EOL;
$task->status = ImportTask::STATUS_COM;//导入完成
$task->save();
return true;
} elseif ($file_code_type === 'GBK') {
$is_gbk = 1;
setlocale(LC_ALL, 'zh_CN');
}
//读取csv文件
$line_of_text = [];
try {
... ... @@ -76,7 +88,15 @@ class ProjectImport extends Command
if ($project) {
foreach ($line_of_text as $k => $v) {
if ($k > 0 && isset($v[0]) && $v[0]) {
if ($is_gbk) {
foreach ($v as $kk => $vv) {
$v[$kk] = mb_convert_encoding($vv, 'utf-8', 'gbk');
}
}
$total_count += 1;
try {
if ($task->type == ImportTask::TYPE_NEWS) {
if ((new NewsLogic())->importNews($task->project_id, $task->user_id, $v)) {
$success_count += 1;
... ... @@ -90,6 +110,9 @@ class ProjectImport extends Command
$success_count += 1;
}
}
} catch (\Exception $e) {
echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', title: ' . $v[0] . ', import fail, error: ' . $e->getMessage() . PHP_EOL;
}
}
}
}
... ... @@ -99,11 +122,25 @@ class ProjectImport extends Command
$task->status = ImportTask::STATUS_COM;//导入完成
$task->total_count = $total_count;
$task->success_count = $success_count;
$task->success_count += $success_count;
$task->save();
echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', import end, total count: ' . $total_count . ', success count: ' . $success_count . PHP_EOL;
sleep(2);
}
//判断编码格式
function get_code_type($file)
{
$list = array('GBK', 'UTF-8');
$str = file_get_contents($file);
foreach ($list as $item) {
$tmp = mb_convert_encoding($str, $item, $item);
if (md5($tmp) == md5($str)) {
return $item;
}
}
return false;
}
}
... ...
... ... @@ -509,16 +509,17 @@ if (!function_exists('str_replace_url')) {
*/
function str_replace_url($url)
{
if(!empty($url)){
// 使用 parse_url 函数来解析 URL
$urlParts = parse_url($url);
// 检查是否存在 host(域名)部分
if (isset($urlParts['path'])) {
$urlWithoutDomain = $urlParts['path'];
return $urlWithoutDomain;
} else {
return $url;
}
}
return $url;
}
}
if(!function_exists('curlGet')){
... ...
... ... @@ -145,10 +145,8 @@ class OnlineController extends BaseController
public function setQuestion(){
$this->request->validate([
'id'=>'required',
'question'=>'required'
],[
'id.required' => 'ID不能为空',
'question.required' => 'question不能为空'
]);
$onlineCheckModel = new OnlineCheck();
$rs = $onlineCheckModel->edit($this->param,['id'=>$this->param['id']]);
... ...
... ... @@ -9,6 +9,7 @@ use App\Models\ASide\APublicModel;
use App\Models\Channel\Channel;
use App\Models\Domain\DomainInfo;
use App\Models\Manage\Manage;
use App\Models\Project\OnlineCheck;
use App\Models\Project\Project;
use App\Models\Task\Task;
use Illuminate\Support\Facades\DB;
... ... @@ -31,7 +32,8 @@ class OptimizeController extends BaseController
public function lists(Project $project){
$query = $project->leftJoin('gl_project_payment', 'gl_project.id', '=', 'gl_project_payment.project_id')
->leftJoin('gl_project_deploy_build', 'gl_project.id', '=', 'gl_project_deploy_build.project_id')
->leftJoin('gl_project_deploy_optimize', 'gl_project.id', '=', 'gl_project_deploy_optimize.project_id');
->leftJoin('gl_project_deploy_optimize', 'gl_project.id', '=', 'gl_project_deploy_optimize.project_id')
->leftJoin('gl_project_online_check', 'gl_project.id', '=', 'gl_project_online_check.project_id');
$query = $this->searchParam($query);
$lists = $query->paginate($this->row, $this->selectParam(), 'page', $this->page)->toArray();
if(!empty($lists['list'])){
... ... @@ -72,9 +74,9 @@ class OptimizeController extends BaseController
$item['product_num'] = $data['product'] ?? 0;
$item['keyword_num'] = $item['key'] ?? 0;
$item['autologin_code'] = getAutoLoginCode($item['id']);
$item['article_num'] = ($data['blog'] ?? 0) + ($data['news'] ?? 0);
$item['task_finish_num'] = Task::getNumByProjectId($item['id'], Task::STATUS_DOWN);
$item['task_pending_num'] = Task::getNumByProjectId($item['id'], [Task::STATUS_DONGING, Task::STATUS_WAIT]);
// $item['article_num'] = ($data['blog'] ?? 0) + ($data['news'] ?? 0);
// $item['task_finish_num'] = Task::getNumByProjectId($item['id'], Task::STATUS_DOWN);
// $item['task_pending_num'] = Task::getNumByProjectId($item['id'], [Task::STATUS_DONGING, Task::STATUS_WAIT]);
return $item;
}
/**
... ... @@ -93,6 +95,13 @@ class OptimizeController extends BaseController
'gl_project.type AS type',
'gl_project.created_at AS created_at',
'gl_project.cooperate_date AS cooperate_date',
'gl_project.finish_remain_day AS finish_remain_day',
'gl_project.remain_day AS remain_day',
'gl_project_online_check.id AS online_check_id',
'gl_project_online_check.question AS question',
'gl_project_online_check.go_question AS go_question',
'gl_project_online_check.optimist_status AS optimist_status',
'gl_project_online_check.qa_status AS qa_status',
'gl_project_payment.amount AS amount',
'gl_project_deploy_build.dept_id AS dept_id',
'gl_project_deploy_build.keyword_num AS key',
... ... @@ -113,7 +122,6 @@ class OptimizeController extends BaseController
'gl_project_deploy_optimize.domain AS domain',
'gl_project_deploy_optimize.quality_mid AS quality_mid',
'gl_project_deploy_optimize.design_mid AS design_mid',
'gl_project_payment.amount AS amount',
];
return $select;
}
... ...
... ... @@ -148,7 +148,6 @@ class ProjectController extends BaseController
'gl_project_deploy_optimize.domain AS domain',
'gl_project_deploy_optimize.quality_mid AS quality_mid',
'gl_project_deploy_optimize.design_mid AS design_mid',
'gl_project_payment.amount AS amount',
];
return $select;
}
... ... @@ -462,7 +461,7 @@ class ProjectController extends BaseController
'status.required' => '请选择审核状态',
'status.in' => '审核状态值无效',
]);
$logic->onlineCheck($this->param);
$logic->onlineCheck();
$this->response('success');
}
... ... @@ -630,4 +629,5 @@ class ProjectController extends BaseController
$data['list'] = $list;
$this->response('success',Code::SUCCESS, $data);
}
}
... ...
... ... @@ -166,21 +166,15 @@ class ATemplateController extends BaseController
if (empty($referer) || false == in_array($referer, ['oa.cmer.com', 'quanqiusou.cn', 'zgjoa.globalso.com'])) {
$this->response('非法请求',Code::SYSTEM_ERROR, []);
}
$lists = $aTemplateLogic->aTemplateList($this->map,$this->page,$this->row,$this->order);
$filed = ['id','name','status','image','created_at'];
$lists = $aTemplateLogic->aTemplateList($this->map,$this->page,$this->row,$this->order,$filed);
$data = [];
if(!empty($lists) && !empty($lists['list'])){
foreach ($lists['list'] as $k => $v){
$data[] = [
'id' => $v['id'],
'name' => $v['name'],
'status' => $v['status'],
'image_link' => getImageUrl($v['image']),
'created_at' => $v['created_at']
];
$v['image_link'] = getImageUrl($v['image']);
$data[] = $v;
}
}
unset($lists['list']);
$lists['data'] = $data;
$this->response('success',Code::SUCCESS,$lists);
}
... ... @@ -197,7 +191,6 @@ class ATemplateController extends BaseController
if (empty($referer) || false == in_array($referer, ['oa.cmer.com', 'quanqiusou.cn', 'zgjoa.globalso.com'])) {
$this->response('非法请求',Code::SYSTEM_ERROR, []);
}
$this->request->validate([
'id'=>'required'
],[
... ...
... ... @@ -33,7 +33,7 @@ class ProjectUserController extends BaseController
$query = $userModel->leftJoin('gl_project', 'gl_project_user.project_id', '=', 'gl_project.id')
->leftJoin('gl_project_role', 'gl_project_user.role_id', '=', 'gl_project_role.id');
$query = $this->searchParam($query);
$lists = $query->paginate($this->row, $this->selectParam(), 'page', $this->page);
$lists = $query->orderBy('gl_project_user.id', 'desc')->paginate($this->row, $this->selectParam(), 'page', $this->page);
$this->response('列表',Code::SUCCESS,$lists);
}
... ... @@ -64,12 +64,14 @@ class ProjectUserController extends BaseController
$query = $query->where('gl_project.title','like','%'.$this->map['title'].'%');
}
if(isset($this->map['name'])){
$query = $query->where('gl_project_user.name',$this->map['name'][0],$this->map['name'][1]);
}
if(isset($this->map['mobile'])){
$query = $query->where('gl_project_user.mobile','like','%'.$this->map['mobile'].'%');
}
if(isset($this->map['project_id'])){
$query = $query->where('gl_project_user.project_id',$this->map['project_id']);
}
return $query;
}
... ... @@ -175,4 +177,21 @@ class ProjectUserController extends BaseController
$lists = $project->list(['type'=>['!=',$project::TYPE_ZERO]],'id',['id','title']);
$this->response('success',Code::SUCCESS,$lists);
}
/**
* @remark :设置超级管理员
* @name :setRole
* @author :lyh
* @method :post
* @time :2023/9/22 14:53
*/
public function setAdmin(UserLogic $userLogic){
$this->request->validate([
'id'=>'required',
],[
'id.required' => 'ID不能为空',
]);
$userLogic->setRole();
$this->response('success');
}
}
... ...
... ... @@ -23,7 +23,7 @@ class WebSettingImageController extends BaseController
* @time :2023/9/21 15:12
*/
public function lists(WebSettingImage $webSettingImage){
$list = $webSettingImage->list();
$list = $webSettingImage->list([],'id',['id','image','type']);
$this->response('success',Code::SUCCESS,$list);
}
... ...
... ... @@ -23,6 +23,7 @@ class UserController extends BaseController
public function lists(UserModel $userModel){
//TODO::搜索参数统一处理
$this->map['project_id'] = $this->user['project_id'];
$this->map['role_id'] = ['!=',0];
$lists = $userModel->lists($this->map,$this->page,$this->row,$this->order,['id','name','mobile','created_at','wechat','status']);
$this->response('success',Code::SUCCESS,$lists);
}
... ...
... ... @@ -17,32 +17,43 @@ class OnlineCheckLogic extends BaseLogic
$this->model = new OnlineCheck();
}
public function onlineCheck($param){
$info = $this->model->where('project_id', $param['id'])->first();
if(!$info){
/**
* @remark :用户审核
* @name :onlineCheck
* @author :lyh
* @method :post
* @time :2023/9/22 11:01
*/
public function onlineCheck(){
$info = $this->model->read(['project_id'=>$this->param['id']]);
if($info === false){
$this->fail('项目未提交审核');
}
//查看当前用户是否有权限审核
if($param['type'] == 'optimist'){
if($this->param['type'] == 'optimist'){
if($info['optimist_mid'] != $this->manager['id']){
$this->fail('你无权限提交审核');
}
}else{
//查看当前优化师是否审核
if($info['optimist_status'] != 1){
$this->fail('请先优化师审核');
}
if($info['qa_mid'] != $this->manager['id']){
$this->fail('你无权限提交审核');
}
if(isset($this->param['project_type']) && !empty($this->param['project_type'])){
$projectModel = new Project();
$projectModel->edit(['type'=>$this->param['project_type']],['id'=>$this->param['id']]);
}
}
$data = [
'project_id' => $param['id'],
$param['type'] . '_mid' => $this->manager['id'],
$param['type'] . '_check_time' => date('Y-m-d H:i:s'),
$param['type'] . '_status' => $param['status'],
$this->param['type'] . '_mid' => $this->manager['id'],
$this->param['type'] . '_check_time' => date('Y-m-d H:i:s'),
$this->param['type'] . '_status' => $this->param['status'],
'remark' => $param['remark'] ??'',
];
$data['id'] = $info['id'];
return $this->save($data);
return $this->model->edit($data,['id'=>$info['id']]);
}
/**
... ... @@ -56,7 +67,7 @@ class OnlineCheckLogic extends BaseLogic
$info = $this->model->read(['project_id'=>$this->param['id']]);
$projectModel = new Project();
if($info !== false){
$this->model->edit($this->param,['id'=>$info['id']]);
$this->fail('已提交,请勿重复提交');
}else{
//组装数据
$data = [
... ...
... ... @@ -203,23 +203,16 @@ class ProjectLogic extends BaseLogic
$deployOptimizeModel = new DeployOptimize();
if(isset($deploy_optimize['domain']) && !empty($deploy_optimize['domain'])){
//更改域名
if(isset($deploy_optimize['domain']) && !empty($deploy_optimize['domain'])){
$this->editDomainStatus($deploy_optimize['domain'],$deploy_optimize['project_id']);
}
}
if(isset($deploy_optimize['minor_languages']) && !empty($deploy_optimize['minor_languages'])){
$deploy_optimize['minor_languages'] = Arr::a2s($deploy_optimize['minor_languages']);
}
if(isset($deploy_optimize['minor_keywords']) && !empty($deploy_optimize['minor_keywords'])){
$deploy_optimize['minor_keywords'] = Arr::a2s($deploy_optimize['minor_keywords']);
}
$deploy_optimize['minor_languages'] = Arr::a2s(!empty($deploy_optimize['minor_languages']) ? $deploy_optimize['minor_languages'] : []);
$deploy_optimize['minor_keywords'] = Arr::a2s(!empty($deploy_optimize['minor_keywords']) ? $deploy_optimize['minor_keywords'] : []);
$deploy_optimize['special'] = !empty($deploy_optimize['special']) ? ','.trim($deploy_optimize['special'],',').',' : '';
//是否更新了api_no
$api_no = DeployOptimize::where('id', $deploy_optimize['id'])->value('api_no');
if($api_no != $deploy_optimize['api_no']){
NoticeLog::createLog(NoticeLog::TYPE_RANK_DATA, ['api_no' => $deploy_optimize['api_no']]);
}
$deployOptimizeModel->edit($deploy_optimize,['id'=>$deploy_optimize['id']]);
return $this->success();
}
... ...
... ... @@ -7,8 +7,10 @@ use App\Http\Logic\Aside\BaseLogic;
use App\Models\Manage\Manage;
use App\Models\Manage\MenuSpecial;
use App\Models\Project\Project;
use App\Models\User\ProjectRole;
use App\Models\User\User;
use App\Models\User\User as UserModel;
use Illuminate\Support\Facades\DB;
class UserLogic extends BaseLogic
{
... ... @@ -40,10 +42,11 @@ class UserLogic extends BaseLogic
}
/**
* @name :添加会员
* @return void
* @author :liyuhang
* @method
* @remark :保存用户
* @name :projectUserSave
* @author :lyh
* @method :post
* @time :2023/9/22 14:35
*/
public function projectUserSave()
{
... ... @@ -150,13 +153,18 @@ class UserLogic extends BaseLogic
*/
public function user_del()
{
$ids = $this->param['id'];
$this->param['id'] = ['in', $this->param['id']];
$rs = $this->model->del($this->param);
if ($rs === false) {
$this->fail('删除失败');
foreach ($this->param['id'] as $id){
$info = $this->model->read(['id'=>$id],['id','role_id']);
if($info['role_id'] != 0){
$rs = $this->model->del(['id'=>$id]);
if($rs === false){
$this->fail('系统错误,请联系管理员');
}
Common::del_user_cache($this->model, $id, 'A');
}else{
$this->fail('超级管理员不允许删除');
}
}
Common::del_user_cache($this->model, $ids, 'A');
return $this->success();
}
... ... @@ -174,4 +182,32 @@ class UserLogic extends BaseLogic
}
return $this->success();
}
/**
* @remark :设置超级管理员
* @name :setRole
* @author :lyh
* @method :post
* @time :2023/9/22 14:38
*/
public function setRole(){
DB::beginTransaction();
//获取当前用户的觉得
$roleModel = new ProjectRole();
$roleInfo = $roleModel->where('project_id',$this->param['project_id'])->orderBy('id','asc')->first();
$info = $this->model->read(['role_id'=>0]);
if(empty($info) || empty($roleInfo)){
$this->fail('系统错误,请联系管理员');
}
try {
$this->model->edit(['role_id'=>$roleInfo['id']],['id'=>$info['id']]);
$this->model->edit(['role_id'=>0],['id'=>$this->param['id']]);
DB::commit();
}catch (\Exception $e){
DB::rollBack();
$this->fail('系统错误,请联系管理员');
}
Common::del_user_cache($this->model, [$this->param['id'],$info['id']], 'A');
return $this->success();
}
}
... ...
... ... @@ -149,6 +149,7 @@ class BaseLogic extends Logic
function updateNotify($data)
{
$updateNotifyModel = new UpdateNotify();
if($data['route'] != 'all'){
$info = $updateNotifyModel->read(['project_id'=>$data['project_id'],'route'=>$data['route'],'status'=>1]);
if($info === false){
$param = [
... ... @@ -160,6 +161,9 @@ class BaseLogic extends Logic
}
//单页面直接通知更新
$url = $this->user['domain'].'api/delHtml/?project_id='.$this->user['project_id'].'&route='.$data['route'];
}else{
$url = $this->user['domain'].'api/webInfo/?type=clear_website';
}
curlGet($url);
return $this->success();
}
... ...
... ... @@ -270,6 +270,9 @@ class BlogLogic extends BaseLogic
*/
public function importBlog($project_id, $user_id, $data)
{
$blog = $this->model->read(['name' => $data[0]]);
if (!$blog) {
$category_id = '';
if ($data[2]) {
//处理分类
... ... @@ -277,13 +280,24 @@ class BlogLogic extends BaseLogic
$category_id = $blogCategoryLogic->importBlogCategory($project_id, $user_id, $data[2]);
}
$blog = $this->model->read(['name' => $data[0]]);
if (!$blog) {
$text = '';
if($data[4]){
//处理内容中的图片
$pattern = '<img src="(.*?)">';
preg_match_all($pattern, $data[4], $result);
if($result[1]){
foreach ($result[1] as $img){
$data[4] = str_replace($img,getImageUrl(CosService::uploadRemote($project_id,'image_news',$img)),$data[4]);
}
}
$text = $data[4];
}
$id = $this->model->addReturnId(
[
'name' => $data[0],
'category_id' => $category_id,
'text' => $data[4] ?? '',
'text' => $text,
'remark' => $data[3] ?? '',
'image' => $data['5'] ? CosService::uploadRemote($project_id, 'image_blog', $data[5]) : '',
'seo_title' => $data[6] ?? '',
... ...
... ... @@ -25,6 +25,11 @@ class ImportLogic extends BaseLogic
*/
public function addImportTask()
{
$ext = explode('.', $this->param['file_url']);
if (end($ext) != 'csv') {
$this->fail('导入文件格式必须为csv');
}
$this->param['project_id'] = $this->user['project_id'];
$this->param['user_id'] = $this->user['id'];
$rs = $this->model->add($this->param);
... ...
... ... @@ -36,9 +36,8 @@ class NavLogic extends BaseLogic
{
DB::beginTransaction();
try {
if(isset($this->param['image']) && !empty($this->param['image'])){
$this->param['image'] = str_replace_url($this->param['image']);
}
$this->param['image'] = str_replace_url(isset($this->param['image']) ? $this->param['image'] : '');
$this->param['remark_image'] = str_replace_url(isset($this->param['remark_image']) ? $this->param['remark_image'] : '');
if(isset($this->param['id']) && !empty($this->param['id'])){
$this->handleEditParam();//验证是否可编辑分类
$this->model->edit($this->param,['id'=>$this->param['id']]);
... ...
... ... @@ -269,6 +269,9 @@ class NewsLogic extends BaseLogic
*/
public function importNews($project_id, $user_id, $data)
{
$news = $this->model->read(['name' => $data[0]]);
if (!$news) {
$category_id = '';
if ($data[2]) {
//处理分类
... ... @@ -276,13 +279,24 @@ class NewsLogic extends BaseLogic
$category_id = $newsCategoryLogic->importNewsCategory($project_id, $user_id, $data[2]);
}
$news = $this->model->read(['name' => $data[0]]);
if (!$news) {
$text = '';
if($data[4]){
//处理内容中的图片
$pattern = '<img src="(.*?)">';
preg_match_all($pattern, $data[4], $result);
if($result[1]){
foreach ($result[1] as $img){
$data[4] = str_replace($img,getImageUrl(CosService::uploadRemote($project_id,'image_news',$img)),$data[4]);
}
}
$text = $data[4];
}
$id = $this->model->addReturnId(
[
'name' => $data[0],
'category_id' => $category_id,
'text' => $data[4] ?? '',
'text' => $text,
'remark' => $data[3] ?? '',
'image' => $data['5'] ? CosService::uploadRemote($project_id, 'image_news', $data[5]) : '',
'seo_title' => $data[6] ?? '',
... ...
... ... @@ -381,6 +381,9 @@ class ProductLogic extends BaseLogic
*/
public function importProduct($project_id, $user_id, $data)
{
$product = $this->model->read(['title' => $data[0]]);
if (!$product) {
$category_id = '';
if ($data[2]) {
//处理分类
... ... @@ -401,6 +404,7 @@ class ProductLogic extends BaseLogic
//处理图片
$img_arr = explode(',',$data[7]);
foreach ($img_arr as $v_img){
if($v_img){
$one_img = CosService::uploadRemote($project_id,'image_product',$v_img);
if($one_img){
$one_gallery = [
... ... @@ -416,7 +420,33 @@ class ProductLogic extends BaseLogic
}
}
}
}
$intro = '';
if($data[5]){
//处理短描述中的图片
$pattern = '<img src="(.*?)">';
preg_match_all($pattern, $data[5], $result_intro);
if($result_intro[1]){
foreach ($result_intro[1] as $vi_img){
$data[5] = str_replace($vi_img,getImageUrl(CosService::uploadRemote($project_id,'image_product',$vi_img)),$data[5]);
}
}
$intro = $data[5];
}
$content = '';
if($data[6]){
//处理内容中的图片
$pattern = '<img src="(.*?)">';
preg_match_all($pattern, $data[6], $result_content);
if($result_content[1]){
foreach ($result_content[1] as $vc_img){
$data[6] = str_replace($vc_img,getImageUrl(CosService::uploadRemote($project_id,'image_product',$vc_img)),$data[6]);
}
}
$content = $data[6];
}
//处理seo
$seo_mate = [
... ... @@ -425,19 +455,17 @@ class ProductLogic extends BaseLogic
'description' => $data[10]??''
];
$product = $this->model->read(['title' => $data[0]]);
if (!$product) {
$id = $this->model->addReturnId(
[
'project_id' => $project_id,
'title' => $data[0],
'thumb' => $thumb,
'gallery' => Arr::a2s($gallery),
'attrs' => $data[4] ? $data[4] : Arr::a2s([]),
'attrs' => trim($data[4]) ? $data[4] : Arr::a2s([]),
'category_id' => $category_id,
'keyword_id' => $keyword_id,
'intro' => $data[5] ?? '',
'content' => $data[6] ?? '',
'intro' => $intro,
'content' => $content,
'seo_mate' => Arr::a2s($seo_mate),
'created_uid' => $user_id,
'status' => Product::STATUS_ON
... ...
... ... @@ -42,6 +42,9 @@ class UserLogic extends BaseLogic
if($info !== false){
$this->fail('当前手机号码已注册');
}
if(!isset($this->param['role']) || empty($this->param['role'])){
$this->fail('一个账号只允许一个超级管理员,请先添加角色');
}
$this->param['create_id'] = $this->user['id'];
$this->param['operator_id'] = $this->user['id'];
$this->param['project_id'] = $this->user['project_id'];
... ... @@ -74,7 +77,13 @@ class UserLogic extends BaseLogic
}
$this->param['type'] = 1;
$this->param['operator_id'] = $this->user['id'];
$this->edits();
if(isset($this->param['password']) && empty($this->param['password'])){
$this->param['password'] = base64_encode(md5($this->param['password']));
}
$rs = $this->model->edit($this->param,['id'=>$this->param['id']]);
if($rs === false){
$this->fail('系统错误,请联系管理员');
}
return $this->success();
}
... ... @@ -107,33 +116,4 @@ class UserLogic extends BaseLogic
//对应删除组织架构
return $this->success();
}
/**
* @param $param
* @remark :编辑用户
* @name :edits
* @author :lyh
* @method :post
* @time :2023/6/17 16:41
*/
public function edits(){
if(!isset($this->param['password']) || empty($this->param['password'])){
unset($this->param['password']);
}else{
$this->param['password'] = base64_encode(md5($this->param['password']));
}
$info = $this->model->read(['mobile'=>$this->param['mobile'],
'project_id'=>$this->user['project_id'],'id'=>['!=',$this->param['id']]]);
if($info !== false){
$this->fail('当前手机号码已注册');
}
//密码加密
$rs = $this->model->edit($this->param,['id'=>$this->param['id']]);
if($rs === false){
$this->fail('系统错误,请联系管理员');
}
//清空当前用户登录缓存
Cache::pull($this->user['token']);
return $this->success();
}
}
... ...
... ... @@ -62,4 +62,16 @@ class BNav extends Base
return $value;
}
/**
* @remark :获取图片
* @name :getImageAttribute
* @author :lyh
* @method :post
* @time :2023/9/18 16:20
*/
public function getRemarkImageAttribute($value)
{
$value = getImageUrl($value);
return $value;
}
}
... ...
... ... @@ -25,4 +25,18 @@ class DeployOptimize extends Base
Cache::forget($cache_key);
}
/**
* @remark :
* @name :getSpecialAttribute
* @author :lyh
* @method :post
* @time :2023/9/25 9:58
*/
public function getSpecialAttribute($value)
{
if(!empty($value)){
$value = trim($value,',');
}
return $value;
}
}
... ...
... ... @@ -95,11 +95,11 @@ class CosService
'Key' => $key,
'Body' => fopen($file_url, 'r'),
]);
return $key;
}catch (\Exception $e){
LogUtils::error('uploadRemote error', $e->getMessage());
return '';
}
return $key;
}
}
... ...
... ... @@ -22,6 +22,7 @@ Route::middleware(['aloginauth'])->group(function () {
Route::any('/del', [Aside\User\ProjectUserController::class, 'del'])->name('admin.user_del');
Route::any('/getRole', [Aside\User\ProjectUserController::class, 'getRole'])->name('admin.user_getRole');
Route::any('/sort', [Aside\User\ProjectUserController::class, 'sort'])->name('admin.user_sort');
Route::any('/setAdmin', [Aside\User\ProjectUserController::class, 'setAdmin'])->name('admin.user_setAdmin');
Route::any('/getProjectList', [Aside\User\ProjectUserController::class, 'getProjectList'])->name('admin.user_getProjectList');
//角色管理
... ...