yj
2020-03-13 1da0cccd804b441ac94a35f28a2ed23a6a7062cc
Merge remote-tracking branch 'origin/div' into div

Conflicts:
fanli/src/main/webapp/client/gonglue/index.html
30个文件已修改
1个文件已添加
733 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/admin/ExtractAdminController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/admin/OrderAdminController.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/ConfigController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/ShareController.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ShareControllerV2.java 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/devops/OrderDevOpsController.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/jd/JDOrderItemMapper.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/order/CommonOrderCountMapper.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/pdd/PDDOrderMapper.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/taobao/TaoBaoOrderMapper.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dto/money/ExtractOrderStatisticDTO.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/entity/bus/msg/MsgOrderDetail.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/job/DynamicInfoJob.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/jd/JDOrderItemMapper.xml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderCountMapper.xml 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/pdd/PDDOrderMapper.xml 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/taobao/TaoBaoOrderMapper.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/count/CommonOrderCountServiceImpl.java 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/WXMPDynamicInfoServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/SpecialServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/money/extract/ExtractServiceImpl.java 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/order/msg/UserOrderMsgNotificationServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/order/CommonOrderCountService.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/manger/ClipboardAnalysisManager.java 265 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/manger/goods/ConvertLinkManager.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/order/OrderMoneyRecievedMessageListener.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/taobao/DaTaoKeUtil.java 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoOrderUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/webapp/client/gonglue/index.html 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/admin/ExtractAdminController.java
@@ -446,8 +446,7 @@
                        desc.append("180天安全订单数:" + record.getExtraInfo().getSafeOrderCount());
                    }
                    
                    Integer countOrder = commonOrderCountService.countOderByUidAndLess10(extract.getUserInfo().getId());
                    if (countOrder != null && countOrder > 10) {
                    if (record.getExtraInfo().getLess10OrderCount() != null && record.getExtraInfo().getLess10OrderCount() > 10) {
                        desc.append("刷单嫌疑\n#");
                    }
                    
fanli/src/main/java/com/yeshi/fanli/controller/admin/OrderAdminController.java
@@ -808,5 +808,88 @@
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("更新失败"));
        }
    }
    /**
     * 订单跟踪准确率(板栗快省用户订单/淘宝联盟订单)
     *
     * @param callback
     * @param dateType
     * @param year
     * @param startTime
     * @param endTime
     * @param out
     */
    @RequestMapping(value = "getTrackAccuracyRate")
    public void getTrackAccuracyRate(String callback, Integer dateType, String year, String startTime, String endTime,
            int sourceType, PrintWriter out) {
        if (dateType != 1 && (!StringUtil.isNullOrEmpty(startTime) || !StringUtil.isNullOrEmpty(endTime))) {
            startTime = null;
            endTime = null;
        }
        if (dateType == 1 && year != null) {
            year = null; // 设置为空
        } else if (dateType == 2) {
            if (startTime != null)
                startTime = null;
            if (endTime != null)
                endTime = null;
        } else if (dateType == 3) {
            if (year != null)
                year = null;
            if (startTime != null)
                startTime = null;
            if (endTime != null)
                endTime = null;
        }
        try {
            Gson gson = new Gson();
            Object objectDate = null;
            List<String> dateList = AdminUtils.getDateList(dateType, startTime, endTime, year);
            JSONArray line_list = new JSONArray();
            List<ChartTDO> list = commonOrderCountService.getTrackAccuracyRate(dateType, year, startTime, endTime,
                    sourceType);
            JSONObject innerList = new JSONObject();
            innerList.put("name", "总计");
            if (dateType != 3) {
                innerList.put("data", gson.toJson(AdminUtils.dayOrMonthDataFactory(dateType, dateList, list)));
            } else {
                // 年视图
                Map<String, Object> map = AdminUtils.yearsDataFactory(list);
                if (objectDate == null) {
                    objectDate = map.get("date");
                }
                innerList.put("data", gson.toJson(map.get("value")));
            }
            line_list.add(innerList);
            JSONObject data = new JSONObject();
            if (objectDate != null) {
                data.put("xAxis_list", gson.toJson(objectDate));
            } else {
                data.put("xAxis_list", gson.toJson(dateList));
            }
            data.put("line_list", line_list);
            JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
        } catch (Exception e) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
            e.printStackTrace();
        }
    }
}
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/ConfigController.java
@@ -311,7 +311,7 @@
                    String tearcherLink = configService.getByVersion(ConfigKeyEnum.tearcherLink.getKey(),
                            acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()));
                    if (userActivedRecordService.canNotifyAddTearcher(uid)) {
                    if (userActivedRecordService.canNotifyAddTearcher(uid) && !StringUtil.isNullOrEmpty(tearcherLink)) {
                        UserInfo userInfo = userInfoService.selectAvailableByPrimaryKey(uid);
                        if (userInfo != null) {
                            JumpDetailV2 jumpDetail = jumpDetailV2Service.getByTypeCache("web",
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/ShareController.java
@@ -1094,7 +1094,10 @@
                    TaoBaoGoodsBrief goods = taoBaoLink.getGoods();
                    if (!com.yeshi.fanli.util.VersionUtil.greaterThan_2_0_2(acceptData.getPlatform(),
                            acceptData.getVersion()))
                        data.put("clickUrl", ShareControllerV2.getERCodeContentNew(configService.get(ConfigKeyEnum.taobaoShareQrcodeText.getKey()), goods, taoBaoLink.getTaoToken()));
                        data.put("clickUrl",
                                ShareControllerV2.getERCodeContentNew(
                                        configService.get(ConfigKeyEnum.taobaoShareQrcodeText.getKey()), goods,
                                        taoBaoLink.getTaoToken()));
                    data.put("token", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken()));
@@ -1119,7 +1122,10 @@
                        }
                    }
                    data.put("commentTexts", commentTexts);
                    data.put("wxErCode", ShareControllerV2.getERCodeContentNew(configService.get(ConfigKeyEnum.taobaoShareQrcodeText.getKey()), goods, taoBaoLink.getTaoToken()));
                    data.put("wxErCode",
                            ShareControllerV2.getERCodeContentNew(
                                    configService.get(ConfigKeyEnum.taobaoShareQrcodeText.getKey()), goods,
                                    taoBaoLink.getTaoToken()));
                }
            } else if (cid == 4) { // 邀请分享
@@ -1191,10 +1197,7 @@
                    String valueBr = valueN.replace("\n", "<br><br>");
                    data.put("inviteRules", valueBr);
                    // 邀请链接
                    String shortLink = HttpUtil.getShortLink("http://" + Constant.wxGZConfig.getLoginHost() + "/"
                            + Constant.systemCommonConfig.getProjectName() + "/client/threeShareNew?uid=" + uid);
                    data.put("inviteLink", shortLink);
                    data.put("inviteLink", Constant.YINGYONGBAO_LINK);
                    data.put("inviteCode", inviteCode);
                    data.put("helpLink", configService.get(ConfigKeyEnum.inviteHelpLink.getKey()));
                }
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java
@@ -249,8 +249,7 @@
            list.add(map.get(TYPE_FAQUAN));
            list.add(map.get(TYPE_HUODONG));
            // list.add(map.get(TYPE_XUEYUAN));
            list.add(map.get(TYPE_SUCAI));
            // list.add(map.get(TYPE_SUCAI));
        } else if (VersionUtil.greaterThan_2_0_6(acceptData.getPlatform(), acceptData.getVersion())) {
            // 2.0.6返回热销+活动+推荐+学院+邀请
            list.add(map.get(TYPE_REXIAO));
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ShareControllerV2.java
@@ -177,7 +177,7 @@
                "下载链接:" + Constant.YINGYONGBAO_LINK, false, true));
        list.add(new ShareGoodsCommentChoiceInfo(ShareGoodsCommentChoiceInfo.TYPE_FANLI_MONEY, "返利金额",
                "返利金额:¥ " + fanliMoney, false, true));
                String.format("【联系我下载APP】最高可返还%s元", fanliMoney + ""), false, true));
        return list;
    }
