Parcourir la source

add
添加音视频时长

lifang il y a 3 mois
Parent
commit
398f0cdd9f

+ 28 - 27
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/service/impl/BizQuestionGroupSquareServiceImpl.java

@@ -4,6 +4,7 @@ import cn.hutool.core.util.ObjectUtil;
 import cn.tr.core.exception.TRExcCode;
 import cn.tr.core.strategy.LoginUserStrategy;
 import cn.tr.core.tenant.TenantContextHolder;
+import cn.tr.module.api.sys.tenant.SysTenantApi;
 import cn.tr.module.smart.common.mapper.BizQuestionGroupMapper;
 import cn.tr.module.smart.common.mapper.BizQuestionMapper;
 import cn.tr.module.smart.common.mapper.BizQuestionSquareMapper;
@@ -49,22 +50,22 @@ public class BizQuestionGroupSquareServiceImpl implements IBizQuestionGroupSquar
     private BizQuestionGroupRepository bizQuestionGroupRepository;
 
     /**
-    * 根据条件查询问卷组广场
-    * @param    query 查询参数
-    * @author   lf
-    * @date      2025/05/23 16:36
-    */
+     * 根据条件查询问卷组广场
+     * @param    query 查询参数
+     * @author   lf
+     * @date      2025/05/23 16:36
+     */
     @Override
     public List<BizQuestionGroupSquareDTO> selectBizQuestionGroupSquareList(BizQuestionGroupSquareQueryDTO query){
         return baseRepository.selectALlList(query);
     }
 
     /**
-    * 根据id查询问卷组广场
-    * @param    id 主键id
-    * @author   lf
-    * @date      2025/05/23 16:36
-    */
+     * 根据id查询问卷组广场
+     * @param    id 主键id
+     * @author   lf
+     * @date      2025/05/23 16:36
+     */
     @Override
     public BizQuestionGroupSquareDTO selectBizQuestionGroupSquareById(String id){
         BizQuestionGroupSquareDTO bizQuestionGroupSquareDTO = BizQuestionGroupSquareMapper.INSTANCE.convertDto(baseRepository.selectById(id));
@@ -77,23 +78,23 @@ public class BizQuestionGroupSquareServiceImpl implements IBizQuestionGroupSquar
     }
 
     /**
-    * 编辑问卷组广场
-    * @param   source 编辑实体类
-    * @author  lf
-    * @date     2025/05/23 16:36
-    */
+     * 编辑问卷组广场
+     * @param   source 编辑实体类
+     * @author  lf
+     * @date     2025/05/23 16:36
+     */
     @Transactional(rollbackFor = Exception.class)
     @Override
     public boolean updateBizQuestionGroupSquareById(BizQuestionGroupSquareDTO source){
-            return baseRepository.updateById(BizQuestionGroupSquareMapper.INSTANCE.convertPO(source))!=0;
+        return baseRepository.updateById(BizQuestionGroupSquareMapper.INSTANCE.convertPO(source))!=0;
     }
 
     /**
-    * 新增问卷组广场
-    * @param   source 新增实体类
-    * @author lf
-    * @date  2025/05/23 16:36
-    */
+     * 新增问卷组广场
+     * @param   source 新增实体类
+     * @author lf
+     * @date  2025/05/23 16:36
+     */
     @Override
     @Transactional(rollbackFor = Exception.class)
     public boolean insertBizQuestionGroupSquare(BizQuestionGroupSquareDTO source){
@@ -101,11 +102,11 @@ public class BizQuestionGroupSquareServiceImpl implements IBizQuestionGroupSquar
     }
 
     /**
-    * 删除问卷组广场详情
-    * @param  ids 删除主键集合
-    * @author lf
-    * @date    2025/05/23 16:36
-    */
+     * 删除问卷组广场详情
+     * @param  ids 删除主键集合
+     * @author lf
+     * @date    2025/05/23 16:36
+     */
     @Override
     @Transactional(rollbackFor = Exception.class)
     public int removeBizQuestionGroupSquareByIds(Collection<String> ids){
@@ -157,7 +158,7 @@ public class BizQuestionGroupSquareServiceImpl implements IBizQuestionGroupSquar
         BizQuestionGroupPO newBizQuestionGroupPO = BizQuestionGroupMapper.INSTANCE.convertQuestionGroupPO(bizQuestionGroupSquarePO);
         newBizQuestionGroupPO.setSquareId(bizQuestionGroupSquarePO.getId());
         if(ObjectUtil.isNotNull(bizQuestionGroupPO)){
-             //相同内容并且是自己医院问卷对问卷信息做更新
+            //相同内容并且是自己医院问卷对问卷信息做更新
             newBizQuestionGroupPO.setId(bizQuestionGroupPO.getId());
             newBizQuestionGroupPO.setUpdateBy(currentUserId);
             newBizQuestionGroupPO.setUpdateTime(new Date());

+ 13 - 3
tr-modules/tr-module-smartFollowUp/src/main/resources/mapper/smart/BizQuestionGroupSquareMapper.xml

@@ -21,7 +21,7 @@
         <result property="isPull" column="is_pull"/>
         <result property="tenantId" column="tenant_id"/>
         <result property="hospitalName" column="hospital_name"/>
-        <result property="tenantAvatar" column="tenant_avatar"/>
+<!--        <result property="tenantAvatar" column="tenant_avatar"/>-->
     </resultMap>
 
     <select id="selectALlList" resultMap="SquareList">
@@ -42,11 +42,21 @@
             bqgs.tenant_id,
         st.avatar as tenant_avatar,
         st.name as hospital_name,
-            ( SELECT COUNT ( 1 ) FROM biz_question_square bqs WHERE bqs.group_id = bqgs.ID ) AS question_count,
-            ( SELECT CASE WHEN EXISTS ( SELECT id FROM biz_question_group bqg WHERE bqg.square_id = bqgs.ID ) THEN 1 ELSE 0 END ) AS is_pull
+        COALESCE(bqs_count.cnt, 0) AS question_count,
+        CASE WHEN bqg.square_id IS NOT NULL THEN 1 ELSE 0 END AS is_pull
         FROM
         biz_question_group_square bqgs
         left join sys_tenant st on st.id = bqgs.tenant_id
+        LEFT JOIN (
+        SELECT group_id, COUNT(1) AS cnt
+        FROM biz_question_square
+        GROUP BY group_id
+        ) bqs_count ON bqs_count.group_id = bqgs.id
+        -- 优化存在性判断为JOIN
+        LEFT JOIN (
+        SELECT DISTINCT square_id
+        FROM biz_question_group
+        ) bqg ON bqg.square_id = bqgs.id
         <where>
             <if test="query.name != null and query.name != ''">
                 AND bqgs.name LIKE CONCAT(CONCAT('%', #{query.name}), '%')