zxj 1 tydzień temu
rodzic
commit
94551e126b

+ 46 - 0
o2server/x_jpush_assemble_control/src/main/java/com/x/jpush/assemble/control/factory/PushDeviceFactory.java

@@ -43,6 +43,28 @@ public class PushDeviceFactory extends AbstractFactory {
 		return null;
 	}
 
+	/**
+	 * 根据person 查询设备
+	 *  备注;findDeviceByUnique  有BUG
+	 * @param person
+	 * @return
+	 * @throws Exception
+	 */
+	public PushDevice findDeviceByPerson(String person) throws Exception {
+		EntityManager em = this.entityManagerContainer().get(PushDevice.class);
+		CriteriaBuilder cb = em.getCriteriaBuilder();
+		CriteriaQuery<PushDevice> query = cb.createQuery(PushDevice.class);
+		Root<PushDevice> root = query.from(PushDevice.class);
+		Predicate p = cb.equal(root.get(PushDevice_.person), person);
+		query.select(root).where(p);
+		List<PushDevice> list = em.createQuery(query).getResultList();
+		if (list != null && !list.isEmpty()) {
+			return list.get(0);
+		}
+		return null;
+	}
+
+
 	/**
 	 * 设备是否存在
 	 * 
@@ -64,6 +86,30 @@ public class PushDeviceFactory extends AbstractFactory {
 		return false;
 	}
 
+
+	/**
+	 * zh设备是否存在  注意:existDeviceUnique  有BUG
+	 * @param person
+	 * @return
+	 * @throws Exception
+	 */
+	public boolean existDevicePerson(String person) throws Exception {
+		EntityManager em = this.entityManagerContainer().get(PushDevice.class);
+		CriteriaBuilder cb = em.getCriteriaBuilder();
+		CriteriaQuery<PushDevice> query = cb.createQuery(PushDevice.class);
+		Root<PushDevice> root = query.from(PushDevice.class);
+		Predicate p = cb.equal(root.get(PushDevice_.person), person);
+		query.select(root).where(p);
+		List<PushDevice> list = em.createQuery(query).getResultList();
+		if (list != null && !list.isEmpty()) {
+			return true;
+		}
+		return false;
+	}
+
+
+
+
 	/**
 	 * 查询用户的极光推送的设备列表
 	 *