作者 zhl

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

@@ -86,8 +86,8 @@ class SendProduct extends Command @@ -86,8 +86,8 @@ class SendProduct extends Command
86 $start_date = date('Y-m-d 00:00:00'); 86 $start_date = date('Y-m-d 00:00:00');
87 $end_date = date('Y-m-d 23:59:59'); 87 $end_date = date('Y-m-d 23:59:59');
88 $productModel = new Product(); 88 $productModel = new Product();
89 - $arr = $productModel->formatQuery(['send_time'=>['between',[$start_date,$end_date]],'status'=>3])->pluck('route')->toArray();  
90 - $productModel->edit(['status'=>1],['send_time'=>['between',[$start_date,$end_date]],'status'=>3]); 89 + $arr = $productModel->formatQuery(['send_time'=>['<=',$end_date],'status'=>3])->pluck('route')->toArray();
  90 + $productModel->edit(['status'=>1],['send_time'=>['<=',$end_date],'status'=>3]);
91 return $arr; 91 return $arr;
92 } 92 }
93 93
@@ -102,8 +102,8 @@ class SendProduct extends Command @@ -102,8 +102,8 @@ class SendProduct extends Command
102 $start_date = date('Y-m-d 00:00:00'); 102 $start_date = date('Y-m-d 00:00:00');
103 $end_date = date('Y-m-d 23:59:59'); 103 $end_date = date('Y-m-d 23:59:59');
104 $blogModel = new Blog(); 104 $blogModel = new Blog();
105 - $arr = $blogModel->formatQuery(['release_at'=>['between',[$start_date,$end_date]],'status'=>3])->pluck('url')->toArray();  
106 - $blogModel->edit(['status'=>1],['release_at'=>['between',[$start_date,$end_date]],'status'=>3]); 105 + $arr = $blogModel->formatQuery(['release_at'=>['<=',$end_date],'status'=>3])->pluck('url')->toArray();
  106 + $blogModel->edit(['status'=>1],['release_at'=>['<=',$end_date],'status'=>3]);
107 return $arr; 107 return $arr;
108 } 108 }
109 109
@@ -118,8 +118,8 @@ class SendProduct extends Command @@ -118,8 +118,8 @@ class SendProduct extends Command
118 $start_date = date('Y-m-d 00:00:00'); 118 $start_date = date('Y-m-d 00:00:00');
119 $end_date = date('Y-m-d 23:59:59'); 119 $end_date = date('Y-m-d 23:59:59');
120 $newsModel = new News(); 120 $newsModel = new News();
121 - $arr = $newsModel->formatQuery(['release_at'=>['between',[$start_date,$end_date]],'status'=>3])->pluck('url')->toArray();  
122 - $newsModel->edit(['status'=>1],['release_at'=>['between',[$start_date,$end_date]],'status'=>3]); 121 + $arr = $newsModel->formatQuery(['release_at'=>['<=',$end_date],'status'=>3])->pluck('url')->toArray();
  122 + $newsModel->edit(['status'=>1],['release_at'=>['<=',$end_date],'status'=>3]);
123 return $arr; 123 return $arr;
124 } 124 }
125 } 125 }
@@ -25,17 +25,16 @@ class GeoController extends BaseController @@ -25,17 +25,16 @@ class GeoController extends BaseController
25 * @param Request $request 25 * @param Request $request
26 * @return false|string 26 * @return false|string
27 */ 27 */
28 - public function getWritingsList(Request $request) 28 + public function getWritingsList()
29 { 29 {
30 try { 30 try {
31 - $token = trim($request->input('token')); 31 + $token = trim($this->param['token']);
32 $param = Crypt::decrypt($token); 32 $param = Crypt::decrypt($token);
33 if ($param['send_at'] + 86400 < time()) {} 33 if ($param['send_at'] + 86400 < time()) {}
34 $project_id = $param['project_id']; 34 $project_id = $param['project_id'];
35 } catch (\Exception $e) { 35 } catch (\Exception $e) {
36 return $this->error('非法请求'); 36 return $this->error('非法请求');
37 } 37 }
38 -  
39 $project = Project::select('title', 'version')->where(['project_id' => $this->param['project_id']])->first(); 38 $project = Project::select('title', 'version')->where(['project_id' => $this->param['project_id']])->first();
40 $list = GeoWritings::select(['title', 'status', 'uniqid', 'confirm_at'])->where(['project_id' => $project_id, 'is_del' => GeoWritings::IS_DEL_FALSE])->get(); 39 $list = GeoWritings::select(['title', 'status', 'uniqid', 'confirm_at'])->where(['project_id' => $project_id, 'is_del' => GeoWritings::IS_DEL_FALSE])->get();
41 $result = [ 40 $result = [
@@ -78,10 +77,14 @@ class GeoController extends BaseController @@ -78,10 +77,14 @@ class GeoController extends BaseController
78 ]); 77 ]);
79 $token = trim($request->input('token')); 78 $token = trim($request->input('token'));
80 $data = GeoWritings::where(['uniqid' => $token])->first(); 79 $data = GeoWritings::where(['uniqid' => $token])->first();
81 - if (empty($data)) 80 + if (empty($data)){
82 return $this->error('非法请求'); 81 return $this->error('非法请求');
83 - if ($data->status != GeoWritings::STATUS_RUNNING) 82 + }
  83 +
  84 + if ($data->status != GeoWritings::STATUS_RUNNING){
84 return $this->error('当前文章已确认,不可再次确认'); 85 return $this->error('当前文章已确认,不可再次确认');
  86 + }
  87 +
