init
This commit is contained in:
@@ -0,0 +1,270 @@
|
||||
package com.mgm.mcrm.player.controllers;
|
||||
|
||||
import java.sql.Date;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.mgm.mcrm.authorization.dtos.LoginUserInfo;
|
||||
import com.mgm.mcrm.authorization.models.SysRouterPermission;
|
||||
import com.mgm.mcrm.authorization.services.SysGroupPermissionService;
|
||||
import com.mgm.mcrm.booking.dtos.BookingDto;
|
||||
import com.mgm.mcrm.booking.models.Bookings;
|
||||
import com.mgm.mcrm.common.constants.SysCommon;
|
||||
import com.mgm.mcrm.common.dtos.BaseApiResponse;
|
||||
import com.mgm.mcrm.common.dtos.mgm_api.TodoDashboardResult;
|
||||
import com.mgm.mcrm.common.dtos.mgm_api.TodoDateListResult;
|
||||
import com.mgm.mcrm.common.dtos.mgm_api.TodoDetailResult;
|
||||
import com.mgm.mcrm.logging.models.SysLogETA;
|
||||
import com.mgm.mcrm.player.dtos.request.*;
|
||||
import com.mgm.mcrm.player.dtos.response.GetDashboardResponse;
|
||||
import com.mgm.mcrm.player.dtos.response.GetTodoDetailResponse;
|
||||
import jakarta.annotation.Resource;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.lang3.Strings;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import com.mgm.mcrm.common.dtos.mgm_api.PlayerProfileEntry;
|
||||
import com.mgm.mcrm.player.services.PlayerService;
|
||||
import com.mgm.mcrm.player.services.TodoService;
|
||||
import com.mgm.mcrm.logging.services.SysLogETAService;
|
||||
|
||||
@RestController
|
||||
@CrossOrigin(origins = "*")
|
||||
@RequestMapping("/api")
|
||||
public class TodoController {
|
||||
|
||||
@Resource
|
||||
private TodoService todoService;
|
||||
|
||||
@Resource
|
||||
private PlayerService playerService;
|
||||
|
||||
@Resource
|
||||
private SysLogETAService sysLogETAService;
|
||||
|
||||
@Resource
|
||||
private SysGroupPermissionService sysGroupPermissionService;
|
||||
|
||||
@RequestMapping(value = "/app/todo/get_dashboard_data", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
|
||||
public ResponseEntity<BaseApiResponse<TodoDashboardResult>> getTodoDashboard(HttpServletRequest request, @RequestBody GetDashboardRequest getDashboardRequest) throws Exception {
|
||||
|
||||
LoginUserInfo loginUser = SysCommon.parseUserFromToken(request);
|
||||
String userId = loginUser.getLoginId();
|
||||
String groupName = loginUser.getGroupName();
|
||||
|
||||
BaseApiResponse<TodoDashboardResult> result = new BaseApiResponse<>();
|
||||
boolean viewTodoDashboard = sysGroupPermissionService.checkGroupPermission(groupName, "10001_04");
|
||||
viewTodoDashboard = true;
|
||||
if(viewTodoDashboard) {
|
||||
GetDashboardResponse getDashboardResponse = todoService.getTodoDashboard(userId);
|
||||
if(getDashboardResponse.isSuccess()) {
|
||||
result.setSuccess(true);
|
||||
result.setData(getDashboardResponse.getReturnData());
|
||||
}else {
|
||||
result.setSuccess(false);
|
||||
result.setMessage(getDashboardResponse.getErrorMessage());
|
||||
result.setCode(getDashboardResponse.getErrorCode());
|
||||
}
|
||||
}else {
|
||||
result.setSuccess(false);
|
||||
result.setCode("NO_PERMISSION");
|
||||
}
|
||||
return ResponseEntity.status(HttpStatus.OK).body(result);
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/app/todo/get_todolist_details", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
|
||||
public ResponseEntity<BaseApiResponse<TodoDetailResult>> getTodoDetail(HttpServletRequest request, @RequestBody GetTodoDetailRequest getTodoDetailRequest) throws Exception {
|
||||
String playerId = getTodoDetailRequest.getPlayerId();
|
||||
String todoSegment = getTodoDetailRequest.getTodosegment();
|
||||
String todoCategory = getTodoDetailRequest.getTodoCategory();
|
||||
String date = getTodoDetailRequest.getDate();
|
||||
date = date.split("T")[0];
|
||||
|
||||
BaseApiResponse<TodoDetailResult> result = new BaseApiResponse<>();
|
||||
|
||||
GetTodoDetailResponse getTodoDetailResponse = todoService.getTodoDetail(playerId,todoCategory,todoSegment,date);
|
||||
if(getTodoDetailResponse.isSuccess()) {
|
||||
result.setSuccess(true);
|
||||
result.setData(getTodoDetailResponse.getReturnData());
|
||||
}else {
|
||||
result.setSuccess(false);
|
||||
result.setCode(getTodoDetailResponse.getErrorCode());
|
||||
}
|
||||
|
||||
return ResponseEntity.status(HttpStatus.OK).body(result);
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/app/todo/get_todolist", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
|
||||
public ResponseEntity<BaseApiResponse<TodoDateListResult>> getTodoList(HttpServletRequest request, @RequestBody GetTodoListRequest params) throws Exception {
|
||||
|
||||
LoginUserInfo loginUser = SysCommon.parseUserFromToken(request);
|
||||
String type = params.getTodoSegment();
|
||||
String category = params.getTodoCategory();
|
||||
Date startDate = Date.valueOf(params.getStartDate());
|
||||
Date endDate = Date.valueOf(params.getEndDate());
|
||||
|
||||
String userId = loginUser.getLoginId();
|
||||
String groupName = loginUser.getGroupName();
|
||||
boolean viewTodoList = sysGroupPermissionService.checkGroupPermission(groupName, "10001_03");
|
||||
|
||||
BaseApiResponse<TodoDateListResult> result = new BaseApiResponse<>();
|
||||
viewTodoList = true;
|
||||
if(viewTodoList) {
|
||||
BaseApiResponse<TodoDateListResult> serviceResult = todoService.getTodoList(userId,category,type,startDate,endDate);
|
||||
if(serviceResult.isSuccess()) {
|
||||
result.setSuccess(true);
|
||||
result.setData(serviceResult.getData());
|
||||
}else {
|
||||
result.setSuccess(false);
|
||||
result.setCode(serviceResult.getCode());
|
||||
}
|
||||
}else {
|
||||
result.setSuccess(false);
|
||||
result.setCode("NO_PERMISSION");
|
||||
}
|
||||
|
||||
return ResponseEntity.status(HttpStatus.OK).body(result);
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/app/todo/change_date", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
|
||||
public ResponseEntity<BaseApiResponse<BookingDto>> changeDate(HttpServletRequest request, @RequestBody TodoChangeDateRequest bookingParams) throws Exception {
|
||||
BaseApiResponse<BookingDto> result = new BaseApiResponse<>();
|
||||
result.setRequestData(bookingParams);
|
||||
LoginUserInfo loginUser = SysCommon.parseUserFromToken(request);
|
||||
String userId = loginUser.getLoginId();
|
||||
String groupName = loginUser.getGroupName();
|
||||
//--get group permissions
|
||||
boolean cancelBooking = true;
|
||||
List<SysRouterPermission> userPermissions = new ArrayList<SysRouterPermission>();
|
||||
userPermissions = sysGroupPermissionService.getRouterPermissionsByGroupName(groupName);
|
||||
if(userPermissions!=null && !userPermissions.isEmpty()) {
|
||||
for(SysRouterPermission per:userPermissions) {
|
||||
if(Strings.CS.equals(per.getId(), "10001_02") ) cancelBooking = true;
|
||||
}
|
||||
}
|
||||
String playerId = bookingParams.getPlayerId()!=null? bookingParams.getPlayerId():null;
|
||||
BaseApiResponse<PlayerProfileEntry> findPlayerProfileResult = playerService.findPlayerProfileByPlayerIdAndUserId(playerId, userId);
|
||||
if(findPlayerProfileResult.isSuccess()) {
|
||||
PlayerProfileEntry profile = findPlayerProfileResult.getData();
|
||||
Integer code = profile.getCodedFlag();
|
||||
if(code==1 && cancelBooking) {
|
||||
BaseApiResponse<BookingDto> changeDateResult = todoService.changeBookingDate(bookingParams,request);
|
||||
if(changeDateResult.isSuccess()) {
|
||||
result.setSuccess(true);
|
||||
result.setMessage(!StringUtils.isEmpty(changeDateResult.getMessage())?changeDateResult.getMessage():"Edit Success");
|
||||
result.setData(changeDateResult.getData());
|
||||
result.setRequestData(changeDateResult.getData());
|
||||
}else {
|
||||
result.setSuccess(false);
|
||||
result.setMessage(changeDateResult.getMessage());
|
||||
result.setCode(changeDateResult.getCode());
|
||||
}
|
||||
}else {
|
||||
result.setSuccess(false);
|
||||
result.setCode("NO_PERMISSION");
|
||||
result.setMessage("No permission to cancel");
|
||||
}
|
||||
}else {
|
||||
result.setSuccess(false);
|
||||
result.setCode("CALL_API_ERROR");
|
||||
result.setMessage(findPlayerProfileResult.getMessage());
|
||||
}
|
||||
return ResponseEntity.status(HttpStatus.OK).body(result);
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/app/todo/submit_ETA", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
|
||||
public ResponseEntity<BaseApiResponse<Bookings>> submitETA(HttpServletRequest request,
|
||||
@RequestBody TodoSubmitETARequest params) throws Exception {
|
||||
LoginUserInfo loginUser = SysCommon.parseUserFromToken(request);
|
||||
String userId = loginUser.getLoginId();
|
||||
String playerId = params.getPlayerId();
|
||||
String etaTime = params.getEtaTime();
|
||||
Long id = params.getId();
|
||||
List<EtaRecordInfo> recordInfos = params.getRecordInfo();
|
||||
BaseApiResponse<Bookings> result = new BaseApiResponse<>();
|
||||
|
||||
if(StringUtils.isNotEmpty(etaTime)) {
|
||||
// 18:34 -> 18:34:00
|
||||
// 18:34:00 -> 18:34:00
|
||||
String[] split = etaTime.split(":");
|
||||
if (split.length < 3) {
|
||||
etaTime = etaTime + ":00";
|
||||
} else {
|
||||
etaTime = split[0] + ":" + split[1] + ":" + split[2];
|
||||
}
|
||||
}
|
||||
BaseApiResponse<Bookings> submitResult = todoService.submitETA(etaTime, recordInfos, id);
|
||||
|
||||
SysLogETA sysLogETA = new SysLogETA();
|
||||
java.util.Date now = new java.util.Date();
|
||||
|
||||
if(submitResult.isSuccess()) {
|
||||
sysLogETA.setStatus(1);
|
||||
result.setSuccess(true);
|
||||
// result.setData(submitResult.getData());
|
||||
}else {
|
||||
sysLogETA.setStatus(0);
|
||||
result.setSuccess(false);
|
||||
result.setCode(submitResult.getCode());
|
||||
}
|
||||
|
||||
sysLogETA.setUserId(userId);
|
||||
sysLogETA.setPlayerId(playerId);
|
||||
sysLogETA.setInputDateTime(etaTime.substring(0, 5));
|
||||
sysLogETA.setCreatedAt(now);
|
||||
sysLogETA.setUpdatedAt(now);
|
||||
sysLogETAService.save(sysLogETA);
|
||||
return ResponseEntity.status(HttpStatus.OK).body(result);
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/app/todo/cancel_booking", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
|
||||
public ResponseEntity<BaseApiResponse<Object>> cancelBooking(HttpServletRequest request,
|
||||
@RequestBody TodoCancelBookingRequest cancelRequest) throws Exception {
|
||||
LoginUserInfo loginUser = SysCommon.parseUserFromToken(request);
|
||||
BaseApiResponse<Object> result = new BaseApiResponse<>();
|
||||
//--
|
||||
result.setRequestData(cancelRequest);
|
||||
String userId = loginUser.getLoginId();
|
||||
String groupName = loginUser.getGroupName();
|
||||
//--get group permissions
|
||||
boolean cancelBooking = true;
|
||||
List<SysRouterPermission> userPermissions = sysGroupPermissionService.getRouterPermissionsByGroupName(groupName);
|
||||
if(!userPermissions.isEmpty()) {
|
||||
for(SysRouterPermission per:userPermissions) {
|
||||
if(Strings.CS.equals(per.getId(), "10001_02") ) cancelBooking = true;
|
||||
}
|
||||
}
|
||||
String playerId = cancelRequest.getPlayerId();
|
||||
BaseApiResponse<PlayerProfileEntry> findPlayerProfileResult = playerService.findPlayerProfileByPlayerIdAndUserId(playerId, userId);
|
||||
if(findPlayerProfileResult.isSuccess()) {
|
||||
PlayerProfileEntry profile = findPlayerProfileResult.getData();
|
||||
Integer code = profile.getCodedFlag();
|
||||
if(code==1 && cancelBooking) {
|
||||
BaseApiResponse<Object> cancelResult = todoService.cancelBooking(cancelRequest,request);
|
||||
if(cancelResult.isSuccess()) {
|
||||
result.setSuccess(true);
|
||||
result.setMessage(!StringUtils.isEmpty(cancelResult.getMessage())?cancelResult.getMessage():"Cancel Success");
|
||||
result.setData(cancelResult.getData());
|
||||
result.setRequestData(cancelResult.getData());
|
||||
}else {
|
||||
result.setSuccess(false);
|
||||
result.setMessage(cancelResult.getMessage());
|
||||
result.setCode(cancelResult.getCode());
|
||||
}
|
||||
}else {
|
||||
result.setSuccess(false);
|
||||
result.setCode("NO_PERMISSION");
|
||||
result.setMessage("No permission to cancel");
|
||||
}
|
||||
}else {
|
||||
result.setSuccess(false);
|
||||
result.setCode("CALL_API_ERROR");
|
||||
result.setMessage(findPlayerProfileResult.getMessage());
|
||||
}
|
||||
return ResponseEntity.status(HttpStatus.OK).body(result);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user