diff --git a/src/main/java/com/community/pocket/api/android/AndroidVisitorController.java b/src/main/java/com/community/pocket/api/android/AndroidVisitorController.java index f365306..20dba4f 100644 --- a/src/main/java/com/community/pocket/api/android/AndroidVisitorController.java +++ b/src/main/java/com/community/pocket/api/android/AndroidVisitorController.java @@ -1,7 +1,6 @@ package com.community.pocket.api.android; import com.community.pocket.entity.po.Visitor; -import com.community.pocket.entity.po.android.Token; import com.community.pocket.entity.po.android.VisitorPeople; import com.community.pocket.entity.vo.Result; import com.community.pocket.entity.vo.android.*; @@ -57,9 +56,9 @@ public class AndroidVisitorController { * 我的预约 */ @GetMapping("/visitor/reservation") - public VisitorReservationResponse loadReservation(Token token) { - if (tokenDao.checkToken(token)) { - List visitorList = visitorDao.loadMyReservation(token); + public VisitorReservationResponse loadReservation(VisitorQuery query) { + if (tokenDao.checkToken(query)) { + List visitorList = visitorDao.loadMyReservation(query); VisitorReservationResponse response = new VisitorReservationResponse(Result.OK, VisitorReservationResponse.Msg.ok); response.setVisitorList(visitorList); return response; @@ -72,9 +71,9 @@ public class AndroidVisitorController { * 加载我的访客 */ @GetMapping("/visitor/my") - public VisitorMyResponse loadMy(Token token) { - if (tokenDao.checkToken(token)) { - List visitorList = visitorDao.loadMyVisitor(token); + public VisitorMyResponse loadMy(VisitorQuery query) { + if (tokenDao.checkToken(query)) { + List visitorList = visitorDao.loadMyVisitor(query); VisitorMyResponse response = new VisitorMyResponse(Result.OK, VisitorMyResponse.Msg.ok); response.setVisitorList(visitorList); return response; diff --git a/src/main/java/com/community/pocket/entity/vo/android/VisitorQuery.java b/src/main/java/com/community/pocket/entity/vo/android/VisitorQuery.java new file mode 100644 index 0000000..8b9cc35 --- /dev/null +++ b/src/main/java/com/community/pocket/entity/vo/android/VisitorQuery.java @@ -0,0 +1,29 @@ +package com.community.pocket.entity.vo.android; + +import com.community.pocket.entity.po.android.Token; + +import java.util.Date; + +/** + * 访客查询 + */ +public class VisitorQuery extends Token { + private Date startDate; + private Date endDate; + + public Date getStartDate() { + return startDate; + } + + public void setStartDate(Date startDate) { + this.startDate = startDate; + } + + public Date getEndDate() { + return endDate; + } + + public void setEndDate(Date endDate) { + this.endDate = endDate; + } +} diff --git a/src/main/java/com/community/pocket/repository/android/VisitorDao.java b/src/main/java/com/community/pocket/repository/android/VisitorDao.java index 3edf05b..f88282a 100644 --- a/src/main/java/com/community/pocket/repository/android/VisitorDao.java +++ b/src/main/java/com/community/pocket/repository/android/VisitorDao.java @@ -1,7 +1,6 @@ package com.community.pocket.repository.android; import com.community.pocket.entity.po.Visitor; -import com.community.pocket.entity.po.android.Token; import com.community.pocket.entity.vo.Page; import com.community.pocket.entity.vo.android.VisitorForm; import com.community.pocket.entity.vo.web.VisitorQuery; @@ -64,14 +63,31 @@ public class VisitorDao extends BaseDao { } + private List load(com.community.pocket.entity.vo.android.VisitorQuery visitorQuery, Criteria criteria) { + if (visitorQuery.getStartDate() != null && visitorQuery.getEndDate() != null) { + criteria = criteria.andOperator(Criteria.where("time").gte(visitorQuery.getStartDate().getTime()), Criteria.where("time").lte(visitorQuery.getEndDate().getTime())); + } else { + if (visitorQuery.getStartDate() != null) { + criteria = criteria.and("time").gte(visitorQuery.getStartDate().getTime()); + } + if (visitorQuery.getEndDate() != null) { + criteria = criteria.and("time").lte(visitorQuery.getEndDate().getTime()); + } + } + return mongoTemplate.find(new Query(criteria).with(Sort.by("time").ascending()), entityClass()); + } + //加载我的访客信息 - public List loadMyVisitor(Token token) { - return mongoTemplate.find(new Query(Criteria.where("appointment").is(token.getUsername())).with(Sort.by("time").ascending()), entityClass()); + public List loadMyVisitor(com.community.pocket.entity.vo.android.VisitorQuery visitorQuery) { + Criteria criteria = Criteria.where("appointment").is(visitorQuery.getUsername()); + return load(visitorQuery, criteria); } + //加载我的预约 - public List loadMyReservation(Token token) { - return mongoTemplate.find(new Query(Criteria.where("username").is(token.getUsername())).with(Sort.by("time").ascending()), entityClass()); + public List loadMyReservation(com.community.pocket.entity.vo.android.VisitorQuery visitorQuery) { + Criteria criteria = Criteria.where("username").is(visitorQuery.getUsername()); + return load(visitorQuery, criteria); } @Override diff --git a/src/test/java/com/community/pocket/DemoApplicationTests.java b/src/test/java/com/community/pocket/DemoApplicationTests.java index eb6c793..6641077 100644 --- a/src/test/java/com/community/pocket/DemoApplicationTests.java +++ b/src/test/java/com/community/pocket/DemoApplicationTests.java @@ -180,4 +180,15 @@ void loadData() throws FileNotFoundException { .param("name", "p") .param("outPeople", String.valueOf(false))).andDo(MockMvcResultHandlers.print()).andReturn(); } + + //加载访客信息 + @Test + void queryVisitor() throws Exception { + mockMvc.perform(MockMvcRequestBuilders.get("/visitor/reservation") + .param("username", "panqihua") + .param("token", "e3c8ed5a74841556c57de6e17b166f68") + .param("startDate", "2020/04/18") + .param("endDate", "2020/04/19")) + .andDo(MockMvcResultHandlers.print()).andReturn(); + } }