增加行业大类查询接口,政策保存增加字段,政策留言功能开发

This commit is contained in:
戈经莹
2026-07-27 13:10:19 +08:00
parent 7ce8ea524d
commit 8b06250131
17 changed files with 572 additions and 6 deletions

View File

@@ -0,0 +1,34 @@
package com.ruoyi.cms.domain.policy;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
@ApiModel("政策咨询查询")
public class PolicyConsultQueryDTO {
@ApiModelProperty("页码")
private Integer pageNum = 1;
@ApiModelProperty("每页条数")
private Integer pageSize = 10;
@ApiModelProperty("政策名称搜索关键词")
private String searchValue;
@ApiModelProperty("咨询状态 PENDING待回复、REPLIED已回复")
private String consultStatus;
@ApiModelProperty("满意度0-5分")
private Integer satisfaction;
// 咨询起始时间
@ApiModelProperty("咨询起始时间")
private Date beginConsultTime;
// 咨询结束时间
@ApiModelProperty("咨询结束时间")
private Date endConsultTime;
}

View File

@@ -0,0 +1,80 @@
package com.ruoyi.cms.domain.policy;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("政策咨询记录")
public class PolicyConsultRecord extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 咨询渠道 - 留言板 */
public static final String CHANNEL_MESSAGE_BOARD = "MESSAGE_BOARD";
/** 咨询渠道 - 在线客服 */
public static final String CHANNEL_ONLINE_CHAT = "ONLINE_CHAT";
/** 状态 - 待回复 */
public static final String STATUS_PENDING = "PENDING";
/** 状态 - 已回复 */
public static final String STATUS_REPLIED = "REPLIED";
/** 状态 - 已办结 */
public static final String STATUS_CLOSED = "CLOSED";
/** 主键 */
@ApiModelProperty("主键")
@TableId(value = "id",type = IdType.AUTO)
private Long id;
/** 咨询用户ID */
@ApiModelProperty("咨询用户ID")
private Long userId;
/** 管理员ID */
@ApiModelProperty("管理员ID")
private Long adminId;
/** 浏览咨询对应的政策ID */
@ApiModelProperty("浏览咨询对应的政策ID")
private Long policyId;
/** 政策名称 */
@ApiModelProperty("政策名称")
private String policyName;
/** 咨询渠道MESSAGE_BOARD 留言板、ONLINE_CHAT在线客服等 */
@ApiModelProperty("咨询渠道MESSAGE_BOARD 留言板")
private String consultChannel;
/** 用户咨询问题 */
@ApiModelProperty("用户咨询问题")
private String questionContent;
/** 管理员回复内容 */
@ApiModelProperty("管理员回复内容")
private String replyContent;
/** 状态 PENDING待回复、REPLIED已回复、CLOSED已办结 */
@ApiModelProperty("状态 PENDING待回复、REPLIED已回复、CLOSED已办结")
private String consultStatus;
/** 咨询提交时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("咨询提交时间")
private Date consultTime;
/** 回复时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("回复时间")
private Date replyTime;
/** 用户满意度 五颗星 每颗星代表1分 */
@ApiModelProperty("用户满意度 五颗星 每颗星代表1分")
private Integer satisfaction;
}

View File

@@ -0,0 +1,20 @@
package com.ruoyi.cms.domain.policy;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
@Data
@ApiModel("管理员回复")
public class PolicyConsultReplyDTO {
@NotNull(message = "记录ID不能为空")
@ApiModelProperty(value = "记录ID", required = true, example = "1")
private Long recordId;
@ApiModelProperty(value = "回复内容", required = true, example = "回复内容")
@NotNull(message = "回复内容不能为空")
private String replyContent;
}

View File

@@ -0,0 +1,20 @@
package com.ruoyi.cms.domain.policy;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
@Data
@ApiModel("政策咨询满意度评价")
public class PolicyConsultSatisfactionDTO {
@NotNull(message = "记录ID不能为空")
@ApiModelProperty(value = "记录ID", required = true, example = "1")
private Long recordId;
@ApiModelProperty(value = "满意度", required = true, example = "1")
@NotNull(message = "满意度不能为空")
private Integer satisfaction;
}

View File

@@ -0,0 +1,23 @@
package com.ruoyi.cms.domain.policy;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
@Data
@ApiModel("用户提交留言")
public class PolicyConsultSubmitDTO {
@NotNull(message = "政策ID不能为空")
@ApiModelProperty(value = "政策ID", required = true, example = "1")
private Long policyId;
@NotNull(message = "咨询问题不能为空")
@ApiModelProperty(value = "咨询问题", required = true, example = "咨询问题")
private String questionContent;
@NotNull(message = "咨询渠道不能为空( 渠道固定传 MESSAGE_BOARD留言板渠道")
@ApiModelProperty(value = "咨询渠道", required = true, example = "MESSAGE_BOARD")
private String consultChannel;
}

View File

@@ -6,6 +6,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
@@ -73,4 +74,33 @@ public class PolicyInfo extends BaseEntity {
@ApiModelProperty("状态0启用 1禁用")
private String status;
@ApiModelProperty("行业大类")
private String industryBigType;
@ApiModelProperty("政策文号")
private String docNo;
@JsonFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty("生效日期")
private Date effectiveTime;
@JsonFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty("失效日期")
private Date expireTime;
@ApiModelProperty("政策背景")
private String policyBackground;
@ApiModelProperty("目标宗旨")
private String policyPurpose;
@ApiModelProperty("具体条款")
private String policyClause;
@ApiModelProperty("实施细则")
private String implementRule;
@ApiModelProperty("电子邮件")
private String email;
}