From 84450149ace9b29008e9a24166320d6b27bb370c Mon Sep 17 00:00:00 2001
From: zqy <2522236926@qq.com>
Date: 星期一, 19 八月 2024 19:17:51 +0800
Subject: [PATCH] 直播删除

---
 zhang-content/src/main/java/com/ruoyi/service/impl/LiveStreamingServiceImpl.java          |   50 +++++++++++++---
 zhang-content/src/main/java/com/ruoyi/domain/LiveStreaming.java                           |    5 +
 zhang-content/src/main/java/com/ruoyi/service/impl/ZInfoUserServiceImpl.java              |    2 
 zhang-content/src/main/java/com/ruoyi/service/impl/LiveStreamingBackServiceImpl.java      |   56 ++++++++++++++++++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/LiveStreamingController.java     |    2 
 zhang-content/src/main/java/com/ruoyi/domain/ZYearInfo.java                               |    1 
 zhang-content/src/main/java/com/ruoyi/service/LiveStreamingService.java                   |    2 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/LiveStreamingBackController.java |   28 ++++++--
 zhang-content/src/main/java/com/ruoyi/domain/Physcial.java                                |    2 
 zhang-content/src/main/java/com/ruoyi/service/LiveStreamingBackService.java               |    2 
 10 files changed, 127 insertions(+), 23 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/LiveStreamingBackController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/LiveStreamingBackController.java
index f0a88f2..fb9ee03 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/LiveStreamingBackController.java
+++ b/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);
+    }
+
+
 }
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/LiveStreamingController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/LiveStreamingController.java
index 8e78ad3..8789fca 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/LiveStreamingController.java
+++ b/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);
diff --git a/zhang-content/src/main/java/com/ruoyi/domain/LiveStreaming.java b/zhang-content/src/main/java/com/ruoyi/domain/LiveStreaming.java
index 32e5a0b..bfa24c0 100644
--- a/zhang-content/src/main/java/com/ruoyi/domain/LiveStreaming.java
+++ b/zhang-content/src/main/java/com/ruoyi/domain/LiveStreaming.java
@@ -104,4 +104,9 @@
      */
 
     private String avatar;
+
+    /**
+     * 鐘舵��0锛氳繘琛屼腑锛�1锛氬洖鏀�
+     */
+    private Integer status;
 }
diff --git a/zhang-content/src/main/java/com/ruoyi/domain/Physcial.java b/zhang-content/src/main/java/com/ruoyi/domain/Physcial.java
index 0be7de5..a841271 100644
--- a/zhang-content/src/main/java/com/ruoyi/domain/Physcial.java
+++ b/zhang-content/src/main/java/com/ruoyi/domain/Physcial.java
@@ -67,6 +67,4 @@
      * 鐢ㄦ埛id
      */
     private Long uid;
-
-
 }
diff --git a/zhang-content/src/main/java/com/ruoyi/domain/ZYearInfo.java b/zhang-content/src/main/java/com/ruoyi/domain/ZYearInfo.java
index b77691f..b219f27 100644
--- a/zhang-content/src/main/java/com/ruoyi/domain/ZYearInfo.java
+++ b/zhang-content/src/main/java/com/ruoyi/domain/ZYearInfo.java
@@ -88,5 +88,4 @@
 
     private String url;
 
-
 }
diff --git a/zhang-content/src/main/java/com/ruoyi/service/LiveStreamingBackService.java b/zhang-content/src/main/java/com/ruoyi/service/LiveStreamingBackService.java
index afab862..2087020 100644
--- a/zhang-content/src/main/java/com/ruoyi/service/LiveStreamingBackService.java
+++ b/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);
 }
diff --git a/zhang-content/src/main/java/com/ruoyi/service/LiveStreamingService.java b/zhang-content/src/main/java/com/ruoyi/service/LiveStreamingService.java
index e5656ad..470382d 100644
--- a/zhang-content/src/main/java/com/ruoyi/service/LiveStreamingService.java
+++ b/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);
 
diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/LiveStreamingBackServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/LiveStreamingBackServiceImpl.java
index d9431e9..5b839ca 100644
--- a/zhang-content/src/main/java/com/ruoyi/service/impl/LiveStreamingBackServiceImpl.java
+++ b/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();
+        }
+
+    }
 }
diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/LiveStreamingServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/LiveStreamingServiceImpl.java
index db59d66..720135c 100644
--- a/zhang-content/src/main/java/com/ruoyi/service/impl/LiveStreamingServiceImpl.java
+++ b/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)) {
diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/ZInfoUserServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/ZInfoUserServiceImpl.java
index 0921267..29ee9cd 100644
--- a/zhang-content/src/main/java/com/ruoyi/service/impl/ZInfoUserServiceImpl.java
+++ b/zhang-content/src/main/java/com/ruoyi/service/impl/ZInfoUserServiceImpl.java
@@ -486,7 +486,7 @@
 
                     if (zInfoUser.getSpouseId() != null) {
                         ZInfoUser spouse = getById(zInfoUser.getSpouseId());
-                        
+
                         Genealogy spouseInfo = new Genealogy();
                         BeanUtils.copyProperties(spouse,spouseInfo);
                         newGenealogy.setSpouse(spouseInfo);

--
Gitblit v1.9.1