Parcourir la source

feat(service): 会议举办的每天2场,限制在实际开会那天

lixuesong il y a 3 ans
Parent
commit
659841389d

+ 9 - 5
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmTaskContentServiceImpl.java

@@ -54,9 +54,9 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
-import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalTime;
+import java.time.format.DateTimeFormatter;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -131,11 +131,13 @@ public class WmTaskContentServiceImpl extends ServiceImpl<WmTaskContentMapper, W
 		if ("1".equals(wmTaskContent.getTemp30())) {
 			// 会议举办
 			// 限制每天两次
+			LocalDateTime lookintoDate =
+					LocalDateTime.parse(wmTaskContent.getTemp30(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"));
 			LambdaQueryWrapper<WmTask> wrappers = Wrappers.lambdaQuery();
 			wrappers.eq(WmTask::getTaskUserId, sysU.getUserId() + "");
 			wrappers.in(WmTask::getTaskTypeId, 1, 2, 3, 4);
-			wrappers.le(WmTask::getLookintoDate, LocalDateTime.of(LocalDate.now(), LocalTime.MAX));
-			wrappers.ge(WmTask::getLookintoDate, LocalDateTime.of(LocalDate.now(), LocalTime.MIN));
+			wrappers.le(WmTask::getLookintoDate, LocalDateTime.of(lookintoDate.toLocalDate(), LocalTime.MAX));
+			wrappers.ge(WmTask::getLookintoDate, LocalDateTime.of(lookintoDate.toLocalDate(), LocalTime.MIN));
 
 			int total = wmTaskService.count(wrappers);
 			if (total >= 2) {
@@ -157,11 +159,13 @@ public class WmTaskContentServiceImpl extends ServiceImpl<WmTaskContentMapper, W
 		} else if ("19".equals(wmTaskContent.getTemp30())) {
 			// 一对一专访
 			// 限制每天两次
+			LocalDateTime lookintoDate =
+					LocalDateTime.parse(wmTaskContent.getTemp30(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"));
 			LambdaQueryWrapper<WmTask> interviewQuery = Wrappers.lambdaQuery();
 			interviewQuery.eq(WmTask::getTaskUserId, sysU.getUserId() + "");
 			interviewQuery.eq(WmTask::getTaskTypeId, 19);
-			interviewQuery.le(WmTask::getLookintoDate, LocalDateTime.of(LocalDate.now(), LocalTime.MAX));
-			interviewQuery.ge(WmTask::getLookintoDate, LocalDateTime.of(LocalDate.now(), LocalTime.MIN));
+			interviewQuery.le(WmTask::getLookintoDate, LocalDateTime.of(lookintoDate.toLocalDate(), LocalTime.MAX));
+			interviewQuery.ge(WmTask::getLookintoDate, LocalDateTime.of(lookintoDate.toLocalDate(), LocalTime.MIN));
 
 			int interviewTotal = wmTaskService.count(interviewQuery);
 			if (interviewTotal >= 2) {