fanli/src/main/java/com/yeshi/fanli/job/team/TeamStatisticJob.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
fanli/src/main/java/com/yeshi/fanli/mapping/ThreeSaleMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
fanli/src/main/java/com/yeshi/fanli/mapping/user/vip/UserVIPPreInfoMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
fanli/src/main/java/com/yeshi/fanli/service/manger/user/UserTeamStatisticManager.java | ●●●●● 补丁 | 查看 | 原始文档 | 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(); } }