From 850a524cced18e275ae89aea5ffdeaa30ddd687f Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期日, 08 十月 2023 17:17:09 +0800
Subject: [PATCH] 唯品会接口修改增加必要的3个字段
---
fanli/src/main/java/com/yeshi/fanli/controller/wxmp/v1/ConsumerController.java | 749 ++++++++++++++++++++++++++++----------------------------
1 files changed, 374 insertions(+), 375 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/wxmp/v1/ConsumerController.java b/fanli/src/main/java/com/yeshi/fanli/controller/wxmp/v1/ConsumerController.java
index 383e4de..33ebab8 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/wxmp/v1/ConsumerController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/wxmp/v1/ConsumerController.java
@@ -1,375 +1,374 @@
-package com.yeshi.fanli.controller.wxmp.v1;
-
-import java.io.PrintWriter;
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
-
-import javax.annotation.Resource;
-
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.yeshi.utils.JsonUtil;
-
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonPrimitive;
-import com.google.gson.JsonSerializationContext;
-import com.google.gson.JsonSerializer;
-import com.yeshi.fanli.dto.ConfigParamsDTO;
-import com.yeshi.fanli.dto.WXMPAcceptData;
-import com.yeshi.fanli.dto.pdd.PDDGoodsDetail;
-import com.yeshi.fanli.entity.goods.CollectionGoodsV2;
-import com.yeshi.fanli.entity.goods.CommonGoods;
-import com.yeshi.fanli.entity.goods.ScanHistoryV2;
-import com.yeshi.fanli.entity.jd.JDGoods;
-import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
-import com.yeshi.fanli.exception.goods.CollectionGoodsException;
-import com.yeshi.fanli.exception.taobao.TaoKeApiException;
-import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
-import com.yeshi.fanli.service.inter.config.BusinessSystemService;
-import com.yeshi.fanli.service.inter.goods.CollectionGoodsV2Service;
-import com.yeshi.fanli.service.inter.goods.ScanHistoryV2Service;
-import com.yeshi.fanli.service.inter.order.OrderHongBaoMoneyComputeService;
-import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
-import com.yeshi.fanli.util.Constant;
-import com.yeshi.fanli.util.RedisManager;
-import com.yeshi.fanli.util.StringUtil;
-import com.yeshi.fanli.util.cache.JDGoodsCacheUtil;
-import com.yeshi.fanli.util.cache.PinDuoDuoCacheUtil;
-import com.yeshi.fanli.util.cache.TaoBaoGoodsCacheUtil;
-import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
-import com.yeshi.fanli.util.jd.JDApiUtil;
-import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
-import com.yeshi.fanli.vo.goods.GoodsDetailVO;
-
-import net.sf.json.JSONArray;
-import net.sf.json.JSONObject;
-
-/**
- * 鐢ㄦ埛鐩稿叧鍟嗗搧
- *
- * @author Administrator
- *
- */
-@Controller("WXMPConsumerController")
-@RequestMapping("/wxmp/api/v1/consumer")
-public class ConsumerController {
-
- @Resource
- private BusinessSystemService businessSystemService;
-
- @Resource
- private HongBaoManageService hongBaoManageService;
-
-
- @Resource
- private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService;
-
- @Resource
- private CollectionGoodsV2Service collectionGoodsV2Service;
-
- @Resource
- private ScanHistoryV2Service scanHistoryV2Service;
-
- @Resource
- private TaoBaoGoodsCacheUtil taoBaoGoodsCacheUtil;
-
- @Resource
- private JDGoodsCacheUtil jdGoodsCacheUtil;
-
- @Resource
- private PinDuoDuoCacheUtil pinDuoDuoCacheUtil;
-
- @Resource
- private RedisManager redisManager;
-
- /**
- * 鏀惰棌鍟嗗搧
- *
- * @param acceptData
- * @param uid
- * @param id
- * @param type
- * @param goodsType
- * @param out
- */
- @RequestMapping("collectionGoods")
- public void collectionGoods(WXMPAcceptData acceptData, Long uid, Long goodsId, int type, Integer goodsType,
- PrintWriter out) {
- try {
- if (goodsType == null || goodsType < 2 || goodsType > 3) {
- out.print(JsonUtil.loadFalseResult(1, "璇蜂紶閫掓纭弬鏁�"));
- return;
- }
-
- if (type != 1) {
- collectionGoodsV2Service.cancelCollectionByAuctionId(uid, goodsId, goodsType);
- out.print(JsonUtil.loadTrueResult("鍙栨秷鏀惰棌鎴愬姛"));
- return;
- }
-
- CollectionGoodsV2 find = collectionGoodsV2Service.findByUidAndAuctionId(uid, goodsId, goodsType);
- if (find != null) {
- out.print(JsonUtil.loadFalseResult(""));
- return;
- }
-
- if (goodsType == Constant.SOURCE_TYPE_JD) {
- JDGoods jdGoods = jdGoodsCacheUtil.getGoodsInfo(goodsId);
- if (jdGoods == null) {
- jdGoods = JDApiUtil.getGoodsDetail(goodsId);
- }
- if (jdGoods == null) {
- out.print(JsonUtil.loadFalseResult(1, "鍟嗗搧宸蹭笅鏋�"));
- return;
- }
- collectionGoodsV2Service.addJDCollection(uid, jdGoods);
- } else if (goodsType == Constant.SOURCE_TYPE_PDD) {
- PDDGoodsDetail pddGoods = pinDuoDuoCacheUtil.getGoodsInfo(goodsId);
- if (pddGoods == null) {
- out.print(JsonUtil.loadFalseResult(1, "鍟嗗搧宸蹭笅鏋�"));
- return;
- }
- collectionGoodsV2Service.addPDDCollection(uid, pddGoods);
- }
- out.print(JsonUtil.loadTrueResult("鏀惰棌鎴愬姛"));
- } catch (CollectionGoodsException e) {
- out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg()));
- }
- }
-
- /**
- * 鍒犻櫎鏀惰棌
- *
- * @param acceptData
- * @param ids
- * @param type
- * @param uid
- * @param out
- */
- @RequestMapping("deleteCollectionGoods")
- public void deleteCollectionGoods(WXMPAcceptData acceptData, Long uid, String ids, Integer type, PrintWriter out) {
- if (uid == null || uid <= 0) {
- out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�"));
- return;
- }
-
- if (type != null && type == 1) { // 鍒犻櫎鍏ㄩ儴
- try {
- collectionGoodsV2Service.cancelCollectionByUid(uid);
- } catch (CollectionGoodsException e) {
- out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMessage()));
- return;
- }
- } else { // 鍒犻櫎閮ㄥ垎
- if (!StringUtil.isNullOrEmpty(ids)) {
- Arrays.asList(ids.split(",")).parallelStream().forEach(idStr -> {
- try {
- collectionGoodsV2Service.deteleBYByUidAndCommonId(uid, Long.parseLong(idStr));
- } catch (Exception e) {
- e.printStackTrace();
- }
- });
- }
- }
- out.print(JsonUtil.loadTrueResult("鍒犻櫎鎴愬姛"));
- }
-
- /**
- * 鏀惰棌鍒楄〃
- *
- * @param acceptData
- * @param uid
- * @param page
- * @param goodsType
- * @param out
- */
- @RequestMapping("collectionGoodsList")
- public void collectionGoodsList(WXMPAcceptData acceptData, Long uid, Integer page, Integer goodsType, PrintWriter out) {
- if (uid == null) {
- out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�"));
- return;
- }
-
- if (page < 1) {
- out.print(JsonUtil.loadFalseResult(1, "page涓嶅皬浜�1"));
- return;
- }
-
- List<CollectionGoodsV2> collectionGoodsList = collectionGoodsV2Service.getCollectionGoodsList(uid, page,
- Constant.PAGE_SIZE, goodsType, false);
-
- long count = collectionGoodsV2Service.getCollectionGoodsCount(uid, goodsType, false);
-
- JSONObject data = new JSONObject();
- List<GoodsDetailVO> list = new ArrayList<GoodsDetailVO>();
-
- if (collectionGoodsList != null && collectionGoodsList.size() > 0) {
- List<Long> listGid = new ArrayList<Long>();
- for (CollectionGoodsV2 collectionGoodsV2 : collectionGoodsList) {
- CommonGoods commonGoods = collectionGoodsV2.getCommonGoods();
- if (commonGoods == null || commonGoods.getGoodsType() != Constant.SOURCE_TYPE_TAOBAO) {
- continue;
- }
- listGid.add(commonGoods.getGoodsId());
- }
-
- // API缃戠粶鎺ュ彛楠岃瘉鏄惁鍦ㄥ敭
- List<TaoBaoGoodsBrief> listTaoKeGoods = null;
- if (listGid.size() > 0) {
- try {
- listTaoKeGoods = TaoKeApiUtil.getBatchGoodsInfo(listGid);
- } catch (TaoKeApiException e) {
- e.printStackTrace();
- } catch (TaobaoGoodsDownException e) {
- e.printStackTrace();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
- acceptData.getVersion());
-
-
- for (CollectionGoodsV2 collectionGoodsV2 : collectionGoodsList) {
- CommonGoods commonGoods = collectionGoodsV2.getCommonGoods();
- if (commonGoods == null) {
- continue;
- }
-
- if (listTaoKeGoods != null && listTaoKeGoods.size() > 0
- && commonGoods.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) {
- int state = 1; // 榛樿鍋滃敭
- Long goodsId = commonGoods.getGoodsId();
- for (TaoBaoGoodsBrief taoKeGoods : listTaoKeGoods) {
- Long auctionId = taoKeGoods.getAuctionId();
- if (goodsId == auctionId || goodsId.equals(auctionId)) {
- state = 0; // 鍦ㄥ敭
- break;
- }
- }
- commonGoods.setState(state);
- }
-
- GoodsDetailVO detailVO = GoodsDetailVOFactory.convertCommonGoods(commonGoods, paramsDTO);
- detailVO.setId(commonGoods.getId());
- detailVO.setCreatetime(collectionGoodsV2.getCreateTime());
- list.add(detailVO);
- }
-
- }
-
- GsonBuilder builder = new GsonBuilder().registerTypeAdapter(Date.class, new JsonSerializer<Date>() {
- @Override
- public JsonElement serialize(Date value, Type theType, JsonSerializationContext context) {
- if (value == null) {
- return new JsonPrimitive("");
- } else {
- return new JsonPrimitive(value.getTime() + "");
- }
- }
- });
-
- Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(builder).excludeFieldsWithoutExposeAnnotation()
- .create();
- data.put("list", gson.toJson(list));
- data.put("count", count);
- out.print(JsonUtil.loadTrueResult(data));
- }
-
- /**
- * 鍒犻櫎瓒宠抗
- *
- * @param acceptData
- * @param type
- * @param uid
- * @param ids
- * @param out
- */
- @RequestMapping(value = "deleteScanhistory", method = RequestMethod.POST)
- public void deleteScanHistory(WXMPAcceptData acceptData, String type, Long uid, String ids, PrintWriter out) {
- if ("1".equals(type)) {
- // 鍏ㄩ儴鍒犻櫎
- scanHistoryV2Service.deleteByDeviceOrUid(uid, acceptData.getDevice());
- } else {
- // 鍒犻櫎閮ㄥ垎
- if (StringUtil.isNullOrEmpty(ids)) {
- out.print(JsonUtil.loadFalseResult("ids涓嶈兘涓虹┖"));
- return;
- }
-
- String[] idStr = ids.split(",");
- for (String id : idStr) {
- scanHistoryV2Service.deleteByCommonIdAndDeviceOrUid(uid, acceptData.getDevice(), Long.parseLong(id));
- }
- }
- out.print(JsonUtil.loadTrueResult(""));
- }
-
- /**
- * 鑾峰彇娴忚璁板綍
- *
- * @param acceptData
- * @param uid
- * @param page
- * @param goodsType
- * @param out
- */
- @RequestMapping(value = "getScanHistory", method = RequestMethod.POST)
- public void getScanHistory(WXMPAcceptData acceptData, Long uid, int page, Integer goodsType, PrintWriter out) {
- if (page < 1) {
- out.print(JsonUtil.loadFalseResult(1, "page涓嶅皬浜�1"));
- return;
- }
-
- List<ScanHistoryV2> list = scanHistoryV2Service.getScanHistoryByDeviceOrUid(uid, acceptData.getDevice(), page,
- 20, goodsType, false);
-
- GsonBuilder gsonBuilder = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder());
- gsonBuilder.excludeFieldsWithoutExposeAnnotation();
- gsonBuilder.registerTypeAdapter(Date.class, new JsonSerializer<Date>() {
- @Override
- public JsonElement serialize(Date value, Type theType, JsonSerializationContext context) {
- if (value == null) {
- return new JsonPrimitive("");
- } else {
- return new JsonPrimitive(value.getTime() + "");
- }
- }
- });
-
- long count = scanHistoryV2Service.getCountByDeviceOrUid(uid, acceptData.getDevice(), goodsType, false);
-
- JSONArray array = new JSONArray();
- if (list != null && list.size() > 0) {
- Gson gson = gsonBuilder.create();
- ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
- acceptData.getVersion());
- for (ScanHistoryV2 sh : list) {
- CommonGoods commonGoods = sh.getCommonGoods();
- if (commonGoods == null) {
- continue;
- }
-
- GoodsDetailVO detailVO = GoodsDetailVOFactory.convertCommonGoods(commonGoods, paramsDTO);
-
- detailVO.setId(commonGoods.getId());
- detailVO.setCreatetime(sh.getCreateTime());
- array.add(gson.toJson(detailVO));
- }
- }
-
- JSONObject data = new JSONObject();
- data.put("count", count);
- data.put("list", array);
- out.print(JsonUtil.loadTrueResult(data));
- return;
- }
-
-}
+package com.yeshi.fanli.controller.wxmp.v1;
+
+import java.io.PrintWriter;
+import java.lang.reflect.Type;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.yeshi.utils.JsonUtil;
+
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonPrimitive;
+import com.google.gson.JsonSerializationContext;
+import com.google.gson.JsonSerializer;
+import com.yeshi.fanli.dto.GoodsMoneyConfigParamsDTO;
+import com.yeshi.fanli.dto.WXMPAcceptData;
+import com.yeshi.fanli.dto.pdd.PDDGoodsDetail;
+import com.yeshi.fanli.entity.goods.CollectionGoodsV2;
+import com.yeshi.fanli.entity.goods.CommonGoods;
+import com.yeshi.fanli.entity.goods.ScanHistoryV2;
+import com.yeshi.fanli.entity.jd.JDGoods;
+import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief;
+import com.yeshi.fanli.exception.goods.CollectionGoodsException;
+import com.yeshi.fanli.exception.taobao.TaoKeApiException;
+import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
+import com.yeshi.fanli.service.inter.config.BusinessSystemService;
+import com.yeshi.fanli.service.inter.goods.CollectionGoodsV2Service;
+import com.yeshi.fanli.service.inter.goods.ScanHistoryV2Service;
+import com.yeshi.fanli.service.inter.order.OrderHongBaoMoneyComputeService;
+import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
+import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.RedisManager;
+import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.cache.JDGoodsCacheUtil;
+import com.yeshi.fanli.util.cache.PinDuoDuoCacheUtil;
+import com.yeshi.fanli.util.cache.TaoBaoGoodsCacheUtil;
+import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
+import com.yeshi.fanli.util.jd.JDApiUtil;
+import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
+import com.yeshi.fanli.vo.goods.GoodsDetailVO;
+
+import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
+
+/**
+ * 鐢ㄦ埛鐩稿叧鍟嗗搧
+ *
+ * @author Administrator
+ *
+ */
+@Controller("WXMPConsumerController")
+@RequestMapping("/wxmp/api/v1/consumer")
+public class ConsumerController {
+
+ @Resource
+ private BusinessSystemService businessSystemService;
+
+ @Resource
+ private HongBaoManageService hongBaoManageService;
+
+
+ @Resource
+ private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService;
+
+ @Resource
+ private CollectionGoodsV2Service collectionGoodsV2Service;
+
+ @Resource
+ private ScanHistoryV2Service scanHistoryV2Service;
+
+ @Resource
+ private TaoBaoGoodsCacheUtil taoBaoGoodsCacheUtil;
+
+ @Resource
+ private JDGoodsCacheUtil jdGoodsCacheUtil;
+
+ @Resource
+ private PinDuoDuoCacheUtil pinDuoDuoCacheUtil;
+
+ @Resource
+ private RedisManager redisManager;
+
+ /**
+ * 鏀惰棌鍟嗗搧
+ *
+ * @param acceptData
+ * @param uid
+ * @param type
+ * @param goodsType
+ * @param out
+ */
+ @RequestMapping("collectionGoods")
+ public void collectionGoods(WXMPAcceptData acceptData, Long uid, String goodsId, int type, Integer goodsType,
+ PrintWriter out) {
+ try {
+ if (goodsType == null || goodsType < 2 || goodsType > 3) {
+ out.print(JsonUtil.loadFalseResult(1, "璇蜂紶閫掓纭弬鏁�"));
+ return;
+ }
+
+ if (type != 1) {
+ collectionGoodsV2Service.cancelCollectionByAuctionId(uid, goodsId, goodsType);
+ out.print(JsonUtil.loadTrueResult("鍙栨秷鏀惰棌鎴愬姛"));
+ return;
+ }
+
+ CollectionGoodsV2 find = collectionGoodsV2Service.findByUidAndAuctionId(uid, goodsId, goodsType);
+ if (find != null) {
+ out.print(JsonUtil.loadFalseResult(""));
+ return;
+ }
+
+ if (goodsType == Constant.SOURCE_TYPE_JD) {
+ JDGoods jdGoods = jdGoodsCacheUtil.getGoodsInfo(Long.parseLong(goodsId));
+ if (jdGoods == null) {
+ jdGoods = JDApiUtil.getGoodsDetail(Long.parseLong(goodsId));
+ }
+ if (jdGoods == null) {
+ out.print(JsonUtil.loadFalseResult(1, "鍟嗗搧宸蹭笅鏋�"));
+ return;
+ }
+ collectionGoodsV2Service.addJDCollection(uid, jdGoods);
+ } else if (goodsType == Constant.SOURCE_TYPE_PDD) {
+ PDDGoodsDetail pddGoods = pinDuoDuoCacheUtil.getGoodsInfo(Long.parseLong(goodsId));
+ if (pddGoods == null) {
+ out.print(JsonUtil.loadFalseResult(1, "鍟嗗搧宸蹭笅鏋�"));
+ return;
+ }
+ collectionGoodsV2Service.addPDDCollection(uid, pddGoods);
+ }
+ out.print(JsonUtil.loadTrueResult("鏀惰棌鎴愬姛"));
+ } catch (CollectionGoodsException e) {
+ out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg()));
+ }
+ }
+
+ /**
+ * 鍒犻櫎鏀惰棌
+ *
+ * @param acceptData
+ * @param ids
+ * @param type
+ * @param uid
+ * @param out
+ */
+ @RequestMapping("deleteCollectionGoods")
+ public void deleteCollectionGoods(WXMPAcceptData acceptData, Long uid, String ids, Integer type, PrintWriter out) {
+ if (uid == null || uid <= 0) {
+ out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�"));
+ return;
+ }
+
+ if (type != null && type == 1) { // 鍒犻櫎鍏ㄩ儴
+ try {
+ collectionGoodsV2Service.cancelCollectionByUid(uid);
+ } catch (CollectionGoodsException e) {
+ out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMessage()));
+ return;
+ }
+ } else { // 鍒犻櫎閮ㄥ垎
+ if (!StringUtil.isNullOrEmpty(ids)) {
+ Arrays.asList(ids.split(",")).parallelStream().forEach(idStr -> {
+ try {
+ collectionGoodsV2Service.deteleBYByUidAndCommonId(uid, Long.parseLong(idStr));
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ });
+ }
+ }
+ out.print(JsonUtil.loadTrueResult("鍒犻櫎鎴愬姛"));
+ }
+
+ /**
+ * 鏀惰棌鍒楄〃
+ *
+ * @param acceptData
+ * @param uid
+ * @param page
+ * @param goodsType
+ * @param out
+ */
+ @RequestMapping("collectionGoodsList")
+ public void collectionGoodsList(WXMPAcceptData acceptData, Long uid, Integer page, Integer goodsType, PrintWriter out) {
+ if (uid == null) {
+ out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�"));
+ return;
+ }
+
+ if (page < 1) {
+ out.print(JsonUtil.loadFalseResult(1, "page涓嶅皬浜�1"));
+ return;
+ }
+
+ List<CollectionGoodsV2> collectionGoodsList = collectionGoodsV2Service.getCollectionGoodsList(uid, page,
+ Constant.PAGE_SIZE, goodsType, false);
+
+ long count = collectionGoodsV2Service.getCollectionGoodsCount(uid, goodsType, false);
+
+ JSONObject data = new JSONObject();
+ List<GoodsDetailVO> list = new ArrayList<GoodsDetailVO>();
+
+ if (collectionGoodsList != null && collectionGoodsList.size() > 0) {
+ List<String> listGid = new ArrayList<>();
+ for (CollectionGoodsV2 collectionGoodsV2 : collectionGoodsList) {
+ CommonGoods commonGoods = collectionGoodsV2.getCommonGoods();
+ if (commonGoods == null || commonGoods.getGoodsType() != Constant.SOURCE_TYPE_TAOBAO) {
+ continue;
+ }
+ listGid.add(commonGoods.getGoodsId());
+ }
+
+ // API缃戠粶鎺ュ彛楠岃瘉鏄惁鍦ㄥ敭
+ List<TaoBaoGoodsBrief> listTaoKeGoods = null;
+ if (listGid.size() > 0) {
+ try {
+ listTaoKeGoods = TaoKeApiUtil.getBatchGoodsInfo(listGid);
+ } catch (TaoKeApiException e) {
+ e.printStackTrace();
+ } catch (TaobaoGoodsDownException e) {
+ e.printStackTrace();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ GoodsMoneyConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
+ acceptData.getVersion(),acceptData.getSystem());
+
+
+ for (CollectionGoodsV2 collectionGoodsV2 : collectionGoodsList) {
+ CommonGoods commonGoods = collectionGoodsV2.getCommonGoods();
+ if (commonGoods == null) {
+ continue;
+ }
+
+ if (listTaoKeGoods != null && listTaoKeGoods.size() > 0
+ && commonGoods.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) {
+ int state = 1; // 榛樿鍋滃敭
+ String goodsId = commonGoods.getGoodsId();
+ for (TaoBaoGoodsBrief taoKeGoods : listTaoKeGoods) {
+ String auctionId = taoKeGoods.getAuctionId();
+ if (goodsId == auctionId || goodsId.equals(auctionId)) {
+ state = 0; // 鍦ㄥ敭
+ break;
+ }
+ }
+ commonGoods.setState(state);
+ }
+
+ GoodsDetailVO detailVO = GoodsDetailVOFactory.convertCommonGoods(commonGoods, paramsDTO);
+ detailVO.setId(commonGoods.getId());
+ detailVO.setCreatetime(collectionGoodsV2.getCreateTime());
+ list.add(detailVO);
+ }
+
+ }
+
+ GsonBuilder builder = new GsonBuilder().registerTypeAdapter(Date.class, new JsonSerializer<Date>() {
+ @Override
+ public JsonElement serialize(Date value, Type theType, JsonSerializationContext context) {
+ if (value == null) {
+ return new JsonPrimitive("");
+ } else {
+ return new JsonPrimitive(value.getTime() + "");
+ }
+ }
+ });
+
+ Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(builder).excludeFieldsWithoutExposeAnnotation()
+ .create();
+ data.put("list", gson.toJson(list));
+ data.put("count", count);
+ out.print(JsonUtil.loadTrueResult(data));
+ }
+
+ /**
+ * 鍒犻櫎瓒宠抗
+ *
+ * @param acceptData
+ * @param type
+ * @param uid
+ * @param ids
+ * @param out
+ */
+ @RequestMapping(value = "deleteScanhistory", method = RequestMethod.POST)
+ public void deleteScanHistory(WXMPAcceptData acceptData, String type, Long uid, String ids, PrintWriter out) {
+ if ("1".equals(type)) {
+ // 鍏ㄩ儴鍒犻櫎
+ scanHistoryV2Service.deleteByDeviceOrUid(uid, acceptData.getDevice());
+ } else {
+ // 鍒犻櫎閮ㄥ垎
+ if (StringUtil.isNullOrEmpty(ids)) {
+ out.print(JsonUtil.loadFalseResult("ids涓嶈兘涓虹┖"));
+ return;
+ }
+
+ String[] idStr = ids.split(",");
+ for (String id : idStr) {
+ scanHistoryV2Service.deleteByCommonIdAndDeviceOrUid(uid, acceptData.getDevice(), Long.parseLong(id));
+ }
+ }
+ out.print(JsonUtil.loadTrueResult(""));
+ }
+
+ /**
+ * 鑾峰彇娴忚璁板綍
+ *
+ * @param acceptData
+ * @param uid
+ * @param page
+ * @param goodsType
+ * @param out
+ */
+ @RequestMapping(value = "getScanHistory", method = RequestMethod.POST)
+ public void getScanHistory(WXMPAcceptData acceptData, Long uid, int page, Integer goodsType, PrintWriter out) {
+ if (page < 1) {
+ out.print(JsonUtil.loadFalseResult(1, "page涓嶅皬浜�1"));
+ return;
+ }
+
+ List<ScanHistoryV2> list = scanHistoryV2Service.getScanHistoryByDeviceOrUid(uid, acceptData.getDevice(), page,
+ 20, goodsType, false);
+
+ GsonBuilder gsonBuilder = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder());
+ gsonBuilder.excludeFieldsWithoutExposeAnnotation();
+ gsonBuilder.registerTypeAdapter(Date.class, new JsonSerializer<Date>() {
+ @Override
+ public JsonElement serialize(Date value, Type theType, JsonSerializationContext context) {
+ if (value == null) {
+ return new JsonPrimitive("");
+ } else {
+ return new JsonPrimitive(value.getTime() + "");
+ }
+ }
+ });
+
+ long count = scanHistoryV2Service.getCountByDeviceOrUid(uid, acceptData.getDevice(), goodsType, false);
+
+ JSONArray array = new JSONArray();
+ if (list != null && list.size() > 0) {
+ Gson gson = gsonBuilder.create();
+ GoodsMoneyConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
+ acceptData.getVersion(),acceptData.getSystem());
+ for (ScanHistoryV2 sh : list) {
+ CommonGoods commonGoods = sh.getCommonGoods();
+ if (commonGoods == null) {
+ continue;
+ }
+
+ GoodsDetailVO detailVO = GoodsDetailVOFactory.convertCommonGoods(commonGoods, paramsDTO);
+
+ detailVO.setId(commonGoods.getId());
+ detailVO.setCreatetime(sh.getCreateTime());
+ array.add(gson.toJson(detailVO));
+ }
+ }
+
+ JSONObject data = new JSONObject();
+ data.put("count", count);
+ data.put("list", array);
+ out.print(JsonUtil.loadTrueResult(data));
+ return;
+ }
+
+}
--
Gitblit v1.8.0