Explorar el Código

会议小程序

孙永军 hace 1 año
padre
commit
1355b8d098
Se han modificado 20 ficheros con 609 adiciones y 5 borrados
  1. 46 0
      src/main/java/com/smcic/api/conference/controller/ConferenceLivePhotoController.java
  2. 40 0
      src/main/java/com/smcic/api/conference/controller/ConferenceLiveVideoController.java
  3. 36 0
      src/main/java/com/smcic/api/conference/controller/ConferencePartnerController.java
  4. 34 0
      src/main/java/com/smcic/api/conference/controller/SSEController.java
  5. 16 0
      src/main/java/com/smcic/api/conference/dto/BatchPhoto.java
  6. 47 0
      src/main/java/com/smcic/api/conference/entity/ConferenceLivePhoto.java
  7. 49 0
      src/main/java/com/smcic/api/conference/entity/ConferenceLiveVideo.java
  8. 5 0
      src/main/java/com/smcic/api/conference/entity/ConferenceNews.java
  9. 43 0
      src/main/java/com/smcic/api/conference/entity/ConferencePartner.java
  10. 16 0
      src/main/java/com/smcic/api/conference/mapper/ConferenceLivePhotoMapper.java
  11. 16 0
      src/main/java/com/smcic/api/conference/mapper/ConferenceLiveVideoMapper.java
  12. 16 0
      src/main/java/com/smcic/api/conference/mapper/ConferencePartnerMapper.java
  13. 16 0
      src/main/java/com/smcic/api/conference/service/IConferenceLivePhotoService.java
  14. 16 0
      src/main/java/com/smcic/api/conference/service/IConferenceLiveVideoService.java
  15. 16 0
      src/main/java/com/smcic/api/conference/service/IConferencePartnerService.java
  16. 63 0
      src/main/java/com/smcic/api/conference/service/impl/ConferenceLivePhotoServiceImpl.java
  17. 42 0
      src/main/java/com/smcic/api/conference/service/impl/ConferenceLiveVideoServiceImpl.java
  18. 28 0
      src/main/java/com/smcic/api/conference/service/impl/ConferencePartnerServiceImpl.java
  19. 52 0
      src/main/java/com/smcic/api/conference/service/impl/SSEService.java
  20. 12 5
      src/test/java/conference.http

+ 46 - 0
src/main/java/com/smcic/api/conference/controller/ConferenceLivePhotoController.java

@@ -0,0 +1,46 @@
+package com.smcic.api.conference.controller;
+
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.smcic.api.conference.dto.BatchPhoto;
+import com.smcic.api.conference.entity.ConferenceLivePhoto;
+import com.smcic.api.conference.service.impl.ConferenceLivePhotoServiceImpl;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author syj
+ * @since 2024-03-28
+ */
+@RestController
+@RequestMapping("/conference/live-photo")
+public class ConferenceLivePhotoController {
+    @Resource
+    private ConferenceLivePhotoServiceImpl conferenceLivePhotoService;
+
+    @PostMapping("create")
+    public ConferenceLivePhoto createConferenceLivePhoto(@RequestBody ConferenceLivePhoto conferenceLivePhoto) {
+        conferenceLivePhoto.setCreateTime(LocalDateTime.now());
+        conferenceLivePhotoService.save( conferenceLivePhoto);
+        return conferenceLivePhoto;
+    }
+
+    @PostMapping("create-batch")
+    public void createBatch(@RequestBody BatchPhoto batchPhoto) {
+        conferenceLivePhotoService.batchCreate(batchPhoto);
+    }
+
+    @GetMapping("list/{id}")
+    public Page<ConferenceLivePhoto> listConferenceLivePhoto(@PathVariable("id") Long id,
+                                                             @RequestParam(value = "page", required = false, defaultValue = "1") Integer page,
+                                                             @RequestParam(value = "pageSize", required = false, defaultValue = "20") Integer size) {
+        return conferenceLivePhotoService.photoPage( id, page, size);
+    }
+
+}

+ 40 - 0
src/main/java/com/smcic/api/conference/controller/ConferenceLiveVideoController.java

