Toggle navigation
Toggle navigation
This project
Loading...
Sign in
fe
/
YOHOBUYPC
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
2
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Email Patches
Plain Diff
Browse Files
Authored by
whb
9 years ago
Commit
e361c6c3ecf290a35e28d8943ca9be86ce2ef916
1 parent
48f239f1
解决冲突问题
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
164 additions
and
123 deletions
library/Action/AbstractAction.php
library/Action/WebAction.php
library/Plugin/DataProcess/FloorProcess.php
library/Plugin/Helpers.php
library/Plugin/Partner/alipay/class/AlipayNotify.class.php
library/Action/AbstractAction.php
View file @
e361c6c
...
...
@@ -68,7 +68,7 @@ class AbstractAction extends Controller_Abstract
case
'develop'
:
// 开发
default
:
$this
->
_view
->
assign
(
'devEnv'
,
true
);
$this
->
_useSession
=
fals
e
;
$this
->
_useSession
=
tru
e
;
break
;
}
}
...
...
@@ -317,7 +317,7 @@ class AbstractAction extends Controller_Abstract
}
}
/**
/**
* 获取当前登录的用户ID
*
* @param bool $useSession (true:从服务端session中检查, false:从客户端cookie中检查)
...
...
@@ -329,10 +329,11 @@ class AbstractAction extends Controller_Abstract
if
(
!
$this
->
_useSession
)
{
$useSession
=
false
;
}
$useSession
=
false
;
//
$useSession = false;
if
(
!
$this
->
_uid
)
{
$cookie
=
$this
->
getCookie
(
'_UID'
);
// 兼容老的
if
(
!
empty
(
$cookie
))
{
$cookieList
=
explode
(
'::'
,
$cookie
);
if
(
isset
(
$cookieList
[
1
])
&&
is_numeric
(
$cookieList
[
1
]))
{
...
...
@@ -351,11 +352,18 @@ class AbstractAction extends Controller_Abstract
$this
->
_usession
=
$cookieList
[
3
];
$this
->
_vip
=
$cookieList
[
2
];
}
}
// 新的, 如果老站没有同步成功,再尝试从SESSION获取
elseif
(
$useSession
)
{
$uid
=
$this
->
getSession
(
'_LOGIN_UID'
);
if
(
!
empty
(
$uid
))
{
$this
->
_uid
=
$uid
;
}
}
}
return
$this
->
_uid
;
}
/**
* 获取客户端唯一标识
*
...
...
library/Action/WebAction.php
View file @
e361c6c
...
...
@@ -67,7 +67,7 @@ class WebAction extends Controller_Abstract
case
'develop'
:
// 开发
default
:
$this
->
_view
->
assign
(
'devEnv'
,
true
);
$this
->
_useSession
=
fals
e
;
$this
->
_useSession
=
tru
e
;
break
;
}
}
...
...
@@ -333,9 +333,11 @@ class WebAction extends Controller_Abstract
if
(
!
$this
->
_useSession
)
{
$useSession
=
false
;
}
//$useSession = false;
if
(
!
$this
->
_uid
)
{
$cookie
=
$this
->
getCookie
(
'_UID'
);
// 兼容老的
if
(
!
empty
(
$cookie
))
{
$cookieList
=
explode
(
'::'
,
$cookie
);
if
(
isset
(
$cookieList
[
1
])
&&
is_numeric
(
$cookieList
[
1
]))
{
...
...
@@ -354,6 +356,13 @@ class WebAction extends Controller_Abstract
$this
->
_usession
=
$cookieList
[
3
];
$this
->
_vip
=
$cookieList
[
2
];
}
}
// 新的, 如果老站没有同步成功,再尝试从SESSION获取
elseif
(
$useSession
)
{
$uid
=
$this
->
getSession
(
'_LOGIN_UID'
);
if
(
!
empty
(
$uid
))
{
$this
->
_uid
=
$uid
;
}
}
}
return
$this
->
_uid
;
...
...
library/Plugin/DataProcess/FloorProcess.php
View file @
e361c6c
...
...
@@ -208,7 +208,7 @@ class FloorProcess
foreach
(
$data
[
'list'
]
as
&
$one
)
{
if
(
isset
(
$one
[
'url'
]))
{
$one
[
'url'
]
=
Helpers
::
getFilterUrl
(
$one
[
'url'
]);
//
isset(self::$channel[$type]) && $one['url'] .= '?gender=' . self::$channel[$type];
isset
(
self
::
$channel
[
$type
])
&&
$one
[
'url'
]
.=
'?gender='
.
self
::
$channel
[
$type
];
}
$one
[
'img'
]
=
Helpers
::
getImageUrl
(
$one
[
'src'
],
158
,
174
);
unset
(
$one
[
'src'
]);
...
...
library/Plugin/Helpers.php
View file @
e361c6c
...
...
@@ -190,7 +190,7 @@ class Helpers
*/
public
static
function
transPrice
(
$price
)
{
return
(
!
empty
(
$price
)
&&
!
is_float
(
$price
))
?
$price
.
'.00'
:
number_format
(
$price
,
2
,
'.'
,
''
);
return
number_format
(
$price
,
2
,
'.'
,
''
);
}
/**
...
...
@@ -566,8 +566,8 @@ class Helpers
$arr
[
$key
][
'appearDate'
]
=
$vo
[
'expect_arrival_time'
];
}
// 商品链接
if
(
$haveLink
&&
isset
(
$vo
[
'product_id'
]))
{
$arr
[
$key
][
'link'
]
=
self
::
url
(
'/product/pro_'
.
$vo
[
'product_id'
]
.
'_'
.
$vo
[
'goods_id'
]
.
'/'
.
$vo
[
'cn_alphabet'
]
.
'.html'
);
if
(
$haveLink
&&
isset
(
$vo
[
'product_skn'
]))
{
$arr
[
$key
][
'link'
]
=
self
::
url
(
'/product/show_'
.
$vo
[
'product_skn'
]
.
'.html'
);
}
// 累计购买数
$count
+=
intval
(
$vo
[
'buy_number'
]);
...
...
@@ -576,52 +576,70 @@ class Helpers
return
$arr
;
}
/**
/**
* 格式化购物车商品
*
* @param array $cartGoods 购物车商品列表
* @param boolean $isValid 是否是可用商品(非失效商品),默认是
* @param bool $isAdvanceCart 是否是预售购物车(和上市期有关)
* @return array 处理之后的购物车商品数据
*/
public
static
function
formatCartGoods
(
$cartGoods
)
public
static
function
formatCartGoods
(
$cartGoods
,
$isAdvanceCart
,
$isValid
=
true
)
{
$arr
=
array
();
$oneGoods
=
array
();
foreach
(
$cartGoods
as
$key
=>
$value
)
{
$oneGoods
[
'id'
]
=
$value
[
'product_sku'
];
$oneGoods
[
'skn'
]
=
$value
[
'product_skn'
];
$oneGoods
[
'name'
]
=
$value
[
'product_name'
];
$oneGoods
[
'thumb'
]
=
!
empty
(
$value
[
'goods_images'
])
?
Images
::
getImageUrl
(
$value
[
'goods_images'
],
120
,
120
)
:
''
;
$oneGoods
[
'color'
]
=
$value
[
'color_name'
];
$oneGoods
[
'size'
]
=
$value
[
'size_name'
];
$oneGoods
[
'price'
]
=
self
::
transPrice
(
$value
[
'sales_price'
]);
$oneGoods
[
'count'
]
=
$value
[
'buy_number'
];
$oneGoods
[
'lowStocks'
]
=
(
$value
[
'buy_number'
]
<
$value
[
'storage_number'
]);
//gift=>是否赠品,advanceBuy=>是否加价购,soldOut=>失效商品;
if
(
!
isset
(
$value
[
'goods_type'
]))
{
$oneGoods
[
'isSoldOut'
]
=
true
;
}
elseif
(
$value
[
'goods_type'
]
==
'gift'
&&
!
isset
(
$value
[
'isAdvanceBuy'
]))
{
$oneGoods
[
'isGift'
]
=
true
;
}
elseif
(
$value
[
'goods_type'
]
==
'price_gift'
)
{
$oneGoods
[
'isAdvanceBuy'
]
=
true
;
}
// 上市期
if
(
!
empty
(
$value
[
'expect_arrival_time'
]))
{
$oneGoods
[
'appearDate'
]
=
$value
[
'expect_arrival_time'
];
}
// 商品链接
if
(
isset
(
$value
[
'cn_alphabet'
])
)
{
$oneGoods
[
'url'
]
=
self
::
url
(
'/product/pro_'
.
$value
[
'product_id'
]
.
'_'
.
$value
[
'goods_id'
]
.
'/'
.
$value
[
'cn_alphabet'
]
.
'.html'
);
}
$arr
[
$key
]
=
$oneGoods
;
}
$oneGoods
=
array
();
foreach
(
$cartGoods
as
$key
=>
$value
)
{
$oneGoods
=
array
();
$oneGoods
[
'id'
]
=
$value
[
'product_sku'
];
$oneGoods
[
'skn'
]
=
$value
[
'product_skn'
];
$oneGoods
[
'name'
]
=
$value
[
'product_name'
];
$oneGoods
[
'thumb'
]
=
!
empty
(
$value
[
'goods_images'
])
?
Images
::
getImageUrl
(
$value
[
'goods_images'
],
120
,
160
)
:
''
;
$oneGoods
[
'color'
]
=
$value
[
'color_name'
];
$oneGoods
[
'size'
]
=
$value
[
'size_name'
];
$oneGoods
[
'checked'
]
=
$value
[
'selected'
]
===
'Y'
;
$oneGoods
[
'price'
]
=
self
::
transPrice
(
$value
[
'last_vip_price'
]);
$oneGoods
[
'isVipPrice'
]
=
$value
[
'sales_price'
]
!==
$value
[
'last_vip_price'
];
$oneGoods
[
'count'
]
=
$value
[
'buy_number'
];
if
(
$isValid
)
{
// 库存不足
$oneGoods
[
'lowStocks'
]
=
(
$value
[
'buy_number'
]
>
$value
[
'storage_number'
]);
}
else
{
// 失效商品
$oneGoods
[
'inValid'
]
=
true
;
}
//gift=>是否赠品,advanceBuy=>是否加价购,soldOut=>失效商品;
if
(
!
isset
(
$value
[
'goods_type'
]))
{
$oneGoods
[
'inValid'
]
=
true
;
}
elseif
(
$value
[
'goods_type'
]
==
'gift'
&&
!
isset
(
$value
[
'isAdvanceBuy'
]))
{
$oneGoods
[
'isGift'
]
=
true
;
$oneGoods
[
'salesPrice'
]
=
self
::
transPrice
(
$value
[
'sales_price'
]);
$oneGoods
[
'price'
]
=
self
::
transPrice
(
$value
[
'last_price'
]);
}
elseif
(
$value
[
'goods_type'
]
==
'price_gift'
)
{
$oneGoods
[
'showCheckbox'
]
=
true
;
$oneGoods
[
'isAdvanceBuy'
]
=
true
;
$oneGoods
[
'salesPrice'
]
=
self
::
transPrice
(
$value
[
'sales_price'
]);
$oneGoods
[
'price'
]
=
self
::
transPrice
(
$value
[
'last_price'
]);
}
else
{
$oneGoods
[
'showCheckbox'
]
=
true
;
}
// 上市期
if
(
$isAdvanceCart
&&
!
empty
(
$value
[
'expect_arrival_time'
]))
{
$oneGoods
[
'appearDate'
]
=
$value
[
'expect_arrival_time'
];
}
// 商品链接
$oneGoods
[
'link'
]
=
self
::
url
(
'/product/show_'
.
$value
[
'product_skn'
]
.
'.html'
);
$arr
[
$key
]
=
$oneGoods
;
}
return
$arr
;
}
/**
* 格式化加价购商品
* 格式化加价购
和赠品
商品
*
* @param array $advanceGoods 加价购商品列表
* @param int $count 计商品件数
...
...
@@ -631,33 +649,38 @@ class Helpers
{
$arr
=
array
();
$gift
=
array
();
$oneGoods
=
array
();
foreach
(
$advanceGoods
as
$value
)
{
$gift
=
array
();
$gift
[
'promotionTitle'
]
=
$value
[
'promotion_title'
];
foreach
(
$value
[
'goods_list'
]
as
$single
)
{
$oneGoods
[
'id'
]
=
$single
[
'product_skn'
];
$oneGoods
[
'name'
]
=
$single
[
'product_name'
];
$oneGoods
[
'thumb'
]
=
!
empty
(
$single
[
'goods_images'
])
?
Images
::
getImageUrl
(
$single
[
'goods_images'
],
120
,
120
)
:
''
;
$oneGoods
[
'appearDate'
]
=
'12月'
;
// 目前app接口没有返回该数据
$oneGoods
[
'price'
]
=
$single
[
'last_price'
];
$oneGoods
[
'marketPrice'
]
=
$single
[
'market_price'
];
$oneGoods
[
'count'
]
=
$single
[
'storage_number'
];
$gift
[
'goods'
][]
=
$oneGoods
;
}
$gift
=
array
();
$oneGoods
=
array
();
$number
=
0
;
foreach
(
$advanceGoods
as
$value
)
{
$gift
=
array
();
$gift
[
'promotionId'
]
=
$value
[
'promotion_id'
];
$gift
[
'promotionTitle'
]
=
$value
[
'promotion_title'
];
$number
=
0
;
foreach
(
$value
[
'goods_list'
]
as
$single
)
{
$oneGoods
=
array
();
$oneGoods
[
'id'
]
=
$single
[
'product_skn'
];
$oneGoods
[
'name'
]
=
$single
[
'product_name'
];
$oneGoods
[
'thumb'
]
=
!
empty
(
$single
[
'goods_images'
])
?
Images
::
getImageUrl
(
$single
[
'goods_images'
],
120
,
160
)
:
''
;
$oneGoods
[
'price'
]
=
self
::
transPrice
(
$single
[
'last_price'
]);
$oneGoods
[
'marketPrice'
]
=
self
::
transPrice
(
$single
[
'market_price'
]);
$oneGoods
[
'count'
]
=
$single
[
'storage_number'
];
$gift
[
'goods'
][]
=
$oneGoods
;
$number
++
;
}
$arr
[]
=
$gift
;
$arr
[]
=
$gift
;
// 计算加价购商品数目
$count
+=
count
(
$value
[
'goods_list'
]);
}
// 计算加价购商品数目
//$count += count($value['goods_list']);
$count
+=
$number
;
}
return
$arr
;
}
/**
* 订单状态,按订单支付类型和订单状态
* @var array
...
...
library/Plugin/Partner/alipay/class/AlipayNotify.class.php
View file @
e361c6c
...
...
@@ -38,35 +38,36 @@ class AlipayNotify {
* @return 验证结果
*/
function
verifyNotify
(){
if
(
empty
(
$_POST
))
{
//判断POST来的数组是否为空
return
false
;
}
else
{
//生成签名结果
$isSign
=
$this
->
getSignVeryfy
(
$_POST
,
$_POST
[
"sign"
]);
//获取支付宝远程服务器ATN结果(验证是否是支付宝发来的消息)
$responseTxt
=
'true'
;
if
(
!
empty
(
$_POST
[
"notify_id"
]))
{
$responseTxt
=
$this
->
getResponse
(
$_POST
[
"notify_id"
]);}
//写日志记录
//if ($isSign) {
// $isSignStr = 'true';
//}
//else {
// $isSignStr = 'false';
//}
//$log_text = "responseTxt=".$responseTxt."\n notify_url_log:isSign=".$isSignStr.",";
//$log_text = $log_text.createLinkString($_POST);
//logResult($log_text);
//验证
//$responsetTxt的结果不是true,与服务器设置问题、合作身份者ID、notify_id一分钟失效有关
//isSign的结果不是true,与安全校验码、请求时的参数格式(如:带自定义参数等)、编码格式有关
if
(
preg_match
(
"/true$/i"
,
$responseTxt
)
&&
$isSign
)
{
return
true
;
}
else
{
return
false
;
}
}
if
(
empty
(
$_POST
))
{
//判断POST来的数组是否为空
return
false
;
}
else
{
//生成签名结果
$isSign
=
$this
->
getSignVeryfy
(
$_POST
,
$_POST
[
"sign"
]);
//获取支付宝远程服务器ATN结果(验证是否是支付宝发来的消息)
$responseTxt
=
'true'
;
if
(
!
empty
(
$_POST
[
"notify_id"
]))
{
$responseTxt
=
$this
->
getResponse
(
$_POST
[
"notify_id"
]);
}
//写日志记录
//if ($isSign) {
// $isSignStr = 'true';
//}
//else {
// $isSignStr = 'false';
//}
//$log_text = "responseTxt=".$responseTxt."\n notify_url_log:isSign=".$isSignStr.",";
//$log_text = $log_text.createLinkString($_POST);
//logResult($log_text);
//验证
//$responsetTxt的结果不是true,与服务器设置问题、合作身份者ID、notify_id一分钟失效有关
//isSign的结果不是true,与安全校验码、请求时的参数格式(如:带自定义参数等)、编码格式有关
if
(
preg_match
(
"/true$/i"
,
$responseTxt
)
&&
$isSign
)
{
return
true
;
}
else
{
return
false
;
}
}
}
/**
...
...
@@ -74,36 +75,36 @@ class AlipayNotify {
* @return 验证结果
*/
function
verifyReturn
(){
if
(
empty
(
$_GET
))
{
//判断POST来的数组是否为空
return
false
;
}
else
{
//生成签名结果
$isSign
=
$this
->
getSignVeryfy
(
$_GET
,
$_GET
[
"sign"
]);
//获取支付宝远程服务器ATN结果(验证是否是支付宝发来的消息)
$responseTxt
=
'true'
;
if
(
!
empty
(
$_GET
[
"notify_id"
]))
{
$responseTxt
=
$this
->
getResponse
(
$_GET
[
"notify_id"
]);}
//写日志记录
//if ($isSign) {
// $isSignStr = 'true';
//}
//else {
// $isSignStr = 'false';
//}
//$log_text = "responseTxt=".$responseTxt."\n return_url_log:isSign=".$isSignStr.",";
//$log_text = $log_text.createLinkString($_GET);
//logResult($log_text);
//验证
//$responsetTxt的结果不是true,与服务器设置问题、合作身份者ID、notify_id一分钟失效有关
//isSign的结果不是true,与安全校验码、请求时的参数格式(如:带自定义参数等)、编码格式有关
if
(
preg_match
(
"/true$/i"
,
$responseTxt
)
&&
$isSign
)
{
return
true
;
}
else
{
return
false
;
}
}
if
(
empty
(
$_GET
))
{
//判断POST来的数组是否为空
return
false
;
}
else
{
//生成签名结果
$isSign
=
$this
->
getSignVeryfy
(
$_GET
,
$_GET
[
"sign"
]);
//获取支付宝远程服务器ATN结果(验证是否是支付宝发来的消息)
$responseTxt
=
'true'
;
if
(
!
empty
(
$_GET
[
"notify_id"
]))
{
$responseTxt
=
$this
->
getResponse
(
$_GET
[
"notify_id"
]);
}
//写日志记录
//if ($isSign) {
// $isSignStr = 'true';
//}
//else {
// $isSignStr = 'false';
//}
//$log_text = "responseTxt=".$responseTxt."\n return_url_log:isSign=".$isSignStr.",";
//$log_text = $log_text.createLinkString($_GET);
//logResult($log_text);
//验证
//$responsetTxt的结果不是true,与服务器设置问题、合作身份者ID、notify_id一分钟失效有关
//isSign的结果不是true,与安全校验码、请求时的参数格式(如:带自定义参数等)、编码格式有关
if
(
preg_match
(
"/true$/i"
,
$responseTxt
)
&&
$isSign
)
{
return
true
;
}
else
{
return
false
;
}
}
}
/**
...
...
Please
register
or
login
to post a comment