Commit 642aeedf authored by liuyuzhen's avatar liuyuzhen

首页地址问题

parent 1b75946e
...@@ -65,7 +65,8 @@ class ArrayConst ...@@ -65,7 +65,8 @@ class ArrayConst
NameConst::cityCode => '0591', NameConst::cityCode => '0591',
NameConst::lat => '26.053183', NameConst::lat => '26.053183',
NameConst::lng => '119.24174', NameConst::lng => '119.24174',
NameConst::address => '横一号路特力林科技大厦' NameConst::address => '横一号路特力林科技大厦',
'default'=>\Our\ApiConst::one
); );
//小程序账号 //小程序账号
......
...@@ -78,7 +78,14 @@ class AddressServiceModel extends \Business\AbstractModel { ...@@ -78,7 +78,14 @@ class AddressServiceModel extends \Business\AbstractModel {
$addresses[] = $address; $addresses[] = $address;
$returnAddress = array('returnAddressId'=>$currentAddress['addressId'],'choosedAddressFlag'=>$currentAddress['chooseFlag'],'addresses'=>$addresses); $returnAddress = array('returnAddressId'=>$currentAddress['addressId'],'choosedAddressFlag'=>$currentAddress['chooseFlag'],'addresses'=>$addresses);
}else{ }else{
$returnAddress = array('returnAddressId'=>$currentAddress['addressId'],'choosedAddressFlag'=>$currentAddress['chooseFlag']);
$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{ }else{
if(isset($data['choosedFlag'])&&$data['choosedFlag']) {//设置地址时执行到这里属于非法情况 if(isset($data['choosedFlag'])&&$data['choosedFlag']) {//设置地址时执行到这里属于非法情况
...@@ -153,12 +160,11 @@ class AddressServiceModel extends \Business\AbstractModel { ...@@ -153,12 +160,11 @@ class AddressServiceModel extends \Business\AbstractModel {
if($chooseFlag){ if($chooseFlag){
$address['chooseFlag'] = $chooseFlag; $address['chooseFlag'] = $chooseFlag;
}else{ }else{
if($currentAddress&&$tempLatLng){ $address['chooseFlag'] = \Our\ApiConst::zero;
if($currentAddress&&$tempLatLng&&!(isset($where['default'])&&$where['default'])){
$sameFlag = $addressDao->checkSessAddress($tempLatLng,$currentAddress); $sameFlag = $addressDao->checkSessAddress($tempLatLng,$currentAddress);
if($sameFlag){ if($sameFlag){
$address['chooseFlag'] = \Our\ApiConst::one; $address['chooseFlag'] = \Our\ApiConst::one;
}else{
$address['chooseFlag'] = \Our\ApiConst::zero;
} }
} }
} }
...@@ -166,6 +172,8 @@ class AddressServiceModel extends \Business\AbstractModel { ...@@ -166,6 +172,8 @@ class AddressServiceModel extends \Business\AbstractModel {
return array('returnAddressId'=>$address['addressId'],'choosedAddressFlag'=>$address['chooseFlag']?\Our\ApiConst::one:\Our\ApiConst::zero); return array('returnAddressId'=>$address['addressId'],'choosedAddressFlag'=>$address['chooseFlag']?\Our\ApiConst::one:\Our\ApiConst::zero);
} }
$address = array();
$columns = $this->getChoosedAddressColumns(); $columns = $this->getChoosedAddressColumns();
$condition['member_id'] = $memberId; $condition['member_id'] = $memberId;
$condition['citycode'] = $where['cityCode']; $condition['citycode'] = $where['cityCode'];
...@@ -173,7 +181,6 @@ class AddressServiceModel extends \Business\AbstractModel { ...@@ -173,7 +181,6 @@ class AddressServiceModel extends \Business\AbstractModel {
$limit = \Our\ApiConst::defaultAddressCount; $limit = \Our\ApiConst::defaultAddressCount;
//1、判断当前用户的地址列表中是否存在和当前经纬度坐标小于200的地址(当前经纬度是否存在对应收货地址) //1、判断当前用户的地址列表中是否存在和当前经纬度坐标小于200的地址(当前经纬度是否存在对应收货地址)
$addressList = \Our\RedisHelper::cachedFunction(\Redis\Db8\AddressRedisModel::getInstance(),array(&$addressDao, 'selectByWhere'),array($condition,$columns),\Our\ApiConst::oneHour,array($memberId)); $addressList = \Our\RedisHelper::cachedFunction(\Redis\Db8\AddressRedisModel::getInstance(),array(&$addressDao, 'selectByWhere'),array($condition,$columns),\Our\ApiConst::oneHour,array($memberId));
$address = array();
if($addressList){ if($addressList){
$newAddressList = array(); $newAddressList = array();
foreach($addressList as $addr){ foreach($addressList as $addr){
...@@ -217,14 +224,13 @@ class AddressServiceModel extends \Business\AbstractModel { ...@@ -217,14 +224,13 @@ class AddressServiceModel extends \Business\AbstractModel {
$address['chooseFlag'] = $chooseFlag; $address['chooseFlag'] = $chooseFlag;
$choosedAddressFlag = \Our\ApiConst::one; $choosedAddressFlag = \Our\ApiConst::one;
}else{ }else{
if($currentAddress&&$tempLatLng){ $address['chooseFlag'] = \Our\ApiConst::zero;
$choosedAddressFlag = \Our\ApiConst::zero;
if($currentAddress&&$tempLatLng&&!(isset($where['default'])&&$where['default'])){
$sameFlag = $addressDao->checkSessAddress($tempLatLng,$currentAddress); $sameFlag = $addressDao->checkSessAddress($tempLatLng,$currentAddress);
if($sameFlag){ if($sameFlag){
$address['chooseFlag'] = \Our\ApiConst::one; $address['chooseFlag'] = \Our\ApiConst::one;
$choosedAddressFlag = \Our\ApiConst::one; $choosedAddressFlag = \Our\ApiConst::one;
}else{
$address['chooseFlag'] = \Our\ApiConst::zero;
$choosedAddressFlag = \Our\ApiConst::zero;
} }
} }
} }
...@@ -233,7 +239,7 @@ class AddressServiceModel extends \Business\AbstractModel { ...@@ -233,7 +239,7 @@ class AddressServiceModel extends \Business\AbstractModel {
$choosedAddressId = $address['addressId']; $choosedAddressId = $address['addressId'];
$newCondition['member_id'] = $memberId; $newCondition['member_id'] = $memberId;
$returnAddresses = \Our\RedisHelper::cachedFunction(\Redis\Db8\AddressRedisModel::getInstance(),array(&$addressDao, 'selectByWhere'),array($newCondition,$columns,$order,$limit),3600,$newCondition); $returnAddresses = \Our\RedisHelper::cachedFunction(\Redis\Db8\AddressRedisModel::getInstance(),array(&$addressDao, 'selectByWhere'),array($newCondition,$columns,$order,$limit),3600,$newCondition);
//print_r($returnAddresses);
$defaultAddressRoute = \Our\ApiConst::defaultAddressRoute; $defaultAddressRoute = \Our\ApiConst::defaultAddressRoute;
if($returnAddresses){ if($returnAddresses){
$returnAddresses = \Our\Common::convertUnderline($returnAddresses); $returnAddresses = \Our\Common::convertUnderline($returnAddresses);
...@@ -260,11 +266,48 @@ class AddressServiceModel extends \Business\AbstractModel { ...@@ -260,11 +266,48 @@ class AddressServiceModel extends \Business\AbstractModel {
}else{ }else{
return array('returnAddressId'=>$choosedAddressId,'choosedAddressFlag'=>$choosedAddressFlag); return array('returnAddressId'=>$choosedAddressId,'choosedAddressFlag'=>$choosedAddressFlag);
} }
}else{
if(isset($where['default'])&&$where['default']){
echo 'test1';
$choosedAddressFlag = \Our\ApiConst::zero;
}
} }
return array('returnAddressId'=>$choosedAddressId,'choosedAddressFlag'=>$choosedAddressFlag,'addresses'=>$returnAddresses); return array('returnAddressId'=>$choosedAddressId,'choosedAddressFlag'=>$choosedAddressFlag,'addresses'=>$returnAddresses);
} }
public function getMyCurrentAddressByMemberId($memberId){
$addressDao = \DAO\AddressModel::getInstance();
$columns = $this->getChoosedAddressColumns();
$order = array('is_default'=> 'desc','address_id' => 'desc');
$limit = \Our\ApiConst::defaultAddressCount;
$newCondition['member_id'] = $memberId;
$returnAddresses = \Our\RedisHelper::cachedFunction(\Redis\Db8\AddressRedisModel::getInstance(),array(&$addressDao, 'selectByWhere'),array($newCondition,$columns,$order,$limit),3600,$newCondition);
//print_r($returnAddresses);
$defaultAddressRoute = \Our\ApiConst::defaultAddressRoute;
if($returnAddresses){
$returnAddresses = \Our\Common::convertUnderline($returnAddresses);
if($defaultAddressRoute){
foreach($returnAddresses as &$tempAdd){
$tempAdd['cityCode'] = $tempAdd['citycode'];
unset($tempAdd['citycode']);
}
}
$returnAddressList = array();
foreach($returnAddresses as $tempAddr){
$temp = array();
$temp['addressId'] = $tempAddr['addressId'];
$temp['address'] = $tempAddr['address'];
$temp['name'] = $tempAddr['name'];
$temp['tagType'] = $tempAddr['tagType'];
$returnAddressList[] = $temp;
}
return $returnAddressList;
}
return false;
}
/** /**
* 获取单个收货地址 * 获取单个收货地址
* @param $where * @param $where
......
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