From 02c407ff8ca33296a9afee4a390945bfcfa162b2 Mon Sep 17 00:00:00 2001
From: Administrator <Administrator@CI6BUF61FT24H5M>
Date: 星期六, 17 八月 2019 13:35:56 +0800
Subject: [PATCH] 订单bug修复
---
fanli/src/main/java/com/yeshi/fanli/service/impl/lable/TaoKeGoodsServiceImpl.java | 200 ++++++++++++++++++++++++++++++++------------------
1 files changed, 128 insertions(+), 72 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/lable/TaoKeGoodsServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/lable/TaoKeGoodsServiceImpl.java
index dd4e65f..109b565 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/lable/TaoKeGoodsServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/lable/TaoKeGoodsServiceImpl.java
@@ -9,11 +9,10 @@
import javax.annotation.Resource;
-import net.sf.json.JSONArray;
-import net.sf.json.JSONObject;
-
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
+import org.yeshi.utils.JsonUtil;
+import org.yeshi.utils.taobao.TbImgUtil;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -29,23 +28,25 @@
import com.yeshi.fanli.service.inter.lable.TaoKeGoodsService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoShopService;
import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
-import org.yeshi.utils.JsonUtil;
-import org.yeshi.utils.taobao.TbImgUtil;
+import com.yeshi.fanli.vo.goods.GoodsDetailVO;
+
+import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
@Service
public class TaoKeGoodsServiceImpl implements TaoKeGoodsService {
@Resource
- private HongBaoManageService manageService;
+ private HongBaoManageService hongBaoManageService;
@Resource
private TaoBaoShopService taoBaoShopService;
-
+
@Resource
private QualityGoodsService qualityGoodsService;
-
@Cacheable(value = "taoKeMaterialCache", key = "'listByMaterial-'+#materialId +'-'+#pageIndex")
@Override
@@ -79,9 +80,7 @@
Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
- Map<String, String> map = manageService.convertMap();
- String proportion = map.get("hongbao_goods_proportion");
- String fcRate = map.get("hongbao_fc_ratio");
+ BigDecimal proportion = hongBaoManageService.getFanLiRate();
listGoods.parallelStream().forEach(taoBaoGoodsBrief -> {
@@ -119,8 +118,8 @@
taoBaoGoodsBrief.setPictUrl(TbImgUtil.getTBSize320Img(pictUrl));
}
- arrayGoods
- .add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion, fcRate, null)));
+ arrayGoods.add(
+ gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null)));
});
@@ -208,9 +207,7 @@
int fh = sf.getHongbao();
boolean ft = sf.isTmall();
- Map<String, String> map = manageService.convertMap();
- String proportion = map.get("hongbao_goods_proportion");
- String fcRate = map.get("hongbao_fc_ratio");
+ BigDecimal proportion = hongBaoManageService.getFanLiRate();
if (fq == 0 && fh == 0 && !ft) {
if (result != null && result.getTaoBaoGoodsBriefs() != null)
@@ -221,7 +218,7 @@
if (!StringUtil.isNullOrEmpty(startBiz30day)) {
int biz30day = Integer.parseInt(startBiz30day);
if (count < biz30day) {
- break;
+ continue;
}
}
@@ -229,10 +226,10 @@
double sales = count;
String salesCountMidea = String.format("%.1f", sales / 10000);
bf.setSalesCount(salesCountMidea + "涓�");
- re.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(bf, proportion, fcRate, ""));
+ re.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(bf, proportion.toString(), ""));
} else {
bf.setSalesCount(count + "");
- re.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(bf, proportion, fcRate, ""));
+ re.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(bf, proportion.toString(), ""));
}
}
} else {
@@ -254,13 +251,13 @@
double sales = count;
String salesCountMidea = String.format("%.1f", sales / 10000);
taoBaoGoodsBrief.setSalesCount(salesCountMidea + "涓�");
- taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion,
- fcRate, "");
+ taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief,
+ proportion.toString(), "");
re.add(taoBaoGoodsBriefExtra);
} else {
taoBaoGoodsBrief.setSalesCount(count + "");
- taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion,
- fcRate, "");
+ taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief,
+ proportion.toString(), "");
re.add(taoBaoGoodsBriefExtra);
}
}
@@ -274,6 +271,76 @@
return data;
}
+
+
+ @Override
+ @Cacheable(value = "searchWuLiaoCache", key = "'searchWuLiaoV2-'+#sf")
+ public JSONObject searchWuLiaoV2(SearchFilter sf) {
+
+ // 娣樺疂鐗╂枡鎺ュ彛鏌ヨ
+ TaoBaoSearchResult result = TaoKeApiUtil.searchWuLiao(sf);
+
+ List<TaoBaoSearchNav> navList = TaoBaoUtil.getBaseNav();
+ if (result.getNavList() != null)
+ navList.addAll(result.getNavList());
+
+ Gson gson = new GsonBuilder().create();
+ JSONObject data = new JSONObject();
+ data.put("nav", gson.toJson(navList));
+
+ List<GoodsDetailVO> re = new ArrayList<GoodsDetailVO>();
+ List<TaoBaoGoodsBrief> taoBaoGoodsBriefs = result.getTaoBaoGoodsBriefs();
+
+ int fq = sf.getQuan();
+ int fh = sf.getHongbao();
+ boolean ft = sf.isTmall();
+
+ BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
+ BigDecimal shareRate = hongBaoManageService.getShareRate();
+
+ if (fq == 0 && fh == 0 && !ft) {
+ if (result != null && result.getTaoBaoGoodsBriefs() != null)
+ for (TaoBaoGoodsBrief bf : result.getTaoBaoGoodsBriefs()) {
+ int count = bf.getBiz30day();
+
+ String startBiz30day = sf.getStartBiz30day();
+ if (!StringUtil.isNullOrEmpty(startBiz30day)) {
+ int biz30day = Integer.parseInt(startBiz30day);
+ if (count < biz30day) {
+ continue;
+ }
+ }
+
+ GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertTaoBao(bf, null, fanLiRate, shareRate);
+ re.add(goodsDetailVO);
+ }
+ } else {
+ if (taoBaoGoodsBriefs != null)
+ for (TaoBaoGoodsBrief taoBaoGoodsBrief : taoBaoGoodsBriefs) {
+
+ int count = taoBaoGoodsBrief.getBiz30day();
+ String startBiz30day = sf.getStartBiz30day();
+ if (!StringUtil.isNullOrEmpty(startBiz30day)) {
+ int biz30day = Integer.parseInt(startBiz30day);
+ if (count < biz30day) {
+ break;
+ }
+ }
+ GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, null, fanLiRate, shareRate);
+ re.add(goodsDetailVO);
+ }
+ }
+
+ Gson gson2 = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
+ .excludeFieldsWithoutExposeAnnotation().create();
+
+ data.put("result", gson2.toJson(re));
+ data.put("count", result.getTaoBaoHead().getDocsfound());
+
+ return data;
+ }
+
+
@Override
@Cacheable(value = "searchWuLiaoCache", key = "'searchWuLiaoList-'+#sf")
@@ -286,8 +353,7 @@
return result.getTaoBaoGoodsBriefs();
}
-
-
+
@Override
public JSONObject listByWuLiao(int page, String key, String cateIds, String filterParams, String order,
String startprice, String endprice, String searchParam) {
@@ -418,9 +484,7 @@
int fh = sf.getHongbao();
boolean ft = sf.isTmall();
- Map<String, String> map = manageService.convertMap();
- String proportion = map.get("hongbao_goods_proportion");
- String fcRate = map.get("hongbao_fc_ratio");
+ BigDecimal proportion = hongBaoManageService.getFanLiRate();
if (fq == 0 && fh == 0 && !ft) {
if (result != null && result.getTaoBaoGoodsBriefs() != null)
@@ -430,10 +494,10 @@
double sales = count;
String salesCountMidea = String.format("%.1f", sales / 10000);
bf.setSalesCount(salesCountMidea + "涓�");
- re.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(bf, proportion, fcRate, ""));
+ re.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(bf, proportion.toString(), ""));
} else {
bf.setSalesCount(count + "");
- re.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(bf, proportion, fcRate, ""));
+ re.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(bf, proportion.toString(), ""));
}
}
} else {
@@ -445,13 +509,13 @@
double sales = count;
String salesCountMidea = String.format("%.1f", sales / 10000);
taoBaoGoodsBrief.setSalesCount(salesCountMidea + "涓�");
- taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion,
- fcRate, "");
+ taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief,
+ proportion.toString(), "");
re.add(taoBaoGoodsBriefExtra);
} else {
taoBaoGoodsBrief.setSalesCount(count + "");
- taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion,
- fcRate, "");
+ taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief,
+ proportion.toString(), "");
re.add(taoBaoGoodsBriefExtra);
}
}
@@ -465,13 +529,11 @@
return data;
}
-
-
- @Override
- public void setSearchFilter(SearchFilter searchfilter, String filter, String order,
- String startprice, String endprice, String fastFilter, Integer totalSales) {
-
+ @Override
+ public void setSearchFilter(SearchFilter searchfilter, String filter, String order, String startprice,
+ String endprice, String fastFilter, Integer totalSales) {
+
if (!StringUtil.isNullOrEmpty(startprice)) {
searchfilter.setStartPrice(new BigDecimal(startprice));
}
@@ -512,8 +574,7 @@
}
}
}
-
-
+
if (!com.yeshi.fanli.util.StringUtil.isNullOrEmpty(order)) {
if (Integer.parseInt(order) == 1 || Integer.parseInt(order) == 0) {
searchfilter.setSort(TaoBaoUtil.SORT_SALE_HIGH_TO_LOW);
@@ -529,60 +590,55 @@
} else {
searchfilter.setSort(TaoBaoUtil.SORT_SALE_HIGH_TO_LOW);
}
-
+
}
-
@Override
- @Cacheable(value = "qualityCache",key="'countByQuality-'+#start+'-'+#searchKey+'-'+#systemCid+'-'+#listLabId")
- public List<QualityFactory> queryByQuality(long start, int count,String searchKey, Long systemCid,
+ @Cacheable(value = "qualityCache", key = "'countByQuality-'+#start+'-'+#searchKey+'-'+#systemCid+'-'+#listLabId")
+ public List<QualityFactory> queryByQuality(long start, int count, String searchKey, Long systemCid,
List<Long> listLabId) {
-
+
/* 1銆� 绮鹃�夊簱绛涢�� */
List<QualityFactory> listQuality = null;
-
+
if (listLabId != null && listLabId.size() > 0) {
// 鍚爣绛�
- listQuality = qualityGoodsService.listQueryByKeyAndlabIDs(start, count, searchKey,
- listLabId, null, systemCid, null, null, null, null, null);
- } else {
- listQuality = qualityGoodsService.listQueryByKey(start, count, searchKey, null,
+ listQuality = qualityGoodsService.listQueryByKeyAndlabIDs(start, count, searchKey, listLabId, null,
systemCid, null, null, null, null, null);
+ } else {
+ listQuality = qualityGoodsService.listQueryByKey(start, count, searchKey, null, systemCid, null, null, null,
+ null, null);
}
-
+
return listQuality;
}
-
@Override
- @Cacheable(value = "qualityCache",key="'countByQuality-'+#searchKey+'-'+#systemCid+'-'+#listLabId")
+ @Cacheable(value = "qualityCache", key = "'countByQuality-'+#searchKey+'-'+#systemCid+'-'+#listLabId")
public long countByQuality(String searchKey, Long systemCid, List<Long> listLabId) {
-
+
long incount = 0;
-
+
if (listLabId != null && listLabId.size() > 0) {
// 鍚爣绛�
- incount = qualityGoodsService.countQueryKeyAndlabIDs(searchKey, listLabId, systemCid,
- null, null, null, null, null);
+ incount = qualityGoodsService.countQueryKeyAndlabIDs(searchKey, listLabId, systemCid, null, null, null,
+ null, null);
} else {
incount = qualityGoodsService.countQueryByKey(searchKey, systemCid, null, null, null, null, null);
}
-
+
return incount;
}
-
-
@Override
- public JSONObject listQualityGoods(List<QualityFactory> listQuality, List<TaoBaoGoodsBrief> searchWuLiaoList,
- Map<String, String> map ) {
-
+ public JSONObject listQualityGoods(List<QualityFactory> listQuality, List<TaoBaoGoodsBrief> searchWuLiaoList,
+ Map<String, String> map) {
+
JSONArray array = new JSONArray();
Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
-
- String proportion = map.get("hongbao_goods_proportion");
- String fcRate = map.get("hongbao_fc_ratio");
+
+ BigDecimal proportion = hongBaoManageService.getFanLiRate();
/* 閬嶅巻鍒楄〃鏁版嵁 */
for (QualityFactory selectionGoods : listQuality) {
@@ -602,7 +658,7 @@
taoBaoGoodsBrief.setSalesCount(biz30day + "");
}
- array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion, fcRate, null)));
+ array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null)));
}
if (searchWuLiaoList != null && searchWuLiaoList.size() > 0) {
@@ -620,7 +676,7 @@
}
array.add(gson
- .toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion, fcRate, null)));
+ .toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null)));
}
}
@@ -631,8 +687,8 @@
data.put("nav", gsonBuilder.toJson(navList));
data.put("count", 5000);
data.put("result", array);
-
+
return data;
}
-
+
}
--
Gitblit v1.8.0