/**
  * 事件详细-趋势
  *
  * @param siteId 网站ID
  * @param subsite 子站ID
  * @param name 事件名称
  * @param period 时段周期 [时|日|周|月]
  * @param offset 偏移 0=当天 -1=昨天 1=明天 -2 2 -3...
  * @param span 跨度 [day|week|month|year]
  * @param start 开始时间 ("yyyyMMddHHmmss")
  * @param end 结束时间 ("yyyyMMddHHmmss")
  * @param limit 分页限制
  * @param skip 分页起始
  * @return 事件详细-趋势 {status:[true|false],data:[{time,date,num,rn,user,ru},...]}
  */
 @RequestMapping("event/name/{name}/trend/{period:hour|day|week|month}/{limit:\\d+}/{skip:\\d+}")
 public Object eventName(
     @PathVariable int siteId,
     @PathVariable String name,
     @PathVariable Period period,
     @PathVariable int limit,
     @PathVariable int skip,
     String subsite,
     Integer offset,
     Period span,
     Date start,
     Date end) {
   end = timeEnd(end, span, offset);
   start = timeStart(start, span, offset);
   String idsite = getIdSite(siteId, subsite);
   return service.eventNameTrend(idsite, name, period, start, end, limit, skip);
 }
 /**
  * 事件详细-趋势
  *
  * @param siteId 网站ID
  * @param subsite 子站ID
  * @param name 事件名称
  * @param period 时段周期 [时|日|周|月]
  * @param offset 偏移 0=当天 -1=昨天 1=明天 -2 2 -3...
  * @param span 跨度 [day|week|month|year]
  * @param start 开始时间 ("yyyyMMddHHmmss")
  * @param end 结束时间 ("yyyyMMddHHmmss")
  * @return 事件详细-趋势 {status:[true|false],data:[{time,date,num,rn,user,ru},...]}
  */
 @RequestMapping("event/name/{name}/trend/{period:hour|day|week|month}")
 public Object eventNameTrend(
     @PathVariable int siteId,
     @PathVariable String name,
     @PathVariable Period period,
     String subsite,
     Integer offset,
     Period span,
     Date start,
     Date end) {
   end = timeEnd(end, span, offset);
   start = timeStart(start, span, offset);
   String idsite = getIdSite(siteId, subsite);
   this.doCheckPeriod(period, start, end);
   List<EventNameTrendValue> list =
       service.eventNameTrend(idsite, name, period, start, end, 200, 0);
   list =
       fulldata(
           list, period.getFormat(), period.getField(), start, end, EventNameTrendValue.class);
   return list;
 }