goods同步

This commit is contained in:
2026-05-30 08:26:47 +08:00
parent 246c5a7080
commit dbf408c51f
20 changed files with 1233 additions and 32 deletions

View File

@@ -71,7 +71,7 @@ public class LbAssessmentApplyServiceImpl
moderatorName 主持人姓名;
meetingNumber 会议号;
applicationDatetime 申请日期时间,优先 ISO-8601如 2026-05-15T14:30:00也可 yyyy-MM-dd HH:mm:ss若仅有日期可设为当天 00:00:00。
不要输出 id、tenantId、createdAt、updatedAt、notificationText。
不要输出 id、tenantId、createdAt、updatedAt、notificationText、sortedNum
""";
@Override
@@ -194,6 +194,9 @@ public class LbAssessmentApplyServiceImpl
entity.setCreatedAt(now);
}
entity.setUpdatedAt(now);
if (entity.getSortedNum() == null) {
entity.setSortedNum(resolveNextSortedNum(entity.getTenantId()));
}
refreshNotificationText(entity);
boolean ok = this.save(entity);
@@ -512,6 +515,7 @@ public class LbAssessmentApplyServiceImpl
queryWrapper.eq(LbAssessmentApply::getTenantId, tenantId.trim())
.ge(LbAssessmentApply::getApplicationDatetime, start)
.le(LbAssessmentApply::getApplicationDatetime, end)
.orderByAsc(LbAssessmentApply::getSortedNum)
.orderByDesc(LbAssessmentApply::getApplicationDatetime);
List<LbAssessmentApply> rows = this.list(queryWrapper);
@@ -554,7 +558,7 @@ public class LbAssessmentApplyServiceImpl
for (LbAssessmentApply item : rows) {
Row row = sheet.createRow(rowIndex);
row.setHeightInPoints(20);
createCell(row, 0, String.valueOf(rowIndex), dataStyle);
createCell(row, 0, formatSortedNum(item.getSortedNum(), rowIndex), dataStyle);
createCell(row, 1, nullToEmpty(item.getApplicantName()), dataStyle);
createCell(row, 2, nullToEmpty(item.getApplicantPhone()), dataStyle);
createCell(row, 3, nullToEmpty(item.getColleagueName()), dataStyle);
@@ -633,11 +637,28 @@ public class LbAssessmentApplyServiceImpl
if (meetingNumber != null && !meetingNumber.trim().isEmpty()) {
queryWrapper.like(LbAssessmentApply::getMeetingNumber, meetingNumber.trim());
}
queryWrapper.orderByDesc(LbAssessmentApply::getUpdatedAt)
queryWrapper.orderByAsc(LbAssessmentApply::getSortedNum)
.orderByDesc(LbAssessmentApply::getUpdatedAt)
.orderByDesc(LbAssessmentApply::getCreatedAt);
return queryWrapper;
}
private Integer resolveNextSortedNum(String tenantId) {
LambdaQueryWrapper<LbAssessmentApply> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(LbAssessmentApply::getTenantId, tenantId.trim())
.orderByDesc(LbAssessmentApply::getSortedNum)
.last("LIMIT 1");
LbAssessmentApply latest = this.getOne(queryWrapper);
if (latest == null || latest.getSortedNum() == null) {
return 1;
}
return latest.getSortedNum() + 1;
}
private static String formatSortedNum(Integer sortedNum, int fallback) {
return sortedNum != null ? String.valueOf(sortedNum) : String.valueOf(fallback);
}
private static String nullToEmpty(String value) {
return value == null ? "" : value;
}