From b99c566e31d6d3e54eab0b730220c6774e89d3f0 Mon Sep 17 00:00:00 2001
From: chenyuepan <3158614516@qq.com>
Date: Sat, 21 Jun 2025 14:21:06 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AD=A6=E4=B9=A0=E8=BA=AB=E4=BB=BD=E4=BF=A1?=
=?UTF-8?q?=E6=81=AF=E8=AE=A4=E8=AF=81=E6=8E=A5=E5=8F=A3=E6=8E=A5=E5=85=A5?=
=?UTF-8?q?=E5=8F=8A=E5=85=A8=E5=B1=80=E5=BC=82=E5=B8=B8=E5=A4=84=E7=90=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 9 ++
.../config/CacheInitializer.java | 2 +-
.../controller/PaymentController.java | 25 ++++
.../controller/SchoolController.java | 33 +++--
.../controller/TypeController.java | 6 +
.../controller/UserController.java | 1 -
.../domain/Institution.java | 38 +++++
.../domain/Question.java | 72 ++++++++++
.../domain/Reply.java | 59 ++++++++
.../domain/School.java | 52 +------
.../domain/User.java | 10 ++
.../domain/VenueHot.java | 5 +
.../hdjd/Page.java => entity/PageInfo.java} | 11 +-
.../entity/PersonInfo.java | 18 +++
.../entity/ResponseData.java | 21 +++
.../exception/GlobalExceptionHandler.java | 54 ++++++++
.../exception/IdentityException.java | 23 ++++
.../exception/SensitiveFilterException.java | 21 +++
.../exception/SensitiveWordException.java | 22 +++
.../exception/SystemException.java | 32 +++++
.../mapper/InstitutionMapper.java | 28 ++++
.../mapper/QuestionMapper.java | 18 +++
.../mapper/ReplyMapper.java | 18 +++
.../service/InstitutionService.java | 13 ++
.../service/QuestionService.java | 13 ++
.../service/ReplyService.java | 13 ++
.../service/SchoolService.java | 6 +-
.../service/impl/CommentServiceImpl.java | 10 +-
.../service/impl/InstitutionServiceImpl.java | 22 +++
.../service/impl/QuestionServiceImpl.java | 22 +++
.../service/impl/ReplyServiceImpl.java | 22 +++
.../service/impl/ReservationServiceImpl.java | 6 +-
.../service/impl/SchoolServiceImpl.java | 130 ++++++++++++++++--
.../impl/SensitiveWordServiceImpl.java | 4 +-
.../utils/IdentityUtil.java | 118 ++++++++++++++++
.../vo/ReservationVO.java | 7 +-
.../vo/hdjd/ResponseResult.java | 19 ---
.../vo/hdjd/Unit.java | 20 ---
.../resources/mapper/InstitutionMapper.xml | 26 ++++
src/main/resources/mapper/QuestionMapper.xml | 24 ++++
src/main/resources/mapper/ReplyMapper.xml | 20 +++
...nueReservationServiceApplicationTests.java | 16 ++-
.../dcpint/icdcshare/IfsDcpIcdcShareTest.java | 14 +-
.../dcpint/util/IfsDcpIntUtils.java | 5 +-
44 files changed, 974 insertions(+), 134 deletions(-)
create mode 100644 src/main/java/com/example/venue_reservation_service/controller/PaymentController.java
create mode 100644 src/main/java/com/example/venue_reservation_service/domain/Institution.java
create mode 100644 src/main/java/com/example/venue_reservation_service/domain/Question.java
create mode 100644 src/main/java/com/example/venue_reservation_service/domain/Reply.java
rename src/main/java/com/example/venue_reservation_service/{vo/hdjd/Page.java => entity/PageInfo.java} (61%)
create mode 100644 src/main/java/com/example/venue_reservation_service/entity/PersonInfo.java
create mode 100644 src/main/java/com/example/venue_reservation_service/entity/ResponseData.java
create mode 100644 src/main/java/com/example/venue_reservation_service/exception/IdentityException.java
create mode 100644 src/main/java/com/example/venue_reservation_service/exception/SensitiveFilterException.java
create mode 100644 src/main/java/com/example/venue_reservation_service/exception/SensitiveWordException.java
create mode 100644 src/main/java/com/example/venue_reservation_service/exception/SystemException.java
create mode 100644 src/main/java/com/example/venue_reservation_service/mapper/InstitutionMapper.java
create mode 100644 src/main/java/com/example/venue_reservation_service/mapper/QuestionMapper.java
create mode 100644 src/main/java/com/example/venue_reservation_service/mapper/ReplyMapper.java
create mode 100644 src/main/java/com/example/venue_reservation_service/service/InstitutionService.java
create mode 100644 src/main/java/com/example/venue_reservation_service/service/QuestionService.java
create mode 100644 src/main/java/com/example/venue_reservation_service/service/ReplyService.java
create mode 100644 src/main/java/com/example/venue_reservation_service/service/impl/InstitutionServiceImpl.java
create mode 100644 src/main/java/com/example/venue_reservation_service/service/impl/QuestionServiceImpl.java
create mode 100644 src/main/java/com/example/venue_reservation_service/service/impl/ReplyServiceImpl.java
create mode 100644 src/main/java/com/example/venue_reservation_service/utils/IdentityUtil.java
delete mode 100644 src/main/java/com/example/venue_reservation_service/vo/hdjd/ResponseResult.java
delete mode 100644 src/main/java/com/example/venue_reservation_service/vo/hdjd/Unit.java
create mode 100644 src/main/resources/mapper/InstitutionMapper.xml
create mode 100644 src/main/resources/mapper/QuestionMapper.xml
create mode 100644 src/main/resources/mapper/ReplyMapper.xml
diff --git a/pom.xml b/pom.xml
index 9ebbc55..33ed0c4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -209,5 +209,14 @@
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
diff --git a/src/main/java/com/example/venue_reservation_service/config/CacheInitializer.java b/src/main/java/com/example/venue_reservation_service/config/CacheInitializer.java
index 215042e..0166ef3 100644
--- a/src/main/java/com/example/venue_reservation_service/config/CacheInitializer.java
+++ b/src/main/java/com/example/venue_reservation_service/config/CacheInitializer.java
@@ -32,7 +32,7 @@ public class CacheInitializer {
log.info("敏感词库已加载到Redis");
} catch (Exception e) {
e.printStackTrace();
- log.error("服务异常,"+e.getMessage());
+ log.error("服务异常," + e.getMessage());
}
}
}
\ No newline at end of file
diff --git a/src/main/java/com/example/venue_reservation_service/controller/PaymentController.java b/src/main/java/com/example/venue_reservation_service/controller/PaymentController.java
new file mode 100644
index 0000000..2747151
--- /dev/null
+++ b/src/main/java/com/example/venue_reservation_service/controller/PaymentController.java
@@ -0,0 +1,25 @@
+package com.example.venue_reservation_service.controller;
+
+import com.example.venue_reservation_service.service.PaymentService;
+import com.example.venue_reservation_service.vo.Result;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import jakarta.annotation.Resource;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/payment")
+@Api("支付流水模块")
+@CrossOrigin
+public class PaymentController {
+
+ @Resource
+ private PaymentService paymentService;
+
+// @ApiOperation("查询订单列表")
+// @PostMapping("/query")
+// public Result
+}
diff --git a/src/main/java/com/example/venue_reservation_service/controller/SchoolController.java b/src/main/java/com/example/venue_reservation_service/controller/SchoolController.java
index 6cd78ad..fcfd818 100644
--- a/src/main/java/com/example/venue_reservation_service/controller/SchoolController.java
+++ b/src/main/java/com/example/venue_reservation_service/controller/SchoolController.java
@@ -1,15 +1,13 @@
package com.example.venue_reservation_service.controller;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.example.venue_reservation_service.domain.School;
import com.example.venue_reservation_service.service.SchoolService;
import com.example.venue_reservation_service.vo.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import jakarta.annotation.Resource;
-import org.springframework.web.bind.annotation.CrossOrigin;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/school")
@@ -20,9 +18,28 @@ public class SchoolController {
@Resource
private SchoolService schoolService;
- @ApiOperation("获取单位分布情况")
- @GetMapping("/college")
- public Result college(){
- return schoolService.queryColleges();
+ @ApiOperation("加载认证单位列表")
+ @GetMapping("/units")
+ public Result units(@RequestParam("type") String type){
+ return schoolService.queryUnits(type);
}
+
+ @ApiOperation("用户认证")
+ @PostMapping("/certify")
+ public Result certify(@RequestBody School school){
+ return schoolService.userCertify(school);
+ }
+
+ @ApiOperation("修改认证信息")
+ @PostMapping("/update")
+ public Result update(@RequestBody School school){
+ return schoolService.updateCertify(school);
+ }
+
+ @ApiOperation("获取用户认证信息")
+ @GetMapping("/detail/{userId}")
+ public Result detail(@PathVariable("userId") Integer userId){
+ return Result.ok(schoolService.getOne(Wrappers.lambdaQuery().eq(School::getUserId, userId))).message("查询成功");
+ }
+
}
diff --git a/src/main/java/com/example/venue_reservation_service/controller/TypeController.java b/src/main/java/com/example/venue_reservation_service/controller/TypeController.java
index 3decdb1..5fe7fcb 100644
--- a/src/main/java/com/example/venue_reservation_service/controller/TypeController.java
+++ b/src/main/java/com/example/venue_reservation_service/controller/TypeController.java
@@ -20,6 +20,12 @@ public class TypeController {
@Resource
private TypeService typeService;
+ @ApiOperation("查询某个场馆信息")
+ @GetMapping("/select/{id}")
+ public Result select(@PathVariable("id") Integer id){
+ return Result.ok(typeService.getById(id)).message("查询成功");
+ }
+
@ApiOperation("查看所有场馆信息")
@PostMapping("/queryAll")
public Result queryAll(@RequestBody PageDTO dto){
diff --git a/src/main/java/com/example/venue_reservation_service/controller/UserController.java b/src/main/java/com/example/venue_reservation_service/controller/UserController.java
index e50d125..ab44b6e 100644
--- a/src/main/java/com/example/venue_reservation_service/controller/UserController.java
+++ b/src/main/java/com/example/venue_reservation_service/controller/UserController.java
@@ -110,7 +110,6 @@ public class UserController {
public Result upload(@RequestParam("id") Integer userId, @RequestParam("image") MultipartFile file){
return userService.upload(userId, file);
}
-
@ApiOperation("用户信息获取")
@GetMapping("/info/{id}")
public Result info(@PathVariable("id") Integer userId){
diff --git a/src/main/java/com/example/venue_reservation_service/domain/Institution.java b/src/main/java/com/example/venue_reservation_service/domain/Institution.java
new file mode 100644
index 0000000..9c704e1
--- /dev/null
+++ b/src/main/java/com/example/venue_reservation_service/domain/Institution.java
@@ -0,0 +1,38 @@
+package com.example.venue_reservation_service.domain;
+
+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 java.io.Serial;
+import java.io.Serializable;
+import lombok.Data;
+
+/**
+ *
+ * @TableName venue_institution
+ */
+@TableName(value ="venue_institution")
+@Data
+public class Institution implements Serializable {
+ /**
+ * 主键
+ */
+ @TableId(type = IdType.AUTO)
+ private Integer id;
+
+ /**
+ * 单位名称
+ */
+ private String name;
+
+ /**
+ * 类型
+ */
+ private String type;
+
+ @Serial
+ @TableField(exist = false)
+ private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/src/main/java/com/example/venue_reservation_service/domain/Question.java b/src/main/java/com/example/venue_reservation_service/domain/Question.java
new file mode 100644
index 0000000..b5e7843
--- /dev/null
+++ b/src/main/java/com/example/venue_reservation_service/domain/Question.java
@@ -0,0 +1,72 @@
+package com.example.venue_reservation_service.domain;
+
+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 java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+/**
+ * 用户答疑记录表
+ * @TableName venue_question
+ */
+@TableName(value ="venue_question")
+@Data
+public class Question implements Serializable {
+ /**
+ * 编号
+ */
+ @TableId(type = IdType.AUTO)
+ private Integer id;
+
+ /**
+ * 用户编号
+ */
+ private Integer userId;
+
+ /**
+ * 用户账号
+ */
+ private String username;
+
+ /**
+ * 联系电话
+ */
+ private String phone;
+
+ /**
+ * 疑问类型(建议 or 提问)
+ */
+ private String questionType;
+
+ /**
+ * 问题描述
+ */
+ private String description;
+
+ /**
+ * 创建时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime createdTime;
+
+ /**
+ * 状态(0:待处理, 1:已完成)
+ */
+ private Integer status;
+
+ /**
+ * 场馆
+ */
+ private String type;
+
+ @TableField(exist = false)
+ private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/src/main/java/com/example/venue_reservation_service/domain/Reply.java b/src/main/java/com/example/venue_reservation_service/domain/Reply.java
new file mode 100644
index 0000000..4029898
--- /dev/null
+++ b/src/main/java/com/example/venue_reservation_service/domain/Reply.java
@@ -0,0 +1,59 @@
+package com.example.venue_reservation_service.domain;
+
+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 java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+/**
+ * 回复记录表
+ * @TableName venue_reply
+ */
+@TableName(value ="venue_reply")
+@Data
+public class Reply implements Serializable {
+ /**
+ * 编号
+ */
+ @TableId(type = IdType.AUTO)
+ private Integer id;
+
+ /**
+ * 管理员编号
+ */
+ private Integer adminId;
+
+ /**
+ * 回复内容
+ */
+ private String content;
+
+ /**
+ * 创建时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime createdTime;
+
+ /**
+ * 修改时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime updatedTime;
+
+ /**
+ * 答疑记录编号
+ */
+ private Integer questionId;
+
+ @TableField(exist = false)
+ private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/src/main/java/com/example/venue_reservation_service/domain/School.java b/src/main/java/com/example/venue_reservation_service/domain/School.java
index ab912b5..2f49e27 100644
--- a/src/main/java/com/example/venue_reservation_service/domain/School.java
+++ b/src/main/java/com/example/venue_reservation_service/domain/School.java
@@ -40,53 +40,11 @@ public class School implements Serializable {
*/
private Integer userId;
+ /**
+ * 类型为学生,则表示专业信息;否则表示手机号码
+ */
+ private String description;
+
@TableField(exist = false)
private static final long serialVersionUID = 1L;
-
- @Override
- public boolean equals(Object that) {
- if (this == that) {
- return true;
- }
- if (that == null) {
- return false;
- }
- if (getClass() != that.getClass()) {
- return false;
- }
- School other = (School) that;
- return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
- && (this.getSchoolNumber() == null ? other.getSchoolNumber() == null : this.getSchoolNumber().equals(other.getSchoolNumber()))
- && (this.getType() == null ? other.getType() == null : this.getType().equals(other.getType()))
- && (this.getCollege() == null ? other.getCollege() == null : this.getCollege().equals(other.getCollege()))
- && (this.getUserId() == null ? other.getUserId() == null : this.getUserId().equals(other.getUserId()));
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
- result = prime * result + ((getSchoolNumber() == null) ? 0 : getSchoolNumber().hashCode());
- result = prime * result + ((getType() == null) ? 0 : getType().hashCode());
- result = prime * result + ((getCollege() == null) ? 0 : getCollege().hashCode());
- result = prime * result + ((getUserId() == null) ? 0 : getUserId().hashCode());
- return result;
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append(getClass().getSimpleName());
- sb.append(" [");
- sb.append("Hash = ").append(hashCode());
- sb.append(", id=").append(id);
- sb.append(", schoolNumber=").append(schoolNumber);
- sb.append(", type=").append(type);
- sb.append(", college=").append(college);
- sb.append(", userId=").append(userId);
- sb.append(", serialVersionUID=").append(serialVersionUID);
- sb.append("]");
- return sb.toString();
- }
}
\ No newline at end of file
diff --git a/src/main/java/com/example/venue_reservation_service/domain/User.java b/src/main/java/com/example/venue_reservation_service/domain/User.java
index 4c3ddcf..b2bbe62 100644
--- a/src/main/java/com/example/venue_reservation_service/domain/User.java
+++ b/src/main/java/com/example/venue_reservation_service/domain/User.java
@@ -83,6 +83,16 @@ public class User implements Serializable {
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDateTime updateTime;
+ /**
+ * 是否完成学校身份信息认证
+ */
+ private Integer isCertify;
+
+ /**
+ * 剩余修改次数
+ */
+ private Integer operableTimes;
+
@TableField(exist = false)
private static final long serialVersionUID = 1L;
diff --git a/src/main/java/com/example/venue_reservation_service/domain/VenueHot.java b/src/main/java/com/example/venue_reservation_service/domain/VenueHot.java
index 1c7a52b..661cc76 100644
--- a/src/main/java/com/example/venue_reservation_service/domain/VenueHot.java
+++ b/src/main/java/com/example/venue_reservation_service/domain/VenueHot.java
@@ -25,6 +25,11 @@ public class VenueHot implements Serializable {
@TableId(type = IdType.AUTO)
private Integer id;
+ /**
+ * 事件名称
+ */
+ private String title;
+
/**
* 事件描述
*/
diff --git a/src/main/java/com/example/venue_reservation_service/vo/hdjd/Page.java b/src/main/java/com/example/venue_reservation_service/entity/PageInfo.java
similarity index 61%
rename from src/main/java/com/example/venue_reservation_service/vo/hdjd/Page.java
rename to src/main/java/com/example/venue_reservation_service/entity/PageInfo.java
index 05591e3..30fff0c 100644
--- a/src/main/java/com/example/venue_reservation_service/vo/hdjd/Page.java
+++ b/src/main/java/com/example/venue_reservation_service/entity/PageInfo.java
@@ -1,12 +1,11 @@
-package com.example.venue_reservation_service.vo.hdjd;
+package com.example.venue_reservation_service.entity;
import com.fasterxml.jackson.annotation.JsonProperty;
-import lombok.Data;
+// 分页信息类
+public class PageInfo {
-@Data
-public class Page {
@JsonProperty("pageNo")
- private int pageNo;
+ private int pageNumber;
@JsonProperty("pageSize")
private int pageSize;
@@ -14,4 +13,4 @@ public class Page {
@JsonProperty("totalCount")
private int totalCount;
-}
\ No newline at end of file
+}
diff --git a/src/main/java/com/example/venue_reservation_service/entity/PersonInfo.java b/src/main/java/com/example/venue_reservation_service/entity/PersonInfo.java
new file mode 100644
index 0000000..4c93bb2
--- /dev/null
+++ b/src/main/java/com/example/venue_reservation_service/entity/PersonInfo.java
@@ -0,0 +1,18 @@
+package com.example.venue_reservation_service.entity;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+
+// 人员信息类
+@Data
+public class PersonInfo {
+ @JsonProperty("GH")
+ private String employeeId;
+
+ @JsonProperty("XM")
+ private String name;
+
+ @JsonProperty("SJHM")
+ private String phone;
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/example/venue_reservation_service/entity/ResponseData.java b/src/main/java/com/example/venue_reservation_service/entity/ResponseData.java
new file mode 100644
index 0000000..52c00f5
--- /dev/null
+++ b/src/main/java/com/example/venue_reservation_service/entity/ResponseData.java
@@ -0,0 +1,21 @@
+package com.example.venue_reservation_service.entity;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+
+import java.util.List;
+
+// 根响应类
+@Data
+public class ResponseData {
+
+ private String success;
+
+ private List message;
+
+ private PageInfo page;
+
+}
+
+
+
diff --git a/src/main/java/com/example/venue_reservation_service/exception/GlobalExceptionHandler.java b/src/main/java/com/example/venue_reservation_service/exception/GlobalExceptionHandler.java
index e1e156a..93fd92e 100644
--- a/src/main/java/com/example/venue_reservation_service/exception/GlobalExceptionHandler.java
+++ b/src/main/java/com/example/venue_reservation_service/exception/GlobalExceptionHandler.java
@@ -50,6 +50,60 @@ public class GlobalExceptionHandler {
return Result.fail().message("头像上传失败,请稍后重试");
}
+ @ExceptionHandler(IdentityException.class)
+ public Result handleIdentityException(IdentityException e) {
+ log.error("身份认证业务异常: {} - {}", e.getErrorCode(), e.getMessage());
+ recordException(e, "IdentityException");
+
+ // 根据错误码返回不同提示(示例)
+ if ("IDENTITY_002".equals(e.getErrorCode())) {
+ return Result.fail().message("账号未注册,请联系管理员");
+ } else if ("IDENTITY_004".equals(e.getErrorCode())) {
+ return Result.fail().message("网络连接超时,请稍后重试");
+ } else {
+ return Result.fail().message(e.getMessage());
+ }
+ }
+
+ // 新增敏感词过滤异常处理
+ @ExceptionHandler(SensitiveFilterException.class)
+ public Result handleSensitiveFilterException(SensitiveFilterException e) {
+ log.error("敏感词处理异常 [错误码:{}]: {}", e.getErrorCode(), e.getMessage(), e);
+ recordException(e, "SensitiveFilterException");
+
+ // 根据错误码返回不同提示
+ if ("SENSITIVE_001".equals(e.getErrorCode())) {
+ return Result.fail().message("评论服务暂时不可用,请稍后再试");
+ } else {
+ return Result.fail().message("评论处理失败,请重试");
+ }
+ }
+
+ // 新增敏感词操作异常处理
+ @ExceptionHandler(SensitiveWordException.class)
+ public Result handleSensitiveWordException(SensitiveWordException e) {
+ log.error("敏感词操作异常 [错误码:{}]: {}", e.getErrorCode(), e.getMessage(), e);
+ recordException(e, "SensitiveWordException");
+
+ // 根据错误码返回不同提示
+ if ("SENSITIVE_002".equals(e.getErrorCode())) {
+ return Result.fail().message("敏感词状态更新失败,请稍后重试");
+ } else {
+ return Result.fail().message("敏感词操作失败,请重试");
+ }
+ }
+
+ /**
+ * 系统级异常处理
+ */
+ @ExceptionHandler(SystemException.class)
+ public Result handleSystemException(SystemException e) {
+ log.error("系统级异常 [错误码:{}]: {}", e.getErrorCode(), e.getMessage(), e);
+ recordException(e, "SystemException");
+ return Result.fail().message(e.getMessage());
+ }
+
+
// 记录异常到数据库
private void recordException(Exception e, String exceptionType) {
try {
diff --git a/src/main/java/com/example/venue_reservation_service/exception/IdentityException.java b/src/main/java/com/example/venue_reservation_service/exception/IdentityException.java
new file mode 100644
index 0000000..f564138
--- /dev/null
+++ b/src/main/java/com/example/venue_reservation_service/exception/IdentityException.java
@@ -0,0 +1,23 @@
+package com.example.venue_reservation_service.exception;
+
+
+/**
+ * 身份认证业务异常
+ */
+public class IdentityException extends RuntimeException {
+ private final String errorCode;
+
+ public IdentityException(String message) {
+ super(message);
+ this.errorCode = "IDENTITY_001"; // 默认为通用身份认证错误码
+ }
+
+ public IdentityException(String errorCode, String message) {
+ super(message);
+ this.errorCode = errorCode;
+ }
+
+ public String getErrorCode() {
+ return errorCode;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/example/venue_reservation_service/exception/SensitiveFilterException.java b/src/main/java/com/example/venue_reservation_service/exception/SensitiveFilterException.java
new file mode 100644
index 0000000..c61ac1b
--- /dev/null
+++ b/src/main/java/com/example/venue_reservation_service/exception/SensitiveFilterException.java
@@ -0,0 +1,21 @@
+package com.example.venue_reservation_service.exception;
+/**
+ * 敏感词过滤异常
+ */
+public class SensitiveFilterException extends RuntimeException {
+
+ private String errorCode;
+
+ public SensitiveFilterException(String message) {
+ super(message);
+ }
+
+ public SensitiveFilterException(String errorCode, String message) {
+ super(message);
+ this.errorCode = errorCode;
+ }
+
+ public String getErrorCode() {
+ return errorCode;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/example/venue_reservation_service/exception/SensitiveWordException.java b/src/main/java/com/example/venue_reservation_service/exception/SensitiveWordException.java
new file mode 100644
index 0000000..6026746
--- /dev/null
+++ b/src/main/java/com/example/venue_reservation_service/exception/SensitiveWordException.java
@@ -0,0 +1,22 @@
+package com.example.venue_reservation_service.exception;
+
+import lombok.Getter;
+
+/**
+ * 敏感词操作异常
+ */
+@Getter
+public class SensitiveWordException extends RuntimeException {
+
+ private final String errorCode;
+
+ public SensitiveWordException(String errorCode, String message) {
+ super(message);
+ this.errorCode = errorCode;
+ }
+
+ public SensitiveWordException(String errorCode, String message, Throwable cause) {
+ super(message, cause);
+ this.errorCode = errorCode;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/example/venue_reservation_service/exception/SystemException.java b/src/main/java/com/example/venue_reservation_service/exception/SystemException.java
new file mode 100644
index 0000000..02ceae7
--- /dev/null
+++ b/src/main/java/com/example/venue_reservation_service/exception/SystemException.java
@@ -0,0 +1,32 @@
+package com.example.venue_reservation_service.exception;
+
+/**
+ * 系统级异常 - 用于封装底层技术异常(如加密、数据库、网络等)
+ */
+public class SystemException extends RuntimeException {
+ private final String errorCode;
+
+ public SystemException(String message) {
+ super(message);
+ this.errorCode = "SYS_001"; // 默认系统异常错误码
+ }
+
+ public SystemException(String message, Throwable cause) {
+ super(message, cause);
+ this.errorCode = "SYS_001";
+ }
+
+ public SystemException(String errorCode, String message) {
+ super(message);
+ this.errorCode = errorCode;
+ }
+
+ public SystemException(String errorCode, String message, Throwable cause) {
+ super(message, cause);
+ this.errorCode = errorCode;
+ }
+
+ public String getErrorCode() {
+ return errorCode;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/example/venue_reservation_service/mapper/InstitutionMapper.java b/src/main/java/com/example/venue_reservation_service/mapper/InstitutionMapper.java
new file mode 100644
index 0000000..320e57b
--- /dev/null
+++ b/src/main/java/com/example/venue_reservation_service/mapper/InstitutionMapper.java
@@ -0,0 +1,28 @@
+package com.example.venue_reservation_service.mapper;
+
+import com.example.venue_reservation_service.domain.Institution;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+* @author 31586
+* @description 针对表【venue_institution】的数据库操作Mapper
+* @createDate 2025-06-19 14:40:51
+* @Entity generator.domain.Institution
+*/
+@Mapper
+public interface InstitutionMapper extends BaseMapper {
+ /**
+ * 根据类型查询机构列表(支持空值查询所有)
+ * @param type 机构类型(可为空)
+ * @return 机构列表
+ */
+ List selectByType(@Param("type") String type);
+}
+
+
+
+
diff --git a/src/main/java/com/example/venue_reservation_service/mapper/QuestionMapper.java b/src/main/java/com/example/venue_reservation_service/mapper/QuestionMapper.java
new file mode 100644
index 0000000..25babf7
--- /dev/null
+++ b/src/main/java/com/example/venue_reservation_service/mapper/QuestionMapper.java
@@ -0,0 +1,18 @@
+package com.example.venue_reservation_service.mapper;
+
+import com.example.venue_reservation_service.domain.Question;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author 31586
+* @description 针对表【venue_question(用户答疑记录表)】的数据库操作Mapper
+* @createDate 2025-06-21 14:15:36
+* @Entity generator.domain.Question
+*/
+public interface QuestionMapper extends BaseMapper {
+
+}
+
+
+
+
diff --git a/src/main/java/com/example/venue_reservation_service/mapper/ReplyMapper.java b/src/main/java/com/example/venue_reservation_service/mapper/ReplyMapper.java
new file mode 100644
index 0000000..98fe6c9
--- /dev/null
+++ b/src/main/java/com/example/venue_reservation_service/mapper/ReplyMapper.java
@@ -0,0 +1,18 @@
+package com.example.venue_reservation_service.mapper;
+
+import com.example.venue_reservation_service.domain.Reply;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author 31586
+* @description 针对表【venue_reply(回复记录表)】的数据库操作Mapper
+* @createDate 2025-06-21 14:15:36
+* @Entity generator.domain.Reply
+*/
+public interface ReplyMapper extends BaseMapper {
+
+}
+
+
+
+
diff --git a/src/main/java/com/example/venue_reservation_service/service/InstitutionService.java b/src/main/java/com/example/venue_reservation_service/service/InstitutionService.java
new file mode 100644
index 0000000..50fc7cf
--- /dev/null
+++ b/src/main/java/com/example/venue_reservation_service/service/InstitutionService.java
@@ -0,0 +1,13 @@
+package com.example.venue_reservation_service.service;
+
+import com.example.venue_reservation_service.domain.Institution;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+* @author 31586
+* @description 针对表【venue_institution】的数据库操作Service
+* @createDate 2025-06-19 14:40:51
+*/
+public interface InstitutionService extends IService {
+
+}
diff --git a/src/main/java/com/example/venue_reservation_service/service/QuestionService.java b/src/main/java/com/example/venue_reservation_service/service/QuestionService.java
new file mode 100644
index 0000000..4886d5d
--- /dev/null
+++ b/src/main/java/com/example/venue_reservation_service/service/QuestionService.java
@@ -0,0 +1,13 @@
+package com.example.venue_reservation_service.service;
+
+import com.example.venue_reservation_service.domain.Question;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+* @author 31586
+* @description 针对表【venue_question(用户答疑记录表)】的数据库操作Service
+* @createDate 2025-06-21 14:15:36
+*/
+public interface QuestionService extends IService {
+
+}
diff --git a/src/main/java/com/example/venue_reservation_service/service/ReplyService.java b/src/main/java/com/example/venue_reservation_service/service/ReplyService.java
new file mode 100644
index 0000000..b62388a
--- /dev/null
+++ b/src/main/java/com/example/venue_reservation_service/service/ReplyService.java
@@ -0,0 +1,13 @@
+package com.example.venue_reservation_service.service;
+
+import com.example.venue_reservation_service.domain.Reply;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+* @author 31586
+* @description 针对表【venue_reply(回复记录表)】的数据库操作Service
+* @createDate 2025-06-21 14:15:36
+*/
+public interface ReplyService extends IService {
+
+}
diff --git a/src/main/java/com/example/venue_reservation_service/service/SchoolService.java b/src/main/java/com/example/venue_reservation_service/service/SchoolService.java
index 088bccb..a9e02f3 100644
--- a/src/main/java/com/example/venue_reservation_service/service/SchoolService.java
+++ b/src/main/java/com/example/venue_reservation_service/service/SchoolService.java
@@ -11,6 +11,10 @@ import com.example.venue_reservation_service.vo.Result;
*/
public interface SchoolService extends IService {
- Result queryColleges();
+ Result queryUnits(String type);
+
+ Result userCertify(School school);
+
+ Result updateCertify(School school);
}
diff --git a/src/main/java/com/example/venue_reservation_service/service/impl/CommentServiceImpl.java b/src/main/java/com/example/venue_reservation_service/service/impl/CommentServiceImpl.java
index 49d25d8..b894e1b 100644
--- a/src/main/java/com/example/venue_reservation_service/service/impl/CommentServiceImpl.java
+++ b/src/main/java/com/example/venue_reservation_service/service/impl/CommentServiceImpl.java
@@ -11,6 +11,7 @@ import com.example.venue_reservation_service.domain.User;
import com.example.venue_reservation_service.domain.UserLike;
import com.example.venue_reservation_service.dto.PageDTO;
import com.example.venue_reservation_service.dto.SearchDTO;
+import com.example.venue_reservation_service.exception.SensitiveFilterException;
import com.example.venue_reservation_service.filter.SensitiveFilter;
import com.example.venue_reservation_service.mapper.CommentMapper;
import com.example.venue_reservation_service.mapper.UserMapper;
@@ -71,8 +72,9 @@ public class CommentServiceImpl extends ServiceImpl
wrapper.eq(Comment::getUserId, dto.getUserId());
}
wrapper.eq(Comment::getStatus, 2)
- .orderByDesc(Comment::getCreateTime)
- .orderByDesc(Comment::getUpdateTime);
+ .orderByDesc(Comment::getUpdateTime)
+ .orderByDesc(Comment::getCreateTime);
+
page = page(page, wrapper);
QueryVO vo = new QueryVO<>();
vo.setTotal(page.getTotal());
@@ -107,8 +109,8 @@ public class CommentServiceImpl extends ServiceImpl
try {
list = ListConverter.stringToList((String) redisUtil.get(REDIS_KEY));
} catch (Exception e) {
- e.printStackTrace();
- return Result.fail().message("服务异常");
+ // 转换为自定义异常并添加错误码
+ throw new SensitiveFilterException("SENSITIVE_001", "敏感词库加载失败");
}
SensitiveFilter filter = new SensitiveFilter();
filter.buildTrie(list);
diff --git a/src/main/java/com/example/venue_reservation_service/service/impl/InstitutionServiceImpl.java b/src/main/java/com/example/venue_reservation_service/service/impl/InstitutionServiceImpl.java
new file mode 100644
index 0000000..60c27a3
--- /dev/null
+++ b/src/main/java/com/example/venue_reservation_service/service/impl/InstitutionServiceImpl.java
@@ -0,0 +1,22 @@
+package com.example.venue_reservation_service.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.example.venue_reservation_service.domain.Institution;
+import com.example.venue_reservation_service.mapper.InstitutionMapper;
+import com.example.venue_reservation_service.service.InstitutionService;
+import org.springframework.stereotype.Service;
+
+/**
+* @author 31586
+* @description 针对表【venue_institution】的数据库操作Service实现
+* @createDate 2025-06-19 14:40:51
+*/
+@Service
+public class InstitutionServiceImpl extends ServiceImpl
+ implements InstitutionService{
+
+}
+
+
+
+
diff --git a/src/main/java/com/example/venue_reservation_service/service/impl/QuestionServiceImpl.java b/src/main/java/com/example/venue_reservation_service/service/impl/QuestionServiceImpl.java
new file mode 100644
index 0000000..ea85b0a
--- /dev/null
+++ b/src/main/java/com/example/venue_reservation_service/service/impl/QuestionServiceImpl.java
@@ -0,0 +1,22 @@
+package com.example.venue_reservation_service.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.example.venue_reservation_service.domain.Question;
+import com.example.venue_reservation_service.mapper.QuestionMapper;
+import com.example.venue_reservation_service.service.QuestionService;
+import org.springframework.stereotype.Service;
+
+/**
+* @author 31586
+* @description 针对表【venue_question(用户答疑记录表)】的数据库操作Service实现
+* @createDate 2025-06-21 14:15:36
+*/
+@Service
+public class QuestionServiceImpl extends ServiceImpl
+ implements QuestionService{
+
+}
+
+
+
+
diff --git a/src/main/java/com/example/venue_reservation_service/service/impl/ReplyServiceImpl.java b/src/main/java/com/example/venue_reservation_service/service/impl/ReplyServiceImpl.java
new file mode 100644
index 0000000..9adc8e9
--- /dev/null
+++ b/src/main/java/com/example/venue_reservation_service/service/impl/ReplyServiceImpl.java
@@ -0,0 +1,22 @@
+package com.example.venue_reservation_service.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.example.venue_reservation_service.domain.Reply;
+import com.example.venue_reservation_service.service.ReplyService;
+import com.example.venue_reservation_service.mapper.ReplyMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author 31586
+* @description 针对表【venue_reply(回复记录表)】的数据库操作Service实现
+* @createDate 2025-06-21 14:15:36
+*/
+@Service
+public class ReplyServiceImpl extends ServiceImpl
+ implements ReplyService{
+
+}
+
+
+
+
diff --git a/src/main/java/com/example/venue_reservation_service/service/impl/ReservationServiceImpl.java b/src/main/java/com/example/venue_reservation_service/service/impl/ReservationServiceImpl.java
index 8176f2e..120ff67 100644
--- a/src/main/java/com/example/venue_reservation_service/service/impl/ReservationServiceImpl.java
+++ b/src/main/java/com/example/venue_reservation_service/service/impl/ReservationServiceImpl.java
@@ -173,7 +173,7 @@ public class ReservationServiceImpl extends ServiceImpl
implements SchoolService{
+ @Resource
+ private InstitutionMapper institutionMapper;
+
+ @Resource
+ private UserMapper userMapper;
+
+ private final ObjectMapper mapper = new ObjectMapper();
+
+ @Override
+ public Result queryUnits(String type) {
+ return Result.
+ ok(institutionMapper.selectByType("学生".equalsIgnoreCase(type) ? "学院与教学机构" : null)).
+ message("数据获取成功");
+ }
+
+ @Override
+ public Result userCertify(School school) {
+ // 基础用户校验(复用逻辑)
+ User user = validateUser(school.getUserId());
+ if (user == null) {
+ return Result.fail().message("用户信息不存在");
+ }
+
+ // 设置用户类型
+ user.setType("学生".equals(school.getType()) ? 1 : 2);
+
+ // 教职工身份验证
+ if (user.getType() == 2) {
+ validateStaffIdentity(school);
+ }
+
+ // 更新用户认证状态
+ user.setOperableTimes(2);
+ user.setIsCertify(1);
+ userMapper.updateById(user);
+
+ // 保存学校信息
+ save(school);
+ return Result.ok(school).message("身份认证成功");
+ }
+
@Override
- public Result queryColleges() {
- // 获取各个单位
- QueryWrapper collegeWrapper = new QueryWrapper<>();
- collegeWrapper.select("DISTINCT college");
- List colleges = getBaseMapper().selectObjs(collegeWrapper)
- .stream()
- .map(obj -> (String) obj).toList();
- return Result.ok(colleges).message("ok");
+ public Result updateCertify(School school) {
+ // 基础用户校验(复用逻辑)
+ User user = validateUser(school.getUserId());
+ if (user == null) {
+ return Result.fail().message("用户信息不存在");
+ }
+
+ // 校验修改次数
+// if (user.getIsCertify() == 1 && user.getOperableTimes() <= 0) {
+// return Result.fail().message("修改次数已用完,请联系管理员进行重置");
+// }
+
+ // 更新用户认证状态
+ user.setOperableTimes(user.getOperableTimes() - 1);
+ user.setIsCertify(1);
+ userMapper.updateById(user);
+
+ // 更新学校信息
+ updateById(school);
+ return Result.ok().message("认证信息修改成功");
+ }
+
+ /**
+ * 公共用户校验逻辑
+ */
+ private User validateUser(Integer userId) {
+ return userMapper.selectById(userId);
+ }
+
+ /**
+ * 教职工身份验证逻辑
+ */
+ private void validateStaffIdentity(School school) {
+ try {
+ // 调用身份认证接口
+ String res = IdentityUtil.getGzzxList(school.getSchoolNumber());
+
+ // 结果有效性校验
+ if ("-1".equals(res)) {
+ throw new IdentityException("身份认证接口调用失败,请检查参数");
+ }
+
+ // 解析JSON响应
+ ResponseData result = mapper.readValue(res, ResponseData.class);
+ if (!"true".equals(result.getSuccess()) || result.getMessage() == null || result.getMessage().isEmpty()) {
+ throw new IdentityException("身份信息异常,请稍后重试");
+ }
+
+ // 验证返回的教职工信息
+ PersonInfo info = result.getMessage().get(0);
+ if (!school.getSchoolNumber().equals(info.getEmployeeId()) ||
+ !school.getSchoolNumber().equals(info.getPhone())) {
+ throw new IdentityException("教职工信息不匹配");
+ }
+
+ } catch (NoSuchAlgorithmException | InvalidKeyException | NoSuchPaddingException e) {
+ throw new SystemException("加密组件异常,请联系管理员", e);
+ } catch (IOException e) {
+ throw new IdentityException("IDENTITY_004", "网络连接失败,请检查网络");
+ } catch (Exception e) {
+ throw new IdentityException("响应数据解析失败,请稍后重试");
+ }
}
}
diff --git a/src/main/java/com/example/venue_reservation_service/service/impl/SensitiveWordServiceImpl.java b/src/main/java/com/example/venue_reservation_service/service/impl/SensitiveWordServiceImpl.java
index 1d514c9..d19c78b 100644
--- a/src/main/java/com/example/venue_reservation_service/service/impl/SensitiveWordServiceImpl.java
+++ b/src/main/java/com/example/venue_reservation_service/service/impl/SensitiveWordServiceImpl.java
@@ -8,6 +8,7 @@ import com.example.venue_reservation_service.converter.ListConverter;
import com.example.venue_reservation_service.domain.SensitiveWord;
import com.example.venue_reservation_service.dto.SensitiveWordDTO;
import com.example.venue_reservation_service.dto.WordDTO;
+import com.example.venue_reservation_service.exception.SensitiveWordException;
import com.example.venue_reservation_service.mapper.SensitiveWordMapper;
import com.example.venue_reservation_service.service.SensitiveWordService;
import com.example.venue_reservation_service.utils.RedisUtil;
@@ -118,7 +119,8 @@ public class SensitiveWordServiceImpl extends ServiceImpl params) {
+ if (params == null || params.isEmpty()) {
+ return "-1";
+ }
+
+ FormBody.Builder formBuilder = new FormBody.Builder();
+ for (Map.Entry entry : params.entrySet()) {
+ try {
+ formBuilder.add(entry.getKey(), entry.getValue());
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ Request request = new Request.Builder()
+ .url(PATH)
+ .post(formBuilder.build())
+ .build();
+
+ try (Response response = client.newCall(request).execute()) {
+ if (response.isSuccessful() && response.body() != null) {
+ return response.body().string();
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ return "-1";
+ }
+
+ /**
+ * 获取教职工信息列表(优化版)
+ * @param phoneNumber 手机号码(对应原参数中的SJHM)
+ * @return API返回结果字符串
+ */
+ public static String getGzzxList(String phoneNumber) throws Exception {
+ String param = ""
+ + "IcdcShare"
+ + "getJzgjcxx2"
+ + "SJHM=" + phoneNumber + ""
+ + "";
+
+ String encryptedParam = desEncode(param);
+
+ Map params = new HashMap<>();
+ params.put("clienttype", "java");
+ params.put("name", "cgyy_dcpint_getJbxx");
+ params.put("param", encryptedParam);
+ return httpPostRequest(params);
+
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/example/venue_reservation_service/vo/ReservationVO.java b/src/main/java/com/example/venue_reservation_service/vo/ReservationVO.java
index d03e005..b9e91ad 100644
--- a/src/main/java/com/example/venue_reservation_service/vo/ReservationVO.java
+++ b/src/main/java/com/example/venue_reservation_service/vo/ReservationVO.java
@@ -29,6 +29,9 @@ public class ReservationVO {
// 场地名称
String venueName;
+ // 预约状态
+ Integer status;
+
// 时间段
String timeStr;
@@ -47,12 +50,8 @@ public class ReservationVO {
// 支付金额
Double price;
-
// 支付时间
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
LocalDateTime payDate;
-
-
-
}
diff --git a/src/main/java/com/example/venue_reservation_service/vo/hdjd/ResponseResult.java b/src/main/java/com/example/venue_reservation_service/vo/hdjd/ResponseResult.java
deleted file mode 100644
index 8f7aca1..0000000
--- a/src/main/java/com/example/venue_reservation_service/vo/hdjd/ResponseResult.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.example.venue_reservation_service.vo.hdjd;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import lombok.Data;
-
-import java.util.List;
-
-@Data
-public class ResponseResult {
- @JsonProperty("success")
- private String success;
-
- @JsonProperty("message")
- private List message;
-
- @JsonProperty("page")
- private Page page;
-}
-
diff --git a/src/main/java/com/example/venue_reservation_service/vo/hdjd/Unit.java b/src/main/java/com/example/venue_reservation_service/vo/hdjd/Unit.java
deleted file mode 100644
index 479fe11..0000000
--- a/src/main/java/com/example/venue_reservation_service/vo/hdjd/Unit.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.example.venue_reservation_service.vo.hdjd;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import lombok.Data;
-
-@Data
-public class Unit {
- @JsonProperty("UNIT_ID")
- private String unitId;
-
- @JsonProperty("DEPART_ORDER_ID")
- private String departOrderId;
-
- @JsonProperty("UNIT_NAME")
- private String unitName;
-
- @JsonProperty("PARENT_ID")
- private String parentId;
-
-}
\ No newline at end of file
diff --git a/src/main/resources/mapper/InstitutionMapper.xml b/src/main/resources/mapper/InstitutionMapper.xml
new file mode 100644
index 0000000..6308d0e
--- /dev/null
+++ b/src/main/resources/mapper/InstitutionMapper.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+ id ,name,type
+
+
+
+
+
diff --git a/src/main/resources/mapper/QuestionMapper.xml b/src/main/resources/mapper/QuestionMapper.xml
new file mode 100644
index 0000000..39fe648
--- /dev/null
+++ b/src/main/resources/mapper/QuestionMapper.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ id,user_id,username,
+ phone,question_type,description,
+ created_time,status,type
+
+
diff --git a/src/main/resources/mapper/ReplyMapper.xml b/src/main/resources/mapper/ReplyMapper.xml
new file mode 100644
index 0000000..1ec15ac
--- /dev/null
+++ b/src/main/resources/mapper/ReplyMapper.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ id,admin_id,content,
+ created_time,updated_time,question_id
+
+
diff --git a/src/test/java/com/example/venue_reservation_service/VenueReservationServiceApplicationTests.java b/src/test/java/com/example/venue_reservation_service/VenueReservationServiceApplicationTests.java
index f777bf4..1bc3f24 100644
--- a/src/test/java/com/example/venue_reservation_service/VenueReservationServiceApplicationTests.java
+++ b/src/test/java/com/example/venue_reservation_service/VenueReservationServiceApplicationTests.java
@@ -1,5 +1,11 @@
package com.example.venue_reservation_service;
+import cn.hutool.json.JSONUtil;
+import com.example.venue_reservation_service.entity.PersonInfo;
+import com.example.venue_reservation_service.entity.ResponseData;
+import com.example.venue_reservation_service.utils.IdentityUtil;
import com.example.venue_reservation_service.utils.MD5Util;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
import jakarta.annotation.Resource;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@@ -16,7 +22,15 @@ class VenueReservationServiceApplicationTests {
@Test
void contextLoads() throws Exception {
- System.out.println(MD5Util.generateRandomString(10));
+
+ }
+
+
+ private static final ObjectMapper objectMapper = new ObjectMapper();
+ public static void main(String[] args) throws Exception {
+
+ String result = IdentityUtil.getGzzxList("13767489908");
+ System.out.println(result);
}
// public static void main(String[] args) {
diff --git a/src/test/java/com/example/venue_reservation_service/dcpint/icdcshare/IfsDcpIcdcShareTest.java b/src/test/java/com/example/venue_reservation_service/dcpint/icdcshare/IfsDcpIcdcShareTest.java
index 29b1a8b..189e690 100644
--- a/src/test/java/com/example/venue_reservation_service/dcpint/icdcshare/IfsDcpIcdcShareTest.java
+++ b/src/test/java/com/example/venue_reservation_service/dcpint/icdcshare/IfsDcpIcdcShareTest.java
@@ -1,11 +1,7 @@
package com.example.venue_reservation_service.dcpint.icdcshare;
import com.example.venue_reservation_service.dcpint.util.IfsDcpIntUtils;
-import com.example.venue_reservation_service.vo.hdjd.ResponseResult;
-import com.example.venue_reservation_service.vo.hdjd.Unit;
-import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.jupiter.api.Test;
-
import java.util.HashMap;
import java.util.Map;
@@ -22,10 +18,10 @@ public class IfsDcpIcdcShareTest {
String param=""
+ "IcdcShare"
//+ "getUnit"
- + "cgyy_dcpint_getJbxx"
-// + "getJzgjcxx2"
- +"08192ec57d80193b9fa4b9a0"
- //+"pageSize=8&pageNo=1"
+// + "cgyy_dcpint_getJbxx"
+ + "getJzgjcxx2"
+// +"08192ec57d80193b9fa4b9a0"
+ +"pageSize=8&pageNo=1&SJHM=13767489908"
// +"GH=1966&pageSize=5&pageNo=1"
//+"STUDENTID=2017"
+ "";
@@ -34,7 +30,7 @@ public class IfsDcpIcdcShareTest {
//注意:参数名"clienttype","name"和"param"不能变
params.put("clienttype", "java");
// params.put("name", "thirdpartytest");
- params.put("name", "getJzgjcxx2");
+ params.put("name", "cgyy_dcpint_getJbxx");
params.put("param", param);
/*返回值说明
(1)正确的返回为:{"success":true,"message":true}
diff --git a/src/test/java/com/example/venue_reservation_service/dcpint/util/IfsDcpIntUtils.java b/src/test/java/com/example/venue_reservation_service/dcpint/util/IfsDcpIntUtils.java
index 797e352..d435a7b 100644
--- a/src/test/java/com/example/venue_reservation_service/dcpint/util/IfsDcpIntUtils.java
+++ b/src/test/java/com/example/venue_reservation_service/dcpint/util/IfsDcpIntUtils.java
@@ -35,8 +35,9 @@ public class IfsDcpIntUtils {
private final static String iv = "01234567";
// 加解密统一使用的编码方式
private final static String encoding = "utf-8";
- private final static String pk="ll.ecjtull.ecjtull.ecjtu";//lltest
-
+// private final static String pk="ll.ecjtull.ecjtull.ecjtu";//lltest
+ private final static String pk="08192ec57d80193b9fa4b9a0";//lltest
+
private static String PATH = "http://dcpint.ecjtu.edu.cn/unis/IfsDcpIntPortalServlet";
private static URL url;