fanli/src/main/java/com/yeshi/fanli/controller/client/v2/GoodsControllerV2.java
@@ -1342,6 +1342,7 @@ PDDPromotionUrl convertUrl = PinDuoDuoApiUtil.convert(id, PinDuoDuoApiUtil.PID_FANLI + "", uid + ""); JSONObject data = new JSONObject(); data.put("native", true); data.put("jumpLink", convertUrl.getUrl()); data.put("nativeJumpLink", PinDuoDuoUtil.getAndroidNativeURI(convertUrl.getUrl())); out.print(JsonUtil.loadTrueResult(data)); fanli/src/main/java/com/yeshi/fanli/job/order/jd/UpdateJDOrderJob.java
@@ -9,6 +9,8 @@ import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import com.xxl.job.core.biz.model.ReturnT; import com.xxl.job.core.handler.annotation.XxlJob; import com.yeshi.fanli.dto.jd.JDOrderResult; import com.yeshi.fanli.entity.jd.JDOrder; import com.yeshi.fanli.exception.jd.JDOrderException; @@ -70,10 +72,9 @@ /** * 快速订单更新(爬取本小时内的单,每分钟一次) */ @Scheduled(cron = "0 0/1 * * * ? ") public void updateSoonOrder() { if (!Constant.IS_TASK) return; @XxlJob("updateJDSoonOrderHandler") public ReturnT<String> startPreDividents(String param) throws Exception { LogHelper.job("开始爬取京东订单"); long now = System.currentTimeMillis(); @@ -84,6 +85,8 @@ result = JDApiUtil.getOrderList(1, 200, new Date(now - 1000 * 60 * 60L), JDApiUtil.ORDER_TYPE_CREATETIME); if (result != null && result.getOrderList() != null) saveJDOrders(result.getOrderList()); return ReturnT.SUCCESS; } /** fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java
@@ -22,6 +22,7 @@ import com.yeshi.fanli.dao.mybatis.order.CommonOrderGoodsMapper; import com.yeshi.fanli.dao.mybatis.order.CommonOrderMapper; import com.yeshi.fanli.dao.mybatis.order.CommonOrderTradeIdMapMapper; import com.yeshi.fanli.dao.mybatis.taobao.TaoBaoOrderGoodsMapper; import com.yeshi.fanli.dao.mybatis.taobao.TaoBaoWeiQuanOrderMapper; import com.yeshi.fanli.dto.mq.order.OrderTopicTagEnum; import com.yeshi.fanli.dto.mq.order.body.OrderConfirmMQMsg; @@ -48,6 +49,7 @@ import com.yeshi.fanli.entity.system.SystemCoupon.CouponTypeEnum; import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; import com.yeshi.fanli.entity.taobao.TaoBaoOrder; import com.yeshi.fanli.entity.taobao.TaoBaoOrderGoods; import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder; import com.yeshi.fanli.exception.order.CommonOrderException; import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException; @@ -135,7 +137,7 @@ @Resource private InviteOrderSubsidyService inviteOrderSubsidyService; @Resource private InviteOrderSubsidyDebtService inviteOrderSubsidyDebtService; @@ -150,6 +152,9 @@ @Resource private UserLevelManager userLevelManager; @Resource private TaoBaoOrderGoodsMapper taoBaoOrderGoodsMapper; @Resource(name = "producer") private Producer orderProducer; @@ -320,7 +325,7 @@ // 当前用户是否VIP boolean vip = userInviteService.verifyVIP(uid); // 是否存在奖励券 boolean hasRewardCoupon = userSystemCouponService.getValidRebateCoupon(uid); for (CommonOrderVO order : listOrder) { @@ -874,7 +879,6 @@ return commonOrderMapper.countUserOrderToApp(uid, type, startTime, endTime, day, source, state, stateOrder); } @Override public BigDecimal getWeiQuanMoney(List<TaoBaoWeiQuanOrder> listWQ, int sourceType, Long uid) { BigDecimal weiQuanMoney = new BigDecimal(0); @@ -936,8 +940,14 @@ if ("饿了么".equalsIgnoreCase(taoBaoOrder.getOrderType())) { cog.setGoodsId(taoBaoOrder.getTradeId() + ""); cog.setGoodsType(Constant.SOURCE_TYPE_ELME); cog.setPicture("http://img.flqapp.com/resource/goods/elme_picture_demo.png"); cog.setTitle(taoBaoOrder.getTitle()); TaoBaoOrderGoods goods = taoBaoOrderGoodsMapper.selectByTradeId(taoBaoOrder.getTradeId()); if (goods == null) { cog.setPicture("http://img.flqapp.com/resource/goods/elme_picture_demo.png"); cog.setTitle(taoBaoOrder.getTitle()); } else { cog.setPicture(goods.getImg()); cog.setTitle(goods.getTitle()); } newCommonOrder.setCommonOrderGoods(cog); } else { cog.setGoodsId(taoBaoOrder.getAuctionId() + ""); @@ -1794,7 +1804,6 @@ return listVO; } @Override public Date getThirdCreateTime(String orderId, int sourceType) { List<CommonOrder> list = listBySourceTypeAndOrderId(sourceType, orderId); @@ -1803,7 +1812,6 @@ return list.get(0).getThirdCreateTime(); } @Override public List<CommonOrderVO> getOrderList(AcceptData acceptData, Integer page, Long uid, Integer state, Integer type, Integer orderState, String orderNo, String startTime, String endTime, Integer dateType, @@ -1837,9 +1845,7 @@ return commonOrderMapper.countOrderList(uid, state, type, orderState, orderNo, startTime, endTime, dateType, listSource); } /** * 订单信息加工 * @@ -1865,7 +1871,7 @@ } } } Integer sourceType = order.getSourceType(); if (sourceType == null) { continue; @@ -1892,7 +1898,6 @@ if (listPDD.size() > 0) { listRecordPDD = userSystemCouponRecordService.getRecordByOrderNoList(Constant.SOURCE_TYPE_PDD, listPDD); } SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd HH:mm"); SimpleDateFormat formatday = new SimpleDateFormat("yyyy.MM.dd"); @@ -1984,7 +1989,6 @@ order.setReceiveTime("收货时间:" + format.format(settleTime)); } Map<String, String> orderStateMap = new HashMap<String, String>(); // 订单状态 Integer orderState = order.getState(); @@ -1997,21 +2001,21 @@ orderState = buFenOrder.getState(); } } // 显示返利说明连接> 未失效 if (CommonOrder.STATE_SX != orderState && thirdCreateTime.getTime() > TimeUtil.convertDateToTemp(Constant.ORDER_SHOW_BRACE_TIME)) { String rebateLink = configService.get(ConfigKeyEnum.orderRebateDescLink.getKey()); order.setRebateLink(rebateLink + "?orderNo=" + orderNo + "&sourceType=" + sourceType); } // 红包信息 List<HongBaoOrder> hongBaoOrderList = hongBaoOrderService.listDetailByOrderIdAndSourceTypeAndUid(orderNo, sourceType, uid); List<HongBaoOrder> hongBaoOrderList = hongBaoOrderService.listDetailByOrderIdAndSourceTypeAndUid(orderNo, sourceType, uid); HongBaoCountVO hongBaoCountVO = hongBaoOrderService.getHongBaoCountVO(hongBaoOrderList); BigDecimal hongBao = hongBaoCountVO.getValidMoney(); Integer hongBaoState = hongBaoCountVO.getCurrentState(); /* 订单状态 转换处理 */ String orderStateContent = ""; if (CommonOrder.STATE_FK == orderState) { @@ -2024,7 +2028,8 @@ orderStateContent = "已售后"; if (sourceType == Constant.SOURCE_TYPE_TAOBAO) { /* 订单维权 判断是否全部维权 */ List<TaoBaoWeiQuanOrder> listWQ = taoBaoWeiQuanOrderMapper.selectListByOrderIdAndState(order.getOrderNo(), "维权成功"); List<TaoBaoWeiQuanOrder> listWQ = taoBaoWeiQuanOrderMapper .selectListByOrderIdAndState(order.getOrderNo(), "维权成功"); BigDecimal weiQuanMoney = getWeiQuanMoney(listWQ, sourceType, uid); hongBao = MoneyBigDecimalUtil.sub(hongBao, weiQuanMoney); } @@ -2043,9 +2048,9 @@ order.setOrderOrigin("1"); order.setHongBaoTypePic(CommonOrder.TYPE_FANLI); signList.add(CommonOrder.TYPE_FANLI); // 是否已使用奖励券、免单券情况 if (sourceType == Constant.SOURCE_TYPE_TAOBAO) { if (sourceType == Constant.SOURCE_TYPE_TAOBAO) { couponUseFactory(order, listRecordTB); } else if (sourceType == Constant.SOURCE_TYPE_JD) { couponUseFactory(order, listRecordJD); @@ -2067,22 +2072,24 @@ order.setOrderOrigin("3"); order.setHongBaoTypePic(CommonOrder.TYPE_INVITE); signList.add(CommonOrder.TYPE_INVITE); // 红包加上补贴金额 InviteOrderSubsidy orderSubsidy = inviteOrderSubsidyService.getByOrderNoAndType(uid, orderNo, sourceType); InviteOrderSubsidy orderSubsidy = inviteOrderSubsidyService.getByOrderNoAndType(uid, orderNo, sourceType); if (orderSubsidy != null && orderSubsidy.getMoney() != null) { BigDecimal subsidyMoney = orderSubsidy.getMoney(); // 维权金额 InviteOrderSubsidyDebt subsidyDebt = inviteOrderSubsidyDebtService.getBySourceId(orderSubsidy.getId()); InviteOrderSubsidyDebt subsidyDebt = inviteOrderSubsidyDebtService .getBySourceId(orderSubsidy.getId()); if (subsidyDebt != null && subsidyDebt.getOriginMoney() != null) { subsidyMoney = subsidyMoney.subtract(subsidyDebt.getOriginMoney()); } // 最终补贴 } // 最终补贴 if (subsidyMoney.compareTo(new BigDecimal(0)) > 0) { hongBao = hongBao.add(subsidyMoney); } } } } order.setSignList(signList); String hongBaoDate = null; @@ -2125,15 +2132,16 @@ stateMap.put("fontColor", stateFontColor); order.setAccountState(stateMap); hongbaoInfo = hongBaoState_Str + hongbaoInfo; Map<String, String> hongBaoMap = new HashMap<String, String>(); hongBaoMap.put("content", hongbaoInfo + " ¥" + hongBao.setScale(2, BigDecimal.ROUND_DOWN).toString()); hongBaoMap.put("fontColor", hongbaoInfoFontColor); order.setHongBaoInfo(hongBaoMap); // 分享、邀请 隐藏订单号 if (HongBaoV2.TYPE_YAOQING == hongBaoType || HongBaoV2.TYPE_YIJI == hongBaoType || HongBaoV2.TYPE_ERJI == hongBaoType || HongBaoV2.TYPE_SHARE_YIJI == hongBaoType || HongBaoV2.TYPE_SHARE_ERJI == hongBaoType) { if (HongBaoV2.TYPE_YAOQING == hongBaoType || HongBaoV2.TYPE_YIJI == hongBaoType || HongBaoV2.TYPE_ERJI == hongBaoType || HongBaoV2.TYPE_SHARE_YIJI == hongBaoType || HongBaoV2.TYPE_SHARE_ERJI == hongBaoType) { order.setOrderNo(UserUtil.filterOrderId(order.getOrderNo())); } } @@ -2170,7 +2178,7 @@ text = "免单中"; } else if (UserSystemCouponRecord.STATE_SUCCESS == state) { text = "免单成功"; } } } break; } fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java
@@ -39,6 +39,7 @@ import com.yeshi.fanli.entity.bus.user.Order; import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo; import com.yeshi.fanli.entity.bus.user.UserInfo; import com.yeshi.fanli.entity.bus.user.UserSystemCoupon; import com.yeshi.fanli.entity.elme.ElmeHongBaoOrderMap; import com.yeshi.fanli.entity.elme.ElmeOrder; import com.yeshi.fanli.entity.jd.JDOrder; @@ -1260,8 +1261,8 @@ hongBaoV2Service.updateByPrimaryKeySelective(update); } // TODO 商家关店跑路需要赠送金币 // userSystemCouponService.systemGiveRewardCoupon(uid, 1, orderId, // sourceType, "因商家违约未能结算返利或商家已经关店"); // userSystemCouponService.rewardCouponWin(uid, // UserSystemCoupon.SOURCE_SYSTEM_PUSH, 1, true, new BigDecimal("31")); } @Transactional fanli/src/main/java/com/yeshi/fanli/service/impl/order/tb/TaoBaoOrderServiceImpl.java
@@ -177,6 +177,7 @@ // 提交事务 transactionManager.commit(transactionStatus); } catch (Exception e) { e.printStackTrace(); transactionManager.rollback(transactionStatus); } } fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeOrderApiUtil.java
@@ -102,117 +102,6 @@ return resultList; } private static List<TaoBaoOrder> parseTaoBaoOrder(String response) { List<TaoBaoOrder> orderList = new ArrayList<>(); JSONObject data = JSONObject.fromObject(response); if (data.optJSONObject("tbk_order_get_response") == null) return orderList; if (data.optJSONObject("tbk_order_get_response").optJSONObject("results") == null) return orderList; if (data.optJSONObject("tbk_order_get_response").optJSONObject("results").optJSONArray("n_tbk_order") == null) return orderList; JSONArray array = data.optJSONObject("tbk_order_get_response").optJSONObject("results") .optJSONArray("n_tbk_order"); for (int i = 0; i < array.size(); i++) { JSONObject item = array.optJSONObject(i); try { TaoBaoOrder taoBaoOrder = new TaoBaoOrder(); taoBaoOrder.setAdPositionId(item.optString("adzone_id")); taoBaoOrder.setAdPositionName(item.optString("adzone_name")); taoBaoOrder.setAuctionId(item.optLong("num_iid")); taoBaoOrder.setClassName(item.optString("auction_category")); taoBaoOrder.setClickTime(item.optString("click_time")); taoBaoOrder.setCount(item.optInt("item_num")); taoBaoOrder.setCreateTime(item.optString("create_time")); if (!StringUtil.isNullOrEmpty(item.optString("total_commission_fee"))) taoBaoOrder.seteIncome(new BigDecimal(item.optString("total_commission_fee"))); else taoBaoOrder.seteIncome(new BigDecimal(0)); if (!StringUtil.isNullOrEmpty(item.optString("pub_share_pre_fee"))) taoBaoOrder.setEstimate(new BigDecimal(item.optString("pub_share_pre_fee"))); else taoBaoOrder.setEstimate(new BigDecimal(0)); taoBaoOrder.setiRatio(new BigDecimal(item.optString("income_rate")).multiply(new BigDecimal(100))); taoBaoOrder.setLatestUpdateTime(null); taoBaoOrder.setManagerWangWang(null); taoBaoOrder.setOrderBy(null); taoBaoOrder.setOrderId(item.optString("trade_parent_id")); if (item.optInt("tk_status") == 12) taoBaoOrder.setOrderState("订单付款"); else if (item.optInt("tk_status") == 3) taoBaoOrder.setOrderState("订单结算"); else if (item.optInt("tk_status") == 13) taoBaoOrder.setOrderState("订单失效"); else if (item.optInt("tk_status") == 14) taoBaoOrder.setOrderState("订单成功"); taoBaoOrder.setOrderType(item.optString("order_type")); if (!StringUtil.isNullOrEmpty(item.optString("alipay_total_price"))) taoBaoOrder.setPayment(new BigDecimal(item.optString("alipay_total_price"))); else taoBaoOrder.setPayment(new BigDecimal(0)); taoBaoOrder.setPrice(new BigDecimal(item.optString("price"))); if (!StringUtil.isNullOrEmpty(item.optString("pay_price"))) taoBaoOrder.setSettlement(new BigDecimal(item.optString("pay_price"))); else taoBaoOrder.setSettlement(new BigDecimal(0)); taoBaoOrder.setSettlementTime(item.optString("earning_time")); taoBaoOrder.setShop(item.optString("seller_shop_title")); taoBaoOrder.setSourceMediaId(item.optString("site_id")); taoBaoOrder.setSourceMediaName(item.optString("site_name")); taoBaoOrder.setsRatio(null); if (!StringUtil.isNullOrEmpty(item.optString("subsidy_fee")))// 补贴金额 taoBaoOrder.setSubsidy(new BigDecimal(item.optString("subsidy_fee"))); if (!StringUtil.isNullOrEmpty(item.optString("subsidy_rate"))) taoBaoOrder.setSubsidyRatio( new BigDecimal(item.optString("subsidy_rate")).multiply(new BigDecimal(100))); taoBaoOrder.setSubsidyType(item.optString("subsidy_type")); taoBaoOrder.setTechnologySupportPercent(null); taoBaoOrder.setThirdService(null); taoBaoOrder.setTitle(item.optString("item_title")); if (!StringUtil.isNullOrEmpty(item.optString("total_commission_fee"))) taoBaoOrder.setTkMoney(new BigDecimal(item.optString("total_commission_fee"))); else taoBaoOrder.setTkMoney(new BigDecimal(0)); if (!StringUtil.isNullOrEmpty(item.optString("commission_rate"))) taoBaoOrder .setTkRate(new BigDecimal(item.optString("commission_rate")).multiply(new BigDecimal(100))); else if (!StringUtil.isNullOrEmpty(item.optString("total_commission_rate"))) taoBaoOrder.setTkRate( new BigDecimal(item.optString("total_commission_rate")).multiply(new BigDecimal(100))); taoBaoOrder.setTransactionPlatform(item.optString("terminal_type")); taoBaoOrder.setRelationId(item.optString("relation_id")); taoBaoOrder.setSpecialId(item.optString("special_id")); taoBaoOrder.setTradeId(item.optString("trade_id")); // 解析商品信息 TaoBaoOrderGoods goods = new TaoBaoOrderGoods(); goods.setCategoryName(item.optString("item_category_name")); goods.setCreateTime(new Date()); goods.setGoodsId(item.optLong("item_id")); goods.setImg(item.optString("item_img")); goods.setLink(item.optString("item_link")); goods.setPrice(item.optString("item_price")); goods.setTitle(item.optString("item_title")); goods.setTradeId(item.optString("trade_id")); taoBaoOrder.setGoods(goods); orderList.add(taoBaoOrder); } catch (Exception e) { try { LogHelper.errorDetailInfo(e, "订单号信息:" + item.toString(), "订单解析出错"); } catch (Exception e1) { } } } return orderList; } private static TaoBaoOrderResultDTO parseTaoBaoOrderNew(String response) { TaoBaoOrderResultDTO dto = new TaoBaoOrderResultDTO(false, false, null, new ArrayList<>()); @@ -305,6 +194,18 @@ taoBaoOrder.setRelationId(item.optString("relation_id")); taoBaoOrder.setSpecialId(item.optString("special_id")); taoBaoOrder.setTradeId(item.optString("trade_id")); // 解析商品信息 TaoBaoOrderGoods goods = new TaoBaoOrderGoods(); goods.setCategoryName(item.optString("item_category_name")); goods.setCreateTime(new Date()); goods.setGoodsId(item.optLong("item_id")); goods.setImg(item.optString("item_img")); goods.setLink(item.optString("item_link")); goods.setPrice(item.optString("item_price")); goods.setTitle(item.optString("item_title")); goods.setTradeId(item.optString("trade_id")); taoBaoOrder.setGoods(goods); orderList.add(taoBaoOrder); } catch (Exception e) { try {