From 2c04f9f1d5e7379ae41f8b3281a15d56aefc4e1c Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期六, 22 七月 2023 17:24:26 +0800
Subject: [PATCH] 优化app任务详情查询

---
 ard-work/src/main/java/com/ruoyi/app/task/service/impl/ArdAppTaskServiceImpl.java |   18 +++++---
 ard-work/src/main/java/com/ruoyi/app/task/mapper/ArdAppTaskMapper.java            |    4 +-
 ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml                       |   36 +++++++++++++++---
 ard-work/src/main/java/com/ruoyi/app/task/controller/ArdAppTaskController.java    |    4 +-
 4 files changed, 45 insertions(+), 17 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/app/task/controller/ArdAppTaskController.java b/ard-work/src/main/java/com/ruoyi/app/task/controller/ArdAppTaskController.java
index 10529ba..0adc204 100644
--- a/ard-work/src/main/java/com/ruoyi/app/task/controller/ArdAppTaskController.java
+++ b/ard-work/src/main/java/com/ruoyi/app/task/controller/ArdAppTaskController.java
@@ -67,10 +67,10 @@
     /**
      * 鑾峰彇app浠诲姟绠$悊璇︾粏淇℃伅
      */
-    @ApiOperation("鑾峰彇app浠诲姟绠$悊璇︾粏淇℃伅")
+    @ApiOperation("鑾峰彇app浠诲姟绠$悊璇︾粏淇℃伅(鍥剧墖)")
     @PreAuthorize("@ss.hasPermi('app:task:query')")
     @GetMapping(value = "/{id}")
-    public AjaxResult getInfo(@PathVariable("id") String id)
+    public AjaxResult getInfoWithPic(@PathVariable("id") String id)
     {
         return success(ardAppTaskService.selectArdAppTaskById(id));
     }
diff --git a/ard-work/src/main/java/com/ruoyi/app/task/mapper/ArdAppTaskMapper.java b/ard-work/src/main/java/com/ruoyi/app/task/mapper/ArdAppTaskMapper.java
index 6869eb6..8d48079 100644
--- a/ard-work/src/main/java/com/ruoyi/app/task/mapper/ArdAppTaskMapper.java
+++ b/ard-work/src/main/java/com/ruoyi/app/task/mapper/ArdAppTaskMapper.java
@@ -19,8 +19,8 @@
      * @param id app浠诲姟绠$悊涓婚敭
      * @return app浠诲姟绠$悊
      */