85 88
86 // FIXME 验证完成,保存数据,计算内容长度,处理内容中的资源, IP 确认时间 状态 89 // FIXME 验证完成,保存数据,计算内容长度,处理内容中的资源, IP 确认时间 状态
87 return $data; 90 return $data;
@@ -96,8 +99,9 @@ class GeoController extends BaseController @@ -96,8 +99,9 @@ class GeoController extends BaseController
96 { 99 {
97 $token = trim($request->input('token')); 100 $token = trim($request->input('token'));
98 $data = GeoConfirm::where(['uniqid' => $token])->first(); 101 $data = GeoConfirm::where(['uniqid' => $token])->first();
99 - if (empty($data)) 102 + if (empty($data)){
100 return $this->error('当前授权已失效'); 103 return $this->error('当前授权已失效');
  104 + }
101 $content = explode("\n", $data->content); 105 $content = explode("\n", $data->content);
102 $confirm = explode("\n", $data->confirm); 106 $confirm = explode("\n", $data->confirm);
103 $type = $data->type; 107 $type = $data->type;
@@ -113,4 +117,4 @@ class GeoController extends BaseController @@ -113,4 +117,4 @@ class GeoController extends BaseController
113 */ 117 */
114 public function saveConfirm(Request $request) 118 public function saveConfirm(Request $request)
115 {} 119 {}
116 -}  
  120 +}
@@ -38,6 +38,16 @@ class GeoController extends BaseController @@ -38,6 +38,16 @@ class GeoController extends BaseController
38 $project_geo_conf = $projectModel->read(['id' => $this->param['project_id']],['title', 'version', 'geo_status', 'geo_qualify_num']); 38 $project_geo_conf = $projectModel->read(['id' => $this->param['project_id']],['title', 'version', 'geo_status', 'geo_qualify_num']);
39 $geoConfModel = new GeoConf(); 39 $geoConfModel = new GeoConf();
40 $geo_conf = $geoConfModel->read(['project_id' => $this->param['project_id']]); 40 $geo_conf = $geoConfModel->read(['project_id' => $this->param['project_id']]);
  41 + if($geo_conf === false){//数据未初始化
  42 + $geo_conf = [
  43 + 'project_id' => $this->param['project_id'],
  44 + 'manager_id'=>0,
  45 + 'company'=>$project_geo_conf['title'],
  46 + 'brand'=>'',
  47 + 'description'=>''
  48 + ];
  49 + }
  50 + //负责人集合
