作者 lyh

gx

@@ -8,6 +8,7 @@ use App\Http\Controllers\Bside\BaseController; @@ -8,6 +8,7 @@ use App\Http\Controllers\Bside\BaseController;
8 use App\Http\Logic\Bside\Setting\ProofreadingLogic; 8 use App\Http\Logic\Bside\Setting\ProofreadingLogic;
9 use App\Models\WebSetting\Proofreading; 9 use App\Models\WebSetting\Proofreading;
10 use App\Models\WebSetting\WebSettingCountry; 10 use App\Models\WebSetting\WebSettingCountry;
  11 +use Illuminate\Support\Facades\DB;
11 12
12 class ProofreadingController extends BaseController 13 class ProofreadingController extends BaseController
13 { 14 {
@@ -40,24 +41,22 @@ class ProofreadingController extends BaseController @@ -40,24 +41,22 @@ class ProofreadingController extends BaseController
40 return $this->response('success',Code::SUCCESS,$data); 41 return $this->response('success',Code::SUCCESS,$data);
41 } 42 }
42 $new_list = $this->getUrlRead($this->param['url']); 43 $new_list = $this->getUrlRead($this->param['url']);
43 - $old_list = [];//老翻译的数据  
44 - $arr = []; 44 + $data = [];//返回数据
  45 + $old_list = [];
45 foreach ($list as $v){ 46 foreach ($list as $v){
46 $old_list[] = $v['text']; 47 $old_list[] = $v['text'];
47 - $arr[$v['text']] = $v['translate']; 48 + $data[] = [
  49 + 'text'=>$v['text'],
  50 + 'translate'=>$v['translate'],
  51 + ];
48 } 52 }
49 - $data_list = array_merge(array_diff($old_list, $new_list),array_diff($new_list, $old_list));  
50 - $data = [];  
51 - foreach ($data_list as $v){  
52 - if(isset($arr[$v])){ 53 + $arr2 = array_diff($new_list, $old_list);
  54 + if(!empty($arr2)){
  55 + $translate_list = Translate::tran($arr2, $countryInfo['alias']);
  56 + foreach ($arr2 as $k1=>$v1){
53 $data[] = [ 57 $data[] = [
54 - 'text'=>$v,  
55 - 'translate'=>$arr[$v],  
56 - ];  
57 - }else{  
58 - $data[] = [  
59 - 'text'=>$v,  
60 - 'translate'=>Translate::tran($v, $countryInfo['alias']), 58 + 'text'=>$v1,
  59 + 'translate'=>$translate_list[$k1]
61 ]; 60 ];
62 } 61 }
63 } 62 }
@@ -71,20 +70,30 @@ class ProofreadingController extends BaseController @@ -71,20 +70,30 @@ class ProofreadingController extends BaseController
71 * @time :2023/6/12 10:52 70 * @time :2023/6/12 10:52
72 */ 71 */
73 public function save(){ 72 public function save(){
74 - $proofreadingModel = new Proofreading(); 73 + //清除以前的翻译校队数据,重新添加
75 $param = [ 74 $param = [
76 'type'=>1, 75 'type'=>1,
77 'project_id'=>$this->user['project_id'], 76 'project_id'=>$this->user['project_id'],
78 'url'=>$this->param['url'], 77 'url'=>$this->param['url'],
79 'language_id'=>$this->param['language_id'] 78 'language_id'=>$this->param['language_id']
80 ]; 79 ];
81 - $save_data = [];  
82 - foreach ($this->param['data'] as $k => $v){  
83 - $param['text'] = $v['text'];  
84 - $param['translate'] = $v['translate'];  
85 - $save_data[] = $param; 80 + $proofreadingModel = new Proofreading();
  81 + DB::beginTransaction();
  82 + try {
  83 + $proofreadingModel->del($param);
  84 + //删除成功后,重新添加
  85 + $save_data = [];
  86 + foreach ($this->param['data'] as $k => $v){
  87 + $param['text'] = $v['text'];
  88 + $param['translate'] = $v['translate'];
  89 + $save_data[] = $param;
  90 + }
  91 + $proofreadingModel->insert($save_data);
  92 + DB::commit();
  93 + }catch (\Exception $e){
  94 + DB::rollBack();
  95 + $this->fail('系统错误请联系管理员');
86 } 96 }
87 - $proofreadingModel->insert($save_data);  
88 $this->response('success'); 97 $this->response('success');
89 } 98 }
90 99