namespaceHome\Controller;
useThink\Controller;
useOrg\Net\Http;
useThink\Cache\Driver\Redis;
classIndexControllerextendsController
{
private
$redis_obj
=null;
public
function__construct()
{
$this
->redis_obj=newRedis();
}
public
functiongoods_is_exist(
$user_id
,
$goods_id
)
{
$r1
=
$this
->redis_obj->hExists(
$user_id
,
$goods_id
);
return
$r1
;
}<br>
public
functionadd_goods()
{
$user_id
=
intval
(
$_POST
[
'user_id'
]) ?
intval
(
$_POST
[
'user_id'
]) :0;
$goods_id
=
intval
(
$_POST
[
'goods_id'
]) ?
intval
(
$_POST
[
'goods_id'
]) :0;
$exist
=
$this
->goods_is_exist(
$user_id
,
$goods_id
);
if
(!
empty
(
$user_id
) &&
$goods_id
) {
if
(!
$exist
) {
$add_return
=
$this
->redis_obj->hSet(
$user_id
,
$goods_id
,1);
if
(
$add_return
) {
$this
->ajaxReturn(
array
(
'code'
=>0,
'msg'
=>
'success'
));
}
else
{
$this
->ajaxReturn(
array
(
'code'
=>1,
'msg'
=>
'error'
));
}
}
elseif
(
$exist
) {
$add_exist_result
=
$this
->redis_obj->hIncrBy(
$user_id
,
$goods_id
,1);
if
(
$add_exist_result
) {
$this
->ajaxReturn(
array
(
'code'
=>0,
'msg'
=>
'success'
,
'1'
=>
$add_exist_result
));
}
else
{
$this
->ajaxReturn(
array
(
'code'
=>1,
'msg'
=>
'error'
));
}
}
}
}
public
functionreduce_goods()
{
$user_id
=
intval
(
$_POST
[
'user_id'
]) ?
intval
(
$_POST
[
'user_id'
]) :0;
$goods_id
=
intval
(
$_POST
[
'goods_id'
]) ?
intval
(
$_POST
[
'goods_id'
]) :0;
if
(!
empty
(
$user_id
) &&
$goods_id
) {
$exist
=
$this
->goods_is_exist(
$user_id
,
$goods_id
);
if
(!
$exist
) {
$this
->ajaxReturn(
array
(
'code'
=>1,
'msg'
=>
'goods is not exist '
));
}
elseif
(
$exist
) {
$val
=
$this
->redis_obj->hGet(
$user_id
,
$goods_id
);
if
(
$val
==1) {
$del_result
=
$this
->redis_obj->hDel(
$user_id
,
$goods_id
);
if
(
$del_result
==1) {
$this
->ajaxReturn(
array
(
'code'
=>0,
'msg'
=>
'success'
,
'num'
=>0));
}
}
elseif
(
$val
>1) {
$new_value
=
$this
->redis_obj->hIncrBy(
$user_id
,
$goods_id
,-1);
if
(
$new_value
>0) {
$this
->ajaxReturn(
array
(
'code'
=>0,
'msg'
=>
'success'
,
'num'
=>
$new_value
));
}
else
{
$this
->ajaxReturn(
array
(
'code'
=>1,
'msg'
=>
'error'
));
}
}
}
}
else
{
$this
->ajaxReturn(
array
(
'code'
=>1,
'msg'
=>
'param is empty'
));
}
}
public
functionrm_goods()
{
$user_id
=
intval
(
$_POST
[
'user_id'
]) ?
intval
(
$_POST
[
'user_id'
]) :0;
$goods_id
=
intval
(
$_POST
[
'goods_id'
]) ?
intval
(
$_POST
[
'goods_id'
]) :0;
if
(!
empty
(
$user_id
) && !
empty
(
$goods_id
)) {
$arr
=
explode
(
','
,
$goods_id
);
array_unshift
(
$arr
,
$user_id
);
$rm_result
= call_user_func_array(
array
(
$this
->redis_obj,
"hDel"
),
$arr
);
if
(
$rm_result
>=0) {
$this
->ajaxReturn(
array
(
'code'
=>0,
'msg'
=>
'remove success'
));
}
}
else
{
$this
->ajaxReturn(
array
(
'code'
=>1,
'msg'
=>
'param is empty'
));
}
}
public
functioncart_list()
{
$user_id
=
intval
(
$_POST
[
'user_id'
]) ?
intval
(
$_POST
[
'user_id'
]) :0;
if
(!
empty
(
$user_id
)) {
$goods_list
=
$this
->redis_obj->hGetAll(
$user_id
);
$this
->ajaxReturn(
array
(
'code'
=>0,
'list'
=>
$goods_list
));
}
else
{
$this
->ajaxReturn(
array
(
'code'
=>1,
'msg'
=>
'param is empty'
));
}
}
public
function
edit_goods_num()
{
}
}