Commit 4a51b2ae authored by liuyuzhen's avatar liuyuzhen

地址相关修改

parent 39682aab
...@@ -76,51 +76,59 @@ class AddressServiceModel extends \Business\AbstractModel { ...@@ -76,51 +76,59 @@ class AddressServiceModel extends \Business\AbstractModel {
$sess=\Yaf\Session::getInstance(); $sess=\Yaf\Session::getInstance();
$currentAddress = $sess->get('currentAddress'); $currentAddress = $sess->get('currentAddress');
//if($currentAddress) //if($currentAddress)
if(isset($data['choosedFlag'])&&$data['choosedFlag']){ if((isset($data['choosedFlag'])&&$data['choosedFlag'])){
$chooseFlag = $data['choosedFlag']; $chooseFlag = $data['choosedFlag'];
}else if(!$memberId){
$chooseFlag = \Our\ApiConst::one;
} }
$returnAddress = array();
if(isset($data['addressId'])&&$data['addressId']){ if(isset($data['addressId'])&&$data['addressId']){
$returnAddress = $this->setAddressById($data['addressId'],$memberId); $returnAddress = $this->setAddressById($data['addressId'],$memberId);
}else if(($data['lng']&&$data['lat']&&$data['cityCode'])){ }
if(isset($chooseFlag)&&$chooseFlag){ if(!$returnAddress){
$returnAddress = $this->setCurrentAddress($data,$memberId,$chooseFlag); if(($data['lng']&&$data['lat']&&$data['cityCode'])){
}else{ if(isset($chooseFlag)&&$chooseFlag){
$returnAddress = $this->setCurrentAddress($data,$memberId); $returnAddress = $this->setCurrentAddress($data,$memberId,$chooseFlag);
}
}else {
if($currentAddress){
if($currentAddress['addressId']&&$currentAddress['chooseFlag']){
$addresses = array();
if($currentAddress['addressId'] >\Our\ApiConst::zero){
$address['addressId'] = $currentAddress['addressId'];
$address['address'] = $currentAddress['address'];
$address['name'] = $currentAddress['name'];
$address['tagType'] = $currentAddress['tagType'];
$address['lat'] = $currentAddress['lat'];
$address['lng'] = $currentAddress['lng'];
$address['cityCode'] = $currentAddress['cityCode'];
$addresses[] = $address;
}
$returnAddress = array('returnAddressId'=>$currentAddress['addressId'],'choosedAddressFlag'=>$currentAddress['chooseFlag'],'addresses'=>$addresses);
}else{ }else{
$returnAddress = $this->setCurrentAddress($data,$memberId);
$returnAddress = array('returnAddressId'=>$currentAddress['addressId'],'choosedAddressFlag'=>isset($currentAddress['chooseFlag'])&&$currentAddress['chooseFlag']?$currentAddress['chooseFlag']:\Our\ApiConst::zero); }
if($memberId){ }else {
$myAddresses = $this->getMyCurrentAddressByMemberId($memberId); if($currentAddress){
if($myAddresses){ if($currentAddress['addressId']&&$currentAddress['chooseFlag']){
$returnAddress['addresses'] = $myAddresses; $addresses = array();
if($currentAddress['addressId'] >\Our\ApiConst::zero){
$address['addressId'] = $currentAddress['addressId'];
$address['address'] = $currentAddress['address'];
$address['name'] = $currentAddress['name'];
$address['tagType'] = $currentAddress['tagType'];
$address['lat'] = $currentAddress['lat'];
$address['lng'] = $currentAddress['lng'];
$address['cityCode'] = $currentAddress['cityCode'];
$addresses[] = $address;
}
$returnAddress = array('returnAddressId'=>$currentAddress['addressId'],'choosedAddressFlag'=>$currentAddress['chooseFlag'],'addresses'=>$addresses);
}else{
$returnAddress = array('returnAddressId'=>$currentAddress['addressId'],'choosedAddressFlag'=>isset($currentAddress['chooseFlag'])&&$currentAddress['chooseFlag']?$currentAddress['chooseFlag']:\Our\ApiConst::zero);
if($memberId){
$myAddresses = $this->getMyCurrentAddressByMemberId($memberId);
if($myAddresses){
$returnAddress['addresses'] = $myAddresses;
}
} }
} }
}else{
if(isset($data['choosedFlag'])&&$data['choosedFlag']) {//设置地址时执行到这里属于非法情况
\Error\ErrorModel::throwException(\Error\CodeConfigModel::illegalAccess);
}
$data = \Our\ArrayConst::defaultAddress; //如果没有传任何地址信息,系统提供默认地址
$returnAddress = $this->setCurrentAddress($data,$memberId,$memberId?\Our\ApiConst::zero:\Our\ApiConst::one);
} }
}else{
if(isset($data['choosedFlag'])&&$data['choosedFlag']) {//设置地址时执行到这里属于非法情况
\Error\ErrorModel::throwException(\Error\CodeConfigModel::illegalAccess);
}
$data = \Our\ArrayConst::defaultAddress; //如果没有传任何地址信息,系统提供默认地址
$returnAddress = $this->setCurrentAddress($data,$memberId);
} }
} }
if(isset($data['choosedFlag'])&&$data['choosedFlag']){ //如果调用设置地址接口时,前台不需要弹窗 if((isset($data['choosedFlag'])&&$data['choosedFlag'])||!$memberId){ //如果调用设置地址接口时,前台不需要弹窗
$returnAddress['choosedAddressFlag'] = \Our\ApiConst::one; $returnAddress['choosedAddressFlag'] = \Our\ApiConst::one;
} }
return $returnAddress; return $returnAddress;
...@@ -134,9 +142,10 @@ class AddressServiceModel extends \Business\AbstractModel { ...@@ -134,9 +142,10 @@ class AddressServiceModel extends \Business\AbstractModel {
if(!$addressId){ if(!$addressId){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::illegalAccess); \Error\ErrorModel::throwException(\Error\CodeConfigModel::illegalAccess);
} }
$address = $this->getMyAddress(array('addressId'=>$addressId),$memberId); $address = $this->getMyAddress(array('addressId'=>$addressId),$memberId,false);
if(!$address){ if(!$address){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::addressNotExist); //\Error\ErrorModel::throwException(\Error\CodeConfigModel::addressNotExist);
return array();
} }
$sess = \Yaf\Session::getInstance(); $sess = \Yaf\Session::getInstance();
$newAddress['addressId'] = $address['addressId']; $newAddress['addressId'] = $address['addressId'];
...@@ -342,10 +351,11 @@ class AddressServiceModel extends \Business\AbstractModel { ...@@ -342,10 +351,11 @@ class AddressServiceModel extends \Business\AbstractModel {
* 获取单个收货地址 * 获取单个收货地址
* @param $where * @param $where
* @param $memberId * @param $memberId
* @param $validFlag 地址不存在是否需要抛出异常
* @return array|bool|mixed * @return array|bool|mixed
* @throws \Exception * @throws \Exception
*/ */
public function getMyAddress($where,$memberId){ public function getMyAddress($where,$memberId,$validFlag = true){
$addressDao = \DAO\AddressModel::getInstance(); $addressDao = \DAO\AddressModel::getInstance();
$columns = $addressDao->getAddressColumns(); $columns = $addressDao->getAddressColumns();
if($where['addressId']){ if($where['addressId']){
...@@ -354,7 +364,7 @@ class AddressServiceModel extends \Business\AbstractModel { ...@@ -354,7 +364,7 @@ class AddressServiceModel extends \Business\AbstractModel {
$address = \Our\RedisHelper::cachedFunction(\Redis\Db8\AddressRedisModel::getInstance(),array(&$addressDao, 'findByWhereWithColumns'),array($condition,$columns),3600,array($addressId)); $address = \Our\RedisHelper::cachedFunction(\Redis\Db8\AddressRedisModel::getInstance(),array(&$addressDao, 'findByWhereWithColumns'),array($condition,$columns),3600,array($addressId));
//$address = $this->findFromRedis($condition,'han_address','address_id',$columns); //$address = $this->findFromRedis($condition,'han_address','address_id',$columns);
if(!$address||($address&&$address['member_id']!=$memberId)){ if((!$address||($address&&$address['member_id']!=$memberId))&&$validFlag){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::addressNotExist); \Error\ErrorModel::throwException(\Error\CodeConfigModel::addressNotExist);
} }
}; };
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment