作者 lyh

gx翻译校队导出

@@ -43,13 +43,13 @@ class TemplateLog extends Command @@ -43,13 +43,13 @@ class TemplateLog extends Command
43 } 43 }
44 44
45 public function handle(){ 45 public function handle(){
  46 + $this->deleteUserLog();
46 $projectModel = new Project(); 47 $projectModel = new Project();
47 $list = $projectModel->list(['delete_status'=>0]); 48 $list = $projectModel->list(['delete_status'=>0]);
48 foreach ($list as $v){ 49 foreach ($list as $v){
49 echo date('Y-m-d H:i:s') . 'project_id:'.$v['id'] . PHP_EOL; 50 echo date('Y-m-d H:i:s') . 'project_id:'.$v['id'] . PHP_EOL;
50 ProjectServer::useProject($v['id']); 51 ProjectServer::useProject($v['id']);
51 $this->deleteTemplate(); 52 $this->deleteTemplate();
52 - $this->deleteUserLog();  
53 DB::disconnect('custom_mysql'); 53 DB::disconnect('custom_mysql');
54 } 54 }
55 echo date('Y-m-d H:i:s') . 'end' . PHP_EOL; 55 echo date('Y-m-d H:i:s') . 'end' . PHP_EOL;
@@ -138,10 +138,11 @@ class RecommendedSuppliers extends Command @@ -138,10 +138,11 @@ class RecommendedSuppliers extends Command
138 $v['email'] = json_encode($v['email'],JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE); 138 $v['email'] = json_encode($v['email'],JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
139 $v['mobile'] = json_encode($v['mobile'],JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE); 139 $v['mobile'] = json_encode($v['mobile'],JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
140 $v['social_media'] = json_encode($v['social_media'],JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE); 140 $v['social_media'] = json_encode($v['social_media'],JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
  141 + $v['image'] = str_replace('admin.hagro.cn','fob.ai.cc',$v['image']);
141 // $v['created_at'] = date('Y-m-d H:i:s'); 142 // $v['created_at'] = date('Y-m-d H:i:s');
142 // $v['updated_at'] = $v['created_at']; 143 // $v['updated_at'] = $v['created_at'];
143 $param = $v; 144 $param = $v;
144 - $info = $purchaserInfoModel->read(['keyword'=>$keyword,'buyer'=>$v['buyer'],'project_id'=>$project_id],['id']); 145 + $info = $purchaserInfoModel->read(['keyword'=>$keyword,'buyer_id'=>$v['buyer_id'],'project_id'=>$project_id],['id']);
145 if($info === false){ 146 if($info === false){
146 $purchaserInfoModel->add($param); 147 $purchaserInfoModel->add($param);
147 } 148 }
@@ -67,20 +67,16 @@ class TranslateController extends BaseController @@ -67,20 +67,16 @@ class TranslateController extends BaseController
67 $res_data['language_id'] = $this->param['language_id']; 67 $res_data['language_id'] = $this->param['language_id'];
68 $this->map['type'] = 1; 68 $this->map['type'] = 1;
69 $data = $translate->formatQuery($this->map)->with('translate_data')->get()->toArray(); 69 $data = $translate->formatQuery($this->map)->with('translate_data')->get()->toArray();
70 - $keyModel = new TranslateKey();  
71 - $keyList = $keyModel->list([],'id',['*'],'asc');  
72 - if(empty($data) && empty($keyList)){  
73 - $this->response('导出数据为空',Code::SYSTEM_ERROR);  
74 - }  
75 if(empty($data)){ 70 if(empty($data)){
  71 + $keyModel = new TranslateKey();
  72 + $keyList = $keyModel->list([],'id',['*'],'asc');
  73 + if(empty($keyList)){
  74 + $this->response('导出数据为空',Code::SYSTEM_ERROR);
  75 + }
76 $res_data = $this->resEmptyData($keyList); 76 $res_data = $this->resEmptyData($keyList);
77 $this->response('success',Code::SUCCESS,$res_data); 77 $this->response('success',Code::SUCCESS,$res_data);
78 } 78 }
79 - if(empty($keyList)){  
80 - $res_data = $this->resEmptyKey($data);  
81 - $this->response('success',Code::SUCCESS,$res_data);  
82 - }  
83 - $res_data = $this->resData($keyList,$data); 79 + $res_data = $this->resData($data);
84 $this->response('success',Code::SUCCESS,$res_data); 80 $this->response('success',Code::SUCCESS,$res_data);
85 } 81 }
86 82
@@ -91,49 +87,36 @@ class TranslateController extends BaseController @@ -91,49 +87,36 @@ class TranslateController extends BaseController
91 * @method :post 87 * @method :post
92 * @time :2024/11/22 17:50 88 * @time :2024/11/22 17:50
93 */ 89 */
94 - public function resData($keyList,$data){  
95 - $result_key_data = []; 90 + public function resData($data){
  91 + $result_id_data = [];
  92 + $keyModel = new TranslateKey();
96 foreach ($data as $values){ 93 foreach ($data as $values){
97 $resData['route'] = $values['url']; 94 $resData['route'] = $values['url'];
98 - $resData['source'] = $values['source'];  
99 - $resData['source_id'] = $values['source_id'];  
100 - $resData['is_list'] = $values['is_list'];  
101 - $resData['is_custom'] = $values['is_custom'];  
102 $resData['page'] = $values['page']; 95 $resData['page'] = $values['page'];
103 $resData['data'] = []; 96 $resData['data'] = [];
104 - foreach ($keyList as $v1){  
105 - if(($values['route'] == $v1['route']) && ($values['page'] == $v1['page']) && ($values['source'] == $v1['source']) && ($values['source_id'] == $v1['source_id']) && ($values['is_list'] == $v1['is_list']) && ($values['is_custom'] == $v1['is_custom'])){  
106 - $translate_data = json_decode($values['translate_data']['data'],JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);  
107 - $keys_data = array_keys($translate_data);  
108 - $translate_key_data = json_decode($v1['proof_key'],JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);  
109 - foreach ($translate_key_data as $value){  
110 - if(!in_array($value,$keys_data)){  
111 - $translate_data[$value] = '';  
112 - } 97 + $keyInfo = $keyModel->read(['route'=>$values['route'],'page'=>$values['page']],['id','proof_key']);
  98 + if($keyInfo !== false){
  99 + $result_id_data[] = $keyInfo['id'];
  100 + $translate_data = json_decode($values['translate_data']['data'],JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
  101 + $translate_data_keys = array_keys($translate_data);
  102 + $proof_key_data = json_decode($keyInfo['proof_key'],JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
  103 + foreach ($proof_key_data as $value){
  104 + if(!in_array($value,$translate_data_keys)){
  105 + $translate_data[$value] = '';
113 } 106 }
114 - $resData['data'] = $translate_data;  
115 - //去除,已匹配的页面统计出来  
116 - $result_key_data[] = $v1;  
117 } 107 }
118 } 108 }
  109 + $resData['data'] = $translate_data;
119 $res_data[] = $resData; 110 $res_data[] = $resData;
120 } 111 }
121 - // 排除掉 $result_key_data 中的元素  
122 - $result = array_udiff($keyList, $result_key_data, function ($a, $b) {  
123 - return strcmp(json_encode($a), json_encode($b));  
124 - });  
125 - $result_key_list = array_values($result); // 重置键名  
126 - if(!empty($result_key_list)){  
127 - foreach ($result_key_list as $values){  
128 - $resData['route'] = $values['url'];  
129 - $resData['source'] = $values['source'];  
130 - $resData['source_id'] = $values['source_id'];  
131 - $resData['is_list'] = $values['is_list'];  
132 - $resData['is_custom'] = $values['is_custom'];  
133 - $resData['page'] = $values['page'];  
134 - $key_data = json_decode($values['proof_key'],JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);  
135 - foreach ($key_data as $key_val){  
136 - $resData['data'][] = [$key_val => '']; 112 + $keyList = $keyModel->list(['id'=>['not in',$result_id_data]],'id',['id','proof_key','url','page']);
  113 + if(!empty($keyList)){
  114 + foreach ($keyList as $val){
  115 + $resData['route'] = $val['url'];
  116 + $resData['page'] = $val['page'];
  117 + $proof_key_data = json_decode($val['proof_key'],JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
  118 + foreach ($proof_key_data as $value){
  119 + $resData[$value] = '';
137 } 120 }
138 $res_data[] = $resData; 121 $res_data[] = $resData;
139 } 122 }
@@ -153,10 +136,6 @@ class TranslateController extends BaseController @@ -153,10 +136,6 @@ class TranslateController extends BaseController
153 foreach ($keyList as $values){ 136 foreach ($keyList as $values){
154 $key_data = json_decode($values['proof_key'],JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); 137 $key_data = json_decode($values['proof_key'],JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
155 $resData['route'] = $values['url']; 138 $resData['route'] = $values['url'];
156 - $resData['source'] = $values['source'];  
157 - $resData['source_id'] = $values['source_id'];  
158 - $resData['is_list'] = $values['is_list'];  
159 - $resData['is_custom'] = $values['is_custom'];  
160 $resData['page'] = $values['page']; 139 $resData['page'] = $values['page'];
161 foreach ($key_data as $key_val){ 140 foreach ($key_data as $key_val){
162 $resData['data'][] = [$key_val => '']; 141 $resData['data'][] = [$key_val => ''];
@@ -167,28 +146,6 @@ class TranslateController extends BaseController @@ -167,28 +146,6 @@ class TranslateController extends BaseController
167 } 146 }
168 147
169 /** 148 /**
170 - * @remark :key为空 直接返回data  
171 - * @name :resEmptyKey  
172 - * @author :lyh  
173 - * @method :post  
174 - * @time :2024/11/22 17:48  
175 - */  
176 - public function resEmptyKey($data){  
177 - $res_data = [];  
178 - foreach ($data as $values){  
179 - $resData['route'] = $values['url'];  
180 - $resData['source'] = $values['source'];  
181 - $resData['source_id'] = $values['source_id'];  
182 - $resData['is_list'] = $values['is_list'];  
183 - $resData['is_custom'] = $values['is_custom'];  
184 - $resData['page'] = $values['page'];  
185 - $resData['data'] = json_decode($values['translate_data']['data'],JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);  
186 - $res_data[] = $resData;  
187 - }  
188 - return $res_data;  
189 - }  
190 -  
191 - /**  
192 * @remark :图片列表 149 * @remark :图片列表
193 * @name :imageList 150 * @name :imageList
194 * @author :lyh 151 * @author :lyh