@@ -0,0 +1,40 @@
+package com.smcic.api.conference.controller;
+
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.smcic.api.conference.entity.ConferenceLiveVideo;
+import com.smcic.api.conference.service.impl.ConferenceLiveVideoServiceImpl;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author syj
+ * @since 2024-03-28
+ */
+@RestController
+@RequestMapping("/conference/live-video")
+public class ConferenceLiveVideoController {
+
+    @Resource
+    private ConferenceLiveVideoServiceImpl conferenceLiveVideoService;
+
+    @PostMapping("create")
+    public ConferenceLiveVideo createConferenceLiveVideo(@RequestBody ConferenceLiveVideo conferenceLiveVideo) {
+        return conferenceLiveVideoService.create(conferenceLiveVideo);
+    }
+
+    @GetMapping("list/{id}")
+    public Page<ConferenceLiveVideo> listConferenceLiveVideo(@PathVariable("id") Long id,
+            @RequestParam(value = "page", required = false, defaultValue = "1") Integer page,
+            @RequestParam(value = "pageSize", required = false, defaultValue = "20") Integer size) {
+        return conferenceLiveVideoService.videoPage( id, page, size);
+    }
+
+
+}

+ 36 - 0
src/main/java/com/smcic/api/conference/controller/ConferencePartnerController.java

@@ -0,0 +1,36 @@
+package com.smcic.api.conference.controller;
+
+
+import com.smcic.api.conference.entity.ConferencePartner;
+import com.smcic.api.conference.service.impl.ConferencePartnerServiceImpl;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author syj
+ * @since 2024-03-28
+ */
+@RestController
+@RequestMapping("/conference/partner")
+public class ConferencePartnerController {
+
+    @Resource
+    private ConferencePartnerServiceImpl conferencePartnerService;
+
+    @PostMapping("create")
+    public  ConferencePartner create(@RequestBody ConferencePartner conferencePartner){
+        conferencePartnerService.save(conferencePartner);
+        return conferencePartner;
+    }
+
+    @GetMapping("list/{id}")
+    public List<ConferencePartner> list(@PathVariable( "id" ) Long id){
+        return conferencePartnerService.listByCid(id);
+    }
+}

+ 34 - 0
src/main/java/com/smcic/api/conference/controller/SSEController.java

@@ -0,0 +1,34 @@
+package com.smcic.api.conference.controller;
+
+import cn.hutool.core.lang.UUID;
+import com.smcic.api.conference.service.impl.SSEService;
+import com.smcic.core.advice.NoAPIResponse;
+import org.springframework.http.MediaType;
+import org.springframework.stereotype.Controller;
+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.servlet.mvc.method.annotation.SseEmitter;
+
+import javax.annotation.Resource;
+import java.io.IOException;
+
+@Controller
+@RequestMapping("/conference")
+@NoAPIResponse
+public class SSEController {
+
+    @Resource
+    private SSEService sseService;
+
+    @GetMapping(path = "/photo-sse/{id}", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
+    @NoAPIResponse
+    public SseEmitter handleSse(@PathVariable("id") Long id) throws IOException {
+        String uuid = UUID.fastUUID( ).toString( );
+        SseEmitter sseEmitter = new SseEmitter(60 * 1000L); // 设置超时时间
+        sseService.monitor(id, uuid, sseEmitter);
+        sseEmitter.send(SseEmitter.event().name("hello").data("hello"));
+        sseEmitter.onCompletion(() -> sseService.complate(id, uuid));
+        return sseEmitter;
+    }
+}

+ 16 - 0
src/main/java/com/smcic/api/conference/dto/BatchPhoto.java

@@ -0,0 +1,16 @@
+package com.smcic.api.conference.dto;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class BatchPhoto {
+    private Long conferenceId;
+
+    private Long agendaId;
+
+    private String title;
+
+    private List<String> photo;
+}

+ 47 - 0
src/main/java/com/smcic/api/conference/entity/ConferenceLivePhoto.java

@@ -0,0 +1,47 @@
+package com.smcic.api.conference.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author syj
+ * @since 2024-03-28
+ */
+@Getter
+@Setter
+@TableName("conference_live_photo")
+@NoArgsConstructor
+public class ConferenceLivePhoto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    private Long conferenceId;
+
+    private Long agendaId;
+
+    private String title;
+
+    private String photo;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private LocalDateTime createTime;
+
+    private Integer isTop;
+
+
+}

+ 49 - 0
src/main/java/com/smcic/api/conference/entity/ConferenceLiveVideo.java

