Browse Source

小访课 营期客户详情 进线时间精确到时分秒

三七 1 day ago
parent
commit
d091994178

+ 19 - 15
fs-company/src/main/java/com/fs/company/controller/qw/SopUserLogsInfoController.java

@@ -34,6 +34,7 @@ import org.springframework.web.bind.annotation.*;
 
 import java.io.IOException;
 import java.time.LocalDate;
+import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.function.Predicate;
@@ -114,12 +115,6 @@ public class SopUserLogsInfoController extends BaseController
                 });
             }
 
-
-//            Predicate<SopUserLogsInfo> tagFilter = item ->
-//                    sopUserLogsInfo.getTagIds() == null ||
-//                            sopUserLogsInfo.getTagIds().isEmpty() ||
-//                            item.getTagIds().contains(sopUserLogsInfo.getTagIds());
-
             Predicate<SopUserLogsInfo> tagFilter = item -> {
                 String queryTagIds = sopUserLogsInfo.getTagIds();
                 String itemTagIds = item.getTagIds();
@@ -148,25 +143,34 @@ public class SopUserLogsInfoController extends BaseController
 
 
             Predicate<SopUserLogsInfo> timeFilter = item -> {
-                if (StringUtil.strIsNullOrEmpty(sopUserLogsInfo.getEntryTime())) {
+
+                if (StringUtil.strIsNullOrEmpty(sopUserLogsInfo.getInComingSTime())
+                        && StringUtil.strIsNullOrEmpty(sopUserLogsInfo.getInComingETime()) ) {
                     return true;
                 }
                 try {
-                    LocalDate entryDate = LocalDate.parse(
-                            sopUserLogsInfo.getEntryTime(),
-                            DateTimeFormatter.ofPattern("yyyy-MM-dd")
+                    LocalDateTime entryDate = LocalDateTime.parse(item.getInComTime(),
+                            DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
+                    );
+                    LocalDateTime inComingSTime = LocalDateTime.parse(sopUserLogsInfo.getInComingSTime(),
+                            DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
                     );
-                    LocalDate createDate = LocalDate.parse(
-                            item.getInComTime().substring(0, 10),
-                            DateTimeFormatter.ofPattern("yyyy-MM-dd")
+
+                    LocalDateTime inComingETime = LocalDateTime.parse(sopUserLogsInfo.getInComingETime(),
+                            DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
                     );
-                    return entryDate.equals(createDate);
+
+                    return !entryDate.isBefore(inComingSTime) && !entryDate.isAfter(inComingETime);
                 } catch (Exception e) {
                     return false;
                 }
             };
 
-            if (sopUserLogsInfo.getTagIds() != null || !isRemarkEmpty || !StringUtil.strIsNullOrEmpty(sopUserLogsInfo.getEntryTime()) ||!isLevelEmpty) {
+
+            boolean hasTimeFilter = !StringUtil.strIsNullOrEmpty(sopUserLogsInfo.getInComingSTime())
+                    && !StringUtil.strIsNullOrEmpty(sopUserLogsInfo.getInComingETime());
+
+            if (sopUserLogsInfo.getTagIds() != null || !isRemarkEmpty || hasTimeFilter ||!isLevelEmpty) {
                 list = list.stream()
                         .filter(tagFilter.and(remarkFilter).and(timeFilter).and(levelFilter))
                         .collect(Collectors.toList());

+ 2 - 1
fs-service/src/main/java/com/fs/course/mapper/FsUserCourseVideoMapper.java

@@ -141,7 +141,8 @@ public interface FsUserCourseVideoMapper
     List<OptionsVO> selectFsUserCourseVodeAllList(Long id);
 
     @Select({"<script> " +
-            "select v.*,p.red_packet_money company_red_packet_money from fs_user_course_video v LEFT JOIN fs_user_course_video_red_package p on p.video_id= v.video_id and p.company_id =#{maps.companyId} " +
+            "select v.*,p.red_packet_money company_red_packet_money from fs_user_course_video v " +
+            "LEFT JOIN fs_user_course_video_red_package p on p.video_id= v.video_id and p.company_id =#{maps.companyId} and p.data_type = 1 " +
             "where v.is_del = 0 and  v.course_id = #{maps.courseId}   " +
             "<if test = ' maps.title!=null and maps.title != \"\" '> " +
             "and v.title = #{maps.title} " +

+ 4 - 0
fs-service/src/main/java/com/fs/course/param/FsUserCourseVideoParam.java

@@ -16,8 +16,12 @@ public class FsUserCourseVideoParam {
     private String title;
     private String redPacketMoney;
     private Long companyId;
+
+    private Integer dataType;
+
     @ApiModelProperty(value = "页码,默认为1")
     private Integer pageNum =1;
+
     @ApiModelProperty(value = "页大小,默认为10")
     private Integer pageSize = 10;
 }

+ 10 - 0
fs-service/src/main/java/com/fs/sop/domain/SopUserLogsInfo.java

@@ -63,6 +63,16 @@ public class SopUserLogsInfo implements Serializable {
     @JsonFormat(pattern = "yyyy-MM-dd")
     private String entryTime;
 
+    //进线时间开始年月日时分秒
+    @TableField(exist = false)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private String inComingSTime;
+
+    //进线时间结束年月日时分秒
+    @TableField(exist = false)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private String inComingETime;
+
     @TableField(exist = false)
     private Integer level;