@@ -10,7 +10,8 @@ void sql_unlocked(std::string DeleteName)
10
10
sql::Connection *con = driver->connect (" tcp://8.130.48.157:3306" , " root" , " abc.123" );
11
11
con->setSchema (" flypen" );
12
12
sql::Statement *stmt = con->createStatement ();
13
- try {
13
+ try
14
+ {
14
15
std::string filename = DeleteName;
15
16
std::string DeleteQuery = " DELETE FROM file WHERE filename = " + DeleteName;
16
17
int rowsDelete = stmt->executeUpdate (DeleteQuery);
@@ -25,36 +26,41 @@ void sql_unlocked(std::string DeleteName)
25
26
26
27
// relate to chat
27
28
28
- int sql_findexist (std::string receiver){
29
+ int sql_findexist (std::string receiver)
30
+ {
29
31
sql::mysql::MySQL_Driver *driver = sql::mysql::get_mysql_driver_instance ();
30
32
sql::Connection *con = driver->connect (" tcp://8.130.48.157:3306" , " root" , " abc.123" );
31
33
con->setSchema (" flypen" );
32
- std::string readdata =" SELECT username FROM users" ;
33
- sql::PreparedStatement * readdatament = con->prepareStatement (readdata);
34
- sql::ResultSet *resultSet =readdatament->executeQuery ();
34
+ std::string readdata = " SELECT username FROM users" ;
35
+ sql::PreparedStatement *readdatament = con->prepareStatement (readdata);
36
+ sql::ResultSet *resultSet = readdatament->executeQuery ();
35
37
std::string usernamelist;
36
- while (resultSet->next ()){
37
- if (receiver == resultSet->getString (" username" ))return 1 ;
38
- }
39
- return 0 ;
38
+ while (resultSet->next ())
39
+ {
40
+ if (receiver == resultSet->getString (" username" ))
41
+ return 1 ;
42
+ }
43
+ return 0 ;
40
44
}
41
- int lockcheck (std::string filename){
45
+ int lockcheck (std::string filename)
46
+ {
42
47
sql::mysql::MySQL_Driver *driver = sql::mysql::get_mysql_driver_instance ();
43
48
sql::Connection *con = driver->connect (" tcp://8.130.48.157:3306" , " root" , " abc.123" );
44
49
con->setSchema (" flypen" );
45
- std::string readData =" SELECT filename FROM file" ;
46
- sql::PreparedStatement *readdatament =con->prepareStatement (readData);
47
- sql::ResultSet *resultSet =readdatament->executeQuery ();
50
+ std::string readData = " SELECT filename FROM file" ;
51
+ sql::PreparedStatement *readdatament = con->prepareStatement (readData);
52
+ sql::ResultSet *resultSet = readdatament->executeQuery ();
48
53
49
54
std::string name;
50
- while (resultSet->next ()){
51
- if (resultSet->getString (" filename" )==filename) return 1 ;
52
-
55
+ while (resultSet->next ())
56
+ {
57
+ if (resultSet->getString (" filename" ) == filename)
58
+ return 1 ;
53
59
}
54
- std::string changestate =" INSERT INTO file(filename) VALUES (?)" ;
55
- sql::PreparedStatement *changestatement =con->prepareStatement (changestate);
56
- changestatement->setString (1 ,filename);
57
- changestatement->executeUpdate ();
60
+ std::string changestate = " INSERT INTO file(filename) VALUES (?)" ;
61
+ sql::PreparedStatement *changestatement = con->prepareStatement (changestate);
62
+ changestatement->setString (1 , filename);
63
+ changestatement->executeUpdate ();
58
64
return 0 ;
59
65
}
60
66
void process (sql::PreparedStatement *readDatament, std::vector<std::string> s, sql::Connection *con)
@@ -223,7 +229,6 @@ void sql_addrequest(std::string sender, std::string receiver)
223
229
delete con;
224
230
}
225
231
226
-
227
232
void sql_addconnect (std::string connectptr)
228
233
{
229
234
try
@@ -427,20 +432,35 @@ bool sql_check(std::string user, std::string passwd)
427
432
std::cout << result << std::endl;
428
433
return result;
429
434
}
430
- Json::Value sql_find_my_msg (std::string me)
435
+ Json::Value sql_find_my_msg (std::string me, std::string connect_type )
431
436
432
437
{
433
- // std::cout << "login user: " << me << std::endl;
438
+ // std::cout << "login user: " << me << std::endl;
434
439
try
435
440
{
436
441
sql::mysql::MySQL_Driver *driver = sql::mysql::get_mysql_driver_instance ();
437
442
sql::Connection *con = driver->connect (" tcp://8.130.48.157:3306" , " root" , " abc.123" );
438
443
con->setSchema (" flypen" );
444
+ sql::PreparedStatement *prepStmt = nullptr ;
439
445
440
446
// =================== find begin
441
-
442
- std::string sqlFind = " SELECT * FROM chat WHERE sender = ? OR receiver = ?" ;
443
- sql::PreparedStatement *prepStmt = con->prepareStatement (sqlFind);
447
+ // SELECT * FROM chat WHERE (sender = 'lglglglgy' OR receiver = 'lglglglgy') AND isread = 0
448
+ std::string sqlFind_new_connect = " SELECT * FROM chat WHERE sender = ? OR receiver = ?" ;
449
+ std::string sqlFind_isread_is_zero = " SELECT * FROM chat WHERE (sender = ? OR receiver = ? ) AND isread = 0" ;
450
+ if (connect_type == " all" )
451
+ {
452
+ prepStmt = con->prepareStatement (sqlFind_new_connect);
453
+ }
454
+ else // if (connect_type == "new")
455
+ {
456
+ prepStmt = con->prepareStatement (sqlFind_isread_is_zero);
457
+ }
458
+ // else
459
+ // {
460
+ // std::cout << "connect_type error" << std::endl;
461
+ // return;
462
+ // }
463
+ // sql::PreparedStatement *prepStmt = con->prepareStatement(sqlFind);
444
464
prepStmt->setString (1 , me);
445
465
prepStmt->setString (2 , me);
446
466
sql::ResultSet *res = prepStmt->executeQuery ();
@@ -451,14 +471,24 @@ Json::Value sql_find_my_msg(std::string me)
451
471
int id;
452
472
453
473
// =================== update end
454
-
455
474
Json::Value result;
456
475
std::string sender;
457
476
std::string receiver;
458
477
std::map<std::string, Json::Value> sender_messages;
459
478
460
479
while (res->next ())
461
480
{
481
+ // update isread to 1
482
+ if (connect_type == " new" )
483
+ {
484
+ id = res->getInt (" id" );
485
+ sql::PreparedStatement *updateStmt = con->prepareStatement (sql0To1);
486
+ updateStmt->setInt (1 , id);
487
+ updateStmt->executeUpdate ();
488
+ delete updateStmt;
489
+ std::cout<<" change" <<std::endl;
490
+ }
491
+
462
492
Json::Value item;
463
493
464
494
sender = res->getString (" sender" );
0 commit comments