package com.dg.core.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.dg.core.ResultData;
|
import com.dg.core.db.gen.entity.AutomessageSysUserRecord;
|
import com.dg.core.db.gen.entity.SysUser;
|
import com.dg.core.db.gen.mapper.AutomessageSysUserRecordMapper;
|
import com.dg.core.db.gen.mapper.SysUserMapper;
|
import com.dg.core.service.ISysUserRecordService;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import java.time.LocalDate;
|
import java.time.LocalDateTime;
|
|
@Service
|
public class SysUserRecordServiceImpl extends ServiceImpl<AutomessageSysUserRecordMapper, AutomessageSysUserRecord> implements ISysUserRecordService {
|
|
@Resource
|
private SysUserMapper sysUserMapper;
|
|
@Override
|
public ResultData add(SysUser sysUser){
|
if (sysUser!=null){
|
LocalDateTime startTime = LocalDate.now().atTime(0, 0, 0);
|
LocalDateTime endTime = LocalDate.now().atTime(23, 59, 59);
|
AutomessageSysUserRecord automessageSysUserRecord = baseMapper.selectOne(new QueryWrapper<AutomessageSysUserRecord>()
|
.lambda().eq(AutomessageSysUserRecord::getUserId, sysUser.getUserId())
|
.orderByDesc(AutomessageSysUserRecord::getCreateTime)
|
.last("limit 1"));
|
//判断上次访问时间是不是今天 如果是今天不增加浏览次数
|
if (automessageSysUserRecord==null||(!(automessageSysUserRecord.getCreateTime().isAfter(startTime)&&automessageSysUserRecord.getCreateTime().isBefore(endTime)))) {
|
AutomessageSysUserRecord automessageSysUserRecordNew = new AutomessageSysUserRecord();
|
automessageSysUserRecordNew.setUserId(sysUser.getUserId());
|
automessageSysUserRecordNew.setCreateTime(LocalDateTime.now());
|
sysUser.setLoginDate(LocalDateTime.now());
|
sysUserMapper.updateById(sysUser);
|
return ResultData.success(baseMapper.insert(automessageSysUserRecordNew));
|
}
|
}
|
return null;
|
}
|
|
@Override
|
public ResultData selectUserRecordCount() {
|
return ResultData.success(baseMapper.selectUserRecordCount());
|
}
|
|
@Override
|
public ResultData selectByDateType(Integer dateType) {
|
if (dateType.equals(1))
|
return ResultData.success(baseMapper.selectByDay());
|
if (dateType.equals(2))
|
return ResultData.success(baseMapper.selectByMonth());
|
if (dateType.equals(3))
|
return ResultData.success(baseMapper.selectByYear());
|
return null;
|
}
|
|
@Override
|
public Integer deleteDistinct() {
|
return baseMapper.deleteDistinct();
|
}
|
|
}
|