yujian
2019-10-18 3aadf7bed39a775349097ca991878613717b768f
Merge branch 'div' of ssh://193.112.35.168:29418/fanli-server into div

# Conflicts:
# fanli/src/main/java/com/yeshi/fanli/controller/admin/ExtractAdminController.java
10个文件已修改
4个文件已删除
815 ■■■■■ 已修改文件
fanli/libs/osp-sdk-1.0.jar 补丁 | 查看 | 原始文档 | blame | 历史
fanli/libs/vop-sdk-1.0.jar 补丁 | 查看 | 原始文档 | blame | 历史
fanli/pom.xml 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/admin/ExtractAdminController.java 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/order/CommonOrderCountMapper.java 153 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/job/order/taobao/UpdateOrderJob.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderCountMapper.xml 410 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/count/CommonOrderCountServiceImpl.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/order/CommonOrderCountService.java 52 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/SpringContext.java 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/factory/goods/CommonOrderFactory.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoOrderUtil.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/webapp/WEB-INF/lib/osp-sdk.jar 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/webapp/WEB-INF/lib/vop-sdk.jar 补丁 | 查看 | 原始文档 | blame | 历史
fanli/libs/osp-sdk-1.0.jar
Binary files differ
fanli/libs/vop-sdk-1.0.jar
Binary files differ
fanli/pom.xml
@@ -134,24 +134,6 @@
            <scope>system</scope>
            <systemPath>${basedir}/libs/vpush-server-sdk-2.0.jar</systemPath>
        </dependency>
        <!-- 唯品会 -->
        <dependency>
            <groupId>vop-sdk</groupId>
            <artifactId>vop-sdk</artifactId>
            <version>1.0</version>
            <scope>system</scope>
            <systemPath>${basedir}/libs/vop-sdk-1.0.jar</systemPath>
        </dependency>
        <dependency>
            <groupId>osp-sdk</groupId>
            <artifactId>osp-sdk</artifactId>
            <version>1.0</version>
            <scope>system</scope>
            <systemPath>${basedir}/libs/osp-sdk-1.0.jar</systemPath>
        </dependency>
    </dependencies>
