Ver Fonte

新增音色组管理

lh há 19 horas atrás
pai
commit
719afb1373

+ 18 - 0
app/Http/Controllers/Timbre/TimbreController.php

@@ -83,4 +83,22 @@ class TimbreController extends BaseController
         $result = $this->timbreService->editTimbre($data);
         return $this->success(['success' => $result ? 1 : 0]);
     }
+
+    public function timbreGroupList(Request $request) {
+        $data = $request->all();
+        $result = $this->timbreService->timbreGroupList($data);
+        return $this->success($result, [new TimbreTransformer(), 'newBuildTimbreGroupList']);
+    }
+
+    public function addTimbreGroup(Request $request) {
+        $data = $request->all();
+        $result = $this->timbreService->addTimbreGroup($data);
+        return $this->success(['success' => $result ? 1 : 0]);
+    }
+
+    public function editTimbreGroup(Request $request) {
+        $data = $request->all();
+        $result = $this->timbreService->editTimbreGroup($data);
+        return $this->success(['success' => $result ? 1 : 0]);
+    }
 }

+ 2 - 2
app/Libs/Pays/AliPaySdk/aop/request/AlipayEbppInvoiceMerchantApplyUploadRequest.php

@@ -174,7 +174,7 @@ red: 红票;
 	public function setInvoiceCode($invoiceCode)
 	{
 		$this->invoiceCode = $invoiceCode;
-		$this->apiParas["invoice_code"] = $invoiceCode;
+		$this->apiParas["invoice_type"] = $invoiceCode;
 	}
 
 	public function getInvoiceCode()
@@ -251,7 +251,7 @@ red: 红票;
 	public function setNormalInvoiceCode($normalInvoiceCode)
 	{
 		$this->normalInvoiceCode = $normalInvoiceCode;
-		$this->apiParas["normal_invoice_code"] = $normalInvoiceCode;
+		$this->apiParas["normal_invoice_type"] = $normalInvoiceCode;
 	}
 
 	public function getNormalInvoiceCode()

+ 73 - 0
app/Services/Timbre/TimbreService.php

@@ -164,4 +164,77 @@ class TimbreService
             return (array)$value;
         })->toArray();
     }
