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); + } +} + +