admin
2019-08-26 caafa321a29b1224b3fd97c0ff62dcc304483948
Merge remote-tracking branch 'origin/mater-1.6.0' into mater-1.6.0
3个文件已修改
50 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/HongBaoV2Mapper.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/hongbao/HongBaoV2Mapper.xml 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/HongBaoV2Mapper.java
@@ -127,8 +127,16 @@
     * @param count
     * @return
     */
    List<HongBaoV2> listCanBalanceHongBaoByTypeAndUid(@Param("types") List<Integer> type, @Param("uid") Long uid,
    List<HongBaoV2> listCanBalanceHongBaoByTypeAndUid(@Param("types") List<Integer> type, @Param("uid") Long uid,@Param("start") long start,
            @Param("count") int count);
    /**
     * 计算可以结算红包的数量
     * @param type
     * @param uid
     * @return
     */
    long countCanBalanceHongBaoByTypeAndUid(@Param("types") List<Integer> type, @Param("uid") Long uid);
    /**
     * 根据用户ID,订单状态和结算时间统计邀请赚的订单数量
fanli/src/main/java/com/yeshi/fanli/mapping/hongbao/HongBaoV2Mapper.xml
@@ -221,8 +221,27 @@
        hb_pre_get_time IS NOT NULL AND
        hb_pre_get_time>0 AND
        NOW()>=hb_pre_get_time limit
        #{count}
        #{start},#{count}
    </select>
    <select id="countCanBalanceHongBaoByTypeAndUid" resultType="java.lang.Long">
        select
        count(hb_id)
        from yeshi_ec_hongbao_v2 where hb_uid=#{uid} and `hb_version`=2
        <foreach collection="types" item="type" open=" and ("
            separator=" or " close=")">
            hb_type =
            #{type}
        </foreach>
        and
        (hb_state=1 or hb_state=2) and
        hb_pre_get_time IS NOT NULL AND
        hb_pre_get_time>0 AND
        NOW()>=hb_pre_get_time
    </select>
    <select id="countInviteOrderCountByUidAndSettleTime" resultType="java.lang.Long">
        SELECT COUNT(h.hb_id) FROM yeshi_ec_hongbao_v2 h LEFT JOIN
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java
@@ -574,7 +574,16 @@
        List<Integer> types = new ArrayList<>();
        types.add(HongBaoV2.TYPE_YIJI);
        types.add(HongBaoV2.TYPE_ERJI);
        List<HongBaoV2> hongBaoList = hongBaoV2Mapper.listCanBalanceHongBaoByTypeAndUid(types, uid, 1000);
        long count=    hongBaoV2Mapper.countCanBalanceHongBaoByTypeAndUid(types, uid);
        List<HongBaoV2> hongBaoList =new ArrayList<>();
        //1000条数据为1页
        int page=(int)    (count%1000==0?count/1000:count/1000+1);
        for(int i=0;i<page;i++)
        {
            List<HongBaoV2> tempHongBaoList = hongBaoV2Mapper.listCanBalanceHongBaoByTypeAndUid(types, uid, i*1000,1000);
            if(tempHongBaoList!=null&&tempHongBaoList.size()>0)
                hongBaoList.addAll(tempHongBaoList);
        }
        // 灰度测试中,京东/拼多多订单分享/邀请订单不返利
        for (int i = 0; i < hongBaoList.size(); i++) {
            HongBaoV2 item = hongBaoList.get(i);
@@ -591,7 +600,7 @@
                        hongBaoList.remove(i);
                        i--;
                    } else {// 上级用户不是正常用户,订单均不能到账
                        UserInfo userInfo = userInfoMapper.selectByPrimaryKey(item.getUserInfo().getId());
                        UserInfo userInfo = userInfoMapper.selectByPrimaryKey(co.getUserInfo().getId());
                        if (userInfo == null || userInfo.getState() != UserInfo.STATE_NORMAL) {
                            hongBaoList.remove(i);
                            i--;
@@ -651,7 +660,8 @@
        types.clear();
        types.add(HongBaoV2.TYPE_SHARE_YIJI);
        types.add(HongBaoV2.TYPE_SHARE_ERJI);
        List<HongBaoV2> hbList = hongBaoV2Mapper.listCanBalanceHongBaoByTypeAndUid(types, uid, 10000);
        //TODO 需要处理超过1w条数据的订单
        List<HongBaoV2> hbList = hongBaoV2Mapper.listCanBalanceHongBaoByTypeAndUid(types, uid,0, 10000);
        if (hbList != null && hbList.size() > 0)
            totalHongBaoList.addAll(hbList);
@@ -735,7 +745,8 @@
        // 查询UID的分享赚订单
        types.clear();
        types.add(HongBaoV2.TYPE_SHARE_GOODS);
        List<HongBaoV2> hongBaoShareList = hongBaoV2Mapper.listCanBalanceHongBaoByTypeAndUid(types, uid, 10000);
        //TODO 需要处理超过10000条数据的订单
        List<HongBaoV2> hongBaoShareList = hongBaoV2Mapper.listCanBalanceHongBaoByTypeAndUid(types, uid,0, 10000);
        for (HongBaoV2 hongBao : hongBaoShareList) {
            hongBao = hongBaoV2Mapper.selectByPrimaryKeyForUpdate(hongBao.getId());
            hongBao = filterWeiQuanINGHongBao(hongBao);