admin
2020-05-12 9dfa6e9e3289b577cbdb6905ef336188c3ca576a
团队每天的等级统计
3个文件已修改
1个文件已添加
96 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/job/team/TeamStatisticJob.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/ThreeSaleMapper.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/user/vip/UserVIPPreInfoMapper.xml 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/manger/user/UserTeamStatisticManager.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/job/team/TeamStatisticJob.java
New file
@@ -0,0 +1,46 @@
package com.yeshi.fanli.job.team;
import java.util.Date;
import javax.annotation.Resource;
import org.springframework.stereotype.Component;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.annotation.XxlJob;
import com.yeshi.fanli.service.manger.user.UserTeamStatisticManager;
import com.yeshi.fanli.util.TimeUtil;
/**
 * 团队统计
 * @author Administrator
 *
 */
@Component
public class TeamStatisticJob {
    @Resource
    private UserTeamStatisticManager userTeamStatisticManager;
    /**
     * 更新团队统计中的会员等级统计
     * @Title: updatePDDOrder
     * @Description:
     * @param param
     * @return
     * @throws Exception
     * ReturnT<String> 返回类型
     * @throws
     */
    @XxlJob("updateTeamStatisticLevelCount")
    public ReturnT<String> updatePDDOrder(String param) throws Exception {
        long now = System.currentTimeMillis();
        Date minTime = new Date(TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(now, "yyyy-MM-dd"), "yyyy-MM-dd"));
        Date maxTime = new Date(TimeUtil
                .convertToTimeTemp(TimeUtil.getGernalTime(now + 1000 * 60 * 60 * 24L, "yyyy-MM-dd"), "yyyy-MM-dd"));
        userTeamStatisticManager.syncInviteData(minTime, maxTime);
        userTeamStatisticManager.syncVIPData(minTime, maxTime);
        return ReturnT.SUCCESS;
    }
}
fanli/src/main/java/com/yeshi/fanli/mapping/ThreeSaleMapper.xml
@@ -502,11 +502,11 @@
        where 1=1
        <if test="minTime!=null">
            and tr.`succeedTime` >=#{minTime}
            and `succeedTime` >=#{minTime}
        </if>
        <if test="maxTime!=null">
            and #{maxTime}>tr.`succeedTime`
            and #{maxTime}>`succeedTime`
        </if>
        limit #{start},#{count}
@@ -520,11 +520,11 @@
        where 1=1
        <if test="minTime!=null">
            and tr.`succeedTime` >=#{minTime}
            and `succeedTime` >=#{minTime}
        </if>
        <if test="maxTime!=null">
            and #{maxTime}>tr.`succeedTime`
            and #{maxTime}>`succeedTime`
        </if>
    </select>
fanli/src/main/java/com/yeshi/fanli/mapping/user/vip/UserVIPPreInfoMapper.xml
@@ -97,11 +97,11 @@
        from yeshi_ec_user_vip_pre_info where vpi_process = #{process}
        <if test="minTime!=null">
            vpi_create_time>=#{minTime}
            and vpi_create_time>=#{minTime}
        </if>
        <if test="maxTime!=null">
            #{maxTime}>vpi_create_time
            and #{maxTime}>vpi_create_time
        </if>
        limit #{start},#{count}
    </select>
@@ -109,14 +109,15 @@
    <select id="countByProcess" resultType="java.lang.Long">
        select
        count(*)
        from yeshi_ec_user_vip_pre_info where vpi_process = #{process}
        from yeshi_ec_user_vip_pre_info where vpi_process =
        #{process}
        <if test="minTime!=null">
            vpi_create_time>=#{minTime}
            and vpi_create_time>=#{minTime}
        </if>
        <if test="maxTime!=null">
            #{maxTime}>vpi_create_time
            and #{maxTime}>vpi_create_time
        </if>
    </select>