@@ -0,0 +1,49 @@
+package com.smcic.api.conference.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author syj
+ * @since 2024-03-28
+ */
+@Getter
+@Setter
+@TableName("conference_live_video")
+public class ConferenceLiveVideo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    private Long conferenceId;
+
+    private Long agendaId;
+
+    private String title;
+
+    private String cover;
+
+    private String video;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private LocalDateTime createTime;
+
+    private Integer isTop;
+
+    private Integer type;
+
+
+}

+ 5 - 0
src/main/java/com/smcic/api/conference/entity/ConferenceNews.java

@@ -79,5 +79,10 @@ public class ConferenceNews implements Serializable {
      */
     private Integer isTop;
 
+    /**
+     * 1.图文 2.视频 3.链接 4.视频号
+     * */
+    private Integer type;
+
 
 }

+ 43 - 0
src/main/java/com/smcic/api/conference/entity/ConferencePartner.java

@@ -0,0 +1,43 @@
+package com.smcic.api.conference.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author syj
+ * @since 2024-03-28
+ */
+@Getter
+@Setter
+@TableName("conference_partner")
+public class ConferencePartner implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    private Long conferenceId;
+
+    private String partnerName;
+
+    private String logo;
+
+    private String partnerType;
+
+    private String website;
+
+    private Integer sortNo;
+
+    private Integer status;
+
+
+}

+ 16 - 0
src/main/java/com/smcic/api/conference/mapper/ConferenceLivePhotoMapper.java

@@ -0,0 +1,16 @@
+package com.smcic.api.conference.mapper;
+
+import com.smcic.api.conference.entity.ConferenceLivePhoto;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author syj
+ * @since 2024-03-28
+ */
+public interface ConferenceLivePhotoMapper extends BaseMapper<ConferenceLivePhoto> {
+
+}

+ 16 - 0
src/main/java/com/smcic/api/conference/mapper/ConferenceLiveVideoMapper.java

@@ -0,0 +1,16 @@
+package com.smcic.api.conference.mapper;
+
+import com.smcic.api.conference.entity.ConferenceLiveVideo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author syj
+ * @since 2024-03-28
+ */
+public interface ConferenceLiveVideoMapper extends BaseMapper<ConferenceLiveVideo> {
+
+}

+ 16 - 0
src/main/java/com/smcic/api/conference/mapper/ConferencePartnerMapper.java

@@ -0,0 +1,16 @@
+package com.smcic.api.conference.mapper;
+
+import com.smcic.api.conference.entity.ConferencePartner;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author syj
+ * @since 2024-03-28
+ */
+public interface ConferencePartnerMapper extends BaseMapper<ConferencePartner> {
+
+}

+ 16 - 0
src/main/java/com/smcic/api/conference/service/IConferenceLivePhotoService.java

@@ -0,0 +1,16 @@
+package com.smcic.api.conference.service;
+
+import com.smcic.api.conference.entity.ConferenceLivePhoto;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author syj
+ * @since 2024-03-28
+ */
+public interface IConferenceLivePhotoService extends IService<ConferenceLivePhoto> {
+
+}

+ 16 - 0
src/main/java/com/smcic/api/conference/service/IConferenceLiveVideoService.java

@@ -0,0 +1,16 @@
+package com.smcic.api.conference.service;
+
+import com.smcic.api.conference.entity.ConferenceLiveVideo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author syj
+ * @since 2024-03-28
+ */
+public interface IConferenceLiveVideoService extends IService<ConferenceLiveVideo> {
+
+}

+ 16 - 0
src/main/java/com/smcic/api/conference/service/IConferencePartnerService.java

@@ -0,0 +1,16 @@
+package com.smcic.api.conference.service;
+
+import com.smcic.api.conference.entity.ConferencePartner;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author syj
+ * @since 2024-03-28
+ */
+public interface IConferencePartnerService extends IService<ConferencePartner> {
+
+}

+ 63 - 0
src/main/java/com/smcic/api/conference/service/impl/ConferenceLivePhotoServiceImpl.java

