数据合并-用户
This commit is contained in:
@@ -311,7 +311,7 @@ public class DataMigrationUtil {
|
|||||||
Connection yljkconn = DriverManager.getConnection(
|
Connection yljkconn = DriverManager.getConnection(
|
||||||
"jdbc:mysql://goldorchid.mysql.rds.aliyuncs.com:3309/everhealth?",
|
"jdbc:mysql://goldorchid.mysql.rds.aliyuncs.com:3309/everhealth?",
|
||||||
"yljkmaster", "Wu751019!@");
|
"yljkmaster", "Wu751019!@");
|
||||||
PreparedStatement statement = yljkconn.prepareStatement("select oid,cellPhone,nameCN,nickName,superVIP,point,pointByJF,payStatus,paydate,payValidDate from t_customer where valid = 1 ");
|
PreparedStatement statement = yljkconn.prepareStatement("select oid,cellPhone,nameCN,nickName,icons,superVIP,point,pointByJF,payStatus,paydate,payValidDate from t_customer where valid = 1 and cellphone != '' and cellphone is not null ");
|
||||||
ResultSet resultSet = statement.executeQuery();
|
ResultSet resultSet = statement.executeQuery();
|
||||||
List<Map> list = new ArrayList();
|
List<Map> list = new ArrayList();
|
||||||
while(resultSet.next()){
|
while(resultSet.next()){
|
||||||
@@ -320,6 +320,7 @@ public class DataMigrationUtil {
|
|||||||
map.put("cellPhone",resultSet.getString("cellPhone"));
|
map.put("cellPhone",resultSet.getString("cellPhone"));
|
||||||
map.put("nameCN",resultSet.getString("nameCN"));
|
map.put("nameCN",resultSet.getString("nameCN"));
|
||||||
map.put("nickName",resultSet.getString("nickName"));
|
map.put("nickName",resultSet.getString("nickName"));
|
||||||
|
map.put("icons",resultSet.getString("icons"));
|
||||||
map.put("superVIP",resultSet.getString("superVIP"));
|
map.put("superVIP",resultSet.getString("superVIP"));
|
||||||
map.put("point",resultSet.getString("point"));
|
map.put("point",resultSet.getString("point"));
|
||||||
map.put("pointByJF",resultSet.getString("pointByJF"));
|
map.put("pointByJF",resultSet.getString("pointByJF"));
|
||||||
@@ -330,42 +331,78 @@ public class DataMigrationUtil {
|
|||||||
}
|
}
|
||||||
resultSet.close();
|
resultSet.close();
|
||||||
statement.close();
|
statement.close();
|
||||||
|
int q = 0;
|
||||||
|
int w = 0;
|
||||||
|
int e = 0;
|
||||||
|
int r = 0;
|
||||||
|
PreparedStatement telInsertStatement = fzdsconn.prepareStatement(
|
||||||
|
"INSERT ignore INTO user_copy1 (name,avatar,nickname,tel,vip,peanut_coin,jf,yljk_oid) " +
|
||||||
|
"VALUES (?, ?, ?, ?, ?, ?, ?, ?)");
|
||||||
|
PreparedStatement userVipStatement = fzdsconn.prepareStatement(
|
||||||
|
"INSERT ignore INTO user_vip_copy1 (user_id,type,start_time,end_time,state) VALUES (?, ?, ?, ?, ?)");
|
||||||
for (int i=1;i<=list.size(); i++){
|
for (int i=1;i<=list.size(); i++){
|
||||||
|
String userId = "";
|
||||||
|
System.out.println(i+"---"+list.get(i).get("nameCN"));
|
||||||
//已绑定过
|
//已绑定过
|
||||||
PreparedStatement oidStatements = fzdsconn.prepareStatement("select * from user_copy1 where del_flag = 0 and yljk_oid = '"+list.get(i).get("oid")+"' ");
|
PreparedStatement oidStatements = fzdsconn.prepareStatement("select * from user_copy1 where del_flag = 0 and yljk_oid = '"+list.get(i).get("oid")+"' ");
|
||||||
ResultSet oidResultSet = oidStatements.executeQuery();
|
ResultSet oidResultSet = oidStatements.executeQuery();
|
||||||
if (oidResultSet.next()){
|
if (oidResultSet.next()){
|
||||||
PreparedStatement oidUpdateStatement = fzdsconn.prepareStatement("update user_copy1 set " +
|
String sql = "update user_copy1 set " +
|
||||||
"name = if(isnull(name),"+list.get(i).get("nameCN")+") , nickname = if(isnull(nickname),"+list.get(i).get("nickName")+") ," +
|
"name = if(isnull(name),'"+list.get(i).get("nameCN")+"',name) , nickname = if(isnull(nickname),'"+list.get(i).get("nickName")+"',nickname) ," +
|
||||||
"tel = if(isnull(tel),"+list.get(i).get("cellPhone")+") ," +
|
"tel = if(isnull(tel),'"+list.get(i).get("cellPhone")+"',tel) ," +
|
||||||
"vip= "+list.get(i).get("payStatus")+" ,peanut_coin = peanut_coin + "+list.get(i).get("point")+" , jf = jf + "+list.get(i).get("pointByJF")+" where id = "+oidResultSet.getString("id")+"");
|
"vip= "+list.get(i).get("payStatus")+" ,peanut_coin = peanut_coin + "+list.get(i).get("point")+" , jf = jf + "+list.get(i).get("pointByJF")+" where id = "+oidResultSet.getString("id")+"";
|
||||||
oidUpdateStatement.executeUpdate();
|
PreparedStatement oidUpdateStatement = fzdsconn.prepareStatement(sql);
|
||||||
if (list.get(i).get("payValidDate")!=null){
|
userId = oidResultSet.getString("id");
|
||||||
PreparedStatement oidInsertStatement = fzdsconn.prepareStatement(
|
oidUpdateStatement.executeBatch();
|
||||||
"INSERT ignore INTO user_vip_copy1 (user_id,type,start_time,end_time,state) VALUES (?, ?, ?, ?, ?)");
|
|
||||||
oidInsertStatement.setString(1,oidResultSet.getString("id"));
|
|
||||||
oidInsertStatement.setString(2,list.get(i).get("payStatus").toString());
|
|
||||||
oidInsertStatement.setString(3,list.get(i).get("paydate").toString());
|
|
||||||
oidInsertStatement.setString(4,list.get(i).get("payValidDate").toString());
|
|
||||||
if (DateUtil.compare(DateUtil.parseDate(list.get(i).get("payValidDate").toString()),new Date())>0){
|
|
||||||
oidInsertStatement.setString(5,"0");
|
|
||||||
}else {
|
|
||||||
oidInsertStatement.setString(5,"1");
|
|
||||||
}
|
|
||||||
oidUpdateStatement.execute();
|
|
||||||
}
|
|
||||||
}else {
|
}else {
|
||||||
//未绑定过,用电话查询
|
//未绑定过,用电话查询
|
||||||
PreparedStatement telStatements = fzdsconn.prepareStatement("select * from user_copy1 where del_flag = 0 and tel = '"+list.get(i).get("cellPhone")+"' ");
|
PreparedStatement telStatements = fzdsconn.prepareStatement("select * from user_copy1 where del_flag = 0 and tel = '"+list.get(i).get("cellPhone")+"' ");
|
||||||
ResultSet telResultSet = telStatements.executeQuery();
|
ResultSet telResultSet = telStatements.executeQuery();
|
||||||
if (telResultSet.next()){
|
if (telResultSet.next()){
|
||||||
|
String sql = "update user_copy1 set yljk_oid = '" + list.get(i).get("oid") +"',"+
|
||||||
|
" name = if(isnull(name),'"+list.get(i).get("nameCN")+"',name) , nickname = if(isnull(nickname),'"+list.get(i).get("nickName")+"',nickname) ," +
|
||||||
|
"vip= "+list.get(i).get("payStatus")+" ,peanut_coin = peanut_coin + "+list.get(i).get("point")+" , jf = jf + "+list.get(i).get("pointByJF")+" where tel = '"+list.get(i).get("cellPhone")+"'";
|
||||||
|
PreparedStatement telUpdateStatement = fzdsconn.prepareStatement(sql);
|
||||||
|
userId = telResultSet.getString("id");
|
||||||
|
telUpdateStatement.executeBatch();
|
||||||
|
}else {
|
||||||
|
telInsertStatement.setString(1,list.get(i).get("nameCN")==null?"":list.get(i).get("nameCN").toString());
|
||||||
|
telInsertStatement.setString(2,list.get(i).get("icons")==null?"":list.get(i).get("icons").toString());
|
||||||
|
telInsertStatement.setString(3,list.get(i).get("nickName")==null?"":list.get(i).get("nickName").toString());
|
||||||
|
telInsertStatement.setString(4,list.get(i).get("cellPhone")==null?"":list.get(i).get("cellPhone").toString());
|
||||||
|
telInsertStatement.setString(5,list.get(i).get("payStatus")==null?"":list.get(i).get("payStatus").toString());
|
||||||
|
telInsertStatement.setString(6,list.get(i).get("point")==null?"":list.get(i).get("point").toString());
|
||||||
|
telInsertStatement.setString(7,list.get(i).get("pointByJF")==null?"":list.get(i).get("pointByJF").toString());
|
||||||
|
telInsertStatement.setString(8,list.get(i).get("oid")==null?"":list.get(i).get("oid").toString());
|
||||||
|
// 添加到批处理中
|
||||||
|
telInsertStatement.addBatch();
|
||||||
|
e++;
|
||||||
|
if (e % 1000 == 0) {
|
||||||
|
telInsertStatement.executeBatch();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (list.get(i).get("paydate")!=null&&list.get(i).get("payValidDate")!=null){
|
||||||
|
userVipStatement.setString(1,userId);
|
||||||
|
userVipStatement.setString(2,list.get(i).get("payStatus").toString());
|
||||||
|
userVipStatement.setString(3,list.get(i).get("paydate").toString());
|
||||||
|
userVipStatement.setString(4,list.get(i).get("payValidDate").toString());
|
||||||
|
if (DateUtil.compare(DateUtil.parseDate(list.get(i).get("payValidDate").toString()),new Date())>0){
|
||||||
|
userVipStatement.setString(5,"0");
|
||||||
|
}else {
|
||||||
|
userVipStatement.setString(5,"1");
|
||||||
|
}
|
||||||
|
userVipStatement.execute();
|
||||||
|
// 添加到批处理中
|
||||||
|
userVipStatement.addBatch();
|
||||||
|
r++;
|
||||||
|
if (r % 1000 == 0) {
|
||||||
|
userVipStatement.executeBatch();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
telInsertStatement.executeBatch();
|
||||||
|
userVipStatement.executeBatch();
|
||||||
|
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
System.out.println("Error: " + e.getMessage());
|
System.out.println("Error: " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user