@ -9,6 +9,7 @@
@@ -9,6 +9,7 @@
package engine.objects ;
import engine.Enum ;
import engine.gameManager.DbManager ;
import engine.math.Vector3fImmutable ;
import engine.net.client.ClientConnection ;
@ -39,100 +40,30 @@ public class Petition extends AbstractGameObject {
@@ -39,100 +40,30 @@ public class Petition extends AbstractGameObject {
this . reportTime = DateTime . now ( ) ;
this . message = ( ( PetitionReceivedMsg ) msg ) . getMessage ( ) ;
}
public static String getPrimaryTypeString ( int value ) {
String primaryReportType ;
switch ( value ) {
case 1 : // TYPE_GENERAL_HELP
primaryReportType = "GENERAL" ;
break ;
case 2 : // TYPE_FEEDBACK
primaryReportType = "FEEDBACK" ;
break ;
case 3 : // TYPE_STUCK
primaryReportType = "STUCK" ;
break ;
case 4 : // TYPE_HARASSMENT
primaryReportType = "HARASSMENT" ;
break ;
case 5 : // TYPE_EXPLOIT
primaryReportType = "EXPLOIT" ;
break ;
case 6 : // TYPE_BUG
primaryReportType = "BUG" ;
break ;
case 7 : // TYPE_GAME_STOPPER
primaryReportType = "GAME STOPPER" ;
break ;
case 8 : // TYPE_TECH_SUPPORT
primaryReportType = "TECH SUPPORT" ;
break ;
default : // INVALID_TYPE cannot process this
primaryReportType = "NONE" ;
break ;
}
return primaryReportType ;
}
public static String getSecondaryTypeString ( int value ) {
String subType ;
switch ( value ) {
case 1 : // SUBTYPE_EXPLOIT_DUPE
subType = "DUPE" ;
break ;
case 2 : // SUBTYPE_EXPLOIT_LEVELING
subType = "LEVELLING" ;
break ;
case 3 : // SUBTYPE_EXPLOIT_SKILL_GAIN
subType = "SKILL GAIN" ;
break ;
case 4 : // SUBTYPE_EXPLOIT_KILLING
subType = "KILLING" ;
break ;
case 5 : // SUBTYPE_EXPLOIT_POLICY
subType = "POLICY" ;
break ;
case 6 : // SUBTYPE_EXPLOIT_OTHER
subType = "OTHER" ;
break ;
case 7 : // SUBTYPE_TECH_VIDEO
subType = "VIDEO" ;
break ;
case 8 : // SUBTYPE_TECH_SOUND
subType = "SOUND" ;
break ;
case 9 : // SUBTYPE_TECH_NETWORK
subType = "NETWORK" ;
break ;
case 10 : // SUBTYPE_TECH_OTHER
subType = "OTHER" ;
break ;
default : // INVALID_SUB_TYPE
subType = "NONE" ;
break ;
}
return subType ;
}
public static String getLocationString ( Vector3fImmutable loc ) {
return loc . x + "," + loc . y + "," + loc . z ;
}
@Override
public void updateDatabase ( ) {
try ( Connection connection = DbManager . getConnection ( ) ;
//check that table exists
PreparedStatement preparedStatement = connection . prepareStatement ( "INSERT INTO `dyn_petition` (`time`=?, `primaryType`=?, `subType`=?, `accountID`=?, `account`=?, "
+ "`characterID`=?, `character`=?, `location`=?, `message`=?" ) ) {
PreparedStatement preparedStatement = connection . prepareStatement ( "INSERT INTO `dyn_petition` (`time`=?, `primaryType`=?, `subType`=?, `account`=?, "
+ "`character`=?, `location`=?, `message`=?, `ID`=?)" ) ) {
preparedStatement . setString ( 1 , this . reportTime . toString ( ) ) ;
preparedStatement . setString ( 2 , getPrimaryTypeString ( this . primaryType ) ) ;
preparedStatement . setString ( 3 , getSecondaryTypeString ( this . subType ) ) ;
preparedStatement . setString ( 4 , this . reportAccount . getUname ( ) ) ;
preparedStatement . setString ( 5 , this . reportPlayer . getFirstName ( ) ) ;
preparedStatement . setString ( 6 , getLocationString ( this . playerLocation ) ) ;
preparedStatement . setString ( 7 , this . message ) ;
preparedStatement . setInt ( 8 , this . getObjectUUID ( ) ) ;
preparedStatement . setTimestamp ( 1 , new java . sql . Timestamp ( System . currentTimeMillis ( ) ) ) ;
preparedStatement . setString ( 2 , Enum . PetitionType . values ( ) [ this . primaryType ] . name ( ) ) ;
preparedStatement . setString ( 3 , Enum . PetitionSubType . values ( ) [ this . subType ] . name ( ) ) ;
preparedStatement . setInt ( 4 , this . reportAccount . getObjectUUID ( ) ) ;
preparedStatement . setString ( 5 , this . reportAccount . getUname ( ) ) ;
preparedStatement . setInt ( 6 , this . reportPlayer . getObjectUUID ( ) ) ;
preparedStatement . setString ( 7 , this . reportPlayer . getFirstName ( ) ) ;
preparedStatement . setString ( 8 , getLocationString ( this . playerLocation ) ) ;
preparedStatement . setString ( 9 , this . message ) ;
preparedStatement . executeUpdate ( ) ;