liujie
5 天以前 f8d30932873605f5eb407228b22a38ec5ff96af9
Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/haizhentong
1个文件已删除
8个文件已修改
211 ■■■■ 已修改文件
ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TSysAppUserController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TSysLiveController.java 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisCache.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/core/utils/Constants.java 143 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/core/utils/HttpUtils.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/query/TSysLiveQuery.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysLiveServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/TSysLiveVO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TSysAppUserController.java
@@ -70,7 +70,6 @@
    /**
     * 修改用户管理
     */
    @Log(title = "用户管理信息-修改用户管理", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "修改用户管理")
    @PostMapping(value = "/update")
    public R<Boolean> update(@Validated @RequestBody TSysAppUser dto) {
@@ -126,7 +125,6 @@
    /**
     * 退出登录
     */
    @Log(title = "用户管理信息-退出登录", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "退出登录")
    @PostMapping(value = "/loginOut")
    public R<Boolean> loginOut() {
ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TSysLiveController.java
@@ -4,8 +4,11 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.redis.service.RedisService;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.model.TSysLive;
@@ -19,7 +22,9 @@
import org.springframework.web.bind.annotation.*;
import java.time.LocalDateTime;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/**
 * <p>
@@ -36,10 +41,12 @@
    private final TSysLiveService sysLiveService;
    private final TokenService tokenService;
    private final RedisCache redisCache;
    @Autowired
    public TSysLiveController(TSysLiveService sysLiveService, TokenService tokenService) {
    public TSysLiveController(TSysLiveService sysLiveService, TokenService tokenService, RedisCache redisCache) {
        this.sysLiveService = sysLiveService;
        this.tokenService = tokenService;
        this.redisCache = redisCache;
    }
    /**
@@ -48,6 +55,8 @@
    @ApiOperation(value = "获取直播管理分页列表")
    @PostMapping(value = "/pageList")
    public R<PageInfo<TSysLiveVO>> pageList(@RequestBody TSysLiveQuery query) {
        String userId = tokenService.getLoginUserApplet().getUserId();
        query.setAppUserId(userId);
        return R.ok(sysLiveService.pageList(query));
    }
@@ -61,14 +70,20 @@
    }
    /**
     * 直播管理推送用户
     * 直播管理预约推送
     */
    @Log(title = "直播管理信息-推送用户", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "直播管理信息推送用户")
    @PutMapping(value = "/pushUser")
    public R<String> pushUser(@RequestParam(value = "id") String id,
                               @RequestParam(value = "pushType")String pushType) {
        sysLiveService.pushUser(id,pushType);
    @ApiOperation(value = "直播管理信息预约推送")
    @PutMapping(value = "/appointmentPush")
    public R<String> appointmentPush(@RequestParam(value = "id") String id) {
        String userId = tokenService.getLoginUserApplet().getUserId();
        // 判断是否已预约
        boolean memberInSet = redisCache.isMemberInSet(Constants.LIVE_APPOINTMENT_PUSH + id, userId);
        if (memberInSet) {
            return R.fail("已预约");
        }
        Set<String> appointmentPush = new HashSet<>();
        appointmentPush.add(userId);
        redisCache.setCacheSet(Constants.LIVE_APPOINTMENT_PUSH + id, appointmentPush);
        return R.ok();
    }
ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java
@@ -162,4 +162,8 @@
     * 用户类型
     */
    public static final String USER_TYPE = "用户类型";
    /**
     * 直播推送
     */
    public static final String LIVE_APPOINTMENT_PUSH = "live:appointmentPush:";
}
ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisCache.java
@@ -263,6 +263,17 @@
    }
    /**
     * 判断某个值是否在某个set中
     *
     * @param key
     * @param value
     * @return
     */
    public boolean isMemberInSet(String key, Object value) {
        return Boolean.TRUE.equals(redisTemplate.opsForSet().isMember(key, value));
    }
    /**
     * 获得缓存的基本对象列表
     *
     * @param pattern 字符串前缀
ruoyi-common/src/main/java/com/ruoyi/common/core/utils/Constants.java
File was deleted
ruoyi-common/src/main/java/com/ruoyi/common/core/utils/HttpUtils.java
@@ -1,5 +1,6 @@
package com.ruoyi.common.core.utils;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.utils.StringUtils;
import org.slf4j.Logger;
ruoyi-system/src/main/java/com/ruoyi/system/query/TSysLiveQuery.java
@@ -15,4 +15,6 @@
    @ApiModelProperty(value = "直播状态 1=未开始 2=已开始 3=已结束")
    private Integer liveStatus;
    @ApiModelProperty(value = "前端忽略")
    private String appUserId;
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysLiveServiceImpl.java
@@ -3,7 +3,9 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.collect.ImmutableMap;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.system.mapper.TSysLiveMapper;
import com.ruoyi.system.model.TSysEducationalInfo;
@@ -14,7 +16,9 @@
import com.ruoyi.system.task.base.TimeJobType;
import com.ruoyi.system.task.jobs.LivePushJob;
import com.ruoyi.system.vo.TSysLiveVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.time.LocalDateTime;
import java.util.Date;
@@ -32,6 +36,9 @@
 */
@Service
public class TSysLiveServiceImpl extends ServiceImpl<TSysLiveMapper, TSysLive> implements TSysLiveService {
    @Autowired
    private RedisCache redisCache;
    @Override
    public R pushUser(String id, String pushType) {
@@ -63,6 +70,9 @@
    public PageInfo<TSysLiveVO> pageList(TSysLiveQuery query) {
        PageInfo<TSysLiveVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<TSysLiveVO> list = this.baseMapper.pageList(query,pageInfo);
        if (CollectionUtils.isEmpty(list)){
            return pageInfo;
        }
        // 判断状态
        for (TSysLiveVO sysLive : list) {
            if(sysLive.getStartTime().isAfter(LocalDateTime.now())){
@@ -74,6 +84,9 @@
            if(sysLive.getEndTime().isBefore(LocalDateTime.now())){
                sysLive.setLiveStatus(3);
            }
            // 查看是否包含该值
            boolean memberInSet = redisCache.isMemberInSet(Constants.LIVE_APPOINTMENT_PUSH + sysLive.getId(), query.getAppUserId());
            sysLive.setAppointmentStatus(memberInSet ? 2 : 1);
        }
        pageInfo.setRecords(list);
        return pageInfo;
ruoyi-system/src/main/java/com/ruoyi/system/vo/TSysLiveVO.java
@@ -12,4 +12,8 @@
    @ApiModelProperty(value = "直播状态 1=未开始 2=已开始 3=已结束")
    private Integer liveStatus;
    @ApiModelProperty(value = "预约状态 1=未预约 2=已预约")
    private Integer appointmentStatus;
}