Commit 6afeec59 authored by 郝彦辉's avatar 郝彦辉

black_list_new表数据往tmp_black_grey_list清洗

parent 9bb55ab1
......@@ -2,6 +2,7 @@ package cn.quantgroup.qgblservice.controller;
import cn.quantgroup.qgblservice.response.GlobalResponse;
import cn.quantgroup.qgblservice.service.IBlackListToolsManagerService;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
......@@ -49,4 +50,18 @@ public class BlackListToolsManagerController {
return iBlackListToolsManagerService.buildMd5Tools(privateKey,operatType,idArray,gtCreatUtc);
}
@RequestMapping("/cleanTableData")
public GlobalResponse cleanTableData(String privateKey,String operatType){
if(StringUtils.isNotEmpty(privateKey) && "aHVhdDI0V0JvT3hwTkJwQmk1d2Q4dz09".equals(privateKey)){
if(StringUtils.isEmpty(operatType)){
return GlobalResponse.error("cleanTableData参数为空!");
}
iBlackListToolsManagerService.cleanTableData(privateKey,operatType);
return GlobalResponse.success("copyBlackList任务调度成功");
}else{
return GlobalResponse.error("cleanTableData私钥为空或不正确,请联系管理员!");
}
}
}
package cn.quantgroup.qgblservice.repository.mybatis.entity.tidb;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.sql.Timestamp;
/**
* -----------------------------------------------------------------------------<br>
* 描述: tmp_black_grey_list表对应实体<br>
* 作者:yanhui.Hao <br>
* 时间:2020.04.02 <br>
* 授权: (C) Copyright (c) 2017 <br>
* 公司: 北京众信利民信息技术有限公司 <br>
* -----------------------------------------------------------------------------
*/
@Data
public class TmpBlackGreyList implements Serializable {
private static final long serialVersionUID = 3504867579864272343L;
private Long id;
private String uuid;
private String name;
private String phoneNo;
private String idNo;
/**phoneNo md5加密*/
private String phoneNoMd5;
/**idNo md5加密*/
private String idNoMd5;
private String blackType;
private String type;
private String joinBlackReason;
private String maxOverdueDays;
private String totalOverdueDays;
private String remark;
@JsonIgnore
private Timestamp createdAt;
@JsonIgnore
private Timestamp updatedAt;
}
package cn.quantgroup.qgblservice.repository.mybatis.entity.tidb;
import org.springframework.jdbc.core.RowMapper;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
* -----------------------------------------------------------------------------<br>
* 描述: tmp_black_grey_list表对应实体<br>
* 作者:yanhui.Hao <br>
* 时间:2020.04.02 <br>
* 授权: (C) Copyright (c) 2017 <br>
* 公司: 北京众信利民信息技术有限公司 <br>
* -----------------------------------------------------------------------------
*/
public class TmpBlackGreyListRowMapper implements RowMapper<TmpBlackGreyList> {
/**
* Implementations must implement this method to map each row of data
* in the ResultSet. This method should not call {@code next()} on
* the ResultSet; it is only supposed to map values of the current row.
*
* @param rs the ResultSet to map (pre-initialized for the current row)
* @param rowNum the number of the current row
* @return the result object for the current row
* @throws SQLException if a SQLException is encountered getting
* column values (that is, there's no need to catch SQLException)
*/
@Override
public TmpBlackGreyList mapRow(ResultSet rs, int rowNum) throws SQLException {
TmpBlackGreyList bean = new TmpBlackGreyList();
bean.setId(rs.getLong("id"));
bean.setUuid(rs.getString("uuid"));
bean.setName(rs.getString("name"));
bean.setPhoneNo(rs.getString("phone_no"));
bean.setIdNo(rs.getString("id_no"));
bean.setBlackType(rs.getString("black_type"));
bean.setType(rs.getString("type"));
bean.setJoinBlackReason(rs.getString("join_black_reason"));
bean.setMaxOverdueDays(rs.getString("max_overdue_days"));
bean.setTotalOverdueDays(rs.getString("total_overdue_days"));
bean.setCreatedAt(rs.getTimestamp("created_at"));
bean.setUpdatedAt(rs.getTimestamp("updated_at"));
return bean;
}
}
......@@ -35,4 +35,15 @@ public interface IBlackListToolsManagerService {
/**
* -----------------------------------------------------------------------------<br>
* 描述: black_list_new 数据,往tmp_black_grey_list清洗<br>
* 作者:yanhui.Hao <br>
* 时间:2020.04.02 <br>
* 授权: (C) Copyright (c) 2017 <br>
* 公司: 北京众信利民信息技术有限公司 <br>
* -----------------------------------------------------------------------------
*/
public void cleanTableData(String privateKey, String operatType);
}
package cn.quantgroup.qgblservice.utils.jdbc;
import cn.quantgroup.qgblservice.repository.mybatis.entity.tidb.BlackListQueryTidbVo0;
import cn.quantgroup.qgblservice.repository.mybatis.entity.tidb.TmpBlackGreyList;
import cn.quantgroup.qgblservice.utils.MD5Util;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
......@@ -161,6 +162,54 @@ public class JdbcExecuters {
return atomicInteger.get();
}
public static int insertBatchExecute(List<TmpBlackGreyList> tmpBlackGreyList, JdbcTemplate jdbcTemplate) {
String sql = "insert ignore into tmp_black_grey_list (`id`, `uuid`, `name`, `phone_no`, `id_no`, `phone_no_md5`, `id_no_md5`, `black_type`, `type`, `join_black_reason`, `max_overdue_days`, `total_overdue_days`, `created_at`, `updated_at`) " +
" values(?,?,?,?,?,?,?,?,?,?,?,?,?,?) ";
Connection conn = null;
PreparedStatement ps = null;
AtomicInteger atomicInteger = new AtomicInteger();
try {
conn = jdbcTemplate.getDataSource().getConnection();
ps = conn.prepareStatement(sql);
conn.setAutoCommit(false);
for (int i = 0; i < tmpBlackGreyList.size(); i++) {
TmpBlackGreyList vo = tmpBlackGreyList.get(i);
ps.setLong(1, vo.getId());
ps.setString(2, vo.getUuid());
ps.setString(3, vo.getName());
ps.setString(4, vo.getPhoneNo());
ps.setString(5, vo.getIdNo());
ps.setString(6, vo.getPhoneNoMd5());
ps.setString(7, vo.getIdNoMd5());
ps.setString(8, vo.getBlackType());
ps.setString(9, vo.getType());
ps.setString(10, vo.getJoinBlackReason());
ps.setString(11, vo.getMaxOverdueDays());
ps.setString(12, vo.getTotalOverdueDays());
ps.setTimestamp(13, vo.getCreatedAt());
ps.setTimestamp(14, vo.getUpdatedAt());
ps.addBatch();
atomicInteger.getAndIncrement();
if (i > 0 && i % 1000 == 0) {
ps.executeBatch();
conn.commit();
ps.clearBatch();
}
}
ps.executeBatch();
conn.commit();
} catch (Exception e) {
log.error("tmp_black_grey_list表批量插入数据异常", e);
} finally {
close(conn, ps, null);
}
return atomicInteger.get();
}
/**
* 关闭资源
......
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