| 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;    }}
 |