Commit a31e683d by Huang Linyu

优化同步查询, 提高同步效率,由200秒减少到40几秒

修复消息查询返回多个结果的bug
parent 2f581c9b
......@@ -311,26 +311,26 @@ public class AsmCourseResourceDao extends GenericHibernateDao<AsmCourseresource,
String sql = "insert IGNORE into asm_courseresource(asmId,DistrictID,DistrictID2,CourseID, CourseName, IsDirect, ProductId, productName, ResourceId,priceId, feature, recommendLevel,courseStatus,Name,Ename,pinyin,Address,Lat,Lng,CourseType,ImagePath,HoleCount,FairwayLength,SalePrice,FloorPrice,MarketPrice,cashRebate,SponsorPrice,prepaidPrice,currency,priceStatus,PriceDate,resourceStatus,ReserveDay,TeeTime,InventoryType,InventorySize,ResourceType,tips,feeDesc,service,paymentType,freezeAmount,resourceName,productStatus,OfflineDate,productType, startTime, flashSaleStartTime, flashSaleEndTime,flashSaleTips,eventActivityTips,realTimeTeeTimeType,cancelTips,startTeeTime, endTeeTime,hotEvent,PublishDate,CreatedTime,Update_LastTime)"
+ selectSql + "where (1!=1 %s)";
String courseIds = "select id from prd_course where createdTime>:createdTime";// this.getInsertEntityIds("Course", date);
String courseProduceIds = "select id from prd_courseproduct where createdTime>:createdTime";// this.getInsertEntityIds("CourseProduct", date);
String courseResourceIds = "select id from prd_courseresource where createdTime>:createdTime";// this.getInsertEntityIds("CourseResource", date);
String resourcePriceIds = "select id from prd_resourceprice where createdTime>:createdTime";// this.getInsertEntityIds("ResourcePrice", date);
String courseIds = "select min(id) from prd_course where createdTime>:createdTime";// this.getInsertEntityIds("Course", date);
String courseProduceIds = "select min(id) from prd_courseproduct where createdTime>:createdTime";// this.getInsertEntityIds("CourseProduct", date);
String courseResourceIds = "select min(id) from prd_courseresource where createdTime>:createdTime";// this.getInsertEntityIds("CourseResource", date);
String resourcePriceIds = "select min(id) from prd_resourceprice where createdTime>:createdTime";// this.getInsertEntityIds("ResourcePrice", date);
String subSql = "";
if (!StringUtils.isEmpty(courseIds)) {
subSql = subSql + " or c.id in (" + courseIds + ")";
subSql = subSql + " or c.id >= (" + courseIds + ")";
}
if (!StringUtils.isEmpty(courseProduceIds)) {
subSql = subSql + " or p.id in (" + courseProduceIds + ")";
subSql = subSql + " or p.id >= (" + courseProduceIds + ")";
}
if (!StringUtils.isEmpty(courseResourceIds)) {
subSql = subSql + " or r.id in (" + courseResourceIds + ")";
subSql = subSql + " or r.id >= (" + courseResourceIds + ")";
}
if (!StringUtils.isEmpty(resourcePriceIds)) {
subSql = subSql + " or pr.id in (" + resourcePriceIds + ")";
subSql = subSql + " or pr.id >= (" + resourcePriceIds + ")";
}
sql = String.format(sql, subSql);
Session session = this.getSession();
......
......@@ -94,7 +94,13 @@ public class SmsDao extends GenericHibernateDao<Sms, Integer> {
Query query = getSession().createQuery(hsql);
query.setParameter("messageId", msgId);
query.setParameter("mobileNo", mobileNo);
return (Sms) query.uniqueResult();
List<Sms> list = query.list();
if(list.size()>0){
return list.get(0);
}else{
return null;
}
// return (Sms) query.uniqueResult();
}
/**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment