From 3340ed122e19e3943ce4f93eb52103b623a3fc2c Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 27 四月 2022 15:43:58 +0800 Subject: [PATCH] 订单消息bug修改 --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java | 73 ++++++++++++++++++++++++++---------- 1 files changed, 52 insertions(+), 21 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 8f6c41d..7486813 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 @@ -368,7 +368,7 @@ CommonOrderGoodsVO commonGoodsVO = new CommonOrderGoodsVO(); PropertyUtils.copyProperties(commonGoodsVO, goods); commonGoodsVO.setGoodsType(sourceType); - commonGoodsVO.setPlaceOrderTime(TimeUtil.getGernalTime(order.getThirdCreateTime().getTime(),"yyyy.MM.dd HH:mm")); + commonGoodsVO.setPlaceOrderTime(TimeUtil.getGernalTime(order.getThirdCreateTime().getTime(), "yyyy.MM.dd HH:mm")); // 娣樺疂鍟嗗搧鍥剧墖澶勭悊 @@ -386,7 +386,7 @@ if (totalSettlement == null || totalSettlement.compareTo(new BigDecimal(0)) <= 0) { totalSettlement = commonOrder.getTotalPayment(); } - if (totalSettlement== null || totalSettlement.compareTo(new BigDecimal(0)) <= 0) + if (totalSettlement == null || totalSettlement.compareTo(new BigDecimal(0)) <= 0) commonGoodsVO.setPayState("鏈粯娆�/宸查��娆�"); else commonGoodsVO.setPayState("宸蹭粯娆�"); @@ -728,7 +728,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); @@ -757,7 +757,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); } @@ -782,7 +782,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(); @@ -797,7 +797,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); @@ -807,7 +807,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(); @@ -882,7 +882,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); } @@ -1300,7 +1300,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); } @@ -1315,6 +1315,30 @@ } 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; } /** @@ -1378,12 +1402,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()&&oldCommonOrder.getPayment().compareTo(commonOrder.getPayment())==0)) { + + if (!needUpdateCommonOrder(oldCommonOrder, commonOrder)) { return new CommonOrderAddResultDTO(oldCommonOrder, CommonOrderAddResultDTO.TYPE_NOUPDATE); } // 浜ゆ槗ID涓�鑷存墠淇敼 @@ -1752,7 +1772,7 @@ } catch (Exception e) { e.printStackTrace(); } - commonGoodsVO.setPlaceOrderTime(TimeUtil.getGernalTime(commonOrder.getThirdCreateTime().getTime(),"yyyy.MM.dd HH:mm")); + commonGoodsVO.setPlaceOrderTime(TimeUtil.getGernalTime(commonOrder.getThirdCreateTime().getTime(), "yyyy.MM.dd HH:mm")); String picture = commonGoodsVO.getPicture(); if (!StringUtil.isNullOrEmpty(picture) && !picture.contains("320x320")) { @@ -1779,7 +1799,7 @@ if (totalSettlement == null || totalSettlement.compareTo(new BigDecimal(0)) <= 0) { totalSettlement = commonOrder.getTotalPayment(); } - if (totalSettlement== null || totalSettlement.compareTo(new BigDecimal(0)) <= 0) + if (totalSettlement == null || totalSettlement.compareTo(new BigDecimal(0)) <= 0) commonGoodsVO.setPayState("鏈粯娆�/宸查��娆�"); else commonGoodsVO.setPayState("宸蹭粯娆�"); @@ -1806,7 +1826,7 @@ } @Override - public JSONObject getRewardJumpInfo(String orderNo, Integer goodsType) { + public JSONObject getRewardJumpInfo(String orderNo, Integer goodsType, SystemEnum system) { JSONObject map = new JSONObject(); // 璁㈠崟鏍囪瘑 @@ -1828,7 +1848,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); @@ -2122,7 +2142,7 @@ if (commonGoodsVO.getGoodsType() == null) { commonGoodsVO.setGoodsType(sourceType); } - commonGoodsVO.setPlaceOrderTime(TimeUtil.getGernalTime(order.getThirdCreateTime().getTime(),"yyyy.MM.dd HH:mm")); + commonGoodsVO.setPlaceOrderTime(TimeUtil.getGernalTime(order.getThirdCreateTime().getTime(), "yyyy.MM.dd HH:mm")); // 娣樺疂鍟嗗搧鍥剧墖澶勭悊 String picture = commonGoodsVO.getPicture(); @@ -2139,7 +2159,7 @@ if (totalSettlement == null || totalSettlement.compareTo(new BigDecimal(0)) <= 0) { totalSettlement = commonOrder.getTotalPayment(); } - if (totalSettlement== null || totalSettlement.compareTo(new BigDecimal(0)) <= 0) + if (totalSettlement == null || totalSettlement.compareTo(new BigDecimal(0)) <= 0) commonGoodsVO.setPayState("鏈粯娆�/宸查��娆�"); else commonGoodsVO.setPayState("宸蹭粯娆�"); @@ -2449,4 +2469,15 @@ return commonOrderMapper.listByGoodsIdAndUidAndMinThirdCreateTime(goodsId, uid, minThirdCreateTime, 0, 1000); } + @Override + public List<CommonOrder> listPayStateOrder(int sourceType, Date minThirdCreateTime, Date maxThirdCreateTime) { + 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, 0, 200); + } + } -- Gitblit v1.8.0