From f842cb422e1a602211f416affe140b4cfee0d962 Mon Sep 17 00:00:00 2001 From: gongfuxiang <2499232802@qq.com> Date: Thu, 14 Feb 2019 23:06:04 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=94=A8=E6=88=B7=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E8=B5=A0=E9=80=81=E7=A7=AF=E5=88=86=E5=BA=94=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/index/controller/Buy.php | 2 +- application/index/controller/Cart.php | 2 +- application/index/controller/Common.php | 6 +- application/index/controller/Goods.php | 2 +- application/index/controller/Message.php | 2 +- application/index/controller/Order.php | 2 +- application/index/controller/Personal.php | 2 +- application/index/controller/Safety.php | 2 +- application/index/controller/User.php | 6 +- application/index/controller/Useraddress.php | 2 +- application/index/controller/Userfavor.php | 2 +- .../index/controller/Usergoodsbrowse.php | 2 +- application/index/controller/Userintegral.php | 2 +- .../plugins/commontopmaxpicture/Hook.php | 4 +- application/plugins/commontopnotice/Hook.php | 4 +- .../plugins/usercentertopnotice/Hook.php | 4 +- .../plugins/userlogingiveintegral/Admin.php | 90 ++++++++++++ .../plugins/userlogingiveintegral/Hook.php | 137 ++++++++++++++++++ .../plugins/userlogingiveintegral/config.json | 24 +++ .../view/commontopnotice/admin/saveinfo.html | 2 +- .../usercentertopnotice/admin/saveinfo.html | 2 +- .../userlogingiveintegral/admin/index.html | 55 +++++++ .../userlogingiveintegral/admin/saveinfo.html | 49 +++++++ application/service/PluginsAdminService.php | 76 +++++----- application/service/UserService.php | 17 ++- application/tags.php | 4 + config/shopxo.php | 2 +- config/shopxo.sql | 29 ++-- .../css/userlogingiveintegral/admin.css | 23 +++ .../2019/02/14/1550151082834629.png | Bin 0 -> 9084 bytes 30 files changed, 481 insertions(+), 75 deletions(-) create mode 100644 application/plugins/userlogingiveintegral/Admin.php create mode 100644 application/plugins/userlogingiveintegral/Hook.php create mode 100644 application/plugins/userlogingiveintegral/config.json create mode 100644 application/plugins/view/userlogingiveintegral/admin/index.html create mode 100644 application/plugins/view/userlogingiveintegral/admin/saveinfo.html create mode 100644 public/static/plugins/css/userlogingiveintegral/admin.css create mode 100644 public/static/upload/images/plugins_userlogingiveintegral/2019/02/14/1550151082834629.png diff --git a/application/index/controller/Buy.php b/application/index/controller/Buy.php index 315a59387..53d0fe9d1 100755 --- a/application/index/controller/Buy.php +++ b/application/index/controller/Buy.php @@ -37,7 +37,7 @@ class Buy extends Common parent::__construct(); // 是否登录 - $this->Is_Login(); + $this->IsLogin(); } /** diff --git a/application/index/controller/Cart.php b/application/index/controller/Cart.php index 3e7f15f8f..b41f45aad 100755 --- a/application/index/controller/Cart.php +++ b/application/index/controller/Cart.php @@ -34,7 +34,7 @@ class Cart extends Common parent::__construct(); // 是否登录 - $this->Is_Login(); + $this->IsLogin(); } /** diff --git a/application/index/controller/Common.php b/application/index/controller/Common.php index 609995ce0..67f226c7f 100755 --- a/application/index/controller/Common.php +++ b/application/index/controller/Common.php @@ -81,7 +81,7 @@ class Common extends Controller private function CommonPluginsInit() { // 公共顶部钩子 - $this->assign('plugins_common_top_data', Hook::listen('plugins_common_top')); + $this->assign('plugins_common_top_data', Hook::listen('plugins_common_top', ['hook_name'=>'plugins_common_top', 'is_control'=>false])); } /** @@ -105,13 +105,13 @@ class Common extends Controller } /** - * [Is_Login 登录校验] + * [IsLogin 登录校验] * @author Devil * @blog http://gong.gg/ * @version 0.0.1 * @datetime 2017-03-09T11:43:48+0800 */ - protected function Is_Login() + protected function IsLogin() { if(session('user') == null) { diff --git a/application/index/controller/Goods.php b/application/index/controller/Goods.php index 0b76ebea2..ae0e422ba 100755 --- a/application/index/controller/Goods.php +++ b/application/index/controller/Goods.php @@ -120,7 +120,7 @@ class Goods extends Common public function Favor() { // 是否登录 - $this->Is_Login(); + $this->IsLogin(); // 开始处理 $params = input('post.'); diff --git a/application/index/controller/Message.php b/application/index/controller/Message.php index d9936998d..563dc37e4 100755 --- a/application/index/controller/Message.php +++ b/application/index/controller/Message.php @@ -34,7 +34,7 @@ class Message extends Common parent::__construct(); // 是否登录 - $this->Is_Login(); + $this->IsLogin(); } /** diff --git a/application/index/controller/Order.php b/application/index/controller/Order.php index 119a4ca5c..87cff4073 100755 --- a/application/index/controller/Order.php +++ b/application/index/controller/Order.php @@ -35,7 +35,7 @@ class Order extends Common parent::__construct(); // 是否登录 - $this->Is_Login(); + $this->IsLogin(); } /** diff --git a/application/index/controller/Personal.php b/application/index/controller/Personal.php index 6ca941880..1a08db9ce 100755 --- a/application/index/controller/Personal.php +++ b/application/index/controller/Personal.php @@ -34,7 +34,7 @@ class Personal extends Common parent::__construct(); // 是否登录 - $this->Is_Login(); + $this->IsLogin(); } /** diff --git a/application/index/controller/Safety.php b/application/index/controller/Safety.php index b92328ea2..c42c3ea7b 100755 --- a/application/index/controller/Safety.php +++ b/application/index/controller/Safety.php @@ -34,7 +34,7 @@ class Safety extends Common parent::__construct(); // 是否登录 - $this->Is_Login(); + $this->IsLogin(); } /** diff --git a/application/index/controller/User.php b/application/index/controller/User.php index 49329d22d..eed755732 100755 --- a/application/index/controller/User.php +++ b/application/index/controller/User.php @@ -74,7 +74,7 @@ class User extends Common public function Index() { // 登录校验 - $this->Is_Login(); + $this->IsLogin(); // 订单总数 $where = ['user_id'=>$this->user['id'], 'is_delete_time'=>0, 'user_is_delete_time'=>0]; @@ -137,7 +137,7 @@ class User extends Common $this->assign('goods_browse_list', $data['data']); // 用户中心顶部钩子 - $this->assign('plugins_user_center_top_data', Hook::listen('plugins_user_center_top')); + $this->assign('plugins_user_center_top_data', Hook::listen('plugins_user_center_top', ['hook_name'=>'plugins_user_center_top', 'is_control'=>false])); return $this->fetch(); } @@ -434,7 +434,7 @@ class User extends Common } // 登录校验 - $this->Is_Login(); + $this->IsLogin(); $params = $_POST; $params['user'] = $this->user; diff --git a/application/index/controller/Useraddress.php b/application/index/controller/Useraddress.php index 19995c2d6..acbe24784 100755 --- a/application/index/controller/Useraddress.php +++ b/application/index/controller/Useraddress.php @@ -34,7 +34,7 @@ class UserAddress extends Common parent::__construct(); // 是否登录 - $this->Is_Login(); + $this->IsLogin(); } /** diff --git a/application/index/controller/Userfavor.php b/application/index/controller/Userfavor.php index 707e2e701..8835e8b8b 100755 --- a/application/index/controller/Userfavor.php +++ b/application/index/controller/Userfavor.php @@ -34,7 +34,7 @@ class UserFavor extends Common parent::__construct(); // 是否登录 - $this->Is_Login(); + $this->IsLogin(); } /** diff --git a/application/index/controller/Usergoodsbrowse.php b/application/index/controller/Usergoodsbrowse.php index 02556d913..5e0922422 100755 --- a/application/index/controller/Usergoodsbrowse.php +++ b/application/index/controller/Usergoodsbrowse.php @@ -34,7 +34,7 @@ class UserGoodsBrowse extends Common parent::__construct(); // 是否登录 - $this->Is_Login(); + $this->IsLogin(); } /** diff --git a/application/index/controller/Userintegral.php b/application/index/controller/Userintegral.php index 1e4808e4f..071a2bf2a 100755 --- a/application/index/controller/Userintegral.php +++ b/application/index/controller/Userintegral.php @@ -34,7 +34,7 @@ class UserIntegral extends Common parent::_initialize(); // 是否登录 - $this->Is_Login(); + $this->IsLogin(); } /** diff --git a/application/plugins/commontopmaxpicture/Hook.php b/application/plugins/commontopmaxpicture/Hook.php index e711e86c3..3b787fdf5 100755 --- a/application/plugins/commontopmaxpicture/Hook.php +++ b/application/plugins/commontopmaxpicture/Hook.php @@ -32,9 +32,9 @@ class Hook public function run($params = []) { // 是否控制器钩子 - if(isset($params['is_control']) && $params['is_control'] === true) + if(isset($params['is_control']) && $params['is_control'] === true && !empty($params['hook_name'])) { - return []; + return DataReturn('无需处理', 0); // 默认返回视图 } else { diff --git a/application/plugins/commontopnotice/Hook.php b/application/plugins/commontopnotice/Hook.php index af2a64f51..fb933f5c8 100755 --- a/application/plugins/commontopnotice/Hook.php +++ b/application/plugins/commontopnotice/Hook.php @@ -32,9 +32,9 @@ class Hook public function run($params = []) { // 是否控制器钩子 - if(isset($params['is_control']) && $params['is_control'] === true) + if(isset($params['is_control']) && $params['is_control'] === true && !empty($params['hook_name'])) { - return []; + return DataReturn('无需处理', 0); // 默认返回视图 } else { diff --git a/application/plugins/usercentertopnotice/Hook.php b/application/plugins/usercentertopnotice/Hook.php index e188a2e5b..c87a8288c 100755 --- a/application/plugins/usercentertopnotice/Hook.php +++ b/application/plugins/usercentertopnotice/Hook.php @@ -32,9 +32,9 @@ class Hook public function run($params = []) { // 是否控制器钩子 - if(isset($params['is_control']) && $params['is_control'] === true) + if(isset($params['is_control']) && $params['is_control'] === true && !empty($params['hook_name'])) { - return []; + return DataReturn('无需处理', 0); // 默认返回视图 } else { diff --git a/application/plugins/userlogingiveintegral/Admin.php b/application/plugins/userlogingiveintegral/Admin.php new file mode 100644 index 000000000..47ddf4b67 --- /dev/null +++ b/application/plugins/userlogingiveintegral/Admin.php @@ -0,0 +1,90 @@ + $ret['data'], + ]; + return DataReturn('处理成功', 0, $data); + } else { + return $ret; + } + } + + /** + * 编辑页面 + * @author Devil + * @blog http://gong.gg/ + * @version 1.0.0 + * @datetime 2019-02-07T08:21:54+0800 + * @param [array] $params [输入参数] + */ + public function saveinfo($params = []) + { + $ret = PluginsService::PluginsData('userlogingiveintegral'); + if($ret['code'] == 0) + { + // 是否 + $is_whether_list = [ + 0 => array('id' => 0, 'name' => '否'), + 1 => array('id' => 1, 'name' => '是', 'checked' => true), + ]; + + // 数组组装 + $data = [ + 'is_whether_list' => $is_whether_list, + 'data' => $ret['data'], + ]; + return DataReturn('处理成功', 0, $data); + } else { + return $ret; + } + } + + /** + * 数据保存 + * @author Devil + * @blog http://gong.gg/ + * @version 1.0.0 + * @datetime 2019-02-07T08:21:54+0800 + * @param [array] $params [输入参数] + */ + public function save($params = []) + { + return PluginsService::PluginsDataSave(['plugins'=>'userlogingiveintegral', 'data'=>$params]); + } +} +?> \ No newline at end of file diff --git a/application/plugins/userlogingiveintegral/Hook.php b/application/plugins/userlogingiveintegral/Hook.php new file mode 100644 index 000000000..083f59bee --- /dev/null +++ b/application/plugins/userlogingiveintegral/Hook.php @@ -0,0 +1,137 @@ +LoginGiveIntegral($params); + break; + + default : + $ret = DataReturn('无需处理', 0); + } + return $ret; + } else { + return DataReturn('钩子传入参数有误', -600); + } + + // 默认返回视图 + } else { + return ''; + } + } + + /** + * 赠送积分 + * @author Devil + * @blog http://gong.gg/ + * @version 1.0.0 + * @datetime 2019-02-14T22:19:08+0800 + * @param [array] $params [参数] + */ + private function LoginGiveIntegral($params) + { + // 获取应用数据 + $ret = PluginsService::PluginsData('userlogingiveintegral'); + if($ret['code'] == 0) + { + // 限制时间是否已结束 + if(!empty($ret['data']['time_start'])) + { + // 是否已开始 + if(strtotime($ret['data']['time_start']) > time()) + { + return DataReturn('不在限制时间范围、无需处理', 0); + } + } + if(!empty($ret['data']['time_end'])) + { + // 是否已结束 + if(strtotime($ret['data']['time_end']) < time()) + { + return DataReturn('不在限制时间范围、无需处理', 0); + } + } + + // 是否日一次限制 + if(isset($ret['data']['is_day_once']) && $ret['data']['is_day_once'] == 1) + { + $where = [ + ['user_id', '=', $params['user']['id']], + ['add_time', '>=', strtotime(date('Y-m-d 00:00:00'))], + ['type', '=', 1], + ['msg', '=', '登录赠送积分'], + ]; + $log = Db::name('UserIntegralLog')->where($where)->find(); + if(!empty($log)) + { + return DataReturn('今日已赠送、无需处理', 0); + } + } + + // 获取用户积分 + $give_integral = empty($ret['data']['give_integral']) ? 0 : intval($ret['data']['give_integral']); + if(!empty($give_integral)) + { + // 用户积分添加 + $user_integral = Db::name('User')->where(['id'=>$params['user']['id']])->value('integral'); + if(!Db::name('User')->where(['id'=>$params['user']['id']])->setInc('integral', $give_integral)) + { + return DataReturn('登录赠送积分失败', -10); + } + + // 积分日志 + IntegralService::UserIntegralLogAdd($params['user']['id'], $user_integral, $user_integral+$give_integral, '登录赠送积分', 1); + + // 更新用户登录缓存数据 + UserService::UserLoginRecord($params['user']['id']); + + return DataReturn('登录赠送积分成功', 0); + } else { + return DataReturn('登录赠送积分应用配置有误', -600); + } + } else { + return $ret; + } + } +} +?> \ No newline at end of file diff --git a/application/plugins/userlogingiveintegral/config.json b/application/plugins/userlogingiveintegral/config.json new file mode 100644 index 000000000..557783541 --- /dev/null +++ b/application/plugins/userlogingiveintegral/config.json @@ -0,0 +1,24 @@ +{ + "base":{ + "plugins":"userlogingiveintegral", + "name":"登录赠送积分", + "logo":"\/static\/upload\/images\/plugins_userlogingiveintegral\/2019\/02\/14\/1550151082834629.png", + "author":"Devil", + "author_url":"https:\/\/shopxo.net\/", + "version":"1.0.0", + "desc":"用户登录后赠送积分", + "apply_terminal":[ + "pc", + "h5" + ], + "apply_version":[ + "1.3.0" + ], + "is_home":false + }, + "hook":{ + "plugins_user_login_end":[ + "app\\plugins\\userlogingiveintegral\\Hook" + ] + } +} \ No newline at end of file diff --git a/application/plugins/view/commontopnotice/admin/saveinfo.html b/application/plugins/view/commontopnotice/admin/saveinfo.html index fd4c0a84c..0e2d98b01 100755 --- a/application/plugins/view/commontopnotice/admin/saveinfo.html +++ b/application/plugins/view/commontopnotice/admin/saveinfo.html @@ -12,7 +12,7 @@