|
@@ -3,6 +3,7 @@
|
|
|
namespace Modules\Manage\Http\Controllers;
|
|
|
|
|
|
use Catch\Exceptions\FailedException;
|
|
|
+use Illuminate\Foundation\Validation\ValidatesRequests;
|
|
|
use Illuminate\Routing\Controller;
|
|
|
use Catch\Base\CatchController;
|
|
|
use Illuminate\Http\Request;
|
|
@@ -22,6 +23,7 @@ class MiniprogramController extends CatchController
|
|
|
{
|
|
|
|
|
|
use UserTrait;
|
|
|
+ use ValidatesRequests;
|
|
|
|
|
|
public function __construct(protected readonly Miniprogram $miniprogram, protected readonly UserHasMiniprograms $userHasMiniprograms)
|
|
|
{
|
|
@@ -332,4 +334,63 @@ class MiniprogramController extends CatchController
|
|
|
$group['all'] = $result->toArray();
|
|
|
return $group;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 设置染色时间
|
|
|
+ * @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',
|
|
|
+ 'miniprogram_id' => 'required|min:1',
|
|
|
+ ]);
|
|
|
+ $uid = $this->getLoginUserId();
|
|
|
+ $now = date('Y-m-d H:i:s');
|
|
|
+ DB::table('ranse_config')
|
|
|
+ ->where([
|
|
|
+ ['user_id', '=', $uid],
|
|
|
+ ['is_enabled', '=', 1],
|
|
|
+ ['miniprogram_id', '=', $request->input('miniprogram_id')]
|
|
|
+ ])
|
|
|
+ ->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'),
|
|
|
+ 'miniprogram_id' => $request->input('miniprogram_id'),
|
|
|
+ 'created_at' => $now, 'updated_at' => $now,
|
|
|
+ ]);
|
|
|
+
|
|
|
+ return 'ok';
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取染色时间
|
|
|
+ * @param Request $request
|
|
|
+ * @return array
|
|
|
+ */
|
|
|
+ public function getRanseDuration(Request $request) {
|
|
|
+ $uid = $this->getLoginUserId();
|
|
|
+
|
|
|
+ $config = DB::table('ranse_config')
|
|
|
+ ->where([
|
|
|
+ ['user_id', '=', $uid],
|
|
|
+ ['is_enabled', '=', 1],
|
|
|
+ ['miniprogram_id', '=', $request->input('miniprogram_id')]
|
|
|
+ ])
|
|
|
+ ->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,
|
|
|
+ ];
|
|
|
+ }
|
|
|
}
|