diff --git a/health-consultation/health-consultation-api/src/main/java/com/renkang/consultation/entity/ConNotice.java b/health-consultation/health-consultation-api/src/main/java/com/renkang/consultation/entity/ConNotice.java index 3b24a43..74ea991 100644 --- a/health-consultation/health-consultation-api/src/main/java/com/renkang/consultation/entity/ConNotice.java +++ b/health-consultation/health-consultation-api/src/main/java/com/renkang/consultation/entity/ConNotice.java @@ -112,7 +112,7 @@ public class ConNotice implements Serializable { * 咨询类型 */ @Excel(name = "咨询类型", width = 15, dicCode = "notice_type") - @Schema(title = "咨询类型(notice_type 0:图文咨询 1:音视频咨询)") + @Schema(title = "咨询类型(notice_type 0:视屏咨询 1:图文频咨询)") @Dict(dicCode = "notice_type") private String noticeType; diff --git a/health-consultation/health-consultation-api/src/main/java/com/renkang/consultation/vo/ConNoticeVO.java b/health-consultation/health-consultation-api/src/main/java/com/renkang/consultation/vo/ConNoticeVO.java index e0fc9f3..206b7ce 100644 --- a/health-consultation/health-consultation-api/src/main/java/com/renkang/consultation/vo/ConNoticeVO.java +++ b/health-consultation/health-consultation-api/src/main/java/com/renkang/consultation/vo/ConNoticeVO.java @@ -34,5 +34,5 @@ public class ConNoticeVO { @Dict(dicCode = "notice_type") @Schema(title = "咨询类型(notice_type 0:图文咨询 1:音视频咨询)") - private String type; + private String noticeType; } diff --git a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/api/service/impl/ConNoticeServiceApiImpl.java b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/api/service/impl/ConNoticeServiceApiImpl.java index 9ca1025..67a18ae 100644 --- a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/api/service/impl/ConNoticeServiceApiImpl.java +++ b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/api/service/impl/ConNoticeServiceApiImpl.java @@ -1,73 +1,63 @@ package com.renkang.consultation.api.service.impl; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; -import com.renkang.consultation.api.RedisConstants; import com.renkang.consultation.api.service.ConNoticeApiService; import com.renkang.consultation.dto.NoticeOnOrOff; import com.renkang.consultation.entity.ConNotice; import com.renkang.consultation.entity.ConNoticeDO; import com.renkang.consultation.mapper.ConNoticeMapper; -import org.apache.shiro.SecurityUtils; +import lombok.RequiredArgsConstructor; import org.jeecg.common.api.vo.Result; import org.jeecg.common.constant.CommonConstant; -import org.jeecg.common.system.vo.LoginUser; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.redis.core.RedisTemplate; +import org.jeecg.global.GlobalUtils; +import org.jeecg.util.RedisClientUtil; +import org.jeecg.util.RedisKeyPrefix; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @Service("conNoticeApiService") +@RequiredArgsConstructor public class ConNoticeServiceApiImpl implements ConNoticeApiService { - - - @Autowired - private ConNoticeMapper conNoticeMapper; - - @Autowired - private RedisTemplate redisTemplate; - + private final ConNoticeMapper conNoticeMapper; + private final String NOTICE_KEY_1 = "consultation:notice:1:"; + private final String NOTICE_KEY_0 = "consultation:notice:0:"; + private final RedisClientUtil redisClientUtil; @Override public Result selectUserNotice(String type) { - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - String userId = sysUser.getId(); - - if (redisTemplate.hasKey(RedisConstants.NOTICE_USER_TF.getKey(userId, type))) { + String userId = GlobalUtils.getLoginUser().getId(); + String keyPrefix = "0".equals(type)? NOTICE_KEY_0 : NOTICE_KEY_1; + String flag = redisClientUtil.get(new RedisKeyPrefix(keyPrefix), userId, String.class); + if (StrUtil.isNotEmpty(flag)) { return Result.ok(); } - ConNotice conNotice = conNoticeMapper.selectNoticeByType(type); - if (conNotice != null) { return Result.ok(BeanUtil.copyProperties(conNotice, ConNoticeDO.class)); } - return Result.ok(); } @Override public Result chooseToDontShowUp(String id, String notShow) { - RedisConstants redisKey = RedisConstants.NOTICE_USER_TF; - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - String userId = sysUser.getId(); - + String userId = GlobalUtils.getLoginUser().getId(); ConNotice conNotice = conNoticeMapper.selectById(id); if (conNotice == null) { return Result.error("信息不存在"); } - - redisTemplate.opsForValue().set(redisKey.getKey(userId, conNotice.getType()), "1"); - + String keyPrefix = "0".equals(conNotice.getNoticeType())? NOTICE_KEY_0 : NOTICE_KEY_1; + //2-不在提醒,1-一个月,0-7天 if ("0".equals(notShow)) { - redisTemplate.expire(redisKey.getKey(userId, conNotice.getType()), 7, redisKey.getTimeUnit()); + redisClientUtil.set(new RedisKeyPrefix(604800,keyPrefix), userId,String.valueOf(1)); } if ("1".equals(notShow)) { - redisTemplate.expire(redisKey.getKey(userId, conNotice.getType()), 30, redisKey.getTimeUnit()); + redisClientUtil.set(new RedisKeyPrefix(2592000,keyPrefix), userId,String.valueOf(1)); } if ("2".equals(notShow)) { - redisTemplate.expire(redisKey.getKey(userId, conNotice.getType()), 180, redisKey.getTimeUnit()); + redisClientUtil.set(new RedisKeyPrefix(-1,keyPrefix), userId,String.valueOf(1)); } return Result.ok(); diff --git a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/api/service/impl/ConSessionApiServiceImpl.java b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/api/service/impl/ConSessionApiServiceImpl.java index 76204b4..f4aaae8 100644 --- a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/api/service/impl/ConSessionApiServiceImpl.java +++ b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/api/service/impl/ConSessionApiServiceImpl.java @@ -1873,7 +1873,7 @@ public class ConSessionApiServiceImpl implements ConSessionApiService { }*/ LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - com.baomidou.mybatisplus.extension.plugins.pagination.Page page = new com.baomidou.mybatisplus.extension.plugins.pagination.Page(pageNo, pageSize); + Page page = new Page(pageNo, pageSize); List list = conSessionMapper.selectSessionListByUserIdHelperAnother(page, null, null, sysUser.getId()); diff --git a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/ConNoticeMapper.java b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/ConNoticeMapper.java index ef66f87..a172eed 100644 --- a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/ConNoticeMapper.java +++ b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/ConNoticeMapper.java @@ -24,7 +24,7 @@ public interface ConNoticeMapper extends BaseMapper { */ IPage queryPageList(IPage page, @Param("conNotice") ConNotice conNotice); - @Select("SELECT * FROM con_notice WHERE status = '1' and del_flag = '0' and type = #{type} order by create_time desc limit 1") + @Select("SELECT * FROM con_notice WHERE status = '1' and del_flag = '0' and type = #{noticeType} order by create_time desc limit 1") public ConNotice selectNoticeByType(String type); } diff --git a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/xml/ConSessionMapper.xml b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/xml/ConSessionMapper.xml index 72d3797..ff2a386 100644 --- a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/xml/ConSessionMapper.xml +++ b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/xml/ConSessionMapper.xml @@ -1079,7 +1079,7 @@ and (content_status = 5 or content_status = 6 or content_status = 7 or content_status = 8) - order by create_time desc + order by content_status asc ,create_time desc