@@ -243,8 +243,6 @@
            return;
        }
    }
    
    public static String getERCodeContentNew(String template, TaoBaoGoodsBrief goods, String token) {
        String commentText = template.replace("[原价]", goods.getZkPrice().toString());
@@ -541,7 +539,8 @@
            }
            
            String template = shareGoodsTextTemplateService.getTextTemplateByTB(uid);
            String shareText = shareGoodsTextTemplateService.createContentTB(template, goods, taoBaoLink.getTaoToken(), coupon);
            String shareText = shareGoodsTextTemplateService.createContentTB(template, goods, taoBaoLink.getTaoToken(),
                    coupon);
            shareInfo.setShareText(shareText);
            
            String descText = shareText.replace(taoBaoLink.getGoods().getTitle(), "").trim();
@@ -553,21 +552,24 @@
            // 测试
            // 2.0.2之前
            if (VersionUtil.greaterThan_2_0_7(platform, version)) {
                shareInfo.setClickUrl(getERCodeContentNew(configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey()),
                shareInfo.setClickUrl(
                        getERCodeContentNew(configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey()),
                        taoBaoLink.getGoods(), shareInfo.getToken()));
            } else if (!VersionUtil.greaterThan_2_0_2(platform, version)) {
                shareInfo.setClickUrl(getERCodeContentNew(configService.get(ConfigKeyEnum.taobaoShareQrcodeText.getKey()),
                shareInfo.setClickUrl(
                        getERCodeContentNew(configService.get(ConfigKeyEnum.taobaoShareQrcodeText.getKey()),
                        taoBaoLink.getGoods(), shareInfo.getToken()));
            }
            if (VersionUtil.greaterThan_2_0_7(platform, version)) {
                shareInfo.setWxErCode(getERCodeContentNew(configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey()),
                shareInfo.setWxErCode(
                        getERCodeContentNew(configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey()),
                    taoBaoLink.getGoods(), shareInfo.getToken()));
            } else {
                shareInfo.setWxErCode(getERCodeContentNew(configService.get(ConfigKeyEnum.taobaoShareQrcodeText.getKey()),
                shareInfo.setWxErCode(
                        getERCodeContentNew(configService.get(ConfigKeyEnum.taobaoShareQrcodeText.getKey()),
                        taoBaoLink.getGoods(), shareInfo.getToken()));
            }
            
            // 提示图文内容
            String imgs = configService.getByVersion(ConfigKeyEnum.goodsShareNotifyImgs.getKey(), platform,
@@ -630,7 +632,6 @@
                            TaoBaoUtil.getAfterUseCouplePrice(taoBaoLink.getGoods()) + "");
                }
                
                if (StringUtil.isNullOrEmpty(taoBaoLink.getGoods().getCouponInfo())) {
                    recommendText = recommendText.replace("优惠券:[券面额]元", "");
                } else {
@@ -646,7 +647,7 @@
            // 设置评论文本选项
            shareInfo.setCommentTextChoiceList(getCommentChoiceList(shareInfo.getCommentText(), null, inviteCode,
                    TaoBaoUtil.getGoodsHongBaoMoney(taoBaoLink.getGoods(), hongBaoManageService.getFanLiRate())));
                    TaoBaoUtil.getGoodsHongBaoMoney(taoBaoLink.getGoods(), hongBaoManageService.getVIPFanLiRate())));
            out.print(JsonUtil.loadTrueResult(
                    JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()).create().toJson(shareInfo)));
@@ -800,8 +801,10 @@
                commentText = commentText.replace("【券后价】[券后价]元", "");
                commentText = commentText.replace("领券抢购", "抢购");
            } else {
                recommendText = recommendText.replace("[券面额]", BigDecimalUtil.getWithNoZera(couponInfo.getDiscount()).toString());
                commentText = commentText.replace("[券后价]", BigDecimalUtil.getWithNoZera(JDUtil.getQuanPrice(jdGoods)).toString());
                recommendText = recommendText.replace("[券面额]",
                        BigDecimalUtil.getWithNoZera(couponInfo.getDiscount()).toString());
                commentText = commentText.replace("[券后价]",
                        BigDecimalUtil.getWithNoZera(JDUtil.getQuanPrice(jdGoods)).toString());
            }
            commentText = commentText.replace("[链接]", jumpLink);
        } else {
@@ -813,7 +816,7 @@
        // 设置评论文本选项
        shareInfo.setCommentTextChoiceList(getCommentChoiceList(null, shareInfo.getCommentText(), inviteCode,
                JDUtil.getGoodsFanLiMoney(jdGoods, hongBaoManageService.getFanLiRate())));
                JDUtil.getGoodsFanLiMoney(jdGoods, hongBaoManageService.getVIPFanLiRate())));
        out.print(JsonUtil.loadTrueResult(
                JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()).create().toJson(shareInfo)));
