作者 刘锟

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

... ... @@ -59,12 +59,14 @@ class RemainDay extends Command
*/
protected $description = '网站服务剩余时长';
public $project_id = 0;
/**
* @return bool
*/
public function handle()
{
$this->project = new Project();
$this->_action();
return true;
}
... ... @@ -174,6 +176,7 @@ class RemainDay extends Command
if($item['version'] == 7.5 && $deploy_build['seo_plan'] != 0 && $deploy_build['plan'] != 0){
$geoCountModel = new GeoCount();
$is_qualify = $geoCountModel->where('project_id', $item['id'])->orderBy('id', 'desc')->value('is_qualify');
$remain_day = $item['remain_day'];
if($item['is_remain_today'] > 0 && $is_qualify > 0){
$remain_day = $item['remain_day'] - 1;
}
... ...
... ... @@ -59,6 +59,12 @@ class GeoWritingsTask extends Command
$main = $gptHelper->openai_chat_qqs($aiCommand2);
$images = explode(',',$info['img']);
//组装一条数据
if(isset($images[0]) && !empty($images[0])){
$images[0] = '<img src="' . $images[0] . '" alt="">';
}
if(isset($images[1]) && !empty($images[1])){
$images[1] = '<img src="' . $images[1] . '" alt="">';
}
try {
$saveData = [
'title'=>$info['title'],
... ...
... ... @@ -85,10 +85,10 @@ class GeoController extends BaseController
$geoWritingsModel = new GeoWritings();
$info = $geoWritingsModel->read(['uniqid' => $token]);
if ($info === false){
return $this->error('非法请求');
return $this->response('非法请求',Code::SYSTEM_ERROR);
}
if ($info['status'] == GeoWritings::STATUS_FINISH){
return $this->error('当前文章已确认,不可再次确认');
return $this->response('当前文章已确认,不可再次确认',Code::SYSTEM_ERROR);
}
$this->param['confirm_ip'] = $this->request->ip();
$this->param['confirm_at'] = date('Y-m-d H:i:s');
... ... @@ -108,7 +108,7 @@ class GeoController extends BaseController
$token = trim($this->param['token']);
$data = GeoConfirm::where(['uniqid' => $token])->first();
if (empty($data)){
return $this->error('确认链接已重置,请查看最新推送链接!');
return $this->response('确认链接已重置,请查看最新推送链接!',Code::SYSTEM_ERROR);
}
$content = explode("\n", $data->content);
$confirm = explode("\n", $data->confirm);
... ...
... ... @@ -57,13 +57,13 @@ class GeoController extends BaseController
'manager_id' => 'nullable|integer',
'company' => 'nullable|max:200',
'brand' => 'nullable|max:200',
'description' => 'nullable|max:500',
// 'description' => 'nullable|max:500',
], [
'project_id.required' => '项目ID不能为空',
'manager_id.integer' => '管理员参数非法',
'company.max' => '公司名称不能超过200个字符',
'brand.max' => '品牌名不能超过200个字符',
'description.max' => '描述不能超过500个字符',
// 'description.max' => '描述不能超过500个字符',
]);
$data = $this->logic->saveConfig($this->param);
$this->response('success', Code::SUCCESS, $data);
... ...
... ... @@ -49,6 +49,24 @@ class GeoWritingsController extends BaseController
}
/**
* @remark :获取详情数据
* @name :info
* @author :lyh
* @method :post
* @time :2025/11/7 11:09
*/
public function info()
{
$this->request->validate([
'id'=>'required',
],[
'id.required' => 'id不能为空',
]);
$data = $this->logic->infoWriting();
$this->response('success',Code::SUCCESS,$data);
}
/**
* @remark :保存geoAi文章生成数据
* @name :lists
* @author :lyh
... ...
... ... @@ -4,6 +4,7 @@ namespace App\Http\Controllers\Aside\Manage;
use App\Enums\Common\Code;
use App\Http\Controllers\Aside\BaseController;
use App\Http\Requests\Aside\Manage\ManagerHrRequest;
use App\Models\Geo\GeoConf;
use App\Models\Manage\ManageHr;
use App\Http\Logic\Aside\Manage\HrLogic;
... ... @@ -121,4 +122,18 @@ class HrController extends BaseController
$hrLogic->setSort();
$this->response('success');
}
/**
* @remark :获取geo项目负责人
* @name :getGeoManagerList
* @author :lyh
* @method :post
* @time :2025/11/7 14:31
*/
public function getGeoManagerList()
{
$geoConfModel = new GeoConf();
$geo_manage_list = $geoConfModel->geoManage($this->param['name'] ?? '');
$this->response('success',Code::SUCCESS,$geo_manage_list);
}
}
... ...
... ... @@ -360,6 +360,12 @@ class ProjectController extends BaseController
}
}
if(isset($this->param['geo_manage_id'])){
//geo项目负责人
$geoConfModel = new GeoConf();
$ids = $geoConfModel->selectField(['manager_id' => $this->param['geo_manage_id']], 'project_id');
$query = $query->whereIn('gl_project.id', $ids);
}
return $query;
}
... ...
... ... @@ -25,9 +25,6 @@ class LinkDataController extends BaseController
* @time :2025/3/14 16:33
*/
public function lists(GeoLink $linkData){
if(!isset($this->map['type']) || empty($this->map['type'])){
$this->map['type'] = $linkData::TYPE_LINK;
}
$this->map['project_id'] = $this->user['project_id'];
$lists = $linkData->lists($this->map,$this->page,$this->row);
$this->response('success',Code::SUCCESS,$lists);
... ...
... ... @@ -41,6 +41,19 @@ class GeoWritingsLogic extends BaseLogic
}
/**
* @remark :获取详情
* @name :infoWriting
* @author :lyh
* @method :post
* @time :2025/11/7 11:02
*/
public function infoWriting()
{
$data = $this->model->read($this->param);
return $this->success($data);
}
/**
* @remark :手动上传数据
* @name :saveWriting
* @author :lyh
... ...
... ... @@ -35,15 +35,12 @@ class GeoWritingsTaskRequest extends FormRequest
'company' => 'required|string',
'brand' => 'required|string',
'keyword' => 'required|string',
'prefix' => 'required|string',
'suffix' => 'required|string',
// 'prefix' => 'required|string',
// 'suffix' => 'required|string',
'event_title' => 'required|string',
'event_content' => 'required|string',
'title' => 'required|string|max:120',
'description' => 'required|string',
'footer' => 'required|string',
'img' => 'required|string',
'ai_model' => 'required|string',
];
}
}
... ...
... ... @@ -24,21 +24,28 @@ class GeoConf extends Base
protected $table = 'gl_project_geo_conf';
/**
* GEO 负责人集合
* TODO 负责人:优化师 + 陶婵 + 艾媛媛
* @return array
*/
public function geoManage()
public function geoManage($name = '')
{
// 如果有搜索条件,直接查询(不缓存)
if (!empty($name)) {
$optimize = ManageHr::where(function($query) {
$query->where(['status' => ManageHr::STATUS_ONE, 'entry_position' => 46])
->orWhereIn('id', [11, 207, 875, 893]);
})->where('name', 'like', '%' . $name . '%')
->pluck('name', 'id')
->toArray();
ksort($optimize);
return $optimize;
}
// 没有搜索条件时使用缓存
$key = 'geo_manage_list_' . date('Ymd');
$optimize = Cache::get($key);
if (empty($optimize)) {
$optimize = ManageHr::where(['status' => ManageHr::STATUS_ONE, 'entry_position' => 46])->pluck('name', 'id')->toArray();
$optimize[11] = '陶婵';
$optimize[207] = '吴雨静';
$optimize[875] = '艾媛媛';
$optimize[893] = '杨汀';
$optimize = ManageHr::where(function($query) {
$query->where(['status' => ManageHr::STATUS_ONE, 'entry_position' => 46])
->orWhereIn('id', [11, 207, 875, 893]);
})->pluck('name', 'id')->toArray();
ksort($optimize);
Cache::put($key, $optimize, 3600);
}
... ...
... ... @@ -153,6 +153,7 @@ Route::middleware(['aloginauth'])->group(function () {
Route::any('/info', [Aside\Manage\HrController::class, 'info'])->name('admin.hr_info');
Route::post('/save', [Aside\Manage\HrController::class, 'save'])->name('admin.hr_save');
Route::post('/sort', [Aside\Manage\HrController::class, 'sort'])->name('admin.hr_sort');
Route::post('/getGeoManagerList', [Aside\Manage\HrController::class, 'getGeoManagerList'])->name('admin.hr_getGeoManagerList');
Route::any('/getSearchParamsList', [Aside\Manage\HrController::class, 'getSearchParamsList'])->name('admin.hr_getSearchParamsList');
});
... ... @@ -609,6 +610,7 @@ Route::middleware(['aloginauth'])->group(function () {
//geo文章管理
Route::prefix('writing')->group(function () {
Route::any('/', [Aside\Geo\GeoWritingsController::class, 'lists'])->name('admin.geo_writing_task');
Route::any('/info', [Aside\Geo\GeoWritingsController::class, 'info'])->name('admin.geo_writing_info');
Route::any('/saveWriting', [Aside\Geo\GeoWritingsController::class, 'saveWriting'])->name('admin.geo_writing_saveWriting');
Route::any('/delWriting', [Aside\Geo\GeoWritingsController::class, 'delWriting'])->name('admin.geo_writing_delWriting');
Route::any('/sendWechatMessage', [Aside\Geo\GeoWritingsController::class, 'sendWechatMessage'])->name('admin.geo_writing_sendWechatMessage');
... ...