123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- <?php
- namespace Passport\Src;
- use Dever;
- use Passport\Lib\Base;
- class Address extends Base
- {
- # 获取默认地址
- public function getDefaultAddress($uid)
- {
- $where['uid'] = $uid;
- $where['type'] = 2;
- $data = Dever::db('passport/address')->one($where);
- return $data;
- }
- # 获取某个收货地址
- public function getOne($uid, $id)
- {
- $where['uid'] = $uid;
- $where['id'] = $id;
- $data = Dever::db('passport/address')->find($where);
- if ($data && Dever::project('area')) {
- $data = $this->getInfo($data);
- }
- return $data;
- }
- # 获取地址列表
- public function getAddress($uid)
- {
- $where['uid'] = $uid;
- $data = Dever::db('passport/address')->getList($where);
- if ($data && Dever::project('area')) {
- foreach ($data as $k => $v) {
- $data[$k] = $this->getInfo($v);
- }
- }
- return $data;
- }
- private function getInfo($data)
- {
- $info = Dever::db('area/province')->find($data['province']);
- $data['province_name'] = $info['name'];
- $info = Dever::db('area/city')->find($data['city']);
- $data['city_name'] = $info['name'];
- $info = Dever::db('area/county')->find($data['county']);
- $data['county_name'] = $info['name'];
- $data['add_string'] = $data['province_name'] . $data['city_name'] . $data['county_name'] .','. $data['address'] .','. $data['house_number'] .','. $data['contact'] .','. $data['mobile'];
- return $data;
- }
- # 删除和恢复
- public function del($uid, $id, $state = 2)
- {
- $info = $this->getOne($uid, $id);
- if ($info) {
- $update['where_id'] = $info['id'];
- $update['state'] = $state;
- Dever::db('passport/address')->update($update);
- } else {
- Dever::alert('更新失败');
- }
- return 'ok';
- }
- # 添加或者更新地址接口
- public function up()
- {
- $uid = $this->check();
- $id = Dever::input('id');
- $type = Dever::input('type', 2);
- $province = Dever::input('province');
- $city = Dever::input('city');
- $county = Dever::input('county');
- $address = Dever::input('address');
- $country = Dever::input('country');
- $sex = Dever::input('sex');
- $house_number = Dever::input('house_number');
- $tag = Dever::input('tag');
- return $this->upAddress($id, $uid, $type, $province, $city, $county, $address, $country, $sex, $house_number, $tag);
- }
- # 添加或者更新地址
- public function upAddress($id, $uid, $type = 2, $province = '', $city = '', $county = '', $address = '', $country = '', $sex = '', $house_number = '', $tag = '')
- {
- if ($country) {
- $update['country'] = $country;
- }
-
- if ($province && $city && $county && $address) {
- $update['province'] = $province;
- $update['city'] = $city;
- $update['county'] = $county;
- $update['area'] = $province . ',' . $city . ',' . $county;
- $update['address'] = $address;
- }
- $update['type'] = $type;
- if ($sex) {
- $update['sex'] = $sex;
- }
- if ($house_number) {
- $update['house_number'] = $house_number;
- }
- if ($tag) {
- $update['tag'] = $tag;
- }
-
- if ($id) {
- $update['where_id'] = $id;
- Dever::db('passport/address')->update($update);
- } else {
- $update['uid'] = $uid;
- $id = Dever::db('passport/address')->insert($update);
- }
- return $id;
- }
- }
|