@@ -846,11 +849,9 @@
        });
    }
    
    private String deleteBlankLine(String st){
        return st.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n");
    }
    /**
     * 拼多多分享
@@ -985,7 +986,7 @@
        // 设置评论文本选项
        shareInfo.setCommentTextChoiceList(getCommentChoiceList(null,shareInfo.getCommentText(), inviteCode,
                PinDuoDuoUtil.getGoodsFanLiMoney(goods, hongBaoManageService.getFanLiRate())));
                PinDuoDuoUtil.getGoodsFanLiMoney(goods, hongBaoManageService.getVIPFanLiRate())));
        out.print(JsonUtil.loadTrueResult(
                JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()).create().toJson(shareInfo)));
fanli/src/main/java/com/yeshi/fanli/controller/devops/OrderDevOpsController.java
New file
@@ -0,0 +1,45 @@
package com.yeshi.fanli.controller.devops;
import java.io.PrintWriter;
import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.yeshi.fanli.entity.bus.user.HongBaoV2;
import com.yeshi.fanli.exception.order.TaoBaoWeiQuanException;
import com.yeshi.fanli.service.inter.order.OrderProcessService;
/**
 * 运维订单接口
 *
 * @author Administrator
 *
 */
@Controller
@RequestMapping("devops/order")
public class OrderDevOpsController {
    @Resource
    private OrderProcessService orderProcessService;
    /**
     * 返利
     * @param hongBaoId
     * @param out
     */
    @RequestMapping("fanliByHongBaoId")
    public void fanli(Long hongBaoId, PrintWriter out) {
        try {
            orderProcessService.fanli(new HongBaoV2(hongBaoId));
            out.print("success");
        } catch (TaoBaoWeiQuanException e) {
            e.printStackTrace();
            out.print(e.getMessage());
        } catch (Exception e) {
            out.print(e.getMessage());
        }
    }
}
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/jd/JDOrderItemMapper.java
@@ -33,5 +33,15 @@
     * @return
     */
    Long countOrderByDay(@Param("preDay") String preDay);
    /**
     * 统计所有订单
     *
     * @param channel
     * @return
     */
    List<ChartTDO> countOrderNumber(@Param("dateType") Integer dateType, @Param("year") String year,
            @Param("startTime") String startTime, @Param("endTime") String endTime);
}
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/order/CommonOrderCountMapper.java
@@ -31,6 +31,17 @@
    Long countOrderBySourceTypeAndDay(@Param("preDay") String preDay, @Param("sourceType") int sourceType);
    
    /**
     * 统计所有订单
     *
     * @param channel
     * @return
     */
    List<ChartTDO> countOrderNumber(@Param("dateType") Integer dateType, @Param("year") String year,
            @Param("startTime") String startTime, @Param("endTime") String endTime,
            @Param("sourceType") int sourceType);
    
    /**
     * 奖金统计
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/pdd/PDDOrderMapper.java
@@ -17,6 +17,19 @@
     * @return
     */
    PDDOrder selectByOrderSN(String orderSn);
    /**
     * 数量统计
     *
     * @param dateType
     * @param year
     * @param startTime
     * @param endTime
     * @return
     */
    List<ChartTDO> countOrderNumber(@Param("dateType") Integer dateType, @Param("year") String year,
            @Param("startTime") String startTime, @Param("endTime") String endTime);
    /**
     * 数量统计
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/taobao/TaoBaoOrderMapper.java
@@ -32,6 +32,16 @@
    // 根据订单号删除数据
    int deleteByOrderId(String orderId);
    /**
     * 统计所有订单
     *
     * @param channel
     * @return
     */
    List<ChartTDO> countOrderNumber(@Param("dateType") Integer dateType, @Param("year") String year,
            @Param("startTime") String startTime, @Param("endTime") String endTime);
    /**
     * 统计--订单类型区分
fanli/src/main/java/com/yeshi/fanli/dto/money/ExtractOrderStatisticDTO.java
@@ -20,12 +20,23 @@
    private int safeOrderCount;// 安全订单数量
    private Integer less10OrderCount;//付款金额少于10块的订单数量
    public Integer getLess10OrderCount() {
        return less10OrderCount;
    }
    public void setLess10OrderCount(Integer less10OrderCount) {
        this.less10OrderCount = less10OrderCount;
    }
    public ExtractOrderStatisticDTO(int orderCount50More, int weiQuanOrderCount, BigDecimal weiQuanOrderFanAmount,
            int safeOrderCount) {
            int safeOrderCount,Integer less10OrderCount) {
        this.orderCount50More = orderCount50More;
        this.weiQuanOrderCount = weiQuanOrderCount;
        this.weiQuanOrderFanAmount = weiQuanOrderFanAmount;
        this.safeOrderCount = safeOrderCount;
        this.less10OrderCount=less10OrderCount;
    }
    public ExtractOrderStatisticDTO() {
fanli/src/main/java/com/yeshi/fanli/entity/bus/msg/MsgOrderDetail.java
@@ -22,7 +22,7 @@
    public final static int STATE_SX = 4;// 未付款/已退款
    public enum MsgTypeOrderTypeEnum {
        fanli("返利订单"), share("分享订单"), invite("邀请订单"), found("订单找回"), elme("饿了么订单");
        fanli("返利订单"), share("分享订单"), invite("团队订单"), found("订单找回"), elme("饿了么订单");
        private final String desc;
        private MsgTypeOrderTypeEnum(String desc) {
fanli/src/main/java/com/yeshi/fanli/job/DynamicInfoJob.java
@@ -272,13 +272,8 @@
    /**
     * 
     * @Title: demoJobHandler
     * @Description: 更新小程序动态商品
     * @param param
     * @return
     * @throws Exception
     * ReturnT<String> 返回类型
     * @throws
     * @Title: demoJobHandler @Description: 更新小程序动态商品 @param
     * param @return @throws Exception ReturnT<String> 返回类型 @throws
     */
    @XxlJob("dynamic-updateWXMPDynamicInfo")
    public ReturnT<String> updateWXMPDynamicInfoHandler(String param) throws Exception {
@@ -287,11 +282,7 @@
    }
    /**
     * 添加内优惠相关商品
     * @Title: addJDNYHInfo
     * @Description:
     * void 返回类型
     * @throws
     * 添加内优惠相关商品 @Title: addJDNYHInfo @Description: void 返回类型 @throws
     */
    private void addJDNYHInfo() throws Exception {
@@ -357,17 +348,16 @@
        }
    }
    
    /**
     * 自动生成发圈
     * 早上6,7,15,16,21,22,23点更新1次
     * 动态发圈
     *
     * @param param
     * @return
     * @throws Exception
     */
    @Scheduled(cron = "0 0 6,7,15,16,21,22,23 * * ? ")
    public void insetEvaluate() {
        if (!Constant.IS_TASK) {
            return;
        }
    // @Scheduled(cron = "0 0 6,7,15,16,21,22,23 * * ? ")
    @XxlJob("dynamic-insertEvaluate")
    public ReturnT<String> insertEvaluate(String param) throws Exception {
        try {
            goodsEvaluateService.addGoodsEvaluateByDaTaoKe();
        } catch (Exception e) {
@@ -377,6 +367,7 @@
                e1.printStackTrace();
            }
        }
        return ReturnT.SUCCESS;
    }
    
