Commit 48a15beb authored by shiyu's avatar shiyu

查询签到信息4

parent 15f532a6
...@@ -119,4 +119,10 @@ public class SignInTaskVo implements Entity { ...@@ -119,4 +119,10 @@ public class SignInTaskVo implements Entity {
* 是否已参加 * 是否已参加
*/ */
private Boolean isJoin = false; private Boolean isJoin = false;
/**
* 是否可以签到
* 在规定的时间段内
*/
private Boolean isSignInAble = true;
} }
...@@ -22,6 +22,9 @@ import org.springframework.stereotype.Service; ...@@ -22,6 +22,9 @@ import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
...@@ -100,18 +103,29 @@ public class QdSignInTaskServiceImpl implements QdSignInTaskService { ...@@ -100,18 +103,29 @@ public class QdSignInTaskServiceImpl implements QdSignInTaskService {
@Override @Override
public Result findDetail(SignInTaskRequestDto dto) { public Result findDetail(SignInTaskRequestDto dto) {
try { try {
SignInTaskVo signInTaskVo = new SignInTaskVo();
long taskId = dto.getId(); long taskId = dto.getId();
SignInTask signInTask = signInTaskDao.findById(taskId); SignInTask signInTask = signInTaskDao.findById(taskId);
LocalDateTime now = LocalDateTime.now();
long joinNum = qdUserSignInTaskDao.countByTaskId(taskId); long joinNum = qdUserSignInTaskDao.countByTaskId(taskId);
SignInTaskVo signInTaskVo = new SignInTaskVo();
EntityMapper.copyAttribute(signInTask, signInTaskVo); EntityMapper.copyAttribute(signInTask, signInTaskVo);
signInTaskVo.setJoinPeopleNum(joinNum); signInTaskVo.setJoinPeopleNum(joinNum);
SimpleDateFormat timeFormat = new SimpleDateFormat("H:mm"); SimpleDateFormat timeFormat = new SimpleDateFormat("H:mm");
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("H:mm");
if (signInTask.getSignInStartTime() != null && signInTask.getSignInEndTime() != null) { if (signInTask.getSignInStartTime() != null && signInTask.getSignInEndTime() != null) {
String start = timeFormat.format(signInTask.getSignInStartTime()); String start = timeFormat.format(signInTask.getSignInStartTime());
String end = timeFormat.format(signInTask.getSignInEndTime()); String end = timeFormat.format(signInTask.getSignInEndTime());
String timeRange = "每天" + start + " - " + end; String timeRange = "每天" + start + " - " + end;
signInTaskVo.setSignInTime(timeRange); signInTaskVo.setSignInTime(timeRange);
LocalTime localTime = LocalTime.parse(start, dateTimeFormatter);
LocalDate today = LocalDate.now();
LocalDateTime todayStartTime = today.atTime(localTime);
LocalTime endlocalTime = LocalTime.parse(end, dateTimeFormatter);
LocalDateTime todayEndTime = today.atTime(endlocalTime);
if (now.isBefore(todayStartTime) || now.isAfter(todayEndTime)) {
signInTaskVo.setIsSignInAble(false);
}
} }
QdUserSignIn qdUserSignIn = qdUserSignInDao.findLastedRecord(dto.getUserId(), taskId); QdUserSignIn qdUserSignIn = qdUserSignInDao.findLastedRecord(dto.getUserId(), taskId);
if (qdUserSignIn != null) { if (qdUserSignIn != null) {
......
...@@ -19,6 +19,10 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -19,6 +19,10 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
@Service @Service
...@@ -59,6 +63,8 @@ public class QdUserSignInTaskServiceImpl implements QdUserSignInTaskService { ...@@ -59,6 +63,8 @@ public class QdUserSignInTaskServiceImpl implements QdUserSignInTaskService {
@Override @Override
public Result findTaskList(QdUserSignInTaskRequestDto dto) { public Result findTaskList(QdUserSignInTaskRequestDto dto) {
try { try {
LocalDateTime now = LocalDateTime.now();
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("H:mm");
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
SimpleDateFormat timeFormat = new SimpleDateFormat("H:mm"); SimpleDateFormat timeFormat = new SimpleDateFormat("H:mm");
List<SignInTaskVo> selfTaskVoList = new ArrayList<>(); List<SignInTaskVo> selfTaskVoList = new ArrayList<>();
...@@ -78,6 +84,14 @@ public class QdUserSignInTaskServiceImpl implements QdUserSignInTaskService { ...@@ -78,6 +84,14 @@ public class QdUserSignInTaskServiceImpl implements QdUserSignInTaskService {
String end = timeFormat.format(signInTask.getSignInEndTime()); String end = timeFormat.format(signInTask.getSignInEndTime());
String timeRange = "每天" + start + " - " + end; String timeRange = "每天" + start + " - " + end;
signInTaskVo.setSignInTime(timeRange); signInTaskVo.setSignInTime(timeRange);
LocalTime localTime = LocalTime.parse(start, dateTimeFormatter);
LocalDate today = LocalDate.now();
LocalDateTime todayStartTime = today.atTime(localTime);
LocalTime endlocalTime = LocalTime.parse(end, dateTimeFormatter);
LocalDateTime todayEndTime = today.atTime(endlocalTime);
if (now.isBefore(todayStartTime) || now.isAfter(todayEndTime)) {
signInTaskVo.setIsSignInAble(false);
}
} }
selfTaskVoList.add(signInTaskVo); selfTaskVoList.add(signInTaskVo);
} }
...@@ -102,6 +116,14 @@ public class QdUserSignInTaskServiceImpl implements QdUserSignInTaskService { ...@@ -102,6 +116,14 @@ public class QdUserSignInTaskServiceImpl implements QdUserSignInTaskService {
String end = timeFormat.format(signInTask.getSignInEndTime()); String end = timeFormat.format(signInTask.getSignInEndTime());
String timeRange = "每天" + start + " - " + end; String timeRange = "每天" + start + " - " + end;
signInTaskVo.setSignInTime(timeRange); signInTaskVo.setSignInTime(timeRange);
LocalTime localTime = LocalTime.parse(start, dateTimeFormatter);
LocalDate today = LocalDate.now();
LocalDateTime todayStartTime = today.atTime(localTime);
LocalTime endlocalTime = LocalTime.parse(end, dateTimeFormatter);
LocalDateTime todayEndTime = today.atTime(endlocalTime);
if (now.isBefore(todayStartTime) || now.isAfter(todayEndTime)) {
signInTaskVo.setIsSignInAble(false);
}
} }
otherTaskVoList.add(signInTaskVo); otherTaskVoList.add(signInTaskVo);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment