settle delay cashback

master
yixian 7 years ago
parent 4901bd8b1c
commit 708dbfcd44

@ -13,6 +13,7 @@ import au.com.royalpay.payment.manage.merchants.core.ClientManager;
import au.com.royalpay.payment.tools.CommonConsts; import au.com.royalpay.payment.tools.CommonConsts;
import au.com.royalpay.payment.tools.env.PlatformEnvironment; import au.com.royalpay.payment.tools.env.PlatformEnvironment;
import au.com.royalpay.payment.tools.exceptions.BadRequestException; import au.com.royalpay.payment.tools.exceptions.BadRequestException;
import au.com.royalpay.payment.tools.lock.Locker;
import au.com.royalpay.payment.tools.utils.CurrencyAmountUtils; import au.com.royalpay.payment.tools.utils.CurrencyAmountUtils;
import au.com.royalpay.payment.tools.utils.PageListUtils; import au.com.royalpay.payment.tools.utils.PageListUtils;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
@ -54,6 +55,8 @@ public class SettleDelayConfigurerImpl implements SettleDelayConfigurer {
@Resource @Resource
private ClearingDetailMapper clearingDetailMapper; private ClearingDetailMapper clearingDetailMapper;
@Resource @Resource
private Locker locker;
@Resource
private RetailAppService retailAppService; private RetailAppService retailAppService;
private Logger logger = LoggerFactory.getLogger(getClass()); private Logger logger = LoggerFactory.getLogger(getClass());
@ -199,6 +202,11 @@ public class SettleDelayConfigurerImpl implements SettleDelayConfigurer {
@Override @Override
@Transactional @Transactional
public void addCashback(Date date) { public void addCashback(Date date) {
String key = "settle_delay_cashback";
if (!locker.lock(key, 600_000)) {
return;
}
try {
date = DateUtils.truncate(date, Calendar.DATE); date = DateUtils.truncate(date, Calendar.DATE);
LocalDate processDate = LocalDate.fromDateFields(date); LocalDate processDate = LocalDate.fromDateFields(date);
if (processDate.getDayOfWeek() != DateTimeConstants.TUESDAY) { if (processDate.getDayOfWeek() != DateTimeConstants.TUESDAY) {
@ -256,6 +264,9 @@ public class SettleDelayConfigurerImpl implements SettleDelayConfigurer {
} }
} }
} }
} finally {
locker.unlock(key);
}
} }
} }

Loading…
Cancel
Save