fanli/src/main/java/com/yeshi/fanli/mapping/jd/JDOrderItemMapper.xml
@@ -281,4 +281,14 @@
        WHERE joi_valid_code!=2 AND FROM_UNIXTIME(jo_order_time/1000,'%Y-%m-%d')=#{preDay}
    </select>
    
    <select id="countOrderNumber" resultMap="ChartMap">
        SELECT IFNULL(COUNT(`joi_id`),0) AS showValue,
        <include refid="Column_DateType" />
        FROM `yeshi_ec_jd_order_item` left join yeshi_ec_jd_order on jo_order_id=joi_order_id  WHERE jo_order_time IS NOT NULL and joi_valid_code!=2
        <include refid="Count_Select_DateType" />
        <include refid="Count_Group_DateType" />
        ORDER BY jo_order_time
    </select>
</mapper>
fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderCountMapper.xml
@@ -62,6 +62,14 @@
        WHERE t.co_source_type=#{sourceType} AND DATE_FORMAT(t.`co_third_create_time`,'%Y-%m-%d') = #{preDay}
    </select>
    
    <select id="countOrderNumber" resultMap="ChartMap">
        SELECT IFNULL(COUNT(t.`co_id`),0) AS showValue,<include refid="Column_DateType"/>
        FROM `yeshi_ec_common_order` t
        WHERE t.co_source_type=#{sourceType} and t.`co_third_create_time` IS NOT NULL <include refid="Count_Select_DateType"/>
        <include refid="Count_Group_DateType"/>
        ORDER BY t.`co_third_create_time`
    </select>
    
    <select id="countOrderNumberBySettleTime" resultType="java.util.HashMap">
        <!-- 统计历史订单数量  根据结算时间 -->
fanli/src/main/java/com/yeshi/fanli/mapping/pdd/PDDOrderMapper.xml
@@ -234,6 +234,14 @@
        WHERE FROM_UNIXTIME(po_order_create_time,'%Y-%m-%d') = #{preDay}
    </select>
    <select id="countOrderNumber" resultMap="ChartMap">
        SELECT IFNULL(COUNT(`po_id`),0) AS showValue,
        <include refid="Column_DateType" />
        FROM `yeshi_ec_pdd_order` t WHERE po_order_create_time IS NOT NULL
        <include refid="Count_Select_DateType" />
        <include refid="Count_Group_DateType" />
        ORDER BY po_order_create_time
    </select>
    <select id="listByStatus" resultMap="BaseResultMap">
fanli/src/main/java/com/yeshi/fanli/mapping/taobao/TaoBaoOrderMapper.xml
@@ -455,4 +455,13 @@
        SELECT COUNT(t.`to_id`)    FROM `yeshi_ec_taobao_order` t
         WHERE DATE_FORMAT(t.`to_create_time`,'%Y-%m-%d') = #{preDay}
    </select>
    <select id="countOrderNumber" resultMap="ChartMap">
        SELECT IFNULL(COUNT(t.`to_id`),0) AS showValue,
        <include refid="Column_DateType" />
        FROM `yeshi_ec_taobao_order` t WHERE t.`to_create_time` IS NOT NULL
        <include refid="Count_Select_DateType" />
        <include refid="Count_Group_DateType" />
        ORDER BY t.`to_create_time`
    </select>
