glhcp/server/app/api/controller/UserAddress.php

168 lines
5.6 KiB
PHP
Raw Normal View History

2023-08-10 06:59:52 +00:00
<?php
// +----------------------------------------------------------------------
// | likeshop开源商城系统
// +----------------------------------------------------------------------
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
// | gitee下载https://gitee.com/likeshop_gitee
// | github下载https://github.com/likeshop-github
// | 访问官网https://www.likeshop.cn
// | 访问社区https://home.likeshop.cn
// | 访问手册http://doc.likeshop.cn
// | 微信公众号likeshop技术社区
// | likeshop系列产品在gitee、github等公开渠道开源版本可免费商用未经许可不能去除前后端官方版权标识
// | likeshop系列产品收费版本务必购买商业授权购买去版权授权后方可去除前后端官方版权标识
// | 禁止对系统程序代码以任何目的,任何形式的再发布
// | likeshop团队版权所有并拥有最终解释权
// +----------------------------------------------------------------------
// | author: likeshop.cn.team
// +----------------------------------------------------------------------
namespace app\api\controller;
use app\api\logic\UserAddressLogic;
use app\api\validate\UserAddressValidate;
use app\common\basics\Api;
use app\common\server\JsonServer;
use think\exception\ValidateException;
class UserAddress extends Api
{
public $like_not_need_login = ['handleregion'];
//获取地址列表
public function lists()
{
$user_id = $this->user_id;
$result = UserAddressLogic::infoUserAddress($user_id);
return JsonServer::success('获取成功', $result);
}
//获取一条地址详情
public function detail()
{
$get = $this->request->get();
try {
validate(UserAddressValidate::class)->scene('one')->check($get);
$user_id = $this->user_id;
$result = UserAddressLogic::getOneAddress($user_id, $get);
if ($result) {
// return JsonServer::success('获取成功', $result);
$data = ['code'=>1,'show'=>0,'msg' => '获取成功','data'=>$result];
return json($data);
}
return JsonServer::error('获取失败');
} catch (ValidateException $e) {
return JsonServer::error('获取失败');
}
}
//获取默认地址
public function getDefault()
{
$user_id = $this->user_id;
$result = UserAddressLogic::getDefaultAddress($user_id);
if ($result) {
return JsonServer::success('获取成功', $result);
}
return JsonServer::error('获取失败');
}
//设置默认地址
public function setDefault()
{
$post = $this->request->post();
try {
validate(UserAddressValidate::class)->scene('set')->check($post);
$user_id = $this->user_id;
$result = UserAddressLogic::setDefaultAddress($user_id, $post);
if ($result) {
return JsonServer::success('设置成功');
}
return JsonServer::error('设置失败');
} catch (ValidateException $e) {
return JsonServer::error('设置失败');
}
}
//添加收货地址
public function add()
{
$post = $this->request->post();
try {
(new UserAddressValidate())->goCheck('add',$post);
$user_id = $this->user_id;
$result = UserAddressLogic::addUserAddress($user_id, $post);
if ($result) {
return JsonServer::success('添加成功');
}
return JsonServer::error('添加失败');
} catch (ValidateException $e) {
return JsonServer::error('添加失败');
}
}
//更新收货地址
public function update()
{
$post = $this->request->post();
try {
validate(UserAddressValidate::class)->scene('edit')->check($post);
$user_id = $this->user_id;
$result = UserAddressLogic::editUserAddress($user_id, $post);
if ($result) {
return JsonServer::success('修改成功');
}
return JsonServer::error('修改失败');
} catch (ValidateException $e) {
return JsonServer::error('修改失败');
}
}
//删除收货地址
public function del()
{
$post = $this->request->post();
try {
validate(UserAddressValidate::class)->scene('del')->check($post);
$user_id = $this->user_id;
$result = UserAddressLogic::delUserAddress($user_id, $post);
if ($result) {
return JsonServer::success('删除成功');
}
return JsonServer::error('删除失败');
} catch (ValidateException $e) {
return JsonServer::error('删除失败');
}
}
//将省市区名称转换成省市区id
public function handleRegion()
{
$post = $this->request->post();
try {
validate(UserAddressValidate::class)->scene('handleRegion')->check($post);
$province = $this->request->post('province');
$city = $this->request->post('city');
$district = $this->request->post('district');
$res = UserAddressLogic::handleRegion($province, $city, $district);
if ($res) {
return JsonServer::success('获取成功', $res);
}
return JsonServer::error('获取失败');
} catch (ValidateException $e) {
return JsonServer::error('获取失败');
}
}
}