123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- /*
- package com.chinacreator.videoalliance.order.service;
- import java.sql.SQLException;
- import java.util.ArrayList;
- import java.util.List;
- import org.apache.commons.beanutils.BeanUtils;
- import org.apache.log4j.Logger;
- import com.chinacreator.cache.CacheManager;
- import com.chinacreator.cache.ICache;
- import com.chinacreator.cache.process.OrderInfo;
- import com.chinacreator.common.support.util.SpringContextUtil;
- import com.chinacreator.videoalliance.common.bean.CPInfo;
- import com.chinacreator.videoalliance.common.dao.CPDao;
- import com.chinacreator.videoalliance.order.bean.SpCpInfo;
- import com.chinacreator.videoalliance.order.dao.OrderCacheDao;
- import com.chinacreator.videoalliance.order.dao.OrderLogDao;
- import com.chinacreator.videoalliance.order.dao.SpCpDao;
- public class CacheOrderService implements Runnable{
-
- private static Logger logger = Logger.getLogger(CacheOrderService.class);
- private static final String CATALOG = "order";
-
- private OrderLogDao orderLogDao;
- private OrderCacheDao orderCacheDao;
- private SpCpDao spcpDao;
-
- private List<String> users;
-
- public CacheOrderService(List<String> users) {
- this.users = users;
- orderLogDao = SpringContextUtil.getBean(OrderLogDao.class);
- orderCacheDao = SpringContextUtil.getBean(OrderCacheDao.class);
- spcpDao = SpringContextUtil.getBean(SpCpDao.class);
- }
-
- public void run() {
- ICache cache = null;
- try {
- if(users != null && users.size() > 0) {
- cache = CacheManager.getInstance().getCache();
- int index = 0;
- for(String userid : users) {
- doCache(userid, cache);
- if(logger.isDebugEnabled()) {
- logger.debug("[" + (++index) + "/" + users.size() + "]");
- }
- }
- }
- } catch (Exception e) {
- logger.error("添加缓存失败", e);
- try {
- orderLogDao.addCacheLog("order", null, e.getMessage());
- } catch (Exception e1) {}
- } finally {
- if(cache != null) {
- cache.doRelease();
- }
- }
- }
-
- public void doCache(String userid, ICache cache) throws SQLException {
- try {
- List<OrderInfo> orderInfos = orderCacheDao.queryUserOrders(userid);
- if(orderInfos == null || orderInfos.size() == 0) {
- cache.remove(CATALOG, userid);
- } else {
- List<OrderInfo> newOrderInfos = new ArrayList<OrderInfo>();
- for(OrderInfo orderInfo : orderInfos) {
- if(orderInfo.getType().equals("2")) {
- List<SpCpInfo> spCpBeans = spcpDao.querySpCps(orderInfo.getProductid());
- for(SpCpInfo spCpBean : spCpBeans) {
- OrderInfo newOrderInfo = (OrderInfo) BeanUtils.cloneBean(orderInfo);
- newOrderInfo.setCpid(spCpBean.getCpid());
- newOrderInfo.setSpid(spCpBean.getProductid());
- CPInfo cpInfo = SpringContextUtil.getBean(CPDao.class).findById(spCpBean.getCpid());
- if(cpInfo != null) {
- newOrderInfo.setSpid(cpInfo.getSdspid());
- }
- newOrderInfos.add(newOrderInfo);
- }
- }
- newOrderInfos.add(orderInfo);
- }
- cache.set(CATALOG, userid, newOrderInfos);
- }
- orderCacheDao.updateCacheStatus(userid, 0);
- } catch (Exception e) {
- logger.error("添加缓存失败", e);
- orderCacheDao.updateCacheStatus(userid, 1);
- orderLogDao.addCacheLog("order", userid, e.getMessage());
- }
- }
-
- public void doCache(String userid) throws SQLException {
- ICache cache = null;
- try {
- cache = CacheManager.getInstance().getCache();
- doCache(userid, cache);
- } finally {
- if(cache != null) {
- cache.doRelease();
- }
- }
- }
- }
- */
|