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>> queryCfgPropertys(HttpServletRequest request, @RequestBody(required=true) PropertyQueryRequest queryFilter) { BaseApiResponse> processResult = new BaseApiResponse<>(); //-- List 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>> queryRoom(HttpServletRequest request, @RequestBody(required=true) RoomQueryRequest queryFilter) { BaseApiResponse> processResult = new BaseApiResponse<>(); List 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>> queryRoomType(HttpServletRequest request,@RequestBody(required=true) RoomTypeQueryRequest queryFilter) { BaseApiResponse> processResult = new BaseApiResponse<>(); //-- List 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>> queryBedType(HttpServletRequest request,@RequestBody(required=true) BedTypeQueryRequest queryFilter) { BaseApiResponse> processResult = new BaseApiResponse<>(); //-- List 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>> queryCfgRoomFeatures(HttpServletRequest request, @RequestBody(required=true) RoomFeatureQueryRequest queryFilter) { BaseApiResponse> processResult = new BaseApiResponse<>(); //-- List 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>> queryRoomCriteria(HttpServletRequest request, @RequestBody(required=true) RoomCriteriaQueryRequest queryParas) throws Exception { BaseApiResponse> processResult = new BaseApiResponse<>(); //-- Map 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>> queryRoomSetting(HttpServletRequest request) { BaseApiResponse> processResult = new BaseApiResponse<>(); //-- LogUtil.info(ConfigController.class, "[ConfigController] 开始获取设置列表"); List 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>> queryRoomCriteriaAvailableRoom(HttpServletRequest request, @RequestBody(required=true) AvailableRoomQueryRequest queryParas) { BaseApiResponse> processResult = new BaseApiResponse<>(); //-- HashSet 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>> queryIsExtendBooking(HttpServletRequest request, @RequestBody(required=true) ExtendBookingQueryRequest queryParas) { BaseApiResponse> processResult = new BaseApiResponse<>(); //-- List 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>> queryCfgBookingTypes(HttpServletRequest request) { BaseApiResponse> processResult = new BaseApiResponse<>(); List 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>> queryGetWaitlistBooking(HttpServletRequest request, @RequestBody(required=true) WaitlistBookingQueryRequest queryParas) throws Exception { BaseApiResponse> processResult = new BaseApiResponse<>(); //-- List listBooking = configService.getWaitlistBooking(queryParas); processResult.setData(listBooking); processResult.setSuccess(true); processResult.setMessage("Query Success"); return ResponseEntity.status(HttpStatus.OK).body(processResult); } }