123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- <?php
- /**
- * App.php UTF-8
- * app事件
- *
- * @date : 2018/1/19 17:26
- *
- * @license 这不是一个自由软件,未经授权不许任何使用和传播。
- * @author : wuyonghong <wyh@huosdk.com>
- * @version : HUOSDK 8.0
- */
- namespace huo\controller\address;
- use huo\controller\common\Base;
- use huo\model\address\MemAddressModel;
- use huo\model\shop\RegionModel;
- use huolib\status\CommonStatus;
- class Address extends Base {
- /**
- * 获取地址列表
- *
- * @param int $parent_id
- *
- * @return array
- */
- public function getRegionData($parent_id = 0) {
- $_code = CommonStatus::NO_ERROR;
- $_data = (new RegionModel())->getRegionData($parent_id);
- if (false == $_data) {
- $_code = CommonStatus::INNER_ERROR;
- return $this->huoError($_code, CommonStatus::getMsg($_code));
- }
- return $this->huoSuccess($_code, CommonStatus::getMsg($_code), $_data);
- }
- public function addAddress($address) {
- $_data['mem_id'] = get_val($address, 'mem_id', 0);
- $_data['consignee'] = get_val($address, 'consignee', '');
- $_data['country'] = get_val($address, 'country', 0);
- $_data['province'] = get_val($address, 'province', 0);
- $_data['city'] = get_val($address, 'city', 0);
- $_data['district'] = get_val($address, 'district', 0);
- $_data['town'] = get_val($address, 'town', 0);
- $_data['address'] = get_val($address, 'address', '');
- $_data['zipcode'] = get_val($address, 'zipcode', '');
- $_data['mobile'] = get_val($address, 'mobile', '');
- $_data['is_default'] = get_val($address, 'is_default', '');
- $_add_model = new MemAddressModel();
- $_res = $_add_model->addData($_data);
- if ($_data['is_default'] == 2 && false != $_res) {//如果为默认,则设定其他的为非默认
- $_add_model->setNoDefaultExcept($_res, $_data['mem_id']);
- }
- return $_res;
- }
- public function getMemAddress($mem_id) {
- $_map['mem_id'] = $mem_id;
- $_map['is_delete'] = 2;
- $_add_model = new MemAddressModel();
- $_count = $_add_model->where($_map)->count();
- if ($_count == 0) {
- return [
- 'count' => 0,
- 'list' => []
- ];
- }
- $_list = $_add_model->where($_map)->order('is_default desc,id desc')->select()->toArray();
- $_list = $this->conversion($_list);
- return [
- 'count' => $_count,
- 'list' => $_list
- ];
- }
- private function conversion($list) {
- if (empty($list)) {
- return [];
- }
- $_region_list = (new RegionModel())->column('id,name');
- foreach ($list as $_key => $_value) {
- $list[$_key]['province_name'] = isset($_region_list[$_value['province']])
- ? $_region_list[$_value['province']] : '';
- $list[$_key]['city_name'] = isset($_region_list[$_value['city']]) ? $_region_list[$_value['city']] : '';
- $list[$_key]['district_name'] = isset($_region_list[$_value['district']])
- ? $_region_list[$_value['district']] : '';
- $list[$_key]['town_name'] = isset($_region_list[$_value['town']]) ? $_region_list[$_value['town']] : '';
- }
- return $list;
- }
- public function editMemAddress($id, $address) {
- $_map['id'] = $id;
- $_mem_id = get_val($address, 'mem_id', '');
- $_map['mem_id'] = $_mem_id;
- $_add_model = new MemAddressModel();
- $_count = $_add_model->where($_map)->count();
- if ($_count == 0) {
- return false;
- }
- $_data['consignee'] = get_val($address, 'consignee', '');
- $_data['country'] = get_val($address, 'country', 0);
- $_data['province'] = get_val($address, 'province', 0);
- $_data['city'] = get_val($address, 'city', 0);
- $_data['district'] = get_val($address, 'district', 0);
- $_data['town'] = get_val($address, 'town', 0);
- $_data['address'] = get_val($address, 'address', '');
- $_data['zipcode'] = get_val($address, 'zipcode', '');
- $_data['mobile'] = get_val($address, 'mobile', '');
- $_data['is_default'] = get_val($address, 'is_default', '');
- $_res = $_add_model->where($_map)->update($_data);
- if ($_data['is_default'] == 2) {//如果为默认,则设定其他的为非默认
- $_add_model->setNoDefaultExcept($id, $_mem_id);
- }
- return $_res;
- }
- public function getAddressDetail($id) {
- if (empty($id)) {
- return [];
- }
- $_detail = (new MemAddressModel())->getInfoById($id);
- if (empty($_detail)) {
- return [];
- }
- $_list = [
- 0 => $_detail,
- ];
- $_list = $this->conversion($_list);
- return $_list[0];
- }
- public function deleteAddress($id) {
- $_res = (new MemAddressModel())->deleteData($id);
- return $_res;
- }
- }
|