From 5e7b0ed4a154ad067cbcf4aa1a1c7cce32f9864c Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 26 四月 2024 18:02:17 +0800 Subject: [PATCH] 唯品会链接解析升级 --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java | 142 +++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 124 insertions(+), 18 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java index 84efc51..80381e5 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java @@ -7,8 +7,13 @@ import javax.annotation.Resource; import com.yeshi.fanli.entity.SystemEnum; +import com.yeshi.fanli.entity.dy.DYOrder; import com.yeshi.fanli.service.inter.order.pdd.PDDOrderService; +import com.yeshi.fanli.util.goods.douyin.CSJCPSApiUtil; +import com.yeshi.fanli.util.goods.douyin.vo.DYGoodsDetail; import org.apache.commons.beanutils.PropertyUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -104,6 +109,9 @@ @Service public class CommonOrderServiceImpl implements CommonOrderService { + + private Logger logger = LoggerFactory.getLogger(CommonOrderService.class); + @Resource private CommonOrderMapper commonOrderMapper; @@ -368,6 +376,8 @@ CommonOrderGoodsVO commonGoodsVO = new CommonOrderGoodsVO(); PropertyUtils.copyProperties(commonGoodsVO, goods); commonGoodsVO.setGoodsType(sourceType); + commonGoodsVO.setPlaceOrderTime(TimeUtil.getGernalTime(order.getThirdCreateTime().getTime(), "yyyy.MM.dd HH:mm")); + // 娣樺疂鍟嗗搧鍥剧墖澶勭悊 String picture = commonGoodsVO.getPicture(); @@ -384,6 +394,11 @@ if (totalSettlement == null || totalSettlement.compareTo(new BigDecimal(0)) <= 0) { totalSettlement = commonOrder.getTotalPayment(); } + if (totalSettlement == null || totalSettlement.compareTo(new BigDecimal(0)) <= 0) + commonGoodsVO.setPayState("鏈粯娆�/宸查��娆�"); + else + commonGoodsVO.setPayState("宸蹭粯娆�"); + commonGoodsVO.setActualPay("浠樻閲戦锛毬�" + totalSettlement); // 閭�璇疯鍗曚俊鎭繚鎶� @@ -721,7 +736,7 @@ Map<String, Object> jump = new HashMap<String, Object>(); jump.put("type", 1); // 椤甸潰璺宠浆 jump.put("params", jumpLink); - jump.put("jumpDetail", jumpDetailV2Service.getByTypeCache("freeCouponDetail")); + jump.put("jumpDetail", jumpDetailV2Service.getByTypeCache("freeCouponDetail", acceptData.getSystem())); Map<String, Object> rewardMap = new HashMap<String, Object>(); rewardMap.put("text", rewardStyleVO); @@ -750,7 +765,7 @@ Map<String, Object> jump = new HashMap<String, Object>(); jump.put("type", 1); // 1 甯歌璺宠浆椤甸潰 jump.put("params", jumpLink); - jump.put("jumpDetail", jumpDetailV2Service.getByTypeCache("rewardCouponDetail")); + jump.put("jumpDetail", jumpDetailV2Service.getByTypeCache("rewardCouponDetail", acceptData.getSystem())); rewardMap.put("jump", jump); order.setRewardDetail(rewardMap); } @@ -775,7 +790,7 @@ long limitDate = TimeUtil.convertDateToTemp(Constant.VIP_ONLINE_TIME); if (downOrderTime > limitDate) { // 2.1 寮�濮嬫柊鐗� - rewardCounponLimitTime(order, accountTime); + rewardCounponLimitTime(order, accountTime, acceptData.getSystem()); } else if (hasRewardCoupon) { // 鍦�2.1鏂扮増涓婄嚎涔嬪墠璁㈠崟-瀛樺湪鍒欐樉绀哄鍔卞埜鍙娇鐢� ClientTextStyleVO rewardStyleVO = new ClientTextStyleVO(); @@ -790,7 +805,7 @@ Map<String, Object> jump = new HashMap<String, Object>(); jump.put("type", 2); // 寮规 jump.put("params", jumpLink); - jump.put("jumpDetail", jumpDetailV2Service.getByTypeCache("rewardCouponDetail")); + jump.put("jumpDetail", jumpDetailV2Service.getByTypeCache("rewardCouponDetail", acceptData.getSystem())); Map<String, Object> rewardMap = new HashMap<String, Object>(); rewardMap.put("text", rewardStyleVO); @@ -800,7 +815,7 @@ } } - private void rewardCounponLimitTime(CommonOrderVO order, Date accountTime) throws Exception { + private void rewardCounponLimitTime(CommonOrderVO order, Date accountTime, SystemEnum system) throws Exception { // 鍊掕鏃堕獙璇� Date endDay = DateUtil.plusDayDate(Constant.COUPON_REWARD_LIMIT_DAY, accountTime); long currentTime = java.lang.System.currentTimeMillis(); @@ -875,7 +890,7 @@ Map<String, Object> jump = new HashMap<String, Object>(); jump.put("type", 2); // 寮瑰嚭妗嗕娇鐢ㄥ埜 jump.put("params", jumpLink); - jump.put("jumpDetail", jumpDetailV2Service.getByTypeCache("rewardCouponDetail")); + jump.put("jumpDetail", jumpDetailV2Service.getByTypeCache("rewardCouponDetail", system)); rewardMap.put("jump", jump); order.setRewardDetail(rewardMap); } @@ -987,6 +1002,7 @@ } else { cog.setGoodsId(taoBaoOrder.getAuctionId() + ""); cog.setGoodsType(Constant.SOURCE_TYPE_TAOBAO); + cog.setTitle(taoBaoOrder.getTitle()); newCommonOrder.setCommonOrderGoods(cog); } newCommonOrder.setStateWholeOrder(wholeOrderState); @@ -1004,11 +1020,10 @@ taoBaoGoods.getRootCategoryName(), taoBaoGoods.getLeafName())); } catch (TaobaoGoodsDownException e) { e.printStackTrace(); - LogHelper.errorDetailInfo(e, "AUCTIONID:" + taoBaoOrder.getAuctionId(), ""); + logger.warn("娣樺疂鍟嗗搧涓嬫灦锛歿}", taoBaoOrder.getAuctionId(), e); try { taoBaoGoods = TaoBaoUtil.getSimpleGoodsBrief(taoBaoOrder.getAuctionId()); // 璁板綍鍟嗗搧鍒嗙被 - } catch (Exception e1) { CommonGoods commonGoods = commonGoodsService.getCommonGoodsByGoodsIdAndGoodsType( taoBaoOrder.getAuctionId(), Constant.SOURCE_TYPE_TAOBAO); @@ -1022,6 +1037,8 @@ } cog.setCreateTime(new Date()); cog.setUpdateTime(new Date()); + //瑕嗙洊鍘熸潵鐨勫晢鍝両D + cog.setGoodsId(newCommonOrder.getCommonOrderGoods().getGoodsId()); commonOrderGoodsMapper.insertSelective(cog); } newCommonOrder.setUserInfo(new UserInfo(uid)); @@ -1293,7 +1310,7 @@ { SuningGoodsInfo pddGoods = null; // TODO 闇�瑕佽幏鍙� - pddGoods = SuningApiUtil.getGoodsDetail(suningOrderInfo.getGoodsNum(), suningOrderInfo.getSellerCode()); + pddGoods = SuningApiUtil.getGoodsDetail(suningOrderInfo.getGoodsNum(), "0000000000"); if (pddGoods != null) { cog = CommonOrderGoodsFactory.create(pddGoods); } @@ -1308,6 +1325,71 @@ } addConfirmMQMsg(commonOrderList); return commonOrderList; + } + + @Override + public List<CommonOrderAddResultDTO> addDYOrder(DYOrder order, Long uid) throws CommonOrderException { + List<CommonOrderAddResultDTO> commonOrderList = new ArrayList<>(); + + CommonOrder newCommonOrder = CommonOrderFactory.create(order); + CommonOrderGoods cog = new CommonOrderGoods(); + cog.setGoodsId(order.getProduct_id()); + cog.setGoodsType(Constant.SOURCE_TYPE_DY); + newCommonOrder.setCommonOrderGoods(cog); + newCommonOrder.setStateWholeOrder(newCommonOrder.getState()); + // 璁㈠崟鍟嗗搧鎻掑叆 + List<CommonOrderGoods> commonGoodsList = commonOrderGoodsMapper.listByGoodsIdAndGoodsType(cog.getGoodsId(), + cog.getGoodsType()); + if (commonGoodsList.size() <= 0)// 涓嶅瓨鍦ㄥ氨鎻掑叆鍟嗗搧 + { + DYGoodsDetail goods = CSJCPSApiUtil.goodsDetail(Long.parseLong(order.getProduct_id())); + if (goods == null) { + goods = new DYGoodsDetail(); + goods.setTitle(order.getProduct_name()); + goods.setPrice(0); + goods.setProduct_id(Long.parseLong(order.getProduct_id())); + goods.setCover(order.getProduct_img()); + } + + if (goods != null) { + cog = CommonOrderGoodsFactory.create(goods); + } + + cog.setCreateTime(new Date()); + cog.setUpdateTime(new Date()); + commonOrderGoodsMapper.insertSelective(cog); + } else { + + } + newCommonOrder.setUserInfo(new UserInfo(uid)); + commonOrderList.add(addCommonOrder(newCommonOrder)); + + addConfirmMQMsg(commonOrderList); + return commonOrderList; + } + + private boolean needUpdateCommonOrder(CommonOrder oldCommonOrder, CommonOrder newCommonOrder) { + // 闈炰含涓滃凡缁忕粨绠楋紝宸茬粡澶辨晥锛岀姸鎬佹湭鏀瑰彉鐨勮鍗曚笉澶勭悊 + if ((oldCommonOrder.getState() == CommonOrder.STATE_JS + && oldCommonOrder.getSourceType() != Constant.SOURCE_TYPE_JD) + || oldCommonOrder.getState() == CommonOrder.STATE_SX + || oldCommonOrder.getState() == CommonOrder.STATE_WQ) { + return false; + } + + + //鐘舵�佺浉鍚屼笖浠樻閲戦锛岀粨绠楅噾棰濅竴鑷存椂鎵嶄笉闇�瑕佹洿鏂� + if (oldCommonOrder.getState().intValue() == newCommonOrder.getState()) { + if (oldCommonOrder.getPayment().compareTo(newCommonOrder.getPayment()) == 0) { + if (oldCommonOrder.getSettlement() == null && newCommonOrder.getSettlement() == null) { + return false; + } else if (oldCommonOrder.getSettlement() != null && newCommonOrder.getSettlement() != null && oldCommonOrder.getSettlement().compareTo(newCommonOrder.getSettlement()) == 0) { + return false; + } + } + } + + return true; } /** @@ -1371,12 +1453,8 @@ commonOrder.getTradeId(), new Date(), commonOrder.getSourceType())); return new CommonOrderAddResultDTO(commonOrder, CommonOrderAddResultDTO.TYPE_ADD); } else {// 淇敼 - // 闈炰含涓滃凡缁忕粨绠楋紝宸茬粡澶辨晥锛岀姸鎬佹湭鏀瑰彉鐨勮鍗曚笉澶勭悊 - if ((oldCommonOrder.getState() == CommonOrder.STATE_JS - && oldCommonOrder.getSourceType() != Constant.SOURCE_TYPE_JD) - || oldCommonOrder.getState() == CommonOrder.STATE_SX - || oldCommonOrder.getState() == CommonOrder.STATE_WQ - || (oldCommonOrder.getState().intValue() == commonOrder.getState())) { + + if (!needUpdateCommonOrder(oldCommonOrder, commonOrder)) { return new CommonOrderAddResultDTO(oldCommonOrder, CommonOrderAddResultDTO.TYPE_NOUPDATE); } // 浜ゆ槗ID涓�鑷存墠淇敼 @@ -1745,6 +1823,7 @@ } catch (Exception e) { e.printStackTrace(); } + commonGoodsVO.setPlaceOrderTime(TimeUtil.getGernalTime(commonOrder.getThirdCreateTime().getTime(), "yyyy.MM.dd HH:mm")); String picture = commonGoodsVO.getPicture(); if (!StringUtil.isNullOrEmpty(picture) && !picture.contains("320x320")) { @@ -1771,6 +1850,10 @@ if (totalSettlement == null || totalSettlement.compareTo(new BigDecimal(0)) <= 0) { totalSettlement = commonOrder.getTotalPayment(); } + if (totalSettlement == null || totalSettlement.compareTo(new BigDecimal(0)) <= 0) + commonGoodsVO.setPayState("鏈粯娆�/宸查��娆�"); + else + commonGoodsVO.setPayState("宸蹭粯娆�"); // 瀹炰粯娆� commonGoodsVO.setActualPay("浠樻閲戦锛毬�" + totalSettlement); @@ -1794,7 +1877,7 @@ } @Override - public JSONObject getRewardJumpInfo(String orderNo, Integer goodsType) { + public JSONObject getRewardJumpInfo(String orderNo, Integer goodsType, SystemEnum system) { JSONObject map = new JSONObject(); // 璁㈠崟鏍囪瘑 @@ -1816,7 +1899,7 @@ Map<String, Object> jump = new HashMap<String, Object>(); jump.put("type", 1); jump.put("params", jumpLink); - jump.put("jumpDetail", jumpDetailV2Service.getByTypeCache("rewardCouponDetail")); + jump.put("jumpDetail", jumpDetailV2Service.getByTypeCache("rewardCouponDetail", system)); Map<String, Object> rewardMap = new HashMap<String, Object>(); rewardMap.put("text", rewardStyleVO); @@ -1873,7 +1956,13 @@ @Override public List<CommonOrder> getByOrderNo(Long uid, String orderNO) { - return commonOrderMapper.getByOrderNo(uid, orderNO); + if(uid!=null) { + return commonOrderMapper.getByOrderNo(uid, orderNO); + }else{ + CommonOrderMapper.DaoQuery daoQuery=new CommonOrderMapper.DaoQuery(); + daoQuery.orderId = orderNO; + return commonOrderMapper.list(daoQuery,0,100); + } } @@ -2110,6 +2199,7 @@ if (commonGoodsVO.getGoodsType() == null) { commonGoodsVO.setGoodsType(sourceType); } + commonGoodsVO.setPlaceOrderTime(TimeUtil.getGernalTime(order.getThirdCreateTime().getTime(), "yyyy.MM.dd HH:mm")); // 娣樺疂鍟嗗搧鍥剧墖澶勭悊 String picture = commonGoodsVO.getPicture(); @@ -2126,6 +2216,11 @@ if (totalSettlement == null || totalSettlement.compareTo(new BigDecimal(0)) <= 0) { totalSettlement = commonOrder.getTotalPayment(); } + if (totalSettlement == null || totalSettlement.compareTo(new BigDecimal(0)) <= 0) + commonGoodsVO.setPayState("鏈粯娆�/宸查��娆�"); + else + commonGoodsVO.setPayState("宸蹭粯娆�"); + commonGoodsVO.setActualPay("浠樻閲戦锛毬�" + totalSettlement); // 閭�璇疯鍗曚俊鎭繚鎶� @@ -2431,4 +2526,15 @@ return commonOrderMapper.listByGoodsIdAndUidAndMinThirdCreateTime(goodsId, uid, minThirdCreateTime, 0, 1000); } + @Override + public List<CommonOrder> listPayStateOrder(Integer sourceType, Date minThirdCreateTime, Date maxThirdCreateTime,int page,int pageSize) { + CommonOrderMapper.DaoQuery daoQuery = new CommonOrderMapper.DaoQuery(); + daoQuery.minThirdCreateTime = minThirdCreateTime; + daoQuery.maxThirdCreateTime = maxThirdCreateTime; + daoQuery.state = CommonOrder.STATE_FK; + daoQuery.sourceType = sourceType; + daoQuery.sortList = Arrays.asList(new String[]{"co_third_create_time ASC"}); + return commonOrderMapper.list(daoQuery, (page-1)*pageSize, pageSize); + } + } -- Gitblit v1.8.0