</mapper>
fanli/src/main/java/com/yeshi/fanli/service/impl/count/CommonOrderCountServiceImpl.java
@@ -1,6 +1,7 @@
package com.yeshi.fanli.service.impl.count;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -332,4 +333,77 @@
    }
        
    
    @Override
    public List<ChartTDO> getTrackAccuracyRate(Integer dateType, String year, String startTime, String endTime,
            int sourceType) throws Exception {
        List<ChartTDO> result_list = null;
        // 用户订单
        List<ChartTDO> listTotal = commonOrderCountMapper.countOrderNumber(dateType, year, startTime, endTime,
                sourceType);
        if (listTotal == null || listTotal.size() == 0) {
            return result_list;
        }
        // 淘宝联盟
        List<ChartTDO> type_list = null;
        switch (sourceType) {
        case Constant.SOURCE_TYPE_TAOBAO:
            type_list = taoBaoOrderMapper.countOrderNumber(dateType, year, startTime, endTime);
            break;
        case Constant.SOURCE_TYPE_JD:
            type_list = jdOrderItemMapper.countOrderNumber(dateType, year, startTime, endTime);
            break;
        case Constant.SOURCE_TYPE_PDD:
            type_list = pddOrderMapper.countOrderNumber(dateType, year, startTime, endTime);
            break;
        }
        if (type_list == null || type_list.size() == 0) {
            return null;
        }
        switch (dateType) {
        case 1: // 按天处理
            result_list = dayFactory(startTime, endTime, type_list);
            break;
        case 2: // 按月处理
            result_list = monthFactory(type_list);
            break;
        case 3:
            result_list = yearFactory(type_list);
            break;
        default:
            break;
        }
        DecimalFormat df = new DecimalFormat("#.00");
        for (int i = 0; i < result_list.size(); i++) {
            double proportion = 0;
            ChartTDO chartTDO = result_list.get(i);
            String showDate = chartTDO.getShowDate();
            for (int j = 0; j < listTotal.size(); j++) {
                ChartTDO innerChartTDO = listTotal.get(j);
                String innerDate = innerChartTDO.getShowDate();
                if (innerDate != null && innerDate.toString().equals(showDate.toString())) {
                    String innerValue = innerChartTDO.getShowValue();
                    long innerData = Long.parseLong(innerValue);
                    String showValue = chartTDO.getShowValue();
                    long showData = Long.parseLong(showValue);
                    if (showData > 0) {
                        proportion = innerData / (double) showData;
                    }
                    break; // 结束内部循环
                }
            }
            chartTDO.setShowValue(Double.parseDouble(df.format(proportion * 100)) + "");
        }
        return result_list;
    }
}
fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/WXMPDynamicInfoServiceImpl.java
@@ -12,6 +12,7 @@
import com.yeshi.fanli.dao.dynamic.WXMPDynamicInfoDao;
import com.yeshi.fanli.entity.dynamic.WXMPDynamicInfo;
import com.yeshi.fanli.exception.dynamic.WXMPDynamicInfoException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.dynamic.WXMPDynamicInfoService;
import com.yeshi.fanli.service.manger.goods.ConvertLinkManager;
@@ -67,6 +68,7 @@
            convertContent = convertLinkManager.convertLinkFromText(info.getContent(), uid, true);
        } catch (Exception e) {
            e.printStackTrace();
            LogHelper.errorDetailInfo(e);
            throw new WXMPDynamicInfoException(2, "转链出错");
        }
        wxmpDynamicInfoDao.addShareCount(id);
fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/SpecialServiceImpl.java
@@ -564,7 +564,7 @@
            }
        // 数据处理
        handlelist(listArc);
//        handlelist(listArc);
        arcMap.put("list", JsonUtil.getApiCommonGson().toJson(listArc));
        // 首页-活动区域(女王节)
fanli/src/main/java/com/yeshi/fanli/service/impl/money/extract/ExtractServiceImpl.java
@@ -68,6 +68,7 @@
import com.yeshi.fanli.service.inter.money.extract.ExtractService;
import com.yeshi.fanli.service.inter.money.extract.ExtractWeiXinRecordService;
import com.yeshi.fanli.service.inter.money.msg.UserMoneyMsgNotificationService;
import com.yeshi.fanli.service.inter.order.CommonOrderCountService;
import com.yeshi.fanli.service.inter.order.HongBaoV2Service;
import com.yeshi.fanli.service.inter.order.OrderUserStatisticService;
import com.yeshi.fanli.service.inter.push.PushService;
@@ -78,6 +79,7 @@
import com.yeshi.fanli.util.GsonUtil;
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.ThreadUtil;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.factory.UserMoneyDetailFactory;
@@ -151,6 +153,9 @@
    @Resource
    private ExtractWeiXinRecordService extractWeiXinRecordService;
    @Resource
    private CommonOrderCountService commonOrderCountService;
    @Transactional
    public Integer addExtract(Extract extract) {
@@ -292,20 +297,31 @@
        extractMapper.insertSelective(extract);
        ExtractAuditRecord auditRecord = new ExtractAuditRecord();
        final ExtractAuditRecord auditRecord = new ExtractAuditRecord();
        auditRecord.setBeforeMoney(user.getMyHongBao());
        auditRecord.setExtract(extract);
        Date minTime = new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24 * 180L);
        // 统计数据
        int orderCount50More = orderUserStatisticService.countOrderCount100MoreByUidAndMinTime(user.getId(), minTime);
        extractAuditRecordMapper.insertSelective(auditRecord);
        ThreadUtil.run(new Runnable() {
            @Override
            public void run() {
                // 统计数据
                int less10Count = commonOrderCountService.countOderByUidAndLess10(user.getId());
                ExtractAuditRecord update=new ExtractAuditRecord();
                update.setId(auditRecord.getId());
                int orderCount50More = orderUserStatisticService.countOrderCount100MoreByUidAndMinTime(user.getId(), minTime);
        BigDecimal weiQuanOrderFanAmount = orderUserStatisticService.sumWeiQuanOrderFanAmountByUid(user.getId(),
                minTime);
        int weiQuanOrderCount = orderUserStatisticService.countWeiQuanOrderByUid(user.getId(), minTime);
        auditRecord.setExtraInfoStr(new Gson()
                .toJson(new ExtractOrderStatisticDTO(orderCount50More, weiQuanOrderCount, weiQuanOrderFanAmount, 0)));
        extractAuditRecordMapper.insertSelective(auditRecord);
                update.setExtraInfoStr(new Gson().toJson(
                        new ExtractOrderStatisticDTO(orderCount50More, weiQuanOrderCount, weiQuanOrderFanAmount, 0, less10Count)));
                extractAuditRecordMapper.updateByPrimaryKeySelective(update);
            }
        });
        // 新版资金详情
        UserMoneyDetail userMoneyDetail = null;
