作者 张关杰

Merge branch 'develop' of http://47.244.231.31:8099/zhl/globalso-v6 into bate

@@ -585,6 +585,9 @@ class ProjectUpdate extends Command @@ -585,6 +585,9 @@ class ProjectUpdate extends Command
585 $category_id = $category_custom['id']; 585 $category_id = $category_custom['id'];
586 } 586 }
587 } 587 }
  588 + if($category_id){
  589 + $category_id = ',' . $category_id . ',';
  590 + }
588 //图片 591 //图片
589 if (is_array($item['images'] ?? '')) { 592 if (is_array($item['images'] ?? '')) {
590 $image = $item['images'][0] ?? ''; 593 $image = $item['images'][0] ?? '';
@@ -625,8 +628,8 @@ class ProjectUpdate extends Command @@ -625,8 +628,8 @@ class ProjectUpdate extends Command
625 } 628 }
626 629
627 //扩展字段 630 //扩展字段
628 - if ($item['extend'][0] ?? []) {  
629 - foreach ($item['extend'][0] as $ke => $ve) { 631 + if ($item['extend'] ?? []) {
  632 + foreach ($item['extend'] as $ke => $ve) {
630 $extend = $extend_model->read(['title' => $ke]); 633 $extend = $extend_model->read(['title' => $ke]);
631 if ($extend) { 634 if ($extend) {
632 $extend_info = $extend_info_model->read(['key' => $extend['key'], 'content_id' => $id]); 635 $extend_info = $extend_info_model->read(['key' => $extend['key'], 'content_id' => $id]);
@@ -637,7 +640,7 @@ class ProjectUpdate extends Command @@ -637,7 +640,7 @@ class ProjectUpdate extends Command
637 foreach ($ve as $ve_img) { 640 foreach ($ve as $ve_img) {
638 $gallery[] = ['title' => '', 'description' => '', 'url' => $this->source_download($ve_img, $project_id, $domain_arr['host'], $web_url_domain, $home_url)]; 641 $gallery[] = ['title' => '', 'description' => '', 'url' => $this->source_download($ve_img, $project_id, $domain_arr['host'], $web_url_domain, $home_url)];
639 } 642 }
640 - }else{ 643 + } else {
641 $gallery[] = ['title' => '', 'description' => '', 'url' => $this->source_download($ve, $project_id, $domain_arr['host'], $web_url_domain, $home_url)]; 644 $gallery[] = ['title' => '', 'description' => '', 'url' => $this->source_download($ve, $project_id, $domain_arr['host'], $web_url_domain, $home_url)];
642 } 645 }
643 $value = Arr::a2s($gallery); 646 $value = Arr::a2s($gallery);
@@ -129,7 +129,11 @@ class TranslateController extends BaseController @@ -129,7 +129,11 @@ class TranslateController extends BaseController
129 case RouteMap::SOURCE_PRODUCT_CATE: 129 case RouteMap::SOURCE_PRODUCT_CATE:
130 //获取当前产品分类关联多少产品 130 //获取当前产品分类关联多少产品
131 $productModel = new Product(); 131 $productModel = new Product();
132 - $count = $productModel->formatQuery(['category_id'=>['like','%,'.$v['source_id'].',%']])->count(); 132 + if($v['route'] == 'products'){
  133 + $count = $productModel->formatQuery(['status'=>1])->count();
  134 + }else{
  135 + $count = $productModel->formatQuery(['category_id'=>['like','%,'.$v['source_id'].',%'],'status'=>1])->count();
  136 + }
133 $this->pageList($data,$count,$v,1,15); 137 $this->pageList($data,$count,$v,1,15);
134 break; 138 break;
135 case RouteMap::SOURCE_BLOG: 139 case RouteMap::SOURCE_BLOG:
@@ -140,12 +144,20 @@ class TranslateController extends BaseController @@ -140,12 +144,20 @@ class TranslateController extends BaseController
140 break; 144 break;
141 case RouteMap::SOURCE_BLOG_CATE: 145 case RouteMap::SOURCE_BLOG_CATE:
142 $blogModel = new Blog(); 146 $blogModel = new Blog();
143 - $count = $blogModel->formatQuery(['category_id'=>['like','%,'.$v['source_id'].',%']])->count(); 147 + if($v['route'] == 'blog'){
  148 + $count = $blogModel->formatQuery(['status'=>1])->count();
  149 + }else{
  150 + $count = $blogModel->formatQuery(['category_id'=>['like','%,'.$v['source_id'].',%'],'status'=>1])->count();
  151 + }
144 $this->pageList($data,$count,$v,2,10); 152 $this->pageList($data,$count,$v,2,10);
145 break; 153 break;
146 case RouteMap::SOURCE_NEWS_CATE: 154 case RouteMap::SOURCE_NEWS_CATE:
147 $newsModel = new News(); 155 $newsModel = new News();
148 - $count = $newsModel->formatQuery(['category_id'=>['like','%,'.$v['source_id'].',%']])->count(); 156 + if($v['route'] == 'news'){
  157 + $count = $newsModel->formatQuery(['status'=>1])->count();
  158 + }else{
  159 + $count = $newsModel->formatQuery(['category_id'=>['like','%,'.$v['source_id'].',%'],'status'=>1])->count();
  160 + }
149 $this->pageList($data,$count,$v,3,10); 161 $this->pageList($data,$count,$v,3,10);
150 break; 162 break;
151 case RouteMap::SOURCE_MODULE: 163 case RouteMap::SOURCE_MODULE:
@@ -198,7 +210,11 @@ class TranslateController extends BaseController @@ -198,7 +210,11 @@ class TranslateController extends BaseController
198 case RouteMap::SOURCE_PRODUCT_CATE: 210 case RouteMap::SOURCE_PRODUCT_CATE:
199 //获取当前产品分类关联多少产品 211 //获取当前产品分类关联多少产品
200 $productModel = new Product(); 212 $productModel = new Product();
201 - $count = $productModel->formatQuery(['category_id'=>['like','%,'.$v['source_id'].',%']])->count(); 213 + if($v['route'] == 'products'){
  214 + $count = $productModel->formatQuery(['status'=>1])->count();
  215 + }else{
  216 + $count = $productModel->formatQuery(['category_id'=>['like','%,'.$v['source_id'].',%'],'status'=>1])->count();
  217 + }
202 $this->pageSixList($data,$count,$v,1,15); 218 $this->pageSixList($data,$count,$v,1,15);
203 break; 219 break;
204 case RouteMap::SOURCE_BLOG: 220 case RouteMap::SOURCE_BLOG:
@@ -209,12 +225,20 @@ class TranslateController extends BaseController @@ -209,12 +225,20 @@ class TranslateController extends BaseController
209 break; 225 break;
210 case RouteMap::SOURCE_BLOG_CATE: 226 case RouteMap::SOURCE_BLOG_CATE:
211 $blogModel = new Blog(); 227 $blogModel = new Blog();
212 - $count = $blogModel->formatQuery(['category_id'=>['like','%,'.$v['source_id'].',%']])->count(); 228 + if($v['route'] == 'blog'){
  229 + $count = $blogModel->formatQuery(['status'=>1])->count();
  230 + }else{
  231 + $count = $blogModel->formatQuery(['category_id'=>['like','%,'.$v['source_id'].',%'],'status'=>1])->count();
  232 + }
213 $this->pageSixList($data,$count,$v,2,10); 233 $this->pageSixList($data,$count,$v,2,10);
214 break; 234 break;
215 case RouteMap::SOURCE_NEWS_CATE: 235 case RouteMap::SOURCE_NEWS_CATE:
216 $newsModel = new News(); 236 $newsModel = new News();
217 - $count = $newsModel->formatQuery(['category_id'=>['like','%,'.$v['source_id'].',%']])->count(); 237 + if($v['route'] == 'news'){
  238 + $count = $newsModel->formatQuery(['status'=>1])->count();
  239 + }else{
  240 + $count = $newsModel->formatQuery(['category_id'=>['like','%,'.$v['source_id'].',%'],'status'=>1])->count();
  241 + }
218 $this->pageSixList($data,$count,$v,3,10); 242 $this->pageSixList($data,$count,$v,3,10);
219 break; 243 break;
220 case RouteMap::SOURCE_MODULE: 244 case RouteMap::SOURCE_MODULE:
@@ -62,7 +62,6 @@ class MonthCountLogic extends BaseLogic @@ -62,7 +62,6 @@ class MonthCountLogic extends BaseLogic
62 $startTime = Carbon::now()->startOfMonth()->toDateString(); 62 $startTime = Carbon::now()->startOfMonth()->toDateString();
63 $endTime = date('Y-m-d',time()); 63 $endTime = date('Y-m-d',time());
64 $arr = []; 64 $arr = [];
65 - ProjectServer::useProject($this->user['project_id']);  
66 $arr = $this->inquiryCount($arr,$startTime,$endTime,$this->user['domain']); 65 $arr = $this->inquiryCount($arr,$startTime,$endTime,$this->user['domain']);
67 $arr = $this->flowCount($arr,$startTime,$endTime,$this->user['project_id']); 66 $arr = $this->flowCount($arr,$startTime,$endTime,$this->user['project_id']);
68 $arr = $this->sourceCount($arr,$startTime,$endTime,$this->user['domain']); 67 $arr = $this->sourceCount($arr,$startTime,$endTime,$this->user['domain']);
@@ -91,11 +90,11 @@ class MonthCountLogic extends BaseLogic @@ -91,11 +90,11 @@ class MonthCountLogic extends BaseLogic
91 foreach ($data as $v){ 90 foreach ($data as $v){
92 if(($startTime.' 00:00:00' <= $v['submit_time']) && $v['submit_time'] <= $endTime.' 23:59:59'){ 91 if(($startTime.' 00:00:00' <= $v['submit_time']) && $v['submit_time'] <= $endTime.' 23:59:59'){
93 $arr['month_total']++; 92 $arr['month_total']++;
94 - }  
95 - if(isset($countryArr[$v['country']])){  
96 - $countryArr[$v['country']]++;  
97 - }else{  
98 - $countryArr[$v['country']] = 1; 93 + if(isset($countryArr[$v['country']])){
  94 + $countryArr[$v['country']]++;
  95 + }else{
  96 + $countryArr[$v['country']] = 1;
  97 + }
99 } 98 }
100 } 99 }
101 } 100 }
@@ -510,6 +510,8 @@ class ProductLogic extends BaseLogic @@ -510,6 +510,8 @@ class ProductLogic extends BaseLogic
510 'created_uid'=>$this->user['id'], 510 'created_uid'=>$this->user['id'],
511 'created_at'=>date('Y-m-d H:i:s'), 511 'created_at'=>date('Y-m-d H:i:s'),
512 'updated_at'=>date('Y-m-d H:i:s'), 512 'updated_at'=>date('Y-m-d H:i:s'),
  513 + 'six_read'=>$info['six_read'],
  514 + 'is_upgrade'=>$info['is_upgrade']
513 ]; 515 ];
514 if(isset($info['icon']) && !empty($info['icon'])){ 516 if(isset($info['icon']) && !empty($info['icon'])){
515 foreach ($info['icon'] as $k1 => $v1){ 517 foreach ($info['icon'] as $k1 => $v1){
@@ -70,10 +70,12 @@ class TranslateLogic extends BaseLogic @@ -70,10 +70,12 @@ class TranslateLogic extends BaseLogic
70 $arr2[0]=>$translate_list 70 $arr2[0]=>$translate_list
71 ]; 71 ];
72 }else{ 72 }else{
73 - foreach ($arr2 as $k => $v){  
74 - $data[] = [  
75 - trim($v)=>$translate_list[$k]  
76 - ]; 73 + if(!empty($translate_list)){
  74 + foreach ($arr2 as $k => $v){
  75 + $data[] = [
  76 + trim($v)=>$translate_list[$k]
  77 + ];
  78 + }
77 } 79 }
78 } 80 }
79 } 81 }
@@ -191,6 +193,7 @@ class TranslateLogic extends BaseLogic @@ -191,6 +193,7 @@ class TranslateLogic extends BaseLogic
191 $trimmedString = preg_replace('/\s+/', ' ', $content); 193 $trimmedString = preg_replace('/\s+/', ' ', $content);
192 $contentData[] = $trimmedString; 194 $contentData[] = $trimmedString;
193 } 195 }
  196 + $textContentArray = array_unique($textContentArray);
