worldEvent 추가
event > rewardEvent로 변경
This commit is contained in:
@@ -1,57 +0,0 @@
|
|||||||
package com.caliverse.admin.domain.api;
|
|
||||||
|
|
||||||
import com.caliverse.admin.domain.request.EventRequest;
|
|
||||||
import com.caliverse.admin.domain.response.EventResponse;
|
|
||||||
import com.caliverse.admin.domain.service.EventService;
|
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import org.springframework.http.ResponseEntity;
|
|
||||||
import org.springframework.web.bind.annotation.*;
|
|
||||||
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
@Tag(name = "이벤트", description = "이벤트 조회 및 발송 관리 메뉴 api")
|
|
||||||
@RestController
|
|
||||||
@RequiredArgsConstructor
|
|
||||||
@RequestMapping("/api/v1/event")
|
|
||||||
public class EventController {
|
|
||||||
|
|
||||||
private final EventService eventService;
|
|
||||||
// 리스트 조회
|
|
||||||
@GetMapping("/list")
|
|
||||||
public ResponseEntity<EventResponse> getList(
|
|
||||||
@RequestParam Map<String, String> requestParam){
|
|
||||||
|
|
||||||
return ResponseEntity.ok().body(eventService.getList(requestParam));
|
|
||||||
}
|
|
||||||
// 상세 조회
|
|
||||||
@GetMapping("/detail/{id}")
|
|
||||||
public ResponseEntity<EventResponse> getDetail(
|
|
||||||
@PathVariable("id") Long id){
|
|
||||||
|
|
||||||
return ResponseEntity.ok().body(eventService.getDetail(id));
|
|
||||||
}
|
|
||||||
@PostMapping
|
|
||||||
public ResponseEntity<EventResponse> postEvent(
|
|
||||||
@RequestBody EventRequest eventRequest){
|
|
||||||
|
|
||||||
return ResponseEntity.ok().body(eventService.postEvent(eventRequest));
|
|
||||||
}
|
|
||||||
@PutMapping("/{id}")
|
|
||||||
public ResponseEntity<EventResponse> updateEvent(
|
|
||||||
@PathVariable("id")Long id, @RequestBody EventRequest eventRequest){
|
|
||||||
|
|
||||||
return ResponseEntity.ok().body(eventService.updateEvent(id, eventRequest));
|
|
||||||
}
|
|
||||||
@DeleteMapping("/delete")
|
|
||||||
public ResponseEntity<EventResponse> deleteEvent(
|
|
||||||
@RequestBody EventRequest eventRequest){
|
|
||||||
|
|
||||||
return ResponseEntity.ok().body(eventService.deleteEvent(eventRequest));
|
|
||||||
}
|
|
||||||
@PostMapping("/item")
|
|
||||||
public ResponseEntity<EventResponse> getItem(
|
|
||||||
@RequestBody Map<String, String> item) {
|
|
||||||
return ResponseEntity.ok().body(eventService.getMetaItem(item.get("item")));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
package com.caliverse.admin.domain.api;
|
||||||
|
|
||||||
|
import com.caliverse.admin.domain.request.RewardEventRequest;
|
||||||
|
import com.caliverse.admin.domain.response.RewardEventResponse;
|
||||||
|
import com.caliverse.admin.domain.service.RewardEventService;
|
||||||
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.http.ResponseEntity;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@Tag(name = "보상 이벤트", description = "보상 이벤트 조회 및 발송 관리 메뉴 api")
|
||||||
|
@RestController
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@RequestMapping("/api/v1/event")
|
||||||
|
public class RewardEventController {
|
||||||
|
|
||||||
|
private final RewardEventService rewardEventService;
|
||||||
|
// 리스트 조회
|
||||||
|
@GetMapping("/list")
|
||||||
|
public ResponseEntity<RewardEventResponse> getList(
|
||||||
|
@RequestParam Map<String, String> requestParam){
|
||||||
|
|
||||||
|
return ResponseEntity.ok().body(rewardEventService.getList(requestParam));
|
||||||
|
}
|
||||||
|
// 상세 조회
|
||||||
|
@GetMapping("/detail/{id}")
|
||||||
|
public ResponseEntity<RewardEventResponse> getDetail(
|
||||||
|
@PathVariable("id") Long id){
|
||||||
|
|
||||||
|
return ResponseEntity.ok().body(rewardEventService.getDetail(id));
|
||||||
|
}
|
||||||
|
@PostMapping
|
||||||
|
public ResponseEntity<RewardEventResponse> postEvent(
|
||||||
|
@RequestBody RewardEventRequest rewardEventRequest){
|
||||||
|
|
||||||
|
return ResponseEntity.ok().body(rewardEventService.postEvent(rewardEventRequest));
|
||||||
|
}
|
||||||
|
@PutMapping("/{id}")
|
||||||
|
public ResponseEntity<RewardEventResponse> updateEvent(
|
||||||
|
@PathVariable("id")Long id, @RequestBody RewardEventRequest rewardEventRequest){
|
||||||
|
|
||||||
|
return ResponseEntity.ok().body(rewardEventService.updateEvent(id, rewardEventRequest));
|
||||||
|
}
|
||||||
|
@DeleteMapping("/delete")
|
||||||
|
public ResponseEntity<RewardEventResponse> deleteEvent(
|
||||||
|
@RequestBody RewardEventRequest rewardEventRequest){
|
||||||
|
|
||||||
|
return ResponseEntity.ok().body(rewardEventService.deleteEvent(rewardEventRequest));
|
||||||
|
}
|
||||||
|
@PostMapping("/item")
|
||||||
|
public ResponseEntity<RewardEventResponse> getItem(
|
||||||
|
@RequestBody Map<String, String> item) {
|
||||||
|
return ResponseEntity.ok().body(rewardEventService.getMetaItem(item.get("item")));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
package com.caliverse.admin.domain.api;
|
||||||
|
|
||||||
|
import com.caliverse.admin.domain.request.WorldEventRequest;
|
||||||
|
import com.caliverse.admin.domain.response.WorldEventResponse;
|
||||||
|
import com.caliverse.admin.domain.service.WorldEventService;
|
||||||
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.http.ResponseEntity;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@Tag(name = "월드이벤트", description = "월드이벤트 api")
|
||||||
|
@RestController
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@RequestMapping("/api/v1/world-event")
|
||||||
|
public class WorldEventController {
|
||||||
|
private final WorldEventService worldEventService;
|
||||||
|
|
||||||
|
@GetMapping("/list")
|
||||||
|
public ResponseEntity<WorldEventResponse> getWorldEventList(
|
||||||
|
@RequestParam Map<String, String> requestParam){
|
||||||
|
return ResponseEntity.ok().body( worldEventService.getList(requestParam));
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/detail/{id}")
|
||||||
|
public ResponseEntity<WorldEventResponse> getWorldEventDetail(
|
||||||
|
@PathVariable("id") Long id){
|
||||||
|
return ResponseEntity.ok().body( worldEventService.getDetail(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping
|
||||||
|
public ResponseEntity<WorldEventResponse> postWorldEvent(
|
||||||
|
@RequestBody WorldEventRequest worldEventRequest){
|
||||||
|
|
||||||
|
return ResponseEntity.ok().body(worldEventService.postWorldEvent(worldEventRequest));
|
||||||
|
}
|
||||||
|
|
||||||
|
@PutMapping("/{id}")
|
||||||
|
public ResponseEntity<WorldEventResponse> updateWorldEvent(
|
||||||
|
@PathVariable("id")Long id, @RequestBody WorldEventRequest worldEventRequest){
|
||||||
|
|
||||||
|
return ResponseEntity.ok().body(worldEventService.updateWorldEvent(id, worldEventRequest));
|
||||||
|
}
|
||||||
|
|
||||||
|
@DeleteMapping("/delete")
|
||||||
|
public ResponseEntity<WorldEventResponse> deleteWorldEvent(
|
||||||
|
@RequestParam Long id){
|
||||||
|
|
||||||
|
return ResponseEntity.ok().body(worldEventService.deleteWorldEvent(id));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,30 +1,29 @@
|
|||||||
package com.caliverse.admin.domain.dao.admin;
|
package com.caliverse.admin.domain.dao.admin;
|
||||||
|
|
||||||
import com.caliverse.admin.domain.entity.Item;
|
import com.caliverse.admin.domain.entity.Item;
|
||||||
import com.caliverse.admin.domain.entity.Event;
|
import com.caliverse.admin.domain.entity.RewardEvent;
|
||||||
import com.caliverse.admin.domain.entity.Mail;
|
|
||||||
import com.caliverse.admin.domain.entity.Message;
|
import com.caliverse.admin.domain.entity.Message;
|
||||||
import com.caliverse.admin.domain.request.EventRequest;
|
import com.caliverse.admin.domain.request.RewardEventRequest;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
||||||
public interface EventMapper {
|
public interface RewardEventMapper {
|
||||||
|
|
||||||
List<Event> getEventList(Map map);
|
List<RewardEvent> getEventList(Map map);
|
||||||
int getAllCnt(Map map);
|
int getAllCnt(Map map);
|
||||||
int getTotal();
|
int getTotal();
|
||||||
Event getEventDetail(Long id);
|
RewardEvent getEventDetail(Long id);
|
||||||
|
|
||||||
List<Message> getMessage(Long id);
|
List<Message> getMessage(Long id);
|
||||||
|
|
||||||
List<Item> getItem(Long id);
|
List<Item> getItem(Long id);
|
||||||
int postEvent(EventRequest mailRequest);
|
int postEvent(RewardEventRequest mailRequest);
|
||||||
|
|
||||||
void insertMessage(Map map);
|
void insertMessage(Map map);
|
||||||
void insertItem(Map map);
|
void insertItem(Map map);
|
||||||
int updateEvent(EventRequest mailRequest);
|
int updateEvent(RewardEventRequest mailRequest);
|
||||||
|
|
||||||
int deleteMessage(Map map);
|
int deleteMessage(Map map);
|
||||||
|
|
||||||
@@ -35,5 +34,5 @@ public interface EventMapper {
|
|||||||
int updateStatusEvent(Map map);
|
int updateStatusEvent(Map map);
|
||||||
int updateAddFlag(Long id);
|
int updateAddFlag(Long id);
|
||||||
|
|
||||||
List<Event> getScheduleEventList();
|
List<RewardEvent> getScheduleEventList();
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
package com.caliverse.admin.domain.dao.admin;
|
||||||
|
|
||||||
|
import com.caliverse.admin.domain.entity.WorldEvent;
|
||||||
|
import com.caliverse.admin.domain.request.WorldEventRequest;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
||||||
|
public interface WorldEventMapper {
|
||||||
|
|
||||||
|
List<WorldEvent> getWorldEventList(Map map);
|
||||||
|
int getTotal();
|
||||||
|
WorldEvent getWorldEventDetail(Long id);
|
||||||
|
|
||||||
|
int postWorldEvent(WorldEventRequest worldEventRequest);
|
||||||
|
int updateWorldEvent(WorldEventRequest worldEventRequest);
|
||||||
|
int deleteWorldEvent(Map map);
|
||||||
|
|
||||||
|
int checkOverlap(WorldEventRequest worldEventRequest);
|
||||||
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.caliverse.admin.domain.request;
|
package com.caliverse.admin.domain.request;
|
||||||
|
|
||||||
import com.caliverse.admin.domain.entity.Item;
|
import com.caliverse.admin.domain.entity.Item;
|
||||||
import com.caliverse.admin.domain.entity.Event;
|
import com.caliverse.admin.domain.entity.RewardEvent;
|
||||||
import com.caliverse.admin.domain.entity.Message;
|
import com.caliverse.admin.domain.entity.Message;
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
@@ -13,7 +13,7 @@ import java.util.List;
|
|||||||
@Builder
|
@Builder
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
public class EventRequest {
|
public class RewardEventRequest {
|
||||||
|
|
||||||
private Long id;
|
private Long id;
|
||||||
@JsonProperty("mail_list")
|
@JsonProperty("mail_list")
|
||||||
@@ -21,7 +21,7 @@ public class EventRequest {
|
|||||||
@JsonProperty("item_list")
|
@JsonProperty("item_list")
|
||||||
private List<Item> itemList; // 아이템
|
private List<Item> itemList; // 아이템
|
||||||
@JsonProperty("event_type")
|
@JsonProperty("event_type")
|
||||||
private Event.EVENTTYPE eventType;
|
private RewardEvent.EVENTTYPE eventType;
|
||||||
@JsonProperty("start_dt")
|
@JsonProperty("start_dt")
|
||||||
private LocalDateTime startDt; // 시작 시간
|
private LocalDateTime startDt; // 시작 시간
|
||||||
@JsonProperty("end_dt")
|
@JsonProperty("end_dt")
|
||||||
@@ -37,6 +37,6 @@ public class EventRequest {
|
|||||||
private LocalDateTime updateDt;
|
private LocalDateTime updateDt;
|
||||||
|
|
||||||
//삭제용 id
|
//삭제용 id
|
||||||
private List<Event> list;
|
private List<RewardEvent> list;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
package com.caliverse.admin.domain.request;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import lombok.*;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class WorldEventRequest {
|
||||||
|
|
||||||
|
private Long id;
|
||||||
|
private String title;
|
||||||
|
@JsonProperty("start_dt")
|
||||||
|
private LocalDateTime startDt;
|
||||||
|
@JsonProperty("end_dt")
|
||||||
|
private LocalDateTime endDt;
|
||||||
|
@JsonProperty("global_event_action_id")
|
||||||
|
private Integer globalEventActionId;
|
||||||
|
@JsonProperty("personal_event_action_id")
|
||||||
|
private Integer personalEventActionId;
|
||||||
|
@JsonProperty("max_point")
|
||||||
|
private Integer maxPoint;
|
||||||
|
|
||||||
|
@JsonProperty("create_by")
|
||||||
|
private Long createBy;
|
||||||
|
@JsonProperty("create_dt")
|
||||||
|
private LocalDateTime createDt;
|
||||||
|
@JsonProperty("update_by")
|
||||||
|
private Long updateBy;
|
||||||
|
@JsonProperty("update_dt")
|
||||||
|
private LocalDateTime updateDt;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
package com.caliverse.admin.domain.response;
|
package com.caliverse.admin.domain.response;
|
||||||
|
|
||||||
import com.caliverse.admin.domain.entity.Event;
|
import com.caliverse.admin.domain.entity.RewardEvent;
|
||||||
import com.caliverse.admin.domain.entity.Item;
|
import com.caliverse.admin.domain.entity.Item;
|
||||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
@@ -15,7 +15,7 @@ import java.util.List;
|
|||||||
@Builder
|
@Builder
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
public class EventResponse {
|
public class RewardEventResponse {
|
||||||
private int status;
|
private int status;
|
||||||
|
|
||||||
private String result;
|
private String result;
|
||||||
@@ -31,10 +31,10 @@ public class EventResponse {
|
|||||||
private String message;
|
private String message;
|
||||||
|
|
||||||
@JsonProperty("detail")
|
@JsonProperty("detail")
|
||||||
private Event event;
|
private RewardEvent rewardEvent;
|
||||||
|
|
||||||
@JsonProperty("list")
|
@JsonProperty("list")
|
||||||
private List<Event> eventList;
|
private List<RewardEvent> rewardEventList;
|
||||||
private int total;
|
private int total;
|
||||||
@JsonProperty("total_all")
|
@JsonProperty("total_all")
|
||||||
private int totalAll;
|
private int totalAll;
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
package com.caliverse.admin.domain.response;
|
||||||
|
|
||||||
|
import com.caliverse.admin.domain.entity.MenuBanner;
|
||||||
|
import com.caliverse.admin.domain.entity.WorldEvent;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class WorldEventResponse {
|
||||||
|
private int status;
|
||||||
|
|
||||||
|
private String result;
|
||||||
|
|
||||||
|
@JsonProperty("data")
|
||||||
|
private ResultData resultData;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
|
public static class ResultData{
|
||||||
|
|
||||||
|
private String message;
|
||||||
|
|
||||||
|
@JsonProperty("detail")
|
||||||
|
private WorldEvent worldEvent;
|
||||||
|
|
||||||
|
@JsonProperty("list")
|
||||||
|
private List<WorldEvent> worldEventList;
|
||||||
|
|
||||||
|
private int total;
|
||||||
|
@JsonProperty("total_all")
|
||||||
|
private int totalAll;
|
||||||
|
@JsonProperty("page_no")
|
||||||
|
private int pageNo;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
package com.caliverse.admin.domain.service;
|
package com.caliverse.admin.domain.service;
|
||||||
|
|
||||||
import com.caliverse.admin.domain.dao.admin.EventMapper;
|
import com.caliverse.admin.domain.dao.admin.RewardEventMapper;
|
||||||
import com.caliverse.admin.domain.datacomponent.MetaDataHandler;
|
import com.caliverse.admin.domain.datacomponent.MetaDataHandler;
|
||||||
import com.caliverse.admin.domain.entity.*;
|
import com.caliverse.admin.domain.entity.*;
|
||||||
import com.caliverse.admin.domain.entity.log.LogAction;
|
import com.caliverse.admin.domain.entity.log.LogAction;
|
||||||
import com.caliverse.admin.domain.entity.log.LogStatus;
|
import com.caliverse.admin.domain.entity.log.LogStatus;
|
||||||
import com.caliverse.admin.domain.request.EventRequest;
|
import com.caliverse.admin.domain.request.RewardEventRequest;
|
||||||
import com.caliverse.admin.domain.response.EventResponse;
|
import com.caliverse.admin.domain.response.RewardEventResponse;
|
||||||
import com.caliverse.admin.dynamodb.service.DynamodbMailService;
|
import com.caliverse.admin.dynamodb.service.DynamodbMailService;
|
||||||
import com.caliverse.admin.dynamodb.service.DynamodbService;
|
import com.caliverse.admin.dynamodb.service.DynamodbService;
|
||||||
import com.caliverse.admin.global.common.annotation.BusinessProcess;
|
import com.caliverse.admin.global.common.annotation.BusinessProcess;
|
||||||
@@ -20,7 +20,6 @@ import com.caliverse.admin.global.component.manager.BusinessProcessIdManager;
|
|||||||
import com.caliverse.admin.mongodb.service.MysqlHistoryLogService;
|
import com.caliverse.admin.mongodb.service.MysqlHistoryLogService;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.json.JSONObject;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.transaction.support.TransactionSynchronization;
|
import org.springframework.transaction.support.TransactionSynchronization;
|
||||||
@@ -34,30 +33,30 @@ import java.util.Map;
|
|||||||
@Service
|
@Service
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class EventService {
|
public class RewardEventService {
|
||||||
private final DynamodbService dynamodbService;
|
private final DynamodbService dynamodbService;
|
||||||
private final DynamodbMailService dynamodbMailService;
|
private final DynamodbMailService dynamodbMailService;
|
||||||
|
|
||||||
private final EventMapper eventMapper;
|
private final RewardEventMapper rewardEventMapper;
|
||||||
private final MetaDataHandler metaDataHandler;
|
private final MetaDataHandler metaDataHandler;
|
||||||
private final MysqlHistoryLogService mysqlHistoryLogService;
|
private final MysqlHistoryLogService mysqlHistoryLogService;
|
||||||
private final BusinessProcessIdManager processIdManager;
|
private final BusinessProcessIdManager processIdManager;
|
||||||
|
|
||||||
@RequestLog
|
@RequestLog
|
||||||
public EventResponse getList(Map requestParam){
|
public RewardEventResponse getList(Map requestParam){
|
||||||
//페이징 처리
|
//페이징 처리
|
||||||
requestParam = CommonUtils.pageSetting(requestParam);
|
requestParam = CommonUtils.pageSetting(requestParam);
|
||||||
|
|
||||||
List<Event> list = eventMapper.getEventList(requestParam);
|
List<RewardEvent> list = rewardEventMapper.getEventList(requestParam);
|
||||||
|
|
||||||
int allCnt = eventMapper.getAllCnt(requestParam);
|
int allCnt = rewardEventMapper.getAllCnt(requestParam);
|
||||||
|
|
||||||
return EventResponse.builder()
|
return RewardEventResponse.builder()
|
||||||
.status(CommonCode.SUCCESS.getHttpStatus())
|
.status(CommonCode.SUCCESS.getHttpStatus())
|
||||||
.result(CommonCode.SUCCESS.getResult())
|
.result(CommonCode.SUCCESS.getResult())
|
||||||
.resultData(EventResponse.ResultData.builder()
|
.resultData(RewardEventResponse.ResultData.builder()
|
||||||
.eventList(list)
|
.rewardEventList(list)
|
||||||
.total(eventMapper.getTotal())
|
.total(rewardEventMapper.getTotal())
|
||||||
.totalAll(allCnt)
|
.totalAll(allCnt)
|
||||||
.pageNo(requestParam.get("page_no")!=null?
|
.pageNo(requestParam.get("page_no")!=null?
|
||||||
Integer.valueOf(requestParam.get("page_no").toString()):1)
|
Integer.valueOf(requestParam.get("page_no").toString()):1)
|
||||||
@@ -67,24 +66,24 @@ public class EventService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@RequestLog
|
@RequestLog
|
||||||
public EventResponse getDetail(Long id){
|
public RewardEventResponse getDetail(Long id){
|
||||||
Event event = eventMapper.getEventDetail(id);
|
RewardEvent rewardEvent = rewardEventMapper.getEventDetail(id);
|
||||||
|
|
||||||
event.setMailList(eventMapper.getMessage(id));
|
rewardEvent.setMailList(rewardEventMapper.getMessage(id));
|
||||||
List<Item> itemList = eventMapper.getItem(id);
|
List<Item> itemList = rewardEventMapper.getItem(id);
|
||||||
for(Item item : itemList){
|
for(Item item : itemList){
|
||||||
String itemName = metaDataHandler.getMetaItemNameData(Integer.parseInt(item.getItem()));
|
String itemName = metaDataHandler.getMetaItemNameData(Integer.parseInt(item.getItem()));
|
||||||
item.setItemName(metaDataHandler.getTextStringData(itemName));
|
item.setItemName(metaDataHandler.getTextStringData(itemName));
|
||||||
}
|
}
|
||||||
event.setItemList(itemList);
|
rewardEvent.setItemList(itemList);
|
||||||
|
|
||||||
log.info("getDetail call User Email: {}, event_id: {}", CommonUtils.getAdmin().getEmail(), id);
|
log.info("getDetail call User Email: {}, event_id: {}", CommonUtils.getAdmin().getEmail(), id);
|
||||||
|
|
||||||
return EventResponse.builder()
|
return RewardEventResponse.builder()
|
||||||
.status(CommonCode.SUCCESS.getHttpStatus())
|
.status(CommonCode.SUCCESS.getHttpStatus())
|
||||||
.result(CommonCode.SUCCESS.getResult())
|
.result(CommonCode.SUCCESS.getResult())
|
||||||
.resultData(EventResponse.ResultData.builder()
|
.resultData(RewardEventResponse.ResultData.builder()
|
||||||
.event(event)
|
.rewardEvent(rewardEvent)
|
||||||
.build())
|
.build())
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
@@ -92,37 +91,37 @@ public class EventService {
|
|||||||
@BusinessProcess(action = LogAction.EVENT)
|
@BusinessProcess(action = LogAction.EVENT)
|
||||||
@Transactional(transactionManager = "transactionManager")
|
@Transactional(transactionManager = "transactionManager")
|
||||||
@RequestLog
|
@RequestLog
|
||||||
public EventResponse postEvent(EventRequest eventRequest){
|
public RewardEventResponse postEvent(RewardEventRequest rewardEventRequest){
|
||||||
eventRequest.setCreateBy(CommonUtils.getAdmin().getId());
|
rewardEventRequest.setCreateBy(CommonUtils.getAdmin().getId());
|
||||||
|
|
||||||
int result = eventMapper.postEvent(eventRequest);
|
int result = rewardEventMapper.postEvent(rewardEventRequest);
|
||||||
log.info("postEvent AdminToolDB Event Save id: {}", eventRequest.getId());
|
log.info("postEvent AdminToolDB Event Save id: {}", rewardEventRequest.getId());
|
||||||
|
|
||||||
long event_id = eventRequest.getId();
|
long event_id = rewardEventRequest.getId();
|
||||||
|
|
||||||
HashMap<String,String> map = new HashMap<>();
|
HashMap<String,String> map = new HashMap<>();
|
||||||
map.put("mailId",String.valueOf(event_id));
|
map.put("mailId",String.valueOf(event_id));
|
||||||
|
|
||||||
//아이템 저장
|
//아이템 저장
|
||||||
if(eventRequest.getItemList()!= null && !eventRequest.getItemList().isEmpty()){
|
if(rewardEventRequest.getItemList()!= null && !rewardEventRequest.getItemList().isEmpty()){
|
||||||
eventRequest.getItemList().forEach(
|
rewardEventRequest.getItemList().forEach(
|
||||||
item -> {
|
item -> {
|
||||||
map.put("goodsId",item.getItem());
|
map.put("goodsId",item.getItem());
|
||||||
map.put("itemCnt",String.valueOf(item.getItemCnt()));
|
map.put("itemCnt",String.valueOf(item.getItemCnt()));
|
||||||
eventMapper.insertItem(map);
|
rewardEventMapper.insertItem(map);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
log.info("postEvent AdminToolDB Item Save Complete");
|
log.info("postEvent AdminToolDB Item Save Complete");
|
||||||
|
|
||||||
//메시지 저장
|
//메시지 저장
|
||||||
if(eventRequest.getMailList()!= null && !eventRequest.getMailList().isEmpty()){
|
if(rewardEventRequest.getMailList()!= null && !rewardEventRequest.getMailList().isEmpty()){
|
||||||
eventRequest.getMailList().forEach(
|
rewardEventRequest.getMailList().forEach(
|
||||||
item -> {
|
item -> {
|
||||||
map.put("title",item.getTitle());
|
map.put("title",item.getTitle());
|
||||||
map.put("content",item.getContent());
|
map.put("content",item.getContent());
|
||||||
map.put("language",item.getLanguage());
|
map.put("language",item.getLanguage());
|
||||||
eventMapper.insertMessage(map);
|
rewardEventMapper.insertMessage(map);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -130,9 +129,9 @@ public class EventService {
|
|||||||
|
|
||||||
String prodId = processIdManager.getCurrentProcessId();
|
String prodId = processIdManager.getCurrentProcessId();
|
||||||
|
|
||||||
Event event = eventMapper.getEventDetail(event_id);
|
RewardEvent rewardEvent = rewardEventMapper.getEventDetail(event_id);
|
||||||
event.setMailList(eventMapper.getMessage(event_id));
|
rewardEvent.setMailList(rewardEventMapper.getMessage(event_id));
|
||||||
event.setItemList(eventMapper.getItem(event_id));
|
rewardEvent.setItemList(rewardEventMapper.getItem(event_id));
|
||||||
|
|
||||||
TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {
|
TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {
|
||||||
@Override
|
@Override
|
||||||
@@ -144,7 +143,7 @@ public class EventService {
|
|||||||
LogStatus.SUCCESS,
|
LogStatus.SUCCESS,
|
||||||
MysqlConstants.TABLE_NAME_EVENT,
|
MysqlConstants.TABLE_NAME_EVENT,
|
||||||
"",
|
"",
|
||||||
event
|
rewardEvent
|
||||||
);
|
);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.warn("Failed to log event creation: {}", e.getMessage());
|
log.warn("Failed to log event creation: {}", e.getMessage());
|
||||||
@@ -152,10 +151,10 @@ public class EventService {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
return EventResponse.builder()
|
return RewardEventResponse.builder()
|
||||||
.status(CommonCode.SUCCESS.getHttpStatus())
|
.status(CommonCode.SUCCESS.getHttpStatus())
|
||||||
.result(CommonCode.SUCCESS.getResult())
|
.result(CommonCode.SUCCESS.getResult())
|
||||||
.resultData(EventResponse.ResultData.builder()
|
.resultData(RewardEventResponse.ResultData.builder()
|
||||||
.message(SuccessCode.SAVE.getMessage())
|
.message(SuccessCode.SAVE.getMessage())
|
||||||
.build())
|
.build())
|
||||||
.build();
|
.build();
|
||||||
@@ -164,52 +163,52 @@ public class EventService {
|
|||||||
@BusinessProcess(action = LogAction.EVENT)
|
@BusinessProcess(action = LogAction.EVENT)
|
||||||
@Transactional(transactionManager = "transactionManager")
|
@Transactional(transactionManager = "transactionManager")
|
||||||
@RequestLog
|
@RequestLog
|
||||||
public EventResponse updateEvent(Long id, EventRequest eventRequest) {
|
public RewardEventResponse updateEvent(Long id, RewardEventRequest rewardEventRequest) {
|
||||||
eventRequest.setId(id);
|
rewardEventRequest.setId(id);
|
||||||
eventRequest.setUpdateBy(CommonUtils.getAdmin().getId());
|
rewardEventRequest.setUpdateBy(CommonUtils.getAdmin().getId());
|
||||||
eventRequest.setUpdateDt(LocalDateTime.now());
|
rewardEventRequest.setUpdateDt(LocalDateTime.now());
|
||||||
|
|
||||||
Long event_id = eventRequest.getId();
|
Long event_id = rewardEventRequest.getId();
|
||||||
Event before_info = eventMapper.getEventDetail(event_id);
|
RewardEvent before_info = rewardEventMapper.getEventDetail(event_id);
|
||||||
before_info.setMailList(eventMapper.getMessage(event_id));
|
before_info.setMailList(rewardEventMapper.getMessage(event_id));
|
||||||
before_info.setItemList(eventMapper.getItem(event_id));
|
before_info.setItemList(rewardEventMapper.getItem(event_id));
|
||||||
|
|
||||||
int result = eventMapper.updateEvent(eventRequest);
|
int result = rewardEventMapper.updateEvent(rewardEventRequest);
|
||||||
|
|
||||||
Map<String, String> map = new HashMap<>();
|
Map<String, String> map = new HashMap<>();
|
||||||
map.put("mailId", String.valueOf(event_id));
|
map.put("mailId", String.valueOf(event_id));
|
||||||
|
|
||||||
// item 테이블 데이터 삭제 처리 by event_id
|
// item 테이블 데이터 삭제 처리 by event_id
|
||||||
eventMapper.deleteItem(map);
|
rewardEventMapper.deleteItem(map);
|
||||||
|
|
||||||
// 아이템 업데이트
|
// 아이템 업데이트
|
||||||
if (eventRequest.getItemList() != null && !eventRequest.getItemList().isEmpty()) {
|
if (rewardEventRequest.getItemList() != null && !rewardEventRequest.getItemList().isEmpty()) {
|
||||||
eventRequest.getItemList().forEach(item -> {
|
rewardEventRequest.getItemList().forEach(item -> {
|
||||||
map.put("goodsId", item.getItem());
|
map.put("goodsId", item.getItem());
|
||||||
map.put("itemCnt", String.valueOf(item.getItemCnt()));
|
map.put("itemCnt", String.valueOf(item.getItemCnt()));
|
||||||
|
|
||||||
eventMapper.insertItem(map);
|
rewardEventMapper.insertItem(map);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// message 테이블 데이터 삭제 처리 by mail_id
|
// message 테이블 데이터 삭제 처리 by mail_id
|
||||||
eventMapper.deleteMessage(map);
|
rewardEventMapper.deleteMessage(map);
|
||||||
|
|
||||||
// 메시지 업데이트
|
// 메시지 업데이트
|
||||||
if (eventRequest.getMailList() != null && !eventRequest.getMailList().isEmpty()) {
|
if (rewardEventRequest.getMailList() != null && !rewardEventRequest.getMailList().isEmpty()) {
|
||||||
eventRequest.getMailList().forEach(item -> {
|
rewardEventRequest.getMailList().forEach(item -> {
|
||||||
map.put("title", item.getTitle());
|
map.put("title", item.getTitle());
|
||||||
map.put("content", item.getContent());
|
map.put("content", item.getContent());
|
||||||
map.put("language", item.getLanguage());
|
map.put("language", item.getLanguage());
|
||||||
|
|
||||||
eventMapper.insertMessage(map);
|
rewardEventMapper.insertMessage(map);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
log.info("updateEvent AdminToolDB Event Update Complete id: {}", eventRequest.getId());
|
log.info("updateEvent AdminToolDB Event Update Complete id: {}", rewardEventRequest.getId());
|
||||||
|
|
||||||
Event after_event = eventMapper.getEventDetail(event_id);
|
RewardEvent after_Reward_event = rewardEventMapper.getEventDetail(event_id);
|
||||||
after_event.setMailList(eventMapper.getMessage(event_id));
|
after_Reward_event.setMailList(rewardEventMapper.getMessage(event_id));
|
||||||
after_event.setItemList(eventMapper.getItem(event_id));
|
after_Reward_event.setItemList(rewardEventMapper.getItem(event_id));
|
||||||
|
|
||||||
String prodId = processIdManager.getCurrentProcessId();
|
String prodId = processIdManager.getCurrentProcessId();
|
||||||
TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {
|
TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {
|
||||||
@@ -223,7 +222,7 @@ public class EventService {
|
|||||||
MysqlConstants.TABLE_NAME_EVENT,
|
MysqlConstants.TABLE_NAME_EVENT,
|
||||||
"",
|
"",
|
||||||
before_info,
|
before_info,
|
||||||
after_event
|
after_Reward_event
|
||||||
);
|
);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.warn("Failed to log event creation: {}", e.getMessage());
|
log.warn("Failed to log event creation: {}", e.getMessage());
|
||||||
@@ -231,10 +230,10 @@ public class EventService {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
return EventResponse.builder()
|
return RewardEventResponse.builder()
|
||||||
.status(CommonCode.SUCCESS.getHttpStatus())
|
.status(CommonCode.SUCCESS.getHttpStatus())
|
||||||
.result(CommonCode.SUCCESS.getResult())
|
.result(CommonCode.SUCCESS.getResult())
|
||||||
.resultData(EventResponse.ResultData.builder()
|
.resultData(RewardEventResponse.ResultData.builder()
|
||||||
.message(SuccessCode.UPDATE.getMessage())
|
.message(SuccessCode.UPDATE.getMessage())
|
||||||
.build())
|
.build())
|
||||||
.build();
|
.build();
|
||||||
@@ -243,54 +242,54 @@ public class EventService {
|
|||||||
@BusinessProcess(action = LogAction.EVENT)
|
@BusinessProcess(action = LogAction.EVENT)
|
||||||
@Transactional(transactionManager = "transactionManager")
|
@Transactional(transactionManager = "transactionManager")
|
||||||
@RequestLog
|
@RequestLog
|
||||||
public EventResponse deleteEvent(EventRequest eventRequest){
|
public RewardEventResponse deleteEvent(RewardEventRequest rewardEventRequest){
|
||||||
Map<String,Object> map = new HashMap<>();
|
Map<String,Object> map = new HashMap<>();
|
||||||
|
|
||||||
eventRequest.getList().forEach(
|
rewardEventRequest.getList().forEach(
|
||||||
item->{
|
item->{
|
||||||
Long event_id = item.getId();
|
Long event_id = item.getId();
|
||||||
Event event = eventMapper.getEventDetail(event_id);
|
RewardEvent rewardEvent = rewardEventMapper.getEventDetail(event_id);
|
||||||
event.setMailList(eventMapper.getMessage(event_id));
|
rewardEvent.setMailList(rewardEventMapper.getMessage(event_id));
|
||||||
event.setItemList(eventMapper.getItem(event_id));
|
rewardEvent.setItemList(rewardEventMapper.getItem(event_id));
|
||||||
|
|
||||||
map.put("id",event_id);
|
map.put("id",event_id);
|
||||||
map.put("desc", item.getDeleteDesc());
|
map.put("desc", item.getDeleteDesc());
|
||||||
int result = eventMapper.deleteEvent(map);
|
int result = rewardEventMapper.deleteEvent(map);
|
||||||
log.info("updateEvent AdminTool Delete Complete id: {}", event_id);
|
log.info("updateEvent AdminTool Delete Complete id: {}", event_id);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
return EventResponse.builder()
|
return RewardEventResponse.builder()
|
||||||
.status(CommonCode.SUCCESS.getHttpStatus())
|
.status(CommonCode.SUCCESS.getHttpStatus())
|
||||||
.result(CommonCode.SUCCESS.getResult())
|
.result(CommonCode.SUCCESS.getResult())
|
||||||
.resultData(EventResponse.ResultData.builder()
|
.resultData(RewardEventResponse.ResultData.builder()
|
||||||
.message(SuccessCode.DELETE.getMessage())
|
.message(SuccessCode.DELETE.getMessage())
|
||||||
.build())
|
.build())
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Event> getScheduleMailList(){
|
public List<RewardEvent> getScheduleMailList(){
|
||||||
return eventMapper.getScheduleEventList();
|
return rewardEventMapper.getScheduleEventList();
|
||||||
}
|
}
|
||||||
public List<Message> getMessageList(Long id){
|
public List<Message> getMessageList(Long id){
|
||||||
return eventMapper.getMessage(id);
|
return rewardEventMapper.getMessage(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Item> getItemList(Long id){
|
public List<Item> getItemList(Long id){
|
||||||
return eventMapper.getItem(id);
|
return rewardEventMapper.getItem(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional(transactionManager = "transactionManager")
|
@Transactional(transactionManager = "transactionManager")
|
||||||
public void updateEventStatus(Long id, Event.EVENTSTATUS status){
|
public void updateEventStatus(Long id, RewardEvent.EVENTSTATUS status){
|
||||||
Map<String,Object> map = new HashMap<>();
|
Map<String,Object> map = new HashMap<>();
|
||||||
map.put("id", id);
|
map.put("id", id);
|
||||||
map.put("status", status.toString());
|
map.put("status", status.toString());
|
||||||
eventMapper.updateStatusEvent(map);
|
rewardEventMapper.updateStatusEvent(map);
|
||||||
log.info("updateEventStatus event status changed: {}", status);
|
log.info("updateEventStatus event status changed: {}", status);
|
||||||
}
|
}
|
||||||
|
|
||||||
//메타 아이템
|
//메타 아이템
|
||||||
public EventResponse getMetaItem(String metaId){
|
public RewardEventResponse getMetaItem(String metaId){
|
||||||
long id = Long.parseLong(metaId);
|
long id = Long.parseLong(metaId);
|
||||||
String item = metaDataHandler.getMetaItemNameData((int) id);
|
String item = metaDataHandler.getMetaItemNameData((int) id);
|
||||||
boolean isItem = (item != null && !item.isEmpty());
|
boolean isItem = (item != null && !item.isEmpty());
|
||||||
@@ -298,40 +297,40 @@ public class EventService {
|
|||||||
Item item_info = new Item();
|
Item item_info = new Item();
|
||||||
item_info.setItem(metaId);
|
item_info.setItem(metaId);
|
||||||
item_info.setItemName(metaDataHandler.getTextStringData(item));
|
item_info.setItemName(metaDataHandler.getTextStringData(item));
|
||||||
return EventResponse.builder()
|
return RewardEventResponse.builder()
|
||||||
.status(CommonCode.SUCCESS.getHttpStatus())
|
.status(CommonCode.SUCCESS.getHttpStatus())
|
||||||
.result(CommonCode.SUCCESS.getResult())
|
.result(CommonCode.SUCCESS.getResult())
|
||||||
.resultData(EventResponse.ResultData.builder()
|
.resultData(RewardEventResponse.ResultData.builder()
|
||||||
.message(SuccessCode.ITEM_EXIST.getMessage())
|
.message(SuccessCode.ITEM_EXIST.getMessage())
|
||||||
.itemInfo(item_info)
|
.itemInfo(item_info)
|
||||||
.build())
|
.build())
|
||||||
.build();
|
.build();
|
||||||
}else
|
}else
|
||||||
return EventResponse.builder()
|
return RewardEventResponse.builder()
|
||||||
.status(CommonCode.ERROR.getHttpStatus())
|
.status(CommonCode.ERROR.getHttpStatus())
|
||||||
.result(CommonCode.ERROR.getResult())
|
.result(CommonCode.ERROR.getResult())
|
||||||
.resultData(EventResponse.ResultData.builder()
|
.resultData(RewardEventResponse.ResultData.builder()
|
||||||
.message(ErrorCode.NOT_ITEM.getMessage())
|
.message(ErrorCode.NOT_ITEM.getMessage())
|
||||||
.build())
|
.build())
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional(transactionManager = "transactionManager")
|
@Transactional(transactionManager = "transactionManager")
|
||||||
public void insertSystemMail(Event event){
|
public void insertSystemMail(RewardEvent rewardEvent){
|
||||||
try {
|
try {
|
||||||
long event_id = event.getId();
|
long event_id = rewardEvent.getId();
|
||||||
event.setMailList(eventMapper.getMessage(event_id));
|
rewardEvent.setMailList(rewardEventMapper.getMessage(event_id));
|
||||||
event.setItemList(eventMapper.getItem(event_id));
|
rewardEvent.setItemList(rewardEventMapper.getItem(event_id));
|
||||||
|
|
||||||
dynamodbMailService.insertSystemMail(event);
|
dynamodbMailService.insertSystemMail(rewardEvent);
|
||||||
|
|
||||||
eventMapper.updateAddFlag(event_id);
|
rewardEventMapper.updateAddFlag(event_id);
|
||||||
updateEventStatus(event_id, Event.EVENTSTATUS.RUNNING);
|
updateEventStatus(event_id, RewardEvent.EVENTSTATUS.RUNNING);
|
||||||
|
|
||||||
log.info("insertSystemMail Save Complete: {}", event.getId());
|
log.info("insertSystemMail Save Complete: {}", rewardEvent.getId());
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
log.error("insertSystemMail Exception: {}", e.getMessage());
|
log.error("insertSystemMail Exception: {}", e.getMessage());
|
||||||
updateEventStatus(event.getId(), Event.EVENTSTATUS.FAIL);
|
updateEventStatus(rewardEvent.getId(), RewardEvent.EVENTSTATUS.FAIL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,158 @@
|
|||||||
|
package com.caliverse.admin.domain.service;
|
||||||
|
|
||||||
|
import com.caliverse.admin.domain.dao.admin.WorldEventMapper;
|
||||||
|
import com.caliverse.admin.domain.entity.WorldEvent;
|
||||||
|
import com.caliverse.admin.domain.entity.log.LogAction;
|
||||||
|
import com.caliverse.admin.domain.request.WorldEventRequest;
|
||||||
|
import com.caliverse.admin.domain.response.WorldEventResponse;
|
||||||
|
import com.caliverse.admin.dynamodb.service.DynamodbRankService;
|
||||||
|
import com.caliverse.admin.dynamodb.service.DynamodbService;
|
||||||
|
import com.caliverse.admin.global.common.annotation.BusinessProcess;
|
||||||
|
import com.caliverse.admin.global.common.annotation.RequestLog;
|
||||||
|
import com.caliverse.admin.global.common.code.CommonCode;
|
||||||
|
import com.caliverse.admin.global.common.code.ErrorCode;
|
||||||
|
import com.caliverse.admin.global.common.code.SuccessCode;
|
||||||
|
import com.caliverse.admin.global.common.utils.CommonUtils;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class WorldEventService {
|
||||||
|
|
||||||
|
private final WorldEventMapper worldEventMapper;
|
||||||
|
private final DynamodbService dynamodbService;
|
||||||
|
|
||||||
|
@RequestLog
|
||||||
|
public WorldEventResponse getList(Map requestParam){
|
||||||
|
|
||||||
|
//페이징 처리
|
||||||
|
requestParam = CommonUtils.pageSetting(requestParam);
|
||||||
|
|
||||||
|
List<WorldEvent> list = worldEventMapper.getWorldEventList(requestParam);
|
||||||
|
|
||||||
|
return WorldEventResponse.builder()
|
||||||
|
.status(CommonCode.SUCCESS.getHttpStatus())
|
||||||
|
.result(CommonCode.SUCCESS.getResult())
|
||||||
|
.resultData(WorldEventResponse.ResultData.builder()
|
||||||
|
.worldEventList(list)
|
||||||
|
.total(worldEventMapper.getTotal())
|
||||||
|
.totalAll(list.size())
|
||||||
|
.pageNo(requestParam.get("page_no")!=null?
|
||||||
|
Integer.parseInt(requestParam.get("page_no").toString()):1)
|
||||||
|
.build()
|
||||||
|
)
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestLog
|
||||||
|
public WorldEventResponse getDetail(Long id){
|
||||||
|
WorldEvent worldEvent = worldEventMapper.getWorldEventDetail(id);
|
||||||
|
|
||||||
|
return WorldEventResponse.builder()
|
||||||
|
.status(CommonCode.SUCCESS.getHttpStatus())
|
||||||
|
.result(CommonCode.SUCCESS.getResult())
|
||||||
|
.resultData(WorldEventResponse.ResultData.builder()
|
||||||
|
.worldEvent(worldEvent)
|
||||||
|
.build())
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
|
||||||
|
@BusinessProcess(action = LogAction.WORLD_EVENT)
|
||||||
|
@Transactional(transactionManager = "transactionManager")
|
||||||
|
@RequestLog
|
||||||
|
public WorldEventResponse postWorldEvent(WorldEventRequest worldEventRequest){
|
||||||
|
worldEventRequest.setCreateBy(CommonUtils.getAdmin().getId());
|
||||||
|
|
||||||
|
worldEventMapper.postWorldEvent(worldEventRequest);
|
||||||
|
|
||||||
|
long event_id = worldEventRequest.getId();
|
||||||
|
HashMap<String,String> map = new HashMap<>();
|
||||||
|
map.put("id",String.valueOf(event_id));
|
||||||
|
|
||||||
|
log.info("postWorldEvent Insert World Event id: {}", worldEventRequest.getId());
|
||||||
|
|
||||||
|
WorldEvent worldEvent = worldEventMapper.getWorldEventDetail(worldEventRequest.getId());
|
||||||
|
|
||||||
|
dynamodbService.insertWorldEventSchedule(worldEventRequest);
|
||||||
|
|
||||||
|
return WorldEventResponse.builder()
|
||||||
|
.status(CommonCode.SUCCESS.getHttpStatus())
|
||||||
|
.result(CommonCode.SUCCESS.getResult())
|
||||||
|
.resultData(WorldEventResponse.ResultData.builder()
|
||||||
|
.message(SuccessCode.SAVE.getMessage())
|
||||||
|
.build())
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
|
||||||
|
@BusinessProcess(action = LogAction.WORLD_EVENT)
|
||||||
|
@Transactional(transactionManager = "transactionManager")
|
||||||
|
@RequestLog
|
||||||
|
public WorldEventResponse updateWorldEvent(Long id, WorldEventRequest worldEventRequest) {
|
||||||
|
worldEventRequest.setId(id);
|
||||||
|
worldEventRequest.setUpdateBy(CommonUtils.getAdmin().getId());
|
||||||
|
worldEventRequest.setUpdateDt(LocalDateTime.now());
|
||||||
|
|
||||||
|
Long event_id = worldEventRequest.getId();
|
||||||
|
WorldEvent before_info = worldEventMapper.getWorldEventDetail(event_id);
|
||||||
|
|
||||||
|
worldEventMapper.updateWorldEvent(worldEventRequest);
|
||||||
|
|
||||||
|
log.info("updateWorldEvent Update World Event Complete: {}", worldEventRequest.getId());
|
||||||
|
|
||||||
|
WorldEvent after_info = worldEventMapper.getWorldEventDetail(event_id);
|
||||||
|
|
||||||
|
dynamodbService.updateWorldEventSchedule(worldEventRequest);
|
||||||
|
|
||||||
|
return WorldEventResponse.builder()
|
||||||
|
.status(CommonCode.SUCCESS.getHttpStatus())
|
||||||
|
.result(CommonCode.SUCCESS.getResult())
|
||||||
|
.resultData(WorldEventResponse.ResultData.builder()
|
||||||
|
.message(SuccessCode.UPDATE.getMessage())
|
||||||
|
.build())
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
|
||||||
|
@BusinessProcess(action = LogAction.WORLD_EVENT)
|
||||||
|
@Transactional(transactionManager = "transactionManager")
|
||||||
|
@RequestLog
|
||||||
|
public WorldEventResponse deleteWorldEvent(Long id){
|
||||||
|
Map<String,Object> map = new HashMap<>();
|
||||||
|
map.put("id",id);
|
||||||
|
|
||||||
|
WorldEvent worldEvent = worldEventMapper.getWorldEventDetail(id);
|
||||||
|
|
||||||
|
if(worldEvent.getStartDt().isBefore(LocalDateTime.now())){
|
||||||
|
return WorldEventResponse.builder()
|
||||||
|
.status(CommonCode.ERROR.getHttpStatus())
|
||||||
|
.result(CommonCode.ERROR.getResult())
|
||||||
|
.resultData(WorldEventResponse.ResultData.builder()
|
||||||
|
.message(ErrorCode.START_DATE_OVER.getMessage())
|
||||||
|
.build())
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
|
||||||
|
worldEventMapper.deleteWorldEvent(map);
|
||||||
|
|
||||||
|
log.info("deleteWorldEvent Delete World Event Complete id: {}", id);
|
||||||
|
|
||||||
|
dynamodbService.deleteWorldEventSchedule(worldEvent);
|
||||||
|
|
||||||
|
return WorldEventResponse.builder()
|
||||||
|
.status(CommonCode.SUCCESS.getHttpStatus())
|
||||||
|
.result(CommonCode.SUCCESS.getResult())
|
||||||
|
.resultData(WorldEventResponse.ResultData.builder()
|
||||||
|
.message(SuccessCode.DELETE.getMessage())
|
||||||
|
.build())
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
174
src/main/resources/mappers/RankMapper.xml
Normal file
174
src/main/resources/mappers/RankMapper.xml
Normal file
@@ -0,0 +1,174 @@
|
|||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.caliverse.admin.domain.dao.admin.RankMapper">
|
||||||
|
<resultMap id="RankScheduleResultMap" type="com.caliverse.admin.domain.entity.RankingSchedule">
|
||||||
|
<id property="id" column="id"/>
|
||||||
|
<result property="rowNum" column="row_num"/>
|
||||||
|
<result property="guid" column="guid"/>
|
||||||
|
<result property="title" column="title"/>
|
||||||
|
<result property="metaId" column="meta_id"/>
|
||||||
|
<result property="eventActionId" column="event_action_id"/>
|
||||||
|
<result property="status" column="status"/>
|
||||||
|
<result property="startDt" column="start_dt"/>
|
||||||
|
<result property="endDt" column="end_dt"/>
|
||||||
|
<result property="baseDt" column="base_dt"/>
|
||||||
|
<result property="refreshInterval" column="refresh_interval"/>
|
||||||
|
<result property="initializationInterval" column="initialization_interval"/>
|
||||||
|
<result property="snapshotInterval" column="snapshot_interval"/>
|
||||||
|
<result property="deleted" column="deleted"/>
|
||||||
|
<result property="createBy" column="create_by"/>
|
||||||
|
<result property="createDt" column="create_dt"/>
|
||||||
|
<result property="updateBy" column="update_by"/>
|
||||||
|
<result property="updateDt" column="update_dt"/>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<!--리스트 조회-->
|
||||||
|
<select id="getRankingScheduleList" resultMap="RankScheduleResultMap" parameterType="map">
|
||||||
|
SELECT * FROM (
|
||||||
|
SELECT (@row_number:=@row_number + 1) AS row_num, c.*
|
||||||
|
FROM (
|
||||||
|
SELECT
|
||||||
|
a.id,
|
||||||
|
a.guid,
|
||||||
|
a.title,
|
||||||
|
a.meta_id,
|
||||||
|
a.event_action_id,
|
||||||
|
CASE
|
||||||
|
WHEN NOW() < a.start_dt THEN 'WAIT'
|
||||||
|
WHEN NOW() >= a.start_dt AND NOW() <= a.end_dt THEN 'RUNNING'
|
||||||
|
WHEN NOW() > a.end_dt THEN 'FINISH'
|
||||||
|
END AS status,
|
||||||
|
a.start_dt,
|
||||||
|
a.end_dt,
|
||||||
|
a.base_dt,
|
||||||
|
a.refresh_interval,
|
||||||
|
a.initialization_interval,
|
||||||
|
a.snapshot_interval,
|
||||||
|
(SELECT email FROM admin WHERE id = a.create_by) AS create_by,
|
||||||
|
a.create_dt,
|
||||||
|
(SELECT email FROM admin WHERE id = a.update_by) AS update_by,
|
||||||
|
a.update_dt
|
||||||
|
FROM ranking_schedule a
|
||||||
|
WHERE 1 = 1
|
||||||
|
AND a.deleted = 0
|
||||||
|
|
||||||
|
<if test="searchData != null and searchData != ''">
|
||||||
|
AND a.title LIKE CONCAT('%',#{searchData},'%')
|
||||||
|
</if>
|
||||||
|
|
||||||
|
<if test="status != null and status != ''">
|
||||||
|
<choose>
|
||||||
|
<when test="status != 'ALL'">
|
||||||
|
AND CASE
|
||||||
|
WHEN NOW() < a.start_dt THEN 'WAIT'
|
||||||
|
WHEN NOW() >= a.start_dt AND NOW() <= a.end_dt THEN 'RUNNING'
|
||||||
|
WHEN NOW() > a.end_dt THEN 'FINISH'
|
||||||
|
END = #{status}
|
||||||
|
</when>
|
||||||
|
</choose>
|
||||||
|
</if>
|
||||||
|
|
||||||
|
<if test="startDate != null and startDate != '' and endDate !=null and endDate!= ''">
|
||||||
|
AND a.start_dt >= #{startDate, jdbcType=TIMESTAMP}
|
||||||
|
AND a.end_dt <= #{endDate, jdbcType=TIMESTAMP}
|
||||||
|
</if>
|
||||||
|
|
||||||
|
) c,
|
||||||
|
(SELECT @row_number:=0) AS t
|
||||||
|
ORDER BY
|
||||||
|
CASE
|
||||||
|
WHEN c.status = 'RUNNING' THEN 0
|
||||||
|
WHEN c.status = 'WAIT' THEN 1
|
||||||
|
WHEN c.status = 'FINISH' THEN 2
|
||||||
|
ELSE 3
|
||||||
|
END,
|
||||||
|
c.create_dt
|
||||||
|
) result
|
||||||
|
<if test="orderby != null and orderby != ''">
|
||||||
|
ORDER BY row_num ${orderby}
|
||||||
|
</if>
|
||||||
|
<if test="pageSize != null and pageSize != ''">
|
||||||
|
LIMIT ${pageSize} OFFSET ${offset}
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getTotal" resultType="java.lang.Integer" parameterType="map">
|
||||||
|
SELECT count(*) FROM ranking_schedule WHERE deleted = 0
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<!--이벤트 상세 조회-->
|
||||||
|
<select id="getRankingScheduleDetail" parameterType="java.lang.Long" resultMap="RankScheduleResultMap" >
|
||||||
|
SELECT
|
||||||
|
a.id
|
||||||
|
, a.guid
|
||||||
|
, a.title
|
||||||
|
, a.meta_id
|
||||||
|
, a.event_action_id
|
||||||
|
, a.start_dt
|
||||||
|
, a.end_dt
|
||||||
|
, a.base_dt
|
||||||
|
, a.refresh_interval
|
||||||
|
, a.initialization_interval
|
||||||
|
, a.snapshot_interval
|
||||||
|
, CASE
|
||||||
|
WHEN NOW() < a.start_dt THEN 'WAIT'
|
||||||
|
WHEN NOW() >= a.start_dt AND NOW() <= a.end_dt THEN 'RUNNING'
|
||||||
|
WHEN NOW() > a.end_dt THEN 'FINISH'
|
||||||
|
END AS status
|
||||||
|
, (SELECT email FROM admin WHERE id = a.create_by ) AS create_by
|
||||||
|
, a.create_dt
|
||||||
|
, (SELECT email FROM admin WHERE id = a.update_by ) AS update_by
|
||||||
|
, a.update_dt
|
||||||
|
FROM ranking_schedule a
|
||||||
|
WHERE a.id = #{id}
|
||||||
|
AND deleted = 0
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="checkOverlap" parameterType="com.caliverse.admin.domain.request.RankRequest" resultType="java.lang.Integer">
|
||||||
|
SELECT COUNT(*)
|
||||||
|
FROM ranking_schedule a
|
||||||
|
WHERE a.meta_id = #{metaId}
|
||||||
|
AND a.deleted = 0
|
||||||
|
AND a.meta_id != #{metaId}
|
||||||
|
AND (
|
||||||
|
(#{startDt} BETWEEN a.start_dt AND a.end_dt)
|
||||||
|
OR (#{endDt} BETWEEN a.start_dt AND a.end_dt)
|
||||||
|
OR (a.start_dt BETWEEN #{startDt} AND #{endDt})
|
||||||
|
OR (a.end_dt BETWEEN #{startDt} AND #{endDt})
|
||||||
|
)
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
<!--저장-->
|
||||||
|
<insert id="postRankingSchedule" parameterType="com.caliverse.admin.domain.request.RankRequest" useGeneratedKeys="true" keyProperty="id">
|
||||||
|
INSERT INTO ranking_schedule (guid, title, meta_id, event_action_id, start_dt, end_dt, base_dt, refresh_interval, initialization_interval, snapshot_interval, create_by, update_by)
|
||||||
|
VALUES (#{guid}, #{title}, #{metaId}, #{eventActionId}, #{startDt}, #{endDt}, #{baseDt}, #{refreshInterval}, #{initializationInterval}, #{snapshotInterval}, #{createBy}, #{updateBy})
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
<!--수정-->
|
||||||
|
<update id="updateRankingSchedule" parameterType="com.caliverse.admin.domain.request.RankRequest">
|
||||||
|
UPDATE ranking_schedule
|
||||||
|
SET title = #{title}
|
||||||
|
, meta_id = #{metaId}
|
||||||
|
, event_action_id = #{eventActionId}
|
||||||
|
, start_dt = #{startDt}
|
||||||
|
, end_dt = #{endDt}
|
||||||
|
, base_dt = #{baseDt}
|
||||||
|
, refresh_interval = #{refreshInterval}
|
||||||
|
, initialization_interval = #{initializationInterval}
|
||||||
|
, snapshot_interval = #{snapshotInterval}
|
||||||
|
, update_by = #{updateBy}
|
||||||
|
, update_dt = NOW()
|
||||||
|
WHERE id = #{id}
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<!--삭제-->
|
||||||
|
<update id="deleteRankingSchedule" parameterType="map">
|
||||||
|
UPDATE ranking_schedule
|
||||||
|
SET deleted = 1
|
||||||
|
, update_by = #{updateBy}
|
||||||
|
, update_dt = NOW()
|
||||||
|
WHERE id = #{id}
|
||||||
|
</update>
|
||||||
|
|
||||||
|
</mapper>
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.caliverse.admin.domain.dao.admin.EventMapper">
|
<mapper namespace="com.caliverse.admin.domain.dao.admin.RewardEventMapper">
|
||||||
<resultMap id="EventResultMap" type="com.caliverse.admin.domain.entity.Event">
|
<resultMap id="RewardEventResultMap" type="com.caliverse.admin.domain.entity.RewardEvent">
|
||||||
<id property="id" column="id"/>
|
<id property="id" column="id"/>
|
||||||
<result property="rowNum" column="row_num"/>
|
<result property="rowNum" column="row_num"/>
|
||||||
<result property="eventType" column="event_type"/>
|
<result property="eventType" column="event_type"/>
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<!--이벤트 리스트 조회-->
|
<!--이벤트 리스트 조회-->
|
||||||
<select id="getEventList" resultMap="EventResultMap" parameterType="map">
|
<select id="getEventList" resultMap="RewardEventResultMap" parameterType="map">
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM(
|
FROM(
|
||||||
SELECT (@row_number:=@row_number + 1) AS row_num , c.* FROM
|
SELECT (@row_number:=@row_number + 1) AS row_num , c.* FROM
|
||||||
@@ -146,7 +146,7 @@
|
|||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!--이벤트 상세 조회-->
|
<!--이벤트 상세 조회-->
|
||||||
<select id="getEventDetail" parameterType="java.lang.Long" resultMap="EventResultMap" >
|
<select id="getEventDetail" parameterType="java.lang.Long" resultMap="RewardEventResultMap" >
|
||||||
SELECT
|
SELECT
|
||||||
a.id
|
a.id
|
||||||
, a.event_type
|
, a.event_type
|
||||||
@@ -181,7 +181,7 @@
|
|||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!--이벤트 저장-->
|
<!--이벤트 저장-->
|
||||||
<insert id="postEvent" parameterType="com.caliverse.admin.domain.request.EventRequest" useGeneratedKeys="true" keyProperty="id">
|
<insert id="postEvent" parameterType="com.caliverse.admin.domain.request.RewardEventRequest" useGeneratedKeys="true" keyProperty="id">
|
||||||
INSERT INTO event (event_type, start_dt, end_dt, create_by)
|
INSERT INTO event (event_type, start_dt, end_dt, create_by)
|
||||||
VALUES (#{eventType}, #{startDt}, #{endDt}, #{createBy})
|
VALUES (#{eventType}, #{startDt}, #{endDt}, #{createBy})
|
||||||
</insert>
|
</insert>
|
||||||
@@ -201,7 +201,7 @@
|
|||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
<!--이벤트 수정-->
|
<!--이벤트 수정-->
|
||||||
<update id="updateEvent" parameterType="com.caliverse.admin.domain.request.EventRequest">
|
<update id="updateEvent" parameterType="com.caliverse.admin.domain.request.RewardEventRequest">
|
||||||
UPDATE event SET event_type = #{eventType}
|
UPDATE event SET event_type = #{eventType}
|
||||||
, start_dt = #{startDt}
|
, start_dt = #{startDt}
|
||||||
, end_dt = #{endDt}
|
, end_dt = #{endDt}
|
||||||
@@ -240,7 +240,7 @@
|
|||||||
where id = #{id}
|
where id = #{id}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<select id="getScheduleEventList" resultMap="EventResultMap">
|
<select id="getScheduleEventList" resultMap="RewardEventResultMap">
|
||||||
SELECT id,
|
SELECT id,
|
||||||
event_type,
|
event_type,
|
||||||
status,
|
status,
|
||||||
158
src/main/resources/mappers/WorldEventMapper.xml
Normal file
158
src/main/resources/mappers/WorldEventMapper.xml
Normal file
@@ -0,0 +1,158 @@
|
|||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.caliverse.admin.domain.dao.admin.WorldEventMapper">
|
||||||
|
<resultMap id="WorldEventResultMap" type="com.caliverse.admin.domain.entity.WorldEvent">
|
||||||
|
<id property="id" column="id"/>
|
||||||
|
<result property="rowNum" column="row_num"/>
|
||||||
|
<result property="title" column="title"/>
|
||||||
|
<result property="globalEventActionId" column="global_event_action_id"/>
|
||||||
|
<result property="personalEventActionId" column="personal_event_action_id"/>
|
||||||
|
<result property="status" column="status"/>
|
||||||
|
<result property="startDt" column="start_dt"/>
|
||||||
|
<result property="endDt" column="end_dt"/>
|
||||||
|
<result property="maxPoint" column="max_point"/>
|
||||||
|
<result property="deleted" column="deleted"/>
|
||||||
|
<result property="createBy" column="create_by"/>
|
||||||
|
<result property="createDt" column="create_dt"/>
|
||||||
|
<result property="updateBy" column="update_by"/>
|
||||||
|
<result property="updateDt" column="update_dt"/>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<!--리스트 조회-->
|
||||||
|
<select id="getWorldEventList" resultMap="WorldEventResultMap" parameterType="map">
|
||||||
|
SELECT * FROM (
|
||||||
|
SELECT (@row_number:=@row_number + 1) AS row_num, c.*
|
||||||
|
FROM (
|
||||||
|
SELECT
|
||||||
|
a.id,
|
||||||
|
a.title,
|
||||||
|
a.global_event_action_id,
|
||||||
|
a.personal_event_action_id,
|
||||||
|
CASE
|
||||||
|
WHEN NOW() < a.start_dt THEN 'WAIT'
|
||||||
|
WHEN NOW() >= a.start_dt AND NOW() <= a.end_dt THEN 'RUNNING'
|
||||||
|
WHEN NOW() > a.end_dt THEN 'FINISH'
|
||||||
|
END AS status,
|
||||||
|
a.start_dt,
|
||||||
|
a.end_dt,
|
||||||
|
max_point,
|
||||||
|
(SELECT email FROM admin WHERE id = a.create_by) AS create_by,
|
||||||
|
a.create_dt,
|
||||||
|
(SELECT email FROM admin WHERE id = a.update_by) AS update_by,
|
||||||
|
a.update_dt
|
||||||
|
FROM world_event a
|
||||||
|
WHERE 1 = 1
|
||||||
|
AND a.deleted = 0
|
||||||
|
|
||||||
|
<if test="searchData != null and searchData != ''">
|
||||||
|
AND a.title LIKE CONCAT('%',#{searchData},'%')
|
||||||
|
</if>
|
||||||
|
|
||||||
|
<if test="status != null and status != ''">
|
||||||
|
<choose>
|
||||||
|
<when test="status != 'ALL'">
|
||||||
|
AND CASE
|
||||||
|
WHEN NOW() < a.start_dt THEN 'WAIT'
|
||||||
|
WHEN NOW() >= a.start_dt AND NOW() <= a.end_dt THEN 'RUNNING'
|
||||||
|
WHEN NOW() > a.end_dt THEN 'FINISH'
|
||||||
|
END = #{status}
|
||||||
|
</when>
|
||||||
|
</choose>
|
||||||
|
</if>
|
||||||
|
|
||||||
|
<if test="startDate != null and startDate != '' and endDate !=null and endDate!= ''">
|
||||||
|
AND a.start_dt >= #{startDate, jdbcType=TIMESTAMP}
|
||||||
|
AND a.end_dt <= #{endDate, jdbcType=TIMESTAMP}
|
||||||
|
</if>
|
||||||
|
|
||||||
|
) c,
|
||||||
|
(SELECT @row_number:=0) AS t
|
||||||
|
ORDER BY
|
||||||
|
CASE
|
||||||
|
WHEN c.status = 'RUNNING' THEN 0
|
||||||
|
WHEN c.status = 'WAIT' THEN 1
|
||||||
|
WHEN c.status = 'FINISH' THEN 2
|
||||||
|
ELSE 3
|
||||||
|
END,
|
||||||
|
c.create_dt
|
||||||
|
) result
|
||||||
|
<if test="orderby != null and orderby != ''">
|
||||||
|
ORDER BY row_num ${orderby}
|
||||||
|
</if>
|
||||||
|
<if test="pageSize != null and pageSize != ''">
|
||||||
|
LIMIT ${pageSize} OFFSET ${offset}
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getTotal" resultType="java.lang.Integer" parameterType="map">
|
||||||
|
SELECT count(*) FROM world_event WHERE deleted = 0
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<!--이벤트 상세 조회-->
|
||||||
|
<select id="getWorldEventDetail" parameterType="java.lang.Long" resultMap="WorldEventResultMap" >
|
||||||
|
SELECT
|
||||||
|
a.id
|
||||||
|
, a.title
|
||||||
|
, a.global_event_action_id
|
||||||
|
, a.personal_event_action_id
|
||||||
|
, a.start_dt
|
||||||
|
, a.end_dt
|
||||||
|
, a.max_point
|
||||||
|
, CASE
|
||||||
|
WHEN NOW() < a.start_dt THEN 'WAIT'
|
||||||
|
WHEN NOW() >= a.start_dt AND NOW() <= a.end_dt THEN 'RUNNING'
|
||||||
|
WHEN NOW() > a.end_dt THEN 'FINISH'
|
||||||
|
END AS status
|
||||||
|
, (SELECT email FROM admin WHERE id = a.create_by ) AS create_by
|
||||||
|
, a.create_dt
|
||||||
|
, (SELECT email FROM admin WHERE id = a.update_by ) AS update_by
|
||||||
|
, a.update_dt
|
||||||
|
FROM world_event a
|
||||||
|
WHERE a.id = #{id}
|
||||||
|
AND deleted = 0
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="checkOverlap" parameterType="com.caliverse.admin.domain.request.WorldEventRequest" resultType="java.lang.Integer">
|
||||||
|
SELECT COUNT(*)
|
||||||
|
FROM world_event a
|
||||||
|
WHERE a.global_event_action_id = #{globalEventActionId}
|
||||||
|
AND a.deleted = 0
|
||||||
|
AND a.global_event_action_id != #{globalEventActionId}
|
||||||
|
AND (
|
||||||
|
(#{startDt} BETWEEN a.start_dt AND a.end_dt)
|
||||||
|
OR (#{endDt} BETWEEN a.start_dt AND a.end_dt)
|
||||||
|
OR (a.start_dt BETWEEN #{startDt} AND #{endDt})
|
||||||
|
OR (a.end_dt BETWEEN #{startDt} AND #{endDt})
|
||||||
|
)
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
<!--저장-->
|
||||||
|
<insert id="postWorldEvent" parameterType="com.caliverse.admin.domain.request.WorldEventRequest" useGeneratedKeys="true" keyProperty="id">
|
||||||
|
INSERT INTO world_event (title, global_event_action_id, personal_event_action_id, start_dt, end_dt, max_point, create_by, update_by)
|
||||||
|
VALUES (#{title}, #{globalEventActionId}, #{personalEventActionId}, #{startDt}, #{endDt}, #{maxPoint}, #{createBy}, #{updateBy})
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
<!--수정-->
|
||||||
|
<update id="updateWorldEvent" parameterType="com.caliverse.admin.domain.request.WorldEventRequest">
|
||||||
|
UPDATE world_event SET title = #{title}
|
||||||
|
, global_event_action_id = #{globalEventActionId}
|
||||||
|
, personal_event_action_id = #{personalEventActionId}
|
||||||
|
, start_dt = #{startDt}
|
||||||
|
, end_dt = #{endDt}
|
||||||
|
, max_point = #{maxPoint}
|
||||||
|
, update_by = #{updateBy}
|
||||||
|
, update_dt = NOW()
|
||||||
|
WHERE id = #{id}
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<!--삭제-->
|
||||||
|
<update id="deleteWorldEvent" parameterType="map">
|
||||||
|
UPDATE world_event
|
||||||
|
SET deleted = 1
|
||||||
|
, update_by = #{updateBy}
|
||||||
|
, update_dt = NOW()
|
||||||
|
WHERE id = #{id}
|
||||||
|
</update>
|
||||||
|
|
||||||
|
</mapper>
|
||||||
Reference in New Issue
Block a user