commit db400b3fa69bafa937448642ae1de03048569ff4
Author: Gary <3489015381@qq.com>
Date: Fri Dec 6 14:59:26 2024 +0800
初始化项目结构
diff --git a/.idea/.cache/.Apifox_Helper/.toolWindow.db b/.idea/.cache/.Apifox_Helper/.toolWindow.db
new file mode 100644
index 0000000..e435bfb
Binary files /dev/null and b/.idea/.cache/.Apifox_Helper/.toolWindow.db differ
diff --git a/.idea/.cache/.Apifox_Helper/.toolWindow.sql b/.idea/.cache/.Apifox_Helper/.toolWindow.sql
new file mode 100644
index 0000000..29b3108
--- /dev/null
+++ b/.idea/.cache/.Apifox_Helper/.toolWindow.sql
@@ -0,0 +1,3 @@
+INSERT INTO requestDataHistory
+(historyId, nodeId, pathId, methodNameId, parameterId, responseId, urlId, "type", url, params, paths, headers, cookies, bodyType, formDatas, wwwFormDatas, json, xml, rawData, binaryData, responseData, responseDataType,responseHeaders,responseCookies, code,time,size,createTime, updateTime)
+VALUES('026ce15e-81f8-49fe-8393-a48e28fe2917','8d2917cda94ddbc568ae0002f1244be7','','','','','','POST','http://127.0.0.1:8083/stu/login','rO0ABXQAAltd','rO0ABXQAAltd','rO0ABXQAAltd','rO0ABXQAAltd','json','rO0ABXQAAltd','rO0ABXQAAltd','rO0ABXQAU3sKICAidXNlcm5hbWUiOiAic1Rlc3QiLAogICJwYXNzd29yZCI6ICIxMjM0NTYiLAogICJpZGVudGl0eSI6ICIiLAogICJhdmF0YXIiOiAiIgp9','','','','eyJ0aW1lc3RhbXAiOiIyMDI0LTEyLTAzVDE0OjA0OjQ3LjczOSswMDowMCIsInN0YXR1cyI6NTAwLCJlcnJvciI6IkludGVybmFsIFNlcnZlciBFcnJvciIsInRyYWNlIjoib3JnLm15YmF0aXMuc3ByaW5nLk15QmF0aXNTeXN0ZW1FeGNlcHRpb246IG5lc3RlZCBleGNlcHRpb24gaXMgb3JnLmFwYWNoZS5pYmF0aXMuZXhjZXB0aW9ucy5QZXJzaXN0ZW5jZUV4Y2VwdGlvbjogXHJcbiMjIyBFcnJvciBxdWVyeWluZyBkYXRhYmFzZS4gIENhdXNlOiBvcmcuc3ByaW5nZnJhbWV3b3JrLmpkYmMuQ2Fubm90R2V0SmRiY0Nvbm5lY3Rpb25FeGNlcHRpb246IEZhaWxlZCB0byBvYnRhaW4gSkRCQyBDb25uZWN0aW9uOyBuZXN0ZWQgZXhjZXB0aW9uIGlzIGNvbS5teXNxbC5jai5qZGJjLmV4Y2VwdGlvbnMuQ29tbXVuaWNhdGlvbnNFeGNlcHRpb246IENvbW11bmljYXRpb25zIGxpbmsgZmFpbHVyZVxuXG5UaGUgbGFzdCBwYWNrZXQgc2VudCBzdWNjZXNzZnVsbHkgdG8gdGhlIHNlcnZlciB3YXMgMCBtaWxsaXNlY29uZHMgYWdvLiBUaGUgZHJpdmVyIGhhcyBub3QgcmVjZWl2ZWQgYW55IHBhY2tldHMgZnJvbSB0aGUgc2VydmVyLlxyXG4jIyMgVGhlIGVycm9yIG1heSBleGlzdCBpbiBjb20vZXhhbXBsZS9zcHJpbmdib290L21hcHBlci9TdHVkZW50TWFwcGVyLmphdmEgKGJlc3QgZ3Vlc3MpXHJcbiMjIyBUaGUgZXJyb3IgbWF5IGludm9sdmUgY29tLmV4YW1wbGUuc3ByaW5nYm9vdC5tYXBwZXIuU3R1ZGVudE1hcHBlci5zZWxlY3RMaXN0XHJcbiMjIyBUaGUgZXJyb3Igb2NjdXJyZWQgd2hpbGUgZXhlY3V0aW5nIGEgcXVlcnlcclxuIyMjIENhdXNlOiBvcmcuc3ByaW5nZnJhbWV3b3JrLmpkYmMuQ2Fubm90R2V0SmRiY0Nvbm5lY3Rpb25FeGNlcHRpb246IEZhaWxlZCB0byBvYnRhaW4gSkRCQyBDb25uZWN0aW9uOyBuZXN0ZWQgZXhjZXB0aW9uIGlzIGNvbS5teXNxbC5jai5qZGJjLmV4Y2VwdGlvbnMuQ29tbXVuaWNhdGlvbnNFeGNlcHRpb246IENvbW11bmljYXRpb25zIGxpbmsgZmFpbHVyZVxuXG5UaGUgbGFzdCBwYWNrZXQgc2VudCBzdWNjZXNzZnVsbHkgdG8gdGhlIHNlcnZlciB3YXMgMCBtaWxsaXNlY29uZHMgYWdvLiBUaGUgZHJpdmVyIGhhcyBub3QgcmVjZWl2ZWQgYW55IHBhY2tldHMgZnJvbSB0aGUgc2VydmVyLlxyXG5cdGF0IG9yZy5teWJhdGlzLnNwcmluZy5NeUJhdGlzRXhjZXB0aW9uVHJhbnNsYXRvci50cmFuc2xhdGVFeGNlcHRpb25JZlBvc3NpYmxlKE15QmF0aXNFeGNlcHRpb25UcmFuc2xhdG9yLmphdmE6OTYpXHJcblx0YXQgb3JnLm15YmF0aXMuc3ByaW5nLlNxbFNlc3Npb25UZW1wbGF0ZSRTcWxTZXNzaW9uSW50ZXJjZXB0b3IuaW52b2tlKFNxbFNlc3Npb25UZW1wbGF0ZS5qYXZhOjQ0MSlcclxuXHRhdCBqZGsucHJveHkyL2pkay5wcm94eTIuJFByb3h5Njcuc2VsZWN0TGlzdChVbmtub3duIFNvdXJjZSlcclxuXHRhdCBvcmcubXliYXRpcy5zcHJpbmcuU3FsU2Vzc2lvblRlbXBsYXRlLnNlbGVjdExpc3QoU3FsU2Vzc2lvblRlbXBsYXRlLmphdmE6MjI0KVxyXG5cdGF0IGNvbS5iYW9taWRvdS5teWJhdGlzcGx1cy5jb3JlLm92ZXJyaWRlLk15YmF0aXNNYXBwZXJNZXRob2QuZXhlY3V0ZUZvck1hbnkoTXliYXRpc01hcHBlck1ldGhvZC5qYXZhOjE2NilcclxuXHRhdCBjb20uYmFvbWlkb3UubXliYXRpc3BsdXMuY29yZS5vdmVycmlkZS5NeWJhdGlzTWFwcGVyTWV0aG9kLmV4ZWN1dGUoTXliYXRpc01hcHBlck1ldGhvZC5qYXZhOjc3KVxyXG5cdGF0IGNvbS5iYW9taWRvdS5teWJhdGlzcGx1cy5jb3JlLm92ZXJyaWRlLk15YmF0aXNNYXBwZXJQcm94eSRQbGFpbk1ldGhvZEludm9rZXIuaW52b2tlKE15YmF0aXNNYXBwZXJQcm94eS5qYXZhOjE0OClcclxuXHRhdCBjb20uYmFvbWlkb3UubXliYXRpc3BsdXMuY29yZS5vdmVycmlkZS5NeWJhdGlzTWFwcGVyUHJveHkuaW52b2tlKE15YmF0aXNNYXBwZXJQcm94eS5qYXZhOjg5KVxyXG5cdGF0IGpkay5wcm94eTUvamRrLnByb3h5NS4kUHJveHkxMDQuc2VsZWN0TGlzdChVbmtub3duIFNvdXJjZSlcclxuXHRhdCBjb20uYmFvbWlkb3UubXliYXRpc3BsdXMuY29yZS5tYXBwZXIuQmFzZU1hcHBlci5zZWxlY3RPbmUoQmFzZU1hcHBlci5qYXZhOjE3MylcclxuXHRhdCBqYXZhLmJhc2UvamF2YS5sYW5nLmludm9rZS5NZXRob2RIYW5kbGUuaW52b2tlV2l0aEFyZ3VtZW50cyhNZXRob2RIYW5kbGUuamF2YTo3MzIpXHJcblx0YXQgY29tLmJhb21pZG91Lm15YmF0aXNwbHVzLmNvcmUub3ZlcnJpZGUuTXliYXRpc01hcHBlclByb3h5JERlZmF1bHRNZXRob2RJbnZva2VyLmludm9rZShNeWJhdGlzTWFwcGVyUHJveHkuamF2YToxNjIpXHJcblx0YXQgY29tLmJhb21pZG91Lm15YmF0aXNwbHVzLmNvcmUub3ZlcnJpZGUuTXliYXRpc01hcHBlclByb3h5Lmludm9rZShNeWJhdGlzTWFwcGVyUHJveHkuamF2YTo4OSlcclxuXHRhdCBqZGsucHJveHk1L2pkay5wcm94eTUuJFByb3h5MTA0LnNlbGVjdE9uZShVbmtub3duIFNvdXJjZSlcclxuXHRhdCBjb20uZXhhbXBsZS5zcHJpbmdib290LnNlcnZpY2UuaW1wbC5TdHVkZW50U2VydmljZUltcGwuc3R1TG9naW4oU3R1ZGVudFNlcnZpY2VJbXBsLmphdmE6NDMpXHJcblx0YXQgY29tLmV4YW1wbGUuc3ByaW5nYm9vdC5zZXJ2aWNlLmltcGwuU3R1ZGVudFNlcnZpY2VJbXBsJCRGYXN0Q2xhc3NCeVNwcmluZ0NHTElCJCQ4NDE1OWNkMS5pbnZva2UoPGdlbmVyYXRlZD4pXHJcblx0YXQgb3JnLnNwcmluZ2ZyYW1ld29yay5jZ2xpYi5wcm94eS5NZXRob2RQcm94eS5pbnZva2UoTWV0aG9kUHJveHkuamF2YToyMTgpXHJcblx0YXQgb3JnLnNwcmluZ2ZyYW1ld29yay5hb3AuZnJhbWV3b3JrLkNnbGliQW9wUHJveHkkRHluYW1pY0FkdmlzZWRJbnRlcmNlcHRvci5pbnRlcmNlcHQoQ2dsaWJBb3BQcm94eS5qYXZhOjY4OSlcclxuXHRhdCBjb20uZXhhbXBsZS5zcHJpbmdib290LnNlcnZpY2UuaW1wbC5TdHVkZW50U2VydmljZUltcGwkJEVuaGFuY2VyQnlTcHJpbmdDR0xJQiQkNDBiMTlkNi5zdHVMb2dpbig8Z2VuZXJhdGVkPilcclxuXHRhdCBjb20uZXhhbXBsZS5zcHJpbmdib290LmNvbnRyb2xsZXIuU3R1ZGVudENvbnRyb2xsZXIubG9naW4oU3R1ZGVudENvbnRyb2xsZXIuamF2YToxMDApXHJcblx0YXQgamF2YS5iYXNlL2pkay5pbnRlcm5hbC5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UwKE5hdGl2ZSBNZXRob2QpXHJcblx0YXQgamF2YS5iYXNlL2pkay5pbnRlcm5hbC5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6NzcpXHJcblx0YXQgamF2YS5iYXNlL2pkay5pbnRlcm5hbC5yZWZsZWN0LkRlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuamF2YTo0MylcclxuXHRhdCBqYXZhLmJhc2UvamF2YS5sYW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZShNZXRob2QuamF2YTo1NjgpXHJcblx0YXQgb3JnLnNwcmluZ2ZyYW1ld29yay53ZWIubWV0aG9kLnN1cHBvcnQuSW52b2NhYmxlSGFuZGxlck1ldGhvZC5kb0ludm9rZShJbnZvY2FibGVIYW5kbGVyTWV0aG9kLmphdmE6MjA1KVxyXG5cdGF0IG9yZy5zcHJpbmdmcmFtZXdvcmsud2ViLm1ldGhvZC5zdXBwb3J0Lkludm9jYWJsZUhhbmRsZXJNZXRob2QuaW52b2tlRm9yUmVxdWVzdChJbnZvY2FibGVIYW5kbGVyTWV0aG9kLmphdmE6MTUwKVxyXG5cdGF0IG9yZy5zcHJpbmdmcmFtZXdvcmsud2ViLnNlcnZsZXQubXZjLm1ldGhvZC5hbm5vdGF0aW9uLlNlcnZsZXRJbnZvY2FibGVIYW5kbGVyTWV0aG9kLmludm9rZUFuZEhhbmRsZShTZXJ2bGV0SW52b2NhYmxlSGFuZGxlck1ldGhvZC5qYXZhOjExNylcclxuXHRhdCBvcmcuc3ByaW5nZnJhbWV3b3JrLndlYi5zZXJ2bGV0Lm12Yy5tZXRob2QuYW5ub3RhdGlvbi5SZXF1ZXN0TWFwcGluZ0hhbmRsZXJBZGFwdGVyLmludm9rZUhhbmRsZXJNZXRob2QoUmVxdWVzdE1hcHBpbmdIYW5kbGVyQWRhcHRlci5qYXZhOjg5NSlcclxuXHRhdCBvcmcuc3ByaW5nZnJhbWV3b3JrLndlYi5zZXJ2bGV0Lm12Yy5tZXRob2QuYW5ub3RhdGlvbi5SZXF1ZXN0TWFwcGluZ0hhbmRsZXJBZGFwdGVyLmhhbmRsZUludGVybmFsKFJlcXVlc3RNYXBwaW5nSGFuZGxlckFkYXB0ZXIuamF2YTo4MDgpXHJcblx0YXQgb3JnLnNwcmluZ2ZyYW1ld29yay53ZWIuc2VydmxldC5tdmMubWV0aG9kLkFic3RyYWN0SGFuZGxlck1ldGhvZEFkYXB0ZXIuaGFuZGxlKEFic3RyYWN0SGFuZGxlck1ldGhvZEFkYXB0ZXIuamF2YTo4NylcclxuXHRhdCBvcmcuc3ByaW5nZnJhbWV3b3JrLndlYi5zZXJ2bGV0LkRpc3BhdGNoZXJTZXJ2bGV0LmRvRGlzcGF0Y2goRGlzcGF0Y2hlclNlcnZsZXQuamF2YToxMDY3KVxyXG5cdGF0IG9yZy5zcHJpbmdmcmFtZXdvcmsud2ViLnNlcnZsZXQuRGlzcGF0Y2hlclNlcnZsZXQuZG9TZXJ2aWNlKERpc3BhdGNoZXJTZXJ2bGV0LmphdmE6OTYzKVxyXG5cdGF0IG9yZy5zcHJpbmdmcmFtZXdvcmsud2ViLnNlcnZsZXQuRnJhbWV3b3JrU2VydmxldC5wcm9jZXNzUmVxdWVzdChGcmFtZXdvcmtTZXJ2bGV0LmphdmE6MTAwNilcclxuXHRhdCBvcmcuc3ByaW5nZnJhbWV3b3JrLndlYi5zZXJ2bGV0LkZyYW1ld29ya1NlcnZsZXQuZG9Qb3N0KEZyYW1ld29ya1NlcnZsZXQuamF2YTo5MDkpXHJcblx0YXQgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0LnNlcnZpY2UoSHR0cFNlcnZsZXQuamF2YTo2ODEpXHJcblx0YXQgb3JnLnNwcmluZ2ZyYW1ld29yay53ZWIuc2VydmxldC5GcmFtZXdvcmtTZXJ2bGV0LnNlcnZpY2UoRnJhbWV3b3JrU2VydmxldC5qYXZhOjg4MylcclxuXHRhdCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXQuc2VydmljZShIdHRwU2VydmxldC5qYXZhOjc2NClcclxuXHRhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuQXBwbGljYXRpb25GaWx0ZXJDaGFpbi5pbnRlcm5hbERvRmlsdGVyKEFwcGxpY2F0aW9uRmlsdGVyQ2hhaW4uamF2YToyMjcpXHJcblx0YXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLkFwcGxpY2F0aW9uRmlsdGVyQ2hhaW4uZG9GaWx0ZXIoQXBwbGljYXRpb25GaWx0ZXJDaGFpbi5qYXZhOjE2MilcclxuXHRhdCBvcmcuYXBhY2hlLnRvbWNhdC53ZWJzb2NrZXQuc2VydmVyLldzRmlsdGVyLmRvRmlsdGVyKFdzRmlsdGVyLmphdmE6NTMpXHJcblx0YXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLkFwcGxpY2F0aW9uRmlsdGVyQ2hhaW4uaW50ZXJuYWxEb0ZpbHRlcihBcHBsaWNhdGlvbkZpbHRlckNoYWluLmphdmE6MTg5KVxyXG5cdGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5BcHBsaWNhdGlvbkZpbHRlckNoYWluLmRvRmlsdGVyKEFwcGxpY2F0aW9uRmlsdGVyQ2hhaW4uamF2YToxNjIpXHJcblx0YXQgb3JnLnNwcmluZ2ZyYW1ld29yay53ZWIuZmlsdGVyLkNvcnNGaWx0ZXIuZG9GaWx0ZXJJbnRlcm5hbChDb3JzRmlsdGVyLmphdmE6OTEpXHJcblx0YXQgb3JnLnNwcmluZ2ZyYW1ld29yay53ZWIuZmlsdGVyLk9uY2VQZXJSZXF1ZXN0RmlsdGVyLmRvRmlsdGVyKE9uY2VQZXJSZXF1ZXN0RmlsdGVyLmphdmE6MTE3KVxyXG5cdGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5BcHBsaWNhdGlvbkZpbHRlckNoYWluLmludGVybmFsRG9GaWx0ZXIoQXBwbGljYXRpb25GaWx0ZXJDaGFpbi5qYXZhOjE4OSlcclxuXHRhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuQXBwbGljYXRpb25GaWx0ZXJDaGFpbi5kb0ZpbHRlcihBcHBsaWNhdGlvbkZpbHRlckNoYWluLmphdmE6MTYyKVxyXG5cdGF0IG9yZy5zcHJpbmdmcmFtZXdvcmsud2ViLmZpbHRlci5SZXF1ZXN0Q29udGV4dEZpbHRlci5kb0ZpbHRlckludGVybmFsKFJlcXVlc3RDb250ZXh0RmlsdGVyLmphdmE6MTAwKVxyXG5cdGF0IG9yZy5zcHJpbmdmcmFtZXdvcmsud2ViLmZpbHRlci5PbmNlUGVyUmVxdWVzdEZpbHRlci5kb0ZpbHRlcihPbmNlUGVyUmVxdWVzdEZpbHRlci5qYXZhOjExNylcclxuXHRhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuQXBwbGljYXRpb25GaWx0ZXJDaGFpbi5pbnRlcm5hbERvRmlsdGVyKEFwcGxpY2F0aW9uRmlsdGVyQ2hhaW4uamF2YToxODkpXHJcblx0YXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLkFwcGxpY2F0aW9uRmlsdGVyQ2hhaW4uZG9GaWx0ZXIoQXBwbGljYXRpb25GaWx0ZXJDaGFpbi5qYXZhOjE2MilcclxuXHRhdCBvcmcuc3ByaW5nZnJhbWV3b3JrLndlYi5maWx0ZXIuRm9ybUNvbnRlbnRGaWx0ZXIuZG9GaWx0ZXJJbnRlcm5hbChGb3JtQ29udGVudEZpbHRlci5qYXZhOjkzKVxyXG5cdGF0IG9yZy5zcHJpbmdmcmFtZXdvcmsud2ViLmZpbHRlci5PbmNlUGVyUmVxdWVzdEZpbHRlci5kb0ZpbHRlcihPbmNlUGVyUmVxdWVzdEZpbHRlci5qYXZhOjExNylcclxuXHRhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuQXBwbGljYXRpb25GaWx0ZXJDaGFpbi5pbnRlcm5hbERvRmlsdGVyKEFwcGxpY2F0aW9uRmlsdGVyQ2hhaW4uamF2YToxODkpXHJcblx0YXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLkFwcGxpY2F0aW9uRmlsdGVyQ2hhaW4uZG9GaWx0ZXIoQXBwbGljYXRpb25GaWx0ZXJDaGFpbi5qYXZhOjE2MilcclxuXHRhdCBvcmcuc3ByaW5nZnJhbWV3b3JrLndlYi5maWx0ZXIuQ2hhcmFjdGVyRW5jb2RpbmdGaWx0ZXIuZG9GaWx0ZXJJbnRlcm5hbChDaGFyYWN0ZXJFbmNvZGluZ0ZpbHRlci5qYXZhOjIwMSlcclxuXHRhdCBvcmcuc3ByaW5nZnJhbWV3b3JrLndlYi5maWx0ZXIuT25jZVBlclJlcXVlc3RGaWx0ZXIuZG9GaWx0ZXIoT25jZVBlclJlcXVlc3RGaWx0ZXIuamF2YToxMTcpXHJcblx0YXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLkFwcGxpY2F0aW9uRmlsdGVyQ2hhaW4uaW50ZXJuYWxEb0ZpbHRlcihBcHBsaWNhdGlvbkZpbHRlckNoYWluLmphdmE6MTg5KVxyXG5cdGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5BcHBsaWNhdGlvbkZpbHRlckNoYWluLmRvRmlsdGVyKEFwcGxpY2F0aW9uRmlsdGVyQ2hhaW4uamF2YToxNjIpXHJcblx0YXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0YW5kYXJkV3JhcHBlclZhbHZlLmludm9rZShTdGFuZGFyZFdyYXBwZXJWYWx2ZS5qYXZhOjE5NylcclxuXHRhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRDb250ZXh0VmFsdmUuaW52b2tlKFN0YW5kYXJkQ29udGV4dFZhbHZlLmphdmE6OTcpXHJcblx0YXQgb3JnLmFwYWNoZS5jYXRhbGluYS5hdXRoZW50aWNhdG9yLkF1dGhlbnRpY2F0b3JCYXNlLmludm9rZShBdXRoZW50aWNhdG9yQmFzZS5qYXZhOjU0MClcclxuXHRhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRIb3N0VmFsdmUuaW52b2tlKFN0YW5kYXJkSG9zdFZhbHZlLmphdmE6MTM1KVxyXG5cdGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEudmFsdmVzLkVycm9yUmVwb3J0VmFsdmUuaW52b2tlKEVycm9yUmVwb3J0VmFsdmUuamF2YTo5MilcclxuXHRhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRFbmdpbmVWYWx2ZS5pbnZva2UoU3RhbmRhcmRFbmdpbmVWYWx2ZS5qYXZhOjc4KVxyXG5cdGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29ubmVjdG9yLkNveW90ZUFkYXB0ZXIuc2VydmljZShDb3lvdGVBZGFwdGVyLmphdmE6MzU3KVxyXG5cdGF0IG9yZy5hcGFjaGUuY295b3RlLmh0dHAxMS5IdHRwMTFQcm9jZXNzb3Iuc2VydmljZShIdHRwMTFQcm9jZXNzb3IuamF2YTozODIpXHJcblx0YXQgb3JnLmFwYWNoZS5jb3lvdGUuQWJzdHJhY3RQcm9jZXNzb3JMaWdodC5wcm9jZXNzKEFic3RyYWN0UHJvY2Vzc29yTGlnaHQuamF2YTo2NSlcclxuXHRhdCBvcmcuYXBhY2hlLmNveW90ZS5BYnN0cmFjdFByb3RvY29sJENvbm5lY3Rpb25IYW5kbGVyLnByb2Nlc3MoQWJzdHJhY3RQcm90b2NvbC5qYXZhOjg5NSlcclxuXHRhdCBvcmcuYXBhY2hlLnRvbWNhdC51dGlsLm5ldC5OaW9FbmRwb2ludCRTb2NrZXRQcm9jZXNzb3IuZG9SdW4oTmlvRW5kcG9pbnQuamF2YToxNzMyKVxyXG5cdGF0IG9yZy5hcGFjaGUudG9tY2F0LnV0aWwubmV0LlNvY2tldFByb2Nlc3NvckJhc2UucnVuKFNvY2tldFByb2Nlc3NvckJhc2UuamF2YTo0OSlcclxuXHRhdCBvcmcuYXBhY2hlLnRvbWNhdC51dGlsLnRocmVhZHMuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTkxKVxyXG5cdGF0IG9yZy5hcGFjaGUudG9tY2F0LnV0aWwudGhyZWFkcy5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2NTkpXHJcblx0YXQgb3JnLmFwYWNoZS50b21jYXQudXRpbC50aHJlYWRzLlRhc2tUaHJlYWQkV3JhcHBpbmdSdW5uYWJsZS5ydW4oVGFza1RocmVhZC5qYXZhOjYxKVxyXG5cdGF0IGphdmEuYmFzZS9qYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo4NDIpXHJcbkNhdXNlZCBieTogb3JnLmFwYWNoZS5pYmF0aXMuZXhjZXB0aW9ucy5QZXJzaXN0ZW5jZUV4Y2VwdGlvbjogXHJcbiMjIyBFcnJvciBxdWVyeWluZyBkYXRhYmFzZS4gIENhdXNlOiBvcmcuc3ByaW5nZnJhbWV3b3JrLmpkYmMuQ2Fubm90R2V0SmRiY0Nvbm5lY3Rpb25FeGNlcHRpb246IEZhaWxlZCB0byBvYnRhaW4gSkRCQyBDb25uZWN0aW9uOyBuZXN0ZWQgZXhjZXB0aW9uIGlzIGNvbS5teXNxbC5jai5qZGJjLmV4Y2VwdGlvbnMuQ29tbXVuaWNhdGlvbnNFeGNlcHRpb246IENvbW11bmljYXRpb25zIGxpbmsgZmFpbHVyZVxuXG5UaGUgbGFzdCBwYWNrZXQgc2VudCBzdWNjZXNzZnVsbHkgdG8gdGhlIHNlcnZlciB3YXMgMCBtaWxsaXNlY29uZHMgYWdvLiBUaGUgZHJpdmVyIGhhcyBub3QgcmVjZWl2ZWQgYW55IHBhY2tldHMgZnJvbSB0aGUgc2VydmVyLlxyXG4jIyMgVGhlIGVycm9yIG1heSBleGlzdCBpbiBjb20vZXhhbXBsZS9zcHJpbmdib290L21hcHBlci9TdHVkZW50TWFwcGVyLmphdmEgKGJlc3QgZ3Vlc3MpXHJcbiMjIyBUaGUgZXJyb3IgbWF5IGludm9sdmUgY29tLmV4YW1wbGUuc3ByaW5nYm9vdC5tYXBwZXIuU3R1ZGVudE1hcHBlci5zZWxlY3RMaXN0XHJcbiMjIyBUaGUgZXJyb3Igb2NjdXJyZWQgd2hpbGUgZXhlY3V0aW5nIGEgcXVlcnlcclxuIyMjIENhdXNlOiBvcmcuc3ByaW5nZnJhbWV3b3JrLmpkYmMuQ2Fubm90R2V0SmRiY0Nvbm5lY3Rpb25FeGNlcHRpb246IEZhaWxlZCB0byBvYnRhaW4gSkRCQyBDb25uZWN0aW9uOyBuZXN0ZWQgZXhjZXB0aW9uIGlzIGNvbS5teXNxbC5jai5qZGJjLmV4Y2VwdGlvbnMuQ29tbXVuaWNhdGlvbnNFeGNlcHRpb246IENvbW11bmljYXRpb25zIGxpbmsgZmFpbHVyZVxuXG5UaGUgbGFzdCBwYWNrZXQgc2VudCBzdWNjZXNzZnVsbHkgdG8gdGhlIHNlcnZlciB3YXMgMCBtaWxsaXNlY29uZHMgYWdvLiBUaGUgZHJpdmVyIGhhcyBub3QgcmVjZWl2ZWQgYW55IHBhY2tldHMgZnJvbSB0aGUgc2VydmVyLlxyXG5cdGF0IG9yZy5hcGFjaGUuaWJhdGlzLmV4Y2VwdGlvbnMuRXhjZXB0aW9uRmFjdG9yeS53cmFwRXhjZXB0aW9uKEV4Y2VwdGlvbkZhY3RvcnkuamF2YTozMClcclxuXHRhdCBvcmcuYXBhY2hlLmliYXRpcy5zZXNzaW9uLmRlZmF1bHRzLkRlZmF1bHRTcWxTZXNzaW9uLnNlbGVjdExpc3QoRGVmYXVsdFNxbFNlc3Npb24uamF2YToxNTMpXHJcblx0YXQgb3JnLmFwYWNoZS5pYmF0aXMuc2Vzc2lvbi5kZWZhdWx0cy5EZWZhdWx0U3FsU2Vzc2lvbi5zZWxlY3RMaXN0KERlZmF1bHRTcWxTZXNzaW9uLmphdmE6MTQ1KVxyXG5cdGF0IG9yZy5hcGFjaGUuaWJhdGlzLnNlc3Npb24uZGVmYXVsdHMuRGVmYXVsdFNxbFNlc3Npb24uc2VsZWN0TGlzdChEZWZhdWx0U3FsU2Vzc2lvbi5qYXZhOjE0MClcclxuXHRhdCBqYXZhLmJhc2UvamRrLmludGVybmFsLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZTAoTmF0aXZlIE1ldGhvZClcclxuXHRhdCBqYXZhLmJhc2UvamRrLmludGVybmFsLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShOYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuamF2YTo3NylcclxuXHRhdCBqYXZhLmJhc2UvamRrLmludGVybmFsLnJlZmxlY3QuRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjQzKVxyXG5cdGF0IGphdmEuYmFzZS9qYXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tlKE1ldGhvZC5qYXZhOjU2OClcclxuXHRhdCBvcmcubXliYXRpcy5zcHJpbmcuU3FsU2Vzc2lvblRlbXBsYXRlJFNxbFNlc3Npb25JbnRlcmNlcHRvci5pbnZva2UoU3FsU2Vzc2lvblRlbXBsYXRlLmphdmE6NDI3KVxyXG5cdC4uLiA3MiBtb3JlXHJcbkNhdXNlZCBieTogb3JnLnNwcmluZ2ZyYW1ld29yay5qZGJjLkNhbm5vdEdldEpkYmNDb25uZWN0aW9uRXhjZXB0aW9uOiBGYWlsZWQgdG8gb2J0YWluIEpEQkMgQ29ubmVjdGlvbjsgbmVzdGVkIGV4Y2VwdGlvbiBpcyBjb20ubXlzcWwuY2ouamRiYy5leGNlcHRpb25zLkNvbW11bmljYXRpb25zRXhjZXB0aW9uOiBDb21tdW5pY2F0aW9ucyBsaW5rIGZhaWx1cmVcblxuVGhlIGxhc3QgcGFja2V0IHNlbnQgc3VjY2Vzc2Z1bGx5IHRvIHRoZSBzZXJ2ZXIgd2FzIDAgbWlsbGlzZWNvbmRzIGFnby4gVGhlIGRyaXZlciBoYXMgbm90IHJlY2VpdmVkIGFueSBwYWNrZXRzIGZyb20gdGhlIHNlcnZlci5cclxuXHRhdCBvcmcuc3ByaW5nZnJhbWV3b3JrLmpkYmMuZGF0YXNvdXJjZS5EYXRhU291cmNlVXRpbHMuZ2V0Q29ubmVjdGlvbihEYXRhU291cmNlVXRpbHMuamF2YTo4MylcclxuXHRhdCBvcmcubXliYXRpcy5zcHJpbmcudHJhbnNhY3Rpb24uU3ByaW5nTWFuYWdlZFRyYW5zYWN0aW9uLm9wZW5Db25uZWN0aW9uKFNwcmluZ01hbmFnZWRUcmFuc2FjdGlvbi5qYXZhOjgwKVxyXG5cdGF0IG9yZy5teWJhdGlzLnNwcmluZy50cmFuc2FjdGlvbi5TcHJpbmdNYW5hZ2VkVHJhbnNhY3Rpb24uZ2V0Q29ubmVjdGlvbihTcHJpbmdNYW5hZ2VkVHJhbnNhY3Rpb24uamF2YTo2NylcclxuXHRhdCBvcmcuYXBhY2hlLmliYXRpcy5leGVjdXRvci5CYXNlRXhlY3V0b3IuZ2V0Q29ubmVjdGlvbihCYXNlRXhlY3V0b3IuamF2YTozMzcpXHJcblx0YXQgb3JnLmFwYWNoZS5pYmF0aXMuZXhlY3V0b3IuU2ltcGxlRXhlY3V0b3IucHJlcGFyZVN0YXRlbWVudChTaW1wbGVFeGVjdXRvci5qYXZhOjg2KVxyXG5cdGF0IG9yZy5hcGFjaGUuaWJhdGlzLmV4ZWN1dG9yLlNpbXBsZUV4ZWN1dG9yLmRvUXVlcnkoU2ltcGxlRXhlY3V0b3IuamF2YTo2MilcclxuXHRhdCBvcmcuYXBhY2hlLmliYXRpcy5leGVjdXRvci5CYXNlRXhlY3V0b3IucXVlcnlGcm9tRGF0YWJhc2UoQmFzZUV4ZWN1dG9yLmphdmE6MzI1KVxyXG5cdGF0IG9yZy5hcGFjaGUuaWJhdGlzLmV4ZWN1dG9yLkJhc2VFeGVjdXRvci5xdWVyeShCYXNlRXhlY3V0b3IuamF2YToxNTYpXHJcblx0YXQgb3JnLmFwYWNoZS5pYmF0aXMuZXhlY3V0b3IuQ2FjaGluZ0V4ZWN1dG9yLnF1ZXJ5KENhY2hpbmdFeGVjdXRvci5qYXZhOjEwOSlcclxuXHRhdCBjb20uYmFvbWlkb3UubXliYXRpc3BsdXMuZXh0ZW5zaW9uLnBsdWdpbnMuTXliYXRpc1BsdXNJbnRlcmNlcHRvci5pbnRlcmNlcHQoTXliYXRpc1BsdXNJbnRlcmNlcHRvci5qYXZhOjgxKVxyXG5cdGF0IG9yZy5hcGFjaGUuaWJhdGlzLnBsdWdpbi5QbHVnaW4uaW52b2tlKFBsdWdpbi5qYXZhOjYyKVxyXG5cdGF0IGpkay5wcm94eTIvamRrLnByb3h5Mi4kUHJveHkxMTEucXVlcnkoVW5rbm93biBTb3VyY2UpXHJcblx0YXQgb3JnLmFwYWNoZS5pYmF0aXMuc2Vzc2lvbi5kZWZhdWx0cy5EZWZhdWx0U3FsU2Vzc2lvbi5zZWxlY3RMaXN0KERlZmF1bHRTcWxTZXNzaW9uLmphdmE6MTUxKVxyXG5cdC4uLiA3OSBtb3JlXHJcbkNhdXNlZCBieTogY29tLm15c3FsLmNqLmpkYmMuZXhjZXB0aW9ucy5Db21tdW5pY2F0aW9uc0V4Y2VwdGlvbjogQ29tbXVuaWNhdGlvbnMgbGluayBmYWlsdXJlXG5cblRoZSBsYXN0IHBhY2tldCBzZW50IHN1Y2Nlc3NmdWxseSB0byB0aGUgc2VydmVyIHdhcyAwIG1pbGxpc2Vjb25kcyBhZ28uIFRoZSBkcml2ZXIgaGFzIG5vdCByZWNlaXZlZCBhbnkgcGFja2V0cyBmcm9tIHRoZSBzZXJ2ZXIuXHJcblx0YXQgY29tLm15c3FsLmNqLmpkYmMuZXhjZXB0aW9ucy5TUUxFcnJvci5jcmVhdGVDb21tdW5pY2F0aW9uc0V4Y2VwdGlvbihTUUxFcnJvci5qYXZhOjE3NClcclxuXHRhdCBjb20ubXlzcWwuY2ouamRiYy5leGNlcHRpb25zLlNRTEV4Y2VwdGlvbnNNYXBwaW5nLnRyYW5zbGF0ZUV4Y2VwdGlvbihTUUxFeGNlcHRpb25zTWFwcGluZy5qYXZhOjY0KVxyXG5cdGF0IGNvbS5teXNxbC5jai5qZGJjLkNvbm5lY3Rpb25JbXBsLmNyZWF0ZU5ld0lPKENvbm5lY3Rpb25JbXBsLmphdmE6ODI5KVxyXG5cdGF0IGNvbS5teXNxbC5jai5qZGJjLkNvbm5lY3Rpb25JbXBsLjxpbml0PihDb25uZWN0aW9uSW1wbC5qYXZhOjQ0OSlcclxuXHRhdCBjb20ubXlzcWwuY2ouamRiYy5Db25uZWN0aW9uSW1wbC5nZXRJbnN0YW5jZShDb25uZWN0aW9uSW1wbC5qYXZhOjI0MilcclxuXHRhdCBjb20ubXlzcWwuY2ouamRiYy5Ob25SZWdpc3RlcmluZ0RyaXZlci5jb25uZWN0KE5vblJlZ2lzdGVyaW5nRHJpdmVyLmphdmE6MTk4KVxyXG5cdGF0IGNvbS56YXh4ZXIuaGlrYXJpLnV0aWwuRHJpdmVyRGF0YVNvdXJjZS5nZXRDb25uZWN0aW9uKERyaXZlckRhdGFTb3VyY2UuamF2YToxMzgpXHJcblx0YXQgY29tLnpheHhlci5oaWthcmkucG9vbC5Qb29sQmFzZS5uZXdDb25uZWN0aW9uKFBvb2xCYXNlLmphdmE6MzY0KVxyXG5cdGF0IGNvbS56YXh4ZXIuaGlrYXJpLnBvb2wuUG9vbEJhc2UubmV3UG9vbEVudHJ5KFBvb2xCYXNlLmphdmE6MjA2KVxyXG5cdGF0IGNvbS56YXh4ZXIuaGlrYXJpLnBvb2wuSGlrYXJpUG9vbC5jcmVhdGVQb29sRW50cnkoSGlrYXJpUG9vbC5qYXZhOjQ3NilcclxuXHRhdCBjb20uemF4eGVyLmhpa2FyaS5wb29sLkhpa2FyaVBvb2wuY2hlY2tGYWlsRmFzdChIaWthcmlQb29sLmphdmE6NTYxKVxyXG5cdGF0IGNvbS56YXh4ZXIuaGlrYXJpLnBvb2wuSGlrYXJpUG9vbC48aW5pdD4oSGlrYXJpUG9vbC5qYXZhOjExNSlcclxuXHRhdCBjb20uemF4eGVyLmhpa2FyaS5IaWthcmlEYXRhU291cmNlLmdldENvbm5lY3Rpb24oSGlrYXJpRGF0YVNvdXJjZS5qYXZhOjExMilcclxuXHRhdCBvcmcuc3ByaW5nZnJhbWV3b3JrLmpkYmMuZGF0YXNvdXJjZS5EYXRhU291cmNlVXRpbHMuZmV0Y2hDb25uZWN0aW9uKERhdGFTb3VyY2VVdGlscy5qYXZhOjE1OSlcclxuXHRhdCBvcmcuc3ByaW5nZnJhbWV3b3JrLmpkYmMuZGF0YXNvdXJjZS5EYXRhU291cmNlVXRpbHMuZG9HZXRDb25uZWN0aW9uKERhdGFTb3VyY2VVdGlscy5qYXZhOjExNylcclxuXHRhdCBvcmcuc3ByaW5nZnJhbWV3b3JrLmpkYmMuZGF0YXNvdXJjZS5EYXRhU291cmNlVXRpbHMuZ2V0Q29ubmVjdGlvbihEYXRhU291cmNlVXRpbHMuamF2YTo4MClcclxuXHQuLi4gOTEgbW9yZVxyXG5DYXVzZWQgYnk6IGNvbS5teXNxbC5jai5leGNlcHRpb25zLkNKQ29tbXVuaWNhdGlvbnNFeGNlcHRpb246IENvbW11bmljYXRpb25zIGxpbmsgZmFpbHVyZVxuXG5UaGUgbGFzdCBwYWNrZXQgc2VudCBzdWNjZXNzZnVsbHkgdG8gdGhlIHNlcnZlciB3YXMgMCBtaWxsaXNlY29uZHMgYWdvLiBUaGUgZHJpdmVyIGhhcyBub3QgcmVjZWl2ZWQgYW55IHBhY2tldHMgZnJvbSB0aGUgc2VydmVyLlxyXG5cdGF0IGphdmEuYmFzZS9qZGsuaW50ZXJuYWwucmVmbGVjdC5OYXRpdmVDb25zdHJ1Y3RvckFjY2Vzc29ySW1wbC5uZXdJbnN0YW5jZTAoTmF0aXZlIE1ldGhvZClcclxuXHRhdCBqYXZhLmJhc2UvamRrLmludGVybmFsLnJlZmxlY3QuTmF0aXZlQ29uc3RydWN0b3JBY2Nlc3NvckltcGwubmV3SW5zdGFuY2UoTmF0aXZlQ29uc3RydWN0b3JBY2Nlc3NvckltcGwuamF2YTo3NylcclxuXHRhdCBqYXZhLmJhc2UvamRrLmludGVybmFsLnJlZmxlY3QuRGVsZWdhdGluZ0NvbnN0cnVjdG9yQWNjZXNzb3JJbXBsLm5ld0luc3RhbmNlKERlbGVnYXRpbmdDb25zdHJ1Y3RvckFjY2Vzc29ySW1wbC5qYXZhOjQ1KVxyXG5cdGF0IGphdmEuYmFzZS9qYXZhLmxhbmcucmVmbGVjdC5Db25zdHJ1Y3Rvci5uZXdJbnN0YW5jZVdpdGhDYWxsZXIoQ29uc3RydWN0b3IuamF2YTo0OTkpXHJcblx0YXQgamF2YS5iYXNlL2phdmEubGFuZy5yZWZsZWN0LkNvbnN0cnVjdG9yLm5ld0luc3RhbmNlKENvbnN0cnVjdG9yLmphdmE6NDgwKVxyXG5cdGF0IGNvbS5teXNxbC5jai5leGNlcHRpb25zLkV4Y2VwdGlvbkZhY3RvcnkuY3JlYXRlRXhjZXB0aW9uKEV4Y2VwdGlvbkZhY3RvcnkuamF2YTo2MSlcclxuXHRhdCBjb20ubXlzcWwuY2ouZXhjZXB0aW9ucy5FeGNlcHRpb25GYWN0b3J5LmNyZWF0ZUV4Y2VwdGlvbihFeGNlcHRpb25GYWN0b3J5LmphdmE6MTA1KVxyXG5cdGF0IGNvbS5teXNxbC5jai5leGNlcHRpb25zLkV4Y2VwdGlvbkZhY3RvcnkuY3JlYXRlRXhjZXB0aW9uKEV4Y2VwdGlvbkZhY3RvcnkuamF2YToxNTEpXHJcblx0YXQgY29tLm15c3FsLmNqLmV4Y2VwdGlvbnMuRXhjZXB0aW9uRmFjdG9yeS5jcmVhdGVDb21tdW5pY2F0aW9uc0V4Y2VwdGlvbihFeGNlcHRpb25GYWN0b3J5LmphdmE6MTY3KVxyXG5cdGF0IGNvbS5teXNxbC5jai5wcm90b2NvbC5hLk5hdGl2ZVNvY2tldENvbm5lY3Rpb24uY29ubmVjdChOYXRpdmVTb2NrZXRDb25uZWN0aW9uLmphdmE6ODkpXHJcblx0YXQgY29tLm15c3FsLmNqLk5hdGl2ZVNlc3Npb24uY29ubmVjdChOYXRpdmVTZXNzaW9uLmphdmE6MTIwKVxyXG5cdGF0IGNvbS5teXNxbC5jai5qZGJjLkNvbm5lY3Rpb25JbXBsLmNvbm5lY3RPbmVUcnlPbmx5KENvbm5lY3Rpb25JbXBsLmphdmE6OTQ5KVxyXG5cdGF0IGNvbS5teXNxbC5jai5qZGJjLkNvbm5lY3Rpb25JbXBsLmNyZWF0ZU5ld0lPKENvbm5lY3Rpb25JbXBsLmphdmE6ODE5KVxyXG5cdC4uLiAxMDQgbW9yZVxyXG5DYXVzZWQgYnk6IGphdmEubmV0LkNvbm5lY3RFeGNlcHRpb246IENvbm5lY3Rpb24gdGltZWQgb3V0OiBubyBmdXJ0aGVyIGluZm9ybWF0aW9uXHJcblx0YXQgamF2YS5iYXNlL3N1bi5uaW8uY2guTmV0LnBvbGxDb25uZWN0KE5hdGl2ZSBNZXRob2QpXHJcblx0YXQgamF2YS5iYXNlL3N1bi5uaW8uY2guTmV0LnBvbGxDb25uZWN0Tm93KE5ldC5qYXZhOjY3MilcclxuXHRhdCBqYXZhLmJhc2Uvc3VuLm5pby5jaC5OaW9Tb2NrZXRJbXBsLnRpbWVkRmluaXNoQ29ubmVjdChOaW9Tb2NrZXRJbXBsLmphdmE6NTU0KVxyXG5cdGF0IGphdmEuYmFzZS9zdW4ubmlvLmNoLk5pb1NvY2tldEltcGwuY29ubmVjdChOaW9Tb2NrZXRJbXBsLmphdmE6NjAyKVxyXG5cdGF0IGphdmEuYmFzZS9qYXZhLm5ldC5Tb2Nrc1NvY2tldEltcGwuY29ubmVjdChTb2Nrc1NvY2tldEltcGwuamF2YTozMjcpXHJcblx0YXQgamF2YS5iYXNlL2phdmEubmV0LlNvY2tldC5jb25uZWN0KFNvY2tldC5qYXZhOjYzMylcclxuXHRhdCBjb20ubXlzcWwuY2oucHJvdG9jb2wuU3RhbmRhcmRTb2NrZXRGYWN0b3J5LmNvbm5lY3QoU3RhbmRhcmRTb2NrZXRGYWN0b3J5LmphdmE6MTU2KVxyXG5cdGF0IGNvbS5teXNxbC5jai5wcm90b2NvbC5hLk5hdGl2ZVNvY2tldENvbm5lY3Rpb24uY29ubmVjdChOYXRpdmVTb2NrZXRDb25uZWN0aW9uLmphdmE6NjMpXHJcblx0Li4uIDEwNyBtb3JlXHJcbiIsIm1lc3NhZ2UiOiJuZXN0ZWQgZXhjZXB0aW9uIGlzIG9yZy5hcGFjaGUuaWJhdGlzLmV4Y2VwdGlvbnMuUGVyc2lzdGVuY2VFeGNlcHRpb246IFxyXG4jIyMgRXJyb3IgcXVlcnlpbmcgZGF0YWJhc2UuICBDYXVzZTogb3JnLnNwcmluZ2ZyYW1ld29yay5qZGJjLkNhbm5vdEdldEpkYmNDb25uZWN0aW9uRXhjZXB0aW9uOiBGYWlsZWQgdG8gb2J0YWluIEpEQkMgQ29ubmVjdGlvbjsgbmVzdGVkIGV4Y2VwdGlvbiBpcyBjb20ubXlzcWwuY2ouamRiYy5leGNlcHRpb25zLkNvbW11bmljYXRpb25zRXhjZXB0aW9uOiBDb21tdW5pY2F0aW9ucyBsaW5rIGZhaWx1cmVcblxuVGhlIGxhc3QgcGFja2V0IHNlbnQgc3VjY2Vzc2Z1bGx5IHRvIHRoZSBzZXJ2ZXIgd2FzIDAgbWlsbGlzZWNvbmRzIGFnby4gVGhlIGRyaXZlciBoYXMgbm90IHJlY2VpdmVkIGFueSBwYWNrZXRzIGZyb20gdGhlIHNlcnZlci5cclxuIyMjIFRoZSBlcnJvciBtYXkgZXhpc3QgaW4gY29tL2V4YW1wbGUvc3ByaW5nYm9vdC9tYXBwZXIvU3R1ZGVudE1hcHBlci5qYXZhIChiZXN0IGd1ZXNzKVxyXG4jIyMgVGhlIGVycm9yIG1heSBpbnZvbHZlIGNvbS5leGFtcGxlLnNwcmluZ2Jvb3QubWFwcGVyLlN0dWRlbnRNYXBwZXIuc2VsZWN0TGlzdFxyXG4jIyMgVGhlIGVycm9yIG9jY3VycmVkIHdoaWxlIGV4ZWN1dGluZyBhIHF1ZXJ5XHJcbiMjIyBDYXVzZTogb3JnLnNwcmluZ2ZyYW1ld29yay5qZGJjLkNhbm5vdEdldEpkYmNDb25uZWN0aW9uRXhjZXB0aW9uOiBGYWlsZWQgdG8gb2J0YWluIEpEQkMgQ29ubmVjdGlvbjsgbmVzdGVkIGV4Y2VwdGlvbiBpcyBjb20ubXlzcWwuY2ouamRiYy5leGNlcHRpb25zLkNvbW11bmljYXRpb25zRXhjZXB0aW9uOiBDb21tdW5pY2F0aW9ucyBsaW5rIGZhaWx1cmVcblxuVGhlIGxhc3QgcGFja2V0IHNlbnQgc3VjY2Vzc2Z1bGx5IHRvIHRoZSBzZXJ2ZXIgd2FzIDAgbWlsbGlzZWNvbmRzIGFnby4gVGhlIGRyaXZlciBoYXMgbm90IHJlY2VpdmVkIGFueSBwYWNrZXRzIGZyb20gdGhlIHNlcnZlci4iLCJwYXRoIjoiL3N0dS9sb2dpbiJ9','JSON','rO0ABXQBsVt7Im5hbWUiOiJWYXJ5IiwidmFsdWUiOiJPcmlnaW4ifSx7Im5hbWUiOiJWYXJ5IiwidmFsdWUiOiJBY2Nlc3MtQ29udHJvbC1SZXF1ZXN0LU1ldGhvZCJ9LHsibmFtZSI6IlZhcnkiLCJ2YWx1ZSI6IkFjY2Vzcy1Db250cm9sLVJlcXVlc3QtSGVhZGVycyJ9LHsibmFtZSI6IlNldC1Db29raWUiLCJ2YWx1ZSI6IkpTRVNTSU9OSUQ9QkY0QzJDQTNFMjhCOUNCNDMwRUIwMkEwMzVGRURFODU7IFBhdGg9LzsgSHR0cE9ubHkifSx7Im5hbWUiOiJDb250ZW50LVR5cGUiLCJ2YWx1ZSI6ImFwcGxpY2F0aW9uL2pzb24ifSx7Im5hbWUiOiJUcmFuc2Zlci1FbmNvZGluZyIsInZhbHVlIjoiY2h1bmtlZCJ9LHsibmFtZSI6IkRhdGUiLCJ2YWx1ZSI6IlR1ZSwgMDMgRGVjIDIwMjQgMTQ6MDQ6NDcgR01UIn0seyJuYW1lIjoiQ29ubmVjdGlvbiIsInZhbHVlIjoiY2xvc2UifV0=','rO0ABXQAbFt7Im5hbWUiOiJKU0VTU0lPTklEIiwidmFsdWUiOiJCRjRDMkNBM0UyOEI5Q0I0MzBFQjAyQTAzNUZFREU4NSIsInBhdGgiOiIvIiwiaHR0cE9ubHkiOnRydWUsInNlY3VyZSI6ZmFsc2V9XQ==','500','','16680','2024-12-03 22:04:47','2024-12-03 22:04:47')
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..35410ca
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# 默认忽略的文件
+/shelf/
+/workspace.xml
+# 基于编辑器的 HTTP 客户端请求
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/ApifoxUploaderProjectSetting.xml b/.idea/ApifoxUploaderProjectSetting.xml
new file mode 100644
index 0000000..b3722b0
--- /dev/null
+++ b/.idea/ApifoxUploaderProjectSetting.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 0000000..2ea356d
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml
new file mode 100644
index 0000000..f428999
--- /dev/null
+++ b/.idea/dataSources.xml
@@ -0,0 +1,18 @@
+
+
+
+
+ mysql.8
+ true
+ true
+ com.mysql.cj.jdbc.Driver
+ jdbc:mysql://localhost:3306/?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=true
+
+
+
+
+
+ $ProjectFileDir$
+
+
+
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 0000000..63e9001
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
new file mode 100644
index 0000000..5a2f139
--- /dev/null
+++ b/.idea/jarRepositories.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..0abcc97
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/sqldialects.xml b/.idea/sqldialects.xml
new file mode 100644
index 0000000..fa5c48d
--- /dev/null
+++ b/.idea/sqldialects.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml
new file mode 100644
index 0000000..2b63946
--- /dev/null
+++ b/.idea/uiDesigner.xml
@@ -0,0 +1,124 @@
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..94a25f7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..7b5320e
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,115 @@
+
+
+ 4.0.0
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 2.6.3
+
+
+ cn.for
+ Dormitory_bussiness
+ 1.0.0
+ springboot
+
+
+ 11
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+ true
+
+
+ mysql
+ mysql-connector-java
+ runtime
+
+
+ org.projectlombok
+ lombok
+ true
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+ com.baomidou
+ mybatis-plus-boot-starter
+ 3.5.1
+
+
+
+ commons-beanutils
+ commons-beanutils
+ 1.9.3
+
+
+ commons-collections
+ commons-collections
+ 3.2.1
+
+
+ commons-lang
+ commons-lang
+ 2.6
+
+
+ commons-logging
+ commons-logging
+ 1.1.1
+
+
+ net.sf.ezmorph
+ ezmorph
+ 1.0.6
+
+
+ net.sf.json-lib
+ json-lib
+ 2.2.3
+ jdk15
+
+
+
+ com.alibaba
+ fastjson
+ 1.2.28
+
+
+
+ cn.hutool
+ hutool-all
+ 5.7.3
+
+
+
+
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
+
diff --git a/src/main/java/com/example/springboot/SpringbootApplication.java b/src/main/java/com/example/springboot/SpringbootApplication.java
new file mode 100644
index 0000000..a25e3cf
--- /dev/null
+++ b/src/main/java/com/example/springboot/SpringbootApplication.java
@@ -0,0 +1,16 @@
+package com.example.springboot;
+
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+@MapperScan("com.example.springboot.mapper")
+public class SpringbootApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(SpringbootApplication.class, args);
+ }
+
+
+}
diff --git a/src/main/java/com/example/springboot/common/CalPeopleNum.java b/src/main/java/com/example/springboot/common/CalPeopleNum.java
new file mode 100644
index 0000000..a031e5c
--- /dev/null
+++ b/src/main/java/com/example/springboot/common/CalPeopleNum.java
@@ -0,0 +1,24 @@
+package com.example.springboot.common;
+
+import com.example.springboot.entity.DormRoom;
+
+public class CalPeopleNum {
+
+ public static int calNum(DormRoom dormRoom) {
+ int count = 0;
+
+ if (dormRoom.getFirstBed() != null) {
+ count++;
+ }
+ if (dormRoom.getSecondBed() != null) {
+ count++;
+ }
+ if (dormRoom.getThirdBed() != null) {
+ count++;
+ }
+ if (dormRoom.getFourthBed() != null) {
+ count++;
+ }
+ return count;
+ }
+}
diff --git a/src/main/java/com/example/springboot/common/CorsConfig.java b/src/main/java/com/example/springboot/common/CorsConfig.java
new file mode 100644
index 0000000..07226f8
--- /dev/null
+++ b/src/main/java/com/example/springboot/common/CorsConfig.java
@@ -0,0 +1,26 @@
+package com.example.springboot.common;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.cors.CorsConfiguration;
+import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
+import org.springframework.web.filter.CorsFilter;
+
+@Configuration
+public class CorsConfig {
+
+ private CorsConfiguration buildConfig() {
+ CorsConfiguration corsConfiguration = new CorsConfiguration();
+ corsConfiguration.addAllowedOrigin("*"); // 1容许任何域名使用
+ corsConfiguration.addAllowedHeader("*"); // 2容许任何头
+ corsConfiguration.addAllowedMethod("*"); // 3容许任何方法(post、get等)
+ return corsConfiguration;
+ }
+
+ @Bean
+ public CorsFilter corsFilter() {
+ UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
+ source.registerCorsConfiguration("/**", buildConfig()); // 4
+ return new CorsFilter(source);
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/example/springboot/common/JudgeBedName.java b/src/main/java/com/example/springboot/common/JudgeBedName.java
new file mode 100644
index 0000000..c521159
--- /dev/null
+++ b/src/main/java/com/example/springboot/common/JudgeBedName.java
@@ -0,0 +1,21 @@
+package com.example.springboot.common;
+
+public class JudgeBedName {
+
+ private static String bedName;
+
+ public static String getBedName(int num) {
+ switch (num) {
+ case 1:
+ return bedName = "first_bed";
+ case 2:
+ return bedName = "second_bed";
+ case 3:
+ return bedName = "third_bed";
+ case 4:
+ return bedName = "fourth_bed";
+ default:
+ return null;
+ }
+ }
+}
diff --git a/src/main/java/com/example/springboot/common/MyBatisPlusConfig.java b/src/main/java/com/example/springboot/common/MyBatisPlusConfig.java
new file mode 100644
index 0000000..1bd0e03
--- /dev/null
+++ b/src/main/java/com/example/springboot/common/MyBatisPlusConfig.java
@@ -0,0 +1,22 @@
+package com.example.springboot.common;
+
+import com.baomidou.mybatisplus.annotation.DbType;
+import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+
+@Configuration
+public class MyBatisPlusConfig {
+
+ /**
+ * 新的分页插件,一缓和二缓遵循mybatis的规则,需要设置 MybatisConfiguration#useDeprecatedExecutor = false 避免缓存出现问题(该属性会在旧插件移除后一同移除)
+ */
+ @Bean
+ public MybatisPlusInterceptor mybatisPlusInterceptor() {
+ MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
+ interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
+ return interceptor;
+ }
+}
diff --git a/src/main/java/com/example/springboot/common/Result.java b/src/main/java/com/example/springboot/common/Result.java
new file mode 100644
index 0000000..5d3f3f4
--- /dev/null
+++ b/src/main/java/com/example/springboot/common/Result.java
@@ -0,0 +1,49 @@
+package com.example.springboot.common;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class Result {
+ private String code;
+ private String msg;
+ private T data;
+
+ public Result(T data) {
+ this.data = data;
+ }
+
+ public static Result success() {
+ Result result = new Result<>();
+ result.setCode("0");
+ result.setMsg("成功");
+ return result;
+ }
+
+ public static Result success(T data) {
+ Result result = new Result<>(data);
+ result.setCode("0");
+ result.setMsg("成功");
+ result.setData(data);
+ return result;
+ }
+ public static Result error(String msg) {
+ Result result = new Result<>();
+ result.setCode("400");
+ result.setMsg(msg);
+ return result;
+ }
+
+
+ public static Result error(String code, String msg) {
+ Result result = new Result<>();
+ result.setCode(code);
+ result.setMsg(msg);
+ return result;
+ }
+
+}
diff --git a/src/main/java/com/example/springboot/common/UID.java b/src/main/java/com/example/springboot/common/UID.java
new file mode 100644
index 0000000..f7f6e11
--- /dev/null
+++ b/src/main/java/com/example/springboot/common/UID.java
@@ -0,0 +1,9 @@
+package com.example.springboot.common;
+
+import java.util.UUID;
+
+public class UID {
+ public String produceUID() {
+ return UUID.randomUUID().toString().replaceAll("-", "");
+ }
+}
diff --git a/src/main/java/com/example/springboot/config/CostConfig.java b/src/main/java/com/example/springboot/config/CostConfig.java
new file mode 100644
index 0000000..2c05adf
--- /dev/null
+++ b/src/main/java/com/example/springboot/config/CostConfig.java
@@ -0,0 +1,23 @@
+package com.example.springboot.config;
+
+import lombok.Data;
+import org.springframework.boot.SpringBootConfiguration;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ *水电费配置类
+ *
+ */
+@Configuration
+@Data
+@ConfigurationProperties(prefix = "cost")
+public class CostConfig {
+
+ private Integer waterCost;
+
+ private Integer electricCost;
+
+
+}
diff --git a/src/main/java/com/example/springboot/controller/AdjustRoomController.java b/src/main/java/com/example/springboot/controller/AdjustRoomController.java
new file mode 100644
index 0000000..9d8d877
--- /dev/null
+++ b/src/main/java/com/example/springboot/controller/AdjustRoomController.java
@@ -0,0 +1,86 @@
+package com.example.springboot.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.example.springboot.common.Result;
+import com.example.springboot.entity.AdjustRoom;
+import com.example.springboot.service.AdjustRoomService;
+import com.example.springboot.service.DormRoomService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+
+@RestController
+@RequestMapping("/adjustRoom")
+public class AdjustRoomController {
+
+ @Resource
+ private AdjustRoomService adjustRoomService;
+
+ @Resource
+ private DormRoomService dormRoomService;
+
+
+ /**
+ * 添加订单
+ */
+ @PostMapping("/add")
+ public Result> add(@RequestBody AdjustRoom adjustRoom) {
+
+ int result = adjustRoomService.addApply(adjustRoom);
+ if (result == 1) {
+ return Result.success();
+ } else {
+ return Result.error("-1", "查询失败");
+ }
+ }
+
+
+ /**
+ * 更新订单
+ */
+ @PutMapping("/update/{state}")
+ public Result> update(@RequestBody AdjustRoom adjustRoom, @PathVariable Boolean state) {
+ if (state) {
+ // 更新房间表信息
+ int i = dormRoomService.adjustRoomUpdate(adjustRoom);
+ if (i == -1) {
+ return Result.error("-1", "重复操作");
+ }
+ }
+ //更新调宿表信息
+ int i = adjustRoomService.updateApply(adjustRoom);
+ if (i == 1) {
+ return Result.success();
+ } else {
+ return Result.error("-1", "更新失败");
+ }
+ }
+
+ /**
+ * 删除订单
+ */
+ @DeleteMapping("/delete/{id}")
+ public Result> delete(@PathVariable Integer id) {
+ int i = adjustRoomService.deleteAdjustment(id);
+ if (i == 1) {
+ return Result.success();
+ } else {
+ return Result.error("-1", "删除失败");
+ }
+ }
+
+ /**
+ * 查找订单
+ */
+ @GetMapping("/find")
+ public Result> findPage(@RequestParam(defaultValue = "1") Integer pageNum,
+ @RequestParam(defaultValue = "10") Integer pageSize,
+ @RequestParam(defaultValue = "") String search) {
+ Page page = adjustRoomService.find(pageNum, pageSize, search);
+ if (page != null) {
+ return Result.success(page);
+ } else {
+ return Result.error("-1", "查询失败");
+ }
+ }
+}
diff --git a/src/main/java/com/example/springboot/controller/AdminController.java b/src/main/java/com/example/springboot/controller/AdminController.java
new file mode 100644
index 0000000..774c12f
--- /dev/null
+++ b/src/main/java/com/example/springboot/controller/AdminController.java
@@ -0,0 +1,68 @@
+package com.example.springboot.controller;
+
+import com.example.springboot.common.Result;
+import com.example.springboot.common.UID;
+import com.example.springboot.entity.Admin;
+import com.example.springboot.entity.User;
+import com.example.springboot.service.AdminService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpSession;
+
+@RestController
+@RequestMapping("/admin")
+public class AdminController {
+
+ String uid = new UID().produceUID();
+
+ @Resource
+ private AdminService adminService;
+
+ /**
+ * 管理员注册
+ */
+ @PostMapping("/register")
+
+ public Result> register(@RequestBody Admin admin) {
+ try {
+ int result = adminService.registerAdmin(admin);
+ if (result == 1) {
+ return Result.success("注册成功");
+ } else {
+ return Result.error("-1", "注册失败");
+ }
+ } catch (IllegalArgumentException e) {
+ return Result.error("-1", e.getMessage());
+ }
+ }
+ /**
+ * 管理员登录
+ */
+ @PostMapping("/login")
+ public Result> login(@RequestBody User user, HttpSession session) {
+ Object o = adminService.adminLogin(user.getUsername(), user.getPassword());
+ if (o != null) {
+ System.out.println(o);
+ //存入session
+ session.setAttribute("Identity", "admin");
+ session.setAttribute("User", o);
+ return Result.success(o);
+ } else {
+ return Result.error("-1", "用户名或密码错误");
+ }
+ }
+
+ /**
+ * 管理员信息更新
+ */
+ @PutMapping("/update")
+ public Result> update(@RequestBody Admin admin) {
+ int i = adminService.updateAdmin(admin);
+ if (i == 1) {
+ return Result.success();
+ } else {
+ return Result.error("-1", "更新失败");
+ }
+ }
+}
diff --git a/src/main/java/com/example/springboot/controller/ChangeCostController.java b/src/main/java/com/example/springboot/controller/ChangeCostController.java
new file mode 100644
index 0000000..5dcc774
--- /dev/null
+++ b/src/main/java/com/example/springboot/controller/ChangeCostController.java
@@ -0,0 +1,73 @@
+package com.example.springboot.controller;
+
+import com.example.springboot.common.Result;
+import com.example.springboot.config.CostConfig;
+import com.example.springboot.entity.Cost;
+import com.example.springboot.service.CostService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 管理员修改水电费价格
+ */
+@RestController
+@RequestMapping("/change")
+public class ChangeCostController {
+
+
+ private final CostService costService;
+
+ private final CostConfig costConfig;
+
+ public ChangeCostController(CostService costService, CostConfig costConfig) {
+ this.costService = costService;
+ this.costConfig = costConfig;
+ }
+
+ /**
+ * 管理员修改水费价格
+ */
+ @PutMapping("/water")
+ public Result> changeWaterCost(@RequestParam Integer waterCost) {
+ boolean success = costService.ChangeWaterCost(waterCost);
+ if (success) {
+ return Result.success("Water cost updated successfully");
+ } else {
+ return Result.error("Failed to update water cost");
+ }
+ }
+
+ /**
+ * 管理员修改电费价格
+ */
+ @PutMapping("/electricity")
+ public Result> changeElectricityCost(@RequestParam Integer electricCost) {
+ boolean success = costService.ChangeElectricCost(electricCost);
+ if (success) {
+ return Result.success("Electricity cost updated successfully");
+ } else {
+ return Result.error("Failed to update electricity cost");
+ }
+ }
+
+ /**
+ * 获取水电费价格
+ */
+ @GetMapping("get/cost")
+ public Result getCost() {
+ Integer water_cost=costConfig.getWaterCost();
+ Integer electric_cost=costConfig.getElectricCost();
+ Cost cost=new Cost();
+ cost.setElectricity_cost(electric_cost);
+ cost.setWater_cost(water_cost);
+ return Result.success(cost);
+ }
+
+
+
+
+
+
+
+
+}
diff --git a/src/main/java/com/example/springboot/controller/DormBuildController.java b/src/main/java/com/example/springboot/controller/DormBuildController.java
new file mode 100644
index 0000000..656ed17
--- /dev/null
+++ b/src/main/java/com/example/springboot/controller/DormBuildController.java
@@ -0,0 +1,91 @@
+package com.example.springboot.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.example.springboot.common.Result;
+import com.example.springboot.entity.DormBuild;
+import com.example.springboot.service.DormBuildService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.stream.Collectors;
+
+@RestController
+@RequestMapping("/building")
+public class DormBuildController {
+
+ @Resource
+ private DormBuildService dormBuildService;
+
+ /**
+ * 楼宇添加
+ */
+ @PostMapping("/add")
+ public Result> add(@RequestBody DormBuild dormBuild) {
+ int i = dormBuildService.addNewBuilding(dormBuild);
+ if (i == 1) {
+ return Result.success();
+ } else {
+ return Result.error("-1", "添加失败");
+ }
+ }
+
+ /**
+ * 楼宇信息更新
+ */
+ @PutMapping("/update")
+ public Result> update(@RequestBody DormBuild dormBuild) {
+ int i = dormBuildService.updateNewBuilding(dormBuild);
+ if (i == 1) {
+ return Result.success();
+ } else {
+ return Result.error("-1", "更新失败");
+ }
+ }
+
+ /**
+ * 楼宇删除
+ */
+ @DeleteMapping("/delete/{dormBuildId}")
+ public Result> delete(@PathVariable Integer dormBuildId) {
+ int i = dormBuildService.deleteBuilding(dormBuildId);
+ if (i == 1) {
+ return Result.success();
+ } else {
+ return Result.error("-1", "删除失败");
+ }
+ }
+
+ /**
+ * 楼宇查找
+ */
+ @GetMapping("/find")
+ public Result> findPage(@RequestParam(defaultValue = "1") Integer pageNum,
+ @RequestParam(defaultValue = "10") Integer pageSize,
+ @RequestParam(defaultValue = "") String search) {
+ Page page = dormBuildService.find(pageNum, pageSize, search);
+ if (page != null) {
+ return Result.success(page);
+ } else {
+ return Result.error("-1", "查询失败");
+ }
+ }
+
+ /**
+ * 首页Echarts 获取楼宇信息
+ */
+ @GetMapping("/getBuildingName")
+ public Result> getBuildingName() {
+ List buildingName = dormBuildService.getBuildingId();
+ List buildingId = buildingName.stream()
+ .map(dormBuildId -> dormBuildId.getDormBuildId())
+ .collect(Collectors.toList());
+ return !buildingId.isEmpty() ?
+ Result.success(buildingId) : Result.error("-1", "查询失败");
+ }
+ // if (!buildingId.isEmpty()) {
+// return Result.success(buildingId);
+// } else {
+// return Result.error("-1", "查询失败");
+// }
+}
diff --git a/src/main/java/com/example/springboot/controller/DormManagerController.java b/src/main/java/com/example/springboot/controller/DormManagerController.java
new file mode 100644
index 0000000..48ad38e
--- /dev/null
+++ b/src/main/java/com/example/springboot/controller/DormManagerController.java
@@ -0,0 +1,107 @@
+package com.example.springboot.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.example.springboot.common.Result;
+import com.example.springboot.entity.DormManager;
+import com.example.springboot.entity.User;
+import com.example.springboot.service.DormManagerService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpSession;
+
+@RestController
+@RequestMapping("/dormManager")
+public class DormManagerController {
+
+ @Resource
+ private DormManagerService dormManagerService;
+
+ /**
+ * 宿管注册
+ */
+ @PostMapping("/register")
+ public Result> register(@RequestBody DormManager dormManager) {
+ try {
+ int result = dormManagerService.registerDormManager(dormManager);
+ if (result == 1) {
+ return Result.success("注册成功");
+ } else {
+ return Result.error("-1", "注册失败");
+ }
+ } catch (IllegalArgumentException e) {
+ return Result.error("-1", e.getMessage());
+ }
+ }
+
+ /**
+ * 宿管添加
+ */
+ @PostMapping("/add")
+ public Result> add(@RequestBody DormManager dormManager) {
+ int i = dormManagerService.addNewDormManager(dormManager);
+ if (i == 1) {
+ return Result.success();
+ } else {
+ return Result.error("-1", "添加失败");
+ }
+ }
+
+ /**
+ * 宿管信息更新
+ */
+ @PutMapping("/update")
+ public Result> update(@RequestBody DormManager dormManager) {
+ int i = dormManagerService.updateNewDormManager(dormManager);
+ if (i == 1) {
+ return Result.success();
+ } else {
+ return Result.error("-1", "更新失败");
+ }
+ }
+
+ /**
+ * 宿管删除
+ */
+ @DeleteMapping("/delete/{username}")
+ public Result> delete(@PathVariable String username) {
+ int i = dormManagerService.deleteDormManager(username);
+ if (i == 1) {
+ return Result.success();
+ } else {
+ return Result.error("-1", "删除失败");
+ }
+ }
+
+ /**
+ * 宿管查找
+ */
+ @GetMapping("/find")
+ public Result> findPage(@RequestParam(defaultValue = "1") Integer pageNum,
+ @RequestParam(defaultValue = "10") Integer pageSize,
+ @RequestParam(defaultValue = "") String search) {
+ Page page = dormManagerService.find(pageNum, pageSize, search);
+ if (page != null) {
+ return Result.success(page);
+ } else {
+ return Result.error("-1", "查询失败");
+ }
+ }
+
+ /**
+ * 宿管登录
+ */
+ @PostMapping("/login")
+ public Result> login(@RequestBody User user, HttpSession session) {
+ Object o = dormManagerService.dormManagerLogin(user.getUsername(), user.getPassword());
+ if (o != null) {
+ System.out.println(o);
+ //存入session
+ session.setAttribute("Identity", "dormManager");
+ session.setAttribute("User", o);
+ return Result.success(o);
+ } else {
+ return Result.error("-1", "用户名或密码错误");
+ }
+ }
+}
diff --git a/src/main/java/com/example/springboot/controller/DormRoomController.java b/src/main/java/com/example/springboot/controller/DormRoomController.java
new file mode 100644
index 0000000..c9adf13
--- /dev/null
+++ b/src/main/java/com/example/springboot/controller/DormRoomController.java
@@ -0,0 +1,194 @@
+package com.example.springboot.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.example.springboot.common.Result;
+import com.example.springboot.entity.DormRoom;
+import com.example.springboot.service.DormRoomService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+
+@RestController
+@RequestMapping("/room")
+public class DormRoomController {
+
+ @Resource
+ private DormRoomService dormRoomService;
+
+ /**
+ * 添加房间
+ */
+ @PostMapping("/add")
+ public Result> add(@RequestBody DormRoom dormRoom) {
+ int i = dormRoomService.addNewRoom(dormRoom);
+ if (i == 1) {
+ return Result.success();
+ } else {
+ return Result.error("-1", "添加失败");
+ }
+ }
+
+ /**
+ * 更新房间
+ */
+ @PutMapping("/update")
+ public Result> update(@RequestBody DormRoom dormRoom) {
+ int i = dormRoomService.updateNewRoom(dormRoom);
+ if (i == 1) {
+ return Result.success();
+ } else {
+ return Result.error("-1", "更新失败");
+ }
+ }
+
+ /**
+ * 删除房间
+ */
+ @DeleteMapping("/delete/{dormRoomId}")
+ public Result> delete(@PathVariable Integer dormRoomId) {
+ int i = dormRoomService.deleteRoom(dormRoomId);
+ if (i == 1) {
+ return Result.success();
+ } else {
+ return Result.error("-1", "删除失败");
+ }
+ }
+
+ /**
+ * 查找房间
+ */
+ @GetMapping("/find")
+ public Result> findPage(@RequestParam(defaultValue = "1") Integer pageNum,
+ @RequestParam(defaultValue = "10") Integer pageSize,
+ @RequestParam(defaultValue = "") String search) {
+ Page page = dormRoomService.find(pageNum, pageSize, search);
+ if (page != null) {
+ return Result.success(page);
+ } else {
+ return Result.error("-1", "查询失败");
+ }
+ }
+
+ /**
+ * 首页顶部:空宿舍统计
+ */
+ @GetMapping("/noFullRoom")
+ public Result> noFullRoom() {
+ int num = dormRoomService.notFullRoom();
+ if (num >= 0) {
+ return Result.success(num);
+ } else {
+ return Result.error("-1", "空宿舍查询失败");
+ }
+ }
+
+ /**
+ * 删除床位学生信息
+ */
+ @DeleteMapping("/delete/{bedName}/{dormRoomId}/{calCurrentNum}")
+ public Result> deleteBedInfo(@PathVariable String bedName, @PathVariable Integer dormRoomId, @PathVariable int calCurrentNum) {
+ int i = dormRoomService.deleteBedInfo(bedName, dormRoomId, calCurrentNum);
+ if (i == 1) {
+ return Result.success();
+ } else {
+ return Result.error("-1", "删除失败");
+ }
+ }
+
+ /**
+ * 床位信息,查询该学生是否已有床位
+ */
+ @GetMapping("/judgeHadBed/{value}")
+ public Result> judgeHadBed(@PathVariable String value) {
+ DormRoom dormRoom = dormRoomService.judgeHadBed(value);
+ if (dormRoom == null) {
+ return Result.success();
+ } else {
+ return Result.error("-1", "该学生已有宿舍");
+ }
+ }
+
+ /**
+ * 主页 住宿人数
+ */
+ @GetMapping("/selectHaveRoomStuNum")
+ public Result> selectHaveRoomStuNum() {
+ Long count = dormRoomService.selectHaveRoomStuNum();
+ if (count >= 0) {
+ return Result.success(count);
+ } else {
+ return Result.error("-1", "查询首页住宿人数失败");
+ }
+ }
+
+ /**
+ * 住宿分布人数
+ */
+ @GetMapping("/getEachBuildingStuNum/{num}")
+ public Result> getEachBuildingStuNum(@PathVariable int num) {
+ ArrayList arrayList = new ArrayList();
+ for (int i = 1; i <= num; i++) {
+ Long eachBuildingStuNum = dormRoomService.getEachBuildingStuNum(i);
+ arrayList.add(eachBuildingStuNum);
+ }
+
+ if (!arrayList.isEmpty()) {
+ return Result.success(arrayList);
+ } else {
+ return Result.error("-1", "获取人数失败");
+ }
+ }
+
+ /**
+ * 学生功能: 我的宿舍
+ */
+ @GetMapping("/getMyRoom/{name}")
+ public Result> getMyRoom(@PathVariable String name) {
+ DormRoom dormRoom = dormRoomService.judgeHadBed(name);
+ if (dormRoom != null) {
+ return Result.success(dormRoom);
+ } else {
+ return Result.error("-1", "不存在该生");
+ }
+ }
+
+ /**
+ * 检查房间是否满员
+ */
+ @GetMapping("/checkRoomState/{dormRoomId}")
+ public Result> checkRoomState(@PathVariable Integer dormRoomId) {
+ DormRoom dormRoom = dormRoomService.checkRoomState(dormRoomId);
+ if (dormRoom != null) {
+ return Result.success(dormRoom);
+ } else {
+ return Result.error("-1", "该房间人满了");
+ }
+ }
+
+ /**
+ * 检查床位是否已经有人
+ */
+ @GetMapping("/checkBedState/{dormRoomId}/{bedNum}")
+ public Result> getMyRoom(@PathVariable Integer dormRoomId, @PathVariable int bedNum) {
+ DormRoom dormRoom = dormRoomService.checkBedState(dormRoomId, bedNum);
+ if (dormRoom != null) {
+ return Result.success(dormRoom);
+ } else {
+ return Result.error("-1", "该床位已有人");
+ }
+ }
+
+ /**
+ * 检查房间是否满员
+ */
+ @GetMapping("/checkRoomExist/{dormRoomId}")
+ public Result> checkRoomExist(@PathVariable Integer dormRoomId) {
+ DormRoom dormRoom = dormRoomService.checkRoomExist(dormRoomId);
+ if (dormRoom != null) {
+ return Result.success(dormRoom);
+ } else {
+ return Result.error("-1", "不存在该房间");
+ }
+ }
+}
diff --git a/src/main/java/com/example/springboot/controller/FileController.java b/src/main/java/com/example/springboot/controller/FileController.java
new file mode 100644
index 0000000..ffe97cd
--- /dev/null
+++ b/src/main/java/com/example/springboot/controller/FileController.java
@@ -0,0 +1,146 @@
+package com.example.springboot.controller;
+
+import cn.hutool.core.io.FileUtil;
+import com.example.springboot.common.Result;
+import com.example.springboot.common.UID;
+import com.example.springboot.entity.Admin;
+import com.example.springboot.entity.DormManager;
+import com.example.springboot.entity.Student;
+import com.example.springboot.service.AdminService;
+import com.example.springboot.service.DormManagerService;
+import com.example.springboot.service.StudentService;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.Base64;
+
+
+import javax.annotation.Resource;
+import java.io.ByteArrayOutputStream;
+import java.io.FileInputStream;
+import java.io.IOException;
+
+@RestController
+@RequestMapping("/files")
+public class FileController {
+
+ private static final String ip = "http://localhost";
+ static String rootFilePath = System.getProperty("user.dir") + "/springboot/src/main/resources/files/";
+ static String originalFilename = "";
+ private String port = "9090";
+ @Resource
+ private StudentService studentService;
+
+ @Resource
+ private AdminService adminService;
+
+ @Resource
+ private DormManagerService dormManagerService;
+
+ /**
+ * 将上传的头像写入本地 rootFilePath
+ */
+ @PostMapping("/upload")
+ public Result> upload(MultipartFile file) throws IOException {
+ //获取文件名
+ originalFilename = file.getOriginalFilename();
+ System.out.println(originalFilename);
+ //获取文件尾缀
+ String fileType = originalFilename.substring(originalFilename.lastIndexOf("."), originalFilename.length());
+
+ //重命名
+ String uid = new UID().produceUID();
+ originalFilename = uid + fileType;
+ System.out.println(originalFilename);
+ //存储位置
+ String targetPath = rootFilePath + originalFilename;
+ System.out.println(targetPath);
+ //获取字节流
+ FileUtil.writeBytes(file.getBytes(), targetPath);
+
+ return Result.success("上传成功");
+ }
+
+ /**
+ * 将头像名称更新到数据库中
+ */
+ @PostMapping("/uploadAvatar/stu")
+ public Result> uploadStuAvatar(@RequestBody Student student) {
+ if (originalFilename != null) {
+ student.setAvatar(originalFilename);
+ System.out.println(student);
+ int i = studentService.updateNewStudent(student);
+ if (i == 1) {
+ return Result.success(originalFilename);
+ }
+ } else {
+ return Result.error("-1", "rootFilePath为空");
+ }
+ return Result.error("-1", "设置头像失败");
+ }
+
+ @PostMapping("/uploadAvatar/admin")
+ public Result> uploadAdminAvatar(@RequestBody Admin admin) {
+ if (originalFilename != null) {
+ admin.setAvatar(originalFilename);
+ int i = adminService.updateAdmin(admin);
+ if (i == 1) {
+ return Result.success(originalFilename);
+ }
+ } else {
+ return Result.error("-1", "rootFilePath为空");
+ }
+ return Result.error("-1", "设置头像失败");
+ }
+
+ @PostMapping("/uploadAvatar/dormManager")
+ public Result> uploadDormManagerAvatar(@RequestBody DormManager dormManager) {
+ if (originalFilename != null) {
+ dormManager.setAvatar(originalFilename);
+ int i = dormManagerService.updateNewDormManager(dormManager);
+ if (i == 1) {
+ return Result.success(originalFilename);
+ }
+ } else {
+ return Result.error("-1", "rootFilePath为空");
+ }
+ return Result.error("-1", "设置头像失败");
+ }
+
+ /**
+ * 前端调用接口,后端查询存储与本地的头像,进行Base64编码 发送到前端
+ */
+ @GetMapping("/initAvatar/{filename}")
+ public Result> initAvatar(@PathVariable String filename) throws IOException {
+ System.out.println(filename);
+ String path = rootFilePath + filename;
+ System.out.println(path);
+ return Result.success(getImage(path));
+ }
+
+ private Result> getImage(String path) throws IOException {
+
+ //读取图片变成字节数组
+ FileInputStream fileInputStream = new FileInputStream(path);
+
+ ByteArrayOutputStream bos = new ByteArrayOutputStream();
+ byte[] b = new byte[1024];
+ int len = -1;
+ while ((len = fileInputStream.read(b)) != -1) {
+ bos.write(b, 0, len);
+ }
+ byte[] fileByte = bos.toByteArray();
+
+ //进行base64编码
+// BASE64Encoder encoder = new BASE64Encoder();
+ // String data = encoder.encode(fileByte);
+
+ Base64.Encoder encoder = Base64.getEncoder();
+ String data = encoder.encodeToString(fileByte);
+
+ fileInputStream.close();
+ bos.close();
+ return Result.success(data);
+ }
+
+}
diff --git a/src/main/java/com/example/springboot/controller/MainController.java b/src/main/java/com/example/springboot/controller/MainController.java
new file mode 100644
index 0000000..d59b6db
--- /dev/null
+++ b/src/main/java/com/example/springboot/controller/MainController.java
@@ -0,0 +1,51 @@
+package com.example.springboot.controller;
+
+import com.example.springboot.common.Result;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpSession;
+
+@RestController
+@RequestMapping("/main")
+public class MainController {
+
+ /**
+ * 获取身份信息
+ */
+ @GetMapping("/loadIdentity")
+ public Result> loadIdentity(HttpSession session) {
+ Object identity = session.getAttribute("Identity");
+
+ if (identity != null) {
+ return Result.success(identity);
+ } else {
+ return Result.error("-1", "加载失败");
+ }
+ }
+
+ /**
+ * 获取个人信息
+ */
+ @GetMapping("/loadUserInfo")
+ public Result> loadUserInfo(HttpSession session) {
+ Object User = session.getAttribute("User");
+
+ if (User != null) {
+ return Result.success(User);
+ } else {
+ return Result.error("-1", "加载失败");
+ }
+ }
+
+ /**
+ * 退出登录
+ */
+ @GetMapping("/signOut")
+ public Result> signOut(HttpSession session) {
+ session.removeAttribute("User");
+ session.removeAttribute("Identity");
+ return Result.success();
+ }
+}
diff --git a/src/main/java/com/example/springboot/controller/NoticeController.java b/src/main/java/com/example/springboot/controller/NoticeController.java
new file mode 100644
index 0000000..3c3b1be
--- /dev/null
+++ b/src/main/java/com/example/springboot/controller/NoticeController.java
@@ -0,0 +1,86 @@
+package com.example.springboot.controller;
+
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.example.springboot.common.Result;
+import com.example.springboot.entity.Notice;
+import com.example.springboot.service.NoticeService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@RestController
+@RequestMapping("/notice")
+public class NoticeController {
+
+ @Resource
+ NoticeService noticeService;
+
+ /**
+ * 公告添加
+ */
+ @PostMapping("/add")
+ public Result> add(@RequestBody Notice notice) {
+ int i = noticeService.addNewNotice(notice);
+ if (i == 1) {
+ return Result.success();
+ } else {
+ return Result.error("-1", "添加失败");
+ }
+ }
+
+ /**
+ * 公告更新
+ */
+ @PutMapping("/update")
+ public Result> update(@RequestBody Notice notice) {
+ int i = noticeService.updateNewNotice(notice);
+ if (i == 1) {
+ return Result.success();
+ } else {
+ return Result.error("-1", "更新失败");
+ }
+ }
+
+ /**
+ * 公告删除
+ */
+ @DeleteMapping("/delete/{id}")
+ public Result> delete(@PathVariable Integer id) {
+ int i = noticeService.deleteNotice(id);
+ if (i == 1) {
+ return Result.success();
+ } else {
+ return Result.error("-1", "删除失败");
+ }
+ }
+
+ /**
+ * 公告查找
+ */
+ @GetMapping("/find")
+ public Result> findPage(@RequestParam(defaultValue = "1") Integer pageNum,
+ @RequestParam(defaultValue = "10") Integer pageSize,
+ @RequestParam(defaultValue = "") String search) {
+ Page page = noticeService.find(pageNum, pageSize, search);
+ if (page != null) {
+ return Result.success(page);
+ } else {
+ return Result.error("-1", "查询失败");
+ }
+ }
+
+ /**
+ * 首页公告展示
+ */
+ @GetMapping("/homePageNotice")
+ public Result> homePageNotice() {
+ List> list = noticeService.homePageNotice();
+ if (list != null) {
+ return Result.success(list);
+ } else {
+ return Result.error("-1", "首页公告查询失败");
+ }
+ }
+}
diff --git a/src/main/java/com/example/springboot/controller/OrderController.java b/src/main/java/com/example/springboot/controller/OrderController.java
new file mode 100644
index 0000000..a0b82f5
--- /dev/null
+++ b/src/main/java/com/example/springboot/controller/OrderController.java
@@ -0,0 +1,39 @@
+package com.example.springboot.controller;
+import com.example.springboot.common.Result;
+import com.example.springboot.entity.Order;
+import com.example.springboot.service.OrderService;
+import org.springframework.web.bind.annotation.*;
+import java.util.List;
+
+@RestController
+@RequestMapping("/order")
+public class OrderController {
+
+ private final OrderService orderService;
+
+ public OrderController(OrderService orderService) {
+ this.orderService = orderService;
+ }
+
+ // 学生点名
+ @PostMapping("/orderAttendance")
+ public Result> orderAttendance(@RequestParam Integer studentId) {
+ // 调用服务层的点名方法,返回成功或失败
+ boolean success = orderService.order(studentId);
+ if (success) {
+ return Result.success("点名成功");
+ }
+ return Result.error("400","点名失败");
+ }
+
+ // 管理员查看所有学生的点名记录
+ @GetMapping("/getAllOrders")
+ public Result> getAllOrders() {
+ // 获取所有点名记录
+ List orderList = orderService.getAllOrders();
+ if (orderList.isEmpty()) {
+ return Result.error("400","没有点名记录");
+ }
+ return Result.success(orderList);
+ }
+}
diff --git a/src/main/java/com/example/springboot/controller/RepairController.java b/src/main/java/com/example/springboot/controller/RepairController.java
new file mode 100644
index 0000000..1598f5e
--- /dev/null
+++ b/src/main/java/com/example/springboot/controller/RepairController.java
@@ -0,0 +1,101 @@
+package com.example.springboot.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.example.springboot.common.Result;
+import com.example.springboot.entity.Repair;
+import com.example.springboot.service.RepairService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+
+@RestController
+@RequestMapping("/repair")
+public class RepairController {
+
+ @Resource
+ private RepairService repairService;
+
+ /**
+ * 添加订单
+ */
+ @PostMapping("/add")
+ public Result> add(@RequestBody Repair repair) {
+ int i = repairService.addNewOrder(repair);
+ if (i == 1) {
+ return Result.success();
+ } else {
+ return Result.error("-1", "添加失败");
+ }
+ }
+
+ /**
+ * 更新订单
+ */
+ @PutMapping("/update")
+ public Result> update(@RequestBody Repair repair) {
+ int i = repairService.updateNewOrder(repair);
+ if (i == 1) {
+ return Result.success();
+ } else {
+ return Result.error("-1", "更新失败");
+ }
+ }
+
+ /**
+ * 删除订单
+ */
+ @DeleteMapping("/delete/{id}")
+ public Result> delete(@PathVariable Integer id) {
+ int i = repairService.deleteOrder(id);
+ if (i == 1) {
+ return Result.success();
+ } else {
+ return Result.error("-1", "删除失败");
+ }
+ }
+
+ /**
+ * 查找订单
+ */
+ @GetMapping("/find")
+ public Result> findPage(@RequestParam(defaultValue = "1") Integer pageNum,
+ @RequestParam(defaultValue = "10") Integer pageSize,
+ @RequestParam(defaultValue = "") String search) {
+ Page page = repairService.find(pageNum, pageSize, search);
+ if (page != null) {
+ return Result.success(page);
+ } else {
+ return Result.error("-1", "查询失败");
+ }
+ }
+
+ /**
+ * 个人申报报修 分页查询
+ */
+ @GetMapping("/find/{name}")
+ public Result> individualFind(@RequestParam(defaultValue = "1") Integer pageNum,
+ @RequestParam(defaultValue = "10") Integer pageSize,
+ @RequestParam(defaultValue = "") String search,
+ @PathVariable String name) {
+ System.out.println(name);
+ Page page = repairService.individualFind(pageNum, pageSize, search, name);
+ if (page != null) {
+ return Result.success(page);
+ } else {
+ return Result.error("-1", "查询失败");
+ }
+ }
+
+ /**
+ * 首页顶部:报修统计
+ */
+ @GetMapping("/orderNum")
+ public Result> orderNum() {
+ int num = repairService.showOrderNum();
+ if (num >= 0) {
+ return Result.success(num);
+ } else {
+ return Result.error("-1", "报修统计查询失败");
+ }
+ }
+}
diff --git a/src/main/java/com/example/springboot/controller/StudentController.java b/src/main/java/com/example/springboot/controller/StudentController.java
new file mode 100644
index 0000000..94ea2a6
--- /dev/null
+++ b/src/main/java/com/example/springboot/controller/StudentController.java
@@ -0,0 +1,139 @@
+package com.example.springboot.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.example.springboot.common.Result;
+import com.example.springboot.entity.Student;
+import com.example.springboot.entity.User;
+import com.example.springboot.service.StudentService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpSession;
+
+@RestController
+@RequestMapping("/stu")
+public class StudentController {
+
+ @Resource
+ private StudentService studentService;
+ /**
+ * 注册学生
+ */
+ @PostMapping("/register")
+ public Result> register(@RequestBody Student student) {
+ try {
+ student.setName("福州大学");
+ student.setGender("男");
+ student.setAge(20);//设置默认信息
+ int i = studentService.registerStudent(student);
+ if (i == 1) {
+ return Result.success("注册成功!");
+ } else {
+ return Result.error("-1", "注册失败");
+ }
+ } catch (IllegalArgumentException e) {
+ return Result.error("-1", e.getMessage());
+ }
+ }
+ /**
+ * 添加学生信息
+ */
+ @PostMapping("/add")
+ public Result> add(@RequestBody Student student) {
+ int i = studentService.addNewStudent(student);
+ if (i == 1) {
+ return Result.success();
+ } else {
+ return Result.error("-1", "添加失败");
+ }
+
+ }
+
+ /**
+ * 更新学生信息
+ */
+ @PutMapping("/update")
+ public Result> update(@RequestBody Student student) {
+ int i = studentService.updateNewStudent(student);
+ if (i == 1) {
+ return Result.success();
+ } else {
+ return Result.error("-1", "更新失败");
+ }
+ }
+
+ /**
+ * 删除学生信息
+ */
+ @DeleteMapping("/delete/{username}")
+ public Result> delete(@PathVariable String username) {
+ int i = studentService.deleteStudent(username);
+ if (i == 1) {
+ return Result.success();
+ } else {
+ return Result.error("-1", "删除失败");
+ }
+ }
+
+ /**
+ * 查找学生信息
+ */
+ @GetMapping("/find")
+ public Result> findPage(@RequestParam(defaultValue = "1") Integer pageNum,
+ @RequestParam(defaultValue = "10") Integer pageSize,
+ @RequestParam(defaultValue = "") String search) {
+ Page page = studentService.find(pageNum, pageSize, search);
+ if (page != null) {
+ return Result.success(page);
+ } else {
+ return Result.error("-1", "查询失败");
+ }
+ }
+
+ /**
+ * 学生登录
+ */
+ @PostMapping("/login")
+ public Result> login(@RequestBody User user, HttpSession session) {
+ System.out.println(user.getUsername());
+ System.out.println(user.getPassword());
+ Object o = studentService.stuLogin(user.getUsername(), user.getPassword());
+ if (o != null) {
+ System.out.println(o);
+ //存入session
+ session.setAttribute("Identity", "stu");
+ session.setAttribute("User", o);
+ return Result.success(o);
+ } else {
+ return Result.error("-1", "用户名或密码错误");
+ }
+ }
+
+ /**
+ * 主页顶部:学生统计
+ */
+ @GetMapping("/stuNum")
+ public Result> stuNum() {
+ int num = studentService.stuNum();
+ if (num > 0) {
+ return Result.success(num);
+ } else {
+ return Result.error("-1", "查询失败");
+ }
+ }
+
+
+ /**
+ * 床位信息,查询是否存在该学生
+ * 床位信息,查询床位上的学生信息
+ */
+ @GetMapping("/exist/{value}")
+ public Result> exist(@PathVariable String value) {
+ Student student = studentService.stuInfo(value);
+ if (student != null) {
+ return Result.success(student);
+ } else {
+ return Result.error("-1", "不存在该学生");
+ }
+ }
+}
diff --git a/src/main/java/com/example/springboot/controller/VisitorController.java b/src/main/java/com/example/springboot/controller/VisitorController.java
new file mode 100644
index 0000000..137c07e
--- /dev/null
+++ b/src/main/java/com/example/springboot/controller/VisitorController.java
@@ -0,0 +1,71 @@
+package com.example.springboot.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.example.springboot.common.Result;
+import com.example.springboot.entity.Visitor;
+import com.example.springboot.service.VisitorService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+
+@RestController
+@RequestMapping("/visitor")
+public class VisitorController {
+
+ @Resource
+ private VisitorService visitorService;
+
+ /**
+ * 访客添加
+ */
+ @PostMapping("/add")
+ public Result> add(@RequestBody Visitor visitor) {
+ int i = visitorService.addNewVisitor(visitor);
+ if (i == 1) {
+ return Result.success();
+ } else {
+ return Result.error("-1", "添加失败");
+ }
+ }
+
+ /**
+ * 访客信息更新
+ */
+ @PutMapping("/update")
+ public Result> update(@RequestBody Visitor visitor) {
+ int i = visitorService.updateNewVisitor(visitor);
+ if (i == 1) {
+ return Result.success();
+ } else {
+ return Result.error("-1", "更新失败");
+ }
+ }
+
+ /**
+ * 访客删除
+ */
+ @DeleteMapping("/delete/{id}")
+ public Result> delete(@PathVariable Integer id) {
+ int i = visitorService.deleteVisitor(id);
+ if (i == 1) {
+ return Result.success();
+ } else {
+ return Result.error("-1", "删除失败");
+ }
+ }
+
+ /**
+ * 访客查询
+ */
+ @GetMapping("/find")
+ public Result> findPage(@RequestParam(defaultValue = "1") Integer pageNum,
+ @RequestParam(defaultValue = "10") Integer pageSize,
+ @RequestParam(defaultValue = "") String search) {
+ Page page = visitorService.find(pageNum, pageSize, search);
+ if (page != null) {
+ return Result.success(page);
+ } else {
+ return Result.error("-1", "查询失败");
+ }
+ }
+}
diff --git a/src/main/java/com/example/springboot/entity/AdjustRoom.java b/src/main/java/com/example/springboot/entity/AdjustRoom.java
new file mode 100644
index 0000000..4462f94
--- /dev/null
+++ b/src/main/java/com/example/springboot/entity/AdjustRoom.java
@@ -0,0 +1,36 @@
+package com.example.springboot.entity;
+
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class AdjustRoom {
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+ @TableField(value = "username")
+ private String username;
+ @TableField(value = "name")
+ private String name;
+ @TableField(value = "currentroom_id")
+ private int currentRoomId;
+ @TableField(value = "currentbed_id")
+ private int currentBedId;
+ @TableField(value = "towardsroom_id")
+ private int towardsRoomId;
+ @TableField(value = "towardsbed_id")
+ private int towardsBedId;
+ @TableField("state")
+ private String state;
+ @TableField("apply_time")
+ private String applyTime;
+ @TableField("finish_time")
+ private String finishTime;
+}
diff --git a/src/main/java/com/example/springboot/entity/Admin.java b/src/main/java/com/example/springboot/entity/Admin.java
new file mode 100644
index 0000000..7a85de6
--- /dev/null
+++ b/src/main/java/com/example/springboot/entity/Admin.java
@@ -0,0 +1,37 @@
+package com.example.springboot.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 系统管理员
+ */
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+
+@TableName(value = "admin")
+public class Admin {
+
+ @TableId(value = "username")
+ private String username;
+ @TableField(value = "password")
+ private String password;
+ @TableField(value = "name")
+ private String name;
+ @TableField(value = "gender")
+ private String gender;
+ @TableField(value = "age")
+ private int age;
+ @TableField(value = "phone_num")
+ private String phoneNum;
+ @TableField(value = "email")
+ private String email;
+ @TableField("avatar")
+ private String avatar;
+}
diff --git a/src/main/java/com/example/springboot/entity/Cost.java b/src/main/java/com/example/springboot/entity/Cost.java
new file mode 100644
index 0000000..9dad44e
--- /dev/null
+++ b/src/main/java/com/example/springboot/entity/Cost.java
@@ -0,0 +1,15 @@
+package com.example.springboot.entity;
+
+import lombok.Data;
+import org.springframework.context.annotation.Bean;
+
+@Data
+
+public class Cost {
+
+
+ private Integer water_cost;
+
+ private Integer electricity_cost;
+
+}
diff --git a/src/main/java/com/example/springboot/entity/DormBuild.java b/src/main/java/com/example/springboot/entity/DormBuild.java
new file mode 100644
index 0000000..5ffe228
--- /dev/null
+++ b/src/main/java/com/example/springboot/entity/DormBuild.java
@@ -0,0 +1,29 @@
+package com.example.springboot.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 宿舍楼
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+
+@TableName(value = "dorm_build")
+public class DormBuild {
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+ @TableField("dormbuild_id")
+ private int dormBuildId;
+ @TableField("dormbuild_name")
+ private String dormBuildName;
+ @TableField("dormbuild_detail")
+ private String dormBuildDetail;
+}
diff --git a/src/main/java/com/example/springboot/entity/DormManager.java b/src/main/java/com/example/springboot/entity/DormManager.java
new file mode 100644
index 0000000..f8f2092
--- /dev/null
+++ b/src/main/java/com/example/springboot/entity/DormManager.java
@@ -0,0 +1,38 @@
+package com.example.springboot.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 宿舍管理员
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+
+@TableName(value = "dorm_manager")
+public class DormManager {
+
+ @TableId("username")
+ private String username;
+ @TableField("password")
+ private String password;
+ @TableField("dormbuild_id")
+ private int dormBuildId;
+ @TableField("name")
+ private String name;
+ @TableField("gender")
+ private String gender;
+ @TableField("age")
+ private int age;
+ @TableField("phone_num")
+ private String phoneNum;
+ @TableField("email")
+ private String email;
+ @TableField("avatar")
+ private String avatar;
+}
diff --git a/src/main/java/com/example/springboot/entity/DormRoom.java b/src/main/java/com/example/springboot/entity/DormRoom.java
new file mode 100644
index 0000000..8e8ee8b
--- /dev/null
+++ b/src/main/java/com/example/springboot/entity/DormRoom.java
@@ -0,0 +1,39 @@
+package com.example.springboot.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 宿舍房间
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+
+@TableName(value = "dorm_room")
+public class DormRoom {
+
+ @TableId(value = "dormroom_id")
+ private Integer dormRoomId;
+ @TableField("dormbuild_id")
+ private int dormBuildId;
+ @TableField("floor_num")
+ private int floorNum;
+ @TableField("max_capacity")
+ private int maxCapacity;
+ @TableField("current_capacity")
+ private int currentCapacity;
+ @TableField("first_bed")
+ private String firstBed;
+ @TableField("second_bed")
+ private String secondBed;
+ @TableField("third_bed")
+ private String thirdBed;
+ @TableField("fourth_bed")
+ private String fourthBed;
+
+}
diff --git a/src/main/java/com/example/springboot/entity/ElectricCost.java b/src/main/java/com/example/springboot/entity/ElectricCost.java
new file mode 100644
index 0000000..e2b8cfb
--- /dev/null
+++ b/src/main/java/com/example/springboot/entity/ElectricCost.java
@@ -0,0 +1,18 @@
+package com.example.springboot.entity;
+
+import lombok.Data;
+import org.springframework.boot.autoconfigure.domain.EntityScan;
+
+import java.time.LocalDateTime;
+
+@EntityScan
+@Data
+public class ElectricCost {
+
+
+ private Integer id;
+ private Integer dorm_id;
+ private Integer electric_cost;
+ private LocalDateTime create_time;
+ private LocalDateTime end_time;
+}
diff --git a/src/main/java/com/example/springboot/entity/Notice.java b/src/main/java/com/example/springboot/entity/Notice.java
new file mode 100644
index 0000000..7abee0c
--- /dev/null
+++ b/src/main/java/com/example/springboot/entity/Notice.java
@@ -0,0 +1,32 @@
+package com.example.springboot.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 公告
+ */
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+
+@TableName(value = "notice")
+public class Notice {
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+ @TableField("title")
+ private String title;
+ @TableField("content")
+ private String content;
+ @TableField("author")
+ private String author;
+ @TableField("release_time")
+ private String releaseTime;
+}
diff --git a/src/main/java/com/example/springboot/entity/Order.java b/src/main/java/com/example/springboot/entity/Order.java
new file mode 100644
index 0000000..bc18491
--- /dev/null
+++ b/src/main/java/com/example/springboot/entity/Order.java
@@ -0,0 +1,21 @@
+package com.example.springboot.entity;
+
+import lombok.Data;
+import org.springframework.boot.autoconfigure.domain.EntityScan;
+
+import java.time.LocalDate;
+/**
+ *用户点名的实体类
+ */
+@EntityScan
+@Data
+public class Order {
+
+ private String id;
+
+ private String user_id;
+
+ private LocalDate order_time;
+
+
+}
diff --git a/src/main/java/com/example/springboot/entity/PayRecord.java b/src/main/java/com/example/springboot/entity/PayRecord.java
new file mode 100644
index 0000000..3e698cf
--- /dev/null
+++ b/src/main/java/com/example/springboot/entity/PayRecord.java
@@ -0,0 +1,34 @@
+package com.example.springboot.entity;
+
+import lombok.Data;
+import org.springframework.boot.autoconfigure.domain.EntityScan;
+
+import java.time.LocalDate;
+
+/**
+ *学生缴费的凭证
+ */
+@EntityScan
+@Data
+public class PayRecord {
+
+
+ private Integer id;
+
+ private Integer studentId;//缴费学生的id
+
+ private Integer dormId;//缴费的宿舍id
+
+ private Integer NeedPayNumber;//学生的需要缴费的金额
+
+ private String PayNumber;//学生实际缴费的金额
+
+ private String PayTime;//学生没有缴费的金额
+
+ private LocalDate PayDate;//缴费日期
+
+ private String PayType;//截止时间
+
+
+
+}
diff --git a/src/main/java/com/example/springboot/entity/Repair.java b/src/main/java/com/example/springboot/entity/Repair.java
new file mode 100644
index 0000000..b0bf631
--- /dev/null
+++ b/src/main/java/com/example/springboot/entity/Repair.java
@@ -0,0 +1,38 @@
+package com.example.springboot.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 报修单
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+
+@TableName(value = "repair")
+public class Repair {
+
+ @TableId(value = "id")
+ private Integer id;
+ @TableField("repairer")
+ private String repairer;
+ @TableField("dormbuild_id")
+ private int dormBuildId;
+ @TableField("dormroom_id")
+ private int dormRoomId;
+ @TableField("title")
+ private String title;
+ @TableField("content")
+ private String content;
+ @TableField("state")
+ private String state;
+ @TableField("order_buildtime")
+ private String orderBuildTime;
+ @TableField("order_finishtime")
+ private String orderFinishTime;
+}
diff --git a/src/main/java/com/example/springboot/entity/Student.java b/src/main/java/com/example/springboot/entity/Student.java
new file mode 100644
index 0000000..f60d3e7
--- /dev/null
+++ b/src/main/java/com/example/springboot/entity/Student.java
@@ -0,0 +1,38 @@
+package com.example.springboot.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 学生
+ */
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+// 告诉Mybatis-plus,这个类与数据库中的哪张表有关
+@TableName(value = "student")
+public class Student {
+ // 告诉Mybatis-plus, 属性对应表中的字段
+
+ @TableId(value = "username")
+ private String username;
+ @TableField("password")
+ private String password;
+ @TableField("name")
+ private String name;
+ @TableField("age")
+ private int age;
+ @TableField("gender")
+ private String gender;
+ @TableField("phone_num")
+ private String phoneNum;
+ @TableField("email")
+ private String email;
+ @TableField("avatar")
+ private String avatar;
+}
diff --git a/src/main/java/com/example/springboot/entity/User.java b/src/main/java/com/example/springboot/entity/User.java
new file mode 100644
index 0000000..c5f376f
--- /dev/null
+++ b/src/main/java/com/example/springboot/entity/User.java
@@ -0,0 +1,16 @@
+package com.example.springboot.entity;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class User {
+ private String username;
+ private String password;
+ private String identity;
+ private String avatar;
+}
diff --git a/src/main/java/com/example/springboot/entity/ViolationRecord.java b/src/main/java/com/example/springboot/entity/ViolationRecord.java
new file mode 100644
index 0000000..54e43bc
--- /dev/null
+++ b/src/main/java/com/example/springboot/entity/ViolationRecord.java
@@ -0,0 +1,36 @@
+package com.example.springboot.entity;
+
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * 用来记录学生的违纪信息
+ */
+
+@Data
+public class ViolationRecord {
+
+ private Long id;
+
+
+ private Long studentId; // 学生ID,关联学生表
+
+
+ private Long dormitoryId; // 宿舍ID,关联宿舍表
+
+
+ private LocalDateTime violationTime; // 违纪时间
+
+
+ private String description; // 违纪描述
+
+
+ private String punishment; // 处理结果或惩罚措施
+
+
+ private LocalDateTime resolvedTime; // 解决时间,可为空
+
+
+ private String resolvedBy; // 处理人姓名,可为空
+}
diff --git a/src/main/java/com/example/springboot/entity/Visitor.java b/src/main/java/com/example/springboot/entity/Visitor.java
new file mode 100644
index 0000000..28a04ae
--- /dev/null
+++ b/src/main/java/com/example/springboot/entity/Visitor.java
@@ -0,0 +1,37 @@
+package com.example.springboot.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 访客
+ */
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+
+@TableName(value = "visitor")
+public class Visitor {
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+ @TableField("name")
+ private String visitorName;
+ @TableField("gender")
+ private String gender;
+ @TableField("phone_num")
+ private String phoneNum;
+ @TableField("origin_city")
+ private String originCity;
+ @TableField("visit_time")
+ private String visitTime;
+ @TableField("content")
+ private String content;
+
+}
diff --git a/src/main/java/com/example/springboot/entity/WaterCost.java b/src/main/java/com/example/springboot/entity/WaterCost.java
new file mode 100644
index 0000000..f4df2f9
--- /dev/null
+++ b/src/main/java/com/example/springboot/entity/WaterCost.java
@@ -0,0 +1,23 @@
+package com.example.springboot.entity;
+
+import lombok.Data;
+import net.sf.ezmorph.array.IntArrayMorpher;
+import org.springframework.boot.autoconfigure.domain.EntityScan;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ *学生宿舍水电费
+ */
+@EntityScan
+@Data
+public class WaterCost {
+
+ private Integer id;
+ private Integer dorm_id;
+ private Integer water_cost;
+ private LocalDateTime create_time;//订单创建时间
+ private LocalDateTime end_time;//截止时间
+
+}
diff --git a/src/main/java/com/example/springboot/mapper/AdjustRoomMapper.java b/src/main/java/com/example/springboot/mapper/AdjustRoomMapper.java
new file mode 100644
index 0000000..ea33737
--- /dev/null
+++ b/src/main/java/com/example/springboot/mapper/AdjustRoomMapper.java
@@ -0,0 +1,9 @@
+package com.example.springboot.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.example.springboot.entity.AdjustRoom;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface AdjustRoomMapper extends BaseMapper {
+}
diff --git a/src/main/java/com/example/springboot/mapper/AdminMapper.java b/src/main/java/com/example/springboot/mapper/AdminMapper.java
new file mode 100644
index 0000000..03d36f7
--- /dev/null
+++ b/src/main/java/com/example/springboot/mapper/AdminMapper.java
@@ -0,0 +1,9 @@
+package com.example.springboot.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.example.springboot.entity.Admin;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface AdminMapper extends BaseMapper {
+}
diff --git a/src/main/java/com/example/springboot/mapper/DormBuildMapper.java b/src/main/java/com/example/springboot/mapper/DormBuildMapper.java
new file mode 100644
index 0000000..6f63fb5
--- /dev/null
+++ b/src/main/java/com/example/springboot/mapper/DormBuildMapper.java
@@ -0,0 +1,10 @@
+package com.example.springboot.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.example.springboot.entity.DormBuild;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface DormBuildMapper extends BaseMapper {
+
+}
diff --git a/src/main/java/com/example/springboot/mapper/DormManagerMapper.java b/src/main/java/com/example/springboot/mapper/DormManagerMapper.java
new file mode 100644
index 0000000..3a7375c
--- /dev/null
+++ b/src/main/java/com/example/springboot/mapper/DormManagerMapper.java
@@ -0,0 +1,9 @@
+package com.example.springboot.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.example.springboot.entity.DormManager;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface DormManagerMapper extends BaseMapper {
+}
diff --git a/src/main/java/com/example/springboot/mapper/DormRoomMapper.java b/src/main/java/com/example/springboot/mapper/DormRoomMapper.java
new file mode 100644
index 0000000..aecb036
--- /dev/null
+++ b/src/main/java/com/example/springboot/mapper/DormRoomMapper.java
@@ -0,0 +1,10 @@
+package com.example.springboot.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.example.springboot.entity.DormRoom;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface DormRoomMapper extends BaseMapper {
+
+}
diff --git a/src/main/java/com/example/springboot/mapper/ElectricCostMapper.java b/src/main/java/com/example/springboot/mapper/ElectricCostMapper.java
new file mode 100644
index 0000000..a67c926
--- /dev/null
+++ b/src/main/java/com/example/springboot/mapper/ElectricCostMapper.java
@@ -0,0 +1,9 @@
+package com.example.springboot.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.example.springboot.entity.ElectricCost;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface ElectricCostMapper extends BaseMapper {
+}
diff --git a/src/main/java/com/example/springboot/mapper/NoticeMapper.java b/src/main/java/com/example/springboot/mapper/NoticeMapper.java
new file mode 100644
index 0000000..f6c3632
--- /dev/null
+++ b/src/main/java/com/example/springboot/mapper/NoticeMapper.java
@@ -0,0 +1,9 @@
+package com.example.springboot.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.example.springboot.entity.Notice;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface NoticeMapper extends BaseMapper {
+}
diff --git a/src/main/java/com/example/springboot/mapper/OrderMapper.java b/src/main/java/com/example/springboot/mapper/OrderMapper.java
new file mode 100644
index 0000000..3fd1642
--- /dev/null
+++ b/src/main/java/com/example/springboot/mapper/OrderMapper.java
@@ -0,0 +1,9 @@
+package com.example.springboot.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.example.springboot.entity.Order;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface OrderMapper extends BaseMapper {
+}
diff --git a/src/main/java/com/example/springboot/mapper/RepairMapper.java b/src/main/java/com/example/springboot/mapper/RepairMapper.java
new file mode 100644
index 0000000..57f5d51
--- /dev/null
+++ b/src/main/java/com/example/springboot/mapper/RepairMapper.java
@@ -0,0 +1,9 @@
+package com.example.springboot.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.example.springboot.entity.Repair;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface RepairMapper extends BaseMapper {
+}
diff --git a/src/main/java/com/example/springboot/mapper/StudentMapper.java b/src/main/java/com/example/springboot/mapper/StudentMapper.java
new file mode 100644
index 0000000..20d9ade
--- /dev/null
+++ b/src/main/java/com/example/springboot/mapper/StudentMapper.java
@@ -0,0 +1,9 @@
+package com.example.springboot.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.example.springboot.entity.Student;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface StudentMapper extends BaseMapper {
+}
diff --git a/src/main/java/com/example/springboot/mapper/VisitorMapper.java b/src/main/java/com/example/springboot/mapper/VisitorMapper.java
new file mode 100644
index 0000000..f6f0bdd
--- /dev/null
+++ b/src/main/java/com/example/springboot/mapper/VisitorMapper.java
@@ -0,0 +1,9 @@
+package com.example.springboot.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.example.springboot.entity.Visitor;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface VisitorMapper extends BaseMapper {
+}
diff --git a/src/main/java/com/example/springboot/mapper/WaterCostMapper.java b/src/main/java/com/example/springboot/mapper/WaterCostMapper.java
new file mode 100644
index 0000000..804e77f
--- /dev/null
+++ b/src/main/java/com/example/springboot/mapper/WaterCostMapper.java
@@ -0,0 +1,9 @@
+package com.example.springboot.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.example.springboot.entity.WaterCost;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface WaterCostMapper extends BaseMapper {
+}
diff --git a/src/main/java/com/example/springboot/service/AdjustRoomService.java b/src/main/java/com/example/springboot/service/AdjustRoomService.java
new file mode 100644
index 0000000..f5b87b4
--- /dev/null
+++ b/src/main/java/com/example/springboot/service/AdjustRoomService.java
@@ -0,0 +1,21 @@
+package com.example.springboot.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.example.springboot.entity.AdjustRoom;
+
+public interface AdjustRoomService extends IService {
+
+ //查询调宿申请
+ Page find(Integer pageNum, Integer pageSize, String search);
+
+ //删除调宿申请
+ int deleteAdjustment(Integer id);
+
+ //更新
+ int updateApply(AdjustRoom adjustRoom);
+
+ // 添加
+ int addApply(AdjustRoom adjustRoom);
+
+}
diff --git a/src/main/java/com/example/springboot/service/AdminService.java b/src/main/java/com/example/springboot/service/AdminService.java
new file mode 100644
index 0000000..772c118
--- /dev/null
+++ b/src/main/java/com/example/springboot/service/AdminService.java
@@ -0,0 +1,17 @@
+package com.example.springboot.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.example.springboot.entity.Admin;
+
+
+public interface AdminService extends IService {
+
+
+ //管理员登陆
+ Admin adminLogin(String username, String password);
+
+ //更新管理员信息
+ int updateAdmin(Admin admin);
+
+ int registerAdmin(Admin admin);
+}
diff --git a/src/main/java/com/example/springboot/service/CostService.java b/src/main/java/com/example/springboot/service/CostService.java
new file mode 100644
index 0000000..c9f36ce
--- /dev/null
+++ b/src/main/java/com/example/springboot/service/CostService.java
@@ -0,0 +1,11 @@
+package com.example.springboot.service;
+
+public interface CostService {
+ Boolean ChangeWaterCost(Integer waterCost);
+
+ Boolean ChangeElectricCost(Integer electricCost);
+
+ Integer getWaterCost();
+
+ Integer getElectricCost();
+}
diff --git a/src/main/java/com/example/springboot/service/DormBuildService.java b/src/main/java/com/example/springboot/service/DormBuildService.java
new file mode 100644
index 0000000..f066d00
--- /dev/null
+++ b/src/main/java/com/example/springboot/service/DormBuildService.java
@@ -0,0 +1,25 @@
+package com.example.springboot.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.example.springboot.entity.DormBuild;
+
+import java.util.List;
+
+
+public interface DormBuildService extends IService {
+
+ //新增楼宇
+ int addNewBuilding(DormBuild dormBuild);
+
+ //查询楼宇
+ Page find(Integer pageNum, Integer pageSize, String search);
+
+ //更新楼宇信息
+ int updateNewBuilding(DormBuild dormBuild);
+
+ //删除楼宇信息
+ int deleteBuilding(Integer id);
+
+ List getBuildingId();
+}
diff --git a/src/main/java/com/example/springboot/service/DormManagerService.java b/src/main/java/com/example/springboot/service/DormManagerService.java
new file mode 100644
index 0000000..9371ac7
--- /dev/null
+++ b/src/main/java/com/example/springboot/service/DormManagerService.java
@@ -0,0 +1,26 @@
+package com.example.springboot.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.example.springboot.entity.DormManager;
+
+
+public interface DormManagerService extends IService {
+
+ //学生登陆
+ DormManager dormManagerLogin(String username, String password);
+
+ //新增学生
+ int addNewDormManager(DormManager dormManager);
+
+ //查询学生
+ Page find(Integer pageNum, Integer pageSize, String search);
+
+ //更新学生信息
+ int updateNewDormManager(DormManager dormManager);
+
+ //删除学生信息
+ int deleteDormManager(String username);
+
+ int registerDormManager(DormManager dormManager);
+}
diff --git a/src/main/java/com/example/springboot/service/DormRoomService.java b/src/main/java/com/example/springboot/service/DormRoomService.java
new file mode 100644
index 0000000..06b46b4
--- /dev/null
+++ b/src/main/java/com/example/springboot/service/DormRoomService.java
@@ -0,0 +1,48 @@
+package com.example.springboot.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.example.springboot.entity.AdjustRoom;
+import com.example.springboot.entity.DormRoom;
+
+
+public interface DormRoomService extends IService {
+ //统计没有住满的宿舍数量
+ public int notFullRoom();
+
+ //新增房间
+ int addNewRoom(DormRoom dormRoom);
+
+ //查询房间
+ Page find(Integer pageNum, Integer pageSize, String search);
+
+ //更新房间信息
+ int updateNewRoom(DormRoom dormRoom);
+
+ //删除房间信息
+ int deleteRoom(Integer dormRoomId);
+
+ //删除床位上的学生信息
+ int deleteBedInfo(String bedName, Integer dormRoomId, int calCurrentNum);
+
+ //床位信息,查询该学生是否已有宿舍
+ DormRoom judgeHadBed(String username);
+
+ //主页 住宿人数
+ Long selectHaveRoomStuNum();
+
+ //获取每栋宿舍学生总人数
+ Long getEachBuildingStuNum(int dormBuildId);
+
+ //根据调宿申请 更新房间住宿信息
+ int adjustRoomUpdate(AdjustRoom adjustRoom);
+
+ // 检查该房间是否满了
+ DormRoom checkRoomState(Integer dormRoomId);
+
+ // 检查房间是否存在
+ DormRoom checkRoomExist(Integer dormRoomId);
+
+ // 检查床位是否有人
+ DormRoom checkBedState(Integer dormRoomId, int bedNum);
+}
diff --git a/src/main/java/com/example/springboot/service/NoticeService.java b/src/main/java/com/example/springboot/service/NoticeService.java
new file mode 100644
index 0000000..b934f7a
--- /dev/null
+++ b/src/main/java/com/example/springboot/service/NoticeService.java
@@ -0,0 +1,27 @@
+package com.example.springboot.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.example.springboot.entity.Notice;
+
+import java.util.List;
+
+
+public interface NoticeService extends IService {
+
+
+ //新增通知
+ int addNewNotice(Notice notice);
+
+ //查询
+ Page find(Integer pageNum, Integer pageSize, String search);
+
+ //更新通知信息
+ int updateNewNotice(Notice notice);
+
+ //删除通知
+ int deleteNotice(Integer id);
+
+ // 首页通知展示
+ List> homePageNotice();
+}
diff --git a/src/main/java/com/example/springboot/service/OrderService.java b/src/main/java/com/example/springboot/service/OrderService.java
new file mode 100644
index 0000000..6766deb
--- /dev/null
+++ b/src/main/java/com/example/springboot/service/OrderService.java
@@ -0,0 +1,13 @@
+package com.example.springboot.service;
+
+import com.example.springboot.entity.Order;
+
+import java.util.List;
+
+public interface OrderService {
+
+ List getAllOrders();
+
+ Boolean order(Integer studentId);
+
+}
diff --git a/src/main/java/com/example/springboot/service/RepairService.java b/src/main/java/com/example/springboot/service/RepairService.java
new file mode 100644
index 0000000..2de9175
--- /dev/null
+++ b/src/main/java/com/example/springboot/service/RepairService.java
@@ -0,0 +1,27 @@
+package com.example.springboot.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.example.springboot.entity.Repair;
+
+
+public interface RepairService extends IService {
+
+ //显示订单数量
+ public int showOrderNum();
+
+ //新增订单
+ int addNewOrder(Repair repair);
+
+ //查询
+ Page find(Integer pageNum, Integer pageSize, String search);
+
+ //查询
+ Page individualFind(Integer pageNum, Integer pageSize, String search, String name);
+
+ //更新订单信息
+ int updateNewOrder(Repair repair);
+
+ //删除订单
+ int deleteOrder(Integer id);
+}
diff --git a/src/main/java/com/example/springboot/service/StudentService.java b/src/main/java/com/example/springboot/service/StudentService.java
new file mode 100644
index 0000000..3a72c87
--- /dev/null
+++ b/src/main/java/com/example/springboot/service/StudentService.java
@@ -0,0 +1,32 @@
+package com.example.springboot.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.example.springboot.entity.Student;
+
+
+public interface StudentService extends IService {
+
+ //学生登陆
+ Student stuLogin(String username, String password);
+
+ //新增学生
+ int addNewStudent(Student student);
+
+ //查询学生
+ Page find(Integer pageNum, Integer pageSize, String search);
+
+ //更新学生信息
+ int updateNewStudent(Student student);
+
+ //删除学生信息
+ int deleteStudent(String username);
+
+ //统计学生人数
+ int stuNum();
+
+ //床位信息,查询该学生信息
+ Student stuInfo(String username);
+
+ int registerStudent(Student student);
+}
diff --git a/src/main/java/com/example/springboot/service/VisitorService.java b/src/main/java/com/example/springboot/service/VisitorService.java
new file mode 100644
index 0000000..4c10797
--- /dev/null
+++ b/src/main/java/com/example/springboot/service/VisitorService.java
@@ -0,0 +1,21 @@
+package com.example.springboot.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.example.springboot.entity.Visitor;
+
+
+public interface VisitorService extends IService {
+
+ //新增订单
+ int addNewVisitor(Visitor visitor);
+
+ //查询
+ Page find(Integer pageNum, Integer pageSize, String search);
+
+ //更新订单信息
+ int updateNewVisitor(Visitor visitor);
+
+ //删除订单
+ int deleteVisitor(Integer id);
+}
diff --git a/src/main/java/com/example/springboot/service/impl/AdjustRoomServiceImpl.java b/src/main/java/com/example/springboot/service/impl/AdjustRoomServiceImpl.java
new file mode 100644
index 0000000..04f7acb
--- /dev/null
+++ b/src/main/java/com/example/springboot/service/impl/AdjustRoomServiceImpl.java
@@ -0,0 +1,61 @@
+package com.example.springboot.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.example.springboot.entity.AdjustRoom;
+import com.example.springboot.mapper.AdjustRoomMapper;
+import com.example.springboot.service.AdjustRoomService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+@Service
+public class AdjustRoomServiceImpl extends ServiceImpl implements AdjustRoomService {
+
+
+ @Resource
+ private AdjustRoomMapper adjustRoomMapper;
+
+ /**
+ * 添加调宿申请
+ */
+ @Override
+ public int addApply(AdjustRoom adjustRoom) {
+ int insert = adjustRoomMapper.insert(adjustRoom);
+ return insert;
+ }
+
+ /**
+ * 查找调宿申请
+ */
+ @Override
+ public Page find(Integer pageNum, Integer pageSize, String search) {
+ Page page = new Page<>(pageNum, pageSize);
+ QueryWrapper qw = new QueryWrapper<>();
+ qw.like("username", search);
+ Page orderPage = adjustRoomMapper.selectPage(page, qw);
+ return orderPage;
+ }
+
+ /**
+ * 删除调宿申请
+ */
+ @Override
+ public int deleteAdjustment(Integer id) {
+ int i = adjustRoomMapper.deleteById(id);
+ return i;
+ }
+
+
+ /**
+ * 更新调宿申请
+ */
+ @Override
+ public int updateApply(AdjustRoom adjustRoom) {
+ int i = adjustRoomMapper.updateById(adjustRoom);
+ return i;
+ }
+
+
+}
diff --git a/src/main/java/com/example/springboot/service/impl/AdminServiceImpl.java b/src/main/java/com/example/springboot/service/impl/AdminServiceImpl.java
new file mode 100644
index 0000000..eeb1496
--- /dev/null
+++ b/src/main/java/com/example/springboot/service/impl/AdminServiceImpl.java
@@ -0,0 +1,59 @@
+package com.example.springboot.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.example.springboot.entity.Admin;
+import com.example.springboot.mapper.AdminMapper;
+import com.example.springboot.service.AdminService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+
+@Service
+public class AdminServiceImpl extends ServiceImpl implements AdminService {
+
+ /**
+ * 注入DAO层对象
+ */
+ @Resource
+ private AdminMapper adminMapper;
+
+ /**
+ * 管理员登录
+ */
+ @Override
+ public Admin adminLogin(String username, String password) {
+ QueryWrapper qw = new QueryWrapper<>();
+ qw.eq("username", username);
+ qw.eq("password", password);
+ Admin admin = adminMapper.selectOne(qw);
+ if (admin != null) {
+ return admin;
+ } else {
+ return null;
+ }
+ }
+
+ /**
+ * 管理员信息更新
+ */
+ @Override
+ public int updateAdmin(Admin admin) {
+ int i = adminMapper.updateById(admin);
+ return i;
+ }
+ /**
+ * 管理员注册
+ */
+ @Override
+ public int registerAdmin(Admin admin) {
+ QueryWrapper qw = new QueryWrapper<>();
+ qw.eq("username", admin.getUsername());
+ long count = adminMapper.selectCount(qw);
+ if (count > 0) {
+ throw new IllegalArgumentException("用户名已存在");
+ }
+ return adminMapper.insert(admin);
+ }
+}
diff --git a/src/main/java/com/example/springboot/service/impl/CostServiceImpl.java b/src/main/java/com/example/springboot/service/impl/CostServiceImpl.java
new file mode 100644
index 0000000..aa06124
--- /dev/null
+++ b/src/main/java/com/example/springboot/service/impl/CostServiceImpl.java
@@ -0,0 +1,46 @@
+package com.example.springboot.service.impl;
+
+import com.example.springboot.config.CostConfig;
+import com.example.springboot.entity.Cost;
+import com.example.springboot.service.CostService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class CostServiceImpl implements CostService {
+
+ private final CostConfig costConfig;
+
+ public CostServiceImpl(CostConfig costConfig) {
+ this.costConfig = costConfig;
+ }
+
+ @Override
+ public Boolean ChangeWaterCost(Integer waterCost) {
+ try {
+ costConfig.setWaterCost(waterCost);
+ return true;
+ } catch (Exception e) {
+ return false;
+ }
+ }
+
+ @Override
+ public Boolean ChangeElectricCost(Integer electricCost) {
+ try {
+ costConfig.setElectricCost(electricCost);
+ return true;
+ } catch (Exception e) {
+ return false;
+ }
+ }
+
+ // 获取水费
+ public Integer getWaterCost() {
+ return costConfig.getWaterCost();
+ }
+
+ // 获取电费
+ public Integer getElectricCost() {
+ return costConfig.getElectricCost();
+ }
+}
diff --git a/src/main/java/com/example/springboot/service/impl/DormBuildImpl.java b/src/main/java/com/example/springboot/service/impl/DormBuildImpl.java
new file mode 100644
index 0000000..4c9b1e9
--- /dev/null
+++ b/src/main/java/com/example/springboot/service/impl/DormBuildImpl.java
@@ -0,0 +1,75 @@
+package com.example.springboot.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.example.springboot.entity.DormBuild;
+import com.example.springboot.mapper.DormBuildMapper;
+import com.example.springboot.service.DormBuildService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+
+@Service
+public class DormBuildImpl extends ServiceImpl implements DormBuildService {
+
+
+ /**
+ * 注入DAO层对象
+ */
+ @Resource
+ private DormBuildMapper dormBuildMapper;
+
+ /**
+ * 楼宇添加
+ */
+ @Override
+ public int addNewBuilding(DormBuild dormBuild) {
+ int insert = dormBuildMapper.insert(dormBuild);
+ return insert;
+ }
+
+ /**
+ * 楼宇查找
+ */
+ @Override
+ public Page find(Integer pageNum, Integer pageSize, String search) {
+ Page page = new Page<>(pageNum, pageSize);
+ QueryWrapper qw = new QueryWrapper<>();
+ qw.like("DormBuild_id", search);
+ Page buildingPage = dormBuildMapper.selectPage(page, qw);
+ return buildingPage;
+ }
+
+ /**
+ * 楼宇信息更新
+ */
+ @Override
+ public int updateNewBuilding(DormBuild dormBuild) {
+ int i = dormBuildMapper.updateById(dormBuild);
+ return i;
+ }
+
+ /**
+ * 楼宇删除
+ */
+ @Override
+ public int deleteBuilding(Integer id) {
+ int i = dormBuildMapper.deleteById(id);
+ return i;
+ }
+
+ /**
+ * 首页 获取建筑名称
+ */
+ @Override
+ public List getBuildingId() {
+ QueryWrapper qw = new QueryWrapper<>();
+ qw.select("dormbuild_id");
+ List dormBuilds = dormBuildMapper.selectList(qw);
+ return dormBuilds;
+ }
+
+}
diff --git a/src/main/java/com/example/springboot/service/impl/DormManagerServiceImpl.java b/src/main/java/com/example/springboot/service/impl/DormManagerServiceImpl.java
new file mode 100644
index 0000000..264376d
--- /dev/null
+++ b/src/main/java/com/example/springboot/service/impl/DormManagerServiceImpl.java
@@ -0,0 +1,102 @@
+package com.example.springboot.service.impl;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.example.springboot.entity.DormManager;
+import com.example.springboot.mapper.DormManagerMapper;
+import com.example.springboot.service.DormManagerService;
+import org.springframework.stereotype.Service;
+import org.springframework.util.Assert;
+import org.springframework.util.StringUtils;
+
+import javax.annotation.Resource;
+
+
+@Service
+public class DormManagerServiceImpl extends ServiceImpl implements DormManagerService {
+
+ /**
+ * 注入DAO层对象
+ */
+ @Resource
+ private DormManagerMapper dormManagerMapper;
+
+ /**
+ * 宿管登录
+ */
+ @Override
+ public DormManager dormManagerLogin(String username, String password) {
+ QueryWrapper qw = new QueryWrapper<>();
+ qw.eq("username", username);
+ qw.eq("password", password);
+ DormManager dormManager = dormManagerMapper.selectOne(qw);
+ if (dormManager != null) {
+ return dormManager;
+ } else {
+ return null;
+ }
+ }
+
+ /**
+ * 宿管新增
+ */
+ @Override
+ public int addNewDormManager(DormManager dormManager) {
+ int insert = dormManagerMapper.insert(dormManager);
+ return insert;
+ }
+
+ /**
+ * 宿管查找
+ */
+ @Override
+ public Page find(Integer pageNum, Integer pageSize, String search) {
+ Page page = new Page<>(pageNum, pageSize);
+ QueryWrapper qw = new QueryWrapper<>();
+ qw.like("name", search);
+ Page dormManagerPage = dormManagerMapper.selectPage(page, qw);
+ return dormManagerPage;
+ }
+
+ /**
+ * 宿管信息更新
+ */
+ @Override
+ public int updateNewDormManager(DormManager dormManager) {
+ int i = dormManagerMapper.updateById(dormManager);
+ return i;
+ }
+
+ /**
+ * 宿管删除
+ */
+ @Override
+ public int deleteDormManager(String username) {
+ int i = dormManagerMapper.deleteById(username);
+ return i;
+ }
+
+ /**
+ * 宿管注册
+ */
+ @Override
+ public int registerDormManager(DormManager dormManager) {
+ Assert.notNull(dormManager, "宿管信息不能为空");
+ Assert.isTrue(StringUtils.hasText(dormManager.getUsername()), "用户名不能为空");
+ Assert.isTrue(StringUtils.hasText(dormManager.getPassword()), "密码不能为空");
+
+ // 检查用户名是否已存在
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("username", dormManager.getUsername());
+ Long count = dormManagerMapper.selectCount(queryWrapper);
+ if (count > 0) {
+ throw new IllegalArgumentException("用户名已存在");
+ }
+
+ // 插入新的宿管记录
+ return dormManagerMapper.insert(dormManager);
+ }
+
+}
diff --git a/src/main/java/com/example/springboot/service/impl/DormRoomImpl.java b/src/main/java/com/example/springboot/service/impl/DormRoomImpl.java
new file mode 100644
index 0000000..3b0f1fd
--- /dev/null
+++ b/src/main/java/com/example/springboot/service/impl/DormRoomImpl.java
@@ -0,0 +1,243 @@
+package com.example.springboot.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.example.springboot.common.JudgeBedName;
+import com.example.springboot.entity.AdjustRoom;
+import com.example.springboot.entity.DormRoom;
+import com.example.springboot.mapper.DormRoomMapper;
+import com.example.springboot.service.DormRoomService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+import static com.example.springboot.common.CalPeopleNum.calNum;
+
+
+@Service
+public class DormRoomImpl extends ServiceImpl implements DormRoomService {
+
+
+ private final DormRoomMapper dormRoomMapper;
+
+ public DormRoomImpl(DormRoomMapper dormRoomMapper) {
+ this.dormRoomMapper = dormRoomMapper;
+ }
+
+ /**
+ * 首页顶部:空宿舍统计
+ */
+ @Override
+ public int notFullRoom() {
+ QueryWrapper qw = new QueryWrapper<>();
+ qw.lt("current_capacity", 4);
+ int notFullRoomNum = Math.toIntExact(dormRoomMapper.selectCount(qw));
+ return notFullRoomNum;
+ }
+
+ /**
+ * 添加房间
+ */
+ @Override
+ public int addNewRoom(DormRoom dormRoom) {
+ int insert = dormRoomMapper.insert(dormRoom);
+ return insert;
+ }
+
+ /**
+ * 查找房间
+ */
+ @Override
+ public Page find(Integer pageNum, Integer pageSize, String search) {
+ Page page = new Page<>(pageNum, pageSize);
+ QueryWrapper qw = new QueryWrapper<>();
+ qw.like("Dormroom_id", search);
+ Page roomPage = dormRoomMapper.selectPage(page, qw);
+ return roomPage;
+ }
+
+ /**
+ * 更新房间
+ */
+ @Override
+ public int updateNewRoom(DormRoom dormRoom) {
+ int i = dormRoomMapper.updateById(dormRoom);
+ return i;
+ }
+
+ /**
+ * 删除房间
+ */
+ @Override
+ public int deleteRoom(Integer dormRoomId) {
+ int i = dormRoomMapper.deleteById(dormRoomId);
+ return i;
+ }
+
+ /**
+ * 删除床位上的学生信息
+ */
+ @Override
+ public int deleteBedInfo(String bedName, Integer dormRoomId, int calCurrentNum) {
+ UpdateWrapper updateWrapper = new UpdateWrapper();
+ updateWrapper.eq("dormroom_id", dormRoomId);
+ updateWrapper.set(bedName, null);
+ updateWrapper.set("current_capacity", calCurrentNum - 1);
+ int update = dormRoomMapper.update(null, updateWrapper);
+ return update;
+
+ }
+
+ /**
+ * 床位信息,查询该学生是否已由床位
+ */
+ @Override
+ public DormRoom judgeHadBed(String username) {
+ QueryWrapper qw = new QueryWrapper();
+ qw.eq("first_bed", username);
+ qw.or();
+ qw.eq("second_bed", username);
+ qw.or();
+ qw.eq("third_bed", username);
+ qw.or();
+ qw.eq("fourth_bed", username);
+ DormRoom dormRoom = dormRoomMapper.selectOne(qw);
+ return dormRoom;
+ }
+
+ /**
+ * 主页 住宿人数
+ */
+ @Override
+ public Long selectHaveRoomStuNum() {
+ QueryWrapper qw1 = new QueryWrapper<>();
+ qw1.isNotNull("first_bed");
+ Long first_bed = dormRoomMapper.selectCount(qw1);
+
+ QueryWrapper qw2 = new QueryWrapper<>();
+ qw2.isNotNull("second_bed");
+ Long second_bed = dormRoomMapper.selectCount(qw2);
+
+ QueryWrapper qw3 = new QueryWrapper<>();
+ qw3.isNotNull("third_bed");
+ Long third_bed = dormRoomMapper.selectCount(qw3);
+
+ QueryWrapper qw4 = new QueryWrapper<>();
+ qw4.isNotNull("fourth_bed");
+ Long fourth_bed = dormRoomMapper.selectCount(qw4);
+
+ Long count = first_bed + second_bed + third_bed + fourth_bed;
+ return count;
+ }
+
+ /**
+ * 获取每栋宿舍学生总人数
+ */
+ @Override
+ public Long getEachBuildingStuNum(int dormBuildId) {
+
+ QueryWrapper qw1 = new QueryWrapper<>();
+ qw1.eq("dormbuild_id", dormBuildId);
+ qw1.isNotNull("first_bed");
+ Long first_bed = dormRoomMapper.selectCount(qw1);
+
+ QueryWrapper qw2 = new QueryWrapper<>();
+ qw2.eq("dormbuild_id", dormBuildId);
+ qw2.isNotNull("second_bed");
+ Long second_bed = dormRoomMapper.selectCount(qw2);
+
+ QueryWrapper qw3 = new QueryWrapper<>();
+ qw3.eq("dormbuild_id", dormBuildId);
+ qw3.isNotNull("third_bed");
+ Long third_bed = dormRoomMapper.selectCount(qw3);
+
+ QueryWrapper qw4 = new QueryWrapper<>();
+ qw4.eq("dormbuild_id", dormBuildId);
+ qw4.isNotNull("fourth_bed");
+ Long fourth_bed = dormRoomMapper.selectCount(qw4);
+
+ Long count = first_bed + second_bed + third_bed + fourth_bed;
+
+ return count;
+ }
+
+ /**
+ * 根据调宿申请表对房间表内的学生床位进行调整
+ */
+ @Override
+ public int adjustRoomUpdate(AdjustRoom adjustRoom) {
+ //调宿人
+ String username = adjustRoom.getUsername();
+ //当前房间号
+ int currentRoomId = adjustRoom.getCurrentRoomId();
+ //当前床位名称
+ String currentBedName = JudgeBedName.getBedName(adjustRoom.getCurrentBedId());
+ //目标房间号
+ int towardsRoomId = adjustRoom.getTowardsRoomId();
+ //目标目标房间号
+ String towardsBedName = JudgeBedName.getBedName(adjustRoom.getTowardsBedId());
+ QueryWrapper qw = new QueryWrapper();
+ qw.eq("dormroom_id", currentRoomId);
+ qw.isNotNull(currentBedName);
+ DormRoom dormRoom1 = dormRoomMapper.selectOne(qw);
+ if (dormRoom1 == null) {
+ return -2;
+ }
+ int currentCapacity1 = calNum(dormRoom1);
+ UpdateWrapper uw1 = new UpdateWrapper();
+ uw1.eq("dormroom_id", currentRoomId);
+ uw1.set(currentBedName, null);
+ uw1.set("current_capacity", currentCapacity1 - 1);
+ int result1 = dormRoomMapper.update(null, uw1);
+ DormRoom dormRoom2 = dormRoomMapper.selectById(towardsRoomId);
+ int currentCapacity2 = calNum(dormRoom2);
+ if (result1 == 1) {
+ UpdateWrapper uw2 = new UpdateWrapper();
+ uw2.eq("dormroom_id", towardsRoomId);
+ uw2.set(towardsBedName, username);
+ uw2.set("current_capacity", currentCapacity2 + 1);
+ int result2 = dormRoomMapper.update(null, uw2);
+ return result2;
+ }
+ return -1;
+ }
+
+
+ /**
+ * 检查该房间是否满了
+ */
+ @Override
+ public DormRoom checkRoomState(Integer dormRoomId) {
+ QueryWrapper qw = new QueryWrapper();
+ qw.eq("dormroom_id", dormRoomId);
+ qw.lt("current_capacity", 4);
+ DormRoom dormRoom = dormRoomMapper.selectOne(qw);
+ return dormRoom;
+ }
+
+ /**
+ * 检查该房间是否存在
+ */
+ @Override
+ public DormRoom checkRoomExist(Integer dormRoomId) {
+ DormRoom dormRoom = dormRoomMapper.selectById(dormRoomId);
+ return dormRoom;
+ }
+
+
+ /**
+ * 检查床位是否有人
+ */
+ @Override
+ public DormRoom checkBedState(Integer dormRoomId, int bedNum) {
+ QueryWrapper qw = new QueryWrapper();
+ qw.eq("dormroom_id", dormRoomId);
+ qw.isNull(JudgeBedName.getBedName(bedNum));
+ DormRoom dormRoom = dormRoomMapper.selectOne(qw);
+ return dormRoom;
+ }
+
+
+}
diff --git a/src/main/java/com/example/springboot/service/impl/NoticeServiceImpl.java b/src/main/java/com/example/springboot/service/impl/NoticeServiceImpl.java
new file mode 100644
index 0000000..d5aec6e
--- /dev/null
+++ b/src/main/java/com/example/springboot/service/impl/NoticeServiceImpl.java
@@ -0,0 +1,76 @@
+package com.example.springboot.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.example.springboot.entity.Notice;
+import com.example.springboot.mapper.NoticeMapper;
+import com.example.springboot.service.NoticeService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+
+@Service
+public class NoticeServiceImpl extends ServiceImpl implements NoticeService {
+
+
+ /**
+ * 注入DAO层对象
+ */
+ @Resource
+ private NoticeMapper noticeMapper;
+
+ /**
+ * 公告添加
+ */
+ @Override
+ public int addNewNotice(Notice notice) {
+ int insert = noticeMapper.insert(notice);
+ return insert;
+ }
+
+ /**
+ * 公告查找
+ */
+ @Override
+ public Page find(Integer pageNum, Integer pageSize, String search) {
+ Page page = new Page<>(pageNum, pageSize);
+ QueryWrapper qw = new QueryWrapper<>();
+ qw.like("title", search);
+// Assert.notNull(qw,"不可为空");
+ Page noticePage = noticeMapper.selectPage(page, qw);
+ return noticePage;
+ }
+
+ /**
+ * 公告更新
+ */
+ @Override
+ public int updateNewNotice(Notice notice) {
+ int i = noticeMapper.updateById(notice);
+ return i;
+ }
+
+ /**
+ * 公告删除
+ */
+ @Override
+ public int deleteNotice(Integer id) {
+ int i = noticeMapper.deleteById(id);
+ return i;
+ }
+
+ /**
+ * 首页公告展示
+ */
+ @Override
+ public List> homePageNotice() {
+ QueryWrapper qw = new QueryWrapper<>();
+ qw.orderByDesc("release_time");
+ List noticeList = noticeMapper.selectList(qw);
+ return noticeList;
+
+ }
+}
diff --git a/src/main/java/com/example/springboot/service/impl/OrderServiceImpl.java b/src/main/java/com/example/springboot/service/impl/OrderServiceImpl.java
new file mode 100644
index 0000000..7080b16
--- /dev/null
+++ b/src/main/java/com/example/springboot/service/impl/OrderServiceImpl.java
@@ -0,0 +1,52 @@
+package com.example.springboot.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.example.springboot.entity.Order;
+import com.example.springboot.mapper.OrderMapper;
+import com.example.springboot.service.OrderService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class OrderServiceImpl implements OrderService {
+
+ private final OrderMapper orderMapper;
+
+
+ public OrderServiceImpl(OrderMapper orderMapper) {
+ this.orderMapper = orderMapper;
+ }
+
+
+ @Override
+ public List getAllOrders() {
+
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ return orderMapper.selectList(queryWrapper);
+ }
+
+
+ @Override
+ public Boolean order(Integer studentId) {
+
+ Order order = new Order();
+ order.setUser_id(String.valueOf(studentId));
+ order.setOrder_time(java.time.LocalDate.now());
+
+
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("user_id", studentId);
+
+
+ Order existingOrder = orderMapper.selectOne(queryWrapper);
+ if (existingOrder != null) {
+
+ return false;
+ }
+
+
+ int rowsAffected = orderMapper.insert(order);
+ return rowsAffected > 0;
+ }
+}
diff --git a/src/main/java/com/example/springboot/service/impl/RepairServiceImpl.java b/src/main/java/com/example/springboot/service/impl/RepairServiceImpl.java
new file mode 100644
index 0000000..cb5e77c
--- /dev/null
+++ b/src/main/java/com/example/springboot/service/impl/RepairServiceImpl.java
@@ -0,0 +1,84 @@
+package com.example.springboot.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.example.springboot.entity.Repair;
+import com.example.springboot.mapper.RepairMapper;
+import com.example.springboot.service.RepairService;
+import org.springframework.stereotype.Service;
+import org.springframework.util.Assert;
+
+import javax.annotation.Resource;
+
+
+@Service
+public class RepairServiceImpl extends ServiceImpl implements RepairService {
+
+ /**
+ * 注入DAO层对象
+ */
+ @Resource
+ private RepairMapper repairMapper;
+
+ /**
+ * 添加订单
+ */
+ @Override
+ public int addNewOrder(Repair repair) {
+ int insert = repairMapper.insert(repair);
+ return insert;
+ }
+
+ /**
+ * 查找订单
+ */
+ @Override
+ public Page find(Integer pageNum, Integer pageSize, String search) {
+ Page page = new Page<>(pageNum, pageSize);
+ QueryWrapper qw = new QueryWrapper<>();
+ qw.like("title", search);
+ Page orderPage = repairMapper.selectPage(page, qw);
+ return orderPage;
+ }
+
+ @Override
+ public Page individualFind(Integer pageNum, Integer pageSize, String search, String name) {
+ Page page = new Page<>(pageNum, pageSize);
+ QueryWrapper qw = new QueryWrapper<>();
+ qw.like("title", search);
+ qw.eq("repairer", name);
+ Page orderPage = repairMapper.selectPage(page, qw);
+ return orderPage;
+ }
+
+ /**
+ * 更新订单
+ */
+ @Override
+ public int updateNewOrder(Repair repair) {
+ int i = repairMapper.updateById(repair);
+ Assert.notNull(i, "保修单为空");
+ return i;
+ }
+
+ /**
+ * 删除订单
+ */
+ @Override
+ public int deleteOrder(Integer id) {
+ int i = repairMapper.deleteById(id);
+ Assert.notNull(i, "保修单为空");
+ return i;
+ }
+
+ /**
+ * 首页顶部:报修统计
+ */
+ @Override
+ public int showOrderNum() {
+ QueryWrapper qw = new QueryWrapper<>();
+ int orderCount = Math.toIntExact(repairMapper.selectCount(qw));
+ return orderCount;
+ }
+}
diff --git a/src/main/java/com/example/springboot/service/impl/StudentServiceImpl.java b/src/main/java/com/example/springboot/service/impl/StudentServiceImpl.java
new file mode 100644
index 0000000..bd4f472
--- /dev/null
+++ b/src/main/java/com/example/springboot/service/impl/StudentServiceImpl.java
@@ -0,0 +1,112 @@
+package com.example.springboot.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.example.springboot.entity.Student;
+import com.example.springboot.mapper.StudentMapper;
+import com.example.springboot.service.StudentService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+
+@Service
+public class StudentServiceImpl extends ServiceImpl implements StudentService {
+
+ /**
+ * 注入DAO层对象
+ */
+ @Resource
+ private StudentMapper studentMapper;
+ /**
+ * Registers a new student ensuring username uniqueness.
+ */
+ @Override
+ public int registerStudent(Student student) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("username", student.getUsername());
+ if (studentMapper.selectCount(queryWrapper) > 0) {
+ throw new IllegalArgumentException("Username already exists");
+ }
+ return studentMapper.insert(student);
+ }
+
+ /**
+ * 学生登陆
+ */
+ @Override
+ public Student stuLogin(String username, String password) {
+ QueryWrapper qw = new QueryWrapper<>();
+ qw.eq("username", username);
+ qw.eq("password", password);
+ Student student = studentMapper.selectOne(qw);
+ if (student != null) {
+ return student;
+ } else {
+ return null;
+ }
+ }
+
+ /**
+ * 学生新增
+ */
+ @Override
+ public int addNewStudent(Student student) {
+ int insert = studentMapper.insert(student);
+ return insert;
+ }
+
+ /**
+ * 分页查询学生
+ */
+ @Override
+ public Page find(Integer pageNum, Integer pageSize, String search) {
+ Page page = new Page<>(pageNum, pageSize);
+ QueryWrapper qw = new QueryWrapper<>();
+ qw.like("name", search);
+ Page studentPage = studentMapper.selectPage(page, qw);
+ return studentPage;
+ }
+
+ /**
+ * 更新学生信息
+ */
+ @Override
+ public int updateNewStudent(Student student) {
+ int i = studentMapper.updateById(student);
+ return i;
+ }
+
+ /**
+ * 删除学生信息
+ */
+ @Override
+ public int deleteStudent(String username) {
+ int i = studentMapper.deleteById(username);
+ return i;
+ }
+
+
+ /**
+ * 主页顶部:学生统计
+ */
+ @Override
+ public int stuNum() {
+ QueryWrapper qw = new QueryWrapper<>();
+ qw.isNotNull("username");
+ int stuNum = Math.toIntExact(studentMapper.selectCount(qw));
+ return stuNum;
+ }
+
+ /**
+ * 床位信息,查询该学生信息
+ */
+ @Override
+ public Student stuInfo(String username) {
+ QueryWrapper qw = new QueryWrapper<>();
+ qw.eq("username", username);
+ Student student = studentMapper.selectOne(qw);
+ return student;
+ }
+}
diff --git a/src/main/java/com/example/springboot/service/impl/VisitorServiceImpl.java b/src/main/java/com/example/springboot/service/impl/VisitorServiceImpl.java
new file mode 100644
index 0000000..d2931a6
--- /dev/null
+++ b/src/main/java/com/example/springboot/service/impl/VisitorServiceImpl.java
@@ -0,0 +1,59 @@
+package com.example.springboot.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.example.springboot.entity.Visitor;
+import com.example.springboot.mapper.VisitorMapper;
+import com.example.springboot.service.VisitorService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+
+@Service
+public class VisitorServiceImpl extends ServiceImpl implements VisitorService {
+
+ @Resource
+ private VisitorMapper visitorMapper;
+
+ /**
+ * 访客添加
+ */
+ @Override
+ public int addNewVisitor(Visitor visitor) {
+ int insert = visitorMapper.insert(visitor);
+ return insert;
+ }
+
+ /**
+ * 访客查询
+ */
+ @Override
+ public Page find(Integer pageNum, Integer pageSize, String search) {
+// return visitorMapper.selectPage(new Page<>(pageNum, pageSize), new QueryWrapper().like("name", search));
+ Page newPage = new Page<>(pageNum, pageSize);
+ QueryWrapper qw = new QueryWrapper<>();
+ qw.like("name", search);
+ Page visitorPage = visitorMapper.selectPage(newPage, qw);
+ return visitorPage;
+ }
+
+ /**
+ * 访客信息更新
+ */
+ @Override
+ public int updateNewVisitor(Visitor visitor) {
+ int i = visitorMapper.updateById(visitor);
+ return i;
+ }
+
+ /**
+ * 访客删除
+ */
+ @Override
+ public int deleteVisitor(Integer id) {
+ int i = visitorMapper.deleteById(id);
+ return i;
+ }
+}
diff --git a/src/main/resources/application.yaml b/src/main/resources/application.yaml
new file mode 100644
index 0000000..42e6d40
--- /dev/null
+++ b/src/main/resources/application.yaml
@@ -0,0 +1,11 @@
+server:
+ port: 8083
+cost:
+ electric-cost: 20 #设置基础水费
+ water-cost: 10 # 设置基础电费
+spring:
+ datasource:
+ url: jdbc:mysql://localhost:3306/yue_dorm?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=true
+ username: root
+ password: 123456
+
diff --git a/src/test/java/com/example/springboot/SpringbootApplicationTests.java b/src/test/java/com/example/springboot/SpringbootApplicationTests.java
new file mode 100644
index 0000000..f4ec47c
--- /dev/null
+++ b/src/test/java/com/example/springboot/SpringbootApplicationTests.java
@@ -0,0 +1,14 @@
+package com.example.springboot;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+
+
+@SpringBootTest
+class SpringbootApplicationTests {
+
+ @Test
+ void contextLoads() {
+ }
+
+}
diff --git a/target/Dormitory_bussiness-1.0.0.jar b/target/Dormitory_bussiness-1.0.0.jar
new file mode 100644
index 0000000..6ba7eac
Binary files /dev/null and b/target/Dormitory_bussiness-1.0.0.jar differ
diff --git a/target/Dormitory_bussiness-1.0.0.jar.original b/target/Dormitory_bussiness-1.0.0.jar.original
new file mode 100644
index 0000000..75ad165
Binary files /dev/null and b/target/Dormitory_bussiness-1.0.0.jar.original differ
diff --git a/target/classes/application.yaml b/target/classes/application.yaml
new file mode 100644
index 0000000..60ca582
--- /dev/null
+++ b/target/classes/application.yaml
@@ -0,0 +1,9 @@
+server:
+ port: 8083
+
+spring:
+ datasource:
+ url: jdbc:mysql://47.122.61.54:3306/yue_dorm?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=true
+ username: root
+ password: GHLgjw168168+
+
diff --git a/target/classes/com/example/springboot/SpringbootApplication.class b/target/classes/com/example/springboot/SpringbootApplication.class
new file mode 100644
index 0000000..e9fd86e
Binary files /dev/null and b/target/classes/com/example/springboot/SpringbootApplication.class differ
diff --git a/target/classes/com/example/springboot/common/CalPeopleNum.class b/target/classes/com/example/springboot/common/CalPeopleNum.class
new file mode 100644
index 0000000..4743997
Binary files /dev/null and b/target/classes/com/example/springboot/common/CalPeopleNum.class differ
diff --git a/target/classes/com/example/springboot/common/CorsConfig.class b/target/classes/com/example/springboot/common/CorsConfig.class
new file mode 100644
index 0000000..2e736f2
Binary files /dev/null and b/target/classes/com/example/springboot/common/CorsConfig.class differ
diff --git a/target/classes/com/example/springboot/common/JudgeBedName.class b/target/classes/com/example/springboot/common/JudgeBedName.class
new file mode 100644
index 0000000..4ceae29
Binary files /dev/null and b/target/classes/com/example/springboot/common/JudgeBedName.class differ
diff --git a/target/classes/com/example/springboot/common/MyBatisPlusConfig.class b/target/classes/com/example/springboot/common/MyBatisPlusConfig.class
new file mode 100644
index 0000000..5aca816
Binary files /dev/null and b/target/classes/com/example/springboot/common/MyBatisPlusConfig.class differ
diff --git a/target/classes/com/example/springboot/common/Result.class b/target/classes/com/example/springboot/common/Result.class
new file mode 100644
index 0000000..018171e
Binary files /dev/null and b/target/classes/com/example/springboot/common/Result.class differ
diff --git a/target/classes/com/example/springboot/common/UID.class b/target/classes/com/example/springboot/common/UID.class
new file mode 100644
index 0000000..79b33e2
Binary files /dev/null and b/target/classes/com/example/springboot/common/UID.class differ
diff --git a/target/classes/com/example/springboot/controller/AdjustRoomController.class b/target/classes/com/example/springboot/controller/AdjustRoomController.class
new file mode 100644
index 0000000..34c74ea
Binary files /dev/null and b/target/classes/com/example/springboot/controller/AdjustRoomController.class differ
diff --git a/target/classes/com/example/springboot/controller/AdminController.class b/target/classes/com/example/springboot/controller/AdminController.class
new file mode 100644
index 0000000..5c29017
Binary files /dev/null and b/target/classes/com/example/springboot/controller/AdminController.class differ
diff --git a/target/classes/com/example/springboot/controller/DormBuildController.class b/target/classes/com/example/springboot/controller/DormBuildController.class
new file mode 100644
index 0000000..88715ec
Binary files /dev/null and b/target/classes/com/example/springboot/controller/DormBuildController.class differ
diff --git a/target/classes/com/example/springboot/controller/DormManagerController.class b/target/classes/com/example/springboot/controller/DormManagerController.class
new file mode 100644
index 0000000..c3e8a1a
Binary files /dev/null and b/target/classes/com/example/springboot/controller/DormManagerController.class differ
diff --git a/target/classes/com/example/springboot/controller/DormRoomController.class b/target/classes/com/example/springboot/controller/DormRoomController.class
new file mode 100644
index 0000000..a9183c5
Binary files /dev/null and b/target/classes/com/example/springboot/controller/DormRoomController.class differ
diff --git a/target/classes/com/example/springboot/controller/FileController.class b/target/classes/com/example/springboot/controller/FileController.class
new file mode 100644
index 0000000..afe79b1
Binary files /dev/null and b/target/classes/com/example/springboot/controller/FileController.class differ
diff --git a/target/classes/com/example/springboot/controller/MainController.class b/target/classes/com/example/springboot/controller/MainController.class
new file mode 100644
index 0000000..fa67d5f
Binary files /dev/null and b/target/classes/com/example/springboot/controller/MainController.class differ
diff --git a/target/classes/com/example/springboot/controller/NoticeController.class b/target/classes/com/example/springboot/controller/NoticeController.class
new file mode 100644
index 0000000..a432c3d
Binary files /dev/null and b/target/classes/com/example/springboot/controller/NoticeController.class differ
diff --git a/target/classes/com/example/springboot/controller/OrderController.class b/target/classes/com/example/springboot/controller/OrderController.class
new file mode 100644
index 0000000..d80dfe3
Binary files /dev/null and b/target/classes/com/example/springboot/controller/OrderController.class differ
diff --git a/target/classes/com/example/springboot/controller/RepairController.class b/target/classes/com/example/springboot/controller/RepairController.class
new file mode 100644
index 0000000..025932a
Binary files /dev/null and b/target/classes/com/example/springboot/controller/RepairController.class differ
diff --git a/target/classes/com/example/springboot/controller/StudentController.class b/target/classes/com/example/springboot/controller/StudentController.class
new file mode 100644
index 0000000..5bb4b50
Binary files /dev/null and b/target/classes/com/example/springboot/controller/StudentController.class differ
diff --git a/target/classes/com/example/springboot/controller/VisitorController.class b/target/classes/com/example/springboot/controller/VisitorController.class
new file mode 100644
index 0000000..ff4caf7
Binary files /dev/null and b/target/classes/com/example/springboot/controller/VisitorController.class differ
diff --git a/target/classes/com/example/springboot/entity/AdjustRoom.class b/target/classes/com/example/springboot/entity/AdjustRoom.class
new file mode 100644
index 0000000..75d75aa
Binary files /dev/null and b/target/classes/com/example/springboot/entity/AdjustRoom.class differ
diff --git a/target/classes/com/example/springboot/entity/Admin.class b/target/classes/com/example/springboot/entity/Admin.class
new file mode 100644
index 0000000..5afe0ff
Binary files /dev/null and b/target/classes/com/example/springboot/entity/Admin.class differ
diff --git a/target/classes/com/example/springboot/entity/DormBuild.class b/target/classes/com/example/springboot/entity/DormBuild.class
new file mode 100644
index 0000000..7dde691
Binary files /dev/null and b/target/classes/com/example/springboot/entity/DormBuild.class differ
diff --git a/target/classes/com/example/springboot/entity/DormManager.class b/target/classes/com/example/springboot/entity/DormManager.class
new file mode 100644
index 0000000..4d7c1e4
Binary files /dev/null and b/target/classes/com/example/springboot/entity/DormManager.class differ
diff --git a/target/classes/com/example/springboot/entity/DormRoom.class b/target/classes/com/example/springboot/entity/DormRoom.class
new file mode 100644
index 0000000..29d259b
Binary files /dev/null and b/target/classes/com/example/springboot/entity/DormRoom.class differ
diff --git a/target/classes/com/example/springboot/entity/ElectricCost.class b/target/classes/com/example/springboot/entity/ElectricCost.class
new file mode 100644
index 0000000..8c20d70
Binary files /dev/null and b/target/classes/com/example/springboot/entity/ElectricCost.class differ
diff --git a/target/classes/com/example/springboot/entity/Notice.class b/target/classes/com/example/springboot/entity/Notice.class
new file mode 100644
index 0000000..13800e5
Binary files /dev/null and b/target/classes/com/example/springboot/entity/Notice.class differ
diff --git a/target/classes/com/example/springboot/entity/Order.class b/target/classes/com/example/springboot/entity/Order.class
new file mode 100644
index 0000000..41ada99
Binary files /dev/null and b/target/classes/com/example/springboot/entity/Order.class differ
diff --git a/target/classes/com/example/springboot/entity/PayRecord.class b/target/classes/com/example/springboot/entity/PayRecord.class
new file mode 100644
index 0000000..2c3711d
Binary files /dev/null and b/target/classes/com/example/springboot/entity/PayRecord.class differ
diff --git a/target/classes/com/example/springboot/entity/Repair.class b/target/classes/com/example/springboot/entity/Repair.class
new file mode 100644
index 0000000..8ac039c
Binary files /dev/null and b/target/classes/com/example/springboot/entity/Repair.class differ
diff --git a/target/classes/com/example/springboot/entity/Student.class b/target/classes/com/example/springboot/entity/Student.class
new file mode 100644
index 0000000..87ed9ba
Binary files /dev/null and b/target/classes/com/example/springboot/entity/Student.class differ
diff --git a/target/classes/com/example/springboot/entity/User.class b/target/classes/com/example/springboot/entity/User.class
new file mode 100644
index 0000000..6d24256
Binary files /dev/null and b/target/classes/com/example/springboot/entity/User.class differ
diff --git a/target/classes/com/example/springboot/entity/ViolationRecord.class b/target/classes/com/example/springboot/entity/ViolationRecord.class
new file mode 100644
index 0000000..474bde9
Binary files /dev/null and b/target/classes/com/example/springboot/entity/ViolationRecord.class differ
diff --git a/target/classes/com/example/springboot/entity/Visitor.class b/target/classes/com/example/springboot/entity/Visitor.class
new file mode 100644
index 0000000..3a80681
Binary files /dev/null and b/target/classes/com/example/springboot/entity/Visitor.class differ
diff --git a/target/classes/com/example/springboot/entity/WaterCost.class b/target/classes/com/example/springboot/entity/WaterCost.class
new file mode 100644
index 0000000..73f2591
Binary files /dev/null and b/target/classes/com/example/springboot/entity/WaterCost.class differ
diff --git a/target/classes/com/example/springboot/mapper/AdjustRoomMapper.class b/target/classes/com/example/springboot/mapper/AdjustRoomMapper.class
new file mode 100644
index 0000000..b04443f
Binary files /dev/null and b/target/classes/com/example/springboot/mapper/AdjustRoomMapper.class differ
diff --git a/target/classes/com/example/springboot/mapper/AdminMapper.class b/target/classes/com/example/springboot/mapper/AdminMapper.class
new file mode 100644
index 0000000..64a1528
Binary files /dev/null and b/target/classes/com/example/springboot/mapper/AdminMapper.class differ
diff --git a/target/classes/com/example/springboot/mapper/DormBuildMapper.class b/target/classes/com/example/springboot/mapper/DormBuildMapper.class
new file mode 100644
index 0000000..3f51e25
Binary files /dev/null and b/target/classes/com/example/springboot/mapper/DormBuildMapper.class differ
diff --git a/target/classes/com/example/springboot/mapper/DormManagerMapper.class b/target/classes/com/example/springboot/mapper/DormManagerMapper.class
new file mode 100644
index 0000000..13a2555
Binary files /dev/null and b/target/classes/com/example/springboot/mapper/DormManagerMapper.class differ
diff --git a/target/classes/com/example/springboot/mapper/DormRoomMapper.class b/target/classes/com/example/springboot/mapper/DormRoomMapper.class
new file mode 100644
index 0000000..73fbc12
Binary files /dev/null and b/target/classes/com/example/springboot/mapper/DormRoomMapper.class differ
diff --git a/target/classes/com/example/springboot/mapper/NoticeMapper.class b/target/classes/com/example/springboot/mapper/NoticeMapper.class
new file mode 100644
index 0000000..e8ddb9f
Binary files /dev/null and b/target/classes/com/example/springboot/mapper/NoticeMapper.class differ
diff --git a/target/classes/com/example/springboot/mapper/OrderMapper.class b/target/classes/com/example/springboot/mapper/OrderMapper.class
new file mode 100644
index 0000000..4dd6e68
Binary files /dev/null and b/target/classes/com/example/springboot/mapper/OrderMapper.class differ
diff --git a/target/classes/com/example/springboot/mapper/RepairMapper.class b/target/classes/com/example/springboot/mapper/RepairMapper.class
new file mode 100644
index 0000000..f9eb17b
Binary files /dev/null and b/target/classes/com/example/springboot/mapper/RepairMapper.class differ
diff --git a/target/classes/com/example/springboot/mapper/StudentMapper.class b/target/classes/com/example/springboot/mapper/StudentMapper.class
new file mode 100644
index 0000000..e43ef93
Binary files /dev/null and b/target/classes/com/example/springboot/mapper/StudentMapper.class differ
diff --git a/target/classes/com/example/springboot/mapper/VisitorMapper.class b/target/classes/com/example/springboot/mapper/VisitorMapper.class
new file mode 100644
index 0000000..aaf2192
Binary files /dev/null and b/target/classes/com/example/springboot/mapper/VisitorMapper.class differ
diff --git a/target/classes/com/example/springboot/service/AdjustRoomService.class b/target/classes/com/example/springboot/service/AdjustRoomService.class
new file mode 100644
index 0000000..0ab01de
Binary files /dev/null and b/target/classes/com/example/springboot/service/AdjustRoomService.class differ
diff --git a/target/classes/com/example/springboot/service/AdminService.class b/target/classes/com/example/springboot/service/AdminService.class
new file mode 100644
index 0000000..69f89c3
Binary files /dev/null and b/target/classes/com/example/springboot/service/AdminService.class differ
diff --git a/target/classes/com/example/springboot/service/DormBuildService.class b/target/classes/com/example/springboot/service/DormBuildService.class
new file mode 100644
index 0000000..2cab390
Binary files /dev/null and b/target/classes/com/example/springboot/service/DormBuildService.class differ
diff --git a/target/classes/com/example/springboot/service/DormManagerService.class b/target/classes/com/example/springboot/service/DormManagerService.class
new file mode 100644
index 0000000..6dfc72e
Binary files /dev/null and b/target/classes/com/example/springboot/service/DormManagerService.class differ
diff --git a/target/classes/com/example/springboot/service/DormRoomService.class b/target/classes/com/example/springboot/service/DormRoomService.class
new file mode 100644
index 0000000..6c1a58c
Binary files /dev/null and b/target/classes/com/example/springboot/service/DormRoomService.class differ
diff --git a/target/classes/com/example/springboot/service/NoticeService.class b/target/classes/com/example/springboot/service/NoticeService.class
new file mode 100644
index 0000000..266f580
Binary files /dev/null and b/target/classes/com/example/springboot/service/NoticeService.class differ
diff --git a/target/classes/com/example/springboot/service/OrderService.class b/target/classes/com/example/springboot/service/OrderService.class
new file mode 100644
index 0000000..beaf4b5
Binary files /dev/null and b/target/classes/com/example/springboot/service/OrderService.class differ
diff --git a/target/classes/com/example/springboot/service/RepairService.class b/target/classes/com/example/springboot/service/RepairService.class
new file mode 100644
index 0000000..294c99a
Binary files /dev/null and b/target/classes/com/example/springboot/service/RepairService.class differ
diff --git a/target/classes/com/example/springboot/service/StudentService.class b/target/classes/com/example/springboot/service/StudentService.class
new file mode 100644
index 0000000..4d319a3
Binary files /dev/null and b/target/classes/com/example/springboot/service/StudentService.class differ
diff --git a/target/classes/com/example/springboot/service/VisitorService.class b/target/classes/com/example/springboot/service/VisitorService.class
new file mode 100644
index 0000000..b7baaaf
Binary files /dev/null and b/target/classes/com/example/springboot/service/VisitorService.class differ
diff --git a/target/classes/com/example/springboot/service/impl/AdjustRoomServiceImpl.class b/target/classes/com/example/springboot/service/impl/AdjustRoomServiceImpl.class
new file mode 100644
index 0000000..0a16c56
Binary files /dev/null and b/target/classes/com/example/springboot/service/impl/AdjustRoomServiceImpl.class differ
diff --git a/target/classes/com/example/springboot/service/impl/AdminServiceImpl.class b/target/classes/com/example/springboot/service/impl/AdminServiceImpl.class
new file mode 100644
index 0000000..4595646
Binary files /dev/null and b/target/classes/com/example/springboot/service/impl/AdminServiceImpl.class differ
diff --git a/target/classes/com/example/springboot/service/impl/DormBuildImpl.class b/target/classes/com/example/springboot/service/impl/DormBuildImpl.class
new file mode 100644
index 0000000..e3f1c8c
Binary files /dev/null and b/target/classes/com/example/springboot/service/impl/DormBuildImpl.class differ
diff --git a/target/classes/com/example/springboot/service/impl/DormManagerServiceImpl.class b/target/classes/com/example/springboot/service/impl/DormManagerServiceImpl.class
new file mode 100644
index 0000000..c80d7df
Binary files /dev/null and b/target/classes/com/example/springboot/service/impl/DormManagerServiceImpl.class differ
diff --git a/target/classes/com/example/springboot/service/impl/DormRoomImpl.class b/target/classes/com/example/springboot/service/impl/DormRoomImpl.class
new file mode 100644
index 0000000..5c628c8
Binary files /dev/null and b/target/classes/com/example/springboot/service/impl/DormRoomImpl.class differ
diff --git a/target/classes/com/example/springboot/service/impl/NoticeServiceImpl.class b/target/classes/com/example/springboot/service/impl/NoticeServiceImpl.class
new file mode 100644
index 0000000..df1e03f
Binary files /dev/null and b/target/classes/com/example/springboot/service/impl/NoticeServiceImpl.class differ
diff --git a/target/classes/com/example/springboot/service/impl/OrderServiceImpl.class b/target/classes/com/example/springboot/service/impl/OrderServiceImpl.class
new file mode 100644
index 0000000..516b496
Binary files /dev/null and b/target/classes/com/example/springboot/service/impl/OrderServiceImpl.class differ
diff --git a/target/classes/com/example/springboot/service/impl/RepairServiceImpl.class b/target/classes/com/example/springboot/service/impl/RepairServiceImpl.class
new file mode 100644
index 0000000..fef35cb
Binary files /dev/null and b/target/classes/com/example/springboot/service/impl/RepairServiceImpl.class differ
diff --git a/target/classes/com/example/springboot/service/impl/StudentServiceImpl.class b/target/classes/com/example/springboot/service/impl/StudentServiceImpl.class
new file mode 100644
index 0000000..9a0e3b3
Binary files /dev/null and b/target/classes/com/example/springboot/service/impl/StudentServiceImpl.class differ
diff --git a/target/classes/com/example/springboot/service/impl/VisitorServiceImpl.class b/target/classes/com/example/springboot/service/impl/VisitorServiceImpl.class
new file mode 100644
index 0000000..8812d5d
Binary files /dev/null and b/target/classes/com/example/springboot/service/impl/VisitorServiceImpl.class differ
diff --git a/target/maven-archiver/pom.properties b/target/maven-archiver/pom.properties
new file mode 100644
index 0000000..72a3710
--- /dev/null
+++ b/target/maven-archiver/pom.properties
@@ -0,0 +1,3 @@
+artifactId=Dormitory_bussiness
+groupId=cn.for
+version=1.0.0
diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644
index 0000000..fec53ab
--- /dev/null
+++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -0,0 +1,64 @@
+com\example\springboot\mapper\NoticeMapper.class
+com\example\springboot\SpringbootApplication.class
+com\example\springboot\controller\OrderController.class
+com\example\springboot\controller\AdjustRoomController.class
+com\example\springboot\common\Result.class
+com\example\springboot\service\StudentService.class
+com\example\springboot\controller\VisitorController.class
+com\example\springboot\service\impl\RepairServiceImpl.class
+com\example\springboot\entity\DormBuild.class
+com\example\springboot\mapper\DormBuildMapper.class
+com\example\springboot\service\impl\AdminServiceImpl.class
+com\example\springboot\entity\ElectricCost.class
+com\example\springboot\mapper\DormManagerMapper.class
+com\example\springboot\service\impl\StudentServiceImpl.class
+com\example\springboot\controller\AdminController.class
+com\example\springboot\common\CalPeopleNum.class
+com\example\springboot\entity\Repair.class
+com\example\springboot\service\AdminService.class
+com\example\springboot\mapper\StudentMapper.class
+com\example\springboot\service\OrderService.class
+com\example\springboot\entity\WaterCost.class
+com\example\springboot\entity\ViolationRecord.class
+com\example\springboot\service\impl\AdjustRoomServiceImpl.class
+com\example\springboot\service\impl\VisitorServiceImpl.class
+com\example\springboot\controller\DormManagerController.class
+com\example\springboot\entity\DormManager.class
+com\example\springboot\mapper\OrderMapper.class
+com\example\springboot\service\impl\DormRoomImpl.class
+com\example\springboot\controller\MainController.class
+com\example\springboot\service\impl\NoticeServiceImpl.class
+com\example\springboot\entity\Student.class
+com\example\springboot\service\VisitorService.class
+com\example\springboot\entity\Admin.class
+com\example\springboot\entity\PayRecord.class
+com\example\springboot\service\DormBuildService.class
+com\example\springboot\common\MyBatisPlusConfig.class
+com\example\springboot\service\impl\DormBuildImpl.class
+com\example\springboot\controller\FileController.class
+com\example\springboot\entity\Visitor.class
+com\example\springboot\entity\Order.class
+com\example\springboot\mapper\AdjustRoomMapper.class
+com\example\springboot\service\DormRoomService.class
+com\example\springboot\service\impl\OrderServiceImpl.class
+com\example\springboot\entity\Notice.class
+com\example\springboot\common\CorsConfig.class
+com\example\springboot\controller\StudentController.class
+com\example\springboot\entity\AdjustRoom.class
+com\example\springboot\mapper\AdminMapper.class
+com\example\springboot\controller\DormRoomController.class
+com\example\springboot\service\RepairService.class
+com\example\springboot\controller\NoticeController.class
+com\example\springboot\service\NoticeService.class
+com\example\springboot\mapper\DormRoomMapper.class
+com\example\springboot\service\impl\DormManagerServiceImpl.class
+com\example\springboot\service\DormManagerService.class
+com\example\springboot\common\JudgeBedName.class
+com\example\springboot\entity\DormRoom.class
+com\example\springboot\entity\User.class
+com\example\springboot\service\AdjustRoomService.class
+com\example\springboot\common\UID.class
+com\example\springboot\mapper\RepairMapper.class
+com\example\springboot\controller\RepairController.class
+com\example\springboot\controller\DormBuildController.class
+com\example\springboot\mapper\VisitorMapper.class
diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644
index 0000000..1a73056
--- /dev/null
+++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -0,0 +1,64 @@
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\service\impl\OrderServiceImpl.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\controller\AdminController.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\controller\DormBuildController.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\controller\RepairController.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\service\impl\VisitorServiceImpl.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\entity\User.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\common\Result.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\mapper\AdminMapper.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\service\StudentService.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\entity\AdjustRoom.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\controller\DormManagerController.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\entity\ElectricCost.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\controller\OrderController.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\service\NoticeService.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\entity\ViolationRecord.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\controller\VisitorController.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\controller\DormRoomController.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\controller\NoticeController.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\service\AdjustRoomService.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\entity\Visitor.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\entity\Student.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\mapper\VisitorMapper.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\service\impl\AdjustRoomServiceImpl.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\service\DormRoomService.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\controller\FileController.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\service\impl\NoticeServiceImpl.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\mapper\DormRoomMapper.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\service\VisitorService.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\common\CorsConfig.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\service\impl\DormRoomImpl.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\service\impl\DormManagerServiceImpl.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\service\impl\DormBuildImpl.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\entity\DormManager.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\mapper\DormManagerMapper.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\service\impl\RepairServiceImpl.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\controller\StudentController.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\service\DormBuildService.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\service\OrderService.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\controller\MainController.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\entity\DormRoom.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\mapper\OrderMapper.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\mapper\RepairMapper.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\service\impl\StudentServiceImpl.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\entity\WaterCost.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\entity\Notice.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\common\JudgeBedName.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\service\RepairService.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\entity\DormBuild.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\common\MyBatisPlusConfig.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\controller\AdjustRoomController.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\entity\Order.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\mapper\StudentMapper.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\mapper\DormBuildMapper.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\common\CalPeopleNum.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\entity\Repair.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\mapper\AdjustRoomMapper.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\service\impl\AdminServiceImpl.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\SpringbootApplication.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\entity\PayRecord.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\service\DormManagerService.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\common\UID.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\mapper\NoticeMapper.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\entity\Admin.java
+D:\data\coding files\java\yue-dorm后端代码\src\main\java\com\example\springboot\service\AdminService.java
diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
new file mode 100644
index 0000000..e69de29
diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
new file mode 100644
index 0000000..d7650b4
--- /dev/null
+++ b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
@@ -0,0 +1 @@
+D:\data\coding files\java\yue-dorm后端代码\src\test\java\com\example\springboot\SpringbootApplicationTests.java
diff --git a/target/surefire-reports/TEST-com.example.springboot.SpringbootApplicationTests.xml b/target/surefire-reports/TEST-com.example.springboot.SpringbootApplicationTests.xml
new file mode 100644
index 0000000..9cc1bd6
--- /dev/null
+++ b/target/surefire-reports/TEST-com.example.springboot.SpringbootApplicationTests.xml
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/target/surefire-reports/com.example.springboot.SpringbootApplicationTests.txt b/target/surefire-reports/com.example.springboot.SpringbootApplicationTests.txt
new file mode 100644
index 0000000..306dff3
--- /dev/null
+++ b/target/surefire-reports/com.example.springboot.SpringbootApplicationTests.txt
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------------------
+Test set: com.example.springboot.SpringbootApplicationTests
+-------------------------------------------------------------------------------
+Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.735 s - in com.example.springboot.SpringbootApplicationTests
diff --git a/target/test-classes/com/example/springboot/SpringbootApplicationTests.class b/target/test-classes/com/example/springboot/SpringbootApplicationTests.class
new file mode 100644
index 0000000..b3b95c5
Binary files /dev/null and b/target/test-classes/com/example/springboot/SpringbootApplicationTests.class differ