194 $contentData = array_values($textContentArray); 197 $contentData = array_values($textContentArray);
195 $pattern = '/<meta\s+[^>]*name=[\'"](keywords|description)[\'"][^>]*content=[\'"]([^\'"]+)[\'"]>/i'; // 匹配 name 为 "keywords" 或 "description" 的 meta 标签的正则表达式 198 $pattern = '/<meta\s+[^>]*name=[\'"](keywords|description)[\'"][^>]*content=[\'"]([^\'"]+)[\'"]>/i'; // 匹配 name 为 "keywords" 或 "description" 的 meta 标签的正则表达式
196 $matches = array(); 199 $matches = array();
@@ -244,7 +247,16 @@ class TranslateLogic extends BaseLogic @@ -244,7 +247,16 @@ class TranslateLogic extends BaseLogic
244 * @time :2023/6/12 10:52 247 * @time :2023/6/12 10:52
245 */ 248 */
246 public function translateSave(){ 249 public function translateSave(){
247 -// try { 250 + $data = [];
  251 + //处理传递的data
  252 + foreach ($this->param['data'] as $k => $v){
  253 + if(!empty($v) && is_array($v)){
  254 + foreach ($v as $text => $translate){
  255 + $data[$text] = $translate;
  256 + }
  257 + }
  258 + }
  259 + try {
248 $info = $this->model->read(['language_id'=>$this->param['language_id'],'url'=>$this->param['url'],'type'=>$this->param['type']]); 260 $info = $this->model->read(['language_id'=>$this->param['language_id'],'url'=>$this->param['url'],'type'=>$this->param['type']]);
249 if($info === false){ 261 if($info === false){
250 $param = [ 262 $param = [
@@ -254,15 +266,66 @@ class TranslateLogic extends BaseLogic @@ -254,15 +266,66 @@ class TranslateLogic extends BaseLogic
254 'language_id'=>$this->param['language_id'], 266 'language_id'=>$this->param['language_id'],
255 'alias'=>$this->param['alias'], 267 'alias'=>$this->param['alias'],
256 ]; 268 ];
257 - $param['data'] = json_encode($this->param['data'],JSON_UNESCAPED_UNICODE); 269 + $param['data'] = json_encode($data,JSON_UNESCAPED_UNICODE);
258 $this->model->add($param); 270 $this->model->add($param);
259 }else{ 271 }else{
260 - $data = json_encode($this->param['data'],JSON_UNESCAPED_UNICODE); 272 + $data = json_encode($data,JSON_UNESCAPED_UNICODE);
261 $this->model->edit(['data'=>$data],['language_id'=>$this->param['language_id'],'url'=>$this->param['url'],'type'=>$this->param['type']]); 273 $this->model->edit(['data'=>$data],['language_id'=>$this->param['language_id'],'url'=>$this->param['url'],'type'=>$this->param['type']]);
262 } 274 }
263 -// }catch (\Exception $e){  
264 -// $this->fail('系统错误请联系管理员');  
265 -// } 275 + }catch (\Exception $e){
  276 + $this->fail('系统错误请联系管理员');
  277 + }
  278 + $this->handleRoute($this->param['url']);
266 return $this->success(); 279 return $this->success();
267 } 280 }
  281 +
  282 + /**
  283 + * @remark :处理路由
  284 + * @name :handleRoute
  285 + * @author :lyh
  286 + * @method :post
  287 + * @time :2024/1/18 17:25
  288 + */
  289 + public function handleRoute($url){
  290 + $lang = $languageInfo = $this->getLanguage($this->param['language_id'])['short'];
  291 + $url = str_replace_url($url);
  292 + $arr = explode('/',trim($url,'/'));
  293 + $num = count($arr);
  294 + $page = 0;
  295 + if($num == 1){
  296 + $route = $arr[0];
  297 + }elseif ($num == 2){
  298 + if(ctype_digit($arr[1])){//是数字的情况
  299 + $page = $arr[1];
  300 + $route = $arr[0];
  301 + }else{
  302 + $route = $arr[1];
  303 + }
  304 + }elseif($num == 3){
  305 + if(ctype_digit($arr[2])){//是数字的情况
  306 + $page = $arr[2];
  307 + $route = $arr[0];
  308 + }else{
  309 + if($arr[2] == 'page'){
  310 + $route = $arr[1];
  311 + }else{
  312 + $route = $arr[0];
  313 + }
  314 + }
  315 + }elseif ($num == 4){
  316 + if(ctype_digit($arr[3])){//是数字的情况
  317 + $page = $arr[3];
  318 + $route = $arr[1];
  319 + }
  320 + }else{
  321 + $route = 'index';
  322 + }
  323 + if($page != 0){
  324 + $data['page'] = $page;
  325 + }
  326 + $data['new_route'] = $route;
  327 + $data['lang'] = $lang;
  328 + $data['project_id']= $this->user['project_id'];
  329 + $this->curlDelRoute($data);
  330 + }
268 } 331 }
@@ -27,7 +27,6 @@ class AyrReleaseRequest extends FormRequest @@ -27,7 +27,6 @@ class AyrReleaseRequest extends FormRequest
27 'content'=>'required', 27 'content'=>'required',
28 'share_id'=>'required', 28 'share_id'=>'required',
29 'platforms'=>'required|array', 29 'platforms'=>'required|array',
30 - 'schedule_date'=>'required'  
31 ]; 30 ];
32 } 31 }
33 32
@@ -33,7 +33,7 @@ return [ @@ -33,7 +33,7 @@ return [
33 //默认视频 33 //默认视频
34 'default_file' =>[ 34 'default_file' =>[
35 'size' => [ 35 'size' => [
36 - 'max' => 1024*1024*50, // 50M 36 + 'max' => 1024*1024*500, // 50M
37 ], 37 ],
38 'path_b' => '/upload/p', 38 'path_b' => '/upload/p',
39 'path_a' => '/upload/m', 39 'path_a' => '/upload/m',