jiangping
2023-08-23 cf3eb8aade51e277d6d732e28e89f64ac3adca6d
server/src/main/java/doumeemes/service/system/impl/SystemLoginLogServiceImpl.java
@@ -1,10 +1,13 @@
package doumeemes.service.system.impl;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import doumeemes.core.model.PageData;
import doumeemes.core.model.PageWrap;
import doumeemes.core.utils.Utils;
import doumeemes.dao.business.model.Company;
import doumeemes.dao.system.SystemLoginLogMapper;
import doumeemes.dao.system.dto.QuerySystemLoginLogDTO;
import doumeemes.dao.system.join.SystemLoginLogJoinMapper;
import doumeemes.dao.system.model.SystemLoginLog;
import doumeemes.dao.system.model.SystemTraceLog;
import doumeemes.service.system.SystemLoginLogService;
@@ -30,6 +33,8 @@
    @Autowired
    private SystemLoginLogMapper systemLoginLogMapper;
    @Autowired
    private SystemLoginLogJoinMapper systemLoginLogJoinMapper;
    @Override
    public Integer create(SystemLoginLog systemLoginLog) {
@@ -87,41 +92,41 @@
    @Override
    public PageData<SystemLoginLog> findPage(PageWrap<QuerySystemLoginLogDTO> pageWrap) {
        IPage<SystemLoginLog> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        QueryWrapper<SystemLoginLog> queryWrapper = new QueryWrapper<>();
        MPJLambdaWrapper<SystemLoginLog> mpjLambdaWrapper = new MPJLambdaWrapper<>();
        mpjLambdaWrapper.selectAll(SystemLoginLog.class);
        mpjLambdaWrapper.leftJoin(Company.class,Company::getId,SystemLoginLog::getCompanyId);
        mpjLambdaWrapper.selectAs(Company::getName, SystemLoginLog::getCompanyName);
        // 登录用户名
        if (StringUtils.isNotBlank(pageWrap.getModel().getLoginUsername())) {
            queryWrapper.lambda().like(SystemLoginLog::getLoginUsername, pageWrap.getModel().getLoginUsername());
            mpjLambdaWrapper.like(SystemLoginLog::getLoginUsername, pageWrap.getModel().getLoginUsername());
        }
        // 登录IP
        if (StringUtils.isNotBlank(pageWrap.getModel().getIp())) {
            queryWrapper.lambda().eq(SystemLoginLog::getIp, pageWrap.getModel().getIp());
            mpjLambdaWrapper.eq(SystemLoginLog::getIp, pageWrap.getModel().getIp());
        }
        if ( pageWrap.getModel().getOrgin() !=null) {
            mpjLambdaWrapper.eq(SystemLoginLog::getOrgin, pageWrap.getModel().getOrgin());
        }
        // 服务器IP
        if (StringUtils.isNotBlank(pageWrap.getModel().getServerIp())) {
            queryWrapper.lambda().eq(SystemLoginLog::getServerIp, pageWrap.getModel().getServerIp());
            mpjLambdaWrapper.eq(SystemLoginLog::getServerIp, pageWrap.getModel().getServerIp());
        }
        // 登录状态
        if (pageWrap.getModel().getSuccess() != null) {
            queryWrapper.lambda().eq(SystemLoginLog::getSuccess, pageWrap.getModel().getSuccess());
            mpjLambdaWrapper.eq(SystemLoginLog::getSuccess, pageWrap.getModel().getSuccess());
        }
        // 登录开始时间
        if (pageWrap.getModel().getStartTime() != null) {
            queryWrapper.lambda().ge(SystemLoginLog::getLoginTime, pageWrap.getModel().getStartTime());
            mpjLambdaWrapper.ge(SystemLoginLog::getLoginTime, pageWrap.getModel().getStartTime());
        }
        // 登录结束时间
        if (pageWrap.getModel().getStartTime() != null) {
            queryWrapper.lambda().lt(SystemLoginLog::getLoginTime, pageWrap.getModel().getEndTime());
            mpjLambdaWrapper.lt(SystemLoginLog::getLoginTime, pageWrap.getModel().getEndTime());
        }
        // 字段排序
        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
            if (sortData.getDirection().equalsIgnoreCase("DESC")) {
                queryWrapper.orderByDesc(sortData.getProperty());
            } else {
                queryWrapper.orderByAsc(sortData.getProperty());
            }
        }
        return PageData.from(systemLoginLogMapper.selectPage(page, queryWrapper));
        mpjLambdaWrapper.orderByDesc(SystemLoginLog::getLoginTime);
        return PageData.from(systemLoginLogJoinMapper.selectJoinPage(page, SystemLoginLog.class,mpjLambdaWrapper));
    }
    @Override