diff --git a/src/main/java/au/com/royalpay/payment/manage/citypartner/core/impls/CityPartnerPrizeServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/citypartner/core/impls/CityPartnerPrizeServiceImpl.java index 1cfed3e39..fb8a28025 100644 --- a/src/main/java/au/com/royalpay/payment/manage/citypartner/core/impls/CityPartnerPrizeServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/citypartner/core/impls/CityPartnerPrizeServiceImpl.java @@ -390,9 +390,9 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService { int month = monthCal.get(Calendar.MONTH) + 1; List list = financialPartnerCommissionMapper.list(year, month); -// if (list!=null &&list.size() > 0) { -// throw new ServerErrorException("请不要重复生成合伙人记录"); -// } + if (list!=null &&list.size() > 0) { + throw new ServerErrorException("请不要重复生成合伙人记录"); + } financialPartnerCommissionDetailMapper.clearData(year, month, 1); financialPartnerCommissionMapper.clearData(year, month, 1); diff --git a/src/main/java/au/com/royalpay/payment/manage/task/OrgCommissionTask.java b/src/main/java/au/com/royalpay/payment/manage/task/OrgCommissionTask.java new file mode 100644 index 000000000..614ef9212 --- /dev/null +++ b/src/main/java/au/com/royalpay/payment/manage/task/OrgCommissionTask.java @@ -0,0 +1,37 @@ +package au.com.royalpay.payment.manage.task; + +import au.com.royalpay.payment.manage.citypartner.core.CityPartnerPrizeService; +import au.com.royalpay.payment.tools.scheduler.SynchronizedScheduler; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.Calendar; +import java.util.Date; + +@Component +@ConditionalOnProperty(value = "app.run-tasks", havingValue = "true") +public class OrgCommissionTask { + + @Resource + private SynchronizedScheduler synchronizedScheduler; + @Resource + private CityPartnerPrizeService cityPartnerPrizeService; + + @Scheduled(cron = "0 15 0 1 * ?") + public void generateOrgCommission() { + Calendar monthCal = Calendar.getInstance(); + monthCal.setTime(new Date()); + int year = monthCal.get(Calendar.YEAR); + int month = monthCal.get(Calendar.MONTH); + if (month == 0) { + year = year - 1; + month = 12; + } + String monthStr = year + "-" + month; + cityPartnerPrizeService.generate(monthStr); + } +} + +