From 30d8e227e8d823b6c38c3b9c90ac2df03b63befe Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 25 二月 2025 16:41:22 +0800 Subject: [PATCH] 淘宝转链接口更新 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ShareStorageControllerV2.java | 633 ++++++++++++++++++++++++++++---------------------------- 1 files changed, 315 insertions(+), 318 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ShareStorageControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ShareStorageControllerV2.java index 2b7b4e1..64fe28b 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ShareStorageControllerV2.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ShareStorageControllerV2.java @@ -1,318 +1,315 @@ -package com.yeshi.fanli.controller.client.v2; - -import java.io.PrintWriter; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import javax.annotation.Resource; - -import com.yeshi.fanli.util.SystemInfoUtil; -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.reflect.TypeToken; -import com.yeshi.fanli.dto.ConfigParamsDTO; -import com.yeshi.fanli.entity.accept.AcceptData; -import com.yeshi.fanli.entity.bus.user.UserGoodsStorage; -import com.yeshi.fanli.entity.goods.CommonGoods; -import com.yeshi.fanli.entity.system.ConfigKeyEnum; -import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief; -import com.yeshi.fanli.exception.share.UserShareGoodsRecordException; -import com.yeshi.fanli.exception.taobao.TaoKeApiException; -import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException; -import com.yeshi.fanli.exception.user.UserGoodsStorageException; -import com.yeshi.fanli.service.inter.config.ConfigService; -import com.yeshi.fanli.service.inter.order.OrderHongBaoMoneyComputeService; -import com.yeshi.fanli.service.inter.order.config.HongBaoManageService; -import com.yeshi.fanli.service.inter.user.UserGoodsStorageService; -import com.yeshi.fanli.util.Constant; -import com.yeshi.fanli.util.StringUtil; -import com.yeshi.fanli.util.VersionUtil; -import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory; -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 -@RequestMapping("api/v2/shraeStorage") -public class ShareStorageControllerV2 { - - @Resource - private ConfigService configService; - - @Resource - private HongBaoManageService hongBaoManageService; - - @Resource - private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService; - - @Resource - private UserGoodsStorageService userGoodsStorageService; - - /** - * 鍗曚釜鍟嗗搧鍔犲叆閫夊搧搴� - * - * @param callback - * @param storageIds - * id鏁扮粍 - * @param out - */ - @RequestMapping(value = "accordtorage", method = RequestMethod.POST) - public void accordtorage(AcceptData acceptData, Long uid, long id, Integer goodsType, PrintWriter out) { - - if (uid == null) { - out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); - return; - } - - if (goodsType == null) { - goodsType = Constant.SOURCE_TYPE_TAOBAO; - } - - try { - UserGoodsStorage userGoodsStorage = userGoodsStorageService.getByUidAndAuctionId(uid, id, goodsType); - boolean storageState = false; - if (userGoodsStorage != null) { - // 鍙栨秷鍔犲叆閫夊搧搴� - userGoodsStorageService.deleteByPrimaryKey(userGoodsStorage.getId()); - } else { - // 鍔犲叆閫夊搧搴� - Set<Long> set = new HashSet<Long>(); - set.add(id); - userGoodsStorageService.save(uid, set, goodsType); - storageState = true; - } - - JSONObject data = new JSONObject(); - data.put("storageState", storageState); - out.print(JsonUtil.loadTrueResult(data)); - } catch (Exception e) { - out.print(JsonUtil.loadFalseResult("鎿嶄綔澶辫触")); - e.printStackTrace(); - } - } - - /** - * 鎵归噺娣诲姞閫夊搧搴� - * - * @param acceptData - * @param uid - * 鐢ㄦ埛id - * @param ids - * 绠�鐗堝晢鍝乮d - * @param out - */ - @RequestMapping(value = "addStorage", method = RequestMethod.POST) - public void addStorage(AcceptData acceptData, Long uid, String ids, PrintWriter out) { - try { - Gson gson = new Gson(); - Set<Long> set = gson.fromJson(ids, new TypeToken<HashSet<Long>>() { - }.getType()); - if (set == null || set.size() == 0) { - out.print(JsonUtil.loadFalseResult("鏈�夋嫨鍟嗗搧")); - return; - } - - userGoodsStorageService.addCommonGoods(uid, set); - out.print(JsonUtil.loadTrueResult("娣诲姞鎴愬姛")); - } catch (UserGoodsStorageException e) { - out.print(JsonUtil.loadFalseResult(e.getMsg())); - } - } - - /** - * 鏌ヨ鐢ㄦ埛閫夊搧搴撴暟鎹� - * - * @param acceptData - * @param page - * 椤电爜 鍒濆鍊� 1 - * @param uid - * 鐢ㄦ埛id - * @param out - */ - @RequestMapping(value = "getlist", method = RequestMethod.POST) - public void getlist(AcceptData acceptData, Integer page, Long uid, Integer goodsType, PrintWriter out) { - - if (uid == null) { - out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); - return; - } - - if (goodsType == null) { - out.print(JsonUtil.loadFalseResult("骞冲彴绫诲瀷涓嶈兘涓虹┖")); - return; - } - - if (page == null || page < 1) { - page = 1; - } - - int pageSize = Constant.PAGE_SIZE; - JSONArray array = new JSONArray(); - JSONObject data = new JSONObject(); - - if (goodsType == Constant.SOURCE_TYPE_JD) { - String open = configService.getValue(ConfigKeyEnum.shareOpenJD.getKey(), SystemInfoUtil.getSystem(acceptData)); - if (!"1".equals(open.trim())) { - data.put("count", 0); - data.put("result_list", array); - out.print(JsonUtil.loadTrueResult(data)); - return; - } - } - - List<UserGoodsStorage> listStorage = userGoodsStorageService.listQueryByUid((page - 1) * pageSize, pageSize, - uid, goodsType); - if (listStorage == null || listStorage.size() == 0) { - data.put("count", 0); - data.put("result_list", array); - out.print(JsonUtil.loadTrueResult(data)); - return; - } - - // API缃戠粶鎺ュ彛楠岃瘉鏄惁鍦ㄥ敭 - List<TaoBaoGoodsBrief> listTaoKeGoods = null; - if (goodsType == Constant.SOURCE_TYPE_TAOBAO) { - List<Long> listGid = new ArrayList<Long>(); - for (UserGoodsStorage userGoodsStorage : listStorage) { - CommonGoods commonGoods = userGoodsStorage.getCommonGoods(); - if (commonGoods == null) { - continue; - } - listGid.add(commonGoods.getGoodsId()); - } - - try { - listTaoKeGoods = TaoKeApiUtil.getBatchGoodsInfo(listGid); - } catch (TaoKeApiException e) { - e.printStackTrace(); - } catch (TaobaoGoodsDownException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - } - - Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) - .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create(); - - ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(), - acceptData.getVersion(),acceptData.getSystem()); - - for (UserGoodsStorage userGoodsStorage : listStorage) { - CommonGoods commonGoods = userGoodsStorage.getCommonGoods(); - if (commonGoods == null) { - continue; - } - - // 娣樺疂鍟嗗搧楠岃瘉鍦ㄥ敭 - if (goodsType == Constant.SOURCE_TYPE_TAOBAO) { - if (listTaoKeGoods != null && listTaoKeGoods.size() > 0) { - 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); - } - } - - // 鍒ゆ柇鏄惁宸插垎浜紝 宸插垎浜樉绀哄凡涓嬫灦 - Integer storageState = userGoodsStorage.getState(); - if (storageState != null && storageState == UserGoodsStorage.STATE_SHARED) { - Integer goodsState = commonGoods.getState(); - if (goodsState != null && goodsState != 1) { - commonGoods.setState(2); - } - } - - GoodsDetailVO detailVO = GoodsDetailVOFactory.convertCommonGoods(commonGoods, paramsDTO); - detailVO.setId(commonGoods.getId()); - - JSONObject dataObject = new JSONObject(); - dataObject.put("storageId", userGoodsStorage.getId()); - dataObject.put("goods", gson.toJson(detailVO)); - array.add(dataObject); - } - - long count = userGoodsStorageService.countQueryByUid(uid, goodsType); - data.put("count", count); - data.put("result_list", array); - out.print(JsonUtil.loadTrueResult(data)); - } - - /** - * 鍒嗕韩鍟嗗搧杩斿洖浜岀淮鐮佸浘鐗� - * - * @param callback - * @param storageIds - * id鏁扮粍 - * @param out - */ - @RequestMapping(value = "createShare", method = RequestMethod.POST) - public void createShare(AcceptData acceptData, Long uid, String storageIds, PrintWriter out) { - - if (StringUtil.isNullOrEmpty(storageIds)) { - out.print(JsonUtil.loadFalseResult("鍒嗕韩鍟嗗搧涓嶈兘涓虹┖")); - return; - } - - if (uid == null) { - out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); - return; - } - - try { - Gson gson = new Gson(); - List<Long> listStorageID = gson.fromJson(storageIds, new TypeToken<ArrayList<Long>>() { - }.getType()); - - if (!VersionUtil.greaterThan_2_0_5(acceptData.getPlatform(), acceptData.getVersion())) { - - if (listStorageID == null || listStorageID.size() < 9) { - out.print(JsonUtil.loadFalseResult("鍒嗕韩鍟嗗搧鏁伴噺涓嶈冻")); - return; - } - - if (listStorageID.size() != 9) { - out.print(JsonUtil.loadFalseResult("鍒嗕韩鍟嗗搧鏁伴噺鍙兘鏄�9涓�")); - return; - } - - JSONObject data = userGoodsStorageService.createShareV2(uid, listStorageID, true); - out.print(JsonUtil.loadTrueResult(data)); - } else { - JSONObject data = userGoodsStorageService.createShareV2(uid, listStorageID, false); - out.print(JsonUtil.loadTrueResult(data)); - } - - } catch (UserGoodsStorageException e) { - out.print(JsonUtil.loadFalseResult("鍒嗕韩澶辫触")); - e.printStackTrace(); - } catch (UserShareGoodsRecordException e) { - out.print(JsonUtil.loadFalseResult("鍒嗕韩澶辫触")); - e.printStackTrace(); - } catch (Exception e) { - out.print(JsonUtil.loadFalseResult("鍒嗕韩澶辫触")); - e.printStackTrace(); - } - } -} +package com.yeshi.fanli.controller.client.v2; + +import java.io.PrintWriter; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +import javax.annotation.Resource; + +import com.yeshi.fanli.util.SystemInfoUtil; +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.reflect.TypeToken; +import com.yeshi.fanli.dto.GoodsMoneyConfigParamsDTO; +import com.yeshi.fanli.entity.accept.AcceptData; +import com.yeshi.fanli.entity.bus.user.UserGoodsStorage; +import com.yeshi.fanli.entity.goods.CommonGoods; +import com.yeshi.fanli.entity.system.ConfigKeyEnum; +import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief; +import com.yeshi.fanli.exception.share.UserShareGoodsRecordException; +import com.yeshi.fanli.exception.taobao.TaoKeApiException; +import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException; +import com.yeshi.fanli.exception.user.UserGoodsStorageException; +import com.yeshi.fanli.service.inter.config.ConfigService; +import com.yeshi.fanli.service.inter.order.OrderHongBaoMoneyComputeService; +import com.yeshi.fanli.service.inter.order.config.HongBaoManageService; +import com.yeshi.fanli.service.inter.user.UserGoodsStorageService; +import com.yeshi.fanli.util.Constant; +import com.yeshi.fanli.util.StringUtil; +import com.yeshi.fanli.util.VersionUtil; +import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory; +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 +@RequestMapping("api/v2/shraeStorage") +public class ShareStorageControllerV2 { + + @Resource + private ConfigService configService; + + @Resource + private HongBaoManageService hongBaoManageService; + + @Resource + private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService; + + @Resource + private UserGoodsStorageService userGoodsStorageService; + + /** + * 鍗曚釜鍟嗗搧鍔犲叆閫夊搧搴� + * + * id鏁扮粍 + * @param out + */ + @RequestMapping(value = "accordtorage", method = RequestMethod.POST) + public void accordtorage(AcceptData acceptData, Long uid, String id, Integer goodsType, PrintWriter out) { + + if (uid == null) { + out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); + return; + } + + if (goodsType == null) { + goodsType = Constant.SOURCE_TYPE_TAOBAO; + } + + try { + UserGoodsStorage userGoodsStorage = userGoodsStorageService.getByUidAndAuctionId(uid, id, goodsType); + boolean storageState = false; + if (userGoodsStorage != null) { + // 鍙栨秷鍔犲叆閫夊搧搴� + userGoodsStorageService.deleteByPrimaryKey(userGoodsStorage.getId()); + } else { + // 鍔犲叆閫夊搧搴� + Set<String> set = new HashSet<>(); + set.add(id); + userGoodsStorageService.save(uid, set, goodsType); + storageState = true; + } + + JSONObject data = new JSONObject(); + data.put("storageState", storageState); + out.print(JsonUtil.loadTrueResult(data)); + } catch (Exception e) { + out.print(JsonUtil.loadFalseResult("鎿嶄綔澶辫触")); + e.printStackTrace(); + } + } + + /** + * 鎵归噺娣诲姞閫夊搧搴� + * + * @param acceptData + * @param uid + * 鐢ㄦ埛id + * @param ids + * 绠�鐗堝晢鍝乮d + * @param out + */ + @RequestMapping(value = "addStorage", method = RequestMethod.POST) + public void addStorage(AcceptData acceptData, Long uid, String ids, PrintWriter out) { + try { + Gson gson = new Gson(); + Set<Long> set = gson.fromJson(ids, new TypeToken<HashSet<Long>>() { + }.getType()); + if (set == null || set.size() == 0) { + out.print(JsonUtil.loadFalseResult("鏈�夋嫨鍟嗗搧")); + return; + } + + userGoodsStorageService.addCommonGoods(uid, set); + out.print(JsonUtil.loadTrueResult("娣诲姞鎴愬姛")); + } catch (UserGoodsStorageException e) { + out.print(JsonUtil.loadFalseResult(e.getMsg())); + } + } + + /** + * 鏌ヨ鐢ㄦ埛閫夊搧搴撴暟鎹� + * + * @param acceptData + * @param page + * 椤电爜 鍒濆鍊� 1 + * @param uid + * 鐢ㄦ埛id + * @param out + */ + @RequestMapping(value = "getlist", method = RequestMethod.POST) + public void getlist(AcceptData acceptData, Integer page, Long uid, Integer goodsType, PrintWriter out) { + + if (uid == null) { + out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); + return; + } + + if (goodsType == null) { + out.print(JsonUtil.loadFalseResult("骞冲彴绫诲瀷涓嶈兘涓虹┖")); + return; + } + + if (page == null || page < 1) { + page = 1; + } + + int pageSize = Constant.PAGE_SIZE; + JSONArray array = new JSONArray(); + JSONObject data = new JSONObject(); + + if (goodsType == Constant.SOURCE_TYPE_JD) { + String open = configService.getValue(ConfigKeyEnum.shareOpenJD.getKey(), SystemInfoUtil.getSystem(acceptData)); + if (!"1".equals(open.trim())) { + data.put("count", 0); + data.put("result_list", array); + out.print(JsonUtil.loadTrueResult(data)); + return; + } + } + + List<UserGoodsStorage> listStorage = userGoodsStorageService.listQueryByUid((page - 1) * pageSize, pageSize, + uid, goodsType); + if (listStorage == null || listStorage.size() == 0) { + data.put("count", 0); + data.put("result_list", array); + out.print(JsonUtil.loadTrueResult(data)); + return; + } + + // API缃戠粶鎺ュ彛楠岃瘉鏄惁鍦ㄥ敭 + List<TaoBaoGoodsBrief> listTaoKeGoods = null; + if (goodsType == Constant.SOURCE_TYPE_TAOBAO) { + List<String> listGid = new ArrayList<>(); + for (UserGoodsStorage userGoodsStorage : listStorage) { + CommonGoods commonGoods = userGoodsStorage.getCommonGoods(); + if (commonGoods == null) { + continue; + } + listGid.add(commonGoods.getGoodsId()); + } + + try { + listTaoKeGoods = TaoKeApiUtil.getBatchGoodsInfo(listGid); + } catch (TaoKeApiException e) { + e.printStackTrace(); + } catch (TaobaoGoodsDownException e) { + e.printStackTrace(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) + .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create(); + + GoodsMoneyConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(), + acceptData.getVersion(),acceptData.getSystem()); + + for (UserGoodsStorage userGoodsStorage : listStorage) { + CommonGoods commonGoods = userGoodsStorage.getCommonGoods(); + if (commonGoods == null) { + continue; + } + + // 娣樺疂鍟嗗搧楠岃瘉鍦ㄥ敭 + if (goodsType == Constant.SOURCE_TYPE_TAOBAO) { + if (listTaoKeGoods != null && listTaoKeGoods.size() > 0) { + 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); + } + } + + // 鍒ゆ柇鏄惁宸插垎浜紝 宸插垎浜樉绀哄凡涓嬫灦 + Integer storageState = userGoodsStorage.getState(); + if (storageState != null && storageState == UserGoodsStorage.STATE_SHARED) { + Integer goodsState = commonGoods.getState(); + if (goodsState != null && goodsState != 1) { + commonGoods.setState(2); + } + } + + GoodsDetailVO detailVO = GoodsDetailVOFactory.convertCommonGoods(commonGoods, paramsDTO); + detailVO.setId(commonGoods.getId()); + + JSONObject dataObject = new JSONObject(); + dataObject.put("storageId", userGoodsStorage.getId()); + dataObject.put("goods", gson.toJson(detailVO)); + array.add(dataObject); + } + + long count = userGoodsStorageService.countQueryByUid(uid, goodsType); + data.put("count", count); + data.put("result_list", array); + out.print(JsonUtil.loadTrueResult(data)); + } + + /** + * 鍒嗕韩鍟嗗搧杩斿洖浜岀淮鐮佸浘鐗� + * + * @param storageIds + * id鏁扮粍 + * @param out + */ + @RequestMapping(value = "createShare", method = RequestMethod.POST) + public void createShare(AcceptData acceptData, Long uid, String storageIds, PrintWriter out) { + + if (StringUtil.isNullOrEmpty(storageIds)) { + out.print(JsonUtil.loadFalseResult("鍒嗕韩鍟嗗搧涓嶈兘涓虹┖")); + return; + } + + if (uid == null) { + out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); + return; + } + + try { + Gson gson = new Gson(); + List<Long> listStorageID = gson.fromJson(storageIds, new TypeToken<ArrayList<Long>>() { + }.getType()); + + if (!VersionUtil.greaterThan_2_0_5(acceptData.getPlatform(), acceptData.getVersion())) { + + if (listStorageID == null || listStorageID.size() < 9) { + out.print(JsonUtil.loadFalseResult("鍒嗕韩鍟嗗搧鏁伴噺涓嶈冻")); + return; + } + + if (listStorageID.size() != 9) { + out.print(JsonUtil.loadFalseResult("鍒嗕韩鍟嗗搧鏁伴噺鍙兘鏄�9涓�")); + return; + } + + JSONObject data = userGoodsStorageService.createShareV2(uid, listStorageID, true); + out.print(JsonUtil.loadTrueResult(data)); + } else { + JSONObject data = userGoodsStorageService.createShareV2(uid, listStorageID, false); + out.print(JsonUtil.loadTrueResult(data)); + } + + } catch (UserGoodsStorageException e) { + out.print(JsonUtil.loadFalseResult("鍒嗕韩澶辫触")); + e.printStackTrace(); + } catch (UserShareGoodsRecordException e) { + out.print(JsonUtil.loadFalseResult("鍒嗕韩澶辫触")); + e.printStackTrace(); + } catch (Exception e) { + out.print(JsonUtil.loadFalseResult("鍒嗕韩澶辫触")); + e.printStackTrace(); + } + } +} -- Gitblit v1.8.0