添加在线黑名单功能

master
bynt 10 months ago
parent 2af125cf10
commit 055e98127c

@ -0,0 +1,76 @@
package com.baiye.util;
import cn.hutool.core.text.csv.CsvUtil;
import cn.hutool.core.text.csv.CsvWriter;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.poi.excel.ExcelReader;
import cn.hutool.poi.excel.ExcelUtil;
import com.baiye.exception.BadRequestException;
import com.baiye.modules.platform.service.dto.ImeiDTO;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import org.apache.commons.lang3.StringUtils;
import java.io.File;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author Enzo
* @date : 2022/10/21
*/
public class AFileUtil {
/**
* csv
*
* @param result
* @param fileName
*/
public static void createCsvFile(List<ImeiDTO> result, String fileName) {
try {
//构造文件
File csvFile = new File(fileName);
//导入HuTool中CSV工具包的CsvWriter类
//设置导出字符类型, CHARSET_UTF_8
CsvWriter writer = CsvUtil.getWriter(csvFile, CharsetUtil.CHARSET_UTF_8);
//通过CsvWriter中的write方法写入数据
for (ImeiDTO dto : result) {
writer.writeLine(dto.getImei(), dto.getTag());
}
writer.close();
} catch (Exception e) {
throw new BadRequestException("生成文件失败");
}
}
public static void main(String[] args) {
List<GoodFavorOfExcel> studentList = Lists.newArrayList();
for (int i = 24; i < 27; i++) {
String fileName = "C:\\Users\\a\\Desktop\\抖音-" + i + ".xls";
ExcelReader reader = ExcelUtil.getReader(fileName);
reader.addHeaderAlias("OAID", "imei");
List<GoodFavorOfExcel> goodFavorOfExcels = reader.readAll(GoodFavorOfExcel.class);
List<GoodFavorOfExcel> collect = goodFavorOfExcels.stream().filter(str ->
StringUtils.isNotBlank(str.getImei())).collect(Collectors.toList());
studentList.addAll(collect);
}
// 去除重复
List<GoodFavorOfExcel> phoneSets = Lists.newArrayList(Sets.newHashSet(studentList));
File csvFile = new File("C:\\Users\\a\\Desktop\\OAID.csv");
//导入HuTool中CSV工具包的CsvWriter类
//设置导出字符类型, CHARSET_UTF_8
CsvWriter writer = CsvUtil.getWriter(csvFile, CharsetUtil.CHARSET_UTF_8);
for (int i = 0; i < phoneSets.size(); i++) {
writer.writeLine(phoneSets.get(i).getImei(),"jl-test");
}
writer.close();
}
}

@ -0,0 +1,15 @@
package com.baiye.util;
import lombok.Data;
@Data
public class GoodFavorOfExcel {
/**
*
*/
private String imei;
}

@ -17,6 +17,15 @@ public class SecretConstant {
public static final String IS_BLACK_URL = "https://bl.hzdaba.cn/v5/Accounts/dbby_hangzhoubaiyehl/Bigdata/IsBlacklist";
/**
* 线
*/
public static final String IS_BLACK_ONLINE_URL = "https://bl.hzdaba.cn/v2/Accounts/baiyekeji_label/Bigdata/IsBlacklist";
/**
* yuyou sign
*/

@ -0,0 +1,35 @@
package com.baiye.module.service.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.Setter;
/**
* @author Enzo
* @date : 2023/4/3
*/
@Getter
@Setter
@AllArgsConstructor
public class IsOnlineBlackResponse {
@JsonProperty("forbid")
private String forbid;
@JsonProperty("reason")
private String reason;
@JsonProperty("from")
private String from;
@JsonProperty("to")
private String to;
@JsonProperty("reqid")
private String reqid;
@JsonProperty("result")
private String result;
}

@ -147,8 +147,9 @@ public class DmpCallbackServiceImpl implements DmpCallbackService {
taskId, List<String> tagList, List<String> decryptList) {
// 请求黑名单
List<String> isNotblackList = IsBlackUtil.getNotblackList(decryptList);
List<String> onLineNotblackList = IsBlackUtil.getOnLineNotblackList(isNotblackList);
// 将imei转为线索
Integer saveNumer = clueService.saveClue(tagList, isNotblackList,
Integer saveNumer = clueService.saveClue(tagList, onLineNotblackList,
byTaskName.getTaskId(), byTaskName.getUserId(), DefaultNumberConstants.FOUR_NUMBER);
// 修改任务总条数
Integer taskNum = clueTalkRepository.findTaskNum(taskId);

@ -10,8 +10,10 @@ import com.baiye.model.enums.ResponseCode;
import com.baiye.module.constant.SecretConstant;
import com.baiye.module.service.dto.IsBlackListDTO;
import com.baiye.module.service.dto.IsBlackResponse;
import com.baiye.module.service.dto.IsOnlineBlackResponse;
import com.google.common.collect.Lists;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.propertyeditors.CustomBooleanEditor;
import java.util.HashMap;
import java.util.List;
@ -61,4 +63,37 @@ public class IsBlackUtil {
}
return isNotblackList;
}
public static List<String> getOnLineNotblackList(List<String> decryptList) {
List<String> list = Lists.newArrayList();
for (String string : decryptList) {
IsOnlineBlackResponse response = isOnlineBlackResponse(string);
if (ObjectUtil.isNotNull(response) && StringUtils.isNotBlank(response.getResult())) {
if (response.getForbid().equalsIgnoreCase(CustomBooleanEditor.VALUE_0)) {
list.add(response.getFrom());
}
}
}
return list;
}
public static IsOnlineBlackResponse isOnlineBlackResponse(String string) {
Map<String, Object> paramMap = new HashMap<>(DefaultNumberConstants.EIGHT_NUMBER);
paramMap.put("answer_freq", "L0");
paramMap.put("callee", string);
paramMap.put("caller", string);
paramMap.put("cute_forbid", "0");
paramMap.put("freq", "L6");
paramMap.put("local_level", "0");
paramMap.put("resource", "2");
//链式构建请求
String result = HttpRequest.post(SecretConstant.IS_BLACK_ONLINE_URL).form(paramMap).timeout(20000).execute().body();
if (result.contains("success")) {
return JSONUtil.toBean(result, IsOnlineBlackResponse.class);
}
return null;
}
}

Loading…
Cancel
Save