Forráskód Böngészése

新增 镜像系统公告

chenbiao 2 éve
szülő
commit
25470b6c9c

+ 12 - 0
netflix-dao/src/main/java/com/cyksj/mapper/MirrorNoticeMapper.java

@@ -0,0 +1,12 @@
+package com.cyksj.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.cyksj.model.entity.MirrorNotice;
+
+/**
+ * @author chan
+ * @date 2024/6/21 14:59
+ */
+public interface MirrorNoticeMapper extends BaseMapper<MirrorNotice> {
+
+}

+ 31 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/MirrorNotice.java

@@ -0,0 +1,31 @@
+package com.cyksj.model.entity;
+
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author chan
+ * @date 2024/6/21 14:57
+ */
+@Data
+@SearchBean(tables = "mirror_notice")
+public class MirrorNotice extends BaseEntity implements Serializable {
+
+    /**
+     * 平台 MJ GPT
+     */
+    private String platform;
+
+    /**
+     * 富文本
+     */
+    private String text;
+
+    /**
+     * 状态
+     */
+    private Boolean status;
+
+}

+ 11 - 0
netflix-service/src/main/java/com/cyksj/service/sys/MirrorNoticeService.java

@@ -0,0 +1,11 @@
+package com.cyksj.service.sys;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.cyksj.model.entity.MirrorNotice;
+
+/**
+ * @author chan
+ * @date 2024/6/21 15:40
+ */
+public interface MirrorNoticeService extends IService<MirrorNotice> {
+}

+ 18 - 0
netflix-service/src/main/java/com/cyksj/service/sys/impl/MirrorNoticeServiceImpl.java

@@ -0,0 +1,18 @@
+package com.cyksj.service.sys.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.cyksj.mapper.MirrorNoticeMapper;
+import com.cyksj.model.entity.MirrorNotice;
+import com.cyksj.service.sys.MirrorNoticeService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author chan
+ * @date 2024/6/21 15:40
+ */
+@Service
+@Slf4j
+public class MirrorNoticeServiceImpl extends ServiceImpl<MirrorNoticeMapper, MirrorNotice> implements MirrorNoticeService {
+
+}

+ 80 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/sys/CmsMirrorNoticeController.java

@@ -0,0 +1,80 @@
+package com.cyksj.web.controller.manage.sys;
+
+import com.cyksj.common.exception.BusinessRuntimeException;
+import com.cyksj.dto.Result;
+import com.cyksj.enums.GatewayResponse;
+import com.cyksj.model.entity.MirrorNotice;
+import com.cyksj.service.sys.MirrorNoticeService;
+import com.ejlchina.searcher.BeanSearcher;
+import com.ejlchina.searcher.SearchResult;
+import com.ejlchina.searcher.util.MapUtils;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * 镜像系统公告管理
+ * @author chan
+ * @date 2024/6/21 15:35
+ */
+@Slf4j
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/manage/mirror/notice")
+public class CmsMirrorNoticeController {
+
+    private final BeanSearcher beanSearcher;
+
+    private final HttpServletRequest request;
+
+    private final MirrorNoticeService mirrorNoticeService;
+
+    /**
+     * 公告列表
+     */
+    @GetMapping
+    public Result<SearchResult<MirrorNotice>> get(){
+        SearchResult<MirrorNotice> search = beanSearcher.search(MirrorNotice.class, MapUtils.flatBuilder(request.getParameterMap()).build());
+        return GatewayResponse.SUCCESS.newBuilder().toResult(search);
+    }
+
+    /**
+     * 新增公告
+     */
+    @PostMapping
+    public Result<String> add(@RequestBody MirrorNotice mirrorNotice){
+        mirrorNoticeService.save(mirrorNotice);
+        return GatewayResponse.SUCCESS.newBuilder().toResult();
+    }
+
+    /**
+     * 修改公告
+     */
+    @PutMapping
+    public Result<MirrorNotice> update(@RequestBody MirrorNotice mirrorNotice){
+        if(mirrorNotice.getId() == null){
+            throw BusinessRuntimeException.getInstance("缺少必填参数");
+        }
+        MirrorNotice oldNotice = mirrorNoticeService.getById(mirrorNotice.getId());
+        if (oldNotice == null) {
+            throw BusinessRuntimeException.getInstance("公告不存在");
+        }
+        mirrorNoticeService.updateById(mirrorNotice);
+        return GatewayResponse.SUCCESS.newBuilder().toResult(mirrorNoticeService.getById(mirrorNotice.getId()));
+    }
+
+    /**
+     * 删除公告
+     */
+    @DeleteMapping("/{id}")
+    public Result<String> del(@PathVariable Long id){
+        MirrorNotice mirrorNotice = mirrorNoticeService.getById(id);
+        if (mirrorNotice == null) {
+            throw BusinessRuntimeException.getInstance("公告不存在");
+        }
+        mirrorNoticeService.removeById(id);
+        return GatewayResponse.SUCCESS.newBuilder().toResult();
+    }
+}

+ 6 - 1
netflix-web/src/main/java/com/cyksj/web/controller/mirror/MirrorController.java

@@ -183,11 +183,16 @@ public class MirrorController {
      * 对话成功后记录次数
      */
     @RequestMapping("/gpt/conversation/notifyUrl")
-    public void conversationNotifyUrl(@RequestParam(value = "isCar", defaultValue = "false") Boolean isCar, @RequestBody ConversationRequest conversationRequest) {
+    public void conversationNotifyUrl(@RequestParam(value = "isCar", defaultValue = "false") Boolean isCar) {
         //1.从request获取请求头Authorization 并取 值内 'Bearer ' 后的值为usertoken
         String authorization = request.getHeader("Authorization");
         String carid = request.getHeader("Carid");
+        String model = request.getHeader("Model");
+        String conversation_id = request.getHeader("Convid");
+        ConversationRequest conversationRequest = new ConversationRequest();
         conversationRequest.setCarId(carid);
+        conversationRequest.setModel(model);
+        conversationRequest.setConversation_id(conversation_id);
         String userToken = authorization.substring(7);
         //2.根据usertoken 查询 chatgpt_user 表中的记录
         ChatgptUser user = chatGptAccountService.findByUserTokenAndExpireTimeAfter(userToken, LocalDateTime.now());

+ 40 - 0
netflix-web/src/main/java/com/cyksj/web/controller/mirror/MirrorNoticeController.java

@@ -0,0 +1,40 @@
+package com.cyksj.web.controller.mirror;
+
+import com.cyksj.dto.Result;
+import com.cyksj.enums.GatewayResponse;
+import com.cyksj.model.entity.MirrorNotice;
+import com.ejlchina.searcher.BeanSearcher;
+import com.ejlchina.searcher.SearchResult;
+import com.ejlchina.searcher.util.MapUtils;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ *  镜像系统公告
+ * @author chan
+ * @date 2024/6/21 14:40
+ */
+@RestController
+@RequestMapping("/applets/mirror/notice")
+@RequiredArgsConstructor
+@Slf4j
+public class MirrorNoticeController {
+
+    private final BeanSearcher beanSearcher;
+
+    private final HttpServletRequest request;
+
+    /**
+     * 查看公告列表
+     */
+    @GetMapping
+    private Result<SearchResult<MirrorNotice>> get(){
+        return GatewayResponse.SUCCESS.newBuilder().toResult( beanSearcher.search(MirrorNotice.class, MapUtils.flatBuilder(request.getParameterMap()).field(MirrorNotice::getStatus, true).build()));
+    }
+
+}