// +---------------------------------------------------------------------- namespace App\Http\Controllers\Admin; use App\Services\Common\MemberService; use App\Services\Common\MenuService; use App\Services\Common\UserService; use App\Services\RedisService; use App\utils\TimeUtils; /** * 系统主页控制器 * @author laravel开发员 * @since 2020/11/10 * Class IndexController * @package App\Http\Controllers */ class IndexController extends Backend { /** * 构造函数 * @author laravel开发员 * @since 2020/11/10 * IndexController constructor. */ public function __construct() { parent::__construct(); } /** * 后台主页 * @author laravel开发员 * @since 2020/11/10 */ public function getMenuList() { $menuService = new MenuService(); $menuList = $menuService->getPermissionList($this->userId); return $menuList; } /** * 获取个人信息 * @return array * @since 2020/11/10 * @author laravel开发员 */ public function getUserInfo() { $userService = new UserService(); $result = $userService->getUserInfo($this->userId); return $result; } /** * 更新个人资料 * @return mixed * @since 2020/11/11 * @author laravel开发员 */ public function updateUserInfo() { $userService = new UserService(); $result = $userService->updateUserInfo($this->userId); return $result; } /** * 更新密码 * @return mixed * @since 2020/11/11 * @author laravel开发员 */ public function updatePwd() { $userService = new UserService(); $result = $userService->updatePwd($this->userId); return $result; } /** * 清除缓存 * @return array */ public function clearCache() { RedisService::keyDel("caches:adm*"); RedisService::keyDel("caches:index*"); RedisService::keyDel("caches:activity*"); RedisService::keyDel("caches:advert*"); RedisService::keyDel("caches:count*"); RedisService::keyDel("caches:articles*"); RedisService::keyDel("caches:member*"); RedisService::keyDel("caches:config*"); RedisService::keyDel(env('APP_NAME') . "_cache:*"); return message(MESSAGE_OK, true); } /** * 获取首页数据 * @return array */ public function statistics() { // 获取当前用户的商户ID,如果为0则显示全部数据(管理员),否则只显示该商户的数据 $storeId = $this->storeId; $datas = [ // 会员(会员数据没有store_id区分,商户用户返回0,只有平台管理员可见) 'users' => [ 'count' => $storeId > 0 ? 0 : MemberService::make()->getRegisterCount(), // 总会员数 'count_by_day' => $storeId > 0 ? 0 : MemberService::make()->getRegisterCount(TimeUtils::beginToday(), TimeUtils::endToday()), // 今日注册 'count_by_month' => $storeId > 0 ? 0 : MemberService::make()->getRegisterCount(TimeUtils::beginMonth(), TimeUtils::endMonth()), // 本月注册 'count_by_active' => $storeId > 0 ? 0 : MemberService::make()->getRegisterCount(0, 0, 1), // 正常会员 ], // 活动 'activity' => [ 'count' => \App\Models\ActivityModel::where('mark', 1) ->count(), // 总量 ] ]; return message(1010, true, $datas); } }