| | |
| | | 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 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(); |
| | | } |
| | | |
| | | } |