@@ -0,0 +1,63 @@
+package com.smcic.api.conference.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.smcic.api.conference.dto.BatchPhoto;
+import com.smcic.api.conference.entity.ConferenceLivePhoto;
+import com.smcic.api.conference.mapper.ConferenceLivePhotoMapper;
+import com.smcic.api.conference.service.IConferenceLivePhotoService;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.ThreadPoolExecutor;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author syj
+ * @since 2024-03-28
+ */
+@Service
+public class ConferenceLivePhotoServiceImpl extends ServiceImpl<ConferenceLivePhotoMapper, ConferenceLivePhoto> implements IConferenceLivePhotoService {
+
+    @Resource
+    private ThreadPoolExecutor threadPoolExecutor;
+
+    @Resource
+    private SSEService sseService;
+
+    public Page<ConferenceLivePhoto> photoPage(Long cid, Integer page, Integer pageSize) {
+        Page<ConferenceLivePhoto> page1 = new Page<>(page, pageSize);
+
+        LambdaQueryWrapper<ConferenceLivePhoto> wrapper = new LambdaQueryWrapper<>();
+        return this.baseMapper.selectPage(page1, wrapper.eq(ConferenceLivePhoto::getConferenceId, cid)
+                .orderByDesc(ConferenceLivePhoto::getIsTop)
+                .orderByDesc(ConferenceLivePhoto::getId));
+    }
+
+    @Transactional
+    public void batchCreate(BatchPhoto batchPhoto){
+        List<ConferenceLivePhoto> photos = new ArrayList<>();
+        LocalDateTime now = LocalDateTime.now();
+        for(String url : batchPhoto.getPhoto()){
+            ConferenceLivePhoto conferenceLivePhoto = new ConferenceLivePhoto();
+
+            conferenceLivePhoto.setConferenceId(batchPhoto.getConferenceId());
+            conferenceLivePhoto.setAgendaId(batchPhoto.getAgendaId());
+            conferenceLivePhoto.setTitle(batchPhoto.getTitle());
+            conferenceLivePhoto.setPhoto(url);
+            conferenceLivePhoto.setCreateTime(now);
+            photos.add(conferenceLivePhoto);
+        }
+        saveBatch(photos);
+
+        threadPoolExecutor.execute(()-> sseService.sendData(batchPhoto.getConferenceId(), photos));
+    }
+}

+ 42 - 0
src/main/java/com/smcic/api/conference/service/impl/ConferenceLiveVideoServiceImpl.java

@@ -0,0 +1,42 @@
+package com.smcic.api.conference.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.smcic.api.conference.entity.ConferenceLiveVideo;
+import com.smcic.api.conference.mapper.ConferenceLiveVideoMapper;
+import com.smcic.api.conference.service.IConferenceLiveVideoService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author syj
+ * @since 2024-03-28
+ */
+@Service
+public class ConferenceLiveVideoServiceImpl extends ServiceImpl<ConferenceLiveVideoMapper, ConferenceLiveVideo> implements IConferenceLiveVideoService {
+
+
+    public ConferenceLiveVideo create(ConferenceLiveVideo conferenceLiveVideo) {
+        conferenceLiveVideo.setCreateTime(LocalDateTime.now());
+        if(conferenceLiveVideo.getType() == 1){
+            conferenceLiveVideo.setCover(conferenceLiveVideo.getVideo() + "?x-oss-process=video/snapshot,t_3000,m_fast");
+        }
+        save( conferenceLiveVideo);
+        return conferenceLiveVideo;
+    }
+
+    public Page<ConferenceLiveVideo> videoPage(Long cid, Integer page, Integer pageSize) {
+        Page<ConferenceLiveVideo> page1 = new Page<>(page, pageSize);
+
+        LambdaQueryWrapper<ConferenceLiveVideo>  wrapper = new LambdaQueryWrapper<>();
+        return this.baseMapper.selectPage(page1, wrapper.eq(ConferenceLiveVideo::getConferenceId, cid)
+                        .orderByDesc(ConferenceLiveVideo::getIsTop)
+                .orderByDesc(ConferenceLiveVideo::getId));
+    }
+}

+ 28 - 0
src/main/java/com/smcic/api/conference/service/impl/ConferencePartnerServiceImpl.java

