From 26b5b1a6bbbb5ff64dc2ec73cf8b11f1aa61c1c5 Mon Sep 17 00:00:00 2001
From: yujian <yujian>
Date: 星期二, 14 五月 2019 11:03:25 +0800
Subject: [PATCH] Merge branch 'div_8'
---
fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5QualityGoodsController.java | 222 ++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 177 insertions(+), 45 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5QualityGoodsController.java b/fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5QualityGoodsController.java
index ac19ea4..ef506a3 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5QualityGoodsController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5QualityGoodsController.java
@@ -1,8 +1,9 @@
package com.yeshi.fanli.controller.apph5;
import java.io.PrintWriter;
+import java.math.BigDecimal;
+import java.util.ArrayList;
import java.util.List;
-import java.util.Map;
import javax.annotation.Resource;
@@ -21,12 +22,16 @@
import com.yeshi.fanli.entity.goods.CollectionGoodsV2;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra;
+import com.yeshi.fanli.entity.taobao.TaoBaoHongBaoInfo;
import com.yeshi.fanli.entity.taobao.TaobaoMeterial;
+import com.yeshi.fanli.exception.taobao.TaoKeApiException;
+import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
import com.yeshi.fanli.log.LogHelper;
-import com.yeshi.fanli.service.inter.config.SystemService;
+import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.goods.CollectionGoodsV2Service;
import com.yeshi.fanli.service.inter.goods.GoodsClassService;
import com.yeshi.fanli.service.inter.goods.TaoBaoClassService;
+import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
import com.yeshi.fanli.service.inter.lable.LabelService;
import com.yeshi.fanli.service.inter.lable.MergeClassService;
@@ -38,6 +43,7 @@
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
+import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
@@ -51,6 +57,9 @@
@Resource
private QualityFactoryService selectionGoodsService;
+
+ @Resource
+ private TaoBaoGoodsBriefService taoBaoGoodsBriefService;
@Resource
private TaobaoMeterialService taobaoMeterialService;
@@ -71,9 +80,6 @@
private TaoBaoClassService taoBaoClassService;
@Resource
- private SystemService systemService;
-
- @Resource
private QualityGoodsService qualityGoodsService;
@Resource
@@ -81,6 +87,13 @@
@Resource
private CollectionGoodsV2Service collectionGoodsV2Service;
+
+ @Resource
+ private HongBaoManageService hongBaoManageService;
+
+ @Resource
+ private ConfigService configService;
+
/**
* 9.9鍟嗗搧
@@ -207,9 +220,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();
/* 閬嶅巻鍒楄〃鏁版嵁 */
for (QualityFactory selectionGoods : listQuery) {
@@ -234,7 +245,7 @@
taoBaoGoodsBrief.setPictUrl(TbImgUtil.getTBSize320Img(pictUrl));
}
- array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion, fcRate, null)));
+ array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null)));
}
JSONObject data = new JSONObject();
@@ -370,9 +381,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 = manageService.getFanLiRate();
/* 閬嶅巻鍒楄〃鏁版嵁 */
for (QualityFactory selectionGoods : listQuery) {
@@ -397,7 +406,7 @@
taoBaoGoodsBrief.setPictUrl(TbImgUtil.getTBSize320Img(pictUrl));
}
- array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion, fcRate, null)));
+ array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null)));
}
JSONObject data = new JSONObject();
@@ -645,9 +654,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 =manageService.getFanLiRate();
/* 閬嶅巻鍒楄〃鏁版嵁 */
for (TaoBaoGoodsBrief taoBaoGoodsBrief : listMaterial) {
@@ -677,7 +684,7 @@
}
TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief,
- proportion, fcRate, null);
+ proportion.toString(), null);
taoBaoGoodsBriefExtra.setCollected(collected);
array.add(gson.toJson(taoBaoGoodsBriefExtra));
@@ -822,9 +829,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 = manageService.getFanLiRate();
/* 閬嶅巻鍒楄〃鏁版嵁 */
for (TaoBaoGoodsBrief taoBaoGoodsBrief : listBrands) {
@@ -844,7 +849,7 @@
taoBaoGoodsBrief.setPictUrl(TbImgUtil.getTBSize320Img(pictUrl));
}
- array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion, fcRate, null)));
+ array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null)));
}
JSONObject data = new JSONObject();
@@ -863,14 +868,26 @@
* @param out
*/
@RequestMapping("getFlashSale")
- public void getFlashSale(String callback, Integer page, PrintWriter out) {
+ public void getFlashSale(String callback, Integer page, Long auctionId, PrintWriter out) {
if (page == null)
page = 1;
int pageSize = Constant.PAGE_SIZE;
int type = qualityFlashSaleService.getNowType();
+
+ TaoBaoGoodsBrief goodsBrief = null;
+ if (page == 1 && auctionId != null) {
+ List<TaoBaoGoodsBrief> list = taoBaoGoodsBriefService.queryByAuctionId(auctionId);
+ if (list != null && list.size() > 0) {
+ goodsBrief = list.get(0);
+ }
+ }
+ if (goodsBrief != null) {
+ pageSize = pageSize -1;
+ }
+
List<QualityFactory> listQuery = qualityGoodsService.listQueryByFlashSale((page - 1) * pageSize, pageSize);
// 绮鹃�夊簱鏁版嵁涓虹┖
@@ -886,16 +903,21 @@
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 = manageService.getFanLiRate();
+ if (goodsBrief != null) {
+ array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief, proportion.toString(), null)));
+ }
+
// 閬嶅巻鍒楄〃鏁版嵁
for (QualityFactory quality : listQuery) {
TaoBaoGoodsBrief taoBaoGoodsBrief = quality.getTaoBaoGoodsBrief();
-
if (taoBaoGoodsBrief == null) {
+ continue;
+ }
+
+ if (goodsBrief != null && auctionId.equals(taoBaoGoodsBrief.getAuctionId())) {
continue;
}
@@ -914,7 +936,7 @@
taoBaoGoodsBrief.setPictUrl(TbImgUtil.getTBSize320Img(pictUrl));
}
- array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion, fcRate, null)));
+ array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null)));
}
JSONObject data = new JSONObject();
@@ -974,10 +996,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 = manageService.getFanLiRate();
// 閬嶅巻鍒楄〃鏁版嵁
for (QualityFactory selectionGoods : listQuery) {
@@ -1002,7 +1021,7 @@
taoBaoGoodsBrief.setPictUrl(TbImgUtil.getTBSize320Img(pictUrl));
}
- array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion, fcRate, null)));
+ array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null)));
}
JSONObject data = new JSONObject();
@@ -1045,19 +1064,16 @@
double tkRate = 20.00;
- Map<String, String> map = manageService.convertMap();
- String proportion = map.get("hongbao_goods_proportion");
- String fcRate = map.get("hongbao_fc_ratio");
-
+ BigDecimal proportion = manageService.getFanLiRate();
List<QualityFactory> listQuery = qualityGoodsService.listQueryByRebateAmount((page - 1) * pageSize, pageSize,
- proportion, startAmount, endAmount, tkRate);
+ proportion.toString(), startAmount, endAmount, tkRate);
if (listQuery == null || listQuery.size() == 0) {
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "娌℃湁鏇村浜�"));
return;
}
- long count = qualityGoodsService.countQueryByRebateAmount(proportion, startAmount, endAmount, tkRate);
+ long count = qualityGoodsService.countQueryByRebateAmount(proportion.toString(), startAmount, endAmount, tkRate);
// 绮鹃�夊簱鏁版嵁澶勭悊杩斿洖 鍓嶇
JSONArray array = new JSONArray();
@@ -1088,7 +1104,7 @@
taoBaoGoodsBrief.setPictUrl(TbImgUtil.getTBSize320Img(pictUrl));
}
- array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion, fcRate, null)));
+ array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null)));
}
JSONObject data = new JSONObject();
@@ -1114,18 +1130,15 @@
int pageSize = Constant.PAGE_SIZE;
- Map<String, String> map = manageService.convertMap();
- String proportion = map.get("hongbao_goods_proportion");
- String fcRate = map.get("hongbao_fc_ratio");
-
- JSONArray array = qualityGoodsService.getRecommendToIndex((page - 1) * pageSize, pageSize, proportion, fcRate);
+ BigDecimal proportion = manageService.getFanLiRate();
+ JSONArray array = qualityGoodsService.getRecommendToIndex((page - 1) * pageSize, pageSize, proportion.toString());
if (array == null) {
out.print(JsonUtil.loadFalseResult("娌℃湁鏇村浜�"));
return;
}
- long count = qualityGoodsService.countRecommendToIndex(proportion);
+ long count = qualityGoodsService.countRecommendToIndex(proportion.toString());
JSONObject data = new JSONObject();
data.put("count", count);
@@ -1134,4 +1147,123 @@
out.print(JsonUtil.loadTrueResult(data));
return;
}
+
+ /**
+ * 瓒呴珮濂栭噾
+ *
+ * @param callback
+ * @param page
+ * @param type
+ * @param out
+ */
+ @RequestMapping("freeGoods")
+ public void freeGoods(String callback, Integer page, PrintWriter out) {
+
+ if (page == null || page < 1)
+ page = 1;
+
+ int pageSize = Constant.PAGE_SIZE;
+
+ double tkRate = 20;
+ String lableName = "9.9";
+
+ try {
+ List<QualityFactory> listQuery = qualityGoodsService.listFreeGoods((page - 1) * pageSize, pageSize, tkRate,
+ lableName);
+ if (listQuery == null || listQuery.size() == 0) {
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "娌℃湁鏇村浜�"));
+ return;
+ }
+
+ List<Long> listGid = new ArrayList<Long>();
+ for (QualityFactory qualityFactory : listQuery) {
+ TaoBaoGoodsBrief taoBaoGoodsBrief = qualityFactory.getTaoBaoGoodsBrief();
+
+ if (taoBaoGoodsBrief == null) {
+ continue;
+ }
+ listGid.add(taoBaoGoodsBrief.getAuctionId());
+ }
+
+ // API缃戠粶鎺ュ彛楠岃瘉鏄惁鍦ㄥ敭
+ List<TaoBaoGoodsBrief> listTaoKeGoods = null;
+ try {
+ listTaoKeGoods = TaoKeApiUtil.getBatchGoodsInfo(listGid);
+ } catch (TaoKeApiException e) {
+ e.printStackTrace();
+ } catch (TaobaoGoodsDownException e) {
+ e.printStackTrace();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ JSONArray array = new JSONArray();
+ Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
+ .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
+
+ BigDecimal proportion = manageService.getFanLiRate();
+ /* 閬嶅巻鍒楄〃鏁版嵁 */
+ for (QualityFactory selectionGoods : listQuery) {
+
+ TaoBaoGoodsBrief taoBaoGoodsBrief = selectionGoods.getTaoBaoGoodsBrief();
+
+ if (taoBaoGoodsBrief == null) {
+ continue;
+ }
+
+ if (listTaoKeGoods != null && listTaoKeGoods.size() > 0) {
+ boolean stateSale = false; // 榛樿鍋滃敭
+ Long goodsId = taoBaoGoodsBrief.getAuctionId();
+ for (TaoBaoGoodsBrief taoKeGoods : listTaoKeGoods) {
+ Long auctionId = taoKeGoods.getAuctionId();
+ if (goodsId == auctionId || goodsId.equals(auctionId)) {
+ stateSale = true; // 鍦ㄥ敭
+ break;
+ }
+ }
+
+ if (!stateSale) {
+ continue;
+ }
+ }
+
+ BigDecimal couplePrice = TaoBaoUtil.getAfterUseCouplePrice(taoBaoGoodsBrief);
+ if (couplePrice.compareTo(new BigDecimal("9.9")) == 1) {
+ continue; // 鍒稿悗浠峰ぇ浜�10
+ }
+
+ TaoBaoGoodsBriefExtra extra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief,
+ proportion.toString(), null);
+ // 灏嗚繑鍒╂敼涓哄埜鍚庝环
+ TaoBaoHongBaoInfo taoBaoHongBaoInfo = extra.getTaoBaoHongBaoInfo();
+ if (taoBaoHongBaoInfo != null) {
+ taoBaoHongBaoInfo.setHongbao(extra.getQuanPrice());
+ taoBaoHongBaoInfo.setRate("楼" + extra.getQuanPrice());
+ }
+
+ array.add(gson.toJson(extra));
+ }
+
+ long count = qualityGoodsService.countFreeGoods(tkRate, lableName);
+
+
+ JSONObject data = new JSONObject();
+ if (page == 1) {
+ // 鎶藉瑙勫垯
+ String rules = configService.get("free_goods_rule");
+ data.put("ruleLink", rules);
+ }
+
+ data.put("count", count);
+ data.put("result_list", array);
+
+
+ JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+
+ } catch (Exception e) {
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔澶辫触"));
+ e.printStackTrace();
+ }
+ }
+
}
--
Gitblit v1.8.0