作者 lyh

gx翻译校队导出

... ... @@ -43,13 +43,13 @@ class TemplateLog extends Command
}
public function handle(){
$this->deleteUserLog();
$projectModel = new Project();
$list = $projectModel->list(['delete_status'=>0]);
foreach ($list as $v){
echo date('Y-m-d H:i:s') . 'project_id:'.$v['id'] . PHP_EOL;
ProjectServer::useProject($v['id']);
$this->deleteTemplate();
$this->deleteUserLog();
DB::disconnect('custom_mysql');
}
echo date('Y-m-d H:i:s') . 'end' . PHP_EOL;
... ...
... ... @@ -138,10 +138,11 @@ class RecommendedSuppliers extends Command
$v['email'] = json_encode($v['email'],JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
$v['mobile'] = json_encode($v['mobile'],JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
$v['social_media'] = json_encode($v['social_media'],JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
$v['image'] = str_replace('admin.hagro.cn','fob.ai.cc',$v['image']);
// $v['created_at'] = date('Y-m-d H:i:s');
// $v['updated_at'] = $v['created_at'];
$param = $v;
$info = $purchaserInfoModel->read(['keyword'=>$keyword,'buyer'=>$v['buyer'],'project_id'=>$project_id],['id']);
$info = $purchaserInfoModel->read(['keyword'=>$keyword,'buyer_id'=>$v['buyer_id'],'project_id'=>$project_id],['id']);
if($info === false){
$purchaserInfoModel->add($param);
}
... ...
... ... @@ -67,20 +67,16 @@ class TranslateController extends BaseController
$res_data['language_id'] = $this->param['language_id'];
$this->map['type'] = 1;
$data = $translate->formatQuery($this->map)->with('translate_data')->get()->toArray();
$keyModel = new TranslateKey();
$keyList = $keyModel->list([],'id',['*'],'asc');
if(empty($data) && empty($keyList)){
$this->response('导出数据为空',Code::SYSTEM_ERROR);
}
if(empty($data)){
$keyModel = new TranslateKey();
$keyList = $keyModel->list([],'id',['*'],'asc');
if(empty($keyList)){
$this->response('导出数据为空',Code::SYSTEM_ERROR);
}
$res_data = $this->resEmptyData($keyList);
$this->response('success',Code::SUCCESS,$res_data);
}
if(empty($keyList)){
$res_data = $this->resEmptyKey($data);
$this->response('success',Code::SUCCESS,$res_data);
}
$res_data = $this->resData($keyList,$data);
$res_data = $this->resData($data);
$this->response('success',Code::SUCCESS,$res_data);
}
... ... @@ -91,49 +87,36 @@ class TranslateController extends BaseController
* @method :post
* @time :2024/11/22 17:50
*/
public function resData($keyList,$data){
$result_key_data = [];
public function resData($data){
$result_id_data = [];
$keyModel = new TranslateKey();
foreach ($data as $values){
$resData['route'] = $values['url'];
$resData['source'] = $values['source'];
$resData['source_id'] = $values['source_id'];
$resData['is_list'] = $values['is_list'];
$resData['is_custom'] = $values['is_custom'];
$resData['page'] = $values['page'];
$resData['data'] = [];
foreach ($keyList as $v1){
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'])){
$translate_data = json_decode($values['translate_data']['data'],JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
$keys_data = array_keys($translate_data);
$translate_key_data = json_decode($v1['proof_key'],JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
foreach ($translate_key_data as $value){
if(!in_array($value,$keys_data)){
$translate_data[$value] = '';
}
$keyInfo = $keyModel->read(['route'=>$values['route'],'page'=>$values['page']],['id','proof_key']);
if($keyInfo !== false){
$result_id_data[] = $keyInfo['id'];
$translate_data = json_decode($values['translate_data']['data'],JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
$translate_data_keys = array_keys($translate_data);
$proof_key_data = json_decode($keyInfo['proof_key'],JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
foreach ($proof_key_data as $value){
if(!in_array($value,$translate_data_keys)){
$translate_data[$value] = '';
}
$resData['data'] = $translate_data;
//去除,已匹配的页面统计出来
$result_key_data[] = $v1;
}
}
$resData['data'] = $translate_data;
$res_data[] = $resData;
}
// 排除掉 $result_key_data 中的元素
$result = array_udiff($keyList, $result_key_data, function ($a, $b) {
return strcmp(json_encode($a), json_encode($b));
});
$result_key_list = array_values($result); // 重置键名
if(!empty($result_key_list)){
foreach ($result_key_list as $values){
$resData['route'] = $values['url'];
$resData['source'] = $values['source'];
$resData['source_id'] = $values['source_id'];
$resData['is_list'] = $values['is_list'];
$resData['is_custom'] = $values['is_custom'];
$resData['page'] = $values['page'];
$key_data = json_decode($values['proof_key'],JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
foreach ($key_data as $key_val){
$resData['data'][] = [$key_val => ''];
$keyList = $keyModel->list(['id'=>['not in',$result_id_data]],'id',['id','proof_key','url','page']);
if(!empty($keyList)){
foreach ($keyList as $val){
$resData['route'] = $val['url'];
$resData['page'] = $val['page'];
$proof_key_data = json_decode($val['proof_key'],JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
foreach ($proof_key_data as $value){
$resData[$value] = '';
}
$res_data[] = $resData;
}
... ... @@ -153,10 +136,6 @@ class TranslateController extends BaseController
foreach ($keyList as $values){
$key_data = json_decode($values['proof_key'],JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
$resData['route'] = $values['url'];
$resData['source'] = $values['source'];
$resData['source_id'] = $values['source_id'];
$resData['is_list'] = $values['is_list'];
$resData['is_custom'] = $values['is_custom'];
$resData['page'] = $values['page'];
foreach ($key_data as $key_val){
$resData['data'][] = [$key_val => ''];
... ... @@ -167,28 +146,6 @@ class TranslateController extends BaseController
}
/**
* @remark :key为空 直接返回data
* @name :resEmptyKey
* @author :lyh
* @method :post
* @time :2024/11/22 17:48
*/
public function resEmptyKey($data){
$res_data = [];
foreach ($data as $values){
$resData['route'] = $values['url'];
$resData['source'] = $values['source'];
$resData['source_id'] = $values['source_id'];
$resData['is_list'] = $values['is_list'];
$resData['is_custom'] = $values['is_custom'];
$resData['page'] = $values['page'];
$resData['data'] = json_decode($values['translate_data']['data'],JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
$res_data[] = $resData;
}
return $res_data;
}
/**
* @remark :图片列表
* @name :imageList
* @author :lyh
... ...