Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
M
my-yaf-project
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
chenchuanwen
my-yaf-project
Commits
4a51b2ae
Commit
4a51b2ae
authored
Sep 26, 2018
by
liuyuzhen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
地址相关修改
parent
39682aab
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
49 additions
and
39 deletions
+49
-39
AddressService.php
application/models/Business/User/AddressService.php
+49
-39
No files found.
application/models/Business/User/AddressService.php
View file @
4a51b2ae
...
@@ -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
);
}
}
};
};
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment