1
0
mirror of https://github.com/chatopera/cosin.git synced 2025-06-16 18:30:03 +08:00

Merge pull request #993 from lecjy/feature/issue-987

fix #987
This commit is contained in:
Hai Liang W 2023-12-09 18:55:02 +08:00 committed by GitHub
commit 0797a90fdd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 12 additions and 12 deletions

View File

@ -86,7 +86,7 @@ public class ApiContactsController extends Handler {
if (!StringUtils.isBlank(creater)) { if (!StringUtils.isBlank(creater)) {
User user = super.getUser(request); 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( PageRequest.of(
super.getP(request), super.getP(request),
super.getPs(request))); super.getPs(request)));

View File

@ -118,6 +118,7 @@ public class ContactsController extends Handler {
Page<Contacts> contacts = contactsRes.findByOrganInAndCkindAndSharesAllAndDatastatusFalse( Page<Contacts> contacts = contactsRes.findByOrganInAndCkindAndSharesAllAndDatastatusFalse(
super.getMyCurrentAffiliatesFlat(logined), super.getMyCurrentAffiliatesFlat(logined),
Arrays.asList(logined.getId(), "all"),
ckind, ckind,
PageRequest.of(super.getP(request), super.getPs(request))); PageRequest.of(super.getP(request), super.getPs(request)));
@ -147,7 +148,7 @@ public class ContactsController extends Handler {
map.put("ckind", ckind); map.put("ckind", ckind);
} }
Page<Contacts> contacts = contactsRes.findByCreaterAndSharesInAndDatastatus(logined.getId(), Page<Contacts> contacts = contactsRes.findByCreaterAndSharesInOrSharesIsNullAndDatastatus(logined.getId(),
Arrays.asList(logined.getId(),"all"), Arrays.asList(logined.getId(),"all"),
false, false,
PageRequest.of( PageRequest.of(
@ -181,7 +182,7 @@ public class ContactsController extends Handler {
map.put("ckind", ckind); map.put("ckind", ckind);
} }
Page<Contacts> contacts = contactsRes.findByCreaterAndSharesInAndDatastatus(logined.getId(), Page<Contacts> contacts = contactsRes.findByCreaterAndSharesInOrSharesIsNullAndDatastatus(logined.getId(),
Arrays.asList(logined.getId(),"all"), Arrays.asList(logined.getId(),"all"),
false, false,
PageRequest.of( PageRequest.of(
@ -215,7 +216,7 @@ public class ContactsController extends Handler {
map.put("ckind", ckind); map.put("ckind", ckind);
} }
Page<Contacts> contacts = contactsRes.findByCreaterAndSharesInAndDatastatus(logined.getId(), Page<Contacts> contacts = contactsRes.findByCreaterAndSharesInOrSharesIsNullAndDatastatus(logined.getId(),
Arrays.asList(logined.getId(),"all"), Arrays.asList(logined.getId(),"all"),
false, false,
PageRequest.of( PageRequest.of(
@ -485,7 +486,7 @@ public class ContactsController extends Handler {
map.put("ckind", ckind); 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))); logined.getId(), Arrays.asList(logined.getId(),"all"),false, PageRequest.of(super.getP(request), super.getPs(request)));
MetadataTable table = metadataRes.findByTablename("uk_contacts"); MetadataTable table = metadataRes.findByTablename("uk_contacts");
@ -519,7 +520,7 @@ public class ContactsController extends Handler {
map.put("ckind", ckind); 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))); logined.getId(), Arrays.asList(logined.getId(),"all"), false, PageRequest.of(super.getP(request), super.getPs(request)));
MetadataTable table = metadataRes.findByTablename("uk_contacts"); MetadataTable table = metadataRes.findByTablename("uk_contacts");
List<Map<String, Object>> values = new ArrayList<>(); List<Map<String, Object>> values = new ArrayList<>();
@ -559,7 +560,7 @@ public class ContactsController extends Handler {
if (StringUtils.isNotBlank(agentserviceid)) { if (StringUtils.isNotBlank(agentserviceid)) {
AgentService service = agentServiceRes.findById(agentserviceid).orElse(null); 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, logined.getId(), Arrays.asList(logined.getId(),"all"), false,
PageRequest.of(super.getP(request), super.getPs(request))); PageRequest.of(super.getP(request), super.getPs(request)));

View File

@ -46,7 +46,7 @@ public class ContactsResourceController extends Handler {
if (q == null) { if (q == null) {
q = ""; 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(); JSONArray result = new JSONArray();
for (Contacts contact : contactsList.getContent()) { for (Contacts contact : contactsList.getContent()) {

View File

@ -40,8 +40,7 @@ public interface ContactsRepository extends JpaRepository<Contacts, String> {
@Query(nativeQuery = true, value = "SELECT * FROM uk_contacts WHERE id = ?1") @Query(nativeQuery = true, value = "SELECT * FROM uk_contacts WHERE id = ?1")
Optional<Contacts> findOneById(final String id); 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 * 1. 联系人的 organ 字段在传入的 organs 列表中并且联系人的 shares 字段值是 all
@ -50,8 +49,8 @@ public interface ContactsRepository extends JpaRepository<Contacts, String> {
* @param pageRequest * @param pageRequest
* @return * @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") @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("ckind") String ckind, Pageable pageRequest); 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); Page<Contacts> findByDatastatus(boolean b, Pageable pageRequest);
} }