Commit 6a5e4989 authored by 严俊's avatar 严俊

Merge branch 'dev-activity-faw' of...

Merge branch 'dev-activity-faw' of http://gitlab.afanticar.com:13140/java-ms/afanti-open-api into develop
parents 56c576b8 7693165b
...@@ -36,12 +36,21 @@ public class TokenInterceptor implements HandlerInterceptor { ...@@ -36,12 +36,21 @@ public class TokenInterceptor implements HandlerInterceptor {
} }
String token = request.getHeader("authorization"); String token = request.getHeader("authorization");
if (StrUtil.isNotBlank(token)) { if (StrUtil.isNotBlank(token)) {
request.setAttribute("clientId", JWTUtils.getClientId(token)); try{
String clientId = JWTUtils.getClientId(token);
request.setAttribute("clientId", clientId);
}catch (Exception e){
response.setCharacterEncoding("UTF-8");
response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
response.setContentType("application/json");
response.getWriter().append(JSONObject.toJSONString(BaseController.error("401", "认证失败,无效的token")));
return false;
}
} else { } else {
response.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8");
response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
response.setContentType("application/json"); response.setContentType("application/json");
response.getWriter().append(JSONObject.toJSONString(BaseController.error("401", "认证失败"))); response.getWriter().append(JSONObject.toJSONString(BaseController.error("401", "认证失败,无效的token")));
return false; return false;
} }
return true; return true;
......
package com.afanticar.afantiopenapi.constant; package com.afanticar.afantiopenapi.constant;
import java.util.HashMap;
import java.util.Map;
/** /**
* @author chin * @author chin
* @contact chenyan@afanticar.com * @contact chenyan@afanticar.com
...@@ -9,4 +12,33 @@ public class Constant { ...@@ -9,4 +12,33 @@ public class Constant {
public static final String SUCCESS_CODE = "200"; public static final String SUCCESS_CODE = "200";
// key=车系name,value=车系code
public static Map<String, String> seriesMap = new HashMap();
static {
seriesMap.put("E-001", "E-001");
seriesMap.put("EH7", "EH7");
seriesMap.put("E-HS3", "E-HS3");
seriesMap.put("EHS7", "EHS7");
seriesMap.put("E-HS9", "E-HS9");
seriesMap.put("E-QM5", "E-QM5");
seriesMap.put("H5", "H5");
seriesMap.put("H5-2", "H5-2");
seriesMap.put("H6", "H6");
seriesMap.put("H7", "H7");
seriesMap.put("H9", "H9");
seriesMap.put("H9+", "H9+");
seriesMap.put("HQ9", "HQ9");
seriesMap.put("HS3", "HS3");
seriesMap.put("HS5", "HS5");
seriesMap.put("HS7", "HS7");
seriesMap.put("HS7-2", "HS7-2");
seriesMap.put("L1", "L1");
seriesMap.put("L5", "L5");
seriesMap.put("红旗国礼", "红旗国礼");
seriesMap.put("红旗国雅", "红旗国雅");
seriesMap.put("红旗国耀", "红旗国耀");
seriesMap.put("红旗国悦", "红旗国悦");
seriesMap.put("盛世", "盛世");
}
} }
...@@ -6,6 +6,7 @@ import cn.hutool.core.date.DateUtil; ...@@ -6,6 +6,7 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.afanticar.afantiopenapi.model.BaseResponse; import com.afanticar.afantiopenapi.model.BaseResponse;
import com.afanticar.afantiopenapi.model.dto.FawActivityDTO; import com.afanticar.afantiopenapi.model.dto.FawActivityDTO;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.context.request.ServletRequestAttributes;
...@@ -103,10 +104,13 @@ public class BaseController { ...@@ -103,10 +104,13 @@ public class BaseController {
if (DateUtil.between(publishDateEnd, publishDateStart, DateUnit.DAY) > dateNum) { if (DateUtil.between(publishDateEnd, publishDateStart, DateUnit.DAY) > dateNum) {
return BaseController.error("10010", "时间跨度最大为31天!"); return BaseController.error("10010", "时间跨度最大为31天!");
} }
// if (CollectionUtils.isEmpty(dto.getActivityIds()) || dto.getActivityIds().size() > 5) {
// return BaseController.error("10010", "活动ID不能为空,最大5个!");
// }
dto.setEnd(publishDateEnd); dto.setEnd(publishDateEnd);
dto.setStart(publishDateStart); dto.setStart(publishDateStart);
dto.setPageNum(dto.getPageNum() == null ? 1 : dto.getPageNum()); dto.setCurrent(dto.getCurrent() == null ? 1 : dto.getCurrent());
dto.setPageSize(dto.getPageSize() == null ? 500 : dto.getPageSize()); dto.setSize(dto.getSize() == null ? 500 : dto.getSize());
return null; return null;
} }
......
...@@ -145,7 +145,7 @@ public class FawOpenController extends BaseController { ...@@ -145,7 +145,7 @@ public class FawOpenController extends BaseController {
@ApiOperation(value = "抖音活动视频数据信息", notes = "抖音活动视频数据", produces = "application/json") @ApiOperation(value = "抖音活动视频数据信息", notes = "抖音活动视频数据", produces = "application/json")
@PostMapping("/activity/douyin/aweme/list") @PostMapping("/activity/douyin/aweme/list")
public BaseResponse<BasePageVO<HongqiActivityAwemeVO>> getDouyinActivityAwemeData(@RequestBody @Validated FawActivityDTO dto) { public BaseResponse<BasePageVO<HongqiActivityAwemeVO>> getDouyinActivityAwemeData(@RequestBody @Validated FawActivityDTO dto) {
BaseResponse check = baseService.baseLimit(dataType, limit, limitPeriod); BaseResponse check = baseService.pageApiLimit(dataType, limit, limitPeriod);
if (check != null) { if (check != null) {
return check; return check;
} }
...@@ -159,7 +159,7 @@ public class FawOpenController extends BaseController { ...@@ -159,7 +159,7 @@ public class FawOpenController extends BaseController {
@ApiOperation(value = "抖音活动直播数据信息", notes = "抖音活动直播数据", produces = "application/json") @ApiOperation(value = "抖音活动直播数据信息", notes = "抖音活动直播数据", produces = "application/json")
@PostMapping("/activity/douyin/live/list") @PostMapping("/activity/douyin/live/list")
public BaseResponse<BasePageVO<HongqiActivityLiveVO>> getDouyinActivityLiveData(@RequestBody @Validated FawActivityDTO dto) { public BaseResponse<BasePageVO<HongqiActivityLiveVO>> getDouyinActivityLiveData(@RequestBody @Validated FawActivityDTO dto) {
BaseResponse check = baseService.baseLimit(dataType, limit, limitPeriod); BaseResponse check = baseService.pageApiLimit(dataType, limit, limitPeriod);
if (check != null) { if (check != null) {
return check; return check;
} }
...@@ -173,7 +173,7 @@ public class FawOpenController extends BaseController { ...@@ -173,7 +173,7 @@ public class FawOpenController extends BaseController {
@ApiOperation(value = "快手活动视频数据信息", notes = "快手活动视频数据", produces = "application/json") @ApiOperation(value = "快手活动视频数据信息", notes = "快手活动视频数据", produces = "application/json")
@PostMapping("/activity/kuaishou/aweme/list") @PostMapping("/activity/kuaishou/aweme/list")
public BaseResponse<BasePageVO<HongqiActivityAwemeVO>> getKuaishouActivityAwemeData(@RequestBody @Validated FawActivityDTO dto) { public BaseResponse<BasePageVO<HongqiActivityAwemeVO>> getKuaishouActivityAwemeData(@RequestBody @Validated FawActivityDTO dto) {
BaseResponse check = baseService.baseLimit(dataType, limit, limitPeriod); BaseResponse check = baseService.pageApiLimit(dataType, limit, limitPeriod);
if (check != null) { if (check != null) {
return check; return check;
} }
...@@ -187,7 +187,7 @@ public class FawOpenController extends BaseController { ...@@ -187,7 +187,7 @@ public class FawOpenController extends BaseController {
@ApiOperation(value = "快手活动直播数据信息", notes = "快手活动直播数据", produces = "application/json") @ApiOperation(value = "快手活动直播数据信息", notes = "快手活动直播数据", produces = "application/json")
@PostMapping("/activity/kuaishou/live/list") @PostMapping("/activity/kuaishou/live/list")
public BaseResponse<BasePageVO<HongqiActivityLiveVO>> getKuaishouActivityLiveData(@RequestBody @Validated FawActivityDTO dto) { public BaseResponse<BasePageVO<HongqiActivityLiveVO>> getKuaishouActivityLiveData(@RequestBody @Validated FawActivityDTO dto) {
BaseResponse check = baseService.baseLimit(dataType, limit, limitPeriod); BaseResponse check = baseService.pageApiLimit(dataType, limit, limitPeriod);
if (check != null) { if (check != null) {
return check; return check;
} }
......
...@@ -25,6 +25,7 @@ public interface DwdKuaishouAuthorInfoMapper extends BaseMapper<DwdDouyinAuthorI ...@@ -25,6 +25,7 @@ public interface DwdKuaishouAuthorInfoMapper extends BaseMapper<DwdDouyinAuthorI
@Select("<script>select " + @Select("<script>select " +
" t1.aweme_id, " + " t1.aweme_id, " +
" t1.author_id , " +
" t1.aweme_title , " + " t1.aweme_title , " +
" 'douyin' as platform, " + " 'douyin' as platform, " +
" t3.dealer_area_names area_name, " + " t3.dealer_area_names area_name, " +
...@@ -39,12 +40,12 @@ public interface DwdKuaishouAuthorInfoMapper extends BaseMapper<DwdDouyinAuthorI ...@@ -39,12 +40,12 @@ public interface DwdKuaishouAuthorInfoMapper extends BaseMapper<DwdDouyinAuthorI
" t1.share_count , " + " t1.share_count , " +
" t1.share_url , " + " t1.share_url , " +
" t1.data_update_time , " + " t1.data_update_time , " +
" t2.activity_id_list " + " t2.activity_info " +
"from ( " + "from ( " +
" select * from dwd_douyin_aweme_info " + " select * from dwd_douyin_aweme_info " +
" where publish_time &gt;= #{dto.start} and publish_time &lt;= #{dto.end} " + " where publish_time &gt;= #{dto.start} and publish_time &lt;= #{dto.end} " +
") t1 left join ( " + ") t1 left join ( " +
" select aweme_id,collect_set(activity_id) as activity_id_list " + " select aweme_id,collect_set(json_object('activity_id',activity_id,'match_keywords',match_keywords)) as activity_info " +
" from dwd_fhl_activity_douyin_aweme_info " + " from dwd_fhl_activity_douyin_aweme_info " +
" where " + " where " +
" publish_time &gt;= #{dto.start} " + " publish_time &gt;= #{dto.start} " +
...@@ -63,13 +64,14 @@ public interface DwdKuaishouAuthorInfoMapper extends BaseMapper<DwdDouyinAuthorI ...@@ -63,13 +64,14 @@ public interface DwdKuaishouAuthorInfoMapper extends BaseMapper<DwdDouyinAuthorI
" </choose> " + " </choose> " +
" and is_deleted = 0 " + " and is_deleted = 0 " +
" group by aweme_id " + " group by aweme_id " +
" ) t2 on t1.aweme_id = t2.aweme_id " + " ) t2 on t1.aweme_id = t2.aweme_id or t1.other_video_id = t2.aweme_id " +
" left join dwd_douyin_author_info t3 on t1.author_id = t3.author_id " + " left join dwd_douyin_author_info t3 on t1.author_id = t3.author_id " +
"where contains(split(t3.principal_ids,','),'869752931296989184')</script>") "where contains(split(t3.principal_ids,','),'869752931296989184')</script>")
IPage<HongqiActivityAwemeVO> douyinActivityAwemes(IPage<HongqiActivityAwemeVO> page, @Param("dto") FawActivityDTO dto); IPage<HongqiActivityAwemeVO> douyinActivityAwemes(IPage<HongqiActivityAwemeVO> page, @Param("dto") FawActivityDTO dto);
@Select("<script>select " + @Select("<script>select " +
" t1.aweme_id, " + " t1.aweme_id, " +
" t1.author_id, " +
" t1.aweme_title , " + " t1.aweme_title , " +
" 'kuaishou' as platform, " + " 'kuaishou' as platform, " +
" t3.dealer_area_names area_name, " + " t3.dealer_area_names area_name, " +
...@@ -84,12 +86,12 @@ public interface DwdKuaishouAuthorInfoMapper extends BaseMapper<DwdDouyinAuthorI ...@@ -84,12 +86,12 @@ public interface DwdKuaishouAuthorInfoMapper extends BaseMapper<DwdDouyinAuthorI
" t1.share_count , " + " t1.share_count , " +
" t1.share_url , " + " t1.share_url , " +
" t1.data_update_time , " + " t1.data_update_time , " +
" t2.activity_id_list " + " t2.activity_info " +
"from ( " + "from ( " +
" select * from dwd_kuaishou_aweme_info " + " select * from dwd_kuaishou_aweme_info " +
" where publish_time &gt;= #{dto.start} and publish_time &lt;= #{dto.end} " + " where publish_time &gt;= #{dto.start} and publish_time &lt;= #{dto.end} " +
") t1 left join ( " + ") t1 left join ( " +
" select aweme_id,collect_set(activity_id) as activity_id_list " + " select aweme_id,collect_set(json_object('activity_id',activity_id,'match_keywords',match_keywords)) as activity_info " +
" from dwd_fhl_activity_kuaishou_aweme_info " + " from dwd_fhl_activity_kuaishou_aweme_info " +
" where " + " where " +
" publish_time &gt;= #{dto.start} " + " publish_time &gt;= #{dto.start} " +
...@@ -108,13 +110,14 @@ public interface DwdKuaishouAuthorInfoMapper extends BaseMapper<DwdDouyinAuthorI ...@@ -108,13 +110,14 @@ public interface DwdKuaishouAuthorInfoMapper extends BaseMapper<DwdDouyinAuthorI
" </choose> " + " </choose> " +
" and is_deleted = 0 " + " and is_deleted = 0 " +
" group by aweme_id " + " group by aweme_id " +
" ) t2 on t1.aweme_id = t2.aweme_id " + " ) t2 on t1.aweme_id = t2.aweme_id or t1.other_video_id = t2.aweme_id " +
" left join dwd_kuaishou_author_info t3 on t1.author_id = t3.author_id " + " left join dwd_kuaishou_author_info t3 on t1.author_id = t3.author_id " +
"where contains(split(t3.principal_ids,','),'869752931296989184')</script>") "where contains(split(t3.principal_ids,','),'869752931296989184')</script>")
IPage<HongqiActivityAwemeVO> kuaishouActivityAwemes(IPage<HongqiActivityAwemeVO> page, @Param("dto") FawActivityDTO dto); IPage<HongqiActivityAwemeVO> kuaishouActivityAwemes(IPage<HongqiActivityAwemeVO> page, @Param("dto") FawActivityDTO dto);
@Select("<script>select " + @Select("<script>select " +
" t1.room_id, " + " t1.room_id, " +
" t3.author_id , " +
" t1.title, " + " t1.title, " +
" 'douyin' as platform, " + " 'douyin' as platform, " +
" t3.dealer_area_names area_name, " + " t3.dealer_area_names area_name, " +
...@@ -130,12 +133,12 @@ public interface DwdKuaishouAuthorInfoMapper extends BaseMapper<DwdDouyinAuthorI ...@@ -130,12 +133,12 @@ public interface DwdKuaishouAuthorInfoMapper extends BaseMapper<DwdDouyinAuthorI
" t1.statistics_total_gift_count gift_cnt, " + " t1.statistics_total_gift_count gift_cnt, " +
" t1.statistics_fans_add , " + " t1.statistics_fans_add , " +
" t1.data_update_time , " + " t1.data_update_time , " +
" t2.activity_id_list " + " t2.activity_info " +
"from ( " + "from ( " +
" select * from dwd_douyin_live_info " + " select * from dwd_douyin_live_info " +
" where publish_time &gt;= #{dto.start} and publish_time &lt;= #{dto.end} " + " where publish_time &gt;= #{dto.start} and publish_time &lt;= #{dto.end} " +
") t1 left join ( " + ") t1 left join ( " +
" select room_id,collect_set(activity_id) as activity_id_list " + " select room_id,collect_set(json_object('activity_id',activity_id,'match_keywords',match_keywords)) as activity_info " +
" from dwd_fhl_activity_douyin_live_info " + " from dwd_fhl_activity_douyin_live_info " +
" where publish_time &gt;= #{dto.start} and publish_time &lt;= #{dto.end} " + " where publish_time &gt;= #{dto.start} and publish_time &lt;= #{dto.end} " +
" and " + " and " +
...@@ -160,11 +163,12 @@ public interface DwdKuaishouAuthorInfoMapper extends BaseMapper<DwdDouyinAuthorI ...@@ -160,11 +163,12 @@ public interface DwdKuaishouAuthorInfoMapper extends BaseMapper<DwdDouyinAuthorI
@Select("<script>select " + @Select("<script>select " +
" t1.room_id, " + " t1.room_id, " +
" t1.title, " + " t1.title, " +
" 'douyin' as platform, " + " 'kuaishou' as platform, " +
" t3.dealer_area_names area_name, " + " t3.dealer_area_names area_name, " +
" t3.dealer_store_code dealer_code, " + " t3.dealer_store_code dealer_code, " +
" t3.dealer_name , " + " t3.dealer_name , " +
" t3.nickname , " + " t3.nickname , " +
" t3.author_id , " +
" t1.publish_time , " + " t1.publish_time , " +
" t1.statistics_total_watch_user_count , " + " t1.statistics_total_watch_user_count , " +
" round(t1.statistics_live_time/60, 2) statistics_live_time, " + " round(t1.statistics_live_time/60, 2) statistics_live_time, " +
...@@ -174,12 +178,12 @@ public interface DwdKuaishouAuthorInfoMapper extends BaseMapper<DwdDouyinAuthorI ...@@ -174,12 +178,12 @@ public interface DwdKuaishouAuthorInfoMapper extends BaseMapper<DwdDouyinAuthorI
" t1.statistics_total_gift_count gift_cnt, " + " t1.statistics_total_gift_count gift_cnt, " +
" t1.statistics_fans_add , " + " t1.statistics_fans_add , " +
" t1.data_update_time , " + " t1.data_update_time , " +
" t2.activity_id_list " + " t2.activity_info " +
"from ( " + "from ( " +
" select * from dwd_kuaishou_live_info " + " select * from dwd_kuaishou_live_info " +
" where publish_time &gt;= #{dto.start} and publish_time &lt;= #{dto.end} " + " where publish_time &gt;= #{dto.start} and publish_time &lt;= #{dto.end} " +
") t1 left join ( " + ") t1 left join ( " +
" select room_id,collect_set(activity_id) as activity_id_list " + " select room_id,collect_set(json_object('activity_id',activity_id,'match_keywords',match_keywords)) as activity_info " +
" from dwd_fhl_activity_kuaishou_live_info " + " from dwd_fhl_activity_kuaishou_live_info " +
" where publish_time &gt;= #{dto.start} and publish_time &lt;= #{dto.end} " + " where publish_time &gt;= #{dto.start} and publish_time &lt;= #{dto.end} " +
" and " + " and " +
......
...@@ -5,6 +5,7 @@ import com.fasterxml.jackson.databind.annotation.JsonNaming; ...@@ -5,6 +5,7 @@ import com.fasterxml.jackson.databind.annotation.JsonNaming;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.Max; import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -18,10 +19,11 @@ import java.util.List; ...@@ -18,10 +19,11 @@ import java.util.List;
@JSONType(naming = com.alibaba.fastjson.PropertyNamingStrategy.SnakeCase) @JSONType(naming = com.alibaba.fastjson.PropertyNamingStrategy.SnakeCase)
public class FawActivityDTO { public class FawActivityDTO {
@Max(value = 500,message = "单页数据page_size过大") @Min(value = 1, message = "当前页最小1")
private Integer pageSize; private Integer current;
private Integer pageNum; @Max(value = 1000, message = "分页大小最大1000")
private Integer size;
private String publishDateStart; private String publishDateStart;
......
package com.afanticar.afantiopenapi.model.vo;
import com.alibaba.fastjson.annotation.JSONType;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import lombok.Data;
/**
* @author chin
* @contact chenyan@afanticar.com
* @since 2024/9/23/023
*/
@Data
@JsonNaming(value = com.fasterxml.jackson.databind.PropertyNamingStrategy.SnakeCaseStrategy.class)
@JSONType(naming = com.alibaba.fastjson.PropertyNamingStrategy.SnakeCase)
public class ActivityVO {
private String activityId;
private String matchKeywords;
private String seriesCode;
}
package com.afanticar.afantiopenapi.model.vo; package com.afanticar.afantiopenapi.model.vo;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.annotation.JSONType; import com.alibaba.fastjson.annotation.JSONType;
import com.fasterxml.jackson.databind.annotation.JsonNaming; import com.fasterxml.jackson.databind.annotation.JsonNaming;
import lombok.Data; import lombok.Data;
...@@ -15,9 +16,10 @@ import java.util.List; ...@@ -15,9 +16,10 @@ import java.util.List;
@Data @Data
@JsonNaming(value = com.fasterxml.jackson.databind.PropertyNamingStrategy.SnakeCaseStrategy.class) @JsonNaming(value = com.fasterxml.jackson.databind.PropertyNamingStrategy.SnakeCaseStrategy.class)
@JSONType(naming = com.alibaba.fastjson.PropertyNamingStrategy.SnakeCase) @JSONType(naming = com.alibaba.fastjson.PropertyNamingStrategy.SnakeCase)
public class HongqiActivityAwemeVO { public class HongqiActivityAwemeVO extends HongqiActivityBaseVO {
private String awemeId; private String awemeId;
private String authorId;
private String awemeTitle; private String awemeTitle;
private String platform; private String platform;
private String areaName; private String areaName;
...@@ -32,7 +34,5 @@ public class HongqiActivityAwemeVO { ...@@ -32,7 +34,5 @@ public class HongqiActivityAwemeVO {
private Integer shareCount; private Integer shareCount;
private String shareUrl; private String shareUrl;
private Date dataUpdateTime; private Date dataUpdateTime;
private List<String> activityIdList;
private List<String> keywordList;
} }
package com.afanticar.afantiopenapi.model.vo;
import com.alibaba.fastjson.annotation.JSONType;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import lombok.Data;
import java.util.List;
@Data
@JsonNaming(value = com.fasterxml.jackson.databind.PropertyNamingStrategy.SnakeCaseStrategy.class)
@JSONType(naming = com.alibaba.fastjson.PropertyNamingStrategy.SnakeCase)
public class HongqiActivityBaseVO {
private List<ActivityVO> activityList;
@JsonIgnore
private String activityInfo;
}
...@@ -15,9 +15,10 @@ import java.util.List; ...@@ -15,9 +15,10 @@ import java.util.List;
@Data @Data
@JsonNaming(value = com.fasterxml.jackson.databind.PropertyNamingStrategy.SnakeCaseStrategy.class) @JsonNaming(value = com.fasterxml.jackson.databind.PropertyNamingStrategy.SnakeCaseStrategy.class)
@JSONType(naming = com.alibaba.fastjson.PropertyNamingStrategy.SnakeCase) @JSONType(naming = com.alibaba.fastjson.PropertyNamingStrategy.SnakeCase)
public class HongqiActivityLiveVO { public class HongqiActivityLiveVO extends HongqiActivityBaseVO {
private String roomId; private String roomId;
private String authorId;
private String title; private String title;
private String platform; private String platform;
private String areaName; private String areaName;
...@@ -32,7 +33,5 @@ public class HongqiActivityLiveVO { ...@@ -32,7 +33,5 @@ public class HongqiActivityLiveVO {
private Integer commentCnt; private Integer commentCnt;
private Integer giftCnt; private Integer giftCnt;
private Integer statisticsFansAdd; private Integer statisticsFansAdd;
private List<String> activityIdList;
private List<String> keywordList;
} }
...@@ -42,11 +42,26 @@ public class BaseService { ...@@ -42,11 +42,26 @@ public class BaseService {
String header = "token"; String header = "token";
String fawKey = String.format("%s:%s:limit", dataType, header); String fawKey = String.format("%s:%s:limit", dataType, header);
RRateLimiter rateLimiter = redissonClient.getRateLimiter(fawKey); RRateLimiter rateLimiter = redissonClient.getRateLimiter(fawKey);
rateLimiter.trySetRate(RateType.OVERALL, limit,limitPeriod, RateIntervalUnit.SECONDS); rateLimiter.trySetRate(RateType.OVERALL, limit, limitPeriod, RateIntervalUnit.SECONDS);
if (!rateLimiter.tryAcquire(1, waiting, TimeUnit.MILLISECONDS)) { if (!rateLimiter.tryAcquire(1, waiting, TimeUnit.MILLISECONDS)) {
return BaseController.error("10010", "您的请求太过频繁,请稍后再试!"); return BaseController.error("10010", "您的请求太过频繁,请稍后再试!");
} }
return null; return null;
} }
public BaseResponse pageApiLimit(String dataType, Integer limit, Integer limitPeriod) {
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
String header = "token";
String fawKey = String.format("%s:%s:limit", dataType, header);
RRateLimiter rateLimiter = redissonClient.getRateLimiter(fawKey);
rateLimiter.trySetRate(RateType.OVERALL, limit, limitPeriod, RateIntervalUnit.SECONDS);
if (!rateLimiter.tryAcquire(1, waiting, TimeUnit.MILLISECONDS)) {
return BaseController.error("10010", "您的请求太过频繁,请稍后再试!");
}
return null;
}
} }
...@@ -9,6 +9,7 @@ import com.afanticar.afantiopenapi.model.entity.HongqiAwemeIncentiveQuarter; ...@@ -9,6 +9,7 @@ import com.afanticar.afantiopenapi.model.entity.HongqiAwemeIncentiveQuarter;
import com.afanticar.afantiopenapi.model.entity.HongqiLiveIncentiveMonthly; import com.afanticar.afantiopenapi.model.entity.HongqiLiveIncentiveMonthly;
import com.afanticar.afantiopenapi.model.entity.HongqiLiveIncentiveQuarter; import com.afanticar.afantiopenapi.model.entity.HongqiLiveIncentiveQuarter;
import com.afanticar.afantiopenapi.model.vo.*; import com.afanticar.afantiopenapi.model.vo.*;
import com.afanticar.afantiopenapi.utils.BaseUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
...@@ -104,31 +105,35 @@ public class FawOpenService { ...@@ -104,31 +105,35 @@ public class FawOpenService {
public BasePageVO<HongqiActivityAwemeVO> douyinActivityAwemes(FawActivityDTO dto) { public BasePageVO<HongqiActivityAwemeVO> douyinActivityAwemes(FawActivityDTO dto) {
PageHelper.orderBy(" publish_time DESC "); PageHelper.orderBy(" publish_time DESC ");
IPage<HongqiActivityAwemeVO> page = new Page<>(dto.getPageNum(), dto.getPageSize()); IPage<HongqiActivityAwemeVO> page = new Page<>(dto.getCurrent(), dto.getSize());
IPage<HongqiActivityAwemeVO> awemePage = dwdKuaishouAuthorInfoMapper.douyinActivityAwemes(page, dto); IPage<HongqiActivityAwemeVO> awemePage = dwdKuaishouAuthorInfoMapper.douyinActivityAwemes(page, dto);
return BasePageVO.restPage(dto.getPageNum(), (int) awemePage.getSize(), (int) awemePage.getTotal(), (int) awemePage.getPages(), awemePage.getRecords()); BaseUtils.parseSeries(awemePage.getRecords());
return BasePageVO.restPage(dto.getCurrent(), (int) awemePage.getSize(), (int) awemePage.getTotal(), (int) awemePage.getPages(), awemePage.getRecords());
} }
public BasePageVO<HongqiActivityLiveVO> douyinActivityLives(FawActivityDTO dto) { public BasePageVO<HongqiActivityLiveVO> douyinActivityLives(FawActivityDTO dto) {
PageHelper.orderBy(" publish_time DESC "); PageHelper.orderBy(" publish_time DESC ");
IPage<HongqiActivityLiveVO> page = new Page<>(dto.getPageNum(), dto.getPageSize()); IPage<HongqiActivityLiveVO> page = new Page<>(dto.getCurrent(), dto.getSize());
IPage<HongqiActivityLiveVO> livePage = dwdKuaishouAuthorInfoMapper.douyinActivityLives(page, dto); IPage<HongqiActivityLiveVO> livePage = dwdKuaishouAuthorInfoMapper.douyinActivityLives(page, dto);
return BasePageVO.restPage(dto.getPageNum(), (int) livePage.getSize(), (int) livePage.getTotal(), (int) livePage.getPages(), livePage.getRecords()); BaseUtils.parseSeries(livePage.getRecords());
return BasePageVO.restPage(dto.getCurrent(), (int) livePage.getSize(), (int) livePage.getTotal(), (int) livePage.getPages(), livePage.getRecords());
} }
public BasePageVO<HongqiActivityAwemeVO> kuaishouActivityAwemes(FawActivityDTO dto) { public BasePageVO<HongqiActivityAwemeVO> kuaishouActivityAwemes(FawActivityDTO dto) {
PageHelper.orderBy(" publish_time DESC "); PageHelper.orderBy(" publish_time DESC ");
IPage<HongqiActivityAwemeVO> page = new Page<>(dto.getPageNum(), dto.getPageSize()); IPage<HongqiActivityAwemeVO> page = new Page<>(dto.getCurrent(), dto.getSize());
IPage<HongqiActivityAwemeVO> awemePage = dwdKuaishouAuthorInfoMapper.kuaishouActivityAwemes(page, dto); IPage<HongqiActivityAwemeVO> awemePage = dwdKuaishouAuthorInfoMapper.kuaishouActivityAwemes(page, dto);
return BasePageVO.restPage(dto.getPageNum(), (int) awemePage.getSize(), (int) awemePage.getTotal(), (int) awemePage.getPages(), awemePage.getRecords()); BaseUtils.parseSeries(awemePage.getRecords());
return BasePageVO.restPage(dto.getCurrent(), (int) awemePage.getSize(), (int) awemePage.getTotal(), (int) awemePage.getPages(), awemePage.getRecords());
} }
public BasePageVO<HongqiActivityLiveVO> kuaishouActivityLives(FawActivityDTO dto) { public BasePageVO<HongqiActivityLiveVO> kuaishouActivityLives(FawActivityDTO dto) {
PageHelper.orderBy(" publish_time DESC "); PageHelper.orderBy(" publish_time DESC ");
IPage<HongqiActivityLiveVO> page = new Page<>(dto.getPageNum(), dto.getPageSize()); IPage<HongqiActivityLiveVO> page = new Page<>(dto.getCurrent(), dto.getSize());
IPage<HongqiActivityLiveVO> livePage = dwdKuaishouAuthorInfoMapper.kuaishouActivityLives(page, dto); IPage<HongqiActivityLiveVO> livePage = dwdKuaishouAuthorInfoMapper.kuaishouActivityLives(page, dto);
return BasePageVO.restPage(dto.getPageNum(), (int) livePage.getSize(), (int) livePage.getTotal(), (int) livePage.getPages(), livePage.getRecords()); BaseUtils.parseSeries(livePage.getRecords());
return BasePageVO.restPage(dto.getCurrent(), (int) livePage.getSize(), (int) livePage.getTotal(), (int) livePage.getPages(), livePage.getRecords());
} }
} }
package com.afanticar.afantiopenapi.utils;
import com.afanticar.afantiopenapi.constant.Constant;
import com.afanticar.afantiopenapi.model.vo.ActivityVO;
import com.afanticar.afantiopenapi.model.vo.HongqiActivityAwemeVO;
import com.afanticar.afantiopenapi.model.vo.HongqiActivityBaseVO;
import com.alibaba.fastjson.JSONObject;
import com.auth0.jwt.JWT;
import com.auth0.jwt.interfaces.DecodedJWT;
import org.apache.commons.lang3.StringUtils;
import java.util.ArrayList;
import java.util.Base64;
import java.util.List;
public class BaseUtils {
public static <T extends HongqiActivityBaseVO> void parseSeries(List<T> list) {
for (HongqiActivityBaseVO awemeVO: list) {
if (StringUtils.isEmpty(awemeVO.getActivityInfo())) {
continue;
}
List<ActivityVO> activityVOList = new ArrayList<>();
List<String> objects = JSONObject.parseArray(awemeVO.getActivityInfo(), String.class);
for (String object : objects) {
ActivityVO activityVO = JSONObject.parseObject(object, ActivityVO.class);
activityVOList.add(activityVO);
if (StringUtils.isEmpty(activityVO.getMatchKeywords())) {
continue;
}
StringBuffer seriesCode = new StringBuffer();
String[] names = activityVO.getMatchKeywords().split(",");
for (String name : names) {
String code = Constant.seriesMap.get(name);
if (StringUtils.isEmpty(code)) {
continue;
}
seriesCode.append(code).append(",");
}
if (seriesCode.length() > 0) {
activityVO.setSeriesCode(seriesCode.substring(0, seriesCode.length() - 1));
}
}
awemeVO.setActivityList(activityVOList);
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment