@@ -179,20 +179,6 @@ | |||
<version>1.11</version> | |||
</dependency> | |||
<!-- shiro ehcache (shiro缓存)--> | |||
<dependency> | |||
<groupId>org.apache.shiro</groupId> | |||
<artifactId>shiro-ehcache</artifactId> | |||
<version>1.4.0</version> | |||
<exclusions> | |||
<exclusion> | |||
<artifactId>slf4j-api</artifactId> | |||
<groupId>org.slf4j</groupId> | |||
</exclusion> | |||
</exclusions> | |||
</dependency> | |||
<!-- 分页支持pageHelper --> | |||
<dependency> | |||
<groupId>cn.hutool</groupId> | |||
@@ -209,7 +195,7 @@ | |||
<build> | |||
<finalName>cultural_creative_server</finalName> | |||
<finalName>cultural_server</finalName> | |||
<plugins> | |||
<plugin> | |||
<groupId>org.springframework.boot</groupId> |
@@ -5,8 +5,10 @@ import org.springframework.boot.SpringApplication; | |||
import org.springframework.boot.autoconfigure.SpringBootApplication; | |||
import org.springframework.boot.context.properties.EnableConfigurationProperties; | |||
import org.springframework.boot.web.servlet.ServletComponentScan; | |||
import org.springframework.context.annotation.Bean; | |||
import org.springframework.context.annotation.ComponentScan; | |||
import org.springframework.transaction.annotation.EnableTransactionManagement; | |||
import org.springframework.web.context.request.RequestContextListener; | |||
import springfox.documentation.swagger2.annotations.EnableSwagger2; | |||
@@ -14,13 +16,19 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2; | |||
@EnableSwagger2 | |||
@ComponentScan(value = "com.xdf.**.**") | |||
@MapperScan({"com.xdf.creative.**.mapper"}) | |||
@ServletComponentScan | |||
@EnableTransactionManagement | |||
@SpringBootApplication | |||
@ServletComponentScan | |||
public class CreativeApplication { | |||
public static void main(String[] args) { | |||
SpringApplication.run(CreativeApplication.class, args); | |||
} | |||
@Bean | |||
public RequestContextListener requestContextListener(){ | |||
return new RequestContextListener(); | |||
} | |||
} |
@@ -1,6 +1,7 @@ | |||
package com.xdf.creative.base.params; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import javax.validation.constraints.NotNull; | |||
@@ -17,4 +18,7 @@ public class IdParam implements Serializable { | |||
@NotNull(message = "ID不能为空") | |||
private Long id; | |||
@ApiModelProperty(value = "标题") | |||
private String value; | |||
} |
@@ -0,0 +1,49 @@ | |||
package com.xdf.creative.base.params.creative; | |||
import com.baomidou.mybatisplus.annotation.IdType; | |||
import com.baomidou.mybatisplus.annotation.TableId; | |||
import com.xdf.creative.base.params.QueryParam; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.EqualsAndHashCode; | |||
import lombok.experimental.Accessors; | |||
import javax.validation.constraints.NotNull; | |||
import java.util.Date; | |||
/** | |||
* <p> | |||
* 相关附件表 查询参数对象 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @date 2020-03-09 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@EqualsAndHashCode(callSuper = true) | |||
@ApiModel(value = "InfoAttachmentQueryParam对象", description = "相关附件表查询参数") | |||
public class InfoAttachmentQueryParam extends QueryParam { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键id") | |||
@TableId(value = "id", type = IdType.AUTO) | |||
@NotNull(message = "主键id不能为空") | |||
private Long id; | |||
@ApiModelProperty(value = "外键id") | |||
private String foreignId; | |||
@ApiModelProperty(value = "附件名称") | |||
private String attachmentName; | |||
@ApiModelProperty(value = "附件地址") | |||
private String attachmentAddress; | |||
@ApiModelProperty(value = "创建时间") | |||
private Date createTime; | |||
} |
@@ -0,0 +1,52 @@ | |||
package com.xdf.creative.base.params.creative; | |||
import com.baomidou.mybatisplus.annotation.IdType; | |||
import com.baomidou.mybatisplus.annotation.TableId; | |||
import com.xdf.creative.base.params.QueryParam; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.EqualsAndHashCode; | |||
import lombok.experimental.Accessors; | |||
import javax.validation.constraints.NotNull; | |||
import java.util.Date; | |||
/** | |||
* <p> | |||
* 信息退回 查询参数对象 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @date 2020-03-09 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@EqualsAndHashCode(callSuper = true) | |||
@ApiModel(value = "InfoBackQueryParam对象", description = "信息退回查询参数") | |||
public class InfoBackQueryParam extends QueryParam { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键id") | |||
@TableId(value = "id", type = IdType.AUTO) | |||
@NotNull(message = "主键id不能为空") | |||
private Long id; | |||
@ApiModelProperty(value = "外键id") | |||
private String foreignId; | |||
@ApiModelProperty(value = "链接名称") | |||
private String reason; | |||
@ApiModelProperty(value = "退回类型 1、初审退回 2、终审退回") | |||
private Integer backType; | |||
@ApiModelProperty(value = "退回操作人") | |||
private Long createUser; | |||
@ApiModelProperty(value = "退回时间") | |||
private Date backTime; | |||
} |
@@ -0,0 +1,82 @@ | |||
package com.xdf.creative.base.params.creative; | |||
import com.baomidou.mybatisplus.annotation.IdType; | |||
import com.baomidou.mybatisplus.annotation.TableId; | |||
import com.xdf.creative.base.params.QueryParam; | |||
import com.xdf.creative.module.entity.InfoAttachment; | |||
import com.xdf.creative.module.entity.InfoDetail; | |||
import com.xdf.creative.module.entity.InfoUrl; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.EqualsAndHashCode; | |||
import lombok.experimental.Accessors; | |||
import javax.validation.constraints.NotNull; | |||
import java.util.Date; | |||
import java.util.List; | |||
/** | |||
* <p> | |||
* 信息内容 查询参数对象 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @date 2020-03-09 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@EqualsAndHashCode(callSuper = true) | |||
@ApiModel(value = "InfoContentQueryParam对象", description = "信息内容查询参数") | |||
public class InfoContentAddQueryParam extends QueryParam { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键id") | |||
@TableId(value = "id", type = IdType.AUTO) | |||
private Long id; | |||
@ApiModelProperty(value = "标题") | |||
private String title; | |||
@ApiModelProperty(value = "栏目类型id") | |||
private Long infoTypeId; | |||
@ApiModelProperty(value = "内容类型 0、图文形式 1 、超链接形式") | |||
private Integer contentType; | |||
@ApiModelProperty(value = "内容状态 0 、草稿 1、待初审 2、待终审 3 终审通过 4、初审退回 5、终审退回 6 初审不通过 7终审不通过") | |||
private Integer state; | |||
@ApiModelProperty(value = "图片地址") | |||
private String imageUrl; | |||
@ApiModelProperty(value = "来源地址") | |||
private String sourceUrl; | |||
@ApiModelProperty(value = "作者") | |||
private String author; | |||
@ApiModelProperty(value = "外键id") | |||
private String foreignId; | |||
@ApiModelProperty(value = "排序") | |||
private Integer sort; | |||
/** | |||
* 信息详情 | |||
*/ | |||
private InfoDetail infoDetail; | |||
/** | |||
* 附件列表 | |||
*/ | |||
private List<InfoAttachment> attachmentList; | |||
/** | |||
* url列表 | |||
*/ | |||
private List<InfoUrl> urlList; | |||
} |
@@ -0,0 +1,53 @@ | |||
package com.xdf.creative.base.params.creative; | |||
import com.baomidou.mybatisplus.annotation.IdType; | |||
import com.baomidou.mybatisplus.annotation.TableId; | |||
import com.xdf.creative.base.params.QueryParam; | |||
import com.xdf.creative.module.entity.InfoAttachment; | |||
import com.xdf.creative.module.entity.InfoDetail; | |||
import com.xdf.creative.module.entity.InfoUrl; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.EqualsAndHashCode; | |||
import lombok.experimental.Accessors; | |||
import javax.validation.constraints.NotNull; | |||
import java.util.List; | |||
/** | |||
* <p> | |||
* 信息内容 查询参数对象 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @date 2020-03-09 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@EqualsAndHashCode(callSuper = true) | |||
@ApiModel(value = "InfoContentQueryParam对象", description = "信息内容查询参数") | |||
public class InfoContentAuditQueryParam extends QueryParam { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键id") | |||
@NotNull(message = "ID不能为空") | |||
@TableId(value = "id", type = IdType.AUTO) | |||
private Long id; | |||
@ApiModelProperty(value = "标题") | |||
private String title; | |||
@ApiModelProperty(value = "审核状态 1 、审核 2、审核不通过 3、审核退回") | |||
private Integer auditState; | |||
@ApiModelProperty(value = "内容状态 0 、草稿 1、待初审 2、待终审 3 终审通过 4、初审退回 5、终审退回 6 初审不通过 7终审不通过 ") | |||
private Integer state; | |||
@ApiModelProperty(value = "排序") | |||
private Integer sort; | |||
@ApiModelProperty(value = "退回意见") | |||
private String backIdea; | |||
} |
@@ -0,0 +1,55 @@ | |||
package com.xdf.creative.base.params.creative; | |||
import com.baomidou.mybatisplus.annotation.IdType; | |||
import com.baomidou.mybatisplus.annotation.TableId; | |||
import com.xdf.creative.base.params.QueryParam; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.EqualsAndHashCode; | |||
import lombok.experimental.Accessors; | |||
import javax.validation.constraints.NotNull; | |||
import java.util.Date; | |||
/** | |||
* <p> | |||
* 信息内容 查询参数对象 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @date 2020-03-09 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@EqualsAndHashCode(callSuper = true) | |||
@ApiModel(value = "InfoContentQueryParam对象", description = "信息内容查询参数") | |||
public class InfoContentBackSearchQueryParam extends QueryParam { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键id") | |||
@TableId(value = "id", type = IdType.AUTO) | |||
private Long id; | |||
@ApiModelProperty(value = "标题") | |||
private String title; | |||
@ApiModelProperty(value = "栏目类型id") | |||
private Long infoTypeId; | |||
@ApiModelProperty(value = "内容状态 0 、草稿 1、待初审 2、待终审 3 终审通过 4、初审退回 5、终审退回 6 初审不通过 7终审不通过") | |||
private Integer state; | |||
@ApiModelProperty(value = "用户名") | |||
private String username; | |||
@ApiModelProperty(value = "昵称") | |||
private String nickname; | |||
@ApiModelProperty(value = "是否置顶 0否 1是") | |||
private Integer istop; | |||
@ApiModelProperty(value = "上下状态 0 下线 1上线") | |||
private Integer onlineType; | |||
} |
@@ -0,0 +1,39 @@ | |||
package com.xdf.creative.base.params.creative; | |||
import com.baomidou.mybatisplus.annotation.IdType; | |||
import com.baomidou.mybatisplus.annotation.TableId; | |||
import com.xdf.creative.base.params.QueryParam; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.EqualsAndHashCode; | |||
import lombok.experimental.Accessors; | |||
import javax.validation.constraints.NotBlank; | |||
import javax.validation.constraints.NotNull; | |||
import java.util.Date; | |||
/** | |||
* <p> | |||
* 信息内容 查询参数对象 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @date 2020-03-09 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@ApiModel(value = "InfoContentQueryParam对象", description = "信息内容查询参数") | |||
public class InfoContentHomePageQueryParam { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "栏目id") | |||
@NotBlank(message = "请选择栏目类型") | |||
private String typeId; | |||
@ApiModelProperty(value = "内容大小") | |||
@NotNull(message = "请选择显示条数") | |||
private Integer contentSize; | |||
} |
@@ -0,0 +1,93 @@ | |||
package com.xdf.creative.base.params.creative; | |||
import com.baomidou.mybatisplus.annotation.IdType; | |||
import com.baomidou.mybatisplus.annotation.TableId; | |||
import com.xdf.creative.base.params.QueryParam; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.EqualsAndHashCode; | |||
import lombok.experimental.Accessors; | |||
import javax.validation.constraints.NotNull; | |||
import java.util.Date; | |||
/** | |||
* <p> | |||
* 信息内容 查询参数对象 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @date 2020-03-09 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@EqualsAndHashCode(callSuper = true) | |||
@ApiModel(value = "InfoContentQueryParam对象", description = "信息内容查询参数") | |||
public class InfoContentQueryParam extends QueryParam { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键id") | |||
@TableId(value = "id", type = IdType.AUTO) | |||
@NotNull(message = "主键id不能为空") | |||
private Long id; | |||
@ApiModelProperty(value = "标题") | |||
private String title; | |||
@ApiModelProperty(value = "栏目类型id") | |||
private Long infoTypeId; | |||
@ApiModelProperty(value = "内容类型 0、图文形式 1 、超链接形式") | |||
private Integer contentType; | |||
@ApiModelProperty(value = "图片地址") | |||
private String imageUrl; | |||
@ApiModelProperty(value = "来源地址") | |||
private String sourceUrl; | |||
@ApiModelProperty(value = "作者") | |||
private String author; | |||
@ApiModelProperty(value = "外键id") | |||
private String foreignId; | |||
@ApiModelProperty(value = "内容状态 0 、草稿 1、待初审 2、待终审 3 终审通过 4、初审退回 5、终审退回 6 初审不通过 7终审不通过") | |||
private Integer state; | |||
@ApiModelProperty(value = "创建用户") | |||
private Long createUser; | |||
@ApiModelProperty(value = "创建时间") | |||
private Date createTime; | |||
@ApiModelProperty(value = "初审人员") | |||
private Long firstAuditUser; | |||
@ApiModelProperty(value = "初审时间") | |||
private Date firstAuditTime; | |||
@ApiModelProperty(value = "终审人员") | |||
private Long finalAuditUser; | |||
@ApiModelProperty(value = "终审时间") | |||
private Date finalAuditTime; | |||
@ApiModelProperty(value = "排序") | |||
private Integer sort; | |||
@ApiModelProperty(value = "是否置顶 0否 1是") | |||
private Integer istop; | |||
@ApiModelProperty(value = "置顶时间") | |||
private Date istopTime; | |||
@ApiModelProperty(value = "上下状态 0 下线 1上线") | |||
private Integer onlineType; | |||
@ApiModelProperty(value = "逻辑删除,0:未删除,1:已删除(收入回收站)") | |||
private Integer deleted; | |||
} |
@@ -0,0 +1,35 @@ | |||
package com.xdf.creative.base.params.creative; | |||
import com.xdf.creative.base.params.QueryParam; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.EqualsAndHashCode; | |||
import lombok.experimental.Accessors; | |||
import javax.validation.constraints.NotBlank; | |||
import javax.validation.constraints.NotNull; | |||
/** | |||
* <p> | |||
* 信息内容 查询参数对象 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @date 2020-03-09 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@EqualsAndHashCode(callSuper = true) | |||
@ApiModel(value = "InfoContentQueryParam对象", description = "信息内容查询参数") | |||
public class InfoContentWebSearchQueryParam extends QueryParam { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "栏目id") | |||
private String typeId; | |||
@ApiModelProperty(value = "标题") | |||
@NotBlank(message = "搜索内容不能为空!") | |||
private String title; | |||
} |
@@ -0,0 +1,48 @@ | |||
package com.xdf.creative.base.params.creative; | |||
import com.baomidou.mybatisplus.annotation.IdType; | |||
import com.baomidou.mybatisplus.annotation.TableId; | |||
import com.xdf.creative.base.params.QueryParam; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.EqualsAndHashCode; | |||
import lombok.experimental.Accessors; | |||
import javax.validation.constraints.NotNull; | |||
/** | |||
* <p> | |||
* 信息详情 查询参数对象 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @date 2020-03-09 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@EqualsAndHashCode(callSuper = true) | |||
@ApiModel(value = "InfoDetailQueryParam对象", description = "信息详情查询参数") | |||
public class InfoDetailQueryParam extends QueryParam { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键id") | |||
@TableId(value = "id", type = IdType.AUTO) | |||
@NotNull(message = "主键id不能为空") | |||
private Long id; | |||
@ApiModelProperty(value = "摘要") | |||
private String digest; | |||
@ApiModelProperty(value = "正文") | |||
private String content; | |||
@ApiModelProperty(value = "外键id") | |||
private String foreignId; | |||
@ApiModelProperty(value = "作者") | |||
private String hyperlink; | |||
} |
@@ -0,0 +1,59 @@ | |||
package com.xdf.creative.base.params.creative; | |||
import com.baomidou.mybatisplus.annotation.IdType; | |||
import com.baomidou.mybatisplus.annotation.TableId; | |||
import com.xdf.creative.base.params.QueryParam; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.EqualsAndHashCode; | |||
import lombok.experimental.Accessors; | |||
import javax.validation.constraints.NotNull; | |||
import java.util.Date; | |||
/** | |||
* <p> | |||
* 栏目类型 查询参数对象 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @date 2020-03-06 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@EqualsAndHashCode(callSuper = true) | |||
@ApiModel(value = "InfoTypeQueryParam对象", description = "栏目类型查询参数") | |||
public class InfoTypeQueryParam extends QueryParam { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键id") | |||
private Long id; | |||
@ApiModelProperty(value = "栏目id") | |||
private String typeId; | |||
@ApiModelProperty(value = "栏目父id") | |||
private String typeParentId; | |||
@ApiModelProperty(value = "栏目名称") | |||
private String infoName; | |||
@ApiModelProperty(value = "模型") | |||
private String modelName; | |||
@ApiModelProperty(value = "排列顺序") | |||
private Integer sort; | |||
@ApiModelProperty(value = "是否显示 0 不显示 1显示") | |||
private Integer state; | |||
@ApiModelProperty(value = "创建时间") | |||
private Date createTime; | |||
@ApiModelProperty(value = "创建用户") | |||
private Long createUserId; | |||
} |
@@ -0,0 +1,49 @@ | |||
package com.xdf.creative.base.params.creative; | |||
import com.baomidou.mybatisplus.annotation.IdType; | |||
import com.baomidou.mybatisplus.annotation.TableId; | |||
import com.xdf.creative.base.params.QueryParam; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.EqualsAndHashCode; | |||
import lombok.experimental.Accessors; | |||
import javax.validation.constraints.NotNull; | |||
import java.util.Date; | |||
/** | |||
* <p> | |||
* 相关链接 查询参数对象 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @date 2020-03-09 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@EqualsAndHashCode(callSuper = true) | |||
@ApiModel(value = "InfoUrlQueryParam对象", description = "相关链接查询参数") | |||
public class InfoUrlQueryParam extends QueryParam { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键id") | |||
@TableId(value = "id", type = IdType.AUTO) | |||
@NotNull(message = "主键id不能为空") | |||
private Long id; | |||
@ApiModelProperty(value = "外键id") | |||
private String foreignId; | |||
@ApiModelProperty(value = "链接名称") | |||
private String name; | |||
@ApiModelProperty(value = "链接url") | |||
private String url; | |||
@ApiModelProperty(value = "创建时间") | |||
private Date createTime; | |||
} |
@@ -0,0 +1,58 @@ | |||
package com.xdf.creative.base.params.creative; | |||
import com.baomidou.mybatisplus.annotation.IdType; | |||
import com.baomidou.mybatisplus.annotation.TableId; | |||
import com.xdf.creative.base.params.QueryParam; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.EqualsAndHashCode; | |||
import lombok.experimental.Accessors; | |||
import java.util.Date; | |||
/** | |||
* <p> | |||
* 词管理 查询参数对象 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @date 2020-03-06 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@EqualsAndHashCode(callSuper = true) | |||
@ApiModel(value = "InfoWordManageQueryParam对象", description = "词管理查询参数") | |||
public class InfoWordManageQueryParam extends QueryParam { | |||
private static final long serialVersionUID = 1L; | |||
@TableId(value = "id", type = IdType.AUTO) | |||
private Long id; | |||
@ApiModelProperty(value = "敏感词") | |||
private String word; | |||
@ApiModelProperty(value = "替换内容") | |||
private String replaceContent; | |||
@ApiModelProperty(value = "维护人") | |||
private Long accendantUser; | |||
@ApiModelProperty(value = "开始维护时间") | |||
private Date startAccendantTime; | |||
@ApiModelProperty(value = "结束维护时间") | |||
private Date endAccendantTime; | |||
@ApiModelProperty(value = "修改时间") | |||
private Date updateTime; | |||
@ApiModelProperty(value = "用户名") | |||
private String userName; | |||
@ApiModelProperty(value = "昵称") | |||
private String nickName; | |||
} |
@@ -0,0 +1,53 @@ | |||
package com.xdf.creative.base.params.creative; | |||
import com.baomidou.mybatisplus.annotation.IdType; | |||
import com.baomidou.mybatisplus.annotation.TableId; | |||
import com.xdf.creative.base.params.QueryParam; | |||
import io.swagger.annotations.ApiModel; | |||
import lombok.Data; | |||
import lombok.EqualsAndHashCode; | |||
import lombok.experimental.Accessors; | |||
import javax.validation.constraints.NotBlank; | |||
import javax.validation.constraints.NotNull; | |||
import java.util.Date; | |||
/** | |||
* <p> | |||
* 查询参数对象 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @date 2020-03-05 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@EqualsAndHashCode(callSuper = true) | |||
@ApiModel(value = "OauthTokenQueryParam对象", description = "查询参数") | |||
public class OauthTokenQueryParam extends QueryParam { | |||
private static final long serialVersionUID = 1L; | |||
@TableId(value = "id", type = IdType.AUTO) | |||
@NotNull(message = "不能为空") | |||
private Long id; | |||
@NotBlank(message = "不能为空") | |||
private String accessToken; | |||
@NotNull(message = "不能为空") | |||
private Long userId; | |||
private String permissions; | |||
private String roles; | |||
private Integer refreshToken; | |||
private Date expireTime; | |||
private Date createTime; | |||
private Date updateTime; | |||
} |
@@ -0,0 +1,65 @@ | |||
package com.xdf.creative.base.params.creative; | |||
import com.baomidou.mybatisplus.annotation.IdType; | |||
import com.baomidou.mybatisplus.annotation.TableId; | |||
import com.xdf.creative.base.params.QueryParam; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.EqualsAndHashCode; | |||
import lombok.experimental.Accessors; | |||
import javax.validation.constraints.NotNull; | |||
import java.util.Date; | |||
/** | |||
* <p> | |||
* 账户登录日志 查询参数对象 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @date 2020-03-06 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@EqualsAndHashCode(callSuper = true) | |||
@ApiModel(value = "SysAccountLogQueryParam对象", description = "账户登录日志查询参数") | |||
public class SysAccountLogQueryParam extends QueryParam { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键id") | |||
private Long id; | |||
@ApiModelProperty(value = "用户id") | |||
private Long userId; | |||
@ApiModelProperty(value = "ip地址") | |||
private String ip; | |||
@ApiModelProperty(value = "操作名称") | |||
private String name; | |||
@ApiModelProperty(value = "操作内容") | |||
private String content; | |||
@ApiModelProperty(value = "类型 1登录成功 2登录失败") | |||
private Integer type; | |||
@ApiModelProperty(value = "开始创建时间") | |||
private Date startCreateTime; | |||
@ApiModelProperty(value = "结束创建时间") | |||
private Date endCreateTime; | |||
@ApiModelProperty(value = "方法名称") | |||
private String method; | |||
@ApiModelProperty(value = "用户名") | |||
private String userName; | |||
@ApiModelProperty(value = "昵称") | |||
private String nickName; | |||
} |
@@ -0,0 +1,65 @@ | |||
package com.xdf.creative.base.params.creative; | |||
import com.baomidou.mybatisplus.annotation.IdType; | |||
import com.baomidou.mybatisplus.annotation.TableId; | |||
import com.xdf.creative.base.params.QueryParam; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.EqualsAndHashCode; | |||
import lombok.experimental.Accessors; | |||
import javax.validation.constraints.NotNull; | |||
import java.util.Date; | |||
/** | |||
* <p> | |||
* 账户操作日志 查询参数对象 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @date 2020-03-06 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@EqualsAndHashCode(callSuper = true) | |||
@ApiModel(value = "SysOperateLogQueryParam对象", description = "账户操作日志查询参数") | |||
public class SysOperateLogQueryParam extends QueryParam { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键id") | |||
private Long id; | |||
@ApiModelProperty(value = "用户id") | |||
private Long userId; | |||
@ApiModelProperty(value = "ip地址") | |||
private String ip; | |||
@ApiModelProperty(value = "操作名称") | |||
private String name; | |||
@ApiModelProperty(value = "操作内容") | |||
private String content; | |||
@ApiModelProperty(value = "类型 1登录成功 2登录失败") | |||
private Integer type; | |||
@ApiModelProperty(value = "开始创建时间") | |||
private Date startCreateTime; | |||
@ApiModelProperty(value = "结束创建时间") | |||
private Date endCreateTime; | |||
@ApiModelProperty(value = "方法名称") | |||
private String method; | |||
@ApiModelProperty(value = "用户名") | |||
private String userName; | |||
@ApiModelProperty(value = "昵称") | |||
private String nickName; | |||
} |
@@ -36,7 +36,7 @@ public class SysOrganizeQueryParam extends QueryParam { | |||
private String organizeName; | |||
@ApiModelProperty(value = "管辖区域") | |||
private Long popedom_id; | |||
private Long popedomId; | |||
@ApiModelProperty(value = "类型: 0 普通用户 1、园区用户 2 区文创办 3市文创办 8后台管理 ") | |||
private Integer organizeType; |
@@ -0,0 +1,35 @@ | |||
package com.xdf.creative.base.params.creative; | |||
import com.baomidou.mybatisplus.annotation.IdType; | |||
import com.baomidou.mybatisplus.annotation.TableId; | |||
import com.xdf.creative.base.params.QueryParam; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.EqualsAndHashCode; | |||
import lombok.experimental.Accessors; | |||
import java.util.List; | |||
/** | |||
* <pre> | |||
* 角色权限关系 查询参数对象 | |||
* </pre> | |||
* | |||
* @author DeanYe | |||
* @date 2019-10-24 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@EqualsAndHashCode(callSuper = true) | |||
@ApiModel(value = "SysRolePermissionQueryParam对象", description = "角色权限关系查询参数") | |||
public class SysRoleImpowerPermissionQueryParam extends QueryParam { | |||
private static final long serialVersionUID = 1L; | |||
private Long roleId; | |||
@ApiModelProperty(value = "权限id集合") | |||
private List<String> permissionList; | |||
} |
@@ -1,12 +1,20 @@ | |||
package com.xdf.creative.base.params.creative; | |||
import com.baomidou.mybatisplus.annotation.IdType; | |||
import com.baomidou.mybatisplus.annotation.TableId; | |||
import com.baomidou.mybatisplus.annotation.Version; | |||
import com.xdf.creative.base.params.QueryParam; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.EqualsAndHashCode; | |||
import lombok.experimental.Accessors; | |||
import javax.validation.constraints.NotBlank; | |||
import javax.validation.constraints.Null; | |||
import java.util.Date; | |||
/** | |||
* <pre> | |||
* 系统角色 查询参数对象 | |||
@@ -21,4 +29,21 @@ import lombok.experimental.Accessors; | |||
@ApiModel(value = "SysRoleQueryParam对象", description = "系统角色查询参数") | |||
public class SysRoleQueryParam extends QueryParam { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键") | |||
@TableId(value = "id", type = IdType.ID_WORKER) | |||
private Long id; | |||
@ApiModelProperty(value = "角色名称") | |||
@NotBlank(message = "角色名称不能为空") | |||
private String name; | |||
@ApiModelProperty(value = "角色唯一编码") | |||
@NotBlank(message = "角色编码不能为空") | |||
private String code; | |||
@ApiModelProperty(value = "备注") | |||
private String remark; | |||
} |
@@ -0,0 +1,65 @@ | |||
package com.xdf.creative.base.params.creative; | |||
import com.baomidou.mybatisplus.annotation.IdType; | |||
import com.baomidou.mybatisplus.annotation.TableId; | |||
import com.xdf.creative.base.params.QueryParam; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.EqualsAndHashCode; | |||
import lombok.experimental.Accessors; | |||
import javax.validation.constraints.NotBlank; | |||
import java.util.Date; | |||
/** | |||
* <pre> | |||
* 系统用户 查询参数对象 | |||
* </pre> | |||
* | |||
* @author DeanYe | |||
* @date 2019-10-24 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@EqualsAndHashCode(callSuper = true) | |||
@ApiModel(value = "SysUserQueryParam对象", description = "系统用户查询参数") | |||
public class SysUserAddQueryParam extends QueryParam { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键") | |||
@TableId(value = "id", type = IdType.AUTO) | |||
private Long id; | |||
@ApiModelProperty(value = "用户名") | |||
@NotBlank(message = "用户名不能为空!") | |||
private String username; | |||
@NotBlank(message = "密码不能为空!") | |||
@ApiModelProperty(value = "密码") | |||
private String password; | |||
@ApiModelProperty(value = "昵称") | |||
private String nickname; | |||
@ApiModelProperty(value = "手机号码") | |||
private String phone; | |||
@ApiModelProperty(value = "邮箱") | |||
private String email; | |||
@ApiModelProperty(value = "性别,0:女,1:男,默认1") | |||
private Integer gender; | |||
@ApiModelProperty(value = "头像") | |||
private String head; | |||
@ApiModelProperty(value = "remark") | |||
private String remark; | |||
@ApiModelProperty(value = "角色id") | |||
private Long roleId; | |||
} |
@@ -0,0 +1,53 @@ | |||
package com.xdf.creative.base.params.creative; | |||
import com.xdf.creative.base.params.QueryParam; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.EqualsAndHashCode; | |||
import lombok.experimental.Accessors; | |||
import java.util.Date; | |||
/** | |||
* <pre> | |||
* 系统用户 查询参数对象 | |||
* </pre> | |||
* | |||
* @author DeanYe | |||
* @date 2019-10-24 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@EqualsAndHashCode(callSuper = true) | |||
@ApiModel(value = "SysUserQueryParam对象", description = "系统用户查询参数") | |||
public class SysUserBackQueryParam extends QueryParam { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键id") | |||
private Long id; | |||
@ApiModelProperty(value = "用户名") | |||
private String username; | |||
@ApiModelProperty(value = "昵称") | |||
private String nickname; | |||
@ApiModelProperty(value = "手机号码") | |||
private String phone; | |||
@ApiModelProperty(value = "邮箱") | |||
private String email; | |||
@ApiModelProperty(value = "状态,0:禁用,1:启用,2:锁定") | |||
private Integer state; | |||
@ApiModelProperty(value = "性别,0:女,1:男,默认1") | |||
private Integer gender; | |||
@ApiModelProperty(value = "角色名") | |||
private String roleName; | |||
} |
@@ -1,12 +1,17 @@ | |||
package com.xdf.creative.base.params.creative; | |||
import com.baomidou.mybatisplus.annotation.TableField; | |||
import com.xdf.creative.base.params.QueryParam; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.EqualsAndHashCode; | |||
import lombok.experimental.Accessors; | |||
import java.util.Date; | |||
import java.util.Set; | |||
/** | |||
* <pre> | |||
* 系统用户 查询参数对象 | |||
@@ -21,4 +26,39 @@ import lombok.experimental.Accessors; | |||
@ApiModel(value = "SysUserQueryParam对象", description = "系统用户查询参数") | |||
public class SysUserQueryParam extends QueryParam { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "用户名") | |||
private String username; | |||
@ApiModelProperty(value = "昵称") | |||
private String nickname; | |||
@ApiModelProperty(value = "手机号码") | |||
private String phone; | |||
@ApiModelProperty(value = "邮箱") | |||
private String email; | |||
@ApiModelProperty(value = "状态,0:禁用,1:启用,2:锁定") | |||
private Integer state; | |||
@ApiModelProperty(value = "性别,0:女,1:男,默认1") | |||
private Integer gender; | |||
@ApiModelProperty(value = "头像") | |||
private String head; | |||
@ApiModelProperty(value = "0 普通用户 1、园区 2 区文创办 3 市文创办 8后台管理") | |||
private Integer userType; | |||
@ApiModelProperty(value = "remark") | |||
private String remark; | |||
@ApiModelProperty(value = "开始创建时间") | |||
private Date startCreateTime; | |||
@ApiModelProperty(value = "结束创建时间") | |||
private Date endCreateTime; | |||
} |
@@ -0,0 +1,60 @@ | |||
package com.xdf.creative.base.params.creative; | |||
import com.baomidou.mybatisplus.annotation.IdType; | |||
import com.baomidou.mybatisplus.annotation.TableId; | |||
import com.xdf.creative.base.params.QueryParam; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.EqualsAndHashCode; | |||
import lombok.experimental.Accessors; | |||
import javax.validation.constraints.NotBlank; | |||
import javax.validation.constraints.NotNull; | |||
/** | |||
* <pre> | |||
* 系统用户 查询参数对象 | |||
* </pre> | |||
* | |||
* @author DeanYe | |||
* @date 2019-10-24 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@EqualsAndHashCode(callSuper = true) | |||
@ApiModel(value = "SysUserQueryParam对象", description = "系统用户查询参数") | |||
public class SysUserUpdateQueryParam extends QueryParam { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键") | |||
@TableId(value = "id", type = IdType.AUTO) | |||
@NotNull(message = "数据标识不能为空") | |||
private Long id; | |||
@ApiModelProperty(value = "昵称") | |||
private String nickname; | |||
@ApiModelProperty(value = "手机号码") | |||
private String phone; | |||
@ApiModelProperty(value = "邮箱") | |||
private String email; | |||
@ApiModelProperty(value = "性别,0:女,1:男,默认1") | |||
private Integer gender; | |||
@ApiModelProperty(value = "头像") | |||
private String head; | |||
@ApiModelProperty(value = "remark") | |||
private String remark; | |||
@ApiModelProperty(value = "角色id") | |||
private Long roleId; | |||
private String username; | |||
} |
@@ -34,4 +34,7 @@ public class UpdatePasswordParam { | |||
@NotEmpty(message = "确认密码不能为空") | |||
private String confirmPassword; | |||
private String username; | |||
} |
@@ -9,15 +9,15 @@ import com.baomidou.mybatisplus.extension.service.IService; | |||
*/ | |||
public interface BaseService<T> extends IService<T> { | |||
// Long getUserId(); | |||
// | |||
// Long getOrganizeId(); | |||
// | |||
// Integer getOrganizeType(); | |||
// | |||
// String getRegionId(); | |||
// | |||
// boolean verifyUserPermission(Long userId); | |||
// | |||
// boolean verifyOrganizePermission(Long organizeId); | |||
Long getUserId(); | |||
Long getOrganizeId(); | |||
Integer getOrganizeType(); | |||
String getRegionId(); | |||
boolean verifyUserPermission(Long userId); | |||
boolean verifyOrganizePermission(Long organizeId); | |||
} |
@@ -6,7 +6,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | |||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | |||
import com.xdf.creative.base.params.QueryParam; | |||
import com.xdf.creative.base.service.BaseService; | |||
import com.xdf.creative.shiro.jwt.JwtTokenUtil; | |||
import com.xdf.creative.shiro.jwt.JwtUtil; | |||
import com.xdf.creative.util.CollectionTools; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
/** | |||
* | |||
@@ -14,10 +17,10 @@ import com.xdf.creative.util.CollectionTools; | |||
* @param <T> | |||
*/ | |||
public abstract class BaseServiceImpl<M extends BaseMapper<T>, T> extends ServiceImpl<M, T> implements BaseService<T> { | |||
// @Autowired | |||
// private JwtTokenUtil jwtTokenUtil; | |||
// @Autowired | |||
// private JwtUtil jwtUtil; | |||
@Autowired | |||
private JwtTokenUtil jwtTokenUtil; | |||
@Autowired | |||
private JwtUtil jwtUtil; | |||
/** | |||
* 分页排序设置 | |||
* 默认按创建时间Desc降序排列 | |||
@@ -64,46 +67,46 @@ public abstract class BaseServiceImpl<M extends BaseMapper<T>, T> extends Servic | |||
return page; | |||
} | |||
// @Override | |||
// public Long getUserId() { | |||
// String token = jwtTokenUtil.getToken(); | |||
// return jwtUtil.getUserId(token); | |||
// } | |||
// | |||
// @Override | |||
// public Integer getOrganizeType() { | |||
// String token = jwtTokenUtil.getToken(); | |||
// return jwtUtil.getOrganizeType(token); | |||
// } | |||
// | |||
// @Override | |||
// public Long getOrganizeId() { | |||
// String token = jwtTokenUtil.getToken(); | |||
// return jwtUtil.getOrganizeId(token); | |||
// } | |||
// | |||
// @Override | |||
// public String getRegionId() { | |||
// String token = jwtTokenUtil.getToken(); | |||
// return jwtUtil.getRegionId(token); | |||
// } | |||
// | |||
// @Override | |||
// public boolean verifyUserPermission(Long userId) { | |||
// boolean passageFlag = false; | |||
// if (getUserId() == userId || (getUserId() == 1 && getOrganizeId() == 1)) { | |||
// passageFlag = true; | |||
// } | |||
// return passageFlag; | |||
// } | |||
// | |||
// @Override | |||
// public boolean verifyOrganizePermission(Long organizeId) { | |||
// boolean passageFlag = false; | |||
// if (getOrganizeId() == organizeId || (getUserId() == 1 && getOrganizeId() == 1)) { | |||
// passageFlag = true; | |||
// } | |||
// return passageFlag; | |||
// } | |||
@Override | |||
public Long getUserId() { | |||
String token = jwtTokenUtil.getToken(); | |||
return jwtUtil.getUserId(token); | |||
} | |||
@Override | |||
public Integer getOrganizeType() { | |||
String token = jwtTokenUtil.getToken(); | |||
return jwtUtil.getOrganizeType(token); | |||
} | |||
@Override | |||
public Long getOrganizeId() { | |||
String token = jwtTokenUtil.getToken(); | |||
return jwtUtil.getOrganizeId(token); | |||
} | |||
@Override | |||
public String getRegionId() { | |||
String token = jwtTokenUtil.getToken(); | |||
return jwtUtil.getRegionId(token); | |||
} | |||
@Override | |||
public boolean verifyUserPermission(Long userId) { | |||
boolean passageFlag = false; | |||
if (getUserId() == userId) { | |||
passageFlag = true; | |||
} | |||
return passageFlag; | |||
} | |||
@Override | |||
public boolean verifyOrganizePermission(Long organizeId) { | |||
boolean passageFlag = false; | |||
if (getOrganizeId() == organizeId || (getUserId() == 1 && getOrganizeId() == 1)) { | |||
passageFlag = true; | |||
} | |||
return passageFlag; | |||
} | |||
} |
@@ -0,0 +1,40 @@ | |||
package com.xdf.creative.base.vo.creative; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.experimental.Accessors; | |||
import java.io.Serializable; | |||
import java.util.Date; | |||
/** | |||
* <p> | |||
* 相关附件表 查询结果对象 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @date 2020-03-09 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@ApiModel(value = "InfoAttachmentQueryVo对象", description = "相关附件表查询参数") | |||
public class InfoAttachmentQueryVo implements Serializable { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键id") | |||
private Long id; | |||
@ApiModelProperty(value = "外键id") | |||
private String foreignId; | |||
@ApiModelProperty(value = "附件名称") | |||
private String attachmentName; | |||
@ApiModelProperty(value = "附件地址") | |||
private String attachmentAddress; | |||
@ApiModelProperty(value = "创建时间") | |||
private Date createTime; | |||
} |
@@ -0,0 +1,43 @@ | |||
package com.xdf.creative.base.vo.creative; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.experimental.Accessors; | |||
import java.io.Serializable; | |||
import java.util.Date; | |||
/** | |||
* <p> | |||
* 信息退回 查询结果对象 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @date 2020-03-09 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@ApiModel(value = "InfoBackQueryVo对象", description = "信息退回查询参数") | |||
public class InfoBackQueryVo implements Serializable { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键id") | |||
private Long id; | |||
@ApiModelProperty(value = "外键id") | |||
private String foreignId; | |||
@ApiModelProperty(value = "链接名称") | |||
private String reason; | |||
@ApiModelProperty(value = "退回类型 1、初审退回 2、终审退回") | |||
private Integer backType; | |||
@ApiModelProperty(value = "退回操作人") | |||
private Long createUser; | |||
@ApiModelProperty(value = "退回时间") | |||
private Date backTime; | |||
} |
@@ -0,0 +1,111 @@ | |||
package com.xdf.creative.base.vo.creative; | |||
import com.baomidou.mybatisplus.annotation.IdType; | |||
import com.baomidou.mybatisplus.annotation.TableId; | |||
import com.xdf.creative.base.params.QueryParam; | |||
import com.xdf.creative.module.entity.InfoAttachment; | |||
import com.xdf.creative.module.entity.InfoDetail; | |||
import com.xdf.creative.module.entity.InfoUrl; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.EqualsAndHashCode; | |||
import lombok.experimental.Accessors; | |||
import javax.validation.constraints.NotNull; | |||
import java.util.Date; | |||
import java.util.List; | |||
/** | |||
* <p> | |||
* 信息内容 查询参数对象 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @date 2020-03-09 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@EqualsAndHashCode(callSuper = true) | |||
@ApiModel(value = "InfoContentQueryParam对象", description = "信息内容查询参数") | |||
public class InfoContentAllQueryVo extends QueryParam { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键id") | |||
@TableId(value = "id", type = IdType.AUTO) | |||
@NotNull(message = "主键id不能为空") | |||
private Long id; | |||
@ApiModelProperty(value = "标题") | |||
private String title; | |||
@ApiModelProperty(value = "栏目类型id") | |||
private Long infoTypeId; | |||
@ApiModelProperty(value = "内容类型 0、图文形式 1 、超链接形式") | |||
private Integer contentType; | |||
@ApiModelProperty(value = "图片地址") | |||
private String imageUrl; | |||
@ApiModelProperty(value = "来源地址") | |||
private String sourceUrl; | |||
@ApiModelProperty(value = "作者") | |||
private String author; | |||
@ApiModelProperty(value = "外键id") | |||
private String foreignId; | |||
@ApiModelProperty(value = "内容状态 0 、草稿 1、待初审 2、待终审 3 终审通过 4、初审退回 5、终审退回") | |||
private Integer state; | |||
@ApiModelProperty(value = "创建用户") | |||
private Long createUser; | |||
@ApiModelProperty(value = "创建时间") | |||
private Date createTime; | |||
@ApiModelProperty(value = "初审人员") | |||
private Long firstAuditUser; | |||
@ApiModelProperty(value = "初审时间") | |||
private Date firstAuditTime; | |||
@ApiModelProperty(value = "终审人员") | |||
private Long finalAuditUser; | |||
@ApiModelProperty(value = "终审时间") | |||
private Date finalAuditTime; | |||
@ApiModelProperty(value = "排序") | |||
private Integer sort; | |||
@ApiModelProperty(value = "是否置顶 0否 1是") | |||
private Integer istop; | |||
@ApiModelProperty(value = "置顶时间") | |||
private Date istopTime; | |||
@ApiModelProperty(value = "上下状态 0 下线 1上线") | |||
private Integer onlineType; | |||
@ApiModelProperty(value = "逻辑删除,0:未删除,1:已删除") | |||
private Integer deleted; | |||
/** | |||
* 信息详情 | |||
*/ | |||
private InfoDetail infoDetail; | |||
/** | |||
* 附件列表 | |||
*/ | |||
private List<InfoAttachment> attachmentList; | |||
/** | |||
* url列表 | |||
*/ | |||
private List<InfoUrl> urlList; | |||
} |
@@ -0,0 +1,73 @@ | |||
package com.xdf.creative.base.vo.creative; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.experimental.Accessors; | |||
import java.io.Serializable; | |||
import java.util.Date; | |||
/** | |||
* <p> | |||
* 信息内容 查询结果对象 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @date 2020-03-09 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@ApiModel(value = "InfoContentQueryVo对象", description = "信息内容查询参数") | |||
public class InfoContentBackSearchQueryVo implements Serializable { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键id") | |||
private Long id; | |||
@ApiModelProperty(value = "标题") | |||
private String title; | |||
@ApiModelProperty(value = "创建用户") | |||
private Long createUser; | |||
@ApiModelProperty(value = "用户名Id") | |||
private Long userId; | |||
@ApiModelProperty(value = "用户名") | |||
private String username; | |||
@ApiModelProperty(value = "昵称") | |||
private String nickname; | |||
@ApiModelProperty(value = "提交时间") | |||
private Date submitTime; | |||
@ApiModelProperty(value = "创建时间") | |||
private Date updateTime; | |||
@ApiModelProperty(value = "栏目类型id") | |||
private Long infoTypeId; | |||
@ApiModelProperty(value = "栏目名称") | |||
private String infoName; | |||
@ApiModelProperty(value = "内容状态 0 、草稿 1、待初审 2、待终审 3 终审通过 4、初审退回 5、终审退回") | |||
private Integer state; | |||
@ApiModelProperty(value = "初审时间") | |||
private Date firstAuditTime; | |||
@ApiModelProperty(value = "终审时间") | |||
private Date finalAuditTime; | |||
@ApiModelProperty(value = "排序") | |||
private Integer sort; | |||
@ApiModelProperty(value = "是否置顶 0否 1是") | |||
private Integer istop; | |||
@ApiModelProperty(value = "上下状态 0 下线 1上线") | |||
private Integer onlineType; | |||
} |
@@ -0,0 +1,49 @@ | |||
package com.xdf.creative.base.vo.creative; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.experimental.Accessors; | |||
import java.io.Serializable; | |||
import java.util.Date; | |||
/** | |||
* <p> | |||
* 信息内容 查询结果对象 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @date 2020-03-09 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@ApiModel(value = "InfoContentQueryVo对象", description = "信息内容查询参数") | |||
public class InfoContentHomePageQueryVo implements Serializable { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键id") | |||
private Long id; | |||
@ApiModelProperty(value = "标题") | |||
private String title; | |||
@ApiModelProperty(value = "栏目id") | |||
private String typeId; | |||
@ApiModelProperty(value = "栏目名称") | |||
private String infoName; | |||
@ApiModelProperty(value = "终审时间") | |||
private Date finalAuditTime; | |||
@ApiModelProperty(value = "排序") | |||
private Integer sort; | |||
@ApiModelProperty(value = "是否置顶 0否 1是") | |||
private Integer istop; | |||
@ApiModelProperty(value = "置顶时间") | |||
private Date istopTime; | |||
} |
@@ -0,0 +1,86 @@ | |||
package com.xdf.creative.base.vo.creative; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.experimental.Accessors; | |||
import java.io.Serializable; | |||
import java.util.Date; | |||
/** | |||
* <p> | |||
* 信息内容 查询结果对象 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @date 2020-03-09 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@ApiModel(value = "InfoContentQueryVo对象", description = "信息内容查询参数") | |||
public class InfoContentQueryVo implements Serializable { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键id") | |||
private Long id; | |||
@ApiModelProperty(value = "标题") | |||
private String title; | |||
@ApiModelProperty(value = "栏目类型id") | |||
private Long infoTypeId; | |||
@ApiModelProperty(value = "内容类型 0、图文形式 1 、超链接形式") | |||
private Integer contentType; | |||
@ApiModelProperty(value = "图片地址") | |||
private String imageUrl; | |||
@ApiModelProperty(value = "来源地址") | |||
private String sourceUrl; | |||
@ApiModelProperty(value = "作者") | |||
private String author; | |||
@ApiModelProperty(value = "外键id") | |||
private String foreignId; | |||
@ApiModelProperty(value = "内容状态 0 、草稿 1、待初审 2、待终审 3 终审通过 4、初审退回 5、终审退回") | |||
private Integer state; | |||
@ApiModelProperty(value = "创建用户") | |||
private Long createUser; | |||
@ApiModelProperty(value = "创建时间") | |||
private Date createTime; | |||
@ApiModelProperty(value = "初审人员") | |||
private Long firstAuditUser; | |||
@ApiModelProperty(value = "初审时间") | |||
private Date firstAuditTime; | |||
@ApiModelProperty(value = "终审人员") | |||
private Long finalAuditUser; | |||
@ApiModelProperty(value = "终审时间") | |||
private Date finalAuditTime; | |||
@ApiModelProperty(value = "排序") | |||
private Integer sort; | |||
@ApiModelProperty(value = "是否置顶 0否 1是") | |||
private Integer istop; | |||
@ApiModelProperty(value = "置顶时间") | |||
private Date istopTime; | |||
@ApiModelProperty(value = "上下状态 0 下线 1上线") | |||
private Integer onlineType; | |||
@ApiModelProperty(value = "逻辑删除,0:未删除,1:已删除") | |||
private Integer deleted; | |||
} |
@@ -0,0 +1,76 @@ | |||
package com.xdf.creative.base.vo.creative; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.experimental.Accessors; | |||
import java.io.Serializable; | |||
import java.util.Date; | |||
/** | |||
* <p> | |||
* 信息内容 查询结果对象 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @date 2020-03-09 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@ApiModel(value = "InfoContentQueryVo对象", description = "信息内容查询参数") | |||
public class InfoContentRecycleSearchQueryVo implements Serializable { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键id") | |||
private Long id; | |||
@ApiModelProperty(value = "标题") | |||
private String title; | |||
@ApiModelProperty(value = "创建用户") | |||
private Long createUser; | |||
@ApiModelProperty(value = "用户名Id") | |||
private Long userId; | |||
@ApiModelProperty(value = "用户名") | |||
private String username; | |||
@ApiModelProperty(value = "昵称") | |||
private String nickname; | |||
@ApiModelProperty(value = "提交时间") | |||
private Date submitTime; | |||
@ApiModelProperty(value = "创建时间") | |||
private Date updateTime; | |||
@ApiModelProperty(value = "栏目类型id") | |||
private Long infoTypeId; | |||
@ApiModelProperty(value = "栏目名称") | |||
private String infoName; | |||
@ApiModelProperty(value = "内容状态 0 、草稿 1、待初审 2、待终审 3 终审通过 4、初审退回 5、终审退回") | |||
private Integer state; | |||
@ApiModelProperty(value = "初审时间") | |||
private Date firstAuditTime; | |||
@ApiModelProperty(value = "终审时间") | |||
private Date finalAuditTime; | |||
@ApiModelProperty(value = "排序") | |||
private Integer sort; | |||
@ApiModelProperty(value = "是否置顶 0否 1是") | |||
private Integer istop; | |||
@ApiModelProperty(value = "上下状态 0 下线 1上线") | |||
private Integer onlineType; | |||
@ApiModelProperty(value = "逻辑删除,0:未删除,1:已删除") | |||
private Integer deleted; | |||
} |
@@ -0,0 +1,87 @@ | |||
package com.xdf.creative.base.vo.creative; | |||
import com.baomidou.mybatisplus.annotation.IdType; | |||
import com.baomidou.mybatisplus.annotation.TableId; | |||
import com.xdf.creative.base.params.QueryParam; | |||
import com.xdf.creative.module.entity.InfoAttachment; | |||
import com.xdf.creative.module.entity.InfoDetail; | |||
import com.xdf.creative.module.entity.InfoUrl; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.EqualsAndHashCode; | |||
import lombok.experimental.Accessors; | |||
import javax.validation.constraints.NotNull; | |||
import java.util.Date; | |||
import java.util.List; | |||
/** | |||
* <p> | |||
* 信息内容 查询参数对象 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @date 2020-03-09 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@EqualsAndHashCode(callSuper = true) | |||
@ApiModel(value = "InfoContentQueryParam对象", description = "信息内容查询参数") | |||
public class InfoContentWebAllQueryVo extends QueryParam { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键id") | |||
@TableId(value = "id", type = IdType.AUTO) | |||
@NotNull(message = "主键id不能为空") | |||
private Long id; | |||
@ApiModelProperty(value = "标题") | |||
private String title; | |||
@ApiModelProperty(value = "栏目类型id") | |||
private Long infoTypeId; | |||
@ApiModelProperty(value = "内容类型 0、图文形式 1 、超链接形式") | |||
private Integer contentType; | |||
@ApiModelProperty(value = "图片地址") | |||
private String imageUrl; | |||
@ApiModelProperty(value = "来源地址") | |||
private String sourceUrl; | |||
@ApiModelProperty(value = "作者") | |||
private String author; | |||
@ApiModelProperty(value = "内容状态 0 、草稿 1、待初审 2、待终审 3 终审通过 4、初审退回 5、终审退回") | |||
private Integer state; | |||
@ApiModelProperty(value = "创建时间") | |||
private Date createTime; | |||
@ApiModelProperty(value = "排序") | |||
private Integer sort; | |||
@ApiModelProperty(value = "是否置顶 0否 1是") | |||
private Integer istop; | |||
@ApiModelProperty(value = "置顶时间") | |||
private Date istopTime; | |||
/** | |||
* 信息详情 | |||
*/ | |||
private InfoDetail infoDetail; | |||
/** | |||
* 附件列表 | |||
*/ | |||
private List<InfoAttachment> attachmentList; | |||
/** | |||
* url列表 | |||
*/ | |||
private List<InfoUrl> urlList; | |||
} |
@@ -0,0 +1,55 @@ | |||
package com.xdf.creative.base.vo.creative; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.experimental.Accessors; | |||
import java.io.Serializable; | |||
import java.util.Date; | |||
/** | |||
* <p> | |||
* 信息内容 查询结果对象 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @date 2020-03-09 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@ApiModel(value = "InfoContentQueryVo对象", description = "信息内容查询参数") | |||
public class InfoContentWebSearchQueryVo implements Serializable { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键id") | |||
private Long id; | |||
@ApiModelProperty(value = "标题") | |||
private String title; | |||
@ApiModelProperty(value = "栏目id") | |||
private String typeId; | |||
@ApiModelProperty(value = "栏目名称") | |||
private String infoName; | |||
@ApiModelProperty(value = "终审时间") | |||
private Date finalAuditTime; | |||
@ApiModelProperty(value = "排序") | |||
private Integer sort; | |||
@ApiModelProperty(value = "是否置顶 0否 1是") | |||
private Integer istop; | |||
@ApiModelProperty(value = "置顶时间") | |||
private Date istopTime; | |||
@ApiModelProperty(value = "摘要") | |||
private String digest; | |||
@ApiModelProperty(value = "超链接") | |||
private String hyperlink; | |||
} |
@@ -0,0 +1,40 @@ | |||
package com.xdf.creative.base.vo.creative; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.experimental.Accessors; | |||
import java.io.Serializable; | |||
import java.util.Date; | |||
/** | |||
* <p> | |||
* 信息详情 查询结果对象 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @date 2020-03-09 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@ApiModel(value = "InfoDetailQueryVo对象", description = "信息详情查询参数") | |||
public class InfoDetailQueryVo implements Serializable { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键id") | |||
private Long id; | |||
@ApiModelProperty(value = "摘要") | |||
private String digest; | |||
@ApiModelProperty(value = "正文") | |||
private String content; | |||
@ApiModelProperty(value = "外键id") | |||
private String foreignId; | |||
@ApiModelProperty(value = "超链接") | |||
private String hyperlink; | |||
} |
@@ -0,0 +1,52 @@ | |||
package com.xdf.creative.base.vo.creative; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.experimental.Accessors; | |||
import java.io.Serializable; | |||
import java.util.Date; | |||
/** | |||
* <p> | |||
* 栏目类型 查询结果对象 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @date 2020-03-06 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@ApiModel(value = "InfoTypeQueryVo对象", description = "栏目类型查询参数") | |||
public class InfoTypeQueryVo implements Serializable { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键id") | |||
private Long id; | |||
@ApiModelProperty(value = "栏目id") | |||
private String typeId; | |||
@ApiModelProperty(value = "栏目父id") | |||
private String typeParentId; | |||
@ApiModelProperty(value = "栏目名称") | |||
private String infoName; | |||
@ApiModelProperty(value = "模型") | |||
private String modelName; | |||
@ApiModelProperty(value = "排列顺序") | |||
private Integer sort; | |||
@ApiModelProperty(value = "是否显示 0 不显示 1显示") | |||
private Integer state; | |||
@ApiModelProperty(value = "创建时间") | |||
private Date createTime; | |||
@ApiModelProperty(value = "创建用户") | |||
private Long createUserId; | |||
} |
@@ -0,0 +1,40 @@ | |||
package com.xdf.creative.base.vo.creative; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.experimental.Accessors; | |||
import java.io.Serializable; | |||
import java.util.Date; | |||
/** | |||
* <p> | |||
* 相关链接 查询结果对象 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @date 2020-03-09 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@ApiModel(value = "InfoUrlQueryVo对象", description = "相关链接查询参数") | |||
public class InfoUrlQueryVo implements Serializable { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键id") | |||
private Long id; | |||
@ApiModelProperty(value = "外键id") | |||
private String foreignId; | |||
@ApiModelProperty(value = "链接名称") | |||
private String name; | |||
@ApiModelProperty(value = "链接url") | |||
private String url; | |||
@ApiModelProperty(value = "创建时间") | |||
private Date createTime; | |||
} |
@@ -0,0 +1,49 @@ | |||
package com.xdf.creative.base.vo.creative; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.experimental.Accessors; | |||
import java.io.Serializable; | |||
import java.util.Date; | |||
/** | |||
* <p> | |||
* 词管理 查询结果对象 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @date 2020-03-06 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@ApiModel(value = "InfoWordManageQueryVo对象", description = "词管理查询参数") | |||
public class InfoWordManageQueryVo implements Serializable { | |||
private static final long serialVersionUID = 1L; | |||
private Long id; | |||
@ApiModelProperty(value = "敏感词") | |||
private String word; | |||
@ApiModelProperty(value = "替换内容") | |||
private String replaceContent; | |||
@ApiModelProperty(value = "维护人") | |||
private Long accendantUser; | |||
@ApiModelProperty(value = "维护时间") | |||
private Date accendantTime; | |||
@ApiModelProperty(value = "修改时间") | |||
private Date updateTime; | |||
@ApiModelProperty(value = "用户名") | |||
private String username; | |||
@ApiModelProperty(value = "昵称") | |||
private String nickname; | |||
} |
@@ -0,0 +1,42 @@ | |||
package com.xdf.creative.base.vo.creative; | |||
import io.swagger.annotations.ApiModel; | |||
import lombok.Data; | |||
import lombok.experimental.Accessors; | |||
import java.io.Serializable; | |||
import java.util.Date; | |||
/** | |||
* <p> | |||
* 查询结果对象 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @date 2020-03-05 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@ApiModel(value = "OauthTokenQueryVo对象", description = "查询参数") | |||
public class OauthTokenQueryVo implements Serializable { | |||
private static final long serialVersionUID = 1L; | |||
private Long id; | |||
private String accessToken; | |||
private Long userId; | |||
private String permissions; | |||
private String roles; | |||
private Integer refreshToken; | |||
private Date expireTime; | |||
private Date createTime; | |||
private Date updateTime; | |||
} |
@@ -0,0 +1,54 @@ | |||
package com.xdf.creative.base.vo.creative; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.experimental.Accessors; | |||
import java.io.Serializable; | |||
import java.util.Date; | |||
/** | |||
* <p> | |||
* 账户登录日志 查询结果对象 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @date 2020-03-06 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@ApiModel(value = "SysAccountLogQueryVo对象", description = "账户登录日志查询参数") | |||
public class SysAccountLogQueryVo implements Serializable { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键id") | |||
private Long id; | |||
@ApiModelProperty(value = "用户id") | |||
private Long userId; | |||
@ApiModelProperty(value = "ip地址") | |||
private String ip; | |||
@ApiModelProperty(value = "操作名称") | |||
private String name; | |||
@ApiModelProperty(value = "操作内容") | |||
private String content; | |||
@ApiModelProperty(value = "创建时间") | |||
private Date createTime; | |||
@ApiModelProperty(value = "方法名称") | |||
private String method; | |||
@ApiModelProperty(value = "类型 1登录成功 2登录失败") | |||
private Integer type; | |||
@ApiModelProperty(value = "用户名") | |||
private String username; | |||
@ApiModelProperty(value = "昵称") | |||
private String nickname; | |||
} |
@@ -0,0 +1,52 @@ | |||
package com.xdf.creative.base.vo.creative; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.experimental.Accessors; | |||
import java.io.Serializable; | |||
import java.util.Date; | |||
/** | |||
* <p> | |||
* 账户操作日志 查询结果对象 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @date 2020-03-06 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@ApiModel(value = "SysOperateLogQueryVo对象", description = "账户操作日志查询参数") | |||
public class SysOperateLogQueryVo implements Serializable { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键id") | |||
private Long id; | |||
@ApiModelProperty(value = "用户id") | |||
private Long userId; | |||
@ApiModelProperty(value = "ip地址") | |||
private String ip; | |||
@ApiModelProperty(value = "操作名称") | |||
private String name; | |||
@ApiModelProperty(value = "操作内容") | |||
private String content; | |||
@ApiModelProperty(value = "创建时间") | |||
private Date createTime; | |||
@ApiModelProperty(value = "用户名") | |||
private String username; | |||
@ApiModelProperty(value = "昵称") | |||
private String nickname; | |||
@ApiModelProperty(value = "方法名称") | |||
private String method; | |||
} |
@@ -0,0 +1,59 @@ | |||
/* | |||
* Copyright 2019-2029 geekidea(https://github.com/geekidea) | |||
* | |||
* Licensed under the Apache License, Version 2.0 (the "License"); | |||
* you may not use this file except in compliance with the License. | |||
* You may obtain a copy of the License at | |||
* | |||
* http://www.apache.org/licenses/LICENSE-2.0 | |||
* | |||
* Unless required by applicable law or agreed to in writing, software | |||
* distributed under the License is distributed on an "AS IS" BASIS, | |||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package com.xdf.creative.base.vo.creative; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.experimental.Accessors; | |||
import java.io.Serializable; | |||
import java.util.Date; | |||
/** | |||
* <pre> | |||
* 系统角色 查询结果对象 | |||
* </pre> | |||
* | |||
* @author DeanYe | |||
* @date 2019-10-24 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@ApiModel(value = "SysRoleQueryVo对象", description = "系统角色查询参数") | |||
public class SysRoleListQueryVo implements Serializable { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键") | |||
private Long id; | |||
@ApiModelProperty(value = "角色名称") | |||
private String name; | |||
@ApiModelProperty(value = "角色唯一编码") | |||
private String code; | |||
@ApiModelProperty(value = "备注") | |||
private String remark; | |||
@ApiModelProperty(value = "创建时间") | |||
private Date createTime; | |||
} |
@@ -0,0 +1,87 @@ | |||
/* | |||
* Copyright 2019-2029 geekidea(https://github.com/geekidea) | |||
* | |||
* Licensed under the Apache License, Version 2.0 (the "License"); | |||
* you may not use this file except in compliance with the License. | |||
* You may obtain a copy of the License at | |||
* | |||
* http://www.apache.org/licenses/LICENSE-2.0 | |||
* | |||
* Unless required by applicable law or agreed to in writing, software | |||
* distributed under the License is distributed on an "AS IS" BASIS, | |||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package com.xdf.creative.base.vo.creative; | |||
import com.baomidou.mybatisplus.annotation.TableField; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.experimental.Accessors; | |||
import java.io.Serializable; | |||
import java.util.Date; | |||
import java.util.Set; | |||
/** | |||
* <pre> | |||
* 系统用户 查询结果对象 | |||
* </pre> | |||
* | |||
* @author DeanYe | |||
* @date 2019-10-24 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@ApiModel(value = "SysUserQueryVo对象", description = "系统用户查询参数") | |||
public class SysUserBackQueryVo implements Serializable { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键") | |||
private Long id; | |||
@ApiModelProperty(value = "用户名") | |||
private String username; | |||
@ApiModelProperty(value = "昵称") | |||
private String nickname; | |||
@ApiModelProperty(value = "手机号码") | |||
private String phone; | |||
@ApiModelProperty(value = "邮箱") | |||
private String email; | |||
@ApiModelProperty(value = "状态,0:禁用,1:启用,2:锁定") | |||
private Integer state; | |||
@ApiModelProperty(value = "性别,0:女,1:男,默认1") | |||
private Integer gender; | |||
@ApiModelProperty(value = "头像") | |||
private String head; | |||
@ApiModelProperty(value = "创建者id") | |||
private Long createUserId; | |||
@ApiModelProperty(value = "逻辑删除,0:未删除,1:已删除") | |||
private Integer deleted; | |||
@ApiModelProperty(value = "remark") | |||
private String remark; | |||
@ApiModelProperty(value = "创建时间") | |||
private Date createTime; | |||
@ApiModelProperty(value = "修改时间") | |||
private Date updateTime; | |||
@ApiModelProperty(value = "角色名") | |||
private String roleName; | |||
private Long roleId; | |||
} |
@@ -0,0 +1,67 @@ | |||
/* | |||
* Copyright 2019-2029 geekidea(https://github.com/geekidea) | |||
* | |||
* Licensed under the Apache License, Version 2.0 (the "License"); | |||
* you may not use this file except in compliance with the License. | |||
* You may obtain a copy of the License at | |||
* | |||
* http://www.apache.org/licenses/LICENSE-2.0 | |||
* | |||
* Unless required by applicable law or agreed to in writing, software | |||
* distributed under the License is distributed on an "AS IS" BASIS, | |||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package com.xdf.creative.base.vo.creative; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.experimental.Accessors; | |||
import java.io.Serializable; | |||
import java.util.Date; | |||
/** | |||
* <pre> | |||
* 系统用户 查询结果对象 | |||
* </pre> | |||
* | |||
* @author DeanYe | |||
* @date 2019-10-24 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@ApiModel(value = "SysUserQueryVo对象", description = "系统用户查询参数") | |||
public class SysUserInfoQueryVo implements Serializable { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键") | |||
private Long id; | |||
@ApiModelProperty(value = "用户名") | |||
private String username; | |||
@ApiModelProperty(value = "昵称") | |||
private String nickname; | |||
@ApiModelProperty(value = "手机号码") | |||
private String phone; | |||
@ApiModelProperty(value = "邮箱") | |||
private String email; | |||
@ApiModelProperty(value = "性别,0:女,1:男,默认1") | |||
private Integer gender; | |||
@ApiModelProperty(value = "头像") | |||
private String head; | |||
@ApiModelProperty(value = "remark") | |||
private String remark; | |||
} |
@@ -0,0 +1,34 @@ | |||
package com.xdf.creative.config; | |||
/** | |||
* @author : lgw | |||
* @date : 9:59 2020/3/16 | |||
*/ | |||
import com.xdf.creative.config.xss.XssHttpServletRequestWrapper; | |||
import org.springframework.stereotype.Component; | |||
import javax.servlet.*; | |||
import javax.servlet.http.HttpServletRequest; | |||
import javax.servlet.http.HttpServletResponse; | |||
import java.io.IOException; | |||
/*避免传参跨域*/ | |||
@Component | |||
public class CorsFilter implements Filter { | |||
@Override | |||
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { | |||
HttpServletResponse httpResponse = (HttpServletResponse) response; | |||
HttpServletRequest httpRequest = (HttpServletRequest) request; | |||
httpResponse.setHeader("Access-Control-Allow-Origin", httpRequest.getHeader("Origin")); | |||
httpResponse.setHeader("Access-Control-Allow-Methods", httpRequest.getMethod()); | |||
httpResponse.setHeader("Access-Control-Max-Age", "3600"); | |||
httpResponse.setHeader("Access-Control-Allow-Headers", httpRequest.getHeader("Access-Control-Request-Headers")); | |||
XssHttpServletRequestWrapper xssRequest = new XssHttpServletRequestWrapper( | |||
(HttpServletRequest) request); | |||
chain.doFilter(xssRequest, response); | |||
} | |||
@Override | |||
public void destroy() { | |||
} | |||
} |
@@ -0,0 +1,34 @@ | |||
package com.xdf.creative.config; | |||
import com.alibaba.fastjson.JSON; | |||
import lombok.extern.slf4j.Slf4j; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.beans.factory.annotation.Value; | |||
import org.springframework.context.annotation.Configuration; | |||
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; | |||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; | |||
/** | |||
* WebMvc配置 | |||
* | |||
* @author DeanYe | |||
* @date 2018-11-08 | |||
*/ | |||
@Slf4j | |||
@Configuration | |||
public class SpringBootPlusWebMvcConfig implements WebMvcConfigurer { | |||
@Value("${upload_basePath}") | |||
private String basePath; | |||
@Override | |||
public void addResourceHandlers(ResourceHandlerRegistry registry) { | |||
//路径前面要使用file协议,本地路径使用/分隔 | |||
registry.addResourceHandler("/resource/**").addResourceLocations("file:" + basePath); | |||
} | |||
} |
@@ -0,0 +1,530 @@ | |||
package com.xdf.creative.config.xss; | |||
import java.util.*; | |||
import java.util.concurrent.ConcurrentHashMap; | |||
import java.util.concurrent.ConcurrentMap; | |||
import java.util.logging.Logger; | |||
import java.util.regex.Matcher; | |||
import java.util.regex.Pattern; | |||
/** | |||
* | |||
* HTML filtering utility for protecting against XSS (Cross Site Scripting). | |||
* | |||
* This code is licensed LGPLv3 | |||
* | |||
* This code is a Java port of the original work in PHP by Cal Hendersen. | |||
* http://code.iamcal.com/php/lib_filter/ | |||
* | |||
* The trickiest part of the translation was handling the differences in regex handling | |||
* between PHP and Java. These resources were helpful in the process: | |||
* | |||
* http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html | |||
* http://us2.php.net/manual/en/reference.pcre.pattern.modifiers.php | |||
* http://www.regular-expressions.info/modifiers.html | |||
* | |||
* A note on naming conventions: instance variables are prefixed with a "v"; global | |||
* constant are in all caps. | |||
* | |||
* Sample use: | |||
* String input = ... | |||
* String clean = new HTMLFilter().filter( input ); | |||
* | |||
* The class is not thread safe. Create a new instance if in doubt. | |||
* | |||
* If you find bugs or have suggestions on improvement (especially regarding | |||
* performance), please contact us. The latest version of this | |||
* source, and our contact details, can be found at http://xss-html-filter.sf.net | |||
* | |||
* @author Joseph O'Connell | |||
* @author Cal Hendersen | |||
* @author Michael Semb Wever | |||
*/ | |||
public final class HTMLFilter { | |||
/** regex flag union representing /si modifiers in php **/ | |||
private static final int REGEX_FLAGS_SI = Pattern.CASE_INSENSITIVE | Pattern.DOTALL; | |||
private static final Pattern P_COMMENTS = Pattern.compile("<!--(.*?)-->", Pattern.DOTALL); | |||
private static final Pattern P_COMMENT = Pattern.compile("^!--(.*)--$", REGEX_FLAGS_SI); | |||
private static final Pattern P_TAGS = Pattern.compile("<(.*?)>", Pattern.DOTALL); | |||
private static final Pattern P_END_TAG = Pattern.compile("^/([a-z0-9]+)", REGEX_FLAGS_SI); | |||
private static final Pattern P_START_TAG = Pattern.compile("^([a-z0-9]+)(.*?)(/?)$", REGEX_FLAGS_SI); | |||
private static final Pattern P_QUOTED_ATTRIBUTES = Pattern.compile("([a-z0-9]+)=([\"'])(.*?)\\2", REGEX_FLAGS_SI); | |||
private static final Pattern P_UNQUOTED_ATTRIBUTES = Pattern.compile("([a-z0-9]+)(=)([^\"\\s']+)", REGEX_FLAGS_SI); | |||
private static final Pattern P_PROTOCOL = Pattern.compile("^([^:]+):", REGEX_FLAGS_SI); | |||
private static final Pattern P_ENTITY = Pattern.compile("&#(\\d+);?"); | |||
private static final Pattern P_ENTITY_UNICODE = Pattern.compile("&#x([0-9a-f]+);?"); | |||
private static final Pattern P_ENCODE = Pattern.compile("%([0-9a-f]{2});?"); | |||
private static final Pattern P_VALID_ENTITIES = Pattern.compile("&([^&;]*)(?=(;|&|$))"); | |||
private static final Pattern P_VALID_QUOTES = Pattern.compile("(>|^)([^<]+?)(<|$)", Pattern.DOTALL); | |||
private static final Pattern P_END_ARROW = Pattern.compile("^>"); | |||
private static final Pattern P_BODY_TO_END = Pattern.compile("<([^>]*?)(?=<|$)"); | |||
private static final Pattern P_XML_CONTENT = Pattern.compile("(^|>)([^<]*?)(?=>)"); | |||
private static final Pattern P_STRAY_LEFT_ARROW = Pattern.compile("<([^>]*?)(?=<|$)"); | |||
private static final Pattern P_STRAY_RIGHT_ARROW = Pattern.compile("(^|>)([^<]*?)(?=>)"); | |||
private static final Pattern P_AMP = Pattern.compile("&"); | |||
private static final Pattern P_QUOTE = Pattern.compile("<"); | |||
private static final Pattern P_LEFT_ARROW = Pattern.compile("<"); | |||
private static final Pattern P_RIGHT_ARROW = Pattern.compile(">"); | |||
private static final Pattern P_BOTH_ARROWS = Pattern.compile("<>"); | |||
// @xxx could grow large... maybe use sesat's ReferenceMap | |||
private static final ConcurrentMap<String,Pattern> P_REMOVE_PAIR_BLANKS = new ConcurrentHashMap<String, Pattern>(); | |||
private static final ConcurrentMap<String,Pattern> P_REMOVE_SELF_BLANKS = new ConcurrentHashMap<String, Pattern>(); | |||
/** set of allowed html elements, along with allowed attributes for each element **/ | |||
private final Map<String, List<String>> vAllowed; | |||
/** counts of open tags for each (allowable) html element **/ | |||
private final Map<String, Integer> vTagCounts = new HashMap<String, Integer>(); | |||
/** html elements which must always be self-closing (e.g. "<img />") **/ | |||
private final String[] vSelfClosingTags; | |||
/** html elements which must always have separate opening and closing tags (e.g. "<b></b>") **/ | |||
private final String[] vNeedClosingTags; | |||
/** set of disallowed html elements **/ | |||
private final String[] vDisallowed; | |||
/** attributes which should be checked for valid protocols **/ | |||
private final String[] vProtocolAtts; | |||
/** allowed protocols **/ | |||
private final String[] vAllowedProtocols; | |||
/** tags which should be removed if they contain no content (e.g. "<b></b>" or "<b />") **/ | |||
private final String[] vRemoveBlanks; | |||
/** entities allowed within html markup **/ | |||
private final String[] vAllowedEntities; | |||
/** flag determining whether comments are allowed in input String. */ | |||
private final boolean stripComment; | |||
private final boolean encodeQuotes; | |||
private boolean vDebug = false; | |||
/** | |||
* flag determining whether to try to make tags when presented with "unbalanced" | |||
* angle brackets (e.g. "<b text </b>" becomes "<b> text </b>"). If set to false, | |||
* unbalanced angle brackets will be html escaped. | |||
*/ | |||
private final boolean alwaysMakeTags; | |||
/** Default constructor. | |||
* | |||
*/ | |||
public HTMLFilter() { | |||
vAllowed = new HashMap<>(); | |||
final ArrayList<String> a_atts = new ArrayList<String>(); | |||
a_atts.add("href"); | |||
a_atts.add("target"); | |||
vAllowed.put("a", a_atts); | |||
final ArrayList<String> img_atts = new ArrayList<String>(); | |||
img_atts.add("src"); | |||
img_atts.add("width"); | |||
img_atts.add("height"); | |||
img_atts.add("alt"); | |||
vAllowed.put("img", img_atts); | |||
final ArrayList<String> no_atts = new ArrayList<String>(); | |||
vAllowed.put("b", no_atts); | |||
vAllowed.put("strong", no_atts); | |||
vAllowed.put("i", no_atts); | |||
vAllowed.put("em", no_atts); | |||
vSelfClosingTags = new String[]{"img"}; | |||
vNeedClosingTags = new String[]{"a", "b", "strong", "i", "em"}; | |||
vDisallowed = new String[]{}; | |||
vAllowedProtocols = new String[]{"http", "mailto", "https"}; // no ftp. | |||
vProtocolAtts = new String[]{"src", "href"}; | |||
vRemoveBlanks = new String[]{"a", "b", "strong", "i", "em"}; | |||
vAllowedEntities = new String[]{"amp", "gt", "lt", "quot"}; | |||
stripComment = true; | |||
encodeQuotes = true; | |||
alwaysMakeTags = true; | |||
} | |||
/** Set debug flag to true. Otherwise use default settings. See the default constructor. | |||
* | |||
* @param debug turn debug on with a true argument | |||
*/ | |||
public HTMLFilter(final boolean debug) { | |||
this(); | |||
vDebug = debug; | |||
} | |||
/** Map-parameter configurable constructor. | |||
* | |||
* @param conf map containing configuration. keys match field names. | |||
*/ | |||
public HTMLFilter(final Map<String,Object> conf) { | |||
assert conf.containsKey("vAllowed") : "configuration requires vAllowed"; | |||
assert conf.containsKey("vSelfClosingTags") : "configuration requires vSelfClosingTags"; | |||
assert conf.containsKey("vNeedClosingTags") : "configuration requires vNeedClosingTags"; | |||
assert conf.containsKey("vDisallowed") : "configuration requires vDisallowed"; | |||
assert conf.containsKey("vAllowedProtocols") : "configuration requires vAllowedProtocols"; | |||
assert conf.containsKey("vProtocolAtts") : "configuration requires vProtocolAtts"; | |||
assert conf.containsKey("vRemoveBlanks") : "configuration requires vRemoveBlanks"; | |||
assert conf.containsKey("vAllowedEntities") : "configuration requires vAllowedEntities"; | |||
vAllowed = Collections.unmodifiableMap((HashMap<String, List<String>>) conf.get("vAllowed")); | |||
vSelfClosingTags = (String[]) conf.get("vSelfClosingTags"); | |||
vNeedClosingTags = (String[]) conf.get("vNeedClosingTags"); | |||
vDisallowed = (String[]) conf.get("vDisallowed"); | |||
vAllowedProtocols = (String[]) conf.get("vAllowedProtocols"); | |||
vProtocolAtts = (String[]) conf.get("vProtocolAtts"); | |||
vRemoveBlanks = (String[]) conf.get("vRemoveBlanks"); | |||
vAllowedEntities = (String[]) conf.get("vAllowedEntities"); | |||
stripComment = conf.containsKey("stripComment") ? (Boolean) conf.get("stripComment") : true; | |||
encodeQuotes = conf.containsKey("encodeQuotes") ? (Boolean) conf.get("encodeQuotes") : true; | |||
alwaysMakeTags = conf.containsKey("alwaysMakeTags") ? (Boolean) conf.get("alwaysMakeTags") : true; | |||
} | |||
private void reset() { | |||
vTagCounts.clear(); | |||
} | |||
private void debug(final String msg) { | |||
if (vDebug) { | |||
Logger.getAnonymousLogger().info(msg); | |||
} | |||
} | |||
//--------------------------------------------------------------- | |||
// my versions of some PHP library functions | |||
public static String chr(final int decimal) { | |||
return String.valueOf((char) decimal); | |||
} | |||
public static String htmlSpecialChars(final String s) { | |||
String result = s; | |||
result = regexReplace(P_AMP, "&", result); | |||
result = regexReplace(P_QUOTE, """, result); | |||
result = regexReplace(P_LEFT_ARROW, "<", result); | |||
result = regexReplace(P_RIGHT_ARROW, ">", result); | |||
return result; | |||
} | |||
//--------------------------------------------------------------- | |||
/** | |||
* given a user submitted input String, filter out any invalid or restricted | |||
* html. | |||
* | |||
* @param input text (i.e. submitted by a user) than may contain html | |||
* @return "clean" version of input, with only valid, whitelisted html elements allowed | |||
*/ | |||
public String filter(final String input) { | |||
reset(); | |||
String s = input; | |||
debug("************************************************"); | |||
debug(" INPUT: " + input); | |||
s = escapeComments(s); | |||
debug(" escapeComments: " + s); | |||
s = balanceHTML(s); | |||
debug(" balanceHTML: " + s); | |||
s = checkTags(s); | |||
debug(" checkTags: " + s); | |||
s = processRemoveBlanks(s); | |||
debug("processRemoveBlanks: " + s); | |||
s = validateEntities(s); | |||
debug(" validateEntites: " + s); | |||
debug("************************************************\n\n"); | |||
return s; | |||
} | |||
public boolean isAlwaysMakeTags(){ | |||
return alwaysMakeTags; | |||
} | |||
public boolean isStripComments(){ | |||
return stripComment; | |||
} | |||
private String escapeComments(final String s) { | |||
final Matcher m = P_COMMENTS.matcher(s); | |||
final StringBuffer buf = new StringBuffer(); | |||
if (m.find()) { | |||
final String match = m.group(1); //(.*?) | |||
m.appendReplacement(buf, Matcher.quoteReplacement("<!--" + htmlSpecialChars(match) + "-->")); | |||
} | |||
m.appendTail(buf); | |||
return buf.toString(); | |||
} | |||
private String balanceHTML(String s) { | |||
if (alwaysMakeTags) { | |||
// | |||
// try and form html | |||
// | |||
s = regexReplace(P_END_ARROW, "", s); | |||
s = regexReplace(P_BODY_TO_END, "<$1>", s); | |||
s = regexReplace(P_XML_CONTENT, "$1<$2", s); | |||
} else { | |||
// | |||
// escape stray brackets | |||
// | |||
s = regexReplace(P_STRAY_LEFT_ARROW, "<$1", s); | |||
s = regexReplace(P_STRAY_RIGHT_ARROW, "$1$2><", s); | |||
// | |||
// the last regexp causes '<>' entities to appear | |||
// (we need to do a lookahead assertion so that the last bracket can | |||
// be used in the next pass of the regexp) | |||
// | |||
s = regexReplace(P_BOTH_ARROWS, "", s); | |||
} | |||
return s; | |||
} | |||
private String checkTags(String s) { | |||
Matcher m = P_TAGS.matcher(s); | |||
final StringBuffer buf = new StringBuffer(); | |||
while (m.find()) { | |||
String replaceStr = m.group(1); | |||
replaceStr = processTag(replaceStr); | |||
m.appendReplacement(buf, Matcher.quoteReplacement(replaceStr)); | |||
} | |||
m.appendTail(buf); | |||
s = buf.toString(); | |||
// these get tallied in processTag | |||
// (remember to reset before subsequent calls to filter method) | |||
for (String key : vTagCounts.keySet()) { | |||
for (int ii = 0; ii < vTagCounts.get(key); ii++) { | |||
s += "</" + key + ">"; | |||
} | |||
} | |||
return s; | |||
} | |||
private String processRemoveBlanks(final String s) { | |||
String result = s; | |||
for (String tag : vRemoveBlanks) { | |||
if(!P_REMOVE_PAIR_BLANKS.containsKey(tag)){ | |||
P_REMOVE_PAIR_BLANKS.putIfAbsent(tag, Pattern.compile("<" + tag + "(\\s[^>]*)?></" + tag + ">")); | |||
} | |||
result = regexReplace(P_REMOVE_PAIR_BLANKS.get(tag), "", result); | |||
if(!P_REMOVE_SELF_BLANKS.containsKey(tag)){ | |||
P_REMOVE_SELF_BLANKS.putIfAbsent(tag, Pattern.compile("<" + tag + "(\\s[^>]*)?/>")); | |||
} | |||
result = regexReplace(P_REMOVE_SELF_BLANKS.get(tag), "", result); | |||
} | |||
return result; | |||
} | |||
private static String regexReplace(final Pattern regex_pattern, final String replacement, final String s) { | |||
Matcher m = regex_pattern.matcher(s); | |||
return m.replaceAll(replacement); | |||
} | |||
private String processTag(final String s) { | |||
// ending tags | |||
Matcher m = P_END_TAG.matcher(s); | |||
if (m.find()) { | |||
final String name = m.group(1).toLowerCase(); | |||
if (allowed(name)) { | |||
if (!inArray(name, vSelfClosingTags)) { | |||
if (vTagCounts.containsKey(name)) { | |||
vTagCounts.put(name, vTagCounts.get(name) - 1); | |||
return "</" + name + ">"; | |||
} | |||
} | |||
} | |||
} | |||
// starting tags | |||
m = P_START_TAG.matcher(s); | |||
if (m.find()) { | |||
final String name = m.group(1).toLowerCase(); | |||
final String body = m.group(2); | |||
String ending = m.group(3); | |||
//debug( "in a starting tag, name='" + name + "'; body='" + body + "'; ending='" + ending + "'" ); | |||
if (allowed(name)) { | |||
String params = ""; | |||
final Matcher m2 = P_QUOTED_ATTRIBUTES.matcher(body); | |||
final Matcher m3 = P_UNQUOTED_ATTRIBUTES.matcher(body); | |||
final List<String> paramNames = new ArrayList<String>(); | |||
final List<String> paramValues = new ArrayList<String>(); | |||
while (m2.find()) { | |||
paramNames.add(m2.group(1)); //([a-z0-9]+) | |||
paramValues.add(m2.group(3)); //(.*?) | |||
} | |||
while (m3.find()) { | |||
paramNames.add(m3.group(1)); //([a-z0-9]+) | |||
paramValues.add(m3.group(3)); //([^\"\\s']+) | |||
} | |||
String paramName, paramValue; | |||
for (int ii = 0; ii < paramNames.size(); ii++) { | |||
paramName = paramNames.get(ii).toLowerCase(); | |||
paramValue = paramValues.get(ii); | |||
// debug( "paramName='" + paramName + "'" ); | |||
// debug( "paramValue='" + paramValue + "'" ); | |||
// debug( "allowed? " + vAllowed.get( name ).contains( paramName ) ); | |||
if (allowedAttribute(name, paramName)) { | |||
if (inArray(paramName, vProtocolAtts)) { | |||
paramValue = processParamProtocol(paramValue); | |||
} | |||
params += " " + paramName + "=\"" + paramValue + "\""; | |||
} | |||
} | |||
if (inArray(name, vSelfClosingTags)) { | |||
ending = " /"; | |||
} | |||
if (inArray(name, vNeedClosingTags)) { | |||
ending = ""; | |||
} | |||
if (ending == null || ending.length() < 1) { | |||
if (vTagCounts.containsKey(name)) { | |||
vTagCounts.put(name, vTagCounts.get(name) + 1); | |||
} else { | |||
vTagCounts.put(name, 1); | |||
} | |||
} else { | |||
ending = " /"; | |||
} | |||
return "<" + name + params + ending + ">"; | |||
} else { | |||
return ""; | |||
} | |||
} | |||
// comments | |||
m = P_COMMENT.matcher(s); | |||
if (!stripComment && m.find()) { | |||
return "<" + m.group() + ">"; | |||
} | |||
return ""; | |||
} | |||
private String processParamProtocol(String s) { | |||
s = decodeEntities(s); | |||
final Matcher m = P_PROTOCOL.matcher(s); | |||
if (m.find()) { | |||
final String protocol = m.group(1); | |||
if (!inArray(protocol, vAllowedProtocols)) { | |||
// bad protocol, turn into local anchor link instead | |||
s = "#" + s.substring(protocol.length() + 1, s.length()); | |||
if (s.startsWith("#//")) { | |||
s = "#" + s.substring(3, s.length()); | |||
} | |||
} | |||
} | |||
return s; | |||
} | |||
private String decodeEntities(String s) { | |||
StringBuffer buf = new StringBuffer(); | |||
Matcher m = P_ENTITY.matcher(s); | |||
while (m.find()) { | |||
final String match = m.group(1); | |||
final int decimal = Integer.decode(match).intValue(); | |||
m.appendReplacement(buf, Matcher.quoteReplacement(chr(decimal))); | |||
} | |||
m.appendTail(buf); | |||
s = buf.toString(); | |||
buf = new StringBuffer(); | |||
m = P_ENTITY_UNICODE.matcher(s); | |||
while (m.find()) { | |||
final String match = m.group(1); | |||
final int decimal = Integer.valueOf(match, 16).intValue(); | |||
m.appendReplacement(buf, Matcher.quoteReplacement(chr(decimal))); | |||
} | |||
m.appendTail(buf); | |||
s = buf.toString(); | |||
buf = new StringBuffer(); | |||
m = P_ENCODE.matcher(s); | |||
while (m.find()) { | |||
final String match = m.group(1); | |||
final int decimal = Integer.valueOf(match, 16).intValue(); | |||
m.appendReplacement(buf, Matcher.quoteReplacement(chr(decimal))); | |||
} | |||
m.appendTail(buf); | |||
s = buf.toString(); | |||
s = validateEntities(s); | |||
return s; | |||
} | |||
private String validateEntities(final String s) { | |||
StringBuffer buf = new StringBuffer(); | |||
// validate entities throughout the string | |||
Matcher m = P_VALID_ENTITIES.matcher(s); | |||
while (m.find()) { | |||
final String one = m.group(1); //([^&;]*) | |||
final String two = m.group(2); //(?=(;|&|$)) | |||
m.appendReplacement(buf, Matcher.quoteReplacement(checkEntity(one, two))); | |||
} | |||
m.appendTail(buf); | |||
return encodeQuotes(buf.toString()); | |||
} | |||
private String encodeQuotes(final String s){ | |||
if(encodeQuotes){ | |||
StringBuffer buf = new StringBuffer(); | |||
Matcher m = P_VALID_QUOTES.matcher(s); | |||
while (m.find()) { | |||
final String one = m.group(1); //(>|^) | |||
final String two = m.group(2); //([^<]+?) | |||
final String three = m.group(3); //(<|$) | |||
m.appendReplacement(buf, Matcher.quoteReplacement(one + regexReplace(P_QUOTE, """, two) + three)); | |||
} | |||
m.appendTail(buf); | |||
return buf.toString(); | |||
}else{ | |||
return s; | |||
} | |||
} | |||
private String checkEntity(final String preamble, final String term) { | |||
return ";".equals(term) && isValidEntity(preamble) | |||
? '&' + preamble | |||
: "&" + preamble; | |||
} | |||
private boolean isValidEntity(final String entity) { | |||
return inArray(entity, vAllowedEntities); | |||
} | |||
private static boolean inArray(final String s, final String[] array) { | |||
for (String item : array) { | |||
if (item != null && item.equals(s)) { | |||
return true; | |||
} | |||
} | |||
return false; | |||
} | |||
private boolean allowed(final String name) { | |||
return (vAllowed.isEmpty() || vAllowed.containsKey(name)) && !inArray(name, vDisallowed); | |||
} | |||
private boolean allowedAttribute(final String name, final String paramName) { | |||
return allowed(name) && (vAllowed.isEmpty() || vAllowed.get(name).contains(paramName)); | |||
} | |||
} |
@@ -0,0 +1,44 @@ | |||
/* | |||
package com.xdf.creative.config.xss; | |||
*/ | |||
/** | |||
* @author : lgw | |||
* @date : 13:28 2020/3/16 | |||
*//* | |||
import org.springframework.stereotype.Component; | |||
import javax.servlet.*; | |||
import javax.servlet.annotation.WebFilter; | |||
import javax.servlet.http.HttpServletRequest; | |||
import java.io.IOException; | |||
*/ | |||
/** * XSS过滤器 * @author Jozz *//* | |||
@WebFilter(filterName="xssFilter",urlPatterns="/*") | |||
public class XssFilter implements Filter { | |||
@Override | |||
public void init(FilterConfig filterConfig) throws ServletException { | |||
} | |||
@Override | |||
public void doFilter(ServletRequest servletRequest, | |||
ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { | |||
HttpServletRequest request = (HttpServletRequest)servletRequest; String path = request.getServletPath(); | |||
//由于我的@WebFilter注解配置的是urlPatterns="/*"(过滤所有请求),所以这里对不需要过滤的静态资源url,作忽略处理(大家可以依照具体需求配置) | |||
String[] exclusionsUrls = {".js",".gif",".jpg",".png",".css",".ico"}; | |||
for (String str : exclusionsUrls) { | |||
if (path.contains(str)) { | |||
filterChain.doFilter(servletRequest,servletResponse); | |||
return; | |||
} | |||
} | |||
XssHttpServletRequestWrapper xssRequest = new XssHttpServletRequestWrapper(request); | |||
filterChain.doFilter(xssRequest,servletResponse); | |||
} | |||
@Override public void destroy() { | |||
} | |||
}*/ |
@@ -0,0 +1,147 @@ | |||
/** | |||
* Copyright (c) 2016-2019 人人开源 All rights reserved. | |||
* | |||
* https://www.renren.io | |||
* | |||
* 版权所有,侵权必究! | |||
*/ | |||
package com.xdf.creative.config.xss; | |||
import org.apache.commons.io.IOUtils; | |||
import org.apache.commons.lang3.StringUtils; | |||
import org.springframework.http.HttpHeaders; | |||
import org.springframework.http.MediaType; | |||
import javax.servlet.ReadListener; | |||
import javax.servlet.ServletInputStream; | |||
import javax.servlet.http.HttpServletRequest; | |||
import javax.servlet.http.HttpServletRequestWrapper; | |||
import java.io.ByteArrayInputStream; | |||
import java.io.IOException; | |||
import java.util.LinkedHashMap; | |||
import java.util.Map; | |||
/** | |||
* XSS过滤处理 | |||
* | |||
* @author Mark sunlightcs@gmail.com | |||
*/ | |||
public class XssHttpServletRequestWrapper extends HttpServletRequestWrapper { | |||
//没被包装过的HttpServletRequest(特殊场景,需要自己过滤) | |||
HttpServletRequest orgRequest; | |||
//html过滤 | |||
private final static HTMLFilter htmlFilter = new HTMLFilter(); | |||
public XssHttpServletRequestWrapper(HttpServletRequest request) { | |||
super(request); | |||
orgRequest = request; | |||
} | |||
@Override | |||
public ServletInputStream getInputStream() throws IOException { | |||
//非json类型,直接返回 | |||
if(!MediaType.APPLICATION_JSON_VALUE.equalsIgnoreCase(super.getHeader(HttpHeaders.CONTENT_TYPE))){ | |||
return super.getInputStream(); | |||
} | |||
//为空,直接返回 | |||
String json = IOUtils.toString(super.getInputStream(), "utf-8"); | |||
if (StringUtils.isBlank(json)) { | |||
return super.getInputStream(); | |||
} | |||
//xss过滤 | |||
json = xssEncode(json); | |||
final ByteArrayInputStream bis = new ByteArrayInputStream(json.getBytes("utf-8")); | |||
return new ServletInputStream() { | |||
@Override | |||
public boolean isFinished() { | |||
return true; | |||
} | |||
@Override | |||
public boolean isReady() { | |||
return true; | |||
} | |||
@Override | |||
public void setReadListener(ReadListener readListener) { | |||
} | |||
@Override | |||
public int read() throws IOException { | |||
return bis.read(); | |||
} | |||
}; | |||
} | |||
@Override | |||
public String getParameter(String name) { | |||
String value = super.getParameter(xssEncode(name)); | |||
if (StringUtils.isNotBlank(value)) { | |||
value = xssEncode(value); | |||
} | |||
return value; | |||
} | |||
@Override | |||
public String[] getParameterValues(String name) { | |||
String[] parameters = super.getParameterValues(name); | |||
if (parameters == null || parameters.length == 0) { | |||
return null; | |||
} | |||
for (int i = 0; i < parameters.length; i++) { | |||
parameters[i] = xssEncode(parameters[i]); | |||
} | |||
return parameters; | |||
} | |||
@Override | |||
public Map<String,String[]> getParameterMap() { | |||
Map<String,String[]> map = new LinkedHashMap<>(); | |||
Map<String,String[]> parameters = super.getParameterMap(); | |||
for (String key : parameters.keySet()) { | |||
String[] values = parameters.get(key); | |||
for (int i = 0; i < values.length; i++) { | |||
values[i] = xssEncode(values[i]); | |||
} | |||
map.put(key, values); | |||
} | |||
return map; | |||
} | |||
@Override | |||
public String getHeader(String name) { | |||
String value = super.getHeader(xssEncode(name)); | |||
if (StringUtils.isNotBlank(value)) { | |||
value = xssEncode(value); | |||
} | |||
return value; | |||
} | |||
private String xssEncode(String input) { | |||
return htmlFilter.filter(input); | |||
} | |||
/** | |||
* 获取最原始的request | |||
*/ | |||
public HttpServletRequest getOrgRequest() { | |||
return orgRequest; | |||
} | |||
/** | |||
* 获取最原始的request | |||
*/ | |||
public static HttpServletRequest getOrgRequest(HttpServletRequest request) { | |||
if (request instanceof XssHttpServletRequestWrapper) { | |||
return ((XssHttpServletRequestWrapper) request).getOrgRequest(); | |||
} | |||
return request; | |||
} | |||
} |
@@ -21,12 +21,14 @@ public enum ApiCode { | |||
NOT_FOUND(4404, "你请求的资源不存在"), | |||
USERNAME_ERROR(4405, "用户名不正确"), | |||
USERNAME_ERROR(4405, "用户名、密码不正确"), | |||
PASSWORD_ERROR(4406, "密码不正确"), | |||
USER_DISABLE(4407, "用户不可用"), | |||
USER_EXIST(4411, "用户不不存在"), | |||
VERIFICATION_CODE_ERROR(4408, "验证码不正确"), | |||
TOKEN_INVALID(4409, "无效令牌"), |
@@ -0,0 +1,27 @@ | |||
package com.xdf.creative.enums; | |||
import com.fasterxml.jackson.annotation.JsonFormat; | |||
import lombok.AllArgsConstructor; | |||
import lombok.Getter; | |||
@Getter | |||
@AllArgsConstructor | |||
@JsonFormat(shape = JsonFormat.Shape.OBJECT) | |||
/** | |||
* 审核状态 1 、审核 2、审核不通过 3、审核退回 | |||
*/ | |||
public enum InfoAuditTypeEnum { | |||
INFO_STATE_TYPE_AUDIT_PASS(1, "审核通过"), | |||
INFO_STATE_TYPE_AUDIT_NOPASS(2, "审核不通过"), | |||
INFO_STATE_TYPE_AUDIT_BACK(3, "审核退回"); | |||
private Integer code; | |||
private String name; | |||
public static String getNameByCode(Integer code) { | |||
for (InfoAuditTypeEnum organizeTypeEnum : InfoAuditTypeEnum.values()) { | |||
if (organizeTypeEnum.code == code) { | |||
return organizeTypeEnum.name; | |||
} | |||
} | |||
return null; | |||
} | |||
} |
@@ -0,0 +1,26 @@ | |||
package com.xdf.creative.enums; | |||
import com.fasterxml.jackson.annotation.JsonFormat; | |||
import lombok.AllArgsConstructor; | |||
import lombok.Getter; | |||
@Getter | |||
@AllArgsConstructor | |||
@JsonFormat(shape = JsonFormat.Shape.OBJECT) | |||
/** | |||
* 退回类型 1、初审退回 2、终审退回 | |||
*/ | |||
public enum InfoBackTypeEnum { | |||
INFO_STATE_TYPE_AUDIT_BACK_FIRST(1, "初审退回"), | |||
INFO_STATE_TYPE_AUDIT_BACK_FINAL(2, "终审退回"); | |||
private Integer code; | |||
private String name; | |||
public static String getNameByCode(Integer code) { | |||
for (InfoBackTypeEnum organizeTypeEnum : InfoBackTypeEnum.values()) { | |||
if (organizeTypeEnum.code == code) { | |||
return organizeTypeEnum.name; | |||
} | |||
} | |||
return null; | |||
} | |||
} |
@@ -0,0 +1,29 @@ | |||
package com.xdf.creative.enums; | |||
import com.fasterxml.jackson.annotation.JsonFormat; | |||
import lombok.AllArgsConstructor; | |||
import lombok.Getter; | |||
@Getter | |||
@AllArgsConstructor | |||
@JsonFormat(shape = JsonFormat.Shape.OBJECT) | |||
public enum InfoOnlineStateEnum { | |||
/** | |||
* 上线类型 1、上线 2、下线 | |||
*/ | |||
PUBLIC_INFO_STATE_DRAFT(0, "草稿"), | |||
PUBLIC_INFO_STATE_ONLINE(1, "上线"), | |||
PUBLIC_INFO_STATE_OFFLINE(2, "下线"), | |||
; | |||
private Integer code; | |||
private String name; | |||
public static String getNameByCode(Integer code) { | |||
for (InfoOnlineStateEnum sysSignState : InfoOnlineStateEnum.values()) { | |||
if (sysSignState.code == code) { | |||
return sysSignState.name; | |||
} | |||
} | |||
return null; | |||
} | |||
} |
@@ -0,0 +1,31 @@ | |||
package com.xdf.creative.enums; | |||
import com.fasterxml.jackson.annotation.JsonFormat; | |||
import lombok.AllArgsConstructor; | |||
import lombok.Getter; | |||
@Getter | |||
@AllArgsConstructor | |||
@JsonFormat(shape = JsonFormat.Shape.OBJECT) | |||
public enum InfoPublicPropertyTypeEnum { | |||
/** | |||
* 信息分类 :1、banner新闻 2、公告列表 3、文促会动态 4、行业动态 5、政策动态 6、文化活动 | |||
*/ | |||
PUBLIC_PROPERTY_TYPE_BANNER_NEWS(1, "TP"), | |||
PUBLIC_PROPERTY_TYPE_NOTICE(2, "GG"), | |||
PUBLIC_PROPERTY_TYPE_PROMOTE_NEWS(3, "XW"), | |||
PUBLIC_PROPERTY_TYPE_DLL(4, "HY"), | |||
PUBLIC_PROPERTY_TYPE_SUPPORT(5, "FC"), | |||
PUBLIC_PROPERTY_TYPE_REPORT(6, "AC"); | |||
private Integer code; | |||
private String name; | |||
public static String getNameByCode(Integer code) { | |||
for (InfoPublicPropertyTypeEnum sysSignState : InfoPublicPropertyTypeEnum.values()) { | |||
if (sysSignState.code == code) { | |||
return sysSignState.name; | |||
} | |||
} | |||
return null; | |||
} | |||
} |
@@ -0,0 +1,33 @@ | |||
package com.xdf.creative.enums; | |||
import com.fasterxml.jackson.annotation.JsonFormat; | |||
import lombok.AllArgsConstructor; | |||
import lombok.Getter; | |||
@Getter | |||
@AllArgsConstructor | |||
@JsonFormat(shape = JsonFormat.Shape.OBJECT) | |||
/** | |||
* 内容状态 0 、草稿 1、待初审 2、待终审 3 终审通过 4、初审退回 5、终审退回 6 初审不通过 7终审不通过 | |||
*/ | |||
public enum InfoStateTypeEnum { | |||
INFO_STATE_TYPE_DRAFT(0, "草稿"), | |||
INFO_STATE_TYPE_FIRST_AUDIT(1, "待初审"), | |||
INFO_STATE_TYPE_FINAL_AUDIT_STAY(2, "待终审"), | |||
INFO_STATE_TYPE_FINAL_AUDIT_PASS(3, "终审通过"), | |||
INFO_STATE_TYPE_FIRST_AUDIT_BACK(4, "初审退回"), | |||
INFO_STATE_TYPE_FINAL_AUDIT_BACK(5, "终审退回"), | |||
INFO_STATE_TYPE_FIRST_AUDIT_NOPASS(6, "初审不通过"), | |||
INFO_STATE_TYPE_FINAL_AUDIT_NOPASS(7, "终审不通过"); | |||
private Integer code; | |||
private String name; | |||
public static String getNameByCode(Integer code) { | |||
for (InfoStateTypeEnum organizeTypeEnum : InfoStateTypeEnum.values()) { | |||
if (organizeTypeEnum.code == code) { | |||
return organizeTypeEnum.name; | |||
} | |||
} | |||
return null; | |||
} | |||
} |
@@ -0,0 +1,26 @@ | |||
package com.xdf.creative.enums; | |||
import com.fasterxml.jackson.annotation.JsonFormat; | |||
import lombok.AllArgsConstructor; | |||
import lombok.Getter; | |||
@Getter | |||
@AllArgsConstructor | |||
@JsonFormat(shape = JsonFormat.Shape.OBJECT) | |||
/** | |||
* 类型 1登录成功 2登录失败 | |||
*/ | |||
public enum LogTypeEnum { | |||
LOG_TYPE_SUCCESS(1, "登录成功"), | |||
LOG_TYPE_FAIL(2, "登录失败"); | |||
private Integer code; | |||
private String name; | |||
public static String getNameByCode(Integer code) { | |||
for (LogTypeEnum organizeTypeEnum : LogTypeEnum.values()) { | |||
if (organizeTypeEnum.code == code) { | |||
return organizeTypeEnum.name; | |||
} | |||
} | |||
return null; | |||
} | |||
} |
@@ -0,0 +1,32 @@ | |||
package com.xdf.creative.enums; | |||
import com.fasterxml.jackson.annotation.JsonFormat; | |||
import lombok.AllArgsConstructor; | |||
import lombok.Getter; | |||
@Getter | |||
@AllArgsConstructor | |||
@JsonFormat(shape = JsonFormat.Shape.OBJECT) | |||
/** | |||
* 组织类型: 0 普通用户 1、园区用户 2 区文创办 3市文创办 8后台管理 | |||
*/ | |||
public enum OrganizeTypeEnum { | |||
ORGANIZE_ORDINARY(0, "普通用户"), | |||
ORGANIZE_PARK(1, "园区用户"), | |||
ORGANIZE_DISTRICT(2, "区文创办"), | |||
ORGANIZE_CITY(3, "市文创办"), | |||
ORGANIZE_MANAGE(8, "公司"), | |||
; | |||
private Integer code; | |||
private String name; | |||
public static String getNameByCode(Integer code) { | |||
for (OrganizeTypeEnum organizeTypeEnum : OrganizeTypeEnum.values()) { | |||
if (organizeTypeEnum.code == code) { | |||
return organizeTypeEnum.name; | |||
} | |||
} | |||
return null; | |||
} | |||
} |
@@ -0,0 +1,35 @@ | |||
package com.xdf.creative.enums; | |||
import com.fasterxml.jackson.annotation.JsonFormat; | |||
import lombok.AllArgsConstructor; | |||
import lombok.Getter; | |||
@Getter | |||
@AllArgsConstructor | |||
@JsonFormat(shape = JsonFormat.Shape.OBJECT) | |||
public enum ServiceFileDirEnum { | |||
//0 banner 1 动态新闻 2活动 3专项资金 4政策导航 5 其他 | |||
SERVICE_FILE_DIR_PUBLIC_BANNER(0, "banner"), | |||
//信息发布文件 | |||
SERVICE_FILE_DIR_PUBLIC_DYNAMIC(1, "dynamic"), | |||
//活动发布图片 | |||
SERVICE_FILE_DIR_PUBLIC_ACTIVITY(2, "activity"), | |||
//专项资金 | |||
SERVICE_FILE_DIR_SUPPORT(3, "support"), | |||
//政策导航 | |||
SERVICE_FILE_DIR_POLICY(4, "policy "), | |||
//其他 | |||
SERVICE_FILE_DIR_OTHER(5, "other"); | |||
private Integer code; | |||
private String name; | |||
public static String getNameByCode(Integer code) { | |||
for (ServiceFileDirEnum boundTypeEnum : ServiceFileDirEnum.values()) { | |||
if (boundTypeEnum.code == code) { | |||
return boundTypeEnum.name; | |||
} | |||
} | |||
return null; | |||
} | |||
} |
@@ -0,0 +1,29 @@ | |||
package com.xdf.creative.enums; | |||
import com.fasterxml.jackson.annotation.JsonFormat; | |||
import lombok.AllArgsConstructor; | |||
import lombok.Getter; | |||
@Getter | |||
@AllArgsConstructor | |||
@JsonFormat(shape = JsonFormat.Shape.OBJECT) | |||
public enum ServiceFileUploadDirEnum { | |||
//1、web服务 2、auth服务 3、admin服务 | |||
//web服务 | |||
SERVICE_FILE_UPLOAD_DIR_WEB(1, "web"), | |||
//auth服务 | |||
SERVICE_FILE_UPLOAD_DIR_AUTH(2, "auth"), | |||
//admin服务 | |||
SERVICE_FILE_UPLOAD_DIR_ADMIN(3, "admin"); | |||
private Integer code; | |||
private String name; | |||
public static String getNameByCode(Integer code) { | |||
for (ServiceFileUploadDirEnum boundTypeEnum : ServiceFileUploadDirEnum.values()) { | |||
if (boundTypeEnum.code == code) { | |||
return boundTypeEnum.name; | |||
} | |||
} | |||
return null; | |||
} | |||
} |
@@ -0,0 +1,27 @@ | |||
package com.xdf.creative.enums; | |||
import com.fasterxml.jackson.annotation.JsonFormat; | |||
import lombok.AllArgsConstructor; | |||
import lombok.Getter; | |||
@Getter | |||
@AllArgsConstructor | |||
@JsonFormat(shape = JsonFormat.Shape.OBJECT) | |||
public enum ServiceFileUploadTypeEnum { | |||
//web服务 | |||
SERVICE_FILE_UPLOAD_TYPE_FILE(1, "file"), | |||
//auth服务 | |||
SERVICE_FILE_UPLOAD_TYPE_PNG(2, "png"), | |||
; | |||
private Integer code; | |||
private String name; | |||
public static String getNameByCode(Integer code) { | |||
for (ServiceFileUploadTypeEnum boundTypeEnum : ServiceFileUploadTypeEnum.values()) { | |||
if (boundTypeEnum.code == code) { | |||
return boundTypeEnum.name; | |||
} | |||
} | |||
return null; | |||
} | |||
} |
@@ -12,15 +12,42 @@ public enum StatusCode { | |||
FORM_SUBMIT_UPDATE_VERIFY(000001, "当前数据不存在或已删除,请刷新后再试!"), | |||
//修改数据未传主键id | |||
FORM_SUBMIT_ID_VERIFY(000002, "未知数据标识,请重新选择!"), | |||
FORM_SUBMIT_DELETE_VERIFY(000007, "数据删除失败!"), | |||
AUTH_UPDATE_VERIFY_ERROR(000003, "存在非法访问,请刷新后再试!"), | |||
FORM_AUDIT_STATE_VERIFY(000004, "只能操作待审核的数据!"), | |||
FORM_AUDIT_BACK_IDEA_VERIFY(000010,"退回意见不能为空!"), | |||
FORM_UPDATE_STATE_VERIFY(000005, "只能操作草稿状态的数据!"), | |||
FORM_AUDIT_FINAL_AUDIT_PASS_VERIFY(000011,"只能操作终审通过的信息!"), | |||
FORM_INFO_CONTENT_SORT_VERIFY(000012,"请输入排序号!"), | |||
FORM_INFO_CONTENT_DELETE_VERIFY(000013,"存在信息非法删除!"), | |||
FORM_AUTH_UPDATE_VERIFY_ERROR(000006, "存在非法更新!"), | |||
SMS_SEND_VERIFICATION_CODE_SUCCESS(20000, "短信发送成功"), | |||
SMS_SEND_VERIFICATION_CODE_FAIL(20001, "短信发送失败"), | |||
SMS_MESSAGE_VERIFICATION_CODE_VERIFY(20002, "验证码已过期!"), | |||
SMS_MESSAGE_VERIFICATION_CODE_ERROR(20003, "验证码错误!"), | |||
; | |||
WEB_MANAGE_PUBLIC_DETAIL_BODY_NULL(200003001, "正文内容不能为空!"), | |||
SYS_ROLE_EXIST(100001,"角色标识已存在!"), | |||
SYS_USER_ROLE_EXIST(100002,"该角色下还存在可用用户,不能删除!"), | |||
SYS_USER_ROLE_DELETE(100003,"删除角色失败!"), | |||
SYS_ROLE_PERMISSION_DELETE(100004,"删除角色权限关系失败!"), | |||
SYS_ROLE_EXIST_NO(100005,"该角色不存在!"), | |||
SYS_ROLE_PERMISSION_EXIST(100006,"未发现有效得URL!"), | |||
SYS_USER_NAME_EXIST(101001,"当前用户名已存在!"), | |||
SYS_USER_ROLE_VERIFY_EXIST(101002,"用户所选角色不存在!"), | |||
SYS_USER_HEARD_FAIL(101003,"用户头像修改失败!"), | |||
SYS_USER_PASSWORD_FAIL(101004,"用户密码修改失败!"), | |||
SYS_USER_NAME_STATE_EXIST(101005,"只能删除停用的用户!"), | |||
WEB_FILE_DIR_PATH_NULL(200004001, "文件上传目录不能为空!"), | |||
WEB_FILE_DIR_PATH_TYPE_ILLEGAL(200004002, "文件目录类型非法!"), | |||
WEB_FILE_DIR_PATH_CREATE_ERROR(200004003, "文件目录创建失败!"), | |||
FILE_CL_UPLOAD_FAILED(700102,"文件上传失败,系统未知异常!"), | |||
WEB_FILE_UPLOAD_FAILED(200004004, "系统仅支持后缀为.pdf、.doc、.docx、.xls、.xlsx、.ppt、.pptx、.png、.jpg、.txt文件上传!"); | |||
private int status; |
@@ -0,0 +1,97 @@ | |||
package com.xdf.creative.module.controller; | |||
import com.xdf.creative.enums.ApiCode; | |||
import com.xdf.creative.enums.ServiceFileUploadTypeEnum; | |||
import com.xdf.creative.enums.StatusCode; | |||
import com.xdf.creative.module.entity.FileUploadQuery; | |||
import com.xdf.creative.module.service.FileClientService; | |||
import com.xdf.creative.util.UUIDUtil; | |||
import com.xdf.creative.util.file.ServerUploadDirUtil; | |||
import com.xdf.creative.util.file.UploadUtil; | |||
import com.xdf.creative.util.page.ApiResult; | |||
import io.swagger.annotations.ApiOperation; | |||
import lombok.extern.slf4j.Slf4j; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.beans.factory.annotation.Value; | |||
import org.springframework.web.bind.annotation.*; | |||
import org.springframework.web.multipart.MultipartFile; | |||
@Slf4j | |||
@RestController | |||
@RequestMapping("/upload") | |||
public class FileUploadController { | |||
@Value("${upload_basePath}") | |||
private String basePath; | |||
@Autowired | |||
private FileClientService fileClientService; | |||
/** | |||
* 上传文件 | |||
* | |||
* @param file | |||
* @param uploadPath | |||
* @return | |||
* @throws Exception | |||
*/ | |||
@PostMapping("/doFile") | |||
@ApiOperation(value = "添加MultipartFile对象", notes = "添加文件上传", response = ApiResult.class) | |||
public ApiResult<String> doFile(MultipartFile file, @RequestParam Integer uploadPath) throws Exception { | |||
String finalPath = ServerUploadDirUtil.getFileUploadDir(uploadPath); | |||
ApiResult result = UploadUtil.upload(basePath + "/" + finalPath, file, ServiceFileUploadTypeEnum.SERVICE_FILE_UPLOAD_TYPE_FILE.getCode()); | |||
if (result.getCode() == ApiCode.SUCCESS.getCode()) { | |||
String saveName = result.getData().toString(); | |||
return result.ok(finalPath + "/" + saveName); | |||
} else { | |||
return result; | |||
} | |||
} | |||
/** | |||
* 上传图片文件 | |||
* | |||
* @param file | |||
* @param uploadPath | |||
* @return | |||
* @throws Exception | |||
*/ | |||
@PostMapping("/doPictureFile") | |||
@ApiOperation(value = "添加MultipartFile对象", notes = "添加图片上传", response = ApiResult.class) | |||
public ApiResult<String> doPictureFile(MultipartFile file, @RequestParam Integer uploadPath) throws Exception { | |||
String finalPath = ServerUploadDirUtil.getFileUploadDir(uploadPath); | |||
ApiResult result = UploadUtil.upload(basePath + "/" + finalPath, file, ServiceFileUploadTypeEnum.SERVICE_FILE_UPLOAD_TYPE_PNG.getCode()); | |||
if (result.getCode() == ApiCode.SUCCESS.getCode()) { | |||
String saveName = result.getData().toString(); | |||
return result.ok(finalPath + "/" + saveName); | |||
} else { | |||
return result; | |||
} | |||
} | |||
/** | |||
* 上传二进制文件 | |||
* | |||
* @param fileUploadQuery | |||
* @return | |||
*/ | |||
@RequestMapping(value = "/uploadByDecoder") | |||
public ApiResult uploadFile(@RequestBody FileUploadQuery fileUploadQuery) { | |||
try { | |||
String finalPath = ServerUploadDirUtil.getFileUploadDir(fileUploadQuery.getDirType()); | |||
fileUploadQuery.setUploadPath(finalPath); | |||
return fileClientService.uploadUtilFileByDecoder(fileUploadQuery, basePath); | |||
} catch (Exception e) { | |||
return ApiResult.error(StatusCode.FILE_CL_UPLOAD_FAILED); | |||
} | |||
} | |||
/** | |||
* 获取随机ID | |||
*/ | |||
@PostMapping("/findRandomId") | |||
public ApiResult findRandomId() { | |||
return ApiResult.ok(UUIDUtil.getUUID()); | |||
} | |||
} |
@@ -0,0 +1,90 @@ | |||
package com.xdf.creative.module.controller; | |||
import com.xdf.creative.base.controller.BaseController; | |||
import com.xdf.creative.base.params.IdParam; | |||
import com.xdf.creative.base.params.creative.InfoAttachmentQueryParam; | |||
import com.xdf.creative.base.vo.creative.InfoAttachmentQueryVo; | |||
import com.xdf.creative.module.entity.InfoAttachment; | |||
import com.xdf.creative.module.service.InfoAttachmentService; | |||
import com.xdf.creative.util.page.ApiResult; | |||
import com.xdf.creative.util.page.PageTool; | |||
import io.swagger.annotations.Api; | |||
import io.swagger.annotations.ApiOperation; | |||
import lombok.extern.slf4j.Slf4j; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.web.bind.annotation.PostMapping; | |||
import org.springframework.web.bind.annotation.RequestBody; | |||
import org.springframework.web.bind.annotation.RequestMapping; | |||
import org.springframework.web.bind.annotation.RestController; | |||
import javax.validation.Valid; | |||
/** | |||
* <p> | |||
* 相关附件表 前端控制器 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @since 2020-03-09 | |||
*/ | |||
@Slf4j | |||
@RestController | |||
@RequestMapping("/infoAttachment") | |||
@Api("相关附件表 API") | |||
public class InfoAttachmentController extends BaseController { | |||
@Autowired | |||
private InfoAttachmentService infoAttachmentService; | |||
/** | |||
* 添加相关附件表 | |||
*/ | |||
@PostMapping("/add") | |||
@ApiOperation(value = "添加InfoAttachment对象", notes = "添加相关附件表", response = ApiResult.class) | |||
public ApiResult<Boolean> addInfoAttachment(@Valid @RequestBody InfoAttachment infoAttachment) throws Exception { | |||
boolean flag = infoAttachmentService.save(infoAttachment); | |||
return ApiResult.result(flag); | |||
} | |||
/** | |||
* 修改相关附件表 | |||
*/ | |||
@PostMapping("/update") | |||
@ApiOperation(value = "修改InfoAttachment对象", notes = "修改相关附件表", response = ApiResult.class) | |||
public ApiResult<Boolean> updateInfoAttachment(@Valid @RequestBody InfoAttachment infoAttachment) throws Exception { | |||
boolean flag = infoAttachmentService.updateById(infoAttachment); | |||
return ApiResult.result(flag); | |||
} | |||
/** | |||
* 删除相关附件表 | |||
*/ | |||
@PostMapping("/delete") | |||
@ApiOperation(value = "删除InfoAttachment对象", notes = "删除相关附件表", response = ApiResult.class) | |||
public ApiResult<Boolean> deleteInfoAttachment(@Valid @RequestBody IdParam idParam) throws Exception { | |||
boolean flag = infoAttachmentService.removeById(idParam.getId()); | |||
return ApiResult.result(flag); | |||
} | |||
/** | |||
* 获取相关附件表 | |||
*/ | |||
@PostMapping("/info") | |||
@ApiOperation(value = "获取InfoAttachment对象详情", notes = "查看相关附件表", response = InfoAttachmentQueryVo.class) | |||
public ApiResult<InfoAttachmentQueryVo> getInfoAttachment(@Valid @RequestBody IdParam idParam) throws Exception { | |||
InfoAttachmentQueryVo infoAttachmentQueryVo = infoAttachmentService.getInfoAttachmentById(idParam.getId()); | |||
return ApiResult.ok(infoAttachmentQueryVo); | |||
} | |||
/** | |||
* 相关附件表分页列表 | |||
*/ | |||
@PostMapping("/getPageList") | |||
@ApiOperation(value = "获取InfoAttachment分页列表", notes = "相关附件表分页列表", response = InfoAttachmentQueryVo.class) | |||
public ApiResult<PageTool<InfoAttachmentQueryVo>> getInfoAttachmentPageList(@Valid @RequestBody InfoAttachmentQueryParam infoAttachmentQueryParam) throws Exception { | |||
PageTool<InfoAttachmentQueryVo> pageList = infoAttachmentService.getInfoAttachmentPageList(infoAttachmentQueryParam); | |||
return ApiResult.ok(pageList); | |||
} | |||
} | |||
@@ -0,0 +1,90 @@ | |||
package com.xdf.creative.module.controller; | |||
import com.xdf.creative.base.controller.BaseController; | |||
import com.xdf.creative.base.params.IdParam; | |||
import com.xdf.creative.base.params.creative.InfoBackQueryParam; | |||
import com.xdf.creative.base.vo.creative.InfoBackQueryVo; | |||
import com.xdf.creative.module.entity.InfoBack; | |||
import com.xdf.creative.module.service.InfoBackService; | |||
import com.xdf.creative.util.page.ApiResult; | |||
import com.xdf.creative.util.page.PageTool; | |||
import io.swagger.annotations.Api; | |||
import io.swagger.annotations.ApiOperation; | |||
import lombok.extern.slf4j.Slf4j; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.web.bind.annotation.PostMapping; | |||
import org.springframework.web.bind.annotation.RequestBody; | |||
import org.springframework.web.bind.annotation.RequestMapping; | |||
import org.springframework.web.bind.annotation.RestController; | |||
import javax.validation.Valid; | |||
/** | |||
* <p> | |||
* 信息退回 前端控制器 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @since 2020-03-09 | |||
*/ | |||
@Slf4j | |||
@RestController | |||
@RequestMapping("/infoBack") | |||
@Api("信息退回 API") | |||
public class InfoBackController extends BaseController { | |||
@Autowired | |||
private InfoBackService infoBackService; | |||
/** | |||
* 添加信息退回 | |||
*/ | |||
@PostMapping("/add") | |||
@ApiOperation(value = "添加InfoBack对象", notes = "添加信息退回", response = ApiResult.class) | |||
public ApiResult<Boolean> addInfoBack(@Valid @RequestBody InfoBack infoBack) throws Exception { | |||
boolean flag = infoBackService.save(infoBack); | |||
return ApiResult.result(flag); | |||
} | |||
/** | |||
* 修改信息退回 | |||
*/ | |||
@PostMapping("/update") | |||
@ApiOperation(value = "修改InfoBack对象", notes = "修改信息退回", response = ApiResult.class) | |||
public ApiResult<Boolean> updateInfoBack(@Valid @RequestBody InfoBack infoBack) throws Exception { | |||
boolean flag = infoBackService.updateById(infoBack); | |||
return ApiResult.result(flag); | |||
} | |||
/** | |||
* 删除信息退回 | |||
*/ | |||
@PostMapping("/delete") | |||
@ApiOperation(value = "删除InfoBack对象", notes = "删除信息退回", response = ApiResult.class) | |||
public ApiResult<Boolean> deleteInfoBack(@Valid @RequestBody IdParam idParam) throws Exception { | |||
boolean flag = infoBackService.removeById(idParam.getId()); | |||
return ApiResult.result(flag); | |||
} | |||
/** | |||
* 获取信息退回 | |||
*/ | |||
@PostMapping("/info") | |||
@ApiOperation(value = "获取InfoBack对象详情", notes = "查看信息退回", response = InfoBackQueryVo.class) | |||
public ApiResult<InfoBackQueryVo> getInfoBack(@Valid @RequestBody IdParam idParam) throws Exception { | |||
InfoBackQueryVo infoBackQueryVo = infoBackService.getInfoBackById(idParam.getId()); | |||
return ApiResult.ok(infoBackQueryVo); | |||
} | |||
/** | |||
* 信息退回分页列表 | |||
*/ | |||
@PostMapping("/getPageList") | |||
@ApiOperation(value = "获取InfoBack分页列表", notes = "信息退回分页列表", response = InfoBackQueryVo.class) | |||
public ApiResult<PageTool<InfoBackQueryVo>> getInfoBackPageList(@Valid @RequestBody InfoBackQueryParam infoBackQueryParam) throws Exception { | |||
PageTool<InfoBackQueryVo> pageList = infoBackService.getInfoBackPageList(infoBackQueryParam); | |||
return ApiResult.ok(pageList); | |||
} | |||
} | |||
@@ -0,0 +1,294 @@ | |||
package com.xdf.creative.module.controller; | |||
import com.xdf.creative.base.controller.BaseController; | |||
import com.xdf.creative.base.params.IdParam; | |||
import com.xdf.creative.base.params.creative.*; | |||
import com.xdf.creative.base.vo.creative.InfoContentBackSearchQueryVo; | |||
import com.xdf.creative.base.vo.creative.InfoContentQueryVo; | |||
import com.xdf.creative.base.vo.creative.InfoContentRecycleSearchQueryVo; | |||
import com.xdf.creative.base.vo.creative.InfoContentWebSearchQueryVo; | |||
import com.xdf.creative.module.entity.InfoContent; | |||
import com.xdf.creative.module.service.InfoContentService; | |||
import com.xdf.creative.support.aop.OperateLogger; | |||
import com.xdf.creative.util.page.ApiResult; | |||
import com.xdf.creative.util.page.PageTool; | |||
import io.swagger.annotations.Api; | |||
import io.swagger.annotations.ApiOperation; | |||
import lombok.extern.slf4j.Slf4j; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.web.bind.annotation.PostMapping; | |||
import org.springframework.web.bind.annotation.RequestBody; | |||
import org.springframework.web.bind.annotation.RequestMapping; | |||
import org.springframework.web.bind.annotation.RestController; | |||
import javax.validation.Valid; | |||
/** | |||
* <p> | |||
* 信息内容 前端控制器 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @since 2020-03-09 | |||
*/ | |||
@Slf4j | |||
@RestController | |||
@RequestMapping("/infoContent") | |||
@Api("信息内容 API") | |||
public class InfoContentController extends BaseController { | |||
@Autowired | |||
private InfoContentService infoContentService; | |||
/** | |||
* 添加信息内容 | |||
*/ | |||
@PostMapping("/addInfoContent") | |||
@ApiOperation(value = "添加InfoContent对象", notes = "添加信息内容", response = ApiResult.class) | |||
@OperateLogger(name = "添加内容", attributeId = "id", attributeName = "title") | |||
public ApiResult addInfoContent(@Valid @RequestBody InfoContentAddQueryParam infoContentAddQueryParam) throws Exception { | |||
return infoContentService.addInfoContent(infoContentAddQueryParam); | |||
} | |||
/** | |||
* 预览 web查看详情 | |||
*/ | |||
@PostMapping("/getWebInfoContent") | |||
@ApiOperation(value = "获取单条InfoContent对象", notes = "获取单条信息内容", response = ApiResult.class) | |||
public ApiResult getWebInfoContent(@Valid @RequestBody IdParam idParam) throws Exception { | |||
return infoContentService.getWebInfoContent(idParam.getId()); | |||
} | |||
/** | |||
* 获取信息内容 | |||
*/ | |||
@PostMapping("/getInfoContent") | |||
@ApiOperation(value = "获取单条InfoContent对象", notes = "获取单条信息内容", response = ApiResult.class) | |||
public ApiResult getInfoContent(@Valid @RequestBody IdParam idParam) throws Exception { | |||
return infoContentService.getInfoContent(idParam.getId()); | |||
} | |||
/** | |||
* 修改信息内容 | |||
* | |||
* @param infoContentAddQueryParam | |||
* @return | |||
* @throws Exception | |||
*/ | |||
@PostMapping("/updateInfoContent") | |||
@ApiOperation(value = "修改InfoContent对象", notes = "修改信息内容", response = ApiResult.class) | |||
@OperateLogger(name = "修改内容", attributeId = "id", attributeName = "title") | |||
public ApiResult updateInfoContent(@Valid @RequestBody InfoContentAddQueryParam infoContentAddQueryParam) throws Exception { | |||
return infoContentService.updateInfoContent(infoContentAddQueryParam); | |||
} | |||
/** | |||
* 管理员初审信息 | |||
* | |||
* @param infoContentAuditQueryParam | |||
* @return | |||
* @throws Exception | |||
*/ | |||
@PostMapping("/firstAuditInfo") | |||
@ApiOperation(value = "初审InfoContent对象", notes = "初审信息内容", response = ApiResult.class) | |||
@OperateLogger(name = "初审内容", attributeId = "id", attributeName = "title") | |||
public ApiResult firstAuditInfo(@Valid @RequestBody InfoContentAuditQueryParam infoContentAuditQueryParam) throws Exception { | |||
return infoContentService.firstAuditInfo(infoContentAuditQueryParam); | |||
} | |||
/** | |||
* 管理员终审信息 | |||
* | |||
* @param infoContentAuditQueryParam | |||
* @return | |||
* @throws Exception | |||
*/ | |||
@PostMapping("/finalAuditInfo") | |||
@ApiOperation(value = "终审InfoContent对象", notes = "终审信息内容", response = ApiResult.class) | |||
@OperateLogger(name = "终审内容", attributeId = "id", attributeName = "title") | |||
public ApiResult finalAuditInfo(@Valid @RequestBody InfoContentAuditQueryParam infoContentAuditQueryParam) throws Exception { | |||
return infoContentService.finalAuditInfo(infoContentAuditQueryParam); | |||
} | |||
/** | |||
* 用户提交信息内容 | |||
* | |||
* @param infoContentAuditQueryParam | |||
* @return | |||
* @throws Exception | |||
*/ | |||
@PostMapping("/commitInfoContent") | |||
@ApiOperation(value = "提交InfoContent对象", notes = "提交信息内容", response = ApiResult.class) | |||
@OperateLogger(name = "提交内容", attributeId = "id", attributeName = "title") | |||
public ApiResult commitInfoContent(@Valid @RequestBody InfoContentAuditQueryParam infoContentAuditQueryParam) throws Exception { | |||
return infoContentService.commitInfoContent(infoContentAuditQueryParam); | |||
} | |||
/** | |||
* 上下线信息内容 | |||
* | |||
* @param infoContentAuditQueryParam | |||
* @return | |||
* @throws Exception | |||
*/ | |||
@PostMapping("/onlineInfoContent") | |||
@ApiOperation(value = "上下线InfoContent对象", notes = "上下线信息内容", response = ApiResult.class) | |||
@OperateLogger(name = "上下线内容", attributeId = "id", attributeName = "title") | |||
public ApiResult onlineInfoContent(@Valid @RequestBody InfoContentAuditQueryParam infoContentAuditQueryParam) throws Exception { | |||
return infoContentService.onlineInfoContent(infoContentAuditQueryParam); | |||
} | |||
/** | |||
* 是否置顶信息内容 | |||
* | |||
* @param infoContentAuditQueryParam | |||
* @return | |||
* @throws Exception | |||
*/ | |||
@PostMapping("/isTopInfoContent") | |||
@ApiOperation(value = "置顶InfoContent对象", notes = "置顶信息内容", response = ApiResult.class) | |||
@OperateLogger(name = "置顶内容", attributeId = "id", attributeName = "title") | |||
public ApiResult isTopInfoContent(@Valid @RequestBody InfoContentAuditQueryParam infoContentAuditQueryParam) throws Exception { | |||
return infoContentService.isTopInfoContent(infoContentAuditQueryParam); | |||
} | |||
/** | |||
* 修改排序号 | |||
* | |||
* @param infoContentAuditQueryParam | |||
* @return | |||
* @throws Exception | |||
*/ | |||
@PostMapping("/updateInfoSort") | |||
@ApiOperation(value = "修改排序号InfoContent对象", notes = "修改信息内容排序号", response = ApiResult.class) | |||
@OperateLogger(name = "修改内容排序", attributeId = "id", attributeName = "title") | |||
public ApiResult updateInfoSort(@Valid @RequestBody InfoContentAuditQueryParam infoContentAuditQueryParam) throws Exception { | |||
return infoContentService.updateInfoSort(infoContentAuditQueryParam); | |||
} | |||
/** | |||
* 信息是否置为回收站 | |||
* | |||
* @param infoContentAuditQueryParam | |||
* @return | |||
* @throws Exception | |||
*/ | |||
@PostMapping("/recycleInfoContent") | |||
@ApiOperation(value = "将InfoContent对象置为回收站", notes = "将信息内容置为回收站", response = ApiResult.class) | |||
@OperateLogger(name = "删除/还原内容(回收站)", attributeId = "id", attributeName = "title") | |||
public ApiResult recycleInfoContent(@Valid @RequestBody InfoContentAuditQueryParam infoContentAuditQueryParam) throws Exception { | |||
return infoContentService.recycleInfoContent(infoContentAuditQueryParam); | |||
} | |||
/** | |||
* 信息管理员删除(任何状态可以删除) | |||
* | |||
* @param infoContentAuditQueryParam | |||
* @return | |||
* @throws Exception | |||
*/ | |||
@PostMapping("/deleteInfoManageContent") | |||
@ApiOperation(value = "删除InfoContent对象", notes = "删除信息内容", response = ApiResult.class) | |||
@OperateLogger(name = "回收站删除内容", attributeId = "id", attributeName = "title") | |||
public ApiResult deleteInfoManageContent(@Valid @RequestBody InfoContentAuditQueryParam infoContentAuditQueryParam) throws Exception { | |||
return infoContentService.deleteInfoManageContent(infoContentAuditQueryParam); | |||
} | |||
/** | |||
* 首页查询信息 | |||
*/ | |||
@PostMapping("/getHomePageInfo") | |||
@ApiOperation(value = "显示InfoContent对象", notes = "首页查询信息", response = ApiResult.class) | |||
public ApiResult getHomePageInfo(@Valid @RequestBody InfoContentHomePageQueryParam infoContentHomePageQueryParam) throws Exception { | |||
return infoContentService.getHomePageInfo(infoContentHomePageQueryParam); | |||
} | |||
/** | |||
* 首页搜索信息 | |||
*/ | |||
@PostMapping("/getSearchWebInfo") | |||
@ApiOperation(value = "获取InfoContentWeb分页列表", notes = "信息内容分页列表", response = InfoContentWebSearchQueryVo.class) | |||
public ApiResult<PageTool<InfoContentWebSearchQueryVo>> getSearchWebInfo(@Valid @RequestBody InfoContentWebSearchQueryParam infoContentWebSearchQueryParam) throws Exception { | |||
PageTool<InfoContentWebSearchQueryVo> pageList = infoContentService.getSearchWebInfo(infoContentWebSearchQueryParam); | |||
return ApiResult.ok(pageList); | |||
} | |||
/** | |||
* 后台发布列表 | |||
*/ | |||
@PostMapping("/getInfoContentByAdd") | |||
@ApiOperation(value = "获取InfoContentBackSearchQueryVo分页列表", notes = "后台发布列表", response = InfoContentWebSearchQueryVo.class) | |||
public ApiResult<PageTool<InfoContentBackSearchQueryVo>> getInfoContentByAdd(@Valid @RequestBody InfoContentBackSearchQueryParam infoContentBackSearchQueryParam) throws Exception { | |||
PageTool<InfoContentBackSearchQueryVo> pageList = infoContentService.getInfoContentByAdd(infoContentBackSearchQueryParam); | |||
return ApiResult.ok(pageList); | |||
} | |||
/** | |||
* 后台初审列表 | |||
*/ | |||
@PostMapping("/getInfoContentByFirstAudit") | |||
@ApiOperation(value = "获取InfoContentBackSearchQueryVo分页列表", notes = "后台发布列表", response = InfoContentBackSearchQueryVo.class) | |||
public ApiResult<PageTool<InfoContentBackSearchQueryVo>> getInfoContentByFirstAudit(@Valid @RequestBody InfoContentBackSearchQueryParam infoContentBackSearchQueryParam) throws Exception { | |||
PageTool<InfoContentBackSearchQueryVo> pageList = infoContentService.getInfoContentByFirstAudit(infoContentBackSearchQueryParam); | |||
return ApiResult.ok(pageList); | |||
} | |||
/** | |||
* 后台初审列表 | |||
*/ | |||
@PostMapping("/getInfoContentByFinalAudit") | |||
@ApiOperation(value = "获取InfoContentBackSearchQueryVo分页列表", notes = "后台发布列表", response = InfoContentBackSearchQueryVo.class) | |||
public ApiResult<PageTool<InfoContentBackSearchQueryVo>> getInfoContentByFinalAudit(@Valid @RequestBody InfoContentBackSearchQueryParam infoContentBackSearchQueryParam) throws Exception { | |||
PageTool<InfoContentBackSearchQueryVo> pageList = infoContentService.getInfoContentByFinalAudit(infoContentBackSearchQueryParam); | |||
return ApiResult.ok(pageList); | |||
} | |||
/** | |||
* 后台回收站列表 | |||
*/ | |||
@PostMapping("/getInfoContentByRecycle") | |||
@ApiOperation(value = "获取InfoContentRecycleSearchQueryVo分页列表", notes = "后台回收站列表", response = InfoContentRecycleSearchQueryVo.class) | |||
public ApiResult<PageTool<InfoContentRecycleSearchQueryVo>> getInfoContentByRecycle(@Valid @RequestBody InfoContentBackSearchQueryParam infoContentBackSearchQueryParam) throws Exception { | |||
PageTool<InfoContentRecycleSearchQueryVo> pageList = infoContentService.getInfoContentByRecycle(infoContentBackSearchQueryParam); | |||
return ApiResult.ok(pageList); | |||
} | |||
/** | |||
* 修改信息内容 | |||
*/ | |||
@PostMapping("/update") | |||
@ApiOperation(value = "修改InfoContent对象", notes = "修改信息内容", response = ApiResult.class) | |||
public ApiResult<Boolean> updateInfoContent(@Valid @RequestBody InfoContent infoContent) throws Exception { | |||
boolean flag = infoContentService.updateById(infoContent); | |||
return ApiResult.result(flag); | |||
} | |||
/** | |||
* 删除信息内容 | |||
*/ | |||
@PostMapping("/delete") | |||
@ApiOperation(value = "删除InfoContent对象", notes = "删除信息内容", response = ApiResult.class) | |||
public ApiResult<Boolean> deleteInfoContent(@Valid @RequestBody IdParam idParam) throws Exception { | |||
boolean flag = infoContentService.removeById(idParam.getId()); | |||
return ApiResult.result(flag); | |||
} | |||
/** | |||
* 信息内容分页列表 | |||
*/ | |||
@PostMapping("/getPageList") | |||
@ApiOperation(value = "获取InfoContent分页列表", notes = "信息内容分页列表", response = InfoContentQueryVo.class) | |||
public ApiResult<PageTool<InfoContentQueryVo>> getInfoContentPageList(@Valid @RequestBody InfoContentQueryParam infoContentQueryParam) throws Exception { | |||
PageTool<InfoContentQueryVo> pageList = infoContentService.getInfoContentPageList(infoContentQueryParam); | |||
return ApiResult.ok(pageList); | |||
} | |||
} | |||
@@ -0,0 +1,90 @@ | |||
package com.xdf.creative.module.controller; | |||
import com.xdf.creative.base.controller.BaseController; | |||
import com.xdf.creative.base.params.IdParam; | |||
import com.xdf.creative.base.params.creative.InfoDetailQueryParam; | |||
import com.xdf.creative.base.vo.creative.InfoDetailQueryVo; | |||
import com.xdf.creative.module.entity.InfoDetail; | |||
import com.xdf.creative.module.service.InfoDetailService; | |||
import com.xdf.creative.util.page.ApiResult; | |||
import com.xdf.creative.util.page.PageTool; | |||
import io.swagger.annotations.Api; | |||
import io.swagger.annotations.ApiOperation; | |||
import lombok.extern.slf4j.Slf4j; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.web.bind.annotation.PostMapping; | |||
import org.springframework.web.bind.annotation.RequestBody; | |||
import org.springframework.web.bind.annotation.RequestMapping; | |||
import org.springframework.web.bind.annotation.RestController; | |||
import javax.validation.Valid; | |||
/** | |||
* <p> | |||
* 信息详情 前端控制器 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @since 2020-03-09 | |||
*/ | |||
@Slf4j | |||
@RestController | |||
@RequestMapping("/infoDetail") | |||
@Api("信息详情 API") | |||
public class InfoDetailController extends BaseController { | |||
@Autowired | |||
private InfoDetailService infoDetailService; | |||
/** | |||
* 添加信息详情 | |||
*/ | |||
@PostMapping("/add") | |||
@ApiOperation(value = "添加InfoDetail对象", notes = "添加信息详情", response = ApiResult.class) | |||
public ApiResult<Boolean> addInfoDetail(@Valid @RequestBody InfoDetail infoDetail) throws Exception { | |||
boolean flag = infoDetailService.save(infoDetail); | |||
return ApiResult.result(flag); | |||
} | |||
/** | |||
* 修改信息详情 | |||
*/ | |||
@PostMapping("/update") | |||
@ApiOperation(value = "修改InfoDetail对象", notes = "修改信息详情", response = ApiResult.class) | |||
public ApiResult<Boolean> updateInfoDetail(@Valid @RequestBody InfoDetail infoDetail) throws Exception { | |||
boolean flag = infoDetailService.updateById(infoDetail); | |||
return ApiResult.result(flag); | |||
} | |||
/** | |||
* 删除信息详情 | |||
*/ | |||
@PostMapping("/delete") | |||
@ApiOperation(value = "删除InfoDetail对象", notes = "删除信息详情", response = ApiResult.class) | |||
public ApiResult<Boolean> deleteInfoDetail(@Valid @RequestBody IdParam idParam) throws Exception { | |||
boolean flag = infoDetailService.removeById(idParam.getId()); | |||
return ApiResult.result(flag); | |||
} | |||
/** | |||
* 获取信息详情 | |||
*/ | |||
@PostMapping("/info") | |||
@ApiOperation(value = "获取InfoDetail对象详情", notes = "查看信息详情", response = InfoDetailQueryVo.class) | |||
public ApiResult<InfoDetailQueryVo> getInfoDetail(@Valid @RequestBody IdParam idParam) throws Exception { | |||
InfoDetailQueryVo infoDetailQueryVo = infoDetailService.getInfoDetailById(idParam.getId()); | |||
return ApiResult.ok(infoDetailQueryVo); | |||
} | |||
/** | |||
* 信息详情分页列表 | |||
*/ | |||
@PostMapping("/getPageList") | |||
@ApiOperation(value = "获取InfoDetail分页列表", notes = "信息详情分页列表", response = InfoDetailQueryVo.class) | |||
public ApiResult<PageTool<InfoDetailQueryVo>> getInfoDetailPageList(@Valid @RequestBody InfoDetailQueryParam infoDetailQueryParam) throws Exception { | |||
PageTool<InfoDetailQueryVo> pageList = infoDetailService.getInfoDetailPageList(infoDetailQueryParam); | |||
return ApiResult.ok(pageList); | |||
} | |||
} | |||
@@ -0,0 +1,97 @@ | |||
package com.xdf.creative.module.controller; | |||
import com.xdf.creative.base.controller.BaseController; | |||
import com.xdf.creative.base.params.IdParam; | |||
import com.xdf.creative.base.params.creative.InfoTypeQueryParam; | |||
import com.xdf.creative.base.vo.creative.InfoTypeQueryVo; | |||
import com.xdf.creative.module.entity.InfoType; | |||
import com.xdf.creative.module.service.InfoTypeService; | |||
import com.xdf.creative.support.aop.OperateLogger; | |||
import com.xdf.creative.util.page.ApiResult; | |||
import com.xdf.creative.util.page.PageTool; | |||
import io.swagger.annotations.Api; | |||
import io.swagger.annotations.ApiOperation; | |||
import lombok.extern.slf4j.Slf4j; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.web.bind.annotation.PostMapping; | |||
import org.springframework.web.bind.annotation.RequestBody; | |||
import org.springframework.web.bind.annotation.RequestMapping; | |||
import org.springframework.web.bind.annotation.RestController; | |||
import javax.validation.Valid; | |||
/** | |||
* <p> | |||
* 栏目类型 前端控制器 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @since 2020-03-06 | |||
*/ | |||
@Slf4j | |||
@RestController | |||
@RequestMapping("/infoType") | |||
@Api("栏目类型 API") | |||
public class InfoTypeController extends BaseController { | |||
@Autowired | |||
private InfoTypeService infoTypeService; | |||
/** | |||
* 添加栏目类型 | |||
*/ | |||
@PostMapping("/addInfoType") | |||
@ApiOperation(value = "添加InfoType对象", notes = "添加栏目类型", response = ApiResult.class) | |||
@OperateLogger(name = "添加栏目类型",attributeId="id",attributeName="infoName") | |||
public ApiResult addInfoType(@Valid @RequestBody InfoType infoType) throws Exception { | |||
return infoTypeService.addInfoType(infoType); | |||
} | |||
/** | |||
* 栏目类型分页列表 | |||
*/ | |||
@PostMapping("/getPageList") | |||
@ApiOperation(value = "获取InfoType分页列表", notes = "栏目类型分页列表", response = InfoTypeQueryVo.class) | |||
public ApiResult<PageTool<InfoTypeQueryVo>> getInfoTypePageList(@Valid @RequestBody InfoTypeQueryParam infoTypeQueryParam) throws Exception { | |||
PageTool<InfoTypeQueryVo> pageList = infoTypeService.getInfoTypePageList(infoTypeQueryParam); | |||
return ApiResult.ok(pageList); | |||
} | |||
/** | |||
* 修改栏目类型 | |||
*/ | |||
@PostMapping("/update") | |||
@ApiOperation(value = "修改InfoType对象", notes = "修改栏目类型", response = ApiResult.class) | |||
public ApiResult<Boolean> updateInfoType(@Valid @RequestBody InfoType infoType) throws Exception { | |||
boolean flag = infoTypeService.updateById(infoType); | |||
return ApiResult.result(flag); | |||
} | |||
/** | |||
* 删除栏目类型 | |||
*/ | |||
@PostMapping("/delete") | |||
@ApiOperation(value = "删除InfoType对象", notes = "删除栏目类型", response = ApiResult.class) | |||
public ApiResult<Boolean> deleteInfoType(@Valid @RequestBody IdParam idParam) throws Exception { | |||
boolean flag = infoTypeService.removeById(idParam.getId()); | |||
return ApiResult.result(flag); | |||
} | |||
/** | |||
* 获取栏目类型 | |||
*/ | |||
@PostMapping("/info") | |||
@ApiOperation(value = "获取InfoType对象详情", notes = "查看栏目类型", response = InfoTypeQueryVo.class) | |||
public ApiResult<InfoTypeQueryVo> getInfoType(@Valid @RequestBody IdParam idParam) throws Exception { | |||
InfoTypeQueryVo infoTypeQueryVo = infoTypeService.getInfoTypeById(idParam.getId()); | |||
return ApiResult.ok(infoTypeQueryVo); | |||
} | |||
} | |||
@@ -0,0 +1,90 @@ | |||
package com.xdf.creative.module.controller; | |||
import com.xdf.creative.base.controller.BaseController; | |||
import com.xdf.creative.base.params.IdParam; | |||
import com.xdf.creative.base.params.creative.InfoUrlQueryParam; | |||
import com.xdf.creative.base.vo.creative.InfoUrlQueryVo; | |||
import com.xdf.creative.module.entity.InfoUrl; | |||
import com.xdf.creative.module.service.InfoUrlService; | |||
import com.xdf.creative.util.page.ApiResult; | |||
import com.xdf.creative.util.page.PageTool; | |||
import io.swagger.annotations.Api; | |||
import io.swagger.annotations.ApiOperation; | |||
import lombok.extern.slf4j.Slf4j; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.web.bind.annotation.PostMapping; | |||
import org.springframework.web.bind.annotation.RequestBody; | |||
import org.springframework.web.bind.annotation.RequestMapping; | |||
import org.springframework.web.bind.annotation.RestController; | |||
import javax.validation.Valid; | |||
/** | |||
* <p> | |||
* 相关链接 前端控制器 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @since 2020-03-09 | |||
*/ | |||
@Slf4j | |||
@RestController | |||
@RequestMapping("/infoUrl") | |||
@Api("相关链接 API") | |||
public class InfoUrlController extends BaseController { | |||
@Autowired | |||
private InfoUrlService infoUrlService; | |||
/** | |||
* 添加相关链接 | |||
*/ | |||
@PostMapping("/add") | |||
@ApiOperation(value = "添加InfoUrl对象", notes = "添加相关链接", response = ApiResult.class) | |||
public ApiResult<Boolean> addInfoUrl(@Valid @RequestBody InfoUrl infoUrl) throws Exception { | |||
boolean flag = infoUrlService.save(infoUrl); | |||
return ApiResult.result(flag); | |||
} | |||
/** | |||
* 修改相关链接 | |||
*/ | |||
@PostMapping("/update") | |||
@ApiOperation(value = "修改InfoUrl对象", notes = "修改相关链接", response = ApiResult.class) | |||
public ApiResult<Boolean> updateInfoUrl(@Valid @RequestBody InfoUrl infoUrl) throws Exception { | |||
boolean flag = infoUrlService.updateById(infoUrl); | |||
return ApiResult.result(flag); | |||
} | |||
/** | |||
* 删除相关链接 | |||
*/ | |||
@PostMapping("/delete") | |||
@ApiOperation(value = "删除InfoUrl对象", notes = "删除相关链接", response = ApiResult.class) | |||
public ApiResult<Boolean> deleteInfoUrl(@Valid @RequestBody IdParam idParam) throws Exception { | |||
boolean flag = infoUrlService.removeById(idParam.getId()); | |||
return ApiResult.result(flag); | |||
} | |||
/** | |||
* 获取相关链接 | |||
*/ | |||
@PostMapping("/info") | |||
@ApiOperation(value = "获取InfoUrl对象详情", notes = "查看相关链接", response = InfoUrlQueryVo.class) | |||
public ApiResult<InfoUrlQueryVo> getInfoUrl(@Valid @RequestBody IdParam idParam) throws Exception { | |||
InfoUrlQueryVo infoUrlQueryVo = infoUrlService.getInfoUrlById(idParam.getId()); | |||
return ApiResult.ok(infoUrlQueryVo); | |||
} | |||
/** | |||
* 相关链接分页列表 | |||
*/ | |||
@PostMapping("/getPageList") | |||
@ApiOperation(value = "获取InfoUrl分页列表", notes = "相关链接分页列表", response = InfoUrlQueryVo.class) | |||
public ApiResult<PageTool<InfoUrlQueryVo>> getInfoUrlPageList(@Valid @RequestBody InfoUrlQueryParam infoUrlQueryParam) throws Exception { | |||
PageTool<InfoUrlQueryVo> pageList = infoUrlService.getInfoUrlPageList(infoUrlQueryParam); | |||
return ApiResult.ok(pageList); | |||
} | |||
} | |||
@@ -0,0 +1,95 @@ | |||
package com.xdf.creative.module.controller; | |||
import com.xdf.creative.base.controller.BaseController; | |||
import com.xdf.creative.base.params.IdParam; | |||
import com.xdf.creative.base.params.creative.InfoWordManageQueryParam; | |||
import com.xdf.creative.base.vo.creative.InfoWordManageQueryVo; | |||
import com.xdf.creative.module.entity.InfoWordManage; | |||
import com.xdf.creative.module.service.InfoWordManageService; | |||
import com.xdf.creative.support.aop.OperateLogger; | |||
import com.xdf.creative.util.page.ApiResult; | |||
import com.xdf.creative.util.page.PageTool; | |||
import io.swagger.annotations.Api; | |||
import io.swagger.annotations.ApiOperation; | |||
import lombok.extern.slf4j.Slf4j; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.web.bind.annotation.PostMapping; | |||
import org.springframework.web.bind.annotation.RequestBody; | |||
import org.springframework.web.bind.annotation.RequestMapping; | |||
import org.springframework.web.bind.annotation.RestController; | |||
import javax.validation.Valid; | |||
/** | |||
* <p> | |||
* 词管理 前端控制器 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @since 2020-03-06 | |||
*/ | |||
@Slf4j | |||
@RestController | |||
@RequestMapping("/infoWordManage") | |||
@Api("词管理 API") | |||
public class InfoWordManageController extends BaseController { | |||
@Autowired | |||
private InfoWordManageService infoWordManageService; | |||
/** | |||
* 添加词管理 | |||
*/ | |||
@PostMapping("/addInfoWordManage") | |||
@ApiOperation(value = "添加InfoWordManage对象", notes = "添加词管理", response = ApiResult.class) | |||
@OperateLogger(name = "添加敏感词",attributeId="id",attributeName="word") | |||
public ApiResult addInfoWordManage(@Valid @RequestBody InfoWordManage infoWordManage) throws Exception { | |||
return infoWordManageService.addInfoWordManage(infoWordManage); | |||
} | |||
/** | |||
* 修改词管理 | |||
*/ | |||
@PostMapping("/updateInfoWordManage") | |||
@ApiOperation(value = "修改InfoWordManage对象", notes = "修改词管理", response = ApiResult.class) | |||
@OperateLogger(name = "修改敏感词",attributeId="id",attributeName="word") | |||
public ApiResult updateInfoWordManage(@Valid @RequestBody InfoWordManage infoWordManage) throws Exception { | |||
return infoWordManageService.updateInfoWordManage(infoWordManage); | |||
} | |||
/** | |||
* 删除词管理 | |||
*/ | |||
@PostMapping("/deleteInfoWordManage") | |||
@ApiOperation(value = "删除InfoWordManage对象", notes = "删除词管理", response = ApiResult.class) | |||
@OperateLogger(name = "删除敏感词",attributeId="id",attributeName="value") | |||
public ApiResult<Boolean> deleteInfoWordManage(@Valid @RequestBody IdParam idParam) throws Exception { | |||
return infoWordManageService.deleteInfoWordManage(idParam); | |||
} | |||
/** | |||
* 词管理分页列表 | |||
*/ | |||
@PostMapping("/getPageList") | |||
@ApiOperation(value = "获取InfoWordManage分页列表", notes = "词管理分页列表", response = InfoWordManageQueryVo.class) | |||
public ApiResult<PageTool<InfoWordManageQueryVo>> getInfoWordManagePageList(@Valid @RequestBody InfoWordManageQueryParam infoWordManageQueryParam) throws Exception { | |||
PageTool<InfoWordManageQueryVo> pageList = infoWordManageService.getInfoWordManagePageList(infoWordManageQueryParam); | |||
return ApiResult.ok(pageList); | |||
} | |||
/** | |||
* 获取词管理 | |||
*/ | |||
@PostMapping("/getInfoWordManage") | |||
@ApiOperation(value = "获取InfoWordManage对象详情", notes = "查看词管理", response = InfoWordManageQueryVo.class) | |||
public ApiResult<InfoWordManageQueryVo> getInfoWordManage(@Valid @RequestBody IdParam idParam) throws Exception { | |||
InfoWordManageQueryVo infoWordManageQueryVo = infoWordManageService.getInfoWordManageById(idParam.getId()); | |||
return ApiResult.ok(infoWordManageQueryVo); | |||
} | |||
} | |||
@@ -0,0 +1,90 @@ | |||
package com.xdf.creative.module.controller; | |||
import com.xdf.creative.base.controller.BaseController; | |||
import com.xdf.creative.base.params.IdParam; | |||
import com.xdf.creative.base.params.creative.OauthTokenQueryParam; | |||
import com.xdf.creative.base.vo.creative.OauthTokenQueryVo; | |||
import com.xdf.creative.module.entity.OauthToken; | |||
import com.xdf.creative.module.service.OauthTokenService; | |||
import com.xdf.creative.util.page.ApiResult; | |||
import com.xdf.creative.util.page.PageTool; | |||
import io.swagger.annotations.Api; | |||
import io.swagger.annotations.ApiOperation; | |||
import lombok.extern.slf4j.Slf4j; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.web.bind.annotation.PostMapping; | |||
import org.springframework.web.bind.annotation.RequestBody; | |||
import org.springframework.web.bind.annotation.RequestMapping; | |||
import org.springframework.web.bind.annotation.RestController; | |||
import javax.validation.Valid; | |||
/** | |||
* <p> | |||
* 前端控制器 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @since 2020-03-05 | |||
*/ | |||
@Slf4j | |||
@RestController | |||
@RequestMapping("/oauthToken") | |||
@Api(" API") | |||
public class OauthTokenController extends BaseController { | |||
@Autowired | |||
private OauthTokenService oauthTokenService; | |||
/** | |||
* 添加 | |||
*/ | |||
@PostMapping("/add") | |||
@ApiOperation(value = "添加OauthToken对象", notes = "添加", response = ApiResult.class) | |||
public ApiResult<Boolean> addOauthToken(@Valid @RequestBody OauthToken oauthToken) throws Exception { | |||
boolean flag = oauthTokenService.save(oauthToken); | |||
return ApiResult.result(flag); | |||
} | |||
/** | |||
* 修改 | |||
*/ | |||
@PostMapping("/update") | |||
@ApiOperation(value = "修改OauthToken对象", notes = "修改", response = ApiResult.class) | |||
public ApiResult<Boolean> updateOauthToken(@Valid @RequestBody OauthToken oauthToken) throws Exception { | |||
boolean flag = oauthTokenService.updateById(oauthToken); | |||
return ApiResult.result(flag); | |||
} | |||
/** | |||
* 删除 | |||
*/ | |||
@PostMapping("/delete") | |||
@ApiOperation(value = "删除OauthToken对象", notes = "删除", response = ApiResult.class) | |||
public ApiResult<Boolean> deleteOauthToken(@Valid @RequestBody IdParam idParam) throws Exception { | |||
boolean flag = oauthTokenService.removeById(idParam.getId()); | |||
return ApiResult.result(flag); | |||
} | |||
/** | |||
* 获取 | |||
*/ | |||
@PostMapping("/info") | |||
@ApiOperation(value = "获取OauthToken对象详情", notes = "查看", response = OauthTokenQueryVo.class) | |||
public ApiResult<OauthTokenQueryVo> getOauthToken(@Valid @RequestBody IdParam idParam) throws Exception { | |||
OauthTokenQueryVo oauthTokenQueryVo = oauthTokenService.getOauthTokenById(idParam.getId()); | |||
return ApiResult.ok(oauthTokenQueryVo); | |||
} | |||
/** | |||
* 分页列表 | |||
*/ | |||
@PostMapping("/getPageList") | |||
@ApiOperation(value = "获取OauthToken分页列表", notes = "分页列表", response = OauthTokenQueryVo.class) | |||
public ApiResult<PageTool<OauthTokenQueryVo>> getOauthTokenPageList(@Valid @RequestBody OauthTokenQueryParam oauthTokenQueryParam) throws Exception { | |||
PageTool<OauthTokenQueryVo> pageList = oauthTokenService.getOauthTokenPageList(oauthTokenQueryParam); | |||
return ApiResult.ok(pageList); | |||
} | |||
} | |||
@@ -0,0 +1,97 @@ | |||
package com.xdf.creative.module.controller; | |||
import com.xdf.creative.base.controller.BaseController; | |||
import com.xdf.creative.base.params.IdParam; | |||
import com.xdf.creative.base.params.creative.SysAccountLogQueryParam; | |||
import com.xdf.creative.base.vo.creative.SysAccountLogQueryVo; | |||
import com.xdf.creative.module.entity.SysAccountLog; | |||
import com.xdf.creative.module.service.SysAccountLogService; | |||
import com.xdf.creative.util.page.ApiResult; | |||
import com.xdf.creative.util.page.PageTool; | |||
import io.swagger.annotations.Api; | |||
import io.swagger.annotations.ApiOperation; | |||
import lombok.extern.slf4j.Slf4j; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.web.bind.annotation.PostMapping; | |||
import org.springframework.web.bind.annotation.RequestBody; | |||
import org.springframework.web.bind.annotation.RequestMapping; | |||
import org.springframework.web.bind.annotation.RestController; | |||
import javax.validation.Valid; | |||
/** | |||
* <p> | |||
* 账户登录日志 前端控制器 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @since 2020-03-06 | |||
*/ | |||
@Slf4j | |||
@RestController | |||
@RequestMapping("/sysAccountLog") | |||
@Api("账户登录日志 API") | |||
public class SysAccountLogController extends BaseController { | |||
@Autowired | |||
private SysAccountLogService sysAccountLogService; | |||
/** | |||
* 账户登录日志分页列表 | |||
*/ | |||
@PostMapping("/getPageList") | |||
@ApiOperation(value = "获取SysAccountLog分页列表", notes = "账户登录日志分页列表", response = SysAccountLogQueryVo.class) | |||
public ApiResult<PageTool<SysAccountLogQueryVo>> getSysAccountLogPageList(@Valid @RequestBody SysAccountLogQueryParam sysAccountLogQueryParam) throws Exception { | |||
PageTool<SysAccountLogQueryVo> pageList = sysAccountLogService.getSysAccountLogPageList(sysAccountLogQueryParam); | |||
return ApiResult.ok(pageList); | |||
} | |||
/** | |||
* 删除账户登录日志 | |||
*/ | |||
@PostMapping("/deleteSysAccountLog") | |||
@ApiOperation(value = "删除SysAccountLog对象", notes = "删除账户登录日志", response = ApiResult.class) | |||
public ApiResult<Boolean> deleteSysAccountLog(@Valid @RequestBody IdParam idParam) throws Exception { | |||
boolean flag = sysAccountLogService.removeById(idParam.getId()); | |||
return ApiResult.result(flag); | |||
} | |||
/** | |||
* 添加账户登录日志 | |||
*/ | |||
@PostMapping("/add") | |||
@ApiOperation(value = "添加SysAccountLog对象", notes = "添加账户登录日志", response = ApiResult.class) | |||
public ApiResult<Boolean> addSysAccountLog(@Valid @RequestBody SysAccountLog sysAccountLog) throws Exception { | |||
boolean flag = sysAccountLogService.save(sysAccountLog); | |||
return ApiResult.result(flag); | |||
} | |||
/** | |||
* 修改账户登录日志 | |||
*/ | |||
@PostMapping("/update") | |||
@ApiOperation(value = "修改SysAccountLog对象", notes = "修改账户登录日志", response = ApiResult.class) | |||
public ApiResult<Boolean> updateSysAccountLog(@Valid @RequestBody SysAccountLog sysAccountLog) throws Exception { | |||
boolean flag = sysAccountLogService.updateById(sysAccountLog); | |||
return ApiResult.result(flag); | |||
} | |||
/** | |||
* 获取账户登录日志 | |||
*/ | |||
@PostMapping("/info") | |||
@ApiOperation(value = "获取SysAccountLog对象详情", notes = "查看账户登录日志", response = SysAccountLogQueryVo.class) | |||
public ApiResult<SysAccountLogQueryVo> getSysAccountLog(@Valid @RequestBody IdParam idParam) throws Exception { | |||
SysAccountLogQueryVo sysAccountLogQueryVo = sysAccountLogService.getSysAccountLogById(idParam.getId()); | |||
return ApiResult.ok(sysAccountLogQueryVo); | |||
} | |||
} | |||
@@ -0,0 +1,76 @@ | |||
package com.xdf.creative.module.controller; | |||
import com.xdf.creative.base.controller.BaseController; | |||
import com.xdf.creative.base.params.IdParam; | |||
import com.xdf.creative.base.params.creative.SysOperateLogQueryParam; | |||
import com.xdf.creative.base.vo.creative.SysOperateLogQueryVo; | |||
import com.xdf.creative.module.entity.SysOperateLog; | |||
import com.xdf.creative.module.service.SysOperateLogService; | |||
import com.xdf.creative.util.page.ApiResult; | |||
import com.xdf.creative.util.page.PageTool; | |||
import io.swagger.annotations.Api; | |||
import io.swagger.annotations.ApiOperation; | |||
import lombok.extern.slf4j.Slf4j; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.web.bind.annotation.PostMapping; | |||
import org.springframework.web.bind.annotation.RequestBody; | |||
import org.springframework.web.bind.annotation.RequestMapping; | |||
import org.springframework.web.bind.annotation.RestController; | |||
import javax.validation.Valid; | |||
/** | |||
* <p> | |||
* 账户操作日志 前端控制器 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @since 2020-03-06 | |||
*/ | |||
@Slf4j | |||
@RestController | |||
@RequestMapping("/sysOperateLog") | |||
@Api("账户操作日志 API") | |||
public class SysOperateLogController extends BaseController { | |||
@Autowired | |||
private SysOperateLogService sysOperateLogService; | |||
/** | |||
* 账户操作日志分页列表 | |||
*/ | |||
@PostMapping("/getPageList") | |||
@ApiOperation(value = "获取SysOperateLog分页列表", notes = "账户操作日志分页列表", response = SysOperateLogQueryVo.class) | |||
public ApiResult<PageTool<SysOperateLogQueryVo>> getSysOperateLogPageList(@Valid @RequestBody SysOperateLogQueryParam sysOperateLogQueryParam) throws Exception { | |||
PageTool<SysOperateLogQueryVo> pageList = sysOperateLogService.getSysOperateLogPageList(sysOperateLogQueryParam); | |||
return ApiResult.ok(pageList); | |||
} | |||
/** | |||
* 删除账户操作日志 | |||
*/ | |||
@PostMapping("/deleteSysOperateLog") | |||
@ApiOperation(value = "删除SysOperateLog对象", notes = "删除账户操作日志", response = ApiResult.class) | |||
public ApiResult<Boolean> deleteSysOperateLog(@Valid @RequestBody IdParam idParam) throws Exception { | |||
boolean flag = sysOperateLogService.removeById(idParam.getId()); | |||
return ApiResult.result(flag); | |||
} | |||
/** | |||
* 获取账户操作日志 | |||
*/ | |||
@PostMapping("/info") | |||
@ApiOperation(value = "获取SysOperateLog对象详情", notes = "查看账户操作日志", response = SysOperateLogQueryVo.class) | |||
public ApiResult<SysOperateLogQueryVo> getSysOperateLog(@Valid @RequestBody IdParam idParam) throws Exception { | |||
SysOperateLogQueryVo sysOperateLogQueryVo = sysOperateLogService.getSysOperateLogById(idParam.getId()); | |||
return ApiResult.ok(sysOperateLogQueryVo); | |||
} | |||
} | |||
@@ -2,7 +2,9 @@ | |||
package com.xdf.creative.module.controller; | |||
import com.xdf.creative.base.controller.BaseController; | |||
import com.xdf.creative.base.params.IdParam; | |||
import com.xdf.creative.base.params.creative.SysPermissionQueryParam; | |||
import com.xdf.creative.base.params.creative.SysRoleImpowerPermissionQueryParam; | |||
import com.xdf.creative.base.vo.creative.SysPermissionQueryVo; | |||
import com.xdf.creative.module.entity.SysPermission; | |||
import com.xdf.creative.module.service.SysPermissionService; | |||
@@ -36,6 +38,47 @@ public class SysPermissionController extends BaseController { | |||
@Autowired | |||
private SysPermissionService sysPermissionService; | |||
/** | |||
* 获取所有菜单列表 | |||
*/ | |||
@PostMapping("/getAllMenuList") | |||
@ApiOperation(value = "获取所有菜单列表", notes = "获取所有菜单列表", response = SysPermission.class) | |||
public ApiResult<SysPermission> getAllMenuList() throws Exception { | |||
List<SysPermission> list = sysPermissionService.getAllMenuList(); | |||
return ApiResult.ok(list); | |||
} | |||
/** | |||
* 角色授权资源树 | |||
*/ | |||
@PostMapping("/impowerResourceTreeList") | |||
@ApiOperation(value = "获取所有菜单列表", notes = "获取所有菜单列表", response = SysPermission.class) | |||
public ApiResult impowerResourceTreeList(@Valid @RequestBody IdParam idParam) throws Exception { | |||
List<Object> list = sysPermissionService.impowerResourceTreeList(idParam.getId()); | |||
TreeConfig config = new TreeConfig("resourceId", "parentResourceId", "parentResourceId", "1", ""); | |||
return ApiResult.ok(Utils.tree(list, config)); | |||
} | |||
/** | |||
* 角色授权资源 | |||
* | |||
* @param sysRoleImpowerPermissionQueryParam | |||
* @return | |||
* @throws Exception | |||
*/ | |||
@RequestMapping("/setPermissionToRoleByUserId") | |||
@ApiOperation(value = "给用户角色授权", notes = "给用户角色授权", response = SysPermission.class) | |||
public ApiResult<Boolean> setPermissionToRoleByUserId(@Valid @RequestBody SysRoleImpowerPermissionQueryParam sysRoleImpowerPermissionQueryParam) throws Exception { | |||
return sysPermissionService.setPermissionToRoleByUserId(sysRoleImpowerPermissionQueryParam); | |||
} | |||
/** | |||
@@ -88,16 +131,6 @@ public class SysPermissionController extends BaseController { | |||
return ApiResult.ok(paging); | |||
} | |||
/** | |||
* 获取所有菜单列表 | |||
*/ | |||
@PostMapping("/getAllMenuList") | |||
@ApiOperation(value = "获取所有菜单列表", notes = "获取所有菜单列表", response = SysPermission.class) | |||
public ApiResult<SysPermission> getAllMenuList() throws Exception { | |||
List<SysPermission> list = sysPermissionService.getAllMenuList(); | |||
return ApiResult.ok(list); | |||
} | |||
/** | |||
* 根据用户id获取菜单列表 | |||
@@ -124,23 +157,13 @@ public class SysPermissionController extends BaseController { | |||
/** | |||
* 角色授权资源树 | |||
*/ | |||
@PostMapping("/impowerResourceTreeList") | |||
/* @PostMapping("/impowerResourceTreeList") | |||
@ApiOperation(value = "获取所有菜单列表", notes = "获取所有菜单列表", response = SysPermission.class) | |||
public ApiResult<SysPermission> impowerResourceTreeList(Long userId) throws Exception { | |||
List<Object> list = sysPermissionService.impowerResourceTreeList(userId); | |||
TreeConfig config = new TreeConfig("resourceId", "parentResourceId", "parentResourceId", "1", ""); | |||
return ApiResult.ok(Utils.tree(list, config)); | |||
} | |||
@RequestMapping(value = "/setPermissionToRoleByUserId", method = {RequestMethod.GET}) | |||
@ApiOperation(value = "给用户角色授权", notes = "给用户角色授权", response = SysPermission.class) | |||
public ApiResult<Boolean> setPermissionToRoleByUserId(Long userId, Long roleId) throws Exception { | |||
boolean isSucceed = sysPermissionService.setPermissionToRoleByUserId(userId, roleId); | |||
return ApiResult.result(isSucceed); | |||
} | |||
}*/ | |||
@RequestMapping(value = "/getTreeMenusByUserId", method = {RequestMethod.GET}) | |||
@ApiOperation(value = "根据用户ID获取树形菜单", notes = "根据用户ID获取树形菜单", response = SysPermission.class) | |||
public ApiResult<List<Object>> getTreeMenusByUserId(Long userId) throws Exception { |
@@ -6,7 +6,6 @@ import com.xdf.creative.base.params.creative.SysRegionQueryParam; | |||
import com.xdf.creative.base.vo.creative.SysRegionQueryVo; | |||
import com.xdf.creative.module.entity.SysRegion; | |||
import com.xdf.creative.module.service.SysRegionService; | |||
import com.xdf.creative.support.aop.OperationLogger; | |||
import com.xdf.creative.util.page.ApiResult; | |||
import com.xdf.creative.util.page.PageTool; | |||
import io.swagger.annotations.Api; | |||
@@ -95,7 +94,6 @@ public class SysRegionController extends BaseController { | |||
/** | |||
* 全国行政区域[sys_region]分页列表 | |||
*/ | |||
@OperationLogger(value = "获取SysRegion列表") //这里添加了AOP的自定义注解 | |||
@PostMapping("/getRegionList") | |||
@RequiresPermissions("/sysRegion/getRegionList") | |||
@ApiOperation(value = "获取SysRegion列表", notes = "全国行政区域[sys_region]分页列表", response = SysRegionQueryVo.class) |
@@ -2,11 +2,13 @@ | |||
package com.xdf.creative.module.controller; | |||
import com.xdf.creative.base.controller.BaseController; | |||
import com.xdf.creative.base.params.IdParam; | |||
import com.xdf.creative.base.params.creative.AddSysRoleParam; | |||
import com.xdf.creative.base.params.creative.SysRoleQueryParam; | |||
import com.xdf.creative.base.params.creative.UpdateSysRoleParam; | |||
import com.xdf.creative.base.vo.creative.SysRoleQueryVo; | |||
import com.xdf.creative.module.service.SysRoleService; | |||
import com.xdf.creative.support.aop.OperateLogger; | |||
import com.xdf.creative.util.page.ApiResult; | |||
import com.xdf.creative.util.page.PageTool; | |||
import io.swagger.annotations.Api; | |||
@@ -38,33 +40,52 @@ public class SysRoleController extends BaseController { | |||
/** | |||
* 添加系统角色 | |||
*/ | |||
@PostMapping("/add") | |||
@PostMapping("/addSysRole") | |||
@ApiOperation(value = "添加SysRole对象", notes = "添加系统角色", response = ApiResult.class) | |||
public ApiResult<Boolean> addSysRole(@Valid @RequestBody AddSysRoleParam addSysRoleParam) throws Exception { | |||
boolean flag = sysRoleService.saveSysRole(addSysRoleParam); | |||
return ApiResult.result(flag); | |||
@OperateLogger(name = "添加角色",attributeId="id",attributeName="name") | |||
public ApiResult addSysRole(@Valid @RequestBody SysRoleQueryParam sysRoleQueryParam) throws Exception { | |||
return sysRoleService.addSysRole(sysRoleQueryParam); | |||
} | |||
/** | |||
* 修改系统角色 | |||
*/ | |||
@PostMapping("/update") | |||
@ApiOperation(value = "修改SysRole对象", notes = "修改系统角色", response = ApiResult.class) | |||
public ApiResult<Boolean> updateSysRole(@Valid @RequestBody UpdateSysRoleParam updateSysRoleParam) throws Exception { | |||
boolean flag = sysRoleService.updateSysRole(updateSysRoleParam); | |||
return ApiResult.result(flag); | |||
@PostMapping("/updateSysRole") | |||
@ApiOperation(value = "添加SysRole对象", notes = "添加系统角色", response = ApiResult.class) | |||
@OperateLogger(name = "修改角色",attributeId="id",attributeName="name") | |||
public ApiResult updateSysRole(@Valid @RequestBody SysRoleQueryParam sysRoleQueryParam) throws Exception { | |||
return sysRoleService.updateSysRole(sysRoleQueryParam); | |||
} | |||
/** | |||
* 删除系统角色 | |||
*/ | |||
@PostMapping("/delete/{id}") | |||
@PostMapping("/deleteSysRole") | |||
@ApiOperation(value = "删除SysRole对象", notes = "删除系统角色", response = ApiResult.class) | |||
public ApiResult<Boolean> deleteSysRole(@PathVariable("id") Long id) throws Exception { | |||
boolean flag = sysRoleService.deleteSysRole(id); | |||
return ApiResult.result(flag); | |||
@OperateLogger(name = "删除角色",attributeId="id",attributeName="value") | |||
public ApiResult<Boolean> deleteSysRole(@Valid @RequestBody IdParam idParam) throws Exception { | |||
return sysRoleService.deleteSysRole(idParam.getId()); | |||
} | |||
/** | |||
* 根据UserId系统角色列表 | |||
*/ | |||
@PostMapping(value = "/getRoleList") | |||
@ApiOperation(value = "获取SysRole列表", notes = "系统角色列表", response = SysRoleQueryVo.class) | |||
public ApiResult getRoleList() { | |||
return sysRoleService.getRoleList(); | |||
} | |||
/** | |||
* 获取系统角色 | |||
*/ |
@@ -2,12 +2,16 @@ | |||
package com.xdf.creative.module.controller; | |||
import com.xdf.creative.base.controller.BaseController; | |||
import com.xdf.creative.base.params.creative.SysUserQueryParam; | |||
import com.xdf.creative.base.params.creative.UpdatePasswordParam; | |||
import com.xdf.creative.base.params.creative.UpdateUserParam; | |||
import com.xdf.creative.base.params.IdParam; | |||
import com.xdf.creative.base.params.creative.*; | |||
import com.xdf.creative.base.vo.creative.SysUserBackQueryVo; | |||
import com.xdf.creative.base.vo.creative.SysUserInfoQueryVo; | |||
import com.xdf.creative.base.vo.creative.SysUserQueryVo; | |||
import com.xdf.creative.module.entity.SysUser; | |||
import com.xdf.creative.module.service.OauthTokenService; | |||
import com.xdf.creative.module.service.SysUserService; | |||
import com.xdf.creative.shiro.jwt.JwtUtil; | |||
import com.xdf.creative.support.aop.AccountLogger; | |||
import com.xdf.creative.support.aop.OperateLogger; | |||
import com.xdf.creative.support.auth.LoginParam; | |||
import com.xdf.creative.support.auth.LoginSysUserTokenVo; | |||
import com.xdf.creative.util.page.ApiResult; | |||
@@ -18,6 +22,7 @@ import lombok.extern.slf4j.Slf4j; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.web.bind.annotation.*; | |||
import javax.servlet.http.HttpServletRequest; | |||
import javax.servlet.http.HttpServletResponse; | |||
import javax.validation.Valid; | |||
@@ -37,86 +42,162 @@ public class SysUserController extends BaseController { | |||
@Autowired | |||
private SysUserService sysUserService; | |||
@Autowired | |||
private OauthTokenService oauthTokenService; | |||
/** | |||
* 用户登录 | |||
* | |||
* @param loginParam | |||
* @param response | |||
* @return | |||
* @throws Exception | |||
*/ | |||
@PostMapping("/login") | |||
@ApiOperation(value = "登陆", notes = "系统用户登陆", response = ApiResult.class) | |||
public ApiResult login(@Valid @RequestBody LoginParam loginParam, HttpServletResponse response) throws Exception { | |||
LoginSysUserTokenVo loginSysUserTokenVo = sysUserService.login(loginParam); | |||
// 设置token响应头 | |||
// response.setHeader(JwtTokenUtil.getTokenName(), loginSysUserTokenVo.getToken()); | |||
return ApiResult.ok(loginSysUserTokenVo, "登陆成功"); | |||
} | |||
/** | |||
* 用户登出 | |||
* | |||
* @param request | |||
* @return | |||
* @throws Exception | |||
*/ | |||
@PostMapping("/logout") | |||
@ApiOperation(value = "登陆", notes = "系统用户登陆", response = ApiResult.class) | |||
public ApiResult logout(HttpServletRequest request) throws Exception { | |||
String token = request.getHeader("Authorization"); | |||
Long userId = JwtUtil.getUserId(token); | |||
oauthTokenService.removeTokenByUserId(userId); | |||
return ApiResult.ok("登陆成功"); | |||
} | |||
/** | |||
* 添加系统用户 | |||
*/ | |||
@PostMapping("/add") | |||
@PostMapping("/addSysUser") | |||
@ApiOperation(value = "添加SysUser对象", notes = "添加系统用户", response = ApiResult.class) | |||
public ApiResult<Boolean> addSysUser(@Valid @RequestBody SysUser sysUser) throws Exception { | |||
boolean flag = sysUserService.saveSysUser(sysUser); | |||
return ApiResult.result(flag); | |||
@OperateLogger(name = "添加用户", attributeId = "id", attributeName = "username") | |||
public ApiResult addSysUser(@Valid @RequestBody SysUserAddQueryParam sysUserAddQueryParam) throws Exception { | |||
return sysUserService.addSysUser(sysUserAddQueryParam); | |||
} | |||
/** | |||
* 修改系统用户 | |||
* 停用启用用户 | |||
*/ | |||
@PostMapping("/update") | |||
@ApiOperation(value = "修改SysUser对象", notes = "修改系统用户", response = ApiResult.class) | |||
public ApiResult<Boolean> updateSysUser(@Valid @RequestBody UpdateUserParam updateUserParam) throws Exception { | |||
boolean flag = sysUserService.updateSysUser(updateUserParam); | |||
return ApiResult.result(flag); | |||
@PostMapping("/enabledSysUser") | |||
@ApiOperation(value = "添加SysUser对象", notes = "添加系统用户", response = ApiResult.class) | |||
@OperateLogger(name = "停用/启用用户", attributeId = "id", attributeName = "value") | |||
public ApiResult enabledSysUser(@Valid @RequestBody IdParam idParam) throws Exception { | |||
return sysUserService.enabledSysUser(idParam); | |||
} | |||
/** | |||
* 删除系统用户 | |||
*/ | |||
@RequestMapping(value = "/delete", method = {RequestMethod.GET, RequestMethod.POST}) | |||
@RequestMapping(value = "/deleteSysUser", method = {RequestMethod.GET, RequestMethod.POST}) | |||
@ApiOperation(value = "删除SysUser对象", notes = "删除系统用户", response = ApiResult.class) | |||
public ApiResult<Boolean> deleteSysUser(Long id) throws Exception { | |||
boolean flag = sysUserService.deleteSysUser(id); | |||
return ApiResult.result(flag); | |||
@OperateLogger(name = "删除用户", attributeId = "id", attributeName = "value") | |||
public ApiResult<Boolean> deleteSysUser(@Valid @RequestBody IdParam idParam) throws Exception { | |||
return sysUserService.deleteSysUser(idParam); | |||
} | |||
/** | |||
* 获取系统用户 | |||
* 修改密码 | |||
*/ | |||
@GetMapping("/getSysUserById") | |||
@ApiOperation(value = "获取SysUser对象详情", notes = "查看系统用户", response = SysUserQueryVo.class) | |||
public ApiResult<SysUserQueryVo> getSysUser(Long id) throws Exception { | |||
SysUserQueryVo sysUserQueryVo = sysUserService.getSysUserById(id); | |||
return ApiResult.ok(sysUserQueryVo); | |||
@PostMapping("/updatePassword") | |||
@ApiOperation(value = "修改密码", notes = "修改密码", response = ApiResult.class) | |||
@OperateLogger(name = "修改密码", attributeId = "userId", attributeName = "username") | |||
public ApiResult<Boolean> updatePassword(@Valid @RequestBody UpdatePasswordParam updatePasswordParam) throws Exception { | |||
return sysUserService.updatePassword(updatePasswordParam); | |||
} | |||
/** | |||
* 修改头像 | |||
*/ | |||
@PostMapping("/updateSysUserHead") | |||
@ApiOperation(value = "修改头像", notes = "修改头像", response = ApiResult.class) | |||
@OperateLogger(name = "修改头像", attributeId = "id", attributeName = "username") | |||
public ApiResult updateSysUserHead(@Valid @RequestBody SysUserUpdateQueryParam sysUserUpdateQueryParam) throws Exception { | |||
return sysUserService.updateSysUserHead(sysUserUpdateQueryParam); | |||
} | |||
/** | |||
* 后台修改用户信息(包含角色) | |||
*/ | |||
@PostMapping("/updateUserBack") | |||
@ApiOperation(value = "后台修改用户信息(包含角色)", notes = "后台修改用户信息(包含角色)", response = ApiResult.class) | |||
@OperateLogger(name = "管理员修改用户信息", attributeId = "id", attributeName = "username") | |||
public ApiResult updateUserBack(@Valid @RequestBody SysUserUpdateQueryParam sysUserUpdateQueryParam) throws Exception { | |||
return sysUserService.updateUserBack(sysUserUpdateQueryParam); | |||
} | |||
/** | |||
* 用户个人信息修改 | |||
*/ | |||
/** | |||
* 后台修改用户信息(包含角色) | |||
*/ | |||
@PostMapping("/updateUserNom") | |||
@ApiOperation(value = "个人修改用户信息", notes = "(包含角色", response = ApiResult.class) | |||
@OperateLogger(name = "个人修改用户信息", attributeId = "id", attributeName = "username") | |||
public ApiResult updateUserNom(@Valid @RequestBody SysUserUpdateQueryParam sysUserUpdateQueryParam) throws Exception { | |||
return sysUserService.updateUserNom(sysUserUpdateQueryParam); | |||
} | |||
/** | |||
* 重置密码 | |||
*/ | |||
@PostMapping("/resetPassword") | |||
@ApiOperation(value = "重置密码", notes = "重置密码", response = ApiResult.class) | |||
@OperateLogger(name = "重置密码", attributeId = "userId", attributeName = "username") | |||
public ApiResult resetPassword(@RequestBody UpdatePasswordParam updatePasswordParam) throws Exception { | |||
return sysUserService.resetPassword(updatePasswordParam); | |||
} | |||
/** | |||
* 后台用户获取列表 | |||
*/ | |||
@PostMapping("/getSysUserBackList") | |||
@ApiOperation(value = "获取SysUser分页列表", notes = "系统用户分页列表", response = SysUserQueryVo.class) | |||
public ApiResult<PageTool<SysUserBackQueryVo>> getSysUserBackList(@Valid @RequestBody SysUserBackQueryParam sysUserQueryParam) throws Exception { | |||
PageTool<SysUserBackQueryVo> pageList = sysUserService.getSysUserBackList(sysUserQueryParam); | |||
return ApiResult.ok(pageList); | |||
} | |||
/** | |||
* 获取系统用户 | |||
* 获取系统用户token | |||
*/ | |||
@GetMapping("/getSysUserByUserName") | |||
@GetMapping("/getSysUserById") | |||
@ApiOperation(value = "获取SysUser对象详情", notes = "查看系统用户", response = SysUserQueryVo.class) | |||
public ApiResult<SysUser> getSysUserByUserName(@RequestParam String username) throws Exception { | |||
SysUser sysUser = sysUserService.getSysUserByUserName(username); | |||
return ApiResult.ok(sysUser); | |||
public ApiResult getSysUser() throws Exception { | |||
return sysUserService.getSysUserById(); | |||
} | |||
/** | |||
* 系统用户分页列表 | |||
*/ | |||
@PostMapping("/getPageList") | |||
@PostMapping("/getUserPageList") | |||
@ApiOperation(value = "获取SysUser分页列表", notes = "系统用户分页列表", response = SysUserQueryVo.class) | |||
public ApiResult<PageTool<SysUserQueryVo>> getSysUserPageList(@Valid @RequestBody SysUserQueryParam sysUserQueryParam) throws Exception { | |||
PageTool<SysUserQueryVo> pageList = sysUserService.getSysUserPageList(sysUserQueryParam); | |||
return ApiResult.ok(pageList); | |||
} | |||
/** | |||
* 修改密码 | |||
*/ | |||
@PostMapping("/updatePassword") | |||
@ApiOperation(value = "修改密码", notes = "修改密码", response = ApiResult.class) | |||
public ApiResult<Boolean> updatePassword(@Valid @RequestBody UpdatePasswordParam updatePasswordParam) throws Exception { | |||
boolean flag = sysUserService.updatePassword(updatePasswordParam); | |||
return ApiResult.result(flag); | |||
} | |||
} | |||
@@ -0,0 +1,32 @@ | |||
package com.xdf.creative.module.entity; | |||
import lombok.Data; | |||
@Data | |||
public class FileUploadQuery { | |||
/** | |||
* 文件64位 | |||
*/ | |||
private String baseCodeFile; | |||
/** | |||
* 文件名称 | |||
*/ | |||
private String fileName; | |||
/** | |||
* 文件类型 | |||
*/ | |||
private String fileType; | |||
/** | |||
* 文件上传目录 | |||
*/ | |||
private String uploadPath; | |||
/** | |||
* 参数目录类型数字 | |||
*/ | |||
private Integer dirType; | |||
public FileUploadQuery() { | |||
} | |||
} |
@@ -0,0 +1,46 @@ | |||
package com.xdf.creative.module.entity; | |||
import com.baomidou.mybatisplus.annotation.IdType; | |||
import com.baomidou.mybatisplus.annotation.TableId; | |||
import com.xdf.creative.base.entity.BaseEntity; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.EqualsAndHashCode; | |||
import lombok.experimental.Accessors; | |||
import java.util.Date; | |||
/** | |||
* <p> | |||
* 相关附件表 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @since 2020-03-09 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@EqualsAndHashCode(callSuper = true) | |||
@ApiModel(value = "InfoAttachment对象", description = "相关附件表") | |||
public class InfoAttachment extends BaseEntity { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键id") | |||
@TableId(value = "id", type = IdType.AUTO) | |||
private Long id; | |||
@ApiModelProperty(value = "外键id") | |||
private String foreignId; | |||
@ApiModelProperty(value = "附件名称") | |||
private String attachmentName; | |||
@ApiModelProperty(value = "附件地址") | |||
private String attachmentAddress; | |||
@ApiModelProperty(value = "创建时间") | |||
private Date createTime; | |||
} |
@@ -0,0 +1,49 @@ | |||
package com.xdf.creative.module.entity; | |||
import com.baomidou.mybatisplus.annotation.IdType; | |||
import com.baomidou.mybatisplus.annotation.TableId; | |||
import com.xdf.creative.base.entity.BaseEntity; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.EqualsAndHashCode; | |||
import lombok.experimental.Accessors; | |||
import java.util.Date; | |||
/** | |||
* <p> | |||
* 信息退回 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @since 2020-03-09 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@EqualsAndHashCode(callSuper = true) | |||
@ApiModel(value = "InfoBack对象", description = "信息退回") | |||
public class InfoBack extends BaseEntity { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键id") | |||
@TableId(value = "id", type = IdType.AUTO) | |||
private Long id; | |||
@ApiModelProperty(value = "外键id") | |||
private String foreignId; | |||
@ApiModelProperty(value = "链接名称") | |||
private String reason; | |||
@ApiModelProperty(value = "退回类型 1、初审退回 2、终审退回") | |||
private Integer backType; | |||
@ApiModelProperty(value = "退回操作人") | |||
private Long createUser; | |||
@ApiModelProperty(value = "退回时间") | |||
private Date backTime; | |||
} |
@@ -0,0 +1,99 @@ | |||
package com.xdf.creative.module.entity; | |||
import com.baomidou.mybatisplus.annotation.IdType; | |||
import com.baomidou.mybatisplus.annotation.TableId; | |||
import com.xdf.creative.base.entity.BaseEntity; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.EqualsAndHashCode; | |||
import lombok.experimental.Accessors; | |||
import java.util.Date; | |||
/** | |||
* <p> | |||
* 信息内容 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @since 2020-03-09 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@EqualsAndHashCode(callSuper = true) | |||
@ApiModel(value = "InfoContent对象", description = "信息内容") | |||
public class InfoContent extends BaseEntity { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键id") | |||
@TableId(value = "id", type = IdType.AUTO) | |||
private Long id; | |||
@ApiModelProperty(value = "标题") | |||
private String title; | |||
@ApiModelProperty(value = "栏目类型id") | |||
private Long infoTypeId; | |||
@ApiModelProperty(value = "内容类型 0、图文形式 1 、超链接形式") | |||
private Integer contentType; | |||
@ApiModelProperty(value = "图片地址") | |||
private String imageUrl; | |||
@ApiModelProperty(value = "来源地址") | |||
private String sourceUrl; | |||
@ApiModelProperty(value = "作者") | |||
private String author; | |||
@ApiModelProperty(value = "外键id") | |||
private String foreignId; | |||
@ApiModelProperty(value = "内容状态 0 、草稿 1、待初审 2、待终审 3 终审通过 4、初审退回 5、终审退回") | |||
private Integer state; | |||
@ApiModelProperty(value = "创建用户") | |||
private Long createUser; | |||
@ApiModelProperty(value = "创建时间") | |||
private Date createTime; | |||
@ApiModelProperty(value = "创建时间") | |||
private Date updateTime; | |||
@ApiModelProperty(value = "提交时间") | |||
private Date submitTime; | |||
@ApiModelProperty(value = "初审人员") | |||
private Long firstAuditUser; | |||
@ApiModelProperty(value = "初审时间") | |||
private Date firstAuditTime; | |||
@ApiModelProperty(value = "终审人员") | |||
private Long finalAuditUser; | |||
@ApiModelProperty(value = "终审时间") | |||
private Date finalAuditTime; | |||
@ApiModelProperty(value = "排序") | |||
private Integer sort; | |||
@ApiModelProperty(value = "是否置顶 0否 1是") | |||
private Integer istop; | |||
@ApiModelProperty(value = "置顶时间") | |||
private Date istopTime; | |||
@ApiModelProperty(value = "上下状态 0 下线 1上线") | |||
private Integer onlineType; | |||
@ApiModelProperty(value = "逻辑删除,0:未删除,1:已删除") | |||
private Integer deleted; | |||
} |
@@ -0,0 +1,44 @@ | |||
package com.xdf.creative.module.entity; | |||
import com.baomidou.mybatisplus.annotation.IdType; | |||
import com.baomidou.mybatisplus.annotation.TableId; | |||
import com.xdf.creative.base.entity.BaseEntity; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.EqualsAndHashCode; | |||
import lombok.experimental.Accessors; | |||
/** | |||
* <p> | |||
* 信息详情 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @since 2020-03-09 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@EqualsAndHashCode(callSuper = true) | |||
@ApiModel(value = "InfoDetail对象", description = "信息详情") | |||
public class InfoDetail extends BaseEntity { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键id") | |||
@TableId(value = "id", type = IdType.AUTO) | |||
private Long id; | |||
@ApiModelProperty(value = "摘要") | |||
private String digest; | |||
@ApiModelProperty(value = "正文") | |||
private String content; | |||
@ApiModelProperty(value = "外键id") | |||
private String foreignId; | |||
@ApiModelProperty(value = "超链接") | |||
private String hyperlink; | |||
} |
@@ -0,0 +1,62 @@ | |||
package com.xdf.creative.module.entity; | |||
import com.baomidou.mybatisplus.annotation.IdType; | |||
import com.baomidou.mybatisplus.annotation.TableId; | |||
import com.xdf.creative.base.entity.BaseEntity; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.EqualsAndHashCode; | |||
import lombok.experimental.Accessors; | |||
import javax.validation.constraints.NotBlank; | |||
import javax.validation.constraints.NotNull; | |||
import java.util.Date; | |||
/** | |||
* <p> | |||
* 栏目类型 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @since 2020-03-06 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@EqualsAndHashCode(callSuper = true) | |||
@ApiModel(value = "InfoType对象", description = "栏目类型") | |||
public class InfoType extends BaseEntity { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键id") | |||
@TableId(value = "id", type = IdType.AUTO) | |||
private Long id; | |||
@ApiModelProperty(value = "栏目id") | |||
private String typeId; | |||
@ApiModelProperty(value = "栏目父id") | |||
@NotBlank(message = "父栏目不能为空!") | |||
private String typeParentId; | |||
@ApiModelProperty(value = "栏目名称") | |||
@NotBlank(message = "栏目名称不能为空!") | |||
private String infoName; | |||
@ApiModelProperty(value = "模型") | |||
private String modelName; | |||
@ApiModelProperty(value = "排列顺序") | |||
private Integer sort; | |||
@ApiModelProperty(value = "是否显示 0 不显示 1显示") | |||
private Integer state; | |||
@ApiModelProperty(value = "创建时间") | |||
private Date createTime; | |||
@ApiModelProperty(value = "创建用户") | |||
private Long createUserId; | |||
} |
@@ -0,0 +1,46 @@ | |||
package com.xdf.creative.module.entity; | |||
import com.baomidou.mybatisplus.annotation.IdType; | |||
import com.baomidou.mybatisplus.annotation.TableId; | |||
import com.xdf.creative.base.entity.BaseEntity; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.EqualsAndHashCode; | |||
import lombok.experimental.Accessors; | |||
import java.util.Date; | |||
/** | |||
* <p> | |||
* 相关链接 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @since 2020-03-09 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@EqualsAndHashCode(callSuper = true) | |||
@ApiModel(value = "InfoUrl对象", description = "相关链接") | |||
public class InfoUrl extends BaseEntity { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键id") | |||
@TableId(value = "id", type = IdType.AUTO) | |||
private Long id; | |||
@ApiModelProperty(value = "外键id") | |||
private String foreignId; | |||
@ApiModelProperty(value = "链接名称") | |||
private String name; | |||
@ApiModelProperty(value = "链接url") | |||
private String url; | |||
@ApiModelProperty(value = "创建时间") | |||
private Date createTime; | |||
} |
@@ -0,0 +1,51 @@ | |||
package com.xdf.creative.module.entity; | |||
import com.baomidou.mybatisplus.annotation.IdType; | |||
import com.baomidou.mybatisplus.annotation.TableId; | |||
import com.xdf.creative.base.entity.BaseEntity; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.EqualsAndHashCode; | |||
import lombok.experimental.Accessors; | |||
import javax.validation.constraints.NotBlank; | |||
import java.util.Date; | |||
/** | |||
* <p> | |||
* 词管理 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @since 2020-03-06 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@EqualsAndHashCode(callSuper = true) | |||
@ApiModel(value = "InfoWordManage对象", description = "词管理") | |||
public class InfoWordManage extends BaseEntity { | |||
private static final long serialVersionUID = 1L; | |||
@TableId(value = "id", type = IdType.AUTO) | |||
private Long id; | |||
@ApiModelProperty(value = "敏感词") | |||
@NotBlank(message = "敏感词不能为空") | |||
private String word; | |||
@ApiModelProperty(value = "替换内容") | |||
@NotBlank(message = "替换内容不能为空") | |||
private String replaceContent; | |||
@ApiModelProperty(value = "维护人") | |||
private Long accendantUser; | |||
@ApiModelProperty(value = "维护时间") | |||
private Date accendantTime; | |||
@ApiModelProperty(value = "修改时间") | |||
private Date updateTime; | |||
} |
@@ -0,0 +1,50 @@ | |||
package com.xdf.creative.module.entity; | |||
import com.baomidou.mybatisplus.annotation.IdType; | |||
import com.baomidou.mybatisplus.annotation.TableId; | |||
import com.xdf.creative.base.entity.BaseEntity; | |||
import io.swagger.annotations.ApiModel; | |||
import lombok.Data; | |||
import lombok.EqualsAndHashCode; | |||
import lombok.experimental.Accessors; | |||
import java.util.Date; | |||
/** | |||
* <p> | |||
* | |||
* </p> | |||
* | |||
* @author lgw | |||
* @since 2020-03-05 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@EqualsAndHashCode(callSuper = true) | |||
@ApiModel(value = "OauthToken对象", description = "") | |||
public class OauthToken extends BaseEntity { | |||
private static final long serialVersionUID = 1L; | |||
@TableId(value = "id", type = IdType.AUTO) | |||
private Long id; | |||
private String accessToken; | |||
private Long userId; | |||
private String permissions; | |||
private String roles; | |||
/** | |||
* 是否刷新token 0 否 1是 | |||
*/ | |||
private Integer refreshToken; | |||
private Date expireTime; | |||
private Date createTime; | |||
private Date updateTime; | |||
} |
@@ -0,0 +1,55 @@ | |||
package com.xdf.creative.module.entity; | |||
import com.baomidou.mybatisplus.annotation.IdType; | |||
import com.baomidou.mybatisplus.annotation.TableId; | |||
import com.xdf.creative.base.entity.BaseEntity; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.EqualsAndHashCode; | |||
import lombok.experimental.Accessors; | |||
import java.util.Date; | |||
/** | |||
* <p> | |||
* 账户登录日志 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @since 2020-03-06 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@EqualsAndHashCode(callSuper = true) | |||
@ApiModel(value = "SysAccountLog对象", description = "账户登录日志") | |||
public class SysAccountLog extends BaseEntity { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键id") | |||
@TableId(value = "id", type = IdType.AUTO) | |||
private Long id; | |||
@ApiModelProperty(value = "用户id") | |||
private Long userId; | |||
@ApiModelProperty(value = "ip地址") | |||
private String ip; | |||
@ApiModelProperty(value = "操作名称") | |||
private String name; | |||
@ApiModelProperty(value = "操作内容") | |||
private String content; | |||
@ApiModelProperty(value = "创建时间") | |||
private Date createTime; | |||
@ApiModelProperty(value = "方法名称") | |||
private String method; | |||
@ApiModelProperty(value = "类型 1登录成功 2登录失败") | |||
private Integer type; | |||
} |
@@ -0,0 +1,54 @@ | |||
package com.xdf.creative.module.entity; | |||
import com.baomidou.mybatisplus.annotation.IdType; | |||
import com.baomidou.mybatisplus.annotation.TableId; | |||
import com.xdf.creative.base.entity.BaseEntity; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.EqualsAndHashCode; | |||
import lombok.experimental.Accessors; | |||
import java.util.Date; | |||
/** | |||
* <p> | |||
* 账户操作日志 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @since 2020-03-06 | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@EqualsAndHashCode(callSuper = true) | |||
@ApiModel(value = "SysOperateLog对象", description = "账户操作日志") | |||
public class SysOperateLog extends BaseEntity { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键id") | |||
@TableId(value = "id", type = IdType.AUTO) | |||
private Long id; | |||
@ApiModelProperty(value = "用户id") | |||
private Long userId; | |||
@ApiModelProperty(value = "ip地址") | |||
private String ip; | |||
@ApiModelProperty(value = "操作名称") | |||
private String name; | |||
@ApiModelProperty(value = "操作内容") | |||
private String content; | |||
@ApiModelProperty(value = "创建时间") | |||
private Date createTime; | |||
@ApiModelProperty(value = "方法名称") | |||
private String method; | |||
private String detail; | |||
} |
@@ -34,7 +34,7 @@ public class SysOrganize extends BaseEntity { | |||
private String organizeName; | |||
@ApiModelProperty(value = "管辖区域") | |||
private Long popedom_id; | |||
private Long popedomId; | |||
@ApiModelProperty(value = "类型: 0 普通用户 1、园区用户 2 区文创办 3市文创办 8后台管理 ") | |||
private Integer organizeType; |
@@ -32,7 +32,7 @@ public class SysRole extends BaseEntity { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键") | |||
@TableId(value = "id", type = IdType.ID_WORKER) | |||
@TableId(value = "id", type = IdType.AUTO) | |||
private Long id; | |||
@ApiModelProperty(value = "角色名称") | |||
@@ -64,4 +64,7 @@ public class SysRole extends BaseEntity { | |||
@Null(message = "修改时间不用传") | |||
private Date updateTime; | |||
@ApiModelProperty(value = "逻辑删除,0:未删除,1:已删除") | |||
private Integer deleted; | |||
} |
@@ -33,7 +33,7 @@ public class SysUser extends BaseEntity { | |||
private static final long serialVersionUID = 1L; | |||
@ApiModelProperty(value = "主键") | |||
@TableId(value = "id", type = IdType.ID_WORKER) | |||
@TableId(value = "id", type = IdType.AUTO) | |||
private Long id; | |||
@ApiModelProperty(value = "用户名") | |||
@@ -44,7 +44,6 @@ public class SysUser extends BaseEntity { | |||
private String nickname; | |||
@ApiModelProperty(value = "密码") | |||
@NotBlank(message = "密码不能为空") | |||
private String password; | |||
@ApiModelProperty(value = "盐值") |
@@ -0,0 +1,42 @@ | |||
package com.xdf.creative.module.mapper; | |||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; | |||
import com.baomidou.mybatisplus.core.metadata.IPage; | |||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | |||
import com.xdf.creative.base.params.creative.InfoAttachmentQueryParam; | |||
import com.xdf.creative.base.vo.creative.InfoAttachmentQueryVo; | |||
import com.xdf.creative.module.entity.InfoAttachment; | |||
import org.apache.ibatis.annotations.Param; | |||
import org.springframework.stereotype.Repository; | |||
import java.io.Serializable; | |||
/** | |||
* <p> | |||
* 相关附件表 Mapper 接口 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @since 2020-03-09 | |||
*/ | |||
@Repository | |||
public interface InfoAttachmentMapper extends BaseMapper<InfoAttachment> { | |||
/** | |||
* 根据ID获取查询对象 | |||
* | |||
* @param id | |||
* @return | |||
*/ | |||
InfoAttachmentQueryVo getInfoAttachmentById(Serializable id); | |||
/** | |||
* 获取分页对象 | |||
* | |||
* @param page | |||
* @param infoAttachmentQueryParam | |||
* @return | |||
*/ | |||
IPage<InfoAttachmentQueryVo> getInfoAttachmentPageList(@Param("page") Page page, @Param("param") InfoAttachmentQueryParam infoAttachmentQueryParam); | |||
} |
@@ -0,0 +1,42 @@ | |||
package com.xdf.creative.module.mapper; | |||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; | |||
import com.baomidou.mybatisplus.core.metadata.IPage; | |||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | |||
import com.xdf.creative.base.params.creative.InfoBackQueryParam; | |||
import com.xdf.creative.base.vo.creative.InfoBackQueryVo; | |||
import com.xdf.creative.module.entity.InfoBack; | |||
import org.apache.ibatis.annotations.Param; | |||
import org.springframework.stereotype.Repository; | |||
import java.io.Serializable; | |||
/** | |||
* <p> | |||
* 信息退回 Mapper 接口 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @since 2020-03-09 | |||
*/ | |||
@Repository | |||
public interface InfoBackMapper extends BaseMapper<InfoBack> { | |||
/** | |||
* 根据ID获取查询对象 | |||
* | |||
* @param id | |||
* @return | |||
*/ | |||
InfoBackQueryVo getInfoBackById(Serializable id); | |||
/** | |||
* 获取分页对象 | |||
* | |||
* @param page | |||
* @param infoBackQueryParam | |||
* @return | |||
*/ | |||
IPage<InfoBackQueryVo> getInfoBackPageList(@Param("page") Page page, @Param("param") InfoBackQueryParam infoBackQueryParam); | |||
} |
@@ -0,0 +1,82 @@ | |||
package com.xdf.creative.module.mapper; | |||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; | |||
import com.baomidou.mybatisplus.core.metadata.IPage; | |||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | |||
import com.xdf.creative.base.params.creative.InfoContentBackSearchQueryParam; | |||
import com.xdf.creative.base.params.creative.InfoContentHomePageQueryParam; | |||
import com.xdf.creative.base.params.creative.InfoContentQueryParam; | |||
import com.xdf.creative.base.params.creative.InfoContentWebSearchQueryParam; | |||
import com.xdf.creative.base.vo.creative.*; | |||
import com.xdf.creative.module.entity.InfoContent; | |||
import org.apache.ibatis.annotations.Param; | |||
import org.springframework.stereotype.Repository; | |||
import java.io.Serializable; | |||
import java.util.List; | |||
/** | |||
* <p> | |||
* 信息内容 Mapper 接口 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @since 2020-03-09 | |||
*/ | |||
@Repository | |||
public interface InfoContentMapper extends BaseMapper<InfoContent> { | |||
/** | |||
* 首页显示新闻 | |||
* | |||
* @param infoContentHomePageQueryParam | |||
* @return | |||
*/ | |||
List<InfoContentHomePageQueryVo> getHomePageInfo(@Param("param") InfoContentHomePageQueryParam infoContentHomePageQueryParam); | |||
/** | |||
* 首页新闻搜索 | |||
*/ | |||
IPage<InfoContentWebSearchQueryVo> getSearchWebInfo(@Param("page") Page page, @Param("param") InfoContentWebSearchQueryParam infoContentWebSearchQueryParam); | |||
/** | |||
* 后台发布列表 | |||
*/ | |||
IPage<InfoContentBackSearchQueryVo> getInfoContentByAdd(@Param("page") Page page, @Param("param") InfoContentBackSearchQueryParam infoContentBackSearchQueryParam); | |||
/** | |||
* 后台初审列表 | |||
*/ | |||
IPage<InfoContentBackSearchQueryVo> getInfoContentByFirstAudit(@Param("page") Page page, @Param("param") InfoContentBackSearchQueryParam infoContentBackSearchQueryParam); | |||
/** | |||
* 后台终审列表 | |||
*/ | |||
IPage<InfoContentBackSearchQueryVo> getInfoContentByFinalAudit(@Param("page") Page page, @Param("param") InfoContentBackSearchQueryParam infoContentBackSearchQueryParam); | |||
/** | |||
* 后台终审列表 | |||
*/ | |||
IPage<InfoContentRecycleSearchQueryVo> getInfoContentByRecycle(@Param("page") Page page, @Param("param") InfoContentBackSearchQueryParam infoContentBackSearchQueryParam); | |||
/** | |||
* 根据ID获取查询对象 | |||
* | |||
* @param id | |||
* @return | |||
*/ | |||
InfoContentQueryVo getInfoContentById(Serializable id); | |||
/** | |||
* 获取分页对象 | |||
* | |||
* @param page | |||
* @param infoContentQueryParam | |||
* @return | |||
*/ | |||
IPage<InfoContentQueryVo> getInfoContentPageList(@Param("page") Page page, @Param("param") InfoContentQueryParam infoContentQueryParam); | |||
} |
@@ -0,0 +1,42 @@ | |||
package com.xdf.creative.module.mapper; | |||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; | |||
import com.baomidou.mybatisplus.core.metadata.IPage; | |||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | |||
import com.xdf.creative.base.params.creative.InfoDetailQueryParam; | |||
import com.xdf.creative.base.vo.creative.InfoDetailQueryVo; | |||
import com.xdf.creative.module.entity.InfoDetail; | |||
import org.apache.ibatis.annotations.Param; | |||
import org.springframework.stereotype.Repository; | |||
import java.io.Serializable; | |||
/** | |||
* <p> | |||
* 信息详情 Mapper 接口 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @since 2020-03-09 | |||
*/ | |||
@Repository | |||
public interface InfoDetailMapper extends BaseMapper<InfoDetail> { | |||
/** | |||
* 根据ID获取查询对象 | |||
* | |||
* @param id | |||
* @return | |||
*/ | |||
InfoDetailQueryVo getInfoDetailById(Serializable id); | |||
/** | |||
* 获取分页对象 | |||
* | |||
* @param page | |||
* @param infoDetailQueryParam | |||
* @return | |||
*/ | |||
IPage<InfoDetailQueryVo> getInfoDetailPageList(@Param("page") Page page, @Param("param") InfoDetailQueryParam infoDetailQueryParam); | |||
} |
@@ -0,0 +1,42 @@ | |||
package com.xdf.creative.module.mapper; | |||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; | |||
import com.baomidou.mybatisplus.core.metadata.IPage; | |||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | |||
import com.xdf.creative.base.params.creative.InfoTypeQueryParam; | |||
import com.xdf.creative.base.vo.creative.InfoTypeQueryVo; | |||
import com.xdf.creative.module.entity.InfoType; | |||
import org.apache.ibatis.annotations.Param; | |||
import org.springframework.stereotype.Repository; | |||
import java.io.Serializable; | |||
/** | |||
* <p> | |||
* 栏目类型 Mapper 接口 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @since 2020-03-06 | |||
*/ | |||
@Repository | |||
public interface InfoTypeMapper extends BaseMapper<InfoType> { | |||
/** | |||
* 根据ID获取查询对象 | |||
* | |||
* @param id | |||
* @return | |||
*/ | |||
InfoTypeQueryVo getInfoTypeById(Serializable id); | |||
/** | |||
* 获取分页对象 | |||
* | |||
* @param page | |||
* @param infoTypeQueryParam | |||
* @return | |||
*/ | |||
IPage<InfoTypeQueryVo> getInfoTypePageList(@Param("page") Page page, @Param("param") InfoTypeQueryParam infoTypeQueryParam); | |||
} |
@@ -0,0 +1,42 @@ | |||
package com.xdf.creative.module.mapper; | |||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; | |||
import com.baomidou.mybatisplus.core.metadata.IPage; | |||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | |||
import com.xdf.creative.base.params.creative.InfoUrlQueryParam; | |||
import com.xdf.creative.base.vo.creative.InfoUrlQueryVo; | |||
import com.xdf.creative.module.entity.InfoUrl; | |||
import org.apache.ibatis.annotations.Param; | |||
import org.springframework.stereotype.Repository; | |||
import java.io.Serializable; | |||
/** | |||
* <p> | |||
* 相关链接 Mapper 接口 | |||
* </p> | |||
* | |||
* @author lgw | |||
* @since 2020-03-09 | |||
*/ | |||
@Repository | |||
public interface InfoUrlMapper extends BaseMapper<InfoUrl> { | |||
/** | |||
* 根据ID获取查询对象 | |||
* | |||
* @param id | |||
* @return | |||
*/ | |||
InfoUrlQueryVo getInfoUrlById(Serializable id); | |||
/** | |||
* 获取分页对象 | |||
* | |||
* @param page | |||
* @param infoUrlQueryParam | |||
* @return | |||
*/ | |||
IPage<InfoUrlQueryVo> getInfoUrlPageList(@Param("page") Page page, @Param("param") InfoUrlQueryParam infoUrlQueryParam); | |||
} |