<?php

namespace app\admin\controller\goods;

use app\admin\service\goods\GoodsService;
use app\admin\service\goods\MemberRechargeBenefitService;
use app\admin\service\goods\PartnerService;
use app\admin\validate\goods\GoodsValidate;
use support\Request;
use support\Response;

class MemberRechargeBenefitController
{
    /**
     * @Desc 列表
     * @Author Gorden
     * @Date 2024/3/28 10:08
     *
     * @param Request $request
     * @return Response
     */
    public function select(Request $request)
    {

        return MemberRechargeBenefitService::select($request, 'RECHARGE');
    }

    public function selectCascaderList(Request $request)
    {
        return MemberRechargeBenefitService::selectCascaderList($request);
    }

    /**
     * @Desc 商品详情
     * @Author Gorden
     * @Date 2024/3/28 10:25
     *
     * @param Request $request
     * @return Response
     */
    public function info(Request $request)
    {
        $validate = new GoodsValidate();
        if (!$validate->scene('info')->check($request->get())) {
            return json_fail($validate->getError());
        }

        return MemberRechargeBenefitService::info($request->get('goods_id'));
    }

    /**
     * @Desc 修改商品
     * @Author Gorden
     * @Date 2024/3/28 13:22
     *
     * @param Request $request
     * @return Response
     */
    public function update(Request $request): Response
    {
        $validate = new GoodsValidate();
        if (!$validate->scene('update')->check($request->post())) {
            return json_fail($validate->getError());
        }
        return MemberRechargeBenefitService::update($request->post());
    }
}