fanli/src/main/java/com/yeshi/fanli/service/impl/order/msg/UserOrderMsgNotificationServiceImpl.java
@@ -76,7 +76,7 @@
            e.printStackTrace();
        }
        PushContentDTO dto = PushMsgFactory.createFanLiOrderStatisticed(orderType, orderId, money);
        PushContentDTO dto = PushMsgFactory.createShareOrderStatisticed(orderType, orderId, money);
        try {
            pushService.pushZNX(uid, dto.getTitle(), dto.getContent(), null, null);
        } catch (NumberFormatException e) {
fanli/src/main/java/com/yeshi/fanli/service/inter/order/CommonOrderCountService.java
@@ -199,5 +199,12 @@
     */
    public Integer countOderByUidAndLess10(Long uid);
    /**
     * 统计所有订单
     *
     * @param channel
     * @return
     */
    public List<ChartTDO> getTrackAccuracyRate(Integer dateType, String year, String startTime, String endTime,
            int sourceType) throws Exception;
}
fanli/src/main/java/com/yeshi/fanli/service/manger/ClipboardAnalysisManager.java
@@ -21,11 +21,14 @@
import com.yeshi.fanli.entity.jd.JDGoods;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.exception.taobao.TaoBaoTokenParseException;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
import com.yeshi.fanli.exception.user.TokenRecordException;
import com.yeshi.fanli.service.inter.user.TokenRecordService;
import com.yeshi.fanli.service.manger.goods.jd.JDGoodsLinkParseManager;
import com.yeshi.fanli.service.manger.goods.tb.TaoBaoTokenAuctionIdMapManager;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.DouYinUtil;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TokenUtil;
import com.yeshi.fanli.util.Utils;
@@ -58,6 +61,9 @@
    @Resource
    private TaoBaoTokenAuctionIdMapManager taoBaoTokenAuctionIdMapManager;
    @Resource
    private RedisManager redisManager;
    /**
     * @Title: parseContentType @Description: 解析文本的类型 @param text @return Set
@@ -320,77 +326,107 @@
     */
    public CommonGoods parseLink(String link) {
        TaoBaoGoodsBrief tb = null;
        if (link.startsWith("https://a.m.taobao.com/i"))// 淘宝账号未登录状态
        {
            link = link.substring("https://a.m.taobao.com/i".length(), link.indexOf(".htm"));
            if (NumberUtil.isNumeric(link)) {
                tb = TaoBaoUtil.isAlimama(link);
            }
        } else if (link.contains("ju.taobao.com") || link.contains(".juhuasuan.com")) {// 聚划算
            int index = link.indexOf("item_id");
            if (index >= 0) {
                link = link.substring(index);
                int last = link.indexOf("&");
                String id = "";
                if (last > 0)
                    id = link.substring(link.indexOf("=") + 1, link.indexOf("&"));
                else {
                    id = link.substring(link.indexOf("=" + 1));
                }
                tb = TaoBaoUtil.isAlimama(id);
                if (tb == null) {
                    tb = new TaoBaoGoodsBrief(Long.parseLong(id));
                }
            }
        } else if (link.contains("http://zmnxbc.com")) { // 手机端天猫APP分享
            tb = TaoBaoUtil.parsePhoneShareUrlByTM(link);
        } else if (link.contains("h5.m.taobao") || link.contains("detail.m.tmall") || link.contains("item.taobao")
                || link.contains("detail.tmall")) { // 手机页面和电脑页面
            Map<String, String> map = Utils.parseURL(link);
            String id = "";
            id = map.get("id").replace("}", "");
            tb = TaoBaoUtil.isAlimama(id);
            if (tb == null) {
                tb = new TaoBaoGoodsBrief(Long.parseLong(id));
            }
        } else if (link.contains("v.douyin.com")) { // 抖音
            tb = analysisDouYin(link);
            if (tb != null) {
                if (!StringUtil.isNullOrEmpty(tb.getAuctionUrl())) {// 抖音解析到淘宝商品链接
                    return parseLink(tb.getAuctionUrl());
                }
            }
        } else {
            tb = TaoBaoUtil.parsePhoneShareUrlByTB(link);
        }
        // 没解析到淘宝相关商品
        if (tb == null) {
            String goodsId = TaoBaoUtil.getGoodsIdByPhoneShareUrl(link);
            if (!StringUtil.isNullOrEmpty(goodsId)) {
                tb = TaoBaoUtil.isAlimama(goodsId);
                if (tb == null) {
                    tb = new TaoBaoGoodsBrief(Long.parseLong(goodsId));
                }
            }
        SimpleCommonGoods simpleGoods = parseGoodsIdFromLink(link);
        if (simpleGoods == null) {
            return null;
        }
        CommonGoods commonGoods = null;
        if (simpleGoods.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) {
            TaoBaoGoodsBrief goods = null;
            try {
                goods = redisManager.getTaoBaoGoodsBrief(Long.parseLong(simpleGoods.getGoodsId()));
            } catch (NumberFormatException e) {
                e.printStackTrace();
            } catch (TaobaoGoodsDownException e) {
                e.printStackTrace();
            }
        // 淘宝商品解析结束
        if (tb != null) {
            if (StringUtil.isNullOrEmpty(tb.getTitle())) {
                tb = TaoBaoUtil.getTaoBaoGoodsBriefNotInPub(tb.getId());
                if (tb != null) {
            if (goods != null) {
                commonGoods = CommonGoodsFactory.create(goods);
            } else {
                goods = TaoBaoUtil.getTmallGoodsInfo(simpleGoods.getGoodsId());
                if (goods != null) {
                    commonGoods = new CommonGoods();
                    commonGoods.setPicture(tb.getPictUrl());
                    commonGoods.setTitle(tb.getTitle());
                }
                    commonGoods.setTitle(goods.getTitle());
                    commonGoods.setPicture(goods.getPictUrl());
            } else {
                commonGoods = CommonGoodsFactory.create(tb);
                    // TODO 根据淘宝商品ID解析标题与图片
            }
            }
        } else if (simpleGoods.getGoodsType() == Constant.SOURCE_TYPE_JD) {
            // 优先采用高级接口请求数据
            JDGoods jdGoods = null;
            try {
                // 防止高级接口被收回
                jdGoods = JDApiUtil.queryGoodsDetail(Long.parseLong(simpleGoods.getGoodsId()));
            } catch (Exception e) {
            }
            if (jdGoods == null) {
                jdGoods = JDApiUtil.getGoodsDetail(Long.parseLong(simpleGoods.getGoodsId()));
            }
            if (jdGoods != null) {
                commonGoods = CommonGoodsFactory.create(jdGoods);
            } else {// 商品并未参与推广
                jdGoods = JDUtil.getSimpleGoodsInfo(simpleGoods.getGoodsId());
                if (jdGoods != null) {
                    commonGoods = new CommonGoods();
                    commonGoods.setTitle(jdGoods.getSkuName());
                    commonGoods.setPicture(jdGoods.getPicUrl());
                }
            }
        } else if (simpleGoods.getGoodsType() == Constant.SOURCE_TYPE_PDD) {
            PDDGoodsDetail goods = PinDuoDuoApiUtil.getGoodsDetail(Long.parseLong(simpleGoods.getGoodsId()));
            if (goods != null) {
                commonGoods = CommonGoodsFactory.create(goods);
        } else {
                goods = PinDuoDuoUtil.getPDDGoodsInfo(simpleGoods.getGoodsId());
                if (goods != null) {
                    commonGoods = new CommonGoods();
                    commonGoods.setTitle(goods.getGoodsName());
                    commonGoods.setPicture(goods.getGoodsThumbnailUrl());
                }
            }
        }
        return commonGoods;
    }
    /**
     * 从链接中解析商品ID
     *
     * @return
     */
    public SimpleCommonGoods parseGoodsIdFromLink(String link) {
        String jdId = parseJDSkuIdFromLink(link);
        if (!StringUtil.isNullOrEmpty(jdId)) {
            return new SimpleCommonGoods(jdId, Constant.SOURCE_TYPE_JD);
        }
        // 解析拼多多
        String pddId = PinDuoDuoUtil.getPDDGoodsId(link);
        if (!StringUtil.isNullOrEmpty(pddId)) {
            return new SimpleCommonGoods(pddId, Constant.SOURCE_TYPE_PDD);
        }
        // 解析淘宝
        String auctionId = parseTBAuctionIdFromLink(link);
        if (!StringUtil.isNullOrEmpty(auctionId)) {
            return new SimpleCommonGoods(auctionId, Constant.SOURCE_TYPE_TAOBAO);
        }
        return null;
    }
    /**
     * 从链接中解析京东商品的SKUID
     *
     * @param link
     * @return
     */
    public String parseJDSkuIdFromLink(String link) {
            // 解析其他商品
            String jdId = JDUtil.getJDGoodsId(link);
@@ -404,42 +440,59 @@
                jdId = jdGoodsLinkParseManager.parseGoodsIdByJDShortUrl(link);
            }
            if (!StringUtil.isNullOrEmpty(jdId)) {
                JDGoods goods = JDApiUtil.getGoodsDetail(Long.parseLong(jdId));
                if (goods != null) {
                    // 高级接口 -- 信息更完整
                    JDGoods jdGoods = JDApiUtil.queryGoodsDetail(Long.parseLong(jdId));
                    if (jdGoods != null) {
                        commonGoods = CommonGoodsFactory.create(jdGoods);
                    } else {
                        commonGoods = CommonGoodsFactory.create(goods);
        return jdId;
                    }
                } else {
                    goods = JDUtil.getSimpleGoodsInfo(jdId);
    public String parseTBAuctionIdFromLink(String link) {
        TaoBaoGoodsBrief tb = null;
        String auctionId = null;
        if (link.startsWith("https://a.m.taobao.com/i"))// 淘宝账号未登录状态
        {
            link = link.substring("https://a.m.taobao.com/i".length(), link.indexOf(".htm"));
            if (NumberUtil.isNumeric(link)) {
                auctionId = link + "";
            }
        } else if (link.contains("ju.taobao.com") || link.contains(".juhuasuan.com")) {// 聚划算
            int index = link.indexOf("item_id");
            if (index >= 0) {
                link = link.substring(index);
                int last = link.indexOf("&");
                String id = "";
                if (last > 0)
                    id = link.substring(link.indexOf("=") + 1, link.indexOf("&"));
                else {
                    id = link.substring(link.indexOf("=" + 1));
                }
                auctionId = id;
            }
        } else if (link.contains("http://zmnxbc.com")) { // 手机端天猫APP分享
            tb = TaoBaoUtil.parsePhoneShareUrlByTM(link);
            if (tb != null)
                auctionId = tb.getAuctionId() + "";
        } else if (link.contains("h5.m.taobao") || link.contains("detail.m.tmall") || link.contains("item.taobao")
                || link.contains("detail.tmall")) { // 手机页面和电脑页面
            Map<String, String> map = Utils.parseURL(link);
            String id = "";
            id = map.get("id").replace("}", "");
            auctionId = id;
        } else if (link.contains("v.douyin.com")) { // 抖音
            tb = analysisDouYin(link);
            if (tb != null) {
                if (!StringUtil.isNullOrEmpty(tb.getAuctionUrl())) {// 抖音解析到淘宝商品链接
                    CommonGoods goods = parseLink(tb.getAuctionUrl());
                    if (goods != null) {
                        commonGoods = new CommonGoods();
                        commonGoods.setTitle(goods.getSkuName());
                        commonGoods.setPicture(goods.getPicUrl());
                        auctionId = goods.getGoodsId() + "";
                    }
                    }
                }
            } else {
                String pddId = PinDuoDuoUtil.getPDDGoodsId(link);
                if (!StringUtil.isNullOrEmpty(pddId)) {
                    PDDGoodsDetail goods = PinDuoDuoApiUtil.getGoodsDetail(Long.parseLong(pddId));
                    if (goods != null) {
                        commonGoods = CommonGoodsFactory.create(goods);
                    } else {
                        goods = PinDuoDuoUtil.getPDDGoodsInfo(pddId);
                        if (goods != null) {
                            commonGoods = new CommonGoods();
                            commonGoods.setTitle(goods.getGoodsName());
                            commonGoods.setPicture(goods.getGoodsThumbnailUrl());
            tb = TaoBaoUtil.parsePhoneShareUrlByTB(link);
            if (tb != null)
                auctionId = tb.getAuctionId() + "";
                        }
                    }
                }
            }
        }
        return commonGoods;
        return auctionId;
    }
    private CommonGoods parseTaoBaoToken(String token) throws TaoBaoTokenParseException {
@@ -498,6 +551,32 @@
            return true;
        return false;
    }
    class SimpleCommonGoods {
        private String goodsId;
        private int goodsType;
        public SimpleCommonGoods(String goodsId, int goodsType) {
            this.goodsId = goodsId;
            this.goodsType = goodsType;
        }
        public String getGoodsId() {
            return goodsId;
        }
        public void setGoodsId(String goodsId) {
            this.goodsId = goodsId;
        }
        public int getGoodsType() {
            return goodsType;
        }
        public void setGoodsType(int goodsType) {
            this.goodsType = goodsType;
        }
    }
}
/**
fanli/src/main/java/com/yeshi/fanli/service/manger/goods/ConvertLinkManager.java
@@ -226,7 +226,7 @@
    public String convertLinkFromText(String text, Long uid, boolean share)
            throws ConvertLinkExceptionException, Exception {
        String newText = convertJDLinkFromText(text, uid, share);
        newText = convertPDDLinkFromText(text, uid, share);
        newText = convertPDDLinkFromText(newText, uid, share);
        newText = convertTBLinkFromText(newText, uid, share);
        if (text.equalsIgnoreCase(newText))
            throw new ConvertLinkExceptionException(ConvertLinkExceptionException.CODE_NONE, "不包含可转链的口令与链接");
fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/order/OrderMoneyRecievedMessageListener.java
@@ -16,6 +16,7 @@
import com.aliyun.openservices.ons.api.Message;
import com.aliyun.openservices.ons.api.MessageListener;
import com.aliyun.openservices.ons.api.Producer;
import com.google.gson.Gson;
import com.yeshi.fanli.dto.mq.order.OrderTopicTagEnum;
import com.yeshi.fanli.dto.mq.order.body.OrderMoneyRecievedMQMsg;
import com.yeshi.fanli.entity.bus.user.HongBaoV2;
@@ -84,6 +85,7 @@
                            mainHongBaoId = v2.getParent().getId();
                        HongBaoOrder hongBaoOrder = hongBaoOrderService.selectDetailByHongBaoId(mainHongBaoId);
                        if (hongBaoOrder != null && hongBaoOrder.getCommonOrder() != null) {
                            // 按订单号与用户统计资金
                            String mapKey = String.format("%s#%s#%s#%s", hongBaoOrder.getCommonOrder().getOrderNo(),
                                    hongBaoOrder.getCommonOrder().getSourceType(), v2.getUserInfo().getId(),
                                    getHongBaoType(v2.getType()));
@@ -104,6 +106,7 @@
                    OrderMoneyRecievedMQMsg msg = new OrderMoneyRecievedMQMsg(Integer.parseInt(type),
                            Long.parseLong(uid), Integer.parseInt(sourceType), orderNo, moneyMap.get(mapKey),
                            new Date(), 0);
                    LogHelper.test(String.format("批量返利到账订单分发:\n key值:%s  \n 内容:", key, new Gson().toJson(msg)));
                    producer.send(MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER,
                            OrderTopicTagEnum.orderFanLiSeparateByOrderNo, msg));
                }
fanli/src/main/java/com/yeshi/fanli/util/taobao/DaTaoKeUtil.java
@@ -17,6 +17,7 @@
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import org.yeshi.utils.HttpUtil;
import com.yeshi.fanli.dto.dataoke.DingDongQiangDTO;
import com.yeshi.fanli.dto.dataoke.DingDongTime;
@@ -569,8 +570,7 @@
                + (Math.random() > 0.5 ? getRandomCommonEmoji() : "");
        desc += "\n";
        // desc += detail.getIntroduce();
        String introduce = detail.getDesc().replace(",", ",").replace("。", ",").replace("!", ",").replace(",",
                ",");
        String introduce = detail.getDesc().replace(",", ",").replace("。", ",").replace("!", ",").replace(",", ",");
        introduce = introduce.replace(",,,", ",").replace(",,", ",");
        String[] sts = introduce.split(",");
@@ -585,7 +585,6 @@
        desc += introduce;
        return desc;
    }
    public static TaoBaoGoodsBrief filterTaoBaoGoods(TaoBaoGoodsBrief goods, DaTaoKeDetailV2 detail) {
        if (detail != null && goods != null) {
@@ -676,4 +675,20 @@
        return list;
    }
    // 获取推广文案
    public static void getPublishDoc(String id) {
        String url = String.format("http://www.dataoke.com/detailtpl?gid=%s&type=1", id);
        String response = HttpUtil.get(url);
        try {
            JSONObject json = JSONObject.fromObject(new String(response.getBytes("ISO-8859-1"), "UTF-8"));
            JSONObject data = json.optJSONObject("data");
            String tpl2 = data.optString("tpl2");
            tpl2 = tpl2.substring(0, tpl2.indexOf("---------"));
            System.out.println(tpl2.replace("</br>", "\n").trim());
        } catch (Exception e) {
        }
    }
}
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoOrderUtil.java
@@ -688,7 +688,7 @@
                try {
                    setOrderBy(map.get(orderId));
                } catch (Exception e) {
                    LogHelper.errorDetailInfo(e, "订单号:" + orderId, "订单排序值灰度测试");
//                    LogHelper.errorDetailInfo(e, "订单号:" + orderId, "订单排序值灰度测试");
                }
            }
        } catch (Exception e) {
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java
@@ -2002,14 +2002,14 @@
            if (elements.size() >= 0) {
                for (int i = 0; i < elements.size(); i++) {
                    String content = elements.get(i).toString();
                    if (content.contains("var _DATA_Mdskip")) {
                    if (content.contains("var _DATA_Detail")) {
                        content = content.replace("<script>", "");
                        content = content.replace("</script>", "");
                        if (content.contains("videoDetail")) {
                            content += ";function getData(){ var json={title:_DATA_Mdskip.item.title,pictUrl:_DATA_Mdskip.item.videoDetail.videoThumbnailURL};   return JSON.stringify(json);}";
                            content += ";function getData(){ var json={title:_DATA_Detail.item.title,pictUrl:_DATA_Detail.item.images[0]};   return JSON.stringify(json);}";
                        } else {
                            content += ";function getData(){ var json={title:_DATA_Mdskip.item.title,pictUrl:_DATA_Mdskip.item.videos[0].videoThumbnailURL};   return JSON.stringify(json);}";
                            content += ";function getData(){ var json={title:_DATA_Detail.item.title,pictUrl:_DATA_Detail.item.images[0]};   return JSON.stringify(json);}";
                        }
                        ScriptEngineManager manager = new ScriptEngineManager();
@@ -2024,6 +2024,9 @@
                            taoBaoGoodsBrief = new TaoBaoGoodsBrief();
                            taoBaoGoodsBrief.setTitle(title.toString());
                            taoBaoGoodsBrief.setPictUrl(pictUrl.toString());
                            if (!pictUrl.toString().startsWith("http")) {
                                taoBaoGoodsBrief.setPictUrl(TbImgUtil.getTBSize220Img("http:" + pictUrl.toString()));
                            }
                        }
                        break;
fanli/src/main/webapp/client/gonglue/index.html
@@ -188,5 +188,4 @@
        });
    }
</script>
</html>