大屏接口

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.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.concurrent.ExecutorService;
@ -76,14 +77,23 @@ public class CustomerBehaviorJob {
List<PrivilageCpUserDO> privilageCpUserDOS = privilageCpUserDOMapper.selectList(null);
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;
if (sdf.format(startDate).equals(sdf.format(endDate))){
for (String cpUserId : cpUserIds) {
producer.produceData(index,cpUserId,DateUtils.formatHourMinuteAndSecondToZero(startDate));
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();

@ -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_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_TODAY = "全量今日客户统计";
/**

@ -23,16 +23,36 @@ public class DateUtils {
public static List<Date> getdays(Date startDay, Date endDay) {
List<Date> timeList = new ArrayList<Date>();
Date d1 = startDay;// 定义起始日期
Date d2 = endDay;// 定义结束日期
Date d1 = formatHourMinuteAndSecondToZero(startDay);// 定义起始日期
Date d2 = formatHourMinuteAndSecondToZero(endDay);// 定义结束日期
Calendar dd = Calendar.getInstance();// 定义日期实例
dd.setTime(d1);// 设置日期起始时间
timeList.add(startDay);
while (dd.getTime().before(d2)) {// 判断是否到结束日期
dd.add(Calendar.DATE, 1);// 进行当前日期月份加1
timeList.add(dd.getTime());
timeList.add(formatHourMinuteAndSecondToZero(dd.getTime()));
}
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