From 554de444b87aab5f93cb1593a8095612cf9479a7 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期二, 09 六月 2020 17:34:30 +0800 Subject: [PATCH] 订单 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConsumerControllerV2.java | 82 +++++++++++++++++++++++++++++----------- 1 files changed, 59 insertions(+), 23 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConsumerControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConsumerControllerV2.java index c181c33..aa32186 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConsumerControllerV2.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConsumerControllerV2.java @@ -2,7 +2,6 @@ import java.io.PrintWriter; import java.lang.reflect.Type; -import java.math.BigDecimal; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; @@ -23,6 +22,8 @@ import com.google.gson.JsonSerializer; import com.yeshi.fanli.dto.ConfigParamsDTO; import com.yeshi.fanli.dto.pdd.PDDGoodsDetail; +import com.yeshi.fanli.dto.suning.SuningGoodsInfo; +import com.yeshi.fanli.dto.vip.goods.VIPGoodsInfo; import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.goods.CollectionGoodsV2; import com.yeshi.fanli.entity.goods.CommonGoods; @@ -35,16 +36,20 @@ 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.config.HongBaoManageService; +import com.yeshi.fanli.service.inter.order.OrderHongBaoMoneyComputeService; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.RedisManager; import com.yeshi.fanli.util.StringUtil; +import com.yeshi.fanli.util.VersionUtil; 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.suning.SuningApiUtil; +import com.yeshi.fanli.util.suning.SuningUtil; import com.yeshi.fanli.util.taobao.TaoKeApiUtil; +import com.yeshi.fanli.util.vipshop.VipShopApiUtil; import com.yeshi.fanli.vo.goods.GoodsDetailVO; import net.sf.json.JSONArray; @@ -64,7 +69,7 @@ private BusinessSystemService businessSystemService; @Resource - private HongBaoManageService hongBaoManageService; + private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService; @Resource private CollectionGoodsV2Service collectionGoodsV2Service; @@ -84,9 +89,9 @@ @Resource private RedisManager redisManager; - /** * 鏀惰棌鍟嗗搧 + * * @param acceptData * @param uid * @param id @@ -95,7 +100,7 @@ * @param out */ @RequestMapping("collectionGoods") - public void collectionGoods(AcceptData acceptData, long uid, long id, int type, Integer goodsType, + public void collectionGoods(AcceptData acceptData, long uid, String id, int type, Integer goodsType, PrintWriter out) { try { if (goodsType == null) { @@ -103,21 +108,30 @@ } if (type != 1) { - collectionGoodsV2Service.cancelCollectionByAuctionId(uid, id, goodsType); + if (goodsType == Constant.SOURCE_TYPE_SUNING) { + String[] sts = SuningUtil.getGoodsIdDetail(id); + collectionGoodsV2Service.cancelCollectionByAuctionId(uid, Long.parseLong(sts[1]), goodsType); + } else + collectionGoodsV2Service.cancelCollectionByAuctionId(uid, Long.parseLong(id), goodsType); out.print(JsonUtil.loadTrueResult("鍙栨秷鏀惰棌鎴愬姛")); return; } - - CollectionGoodsV2 find = collectionGoodsV2Service.findByUidAndAuctionId(uid, id, goodsType); + Long goodsId = null; + if (goodsType == Constant.SOURCE_TYPE_SUNING) { + String[] sts = SuningUtil.getGoodsIdDetail(id); + goodsId = Long.parseLong(sts[1]); + } else + goodsId = Long.parseLong(id); + 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(id); + JDGoods jdGoods = jdGoodsCacheUtil.getGoodsInfo(goodsId); if (jdGoods == null) { - jdGoods = JDApiUtil.getGoodsDetail(id); + jdGoods = JDApiUtil.getGoodsDetail(goodsId); } if (jdGoods == null) { out.print(JsonUtil.loadFalseResult(1, "鍟嗗搧宸蹭笅鏋�")); @@ -125,15 +139,30 @@ } collectionGoodsV2Service.addJDCollection(uid, jdGoods); } else if (goodsType == Constant.SOURCE_TYPE_PDD) { - PDDGoodsDetail pddGoods = pinDuoDuoCacheUtil.getGoodsInfo(id); + PDDGoodsDetail pddGoods = pinDuoDuoCacheUtil.getGoodsInfo(goodsId); if (pddGoods == null) { out.print(JsonUtil.loadFalseResult(1, "鍟嗗搧宸蹭笅鏋�")); return; } collectionGoodsV2Service.addPDDCollection(uid, pddGoods); + } else if (goodsType == Constant.SOURCE_TYPE_VIP) { + VIPGoodsInfo vipGoods = VipShopApiUtil.getGoodsDetail(id); + if (vipGoods == null) { + out.print(JsonUtil.loadFalseResult(1, "鍟嗗搧宸蹭笅鏋�")); + return; + } + collectionGoodsV2Service.addVIPCollection(uid, vipGoods); + } else if (goodsType == Constant.SOURCE_TYPE_SUNING) { + String[] sts = SuningUtil.getGoodsIdDetail(id); + SuningGoodsInfo suningGoods = SuningApiUtil.getGoodsDetail(sts[1], sts[0]); + if (suningGoods == null) { + out.print(JsonUtil.loadFalseResult(1, "鍟嗗搧宸蹭笅鏋�")); + return; + } + collectionGoodsV2Service.addSuningCollection(uid, suningGoods); } else { try { - TaoBaoGoodsBrief taoBaoGoodsBrief = redisManager.getTaoBaoGoodsBrief(id); + TaoBaoGoodsBrief taoBaoGoodsBrief = redisManager.getTaoBaoGoodsBrief(goodsId); collectionGoodsV2Service.addCollection(uid, taoBaoGoodsBrief); } catch (TaobaoGoodsDownException e) { out.print(JsonUtil.loadFalseResult(1, "鍟嗗搧宸蹭笅鏋�")); @@ -204,10 +233,14 @@ return; } - List<CollectionGoodsV2> collectionGoodsList = collectionGoodsV2Service.getCollectionGoodsList(uid, page, - Constant.PAGE_SIZE, goodsType); + boolean notBackSuVip = false; + if (!VersionUtil.greaterThan_2_1_2(acceptData.getPlatform(), acceptData.getVersion())) + notBackSuVip = true; - long count = collectionGoodsV2Service.getCollectionGoodsCount(uid, goodsType); + List<CollectionGoodsV2> collectionGoodsList = collectionGoodsV2Service.getCollectionGoodsList(uid, page, + Constant.PAGE_SIZE, goodsType, notBackSuVip); + + long count = collectionGoodsV2Service.getCollectionGoodsCount(uid, goodsType, notBackSuVip); JSONObject data = new JSONObject(); List<GoodsDetailVO> list = new ArrayList<GoodsDetailVO>(); @@ -236,9 +269,9 @@ } } - BigDecimal fanLiRate = hongBaoManageService.getFanLiRate(); - BigDecimal shareRate = hongBaoManageService.getShareRate(); - ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE); + ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(), + acceptData.getVersion()); + for (CollectionGoodsV2 collectionGoodsV2 : collectionGoodsList) { CommonGoods commonGoods = collectionGoodsV2.getCommonGoods(); if (commonGoods == null) { @@ -330,8 +363,12 @@ return; } + boolean notBackSuVip = false; + if (!VersionUtil.greaterThan_2_1_2(acceptData.getPlatform(), acceptData.getVersion())) + notBackSuVip = true; + List<ScanHistoryV2> list = scanHistoryV2Service.getScanHistoryByDeviceOrUid(uid, acceptData.getDevice(), page, - 20, goodsType); + 20, goodsType, notBackSuVip); GsonBuilder gsonBuilder = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()); gsonBuilder.excludeFieldsWithoutExposeAnnotation(); @@ -346,14 +383,13 @@ } }); - long count = scanHistoryV2Service.getCountByDeviceOrUid(uid, acceptData.getDevice(), goodsType); + long count = scanHistoryV2Service.getCountByDeviceOrUid(uid, acceptData.getDevice(), goodsType, notBackSuVip); JSONArray array = new JSONArray(); if (list != null && list.size() > 0) { Gson gson = gsonBuilder.create(); - BigDecimal fanLiRate = hongBaoManageService.getFanLiRate(); - BigDecimal shareRate = hongBaoManageService.getShareRate(); - ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE); + ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(), + acceptData.getVersion()); for (ScanHistoryV2 sh : list) { CommonGoods commonGoods = sh.getCommonGoods(); if (commonGoods == null) { -- Gitblit v1.8.0