327 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			PHP
		
	
	
		
		
			
		
	
	
			327 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			PHP
		
	
	
| 
								 | 
							
								<?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\logic;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								use app\common\model\DevRegion;
							 | 
						|||
| 
								 | 
							
								use app\common\model\user\UserAddress;
							 | 
						|||
| 
								 | 
							
								use app\common\server\AreaServer;
							 | 
						|||
| 
								 | 
							
								use think\facade\Db;
							 | 
						|||
| 
								 | 
							
								use think\Exception;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								class UserAddressLogic
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * 获取用户地址信息
							 | 
						|||
| 
								 | 
							
								     * @param $user_id
							 | 
						|||
| 
								 | 
							
								     * @return array
							 | 
						|||
| 
								 | 
							
								     * @throws \think\db\exception\DataNotFoundException
							 | 
						|||
| 
								 | 
							
								     * @throws \think\db\exception\ModelNotFoundException
							 | 
						|||
| 
								 | 
							
								     * @throws \think\exception\DbException
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    public static function infoUserAddress($user_id)
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        $UserAddress = new UserAddress();
							 | 
						|||
| 
								 | 
							
								        $info = $UserAddress
							 | 
						|||
| 
								 | 
							
								            ->where(['user_id' => $user_id, 'del' => 0])
							 | 
						|||
| 
								 | 
							
								            ->field('id,contact,telephone,province_id,city_id,district_id,address,is_default')
							 | 
						|||
| 
								 | 
							
								            ->select()
							 | 
						|||
| 
								 | 
							
								            ->toArray();
							 | 
						|||
