package com.kmall.admin.cuspay.biz; import com.kmall.admin.cuspay.biz.CuspayBiz; import com.kmall.admin.cuspay.entity.merch.MerchPayCfg; import com.kmall.admin.cuspay.service.MerchPaymentService; import com.google.common.collect.Maps; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; import java.util.List; import java.util.Map; /** * 加载缓存 * @author zx * @version 1.0 * 2018-05-23 10:00 */ @Component public abstract class AbstractCusDeclareBiz implements CuspayBiz { @Autowired private MerchPaymentService paymentService; //商户支付信息缓存 private Map payCaches = Maps.newHashMap(); //重新加载缓存 @PostConstruct private void reloadPayCaches() { if (this.paymentService == null) { throw new NullPointerException("paymentService is null"); } List list = this.paymentService.loadMerchPayCfg(); if (list != null && !list.isEmpty()) { list.forEach(cfg ->{ payCaches.put(cfg.getAppid(), cfg); }); } } //获取商户支付数据 protected MerchPayCfg getMerchPayCfgCache(String sn) { MerchPayCfg merchPayCfg = payCaches.get(sn); if(merchPayCfg == null) { reloadPayCaches(); return payCaches.get(sn); } return merchPayCfg; } public MerchPaymentService getPaymentService() { return paymentService; } public void setPaymentService(MerchPaymentService paymentService) { this.paymentService = paymentService; } }