From dd5b15229cb15459fa7c31ccea77dac28cbfafbd Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期一, 13 四月 2020 10:04:20 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/goods/TaoBaoCouponServiceImpl.java |  220 ++++++++++++++++++++-----------------------------------
 1 files changed, 80 insertions(+), 140 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/TaoBaoCouponServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/TaoBaoCouponServiceImpl.java
index dfd79f5..5cd6e6d 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/TaoBaoCouponServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/TaoBaoCouponServiceImpl.java
@@ -1,6 +1,6 @@
 package com.yeshi.fanli.service.impl.goods;
 
-import java.io.Serializable;
+import java.lang.reflect.Type;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
@@ -8,15 +8,13 @@
 
 import javax.annotation.Resource;
 
-import org.hibernate.HibernateException;
-import org.hibernate.Query;
-import org.hibernate.Session;
 import org.springframework.cache.annotation.Cacheable;
-import org.springframework.orm.hibernate4.HibernateCallback;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import com.yeshi.fanli.dao.taobao.TaoBaoCouponDao;
+import com.google.gson.Gson;
+import com.google.gson.reflect.TypeToken;
+import com.yeshi.fanli.dao.mybatis.taobao.TaoBaoCouponMapper;
 import com.yeshi.fanli.entity.taobao.PidUser;
 import com.yeshi.fanli.entity.taobao.TaoBaoCoupon;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
@@ -25,6 +23,9 @@
 import com.yeshi.fanli.service.inter.goods.TaoBaoCouponService;
 import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
 import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.RedisKeyEnum;
+import com.yeshi.fanli.util.RedisManager;
+import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.taobao.TaoBaoCouponUtil;
 import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
 