fanli/src/main/java/com/yeshi/fanli/service/manger/user/UserTeamStatisticManager.java
@@ -15,9 +15,10 @@
import com.yeshi.fanli.entity.bus.user.vip.TeamDailyRecord;
import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum;
import com.yeshi.fanli.entity.bus.user.vip.UserVIPPreInfo;
import com.yeshi.fanli.exception.user.TeamDailyRecordException;
import com.yeshi.fanli.service.inter.user.invite.TeamDailyRecordService;
import com.yeshi.fanli.service.inter.user.invite.ThreeSaleDetailService;
import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce;
import com.yeshi.fanli.service.inter.user.vip.TeamDailyRecordService;
import com.yeshi.fanli.service.inter.user.vip.UserVIPPreInfoService;
import com.yeshi.fanli.util.TimeUtil;
@@ -69,7 +70,7 @@
     * int 返回类型
     * @throws
     */
    private void syncVIPData(Date minTime, Date maxTime) {
    public void syncVIPData(Date minTime, Date maxTime) {
        List<UserVIPPreInfo> totalList = new ArrayList<>();
@@ -78,7 +79,7 @@
        int page = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
        for (int i = 0; i < page; i++) {
            List<UserVIPPreInfo> list = userVIPPreInfoService.listByProcess(UserLevelEnum.highVIP.getLevel(), minTime,
                    maxTime, page, pageSize);
                    maxTime, i + 1, pageSize);
            if (list != null)
                totalList.addAll(list);
        }
@@ -87,7 +88,7 @@
        page = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
        for (int i = 0; i < page; i++) {
            List<UserVIPPreInfo> list = userVIPPreInfoService.listByProcess(UserLevelEnum.superVIP.getLevel(), minTime,
                    maxTime, page, pageSize);
                    maxTime, i + 1, pageSize);
            if (list != null)
                totalList.addAll(list);
        }
@@ -98,7 +99,7 @@
            String day = TimeUtil.getGernalTime(vipPre.getCreateTime().getTime(), "yyyy-MM-dd");
            List<ThreeSaleDetail> list = threeSaleDetailService.listByWorkerUid(vipPre.getUid());
            for (ThreeSaleDetail ts : list) {
                String key = ts.getBossUid() + "#" + vipPre.getProcess() + "#" + day + "#";
                String key = ts.getBossUid() + "#" + day + "#" + vipPre.getProcess() + "#";
                if (ts.getLevel() == 1) {
                    key += "1";
                } else if (ts.getLevel() == 2) {
@@ -147,8 +148,12 @@
                tempKey = uid + "#" + day + "#" + UserLevelEnum.superVIP.getLevel() + "#" + level;
                record.setBeyondSuperVIP(map.get(tempKey));
            }
            // TODO 保存
            // teamDailyRecordService.
            // 保存
            try {
                teamDailyRecordService.save(record);
            } catch (TeamDailyRecordException e) {
                e.printStackTrace();
            }
        }
@@ -163,13 +168,13 @@
     * void 返回类型
     * @throws
     */
    private void syncData(Date minTime, Date maxTime) {
    public void syncInviteData(Date minTime, Date maxTime) {
        List<ThreeSale> totalList = new ArrayList<>();
        long count = threeSaleSerivce.countAll(minTime, maxTime);
        int pageSize = 1000;
        int page = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
        for (int i = 0; i < page; i++) {
            List<ThreeSale> list = threeSaleSerivce.listAll(minTime, maxTime, page, pageSize);
            List<ThreeSale> list = threeSaleSerivce.listAll(minTime, maxTime, i + 1, pageSize);
            if (list != null)
                totalList.addAll(list);
        }
@@ -213,8 +218,12 @@
            } else {
                record.setBeyondDaRen(map.get(key));
            }
            // TODO 保存
            // teamDailyRecordService.
            // 保存
            try {
                teamDailyRecordService.save(record);
            } catch (TeamDailyRecordException e) {
                e.printStackTrace();
            }
        }