| 
								 | 
							
								        foreach ($info as &$item) {
							 | 
						|||
| 
								 | 
							
								            $item['province'] = AreaServer::getAddress($item['province_id']);
							 | 
						|||
| 
								 | 
							
								            $item['city'] = AreaServer::getAddress($item['city_id']);
							 | 
						|||
| 
								 | 
							
								            $item['district'] = AreaServer::getAddress($item['district_id']);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        return $info;
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * 获取一条地址信息
							 | 
						|||
| 
								 | 
							
								     * @param $user_id
							 | 
						|||
| 
								 | 
							
								     * @param $get
							 | 
						|||
| 
								 | 
							
								     * @return array|\PDOStatement|string|\think\Model|null
							 | 
						|||
| 
								 | 
							
								     * @throws \think\db\exception\DataNotFoundException
							 | 
						|||
| 
								 | 
							
								     * @throws \think\db\exception\ModelNotFoundException
							 | 
						|||
| 
								 | 
							
								     * @throws \think\exception\DbException
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    public static function getOneAddress($user_id, $get)
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        $UserAddress = new UserAddress();
							 | 
						|||
| 
								 | 
							
								        $info = $UserAddress
							 | 
						|||
| 
								 | 
							
								            ->where(['id' => (int)$get['id'], 'user_id' => $user_id, 'del' => 0])
							 | 
						|||
| 
								 | 
							
								            ->field('id,contact,telephone,province_id,city_id,district_id,address,is_default')
							 | 
						|||
| 
								 | 
							
								            ->find();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        $info['province'] = AreaServer::getAddress($info['province_id']);
							 | 
						|||
| 
								 | 
							
								        $info['city'] = AreaServer::getAddress($info['city_id']);
							 | 
						|||
| 
								 | 
							
								        $info['district'] = AreaServer::getAddress($info['district_id']);
							 | 
						|||
| 
								 | 
							
								        return $info;
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * 获取默认地址
							 | 
						|||
| 
								 | 
							
								     * @param $user_id
							 | 
						|||
| 
								 | 
							
								     * @return array
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    public static function getDefaultAddress($user_id)
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        $UserAddress = new UserAddress();
							 | 
						|||
| 
								 | 
							
								        $info = $UserAddress
							 | 
						|||
| 
								 | 
							
								            ->where(['is_default' => 1, 'user_id' => $user_id, 'del' => 0])
							 | 
						|||
| 
								 | 
							
								            ->field('id,contact,telephone,province_id,city_id,district_id,address,is_default')
							 | 
						|||
| 
								 | 
							
								            ->findOrEmpty()->toArray();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        if (!$info) {
							 | 
						|||
| 
								 | 
							
								            return [];
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        $info['province'] = AreaServer::getAddress($info['province_id']);
							 | 
						|||
| 
								 | 
							
								        $info['city'] = AreaServer::getAddress($info['city_id']);
							 | 
						|||
| 
								 | 
							
								        $info['district'] = AreaServer::getAddress($info['district_id']);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        return $info;
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * 设置默认地址
							 | 
						|||
| 
								 | 
							
								     * @param $user_id
							 | 
						|||
| 
								 | 
							
								     * @param $post
							 | 
						|||
| 
								 | 
							
								     * @return int|string
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    public static function setDefaultAddress($user_id, $post)
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        try {
							 | 
						|||
| 
								 | 
							
								            Db::startTrans();
							 | 
						|||
| 
								 | 
							
								            $UserAddress = new UserAddress();
							 | 
						|||
| 
								 | 
							
								            $UserAddress
							 | 
						|||
| 
								 | 
							
								                ->where(['del' => 0, 'user_id' => $user_id])
							 | 
						|||
| 
								 | 
							
								                ->update(['is_default' => 0]);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            $result = $UserAddress
							 | 
						|||
| 
								 | 
							
								                ->where(['id' => $post['id'], 'del' => 0, 'user_id' => $user_id])
							 | 
						|||
| 
								 | 
							
								                ->update(['is_default' => 1]);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            Db::commit();
							 | 
						|||
| 
								 | 
							
								        } catch (\Exception $e) {
							 | 
						|||
| 
								 | 
							
								            Db::rollback();
							 | 
						|||
| 
								 | 
							
								            return false;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        return $result;
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * 添加收货地址
							 | 
						|||
| 
								 | 
							
								     * @param $user_id
							 | 
						|||
| 
								 | 
							
								     * @param $post
							 | 
						|||
| 
								 | 
							
								     * @return int|string
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    public static function addUserAddress($user_id, $post)
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        try {
							 | 
						|||
| 
								 | 
							
								            Db::startTrans();
							 | 
						|||
| 
								 | 
							
								            $UserAddress = new UserAddress();
							 | 
						|||
| 
								 | 
							
								            if ($post['is_default'] == 1) {
							 | 
						|||
| 
								 | 
							
								                $UserAddress
							 | 
						|||
| 
								 | 
							
								                    ->where(['del' => 0, 'user_id' => $user_id])
							 | 
						|||
| 
								 | 
							
								                    ->update(['is_default' => 0]);
							 | 
						|||
| 
								 | 
							
								            } else {
							 | 
						|||
| 
								 | 
							
								                $is_first = $UserAddress
							 | 
						|||
| 
								 | 
							
								                    ->where(['del' => 0, 'user_id' => $user_id])
							 | 
						|||
| 
								 | 
							
								                    ->select();
							 | 
						|||
| 
								 | 
							
								                if (empty($is_first)) {
							 | 
						|||
| 
								 | 
							
								                    $post['is_default'] = 1;
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            $data = [
							 | 
						|||
| 
								 | 
							
								                'user_id' => $user_id,
							 | 
						|||
| 
								 | 
							
								                'contact' => $post['contact'],
							 | 
						|||
| 
								 | 
							
								                'telephone' => $post['telephone'],
							 | 
						|||
| 
								 | 
							
								                'province_id' => $post['province_id'],
							 | 
						|||
| 
								 | 
							
								                'city_id' => $post['city_id'],
							 | 
						|||
| 
								 | 
							
								                'district_id' => $post['district_id'],
							 | 
						|||
| 
								 | 
							
								                'address' => $post['address'],
							 | 
						|||
| 
								 | 
							
								                'is_default' => $post['is_default'],
							 | 
						|||
| 
								 | 
							
								                'create_time' => time()
							 | 
						|||
| 
								 | 
							
								            ];
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            $result = $UserAddress->insert($data);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            Db::commit();
							 | 
						|||
| 
								 | 
							
								        } catch (Exception $e) {
							 | 
						|||
| 
								 | 
							
								            Db::rollback();
							 | 
						|||
| 
								 | 
							
								            return $e->getMessage();
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        return $result;
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * 编辑用户地址
							 | 
						|||
| 
								 | 
							
								     * @param $user_id
							 | 
						|||
| 
								 | 
							
								     * @param $post
							 | 
						|||
| 
								 | 
							
								     * @return int|string
							 | 
						|||
| 
								 | 
							
								     * @throws \think\Exception
							 | 
						|||
| 
								 | 
							
								     * @throws \think\exception\PDOException
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    public static function editUserAddress($user_id, $post)
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        try {
							 | 
						|||
| 
								 | 
							
								            Db::startTrans();
							 | 
						|||
| 
								 | 
							
								            $UserAddress = new UserAddress();
							 | 
						|||
| 
								 | 
							
								            if ($post['is_default'] == 1) {
							 | 
						|||
| 
								 | 
							
								                $UserAddress->where(['del' => 0, 'user_id' => $user_id])
							 | 
						|||
| 
								 | 
							
								                    ->update(['is_default' => 0]);
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            $data = [
							 | 
						|||
| 
								 | 
							
								                'contact' => $post['contact'],
							 | 
						|||
| 
								 | 
							
								                'telephone' => $post['telephone'],
							 | 
						|||
| 
								 | 
							
								                'province_id' => $post['province_id'],
							 | 
						|||
| 
								 | 
							
								                'city_id' => $post['city_id'],
							 | 
						|||
| 
								 | 
							
								                'district_id' => $post['district_id'],
							 | 
						|||
| 
								 | 
							
								                'address' => $post['address'],
							 | 
						|||
| 
								 | 
							
								                'is_default' => $post['is_default'],
							 | 
						|||
| 
								 | 
							
								                'update_time' => time()
							 | 
						|||
| 
								 | 
							
								            ];
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            $result = $UserAddress
							 | 
						|||
| 
								 | 
							
								                ->where(['id' => $post['id'], 'del' => 0, 'user_id' => $user_id])
							 | 
						|||
| 
								 | 
							
								                ->update($data);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            Db::commit();
							 | 
						|||
| 
								 | 
							
								        } catch (\Exception $e) {
							 | 
						|||
| 
								 | 
							
								            Db::rollback();
							 | 
						|||
| 
								 | 
							
								            return false;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        return $result;
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * 删除用户地址
							 | 
						|||
| 
								 | 
							
								     * @param $user_id
							 | 
						|||
| 
								 | 
							
								     * @param $post
							 | 
						|||
| 
								 | 
							
								     * @return int|string
							 | 
						|||
| 
								 | 
							
								     * @throws \think\Exception
							 | 
						|||
| 
								 | 
							
								     * @throws \think\exception\PDOException
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    public static function delUserAddress($user_id, $post)
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        $data = [
							 | 
						|||
| 
								 | 
							
								            'del' => 1,
							 | 
						|||
| 
								 | 
							
								            'update_time' => time()
							 | 
						|||
| 
								 | 
							
								        ];
							 | 
						|||
| 
								 | 
							
								        $UserAddress = new UserAddress();
							 | 
						|||
| 
								 | 
							
								        return $UserAddress
							 | 
						|||
| 
								 | 
							
								            ->where(['id' => $post['id'], 'del' => 0, 'user_id' => $user_id])
							 | 
						|||
| 
								 | 
							
								            ->update($data);
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * 获取省市区id
							 | 
						|||
| 
								 | 
							
								     * @param $province
							 | 
						|||
| 
								 | 
							
								     * @param $city
							 | 
						|||
| 
								 | 
							
								     * @param $district
							 | 
						|||
| 
								 | 
							
								     * @return array
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    public static function handleRegion($province, $city, $district)
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        if (!$province || !$city || !$district) {
							 | 
						|||
| 
								 | 
							
								            return [];
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        $result = [];
							 | 
						|||
| 
								 | 
							
								        $result['province'] = self::handleRegionField($province, 1);
							 | 
						|||
| 
								 | 
							
								        if (!$result['province']) {
							 | 
						|||
| 
								 | 
							
								            return [];
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        $result['city'] = self::handleRegionField($city, 2);
							 | 
						|||
| 
								 | 
							
								        $result['district'] = self::handleRegionField($district, 3);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        return $result;
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * 获取对应省,市,区的id
							 | 
						|||
| 
								 | 
							
								     * @param $keyword
							 | 
						|||
| 
								 | 
							
								     * @param int $level
							 | 
						|||
| 
								 | 
							
								     * @return mixed|string
							 | 
						|||
| 
								 | 
							
								     * @throws \think\db\exception\DataNotFoundException
							 | 
						|||
| 
								 | 
							
								     * @throws \think\db\exception\ModelNotFoundException
							 | 
						|||
| 
								 | 
							
								     * @throws \think\exception\DbException
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    public static function handleRegionField($keyword, $level = 1)
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        $data = '';
							 | 
						|||
| 
								 | 
							
								        $DevRegion = new DevRegion();
							 | 
						|||
| 
								 | 
							
								        $list = $DevRegion->where('level', $level)->select();
							 | 
						|||
| 
								 | 
							
								        foreach ($list as $k => $v) {
							 | 
						|||
| 
								 | 
							
								            if ($keyword == $v['name']) {
							 | 
						|||
| 
								 | 
							
								                $data = $v['id'];
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        if (empty($data)) {
							 | 
						|||
| 
								 | 
							
								            foreach ($list as $k => $v) {
							 | 
						|||
| 
								 | 
							
								                if (strpos($v['name'], $keyword) !== false) {
							 | 
						|||
| 
								 | 
							
								                    $data = $v['id'];
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        return $data;
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * User: 意象信息科技 mjf
							 | 
						|||
| 
								 | 
							
								     * Desc: 获取用户指定id的地址
							 | 
						|||
| 
								 | 
							
								     * @param $address
							 | 
						|||
| 
								 | 
							
								     * @param $user_id
							 | 
						|||
| 
								 | 
							
								     * @return array|\PDOStatement|string|\think\Model|null
							 | 
						|||
| 
								 | 
							
								     * @throws \think\db\exception\DataNotFoundException
							 | 
						|||
| 
								 | 
							
								     * @throws \think\db\exception\ModelNotFoundException
							 | 
						|||
| 
								 | 
							
								     * @throws \think\exception\DbException
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    public static function getUserAddressById($address, $user_id)
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        $UserAddress = new UserAddress();
							 | 
						|||
| 
								 | 
							
								        $info = $UserAddress
							 | 
						|||
| 
								 | 
							
								            ->where(['id' => $address, 'user_id' => $user_id, 'del' => 0])
							 | 
						|||
| 
								 | 
							
								            ->field('id,contact,telephone,province_id,city_id,district_id,address,is_default')
							 | 
						|||
| 
								 | 
							
								            ->find();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        if (!$info) {
							 | 
						|||
| 
								 | 
							
								            return [];
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        $info['province'] = AreaServer::getAddress($info['province_id']);
							 | 
						|||
| 
								 | 
							
								        $info['city'] = AreaServer::getAddress($info['city_id']);
							 | 
						|||
| 
								 | 
							
								        $info['district'] = AreaServer::getAddress($info['district_id']);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        return $info;
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								}
							 |