@Override public List<GspCompanyLicenseVO> queryLicenseReminder(long retailShopId) { QGspCompanyLicense qGspCompanyLicense = QGspCompanyLicense.gspCompanyLicense; QLicenseType qLicenseType = QLicenseType.licenseType; QGlbSupplier qGlbSupplier = QGlbSupplier.glbSupplier; JPAQuery<GspCompanyLicenseVO> query = queryFactory.select( Projections.bean( GspCompanyLicenseVO.class, qGspCompanyLicense.licenseId, qGspCompanyLicense.retailShopId, qGspCompanyLicense.companyId, qGspCompanyLicense.licenseTypeId, qGspCompanyLicense.licenseNo, qGspCompanyLicense.changeDate, qGspCompanyLicense.invalidDate, qGlbSupplier.supplierName.as("companyName"), qLicenseType.licenseTypeName ) ).from(qGspCompanyLicense) .leftJoin(qGlbSupplier).on(qGlbSupplier.supplierId.eq(qGspCompanyLicense.companyId)) .leftJoin(qLicenseType).on(qLicenseType.licenseTypeId.eq(qGspCompanyLicense.licenseTypeId)); query.where(qGspCompanyLicense.retailShopId.eq(retailShopId)); Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DAY_OF_MONTH, 30); Date toTime = calendar.getTime(); query.where(qGspCompanyLicense.invalidDate.before(toTime)); return query.fetch(); }
时间: 2024-02-11 20:19:58 浏览: 70
这是一个使用 QueryDSL 编写的 JPA 查询方法,查询 GSP 公司许可证的提醒信息,返回一个 GspCompanyLicenseVO 类型的 List。方法名为 queryLicenseReminder,参数为 long 类型的 retailShopId,表示零售店 ID。
该方法使用了 Q 类,分别代表 GspCompanyLicense、LicenseType 和 GlbSupplier 实体类,用于构建查询语句。使用了 JPAQuery 类进行查询,并使用了 select 方法指定要查询的字段,使用 Projections.bean 创建一个 GspCompanyLicenseVO 类型的 bean 对象,查询结果将被映射为该对象。查询语句使用了 from、leftJoin 和 on 方法,使用 where 方法指定查询条件。其中,leftJoin 方法将表 GspCompanyLicense 与表 GlbSupplier 和表 LicenseType 进行左连接查询,on 方法指定连接条件。
查询条件使用了 retailShopId 和 invalidDate。其中,retailShopId 表示零售店 ID,invalidDate 表示许可证的失效日期,查询条件为 invalidDate 小于当前日期加上 30 天。最后使用 fetch 方法执行查询并返回查询结果。
阅读全文