| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 | <?phpnamespace 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,        ];    }}
 |