@@ -32,12 +33,16 @@
 public class TaoBaoCouponServiceImpl implements TaoBaoCouponService {
 
 	@Resource
-	private TaoBaoCouponDao taoBaoCouponDao;
+	private TaoBaoCouponMapper taoBaoCouponMapper;
 
 	@Resource
 	private TaoBaoUnionConfigService taoBaoUnionConfigService;
 
+	@Resource
+	private RedisManager redisManager;
+
 	@Transactional
+	@Override
 	public void updateTaoBaoCoupon() {
 		List<TaoBaoUnionConfig> config = taoBaoUnionConfigService.getConfigByTypeCache(PidUser.TYPE_FANLI_ANDROID);
 
@@ -58,151 +63,86 @@
 		int ii = 0;
 		for (TaoBaoCoupon taoBaoCoupon : list) {
 			if (ii == 0) {
-				minId = (Long) taoBaoCouponDao.save(taoBaoCoupon);
+				taoBaoCouponMapper.insert(taoBaoCoupon);
+				minId = taoBaoCoupon.getId();
 			} else {
-				taoBaoCouponDao.save(taoBaoCoupon);
+				taoBaoCouponMapper.insert(taoBaoCoupon);
 			}
 			ii++;
 		}
-
-		final long endId = minId;
-		taoBaoCouponDao.excute(new HibernateCallback() {
-
-			public Object doInHibernate(Session session) throws HibernateException {
-				Query query = session.createSQLQuery("delete from yeshi_ec_taobao_coupon where id < ? ");
-				query.setParameter(0, endId);
-				return query.executeUpdate();
-			}
-		});
-	}
-
-	public List<TaoBaoCoupon> getTaoBaoCouponList(String key, int page) {
-		int start = (page - 1) * Constant.PAGE_SIZE;
-		List<TaoBaoCoupon> list = taoBaoCouponDao.list(
-				"from TaoBaoCoupon tbc where tbc.title like ? order by tbc.orderby,tbc.id ", start, Constant.PAGE_SIZE,
-				new Serializable[] { "%" + key + "%" });
-		return list;
-	}
-
-	public int getCount(String key) {
-		Long count = taoBaoCouponDao.getCount("select count(*) from TaoBaoCoupon tbc where tbc.title like ? ",
-				new Serializable[] { "%" + key + "%" });
-		return count.intValue();
-	}
-
-	public void deleteTaoBaoCoupons(long[] ids) {
-		for (long id : ids) {
-			taoBaoCouponDao.delete(new TaoBaoCoupon(id));
-		}
-	}
-
-	public TaoBaoCoupon getaoBaoCoupon(long id) {
-		TaoBaoCoupon find = taoBaoCouponDao.find(TaoBaoCoupon.class, id);
-		return find;
-	}
-
-	@Transactional
-	public void updatetaoBaoCoupon(TaoBaoCoupon find) {
-		taoBaoCouponDao.update(find);
-	}
-
-	public List<TaoBaoCoupon> getTaoBaoCouponListByClassKeys(String[] keys, int page) {
-		int start = (page - 1) * Constant.PAGE_SIZE;
-		StringBuffer sb = new StringBuffer("from TaoBaoCoupon tbc where tbc.classNames like ? ");
-		int keyCount = keys.length;
-		for (int i = 0; i < keyCount; i++) {
-			if (i != 0) {
-				sb.append(" or tbc.classNames like ? ");
-			}
-			keys[i] = "%" + keys[i] + "%";
-		}
-		sb.append(" order by tbc.biz30day desc ");
-		List<TaoBaoCoupon> list = taoBaoCouponDao.list(sb.toString(), start, Constant.PAGE_SIZE, keys);
-		// if(list.size() > 0){
-		// String proportion =
-		// hongBaoManageService.get(Constant.HONGBAO_GOODS_PROPORTION);
-		// double pd=Double.parseDouble(proportion)/100;
-		// for (TaoBaoCoupon taoBaoCoupon : list) {
-		// double tk = (taoBaoCoupon.getTkRate()/100) * pd;
-		// BigDecimal zkPrice = taoBaoCoupon.getZkPrice();
-		// BigDecimal hb = BigDecimalUtil.mul2(zkPrice, new BigDecimal(tk));
-		// taoBaoCoupon.setHongbao(hb);
-		// }
-		// }
-		return list;
-
-	}
-
-	public List<TaoBaoCoupon> getTaoBaoCouponListBykeys(List<String> searchKeys, int page) {
-
-		if (searchKeys == null || searchKeys.size() == 0) {
-			searchKeys = new ArrayList<String>();
-			searchKeys.add("");
-		}
-
-		StringBuffer sb = new StringBuffer("from TaoBaoCoupon tbc where ");
-		int ii = 0;
-		for (String key : searchKeys) {
-			key = key.replaceAll(" ", "%");
-			if (ii == 0) {
-				sb.append("( tbc.title like '%" + key + "%' ");
-			} else {
-				sb.append(" or tbc.title like '%" + key + "%' ");
-			}
-			ii++;
-		}
-		sb.append(") and tbc.showType = 3 ");
-		// sb.append(" order by tbc.biz30day desc ");
-		int start = (page - 1) * Constant.PAGE_SIZE;
-		return taoBaoCouponDao.list(sb.toString(), start, Constant.PAGE_SIZE, new Serializable[] {});
-	}
-
-	public TaoBaoCoupon getTaoBaoCouponByActionId(String id) {
-		List<TaoBaoCoupon> list = taoBaoCouponDao.list("from TaoBaoCoupon tbc where tbc.auctionId = ? ",
-				new Serializable[] { id });
-		if (list.size() > 0) {
-			return list.get(0);
-		}
-		return null;
-	}
-
-	public int getCount(List<String> searchKeys) {
-
-		if (searchKeys == null || searchKeys.size() == 0) {
-			return 0;
-		}
-
-		StringBuffer sb = new StringBuffer();
-		sb.append("select count(tbc.id) from TaoBaoCoupon tbc where ");
-		int ii = 0;
-		for (String key : searchKeys) {
-			key = key.replaceAll(" ", "%");
-			if (ii == 0) {
-				sb.append("( tbc.title like '%" + key + "%' ");
-			} else {
-				sb.append(" or tbc.title like '%" + key + "%' ");
-			}
-			ii++;
-		}
-		sb.append(") and tbc.showType = 3 ");
-		Long count = taoBaoCouponDao.getCount(sb.toString());
-		return count.intValue();
+		
+		taoBaoCouponMapper.deleteBeforeCouponInfo(minId);
 	}
 
 	@Override
-	public TaoBaoCoupon getTaoBaoCouponByAuctionId(long id) {
-		List<TaoBaoCoupon> findList = taoBaoCouponDao.list("from TaoBaoCoupon coupon where coupon.auctionId=" + id);
-		if (findList != null && findList.size() > 0)
-			return findList.get(0);
-		return null;
+	public List<TaoBaoCoupon> getTaoBaoCouponList(String key, int page) {
+		return taoBaoCouponMapper.getTaoBaoCouponList((page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE, key);
 	}
-	@Cacheable(value = "taoBaoCouponCache", key = "'getTaoBaoCouponList'+#page")
+
+	@Override
+	public int getCount(String key) {
+		return taoBaoCouponMapper.getCount(key);
+	}
+
+	@Override
+	public List<TaoBaoCoupon> getTaoBaoCouponListBykeys(List<String> searchKeys, int page) {
+
+		if (searchKeys != null && searchKeys.size() == 0) {
+			searchKeys = null;
+		}
+		
+		return taoBaoCouponMapper.getTaoBaoCouponListBykeys((page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE,searchKeys);
+	}
+	
+	@Override
+	public int getCount(List<String> searchKeys) {
+		if (searchKeys != null && searchKeys.size() == 0) {
+			searchKeys = null;
+		}
+		return taoBaoCouponMapper.countTaoBaoCouponListBykeys(searchKeys);
+	}
+	
+	
+	@Override
+	public TaoBaoCoupon getTaoBaoCouponByActionId(String auctionId) {
+		return taoBaoCouponMapper.getTaoBaoCouponByActionId(auctionId);
+	}
+
+
+	/**
+	 * 閲囩敤redis鍋氱紦瀛�
+	 */
 	@Override
 	public List<TaoBaoGoodsBrief> getTaoBaoCouponList(int page) {
 		System.out.println("杩涘叆浜嗘柟娉�");
-		TaoBaoSearchResult result = TaoKeApiUtil.getMaterialByMaterialId(3756, page, 20);//  searchCouple(null, null, page, 20);
-		if (result != null)
+		String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.taobaoCachecoupon, page +"");
+		String resultStr = "";
+		try {
+			resultStr = redisManager.getCommonString(key);
+		} catch (Exception e) {
+		}
+
+		if (!StringUtil.isNullOrEmpty(resultStr)) {
+			Type type = new TypeToken<List<TaoBaoGoodsBrief>>() {
+			}.getType();
+			List<TaoBaoGoodsBrief> list = new Gson().fromJson(resultStr, type);
+			return list;
+		}
+
+		TaoBaoSearchResult result = TaoKeApiUtil.getMaterialByMaterialId(3756, page, 20);// searchCouple(null,
+																							// null,
+																							// page,
+																							// 20);
+		if (result != null && result.getTaoBaoGoodsBriefs() != null && result.getTaoBaoGoodsBriefs().size() > 0) {
+			// 20鍒嗛挓缂撳瓨
+			try {
+				redisManager.cacheCommonString(key, new Gson().toJson(result.getTaoBaoGoodsBriefs()), 60 * 20);
+			} catch (Exception e) {
+			}
+
 			return result.getTaoBaoGoodsBriefs();
+		}
+
 		return null;
 	}
 

--
Gitblit v1.8.0