diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/popup/api/PopupApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/popup/api/PopupApi.java index 7d829a28..c1124f5d 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/popup/api/PopupApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/popup/api/PopupApi.java @@ -22,7 +22,7 @@ public class PopupApi extends ApiBaseController { /** * 前端查询,只是查询出对于当前用户来说需要弹出的 * */ - @PostMapping("/user") + @GetMapping("/user") public JsonResponse> userList(){ String aid=getCurrent().getAccountId(); List list = service.findForUser(aid); @@ -38,6 +38,15 @@ public class PopupApi extends ApiBaseController { List list = service.list(popup); return success(list); } + + @PostMapping("/add") + public JsonResponse list(String popupId){ + String aid=getCurrent().getAccountId(); + service.addUser(aid, popupId); + return success(true); + } + + @GetMapping("/find-user") public JsonResponse> findForUser(String aid){ diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/IPopupService.java b/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/IPopupService.java index edb3c1a0..26d42868 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/IPopupService.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/IPopupService.java @@ -43,4 +43,10 @@ public interface IPopupService { * 删除 * */ void delete(String id); + + /** + * 添加弹出了的用户 + * @param popupId + */ + void addUser(String aid,String popupId); } diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/impl/PopupServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/impl/PopupServiceImpl.java index 60bfc3a5..cf9dbe42 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/impl/PopupServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/impl/PopupServiceImpl.java @@ -81,25 +81,31 @@ public class PopupServiceImpl implements IPopupService { @Override public List findForUser(String aid) { - //根据时间查询,在时间内的。 + //根据时间查询,查询出时间内需要弹出的内容 + LocalDateTime now = LocalDateTime.now(); + List list=popupDao.findList(FieldFilters.le("p.startTime",now),FieldFilters.ge("p.endTime",now)); + List rslist=new ArrayList(); + for(Popup p: list) { + if(p.getOnce()!=null && p.getOnce()) { + //只是查询一次 + List pu = popupUserDao.findList(FieldFilters.eq("aid",aid),FieldFilters.eq("popupId",p.getId())); + if(pu.isEmpty()) { + rslist.add(p); + } + }else { + rslist.add(p); + } + } + return rslist; + } - String from ="Popup p,PopupUser pu"; - QueryBuilder builder = QueryBuilder.from(from); - builder.addFilter(FieldFilters.eqField("p.id","pu.popupId")); - //当前时间在时间内的 - LocalDateTime now = LocalDateTime.now(); - - builder.addFilter(FieldFilters.ge("p.startTime",now)); - builder.addFilter(FieldFilters.lt("p.endTime",now)); - if(StringUtil.isNotBlank(aid)){ - builder.addFilter(FieldFilters.eq("pu.aid",aid)); - } - builder.addFilter(FieldFilters.eq("pu.status",false)); -// builder.addFilter(FieldFilters.eq("p.once",true)); - builder.addFields("p"); - List list = popupDao.findList(builder.builder()); - - //如果一个用户只弹一次,还要结合 PopupUser 查询, - return list; + @Override + public void addUser(String aid,String popupId) { + PopupUser pu=new PopupUser(); + pu.setAid(aid); + pu.setPopupId(popupId); + pu.setStatus(true); + popupUserDao.save(pu); + } }