Commit 38799f7a by Mihailo Sebek

Lajk repository

parent f5dc8e96
package com.example.SkuciSe.controller;
import com.example.SkuciSe.model.komentar.Lajk;
import com.example.SkuciSe.model.korisnik.KorisnikDetails;
import com.example.SkuciSe.repository.LajkRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.Banner;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
import org.springframework.stereotype.Controller;
......@@ -11,14 +14,12 @@ import org.springframework.web.bind.annotation.PostMapping;
@Controller
public class LajkController
{
/*
@Autowired
LajkRepository lajkRepo;
*/
@PostMapping("/lista-oglasa/{oglasId}/lajkuj-oglas")
public String postLajkujOglas(Model model, @AuthenticationPrincipal KorisnikDetails loggedUser, @PathVariable("oglasId") int oglasId)
{
//lajkRepo.update( new Lajk( oglasId, loggedUser.getKorisnik().getKorisnikId()));
lajkRepo.updateLajk( new Lajk( oglasId, loggedUser.getKorisnik().getKorisnikId()));
return "redirect:/lista-oglasa/" + oglasId;
}
}
package com.example.SkuciSe.controller;
import com.example.SkuciSe.model.komentar.Komentar;
import com.example.SkuciSe.model.komentar.Lajk;
import com.example.SkuciSe.model.korisnik.Korisnik;
import com.example.SkuciSe.model.korisnik.KorisnikDetails;
import com.example.SkuciSe.model.oglas.Oglas;
......@@ -37,10 +38,9 @@ public class OglasController
@Autowired
KomentarRepository komentarRepository;
/*
@Autowired
LajkRepository lajkRepo;
*/
@GetMapping("/novi-oglas")
public String getNoviOglas(Model model, @AuthenticationPrincipal KorisnikDetails loggedUser)
......@@ -118,10 +118,9 @@ public class OglasController
korisniciKomentari.add( kRepo.findById( komentar.getKorisnikId()));
}
model.addAttribute("korisniciKomentari", korisniciKomentari);
/*
model.addAttribute("liked", lajkRepo.isLiked( oglasId, loggedUser.getKorisnik().getKorisnikId()));
model.addAttribute("likesCount", lajkRepo.countLajks( oglasId));
*/
model.addAttribute("liked", lajkRepo.isLiked( new Lajk(oglasId, loggedUser.getKorisnik().getKorisnikId())));
model.addAttribute("likesCount", lajkRepo.countLajks(oglasId));
return("oglas");
}
@GetMapping("/profile/moji-oglasi")
......
package com.example.SkuciSe.repository;
import com.example.SkuciSe.model.komentar.Lajk;
import com.example.SkuciSe.model.korisnik.Korisnik;
import com.example.SkuciSe.model.oglas.Oglas;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;
import javax.xml.crypto.Data;
import java.io.IOException;
import java.sql.CallableStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Base64;
@Component
public class LajkRepository {
@Autowired
DataBase dataBase;
public void updateLajk(Lajk lajk)
{
if(this.isLiked(lajk))
{
this.deleteLajk(lajk);
}
else
{
this.insertLajk(lajk);
}
}
public void insertLajk(Lajk lajk){
CallableStatement stmt = null;
try {
String sql = "{call insertLajk(?,?)}";
stmt = dataBase.connection.prepareCall( sql);
stmt.setInt(1, lajk.getKorisnikId());
stmt.setInt(2, lajk.getOglasId());
stmt.execute();
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
public void deleteLajk(Lajk lajk){
CallableStatement stmt = null;
try {
String sql = "{call deleteLajk(?,?)}";
stmt = dataBase.connection.prepareCall( sql);
stmt.setInt(1, lajk.getKorisnikId());
stmt.setInt(2, lajk.getOglasId());
stmt.execute();
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
public void deleteLajkByOglasId(int oglasId)
{
CallableStatement stmt=null;
try {
String sql = "{call deleteLajkByOglasId(?)}";
stmt = dataBase.connection.prepareCall( sql);
stmt.setInt(1, oglasId);
stmt.execute();
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
public void deleteLajkByKorisnikId(int korisnikId)
{
CallableStatement stmt=null;
try {
String sql = "{call deleteLajkByKorisnikId(?)}";
stmt = dataBase.connection.prepareCall( sql);
stmt.setInt(1, korisnikId);
stmt.execute();
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
public boolean isLiked(Lajk lajk)
{
CallableStatement stmt=null;
ResultSet rs=null;
try {
String sql = "{call isLiked(?,?)}";
stmt = dataBase.connection.prepareCall( sql);
stmt.setInt(1, lajk.getKorisnikId());
stmt.setInt(2, lajk.getOglasId());
rs=stmt.executeQuery();
while(rs.next())
{
if(rs.getInt(1)>0)
{
return true;
}
else
{
return false;
}
}
} catch (SQLException e) {
System.out.println(e.getMessage());
}
return false;
}
public int countLajks(int oglasId)
{
CallableStatement stmt=null;
ResultSet rs=null;
try {
String sql = "{call countLajks(?)}";
stmt = dataBase.connection.prepareCall( sql);
stmt.setInt(1,oglasId);
rs=stmt.executeQuery();
while(rs.next())
{
return(rs.getInt(1));
}
} catch (SQLException e) {
System.out.println(e.getMessage());
}
return 0;
}
}
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