first commit
This commit is contained in:
@@ -0,0 +1,152 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace app\common\service;
|
||||
|
||||
use app\facade\AppConstant;
|
||||
use app\ydyd_service\model\UserAddressModel;
|
||||
use think\facade\Request;
|
||||
class UserAddressService
|
||||
{
|
||||
|
||||
|
||||
const addr_num_limit = 1;
|
||||
|
||||
public function makeChangeAddress($parames){
|
||||
|
||||
//$data = Request::only(['area_id','address','consignee','tel','is_default']);
|
||||
$data['consignee'] = $parames['consignee'];
|
||||
|
||||
if(preg_match('/^1\d{10}$/ ', $parames['tel']) > 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;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user