作者 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 - }  
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 $data[] = [ 48 $data[] = [
54 - 'text'=>$v,  
55 - 'translate'=>$arr[$v], 49 + 'text'=>$v['text'],
  50 + 'translate'=>$v['translate'],
56 ]; 51 ];
57 - }else{ 52 + }
  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){
58 $data[] = [ 57 $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,13 +70,18 @@ class ProofreadingController extends BaseController @@ -71,13 +70,18 @@ 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 ];
  80 + $proofreadingModel = new Proofreading();
  81 + DB::beginTransaction();
  82 + try {
  83 + $proofreadingModel->del($param);
  84 + //删除成功后,重新添加
81 $save_data = []; 85 $save_data = [];
82 foreach ($this->param['data'] as $k => $v){ 86 foreach ($this->param['data'] as $k => $v){
83 $param['text'] = $v['text']; 87 $param['text'] = $v['text'];
@@ -85,6 +89,11 @@ class ProofreadingController extends BaseController @@ -85,6 +89,11 @@ class ProofreadingController extends BaseController
85 $save_data[] = $param; 89 $save_data[] = $param;
86 } 90 }
87 $proofreadingModel->insert($save_data); 91 $proofreadingModel->insert($save_data);
  92 + DB::commit();
  93 + }catch (\Exception $e){
  94 + DB::rollBack();
  95 + $this->fail('系统错误请联系管理员');
  96 + }
88 $this->response('success'); 97 $this->response('success');
89 } 98 }
90 99