yys 1 mēnesi atpakaļ
vecāks
revīzija
298086c0d0

+ 6 - 3
fs-service/src/main/java/com/fs/course/service/impl/FsUserCourseStudyServiceImpl.java

@@ -1,6 +1,6 @@
 package com.fs.course.service.impl;
 
-import java.util.Collections;
+import java.util.Comparator;
 import java.util.List;
 import com.fs.common.utils.DateUtils;
 import com.fs.course.domain.FsUserCourseStudyLog;
@@ -113,11 +113,14 @@ public class FsUserCourseStudyServiceImpl implements IFsUserCourseStudyService
                vo.setCourseName(log.getCourseName());
                vo.setVideoId(log.getVideoId());
                vo.setVideoName(log.getVideoName());
-               vo.setProgress(log.getRate().intValue());
+               vo.setProgress(log.getRate() != null ? log.getRate().intValue() : 0);
                vo.setStudyTime(log.getCreateTime());
            }
+           if (vo.getStudyTime() == null) {
+               vo.setStudyTime(vo.getUpdateTime() != null ? vo.getUpdateTime() : vo.getCreateTime());
+           }
         }
-        Collections.sort(list, (o1, o2) -> o2.getStudyTime().compareTo(o1.getStudyTime()));
+        list.sort(Comparator.comparing(FsUserCourseStudyListUVO::getStudyTime, Comparator.nullsLast(Comparator.reverseOrder())));
         return list;
     }
 }

+ 4 - 1
fs-service/src/main/java/com/fs/his/service/impl/FsPrescribeServiceImpl.java

@@ -541,8 +541,11 @@ public class FsPrescribeServiceImpl implements IFsPrescribeService
         fsPrescribe.setPrescribeDoctorId(fsDoctor.getDoctorId());
         fsPrescribe.setPrescribeDoctorSignUrl(fsDoctor.getSignUrl());
 
-        FsDoctor drug =doctorMapper.selectPackageFsDoctorType2Ids(fsPackage.getProductType());
+        FsDoctor drug = doctorMapper.selectPackageFsDoctorType2Ids(fsPackage.getProductType());
 
+        if (drug == null) {
+            throw new CustomException("未找到可用药师,请检查药师信息");
+        }
         fsPrescribe.setDrugDoctorId(drug.getDoctorId());
         fsPrescribe.setDrugDoctorSignUrl(drug.getSignUrl());
 

+ 10 - 2
fs-service/src/main/java/com/fs/hisStore/service/impl/FsPrescribeScrmStoreServiceImpl.java

@@ -534,8 +534,16 @@ public class FsPrescribeScrmStoreServiceImpl implements IFsPrescribeScrmStoreSer
         fsPrescribe.setPrescribeDoctorId(fsDoctor.getDoctorId());
         fsPrescribe.setPrescribeDoctorSignUrl(fsDoctor.getSignUrl());
 
-        FsDoctor drug =doctorMapper.selectPackageFsDoctorType2Ids(fsPackage.getProductType());
-
+        FsDoctor drug = doctorMapper.selectPackageFsDoctorType2Ids(fsPackage.getProductType());
+        if (drug == null) {
+            drug = doctorMapper.selectPackageFsDoctorType2Ids(2);
+        }
+        if (drug == null) {
+            drug = doctorMapper.selectPackageFsDoctorType2Ids(1);
+        }
+        if (drug == null) {
+            throw new CustomException("未找到可用药师,请检查药师配置(productType=" + fsPackage.getProductType() + ")");
+        }
         fsPrescribe.setDrugDoctorId(drug.getDoctorId());
         fsPrescribe.setDrugDoctorSignUrl(drug.getSignUrl());
 

+ 4 - 1
fs-user-app/src/main/java/com/fs/app/controller/CourseController.java

@@ -180,7 +180,10 @@ public class CourseController extends  AppBaseController{
         // 创建 Map 用于按时间分组
         Map<String, List<FsUserCourseStudyListUVO>> groupedByTime = new LinkedHashMap<>(); // 保留插入顺序
         for (FsUserCourseStudyListUVO vo:list){
-            String date = DateUtils.parseDateToStr("yyyy-MM-dd",vo.getStudyTime());
+            if (vo.getStudyTime() == null) {
+                continue;
+            }
+            String date = DateUtils.parseDateToStr("yyyy-MM-dd", vo.getStudyTime());
             if (!groupedByTime.containsKey(date)) {
                 groupedByTime.put(date, new ArrayList<>());
             }

+ 4 - 1
fs-user-app/src/main/java/com/fs/app/controller/store/CourseScrmController.java

@@ -161,7 +161,10 @@ public class CourseScrmController extends AppBaseController {
         // 创建 Map 用于按时间分组
         Map<String, List<FsUserCourseStudyListUVO>> groupedByTime = new LinkedHashMap<>(); // 保留插入顺序
         for (FsUserCourseStudyListUVO vo:list){
-            String date = DateUtils.parseDateToStr("yyyy-MM-dd",vo.getStudyTime());
+            if (vo.getStudyTime() == null) {
+                continue;
+            }
+            String date = DateUtils.parseDateToStr("yyyy-MM-dd", vo.getStudyTime());
             if (!groupedByTime.containsKey(date)) {
                 groupedByTime.put(date, new ArrayList<>());
             }