Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix #987 #993

Merged
merged 1 commit into from
Dec 9, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ public ResponseEntity<RestResult> list(HttpServletRequest request, @Valid String

if (!StringUtils.isBlank(creater)) {
User user = super.getUser(request);
contactsList = contactsRepository.findByCreaterAndSharesInAndDatastatus(user.getId(), Arrays.asList(user.getId(),"all"), false,
contactsList = contactsRepository.findByCreaterAndSharesInOrSharesIsNullAndDatastatus(user.getId(), Arrays.asList(user.getId(),"all"), false,
PageRequest.of(
super.getP(request),
super.getPs(request)));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,7 @@ public ModelAndView index(

Page<Contacts> contacts = contactsRes.findByOrganInAndCkindAndSharesAllAndDatastatusFalse(
super.getMyCurrentAffiliatesFlat(logined),
Arrays.asList(logined.getId(), "all"),
ckind,
PageRequest.of(super.getP(request), super.getPs(request)));

Expand Down Expand Up @@ -147,7 +148,7 @@ public ModelAndView today(ModelMap map, HttpServletRequest request, @Valid Strin
map.put("ckind", ckind);
}

Page<Contacts> contacts = contactsRes.findByCreaterAndSharesInAndDatastatus(logined.getId(),
Page<Contacts> contacts = contactsRes.findByCreaterAndSharesInOrSharesIsNullAndDatastatus(logined.getId(),
Arrays.asList(logined.getId(),"all"),
false,
PageRequest.of(
Expand Down Expand Up @@ -181,7 +182,7 @@ public ModelAndView week(ModelMap map, HttpServletRequest request, @Valid String
map.put("ckind", ckind);
}

Page<Contacts> contacts = contactsRes.findByCreaterAndSharesInAndDatastatus(logined.getId(),
Page<Contacts> contacts = contactsRes.findByCreaterAndSharesInOrSharesIsNullAndDatastatus(logined.getId(),
Arrays.asList(logined.getId(),"all"),
false,
PageRequest.of(
Expand Down Expand Up @@ -215,7 +216,7 @@ public ModelAndView creater(ModelMap map, HttpServletRequest request, @Valid Str
map.put("ckind", ckind);
}

Page<Contacts> contacts = contactsRes.findByCreaterAndSharesInAndDatastatus(logined.getId(),
Page<Contacts> contacts = contactsRes.findByCreaterAndSharesInOrSharesIsNullAndDatastatus(logined.getId(),
Arrays.asList(logined.getId(),"all"),
false,
PageRequest.of(
Expand Down Expand Up @@ -485,7 +486,7 @@ public void expall(ModelMap map, HttpServletRequest request, HttpServletResponse
map.put("ckind", ckind);
}

Iterable<Contacts> contactsList = contactsRes.findByCreaterAndSharesInAndDatastatus(
Iterable<Contacts> contactsList = contactsRes.findByCreaterAndSharesInOrSharesIsNullAndDatastatus(
logined.getId(), Arrays.asList(logined.getId(),"all"),false, PageRequest.of(super.getP(request), super.getPs(request)));

MetadataTable table = metadataRes.findByTablename("uk_contacts");
Expand Down Expand Up @@ -519,7 +520,7 @@ public void expall(ModelMap map, HttpServletRequest request, HttpServletResponse
map.put("ckind", ckind);
}

Iterable<Contacts> contactsList = contactsRes.findByCreaterAndSharesInAndDatastatus(
Iterable<Contacts> contactsList = contactsRes.findByCreaterAndSharesInOrSharesIsNullAndDatastatus(
logined.getId(), Arrays.asList(logined.getId(),"all"), false, PageRequest.of(super.getP(request), super.getPs(request)));
MetadataTable table = metadataRes.findByTablename("uk_contacts");
List<Map<String, Object>> values = new ArrayList<>();
Expand Down Expand Up @@ -559,7 +560,7 @@ public ModelAndView embed(ModelMap map, HttpServletRequest request, @Valid Strin
if (StringUtils.isNotBlank(agentserviceid)) {
AgentService service = agentServiceRes.findById(agentserviceid).orElse(null);
}
Page<Contacts> contactsList = contactsRes.findByCreaterAndSharesInAndDatastatus(
Page<Contacts> contactsList = contactsRes.findByCreaterAndSharesInOrSharesIsNullAndDatastatus(
logined.getId(), Arrays.asList(logined.getId(),"all"), false,
PageRequest.of(super.getP(request), super.getPs(request)));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ public String add(ModelMap map, HttpServletRequest request, @Valid String q) {
if (q == null) {
q = "";
}
Page<Contacts> contactsList = contactsRes.findByCreaterAndSharesInAndDatastatus(super.getUser(request).getId(), Arrays.asList(super.getUser(request).getId(),"all"),false, PageRequest.of(0, 10));
Page<Contacts> contactsList = contactsRes.findByCreaterAndSharesInOrSharesIsNullAndDatastatus(super.getUser(request).getId(), Arrays.asList(super.getUser(request).getId(),"all"),false, PageRequest.of(0, 10));

JSONArray result = new JSONArray();
for (Contacts contact : contactsList.getContent()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,7 @@ public interface ContactsRepository extends JpaRepository<Contacts, String> {
@Query(nativeQuery = true, value = "SELECT * FROM uk_contacts WHERE id = ?1")
Optional<Contacts> findOneById(final String id);

Page<Contacts> findByCreaterAndSharesInAndDatastatus(String id, Collection<String> shares, boolean datastatus, Pageable pageRequest);

Page<Contacts> findByCreaterAndSharesInOrSharesIsNullAndDatastatus(String id, Collection<String> shares, boolean datastatus, Pageable pageRequest);
/**
* 根据条件返回联系人,符合一下条件之一:
* 1. 联系人的 organ 字段在传入的 organs 列表中,并且联系人的 shares 字段值是 all
Expand All @@ -50,8 +49,8 @@ public interface ContactsRepository extends JpaRepository<Contacts, String> {
* @param pageRequest
* @return
*/
@Query("select c from Contacts c where c.organ IN :organs and (:ckind IS NULL OR c.ckind = :ckind) AND c.shares = 'all' AND c.datastatus = false")
Page<Contacts> findByOrganInAndCkindAndSharesAllAndDatastatusFalse(@Param("organs") Collection<String> organs, @Param("ckind") String ckind, Pageable pageRequest);
@Query("select c from Contacts c where c.organ IN :organs and (:ckind IS NULL OR c.ckind = :ckind) AND (c.shares in :shares or c.shares IS NULL) AND c.datastatus = false")
Page<Contacts> findByOrganInAndCkindAndSharesAllAndDatastatusFalse(@Param("organs") Collection<String> organs, @Param("shares") Collection<String> shares, @Param("ckind") String ckind, Pageable pageRequest);

Page<Contacts> findByDatastatus(boolean b, Pageable pageRequest);
}