lyhzzz преди 1 месец
родител
ревизия
6181fd6010

+ 35 - 8
src/main/java/com/fdkankan/ucenter/controller/ArticleController.java

@@ -1,18 +1,24 @@
 package com.fdkankan.ucenter.controller;
 
 
+import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.fdkankan.ucenter.common.BaseController;
 import com.fdkankan.ucenter.common.Result;
+import com.fdkankan.ucenter.common.ResultData;
 import com.fdkankan.ucenter.entity.Article;
 import com.fdkankan.ucenter.entity.Case;
 import com.fdkankan.ucenter.service.IArticleService;
 import com.fdkankan.ucenter.service.ICaseService;
+import com.fdkankan.ucenter.service.IFeedbackOptionService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.ObjectUtils;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * <p>
  *  前端控制器
@@ -27,6 +33,8 @@ public class ArticleController extends BaseController {
 
     @Autowired
     ICaseService caseService;
+    @Autowired
+    IFeedbackOptionService feedbackOptionService;
     /**
      * 行业解决方案-案例展示
      */
@@ -44,15 +52,34 @@ public class ArticleController extends BaseController {
         if("zh".equals(lang)){
             lang = "cn";
         }
-        LambdaQueryWrapper<Case> wrapper = new LambdaQueryWrapper<>();
-        if(StringUtils.isNotBlank(caseEntity.getTypeId())){
-            wrapper.eq(Case::getTypeId,caseEntity.getTypeId());
+        caseEntity.setLanguage(lang);
+
+        return Result.success(caseService.allList(caseEntity));
+    }
+
+    @GetMapping("/feedbackOptionList")
+    public Result feedbackOptionList(){
+        Case caseEntity = new Case();
+        String lang = getLang();
+        if("zh".equals(lang)){
+            lang = "cn";
+        }
+        caseEntity.setLanguage(lang);
+        List<Case> cases = caseService.allList(caseEntity);
+        List<String> ids = new ArrayList<>();
+        for (Case aCase : cases) {
+            if(StringUtils.isNotBlank(aCase.getFeedbackOptionIds())){
+                JSONArray jsonArray = JSONArray.parseArray(aCase.getFeedbackOptionIds());
+                for (Object object : jsonArray) {
+                    ids.add((String) object);
+                }
+            }
         }
-        wrapper.eq(Case::getLanguage,lang);
-        wrapper.eq(Case::getIsPublic,1);
-        wrapper.orderByAsc(Case::getSort);
-        wrapper.orderByAsc(Case::getId);
-        return Result.success(caseService.list(wrapper));
+        if(ids.isEmpty()){
+            return Result.success();
+        }
+
+        return Result.success(feedbackOptionService.listByIds(ids));
     }
 }
 

+ 21 - 0
src/main/java/com/fdkankan/ucenter/controller/FeedbackOptionController.java

@@ -0,0 +1,21 @@
+package com.fdkankan.ucenter.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2025-11-14
+ */
+@RestController
+@RequestMapping("/ucenter/feedbackOption")
+public class FeedbackOptionController {
+
+}
+

+ 8 - 0
src/main/java/com/fdkankan/ucenter/entity/Case.java

@@ -46,6 +46,9 @@ public class Case implements Serializable {
     @TableField("icon_ids")
     private String iconIds;
 
+    @TableField("feedback_option_ids")
+    private String feedbackOptionIds;
+
     /**
      * 排序字段
      */
@@ -118,4 +121,9 @@ public class Case implements Serializable {
 
 
 
+    @TableField(exist = false)
+    private String iconId;
+
+    @TableField(exist = false)
+    private String feedbackOptionId;
 }

+ 69 - 0
src/main/java/com/fdkankan/ucenter/entity/FeedbackOption.java

@@ -0,0 +1,69 @@
+package com.fdkankan.ucenter.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2025-11-14
+ */
+@Getter
+@Setter
+@TableName("t_feedback_option")
+public class FeedbackOption implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @TableField("name_cn")
+    private String nameCn;
+
+    @TableField("name_en")
+    private String nameEn;
+
+    @TableField("type_id")
+    private Integer typeId;
+
+    @TableField("remark")
+    private String remark;
+
+    /**
+     * 1系统预设,0自定义添加
+     */
+    @TableField("is_system")
+    private Integer isSystem;
+
+    @TableField("rec_status")
+    @TableLogic(value = "A",delval = "I")
+    private String recStatus;
+
+    @TableField("sys_user_id")
+    private Integer sysUserId;
+
+    @TableField("ai_option")
+    private String aiOption;
+
+    @TableField("model_api")
+    private String modelApi;
+
+    @TableField("create_time")
+    private Date createTime;
+
+    @TableField("update_time")
+    private Date updateTime;
+
+
+}

+ 1 - 1
src/main/java/com/fdkankan/ucenter/generate/AutoGenerate.java

@@ -18,7 +18,7 @@ public class AutoGenerate {
         String path =System.getProperty("user.dir") ;
 
         generate(path,"ucenter", getTables(new String[]{
-                "t_contact_us_scene"
+                "t_feedback_option"
         }));
 
 //        generate(path,"goods", getTables(new String[]{

+ 18 - 0
src/main/java/com/fdkankan/ucenter/mapper/IFeedbackOptionMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.ucenter.mapper;
+
+import com.fdkankan.ucenter.entity.FeedbackOption;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2025-11-14
+ */
+@Mapper
+public interface IFeedbackOptionMapper extends BaseMapper<FeedbackOption> {
+
+}

+ 3 - 0
src/main/java/com/fdkankan/ucenter/service/ICaseService.java

@@ -3,6 +3,8 @@ package com.fdkankan.ucenter.service;
 import com.fdkankan.ucenter.entity.Case;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
  * <p>
  *  服务类
@@ -13,4 +15,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface ICaseService extends IService<Case> {
 
+    List<Case> allList(Case caseEntity);
 }

+ 16 - 0
src/main/java/com/fdkankan/ucenter/service/IFeedbackOptionService.java

@@ -0,0 +1,16 @@
+package com.fdkankan.ucenter.service;
+
+import com.fdkankan.ucenter.entity.FeedbackOption;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2025-11-14
+ */
+public interface IFeedbackOptionService extends IService<FeedbackOption> {
+
+}

+ 22 - 0
src/main/java/com/fdkankan/ucenter/service/impl/CaseServiceImpl.java

@@ -1,11 +1,15 @@
 package com.fdkankan.ucenter.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.fdkankan.ucenter.entity.Case;
 import com.fdkankan.ucenter.mapper.ICaseMapper;
 import com.fdkankan.ucenter.service.ICaseService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  *  服务实现类
@@ -17,4 +21,22 @@ import org.springframework.stereotype.Service;
 @Service
 public class CaseServiceImpl extends ServiceImpl<ICaseMapper, Case> implements ICaseService {
 
+    @Override
+    public List<Case> allList(Case caseEntity) {
+        LambdaQueryWrapper<Case> wrapper = new LambdaQueryWrapper<>();
+        if(StringUtils.isNotBlank(caseEntity.getTypeId())){
+            wrapper.eq(Case::getTypeId,caseEntity.getTypeId());
+        }
+        if(StringUtils.isNotBlank(caseEntity.getIconId())){
+            wrapper.apply("JSON_CONTAINS(icon_ids, "+caseEntity.getIconId()+")");
+        }
+        if(StringUtils.isNotBlank(caseEntity.getFeedbackOptionId())){
+            wrapper.apply("JSON_CONTAINS(feedback_option_ids, "+caseEntity.getFeedbackOptionId()+")");
+        }
+        wrapper.eq(Case::getLanguage,caseEntity.getLanguage());
+        wrapper.eq(Case::getIsPublic,1);
+        wrapper.orderByAsc(Case::getSort);
+        wrapper.orderByAsc(Case::getId);
+        return this.list(wrapper);
+    }
 }

+ 20 - 0
src/main/java/com/fdkankan/ucenter/service/impl/FeedbackOptionServiceImpl.java

@@ -0,0 +1,20 @@
+package com.fdkankan.ucenter.service.impl;
+
+import com.fdkankan.ucenter.entity.FeedbackOption;
+import com.fdkankan.ucenter.mapper.IFeedbackOptionMapper;
+import com.fdkankan.ucenter.service.IFeedbackOptionService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2025-11-14
+ */
+@Service
+public class FeedbackOptionServiceImpl extends ServiceImpl<IFeedbackOptionMapper, FeedbackOption> implements IFeedbackOptionService {
+
+}

+ 5 - 0
src/main/resources/mapper/ucenter/FeedbackOptionMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fdkankan.ucenter.mapper.IFeedbackOptionMapper">
+
+</mapper>