From 8238f5aa4da87c858c6652f96b7344707d5e1658 Mon Sep 17 00:00:00 2001 From: zhourui Date: Wed, 19 Oct 2022 16:01:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4instant=E5=AF=B9=E8=B1=A1conu?= =?UTF-8?q?mserList=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ionListWithCurrentPersonWithoutIMDesc.java | 60 +++++++++---------- .../com/x/message/core/entity/Instant.java | 18 ------ 2 files changed, 30 insertions(+), 48 deletions(-) diff --git a/o2server/x_message_assemble_communicate/src/main/java/com/x/message/assemble/communicate/jaxrs/instant/ActionListWithCurrentPersonWithoutIMDesc.java b/o2server/x_message_assemble_communicate/src/main/java/com/x/message/assemble/communicate/jaxrs/instant/ActionListWithCurrentPersonWithoutIMDesc.java index 64a5f2996e..c16b97a134 100644 --- a/o2server/x_message_assemble_communicate/src/main/java/com/x/message/assemble/communicate/jaxrs/instant/ActionListWithCurrentPersonWithoutIMDesc.java +++ b/o2server/x_message_assemble_communicate/src/main/java/com/x/message/assemble/communicate/jaxrs/instant/ActionListWithCurrentPersonWithoutIMDesc.java @@ -13,6 +13,7 @@ import org.apache.commons.lang3.math.NumberUtils; import com.x.base.core.container.EntityManagerContainer; import com.x.base.core.container.factory.EntityManagerContainerFactory; import com.x.base.core.entity.JpaObject; +import com.x.base.core.entity.JpaObject_; import com.x.base.core.project.bean.WrapCopier; import com.x.base.core.project.bean.WrapCopierFactory; import com.x.base.core.project.http.ActionResult; @@ -26,39 +27,38 @@ import com.x.message.core.entity.Instant_; class ActionListWithCurrentPersonWithoutIMDesc extends BaseAction { - private static final Logger LOGGER= LoggerFactory.getLogger(ActionListWithCurrentPersonWithoutIMDesc.class); + private static final Logger LOGGER = LoggerFactory.getLogger(ActionListWithCurrentPersonWithoutIMDesc.class); - ActionResult> execute(EffectivePerson effectivePerson, Integer count) throws Exception { - - LOGGER.debug("execute:{}, count:{}.", effectivePerson::getDistinguishedName, () -> count); - - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - Business business = new Business(emc); - ActionResult> result = new ActionResult<>(); - List wos = this.list(business, NumberUtils.min(200, NumberUtils.max(1, count)), effectivePerson); - result.setData(wos); - return result; - } - } + ActionResult> execute(EffectivePerson effectivePerson, Integer count) throws Exception { - private List list(Business business, Integer count, EffectivePerson effectivePerson) throws Exception { - EntityManager em = business.entityManagerContainer().get(Instant.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(Instant.class); - Root root = cq.from(Instant.class); - Predicate p = cb.equal(root.get(Instant_.person), effectivePerson.getDistinguishedName()); - p = cb.and(p, cb.notEqual(root.get(Instant_.type), MessageConnector.TYPE_IM_CREATE)); - p = cb.and(p, cb.isNotEmpty(root.get(Instant_.consumerList))); - List os = em.createQuery(cq.select(root).where(p).orderBy(cb.desc(root.get(Instant_.createTime)))) - .setMaxResults(count).getResultList(); - return Wo.copier.copy(os); - } + LOGGER.debug("execute:{}, count:{}.", effectivePerson::getDistinguishedName, () -> count); - public static class Wo extends Instant { + try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { + Business business = new Business(emc); + ActionResult> result = new ActionResult<>(); + List wos = this.list(business, NumberUtils.min(200, NumberUtils.max(1, count)), effectivePerson); + result.setData(wos); + return result; + } + } - private static final long serialVersionUID = 681982898431236763L; - static WrapCopier copier = WrapCopierFactory.wo(Instant.class, Wo.class, null, - JpaObject.FieldsInvisible); - } + private List list(Business business, Integer count, EffectivePerson effectivePerson) throws Exception { + EntityManager em = business.entityManagerContainer().get(Instant.class); + CriteriaBuilder cb = em.getCriteriaBuilder(); + CriteriaQuery cq = cb.createQuery(Instant.class); + Root root = cq.from(Instant.class); + Predicate p = cb.equal(root.get(Instant_.person), effectivePerson.getDistinguishedName()); + p = cb.and(p, cb.notEqual(root.get(Instant_.type), MessageConnector.TYPE_IM_CREATE)); + List os = em.createQuery(cq.select(root).where(p).orderBy(cb.desc(root.get(JpaObject_.createTime)))) + .setMaxResults(count).getResultList(); + return Wo.copier.copy(os); + } + + public static class Wo extends Instant { + + private static final long serialVersionUID = 681982898431236763L; + static WrapCopier copier = WrapCopierFactory.wo(Instant.class, Wo.class, null, + JpaObject.FieldsInvisible); + } } \ No newline at end of file diff --git a/o2server/x_message_core_entity/src/main/java/com/x/message/core/entity/Instant.java b/o2server/x_message_core_entity/src/main/java/com/x/message/core/entity/Instant.java index 857d97a0a0..f83d43683a 100644 --- a/o2server/x_message_core_entity/src/main/java/com/x/message/core/entity/Instant.java +++ b/o2server/x_message_core_entity/src/main/java/com/x/message/core/entity/Instant.java @@ -99,16 +99,6 @@ public class Instant extends SliceJpaObject { @CheckPersist(allowEmpty = false) private Boolean consumed; - public static final String consumerList_FIELDNAME = "consumerList"; - @FieldDescribe("消费对象.") - @PersistentCollection(fetch = FetchType.EAGER) - @OrderColumn(name = ORDERCOLUMNCOLUMN) - @ContainerTable(name = TABLE + ContainerTableNameMiddle - + consumerList_FIELDNAME, joinIndex = @Index(name = TABLE + consumerList_FIELDNAME + JoinIndexNameSuffix)) - @ElementColumn(length = JpaObject.length_64B, name = ColumnNamePrefix + consumerList_FIELDNAME) - @ElementIndex(name = TABLE + consumerList_FIELDNAME + ElementIndexNameSuffix) - private List consumerList; - public String getBody() { return body; } @@ -125,14 +115,6 @@ public class Instant extends SliceJpaObject { this.type = type; } - public List getConsumerList() { - return consumerList; - } - - public void setConsumerList(List consumerList) { - this.consumerList = consumerList; - } - public String getPerson() { return person; } -- GitLab