123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- <?php
- declare(strict_types=1);
- namespace App\Controller\Api\v1;
- use App\Controller\AbstractController;
- use App\Model\Arts\UserAddressModel;
- use App\Model\Arts\UserCouponModel;
- use App\Model\Arts\UserModel;
- use App\Model\Arts\UserWalletModel;
- use App\Request\Api\v1\User\AddressAddRequest;
- use App\Request\Api\v1\User\AddressDelRequest;
- use App\Request\Api\v1\User\AddressDetailRequest;
- use App\Request\Api\v1\User\AddressEditRequest;
- use App\Request\Api\v1\User\AddressListRequest;
- use App\Request\Api\v1\User\EditRequest;
- use App\Utils\AppResult;
- use App\Utils\Control\AuthUser;
- /**
- * 用户管理
- * UserController
- */
- class UserController extends AbstractController
- {
- // 日志模块名称
- const LOG_MODULE = 'v1/UserController';
- /**
- * 用户信息
- * @return string
- */
- public function info()
- {
- $user = AuthUser::getInstance()->get();
- unset($user['password'], $user['salt']);
- $user['money'] = UserWalletModel::getOne($user['id'], 'money');
- $model = new UserCouponModel();
- $list = $model->getList(
- params : [
- 'user_id' => $user['id'],
- 'is_use' => 0,
- 'valid' => 0
- ],
- orderBy: ['id' => 'desc']
- );
- $user['coupon'] = count($list);
- $user['avatar'] = cdn_url($user['avatar']);
- $user['credit'] = "{$user['over_order_num']}/{$user['order_num']}";
- return AppResult::success(result: $user);
- }
- // 个人信息编辑
- public function edit(EditRequest $request)
- {
- $params = $request->validated();
- $user = AuthUser::getInstance()->get();
- if (empty($params['avatar']) && empty($params['email']) && empty($params['nickname'])) {
- return AppResult::success('修改成功');
- }
- $data = [];
- !empty($params['nickname']) && $data['nickname'] = $params['nickname'];
- !empty($params['avatar']) && $data['avatar'] = $params['avatar'];
- !empty($params['email']) && $data['email'] = $params['email'];
- if (!UserModel::query()->where('id', $user['id'])->update($data)) {
- return AppResult::error('修改失败');
- }
- return AppResult::success('修改成功');
- }
- /**
- * 余额变动记录
- * @param MoneyLogRequest $request
- * @return string
- */
- public function money_log(MoneyLogRequest $request)
- {
- $params = $request->validated();// 获取校验通过的参数
- $user = AuthUser::getInstance()->get();
- if ($params['type_in'] == 1) {
- $params['type_in'] = [1, 4];
- } else {
- $params['type_in'] = [2, 3];
- }
- $model = new UserMoneyLogModel();
- $list = $model->getList(
- params: array_merge(['user_id' => $user['id']], $params), orderBy: ['id' => 'desc']
- );
- return AppResult::success('success', $list);
- }
- /**
- * 常用地址列表
- * @param AddressListRequest $request
- * @return string
- */
- public function address_list(AddressListRequest $request)
- {
- $params = $request->validated();// 获取校验通过的参数
- $user = AuthUser::getInstance()->get();
- $model = new UserAddressModel();
- $list = $model->getList(
- params: array_merge($params, ['user_id' => $user['id']])
- );
- return AppResult::success(result: $list);
- }
- public function address_detail(AddressDetailRequest $request)
- {
- $params = $request->validated();// 获取校验通过的参数
- $user = AuthUser::getInstance()->get();
- $model = new UserAddressModel();
- $list = $model->getDetail(
- params: array_merge($params, ['user_id' => $user['id']])
- );
- return AppResult::success(result: $list);
- }
- /**
- * 常用地址添加
- * @param AddressAddRequest $request
- * @return string
- */
- public function address_add(AddressAddRequest $request)
- {
- $params = $request->validated();// 获取校验通过的参数
- $user = AuthUser::getInstance()->get();
- $params = array_merge($params, ['user_id' => $user['id']]);
- if (!UserAddressModel::add($params)) {
- return AppResult::error('添加失败');
- }
- return AppResult::success('创建成功');
- }
- /**
- * 常用地址编辑
- * @param AddressEditRequest $request
- * @return string
- */
- public function address_edit(AddressEditRequest $request)
- {
- $params = $request->validated();// 获取校验通过的参数
- $user = AuthUser::getInstance()->get();
- $params = array_merge($params, ['user_id' => $user['id']]);
- if (!UserAddressModel::edit((int)$params['id'], $params)) {
- return AppResult::error('修改失败');
- }
- return AppResult::success('修改成功');
- }
- /**
- * 常用地址删除
- * @param AddressDelRequest $request
- * @return string
- */
- public function address_del(AddressDelRequest $request)
- {
- $params = $request->validated();// 获取校验通过的参数
- $user = AuthUser::getInstance()->get();
- if (!UserAddressModel::del((int)$params['id'], (int)$user['id'])) {
- return AppResult::error('删除失败');
- }
- return AppResult::success('删除成功');
- }
- }
|