diff --git a/cmd/consumer/cs.go b/cmd/consumer/cs.go index 991195f..e7ed804 100644 --- a/cmd/consumer/cs.go +++ b/cmd/consumer/cs.go @@ -2,6 +2,7 @@ package main import ( "context" + "fmt" "log" "os" "os/signal" @@ -11,12 +12,27 @@ import ( fl "smpp-transmitter/pkg/logger" "smpp-transmitter/pkg/mq" + "github.com/joho/godotenv" "gorm.io/driver/mysql" "gorm.io/gorm" "gorm.io/gorm/logger" ) -func main() { +var ( + rabbitMQURL string + mysqlDSN string + queueName string + exchangeName string + appEnv string + routeKey string + Log fl.LogService +) + +func init() { + err := godotenv.Load() + if err != nil { + log.Fatal("Error loading .env file") + } // Load environment variables rabbitMQURL := os.Getenv("RABBITMQ_URL") mysqlDSN := os.Getenv("MYSQL_DSN") @@ -34,6 +50,11 @@ func main() { log.Fatalf("Failed to set up logger: %v", err) } + Log.Info("SMS Reply consumer service initialized:") +} + +func main() { + // Initialize MySQL database connection db, err := gorm.Open(mysql.Open(mysqlDSN), &gorm.Config{ Logger: logger.Default.LogMode(logger.Info), @@ -44,6 +65,7 @@ func main() { log.Fatalf("Failed to connect to MySQL: %v", err) } + //initilize rabbitmq messageQueue := mq.NewRabbitMQ(rabbitMQURL, exchangeName, queueName, routeKey) // Start message processing @@ -65,7 +87,8 @@ func main() { Log.Error("Message cannot be Inserted", err) return } - Log.Info("Message handled successfully") + + fmt.Printf("Message handled %v", string(body)) }) diff --git a/go.mod b/go.mod index 790d220..b65b9f2 100644 --- a/go.mod +++ b/go.mod @@ -3,8 +3,10 @@ module smpp-transmitter go 1.23rc1 require ( + github.com/joho/godotenv v1.5.1 github.com/streadway/amqp v1.1.0 gorm.io/driver/mysql v1.5.7 + gorm.io/gorm v1.25.11 ) require ( @@ -12,5 +14,4 @@ require ( github.com/jinzhu/inflection v1.0.0 // indirect github.com/jinzhu/now v1.1.5 // indirect golang.org/x/text v0.14.0 // indirect - gorm.io/gorm v1.25.11 // indirect ) diff --git a/go.sum b/go.sum index 213ecae..cd0ba35 100644 --- a/go.sum +++ b/go.sum @@ -4,13 +4,14 @@ github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= +github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0= +github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= github.com/streadway/amqp v1.1.0 h1:py12iX8XSyI7aN/3dUT8DFIDJazNJsVJdxNVEpnQTZM= github.com/streadway/amqp v1.1.0/go.mod h1:WYSrTEYHOXHd0nwFeUXAe2G2hRnQT+deZJJf88uS9Bg= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= gorm.io/driver/mysql v1.5.7 h1:MndhOPYOfEp2rHKgkZIhJ16eVUIRf2HmzgoPmh7FCWo= gorm.io/driver/mysql v1.5.7/go.mod h1:sEtPWMiqiN1N1cMXoXmBbd8C6/l+TESwriotuRRpkDM= -gorm.io/gorm v1.25.7 h1:VsD6acwRjz2zFxGO50gPO6AkNs7KKnvfzUjHQhZDz/A= gorm.io/gorm v1.25.7/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8= gorm.io/gorm v1.25.11 h1:/Wfyg1B/je1hnDx3sMkX+gAlxrlZpn6X0BXRlwXlvHg= gorm.io/gorm v1.25.11/go.mod h1:xh7N7RHfYlNc5EmcI/El95gXusucDrQnHXe0+CgWcLQ=