flower_city/src/main/java/com/dg/core/db/gen/entity/AutomessageSysUserRecord.java
@@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -36,12 +37,13 @@ * 用户id */ @ApiModelProperty("用户id") private Integer userId; private Long userId; /** * 访问时间 */ @ApiModelProperty("访问时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; /** flower_city/src/main/java/com/dg/core/db/manual/mapper/util/MapperGenerator.java
@@ -34,7 +34,7 @@ }) .strategyConfig(builder -> { // builder.addInclude(""); builder.addInclude("automessage_sys_settings_record") // 设置需要生成的表名 builder.addInclude("automessage_sys_user_record") // 设置需要生成的表名 .addTablePrefix("t_", "c_"); // 设置过滤表前缀 }) .templateConfig(builder -> { flower_city/src/main/java/com/dg/core/interceptor/AuthorizationInterceptor.java
@@ -6,6 +6,7 @@ import com.dg.core.db.gen.entity.SysUser; import com.dg.core.manager.TokenManager; import com.dg.core.service.IHuaChengSysUserService; import com.dg.core.service.ISysUserRecordService; import org.apache.catalina.connector.ResponseFacade; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -38,6 +39,9 @@ */ @Autowired IHuaChengSysUserService iHuaChengSysUserService; @Autowired private ISysUserRecordService iSysUserRecordService; @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { @@ -82,7 +86,9 @@ newSysUser.setOpenid(huaChengSysUser.getOpenid()); IUserService.insertConfig(newSysUser); } iSysUserRecordService.add(sysUser); } return true; } flower_city/src/main/java/com/dg/core/service/ISysUserRecordService.java
@@ -1,4 +1,14 @@ package com.dg.core.service; import com.dg.core.ResultData; import com.dg.core.db.gen.entity.SysUser; public interface ISysUserRecordService { /** * 增加用户访问记录 * * @return 参数配置信息 */ ResultData add(SysUser sysUser); } flower_city/src/main/java/com/dg/core/service/impl/SysUserRecordServiceImpl.java
@@ -1,8 +1,10 @@ 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.AutomessageTransactionEventInterview; import com.dg.core.db.gen.entity.SysUser; import com.dg.core.db.gen.mapper.AutomessageSysUserRecordMapper; import com.dg.core.db.gen.mapper.SysUserMapper; @@ -10,6 +12,8 @@ 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 { @@ -17,7 +21,25 @@ @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; }