Skip to content

Commit 4c92cb9

Browse files
authored
Merge pull request #28 from BCSDLab/release/1.4.0
Release/1.4.0
2 parents 28f4e5d + 475d3ff commit 4c92cb9

43 files changed

Lines changed: 1104 additions & 915 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/main/java/koreatech/in/controller/CalendarController.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
import javax.inject.Inject;
1515
import java.util.List;
16+
import java.util.Map;
1617

1718
@Controller
1819
public class CalendarController {
@@ -27,7 +28,7 @@ ResponseEntity<List<Calendar>> getCalendars(@ApiParam(required = true) @RequestP
2728

2829
@RequestMapping(value = "/term", method = RequestMethod.GET)
2930
public @ResponseBody
30-
ResponseEntity<String> getTerm() throws Exception {
31+
ResponseEntity<Map<String, Object>> getTerm() throws Exception {
3132
return new ResponseEntity<>(calendarService.getTerm(), HttpStatus.OK);
3233
}
3334
}

src/main/java/koreatech/in/controller/KakaoBotController.java

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import com.google.gson.JsonElement;
44
import com.google.gson.JsonParser;
55
import koreatech.in.service.KakaoBotService;
6-
import koreatech.in.skillresponse.KakaoBotEnum;
6+
import koreatech.in.skillresponse.KakaoBot;
77
import koreatech.in.skillresponse.SkillResponse;
88
import org.springframework.http.HttpStatus;
99
import org.springframework.http.ResponseEntity;
@@ -25,66 +25,66 @@ public class KakaoBotController {
2525

2626
@RequestMapping(value = "/dinings", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
2727
public @ResponseBody
28-
ResponseEntity requestDinings(@RequestBody String body) {
29-
JsonParser jsonParser = new JsonParser();
30-
JsonElement jsonElement = jsonParser.parse(body);
31-
32-
// ['action']['params']['mealtime']
33-
JsonElement action = jsonElement.getAsJsonObject().get("action");
34-
JsonElement params = action.getAsJsonObject().get("params");
35-
String mealtime = params.getAsJsonObject().get("mealtime").getAsString();
36-
28+
ResponseEntity<String> requestDinings(@RequestBody String body) {
3729
String result;
3830
try {
31+
JsonParser jsonParser = new JsonParser();
32+
JsonElement jsonElement = jsonParser.parse(body);
33+
34+
// ['action']['params']['mealtime']
35+
JsonElement action = jsonElement.getAsJsonObject().get("action");
36+
JsonElement params = action.getAsJsonObject().get("params");
37+
String mealtime = params.getAsJsonObject().get("mealtime").getAsString();
38+
3939
result = kakaoBotService.crawlHaksik(mealtime);
4040
} catch (Exception e) {
4141
SkillResponse errorMsg = new SkillResponse();
4242
errorMsg.addSimpleText("API 오류가 발생하였습니다.");
4343
result = errorMsg.getSkillPayload().toString();
4444
}
4545

46-
return new ResponseEntity<String>(result, HttpStatus.OK);
46+
return new ResponseEntity<>(result, HttpStatus.OK);
4747
}
4848

4949
@RequestMapping(value = "/buses/request", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
5050
public @ResponseBody
51-
ResponseEntity requestBuses(@RequestBody String body) {
51+
ResponseEntity<String> requestBuses(@RequestBody String body) {
5252
SkillResponse busSkill = new SkillResponse();
53-
busSkill.addQujckReplies("한기대→야우리", KakaoBotEnum.QuickRepliesActionType.MESSAGE.getTypeText(), "한기대→야우리");
54-
busSkill.addQujckReplies("한기대→천안역", KakaoBotEnum.QuickRepliesActionType.MESSAGE.getTypeText(), "한기대→천안역");
55-
busSkill.addQujckReplies("야우리→한기대", KakaoBotEnum.QuickRepliesActionType.MESSAGE.getTypeText(), "야우리→한기대");
56-
busSkill.addQujckReplies("야우리→천안역", KakaoBotEnum.QuickRepliesActionType.MESSAGE.getTypeText(), "야우리→천안역");
57-
busSkill.addQujckReplies("천안역→한기대", KakaoBotEnum.QuickRepliesActionType.MESSAGE.getTypeText(), "천안역→한기대");
58-
busSkill.addQujckReplies("천안역→야우리", KakaoBotEnum.QuickRepliesActionType.MESSAGE.getTypeText(), "천안역→야우리");
53+
busSkill.addQujckReplies("한기대→야우리", KakaoBot.QuickRepliesActionType.MESSAGE.getTypeText(), "한기대→야우리");
54+
busSkill.addQujckReplies("한기대→천안역", KakaoBot.QuickRepliesActionType.MESSAGE.getTypeText(), "한기대→천안역");
55+
busSkill.addQujckReplies("야우리→한기대", KakaoBot.QuickRepliesActionType.MESSAGE.getTypeText(), "야우리→한기대");
56+
busSkill.addQujckReplies("야우리→천안역", KakaoBot.QuickRepliesActionType.MESSAGE.getTypeText(), "야우리→천안역");
57+
busSkill.addQujckReplies("천안역→한기대", KakaoBot.QuickRepliesActionType.MESSAGE.getTypeText(), "천안역→한기대");
58+
busSkill.addQujckReplies("천안역→야우리", KakaoBot.QuickRepliesActionType.MESSAGE.getTypeText(), "천안역→야우리");
5959

6060
busSkill.addSimpleText("선택하세요!");
6161

6262
String busSkillStr = busSkill.getSkillPayload().toString();
6363

64-
return new ResponseEntity<String>(busSkillStr, HttpStatus.OK);
64+
return new ResponseEntity<>(busSkillStr, HttpStatus.OK);
6565
}
6666

6767
@RequestMapping(value = "/buses", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
6868
public @ResponseBody
69-
ResponseEntity returnBuses(@RequestBody String body) {
70-
JsonParser jsonParser = new JsonParser();
71-
JsonElement jsonElement = jsonParser.parse(body);
72-
73-
// ['action']['params']['place'], ['action']['params']['place1']
74-
JsonElement action = jsonElement.getAsJsonObject().get("action");
75-
JsonElement params = action.getAsJsonObject().get("params");
76-
String depart = params.getAsJsonObject().get("place").getAsString();
77-
String arrival = params.getAsJsonObject().get("place1").getAsString();
78-
69+
ResponseEntity<String> returnBuses(@RequestBody String body) {
7970
String result;
8071
try {
72+
JsonParser jsonParser = new JsonParser();
73+
JsonElement jsonElement = jsonParser.parse(body);
74+
75+
// ['action']['params']['place'], ['action']['params']['place1']
76+
JsonElement action = jsonElement.getAsJsonObject().get("action");
77+
JsonElement params = action.getAsJsonObject().get("params");
78+
String depart = params.getAsJsonObject().get("place").getAsString();
79+
String arrival = params.getAsJsonObject().get("place1").getAsString();
80+
8181
result = kakaoBotService.calculateBus(depart, arrival);
8282
} catch (Exception e) {
8383
SkillResponse errorMsg = new SkillResponse();
8484
errorMsg.addSimpleText("API 오류가 발생하였습니다.");
8585
result = errorMsg.getSkillPayload().toString();
8686
}
8787

88-
return new ResponseEntity<String>(result, HttpStatus.OK);
88+
return new ResponseEntity<>(result, HttpStatus.OK);
8989
}
9090
}

src/main/java/koreatech/in/controller/LostAndFoundController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ ResponseEntity getLostItem(@ApiParam(required = true) @PathVariable int id) thro
6464
@ApiOperation(value = "", authorizations = {@Authorization(value="Authorization")})
6565
@RequestMapping(value = "/lost/lostItems/{id}", method = RequestMethod.PUT)
6666
public @ResponseBody
67-
ResponseEntity updateLostItem(@ApiParam(value="(optional: type, title, location, date, content, state, phone, is_phone_open, thumbnail)", required = false) @RequestBody @Validated(ValidationGroups.Update.class) LostItem lostItem, BindingResult bindingResult, @ApiParam(required = true) @PathVariable int id) throws Exception {
67+
ResponseEntity updateLostItem(@ApiParam(value="(required: type), (optional: title, location, date, content, state, phone, is_phone_open, thumbnail)", required = false) @RequestBody @Validated(ValidationGroups.Update.class) LostItem lostItem, BindingResult bindingResult, @ApiParam(required = true) @PathVariable int id) throws Exception {
6868
LostItem clear = new LostItem();
6969
return new ResponseEntity<LostItem>(lostAndFoundService.updateLostItem((LostItem) StringXssChecker.xssCheck(lostItem, clear), id), HttpStatus.CREATED);
7070
}

src/main/java/koreatech/in/controller/admin/AdminCalendarController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public class AdminCalendarController {
2424
@ApiOperation(value = "", authorizations = {@Authorization(value="Authorization")})
2525
@RequestMapping(value = "/admin/term", method = RequestMethod.POST)
2626
public @ResponseBody
27-
ResponseEntity<String> createTerm(@ApiParam(required = true, value = "10: 1학기 정규, 11: 1학기 계절, 20: 2학기 정규, 21: 2학기 계절") @RequestBody String term) {
27+
ResponseEntity<String> createTerm(@ApiParam(required = true, value = "10: 1학기 정규, 11: 1학기 계절, 12: 1학기 계절 이후, 20: 2학기 정규, 21: 2학기 계절, 22: 2학기 계절 이후") @RequestBody String term) {
2828

2929
return new ResponseEntity<>(calendarService.createTermForAdmin(term), HttpStatus.CREATED);
3030
}

src/main/java/koreatech/in/domain/BokDuck/Land.java

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,17 @@
44
import io.swagger.annotations.ApiModelProperty;
55
import koreatech.in.annotation.ValidationGroups;
66

7-
import javax.validation.constraints.NotNull;
8-
import javax.validation.constraints.Pattern;
7+
import javax.validation.constraints.*;
98
import java.util.Date;
109

1110
public class Land {
1211
@ApiModelProperty(notes = "고유 id", example = "10")
1312
private Integer id;
14-
@NotNull(groups = ValidationGroups.CreateAdmin.class, message = "원룸 건물 이름은 비워둘 수 없습니다.")
15-
@ApiModelProperty(notes = "원룸 건물 이름", example = "10")
13+
@Size(max = 255, message = "건물 이름은 255자 이내여야 합니다.")
14+
@NotNull(groups = ValidationGroups.CreateAdmin.class, message = "건물 이름은 비워둘 수 없습니다.")
15+
@ApiModelProperty(notes = "건물 이름", example = "라이프")
1616
private String name;
17-
@ApiModelProperty(notes = "고유 링크", example = "라이프")
17+
@ApiModelProperty(hidden = true)
1818
private String internal_name;
1919
@ApiModelProperty(notes = "방 크기", example = "3.5")
2020
private Double size;
@@ -33,14 +33,20 @@ public class Land {
3333
private String address;
3434
@ApiModelProperty(notes = "세부사항", example = "세부사항입니다.")
3535
private String description;
36+
@Max(value = Integer.MAX_VALUE, message = "입력할 수 없는 층수입니다.")
37+
@Min(value = 0, message = "입력할 수 없는 층수입니다.")
3638
@ApiModelProperty(notes = "층수", example = "4")
3739
private Integer floor;
40+
@Size(max = 255, message = "보증금은 255자 이내여야 합니다.")
3841
@ApiModelProperty(notes = "보증금", example = "35.5")
3942
private String deposit;
43+
@Size(max = 255, message = "월세는 255자 이내여야 합니다.")
4044
@ApiModelProperty(notes = "월세", example = "170(6개월)")
4145
private String monthly_fee;
46+
@Size(max = 255, message = "전세는 255자 이내여야 합니다.")
4247
@ApiModelProperty(notes = "전세", example = "43.2")
4348
private String charter_fee;
49+
@Size(max = 255, message = "관리비는 255자 이내여야 합니다.")
4450
@ApiModelProperty(notes = "관리비", example = "21(1인)/22(2인)/23(3인)")
4551
private String management_fee;
4652
@ApiModelProperty(notes = "냉장고 보유 여부", example = "1")

src/main/java/koreatech/in/domain/Circle/Circle.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import koreatech.in.annotation.ValidationGroups;
66

77
import javax.validation.constraints.NotNull;
8+
import javax.validation.constraints.Size;
89
import java.util.Date;
910
import java.util.HashMap;
1011
import java.util.Map;
@@ -15,6 +16,7 @@ public class Circle {
1516
@NotNull(groups = ValidationGroups.CreateAdmin.class, message = "동아리 카테고리는 비워둘 수 없습니다.")
1617
@ApiModelProperty(notes = "예술분야(C001), 공연분야(C002), 운동분야(C003), 학술분야(C004), 종교분야(C005), 사회봉사(C006), 준동아리(C007)", example = "C001")
1718
private String category;
19+
@Size(max = 50, message = "동아리 이름은 50자 이내여야 합니다.")
1820
@NotNull(groups = ValidationGroups.CreateAdmin.class, message = "동아리 이름은 비워둘 수 없습니다.")
1921
@ApiModelProperty(notes = "동아리 이름", example = "BCSD LAB")
2022
private String name;
@@ -33,11 +35,14 @@ public class Circle {
3335
private Boolean is_deleted;
3436
@ApiModelProperty(notes = "담당교수", example = "교수님")
3537
private String professor;
38+
@Size(max = 255, message = "동아리방 위치 설명은 255자 이내여야 합니다.")
3639
@ApiModelProperty(notes = "동아리방 위치", example = "동아리방 412호")
3740
private String location;
41+
@Size(max = 255, message = "주요사업 설명은 255자 이내여야 합니다.")
3842
@ApiModelProperty(notes = "주요사업", example = "컴퓨터 고치기")
3943
private String major_business;
40-
@ApiModelProperty(notes = "메인 소개 홈페이지", example = "https://bcsdlab.com")
44+
@Size(max = 255, message = "동아리 홈페이지 링크는 255자 이내여야 합니다.")
45+
@ApiModelProperty(notes = "동아리 홈페이지", example = "https://bcsdlab.com")
4146
private String introduce_url;
4247
@ApiModelProperty(hidden = true)
4348
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Seoul")

src/main/java/koreatech/in/domain/Community/Article.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import org.jsoup.Jsoup;
88

99
import javax.validation.constraints.NotNull;
10+
import javax.validation.constraints.Size;
1011
import java.util.Date;
1112

1213
public class Article {
@@ -16,6 +17,7 @@ public class Article {
1617
@NotNull(groups = { ValidationGroups.Create.class, ValidationGroups.CreateAdmin.class, ValidationGroups.Update.class, ValidationGroups.UpdateAdmin.class }, message = "board_id는 비워둘 수 없습니다.")
1718
@ApiModelProperty(notes = "게시판의 고유 id", example = "10")
1819
private Integer board_id;
20+
@Size(max = 255, message = "제목은 255자 이내여야 합니다.")
1921
@NotNull(groups = { ValidationGroups.Create.class, ValidationGroups.CreateAdmin.class }, message = "게시글 제목은 비워둘 수 없습니다.")
2022
@ApiModelProperty(notes = "제목", example = "제목입니다.")
2123
private String title;

src/main/java/koreatech/in/domain/Faq/Faq.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,13 @@
55
import koreatech.in.annotation.ValidationGroups;
66

77
import javax.validation.constraints.NotNull;
8+
import javax.validation.constraints.Size;
89
import java.util.Date;
910

1011
public class Faq {
1112
@ApiModelProperty(notes = "고유 id", example = "10")
1213
private Integer id;
14+
@Size(max = 255, message = "질문은 255자 이내여야 합니다.")
1315
@NotNull(groups = { ValidationGroups.CreateAdmin.class, ValidationGroups.UpdateAdmin.class }, message = "질문은 비워둘 수 없습니다.")
1416
@ApiModelProperty(notes = "질문", example = "질문1")
1517
private String question;

0 commit comments

Comments
 (0)