package com.yeshi.fanli.service.impl.count;
|
|
import java.math.BigDecimal;
|
import java.util.Date;
|
import java.util.List;
|
|
import javax.annotation.Resource;
|
|
import org.springframework.stereotype.Service;
|
|
import com.yeshi.fanli.dao.user.count.DailyCountMomentsDao;
|
import com.yeshi.fanli.entity.admin.count.DailyCountMoments;
|
import com.yeshi.fanli.entity.admin.count.DailyCountMoments.DailyCountMomentsEnum;
|
import com.yeshi.fanli.log.LogHelper;
|
import com.yeshi.fanli.service.inter.count.DailyCountMomentsService;
|
import org.yeshi.utils.MoneyBigDecimalUtil;
|
import com.yeshi.fanli.util.StringUtil;
|
import org.yeshi.utils.TimeUtil;
|
|
@Service
|
public class DailyCountMomentsServiceImpl implements DailyCountMomentsService {
|
|
@Resource
|
private DailyCountMomentsDao dailyCountMomentsDao;
|
|
@Override
|
public List<DailyCountMoments> getDailyCountList(String type, Date startTime, Date endTime) throws Exception {
|
// 查询类型
|
DailyCountMomentsEnum typeEnum = getTypeEnum(type);
|
if (typeEnum == null) {
|
return null;
|
}
|
return dailyCountMomentsDao.query(typeEnum, startTime, endTime);
|
}
|
|
/**
|
* 获取枚举类型
|
*
|
* @param type
|
* @return
|
*/
|
private DailyCountMomentsEnum getTypeEnum(String name) {
|
if (StringUtil.isNullOrEmpty(name)) {
|
return null;
|
}
|
|
DailyCountMomentsEnum[] array = DailyCountMomentsEnum.values();
|
for (int i = 0; i < array.length; i++) {
|
if (array[i].name().equals(name)) {
|
return array[i];
|
}
|
}
|
return null;
|
}
|
|
/**
|
* 获取枚举类型
|
*
|
* @param type
|
* @return
|
*/
|
@Override
|
public String getTypeEnumDesc(String name) {
|
if (StringUtil.isNullOrEmpty(name)) {
|
return "";
|
}
|
|
DailyCountMomentsEnum[] array = DailyCountMomentsEnum.values();
|
for (int i = 0; i < array.length; i++) {
|
if (array[i].name().equals(name)) {
|
return array[i].getDesc();
|
}
|
}
|
return "";
|
}
|
|
|
|
|
/**
|
* 添加分享次数统计
|
*/
|
@Override
|
public void addShareClick() {
|
try {
|
BigDecimal num = new BigDecimal(1);
|
// 当日日期
|
String toDay = TimeUtil.getGernalTime(java.lang.System.currentTimeMillis());
|
|
String id = StringUtil.Md5(toDay + DailyCountMomentsEnum.shareClick.name());
|
|
DailyCountMoments moments = dailyCountMomentsDao.get(id);
|
if (moments != null) {
|
moments.setTotal(MoneyBigDecimalUtil.add(moments.getTotal(), num));
|
moments.setUpdateDate(new Date());
|
dailyCountMomentsDao.save(moments);
|
} else {
|
moments = new DailyCountMoments();
|
moments.setId(id);
|
moments.setTotal(num);
|
moments.setType(DailyCountMomentsEnum.shareClick);
|
moments.setUpdateDate(new Date());
|
moments.setDay(TimeUtil.parse(toDay));
|
dailyCountMomentsDao.save(moments);
|
}
|
} catch (Exception e) {
|
e.printStackTrace();
|
LogHelper.error(e);
|
}
|
}
|
|
|
/**
|
* 添加复制评论统计
|
*/
|
@Override
|
public void addCopyComment() {
|
try {
|
BigDecimal num = new BigDecimal(1);
|
// 当日日期
|
String toDay = TimeUtil.getGernalTime(java.lang.System.currentTimeMillis());
|
|
String id = StringUtil.Md5(toDay + DailyCountMomentsEnum.copyComment.name());
|
|
DailyCountMoments moments = dailyCountMomentsDao.get(id);
|
if (moments != null) {
|
moments.setTotal(MoneyBigDecimalUtil.add(moments.getTotal(), num));
|
moments.setUpdateDate(new Date());
|
dailyCountMomentsDao.save(moments);
|
} else {
|
moments = new DailyCountMoments();
|
moments.setId(id);
|
moments.setTotal(num);
|
moments.setType(DailyCountMomentsEnum.copyComment);
|
moments.setUpdateDate(new Date());
|
moments.setDay(TimeUtil.parse(toDay));
|
dailyCountMomentsDao.save(moments);
|
}
|
} catch (Exception e) {
|
e.printStackTrace();
|
LogHelper.error(e);
|
}
|
}
|
}
|