-    public ArdAppTask selectArdAppTaskById(String id);
-
+    public ArdAppTask selectArdAppTaskByIdWithPic(String id);
+    public ArdAppTask selectArdAppTaskByIdWithDetail(String id);
     /**
      * 鏌ヨapp浠诲姟绠$悊鍒楄〃
      *
diff --git a/ard-work/src/main/java/com/ruoyi/app/task/service/impl/ArdAppTaskServiceImpl.java b/ard-work/src/main/java/com/ruoyi/app/task/service/impl/ArdAppTaskServiceImpl.java
index 79c86b7..0a3fc0c 100644
--- a/ard-work/src/main/java/com/ruoyi/app/task/service/impl/ArdAppTaskServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/app/task/service/impl/ArdAppTaskServiceImpl.java
@@ -12,6 +12,7 @@
 import com.ruoyi.common.utils.uuid.UUID;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
 import java.util.ArrayList;
 
 import com.ruoyi.common.utils.StringUtils;
@@ -36,6 +37,7 @@
     private ArdAppTaskMapper ardAppTaskMapper;
     @Resource
     private ArdAppTaskTextMapper ardAppTaskTextMapper;
+
     /**
      * 鏌ヨapp浠诲姟绠$悊
      *
@@ -44,7 +46,10 @@
      */
     @Override
     public ArdAppTask selectArdAppTaskById(String id) {
-        return ardAppTaskMapper.selectArdAppTaskById(id);
+        ArdAppTask task = ardAppTaskMapper.selectArdAppTaskByIdWithPic(id);
+        ArdAppTask temp = ardAppTaskMapper.selectArdAppTaskByIdWithDetail(id);
+        task.setArdAppTaskDetailList(temp.getArdAppTaskDetailList());
+        return task;
     }
 
     /**
@@ -133,8 +138,7 @@
         String id = ardAppTask.getId();
         if (StringUtils.isNotNull(ardAppTaskPicList)) {
             List<ArdAppTaskPic> list = new ArrayList<ArdAppTaskPic>();
-            for (ArdAppTaskPic ardAppTaskPic :ardAppTaskPicList)
-            {
+            for (ArdAppTaskPic ardAppTaskPic : ardAppTaskPicList) {
                 ardAppTaskPic.setId(IdUtils.simpleUUID());
                 ardAppTaskPic.setTaskId(id);
                 list.add(ardAppTaskPic);
@@ -152,7 +156,7 @@
      */
     public void insertArdAppTaskDetail(ArdAppTask ardAppTask) {
         List<String> userIds = ardAppTask.getUserIds();
-        for(String userId:userIds) {
+        for (String userId : userIds) {
             List<ArdAppTaskDetail> ardAppTaskDetailList = ardAppTask.getArdAppTaskDetailList();
             String id = ardAppTask.getId();
             if (StringUtils.isNotNull(ardAppTaskDetailList)) {
@@ -169,6 +173,7 @@
             }
         }
     }
+
     /**
      * 鏂板app浠诲姟鎻忚堪淇℃伅
      *
@@ -177,13 +182,12 @@
     public void insertArdAppTaskText(ArdAppTask ardAppTask) {
         String userId = ardAppTask.getUserId();
         String text = ardAppTask.getText();
-        ArdAppTaskText ardAppTaskText=new ArdAppTaskText();
+        ArdAppTaskText ardAppTaskText = new ArdAppTaskText();
         ardAppTaskText.setId(IdUtils.simpleUUID());
         ardAppTaskText.setUserId(userId);
         ardAppTaskText.setText(text);
         List<ArdAppTaskText> ardAppTaskTexts = ardAppTaskTextMapper.selectArdAppTaskTextList(ardAppTaskText);
-        if(ardAppTaskTexts.size()==0)
-        {
+        if (ardAppTaskTexts.size() == 0) {
             ardAppTaskTextMapper.insertArdAppTaskText(ardAppTaskText);
         }
     }
diff --git a/ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml b/ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml
index 53d6ecd..c4a8f50 100644
--- a/ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml
+++ b/ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml
@@ -55,8 +55,8 @@
                c.update_by,
                c.update_time
         from ard_app_task c
-        left join sys_dept d on d.dept_id = c.dept_id
-        left join sys_user u on u.user_id = c.user_id
+                 left join sys_dept d on d.dept_id = c.dept_id
+                 left join sys_user u on u.user_id = c.user_id
     </sql>
 
     <select id="selectArdAppTaskList" parameterType="ArdAppTask" resultMap="ArdAppTaskResult">
@@ -74,7 +74,7 @@
         </where>
     </select>
 
-    <select id="selectArdAppTaskById" parameterType="String" resultMap="ArdAppTaskArdAppTaskPicResult">
+    <select id="selectArdAppTaskByIdWithPic" parameterType="String" resultMap="ArdAppTaskArdAppTaskPicResult">
         select a.id,
                a.name,
                a.text,
@@ -90,10 +90,31 @@
                b.pic_url as sub_pic_url
         from ard_app_task a
                  left join ard_app_task_pic b on b.task_id = a.id
+        where a.id = #{id}
+    </select>
+    <select id="selectArdAppTaskByIdWithDetail" parameterType="String" resultMap="ArdAppTaskArdAppTaskDetailResult">
+        select a.id,
+               a.name,
+               a.text,
+               a.voice,
+               a.dept_id,
+               a.user_id,
+               a.create_by,
+               a.create_time,
+               a.update_by,
+               a.update_time,
+               c.id   as sub_id,
+               c.name as sub_name,
+               c.longitude as sub_longitude,
+               c.latitude as sub_latitde,
+               c.altitude as sub_altitude,
+               c.user_id as sub_user_id,
+               c.text as sub_text,
+               c.voice as sub_voice
+        from ard_app_task a
                  left join ard_app_task_detail c on c.task_id = a.id
         where a.id = #{id}
     </select>
-
     <insert id="insertArdAppTask" parameterType="ArdAppTask">
         insert into ard_app_task
         <trim prefix="(" suffix=")" suffixOverrides=",">
@@ -178,13 +199,16 @@
     </delete>
 
     <delete id="deleteArdAppTaskDetailByTaskId" parameterType="String">
-        delete from ard_app_task_detail where task_id = #{taskId}
+        delete
+        from ard_app_task_detail
+        where task_id = #{taskId}
     </delete>
 
     <insert id="batchArdAppTaskDetail">
         insert into ard_app_task_detail( id, name, longitude, latitude, altitude, user_id, text, voice, task_id) values
         <foreach item="item" index="index" collection="list" separator=",">
-            ( #{item.id}, #{item.name}, #{item.longitude}, #{item.latitude}, #{item.altitude}, #{item.userId}, #{item.text}, #{item.voice}, #{item.taskId})
+            ( #{item.id}, #{item.name}, #{item.longitude}, #{item.latitude}, #{item.altitude}, #{item.userId},
+            #{item.text}, #{item.voice}, #{item.taskId})
         </foreach>
     </insert>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3