fanli/src/main/java/com/yeshi/fanli/controller/client/UserAuthController.java
@@ -78,8 +78,7 @@ String link = TaoBaoUtil.getTaoBaoUnionAuthUrl(TaoBaoConstant.TAOBAO_AUTH_APPKEY, "http://api.flqapp.com/fanli/client/v1/auth/callback/tb", uid, source); String orderJS = "var orderId= document.getElementById('tp-bought-root').getElementsByClassName('js-order-container')[0].getElementsByTagName('div')[0].getAttribute('data-id');"; orderJS += "if(/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {window.location.href='yestv://taobaoorder#'+orderId;} else {window.handle.showOrder(orderId)}"; String orderJS=configService.get("taobao_order_parse_js"); JSONObject data = new JSONObject(); data.put("authLink", link); try { fanli/src/main/java/com/yeshi/fanli/controller/h5/H5RecommendController.java
@@ -40,6 +40,7 @@ import com.yeshi.fanli.service.inter.user.UserShareGoodsGroupService; import com.yeshi.fanli.util.AESUtil; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.MoneyBigDecimalUtil; import com.yeshi.fanli.util.RedisManager; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.ThreadUtil; @@ -276,13 +277,24 @@ goods.setImgList(new ArrayList<>()); goods.getImgList().add(0, TbImgUtil.getTBSizeImg(goods.getPictUrl(), 300)); data.put("imgs", goods.getImgList()); data.put("couponPrice", afterCouponPrice); // 老版本兼容 data.put("quanPrice", afterCouponPrice); data.put("zkPrice", goods.getZkPrice()); data.put("shareContent", "长按复制本段文字,打开【手机淘宝】即可领取【特别优惠券】购买下单,"); data.put("token", link.getTaoToken()); data.put("quan", !StringUtil.isNullOrEmpty(goods.getCouponInfo())); data.put("reservePrice", goods.getReservePrice()); data.put("shopType", goods.getUserType() == 1 ? 2 : 1); if (!StringUtil.isNullOrEmpty(goods.getCouponInfo()) && !"无".equalsIgnoreCase(goods.getCouponInfo())) { data.put("couponAmount", MoneyBigDecimalUtil.getWithNoZera(goods.getCouponAmount())); data.put("coupon", true); // 老版本兼容 data.put("quan", true); } else { data.put("coupon", false); // 老版本兼容 data.put("quan", true); } out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data))); final String tempUid = uid; fanli/src/main/java/com/yeshi/fanli/dto/jd/JDSearchFilter.java
New file @@ -0,0 +1,9 @@ package com.yeshi.fanli.dto.jd; public class JDSearchFilter { Integer isZY;// 是否为自营 1-自营 Integer hasCoupon;// 是否有券 1-有券 Integer categoryId;// 分类ID int pageNo;// 页码 int pageSize;// 每页的数量 } fanli/src/main/java/com/yeshi/fanli/entity/jd/JDGoods.java
New file @@ -0,0 +1,5 @@ package com.yeshi.fanli.entity.jd; public class JDGoods { } fanli/src/main/java/com/yeshi/fanli/service/impl/goods/ShareGoodsTextTemplateServiceImpl.java
@@ -5,6 +5,7 @@ import javax.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.yeshi.utils.HttpUtil; import com.yeshi.fanli.dao.mybatis.goods.ShareGoodsTextTemplateMapper; @@ -62,6 +63,7 @@ return null; } @Transactional @Override public void saveCouponTemplate(Long uid, String template) throws ShareGoodsTextTemplateException { isCouponTemplateRight(template); fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/HongBaoV2ServiceImpl.java
@@ -175,7 +175,6 @@ if (hasAdd) { Iterator<Integer> its = notificationMap.keySet().iterator(); while (its.hasNext()) { Integer t = its.next(); HongBaoV2 notify = notificationMap.get(t).getHongBaoV2(); CommonOrder commonOrder = notificationMap.get(t).getCommonOrder(); @@ -206,6 +205,11 @@ MsgOrderDetail.STATE_FK, null, money); userOrderMsgNotificationService.orderInviteStatistic(uid, orderId, commonOrder.getPayment(), money, goodsCount, state); break; case HongBaoV2.TYPE_SHARE_YIJI: userOrderMsgNotificationService.orderShareFirstLevelStatistic(uid, orderId, commonOrder.getPayment(), money, goodsCount, state, notify.getBeizhu()); break; } } @@ -239,6 +243,9 @@ userOrderMsgNotificationService.orderInviteStateChanged(uid, orderId, commonOrder.getPayment(), money, state); break; case HongBaoV2.TYPE_SHARE_YIJI: userOrderMsgNotificationService.orderShareFirstLevelStateChanged(uid, orderId, commonOrder.getPayment(), money, state); } } } @@ -548,17 +555,20 @@ childUpdate.setUpdateTime(new Date()); BigDecimal rate = null; if (child.getType() == HongBaoV2.TYPE_SHARE_YIJI) {// 一级分享赚 rate = hongBaoManageService.getFirstShareRate(child.getUrank(), commonOrder.getCreateTime().getTime()); rate = hongBaoManageService.getFirstShareRate(1, commonOrder.getCreateTime().getTime()); } else if (child.getType() == HongBaoV2.TYPE_SHARE_ERJI) {// 二级分享赚 rate = hongBaoManageService.getSecondShareRate(child.getUrank(), commonOrder.getCreateTime().getTime()); rate = hongBaoManageService.getSecondShareRate(1, commonOrder.getCreateTime().getTime()); } // 以实际收入为准计算预估收益 if (CommonOrder.STATE_JS == commonOrder.getState()) { childUpdate.setMoney( MoneyBigDecimalUtil.mul(hongBao.getMoney(), rate.divide(new BigDecimal(100)))); if (commonOrder.getThirdCreateTime().getTime() > TimeUtil.convertToTimeTemp("2019-04-16", "yyyy-MM-dd")) childUpdate.setMoney(MoneyBigDecimalUtil.mul(commonOrder.geteIncome(), rate.divide(new BigDecimal(100)))); Calendar calendar = Calendar.getInstance(); calendar.setTime(commonOrder.getSettleTime()); calendar.add(Calendar.MONTH, 1); @@ -566,13 +576,34 @@ calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1) + "-25", "yyyy-M-dd"))); } else if (CommonOrder.STATE_FK == commonOrder.getState()) { if (commonOrder.getOrderNo().equalsIgnoreCase("314134177659155087")) System.out.println(""); childUpdate.setMoney( MoneyBigDecimalUtil.mul(hongBao.getMoney(), rate.divide(new BigDecimal(100)))); if (commonOrder.getThirdCreateTime().getTime() > TimeUtil.convertToTimeTemp("2019-04-16", "yyyy-MM-dd")) childUpdate.setMoney(MoneyBigDecimalUtil.mul(commonOrder.getEstimate(), rate.divide(new BigDecimal(100)))); else childUpdate.setMoney( MoneyBigDecimalUtil.mul(hongBao.getMoney(), rate.divide(new BigDecimal(100)))); } hongBaoV2Mapper.updateByPrimaryKeySelective(childUpdate); // 添加通知 if (notificationMap.get(child.getType()) == null) { HongBaoV2 tempHongBao = new HongBaoV2(child.getId()); tempHongBao.setUserInfo(child.getUserInfo()); tempHongBao.setMoney(childUpdate.getMoney()); CommonOrder tempCommonOrder = new CommonOrder(commonOrder.getId()); tempCommonOrder.setPayment(commonOrder.getPayment()); notificationMap.put(child.getType(), new HongBaoOrder(tempCommonOrder, tempHongBao)); } else { // 增加付款金额与资金 HongBaoOrder tempHongBaoOrder = notificationMap.get(child.getType()); tempHongBaoOrder.getCommonOrder().setPayment( tempHongBaoOrder.getCommonOrder().getPayment().add(commonOrder.getPayment())); tempHongBaoOrder.getHongBaoV2() .setMoney(tempHongBaoOrder.getHongBaoV2().getMoney().add(childUpdate.getMoney())); notificationMap.put(child.getType(), tempHongBaoOrder); } } } else throw new HongBaoException(2, "type错误"); @@ -802,7 +833,6 @@ } } } } HongBaoV2 hongBao = new HongBaoV2(); @@ -851,6 +881,56 @@ notificationMap.put(type, tempHongBaoOrder); } // 4月17日后才有一级分享赚 if (commonOrder.getThirdCreateTime().getTime() > TimeUtil.convertToTimeTemp("2019-04-17", "yyyy-MM-dd")) { UserInfo boss = threeSaleSerivce.getBoss(hongBao.getUserInfo().getId()); if (boss != null) { BigDecimal firstLevelRate = hongBaoManageService.getFirstShareRate(1, commonOrder.getThirdCreateTime().getTime()); HongBaoV2 child = new HongBaoV2(); child.setParent(hongBao); child.setType(HongBaoV2.TYPE_SHARE_YIJI); if (commonOrder.getState() == CommonOrder.STATE_FK) { child.setState(HongBaoV2.STATE_BUKELINGQU); child.setMoney(MoneyBigDecimalUtil.mul(commonOrder.getEstimate(), firstLevelRate.divide(new BigDecimal(100)))); } else if (commonOrder.getState() == CommonOrder.STATE_JS) { child.setState(HongBaoV2.STATE_KELINGQU); child.setMoney(MoneyBigDecimalUtil.mul(commonOrder.geteIncome(), firstLevelRate.divide(new BigDecimal(100)))); Calendar calendar = Calendar.getInstance(); calendar.setTime(commonOrder.getSettleTime()); calendar.add(Calendar.MONTH, 1); child.setPreGetTime(new Date(TimeUtil.convertToTimeTemp( calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1) + "-25", "yyyy-M-dd"))); } child.setUserInfo(boss); child.setUrank(boss.getRank()); child.setVersion(2); child.setCreateTime(new Date()); hongBaoV2Mapper.insertSelective(child); // 添加通知 if (notificationMap.get(HongBaoV2.TYPE_SHARE_YIJI) == null) { HongBaoV2 tempHongBao = new HongBaoV2(child.getId()); tempHongBao.setUserInfo(child.getUserInfo()); tempHongBao.setMoney(child.getMoney()); tempHongBao.setBeizhu(hongBao.getUserInfo().getNickName()); CommonOrder tempCommonOrder = new CommonOrder(commonOrder.getId()); tempCommonOrder.setPayment(commonOrder.getPayment()); notificationMap.put(HongBaoV2.TYPE_SHARE_YIJI, new HongBaoOrder(tempCommonOrder, tempHongBao)); } else { // 增加付款金额与资金 HongBaoOrder tempHongBaoOrder = notificationMap.get(HongBaoV2.TYPE_SHARE_YIJI); tempHongBaoOrder.getCommonOrder().setPayment( tempHongBaoOrder.getCommonOrder().getPayment().add(commonOrder.getPayment())); tempHongBaoOrder.getHongBaoV2() .setMoney(tempHongBaoOrder.getHongBaoV2().getMoney().add(child.getMoney())); notificationMap.put(HongBaoV2.TYPE_SHARE_YIJI, tempHongBaoOrder); } } } // 修改统计数据 Long goodsId = commonOrder.getCommonOrderGoods().getId(); // 查询商品 fanli/src/main/java/com/yeshi/fanli/service/impl/msg/UserOrderMsgNotificationServiceImpl.java
@@ -10,6 +10,7 @@ import com.yeshi.fanli.exception.msg.MsgOrderDetailException; import com.yeshi.fanli.service.inter.msg.MsgOrderDetailService; import com.yeshi.fanli.service.inter.msg.UserOrderMsgNotificationService; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.factory.msg.MsgOrderDetailFactory; @Service @@ -97,4 +98,30 @@ } @Override public void orderShareFirstLevelStatistic(Long uid, String orderId, BigDecimal payMoney, BigDecimal money, int goodsCount, int orderState, String sourceUserName) { MsgOrderDetail detail = MsgOrderDetailFactory.createInviteOrder(uid, orderId, goodsCount, orderState, payMoney, money, String.format("由一级队员【%s】分享", sourceUserName)); try { msgOrderDetailService.addMsgOrderDetail(detail); } catch (MsgOrderDetailException e) { e.printStackTrace(); } } @Override public void orderShareFirstLevelStateChanged(Long uid, String orderId, BigDecimal payMoney, BigDecimal money, int orderState) { MsgOrderDetail detail = MsgOrderDetailFactory.createInviteOrder(uid, orderId, 0, orderState, payMoney, money, null); // 暂时不推送 try { msgOrderDetailService.updateMsgOrderDetail(detail, false); } catch (MsgOrderDetailException e) { e.printStackTrace(); } } } fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java
@@ -984,7 +984,6 @@ e1.printStackTrace(); } } } } fanli/src/main/java/com/yeshi/fanli/service/inter/msg/UserOrderMsgNotificationService.java
@@ -83,4 +83,19 @@ public void orderInviteStateChanged(Long uid, String orderId, BigDecimal payMoney, BigDecimal money, int orderState); public void orderShareFirstLevelStatistic(Long uid, String orderId, BigDecimal payMoney, BigDecimal money, int goodsCount, int orderState,String sourceUserName); /** * 分享订单状态改变 * * @param uid * @param orderId * @param payMoney * @param money * @param orderState */ public void orderShareFirstLevelStateChanged(Long uid, String orderId, BigDecimal payMoney, BigDecimal money, int orderState); } fanli/src/main/java/com/yeshi/fanli/util/jd/JDUtil.java
@@ -6,8 +6,6 @@ import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.methods.PostMethod; import org.jsoup.Connection; import org.jsoup.Connection.Response; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element;