first commit

This commit is contained in:
Mauve
2026-09-08 16:56:12 +08:00
commit 6ce4e4a166
898 changed files with 234303 additions and 0 deletions
+11
View File
@@ -0,0 +1,11 @@
/.classpath
/target/*
!/target/crm_runtime/
/src/main/resources/application-local.properties
/src/main/resources/application-production.properties
/src/main/resources/application-qa.properties
/src/main/resources/application-willtech-qa.properties
/crm_runtime/logs/
/.claude/
/.idea/
/.project
+3
View File
@@ -0,0 +1,3 @@
#web Setting
web_server=https://localhost:9086
web_request_timeout=30000
@@ -0,0 +1,57 @@
{
"exportName":"EXPORT_BED_TYPE_MAPPING",
"exportPages":[{
"sheetIndx": 0,
"sheetName":"Bed Type Mapping",
"dataElements": [{
"blockName":"masterData",
"offsetRow": 0,
"offsetCol": 0,
"elementType":2,
"isShowHeader":true,
"headerAlign":"center",
"headerColor":"#f5ebd9",
"headerTextColor":"#000000",
"textAlign":"left",
"textColor":"#000000",
"objClassName": "com.mgm.mcrm.basesetting.room.dtos.response.CfgBedTypeMappingViewResponse",
"columnDefs": [{
"columnHeader":"Property",
"attrName": "propertyName",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Room",
"attrName": "roomName",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Room Type",
"attrName": "roomTypeNames",
"dataType": "String",
"columnWidth":60
},
{
"columnHeader":"Bed Type",
"attrName": "bedTypeName",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Created Time",
"attrName": "createdAt",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Updated Time",
"attrName": "updatedAt",
"dataType": "String",
"columnWidth":30
}
]
}]
}]
}
@@ -0,0 +1,118 @@
{
"exportName":"EXPORT_DAYLIGHT_MAPPING",
"exportPages":[{
"sheetIndx": 0,
"sheetName":"User-Room Mapping",
"dataElements": [{
"blockName":"masterData",
"offsetRow": 0,
"offsetCol": 0,
"elementType":2,
"isShowHeader":true,
"headerAlign":"center",
"headerColor":"#f5ebd9",
"headerTextColor":"#000000",
"textAlign":"left",
"textColor":"#000000",
"objClassName": "com.mgm.mcrm.basesetting.daylight.models.CfgDaylightView",
"columnDefs": [
{
"columnHeader":"Booking Type",
"attrName": "bookingTypeName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Section",
"attrName": "sectionName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Hotel Property",
"attrName": "propertyName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Block Code",
"attrName": "blockCodeName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Rate Code",
"attrName": "rateCodeName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Room Type",
"attrName": "roomTypeNames",
"dataType": "String",
"columnWidth":40
},
{
"columnHeader":"Source Code",
"attrName": "sourceCodeName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Market Code",
"attrName": "marketCodeName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Approver",
"attrName": "approver",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Room Category",
"attrName": "compRuleCategory",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Complimentary Type",
"attrName": "compTypeContent",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Complimentary Type Id",
"attrName": "dlCompTypeId",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Payment Method Code",
"attrName": "paymentMethodCodeContent",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Payment Method Code Id",
"attrName": "dlPaymentMethodCodeId",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Complimentary Preset",
"attrName": "compPresetContent",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Complimentary Preset Id",
"attrName": "compPresetId",
"dataType": "String",
"columnWidth":30
}
]
}]
}]
}
@@ -0,0 +1,39 @@
{
"exportName":"EXPORT_DEPARTMENT",
"exportPages":[{
"sheetIndx": 0,
"sheetName":"Department",
"dataElements": [{
"blockName":"masterData",
"offsetRow": 0,
"offsetCol": 0,
"elementType":2,
"isShowHeader":true,
"headerAlign":"center",
"headerColor":"#f5ebd9",
"headerTextColor":"#000000",
"textAlign":"left",
"textColor":"#000000",
"objClassName": "com.mgm.mcrm.basesetting.team.dtos.CfgDepartmentsDto",
"columnDefs": [{
"columnHeader":"Department Name",
"attrName": "name",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Created Time",
"attrName": "createdAt",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Updated Time",
"attrName": "updatedAt",
"dataType": "String",
"columnWidth":30
}
]
}]
}]
}
@@ -0,0 +1,39 @@
{
"exportName":"EXPORT_DIVISION",
"exportPages":[{
"sheetIndx": 0,
"sheetName":"Division",
"dataElements": [{
"blockName":"masterData",
"offsetRow": 0,
"offsetCol": 0,
"elementType":2,
"isShowHeader":true,
"headerAlign":"center",
"headerColor":"#f5ebd9",
"headerTextColor":"#000000",
"textAlign":"left",
"textColor":"#000000",
"objClassName": "com.mgm.mcrm.basesetting.team.dtos.CfgDivisionsDto",
"columnDefs": [{
"columnHeader":"Division Name",
"attrName": "name",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Created Time",
"attrName": "createdAt",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Updated Time",
"attrName": "updatedAt",
"dataType": "String",
"columnWidth":30
}
]
}]
}]
}
@@ -0,0 +1,70 @@
{
"exportName":"EXPORT_EXCEPTION_DAYLIGHT",
"exportPages":[{
"sheetIndx": 0,
"sheetName":"Exception Daylight Mapping",
"dataElements": [{
"blockName":"masterData",
"offsetRow": 0,
"offsetCol": 0,
"elementType":2,
"isShowHeader":true,
"headerAlign":"center",
"headerColor":"#f5ebd9",
"headerTextColor":"#000000",
"textAlign":"left",
"textColor":"#000000",
"objClassName": "com.mgm.mcrm.basesetting.daylight.dtos.response.CfgExceptionDaylightResponse",
"columnDefs": [
{
"columnHeader":"User ID",
"attrName": "userId",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Booking Type",
"attrName": "bookingTypeName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Hotel Property",
"attrName": "propertyName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Block Code",
"attrName": "blockCodeName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Rate Code",
"attrName": "rateCodeName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Room Type",
"attrName": "roomTypeNames",
"dataType": "String",
"columnWidth":40
},
{
"columnHeader":"Source Code",
"attrName": "sourceCodeName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Market Code",
"attrName": "marketCodeName",
"dataType": "String",
"columnWidth":20
}
]
}]
}]
}
@@ -0,0 +1,70 @@
{
"exportName":"EXPORT_EXCEPTION_OPERA",
"exportPages":[{
"sheetIndx": 0,
"sheetName":"Exception Opera Mapping",
"dataElements": [{
"blockName":"masterData",
"offsetRow": 0,
"offsetCol": 0,
"elementType":2,
"isShowHeader":true,
"headerAlign":"center",
"headerColor":"#f5ebd9",
"headerTextColor":"#000000",
"textAlign":"left",
"textColor":"#000000",
"objClassName": "com.mgm.mcrm.basesetting.opera.models.CfgExceptionOperaView",
"columnDefs": [
{
"columnHeader":"User ID",
"attrName": "userId",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Booking Type",
"attrName": "bookingTypeName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Hotel Property",
"attrName": "propertyName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Block Code",
"attrName": "blockCodeName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Rate Code",
"attrName": "rateCodeName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Room Type",
"attrName": "roomTypeNames",
"dataType": "String",
"columnWidth":40
},
{
"columnHeader":"Source Code",
"attrName": "sourceCodeName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Market Code",
"attrName": "marketCodeName",
"dataType": "String",
"columnWidth":20
}
]
}]
}]
}
@@ -0,0 +1,119 @@
{
"exportName":"EXPORT_FAILED_LIST",
"exportPages":[{
"sheetIndx": 0,
"sheetName":"Failed Booking",
"dataElements": [{
"blockName":"masterData",
"offsetRow": 0,
"offsetCol": 0,
"elementType":2,
"isShowHeader":true,
"headerAlign":"center",
"headerColor":"#f5ebd9",
"headerTextColor":"#000000",
"textAlign":"left",
"textColor":"#000000",
"objClassName": "com.mgm.mcrm.reservation.models.BookingsView",
"columnDefs": [{
"columnHeader":"Failure ID",
"attrName": "id",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Complation Status",
"attrName": "approveStatusName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Reason",
"attrName": "errorMessage",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Input Date/Time",
"attrName": "createdAt",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Player ID",
"attrName": "playerId",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Properties",
"attrName": "propertyName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"No. of Rooms",
"attrName": "numOfRooms",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Room Type",
"attrName": "roomTypeCode",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Check in Date/Extension Date",
"attrName": "checkinDate",
"dataType": "Date",
"formatVal":"yyyy-MM-dd",
"columnWidth":40
},
{
"columnHeader":"Check Out Date",
"attrName": "checkoutDate",
"dataType": "Date",
"formatVal":"yyyy-MM-dd",
"columnWidth":40
},
{
"columnHeader":"Night Of Stay",
"attrName": "numOfNight",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Booker",
"attrName": "booker",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Section",
"attrName": "teamName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Remarks By MSC",
"attrName": "mscRemark",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Updated By",
"attrName": "updatedBy",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Updated Time",
"attrName": "updatedAt",
"dataType": "String",
"columnWidth":30
}
]
}]
}]
}
@@ -0,0 +1,76 @@
{
"exportName":"EXPORT_ITEM_INVENTORY",
"exportPages":[{
"sheetIndx": 0,
"sheetName":"Item Inventory",
"dataElements": [{
"blockName":"masterData",
"offsetRow": 0,
"offsetCol": 0,
"elementType":2,
"isShowHeader":true,
"headerAlign":"center",
"headerColor":"#f5ebd9",
"headerTextColor":"#000000",
"textAlign":"left",
"textColor":"#000000",
"objClassName": "com.mgm.mcrm.basesetting.daylight.dtos.CfgItemInventoryViewDto",
"columnDefs": [
{
"columnHeader":"Opera Tier",
"attrName": "operaTierId",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"IGT Tier ID",
"attrName": "igtTierId",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"IGT Tier Name",
"attrName": "igtTierName",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Property",
"attrName": "propertyName",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Room",
"attrName": "roomName",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Amenity Package Code",
"attrName": "amenityPackageCode",
"dataType": "String",
"columnWidth":50
},
{
"columnHeader":"Category",
"attrName": "category",
"dataType": "String",
"columnWidth":50
},
{
"columnHeader":"Created Time",
"attrName": "createdAt",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Updated Time",
"attrName": "updatedAt",
"dataType": "String",
"columnWidth":30
}
]
}]
}]
}
@@ -0,0 +1,81 @@
{
"exportName":"EXPORT_ITEM_INVENTORY_DAYLIGHT",
"exportPages":[{
"sheetIndx": 0,
"sheetName":"Item Inventory",
"dataElements": [{
"blockName":"masterData",
"offsetRow": 0,
"offsetCol": 0,
"elementType":2,
"isShowHeader":true,
"headerAlign":"center",
"headerColor":"#f5ebd9",
"headerTextColor":"#000000",
"textAlign":"left",
"textColor":"#000000",
"objClassName": "com.mgm.mcrm.basesetting.daylight.dtos.CfgItemInventoryViewDto",
"columnDefs": [{
"columnHeader":"Tier Code",
"attrName": "daylightTier",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"IGT Tier ID",
"attrName": "igtTierId",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"IGT Tier Name",
"attrName": "igtTierName",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Property",
"attrName": "propertyName",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Room",
"attrName": "roomName",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Purchase Element",
"attrName": "dlCode",
"dataType": "String",
"columnWidth":50
},
{
"columnHeader":"Category",
"attrName": "category",
"dataType": "String",
"columnWidth":50
},
{
"columnHeader":"Daylight Purchase Element Id",
"attrName": "dlPurchaseElementId",
"dataType": "String",
"columnWidth":50
},
{
"columnHeader":"Created Time",
"attrName": "createdAt",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Updated Time",
"attrName": "updatedAt",
"dataType": "String",
"columnWidth":30
}
]
}]
}]
}
@@ -0,0 +1,57 @@
{
"exportName":"EXPORT_LOGIN_LOG",
"exportPages":[{
"sheetIndx": 0,
"sheetName":"Login_Logout Log",
"dataElements": [{
"blockName":"masterData",
"offsetRow": 0,
"offsetCol": 0,
"elementType":2,
"isShowHeader":true,
"headerAlign":"center",
"headerColor":"#f5ebd9",
"headerTextColor":"#000000",
"textAlign":"left",
"textColor":"#000000",
"objClassName": "com.mgm.mcrm.logging.dtos.SysLogLoginDto",
"columnDefs": [{
"columnHeader":"Event",
"attrName": "eventCode",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Description",
"attrName": "logDesc",
"dataType": "String",
"columnWidth":50
},
{
"columnHeader":"User Code",
"attrName": "loginId",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Operated Time",
"attrName": "occurTime",
"dataType": "Date",
"columnWidth":30
},
{
"columnHeader":"Access IP",
"attrName": "ipAddress",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Client Name",
"attrName": "computerName",
"dataType": "String",
"columnWidth":30
}
]
}]
}]
}
@@ -0,0 +1,94 @@
{
"exportName":"EXPORT_OPERA_MAPPING",
"exportPages":[{
"sheetIndx": 0,
"sheetName":"Opera Mapping",
"dataElements": [{
"blockName":"masterData",
"offsetRow": 0,
"offsetCol": 0,
"elementType":2,
"isShowHeader":true,
"headerAlign":"center",
"headerColor":"#f5ebd9",
"headerTextColor":"#000000",
"textAlign":"left",
"textColor":"#000000",
"objClassName": "com.mgm.mcrm.basesetting.opera.models.CfgOperaView",
"columnDefs": [
{
"columnHeader":"Booking Type",
"attrName": "bookingTypeName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"User Division",
"attrName": "divisionName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Department",
"attrName": "departmentName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Section",
"attrName": "sectionName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Hotel Property",
"attrName": "propertyName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Block Code",
"attrName": "blockCodeName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Rate Code",
"attrName": "rateCodeName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Room Type",
"attrName": "roomTypeNames",
"dataType": "String",
"columnWidth":40
},
{
"columnHeader":"Source Code",
"attrName": "sourceCodeName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Market Code",
"attrName": "marketCodeName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Created Time",
"attrName": "createdAt",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Updated Time",
"attrName": "updatedAt",
"dataType": "String",
"columnWidth":30
}
]
}]
}]
}
@@ -0,0 +1,69 @@
{
"exportName":"EXPORT_OPERATION_LOG",
"exportPages":[{
"sheetIndx": 0,
"sheetName":"Operation Log",
"dataElements": [{
"blockName":"masterData",
"offsetRow": 0,
"offsetCol": 0,
"elementType":2,
"isShowHeader":true,
"headerAlign":"center",
"headerColor":"#f5ebd9",
"headerTextColor":"#000000",
"textAlign":"left",
"textColor":"#000000",
"objClassName": "com.mgm.mcrm.logging.dtos.SysLogOperationDto",
"columnDefs": [{
"columnHeader":"Event",
"attrName": "eventCode",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Description",
"attrName": "logDesc",
"dataType": "String",
"columnWidth":50
},
{
"columnHeader":"User Code",
"attrName": "loginId",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Operated Time",
"attrName": "occurTime",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Request Data",
"attrName": "requestBody",
"dataType": "String",
"columnWidth":50
},
{
"columnHeader":"Response Data",
"attrName": "responseBody",
"dataType": "String",
"columnWidth":50
},
{
"columnHeader":"Access IP",
"attrName": "ipAddress",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Client Name",
"attrName": "computerName",
"dataType": "String",
"columnWidth":30
}
]
}]
}]
}
@@ -0,0 +1,106 @@
{
"exportName":"EXPORT_OTHER_ALLOTMENT",
"exportPages":[{
"sheetIndx": 0,
"sheetName":"Other Property Allotment",
"dataElements": [{
"blockName":"masterData",
"offsetRow": 0,
"offsetCol": 0,
"elementType":2,
"isShowHeader":true,
"headerRowNum":2,
"headerAlign":"center",
"headerColor":"#f5ebd9",
"headerTextColor":"#000000",
"textAlign":"left",
"textColor":"#000000",
"objClassName": "com.mgm.mcrm.allotment.models.CfgOtherAllotmentView",
"columnDefs": [{
"columnHeader":"Property",
"attrName": "propertyName",
"dataType": "String",
"headerRowIdx":1,
"columnWidth":20
},
{
"columnHeader":"Date",
"attrName": "bookDateText",
"dataType": "String",
"headerRowIdx":1,
"columnWidth":20
},
{
"columnHeader":"DOW",
"attrName": "bookWeekDay",
"dataType": "String",
"headerRowIdx":1,
"columnWidth":20
},
{
"columnHeader":"Room Group",
"attrName": "roomCategory",
"dataType": "String",
"headerRowIdx":1,
"columnWidth":20
},
{
"columnHeader":"Room Type",
"attrName": "roomTypeNames",
"dataType": "String",
"headerRowIdx":1,
"columnWidth":40
},
{
"columnHeader":"Total Allotment",
"attrName": "totalAllotment",
"dataType": "Integer",
"formatVal":"0",
"headerRowIdx":1,
"columnWidth":20
},
{
"columnHeader":"App Channel",
"groupName":"CHANNEL_GROUP",
"attrName": "channelList",
"groupKeyAttrName":"segmentId",
"dataType": "com.mgm.mcrm.allotment.models.CfgOtherAppChannel",
"headerRowIdx":0,
"columnWidth":20,
"groupColumns":[
{
"columnHeader":"",
"headerAttrName":"segmentName",
"attrName": "appChannel",
"dataType": "Integer",
"formatVal":"0",
"headerRowIdx":-1,
"columnWidth":20
}
]
},
{
"columnHeader":"Rate",
"attrName": "rate",
"dataType": "String",
"headerRowIdx":1,
"columnWidth":20
},
{
"columnHeader":"Sharer",
"attrName": "sharerValue",
"dataType": "String",
"headerRowIdx":1,
"columnWidth":20
},
{
"columnHeader":"Waitlist",
"attrName": "waitListValue",
"dataType": "String",
"headerRowIdx":1,
"columnWidth":20
}
]
}]
}]
}
@@ -0,0 +1,201 @@
{
"exportName":"EXPORT_OTHER_BOOKING",
"exportPages":[{
"sheetIndx": 0,
"sheetName":"Other Booking",
"dataElements": [{
"blockName":"masterData",
"offsetRow": 0,
"offsetCol": 0,
"elementType":2,
"isShowHeader":true,
"headerAlign":"center",
"headerColor":"#f5ebd9",
"headerTextColor":"#000000",
"textAlign":"left",
"textColor":"#000000",
"objClassName": "com.mgm.mcrm.reservation.dtos.BookingsViewDto",
"columnDefs": [{
"columnHeader":"#",
"attrName": "id",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Staff Action",
"attrName": "followUpStatusName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Room Status",
"attrName": "roomStatusName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Property",
"attrName": "propertyName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Confirmation No.",
"attrName": "confirmationNo",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Room Type",
"attrName": "room",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Check In Date",
"attrName": "checkinDate",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Check Out Date",
"attrName": "checkoutDate",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Change Check In Date",
"attrName": "changeCheckinDate",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Change Check Out Date",
"attrName": "changeCheckoutDate",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Requested C/O Date",
"attrName": "requestedCoDate",
"dataType": "String",
"columnWidth":40
},
{
"columnHeader":"Player ID",
"attrName": "playerId",
"dataType": "String",
"columnWidth":40
},
{
"columnHeader":"Title",
"attrName": "memberTitle",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Last Name",
"attrName": "memberLastName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"First Name",
"attrName": "memberFirstName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Tier",
"attrName": "tier",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Market Code",
"attrName": "marketCode",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Source Code",
"attrName": "sourceCode",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Booker",
"attrName": "booker",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Booker Id",
"attrName": "createdBy",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Sharer",
"attrName": "sharer",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Sharer Name",
"attrName": "sharerName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Remark",
"attrName": "remark",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Approver",
"attrName": "approvedBy",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Approver ID",
"attrName": "approvedId",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Approval Remark",
"attrName": "approvalRemark",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Booking Type",
"attrName": "bookingTypeName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Segment",
"attrName": "segmentName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"ETA Time",
"attrName": "eta",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Create Date/Time",
"attrName": "createdAt",
"dataType": "String",
"columnWidth":20
}
]
}]
}]
}
@@ -0,0 +1,87 @@
{
"exportName":"EXPORT_OTHER_DASHBOARD",
"exportPages":[{
"sheetIndx": 0,
"sheetName":"Allotment Dashboard",
"dataElements": [
{
"blockName":"segmentFilter",
"offsetRow": 0,
"offsetCol": 0,
"isShowHeader":false,
"elementType":1,
"textAlign":"left",
"textColor":"#000000",
"columnDefs": [
{
"columnHeader":"",
"attrName": "",
"dataType": "String",
"headerRowIdx":1,
"columnWidth":20
}
]
},
{
"blockName":"masterData",
"offsetRow": 1,
"offsetCol": 0,
"elementType":2,
"isShowHeader":true,
"headerRowNum":2,
"headerAlign":"center",
"headerColor":"#f5ebd9",
"headerTextColor":"#000000",
"textAlign":"center",
"textColor":"#000000",
"objClassName": "com.mgm.mcrm.appsetting.dtos.OtherDashboardExportRow",
"columnDefs": [
{
"columnHeader":"Date",
"attrName": "bookDateText",
"dataType": "String",
"headerRowIdx":1,
"columnWidth":20
},
{
"columnHeader":"",
"groupName":"CHANNEL_GROUP",
"attrName": "roomChannel",
"groupKeyAttrName":"channelKey",
"dataType": "com.mgm.mcrm.appsetting.dtos.OtherDashboardChannel",
"headerRowIdx":0,
"columnWidth":20,
"groupColumns":[
{
"columnHeader":"Block",
"headerAttrName":"",
"attrName": "block",
"dataType": "Integer",
"formatVal":"0",
"headerRowIdx":1,
"columnWidth":20
},
{
"columnHeader":"Pickup",
"headerAttrName":"",
"attrName": "pickup",
"dataType": "Integer",
"formatVal":"0",
"headerRowIdx":1,
"columnWidth":20
},
{
"columnHeader":"Available",
"headerAttrName":"",
"attrName": "available",
"dataType": "Integer",
"formatVal":"0",
"headerRowIdx":1,
"columnWidth":20
}
]
}
]
}]
}]
}
@@ -0,0 +1,52 @@
{
"exportName":"EXPORT_OTHER_USER_MAPPING",
"exportPages":[{
"sheetIndx": 0,
"sheetName":"User Mapping",
"dataElements": [{
"blockName":"masterData",
"offsetRow": 0,
"offsetCol": 0,
"elementType":2,
"isShowHeader":true,
"headerAlign":"center",
"headerColor":"#f5ebd9",
"headerTextColor":"#000000",
"textAlign":"left",
"textColor":"#000000",
"objClassName": "com.mgm.mcrm.basesetting.team.dtos.response.CfgOtherUserMappingViewResponse",
"columnDefs": [
{
"columnHeader":"Booking Type",
"attrName": "bookingTypeName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Section",
"attrName": "sectionName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Hotel Property",
"attrName": "propertyName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Market Code",
"attrName": "marketCodeName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Segment",
"attrName": "segmentName",
"dataType": "String",
"columnWidth":20
}
]
}]
}]
}
@@ -0,0 +1,81 @@
{
"exportName":"EXPORT_OWS_LOG",
"exportPages":[{
"sheetIndx": 0,
"sheetName":"Operation Log",
"dataElements": [{
"blockName":"masterData",
"offsetRow": 0,
"offsetCol": 0,
"elementType":2,
"isShowHeader":true,
"headerAlign":"center",
"headerColor":"#f5ebd9",
"headerTextColor":"#000000",
"textAlign":"left",
"textColor":"#000000",
"objClassName": "com.mgm.mcrm.logging.dtos.SysLogOwsDto",
"columnDefs": [{
"columnHeader":"Service",
"attrName": "service",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Action",
"attrName": "action",
"dataType": "String",
"columnWidth":50
},
{
"columnHeader":"Request URL",
"attrName": "urlAction",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Execute Time(ms)",
"attrName": "execute_time_ms",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Success",
"attrName": "tagSuccess",
"dataType": "String",
"columnWidth":10
},
{
"columnHeader":"Requested Time",
"attrName": "createdAt",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Request Data",
"attrName": "requestBody",
"dataType": "String",
"columnWidth":50
},
{
"columnHeader":"Response Data",
"attrName": "responseBody",
"dataType": "String",
"columnWidth":50
},
{
"columnHeader":"Error Code",
"attrName": "errorCode",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Error Message",
"attrName": "errorMessage",
"dataType": "String",
"columnWidth":30
}
]
}]
}]
}
@@ -0,0 +1,63 @@
{
"exportName":"EXPORT_PROPERTY",
"exportPages":[{
"sheetIndx": 0,
"sheetName":"Hotel Property",
"dataElements": [{
"blockName":"masterData",
"offsetRow": 0,
"offsetCol": 0,
"elementType":2,
"isShowHeader":true,
"headerAlign":"center",
"headerColor":"#f5ebd9",
"headerTextColor":"#000000",
"textAlign":"left",
"textColor":"#000000",
"objClassName": "com.mgm.mcrm.basesetting.property.dtos.CfgPropertiesDto",
"columnDefs": [{
"columnHeader":"Property Name",
"attrName": "name",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Email Name",
"attrName": "emailName",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Property Code",
"attrName": "code",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Category",
"attrName": "category",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Sort Order",
"attrName": "sortOrder",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Created Time",
"attrName": "createdAt",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Updated Time",
"attrName": "updatedAt",
"dataType": "String",
"columnWidth":30
}
]
}]
}]
}
@@ -0,0 +1,98 @@
{
"exportName":"EXPORT_ROOM_CRITERIA",
"exportPages":[{
"sheetIndx": 0,
"sheetName":"Room Allotment",
"dataElements": [{
"blockName":"masterData",
"offsetRow": 0,
"offsetCol": 0,
"elementType":2,
"isShowHeader":true,
"headerRowNum":2,
"headerAlign":"center",
"headerColor":"#f5ebd9",
"headerTextColor":"#000000",
"textAlign":"left",
"textColor":"#000000",
"objClassName": "com.mgm.mcrm.allotment.dtos.response.CfgRoomCriteriaViewDto",
"columnDefs": [{
"columnHeader":"Property",
"attrName": "propertyName",
"dataType": "String",
"headerRowIdx":1,
"columnWidth":20
},
{
"columnHeader":"Date",
"attrName": "bookDateText",
"dataType": "String",
"headerRowIdx":1,
"columnWidth":20
},
{
"columnHeader":"DOW",
"attrName": "bookWeekDay",
"dataType": "String",
"headerRowIdx":1,
"columnWidth":20
},
{
"columnHeader":"Room Group",
"attrName": "roomCategory",
"dataType": "String",
"headerRowIdx":1,
"columnWidth":20
},
{
"columnHeader":"Room Type",
"attrName": "roomTypeNames",
"dataType": "String",
"headerRowIdx":1,
"columnWidth":40
},
{
"columnHeader":"App Channel",
"groupName":"CHANNEL_GROUP",
"attrName": "channelList",
"groupKeyAttrName":"blockId",
"dataType": "com.mgm.mcrm.allotment.models.CfgAppChannel",
"headerRowIdx":0,
"columnWidth":20,
"groupColumns":[
{
"columnHeader":"",
"headerAttrName":"blockName",
"attrName": "appChannel",
"dataType": "Integer",
"formatVal":"0",
"headerRowIdx":-1,
"columnWidth":20
}
]
},
{
"columnHeader":"Rate",
"attrName": "rate",
"dataType": "String",
"headerRowIdx":1,
"columnWidth":20
},
{
"columnHeader":"Sharer",
"attrName": "sharerValue",
"dataType": "String",
"headerRowIdx":1,
"columnWidth":20
},
{
"columnHeader":"Waitlist",
"attrName": "waitListValue",
"dataType": "String",
"headerRowIdx":1,
"columnWidth":20
}
]
}]
}]
}
@@ -0,0 +1,98 @@
{
"exportName":"EXPORT_ROOM_CRITERIA_DAYLIGHT",
"exportPages":[{
"sheetIndx": 0,
"sheetName":"Room Allotment",
"dataElements": [{
"blockName":"masterData",
"offsetRow": 0,
"offsetCol": 0,
"elementType":2,
"isShowHeader":true,
"headerRowNum":2,
"headerAlign":"center",
"headerColor":"#f5ebd9",
"headerTextColor":"#000000",
"textAlign":"left",
"textColor":"#000000",
"objClassName": "com.mgm.mcrm.allotment.dtos.CfgRoomCriteriasDaylightViewDto",
"columnDefs": [{
"columnHeader":"Property",
"attrName": "propertyName",
"dataType": "String",
"headerRowIdx":1,
"columnWidth":20
},
{
"columnHeader":"Date",
"attrName": "bookDateText",
"dataType": "String",
"headerRowIdx":1,
"columnWidth":20
},
{
"columnHeader":"DOW",
"attrName": "bookWeekDay",
"dataType": "String",
"headerRowIdx":1,
"columnWidth":20
},
{
"columnHeader":"Room Group",
"attrName": "roomCategory",
"dataType": "String",
"headerRowIdx":1,
"columnWidth":20
},
{
"columnHeader":"Room Type",
"attrName": "roomTypeNames",
"dataType": "String",
"headerRowIdx":1,
"columnWidth":40
},
{
"columnHeader":"App Channel",
"groupName":"CHANNEL_GROUP",
"attrName": "channelList",
"groupKeyAttrName":"blockCodeId",
"dataType": "com.mgm.mcrm.allotment.models.CfgAppChannelDaylight",
"headerRowIdx":0,
"columnWidth":20,
"groupColumns":[
{
"columnHeader":"",
"headerAttrName":"blockName",
"attrName": "channelTotal",
"dataType": "Integer",
"formatVal":"0",
"headerRowIdx":-1,
"columnWidth":20
}
]
},
{
"columnHeader":"Rate",
"attrName": "rate",
"dataType": "String",
"headerRowIdx":1,
"columnWidth":20
},
{
"columnHeader":"Sharer",
"attrName": "sharerValue",
"dataType": "String",
"headerRowIdx":1,
"columnWidth":20
},
{
"columnHeader":"Waitlist",
"attrName": "waitListValue",
"dataType": "String",
"headerRowIdx":1,
"columnWidth":20
}
]
}]
}]
}
@@ -0,0 +1,87 @@
{
"exportName":"EXPORT_ROOM_SETTING",
"exportPages":[{
"sheetIndx": 0,
"sheetName":"Room Setting",
"dataElements": [{
"blockName":"masterData",
"offsetRow": 0,
"offsetCol": 0,
"elementType":2,
"isShowHeader":true,
"headerAlign":"center",
"headerColor":"#f5ebd9",
"headerTextColor":"#000000",
"textAlign":"left",
"textColor":"#000000",
"objClassName": "com.mgm.mcrm.basesetting.room.dtos.CfgRoomsDto",
"columnDefs": [{
"columnHeader":"Property",
"attrName": "propertyName",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Room Category",
"attrName": "roomCategory",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Room",
"attrName": "name",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Room(Chinese)",
"attrName": "nameCN",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Email Name",
"attrName": "emailName",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"For Create Booking",
"attrName": "forCreateBookingValue",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"For Create Waitlist",
"attrName": "forCreateWaitlistValue",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Sharer",
"attrName": "sharerLimit",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Room Type",
"attrName": "roomTypeNames",
"dataType": "String",
"columnWidth":60
},
{
"columnHeader":"Created Time",
"attrName": "createdAt",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Updated Time",
"attrName": "updatedAt",
"dataType": "String",
"columnWidth":30
}
]
}]
}]
}
@@ -0,0 +1,45 @@
{
"exportName":"EXPORT_ROOM_TYPE",
"exportPages":[{
"sheetIndx": 0,
"sheetName":"Room Type",
"dataElements": [{
"blockName":"masterData",
"offsetRow": 0,
"offsetCol": 0,
"elementType":2,
"isShowHeader":true,
"headerAlign":"center",
"headerColor":"#f5ebd9",
"headerTextColor":"#000000",
"textAlign":"left",
"textColor":"#000000",
"objClassName": "com.mgm.mcrm.basesetting.room.dtos.CfgRoomTypesDto",
"columnDefs": [{
"columnHeader":"Code",
"attrName": "code",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Room Type(Chinese)",
"attrName": "nameCN",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Created Time",
"attrName": "createdAt",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Updated Time",
"attrName": "updatedAt",
"dataType": "String",
"columnWidth":30
}
]
}]
}]
}
@@ -0,0 +1,39 @@
{
"exportName":"EXPORT_SECTION",
"exportPages":[{
"sheetIndx": 0,
"sheetName":"Section",
"dataElements": [{
"blockName":"masterData",
"offsetRow": 0,
"offsetCol": 0,
"elementType":2,
"isShowHeader":true,
"headerAlign":"center",
"headerColor":"#f5ebd9",
"headerTextColor":"#000000",
"textAlign":"left",
"textColor":"#000000",
"objClassName": "com.mgm.mcrm.basesetting.team.dtos.CfgSectionsDto",
"columnDefs": [{
"columnHeader":"Section Name",
"attrName": "name",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Created Time",
"attrName": "createdAt",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Updated Time",
"attrName": "updatedAt",
"dataType": "String",
"columnWidth":30
}
]
}]
}]
}
@@ -0,0 +1,51 @@
{
"exportName":"EXPORT_TEAM_STRUCTURE",
"exportPages":[{
"sheetIndx": 0,
"sheetName":"Team Structure",
"dataElements": [{
"blockName":"masterData",
"offsetRow": 0,
"offsetCol": 0,
"elementType":2,
"isShowHeader":true,
"headerAlign":"center",
"headerColor":"#f5ebd9",
"headerTextColor":"#000000",
"textAlign":"left",
"textColor":"#000000",
"objClassName": "com.mgm.mcrm.basesetting.team.dtos.CfgTeamStructureViewDto",
"columnDefs": [{
"columnHeader":"Division",
"attrName": "divisionName",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Department",
"attrName": "departmentName",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Section",
"attrName": "sectionName",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Created Time",
"attrName": "createdAt",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Updated Time",
"attrName": "updatedAt",
"dataType": "String",
"columnWidth":30
}
]
}]
}]
}
@@ -0,0 +1,124 @@
{
"exportName":"EXPORT_USER_ROOM_MAPPING",
"exportPages":[{
"sheetIndx": 0,
"sheetName":"User-Room Mapping",
"dataElements": [{
"blockName":"masterData",
"offsetRow": 0,
"offsetCol": 0,
"elementType":2,
"isShowHeader":true,
"headerAlign":"center",
"headerColor":"#f5ebd9",
"headerTextColor":"#000000",
"textAlign":"left",
"textColor":"#000000",
"objClassName": "com.mgm.mcrm.basesetting.daylight.models.CfgDaylightView",
"columnDefs": [
{
"columnHeader":"Booking Type",
"attrName": "bookingTypeName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Section",
"attrName": "sectionName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Hotel Property",
"attrName": "propertyName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Block Code",
"attrName": "blockCodeName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Rate Code",
"attrName": "rateCodeName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Room Type",
"attrName": "roomTypeNames",
"dataType": "String",
"columnWidth":40
},
{
"columnHeader":"Source Code",
"attrName": "sourceCodeName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Market Code",
"attrName": "marketCodeName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Approver",
"attrName": "approver",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Room Category",
"attrName": "compRuleCategory",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Complimentary Type",
"attrName": "compTypeContent",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Complimentary Type Id",
"attrName": "dlCompTypeId",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Payment Method Code",
"attrName": "paymentMethodCodeContent",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Payment Method Code Id",
"attrName": "dlPaymentMethodCodeId",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Complimentary Preset",
"attrName": "compPresetContent",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Complimentary Preset Id",
"attrName": "compPresetId",
"dataType": "String",
"columnWidth":30
},
{
"columnHeader":"Soft Limit",
"attrName": "softLimit",
"dataType": "String",
"columnWidth":30
}
]
}]
}]
}
@@ -0,0 +1,161 @@
{
"exportName":"EXPORT_WAITLIST",
"exportPages":[{
"sheetIndx": 0,
"sheetName":"Waitlist Booking",
"dataElements": [{
"blockName":"masterData",
"offsetRow": 0,
"offsetCol": 0,
"elementType":2,
"isShowHeader":true,
"headerAlign":"center",
"headerColor":"#f5ebd9",
"headerTextColor":"#000000",
"textAlign":"left",
"textColor":"#000000",
"objClassName": "com.mgm.mcrm.reservation.models.BookingsView",
"columnDefs": [
{
"columnHeader":"Waitlist Status",
"attrName": "approveStatusName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Request Date Time",
"attrName": "createdAt",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Conf#",
"attrName": "confirmationNo",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Patron ID",
"attrName": "playerId",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Player Name",
"attrName": "memberFullName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Tier",
"attrName": "tier",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Property",
"attrName": "propertyName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Room Catagory",
"attrName": "room",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Room Type",
"attrName": "roomTypeCode",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Type",
"attrName": "bookTypeName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Check in Date",
"attrName": "checkinDate",
"dataType": "String",
"columnWidth":40
},
{
"columnHeader":"Check Out Date",
"attrName": "checkoutDate",
"dataType": "String",
"columnWidth":40
},
{
"columnHeader":"Booker Team",
"attrName": "bookerTeam",
"dataType": "String",
"columnWidth":40
},
{
"columnHeader":"Booker ID",
"attrName": "createdBy",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Booker Name",
"attrName": "booker",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Sharer",
"attrName": "sharer",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Sharer Name",
"attrName": "sharerName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Remarks",
"attrName": "remark",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Approval Remark",
"attrName": "mscRemark",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Approver ID",
"attrName": "approvedId",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Approver",
"attrName": "approvedBy",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Approved Date",
"attrName": "approvedAt",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Waitlist ID",
"attrName": "id",
"dataType": "String",
"columnWidth":20
}
]
}]
}]
}
@@ -0,0 +1,64 @@
{
"exportName":"EXPORT_WAITLIST_CRITERIA",
"exportPages":[{
"sheetIndx": 0,
"sheetName":"Waitlist Allotment",
"dataElements": [{
"blockName":"masterData",
"offsetRow": 0,
"offsetCol": 0,
"elementType":2,
"isShowHeader":true,
"headerRowNum":2,
"headerAlign":"center",
"headerColor":"#f5ebd9",
"headerTextColor":"#000000",
"textAlign":"left",
"textColor":"#000000",
"objClassName": "will.model.app.CfgRoomCriteriasView",
"columnDefs": [{
"columnHeader":"Property",
"attrName": "propertyName",
"dataType": "String",
"headerRowIdx":1,
"columnWidth":20
},
{
"columnHeader":"Date",
"attrName": "bookDateText",
"dataType": "String",
"headerRowIdx":1,
"columnWidth":20
},
{
"columnHeader":"DOW",
"attrName": "bookWeekDay",
"dataType": "String",
"headerRowIdx":1,
"columnWidth":20
},
{
"columnHeader":"Room Group",
"attrName": "roomCategory",
"dataType": "String",
"headerRowIdx":1,
"columnWidth":20
},
{
"columnHeader":"Room Type",
"attrName": "roomTypeNames",
"dataType": "String",
"headerRowIdx":1,
"columnWidth":40
},
{
"columnHeader":"Waitlist",
"attrName": "waitListValue",
"dataType": "String",
"headerRowIdx":1,
"columnWidth":20
}
]
}]
}]
}
@@ -0,0 +1,256 @@
{
"exportName":"EXPORT_WAITLIST_GAMING",
"exportPages":[{
"sheetIndx": 0,
"sheetName":"Waitlist Booking",
"dataElements": [{
"blockName":"masterData",
"offsetRow": 0,
"offsetCol": 0,
"elementType":2,
"isShowHeader":true,
"headerAlign":"center",
"headerColor":"#f5ebd9",
"headerTextColor":"#000000",
"textAlign":"left",
"textColor":"#000000",
"objClassName": "com.mgm.mcrm.reservation.models.BookingsView",
"columnDefs": [
{
"columnHeader":"Waitlist Status",
"attrName": "approveStatusName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Request Date Time",
"attrName": "createdAt",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Conf#",
"attrName": "confirmationNo",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Patron ID",
"attrName": "playerId",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Player Name",
"attrName": "memberFullName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Tier",
"attrName": "tier",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Property",
"attrName": "propertyName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Room Catagory",
"attrName": "room",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Room Type",
"attrName": "roomTypeCode",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Type",
"attrName": "bookTypeName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Check in Date",
"attrName": "checkinDate",
"dataType": "String",
"columnWidth":40
},
{
"columnHeader":"Check Out Date",
"attrName": "checkoutDate",
"dataType": "String",
"columnWidth":40
},
{
"columnHeader":"Continuous / Overlap Booking(C/I to C/O)",
"attrName": "overlapBooking",
"dataType": "String",
"columnWidth":40
},
{
"columnHeader":"Booker Team",
"attrName": "bookerTeam",
"dataType": "String",
"columnWidth":40
},
{
"columnHeader":"Booker ID",
"attrName": "createdBy",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Booker Name",
"attrName": "booker",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"MA Booking",
"attrName": "maBooking",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Sharer",
"attrName": "sharer",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Sharer Name",
"attrName": "sharerName",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Remarks",
"attrName": "remark",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Current Trip Theo Win Amount",
"attrName": "currentTripTheoWinAmount",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Last Two Days Theo Win Amount",
"attrName": "last2dayTheoWinAmount",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"R3TheoWin",
"attrName": "r3TheoWin",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"R3Tpd",
"attrName": "r3Tpd",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"R3ActualWin",
"attrName": "r3ActualWin",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"R6TheoWin",
"attrName": "r6TheoWin",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"R6Tpd",
"attrName": "r6Tpd",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"R6ActualWin",
"attrName": "r6ActualWin",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"R12TheoWin",
"attrName": "r12TheoWin",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"R12Tpd",
"attrName": "r12Tpd",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"R12ActualWin",
"attrName": "r12ActualWin",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Final Segment Predom",
"attrName": "finalSegment",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Player Type",
"attrName": "playerType",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Ranking By Player Evaluation",
"attrName": "rankingByPlayer",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Approval Remark",
"attrName": "mscRemark",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Approver ID",
"attrName": "approvedId",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Approver",
"attrName": "approvedBy",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Approved Date",
"attrName": "approvedAt",
"dataType": "String",
"columnWidth":20
},
{
"columnHeader":"Waitlist ID",
"attrName": "id",
"dataType": "String",
"columnWidth":20
}
]
}]
}]
}
@@ -0,0 +1,40 @@
{
"importName": "IMPORT_BED_TYPE_MAPPING",
"importPages": [{
"sheetIndx": 0,
"dataElements": [{
"offsetRow": 1,
"offsetCol": 0,
"objClassName": "com.mgm.mcrm.common.dtos.dataimport.appsetting.BedTypeMappingImportRow",
"columnDefs": [{
"columnHeader":"Property",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "propertyName",
"dataType": "String"
},
{
"columnHeader":"Room",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "roomName",
"dataType": "String"
},
{
"columnHeader":"Room Type",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "roomTypeNames",
"dataType": "String"
},
{
"columnHeader":"Bed Type",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "bedTypeName",
"dataType": "String"
}
]
}]
}]
}
@@ -0,0 +1,19 @@
{
"importName": "IMPORT_DEPARTMENT",
"importPages": [{
"sheetIndx": 0,
"dataElements": [{
"offsetRow": 1,
"offsetCol": 0,
"objClassName": "com.mgm.mcrm.common.dtos.dataimport.appsetting.DepartmentImportRow",
"columnDefs": [{
"columnHeader":"Department Name",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "name",
"dataType": "String"
}
]
}]
}]
}
@@ -0,0 +1,24 @@
{
"importName": "IMPORT_DIVISION",
"importPages": [
{
"sheetIndx": 0,
"dataElements": [
{
"offsetRow": 1,
"offsetCol": 0,
"objClassName": "com.mgm.mcrm.common.dtos.dataimport.appsetting.DivisionImportRow",
"columnDefs": [
{
"columnHeader": "Division Name",
"checkHeader": true,
"headerRowIdx": 0,
"attrName": "name",
"dataType": "String"
}
]
}
]
}
]
}
@@ -0,0 +1,69 @@
{
"importName": "IMPORT_EXCEPTION_OPERA",
"importPages": [{
"sheetIndx": 0,
"dataElements": [{
"offsetRow": 1,
"offsetCol": 0,
"objClassName": "com.mgm.mcrm.common.dtos.dataimport.appsetting.ExceptionOperaImportRow",
"columnDefs": [
{
"columnHeader":"User ID",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "userId",
"dataType": "String"
},
{
"columnHeader":"Booking Type",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "bookingTypeName",
"dataType": "String"
},
{
"columnHeader":"Hotel Property",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "propertyName",
"dataType": "String"
},
{
"columnHeader":"Block Code",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "blockCodeName",
"dataType": "String"
},
{
"columnHeader":"Rate Code",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "rateCodeName",
"dataType": "String"
},
{
"columnHeader":"Room Type",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "roomTypeNames",
"dataType": "String"
},
{
"columnHeader":"Source Code",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "sourceCodeName",
"dataType": "String"
},
{
"columnHeader":"Market Code",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "marketCodeName",
"dataType": "String"
}
]
}]
}]
}
@@ -0,0 +1,59 @@
{
"importName": "IMPORT_ITEM_INVENTORY",
"importPages": [
{
"sheetIndx": 0,
"dataElements": [
{
"offsetRow": 1,
"offsetCol": 0,
"objClassName": "com.mgm.mcrm.common.dtos.dataimport.appsetting.ItemInventoryImportRow",
"columnDefs": [
{
"columnHeader": "Opera Tier",
"attrName": "operaTierId",
"dataType": "String",
"columnWidth": 30
},
{
"columnHeader": "IGT Tier ID",
"attrName": "igtTierId",
"dataType": "String",
"columnWidth": 30
},
{
"columnHeader": "IGT Tier Name",
"attrName": "igtTierName",
"dataType": "String",
"columnWidth": 30
},
{
"columnHeader": "Property",
"attrName": "propertyName",
"dataType": "String",
"columnWidth": 30
},
{
"columnHeader": "Room",
"attrName": "roomName",
"dataType": "String",
"columnWidth": 30
},
{
"columnHeader": "Amenity Package Code",
"attrName": "amenityPackageCode",
"dataType": "String",
"columnWidth": 50
},
{
"columnHeader": "Category",
"attrName": "category",
"dataType": "String",
"columnWidth": 50
}
]
}
]
}
]
}
@@ -0,0 +1,65 @@
{
"importName": "IMPORT_ITEM_INVENTORY_DAYLIGHT",
"importPages": [
{
"sheetIndx": 0,
"dataElements": [
{
"offsetRow": 1,
"offsetCol": 0,
"objClassName": "com.mgm.mcrm.common.dtos.dataimport.appsetting.ItemInventoryDaylightImportRow",
"columnDefs": [
{
"columnHeader": "Tier Code",
"attrName": "daylightTier",
"dataType": "String",
"columnWidth": 30
},
{
"columnHeader": "IGT Tier ID",
"attrName": "igtTierId",
"dataType": "String",
"columnWidth": 30
},
{
"columnHeader": "IGT Tier Name",
"attrName": "igtTierName",
"dataType": "String",
"columnWidth": 30
},
{
"columnHeader": "Property",
"attrName": "propertyName",
"dataType": "String",
"columnWidth": 30
},
{
"columnHeader": "Room",
"attrName": "roomName",
"dataType": "String",
"columnWidth": 30
},
{
"columnHeader": "Purchase Element",
"attrName": "dlCode",
"dataType": "String",
"columnWidth": 50
},
{
"columnHeader": "Category",
"attrName": "category",
"dataType": "String",
"columnWidth": 50
},
{
"columnHeader": "Daylight Purchase Element Id",
"attrName": "dlPurchaseElementId",
"dataType": "String",
"columnWidth": 50
}
]
}
]
}
]
}
@@ -0,0 +1,83 @@
{
"importName": "IMPORT_OPERA_MAPPING",
"importPages": [{
"sheetIndx": 0,
"dataElements": [{
"offsetRow": 1,
"offsetCol": 0,
"objClassName": "com.mgm.mcrm.common.dtos.dataimport.appsetting.OperaMappingImportRow",
"columnDefs": [
{
"columnHeader":"Booking Type",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "bookingTypeName",
"dataType": "String"
},
{
"columnHeader":"User Division",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "divisionName",
"dataType": "String"
},
{
"columnHeader":"Department",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "departmentName",
"dataType": "String"
},
{
"columnHeader":"Section",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "sectionName",
"dataType": "String"
},
{
"columnHeader":"Hotel Property",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "propertyName",
"dataType": "String"
},
{
"columnHeader":"Block Code",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "blockCodeName",
"dataType": "String"
},
{
"columnHeader":"Rate Code",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "rateCodeName",
"dataType": "String"
},
{
"columnHeader":"Room Type",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "roomTypeNames",
"dataType": "String"
},
{
"columnHeader":"Source Code",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "sourceCodeName",
"dataType": "String"
},
{
"columnHeader":"Market Code",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "marketCodeName",
"dataType": "String"
}
]
}]
}]
}
@@ -0,0 +1,94 @@
{
"importName": "IMPORT_OTHER_ALLOTMENT",
"importPages": [{
"sheetIndx": 0,
"dataElements": [{
"offsetRow": 2,
"offsetCol": 0,
"objClassName": "com.mgm.mcrm.common.dtos.dataimport.appsetting.OtherAllotmentImportRow",
"columnDefs": [{
"columnHeader":"Property",
"attrName": "propertyName",
"checkHeader":true,
"headerRowIdx":1,
"dataType": "String"
},
{
"columnHeader":"Date",
"attrName": "bookDateText",
"checkHeader":true,
"headerRowIdx":1,
"dataType": "String"
},
{
"columnHeader":"DOW",
"attrName": "bookWeekDay",
"checkHeader":true,
"headerRowIdx":1,
"dataType": "String"
},
{
"columnHeader":"Room Group",
"attrName": "roomCategory",
"checkHeader":true,
"headerRowIdx":1,
"dataType": "String"
},
{
"columnHeader":"Room Type",
"attrName": "roomTypeNames",
"checkHeader":true,
"headerRowIdx":1,
"dataType": "String"
},
{
"columnHeader":"Total Allotment",
"attrName": "",
"checkHeader":false,
"headerRowIdx":1,
"dataType": "String"
},
{
"columnHeader":"App Channel",
"checkHeader":false,
"groupName":"CHANNEL_GROUP",
"attrName": "channelList",
"groupKeyAttrName":"segmentName",
"dataType": "com.mgm.mcrm.common.dtos.dataimport.appsetting.OtherAppChannelImportRow",
"headerRowIdx":0,
"columnWidth":20,
"groupColumns":[
{
"columnHeader":"",
"attrName": "appChannelVal",
"dataType": "String",
"headerRowIdx":1,
"columnWidth":20
}
]
},
{
"columnHeader":"Rate",
"attrName": "rateValue",
"checkHeader":true,
"headerRowIdx":1,
"dataType": "String"
},
{
"columnHeader":"Sharer",
"attrName": "sharerValue",
"checkHeader":true,
"headerRowIdx":1,
"dataType": "String"
},
{
"columnHeader":"Waitlist",
"attrName": "waitListValue",
"checkHeader":true,
"headerRowIdx":1,
"dataType": "String"
}
]
}]
}]
}
@@ -0,0 +1,132 @@
{
"importName": "IMPORT_OTHER_BOOKING",
"importPages": [{
"sheetIndx": 0,
"dataElements": [{
"offsetRow": 1,
"offsetCol": 0,
"objClassName": "com.mgm.mcrm.common.dtos.dataimport.booking.OtherBookingImportRow",
"columnDefs": [
{
"columnHeader":"Staff Action",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "otherFollowUpStatusName",
"dataType": "String"
},
{
"columnHeader":"Room Status",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "otherRoomStatusName",
"dataType": "String"
},
{
"columnHeader":"Property",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "propertyName",
"dataType": "String"
},
{
"columnHeader":"Room Type",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "roomName",
"dataType": "String"
},
{
"columnHeader":"Market Code",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "marketCodeName",
"dataType": "String"
},
{
"columnHeader":"Booking Type",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "bookingTypeName",
"dataType": "String"
},
{
"columnHeader":"Segment",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "segmentName",
"dataType": "String"
},
{
"columnHeader":"Check In Date",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "checkinDate",
"dataType": "String"
},
{
"columnHeader":"Check Out Date",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "checkoutDate",
"dataType": "String"
},
{
"columnHeader":"Player Id",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "playerId",
"dataType": "String"
},
{
"columnHeader":"Booker Id",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "bookerId",
"dataType": "String"
},
{
"columnHeader":"Approver Id",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "approverId",
"dataType": "String"
},
{
"columnHeader":"Sharer",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "sharer",
"dataType": "String"
},
{
"columnHeader":"Remark",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "remark",
"dataType": "String"
},
{
"columnHeader":"Confirmation No",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "confirmationNo",
"dataType": "String"
},
{
"columnHeader":"Player Name",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "playerName",
"dataType": "String"
},
{
"columnHeader":"Source Code",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "sourceCodeName",
"dataType": "String"
}
]
}]
}]
}
@@ -0,0 +1,62 @@
{
"importName": "IMPORT_OTHER_USER_MAPPING",
"importPages": [{
"sheetIndx": 0,
"dataElements": [{
"offsetRow": 1,
"offsetCol": 0,
"objClassName": "com.mgm.mcrm.common.dtos.dataimport.appsetting.OtherUserMappingImportRow",
"columnDefs": [
{
"columnHeader":"Booking Type",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "bookingTypeName",
"dataType": "String"
},
{
"columnHeader":"User Division",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "divisionName",
"dataType": "String"
},
{
"columnHeader":"Department",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "departmentName",
"dataType": "String"
},
{
"columnHeader":"Section",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "sectionName",
"dataType": "String"
},
{
"columnHeader":"Hotel Property",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "propertyName",
"dataType": "String"
},
{
"columnHeader":"Market Code",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "marketCodeName",
"dataType": "String"
},
{
"columnHeader":"Segment",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "segmentName",
"dataType": "String"
}
]
}]
}]
}
@@ -0,0 +1,54 @@
{
"importName": "IMPORT_PROPERTY",
"importPages": [{
"sheetIndx": 0,
"dataElements": [{
"offsetRow": 1,
"offsetCol": 0,
"objClassName": "com.mgm.mcrm.common.dtos.dataimport.appsetting.PropertyImportRow",
"columnDefs": [{
"columnHeader":"Property Name",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "name",
"dataType": "String"
},
{
"columnHeader":"Email Name",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "emailName",
"dataType": "String"
},
{
"columnHeader":"Hotel Code",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "hotelCode",
"dataType": "String"
},
{
"columnHeader":"Property Code",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "code",
"dataType": "String"
},
{
"columnHeader":"Category",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "category",
"dataType": "String"
},
{
"columnHeader":"Sort Order",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "sortOrderVal",
"dataType": "String"
}
]
}]
}]
}
@@ -0,0 +1,87 @@
{
"importName": "IMPORT_ROOM_CRITERIA",
"importPages": [{
"sheetIndx": 0,
"dataElements": [{
"offsetRow": 2,
"offsetCol": 0,
"objClassName": "com.mgm.mcrm.common.dtos.dataimport.appsetting.RoomCriteriaImportRow",
"columnDefs": [{
"columnHeader":"Property",
"attrName": "propertyName",
"checkHeader":true,
"headerRowIdx":1,
"dataType": "String"
},
{
"columnHeader":"Date",
"attrName": "bookDateText",
"checkHeader":true,
"headerRowIdx":1,
"dataType": "String"
},
{
"columnHeader":"DOW",
"attrName": "bookWeekDay",
"checkHeader":true,
"headerRowIdx":1,
"dataType": "String"
},
{
"columnHeader":"Room Group",
"attrName": "roomCategory",
"checkHeader":true,
"headerRowIdx":1,
"dataType": "String"
},
{
"columnHeader":"Room Type",
"attrName": "roomTypeNames",
"checkHeader":true,
"headerRowIdx":1,
"dataType": "String"
},
{
"columnHeader":"App Channel",
"checkHeader":false,
"groupName":"CHANNEL_GROUP",
"attrName": "channelList",
"groupKeyAttrName":"blockName",
"dataType": "com.mgm.mcrm.common.dtos.dataimport.appsetting.AppChannelImportRow",
"headerRowIdx":0,
"columnWidth":20,
"groupColumns":[
{
"columnHeader":"",
"attrName": "appChannelVal",
"dataType": "String",
"headerRowIdx":1,
"columnWidth":20
}
]
},
{
"columnHeader":"Rate",
"attrName": "rateValue",
"checkHeader":true,
"headerRowIdx":1,
"dataType": "String"
},
{
"columnHeader":"Sharer",
"attrName": "sharerValue",
"checkHeader":true,
"headerRowIdx":1,
"dataType": "String"
},
{
"columnHeader":"Waitlist",
"attrName": "waitListValue",
"checkHeader":true,
"headerRowIdx":1,
"dataType": "String"
}
]
}]
}]
}
@@ -0,0 +1,75 @@
{
"importName": "IMPORT_ROOM_SETTING",
"importPages": [{
"sheetIndx": 0,
"dataElements": [{
"offsetRow": 1,
"offsetCol": 0,
"objClassName": "com.mgm.mcrm.common.dtos.dataimport.appsetting.RoomSettingImportRow",
"columnDefs": [{
"columnHeader":"Property",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "propertyName",
"dataType": "String"
},
{
"columnHeader":"Room Category",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "roomCategory",
"dataType": "String"
},
{
"columnHeader":"Room",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "name",
"dataType": "String"
},
{
"columnHeader":"Room(Chinese)",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "nameCN",
"dataType": "String"
},
{
"columnHeader":"Email Name",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "emailName",
"dataType": "String"
},
{
"columnHeader":"For Create Booking",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "forCreateBooking",
"dataType": "String"
},
{
"columnHeader":"For Create Waitlist",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "forCreateWaitlist",
"dataType": "String"
},
{
"columnHeader":"Sharer",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "sharerLimit",
"dataType": "String"
},
{
"columnHeader":"Room Type",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "roomTypeNames",
"dataType": "String"
}
]
}]
}]
}
@@ -0,0 +1,26 @@
{
"importName": "IMPORT_ROOM_TYPE",
"importPages": [{
"sheetIndx": 0,
"dataElements": [{
"offsetRow": 1,
"offsetCol": 0,
"objClassName": "com.mgm.mcrm.common.dtos.dataimport.appsetting.RoomTypeImportRow",
"columnDefs": [{
"columnHeader":"Room Type",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "name",
"dataType": "String"
},
{
"columnHeader":"Room Type(Chinese)",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "nameCN",
"dataType": "String"
}
]
}]
}]
}
@@ -0,0 +1,19 @@
{
"importName": "IMPORT_SECTION",
"importPages": [{
"sheetIndx": 0,
"dataElements": [{
"offsetRow": 1,
"offsetCol": 0,
"objClassName": "com.mgm.mcrm.common.dtos.dataimport.appsetting.SectionImportRow",
"columnDefs": [{
"columnHeader":"Section Name",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "name",
"dataType": "String"
}
]
}]
}]
}
@@ -0,0 +1,33 @@
{
"importName": "IMPORT_TEAM_STRUCTURE",
"importPages": [{
"sheetIndx": 0,
"dataElements": [{
"offsetRow": 1,
"offsetCol": 0,
"objClassName": "com.mgm.mcrm.common.dtos.dataimport.appsetting.TeamStructureImportRow",
"columnDefs": [{
"columnHeader":"Division",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "divisionName",
"dataType": "String"
},
{
"columnHeader":"Department",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "departmentName",
"dataType": "String"
},
{
"columnHeader":"Section",
"checkHeader":true,
"headerRowIdx":0,
"attrName": "sectionName",
"dataType": "String"
}
]
}]
}]
}
@@ -0,0 +1,136 @@
{
"importName": "IMPORT_USER_ROOM_MAPPING",
"importPages": [
{
"sheetIndx": 0,
"dataElements": [
{
"offsetRow": 1,
"offsetCol": 0,
"objClassName": "com.mgm.mcrm.common.dtos.dataimport.appsetting.UserRoomMappingImportRow",
"columnDefs": [
{
"columnHeader": "Booking Type",
"checkHeader": true,
"headerRowIdx": 0,
"attrName": "bookingTypeName",
"dataType": "String"
},
{
"columnHeader": "Section",
"checkHeader": true,
"headerRowIdx": 0,
"attrName": "sectionName",
"dataType": "String"
},
{
"columnHeader": "Hotel Property",
"checkHeader": true,
"headerRowIdx": 0,
"attrName": "propertyName",
"dataType": "String"
},
{
"columnHeader": "Block Code",
"checkHeader": true,
"headerRowIdx": 0,
"attrName": "blockCodeName",
"dataType": "String"
},
{
"columnHeader": "Rate Code",
"checkHeader": true,
"headerRowIdx": 0,
"attrName": "rateCodeName",
"dataType": "String"
},
{
"columnHeader": "Room Type",
"checkHeader": true,
"headerRowIdx": 0,
"attrName": "roomTypeNames",
"dataType": "String"
},
{
"columnHeader": "Source Code",
"checkHeader": true,
"headerRowIdx": 0,
"attrName": "sourceCodeName",
"dataType": "String"
},
{
"columnHeader": "Market Code",
"checkHeader": true,
"headerRowIdx": 0,
"attrName": "marketCodeName",
"dataType": "String"
},
{
"columnHeader": "Approver",
"checkHeader": true,
"headerRowIdx": 0,
"attrName": "approver",
"dataType": "String"
},
{
"columnHeader": "Room Category",
"checkHeader": true,
"headerRowIdx": 0,
"attrName": "compRuleCategory",
"dataType": "String"
},
{
"columnHeader": "Complimentary Type",
"checkHeader": true,
"headerRowIdx": 0,
"attrName": "compTypeContent",
"dataType": "String"
},
{
"columnHeader": "Complimentary Type Id",
"checkHeader": true,
"headerRowIdx": 0,
"attrName": "dlCompTypeId",
"dataType": "String"
},
{
"columnHeader": "Payment Method Code",
"checkHeader": true,
"headerRowIdx": 0,
"attrName": "paymentMethodCodeContent",
"dataType": "String"
},
{
"columnHeader": "Payment Method Code Id",
"checkHeader": true,
"headerRowIdx": 0,
"attrName": "dlPaymentMethodCodeId",
"dataType": "String"
},
{
"columnHeader": "Complimentary Preset",
"checkHeader": true,
"headerRowIdx": 0,
"attrName": "compPresetContent",
"dataType": "String"
},
{
"columnHeader": "Complimentary Preset Id",
"checkHeader": true,
"headerRowIdx": 0,
"attrName": "compPresetId",
"dataType": "String"
},
{
"columnHeader": "Soft Limit",
"checkHeader": true,
"headerRowIdx": 0,
"attrName": "softLimit",
"dataType": "String"
}
]
}
]
}
]
}
@@ -0,0 +1,54 @@
{
"importName": "IMPORT_WAITLIST_CRITERIA",
"importPages": [{
"sheetIndx": 0,
"dataElements": [{
"offsetRow": 2,
"offsetCol": 0,
"objClassName": "com.mgm.mcrm.common.dtos.dataimport.appsetting.RoomCriteriaImportRow",
"columnDefs": [{
"columnHeader":"Property",
"attrName": "propertyName",
"checkHeader":true,
"headerRowIdx":1,
"dataType": "String"
},
{
"columnHeader":"Date",
"attrName": "bookDateText",
"checkHeader":true,
"headerRowIdx":1,
"dataType": "String"
},
{
"columnHeader":"DOW",
"attrName": "bookWeekDay",
"checkHeader":true,
"headerRowIdx":1,
"dataType": "String"
},
{
"columnHeader":"Room Group",
"attrName": "roomCategory",
"checkHeader":true,
"headerRowIdx":1,
"dataType": "String"
},
{
"columnHeader":"Room Type",
"attrName": "roomTypeNames",
"checkHeader":true,
"headerRowIdx":1,
"dataType": "String"
},
{
"columnHeader":"Waitlist",
"attrName": "waitListValue",
"checkHeader":true,
"headerRowIdx":1,
"dataType": "String"
}
]
}]
}]
}
+208
View File
@@ -0,0 +1,208 @@
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>will</groupId>
<artifactId>CRMAdminApi</artifactId>
<version>1.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>CRMAdminApi</name>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.5.7</version>
<relativePath />
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>21</java.version>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
<activemq.version>6.3.1</activemq.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-activemq</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents.client5</groupId>
<artifactId>httpclient5</artifactId>
<version>5.5</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>2.0.50</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.18.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.4.1</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.4.1</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
<version>1.14.0</version>
</dependency>
<!-- <dependency>-->
<!-- <groupId>org.springframework.boot</groupId>-->
<!-- <artifactId>spring-boot-devtools</artifactId>-->
<!-- <optional>true</optional>-->
<!-- </dependency> -->
<dependency>
<groupId>com.auth0</groupId>
<artifactId>java-jwt</artifactId>
<version>4.5.0</version>
</dependency>
<dependency>
<groupId>org.jsmpp</groupId>
<artifactId>jsmpp</artifactId>
<version>2.3.11</version>
</dependency>
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.21</version>
</dependency>
<dependency>
<groupId>javax.xml.soap</groupId>
<artifactId>javax.xml.soap-api</artifactId>
<version>1.4.0</version>
</dependency>
<dependency>
<groupId>com.sun.xml.messaging.saaj</groupId>
<artifactId>saaj-impl</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-messaging</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.8.11</version>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
<version>1.6.3</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok-mapstruct-binding</artifactId>
<version>0.2.0</version>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>1.6.3</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<includeSystemScope>true</includeSystemScope>
<mainClass>com.mgm.mcrm.CRMAdminApplication</mainClass>
<!-- <executable>true</executable>-->
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>license-maven-plugin</artifactId>
<version>2.7.0</version>
<configuration>
<excludedLicenses>
<excludedLicense>EPL-1.0</excludedLicense>
<excludedLicense>LGPL-2.1</excludedLicense>
</excludedLicenses>
</configuration>
</plugin>
</plugins>
</build>
<description>CRM CMS Api</description>
</project>
@@ -0,0 +1,26 @@
package com.mgm.mcrm;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.jms.annotation.EnableJms;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@SpringBootApplication
@EntityScan(basePackages="com.mgm.mcrm")
@EnableJpaRepositories(basePackages= "com.mgm.mcrm")
@EnableTransactionManagement
@ServletComponentScan
@EnableScheduling
@EnableAsync
@EnableJms
public class CRMAdminApplication{
public static void main( String[] args ) {
SpringApplication.run(CRMAdminApplication.class, args);
}
}
@@ -0,0 +1,248 @@
package com.mgm.mcrm.admin.controllers;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import com.alibaba.fastjson.JSON;
import com.mgm.mcrm.admin.dtos.PlayerProfile;
import com.mgm.mcrm.admin.dtos.request.LookupPlayerRequest;
import com.mgm.mcrm.admin.dtos.request.LookupUserRequest;
import com.mgm.mcrm.admin.dtos.response.LookupPlayerResponse;
import com.mgm.mcrm.admin.dtos.response.LookupUserResponse;
import com.mgm.mcrm.admin.mappers.PlayerMapper;
import com.mgm.mcrm.admin.mappers.UserMapper;
import com.mgm.mcrm.admin.services.PlayerService;
import com.mgm.mcrm.admin.services.SysSettingService;
import com.mgm.mcrm.common.dtos.ServiceResult;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
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.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import com.mgm.mcrm.common.dtos.AjaxResult;
@Tag(name = "CMS Admin", description = "APIs for CMS Admin functions")
@RestController
@RequestMapping("/crm_api")
public class PlayerController {
@Resource
private PlayerService playerService;
@Resource
private SysSettingService sysSettingService;
@Resource
private PlayerMapper playerMapper;
@Resource
private UserMapper userMapper;
@RequestMapping(value = "/web/user/lookup", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public ResponseEntity<LookupUserResponse> lookupUser(HttpServletRequest request, HttpServletResponse response, @RequestBody LookupUserRequest params) throws Exception {
LookupUserResponse result = new LookupUserResponse();
String userId = params.getUserId();
if (StringUtils.isEmpty(userId)) {
response.sendError(422, "Miss parameter userId");
return null;
}
if(!StringUtils.isEmpty(userId)) {
userId = Strings.CS.replace(userId, "@mgm.mo", "");
}
ServiceResult serviceResult = playerService.findUserInfoByUserId(request,userId);
if(serviceResult.isSuccess()) {
result.setSuccess(true);
result.setData(userMapper.toUserDto(serviceResult.getReturnData()));
}else {
result.setSuccess(false);
result.setMessage(serviceResult.getErrorMessage());
}
return ResponseEntity.status(HttpStatus.OK).body(result);
}
@RequestMapping(value = "/web/player/lookup", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public ResponseEntity<LookupPlayerResponse> lookupPlayer(HttpServletRequest request, HttpServletResponse response,
@RequestBody LookupPlayerRequest params) throws Exception {
LookupPlayerResponse result = new LookupPlayerResponse();
String userId = params.getUserId();
String playerId = params.getPlayerId();
if (StringUtils.isEmpty(playerId)) {
response.sendError(422, "Miss parameter playerId");
return null;
}
if(!StringUtils.isEmpty(userId)) {
userId = Strings.CS.replace(userId, "@mgm.mo", "");
}
ServiceResult serviceResult = new ServiceResult();
serviceResult = playerService.findPlayerInfoByPlayerId(request,userId,playerId);
if(serviceResult.isSuccess()) {
result.setSuccess(true);
Object returnData = serviceResult.getReturnData();
String jsonString = JSON.toJSONString(returnData);
result.setData(playerMapper.toPlayerDto(JSON.parseObject(jsonString, PlayerProfile.class)));
}else {
result.setSuccess(false);
result.setMessage(serviceResult.getErrorMessage());
}
//--
return ResponseEntity.status(HttpStatus.OK).body(result);
}
@RequestMapping(value = "/web/user/check_approver", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public AjaxResult checkApprover(HttpServletRequest request, HttpServletResponse response,
@RequestBody Map<String,String> params) throws Exception {
boolean isSuccess = false;
String processMessage="";
String errorCode="";
AjaxResult processResult = new AjaxResult();
String userId = params.get("userId");
String userName = params.get("userName");
String roomType = params.get("roomType");
String property = params.get("property");
if (StringUtils.isEmpty(userId)||StringUtils.isEmpty(roomType)||StringUtils.isEmpty(property)) {
response.sendError(422, "Miss parameter");
return null;
}
if(!StringUtils.isEmpty(userId)) {
userId = Strings.CS.replace(userId, "@mgm.mo", "");
}
ServiceResult serviceResult = playerService.checkApprover(request,userId,userName,roomType,property);
if(serviceResult.isSuccess()) {
processResult.setSuccess(true);
processResult.setData(serviceResult.getReturnData());
}else {
processResult.setSuccess(false);
processResult.setMessage(serviceResult.getErrorMessage());
}
//--
return processResult;
}
@RequestMapping(value = "/web/user/lookup_name", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public AjaxResult findUserInfoByUserName(HttpServletRequest request, HttpServletResponse response,
@RequestBody Map<String,String> params) throws Exception {
boolean isSuccess = false;
String processMessage="";
String errorCode="";
AjaxResult processResult = new AjaxResult();
String userName = params.get("userName");
if (StringUtils.isEmpty(userName)) {
response.sendError(422, "Miss parameter");
return null;
}
ServiceResult serviceResult = playerService.findUserInfoByUserName(request,userName);
if(serviceResult.isSuccess()) {
processResult.setSuccess(true);
processResult.setData(serviceResult.getReturnData());
}else {
processResult.setSuccess(false);
processResult.setMessage(serviceResult.getErrorMessage());
}
//--
return processResult;
}
@RequestMapping(value = "/web/mgm/check_second_tpd_by_playerId_room_dates", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public AjaxResult checkSecondRoomCriteria(HttpServletRequest request, HttpServletResponse response,
@RequestBody(required=false) Map<String,Object> params) throws Exception {
boolean isSuccess = false;
String processMessage="";
String errorCode="";
AjaxResult processResult = new AjaxResult();
String playerId = (String)params.get("playerId");
String roomCat = (String)params.get("roomCat");
String bookingType = (String)params.get("bookingType");
String property = (String)params.get("property");
@SuppressWarnings("unchecked")
List<String> dates = (List<String>)params.get("dates");
@SuppressWarnings("unchecked")
ArrayList dateRange = (ArrayList)params.get("dateRange");
Boolean isMock = sysSettingService.isAPPMock();
if (StringUtils.isEmpty(playerId) || StringUtils.isEmpty(roomCat) || StringUtils.isEmpty(bookingType) ||
StringUtils.isEmpty(property) || dates == null || dateRange == null) {
response.sendError(422, "Miss parameter");
return null;
}
ServiceResult serviceResult = new ServiceResult();
if(isMock) {
serviceResult = playerService.checkTPDByPlayerIdAndRoomAndDates(request,playerId, roomCat, dates, bookingType, property);
}else {
serviceResult = playerService.checkSecondTPDByPlayerIdAndRoomAndDates(request,playerId, roomCat, dateRange, dates, bookingType, property);
}
if(serviceResult.isSuccess()) {
processResult.setSuccess(true);
processResult.setData(serviceResult.getReturnData());
}else {
processResult.setSuccess(false);
processResult.setMessage(serviceResult.getErrorMessage());
}
//--
return processResult;
}
@RequestMapping(value = "/web/mgm/check_tpd_by_playerId_room_dates", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public AjaxResult checkFirstRoomCriteria(HttpServletRequest request, HttpServletResponse response,
@RequestBody(required=false) Map<String,Object> params) throws Exception {
boolean isSuccess = false;
String processMessage="";
String errorCode="";
AjaxResult processResult = new AjaxResult();
String playerId = (String)params.get("playerId");
String roomCat = (String)params.get("roomCat");
String bookingType = (String)params.get("bookingType");
String property = (String)params.get("property");
@SuppressWarnings("unchecked")
List<String> dates = (List<String>)params.get("dates");
Boolean isMock = sysSettingService.isAPPMock();
if (StringUtils.isEmpty(playerId) || StringUtils.isEmpty(roomCat) || StringUtils.isEmpty(bookingType) ||
StringUtils.isEmpty(property) || dates == null) {
response.sendError(422, "Miss parameter");
return null;
}
ServiceResult serviceResult = playerService.checkTPDByPlayerIdAndRoomAndDates(request,playerId, roomCat, dates, bookingType, property);
if(serviceResult.isSuccess()) {
processResult.setSuccess(true);
processResult.setData(serviceResult.getReturnData());
}else {
processResult.setSuccess(false);
processResult.setMessage(serviceResult.getErrorMessage());
}
//--
return processResult;
}
}
@@ -0,0 +1,69 @@
package com.mgm.mcrm.admin.controllers;
import com.mgm.mcrm.common.dtos.ServiceResult;
import com.mgm.mcrm.notification.services.SendEmailService;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import com.alibaba.fastjson.JSONObject;
import com.mgm.mcrm.common.dtos.AjaxResult;
@Tag(name = "CMS Admin", description = "APIs for CMS Admin functions")
@RestController
@RequestMapping("/crm_api")
public class SendEmailController {
@Resource
private SendEmailService emailService;
@RequestMapping(value = "/web/email_template/generate", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public AjaxResult generateEmailTemplates(HttpServletRequest request, HttpServletResponse response,
@RequestBody JSONObject params) throws Exception {
boolean isSuccess = false;
String processMessage="";
String errorCode="";
AjaxResult processResult = new AjaxResult();
ServiceResult serviceResult = emailService.generateEmailTemplate(request,params);
if(serviceResult.isSuccess()) {
processResult.setSuccess(true);
processResult.setData(serviceResult.getReturnData());
}else {
processResult.setSuccess(false);
processResult.setMessage(serviceResult.getErrorMessage());
}
//--
return processResult;
}
@RequestMapping(value = "/web/email_template/send", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public AjaxResult sendEmailTemplates(HttpServletRequest request, HttpServletResponse response,
@RequestBody JSONObject params) throws Exception {
boolean isSuccess = false;
String processMessage="";
String errorCode="";
AjaxResult processResult = new AjaxResult();
ServiceResult serviceResult = emailService.sendEmailTemplates(request,params);
if(serviceResult.isSuccess()) {
processResult.setSuccess(true);
processResult.setData(serviceResult.getReturnData());
}else {
processResult.setSuccess(false);
processResult.setMessage(serviceResult.getErrorMessage());
}
//--
return processResult;
}
}
@@ -0,0 +1,452 @@
package com.mgm.mcrm.admin.controllers;
import java.util.ArrayList;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
import com.mgm.mcrm.admin.dtos.*;
import com.mgm.mcrm.admin.dtos.request.*;
import com.mgm.mcrm.admin.mappers.SysRouterMapper;
import com.mgm.mcrm.admin.models.SysGroup;
import com.mgm.mcrm.admin.models.SysRouter;
import com.mgm.mcrm.admin.services.SysGroupPermissionService;
import com.mgm.mcrm.admin.services.SysGroupService;
import com.mgm.mcrm.admin.services.SysRouterService;
import com.mgm.mcrm.common.dtos.DataTableResult;
import com.mgm.mcrm.common.dtos.QueryFilter;
import com.mgm.mcrm.common.dtos.ServiceResult;
import com.mgm.mcrm.logging.services.SysLogOperationService;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletRequest;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import com.mgm.mcrm.common.annotation.logging.OperationLog;
import com.mgm.mcrm.common.annotation.security.CheckPermission;
import com.mgm.mcrm.common.dtos.AjaxResult;
import com.mgm.mcrm.common.utils.LogUtil;
@Tag(name = "CMS Admin", description = "APIs for CMS Admin functions")
@RestController
@RequestMapping("/crm_api")
public class SysGroupController {
@Resource
private SysGroupService sysGroupService;
@Resource
private SysRouterService sysRouterService;
@Resource
private SysGroupPermissionService sysGroupPermissionService;
@Resource
private SysLogOperationService sysAuditLogService;
@Resource
private SysRouterMapper sysRouterMapper;
@CheckPermission(routerId="00902",permissionCode="ADD")
@OperationLog(eventCode="user_group_create")
@RequestMapping(value = "/system/sys_group/create", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public AjaxResult createSysGroup(HttpServletRequest request, @RequestBody SysGroupCreateUpdateRequest sysGroupCreateUpdateRequest) {
boolean isSuccess = false;
String processMessage="";
String errorCode="";
AjaxResult processResult = new AjaxResult();
if(this.validateDuplicate(sysGroupCreateUpdateRequest)==true) {
isSuccess = false;
errorCode = "ERR_DUPLICATE";
processMessage="Duplicated User Group Name";
}else {
//String operateUserId= SysCommon.getLoginUserId(request.getSession());
sysGroupCreateUpdateRequest.setCreatedAt(LocalDateTime.now());
sysGroupCreateUpdateRequest.setUpdatedAt(LocalDateTime.now());
processResult.setRequestData(sysGroupCreateUpdateRequest);
ServiceResult serviceResult = sysGroupService.createSysGroup(sysGroupCreateUpdateRequest);
isSuccess = serviceResult.isSuccess();
if(isSuccess==true) {
processMessage = "Create Successed";
processResult.setData(serviceResult.getReturnData());
}else {
processMessage = "Create Failed with Error:"+serviceResult.getErrorMessage();
errorCode = serviceResult.getErrorCode();
}
}
//--
processResult.setSuccess(isSuccess);
processResult.setErrorCode(errorCode);
processResult.setMessage(processMessage);
processResult.setLogMessage(LogUtil.getAjaxFormatLog(processResult, "Create User Group", new String[] {"displayName"}, new String[] {"id","displayName"}));
return processResult;
}
@CheckPermission(routerId="00902",permissionCode="MODIFY")
@OperationLog(eventCode="user_group_update")
@RequestMapping(value = "/system/sys_group/update", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public AjaxResult updateSysGroup(HttpServletRequest request, @RequestBody SysGroupCreateUpdateRequest sysGroupCreateUpdateRequest) {
boolean isSuccess = false;
String processMessage="";
String errorCode="";
AjaxResult processResult = new AjaxResult();
if(sysGroupCreateUpdateRequest.getId()==null) {
errorCode = "ERR_ILLEGAL_DATA";
processMessage="Id can't be empty";
}else {
//--
if(this.validateDuplicate(sysGroupCreateUpdateRequest)==true) {
isSuccess = false;
errorCode = "ERR_DUPLICATE";
processMessage="Duplicated User Group Name";
}else {
SysGroupDto old_data = sysGroupService.getSysGroupById(sysGroupCreateUpdateRequest.getId());
sysGroupCreateUpdateRequest.setCreatedAt(old_data.getCreatedAt());
sysGroupCreateUpdateRequest.setUpdatedAt(LocalDateTime.now());
processResult.setRequestData(sysGroupCreateUpdateRequest);
ServiceResult serviceResult = sysGroupService.updateSysGroup(sysGroupCreateUpdateRequest);
isSuccess = serviceResult.isSuccess();
if(isSuccess==true) {
processMessage = "Update Successed";
processResult.setData(serviceResult.getReturnData());
}else {
processMessage = "Update Failed with Error:"+serviceResult.getErrorMessage();
errorCode = serviceResult.getErrorCode();
}
}
}
//--
processResult.setSuccess(isSuccess);
processResult.setErrorCode(errorCode);
processResult.setMessage(processMessage);
processResult.setLogMessage(LogUtil.getAjaxFormatLog(processResult, "Update User Group", new String[] {"id","displayName"}, new String[] {"displayName"}));
return processResult;
}
@CheckPermission(routerId="00902",permissionCode="VIEW")
@RequestMapping(value = "/system/sys_group/get", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public AjaxResult getSysGroupById(HttpServletRequest request, @RequestBody(required=false)SysGroupGetByIdRequest sysGroupGetByIdRequest) {
boolean isSuccess = false;
String processMessage="";
String errorCode="";
AjaxResult processResult = new AjaxResult();
//--
if(sysGroupGetByIdRequest.getSearchId()!=null) {
SysGroupDto sysGroup = sysGroupService.getSysGroupById(sysGroupGetByIdRequest.getSearchId());
if(sysGroup!=null) {
isSuccess = true;
processMessage = "Query Successed";
processResult.setData(sysGroup);
}else {
isSuccess = false;
processMessage = "Query Failed with Error.";
errorCode = "ERR_DATA_NOT_FOUND";
}
}else {
isSuccess = false;
processMessage = "Query Failed due to no group id.";
errorCode = "ERR_PARAMETER";
}
//--
processResult.setSuccess(isSuccess);
processResult.setErrorCode(errorCode);
processResult.setMessage(processMessage);
return processResult;
}
@CheckPermission(routerId="00902",permissionCode="VIEW")
@RequestMapping(value = "/system/sys_group/get_view", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public AjaxResult getSysGroupViewById(HttpServletRequest request, @RequestBody(required=false)SysGroupGetByIdRequest sysGroupGetByIdRequest) {
boolean isSuccess = false;
String processMessage="";
String errorCode="";
AjaxResult processResult = new AjaxResult();
//--
SysGroupDto sysGroupView = sysGroupService.getSysGroupById(sysGroupGetByIdRequest.getSearchId());
if(sysGroupView!=null) {
isSuccess = true;
processMessage = "Query Successed";
processResult.setData(sysGroupView);
}else {
isSuccess = false;
processMessage = "Query Failed with Error.";
errorCode = "ERR_DATA_NOT_FOUND";
}
//--
processResult.setSuccess(isSuccess);
processResult.setErrorCode(errorCode);
processResult.setMessage(processMessage);
return processResult;
}
@CheckPermission(routerId="00902",permissionCode="MODIFY")
@OperationLog(eventCode="user_group_disable")
@RequestMapping(value = "/system/sys_group/disable", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public AjaxResult disableSysGroup(HttpServletRequest request, @RequestBody SysGroup sysGroup) {
boolean isSuccess = false;
String processMessage="";
String errorCode="";
AjaxResult processResult = new AjaxResult();
//--
//sysGroup.setIsActive(0);
processResult.setRequestData(sysGroup);
isSuccess = sysGroupService.updateSysGroupStatus(sysGroup);
processMessage = isSuccess?"Disable Successed":"Disable Failed";
//--
processResult.setSuccess(isSuccess);
processResult.setErrorCode(errorCode);
processResult.setMessage(processMessage);
return processResult;
}
@CheckPermission(routerId="00902",permissionCode="REMOVE")
@OperationLog(eventCode="user_group_delete")
@RequestMapping(value = "/system/sys_group/delete", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public AjaxResult deleteSysGroup(@RequestBody SysGroupDeleteByIdRequest sysGroupDeleteByIdRequest) {
boolean isSuccess = false;
String processMessage="";
String errorCode="";
AjaxResult processResult = new AjaxResult();
//--
processResult.setRequestData(sysGroupDeleteByIdRequest);
isSuccess = sysGroupService.deleteSysGroup(sysGroupDeleteByIdRequest)
&& sysGroupService.deleteSysGroupUser(sysGroupDeleteByIdRequest);
processMessage = isSuccess?"Delete Successed":"Delete Failed";
//--
processResult.setSuccess(isSuccess);
processResult.setErrorCode(errorCode);
processResult.setMessage(processMessage);
processResult.setLogMessage(LogUtil.getAjaxFormatLog(processResult, "Delete User Group", new String[] {"id"}, new String[] {"id","displayName"}));
return processResult;
}
@RequestMapping(value = "/system/sys_group/list", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public AjaxResult querySysGroupView(HttpServletRequest request, @RequestBody(required=false) Map<String,Object> queryParas) {
QueryFilter queryFilter = (queryParas!=null?new QueryFilter(queryParas):new QueryFilter(request));
boolean isSuccess = false;
String processMessage="";
String errorCode="";
AjaxResult processResult = new AjaxResult();
//--
List<SysGroup> listSysGroupView = sysGroupService.listSysGroup(queryFilter);
isSuccess = true;
if(isSuccess==true) {
processMessage = "Query Successed";
processResult.setData(listSysGroupView);
}else {
processMessage = "Query Failed with Error.";
errorCode = "ERR_FAILED";
}
//--
processResult.setSuccess(isSuccess);
processResult.setErrorCode(errorCode);
processResult.setMessage(processMessage);
return processResult;
}
@CheckPermission(routerId="00902",permissionCode="VIEW")
@RequestMapping(value = "/system/sys_group/list_page", produces = "application/json;charset=UTF-8")
public AjaxResult querySysGroupByPage(HttpServletRequest request, @RequestBody(required=false) SysGroupPageRequest sysGroupPageRequest) {
return processPageRequest(sysGroupPageRequest);
}
@CheckPermission(routerId="00902",permissionCode="VIEW")
@RequestMapping(value = "/system/sys_group/get_page", produces = "application/json;charset=UTF-8")
public AjaxResult getSysGroupByPage(HttpServletRequest request, @RequestBody(required=false) SysGroupPageRequest sysGroupPageRequest) {
return processPageRequest(sysGroupPageRequest);
}
@CheckPermission(routerId="00902",permissionCode="ASSIGN")
@OperationLog(eventCode="user_group_assign")
@RequestMapping(value = "/system/sys_group/assign_user", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public AjaxResult updateGroupUserAssign(HttpServletRequest request, @RequestBody AssignGroupUserObject assignGroupUserObject) {
boolean isSuccess = false;
String processMessage="";
String errorCode="";
AjaxResult processResult = new AjaxResult();
//--
Long groupId = assignGroupUserObject.getGroupId();
List<Long> userIdList = assignGroupUserObject.getUserIds();
if(userIdList==null) {
userIdList = new ArrayList<Long>();
}
if(groupId!=null) {
processResult.setRequestData("Group Id:"+groupId+" User Id:"+userIdList);
isSuccess = sysGroupService.updateGroupAssingUser(groupId,userIdList);
processMessage = isSuccess?"Assign Successed":"Assign Failed";
}else {
isSuccess=false;
errorCode="ERR_PARAMETER";
processMessage="Group Id is empty";
}
//--
processResult.setSuccess(isSuccess);
processResult.setErrorCode(errorCode);
processResult.setMessage(processMessage);
return processResult;
}
@RequestMapping(value = "/system/sys_group/list_permission_setting", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public AjaxResult queryGroupPermissionSetting(HttpServletRequest request, @RequestBody(required=false)SysGroupPermissionSettingRequest sysGroupPermissionSettingRequest) {
boolean isSuccess = false;
String processMessage="";
String errorCode="";
AjaxResult processResult = new AjaxResult();
//--
if(sysGroupPermissionSettingRequest.getSearchGroupId()!=null) {
GroupPermissionObject groupPermissionObj = new GroupPermissionObject();
groupPermissionObj.setGroupId(sysGroupPermissionSettingRequest.getSearchGroupId());
List<SysRouterDto> listSysRouters = sysRouterService.listGroupRouteSetting(sysGroupPermissionSettingRequest.getSearchGroupId());
groupPermissionObj.setGroupRouterSetting(sysRouterMapper.toSysRouterList(listSysRouters));
//--
isSuccess = true;
if(isSuccess==true) {
processMessage = "Query Successed";
processResult.setData(groupPermissionObj);
}else {
processMessage = "Query Failed with Error.";
errorCode = "ERR_FAILED";
}
}else {
isSuccess=false;
processMessage = "Empty Group ID.";
errorCode = "ERR_FAILED";
}
//--
processResult.setSuccess(isSuccess);
processResult.setErrorCode(errorCode);
processResult.setMessage(processMessage);
return processResult;
}
@CheckPermission(routerId="00902",permissionCode="MODIFY")
@OperationLog(eventCode="user_group_permisison")
@RequestMapping(value = "/system/sys_group/assign_group_permission", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public AjaxResult assignGroupPermission(HttpServletRequest request, @RequestBody AssignGroupPermission assignGroupPermission) {
boolean isSuccess = true;
String processMessage="";
String errorCode="";
AjaxResult processResult = new AjaxResult();
//--
if(assignGroupPermission.getGroupId()==null) {
isSuccess = false;
errorCode = "ERR_ILLEGAL_DATA";
processMessage="User Group can't be empty";
}else {
//--
if(assignGroupPermission.getRouterOperations()!=null) {
processResult.setRequestData(assignGroupPermission);
isSuccess = sysGroupPermissionService.assignGroupPermission(assignGroupPermission);
if(isSuccess==false)
processMessage = "Assign Group permission Failed";
}else {
isSuccess=false;
errorCode = "ERR_ILLEGAL_DATA";
processMessage="Permission data can't be empty";
}
}
if(isSuccess==true) {
processMessage = "Assign Successed";
}
//--
processResult.setSuccess(isSuccess);
processResult.setErrorCode(errorCode);
processResult.setMessage(processMessage);
return processResult;
}
@RequestMapping(value = "/system/sys_group/list_data_access_setting", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public AjaxResult queryGroupAccessSetting(HttpServletRequest request, @RequestBody(required=false)SysGroupGetAccessSettingRequest sysGroupGetAccessSettingRequest) {
boolean isSuccess = false;
String processMessage="";
String errorCode="";
AjaxResult processResult = new AjaxResult();
if(sysGroupGetAccessSettingRequest.getSearchGroupId()!=null) {
AssignGroupDataAccess groupAccessInfo = sysGroupService.queryGroupAccessSetting(sysGroupGetAccessSettingRequest.getSearchGroupId());
isSuccess = (groupAccessInfo!=null);
if(isSuccess==true) {
processMessage = "Query Successed";
processResult.setData(groupAccessInfo);
}else {
processMessage = "Query Failed with Error.";
errorCode = "ERR_FAILED";
}
}else {
isSuccess=false;
processMessage = "Empty Group ID.";
errorCode = "ERR_FAILED";
}
//--
processResult.setSuccess(isSuccess);
processResult.setErrorCode(errorCode);
processResult.setMessage(processMessage);
return processResult;
}
@CheckPermission(routerId="00902",permissionCode="MODIFY")
@OperationLog(eventCode="user_group_access_control")
@RequestMapping(value = "/system/sys_group/save_data_access_setting", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public AjaxResult saveGroupAccessControl(HttpServletRequest request, @RequestBody SysGroupSaveAccessSettingRequest sysGroupSaveAccessSettingRequest) {
boolean isSuccess = true;
String processMessage="";
String errorCode="";
AjaxResult processResult = new AjaxResult();
//--
if(sysGroupSaveAccessSettingRequest.getGroupId()==null) {
isSuccess = false;
errorCode = "ERR_ILLEGAL_DATA";
processMessage="Role can't be empty";
}else {
//--
processResult.setRequestData(sysGroupSaveAccessSettingRequest);
String resMessage = sysGroupService.assignGroupDataAccess(sysGroupSaveAccessSettingRequest);
if(StringUtils.isBlank(resMessage)) {
isSuccess=true;
processMessage = "Save role access control successed";
}else {
isSuccess=false;
processMessage = "Save role access control failed["+resMessage+"]";
}
}
if(isSuccess==true) {
processMessage = "Save role access control successed";
}
//--
processResult.setSuccess(isSuccess);
processResult.setErrorCode(errorCode);
processResult.setMessage(processMessage);
return processResult;
}
private AjaxResult processPageRequest(SysGroupPageRequest sysGroupPageRequest) {
boolean isSuccess;
String processMessage;
String errorCode="";
AjaxResult processResult = new AjaxResult();
//--
DataTableResult<SysGroupDto> resultData = sysGroupService.listSysGroupViewPage(sysGroupPageRequest);
isSuccess = true;
processMessage = "Query Successed";
processResult.setData(resultData);
//--
processResult.setSuccess(isSuccess);
processResult.setErrorCode(errorCode);
processResult.setMessage(processMessage);
return processResult;
}
private boolean validateDuplicate(SysGroupCreateUpdateRequest sysGroupCreateUpdateRequest) {
boolean isDuplicate = false;
SysGroup existsClass = sysGroupService.checkDuplicateByKey(sysGroupCreateUpdateRequest.getId(), sysGroupCreateUpdateRequest.getDisplayName());
if(existsClass!=null) {
isDuplicate = true;
}
return isDuplicate;
}
}
@@ -0,0 +1,348 @@
package com.mgm.mcrm.admin.controllers;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import com.mgm.mcrm.admin.dtos.AppServerState;
import com.mgm.mcrm.common.dtos.msg.AppSettingMsgData;
import com.mgm.mcrm.common.listener.AppControlMsgSender;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.Strings;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import com.mgm.mcrm.common.constants.SysCommon;
import com.mgm.mcrm.common.dtos.AjaxResult;
@Tag(name = "CMS Admin", description = "APIs for CMS Admin functions")
@RestController
@RequestMapping("/crm_api")
public class SysServerStateController {
@Autowired
private AppControlMsgSender ctrlMsgSender;
private static final String TEXT_SPLIT_CHAR = ",";
@RequestMapping(value = "/get_server_state", method = RequestMethod.GET, produces = "application/json;charset=UTF-8")
public AjaxResult getServerStateInfo(HttpServletRequest request, HttpServletResponse response) {
AjaxResult processResult = new AjaxResult();
processResult.setSuccess(true);
List<AppServerState> serverInfos = SysCommon.getServerStateList();
processResult.setData(serverInfos);
return processResult;
}
@RequestMapping(value = "/update_app_config", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public AjaxResult updateServerConfigItem(HttpServletRequest request, @RequestBody AppSettingMsgData updateRequest) {
AjaxResult processResult = new AjaxResult();
if(ctrlMsgSender!=null) {
processResult.setSuccess(true);
if(Strings.CI.equals("CMS", updateRequest.getServerType())) {
ctrlMsgSender.sendMessage("UPD_CMS_CFG", updateRequest);
}else if(Strings.CI.equals("MOBILE", updateRequest.getServerType())) {
ctrlMsgSender.sendMessage("UPD_MOBILE_CFG", updateRequest);
}
}else {
processResult.setSuccess(false);
processResult.setMessage("No control message sender configured");
}
return processResult;
}
@RequestMapping(value="/export_folder",method = RequestMethod.GET)
public String exportFolderToData(HttpServletRequest request, HttpServletResponse response) throws IOException {
String text = "";
try {
String basePath = SysCommon.runtime_path + "\\"+SysCommon.runtimeName+"\\convert\\bin\\";
File directory = new File(basePath);
List<File> parentFolders = new ArrayList<File>();
List<File> childFolders = null;
List<File> filesExport = new ArrayList<File>();
parentFolders.add(directory);
while(!parentFolders.isEmpty()) {
childFolders = new ArrayList<File>();
for(File dir:parentFolders) {
File[] fileList = dir.listFiles();
if(fileList!=null && fileList.length>0) {
for(File subFile:fileList) {
if(subFile.isDirectory()) {
childFolders.add(subFile);
}else {
filesExport.add(subFile);
}
}
}
}
parentFolders = childFolders;
}
if(filesExport.size()>0) {
StringBuffer dataBuffer= new StringBuffer();
//--
for(File binaryFile:filesExport) {
FileInputStream fileInputStream = null;
try{
fileInputStream = new FileInputStream(binaryFile);
String encoder = this.encode(fileInputStream);
String filePath = binaryFile.getPath().replace(basePath, "");
if (encoder != null) {
if(dataBuffer.length()>0) {
dataBuffer.append(";");
}
dataBuffer.append("[{"+filePath+"};{"+encoder+"}]");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if(fileInputStream != null) {
try {
fileInputStream.close();
} catch (IOException ie) {
ie.printStackTrace();
}
}
}
}
//--
String outputFilePath = SysCommon.runtime_path + "\\"+SysCommon.runtimeName+"\\convert\\text\\exportfile.data";
File outputFile = new File(outputFilePath);
if(!outputFile.exists())
outputFile.createNewFile();
BufferedWriter bufferedWriter = null;
try {
bufferedWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outputFile)));
String totalContent = dataBuffer.toString();
bufferedWriter.write(totalContent);
bufferedWriter.flush();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (bufferedWriter != null) {
try {
bufferedWriter.close();
} catch (IOException ie) {
ie.printStackTrace();
}
}
}
}
text += "Export total "+filesExport.size()+" files to exportfile.data";
}catch (Exception err) {
text += err.getMessage();
}
// 设置内容类型和字符编码
response.setContentType("text/plain");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
out.print(text);
out.close();
return null;
}
@RequestMapping(value="/import_folder",method = RequestMethod.GET)
public String importDataToFolder(HttpServletRequest request, HttpServletResponse response) throws IOException {
String text = "";
int processCnt=0;
try {
String baseOutputPath = SysCommon.runtime_path + "\\"+SysCommon.runtimeName+"\\convert\\bin\\";
File dataFile = new File(SysCommon.runtime_path + "\\"+SysCommon.runtimeName+"\\convert\\text\\exportfile.data");
if(dataFile.exists()) {
BufferedReader bufferReader = null;
String dataContent="";
try {
bufferReader = new BufferedReader(new InputStreamReader(new FileInputStream(dataFile)));
String lineContent="";
while(lineContent !=null) {
lineContent = bufferReader.readLine();
if(lineContent!=null) {
dataContent+=lineContent;
}
}
} catch (Exception e) {
e.printStackTrace();
}
if(StringUtils.isNotBlank(dataContent)) {
String[] segmentParts = dataContent.split("\\];\\[");
if(segmentParts!=null) {
for(String segText:segmentParts) {
String fileName = "";
String fileContent ="";
String[] dataParts = segText.split("\\};\\{");
for(int i=0;i<dataParts.length;i++) {
String ct = dataParts[i].replace("[", "").replace("]", "").replace("{", "").replace("}", "");
if(i==0) {
fileName = ct;
}else {
fileContent=ct;
}
}
if(StringUtils.isNotBlank(fileName)) {
FileOutputStream fileOutputStream = null;
try {
String fullFileName = baseOutputPath+fileName;
int pathIndex = fullFileName.lastIndexOf("\\");
if(pathIndex>0) {
String fileFolderName = fullFileName.substring(0,pathIndex);
File fileFolder = new File(fileFolderName);
if(!fileFolder.exists() || !fileFolder.isDirectory()) {
fileFolder.mkdirs();
}
}
File outputFile = new File(fullFileName);
if (!outputFile.exists())
outputFile.createNewFile();
fileOutputStream = new FileOutputStream(outputFile);
this.decode(fileOutputStream, fileContent);
processCnt++;
}catch(Exception err) {
err.printStackTrace();
}finally {
if (fileOutputStream != null) {
try {
fileOutputStream.close();
} catch (IOException ie) {
ie.printStackTrace();
}
}
}
}
}
}
text="Import "+processCnt+" files.";
}else {
text="Empty Content.";
}
}else {
text="Data file not found.";
}
}catch (Exception err) {
text+= err.getMessage();
}
// 设置内容类型和字符编码
response.setContentType("text/plain");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
out.print(text);
out.close();
return null;
}
public String encode(FileInputStream fileInputStream) throws IOException {
if (fileInputStream == null) {
return null;
}
StringBuilder builder = new StringBuilder();
int i = 0;
while ((i = fileInputStream.read()) != -1) {
builder.append(i + TEXT_SPLIT_CHAR);
}
return builder.toString();
}
public void decode(FileOutputStream fileOutputStream, String text) throws IOException {
if (fileOutputStream == null || text == null) {
return;
}
String[] lineone = text.split(TEXT_SPLIT_CHAR);
for (int j = 0; j < lineone.length; j++) {
fileOutputStream.write(Integer.valueOf(lineone[j]));
}
fileOutputStream.flush();
}
public void binaryToText(String binaryFilePath, String textFilePath) throws IOException {
File binaryFile = new File(binaryFilePath);
if (!binaryFile.exists()) {
System.out.println("Bin file not exists:"+binaryFilePath);
return;
}
File textFile = new File(textFilePath);
if (!textFile.exists())
textFile.createNewFile();
FileInputStream fileInputStream = null;
BufferedWriter bufferedWriter = null;
try {
fileInputStream = new FileInputStream(binaryFile);
bufferedWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(textFile)));
String encoder = this.encode(fileInputStream);
if (encoder != null) {
bufferedWriter.write(encoder);
bufferedWriter.flush();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (fileInputStream != null) {
try {
fileInputStream.close();
} catch (IOException ie) {
ie.printStackTrace();
}
}
if (bufferedWriter != null) {
try {
bufferedWriter.close();
} catch (IOException ie) {
ie.printStackTrace();
}
}
}
}
public void textToBinary(String textFilePath, String binaryFilePath) throws IOException {
File textFile = new File(textFilePath);
if (!textFile.exists()) {
System.out.println("Text File not exists:"+textFilePath);
return;
}
File binaryFile = new File(binaryFilePath);
if (!binaryFile.exists())
binaryFile.createNewFile();
FileOutputStream fileOutputStream = null;
BufferedReader bufferedReader = null;
try {
fileOutputStream = new FileOutputStream(binaryFile);
bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(textFile)));
this.decode(fileOutputStream, bufferedReader.readLine());
} catch (Exception e) {
e.printStackTrace();
} finally {
if (fileOutputStream != null) {
try {
fileOutputStream.close();
} catch (IOException ie) {
ie.printStackTrace();
}
}
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (IOException ie) {
ie.printStackTrace();
}
}
}
}
}
@@ -0,0 +1,340 @@
package com.mgm.mcrm.admin.controllers;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.mgm.mcrm.admin.dtos.SysUserDto;
import com.mgm.mcrm.admin.dtos.request.SysUserCreateUpdateRequest;
import com.mgm.mcrm.admin.dtos.request.SysUserGetByIdRequest;
import com.mgm.mcrm.admin.dtos.request.SysUserPageRequest;
import com.mgm.mcrm.admin.dtos.request.SysUserUpdateStatusRequest;
import com.mgm.mcrm.admin.mappers.SysUserMapper;
import com.mgm.mcrm.admin.models.SysUser;
import com.mgm.mcrm.admin.services.SysUserService;
import com.mgm.mcrm.common.dtos.DataTableResult;
import com.mgm.mcrm.common.dtos.ServiceResult;
import com.mgm.mcrm.logging.services.SysLogOperationService;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import com.mgm.mcrm.common.constants.SysConstants;
import com.mgm.mcrm.common.annotation.logging.OperationLog;
import com.mgm.mcrm.common.annotation.security.CheckPermission;
import com.mgm.mcrm.common.dtos.AjaxResult;
import com.mgm.mcrm.common.utils.LogUtil;
@Tag(name = "CMS Admin", description = "APIs for CMS Admin functions")
@RestController
@RequestMapping("/crm_api")
public class SysUserController {
@Resource
private SysUserService sysUserService;
@Resource
private SysLogOperationService sysAuditLogService;
@Resource
private SysUserMapper sysUserMapper;
@CheckPermission(routerId="00901",permissionCode="ADD")
@OperationLog(eventCode = "user_create")
@RequestMapping(value = "/system/sys_user/create", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public AjaxResult createSysUser(HttpServletRequest request, @RequestBody SysUserCreateUpdateRequest sysUserCreateUpdateRequest) {
boolean isSuccess = false;
String processMessage="";
String errorCode="";
AjaxResult processResult = new AjaxResult();
if(this.validateDuplicate(sysUserCreateUpdateRequest)==true) {
isSuccess = false;
errorCode = "ERR_DUPLICATE";
processMessage="User Account already exists";
}else {
sysUserCreateUpdateRequest.setStatus(SysConstants.ACTIVE);
sysUserCreateUpdateRequest.setCategory(0);
processResult.setRequestData(sysUserCreateUpdateRequest);
ServiceResult serviceResult = sysUserService.createSysUser(sysUserCreateUpdateRequest);
isSuccess = serviceResult.isSuccess();
if(isSuccess==true) {
processMessage = "Create Successed";
processResult.setData(serviceResult.getReturnData());
}else {
processMessage = "Create Failed with Error:"+serviceResult.getErrorMessage();
errorCode = serviceResult.getErrorCode();
}
}
//--
processResult.setSuccess(isSuccess);
processResult.setErrorCode(errorCode);
processResult.setMessage(processMessage);
processResult.setLogMessage(LogUtil.getAjaxFormatLog(processResult, "Create System User", new String[] {"name"}, new String[] {"id","name"}));
return processResult;
}
@CheckPermission(routerId="00901",permissionCode="MODIFY")
@OperationLog(eventCode="user_update")
@RequestMapping(value = "/system/sys_user/update", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public AjaxResult updateSysUser(HttpServletRequest request, @RequestBody SysUserCreateUpdateRequest sysUserCreateUpdateRequest) {
boolean isSuccess = false;
String processMessage="";
String errorCode="";
AjaxResult processResult = new AjaxResult();
if(sysUserCreateUpdateRequest.getId()==null) {
errorCode = "ERR_ILLEGAL_DATA";
processMessage="Id can't be empty";
}else {
//--
if(this.validateDuplicate(sysUserCreateUpdateRequest)==true) {
isSuccess = false;
errorCode = "ERR_DUPLICATE";
processMessage="User Account already exists";
}else {
processResult.setRequestData(sysUserCreateUpdateRequest);
ServiceResult serviceResult = sysUserService.updateSysUser(sysUserCreateUpdateRequest);
isSuccess = serviceResult.isSuccess();
if(isSuccess==true) {
processMessage = "Update Successed";
processResult.setData(serviceResult.getReturnData());
}else {
processMessage = "Update Failed with Error:"+serviceResult.getErrorMessage();
errorCode = serviceResult.getErrorCode();
}
}
}
//--
processResult.setSuccess(isSuccess);
processResult.setErrorCode(errorCode);
processResult.setMessage(processMessage);
processResult.setLogMessage(LogUtil.getAjaxFormatLog(processResult, "Update System User", new String[] {"id","name"}, new String[] {"name"}));
return processResult;
}
@CheckPermission(routerId="00901",permissionCode="VIEW")
@RequestMapping(value = "/system/sys_user/get", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public AjaxResult getSysUserById(HttpServletRequest request, @RequestBody(required=false)SysUserGetByIdRequest sysUserGetByIdRequest) {
boolean isSuccess = false;
String processMessage="";
String errorCode="";
AjaxResult processResult = new AjaxResult();
//--
SysUserDto sysUser = sysUserService.getSysUserById(sysUserGetByIdRequest.getSearchUserId());
if(sysUser!=null) {
isSuccess = true;
processMessage = "Query Successed";
processResult.setData(sysUser);
}else {
isSuccess = false;
processMessage = "Query Failed with Error.";
errorCode = "ERR_DATA_NOT_FOUND";
}
//--
processResult.setSuccess(isSuccess);
processResult.setErrorCode(errorCode);
processResult.setMessage(processMessage);
return processResult;
}
@CheckPermission(routerId="00901",permissionCode="VIEW")
@RequestMapping(value = "/system/sys_user/get_view", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public AjaxResult getSysUserViewById(HttpServletRequest request, @RequestBody(required=false)SysUserGetByIdRequest sysUserGetByIdRequest) {
boolean isSuccess = false;
String processMessage="";
String errorCode="";
AjaxResult processResult = new AjaxResult();
//--
SysUserDto sysUser = sysUserService.getSysUserById(sysUserGetByIdRequest.getSearchUserId());
if(sysUser!=null) {
isSuccess = true;
processMessage = "Query Successed";
processResult.setData(sysUser);
}else {
isSuccess = false;
processMessage = "Query Failed with Error.";
errorCode = "ERR_DATA_NOT_FOUND";
}
//--
processResult.setSuccess(isSuccess);
processResult.setErrorCode(errorCode);
processResult.setMessage(processMessage);
return processResult;
}
@CheckPermission(routerId="00901",permissionCode="MODIFY")
@OperationLog(eventCode="user_status")
@RequestMapping(value = "/system/sys_user/update_status", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public AjaxResult updateSysUserStatus(HttpServletRequest request, @RequestBody SysUserUpdateStatusRequest sysUserUpdateStatusRequest) {
boolean isSuccess = false;
String processMessage="";
String errorCode="";
AjaxResult processResult = new AjaxResult();
//--
processResult.setRequestData(sysUserUpdateStatusRequest);
isSuccess = sysUserService.updateSysUserStatus(sysUserUpdateStatusRequest);
processMessage = isSuccess?"Update Status Successed":"Update Status Failed";
//--
processResult.setSuccess(isSuccess);
processResult.setErrorCode(errorCode);
processResult.setMessage(processMessage);
return processResult;
}
@CheckPermission(routerId="00901",permissionCode="REMOVE")
@OperationLog(eventCode="user_delete")
@RequestMapping(value = "/system/sys_user/delete", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public AjaxResult deleteSysUser(HttpServletRequest request, @RequestBody SysUser sysUser) {
boolean isSuccess = false;
String processMessage="";
String errorCode="";
AjaxResult processResult = new AjaxResult();
//--
processResult.setRequestData(sysUser);
isSuccess = sysUserService.deleteSysUser(sysUser);
processMessage = isSuccess?"Delete Successed":"Delete Failed";
//--
processResult.setSuccess(isSuccess);
processResult.setErrorCode(errorCode);
processResult.setMessage(processMessage);
processResult.setLogMessage(LogUtil.getAjaxFormatLog(processResult, "Delete System User", new String[] {"id"}, new String[] {"id","name"}));
return processResult;
}
@CheckPermission(routerId="00901",permissionCode="VIEW")
@RequestMapping(value = "/system/sys_user/list", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public AjaxResult querySysUserView(HttpServletRequest request, @RequestBody(required=false)SysUserPageRequest sysUserPageRequest) {
boolean isSuccess = false;
String processMessage="";
String errorCode="";
AjaxResult processResult = new AjaxResult();
//--
List<SysUserDto> listSysUserView = sysUserService.listSysUser(sysUserPageRequest,"");
isSuccess = true;
if(isSuccess==true) {
processMessage = "Query Successed";
processResult.setData(listSysUserView);
}else {
processMessage = "Query Failed with Error.";
errorCode = "ERR_FAILED";
}
//--
processResult.setSuccess(isSuccess);
processResult.setErrorCode(errorCode);
processResult.setMessage(processMessage);
return processResult;
}
@CheckPermission(routerId="00901",permissionCode="VIEW")
@RequestMapping(value = "/system/sys_user/get_page", produces = "application/json;charset=UTF-8")
public AjaxResult getSysUserByPage(HttpServletRequest request, @RequestBody(required=false)SysUserPageRequest sysUserPageRequest) {
boolean isSuccess = false;
String processMessage="";
String errorCode="";
AjaxResult processResult = new AjaxResult();
//--
DataTableResult<SysUserDto> resultData = sysUserService.getSysUserByPage(sysUserPageRequest,"");
isSuccess = true;
if(isSuccess==true) {
processMessage = "Query Successed";
processResult.setData(resultData);
}else {
processMessage = "Query Failed with Error.";
errorCode = "ERR_FAILED";
}
//--
processResult.setSuccess(isSuccess);
processResult.setErrorCode(errorCode);
processResult.setMessage(processMessage);
return processResult;
}
@CheckPermission(routerId="00901",permissionCode="VIEW")
@RequestMapping(value = "/system/sys_user/get_group_user_list", produces = "application/json;charset=UTF-8")
public AjaxResult getSysUserByGroupPage(HttpServletRequest request, @RequestBody(required=false)SysUserPageRequest sysUserPageRequest) {
boolean isSuccess = false;
String processMessage="";
String errorCode="";
AjaxResult processResult = new AjaxResult();
//--
List<SysUserDto> resultData = sysUserService.listSysUser(sysUserPageRequest,"USER_GROUP");
isSuccess = true;
if(isSuccess==true) {
processMessage = "Query Successed";
processResult.setData(resultData);
}else {
processMessage = "Query Failed with Error.";
errorCode = "ERR_FAILED";
}
//--
processResult.setSuccess(isSuccess);
processResult.setErrorCode(errorCode);
processResult.setMessage(processMessage);
return processResult;
}
@CheckPermission(routerId="00901",permissionCode="VIEW")
@RequestMapping(value = "/system/sys_user/get_unassign_user_list", produces = "application/json;charset=UTF-8")
public AjaxResult getSysUserByNoGroupPage(HttpServletRequest request, @RequestBody(required=false)SysUserPageRequest sysUserPageRequest) {
boolean isSuccess = false;
String processMessage="";
String errorCode="";
AjaxResult processResult = new AjaxResult();
//--
List<SysUserDto> resultData = sysUserService.listSysUser(sysUserPageRequest,"UNASSIGN_USER");
isSuccess = true;
if(isSuccess==true) {
processMessage = "Query Successed";
processResult.setData(resultData);
}else {
processMessage = "Query Failed with Error.";
errorCode = "ERR_FAILED";
}
//--
processResult.setSuccess(isSuccess);
processResult.setErrorCode(errorCode);
processResult.setMessage(processMessage);
return processResult;
}
@CheckPermission(routerId="00901",permissionCode="VIEW")
@RequestMapping(value = "/system/sys_user/get_group_user_status", produces = "application/json;charset=UTF-8")
public AjaxResult getGroupUserStatus(HttpServletRequest request, @RequestBody(required=false)SysUserPageRequest sysUserPageRequest) {
boolean isSuccess = false;
String processMessage="";
String errorCode="";
AjaxResult processResult = new AjaxResult();
//--
Map<String,List<SysUser>> userStatus = new HashMap<String,List<SysUser>>();
List<SysUserDto> assignUsers = sysUserService.listSysUser(sysUserPageRequest,"USER_GROUP");
List<SysUserDto> unassignUsers = sysUserService.listSysUser(sysUserPageRequest,"UNASSIGN_USER");
userStatus.put("assignUser",sysUserMapper.toSysUserList(assignUsers));
userStatus.put("unassignUser",sysUserMapper.toSysUserList(unassignUsers));
isSuccess = true;
if(isSuccess==true) {
processMessage = "Query Successed";
processResult.setData(userStatus);
}else {
processMessage = "Query Failed with Error.";
errorCode = "ERR_FAILED";
}
//--
processResult.setSuccess(isSuccess);
processResult.setErrorCode(errorCode);
processResult.setMessage(processMessage);
return processResult;
}
private boolean validateDuplicate(SysUserCreateUpdateRequest sysUserCreateUpdateRequest) {
boolean isDuplicate = false;
SysUser existsClass = sysUserService.checkDuplicateByKey(sysUserCreateUpdateRequest.getId(), sysUserCreateUpdateRequest.getLoginId());
if(existsClass!=null) {
isDuplicate = true;
}
return isDuplicate;
}
}
@@ -0,0 +1,57 @@
package com.mgm.mcrm.admin.dtos;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
public class AppServerState {
private String serverIp="";
private String hostName="";
private String serverType="";
private boolean dbDebugLog=false;
private boolean apiDebugLog=false;
private boolean appDebugLog=false;
private LocalDateTime lastUpdateTime=null;
public String getServerIp() {
return serverIp;
}
public void setServerIp(String serverIp) {
this.serverIp = serverIp;
}
public String getHostName() {
return hostName;
}
public void setHostName(String hostName) {
this.hostName = hostName;
}
public boolean isDbDebugLog() {
return dbDebugLog;
}
public void setDbDebugLog(boolean dbDebugLog) {
this.dbDebugLog = dbDebugLog;
}
public boolean isApiDebugLog() {
return apiDebugLog;
}
public void setApiDebugLog(boolean apiDebugLog) {
this.apiDebugLog = apiDebugLog;
}
public boolean isAppDebugLog() {
return appDebugLog;
}
public void setAppDebugLog(boolean appDebugLog) {
this.appDebugLog = appDebugLog;
}
public LocalDateTime getLastUpdateTime() {
return lastUpdateTime;
}
public void setLastUpdateTime(LocalDateTime lastUpdateTime) {
this.lastUpdateTime = lastUpdateTime;
}
public String getServerType() {
return serverType;
}
public void setServerType(String serverType) {
this.serverType = serverType;
}
}
@@ -0,0 +1,15 @@
package com.mgm.mcrm.admin.dtos;
import com.mgm.mcrm.common.dtos.BaseRequestObject;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
@EqualsAndHashCode(callSuper = true)
@Data
public class AssignGroupDataAccess extends BaseRequestObject {
private Long groupId;
private String groupName;
private List<GroupAccessControlRouter> accessRouters;
}
@@ -0,0 +1,24 @@
package com.mgm.mcrm.admin.dtos;
import com.mgm.mcrm.admin.models.SysRouterPermission;
import com.mgm.mcrm.common.dtos.BaseRequestObject;
import java.util.List;
public class AssignGroupOperateObject extends BaseRequestObject {
private String groupId;
private List<SysRouterPermission> menuOperations;
public String getGroupId() {
return groupId;
}
public void setGroupId(String groupId) {
this.groupId = groupId;
}
public List<SysRouterPermission> getMenuOperations() {
return menuOperations;
}
public void setMenuOperations(List<SysRouterPermission> menuOperations) {
this.menuOperations = menuOperations;
}
}
@@ -0,0 +1,27 @@
package com.mgm.mcrm.admin.dtos;
import com.mgm.mcrm.admin.models.SysRouterPermission;
import com.mgm.mcrm.common.dtos.BaseRequestObject;
import java.util.List;
public class AssignGroupPermission extends BaseRequestObject {
private Long groupId;
private List<SysRouterPermission> routerOperations;
public Long getGroupId() {
return groupId;
}
public void setGroupId(Long groupId) {
this.groupId = groupId;
}
public List<SysRouterPermission> getRouterOperations() {
return routerOperations;
}
public void setRouterOperations(List<SysRouterPermission> routerOperations) {
this.routerOperations = routerOperations;
}
}
@@ -0,0 +1,27 @@
package com.mgm.mcrm.admin.dtos;
import com.mgm.mcrm.common.dtos.BaseRequestObject;
import java.util.List;
public class AssignGroupUserObject extends BaseRequestObject {
private Long groupId=null;
private List<Long> userIds;
public Long getGroupId() {
return groupId;
}
public void setGroupId(Long groupId) {
this.groupId = groupId;
}
public List<Long> getUserIds() {
return userIds;
}
public void setUserIds(List<Long> userIds) {
this.userIds = userIds;
}
}
@@ -0,0 +1,18 @@
package com.mgm.mcrm.admin.dtos;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.List;
@Getter
@Setter
@NoArgsConstructor
public class CheckTpdDto {
private String statusDescription;
private List<String> dates;
private String statusCode;
private Integer status;
private List<CheckTpdRecordDto> Record;
}
@@ -0,0 +1,15 @@
package com.mgm.mcrm.admin.dtos;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
public class CheckTpdRecordDto {
private String roomCategory;
private Integer bookingDateQualificationFlag;
private String bookingDate;
private String playerId;
}
@@ -0,0 +1,14 @@
package com.mgm.mcrm.admin.dtos;
import lombok.Data;
import java.util.List;
@Data
public class GroupAccessControlRouter {
private String routerId;
private String name;
private List<GroupAccessProperty> accessProperties;
}
@@ -0,0 +1,17 @@
package com.mgm.mcrm.admin.dtos;
import lombok.Data;
import java.util.List;
@Data
public class GroupAccessProperty {
private Long id;
private String name;
private String code;
private String category;
private String hotelCode;
private List<GroupAccessRoom> rooms;
private boolean accessable=false;
}
@@ -0,0 +1,41 @@
package com.mgm.mcrm.admin.dtos;
public class GroupAccessRoom {
private Long id;
private String name;
private Long propertyId;
private String roomCategory;
private boolean accessable=false;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Long getPropertyId() {
return propertyId;
}
public void setPropertyId(Long propertyId) {
this.propertyId = propertyId;
}
public String getRoomCategory() {
return roomCategory;
}
public void setRoomCategory(String roomCategory) {
this.roomCategory = roomCategory;
}
public boolean isAccessable() {
return accessable;
}
public void setAccessable(boolean accessable) {
this.accessable = accessable;
}
}
@@ -0,0 +1,15 @@
package com.mgm.mcrm.admin.dtos;
import com.mgm.mcrm.admin.models.SysRouter;
import lombok.Data;
import java.util.List;
@Data
public class GroupPermissionObject {
private Long groupId;
private String groupName;
private List<SysRouter> groupRouterSetting;
}
@@ -0,0 +1,26 @@
package com.mgm.mcrm.admin.dtos;
import com.mgm.mcrm.admin.models.SysRouter;
import com.mgm.mcrm.admin.models.SysRouterPermission;
import com.mgm.mcrm.admin.models.SysUserSetting;
import com.mgm.mcrm.admin.models.SysUserView;
import com.mgm.mcrm.authorization.dtos.LoginUserInfo;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
@Data
public class LoginInfo {
private LoginUserInfo loginUser;
private String defaultRouter;
private String accessToken;
private String refreshToken;
private String clientId;
private LocalDateTime lastPostTime;
private List<SysUserSetting> listUserSetting;
private List<SysRouter> listRouter;
private Map<String, List<SysRouterPermission>> listPermission;
}
@@ -0,0 +1,21 @@
package com.mgm.mcrm.admin.dtos;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
public class PlayerProfile {
private String playerId;
private String name;
private String chineseName;
private String englishName;
private String tier;
private String tierName;
private String salutation;
private boolean coded;
private List<Integer> nameIds=new ArrayList<Integer>();
}
@@ -0,0 +1,42 @@
package com.mgm.mcrm.admin.dtos;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.ArrayList;
import java.util.List;
@Getter
@Setter
@NoArgsConstructor
public class PlayerProfileDto {
@JSONField(name = "playerId")
private String playerId;
@JSONField(name = "name")
private String name;
@JSONField(name = "chineseName")
private String chineseName;
@JSONField(name = "englishName")
private String englishName;
@JSONField(name = "tierId") // JSON中的tierId映射到DTO的tier字段
private String tier;
@JSONField(name = "tierName")
private String tierName;
@JSONField(name = "salutation")
private String salutation;
@JSONField(name = "codedFlag") // JSON中的codedFlag映射到DTO的coded字段
private boolean coded;
@JSONField(name = "nameIds")
private List<Integer> nameIds = new ArrayList<>();
}
@@ -0,0 +1,34 @@
package com.mgm.mcrm.admin.dtos;
public class ResFileResult {
private boolean success=false;
private String fileName;
private String filePath;
private String errorMessage;
public boolean isSuccess() {
return success;
}
public void setSuccess(boolean success) {
this.success = success;
}
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
public String getFilePath() {
return filePath;
}
public void setFilePath(String filePath) {
this.filePath = filePath;
}
public String getErrorMessage() {
return errorMessage;
}
public void setErrorMessage(String errorMessage) {
this.errorMessage = errorMessage;
}
}
@@ -0,0 +1,20 @@
package com.mgm.mcrm.admin.dtos;
import com.mgm.mcrm.admin.models.SysRouter;
import java.io.Serializable;
import java.util.List;
public class RouterPages {
private List<SysRouter> pages;
public List<SysRouter> getPages() {
return pages;
}
public void setPages(List<SysRouter> pages) {
this.pages = pages;
}
}
@@ -0,0 +1,18 @@
package com.mgm.mcrm.admin.dtos;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
public class SysGroupDataPermissionDto {
private Long id;
private Long groupId;
private String dataId;
private String dataType;
private String permissionId;
}
@@ -0,0 +1,24 @@
package com.mgm.mcrm.admin.dtos;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.time.LocalDateTime;
@Getter
@Setter
@NoArgsConstructor
public class SysGroupDto {
private Long id;
private String displayName;
private String defaultProperty;
private Integer status;
private LocalDateTime createdAt;
private String createdBy;
private LocalDateTime updatedAt;
private String updatedBy;
}
@@ -0,0 +1,23 @@
package com.mgm.mcrm.admin.dtos;
import com.mgm.mcrm.admin.models.SysGroupPermissionKey;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
@Entity
@Table(name="sys_group_permissions")
@IdClass(SysGroupPermissionKey.class)
public class SysGroupPermissionDto {
@Id
@Column(name = "group_id")
private Long groupId;
@Id
@Column(name="permission_id")
private String permissionId;
}
@@ -0,0 +1,38 @@
package com.mgm.mcrm.admin.dtos;
import com.mgm.mcrm.admin.models.SysRouterPermission;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
@Getter
@Setter
@NoArgsConstructor
public class SysRouterDto {
private String id;
private String parentId;
private String heading;
private String sectionTitle;
private String route;
private String svgIcon;
private String fontIcon;
private Integer sortNo;
private Integer status;
private LocalDateTime createdAt;
private String createdBy;
private LocalDateTime updatedAt;
private String updatedBy;
@Transient
private List<SysRouterDto> sub;
@Transient
private List<SysRouterPermission> routePermissions=new ArrayList<SysRouterPermission>();
}
@@ -0,0 +1,22 @@
package com.mgm.mcrm.admin.dtos;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
public class SysRouterPermissionDto {
private String id;
private String routerId;
private String permissionCode;
private String permissionName;
@Transient
private boolean selected=false;
@Transient
private String dataPermissionTag;
}
@@ -0,0 +1,25 @@
package com.mgm.mcrm.admin.dtos;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.time.LocalDateTime;
@Getter
@Setter
@NoArgsConstructor
public class SysUserDto {
private Long id;
private String loginId;
private String displayName;
private Integer category;
private Long teamStructureId;
private Integer status;
private LocalDateTime createdAt;
private String createdBy;
private LocalDateTime updatedAt;
private String updatedBy;
}
@@ -0,0 +1,20 @@
package com.mgm.mcrm.admin.dtos;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.ArrayList;
import java.util.List;
@Getter
@Setter
@NoArgsConstructor
public class UserDto {
private String userName;
private String userId;
private String teamStructureId;
private String sectionId;
private String section;
}
@@ -0,0 +1,22 @@
package com.mgm.mcrm.admin.dtos.request;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Data
@Getter
@Setter
@NoArgsConstructor
@Schema(description = "Get Player Request")
public class LookupPlayerRequest {
@Schema(description = "User ID")
private String userId;
@Schema(description = "Player ID")
private String playerId;
}
@@ -0,0 +1,17 @@
package com.mgm.mcrm.admin.dtos.request;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Data
@Getter
@Setter
@NoArgsConstructor
@Schema(description = "Get User Request")
public class LookupUserRequest {
@Schema(description = "User ID")
private String userId;
}
@@ -0,0 +1,16 @@
package com.mgm.mcrm.admin.dtos.request;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class SysGroupCreateUpdateRequest {
private Long id;
private String loginId;
private String displayName;
private Integer category;
private Integer status;
private LocalDateTime createdAt;
private LocalDateTime updatedAt;
}
@@ -0,0 +1,13 @@
package com.mgm.mcrm.admin.dtos.request;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
public class SysGroupDeleteByIdRequest {
private Long Id;
}
@@ -0,0 +1,12 @@
package com.mgm.mcrm.admin.dtos.request;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
public class SysGroupGetAccessSettingRequest {
private Long searchGroupId;
}
@@ -0,0 +1,13 @@
package com.mgm.mcrm.admin.dtos.request;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
public class SysGroupGetByIdRequest {
private Long searchId;
}
@@ -0,0 +1,19 @@
package com.mgm.mcrm.admin.dtos.request;
import com.mgm.mcrm.common.dtos.BasePageRequest;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
public class SysGroupPageRequest extends BasePageRequest {
private String searchName;
private Integer searchGroupId;
private Integer searchRoleId;
private String searchId;
}
@@ -0,0 +1,17 @@
package com.mgm.mcrm.admin.dtos.request;
import com.mgm.mcrm.admin.dtos.GroupAccessControlRouter;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.List;
@Getter
@Setter
@NoArgsConstructor
public class SysGroupPermissionSettingRequest {
private Long searchGroupId;
}
@@ -0,0 +1,18 @@
package com.mgm.mcrm.admin.dtos.request;
import com.mgm.mcrm.admin.dtos.AssignGroupDataAccess;
import com.mgm.mcrm.admin.dtos.GroupAccessControlRouter;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.List;
@Getter
@Setter
@NoArgsConstructor
public class SysGroupSaveAccessSettingRequest {
private Long groupId;
private String groupName;
private List<GroupAccessControlRouter> accessRouters;
}
@@ -0,0 +1,12 @@
package com.mgm.mcrm.admin.dtos.request;
import lombok.Data;
@Data
public class SysUserCreateUpdateRequest {
private Long id;
private String loginId;
private String displayName;
private Integer category;
private Integer status;
}
@@ -0,0 +1,13 @@
package com.mgm.mcrm.admin.dtos.request;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
public class SysUserGetByIdRequest {
private Long searchUserId;
}
@@ -0,0 +1,15 @@
package com.mgm.mcrm.admin.dtos.request;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
public class SysUserLookUpRequest {
private String username;
}
@@ -0,0 +1,21 @@
package com.mgm.mcrm.admin.dtos.request;
import com.mgm.mcrm.common.dtos.BasePageRequest;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.List;
@Getter
@Setter
@NoArgsConstructor
public class SysUserPageRequest extends BasePageRequest {
private String searchLoginId;
private String searchName;
private Integer searchGroupId;
private Integer searchRoleId;
private String searchId;
}
@@ -0,0 +1,15 @@
package com.mgm.mcrm.admin.dtos.request;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
public class SysUserUpdateStatusRequest {
private Long id;
private Integer status;
}
@@ -0,0 +1,20 @@
package com.mgm.mcrm.admin.dtos.response;
import com.mgm.mcrm.admin.dtos.PlayerProfileDto;
import com.mgm.mcrm.common.dtos.BaseApiResponse;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
@Schema(description = "Response info of Player")
public class LookupPlayerResponse extends BaseApiResponse {
@Schema(description = "Match Player List")
private PlayerProfileDto data;
}
@@ -0,0 +1,21 @@
package com.mgm.mcrm.admin.dtos.response;
import com.mgm.mcrm.admin.dtos.PlayerProfileDto;
import com.mgm.mcrm.admin.dtos.UserDto;
import com.mgm.mcrm.common.dtos.BaseApiResponse;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
@Schema(description = "Response info of User")
public class LookupUserResponse extends BaseApiResponse {
@Schema(description = "Match User Object")
private UserDto data;
}
@@ -0,0 +1,11 @@
package com.mgm.mcrm.admin.mappers;
import com.mgm.mcrm.admin.dtos.PlayerProfile;
import com.mgm.mcrm.admin.dtos.PlayerProfileDto;
import org.mapstruct.Mapper;
@Mapper(componentModel = "spring")
public interface PlayerMapper {
PlayerProfileDto toPlayerDto(PlayerProfile player);
}
@@ -0,0 +1,41 @@
package com.mgm.mcrm.admin.mappers;
import com.mgm.mcrm.admin.dtos.SysGroupDataPermissionDto;
import com.mgm.mcrm.admin.dtos.SysGroupDto;
import com.mgm.mcrm.admin.dtos.SysGroupPermissionDto;
import com.mgm.mcrm.admin.dtos.SysUserDto;
import com.mgm.mcrm.admin.models.SysGroup;
import com.mgm.mcrm.admin.models.SysGroupDataPermission;
import com.mgm.mcrm.admin.models.SysGroupPermission;
import com.mgm.mcrm.admin.models.SysUser;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import java.util.List;
@Mapper(componentModel = "spring")
public interface SysGroupMapper {
List<SysGroupDto> toSysGroupDtosList(List<SysGroup> sysGroups);
@Mapping(target = "id", source = "id")
SysGroupDto toSysGroupDto(SysGroup sysGroup);
@Mapping(target = "id", source = "id")
SysGroup toSysGroup(SysGroupDto sysGroupDto);
List<SysGroupDataPermissionDto> toSysGroupDataPermissionDtosList(List<SysGroupDataPermission> sysGroupDataPermissions);
@Mapping(target = "id", source = "id")
SysGroupDataPermissionDto toSysGroupDataPermissionDto(SysGroupDataPermission sysGroupDataPermission);
List<SysGroupDataPermission> toSysGroupDataPermissionList(List<SysGroupDataPermissionDto> sysGroupDataPermissionDtos);
List<SysGroupPermissionDto> toSysGroupPermissionDtosList(List<SysGroupPermission> sysGroupPermissions);
SysGroupPermissionDto toSysGroupPermissionDto(SysGroupPermission sysGroupPermission);
List<SysGroupPermission> toSysGroupPermissionList(List<SysGroupPermissionDto> sysGroupPermissionDtos);
SysGroupPermissionDto toSysGroupPermissionDto(SysGroupPermissionDto sysGroupPermissionDto);
}
@@ -0,0 +1,35 @@
package com.mgm.mcrm.admin.mappers;
import com.mgm.mcrm.admin.dtos.SysGroupDataPermissionDto;
import com.mgm.mcrm.admin.dtos.SysGroupDto;
import com.mgm.mcrm.admin.dtos.SysRouterDto;
import com.mgm.mcrm.admin.dtos.SysRouterPermissionDto;
import com.mgm.mcrm.admin.models.SysGroup;
import com.mgm.mcrm.admin.models.SysGroupDataPermission;
import com.mgm.mcrm.admin.models.SysRouter;
import com.mgm.mcrm.admin.models.SysRouterPermission;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import java.util.List;
@Mapper(componentModel = "spring")
public interface SysRouterMapper {
List<SysRouterDto> toSysRouterDtosList(List<SysRouter> sysRouters);
@Mapping(target = "id", source = "id")
SysRouterDto toSysRouterDto(SysRouter sysRouter);
List<SysRouter> toSysRouterList(List<SysRouterDto> sysRouterDtos);
List<SysRouterPermissionDto> toSysRouterPermissionDtosList(List<SysRouterPermission> sysRouterPermissions);
@Mapping(target = "id", source = "id")
SysRouterPermissionDto toSysRouterPermissionDto(SysRouterPermission sysRouterPermission);
List<SysRouterPermission> toSysRouterPermissionList(List<SysRouterPermissionDto> sysRouterPermissionDtos);
@Mapping(target = "id", source = "id")
SysRouterPermission toSysRouterPermission(SysRouterPermissionDto sysRouterPermissionDto);
}
@@ -0,0 +1,24 @@
package com.mgm.mcrm.admin.mappers;
import com.mgm.mcrm.admin.dtos.SysUserDto;
import com.mgm.mcrm.admin.models.SysUser;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import java.util.List;
@Mapper(componentModel = "spring")
public interface SysUserMapper {
@Mapping(target = "id", source = "id")
List<SysUserDto> toSysUserDtosList(List<SysUser> sysUsers);
@Mapping(target = "id", source = "id")
SysUserDto toSysUserDto(SysUser sysUser);
@Mapping(target = "id", source = "id")
SysUser toSysUser(SysUserDto sysUserDto);
@Mapping(target = "id", source = "id")
List<SysUser> toSysUserList(List<SysUserDto> sysUsers);
}
@@ -0,0 +1,28 @@
package com.mgm.mcrm.admin.mappers;
import com.alibaba.fastjson.JSONObject;
import com.mgm.mcrm.admin.dtos.UserDto;
import org.mapstruct.Mapper;
@Mapper(componentModel = "spring")
public interface UserMapper {
default UserDto toUserDto(Object user) {
try {
JSONObject tempUser = (JSONObject) user;
UserDto dto = new UserDto();
dto.setUserName(tempUser.getString("userName"));
dto.setUserId(tempUser.getString("userId"));
dto.setSection(tempUser.getString("section"));
dto.setTeamStructureId(tempUser.getString("teamStructureId"));
dto.setSectionId(tempUser.getString("sectionId"));
return dto;
} catch (Exception e) {
e.printStackTrace();
return new UserDto();
}
}
}
@@ -0,0 +1,40 @@
package com.mgm.mcrm.admin.models;
import java.time.LocalDateTime;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
@Entity
@Table(name="sys_groups")
public class SysGroup{
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name="display_name")
private String displayName;
@Column(name="default_property")
private String defaultProperty;
@Column(name="status")
private Integer status;
@Column(name="created_at")
private LocalDateTime createdAt;
@Column(name="created_by")
private String createdBy;
@Column(name="updated_at")
private LocalDateTime updatedAt;
@Column(name="updated_by")
private String updatedBy;
}

Some files were not shown because too many files have changed in this diff Show More