package com.yeshi.fanli.service.impl.user.vip;
|
|
import java.util.Date;
|
import java.util.List;
|
|
import javax.annotation.Resource;
|
|
import org.springframework.stereotype.Service;
|
|
import com.yeshi.fanli.dao.user.vip.TeamDailyRecordDao;
|
import com.yeshi.fanli.entity.bus.user.ThreeSale;
|
import com.yeshi.fanli.entity.bus.user.vip.TeamDailyRecord;
|
import com.yeshi.fanli.log.LogHelper;
|
import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce;
|
import com.yeshi.fanli.service.inter.user.vip.TeamDailyRecordService;
|
import com.yeshi.fanli.util.StringUtil;
|
import com.yeshi.fanli.util.TimeUtil;
|
|
@Service
|
public class TeamDailyRecordServiceImpl implements TeamDailyRecordService {
|
|
@Resource
|
private TeamDailyRecordDao TeamDailyRecordDao;
|
|
@Resource
|
private ThreeSaleSerivce threeSaleSerivce;
|
|
|
@Override
|
public void addDailyRecord(Long uid) {
|
// 重新统计队员等级数量
|
recountRecord(uid);
|
|
// 统计上级队员数量
|
ThreeSale threeSale = threeSaleSerivce.getByWorkerId(uid);
|
if (threeSale != null) {
|
recountRecord(threeSale.getBoss().getId());
|
}
|
}
|
|
private void recountRecord(Long uid) {
|
try {
|
// 直接粉丝
|
int firstCount = (int) threeSaleSerivce.countFirstTeamByDate(uid, 1);
|
// 间接粉丝
|
int secondCount = (int) threeSaleSerivce.countSecondTeamByDate(uid, 1);
|
|
int secondBeyond = 0;
|
|
// 每天只记录一次统计
|
String time = TimeUtil.getGernalTime(java.lang.System.currentTimeMillis());
|
String id = StringUtil.Md5(uid + "#" + time);
|
TeamDailyRecord record = TeamDailyRecordDao.getById(id);
|
if (record == null) {
|
record = new TeamDailyRecord();
|
} else if (record.getSecondCount() != null) {
|
secondBeyond = record.getSecondCount();
|
}
|
|
record.setId(id);
|
record.setUid(uid);
|
record.setFirstCount(firstCount);
|
record.setSecondCount(secondCount);
|
record.setSecondBeyond(secondBeyond);
|
record.setStatisticDay(TimeUtil.parse(time));
|
record.setUpdateTime(new Date());
|
TeamDailyRecordDao.save(record);
|
} catch (Exception e) {
|
e.getSuppressed();
|
LogHelper.errorDetailInfo(e);
|
}
|
}
|
|
@Override
|
public List<TeamDailyRecord> getbyUid(Long uid) {
|
return TeamDailyRecordDao.getbyUid(uid);
|
}
|
|
@Override
|
public List<TeamDailyRecord> getbyUid(Long uid, Date minTime) {
|
return TeamDailyRecordDao.getbyUid(uid, minTime);
|
}
|
|
}
|