zqy
2024-08-19 84450149ace9b29008e9a24166320d6b27bb370c
直播删除
10个文件已修改
148 ■■■■ 已修改文件
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/LiveStreamingBackController.java 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/LiveStreamingController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/domain/LiveStreaming.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/domain/Physcial.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/domain/ZYearInfo.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/service/LiveStreamingBackService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/service/LiveStreamingService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/service/impl/LiveStreamingBackServiceImpl.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/service/impl/LiveStreamingServiceImpl.java 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/service/impl/ZInfoUserServiceImpl.java 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/LiveStreamingBackController.java
@@ -1,17 +1,19 @@
package com.ruoyi.web.controller.zhang;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.text.Convert;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.ServletUtils;
import com.ruoyi.domain.LiveStreaming;
import com.ruoyi.service.LiveStreamingBackService;
import com.ruoyi.service.LiveStreamingService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.text.ParseException;
import static com.ruoyi.common.core.page.TableSupport.PAGE_NUM;
import static com.ruoyi.common.core.page.TableSupport.PAGE_SIZE;
@@ -21,20 +23,30 @@
@RequestMapping("/zLiveStreamingBack")
public class LiveStreamingBackController extends BaseController {
    @Autowired
    private LiveStreamingService liveStreamingService;
    private LiveStreamingBackService liveStreamingBackService;
    @GetMapping("/all")
    public AjaxResult listAll(LiveStreaming liveStreaming){
    public AjaxResult listAll(LiveStreaming liveStreaming) throws ParseException {
        Integer pageNum = Convert.toInt(ServletUtils.getParameter(PAGE_NUM), 1);
        Integer pageSize = Convert.toInt(ServletUtils.getParameter(PAGE_SIZE), 10);
        return liveStreamingService.selectDataList(liveStreaming, pageNum, pageSize);
        return liveStreamingBackService.selectDataList(liveStreaming, pageNum, pageSize);
    }
    /**
     * 通过id获取直播回放详细信息
     */
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id) {
        return success(liveStreamingService.getById(id));
        return success(liveStreamingBackService.getById(id));
    }
    /**
     * 批量删除会议记录
     */
    @Log(title = "直播回放", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids) {
        return liveStreamingBackService.deleteData(ids);
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/LiveStreamingController.java
@@ -26,7 +26,7 @@
    private LiveStreamingService liveStreamingService;
    @GetMapping("/all")
    public AjaxResult listAll(LiveStreaming liveStreaming){
    public AjaxResult listAll(LiveStreaming liveStreaming) throws ParseException {
        Integer pageNum = Convert.toInt(ServletUtils.getParameter(PAGE_NUM), 1);
        Integer pageSize = Convert.toInt(ServletUtils.getParameter(PAGE_SIZE), 10);
        return liveStreamingService.selectDataList(liveStreaming, pageNum, pageSize);
zhang-content/src/main/java/com/ruoyi/domain/LiveStreaming.java
@@ -104,4 +104,9 @@
     */
    private String avatar;
    /**
     * 状态0:进行中,1:回放
     */
    private Integer status;
}
zhang-content/src/main/java/com/ruoyi/domain/Physcial.java
@@ -67,6 +67,4 @@
     * 用户id
     */
    private Long uid;
}
zhang-content/src/main/java/com/ruoyi/domain/ZYearInfo.java
@@ -88,5 +88,4 @@
    private String url;
}
zhang-content/src/main/java/com/ruoyi/service/LiveStreamingBackService.java
@@ -10,4 +10,6 @@
    AjaxResult selectDataList(LiveStreaming liveStreaming, Integer pageNum, Integer pageSize);
    List<LiveStreaming> selectByIds(Long[] ids);
    AjaxResult deleteData(Long[] ids);
}
zhang-content/src/main/java/com/ruoyi/service/LiveStreamingService.java
@@ -9,7 +9,7 @@
import java.util.List;
public interface LiveStreamingService extends IService<LiveStreaming> {
    AjaxResult selectDataList(LiveStreaming liveStreaming, Integer pageNum, Integer pageSize);
    AjaxResult selectDataList(LiveStreaming liveStreaming, Integer pageNum, Integer pageSize) throws ParseException;
    List<LiveStreaming> selectByIds(Long[] ids);
zhang-content/src/main/java/com/ruoyi/service/impl/LiveStreamingBackServiceImpl.java
@@ -4,13 +4,21 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.EsModel;
import com.ruoyi.common.utils.MapUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.domain.LiveStreaming;
import com.ruoyi.domain.Meeting;
import com.ruoyi.mapper.LiveStreamingBackMapper;
import com.ruoyi.service.EsService;
import com.ruoyi.service.LiveStreamingBackService;
import org.elasticsearch.action.delete.DeleteRequest;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestHighLevelClient;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
@@ -19,12 +27,19 @@
@Service
public class LiveStreamingBackServiceImpl extends ServiceImpl<LiveStreamingBackMapper, LiveStreaming> implements LiveStreamingBackService {
    @Resource
    private EsService esSer;
    @Resource
    private RestHighLevelClient restHighLevelClient;
    private LambdaQueryWrapper<LiveStreaming> buildCondition(LiveStreaming liveStreaming) {
        LambdaQueryWrapper<LiveStreaming> lqw = new LambdaQueryWrapper<>();
//        lqw.in(LiveStreaming::getFamilyId,familyIdList);
        lqw.orderByDesc(LiveStreaming::getId);
        lqw.like(StringUtils.isNotEmpty(liveStreaming.getTitle()), LiveStreaming::getTitle, liveStreaming.getTitle())
                .like(StringUtils.isNotEmpty(liveStreaming.getApplyPerson()),LiveStreaming::getApplyPerson,liveStreaming.getApplyPerson())
                .eq(LiveStreaming::getStatus,1)
                .like(StringUtils.isNotEmpty(liveStreaming.getContactPerson()),LiveStreaming::getContactPerson,liveStreaming.getContactPerson());
        lqw.between(liveStreaming.getHappenStartTime() != null && liveStreaming.getHappenEndTime() != null,LiveStreaming::getCreateTime,liveStreaming.getHappenStartTime(),liveStreaming.getHappenEndTime());
@@ -74,4 +89,45 @@
        return list;
    }
    @Override
    public AjaxResult deleteData(Long[] ids) {
//        List<Meeting> dataList = meetingService.listByIds(Arrays.asList(ids));
//
//        ZInfoUser myself = zInfoUserService.getMyself();
//        Long familyId = myself.getFamilyId();
//
//        List<ZAuthority> authority = zAuthorityService.getAuthority();
//        List<Long> familyIdList = authority.stream().filter(auth -> auth.getAuthority().toString().equals(EVENT_LIST_REMOVE)).map(ZAuthority::getFid).collect(Collectors.toList());
//        familyIdList.add(familyId);
//
//        for (Meeting data : dataList) {
//            if (!familyIdList.contains(data.getFamilyId())){
//                throw new RuntimeException("你没有权限操作此家庭的数据");
//            }
//        }
        List<LiveStreaming> liveStreamings = listByIds(Arrays.asList(ids));
        if (removeByIds(Arrays.asList(ids))) {
            //删除es中的数据
            liveStreamings.stream().forEach(meeting -> {
                EsModel esModel = esSer.findByCtId((meeting.getId().intValue()), "直播回放");
                if (esModel != null){
                    DeleteRequest deleteRequest = new DeleteRequest("allsearchdata", esModel.getId());
                    try {
                        restHighLevelClient.delete(deleteRequest, RequestOptions.DEFAULT);
                    } catch (IOException e) {
                        throw new RuntimeException(e);
                    }
                }
            });
            return AjaxResult.success();
        }else {
            return AjaxResult.error();
        }
    }
}
zhang-content/src/main/java/com/ruoyi/service/impl/LiveStreamingServiceImpl.java
@@ -28,17 +28,50 @@
    @Resource
    private EsService esSer;
    private LambdaQueryWrapper<LiveStreaming> buildCondition(LiveStreaming liveStreaming) {
    private LambdaQueryWrapper<LiveStreaming> buildCondition(LiveStreaming liveStreaming) throws ParseException {
        LambdaQueryWrapper<LiveStreaming> lqw = new LambdaQueryWrapper<>();
//        lqw.in(LiveStreaming::getFamilyId,familyIdList);
        lqw.orderByDesc(LiveStreaming::getId);
        lqw.like(StringUtils.isNotEmpty(liveStreaming.getTitle()), LiveStreaming::getTitle, liveStreaming.getTitle())
                .like(StringUtils.isNotEmpty(liveStreaming.getApplyPerson()),LiveStreaming::getApplyPerson,liveStreaming.getApplyPerson())
                .like(StringUtils.isNotEmpty(liveStreaming.getContactPerson()),LiveStreaming::getContactPerson,liveStreaming.getContactPerson())
                .like(StringUtils.isNotEmpty(liveStreaming.getRoomId()),LiveStreaming::getRoomId,liveStreaming.getRoomId());
        lqw.between(liveStreaming.getHappenStartTime() != null && liveStreaming.getHappenEndTime() != null,LiveStreaming::getCreateTime,liveStreaming.getHappenStartTime(),liveStreaming.getHappenEndTime());
                .eq(LiveStreaming::getStatus,0);
        List<LiveStreaming> liveStreamingList = list(lqw);
        for (LiveStreaming liveStreaming1: liveStreamingList) {
            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Calendar nowTime = Calendar.getInstance();
            String currentTime = df.format(nowTime.getTime());
            Date date = df.parse(currentTime);
            if(liveStreaming1.getStartTime() != null && liveStreaming1.getEndTime() != null){
            if (!belongCalendar(date,liveStreaming1.getStartTime(),liveStreaming1.getEndTime())){
                liveStreaming1.setStatus(1);
                updateById(liveStreaming1);
            }}
        }
        return lqw;
    }
    /**MaNongXF
     * 判断时间是否处于某个时间段内
     *
     * @param time 需要比较的时间
     * @param from 起始时间
     * @param to 结束时间
     * @return
     */
    public static boolean belongCalendar(Date time, Date from, Date to) {
        System.out.println("11111"+time+"222"+from+"333"+to);
        Calendar date = Calendar.getInstance();
        date.setTime(time);
        Calendar after = Calendar.getInstance();
        after.setTime(from);
        Calendar before = Calendar.getInstance();
        before.setTime(to);
        if (date.after(after) && date.before(before)) {
            return true;
        } else {
            return false;
        }
    }
    private LambdaQueryWrapper<LiveStreaming> uniqueCondition(LiveStreaming liveStreaming){
@@ -52,7 +85,7 @@
    }
    @Override
    public AjaxResult selectDataList(LiveStreaming liveStreaming, Integer pageNum, Integer pageSize) {
    public AjaxResult selectDataList(LiveStreaming liveStreaming, Integer pageNum, Integer pageSize) throws ParseException {
        //要查自己家庭的
//        ZInfoUser myself = zInfoUserService.getMyself();
//        if(myself==null)
@@ -71,6 +104,7 @@
        LambdaQueryWrapper<LiveStreaming> lqw = buildCondition(liveStreaming);
        Page<LiveStreaming> liveStreamingPage = new Page<>(pageNum, pageSize);
        Page<LiveStreaming> pageResult = page(liveStreamingPage, lqw);
@@ -79,7 +113,6 @@
//        List<LiveStreaming> dtoResult = markOwnData(familyId, beanRecords);
        HashMap<String, Object> data = MapUtils.getResult(pageResult, beanRecords);
        return AjaxResult.success(data);
@@ -104,7 +137,6 @@
        nowTime.setTime(liveStreaming.getStartTime());
        nowTime.add(Calendar.MINUTE, liveStreaming.getDuration());
        String currentTime = df.format(nowTime.getTime());
        System.out.println("30分钟后的时间" + currentTime);
        return df.parse(currentTime);
    }
@@ -119,7 +151,7 @@
        if (liveStreaming.getMaxPerson() > 120){
            throw new RuntimeException("可容纳人数暂时最多为120人");
        }
        liveStreaming.setStatus(0);
        liveStreaming.setEndTime(getEndTime1(liveStreaming));
        if (save(liveStreaming)) {
zhang-content/src/main/java/com/ruoyi/service/impl/ZInfoUserServiceImpl.java