Quellcode durchsuchen

增加删除日志

gaoyu vor 3 Jahren
Ursprung
Commit
4f70cbd97d

+ 9 - 5
dmp-alarm/src/main/java/com/persagy/dmp/alarm/service/AlarmRecordService.java

@@ -386,20 +386,24 @@ public class AlarmRecordService extends AlarmBaseService {
 					em.persist(alarmRecord);
 					idDeleteList.remove(alarmRecord.getId());
 				}
-				sb.setLength(0);
-				sb.append("DELETE FROM alarm_record WHERE id IN (:ids)");
-				int pageSize = 1000;
+				int pageSize = 500;
 				if (idDeleteList.size() > pageSize) {
 					while (idDeleteList.size() > pageSize) {
 						List<String> ids = idDeleteList.subList(0, pageSize);
+						String idsString = "'"+StringUtils.collectionToDelimitedString(ids,"','")+"'";
+						sb.setLength(0);
+						sb.append(" DELETE FROM alarm_record WHERE id IN (").append(idsString).append(")");
+						log.info("sql {}",sb.toString());
 						query = em.createNativeQuery(sb.toString(), AlarmRecord.class);
-						query.setParameter("ids", ids);
 						query.executeUpdate();
 						idDeleteList.removeAll(ids);
 					}
 				}
+				sb.setLength(0);
+				String idsString = "'"+StringUtils.collectionToDelimitedString(idDeleteList,"','")+"'";
+				sb.append(" DELETE FROM alarm_record WHERE id IN (").append(idsString).append(")");
+				log.info("sql {}",sb.toString());
 				query = em.createNativeQuery(sb.toString(), AlarmRecord.class);
-				query.setParameter("ids", idDeleteList);
 				query.executeUpdate();
 				tx.commit();
 				sb.setLength(0);