瀏覽代碼

在职转接多级标签和课程在不同的栏目下是做新增

xw 1 周之前
父節點
當前提交
4fe293c8b7

+ 17 - 0
fs-company/src/main/java/com/fs/company/controller/qw/QwTagController.java

@@ -10,8 +10,11 @@ import com.fs.common.utils.poi.ExcelUtil;
 import com.fs.framework.security.LoginUser;
 import com.fs.framework.service.TokenService;
 import com.fs.qw.domain.QwTag;
+import com.fs.qw.domain.QwTagGroup;
 import com.fs.qw.param.QwTagParam;
 import com.fs.qw.service.IQwTagService;
+import com.fs.qw.service.IQwTagGroupService;
+import com.fs.qw.vo.QwTagGroupListVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
@@ -31,6 +34,8 @@ public class QwTagController extends BaseController
     @Autowired
     private IQwTagService qwTagService;
     @Autowired
+    private IQwTagGroupService qwTagGroupService;
+    @Autowired
     private TokenService tokenService;
     /**
      * 查询企微客户标签列表
@@ -44,6 +49,18 @@ public class QwTagController extends BaseController
         return getDataTable(list);
     }
 
+    /**
+     * 查询标签组列表(包含子标签)- 多级筛选
+     * 支持按标签组名称查询
+     */
+    @GetMapping("/tagGroupList")
+    public TableDataInfo tagGroupList(QwTagGroup qwTagGroup)
+    {
+        startPage();
+        List<QwTagGroupListVO> list = qwTagGroupService.selectQwTagGroupListVO(qwTagGroup);
+        return getDataTable(list);
+    }
+
     @PostMapping("/searchTags")
     public TableDataInfo  searchTags(@RequestBody QwTagParam tagParam)
     {

+ 14 - 0
fs-service/src/main/java/com/fs/course/mapper/FsCourseQuestionBankMapper.java

@@ -83,6 +83,20 @@ public interface FsCourseQuestionBankMapper
      */
     FsCourseQuestionBank selectFsCourseQuestionBankByTitle(@Param("title") String title);
 
+    /**
+     * 根据标题、题目类别、题目子类别查询题库
+     *
+     * @param title 标题
+     * @param questionType 题目类别
+     * @param questionSubType 题目子类别
+     * @return 题库
+     */
+    FsCourseQuestionBank selectFsCourseQuestionBankByTitleAndType(
+            @Param("title") String title,
+            @Param("questionType") Long questionType,
+            @Param("questionSubType") Long questionSubType
+    );
+
     /**
      * 批量更新题库(根据标题匹配)
      *

+ 8 - 4
fs-service/src/main/java/com/fs/course/service/impl/FsCourseQuestionBankServiceImpl.java

@@ -507,16 +507,20 @@ public class FsCourseQuestionBankServiceImpl implements IFsCourseQuestionBankSer
                 FsCourseQuestionBank questionBank = buildQuestionBank(importDTO, categoryData, nickName);
                 questionBank.setUserId(userId);
 
-                // 根据标题查询是否存在
-                FsCourseQuestionBank existingQuestion = fsCourseQuestionBankMapper.selectFsCourseQuestionBankByTitle(importDTO.getTitle());
+                // 根据标题、题目类别、题目子类别查询是否存在
+                FsCourseQuestionBank existingQuestion = fsCourseQuestionBankMapper.selectFsCourseQuestionBankByTitleAndType(
+                        importDTO.getTitle(),
+                        questionBank.getQuestionType(),
+                        questionBank.getQuestionSubType()
+                );
 
                 if (existingQuestion != null) {
-                    // 标题存在,更新除标题外的其他信息
+                    // 相同标题且相同类别,更新除标题外的其他信息
                     questionBank.setId(existingQuestion.getId());
                     updateList.add(questionBank);
                     result.addUpdate(importDTO.getTitle());
                 } else {
-                    // 标题不存在,新增
+                    // 不同类别下的相同标题,或全新的标题,都新增
                     insertList.add(questionBank);
                     result.addInsert(importDTO.getTitle());
                 }

+ 15 - 1
fs-service/src/main/resources/mapper/course/FsCourseQuestionBankMapper.xml

@@ -148,6 +148,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         limit 1
     </select>
 
+    <select id="selectFsCourseQuestionBankByTitleAndType" resultMap="FsCourseQuestionBankResult">
+        <include refid="selectFsCourseQuestionBankVo"/>
+        <where>
+            title = #{title}
+            <if test="questionType != null">
+                and question_type = #{questionType}
+            </if>
+            <if test="questionSubType != null">
+                and question_sub_type = #{questionSubType}
+            </if>
+        </where>
+        limit 1
+    </select>
+
     <update id="updateFsCourseQuestionBankBatch">
         <foreach collection="list" item="item" separator=";">
             update fs_course_question_bank
@@ -178,6 +192,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="item.questionSubType != null">question_sub_type = #{item.questionSubType},</if>
             <if test="item.userId != null">user_id = #{item.userId},</if>
         </set>
-        where title = #{item.title}
+        where id = #{item.id}
     </update>
 </mapper>