0){ $data['tel'] = $parames['tel']; }else{ $res_return['errcode'] = -9; $res_return['errmsg'] = "手机号格式不对,请重新输入"; return $res_return; } $data['area_id'] = $parames['area_id']; $data['address'] = $parames['address']; $address_id = $parames['address_id'] ??''; $data['user_id'] = $parames['user_id']; $_where[] = ['user_id',"=",$parames['user_id']]; // $addr_count = UserAddressModel::where($_where)->count(); // if ($addr_count >= self::addr_num_limit && empty($address_id)) { // $res_return['errcode'] = -1; // $res_return['errmsg'] = "不能新增更多的收货地址了"; // return $res_return; // } //默认地址只有一个 // if ($data['is_default'] == 1) { // $this->cancelDefaultAddress($data); // } if ($address_id){ $_where[] = ["id","=",$address_id]; $usr_add = UserAddressModel::where($_where)->find(); if (!empty($usr_add)) { UserAddressModel::where($_where)->update($data); }else{ $res_return['errcode'] = -1; $res_return['errmsg'] = "地址信息不存在, 无法更新"; return $res_return; } }else{ $addr = UserAddressModel::create($data); $address_id = $addr->id; } $res_return['errcode'] = 0; $res_return['errmsg'] = "操作成功"; $res_return['data']['id'] = $address_id; return $res_return; } //删除地址 public function deleteAddress($parames){ $_where[] = ['user_id','=',$parames['user_id']]; $_where[] = ['id','=',$parames['address_id']]; UserAddressModel::where($_where)->delete(); $res_return['errmsg'] = "删除操作成功"; return $res_return; } //获取地址列表 public function getAddressList($user_id){ $_order = array("is_default" => 'desc'); $_field = "id, area_id, address, consignee, tel, is_default"; $address_list = UserAddressModel::field($_field)->order($_order)->where("user_id","=",$user_id)->select(); if($address_list){ foreach($address_list as $k =>$v){ $area_list = AppConstant::getAreaList(); $area_name = ''; if (isset($area_list[$v['area_id']]['grand_pa_id'])){ $grand_pa_id = $area_list[$v['area_id']]['grand_pa_id']; $area_name .= $area_list[$grand_pa_id]['area_name']." - "; } if (isset($area_list[$v['area_id']]['parent_area_id'])){ $parent_area_id = $area_list[$v['area_id']]['parent_area_id']; $area_name .= $area_list[$parent_area_id]['area_name']. " - "; } $area_name .= $area_list[$v['area_id']]['area_name']; $address_list[$k]['area_name'] = $area_name; $address_list[$k]['short_consignee'] = mb_substr($v['consignee'],0,2); } } $res_return['errcode'] = 0; $res_return['errmsg'] = ""; $res_return['data']['list'] = $address_list; $res_return['data']['has_address_num'] = count($address_list); $left_address_num = self::addr_num_limit - count($address_list); $res_return['data']['left_address_num'] = $left_address_num>=0?$left_address_num:0; return $res_return; } //设置默认地址 public function setDefaultAddress($parames) { $_where[] = ['user_id', "=", $parames['user_id']]; $_where[] = ['id', "=", $parames['address_id']]; $addr_result = UserAddressModel::where($_where)->find(); if (empty($addr_result)) { $res_return['errcode'] = -1; $res_return['errmsg'] = "配送信息不存在, 无法设为默认地址!"; return $res_return; } $data['user_id'] = $parames['user_id']; $this->cancelDefaultAddress($data); $updatedata['is_default'] = 1; $status = UserAddressModel::where($_where)->update($updatedata); if ($status) { $res_return['errmsg'] = "默认地址设置成功"; } else { $res_return['errmsg'] = "默认地址设置失败"; } return $res_return; } private function cancelDefaultAddress($data){ $_where['user_id'] = $data['user_id']; $updatedata['is_default'] = 0; UserAddressModel::where($_where)->update($updatedata); } //地区三级 public function addresss(){ $area_list = AppConstant::getAreaList(); return $area_list; } }