fanli/src/main/java/com/yeshi/fanli/controller/admin/ExtractAdminController.java
@@ -50,6 +50,7 @@
import com.yeshi.fanli.service.inter.money.extract.ExtractAuditRecordService;
import com.yeshi.fanli.service.inter.money.extract.ExtractCountService;
import com.yeshi.fanli.service.inter.money.extract.ExtractService;
import com.yeshi.fanli.service.inter.order.CommonOrderCountService;
import com.yeshi.fanli.service.inter.order.tb.TaoBaoOrderService;
import com.yeshi.fanli.service.inter.order.tb.TaoBaoWeiQuanOrderService;
import com.yeshi.fanli.service.inter.push.PushRecordService;
@@ -102,10 +103,12 @@
    @Resource
    private TaoBaoWeiQuanOrderService taoBaoWeiQuanOrderService;
    @Resource
    private UserInfoExtraService userInfoExtraService;
    @Resource
    private CommonOrderCountService commonOrderCountService;
    /**
     * 
@@ -397,6 +400,11 @@
                if (adminUser == null) {
                    record.setAdminUser(new AdminUser());
                }
                // 查询用户备注信息
                UserInfoExtra extra = userInfoExtraService.getUserInfoExtra(record.getExtract().getUserInfo().getId());
                if (extra != null) {
                    record.getExtract().getUserInfo().setStateDesc(extra.getMark());
                }
                int warnLevel = 0;
                Extract extract = record.getExtract();
@@ -436,7 +444,26 @@
                    }
                    record.setExtraInfoStr(desc.toString());
                }
                if (warnLevel == 0) {
                    // 查询同店铺商品,同商品订单超过一定数量的
                    List<Integer> typeList = new ArrayList<>();
                    typeList.add(HongBaoV2.TYPE_ZIGOU);
                    long sameGoodsOrderCount = commonOrderCountService.countSameGoodsOrderByUidAndHongBaoType(typeList,
                            record.getExtract().getUserInfo().getId(),
                            Integer.parseInt(configService.get("admin_min_same_goods_order_count")));
                    long sameShopOrderCount = commonOrderCountService.countSameShopOrderByUidAndHongBaoType(typeList,
                            record.getExtract().getUserInfo().getId(),
                            Integer.parseInt(configService.get("admin_min_same_shop_order_count")));
                    if (sameGoodsOrderCount > 0 || sameShopOrderCount > 0) {
                        warnLevel = 3;
                        record.setExtraInfoStr(
                                String.format("同店铺:%s   同商品:%s", sameShopOrderCount, sameGoodsOrderCount));
                    }
                }
                record.setWarnLevel(warnLevel);
            }
            int count = extractAuditRecordService.getMyAuditedTimeSlotCount(key, state, null, days);
@@ -446,7 +473,7 @@
            GsonBuilder gsonBuilder = new GsonBuilder();
            gsonBuilder.serializeNulls();
            gsonBuilder.setDateFormat("yyyy-MM-dd HH:mm:ss");
            Gson gson = gsonBuilder.create();
            JSONObject data = new JSONObject();
@@ -560,14 +587,14 @@
                } else {
                    surplusTime = DateUtil.dateDiff(formattodayTime, formatTime);
                }
                String mark = "";
                UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(extract.getUserInfo().getId());
                if (userInfoExtra != null && !StringUtil.isNullOrEmpty(userInfoExtra.getMark())) {
                    mark = "警惕!! " + userInfoExtra.getMark();
                }
                data.put("mark",mark);
                data.put("mark", mark);
                data.put("extract", extract);
                data.put("beforeMoney", beforeMoney);
                data.put("surplusTime", surplusTime);
@@ -637,7 +664,7 @@
                        mark = "警惕!! " + userInfoExtra.getMark();
                    }
                    data.put("mark",mark);
                    data.put("mark", mark);
                    data.put("extract", extract);
                    data.put("beforeMoney", beforeMoney);
                    data.put("surplusTime", surplusTime);
@@ -850,8 +877,8 @@
                    innerList.put("name", "驳回数");
                }
                List<ChartTDO> list = extractAuditRecordService.countAuditTotal(state, dateType, year,
                        startTime, endTime);
                List<ChartTDO> list = extractAuditRecordService.countAuditTotal(state, dateType, year, startTime,
                        endTime);
                if (dateType != 3) {
                    innerList.put("data", gson.toJson(AdminUtils.dayOrMonthDataFactory(dateType, dateList, list)));
                } else {
@@ -935,8 +962,8 @@
            JSONObject innerList = new JSONObject();
            innerList.put("name", "总计");
            List<ChartTDO> list = extractAuditRecordService.countExtractApplyMoney(null, dateType, year,
                    startTime, endTime);
            List<ChartTDO> list = extractAuditRecordService.countExtractApplyMoney(null, dateType, year, startTime,
                    endTime);
            if (dateType != 3) {
                innerList.put("data", gson.toJson(AdminUtils.dayOrMonthDataFactory(dateType, dateList, list)));
@@ -1020,12 +1047,11 @@
            Gson gson = new Gson();
            List<String> dateList = AdminUtils.getDateList(dateType, startTime, endTime, year);
            JSONObject innerList = new JSONObject();
            innerList.put("name", "总计");
            List<ChartTDO> list = extractAuditRecordService.countExtractApplyNumber(null, dateType, year,
                    startTime, endTime);
            List<ChartTDO> list = extractAuditRecordService.countExtractApplyNumber(null, dateType, year, startTime,
                    endTime);
            if (dateType != 3) {
                innerList.put("data", gson.toJson(AdminUtils.dayOrMonthDataFactory(dateType, dateList, list)));
@@ -1057,7 +1083,6 @@
        }
    }
    
    /**
     * 下载提现红包Openid
     * @param callback
@@ -1072,28 +1097,29 @@
                JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无用户满足自动提现条件"));
                return;
            }
            String filepath = "自动提现OpenId "+ java.lang.System.currentTimeMillis() + ".txt";
            String filepath = "自动提现OpenId " + java.lang.System.currentTimeMillis() + ".txt";
            response.reset();
            response.setContentType("application/octet-stream");
            String fileName= URLDecoder.decode(filepath,"utf-8");
            response.addHeader("Content-Disposition","attachment;"+ "filename=\"" +URLEncoder.encode(fileName, "utf-8") + "\"");
            response.setContentType("application/octet-stream");
            String fileName = URLDecoder.decode(filepath, "utf-8");
            response.addHeader("Content-Disposition",
                    "attachment;" + "filename=\"" + URLEncoder.encode(fileName, "utf-8") + "\"");
            StringBuilder sb = new StringBuilder();
            for(String t:list){
                sb.append(t+"\r\n");
            for (String t : list) {
                sb.append(t + "\r\n");
            }
            String opid_str = sb.toString();
            if (!StringUtil.isNullOrEmpty(opid_str) && opid_str.endsWith("\r\n")) {
                opid_str = opid_str.substring(0, opid_str.length() - 2);
            }
            OutputStream os = response.getOutputStream();
            byte[] byt = opid_str.getBytes();
            os.write(byt);
            os.flush();
            os.close();
            OutputStream os = response.getOutputStream();
            byte[] byt = opid_str.getBytes();
            os.write(byt);
            os.flush();
            os.close();
        } catch (Exception e) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
            e.printStackTrace();
@@ -1140,7 +1166,7 @@
                JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无用户满足自动提现条件"));
                return;
            }
            if (pageIndex == null || pageIndex < 1) {
                pageIndex = 1;
            }
@@ -1149,22 +1175,22 @@
            if (pageSize == null || pageSize < 1) {
                pageSize = Constant.PAGE_SIZE;
            }
            int count = list.size();
            int totalPage = count % pageSize == 0 ? count / pageSize : count / pageSize + 1;
            PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
            List<UserInfo> listResult = null;
            if (pageIndex < totalPage) {
                int start = (pageIndex - 1) * pageSize;
                listResult = list.subList(start, start + pageSize);
            } else if (pageIndex == totalPage) {
                 listResult = list.subList((pageIndex - 1) * pageSize, list.size());
                listResult = list.subList((pageIndex - 1) * pageSize, list.size());
            } else {
                JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("没有更多了"));
                return;
            }
            JSONObject data = new JSONObject();
            data.put("pe", pe);
            data.put("result_list", listResult);
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/order/CommonOrderCountMapper.java
@@ -1,66 +1,89 @@
package com.yeshi.fanli.dao.mybatis.order;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Param;
import com.yeshi.fanli.dto.ChartTDO;
public interface CommonOrderCountMapper {
    /**
     * 当前各个状态订单数
     * @param state 状态
     * @return
     */
    Long countByState(@Param("state")Integer state);
    /**
     *  统计所有订单
     * @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);
    /**
     * 奖金统计
     *
     * @param uid
     * @return
     */
    Map<String, Object> countOrderNumberBySettleTime(@Param("uid")Long uid, @Param("state")Integer state,
            @Param("day")Integer day);
    /**
     *   统计自购、分享有效订单数量
     *
     * @param uid
     * @return
     */
    long countValidOrder(@Param("uid")Long uid);
    /**
     * 根据订单号 查询金额
     * @param orderNo
     * @return
     */
    BigDecimal getMoneyByOrderNo(@Param("orderNo")String orderNo);
    /**
     * 统计已到账返利订单
     * @param uid
     * @param dateTime
     * @return
     */
    long countValidOrderByDate(@Param("uid")Long uid, @Param("dateTime")String dateTime);
