qa-ifish7/web/Application/Member/Model/MemberAddressModel.class.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);
}
}
}