115 lines
3.2 KiB
PHP
115 lines
3.2 KiB
PHP
<?php
|
|
namespace Member\Model;
|
|
use Think\Model;
|
|
|
|
class MemberAddressModel extends Model{
|
|
|
|
/**
|
|
* 验证字段
|
|
* @var array
|
|
*/
|
|
protected $_validate=array(
|
|
array("username","require","收件人名称不能为空"),
|
|
array("mobile","require","手机号码不能为空"),
|
|
array("province","require","请选择省"),
|
|
array("city","require","请选择市"),
|
|
array("area","require","请选择区"),
|
|
array("detail","require","请输入详细地址"),
|
|
);
|
|
|
|
/**
|
|
*
|
|
*/
|
|
public function save($data = '', $options = array())
|
|
{
|
|
$data["member_id"] = session("member.member_id");
|
|
$data["create_time"] = time();
|
|
if($data[sh_status]){
|
|
$this->is_sh_status($data);
|
|
}else{
|
|
$data[sh_status]=0;
|
|
}
|
|
if($data[sp_status]){
|
|
$this->is_sp_status($data);
|
|
}else{
|
|
$data[sp_status]=0;
|
|
}
|
|
if(!$data["id"]){
|
|
return $this->add($data);
|
|
}
|
|
return parent::save($data, $options); // TODO: Change the autogenerated stub
|
|
}
|
|
|
|
/**
|
|
* 判断用户是否保存默认地址 修改原本的默认地址
|
|
* @param $data 保存的数据
|
|
*/
|
|
private function is_sh_status($data){
|
|
// 判断是否存在默认地址
|
|
$where["sh_status"] = 1;
|
|
$where["member_id"] = $data["member_id"];
|
|
|
|
$res = $this->where($where)->select();
|
|
if(!empty($res)){
|
|
// 去除默认地址
|
|
$datas["sh_status"] = 0;
|
|
$where = array();
|
|
$where["member_id"] = $data["member_id"];
|
|
$this->where($where);
|
|
parent::save($datas);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 判断用户是否保存收票地址
|
|
*/
|
|
private function is_sp_status($data){
|
|
// 判断是否存在默认地址
|
|
$where["sp_status"] = 1;
|
|
$where["member_id"] = $data["member_id"];
|
|
|
|
$res = $this->where($where)->select();
|
|
if(!empty($res)){
|
|
// 去除默认地址
|
|
|
|
$datas["sp_status"] = 0;
|
|
$where = array();
|
|
$where["member_id"] = $data["member_id"];
|
|
$this->where($where);
|
|
parent::save($datas);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 设置默认地址
|
|
* @param $shid 设置的收货地址id
|
|
* @param $spid 设置的收票地址id
|
|
*/
|
|
public function setDefault($shid,$spid){
|
|
$member_id = session("member.member_id");
|
|
if($shid){
|
|
$data = array(
|
|
"id" => $shid,
|
|
'member_id' => $member_id
|
|
);
|
|
$this->is_sh_status($data);
|
|
$where["member_id"] = $member_id;
|
|
$where["id"] = $shid;
|
|
$save_data["sh_status"] = 1;
|
|
$this->where($where);
|
|
parent::save($save_data);
|
|
}
|
|
if($spid){
|
|
$data = array(
|
|
"id" => $spid,
|
|
'member_id' => $member_id
|
|
);
|
|
$this->is_sp_status($data);
|
|
$where["member_id"] = $member_id;
|
|
$where["id"] = $spid;
|
|
$save_data["sp_status"] = 1;
|
|
$this->where($where);
|
|
parent::save($save_data);
|
|
}
|
|
}
|
|
} |