lyhzzz 1 month ago
parent
commit
1ef40509a6

+ 19 - 0
src/main/java/com/fdkankan/manage/service/impl/FeedbackOptionServiceImpl.java

@@ -1,6 +1,7 @@
 package com.fdkankan.manage.service.impl;
 
 import cn.dev33.satoken.stp.StpUtil;
+import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -48,12 +49,30 @@ public class FeedbackOptionServiceImpl extends ServiceImpl<IFeedbackOptionMapper
         Page<FeedbackOption> page = this.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper);
         Set<Long> sysIds = page.getRecords().stream().map(FeedbackOption::getSysUserId).collect(Collectors.toSet());
         HashMap<Long, SysUser> byIds = sysUserService.getByIds(sysIds);
+        List<JSONArray> aiIds = page.getRecords().stream().map(FeedbackOption::getAiOption).collect(Collectors.toList());
+        HashSet<Integer> ids = new HashSet<>();
+        for (JSONArray aiId : aiIds) {
+            for (Object object : aiId) {
+                ids.add((Integer) object);
+            }
+        }
+        HashMap<Integer, FeedbackOption> mapByIds = this.getMapByIds(ids);
         for (FeedbackOption record : page.getRecords()) {
             SysUser sysUser = byIds.get(record.getSysUserId());
             if(sysUser != null){
                 record.setSysNickName(sysUser.getNickName());
                 record.setSysUserName(sysUser.getUserName());
             }
+
+            JSONArray feedbackOptionIds = record.getAiOption();
+            JSONArray newFeedIds = new JSONArray();
+            for (Object feedbackOptionId : feedbackOptionIds) {
+                FeedbackOption feedbackOption = mapByIds.get((Integer) feedbackOptionId);
+                if(feedbackOption !=null){
+                    newFeedIds.add(feedbackOption.getId());
+                }
+            }
+            record.setAiOption(newFeedIds);
         }
         return PageInfo.PageInfo(page);
     }