Browse Source

定时任务生成任务时 计划查询bug处理

jingyuanchao 1 năm trước cách đây
mục cha
commit
fd73079546

+ 3 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/drill/mapper/CoreDrillPlanMapper.java

@@ -7,6 +7,7 @@ import com.xunmei.common.core.domain.drill.dto.CoreDrillPlanPageDto;
 import com.xunmei.common.core.domain.drill.vo.CoreDrillPlanDataVo;
 import com.xunmei.common.core.domain.drill.vo.CoreDrillPlanPageVo;
 import com.xunmei.common.core.domain.drill.vo.CoreDrillPlanRoleVo;
+import com.xunmei.common.core.domain.edu.domain.CoreEduTrainingPlan;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -88,4 +89,6 @@ public interface CoreDrillPlanMapper extends BaseMapper<CoreDrillPlan> {
     void updatePlanName(@Param("planId") Long planId, @Param("planName") String planName);
 
     void delByIds(@Param("list")List<Long> list);
+
+    List<CoreDrillPlan> selectNeedBuildTaskPlanList(@Param("cycle") Integer cycle, @Param("cycleList") List<Integer> cycleList);
 }

+ 7 - 15
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/drill/service/impl/CoreDrillTaskServiceImpl.java

@@ -22,6 +22,7 @@ import com.xunmei.common.core.domain.R;
 import com.xunmei.common.core.domain.drill.domain.*;
 import com.xunmei.common.core.domain.drill.dto.*;
 import com.xunmei.common.core.domain.drill.vo.*;
+import com.xunmei.common.core.domain.edu.domain.CoreEduTrainingPlan;
 import com.xunmei.common.core.domain.panel.dto.PanelListDto;
 import com.xunmei.common.core.domain.panel.enums.PanelTypeEnums;
 import com.xunmei.common.core.domain.panel.vo.PanelListVo;
@@ -301,8 +302,8 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
             coreDrillTask.setCreateTime(new Date());
             coreDrillTask.setStartDate(DateUtil.beginOfDay(new Date()));
             // 临时添加的任务 特殊把任务的开始结束时间设置为当前时间的一周,否则待办查询不到
-            Long endTime= coreDrillTask.getStartDate().getTime();
-            Date end=new Date(endTime+7*24*60*60*1000-1000);
+            Long endTime = coreDrillTask.getStartDate().getTime();
+            Date end = new Date(endTime + 7 * 24 * 60 * 60 * 1000 - 1000);
             coreDrillTask.setEndDate(end);
         }
         taskToUserMapper.deleteByMap(MapUtil.of("drill_task_id", request.getId()));
@@ -840,22 +841,13 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
         if (ObjectUtil.isNull(date)) {
             date = new Date();
         }
-        List<Integer> cycleList = DateUtils.checkDate(date);
         List<CoreDrillPlan> planList;
+
         if (null == cycle) {
-            planList = coreDrillPlanMapper.selectList(new LambdaQueryWrapper<CoreDrillPlan>()
-                    .eq(CoreDrillPlan::getStandard, 0)
-                    .eq(CoreDrillPlan::getPlanStatus, DrillPlanStatus.USING.getCode())
-                    .in(CoreDrillPlan::getPlanCycle, cycleList)
-                    .eq(CoreDrillPlan::getDeleted, 0)
-                    .select(CoreDrillPlan::getId, CoreDrillPlan::getPlanCycle));
+            List<Integer> cycleList = DateUtils.checkDate(date);
+            planList = coreDrillPlanMapper.selectNeedBuildTaskPlanList(null, cycleList);
         } else {
-            planList = coreDrillPlanMapper.selectList(new LambdaQueryWrapper<CoreDrillPlan>()
-                    .eq(CoreDrillPlan::getStandard, 0)
-                    .eq(CoreDrillPlan::getPlanStatus, DrillPlanStatus.USING.getCode())
-                    .eq(CoreDrillPlan::getPlanCycle, cycle)
-                    .eq(CoreDrillPlan::getDeleted, 0)
-                    .select(CoreDrillPlan::getId, CoreDrillPlan::getPlanCycle));
+            planList = coreDrillPlanMapper.selectNeedBuildTaskPlanList(cycle, null);
         }
         if (ObjectUtil.isEmpty(planList)) {
             return "没有需要生成的任务";

+ 2 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/mapper/CoreEduTrainingPlanMapper.java

@@ -89,4 +89,6 @@ public interface CoreEduTrainingPlanMapper extends BaseMapper<CoreEduTrainingPla
     void updatePlanName(@Param("planId") Long planId, @Param("planName") String planName);
 
     Integer delByIds(@Param("list") List<Long> list);
+
+    List<CoreEduTrainingPlan> selectNeedBuildTaskPlanList(@Param("cycle") Integer cycle, @Param("cycleList") List<Integer> cycleList);
 }

+ 13 - 18
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/service/impl/CoreEduTrainingTaskServiceImpl.java

@@ -276,8 +276,8 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
         task.setOrgPath(sysOrg.getPath());
         BeanUtils.copyProperties(request, task);
         task.setStartDate(DateUtil.beginOfDay(new Date()));