package com.yeshi.fanli.dao.mybatis.order;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Param;
import com.yeshi.fanli.dto.ChartTDO;
public interface CommonOrderCountMapper {
    /**
     * 当前各个状态订单数
     *
     * @param state
     *            状态
     * @return
     */
    Long countByState(@Param("state") Integer state);
    /**
     * 统计所有订单
     *
     * @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);
    /**
     * 奖金统计
     *
     * @param uid
     * @return
     */
    Map<String, Object> countOrderNumberBySettleTime(@Param("uid") Long uid, @Param("state") Integer state,
            @Param("day") Integer day);
    /**
     * 统计自购、分享有效订单数量
     *
     * @param uid
     * @return
     */
    long countValidOrder(@Param("uid") Long uid);
    /**
     * 根据订单号 查询金额
     *
     * @param orderNo
     * @return
     */
    BigDecimal getMoneyByOrderNo(@Param("orderNo") String orderNo);
    /**
     * 统计已到账返利订单
     *
     * @param uid
     * @param dateTime
     * @return
     */
    long countValidOrderByDate(@Param("uid") Long uid, @Param("dateTime") String dateTime);
    /**
     * 查询用户在同一店铺购买超过一定数量商品的店铺数量
     *
     * @param typeList
     *            -红包类型
     * @param uid
     *            -用户ID
     * @param minSameShopGoodsCount
     *            -同一店铺买的最小订单数
     * @return
     */
    long countSameShopOrderByUidAndHongBaoType(@Param("typeList") List<Integer> typeList, @Param("uid") Long uid,
            @Param("minSameShopGoodsCount") int minSameShopGoodsCount);
    /**
     * 查询用户购买相同商品超过一定的订单数量的商品数量
     * @param typeList
     * @param uid
     * @param minSameGoodsOrderCount
     * @return
     */
    long countSameGoodsOrderByUidAndHongBaoType(@Param("typeList") List<Integer> typeList, @Param("uid") Long uid,
            @Param("minSameGoodsOrderCount") int minSameGoodsOrderCount);
}
fanli/src/main/java/com/yeshi/fanli/job/order/taobao/UpdateOrderJob.java
@@ -322,9 +322,9 @@
    // 每15分钟爬取一次
    @Scheduled(cron = "0 0/15 * * * ? ")
    public void pullCommonOrder() {
        LogHelper.job("正在执行15min订单爬取");
        if (!Constant.IS_TASK)
            return;
        LogHelper.job("正在执行15min订单爬取");
        long currentTime = System.currentTimeMillis() - 1000 * 60;
        String h = TimeUtil.getGernalTime(currentTime, "HH");
        String m = TimeUtil.getGernalTime(currentTime, "mm");
fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderCountMapper.xml
@@ -1,185 +1,225 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeshi.fanli.dao.mybatis.order.CommonOrderCountMapper">
    <resultMap id="ChartMap" type="com.yeshi.fanli.dto.ChartTDO">
        <result column="showDate" property="showDate" jdbcType="VARCHAR" />
        <result column="showValue" property="showValue" jdbcType="VARCHAR" />
    </resultMap>
    <sql id="Column_DateType">
        <if test="dateType == 1">
            DATE_FORMAT(t.`co_third_create_time`,'%Y-%m-%d') AS 'showDate'
        </if>
        <if test="dateType == 2">
            DATE_FORMAT(t.`co_third_create_time`,'%m') AS 'showDate'
        </if>
        <if test="dateType == 3">
            DATE_FORMAT(t.`co_third_create_time`,'%Y') AS 'showDate'
        </if>
    </sql>
    <sql id="Count_Select_DateType">
        <if test="startTime != null and startTime != '' ">
            AND DATE_FORMAT(t.`co_third_create_time`,'%Y-%m-%d')<![CDATA[ >= ]]>'${startTime}'
        </if>
        <if test="endTime != null and endTime != '' ">
            AND DATE_FORMAT(t.`co_third_create_time`,'%Y-%m-%d') <![CDATA[ <= ]]>'${endTime}'
        </if>
        <if test="year != null and year != '' ">
            AND DATE_FORMAT(t.`co_third_create_time`,'%Y') = '${year}'
        </if>
    </sql>
    <sql id="Count_Group_DateType">
        <if test="dateType == 1">
            GROUP BY DATE_FORMAT(t.`co_third_create_time`,'%Y-%m-%d')
        </if>
        <if test="dateType == 2">
            GROUP BY DATE_FORMAT(t.`co_third_create_time`,'%Y-%m')
        </if>
        <if test="dateType == 3">
            GROUP BY DATE_FORMAT(t.`co_third_create_time`,'%Y')
        </if>
    </sql>
    <select id="countByState" resultType="java.lang.Long">
        SELECT IFNULL(COUNT(t.`co_id`),0) FROM  `yeshi_ec_common_order` t
        WHERE 1=1
            <if test="type != null">
                AND t.`co_state` = #{state}
            </if>
    </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">
        <!-- 统计历史订单数量  根据结算时间 -->
        SELECT SUM(A.self)AS totalSelf,SUM(A.shared)AS totalShared,SUM(A.invite)AS totalInvite
        FROM (
            <!-- 返利订单 -->
            SELECT IFNULL(COUNT(ho_id),0) AS self,0 AS shared,0 AS invite
            FROM  (SELECT ho.`ho_id` FROM yeshi_ec_hongbao_order ho
                LEFT JOIN (
                    SELECT * FROM yeshi_ec_hongbao_v2 v2
                    WHERE v2.`hb_uid`= ${uid} and v2.hb_state!=4 AND (v2.`hb_type` = 1 OR v2.`hb_type` = 2)
                    ) hb  ON hb.hb_id=ho.`ho_hongbao_id` <!-- 自购订单 -->
            LEFT JOIN yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id`
            WHERE hb.hb_id IS NOT NULL
                 <if test="state != null">
                    AND co.`co_state` = ${state}
                </if>
                <if test="day != null and day == 1"> <!-- 今天 -->
                    AND TO_DAYS(co.`co_settle_time`) = TO_DAYS(NOW())
                </if>
                <if test="day != null and day == 2">  <!-- 昨天 -->
                    AND TO_DAYS(NOW()) - TO_DAYS(co.co_settle_time) = 1
                </if>
                <if test="day != null and day == 3">  <!-- 本月 -->
                    AND DATE_FORMAT(co.`co_settle_time`,'%Y%m') =
                    DATE_FORMAT(CURDATE(),'%Y%m')
                </if>
                <if test="day != null and day == 4">  <!-- 上月 -->
                    AND PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'),
                    DATE_FORMAT(co.`co_settle_time`, '%Y%m')) = 1
                </if>
            GROUP BY co.`co_order_no`, co.`co_source_type`)YX
            UNION ALL
            <!-- 分享订单 -->
            SELECT 0 AS self,IFNULL(COUNT(ho_id),0) AS shared,0 AS invite
            FROM  (SELECT ho.`ho_id` FROM yeshi_ec_hongbao_order ho
                    LEFT JOIN (
                        SELECT * FROM yeshi_ec_hongbao_v2 v2
                        WHERE v2.`hb_uid`= ${uid} AND v2.`hb_type` = 20 and v2.hb_state!=4
                    ) hb  ON hb.hb_id=ho.`ho_hongbao_id`  <!-- 分享订单 -->
                LEFT JOIN yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id`
                WHERE hb.hb_id IS NOT NULL and hb.hb_state!=4
                    <if test="state != null">
                        AND co.`co_state` = ${state}
                    </if>
                    <if test="day != null and day == 1"> <!-- 今天 -->
                        AND TO_DAYS(co.`co_settle_time`) = TO_DAYS(NOW())
                    </if>
                    <if test="day != null and day == 2">  <!-- 昨天 -->
                        AND TO_DAYS(NOW()) - TO_DAYS(co.`co_settle_time`) = 1
                    </if>
                    <if test="day != null and day == 3">  <!-- 本月 -->
                        AND DATE_FORMAT(co.`co_settle_time`,'%Y%m') =
                        DATE_FORMAT(CURDATE(),'%Y%m')
                    </if>
                    <if test="day != null and day == 4">  <!-- 上月 -->
                        AND PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'),
                        DATE_FORMAT(co.`co_settle_time`, '%Y%m')) = 1
                    </if>
                GROUP BY co.`co_order_no`, co.`co_source_type`)WQ
            UNION ALL
            <!-- 邀请订单 -->
            SELECT 0 AS self,0 AS shared,IFNULL(COUNT(ho_id),0) AS invite
            FROM  (SELECT ho.`ho_id` FROM yeshi_ec_hongbao_order ho
                LEFT JOIN (
                    SELECT * FROM yeshi_ec_hongbao_v2 v2
                    WHERE v2.`hb_uid`= ${uid}
                         AND (v2.`hb_type` = 5 OR v2.`hb_type` = 6 OR v2.`hb_type` = 7
                               OR v2.`hb_type` = 21 OR v2.`hb_type` = 22 ) and v2.hb_state!=4
                    ) hbp  ON hbp.hb_pid=ho.`ho_hongbao_id`
                LEFT JOIN yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id`
                WHERE  hbp.hb_id IS NOT NULL and hbp.hb_state!=4
                    <if test="state != null">
                        AND co.`co_state` = ${state}
                    </if>
                    <if test="day != null and day == 1"> <!-- 今天 -->
                        AND TO_DAYS(co.`co_settle_time`) = TO_DAYS(NOW())
                    </if>
                    <if test="day != null and day == 2">  <!-- 昨天 -->
                        AND TO_DAYS(NOW()) - TO_DAYS(co.`co_settle_time`) = 1
                    </if>
                    <if test="day != null and day == 3">  <!-- 本月 -->
                        AND DATE_FORMAT(co.`co_settle_time`,'%Y%m') =
                        DATE_FORMAT(CURDATE(),'%Y%m')
                    </if>
                    <if test="day != null and day == 4">  <!-- 上月 -->
                        AND PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'),
                        DATE_FORMAT(co.`co_settle_time`, '%Y%m')) = 1
                    </if>
                GROUP BY co.`co_order_no`, co.`co_source_type`)SX
        )A
    </select>
    <select id="countValidOrder" resultType="java.lang.Long">
        SELECT IFNULL(COUNT(co.`co_id`),0) FROM yeshi_ec_hongbao_order ho
        LEFT JOIN (SELECT * FROM yeshi_ec_hongbao_v2 v2
            WHERE v2.`hb_uid`= #{uid}  AND v2.`hb_type` IN(1,20))hb
            ON IF(hb.hb_pid IS NULL,hb.hb_id,hb.hb_pid)=ho.`ho_hongbao_id`
        LEFT JOIN yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id`
        WHERE hb.hb_id IS NOT NULL AND <![CDATA[co.`co_state` <> 4]]>
    </select>
    <select id="getMoneyByOrderNo" resultType="java.math.BigDecimal">
        SELECT SUM(v2.`hb_money`) FROM yeshi_ec_common_order co
        LEFT JOIN  yeshi_ec_hongbao_order ho ON co.`co_id`=ho.`ho_order_id`
        LEFT JOIN yeshi_ec_hongbao_v2 v2 ON  v2.hb_id=ho.`ho_hongbao_id`
        WHERE co.`co_order_no` = #{orderNo}
    </select>
    <select id="countValidOrderByDate" resultType="Long">
        SELECT IFNULL(COUNT(co_order_no),0) FROM
            (SELECT DISTINCT co.co_order_no FROM yeshi_ec_common_order co
             LEFT JOIN  yeshi_ec_hongbao_order ho ON co.`co_id`=ho.`ho_order_id`
             LEFT JOIN yeshi_ec_hongbao_v2 v2 ON  v2.hb_id=ho.`ho_hongbao_id`
             WHERE co.`co_uid` = #{uid} AND v2.`hb_type` = 1
                   AND v2.`hb_state` = 3 AND  AND co.`co_third_create_time` <![CDATA[>]]> #{dateTime})A
    </select>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeshi.fanli.dao.mybatis.order.CommonOrderCountMapper">
    <resultMap id="ChartMap" type="com.yeshi.fanli.dto.ChartTDO">
        <result column="showDate" property="showDate" jdbcType="VARCHAR" />
        <result column="showValue" property="showValue" jdbcType="VARCHAR" />
    </resultMap>
    <sql id="Column_DateType">
        <if test="dateType == 1">
            DATE_FORMAT(t.`co_third_create_time`,'%Y-%m-%d') AS 'showDate'
        </if>
        <if test="dateType == 2">
            DATE_FORMAT(t.`co_third_create_time`,'%m') AS 'showDate'
        </if>
        <if test="dateType == 3">
            DATE_FORMAT(t.`co_third_create_time`,'%Y') AS 'showDate'
        </if>
    </sql>
    <sql id="Count_Select_DateType">
        <if test="startTime != null and startTime != '' ">
            AND DATE_FORMAT(t.`co_third_create_time`,'%Y-%m-%d')<![CDATA[ >= ]]>'${startTime}'
        </if>
        <if test="endTime != null and endTime != '' ">
            AND DATE_FORMAT(t.`co_third_create_time`,'%Y-%m-%d') <![CDATA[ <= ]]>'${endTime}'
        </if>
        <if test="year != null and year != '' ">
            AND DATE_FORMAT(t.`co_third_create_time`,'%Y') = '${year}'
        </if>
    </sql>
    <sql id="Count_Group_DateType">
        <if test="dateType == 1">
            GROUP BY DATE_FORMAT(t.`co_third_create_time`,'%Y-%m-%d')
        </if>
        <if test="dateType == 2">
            GROUP BY DATE_FORMAT(t.`co_third_create_time`,'%Y-%m')
        </if>
        <if test="dateType == 3">
            GROUP BY DATE_FORMAT(t.`co_third_create_time`,'%Y')
        </if>
    </sql>
    <select id="countByState" resultType="java.lang.Long">
        SELECT IFNULL(COUNT(t.`co_id`),0) FROM  `yeshi_ec_common_order` t
        WHERE 1=1
            <if test="type != null">
                AND t.`co_state` = #{state}
            </if>
    </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">
        <!-- 统计历史订单数量  根据结算时间 -->
        SELECT SUM(A.self)AS totalSelf,SUM(A.shared)AS totalShared,SUM(A.invite)AS totalInvite
        FROM (
            <!-- 返利订单 -->
            SELECT IFNULL(COUNT(ho_id),0) AS self,0 AS shared,0 AS invite
            FROM  (SELECT ho.`ho_id` FROM yeshi_ec_hongbao_order ho
                LEFT JOIN (
                    SELECT * FROM yeshi_ec_hongbao_v2 v2
                    WHERE v2.`hb_uid`= ${uid} and v2.hb_state!=4 AND (v2.`hb_type` = 1 OR v2.`hb_type` = 2)
                    ) hb  ON hb.hb_id=ho.`ho_hongbao_id` <!-- 自购订单 -->
            LEFT JOIN yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id`
            WHERE hb.hb_id IS NOT NULL
                 <if test="state != null">
                    AND co.`co_state` = ${state}
                </if>
                <if test="day != null and day == 1"> <!-- 今天 -->
                    AND TO_DAYS(co.`co_settle_time`) = TO_DAYS(NOW())
                </if>
                <if test="day != null and day == 2">  <!-- 昨天 -->
                    AND TO_DAYS(NOW()) - TO_DAYS(co.co_settle_time) = 1
                </if>
                <if test="day != null and day == 3">  <!-- 本月 -->
                    AND DATE_FORMAT(co.`co_settle_time`,'%Y%m') =
                    DATE_FORMAT(CURDATE(),'%Y%m')
                </if>
                <if test="day != null and day == 4">  <!-- 上月 -->
                    AND PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'),
                    DATE_FORMAT(co.`co_settle_time`, '%Y%m')) = 1
                </if>
            GROUP BY co.`co_order_no`, co.`co_source_type`)YX
            UNION ALL
            <!-- 分享订单 -->
            SELECT 0 AS self,IFNULL(COUNT(ho_id),0) AS shared,0 AS invite
            FROM  (SELECT ho.`ho_id` FROM yeshi_ec_hongbao_order ho
                    LEFT JOIN (
                        SELECT * FROM yeshi_ec_hongbao_v2 v2
                        WHERE v2.`hb_uid`= ${uid} AND v2.`hb_type` = 20 and v2.hb_state!=4
                    ) hb  ON hb.hb_id=ho.`ho_hongbao_id`  <!-- 分享订单 -->
                LEFT JOIN yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id`
                WHERE hb.hb_id IS NOT NULL and hb.hb_state!=4
                    <if test="state != null">
                        AND co.`co_state` = ${state}
                    </if>
                    <if test="day != null and day == 1"> <!-- 今天 -->
                        AND TO_DAYS(co.`co_settle_time`) = TO_DAYS(NOW())
                    </if>
                    <if test="day != null and day == 2">  <!-- 昨天 -->
                        AND TO_DAYS(NOW()) - TO_DAYS(co.`co_settle_time`) = 1
                    </if>
                    <if test="day != null and day == 3">  <!-- 本月 -->
                        AND DATE_FORMAT(co.`co_settle_time`,'%Y%m') =
                        DATE_FORMAT(CURDATE(),'%Y%m')
                    </if>
                    <if test="day != null and day == 4">  <!-- 上月 -->
                        AND PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'),
                        DATE_FORMAT(co.`co_settle_time`, '%Y%m')) = 1
                    </if>
                GROUP BY co.`co_order_no`, co.`co_source_type`)WQ
            UNION ALL
            <!-- 邀请订单 -->
            SELECT 0 AS self,0 AS shared,IFNULL(COUNT(ho_id),0) AS invite
            FROM  (SELECT ho.`ho_id` FROM yeshi_ec_hongbao_order ho
                LEFT JOIN (
                    SELECT * FROM yeshi_ec_hongbao_v2 v2
                    WHERE v2.`hb_uid`= ${uid}
                         AND (v2.`hb_type` = 5 OR v2.`hb_type` = 6 OR v2.`hb_type` = 7
                               OR v2.`hb_type` = 21 OR v2.`hb_type` = 22 ) and v2.hb_state!=4
                    ) hbp  ON hbp.hb_pid=ho.`ho_hongbao_id`
                LEFT JOIN yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id`
                WHERE  hbp.hb_id IS NOT NULL and hbp.hb_state!=4
                    <if test="state != null">
                        AND co.`co_state` = ${state}
                    </if>
                    <if test="day != null and day == 1"> <!-- 今天 -->
                        AND TO_DAYS(co.`co_settle_time`) = TO_DAYS(NOW())
                    </if>
                    <if test="day != null and day == 2">  <!-- 昨天 -->
                        AND TO_DAYS(NOW()) - TO_DAYS(co.`co_settle_time`) = 1
                    </if>
                    <if test="day != null and day == 3">  <!-- 本月 -->
                        AND DATE_FORMAT(co.`co_settle_time`,'%Y%m') =
                        DATE_FORMAT(CURDATE(),'%Y%m')
                    </if>
                    <if test="day != null and day == 4">  <!-- 上月 -->
                        AND PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'),
                        DATE_FORMAT(co.`co_settle_time`, '%Y%m')) = 1
                    </if>
                GROUP BY co.`co_order_no`, co.`co_source_type`)SX
        )A
    </select>
    <select id="countValidOrder" resultType="java.lang.Long">
        SELECT IFNULL(COUNT(co.`co_id`),0) FROM yeshi_ec_hongbao_order ho
        LEFT JOIN (SELECT * FROM yeshi_ec_hongbao_v2 v2
            WHERE v2.`hb_uid`= #{uid}  AND v2.`hb_type` IN(1,20))hb
            ON IF(hb.hb_pid IS NULL,hb.hb_id,hb.hb_pid)=ho.`ho_hongbao_id`
        LEFT JOIN yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id`
        WHERE hb.hb_id IS NOT NULL AND <![CDATA[co.`co_state` <> 4]]>
    </select>
    <select id="getMoneyByOrderNo" resultType="java.math.BigDecimal">
        SELECT SUM(v2.`hb_money`) FROM yeshi_ec_common_order co
        LEFT JOIN  yeshi_ec_hongbao_order ho ON co.`co_id`=ho.`ho_order_id`
        LEFT JOIN yeshi_ec_hongbao_v2 v2 ON  v2.hb_id=ho.`ho_hongbao_id`
        WHERE co.`co_order_no` = #{orderNo}
    </select>
    <select id="countValidOrderByDate" resultType="Long">
        SELECT IFNULL(COUNT(co_order_no),0) FROM
            (SELECT DISTINCT co.co_order_no FROM yeshi_ec_common_order co
             LEFT JOIN  yeshi_ec_hongbao_order ho ON co.`co_id`=ho.`ho_order_id`
             LEFT JOIN yeshi_ec_hongbao_v2 v2 ON  v2.hb_id=ho.`ho_hongbao_id`
             WHERE co.`co_uid` = #{uid} AND v2.`hb_type` = 1
                   AND v2.`hb_state` = 3 AND  AND co.`co_third_create_time` <![CDATA[>]]> #{dateTime})A
    </select>
    <select id="countSameShopOrderByUidAndHongBaoType" resultType="Long">
        SELECT COUNT(*) FROM
        (
            SELECT a.*,COUNT(*) AS num FROM
            (
                SELECT co.*,COUNT(*) AS c,g.`cog_shop_id` AS shopId FROM yeshi_ec_common_order co LEFT JOIN yeshi_ec_hongbao_order ho ON co.`co_id`=ho.`ho_order_id` LEFT JOIN yeshi_ec_hongbao_v2 v ON v.`hb_id`=ho.`ho_hongbao_id` LEFT JOIN yeshi_ec_common_order_goods g  ON co.`co_order_goods_id`=g.`cog_id`  WHERE  co.`co_uid`=#{uid}
                <if test="typeList!=null">
                    <foreach collection="typeList" item="type" open=" and (" separator=" or " close=")">
                        v.`hb_type`=#{type}
                    </foreach>
                </if>
                AND v.`hb_id` IS NOT NULL
                AND (co.`co_state`=1 OR  co.`co_state`=2 OR co.`co_state`=3)
                AND g.`cog_shop_id`>0 GROUP BY co.`co_order_no`,co.`co_source_type`
            ) a GROUP BY a.shopId
        ) b WHERE b.num>=#{minSameShopGoodsCount};
    </select>
    <select id="countSameGoodsOrderByUidAndHongBaoType" resultType="Long">
        SELECT COUNT(*) FROM
        (
            SELECT a.goodsId,COUNT(*) AS c FROM
            (
                SELECT co.`co_order_goods_id` AS goodsId,co.`co_order_no` FROM yeshi_ec_common_order co LEFT JOIN yeshi_ec_hongbao_order ho ON co.`co_id`=ho.`ho_order_id` LEFT JOIN yeshi_ec_hongbao_v2 v ON v.`hb_id`=ho.`ho_hongbao_id` LEFT JOIN yeshi_ec_common_order_goods g  ON co.`co_order_goods_id`=g.`cog_id`  WHERE co.`co_uid`=#{uid}
                <if test="typeList!=null">
                    <foreach collection="typeList" item="type" open=" and (" separator=" or " close=")">
                        v.`hb_type`=#{type}
                    </foreach>
                </if>
                AND v.`hb_id` IS NOT NULL
                AND (co.`co_state`=1 OR  co.`co_state`=2 OR co.`co_state`=3)
                GROUP BY co.`co_order_no`,co.`co_order_goods_id`
            ) a GROUP BY goodsId
        ) b WHERE b.c>=#{minSameGoodsOrderCount}
    </select>
</mapper>
fanli/src/main/java/com/yeshi/fanli/service/impl/count/CommonOrderCountServiceImpl.java
@@ -31,7 +31,7 @@
    @Resource
    private JDOrderItemMapper jdOrderItemMapper;
    @Resource
    private PDDOrderMapper pddOrderMapper;
@@ -43,8 +43,7 @@
        return commonOrderCountMapper.countByState(state);
    }
    public List<ChartTDO> dayFactory(String startTime, String endTime, List<ChartTDO> list)
            throws Exception {
    public List<ChartTDO> dayFactory(String startTime, String endTime, List<ChartTDO> list) throws Exception {
        List<ChartTDO> listObject = new ArrayList<ChartTDO>();
        if (startTime.equals(endTime)) {
            ChartTDO chartTDO = list.get(0);
@@ -96,7 +95,7 @@
            String total = null;
            for (int j = 0; j < list.size(); j++) {
                ChartTDO chartTDO = list.get(j);
                String month =chartTDO.getShowDate();
                String month = chartTDO.getShowDate();
                if ((i + "").equalsIgnoreCase(month) || i == Integer.parseInt(month)) {
                    total = chartTDO.getShowValue();
                    break;
@@ -106,7 +105,7 @@
            if (total == null) {
                total = "0";
            }
            ChartTDO chartTDO = new ChartTDO();
            chartTDO.setShowValue(total);
            if (i < 10) {
@@ -133,14 +132,14 @@
    }
    @Override
    public List<ChartTDO> getTrackAccuracyRate(Integer dateType, String year, String startTime,
            String endTime, int sourceType) throws Exception {
    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);
        List<ChartTDO> listTotal = commonOrderCountMapper.countOrderNumber(dateType, year, startTime, endTime,
                sourceType);
        if (listTotal == null || listTotal.size() == 0) {
            return result_list;
        }
@@ -205,14 +204,14 @@
    }
    @Override
    public List<ChartTDO> countWeiQaunOrderMoney(Integer dateType, String year, String startTime,
            String endTime) throws Exception {
    public List<ChartTDO> countWeiQaunOrderMoney(Integer dateType, String year, String startTime, String endTime)
            throws Exception {
        return taoBaoWeiQuanOrderMapper.countWeiQaunOrderMoney(dateType, year, startTime, endTime);
    }
    @Override
    public List<ChartTDO> countWeiQaunOrderNumber(Integer dateType, String year, String startTime,
            String endTime) throws Exception {
    public List<ChartTDO> countWeiQaunOrderNumber(Integer dateType, String year, String startTime, String endTime)
            throws Exception {
        return taoBaoWeiQuanOrderMapper.countWeiQaunOrderNumber(dateType, year, startTime, endTime);
    }
@@ -242,4 +241,14 @@
        return commonOrderCountMapper.countValidOrderByDate(uid, dateTime);
    }
    @Override
    public long countSameShopOrderByUidAndHongBaoType(List<Integer> typeList, Long uid, int minSameShopGoodsCount) {
        return commonOrderCountMapper.countSameShopOrderByUidAndHongBaoType(typeList, uid, minSameShopGoodsCount);
    }
    @Override
    public long countSameGoodsOrderByUidAndHongBaoType(List<Integer> typeList, Long uid, int minSameGoodsOrderCount) {
        return commonOrderCountMapper.countSameGoodsOrderByUidAndHongBaoType(typeList, uid, minSameGoodsOrderCount);
    }
}
fanli/src/main/java/com/yeshi/fanli/service/inter/order/CommonOrderCountService.java
@@ -4,28 +4,33 @@
import java.util.List;
import java.util.Map;
import com.yeshi.fanli.dto.ChartTDO;
import org.apache.ibatis.annotations.Param;
import com.yeshi.fanli.dto.ChartTDO;
public interface CommonOrderCountService {
    /**
     * 当前各个状态订单数
     * @param state 状态
     *
     * @param state
     *            状态
     * @return
     */
    public Long countByState(Integer state);
    /**
     *  统计所有订单
     * 统计所有订单
     *
     * @param channel
     * @return
     */
    public List<ChartTDO> getTrackAccuracyRate(Integer dateType, String year, String startTime,
            String endTime,int sourceType) throws Exception;
    public List<ChartTDO> getTrackAccuracyRate(Integer dateType, String year, String startTime, String endTime,
            int sourceType) throws Exception;
    /**
     * 统计总金额
     *
     * @param dateType
     * @param year
     * @param startTime
@@ -33,11 +38,12 @@
     * @return
     * @throws Exception
     */
    public List<ChartTDO> countWeiQaunOrderMoney(Integer dateType, String year, String startTime,
            String endTime)    throws Exception;
    public List<ChartTDO> countWeiQaunOrderMoney(Integer dateType, String year, String startTime, String endTime)
            throws Exception;
    /**
     * 统计总个数
     *
     * @param dateType
     * @param year
     * @param startTime
@@ -50,6 +56,7 @@
    /**
     * 根据结算时间统计
     *
     * @param uid
     * @param state
     * @param day
@@ -60,25 +67,50 @@
    /**
     * 根据结算时间筛选 上个月已结算的订订单数量
     *
     * @param uid
     * @return
     */
    public Map<String, Object> lastMonthSettleOrderNumber(Long uid);
    /**
     *  根据订单号  统计奖励券加成金额
     * 根据订单号 统计奖励券加成金额
     *
     * @param orderNo
     * @return
     */
    BigDecimal getMoneyByOrderNo(String orderNo);
    /**
     * 统计已到账返利订单
     *
     * @param uid
     * @param dateTime
     * @return
     */
    public long countValidOrderByDate(Long uid, String dateTime);
    /**
     * 查询用户在同一店铺购买超过一定数量商品的店铺数量
     *
     * @param typeList
     *            -红包类型
     * @param uid
     *            -用户ID
     * @param minSameShopGoodsCount
     *            -同一店铺买的最小订单数
     * @return
     */
    long countSameShopOrderByUidAndHongBaoType(List<Integer> typeList, Long uid, int minSameShopGoodsCount);
    /**
     * 查询用户购买相同商品超过一定的订单数量的商品数量
     *
     * @param typeList
     * @param uid
     * @param minSameGoodsOrderCount
     * @return
     */
    long countSameGoodsOrderByUidAndHongBaoType(List<Integer> typeList, Long uid, int minSameGoodsOrderCount);
}
fanli/src/main/java/com/yeshi/fanli/util/SpringContext.java
@@ -173,7 +173,7 @@
            doJDOrderJob();// 京东订单处理
            doPDDOrderJob();// 拼多多订单处理
            doImportantTaoBaoGoodsUpdateJob();// 淘宝重要商品的信息更新
            // doHongBaoRecieveIntegralGetJob();// 返利到账,金币增加
            doHongBaoRecieveIntegralGetJob();// 返利到账,金币增加
            // doPlaceOrderIntegralJob();// 下单赠送金币任务
            // doDouYinDeviceActiveJob();// 抖音设备激活广告监测
        }
@@ -722,7 +722,6 @@
                    }
                }
            });
    }
    /**
@@ -792,8 +791,9 @@
                                                if (threeSale.getSucceedTime() > TimeUtil.convertToTimeTemp("20190901",
                                                        "yyyyMMdd")) {
                                                    if (firstLevelMoney.compareTo(new BigDecimal("0.01")) < 0) {// 一级返利小于0.01
//                                                        integralTaskRecordService.firstRebateOrderRewardBoss(threeSale.getBoss().getId(),
//                                                                hongBaoV2.getUserInfo().getId(), null);
                                                        integralTaskRecordService.firstRebateOrderRewardBoss(
                                                                threeSale.getBoss().getId(),
                                                                hongBaoV2.getUserInfo().getId(), null);
                                                        LogHelper.test("自购-一级用户-" + threeSale.getBoss().getId()
                                                                + "-hongBaoId:" + hongBaoV2.getId());
                                                    }
@@ -809,8 +809,9 @@
                                                    if (threeSale.getSucceedTime() > TimeUtil
                                                            .convertToTimeTemp("20190901", "yyyyMMdd")) {
                                                        if (secondLevelMoney.compareTo(new BigDecimal("0.01")) < 0) {// 二级返利小于0.01
//                                                            integralTaskRecordService.firstRebateOrderRewardBossSuper(threeSale.getBoss().getId(),
//                                                                    hongBaoV2.getUserInfo().getId(), null);
                                                            integralTaskRecordService.firstRebateOrderRewardBossSuper(
                                                                    threeSale.getBoss().getId(),
                                                                    hongBaoV2.getUserInfo().getId(), null);
                                                            LogHelper.test("自购-二级用户-" + threeSale.getBoss().getId()
                                                                    + "-hongBaoId:" + hongBaoV2.getId());
                                                        }
@@ -864,8 +865,9 @@
                                                if (threeSale.getSucceedTime() > TimeUtil.convertToTimeTemp("20190901",
                                                        "yyyyMMdd")) {
                                                    if (firstLevelMoney.compareTo(new BigDecimal("0.01")) < 0) {// 一级返利小于0.01
//                                                        integralTaskRecordService.firstSharerOrderRewardBoss(threeSale.getBoss().getId(),
//                                                                hongBaoV2.getUserInfo().getId(), null);
                                                        integralTaskRecordService.firstSharerOrderRewardBoss(
                                                                threeSale.getBoss().getId(),
                                                                hongBaoV2.getUserInfo().getId(), null);
                                                        LogHelper.test("分享-一级用户-" + threeSale.getBoss().getId()
                                                                + "-hongBaoId:" + hongBaoV2.getId());
                                                    }
@@ -874,9 +876,8 @@
                                        }
                                    }
                                }
                                // HongBaoRecieveCMQManager.getInstance()
                                // .deleteQueueMsg(HongBaoRecieveCMQManager.QUEUE_INTEGRAL,
                                // key);
                                HongBaoRecieveCMQManager.getInstance()
                                        .deleteQueueMsg(HongBaoRecieveCMQManager.QUEUE_INTEGRAL, key);
                            } catch (Exception e) {
                                try {
                                    LogHelper.errorDetailInfo(e);
fanli/src/main/java/com/yeshi/fanli/util/factory/goods/CommonOrderFactory.java
@@ -45,8 +45,8 @@
        } else if (0 == order.getOrderStatus()) {
            state = CommonOrder.STATE_FK;
        } else if (1 == order.getOrderStatus()) {
            state = CommonOrder.STATE_FK;
        } else if (2 == order.getOrderStatus()) {// 确认收货
            state = CommonOrder.STATE_FK;
        } else if (2 == order.getOrderStatus()) {// 确认收货
            state = CommonOrder.STATE_JS;
        } else if (3 == order.getOrderStatus()) {
            state = CommonOrder.STATE_FK;
@@ -89,6 +89,26 @@
        int state = 0;
        if (order.getValidCode() < 16) {
            state = CommonOrder.STATE_SX;
            String stateDesc = null;
            if (order.getValidCode() == 4)
                stateDesc = "京东帮主订单";
            else if (order.getValidCode() == 5)
                stateDesc = "账号异常";
            else if (order.getValidCode() == 6)
                stateDesc = "赠品类目";
            else if (order.getValidCode() == 7)
                stateDesc = "校园订单";
            else if (order.getValidCode() == 8)
                stateDesc = "企业订单";
            else if (order.getValidCode() == 9)
                stateDesc = "团购订单";
            else if (order.getValidCode() == 10)
                stateDesc = "专用发票";
            else if (order.getValidCode() == 11)
                stateDesc = "乡村推广员";
            else if (order.getValidCode() == 13)
                stateDesc = "违规订单";
            commonOrder.setStateDesc(stateDesc);
        } else if (order.getValidCode() == 16) {
            state = CommonOrder.STATE_FK;
        } else if (order.getValidCode() == 17) {
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoOrderUtil.java
@@ -734,7 +734,7 @@
            String tradeId = taoBaoOrder.getTradeId();
            String orderByStr = tradeId.substring(startIndex, endIndex + 1);
            if (orderByStr.length() > 8) {
                LogHelper.error(taoBaoOrder.getOrderId()+ "-订单的orderBy超过8位:" + taoBaoOrder.getOrderBy());
                LogHelper.error(taoBaoOrder.getOrderId() + "-订单的orderBy超过8位:" + taoBaoOrder.getOrderBy());
            }
            int orderBy = Integer.parseInt(orderByStr);
            // taoBaoOrder.setOrderBy(orderBy);
@@ -821,7 +821,7 @@
        Collections.sort(orderList, orderCM);
        String sts = "";
        for (TaoBaoOrder order : orderList) {
            sts += order.getTradeId();
            sts += (order.getTradeId() + "-" + order.getSpecialId() + "-" + order.getRelationId());
        }
        return StringUtil.Md5(sts);
    }
fanli/src/main/webapp/WEB-INF/lib/osp-sdk.jar
Binary files differ
fanli/src/main/webapp/WEB-INF/lib/vop-sdk.jar
Binary files differ