Files
mgm-daylight-mcrm-api-mobile/src/main/java/com/mgm/mcrm/appsetting/controllers/ConfigController.java
T
2026-09-15 17:04:06 +08:00

156 lines
8.1 KiB
Java

package com.mgm.mcrm.appsetting.controllers;
import com.alibaba.fastjson.JSONObject;
import com.mgm.mcrm.appsetting.dtos.*;
import com.mgm.mcrm.appsetting.models.CfgSettings;
import com.mgm.mcrm.appsetting.services.ConfigService;
import com.mgm.mcrm.basesetting.property.models.CfgProperties;
import com.mgm.mcrm.basesetting.room.models.CfgRoomFeatures;
import com.mgm.mcrm.basesetting.room.models.CfgRoomTypes;
import com.mgm.mcrm.basesetting.room.models.CfgRooms;
import com.mgm.mcrm.basesetting.room.repositories.BedTypeMappingDao.BedType;
import com.mgm.mcrm.booking.models.Bookings;
import com.mgm.mcrm.booking.models.CfgBookingTypes;
import com.mgm.mcrm.common.dtos.BaseApiResponse;
import com.mgm.mcrm.common.utils.LogUtil;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletRequest;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
@RestController
@CrossOrigin(origins = "*")
@RequestMapping("/api")
public class ConfigController {
@Resource
private ConfigService configService;
@RequestMapping(value = "/app/config/property_list", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public ResponseEntity<BaseApiResponse<List<CfgProperties>>> queryCfgPropertys(HttpServletRequest request, @RequestBody(required=true) PropertyQueryRequest queryFilter) {
BaseApiResponse<List<CfgProperties>> processResult = new BaseApiResponse<>();
//--
List<CfgProperties> listCfgPropertys = configService.listProperty(queryFilter);
//--
processResult.setSuccess(true);
processResult.setData(listCfgPropertys);
return ResponseEntity.status(HttpStatus.OK).body(processResult);
}
@RequestMapping(value = "/app/config/room_list", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public ResponseEntity<BaseApiResponse<List<CfgRooms>>> queryRoom(HttpServletRequest request, @RequestBody(required=true) RoomQueryRequest queryFilter) {
BaseApiResponse<List<CfgRooms>> processResult = new BaseApiResponse<>();
List<CfgRooms> listCfgRooms = configService.listRoom(queryFilter);
//--
processResult.setSuccess(true);
processResult.setData(listCfgRooms);
return ResponseEntity.status(HttpStatus.OK).body(processResult);
}
@RequestMapping(value = "/app/config/room_type_list", produces = "application/json;charset=UTF-8")
public ResponseEntity<BaseApiResponse<List<CfgRoomTypes>>> queryRoomType(HttpServletRequest request,@RequestBody(required=true) RoomTypeQueryRequest queryFilter) {
BaseApiResponse<List<CfgRoomTypes>> processResult = new BaseApiResponse<>();
//--
List<CfgRoomTypes> listCfgRoomTypes = configService.listRoomType(queryFilter);
processResult.setSuccess(true);
processResult.setData(listCfgRoomTypes);
return ResponseEntity.status(HttpStatus.OK).body(processResult);
}
@RequestMapping(value = "/app/config/bed_type_list", produces = "application/json;charset=UTF-8")
public ResponseEntity<BaseApiResponse<List<BedType>>> queryBedType(HttpServletRequest request,@RequestBody(required=true) BedTypeQueryRequest queryFilter) {
BaseApiResponse<List<BedType>> processResult = new BaseApiResponse<>();
//--
List<BedType> listCfgBedTypes = configService.listBedType(queryFilter);
processResult.setData(listCfgBedTypes);
processResult.setSuccess(true);
return ResponseEntity.status(HttpStatus.OK).body(processResult);
}
@RequestMapping(value = "/app/config/special_list", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public ResponseEntity<BaseApiResponse<List<CfgRoomFeatures>>> queryCfgRoomFeatures(HttpServletRequest request, @RequestBody(required=true) RoomFeatureQueryRequest queryFilter) {
BaseApiResponse<List<CfgRoomFeatures>> processResult = new BaseApiResponse<>();
//--
List<CfgRoomFeatures> listCfgRoomFeatures = configService.listRoomFeature(queryFilter);
processResult.setData(listCfgRoomFeatures);
processResult.setSuccess(true);
return ResponseEntity.status(HttpStatus.OK).body(processResult);
}
@RequestMapping(value = "/app/config/criteria_list", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public ResponseEntity<BaseApiResponse<Map<String,JSONObject>>> queryRoomCriteria(HttpServletRequest request, @RequestBody(required=true) RoomCriteriaQueryRequest queryParas) throws Exception {
BaseApiResponse<Map<String,JSONObject>> processResult = new BaseApiResponse<>();
//--
Map<String,JSONObject> listCfgCriterias = configService.listRoomCriteriaCalendar(queryParas);
processResult.setData(listCfgCriterias);
processResult.setSuccess(true);
return ResponseEntity.status(HttpStatus.OK).body(processResult);
}
@RequestMapping(value = "/app/config/setting_list", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public ResponseEntity<BaseApiResponse<List<CfgSettings>>> queryRoomSetting(HttpServletRequest request) {
BaseApiResponse<List<CfgSettings>> processResult = new BaseApiResponse<>();
//--
LogUtil.info(ConfigController.class,
"[ConfigController] 开始获取设置列表");
List<CfgSettings> listCfgRoomSetting = configService.listRoomSetting();
processResult.setData(listCfgRoomSetting);
//--
processResult.setSuccess(true);
LogUtil.info(ConfigController.class,
"[ConfigController] 设置列表获取成功,准备返回结果");
LogUtil.info(ConfigController.class,
"[ConfigController] === setting_list API执行完成 ===");
return ResponseEntity.status(HttpStatus.OK).body(processResult);
}
@RequestMapping(value = "/app/config/available_room_list", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public ResponseEntity<BaseApiResponse<HashSet<String>>> queryRoomCriteriaAvailableRoom(HttpServletRequest request, @RequestBody(required=true) AvailableRoomQueryRequest queryParas) {
BaseApiResponse<HashSet<String>> processResult = new BaseApiResponse<>();
//--
HashSet<String> listCfgRooms = configService.listRoomCriteriaAvailableRoom(queryParas);
processResult.setData(listCfgRooms);
processResult.setSuccess(true);
processResult.setMessage("Query Success");
return ResponseEntity.status(HttpStatus.OK).body(processResult);
}
@RequestMapping(value = "/app/config/is_extend_booking", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public ResponseEntity<BaseApiResponse<List<Bookings>>> queryIsExtendBooking(HttpServletRequest request, @RequestBody(required=true) ExtendBookingQueryRequest queryParas) {
BaseApiResponse<List<Bookings>> processResult = new BaseApiResponse<>();
//--
List<Bookings> listBooking = configService.listIsExtendBooking(queryParas);
processResult.setData(listBooking);
processResult.setSuccess(true);
processResult.setMessage("Query Success");
return ResponseEntity.status(HttpStatus.OK).body(processResult);
}
@RequestMapping(value = "/app/config/booking_type_list", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public ResponseEntity<BaseApiResponse<List<CfgBookingTypes>>> queryCfgBookingTypes(HttpServletRequest request) {
BaseApiResponse<List<CfgBookingTypes>> processResult = new BaseApiResponse<>();
List<CfgBookingTypes> listCfgBookingTypes = configService.listAllBookingType();
processResult.setData(listCfgBookingTypes);
processResult.setSuccess(true);
processResult.setMessage("Query Success");
return ResponseEntity.status(HttpStatus.OK).body(processResult);
}
@RequestMapping(value = "/app/config/get_waitlist_booking", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public ResponseEntity<BaseApiResponse<List<Bookings>>> queryGetWaitlistBooking(HttpServletRequest request, @RequestBody(required=true) WaitlistBookingQueryRequest queryParas) throws Exception {
BaseApiResponse<List<Bookings>> processResult = new BaseApiResponse<>();
//--
List<Bookings> listBooking = configService.getWaitlistBooking(queryParas);
processResult.setData(listBooking);
processResult.setSuccess(true);
processResult.setMessage("Query Success");
return ResponseEntity.status(HttpStatus.OK).body(processResult);
}
}