diff --git a/addons/shopro/controller/zy/Club.php b/addons/shopro/controller/zy/Club.php index 80044cb..3fe2f0c 100644 --- a/addons/shopro/controller/zy/Club.php +++ b/addons/shopro/controller/zy/Club.php @@ -10,6 +10,7 @@ use app\admin\model\zy\game\Game; use think\exception\PDOException; use app\admin\model\zy\link\Apply; use app\admin\model\zy\link\Message; +use app\admin\model\zy\link\Visitor; use app\admin\model\shopro\user\User; use app\admin\model\zy\game\Activity; use think\exception\ValidateException; @@ -86,6 +87,20 @@ class Club extends Base $model['gender0'] = $menber[0] ?? 0; $model['gender1'] = $menber[1] ?? 0; $this->model->where('id', $model['id'])->setInc('attention'); + $user = auth_user(); + $visitor = Visitor::where('type', 0)->where('obj_id', $model['id'])->where('user_id', $user['id'])->find(); + if (empty($visitor)) { + $visitor = new Visitor; + } + $visitor->allowField(true)->save([ + 'type' => 0, + 'obj_id' => $model['id'], + 'user_id' => $user['id'], + 'nickname' => $user['nickname'], + 'avatar' => $user['avatar'], + 'gender' => $user['gender'], + 'times' => empty($visitor->times) ? 1 : $visitor->times + 1 + ]); $this->success('Success', $model); } diff --git a/addons/shopro/controller/zy/Gym.php b/addons/shopro/controller/zy/Gym.php index 0860185..fb007c2 100644 --- a/addons/shopro/controller/zy/Gym.php +++ b/addons/shopro/controller/zy/Gym.php @@ -2,6 +2,8 @@ namespace addons\shopro\controller\zy; +use app\admin\model\zy\link\Visitor; + class Gym extends Base @@ -24,4 +26,28 @@ class Gym extends Base $res = $query->paginate($params['pageSize'] ?? 10); $this->success('Success', ['list' => $res->items(), 'count' => $res->total()]); } + + public function view() + { + $model = $this->model->get($this->request->param('id')); + if (empty($model)) { + $this->error(__('No rows were found')); + } + $user = auth_user(); + $visitor = Visitor::where('type', 1)->where('obj_id', $model['id'])->where('user_id', $user['id'])->find(); + if (empty($visitor)) { + $visitor = new Visitor; + } + $visitor->allowField(true)->save([ + 'type' => 1, + 'obj_id' => $model['id'], + 'user_id' => $user['id'], + 'nickname' => $user['nickname'], + 'avatar' => $user['avatar'], + 'gender' => $user['gender'], + 'times' => empty($visitor->times) ? 1 : $visitor->times + 1 + ]); + + $this->success('Success', $model); + } } diff --git a/addons/shopro/controller/zy/Sys.php b/addons/shopro/controller/zy/Sys.php index 1cfac86..aa66f42 100644 --- a/addons/shopro/controller/zy/Sys.php +++ b/addons/shopro/controller/zy/Sys.php @@ -2,6 +2,7 @@ namespace addons\shopro\controller\zy; +use app\admin\model\zy\link\Visitor; use think\Db; use think\Exception; use app\admin\model\zy\Tags; @@ -110,4 +111,11 @@ class Sys extends Base } $this->success('Success'); } + + public function visitor() + { + $params = $this->request->param(); + $res = Visitor::where('type', $params['type'])->where('obj_id', $params['obj_id'])->paginate($params['pageSize'] ?? 10); + $this->success('Success', ['list' => $res->items(), 'count' => $res->total()]); + } } diff --git a/application/admin/controller/zy/link/Visitor.php b/application/admin/controller/zy/link/Visitor.php new file mode 100644 index 0000000..3fd6d1f --- /dev/null +++ b/application/admin/controller/zy/link/Visitor.php @@ -0,0 +1,71 @@ +model = new \app\admin\model\zy\link\Visitor; + + } + + + + /** + * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法 + * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑 + * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改 + */ + + + /** + * 查看 + */ + public function index() + { + //当前是否为关联查询 + $this->relationSearch = true; + //设置过滤方法 + $this->request->filter(['strip_tags', 'trim']); + if ($this->request->isAjax()) { + //如果发送的来源是Selectpage,则转发到Selectpage + if ($this->request->request('keyField')) { + return $this->selectpage(); + } + list($where, $sort, $order, $offset, $limit) = $this->buildparams(); + + $list = $this->model + ->with(['user']) + ->where($where) + ->order($sort, $order) + ->paginate($limit); + + foreach ($list as $row) { + + $row->getRelation('user')->visible(['nickname']); + } + + $result = array("total" => $list->total(), "rows" => $list->items()); + + return json($result); + } + return $this->view->fetch(); + } + +} diff --git a/application/admin/lang/zh-cn/zy/link/visitor.php b/application/admin/lang/zh-cn/zy/link/visitor.php new file mode 100644 index 0000000..c42a9b1 --- /dev/null +++ b/application/admin/lang/zh-cn/zy/link/visitor.php @@ -0,0 +1,21 @@ + '访问类型', + 'Obj_id' => '访问对象id', + 'User_id' => '用户id', + 'Nickname' => '昵称', + 'Avatar' => '头像', + 'Gender' => '性别', + 'Times' => '次数', + 'Create_time' => '创建时间', + 'Update_time' => '修改时间', + 'User.nickname' => '昵称', + + 'Type0' => '俱乐部', + 'Type1' => '球馆', + 'Type2' => '用户', + + 'Gender0' => '女', + 'Gender1' => '男', +]; diff --git a/application/admin/model/zy/link/Visitor.php b/application/admin/model/zy/link/Visitor.php new file mode 100644 index 0000000..4b32144 --- /dev/null +++ b/application/admin/model/zy/link/Visitor.php @@ -0,0 +1,45 @@ +belongsTo('app\admin\model\User', 'user_id', 'id', [], 'LEFT')->setEagerlyType(0); + } +} diff --git a/application/admin/validate/zy/link/Visitor.php b/application/admin/validate/zy/link/Visitor.php new file mode 100644 index 0000000..d52b1e6 --- /dev/null +++ b/application/admin/validate/zy/link/Visitor.php @@ -0,0 +1,27 @@ + [], + 'edit' => [], + ]; + +} diff --git a/application/admin/view/zy/link/visitor/add.html b/application/admin/view/zy/link/visitor/add.html new file mode 100644 index 0000000..ef157a9 --- /dev/null +++ b/application/admin/view/zy/link/visitor/add.html @@ -0,0 +1,65 @@ +
diff --git a/application/admin/view/zy/link/visitor/edit.html b/application/admin/view/zy/link/visitor/edit.html new file mode 100644 index 0000000..cf5fbdc --- /dev/null +++ b/application/admin/view/zy/link/visitor/edit.html @@ -0,0 +1,65 @@ + diff --git a/application/admin/view/zy/link/visitor/index.html b/application/admin/view/zy/link/visitor/index.html new file mode 100644 index 0000000..6f5950d --- /dev/null +++ b/application/admin/view/zy/link/visitor/index.html @@ -0,0 +1,29 @@ +