ignore campaign quota validate self

This commit is contained in:
Shaun Chyxion 2021-10-20 00:58:30 +08:00
parent 2f44766cff
commit 4905c5e22a

View File

@ -31,7 +31,7 @@ public class CampaignQuotaServiceImpl
@Override @Override
protected void beforeCreate(final FormCreateCampaignQuota form, final CampaignQuota model) { protected void beforeCreate(final FormCreateCampaignQuota form, final CampaignQuota model) {
super.beforeCreate(form, model); super.beforeCreate(form, model);
validateDailyTime(form.getCampaignId(), form.getDailyFrom(), form.getDailyTo()); validateDailyTime(null, form.getCampaignId(), form.getDailyFrom(), form.getDailyTo());
} }
/** /**
@ -40,14 +40,21 @@ public class CampaignQuotaServiceImpl
@Override @Override
protected void beforeUpdate(final FormUpdateCampaignQuota form, final CampaignQuota model) { protected void beforeUpdate(final FormUpdateCampaignQuota form, final CampaignQuota model) {
super.beforeUpdate(form, model); super.beforeUpdate(form, model);
validateDailyTime(model.getCampaignId(), form.getDailyFrom(), form.getDailyTo()); validateDailyTime(model.getId(), model.getCampaignId(), form.getDailyFrom(), form.getDailyTo());
} }
void validateDailyTime(final Integer campaignId, final DailyTime dailyFrom, final DailyTime dailyTo) { void validateDailyTime(final Integer quoaId, final Integer campaignId, final DailyTime dailyFrom, final DailyTime dailyTo) {
Assert.state(dailyFrom.getSecondOfDay() < dailyTo.getSecondOfDay(), Assert.state(dailyFrom.getSecondOfDay() < dailyTo.getSecondOfDay(),
() -> "无效开始时间[" + dailyFrom + "]和结束时间[" + dailyTo + "],开始时间须小于结束时间"); () -> "无效开始时间[" + dailyFrom + "]和结束时间[" + dailyTo + "],开始时间须小于结束时间");
mapper.scan(128, new Search(CampaignQuota.CAMPAIGN_ID, campaignId), item -> { val search = new Search(CampaignQuota.CAMPAIGN_ID, campaignId);
// ignore self
if (quoaId != null) {
search.ne(CampaignQuota.ID, quoaId);
}
mapper.scan(128, search, item -> {
val itemDailyFrom = item.getDailyFrom(); val itemDailyFrom = item.getDailyFrom();
val itemDailyTo = item.getDailyTo(); val itemDailyTo = item.getDailyTo();