41 $geo_manage_list = $geoConfModel->geoManage(); 51 $geo_manage_list = $geoConfModel->geoManage();
42 // geo配置管理员,已经移除管理员列表,补充管理员信息 52 // geo配置管理员,已经移除管理员列表,补充管理员信息
43 if ($geo_conf && $geo_conf['manager_id'] && empty($geo_manage_list[$geo_conf['manager_id']])) { 53 if ($geo_conf && $geo_conf['manager_id'] && empty($geo_manage_list[$geo_conf['manager_id']])) {
@@ -125,5 +135,7 @@ class GeoController extends BaseController @@ -125,5 +135,7 @@ class GeoController extends BaseController
125 * @param Request $request 135 * @param Request $request
126 */ 136 */
127 public function saveConfirmData(Request $request) 137 public function saveConfirmData(Request $request)
128 - {} 138 + {
  139 +
  140 + }
129 } 141 }
@@ -10,7 +10,6 @@ use App\Http\Logic\Aside\Project\OnlineCheckLogic; @@ -10,7 +10,6 @@ use App\Http\Logic\Aside\Project\OnlineCheckLogic;
10 use App\Http\Logic\Aside\Project\ProcessRecordsLogic; 10 use App\Http\Logic\Aside\Project\ProcessRecordsLogic;
11 use App\Http\Logic\Aside\Project\ProjectLogic; 11 use App\Http\Logic\Aside\Project\ProjectLogic;
12 use App\Http\Requests\Aside\Project\ProcessRecordsRequest; 12 use App\Http\Requests\Aside\Project\ProcessRecordsRequest;
13 -use App\Models\Ai\AiVideo;  
14 use App\Models\ASide\APublicModel; 13 use App\Models\ASide\APublicModel;
15 use App\Models\Channel\Channel; 14 use App\Models\Channel\Channel;
16 use App\Models\Channel\User; 15 use App\Models\Channel\User;
@@ -21,9 +20,11 @@ use App\Models\Com\UpdateLog; @@ -21,9 +20,11 @@ use App\Models\Com\UpdateLog;
21 use App\Models\Devops\ServerConfig; 20 use App\Models\Devops\ServerConfig;
22 use App\Models\Devops\ServersIp; 21 use App\Models\Devops\ServersIp;
23 use App\Models\Domain\DomainCreateTask; 22 use App\Models\Domain\DomainCreateTask;
24 -use App\Models\Domain\DomainInfo;  
25 use App\Models\Domain\DomainInfo as DomainInfoModel; 23 use App\Models\Domain\DomainInfo as DomainInfoModel;
  24 +use App\Models\Geo\GeoArticle;
  25 +use App\Models\Geo\GeoConf;
26 use App\Models\Geo\GeoLink; 26 use App\Models\Geo\GeoLink;
  27 +use App\Models\Geo\GeoQuestionResult;
