|
@@ -0,0 +1,71 @@
|
|
|
|
+<?php
|
|
|
|
+
|
|
|
|
+namespace Modules\Tuiguang\Http\Controllers;
|
|
|
|
+
|
|
|
|
+use Catch\Base\CatchController;
|
|
|
|
+use Illuminate\Foundation\Validation\ValidatesRequests;
|
|
|
|
+use Illuminate\Http\Request;
|
|
|
|
+use Illuminate\Support\Facades\DB;
|
|
|
|
+use Modules\Common\Errors\Errors;
|
|
|
|
+use Modules\Common\Exceptions\CommonBusinessException;
|
|
|
|
+use Modules\User\Http\Controllers\UserTrait;
|
|
|
|
+
|
|
|
|
+class RanseConfigController extends CatchController
|
|
|
|
+{
|
|
|
|
+ use UserTrait;
|
|
|
|
+ use ValidatesRequests;
|
|
|
|
+ /**
|
|
|
|
+ * 设置染色时间
|
|
|
|
+ * @param Request $request
|
|
|
|
+ */
|
|
|
|
+ public function setRanseDuration(Request $request) {
|
|
|
|
+ $this->validate($request, [
|
|
|
|
+ 'no_charge_user_duration' => 'required|integer|min:0',
|
|
|
|
+ 'charge_user_duration' => 'required|integer|gte:no_charge_user_duration',
|
|
|
|
+ ]);
|
|
|
|
+ $uid = $this->getOptimizerUid();
|
|
|
|
+ if(!$uid) {
|
|
|
|
+ CommonBusinessException::throwError(Errors::NO_OPERATE_PERMISSION);
|
|
|
|
+ }
|
|
|
|
+ $now = date('Y-m-d H:i:s');
|
|
|
|
+ DB::table('ranse_config')->where('user_id', $uid)
|
|
|
|
+ ->where('is_enabled', 1)
|
|
|
|
+ ->update(['is_enabled' => 0, 'updated_at' => $now]);
|
|
|
|
+ DB::table('ranse_config')
|
|
|
|
+ ->insert([
|
|
|
|
+ 'user_id' => $uid, 'is_enabled' => 1,
|
|
|
|
+ 'no_charge_user_duration' => $request->input('no_charge_user_duration'),
|
|
|
|
+ 'charge_user_duration' => $request->input('charge_user_duration'),
|
|
|
|
+ 'created_at' => $now, 'updated_at' => $now,
|
|
|
|
+ ]);
|
|
|
|
+
|
|
|
|
+ return 'ok';
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 获取染色时间
|
|
|
|
+ * @param Request $request
|
|
|
|
+ * @return array
|
|
|
|
+ */
|
|
|
|
+ public function getRanseDuration(Request $request) {
|
|
|
|
+ $uid = $this->getOptimizerUid();
|
|
|
|
+ if(!$uid) {
|
|
|
|
+ CommonBusinessException::throwError(Errors::NO_OPERATE_PERMISSION);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ $config = DB::table('ranse_config')->where('user_id', $uid)
|
|
|
|
+ ->where('is_enabled', 1)
|
|
|
|
+ ->first();
|
|
|
|
+ if(!$config) {
|
|
|
|
+ $config = DB::table('ranse_config')
|
|
|
|
+ ->where([
|
|
|
|
+ 'user_id' => 0, 'miniprogram_id' => 0, 'is_enabled' =>1
|
|
|
|
+ ])->first();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return [
|
|
|
|
+ 'charge_user_duration' => $config->charge_user_duration,
|
|
|
|
+ 'no_charge_user_duration' => $config->no_charge_user_duration,
|
|
|
|
+ ];
|
|
|
|
+ }
|
|
|
|
+}
|