大屏接口

dev_0531
yechenhao 6 years ago
parent 50605815b1
commit b7554fda65

@ -17,6 +17,7 @@ import me.chanjar.weixin.common.error.WxErrorException;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
@ -76,16 +77,25 @@ public class CustomerBehaviorJob {
List<PrivilageCpUserDO> privilageCpUserDOS = privilageCpUserDOMapper.selectList(null); List<PrivilageCpUserDO> privilageCpUserDOS = privilageCpUserDOMapper.selectList(null);
List<String> cpUserIds = privilageCpUserDOS.stream().map(privilageCpUserDO -> privilageCpUserDO.getCpUserId()).collect(Collectors.toList()); List<String> cpUserIds = privilageCpUserDOS.stream().map(privilageCpUserDO -> privilageCpUserDO.getCpUserId()).collect(Collectors.toList());
List<Date> dates = DateUtils.getdays(startDate, endDate); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
int index =0; int index =0;
for (Date date:dates){ if (sdf.format(startDate).equals(sdf.format(endDate))){
for (String cpUserId : cpUserIds) { for (String cpUserId : cpUserIds) {
producer.produceData(index,cpUserId,date); producer.produceData(index,cpUserId,DateUtils.formatHourMinuteAndSecondToZero(startDate));
index++; index++;
} }
}else{
List<Date> dates = DateUtils.getdays(startDate, endDate);
for (Date date:dates){
for (String cpUserId : cpUserIds) {
producer.produceData(index,cpUserId,date);
index++;
}
}
} }
disruptor.shutdown(); disruptor.shutdown();
if (sysTaskDO !=null){ if (sysTaskDO !=null){

@ -54,5 +54,26 @@ public class StorePromotionDataJob {
} }
} }
@Scheduled(cron = "0 0/15 9/1 * * ??")
public void syncTodayData(){
try {
int random = new Random().nextInt(100);
Thread.sleep(random*100);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:00");
QueryWrapper<SysTaskDO> qw = new QueryWrapper<>();
qw.eq("type",TASK_TYPE_USER_BEHAVIOR_TODAY).eq("create_time",sdf.format(new Date())).last("limit 1");
SysTaskDO sysTaskDO = sysTaskDOMapper.selectOne(qw);
if (sysTaskDO == null){
sysTaskDO = new SysTaskDO(TASK_NAME_USER_BEHAVIOR_TODAY,TASK_STATUS_RUNNING,TASK_TYPE_USER_BEHAVIOR_TODAY,new Date());
sysTaskDOMapper.insert(sysTaskDO);
log.info("<--获取联系客户统计数据定时任务执行-->");
customerBehaviorJob.handle(new Date(),new Date(),sysTaskDO);
log.info("<--获取联系客户统计数据定时任务结束-->");
}
} catch (Exception e) {
log.error("获取联系客户统计数据任务出错", e);
}
}
} }

@ -13,6 +13,10 @@ public class SysTaskConstant {
* *
*/ */
public static final Integer TASK_TYPE_USER_BEHAVIOR = 3; public static final Integer TASK_TYPE_USER_BEHAVIOR = 3;
/**
*
*/
public static final Integer TASK_TYPE_USER_BEHAVIOR_TODAY = 4;
/** /**
* *
*/ */
@ -25,6 +29,10 @@ public class SysTaskConstant {
* *
*/ */
public static final String TASK_NAME_USER_BEHAVIOR = "全量客户统计"; public static final String TASK_NAME_USER_BEHAVIOR = "全量客户统计";
/**
*
*/
public static final String TASK_NAME_USER_BEHAVIOR_TODAY = "全量今日客户统计";
/** /**

@ -23,16 +23,36 @@ public class DateUtils {
public static List<Date> getdays(Date startDay, Date endDay) { public static List<Date> getdays(Date startDay, Date endDay) {
List<Date> timeList = new ArrayList<Date>(); List<Date> timeList = new ArrayList<Date>();
Date d1 = startDay;// 定义起始日期 Date d1 = formatHourMinuteAndSecondToZero(startDay);// 定义起始日期
Date d2 = endDay;// 定义结束日期 Date d2 = formatHourMinuteAndSecondToZero(endDay);// 定义结束日期
Calendar dd = Calendar.getInstance();// 定义日期实例 Calendar dd = Calendar.getInstance();// 定义日期实例
dd.setTime(d1);// 设置日期起始时间 dd.setTime(d1);// 设置日期起始时间
timeList.add(startDay); timeList.add(startDay);
while (dd.getTime().before(d2)) {// 判断是否到结束日期 while (dd.getTime().before(d2)) {// 判断是否到结束日期
dd.add(Calendar.DATE, 1);// 进行当前日期月份加1 dd.add(Calendar.DATE, 1);// 进行当前日期月份加1
timeList.add(dd.getTime()); timeList.add(formatHourMinuteAndSecondToZero(dd.getTime()));
} }
return timeList; return timeList;
} }
/**
* Date
*
* @param date
* @return
* @author
* @date 2017419
* @version 1.0
*/
public static Date formatHourMinuteAndSecondToZero(Date date) {
Calendar calendar = Calendar.getInstance();
if (null != date) {
calendar.setTime(date);
}
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.HOUR_OF_DAY, 0);
return calendar.getTime();
}
} }

Loading…
Cancel
Save