27 use App\Models\HomeCount\Count; 28 use App\Models\HomeCount\Count;
28 use App\Models\Industry\ProjectIndustry; 29 use App\Models\Industry\ProjectIndustry;
29 use App\Models\Inquiry\InquirySet; 30 use App\Models\Inquiry\InquirySet;
@@ -31,7 +32,6 @@ use App\Models\Manage\BelongingGroup; @@ -31,7 +32,6 @@ use App\Models\Manage\BelongingGroup;
31 use App\Models\Manage\ManageHr; 32 use App\Models\Manage\ManageHr;
32 use App\Models\Project\AiVideoTask; 33 use App\Models\Project\AiVideoTask;
33 use App\Models\Project\DeployBuild; 34 use App\Models\Project\DeployBuild;
34 -use App\Models\Project\DeployOptimize;  
35 use App\Models\Project\Payment; 35 use App\Models\Project\Payment;
36 use App\Models\Project\ProcessRecords; 36 use App\Models\Project\ProcessRecords;
37 use App\Models\Project\Project; 37 use App\Models\Project\Project;
@@ -43,7 +43,6 @@ use App\Models\Task\Task; @@ -43,7 +43,6 @@ use App\Models\Task\Task;
43 use App\Models\WebSetting\WebLanguage; 43 use App\Models\WebSetting\WebLanguage;
44 use App\Models\WorkOrder\TicketProject; 44 use App\Models\WorkOrder\TicketProject;
45 use Illuminate\Http\Request; 45 use Illuminate\Http\Request;
46 -use Illuminate\Support\Facades\DB;  
47 use Illuminate\Support\Facades\Http; 46 use Illuminate\Support\Facades\Http;
48 47
49 /** 48 /**
@@ -448,33 +447,46 @@ class ProjectController extends BaseController @@ -448,33 +447,46 @@ class ProjectController extends BaseController
448 if(!empty($item['extend_type'])){ 447 if(!empty($item['extend_type'])){
449 $item['type'] = $item['extend_type']; 448 $item['type'] = $item['extend_type'];
450 } 449 }
451 - $manageModel = new ManageHr();  
452 - $item['channel'] = Channel::getChannelText($item['channel']['user_id'] ?? 0);  
453 - $item['build_leader'] = $manageModel->getName($item['leader_mid']);  
454 - $item['build_manager'] = $manageModel->getName($item['manager_mid']);  
455 - $item['build_designer'] = $manageModel->getName($item['designer_mid']);  
456 - $item['build_tech'] = $manageModel->getName($item['tech_mid']);  
457 - $item['optimize_manager'] = $manageModel->getName($item['optimize_manager_mid']);  
458 - $item['optimize_optimist'] = $manageModel->getName($item['optimize_optimist_mid']);  
459 - $item['optimize_assist'] = $manageModel->getName($item['optimize_assist_mid']);  
460 - $item['optimize_tech'] = $manageModel->getName($item['optimize_tech_mid']);  
461 - $item['quality_mid_name'] = $manageModel->getName($item['quality_mid']); 450 + $domainModel = new DomainInfoModel();
  451 + $item['domain'] = !empty($item['domain']) ? $domainModel->getDomain($item['domain']) : '';
  452 + $item['uuid'] = TicketProject::where('table_id', $item['id'])->where('project_cate', 2)->value('uuid') ?? null;
  453 + $item['friend_id'] = ProjectAssociation::where('project_id', $item['id'])->where('status', ProjectAssociation::STATUS_NORMAL)->where('binding_app', ProjectAssociation::ENTERPRISE_WECHAT)->value('friend_id') ?? null;
462 $planMap = Project::planMap(); 454 $planMap = Project::planMap();
463 $seoPlanMap = Project::seoMap(); 455 $seoPlanMap = Project::seoMap();
464 $item['plan'] = $planMap[$item['plan']] ?? ''; 456 $item['plan'] = $planMap[$item['plan']] ?? '';
465 $item['seo_plan'] = $seoPlanMap[$item['seo_plan']] ?? ''; 457 $item['seo_plan'] = $seoPlanMap[$item['seo_plan']] ?? '';
466 - $item['created_at'] = date('Y年m月d日', strtotime($item['cooperate_date']));  
467 $item['autologin_code'] = getAutoLoginCode($item['id']); 458 $item['autologin_code'] = getAutoLoginCode($item['id']);
468 - $domainModel = new DomainInfo();  
469 - $item['domain'] = !empty($item['domain']) ? $domainModel->getDomain($item['domain']) : ''; 459 + $item['created_at'] = date('Y年m月d日', strtotime($item['cooperate_date']));
470 $item['product_num'] = $data['product'] ?? 0; 460 $item['product_num'] = $data['product'] ?? 0;
471 $item['keyword_num'] = $data['key'] ?? 0; 461 $item['keyword_num'] = $data['key'] ?? 0;
472 $item['article_num'] = ($data['blog'] ?? 0) + ($data['news'] ?? 0); 462 $item['article_num'] = ($data['blog'] ?? 0) + ($data['news'] ?? 0);
473 $item['task_finish_num'] = Task::getNumByProjectId($item['id'], Task::STATUS_DOWN); 463 $item['task_finish_num'] = Task::getNumByProjectId($item['id'], Task::STATUS_DOWN);
474 $item['task_pending_num'] = Task::getNumByProjectId($item['id'], [Task::STATUS_DONGING, Task::STATUS_WAIT]); 464 $item['task_pending_num'] = Task::getNumByProjectId($item['id'], [Task::STATUS_DONGING, Task::STATUS_WAIT]);
475 $item['collect_time'] = $item['is_upgrade'] ? UpdateLog::getProjectUpdate($item['id']) : ''; 465 $item['collect_time'] = $item['is_upgrade'] ? UpdateLog::getProjectUpdate($item['id']) : '';
476 - $item['uuid'] = TicketProject::where('table_id', $item['id'])->where('project_cate', 2)->value('uuid') ?? null;  
477 - $item['friend_id'] = ProjectAssociation::where('project_id', $item['id'])->where('status', ProjectAssociation::STATUS_NORMAL)->where('binding_app', ProjectAssociation::ENTERPRISE_WECHAT)->value('friend_id') ?? null; 466 + $item['channel'] = Channel::getChannelText($item['channel']['user_id'] ?? 0);
  467 + $manageModel = new ManageHr();
  468 + //geo项目
  469 + if(($item['plan'] == 0) && ($item['seo_plan'] != 0)){
  470 + //geo项目负责人
  471 + $geoConfModel = new GeoConf();
  472 + $manage_id = $geoConfModel->getValue(['project_id'=>$item['id']],'manager_id');
  473 + $item['geo_manage_name'] = $manageModel->getName($manage_id);
  474 + $geoArticleModel = new GeoArticle();
  475 + $item['geo_article_num'] = $geoArticleModel->counts(['project_id'=>$item['id']]);//文章数量
  476 + $geoLinkModel = new GeoLink();
  477 + $item['geo_link_num'] = $geoLinkModel->counts(['project_id'=>$item['id']]);//权威新闻数量
  478 + $questionResModel = new GeoQuestionResult();
  479 + $item['geo_qualify_num'] = $questionResModel->counts(['project_id'=>$item['id'],'hit'=>['!=',0],'platform'=>['in',['openai', 'gemini','google_ai_overview']]]);//排名
  480 + }
  481 + $item['build_leader'] = $manageModel->getName($item['leader_mid']);
  482 + $item['build_manager'] = $manageModel->getName($item['manager_mid']);
  483 + $item['build_designer'] = $manageModel->getName($item['designer_mid']);
  484 + $item['build_tech'] = $manageModel->getName($item['tech_mid']);
  485 + $item['optimize_manager'] = $manageModel->getName($item['optimize_manager_mid']);
  486 + $item['optimize_optimist'] = $manageModel->getName($item['optimize_optimist_mid']);
  487 + $item['optimize_assist'] = $manageModel->getName($item['optimize_assist_mid']);
  488 + $item['optimize_tech'] = $manageModel->getName($item['optimize_tech_mid']);
  489 + $item['quality_mid_name'] = $manageModel->getName($item['quality_mid']);
478 return $item; 490 return $item;
479 } 491 }
480 492
@@ -797,7 +809,6 @@ class ProjectController extends BaseController @@ -797,7 +809,6 @@ class ProjectController extends BaseController
797 $order_by_sort = $request->input('order_by_sort', 'desc'); 809 $order_by_sort = $request->input('order_by_sort', 'desc');
798 $start_time = $this->param['start_time'] ?? ''; 810 $start_time = $this->param['start_time'] ?? '';
799 $end_time = $this->param['end_time'] ?? ''; 811 $end_time = $this->param['end_time'] ?? '';
800 -  
801 if(!$source_id && !$id){ 812 if(!$source_id && !$id){
802 $this->response('参数异常',Code::SYSTEM_ERROR); 813 $this->response('参数异常',Code::SYSTEM_ERROR);
803 } 814 }
@@ -891,7 +902,6 @@ class ProjectController extends BaseController @@ -891,7 +902,6 @@ class ProjectController extends BaseController
891 $param['yesterday_ip_count'] = $yesterday_count['ip_num'] ?? 0; 902 $param['yesterday_ip_count'] = $yesterday_count['ip_num'] ?? 0;
892 $param['today_ip_count'] = $today_count['ip_num'] ?? 0; 903 $param['today_ip_count'] = $today_count['ip_num'] ?? 0;
893 $param['inquiry_num'] = $today_count['inquiry_num'] ?? 0; 904 $param['inquiry_num'] = $today_count['inquiry_num'] ?? 0;
894 -  
895 $list[] = $param; 905 $list[] = $param;
896 } 906 }
897 $data['list'] = $list; 907 $data['list'] = $list;
@@ -1182,7 +1192,6 @@ class ProjectController extends BaseController @@ -1182,7 +1192,6 @@ class ProjectController extends BaseController
1182 'id.required' => '项目id不能为空', 1192 'id.required' => '项目id不能为空',
1183 'site_status.required' => '状态不能为空', 1193 'site_status.required' => '状态不能为空',
1184 ]); 1194 ]);
1185 -  
1186 //获取项目数据 1195 //获取项目数据
1187 $projectModel = new Project(); 1196 $projectModel = new Project();
1188 $projectInfo = $projectModel->read(['id'=>$this->param['id']],['project_type','serve_id','site_status','site_token']); 1197 $projectInfo = $projectModel->read(['id'=>$this->param['id']],['project_type','serve_id','site_status','site_token']);
@@ -1192,14 +1201,12 @@ class ProjectController extends BaseController @@ -1192,14 +1201,12 @@ class ProjectController extends BaseController
1192 if($projectInfo['site_status'] == $this->param['site_status']){ 1201 if($projectInfo['site_status'] == $this->param['site_status']){
1193 $this->response('success'); 1202 $this->response('success');
1194 } 1203 }
1195 -  
1196 //获取服务器数据 1204 //获取服务器数据
1197 $serverIpModel = new ServersIp(); 1205 $serverIpModel = new ServersIp();
1198 $serversIpInfo = $serverIpModel->read(['id' => $projectInfo['serve_id']], ['servers_id']); 1206 $serversIpInfo = $serverIpModel->read(['id' => $projectInfo['serve_id']], ['servers_id']);
1199 if(!$serversIpInfo){ 1207 if(!$serversIpInfo){
1200 $this->fail('获取项目所属服务器失败'); 1208 $this->fail('获取项目所属服务器失败');
1201 } 1209 }
1202 -  
1203 if($serversIpInfo['servers_id'] == ServerConfig::SELF_SITE_ID){ 1210 if($serversIpInfo['servers_id'] == ServerConfig::SELF_SITE_ID){
1204 //自建站项目 1211 //自建站项目
1205 if($this->param['site_status'] == 1){ 1212 if($this->param['site_status'] == 1){
@@ -1209,7 +1216,6 @@ class ProjectController extends BaseController @@ -1209,7 +1216,6 @@ class ProjectController extends BaseController
1209 //开启站点 1216 //开启站点
1210 $site_token = str_replace('_expired','',$projectInfo['site_token']); 1217 $site_token = str_replace('_expired','',$projectInfo['site_token']);
1211 } 1218 }
1212 -  
1213 $projectModel->edit(['site_status'=>$this->param['site_status'],'site_token'=>$site_token],['id'=>$this->param['id']]); 1219 $projectModel->edit(['site_status'=>$this->param['site_status'],'site_token'=>$site_token],['id'=>$this->param['id']]);
1214 }else{ 1220 }else{
1215 //普通项目 1221 //普通项目
@@ -1219,7 +1225,6 @@ class ProjectController extends BaseController @@ -1219,7 +1225,6 @@ class ProjectController extends BaseController
1219 if(!$domainInfo){ 1225 if(!$domainInfo){
1220 $this->fail('获取域名数据失败'); 1226 $this->fail('获取域名数据失败');
1221 } 1227 }
1222 -  
1223 if($this->param['site_status'] == 1){ 1228 if($this->param['site_status'] == 1){
1224 //关闭站点:通知C端 1229 //关闭站点:通知C端
1225 $re = curl_get('https://'.$domainInfo['domain'].'/api/stop_or_start_website'); 1230 $re = curl_get('https://'.$domainInfo['domain'].'/api/stop_or_start_website');
@@ -1260,10 +1265,8 @@ class ProjectController extends BaseController @@ -1260,10 +1265,8 @@ class ProjectController extends BaseController
1260 } 1265 }
1261 } 1266 }
1262 } 1267 }
1263 -  
1264 $projectModel->edit(['site_status'=>$this->param['site_status']],['id'=>$this->param['id']]); 1268 $projectModel->edit(['site_status'=>$this->param['site_status']],['id'=>$this->param['id']]);
1265 } 1269 }
1266 -  
1267 $this->response('success'); 1270 $this->response('success');
1268 } 1271 }
1269 1272
@@ -21,6 +21,9 @@ class AiBlogController extends BaseController @@ -21,6 +21,9 @@ class AiBlogController extends BaseController
21 * @time :2025/2/14 13:59 21 * @time :2025/2/14 13:59
22 */ 22 */
23 public function getAiBlog(AiBlog $aiBlog){ 23 public function getAiBlog(AiBlog $aiBlog){
  24 + if(isset($this->map['new_title']) && !empty($this->map['new_title'])){
  25 + $this->map['new_title'] = ['like', '%'.$this->map['new_title'].'%'];
  26 + }
24 $lists = $aiBlog->lists($this->map,$this->page,$this->row,'id',['id','keyword','new_title','route','image','task_id','status','created_at','updated_at']); 27 $lists = $aiBlog->lists($this->map,$this->page,$this->row,'id',['id','keyword','new_title','route','image','task_id','status','created_at','updated_at']);
25 if(!empty($lists) && !empty($lists['list'])){ 28 if(!empty($lists) && !empty($lists['list'])){
26 foreach ($lists['list'] as $k => $v){ 29 foreach ($lists['list'] as $k => $v){
@@ -116,7 +116,7 @@ class GeoConfirm extends Base @@ -116,7 +116,7 @@ class GeoConfirm extends Base
116 $content_type = 'Link'; 116 $content_type = 'Link';
117 $send_time = now(); 117 $send_time = now();
118 $type = MessagePush::TYPE_GEO_CONFIRM; 118 $type = MessagePush::TYPE_GEO_CONFIRM;
119 - $token = uniqid(); 119 + $token = uniqid().$friend_id;
120 $created_at = $updated_at = now(); 120 $created_at = $updated_at = now();
121 $content_array = [ 121 $content_array = [
122 'title' => self::typeMapping()[$data->type], 122 'title' => self::typeMapping()[$data->type],
@@ -86,13 +86,11 @@ class GeoWritings extends Base @@ -86,13 +86,11 @@ class GeoWritings extends Base
86 $type = MessagePush::TYPE_GEO_CONFIRM; 86 $type = MessagePush::TYPE_GEO_CONFIRM;
87 $friend_id = $friend->friend_id; 87 $friend_id = $friend->friend_id;
88 $created_at = $updated_at = now(); 88 $created_at = $updated_at = now();
89 -  
90 $param = [ 89 $param = [
91 'project_id' => $project_id, 90 'project_id' => $project_id,
92 'send_at' => time() 91 'send_at' => time()
93 ]; 92 ];
94 $token = Crypt::encrypt($param); 93 $token = Crypt::encrypt($param);
95 -  
96 $content_array = [ 94 $content_array = [
97 'title' => "确认核心文章", 95 'title' => "确认核心文章",
98 'desc' => '确认核心文章', 96 'desc' => '确认核心文章',
@@ -106,4 +104,4 @@ class GeoWritings extends Base @@ -106,4 +104,4 @@ class GeoWritings extends Base
106 return true; 104 return true;
107 } 105 }
108 106
109 -}  
  107 +}
@@ -107,4 +107,8 @@ Route::prefix('ticket_upload')->group(function () { @@ -107,4 +107,8 @@ Route::prefix('ticket_upload')->group(function () {
107 Route::any('/saveLayoutDesign', [\App\Http\Controllers\Api\WorkOrder\TicketUploadDataController::class, 'saveLayoutDesign'])->name('ticket_upload.saveLayoutDesign'); 107 Route::any('/saveLayoutDesign', [\App\Http\Controllers\Api\WorkOrder\TicketUploadDataController::class, 'saveLayoutDesign'])->name('ticket_upload.saveLayoutDesign');
108 Route::any('/getLayoutDesignInfo', [\App\Http\Controllers\Api\WorkOrder\TicketUploadDataController::class, 'getLayoutDesignInfo'])->name('ticket_upload.getLayoutDesignInfo'); 108 Route::any('/getLayoutDesignInfo', [\App\Http\Controllers\Api\WorkOrder\TicketUploadDataController::class, 'getLayoutDesignInfo'])->name('ticket_upload.getLayoutDesignInfo');
109 }); 109 });
  110 +//geo设置
  111 +Route::prefix('geo')->group(function () {
  112 + Route::any('/getConfirm', [\App\Http\Controllers\Api\GeoController::class, 'getConfirm'])->name('geo.getConfirm');
  113 +});
110 114
@@ -589,6 +589,8 @@ Route::middleware(['aloginauth'])->group(function () { @@ -589,6 +589,8 @@ Route::middleware(['aloginauth'])->group(function () {
589 //geo设置 589 //geo设置
590 Route::prefix('conf')->group(function () { 590 Route::prefix('conf')->group(function () {
591 Route::any('/getConfig', [Aside\Geo\GeoController::class, 'getConfig'])->name('admin.geo_conf_getConfig'); 591 Route::any('/getConfig', [Aside\Geo\GeoController::class, 'getConfig'])->name('admin.geo_conf_getConfig');
  592 + Route::any('/saveConfig', [Aside\Geo\GeoController::class, 'saveConfig'])->name('admin.geo_conf_saveConfig');
  593 + Route::any('/saveConfirmContent', [Aside\Geo\GeoController::class, 'saveConfirmContent'])->name('admin.geo_conf_saveConfirmContent');
592 }); 594 });
593 }); 595 });
594 // 任务相关 596 // 任务相关