Advertisement
ihsanaulia

Untitled

Nov 22nd, 2019
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.25 KB | None | 0 0
  1. Bikin Interface namanya Group1 di package model
  2.  
  3. package apap.tugas.sikoperasi.model;
  4.  
  5. public interface Group1 {
  6. }
  7.  
  8. PinjamanModel(Di tanggalPengajuan sama jumlahPeminjaman ada tambahan (groups = {Group1.class}))
  9.  
  10. package apap.tugas.sikoperasi.model;
  11.  
  12. import java.io.Serializable;
  13. import java.sql.Date;
  14. import java.time.LocalDate;
  15.  
  16. import javax.persistence.Column;
  17. import javax.persistence.Entity;
  18. import javax.persistence.FetchType;
  19. import javax.persistence.GeneratedValue;
  20. import javax.persistence.GenerationType;
  21. import javax.persistence.Id;
  22. import javax.persistence.JoinColumn;
  23. import javax.persistence.ManyToOne;
  24. import javax.persistence.Table;
  25. import javax.validation.constraints.NotNull;
  26.  
  27. import com.fasterxml.jackson.annotation.JsonIgnore;
  28.  
  29. import org.hibernate.annotations.OnDelete;
  30. import org.hibernate.annotations.OnDeleteAction;
  31. import org.springframework.format.annotation.DateTimeFormat;
  32.  
  33.  
  34. @Entity
  35. @Table(name = "pinjaman")
  36. public class PinjamanModel implements Serializable{
  37.  
  38. @Id
  39. @GeneratedValue(strategy = GenerationType.IDENTITY)
  40. private Long idPinjaman;
  41.  
  42. public Long getIdPinjaman() {
  43. return this.idPinjaman;
  44. }
  45.  
  46. public void setIdPinjaman(Long idPinjaman) {
  47. this.idPinjaman = idPinjaman;
  48. }
  49.  
  50. @NotNull(groups = {Group1.class})
  51. @DateTimeFormat(pattern = "yyyy-MM-dd")
  52. @Column(name = "tanggalPengajuan", nullable = false)
  53. private LocalDate tanggalPengajuan;
  54.  
  55. public LocalDate getTanggalPengajuan() {
  56. return this.tanggalPengajuan;
  57. }
  58.  
  59. public void setTanggalPengajuan(LocalDate tanggalPengajuan) {
  60. this.tanggalPengajuan = tanggalPengajuan;
  61. }
  62.  
  63. @DateTimeFormat(pattern = "yyyy-MM-dd")
  64. @Column(name = "tanggalDisetujui")
  65. private LocalDate tanggalDisetujui;
  66.  
  67. public LocalDate getTanggalDisetujui() {
  68. return this.tanggalDisetujui;
  69. }
  70.  
  71. public void setTanggalDisetujui(LocalDate tanggalDisetujui) {
  72. this.tanggalDisetujui = tanggalDisetujui;
  73. }
  74.  
  75. @DateTimeFormat(pattern = "yyyy-MM-dd")
  76. @Column(name = "tanggalPengembalian")
  77. private LocalDate tanggalPengembalian;
  78.  
  79. public LocalDate getTanggalPengembalian() {
  80. return this.tanggalPengembalian;
  81. }
  82.  
  83. public void setTanggalPengembalian(LocalDate tanggalPengembalian) {
  84. this.tanggalPengembalian = tanggalPengembalian;
  85. }
  86.  
  87. @NotNull(groups = {Group1.class})
  88. @Column(name = "jumlahPinjaman", nullable = false)
  89. private Integer jumlahPinjaman;
  90.  
  91. public Integer getJumlahPinjaman() {
  92. return this.jumlahPinjaman;
  93. }
  94.  
  95. public void setJumlahPinjaman(Integer jumlahPinjaman) {
  96. this.jumlahPinjaman = jumlahPinjaman;
  97. }
  98.  
  99. @NotNull
  100. @Column(name = "jumlahPengembalian", nullable = false)
  101. private Integer jumlahPengembalian;
  102.  
  103. public Integer getJumlahPengembalian() {
  104. return this.jumlahPengembalian;
  105. }
  106.  
  107. public void setJumlahPengembalian(Integer jumlahPengembalian) {
  108. this.jumlahPengembalian = jumlahPengembalian;
  109. }
  110.  
  111. @NotNull
  112. @Column(name = "status", nullable = false)
  113. private Integer status;
  114.  
  115. public Integer getStatus() {
  116. return this.status;
  117. }
  118.  
  119. public void setStatus(Integer status) {
  120. this.status = status;
  121. }
  122.  
  123. @ManyToOne(fetch = FetchType.EAGER, optional = false)
  124. @JoinColumn(name = "idAnggota", referencedColumnName = "id", nullable = false)
  125. @OnDelete(action = OnDeleteAction.CASCADE)
  126. @JsonIgnore
  127. private AnggotaModel anggota;
  128.  
  129. public AnggotaModel getAnggota() {
  130. return this.anggota;
  131. }
  132.  
  133. public void setAnggota(AnggotaModel anggota) {
  134. this.anggota = anggota;
  135. }
  136.  
  137. }
  138.  
  139.  
  140. PinjamanRestService (@Valid diganti jadi @Validator)
  141.  
  142. package apap.tugas.sikoperasi.restcontroller;
  143.  
  144. import java.util.Map;
  145. import java.util.NoSuchElementException;
  146.  
  147. import javax.validation.Valid;
  148.  
  149. import apap.tugas.sikoperasi.model.Group1;
  150. import org.springframework.beans.factory.annotation.Autowired;
  151. import org.springframework.http.HttpStatus;
  152. import org.springframework.validation.BindingResult;
  153. import org.springframework.validation.annotation.Validated;
  154. import org.springframework.web.bind.annotation.PostMapping;
  155. import org.springframework.web.bind.annotation.RequestBody;
  156. import org.springframework.web.bind.annotation.RequestMapping;
  157. import org.springframework.web.bind.annotation.RestController;
  158. import org.springframework.web.server.ResponseStatusException;
  159.  
  160. import apap.tugas.sikoperasi.model.PinjamanModel;
  161. import apap.tugas.sikoperasi.rest.BaseResponse;
  162. import apap.tugas.sikoperasi.service.PinjamanRestService;
  163.  
  164.  
  165. @RestController
  166. @RequestMapping("/api/v1")
  167. public class PinjamanRestController {
  168. @Autowired
  169. private PinjamanRestService pinjamanRestService;
  170.  
  171. @PostMapping(value = "/pinjaman")
  172. private BaseResponse<PinjamanModel> createPinjaman(@Validated({Group1.class}) @RequestBody PinjamanModel pinjaman, BindingResult bindingResult) {
  173. if(bindingResult.hasFieldErrors()){
  174. throw new ResponseStatusException(
  175. HttpStatus.BAD_REQUEST, "Request body has invalid type or missing field");
  176. }
  177. // BaseResponse<PinjamanModel> response = new BaseResponse<>();
  178. //
  179. // try{
  180. // response.setStatus(200);
  181. // response.setMessage("success");
  182. // response.setResult(pinjamanRestService.createPinjaman(pinjaman));
  183. // return response;
  184. // } catch (NoSuchElementException e) {
  185. // throw new ResponseStatusException(
  186. // HttpStatus.NOT_FOUND, "Request body has invalid type or missing field");
  187. // }
  188. // }
  189.  
  190. else {
  191. BaseResponse<PinjamanModel> response = new BaseResponse<>();
  192.  
  193. try{
  194. response.setStatus(200);
  195. response.setMessage("success");
  196. response.setResult(pinjamanRestService.createPinjaman(pinjaman));
  197. return response;
  198. } catch (NoSuchElementException e) {
  199. throw new ResponseStatusException(
  200. HttpStatus.NOT_FOUND, "Request body has invalid type or missing field");
  201. }
  202.  
  203. }
  204. }
  205. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement