UserAddressesController.php 3.3 KB
<?php
/**
+-----------------------------------------------------------------------------------------------------------------------
 * 控制层: UserAddress 控制类
+-----------------------------------------------------------------------------------------------------------------------
 *
 * PHP version 7
 *
 * @category  App\Http\Api\V1\Controllers\User
 * @package   App\Http\Api\V1\Controllers\User
 * @author    Richer <yangzi1028@163.com>
 * @date      2022年5月19日16:41:59
 * @copyright 2020-2022 Richer (http://www.Richer.com/)
 * @license   http://www.Richer.com/ License
 * @link      http://www.Richer.com/
 */
namespace App\Http\Api\V1\Controllers\User;

use App\Http\Api\V1\Controllers\BaseController;
use App\Services\User\UserAddressService;
use Illuminate\Http\Request;
use App\Http\Requests\UserAddressRequest;
use App\Transformers\User\UserAddressTransformer;

/**
 * Class UserAddressesController
 *
 * @category  App\Http\Api\V1\Controllers\User
 * @package   App\Http\Api\V1\Controllers\User
 * @author    Richer <yangzi1028@163.com>
 * @date      2022年5月19日16:41:59
 * @copyright 2020-2022 Richer (http://www.Richer.com/)
 * @license   http://www.Richer.com/ License
 * @link      http://www.Richer.com/
 */
class UserAddressesController extends BaseController
{
    /**
     * UserAddressController constructor.
     *
     * @param UserAddressService     $service     注入service逻辑层
     * @param UserAddressTransformer $transformer 注入transformer数据转换层
     */
    public function __construct(UserAddressService $service, UserAddressTransformer $transformer)
    {
        // 执行父类构造方法
        parent::__construct($service, $transformer);
    }

    /**
     * 重写
     */
    public function index()
    {
        $result = $this->service->list();
        // 验证结果
        if ($result) {
            return $this->collection($result, $this->transformer);
        }
        return $this->error($this->service->getMessage(), 1001);
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  UserAddressRequest $request
     *
     * @return \Illuminate\Http\Response
     */
    public function store(UserAddressRequest $request)
    {
        $result = $this->service->store($request);

        // 验证结果
        if ($result) {
            return $this->item($result, $this->transformer);
        }
        return $this->error($this->service->getMessage(), 1003);
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  UserAddressRequest $request
     * @param  int            $id
     *
     * @return \Illuminate\Http\Response
     */
    public function update(UserAddressRequest $request, $id)
    {
        $result = $this->service->update($request, $id);
        // 验证结果
        if ($result) {
            return $this->item($result, $this->transformer);
        }
        return $this->error($this->service->getMessage(), 1004);
    }

    /**
     * Set Default the specified resource in storage.
     *
     * @param int $id
     *
     * @return \Illuminate\Http\Response
     */
    public function setDefault($id)
    {

        $result = $this->service->setDefault($id);

        // 验证结果
        if ($result) {
            return $this->success($result);
        }
        return $this->error($this->service->getMessage(), 1004);
    }
}