+
+    public function timbreGroupList($data) {
+        $group_name = getProp($data, 'group_name');
+        $label = getProp($data, 'label');
+
+        $query = DB::table('mp_timbre_groups')->select('*');
+
+        if ($group_name) {
+            $query->where('group_name', 'like', "%{$group_name}%");
+        }
+
+        if ($label) {
+            $query->where('label', 'like', $label);
+        }
+
+        return $query->orderBy('id')->paginate();
+    }
+
+    public function addTimbreGroup($data) {
+        $group_name = getProp($data, 'group_name');
+        $male_lead_voice_name = getProp($data, 'male_lead_voice_name');
+        $male_lead_voice_type = getProp($data, 'male_lead_voice_type');
+        $female_lead_voice_name = getProp($data, 'female_lead_voice_name');
+        $female_lead_voice_type = getProp($data, 'female_lead_voice_type');
+        $narration_voice_name = getProp($data, 'narration_voice_name');
+        $narration_voice_type = getProp($data, 'narration_voice_type');
+        if (!$group_name || !$male_lead_voice_type || !$female_lead_voice_type || !$narration_voice_type) Utils::throwError('20003:参数错误');
+        $label = getProp($data, 'label');
+        $other_roles = getProp($data, 'other_roles');
+        if (DB::table('mp_timbre_groups')->where('group_name', $group_name)->value('id')) Utils::throwError('20003:该音色组已存在');
+
+        return DB::table('mp_timbre_groups')->insert([
+            'group_name'                => $group_name,
+            'male_lead_voice_name'      => $male_lead_voice_name,
+            'male_lead_voice_type'      => $male_lead_voice_type,
+            'female_lead_voice_name'    => $female_lead_voice_name,
+            'female_lead_voice_type'    => $female_lead_voice_type,
+            'narration_voice_name'      => $narration_voice_name,
+            'narration_voice_type'      => $narration_voice_type,
+            'label'                     => $label,
+            'other_roles'               => $other_roles,
+            'created_at'                => date('Y-m-d H:i:s'),
+            'updated_at'                => date('Y-m-d H:i:s'),
+        ]);
+    }
+
+    public function editTimbreGroup($data) {
+        $group_id = getProp($data, 'group_id');
+        $group_name = getProp($data, 'group_name');
+        $male_lead_voice_name = getProp($data, 'male_lead_voice_name');
+        $male_lead_voice_type = getProp($data, 'male_lead_voice_type');
+        $female_lead_voice_name = getProp($data, 'female_lead_voice_name');
+        $female_lead_voice_type = getProp($data, 'female_lead_voice_type');
+        $narration_voice_name = getProp($data, 'narration_voice_name');
+        $narration_voice_type = getProp($data, 'narration_voice_type');
+        if (!$group_id || !$group_name || !$male_lead_voice_type || !$female_lead_voice_type || !$narration_voice_type) Utils::throwError('20003:参数错误');
+        $label = getProp($data, 'label');
+        $other_roles = getProp($data, 'other_roles');
+        if (DB::table('mp_timbre_groups')->where('group_name', $group_name)->value('id') != $group_id) Utils::throwError('20003:该音色组已存在');
+
+        return DB::table('mp_timbre_groups')->where('id', $group_id)->update([
+            'group_name'                => $group_name,
+            'male_lead_voice_name'      => $male_lead_voice_name,
+            'male_lead_voice_type'      => $male_lead_voice_type,
+            'female_lead_voice_name'    => $female_lead_voice_name,
+            'female_lead_voice_type'    => $female_lead_voice_type,
+            'narration_voice_name'      => $narration_voice_name,
+            'narration_voice_type'      => $narration_voice_type,
+            'label'                     => $label,
+            'other_roles'               => $other_roles,
+            'updated_at'                => date('Y-m-d H:i:s'),
+        ]);
+    }
 }

+ 33 - 0
app/Transformer/Timbre/TimbreTransformer.php

@@ -94,4 +94,37 @@ class TimbreTransformer
 
         return $result;
     }
+
+    // 分类列表
+    public function newBuildTimbreGroupList($data): array
+    {
+        return [
+            'meta' => getMeta($data),
+            'list'  => $this->newEachTimbreGroupList($data),
+        ];
+    }
+
+    private function newEachTimbreGroupList($list): array
+    {
+        $result = [];
+        if (empty($list)) return $result;
+
+        foreach ($list as $item) {
+            $result[] = [
+                'group_id'                  => getProp($item, 'id'),
+                'group_name'                => getProp($item, 'group_name'),
+                'label'                     => getProp($item, 'label'),
+                'male_lead_voice_name'      => getProp($item, 'male_lead_voice_name'),
+                'male_lead_voice_type'      => getProp($item, 'male_lead_voice_type'),
+                'female_lead_voice_name'    => getProp($item, 'female_lead_voice_name'),
+                'female_lead_voice_type'    => getProp($item, 'female_lead_voice_type'),
+                'narration_voice_name'      => getProp($item, 'narration_voice_name'),
+                'narration_voice_type'      => getProp($item, 'narration_voice_type'),
+                'other_roles'               => getProp($item, 'other_roles') ? json_decode(getProp($item, 'other_roles'), true) : [],
+                'created_at'                => transDate(getProp($item, 'created_at')),
+            ];
+        }
+
+        return $result;
+    }
 }

+ 3 - 0
routes/api.php

@@ -43,6 +43,9 @@ Route::group(['middleware' => ['bindToken', 'bindExportToken', 'checkLogin']], f
         Route::get('list', [TimbreController::class, 'timbreList']);
         Route::get('timbreCategories', [TimbreController::class, 'timbreCategories']);
         Route::get('edit', [TimbreController::class, 'editTimbre']);
+        Route::get('groupList', [TimbreController::class, 'timbreGroupList']);
+        Route::post('addGroup', [TimbreController::class, 'addTimbreGroup']);
+        Route::post('editGroup', [TimbreController::class, 'editTimbreGroup']);
     });