| | |
| | | import doumeemes.core.model.PageWrap; |
| | | import doumeemes.core.utils.Utils; |
| | | import doumeemes.dao.business.model.Company; |
| | | import doumeemes.dao.business.model.CompanyUser; |
| | | import doumeemes.dao.ext.dto.ActivityLoginDTO; |
| | | import doumeemes.dao.ext.vo.ActivityLoginVO; |
| | | import doumeemes.dao.ext.vo.StagingLoginVO; |
| | | import doumeemes.dao.system.SystemLoginLogMapper; |
| | | import doumeemes.dao.system.dto.QuerySystemLoginLogDTO; |
| | | import doumeemes.dao.system.join.SystemLoginLogJoinMapper; |
| | |
| | | Wrapper<SystemLoginLog> wrapper = new QueryWrapper<>(systemLoginLog); |
| | | return systemLoginLogMapper.selectList(wrapper); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public PageData<SystemLoginLog> findPage(PageWrap<QuerySystemLoginLogDTO> pageWrap) { |
| | | IPage<SystemLoginLog> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); |
| | |
| | | MPJLambdaWrapper<SystemLoginLog> mpjLambdaWrapper = new MPJLambdaWrapper<>(); |
| | | mpjLambdaWrapper.selectAll(SystemLoginLog.class); |
| | | mpjLambdaWrapper.leftJoin(Company.class,Company::getId,SystemLoginLog::getCompanyId); |
| | | mpjLambdaWrapper.leftJoin(CompanyUser.class,CompanyUser::getId,SystemLoginLog::getCompanyUserId); |
| | | mpjLambdaWrapper.selectAs(Company::getName, SystemLoginLog::getCompanyName); |
| | | mpjLambdaWrapper.selectAs(CompanyUser::getName, SystemLoginLog::getCompanyUserName); |
| | | // 登录用户名 |
| | | if (StringUtils.isNotBlank(pageWrap.getModel().getLoginUsername())) { |
| | | mpjLambdaWrapper.like(SystemLoginLog::getLoginUsername, pageWrap.getModel().getLoginUsername()); |
| | |
| | | Wrapper<SystemLoginLog> wrapper = new QueryWrapper<>(systemLoginLog); |
| | | return systemLoginLogMapper.selectCount(wrapper); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public StagingLoginVO getStagingLoginVO(){ |
| | | StagingLoginVO stagingLoginVO = new StagingLoginVO(); |
| | | //今日活跃用户:统计当天登录用户数,一个系统用户在不同的企业登录,算两个用户;一个用户在一个企业内多次登录,算一个用户 |
| | | stagingLoginVO.setDayActiveUserNum( |
| | | systemLoginLogMapper.selectList(new QueryWrapper<SystemLoginLog>() |
| | | .select(" COMPANY_USER_ID ") |
| | | .isNotNull(" COMPANY_ID ") |
| | | .isNotNull(" COMPANY_USER_ID ") |
| | | .apply(" LOGIN_TIME like concat(CURDATE(),'%') ") |
| | | .groupBy(" COMPANY_ID , COMPANY_USER_ID ") |
| | | ).size() |
| | | ); |
| | | //今日活跃企业:统计当天登录的企业数,一个企业的不同用户登录,算一个企业数; |
| | | stagingLoginVO.setDayActiveCompanyNum( |
| | | systemLoginLogMapper.selectList(new QueryWrapper<SystemLoginLog>() |
| | | .select(" COMPANY_ID ") |
| | | .isNotNull(" COMPANY_ID ") |
| | | .isNotNull(" COMPANY_USER_ID ") |
| | | .apply(" LOGIN_TIME like concat(CURDATE(),'%') ") |
| | | .groupBy(" COMPANY_ID ") |
| | | ).size() |
| | | ); |
| | | //统计本月(自然月)登录的企业数,逻辑同上; |
| | | stagingLoginVO.setMonthActiveCompanyNum( |
| | | systemLoginLogMapper.selectList(new QueryWrapper<SystemLoginLog>() |
| | | .select(" COMPANY_ID ") |
| | | .isNotNull(" COMPANY_ID ") |
| | | .isNotNull(" COMPANY_USER_ID ") |
| | | .apply(" LOGIN_TIME like concat(date_format(NOW(), '%Y-%m'),'%') ") |
| | | .groupBy(" COMPANY_ID ") |
| | | ).size() |
| | | ); |
| | | //本月登录2次及以上企业数:统计本月(自然月)登录2次及以上的企业数,逻辑同上; |
| | | stagingLoginVO.setMonthTwoCompanyNum( |
| | | systemLoginLogMapper.selectList(new QueryWrapper<SystemLoginLog>() |
| | | .select(" COMPANY_ID ") |
| | | .isNotNull(" COMPANY_ID ") |
| | | .isNotNull(" COMPANY_USER_ID ") |
| | | .apply(" LOGIN_TIME like concat(date_format(NOW(), '%Y-%m'),'%') ") |
| | | .groupBy(" COMPANY_ID ") |
| | | .having(" count(1) > 1 ") |
| | | ).size() |
| | | ); |
| | | //本月登录2次及以上企业数(羚羊):统计本月(自然月)登录2次及以上(登录来源于羚羊平台)的企业数,逻辑同上; |
| | | stagingLoginVO.setMonthTwoCompanyLYNum( |
| | | systemLoginLogMapper.selectList(new QueryWrapper<SystemLoginLog>() |
| | | .select(" COMPANY_ID ") |
| | | .isNotNull(" COMPANY_ID ") |
| | | .isNotNull(" COMPANY_USER_ID ") |
| | | .apply(" LOGIN_TIME like concat(date_format(NOW(), '%Y-%m'),'%') ") |
| | | .eq("ORGIN",2) |
| | | .groupBy(" COMPANY_ID ") |
| | | .having(" count(1) > 1 ") |
| | | ).size() |
| | | ); |
| | | return stagingLoginVO; |
| | | } |
| | | |
| | | |
| | | |
| | | } |