-        Long endTime= (new Date()).getTime();
-        task.setEndDate(DateUtil.endOfDay(new Date(endTime+7*24*60*60*1000-1000)));
+        Long endTime = (new Date()).getTime();
+        task.setEndDate(DateUtil.endOfDay(new Date(endTime + 7 * 24 * 60 * 60 * 1000 - 1000)));
 //        task.setEndDate(DateUtil.endOfDay(new Date()));
 
         task.setCreateTime(DateUtils.getNowDate());
@@ -328,8 +328,8 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
             coreEduTrainingTask.setTitle(request.getTitle());
             coreEduTrainingTask.setStartDate(DateUtil.beginOfDay(new Date()));
             // 临时添加的任务 特殊把任务的开始结束时间设置为当前时间的一周,否则待办查询不到
-            Long endTime=coreEduTrainingTask.getStartDate().getTime();
-            Date end=new Date(endTime+7*24*60*60*1000-1000);
+            Long endTime = coreEduTrainingTask.getStartDate().getTime();
+            Date end = new Date(endTime + 7 * 24 * 60 * 60 * 1000 - 1000);
             coreEduTrainingTask.setEndDate(end);
 //            coreEduTrainingTask.setEndDate(DateUtils.toDate(request.getTrainingEndDateTime()));
 
@@ -849,6 +849,9 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
         return list;
     }
 
+    public static void main(String[] args) {
+        System.out.println(DateUtils.checkDate(new Date()));
+    }
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -856,22 +859,14 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
         if (ObjectUtil.isNull(date)) {
             date = new Date();
         }
-        List<Integer> cycleList = DateUtils.checkDate(date);
+
         List<CoreEduTrainingPlan> planList;
+
         if (null == cycle) {
-            planList = coreEduTrainingPlanMapper.selectList(new LambdaQueryWrapper<CoreEduTrainingPlan>()
-                    .eq(CoreEduTrainingPlan::getStandard, 0)
-                    .eq(CoreEduTrainingPlan::getPlanStatus, EduTrainingPlanStatus.USING.getCode())
-                    .in(CoreEduTrainingPlan::getPlanCycle, cycleList)
-                    .eq(CoreEduTrainingPlan::getDeleted, 0)
-                    .select(CoreEduTrainingPlan::getId, CoreEduTrainingPlan::getPlanCycle));
+            List<Integer> cycleList = DateUtils.checkDate(date);
+            planList = coreEduTrainingPlanMapper.selectNeedBuildTaskPlanList(null, cycleList);
         } else {
-            planList = coreEduTrainingPlanMapper.selectList(new LambdaQueryWrapper<CoreEduTrainingPlan>()
-                    .eq(CoreEduTrainingPlan::getStandard, 0)
-                    .eq(CoreEduTrainingPlan::getPlanStatus, EduTrainingPlanStatus.USING.getCode())
-                    .eq(CoreEduTrainingPlan::getPlanCycle, cycle)
-                    .eq(CoreEduTrainingPlan::getDeleted, 0)
-                    .select(CoreEduTrainingPlan::getId, CoreEduTrainingPlan::getPlanCycle));
+            planList = coreEduTrainingPlanMapper.selectNeedBuildTaskPlanList(cycle, null);
         }
         //此list中Plan对象仅id与planCycle字段有值,其他字段为空
         if (ObjectUtil.isEmpty(planList)) {
@@ -924,7 +919,7 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
                     .list();
             List<Long> taskIdList = taskList.stream().map(CoreEduTrainingTask::getId).collect(Collectors.toList());
             delTaskByIdList(taskIdList);
-            list=taskIdList;
+            list = taskIdList;
         }
         return list;
     }

+ 17 - 0
soc-modules/soc-modules-core/src/main/resources/mapper/drill/CoreDrillPlanMapper.xml

@@ -690,4 +690,21 @@
             #{item}
         </foreach>
     </delete>
+
+    <select id="selectNeedBuildTaskPlanList" resultType="com.xunmei.common.core.domain.drill.domain.CoreDrillPlan">
+        SELECT id, plan_cycle
+        FROM `core_drill_plan` p
+        where p.deleted = 0
+        and p.plan_status = 1
+        <if test="cycle != null">
+            p.plan_cycle=#{cycle}
+        </if>
+        <if test="cycleList != null and cycleList.size>0">
+            and p.plan_cycle in
+            <foreach collection="cycleList" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        and (p.standard = 0 or p.parent_id is not null)
+    </select>
 </mapper>

+ 16 - 0
soc-modules/soc-modules-core/src/main/resources/mapper/edu/CoreEduTrainingPlanMapper.xml

@@ -634,4 +634,20 @@
             #{item}
         </foreach>
     </delete>
+    <select id="selectNeedBuildTaskPlanList" resultType="com.xunmei.common.core.domain.edu.domain.CoreEduTrainingPlan">
+        SELECT id, plan_cycle
+        FROM `core_edu_training_plan` p
+        where p.deleted = 0
+        and p.plan_status = 1
+        <if test="cycle != null">
+            p.plan_cycle=#{cycle}
+        </if>
+        <if test="cycleList != null and cycleList.size>0">
+            and p.plan_cycle in
+            <foreach collection="cycleList" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        and (p.standard = 0 or p.parent_id is not null)
+    </select>
 </mapper>