@@ -0,0 +1,28 @@
+package com.smcic.api.conference.service.impl;
+
+import com.smcic.api.conference.entity.ConferencePartner;
+import com.smcic.api.conference.mapper.ConferencePartnerMapper;
+import com.smcic.api.conference.service.IConferencePartnerService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author syj
+ * @since 2024-03-28
+ */
+@Service
+public class ConferencePartnerServiceImpl extends ServiceImpl<ConferencePartnerMapper, ConferencePartner> implements IConferencePartnerService {
+
+    public List<ConferencePartner> listByCid(Long cid){
+        return lambdaQuery().eq(ConferencePartner::getConferenceId, cid)
+                .eq(ConferencePartner::getStatus, 1)
+                .orderByAsc(ConferencePartner::getSortNo)
+                .list();
+    }
+}

+ 52 - 0
src/main/java/com/smcic/api/conference/service/impl/SSEService.java

@@ -0,0 +1,52 @@
+package com.smcic.api.conference.service.impl;
+
+import com.smcic.core.advice.APIException;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
+
+import java.io.IOException;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+@Service
+@Slf4j
+public class SSEService {
+
+    private Map<Long, Map<String,SseEmitter>>  sseDataMap = new ConcurrentHashMap<>();
+
+    public void monitor(Long cid, String uuid, SseEmitter sseEmitter) {
+        if(!sseDataMap.containsKey(cid)){
+            sseDataMap.put(cid, new ConcurrentHashMap<>());
+        }
+        sseDataMap.get(cid).put(uuid,sseEmitter);
+    }
+
+    public void sendData(Long cid, Object data) {
+        try {
+
+            if (sseDataMap != null &&  sseDataMap.containsKey(cid)) {
+                Map<String, SseEmitter> stringSseEmitterMap = sseDataMap.get(cid);
+                for (String uuid : stringSseEmitterMap.keySet()){
+                    stringSseEmitterMap.get(uuid).send(SseEmitter.event().name("data").data(data));
+                }
+            }
+        }catch (IOException e){
+            log.error("发送数据失败",e);
+        }
+
+    }
+
+    public void complate(Long cid, String uuid) {
+        if (sseDataMap.containsKey(cid) && sseDataMap.get(cid).containsKey(uuid)) {
+            Map<String, SseEmitter> stringSseEmitterMap = sseDataMap.get(cid);
+            SseEmitter sseEmitter = stringSseEmitterMap.get(uuid);
+            sseEmitter.complete();
+            log.info("关闭连接");
+            stringSseEmitterMap.remove(uuid);
+            if(stringSseEmitterMap.isEmpty()){
+                sseDataMap.remove(cid);
+            }
+        }
+    }
+}

+ 12 - 5
src/test/java/conference.http

@@ -36,6 +36,7 @@ Content-Type: application/json
   "confContent": "<div>手册内容xxxxxx</div>"
 }
 
+
 ### 配置列表,根据会议id查询
 GET {{ip}}/conference/conf/list/1066
 
@@ -73,7 +74,7 @@ Content-Type: application/json
 ### 座次查询, 根据议程id查询
 GET {{ip}}/conference/agenda/seat/info/1
 
-### 新闻咨询
+### 新闻咨询 type: 1.图文 2.视频 3.链接 4.视频号
 ### 新闻创建
 POST {{ip}}/conference/news/create
 Content-Type: application/json
@@ -87,7 +88,8 @@ Content-Type: application/json
   "author": "作者",
   "source": "来源:西部网",
   "publishTime": "2024-03-16 12:23:22",
-  "isTop": 99
+  "isTop": 99,
+  "type": 1
 }
 
 
@@ -171,7 +173,7 @@ Content-Type: text/plain
 1066
 --WebAppBoundary
 
-### 精彩视频
+### 精彩视频 type: 1.小程序视频  2.视频号视频
 POST {{ip}}/conference/live-video/create
 Content-Type: application/json
 
@@ -181,7 +183,8 @@ Content-Type: application/json
   "title": "精彩片段",
   "cover": "封面",
   "video": "视频",
-  "isTop": 1
+  "isTop": 1,
+  "type": 1
 }
 
 ### 精彩视频列表
@@ -202,4 +205,8 @@ Content-Type: application/json
 }
 
 ### 直播图片获取/conference/live-photo/list/{{id}}
-GET {{ip}}/conference/live-photo/list/1066?page=1&pageSize=20
+GET {{ip}}/conference/live-photo/list/1066?page=1&pageSize=20
+
+
+### 直播图片实时推送sse
+GET {{ip}}/conference/photo-sse/1066