|
|
@@ -9,9 +9,11 @@ import com.zhongzheng.modules.base.bo.ConsoleQueryBo;
|
|
|
import com.zhongzheng.modules.mock.domain.MockApply;
|
|
|
import com.zhongzheng.modules.mock.domain.MockMajorSubject;
|
|
|
import com.zhongzheng.modules.mock.domain.MockMajorSubjectGoods;
|
|
|
+import com.zhongzheng.modules.mock.domain.MockMajorSubjectTime;
|
|
|
import com.zhongzheng.modules.mock.service.IMockApplyService;
|
|
|
import com.zhongzheng.modules.mock.service.IMockMajorSubjectGoodsService;
|
|
|
import com.zhongzheng.modules.mock.service.IMockMajorSubjectService;
|
|
|
+import com.zhongzheng.modules.mock.service.IMockMajorSubjectTimeService;
|
|
|
import com.zhongzheng.modules.mock.vo.MockApplyVo;
|
|
|
import com.zhongzheng.modules.order.service.IOrderService;
|
|
|
import com.zhongzheng.modules.user.domain.User;
|
|
|
@@ -52,6 +54,9 @@ public class UserMockSubscribeServiceImpl extends ServiceImpl<UserMockSubscribeM
|
|
|
@Autowired
|
|
|
private IMockMajorSubjectGoodsService iMockMajorSubjectGoodsService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private IMockMajorSubjectTimeService iMockMajorSubjectTimeService;
|
|
|
+
|
|
|
@Autowired
|
|
|
private IOrderService iOrderService;
|
|
|
|
|
|
@@ -243,15 +248,62 @@ public class UserMockSubscribeServiceImpl extends ServiceImpl<UserMockSubscribeM
|
|
|
});
|
|
|
}
|
|
|
if (Validator.isNotEmpty(bo.getMockStatus()) && bo.getMockStatus() == 1) {
|
|
|
- userMockSubscribeVoList.stream().forEach(userMockSubscribeVo -> {
|
|
|
+ //查询默认数据(同一批模考中的同一科目的最新的一条)
|
|
|
+ List<MockMajorSubjectTime> mockMajorSubjectTimeList = iMockMajorSubjectTimeService.listBySubject(bo);
|
|
|
+ List<MockMajorSubjectTime> mockMajorSubjectTimeList2 = new ArrayList<>();
|
|
|
+ mockMajorSubjectTimeList.forEach(mockMajorSubjectTime -> {
|
|
|
try {
|
|
|
- if (System.currentTimeMillis()/1000 > formatTime(userMockSubscribeVo.getApplySiteExamTime(), userMockSubscribeVo.getApplySiteEndTime())) {
|
|
|
- userMockSubscribeVos.add(userMockSubscribeVo);
|
|
|
+ if (System.currentTimeMillis()/1000 > formatTime(mockMajorSubjectTime.getExamTime(), mockMajorSubjectTime.getEndTime())) {
|
|
|
+ mockMajorSubjectTimeList2.add(mockMajorSubjectTime);
|
|
|
+ }
|
|
|
+ } catch (ParseException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ //查询用户最新所预约模考的科目
|
|
|
+ List<UserMockSubscribe> userMockSubscribeList = baseMapper.listBySubject(bo);
|
|
|
+ List<UserMockSubscribe> userMockSubscribeList2 = new ArrayList<>();
|
|
|
+ userMockSubscribeList.forEach(userMockSubscribe -> {
|
|
|
+ try {
|
|
|
+ if (System.currentTimeMillis()/1000 > formatTime(userMockSubscribe.getApplySiteExamTime(), userMockSubscribe.getApplySiteEndTime())) {
|
|
|
+ userMockSubscribeList2.add(userMockSubscribe);
|
|
|
}
|
|
|
} catch (ParseException e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
});
|
|
|
+ List<Long> list = new ArrayList<>();
|
|
|
+ userMockSubscribeList2.forEach(userMockSubscribe -> {list.add(userMockSubscribe.getMockMajorSubjectId());});
|
|
|
+ //如果默认数据与用户所预约的有重复,则删除对应数据
|
|
|
+ mockMajorSubjectTimeList2.removeIf(mockMajorSubjectTime -> list.contains(mockMajorSubjectTime.getMockMajorSubjectId()));
|
|
|
+ //把用户预约的数据和默认数据组合在一起
|
|
|
+ userMockSubscribeList2.forEach(userMockSubscribe -> {
|
|
|
+ UserMockSubscribeVo userMockSubscribeVo = iMockMajorSubjectTimeService.listByEachExamId(userMockSubscribe.getEachExamId());
|
|
|
+ LambdaQueryWrapper<MockMajorSubjectTime> lqw = Wrappers.lambdaQuery();
|
|
|
+ lqw.eq(MockMajorSubjectTime::getMockMajorSubjectId, userMockSubscribe.getMockMajorSubjectId());
|
|
|
+ lqw.orderByDesc(MockMajorSubjectTime::getId).last("limit 1");
|
|
|
+ MockMajorSubjectTime mockMajorSubjectTime = iMockMajorSubjectTimeService.getOne(lqw);
|
|
|
+ try {
|
|
|
+ if (System.currentTimeMillis()/1000 < formatTime(mockMajorSubjectTime.getExamTime(), mockMajorSubjectTime.getStartTime())) {
|
|
|
+ userMockSubscribeVo.setReSubscribe(1);
|
|
|
+ }
|
|
|
+ } catch (ParseException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ if (System.currentTimeMillis()/1000 < formatTime(mockMajorSubjectTime.getExamTime(), mockMajorSubjectTime.getEndTime())) {
|
|
|
+ userMockSubscribeVo.setCanDo(0);
|
|
|
+ }
|
|
|
+ } catch (ParseException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ userMockSubscribeVos.add(userMockSubscribeVo);
|
|
|
+ });
|
|
|
+ mockMajorSubjectTimeList2.forEach(mockMajorSubjectTime -> {
|
|
|
+ UserMockSubscribeVo userMockSubscribeVo = iMockMajorSubjectTimeService.listByEachExamId(mockMajorSubjectTime.getId());
|
|
|
+ userMockSubscribeVos.add(userMockSubscribeVo);
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
}
|