From 110e45d8c9747b8d45468fff6fb925f8c1341aa5 Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期三, 26 四月 2023 17:21:33 +0800 Subject: [PATCH] delete old files --- /dev/null | 284 -------------------------------------------------------- 1 files changed, 0 insertions(+), 284 deletions(-) diff --git a/LICENSE b/LICENSE deleted file mode 100644 index e1fd273..0000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2023 - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/README.md b/README.md deleted file mode 100644 index e69de29..0000000 --- a/README.md +++ /dev/null diff --git a/hrt-api/hrt-api-system/pom.xml b/hrt-api/hrt-api-system/pom.xml deleted file mode 100644 index 74ecb1b..0000000 --- a/hrt-api/hrt-api-system/pom.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns="http://maven.apache.org/POM/4.0.0" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <parent> - <groupId>com.hrt</groupId> - <artifactId>hrt-api</artifactId> - <version>3.6.2</version> - </parent> - <modelVersion>4.0.0</modelVersion> - - <artifactId>hrt-api-system</artifactId> - - <description> - hrt-api-system系统接口模块 - </description> - - <dependencies> - - <!-- hrt Common Core--> - <dependency> - <groupId>com.hrt</groupId> - <artifactId>hrt-common-core</artifactId> - </dependency> - - <!--lombok的依赖,为了优化实体类,可以不去实现实体类的set()、get()--> - <dependency> - <groupId>org.projectlombok</groupId> - <artifactId>lombok</artifactId> - <optional>true</optional> - </dependency> - - </dependencies> - -</project> \ No newline at end of file diff --git a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/RemoteFileService.java b/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/RemoteFileService.java deleted file mode 100644 index c301093..0000000 --- a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/RemoteFileService.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.hrt.system.api; - -import com.hrt.system.api.factory.RemoteFileFallbackFactory; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.http.MediaType; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestPart; -import org.springframework.web.multipart.MultipartFile; -import com.hrt.common.core.constant.ServiceNameConstants; -import com.hrt.common.core.domain.R; -import com.hrt.system.api.domain.SysFile; - -/** - * 文件服务 - * - * @author jqs - */ -@FeignClient(contextId = "remoteFileService", value = ServiceNameConstants.FILE_SERVICE, fallbackFactory = RemoteFileFallbackFactory.class) -public interface RemoteFileService -{ - /** - * 上传文件 - * - * @param file 文件信息 - * @return 结果 - */ - @PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) - public R<SysFile> upload(@RequestPart(value = "file") MultipartFile file); -} diff --git a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/RemoteLogService.java b/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/RemoteLogService.java deleted file mode 100644 index 1d5670f..0000000 --- a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/RemoteLogService.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.hrt.system.api; - -import com.hrt.system.api.domain.SysLogininfor; -import com.hrt.system.api.domain.SysOperLog; -import com.hrt.system.api.factory.RemoteLogFallbackFactory; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestHeader; -import com.hrt.common.core.constant.SecurityConstants; -import com.hrt.common.core.constant.ServiceNameConstants; -import com.hrt.common.core.domain.R; - -/** - * 日志服务 - * - * @author jqs - */ -@FeignClient(contextId = "remoteLogService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteLogFallbackFactory.class) -public interface RemoteLogService -{ - /** - * 保存系统日志 - * - * @param sysOperLog 日志实体 - * @param source 请求来源 - * @return 结果 - */ - @PostMapping("/operlog") - public R<Boolean> saveLog(@RequestBody SysOperLog sysOperLog, @RequestHeader(SecurityConstants.FROM_SOURCE) String source) throws Exception; - - /** - * 保存访问记录 - * - * @param sysLogininfor 访问实体 - * @param source 请求来源 - * @return 结果 - */ - @PostMapping("/logininfor") - public R<Boolean> saveLogininfor(@RequestBody SysLogininfor sysLogininfor, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); -} diff --git a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/RemoteUserService.java b/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/RemoteUserService.java deleted file mode 100644 index 793035c..0000000 --- a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/RemoteUserService.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.hrt.system.api; - -import com.hrt.system.api.domain.SysUser; -import com.hrt.system.api.factory.RemoteUserFallbackFactory; -import com.hrt.system.api.model.AppMiniLoginDto; -import com.hrt.system.api.model.AppMiniLoginVo; -import com.hrt.system.api.model.LoginUser; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestHeader; -import com.hrt.common.core.constant.SecurityConstants; -import com.hrt.common.core.constant.ServiceNameConstants; -import com.hrt.common.core.domain.R; - -/** - * 用户服务 - * - * @author jqs - */ -@FeignClient(contextId = "remoteUserService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteUserFallbackFactory.class) -public interface RemoteUserService -{ - /** - * 通过用户名查询用户信息 - * - * @param username 用户名 - * @param source 请求来源 - * @return 结果 - */ - @GetMapping("/user/info/{username}") - public R<LoginUser> getUserInfo(@PathVariable("username") String username, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); - - /** - * 注册用户信息 - * - * @param sysUser 用户信息 - * @param source 请求来源 - * @return 结果 - */ - @PostMapping("/user/register") - public R<Boolean> registerUserInfo(@RequestBody SysUser sysUser, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); - - - /** - * 小程序登录 - * @param appMiniLoginDto - * @return - */ - @PostMapping("/user/miniLogin") - public R<AppMiniLoginVo> miniLogin(@RequestBody AppMiniLoginDto appMiniLoginDto); -} diff --git a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysDept.java b/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysDept.java deleted file mode 100644 index 018d543..0000000 --- a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysDept.java +++ /dev/null @@ -1,203 +0,0 @@ -package com.hrt.system.api.domain; - -import java.util.ArrayList; -import java.util.List; -import javax.validation.constraints.Email; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.hrt.common.core.web.domain.BaseEntity; - -/** - * 部门表 sys_dept - * - * @author jqs - */ -public class SysDept extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** 部门ID */ - private Long deptId; - - /** 父部门ID */ - private Long parentId; - - /** 祖级列表 */ - private String ancestors; - - /** 部门名称 */ - private String deptName; - - /** 显示顺序 */ - private Integer orderNum; - - /** 负责人 */ - private String leader; - - /** 联系电话 */ - private String phone; - - /** 邮箱 */ - private String email; - - /** 部门状态:0正常,1停用 */ - private String status; - - /** 删除标志(0代表存在 2代表删除) */ - private String delFlag; - - /** 父部门名称 */ - private String parentName; - - /** 子部门 */ - private List<SysDept> children = new ArrayList<SysDept>(); - - public Long getDeptId() - { - return deptId; - } - - public void setDeptId(Long deptId) - { - this.deptId = deptId; - } - - public Long getParentId() - { - return parentId; - } - - public void setParentId(Long parentId) - { - this.parentId = parentId; - } - - public String getAncestors() - { - return ancestors; - } - - public void setAncestors(String ancestors) - { - this.ancestors = ancestors; - } - - @NotBlank(message = "部门名称不能为空") - @Size(min = 0, max = 30, message = "部门名称长度不能超过30个字符") - public String getDeptName() - { - return deptName; - } - - public void setDeptName(String deptName) - { - this.deptName = deptName; - } - - @NotNull(message = "显示顺序不能为空") - public Integer getOrderNum() - { - return orderNum; - } - - public void setOrderNum(Integer orderNum) - { - this.orderNum = orderNum; - } - - public String getLeader() - { - return leader; - } - - public void setLeader(String leader) - { - this.leader = leader; - } - - @Size(min = 0, max = 11, message = "联系电话长度不能超过11个字符") - public String getPhone() - { - return phone; - } - - public void setPhone(String phone) - { - this.phone = phone; - } - - @Email(message = "邮箱格式不正确") - @Size(min = 0, max = 50, message = "邮箱长度不能超过50个字符") - public String getEmail() - { - return email; - } - - public void setEmail(String email) - { - this.email = email; - } - - public String getStatus() - { - return status; - } - - public void setStatus(String status) - { - this.status = status; - } - - public String getDelFlag() - { - return delFlag; - } - - public void setDelFlag(String delFlag) - { - this.delFlag = delFlag; - } - - public String getParentName() - { - return parentName; - } - - public void setParentName(String parentName) - { - this.parentName = parentName; - } - - public List<SysDept> getChildren() - { - return children; - } - - public void setChildren(List<SysDept> children) - { - this.children = children; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("deptId", getDeptId()) - .append("parentId", getParentId()) - .append("ancestors", getAncestors()) - .append("deptName", getDeptName()) - .append("orderNum", getOrderNum()) - .append("leader", getLeader()) - .append("phone", getPhone()) - .append("email", getEmail()) - .append("status", getStatus()) - .append("delFlag", getDelFlag()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .append("updateBy", getUpdateBy()) - .append("updateTime", getUpdateTime()) - .toString(); - } -} diff --git a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysDictData.java b/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysDictData.java deleted file mode 100644 index 15ce0b6..0000000 --- a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysDictData.java +++ /dev/null @@ -1,176 +0,0 @@ -package com.hrt.system.api.domain; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.Size; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.hrt.common.core.annotation.Excel; -import com.hrt.common.core.annotation.Excel.ColumnType; -import com.hrt.common.core.constant.UserConstants; -import com.hrt.common.core.web.domain.BaseEntity; - -/** - * 字典数据表 sys_dict_data - * - * @author jqs - */ -public class SysDictData extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** 字典编码 */ - @Excel(name = "字典编码", cellType = ColumnType.NUMERIC) - private Long dictCode; - - /** 字典排序 */ - @Excel(name = "字典排序", cellType = ColumnType.NUMERIC) - private Long dictSort; - - /** 字典标签 */ - @Excel(name = "字典标签") - private String dictLabel; - - /** 字典键值 */ - @Excel(name = "字典键值") - private String dictValue; - - /** 字典类型 */ - @Excel(name = "字典类型") - private String dictType; - - /** 样式属性(其他样式扩展) */ - private String cssClass; - - /** 表格字典样式 */ - private String listClass; - - /** 是否默认(Y是 N否) */ - @Excel(name = "是否默认", readConverterExp = "Y=是,N=否") - private String isDefault; - - /** 状态(0正常 1停用) */ - @Excel(name = "状态", readConverterExp = "0=正常,1=停用") - private String status; - - public Long getDictCode() - { - return dictCode; - } - - public void setDictCode(Long dictCode) - { - this.dictCode = dictCode; - } - - public Long getDictSort() - { - return dictSort; - } - - public void setDictSort(Long dictSort) - { - this.dictSort = dictSort; - } - - @NotBlank(message = "字典标签不能为空") - @Size(min = 0, max = 100, message = "字典标签长度不能超过100个字符") - public String getDictLabel() - { - return dictLabel; - } - - public void setDictLabel(String dictLabel) - { - this.dictLabel = dictLabel; - } - - @NotBlank(message = "字典键值不能为空") - @Size(min = 0, max = 100, message = "字典键值长度不能超过100个字符") - public String getDictValue() - { - return dictValue; - } - - public void setDictValue(String dictValue) - { - this.dictValue = dictValue; - } - - @NotBlank(message = "字典类型不能为空") - @Size(min = 0, max = 100, message = "字典类型长度不能超过100个字符") - public String getDictType() - { - return dictType; - } - - public void setDictType(String dictType) - { - this.dictType = dictType; - } - - @Size(min = 0, max = 100, message = "样式属性长度不能超过100个字符") - public String getCssClass() - { - return cssClass; - } - - public void setCssClass(String cssClass) - { - this.cssClass = cssClass; - } - - public String getListClass() - { - return listClass; - } - - public void setListClass(String listClass) - { - this.listClass = listClass; - } - - public boolean getDefault() - { - return UserConstants.YES.equals(this.isDefault); - } - - public String getIsDefault() - { - return isDefault; - } - - public void setIsDefault(String isDefault) - { - this.isDefault = isDefault; - } - - public String getStatus() - { - return status; - } - - public void setStatus(String status) - { - this.status = status; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("dictCode", getDictCode()) - .append("dictSort", getDictSort()) - .append("dictLabel", getDictLabel()) - .append("dictValue", getDictValue()) - .append("dictType", getDictType()) - .append("cssClass", getCssClass()) - .append("listClass", getListClass()) - .append("isDefault", getIsDefault()) - .append("status", getStatus()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .append("updateBy", getUpdateBy()) - .append("updateTime", getUpdateTime()) - .append("remark", getRemark()) - .toString(); - } -} diff --git a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysDictType.java b/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysDictType.java deleted file mode 100644 index 9719545..0000000 --- a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysDictType.java +++ /dev/null @@ -1,96 +0,0 @@ -package com.hrt.system.api.domain; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.Pattern; -import javax.validation.constraints.Size; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.hrt.common.core.annotation.Excel; -import com.hrt.common.core.annotation.Excel.ColumnType; -import com.hrt.common.core.web.domain.BaseEntity; - -/** - * 字典类型表 sys_dict_type - * - * @author jqs - */ -public class SysDictType extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** 字典主键 */ - @Excel(name = "字典主键", cellType = ColumnType.NUMERIC) - private Long dictId; - - /** 字典名称 */ - @Excel(name = "字典名称") - private String dictName; - - /** 字典类型 */ - @Excel(name = "字典类型") - private String dictType; - - /** 状态(0正常 1停用) */ - @Excel(name = "状态", readConverterExp = "0=正常,1=停用") - private String status; - - public Long getDictId() - { - return dictId; - } - - public void setDictId(Long dictId) - { - this.dictId = dictId; - } - - @NotBlank(message = "字典名称不能为空") - @Size(min = 0, max = 100, message = "字典类型名称长度不能超过100个字符") - public String getDictName() - { - return dictName; - } - - public void setDictName(String dictName) - { - this.dictName = dictName; - } - - @NotBlank(message = "字典类型不能为空") - @Size(min = 0, max = 100, message = "字典类型类型长度不能超过100个字符") - @Pattern(regexp = "^[a-z][a-z0-9_]*$", message = "字典类型必须以字母开头,且只能为(小写字母,数字,下滑线)") - public String getDictType() - { - return dictType; - } - - public void setDictType(String dictType) - { - this.dictType = dictType; - } - - public String getStatus() - { - return status; - } - - public void setStatus(String status) - { - this.status = status; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("dictId", getDictId()) - .append("dictName", getDictName()) - .append("dictType", getDictType()) - .append("status", getStatus()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .append("updateBy", getUpdateBy()) - .append("updateTime", getUpdateTime()) - .append("remark", getRemark()) - .toString(); - } -} diff --git a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysFile.java b/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysFile.java deleted file mode 100644 index 8b63952..0000000 --- a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysFile.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.hrt.system.api.domain; - -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; - -/** - * 文件信息 - * - * @author jqs - */ -public class SysFile -{ - /** - * 文件名称 - */ - private String name; - - /** - * 文件地址 - */ - private String url; - - public String getName() - { - return name; - } - - public void setName(String name) - { - this.name = name; - } - - public String getUrl() - { - return url; - } - - public void setUrl(String url) - { - this.url = url; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("name", getName()) - .append("url", getUrl()) - .toString(); - } -} diff --git a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysLogininfor.java b/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysLogininfor.java deleted file mode 100644 index 1d572a8..0000000 --- a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysLogininfor.java +++ /dev/null @@ -1,102 +0,0 @@ -package com.hrt.system.api.domain; - -import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.hrt.common.core.annotation.Excel; -import com.hrt.common.core.annotation.Excel.ColumnType; -import com.hrt.common.core.web.domain.BaseEntity; - -/** - * 系统访问记录表 sys_logininfor - * - * @author jqs - */ -public class SysLogininfor extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** ID */ - @Excel(name = "序号", cellType = ColumnType.NUMERIC) - private Long infoId; - - /** 用户账号 */ - @Excel(name = "用户账号") - private String userName; - - /** 状态 0成功 1失败 */ - @Excel(name = "状态", readConverterExp = "0=成功,1=失败") - private String status; - - /** 地址 */ - @Excel(name = "地址") - private String ipaddr; - - /** 描述 */ - @Excel(name = "描述") - private String msg; - - /** 访问时间 */ - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Excel(name = "访问时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") - private Date accessTime; - - public Long getInfoId() - { - return infoId; - } - - public void setInfoId(Long infoId) - { - this.infoId = infoId; - } - - public String getUserName() - { - return userName; - } - - public void setUserName(String userName) - { - this.userName = userName; - } - - public String getStatus() - { - return status; - } - - public void setStatus(String status) - { - this.status = status; - } - - public String getIpaddr() - { - return ipaddr; - } - - public void setIpaddr(String ipaddr) - { - this.ipaddr = ipaddr; - } - - public String getMsg() - { - return msg; - } - - public void setMsg(String msg) - { - this.msg = msg; - } - - public Date getAccessTime() - { - return accessTime; - } - - public void setAccessTime(Date accessTime) - { - this.accessTime = accessTime; - } -} \ No newline at end of file diff --git a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysOperLog.java b/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysOperLog.java deleted file mode 100644 index 47e3bc3..0000000 --- a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysOperLog.java +++ /dev/null @@ -1,255 +0,0 @@ -package com.hrt.system.api.domain; - -import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.hrt.common.core.annotation.Excel; -import com.hrt.common.core.annotation.Excel.ColumnType; -import com.hrt.common.core.web.domain.BaseEntity; - -/** - * 操作日志记录表 oper_log - * - * @author jqs - */ -public class SysOperLog extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** 日志主键 */ - @Excel(name = "操作序号", cellType = ColumnType.NUMERIC) - private Long operId; - - /** 操作模块 */ - @Excel(name = "操作模块") - private String title; - - /** 业务类型(0其它 1新增 2修改 3删除) */ - @Excel(name = "业务类型", readConverterExp = "0=其它,1=新增,2=修改,3=删除,4=授权,5=导出,6=导入,7=强退,8=生成代码,9=清空数据") - private Integer businessType; - - /** 业务类型数组 */ - private Integer[] businessTypes; - - /** 请求方法 */ - @Excel(name = "请求方法") - private String method; - - /** 请求方式 */ - @Excel(name = "请求方式") - private String requestMethod; - - /** 操作类别(0其它 1后台用户 2手机端用户) */ - @Excel(name = "操作类别", readConverterExp = "0=其它,1=后台用户,2=手机端用户") - private Integer operatorType; - - /** 操作人员 */ - @Excel(name = "操作人员") - private String operName; - - /** 部门名称 */ - @Excel(name = "部门名称") - private String deptName; - - /** 请求url */ - @Excel(name = "请求地址") - private String operUrl; - - /** 操作地址 */ - @Excel(name = "操作地址") - private String operIp; - - /** 请求参数 */ - @Excel(name = "请求参数") - private String operParam; - - /** 返回参数 */ - @Excel(name = "返回参数") - private String jsonResult; - - /** 操作状态(0正常 1异常) */ - @Excel(name = "状态", readConverterExp = "0=正常,1=异常") - private Integer status; - - /** 错误消息 */ - @Excel(name = "错误消息") - private String errorMsg; - - /** 操作时间 */ - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") - private Date operTime; - - /** 消耗时间 */ - @Excel(name = "消耗时间", suffix = "毫秒") - private Long costTime; - - public Long getOperId() - { - return operId; - } - - public void setOperId(Long operId) - { - this.operId = operId; - } - - public String getTitle() - { - return title; - } - - public void setTitle(String title) - { - this.title = title; - } - - public Integer getBusinessType() - { - return businessType; - } - - public void setBusinessType(Integer businessType) - { - this.businessType = businessType; - } - - public Integer[] getBusinessTypes() - { - return businessTypes; - } - - public void setBusinessTypes(Integer[] businessTypes) - { - this.businessTypes = businessTypes; - } - - public String getMethod() - { - return method; - } - - public void setMethod(String method) - { - this.method = method; - } - - public String getRequestMethod() - { - return requestMethod; - } - - public void setRequestMethod(String requestMethod) - { - this.requestMethod = requestMethod; - } - - public Integer getOperatorType() - { - return operatorType; - } - - public void setOperatorType(Integer operatorType) - { - this.operatorType = operatorType; - } - - public String getOperName() - { - return operName; - } - - public void setOperName(String operName) - { - this.operName = operName; - } - - public String getDeptName() - { - return deptName; - } - - public void setDeptName(String deptName) - { - this.deptName = deptName; - } - - public String getOperUrl() - { - return operUrl; - } - - public void setOperUrl(String operUrl) - { - this.operUrl = operUrl; - } - - public String getOperIp() - { - return operIp; - } - - public void setOperIp(String operIp) - { - this.operIp = operIp; - } - - public String getOperParam() - { - return operParam; - } - - public void setOperParam(String operParam) - { - this.operParam = operParam; - } - - public String getJsonResult() - { - return jsonResult; - } - - public void setJsonResult(String jsonResult) - { - this.jsonResult = jsonResult; - } - - public Integer getStatus() - { - return status; - } - - public void setStatus(Integer status) - { - this.status = status; - } - - public String getErrorMsg() - { - return errorMsg; - } - - public void setErrorMsg(String errorMsg) - { - this.errorMsg = errorMsg; - } - - public Date getOperTime() - { - return operTime; - } - - public void setOperTime(Date operTime) - { - this.operTime = operTime; - } - - public Long getCostTime() - { - return costTime; - } - - public void setCostTime(Long costTime) - { - this.costTime = costTime; - } -} diff --git a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysRole.java b/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysRole.java deleted file mode 100644 index cf2864c..0000000 --- a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysRole.java +++ /dev/null @@ -1,241 +0,0 @@ -package com.hrt.system.api.domain; - -import java.util.Set; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.hrt.common.core.annotation.Excel; -import com.hrt.common.core.annotation.Excel.ColumnType; -import com.hrt.common.core.web.domain.BaseEntity; - -/** - * 角色表 sys_role - * - * @author jqs - */ -public class SysRole extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** 角色ID */ - @Excel(name = "角色序号", cellType = ColumnType.NUMERIC) - private Long roleId; - - /** 角色名称 */ - @Excel(name = "角色名称") - private String roleName; - - /** 角色权限 */ - @Excel(name = "角色权限") - private String roleKey; - - /** 角色排序 */ - @Excel(name = "角色排序") - private Integer roleSort; - - /** 数据范围(1:所有数据权限;2:自定义数据权限;3:本部门数据权限;4:本部门及以下数据权限;5:仅本人数据权限) */ - @Excel(name = "数据范围", readConverterExp = "1=所有数据权限,2=自定义数据权限,3=本部门数据权限,4=本部门及以下数据权限,5=仅本人数据权限") - private String dataScope; - - /** 菜单树选择项是否关联显示( 0:父子不互相关联显示 1:父子互相关联显示) */ - private boolean menuCheckStrictly; - - /** 部门树选择项是否关联显示(0:父子不互相关联显示 1:父子互相关联显示 ) */ - private boolean deptCheckStrictly; - - /** 角色状态(0正常 1停用) */ - @Excel(name = "角色状态", readConverterExp = "0=正常,1=停用") - private String status; - - /** 删除标志(0代表存在 2代表删除) */ - private String delFlag; - - /** 用户是否存在此角色标识 默认不存在 */ - private boolean flag = false; - - /** 菜单组 */ - private Long[] menuIds; - - /** 部门组(数据权限) */ - private Long[] deptIds; - - /** 角色菜单权限 */ - private Set<String> permissions; - - public SysRole() - { - - } - - public SysRole(Long roleId) - { - this.roleId = roleId; - } - - public Long getRoleId() - { - return roleId; - } - - public void setRoleId(Long roleId) - { - this.roleId = roleId; - } - - public boolean isAdmin() - { - return isAdmin(this.roleId); - } - - public static boolean isAdmin(Long roleId) - { - return roleId != null && 1L == roleId; - } - - @NotBlank(message = "角色名称不能为空") - @Size(min = 0, max = 30, message = "角色名称长度不能超过30个字符") - public String getRoleName() - { - return roleName; - } - - public void setRoleName(String roleName) - { - this.roleName = roleName; - } - - @NotBlank(message = "权限字符不能为空") - @Size(min = 0, max = 100, message = "权限字符长度不能超过100个字符") - public String getRoleKey() - { - return roleKey; - } - - public void setRoleKey(String roleKey) - { - this.roleKey = roleKey; - } - - @NotNull(message = "显示顺序不能为空") - public Integer getRoleSort() - { - return roleSort; - } - - public void setRoleSort(Integer roleSort) - { - this.roleSort = roleSort; - } - - public String getDataScope() - { - return dataScope; - } - - public void setDataScope(String dataScope) - { - this.dataScope = dataScope; - } - - public boolean isMenuCheckStrictly() - { - return menuCheckStrictly; - } - - public void setMenuCheckStrictly(boolean menuCheckStrictly) - { - this.menuCheckStrictly = menuCheckStrictly; - } - - public boolean isDeptCheckStrictly() - { - return deptCheckStrictly; - } - - public void setDeptCheckStrictly(boolean deptCheckStrictly) - { - this.deptCheckStrictly = deptCheckStrictly; - } - - public String getStatus() - { - return status; - } - - public void setStatus(String status) - { - this.status = status; - } - - public String getDelFlag() - { - return delFlag; - } - - public void setDelFlag(String delFlag) - { - this.delFlag = delFlag; - } - - public boolean isFlag() - { - return flag; - } - - public void setFlag(boolean flag) - { - this.flag = flag; - } - - public Long[] getMenuIds() - { - return menuIds; - } - - public void setMenuIds(Long[] menuIds) - { - this.menuIds = menuIds; - } - - public Long[] getDeptIds() - { - return deptIds; - } - - public void setDeptIds(Long[] deptIds) - { - this.deptIds = deptIds; - } - - public Set<String> getPermissions() - { - return permissions; - } - - public void setPermissions(Set<String> permissions) - { - this.permissions = permissions; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("roleId", getRoleId()) - .append("roleName", getRoleName()) - .append("roleKey", getRoleKey()) - .append("roleSort", getRoleSort()) - .append("dataScope", getDataScope()) - .append("menuCheckStrictly", isMenuCheckStrictly()) - .append("deptCheckStrictly", isDeptCheckStrictly()) - .append("status", getStatus()) - .append("delFlag", getDelFlag()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .append("updateBy", getUpdateBy()) - .append("updateTime", getUpdateTime()) - .append("remark", getRemark()) - .toString(); - } -} diff --git a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysUser.java b/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysUser.java deleted file mode 100644 index 728443e..0000000 --- a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysUser.java +++ /dev/null @@ -1,323 +0,0 @@ -package com.hrt.system.api.domain; - -import java.util.Date; -import java.util.List; -import javax.validation.constraints.*; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.hrt.common.core.annotation.Excel; -import com.hrt.common.core.annotation.Excel.ColumnType; -import com.hrt.common.core.annotation.Excel.Type; -import com.hrt.common.core.annotation.Excels; -import com.hrt.common.core.web.domain.BaseEntity; -import com.hrt.common.core.xss.Xss; - -/** - * 用户对象 sys_user - * - * @author jqs - */ -public class SysUser extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** 用户ID */ - @Excel(name = "用户序号", cellType = ColumnType.NUMERIC, prompt = "用户编号") - private Long userId; - - /** 部门ID */ - @Excel(name = "部门编号", type = Type.IMPORT) - private Long deptId; - - /** 用户账号 */ - @Excel(name = "登录名称") - private String userName; - - /** 用户昵称 */ - @Excel(name = "用户名称") - private String nickName; - - /** 用户邮箱 */ - @Excel(name = "用户邮箱") - private String email; - - /** 手机号码 */ - @Excel(name = "手机号码") - private String phonenumber; - - /** 用户性别 */ - @Excel(name = "用户性别", readConverterExp = "0=男,1=女,2=未知") - private String sex; - - /** 用户头像 */ - private String avatar; - - /** 密码 */ - private String password; - - /** 帐号状态(0正常 1停用) */ - @Excel(name = "帐号状态", readConverterExp = "0=正常,1=停用") - private String status; - - /** 删除标志(0代表存在 2代表删除) */ - private String delFlag; - - /** 最后登录IP */ - @Excel(name = "最后登录IP", type = Type.EXPORT) - private String loginIp; - - /** 最后登录时间 */ - @Excel(name = "最后登录时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Type.EXPORT) - private Date loginDate; - - /** 部门对象 */ - @Excels({ - @Excel(name = "部门名称", targetAttr = "deptName", type = Type.EXPORT), - @Excel(name = "部门负责人", targetAttr = "leader", type = Type.EXPORT) - }) - private SysDept dept; - - /** 角色对象 */ - private List<SysRole> roles; - - /** 角色组 */ - private Long[] roleIds; - - /** 岗位组 */ - private Long[] postIds; - - /** 角色ID */ - private Long roleId; - - public SysUser() - { - - } - - public SysUser(Long userId) - { - this.userId = userId; - } - - public Long getUserId() - { - return userId; - } - - public void setUserId(Long userId) - { - this.userId = userId; - } - - public boolean isAdmin() - { - return isAdmin(this.userId); - } - - public static boolean isAdmin(Long userId) - { - return userId != null && 1L == userId; - } - - public Long getDeptId() - { - return deptId; - } - - public void setDeptId(Long deptId) - { - this.deptId = deptId; - } - - @Xss(message = "用户昵称不能包含脚本字符") - @Size(min = 0, max = 30, message = "用户昵称长度不能超过30个字符") - public String getNickName() - { - return nickName; - } - - public void setNickName(String nickName) - { - this.nickName = nickName; - } - - @Xss(message = "用户账号不能包含脚本字符") - @NotBlank(message = "用户账号不能为空") - @Size(min = 0, max = 30, message = "用户账号长度不能超过30个字符") - public String getUserName() - { - return userName; - } - - public void setUserName(String userName) - { - this.userName = userName; - } - - @Email(message = "邮箱格式不正确") - @Size(min = 0, max = 50, message = "邮箱长度不能超过50个字符") - public String getEmail() - { - return email; - } - - public void setEmail(String email) - { - this.email = email; - } - - @Size(min = 0, max = 11, message = "手机号码长度不能超过11个字符") - public String getPhonenumber() - { - return phonenumber; - } - - public void setPhonenumber(String phonenumber) - { - this.phonenumber = phonenumber; - } - - public String getSex() - { - return sex; - } - - public void setSex(String sex) - { - this.sex = sex; - } - - public String getAvatar() - { - return avatar; - } - - public void setAvatar(String avatar) - { - this.avatar = avatar; - } - - public String getPassword() - { - return password; - } - - public void setPassword(String password) - { - this.password = password; - } - - public String getStatus() - { - return status; - } - - public void setStatus(String status) - { - this.status = status; - } - - public String getDelFlag() - { - return delFlag; - } - - public void setDelFlag(String delFlag) - { - this.delFlag = delFlag; - } - - public String getLoginIp() - { - return loginIp; - } - - public void setLoginIp(String loginIp) - { - this.loginIp = loginIp; - } - - public Date getLoginDate() - { - return loginDate; - } - - public void setLoginDate(Date loginDate) - { - this.loginDate = loginDate; - } - - public SysDept getDept() - { - return dept; - } - - public void setDept(SysDept dept) - { - this.dept = dept; - } - - public List<SysRole> getRoles() - { - return roles; - } - - public void setRoles(List<SysRole> roles) - { - this.roles = roles; - } - - public Long[] getRoleIds() - { - return roleIds; - } - - public void setRoleIds(Long[] roleIds) - { - this.roleIds = roleIds; - } - - public Long[] getPostIds() - { - return postIds; - } - - public void setPostIds(Long[] postIds) - { - this.postIds = postIds; - } - - public Long getRoleId() - { - return roleId; - } - - public void setRoleId(Long roleId) - { - this.roleId = roleId; - } - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("userId", getUserId()) - .append("deptId", getDeptId()) - .append("userName", getUserName()) - .append("nickName", getNickName()) - .append("email", getEmail()) - .append("phonenumber", getPhonenumber()) - .append("sex", getSex()) - .append("avatar", getAvatar()) - .append("password", getPassword()) - .append("status", getStatus()) - .append("delFlag", getDelFlag()) - .append("loginIp", getLoginIp()) - .append("loginDate", getLoginDate()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .append("updateBy", getUpdateBy()) - .append("updateTime", getUpdateTime()) - .append("remark", getRemark()) - .append("dept", getDept()) - .toString(); - } -} diff --git a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/factory/RemoteFileFallbackFactory.java b/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/factory/RemoteFileFallbackFactory.java deleted file mode 100644 index 58f6343..0000000 --- a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/factory/RemoteFileFallbackFactory.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.hrt.system.api.factory; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.cloud.openfeign.FallbackFactory; -import org.springframework.stereotype.Component; -import org.springframework.web.multipart.MultipartFile; -import com.hrt.common.core.domain.R; -import com.hrt.system.api.RemoteFileService; -import com.hrt.system.api.domain.SysFile; - -/** - * 文件服务降级处理 - * - * @author jqs - */ -@Component -public class RemoteFileFallbackFactory implements FallbackFactory<RemoteFileService> -{ - private static final Logger log = LoggerFactory.getLogger(RemoteFileFallbackFactory.class); - - @Override - public RemoteFileService create(Throwable throwable) - { - log.error("文件服务调用失败:{}", throwable.getMessage()); - return new RemoteFileService() - { - @Override - public R<SysFile> upload(MultipartFile file) - { - return R.fail("上传文件失败:" + throwable.getMessage()); - } - }; - } -} diff --git a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/factory/RemoteLogFallbackFactory.java b/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/factory/RemoteLogFallbackFactory.java deleted file mode 100644 index df62a20..0000000 --- a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/factory/RemoteLogFallbackFactory.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.hrt.system.api.factory; - -import com.hrt.system.api.domain.SysLogininfor; -import com.hrt.system.api.domain.SysOperLog; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.cloud.openfeign.FallbackFactory; -import org.springframework.stereotype.Component; -import com.hrt.common.core.domain.R; -import com.hrt.system.api.RemoteLogService; - -/** - * 日志服务降级处理 - * - * @author jqs - */ -@Component -public class RemoteLogFallbackFactory implements FallbackFactory<RemoteLogService> -{ - private static final Logger log = LoggerFactory.getLogger(RemoteLogFallbackFactory.class); - - @Override - public RemoteLogService create(Throwable throwable) - { - log.error("日志服务调用失败:{}", throwable.getMessage()); - return new RemoteLogService() - { - @Override - public R<Boolean> saveLog(SysOperLog sysOperLog, String source) - { - return null; - } - - @Override - public R<Boolean> saveLogininfor(SysLogininfor sysLogininfor, String source) - { - return null; - } - }; - - } -} diff --git a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/factory/RemoteUserFallbackFactory.java b/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/factory/RemoteUserFallbackFactory.java deleted file mode 100644 index 3c68339..0000000 --- a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/factory/RemoteUserFallbackFactory.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.hrt.system.api.factory; - -import com.hrt.system.api.model.AppMiniLoginDto; -import com.hrt.system.api.model.AppMiniLoginVo; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.cloud.openfeign.FallbackFactory; -import org.springframework.stereotype.Component; -import com.hrt.common.core.domain.R; -import com.hrt.system.api.RemoteUserService; -import com.hrt.system.api.domain.SysUser; -import com.hrt.system.api.model.LoginUser; - -/** - * 用户服务降级处理 - * - * @author jqs - */ -@Component -public class RemoteUserFallbackFactory implements FallbackFactory<RemoteUserService> -{ - private static final Logger log = LoggerFactory.getLogger(RemoteUserFallbackFactory.class); - - @Override - public RemoteUserService create(Throwable throwable) - { - log.error("用户服务调用失败:{}", throwable.getMessage()); - return new RemoteUserService() - { - @Override - public R<LoginUser> getUserInfo(String username, String source) - { - return R.fail("获取用户失败:" + throwable.getMessage()); - } - - @Override - public R<Boolean> registerUserInfo(SysUser sysUser, String source) - { - return R.fail("注册用户失败:" + throwable.getMessage()); - } - - @Override - public R<AppMiniLoginVo> miniLogin(AppMiniLoginDto appMiniLoginDto) - { - return R.fail("登录用户失败:" + throwable.getMessage()); - } - }; - } -} diff --git a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/model/AppMiniLoginDto.java b/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/model/AppMiniLoginDto.java deleted file mode 100644 index afe4842..0000000 --- a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/model/AppMiniLoginDto.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.hrt.system.api.model; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author jqs34 - * @ClassName AppGetUnionid - * @description: TODO - * @date 2023年02月13日 - * @version: 1.0 - */ -@Data -public class AppMiniLoginDto { - - @ApiModelProperty(value = "code") - private String code; - -} diff --git a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/model/AppMiniLoginVo.java b/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/model/AppMiniLoginVo.java deleted file mode 100644 index 63d7fcb..0000000 --- a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/model/AppMiniLoginVo.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.hrt.system.api.model; - -import com.hrt.system.api.domain.SysUser; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author jqs34 - * @ClassName AppGetUnionid - * @description: TODO - * @date 2023年02月13日 - * @version: 1.0 - */ -@Data -public class AppMiniLoginVo { - - @ApiModelProperty(value = "小程序openid") - private String miniOpenid; - - @ApiModelProperty(value = "微信unionid") - private String wxUnionid; - - @ApiModelProperty(value = "微信sessionKey") - private String sessionKey; - - @ApiModelProperty(value = "用户信息") - private SysUser sysUser; -} diff --git a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/model/LoginUser.java b/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/model/LoginUser.java deleted file mode 100644 index e601900..0000000 --- a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/model/LoginUser.java +++ /dev/null @@ -1,150 +0,0 @@ -package com.hrt.system.api.model; - -import java.io.Serializable; -import java.util.Set; -import com.hrt.system.api.domain.SysUser; - -/** - * 用户信息 - * - * @author jqs - */ -public class LoginUser implements Serializable -{ - private static final long serialVersionUID = 1L; - - /** - * 用户唯一标识 - */ - private String token; - - /** - * 用户名id - */ - private Long userid; - - /** - * 用户名 - */ - private String username; - - /** - * 登录时间 - */ - private Long loginTime; - - /** - * 过期时间 - */ - private Long expireTime; - - /** - * 登录IP地址 - */ - private String ipaddr; - - /** - * 权限列表 - */ - private Set<String> permissions; - - /** - * 角色列表 - */ - private Set<String> roles; - - /** - * 用户信息 - */ - private SysUser sysUser; - - public String getToken() - { - return token; - } - - public void setToken(String token) - { - this.token = token; - } - - public Long getUserid() - { - return userid; - } - - public void setUserid(Long userid) - { - this.userid = userid; - } - - public String getUsername() - { - return username; - } - - public void setUsername(String username) - { - this.username = username; - } - - public Long getLoginTime() - { - return loginTime; - } - - public void setLoginTime(Long loginTime) - { - this.loginTime = loginTime; - } - - public Long getExpireTime() - { - return expireTime; - } - - public void setExpireTime(Long expireTime) - { - this.expireTime = expireTime; - } - - public String getIpaddr() - { - return ipaddr; - } - - public void setIpaddr(String ipaddr) - { - this.ipaddr = ipaddr; - } - - public Set<String> getPermissions() - { - return permissions; - } - - public void setPermissions(Set<String> permissions) - { - this.permissions = permissions; - } - - public Set<String> getRoles() - { - return roles; - } - - public void setRoles(Set<String> roles) - { - this.roles = roles; - } - - public SysUser getSysUser() - { - return sysUser; - } - - public void setSysUser(SysUser sysUser) - { - this.sysUser = sysUser; - } -} diff --git a/hrt-api/hrt-api-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/hrt-api/hrt-api-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports deleted file mode 100644 index 428fe78..0000000 --- a/hrt-api/hrt-api-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ /dev/null @@ -1,3 +0,0 @@ -com.hrt.system.api.factory.RemoteUserFallbackFactory -com.hrt.system.api.factory.RemoteLogFallbackFactory -com.hrt.system.api.factory.RemoteFileFallbackFactory diff --git a/hrt-api/pom.xml b/hrt-api/pom.xml deleted file mode 100644 index 73b7699..0000000 --- a/hrt-api/pom.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <parent> - <groupId>com.hrt</groupId> - <artifactId>hrt</artifactId> - <version>3.6.2</version> - </parent> - <modelVersion>4.0.0</modelVersion> - - <modules> - <module>hrt-api-system</module> - </modules> - - <artifactId>hrt-api</artifactId> - <packaging>pom</packaging> - - <description> - hrt-api系统接口 - </description> - -</project> diff --git a/hrt-auth/pom.xml b/hrt-auth/pom.xml deleted file mode 100644 index a0165b4..0000000 --- a/hrt-auth/pom.xml +++ /dev/null @@ -1,74 +0,0 @@ -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <parent> - <groupId>com.hrt</groupId> - <artifactId>hrt</artifactId> - <version>3.6.2</version> - </parent> - <modelVersion>4.0.0</modelVersion> - - <artifactId>hrt-auth</artifactId> - - <description> - hrt-auth认证授权中心 - </description> - - <dependencies> - - <!-- SpringCloud Alibaba Nacos --> - <dependency> - <groupId>com.alibaba.cloud</groupId> - <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> - </dependency> - - <!-- SpringCloud Alibaba Nacos Config --> - <dependency> - <groupId>com.alibaba.cloud</groupId> - <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> - </dependency> - - <!-- SpringCloud Alibaba Sentinel --> - <dependency> - <groupId>com.alibaba.cloud</groupId> - <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> - </dependency> - - <!-- SpringBoot Web --> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-web</artifactId> - </dependency> - - <!-- SpringBoot Actuator --> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-actuator</artifactId> - </dependency> - - <!-- hrt Common Security--> - <dependency> - <groupId>com.hrt</groupId> - <artifactId>hrt-common-security</artifactId> - </dependency> - - </dependencies> - - <build> - <finalName>${project.artifactId}</finalName> - <plugins> - <plugin> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-maven-plugin</artifactId> - <executions> - <execution> - <goals> - <goal>repackage</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - -</project> diff --git a/hrt-auth/src/main/java/com/hrt/auth/HrtAuthApplication.java b/hrt-auth/src/main/java/com/hrt/auth/HrtAuthApplication.java deleted file mode 100644 index 7704e46..0000000 --- a/hrt-auth/src/main/java/com/hrt/auth/HrtAuthApplication.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.hrt.auth; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; -import com.hrt.common.security.annotation.EnableRyFeignClients; - -/** - * 认证授权中心 - * - * @author jqs - */ -@EnableRyFeignClients -@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class }) -public class HrtAuthApplication -{ - public static void main(String[] args) - { - SpringApplication.run(HrtAuthApplication.class, args); - System.out.println("认证授权中心启动成功"); - } -} diff --git a/hrt-auth/src/main/java/com/hrt/auth/controller/TokenController.java b/hrt-auth/src/main/java/com/hrt/auth/controller/TokenController.java deleted file mode 100644 index 6d30277..0000000 --- a/hrt-auth/src/main/java/com/hrt/auth/controller/TokenController.java +++ /dev/null @@ -1,95 +0,0 @@ -package com.hrt.auth.controller; - -import javax.servlet.http.HttpServletRequest; - -import com.hrt.system.api.model.AppMiniLoginDto; -import com.hrt.system.api.model.AppMiniLoginVo; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RestController; -import com.hrt.auth.form.LoginBody; -import com.hrt.auth.form.RegisterBody; -import com.hrt.auth.service.SysLoginService; -import com.hrt.common.core.domain.R; -import com.hrt.common.core.utils.JwtUtils; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.common.security.auth.AuthUtil; -import com.hrt.common.security.service.TokenService; -import com.hrt.common.security.utils.SecurityUtils; -import com.hrt.system.api.model.LoginUser; - -/** - * token 控制 - * - * @author jqs - */ -@RestController -public class TokenController -{ - @Autowired - private TokenService tokenService; - - @Autowired - private SysLoginService sysLoginService; - - @ApiOperation("系统登录") - @PostMapping("login") - public R<?> login(@RequestBody LoginBody form) - { - // 用户登录 - LoginUser userInfo = sysLoginService.login(form.getUsername(), form.getPassword()); - // 获取登录token - return R.ok(tokenService.createToken(userInfo)); - } - - @ApiOperation("小程序登录") - @PostMapping("miniLogin") - public R<?> miniLogin(@RequestBody AppMiniLoginDto appMiniLoginDto) - { - // 小程序用户登录 - AppMiniLoginVo appMiniLoginVo = sysLoginService.miniLogin(appMiniLoginDto); - // 获取登录token - return R.ok(tokenService.createMiniToken(appMiniLoginVo)); - } - - @DeleteMapping("logout") - public R<?> logout(HttpServletRequest request) - { - String token = SecurityUtils.getToken(request); - if (StringUtils.isNotEmpty(token)) - { - String username = JwtUtils.getUserName(token); - // 删除用户缓存记录 - AuthUtil.logoutByToken(token); - // 记录用户退出日志 - sysLoginService.logout(username); - } - return R.ok(); - } - - @PostMapping("refresh") - public R<?> refresh(HttpServletRequest request) - { - LoginUser loginUser = tokenService.getLoginUser(request); - if (StringUtils.isNotNull(loginUser)) - { - // 刷新令牌有效期 - tokenService.refreshToken(loginUser); - return R.ok(); - } - return R.ok(); - } - - @PostMapping("register") - public R<?> register(@RequestBody RegisterBody registerBody) - { - // 用户注册 - sysLoginService.register(registerBody.getUsername(), registerBody.getPassword()); - return R.ok(); - } - - -} diff --git a/hrt-auth/src/main/java/com/hrt/auth/form/LoginBody.java b/hrt-auth/src/main/java/com/hrt/auth/form/LoginBody.java deleted file mode 100644 index b4bcf35..0000000 --- a/hrt-auth/src/main/java/com/hrt/auth/form/LoginBody.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.hrt.auth.form; - -/** - * 用户登录对象 - * - * @author jqs - */ -public class LoginBody -{ - /** - * 用户名 - */ - private String username; - - /** - * 用户密码 - */ - private String password; - - public String getUsername() - { - return username; - } - - public void setUsername(String username) - { - this.username = username; - } - - public String getPassword() - { - return password; - } - - public void setPassword(String password) - { - this.password = password; - } -} diff --git a/hrt-auth/src/main/java/com/hrt/auth/form/RegisterBody.java b/hrt-auth/src/main/java/com/hrt/auth/form/RegisterBody.java deleted file mode 100644 index 5e729b5..0000000 --- a/hrt-auth/src/main/java/com/hrt/auth/form/RegisterBody.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.hrt.auth.form; - -/** - * 用户注册对象 - * - * @author jqs - */ -public class RegisterBody extends LoginBody -{ - -} diff --git a/hrt-auth/src/main/java/com/hrt/auth/service/SysLoginService.java b/hrt-auth/src/main/java/com/hrt/auth/service/SysLoginService.java deleted file mode 100644 index dd7ea08..0000000 --- a/hrt-auth/src/main/java/com/hrt/auth/service/SysLoginService.java +++ /dev/null @@ -1,180 +0,0 @@ -package com.hrt.auth.service; - -import com.hrt.system.api.model.AppMiniLoginDto; -import com.hrt.system.api.model.AppMiniLoginVo; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; -import com.hrt.common.core.constant.CacheConstants; -import com.hrt.common.core.constant.Constants; -import com.hrt.common.core.constant.SecurityConstants; -import com.hrt.common.core.constant.UserConstants; -import com.hrt.common.core.domain.R; -import com.hrt.common.core.enums.UserStatus; -import com.hrt.common.core.exception.ServiceException; -import com.hrt.common.core.text.Convert; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.common.core.utils.ip.IpUtils; -import com.hrt.common.redis.service.RedisService; -import com.hrt.common.security.utils.SecurityUtils; -import com.hrt.system.api.RemoteUserService; -import com.hrt.system.api.domain.SysUser; -import com.hrt.system.api.model.LoginUser; - -/** - * 登录校验方法 - * - * @author jqs - */ -@Component -public class SysLoginService -{ - @Autowired - private RemoteUserService remoteUserService; - - @Autowired - private SysPasswordService passwordService; - - @Autowired - private SysRecordLogService recordLogService; - - @Autowired - private RedisService redisService; - - /** - * 登录 - */ - public LoginUser login(String username, String password) - { - // 用户名或密码为空 错误 - if (StringUtils.isAnyBlank(username, password)) - { - recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "用户/密码必须填写"); - throw new ServiceException("用户/密码必须填写"); - } - // 密码如果不在指定范围内 错误 - if (password.length() < UserConstants.PASSWORD_MIN_LENGTH - || password.length() > UserConstants.PASSWORD_MAX_LENGTH) - { - recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "用户密码不在指定范围"); - throw new ServiceException("用户密码不在指定范围"); - } - // 用户名不在指定范围内 错误 - if (username.length() < UserConstants.USERNAME_MIN_LENGTH - || username.length() > UserConstants.USERNAME_MAX_LENGTH) - { - recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "用户名不在指定范围"); - throw new ServiceException("用户名不在指定范围"); - } - // IP黑名单校验 - String blackStr = Convert.toStr(redisService.getCacheObject(CacheConstants.SYS_LOGIN_BLACKIPLIST)); - if (IpUtils.isMatchedIp(blackStr, IpUtils.getIpAddr())) - { - recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "很遗憾,访问IP已被列入系统黑名单"); - throw new ServiceException("很遗憾,访问IP已被列入系统黑名单"); - } - // 查询用户信息 - R<LoginUser> userResult = remoteUserService.getUserInfo(username, SecurityConstants.INNER); - - if (StringUtils.isNull(userResult) || StringUtils.isNull(userResult.getData())) - { - recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "登录用户不存在"); - throw new ServiceException("登录用户:" + username + " 不存在"); - } - - if (R.FAIL == userResult.getCode()) - { - throw new ServiceException(userResult.getMsg()); - } - - LoginUser userInfo = userResult.getData(); - SysUser user = userResult.getData().getSysUser(); - if (UserStatus.DELETED.getCode().equals(user.getDelFlag())) - { - recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "对不起,您的账号已被删除"); - throw new ServiceException("对不起,您的账号:" + username + " 已被删除"); - } - if (UserStatus.DISABLE.getCode().equals(user.getStatus())) - { - recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "用户已停用,请联系管理员"); - throw new ServiceException("对不起,您的账号:" + username + " 已停用"); - } - passwordService.validate(user, password); - recordLogService.recordLogininfor(username, Constants.LOGIN_SUCCESS, "登录成功"); - return userInfo; - } - - /** - * 登录 - */ - public AppMiniLoginVo miniLogin(AppMiniLoginDto appMiniLoginDto) - { - // 查询用户信息 - R<AppMiniLoginVo> userResult = remoteUserService.miniLogin(appMiniLoginDto); - if (R.FAIL == userResult.getCode()) - { - throw new ServiceException(userResult.getMsg()); - } - AppMiniLoginVo userInfo = userResult.getData(); - SysUser user = userResult.getData().getSysUser(); - String username = user.getUserName(); - // IP黑名单校验 - String blackStr = Convert.toStr(redisService.getCacheObject(CacheConstants.SYS_LOGIN_BLACKIPLIST)); - if (IpUtils.isMatchedIp(blackStr, IpUtils.getIpAddr())) - { - recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "很遗憾,访问IP已被列入系统黑名单"); - throw new ServiceException("很遗憾,访问IP已被列入系统黑名单"); - } - if (UserStatus.DELETED.getCode().equals(user.getDelFlag())) - { - recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "对不起,您的账号已被删除"); - throw new ServiceException("对不起,您的账号:" + username + " 已被删除"); - } - if (UserStatus.DISABLE.getCode().equals(user.getStatus())) - { - recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "用户已停用,请联系管理员"); - throw new ServiceException("对不起,您的账号:" + username + " 已停用"); - } - recordLogService.recordLogininfor(username, Constants.LOGIN_SUCCESS, "登录成功"); - return userInfo; - } - - public void logout(String loginName) - { - recordLogService.recordLogininfor(loginName, Constants.LOGOUT, "退出成功"); - } - - /** - * 注册 - */ - public void register(String username, String password) - { - // 用户名或密码为空 错误 - if (StringUtils.isAnyBlank(username, password)) - { - throw new ServiceException("用户/密码必须填写"); - } - if (username.length() < UserConstants.USERNAME_MIN_LENGTH - || username.length() > UserConstants.USERNAME_MAX_LENGTH) - { - throw new ServiceException("账户长度必须在2到20个字符之间"); - } - if (password.length() < UserConstants.PASSWORD_MIN_LENGTH - || password.length() > UserConstants.PASSWORD_MAX_LENGTH) - { - throw new ServiceException("密码长度必须在5到20个字符之间"); - } - - // 注册用户信息 - SysUser sysUser = new SysUser(); - sysUser.setUserName(username); - sysUser.setNickName(username); - sysUser.setPassword(SecurityUtils.encryptPassword(password)); - R<?> registerResult = remoteUserService.registerUserInfo(sysUser, SecurityConstants.INNER); - - if (R.FAIL == registerResult.getCode()) - { - throw new ServiceException(registerResult.getMsg()); - } - recordLogService.recordLogininfor(username, Constants.REGISTER, "注册成功"); - } -} diff --git a/hrt-auth/src/main/java/com/hrt/auth/service/SysPasswordService.java b/hrt-auth/src/main/java/com/hrt/auth/service/SysPasswordService.java deleted file mode 100644 index 9036727..0000000 --- a/hrt-auth/src/main/java/com/hrt/auth/service/SysPasswordService.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.hrt.auth.service; - -import java.util.concurrent.TimeUnit; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; -import com.hrt.common.core.constant.CacheConstants; -import com.hrt.common.core.constant.Constants; -import com.hrt.common.core.exception.ServiceException; -import com.hrt.common.redis.service.RedisService; -import com.hrt.common.security.utils.SecurityUtils; -import com.hrt.system.api.domain.SysUser; - -/** - * 登录密码方法 - * - * @author jqs - */ -@Component -public class SysPasswordService -{ - @Autowired - private RedisService redisService; - - private int maxRetryCount = CacheConstants.PASSWORD_MAX_RETRY_COUNT; - - private Long lockTime = CacheConstants.PASSWORD_LOCK_TIME; - - @Autowired - private SysRecordLogService recordLogService; - - /** - * 登录账户密码错误次数缓存键名 - * - * @param username 用户名 - * @return 缓存键key - */ - private String getCacheKey(String username) - { - return CacheConstants.PWD_ERR_CNT_KEY + username; - } - - public void validate(SysUser user, String password) - { - String username = user.getUserName(); - - Integer retryCount = redisService.getCacheObject(getCacheKey(username)); - - if (retryCount == null) - { - retryCount = 0; - } - - if (retryCount >= Integer.valueOf(maxRetryCount).intValue()) - { - String errMsg = String.format("密码输入错误%s次,帐户锁定%s分钟", maxRetryCount, lockTime); - recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL,errMsg); - throw new ServiceException(errMsg); - } - - if (!matches(user, password)) - { - retryCount = retryCount + 1; - recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, String.format("密码输入错误%s次", retryCount)); - redisService.setCacheObject(getCacheKey(username), retryCount, lockTime, TimeUnit.MINUTES); - throw new ServiceException("用户不存在/密码错误"); - } - else - { - clearLoginRecordCache(username); - } - } - - public boolean matches(SysUser user, String rawPassword) - { - return SecurityUtils.matchesPassword(rawPassword, user.getPassword()); - } - - public void clearLoginRecordCache(String loginName) - { - if (redisService.hasKey(getCacheKey(loginName))) - { - redisService.deleteObject(getCacheKey(loginName)); - } - } -} diff --git a/hrt-auth/src/main/java/com/hrt/auth/service/SysRecordLogService.java b/hrt-auth/src/main/java/com/hrt/auth/service/SysRecordLogService.java deleted file mode 100644 index 0e12665..0000000 --- a/hrt-auth/src/main/java/com/hrt/auth/service/SysRecordLogService.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.hrt.auth.service; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; -import com.hrt.common.core.constant.Constants; -import com.hrt.common.core.constant.SecurityConstants; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.common.core.utils.ip.IpUtils; -import com.hrt.system.api.RemoteLogService; -import com.hrt.system.api.domain.SysLogininfor; - -/** - * 记录日志方法 - * - * @author jqs - */ -@Component -public class SysRecordLogService -{ - @Autowired - private RemoteLogService remoteLogService; - - /** - * 记录登录信息 - * - * @param username 用户名 - * @param status 状态 - * @param message 消息内容 - * @return - */ - public void recordLogininfor(String username, String status, String message) - { - SysLogininfor logininfor = new SysLogininfor(); - logininfor.setUserName(username); - logininfor.setIpaddr(IpUtils.getIpAddr()); - logininfor.setMsg(message); - // 日志状态 - if (StringUtils.equalsAny(status, Constants.LOGIN_SUCCESS, Constants.LOGOUT, Constants.REGISTER)) - { - logininfor.setStatus(Constants.LOGIN_SUCCESS_STATUS); - } - else if (Constants.LOGIN_FAIL.equals(status)) - { - logininfor.setStatus(Constants.LOGIN_FAIL_STATUS); - } - remoteLogService.saveLogininfor(logininfor, SecurityConstants.INNER); - } -} diff --git a/hrt-auth/src/main/resources/banner.txt b/hrt-auth/src/main/resources/banner.txt deleted file mode 100644 index 97c5c27..0000000 --- a/hrt-auth/src/main/resources/banner.txt +++ /dev/null @@ -1,10 +0,0 @@ -Spring Boot Version: ${spring-boot.version} -Spring Application Name: ${spring.application.name} - _ _ _ - (_) | | | | - _ __ _ _ ___ _ _ _ ______ __ _ _ _ | |_ | |__ -| '__|| | | | / _ \ | | | || ||______| / _` || | | || __|| '_ \ -| | | |_| || (_) || |_| || | | (_| || |_| || |_ | | | | -|_| \__,_| \___/ \__, ||_| \__,_| \__,_| \__||_| |_| - __/ | - |___/ \ No newline at end of file diff --git a/hrt-auth/src/main/resources/bootstrap.yml b/hrt-auth/src/main/resources/bootstrap.yml deleted file mode 100644 index 3a5c8c9..0000000 --- a/hrt-auth/src/main/resources/bootstrap.yml +++ /dev/null @@ -1,26 +0,0 @@ -# Tomcat -server: - port: 9200 - -# Spring -spring: - application: - # 应用名称 - name: hrt-auth - profiles: - # 环境配置 - active: dev - cloud: - nacos: - discovery: - # 服务注册地址 - server-addr: 47.109.78.184:5000 - config: - # 配置中心地址 - server-addr: 47.109.78.184:5000 - # 配置文件格式 - file-extension: yml - # 共享配置 - shared-configs: - - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} - group: haiheng diff --git a/hrt-auth/src/main/resources/logback.xml b/hrt-auth/src/main/resources/logback.xml deleted file mode 100644 index 4060fd3..0000000 --- a/hrt-auth/src/main/resources/logback.xml +++ /dev/null @@ -1,74 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<configuration scan="true" scanPeriod="60 seconds" debug="false"> - <!-- 日志存放路径 --> - <property name="log.path" value="logs/hrt-auth" /> - <!-- 日志输出格式 --> - <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" /> - - <!-- 控制台输出 --> - <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> - <encoder> - <pattern>${log.pattern}</pattern> - </encoder> - </appender> - - <!-- 系统日志输出 --> - <appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${log.path}/info.log</file> - <!-- 循环政策:基于时间创建日志文件 --> - <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> - <!-- 日志文件名格式 --> - <fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern> - <!-- 日志最大的历史 60天 --> - <maxHistory>60</maxHistory> - </rollingPolicy> - <encoder> - <pattern>${log.pattern}</pattern> - </encoder> - <filter class="ch.qos.logback.classic.filter.LevelFilter"> - <!-- 过滤的级别 --> - <level>INFO</level> - <!-- 匹配时的操作:接收(记录) --> - <onMatch>ACCEPT</onMatch> - <!-- 不匹配时的操作:拒绝(不记录) --> - <onMismatch>DENY</onMismatch> - </filter> - </appender> - - <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${log.path}/error.log</file> - <!-- 循环政策:基于时间创建日志文件 --> - <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> - <!-- 日志文件名格式 --> - <fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern> - <!-- 日志最大的历史 60天 --> - <maxHistory>60</maxHistory> - </rollingPolicy> - <encoder> - <pattern>${log.pattern}</pattern> - </encoder> - <filter class="ch.qos.logback.classic.filter.LevelFilter"> - <!-- 过滤的级别 --> - <level>ERROR</level> - <!-- 匹配时的操作:接收(记录) --> - <onMatch>ACCEPT</onMatch> - <!-- 不匹配时的操作:拒绝(不记录) --> - <onMismatch>DENY</onMismatch> - </filter> - </appender> - - <!-- 系统模块日志级别控制 --> - <logger name="com.hrt" level="info" /> - <!-- Spring日志级别控制 --> - <logger name="org.springframework" level="warn" /> - - <root level="info"> - <appender-ref ref="console" /> - </root> - - <!--系统操作日志--> - <root level="info"> - <appender-ref ref="file_info" /> - <appender-ref ref="file_error" /> - </root> -</configuration> \ No newline at end of file diff --git a/hrt-common/hrt-common-core/pom.xml b/hrt-common/hrt-common-core/pom.xml deleted file mode 100644 index 234ef72..0000000 --- a/hrt-common/hrt-common-core/pom.xml +++ /dev/null @@ -1,118 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns="http://maven.apache.org/POM/4.0.0" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <parent> - <groupId>com.hrt</groupId> - <artifactId>hrt-common</artifactId> - <version>3.6.2</version> - </parent> - <modelVersion>4.0.0</modelVersion> - - <artifactId>hrt-common-core</artifactId> - - <description> - hrt-common-core核心模块 - </description> - - <dependencies> - - <!-- SpringCloud Openfeign --> - <dependency> - <groupId>org.springframework.cloud</groupId> - <artifactId>spring-cloud-starter-openfeign</artifactId> - </dependency> - - <!-- SpringCloud Loadbalancer --> - <dependency> - <groupId>org.springframework.cloud</groupId> - <artifactId>spring-cloud-starter-loadbalancer</artifactId> - </dependency> - - <!-- Spring Context Support --> - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-context-support</artifactId> - </dependency> - - <!-- Spring Web --> - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-web</artifactId> - </dependency> - - <!-- Transmittable ThreadLocal --> - <dependency> - <groupId>com.alibaba</groupId> - <artifactId>transmittable-thread-local</artifactId> - </dependency> - - <!-- Pagehelper --> - <dependency> - <groupId>com.github.pagehelper</groupId> - <artifactId>pagehelper-spring-boot-starter</artifactId> - </dependency> - - <!-- Hibernate Validator --> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-validation</artifactId> - </dependency> - - <!-- Jackson --> - <dependency> - <groupId>com.fasterxml.jackson.core</groupId> - <artifactId>jackson-databind</artifactId> - </dependency> - - <!-- Alibaba Fastjson --> - <dependency> - <groupId>com.alibaba.fastjson2</groupId> - <artifactId>fastjson2</artifactId> - </dependency> - - <!-- Jwt --> - <dependency> - <groupId>io.jsonwebtoken</groupId> - <artifactId>jjwt</artifactId> - </dependency> - - <!-- Jaxb --> - <dependency> - <groupId>javax.xml.bind</groupId> - <artifactId>jaxb-api</artifactId> - </dependency> - - <!-- Apache Lang3 --> - <dependency> - <groupId>org.apache.commons</groupId> - <artifactId>commons-lang3</artifactId> - </dependency> - - <!-- Commons Io --> - <dependency> - <groupId>commons-io</groupId> - <artifactId>commons-io</artifactId> - </dependency> - - <!-- excel工具 --> - <dependency> - <groupId>org.apache.poi</groupId> - <artifactId>poi-ooxml</artifactId> - </dependency> - - <!-- Java Servlet --> - <dependency> - <groupId>javax.servlet</groupId> - <artifactId>javax.servlet-api</artifactId> - </dependency> - - <!-- Swagger --> - <dependency> - <groupId>io.swagger</groupId> - <artifactId>swagger-annotations</artifactId> - </dependency> - - </dependencies> - -</project> diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/annotation/Excel.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/annotation/Excel.java deleted file mode 100644 index f7c0675..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/annotation/Excel.java +++ /dev/null @@ -1,182 +0,0 @@ -package com.hrt.common.core.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; -import java.math.BigDecimal; -import org.apache.poi.ss.usermodel.HorizontalAlignment; -import org.apache.poi.ss.usermodel.IndexedColors; -import com.hrt.common.core.utils.poi.ExcelHandlerAdapter; - -/** - * 自定义导出Excel数据注解 - * - * @author jqs - */ -@Retention(RetentionPolicy.RUNTIME) -@Target(ElementType.FIELD) -public @interface Excel -{ - /** - * 导出时在excel中排序 - */ - public int sort() default Integer.MAX_VALUE; - - /** - * 导出到Excel中的名字. - */ - public String name() default ""; - - /** - * 日期格式, 如: yyyy-MM-dd - */ - public String dateFormat() default ""; - - /** - * 读取内容转表达式 (如: 0=男,1=女,2=未知) - */ - public String readConverterExp() default ""; - - /** - * 分隔符,读取字符串组内容 - */ - public String separator() default ","; - - /** - * BigDecimal 精度 默认:-1(默认不开启BigDecimal格式化) - */ - public int scale() default -1; - - /** - * BigDecimal 舍入规则 默认:BigDecimal.ROUND_HALF_EVEN - */ - public int roundingMode() default BigDecimal.ROUND_HALF_EVEN; - - /** - * 导出时在excel中每个列的高度 单位为字符 - */ - public double height() default 14; - - /** - * 导出时在excel中每个列的宽 单位为字符 - */ - public double width() default 16; - - /** - * 文字后缀,如% 90 变成90% - */ - public String suffix() default ""; - - /** - * 当值为空时,字段的默认值 - */ - public String defaultValue() default ""; - - /** - * 提示信息 - */ - public String prompt() default ""; - - /** - * 设置只能选择不能输入的列内容. - */ - public String[] combo() default {}; - - /** - * 是否需要纵向合并单元格,应对需求:含有list集合单元格) - */ - public boolean needMerge() default false; - - /** - * 是否导出数据,应对需求:有时我们需要导出一份模板,这是标题需要但内容需要用户手工填写. - */ - public boolean isExport() default true; - - /** - * 另一个类中的属性名称,支持多级获取,以小数点隔开 - */ - public String targetAttr() default ""; - - /** - * 是否自动统计数据,在最后追加一行统计数据总和 - */ - public boolean isStatistics() default false; - - /** - * 导出类型(0数字 1字符串) - */ - public ColumnType cellType() default ColumnType.STRING; - - /** - * 导出列头背景色 - */ - public IndexedColors headerBackgroundColor() default IndexedColors.GREY_50_PERCENT; - - /** - * 导出列头字体颜色 - */ - public IndexedColors headerColor() default IndexedColors.WHITE; - - /** - * 导出单元格背景色 - */ - public IndexedColors backgroundColor() default IndexedColors.WHITE; - - /** - * 导出单元格字体颜色 - */ - public IndexedColors color() default IndexedColors.BLACK; - - /** - * 导出字段对齐方式 - */ - public HorizontalAlignment align() default HorizontalAlignment.CENTER; - - /** - * 自定义数据处理器 - */ - public Class<?> handler() default ExcelHandlerAdapter.class; - - /** - * 自定义数据处理器参数 - */ - public String[] args() default {}; - - /** - * 字段类型(0:导出导入;1:仅导出;2:仅导入) - */ - Type type() default Type.ALL; - - public enum Type - { - ALL(0), EXPORT(1), IMPORT(2); - private final int value; - - Type(int value) - { - this.value = value; - } - - public int value() - { - return this.value; - } - } - - public enum ColumnType - { - NUMERIC(0), STRING(1), IMAGE(2); - private final int value; - - ColumnType(int value) - { - this.value = value; - } - - public int value() - { - return this.value; - } - } -} \ No newline at end of file diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/annotation/Excels.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/annotation/Excels.java deleted file mode 100644 index b748426..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/annotation/Excels.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.hrt.common.core.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * Excel注解集 - * - * @author jqs - */ -@Target(ElementType.FIELD) -@Retention(RetentionPolicy.RUNTIME) -public @interface Excels -{ - Excel[] value(); -} \ No newline at end of file diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/CacheConstants.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/CacheConstants.java deleted file mode 100644 index 032135f..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/CacheConstants.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.hrt.common.core.constant; - -/** - * 缓存常量信息 - * - * @author jqs - */ -public class CacheConstants -{ - /** - * 缓存有效期,默认720(分钟) - */ - public final static long EXPIRATION = 720; - - /** - * 缓存刷新时间,默认120(分钟) - */ - public final static long REFRESH_TIME = 120; - - /** - * 密码最大错误次数 - */ - public final static int PASSWORD_MAX_RETRY_COUNT = 5; - - /** - * 密码锁定时间,默认10(分钟) - */ - public final static long PASSWORD_LOCK_TIME = 10; - - /** - * 权限缓存前缀 - */ - public final static String LOGIN_TOKEN_KEY = "login_tokens:"; - - /** - * 验证码 redis key - */ - public static final String CAPTCHA_CODE_KEY = "captcha_codes:"; - - /** - * 参数管理 cache key - */ - public static final String SYS_CONFIG_KEY = "sys_config:"; - - /** - * 字典管理 cache key - */ - public static final String SYS_DICT_KEY = "sys_dict:"; - - /** - * 登录账户密码错误次数 redis key - */ - public static final String PWD_ERR_CNT_KEY = "pwd_err_cnt:"; - - /** - * 登录IP黑名单 cache key - */ - public static final String SYS_LOGIN_BLACKIPLIST = SYS_CONFIG_KEY + "sys.login.blackIPList"; -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/Constants.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/Constants.java deleted file mode 100644 index 499c167..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/Constants.java +++ /dev/null @@ -1,130 +0,0 @@ -package com.hrt.common.core.constant; - -/** - * 通用常量信息 - * - * @author jqs - */ -public class Constants -{ - /** - * UTF-8 字符集 - */ - public static final String UTF8 = "UTF-8"; - - /** - * GBK 字符集 - */ - public static final String GBK = "GBK"; - - /** - * www主域 - */ - public static final String WWW = "www."; - - /** - * RMI 远程方法调用 - */ - public static final String LOOKUP_RMI = "rmi:"; - - /** - * LDAP 远程方法调用 - */ - public static final String LOOKUP_LDAP = "ldap:"; - - /** - * LDAPS 远程方法调用 - */ - public static final String LOOKUP_LDAPS = "ldaps:"; - - /** - * http请求 - */ - public static final String HTTP = "http://"; - - /** - * https请求 - */ - public static final String HTTPS = "https://"; - - /** - * 成功标记 - */ - public static final Integer SUCCESS = 200; - - /** - * 失败标记 - */ - public static final Integer FAIL = 500; - - /** - * 登录成功状态 - */ - public static final String LOGIN_SUCCESS_STATUS = "0"; - - /** - * 登录失败状态 - */ - public static final String LOGIN_FAIL_STATUS = "1"; - - /** - * 登录成功 - */ - public static final String LOGIN_SUCCESS = "Success"; - - /** - * 注销 - */ - public static final String LOGOUT = "Logout"; - - /** - * 注册 - */ - public static final String REGISTER = "Register"; - - /** - * 登录失败 - */ - public static final String LOGIN_FAIL = "Error"; - - /** - * 当前记录起始索引 - */ - public static final String PAGE_NUM = "pageNum"; - - /** - * 每页显示记录数 - */ - public static final String PAGE_SIZE = "pageSize"; - - /** - * 排序列 - */ - public static final String ORDER_BY_COLUMN = "orderByColumn"; - - /** - * 排序的方向 "desc" 或者 "asc". - */ - public static final String IS_ASC = "isAsc"; - - /** - * 验证码有效期(分钟) - */ - public static final long CAPTCHA_EXPIRATION = 2; - - /** - * 资源映射路径 前缀 - */ - public static final String RESOURCE_PREFIX = "/profile"; - - /** - * 定时任务白名单配置(仅允许访问的包名,如其他需要可以自行添加) - */ - public static final String[] JOB_WHITELIST_STR = { "com.hrt" }; - - /** - * 定时任务违规的字符 - */ - public static final String[] JOB_ERROR_STR = { "java.net.URL", "javax.naming.InitialContext", "org.yaml.snakeyaml", - "org.springframework", "org.apache", "com.hrt.common.core.utils.file" }; -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/GenConstants.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/GenConstants.java deleted file mode 100644 index 25b2982..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/GenConstants.java +++ /dev/null @@ -1,117 +0,0 @@ -package com.hrt.common.core.constant; - -/** - * 代码生成通用常量 - * - * @author jqs - */ -public class GenConstants -{ - /** 单表(增删改查) */ - public static final String TPL_CRUD = "crud"; - - /** 树表(增删改查) */ - public static final String TPL_TREE = "tree"; - - /** 主子表(增删改查) */ - public static final String TPL_SUB = "sub"; - - /** 树编码字段 */ - public static final String TREE_CODE = "treeCode"; - - /** 树父编码字段 */ - public static final String TREE_PARENT_CODE = "treeParentCode"; - - /** 树名称字段 */ - public static final String TREE_NAME = "treeName"; - - /** 上级菜单ID字段 */ - public static final String PARENT_MENU_ID = "parentMenuId"; - - /** 上级菜单名称字段 */ - public static final String PARENT_MENU_NAME = "parentMenuName"; - - /** 数据库字符串类型 */ - public static final String[] COLUMNTYPE_STR = { "char", "varchar", "nvarchar", "varchar2" }; - - /** 数据库文本类型 */ - public static final String[] COLUMNTYPE_TEXT = { "tinytext", "text", "mediumtext", "longtext" }; - - /** 数据库时间类型 */ - public static final String[] COLUMNTYPE_TIME = { "datetime", "time", "date", "timestamp" }; - - /** 数据库数字类型 */ - public static final String[] COLUMNTYPE_NUMBER = { "tinyint", "smallint", "mediumint", "int", "number", "integer", - "bigint", "float", "double", "decimal" }; - - /** 页面不需要编辑字段 */ - public static final String[] COLUMNNAME_NOT_EDIT = { "id", "create_by", "create_time", "del_flag" }; - - /** 页面不需要显示的列表字段 */ - public static final String[] COLUMNNAME_NOT_LIST = { "id", "create_by", "create_time", "del_flag", "update_by", - "update_time" }; - - /** 页面不需要查询字段 */ - public static final String[] COLUMNNAME_NOT_QUERY = { "id", "create_by", "create_time", "del_flag", "update_by", - "update_time", "remark" }; - - /** Entity基类字段 */ - public static final String[] BASE_ENTITY = { "createBy", "createTime", "updateBy", "updateTime", "remark" }; - - /** Tree基类字段 */ - public static final String[] TREE_ENTITY = { "parentName", "parentId", "orderNum", "ancestors" }; - - /** 文本框 */ - public static final String HTML_INPUT = "input"; - - /** 文本域 */ - public static final String HTML_TEXTAREA = "textarea"; - - /** 下拉框 */ - public static final String HTML_SELECT = "select"; - - /** 单选框 */ - public static final String HTML_RADIO = "radio"; - - /** 复选框 */ - public static final String HTML_CHECKBOX = "checkbox"; - - /** 日期控件 */ - public static final String HTML_DATETIME = "datetime"; - - /** 图片上传控件 */ - public static final String HTML_IMAGE_UPLOAD = "imageUpload"; - - /** 文件上传控件 */ - public static final String HTML_FILE_UPLOAD = "fileUpload"; - - /** 富文本控件 */ - public static final String HTML_EDITOR = "editor"; - - /** 字符串类型 */ - public static final String TYPE_STRING = "String"; - - /** 整型 */ - public static final String TYPE_INTEGER = "Integer"; - - /** 长整型 */ - public static final String TYPE_LONG = "Long"; - - /** 浮点型 */ - public static final String TYPE_DOUBLE = "Double"; - - /** 高精度计算类型 */ - public static final String TYPE_BIGDECIMAL = "BigDecimal"; - - /** 时间类型 */ - public static final String TYPE_DATE = "Date"; - - /** 模糊查询 */ - public static final String QUERY_LIKE = "LIKE"; - - /** 相等查询 */ - public static final String QUERY_EQ = "EQ"; - - /** 需要 */ - public static final String REQUIRE = "1"; -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/HttpStatus.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/HttpStatus.java deleted file mode 100644 index bd8ae09..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/HttpStatus.java +++ /dev/null @@ -1,94 +0,0 @@ -package com.hrt.common.core.constant; - -/** - * 返回状态码 - * - * @author jqs - */ -public class HttpStatus -{ - /** - * 操作成功 - */ - public static final int SUCCESS = 200; - - /** - * 对象创建成功 - */ - public static final int CREATED = 201; - - /** - * 请求已经被接受 - */ - public static final int ACCEPTED = 202; - - /** - * 操作已经执行成功,但是没有返回数据 - */ - public static final int NO_CONTENT = 204; - - /** - * 资源已被移除 - */ - public static final int MOVED_PERM = 301; - - /** - * 重定向 - */ - public static final int SEE_OTHER = 303; - - /** - * 资源没有被修改 - */ - public static final int NOT_MODIFIED = 304; - - /** - * 参数列表错误(缺少,格式不匹配) - */ - public static final int BAD_REQUEST = 400; - - /** - * 未授权 - */ - public static final int UNAUTHORIZED = 401; - - /** - * 访问受限,授权过期 - */ - public static final int FORBIDDEN = 403; - - /** - * 资源,服务未找到 - */ - public static final int NOT_FOUND = 404; - - /** - * 不允许的http方法 - */ - public static final int BAD_METHOD = 405; - - /** - * 资源冲突,或者资源被锁 - */ - public static final int CONFLICT = 409; - - /** - * 不支持的数据,媒体类型 - */ - public static final int UNSUPPORTED_TYPE = 415; - - /** - * 系统内部错误 - */ - public static final int ERROR = 500; - - /** - * 接口未实现 - */ - public static final int NOT_IMPLEMENTED = 501; - - /** - * 系统警告消息 - */ - public static final int WARN = 601; -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/ScheduleConstants.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/ScheduleConstants.java deleted file mode 100644 index 4ebe223..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/ScheduleConstants.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.hrt.common.core.constant; - -/** - * 任务调度通用常量 - * - * @author jqs - */ -public class ScheduleConstants -{ - public static final String TASK_CLASS_NAME = "TASK_CLASS_NAME"; - - /** 执行目标key */ - public static final String TASK_PROPERTIES = "TASK_PROPERTIES"; - - /** 默认 */ - public static final String MISFIRE_DEFAULT = "0"; - - /** 立即触发执行 */ - public static final String MISFIRE_IGNORE_MISFIRES = "1"; - - /** 触发一次执行 */ - public static final String MISFIRE_FIRE_AND_PROCEED = "2"; - - /** 不触发立即执行 */ - public static final String MISFIRE_DO_NOTHING = "3"; - - public enum Status - { - /** - * 正常 - */ - NORMAL("0"), - /** - * 暂停 - */ - PAUSE("1"); - - private String value; - - private Status(String value) - { - this.value = value; - } - - public String getValue() - { - return value; - } - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/SecurityConstants.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/SecurityConstants.java deleted file mode 100644 index 93040d3..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/SecurityConstants.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.hrt.common.core.constant; - -/** - * 权限相关通用常量 - * - * @author jqs - */ -public class SecurityConstants -{ - /** - * 用户ID字段 - */ - public static final String DETAILS_USER_ID = "user_id"; - - /** - * 用户名字段 - */ - public static final String DETAILS_USERNAME = "username"; - - /** - * 授权信息字段 - */ - public static final String AUTHORIZATION_HEADER = "authorization"; - - /** - * 请求来源 - */ - public static final String FROM_SOURCE = "from-source"; - - /** - * 内部请求 - */ - public static final String INNER = "inner"; - - /** - * 用户标识 - */ - public static final String USER_KEY = "user_key"; - - /** - * 登录用户 - */ - public static final String LOGIN_USER = "login_user"; - - /** - * 角色权限 - */ - public static final String ROLE_PERMISSION = "role_permission"; -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/ServiceNameConstants.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/ServiceNameConstants.java deleted file mode 100644 index b34254f..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/ServiceNameConstants.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.hrt.common.core.constant; - -/** - * 服务名称 - * - * @author jqs - */ -public class ServiceNameConstants -{ - /** - * 认证服务的serviceid - */ - public static final String AUTH_SERVICE = "hrt-auth"; - - /** - * 系统模块的serviceid - */ - public static final String SYSTEM_SERVICE = "hrt-system"; - - /** - * 文件服务的serviceid - */ - public static final String FILE_SERVICE = "hrt-file"; -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/TokenConstants.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/TokenConstants.java deleted file mode 100644 index 4bd4eed..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/TokenConstants.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.hrt.common.core.constant; - -/** - * Token的Key常量 - * - * @author jqs - */ -public class TokenConstants -{ - /** - * 令牌自定义标识 - */ - public static final String AUTHENTICATION = "Authorization"; - - /** - * 令牌前缀 - */ - public static final String PREFIX = "Bearer "; - - /** - * 令牌秘钥 - */ - public final static String SECRET = "abcdefghijklmnopqrstuvwxyz"; - -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/UserConstants.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/UserConstants.java deleted file mode 100644 index 2b9bdf4..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/UserConstants.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.hrt.common.core.constant; - -/** - * 用户常量信息 - * - * @author jqs - */ -public class UserConstants -{ - /** - * 平台内系统用户的唯一标志 - */ - public static final String SYS_USER = "SYS_USER"; - - /** 正常状态 */ - public static final String NORMAL = "0"; - - /** 异常状态 */ - public static final String EXCEPTION = "1"; - - /** 用户封禁状态 */ - public static final String USER_DISABLE = "1"; - - /** 角色封禁状态 */ - public static final String ROLE_DISABLE = "1"; - - /** 部门正常状态 */ - public static final String DEPT_NORMAL = "0"; - - /** 部门停用状态 */ - public static final String DEPT_DISABLE = "1"; - - /** 字典正常状态 */ - public static final String DICT_NORMAL = "0"; - - /** 是否为系统默认(是) */ - public static final String YES = "Y"; - - /** 是否菜单外链(是) */ - public static final String YES_FRAME = "0"; - - /** 是否菜单外链(否) */ - public static final String NO_FRAME = "1"; - - /** 菜单类型(目录) */ - public static final String TYPE_DIR = "M"; - - /** 菜单类型(菜单) */ - public static final String TYPE_MENU = "C"; - - /** 菜单类型(按钮) */ - public static final String TYPE_BUTTON = "F"; - - /** Layout组件标识 */ - public final static String LAYOUT = "Layout"; - - /** ParentView组件标识 */ - public final static String PARENT_VIEW = "ParentView"; - - /** InnerLink组件标识 */ - public final static String INNER_LINK = "InnerLink"; - - /** 校验是否唯一的返回标识 */ - public final static boolean UNIQUE = true; - public final static boolean NOT_UNIQUE = false; - - /** - * 用户名长度限制 - */ - public static final int USERNAME_MIN_LENGTH = 2; - - public static final int USERNAME_MAX_LENGTH = 20; - - /** - * 密码长度限制 - */ - public static final int PASSWORD_MIN_LENGTH = 5; - - public static final int PASSWORD_MAX_LENGTH = 20; -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/context/SecurityContextHolder.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/context/SecurityContextHolder.java deleted file mode 100644 index c17105c..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/context/SecurityContextHolder.java +++ /dev/null @@ -1,98 +0,0 @@ -package com.hrt.common.core.context; - -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; -import com.alibaba.ttl.TransmittableThreadLocal; -import com.hrt.common.core.constant.SecurityConstants; -import com.hrt.common.core.text.Convert; -import com.hrt.common.core.utils.StringUtils; - -/** - * 获取当前线程变量中的 用户id、用户名称、Token等信息 - * 注意: 必须在网关通过请求头的方法传入,同时在HeaderInterceptor拦截器设置值。 否则这里无法获取 - * - * @author jqs - */ -public class SecurityContextHolder -{ - private static final TransmittableThreadLocal<Map<String, Object>> THREAD_LOCAL = new TransmittableThreadLocal<>(); - - public static void set(String key, Object value) - { - Map<String, Object> map = getLocalMap(); - map.put(key, value == null ? StringUtils.EMPTY : value); - } - - public static String get(String key) - { - Map<String, Object> map = getLocalMap(); - return Convert.toStr(map.getOrDefault(key, StringUtils.EMPTY)); - } - - public static <T> T get(String key, Class<T> clazz) - { - Map<String, Object> map = getLocalMap(); - return StringUtils.cast(map.getOrDefault(key, null)); - } - - public static Map<String, Object> getLocalMap() - { - Map<String, Object> map = THREAD_LOCAL.get(); - if (map == null) - { - map = new ConcurrentHashMap<String, Object>(); - THREAD_LOCAL.set(map); - } - return map; - } - - public static void setLocalMap(Map<String, Object> threadLocalMap) - { - THREAD_LOCAL.set(threadLocalMap); - } - - public static Long getUserId() - { - return Convert.toLong(get(SecurityConstants.DETAILS_USER_ID), 0L); - } - - public static void setUserId(String account) - { - set(SecurityConstants.DETAILS_USER_ID, account); - } - - public static String getUserName() - { - return get(SecurityConstants.DETAILS_USERNAME); - } - - public static void setUserName(String username) - { - set(SecurityConstants.DETAILS_USERNAME, username); - } - - public static String getUserKey() - { - return get(SecurityConstants.USER_KEY); - } - - public static void setUserKey(String userKey) - { - set(SecurityConstants.USER_KEY, userKey); - } - - public static String getPermission() - { - return get(SecurityConstants.ROLE_PERMISSION); - } - - public static void setPermission(String permissions) - { - set(SecurityConstants.ROLE_PERMISSION, permissions); - } - - public static void remove() - { - THREAD_LOCAL.remove(); - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/domain/R.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/domain/R.java deleted file mode 100644 index 71d8fb5..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/domain/R.java +++ /dev/null @@ -1,115 +0,0 @@ -package com.hrt.common.core.domain; - -import java.io.Serializable; -import com.hrt.common.core.constant.Constants; - -/** - * 响应信息主体 - * - * @author jqs - */ -public class R<T> implements Serializable -{ - private static final long serialVersionUID = 1L; - - /** 成功 */ - public static final int SUCCESS = Constants.SUCCESS; - - /** 失败 */ - public static final int FAIL = Constants.FAIL; - - private int code; - - private String msg; - - private T data; - - public static <T> R<T> ok() - { - return restResult(null, SUCCESS, null); - } - - public static <T> R<T> ok(T data) - { - return restResult(data, SUCCESS, null); - } - - public static <T> R<T> ok(T data, String msg) - { - return restResult(data, SUCCESS, msg); - } - - public static <T> R<T> fail() - { - return restResult(null, FAIL, null); - } - - public static <T> R<T> fail(String msg) - { - return restResult(null, FAIL, msg); - } - - public static <T> R<T> fail(T data) - { - return restResult(data, FAIL, null); - } - - public static <T> R<T> fail(T data, String msg) - { - return restResult(data, FAIL, msg); - } - - public static <T> R<T> fail(int code, String msg) - { - return restResult(null, code, msg); - } - - private static <T> R<T> restResult(T data, int code, String msg) - { - R<T> apiResult = new R<>(); - apiResult.setCode(code); - apiResult.setData(data); - apiResult.setMsg(msg); - return apiResult; - } - - public int getCode() - { - return code; - } - - public void setCode(int code) - { - this.code = code; - } - - public String getMsg() - { - return msg; - } - - public void setMsg(String msg) - { - this.msg = msg; - } - - public T getData() - { - return data; - } - - public void setData(T data) - { - this.data = data; - } - - public static <T> Boolean isError(R<T> ret) - { - return !isSuccess(ret); - } - - public static <T> Boolean isSuccess(R<T> ret) - { - return R.SUCCESS == ret.getCode(); - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/enums/UserStatus.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/enums/UserStatus.java deleted file mode 100644 index 5c87233..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/enums/UserStatus.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.hrt.common.core.enums; - -/** - * 用户状态 - * - * @author jqs - */ -public enum UserStatus -{ - OK("0", "正常"), DISABLE("1", "停用"), DELETED("2", "删除"); - - private final String code; - private final String info; - - UserStatus(String code, String info) - { - this.code = code; - this.info = info; - } - - public String getCode() - { - return code; - } - - public String getInfo() - { - return info; - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/CaptchaException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/CaptchaException.java deleted file mode 100644 index 7a7823a..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/CaptchaException.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.common.core.exception; - -/** - * 验证码错误异常类 - * - * @author jqs - */ -public class CaptchaException extends RuntimeException -{ - private static final long serialVersionUID = 1L; - - public CaptchaException(String msg) - { - super(msg); - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/CheckedException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/CheckedException.java deleted file mode 100644 index a8f464e..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/CheckedException.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.hrt.common.core.exception; - -/** - * 检查异常 - * - * @author jqs - */ -public class CheckedException extends RuntimeException -{ - private static final long serialVersionUID = 1L; - - public CheckedException(String message) - { - super(message); - } - - public CheckedException(Throwable cause) - { - super(cause); - } - - public CheckedException(String message, Throwable cause) - { - super(message, cause); - } - - public CheckedException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) - { - super(message, cause, enableSuppression, writableStackTrace); - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/DemoModeException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/DemoModeException.java deleted file mode 100644 index 1f3a726..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/DemoModeException.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.hrt.common.core.exception; - -/** - * 演示模式异常 - * - * @author jqs - */ -public class DemoModeException extends RuntimeException -{ - private static final long serialVersionUID = 1L; - - public DemoModeException() - { - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/GlobalException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/GlobalException.java deleted file mode 100644 index 4ec0641..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/GlobalException.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.hrt.common.core.exception; - -/** - * 全局异常 - * - * @author jqs - */ -public class GlobalException extends RuntimeException -{ - private static final long serialVersionUID = 1L; - - /** - * 错误提示 - */ - private String message; - - /** - * 错误明细,内部调试错误 - * - * 和 {@link CommonResult#getDetailMessage()} 一致的设计 - */ - private String detailMessage; - - /** - * 空构造方法,避免反序列化问题 - */ - public GlobalException() - { - } - - public GlobalException(String message) - { - this.message = message; - } - - public String getDetailMessage() - { - return detailMessage; - } - - public GlobalException setDetailMessage(String detailMessage) - { - this.detailMessage = detailMessage; - return this; - } - - @Override - public String getMessage() - { - return message; - } - - public GlobalException setMessage(String message) - { - this.message = message; - return this; - } -} \ No newline at end of file diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/InnerAuthException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/InnerAuthException.java deleted file mode 100644 index 40848ef..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/InnerAuthException.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.common.core.exception; - -/** - * 内部认证异常 - * - * @author jqs - */ -public class InnerAuthException extends RuntimeException -{ - private static final long serialVersionUID = 1L; - - public InnerAuthException(String message) - { - super(message); - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/PreAuthorizeException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/PreAuthorizeException.java deleted file mode 100644 index 3795c0b..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/PreAuthorizeException.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.hrt.common.core.exception; - -/** - * 权限异常 - * - * @author jqs - */ -public class PreAuthorizeException extends RuntimeException -{ - private static final long serialVersionUID = 1L; - - public PreAuthorizeException() - { - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/ServiceException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/ServiceException.java deleted file mode 100644 index fdab109..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/ServiceException.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.hrt.common.core.exception; - -/** - * 业务异常 - * - * @author jqs - */ -public final class ServiceException extends RuntimeException -{ - private static final long serialVersionUID = 1L; - - /** - * 错误码 - */ - private Integer code; - - /** - * 错误提示 - */ - private String message; - - /** - * 错误明细,内部调试错误 - * - * 和 {@link CommonResult#getDetailMessage()} 一致的设计 - */ - private String detailMessage; - - /** - * 空构造方法,避免反序列化问题 - */ - public ServiceException() - { - } - - public ServiceException(String message) - { - this.message = message; - } - - public ServiceException(String message, Integer code) - { - this.message = message; - this.code = code; - } - - public String getDetailMessage() - { - return detailMessage; - } - - @Override - public String getMessage() - { - return message; - } - - public Integer getCode() - { - return code; - } - - public ServiceException setMessage(String message) - { - this.message = message; - return this; - } - - public ServiceException setDetailMessage(String detailMessage) - { - this.detailMessage = detailMessage; - return this; - } -} \ No newline at end of file diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/UtilException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/UtilException.java deleted file mode 100644 index 5907444..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/UtilException.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.hrt.common.core.exception; - -/** - * 工具类异常 - * - * @author jqs - */ -public class UtilException extends RuntimeException -{ - private static final long serialVersionUID = 8247610319171014183L; - - public UtilException(Throwable e) - { - super(e.getMessage(), e); - } - - public UtilException(String message) - { - super(message); - } - - public UtilException(String message, Throwable throwable) - { - super(message, throwable); - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/auth/NotLoginException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/auth/NotLoginException.java deleted file mode 100644 index d2f52ac..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/auth/NotLoginException.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.common.core.exception.auth; - -/** - * 未能通过的登录认证异常 - * - * @author jqs - */ -public class NotLoginException extends RuntimeException -{ - private static final long serialVersionUID = 1L; - - public NotLoginException(String message) - { - super(message); - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/auth/NotPermissionException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/auth/NotPermissionException.java deleted file mode 100644 index 58b7bdf..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/auth/NotPermissionException.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.hrt.common.core.exception.auth; - -import org.apache.commons.lang3.StringUtils; - -/** - * 未能通过的权限认证异常 - * - * @author jqs - */ -public class NotPermissionException extends RuntimeException -{ - private static final long serialVersionUID = 1L; - - public NotPermissionException(String permission) - { - super(permission); - } - - public NotPermissionException(String[] permissions) - { - super(StringUtils.join(permissions, ",")); - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/auth/NotRoleException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/auth/NotRoleException.java deleted file mode 100644 index cb56d33..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/auth/NotRoleException.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.hrt.common.core.exception.auth; - -import org.apache.commons.lang3.StringUtils; - -/** - * 未能通过的角色认证异常 - * - * @author jqs - */ -public class NotRoleException extends RuntimeException -{ - private static final long serialVersionUID = 1L; - - public NotRoleException(String role) - { - super(role); - } - - public NotRoleException(String[] roles) - { - super(StringUtils.join(roles, ",")); - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/base/BaseException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/base/BaseException.java deleted file mode 100644 index f5f72b0..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/base/BaseException.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.hrt.common.core.exception.base; - -/** - * 基础异常 - * - * @author jqs - */ -public class BaseException extends RuntimeException -{ - private static final long serialVersionUID = 1L; - - /** - * 所属模块 - */ - private String module; - - /** - * 错误码 - */ - private String code; - - /** - * 错误码对应的参数 - */ - private Object[] args; - - /** - * 错误消息 - */ - private String defaultMessage; - - public BaseException(String module, String code, Object[] args, String defaultMessage) - { - this.module = module; - this.code = code; - this.args = args; - this.defaultMessage = defaultMessage; - } - - public BaseException(String module, String code, Object[] args) - { - this(module, code, args, null); - } - - public BaseException(String module, String defaultMessage) - { - this(module, null, null, defaultMessage); - } - - public BaseException(String code, Object[] args) - { - this(null, code, args, null); - } - - public BaseException(String defaultMessage) - { - this(null, null, null, defaultMessage); - } - - public String getModule() - { - return module; - } - - public String getCode() - { - return code; - } - - public Object[] getArgs() - { - return args; - } - - public String getDefaultMessage() - { - return defaultMessage; - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/file/FileException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/file/FileException.java deleted file mode 100644 index 8a6af8d..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/file/FileException.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.hrt.common.core.exception.file; - -import com.hrt.common.core.exception.base.BaseException; - -/** - * 文件信息异常类 - * - * @author jqs - */ -public class FileException extends BaseException -{ - private static final long serialVersionUID = 1L; - - public FileException(String code, Object[] args, String msg) - { - super("file", code, args, msg); - } - -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/file/FileNameLengthLimitExceededException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/file/FileNameLengthLimitExceededException.java deleted file mode 100644 index d15bae2..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/file/FileNameLengthLimitExceededException.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.common.core.exception.file; - -/** - * 文件名称超长限制异常类 - * - * @author jqs - */ -public class FileNameLengthLimitExceededException extends FileException -{ - private static final long serialVersionUID = 1L; - - public FileNameLengthLimitExceededException(int defaultFileNameLength) - { - super("upload.filename.exceed.length", new Object[] { defaultFileNameLength }, "the filename is too long"); - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/file/FileSizeLimitExceededException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/file/FileSizeLimitExceededException.java deleted file mode 100644 index d90a0a4..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/file/FileSizeLimitExceededException.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.common.core.exception.file; - -/** - * 文件名大小限制异常类 - * - * @author jqs - */ -public class FileSizeLimitExceededException extends FileException -{ - private static final long serialVersionUID = 1L; - - public FileSizeLimitExceededException(long defaultMaxSize) - { - super("upload.exceed.maxSize", new Object[] { defaultMaxSize }, "the filesize is too large"); - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/file/FileUploadException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/file/FileUploadException.java deleted file mode 100644 index ab749a5..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/file/FileUploadException.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.hrt.common.core.exception.file; - -import java.io.PrintStream; -import java.io.PrintWriter; - -/** - * 文件上传异常类 - * - * @author jqs - */ -public class FileUploadException extends Exception -{ - - private static final long serialVersionUID = 1L; - - private final Throwable cause; - - public FileUploadException() - { - this(null, null); - } - - public FileUploadException(final String msg) - { - this(msg, null); - } - - public FileUploadException(String msg, Throwable cause) - { - super(msg); - this.cause = cause; - } - - @Override - public void printStackTrace(PrintStream stream) - { - super.printStackTrace(stream); - if (cause != null) - { - stream.println("Caused by:"); - cause.printStackTrace(stream); - } - } - - @Override - public void printStackTrace(PrintWriter writer) - { - super.printStackTrace(writer); - if (cause != null) - { - writer.println("Caused by:"); - cause.printStackTrace(writer); - } - } - - @Override - public Throwable getCause() - { - return cause; - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/file/InvalidExtensionException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/file/InvalidExtensionException.java deleted file mode 100644 index a273e6b..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/file/InvalidExtensionException.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.hrt.common.core.exception.file; - -import java.util.Arrays; - -/** - * 文件上传 误异常类 - * - * @author jqs - */ -public class InvalidExtensionException extends FileUploadException -{ - private static final long serialVersionUID = 1L; - - private String[] allowedExtension; - private String extension; - private String filename; - - public InvalidExtensionException(String[] allowedExtension, String extension, String filename) - { - super("filename : [" + filename + "], extension : [" + extension + "], allowed extension : [" + Arrays.toString(allowedExtension) + "]"); - this.allowedExtension = allowedExtension; - this.extension = extension; - this.filename = filename; - } - - public String[] getAllowedExtension() - { - return allowedExtension; - } - - public String getExtension() - { - return extension; - } - - public String getFilename() - { - return filename; - } - - public static class InvalidImageExtensionException extends InvalidExtensionException - { - private static final long serialVersionUID = 1L; - - public InvalidImageExtensionException(String[] allowedExtension, String extension, String filename) - { - super(allowedExtension, extension, filename); - } - } - - public static class InvalidFlashExtensionException extends InvalidExtensionException - { - private static final long serialVersionUID = 1L; - - public InvalidFlashExtensionException(String[] allowedExtension, String extension, String filename) - { - super(allowedExtension, extension, filename); - } - } - - public static class InvalidMediaExtensionException extends InvalidExtensionException - { - private static final long serialVersionUID = 1L; - - public InvalidMediaExtensionException(String[] allowedExtension, String extension, String filename) - { - super(allowedExtension, extension, filename); - } - } - - public static class InvalidVideoExtensionException extends InvalidExtensionException - { - private static final long serialVersionUID = 1L; - - public InvalidVideoExtensionException(String[] allowedExtension, String extension, String filename) - { - super(allowedExtension, extension, filename); - } - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/job/TaskException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/job/TaskException.java deleted file mode 100644 index 986c245..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/job/TaskException.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.hrt.common.core.exception.job; - -/** - * 计划策略异常 - * - * @author jqs - */ -public class TaskException extends Exception -{ - private static final long serialVersionUID = 1L; - - private Code code; - - public TaskException(String msg, Code code) - { - this(msg, code, null); - } - - public TaskException(String msg, Code code, Exception nestedEx) - { - super(msg, nestedEx); - this.code = code; - } - - public Code getCode() - { - return code; - } - - public enum Code - { - TASK_EXISTS, NO_TASK_EXISTS, TASK_ALREADY_STARTED, UNKNOWN, CONFIG_ERROR, TASK_NODE_NOT_AVAILABLE - } -} \ No newline at end of file diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/user/CaptchaExpireException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/user/CaptchaExpireException.java deleted file mode 100644 index c2427f6..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/user/CaptchaExpireException.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.common.core.exception.user; - -/** - * 验证码失效异常类 - * - * @author jqs - */ -public class CaptchaExpireException extends UserException -{ - private static final long serialVersionUID = 1L; - - public CaptchaExpireException() - { - super("user.jcaptcha.expire", null); - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/user/UserException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/user/UserException.java deleted file mode 100644 index 0b67827..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/user/UserException.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.hrt.common.core.exception.user; - -import com.hrt.common.core.exception.base.BaseException; - -/** - * 用户信息异常类 - * - * @author jqs - */ -public class UserException extends BaseException -{ - private static final long serialVersionUID = 1L; - - public UserException(String code, Object[] args) - { - super("user", code, args, null); - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/user/UserPasswordNotMatchException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/user/UserPasswordNotMatchException.java deleted file mode 100644 index ef8fd78..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/user/UserPasswordNotMatchException.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.common.core.exception.user; - -/** - * 用户密码不正确或不符合规范异常类 - * - * @author jqs - */ -public class UserPasswordNotMatchException extends UserException -{ - private static final long serialVersionUID = 1L; - - public UserPasswordNotMatchException() - { - super("user.password.not.match", null); - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/text/CharsetKit.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/text/CharsetKit.java deleted file mode 100644 index b3f5b17..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/text/CharsetKit.java +++ /dev/null @@ -1,86 +0,0 @@ -package com.hrt.common.core.text; - -import java.nio.charset.Charset; -import java.nio.charset.StandardCharsets; -import com.hrt.common.core.utils.StringUtils; - -/** - * 字符集工具类 - * - * @author jqs - */ -public class CharsetKit -{ - /** ISO-8859-1 */ - public static final String ISO_8859_1 = "ISO-8859-1"; - /** UTF-8 */ - public static final String UTF_8 = "UTF-8"; - /** GBK */ - public static final String GBK = "GBK"; - - /** ISO-8859-1 */ - public static final Charset CHARSET_ISO_8859_1 = Charset.forName(ISO_8859_1); - /** UTF-8 */ - public static final Charset CHARSET_UTF_8 = Charset.forName(UTF_8); - /** GBK */ - public static final Charset CHARSET_GBK = Charset.forName(GBK); - - /** - * 转换为Charset对象 - * - * @param charset 字符集,为空则返回默认字符集 - * @return Charset - */ - public static Charset charset(String charset) - { - return StringUtils.isEmpty(charset) ? Charset.defaultCharset() : Charset.forName(charset); - } - - /** - * 转换字符串的字符集编码 - * - * @param source 字符串 - * @param srcCharset 源字符集,默认ISO-8859-1 - * @param destCharset 目标字符集,默认UTF-8 - * @return 转换后的字符集 - */ - public static String convert(String source, String srcCharset, String destCharset) - { - return convert(source, Charset.forName(srcCharset), Charset.forName(destCharset)); - } - - /** - * 转换字符串的字符集编码 - * - * @param source 字符串 - * @param srcCharset 源字符集,默认ISO-8859-1 - * @param destCharset 目标字符集,默认UTF-8 - * @return 转换后的字符集 - */ - public static String convert(String source, Charset srcCharset, Charset destCharset) - { - if (null == srcCharset) - { - srcCharset = StandardCharsets.ISO_8859_1; - } - - if (null == destCharset) - { - destCharset = StandardCharsets.UTF_8; - } - - if (StringUtils.isEmpty(source) || srcCharset.equals(destCharset)) - { - return source; - } - return new String(source.getBytes(srcCharset), destCharset); - } - - /** - * @return 系统字符集编码 - */ - public static String systemCharset() - { - return Charset.defaultCharset().name(); - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/text/Convert.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/text/Convert.java deleted file mode 100644 index 8c0f6d0..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/text/Convert.java +++ /dev/null @@ -1,1006 +0,0 @@ -package com.hrt.common.core.text; - -import java.math.BigDecimal; -import java.math.BigInteger; -import java.nio.ByteBuffer; -import java.nio.charset.Charset; -import java.text.NumberFormat; -import java.util.Set; -import com.hrt.common.core.utils.StringUtils; - -/** - * 类型转换器 - * - * @author jqs - */ -public class Convert -{ - /** - * 转换为字符串<br> - * 如果给定的值为null,或者转换失败,返回默认值<br> - * 转换失败不会报错 - * - * @param value 被转换的值 - * @param defaultValue 转换错误时的默认值 - * @return 结果 - */ - public static String toStr(Object value, String defaultValue) - { - if (null == value) - { - return defaultValue; - } - if (value instanceof String) - { - return (String) value; - } - return value.toString(); - } - - /** - * 转换为字符串<br> - * 如果给定的值为<code>null</code>,或者转换失败,返回默认值<code>null</code><br> - * 转换失败不会报错 - * - * @param value 被转换的值 - * @return 结果 - */ - public static String toStr(Object value) - { - return toStr(value, null); - } - - /** - * 转换为字符<br> - * 如果给定的值为null,或者转换失败,返回默认值<br> - * 转换失败不会报错 - * - * @param value 被转换的值 - * @param defaultValue 转换错误时的默认值 - * @return 结果 - */ - public static Character toChar(Object value, Character defaultValue) - { - if (null == value) - { - return defaultValue; - } - if (value instanceof Character) - { - return (Character) value; - } - - final String valueStr = toStr(value, null); - return StringUtils.isEmpty(valueStr) ? defaultValue : valueStr.charAt(0); - } - - /** - * 转换为字符<br> - * 如果给定的值为<code>null</code>,或者转换失败,返回默认值<code>null</code><br> - * 转换失败不会报错 - * - * @param value 被转换的值 - * @return 结果 - */ - public static Character toChar(Object value) - { - return toChar(value, null); - } - - /** - * 转换为byte<br> - * 如果给定的值为<code>null</code>,或者转换失败,返回默认值<br> - * 转换失败不会报错 - * - * @param value 被转换的值 - * @param defaultValue 转换错误时的默认值 - * @return 结果 - */ - public static Byte toByte(Object value, Byte defaultValue) - { - if (value == null) - { - return defaultValue; - } - if (value instanceof Byte) - { - return (Byte) value; - } - if (value instanceof Number) - { - return ((Number) value).byteValue(); - } - final String valueStr = toStr(value, null); - if (StringUtils.isEmpty(valueStr)) - { - return defaultValue; - } - try - { - return Byte.parseByte(valueStr); - } - catch (Exception e) - { - return defaultValue; - } - } - - /** - * 转换为byte<br> - * 如果给定的值为<code>null</code>,或者转换失败,返回默认值<code>null</code><br> - * 转换失败不会报错 - * - * @param value 被转换的值 - * @return 结果 - */ - public static Byte toByte(Object value) - { - return toByte(value, null); - } - - /** - * 转换为Short<br> - * 如果给定的值为<code>null</code>,或者转换失败,返回默认值<br> - * 转换失败不会报错 - * - * @param value 被转换的值 - * @param defaultValue 转换错误时的默认值 - * @return 结果 - */ - public static Short toShort(Object value, Short defaultValue) - { - if (value == null) - { - return defaultValue; - } - if (value instanceof Short) - { - return (Short) value; - } - if (value instanceof Number) - { - return ((Number) value).shortValue(); - } - final String valueStr = toStr(value, null); - if (StringUtils.isEmpty(valueStr)) - { - return defaultValue; - } - try - { - return Short.parseShort(valueStr.trim()); - } - catch (Exception e) - { - return defaultValue; - } - } - - /** - * 转换为Short<br> - * 如果给定的值为<code>null</code>,或者转换失败,返回默认值<code>null</code><br> - * 转换失败不会报错 - * - * @param value 被转换的值 - * @return 结果 - */ - public static Short toShort(Object value) - { - return toShort(value, null); - } - - /** - * 转换为Number<br> - * 如果给定的值为空,或者转换失败,返回默认值<br> - * 转换失败不会报错 - * - * @param value 被转换的值 - * @param defaultValue 转换错误时的默认值 - * @return 结果 - */ - public static Number toNumber(Object value, Number defaultValue) - { - if (value == null) - { - return defaultValue; - } - if (value instanceof Number) - { - return (Number) value; - } - final String valueStr = toStr(value, null); - if (StringUtils.isEmpty(valueStr)) - { - return defaultValue; - } - try - { - return NumberFormat.getInstance().parse(valueStr); - } - catch (Exception e) - { - return defaultValue; - } - } - - /** - * 转换为Number<br> - * 如果给定的值为空,或者转换失败,返回默认值<code>null</code><br> - * 转换失败不会报错 - * - * @param value 被转换的值 - * @return 结果 - */ - public static Number toNumber(Object value) - { - return toNumber(value, null); - } - - /** - * 转换为int<br> - * 如果给定的值为空,或者转换失败,返回默认值<br> - * 转换失败不会报错 - * - * @param value 被转换的值 - * @param defaultValue 转换错误时的默认值 - * @return 结果 - */ - public static Integer toInt(Object value, Integer defaultValue) - { - if (value == null) - { - return defaultValue; - } - if (value instanceof Integer) - { - return (Integer) value; - } - if (value instanceof Number) - { - return ((Number) value).intValue(); - } - final String valueStr = toStr(value, null); - if (StringUtils.isEmpty(valueStr)) - { - return defaultValue; - } - try - { - return Integer.parseInt(valueStr.trim()); - } - catch (Exception e) - { - return defaultValue; - } - } - - /** - * 转换为int<br> - * 如果给定的值为<code>null</code>,或者转换失败,返回默认值<code>null</code><br> - * 转换失败不会报错 - * - * @param value 被转换的值 - * @return 结果 - */ - public static Integer toInt(Object value) - { - return toInt(value, null); - } - - /** - * 转换为Integer数组<br> - * - * @param str 被转换的值 - * @return 结果 - */ - public static Integer[] toIntArray(String str) - { - return toIntArray(",", str); - } - - /** - * 转换为Long数组<br> - * - * @param str 被转换的值 - * @return 结果 - */ - public static Long[] toLongArray(String str) - { - return toLongArray(",", str); - } - - /** - * 转换为Integer数组<br> - * - * @param split 分隔符 - * @param str 被转换的值 - * @return 结果 - */ - public static Integer[] toIntArray(String split, String str) - { - if (StringUtils.isEmpty(str)) - { - return new Integer[] {}; - } - String[] arr = str.split(split); - final Integer[] ints = new Integer[arr.length]; - for (int i = 0; i < arr.length; i++) - { - final Integer v = toInt(arr[i], 0); - ints[i] = v; - } - return ints; - } - - /** - * 转换为Long数组<br> - * - * @param split 分隔符 - * @param str 被转换的值 - * @return 结果 - */ - public static Long[] toLongArray(String split, String str) - { - if (StringUtils.isEmpty(str)) - { - return new Long[] {}; - } - String[] arr = str.split(split); - final Long[] longs = new Long[arr.length]; - for (int i = 0; i < arr.length; i++) - { - final Long v = toLong(arr[i], null); - longs[i] = v; - } - return longs; - } - - /** - * 转换为String数组<br> - * - * @param str 被转换的值 - * @return 结果 - */ - public static String[] toStrArray(String str) - { - return toStrArray(",", str); - } - - /** - * 转换为String数组<br> - * - * @param split 分隔符 - * @param str 被转换的值 - * @return 结果 - */ - public static String[] toStrArray(String split, String str) - { - return str.split(split); - } - - /** - * 转换为long<br> - * 如果给定的值为空,或者转换失败,返回默认值<br> - * 转换失败不会报错 - * - * @param value 被转换的值 - * @param defaultValue 转换错误时的默认值 - * @return 结果 - */ - public static Long toLong(Object value, Long defaultValue) - { - if (value == null) - { - return defaultValue; - } - if (value instanceof Long) - { - return (Long) value; - } - if (value instanceof Number) - { - return ((Number) value).longValue(); - } - final String valueStr = toStr(value, null); - if (StringUtils.isEmpty(valueStr)) - { - return defaultValue; - } - try - { - // 支持科学计数法 - return new BigDecimal(valueStr.trim()).longValue(); - } - catch (Exception e) - { - return defaultValue; - } - } - - /** - * 转换为long<br> - * 如果给定的值为<code>null</code>,或者转换失败,返回默认值<code>null</code><br> - * 转换失败不会报错 - * - * @param value 被转换的值 - * @return 结果 - */ - public static Long toLong(Object value) - { - return toLong(value, null); - } - - /** - * 转换为double<br> - * 如果给定的值为空,或者转换失败,返回默认值<br> - * 转换失败不会报错 - * - * @param value 被转换的值 - * @param defaultValue 转换错误时的默认值 - * @return 结果 - */ - public static Double toDouble(Object value, Double defaultValue) - { - if (value == null) - { - return defaultValue; - } - if (value instanceof Double) - { - return (Double) value; - } - if (value instanceof Number) - { - return ((Number) value).doubleValue(); - } - final String valueStr = toStr(value, null); - if (StringUtils.isEmpty(valueStr)) - { - return defaultValue; - } - try - { - // 支持科学计数法 - return new BigDecimal(valueStr.trim()).doubleValue(); - } - catch (Exception e) - { - return defaultValue; - } - } - - /** - * 转换为double<br> - * 如果给定的值为空,或者转换失败,返回默认值<code>null</code><br> - * 转换失败不会报错 - * - * @param value 被转换的值 - * @return 结果 - */ - public static Double toDouble(Object value) - { - return toDouble(value, null); - } - - /** - * 转换为Float<br> - * 如果给定的值为空,或者转换失败,返回默认值<br> - * 转换失败不会报错 - * - * @param value 被转换的值 - * @param defaultValue 转换错误时的默认值 - * @return 结果 - */ - public static Float toFloat(Object value, Float defaultValue) - { - if (value == null) - { - return defaultValue; - } - if (value instanceof Float) - { - return (Float) value; - } - if (value instanceof Number) - { - return ((Number) value).floatValue(); - } - final String valueStr = toStr(value, null); - if (StringUtils.isEmpty(valueStr)) - { - return defaultValue; - } - try - { - return Float.parseFloat(valueStr.trim()); - } - catch (Exception e) - { - return defaultValue; - } - } - - /** - * 转换为Float<br> - * 如果给定的值为空,或者转换失败,返回默认值<code>null</code><br> - * 转换失败不会报错 - * - * @param value 被转换的值 - * @return 结果 - */ - public static Float toFloat(Object value) - { - return toFloat(value, null); - } - - /** - * 转换为boolean<br> - * String支持的值为:true、false、yes、ok、no,1,0 如果给定的值为空,或者转换失败,返回默认值<br> - * 转换失败不会报错 - * - * @param value 被转换的值 - * @param defaultValue 转换错误时的默认值 - * @return 结果 - */ - public static Boolean toBool(Object value, Boolean defaultValue) - { - if (value == null) - { - return defaultValue; - } - if (value instanceof Boolean) - { - return (Boolean) value; - } - String valueStr = toStr(value, null); - if (StringUtils.isEmpty(valueStr)) - { - return defaultValue; - } - valueStr = valueStr.trim().toLowerCase(); - switch (valueStr) - { - case "true": - case "yes": - case "ok": - case "1": - return true; - case "false": - case "no": - case "0": - return false; - default: - return defaultValue; - } - } - - /** - * 转换为boolean<br> - * 如果给定的值为空,或者转换失败,返回默认值<code>null</code><br> - * 转换失败不会报错 - * - * @param value 被转换的值 - * @return 结果 - */ - public static Boolean toBool(Object value) - { - return toBool(value, null); - } - - /** - * 转换为Enum对象<br> - * 如果给定的值为空,或者转换失败,返回默认值<br> - * - * @param clazz Enum的Class - * @param value 值 - * @param defaultValue 默认值 - * @return Enum - */ - public static <E extends Enum<E>> E toEnum(Class<E> clazz, Object value, E defaultValue) - { - if (value == null) - { - return defaultValue; - } - if (clazz.isAssignableFrom(value.getClass())) - { - @SuppressWarnings("unchecked") - E myE = (E) value; - return myE; - } - final String valueStr = toStr(value, null); - if (StringUtils.isEmpty(valueStr)) - { - return defaultValue; - } - try - { - return Enum.valueOf(clazz, valueStr); - } - catch (Exception e) - { - return defaultValue; - } - } - - /** - * 转换为Enum对象<br> - * 如果给定的值为空,或者转换失败,返回默认值<code>null</code><br> - * - * @param clazz Enum的Class - * @param value 值 - * @return Enum - */ - public static <E extends Enum<E>> E toEnum(Class<E> clazz, Object value) - { - return toEnum(clazz, value, null); - } - - /** - * 转换为BigInteger<br> - * 如果给定的值为空,或者转换失败,返回默认值<br> - * 转换失败不会报错 - * - * @param value 被转换的值 - * @param defaultValue 转换错误时的默认值 - * @return 结果 - */ - public static BigInteger toBigInteger(Object value, BigInteger defaultValue) - { - if (value == null) - { - return defaultValue; - } - if (value instanceof BigInteger) - { - return (BigInteger) value; - } - if (value instanceof Long) - { - return BigInteger.valueOf((Long) value); - } - final String valueStr = toStr(value, null); - if (StringUtils.isEmpty(valueStr)) - { - return defaultValue; - } - try - { - return new BigInteger(valueStr); - } - catch (Exception e) - { - return defaultValue; - } - } - - /** - * 转换为BigInteger<br> - * 如果给定的值为空,或者转换失败,返回默认值<code>null</code><br> - * 转换失败不会报错 - * - * @param value 被转换的值 - * @return 结果 - */ - public static BigInteger toBigInteger(Object value) - { - return toBigInteger(value, null); - } - - /** - * 转换为BigDecimal<br> - * 如果给定的值为空,或者转换失败,返回默认值<br> - * 转换失败不会报错 - * - * @param value 被转换的值 - * @param defaultValue 转换错误时的默认值 - * @return 结果 - */ - public static BigDecimal toBigDecimal(Object value, BigDecimal defaultValue) - { - if (value == null) - { - return defaultValue; - } - if (value instanceof BigDecimal) - { - return (BigDecimal) value; - } - if (value instanceof Long) - { - return new BigDecimal((Long) value); - } - if (value instanceof Double) - { - return BigDecimal.valueOf((Double) value); - } - if (value instanceof Integer) - { - return new BigDecimal((Integer) value); - } - final String valueStr = toStr(value, null); - if (StringUtils.isEmpty(valueStr)) - { - return defaultValue; - } - try - { - return new BigDecimal(valueStr); - } - catch (Exception e) - { - return defaultValue; - } - } - - /** - * 转换为BigDecimal<br> - * 如果给定的值为空,或者转换失败,返回默认值<br> - * 转换失败不会报错 - * - * @param value 被转换的值 - * @return 结果 - */ - public static BigDecimal toBigDecimal(Object value) - { - return toBigDecimal(value, null); - } - - /** - * 将对象转为字符串<br> - * 1、Byte数组和ByteBuffer会被转换为对应字符串的数组 2、对象数组会调用Arrays.toString方法 - * - * @param obj 对象 - * @return 字符串 - */ - public static String utf8Str(Object obj) - { - return str(obj, CharsetKit.CHARSET_UTF_8); - } - - /** - * 将对象转为字符串<br> - * 1、Byte数组和ByteBuffer会被转换为对应字符串的数组 2、对象数组会调用Arrays.toString方法 - * - * @param obj 对象 - * @param charsetName 字符集 - * @return 字符串 - */ - public static String str(Object obj, String charsetName) - { - return str(obj, Charset.forName(charsetName)); - } - - /** - * 将对象转为字符串<br> - * 1、Byte数组和ByteBuffer会被转换为对应字符串的数组 2、对象数组会调用Arrays.toString方法 - * - * @param obj 对象 - * @param charset 字符集 - * @return 字符串 - */ - public static String str(Object obj, Charset charset) - { - if (null == obj) - { - return null; - } - - if (obj instanceof String) - { - return (String) obj; - } - else if (obj instanceof byte[] || obj instanceof Byte[]) - { - if (obj instanceof byte[]) - { - return str((byte[]) obj, charset); - } - else - { - Byte[] bytes = (Byte[]) obj; - int length = bytes.length; - byte[] dest = new byte[length]; - for (int i = 0; i < length; i++) - { - dest[i] = bytes[i]; - } - return str(dest, charset); - } - } - else if (obj instanceof ByteBuffer) - { - return str((ByteBuffer) obj, charset); - } - return obj.toString(); - } - - /** - * 将byte数组转为字符串 - * - * @param bytes byte数组 - * @param charset 字符集 - * @return 字符串 - */ - public static String str(byte[] bytes, String charset) - { - return str(bytes, StringUtils.isEmpty(charset) ? Charset.defaultCharset() : Charset.forName(charset)); - } - - /** - * 解码字节码 - * - * @param data 字符串 - * @param charset 字符集,如果此字段为空,则解码的结果取决于平台 - * @return 解码后的字符串 - */ - public static String str(byte[] data, Charset charset) - { - if (data == null) - { - return null; - } - - if (null == charset) - { - return new String(data); - } - return new String(data, charset); - } - - /** - * 将编码的byteBuffer数据转换为字符串 - * - * @param data 数据 - * @param charset 字符集,如果为空使用当前系统字符集 - * @return 字符串 - */ - public static String str(ByteBuffer data, String charset) - { - if (data == null) - { - return null; - } - - return str(data, Charset.forName(charset)); - } - - /** - * 将编码的byteBuffer数据转换为字符串 - * - * @param data 数据 - * @param charset 字符集,如果为空使用当前系统字符集 - * @return 字符串 - */ - public static String str(ByteBuffer data, Charset charset) - { - if (null == charset) - { - charset = Charset.defaultCharset(); - } - return charset.decode(data).toString(); - } - - // ----------------------------------------------------------------------- 全角半角转换 - /** - * 半角转全角 - * - * @param input String. - * @return 全角字符串. - */ - public static String toSBC(String input) - { - return toSBC(input, null); - } - - /** - * 半角转全角 - * - * @param input String - * @param notConvertSet 不替换的字符集合 - * @return 全角字符串. - */ - public static String toSBC(String input, Set<Character> notConvertSet) - { - char[] c = input.toCharArray(); - for (int i = 0; i < c.length; i++) - { - if (null != notConvertSet && notConvertSet.contains(c[i])) - { - // 跳过不替换的字符 - continue; - } - - if (c[i] == ' ') - { - c[i] = '\u3000'; - } - else if (c[i] < '\177') - { - c[i] = (char) (c[i] + 65248); - - } - } - return new String(c); - } - - /** - * 全角转半角 - * - * @param input String. - * @return 半角字符串 - */ - public static String toDBC(String input) - { - return toDBC(input, null); - } - - /** - * 替换全角为半角 - * - * @param text 文本 - * @param notConvertSet 不替换的字符集合 - * @return 替换后的字符 - */ - public static String toDBC(String text, Set<Character> notConvertSet) - { - char[] c = text.toCharArray(); - for (int i = 0; i < c.length; i++) - { - if (null != notConvertSet && notConvertSet.contains(c[i])) - { - // 跳过不替换的字符 - continue; - } - - if (c[i] == '\u3000') - { - c[i] = ' '; - } - else if (c[i] > '\uFF00' && c[i] < '\uFF5F') - { - c[i] = (char) (c[i] - 65248); - } - } - return new String(c); - } - - /** - * 数字金额大写转换 先写个完整的然后将如零拾替换成零 - * - * @param n 数字 - * @return 中文大写数字 - */ - public static String digitUppercase(double n) - { - String[] fraction = { "角", "分" }; - String[] digit = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" }; - String[][] unit = { { "元", "万", "亿" }, { "", "拾", "佰", "仟" } }; - - String head = n < 0 ? "负" : ""; - n = Math.abs(n); - - String s = ""; - for (int i = 0; i < fraction.length; i++) - { - s += (digit[(int) (Math.floor(n * 10 * Math.pow(10, i)) % 10)] + fraction[i]).replaceAll("(零.)+", ""); - } - if (s.length() < 1) - { - s = "整"; - } - int integerPart = (int) Math.floor(n); - - for (int i = 0; i < unit[0].length && integerPart > 0; i++) - { - String p = ""; - for (int j = 0; j < unit[1].length && n > 0; j++) - { - p = digit[integerPart % 10] + unit[1][j] + p; - integerPart = integerPart / 10; - } - s = p.replaceAll("(零.)*零$", "").replaceAll("^$", "零") + unit[0][i] + s; - } - return head + s.replaceAll("(零.)*零元", "元").replaceFirst("(零.)+", "").replaceAll("(零.)+", "零").replaceAll("^整$", "零元整"); - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/text/StrFormatter.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/text/StrFormatter.java deleted file mode 100644 index ef95a1b..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/text/StrFormatter.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.hrt.common.core.text; - -import com.hrt.common.core.utils.StringUtils; - -/** - * 字符串格式化 - * - * @author jqs - */ -public class StrFormatter -{ - public static final String EMPTY_JSON = "{}"; - public static final char C_BACKSLASH = '\\'; - public static final char C_DELIM_START = '{'; - public static final char C_DELIM_END = '}'; - - /** - * 格式化字符串<br> - * 此方法只是简单将占位符 {} 按照顺序替换为参数<br> - * 如果想输出 {} 使用 \\转义 { 即可,如果想输出 {} 之前的 \ 使用双转义符 \\\\ 即可<br> - * 例:<br> - * 通常使用:format("this is {} for {}", "a", "b") -> this is a for b<br> - * 转义{}: format("this is \\{} for {}", "a", "b") -> this is \{} for a<br> - * 转义\: format("this is \\\\{} for {}", "a", "b") -> this is \a for b<br> - * - * @param strPattern 字符串模板 - * @param argArray 参数列表 - * @return 结果 - */ - public static String format(final String strPattern, final Object... argArray) - { - if (StringUtils.isEmpty(strPattern) || StringUtils.isEmpty(argArray)) - { - return strPattern; - } - final int strPatternLength = strPattern.length(); - - // 初始化定义好的长度以获得更好的性能 - StringBuilder sbuf = new StringBuilder(strPatternLength + 50); - - int handledPosition = 0; - int delimIndex;// 占位符所在位置 - for (int argIndex = 0; argIndex < argArray.length; argIndex++) - { - delimIndex = strPattern.indexOf(EMPTY_JSON, handledPosition); - if (delimIndex == -1) - { - if (handledPosition == 0) - { - return strPattern; - } - else - { // 字符串模板剩余部分不再包含占位符,加入剩余部分后返回结果 - sbuf.append(strPattern, handledPosition, strPatternLength); - return sbuf.toString(); - } - } - else - { - if (delimIndex > 0 && strPattern.charAt(delimIndex - 1) == C_BACKSLASH) - { - if (delimIndex > 1 && strPattern.charAt(delimIndex - 2) == C_BACKSLASH) - { - // 转义符之前还有一个转义符,占位符依旧有效 - sbuf.append(strPattern, handledPosition, delimIndex - 1); - sbuf.append(Convert.utf8Str(argArray[argIndex])); - handledPosition = delimIndex + 2; - } - else - { - // 占位符被转义 - argIndex--; - sbuf.append(strPattern, handledPosition, delimIndex - 1); - sbuf.append(C_DELIM_START); - handledPosition = delimIndex + 1; - } - } - else - { - // 正常占位符 - sbuf.append(strPattern, handledPosition, delimIndex); - sbuf.append(Convert.utf8Str(argArray[argIndex])); - handledPosition = delimIndex + 2; - } - } - } - // 加入最后一个占位符后所有的字符 - sbuf.append(strPattern, handledPosition, strPattern.length()); - - return sbuf.toString(); - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/DateUtils.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/DateUtils.java deleted file mode 100644 index 9bb7300..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/DateUtils.java +++ /dev/null @@ -1,183 +0,0 @@ -package com.hrt.common.core.utils; - -import java.lang.management.ManagementFactory; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.LocalTime; -import java.time.ZoneId; -import java.time.ZonedDateTime; -import java.util.Date; -import org.apache.commons.lang3.time.DateFormatUtils; - -/** - * 时间工具类 - * - * @author jqs - */ -public class DateUtils extends org.apache.commons.lang3.time.DateUtils -{ - public static String YYYY = "yyyy"; - - public static String YYYY_MM = "yyyy-MM"; - - public static String YYYY_MM_DD = "yyyy-MM-dd"; - - public static String YYYYMMDDHHMMSS = "yyyyMMddHHmmss"; - - public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss"; - - private static String[] parsePatterns = { - "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM", - "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM", - "yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM"}; - - /** - * 获取当前Date型日期 - * - * @return Date() 当前日期 - */ - public static Date getNowDate() - { - return new Date(); - } - - /** - * 获取当前日期, 默认格式为yyyy-MM-dd - * - * @return String - */ - public static String getDate() - { - return dateTimeNow(YYYY_MM_DD); - } - - public static final String getTime() - { - return dateTimeNow(YYYY_MM_DD_HH_MM_SS); - } - - public static final String dateTimeNow() - { - return dateTimeNow(YYYYMMDDHHMMSS); - } - - public static final String dateTimeNow(final String format) - { - return parseDateToStr(format, new Date()); - } - - public static final String dateTime(final Date date) - { - return parseDateToStr(YYYY_MM_DD, date); - } - - public static final String parseDateToStr(final String format, final Date date) - { - return new SimpleDateFormat(format).format(date); - } - - public static final Date dateTime(final String format, final String ts) - { - try - { - return new SimpleDateFormat(format).parse(ts); - } - catch (ParseException e) - { - throw new RuntimeException(e); - } - } - - /** - * 日期路径 即年/月/日 如2018/08/08 - */ - public static final String datePath() - { - Date now = new Date(); - return DateFormatUtils.format(now, "yyyy/MM/dd"); - } - - /** - * 日期路径 即年/月/日 如20180808 - */ - public static final String dateTime() - { - Date now = new Date(); - return DateFormatUtils.format(now, "yyyyMMdd"); - } - - /** - * 日期型字符串转化为日期 格式 - */ - public static Date parseDate(Object str) - { - if (str == null) - { - return null; - } - try - { - return parseDate(str.toString(), parsePatterns); - } - catch (ParseException e) - { - return null; - } - } - - /** - * 获取服务器启动时间 - */ - public static Date getServerStartDate() - { - long time = ManagementFactory.getRuntimeMXBean().getStartTime(); - return new Date(time); - } - - /** - * 计算时间差 - * - * @param endTime 最后时间 - * @param startTime 开始时间 - * @return 时间差(天/小时/分钟) - */ - public static String timeDistance(Date endDate, Date startTime) - { - long nd = 1000 * 24 * 60 * 60; - long nh = 1000 * 60 * 60; - long nm = 1000 * 60; - // long ns = 1000; - // 获得两个时间的毫秒时间差异 - long diff = endDate.getTime() - startTime.getTime(); - // 计算差多少天 - long day = diff / nd; - // 计算差多少小时 - long hour = diff % nd / nh; - // 计算差多少分钟 - long min = diff % nd % nh / nm; - // 计算差多少秒//输出结果 - // long sec = diff % nd % nh % nm / ns; - return day + "天" + hour + "小时" + min + "分钟"; - } - - /** - * 增加 LocalDateTime ==> Date - */ - public static Date toDate(LocalDateTime temporalAccessor) - { - ZonedDateTime zdt = temporalAccessor.atZone(ZoneId.systemDefault()); - return Date.from(zdt.toInstant()); - } - - /** - * 增加 LocalDate ==> Date - */ - public static Date toDate(LocalDate temporalAccessor) - { - LocalDateTime localDateTime = LocalDateTime.of(temporalAccessor, LocalTime.of(0, 0, 0)); - ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault()); - return Date.from(zdt.toInstant()); - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/ExceptionUtil.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/ExceptionUtil.java deleted file mode 100644 index 447950a..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/ExceptionUtil.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.hrt.common.core.utils; - -import java.io.PrintWriter; -import java.io.StringWriter; -import org.apache.commons.lang3.exception.ExceptionUtils; - -/** - * 错误信息处理类。 - * - * @author jqs - */ -public class ExceptionUtil -{ - /** - * 获取exception的详细错误信息。 - */ - public static String getExceptionMessage(Throwable e) - { - StringWriter sw = new StringWriter(); - e.printStackTrace(new PrintWriter(sw, true)); - return sw.toString(); - } - - public static String getRootErrorMessage(Exception e) - { - Throwable root = ExceptionUtils.getRootCause(e); - root = (root == null ? e : root); - if (root == null) - { - return ""; - } - String msg = root.getMessage(); - if (msg == null) - { - return "null"; - } - return StringUtils.defaultString(msg); - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/JwtUtils.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/JwtUtils.java deleted file mode 100644 index 3a38890..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/JwtUtils.java +++ /dev/null @@ -1,124 +0,0 @@ -package com.hrt.common.core.utils; - -import java.util.Map; - -import com.hrt.common.core.constant.SecurityConstants; -import com.hrt.common.core.constant.TokenConstants; -import com.hrt.common.core.text.Convert; -import io.jsonwebtoken.Claims; -import io.jsonwebtoken.Jwts; -import io.jsonwebtoken.SignatureAlgorithm; - -/** - * Jwt工具类 - * - * @author jqs - */ -public class JwtUtils -{ - public static String secret = TokenConstants.SECRET; - - /** - * 从数据声明生成令牌 - * - * @param claims 数据声明 - * @return 令牌 - */ - public static String createToken(Map<String, Object> claims) - { - String token = Jwts.builder().setClaims(claims).signWith(SignatureAlgorithm.HS512, secret).compact(); - return token; - } - - /** - * 从令牌中获取数据声明 - * - * @param token 令牌 - * @return 数据声明 - */ - public static Claims parseToken(String token) - { - return Jwts.parser().setSigningKey(secret).parseClaimsJws(token).getBody(); - } - - /** - * 根据令牌获取用户标识 - * - * @param token 令牌 - * @return 用户ID - */ - public static String getUserKey(String token) - { - Claims claims = parseToken(token); - return getValue(claims, SecurityConstants.USER_KEY); - } - - /** - * 根据令牌获取用户标识 - * - * @param claims 身份信息 - * @return 用户ID - */ - public static String getUserKey(Claims claims) - { - return getValue(claims, SecurityConstants.USER_KEY); - } - - /** - * 根据令牌获取用户ID - * - * @param token 令牌 - * @return 用户ID - */ - public static String getUserId(String token) - { - Claims claims = parseToken(token); - return getValue(claims, SecurityConstants.DETAILS_USER_ID); - } - - /** - * 根据身份信息获取用户ID - * - * @param claims 身份信息 - * @return 用户ID - */ - public static String getUserId(Claims claims) - { - return getValue(claims, SecurityConstants.DETAILS_USER_ID); - } - - /** - * 根据令牌获取用户名 - * - * @param token 令牌 - * @return 用户名 - */ - public static String getUserName(String token) - { - Claims claims = parseToken(token); - return getValue(claims, SecurityConstants.DETAILS_USERNAME); - } - - /** - * 根据身份信息获取用户名 - * - * @param claims 身份信息 - * @return 用户名 - */ - public static String getUserName(Claims claims) - { - return getValue(claims, SecurityConstants.DETAILS_USERNAME); - } - - /** - * 根据身份信息获取键值 - * - * @param claims 身份信息 - * @param key 键 - * @return 值 - */ - public static String getValue(Claims claims, String key) - { - return Convert.toStr(claims.get(key), ""); - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/PageUtils.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/PageUtils.java deleted file mode 100644 index 4dc955b..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/PageUtils.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.hrt.common.core.utils; - -import com.github.pagehelper.PageHelper; -import com.hrt.common.core.web.page.PageDomain; -import com.hrt.common.core.web.page.TableSupport; -import com.hrt.common.core.utils.sql.SqlUtil; - -/** - * 分页工具类 - * - * @author jqs - */ -public class PageUtils extends PageHelper -{ - /** - * 设置请求分页数据 - */ - public static void startPage() - { - PageDomain pageDomain = TableSupport.buildPageRequest(); - Integer pageNum = pageDomain.getPageNum(); - Integer pageSize = pageDomain.getPageSize(); - String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy()); - Boolean reasonable = pageDomain.getReasonable(); - PageHelper.startPage(pageNum, pageSize, orderBy).setReasonable(reasonable); - } - - /** - * 清理分页的线程变量 - */ - public static void clearPage() - { - PageHelper.clearPage(); - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/ServletUtils.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/ServletUtils.java deleted file mode 100644 index c8578a9..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/ServletUtils.java +++ /dev/null @@ -1,334 +0,0 @@ -package com.hrt.common.core.utils; - -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; -import java.net.URLEncoder; -import java.util.Collections; -import java.util.Enumeration; -import java.util.HashMap; -import java.util.Map; -import javax.servlet.ServletRequest; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; - -import com.hrt.common.core.constant.Constants; -import com.hrt.common.core.domain.R; -import com.hrt.common.core.text.Convert; -import org.springframework.core.io.buffer.DataBuffer; -import org.springframework.http.HttpHeaders; -import org.springframework.http.HttpStatus; -import org.springframework.http.MediaType; -import org.springframework.http.server.reactive.ServerHttpResponse; -import org.springframework.util.LinkedCaseInsensitiveMap; -import org.springframework.web.context.request.RequestAttributes; -import org.springframework.web.context.request.RequestContextHolder; -import org.springframework.web.context.request.ServletRequestAttributes; -import com.alibaba.fastjson2.JSON; -import reactor.core.publisher.Mono; - -/** - * 客户端工具类 - * - * @author jqs - */ -public class ServletUtils -{ - /** - * 获取String参数 - */ - public static String getParameter(String name) - { - return getRequest().getParameter(name); - } - - /** - * 获取String参数 - */ - public static String getParameter(String name, String defaultValue) - { - return Convert.toStr(getRequest().getParameter(name), defaultValue); - } - - /** - * 获取Integer参数 - */ - public static Integer getParameterToInt(String name) - { - return Convert.toInt(getRequest().getParameter(name)); - } - - /** - * 获取Integer参数 - */ - public static Integer getParameterToInt(String name, Integer defaultValue) - { - return Convert.toInt(getRequest().getParameter(name), defaultValue); - } - - /** - * 获取Boolean参数 - */ - public static Boolean getParameterToBool(String name) - { - return Convert.toBool(getRequest().getParameter(name)); - } - - /** - * 获取Boolean参数 - */ - public static Boolean getParameterToBool(String name, Boolean defaultValue) - { - return Convert.toBool(getRequest().getParameter(name), defaultValue); - } - - /** - * 获得所有请求参数 - * - * @param request 请求对象{@link ServletRequest} - * @return Map - */ - public static Map<String, String[]> getParams(ServletRequest request) - { - final Map<String, String[]> map = request.getParameterMap(); - return Collections.unmodifiableMap(map); - } - - /** - * 获得所有请求参数 - * - * @param request 请求对象{@link ServletRequest} - * @return Map - */ - public static Map<String, String> getParamMap(ServletRequest request) - { - Map<String, String> params = new HashMap<>(); - for (Map.Entry<String, String[]> entry : getParams(request).entrySet()) - { - params.put(entry.getKey(), StringUtils.join(entry.getValue(), ",")); - } - return params; - } - - /** - * 获取request - */ - public static HttpServletRequest getRequest() - { - try - { - return getRequestAttributes().getRequest(); - } - catch (Exception e) - { - return null; - } - } - - /** - * 获取response - */ - public static HttpServletResponse getResponse() - { - try - { - return getRequestAttributes().getResponse(); - } - catch (Exception e) - { - return null; - } - } - - /** - * 获取session - */ - public static HttpSession getSession() - { - return getRequest().getSession(); - } - - public static ServletRequestAttributes getRequestAttributes() - { - try - { - RequestAttributes attributes = RequestContextHolder.getRequestAttributes(); - return (ServletRequestAttributes) attributes; - } - catch (Exception e) - { - return null; - } - } - - public static String getHeader(HttpServletRequest request, String name) - { - String value = request.getHeader(name); - if (StringUtils.isEmpty(value)) - { - return StringUtils.EMPTY; - } - return urlDecode(value); - } - - public static Map<String, String> getHeaders(HttpServletRequest request) - { - Map<String, String> map = new LinkedCaseInsensitiveMap<>(); - Enumeration<String> enumeration = request.getHeaderNames(); - if (enumeration != null) - { - while (enumeration.hasMoreElements()) - { - String key = enumeration.nextElement(); - String value = request.getHeader(key); - map.put(key, value); - } - } - return map; - } - - /** - * 将字符串渲染到客户端 - * - * @param response 渲染对象 - * @param string 待渲染的字符串 - */ - public static void renderString(HttpServletResponse response, String string) - { - try - { - response.setStatus(200); - response.setContentType("application/json"); - response.setCharacterEncoding("utf-8"); - response.getWriter().print(string); - } - catch (IOException e) - { - e.printStackTrace(); - } - } - - /** - * 是否是Ajax异步请求 - * - * @param request - */ - public static boolean isAjaxRequest(HttpServletRequest request) - { - String accept = request.getHeader("accept"); - if (accept != null && accept.contains("application/json")) - { - return true; - } - - String xRequestedWith = request.getHeader("X-Requested-With"); - if (xRequestedWith != null && xRequestedWith.contains("XMLHttpRequest")) - { - return true; - } - - String uri = request.getRequestURI(); - if (StringUtils.inStringIgnoreCase(uri, ".json", ".xml")) - { - return true; - } - - String ajax = request.getParameter("__ajax"); - return StringUtils.inStringIgnoreCase(ajax, "json", "xml"); - } - - /** - * 内容编码 - * - * @param str 内容 - * @return 编码后的内容 - */ - public static String urlEncode(String str) - { - try - { - return URLEncoder.encode(str, Constants.UTF8); - } - catch (UnsupportedEncodingException e) - { - return StringUtils.EMPTY; - } - } - - /** - * 内容解码 - * - * @param str 内容 - * @return 解码后的内容 - */ - public static String urlDecode(String str) - { - try - { - return URLDecoder.decode(str, Constants.UTF8); - } - catch (UnsupportedEncodingException e) - { - return StringUtils.EMPTY; - } - } - - /** - * 设置webflux模型响应 - * - * @param response ServerHttpResponse - * @param value 响应内容 - * @return Mono<Void> - */ - public static Mono<Void> webFluxResponseWriter(ServerHttpResponse response, Object value) - { - return webFluxResponseWriter(response, HttpStatus.OK, value, R.FAIL); - } - - /** - * 设置webflux模型响应 - * - * @param response ServerHttpResponse - * @param code 响应状态码 - * @param value 响应内容 - * @return Mono<Void> - */ - public static Mono<Void> webFluxResponseWriter(ServerHttpResponse response, Object value, int code) - { - return webFluxResponseWriter(response, HttpStatus.OK, value, code); - } - - /** - * 设置webflux模型响应 - * - * @param response ServerHttpResponse - * @param status http状态码 - * @param code 响应状态码 - * @param value 响应内容 - * @return Mono<Void> - */ - public static Mono<Void> webFluxResponseWriter(ServerHttpResponse response, HttpStatus status, Object value, int code) - { - return webFluxResponseWriter(response, MediaType.APPLICATION_JSON_VALUE, status, value, code); - } - - /** - * 设置webflux模型响应 - * - * @param response ServerHttpResponse - * @param contentType content-type - * @param status http状态码 - * @param code 响应状态码 - * @param value 响应内容 - * @return Mono<Void> - */ - public static Mono<Void> webFluxResponseWriter(ServerHttpResponse response, String contentType, HttpStatus status, Object value, int code) - { - response.setStatusCode(status); - response.getHeaders().add(HttpHeaders.CONTENT_TYPE, contentType); - R<?> result = R.fail(code, value.toString()); - DataBuffer dataBuffer = response.bufferFactory().wrap(JSON.toJSONString(result).getBytes()); - return response.writeWith(Mono.just(dataBuffer)); - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/SpringUtils.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/SpringUtils.java deleted file mode 100644 index d4fbfb3..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/SpringUtils.java +++ /dev/null @@ -1,114 +0,0 @@ -package com.hrt.common.core.utils; - -import org.springframework.aop.framework.AopContext; -import org.springframework.beans.BeansException; -import org.springframework.beans.factory.NoSuchBeanDefinitionException; -import org.springframework.beans.factory.config.BeanFactoryPostProcessor; -import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; -import org.springframework.stereotype.Component; - -/** - * spring工具类 方便在非spring管理环境中获取bean - * - * @author jqs - */ -@Component -public final class SpringUtils implements BeanFactoryPostProcessor -{ - /** Spring应用上下文环境 */ - private static ConfigurableListableBeanFactory beanFactory; - - @Override - public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException - { - SpringUtils.beanFactory = beanFactory; - } - - /** - * 获取对象 - * - * @param name - * @return Object 一个以所给名字注册的bean的实例 - * @throws org.springframework.beans.BeansException - * - */ - @SuppressWarnings("unchecked") - public static <T> T getBean(String name) throws BeansException - { - return (T) beanFactory.getBean(name); - } - - /** - * 获取类型为requiredType的对象 - * - * @param clz - * @return - * @throws org.springframework.beans.BeansException - * - */ - public static <T> T getBean(Class<T> clz) throws BeansException - { - T result = (T) beanFactory.getBean(clz); - return result; - } - - /** - * 如果BeanFactory包含一个与所给名称匹配的bean定义,则返回true - * - * @param name - * @return boolean - */ - public static boolean containsBean(String name) - { - return beanFactory.containsBean(name); - } - - /** - * 判断以给定名字注册的bean定义是一个singleton还是一个prototype。 如果与给定名字相应的bean定义没有被找到,将会抛出一个异常(NoSuchBeanDefinitionException) - * - * @param name - * @return boolean - * @throws org.springframework.beans.factory.NoSuchBeanDefinitionException - * - */ - public static boolean isSingleton(String name) throws NoSuchBeanDefinitionException - { - return beanFactory.isSingleton(name); - } - - /** - * @param name - * @return Class 注册对象的类型 - * @throws org.springframework.beans.factory.NoSuchBeanDefinitionException - * - */ - public static Class<?> getType(String name) throws NoSuchBeanDefinitionException - { - return beanFactory.getType(name); - } - - /** - * 如果给定的bean名字在bean定义中有别名,则返回这些别名 - * - * @param name - * @return - * @throws org.springframework.beans.factory.NoSuchBeanDefinitionException - * - */ - public static String[] getAliases(String name) throws NoSuchBeanDefinitionException - { - return beanFactory.getAliases(name); - } - - /** - * 获取aop代理对象 - * - * @param invoker - * @return - */ - @SuppressWarnings("unchecked") - public static <T> T getAopProxy(T invoker) - { - return (T) AopContext.currentProxy(); - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/StringUtils.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/StringUtils.java deleted file mode 100644 index 8cef3d2..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/StringUtils.java +++ /dev/null @@ -1,562 +0,0 @@ -package com.hrt.common.core.utils; - -import java.util.Collection; -import java.util.List; -import java.util.Map; - -import com.hrt.common.core.constant.Constants; -import com.hrt.common.core.text.StrFormatter; -import org.springframework.util.AntPathMatcher; - -/** - * 字符串工具类 - * - * @author jqs - */ -public class StringUtils extends org.apache.commons.lang3.StringUtils -{ - /** 空字符串 */ - private static final String NULLSTR = ""; - - /** 下划线 */ - private static final char SEPARATOR = '_'; - - /** - * 获取参数不为空值 - * - * @param value defaultValue 要判断的value - * @return value 返回值 - */ - public static <T> T nvl(T value, T defaultValue) - { - return value != null ? value : defaultValue; - } - - /** - * * 判断一个Collection是否为空, 包含List,Set,Queue - * - * @param coll 要判断的Collection - * @return true:为空 false:非空 - */ - public static boolean isEmpty(Collection<?> coll) - { - return isNull(coll) || coll.isEmpty(); - } - - /** - * * 判断一个Collection是否非空,包含List,Set,Queue - * - * @param coll 要判断的Collection - * @return true:非空 false:空 - */ - public static boolean isNotEmpty(Collection<?> coll) - { - return !isEmpty(coll); - } - - /** - * * 判断一个对象数组是否为空 - * - * @param objects 要判断的对象数组 - ** @return true:为空 false:非空 - */ - public static boolean isEmpty(Object[] objects) - { - return isNull(objects) || (objects.length == 0); - } - - /** - * * 判断一个对象数组是否非空 - * - * @param objects 要判断的对象数组 - * @return true:非空 false:空 - */ - public static boolean isNotEmpty(Object[] objects) - { - return !isEmpty(objects); - } - - /** - * * 判断一个Map是否为空 - * - * @param map 要判断的Map - * @return true:为空 false:非空 - */ - public static boolean isEmpty(Map<?, ?> map) - { - return isNull(map) || map.isEmpty(); - } - - /** - * * 判断一个Map是否为空 - * - * @param map 要判断的Map - * @return true:非空 false:空 - */ - public static boolean isNotEmpty(Map<?, ?> map) - { - return !isEmpty(map); - } - - /** - * * 判断一个字符串是否为空串 - * - * @param str String - * @return true:为空 false:非空 - */ - public static boolean isEmpty(String str) - { - return isNull(str) || NULLSTR.equals(str.trim()); - } - - /** - * * 判断一个字符串是否为非空串 - * - * @param str String - * @return true:非空串 false:空串 - */ - public static boolean isNotEmpty(String str) - { - return !isEmpty(str); - } - - /** - * * 判断一个对象是否为空 - * - * @param object Object - * @return true:为空 false:非空 - */ - public static boolean isNull(Object object) - { - return object == null; - } - - /** - * * 判断一个对象是否非空 - * - * @param object Object - * @return true:非空 false:空 - */ - public static boolean isNotNull(Object object) - { - return !isNull(object); - } - - /** - * * 判断一个对象是否是数组类型(Java基本型别的数组) - * - * @param object 对象 - * @return true:是数组 false:不是数组 - */ - public static boolean isArray(Object object) - { - return isNotNull(object) && object.getClass().isArray(); - } - - /** - * 去空格 - */ - public static String trim(String str) - { - return (str == null ? "" : str.trim()); - } - - /** - * 截取字符串 - * - * @param str 字符串 - * @param start 开始 - * @return 结果 - */ - public static String substring(final String str, int start) - { - if (str == null) - { - return NULLSTR; - } - - if (start < 0) - { - start = str.length() + start; - } - - if (start < 0) - { - start = 0; - } - if (start > str.length()) - { - return NULLSTR; - } - - return str.substring(start); - } - - /** - * 截取字符串 - * - * @param str 字符串 - * @param start 开始 - * @param end 结束 - * @return 结果 - */ - public static String substring(final String str, int start, int end) - { - if (str == null) - { - return NULLSTR; - } - - if (end < 0) - { - end = str.length() + end; - } - if (start < 0) - { - start = str.length() + start; - } - - if (end > str.length()) - { - end = str.length(); - } - - if (start > end) - { - return NULLSTR; - } - - if (start < 0) - { - start = 0; - } - if (end < 0) - { - end = 0; - } - - return str.substring(start, end); - } - - /** - * 判断是否为空,并且不是空白字符 - * - * @param str 要判断的value - * @return 结果 - */ - public static boolean hasText(String str) - { - return (str != null && !str.isEmpty() && containsText(str)); - } - - private static boolean containsText(CharSequence str) - { - int strLen = str.length(); - for (int i = 0; i < strLen; i++) - { - if (!Character.isWhitespace(str.charAt(i))) - { - return true; - } - } - return false; - } - - /** - * 格式化文本, {} 表示占位符<br> - * 此方法只是简单将占位符 {} 按照顺序替换为参数<br> - * 如果想输出 {} 使用 \\转义 { 即可,如果想输出 {} 之前的 \ 使用双转义符 \\\\ 即可<br> - * 例:<br> - * 通常使用:format("this is {} for {}", "a", "b") -> this is a for b<br> - * 转义{}: format("this is \\{} for {}", "a", "b") -> this is \{} for a<br> - * 转义\: format("this is \\\\{} for {}", "a", "b") -> this is \a for b<br> - * - * @param template 文本模板,被替换的部分用 {} 表示 - * @param params 参数值 - * @return 格式化后的文本 - */ - public static String format(String template, Object... params) - { - if (isEmpty(params) || isEmpty(template)) - { - return template; - } - return StrFormatter.format(template, params); - } - - /** - * 是否为http(s)://开头 - * - * @param link 链接 - * @return 结果 - */ - public static boolean ishttp(String link) - { - return StringUtils.startsWithAny(link, Constants.HTTP, Constants.HTTPS); - } - - /** - * 判断给定的collection列表中是否包含数组array 判断给定的数组array中是否包含给定的元素value - * - * @param collection 给定的集合 - * @param array 给定的数组 - * @return boolean 结果 - */ - public static boolean containsAny(Collection<String> collection, String... array) - { - if (isEmpty(collection) || isEmpty(array)) - { - return false; - } - else - { - for (String str : array) - { - if (collection.contains(str)) - { - return true; - } - } - return false; - } - } - - /** - * 驼峰转下划线命名 - */ - public static String toUnderScoreCase(String str) - { - if (str == null) - { - return null; - } - StringBuilder sb = new StringBuilder(); - // 前置字符是否大写 - boolean preCharIsUpperCase = true; - // 当前字符是否大写 - boolean curreCharIsUpperCase = true; - // 下一字符是否大写 - boolean nexteCharIsUpperCase = true; - for (int i = 0; i < str.length(); i++) - { - char c = str.charAt(i); - if (i > 0) - { - preCharIsUpperCase = Character.isUpperCase(str.charAt(i - 1)); - } - else - { - preCharIsUpperCase = false; - } - - curreCharIsUpperCase = Character.isUpperCase(c); - - if (i < (str.length() - 1)) - { - nexteCharIsUpperCase = Character.isUpperCase(str.charAt(i + 1)); - } - - if (preCharIsUpperCase && curreCharIsUpperCase && !nexteCharIsUpperCase) - { - sb.append(SEPARATOR); - } - else if ((i != 0 && !preCharIsUpperCase) && curreCharIsUpperCase) - { - sb.append(SEPARATOR); - } - sb.append(Character.toLowerCase(c)); - } - - return sb.toString(); - } - - /** - * 是否包含字符串 - * - * @param str 验证字符串 - * @param strs 字符串组 - * @return 包含返回true - */ - public static boolean inStringIgnoreCase(String str, String... strs) - { - if (str != null && strs != null) - { - for (String s : strs) - { - if (str.equalsIgnoreCase(trim(s))) - { - return true; - } - } - } - return false; - } - - /** - * 将下划线大写方式命名的字符串转换为驼峰式。如果转换前的下划线大写方式命名的字符串为空,则返回空字符串。 例如:HELLO_WORLD->HelloWorld - * - * @param name 转换前的下划线大写方式命名的字符串 - * @return 转换后的驼峰式命名的字符串 - */ - public static String convertToCamelCase(String name) - { - StringBuilder result = new StringBuilder(); - // 快速检查 - if (name == null || name.isEmpty()) - { - // 没必要转换 - return ""; - } - else if (!name.contains("_")) - { - // 不含下划线,仅将首字母大写 - return name.substring(0, 1).toUpperCase() + name.substring(1); - } - // 用下划线将原始字符串分割 - String[] camels = name.split("_"); - for (String camel : camels) - { - // 跳过原始字符串中开头、结尾的下换线或双重下划线 - if (camel.isEmpty()) - { - continue; - } - // 首字母大写 - result.append(camel.substring(0, 1).toUpperCase()); - result.append(camel.substring(1).toLowerCase()); - } - return result.toString(); - } - - /** - * 驼峰式命名法 - * 例如:user_name->userName - */ - public static String toCamelCase(String s) - { - if (s == null) - { - return null; - } - if (s.indexOf(SEPARATOR) == -1) - { - return s; - } - s = s.toLowerCase(); - StringBuilder sb = new StringBuilder(s.length()); - boolean upperCase = false; - for (int i = 0; i < s.length(); i++) - { - char c = s.charAt(i); - - if (c == SEPARATOR) - { - upperCase = true; - } - else if (upperCase) - { - sb.append(Character.toUpperCase(c)); - upperCase = false; - } - else - { - sb.append(c); - } - } - return sb.toString(); - } - - /** - * 查找指定字符串是否匹配指定字符串列表中的任意一个字符串 - * - * @param str 指定字符串 - * @param strs 需要检查的字符串数组 - * @return 是否匹配 - */ - public static boolean matches(String str, List<String> strs) - { - if (isEmpty(str) || isEmpty(strs)) - { - return false; - } - for (String pattern : strs) - { - if (isMatch(pattern, str)) - { - return true; - } - } - return false; - } - - /** - * 判断url是否与规则配置: - * ? 表示单个字符; - * * 表示一层路径内的任意字符串,不可跨层级; - * ** 表示任意层路径; - * - * @param pattern 匹配规则 - * @param url 需要匹配的url - * @return - */ - public static boolean isMatch(String pattern, String url) - { - AntPathMatcher matcher = new AntPathMatcher(); - return matcher.match(pattern, url); - } - - @SuppressWarnings("unchecked") - public static <T> T cast(Object obj) - { - return (T) obj; - } - - /** - * 数字左边补齐0,使之达到指定长度。注意,如果数字转换为字符串后,长度大于size,则只保留 最后size个字符。 - * - * @param num 数字对象 - * @param size 字符串指定长度 - * @return 返回数字的字符串格式,该字符串为指定长度。 - */ - public static final String padl(final Number num, final int size) - { - return padl(num.toString(), size, '0'); - } - - /** - * 字符串左补齐。如果原始字符串s长度大于size,则只保留最后size个字符。 - * - * @param s 原始字符串 - * @param size 字符串指定长度 - * @param c 用于补齐的字符 - * @return 返回指定长度的字符串,由原字符串左补齐或截取得到。 - */ - public static final String padl(final String s, final int size, final char c) - { - final StringBuilder sb = new StringBuilder(size); - if (s != null) - { - final int len = s.length(); - if (s.length() <= size) - { - for (int i = size - len; i > 0; i--) - { - sb.append(c); - } - sb.append(s); - } - else - { - return s.substring(len - size, len); - } - } - else - { - for (int i = size; i > 0; i--) - { - sb.append(c); - } - } - return sb.toString(); - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/bean/BeanUtils.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/bean/BeanUtils.java deleted file mode 100644 index 502be23..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/bean/BeanUtils.java +++ /dev/null @@ -1,110 +0,0 @@ -package com.hrt.common.core.utils.bean; - -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.List; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -/** - * Bean 工具类 - * - * @author jqs - */ -public class BeanUtils extends org.springframework.beans.BeanUtils -{ - /** Bean方法名中属性名开始的下标 */ - private static final int BEAN_METHOD_PROP_INDEX = 3; - - /** * 匹配getter方法的正则表达式 */ - private static final Pattern GET_PATTERN = Pattern.compile("get(\\p{javaUpperCase}\\w*)"); - - /** * 匹配setter方法的正则表达式 */ - private static final Pattern SET_PATTERN = Pattern.compile("set(\\p{javaUpperCase}\\w*)"); - - /** - * Bean属性复制工具方法。 - * - * @param dest 目标对象 - * @param src 源对象 - */ - public static void copyBeanProp(Object dest, Object src) - { - try - { - copyProperties(src, dest); - } - catch (Exception e) - { - e.printStackTrace(); - } - } - - /** - * 获取对象的setter方法。 - * - * @param obj 对象 - * @return 对象的setter方法列表 - */ - public static List<Method> getSetterMethods(Object obj) - { - // setter方法列表 - List<Method> setterMethods = new ArrayList<Method>(); - - // 获取所有方法 - Method[] methods = obj.getClass().getMethods(); - - // 查找setter方法 - - for (Method method : methods) - { - Matcher m = SET_PATTERN.matcher(method.getName()); - if (m.matches() && (method.getParameterTypes().length == 1)) - { - setterMethods.add(method); - } - } - // 返回setter方法列表 - return setterMethods; - } - - /** - * 获取对象的getter方法。 - * - * @param obj 对象 - * @return 对象的getter方法列表 - */ - - public static List<Method> getGetterMethods(Object obj) - { - // getter方法列表 - List<Method> getterMethods = new ArrayList<Method>(); - // 获取所有方法 - Method[] methods = obj.getClass().getMethods(); - // 查找getter方法 - for (Method method : methods) - { - Matcher m = GET_PATTERN.matcher(method.getName()); - if (m.matches() && (method.getParameterTypes().length == 0)) - { - getterMethods.add(method); - } - } - // 返回getter方法列表 - return getterMethods; - } - - /** - * 检查Bean方法名中的属性名是否相等。<br> - * 如getName()和setName()属性名一样,getName()和setAge()属性名不一样。 - * - * @param m1 方法名1 - * @param m2 方法名2 - * @return 属性名一样返回true,否则返回false - */ - - public static boolean isMethodPropEquals(String m1, String m2) - { - return m1.substring(BEAN_METHOD_PROP_INDEX).equals(m2.substring(BEAN_METHOD_PROP_INDEX)); - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/bean/BeanValidators.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/bean/BeanValidators.java deleted file mode 100644 index 5428e0f..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/bean/BeanValidators.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.hrt.common.core.utils.bean; - -import java.util.Set; -import javax.validation.ConstraintViolation; -import javax.validation.ConstraintViolationException; -import javax.validation.Validator; - -/** - * bean对象属性验证 - * - * @author jqs - */ -public class BeanValidators -{ - public static void validateWithException(Validator validator, Object object, Class<?>... groups) - throws ConstraintViolationException - { - Set<ConstraintViolation<Object>> constraintViolations = validator.validate(object, groups); - if (!constraintViolations.isEmpty()) - { - throw new ConstraintViolationException(constraintViolations); - } - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/file/FileTypeUtils.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/file/FileTypeUtils.java deleted file mode 100644 index 15dfcf1..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/file/FileTypeUtils.java +++ /dev/null @@ -1,95 +0,0 @@ -package com.hrt.common.core.utils.file; - -import java.io.File; -import java.util.Objects; -import org.apache.commons.io.FilenameUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.web.multipart.MultipartFile; - -/** - * 文件类型工具类 - * - * @author jqs - */ -public class FileTypeUtils -{ - /** - * 获取文件类型 - * <p> - * 例如: hrt.txt, 返回: txt - * - * @param file 文件名 - * @return 后缀(不含".") - */ - public static String getFileType(File file) - { - if (null == file) - { - return StringUtils.EMPTY; - } - return getFileType(file.getName()); - } - - /** - * 获取文件类型 - * <p> - * 例如: hrt.txt, 返回: txt - * - * @param fileName 文件名 - * @return 后缀(不含".") - */ - public static String getFileType(String fileName) - { - int separatorIndex = fileName.lastIndexOf("."); - if (separatorIndex < 0) - { - return ""; - } - return fileName.substring(separatorIndex + 1).toLowerCase(); - } - - /** - * 获取文件名的后缀 - * - * @param file 表单文件 - * @return 后缀名 - */ - public static final String getExtension(MultipartFile file) - { - String extension = FilenameUtils.getExtension(file.getOriginalFilename()); - if (StringUtils.isEmpty(extension)) - { - extension = MimeTypeUtils.getExtension(Objects.requireNonNull(file.getContentType())); - } - return extension; - } - - /** - * 获取文件类型 - * - * @param photoByte 文件字节码 - * @return 后缀(不含".") - */ - public static String getFileExtendName(byte[] photoByte) - { - String strFileExtendName = "JPG"; - if ((photoByte[0] == 71) && (photoByte[1] == 73) && (photoByte[2] == 70) && (photoByte[3] == 56) - && ((photoByte[4] == 55) || (photoByte[4] == 57)) && (photoByte[5] == 97)) - { - strFileExtendName = "GIF"; - } - else if ((photoByte[6] == 74) && (photoByte[7] == 70) && (photoByte[8] == 73) && (photoByte[9] == 70)) - { - strFileExtendName = "JPG"; - } - else if ((photoByte[0] == 66) && (photoByte[1] == 77)) - { - strFileExtendName = "BMP"; - } - else if ((photoByte[1] == 80) && (photoByte[2] == 78) && (photoByte[3] == 71)) - { - strFileExtendName = "PNG"; - } - return strFileExtendName; - } -} \ No newline at end of file diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/file/FileUtils.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/file/FileUtils.java deleted file mode 100644 index eeeb908..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/file/FileUtils.java +++ /dev/null @@ -1,261 +0,0 @@ -package com.hrt.common.core.utils.file; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.OutputStream; -import java.io.UnsupportedEncodingException; -import java.net.URLEncoder; -import java.nio.charset.StandardCharsets; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import com.hrt.common.core.utils.StringUtils; -import org.apache.commons.lang3.ArrayUtils; - -/** - * 文件处理工具类 - * - * @author jqs - */ -public class FileUtils -{ - /** 字符常量:斜杠 {@code '/'} */ - public static final char SLASH = '/'; - - /** 字符常量:反斜杠 {@code '\\'} */ - public static final char BACKSLASH = '\\'; - - public static String FILENAME_PATTERN = "[a-zA-Z0-9_\\-\\|\\.\\u4e00-\\u9fa5]+"; - - /** - * 输出指定文件的byte数组 - * - * @param filePath 文件路径 - * @param os 输出流 - * @return - */ - public static void writeBytes(String filePath, OutputStream os) throws IOException - { - FileInputStream fis = null; - try - { - File file = new File(filePath); - if (!file.exists()) - { - throw new FileNotFoundException(filePath); - } - fis = new FileInputStream(file); - byte[] b = new byte[1024]; - int length; - while ((length = fis.read(b)) > 0) - { - os.write(b, 0, length); - } - } - catch (IOException e) - { - throw e; - } - finally - { - if (os != null) - { - try - { - os.close(); - } - catch (IOException e1) - { - e1.printStackTrace(); - } - } - if (fis != null) - { - try - { - fis.close(); - } - catch (IOException e1) - { - e1.printStackTrace(); - } - } - } - } - - /** - * 删除文件 - * - * @param filePath 文件 - * @return - */ - public static boolean deleteFile(String filePath) - { - boolean flag = false; - File file = new File(filePath); - // 路径为文件且不为空则进行删除 - if (file.isFile() && file.exists()) - { - flag = file.delete(); - } - return flag; - } - - /** - * 文件名称验证 - * - * @param filename 文件名称 - * @return true 正常 false 非法 - */ - public static boolean isValidFilename(String filename) - { - return filename.matches(FILENAME_PATTERN); - } - - /** - * 检查文件是否可下载 - * - * @param resource 需要下载的文件 - * @return true 正常 false 非法 - */ - public static boolean checkAllowDownload(String resource) - { - // 禁止目录上跳级别 - if (StringUtils.contains(resource, "..")) - { - return false; - } - - // 检查允许下载的文件规则 - if (ArrayUtils.contains(MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION, FileTypeUtils.getFileType(resource))) - { - return true; - } - - // 不在允许下载的文件规则 - return false; - } - - /** - * 下载文件名重新编码 - * - * @param request 请求对象 - * @param fileName 文件名 - * @return 编码后的文件名 - */ - public static String setFileDownloadHeader(HttpServletRequest request, String fileName) throws UnsupportedEncodingException - { - final String agent = request.getHeader("USER-AGENT"); - String filename = fileName; - if (agent.contains("MSIE")) - { - // IE浏览器 - filename = URLEncoder.encode(filename, "utf-8"); - filename = filename.replace("+", " "); - } - else if (agent.contains("Firefox")) - { - // 火狐浏览器 - filename = new String(fileName.getBytes(), "ISO8859-1"); - } - else if (agent.contains("Chrome")) - { - // google浏览器 - filename = URLEncoder.encode(filename, "utf-8"); - } - else - { - // 其它浏览器 - filename = URLEncoder.encode(filename, "utf-8"); - } - return filename; - } - - /** - * 返回文件名 - * - * @param filePath 文件 - * @return 文件名 - */ - public static String getName(String filePath) - { - if (null == filePath) - { - return null; - } - int len = filePath.length(); - if (0 == len) - { - return filePath; - } - if (isFileSeparator(filePath.charAt(len - 1))) - { - // 以分隔符结尾的去掉结尾分隔符 - len--; - } - - int begin = 0; - char c; - for (int i = len - 1; i > -1; i--) - { - c = filePath.charAt(i); - if (isFileSeparator(c)) - { - // 查找最后一个路径分隔符(/或者\) - begin = i + 1; - break; - } - } - - return filePath.substring(begin, len); - } - - /** - * 是否为Windows或者Linux(Unix)文件分隔符<br> - * Windows平台下分隔符为\,Linux(Unix)为/ - * - * @param c 字符 - * @return 是否为Windows或者Linux(Unix)文件分隔符 - */ - public static boolean isFileSeparator(char c) - { - return SLASH == c || BACKSLASH == c; - } - - /** - * 下载文件名重新编码 - * - * @param response 响应对象 - * @param realFileName 真实文件名 - * @return - */ - public static void setAttachmentResponseHeader(HttpServletResponse response, String realFileName) throws UnsupportedEncodingException - { - String percentEncodedFileName = percentEncode(realFileName); - - StringBuilder contentDispositionValue = new StringBuilder(); - contentDispositionValue.append("attachment; filename=") - .append(percentEncodedFileName) - .append(";") - .append("filename*=") - .append("utf-8''") - .append(percentEncodedFileName); - - response.setHeader("Content-disposition", contentDispositionValue.toString()); - response.setHeader("download-filename", percentEncodedFileName); - } - - /** - * 百分号编码工具方法 - * - * @param s 需要百分号编码的字符串 - * @return 百分号编码后的字符串 - */ - public static String percentEncode(String s) throws UnsupportedEncodingException - { - String encode = URLEncoder.encode(s, StandardCharsets.UTF_8.toString()); - return encode.replaceAll("\\+", "%20"); - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/file/ImageUtils.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/file/ImageUtils.java deleted file mode 100644 index 181cee4..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/file/ImageUtils.java +++ /dev/null @@ -1,84 +0,0 @@ -package com.hrt.common.core.utils.file; - -import java.io.ByteArrayInputStream; -import java.io.InputStream; -import java.net.URL; -import java.net.URLConnection; -import java.util.Arrays; -import org.apache.poi.util.IOUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * 图片处理工具类 - * - * @author jqs - */ -public class ImageUtils -{ - private static final Logger log = LoggerFactory.getLogger(ImageUtils.class); - - public static byte[] getImage(String imagePath) - { - InputStream is = getFile(imagePath); - try - { - return IOUtils.toByteArray(is); - } - catch (Exception e) - { - log.error("图片加载异常 {}", e); - return null; - } - finally - { - IOUtils.closeQuietly(is); - } - } - - public static InputStream getFile(String imagePath) - { - try - { - byte[] result = readFile(imagePath); - result = Arrays.copyOf(result, result.length); - return new ByteArrayInputStream(result); - } - catch (Exception e) - { - log.error("获取图片异常 {}", e); - } - return null; - } - - /** - * 读取文件为字节数据 - * - * @param url 地址 - * @return 字节数据 - */ - public static byte[] readFile(String url) - { - InputStream in = null; - try - { - // 网络地址 - URL urlObj = new URL(url); - URLConnection urlConnection = urlObj.openConnection(); - urlConnection.setConnectTimeout(30 * 1000); - urlConnection.setReadTimeout(60 * 1000); - urlConnection.setDoInput(true); - in = urlConnection.getInputStream(); - return IOUtils.toByteArray(in); - } - catch (Exception e) - { - log.error("访问文件异常 {}", e); - return null; - } - finally - { - IOUtils.closeQuietly(in); - } - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/file/MimeTypeUtils.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/file/MimeTypeUtils.java deleted file mode 100644 index 8d52a72..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/file/MimeTypeUtils.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.hrt.common.core.utils.file; - -/** - * 媒体类型工具类 - * - * @author jqs - */ -public class MimeTypeUtils -{ - public static final String IMAGE_PNG = "image/png"; - - public static final String IMAGE_JPG = "image/jpg"; - - public static final String IMAGE_JPEG = "image/jpeg"; - - public static final String IMAGE_BMP = "image/bmp"; - - public static final String IMAGE_GIF = "image/gif"; - - public static final String[] IMAGE_EXTENSION = { "bmp", "gif", "jpg", "jpeg", "png" }; - - public static final String[] FLASH_EXTENSION = { "swf", "flv" }; - - public static final String[] MEDIA_EXTENSION = { "swf", "flv", "mp3", "wav", "wma", "wmv", "mid", "avi", "mpg", - "asf", "rm", "rmvb" }; - - public static final String[] VIDEO_EXTENSION = { "mp4", "avi", "rmvb" }; - - public static final String[] DEFAULT_ALLOWED_EXTENSION = { - // 图片 - "bmp", "gif", "jpg", "jpeg", "png", - // word excel powerpoint - "doc", "docx", "xls", "xlsx", "ppt", "pptx", "html", "htm", "txt", - // 压缩文件 - "rar", "zip", "gz", "bz2", - // 视频格式 - "mp4", "avi", "rmvb", - // pdf - "pdf" }; - - public static String getExtension(String prefix) - { - switch (prefix) - { - case IMAGE_PNG: - return "png"; - case IMAGE_JPG: - return "jpg"; - case IMAGE_JPEG: - return "jpeg"; - case IMAGE_BMP: - return "bmp"; - case IMAGE_GIF: - return "gif"; - default: - return ""; - } - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/html/EscapeUtil.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/html/EscapeUtil.java deleted file mode 100644 index e1d1200..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/html/EscapeUtil.java +++ /dev/null @@ -1,167 +0,0 @@ -package com.hrt.common.core.utils.html; - -import com.hrt.common.core.utils.StringUtils; - -/** - * 转义和反转义工具类 - * - * @author jqs - */ -public class EscapeUtil -{ - public static final String RE_HTML_MARK = "(<[^<]*?>)|(<[\\s]*?/[^<]*?>)|(<[^<]*?/[\\s]*?>)"; - - private static final char[][] TEXT = new char[64][]; - - static - { - for (int i = 0; i < 64; i++) - { - TEXT[i] = new char[] { (char) i }; - } - - // special HTML characters - TEXT['\''] = "'".toCharArray(); // 单引号 - TEXT['"'] = """.toCharArray(); // 双引号 - TEXT['&'] = "&".toCharArray(); // &符 - TEXT['<'] = "<".toCharArray(); // 小于号 - TEXT['>'] = ">".toCharArray(); // 大于号 - } - - /** - * 转义文本中的HTML字符为安全的字符 - * - * @param text 被转义的文本 - * @return 转义后的文本 - */ - public static String escape(String text) - { - return encode(text); - } - - /** - * 还原被转义的HTML特殊字符 - * - * @param content 包含转义符的HTML内容 - * @return 转换后的字符串 - */ - public static String unescape(String content) - { - return decode(content); - } - - /** - * 清除所有HTML标签,但是不删除标签内的内容 - * - * @param content 文本 - * @return 清除标签后的文本 - */ - public static String clean(String content) - { - return new HTMLFilter().filter(content); - } - - /** - * Escape编码 - * - * @param text 被编码的文本 - * @return 编码后的字符 - */ - private static String encode(String text) - { - if (StringUtils.isEmpty(text)) - { - return StringUtils.EMPTY; - } - - final StringBuilder tmp = new StringBuilder(text.length() * 6); - char c; - for (int i = 0; i < text.length(); i++) - { - c = text.charAt(i); - if (c < 256) - { - tmp.append("%"); - if (c < 16) - { - tmp.append("0"); - } - tmp.append(Integer.toString(c, 16)); - } - else - { - tmp.append("%u"); - if (c <= 0xfff) - { - // issue#I49JU8@Gitee - tmp.append("0"); - } - tmp.append(Integer.toString(c, 16)); - } - } - return tmp.toString(); - } - - /** - * Escape解码 - * - * @param content 被转义的内容 - * @return 解码后的字符串 - */ - public static String decode(String content) - { - if (StringUtils.isEmpty(content)) - { - return content; - } - - StringBuilder tmp = new StringBuilder(content.length()); - int lastPos = 0, pos = 0; - char ch; - while (lastPos < content.length()) - { - pos = content.indexOf("%", lastPos); - if (pos == lastPos) - { - if (content.charAt(pos + 1) == 'u') - { - ch = (char) Integer.parseInt(content.substring(pos + 2, pos + 6), 16); - tmp.append(ch); - lastPos = pos + 6; - } - else - { - ch = (char) Integer.parseInt(content.substring(pos + 1, pos + 3), 16); - tmp.append(ch); - lastPos = pos + 3; - } - } - else - { - if (pos == -1) - { - tmp.append(content.substring(lastPos)); - lastPos = content.length(); - } - else - { - tmp.append(content.substring(lastPos, pos)); - lastPos = pos; - } - } - } - return tmp.toString(); - } - - public static void main(String[] args) - { - String html = "<script>alert(1);</script>"; - String escape = EscapeUtil.escape(html); - // String html = "<scr<script>ipt>alert(\"XSS\")</scr<script>ipt>"; - // String html = "<123"; - // String html = "123>"; - System.out.println("clean: " + EscapeUtil.clean(html)); - System.out.println("escape: " + escape); - System.out.println("unescape: " + EscapeUtil.unescape(escape)); - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/html/HTMLFilter.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/html/HTMLFilter.java deleted file mode 100644 index 893f15c..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/html/HTMLFilter.java +++ /dev/null @@ -1,570 +0,0 @@ -package com.hrt.common.core.utils.html; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ConcurrentMap; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -/** - * HTML过滤器,用于去除XSS漏洞隐患。 - * - * @author jqs - */ -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<>(); - private static final ConcurrentMap<String, Pattern> P_REMOVE_SELF_BLANKS = new ConcurrentHashMap<>(); - - /** - * 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<>(); - - /** - * 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; - /** - * 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<>(); - a_atts.add("href"); - a_atts.add("target"); - vAllowed.put("a", a_atts); - - final ArrayList<String> img_atts = new ArrayList<>(); - 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<>(); - 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 = false; - } - - /** - * Map-parameter configurable constructor. - * - * @param conf map containing configuration. keys match field names. - */ - @SuppressWarnings("unchecked") - 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(); - } - - // --------------------------------------------------------------- - // 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; - - s = escapeComments(s); - - s = balanceHTML(s); - - s = checkTags(s); - - s = processRemoveBlanks(s); - - // s = validateEntities(s); - - 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); - - // these get tallied in processTag - // (remember to reset before subsequent calls to filter method) - final StringBuilder sBuilder = new StringBuilder(buf.toString()); - for (String key : vTagCounts.keySet()) - { - for (int ii = 0; ii < vTagCounts.get(key); ii++) - { - sBuilder.append("</").append(key).append(">"); - } - } - s = sBuilder.toString(); - - 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)) - { - final StringBuilder params = new StringBuilder(); - - final Matcher m2 = P_QUOTED_ATTRIBUTES.matcher(body); - final Matcher m3 = P_UNQUOTED_ATTRIBUTES.matcher(body); - final List<String> paramNames = new ArrayList<>(); - final List<String> paramValues = new ArrayList<>(); - 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.append(' ').append(paramName).append("=\\\"").append(paramValue).append("\\\""); - } - } - - 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); - if (s.startsWith("#//")) - { - s = "#" + s.substring(3); - } - } - } - - 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); // (<|$) - // 不替换双引号为",防止json格式无效 regexReplace(P_QUOTE, """, two) - m.appendReplacement(buf, Matcher.quoteReplacement(one + 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)); - } -} \ No newline at end of file diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/ip/IpUtils.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/ip/IpUtils.java deleted file mode 100644 index f403148..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/ip/IpUtils.java +++ /dev/null @@ -1,383 +0,0 @@ -package com.hrt.common.core.utils.ip; - -import java.net.InetAddress; -import java.net.UnknownHostException; -import javax.servlet.http.HttpServletRequest; - -import com.hrt.common.core.utils.ServletUtils; -import com.hrt.common.core.utils.StringUtils; - -/** - * 获取IP方法 - * - * @author jqs - */ -public class IpUtils -{ - public final static String REGX_0_255 = "(25[0-5]|2[0-4]\\d|1\\d{2}|[1-9]\\d|\\d)"; - // 匹配 ip - public final static String REGX_IP = "((" + REGX_0_255 + "\\.){3}" + REGX_0_255 + ")"; - public final static String REGX_IP_WILDCARD = "(((\\*\\.){3}\\*)|(" + REGX_0_255 + "(\\.\\*){3})|(" + REGX_0_255 + "\\." + REGX_0_255 + ")(\\.\\*){2}" + "|((" + REGX_0_255 + "\\.){3}\\*))"; - // 匹配网段 - public final static String REGX_IP_SEG = "(" + REGX_IP + "\\-" + REGX_IP + ")"; - - /** - * 获取客户端IP - * - * @return IP地址 - */ - public static String getIpAddr() - { - return getIpAddr(ServletUtils.getRequest()); - } - - /** - * 获取客户端IP - * - * @param request 请求对象 - * @return IP地址 - */ - public static String getIpAddr(HttpServletRequest request) - { - if (request == null) - { - return "unknown"; - } - String ip = request.getHeader("x-forwarded-for"); - if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) - { - ip = request.getHeader("Proxy-Client-IP"); - } - if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) - { - ip = request.getHeader("X-Forwarded-For"); - } - if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) - { - ip = request.getHeader("WL-Proxy-Client-IP"); - } - if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) - { - ip = request.getHeader("X-Real-IP"); - } - - if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) - { - ip = request.getRemoteAddr(); - } - - return "0:0:0:0:0:0:0:1".equals(ip) ? "127.0.0.1" : getMultistageReverseProxyIp(ip); - } - - /** - * 检查是否为内部IP地址 - * - * @param ip IP地址 - * @return 结果 - */ - public static boolean internalIp(String ip) - { - byte[] addr = textToNumericFormatV4(ip); - return internalIp(addr) || "127.0.0.1".equals(ip); - } - - /** - * 检查是否为内部IP地址 - * - * @param addr byte地址 - * @return 结果 - */ - private static boolean internalIp(byte[] addr) - { - if (StringUtils.isNull(addr) || addr.length < 2) - { - return true; - } - final byte b0 = addr[0]; - final byte b1 = addr[1]; - // 10.x.x.x/8 - final byte SECTION_1 = 0x0A; - // 172.16.x.x/12 - final byte SECTION_2 = (byte) 0xAC; - final byte SECTION_3 = (byte) 0x10; - final byte SECTION_4 = (byte) 0x1F; - // 192.168.x.x/16 - final byte SECTION_5 = (byte) 0xC0; - final byte SECTION_6 = (byte) 0xA8; - switch (b0) - { - case SECTION_1: - return true; - case SECTION_2: - if (b1 >= SECTION_3 && b1 <= SECTION_4) - { - return true; - } - case SECTION_5: - switch (b1) - { - case SECTION_6: - return true; - } - default: - return false; - } - } - - /** - * 将IPv4地址转换成字节 - * - * @param text IPv4地址 - * @return byte 字节 - */ - public static byte[] textToNumericFormatV4(String text) - { - if (text.length() == 0) - { - return null; - } - - byte[] bytes = new byte[4]; - String[] elements = text.split("\\.", -1); - try - { - long l; - int i; - switch (elements.length) - { - case 1: - l = Long.parseLong(elements[0]); - if ((l < 0L) || (l > 4294967295L)) - { - return null; - } - bytes[0] = (byte) (int) (l >> 24 & 0xFF); - bytes[1] = (byte) (int) ((l & 0xFFFFFF) >> 16 & 0xFF); - bytes[2] = (byte) (int) ((l & 0xFFFF) >> 8 & 0xFF); - bytes[3] = (byte) (int) (l & 0xFF); - break; - case 2: - l = Integer.parseInt(elements[0]); - if ((l < 0L) || (l > 255L)) - { - return null; - } - bytes[0] = (byte) (int) (l & 0xFF); - l = Integer.parseInt(elements[1]); - if ((l < 0L) || (l > 16777215L)) - { - return null; - } - bytes[1] = (byte) (int) (l >> 16 & 0xFF); - bytes[2] = (byte) (int) ((l & 0xFFFF) >> 8 & 0xFF); - bytes[3] = (byte) (int) (l & 0xFF); - break; - case 3: - for (i = 0; i < 2; ++i) - { - l = Integer.parseInt(elements[i]); - if ((l < 0L) || (l > 255L)) - { - return null; - } - bytes[i] = (byte) (int) (l & 0xFF); - } - l = Integer.parseInt(elements[2]); - if ((l < 0L) || (l > 65535L)) - { - return null; - } - bytes[2] = (byte) (int) (l >> 8 & 0xFF); - bytes[3] = (byte) (int) (l & 0xFF); - break; - case 4: - for (i = 0; i < 4; ++i) - { - l = Integer.parseInt(elements[i]); - if ((l < 0L) || (l > 255L)) - { - return null; - } - bytes[i] = (byte) (int) (l & 0xFF); - } - break; - default: - return null; - } - } - catch (NumberFormatException e) - { - return null; - } - return bytes; - } - - /** - * 获取IP地址 - * - * @return 本地IP地址 - */ - public static String getHostIp() - { - try - { - return InetAddress.getLocalHost().getHostAddress(); - } - catch (UnknownHostException e) - { - } - return "127.0.0.1"; - } - - /** - * 获取主机名 - * - * @return 本地主机名 - */ - public static String getHostName() - { - try - { - return InetAddress.getLocalHost().getHostName(); - } - catch (UnknownHostException e) - { - } - return "未知"; - } - - /** - * 从多级反向代理中获得第一个非unknown IP地址 - * - * @param ip 获得的IP地址 - * @return 第一个非unknown IP地址 - */ - public static String getMultistageReverseProxyIp(String ip) - { - // 多级反向代理检测 - if (ip != null && ip.indexOf(",") > 0) - { - final String[] ips = ip.trim().split(","); - for (String subIp : ips) - { - if (false == isUnknown(subIp)) - { - ip = subIp; - break; - } - } - } - return StringUtils.substring(ip, 0, 255); - } - - /** - * 检测给定字符串是否为未知,多用于检测HTTP请求相关 - * - * @param checkString 被检测的字符串 - * @return 是否未知 - */ - public static boolean isUnknown(String checkString) - { - return StringUtils.isBlank(checkString) || "unknown".equalsIgnoreCase(checkString); - } - - /** - * 是否为IP - */ - public static boolean isIP(String ip) - { - return StringUtils.isNotBlank(ip) && ip.matches(REGX_IP); - } - - /** - * 是否为IP,或 *为间隔的通配符地址 - */ - public static boolean isIpWildCard(String ip) - { - return StringUtils.isNotBlank(ip) && ip.matches(REGX_IP_WILDCARD); - } - - /** - * 检测参数是否在ip通配符里 - */ - public static boolean ipIsInWildCardNoCheck(String ipWildCard, String ip) - { - String[] s1 = ipWildCard.split("\\."); - String[] s2 = ip.split("\\."); - boolean isMatchedSeg = true; - for (int i = 0; i < s1.length && !s1[i].equals("*"); i++) - { - if (!s1[i].equals(s2[i])) - { - isMatchedSeg = false; - break; - } - } - return isMatchedSeg; - } - - /** - * 是否为特定格式如:“10.10.10.1-10.10.10.99”的ip段字符串 - */ - public static boolean isIPSegment(String ipSeg) - { - return StringUtils.isNotBlank(ipSeg) && ipSeg.matches(REGX_IP_SEG); - } - - /** - * 判断ip是否在指定网段中 - */ - public static boolean ipIsInNetNoCheck(String iparea, String ip) - { - int idx = iparea.indexOf('-'); - String[] sips = iparea.substring(0, idx).split("\\."); - String[] sipe = iparea.substring(idx + 1).split("\\."); - String[] sipt = ip.split("\\."); - long ips = 0L, ipe = 0L, ipt = 0L; - for (int i = 0; i < 4; ++i) - { - ips = ips << 8 | Integer.parseInt(sips[i]); - ipe = ipe << 8 | Integer.parseInt(sipe[i]); - ipt = ipt << 8 | Integer.parseInt(sipt[i]); - } - if (ips > ipe) - { - long t = ips; - ips = ipe; - ipe = t; - } - return ips <= ipt && ipt <= ipe; - } - - /** - * 校验ip是否符合过滤串规则 - * - * @param filter 过滤IP列表,支持后缀'*'通配,支持网段如:`10.10.10.1-10.10.10.99` - * @param ip 校验IP地址 - * @return boolean 结果 - */ - public static boolean isMatchedIp(String filter, String ip) - { - if (StringUtils.isEmpty(filter) || StringUtils.isEmpty(ip)) - { - return false; - } - String[] ips = filter.split(";"); - for (String iStr : ips) - { - if (isIP(iStr) && iStr.equals(ip)) - { - return true; - } - else if (isIpWildCard(iStr) && ipIsInWildCardNoCheck(iStr, ip)) - { - return true; - } - else if (isIPSegment(iStr) && ipIsInNetNoCheck(iStr, ip)) - { - return true; - } - } - return false; - } -} \ No newline at end of file diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/poi/ExcelHandlerAdapter.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/poi/ExcelHandlerAdapter.java deleted file mode 100644 index a53f1c0..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/poi/ExcelHandlerAdapter.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.hrt.common.core.utils.poi; - -/** - * Excel数据格式处理适配器 - * - * @author jqs - */ -public interface ExcelHandlerAdapter -{ - /** - * 格式化 - * - * @param value 单元格数据值 - * @param args excel注解args参数组 - * - * @return 处理后的值 - */ - Object format(Object value, String[] args); -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/poi/ExcelUtil.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/poi/ExcelUtil.java deleted file mode 100644 index 567b959..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/poi/ExcelUtil.java +++ /dev/null @@ -1,1486 +0,0 @@ -package com.hrt.common.core.utils.poi; - -import java.io.IOException; -import java.io.InputStream; -import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.lang.reflect.ParameterizedType; -import java.math.BigDecimal; -import java.text.DecimalFormat; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Comparator; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.stream.Collectors; -import javax.servlet.http.HttpServletResponse; - -import com.hrt.common.core.annotation.Excel; -import com.hrt.common.core.annotation.Excels; -import com.hrt.common.core.text.Convert; -import com.hrt.common.core.utils.DateUtils; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.common.core.utils.reflect.ReflectUtils; -import org.apache.commons.lang3.ArrayUtils; -import org.apache.commons.lang3.RegExUtils; -import org.apache.commons.lang3.reflect.FieldUtils; -import org.apache.poi.ss.usermodel.BorderStyle; -import org.apache.poi.ss.usermodel.Cell; -import org.apache.poi.ss.usermodel.CellStyle; -import org.apache.poi.ss.usermodel.CellType; -import org.apache.poi.ss.usermodel.ClientAnchor; -import org.apache.poi.ss.usermodel.DataValidation; -import org.apache.poi.ss.usermodel.DataValidationConstraint; -import org.apache.poi.ss.usermodel.DataValidationHelper; -import org.apache.poi.ss.usermodel.DateUtil; -import org.apache.poi.ss.usermodel.Drawing; -import org.apache.poi.ss.usermodel.FillPatternType; -import org.apache.poi.ss.usermodel.Font; -import org.apache.poi.ss.usermodel.HorizontalAlignment; -import org.apache.poi.ss.usermodel.IndexedColors; -import org.apache.poi.ss.usermodel.Name; -import org.apache.poi.ss.usermodel.Row; -import org.apache.poi.ss.usermodel.Sheet; -import org.apache.poi.ss.usermodel.VerticalAlignment; -import org.apache.poi.ss.usermodel.Workbook; -import org.apache.poi.ss.usermodel.WorkbookFactory; -import org.apache.poi.ss.util.CellRangeAddress; -import org.apache.poi.ss.util.CellRangeAddressList; -import org.apache.poi.util.IOUtils; -import org.apache.poi.xssf.streaming.SXSSFWorkbook; -import org.apache.poi.xssf.usermodel.XSSFClientAnchor; -import org.apache.poi.xssf.usermodel.XSSFDataValidation; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import com.hrt.common.core.utils.file.FileTypeUtils; -import com.hrt.common.core.utils.file.ImageUtils; - -/** - * Excel相关处理 - * - * @author jqs - */ -public class ExcelUtil<T> -{ - private static final Logger log = LoggerFactory.getLogger(ExcelUtil.class); - - public static final String FORMULA_REGEX_STR = "=|-|\\+|@"; - - public static final String[] FORMULA_STR = { "=", "-", "+", "@" }; - - /** - * Excel sheet最大行数,默认65536 - */ - public static final int sheetSize = 65536; - - /** - * 工作表名称 - */ - private String sheetName; - - /** - * 导出类型(EXPORT:导出数据;IMPORT:导入模板) - */ - private Excel.Type type; - - /** - * 工作薄对象 - */ - private Workbook wb; - - /** - * 工作表对象 - */ - private Sheet sheet; - - /** - * 样式列表 - */ - private Map<String, CellStyle> styles; - - /** - * 导入导出数据列表 - */ - private List<T> list; - - /** - * 注解列表 - */ - private List<Object[]> fields; - - /** - * 当前行号 - */ - private int rownum; - - /** - * 标题 - */ - private String title; - - /** - * 最大高度 - */ - private short maxHeight; - - /** - * 合并后最后行数 - */ - private int subMergedLastRowNum = 0; - - /** - * 合并后开始行数 - */ - private int subMergedFirstRowNum = 1; - - /** - * 对象的子列表方法 - */ - private Method subMethod; - - /** - * 对象的子列表属性 - */ - private List<Field> subFields; - - /** - * 统计列表 - */ - private Map<Integer, Double> statistics = new HashMap<Integer, Double>(); - - /** - * 数字格式 - */ - private static final DecimalFormat DOUBLE_FORMAT = new DecimalFormat("######0.00"); - - /** - * 实体对象 - */ - public Class<T> clazz; - - /** - * 需要排除列属性 - */ - public String[] excludeFields; - - public ExcelUtil(Class<T> clazz) - { - this.clazz = clazz; - } - - /** - * 隐藏Excel中列属性 - * - * @param fields 列属性名 示例[单个"name"/多个"id","name"] - * @throws Exception - */ - public void hideColumn(String... fields) - { - this.excludeFields = fields; - } - - public void init(List<T> list, String sheetName, String title, Excel.Type type) - { - if (list == null) - { - list = new ArrayList<T>(); - } - this.list = list; - this.sheetName = sheetName; - this.type = type; - this.title = title; - createExcelField(); - createWorkbook(); - createTitle(); - createSubHead(); - } - - /** - * 创建excel第一行标题 - */ - public void createTitle() - { - if (StringUtils.isNotEmpty(title)) - { - subMergedFirstRowNum++; - subMergedLastRowNum++; - int titleLastCol = this.fields.size() - 1; - if (isSubList()) - { - titleLastCol = titleLastCol + subFields.size() - 1; - } - Row titleRow = sheet.createRow(rownum == 0 ? rownum++ : 0); - titleRow.setHeightInPoints(30); - Cell titleCell = titleRow.createCell(0); - titleCell.setCellStyle(styles.get("title")); - titleCell.setCellValue(title); - sheet.addMergedRegion(new CellRangeAddress(titleRow.getRowNum(), titleRow.getRowNum(), titleRow.getRowNum(), titleLastCol)); - } - } - - /** - * 创建对象的子列表名称 - */ - public void createSubHead() - { - if (isSubList()) - { - subMergedFirstRowNum++; - subMergedLastRowNum++; - Row subRow = sheet.createRow(rownum); - int excelNum = 0; - for (Object[] objects : fields) - { - Excel attr = (Excel) objects[1]; - Cell headCell1 = subRow.createCell(excelNum); - headCell1.setCellValue(attr.name()); - headCell1.setCellStyle(styles.get(StringUtils.format("header_{}_{}", attr.headerColor(), attr.headerBackgroundColor()))); - excelNum++; - } - int headFirstRow = excelNum - 1; - int headLastRow = headFirstRow + subFields.size() - 1; - if (headLastRow > headFirstRow) - { - sheet.addMergedRegion(new CellRangeAddress(rownum, rownum, headFirstRow, headLastRow)); - } - rownum++; - } - } - - /** - * 对excel表单默认第一个索引名转换成list - * - * @param is 输入流 - * @return 转换后集合 - */ - public List<T> importExcel(InputStream is) throws Exception - { - return importExcel(is, 0); - } - - /** - * 对excel表单默认第一个索引名转换成list - * - * @param is 输入流 - * @param titleNum 标题占用行数 - * @return 转换后集合 - */ - public List<T> importExcel(InputStream is, int titleNum) throws Exception - { - return importExcel(StringUtils.EMPTY, is, titleNum); - } - - /** - * 对excel表单指定表格索引名转换成list - * - * @param sheetName 表格索引名 - * @param titleNum 标题占用行数 - * @param is 输入流 - * @return 转换后集合 - */ - public List<T> importExcel(String sheetName, InputStream is, int titleNum) throws Exception - { - this.type = Excel.Type.IMPORT; - this.wb = WorkbookFactory.create(is); - List<T> list = new ArrayList<T>(); - // 如果指定sheet名,则取指定sheet中的内容 否则默认指向第1个sheet - Sheet sheet = StringUtils.isNotEmpty(sheetName) ? wb.getSheet(sheetName) : wb.getSheetAt(0); - if (sheet == null) - { - throw new IOException("文件sheet不存在"); - } - - // 获取最后一个非空行的行下标,比如总行数为n,则返回的为n-1 - int rows = sheet.getLastRowNum(); - - if (rows > 0) - { - // 定义一个map用于存放excel列的序号和field. - Map<String, Integer> cellMap = new HashMap<String, Integer>(); - // 获取表头 - Row heard = sheet.getRow(titleNum); - for (int i = 0; i < heard.getPhysicalNumberOfCells(); i++) - { - Cell cell = heard.getCell(i); - if (StringUtils.isNotNull(cell)) - { - String value = this.getCellValue(heard, i).toString(); - cellMap.put(value, i); - } - else - { - cellMap.put(null, i); - } - } - // 有数据时才处理 得到类的所有field. - List<Object[]> fields = this.getFields(); - Map<Integer, Object[]> fieldsMap = new HashMap<Integer, Object[]>(); - for (Object[] objects : fields) - { - Excel attr = (Excel) objects[1]; - Integer column = cellMap.get(attr.name()); - if (column != null) - { - fieldsMap.put(column, objects); - } - } - for (int i = titleNum + 1; i <= rows; i++) - { - // 从第2行开始取数据,默认第一行是表头. - Row row = sheet.getRow(i); - // 判断当前行是否是空行 - if (isRowEmpty(row)) - { - continue; - } - T entity = null; - for (Map.Entry<Integer, Object[]> entry : fieldsMap.entrySet()) - { - Object val = this.getCellValue(row, entry.getKey()); - - // 如果不存在实例则新建. - entity = (entity == null ? clazz.newInstance() : entity); - // 从map中得到对应列的field. - Field field = (Field) entry.getValue()[0]; - Excel attr = (Excel) entry.getValue()[1]; - // 取得类型,并根据对象类型设置值. - Class<?> fieldType = field.getType(); - if (String.class == fieldType) - { - String s = Convert.toStr(val); - if (StringUtils.endsWith(s, ".0")) - { - val = StringUtils.substringBefore(s, ".0"); - } - else - { - String dateFormat = field.getAnnotation(Excel.class).dateFormat(); - if (StringUtils.isNotEmpty(dateFormat)) - { - val = parseDateToStr(dateFormat, val); - } - else - { - val = Convert.toStr(val); - } - } - } - else if ((Integer.TYPE == fieldType || Integer.class == fieldType) && StringUtils.isNumeric(Convert.toStr(val))) - { - val = Convert.toInt(val); - } - else if ((Long.TYPE == fieldType || Long.class == fieldType) && StringUtils.isNumeric(Convert.toStr(val))) - { - val = Convert.toLong(val); - } - else if (Double.TYPE == fieldType || Double.class == fieldType) - { - val = Convert.toDouble(val); - } - else if (Float.TYPE == fieldType || Float.class == fieldType) - { - val = Convert.toFloat(val); - } - else if (BigDecimal.class == fieldType) - { - val = Convert.toBigDecimal(val); - } - else if (Date.class == fieldType) - { - if (val instanceof String) - { - val = DateUtils.parseDate(val); - } - else if (val instanceof Double) - { - val = DateUtil.getJavaDate((Double) val); - } - } - else if (Boolean.TYPE == fieldType || Boolean.class == fieldType) - { - val = Convert.toBool(val, false); - } - if (StringUtils.isNotNull(fieldType)) - { - String propertyName = field.getName(); - if (StringUtils.isNotEmpty(attr.targetAttr())) - { - propertyName = field.getName() + "." + attr.targetAttr(); - } - else if (StringUtils.isNotEmpty(attr.readConverterExp())) - { - val = reverseByExp(Convert.toStr(val), attr.readConverterExp(), attr.separator()); - } - else if (!attr.handler().equals(ExcelHandlerAdapter.class)) - { - val = dataFormatHandlerAdapter(val, attr); - } - ReflectUtils.invokeSetter(entity, propertyName, val); - } - } - list.add(entity); - } - } - return list; - } - - /** - * 对list数据源将其里面的数据导入到excel表单 - * - * @param response 返回数据 - * @param list 导出数据集合 - * @param sheetName 工作表的名称 - * @return 结果 - */ - public void exportExcel(HttpServletResponse response, List<T> list, String sheetName) - { - exportExcel(response, list, sheetName, StringUtils.EMPTY); - } - - /** - * 对list数据源将其里面的数据导入到excel表单 - * - * @param response 返回数据 - * @param list 导出数据集合 - * @param sheetName 工作表的名称 - * @param title 标题 - * @return 结果 - */ - public void exportExcel(HttpServletResponse response, List<T> list, String sheetName, String title) - { - response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); - response.setCharacterEncoding("utf-8"); - this.init(list, sheetName, title, Excel.Type.EXPORT); - exportExcel(response); - } - - /** - * 对list数据源将其里面的数据导入到excel表单 - * - * @param sheetName 工作表的名称 - * @return 结果 - */ - public void importTemplateExcel(HttpServletResponse response, String sheetName) - { - importTemplateExcel(response, sheetName, StringUtils.EMPTY); - } - - /** - * 对list数据源将其里面的数据导入到excel表单 - * - * @param sheetName 工作表的名称 - * @param title 标题 - * @return 结果 - */ - public void importTemplateExcel(HttpServletResponse response, String sheetName, String title) - { - response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); - response.setCharacterEncoding("utf-8"); - this.init(null, sheetName, title, Excel.Type.IMPORT); - exportExcel(response); - } - - /** - * 对list数据源将其里面的数据导入到excel表单 - * - * @return 结果 - */ - public void exportExcel(HttpServletResponse response) - { - try - { - writeSheet(); - wb.write(response.getOutputStream()); - } - catch (Exception e) - { - log.error("导出Excel异常{}", e.getMessage()); - } - finally - { - IOUtils.closeQuietly(wb); - } - } - - /** - * 创建写入数据到Sheet - */ - public void writeSheet() - { - // 取出一共有多少个sheet. - int sheetNo = Math.max(1, (int) Math.ceil(list.size() * 1.0 / sheetSize)); - for (int index = 0; index < sheetNo; index++) - { - createSheet(sheetNo, index); - - // 产生一行 - Row row = sheet.createRow(rownum); - int column = 0; - // 写入各个字段的列头名称 - for (Object[] os : fields) - { - Field field = (Field) os[0]; - Excel excel = (Excel) os[1]; - if (Collection.class.isAssignableFrom(field.getType())) - { - for (Field subField : subFields) - { - Excel subExcel = subField.getAnnotation(Excel.class); - this.createHeadCell(subExcel, row, column++); - } - } - else - { - this.createHeadCell(excel, row, column++); - } - } - if (Excel.Type.EXPORT.equals(type)) - { - fillExcelData(index, row); - addStatisticsRow(); - } - } - } - - /** - * 填充excel数据 - * - * @param index 序号 - * @param row 单元格行 - */ - @SuppressWarnings("unchecked") - public void fillExcelData(int index, Row row) - { - int startNo = index * sheetSize; - int endNo = Math.min(startNo + sheetSize, list.size()); - int rowNo = (1 + rownum) - startNo; - for (int i = startNo; i < endNo; i++) - { - rowNo = isSubList() ? (i > 1 ? rowNo + 1 : rowNo + i) : i + 1 + rownum - startNo; - row = sheet.createRow(rowNo); - // 得到导出对象. - T vo = (T) list.get(i); - Collection<?> subList = null; - if (isSubList()) - { - if (isSubListValue(vo)) - { - subList = getListCellValue(vo); - subMergedLastRowNum = subMergedLastRowNum + subList.size(); - } - else - { - subMergedFirstRowNum++; - subMergedLastRowNum++; - } - } - int column = 0; - for (Object[] os : fields) - { - Field field = (Field) os[0]; - Excel excel = (Excel) os[1]; - if (Collection.class.isAssignableFrom(field.getType()) && StringUtils.isNotNull(subList)) - { - boolean subFirst = false; - for (Object obj : subList) - { - if (subFirst) - { - rowNo++; - row = sheet.createRow(rowNo); - } - List<Field> subFields = FieldUtils.getFieldsListWithAnnotation(obj.getClass(), Excel.class); - int subIndex = 0; - for (Field subField : subFields) - { - if (subField.isAnnotationPresent(Excel.class)) - { - subField.setAccessible(true); - Excel attr = subField.getAnnotation(Excel.class); - this.addCell(attr, row, (T) obj, subField, column + subIndex); - } - subIndex++; - } - subFirst = true; - } - this.subMergedFirstRowNum = this.subMergedFirstRowNum + subList.size(); - } - else - { - this.addCell(excel, row, vo, field, column++); - } - } - } - } - - /** - * 创建表格样式 - * - * @param wb 工作薄对象 - * @return 样式列表 - */ - private Map<String, CellStyle> createStyles(Workbook wb) - { - // 写入各条记录,每条记录对应excel表中的一行 - Map<String, CellStyle> styles = new HashMap<String, CellStyle>(); - CellStyle style = wb.createCellStyle(); - style.setAlignment(HorizontalAlignment.CENTER); - style.setVerticalAlignment(VerticalAlignment.CENTER); - Font titleFont = wb.createFont(); - titleFont.setFontName("Arial"); - titleFont.setFontHeightInPoints((short) 16); - titleFont.setBold(true); - style.setFont(titleFont); - styles.put("title", style); - - style = wb.createCellStyle(); - style.setAlignment(HorizontalAlignment.CENTER); - style.setVerticalAlignment(VerticalAlignment.CENTER); - style.setBorderRight(BorderStyle.THIN); - style.setRightBorderColor(IndexedColors.GREY_50_PERCENT.getIndex()); - style.setBorderLeft(BorderStyle.THIN); - style.setLeftBorderColor(IndexedColors.GREY_50_PERCENT.getIndex()); - style.setBorderTop(BorderStyle.THIN); - style.setTopBorderColor(IndexedColors.GREY_50_PERCENT.getIndex()); - style.setBorderBottom(BorderStyle.THIN); - style.setBottomBorderColor(IndexedColors.GREY_50_PERCENT.getIndex()); - Font dataFont = wb.createFont(); - dataFont.setFontName("Arial"); - dataFont.setFontHeightInPoints((short) 10); - style.setFont(dataFont); - styles.put("data", style); - - style = wb.createCellStyle(); - style.setAlignment(HorizontalAlignment.CENTER); - style.setVerticalAlignment(VerticalAlignment.CENTER); - Font totalFont = wb.createFont(); - totalFont.setFontName("Arial"); - totalFont.setFontHeightInPoints((short) 10); - style.setFont(totalFont); - styles.put("total", style); - - styles.putAll(annotationHeaderStyles(wb, styles)); - - styles.putAll(annotationDataStyles(wb)); - - return styles; - } - - /** - * 根据Excel注解创建表格头样式 - * - * @param wb 工作薄对象 - * @return 自定义样式列表 - */ - private Map<String, CellStyle> annotationHeaderStyles(Workbook wb, Map<String, CellStyle> styles) - { - Map<String, CellStyle> headerStyles = new HashMap<String, CellStyle>(); - for (Object[] os : fields) - { - Excel excel = (Excel) os[1]; - String key = StringUtils.format("header_{}_{}", excel.headerColor(), excel.headerBackgroundColor()); - if (!headerStyles.containsKey(key)) - { - CellStyle style = wb.createCellStyle(); - style.cloneStyleFrom(styles.get("data")); - style.setAlignment(HorizontalAlignment.CENTER); - style.setVerticalAlignment(VerticalAlignment.CENTER); - style.setFillForegroundColor(excel.headerBackgroundColor().index); - style.setFillPattern(FillPatternType.SOLID_FOREGROUND); - Font headerFont = wb.createFont(); - headerFont.setFontName("Arial"); - headerFont.setFontHeightInPoints((short) 10); - headerFont.setBold(true); - headerFont.setColor(excel.headerColor().index); - style.setFont(headerFont); - headerStyles.put(key, style); - } - } - return headerStyles; - } - - /** - * 根据Excel注解创建表格列样式 - * - * @param wb 工作薄对象 - * @return 自定义样式列表 - */ - private Map<String, CellStyle> annotationDataStyles(Workbook wb) - { - Map<String, CellStyle> styles = new HashMap<String, CellStyle>(); - for (Object[] os : fields) - { - Excel excel = (Excel) os[1]; - String key = StringUtils.format("data_{}_{}_{}", excel.align(), excel.color(), excel.backgroundColor()); - if (!styles.containsKey(key)) - { - CellStyle style = wb.createCellStyle(); - style.setAlignment(excel.align()); - style.setVerticalAlignment(VerticalAlignment.CENTER); - style.setBorderRight(BorderStyle.THIN); - style.setRightBorderColor(IndexedColors.GREY_50_PERCENT.getIndex()); - style.setBorderLeft(BorderStyle.THIN); - style.setLeftBorderColor(IndexedColors.GREY_50_PERCENT.getIndex()); - style.setBorderTop(BorderStyle.THIN); - style.setTopBorderColor(IndexedColors.GREY_50_PERCENT.getIndex()); - style.setBorderBottom(BorderStyle.THIN); - style.setBottomBorderColor(IndexedColors.GREY_50_PERCENT.getIndex()); - style.setFillPattern(FillPatternType.SOLID_FOREGROUND); - style.setFillForegroundColor(excel.backgroundColor().getIndex()); - Font dataFont = wb.createFont(); - dataFont.setFontName("Arial"); - dataFont.setFontHeightInPoints((short) 10); - dataFont.setColor(excel.color().index); - style.setFont(dataFont); - styles.put(key, style); - } - } - return styles; - } - - /** - * 创建单元格 - */ - public Cell createHeadCell(Excel attr, Row row, int column) - { - // 创建列 - Cell cell = row.createCell(column); - // 写入列信息 - cell.setCellValue(attr.name()); - setDataValidation(attr, row, column); - cell.setCellStyle(styles.get(StringUtils.format("header_{}_{}", attr.headerColor(), attr.headerBackgroundColor()))); - if (isSubList()) - { - // 填充默认样式,防止合并单元格样式失效 - sheet.setDefaultColumnStyle(column, styles.get(StringUtils.format("data_{}_{}_{}", attr.align(), attr.color(), attr.backgroundColor()))); - if (attr.needMerge()) - { - sheet.addMergedRegion(new CellRangeAddress(rownum - 1, rownum, column, column)); - } - } - return cell; - } - - /** - * 设置单元格信息 - * - * @param value 单元格值 - * @param attr 注解相关 - * @param cell 单元格信息 - */ - public void setCellVo(Object value, Excel attr, Cell cell) - { - if (Excel.ColumnType.STRING == attr.cellType()) - { - String cellValue = Convert.toStr(value); - // 对于任何以表达式触发字符 =-+@开头的单元格,直接使用tab字符作为前缀,防止CSV注入。 - if (StringUtils.startsWithAny(cellValue, FORMULA_STR)) - { - cellValue = RegExUtils.replaceFirst(cellValue, FORMULA_REGEX_STR, "\t$0"); - } - if (value instanceof Collection && StringUtils.equals("[]", cellValue)) - { - cellValue = StringUtils.EMPTY; - } - cell.setCellValue(StringUtils.isNull(cellValue) ? attr.defaultValue() : cellValue + attr.suffix()); - } - else if (Excel.ColumnType.NUMERIC == attr.cellType()) - { - if (StringUtils.isNotNull(value)) - { - cell.setCellValue(StringUtils.contains(Convert.toStr(value), ".") ? Convert.toDouble(value) : Convert.toInt(value)); - } - } - else if (Excel.ColumnType.IMAGE == attr.cellType()) - { - ClientAnchor anchor = new XSSFClientAnchor(0, 0, 0, 0, (short) cell.getColumnIndex(), cell.getRow().getRowNum(), (short) (cell.getColumnIndex() + 1), cell.getRow().getRowNum() + 1); - String imagePath = Convert.toStr(value); - if (StringUtils.isNotEmpty(imagePath)) - { - byte[] data = ImageUtils.getImage(imagePath); - getDrawingPatriarch(cell.getSheet()).createPicture(anchor, - cell.getSheet().getWorkbook().addPicture(data, getImageType(data))); - } - } - } - - /** - * 获取画布 - */ - public static Drawing<?> getDrawingPatriarch(Sheet sheet) - { - if (sheet.getDrawingPatriarch() == null) - { - sheet.createDrawingPatriarch(); - } - return sheet.getDrawingPatriarch(); - } - - /** - * 获取图片类型,设置图片插入类型 - */ - public int getImageType(byte[] value) - { - String type = FileTypeUtils.getFileExtendName(value); - if ("JPG".equalsIgnoreCase(type)) - { - return Workbook.PICTURE_TYPE_JPEG; - } - else if ("PNG".equalsIgnoreCase(type)) - { - return Workbook.PICTURE_TYPE_PNG; - } - return Workbook.PICTURE_TYPE_JPEG; - } - - /** - * 创建表格样式 - */ - public void setDataValidation(Excel attr, Row row, int column) - { - if (attr.name().indexOf("注:") >= 0) - { - sheet.setColumnWidth(column, 6000); - } - else - { - // 设置列宽 - sheet.setColumnWidth(column, (int) ((attr.width() + 0.72) * 256)); - } - if (StringUtils.isNotEmpty(attr.prompt()) || attr.combo().length > 0) - { - if (attr.combo().length > 15 || StringUtils.join(attr.combo()).length() > 255) - { - // 如果下拉数大于15或字符串长度大于255,则使用一个新sheet存储,避免生成的模板下拉值获取不到 - setXSSFValidationWithHidden(sheet, attr.combo(), attr.prompt(), 1, 100, column, column); - } - else - { - // 提示信息或只能选择不能输入的列内容. - setPromptOrValidation(sheet, attr.combo(), attr.prompt(), 1, 100, column, column); - } - } - } - - /** - * 添加单元格 - */ - public Cell addCell(Excel attr, Row row, T vo, Field field, int column) - { - Cell cell = null; - try - { - // 设置行高 - row.setHeight(maxHeight); - // 根据Excel中设置情况决定是否导出,有些情况需要保持为空,希望用户填写这一列. - if (attr.isExport()) - { - // 创建cell - cell = row.createCell(column); - if (isSubListValue(vo) && getListCellValue(vo).size() > 1 && attr.needMerge()) - { - CellRangeAddress cellAddress = new CellRangeAddress(subMergedFirstRowNum, subMergedLastRowNum, column, column); - sheet.addMergedRegion(cellAddress); - } - cell.setCellStyle(styles.get(StringUtils.format("data_{}_{}_{}", attr.align(), attr.color(), attr.backgroundColor()))); - - // 用于读取对象中的属性 - Object value = getTargetValue(vo, field, attr); - String dateFormat = attr.dateFormat(); - String readConverterExp = attr.readConverterExp(); - String separator = attr.separator(); - if (StringUtils.isNotEmpty(dateFormat) && StringUtils.isNotNull(value)) - { - cell.setCellValue(parseDateToStr(dateFormat, value)); - } - else if (StringUtils.isNotEmpty(readConverterExp) && StringUtils.isNotNull(value)) - { - cell.setCellValue(convertByExp(Convert.toStr(value), readConverterExp, separator)); - } - else if (value instanceof BigDecimal && -1 != attr.scale()) - { - cell.setCellValue((((BigDecimal) value).setScale(attr.scale(), attr.roundingMode())).doubleValue()); - } - else if (!attr.handler().equals(ExcelHandlerAdapter.class)) - { - cell.setCellValue(dataFormatHandlerAdapter(value, attr)); - } - else - { - // 设置列类型 - setCellVo(value, attr, cell); - } - addStatisticsData(column, Convert.toStr(value), attr); - } - } - catch (Exception e) - { - log.error("导出Excel失败{}", e); - } - return cell; - } - - /** - * 设置 POI XSSFSheet 单元格提示或选择框 - * - * @param sheet 表单 - * @param textlist 下拉框显示的内容 - * @param promptContent 提示内容 - * @param firstRow 开始行 - * @param endRow 结束行 - * @param firstCol 开始列 - * @param endCol 结束列 - */ - public void setPromptOrValidation(Sheet sheet, String[] textlist, String promptContent, int firstRow, int endRow, - int firstCol, int endCol) - { - DataValidationHelper helper = sheet.getDataValidationHelper(); - DataValidationConstraint constraint = textlist.length > 0 ? helper.createExplicitListConstraint(textlist) : helper.createCustomConstraint("DD1"); - CellRangeAddressList regions = new CellRangeAddressList(firstRow, endRow, firstCol, endCol); - DataValidation dataValidation = helper.createValidation(constraint, regions); - if (StringUtils.isNotEmpty(promptContent)) - { - // 如果设置了提示信息则鼠标放上去提示 - dataValidation.createPromptBox("", promptContent); - dataValidation.setShowPromptBox(true); - } - // 处理Excel兼容性问题 - if (dataValidation instanceof XSSFDataValidation) - { - dataValidation.setSuppressDropDownArrow(true); - dataValidation.setShowErrorBox(true); - } - else - { - dataValidation.setSuppressDropDownArrow(false); - } - sheet.addValidationData(dataValidation); - } - - /** - * 设置某些列的值只能输入预制的数据,显示下拉框(兼容超出一定数量的下拉框). - * - * @param sheet 要设置的sheet. - * @param textlist 下拉框显示的内容 - * @param promptContent 提示内容 - * @param firstRow 开始行 - * @param endRow 结束行 - * @param firstCol 开始列 - * @param endCol 结束列 - */ - public void setXSSFValidationWithHidden(Sheet sheet, String[] textlist, String promptContent, int firstRow, int endRow, int firstCol, int endCol) - { - String hideSheetName = "combo_" + firstCol + "_" + endCol; - Sheet hideSheet = wb.createSheet(hideSheetName); // 用于存储 下拉菜单数据 - for (int i = 0; i < textlist.length; i++) - { - hideSheet.createRow(i).createCell(0).setCellValue(textlist[i]); - } - // 创建名称,可被其他单元格引用 - Name name = wb.createName(); - name.setNameName(hideSheetName + "_data"); - name.setRefersToFormula(hideSheetName + "!$A$1:$A$" + textlist.length); - DataValidationHelper helper = sheet.getDataValidationHelper(); - // 加载下拉列表内容 - DataValidationConstraint constraint = helper.createFormulaListConstraint(hideSheetName + "_data"); - // 设置数据有效性加载在哪个单元格上,四个参数分别是:起始行、终止行、起始列、终止列 - CellRangeAddressList regions = new CellRangeAddressList(firstRow, endRow, firstCol, endCol); - // 数据有效性对象 - DataValidation dataValidation = helper.createValidation(constraint, regions); - if (StringUtils.isNotEmpty(promptContent)) - { - // 如果设置了提示信息则鼠标放上去提示 - dataValidation.createPromptBox("", promptContent); - dataValidation.setShowPromptBox(true); - } - // 处理Excel兼容性问题 - if (dataValidation instanceof XSSFDataValidation) - { - dataValidation.setSuppressDropDownArrow(true); - dataValidation.setShowErrorBox(true); - } - else - { - dataValidation.setSuppressDropDownArrow(false); - } - - sheet.addValidationData(dataValidation); - // 设置hiddenSheet隐藏 - wb.setSheetHidden(wb.getSheetIndex(hideSheet), true); - } - - /** - * 解析导出值 0=男,1=女,2=未知 - * - * @param propertyValue 参数值 - * @param converterExp 翻译注解 - * @param separator 分隔符 - * @return 解析后值 - */ - public static String convertByExp(String propertyValue, String converterExp, String separator) - { - StringBuilder propertyString = new StringBuilder(); - String[] convertSource = converterExp.split(","); - for (String item : convertSource) - { - String[] itemArray = item.split("="); - if (StringUtils.containsAny(propertyValue, separator)) - { - for (String value : propertyValue.split(separator)) - { - if (itemArray[0].equals(value)) - { - propertyString.append(itemArray[1] + separator); - break; - } - } - } - else - { - if (itemArray[0].equals(propertyValue)) - { - return itemArray[1]; - } - } - } - return StringUtils.stripEnd(propertyString.toString(), separator); - } - - /** - * 反向解析值 男=0,女=1,未知=2 - * - * @param propertyValue 参数值 - * @param converterExp 翻译注解 - * @param separator 分隔符 - * @return 解析后值 - */ - public static String reverseByExp(String propertyValue, String converterExp, String separator) - { - StringBuilder propertyString = new StringBuilder(); - String[] convertSource = converterExp.split(","); - for (String item : convertSource) - { - String[] itemArray = item.split("="); - if (StringUtils.containsAny(propertyValue, separator)) - { - for (String value : propertyValue.split(separator)) - { - if (itemArray[1].equals(value)) - { - propertyString.append(itemArray[0] + separator); - break; - } - } - } - else - { - if (itemArray[1].equals(propertyValue)) - { - return itemArray[0]; - } - } - } - return StringUtils.stripEnd(propertyString.toString(), separator); - } - - /** - * 数据处理器 - * - * @param value 数据值 - * @param excel 数据注解 - * @return - */ - public String dataFormatHandlerAdapter(Object value, Excel excel) - { - try - { - Object instance = excel.handler().newInstance(); - Method formatMethod = excel.handler().getMethod("format", new Class[] { Object.class, String[].class }); - value = formatMethod.invoke(instance, value, excel.args()); - } - catch (Exception e) - { - log.error("不能格式化数据 " + excel.handler(), e.getMessage()); - } - return Convert.toStr(value); - } - - /** - * 合计统计信息 - */ - private void addStatisticsData(Integer index, String text, Excel entity) - { - if (entity != null && entity.isStatistics()) - { - Double temp = 0D; - if (!statistics.containsKey(index)) - { - statistics.put(index, temp); - } - try - { - temp = Double.valueOf(text); - } - catch (NumberFormatException e) - { - } - statistics.put(index, statistics.get(index) + temp); - } - } - - /** - * 创建统计行 - */ - public void addStatisticsRow() - { - if (statistics.size() > 0) - { - Row row = sheet.createRow(sheet.getLastRowNum() + 1); - Set<Integer> keys = statistics.keySet(); - Cell cell = row.createCell(0); - cell.setCellStyle(styles.get("total")); - cell.setCellValue("合计"); - - for (Integer key : keys) - { - cell = row.createCell(key); - cell.setCellStyle(styles.get("total")); - cell.setCellValue(DOUBLE_FORMAT.format(statistics.get(key))); - } - statistics.clear(); - } - } - - /** - * 获取bean中的属性值 - * - * @param vo 实体对象 - * @param field 字段 - * @param excel 注解 - * @return 最终的属性值 - * @throws Exception - */ - private Object getTargetValue(T vo, Field field, Excel excel) throws Exception - { - Object o = field.get(vo); - if (StringUtils.isNotEmpty(excel.targetAttr())) - { - String target = excel.targetAttr(); - if (target.contains(".")) - { - String[] targets = target.split("[.]"); - for (String name : targets) - { - o = getValue(o, name); - } - } - else - { - o = getValue(o, target); - } - } - return o; - } - - /** - * 以类的属性的get方法方法形式获取值 - * - * @param o - * @param name - * @return value - * @throws Exception - */ - private Object getValue(Object o, String name) throws Exception - { - if (StringUtils.isNotNull(o) && StringUtils.isNotEmpty(name)) - { - Class<?> clazz = o.getClass(); - Field field = clazz.getDeclaredField(name); - field.setAccessible(true); - o = field.get(o); - } - return o; - } - - /** - * 得到所有定义字段 - */ - private void createExcelField() - { - this.fields = getFields(); - this.fields = this.fields.stream().sorted(Comparator.comparing(objects -> ((Excel) objects[1]).sort())).collect(Collectors.toList()); - this.maxHeight = getRowHeight(); - } - - /** - * 获取字段注解信息 - */ - public List<Object[]> getFields() - { - List<Object[]> fields = new ArrayList<Object[]>(); - List<Field> tempFields = new ArrayList<>(); - tempFields.addAll(Arrays.asList(clazz.getSuperclass().getDeclaredFields())); - tempFields.addAll(Arrays.asList(clazz.getDeclaredFields())); - for (Field field : tempFields) - { - if (!ArrayUtils.contains(this.excludeFields, field.getName())) - { - // 单注解 - if (field.isAnnotationPresent(Excel.class)) - { - Excel attr = field.getAnnotation(Excel.class); - if (attr != null && (attr.type() == Excel.Type.ALL || attr.type() == type)) - { - field.setAccessible(true); - fields.add(new Object[] { field, attr }); - } - if (Collection.class.isAssignableFrom(field.getType())) - { - subMethod = getSubMethod(field.getName(), clazz); - ParameterizedType pt = (ParameterizedType) field.getGenericType(); - Class<?> subClass = (Class<?>) pt.getActualTypeArguments()[0]; - this.subFields = FieldUtils.getFieldsListWithAnnotation(subClass, Excel.class); - } - } - - // 多注解 - if (field.isAnnotationPresent(Excels.class)) - { - Excels attrs = field.getAnnotation(Excels.class); - Excel[] excels = attrs.value(); - for (Excel attr : excels) - { - if (!ArrayUtils.contains(this.excludeFields, field.getName() + "." + attr.targetAttr()) - && (attr != null && (attr.type() == Excel.Type.ALL || attr.type() == type))) - { - field.setAccessible(true); - fields.add(new Object[] { field, attr }); - } - } - } - } - } - return fields; - } - - /** - * 根据注解获取最大行高 - */ - public short getRowHeight() - { - double maxHeight = 0; - for (Object[] os : this.fields) - { - Excel excel = (Excel) os[1]; - maxHeight = Math.max(maxHeight, excel.height()); - } - return (short) (maxHeight * 20); - } - - /** - * 创建一个工作簿 - */ - public void createWorkbook() - { - this.wb = new SXSSFWorkbook(500); - this.sheet = wb.createSheet(); - wb.setSheetName(0, sheetName); - this.styles = createStyles(wb); - } - - /** - * 创建工作表 - * - * @param sheetNo sheet数量 - * @param index 序号 - */ - public void createSheet(int sheetNo, int index) - { - // 设置工作表的名称. - if (sheetNo > 1 && index > 0) - { - this.sheet = wb.createSheet(); - this.createTitle(); - wb.setSheetName(index, sheetName + index); - } - } - - /** - * 获取单元格值 - * - * @param row 获取的行 - * @param column 获取单元格列号 - * @return 单元格值 - */ - public Object getCellValue(Row row, int column) - { - if (row == null) - { - return row; - } - Object val = ""; - try - { - Cell cell = row.getCell(column); - if (StringUtils.isNotNull(cell)) - { - if (cell.getCellType() == CellType.NUMERIC || cell.getCellType() == CellType.FORMULA) - { - val = cell.getNumericCellValue(); - if (DateUtil.isCellDateFormatted(cell)) - { - val = DateUtil.getJavaDate((Double) val); // POI Excel 日期格式转换 - } - else - { - if ((Double) val % 1 != 0) - { - val = new BigDecimal(val.toString()); - } - else - { - val = new DecimalFormat("0").format(val); - } - } - } - else if (cell.getCellType() == CellType.STRING) - { - val = cell.getStringCellValue(); - } - else if (cell.getCellType() == CellType.BOOLEAN) - { - val = cell.getBooleanCellValue(); - } - else if (cell.getCellType() == CellType.ERROR) - { - val = cell.getErrorCellValue(); - } - - } - } - catch (Exception e) - { - return val; - } - return val; - } - - /** - * 判断是否是空行 - * - * @param row 判断的行 - * @return - */ - private boolean isRowEmpty(Row row) - { - if (row == null) - { - return true; - } - for (int i = row.getFirstCellNum(); i < row.getLastCellNum(); i++) - { - Cell cell = row.getCell(i); - if (cell != null && cell.getCellType() != CellType.BLANK) - { - return false; - } - } - return true; - } - - /** - * 格式化不同类型的日期对象 - * - * @param dateFormat 日期格式 - * @param val 被格式化的日期对象 - * @return 格式化后的日期字符 - */ - public String parseDateToStr(String dateFormat, Object val) - { - if (val == null) - { - return ""; - } - String str; - if (val instanceof Date) - { - str = DateUtils.parseDateToStr(dateFormat, (Date) val); - } - else if (val instanceof LocalDateTime) - { - str = DateUtils.parseDateToStr(dateFormat, DateUtils.toDate((LocalDateTime) val)); - } - else if (val instanceof LocalDate) - { - str = DateUtils.parseDateToStr(dateFormat, DateUtils.toDate((LocalDate) val)); - } - else - { - str = val.toString(); - } - return str; - } - - /** - * 是否有对象的子列表 - */ - public boolean isSubList() - { - return StringUtils.isNotNull(subFields) && subFields.size() > 0; - } - - /** - * 是否有对象的子列表,集合不为空 - */ - public boolean isSubListValue(T vo) - { - return StringUtils.isNotNull(subFields) && subFields.size() > 0 && StringUtils.isNotNull(getListCellValue(vo)) && getListCellValue(vo).size() > 0; - } - - /** - * 获取集合的值 - */ - public Collection<?> getListCellValue(Object obj) - { - Object value; - try - { - value = subMethod.invoke(obj, new Object[] {}); - } - catch (Exception e) - { - return new ArrayList<Object>(); - } - return (Collection<?>) value; - } - - /** - * 获取对象的子列表方法 - * - * @param name 名称 - * @param pojoClass 类对象 - * @return 子列表方法 - */ - public Method getSubMethod(String name, Class<?> pojoClass) - { - StringBuffer getMethodName = new StringBuffer("get"); - getMethodName.append(name.substring(0, 1).toUpperCase()); - getMethodName.append(name.substring(1)); - Method method = null; - try - { - method = pojoClass.getMethod(getMethodName.toString(), new Class[] {}); - } - catch (Exception e) - { - log.error("获取对象异常{}", e.getMessage()); - } - return method; - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/reflect/ReflectUtils.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/reflect/ReflectUtils.java deleted file mode 100644 index aa9596b..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/reflect/ReflectUtils.java +++ /dev/null @@ -1,410 +0,0 @@ -package com.hrt.common.core.utils.reflect; - -import java.lang.reflect.Field; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.lang.reflect.Modifier; -import java.lang.reflect.ParameterizedType; -import java.lang.reflect.Type; -import java.util.Date; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.Validate; -import org.apache.poi.ss.usermodel.DateUtil; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import com.hrt.common.core.text.Convert; -import com.hrt.common.core.utils.DateUtils; - -/** - * 反射工具类. 提供调用getter/setter方法, 访问私有变量, 调用私有方法, 获取泛型类型Class, 被AOP过的真实类等工具函数. - * - * @author jqs - */ -@SuppressWarnings("rawtypes") -public class ReflectUtils -{ - private static final String SETTER_PREFIX = "set"; - - private static final String GETTER_PREFIX = "get"; - - private static final String CGLIB_CLASS_SEPARATOR = "$$"; - - private static Logger logger = LoggerFactory.getLogger(ReflectUtils.class); - - /** - * 调用Getter方法. - * 支持多级,如:对象名.对象名.方法 - */ - @SuppressWarnings("unchecked") - public static <E> E invokeGetter(Object obj, String propertyName) - { - Object object = obj; - for (String name : StringUtils.split(propertyName, ".")) - { - String getterMethodName = GETTER_PREFIX + StringUtils.capitalize(name); - object = invokeMethod(object, getterMethodName, new Class[] {}, new Object[] {}); - } - return (E) object; - } - - /** - * 调用Setter方法, 仅匹配方法名。 - * 支持多级,如:对象名.对象名.方法 - */ - public static <E> void invokeSetter(Object obj, String propertyName, E value) - { - Object object = obj; - String[] names = StringUtils.split(propertyName, "."); - for (int i = 0; i < names.length; i++) - { - if (i < names.length - 1) - { - String getterMethodName = GETTER_PREFIX + StringUtils.capitalize(names[i]); - object = invokeMethod(object, getterMethodName, new Class[] {}, new Object[] {}); - } - else - { - String setterMethodName = SETTER_PREFIX + StringUtils.capitalize(names[i]); - invokeMethodByName(object, setterMethodName, new Object[] { value }); - } - } - } - - /** - * 直接读取对象属性值, 无视private/protected修饰符, 不经过getter函数. - */ - @SuppressWarnings("unchecked") - public static <E> E getFieldValue(final Object obj, final String fieldName) - { - Field field = getAccessibleField(obj, fieldName); - if (field == null) - { - logger.debug("在 [" + obj.getClass() + "] 中,没有找到 [" + fieldName + "] 字段 "); - return null; - } - E result = null; - try - { - result = (E) field.get(obj); - } - catch (IllegalAccessException e) - { - logger.error("不可能抛出的异常{}", e.getMessage()); - } - return result; - } - - /** - * 直接设置对象属性值, 无视private/protected修饰符, 不经过setter函数. - */ - public static <E> void setFieldValue(final Object obj, final String fieldName, final E value) - { - Field field = getAccessibleField(obj, fieldName); - if (field == null) - { - // throw new IllegalArgumentException("在 [" + obj.getClass() + "] 中,没有找到 [" + fieldName + "] 字段 "); - logger.debug("在 [" + obj.getClass() + "] 中,没有找到 [" + fieldName + "] 字段 "); - return; - } - try - { - field.set(obj, value); - } - catch (IllegalAccessException e) - { - logger.error("不可能抛出的异常: {}", e.getMessage()); - } - } - - /** - * 直接调用对象方法, 无视private/protected修饰符. - * 用于一次性调用的情况,否则应使用getAccessibleMethod()函数获得Method后反复调用. - * 同时匹配方法名+参数类型, - */ - @SuppressWarnings("unchecked") - public static <E> E invokeMethod(final Object obj, final String methodName, final Class<?>[] parameterTypes, - final Object[] args) - { - if (obj == null || methodName == null) - { - return null; - } - Method method = getAccessibleMethod(obj, methodName, parameterTypes); - if (method == null) - { - logger.debug("在 [" + obj.getClass() + "] 中,没有找到 [" + methodName + "] 方法 "); - return null; - } - try - { - return (E) method.invoke(obj, args); - } - catch (Exception e) - { - String msg = "method: " + method + ", obj: " + obj + ", args: " + args + ""; - throw convertReflectionExceptionToUnchecked(msg, e); - } - } - - /** - * 直接调用对象方法, 无视private/protected修饰符, - * 用于一次性调用的情况,否则应使用getAccessibleMethodByName()函数获得Method后反复调用. - * 只匹配函数名,如果有多个同名函数调用第一个。 - */ - @SuppressWarnings("unchecked") - public static <E> E invokeMethodByName(final Object obj, final String methodName, final Object[] args) - { - Method method = getAccessibleMethodByName(obj, methodName, args.length); - if (method == null) - { - // 如果为空不报错,直接返回空。 - logger.debug("在 [" + obj.getClass() + "] 中,没有找到 [" + methodName + "] 方法 "); - return null; - } - try - { - // 类型转换(将参数数据类型转换为目标方法参数类型) - Class<?>[] cs = method.getParameterTypes(); - for (int i = 0; i < cs.length; i++) - { - if (args[i] != null && !args[i].getClass().equals(cs[i])) - { - if (cs[i] == String.class) - { - args[i] = Convert.toStr(args[i]); - if (StringUtils.endsWith((String) args[i], ".0")) - { - args[i] = StringUtils.substringBefore((String) args[i], ".0"); - } - } - else if (cs[i] == Integer.class) - { - args[i] = Convert.toInt(args[i]); - } - else if (cs[i] == Long.class) - { - args[i] = Convert.toLong(args[i]); - } - else if (cs[i] == Double.class) - { - args[i] = Convert.toDouble(args[i]); - } - else if (cs[i] == Float.class) - { - args[i] = Convert.toFloat(args[i]); - } - else if (cs[i] == Date.class) - { - if (args[i] instanceof String) - { - args[i] = DateUtils.parseDate(args[i]); - } - else - { - args[i] = DateUtil.getJavaDate((Double) args[i]); - } - } - else if (cs[i] == boolean.class || cs[i] == Boolean.class) - { - args[i] = Convert.toBool(args[i]); - } - } - } - return (E) method.invoke(obj, args); - } - catch (Exception e) - { - String msg = "method: " + method + ", obj: " + obj + ", args: " + args + ""; - throw convertReflectionExceptionToUnchecked(msg, e); - } - } - - /** - * 循环向上转型, 获取对象的DeclaredField, 并强制设置为可访问. - * 如向上转型到Object仍无法找到, 返回null. - */ - public static Field getAccessibleField(final Object obj, final String fieldName) - { - // 为空不报错。直接返回 null - if (obj == null) - { - return null; - } - Validate.notBlank(fieldName, "fieldName can't be blank"); - for (Class<?> superClass = obj.getClass(); superClass != Object.class; superClass = superClass.getSuperclass()) - { - try - { - Field field = superClass.getDeclaredField(fieldName); - makeAccessible(field); - return field; - } - catch (NoSuchFieldException e) - { - continue; - } - } - return null; - } - - /** - * 循环向上转型, 获取对象的DeclaredMethod,并强制设置为可访问. - * 如向上转型到Object仍无法找到, 返回null. - * 匹配函数名+参数类型。 - * 用于方法需要被多次调用的情况. 先使用本函数先取得Method,然后调用Method.invoke(Object obj, Object... args) - */ - public static Method getAccessibleMethod(final Object obj, final String methodName, - final Class<?>... parameterTypes) - { - // 为空不报错。直接返回 null - if (obj == null) - { - return null; - } - Validate.notBlank(methodName, "methodName can't be blank"); - for (Class<?> searchType = obj.getClass(); searchType != Object.class; searchType = searchType.getSuperclass()) - { - try - { - Method method = searchType.getDeclaredMethod(methodName, parameterTypes); - makeAccessible(method); - return method; - } - catch (NoSuchMethodException e) - { - continue; - } - } - return null; - } - - /** - * 循环向上转型, 获取对象的DeclaredMethod,并强制设置为可访问. - * 如向上转型到Object仍无法找到, 返回null. - * 只匹配函数名。 - * 用于方法需要被多次调用的情况. 先使用本函数先取得Method,然后调用Method.invoke(Object obj, Object... args) - */ - public static Method getAccessibleMethodByName(final Object obj, final String methodName, int argsNum) - { - // 为空不报错。直接返回 null - if (obj == null) - { - return null; - } - Validate.notBlank(methodName, "methodName can't be blank"); - for (Class<?> searchType = obj.getClass(); searchType != Object.class; searchType = searchType.getSuperclass()) - { - Method[] methods = searchType.getDeclaredMethods(); - for (Method method : methods) - { - if (method.getName().equals(methodName) && method.getParameterTypes().length == argsNum) - { - makeAccessible(method); - return method; - } - } - } - return null; - } - - /** - * 改变private/protected的方法为public,尽量不调用实际改动的语句,避免JDK的SecurityManager抱怨。 - */ - public static void makeAccessible(Method method) - { - if ((!Modifier.isPublic(method.getModifiers()) || !Modifier.isPublic(method.getDeclaringClass().getModifiers())) - && !method.isAccessible()) - { - method.setAccessible(true); - } - } - - /** - * 改变private/protected的成员变量为public,尽量不调用实际改动的语句,避免JDK的SecurityManager抱怨。 - */ - public static void makeAccessible(Field field) - { - if ((!Modifier.isPublic(field.getModifiers()) || !Modifier.isPublic(field.getDeclaringClass().getModifiers()) - || Modifier.isFinal(field.getModifiers())) && !field.isAccessible()) - { - field.setAccessible(true); - } - } - - /** - * 通过反射, 获得Class定义中声明的泛型参数的类型, 注意泛型必须定义在父类处 - * 如无法找到, 返回Object.class. - */ - @SuppressWarnings("unchecked") - public static <T> Class<T> getClassGenricType(final Class clazz) - { - return getClassGenricType(clazz, 0); - } - - /** - * 通过反射, 获得Class定义中声明的父类的泛型参数的类型. - * 如无法找到, 返回Object.class. - */ - public static Class getClassGenricType(final Class clazz, final int index) - { - Type genType = clazz.getGenericSuperclass(); - - if (!(genType instanceof ParameterizedType)) - { - logger.debug(clazz.getSimpleName() + "'s superclass not ParameterizedType"); - return Object.class; - } - - Type[] params = ((ParameterizedType) genType).getActualTypeArguments(); - - if (index >= params.length || index < 0) - { - logger.debug("Index: " + index + ", Size of " + clazz.getSimpleName() + "'s Parameterized Type: " - + params.length); - return Object.class; - } - if (!(params[index] instanceof Class)) - { - logger.debug(clazz.getSimpleName() + " not set the actual class on superclass generic parameter"); - return Object.class; - } - - return (Class) params[index]; - } - - public static Class<?> getUserClass(Object instance) - { - if (instance == null) - { - throw new RuntimeException("Instance must not be null"); - } - Class clazz = instance.getClass(); - if (clazz != null && clazz.getName().contains(CGLIB_CLASS_SEPARATOR)) - { - Class<?> superClass = clazz.getSuperclass(); - if (superClass != null && !Object.class.equals(superClass)) - { - return superClass; - } - } - return clazz; - - } - - /** - * 将反射时的checked exception转换为unchecked exception. - */ - public static RuntimeException convertReflectionExceptionToUnchecked(String msg, Exception e) - { - if (e instanceof IllegalAccessException || e instanceof IllegalArgumentException - || e instanceof NoSuchMethodException) - { - return new IllegalArgumentException(msg, e); - } - else if (e instanceof InvocationTargetException) - { - return new RuntimeException(msg, ((InvocationTargetException) e).getTargetException()); - } - return new RuntimeException(msg, e); - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/sign/Base64.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/sign/Base64.java deleted file mode 100644 index 6550805..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/sign/Base64.java +++ /dev/null @@ -1,291 +0,0 @@ -package com.hrt.common.core.utils.sign; - -/** - * Base64工具类 - * - * @author jqs - */ -public final class Base64 -{ - static private final int BASELENGTH = 128; - static private final int LOOKUPLENGTH = 64; - static private final int TWENTYFOURBITGROUP = 24; - static private final int EIGHTBIT = 8; - static private final int SIXTEENBIT = 16; - static private final int FOURBYTE = 4; - static private final int SIGN = -128; - static private final char PAD = '='; - static final private byte[] base64Alphabet = new byte[BASELENGTH]; - static final private char[] lookUpBase64Alphabet = new char[LOOKUPLENGTH]; - - static - { - for (int i = 0; i < BASELENGTH; ++i) - { - base64Alphabet[i] = -1; - } - for (int i = 'Z'; i >= 'A'; i--) - { - base64Alphabet[i] = (byte) (i - 'A'); - } - for (int i = 'z'; i >= 'a'; i--) - { - base64Alphabet[i] = (byte) (i - 'a' + 26); - } - - for (int i = '9'; i >= '0'; i--) - { - base64Alphabet[i] = (byte) (i - '0' + 52); - } - - base64Alphabet['+'] = 62; - base64Alphabet['/'] = 63; - - for (int i = 0; i <= 25; i++) - { - lookUpBase64Alphabet[i] = (char) ('A' + i); - } - - for (int i = 26, j = 0; i <= 51; i++, j++) - { - lookUpBase64Alphabet[i] = (char) ('a' + j); - } - - for (int i = 52, j = 0; i <= 61; i++, j++) - { - lookUpBase64Alphabet[i] = (char) ('0' + j); - } - lookUpBase64Alphabet[62] = (char) '+'; - lookUpBase64Alphabet[63] = (char) '/'; - } - - private static boolean isWhiteSpace(char octect) - { - return (octect == 0x20 || octect == 0xd || octect == 0xa || octect == 0x9); - } - - private static boolean isPad(char octect) - { - return (octect == PAD); - } - - private static boolean isData(char octect) - { - return (octect < BASELENGTH && base64Alphabet[octect] != -1); - } - - /** - * Encodes hex octects into Base64 - * - * @param binaryData Array containing binaryData - * @return Encoded Base64 array - */ - public static String encode(byte[] binaryData) - { - if (binaryData == null) - { - return null; - } - - int lengthDataBits = binaryData.length * EIGHTBIT; - if (lengthDataBits == 0) - { - return ""; - } - - int fewerThan24bits = lengthDataBits % TWENTYFOURBITGROUP; - int numberTriplets = lengthDataBits / TWENTYFOURBITGROUP; - int numberQuartet = fewerThan24bits != 0 ? numberTriplets + 1 : numberTriplets; - char encodedData[] = null; - - encodedData = new char[numberQuartet * 4]; - - byte k = 0, l = 0, b1 = 0, b2 = 0, b3 = 0; - - int encodedIndex = 0; - int dataIndex = 0; - - for (int i = 0; i < numberTriplets; i++) - { - b1 = binaryData[dataIndex++]; - b2 = binaryData[dataIndex++]; - b3 = binaryData[dataIndex++]; - - l = (byte) (b2 & 0x0f); - k = (byte) (b1 & 0x03); - - byte val1 = ((b1 & SIGN) == 0) ? (byte) (b1 >> 2) : (byte) ((b1) >> 2 ^ 0xc0); - byte val2 = ((b2 & SIGN) == 0) ? (byte) (b2 >> 4) : (byte) ((b2) >> 4 ^ 0xf0); - byte val3 = ((b3 & SIGN) == 0) ? (byte) (b3 >> 6) : (byte) ((b3) >> 6 ^ 0xfc); - - encodedData[encodedIndex++] = lookUpBase64Alphabet[val1]; - encodedData[encodedIndex++] = lookUpBase64Alphabet[val2 | (k << 4)]; - encodedData[encodedIndex++] = lookUpBase64Alphabet[(l << 2) | val3]; - encodedData[encodedIndex++] = lookUpBase64Alphabet[b3 & 0x3f]; - } - - // form integral number of 6-bit groups - if (fewerThan24bits == EIGHTBIT) - { - b1 = binaryData[dataIndex]; - k = (byte) (b1 & 0x03); - byte val1 = ((b1 & SIGN) == 0) ? (byte) (b1 >> 2) : (byte) ((b1) >> 2 ^ 0xc0); - encodedData[encodedIndex++] = lookUpBase64Alphabet[val1]; - encodedData[encodedIndex++] = lookUpBase64Alphabet[k << 4]; - encodedData[encodedIndex++] = PAD; - encodedData[encodedIndex++] = PAD; - } - else if (fewerThan24bits == SIXTEENBIT) - { - b1 = binaryData[dataIndex]; - b2 = binaryData[dataIndex + 1]; - l = (byte) (b2 & 0x0f); - k = (byte) (b1 & 0x03); - - byte val1 = ((b1 & SIGN) == 0) ? (byte) (b1 >> 2) : (byte) ((b1) >> 2 ^ 0xc0); - byte val2 = ((b2 & SIGN) == 0) ? (byte) (b2 >> 4) : (byte) ((b2) >> 4 ^ 0xf0); - - encodedData[encodedIndex++] = lookUpBase64Alphabet[val1]; - encodedData[encodedIndex++] = lookUpBase64Alphabet[val2 | (k << 4)]; - encodedData[encodedIndex++] = lookUpBase64Alphabet[l << 2]; - encodedData[encodedIndex++] = PAD; - } - return new String(encodedData); - } - - /** - * Decodes Base64 data into octects - * - * @param encoded string containing Base64 data - * @return Array containind decoded data. - */ - public static byte[] decode(String encoded) - { - if (encoded == null) - { - return null; - } - - char[] base64Data = encoded.toCharArray(); - // remove white spaces - int len = removeWhiteSpace(base64Data); - - if (len % FOURBYTE != 0) - { - return null;// should be divisible by four - } - - int numberQuadruple = (len / FOURBYTE); - - if (numberQuadruple == 0) - { - return new byte[0]; - } - - byte decodedData[] = null; - byte b1 = 0, b2 = 0, b3 = 0, b4 = 0; - char d1 = 0, d2 = 0, d3 = 0, d4 = 0; - - int i = 0; - int encodedIndex = 0; - int dataIndex = 0; - decodedData = new byte[(numberQuadruple) * 3]; - - for (; i < numberQuadruple - 1; i++) - { - - if (!isData((d1 = base64Data[dataIndex++])) || !isData((d2 = base64Data[dataIndex++])) - || !isData((d3 = base64Data[dataIndex++])) || !isData((d4 = base64Data[dataIndex++]))) - { - return null; - } // if found "no data" just return null - - b1 = base64Alphabet[d1]; - b2 = base64Alphabet[d2]; - b3 = base64Alphabet[d3]; - b4 = base64Alphabet[d4]; - - decodedData[encodedIndex++] = (byte) (b1 << 2 | b2 >> 4); - decodedData[encodedIndex++] = (byte) (((b2 & 0xf) << 4) | ((b3 >> 2) & 0xf)); - decodedData[encodedIndex++] = (byte) (b3 << 6 | b4); - } - - if (!isData((d1 = base64Data[dataIndex++])) || !isData((d2 = base64Data[dataIndex++]))) - { - return null;// if found "no data" just return null - } - - b1 = base64Alphabet[d1]; - b2 = base64Alphabet[d2]; - - d3 = base64Data[dataIndex++]; - d4 = base64Data[dataIndex++]; - if (!isData((d3)) || !isData((d4))) - {// Check if they are PAD characters - if (isPad(d3) && isPad(d4)) - { - if ((b2 & 0xf) != 0)// last 4 bits should be zero - { - return null; - } - byte[] tmp = new byte[i * 3 + 1]; - System.arraycopy(decodedData, 0, tmp, 0, i * 3); - tmp[encodedIndex] = (byte) (b1 << 2 | b2 >> 4); - return tmp; - } - else if (!isPad(d3) && isPad(d4)) - { - b3 = base64Alphabet[d3]; - if ((b3 & 0x3) != 0)// last 2 bits should be zero - { - return null; - } - byte[] tmp = new byte[i * 3 + 2]; - System.arraycopy(decodedData, 0, tmp, 0, i * 3); - tmp[encodedIndex++] = (byte) (b1 << 2 | b2 >> 4); - tmp[encodedIndex] = (byte) (((b2 & 0xf) << 4) | ((b3 >> 2) & 0xf)); - return tmp; - } - else - { - return null; - } - } - else - { // No PAD e.g 3cQl - b3 = base64Alphabet[d3]; - b4 = base64Alphabet[d4]; - decodedData[encodedIndex++] = (byte) (b1 << 2 | b2 >> 4); - decodedData[encodedIndex++] = (byte) (((b2 & 0xf) << 4) | ((b3 >> 2) & 0xf)); - decodedData[encodedIndex++] = (byte) (b3 << 6 | b4); - - } - return decodedData; - } - - /** - * remove WhiteSpace from MIME containing encoded Base64 data. - * - * @param data the byte array of base64 data (with WS) - * @return the new length - */ - private static int removeWhiteSpace(char[] data) - { - if (data == null) - { - return 0; - } - - // count characters that's not whitespace - int newSize = 0; - int len = data.length; - for (int i = 0; i < len; i++) - { - if (!isWhiteSpace(data[i])) - { - data[newSize++] = data[i]; - } - } - return newSize; - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/sql/SqlUtil.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/sql/SqlUtil.java deleted file mode 100644 index 3f4c06d..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/sql/SqlUtil.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.hrt.common.core.utils.sql; - -import com.hrt.common.core.exception.UtilException; -import com.hrt.common.core.utils.StringUtils; - -/** - * sql操作工具类 - * - * @author jqs - */ -public class SqlUtil -{ - /** - * 定义常用的 sql关键字 - */ - public static String SQL_REGEX = "and |extractvalue|updatexml|exec |insert |select |delete |update |drop |count |chr |mid |master |truncate |char |declare |or |+|user()"; - - /** - * 仅支持字母、数字、下划线、空格、逗号、小数点(支持多个字段排序) - */ - public static String SQL_PATTERN = "[a-zA-Z0-9_\\ \\,\\.]+"; - - /** - * 检查字符,防止注入绕过 - */ - public static String escapeOrderBySql(String value) - { - if (StringUtils.isNotEmpty(value) && !isValidOrderBySql(value)) - { - throw new UtilException("参数不符合规范,不能进行查询"); - } - return value; - } - - /** - * 验证 order by 语法是否符合规范 - */ - public static boolean isValidOrderBySql(String value) - { - return value.matches(SQL_PATTERN); - } - - /** - * SQL关键字检查 - */ - public static void filterKeyword(String value) - { - if (StringUtils.isEmpty(value)) - { - return; - } - String[] sqlKeywords = StringUtils.split(SQL_REGEX, "\\|"); - for (String sqlKeyword : sqlKeywords) - { - if (StringUtils.indexOfIgnoreCase(value, sqlKeyword) > -1) - { - throw new UtilException("参数存在SQL注入风险"); - } - } - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/uuid/IdUtils.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/uuid/IdUtils.java deleted file mode 100644 index f5b8477..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/uuid/IdUtils.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.hrt.common.core.utils.uuid; - -/** - * ID生成器工具类 - * - * @author jqs - */ -public class IdUtils -{ - /** - * 获取随机UUID - * - * @return 随机UUID - */ - public static String randomUUID() - { - return UUID.randomUUID().toString(); - } - - /** - * 简化的UUID,去掉了横线 - * - * @return 简化的UUID,去掉了横线 - */ - public static String simpleUUID() - { - return UUID.randomUUID().toString(true); - } - - /** - * 获取随机UUID,使用性能更好的ThreadLocalRandom生成UUID - * - * @return 随机UUID - */ - public static String fastUUID() - { - return UUID.fastUUID().toString(); - } - - /** - * 简化的UUID,去掉了横线,使用性能更好的ThreadLocalRandom生成UUID - * - * @return 简化的UUID,去掉了横线 - */ - public static String fastSimpleUUID() - { - return UUID.fastUUID().toString(true); - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/uuid/Seq.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/uuid/Seq.java deleted file mode 100644 index 5b2c4e0..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/uuid/Seq.java +++ /dev/null @@ -1,86 +0,0 @@ -package com.hrt.common.core.utils.uuid; - -import java.util.concurrent.atomic.AtomicInteger; -import com.hrt.common.core.utils.DateUtils; -import com.hrt.common.core.utils.StringUtils; - -/** - * @author jqs 序列生成类 - */ -public class Seq -{ - // 通用序列类型 - public static final String commSeqType = "COMMON"; - - // 上传序列类型 - public static final String uploadSeqType = "UPLOAD"; - - // 通用接口序列数 - private static AtomicInteger commSeq = new AtomicInteger(1); - - // 上传接口序列数 - private static AtomicInteger uploadSeq = new AtomicInteger(1); - - // 机器标识 - private static final String machineCode = "A"; - - /** - * 获取通用序列号 - * - * @return 序列值 - */ - public static String getId() - { - return getId(commSeqType); - } - - /** - * 默认16位序列号 yyMMddHHmmss + 一位机器标识 + 3长度循环递增字符串 - * - * @return 序列值 - */ - public static String getId(String type) - { - AtomicInteger atomicInt = commSeq; - if (uploadSeqType.equals(type)) - { - atomicInt = uploadSeq; - } - return getId(atomicInt, 3); - } - - /** - * 通用接口序列号 yyMMddHHmmss + 一位机器标识 + length长度循环递增字符串 - * - * @param atomicInt 序列数 - * @param length 数值长度 - * @return 序列值 - */ - public static String getId(AtomicInteger atomicInt, int length) - { - String result = DateUtils.dateTimeNow(); - result += machineCode; - result += getSeq(atomicInt, length); - return result; - } - - /** - * 序列循环递增字符串[1, 10 的 (length)幂次方), 用0左补齐length位数 - * - * @return 序列值 - */ - private synchronized static String getSeq(AtomicInteger atomicInt, int length) - { - // 先取值再+1 - int value = atomicInt.getAndIncrement(); - - // 如果更新后值>=10 的 (length)幂次方则重置为1 - int maxSeq = (int) Math.pow(10, length); - if (atomicInt.get() >= maxSeq) - { - atomicInt.set(1); - } - // 转字符串,用0左补齐 - return StringUtils.padl(value, length); - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/uuid/UUID.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/uuid/UUID.java deleted file mode 100644 index 4db137a..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/uuid/UUID.java +++ /dev/null @@ -1,484 +0,0 @@ -package com.hrt.common.core.utils.uuid; - -import java.security.MessageDigest; -import java.security.NoSuchAlgorithmException; -import java.security.SecureRandom; -import java.util.Random; -import java.util.concurrent.ThreadLocalRandom; -import com.hrt.common.core.exception.UtilException; - -/** - * 提供通用唯一识别码(universally unique identifier)(UUID)实现 - * - * @author jqs - */ -public final class UUID implements java.io.Serializable, Comparable<UUID> -{ - private static final long serialVersionUID = -1185015143654744140L; - - /** - * SecureRandom 的单例 - * - */ - private static class Holder - { - static final SecureRandom numberGenerator = getSecureRandom(); - } - - /** 此UUID的最高64有效位 */ - private final long mostSigBits; - - /** 此UUID的最低64有效位 */ - private final long leastSigBits; - - /** - * 私有构造 - * - * @param data 数据 - */ - private UUID(byte[] data) - { - long msb = 0; - long lsb = 0; - assert data.length == 16 : "data must be 16 bytes in length"; - for (int i = 0; i < 8; i++) - { - msb = (msb << 8) | (data[i] & 0xff); - } - for (int i = 8; i < 16; i++) - { - lsb = (lsb << 8) | (data[i] & 0xff); - } - this.mostSigBits = msb; - this.leastSigBits = lsb; - } - - /** - * 使用指定的数据构造新的 UUID。 - * - * @param mostSigBits 用于 {@code UUID} 的最高有效 64 位 - * @param leastSigBits 用于 {@code UUID} 的最低有效 64 位 - */ - public UUID(long mostSigBits, long leastSigBits) - { - this.mostSigBits = mostSigBits; - this.leastSigBits = leastSigBits; - } - - /** - * 获取类型 4(伪随机生成的)UUID 的静态工厂。 使用加密的本地线程伪随机数生成器生成该 UUID。 - * - * @return 随机生成的 {@code UUID} - */ - public static UUID fastUUID() - { - return randomUUID(false); - } - - /** - * 获取类型 4(伪随机生成的)UUID 的静态工厂。 使用加密的强伪随机数生成器生成该 UUID。 - * - * @return 随机生成的 {@code UUID} - */ - public static UUID randomUUID() - { - return randomUUID(true); - } - - /** - * 获取类型 4(伪随机生成的)UUID 的静态工厂。 使用加密的强伪随机数生成器生成该 UUID。 - * - * @param isSecure 是否使用{@link SecureRandom}如果是可以获得更安全的随机码,否则可以得到更好的性能 - * @return 随机生成的 {@code UUID} - */ - public static UUID randomUUID(boolean isSecure) - { - final Random ng = isSecure ? Holder.numberGenerator : getRandom(); - - byte[] randomBytes = new byte[16]; - ng.nextBytes(randomBytes); - randomBytes[6] &= 0x0f; /* clear version */ - randomBytes[6] |= 0x40; /* set to version 4 */ - randomBytes[8] &= 0x3f; /* clear variant */ - randomBytes[8] |= 0x80; /* set to IETF variant */ - return new UUID(randomBytes); - } - - /** - * 根据指定的字节数组获取类型 3(基于名称的)UUID 的静态工厂。 - * - * @param name 用于构造 UUID 的字节数组。 - * - * @return 根据指定数组生成的 {@code UUID} - */ - public static UUID nameUUIDFromBytes(byte[] name) - { - MessageDigest md; - try - { - md = MessageDigest.getInstance("MD5"); - } - catch (NoSuchAlgorithmException nsae) - { - throw new InternalError("MD5 not supported"); - } - byte[] md5Bytes = md.digest(name); - md5Bytes[6] &= 0x0f; /* clear version */ - md5Bytes[6] |= 0x30; /* set to version 3 */ - md5Bytes[8] &= 0x3f; /* clear variant */ - md5Bytes[8] |= 0x80; /* set to IETF variant */ - return new UUID(md5Bytes); - } - - /** - * 根据 {@link #toString()} 方法中描述的字符串标准表示形式创建{@code UUID}。 - * - * @param name 指定 {@code UUID} 字符串 - * @return 具有指定值的 {@code UUID} - * @throws IllegalArgumentException 如果 name 与 {@link #toString} 中描述的字符串表示形式不符抛出此异常 - * - */ - public static UUID fromString(String name) - { - String[] components = name.split("-"); - if (components.length != 5) - { - throw new IllegalArgumentException("Invalid UUID string: " + name); - } - for (int i = 0; i < 5; i++) - { - components[i] = "0x" + components[i]; - } - - long mostSigBits = Long.decode(components[0]).longValue(); - mostSigBits <<= 16; - mostSigBits |= Long.decode(components[1]).longValue(); - mostSigBits <<= 16; - mostSigBits |= Long.decode(components[2]).longValue(); - - long leastSigBits = Long.decode(components[3]).longValue(); - leastSigBits <<= 48; - leastSigBits |= Long.decode(components[4]).longValue(); - - return new UUID(mostSigBits, leastSigBits); - } - - /** - * 返回此 UUID 的 128 位值中的最低有效 64 位。 - * - * @return 此 UUID 的 128 位值中的最低有效 64 位。 - */ - public long getLeastSignificantBits() - { - return leastSigBits; - } - - /** - * 返回此 UUID 的 128 位值中的最高有效 64 位。 - * - * @return 此 UUID 的 128 位值中最高有效 64 位。 - */ - public long getMostSignificantBits() - { - return mostSigBits; - } - - /** - * 与此 {@code UUID} 相关联的版本号. 版本号描述此 {@code UUID} 是如何生成的。 - * <p> - * 版本号具有以下含意: - * <ul> - * <li>1 基于时间的 UUID - * <li>2 DCE 安全 UUID - * <li>3 基于名称的 UUID - * <li>4 随机生成的 UUID - * </ul> - * - * @return 此 {@code UUID} 的版本号 - */ - public int version() - { - // Version is bits masked by 0x000000000000F000 in MS long - return (int) ((mostSigBits >> 12) & 0x0f); - } - - /** - * 与此 {@code UUID} 相关联的变体号。变体号描述 {@code UUID} 的布局。 - * <p> - * 变体号具有以下含意: - * <ul> - * <li>0 为 NCS 向后兼容保留 - * <li>2 <a href="http://www.ietf.org/rfc/rfc4122.txt">IETF RFC 4122</a>(Leach-Salz), 用于此类 - * <li>6 保留,微软向后兼容 - * <li>7 保留供以后定义使用 - * </ul> - * - * @return 此 {@code UUID} 相关联的变体号 - */ - public int variant() - { - // This field is composed of a varying number of bits. - // 0 - - Reserved for NCS backward compatibility - // 1 0 - The IETF aka Leach-Salz variant (used by this class) - // 1 1 0 Reserved, Microsoft backward compatibility - // 1 1 1 Reserved for future definition. - return (int) ((leastSigBits >>> (64 - (leastSigBits >>> 62))) & (leastSigBits >> 63)); - } - - /** - * 与此 UUID 相关联的时间戳值。 - * - * <p> - * 60 位的时间戳值根据此 {@code UUID} 的 time_low、time_mid 和 time_hi 字段构造。<br> - * 所得到的时间戳以 100 毫微秒为单位,从 UTC(通用协调时间) 1582 年 10 月 15 日零时开始。 - * - * <p> - * 时间戳值仅在在基于时间的 UUID(其 version 类型为 1)中才有意义。<br> - * 如果此 {@code UUID} 不是基于时间的 UUID,则此方法抛出 UnsupportedOperationException。 - * - * @throws UnsupportedOperationException 如果此 {@code UUID} 不是 version 为 1 的 UUID。 - */ - public long timestamp() throws UnsupportedOperationException - { - checkTimeBase(); - return (mostSigBits & 0x0FFFL) << 48// - | ((mostSigBits >> 16) & 0x0FFFFL) << 32// - | mostSigBits >>> 32; - } - - /** - * 与此 UUID 相关联的时钟序列值。 - * - * <p> - * 14 位的时钟序列值根据此 UUID 的 clock_seq 字段构造。clock_seq 字段用于保证在基于时间的 UUID 中的时间唯一性。 - * <p> - * {@code clockSequence} 值仅在基于时间的 UUID(其 version 类型为 1)中才有意义。 如果此 UUID 不是基于时间的 UUID,则此方法抛出 - * UnsupportedOperationException。 - * - * @return 此 {@code UUID} 的时钟序列 - * - * @throws UnsupportedOperationException 如果此 UUID 的 version 不为 1 - */ - public int clockSequence() throws UnsupportedOperationException - { - checkTimeBase(); - return (int) ((leastSigBits & 0x3FFF000000000000L) >>> 48); - } - - /** - * 与此 UUID 相关的节点值。 - * - * <p> - * 48 位的节点值根据此 UUID 的 node 字段构造。此字段旨在用于保存机器的 IEEE 802 地址,该地址用于生成此 UUID 以保证空间唯一性。 - * <p> - * 节点值仅在基于时间的 UUID(其 version 类型为 1)中才有意义。<br> - * 如果此 UUID 不是基于时间的 UUID,则此方法抛出 UnsupportedOperationException。 - * - * @return 此 {@code UUID} 的节点值 - * - * @throws UnsupportedOperationException 如果此 UUID 的 version 不为 1 - */ - public long node() throws UnsupportedOperationException - { - checkTimeBase(); - return leastSigBits & 0x0000FFFFFFFFFFFFL; - } - - /** - * 返回此{@code UUID} 的字符串表现形式。 - * - * <p> - * UUID 的字符串表示形式由此 BNF 描述: - * - * <pre> - * {@code - * UUID = <time_low>-<time_mid>-<time_high_and_version>-<variant_and_sequence>-<node> - * time_low = 4*<hexOctet> - * time_mid = 2*<hexOctet> - * time_high_and_version = 2*<hexOctet> - * variant_and_sequence = 2*<hexOctet> - * node = 6*<hexOctet> - * hexOctet = <hexDigit><hexDigit> - * hexDigit = [0-9a-fA-F] - * } - * </pre> - * - * </blockquote> - * - * @return 此{@code UUID} 的字符串表现形式 - * @see #toString(boolean) - */ - @Override - public String toString() - { - return toString(false); - } - - /** - * 返回此{@code UUID} 的字符串表现形式。 - * - * <p> - * UUID 的字符串表示形式由此 BNF 描述: - * - * <pre> - * {@code - * UUID = <time_low>-<time_mid>-<time_high_and_version>-<variant_and_sequence>-<node> - * time_low = 4*<hexOctet> - * time_mid = 2*<hexOctet> - * time_high_and_version = 2*<hexOctet> - * variant_and_sequence = 2*<hexOctet> - * node = 6*<hexOctet> - * hexOctet = <hexDigit><hexDigit> - * hexDigit = [0-9a-fA-F] - * } - * </pre> - * - * </blockquote> - * - * @param isSimple 是否简单模式,简单模式为不带'-'的UUID字符串 - * @return 此{@code UUID} 的字符串表现形式 - */ - public String toString(boolean isSimple) - { - final StringBuilder builder = new StringBuilder(isSimple ? 32 : 36); - // time_low - builder.append(digits(mostSigBits >> 32, 8)); - if (false == isSimple) - { - builder.append('-'); - } - // time_mid - builder.append(digits(mostSigBits >> 16, 4)); - if (false == isSimple) - { - builder.append('-'); - } - // time_high_and_version - builder.append(digits(mostSigBits, 4)); - if (false == isSimple) - { - builder.append('-'); - } - // variant_and_sequence - builder.append(digits(leastSigBits >> 48, 4)); - if (false == isSimple) - { - builder.append('-'); - } - // node - builder.append(digits(leastSigBits, 12)); - - return builder.toString(); - } - - /** - * 返回此 UUID 的哈希码。 - * - * @return UUID 的哈希码值。 - */ - @Override - public int hashCode() - { - long hilo = mostSigBits ^ leastSigBits; - return ((int) (hilo >> 32)) ^ (int) hilo; - } - - /** - * 将此对象与指定对象比较。 - * <p> - * 当且仅当参数不为 {@code null}、而是一个 UUID 对象、具有与此 UUID 相同的 varriant、包含相同的值(每一位均相同)时,结果才为 {@code true}。 - * - * @param obj 要与之比较的对象 - * - * @return 如果对象相同,则返回 {@code true};否则返回 {@code false} - */ - @Override - public boolean equals(Object obj) - { - if ((null == obj) || (obj.getClass() != UUID.class)) - { - return false; - } - UUID id = (UUID) obj; - return (mostSigBits == id.mostSigBits && leastSigBits == id.leastSigBits); - } - - // Comparison Operations - - /** - * 将此 UUID 与指定的 UUID 比较。 - * - * <p> - * 如果两个 UUID 不同,且第一个 UUID 的最高有效字段大于第二个 UUID 的对应字段,则第一个 UUID 大于第二个 UUID。 - * - * @param val 与此 UUID 比较的 UUID - * - * @return 在此 UUID 小于、等于或大于 val 时,分别返回 -1、0 或 1。 - * - */ - @Override - public int compareTo(UUID val) - { - // The ordering is intentionally set up so that the UUIDs - // can simply be numerically compared as two numbers - return (this.mostSigBits < val.mostSigBits ? -1 : // - (this.mostSigBits > val.mostSigBits ? 1 : // - (this.leastSigBits < val.leastSigBits ? -1 : // - (this.leastSigBits > val.leastSigBits ? 1 : // - 0)))); - } - - // ------------------------------------------------------------------------------------------------------------------- - // Private method start - /** - * 返回指定数字对应的hex值 - * - * @param val 值 - * @param digits 位 - * @return 值 - */ - private static String digits(long val, int digits) - { - long hi = 1L << (digits * 4); - return Long.toHexString(hi | (val & (hi - 1))).substring(1); - } - - /** - * 检查是否为time-based版本UUID - */ - private void checkTimeBase() - { - if (version() != 1) - { - throw new UnsupportedOperationException("Not a time-based UUID"); - } - } - - /** - * 获取{@link SecureRandom},类提供加密的强随机数生成器 (RNG) - * - * @return {@link SecureRandom} - */ - public static SecureRandom getSecureRandom() - { - try - { - return SecureRandom.getInstance("SHA1PRNG"); - } - catch (NoSuchAlgorithmException e) - { - throw new UtilException(e); - } - } - - /** - * 获取随机数生成器对象<br> - * ThreadLocalRandom是JDK 7之后提供并发产生随机数,能够解决多个线程发生的竞争争夺。 - * - * @return {@link ThreadLocalRandom} - */ - public static ThreadLocalRandom getRandom() - { - return ThreadLocalRandom.current(); - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/controller/BaseController.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/controller/BaseController.java deleted file mode 100644 index 96e2af1..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/controller/BaseController.java +++ /dev/null @@ -1,143 +0,0 @@ -package com.hrt.common.core.web.controller; - -import java.beans.PropertyEditorSupport; -import java.util.Date; -import java.util.List; - -import com.hrt.common.core.constant.HttpStatus; -import com.hrt.common.core.web.domain.AjaxResult; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.web.bind.WebDataBinder; -import org.springframework.web.bind.annotation.InitBinder; -import com.github.pagehelper.PageInfo; -import com.hrt.common.core.utils.DateUtils; -import com.hrt.common.core.utils.PageUtils; -import com.hrt.common.core.web.page.TableDataInfo; - -/** - * web层通用数据处理 - * - * @author jqs - */ -public class BaseController -{ - protected final Logger logger = LoggerFactory.getLogger(this.getClass()); - - /** - * 将前台传递过来的日期格式的字符串,自动转化为Date类型 - */ - @InitBinder - public void initBinder(WebDataBinder binder) - { - // Date 类型转换 - binder.registerCustomEditor(Date.class, new PropertyEditorSupport() - { - @Override - public void setAsText(String text) - { - setValue(DateUtils.parseDate(text)); - } - }); - } - - /** - * 设置请求分页数据 - */ - protected void startPage() - { - PageUtils.startPage(); - } - - /** - * 清理分页的线程变量 - */ - protected void clearPage() - { - PageUtils.clearPage(); - } - - /** - * 响应请求分页数据 - */ - @SuppressWarnings({ "rawtypes", "unchecked" }) - protected TableDataInfo getDataTable(List<?> list) - { - TableDataInfo rspData = new TableDataInfo(); - rspData.setCode(HttpStatus.SUCCESS); - rspData.setRows(list); - rspData.setMsg("查询成功"); - rspData.setTotal(new PageInfo(list).getTotal()); - return rspData; - } - - /** - * 返回成功 - */ - public AjaxResult success() - { - return AjaxResult.success(); - } - - /** - * 返回成功消息 - */ - public AjaxResult success(String message) - { - return AjaxResult.success(message); - } - - /** - * 返回成功消息 - */ - public AjaxResult success(Object data) - { - return AjaxResult.success(data); - } - - /** - * 返回失败消息 - */ - public AjaxResult error() - { - return AjaxResult.error(); - } - - /** - * 返回失败消息 - */ - public AjaxResult error(String message) - { - return AjaxResult.error(message); - } - - /** - * 返回警告消息 - */ - public AjaxResult warn(String message) - { - return AjaxResult.warn(message); - } - - /** - * 响应返回结果 - * - * @param rows 影响行数 - * @return 操作结果 - */ - protected AjaxResult toAjax(int rows) - { - return rows > 0 ? AjaxResult.success() : AjaxResult.error(); - } - - /** - * 响应返回结果 - * - * @param result 结果 - * @return 操作结果 - */ - protected AjaxResult toAjax(boolean result) - { - return result ? success() : error(); - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/domain/AjaxResult.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/domain/AjaxResult.java deleted file mode 100644 index ee78d4b..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/domain/AjaxResult.java +++ /dev/null @@ -1,207 +0,0 @@ -package com.hrt.common.core.web.domain; - -import java.util.HashMap; -import java.util.Objects; - -import com.hrt.common.core.constant.HttpStatus; -import com.hrt.common.core.utils.StringUtils; - -/** - * 操作消息提醒 - * - * @author jqs - */ -public class AjaxResult extends HashMap<String, Object> -{ - private static final long serialVersionUID = 1L; - - /** 状态码 */ - public static final String CODE_TAG = "code"; - - /** 返回内容 */ - public static final String MSG_TAG = "msg"; - - /** 数据对象 */ - public static final String DATA_TAG = "data"; - - /** - * 初始化一个新创建的 AjaxResult 对象,使其表示一个空消息。 - */ - public AjaxResult() - { - } - - /** - * 初始化一个新创建的 AjaxResult 对象 - * - * @param code 状态码 - * @param msg 返回内容 - */ - public AjaxResult(int code, String msg) - { - super.put(CODE_TAG, code); - super.put(MSG_TAG, msg); - } - - /** - * 初始化一个新创建的 AjaxResult 对象 - * - * @param code 状态码 - * @param msg 返回内容 - * @param data 数据对象 - */ - public AjaxResult(int code, String msg, Object data) - { - super.put(CODE_TAG, code); - super.put(MSG_TAG, msg); - if (StringUtils.isNotNull(data)) - { - super.put(DATA_TAG, data); - } - } - - /** - * 返回成功消息 - * - * @return 成功消息 - */ - public static AjaxResult success() - { - return AjaxResult.success("操作成功"); - } - - /** - * 返回成功数据 - * - * @return 成功消息 - */ - public static AjaxResult success(Object data) - { - return AjaxResult.success("操作成功", data); - } - - /** - * 返回成功消息 - * - * @param msg 返回内容 - * @return 成功消息 - */ - public static AjaxResult success(String msg) - { - return AjaxResult.success(msg, null); - } - - /** - * 返回成功消息 - * - * @param msg 返回内容 - * @param data 数据对象 - * @return 成功消息 - */ - public static AjaxResult success(String msg, Object data) - { - return new AjaxResult(HttpStatus.SUCCESS, msg, data); - } - - /** - * 返回警告消息 - * - * @param msg 返回内容 - * @return 警告消息 - */ - public static AjaxResult warn(String msg) - { - return AjaxResult.warn(msg, null); - } - - /** - * 返回警告消息 - * - * @param msg 返回内容 - * @param data 数据对象 - * @return 警告消息 - */ - public static AjaxResult warn(String msg, Object data) - { - return new AjaxResult(HttpStatus.WARN, msg, data); - } - - /** - * 返回错误消息 - * - * @return 错误消息 - */ - public static AjaxResult error() - { - return AjaxResult.error("操作失败"); - } - - /** - * 返回错误消息 - * - * @param msg 返回内容 - * @return 错误消息 - */ - public static AjaxResult error(String msg) - { - return AjaxResult.error(msg, null); - } - - /** - * 返回错误消息 - * - * @param msg 返回内容 - * @param data 数据对象 - * @return 错误消息 - */ - public static AjaxResult error(String msg, Object data) - { - return new AjaxResult(HttpStatus.ERROR, msg, data); - } - - /** - * 返回错误消息 - * - * @param code 状态码 - * @param msg 返回内容 - * @return 错误消息 - */ - public static AjaxResult error(int code, String msg) - { - return new AjaxResult(code, msg, null); - } - - /** - * 是否为成功消息 - * - * @return 结果 - */ - public boolean isSuccess() - { - return Objects.equals(HttpStatus.SUCCESS, this.get(CODE_TAG)); - } - - /** - * 是否为错误消息 - * - * @return 结果 - */ - public boolean isError() - { - return !isSuccess(); - } - - /** - * 方便链式调用 - * - * @param key - * @param value - * @return - */ - @Override - public AjaxResult put(String key, Object value) - { - super.put(key, value); - return this; - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/domain/BaseEntity.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/domain/BaseEntity.java deleted file mode 100644 index 43c8279..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/domain/BaseEntity.java +++ /dev/null @@ -1,118 +0,0 @@ -package com.hrt.common.core.web.domain; - -import java.io.Serializable; -import java.util.Date; -import java.util.HashMap; -import java.util.Map; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonInclude; - -/** - * Entity基类 - * - * @author jqs - */ -public class BaseEntity implements Serializable -{ - private static final long serialVersionUID = 1L; - - /** 搜索值 */ - @JsonIgnore - private String searchValue; - - /** 创建者 */ - private String createBy; - - /** 创建时间 */ - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private Date createTime; - - /** 更新者 */ - private String updateBy; - - /** 更新时间 */ - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private Date updateTime; - - /** 备注 */ - private String remark; - - /** 请求参数 */ - @JsonInclude(JsonInclude.Include.NON_EMPTY) - private Map<String, Object> params; - - public String getSearchValue() - { - return searchValue; - } - - public void setSearchValue(String searchValue) - { - this.searchValue = searchValue; - } - - public String getCreateBy() - { - return createBy; - } - - public void setCreateBy(String createBy) - { - this.createBy = createBy; - } - - public Date getCreateTime() - { - return createTime; - } - - public void setCreateTime(Date createTime) - { - this.createTime = createTime; - } - - public String getUpdateBy() - { - return updateBy; - } - - public void setUpdateBy(String updateBy) - { - this.updateBy = updateBy; - } - - public Date getUpdateTime() - { - return updateTime; - } - - public void setUpdateTime(Date updateTime) - { - this.updateTime = updateTime; - } - - public String getRemark() - { - return remark; - } - - public void setRemark(String remark) - { - this.remark = remark; - } - - public Map<String, Object> getParams() - { - if (params == null) - { - params = new HashMap<>(); - } - return params; - } - - public void setParams(Map<String, Object> params) - { - this.params = params; - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/domain/TreeEntity.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/domain/TreeEntity.java deleted file mode 100644 index 125dfdb..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/domain/TreeEntity.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.hrt.common.core.web.domain; - -import java.util.ArrayList; -import java.util.List; - -/** - * Tree基类 - * - * @author jqs - */ -public class TreeEntity extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** 父菜单名称 */ - private String parentName; - - /** 父菜单ID */ - private Long parentId; - - /** 显示顺序 */ - private Integer orderNum; - - /** 祖级列表 */ - private String ancestors; - - /** 子部门 */ - private List<?> children = new ArrayList<>(); - - public String getParentName() - { - return parentName; - } - - public void setParentName(String parentName) - { - this.parentName = parentName; - } - - public Long getParentId() - { - return parentId; - } - - public void setParentId(Long parentId) - { - this.parentId = parentId; - } - - public Integer getOrderNum() - { - return orderNum; - } - - public void setOrderNum(Integer orderNum) - { - this.orderNum = orderNum; - } - - public String getAncestors() - { - return ancestors; - } - - public void setAncestors(String ancestors) - { - this.ancestors = ancestors; - } - - public List<?> getChildren() - { - return children; - } - - public void setChildren(List<?> children) - { - this.children = children; - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/page/PageDomain.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/page/PageDomain.java deleted file mode 100644 index 0b2e4b2..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/page/PageDomain.java +++ /dev/null @@ -1,101 +0,0 @@ -package com.hrt.common.core.web.page; - -import com.hrt.common.core.utils.StringUtils; - -/** - * 分页数据 - * - * @author jqs - */ -public class PageDomain -{ - /** 当前记录起始索引 */ - private Integer pageNum; - - /** 每页显示记录数 */ - private Integer pageSize; - - /** 排序列 */ - private String orderByColumn; - - /** 排序的方向desc或者asc */ - private String isAsc = "asc"; - - /** 分页参数合理化 */ - private Boolean reasonable = true; - - public String getOrderBy() - { - if (StringUtils.isEmpty(orderByColumn)) - { - return ""; - } - return StringUtils.toUnderScoreCase(orderByColumn) + " " + isAsc; - } - - public Integer getPageNum() - { - return pageNum; - } - - public void setPageNum(Integer pageNum) - { - this.pageNum = pageNum; - } - - public Integer getPageSize() - { - return pageSize; - } - - public void setPageSize(Integer pageSize) - { - this.pageSize = pageSize; - } - - public String getOrderByColumn() - { - return orderByColumn; - } - - public void setOrderByColumn(String orderByColumn) - { - this.orderByColumn = orderByColumn; - } - - public String getIsAsc() - { - return isAsc; - } - - public void setIsAsc(String isAsc) - { - if (StringUtils.isNotEmpty(isAsc)) - { - // 兼容前端排序类型 - if ("ascending".equals(isAsc)) - { - isAsc = "asc"; - } - else if ("descending".equals(isAsc)) - { - isAsc = "desc"; - } - this.isAsc = isAsc; - } - } - - public Boolean getReasonable() - { - if (StringUtils.isNull(reasonable)) - { - return Boolean.TRUE; - } - return reasonable; - } - - public void setReasonable(Boolean reasonable) - { - this.reasonable = reasonable; - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/page/TableDataInfo.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/page/TableDataInfo.java deleted file mode 100644 index 0013377..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/page/TableDataInfo.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.hrt.common.core.web.page; - -import java.io.Serializable; -import java.util.List; - -/** - * 表格分页数据对象 - * - * @author jqs - */ -public class TableDataInfo implements Serializable -{ - private static final long serialVersionUID = 1L; - - /** 总记录数 */ - private long total; - - /** 列表数据 */ - private List<?> rows; - - /** 消息状态码 */ - private int code; - - /** 消息内容 */ - private String msg; - - /** - * 表格数据对象 - */ - public TableDataInfo() - { - } - - /** - * 分页 - * - * @param list 列表数据 - * @param total 总记录数 - */ - public TableDataInfo(List<?> list, int total) - { - this.rows = list; - this.total = total; - } - - public long getTotal() - { - return total; - } - - public void setTotal(long total) - { - this.total = total; - } - - public List<?> getRows() - { - return rows; - } - - public void setRows(List<?> rows) - { - this.rows = rows; - } - - public int getCode() - { - return code; - } - - public void setCode(int code) - { - this.code = code; - } - - public String getMsg() - { - return msg; - } - - public void setMsg(String msg) - { - this.msg = msg; - } -} \ No newline at end of file diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/page/TableSupport.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/page/TableSupport.java deleted file mode 100644 index 46f779b..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/page/TableSupport.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.hrt.common.core.web.page; - -import com.hrt.common.core.text.Convert; -import com.hrt.common.core.utils.ServletUtils; - -/** - * 表格数据处理 - * - * @author jqs - */ -public class TableSupport -{ - /** - * 当前记录起始索引 - */ - public static final String PAGE_NUM = "pageNum"; - - /** - * 每页显示记录数 - */ - public static final String PAGE_SIZE = "pageSize"; - - /** - * 排序列 - */ - public static final String ORDER_BY_COLUMN = "orderByColumn"; - - /** - * 排序的方向 "desc" 或者 "asc". - */ - public static final String IS_ASC = "isAsc"; - - /** - * 分页参数合理化 - */ - public static final String REASONABLE = "reasonable"; - - /** - * 封装分页对象 - */ - public static PageDomain getPageDomain() - { - PageDomain pageDomain = new PageDomain(); - pageDomain.setPageNum(Convert.toInt(ServletUtils.getParameter(PAGE_NUM), 1)); - pageDomain.setPageSize(Convert.toInt(ServletUtils.getParameter(PAGE_SIZE), 10)); - pageDomain.setOrderByColumn(ServletUtils.getParameter(ORDER_BY_COLUMN)); - pageDomain.setIsAsc(ServletUtils.getParameter(IS_ASC)); - pageDomain.setReasonable(ServletUtils.getParameterToBool(REASONABLE)); - return pageDomain; - } - - public static PageDomain buildPageRequest() - { - return getPageDomain(); - } -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/xss/Xss.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/xss/Xss.java deleted file mode 100644 index 87f32a5..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/xss/Xss.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.hrt.common.core.xss; - -import javax.validation.Constraint; -import javax.validation.Payload; -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * 自定义xss校验注解 - * - * @author jqs - */ -@Retention(RetentionPolicy.RUNTIME) -@Target(value = { ElementType.METHOD, ElementType.FIELD, ElementType.CONSTRUCTOR, ElementType.PARAMETER }) -@Constraint(validatedBy = { XssValidator.class }) -public @interface Xss -{ - String message() - - default "不允许任何脚本运行"; - - Class<?>[] groups() default {}; - - Class<? extends Payload>[] payload() default {}; -} diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/xss/XssValidator.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/xss/XssValidator.java deleted file mode 100644 index dd5fa34..0000000 --- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/xss/XssValidator.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.hrt.common.core.xss; - -import java.util.regex.Matcher; -import java.util.regex.Pattern; -import javax.validation.ConstraintValidator; -import javax.validation.ConstraintValidatorContext; -import com.hrt.common.core.utils.StringUtils; - -/** - * 自定义xss校验注解实现 - * - * @author jqs - */ -public class XssValidator implements ConstraintValidator<Xss, String> -{ - private static final String HTML_PATTERN = "<(\\S*?)[^>]*>.*?|<.*? />"; - - @Override - public boolean isValid(String value, ConstraintValidatorContext constraintValidatorContext) - { - if (StringUtils.isBlank(value)) - { - return true; - } - return !containsHtml(value); - } - - public static boolean containsHtml(String value) - { - Pattern pattern = Pattern.compile(HTML_PATTERN); - Matcher matcher = pattern.matcher(value); - return matcher.matches(); - } -} \ No newline at end of file diff --git a/hrt-common/hrt-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/hrt-common/hrt-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports deleted file mode 100644 index fec53b9..0000000 --- a/hrt-common/hrt-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ /dev/null @@ -1 +0,0 @@ -com.hrt.common.core.utils.SpringUtils diff --git a/hrt-common/hrt-common-datascope/pom.xml b/hrt-common/hrt-common-datascope/pom.xml deleted file mode 100644 index 7002462..0000000 --- a/hrt-common/hrt-common-datascope/pom.xml +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns="http://maven.apache.org/POM/4.0.0" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <parent> - <groupId>com.hrt</groupId> - <artifactId>hrt-common</artifactId> - <version>3.6.2</version> - </parent> - <modelVersion>4.0.0</modelVersion> - - <artifactId>hrt-common-datascope</artifactId> - - <description> - hrt-common-datascope权限范围 - </description> - - <dependencies> - - <!-- hrt Common Security --> - <dependency> - <groupId>com.hrt</groupId> - <artifactId>hrt-common-security</artifactId> - </dependency> - - </dependencies> -</project> \ No newline at end of file diff --git a/hrt-common/hrt-common-datascope/src/main/java/com/hrt/common/datascope/annotation/DataScope.java b/hrt-common/hrt-common-datascope/src/main/java/com/hrt/common/datascope/annotation/DataScope.java deleted file mode 100644 index 827fa66..0000000 --- a/hrt-common/hrt-common-datascope/src/main/java/com/hrt/common/datascope/annotation/DataScope.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.hrt.common.datascope.annotation; - -import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * 数据权限过滤注解 - * - * @author jqs - */ -@Target(ElementType.METHOD) -@Retention(RetentionPolicy.RUNTIME) -@Documented -public @interface DataScope -{ - /** - * 部门表的别名 - */ - public String deptAlias() default ""; - - /** - * 用户表的别名 - */ - public String userAlias() default ""; - - /** - * 权限字符(用于多个角色匹配符合要求的权限)默认根据权限注解@RequiresPermissions获取,多个权限用逗号分隔开来 - */ - public String permission() default ""; -} diff --git a/hrt-common/hrt-common-datascope/src/main/java/com/hrt/common/datascope/aspect/DataScopeAspect.java b/hrt-common/hrt-common-datascope/src/main/java/com/hrt/common/datascope/aspect/DataScopeAspect.java deleted file mode 100644 index c5954b3..0000000 --- a/hrt-common/hrt-common-datascope/src/main/java/com/hrt/common/datascope/aspect/DataScopeAspect.java +++ /dev/null @@ -1,174 +0,0 @@ -package com.hrt.common.datascope.aspect; - -import java.util.ArrayList; -import java.util.List; -import org.aspectj.lang.JoinPoint; -import org.aspectj.lang.annotation.Aspect; -import org.aspectj.lang.annotation.Before; -import org.springframework.stereotype.Component; -import com.hrt.common.core.context.SecurityContextHolder; -import com.hrt.common.core.text.Convert; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.common.core.web.domain.BaseEntity; -import com.hrt.common.datascope.annotation.DataScope; -import com.hrt.common.security.utils.SecurityUtils; -import com.hrt.system.api.domain.SysRole; -import com.hrt.system.api.domain.SysUser; -import com.hrt.system.api.model.LoginUser; - -/** - * 数据过滤处理 - * - * @author jqs - */ -@Aspect -@Component -public class DataScopeAspect -{ - /** - * 全部数据权限 - */ - public static final String DATA_SCOPE_ALL = "1"; - - /** - * 自定数据权限 - */ - public static final String DATA_SCOPE_CUSTOM = "2"; - - /** - * 部门数据权限 - */ - public static final String DATA_SCOPE_DEPT = "3"; - - /** - * 部门及以下数据权限 - */ - public static final String DATA_SCOPE_DEPT_AND_CHILD = "4"; - - /** - * 仅本人数据权限 - */ - public static final String DATA_SCOPE_SELF = "5"; - - /** - * 数据权限过滤关键字 - */ - public static final String DATA_SCOPE = "dataScope"; - - @Before("@annotation(controllerDataScope)") - public void doBefore(JoinPoint point, DataScope controllerDataScope) throws Throwable - { - clearDataScope(point); - handleDataScope(point, controllerDataScope); - } - - protected void handleDataScope(final JoinPoint joinPoint, DataScope controllerDataScope) - { - // 获取当前的用户 - LoginUser loginUser = SecurityUtils.getLoginUser(); - if (StringUtils.isNotNull(loginUser)) - { - SysUser currentUser = loginUser.getSysUser(); - // 如果是超级管理员,则不过滤数据 - if (StringUtils.isNotNull(currentUser) && !currentUser.isAdmin()) - { - String permission = StringUtils.defaultIfEmpty(controllerDataScope.permission(), SecurityContextHolder.getPermission()); - dataScopeFilter(joinPoint, currentUser, controllerDataScope.deptAlias(), - controllerDataScope.userAlias(), permission); - } - } - } - - /** - * 数据范围过滤 - * - * @param joinPoint 切点 - * @param user 用户 - * @param deptAlias 部门别名 - * @param userAlias 用户别名 - * @param permission 权限字符 - */ - public static void dataScopeFilter(JoinPoint joinPoint, SysUser user, String deptAlias, String userAlias, String permission) - { - StringBuilder sqlString = new StringBuilder(); - List<String> conditions = new ArrayList<String>(); - - for (SysRole role : user.getRoles()) - { - String dataScope = role.getDataScope(); - if (!DATA_SCOPE_CUSTOM.equals(dataScope) && conditions.contains(dataScope)) - { - continue; - } - if (StringUtils.isNotEmpty(permission) && StringUtils.isNotEmpty(role.getPermissions()) - && !StringUtils.containsAny(role.getPermissions(), Convert.toStrArray(permission))) - { - continue; - } - if (DATA_SCOPE_ALL.equals(dataScope)) - { - sqlString = new StringBuilder(); - conditions.add(dataScope); - break; - } - else if (DATA_SCOPE_CUSTOM.equals(dataScope)) - { - sqlString.append(StringUtils.format( - " OR {}.dept_id IN ( SELECT dept_id FROM sys_role_dept WHERE role_id = {} ) ", deptAlias, - role.getRoleId())); - } - else if (DATA_SCOPE_DEPT.equals(dataScope)) - { - sqlString.append(StringUtils.format(" OR {}.dept_id = {} ", deptAlias, user.getDeptId())); - } - else if (DATA_SCOPE_DEPT_AND_CHILD.equals(dataScope)) - { - sqlString.append(StringUtils.format( - " OR {}.dept_id IN ( SELECT dept_id FROM sys_dept WHERE dept_id = {} or find_in_set( {} , ancestors ) )", - deptAlias, user.getDeptId(), user.getDeptId())); - } - else if (DATA_SCOPE_SELF.equals(dataScope)) - { - if (StringUtils.isNotBlank(userAlias)) - { - sqlString.append(StringUtils.format(" OR {}.user_id = {} ", userAlias, user.getUserId())); - } - else - { - // 数据权限为仅本人且没有userAlias别名不查询任何数据 - sqlString.append(StringUtils.format(" OR {}.dept_id = 0 ", deptAlias)); - } - } - conditions.add(dataScope); - } - - // 多角色情况下,所有角色都不包含传递过来的权限字符,这个时候sqlString也会为空,所以要限制一下,不查询任何数据 - if (StringUtils.isEmpty(conditions)) - { - sqlString.append(StringUtils.format(" OR {}.dept_id = 0 ", deptAlias)); - } - - if (StringUtils.isNotBlank(sqlString.toString())) - { - Object params = joinPoint.getArgs()[0]; - if (StringUtils.isNotNull(params) && params instanceof BaseEntity) - { - BaseEntity baseEntity = (BaseEntity) params; - baseEntity.getParams().put(DATA_SCOPE, " AND (" + sqlString.substring(4) + ")"); - } - } - } - - /** - * 拼接权限sql前先清空params.dataScope参数防止注入 - */ - private void clearDataScope(final JoinPoint joinPoint) - { - Object params = joinPoint.getArgs()[0]; - if (StringUtils.isNotNull(params) && params instanceof BaseEntity) - { - BaseEntity baseEntity = (BaseEntity) params; - baseEntity.getParams().put(DATA_SCOPE, ""); - } - } -} diff --git a/hrt-common/hrt-common-datascope/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/hrt-common/hrt-common-datascope/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports deleted file mode 100644 index 1964910..0000000 --- a/hrt-common/hrt-common-datascope/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ /dev/null @@ -1 +0,0 @@ -com.hrt.common.datascope.aspect.DataScopeAspect diff --git a/hrt-common/hrt-common-datasource/pom.xml b/hrt-common/hrt-common-datasource/pom.xml deleted file mode 100644 index ce624ba..0000000 --- a/hrt-common/hrt-common-datasource/pom.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns="http://maven.apache.org/POM/4.0.0" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <parent> - <groupId>com.hrt</groupId> - <artifactId>hrt-common</artifactId> - <version>3.6.2</version> - </parent> - <modelVersion>4.0.0</modelVersion> - - <artifactId>hrt-common-datasource</artifactId> - - <description> - hrt-common-datasource多数据源 - </description> - - <dependencies> - - <!-- Druid --> - <dependency> - <groupId>com.alibaba</groupId> - <artifactId>druid-spring-boot-starter</artifactId> - <version>${druid.version}</version> - </dependency> - - <!-- Dynamic DataSource --> - <dependency> - <groupId>com.baomidou</groupId> - <artifactId>dynamic-datasource-spring-boot-starter</artifactId> - <version>${dynamic-ds.version}</version> - </dependency> - - </dependencies> -</project> \ No newline at end of file diff --git a/hrt-common/hrt-common-datasource/src/main/java/com/hrt/common/datasource/annotation/Master.java b/hrt-common/hrt-common-datasource/src/main/java/com/hrt/common/datasource/annotation/Master.java deleted file mode 100644 index 6c53d42..0000000 --- a/hrt-common/hrt-common-datasource/src/main/java/com/hrt/common/datasource/annotation/Master.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.hrt.common.datasource.annotation; - -import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; -import com.baomidou.dynamic.datasource.annotation.DS; - -/** - * 主库数据源 - * - * @author jqs - */ -@Target({ ElementType.TYPE, ElementType.METHOD }) -@Retention(RetentionPolicy.RUNTIME) -@Documented -@DS("master") -public @interface Master -{ - -} \ No newline at end of file diff --git a/hrt-common/hrt-common-datasource/src/main/java/com/hrt/common/datasource/annotation/Slave.java b/hrt-common/hrt-common-datasource/src/main/java/com/hrt/common/datasource/annotation/Slave.java deleted file mode 100644 index 4110425..0000000 --- a/hrt-common/hrt-common-datasource/src/main/java/com/hrt/common/datasource/annotation/Slave.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.hrt.common.datasource.annotation; - -import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; -import com.baomidou.dynamic.datasource.annotation.DS; - -/** - * 从库数据源 - * - * @author jqs - */ -@Target({ ElementType.TYPE, ElementType.METHOD }) -@Retention(RetentionPolicy.RUNTIME) -@Documented -@DS("slave") -public @interface Slave -{ - -} \ No newline at end of file diff --git a/hrt-common/hrt-common-log/pom.xml b/hrt-common/hrt-common-log/pom.xml deleted file mode 100644 index 0df0686..0000000 --- a/hrt-common/hrt-common-log/pom.xml +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns="http://maven.apache.org/POM/4.0.0" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <parent> - <groupId>com.hrt</groupId> - <artifactId>hrt-common</artifactId> - <version>3.6.2</version> - </parent> - <modelVersion>4.0.0</modelVersion> - - <artifactId>hrt-common-log</artifactId> - - <description> - hrt-common-log日志记录 - </description> - - <dependencies> - - <!-- hrt Common Security --> - <dependency> - <groupId>com.hrt</groupId> - <artifactId>hrt-common-security</artifactId> - </dependency> - - </dependencies> -</project> \ No newline at end of file diff --git a/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/annotation/Log.java b/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/annotation/Log.java deleted file mode 100644 index 47f56d2..0000000 --- a/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/annotation/Log.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.hrt.common.log.annotation; - -import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; -import com.hrt.common.log.enums.BusinessType; -import com.hrt.common.log.enums.OperatorType; - -/** - * 自定义操作日志记录注解 - * - * @author jqs - * - */ -@Target({ ElementType.PARAMETER, ElementType.METHOD }) -@Retention(RetentionPolicy.RUNTIME) -@Documented -public @interface Log -{ - /** - * 模块 - */ - public String title() default ""; - - /** - * 功能 - */ - public BusinessType businessType() default BusinessType.OTHER; - - /** - * 操作人类别 - */ - public OperatorType operatorType() default OperatorType.MANAGE; - - /** - * 是否保存请求的参数 - */ - public boolean isSaveRequestData() default true; - - /** - * 是否保存响应的参数 - */ - public boolean isSaveResponseData() default true; - - /** - * 排除指定的请求参数 - */ - public String[] excludeParamNames() default {}; -} diff --git a/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/aspect/LogAspect.java b/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/aspect/LogAspect.java deleted file mode 100644 index 29e35dd..0000000 --- a/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/aspect/LogAspect.java +++ /dev/null @@ -1,249 +0,0 @@ -package com.hrt.common.log.aspect; - -import java.util.Collection; -import java.util.Map; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import org.apache.commons.lang3.ArrayUtils; -import org.aspectj.lang.JoinPoint; -import org.aspectj.lang.annotation.AfterReturning; -import org.aspectj.lang.annotation.AfterThrowing; -import org.aspectj.lang.annotation.Aspect; -import org.aspectj.lang.annotation.Before; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.core.NamedThreadLocal; -import org.springframework.http.HttpMethod; -import org.springframework.stereotype.Component; -import org.springframework.validation.BindingResult; -import org.springframework.web.multipart.MultipartFile; -import com.alibaba.fastjson2.JSON; -import com.hrt.common.core.utils.ServletUtils; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.common.core.utils.ip.IpUtils; -import com.hrt.common.log.annotation.Log; -import com.hrt.common.log.enums.BusinessStatus; -import com.hrt.common.log.filter.PropertyPreExcludeFilter; -import com.hrt.common.log.service.AsyncLogService; -import com.hrt.common.security.utils.SecurityUtils; -import com.hrt.system.api.domain.SysOperLog; - -/** - * 操作日志记录处理 - * - * @author jqs - */ -@Aspect -@Component -public class LogAspect -{ - private static final Logger log = LoggerFactory.getLogger(LogAspect.class); - - /** 排除敏感属性字段 */ - public static final String[] EXCLUDE_PROPERTIES = { "password", "oldPassword", "newPassword", "confirmPassword" }; - - /** 计算操作消耗时间 */ - private static final ThreadLocal<Long> TIME_THREADLOCAL = new NamedThreadLocal<Long>("Cost Time"); - - @Autowired - private AsyncLogService asyncLogService; - - /** - * 处理请求前执行 - */ - @Before(value = "@annotation(controllerLog)") - public void boBefore(JoinPoint joinPoint, Log controllerLog) - { - TIME_THREADLOCAL.set(System.currentTimeMillis()); - } - - /** - * 处理完请求后执行 - * - * @param joinPoint 切点 - */ - @AfterReturning(pointcut = "@annotation(controllerLog)", returning = "jsonResult") - public void doAfterReturning(JoinPoint joinPoint, Log controllerLog, Object jsonResult) - { - handleLog(joinPoint, controllerLog, null, jsonResult); - } - - /** - * 拦截异常操作 - * - * @param joinPoint 切点 - * @param e 异常 - */ - @AfterThrowing(value = "@annotation(controllerLog)", throwing = "e") - public void doAfterThrowing(JoinPoint joinPoint, Log controllerLog, Exception e) - { - handleLog(joinPoint, controllerLog, e, null); - } - - protected void handleLog(final JoinPoint joinPoint, Log controllerLog, final Exception e, Object jsonResult) - { - try - { - // *========数据库日志=========*// - SysOperLog operLog = new SysOperLog(); - operLog.setStatus(BusinessStatus.SUCCESS.ordinal()); - // 请求的地址 - String ip = IpUtils.getIpAddr(); - operLog.setOperIp(ip); - operLog.setOperUrl(StringUtils.substring(ServletUtils.getRequest().getRequestURI(), 0, 255)); - String username = SecurityUtils.getUsername(); - if (StringUtils.isNotBlank(username)) - { - operLog.setOperName(username); - } - - if (e != null) - { - operLog.setStatus(BusinessStatus.FAIL.ordinal()); - operLog.setErrorMsg(StringUtils.substring(e.getMessage(), 0, 2000)); - } - // 设置方法名称 - String className = joinPoint.getTarget().getClass().getName(); - String methodName = joinPoint.getSignature().getName(); - operLog.setMethod(className + "." + methodName + "()"); - // 设置请求方式 - operLog.setRequestMethod(ServletUtils.getRequest().getMethod()); - // 处理设置注解上的参数 - getControllerMethodDescription(joinPoint, controllerLog, operLog, jsonResult); - // 设置消耗时间 - operLog.setCostTime(System.currentTimeMillis() - TIME_THREADLOCAL.get()); - // 保存数据库 - asyncLogService.saveSysLog(operLog); - } - catch (Exception exp) - { - // 记录本地异常日志 - log.error("异常信息:{}", exp.getMessage()); - exp.printStackTrace(); - } - finally - { - TIME_THREADLOCAL.remove(); - } - } - - /** - * 获取注解中对方法的描述信息 用于Controller层注解 - * - * @param log 日志 - * @param operLog 操作日志 - * @throws Exception - */ - public void getControllerMethodDescription(JoinPoint joinPoint, Log log, SysOperLog operLog, Object jsonResult) throws Exception - { - // 设置action动作 - operLog.setBusinessType(log.businessType().ordinal()); - // 设置标题 - operLog.setTitle(log.title()); - // 设置操作人类别 - operLog.setOperatorType(log.operatorType().ordinal()); - // 是否需要保存request,参数和值 - if (log.isSaveRequestData()) - { - // 获取参数的信息,传入到数据库中。 - setRequestValue(joinPoint, operLog, log.excludeParamNames()); - } - // 是否需要保存response,参数和值 - if (log.isSaveResponseData() && StringUtils.isNotNull(jsonResult)) - { - operLog.setJsonResult(StringUtils.substring(JSON.toJSONString(jsonResult), 0, 2000)); - } - } - - /** - * 获取请求的参数,放到log中 - * - * @param operLog 操作日志 - * @throws Exception 异常 - */ - private void setRequestValue(JoinPoint joinPoint, SysOperLog operLog, String[] excludeParamNames) throws Exception - { - String requestMethod = operLog.getRequestMethod(); - Map<?, ?> paramsMap = ServletUtils.getParamMap(ServletUtils.getRequest()); - if (StringUtils.isEmpty(paramsMap) - && (HttpMethod.PUT.name().equals(requestMethod) || HttpMethod.POST.name().equals(requestMethod))) - { - String params = argsArrayToString(joinPoint.getArgs(), excludeParamNames); - operLog.setOperParam(StringUtils.substring(params, 0, 2000)); - } - else - { - operLog.setOperParam(StringUtils.substring(JSON.toJSONString(paramsMap, excludePropertyPreFilter(excludeParamNames)), 0, 2000)); - } - } - - /** - * 参数拼装 - */ - private String argsArrayToString(Object[] paramsArray, String[] excludeParamNames) - { - String params = ""; - if (paramsArray != null && paramsArray.length > 0) - { - for (Object o : paramsArray) - { - if (StringUtils.isNotNull(o) && !isFilterObject(o)) - { - try - { - String jsonObj = JSON.toJSONString(o, excludePropertyPreFilter(excludeParamNames)); - params += jsonObj.toString() + " "; - } - catch (Exception e) - { - } - } - } - } - return params.trim(); - } - - /** - * 忽略敏感属性 - */ - public PropertyPreExcludeFilter excludePropertyPreFilter(String[] excludeParamNames) - { - return new PropertyPreExcludeFilter().addExcludes(ArrayUtils.addAll(EXCLUDE_PROPERTIES, excludeParamNames)); - } - - /** - * 判断是否需要过滤的对象。 - * - * @param o 对象信息。 - * @return 如果是需要过滤的对象,则返回true;否则返回false。 - */ - @SuppressWarnings("rawtypes") - public boolean isFilterObject(final Object o) - { - Class<?> clazz = o.getClass(); - if (clazz.isArray()) - { - return clazz.getComponentType().isAssignableFrom(MultipartFile.class); - } - else if (Collection.class.isAssignableFrom(clazz)) - { - Collection collection = (Collection) o; - for (Object value : collection) - { - return value instanceof MultipartFile; - } - } - else if (Map.class.isAssignableFrom(clazz)) - { - Map map = (Map) o; - for (Object value : map.entrySet()) - { - Map.Entry entry = (Map.Entry) value; - return entry.getValue() instanceof MultipartFile; - } - } - return o instanceof MultipartFile || o instanceof HttpServletRequest || o instanceof HttpServletResponse - || o instanceof BindingResult; - } -} diff --git a/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/enums/BusinessStatus.java b/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/enums/BusinessStatus.java deleted file mode 100644 index e91c6cf..0000000 --- a/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/enums/BusinessStatus.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.hrt.common.log.enums; - -/** - * 操作状态 - * - * @author jqs - * - */ -public enum BusinessStatus -{ - /** - * 成功 - */ - SUCCESS, - - /** - * 失败 - */ - FAIL, -} diff --git a/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/enums/BusinessType.java b/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/enums/BusinessType.java deleted file mode 100644 index e677734..0000000 --- a/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/enums/BusinessType.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.hrt.common.log.enums; - -/** - * 业务操作类型 - * - * @author jqs - */ -public enum BusinessType -{ - /** - * 其它 - */ - OTHER, - - /** - * 新增 - */ - INSERT, - - /** - * 修改 - */ - UPDATE, - - /** - * 删除 - */ - DELETE, - - /** - * 授权 - */ - GRANT, - - /** - * 导出 - */ - EXPORT, - - /** - * 导入 - */ - IMPORT, - - /** - * 强退 - */ - FORCE, - - /** - * 生成代码 - */ - GENCODE, - - /** - * 清空数据 - */ - CLEAN, -} diff --git a/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/enums/OperatorType.java b/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/enums/OperatorType.java deleted file mode 100644 index 7452e78..0000000 --- a/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/enums/OperatorType.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.hrt.common.log.enums; - -/** - * 操作人类别 - * - * @author jqs - */ -public enum OperatorType -{ - /** - * 其它 - */ - OTHER, - - /** - * 后台用户 - */ - MANAGE, - - /** - * 手机端用户 - */ - MOBILE -} diff --git a/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/filter/PropertyPreExcludeFilter.java b/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/filter/PropertyPreExcludeFilter.java deleted file mode 100644 index 13b3730..0000000 --- a/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/filter/PropertyPreExcludeFilter.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.hrt.common.log.filter; - -import com.alibaba.fastjson2.filter.SimplePropertyPreFilter; - -/** - * 排除JSON敏感属性 - * - * @author jqs - */ -public class PropertyPreExcludeFilter extends SimplePropertyPreFilter -{ - public PropertyPreExcludeFilter() - { - } - - public PropertyPreExcludeFilter addExcludes(String... filters) - { - for (int i = 0; i < filters.length; i++) - { - this.getExcludes().add(filters[i]); - } - return this; - } -} diff --git a/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/service/AsyncLogService.java b/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/service/AsyncLogService.java deleted file mode 100644 index 8bc5909..0000000 --- a/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/service/AsyncLogService.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.hrt.common.log.service; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.scheduling.annotation.Async; -import org.springframework.stereotype.Service; -import com.hrt.common.core.constant.SecurityConstants; -import com.hrt.system.api.RemoteLogService; -import com.hrt.system.api.domain.SysOperLog; - -/** - * 异步调用日志服务 - * - * @author jqs - */ -@Service -public class AsyncLogService -{ - @Autowired - private RemoteLogService remoteLogService; - - /** - * 保存系统日志记录 - */ - @Async - public void saveSysLog(SysOperLog sysOperLog) throws Exception - { - remoteLogService.saveLog(sysOperLog, SecurityConstants.INNER); - } -} diff --git a/hrt-common/hrt-common-log/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/hrt-common/hrt-common-log/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports deleted file mode 100644 index a459e3e..0000000 --- a/hrt-common/hrt-common-log/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ /dev/null @@ -1,2 +0,0 @@ -com.hrt.common.log.service.AsyncLogService -com.hrt.common.log.aspect.LogAspect diff --git a/hrt-common/hrt-common-redis/pom.xml b/hrt-common/hrt-common-redis/pom.xml deleted file mode 100644 index 959984c..0000000 --- a/hrt-common/hrt-common-redis/pom.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns="http://maven.apache.org/POM/4.0.0" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <parent> - <groupId>com.hrt</groupId> - <artifactId>hrt-common</artifactId> - <version>3.6.2</version> - </parent> - <modelVersion>4.0.0</modelVersion> - - <artifactId>hrt-common-redis</artifactId> - - <description> - hrt-common-redis缓存服务 - </description> - - <dependencies> - - <!-- SpringBoot Boot Redis --> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-data-redis</artifactId> - </dependency> - - <!-- hrt Common Core--> - <dependency> - <groupId>com.hrt</groupId> - <artifactId>hrt-common-core</artifactId> - </dependency> - - </dependencies> -</project> \ No newline at end of file diff --git a/hrt-common/hrt-common-redis/src/main/java/com/hrt/common/redis/configure/FastJson2JsonRedisSerializer.java b/hrt-common/hrt-common-redis/src/main/java/com/hrt/common/redis/configure/FastJson2JsonRedisSerializer.java deleted file mode 100644 index bc3c142..0000000 --- a/hrt-common/hrt-common-redis/src/main/java/com/hrt/common/redis/configure/FastJson2JsonRedisSerializer.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.hrt.common.redis.configure; - -import java.nio.charset.Charset; -import org.springframework.data.redis.serializer.RedisSerializer; -import org.springframework.data.redis.serializer.SerializationException; -import com.alibaba.fastjson2.JSON; -import com.alibaba.fastjson2.JSONReader; -import com.alibaba.fastjson2.JSONWriter; - -/** - * Redis使用FastJson序列化 - * - * @author jqs - */ -public class FastJson2JsonRedisSerializer<T> implements RedisSerializer<T> -{ - public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8"); - - private Class<T> clazz; - - - public FastJson2JsonRedisSerializer(Class<T> clazz) - { - super(); - this.clazz = clazz; - } - - @Override - public byte[] serialize(T t) throws SerializationException - { - if (t == null) - { - return new byte[0]; - } - return JSON.toJSONString(t, JSONWriter.Feature.WriteClassName).getBytes(DEFAULT_CHARSET); - } - - @Override - public T deserialize(byte[] bytes) throws SerializationException - { - if (bytes == null || bytes.length <= 0) - { - return null; - } - String str = new String(bytes, DEFAULT_CHARSET); - - return JSON.parseObject(str, clazz, JSONReader.Feature.SupportAutoType); - } -} diff --git a/hrt-common/hrt-common-redis/src/main/java/com/hrt/common/redis/configure/RedisConfig.java b/hrt-common/hrt-common-redis/src/main/java/com/hrt/common/redis/configure/RedisConfig.java deleted file mode 100644 index c89301d..0000000 --- a/hrt-common/hrt-common-redis/src/main/java/com/hrt/common/redis/configure/RedisConfig.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.hrt.common.redis.configure; - -import org.springframework.boot.autoconfigure.AutoConfigureBefore; -import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration; -import org.springframework.cache.annotation.CachingConfigurerSupport; -import org.springframework.cache.annotation.EnableCaching; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.data.redis.connection.RedisConnectionFactory; -import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.data.redis.serializer.StringRedisSerializer; - -/** - * redis配置 - * - * @author jqs - */ -@Configuration -@EnableCaching -@AutoConfigureBefore(RedisAutoConfiguration.class) -public class RedisConfig extends CachingConfigurerSupport -{ - @Bean - @SuppressWarnings(value = { "unchecked", "rawtypes" }) - public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory connectionFactory) - { - RedisTemplate<Object, Object> template = new RedisTemplate<>(); - template.setConnectionFactory(connectionFactory); - - FastJson2JsonRedisSerializer serializer = new FastJson2JsonRedisSerializer(Object.class); - - // 使用StringRedisSerializer来序列化和反序列化redis的key值 - template.setKeySerializer(new StringRedisSerializer()); - template.setValueSerializer(serializer); - - // Hash的key也采用StringRedisSerializer的序列化方式 - template.setHashKeySerializer(new StringRedisSerializer()); - template.setHashValueSerializer(serializer); - - template.afterPropertiesSet(); - return template; - } -} diff --git a/hrt-common/hrt-common-redis/src/main/java/com/hrt/common/redis/service/RedisService.java b/hrt-common/hrt-common-redis/src/main/java/com/hrt/common/redis/service/RedisService.java deleted file mode 100644 index e9f0dda..0000000 --- a/hrt-common/hrt-common-redis/src/main/java/com/hrt/common/redis/service/RedisService.java +++ /dev/null @@ -1,268 +0,0 @@ -package com.hrt.common.redis.service; - -import java.util.Collection; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.TimeUnit; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.redis.core.BoundSetOperations; -import org.springframework.data.redis.core.HashOperations; -import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.data.redis.core.ValueOperations; -import org.springframework.stereotype.Component; - -/** - * spring redis 工具类 - * - * @author jqs - **/ -@SuppressWarnings(value = { "unchecked", "rawtypes" }) -@Component -public class RedisService -{ - @Autowired - public RedisTemplate redisTemplate; - - /** - * 缓存基本的对象,Integer、String、实体类等 - * - * @param key 缓存的键值 - * @param value 缓存的值 - */ - public <T> void setCacheObject(final String key, final T value) - { - redisTemplate.opsForValue().set(key, value); - } - - /** - * 缓存基本的对象,Integer、String、实体类等 - * - * @param key 缓存的键值 - * @param value 缓存的值 - * @param timeout 时间 - * @param timeUnit 时间颗粒度 - */ - public <T> void setCacheObject(final String key, final T value, final Long timeout, final TimeUnit timeUnit) - { - redisTemplate.opsForValue().set(key, value, timeout, timeUnit); - } - - /** - * 设置有效时间 - * - * @param key Redis键 - * @param timeout 超时时间 - * @return true=设置成功;false=设置失败 - */ - public boolean expire(final String key, final long timeout) - { - return expire(key, timeout, TimeUnit.SECONDS); - } - - /** - * 设置有效时间 - * - * @param key Redis键 - * @param timeout 超时时间 - * @param unit 时间单位 - * @return true=设置成功;false=设置失败 - */ - public boolean expire(final String key, final long timeout, final TimeUnit unit) - { - return redisTemplate.expire(key, timeout, unit); - } - - /** - * 获取有效时间 - * - * @param key Redis键 - * @return 有效时间 - */ - public long getExpire(final String key) - { - return redisTemplate.getExpire(key); - } - - /** - * 判断 key是否存在 - * - * @param key 键 - * @return true 存在 false不存在 - */ - public Boolean hasKey(String key) - { - return redisTemplate.hasKey(key); - } - - /** - * 获得缓存的基本对象。 - * - * @param key 缓存键值 - * @return 缓存键值对应的数据 - */ - public <T> T getCacheObject(final String key) - { - ValueOperations<String, T> operation = redisTemplate.opsForValue(); - return operation.get(key); - } - - /** - * 删除单个对象 - * - * @param key - */ - public boolean deleteObject(final String key) - { - return redisTemplate.delete(key); - } - - /** - * 删除集合对象 - * - * @param collection 多个对象 - * @return - */ - public boolean deleteObject(final Collection collection) - { - return redisTemplate.delete(collection) > 0; - } - - /** - * 缓存List数据 - * - * @param key 缓存的键值 - * @param dataList 待缓存的List数据 - * @return 缓存的对象 - */ - public <T> long setCacheList(final String key, final List<T> dataList) - { - Long count = redisTemplate.opsForList().rightPushAll(key, dataList); - return count == null ? 0 : count; - } - - /** - * 获得缓存的list对象 - * - * @param key 缓存的键值 - * @return 缓存键值对应的数据 - */ - public <T> List<T> getCacheList(final String key) - { - return redisTemplate.opsForList().range(key, 0, -1); - } - - /** - * 缓存Set - * - * @param key 缓存键值 - * @param dataSet 缓存的数据 - * @return 缓存数据的对象 - */ - public <T> BoundSetOperations<String, T> setCacheSet(final String key, final Set<T> dataSet) - { - BoundSetOperations<String, T> setOperation = redisTemplate.boundSetOps(key); - Iterator<T> it = dataSet.iterator(); - while (it.hasNext()) - { - setOperation.add(it.next()); - } - return setOperation; - } - - /** - * 获得缓存的set - * - * @param key - * @return - */ - public <T> Set<T> getCacheSet(final String key) - { - return redisTemplate.opsForSet().members(key); - } - - /** - * 缓存Map - * - * @param key - * @param dataMap - */ - public <T> void setCacheMap(final String key, final Map<String, T> dataMap) - { - if (dataMap != null) { - redisTemplate.opsForHash().putAll(key, dataMap); - } - } - - /** - * 获得缓存的Map - * - * @param key - * @return - */ - public <T> Map<String, T> getCacheMap(final String key) - { - return redisTemplate.opsForHash().entries(key); - } - - /** - * 往Hash中存入数据 - * - * @param key Redis键 - * @param hKey Hash键 - * @param value 值 - */ - public <T> void setCacheMapValue(final String key, final String hKey, final T value) - { - redisTemplate.opsForHash().put(key, hKey, value); - } - - /** - * 获取Hash中的数据 - * - * @param key Redis键 - * @param hKey Hash键 - * @return Hash中的对象 - */ - public <T> T getCacheMapValue(final String key, final String hKey) - { - HashOperations<String, String, T> opsForHash = redisTemplate.opsForHash(); - return opsForHash.get(key, hKey); - } - - /** - * 获取多个Hash中的数据 - * - * @param key Redis键 - * @param hKeys Hash键集合 - * @return Hash对象集合 - */ - public <T> List<T> getMultiCacheMapValue(final String key, final Collection<Object> hKeys) - { - return redisTemplate.opsForHash().multiGet(key, hKeys); - } - - /** - * 删除Hash中的某条数据 - * - * @param key Redis键 - * @param hKey Hash键 - * @return 是否成功 - */ - public boolean deleteCacheMapValue(final String key, final String hKey) - { - return redisTemplate.opsForHash().delete(key, hKey) > 0; - } - - /** - * 获得缓存的基本对象列表 - * - * @param pattern 字符串前缀 - * @return 对象列表 - */ - public Collection<String> keys(final String pattern) - { - return redisTemplate.keys(pattern); - } -} diff --git a/hrt-common/hrt-common-redis/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/hrt-common/hrt-common-redis/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports deleted file mode 100644 index 8a3e487..0000000 --- a/hrt-common/hrt-common-redis/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ /dev/null @@ -1,2 +0,0 @@ -com.hrt.common.redis.configure.RedisConfig -com.hrt.common.redis.service.RedisService diff --git a/hrt-common/hrt-common-seata/pom.xml b/hrt-common/hrt-common-seata/pom.xml deleted file mode 100644 index 68ff0be..0000000 --- a/hrt-common/hrt-common-seata/pom.xml +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns="http://maven.apache.org/POM/4.0.0" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <parent> - <groupId>com.hrt</groupId> - <artifactId>hrt-common</artifactId> - <version>3.6.2</version> - </parent> - <modelVersion>4.0.0</modelVersion> - - <artifactId>hrt-common-seata</artifactId> - - <description> - hrt-common-seata分布式事务 - </description> - - <dependencies> - - <!-- SpringBoot Seata --> - <dependency> - <groupId>com.alibaba.cloud</groupId> - <artifactId>spring-cloud-starter-alibaba-seata</artifactId> - </dependency> - - </dependencies> -</project> \ No newline at end of file diff --git a/hrt-common/hrt-common-security/pom.xml b/hrt-common/hrt-common-security/pom.xml deleted file mode 100644 index d4d1464..0000000 --- a/hrt-common/hrt-common-security/pom.xml +++ /dev/null @@ -1,39 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> - <parent> - <groupId>com.hrt</groupId> - <artifactId>hrt-common</artifactId> - <version>3.6.2</version> - </parent> - <modelVersion>4.0.0</modelVersion> - - <artifactId>hrt-common-security</artifactId> - - <description> - hrt-common-security安全模块 - </description> - - <dependencies> - - <!-- Spring Web --> - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-webmvc</artifactId> - </dependency> - - <!-- hrt Api System --> - <dependency> - <groupId>com.hrt</groupId> - <artifactId>hrt-api-system</artifactId> - </dependency> - - <!-- hrt Common Redis--> - <dependency> - <groupId>com.hrt</groupId> - <artifactId>hrt-common-redis</artifactId> - </dependency> - - </dependencies> - -</project> diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/EnableCustomConfig.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/EnableCustomConfig.java deleted file mode 100644 index b14b234..0000000 --- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/EnableCustomConfig.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.hrt.common.security.annotation; - -import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; -import java.lang.annotation.Inherited; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -import com.hrt.common.security.config.ApplicationConfig; -import com.hrt.common.security.feign.FeignAutoConfiguration; -import org.mybatis.spring.annotation.MapperScan; -import org.springframework.context.annotation.EnableAspectJAutoProxy; -import org.springframework.context.annotation.Import; -import org.springframework.scheduling.annotation.EnableAsync; - -@Target(ElementType.TYPE) -@Retention(RetentionPolicy.RUNTIME) -@Documented -@Inherited -// 表示通过aop框架暴露该代理对象,AopContext能够访问 -@EnableAspectJAutoProxy(exposeProxy = true) -// 指定要扫描的Mapper类的包的路径 -@MapperScan("com.hrt.**.mapper") -// 开启线程异步执行 -@EnableAsync -// 自动加载类 -@Import({ ApplicationConfig.class, FeignAutoConfiguration.class }) -public @interface EnableCustomConfig -{ - -} diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/EnableRyFeignClients.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/EnableRyFeignClients.java deleted file mode 100644 index d7fb90a..0000000 --- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/EnableRyFeignClients.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.hrt.common.security.annotation; - -import org.springframework.cloud.openfeign.EnableFeignClients; -import java.lang.annotation.*; - -/** - * 自定义feign注解 - * 添加basePackages路径 - * - * @author jqs - */ -@Target(ElementType.TYPE) -@Retention(RetentionPolicy.RUNTIME) -@Documented -@EnableFeignClients -public @interface EnableRyFeignClients -{ - String[] value() default {}; - - String[] basePackages() default { "com.hrt" }; - - Class<?>[] basePackageClasses() default {}; - - Class<?>[] defaultConfiguration() default {}; - - Class<?>[] clients() default {}; -} diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/InnerAuth.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/InnerAuth.java deleted file mode 100644 index 68c5906..0000000 --- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/InnerAuth.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.hrt.common.security.annotation; - -import java.lang.annotation.*; - -/** - * 内部认证注解 - * - * @author jqs - */ -@Target(ElementType.METHOD) -@Retention(RetentionPolicy.RUNTIME) -@Documented -public @interface InnerAuth -{ - /** - * 是否校验用户信息 - */ - boolean isUser() default false; -} \ No newline at end of file diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/Logical.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/Logical.java deleted file mode 100644 index cc16f31..0000000 --- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/Logical.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.hrt.common.security.annotation; - -/** - * 权限注解的验证模式 - * - * @author jqs - * - */ -public enum Logical -{ - /** - * 必须具有所有的元素 - */ - AND, - - /** - * 只需具有其中一个元素 - */ - OR -} diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/RequiresLogin.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/RequiresLogin.java deleted file mode 100644 index ca16131..0000000 --- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/RequiresLogin.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.hrt.common.security.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * 登录认证:只有登录之后才能进入该方法 - * - * @author jqs - * - */ -@Retention(RetentionPolicy.RUNTIME) -@Target({ ElementType.METHOD, ElementType.TYPE }) -public @interface RequiresLogin -{ -} diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/RequiresPermissions.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/RequiresPermissions.java deleted file mode 100644 index 959f372..0000000 --- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/RequiresPermissions.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.hrt.common.security.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * 权限认证:必须具有指定权限才能进入该方法 - * - * @author jqs - * - */ -@Retention(RetentionPolicy.RUNTIME) -@Target({ ElementType.METHOD, ElementType.TYPE }) -public @interface RequiresPermissions -{ - /** - * 需要校验的权限码 - */ - String[] value() default {}; - - /** - * 验证模式:AND | OR,默认AND - */ - Logical logical() default Logical.AND; -} diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/RequiresRoles.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/RequiresRoles.java deleted file mode 100644 index b766a0b..0000000 --- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/RequiresRoles.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.hrt.common.security.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * 角色认证:必须具有指定角色标识才能进入该方法 - * - * @author jqs - */ -@Retention(RetentionPolicy.RUNTIME) -@Target({ ElementType.METHOD, ElementType.TYPE }) -public @interface RequiresRoles -{ - /** - * 需要校验的角色标识 - */ - String[] value() default {}; - - /** - * 验证逻辑:AND | OR,默认AND - */ - Logical logical() default Logical.AND; -} diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/aspect/InnerAuthAspect.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/aspect/InnerAuthAspect.java deleted file mode 100644 index 0010c31..0000000 --- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/aspect/InnerAuthAspect.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.hrt.common.security.aspect; - -import org.aspectj.lang.ProceedingJoinPoint; -import org.aspectj.lang.annotation.Around; -import org.aspectj.lang.annotation.Aspect; -import org.springframework.core.Ordered; -import org.springframework.stereotype.Component; -import com.hrt.common.core.constant.SecurityConstants; -import com.hrt.common.core.exception.InnerAuthException; -import com.hrt.common.core.utils.ServletUtils; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.common.security.annotation.InnerAuth; - -/** - * 内部服务调用验证处理 - * - * @author jqs - */ -@Aspect -@Component -public class InnerAuthAspect implements Ordered -{ - @Around("@annotation(innerAuth)") - public Object innerAround(ProceedingJoinPoint point, InnerAuth innerAuth) throws Throwable - { - String source = ServletUtils.getRequest().getHeader(SecurityConstants.FROM_SOURCE); - // 内部请求验证 - if (!StringUtils.equals(SecurityConstants.INNER, source)) - { - throw new InnerAuthException("没有内部访问权限,不允许访问"); - } - - String userid = ServletUtils.getRequest().getHeader(SecurityConstants.DETAILS_USER_ID); - String username = ServletUtils.getRequest().getHeader(SecurityConstants.DETAILS_USERNAME); - // 用户信息验证 - if (innerAuth.isUser() && (StringUtils.isEmpty(userid) || StringUtils.isEmpty(username))) - { - throw new InnerAuthException("没有设置用户信息,不允许访问 "); - } - return point.proceed(); - } - - /** - * 确保在权限认证aop执行前执行 - */ - @Override - public int getOrder() - { - return Ordered.HIGHEST_PRECEDENCE + 1; - } -} diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/aspect/PreAuthorizeAspect.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/aspect/PreAuthorizeAspect.java deleted file mode 100644 index b9a3a6e..0000000 --- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/aspect/PreAuthorizeAspect.java +++ /dev/null @@ -1,98 +0,0 @@ -package com.hrt.common.security.aspect; - -import java.lang.reflect.Method; - -import com.hrt.common.security.auth.AuthUtil; -import org.aspectj.lang.ProceedingJoinPoint; -import org.aspectj.lang.annotation.Around; -import org.aspectj.lang.annotation.Aspect; -import org.aspectj.lang.annotation.Pointcut; -import org.aspectj.lang.reflect.MethodSignature; -import org.springframework.stereotype.Component; -import com.hrt.common.security.annotation.RequiresLogin; -import com.hrt.common.security.annotation.RequiresPermissions; -import com.hrt.common.security.annotation.RequiresRoles; - -/** - * 基于 Spring Aop 的注解鉴权 - * - * @author kong - */ -@Aspect -@Component -public class PreAuthorizeAspect -{ - /** - * 构建 - */ - public PreAuthorizeAspect() - { - } - - /** - * 定义AOP签名 (切入所有使用鉴权注解的方法) - */ - public static final String POINTCUT_SIGN = " @annotation(com.hrt.common.security.annotation.RequiresLogin) || " - + "@annotation(com.hrt.common.security.annotation.RequiresPermissions) || " - + "@annotation(com.hrt.common.security.annotation.RequiresRoles)"; - - /** - * 声明AOP签名 - */ - @Pointcut(POINTCUT_SIGN) - public void pointcut() - { - } - - /** - * 环绕切入 - * - * @param joinPoint 切面对象 - * @return 底层方法执行后的返回值 - * @throws Throwable 底层方法抛出的异常 - */ - @Around("pointcut()") - public Object around(ProceedingJoinPoint joinPoint) throws Throwable - { - // 注解鉴权 - MethodSignature signature = (MethodSignature) joinPoint.getSignature(); - checkMethodAnnotation(signature.getMethod()); - try - { - // 执行原有逻辑 - Object obj = joinPoint.proceed(); - return obj; - } - catch (Throwable e) - { - throw e; - } - } - - /** - * 对一个Method对象进行注解检查 - */ - public void checkMethodAnnotation(Method method) - { - // 校验 @RequiresLogin 注解 - RequiresLogin requiresLogin = method.getAnnotation(RequiresLogin.class); - if (requiresLogin != null) - { - AuthUtil.checkLogin(); - } - - // 校验 @RequiresRoles 注解 - RequiresRoles requiresRoles = method.getAnnotation(RequiresRoles.class); - if (requiresRoles != null) - { - AuthUtil.checkRole(requiresRoles); - } - - // 校验 @RequiresPermissions 注解 - RequiresPermissions requiresPermissions = method.getAnnotation(RequiresPermissions.class); - if (requiresPermissions != null) - { - AuthUtil.checkPermi(requiresPermissions); - } - } -} diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/auth/AuthLogic.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/auth/AuthLogic.java deleted file mode 100644 index 3c1f4be..0000000 --- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/auth/AuthLogic.java +++ /dev/null @@ -1,373 +0,0 @@ -package com.hrt.common.security.auth; - -import java.util.Collection; -import java.util.HashSet; -import java.util.Set; -import org.springframework.util.PatternMatchUtils; -import com.hrt.common.core.context.SecurityContextHolder; -import com.hrt.common.core.exception.auth.NotLoginException; -import com.hrt.common.core.exception.auth.NotPermissionException; -import com.hrt.common.core.exception.auth.NotRoleException; -import com.hrt.common.core.utils.SpringUtils; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.common.security.annotation.Logical; -import com.hrt.common.security.annotation.RequiresLogin; -import com.hrt.common.security.annotation.RequiresPermissions; -import com.hrt.common.security.annotation.RequiresRoles; -import com.hrt.common.security.service.TokenService; -import com.hrt.common.security.utils.SecurityUtils; -import com.hrt.system.api.model.LoginUser; - -/** - * Token 权限验证,逻辑实现类 - * - * @author jqs - */ -public class AuthLogic -{ - /** 所有权限标识 */ - private static final String ALL_PERMISSION = "*:*:*"; - - /** 管理员角色权限标识 */ - private static final String SUPER_ADMIN = "admin"; - - public TokenService tokenService = SpringUtils.getBean(TokenService.class); - - /** - * 会话注销 - */ - public void logout() - { - String token = SecurityUtils.getToken(); - if (token == null) - { - return; - } - logoutByToken(token); - } - - /** - * 会话注销,根据指定Token - */ - public void logoutByToken(String token) - { - tokenService.delLoginUser(token); - } - - /** - * 检验用户是否已经登录,如未登录,则抛出异常 - */ - public void checkLogin() - { - getLoginUser(); - } - - /** - * 获取当前用户缓存信息, 如果未登录,则抛出异常 - * - * @return 用户缓存信息 - */ - public LoginUser getLoginUser() - { - String token = SecurityUtils.getToken(); - if (token == null) - { - throw new NotLoginException("未提供token"); - } - LoginUser loginUser = SecurityUtils.getLoginUser(); - if (loginUser == null) - { - throw new NotLoginException("无效的token"); - } - return loginUser; - } - - /** - * 获取当前用户缓存信息, 如果未登录,则抛出异常 - * - * @param token 前端传递的认证信息 - * @return 用户缓存信息 - */ - public LoginUser getLoginUser(String token) - { - return tokenService.getLoginUser(token); - } - - /** - * 验证当前用户有效期, 如果相差不足120分钟,自动刷新缓存 - * - * @param loginUser 当前用户信息 - */ - public void verifyLoginUserExpire(LoginUser loginUser) - { - tokenService.verifyToken(loginUser); - } - - /** - * 验证用户是否具备某权限 - * - * @param permission 权限字符串 - * @return 用户是否具备某权限 - */ - public boolean hasPermi(String permission) - { - return hasPermi(getPermiList(), permission); - } - - /** - * 验证用户是否具备某权限, 如果验证未通过,则抛出异常: NotPermissionException - * - * @param permission 权限字符串 - * @return 用户是否具备某权限 - */ - public void checkPermi(String permission) - { - if (!hasPermi(getPermiList(), permission)) - { - throw new NotPermissionException(permission); - } - } - - /** - * 根据注解(@RequiresPermissions)鉴权, 如果验证未通过,则抛出异常: NotPermissionException - * - * @param requiresPermissions 注解对象 - */ - public void checkPermi(RequiresPermissions requiresPermissions) - { - SecurityContextHolder.setPermission(StringUtils.join(requiresPermissions.value(), ",")); - if (requiresPermissions.logical() == Logical.AND) - { - checkPermiAnd(requiresPermissions.value()); - } - else - { - checkPermiOr(requiresPermissions.value()); - } - } - - /** - * 验证用户是否含有指定权限,必须全部拥有 - * - * @param permissions 权限列表 - */ - public void checkPermiAnd(String... permissions) - { - Set<String> permissionList = getPermiList(); - for (String permission : permissions) - { - if (!hasPermi(permissionList, permission)) - { - throw new NotPermissionException(permission); - } - } - } - - /** - * 验证用户是否含有指定权限,只需包含其中一个 - * - * @param permissions 权限码数组 - */ - public void checkPermiOr(String... permissions) - { - Set<String> permissionList = getPermiList(); - for (String permission : permissions) - { - if (hasPermi(permissionList, permission)) - { - return; - } - } - if (permissions.length > 0) - { - throw new NotPermissionException(permissions); - } - } - - /** - * 判断用户是否拥有某个角色 - * - * @param role 角色标识 - * @return 用户是否具备某角色 - */ - public boolean hasRole(String role) - { - return hasRole(getRoleList(), role); - } - - /** - * 判断用户是否拥有某个角色, 如果验证未通过,则抛出异常: NotRoleException - * - * @param role 角色标识 - */ - public void checkRole(String role) - { - if (!hasRole(role)) - { - throw new NotRoleException(role); - } - } - - /** - * 根据注解(@RequiresRoles)鉴权 - * - * @param requiresRoles 注解对象 - */ - public void checkRole(RequiresRoles requiresRoles) - { - if (requiresRoles.logical() == Logical.AND) - { - checkRoleAnd(requiresRoles.value()); - } - else - { - checkRoleOr(requiresRoles.value()); - } - } - - /** - * 验证用户是否含有指定角色,必须全部拥有 - * - * @param roles 角色标识数组 - */ - public void checkRoleAnd(String... roles) - { - Set<String> roleList = getRoleList(); - for (String role : roles) - { - if (!hasRole(roleList, role)) - { - throw new NotRoleException(role); - } - } - } - - /** - * 验证用户是否含有指定角色,只需包含其中一个 - * - * @param roles 角色标识数组 - */ - public void checkRoleOr(String... roles) - { - Set<String> roleList = getRoleList(); - for (String role : roles) - { - if (hasRole(roleList, role)) - { - return; - } - } - if (roles.length > 0) - { - throw new NotRoleException(roles); - } - } - - /** - * 根据注解(@RequiresLogin)鉴权 - * - * @param at 注解对象 - */ - public void checkByAnnotation(RequiresLogin at) - { - this.checkLogin(); - } - - /** - * 根据注解(@RequiresRoles)鉴权 - * - * @param at 注解对象 - */ - public void checkByAnnotation(RequiresRoles at) - { - String[] roleArray = at.value(); - if (at.logical() == Logical.AND) - { - this.checkRoleAnd(roleArray); - } - else - { - this.checkRoleOr(roleArray); - } - } - - /** - * 根据注解(@RequiresPermissions)鉴权 - * - * @param at 注解对象 - */ - public void checkByAnnotation(RequiresPermissions at) - { - String[] permissionArray = at.value(); - if (at.logical() == Logical.AND) - { - this.checkPermiAnd(permissionArray); - } - else - { - this.checkPermiOr(permissionArray); - } - } - - /** - * 获取当前账号的角色列表 - * - * @return 角色列表 - */ - public Set<String> getRoleList() - { - try - { - LoginUser loginUser = getLoginUser(); - return loginUser.getRoles(); - } - catch (Exception e) - { - return new HashSet<>(); - } - } - - /** - * 获取当前账号的权限列表 - * - * @return 权限列表 - */ - public Set<String> getPermiList() - { - try - { - LoginUser loginUser = getLoginUser(); - return loginUser.getPermissions(); - } - catch (Exception e) - { - return new HashSet<>(); - } - } - - /** - * 判断是否包含权限 - * - * @param authorities 权限列表 - * @param permission 权限字符串 - * @return 用户是否具备某权限 - */ - public boolean hasPermi(Collection<String> authorities, String permission) - { - return authorities.stream().filter(StringUtils::hasText) - .anyMatch(x -> ALL_PERMISSION.contains(x) || PatternMatchUtils.simpleMatch(x, permission)); - } - - /** - * 判断是否包含角色 - * - * @param roles 角色列表 - * @param role 角色 - * @return 用户是否具备某角色权限 - */ - public boolean hasRole(Collection<String> roles, String role) - { - return roles.stream().filter(StringUtils::hasText) - .anyMatch(x -> SUPER_ADMIN.contains(x) || PatternMatchUtils.simpleMatch(x, role)); - } -} diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/auth/AuthUtil.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/auth/AuthUtil.java deleted file mode 100644 index c7c1ba7..0000000 --- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/auth/AuthUtil.java +++ /dev/null @@ -1,167 +0,0 @@ -package com.hrt.common.security.auth; - -import com.hrt.common.security.annotation.RequiresPermissions; -import com.hrt.common.security.annotation.RequiresRoles; -import com.hrt.system.api.model.LoginUser; - -/** - * Token 权限验证工具类 - * - * @author jqs - */ -public class AuthUtil -{ - /** - * 底层的 AuthLogic 对象 - */ - public static AuthLogic authLogic = new AuthLogic(); - - /** - * 会话注销 - */ - public static void logout() - { - authLogic.logout(); - } - - /** - * 会话注销,根据指定Token - * - * @param token 指定token - */ - public static void logoutByToken(String token) - { - authLogic.logoutByToken(token); - } - - /** - * 检验当前会话是否已经登录,如未登录,则抛出异常 - */ - public static void checkLogin() - { - authLogic.checkLogin(); - } - - /** - * 获取当前登录用户信息 - * - * @param token 指定token - * @return 用户信息 - */ - public static LoginUser getLoginUser(String token) - { - return authLogic.getLoginUser(token); - } - - /** - * 验证当前用户有效期 - * - * @param loginUser 用户信息 - */ - public static void verifyLoginUserExpire(LoginUser loginUser) - { - authLogic.verifyLoginUserExpire(loginUser); - } - - /** - * 当前账号是否含有指定角色标识, 返回true或false - * - * @param role 角色标识 - * @return 是否含有指定角色标识 - */ - public static boolean hasRole(String role) - { - return authLogic.hasRole(role); - } - - /** - * 当前账号是否含有指定角色标识, 如果验证未通过,则抛出异常: NotRoleException - * - * @param role 角色标识 - */ - public static void checkRole(String role) - { - authLogic.checkRole(role); - } - - /** - * 根据注解传入参数鉴权, 如果验证未通过,则抛出异常: NotRoleException - * - * @param requiresRoles 角色权限注解 - */ - public static void checkRole(RequiresRoles requiresRoles) - { - authLogic.checkRole(requiresRoles); - } - - /** - * 当前账号是否含有指定角色标识 [指定多个,必须全部验证通过] - * - * @param roles 角色标识数组 - */ - public static void checkRoleAnd(String... roles) - { - authLogic.checkRoleAnd(roles); - } - - /** - * 当前账号是否含有指定角色标识 [指定多个,只要其一验证通过即可] - * - * @param roles 角色标识数组 - */ - public static void checkRoleOr(String... roles) - { - authLogic.checkRoleOr(roles); - } - - /** - * 当前账号是否含有指定权限, 返回true或false - * - * @param permission 权限码 - * @return 是否含有指定权限 - */ - public static boolean hasPermi(String permission) - { - return authLogic.hasPermi(permission); - } - - /** - * 当前账号是否含有指定权限, 如果验证未通过,则抛出异常: NotPermissionException - * - * @param permission 权限码 - */ - public static void checkPermi(String permission) - { - authLogic.checkPermi(permission); - } - - /** - * 根据注解传入参数鉴权, 如果验证未通过,则抛出异常: NotPermissionException - * - * @param requiresPermissions 权限注解 - */ - public static void checkPermi(RequiresPermissions requiresPermissions) - { - authLogic.checkPermi(requiresPermissions); - } - - /** - * 当前账号是否含有指定权限 [指定多个,必须全部验证通过] - * - * @param permissions 权限码数组 - */ - public static void checkPermiAnd(String... permissions) - { - authLogic.checkPermiAnd(permissions); - } - - /** - * 当前账号是否含有指定权限 [指定多个,只要其一验证通过即可] - * - * @param permissions 权限码数组 - */ - public static void checkPermiOr(String... permissions) - { - authLogic.checkPermiOr(permissions); - } -} diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/config/ApplicationConfig.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/config/ApplicationConfig.java deleted file mode 100644 index a3ac9b7..0000000 --- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/config/ApplicationConfig.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.hrt.common.security.config; - -import java.util.TimeZone; -import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer; -import org.springframework.context.annotation.Bean; - -/** - * 系统配置 - * - * @author jqs - */ -public class ApplicationConfig -{ - /** - * 时区配置 - */ - @Bean - public Jackson2ObjectMapperBuilderCustomizer jacksonObjectMapperCustomization() - { - return jacksonObjectMapperBuilder -> jacksonObjectMapperBuilder.timeZone(TimeZone.getDefault()); - } -} diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/config/WebMvcConfig.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/config/WebMvcConfig.java deleted file mode 100644 index 4b00aac..0000000 --- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/config/WebMvcConfig.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.hrt.common.security.config; - -import org.springframework.web.servlet.config.annotation.InterceptorRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; -import com.hrt.common.security.interceptor.HeaderInterceptor; - -/** - * 拦截器配置 - * - * @author jqs - */ -public class WebMvcConfig implements WebMvcConfigurer -{ - /** 不需要拦截地址 */ - public static final String[] excludeUrls = { "/login", "/logout", "/refresh" }; - - @Override - public void addInterceptors(InterceptorRegistry registry) - { - registry.addInterceptor(getHeaderInterceptor()) - .addPathPatterns("/**") - .excludePathPatterns(excludeUrls) - .order(-10); - } - - /** - * 自定义请求头拦截器 - */ - public HeaderInterceptor getHeaderInterceptor() - { - return new HeaderInterceptor(); - } -} diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/feign/FeignAutoConfiguration.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/feign/FeignAutoConfiguration.java deleted file mode 100644 index 5050b66..0000000 --- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/feign/FeignAutoConfiguration.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.hrt.common.security.feign; - -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import feign.RequestInterceptor; - -/** - * Feign 配置注册 - * - * @author jqs - **/ -@Configuration -public class FeignAutoConfiguration -{ - @Bean - public RequestInterceptor requestInterceptor() - { - return new FeignRequestInterceptor(); - } -} diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/feign/FeignRequestInterceptor.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/feign/FeignRequestInterceptor.java deleted file mode 100644 index 8a0a13b..0000000 --- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/feign/FeignRequestInterceptor.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.hrt.common.security.feign; - -import java.util.Map; -import javax.servlet.http.HttpServletRequest; -import org.springframework.stereotype.Component; -import com.hrt.common.core.constant.SecurityConstants; -import com.hrt.common.core.utils.ServletUtils; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.common.core.utils.ip.IpUtils; -import feign.RequestInterceptor; -import feign.RequestTemplate; - -/** - * feign 请求拦截器 - * - * @author jqs - */ -@Component -public class FeignRequestInterceptor implements RequestInterceptor -{ - @Override - public void apply(RequestTemplate requestTemplate) - { - HttpServletRequest httpServletRequest = ServletUtils.getRequest(); - if (StringUtils.isNotNull(httpServletRequest)) - { - Map<String, String> headers = ServletUtils.getHeaders(httpServletRequest); - // 传递用户信息请求头,防止丢失 - String userId = headers.get(SecurityConstants.DETAILS_USER_ID); - if (StringUtils.isNotEmpty(userId)) - { - requestTemplate.header(SecurityConstants.DETAILS_USER_ID, userId); - } - String userKey = headers.get(SecurityConstants.USER_KEY); - if (StringUtils.isNotEmpty(userKey)) - { - requestTemplate.header(SecurityConstants.USER_KEY, userKey); - } - String userName = headers.get(SecurityConstants.DETAILS_USERNAME); - if (StringUtils.isNotEmpty(userName)) - { - requestTemplate.header(SecurityConstants.DETAILS_USERNAME, userName); - } - String authentication = headers.get(SecurityConstants.AUTHORIZATION_HEADER); - if (StringUtils.isNotEmpty(authentication)) - { - requestTemplate.header(SecurityConstants.AUTHORIZATION_HEADER, authentication); - } - - // 配置客户端IP - requestTemplate.header("X-Forwarded-For", IpUtils.getIpAddr()); - } - } -} \ No newline at end of file diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/handler/GlobalExceptionHandler.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/handler/GlobalExceptionHandler.java deleted file mode 100644 index 982fbb2..0000000 --- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/handler/GlobalExceptionHandler.java +++ /dev/null @@ -1,136 +0,0 @@ -package com.hrt.common.security.handler; - -import javax.servlet.http.HttpServletRequest; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.validation.BindException; -import org.springframework.web.HttpRequestMethodNotSupportedException; -import org.springframework.web.bind.MethodArgumentNotValidException; -import org.springframework.web.bind.annotation.ExceptionHandler; -import org.springframework.web.bind.annotation.RestControllerAdvice; -import com.hrt.common.core.constant.HttpStatus; -import com.hrt.common.core.exception.DemoModeException; -import com.hrt.common.core.exception.InnerAuthException; -import com.hrt.common.core.exception.ServiceException; -import com.hrt.common.core.exception.auth.NotPermissionException; -import com.hrt.common.core.exception.auth.NotRoleException; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.common.core.web.domain.AjaxResult; - -/** - * 全局异常处理器 - * - * @author jqs - */ -@RestControllerAdvice -public class GlobalExceptionHandler -{ - private static final Logger log = LoggerFactory.getLogger(GlobalExceptionHandler.class); - - /** - * 权限码异常 - */ - @ExceptionHandler(NotPermissionException.class) - public AjaxResult handleNotPermissionException(NotPermissionException e, HttpServletRequest request) - { - String requestURI = request.getRequestURI(); - log.error("请求地址'{}',权限码校验失败'{}'", requestURI, e.getMessage()); - return AjaxResult.error(HttpStatus.FORBIDDEN, "没有访问权限,请联系管理员授权"); - } - - /** - * 角色权限异常 - */ - @ExceptionHandler(NotRoleException.class) - public AjaxResult handleNotRoleException(NotRoleException e, HttpServletRequest request) - { - String requestURI = request.getRequestURI(); - log.error("请求地址'{}',角色权限校验失败'{}'", requestURI, e.getMessage()); - return AjaxResult.error(HttpStatus.FORBIDDEN, "没有访问权限,请联系管理员授权"); - } - - /** - * 请求方式不支持 - */ - @ExceptionHandler(HttpRequestMethodNotSupportedException.class) - public AjaxResult handleHttpRequestMethodNotSupported(HttpRequestMethodNotSupportedException e, - HttpServletRequest request) - { - String requestURI = request.getRequestURI(); - log.error("请求地址'{}',不支持'{}'请求", requestURI, e.getMethod()); - return AjaxResult.error(e.getMessage()); - } - - /** - * 业务异常 - */ - @ExceptionHandler(ServiceException.class) - public AjaxResult handleServiceException(ServiceException e, HttpServletRequest request) - { - log.error(e.getMessage(), e); - Integer code = e.getCode(); - return StringUtils.isNotNull(code) ? AjaxResult.error(code, e.getMessage()) : AjaxResult.error(e.getMessage()); - } - - /** - * 拦截未知的运行时异常 - */ - @ExceptionHandler(RuntimeException.class) - public AjaxResult handleRuntimeException(RuntimeException e, HttpServletRequest request) - { - String requestURI = request.getRequestURI(); - log.error("请求地址'{}',发生未知异常.", requestURI, e); - return AjaxResult.error(e.getMessage()); - } - - /** - * 系统异常 - */ - @ExceptionHandler(Exception.class) - public AjaxResult handleException(Exception e, HttpServletRequest request) - { - String requestURI = request.getRequestURI(); - log.error("请求地址'{}',发生系统异常.", requestURI, e); - return AjaxResult.error(e.getMessage()); - } - - /** - * 自定义验证异常 - */ - @ExceptionHandler(BindException.class) - public AjaxResult handleBindException(BindException e) - { - log.error(e.getMessage(), e); - String message = e.getAllErrors().get(0).getDefaultMessage(); - return AjaxResult.error(message); - } - - /** - * 自定义验证异常 - */ - @ExceptionHandler(MethodArgumentNotValidException.class) - public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException e) - { - log.error(e.getMessage(), e); - String message = e.getBindingResult().getFieldError().getDefaultMessage(); - return AjaxResult.error(message); - } - - /** - * 内部认证异常 - */ - @ExceptionHandler(InnerAuthException.class) - public AjaxResult handleInnerAuthException(InnerAuthException e) - { - return AjaxResult.error(e.getMessage()); - } - - /** - * 演示模式异常 - */ - @ExceptionHandler(DemoModeException.class) - public AjaxResult handleDemoModeException(DemoModeException e) - { - return AjaxResult.error("演示模式,不允许操作"); - } -} diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/interceptor/HeaderInterceptor.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/interceptor/HeaderInterceptor.java deleted file mode 100644 index b7b953e..0000000 --- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/interceptor/HeaderInterceptor.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.hrt.common.security.interceptor; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import com.hrt.common.security.auth.AuthUtil; -import com.hrt.common.security.utils.SecurityUtils; -import org.springframework.web.method.HandlerMethod; -import org.springframework.web.servlet.AsyncHandlerInterceptor; -import com.hrt.common.core.constant.SecurityConstants; -import com.hrt.common.core.context.SecurityContextHolder; -import com.hrt.common.core.utils.ServletUtils; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.system.api.model.LoginUser; - -/** - * 自定义请求头拦截器,将Header数据封装到线程变量中方便获取 - * 注意:此拦截器会同时验证当前用户有效期自动刷新有效期 - * - * @author jqs - */ -public class HeaderInterceptor implements AsyncHandlerInterceptor -{ - @Override - public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception - { - if (!(handler instanceof HandlerMethod)) - { - return true; - } - - SecurityContextHolder.setUserId(ServletUtils.getHeader(request, SecurityConstants.DETAILS_USER_ID)); - SecurityContextHolder.setUserName(ServletUtils.getHeader(request, SecurityConstants.DETAILS_USERNAME)); - SecurityContextHolder.setUserKey(ServletUtils.getHeader(request, SecurityConstants.USER_KEY)); - - String token = SecurityUtils.getToken(); - if (StringUtils.isNotEmpty(token)) - { - LoginUser loginUser = AuthUtil.getLoginUser(token); - if (StringUtils.isNotNull(loginUser)) - { - AuthUtil.verifyLoginUserExpire(loginUser); - SecurityContextHolder.set(SecurityConstants.LOGIN_USER, loginUser); - } - } - return true; - } - - @Override - public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) - throws Exception - { - SecurityContextHolder.remove(); - } -} diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/service/TokenService.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/service/TokenService.java deleted file mode 100644 index e1035e2..0000000 --- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/service/TokenService.java +++ /dev/null @@ -1,201 +0,0 @@ -package com.hrt.common.security.service; - -import java.util.HashMap; -import java.util.Map; -import java.util.concurrent.TimeUnit; -import javax.servlet.http.HttpServletRequest; - -import com.hrt.common.security.utils.SecurityUtils; -import com.hrt.system.api.model.AppMiniLoginVo; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; -import com.hrt.common.core.constant.CacheConstants; -import com.hrt.common.core.constant.SecurityConstants; -import com.hrt.common.core.utils.JwtUtils; -import com.hrt.common.core.utils.ServletUtils; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.common.core.utils.ip.IpUtils; -import com.hrt.common.core.utils.uuid.IdUtils; -import com.hrt.common.redis.service.RedisService; -import com.hrt.system.api.model.LoginUser; - -/** - * token验证处理 - * - * @author jqs - */ -@Component -public class TokenService -{ - @Autowired - private RedisService redisService; - - protected static final long MILLIS_SECOND = 1000; - - protected static final long MILLIS_MINUTE = 60 * MILLIS_SECOND; - - private final static long expireTime = CacheConstants.EXPIRATION; - - private final static String ACCESS_TOKEN = CacheConstants.LOGIN_TOKEN_KEY; - - private final static Long MILLIS_MINUTE_TEN = CacheConstants.REFRESH_TIME * MILLIS_MINUTE; - - /** - * 创建令牌 - */ - public Map<String, Object> createToken(LoginUser loginUser) - { - String token = IdUtils.fastUUID(); - Long userId = loginUser.getSysUser().getUserId(); - String userName = loginUser.getSysUser().getUserName(); - loginUser.setToken(token); - loginUser.setUserid(userId); - loginUser.setUsername(userName); - loginUser.setIpaddr(IpUtils.getIpAddr()); - refreshToken(loginUser); - - // Jwt存储信息 - Map<String, Object> claimsMap = new HashMap<String, Object>(); - claimsMap.put(SecurityConstants.USER_KEY, token); - claimsMap.put(SecurityConstants.DETAILS_USER_ID, userId); - claimsMap.put(SecurityConstants.DETAILS_USERNAME, userName); - - // 接口返回信息 - Map<String, Object> rspMap = new HashMap<String, Object>(); - rspMap.put("access_token", JwtUtils.createToken(claimsMap)); - rspMap.put("expires_in", expireTime); - return rspMap; - } - - /** - * 创建小程序令牌 - */ - public Map<String, Object> createMiniToken(AppMiniLoginVo appMiniLoginVo) - { - LoginUser loginUser = new LoginUser(); - loginUser.setSysUser(appMiniLoginVo.getSysUser()); - String token = IdUtils.fastUUID(); - Long userId = loginUser.getSysUser().getUserId(); - String userName = loginUser.getSysUser().getUserName(); - loginUser.setToken(token); - loginUser.setUserid(userId); - loginUser.setUsername(userName); - loginUser.setIpaddr(IpUtils.getIpAddr()); - refreshToken(loginUser); - - // Jwt存储信息 - Map<String, Object> claimsMap = new HashMap<String, Object>(); - claimsMap.put(SecurityConstants.USER_KEY, token); - claimsMap.put(SecurityConstants.DETAILS_USER_ID, userId); - claimsMap.put(SecurityConstants.DETAILS_USERNAME, userName); - - // 接口返回信息 - Map<String, Object> rspMap = new HashMap<String, Object>(); - rspMap.put("access_token", JwtUtils.createToken(claimsMap)); - rspMap.put("expires_in", expireTime); - rspMap.put("mini_openid", appMiniLoginVo.getMiniOpenid()); - return rspMap; - } - - /** - * 获取用户身份信息 - * - * @return 用户信息 - */ - public LoginUser getLoginUser() - { - return getLoginUser(ServletUtils.getRequest()); - } - - /** - * 获取用户身份信息 - * - * @return 用户信息 - */ - public LoginUser getLoginUser(HttpServletRequest request) - { - // 获取请求携带的令牌 - String token = SecurityUtils.getToken(request); - return getLoginUser(token); - } - - /** - * 获取用户身份信息 - * - * @return 用户信息 - */ - public LoginUser getLoginUser(String token) - { - LoginUser user = null; - try - { - if (StringUtils.isNotEmpty(token)) - { - String userkey = JwtUtils.getUserKey(token); - user = redisService.getCacheObject(getTokenKey(userkey)); - return user; - } - } - catch (Exception e) - { - } - return user; - } - - /** - * 设置用户身份信息 - */ - public void setLoginUser(LoginUser loginUser) - { - if (StringUtils.isNotNull(loginUser) && StringUtils.isNotEmpty(loginUser.getToken())) - { - refreshToken(loginUser); - } - } - - /** - * 删除用户缓存信息 - */ - public void delLoginUser(String token) - { - if (StringUtils.isNotEmpty(token)) - { - String userkey = JwtUtils.getUserKey(token); - redisService.deleteObject(getTokenKey(userkey)); - } - } - - /** - * 验证令牌有效期,相差不足120分钟,自动刷新缓存 - * - * @param loginUser - */ - public void verifyToken(LoginUser loginUser) - { - long expireTime = loginUser.getExpireTime(); - long currentTime = System.currentTimeMillis(); - if (expireTime - currentTime <= MILLIS_MINUTE_TEN) - { - refreshToken(loginUser); - } - } - - /** - * 刷新令牌有效期 - * - * @param loginUser 登录信息 - */ - public void refreshToken(LoginUser loginUser) - { - loginUser.setLoginTime(System.currentTimeMillis()); - loginUser.setExpireTime(loginUser.getLoginTime() + expireTime * MILLIS_MINUTE); - // 根据uuid将loginUser缓存 - String userKey = getTokenKey(loginUser.getToken()); - redisService.setCacheObject(userKey, loginUser, expireTime, TimeUnit.MINUTES); - } - - private String getTokenKey(String token) - { - return ACCESS_TOKEN + token; - } -} \ No newline at end of file diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/utils/DictUtils.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/utils/DictUtils.java deleted file mode 100644 index 8a2764c..0000000 --- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/utils/DictUtils.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.hrt.common.security.utils; - -import java.util.Collection; -import java.util.List; -import com.alibaba.fastjson2.JSONArray; -import com.hrt.common.core.constant.CacheConstants; -import com.hrt.common.core.utils.SpringUtils; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.common.redis.service.RedisService; -import com.hrt.system.api.domain.SysDictData; - -/** - * 字典工具类 - * - * @author jqs - */ -public class DictUtils -{ - /** - * 设置字典缓存 - * - * @param key 参数键 - * @param dictDatas 字典数据列表 - */ - public static void setDictCache(String key, List<SysDictData> dictDatas) - { - SpringUtils.getBean(RedisService.class).setCacheObject(getCacheKey(key), dictDatas); - } - - /** - * 获取字典缓存 - * - * @param key 参数键 - * @return dictDatas 字典数据列表 - */ - public static List<SysDictData> getDictCache(String key) - { - JSONArray arrayCache = SpringUtils.getBean(RedisService.class).getCacheObject(getCacheKey(key)); - if (StringUtils.isNotNull(arrayCache)) - { - return arrayCache.toList(SysDictData.class); - } - return null; - } - - /** - * 删除指定字典缓存 - * - * @param key 字典键 - */ - public static void removeDictCache(String key) - { - SpringUtils.getBean(RedisService.class).deleteObject(getCacheKey(key)); - } - - /** - * 清空字典缓存 - */ - public static void clearDictCache() - { - Collection<String> keys = SpringUtils.getBean(RedisService.class).keys(CacheConstants.SYS_DICT_KEY + "*"); - SpringUtils.getBean(RedisService.class).deleteObject(keys); - } - - /** - * 设置cache key - * - * @param configKey 参数键 - * @return 缓存键key - */ - public static String getCacheKey(String configKey) - { - return CacheConstants.SYS_DICT_KEY + configKey; - } -} diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/utils/SecurityUtils.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/utils/SecurityUtils.java deleted file mode 100644 index 3366ddf..0000000 --- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/utils/SecurityUtils.java +++ /dev/null @@ -1,117 +0,0 @@ -package com.hrt.common.security.utils; - -import javax.servlet.http.HttpServletRequest; -import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; -import com.hrt.common.core.constant.SecurityConstants; -import com.hrt.common.core.constant.TokenConstants; -import com.hrt.common.core.context.SecurityContextHolder; -import com.hrt.common.core.utils.ServletUtils; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.system.api.model.LoginUser; - -/** - * 权限获取工具类 - * - * @author jqs - */ -public class SecurityUtils -{ - /** - * 获取用户ID - */ - public static Long getUserId() - { - return SecurityContextHolder.getUserId(); - } - - /** - * 获取用户名称 - */ - public static String getUsername() - { - return SecurityContextHolder.getUserName(); - } - - /** - * 获取用户key - */ - public static String getUserKey() - { - return SecurityContextHolder.getUserKey(); - } - - /** - * 获取登录用户信息 - */ - public static LoginUser getLoginUser() - { - return SecurityContextHolder.get(SecurityConstants.LOGIN_USER, LoginUser.class); - } - - /** - * 获取请求token - */ - public static String getToken() - { - return getToken(ServletUtils.getRequest()); - } - - /** - * 根据request获取请求token - */ - public static String getToken(HttpServletRequest request) - { - // 从header获取token标识 - String token = request.getHeader(TokenConstants.AUTHENTICATION); - return replaceTokenPrefix(token); - } - - /** - * 裁剪token前缀 - */ - public static String replaceTokenPrefix(String token) - { - // 如果前端设置了令牌前缀,则裁剪掉前缀 - if (StringUtils.isNotEmpty(token) && token.startsWith(TokenConstants.PREFIX)) - { - token = token.replaceFirst(TokenConstants.PREFIX, ""); - } - return token; - } - - /** - * 是否为管理员 - * - * @param userId 用户ID - * @return 结果 - */ - public static boolean isAdmin(Long userId) - { - return userId != null && 1L == userId; - } - - /** - * 生成BCryptPasswordEncoder密码 - * - * @param password 密码 - * @return 加密字符串 - */ - public static String encryptPassword(String password) - { - BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); - return passwordEncoder.encode(password); - } - - /** - * 判断密码是否相同 - * - * @param rawPassword 真实密码 - * @param encodedPassword 加密后字符 - * @return 结果 - */ - public static boolean matchesPassword(String rawPassword, String encodedPassword) - { - BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); - return passwordEncoder.matches(rawPassword, encodedPassword); - } -} diff --git a/hrt-common/hrt-common-security/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/hrt-common/hrt-common-security/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports deleted file mode 100644 index 1df20f2..0000000 --- a/hrt-common/hrt-common-security/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ /dev/null @@ -1,5 +0,0 @@ -com.hrt.common.security.config.WebMvcConfig -com.hrt.common.security.service.TokenService -com.hrt.common.security.aspect.PreAuthorizeAspect -com.hrt.common.security.aspect.InnerAuthAspect -com.hrt.common.security.handler.GlobalExceptionHandler diff --git a/hrt-common/hrt-common-swagger/pom.xml b/hrt-common/hrt-common-swagger/pom.xml deleted file mode 100644 index 03f7ba5..0000000 --- a/hrt-common/hrt-common-swagger/pom.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns="http://maven.apache.org/POM/4.0.0" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <parent> - <groupId>com.hrt</groupId> - <artifactId>hrt-common</artifactId> - <version>3.6.2</version> - </parent> - <modelVersion>4.0.0</modelVersion> - - <artifactId>hrt-common-swagger</artifactId> - - <description> - hrt-common-swagger系统接口 - </description> - - <dependencies> - - <!-- SpringBoot Web --> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-web</artifactId> - </dependency> - - <!-- Swagger --> - <dependency> - <groupId>io.springfox</groupId> - <artifactId>springfox-swagger2</artifactId> - <version>${swagger.fox.version}</version> - </dependency> - - </dependencies> -</project> diff --git a/hrt-common/hrt-common-swagger/src/main/java/com/hrt/common/swagger/annotation/EnableCustomSwagger2.java b/hrt-common/hrt-common-swagger/src/main/java/com/hrt/common/swagger/annotation/EnableCustomSwagger2.java deleted file mode 100644 index 3de49ad..0000000 --- a/hrt-common/hrt-common-swagger/src/main/java/com/hrt/common/swagger/annotation/EnableCustomSwagger2.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.hrt.common.swagger.annotation; - -import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; -import java.lang.annotation.Inherited; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -import com.hrt.common.swagger.config.SwaggerAutoConfiguration; -import org.springframework.context.annotation.Import; - -@Target({ ElementType.TYPE }) -@Retention(RetentionPolicy.RUNTIME) -@Documented -@Inherited -@Import({ SwaggerAutoConfiguration.class }) -public @interface EnableCustomSwagger2 -{ - -} diff --git a/hrt-common/hrt-common-swagger/src/main/java/com/hrt/common/swagger/config/SwaggerAutoConfiguration.java b/hrt-common/hrt-common-swagger/src/main/java/com/hrt/common/swagger/config/SwaggerAutoConfiguration.java deleted file mode 100644 index 46b3f56..0000000 --- a/hrt-common/hrt-common-swagger/src/main/java/com/hrt/common/swagger/config/SwaggerAutoConfiguration.java +++ /dev/null @@ -1,128 +0,0 @@ -package com.hrt.common.swagger.config; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.function.Predicate; - -import io.swagger.annotations.ApiOperation; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Import; -import org.springframework.web.bind.annotation.RestController; -import springfox.documentation.builders.ApiInfoBuilder; -import springfox.documentation.builders.PathSelectors; -import springfox.documentation.builders.RequestHandlerSelectors; -import springfox.documentation.service.ApiInfo; -import springfox.documentation.service.ApiKey; -import springfox.documentation.service.AuthorizationScope; -import springfox.documentation.service.Contact; -import springfox.documentation.service.SecurityReference; -import springfox.documentation.service.SecurityScheme; -import springfox.documentation.spi.DocumentationType; -import springfox.documentation.spi.service.contexts.SecurityContext; -import springfox.documentation.spring.web.plugins.ApiSelectorBuilder; -import springfox.documentation.spring.web.plugins.Docket; -import springfox.documentation.swagger2.annotations.EnableSwagger2; - -@Configuration -@EnableSwagger2 -@EnableConfigurationProperties(SwaggerProperties.class) -@ConditionalOnProperty(name = "swagger.enabled", matchIfMissing = true) -@Import({SwaggerBeanPostProcessor.class, SwaggerWebConfiguration.class}) -public class SwaggerAutoConfiguration -{ - /** - * 默认的排除路径,排除Spring Boot默认的错误处理路径和端点 - */ - private static final List<String> DEFAULT_EXCLUDE_PATH = Arrays.asList("/error", "/actuator/**"); - - private static final String BASE_PATH = "/**"; - - @Bean - public Docket api(SwaggerProperties swaggerProperties) - { - // base-path处理 - if (swaggerProperties.getBasePath().isEmpty()) - { - swaggerProperties.getBasePath().add(BASE_PATH); - } - // noinspection unchecked - List<Predicate<String>> basePath = new ArrayList<Predicate<String>>(); - swaggerProperties.getBasePath().forEach(path -> basePath.add(PathSelectors.ant(path))); - - // exclude-path处理 - if (swaggerProperties.getExcludePath().isEmpty()) - { - swaggerProperties.getExcludePath().addAll(DEFAULT_EXCLUDE_PATH); - } - - List<Predicate<String>> excludePath = new ArrayList<>(); - swaggerProperties.getExcludePath().forEach(path -> excludePath.add(PathSelectors.ant(path))); - - ApiSelectorBuilder builder = new Docket(DocumentationType.SWAGGER_2).host(swaggerProperties.getHost()) - .apiInfo(apiInfo(swaggerProperties)).select() - //.apis(RequestHandlerSelectors.basePackage(swaggerProperties.getBasePackage())); - .apis(RequestHandlerSelectors.withClassAnnotation(RestController.class)); - //.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)); - - swaggerProperties.getBasePath().forEach(p -> builder.paths(PathSelectors.ant(p))); - swaggerProperties.getExcludePath().forEach(p -> builder.paths(PathSelectors.ant(p).negate())); - - return builder.build().securitySchemes(securitySchemes()).securityContexts(securityContexts()).pathMapping("/"); - } - - /** - * 安全模式,这里指定token通过Authorization头请求头传递 - */ - private List<SecurityScheme> securitySchemes() - { - List<SecurityScheme> apiKeyList = new ArrayList<SecurityScheme>(); - apiKeyList.add(new ApiKey("Authorization", "Authorization", "header")); - return apiKeyList; - } - - /** - * 安全上下文 - */ - private List<SecurityContext> securityContexts() - { - List<SecurityContext> securityContexts = new ArrayList<>(); - securityContexts.add( - SecurityContext.builder() - .securityReferences(defaultAuth()) - .operationSelector(o -> o.requestMappingPattern().matches("/.*")) - .build()); - return securityContexts; - } - - /** - * 默认的全局鉴权策略 - * - * @return - */ - private List<SecurityReference> defaultAuth() - { - AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything"); - AuthorizationScope[] authorizationScopes = new AuthorizationScope[1]; - authorizationScopes[0] = authorizationScope; - List<SecurityReference> securityReferences = new ArrayList<>(); - securityReferences.add(new SecurityReference("Authorization", authorizationScopes)); - return securityReferences; - } - - private ApiInfo apiInfo(SwaggerProperties swaggerProperties) - { - return new ApiInfoBuilder() - .title(swaggerProperties.getTitle()) - .description(swaggerProperties.getDescription()) - .license(swaggerProperties.getLicense()) - .licenseUrl(swaggerProperties.getLicenseUrl()) - .termsOfServiceUrl(swaggerProperties.getTermsOfServiceUrl()) - .contact(new Contact(swaggerProperties.getContact().getName(), swaggerProperties.getContact().getUrl(), swaggerProperties.getContact().getEmail())) - .version(swaggerProperties.getVersion()) - .build(); - } -} diff --git a/hrt-common/hrt-common-swagger/src/main/java/com/hrt/common/swagger/config/SwaggerBeanPostProcessor.java b/hrt-common/hrt-common-swagger/src/main/java/com/hrt/common/swagger/config/SwaggerBeanPostProcessor.java deleted file mode 100644 index af78ddf..0000000 --- a/hrt-common/hrt-common-swagger/src/main/java/com/hrt/common/swagger/config/SwaggerBeanPostProcessor.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.hrt.common.swagger.config; - -import org.springframework.beans.BeansException; -import org.springframework.beans.factory.config.BeanPostProcessor; -import org.springframework.util.ReflectionUtils; -import org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping; -import springfox.documentation.spring.web.plugins.WebFluxRequestHandlerProvider; -import springfox.documentation.spring.web.plugins.WebMvcRequestHandlerProvider; -import java.lang.reflect.Field; -import java.util.List; -import java.util.stream.Collectors; - -/** - * swagger 在 springboot 2.6.x 不兼容问题的处理 - * - * @author jqs - */ -public class SwaggerBeanPostProcessor implements BeanPostProcessor -{ - @Override - public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException - { - if (bean instanceof WebMvcRequestHandlerProvider || bean instanceof WebFluxRequestHandlerProvider) - { - customizeSpringfoxHandlerMappings(getHandlerMappings(bean)); - } - return bean; - } - - private <T extends RequestMappingInfoHandlerMapping> void customizeSpringfoxHandlerMappings(List<T> mappings) - { - List<T> copy = mappings.stream().filter(mapping -> mapping.getPatternParser() == null) - .collect(Collectors.toList()); - mappings.clear(); - mappings.addAll(copy); - } - - @SuppressWarnings("unchecked") - private List<RequestMappingInfoHandlerMapping> getHandlerMappings(Object bean) - { - try - { - Field field = ReflectionUtils.findField(bean.getClass(), "handlerMappings"); - field.setAccessible(true); - return (List<RequestMappingInfoHandlerMapping>) field.get(bean); - } - catch (IllegalArgumentException | IllegalAccessException e) - { - throw new IllegalStateException(e); - } - } -} diff --git a/hrt-common/hrt-common-swagger/src/main/java/com/hrt/common/swagger/config/SwaggerProperties.java b/hrt-common/hrt-common-swagger/src/main/java/com/hrt/common/swagger/config/SwaggerProperties.java deleted file mode 100644 index 13d56ba..0000000 --- a/hrt-common/hrt-common-swagger/src/main/java/com/hrt/common/swagger/config/SwaggerProperties.java +++ /dev/null @@ -1,343 +0,0 @@ -package com.hrt.common.swagger.config; - -import java.util.ArrayList; -import java.util.List; -import org.springframework.boot.context.properties.ConfigurationProperties; - -@ConfigurationProperties("swagger") -public class SwaggerProperties -{ - /** - * 是否开启swagger - */ - private Boolean enabled; - - /** - * swagger会解析的包路径 - **/ - private String basePackage = ""; - - /** - * swagger会解析的url规则 - **/ - private List<String> basePath = new ArrayList<>(); - - /** - * 在basePath基础上需要排除的url规则 - **/ - private List<String> excludePath = new ArrayList<>(); - - /** - * 标题 - **/ - private String title = ""; - - /** - * 描述 - **/ - private String description = ""; - - /** - * 版本 - **/ - private String version = ""; - - /** - * 许可证 - **/ - private String license = ""; - - /** - * 许可证URL - **/ - private String licenseUrl = ""; - - /** - * 服务条款URL - **/ - private String termsOfServiceUrl = ""; - - /** - * host信息 - **/ - private String host = ""; - - /** - * 联系人信息 - */ - private Contact contact = new Contact(); - - /** - * 全局统一鉴权配置 - **/ - private Authorization authorization = new Authorization(); - - public Boolean getEnabled() - { - return enabled; - } - - public void setEnabled(Boolean enabled) - { - this.enabled = enabled; - } - - public String getBasePackage() - { - return basePackage; - } - - public void setBasePackage(String basePackage) - { - this.basePackage = basePackage; - } - - public List<String> getBasePath() - { - return basePath; - } - - public void setBasePath(List<String> basePath) - { - this.basePath = basePath; - } - - public List<String> getExcludePath() - { - return excludePath; - } - - public void setExcludePath(List<String> excludePath) - { - this.excludePath = excludePath; - } - - public String getTitle() - { - return title; - } - - public void setTitle(String title) - { - this.title = title; - } - - public String getDescription() - { - return description; - } - - public void setDescription(String description) - { - this.description = description; - } - - public String getVersion() - { - return version; - } - - public void setVersion(String version) - { - this.version = version; - } - - public String getLicense() - { - return license; - } - - public void setLicense(String license) - { - this.license = license; - } - - public String getLicenseUrl() - { - return licenseUrl; - } - - public void setLicenseUrl(String licenseUrl) - { - this.licenseUrl = licenseUrl; - } - - public String getTermsOfServiceUrl() - { - return termsOfServiceUrl; - } - - public void setTermsOfServiceUrl(String termsOfServiceUrl) - { - this.termsOfServiceUrl = termsOfServiceUrl; - } - - public String getHost() - { - return host; - } - - public void setHost(String host) - { - this.host = host; - } - - public Contact getContact() - { - return contact; - } - - public void setContact(Contact contact) - { - this.contact = contact; - } - - public Authorization getAuthorization() - { - return authorization; - } - - public void setAuthorization(Authorization authorization) - { - this.authorization = authorization; - } - - public static class Contact - { - /** - * 联系人 - **/ - private String name = ""; - /** - * 联系人url - **/ - private String url = ""; - /** - * 联系人email - **/ - private String email = ""; - - public String getName() - { - return name; - } - - public void setName(String name) - { - this.name = name; - } - - public String getUrl() - { - return url; - } - - public void setUrl(String url) - { - this.url = url; - } - - public String getEmail() - { - return email; - } - - public void setEmail(String email) - { - this.email = email; - } - } - - public static class Authorization - { - /** - * 鉴权策略ID,需要和SecurityReferences ID保持一致 - */ - private String name = ""; - - /** - * 需要开启鉴权URL的正则 - */ - private String authRegex = "^.*$"; - - /** - * 鉴权作用域列表 - */ - private List<AuthorizationScope> authorizationScopeList = new ArrayList<>(); - - private List<String> tokenUrlList = new ArrayList<>(); - - public String getName() - { - return name; - } - - public void setName(String name) - { - this.name = name; - } - - public String getAuthRegex() - { - return authRegex; - } - - public void setAuthRegex(String authRegex) - { - this.authRegex = authRegex; - } - - public List<AuthorizationScope> getAuthorizationScopeList() - { - return authorizationScopeList; - } - - public void setAuthorizationScopeList(List<AuthorizationScope> authorizationScopeList) - { - this.authorizationScopeList = authorizationScopeList; - } - - public List<String> getTokenUrlList() - { - return tokenUrlList; - } - - public void setTokenUrlList(List<String> tokenUrlList) - { - this.tokenUrlList = tokenUrlList; - } - } - - public static class AuthorizationScope - { - /** - * 作用域名称 - */ - private String scope = ""; - - /** - * 作用域描述 - */ - private String description = ""; - - public String getScope() - { - return scope; - } - - public void setScope(String scope) - { - this.scope = scope; - } - - public String getDescription() - { - return description; - } - - public void setDescription(String description) - { - this.description = description; - } - } -} \ No newline at end of file diff --git a/hrt-common/hrt-common-swagger/src/main/java/com/hrt/common/swagger/config/SwaggerWebConfiguration.java b/hrt-common/hrt-common-swagger/src/main/java/com/hrt/common/swagger/config/SwaggerWebConfiguration.java deleted file mode 100644 index 1020579..0000000 --- a/hrt-common/hrt-common-swagger/src/main/java/com/hrt/common/swagger/config/SwaggerWebConfiguration.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.hrt.common.swagger.config; - -import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; - -/** - * swagger 资源映射路径 - * - * @author jqs - */ -public class SwaggerWebConfiguration implements WebMvcConfigurer -{ - @Override - public void addResourceHandlers(ResourceHandlerRegistry registry) - { - /** swagger-ui 地址 */ - registry.addResourceHandler("/swagger-ui/**") - .addResourceLocations("classpath:/META-INF/resources/webjars/springfox-swagger-ui/"); - } -} \ No newline at end of file diff --git a/hrt-common/hrt-common-swagger/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/hrt-common/hrt-common-swagger/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports deleted file mode 100644 index e9143e1..0000000 --- a/hrt-common/hrt-common-swagger/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ /dev/null @@ -1,3 +0,0 @@ -# com.hrt.common.swagger.config.SwaggerAutoConfiguration -# com.hrt.common.swagger.config.SwaggerWebConfiguration -# com.hrt.common.swagger.config.SwaggerBeanPostProcessor diff --git a/hrt-common/pom.xml b/hrt-common/pom.xml deleted file mode 100644 index a876382..0000000 --- a/hrt-common/pom.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <parent> - <groupId>com.hrt</groupId> - <artifactId>hrt</artifactId> - <version>3.6.2</version> - </parent> - <modelVersion>4.0.0</modelVersion> - - <modules> - <module>hrt-common-log</module> - <module>hrt-common-core</module> - <module>hrt-common-redis</module> - <module>hrt-common-seata</module> - <module>hrt-common-swagger</module> - <module>hrt-common-security</module> - <module>hrt-common-datascope</module> - <module>hrt-common-datasource</module> - </modules> - - <artifactId>hrt-common</artifactId> - <packaging>pom</packaging> - - <description> - hrt-common通用模块 - </description> - -</project> diff --git a/hrt-gateway/pom.xml b/hrt-gateway/pom.xml deleted file mode 100644 index b511066..0000000 --- a/hrt-gateway/pom.xml +++ /dev/null @@ -1,110 +0,0 @@ -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <parent> - <groupId>com.hrt</groupId> - <artifactId>hrt</artifactId> - <version>3.6.2</version> - </parent> - <modelVersion>4.0.0</modelVersion> - - <artifactId>hrt-gateway</artifactId> - - <description> - hrt-gateway网关模块 - </description> - - <dependencies> - - <!-- SpringCloud Gateway --> - <dependency> - <groupId>org.springframework.cloud</groupId> - <artifactId>spring-cloud-starter-gateway</artifactId> - </dependency> - - <!-- SpringCloud Alibaba Nacos --> - <dependency> - <groupId>com.alibaba.cloud</groupId> - <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> - </dependency> - - <!-- SpringCloud Alibaba Nacos Config --> - <dependency> - <groupId>com.alibaba.cloud</groupId> - <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> - </dependency> - - <!-- SpringCloud Alibaba Sentinel --> - <dependency> - <groupId>com.alibaba.cloud</groupId> - <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> - </dependency> - - <!-- SpringCloud Alibaba Sentinel Gateway --> - <dependency> - <groupId>com.alibaba.cloud</groupId> - <artifactId>spring-cloud-alibaba-sentinel-gateway</artifactId> - </dependency> - - <!-- Sentinel Datasource Nacos --> - <dependency> - <groupId>com.alibaba.csp</groupId> - <artifactId>sentinel-datasource-nacos</artifactId> - </dependency> - - <!-- SpringBoot Actuator --> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-actuator</artifactId> - </dependency> - - <!-- SpringCloud Loadbalancer --> - <dependency> - <groupId>org.springframework.cloud</groupId> - <artifactId>spring-cloud-loadbalancer</artifactId> - </dependency> - - <!--验证码 --> - <dependency> - <groupId>pro.fessional</groupId> - <artifactId>kaptcha</artifactId> - </dependency> - - <!-- hrt Common Redis--> - <dependency> - <groupId>com.hrt</groupId> - <artifactId>hrt-common-redis</artifactId> - </dependency> - - <!-- Swagger --> - <dependency> - <groupId>io.springfox</groupId> - <artifactId>springfox-swagger-ui</artifactId> - <version>${swagger.fox.version}</version> - </dependency> - <dependency> - <groupId>io.springfox</groupId> - <artifactId>springfox-swagger2</artifactId> - <version>${swagger.fox.version}</version> - </dependency> - - </dependencies> - - <build> - <finalName>${project.artifactId}</finalName> - <plugins> - <plugin> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-maven-plugin</artifactId> - <executions> - <execution> - <goals> - <goal>repackage</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - -</project> diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/HrtGatewayApplication.java b/hrt-gateway/src/main/java/com/hrt/gateway/HrtGatewayApplication.java deleted file mode 100644 index d3b9799..0000000 --- a/hrt-gateway/src/main/java/com/hrt/gateway/HrtGatewayApplication.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.hrt.gateway; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; - -/** - * 网关启动程序 - * - * @author jqs - */ -@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class }) -public class HrtGatewayApplication -{ - public static void main(String[] args) - { - SpringApplication.run(HrtGatewayApplication.class, args); - System.out.println("网关启动成功"); - } -} diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/config/CaptchaConfig.java b/hrt-gateway/src/main/java/com/hrt/gateway/config/CaptchaConfig.java deleted file mode 100644 index 7825b9f..0000000 --- a/hrt-gateway/src/main/java/com/hrt/gateway/config/CaptchaConfig.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.hrt.gateway.config; - -import java.util.Properties; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import com.google.code.kaptcha.impl.DefaultKaptcha; -import com.google.code.kaptcha.util.Config; -import static com.google.code.kaptcha.Constants.*; - -/** - * 验证码配置 - * - * @author jqs - */ -@Configuration -public class CaptchaConfig -{ - @Bean(name = "captchaProducer") - public DefaultKaptcha getKaptchaBean() - { - DefaultKaptcha defaultKaptcha = new DefaultKaptcha(); - Properties properties = new Properties(); - // 是否有边框 默认为true 我们可以自己设置yes,no - properties.setProperty(KAPTCHA_BORDER, "yes"); - // 验证码文本字符颜色 默认为Color.BLACK - properties.setProperty(KAPTCHA_TEXTPRODUCER_FONT_COLOR, "black"); - // 验证码图片宽度 默认为200 - properties.setProperty(KAPTCHA_IMAGE_WIDTH, "160"); - // 验证码图片高度 默认为50 - properties.setProperty(KAPTCHA_IMAGE_HEIGHT, "60"); - // 验证码文本字符大小 默认为40 - properties.setProperty(KAPTCHA_TEXTPRODUCER_FONT_SIZE, "38"); - // KAPTCHA_SESSION_KEY - properties.setProperty(KAPTCHA_SESSION_CONFIG_KEY, "kaptchaCode"); - // 验证码文本字符长度 默认为5 - properties.setProperty(KAPTCHA_TEXTPRODUCER_CHAR_LENGTH, "4"); - // 验证码文本字体样式 默认为new Font("Arial", 1, fontSize), new Font("Courier", 1, fontSize) - properties.setProperty(KAPTCHA_TEXTPRODUCER_FONT_NAMES, "Arial,Courier"); - // 图片样式 水纹com.google.code.kaptcha.impl.WaterRipple 鱼眼com.google.code.kaptcha.impl.FishEyeGimpy 阴影com.google.code.kaptcha.impl.ShadowGimpy - properties.setProperty(KAPTCHA_OBSCURIFICATOR_IMPL, "com.google.code.kaptcha.impl.ShadowGimpy"); - Config config = new Config(properties); - defaultKaptcha.setConfig(config); - return defaultKaptcha; - } - - @Bean(name = "captchaProducerMath") - public DefaultKaptcha getKaptchaBeanMath() - { - DefaultKaptcha defaultKaptcha = new DefaultKaptcha(); - Properties properties = new Properties(); - // 是否有边框 默认为true 我们可以自己设置yes,no - properties.setProperty(KAPTCHA_BORDER, "yes"); - // 边框颜色 默认为Color.BLACK - properties.setProperty(KAPTCHA_BORDER_COLOR, "105,179,90"); - // 验证码文本字符颜色 默认为Color.BLACK - properties.setProperty(KAPTCHA_TEXTPRODUCER_FONT_COLOR, "blue"); - // 验证码图片宽度 默认为200 - properties.setProperty(KAPTCHA_IMAGE_WIDTH, "160"); - // 验证码图片高度 默认为50 - properties.setProperty(KAPTCHA_IMAGE_HEIGHT, "60"); - // 验证码文本字符大小 默认为40 - properties.setProperty(KAPTCHA_TEXTPRODUCER_FONT_SIZE, "35"); - // KAPTCHA_SESSION_KEY - properties.setProperty(KAPTCHA_SESSION_CONFIG_KEY, "kaptchaCodeMath"); - // 验证码文本生成器 - properties.setProperty(KAPTCHA_TEXTPRODUCER_IMPL, "com.hrt.gateway.config.KaptchaTextCreator"); - // 验证码文本字符间距 默认为2 - properties.setProperty(KAPTCHA_TEXTPRODUCER_CHAR_SPACE, "3"); - // 验证码文本字符长度 默认为5 - properties.setProperty(KAPTCHA_TEXTPRODUCER_CHAR_LENGTH, "6"); - // 验证码文本字体样式 默认为new Font("Arial", 1, fontSize), new Font("Courier", 1, fontSize) - properties.setProperty(KAPTCHA_TEXTPRODUCER_FONT_NAMES, "Arial,Courier"); - // 验证码噪点颜色 默认为Color.BLACK - properties.setProperty(KAPTCHA_NOISE_COLOR, "white"); - // 干扰实现类 - properties.setProperty(KAPTCHA_NOISE_IMPL, "com.google.code.kaptcha.impl.NoNoise"); - // 图片样式 水纹com.google.code.kaptcha.impl.WaterRipple 鱼眼com.google.code.kaptcha.impl.FishEyeGimpy 阴影com.google.code.kaptcha.impl.ShadowGimpy - properties.setProperty(KAPTCHA_OBSCURIFICATOR_IMPL, "com.google.code.kaptcha.impl.ShadowGimpy"); - Config config = new Config(properties); - defaultKaptcha.setConfig(config); - return defaultKaptcha; - } -} \ No newline at end of file diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/config/GatewayConfig.java b/hrt-gateway/src/main/java/com/hrt/gateway/config/GatewayConfig.java deleted file mode 100644 index 1af6f39..0000000 --- a/hrt-gateway/src/main/java/com/hrt/gateway/config/GatewayConfig.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.hrt.gateway.config; - -import com.hrt.gateway.handler.SentinelFallbackHandler; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.core.Ordered; -import org.springframework.core.annotation.Order; - -/** - * 网关限流配置 - * - * @author jqs - */ -@Configuration -public class GatewayConfig -{ - @Bean - @Order(Ordered.HIGHEST_PRECEDENCE) - public SentinelFallbackHandler sentinelGatewayExceptionHandler() - { - return new SentinelFallbackHandler(); - } -} \ No newline at end of file diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/config/KaptchaTextCreator.java b/hrt-gateway/src/main/java/com/hrt/gateway/config/KaptchaTextCreator.java deleted file mode 100644 index c348cf6..0000000 --- a/hrt-gateway/src/main/java/com/hrt/gateway/config/KaptchaTextCreator.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.hrt.gateway.config; - -import java.util.Random; -import com.google.code.kaptcha.text.impl.DefaultTextCreator; - -/** - * 验证码文本生成器 - * - * @author jqs - */ -public class KaptchaTextCreator extends DefaultTextCreator -{ - private static final String[] CNUMBERS = "0,1,2,3,4,5,6,7,8,9,10".split(","); - - @Override - public String getText() - { - Integer result = 0; - Random random = new Random(); - int x = random.nextInt(10); - int y = random.nextInt(10); - StringBuilder suChinese = new StringBuilder(); - int randomoperands = random.nextInt(3); - if (randomoperands == 0) - { - result = x * y; - suChinese.append(CNUMBERS[x]); - suChinese.append("*"); - suChinese.append(CNUMBERS[y]); - } - else if (randomoperands == 1) - { - if ((x != 0) && y % x == 0) - { - result = y / x; - suChinese.append(CNUMBERS[y]); - suChinese.append("/"); - suChinese.append(CNUMBERS[x]); - } - else - { - result = x + y; - suChinese.append(CNUMBERS[x]); - suChinese.append("+"); - suChinese.append(CNUMBERS[y]); - } - } - else if (randomoperands == 2) - { - if (x >= y) - { - result = x - y; - suChinese.append(CNUMBERS[x]); - suChinese.append("-"); - suChinese.append(CNUMBERS[y]); - } - else - { - result = y - x; - suChinese.append(CNUMBERS[y]); - suChinese.append("-"); - suChinese.append(CNUMBERS[x]); - } - } - else - { - result = x + y; - suChinese.append(CNUMBERS[x]); - suChinese.append("+"); - suChinese.append(CNUMBERS[y]); - } - suChinese.append("=?@" + result); - return suChinese.toString(); - } -} \ No newline at end of file diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/config/RouterFunctionConfiguration.java b/hrt-gateway/src/main/java/com/hrt/gateway/config/RouterFunctionConfiguration.java deleted file mode 100644 index 9fd344b..0000000 --- a/hrt-gateway/src/main/java/com/hrt/gateway/config/RouterFunctionConfiguration.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.hrt.gateway.config; - -import com.hrt.gateway.handler.ValidateCodeHandler; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.http.MediaType; -import org.springframework.web.reactive.function.server.RequestPredicates; -import org.springframework.web.reactive.function.server.RouterFunction; -import org.springframework.web.reactive.function.server.RouterFunctions; - -/** - * 路由配置信息 - * - * @author jqs - */ -@Configuration -public class RouterFunctionConfiguration -{ - @Autowired - private ValidateCodeHandler validateCodeHandler; - - @SuppressWarnings("rawtypes") - @Bean - public RouterFunction routerFunction() - { - return RouterFunctions.route( - RequestPredicates.GET("/code").and(RequestPredicates.accept(MediaType.TEXT_PLAIN)), - validateCodeHandler); - } -} diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/config/SwaggerProvider.java b/hrt-gateway/src/main/java/com/hrt/gateway/config/SwaggerProvider.java deleted file mode 100644 index 796528f..0000000 --- a/hrt-gateway/src/main/java/com/hrt/gateway/config/SwaggerProvider.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.hrt.gateway.config; - -import java.util.ArrayList; -import java.util.List; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cloud.gateway.config.GatewayProperties; -import org.springframework.cloud.gateway.route.RouteLocator; -import org.springframework.cloud.gateway.support.NameUtils; -import org.springframework.context.annotation.Lazy; -import org.springframework.stereotype.Component; -import org.springframework.web.reactive.config.ResourceHandlerRegistry; -import org.springframework.web.reactive.config.WebFluxConfigurer; -import springfox.documentation.swagger.web.SwaggerResource; -import springfox.documentation.swagger.web.SwaggerResourcesProvider; - -/** - * 聚合系统接口 - * - * @author jqs - */ -@Component -public class SwaggerProvider implements SwaggerResourcesProvider, WebFluxConfigurer -{ - /** - * Swagger2默认的url后缀 - */ - public static final String SWAGGER2URL = "/v2/api-docs"; - - /** - * 网关路由 - */ - @Lazy - @Autowired - private RouteLocator routeLocator; - - @Autowired - private GatewayProperties gatewayProperties; - - /** - * 聚合其他服务接口 - * - * @return - */ - @Override - public List<SwaggerResource> get() - { - List<SwaggerResource> resourceList = new ArrayList<>(); - List<String> routes = new ArrayList<>(); - // 获取网关中配置的route - routeLocator.getRoutes().subscribe(route -> routes.add(route.getId())); - gatewayProperties.getRoutes().stream() - .filter(routeDefinition -> routes - .contains(routeDefinition.getId())) - .forEach(routeDefinition -> routeDefinition.getPredicates().stream() - .filter(predicateDefinition -> "Path".equalsIgnoreCase(predicateDefinition.getName())) - .filter(predicateDefinition -> !"hrt-auth".equalsIgnoreCase(routeDefinition.getId())) - .forEach(predicateDefinition -> resourceList - .add(swaggerResource(routeDefinition.getId(), predicateDefinition.getArgs() - .get(NameUtils.GENERATED_NAME_PREFIX + "0").replace("/**", SWAGGER2URL))))); - return resourceList; - } - - private SwaggerResource swaggerResource(String name, String location) - { - SwaggerResource swaggerResource = new SwaggerResource(); - swaggerResource.setName(name); - swaggerResource.setLocation(location); - swaggerResource.setSwaggerVersion("2.0"); - return swaggerResource; - } - - @Override - public void addResourceHandlers(ResourceHandlerRegistry registry) - { - /** swagger-ui 地址 */ - registry.addResourceHandler("/swagger-ui/**") - .addResourceLocations("classpath:/META-INF/resources/webjars/springfox-swagger-ui/"); - } -} diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/config/properties/CaptchaProperties.java b/hrt-gateway/src/main/java/com/hrt/gateway/config/properties/CaptchaProperties.java deleted file mode 100644 index 70e16dc..0000000 --- a/hrt-gateway/src/main/java/com/hrt/gateway/config/properties/CaptchaProperties.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.hrt.gateway.config.properties; - -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.cloud.context.config.annotation.RefreshScope; -import org.springframework.context.annotation.Configuration; - -/** - * 验证码配置 - * - * @author jqs - */ -@Configuration -@RefreshScope -@ConfigurationProperties(prefix = "security.captcha") -public class CaptchaProperties -{ - /** - * 验证码开关 - */ - private Boolean enabled; - - /** - * 验证码类型(math 数组计算 char 字符) - */ - private String type; - - public Boolean getEnabled() - { - return enabled; - } - - public void setEnabled(Boolean enabled) - { - this.enabled = enabled; - } - - public String getType() - { - return type; - } - - public void setType(String type) - { - this.type = type; - } -} diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/config/properties/IgnoreWhiteProperties.java b/hrt-gateway/src/main/java/com/hrt/gateway/config/properties/IgnoreWhiteProperties.java deleted file mode 100644 index 2c6af12..0000000 --- a/hrt-gateway/src/main/java/com/hrt/gateway/config/properties/IgnoreWhiteProperties.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.hrt.gateway.config.properties; - -import java.util.ArrayList; -import java.util.List; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.cloud.context.config.annotation.RefreshScope; -import org.springframework.context.annotation.Configuration; - -/** - * 放行白名单配置 - * - * @author jqs - */ -@Configuration -@RefreshScope -@ConfigurationProperties(prefix = "security.ignore") -public class IgnoreWhiteProperties -{ - /** - * 放行白名单配置,网关不校验此处的白名单 - */ - private List<String> whites = new ArrayList<>(); - - public List<String> getWhites() - { - return whites; - } - - public void setWhites(List<String> whites) - { - this.whites = whites; - } -} diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/config/properties/XssProperties.java b/hrt-gateway/src/main/java/com/hrt/gateway/config/properties/XssProperties.java deleted file mode 100644 index b610d49..0000000 --- a/hrt-gateway/src/main/java/com/hrt/gateway/config/properties/XssProperties.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.hrt.gateway.config.properties; - -import java.util.ArrayList; -import java.util.List; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.cloud.context.config.annotation.RefreshScope; -import org.springframework.context.annotation.Configuration; - -/** - * XSS跨站脚本配置 - * - * @author jqs - */ -@Configuration -@RefreshScope -@ConfigurationProperties(prefix = "security.xss") -public class XssProperties -{ - /** - * Xss开关 - */ - private Boolean enabled; - - /** - * 排除路径 - */ - private List<String> excludeUrls = new ArrayList<>(); - - public Boolean getEnabled() - { - return enabled; - } - - public void setEnabled(Boolean enabled) - { - this.enabled = enabled; - } - - public List<String> getExcludeUrls() - { - return excludeUrls; - } - - public void setExcludeUrls(List<String> excludeUrls) - { - this.excludeUrls = excludeUrls; - } -} diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/filter/AuthFilter.java b/hrt-gateway/src/main/java/com/hrt/gateway/filter/AuthFilter.java deleted file mode 100644 index f734b2f..0000000 --- a/hrt-gateway/src/main/java/com/hrt/gateway/filter/AuthFilter.java +++ /dev/null @@ -1,135 +0,0 @@ -package com.hrt.gateway.filter; - -import com.hrt.gateway.config.properties.IgnoreWhiteProperties; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cloud.gateway.filter.GatewayFilterChain; -import org.springframework.cloud.gateway.filter.GlobalFilter; -import org.springframework.core.Ordered; -import org.springframework.http.server.reactive.ServerHttpRequest; -import org.springframework.stereotype.Component; -import org.springframework.web.server.ServerWebExchange; -import com.hrt.common.core.constant.CacheConstants; -import com.hrt.common.core.constant.HttpStatus; -import com.hrt.common.core.constant.SecurityConstants; -import com.hrt.common.core.constant.TokenConstants; -import com.hrt.common.core.utils.JwtUtils; -import com.hrt.common.core.utils.ServletUtils; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.common.redis.service.RedisService; -import io.jsonwebtoken.Claims; -import reactor.core.publisher.Mono; - -/** - * 网关鉴权 - * - * @author jqs - */ -@Component -public class AuthFilter implements GlobalFilter, Ordered -{ - private static final Logger log = LoggerFactory.getLogger(AuthFilter.class); - - // 排除过滤的 uri 地址,nacos自行添加 - @Autowired - private IgnoreWhiteProperties ignoreWhite; - - @Autowired - private RedisService redisService; - - - @Override - public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) - { - ServerHttpRequest request = exchange.getRequest(); - ServerHttpRequest.Builder mutate = request.mutate(); - - String url = request.getURI().getPath(); - // 跳过不需要验证的路径 - if (StringUtils.matches(url, ignoreWhite.getWhites())) - { - return chain.filter(exchange); - } - String token = getToken(request); - if (StringUtils.isEmpty(token)) - { - return unauthorizedResponse(exchange, "令牌不能为空"); - } - Claims claims = JwtUtils.parseToken(token); - if (claims == null) - { - return unauthorizedResponse(exchange, "令牌已过期或验证不正确!"); - } - String userkey = JwtUtils.getUserKey(claims); - boolean islogin = redisService.hasKey(getTokenKey(userkey)); - if (!islogin) - { - return unauthorizedResponse(exchange, "登录状态已过期"); - } - String userid = JwtUtils.getUserId(claims); - String username = JwtUtils.getUserName(claims); - if (StringUtils.isEmpty(userid) || StringUtils.isEmpty(username)) - { - return unauthorizedResponse(exchange, "令牌验证失败"); - } - - // 设置用户信息到请求 - addHeader(mutate, SecurityConstants.USER_KEY, userkey); - addHeader(mutate, SecurityConstants.DETAILS_USER_ID, userid); - addHeader(mutate, SecurityConstants.DETAILS_USERNAME, username); - // 内部请求来源参数清除 - removeHeader(mutate, SecurityConstants.FROM_SOURCE); - return chain.filter(exchange.mutate().request(mutate.build()).build()); - } - - private void addHeader(ServerHttpRequest.Builder mutate, String name, Object value) - { - if (value == null) - { - return; - } - String valueStr = value.toString(); - String valueEncode = ServletUtils.urlEncode(valueStr); - mutate.header(name, valueEncode); - } - - private void removeHeader(ServerHttpRequest.Builder mutate, String name) - { - mutate.headers(httpHeaders -> httpHeaders.remove(name)).build(); - } - - private Mono<Void> unauthorizedResponse(ServerWebExchange exchange, String msg) - { - log.error("[鉴权异常处理]请求路径:{}", exchange.getRequest().getPath()); - return ServletUtils.webFluxResponseWriter(exchange.getResponse(), msg, HttpStatus.UNAUTHORIZED); - } - - /** - * 获取缓存key - */ - private String getTokenKey(String token) - { - return CacheConstants.LOGIN_TOKEN_KEY + token; - } - - /** - * 获取请求token - */ - private String getToken(ServerHttpRequest request) - { - String token = request.getHeaders().getFirst(TokenConstants.AUTHENTICATION); - // 如果前端设置了令牌前缀,则裁剪掉前缀 - if (StringUtils.isNotEmpty(token) && token.startsWith(TokenConstants.PREFIX)) - { - token = token.replaceFirst(TokenConstants.PREFIX, StringUtils.EMPTY); - } - return token; - } - - @Override - public int getOrder() - { - return -200; - } -} \ No newline at end of file diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/filter/BlackListUrlFilter.java b/hrt-gateway/src/main/java/com/hrt/gateway/filter/BlackListUrlFilter.java deleted file mode 100644 index 02d9550..0000000 --- a/hrt-gateway/src/main/java/com/hrt/gateway/filter/BlackListUrlFilter.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.hrt.gateway.filter; - -import java.util.ArrayList; -import java.util.List; -import java.util.regex.Pattern; -import org.springframework.cloud.gateway.filter.GatewayFilter; -import org.springframework.cloud.gateway.filter.factory.AbstractGatewayFilterFactory; -import org.springframework.stereotype.Component; -import com.hrt.common.core.utils.ServletUtils; - -/** - * 黑名单过滤器 - * - * @author jqs - */ -@Component -public class BlackListUrlFilter extends AbstractGatewayFilterFactory<BlackListUrlFilter.Config> -{ - @Override - public GatewayFilter apply(Config config) - { - return (exchange, chain) -> { - - String url = exchange.getRequest().getURI().getPath(); - if (config.matchBlacklist(url)) - { - return ServletUtils.webFluxResponseWriter(exchange.getResponse(), "请求地址不允许访问"); - } - - return chain.filter(exchange); - }; - } - - public BlackListUrlFilter() - { - super(Config.class); - } - - public static class Config - { - private List<String> blacklistUrl; - - private List<Pattern> blacklistUrlPattern = new ArrayList<>(); - - public boolean matchBlacklist(String url) - { - return !blacklistUrlPattern.isEmpty() && blacklistUrlPattern.stream().anyMatch(p -> p.matcher(url).find()); - } - - public List<String> getBlacklistUrl() - { - return blacklistUrl; - } - - public void setBlacklistUrl(List<String> blacklistUrl) - { - this.blacklistUrl = blacklistUrl; - this.blacklistUrlPattern.clear(); - this.blacklistUrl.forEach(url -> { - this.blacklistUrlPattern.add(Pattern.compile(url.replaceAll("\\*\\*", "(.*?)"), Pattern.CASE_INSENSITIVE)); - }); - } - } - -} diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/filter/CacheRequestFilter.java b/hrt-gateway/src/main/java/com/hrt/gateway/filter/CacheRequestFilter.java deleted file mode 100644 index 63bb4b9..0000000 --- a/hrt-gateway/src/main/java/com/hrt/gateway/filter/CacheRequestFilter.java +++ /dev/null @@ -1,87 +0,0 @@ -package com.hrt.gateway.filter; - -import java.util.Collections; -import java.util.List; -import org.springframework.cloud.gateway.filter.GatewayFilter; -import org.springframework.cloud.gateway.filter.GatewayFilterChain; -import org.springframework.cloud.gateway.filter.OrderedGatewayFilter; -import org.springframework.cloud.gateway.filter.factory.AbstractGatewayFilterFactory; -import org.springframework.cloud.gateway.support.ServerWebExchangeUtils; -import org.springframework.http.HttpMethod; -import org.springframework.stereotype.Component; -import org.springframework.web.server.ServerWebExchange; -import reactor.core.publisher.Mono; - -/** - * 获取body请求数据(解决流不能重复读取问题) - * - * @author jqs - */ -@Component -public class CacheRequestFilter extends AbstractGatewayFilterFactory<CacheRequestFilter.Config> -{ - public CacheRequestFilter() - { - super(Config.class); - } - - @Override - public String name() - { - return "CacheRequestFilter"; - } - - @Override - public GatewayFilter apply(Config config) - { - CacheRequestGatewayFilter cacheRequestGatewayFilter = new CacheRequestGatewayFilter(); - Integer order = config.getOrder(); - if (order == null) - { - return cacheRequestGatewayFilter; - } - return new OrderedGatewayFilter(cacheRequestGatewayFilter, order); - } - - public static class CacheRequestGatewayFilter implements GatewayFilter - { - @Override - public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) - { - // GET DELETE 不过滤 - HttpMethod method = exchange.getRequest().getMethod(); - if (method == null || method == HttpMethod.GET || method == HttpMethod.DELETE) - { - return chain.filter(exchange); - } - return ServerWebExchangeUtils.cacheRequestBodyAndRequest(exchange, (serverHttpRequest) -> { - if (serverHttpRequest == exchange.getRequest()) - { - return chain.filter(exchange); - } - return chain.filter(exchange.mutate().request(serverHttpRequest).build()); - }); - } - } - - @Override - public List<String> shortcutFieldOrder() - { - return Collections.singletonList("order"); - } - - static class Config - { - private Integer order; - - public Integer getOrder() - { - return order; - } - - public void setOrder(Integer order) - { - this.order = order; - } - } -} \ No newline at end of file diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/filter/ValidateCodeFilter.java b/hrt-gateway/src/main/java/com/hrt/gateway/filter/ValidateCodeFilter.java deleted file mode 100644 index 3aab7c4..0000000 --- a/hrt-gateway/src/main/java/com/hrt/gateway/filter/ValidateCodeFilter.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.hrt.gateway.filter; - -import java.nio.CharBuffer; -import java.nio.charset.StandardCharsets; -import java.util.concurrent.atomic.AtomicReference; - -import com.hrt.gateway.config.properties.CaptchaProperties; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cloud.gateway.filter.GatewayFilter; -import org.springframework.cloud.gateway.filter.factory.AbstractGatewayFilterFactory; -import org.springframework.core.io.buffer.DataBuffer; -import org.springframework.core.io.buffer.DataBufferUtils; -import org.springframework.http.server.reactive.ServerHttpRequest; -import org.springframework.stereotype.Component; -import com.alibaba.fastjson2.JSON; -import com.alibaba.fastjson2.JSONObject; -import com.hrt.common.core.utils.ServletUtils; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.gateway.service.ValidateCodeService; -import reactor.core.publisher.Flux; - -/** - * 验证码过滤器 - * - * @author jqs - */ -@Component -public class ValidateCodeFilter extends AbstractGatewayFilterFactory<Object> -{ - private final static String[] VALIDATE_URL = new String[] { "/auth/login", "/auth/register" }; - - @Autowired - private ValidateCodeService validateCodeService; - - @Autowired - private CaptchaProperties captchaProperties; - - private static final String CODE = "code"; - - private static final String UUID = "uuid"; - - @Override - public GatewayFilter apply(Object config) - { - return (exchange, chain) -> { - ServerHttpRequest request = exchange.getRequest(); - - // 非登录/注册请求或验证码关闭,不处理 - if (!StringUtils.containsAnyIgnoreCase(request.getURI().getPath(), VALIDATE_URL) || !captchaProperties.getEnabled()) - { - return chain.filter(exchange); - } - - try - { - String rspStr = resolveBodyFromRequest(request); - JSONObject obj = JSON.parseObject(rspStr); - validateCodeService.checkCaptcha(obj.getString(CODE), obj.getString(UUID)); - } - catch (Exception e) - { - return ServletUtils.webFluxResponseWriter(exchange.getResponse(), e.getMessage()); - } - return chain.filter(exchange); - }; - } - - private String resolveBodyFromRequest(ServerHttpRequest serverHttpRequest) - { - // 获取请求体 - Flux<DataBuffer> body = serverHttpRequest.getBody(); - AtomicReference<String> bodyRef = new AtomicReference<>(); - body.subscribe(buffer -> { - CharBuffer charBuffer = StandardCharsets.UTF_8.decode(buffer.asByteBuffer()); - DataBufferUtils.release(buffer); - bodyRef.set(charBuffer.toString()); - }); - return bodyRef.get(); - } -} diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/filter/XssFilter.java b/hrt-gateway/src/main/java/com/hrt/gateway/filter/XssFilter.java deleted file mode 100644 index 8b19e7b..0000000 --- a/hrt-gateway/src/main/java/com/hrt/gateway/filter/XssFilter.java +++ /dev/null @@ -1,130 +0,0 @@ -package com.hrt.gateway.filter; - -import java.nio.charset.StandardCharsets; - -import com.hrt.gateway.config.properties.XssProperties; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.cloud.gateway.filter.GatewayFilterChain; -import org.springframework.cloud.gateway.filter.GlobalFilter; -import org.springframework.core.Ordered; -import org.springframework.core.io.buffer.DataBuffer; -import org.springframework.core.io.buffer.DataBufferFactory; -import org.springframework.core.io.buffer.DataBufferUtils; -import org.springframework.core.io.buffer.DefaultDataBufferFactory; -import org.springframework.core.io.buffer.NettyDataBufferFactory; -import org.springframework.http.HttpHeaders; -import org.springframework.http.HttpMethod; -import org.springframework.http.MediaType; -import org.springframework.http.server.reactive.ServerHttpRequest; -import org.springframework.http.server.reactive.ServerHttpRequestDecorator; -import org.springframework.stereotype.Component; -import org.springframework.web.server.ServerWebExchange; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.common.core.utils.html.EscapeUtil; -import io.netty.buffer.ByteBufAllocator; -import reactor.core.publisher.Flux; -import reactor.core.publisher.Mono; - -/** - * 跨站脚本过滤器 - * - * @author jqs - */ -@Component -@ConditionalOnProperty(value = "security.xss.enabled", havingValue = "true") -public class XssFilter implements GlobalFilter, Ordered -{ - // 跨站脚本的 xss 配置,nacos自行添加 - @Autowired - private XssProperties xss; - - @Override - public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) - { - ServerHttpRequest request = exchange.getRequest(); - // xss开关未开启 或 通过nacos关闭,不过滤 - if (!xss.getEnabled()) - { - return chain.filter(exchange); - } - // GET DELETE 不过滤 - HttpMethod method = request.getMethod(); - if (method == null || method == HttpMethod.GET || method == HttpMethod.DELETE) - { - return chain.filter(exchange); - } - // 非json类型,不过滤 - if (!isJsonRequest(exchange)) - { - return chain.filter(exchange); - } - // excludeUrls 不过滤 - String url = request.getURI().getPath(); - if (StringUtils.matches(url, xss.getExcludeUrls())) - { - return chain.filter(exchange); - } - ServerHttpRequestDecorator httpRequestDecorator = requestDecorator(exchange); - return chain.filter(exchange.mutate().request(httpRequestDecorator).build()); - - } - - private ServerHttpRequestDecorator requestDecorator(ServerWebExchange exchange) - { - ServerHttpRequestDecorator serverHttpRequestDecorator = new ServerHttpRequestDecorator(exchange.getRequest()) - { - @Override - public Flux<DataBuffer> getBody() - { - Flux<DataBuffer> body = super.getBody(); - return body.buffer().map(dataBuffers -> { - DataBufferFactory dataBufferFactory = new DefaultDataBufferFactory(); - DataBuffer join = dataBufferFactory.join(dataBuffers); - byte[] content = new byte[join.readableByteCount()]; - join.read(content); - DataBufferUtils.release(join); - String bodyStr = new String(content, StandardCharsets.UTF_8); - // 防xss攻击过滤 - bodyStr = EscapeUtil.clean(bodyStr); - // 转成字节 - byte[] bytes = bodyStr.getBytes(); - NettyDataBufferFactory nettyDataBufferFactory = new NettyDataBufferFactory(ByteBufAllocator.DEFAULT); - DataBuffer buffer = nettyDataBufferFactory.allocateBuffer(bytes.length); - buffer.write(bytes); - return buffer; - }); - } - - @Override - public HttpHeaders getHeaders() - { - HttpHeaders httpHeaders = new HttpHeaders(); - httpHeaders.putAll(super.getHeaders()); - // 由于修改了请求体的body,导致content-length长度不确定,因此需要删除原先的content-length - httpHeaders.remove(HttpHeaders.CONTENT_LENGTH); - httpHeaders.set(HttpHeaders.TRANSFER_ENCODING, "chunked"); - return httpHeaders; - } - - }; - return serverHttpRequestDecorator; - } - - /** - * 是否是Json请求 - * - * @param exchange HTTP请求 - */ - public boolean isJsonRequest(ServerWebExchange exchange) - { - String header = exchange.getRequest().getHeaders().getFirst(HttpHeaders.CONTENT_TYPE); - return StringUtils.startsWithIgnoreCase(header, MediaType.APPLICATION_JSON_VALUE); - } - - @Override - public int getOrder() - { - return -100; - } -} diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/handler/GatewayExceptionHandler.java b/hrt-gateway/src/main/java/com/hrt/gateway/handler/GatewayExceptionHandler.java deleted file mode 100644 index da6c289..0000000 --- a/hrt-gateway/src/main/java/com/hrt/gateway/handler/GatewayExceptionHandler.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.hrt.gateway.handler; - -import org.springframework.cloud.gateway.support.NotFoundException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.boot.web.reactive.error.ErrorWebExceptionHandler; -import org.springframework.context.annotation.Configuration; -import org.springframework.core.annotation.Order; -import org.springframework.http.server.reactive.ServerHttpResponse; -import org.springframework.web.server.ResponseStatusException; -import org.springframework.web.server.ServerWebExchange; -import com.hrt.common.core.utils.ServletUtils; -import reactor.core.publisher.Mono; - -/** - * 网关统一异常处理 - * - * @author jqs - */ -@Order(-1) -@Configuration -public class GatewayExceptionHandler implements ErrorWebExceptionHandler -{ - private static final Logger log = LoggerFactory.getLogger(GatewayExceptionHandler.class); - - @Override - public Mono<Void> handle(ServerWebExchange exchange, Throwable ex) - { - ServerHttpResponse response = exchange.getResponse(); - - if (exchange.getResponse().isCommitted()) - { - return Mono.error(ex); - } - - String msg; - - if (ex instanceof NotFoundException) - { - msg = "服务未找到"; - } - else if (ex instanceof ResponseStatusException) - { - ResponseStatusException responseStatusException = (ResponseStatusException) ex; - msg = responseStatusException.getMessage(); - } - else - { - msg = "内部服务器错误"; - } - - log.error("[网关异常处理]请求路径:{},异常信息:{}", exchange.getRequest().getPath(), ex.getMessage()); - - return ServletUtils.webFluxResponseWriter(response, msg); - } -} \ No newline at end of file diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/handler/SentinelFallbackHandler.java b/hrt-gateway/src/main/java/com/hrt/gateway/handler/SentinelFallbackHandler.java deleted file mode 100644 index 67bbd6d..0000000 --- a/hrt-gateway/src/main/java/com/hrt/gateway/handler/SentinelFallbackHandler.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.hrt.gateway.handler; - -import com.alibaba.csp.sentinel.adapter.gateway.sc.callback.GatewayCallbackManager; -import com.alibaba.csp.sentinel.slots.block.BlockException; -import com.hrt.common.core.utils.ServletUtils; -import org.springframework.web.reactive.function.server.ServerResponse; -import org.springframework.web.server.ServerWebExchange; -import org.springframework.web.server.WebExceptionHandler; -import reactor.core.publisher.Mono; - -/** - * 自定义限流异常处理 - * - * @author jqs - */ -public class SentinelFallbackHandler implements WebExceptionHandler -{ - private Mono<Void> writeResponse(ServerResponse response, ServerWebExchange exchange) - { - return ServletUtils.webFluxResponseWriter(exchange.getResponse(), "请求超过最大数,请稍候再试"); - } - - @Override - public Mono<Void> handle(ServerWebExchange exchange, Throwable ex) - { - if (exchange.getResponse().isCommitted()) - { - return Mono.error(ex); - } - if (!BlockException.isBlockException(ex)) - { - return Mono.error(ex); - } - return handleBlockedRequest(exchange, ex).flatMap(response -> writeResponse(response, exchange)); - } - - private Mono<ServerResponse> handleBlockedRequest(ServerWebExchange exchange, Throwable throwable) - { - return GatewayCallbackManager.getBlockHandler().handleRequest(exchange, throwable); - } -} diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/handler/SwaggerHandler.java b/hrt-gateway/src/main/java/com/hrt/gateway/handler/SwaggerHandler.java deleted file mode 100644 index 8724e4a..0000000 --- a/hrt-gateway/src/main/java/com/hrt/gateway/handler/SwaggerHandler.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.hrt.gateway.handler; - -import java.util.Optional; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import reactor.core.publisher.Mono; -import springfox.documentation.swagger.web.SecurityConfiguration; -import springfox.documentation.swagger.web.SecurityConfigurationBuilder; -import springfox.documentation.swagger.web.SwaggerResourcesProvider; -import springfox.documentation.swagger.web.UiConfiguration; -import springfox.documentation.swagger.web.UiConfigurationBuilder; - -@RestController -@RequestMapping("/swagger-resources") -public class SwaggerHandler -{ - @Autowired(required = false) - private SecurityConfiguration securityConfiguration; - - @Autowired(required = false) - private UiConfiguration uiConfiguration; - - private final SwaggerResourcesProvider swaggerResources; - - @Autowired - public SwaggerHandler(SwaggerResourcesProvider swaggerResources) - { - this.swaggerResources = swaggerResources; - } - - @GetMapping("/configuration/security") - public Mono<ResponseEntity<SecurityConfiguration>> securityConfiguration() - { - return Mono.just(new ResponseEntity<>( - Optional.ofNullable(securityConfiguration).orElse(SecurityConfigurationBuilder.builder().build()), - HttpStatus.OK)); - } - - @GetMapping("/configuration/ui") - public Mono<ResponseEntity<UiConfiguration>> uiConfiguration() - { - return Mono.just(new ResponseEntity<>( - Optional.ofNullable(uiConfiguration).orElse(UiConfigurationBuilder.builder().build()), HttpStatus.OK)); - } - - @SuppressWarnings("rawtypes") - @GetMapping("") - public Mono<ResponseEntity> swaggerResources() - { - return Mono.just((new ResponseEntity<>(swaggerResources.get(), HttpStatus.OK))); - } -} diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/handler/ValidateCodeHandler.java b/hrt-gateway/src/main/java/com/hrt/gateway/handler/ValidateCodeHandler.java deleted file mode 100644 index 72ebf5c..0000000 --- a/hrt-gateway/src/main/java/com/hrt/gateway/handler/ValidateCodeHandler.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.hrt.gateway.handler; - -import java.io.IOException; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.HttpStatus; -import org.springframework.stereotype.Component; -import org.springframework.web.reactive.function.BodyInserters; -import org.springframework.web.reactive.function.server.HandlerFunction; -import org.springframework.web.reactive.function.server.ServerRequest; -import org.springframework.web.reactive.function.server.ServerResponse; -import com.hrt.common.core.exception.CaptchaException; -import com.hrt.common.core.web.domain.AjaxResult; -import com.hrt.gateway.service.ValidateCodeService; -import reactor.core.publisher.Mono; - -/** - * 验证码获取 - * - * @author jqs - */ -@Component -public class ValidateCodeHandler implements HandlerFunction<ServerResponse> -{ - @Autowired - private ValidateCodeService validateCodeService; - - @Override - public Mono<ServerResponse> handle(ServerRequest serverRequest) - { - AjaxResult ajax; - try - { - ajax = validateCodeService.createCaptcha(); - } - catch (CaptchaException | IOException e) - { - return Mono.error(e); - } - return ServerResponse.status(HttpStatus.OK).body(BodyInserters.fromValue(ajax)); - } -} diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/service/ValidateCodeService.java b/hrt-gateway/src/main/java/com/hrt/gateway/service/ValidateCodeService.java deleted file mode 100644 index 6cf5af8..0000000 --- a/hrt-gateway/src/main/java/com/hrt/gateway/service/ValidateCodeService.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.hrt.gateway.service; - -import java.io.IOException; -import com.hrt.common.core.exception.CaptchaException; -import com.hrt.common.core.web.domain.AjaxResult; - -/** - * 验证码处理 - * - * @author jqs - */ -public interface ValidateCodeService -{ - /** - * 生成验证码 - */ - public AjaxResult createCaptcha() throws IOException, CaptchaException; - - /** - * 校验验证码 - */ - public void checkCaptcha(String key, String value) throws CaptchaException; -} diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/service/impl/ValidateCodeServiceImpl.java b/hrt-gateway/src/main/java/com/hrt/gateway/service/impl/ValidateCodeServiceImpl.java deleted file mode 100644 index 5dc25e1..0000000 --- a/hrt-gateway/src/main/java/com/hrt/gateway/service/impl/ValidateCodeServiceImpl.java +++ /dev/null @@ -1,120 +0,0 @@ -package com.hrt.gateway.service.impl; - -import java.awt.image.BufferedImage; -import java.io.IOException; -import java.util.concurrent.TimeUnit; -import javax.annotation.Resource; -import javax.imageio.ImageIO; - -import com.hrt.gateway.config.properties.CaptchaProperties; -import com.hrt.gateway.service.ValidateCodeService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.util.FastByteArrayOutputStream; -import com.google.code.kaptcha.Producer; -import com.hrt.common.core.constant.CacheConstants; -import com.hrt.common.core.constant.Constants; -import com.hrt.common.core.exception.CaptchaException; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.common.core.utils.sign.Base64; -import com.hrt.common.core.utils.uuid.IdUtils; -import com.hrt.common.core.web.domain.AjaxResult; -import com.hrt.common.redis.service.RedisService; - -/** - * 验证码实现处理 - * - * @author jqs - */ -@Service -public class ValidateCodeServiceImpl implements ValidateCodeService -{ - @Resource(name = "captchaProducer") - private Producer captchaProducer; - - @Resource(name = "captchaProducerMath") - private Producer captchaProducerMath; - - @Autowired - private RedisService redisService; - - @Autowired - private CaptchaProperties captchaProperties; - - /** - * 生成验证码 - */ - @Override - public AjaxResult createCaptcha() throws IOException, CaptchaException - { - AjaxResult ajax = AjaxResult.success(); - boolean captchaEnabled = captchaProperties.getEnabled(); - ajax.put("captchaEnabled", captchaEnabled); - if (!captchaEnabled) - { - return ajax; - } - - // 保存验证码信息 - String uuid = IdUtils.simpleUUID(); - String verifyKey = CacheConstants.CAPTCHA_CODE_KEY + uuid; - - String capStr = null, code = null; - BufferedImage image = null; - - String captchaType = captchaProperties.getType(); - // 生成验证码 - if ("math".equals(captchaType)) - { - String capText = captchaProducerMath.createText(); - capStr = capText.substring(0, capText.lastIndexOf("@")); - code = capText.substring(capText.lastIndexOf("@") + 1); - image = captchaProducerMath.createImage(capStr); - } - else if ("char".equals(captchaType)) - { - capStr = code = captchaProducer.createText(); - image = captchaProducer.createImage(capStr); - } - - redisService.setCacheObject(verifyKey, code, Constants.CAPTCHA_EXPIRATION, TimeUnit.MINUTES); - // 转换流信息写出 - FastByteArrayOutputStream os = new FastByteArrayOutputStream(); - try - { - ImageIO.write(image, "jpg", os); - } - catch (IOException e) - { - return AjaxResult.error(e.getMessage()); - } - - ajax.put("uuid", uuid); - ajax.put("img", Base64.encode(os.toByteArray())); - return ajax; - } - - /** - * 校验验证码 - */ - @Override - public void checkCaptcha(String code, String uuid) throws CaptchaException - { - if (StringUtils.isEmpty(code)) - { - throw new CaptchaException("验证码不能为空"); - } - if (StringUtils.isEmpty(uuid)) - { - throw new CaptchaException("验证码已失效"); - } - String verifyKey = CacheConstants.CAPTCHA_CODE_KEY + uuid; - String captcha = redisService.getCacheObject(verifyKey); - redisService.deleteObject(verifyKey); - - if (!code.equalsIgnoreCase(captcha)) - { - throw new CaptchaException("验证码错误"); - } - } -} diff --git a/hrt-gateway/src/main/resources/banner.txt b/hrt-gateway/src/main/resources/banner.txt deleted file mode 100644 index ceced29..0000000 --- a/hrt-gateway/src/main/resources/banner.txt +++ /dev/null @@ -1,10 +0,0 @@ -Spring Boot Version: ${spring-boot.version} -Spring Application Name: ${spring.application.name} - _ _ - (_) | | - _ __ _ _ ___ _ _ _ ______ __ _ __ _ | |_ ___ __ __ __ _ _ _ -| '__|| | | | / _ \ | | | || ||______| / _` | / _` || __| / _ \\ \ /\ / / / _` || | | | -| | | |_| || (_) || |_| || | | (_| || (_| || |_ | __/ \ V V / | (_| || |_| | -|_| \__,_| \___/ \__, ||_| \__, | \__,_| \__| \___| \_/\_/ \__,_| \__, | - __/ | __/ | __/ | - |___/ |___/ |___/ \ No newline at end of file diff --git a/hrt-gateway/src/main/resources/bootstrap.yml b/hrt-gateway/src/main/resources/bootstrap.yml deleted file mode 100644 index 837524d..0000000 --- a/hrt-gateway/src/main/resources/bootstrap.yml +++ /dev/null @@ -1,41 +0,0 @@ -# Tomcat -server: - port: 8080 - -# Spring -spring: - application: - # 应用名称 - name: hrt-gateway - profiles: - # 环境配置 - active: dev - cloud: - nacos: - discovery: - # 服务注册地址 - server-addr: 47.109.78.184:5000 - config: - # 配置中心地址 - server-addr: 47.109.78.184:5000 - # 配置文件格式 - file-extension: yml - # 共享配置 - shared-configs: - - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} - group: haiheng - sentinel: - # 取消控制台懒加载 - eager: true - transport: - # 控制台地址 - dashboard: 127.0.0.1:8718 - # nacos配置持久化 - datasource: - ds1: - nacos: - server-addr: 47.109.78.184:5000 - dataId: sentinel-hrt-gateway - groupId: DEFAULT_GROUP - data-type: json - rule-type: gw-flow diff --git a/hrt-gateway/src/main/resources/logback.xml b/hrt-gateway/src/main/resources/logback.xml deleted file mode 100644 index 233a05f..0000000 --- a/hrt-gateway/src/main/resources/logback.xml +++ /dev/null @@ -1,74 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<configuration scan="true" scanPeriod="60 seconds" debug="false"> - <!-- 日志存放路径 --> - <property name="log.path" value="logs/hrt-gateway" /> - <!-- 日志输出格式 --> - <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" /> - - <!-- 控制台输出 --> - <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> - <encoder> - <pattern>${log.pattern}</pattern> - </encoder> - </appender> - - <!-- 系统日志输出 --> - <appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${log.path}/info.log</file> - <!-- 循环政策:基于时间创建日志文件 --> - <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> - <!-- 日志文件名格式 --> - <fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern> - <!-- 日志最大的历史 60天 --> - <maxHistory>60</maxHistory> - </rollingPolicy> - <encoder> - <pattern>${log.pattern}</pattern> - </encoder> - <filter class="ch.qos.logback.classic.filter.LevelFilter"> - <!-- 过滤的级别 --> - <level>INFO</level> - <!-- 匹配时的操作:接收(记录) --> - <onMatch>ACCEPT</onMatch> - <!-- 不匹配时的操作:拒绝(不记录) --> - <onMismatch>DENY</onMismatch> - </filter> - </appender> - - <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${log.path}/error.log</file> - <!-- 循环政策:基于时间创建日志文件 --> - <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> - <!-- 日志文件名格式 --> - <fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern> - <!-- 日志最大的历史 60天 --> - <maxHistory>60</maxHistory> - </rollingPolicy> - <encoder> - <pattern>${log.pattern}</pattern> - </encoder> - <filter class="ch.qos.logback.classic.filter.LevelFilter"> - <!-- 过滤的级别 --> - <level>ERROR</level> - <!-- 匹配时的操作:接收(记录) --> - <onMatch>ACCEPT</onMatch> - <!-- 不匹配时的操作:拒绝(不记录) --> - <onMismatch>DENY</onMismatch> - </filter> - </appender> - - <!-- 系统模块日志级别控制 --> - <logger name="com.hrt" level="info" /> - <!-- Spring日志级别控制 --> - <logger name="org.springframework" level="warn" /> - - <root level="info"> - <appender-ref ref="console" /> - </root> - - <!--系统操作日志--> - <root level="info"> - <appender-ref ref="file_info" /> - <appender-ref ref="file_error" /> - </root> -</configuration> \ No newline at end of file diff --git a/hrt-modules/hrt-file/pom.xml b/hrt-modules/hrt-file/pom.xml deleted file mode 100644 index 325b213..0000000 --- a/hrt-modules/hrt-file/pom.xml +++ /dev/null @@ -1,88 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns="http://maven.apache.org/POM/4.0.0" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <parent> - <groupId>com.hrt</groupId> - <artifactId>hrt-modules</artifactId> - <version>3.6.2</version> - </parent> - <modelVersion>4.0.0</modelVersion> - - <artifactId>hrt-modules-file</artifactId> - - <description> - hrt-modules-file文件服务 - </description> - - <dependencies> - - <!-- SpringCloud Alibaba Nacos --> - <dependency> - <groupId>com.alibaba.cloud</groupId> - <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> - </dependency> - - <!-- SpringCloud Alibaba Nacos Config --> - <dependency> - <groupId>com.alibaba.cloud</groupId> - <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> - </dependency> - - <!-- SpringCloud Alibaba Sentinel --> - <dependency> - <groupId>com.alibaba.cloud</groupId> - <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> - </dependency> - - <!-- SpringBoot Actuator --> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-actuator</artifactId> - </dependency> - - <!-- FastDFS --> - <dependency> - <groupId>com.github.tobato</groupId> - <artifactId>fastdfs-client</artifactId> - </dependency> - - <!-- Minio --> - <dependency> - <groupId>io.minio</groupId> - <artifactId>minio</artifactId> - <version>${minio.version}</version> - </dependency> - - <!-- hrt Api System --> - <dependency> - <groupId>com.hrt</groupId> - <artifactId>hrt-api-system</artifactId> - </dependency> - - <!-- hrt Common Swagger --> - <dependency> - <groupId>com.hrt</groupId> - <artifactId>hrt-common-swagger</artifactId> - </dependency> - - </dependencies> - - <build> - <finalName>${project.artifactId}</finalName> - <plugins> - <plugin> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-maven-plugin</artifactId> - <executions> - <execution> - <goals> - <goal>repackage</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - -</project> \ No newline at end of file diff --git a/hrt-modules/hrt-file/src/main/java/com/hrt/file/HrtFileApplication.java b/hrt-modules/hrt-file/src/main/java/com/hrt/file/HrtFileApplication.java deleted file mode 100644 index 168a9bf..0000000 --- a/hrt-modules/hrt-file/src/main/java/com/hrt/file/HrtFileApplication.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.hrt.file; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; -import com.hrt.common.swagger.annotation.EnableCustomSwagger2; - -/** - * 文件服务 - * - * @author jqs - */ -@EnableCustomSwagger2 -@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class }) -public class HrtFileApplication -{ - public static void main(String[] args) - { - SpringApplication.run(HrtFileApplication.class, args); - System.out.println("文件服务模块启动成功"); - } -} diff --git a/hrt-modules/hrt-file/src/main/java/com/hrt/file/config/MinioConfig.java b/hrt-modules/hrt-file/src/main/java/com/hrt/file/config/MinioConfig.java deleted file mode 100644 index 848afc2..0000000 --- a/hrt-modules/hrt-file/src/main/java/com/hrt/file/config/MinioConfig.java +++ /dev/null @@ -1,82 +0,0 @@ -package com.hrt.file.config; - -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import io.minio.MinioClient; - -/** - * Minio 配置信息 - * - * @author jqs - */ -@Configuration -@ConfigurationProperties(prefix = "minio") -public class MinioConfig -{ - /** - * 服务地址 - */ - private String url; - - /** - * 用户名 - */ - private String accessKey; - - /** - * 密码 - */ - private String secretKey; - - /** - * 存储桶名称 - */ - private String bucketName; - - public String getUrl() - { - return url; - } - - public void setUrl(String url) - { - this.url = url; - } - - public String getAccessKey() - { - return accessKey; - } - - public void setAccessKey(String accessKey) - { - this.accessKey = accessKey; - } - - public String getSecretKey() - { - return secretKey; - } - - public void setSecretKey(String secretKey) - { - this.secretKey = secretKey; - } - - public String getBucketName() - { - return bucketName; - } - - public void setBucketName(String bucketName) - { - this.bucketName = bucketName; - } - - @Bean - public MinioClient getMinioClient() - { - return MinioClient.builder().endpoint(url).credentials(accessKey, secretKey).build(); - } -} diff --git a/hrt-modules/hrt-file/src/main/java/com/hrt/file/config/ResourcesConfig.java b/hrt-modules/hrt-file/src/main/java/com/hrt/file/config/ResourcesConfig.java deleted file mode 100644 index ac953cc..0000000 --- a/hrt-modules/hrt-file/src/main/java/com/hrt/file/config/ResourcesConfig.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.hrt.file.config; - -import java.io.File; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Configuration; -import org.springframework.web.servlet.config.annotation.CorsRegistry; -import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; - -/** - * 通用映射配置 - * - * @author jqs - */ -@Configuration -public class ResourcesConfig implements WebMvcConfigurer -{ - /** - * 上传文件存储在本地的根路径 - */ - @Value("${file.path}") - private String localFilePath; - - /** - * 资源映射路径 前缀 - */ - @Value("${file.prefix}") - public String localFilePrefix; - - @Override - public void addResourceHandlers(ResourceHandlerRegistry registry) - { - /** 本地文件上传路径 */ - registry.addResourceHandler(localFilePrefix + "/**") - .addResourceLocations("file:" + localFilePath + File.separator); - } - - /** - * 开启跨域 - */ - @Override - public void addCorsMappings(CorsRegistry registry) { - // 设置允许跨域的路由 - registry.addMapping(localFilePrefix + "/**") - // 设置允许跨域请求的域名 - .allowedOrigins("*") - // 设置允许的方法 - .allowedMethods("GET"); - } -} \ No newline at end of file diff --git a/hrt-modules/hrt-file/src/main/java/com/hrt/file/controller/SysFileController.java b/hrt-modules/hrt-file/src/main/java/com/hrt/file/controller/SysFileController.java deleted file mode 100644 index 561d880..0000000 --- a/hrt-modules/hrt-file/src/main/java/com/hrt/file/controller/SysFileController.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.hrt.file.controller; - -import com.hrt.file.service.ISysFileService; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RestController; -import org.springframework.web.multipart.MultipartFile; -import com.hrt.common.core.domain.R; -import com.hrt.common.core.utils.file.FileUtils; -import com.hrt.system.api.domain.SysFile; - -/** - * 文件请求处理 - * - * @author jqs - */ -@RestController -public class SysFileController -{ - private static final Logger log = LoggerFactory.getLogger(SysFileController.class); - - @Autowired - private ISysFileService sysFileService; - - /** - * 文件上传请求 - */ - @PostMapping("upload") - public R<SysFile> upload(MultipartFile file) - { - try - { - // 上传并返回访问地址 - String url = sysFileService.uploadFile(file); - SysFile sysFile = new SysFile(); - sysFile.setName(FileUtils.getName(url)); - sysFile.setUrl(url); - return R.ok(sysFile); - } - catch (Exception e) - { - log.error("上传文件失败", e); - return R.fail(e.getMessage()); - } - } -} \ No newline at end of file diff --git a/hrt-modules/hrt-file/src/main/java/com/hrt/file/remote/RemoteUserService.java b/hrt-modules/hrt-file/src/main/java/com/hrt/file/remote/RemoteUserService.java deleted file mode 100644 index 30a345c..0000000 --- a/hrt-modules/hrt-file/src/main/java/com/hrt/file/remote/RemoteUserService.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.hrt.file.remote; - -/** - * @author jqs34 - * @ClassName RemoteUserService - * @description: TODO - * @date 2023年04月15日 - * @version: 1.0 - */ - -import com.hrt.common.core.constant.SecurityConstants; -import com.hrt.common.core.constant.ServiceNameConstants; -import com.hrt.common.core.domain.R; -import com.hrt.system.api.domain.SysUser; -import com.hrt.system.api.factory.RemoteUserFallbackFactory; -import com.hrt.system.api.model.LoginUser; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.*; - -/** - * 用户服务 - * - * @author jqs - */ -@FeignClient(contextId = "remoteUserService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteUserFallbackFactory.class) -public interface RemoteUserService -{ - /** - * 通过用户名查询用户信息 - * - * @param username 用户名 - * @param source 请求来源 - * @return 结果 - */ - @GetMapping("/user/info/{username}") - public R<LoginUser> getUserInfo(@PathVariable("username") String username, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); - - /** - * 注册用户信息 - * - * @param sysUser 用户信息 - * @param source 请求来源 - * @return 结果 - */ - @PostMapping("/user/register") - public R<Boolean> registerUserInfo(@RequestBody SysUser sysUser, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); -} diff --git a/hrt-modules/hrt-file/src/main/java/com/hrt/file/service/FastDfsSysFileServiceImpl.java b/hrt-modules/hrt-file/src/main/java/com/hrt/file/service/FastDfsSysFileServiceImpl.java deleted file mode 100644 index ba87dad..0000000 --- a/hrt-modules/hrt-file/src/main/java/com/hrt/file/service/FastDfsSysFileServiceImpl.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.hrt.file.service; - -import java.io.InputStream; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Service; -import org.springframework.web.multipart.MultipartFile; -import com.github.tobato.fastdfs.domain.fdfs.StorePath; -import com.github.tobato.fastdfs.service.FastFileStorageClient; -import com.hrt.common.core.utils.file.FileTypeUtils; - -/** - * FastDFS 文件存储 - * - * @author jqs - */ -@Service -public class FastDfsSysFileServiceImpl implements ISysFileService -{ - /** - * 域名或本机访问地址 - */ - @Value("${fdfs.domain}") - public String domain; - - @Autowired - private FastFileStorageClient storageClient; - - /** - * FastDfs文件上传接口 - * - * @param file 上传的文件 - * @return 访问地址 - * @throws Exception - */ - @Override - public String uploadFile(MultipartFile file) throws Exception - { - InputStream inputStream = file.getInputStream(); - StorePath storePath = storageClient.uploadFile(inputStream, file.getSize(), - FileTypeUtils.getExtension(file), null); - inputStream.close(); - return domain + "/" + storePath.getFullPath(); - } -} diff --git a/hrt-modules/hrt-file/src/main/java/com/hrt/file/service/ISysFileService.java b/hrt-modules/hrt-file/src/main/java/com/hrt/file/service/ISysFileService.java deleted file mode 100644 index 4830c10..0000000 --- a/hrt-modules/hrt-file/src/main/java/com/hrt/file/service/ISysFileService.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.hrt.file.service; - -import org.springframework.web.multipart.MultipartFile; - -/** - * 文件上传接口 - * - * @author jqs - */ -public interface ISysFileService -{ - /** - * 文件上传接口 - * - * @param file 上传的文件 - * @return 访问地址 - * @throws Exception - */ - public String uploadFile(MultipartFile file) throws Exception; -} diff --git a/hrt-modules/hrt-file/src/main/java/com/hrt/file/service/LocalSysFileServiceImpl.java b/hrt-modules/hrt-file/src/main/java/com/hrt/file/service/LocalSysFileServiceImpl.java deleted file mode 100644 index c52f31a..0000000 --- a/hrt-modules/hrt-file/src/main/java/com/hrt/file/service/LocalSysFileServiceImpl.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.hrt.file.service; - -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Primary; -import org.springframework.stereotype.Service; -import org.springframework.web.multipart.MultipartFile; -import com.hrt.file.utils.FileUploadUtils; - -/** - * 本地文件存储 - * - * @author jqs - */ -@Primary -@Service -public class LocalSysFileServiceImpl implements ISysFileService -{ - /** - * 资源映射路径 前缀 - */ - @Value("${file.prefix}") - public String localFilePrefix; - - /** - * 域名或本机访问地址 - */ - @Value("${file.domain}") - public String domain; - - /** - * 上传文件存储在本地的根路径 - */ - @Value("${file.path}") - private String localFilePath; - - /** - * 本地文件上传接口 - * - * @param file 上传的文件 - * @return 访问地址 - * @throws Exception - */ - @Override - public String uploadFile(MultipartFile file) throws Exception - { - String name = FileUploadUtils.upload(localFilePath, file); - String url = domain + localFilePrefix + name; - return url; - } -} diff --git a/hrt-modules/hrt-file/src/main/java/com/hrt/file/service/MinioSysFileServiceImpl.java b/hrt-modules/hrt-file/src/main/java/com/hrt/file/service/MinioSysFileServiceImpl.java deleted file mode 100644 index 5ed2b88..0000000 --- a/hrt-modules/hrt-file/src/main/java/com/hrt/file/service/MinioSysFileServiceImpl.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.hrt.file.service; - -import java.io.InputStream; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.web.multipart.MultipartFile; -import com.hrt.file.config.MinioConfig; -import com.hrt.file.utils.FileUploadUtils; -import io.minio.MinioClient; -import io.minio.PutObjectArgs; - -/** - * Minio 文件存储 - * - * @author jqs - */ -@Service -public class MinioSysFileServiceImpl implements ISysFileService -{ - @Autowired - private MinioConfig minioConfig; - - @Autowired - private MinioClient client; - - /** - * Minio文件上传接口 - * - * @param file 上传的文件 - * @return 访问地址 - * @throws Exception - */ - @Override - public String uploadFile(MultipartFile file) throws Exception - { - String fileName = FileUploadUtils.extractFilename(file); - InputStream inputStream = file.getInputStream(); - PutObjectArgs args = PutObjectArgs.builder() - .bucket(minioConfig.getBucketName()) - .object(fileName) - .stream(inputStream, file.getSize(), -1) - .contentType(file.getContentType()) - .build(); - client.putObject(args); - inputStream.close(); - return minioConfig.getUrl() + "/" + minioConfig.getBucketName() + "/" + fileName; - } -} diff --git a/hrt-modules/hrt-file/src/main/java/com/hrt/file/utils/FileUploadUtils.java b/hrt-modules/hrt-file/src/main/java/com/hrt/file/utils/FileUploadUtils.java deleted file mode 100644 index 3c88a3b..0000000 --- a/hrt-modules/hrt-file/src/main/java/com/hrt/file/utils/FileUploadUtils.java +++ /dev/null @@ -1,185 +0,0 @@ -package com.hrt.file.utils; - -import java.io.File; -import java.io.IOException; -import java.nio.file.Paths; -import java.util.Objects; -import org.apache.commons.io.FilenameUtils; -import org.springframework.web.multipart.MultipartFile; -import com.hrt.common.core.exception.file.FileException; -import com.hrt.common.core.exception.file.FileNameLengthLimitExceededException; -import com.hrt.common.core.exception.file.FileSizeLimitExceededException; -import com.hrt.common.core.exception.file.InvalidExtensionException; -import com.hrt.common.core.utils.DateUtils; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.common.core.utils.file.FileTypeUtils; -import com.hrt.common.core.utils.file.MimeTypeUtils; -import com.hrt.common.core.utils.uuid.Seq; - -/** - * 文件上传工具类 - * - * @author jqs - */ -public class FileUploadUtils -{ - /** - * 默认大小 50M - */ - public static final long DEFAULT_MAX_SIZE = 50 * 1024 * 1024; - - /** - * 默认的文件名最大长度 100 - */ - public static final int DEFAULT_FILE_NAME_LENGTH = 100; - - /** - * 根据文件路径上传 - * - * @param baseDir 相对应用的基目录 - * @param file 上传的文件 - * @return 文件名称 - * @throws IOException - */ - public static final String upload(String baseDir, MultipartFile file) throws IOException - { - try - { - return upload(baseDir, file, MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION); - } - catch (FileException fe) - { - throw new IOException(fe.getDefaultMessage(), fe); - } - catch (Exception e) - { - throw new IOException(e.getMessage(), e); - } - } - - /** - * 文件上传 - * - * @param baseDir 相对应用的基目录 - * @param file 上传的文件 - * @param allowedExtension 上传文件类型 - * @return 返回上传成功的文件名 - * @throws FileSizeLimitExceededException 如果超出最大大小 - * @throws FileNameLengthLimitExceededException 文件名太长 - * @throws IOException 比如读写文件出错时 - * @throws InvalidExtensionException 文件校验异常 - */ - public static final String upload(String baseDir, MultipartFile file, String[] allowedExtension) - throws FileSizeLimitExceededException, IOException, FileNameLengthLimitExceededException, - InvalidExtensionException - { - int fileNamelength = Objects.requireNonNull(file.getOriginalFilename()).length(); - if (fileNamelength > FileUploadUtils.DEFAULT_FILE_NAME_LENGTH) - { - throw new FileNameLengthLimitExceededException(FileUploadUtils.DEFAULT_FILE_NAME_LENGTH); - } - - assertAllowed(file, allowedExtension); - - String fileName = extractFilename(file); - - String absPath = getAbsoluteFile(baseDir, fileName).getAbsolutePath(); - file.transferTo(Paths.get(absPath)); - return getPathFileName(fileName); - } - - /** - * 编码文件名 - */ - public static final String extractFilename(MultipartFile file) - { - return StringUtils.format("{}/{}_{}.{}", DateUtils.datePath(), - FilenameUtils.getBaseName(file.getOriginalFilename()), Seq.getId(Seq.uploadSeqType), FileTypeUtils.getExtension(file)); - } - - private static final File getAbsoluteFile(String uploadDir, String fileName) throws IOException - { - File desc = new File(uploadDir + File.separator + fileName); - - if (!desc.exists()) - { - if (!desc.getParentFile().exists()) - { - desc.getParentFile().mkdirs(); - } - } - return desc.isAbsolute() ? desc : desc.getAbsoluteFile(); - } - - private static final String getPathFileName(String fileName) throws IOException - { - String pathFileName = "/" + fileName; - return pathFileName; - } - - /** - * 文件大小校验 - * - * @param file 上传的文件 - * @throws FileSizeLimitExceededException 如果超出最大大小 - * @throws InvalidExtensionException 文件校验异常 - */ - public static final void assertAllowed(MultipartFile file, String[] allowedExtension) - throws FileSizeLimitExceededException, InvalidExtensionException - { - long size = file.getSize(); - if (size > DEFAULT_MAX_SIZE) - { - throw new FileSizeLimitExceededException(DEFAULT_MAX_SIZE / 1024 / 1024); - } - - String fileName = file.getOriginalFilename(); - String extension = FileTypeUtils.getExtension(file); - if (allowedExtension != null && !isAllowedExtension(extension, allowedExtension)) - { - if (allowedExtension == MimeTypeUtils.IMAGE_EXTENSION) - { - throw new InvalidExtensionException.InvalidImageExtensionException(allowedExtension, extension, - fileName); - } - else if (allowedExtension == MimeTypeUtils.FLASH_EXTENSION) - { - throw new InvalidExtensionException.InvalidFlashExtensionException(allowedExtension, extension, - fileName); - } - else if (allowedExtension == MimeTypeUtils.MEDIA_EXTENSION) - { - throw new InvalidExtensionException.InvalidMediaExtensionException(allowedExtension, extension, - fileName); - } - else if (allowedExtension == MimeTypeUtils.VIDEO_EXTENSION) - { - throw new InvalidExtensionException.InvalidVideoExtensionException(allowedExtension, extension, - fileName); - } - else - { - throw new InvalidExtensionException(allowedExtension, extension, fileName); - } - } - } - - /** - * 判断MIME类型是否是允许的MIME类型 - * - * @param extension 上传文件类型 - * @param allowedExtension 允许上传文件类型 - * @return true/false - */ - public static final boolean isAllowedExtension(String extension, String[] allowedExtension) - { - for (String str : allowedExtension) - { - if (str.equalsIgnoreCase(extension)) - { - return true; - } - } - return false; - } -} \ No newline at end of file diff --git a/hrt-modules/hrt-file/src/main/resources/banner.txt b/hrt-modules/hrt-file/src/main/resources/banner.txt deleted file mode 100644 index 27cacb9..0000000 --- a/hrt-modules/hrt-file/src/main/resources/banner.txt +++ /dev/null @@ -1,10 +0,0 @@ -Spring Boot Version: ${spring-boot.version} -Spring Application Name: ${spring.application.name} - _ __ _ _ - (_) / _|(_)| | - _ __ _ _ ___ _ _ _ ______ | |_ _ | | ___ -| '__|| | | | / _ \ | | | || ||______|| _|| || | / _ \ -| | | |_| || (_) || |_| || | | | | || || __/ -|_| \__,_| \___/ \__, ||_| |_| |_||_| \___| - __/ | - |___/ \ No newline at end of file diff --git a/hrt-modules/hrt-file/src/main/resources/bootstrap.yml b/hrt-modules/hrt-file/src/main/resources/bootstrap.yml deleted file mode 100644 index 93832b9..0000000 --- a/hrt-modules/hrt-file/src/main/resources/bootstrap.yml +++ /dev/null @@ -1,26 +0,0 @@ -# Tomcat -server: - port: 9300 - -# Spring -spring: - application: - # 应用名称 - name: hrt-file - profiles: - # 环境配置 - active: dev - cloud: - nacos: - discovery: - # 服务注册地址 - server-addr: 47.109.78.184:5000 - config: - # 配置中心地址 - server-addr: 47.109.78.184:5000 - # 配置文件格式 - file-extension: yml - # 共享配置 - shared-configs: - - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} - group: haiheng \ No newline at end of file diff --git a/hrt-modules/hrt-file/src/main/resources/logback.xml b/hrt-modules/hrt-file/src/main/resources/logback.xml deleted file mode 100644 index 26e9a52..0000000 --- a/hrt-modules/hrt-file/src/main/resources/logback.xml +++ /dev/null @@ -1,74 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<configuration scan="true" scanPeriod="60 seconds" debug="false"> - <!-- 日志存放路径 --> - <property name="log.path" value="logs/hrt-file" /> - <!-- 日志输出格式 --> - <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" /> - - <!-- 控制台输出 --> - <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> - <encoder> - <pattern>${log.pattern}</pattern> - </encoder> - </appender> - - <!-- 系统日志输出 --> - <appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${log.path}/info.log</file> - <!-- 循环政策:基于时间创建日志文件 --> - <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> - <!-- 日志文件名格式 --> - <fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern> - <!-- 日志最大的历史 60天 --> - <maxHistory>60</maxHistory> - </rollingPolicy> - <encoder> - <pattern>${log.pattern}</pattern> - </encoder> - <filter class="ch.qos.logback.classic.filter.LevelFilter"> - <!-- 过滤的级别 --> - <level>INFO</level> - <!-- 匹配时的操作:接收(记录) --> - <onMatch>ACCEPT</onMatch> - <!-- 不匹配时的操作:拒绝(不记录) --> - <onMismatch>DENY</onMismatch> - </filter> - </appender> - - <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${log.path}/error.log</file> - <!-- 循环政策:基于时间创建日志文件 --> - <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> - <!-- 日志文件名格式 --> - <fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern> - <!-- 日志最大的历史 60天 --> - <maxHistory>60</maxHistory> - </rollingPolicy> - <encoder> - <pattern>${log.pattern}</pattern> - </encoder> - <filter class="ch.qos.logback.classic.filter.LevelFilter"> - <!-- 过滤的级别 --> - <level>ERROR</level> - <!-- 匹配时的操作:接收(记录) --> - <onMatch>ACCEPT</onMatch> - <!-- 不匹配时的操作:拒绝(不记录) --> - <onMismatch>DENY</onMismatch> - </filter> - </appender> - - <!-- 系统模块日志级别控制 --> - <logger name="com.hrt" level="info" /> - <!-- Spring日志级别控制 --> - <logger name="org.springframework" level="warn" /> - - <root level="info"> - <appender-ref ref="console" /> - </root> - - <!--系统操作日志--> - <root level="info"> - <appender-ref ref="file_info" /> - <appender-ref ref="file_error" /> - </root> -</configuration> \ No newline at end of file diff --git a/hrt-modules/hrt-gen/pom.xml b/hrt-modules/hrt-gen/pom.xml deleted file mode 100644 index 3130a57..0000000 --- a/hrt-modules/hrt-gen/pom.xml +++ /dev/null @@ -1,94 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns="http://maven.apache.org/POM/4.0.0" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <parent> - <groupId>com.hrt</groupId> - <artifactId>hrt-modules</artifactId> - <version>3.6.2</version> - </parent> - <modelVersion>4.0.0</modelVersion> - - <artifactId>hrt-modules-gen</artifactId> - - <description> - hrt-modules-gen代码生成 - </description> - - <dependencies> - - <!-- SpringCloud Alibaba Nacos --> - <dependency> - <groupId>com.alibaba.cloud</groupId> - <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> - </dependency> - - <!-- SpringCloud Alibaba Nacos Config --> - <dependency> - <groupId>com.alibaba.cloud</groupId> - <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> - </dependency> - - <!-- SpringCloud Alibaba Sentinel --> - <dependency> - <groupId>com.alibaba.cloud</groupId> - <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> - </dependency> - - <!-- SpringBoot Actuator --> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-actuator</artifactId> - </dependency> - - <!-- Swagger UI --> - <dependency> - <groupId>io.springfox</groupId> - <artifactId>springfox-swagger-ui</artifactId> - <version>${swagger.fox.version}</version> - </dependency> - - <!-- Apache Velocity --> - <dependency> - <groupId>org.apache.velocity</groupId> - <artifactId>velocity-engine-core</artifactId> - </dependency> - - <!-- Mysql Connector --> - <dependency> - <groupId>mysql</groupId> - <artifactId>mysql-connector-java</artifactId> - </dependency> - - <!-- hrt Common Log --> - <dependency> - <groupId>com.hrt</groupId> - <artifactId>hrt-common-log</artifactId> - </dependency> - - <!-- hrt Common Swagger --> - <dependency> - <groupId>com.hrt</groupId> - <artifactId>hrt-common-swagger</artifactId> - </dependency> - - </dependencies> - - <build> - <finalName>${project.artifactId}</finalName> - <plugins> - <plugin> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-maven-plugin</artifactId> - <executions> - <execution> - <goals> - <goal>repackage</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - -</project> \ No newline at end of file diff --git a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/HrtGenApplication.java b/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/HrtGenApplication.java deleted file mode 100644 index f47b34b..0000000 --- a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/HrtGenApplication.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.hrt.gen; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import com.hrt.common.security.annotation.EnableCustomConfig; -import com.hrt.common.security.annotation.EnableRyFeignClients; -import com.hrt.common.swagger.annotation.EnableCustomSwagger2; - -/** - * 代码生成 - * - * @author jqs - */ -@EnableCustomConfig -@EnableCustomSwagger2 -@EnableRyFeignClients -@SpringBootApplication -public class HrtGenApplication -{ - public static void main(String[] args) - { - SpringApplication.run(HrtGenApplication.class, args); - System.out.println("代码生成模块启动成功"); - } -} diff --git a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/config/GenConfig.java b/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/config/GenConfig.java deleted file mode 100644 index f94a8d9..0000000 --- a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/config/GenConfig.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.hrt.gen.config; - -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.stereotype.Component; - -/** - * 代码生成相关配置 - * - * @author jqs - */ -@Component -@ConfigurationProperties(prefix = "gen") -public class GenConfig -{ - /** 作者 */ - public static String author; - - /** 生成包路径 */ - public static String packageName; - - /** 自动去除表前缀,默认是false */ - public static boolean autoRemovePre; - - /** 表前缀(类名不会包含表前缀) */ - public static String tablePrefix; - - public static String getAuthor() - { - return author; - } - - public void setAuthor(String author) - { - GenConfig.author = author; - } - - public static String getPackageName() - { - return packageName; - } - - public void setPackageName(String packageName) - { - GenConfig.packageName = packageName; - } - - public static boolean getAutoRemovePre() - { - return autoRemovePre; - } - - public void setAutoRemovePre(boolean autoRemovePre) - { - GenConfig.autoRemovePre = autoRemovePre; - } - - public static String getTablePrefix() - { - return tablePrefix; - } - - public void setTablePrefix(String tablePrefix) - { - GenConfig.tablePrefix = tablePrefix; - } -} diff --git a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/controller/GenController.java b/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/controller/GenController.java deleted file mode 100644 index 3c0594b..0000000 --- a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/controller/GenController.java +++ /dev/null @@ -1,211 +0,0 @@ -package com.hrt.gen.controller; - -import java.io.IOException; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import javax.servlet.http.HttpServletResponse; -import org.apache.commons.io.IOUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import com.hrt.common.core.text.Convert; -import com.hrt.common.core.web.controller.BaseController; -import com.hrt.common.core.web.domain.AjaxResult; -import com.hrt.common.core.web.page.TableDataInfo; -import com.hrt.common.log.annotation.Log; -import com.hrt.common.log.enums.BusinessType; -import com.hrt.common.security.annotation.RequiresPermissions; -import com.hrt.gen.domain.GenTable; -import com.hrt.gen.domain.GenTableColumn; -import com.hrt.gen.service.IGenTableColumnService; -import com.hrt.gen.service.IGenTableService; - -/** - * 代码生成 操作处理 - * - * @author jqs - */ -@RequestMapping("/gen") -@RestController -public class GenController extends BaseController -{ - @Autowired - private IGenTableService genTableService; - - @Autowired - private IGenTableColumnService genTableColumnService; - - /** - * 查询代码生成列表 - */ - @RequiresPermissions("tool:gen:list") - @GetMapping("/list") - public TableDataInfo genList(GenTable genTable) - { - startPage(); - List<GenTable> list = genTableService.selectGenTableList(genTable); - return getDataTable(list); - } - - /** - * 修改代码生成业务 - */ - @RequiresPermissions("tool:gen:query") - @GetMapping(value = "/{tableId}") - public AjaxResult getInfo(@PathVariable Long tableId) - { - GenTable table = genTableService.selectGenTableById(tableId); - List<GenTable> tables = genTableService.selectGenTableAll(); - List<GenTableColumn> list = genTableColumnService.selectGenTableColumnListByTableId(tableId); - Map<String, Object> map = new HashMap<String, Object>(); - map.put("info", table); - map.put("rows", list); - map.put("tables", tables); - return success(map); - } - - /** - * 查询数据库列表 - */ - @RequiresPermissions("tool:gen:list") - @GetMapping("/db/list") - public TableDataInfo dataList(GenTable genTable) - { - startPage(); - List<GenTable> list = genTableService.selectDbTableList(genTable); - return getDataTable(list); - } - - /** - * 查询数据表字段列表 - */ - @GetMapping(value = "/column/{tableId}") - public TableDataInfo columnList(Long tableId) - { - TableDataInfo dataInfo = new TableDataInfo(); - List<GenTableColumn> list = genTableColumnService.selectGenTableColumnListByTableId(tableId); - dataInfo.setRows(list); - dataInfo.setTotal(list.size()); - return dataInfo; - } - - /** - * 导入表结构(保存) - */ - @RequiresPermissions("tool:gen:import") - @Log(title = "代码生成", businessType = BusinessType.IMPORT) - @PostMapping("/importTable") - public AjaxResult importTableSave(String tables) - { - String[] tableNames = Convert.toStrArray(tables); - // 查询表信息 - List<GenTable> tableList = genTableService.selectDbTableListByNames(tableNames); - genTableService.importGenTable(tableList); - return success(); - } - - /** - * 修改保存代码生成业务 - */ - @RequiresPermissions("tool:gen:edit") - @Log(title = "代码生成", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult editSave(@Validated @RequestBody GenTable genTable) - { - genTableService.validateEdit(genTable); - genTableService.updateGenTable(genTable); - return success(); - } - - /** - * 删除代码生成 - */ - @RequiresPermissions("tool:gen:remove") - @Log(title = "代码生成", businessType = BusinessType.DELETE) - @DeleteMapping("/{tableIds}") - public AjaxResult remove(@PathVariable Long[] tableIds) - { - genTableService.deleteGenTableByIds(tableIds); - return success(); - } - - /** - * 预览代码 - */ - @RequiresPermissions("tool:gen:preview") - @GetMapping("/preview/{tableId}") - public AjaxResult preview(@PathVariable("tableId") Long tableId) throws IOException - { - Map<String, String> dataMap = genTableService.previewCode(tableId); - return success(dataMap); - } - - /** - * 生成代码(下载方式) - */ - @RequiresPermissions("tool:gen:code") - @Log(title = "代码生成", businessType = BusinessType.GENCODE) - @GetMapping("/download/{tableName}") - public void download(HttpServletResponse response, @PathVariable("tableName") String tableName) throws IOException - { - byte[] data = genTableService.downloadCode(tableName); - genCode(response, data); - } - - /** - * 生成代码(自定义路径) - */ - @RequiresPermissions("tool:gen:code") - @Log(title = "代码生成", businessType = BusinessType.GENCODE) - @GetMapping("/genCode/{tableName}") - public AjaxResult genCode(@PathVariable("tableName") String tableName) - { - genTableService.generatorCode(tableName); - return success(); - } - - /** - * 同步数据库 - */ - @RequiresPermissions("tool:gen:edit") - @Log(title = "代码生成", businessType = BusinessType.UPDATE) - @GetMapping("/synchDb/{tableName}") - public AjaxResult synchDb(@PathVariable("tableName") String tableName) - { - genTableService.synchDb(tableName); - return success(); - } - - /** - * 批量生成代码 - */ - @RequiresPermissions("tool:gen:code") - @Log(title = "代码生成", businessType = BusinessType.GENCODE) - @GetMapping("/batchGenCode") - public void batchGenCode(HttpServletResponse response, String tables) throws IOException - { - String[] tableNames = Convert.toStrArray(tables); - byte[] data = genTableService.downloadCode(tableNames); - genCode(response, data); - } - - /** - * 生成zip文件 - */ - private void genCode(HttpServletResponse response, byte[] data) throws IOException - { - response.reset(); - response.setHeader("Content-Disposition", "attachment; filename=\"hrt.zip\""); - response.addHeader("Content-Length", "" + data.length); - response.setContentType("application/octet-stream; charset=UTF-8"); - IOUtils.write(data, response.getOutputStream()); - } -} diff --git a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/domain/GenTable.java b/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/domain/GenTable.java deleted file mode 100644 index 6a8eacc..0000000 --- a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/domain/GenTable.java +++ /dev/null @@ -1,370 +0,0 @@ -package com.hrt.gen.domain; - -import java.util.List; -import javax.validation.Valid; -import javax.validation.constraints.NotBlank; -import org.apache.commons.lang3.ArrayUtils; -import com.hrt.common.core.constant.GenConstants; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.common.core.web.domain.BaseEntity; - -/** - * 业务表 gen_table - * - * @author jqs - */ -public class GenTable extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** 编号 */ - private Long tableId; - - /** 表名称 */ - @NotBlank(message = "表名称不能为空") - private String tableName; - - /** 表描述 */ - @NotBlank(message = "表描述不能为空") - private String tableComment; - - /** 关联父表的表名 */ - private String subTableName; - - /** 本表关联父表的外键名 */ - private String subTableFkName; - - /** 实体类名称(首字母大写) */ - @NotBlank(message = "实体类名称不能为空") - private String className; - - /** 使用的模板(crud单表操作 tree树表操作 sub主子表操作) */ - private String tplCategory; - - /** 生成包路径 */ - @NotBlank(message = "生成包路径不能为空") - private String packageName; - - /** 生成模块名 */ - @NotBlank(message = "生成模块名不能为空") - private String moduleName; - - /** 生成业务名 */ - @NotBlank(message = "生成业务名不能为空") - private String businessName; - - /** 生成功能名 */ - @NotBlank(message = "生成功能名不能为空") - private String functionName; - - /** 生成作者 */ - @NotBlank(message = "作者不能为空") - private String functionAuthor; - - /** 生成代码方式(0zip压缩包 1自定义路径) */ - private String genType; - - /** 生成路径(不填默认项目路径) */ - private String genPath; - - /** 主键信息 */ - private GenTableColumn pkColumn; - - /** 子表信息 */ - private GenTable subTable; - - /** 表列信息 */ - @Valid - private List<GenTableColumn> columns; - - /** 其它生成选项 */ - private String options; - - /** 树编码字段 */ - private String treeCode; - - /** 树父编码字段 */ - private String treeParentCode; - - /** 树名称字段 */ - private String treeName; - - /** 上级菜单ID字段 */ - private String parentMenuId; - - /** 上级菜单名称字段 */ - private String parentMenuName; - - public Long getTableId() - { - return tableId; - } - - public void setTableId(Long tableId) - { - this.tableId = tableId; - } - - public String getTableName() - { - return tableName; - } - - public void setTableName(String tableName) - { - this.tableName = tableName; - } - - public String getTableComment() - { - return tableComment; - } - - public void setTableComment(String tableComment) - { - this.tableComment = tableComment; - } - - public String getSubTableName() - { - return subTableName; - } - - public void setSubTableName(String subTableName) - { - this.subTableName = subTableName; - } - - public String getSubTableFkName() - { - return subTableFkName; - } - - public void setSubTableFkName(String subTableFkName) - { - this.subTableFkName = subTableFkName; - } - - public String getClassName() - { - return className; - } - - public void setClassName(String className) - { - this.className = className; - } - - public String getTplCategory() - { - return tplCategory; - } - - public void setTplCategory(String tplCategory) - { - this.tplCategory = tplCategory; - } - - public String getPackageName() - { - return packageName; - } - - public void setPackageName(String packageName) - { - this.packageName = packageName; - } - - public String getModuleName() - { - return moduleName; - } - - public void setModuleName(String moduleName) - { - this.moduleName = moduleName; - } - - public String getBusinessName() - { - return businessName; - } - - public void setBusinessName(String businessName) - { - this.businessName = businessName; - } - - public String getFunctionName() - { - return functionName; - } - - public void setFunctionName(String functionName) - { - this.functionName = functionName; - } - - public String getFunctionAuthor() - { - return functionAuthor; - } - - public void setFunctionAuthor(String functionAuthor) - { - this.functionAuthor = functionAuthor; - } - - public String getGenType() - { - return genType; - } - - public void setGenType(String genType) - { - this.genType = genType; - } - - public String getGenPath() - { - return genPath; - } - - public void setGenPath(String genPath) - { - this.genPath = genPath; - } - - public GenTableColumn getPkColumn() - { - return pkColumn; - } - - public void setPkColumn(GenTableColumn pkColumn) - { - this.pkColumn = pkColumn; - } - - public GenTable getSubTable() - { - return subTable; - } - - public void setSubTable(GenTable subTable) - { - this.subTable = subTable; - } - public List<GenTableColumn> getColumns() - { - return columns; - } - - public void setColumns(List<GenTableColumn> columns) - { - this.columns = columns; - } - - public String getOptions() - { - return options; - } - - public void setOptions(String options) - { - this.options = options; - } - - public String getTreeCode() - { - return treeCode; - } - - public void setTreeCode(String treeCode) - { - this.treeCode = treeCode; - } - - public String getTreeParentCode() - { - return treeParentCode; - } - - public void setTreeParentCode(String treeParentCode) - { - this.treeParentCode = treeParentCode; - } - - public String getTreeName() - { - return treeName; - } - - public void setTreeName(String treeName) - { - this.treeName = treeName; - } - - public String getParentMenuId() - { - return parentMenuId; - } - - public void setParentMenuId(String parentMenuId) - { - this.parentMenuId = parentMenuId; - } - - public String getParentMenuName() - { - return parentMenuName; - } - - public void setParentMenuName(String parentMenuName) - { - this.parentMenuName = parentMenuName; - } - - public boolean isSub() - { - return isSub(this.tplCategory); - } - - public static boolean isSub(String tplCategory) - { - return tplCategory != null && StringUtils.equals(GenConstants.TPL_SUB, tplCategory); - } - public boolean isTree() - { - return isTree(this.tplCategory); - } - - public static boolean isTree(String tplCategory) - { - return tplCategory != null && StringUtils.equals(GenConstants.TPL_TREE, tplCategory); - } - - public boolean isCrud() - { - return isCrud(this.tplCategory); - } - - public static boolean isCrud(String tplCategory) - { - return tplCategory != null && StringUtils.equals(GenConstants.TPL_CRUD, tplCategory); - } - - public boolean isSuperColumn(String javaField) - { - return isSuperColumn(this.tplCategory, javaField); - } - - public static boolean isSuperColumn(String tplCategory, String javaField) - { - if (isTree(tplCategory)) - { - return StringUtils.equalsAnyIgnoreCase(javaField, - ArrayUtils.addAll(GenConstants.TREE_ENTITY, GenConstants.BASE_ENTITY)); - } - return StringUtils.equalsAnyIgnoreCase(javaField, GenConstants.BASE_ENTITY); - } -} diff --git a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/domain/GenTableColumn.java b/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/domain/GenTableColumn.java deleted file mode 100644 index 709e699..0000000 --- a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/domain/GenTableColumn.java +++ /dev/null @@ -1,374 +0,0 @@ -package com.hrt.gen.domain; - -import javax.validation.constraints.NotBlank; - -import com.hrt.common.core.utils.StringUtils; -import com.hrt.common.core.web.domain.BaseEntity; - -/** - * 代码生成业务字段表 gen_table_column - * - * @author jqs - */ -public class GenTableColumn extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** 编号 */ - private Long columnId; - - /** 归属表编号 */ - private Long tableId; - - /** 列名称 */ - private String columnName; - - /** 列描述 */ - private String columnComment; - - /** 列类型 */ - private String columnType; - - /** JAVA类型 */ - private String javaType; - - /** JAVA字段名 */ - @NotBlank(message = "Java属性不能为空") - private String javaField; - - /** 是否主键(1是) */ - private String isPk; - - /** 是否自增(1是) */ - private String isIncrement; - - /** 是否必填(1是) */ - private String isRequired; - - /** 是否为插入字段(1是) */ - private String isInsert; - - /** 是否编辑字段(1是) */ - private String isEdit; - - /** 是否列表字段(1是) */ - private String isList; - - /** 是否查询字段(1是) */ - private String isQuery; - - /** 查询方式(EQ等于、NE不等于、GT大于、LT小于、LIKE模糊、BETWEEN范围) */ - private String queryType; - - /** 显示类型(input文本框、textarea文本域、select下拉框、checkbox复选框、radio单选框、datetime日期控件、image图片上传控件、upload文件上传控件、editor富文本控件) */ - private String htmlType; - - /** 字典类型 */ - private String dictType; - - /** 排序 */ - private Integer sort; - - public void setColumnId(Long columnId) - { - this.columnId = columnId; - } - - public Long getColumnId() - { - return columnId; - } - - public void setTableId(Long tableId) - { - this.tableId = tableId; - } - - public Long getTableId() - { - return tableId; - } - - public void setColumnName(String columnName) - { - this.columnName = columnName; - } - - public String getColumnName() - { - return columnName; - } - - public void setColumnComment(String columnComment) - { - this.columnComment = columnComment; - } - - public String getColumnComment() - { - return columnComment; - } - - public void setColumnType(String columnType) - { - this.columnType = columnType; - } - - public String getColumnType() - { - return columnType; - } - - public void setJavaType(String javaType) - { - this.javaType = javaType; - } - - public String getJavaType() - { - return javaType; - } - - public void setJavaField(String javaField) - { - this.javaField = javaField; - } - - public String getJavaField() - { - return javaField; - } - - public String getCapJavaField() - { - return StringUtils.capitalize(javaField); - } - - public void setIsPk(String isPk) - { - this.isPk = isPk; - } - - public String getIsPk() - { - return isPk; - } - - public boolean isPk() - { - return isPk(this.isPk); - } - - public boolean isPk(String isPk) - { - return isPk != null && StringUtils.equals("1", isPk); - } - - public String getIsIncrement() - { - return isIncrement; - } - - public void setIsIncrement(String isIncrement) - { - this.isIncrement = isIncrement; - } - - public boolean isIncrement() - { - return isIncrement(this.isIncrement); - } - - public boolean isIncrement(String isIncrement) - { - return isIncrement != null && StringUtils.equals("1", isIncrement); - } - - public void setIsRequired(String isRequired) - { - this.isRequired = isRequired; - } - - public String getIsRequired() - { - return isRequired; - } - - public boolean isRequired() - { - return isRequired(this.isRequired); - } - - public boolean isRequired(String isRequired) - { - return isRequired != null && StringUtils.equals("1", isRequired); - } - - public void setIsInsert(String isInsert) - { - this.isInsert = isInsert; - } - - public String getIsInsert() - { - return isInsert; - } - - public boolean isInsert() - { - return isInsert(this.isInsert); - } - - public boolean isInsert(String isInsert) - { - return isInsert != null && StringUtils.equals("1", isInsert); - } - - public void setIsEdit(String isEdit) - { - this.isEdit = isEdit; - } - - public String getIsEdit() - { - return isEdit; - } - - public boolean isEdit() - { - return isInsert(this.isEdit); - } - - public boolean isEdit(String isEdit) - { - return isEdit != null && StringUtils.equals("1", isEdit); - } - - public void setIsList(String isList) - { - this.isList = isList; - } - - public String getIsList() - { - return isList; - } - - public boolean isList() - { - return isList(this.isList); - } - - public boolean isList(String isList) - { - return isList != null && StringUtils.equals("1", isList); - } - - public void setIsQuery(String isQuery) - { - this.isQuery = isQuery; - } - - public String getIsQuery() - { - return isQuery; - } - - public boolean isQuery() - { - return isQuery(this.isQuery); - } - - public boolean isQuery(String isQuery) - { - return isQuery != null && StringUtils.equals("1", isQuery); - } - - public void setQueryType(String queryType) - { - this.queryType = queryType; - } - - public String getQueryType() - { - return queryType; - } - - public String getHtmlType() - { - return htmlType; - } - - public void setHtmlType(String htmlType) - { - this.htmlType = htmlType; - } - - public void setDictType(String dictType) - { - this.dictType = dictType; - } - - public String getDictType() - { - return dictType; - } - - public void setSort(Integer sort) - { - this.sort = sort; - } - - public Integer getSort() - { - return sort; - } - - public boolean isSuperColumn() - { - return isSuperColumn(this.javaField); - } - - public static boolean isSuperColumn(String javaField) - { - return StringUtils.equalsAnyIgnoreCase(javaField, - // BaseEntity - "createBy", "createTime", "updateBy", "updateTime", "remark", - // TreeEntity - "parentName", "parentId", "orderNum", "ancestors"); - } - - public boolean isUsableColumn() - { - return isUsableColumn(javaField); - } - - public static boolean isUsableColumn(String javaField) - { - // isSuperColumn()中的名单用于避免生成多余Domain属性,若某些属性在生成页面时需要用到不能忽略,则放在此处白名单 - return StringUtils.equalsAnyIgnoreCase(javaField, "parentId", "orderNum", "remark"); - } - - public String readConverterExp() - { - String remarks = StringUtils.substringBetween(this.columnComment, "(", ")"); - StringBuffer sb = new StringBuffer(); - if (StringUtils.isNotEmpty(remarks)) - { - for (String value : remarks.split(" ")) - { - if (StringUtils.isNotEmpty(value)) - { - Object startStr = value.subSequence(0, 1); - String endStr = value.substring(1); - sb.append("").append(startStr).append("=").append(endStr).append(","); - } - } - return sb.deleteCharAt(sb.length() - 1).toString(); - } - else - { - return this.columnComment; - } - } -} \ No newline at end of file diff --git a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/mapper/GenTableColumnMapper.java b/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/mapper/GenTableColumnMapper.java deleted file mode 100644 index 393709c..0000000 --- a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/mapper/GenTableColumnMapper.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.hrt.gen.mapper; - -import java.util.List; -import com.hrt.gen.domain.GenTableColumn; - -/** - * 业务字段 数据层 - * - * @author jqs - */ -public interface GenTableColumnMapper -{ - /** - * 根据表名称查询列信息 - * - * @param tableName 表名称 - * @return 列信息 - */ - public List<GenTableColumn> selectDbTableColumnsByName(String tableName); - - /** - * 查询业务字段列表 - * - * @param tableId 业务字段编号 - * @return 业务字段集合 - */ - public List<GenTableColumn> selectGenTableColumnListByTableId(Long tableId); - - /** - * 新增业务字段 - * - * @param genTableColumn 业务字段信息 - * @return 结果 - */ - public int insertGenTableColumn(GenTableColumn genTableColumn); - - /** - * 修改业务字段 - * - * @param genTableColumn 业务字段信息 - * @return 结果 - */ - public int updateGenTableColumn(GenTableColumn genTableColumn); - - /** - * 删除业务字段 - * - * @param genTableColumns 列数据 - * @return 结果 - */ - public int deleteGenTableColumns(List<GenTableColumn> genTableColumns); - - /** - * 批量删除业务字段 - * - * @param ids 需要删除的数据ID - * @return 结果 - */ - public int deleteGenTableColumnByIds(Long[] ids); -} \ No newline at end of file diff --git a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/mapper/GenTableMapper.java b/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/mapper/GenTableMapper.java deleted file mode 100644 index b2637ad..0000000 --- a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/mapper/GenTableMapper.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.hrt.gen.mapper; - -import java.util.List; -import com.hrt.gen.domain.GenTable; - -/** - * 业务 数据层 - * - * @author jqs - */ -public interface GenTableMapper -{ - /** - * 查询业务列表 - * - * @param genTable 业务信息 - * @return 业务集合 - */ - public List<GenTable> selectGenTableList(GenTable genTable); - - /** - * 查询据库列表 - * - * @param genTable 业务信息 - * @return 数据库表集合 - */ - public List<GenTable> selectDbTableList(GenTable genTable); - - /** - * 查询据库列表 - * - * @param tableNames 表名称组 - * @return 数据库表集合 - */ - public List<GenTable> selectDbTableListByNames(String[] tableNames); - - /** - * 查询所有表信息 - * - * @return 表信息集合 - */ - public List<GenTable> selectGenTableAll(); - - /** - * 查询表ID业务信息 - * - * @param id 业务ID - * @return 业务信息 - */ - public GenTable selectGenTableById(Long id); - - /** - * 查询表名称业务信息 - * - * @param tableName 表名称 - * @return 业务信息 - */ - public GenTable selectGenTableByName(String tableName); - - /** - * 新增业务 - * - * @param genTable 业务信息 - * @return 结果 - */ - public int insertGenTable(GenTable genTable); - - /** - * 修改业务 - * - * @param genTable 业务信息 - * @return 结果 - */ - public int updateGenTable(GenTable genTable); - - /** - * 批量删除业务 - * - * @param ids 需要删除的数据ID - * @return 结果 - */ - public int deleteGenTableByIds(Long[] ids); -} \ No newline at end of file diff --git a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/service/GenTableColumnServiceImpl.java b/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/service/GenTableColumnServiceImpl.java deleted file mode 100644 index 3701fb4..0000000 --- a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/service/GenTableColumnServiceImpl.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.hrt.gen.service; - -import java.util.List; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.hrt.common.core.text.Convert; -import com.hrt.gen.domain.GenTableColumn; -import com.hrt.gen.mapper.GenTableColumnMapper; - -/** - * 业务字段 服务层实现 - * - * @author jqs - */ -@Service -public class GenTableColumnServiceImpl implements IGenTableColumnService -{ - @Autowired - private GenTableColumnMapper genTableColumnMapper; - - /** - * 查询业务字段列表 - * - * @param tableId 业务字段编号 - * @return 业务字段集合 - */ - @Override - public List<GenTableColumn> selectGenTableColumnListByTableId(Long tableId) - { - return genTableColumnMapper.selectGenTableColumnListByTableId(tableId); - } - - /** - * 新增业务字段 - * - * @param genTableColumn 业务字段信息 - * @return 结果 - */ - @Override - public int insertGenTableColumn(GenTableColumn genTableColumn) - { - return genTableColumnMapper.insertGenTableColumn(genTableColumn); - } - - /** - * 修改业务字段 - * - * @param genTableColumn 业务字段信息 - * @return 结果 - */ - @Override - public int updateGenTableColumn(GenTableColumn genTableColumn) - { - return genTableColumnMapper.updateGenTableColumn(genTableColumn); - } - - /** - * 删除业务字段对象 - * - * @param ids 需要删除的数据ID - * @return 结果 - */ - @Override - public int deleteGenTableColumnByIds(String ids) - { - return genTableColumnMapper.deleteGenTableColumnByIds(Convert.toLongArray(ids)); - } -} \ No newline at end of file diff --git a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/service/GenTableServiceImpl.java b/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/service/GenTableServiceImpl.java deleted file mode 100644 index 6493c1a..0000000 --- a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/service/GenTableServiceImpl.java +++ /dev/null @@ -1,521 +0,0 @@ -package com.hrt.gen.service; - -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.IOException; -import java.io.StringWriter; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.function.Function; -import java.util.stream.Collectors; -import java.util.zip.ZipEntry; -import java.util.zip.ZipOutputStream; -import org.apache.commons.io.FileUtils; -import org.apache.commons.io.IOUtils; -import org.apache.velocity.Template; -import org.apache.velocity.VelocityContext; -import org.apache.velocity.app.Velocity; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import com.alibaba.fastjson2.JSON; -import com.alibaba.fastjson2.JSONObject; -import com.hrt.common.core.constant.Constants; -import com.hrt.common.core.constant.GenConstants; -import com.hrt.common.core.exception.ServiceException; -import com.hrt.common.core.text.CharsetKit; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.common.security.utils.SecurityUtils; -import com.hrt.gen.domain.GenTable; -import com.hrt.gen.domain.GenTableColumn; -import com.hrt.gen.mapper.GenTableColumnMapper; -import com.hrt.gen.mapper.GenTableMapper; -import com.hrt.gen.util.GenUtils; -import com.hrt.gen.util.VelocityInitializer; -import com.hrt.gen.util.VelocityUtils; - -/** - * 业务 服务层实现 - * - * @author jqs - */ -@Service -public class GenTableServiceImpl implements IGenTableService -{ - private static final Logger log = LoggerFactory.getLogger(GenTableServiceImpl.class); - - @Autowired - private GenTableMapper genTableMapper; - - @Autowired - private GenTableColumnMapper genTableColumnMapper; - - /** - * 查询业务信息 - * - * @param id 业务ID - * @return 业务信息 - */ - @Override - public GenTable selectGenTableById(Long id) - { - GenTable genTable = genTableMapper.selectGenTableById(id); - setTableFromOptions(genTable); - return genTable; - } - - /** - * 查询业务列表 - * - * @param genTable 业务信息 - * @return 业务集合 - */ - @Override - public List<GenTable> selectGenTableList(GenTable genTable) - { - return genTableMapper.selectGenTableList(genTable); - } - - /** - * 查询据库列表 - * - * @param genTable 业务信息 - * @return 数据库表集合 - */ - @Override - public List<GenTable> selectDbTableList(GenTable genTable) - { - return genTableMapper.selectDbTableList(genTable); - } - - /** - * 查询据库列表 - * - * @param tableNames 表名称组 - * @return 数据库表集合 - */ - @Override - public List<GenTable> selectDbTableListByNames(String[] tableNames) - { - return genTableMapper.selectDbTableListByNames(tableNames); - } - - /** - * 查询所有表信息 - * - * @return 表信息集合 - */ - @Override - public List<GenTable> selectGenTableAll() - { - return genTableMapper.selectGenTableAll(); - } - - /** - * 修改业务 - * - * @param genTable 业务信息 - * @return 结果 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public void updateGenTable(GenTable genTable) - { - String options = JSON.toJSONString(genTable.getParams()); - genTable.setOptions(options); - int row = genTableMapper.updateGenTable(genTable); - if (row > 0) - { - for (GenTableColumn cenTableColumn : genTable.getColumns()) - { - genTableColumnMapper.updateGenTableColumn(cenTableColumn); - } - } - } - - /** - * 删除业务对象 - * - * @param tableIds 需要删除的数据ID - * @return 结果 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public void deleteGenTableByIds(Long[] tableIds) - { - genTableMapper.deleteGenTableByIds(tableIds); - genTableColumnMapper.deleteGenTableColumnByIds(tableIds); - } - - /** - * 导入表结构 - * - * @param tableList 导入表列表 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public void importGenTable(List<GenTable> tableList) - { - String operName = SecurityUtils.getUsername(); - try - { - for (GenTable table : tableList) - { - String tableName = table.getTableName(); - GenUtils.initTable(table, operName); - int row = genTableMapper.insertGenTable(table); - if (row > 0) - { - // 保存列信息 - List<GenTableColumn> genTableColumns = genTableColumnMapper.selectDbTableColumnsByName(tableName); - for (GenTableColumn column : genTableColumns) - { - GenUtils.initColumnField(column, table); - genTableColumnMapper.insertGenTableColumn(column); - } - } - } - } - catch (Exception e) - { - throw new ServiceException("导入失败:" + e.getMessage()); - } - } - - /** - * 预览代码 - * - * @param tableId 表编号 - * @return 预览数据列表 - */ - @Override - public Map<String, String> previewCode(Long tableId) - { - Map<String, String> dataMap = new LinkedHashMap<>(); - // 查询表信息 - GenTable table = genTableMapper.selectGenTableById(tableId); - // 设置主子表信息 - setSubTable(table); - // 设置主键列信息 - setPkColumn(table); - VelocityInitializer.initVelocity(); - - VelocityContext context = VelocityUtils.prepareContext(table); - - // 获取模板列表 - List<String> templates = VelocityUtils.getTemplateList(table.getTplCategory()); - for (String template : templates) - { - // 渲染模板 - StringWriter sw = new StringWriter(); - Template tpl = Velocity.getTemplate(template, Constants.UTF8); - tpl.merge(context, sw); - dataMap.put(template, sw.toString()); - } - return dataMap; - } - - /** - * 生成代码(下载方式) - * - * @param tableName 表名称 - * @return 数据 - */ - @Override - public byte[] downloadCode(String tableName) - { - ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - ZipOutputStream zip = new ZipOutputStream(outputStream); - generatorCode(tableName, zip); - IOUtils.closeQuietly(zip); - return outputStream.toByteArray(); - } - - /** - * 生成代码(自定义路径) - * - * @param tableName 表名称 - */ - @Override - public void generatorCode(String tableName) - { - // 查询表信息 - GenTable table = genTableMapper.selectGenTableByName(tableName); - // 设置主子表信息 - setSubTable(table); - // 设置主键列信息 - setPkColumn(table); - - VelocityInitializer.initVelocity(); - - VelocityContext context = VelocityUtils.prepareContext(table); - - // 获取模板列表 - List<String> templates = VelocityUtils.getTemplateList(table.getTplCategory()); - for (String template : templates) - { - if (!StringUtils.containsAny(template, "sql.vm", "api.js.vm", "index.vue.vm", "index-tree.vue.vm")) - { - // 渲染模板 - StringWriter sw = new StringWriter(); - Template tpl = Velocity.getTemplate(template, Constants.UTF8); - tpl.merge(context, sw); - try - { - String path = getGenPath(table, template); - FileUtils.writeStringToFile(new File(path), sw.toString(), CharsetKit.UTF_8); - } - catch (IOException e) - { - throw new ServiceException("渲染模板失败,表名:" + table.getTableName()); - } - } - } - } - - /** - * 同步数据库 - * - * @param tableName 表名称 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public void synchDb(String tableName) - { - GenTable table = genTableMapper.selectGenTableByName(tableName); - List<GenTableColumn> tableColumns = table.getColumns(); - Map<String, GenTableColumn> tableColumnMap = tableColumns.stream().collect(Collectors.toMap(GenTableColumn::getColumnName, Function.identity())); - - List<GenTableColumn> dbTableColumns = genTableColumnMapper.selectDbTableColumnsByName(tableName); - if (StringUtils.isEmpty(dbTableColumns)) - { - throw new ServiceException("同步数据失败,原表结构不存在"); - } - List<String> dbTableColumnNames = dbTableColumns.stream().map(GenTableColumn::getColumnName).collect(Collectors.toList()); - - dbTableColumns.forEach(column -> { - GenUtils.initColumnField(column, table); - if (tableColumnMap.containsKey(column.getColumnName())) - { - GenTableColumn prevColumn = tableColumnMap.get(column.getColumnName()); - column.setColumnId(prevColumn.getColumnId()); - if (column.isList()) - { - // 如果是列表,继续保留查询方式/字典类型选项 - column.setDictType(prevColumn.getDictType()); - column.setQueryType(prevColumn.getQueryType()); - } - if (StringUtils.isNotEmpty(prevColumn.getIsRequired()) && !column.isPk() - && (column.isInsert() || column.isEdit()) - && ((column.isUsableColumn()) || (!column.isSuperColumn()))) - { - // 如果是(新增/修改&非主键/非忽略及父属性),继续保留必填/显示类型选项 - column.setIsRequired(prevColumn.getIsRequired()); - column.setHtmlType(prevColumn.getHtmlType()); - } - genTableColumnMapper.updateGenTableColumn(column); - } - else - { - genTableColumnMapper.insertGenTableColumn(column); - } - }); - - List<GenTableColumn> delColumns = tableColumns.stream().filter(column -> !dbTableColumnNames.contains(column.getColumnName())).collect(Collectors.toList()); - if (StringUtils.isNotEmpty(delColumns)) - { - genTableColumnMapper.deleteGenTableColumns(delColumns); - } - } - - /** - * 批量生成代码(下载方式) - * - * @param tableNames 表数组 - * @return 数据 - */ - @Override - public byte[] downloadCode(String[] tableNames) - { - ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - ZipOutputStream zip = new ZipOutputStream(outputStream); - for (String tableName : tableNames) - { - generatorCode(tableName, zip); - } - IOUtils.closeQuietly(zip); - return outputStream.toByteArray(); - } - - /** - * 查询表信息并生成代码 - */ - private void generatorCode(String tableName, ZipOutputStream zip) - { - // 查询表信息 - GenTable table = genTableMapper.selectGenTableByName(tableName); - // 设置主子表信息 - setSubTable(table); - // 设置主键列信息 - setPkColumn(table); - - VelocityInitializer.initVelocity(); - - VelocityContext context = VelocityUtils.prepareContext(table); - - // 获取模板列表 - List<String> templates = VelocityUtils.getTemplateList(table.getTplCategory()); - for (String template : templates) - { - // 渲染模板 - StringWriter sw = new StringWriter(); - Template tpl = Velocity.getTemplate(template, Constants.UTF8); - tpl.merge(context, sw); - try - { - // 添加到zip - zip.putNextEntry(new ZipEntry(VelocityUtils.getFileName(template, table))); - IOUtils.write(sw.toString(), zip, Constants.UTF8); - IOUtils.closeQuietly(sw); - zip.flush(); - zip.closeEntry(); - } - catch (IOException e) - { - log.error("渲染模板失败,表名:" + table.getTableName(), e); - } - } - } - - /** - * 修改保存参数校验 - * - * @param genTable 业务信息 - */ - @Override - public void validateEdit(GenTable genTable) - { - if (GenConstants.TPL_TREE.equals(genTable.getTplCategory())) - { - String options = JSON.toJSONString(genTable.getParams()); - JSONObject paramsObj = JSON.parseObject(options); - if (StringUtils.isEmpty(paramsObj.getString(GenConstants.TREE_CODE))) - { - throw new ServiceException("树编码字段不能为空"); - } - else if (StringUtils.isEmpty(paramsObj.getString(GenConstants.TREE_PARENT_CODE))) - { - throw new ServiceException("树父编码字段不能为空"); - } - else if (StringUtils.isEmpty(paramsObj.getString(GenConstants.TREE_NAME))) - { - throw new ServiceException("树名称字段不能为空"); - } - else if (GenConstants.TPL_SUB.equals(genTable.getTplCategory())) - { - if (StringUtils.isEmpty(genTable.getSubTableName())) - { - throw new ServiceException("关联子表的表名不能为空"); - } - else if (StringUtils.isEmpty(genTable.getSubTableFkName())) - { - throw new ServiceException("子表关联的外键名不能为空"); - } - } - } - } - - /** - * 设置主键列信息 - * - * @param table 业务表信息 - */ - public void setPkColumn(GenTable table) - { - for (GenTableColumn column : table.getColumns()) - { - if (column.isPk()) - { - table.setPkColumn(column); - break; - } - } - if (StringUtils.isNull(table.getPkColumn())) - { - table.setPkColumn(table.getColumns().get(0)); - } - if (GenConstants.TPL_SUB.equals(table.getTplCategory())) - { - for (GenTableColumn column : table.getSubTable().getColumns()) - { - if (column.isPk()) - { - table.getSubTable().setPkColumn(column); - break; - } - } - if (StringUtils.isNull(table.getSubTable().getPkColumn())) - { - table.getSubTable().setPkColumn(table.getSubTable().getColumns().get(0)); - } - } - } - - /** - * 设置主子表信息 - * - * @param table 业务表信息 - */ - public void setSubTable(GenTable table) - { - String subTableName = table.getSubTableName(); - if (StringUtils.isNotEmpty(subTableName)) - { - table.setSubTable(genTableMapper.selectGenTableByName(subTableName)); - } - } - - /** - * 设置代码生成其他选项值 - * - * @param genTable 设置后的生成对象 - */ - public void setTableFromOptions(GenTable genTable) - { - JSONObject paramsObj = JSON.parseObject(genTable.getOptions()); - if (StringUtils.isNotNull(paramsObj)) - { - String treeCode = paramsObj.getString(GenConstants.TREE_CODE); - String treeParentCode = paramsObj.getString(GenConstants.TREE_PARENT_CODE); - String treeName = paramsObj.getString(GenConstants.TREE_NAME); - String parentMenuId = paramsObj.getString(GenConstants.PARENT_MENU_ID); - String parentMenuName = paramsObj.getString(GenConstants.PARENT_MENU_NAME); - - genTable.setTreeCode(treeCode); - genTable.setTreeParentCode(treeParentCode); - genTable.setTreeName(treeName); - genTable.setParentMenuId(parentMenuId); - genTable.setParentMenuName(parentMenuName); - } - } - - /** - * 获取代码生成地址 - * - * @param table 业务表信息 - * @param template 模板文件路径 - * @return 生成地址 - */ - public static String getGenPath(GenTable table, String template) - { - String genPath = table.getGenPath(); - if (StringUtils.equals(genPath, "/")) - { - return System.getProperty("user.dir") + File.separator + "src" + File.separator + VelocityUtils.getFileName(template, table); - } - return genPath + File.separator + VelocityUtils.getFileName(template, table); - } -} diff --git a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/service/IGenTableColumnService.java b/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/service/IGenTableColumnService.java deleted file mode 100644 index ed235d3..0000000 --- a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/service/IGenTableColumnService.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.hrt.gen.service; - -import java.util.List; -import com.hrt.gen.domain.GenTableColumn; - -/** - * 业务字段 服务层 - * - * @author jqs - */ -public interface IGenTableColumnService -{ - /** - * 查询业务字段列表 - * - * @param tableId 业务字段编号 - * @return 业务字段集合 - */ - public List<GenTableColumn> selectGenTableColumnListByTableId(Long tableId); - - /** - * 新增业务字段 - * - * @param genTableColumn 业务字段信息 - * @return 结果 - */ - public int insertGenTableColumn(GenTableColumn genTableColumn); - - /** - * 修改业务字段 - * - * @param genTableColumn 业务字段信息 - * @return 结果 - */ - public int updateGenTableColumn(GenTableColumn genTableColumn); - - /** - * 删除业务字段信息 - * - * @param ids 需要删除的数据ID - * @return 结果 - */ - public int deleteGenTableColumnByIds(String ids); -} diff --git a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/service/IGenTableService.java b/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/service/IGenTableService.java deleted file mode 100644 index f3c759b..0000000 --- a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/service/IGenTableService.java +++ /dev/null @@ -1,121 +0,0 @@ -package com.hrt.gen.service; - -import java.util.List; -import java.util.Map; -import com.hrt.gen.domain.GenTable; - -/** - * 业务 服务层 - * - * @author jqs - */ -public interface IGenTableService -{ - /** - * 查询业务列表 - * - * @param genTable 业务信息 - * @return 业务集合 - */ - public List<GenTable> selectGenTableList(GenTable genTable); - - /** - * 查询据库列表 - * - * @param genTable 业务信息 - * @return 数据库表集合 - */ - public List<GenTable> selectDbTableList(GenTable genTable); - - /** - * 查询据库列表 - * - * @param tableNames 表名称组 - * @return 数据库表集合 - */ - public List<GenTable> selectDbTableListByNames(String[] tableNames); - - /** - * 查询所有表信息 - * - * @return 表信息集合 - */ - public List<GenTable> selectGenTableAll(); - - /** - * 查询业务信息 - * - * @param id 业务ID - * @return 业务信息 - */ - public GenTable selectGenTableById(Long id); - - /** - * 修改业务 - * - * @param genTable 业务信息 - * @return 结果 - */ - public void updateGenTable(GenTable genTable); - - /** - * 删除业务信息 - * - * @param tableIds 需要删除的表数据ID - * @return 结果 - */ - public void deleteGenTableByIds(Long[] tableIds); - - /** - * 导入表结构 - * - * @param tableList 导入表列表 - */ - public void importGenTable(List<GenTable> tableList); - - /** - * 预览代码 - * - * @param tableId 表编号 - * @return 预览数据列表 - */ - public Map<String, String> previewCode(Long tableId); - - /** - * 生成代码(下载方式) - * - * @param tableName 表名称 - * @return 数据 - */ - public byte[] downloadCode(String tableName); - - /** - * 生成代码(自定义路径) - * - * @param tableName 表名称 - * @return 数据 - */ - public void generatorCode(String tableName); - - /** - * 同步数据库 - * - * @param tableName 表名称 - */ - public void synchDb(String tableName); - - /** - * 批量生成代码(下载方式) - * - * @param tableNames 表数组 - * @return 数据 - */ - public byte[] downloadCode(String[] tableNames); - - /** - * 修改保存参数校验 - * - * @param genTable 业务信息 - */ - public void validateEdit(GenTable genTable); -} diff --git a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/util/GenUtils.java b/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/util/GenUtils.java deleted file mode 100644 index fb6265b..0000000 --- a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/util/GenUtils.java +++ /dev/null @@ -1,257 +0,0 @@ -package com.hrt.gen.util; - -import java.util.Arrays; -import org.apache.commons.lang3.RegExUtils; -import com.hrt.common.core.constant.GenConstants; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.gen.config.GenConfig; -import com.hrt.gen.domain.GenTable; -import com.hrt.gen.domain.GenTableColumn; - -/** - * 代码生成器 工具类 - * - * @author jqs - */ -public class GenUtils -{ - /** - * 初始化表信息 - */ - public static void initTable(GenTable genTable, String operName) - { - genTable.setClassName(convertClassName(genTable.getTableName())); - genTable.setPackageName(GenConfig.getPackageName()); - genTable.setModuleName(getModuleName(GenConfig.getPackageName())); - genTable.setBusinessName(getBusinessName(genTable.getTableName())); - genTable.setFunctionName(replaceText(genTable.getTableComment())); - genTable.setFunctionAuthor(GenConfig.getAuthor()); - genTable.setCreateBy(operName); - } - - /** - * 初始化列属性字段 - */ - public static void initColumnField(GenTableColumn column, GenTable table) - { - String dataType = getDbType(column.getColumnType()); - String columnName = column.getColumnName(); - column.setTableId(table.getTableId()); - column.setCreateBy(table.getCreateBy()); - // 设置java字段名 - column.setJavaField(StringUtils.toCamelCase(columnName)); - // 设置默认类型 - column.setJavaType(GenConstants.TYPE_STRING); - column.setQueryType(GenConstants.QUERY_EQ); - - if (arraysContains(GenConstants.COLUMNTYPE_STR, dataType) || arraysContains(GenConstants.COLUMNTYPE_TEXT, dataType)) - { - // 字符串长度超过500设置为文本域 - Integer columnLength = getColumnLength(column.getColumnType()); - String htmlType = columnLength >= 500 || arraysContains(GenConstants.COLUMNTYPE_TEXT, dataType) ? GenConstants.HTML_TEXTAREA : GenConstants.HTML_INPUT; - column.setHtmlType(htmlType); - } - else if (arraysContains(GenConstants.COLUMNTYPE_TIME, dataType)) - { - column.setJavaType(GenConstants.TYPE_DATE); - column.setHtmlType(GenConstants.HTML_DATETIME); - } - else if (arraysContains(GenConstants.COLUMNTYPE_NUMBER, dataType)) - { - column.setHtmlType(GenConstants.HTML_INPUT); - - // 如果是浮点型 统一用BigDecimal - String[] str = StringUtils.split(StringUtils.substringBetween(column.getColumnType(), "(", ")"), ","); - if (str != null && str.length == 2 && Integer.parseInt(str[1]) > 0) - { - column.setJavaType(GenConstants.TYPE_BIGDECIMAL); - } - // 如果是整形 - else if (str != null && str.length == 1 && Integer.parseInt(str[0]) <= 10) - { - column.setJavaType(GenConstants.TYPE_INTEGER); - } - // 长整形 - else - { - column.setJavaType(GenConstants.TYPE_LONG); - } - } - - // 插入字段(默认所有字段都需要插入) - column.setIsInsert(GenConstants.REQUIRE); - - // 编辑字段 - if (!arraysContains(GenConstants.COLUMNNAME_NOT_EDIT, columnName) && !column.isPk()) - { - column.setIsEdit(GenConstants.REQUIRE); - } - // 列表字段 - if (!arraysContains(GenConstants.COLUMNNAME_NOT_LIST, columnName) && !column.isPk()) - { - column.setIsList(GenConstants.REQUIRE); - } - // 查询字段 - if (!arraysContains(GenConstants.COLUMNNAME_NOT_QUERY, columnName) && !column.isPk()) - { - column.setIsQuery(GenConstants.REQUIRE); - } - - // 查询字段类型 - if (StringUtils.endsWithIgnoreCase(columnName, "name")) - { - column.setQueryType(GenConstants.QUERY_LIKE); - } - // 状态字段设置单选框 - if (StringUtils.endsWithIgnoreCase(columnName, "status")) - { - column.setHtmlType(GenConstants.HTML_RADIO); - } - // 类型&性别字段设置下拉框 - else if (StringUtils.endsWithIgnoreCase(columnName, "type") - || StringUtils.endsWithIgnoreCase(columnName, "sex")) - { - column.setHtmlType(GenConstants.HTML_SELECT); - } - // 图片字段设置图片上传控件 - else if (StringUtils.endsWithIgnoreCase(columnName, "image")) - { - column.setHtmlType(GenConstants.HTML_IMAGE_UPLOAD); - } - // 文件字段设置文件上传控件 - else if (StringUtils.endsWithIgnoreCase(columnName, "file")) - { - column.setHtmlType(GenConstants.HTML_FILE_UPLOAD); - } - // 内容字段设置富文本控件 - else if (StringUtils.endsWithIgnoreCase(columnName, "content")) - { - column.setHtmlType(GenConstants.HTML_EDITOR); - } - } - - /** - * 校验数组是否包含指定值 - * - * @param arr 数组 - * @param targetValue 值 - * @return 是否包含 - */ - public static boolean arraysContains(String[] arr, String targetValue) - { - return Arrays.asList(arr).contains(targetValue); - } - - /** - * 获取模块名 - * - * @param packageName 包名 - * @return 模块名 - */ - public static String getModuleName(String packageName) - { - int lastIndex = packageName.lastIndexOf("."); - int nameLength = packageName.length(); - return StringUtils.substring(packageName, lastIndex + 1, nameLength); - } - - /** - * 获取业务名 - * - * @param tableName 表名 - * @return 业务名 - */ - public static String getBusinessName(String tableName) - { - int lastIndex = tableName.lastIndexOf("_"); - int nameLength = tableName.length(); - return StringUtils.substring(tableName, lastIndex + 1, nameLength); - } - - /** - * 表名转换成Java类名 - * - * @param tableName 表名称 - * @return 类名 - */ - public static String convertClassName(String tableName) - { - boolean autoRemovePre = GenConfig.getAutoRemovePre(); - String tablePrefix = GenConfig.getTablePrefix(); - if (autoRemovePre && StringUtils.isNotEmpty(tablePrefix)) - { - String[] searchList = StringUtils.split(tablePrefix, ","); - tableName = replaceFirst(tableName, searchList); - } - return StringUtils.convertToCamelCase(tableName); - } - - /** - * 批量替换前缀 - * - * @param replacementm 替换值 - * @param searchList 替换列表 - * @return - */ - public static String replaceFirst(String replacementm, String[] searchList) - { - String text = replacementm; - for (String searchString : searchList) - { - if (replacementm.startsWith(searchString)) - { - text = replacementm.replaceFirst(searchString, ""); - break; - } - } - return text; - } - - /** - * 关键字替换 - * - * @param text 需要被替换的名字 - * @return 替换后的名字 - */ - public static String replaceText(String text) - { - return RegExUtils.replaceAll(text, "(?:表|洪瑞堂)", ""); - } - - /** - * 获取数据库类型字段 - * - * @param columnType 列类型 - * @return 截取后的列类型 - */ - public static String getDbType(String columnType) - { - if (StringUtils.indexOf(columnType, "(") > 0) - { - return StringUtils.substringBefore(columnType, "("); - } - else - { - return columnType; - } - } - - /** - * 获取字段长度 - * - * @param columnType 列类型 - * @return 截取后的列类型 - */ - public static Integer getColumnLength(String columnType) - { - if (StringUtils.indexOf(columnType, "(") > 0) - { - String length = StringUtils.substringBetween(columnType, "(", ")"); - return Integer.valueOf(length); - } - else - { - return 0; - } - } -} diff --git a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/util/VelocityInitializer.java b/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/util/VelocityInitializer.java deleted file mode 100644 index 1ba39de..0000000 --- a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/util/VelocityInitializer.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.hrt.gen.util; - -import java.util.Properties; -import org.apache.velocity.app.Velocity; -import com.hrt.common.core.constant.Constants; - -/** - * VelocityEngine工厂 - * - * @author jqs - */ -public class VelocityInitializer -{ - /** - * 初始化vm方法 - */ - public static void initVelocity() - { - Properties p = new Properties(); - try - { - // 加载classpath目录下的vm文件 - p.setProperty("resource.loader.file.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader"); - // 定义字符集 - p.setProperty(Velocity.INPUT_ENCODING, Constants.UTF8); - // 初始化Velocity引擎,指定配置Properties - Velocity.init(p); - } - catch (Exception e) - { - throw new RuntimeException(e); - } - } -} diff --git a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/util/VelocityUtils.java b/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/util/VelocityUtils.java deleted file mode 100644 index 9a0086f..0000000 --- a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/util/VelocityUtils.java +++ /dev/null @@ -1,402 +0,0 @@ -package com.hrt.gen.util; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import org.apache.velocity.VelocityContext; -import com.alibaba.fastjson2.JSON; -import com.alibaba.fastjson2.JSONObject; -import com.hrt.common.core.constant.GenConstants; -import com.hrt.common.core.utils.DateUtils; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.gen.domain.GenTable; -import com.hrt.gen.domain.GenTableColumn; - -/** - * 模板工具类 - * - * @author jqs - */ -public class VelocityUtils -{ - /** 项目空间路径 */ - private static final String PROJECT_PATH = "main/java"; - - /** mybatis空间路径 */ - private static final String MYBATIS_PATH = "main/resources/mapper"; - - /** 默认上级菜单,系统工具 */ - private static final String DEFAULT_PARENT_MENU_ID = "3"; - - /** - * 设置模板变量信息 - * - * @return 模板列表 - */ - public static VelocityContext prepareContext(GenTable genTable) - { - String moduleName = genTable.getModuleName(); - String businessName = genTable.getBusinessName(); - String packageName = genTable.getPackageName(); - String tplCategory = genTable.getTplCategory(); - String functionName = genTable.getFunctionName(); - - VelocityContext velocityContext = new VelocityContext(); - velocityContext.put("tplCategory", genTable.getTplCategory()); - velocityContext.put("tableName", genTable.getTableName()); - velocityContext.put("functionName", StringUtils.isNotEmpty(functionName) ? functionName : "【请填写功能名称】"); - velocityContext.put("ClassName", genTable.getClassName()); - velocityContext.put("className", StringUtils.uncapitalize(genTable.getClassName())); - velocityContext.put("moduleName", genTable.getModuleName()); - velocityContext.put("BusinessName", StringUtils.capitalize(genTable.getBusinessName())); - velocityContext.put("businessName", genTable.getBusinessName()); - velocityContext.put("basePackage", getPackagePrefix(packageName)); - velocityContext.put("packageName", packageName); - velocityContext.put("author", genTable.getFunctionAuthor()); - velocityContext.put("datetime", DateUtils.getDate()); - velocityContext.put("pkColumn", genTable.getPkColumn()); - velocityContext.put("importList", getImportList(genTable)); - velocityContext.put("permissionPrefix", getPermissionPrefix(moduleName, businessName)); - velocityContext.put("columns", genTable.getColumns()); - velocityContext.put("table", genTable); - velocityContext.put("dicts", getDicts(genTable)); - setMenuVelocityContext(velocityContext, genTable); - if (GenConstants.TPL_TREE.equals(tplCategory)) - { - setTreeVelocityContext(velocityContext, genTable); - } - if (GenConstants.TPL_SUB.equals(tplCategory)) - { - setSubVelocityContext(velocityContext, genTable); - } - return velocityContext; - } - - public static void setMenuVelocityContext(VelocityContext context, GenTable genTable) - { - String options = genTable.getOptions(); - JSONObject paramsObj = JSON.parseObject(options); - String parentMenuId = getParentMenuId(paramsObj); - context.put("parentMenuId", parentMenuId); - } - - public static void setTreeVelocityContext(VelocityContext context, GenTable genTable) - { - String options = genTable.getOptions(); - JSONObject paramsObj = JSON.parseObject(options); - String treeCode = getTreecode(paramsObj); - String treeParentCode = getTreeParentCode(paramsObj); - String treeName = getTreeName(paramsObj); - - context.put("treeCode", treeCode); - context.put("treeParentCode", treeParentCode); - context.put("treeName", treeName); - context.put("expandColumn", getExpandColumn(genTable)); - if (paramsObj.containsKey(GenConstants.TREE_PARENT_CODE)) - { - context.put("tree_parent_code", paramsObj.getString(GenConstants.TREE_PARENT_CODE)); - } - if (paramsObj.containsKey(GenConstants.TREE_NAME)) - { - context.put("tree_name", paramsObj.getString(GenConstants.TREE_NAME)); - } - } - - public static void setSubVelocityContext(VelocityContext context, GenTable genTable) - { - GenTable subTable = genTable.getSubTable(); - String subTableName = genTable.getSubTableName(); - String subTableFkName = genTable.getSubTableFkName(); - String subClassName = genTable.getSubTable().getClassName(); - String subTableFkClassName = StringUtils.convertToCamelCase(subTableFkName); - - context.put("subTable", subTable); - context.put("subTableName", subTableName); - context.put("subTableFkName", subTableFkName); - context.put("subTableFkClassName", subTableFkClassName); - context.put("subTableFkclassName", StringUtils.uncapitalize(subTableFkClassName)); - context.put("subClassName", subClassName); - context.put("subclassName", StringUtils.uncapitalize(subClassName)); - context.put("subImportList", getImportList(genTable.getSubTable())); - } - - /** - * 获取模板信息 - * - * @return 模板列表 - */ - public static List<String> getTemplateList(String tplCategory) - { - List<String> templates = new ArrayList<String>(); - templates.add("vm/java/domain.java.vm"); - templates.add("vm/java/mapper.java.vm"); - templates.add("vm/java/service.java.vm"); - templates.add("vm/java/serviceImpl.java.vm"); - templates.add("vm/java/controller.java.vm"); - templates.add("vm/xml/mapper.xml.vm"); - templates.add("vm/sql/sql.vm"); - templates.add("vm/js/api.js.vm"); - if (GenConstants.TPL_CRUD.equals(tplCategory)) - { - templates.add("vm/vue/index.vue.vm"); - } - else if (GenConstants.TPL_TREE.equals(tplCategory)) - { - templates.add("vm/vue/index-tree.vue.vm"); - } - else if (GenConstants.TPL_SUB.equals(tplCategory)) - { - templates.add("vm/vue/index.vue.vm"); - templates.add("vm/java/sub-domain.java.vm"); - } - return templates; - } - - /** - * 获取文件名 - */ - public static String getFileName(String template, GenTable genTable) - { - // 文件名称 - String fileName = ""; - // 包路径 - String packageName = genTable.getPackageName(); - // 模块名 - String moduleName = genTable.getModuleName(); - // 大写类名 - String className = genTable.getClassName(); - // 业务名称 - String businessName = genTable.getBusinessName(); - - String javaPath = PROJECT_PATH + "/" + StringUtils.replace(packageName, ".", "/"); - String mybatisPath = MYBATIS_PATH + "/" + moduleName; - String vuePath = "vue"; - - if (template.contains("domain.java.vm")) - { - fileName = StringUtils.format("{}/domain/{}.java", javaPath, className); - } - if (template.contains("sub-domain.java.vm") && StringUtils.equals(GenConstants.TPL_SUB, genTable.getTplCategory())) - { - fileName = StringUtils.format("{}/domain/{}.java", javaPath, genTable.getSubTable().getClassName()); - } - else if (template.contains("mapper.java.vm")) - { - fileName = StringUtils.format("{}/mapper/{}Mapper.java", javaPath, className); - } - else if (template.contains("service.java.vm")) - { - fileName = StringUtils.format("{}/service/I{}Service.java", javaPath, className); - } - else if (template.contains("serviceImpl.java.vm")) - { - fileName = StringUtils.format("{}/service/impl/{}ServiceImpl.java", javaPath, className); - } - else if (template.contains("controller.java.vm")) - { - fileName = StringUtils.format("{}/controller/{}Controller.java", javaPath, className); - } - else if (template.contains("mapper.xml.vm")) - { - fileName = StringUtils.format("{}/{}Mapper.xml", mybatisPath, className); - } - else if (template.contains("sql.vm")) - { - fileName = businessName + "Menu.sql"; - } - else if (template.contains("api.js.vm")) - { - fileName = StringUtils.format("{}/api/{}/{}.js", vuePath, moduleName, businessName); - } - else if (template.contains("index.vue.vm")) - { - fileName = StringUtils.format("{}/views/{}/{}/index.vue", vuePath, moduleName, businessName); - } - else if (template.contains("index-tree.vue.vm")) - { - fileName = StringUtils.format("{}/views/{}/{}/index.vue", vuePath, moduleName, businessName); - } - return fileName; - } - - /** - * 获取包前缀 - * - * @param packageName 包名称 - * @return 包前缀名称 - */ - public static String getPackagePrefix(String packageName) - { - int lastIndex = packageName.lastIndexOf("."); - return StringUtils.substring(packageName, 0, lastIndex); - } - - /** - * 根据列类型获取导入包 - * - * @param genTable 业务表对象 - * @return 返回需要导入的包列表 - */ - public static HashSet<String> getImportList(GenTable genTable) - { - List<GenTableColumn> columns = genTable.getColumns(); - GenTable subGenTable = genTable.getSubTable(); - HashSet<String> importList = new HashSet<String>(); - if (StringUtils.isNotNull(subGenTable)) - { - importList.add("java.util.List"); - } - for (GenTableColumn column : columns) - { - if (!column.isSuperColumn() && GenConstants.TYPE_DATE.equals(column.getJavaType())) - { - importList.add("java.util.Date"); - importList.add("com.fasterxml.jackson.annotation.JsonFormat"); - } - else if (!column.isSuperColumn() && GenConstants.TYPE_BIGDECIMAL.equals(column.getJavaType())) - { - importList.add("java.math.BigDecimal"); - } - } - return importList; - } - - /** - * 根据列类型获取字典组 - * - * @param genTable 业务表对象 - * @return 返回字典组 - */ - public static String getDicts(GenTable genTable) - { - List<GenTableColumn> columns = genTable.getColumns(); - Set<String> dicts = new HashSet<String>(); - addDicts(dicts, columns); - if (StringUtils.isNotNull(genTable.getSubTable())) - { - List<GenTableColumn> subColumns = genTable.getSubTable().getColumns(); - addDicts(dicts, subColumns); - } - return StringUtils.join(dicts, ", "); - } - - /** - * 添加字典列表 - * - * @param dicts 字典列表 - * @param columns 列集合 - */ - public static void addDicts(Set<String> dicts, List<GenTableColumn> columns) - { - for (GenTableColumn column : columns) - { - if (!column.isSuperColumn() && StringUtils.isNotEmpty(column.getDictType()) && StringUtils.equalsAny( - column.getHtmlType(), - new String[] { GenConstants.HTML_SELECT, GenConstants.HTML_RADIO, GenConstants.HTML_CHECKBOX })) - { - dicts.add("'" + column.getDictType() + "'"); - } - } - } - - /** - * 获取权限前缀 - * - * @param moduleName 模块名称 - * @param businessName 业务名称 - * @return 返回权限前缀 - */ - public static String getPermissionPrefix(String moduleName, String businessName) - { - return StringUtils.format("{}:{}", moduleName, businessName); - } - - /** - * 获取上级菜单ID字段 - * - * @param paramsObj 生成其他选项 - * @return 上级菜单ID字段 - */ - public static String getParentMenuId(JSONObject paramsObj) - { - if (StringUtils.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.PARENT_MENU_ID) - && StringUtils.isNotEmpty(paramsObj.getString(GenConstants.PARENT_MENU_ID))) - { - return paramsObj.getString(GenConstants.PARENT_MENU_ID); - } - return DEFAULT_PARENT_MENU_ID; - } - - /** - * 获取树编码 - * - * @param paramsObj 生成其他选项 - * @return 树编码 - */ - public static String getTreecode(JSONObject paramsObj) - { - if (paramsObj.containsKey(GenConstants.TREE_CODE)) - { - return StringUtils.toCamelCase(paramsObj.getString(GenConstants.TREE_CODE)); - } - return StringUtils.EMPTY; - } - - /** - * 获取树父编码 - * - * @param paramsObj 生成其他选项 - * @return 树父编码 - */ - public static String getTreeParentCode(JSONObject paramsObj) - { - if (paramsObj.containsKey(GenConstants.TREE_PARENT_CODE)) - { - return StringUtils.toCamelCase(paramsObj.getString(GenConstants.TREE_PARENT_CODE)); - } - return StringUtils.EMPTY; - } - - /** - * 获取树名称 - * - * @param paramsObj 生成其他选项 - * @return 树名称 - */ - public static String getTreeName(JSONObject paramsObj) - { - if (paramsObj.containsKey(GenConstants.TREE_NAME)) - { - return StringUtils.toCamelCase(paramsObj.getString(GenConstants.TREE_NAME)); - } - return StringUtils.EMPTY; - } - - /** - * 获取需要在哪一列上面显示展开按钮 - * - * @param genTable 业务表对象 - * @return 展开按钮列序号 - */ - public static int getExpandColumn(GenTable genTable) - { - String options = genTable.getOptions(); - JSONObject paramsObj = JSON.parseObject(options); - String treeName = paramsObj.getString(GenConstants.TREE_NAME); - int num = 0; - for (GenTableColumn column : genTable.getColumns()) - { - if (column.isList()) - { - num++; - String columnName = column.getColumnName(); - if (columnName.equals(treeName)) - { - break; - } - } - } - return num; - } -} diff --git a/hrt-modules/hrt-gen/src/main/resources/banner.txt b/hrt-modules/hrt-gen/src/main/resources/banner.txt deleted file mode 100644 index 05f528c..0000000 --- a/hrt-modules/hrt-gen/src/main/resources/banner.txt +++ /dev/null @@ -1,10 +0,0 @@ -Spring Boot Version: ${spring-boot.version} -Spring Application Name: ${spring.application.name} - _ - (_) - _ __ _ _ ___ _ _ _ ______ __ _ ___ _ __ -| '__|| | | | / _ \ | | | || ||______| / _` | / _ \| '_ \ -| | | |_| || (_) || |_| || | | (_| || __/| | | | -|_| \__,_| \___/ \__, ||_| \__, | \___||_| |_| - __/ | __/ | - |___/ |___/ \ No newline at end of file diff --git a/hrt-modules/hrt-gen/src/main/resources/bootstrap.yml b/hrt-modules/hrt-gen/src/main/resources/bootstrap.yml deleted file mode 100644 index f36f31b..0000000 --- a/hrt-modules/hrt-gen/src/main/resources/bootstrap.yml +++ /dev/null @@ -1,26 +0,0 @@ -# Tomcat -server: - port: 9202 - -# Spring -spring: - application: - # 应用名称 - name: hrt-gen - profiles: - # 环境配置 - active: dev - cloud: - nacos: - discovery: - # 服务注册地址 - server-addr: 47.109.78.184:5000 - config: - # 配置中心地址 - server-addr: 47.109.78.184:5000 - # 配置文件格式 - file-extension: yml - # 共享配置 - shared-configs: - - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} - group: haiheng \ No newline at end of file diff --git a/hrt-modules/hrt-gen/src/main/resources/logback.xml b/hrt-modules/hrt-gen/src/main/resources/logback.xml deleted file mode 100644 index a20bfac..0000000 --- a/hrt-modules/hrt-gen/src/main/resources/logback.xml +++ /dev/null @@ -1,74 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<configuration scan="true" scanPeriod="60 seconds" debug="false"> - <!-- 日志存放路径 --> - <property name="log.path" value="logs/hrt-gen" /> - <!-- 日志输出格式 --> - <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" /> - - <!-- 控制台输出 --> - <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> - <encoder> - <pattern>${log.pattern}</pattern> - </encoder> - </appender> - - <!-- 系统日志输出 --> - <appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${log.path}/info.log</file> - <!-- 循环政策:基于时间创建日志文件 --> - <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> - <!-- 日志文件名格式 --> - <fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern> - <!-- 日志最大的历史 60天 --> - <maxHistory>60</maxHistory> - </rollingPolicy> - <encoder> - <pattern>${log.pattern}</pattern> - </encoder> - <filter class="ch.qos.logback.classic.filter.LevelFilter"> - <!-- 过滤的级别 --> - <level>INFO</level> - <!-- 匹配时的操作:接收(记录) --> - <onMatch>ACCEPT</onMatch> - <!-- 不匹配时的操作:拒绝(不记录) --> - <onMismatch>DENY</onMismatch> - </filter> - </appender> - - <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${log.path}/error.log</file> - <!-- 循环政策:基于时间创建日志文件 --> - <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> - <!-- 日志文件名格式 --> - <fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern> - <!-- 日志最大的历史 60天 --> - <maxHistory>60</maxHistory> - </rollingPolicy> - <encoder> - <pattern>${log.pattern}</pattern> - </encoder> - <filter class="ch.qos.logback.classic.filter.LevelFilter"> - <!-- 过滤的级别 --> - <level>ERROR</level> - <!-- 匹配时的操作:接收(记录) --> - <onMatch>ACCEPT</onMatch> - <!-- 不匹配时的操作:拒绝(不记录) --> - <onMismatch>DENY</onMismatch> - </filter> - </appender> - - <!-- 系统模块日志级别控制 --> - <logger name="com.hrt" level="info" /> - <!-- Spring日志级别控制 --> - <logger name="org.springframework" level="warn" /> - - <root level="info"> - <appender-ref ref="console" /> - </root> - - <!--系统操作日志--> - <root level="info"> - <appender-ref ref="file_info" /> - <appender-ref ref="file_error" /> - </root> -</configuration> \ No newline at end of file diff --git a/hrt-modules/hrt-gen/src/main/resources/mapper/generator/GenTableColumnMapper.xml b/hrt-modules/hrt-gen/src/main/resources/mapper/generator/GenTableColumnMapper.xml deleted file mode 100644 index 8380d54..0000000 --- a/hrt-modules/hrt-gen/src/main/resources/mapper/generator/GenTableColumnMapper.xml +++ /dev/null @@ -1,127 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!DOCTYPE mapper -PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" -"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.gen.mapper.GenTableColumnMapper"> - - <resultMap type="GenTableColumn" id="GenTableColumnResult"> - <id property="columnId" column="column_id" /> - <result property="tableId" column="table_id" /> - <result property="columnName" column="column_name" /> - <result property="columnComment" column="column_comment" /> - <result property="columnType" column="column_type" /> - <result property="javaType" column="java_type" /> - <result property="javaField" column="java_field" /> - <result property="isPk" column="is_pk" /> - <result property="isIncrement" column="is_increment" /> - <result property="isRequired" column="is_required" /> - <result property="isInsert" column="is_insert" /> - <result property="isEdit" column="is_edit" /> - <result property="isList" column="is_list" /> - <result property="isQuery" column="is_query" /> - <result property="queryType" column="query_type" /> - <result property="htmlType" column="html_type" /> - <result property="dictType" column="dict_type" /> - <result property="sort" column="sort" /> - <result property="createBy" column="create_by" /> - <result property="createTime" column="create_time" /> - <result property="updateBy" column="update_by" /> - <result property="updateTime" column="update_time" /> - </resultMap> - - <sql id="selectGenTableColumnVo"> - select column_id, table_id, column_name, column_comment, column_type, java_type, java_field, is_pk, is_increment, is_required, is_insert, is_edit, is_list, is_query, query_type, html_type, dict_type, sort, create_by, create_time, update_by, update_time from gen_table_column - </sql> - - <select id="selectGenTableColumnListByTableId" parameterType="GenTableColumn" resultMap="GenTableColumnResult"> - <include refid="selectGenTableColumnVo"/> - where table_id = #{tableId} - order by sort - </select> - - <select id="selectDbTableColumnsByName" parameterType="String" resultMap="GenTableColumnResult"> - select column_name, (case when (is_nullable = 'no' <![CDATA[ && ]]> column_key != 'PRI') then '1' else null end) as is_required, (case when column_key = 'PRI' then '1' else '0' end) as is_pk, ordinal_position as sort, column_comment, (case when extra = 'auto_increment' then '1' else '0' end) as is_increment, column_type - from information_schema.columns where table_schema = (select database()) and table_name = (#{tableName}) - order by ordinal_position - </select> - - <insert id="insertGenTableColumn" parameterType="GenTableColumn" useGeneratedKeys="true" keyProperty="columnId"> - insert into gen_table_column ( - <if test="tableId != null and tableId != ''">table_id,</if> - <if test="columnName != null and columnName != ''">column_name,</if> - <if test="columnComment != null and columnComment != ''">column_comment,</if> - <if test="columnType != null and columnType != ''">column_type,</if> - <if test="javaType != null and javaType != ''">java_type,</if> - <if test="javaField != null and javaField != ''">java_field,</if> - <if test="isPk != null and isPk != ''">is_pk,</if> - <if test="isIncrement != null and isIncrement != ''">is_increment,</if> - <if test="isRequired != null and isRequired != ''">is_required,</if> - <if test="isInsert != null and isInsert != ''">is_insert,</if> - <if test="isEdit != null and isEdit != ''">is_edit,</if> - <if test="isList != null and isList != ''">is_list,</if> - <if test="isQuery != null and isQuery != ''">is_query,</if> - <if test="queryType != null and queryType != ''">query_type,</if> - <if test="htmlType != null and htmlType != ''">html_type,</if> - <if test="dictType != null and dictType != ''">dict_type,</if> - <if test="sort != null">sort,</if> - <if test="createBy != null and createBy != ''">create_by,</if> - create_time - )values( - <if test="tableId != null and tableId != ''">#{tableId},</if> - <if test="columnName != null and columnName != ''">#{columnName},</if> - <if test="columnComment != null and columnComment != ''">(select SUBSTRING_INDEX(#{columnComment}, ' ', 1)),</if> - <if test="columnType != null and columnType != ''">#{columnType},</if> - <if test="javaType != null and javaType != ''">#{javaType},</if> - <if test="javaField != null and javaField != ''">#{javaField},</if> - <if test="isPk != null and isPk != ''">#{isPk},</if> - <if test="isIncrement != null and isIncrement != ''">#{isIncrement},</if> - <if test="isRequired != null and isRequired != ''">#{isRequired},</if> - <if test="isInsert != null and isInsert != ''">#{isInsert},</if> - <if test="isEdit != null and isEdit != ''">#{isEdit},</if> - <if test="isList != null and isList != ''">#{isList},</if> - <if test="isQuery != null and isQuery != ''">#{isQuery},</if> - <if test="queryType != null and queryType != ''">#{queryType},</if> - <if test="htmlType != null and htmlType != ''">#{htmlType},</if> - <if test="dictType != null and dictType != ''">#{dictType},</if> - <if test="sort != null">#{sort},</if> - <if test="createBy != null and createBy != ''">#{createBy},</if> - sysdate() - ) - </insert> - - <update id="updateGenTableColumn" parameterType="GenTableColumn"> - update gen_table_column - <set> - <if test="columnComment != null">column_comment = (select SUBSTRING_INDEX(#{columnComment}, ' ', 1)),</if> - <if test="javaType != null">java_type = #{javaType},</if> - <if test="javaField != null">java_field = #{javaField},</if> - <if test="isInsert != null">is_insert = #{isInsert},</if> - <if test="isEdit != null">is_edit = #{isEdit},</if> - <if test="isList != null">is_list = #{isList},</if> - <if test="isQuery != null">is_query = #{isQuery},</if> - <if test="isRequired != null">is_required = #{isRequired},</if> - <if test="queryType != null">query_type = #{queryType},</if> - <if test="htmlType != null">html_type = #{htmlType},</if> - <if test="dictType != null">dict_type = #{dictType},</if> - <if test="sort != null">sort = #{sort},</if> - <if test="updateBy != null">update_by = #{updateBy},</if> - update_time = sysdate() - </set> - where column_id = #{columnId} - </update> - - <delete id="deleteGenTableColumnByIds" parameterType="Long"> - delete from gen_table_column where table_id in - <foreach collection="array" item="tableId" open="(" separator="," close=")"> - #{tableId} - </foreach> - </delete> - - <delete id="deleteGenTableColumns"> - delete from gen_table_column where column_id in - <foreach collection="list" item="item" open="(" separator="," close=")"> - #{item.columnId} - </foreach> - </delete> - -</mapper> \ No newline at end of file diff --git a/hrt-modules/hrt-gen/src/main/resources/mapper/generator/GenTableMapper.xml b/hrt-modules/hrt-gen/src/main/resources/mapper/generator/GenTableMapper.xml deleted file mode 100644 index 5e7431c..0000000 --- a/hrt-modules/hrt-gen/src/main/resources/mapper/generator/GenTableMapper.xml +++ /dev/null @@ -1,202 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!DOCTYPE mapper -PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" -"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.gen.mapper.GenTableMapper"> - - <resultMap type="GenTable" id="GenTableResult"> - <id property="tableId" column="table_id" /> - <result property="tableName" column="table_name" /> - <result property="tableComment" column="table_comment" /> - <result property="subTableName" column="sub_table_name" /> - <result property="subTableFkName" column="sub_table_fk_name" /> - <result property="className" column="class_name" /> - <result property="tplCategory" column="tpl_category" /> - <result property="packageName" column="package_name" /> - <result property="moduleName" column="module_name" /> - <result property="businessName" column="business_name" /> - <result property="functionName" column="function_name" /> - <result property="functionAuthor" column="function_author" /> - <result property="genType" column="gen_type" /> - <result property="genPath" column="gen_path" /> - <result property="options" column="options" /> - <result property="createBy" column="create_by" /> - <result property="createTime" column="create_time" /> - <result property="updateBy" column="update_by" /> - <result property="updateTime" column="update_time" /> - <result property="remark" column="remark" /> - <collection property="columns" javaType="java.util.List" resultMap="GenTableColumnResult" /> - </resultMap> - - <resultMap type="GenTableColumn" id="GenTableColumnResult"> - <id property="columnId" column="column_id" /> - <result property="tableId" column="table_id" /> - <result property="columnName" column="column_name" /> - <result property="columnComment" column="column_comment" /> - <result property="columnType" column="column_type" /> - <result property="javaType" column="java_type" /> - <result property="javaField" column="java_field" /> - <result property="isPk" column="is_pk" /> - <result property="isIncrement" column="is_increment" /> - <result property="isRequired" column="is_required" /> - <result property="isInsert" column="is_insert" /> - <result property="isEdit" column="is_edit" /> - <result property="isList" column="is_list" /> - <result property="isQuery" column="is_query" /> - <result property="queryType" column="query_type" /> - <result property="htmlType" column="html_type" /> - <result property="dictType" column="dict_type" /> - <result property="sort" column="sort" /> - <result property="createBy" column="create_by" /> - <result property="createTime" column="create_time" /> - <result property="updateBy" column="update_by" /> - <result property="updateTime" column="update_time" /> - </resultMap> - - <sql id="selectGenTableVo"> - select table_id, table_name, table_comment, sub_table_name, sub_table_fk_name, class_name, tpl_category, package_name, module_name, business_name, function_name, function_author, gen_type, gen_path, options, create_by, create_time, update_by, update_time, remark from gen_table - </sql> - - <select id="selectGenTableList" parameterType="GenTable" resultMap="GenTableResult"> - <include refid="selectGenTableVo"/> - <where> - <if test="tableName != null and tableName != ''"> - AND lower(table_name) like lower(concat('%', #{tableName}, '%')) - </if> - <if test="tableComment != null and tableComment != ''"> - AND lower(table_comment) like lower(concat('%', #{tableComment}, '%')) - </if> - <if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 --> - AND date_format(create_time,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d') - </if> - <if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 --> - AND date_format(create_time,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d') - </if> - </where> - </select> - - <select id="selectDbTableList" parameterType="GenTable" resultMap="GenTableResult"> - select table_name, table_comment, create_time, update_time from information_schema.tables - where table_schema = (select database()) - AND table_name NOT LIKE 'qrtz_%' AND table_name NOT LIKE 'gen_%' - AND table_name NOT IN (select table_name from gen_table) - <if test="tableName != null and tableName != ''"> - AND lower(table_name) like lower(concat('%', #{tableName}, '%')) - </if> - <if test="tableComment != null and tableComment != ''"> - AND lower(table_comment) like lower(concat('%', #{tableComment}, '%')) - </if> - <if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 --> - AND date_format(create_time,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d') - </if> - <if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 --> - AND date_format(create_time,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d') - </if> - order by create_time desc - </select> - - <select id="selectDbTableListByNames" resultMap="GenTableResult"> - select table_name, table_comment, create_time, update_time from information_schema.tables - where table_name NOT LIKE 'qrtz_%' and table_name NOT LIKE 'gen_%' and table_schema = (select database()) - and table_name in - <foreach collection="array" item="name" open="(" separator="," close=")"> - #{name} - </foreach> - </select> - - <select id="selectTableByName" parameterType="String" resultMap="GenTableResult"> - select table_name, table_comment, create_time, update_time from information_schema.tables - where table_comment <![CDATA[ <> ]]> '' and table_schema = (select database()) - and table_name = #{tableName} - </select> - - <select id="selectGenTableById" parameterType="Long" resultMap="GenTableResult"> - SELECT t.table_id, t.table_name, t.table_comment, t.sub_table_name, t.sub_table_fk_name, t.class_name, t.tpl_category, t.package_name, t.module_name, t.business_name, t.function_name, t.function_author, t.gen_type, t.gen_path, t.options, t.remark, - c.column_id, c.column_name, c.column_comment, c.column_type, c.java_type, c.java_field, c.is_pk, c.is_increment, c.is_required, c.is_insert, c.is_edit, c.is_list, c.is_query, c.query_type, c.html_type, c.dict_type, c.sort - FROM gen_table t - LEFT JOIN gen_table_column c ON t.table_id = c.table_id - where t.table_id = #{tableId} order by c.sort - </select> - - <select id="selectGenTableByName" parameterType="String" resultMap="GenTableResult"> - SELECT t.table_id, t.table_name, t.table_comment, t.sub_table_name, t.sub_table_fk_name, t.class_name, t.tpl_category, t.package_name, t.module_name, t.business_name, t.function_name, t.function_author, t.gen_type, t.gen_path, t.options, t.remark, - c.column_id, c.column_name, c.column_comment, c.column_type, c.java_type, c.java_field, c.is_pk, c.is_increment, c.is_required, c.is_insert, c.is_edit, c.is_list, c.is_query, c.query_type, c.html_type, c.dict_type, c.sort - FROM gen_table t - LEFT JOIN gen_table_column c ON t.table_id = c.table_id - where t.table_name = #{tableName} order by c.sort - </select> - - <select id="selectGenTableAll" parameterType="String" resultMap="GenTableResult"> - SELECT t.table_id, t.table_name, t.table_comment, t.sub_table_name, t.sub_table_fk_name, t.class_name, t.tpl_category, t.package_name, t.module_name, t.business_name, t.function_name, t.function_author, t.options, t.remark, - c.column_id, c.column_name, c.column_comment, c.column_type, c.java_type, c.java_field, c.is_pk, c.is_increment, c.is_required, c.is_insert, c.is_edit, c.is_list, c.is_query, c.query_type, c.html_type, c.dict_type, c.sort - FROM gen_table t - LEFT JOIN gen_table_column c ON t.table_id = c.table_id - order by c.sort - </select> - - <insert id="insertGenTable" parameterType="GenTable" useGeneratedKeys="true" keyProperty="tableId"> - insert into gen_table ( - <if test="tableName != null">table_name,</if> - <if test="tableComment != null and tableComment != ''">table_comment,</if> - <if test="className != null and className != ''">class_name,</if> - <if test="tplCategory != null and tplCategory != ''">tpl_category,</if> - <if test="packageName != null and packageName != ''">package_name,</if> - <if test="moduleName != null and moduleName != ''">module_name,</if> - <if test="businessName != null and businessName != ''">business_name,</if> - <if test="functionName != null and functionName != ''">function_name,</if> - <if test="functionAuthor != null and functionAuthor != ''">function_author,</if> - <if test="genType != null and genType != ''">gen_type,</if> - <if test="genPath != null and genPath != ''">gen_path,</if> - <if test="remark != null and remark != ''">remark,</if> - <if test="createBy != null and createBy != ''">create_by,</if> - create_time - )values( - <if test="tableName != null">#{tableName},</if> - <if test="tableComment != null and tableComment != ''">#{tableComment},</if> - <if test="className != null and className != ''">#{className},</if> - <if test="tplCategory != null and tplCategory != ''">#{tplCategory},</if> - <if test="packageName != null and packageName != ''">#{packageName},</if> - <if test="moduleName != null and moduleName != ''">#{moduleName},</if> - <if test="businessName != null and businessName != ''">#{businessName},</if> - <if test="functionName != null and functionName != ''">#{functionName},</if> - <if test="functionAuthor != null and functionAuthor != ''">#{functionAuthor},</if> - <if test="genType != null and genType != ''">#{genType},</if> - <if test="genPath != null and genPath != ''">#{genPath},</if> - <if test="remark != null and remark != ''">#{remark},</if> - <if test="createBy != null and createBy != ''">#{createBy},</if> - sysdate() - ) - </insert> - - <update id="updateGenTable" parameterType="GenTable"> - update gen_table - <set> - <if test="tableName != null">table_name = #{tableName},</if> - <if test="tableComment != null and tableComment != ''">table_comment = #{tableComment},</if> - <if test="subTableName != null">sub_table_name = #{subTableName},</if> - <if test="subTableFkName != null">sub_table_fk_name = #{subTableFkName},</if> - <if test="className != null and className != ''">class_name = #{className},</if> - <if test="functionAuthor != null and functionAuthor != ''">function_author = #{functionAuthor},</if> - <if test="genType != null and genType != ''">gen_type = #{genType},</if> - <if test="genPath != null and genPath != ''">gen_path = #{genPath},</if> - <if test="tplCategory != null and tplCategory != ''">tpl_category = #{tplCategory},</if> - <if test="packageName != null and packageName != ''">package_name = #{packageName},</if> - <if test="moduleName != null and moduleName != ''">module_name = #{moduleName},</if> - <if test="businessName != null and businessName != ''">business_name = #{businessName},</if> - <if test="functionName != null and functionName != ''">function_name = #{functionName},</if> - <if test="options != null and options != ''">options = #{options},</if> - <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if> - <if test="remark != null">remark = #{remark},</if> - update_time = sysdate() - </set> - where table_id = #{tableId} - </update> - - <delete id="deleteGenTableByIds" parameterType="Long"> - delete from gen_table where table_id in - <foreach collection="array" item="tableId" open="(" separator="," close=")"> - #{tableId} - </foreach> - </delete> - -</mapper> \ No newline at end of file diff --git a/hrt-modules/hrt-gen/src/main/resources/vm/java/controller.java.vm b/hrt-modules/hrt-gen/src/main/resources/vm/java/controller.java.vm deleted file mode 100644 index b573bb2..0000000 --- a/hrt-modules/hrt-gen/src/main/resources/vm/java/controller.java.vm +++ /dev/null @@ -1,115 +0,0 @@ -package ${packageName}.controller; - -import java.util.List; -import javax.servlet.http.HttpServletResponse; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import com.hrt.common.log.annotation.Log; -import com.hrt.common.log.enums.BusinessType; -import com.hrt.common.security.annotation.RequiresPermissions; -import ${packageName}.domain.${ClassName}; -import ${packageName}.service.I${ClassName}Service; -import com.hrt.common.core.web.controller.BaseController; -import com.hrt.common.core.web.domain.AjaxResult; -import com.hrt.common.core.utils.poi.ExcelUtil; -#if($table.crud || $table.sub) -import com.hrt.common.core.web.page.TableDataInfo; -#elseif($table.tree) -#end - -/** - * ${functionName}Controller - * - * @author ${author} - * @date ${datetime} - */ -@RestController -@RequestMapping("/${businessName}") -public class ${ClassName}Controller extends BaseController -{ - @Autowired - private I${ClassName}Service ${className}Service; - - /** - * 查询${functionName}列表 - */ - @RequiresPermissions("${permissionPrefix}:list") - @GetMapping("/list") -#if($table.crud || $table.sub) - public TableDataInfo list(${ClassName} ${className}) - { - startPage(); - List<${ClassName}> list = ${className}Service.select${ClassName}List(${className}); - return getDataTable(list); - } -#elseif($table.tree) - public AjaxResult list(${ClassName} ${className}) - { - List<${ClassName}> list = ${className}Service.select${ClassName}List(${className}); - return success(list); - } -#end - - /** - * 导出${functionName}列表 - */ - @RequiresPermissions("${permissionPrefix}:export") - @Log(title = "${functionName}", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(HttpServletResponse response, ${ClassName} ${className}) - { - List<${ClassName}> list = ${className}Service.select${ClassName}List(${className}); - ExcelUtil<${ClassName}> util = new ExcelUtil<${ClassName}>(${ClassName}.class); - util.exportExcel(response, list, "${functionName}数据"); - } - - /** - * 获取${functionName}详细信息 - */ - @RequiresPermissions("${permissionPrefix}:query") - @GetMapping(value = "/{${pkColumn.javaField}}") - public AjaxResult getInfo(@PathVariable("${pkColumn.javaField}") ${pkColumn.javaType} ${pkColumn.javaField}) - { - return success(${className}Service.select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaField})); - } - - /** - * 新增${functionName} - */ - @RequiresPermissions("${permissionPrefix}:add") - @Log(title = "${functionName}", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@RequestBody ${ClassName} ${className}) - { - return toAjax(${className}Service.insert${ClassName}(${className})); - } - - /** - * 修改${functionName} - */ - @RequiresPermissions("${permissionPrefix}:edit") - @Log(title = "${functionName}", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@RequestBody ${ClassName} ${className}) - { - return toAjax(${className}Service.update${ClassName}(${className})); - } - - /** - * 删除${functionName} - */ - @RequiresPermissions("${permissionPrefix}:remove") - @Log(title = "${functionName}", businessType = BusinessType.DELETE) - @DeleteMapping("/{${pkColumn.javaField}s}") - public AjaxResult remove(@PathVariable ${pkColumn.javaType}[] ${pkColumn.javaField}s) - { - return toAjax(${className}Service.delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaField}s)); - } -} diff --git a/hrt-modules/hrt-gen/src/main/resources/vm/java/domain.java.vm b/hrt-modules/hrt-gen/src/main/resources/vm/java/domain.java.vm deleted file mode 100644 index 692f4bd..0000000 --- a/hrt-modules/hrt-gen/src/main/resources/vm/java/domain.java.vm +++ /dev/null @@ -1,101 +0,0 @@ -package ${packageName}.domain; - -#foreach ($import in $importList) -import ${import}; -#end -import com.hrt.common.core.annotation.Excel; -#if($table.crud || $table.sub) -#elseif($table.tree) -#end - -/** - * ${functionName}对象 ${tableName} - * - * @author ${author} - * @date ${datetime} - */ -#if($table.crud || $table.sub) -#set($Entity="BaseEntity") -#elseif($table.tree) -#set($Entity="TreeEntity") -#end -public class ${ClassName} extends ${Entity} -{ - private static final long serialVersionUID = 1L; - -#foreach ($column in $columns) -#if(!$table.isSuperColumn($column.javaField)) - /** $column.columnComment */ -#if($column.list) -#set($parentheseIndex=$column.columnComment.indexOf("(")) -#if($parentheseIndex != -1) -#set($comment=$column.columnComment.substring(0, $parentheseIndex)) -#else -#set($comment=$column.columnComment) -#end -#if($parentheseIndex != -1) - @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") -#elseif($column.javaType == 'Date') - @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "${comment}", width = 30, dateFormat = "yyyy-MM-dd") -#else - @Excel(name = "${comment}") -#end -#end - private $column.javaType $column.javaField; - -#end -#end -#if($table.sub) - /** $table.subTable.functionName信息 */ - private List<${subClassName}> ${subclassName}List; - -#end -#foreach ($column in $columns) -#if(!$table.isSuperColumn($column.javaField)) -#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]")) -#set($AttrName=$column.javaField) -#else -#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) -#end - public void set${AttrName}($column.javaType $column.javaField) - { - this.$column.javaField = $column.javaField; - } - - public $column.javaType get${AttrName}() - { - return $column.javaField; - } -#end -#end - -#if($table.sub) - public List<${subClassName}> get${subClassName}List() - { - return ${subclassName}List; - } - - public void set${subClassName}List(List<${subClassName}> ${subclassName}List) - { - this.${subclassName}List = ${subclassName}List; - } - -#end - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) -#foreach ($column in $columns) -#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]")) -#set($AttrName=$column.javaField) -#else -#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) -#end - .append("${column.javaField}", get${AttrName}()) -#end -#if($table.sub) - .append("${subclassName}List", get${subClassName}List()) -#end - .toString(); - } -} diff --git a/hrt-modules/hrt-gen/src/main/resources/vm/java/mapper.java.vm b/hrt-modules/hrt-gen/src/main/resources/vm/java/mapper.java.vm deleted file mode 100644 index 7e7d7c2..0000000 --- a/hrt-modules/hrt-gen/src/main/resources/vm/java/mapper.java.vm +++ /dev/null @@ -1,91 +0,0 @@ -package ${packageName}.mapper; - -import java.util.List; -import ${packageName}.domain.${ClassName}; -#if($table.sub) -import ${packageName}.domain.${subClassName}; -#end - -/** - * ${functionName}Mapper接口 - * - * @author ${author} - * @date ${datetime} - */ -public interface ${ClassName}Mapper -{ - /** - * 查询${functionName} - * - * @param ${pkColumn.javaField} ${functionName}主键 - * @return ${functionName} - */ - public ${ClassName} select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField}); - - /** - * 查询${functionName}列表 - * - * @param ${className} ${functionName} - * @return ${functionName}集合 - */ - public List<${ClassName}> select${ClassName}List(${ClassName} ${className}); - - /** - * 新增${functionName} - * - * @param ${className} ${functionName} - * @return 结果 - */ - public int insert${ClassName}(${ClassName} ${className}); - - /** - * 修改${functionName} - * - * @param ${className} ${functionName} - * @return 结果 - */ - public int update${ClassName}(${ClassName} ${className}); - - /** - * 删除${functionName} - * - * @param ${pkColumn.javaField} ${functionName}主键 - * @return 结果 - */ - public int delete${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField}); - - /** - * 批量删除${functionName} - * - * @param ${pkColumn.javaField}s 需要删除的数据主键集合 - * @return 结果 - */ - public int delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaType}[] ${pkColumn.javaField}s); -#if($table.sub) - - /** - * 批量删除${subTable.functionName} - * - * @param ${pkColumn.javaField}s 需要删除的数据主键集合 - * @return 结果 - */ - public int delete${subClassName}By${subTableFkClassName}s(${pkColumn.javaType}[] ${pkColumn.javaField}s); - - /** - * 批量新增${subTable.functionName} - * - * @param ${subclassName}List ${subTable.functionName}列表 - * @return 结果 - */ - public int batch${subClassName}(List<${subClassName}> ${subclassName}List); - - - /** - * 通过${functionName}主键删除${subTable.functionName}信息 - * - * @param ${pkColumn.javaField} ${functionName}ID - * @return 结果 - */ - public int delete${subClassName}By${subTableFkClassName}(${pkColumn.javaType} ${pkColumn.javaField}); -#end -} diff --git a/hrt-modules/hrt-gen/src/main/resources/vm/java/service.java.vm b/hrt-modules/hrt-gen/src/main/resources/vm/java/service.java.vm deleted file mode 100644 index 264882b..0000000 --- a/hrt-modules/hrt-gen/src/main/resources/vm/java/service.java.vm +++ /dev/null @@ -1,61 +0,0 @@ -package ${packageName}.service; - -import java.util.List; -import ${packageName}.domain.${ClassName}; - -/** - * ${functionName}Service接口 - * - * @author ${author} - * @date ${datetime} - */ -public interface I${ClassName}Service -{ - /** - * 查询${functionName} - * - * @param ${pkColumn.javaField} ${functionName}主键 - * @return ${functionName} - */ - public ${ClassName} select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField}); - - /** - * 查询${functionName}列表 - * - * @param ${className} ${functionName} - * @return ${functionName}集合 - */ - public List<${ClassName}> select${ClassName}List(${ClassName} ${className}); - - /** - * 新增${functionName} - * - * @param ${className} ${functionName} - * @return 结果 - */ - public int insert${ClassName}(${ClassName} ${className}); - - /** - * 修改${functionName} - * - * @param ${className} ${functionName} - * @return 结果 - */ - public int update${ClassName}(${ClassName} ${className}); - - /** - * 批量删除${functionName} - * - * @param ${pkColumn.javaField}s 需要删除的${functionName}主键集合 - * @return 结果 - */ - public int delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaType}[] ${pkColumn.javaField}s); - - /** - * 删除${functionName}信息 - * - * @param ${pkColumn.javaField} ${functionName}主键 - * @return 结果 - */ - public int delete${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField}); -} diff --git a/hrt-modules/hrt-gen/src/main/resources/vm/java/serviceImpl.java.vm b/hrt-modules/hrt-gen/src/main/resources/vm/java/serviceImpl.java.vm deleted file mode 100644 index 52c485f..0000000 --- a/hrt-modules/hrt-gen/src/main/resources/vm/java/serviceImpl.java.vm +++ /dev/null @@ -1,169 +0,0 @@ -package ${packageName}.service.impl; - -import java.util.List; -#foreach ($column in $columns) -#if($column.javaField == 'createTime' || $column.javaField == 'updateTime') -import com.hrt.common.core.utils.DateUtils; -#break -#end -#end -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -#if($table.sub) -import java.util.ArrayList; -import com.hrt.common.core.utils.StringUtils; -import org.springframework.transaction.annotation.Transactional; -import ${packageName}.domain.${subClassName}; -#end -import ${packageName}.mapper.${ClassName}Mapper; -import ${packageName}.domain.${ClassName}; -import ${packageName}.service.I${ClassName}Service; - -/** - * ${functionName}Service业务层处理 - * - * @author ${author} - * @date ${datetime} - */ -@Service -public class ${ClassName}ServiceImpl implements I${ClassName}Service -{ - @Autowired - private ${ClassName}Mapper ${className}Mapper; - - /** - * 查询${functionName} - * - * @param ${pkColumn.javaField} ${functionName}主键 - * @return ${functionName} - */ - @Override - public ${ClassName} select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField}) - { - return ${className}Mapper.select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaField}); - } - - /** - * 查询${functionName}列表 - * - * @param ${className} ${functionName} - * @return ${functionName} - */ - @Override - public List<${ClassName}> select${ClassName}List(${ClassName} ${className}) - { - return ${className}Mapper.select${ClassName}List(${className}); - } - - /** - * 新增${functionName} - * - * @param ${className} ${functionName} - * @return 结果 - */ -#if($table.sub) - @Transactional -#end - @Override - public int insert${ClassName}(${ClassName} ${className}) - { -#foreach ($column in $columns) -#if($column.javaField == 'createTime') - ${className}.setCreateTime(DateUtils.getNowDate()); -#end -#end -#if($table.sub) - int rows = ${className}Mapper.insert${ClassName}(${className}); - insert${subClassName}(${className}); - return rows; -#else - return ${className}Mapper.insert${ClassName}(${className}); -#end - } - - /** - * 修改${functionName} - * - * @param ${className} ${functionName} - * @return 结果 - */ -#if($table.sub) - @Transactional -#end - @Override - public int update${ClassName}(${ClassName} ${className}) - { -#foreach ($column in $columns) -#if($column.javaField == 'updateTime') - ${className}.setUpdateTime(DateUtils.getNowDate()); -#end -#end -#if($table.sub) - ${className}Mapper.delete${subClassName}By${subTableFkClassName}(${className}.get${pkColumn.capJavaField}()); - insert${subClassName}(${className}); -#end - return ${className}Mapper.update${ClassName}(${className}); - } - - /** - * 批量删除${functionName} - * - * @param ${pkColumn.javaField}s 需要删除的${functionName}主键 - * @return 结果 - */ -#if($table.sub) - @Transactional -#end - @Override - public int delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaType}[] ${pkColumn.javaField}s) - { -#if($table.sub) - ${className}Mapper.delete${subClassName}By${subTableFkClassName}s(${pkColumn.javaField}s); -#end - return ${className}Mapper.delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaField}s); - } - - /** - * 删除${functionName}信息 - * - * @param ${pkColumn.javaField} ${functionName}主键 - * @return 结果 - */ -#if($table.sub) - @Transactional -#end - @Override - public int delete${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField}) - { -#if($table.sub) - ${className}Mapper.delete${subClassName}By${subTableFkClassName}(${pkColumn.javaField}); -#end - return ${className}Mapper.delete${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaField}); - } -#if($table.sub) - - /** - * 新增${subTable.functionName}信息 - * - * @param ${className} ${functionName}对象 - */ - public void insert${subClassName}(${ClassName} ${className}) - { - List<${subClassName}> ${subclassName}List = ${className}.get${subClassName}List(); - ${pkColumn.javaType} ${pkColumn.javaField} = ${className}.get${pkColumn.capJavaField}(); - if (StringUtils.isNotNull(${subclassName}List)) - { - List<${subClassName}> list = new ArrayList<${subClassName}>(); - for (${subClassName} ${subclassName} : ${subclassName}List) - { - ${subclassName}.set${subTableFkClassName}(${pkColumn.javaField}); - list.add(${subclassName}); - } - if (list.size() > 0) - { - ${className}Mapper.batch${subClassName}(list); - } - } - } -#end -} diff --git a/hrt-modules/hrt-gen/src/main/resources/vm/java/sub-domain.java.vm b/hrt-modules/hrt-gen/src/main/resources/vm/java/sub-domain.java.vm deleted file mode 100644 index 48e907a..0000000 --- a/hrt-modules/hrt-gen/src/main/resources/vm/java/sub-domain.java.vm +++ /dev/null @@ -1,73 +0,0 @@ -package ${packageName}.domain; - -#foreach ($import in $subImportList) -import ${import}; -#end -import com.hrt.common.core.annotation.Excel; - -/** - * ${subTable.functionName}对象 ${subTableName} - * - * @author ${author} - * @date ${datetime} - */ -public class ${subClassName} extends BaseEntity -{ - private static final long serialVersionUID = 1L; - -#foreach ($column in $subTable.columns) -#if(!$table.isSuperColumn($column.javaField)) - /** $column.columnComment */ -#if($column.list) -#set($parentheseIndex=$column.columnComment.indexOf("(")) -#if($parentheseIndex != -1) -#set($comment=$column.columnComment.substring(0, $parentheseIndex)) -#else -#set($comment=$column.columnComment) -#end -#if($parentheseIndex != -1) - @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") -#elseif($column.javaType == 'Date') - @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "${comment}", width = 30, dateFormat = "yyyy-MM-dd") -#else - @Excel(name = "${comment}") -#end -#end - private $column.javaType $column.javaField; - -#end -#end -#foreach ($column in $subTable.columns) -#if(!$table.isSuperColumn($column.javaField)) -#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]")) -#set($AttrName=$column.javaField) -#else -#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) -#end - public void set${AttrName}($column.javaType $column.javaField) - { - this.$column.javaField = $column.javaField; - } - - public $column.javaType get${AttrName}() - { - return $column.javaField; - } -#end -#end - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) -#foreach ($column in $subTable.columns) -#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]")) -#set($AttrName=$column.javaField) -#else -#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) -#end - .append("${column.javaField}", get${AttrName}()) -#end - .toString(); - } -} diff --git a/hrt-modules/hrt-gen/src/main/resources/vm/js/api.js.vm b/hrt-modules/hrt-gen/src/main/resources/vm/js/api.js.vm deleted file mode 100644 index 9295524..0000000 --- a/hrt-modules/hrt-gen/src/main/resources/vm/js/api.js.vm +++ /dev/null @@ -1,44 +0,0 @@ -import request from '@/utils/request' - -// 查询${functionName}列表 -export function list${BusinessName}(query) { - return request({ - url: '/${moduleName}/${businessName}/list', - method: 'get', - params: query - }) -} - -// 查询${functionName}详细 -export function get${BusinessName}(${pkColumn.javaField}) { - return request({ - url: '/${moduleName}/${businessName}/' + ${pkColumn.javaField}, - method: 'get' - }) -} - -// 新增${functionName} -export function add${BusinessName}(data) { - return request({ - url: '/${moduleName}/${businessName}', - method: 'post', - data: data - }) -} - -// 修改${functionName} -export function update${BusinessName}(data) { - return request({ - url: '/${moduleName}/${businessName}', - method: 'put', - data: data - }) -} - -// 删除${functionName} -export function del${BusinessName}(${pkColumn.javaField}) { - return request({ - url: '/${moduleName}/${businessName}/' + ${pkColumn.javaField}, - method: 'delete' - }) -} diff --git a/hrt-modules/hrt-gen/src/main/resources/vm/sql/sql.vm b/hrt-modules/hrt-gen/src/main/resources/vm/sql/sql.vm deleted file mode 100644 index 0575583..0000000 --- a/hrt-modules/hrt-gen/src/main/resources/vm/sql/sql.vm +++ /dev/null @@ -1,22 +0,0 @@ --- 菜单 SQL -insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) -values('${functionName}', '${parentMenuId}', '1', '${businessName}', '${moduleName}/${businessName}/index', 1, 0, 'C', '0', '0', '${permissionPrefix}:list', '#', 'admin', sysdate(), '', null, '${functionName}菜单'); - --- 按钮父菜单ID -SELECT @parentId := LAST_INSERT_ID(); - --- 按钮 SQL -insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) -values('${functionName}查询', @parentId, '1', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:query', '#', 'admin', sysdate(), '', null, ''); - -insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) -values('${functionName}新增', @parentId, '2', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:add', '#', 'admin', sysdate(), '', null, ''); - -insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) -values('${functionName}修改', @parentId, '3', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:edit', '#', 'admin', sysdate(), '', null, ''); - -insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) -values('${functionName}删除', @parentId, '4', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:remove', '#', 'admin', sysdate(), '', null, ''); - -insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) -values('${functionName}导出', @parentId, '5', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:export', '#', 'admin', sysdate(), '', null, ''); \ No newline at end of file diff --git a/hrt-modules/hrt-gen/src/main/resources/vm/vue/index-tree.vue.vm b/hrt-modules/hrt-gen/src/main/resources/vm/vue/index-tree.vue.vm deleted file mode 100644 index a4c64a0..0000000 --- a/hrt-modules/hrt-gen/src/main/resources/vm/vue/index-tree.vue.vm +++ /dev/null @@ -1,505 +0,0 @@ -<template> - <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> -#foreach($column in $columns) -#if($column.query) -#set($dictType=$column.dictType) -#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) -#set($parentheseIndex=$column.columnComment.indexOf("(")) -#if($parentheseIndex != -1) -#set($comment=$column.columnComment.substring(0, $parentheseIndex)) -#else -#set($comment=$column.columnComment) -#end -#if($column.htmlType == "input") - <el-form-item label="${comment}" prop="${column.javaField}"> - <el-input - v-model="queryParams.${column.javaField}" - placeholder="请输入${comment}" - clearable - @keyup.enter.native="handleQuery" - /> - </el-form-item> -#elseif(($column.htmlType == "select" || $column.htmlType == "radio") && "" != $dictType) - <el-form-item label="${comment}" prop="${column.javaField}"> - <el-select v-model="queryParams.${column.javaField}" placeholder="请选择${comment}" clearable> - <el-option - v-for="dict in dict.type.${dictType}" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> - </el-select> - </el-form-item> -#elseif(($column.htmlType == "select" || $column.htmlType == "radio") && $dictType) - <el-form-item label="${comment}" prop="${column.javaField}"> - <el-select v-model="queryParams.${column.javaField}" placeholder="请选择${comment}" clearable> - <el-option label="请选择字典生成" value="" /> - </el-select> - </el-form-item> -#elseif($column.htmlType == "datetime" && $column.queryType != "BETWEEN") - <el-form-item label="${comment}" prop="${column.javaField}"> - <el-date-picker clearable - v-model="queryParams.${column.javaField}" - type="date" - value-format="yyyy-MM-dd" - placeholder="选择${comment}"> - </el-date-picker> - </el-form-item> -#elseif($column.htmlType == "datetime" && $column.queryType == "BETWEEN") - <el-form-item label="${comment}"> - <el-date-picker - v-model="daterange${AttrName}" - style="width: 240px" - value-format="yyyy-MM-dd" - type="daterange" - range-separator="-" - start-placeholder="开始日期" - end-placeholder="结束日期" - ></el-date-picker> - </el-form-item> -#end -#end -#end - <el-form-item> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> - </el-form-item> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="mini" - @click="handleAdd" - v-hasPermi="['${moduleName}:${businessName}:add']" - >新增</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="info" - plain - icon="el-icon-sort" - size="mini" - @click="toggleExpandAll" - >展开/折叠</el-button> - </el-col> - <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> - </el-row> - - <el-table - v-if="refreshTable" - v-loading="loading" - :data="${businessName}List" - row-key="${treeCode}" - :default-expand-all="isExpandAll" - :tree-props="{children: 'children', hasChildren: 'hasChildren'}" - > -#foreach($column in $columns) -#set($javaField=$column.javaField) -#set($parentheseIndex=$column.columnComment.indexOf("(")) -#if($parentheseIndex != -1) -#set($comment=$column.columnComment.substring(0, $parentheseIndex)) -#else -#set($comment=$column.columnComment) -#end -#if($column.pk) -#elseif($column.list && $column.htmlType == "datetime") - <el-table-column label="${comment}" align="center" prop="${javaField}" width="180"> - <template slot-scope="scope"> - <span>{{ parseTime(scope.row.${javaField}, '{y}-{m}-{d}') }}</span> - </template> - </el-table-column> -#elseif($column.list && $column.htmlType == "imageUpload") - <el-table-column label="${comment}" align="center" prop="${javaField}" width="100"> - <template slot-scope="scope"> - <image-preview :src="scope.row.${javaField}" :width="50" :height="50"/> - </template> - </el-table-column> -#elseif($column.list && "" != $column.dictType) - <el-table-column label="${comment}" align="center" prop="${javaField}"> - <template slot-scope="scope"> -#if($column.htmlType == "checkbox") - <dict-tag :options="dict.type.${column.dictType}" :value="scope.row.${javaField} ? scope.row.${javaField}.split(',') : []"/> -#else - <dict-tag :options="dict.type.${column.dictType}" :value="scope.row.${javaField}"/> -#end - </template> - </el-table-column> -#elseif($column.list && "" != $javaField) -#if(${foreach.index} == 1) - <el-table-column label="${comment}" prop="${javaField}" /> -#else - <el-table-column label="${comment}" align="center" prop="${javaField}" /> -#end -#end -#end - <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> - <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['${moduleName}:${businessName}:edit']" - >修改</el-button> - <el-button - size="mini" - type="text" - icon="el-icon-plus" - @click="handleAdd(scope.row)" - v-hasPermi="['${moduleName}:${businessName}:add']" - >新增</el-button> - <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click="handleDelete(scope.row)" - v-hasPermi="['${moduleName}:${businessName}:remove']" - >删除</el-button> - </template> - </el-table-column> - </el-table> - - <!-- 添加或修改${functionName}对话框 --> - <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> - <el-form ref="form" :model="form" :rules="rules" label-width="80px"> -#foreach($column in $columns) -#set($field=$column.javaField) -#if($column.insert && !$column.pk) -#if(($column.usableColumn) || (!$column.superColumn)) -#set($parentheseIndex=$column.columnComment.indexOf("(")) -#if($parentheseIndex != -1) -#set($comment=$column.columnComment.substring(0, $parentheseIndex)) -#else -#set($comment=$column.columnComment) -#end -#set($dictType=$column.dictType) -#if("" != $treeParentCode && $column.javaField == $treeParentCode) - <el-form-item label="${comment}" prop="${treeParentCode}"> - <treeselect v-model="form.${treeParentCode}" :options="${businessName}Options" :normalizer="normalizer" placeholder="请选择${comment}" /> - </el-form-item> -#elseif($column.htmlType == "input") - <el-form-item label="${comment}" prop="${field}"> - <el-input v-model="form.${field}" placeholder="请输入${comment}" /> - </el-form-item> -#elseif($column.htmlType == "imageUpload") - <el-form-item label="${comment}" prop="${field}"> - <image-upload v-model="form.${field}"/> - </el-form-item> -#elseif($column.htmlType == "fileUpload") - <el-form-item label="${comment}" prop="${field}"> - <file-upload v-model="form.${field}"/> - </el-form-item> -#elseif($column.htmlType == "editor") - <el-form-item label="${comment}"> - <editor v-model="form.${field}" :min-height="192"/> - </el-form-item> -#elseif($column.htmlType == "select" && "" != $dictType) - <el-form-item label="${comment}" prop="${field}"> - <el-select v-model="form.${field}" placeholder="请选择${comment}"> - <el-option - v-for="dict in dict.type.${dictType}" - :key="dict.value" - :label="dict.label" -#if($column.javaType == "Integer" || $column.javaType == "Long") - :value="parseInt(dict.value)" -#else - :value="dict.value" -#end - ></el-option> - </el-select> - </el-form-item> -#elseif($column.htmlType == "select" && $dictType) - <el-form-item label="${comment}" prop="${field}"> - <el-select v-model="form.${field}" placeholder="请选择${comment}"> - <el-option label="请选择字典生成" value="" /> - </el-select> - </el-form-item> -#elseif($column.htmlType == "checkbox" && "" != $dictType) - <el-form-item label="${comment}" prop="${field}"> - <el-checkbox-group v-model="form.${field}"> - <el-checkbox - v-for="dict in dict.type.${dictType}" - :key="dict.value" - :label="dict.value"> - {{dict.label}} - </el-checkbox> - </el-checkbox-group> - </el-form-item> -#elseif($column.htmlType == "checkbox" && $dictType) - <el-form-item label="${comment}" prop="${field}"> - <el-checkbox-group v-model="form.${field}"> - <el-checkbox>请选择字典生成</el-checkbox> - </el-checkbox-group> - </el-form-item> -#elseif($column.htmlType == "radio" && "" != $dictType) - <el-form-item label="${comment}" prop="${field}"> - <el-radio-group v-model="form.${field}"> - <el-radio - v-for="dict in dict.type.${dictType}" - :key="dict.value" -#if($column.javaType == "Integer" || $column.javaType == "Long") - :label="parseInt(dict.value)" -#else - :label="dict.value" -#end - >{{dict.label}}</el-radio> - </el-radio-group> - </el-form-item> -#elseif($column.htmlType == "radio" && $dictType) - <el-form-item label="${comment}" prop="${field}"> - <el-radio-group v-model="form.${field}"> - <el-radio label="1">请选择字典生成</el-radio> - </el-radio-group> - </el-form-item> -#elseif($column.htmlType == "datetime") - <el-form-item label="${comment}" prop="${field}"> - <el-date-picker clearable - v-model="form.${field}" - type="date" - value-format="yyyy-MM-dd" - placeholder="选择${comment}"> - </el-date-picker> - </el-form-item> -#elseif($column.htmlType == "textarea") - <el-form-item label="${comment}" prop="${field}"> - <el-input v-model="form.${field}" type="textarea" placeholder="请输入内容" /> - </el-form-item> -#end -#end -#end -#end - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">确 定</el-button> - <el-button @click="cancel">取 消</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import { list${BusinessName}, get${BusinessName}, del${BusinessName}, add${BusinessName}, update${BusinessName} } from "@/api/${moduleName}/${businessName}"; -import Treeselect from "@riophae/vue-treeselect"; -import "@riophae/vue-treeselect/dist/vue-treeselect.css"; - -export default { - name: "${BusinessName}", -#if(${dicts} != '') - dicts: [${dicts}], -#end - components: { - Treeselect - }, - data() { - return { - // 遮罩层 - loading: true, - // 显示搜索条件 - showSearch: true, - // ${functionName}表格数据 - ${businessName}List: [], - // ${functionName}树选项 - ${businessName}Options: [], - // 弹出层标题 - title: "", - // 是否显示弹出层 - open: false, - // 是否展开,默认全部展开 - isExpandAll: true, - // 重新渲染表格状态 - refreshTable: true, -#foreach ($column in $columns) -#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN") -#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) - // $comment时间范围 - daterange${AttrName}: [], -#end -#end - // 查询参数 - queryParams: { -#foreach ($column in $columns) -#if($column.query) - $column.javaField: null#if($foreach.count != $columns.size()),#end -#end -#end - }, - // 表单参数 - form: {}, - // 表单校验 - rules: { -#foreach ($column in $columns) -#if($column.required) -#set($parentheseIndex=$column.columnComment.indexOf("(")) -#if($parentheseIndex != -1) -#set($comment=$column.columnComment.substring(0, $parentheseIndex)) -#else -#set($comment=$column.columnComment) -#end - $column.javaField: [ - { required: true, message: "$comment不能为空", trigger: #if($column.htmlType == "select" || $column.htmlType == "radio")"change"#else"blur"#end } - ]#if($foreach.count != $columns.size()),#end -#end -#end - } - }; - }, - created() { - this.getList(); - }, - methods: { - /** 查询${functionName}列表 */ - getList() { - this.loading = true; -#foreach ($column in $columns) -#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN") - this.queryParams.params = {}; -#break -#end -#end -#foreach ($column in $columns) -#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN") -#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) - if (null != this.daterange${AttrName} && '' != this.daterange${AttrName}) { - this.queryParams.params["begin${AttrName}"] = this.daterange${AttrName}[0]; - this.queryParams.params["end${AttrName}"] = this.daterange${AttrName}[1]; - } -#end -#end - list${BusinessName}(this.queryParams).then(response => { - this.${businessName}List = this.handleTree(response.data, "${treeCode}", "${treeParentCode}"); - this.loading = false; - }); - }, - /** 转换${functionName}数据结构 */ - normalizer(node) { - if (node.children && !node.children.length) { - delete node.children; - } - return { - id: node.${treeCode}, - label: node.${treeName}, - children: node.children - }; - }, - /** 查询${functionName}下拉树结构 */ - getTreeselect() { - list${BusinessName}().then(response => { - this.${businessName}Options = []; - const data = { ${treeCode}: 0, ${treeName}: '顶级节点', children: [] }; - data.children = this.handleTree(response.data, "${treeCode}", "${treeParentCode}"); - this.${businessName}Options.push(data); - }); - }, - // 取消按钮 - cancel() { - this.open = false; - this.reset(); - }, - // 表单重置 - reset() { - this.form = { -#foreach ($column in $columns) -#if($column.htmlType == "checkbox") - $column.javaField: []#if($foreach.count != $columns.size()),#end -#else - $column.javaField: null#if($foreach.count != $columns.size()),#end -#end -#end - }; - this.resetForm("form"); - }, - /** 搜索按钮操作 */ - handleQuery() { - this.getList(); - }, - /** 重置按钮操作 */ - resetQuery() { -#foreach ($column in $columns) -#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN") -#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) - this.daterange${AttrName} = []; -#end -#end - this.resetForm("queryForm"); - this.handleQuery(); - }, - /** 新增按钮操作 */ - handleAdd(row) { - this.reset(); - this.getTreeselect(); - if (row != null && row.${treeCode}) { - this.form.${treeParentCode} = row.${treeCode}; - } else { - this.form.${treeParentCode} = 0; - } - this.open = true; - this.title = "添加${functionName}"; - }, - /** 展开/折叠操作 */ - toggleExpandAll() { - this.refreshTable = false; - this.isExpandAll = !this.isExpandAll; - this.$nextTick(() => { - this.refreshTable = true; - }); - }, - /** 修改按钮操作 */ - handleUpdate(row) { - this.reset(); - this.getTreeselect(); - if (row != null) { - this.form.${treeParentCode} = row.${treeCode}; - } - get${BusinessName}(row.${pkColumn.javaField}).then(response => { - this.form = response.data; -#foreach ($column in $columns) -#if($column.htmlType == "checkbox") - this.form.$column.javaField = this.form.${column.javaField}.split(","); -#end -#end - this.open = true; - this.title = "修改${functionName}"; - }); - }, - /** 提交按钮 */ - submitForm() { - this.#[[$]]#refs["form"].validate(valid => { - if (valid) { -#foreach ($column in $columns) -#if($column.htmlType == "checkbox") - this.form.$column.javaField = this.form.${column.javaField}.join(","); -#end -#end - if (this.form.${pkColumn.javaField} != null) { - update${BusinessName}(this.form).then(response => { - this.#[[$modal]]#.msgSuccess("修改成功"); - this.open = false; - this.getList(); - }); - } else { - add${BusinessName}(this.form).then(response => { - this.#[[$modal]]#.msgSuccess("新增成功"); - this.open = false; - this.getList(); - }); - } - } - }); - }, - /** 删除按钮操作 */ - handleDelete(row) { - this.#[[$modal]]#.confirm('是否确认删除${functionName}编号为"' + row.${pkColumn.javaField} + '"的数据项?').then(function() { - return del${BusinessName}(row.${pkColumn.javaField}); - }).then(() => { - this.getList(); - this.#[[$modal]]#.msgSuccess("删除成功"); - }).catch(() => {}); - } - } -}; -</script> diff --git a/hrt-modules/hrt-gen/src/main/resources/vm/vue/index.vue.vm b/hrt-modules/hrt-gen/src/main/resources/vm/vue/index.vue.vm deleted file mode 100644 index 6296014..0000000 --- a/hrt-modules/hrt-gen/src/main/resources/vm/vue/index.vue.vm +++ /dev/null @@ -1,602 +0,0 @@ -<template> - <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> -#foreach($column in $columns) -#if($column.query) -#set($dictType=$column.dictType) -#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) -#set($parentheseIndex=$column.columnComment.indexOf("(")) -#if($parentheseIndex != -1) -#set($comment=$column.columnComment.substring(0, $parentheseIndex)) -#else -#set($comment=$column.columnComment) -#end -#if($column.htmlType == "input") - <el-form-item label="${comment}" prop="${column.javaField}"> - <el-input - v-model="queryParams.${column.javaField}" - placeholder="请输入${comment}" - clearable - @keyup.enter.native="handleQuery" - /> - </el-form-item> -#elseif(($column.htmlType == "select" || $column.htmlType == "radio") && "" != $dictType) - <el-form-item label="${comment}" prop="${column.javaField}"> - <el-select v-model="queryParams.${column.javaField}" placeholder="请选择${comment}" clearable> - <el-option - v-for="dict in dict.type.${dictType}" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> - </el-select> - </el-form-item> -#elseif(($column.htmlType == "select" || $column.htmlType == "radio") && $dictType) - <el-form-item label="${comment}" prop="${column.javaField}"> - <el-select v-model="queryParams.${column.javaField}" placeholder="请选择${comment}" clearable> - <el-option label="请选择字典生成" value="" /> - </el-select> - </el-form-item> -#elseif($column.htmlType == "datetime" && $column.queryType != "BETWEEN") - <el-form-item label="${comment}" prop="${column.javaField}"> - <el-date-picker clearable - v-model="queryParams.${column.javaField}" - type="date" - value-format="yyyy-MM-dd" - placeholder="请选择${comment}"> - </el-date-picker> - </el-form-item> -#elseif($column.htmlType == "datetime" && $column.queryType == "BETWEEN") - <el-form-item label="${comment}"> - <el-date-picker - v-model="daterange${AttrName}" - style="width: 240px" - value-format="yyyy-MM-dd" - type="daterange" - range-separator="-" - start-placeholder="开始日期" - end-placeholder="结束日期" - ></el-date-picker> - </el-form-item> -#end -#end -#end - <el-form-item> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> - </el-form-item> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="mini" - @click="handleAdd" - v-hasPermi="['${moduleName}:${businessName}:add']" - >新增</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="success" - plain - icon="el-icon-edit" - size="mini" - :disabled="single" - @click="handleUpdate" - v-hasPermi="['${moduleName}:${businessName}:edit']" - >修改</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="mini" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['${moduleName}:${businessName}:remove']" - >删除</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="warning" - plain - icon="el-icon-download" - size="mini" - @click="handleExport" - v-hasPermi="['${moduleName}:${businessName}:export']" - >导出</el-button> - </el-col> - <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> - </el-row> - - <el-table v-loading="loading" :data="${businessName}List" @selection-change="handleSelectionChange"> - <el-table-column type="selection" width="55" align="center" /> -#foreach($column in $columns) -#set($javaField=$column.javaField) -#set($parentheseIndex=$column.columnComment.indexOf("(")) -#if($parentheseIndex != -1) -#set($comment=$column.columnComment.substring(0, $parentheseIndex)) -#else -#set($comment=$column.columnComment) -#end -#if($column.pk) - <el-table-column label="${comment}" align="center" prop="${javaField}" /> -#elseif($column.list && $column.htmlType == "datetime") - <el-table-column label="${comment}" align="center" prop="${javaField}" width="180"> - <template slot-scope="scope"> - <span>{{ parseTime(scope.row.${javaField}, '{y}-{m}-{d}') }}</span> - </template> - </el-table-column> -#elseif($column.list && $column.htmlType == "imageUpload") - <el-table-column label="${comment}" align="center" prop="${javaField}" width="100"> - <template slot-scope="scope"> - <image-preview :src="scope.row.${javaField}" :width="50" :height="50"/> - </template> - </el-table-column> -#elseif($column.list && "" != $column.dictType) - <el-table-column label="${comment}" align="center" prop="${javaField}"> - <template slot-scope="scope"> -#if($column.htmlType == "checkbox") - <dict-tag :options="dict.type.${column.dictType}" :value="scope.row.${javaField} ? scope.row.${javaField}.split(',') : []"/> -#else - <dict-tag :options="dict.type.${column.dictType}" :value="scope.row.${javaField}"/> -#end - </template> - </el-table-column> -#elseif($column.list && "" != $javaField) - <el-table-column label="${comment}" align="center" prop="${javaField}" /> -#end -#end - <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> - <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['${moduleName}:${businessName}:edit']" - >修改</el-button> - <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click="handleDelete(scope.row)" - v-hasPermi="['${moduleName}:${businessName}:remove']" - >删除</el-button> - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total>0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getList" - /> - - <!-- 添加或修改${functionName}对话框 --> - <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> - <el-form ref="form" :model="form" :rules="rules" label-width="80px"> -#foreach($column in $columns) -#set($field=$column.javaField) -#if($column.insert && !$column.pk) -#if(($column.usableColumn) || (!$column.superColumn)) -#set($parentheseIndex=$column.columnComment.indexOf("(")) -#if($parentheseIndex != -1) -#set($comment=$column.columnComment.substring(0, $parentheseIndex)) -#else -#set($comment=$column.columnComment) -#end -#set($dictType=$column.dictType) -#if($column.htmlType == "input") - <el-form-item label="${comment}" prop="${field}"> - <el-input v-model="form.${field}" placeholder="请输入${comment}" /> - </el-form-item> -#elseif($column.htmlType == "imageUpload") - <el-form-item label="${comment}" prop="${field}"> - <image-upload v-model="form.${field}"/> - </el-form-item> -#elseif($column.htmlType == "fileUpload") - <el-form-item label="${comment}" prop="${field}"> - <file-upload v-model="form.${field}"/> - </el-form-item> -#elseif($column.htmlType == "editor") - <el-form-item label="${comment}"> - <editor v-model="form.${field}" :min-height="192"/> - </el-form-item> -#elseif($column.htmlType == "select" && "" != $dictType) - <el-form-item label="${comment}" prop="${field}"> - <el-select v-model="form.${field}" placeholder="请选择${comment}"> - <el-option - v-for="dict in dict.type.${dictType}" - :key="dict.value" - :label="dict.label" -#if($column.javaType == "Integer" || $column.javaType == "Long") - :value="parseInt(dict.value)" -#else - :value="dict.value" -#end - ></el-option> - </el-select> - </el-form-item> -#elseif($column.htmlType == "select" && $dictType) - <el-form-item label="${comment}" prop="${field}"> - <el-select v-model="form.${field}" placeholder="请选择${comment}"> - <el-option label="请选择字典生成" value="" /> - </el-select> - </el-form-item> -#elseif($column.htmlType == "checkbox" && "" != $dictType) - <el-form-item label="${comment}" prop="${field}"> - <el-checkbox-group v-model="form.${field}"> - <el-checkbox - v-for="dict in dict.type.${dictType}" - :key="dict.value" - :label="dict.value"> - {{dict.label}} - </el-checkbox> - </el-checkbox-group> - </el-form-item> -#elseif($column.htmlType == "checkbox" && $dictType) - <el-form-item label="${comment}" prop="${field}"> - <el-checkbox-group v-model="form.${field}"> - <el-checkbox>请选择字典生成</el-checkbox> - </el-checkbox-group> - </el-form-item> -#elseif($column.htmlType == "radio" && "" != $dictType) - <el-form-item label="${comment}" prop="${field}"> - <el-radio-group v-model="form.${field}"> - <el-radio - v-for="dict in dict.type.${dictType}" - :key="dict.value" -#if($column.javaType == "Integer" || $column.javaType == "Long") - :label="parseInt(dict.value)" -#else - :label="dict.value" -#end - >{{dict.label}}</el-radio> - </el-radio-group> - </el-form-item> -#elseif($column.htmlType == "radio" && $dictType) - <el-form-item label="${comment}" prop="${field}"> - <el-radio-group v-model="form.${field}"> - <el-radio label="1">请选择字典生成</el-radio> - </el-radio-group> - </el-form-item> -#elseif($column.htmlType == "datetime") - <el-form-item label="${comment}" prop="${field}"> - <el-date-picker clearable - v-model="form.${field}" - type="date" - value-format="yyyy-MM-dd" - placeholder="请选择${comment}"> - </el-date-picker> - </el-form-item> -#elseif($column.htmlType == "textarea") - <el-form-item label="${comment}" prop="${field}"> - <el-input v-model="form.${field}" type="textarea" placeholder="请输入内容" /> - </el-form-item> -#end -#end -#end -#end -#if($table.sub) - <el-divider content-position="center">${subTable.functionName}信息</el-divider> - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd${subClassName}">添加</el-button> - </el-col> - <el-col :span="1.5"> - <el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDelete${subClassName}">删除</el-button> - </el-col> - </el-row> - <el-table :data="${subclassName}List" :row-class-name="row${subClassName}Index" @selection-change="handle${subClassName}SelectionChange" ref="${subclassName}"> - <el-table-column type="selection" width="50" align="center" /> - <el-table-column label="序号" align="center" prop="index" width="50"/> -#foreach($column in $subTable.columns) -#set($javaField=$column.javaField) -#set($parentheseIndex=$column.columnComment.indexOf("(")) -#if($parentheseIndex != -1) -#set($comment=$column.columnComment.substring(0, $parentheseIndex)) -#else -#set($comment=$column.columnComment) -#end -#if($column.pk || $javaField == ${subTableFkclassName}) -#elseif($column.list && $column.htmlType == "input") - <el-table-column label="$comment" prop="${javaField}" width="150"> - <template slot-scope="scope"> - <el-input v-model="scope.row.$javaField" placeholder="请输入$comment" /> - </template> - </el-table-column> -#elseif($column.list && $column.htmlType == "datetime") - <el-table-column label="$comment" prop="${javaField}" width="240"> - <template slot-scope="scope"> - <el-date-picker clearable v-model="scope.row.$javaField" type="date" value-format="yyyy-MM-dd" placeholder="请选择$comment" /> - </template> - </el-table-column> -#elseif($column.list && ($column.htmlType == "select" || $column.htmlType == "radio") && "" != $column.dictType) - <el-table-column label="$comment" prop="${javaField}" width="150"> - <template slot-scope="scope"> - <el-select v-model="scope.row.$javaField" placeholder="请选择$comment"> - <el-option - v-for="dict in dict.type.$column.dictType" - :key="dict.value" - :label="dict.label" - :value="dict.value" - ></el-option> - </el-select> - </template> - </el-table-column> -#elseif($column.list && ($column.htmlType == "select" || $column.htmlType == "radio") && "" == $column.dictType) - <el-table-column label="$comment" prop="${javaField}" width="150"> - <template slot-scope="scope"> - <el-select v-model="scope.row.$javaField" placeholder="请选择$comment"> - <el-option label="请选择字典生成" value="" /> - </el-select> - </template> - </el-table-column> -#end -#end - </el-table> -#end - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">确 定</el-button> - <el-button @click="cancel">取 消</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import { list${BusinessName}, get${BusinessName}, del${BusinessName}, add${BusinessName}, update${BusinessName} } from "@/api/${moduleName}/${businessName}"; - -export default { - name: "${BusinessName}", -#if(${dicts} != '') - dicts: [${dicts}], -#end - data() { - return { - // 遮罩层 - loading: true, - // 选中数组 - ids: [], -#if($table.sub) - // 子表选中数据 - checked${subClassName}: [], -#end - // 非单个禁用 - single: true, - // 非多个禁用 - multiple: true, - // 显示搜索条件 - showSearch: true, - // 总条数 - total: 0, - // ${functionName}表格数据 - ${businessName}List: [], -#if($table.sub) - // ${subTable.functionName}表格数据 - ${subclassName}List: [], -#end - // 弹出层标题 - title: "", - // 是否显示弹出层 - open: false, -#foreach ($column in $columns) -#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN") -#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) - // $comment时间范围 - daterange${AttrName}: [], -#end -#end - // 查询参数 - queryParams: { - pageNum: 1, - pageSize: 10, -#foreach ($column in $columns) -#if($column.query) - $column.javaField: null#if($foreach.count != $columns.size()),#end -#end -#end - }, - // 表单参数 - form: {}, - // 表单校验 - rules: { -#foreach ($column in $columns) -#if($column.required) -#set($parentheseIndex=$column.columnComment.indexOf("(")) -#if($parentheseIndex != -1) -#set($comment=$column.columnComment.substring(0, $parentheseIndex)) -#else -#set($comment=$column.columnComment) -#end - $column.javaField: [ - { required: true, message: "$comment不能为空", trigger: #if($column.htmlType == "select" || $column.htmlType == "radio")"change"#else"blur"#end } - ]#if($foreach.count != $columns.size()),#end -#end -#end - } - }; - }, - created() { - this.getList(); - }, - methods: { - /** 查询${functionName}列表 */ - getList() { - this.loading = true; -#foreach ($column in $columns) -#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN") - this.queryParams.params = {}; -#break -#end -#end -#foreach ($column in $columns) -#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN") -#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) - if (null != this.daterange${AttrName} && '' != this.daterange${AttrName}) { - this.queryParams.params["begin${AttrName}"] = this.daterange${AttrName}[0]; - this.queryParams.params["end${AttrName}"] = this.daterange${AttrName}[1]; - } -#end -#end - list${BusinessName}(this.queryParams).then(response => { - this.${businessName}List = response.rows; - this.total = response.total; - this.loading = false; - }); - }, - // 取消按钮 - cancel() { - this.open = false; - this.reset(); - }, - // 表单重置 - reset() { - this.form = { -#foreach ($column in $columns) -#if($column.htmlType == "checkbox") - $column.javaField: []#if($foreach.count != $columns.size()),#end -#else - $column.javaField: null#if($foreach.count != $columns.size()),#end -#end -#end - }; -#if($table.sub) - this.${subclassName}List = []; -#end - this.resetForm("form"); - }, - /** 搜索按钮操作 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 重置按钮操作 */ - resetQuery() { -#foreach ($column in $columns) -#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN") -#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) - this.daterange${AttrName} = []; -#end -#end - this.resetForm("queryForm"); - this.handleQuery(); - }, - // 多选框选中数据 - handleSelectionChange(selection) { - this.ids = selection.map(item => item.${pkColumn.javaField}) - this.single = selection.length!==1 - this.multiple = !selection.length - }, - /** 新增按钮操作 */ - handleAdd() { - this.reset(); - this.open = true; - this.title = "添加${functionName}"; - }, - /** 修改按钮操作 */ - handleUpdate(row) { - this.reset(); - const ${pkColumn.javaField} = row.${pkColumn.javaField} || this.ids - get${BusinessName}(${pkColumn.javaField}).then(response => { - this.form = response.data; -#foreach ($column in $columns) -#if($column.htmlType == "checkbox") - this.form.$column.javaField = this.form.${column.javaField}.split(","); -#end -#end -#if($table.sub) - this.${subclassName}List = response.data.${subclassName}List; -#end - this.open = true; - this.title = "修改${functionName}"; - }); - }, - /** 提交按钮 */ - submitForm() { - this.#[[$]]#refs["form"].validate(valid => { - if (valid) { -#foreach ($column in $columns) -#if($column.htmlType == "checkbox") - this.form.$column.javaField = this.form.${column.javaField}.join(","); -#end -#end -#if($table.sub) - this.form.${subclassName}List = this.${subclassName}List; -#end - if (this.form.${pkColumn.javaField} != null) { - update${BusinessName}(this.form).then(response => { - this.#[[$modal]]#.msgSuccess("修改成功"); - this.open = false; - this.getList(); - }); - } else { - add${BusinessName}(this.form).then(response => { - this.#[[$modal]]#.msgSuccess("新增成功"); - this.open = false; - this.getList(); - }); - } - } - }); - }, - /** 删除按钮操作 */ - handleDelete(row) { - const ${pkColumn.javaField}s = row.${pkColumn.javaField} || this.ids; - this.#[[$modal]]#.confirm('是否确认删除${functionName}编号为"' + ${pkColumn.javaField}s + '"的数据项?').then(function() { - return del${BusinessName}(${pkColumn.javaField}s); - }).then(() => { - this.getList(); - this.#[[$modal]]#.msgSuccess("删除成功"); - }).catch(() => {}); - }, -#if($table.sub) - /** ${subTable.functionName}序号 */ - row${subClassName}Index({ row, rowIndex }) { - row.index = rowIndex + 1; - }, - /** ${subTable.functionName}添加按钮操作 */ - handleAdd${subClassName}() { - let obj = {}; -#foreach($column in $subTable.columns) -#if($column.pk || $column.javaField == ${subTableFkclassName}) -#elseif($column.list && "" != $javaField) - obj.$column.javaField = ""; -#end -#end - this.${subclassName}List.push(obj); - }, - /** ${subTable.functionName}删除按钮操作 */ - handleDelete${subClassName}() { - if (this.checked${subClassName}.length == 0) { - this.#[[$modal]]#.msgError("请先选择要删除的${subTable.functionName}数据"); - } else { - const ${subclassName}List = this.${subclassName}List; - const checked${subClassName} = this.checked${subClassName}; - this.${subclassName}List = ${subclassName}List.filter(function(item) { - return checked${subClassName}.indexOf(item.index) == -1 - }); - } - }, - /** 复选框选中数据 */ - handle${subClassName}SelectionChange(selection) { - this.checked${subClassName} = selection.map(item => item.index) - }, -#end - /** 导出按钮操作 */ - handleExport() { - this.download('${moduleName}/${businessName}/export', { - ...this.queryParams - }, `${businessName}_#[[${new Date().getTime()}]]#.xlsx`) - } - } -}; -</script> diff --git a/hrt-modules/hrt-gen/src/main/resources/vm/vue/v3/index-tree.vue.vm b/hrt-modules/hrt-gen/src/main/resources/vm/vue/v3/index-tree.vue.vm deleted file mode 100644 index 7bbd2fc..0000000 --- a/hrt-modules/hrt-gen/src/main/resources/vm/vue/v3/index-tree.vue.vm +++ /dev/null @@ -1,474 +0,0 @@ -<template> - <div class="app-container"> - <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px"> -#foreach($column in $columns) -#if($column.query) -#set($dictType=$column.dictType) -#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) -#set($parentheseIndex=$column.columnComment.indexOf("(")) -#if($parentheseIndex != -1) -#set($comment=$column.columnComment.substring(0, $parentheseIndex)) -#else -#set($comment=$column.columnComment) -#end -#if($column.htmlType == "input") - <el-form-item label="${comment}" prop="${column.javaField}"> - <el-input - v-model="queryParams.${column.javaField}" - placeholder="请输入${comment}" - clearable - @keyup.enter="handleQuery" - /> - </el-form-item> -#elseif(($column.htmlType == "select" || $column.htmlType == "radio") && "" != $dictType) - <el-form-item label="${comment}" prop="${column.javaField}"> - <el-select v-model="queryParams.${column.javaField}" placeholder="请选择${comment}" clearable> - <el-option - v-for="dict in ${dictType}" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> - </el-select> - </el-form-item> -#elseif(($column.htmlType == "select" || $column.htmlType == "radio") && $dictType) - <el-form-item label="${comment}" prop="${column.javaField}"> - <el-select v-model="queryParams.${column.javaField}" placeholder="请选择${comment}" clearable> - <el-option label="请选择字典生成" value="" /> - </el-select> - </el-form-item> -#elseif($column.htmlType == "datetime" && $column.queryType != "BETWEEN") - <el-form-item label="${comment}" prop="${column.javaField}"> - <el-date-picker clearable - v-model="queryParams.${column.javaField}" - type="date" - value-format="YYYY-MM-DD" - placeholder="选择${comment}"> - </el-date-picker> - </el-form-item> -#elseif($column.htmlType == "datetime" && $column.queryType == "BETWEEN") - <el-form-item label="${comment}" style="width: 308px"> - <el-date-picker - v-model="daterange${AttrName}" - value-format="YYYY-MM-DD" - type="daterange" - range-separator="-" - start-placeholder="开始日期" - end-placeholder="结束日期" - ></el-date-picker> - </el-form-item> -#end -#end -#end - <el-form-item> - <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button> - <el-button icon="Refresh" @click="resetQuery">重置</el-button> - </el-form-item> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="Plus" - @click="handleAdd" - v-hasPermi="['${moduleName}:${businessName}:add']" - >新增</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="info" - plain - icon="Sort" - @click="toggleExpandAll" - >展开/折叠</el-button> - </el-col> - <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar> - </el-row> - - <el-table - v-if="refreshTable" - v-loading="loading" - :data="${businessName}List" - row-key="${treeCode}" - :default-expand-all="isExpandAll" - :tree-props="{children: 'children', hasChildren: 'hasChildren'}" - > -#foreach($column in $columns) -#set($javaField=$column.javaField) -#set($parentheseIndex=$column.columnComment.indexOf("(")) -#if($parentheseIndex != -1) -#set($comment=$column.columnComment.substring(0, $parentheseIndex)) -#else -#set($comment=$column.columnComment) -#end -#if($column.pk) -#elseif($column.list && $column.htmlType == "datetime") - <el-table-column label="${comment}" align="center" prop="${javaField}" width="180"> - <template #default="scope"> - <span>{{ parseTime(scope.row.${javaField}, '{y}-{m}-{d}') }}</span> - </template> - </el-table-column> -#elseif($column.list && $column.htmlType == "imageUpload") - <el-table-column label="${comment}" align="center" prop="${javaField}" width="100"> - <template #default="scope"> - <image-preview :src="scope.row.${javaField}" :width="50" :height="50"/> - </template> - </el-table-column> -#elseif($column.list && "" != $column.dictType) - <el-table-column label="${comment}" align="center" prop="${javaField}"> - <template #default="scope"> -#if($column.htmlType == "checkbox") - <dict-tag :options="${column.dictType}" :value="scope.row.${javaField} ? scope.row.${javaField}.split(',') : []"/> -#else - <dict-tag :options="${column.dictType}" :value="scope.row.${javaField}"/> -#end - </template> - </el-table-column> -#elseif($column.list && "" != $javaField) -#if(${foreach.index} == 1) - <el-table-column label="${comment}" prop="${javaField}" /> -#else - <el-table-column label="${comment}" align="center" prop="${javaField}" /> -#end -#end -#end - <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> - <template #default="scope"> - <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['${moduleName}:${businessName}:edit']">修改</el-button> - <el-button link type="primary" icon="Plus" @click="handleAdd(scope.row)" v-hasPermi="['${moduleName}:${businessName}:add']">新增</el-button> - <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['${moduleName}:${businessName}:remove']">删除</el-button> - </template> - </el-table-column> - </el-table> - - <!-- 添加或修改${functionName}对话框 --> - <el-dialog :title="title" v-model="open" width="500px" append-to-body> - <el-form ref="${businessName}Ref" :model="form" :rules="rules" label-width="80px"> -#foreach($column in $columns) -#set($field=$column.javaField) -#if($column.insert && !$column.pk) -#if(($column.usableColumn) || (!$column.superColumn)) -#set($parentheseIndex=$column.columnComment.indexOf("(")) -#if($parentheseIndex != -1) -#set($comment=$column.columnComment.substring(0, $parentheseIndex)) -#else -#set($comment=$column.columnComment) -#end -#set($dictType=$column.dictType) -#if("" != $treeParentCode && $column.javaField == $treeParentCode) - <el-form-item label="${comment}" prop="${treeParentCode}"> - <el-tree-select - v-model="form.${treeParentCode}" - :data="${businessName}Options" - :props="{ value: '${treeCode}', label: '${treeName}', children: 'children' }" - value-key="${treeCode}" - placeholder="请选择${comment}" - check-strictly - /> - </el-form-item> -#elseif($column.htmlType == "input") - <el-form-item label="${comment}" prop="${field}"> - <el-input v-model="form.${field}" placeholder="请输入${comment}" /> - </el-form-item> -#elseif($column.htmlType == "imageUpload") - <el-form-item label="${comment}" prop="${field}"> - <image-upload v-model="form.${field}"/> - </el-form-item> -#elseif($column.htmlType == "fileUpload") - <el-form-item label="${comment}" prop="${field}"> - <file-upload v-model="form.${field}"/> - </el-form-item> -#elseif($column.htmlType == "editor") - <el-form-item label="${comment}"> - <editor v-model="form.${field}" :min-height="192"/> - </el-form-item> -#elseif($column.htmlType == "select" && "" != $dictType) - <el-form-item label="${comment}" prop="${field}"> - <el-select v-model="form.${field}" placeholder="请选择${comment}"> - <el-option - v-for="dict in ${dictType}" - :key="dict.value" - :label="dict.label" -#if($column.javaType == "Integer" || $column.javaType == "Long") - :value="parseInt(dict.value)" -#else - :value="dict.value" -#end - ></el-option> - </el-select> - </el-form-item> -#elseif($column.htmlType == "select" && $dictType) - <el-form-item label="${comment}" prop="${field}"> - <el-select v-model="form.${field}" placeholder="请选择${comment}"> - <el-option label="请选择字典生成" value="" /> - </el-select> - </el-form-item> -#elseif($column.htmlType == "checkbox" && "" != $dictType) - <el-form-item label="${comment}" prop="${field}"> - <el-checkbox-group v-model="form.${field}"> - <el-checkbox - v-for="dict in ${dictType}" - :key="dict.value" - :label="dict.value"> - {{dict.label}} - </el-checkbox> - </el-checkbox-group> - </el-form-item> -#elseif($column.htmlType == "checkbox" && $dictType) - <el-form-item label="${comment}" prop="${field}"> - <el-checkbox-group v-model="form.${field}"> - <el-checkbox>请选择字典生成</el-checkbox> - </el-checkbox-group> - </el-form-item> -#elseif($column.htmlType == "radio" && "" != $dictType) - <el-form-item label="${comment}" prop="${field}"> - <el-radio-group v-model="form.${field}"> - <el-radio - v-for="dict in ${dictType}" - :key="dict.value" -#if($column.javaType == "Integer" || $column.javaType == "Long") - :label="parseInt(dict.value)" -#else - :label="dict.value" -#end - >{{dict.label}}</el-radio> - </el-radio-group> - </el-form-item> -#elseif($column.htmlType == "radio" && $dictType) - <el-form-item label="${comment}" prop="${field}"> - <el-radio-group v-model="form.${field}"> - <el-radio label="1">请选择字典生成</el-radio> - </el-radio-group> - </el-form-item> -#elseif($column.htmlType == "datetime") - <el-form-item label="${comment}" prop="${field}"> - <el-date-picker clearable - v-model="form.${field}" - type="date" - value-format="YYYY-MM-DD" - placeholder="选择${comment}"> - </el-date-picker> - </el-form-item> -#elseif($column.htmlType == "textarea") - <el-form-item label="${comment}" prop="${field}"> - <el-input v-model="form.${field}" type="textarea" placeholder="请输入内容" /> - </el-form-item> -#end -#end -#end -#end - </el-form> - <template #footer> - <div class="dialog-footer"> - <el-button type="primary" @click="submitForm">确 定</el-button> - <el-button @click="cancel">取 消</el-button> - </div> - </template> - </el-dialog> - </div> -</template> - -<script setup name="${BusinessName}"> -import { list${BusinessName}, get${BusinessName}, del${BusinessName}, add${BusinessName}, update${BusinessName} } from "@/api/${moduleName}/${businessName}"; - -const { proxy } = getCurrentInstance(); -#if(${dicts} != '') -#set($dictsNoSymbol=$dicts.replace("'", "")) -const { ${dictsNoSymbol} } = proxy.useDict(${dicts}); -#end - -const ${businessName}List = ref([]); -const ${businessName}Options = ref([]); -const open = ref(false); -const loading = ref(true); -const showSearch = ref(true); -const title = ref(""); -const isExpandAll = ref(true); -const refreshTable = ref(true); -#foreach ($column in $columns) -#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN") -#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) -const daterange${AttrName} = ref([]); -#end -#end - -const data = reactive({ - form: {}, - queryParams: { - #foreach ($column in $columns) -#if($column.query) - $column.javaField: null#if($foreach.count != $columns.size()),#end -#end -#end - }, - rules: { - #foreach ($column in $columns) -#if($column.required) -#set($parentheseIndex=$column.columnComment.indexOf("(")) -#if($parentheseIndex != -1) -#set($comment=$column.columnComment.substring(0, $parentheseIndex)) -#else -#set($comment=$column.columnComment) -#end - $column.javaField: [ - { required: true, message: "$comment不能为空", trigger: #if($column.htmlType == "select" || $column.htmlType == "radio")"change"#else"blur"#end } - ]#if($foreach.count != $columns.size()),#end -#end -#end - } -}); - -const { queryParams, form, rules } = toRefs(data); - -/** 查询${functionName}列表 */ -function getList() { - loading.value = true; -#foreach ($column in $columns) -#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN") - queryParams.value.params = {}; -#break -#end -#end -#foreach ($column in $columns) -#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN") -#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) - if (null != daterange${AttrName} && '' != daterange${AttrName}) { - queryParams.value.params["begin${AttrName}"] = daterange${AttrName}.value[0]; - queryParams.value.params["end${AttrName}"] = daterange${AttrName}.value[1]; - } -#end -#end - list${BusinessName}(queryParams.value).then(response => { - ${businessName}List.value = proxy.handleTree(response.data, "${treeCode}", "${treeParentCode}"); - loading.value = false; - }); -} - -/** 查询${functionName}下拉树结构 */ -function getTreeselect() { - list${BusinessName}().then(response => { - ${businessName}Options.value = []; - const data = { ${treeCode}: 0, ${treeName}: '顶级节点', children: [] }; - data.children = proxy.handleTree(response.data, "${treeCode}", "${treeParentCode}"); - ${businessName}Options.value.push(data); - }); -} - -// 取消按钮 -function cancel() { - open.value = false; - reset(); -} - -// 表单重置 -function reset() { - form.value = { -#foreach ($column in $columns) -#if($column.htmlType == "checkbox") - $column.javaField: []#if($foreach.count != $columns.size()),#end -#else - $column.javaField: null#if($foreach.count != $columns.size()),#end -#end -#end - }; - proxy.resetForm("${businessName}Ref"); -} - -/** 搜索按钮操作 */ -function handleQuery() { - getList(); -} - -/** 重置按钮操作 */ -function resetQuery() { -#foreach ($column in $columns) -#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN") -#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) - daterange${AttrName}.value = []; -#end -#end - proxy.resetForm("queryRef"); - handleQuery(); -} - -/** 新增按钮操作 */ -function handleAdd(row) { - reset(); - getTreeselect(); - if (row != null && row.${treeCode}) { - form.value.${treeParentCode} = row.${treeCode}; - } else { - form.value.${treeParentCode} = 0; - } - open.value = true; - title.value = "添加${functionName}"; -} - -/** 展开/折叠操作 */ -function toggleExpandAll() { - refreshTable.value = false; - isExpandAll.value = !isExpandAll.value; - nextTick(() => { - refreshTable.value = true; - }); -} - -/** 修改按钮操作 */ -async function handleUpdate(row) { - reset(); - await getTreeselect(); - if (row != null) { - form.value.${treeParentCode} = row.${treeCode}; - } - get${BusinessName}(row.${pkColumn.javaField}).then(response => { - form.value = response.data; -#foreach ($column in $columns) -#if($column.htmlType == "checkbox") - form.value.$column.javaField = form.value.${column.javaField}.split(","); -#end -#end - open.value = true; - title.value = "修改${functionName}"; - }); -} - -/** 提交按钮 */ -function submitForm() { - proxy.#[[$]]#refs["${businessName}Ref"].validate(valid => { - if (valid) { -#foreach ($column in $columns) -#if($column.htmlType == "checkbox") - form.value.$column.javaField = form.value.${column.javaField}.join(","); -#end -#end - if (form.value.${pkColumn.javaField} != null) { - update${BusinessName}(form.value).then(response => { - proxy.#[[$modal]]#.msgSuccess("修改成功"); - open.value = false; - getList(); - }); - } else { - add${BusinessName}(form.value).then(response => { - proxy.#[[$modal]]#.msgSuccess("新增成功"); - open.value = false; - getList(); - }); - } - } - }); -} - -/** 删除按钮操作 */ -function handleDelete(row) { - proxy.#[[$modal]]#.confirm('是否确认删除${functionName}编号为"' + row.${pkColumn.javaField} + '"的数据项?').then(function() { - return del${BusinessName}(row.${pkColumn.javaField}); - }).then(() => { - getList(); - proxy.#[[$modal]]#.msgSuccess("删除成功"); - }).catch(() => {}); -} - -getList(); -</script> diff --git a/hrt-modules/hrt-gen/src/main/resources/vm/vue/v3/index.vue.vm b/hrt-modules/hrt-gen/src/main/resources/vm/vue/v3/index.vue.vm deleted file mode 100644 index 8b25665..0000000 --- a/hrt-modules/hrt-gen/src/main/resources/vm/vue/v3/index.vue.vm +++ /dev/null @@ -1,590 +0,0 @@ -<template> - <div class="app-container"> - <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px"> -#foreach($column in $columns) -#if($column.query) -#set($dictType=$column.dictType) -#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) -#set($parentheseIndex=$column.columnComment.indexOf("(")) -#if($parentheseIndex != -1) -#set($comment=$column.columnComment.substring(0, $parentheseIndex)) -#else -#set($comment=$column.columnComment) -#end -#if($column.htmlType == "input") - <el-form-item label="${comment}" prop="${column.javaField}"> - <el-input - v-model="queryParams.${column.javaField}" - placeholder="请输入${comment}" - clearable - @keyup.enter="handleQuery" - /> - </el-form-item> -#elseif(($column.htmlType == "select" || $column.htmlType == "radio") && "" != $dictType) - <el-form-item label="${comment}" prop="${column.javaField}"> - <el-select v-model="queryParams.${column.javaField}" placeholder="请选择${comment}" clearable> - <el-option - v-for="dict in ${dictType}" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> - </el-select> - </el-form-item> -#elseif(($column.htmlType == "select" || $column.htmlType == "radio") && $dictType) - <el-form-item label="${comment}" prop="${column.javaField}"> - <el-select v-model="queryParams.${column.javaField}" placeholder="请选择${comment}" clearable> - <el-option label="请选择字典生成" value="" /> - </el-select> - </el-form-item> -#elseif($column.htmlType == "datetime" && $column.queryType != "BETWEEN") - <el-form-item label="${comment}" prop="${column.javaField}"> - <el-date-picker clearable - v-model="queryParams.${column.javaField}" - type="date" - value-format="YYYY-MM-DD" - placeholder="请选择${comment}"> - </el-date-picker> - </el-form-item> -#elseif($column.htmlType == "datetime" && $column.queryType == "BETWEEN") - <el-form-item label="${comment}" style="width: 308px"> - <el-date-picker - v-model="daterange${AttrName}" - value-format="YYYY-MM-DD" - type="daterange" - range-separator="-" - start-placeholder="开始日期" - end-placeholder="结束日期" - ></el-date-picker> - </el-form-item> -#end -#end -#end - <el-form-item> - <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button> - <el-button icon="Refresh" @click="resetQuery">重置</el-button> - </el-form-item> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="Plus" - @click="handleAdd" - v-hasPermi="['${moduleName}:${businessName}:add']" - >新增</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="success" - plain - icon="Edit" - :disabled="single" - @click="handleUpdate" - v-hasPermi="['${moduleName}:${businessName}:edit']" - >修改</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="Delete" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['${moduleName}:${businessName}:remove']" - >删除</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="warning" - plain - icon="Download" - @click="handleExport" - v-hasPermi="['${moduleName}:${businessName}:export']" - >导出</el-button> - </el-col> - <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar> - </el-row> - - <el-table v-loading="loading" :data="${businessName}List" @selection-change="handleSelectionChange"> - <el-table-column type="selection" width="55" align="center" /> -#foreach($column in $columns) -#set($javaField=$column.javaField) -#set($parentheseIndex=$column.columnComment.indexOf("(")) -#if($parentheseIndex != -1) -#set($comment=$column.columnComment.substring(0, $parentheseIndex)) -#else -#set($comment=$column.columnComment) -#end -#if($column.pk) - <el-table-column label="${comment}" align="center" prop="${javaField}" /> -#elseif($column.list && $column.htmlType == "datetime") - <el-table-column label="${comment}" align="center" prop="${javaField}" width="180"> - <template #default="scope"> - <span>{{ parseTime(scope.row.${javaField}, '{y}-{m}-{d}') }}</span> - </template> - </el-table-column> -#elseif($column.list && $column.htmlType == "imageUpload") - <el-table-column label="${comment}" align="center" prop="${javaField}" width="100"> - <template #default="scope"> - <image-preview :src="scope.row.${javaField}" :width="50" :height="50"/> - </template> - </el-table-column> -#elseif($column.list && "" != $column.dictType) - <el-table-column label="${comment}" align="center" prop="${javaField}"> - <template #default="scope"> -#if($column.htmlType == "checkbox") - <dict-tag :options="${column.dictType}" :value="scope.row.${javaField} ? scope.row.${javaField}.split(',') : []"/> -#else - <dict-tag :options="${column.dictType}" :value="scope.row.${javaField}"/> -#end - </template> - </el-table-column> -#elseif($column.list && "" != $javaField) - <el-table-column label="${comment}" align="center" prop="${javaField}" /> -#end -#end - <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> - <template #default="scope"> - <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['${moduleName}:${businessName}:edit']">修改</el-button> - <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['${moduleName}:${businessName}:remove']">删除</el-button> - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total>0" - :total="total" - v-model:page="queryParams.pageNum" - v-model:limit="queryParams.pageSize" - @pagination="getList" - /> - - <!-- 添加或修改${functionName}对话框 --> - <el-dialog :title="title" v-model="open" width="500px" append-to-body> - <el-form ref="${businessName}Ref" :model="form" :rules="rules" label-width="80px"> -#foreach($column in $columns) -#set($field=$column.javaField) -#if($column.insert && !$column.pk) -#if(($column.usableColumn) || (!$column.superColumn)) -#set($parentheseIndex=$column.columnComment.indexOf("(")) -#if($parentheseIndex != -1) -#set($comment=$column.columnComment.substring(0, $parentheseIndex)) -#else -#set($comment=$column.columnComment) -#end -#set($dictType=$column.dictType) -#if($column.htmlType == "input") - <el-form-item label="${comment}" prop="${field}"> - <el-input v-model="form.${field}" placeholder="请输入${comment}" /> - </el-form-item> -#elseif($column.htmlType == "imageUpload") - <el-form-item label="${comment}" prop="${field}"> - <image-upload v-model="form.${field}"/> - </el-form-item> -#elseif($column.htmlType == "fileUpload") - <el-form-item label="${comment}" prop="${field}"> - <file-upload v-model="form.${field}"/> - </el-form-item> -#elseif($column.htmlType == "editor") - <el-form-item label="${comment}"> - <editor v-model="form.${field}" :min-height="192"/> - </el-form-item> -#elseif($column.htmlType == "select" && "" != $dictType) - <el-form-item label="${comment}" prop="${field}"> - <el-select v-model="form.${field}" placeholder="请选择${comment}"> - <el-option - v-for="dict in ${dictType}" - :key="dict.value" - :label="dict.label" -#if($column.javaType == "Integer" || $column.javaType == "Long") - :value="parseInt(dict.value)" -#else - :value="dict.value" -#end - ></el-option> - </el-select> - </el-form-item> -#elseif($column.htmlType == "select" && $dictType) - <el-form-item label="${comment}" prop="${field}"> - <el-select v-model="form.${field}" placeholder="请选择${comment}"> - <el-option label="请选择字典生成" value="" /> - </el-select> - </el-form-item> -#elseif($column.htmlType == "checkbox" && "" != $dictType) - <el-form-item label="${comment}" prop="${field}"> - <el-checkbox-group v-model="form.${field}"> - <el-checkbox - v-for="dict in ${dictType}" - :key="dict.value" - :label="dict.value"> - {{dict.label}} - </el-checkbox> - </el-checkbox-group> - </el-form-item> -#elseif($column.htmlType == "checkbox" && $dictType) - <el-form-item label="${comment}" prop="${field}"> - <el-checkbox-group v-model="form.${field}"> - <el-checkbox>请选择字典生成</el-checkbox> - </el-checkbox-group> - </el-form-item> -#elseif($column.htmlType == "radio" && "" != $dictType) - <el-form-item label="${comment}" prop="${field}"> - <el-radio-group v-model="form.${field}"> - <el-radio - v-for="dict in ${dictType}" - :key="dict.value" -#if($column.javaType == "Integer" || $column.javaType == "Long") - :label="parseInt(dict.value)" -#else - :label="dict.value" -#end - >{{dict.label}}</el-radio> - </el-radio-group> - </el-form-item> -#elseif($column.htmlType == "radio" && $dictType) - <el-form-item label="${comment}" prop="${field}"> - <el-radio-group v-model="form.${field}"> - <el-radio label="1">请选择字典生成</el-radio> - </el-radio-group> - </el-form-item> -#elseif($column.htmlType == "datetime") - <el-form-item label="${comment}" prop="${field}"> - <el-date-picker clearable - v-model="form.${field}" - type="date" - value-format="YYYY-MM-DD" - placeholder="请选择${comment}"> - </el-date-picker> - </el-form-item> -#elseif($column.htmlType == "textarea") - <el-form-item label="${comment}" prop="${field}"> - <el-input v-model="form.${field}" type="textarea" placeholder="请输入内容" /> - </el-form-item> -#end -#end -#end -#end -#if($table.sub) - <el-divider content-position="center">${subTable.functionName}信息</el-divider> - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button type="primary" icon="Plus" @click="handleAdd${subClassName}">添加</el-button> - </el-col> - <el-col :span="1.5"> - <el-button type="danger" icon="Delete" @click="handleDelete${subClassName}">删除</el-button> - </el-col> - </el-row> - <el-table :data="${subclassName}List" :row-class-name="row${subClassName}Index" @selection-change="handle${subClassName}SelectionChange" ref="${subclassName}"> - <el-table-column type="selection" width="50" align="center" /> - <el-table-column label="序号" align="center" prop="index" width="50"/> -#foreach($column in $subTable.columns) -#set($javaField=$column.javaField) -#set($parentheseIndex=$column.columnComment.indexOf("(")) -#if($parentheseIndex != -1) -#set($comment=$column.columnComment.substring(0, $parentheseIndex)) -#else -#set($comment=$column.columnComment) -#end -#if($column.pk || $javaField == ${subTableFkclassName}) -#elseif($column.list && $column.htmlType == "input") - <el-table-column label="$comment" prop="${javaField}" width="150"> - <template #default="scope"> - <el-input v-model="scope.row.$javaField" placeholder="请输入$comment" /> - </template> - </el-table-column> -#elseif($column.list && $column.htmlType == "datetime") - <el-table-column label="$comment" prop="${javaField}" width="240"> - <template #default="scope"> - <el-date-picker clearable - v-model="scope.row.$javaField" - type="date" - value-format="YYYY-MM-DD" - placeholder="请选择$comment"> - </el-date-picker> - </template> - </el-table-column> -#elseif($column.list && ($column.htmlType == "select" || $column.htmlType == "radio") && "" != $column.dictType) - <el-table-column label="$comment" prop="${javaField}" width="150"> - <template #default="scope"> - <el-select v-model="scope.row.$javaField" placeholder="请选择$comment"> - <el-option - v-for="dict in $column.dictType" - :key="dict.value" - :label="dict.label" - :value="dict.value" - ></el-option> - </el-select> - </template> - </el-table-column> -#elseif($column.list && ($column.htmlType == "select" || $column.htmlType == "radio") && "" == $column.dictType) - <el-table-column label="$comment" prop="${javaField}" width="150"> - <template #default="scope"> - <el-select v-model="scope.row.$javaField" placeholder="请选择$comment"> - <el-option label="请选择字典生成" value="" /> - </el-select> - </template> - </el-table-column> -#end -#end - </el-table> -#end - </el-form> - <template #footer> - <div class="dialog-footer"> - <el-button type="primary" @click="submitForm">确 定</el-button> - <el-button @click="cancel">取 消</el-button> - </div> - </template> - </el-dialog> - </div> -</template> - -<script setup name="${BusinessName}"> -import { list${BusinessName}, get${BusinessName}, del${BusinessName}, add${BusinessName}, update${BusinessName} } from "@/api/${moduleName}/${businessName}"; - -const { proxy } = getCurrentInstance(); -#if(${dicts} != '') -#set($dictsNoSymbol=$dicts.replace("'", "")) -const { ${dictsNoSymbol} } = proxy.useDict(${dicts}); -#end - -const ${businessName}List = ref([]); -#if($table.sub) -const ${subclassName}List = ref([]); -#end -const open = ref(false); -const loading = ref(true); -const showSearch = ref(true); -const ids = ref([]); -#if($table.sub) -const checked${subClassName} = ref([]); -#end -const single = ref(true); -const multiple = ref(true); -const total = ref(0); -const title = ref(""); -#foreach ($column in $columns) -#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN") -#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) -const daterange${AttrName} = ref([]); -#end -#end - -const data = reactive({ - form: {}, - queryParams: { - pageNum: 1, - pageSize: 10, - #foreach ($column in $columns) -#if($column.query) - $column.javaField: null#if($foreach.count != $columns.size()),#end -#end -#end - }, - rules: { - #foreach ($column in $columns) -#if($column.required) -#set($parentheseIndex=$column.columnComment.indexOf("(")) -#if($parentheseIndex != -1) -#set($comment=$column.columnComment.substring(0, $parentheseIndex)) -#else -#set($comment=$column.columnComment) -#end - $column.javaField: [ - { required: true, message: "$comment不能为空", trigger: #if($column.htmlType == "select" || $column.htmlType == "radio")"change"#else"blur"#end } - ]#if($foreach.count != $columns.size()),#end -#end -#end - } -}); - -const { queryParams, form, rules } = toRefs(data); - -/** 查询${functionName}列表 */ -function getList() { - loading.value = true; -#foreach ($column in $columns) -#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN") - queryParams.value.params = {}; -#break -#end -#end -#foreach ($column in $columns) -#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN") -#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) - if (null != daterange${AttrName} && '' != daterange${AttrName}) { - queryParams.value.params["begin${AttrName}"] = daterange${AttrName}.value[0]; - queryParams.value.params["end${AttrName}"] = daterange${AttrName}.value[1]; - } -#end -#end - list${BusinessName}(queryParams.value).then(response => { - ${businessName}List.value = response.rows; - total.value = response.total; - loading.value = false; - }); -} - -// 取消按钮 -function cancel() { - open.value = false; - reset(); -} - -// 表单重置 -function reset() { - form.value = { -#foreach ($column in $columns) -#if($column.htmlType == "checkbox") - $column.javaField: []#if($foreach.count != $columns.size()),#end -#else - $column.javaField: null#if($foreach.count != $columns.size()),#end -#end -#end - }; -#if($table.sub) - ${subclassName}List.value = []; -#end - proxy.resetForm("${businessName}Ref"); -} - -/** 搜索按钮操作 */ -function handleQuery() { - queryParams.value.pageNum = 1; - getList(); -} - -/** 重置按钮操作 */ -function resetQuery() { -#foreach ($column in $columns) -#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN") -#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) - daterange${AttrName}.value = []; -#end -#end - proxy.resetForm("queryRef"); - handleQuery(); -} - -// 多选框选中数据 -function handleSelectionChange(selection) { - ids.value = selection.map(item => item.${pkColumn.javaField}); - single.value = selection.length != 1; - multiple.value = !selection.length; -} - -/** 新增按钮操作 */ -function handleAdd() { - reset(); - open.value = true; - title.value = "添加${functionName}"; -} - -/** 修改按钮操作 */ -function handleUpdate(row) { - reset(); - const _${pkColumn.javaField} = row.${pkColumn.javaField} || ids.value - get${BusinessName}(_${pkColumn.javaField}).then(response => { - form.value = response.data; -#foreach ($column in $columns) -#if($column.htmlType == "checkbox") - form.value.$column.javaField = form.value.${column.javaField}.split(","); -#end -#end -#if($table.sub) - ${subclassName}List.value = response.data.${subclassName}List; -#end - open.value = true; - title.value = "修改${functionName}"; - }); -} - -/** 提交按钮 */ -function submitForm() { - proxy.#[[$]]#refs["${businessName}Ref"].validate(valid => { - if (valid) { -#foreach ($column in $columns) -#if($column.htmlType == "checkbox") - form.value.$column.javaField = form.value.${column.javaField}.join(","); -#end -#end -#if($table.sub) - form.value.${subclassName}List = ${subclassName}List.value; -#end - if (form.value.${pkColumn.javaField} != null) { - update${BusinessName}(form.value).then(response => { - proxy.#[[$modal]]#.msgSuccess("修改成功"); - open.value = false; - getList(); - }); - } else { - add${BusinessName}(form.value).then(response => { - proxy.#[[$modal]]#.msgSuccess("新增成功"); - open.value = false; - getList(); - }); - } - } - }); -} - -/** 删除按钮操作 */ -function handleDelete(row) { - const _${pkColumn.javaField}s = row.${pkColumn.javaField} || ids.value; - proxy.#[[$modal]]#.confirm('是否确认删除${functionName}编号为"' + _${pkColumn.javaField}s + '"的数据项?').then(function() { - return del${BusinessName}(_${pkColumn.javaField}s); - }).then(() => { - getList(); - proxy.#[[$modal]]#.msgSuccess("删除成功"); - }).catch(() => {}); -} - -#if($table.sub) -/** ${subTable.functionName}序号 */ -function row${subClassName}Index({ row, rowIndex }) { - row.index = rowIndex + 1; -} - -/** ${subTable.functionName}添加按钮操作 */ -function handleAdd${subClassName}() { - let obj = {}; -#foreach($column in $subTable.columns) -#if($column.pk || $column.javaField == ${subTableFkclassName}) -#elseif($column.list && "" != $javaField) - obj.$column.javaField = ""; -#end -#end - ${subclassName}List.value.push(obj); -} - -/** ${subTable.functionName}删除按钮操作 */ -function handleDelete${subClassName}() { - if (checked${subClassName}.value.length == 0) { - proxy.#[[$modal]]#.msgError("请先选择要删除的${subTable.functionName}数据"); - } else { - const ${subclassName}s = ${subclassName}List.value; - const checked${subClassName}s = checked${subClassName}.value; - ${subclassName}List.value = ${subclassName}s.filter(function(item) { - return checked${subClassName}s.indexOf(item.index) == -1 - }); - } -} - -/** 复选框选中数据 */ -function handle${subClassName}SelectionChange(selection) { - checked${subClassName}.value = selection.map(item => item.index) -} - -#end -/** 导出按钮操作 */ -function handleExport() { - proxy.download('${moduleName}/${businessName}/export', { - ...queryParams.value - }, `${businessName}_#[[${new Date().getTime()}]]#.xlsx`) -} - -getList(); -</script> diff --git a/hrt-modules/hrt-gen/src/main/resources/vm/vue/v3/readme.txt b/hrt-modules/hrt-gen/src/main/resources/vm/vue/v3/readme.txt deleted file mode 100644 index e71a632..0000000 --- a/hrt-modules/hrt-gen/src/main/resources/vm/vue/v3/readme.txt +++ /dev/null @@ -1 +0,0 @@ -���ʹ�õ���hrt-Cloud-Vue3ǰ�ˣ���ô��Ҫ����һ�´�Ŀ¼��ģ��index.vue.vm��index-tree.vue.vm�ļ����ϼ�vueĿ¼�� \ No newline at end of file diff --git a/hrt-modules/hrt-gen/src/main/resources/vm/xml/mapper.xml.vm b/hrt-modules/hrt-gen/src/main/resources/vm/xml/mapper.xml.vm deleted file mode 100644 index 0ceb3d8..0000000 --- a/hrt-modules/hrt-gen/src/main/resources/vm/xml/mapper.xml.vm +++ /dev/null @@ -1,135 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!DOCTYPE mapper -PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" -"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="${packageName}.mapper.${ClassName}Mapper"> - - <resultMap type="${ClassName}" id="${ClassName}Result"> -#foreach ($column in $columns) - <result property="${column.javaField}" column="${column.columnName}" /> -#end - </resultMap> -#if($table.sub) - - <resultMap id="${ClassName}${subClassName}Result" type="${ClassName}" extends="${ClassName}Result"> - <collection property="${subclassName}List" notNullColumn="sub_${subTable.pkColumn.columnName}" javaType="java.util.List" resultMap="${subClassName}Result" /> - </resultMap> - - <resultMap type="${subClassName}" id="${subClassName}Result"> -#foreach ($column in $subTable.columns) - <result property="${column.javaField}" column="sub_${column.columnName}" /> -#end - </resultMap> -#end - - <sql id="select${ClassName}Vo"> - select#foreach($column in $columns) $column.columnName#if($foreach.count != $columns.size()),#end#end from ${tableName} - </sql> - - <select id="select${ClassName}List" parameterType="${ClassName}" resultMap="${ClassName}Result"> - <include refid="select${ClassName}Vo"/> - <where> -#foreach($column in $columns) -#set($queryType=$column.queryType) -#set($javaField=$column.javaField) -#set($javaType=$column.javaType) -#set($columnName=$column.columnName) -#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) -#if($column.query) -#if($column.queryType == "EQ") - <if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and $columnName = #{$javaField}</if> -#elseif($queryType == "NE") - <if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and $columnName != #{$javaField}</if> -#elseif($queryType == "GT") - <if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and $columnName > #{$javaField}</if> -#elseif($queryType == "GTE") - <if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and $columnName >= #{$javaField}</if> -#elseif($queryType == "LT") - <if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and $columnName < #{$javaField}</if> -#elseif($queryType == "LTE") - <if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and $columnName <= #{$javaField}</if> -#elseif($queryType == "LIKE") - <if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and $columnName like concat('%', #{$javaField}, '%')</if> -#elseif($queryType == "BETWEEN") - <if test="params.begin$AttrName != null and params.begin$AttrName != '' and params.end$AttrName != null and params.end$AttrName != ''"> and $columnName between #{params.begin$AttrName} and #{params.end$AttrName}</if> -#end -#end -#end - </where> - </select> - - <select id="select${ClassName}By${pkColumn.capJavaField}" parameterType="${pkColumn.javaType}" resultMap="#if($table.sub)${ClassName}${subClassName}Result#else${ClassName}Result#end"> -#if($table.crud || $table.tree) - <include refid="select${ClassName}Vo"/> - where ${pkColumn.columnName} = #{${pkColumn.javaField}} -#elseif($table.sub) - select#foreach($column in $columns) a.$column.columnName#if($foreach.count != $columns.size()),#end#end, - #foreach($column in $subTable.columns) b.$column.columnName as sub_$column.columnName#if($foreach.count != $subTable.columns.size()),#end#end - - from ${tableName} a - left join ${subTableName} b on b.${subTableFkName} = a.${pkColumn.columnName} - where a.${pkColumn.columnName} = #{${pkColumn.javaField}} -#end - </select> - - <insert id="insert${ClassName}" parameterType="${ClassName}"#if($pkColumn.increment) useGeneratedKeys="true" keyProperty="$pkColumn.javaField"#end> - insert into ${tableName} - <trim prefix="(" suffix=")" suffixOverrides=","> -#foreach($column in $columns) -#if($column.columnName != $pkColumn.columnName || !$pkColumn.increment) - <if test="$column.javaField != null#if($column.javaType == 'String' && $column.required) and $column.javaField != ''#end">$column.columnName,</if> -#end -#end - </trim> - <trim prefix="values (" suffix=")" suffixOverrides=","> -#foreach($column in $columns) -#if($column.columnName != $pkColumn.columnName || !$pkColumn.increment) - <if test="$column.javaField != null#if($column.javaType == 'String' && $column.required) and $column.javaField != ''#end">#{$column.javaField},</if> -#end -#end - </trim> - </insert> - - <update id="update${ClassName}" parameterType="${ClassName}"> - update ${tableName} - <trim prefix="SET" suffixOverrides=","> -#foreach($column in $columns) -#if($column.columnName != $pkColumn.columnName) - <if test="$column.javaField != null#if($column.javaType == 'String' && $column.required) and $column.javaField != ''#end">$column.columnName = #{$column.javaField},</if> -#end -#end - </trim> - where ${pkColumn.columnName} = #{${pkColumn.javaField}} - </update> - - <delete id="delete${ClassName}By${pkColumn.capJavaField}" parameterType="${pkColumn.javaType}"> - delete from ${tableName} where ${pkColumn.columnName} = #{${pkColumn.javaField}} - </delete> - - <delete id="delete${ClassName}By${pkColumn.capJavaField}s" parameterType="String"> - delete from ${tableName} where ${pkColumn.columnName} in - <foreach item="${pkColumn.javaField}" collection="array" open="(" separator="," close=")"> - #{${pkColumn.javaField}} - </foreach> - </delete> -#if($table.sub) - - <delete id="delete${subClassName}By${subTableFkClassName}s" parameterType="String"> - delete from ${subTableName} where ${subTableFkName} in - <foreach item="${subTableFkclassName}" collection="array" open="(" separator="," close=")"> - #{${subTableFkclassName}} - </foreach> - </delete> - - <delete id="delete${subClassName}By${subTableFkClassName}" parameterType="${pkColumn.javaType}"> - delete from ${subTableName} where ${subTableFkName} = #{${subTableFkclassName}} - </delete> - - <insert id="batch${subClassName}"> - insert into ${subTableName}(#foreach($column in $subTable.columns) $column.columnName#if($foreach.count != $subTable.columns.size()),#end#end) values - <foreach item="item" index="index" collection="list" separator=","> - (#foreach($column in $subTable.columns) #{item.$column.javaField}#if($foreach.count != $subTable.columns.size()),#end#end) - </foreach> - </insert> -#end -</mapper> \ No newline at end of file diff --git a/hrt-modules/hrt-job/pom.xml b/hrt-modules/hrt-job/pom.xml deleted file mode 100644 index 0f265f0..0000000 --- a/hrt-modules/hrt-job/pom.xml +++ /dev/null @@ -1,100 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns="http://maven.apache.org/POM/4.0.0" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <parent> - <groupId>com.hrt</groupId> - <artifactId>hrt-modules</artifactId> - <version>3.6.2</version> - </parent> - <modelVersion>4.0.0</modelVersion> - - <artifactId>hrt-modules-job</artifactId> - - <description> - hrt-modules-job定时任务 - </description> - - <dependencies> - - <!-- SpringCloud Alibaba Nacos --> - <dependency> - <groupId>com.alibaba.cloud</groupId> - <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> - </dependency> - - <!-- SpringCloud Alibaba Nacos Config --> - <dependency> - <groupId>com.alibaba.cloud</groupId> - <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> - </dependency> - - <!-- SpringCloud Alibaba Sentinel --> - <dependency> - <groupId>com.alibaba.cloud</groupId> - <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> - </dependency> - - <!-- SpringBoot Actuator --> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-actuator</artifactId> - </dependency> - - <!-- Swagger UI --> - <dependency> - <groupId>io.springfox</groupId> - <artifactId>springfox-swagger-ui</artifactId> - <version>${swagger.fox.version}</version> - </dependency> - - <!-- Quartz --> - <dependency> - <groupId>org.quartz-scheduler</groupId> - <artifactId>quartz</artifactId> - <exclusions> - <exclusion> - <groupId>com.mchange</groupId> - <artifactId>c3p0</artifactId> - </exclusion> - </exclusions> - </dependency> - - <!-- Mysql Connector --> - <dependency> - <groupId>mysql</groupId> - <artifactId>mysql-connector-java</artifactId> - </dependency> - - <!-- hrt Common Log --> - <dependency> - <groupId>com.hrt</groupId> - <artifactId>hrt-common-log</artifactId> - </dependency> - - <!-- hrt Common Swagger --> - <dependency> - <groupId>com.hrt</groupId> - <artifactId>hrt-common-swagger</artifactId> - </dependency> - - </dependencies> - - <build> - <finalName>${project.artifactId}</finalName> - <plugins> - <plugin> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-maven-plugin</artifactId> - <executions> - <execution> - <goals> - <goal>repackage</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - -</project> \ No newline at end of file diff --git a/hrt-modules/hrt-job/src/main/java/com/hrt/job/HrtJobApplication.java b/hrt-modules/hrt-job/src/main/java/com/hrt/job/HrtJobApplication.java deleted file mode 100644 index ed23d4e..0000000 --- a/hrt-modules/hrt-job/src/main/java/com/hrt/job/HrtJobApplication.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.hrt.job; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import com.hrt.common.security.annotation.EnableCustomConfig; -import com.hrt.common.security.annotation.EnableRyFeignClients; -import com.hrt.common.swagger.annotation.EnableCustomSwagger2; - -/** - * 定时任务 - * - * @author jqs - */ -@EnableCustomConfig -@EnableCustomSwagger2 -@EnableRyFeignClients -@SpringBootApplication -public class HrtJobApplication -{ - public static void main(String[] args) - { - SpringApplication.run(HrtJobApplication.class, args); - System.out.println("定时任务模块启动成功"); - } -} diff --git a/hrt-modules/hrt-job/src/main/java/com/hrt/job/config/ScheduleConfig.java b/hrt-modules/hrt-job/src/main/java/com/hrt/job/config/ScheduleConfig.java deleted file mode 100644 index 43ee420..0000000 --- a/hrt-modules/hrt-job/src/main/java/com/hrt/job/config/ScheduleConfig.java +++ /dev/null @@ -1,57 +0,0 @@ -//package com.hrt.job.config; -// -//import java.util.Properties; -//import javax.sql.DataSource; -//import org.springframework.context.annotation.Bean; -//import org.springframework.context.annotation.Configuration; -//import org.springframework.scheduling.quartz.SchedulerFactoryBean; -// -///** -// * 定时任务配置(单机部署建议删除此类和qrtz数据库表,默认走内存会最高效) -// * -// * @author jqs -// */ -//@Configuration -//public class ScheduleConfig -//{ -// @Bean -// public SchedulerFactoryBean schedulerFactoryBean(DataSource dataSource) -// { -// SchedulerFactoryBean factory = new SchedulerFactoryBean(); -// factory.setDataSource(dataSource); -// -// // quartz参数 -// Properties prop = new Properties(); -// prop.put("org.quartz.scheduler.instanceName", "hrtScheduler"); -// prop.put("org.quartz.scheduler.instanceId", "AUTO"); -// // 线程池配置 -// prop.put("org.quartz.threadPool.class", "org.quartz.simpl.SimpleThreadPool"); -// prop.put("org.quartz.threadPool.threadCount", "20"); -// prop.put("org.quartz.threadPool.threadPriority", "5"); -// // JobStore配置 -// prop.put("org.quartz.jobStore.class", "org.springframework.scheduling.quartz.LocalDataSourceJobStore"); -// // 集群配置 -// prop.put("org.quartz.jobStore.isClustered", "true"); -// prop.put("org.quartz.jobStore.clusterCheckinInterval", "15000"); -// prop.put("org.quartz.jobStore.maxMisfiresToHandleAtATime", "1"); -// prop.put("org.quartz.jobStore.txIsolationLevelSerializable", "true"); -// -// // sqlserver 启用 -// // prop.put("org.quartz.jobStore.selectWithLockSQL", "SELECT * FROM {0}LOCKS UPDLOCK WHERE LOCK_NAME = ?"); -// prop.put("org.quartz.jobStore.misfireThreshold", "12000"); -// prop.put("org.quartz.jobStore.tablePrefix", "QRTZ_"); -// factory.setQuartzProperties(prop); -// -// factory.setSchedulerName("hrtScheduler"); -// // 延时启动 -// factory.setStartupDelay(1); -// factory.setApplicationContextSchedulerContextKey("applicationContextKey"); -// // 可选,QuartzScheduler -// // 启动时更新己存在的Job,这样就不用每次修改targetObject后删除qrtz_job_details表对应记录了 -// factory.setOverwriteExistingJobs(true); -// // 设置自动启动,默认为true -// factory.setAutoStartup(true); -// -// return factory; -// } -//} diff --git a/hrt-modules/hrt-job/src/main/java/com/hrt/job/controller/SysJobController.java b/hrt-modules/hrt-job/src/main/java/com/hrt/job/controller/SysJobController.java deleted file mode 100644 index 8ef193a..0000000 --- a/hrt-modules/hrt-job/src/main/java/com/hrt/job/controller/SysJobController.java +++ /dev/null @@ -1,187 +0,0 @@ -package com.hrt.job.controller; - -import java.util.List; -import javax.servlet.http.HttpServletResponse; - -import com.hrt.job.service.ISysJobService; -import org.quartz.SchedulerException; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import com.hrt.common.core.constant.Constants; -import com.hrt.common.core.exception.job.TaskException; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.common.core.utils.poi.ExcelUtil; -import com.hrt.common.core.web.controller.BaseController; -import com.hrt.common.core.web.domain.AjaxResult; -import com.hrt.common.core.web.page.TableDataInfo; -import com.hrt.common.log.annotation.Log; -import com.hrt.common.log.enums.BusinessType; -import com.hrt.common.security.annotation.RequiresPermissions; -import com.hrt.common.security.utils.SecurityUtils; -import com.hrt.job.domain.SysJob; -import com.hrt.job.util.CronUtils; -import com.hrt.job.util.ScheduleUtils; - -/** - * 调度任务信息操作处理 - * - * @author jqs - */ -@RestController -@RequestMapping("/job") -public class SysJobController extends BaseController -{ - @Autowired - private ISysJobService jobService; - - /** - * 查询定时任务列表 - */ - @RequiresPermissions("monitor:job:list") - @GetMapping("/list") - public TableDataInfo list(SysJob sysJob) - { - startPage(); - List<SysJob> list = jobService.selectJobList(sysJob); - return getDataTable(list); - } - - /** - * 导出定时任务列表 - */ - @RequiresPermissions("monitor:job:export") - @Log(title = "定时任务", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(HttpServletResponse response, SysJob sysJob) - { - List<SysJob> list = jobService.selectJobList(sysJob); - ExcelUtil<SysJob> util = new ExcelUtil<SysJob>(SysJob.class); - util.exportExcel(response, list, "定时任务"); - } - - /** - * 获取定时任务详细信息 - */ - @RequiresPermissions("monitor:job:query") - @GetMapping(value = "/{jobId}") - public AjaxResult getInfo(@PathVariable("jobId") Long jobId) - { - return success(jobService.selectJobById(jobId)); - } - - /** - * 新增定时任务 - */ - @RequiresPermissions("monitor:job:add") - @Log(title = "定时任务", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@RequestBody SysJob job) throws SchedulerException, TaskException - { - if (!CronUtils.isValid(job.getCronExpression())) - { - return error("新增任务'" + job.getJobName() + "'失败,Cron表达式不正确"); - } - else if (StringUtils.containsIgnoreCase(job.getInvokeTarget(), Constants.LOOKUP_RMI)) - { - return error("新增任务'" + job.getJobName() + "'失败,目标字符串不允许'rmi'调用"); - } - else if (StringUtils.containsAnyIgnoreCase(job.getInvokeTarget(), new String[] { Constants.LOOKUP_LDAP, Constants.LOOKUP_LDAPS })) - { - return error("新增任务'" + job.getJobName() + "'失败,目标字符串不允许'ldap(s)'调用"); - } - else if (StringUtils.containsAnyIgnoreCase(job.getInvokeTarget(), new String[] { Constants.HTTP, Constants.HTTPS })) - { - return error("新增任务'" + job.getJobName() + "'失败,目标字符串不允许'http(s)'调用"); - } - else if (StringUtils.containsAnyIgnoreCase(job.getInvokeTarget(), Constants.JOB_ERROR_STR)) - { - return error("新增任务'" + job.getJobName() + "'失败,目标字符串存在违规"); - } - else if (!ScheduleUtils.whiteList(job.getInvokeTarget())) - { - return error("新增任务'" + job.getJobName() + "'失败,目标字符串不在白名单内"); - } - job.setCreateBy(SecurityUtils.getUsername()); - return toAjax(jobService.insertJob(job)); - } - - /** - * 修改定时任务 - */ - @RequiresPermissions("monitor:job:edit") - @Log(title = "定时任务", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@RequestBody SysJob job) throws SchedulerException, TaskException - { - if (!CronUtils.isValid(job.getCronExpression())) - { - return error("修改任务'" + job.getJobName() + "'失败,Cron表达式不正确"); - } - else if (StringUtils.containsIgnoreCase(job.getInvokeTarget(), Constants.LOOKUP_RMI)) - { - return error("修改任务'" + job.getJobName() + "'失败,目标字符串不允许'rmi'调用"); - } - else if (StringUtils.containsAnyIgnoreCase(job.getInvokeTarget(), new String[] { Constants.LOOKUP_LDAP, Constants.LOOKUP_LDAPS })) - { - return error("修改任务'" + job.getJobName() + "'失败,目标字符串不允许'ldap(s)'调用"); - } - else if (StringUtils.containsAnyIgnoreCase(job.getInvokeTarget(), new String[] { Constants.HTTP, Constants.HTTPS })) - { - return error("修改任务'" + job.getJobName() + "'失败,目标字符串不允许'http(s)'调用"); - } - else if (StringUtils.containsAnyIgnoreCase(job.getInvokeTarget(), Constants.JOB_ERROR_STR)) - { - return error("修改任务'" + job.getJobName() + "'失败,目标字符串存在违规"); - } - else if (!ScheduleUtils.whiteList(job.getInvokeTarget())) - { - return error("修改任务'" + job.getJobName() + "'失败,目标字符串不在白名单内"); - } - job.setUpdateBy(SecurityUtils.getUsername()); - return toAjax(jobService.updateJob(job)); - } - - /** - * 定时任务状态修改 - */ - @RequiresPermissions("monitor:job:changeStatus") - @Log(title = "定时任务", businessType = BusinessType.UPDATE) - @PutMapping("/changeStatus") - public AjaxResult changeStatus(@RequestBody SysJob job) throws SchedulerException - { - SysJob newJob = jobService.selectJobById(job.getJobId()); - newJob.setStatus(job.getStatus()); - return toAjax(jobService.changeStatus(newJob)); - } - - /** - * 定时任务立即执行一次 - */ - @RequiresPermissions("monitor:job:changeStatus") - @Log(title = "定时任务", businessType = BusinessType.UPDATE) - @PutMapping("/run") - public AjaxResult run(@RequestBody SysJob job) throws SchedulerException - { - boolean result = jobService.run(job); - return result ? success() : error("任务不存在或已过期!"); - } - - /** - * 删除定时任务 - */ - @RequiresPermissions("monitor:job:remove") - @Log(title = "定时任务", businessType = BusinessType.DELETE) - @DeleteMapping("/{jobIds}") - public AjaxResult remove(@PathVariable Long[] jobIds) throws SchedulerException, TaskException - { - jobService.deleteJobByIds(jobIds); - return success(); - } -} diff --git a/hrt-modules/hrt-job/src/main/java/com/hrt/job/controller/SysJobLogController.java b/hrt-modules/hrt-job/src/main/java/com/hrt/job/controller/SysJobLogController.java deleted file mode 100644 index 7f451a4..0000000 --- a/hrt-modules/hrt-job/src/main/java/com/hrt/job/controller/SysJobLogController.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.hrt.job.controller; - -import java.util.List; -import javax.servlet.http.HttpServletResponse; - -import com.hrt.job.service.ISysJobLogService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import com.hrt.common.core.utils.poi.ExcelUtil; -import com.hrt.common.core.web.controller.BaseController; -import com.hrt.common.core.web.domain.AjaxResult; -import com.hrt.common.core.web.page.TableDataInfo; -import com.hrt.common.log.annotation.Log; -import com.hrt.common.log.enums.BusinessType; -import com.hrt.common.security.annotation.RequiresPermissions; -import com.hrt.job.domain.SysJobLog; - -/** - * 调度日志操作处理 - * - * @author jqs - */ -@RestController -@RequestMapping("/job/log") -public class SysJobLogController extends BaseController -{ - @Autowired - private ISysJobLogService jobLogService; - - /** - * 查询定时任务调度日志列表 - */ - @RequiresPermissions("monitor:job:list") - @GetMapping("/list") - public TableDataInfo list(SysJobLog sysJobLog) - { - startPage(); - List<SysJobLog> list = jobLogService.selectJobLogList(sysJobLog); - return getDataTable(list); - } - - /** - * 导出定时任务调度日志列表 - */ - @RequiresPermissions("monitor:job:export") - @Log(title = "任务调度日志", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(HttpServletResponse response, SysJobLog sysJobLog) - { - List<SysJobLog> list = jobLogService.selectJobLogList(sysJobLog); - ExcelUtil<SysJobLog> util = new ExcelUtil<SysJobLog>(SysJobLog.class); - util.exportExcel(response, list, "调度日志"); - } - - /** - * 根据调度编号获取详细信息 - */ - @RequiresPermissions("monitor:job:query") - @GetMapping(value = "/{jobLogId}") - public AjaxResult getInfo(@PathVariable Long jobLogId) - { - return success(jobLogService.selectJobLogById(jobLogId)); - } - - /** - * 删除定时任务调度日志 - */ - @RequiresPermissions("monitor:job:remove") - @Log(title = "定时任务调度日志", businessType = BusinessType.DELETE) - @DeleteMapping("/{jobLogIds}") - public AjaxResult remove(@PathVariable Long[] jobLogIds) - { - return toAjax(jobLogService.deleteJobLogByIds(jobLogIds)); - } - - /** - * 清空定时任务调度日志 - */ - @RequiresPermissions("monitor:job:remove") - @Log(title = "调度日志", businessType = BusinessType.CLEAN) - @DeleteMapping("/clean") - public AjaxResult clean() - { - jobLogService.cleanJobLog(); - return success(); - } -} diff --git a/hrt-modules/hrt-job/src/main/java/com/hrt/job/domain/SysJob.java b/hrt-modules/hrt-job/src/main/java/com/hrt/job/domain/SysJob.java deleted file mode 100644 index 21e3b4c..0000000 --- a/hrt-modules/hrt-job/src/main/java/com/hrt/job/domain/SysJob.java +++ /dev/null @@ -1,172 +0,0 @@ -package com.hrt.job.domain; - -import java.util.Date; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.Size; - -import com.hrt.job.util.CronUtils; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.hrt.common.core.annotation.Excel; -import com.hrt.common.core.annotation.Excel.ColumnType; -import com.hrt.common.core.constant.ScheduleConstants; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.common.core.web.domain.BaseEntity; - -/** - * 定时任务调度表 sys_job - * - * @author jqs - */ -public class SysJob extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** 任务ID */ - @Excel(name = "任务序号", cellType = ColumnType.NUMERIC) - private Long jobId; - - /** 任务名称 */ - @Excel(name = "任务名称") - private String jobName; - - /** 任务组名 */ - @Excel(name = "任务组名") - private String jobGroup; - - /** 调用目标字符串 */ - @Excel(name = "调用目标字符串") - private String invokeTarget; - - /** cron执行表达式 */ - @Excel(name = "执行表达式 ") - private String cronExpression; - - /** cron计划策略 */ - @Excel(name = "计划策略 ", readConverterExp = "0=默认,1=立即触发执行,2=触发一次执行,3=不触发立即执行") - private String misfirePolicy = ScheduleConstants.MISFIRE_DEFAULT; - - /** 是否并发执行(0允许 1禁止) */ - @Excel(name = "并发执行", readConverterExp = "0=允许,1=禁止") - private String concurrent; - - /** 任务状态(0正常 1暂停) */ - @Excel(name = "任务状态", readConverterExp = "0=正常,1=暂停") - private String status; - - public Long getJobId() - { - return jobId; - } - - public void setJobId(Long jobId) - { - this.jobId = jobId; - } - - @NotBlank(message = "任务名称不能为空") - @Size(min = 0, max = 64, message = "任务名称不能超过64个字符") - public String getJobName() - { - return jobName; - } - - public void setJobName(String jobName) - { - this.jobName = jobName; - } - - public String getJobGroup() - { - return jobGroup; - } - - public void setJobGroup(String jobGroup) - { - this.jobGroup = jobGroup; - } - - @NotBlank(message = "调用目标字符串不能为空") - @Size(min = 0, max = 500, message = "调用目标字符串长度不能超过500个字符") - public String getInvokeTarget() - { - return invokeTarget; - } - - public void setInvokeTarget(String invokeTarget) - { - this.invokeTarget = invokeTarget; - } - - @NotBlank(message = "Cron执行表达式不能为空") - @Size(min = 0, max = 255, message = "Cron执行表达式不能超过255个字符") - public String getCronExpression() - { - return cronExpression; - } - - public void setCronExpression(String cronExpression) - { - this.cronExpression = cronExpression; - } - - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - public Date getNextValidTime() - { - if (StringUtils.isNotEmpty(cronExpression)) - { - return CronUtils.getNextExecution(cronExpression); - } - return null; - } - - public String getMisfirePolicy() - { - return misfirePolicy; - } - - public void setMisfirePolicy(String misfirePolicy) - { - this.misfirePolicy = misfirePolicy; - } - - public String getConcurrent() - { - return concurrent; - } - - public void setConcurrent(String concurrent) - { - this.concurrent = concurrent; - } - - public String getStatus() - { - return status; - } - - public void setStatus(String status) - { - this.status = status; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("jobId", getJobId()) - .append("jobName", getJobName()) - .append("jobGroup", getJobGroup()) - .append("cronExpression", getCronExpression()) - .append("nextValidTime", getNextValidTime()) - .append("misfirePolicy", getMisfirePolicy()) - .append("concurrent", getConcurrent()) - .append("status", getStatus()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .append("updateBy", getUpdateBy()) - .append("updateTime", getUpdateTime()) - .append("remark", getRemark()) - .toString(); - } -} \ No newline at end of file diff --git a/hrt-modules/hrt-job/src/main/java/com/hrt/job/domain/SysJobLog.java b/hrt-modules/hrt-job/src/main/java/com/hrt/job/domain/SysJobLog.java deleted file mode 100644 index 31bf559..0000000 --- a/hrt-modules/hrt-job/src/main/java/com/hrt/job/domain/SysJobLog.java +++ /dev/null @@ -1,155 +0,0 @@ -package com.hrt.job.domain; - -import java.util.Date; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.hrt.common.core.annotation.Excel; -import com.hrt.common.core.web.domain.BaseEntity; - -/** - * 定时任务调度日志表 sys_job_log - * - * @author jqs - */ -public class SysJobLog extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** ID */ - @Excel(name = "日志序号") - private Long jobLogId; - - /** 任务名称 */ - @Excel(name = "任务名称") - private String jobName; - - /** 任务组名 */ - @Excel(name = "任务组名") - private String jobGroup; - - /** 调用目标字符串 */ - @Excel(name = "调用目标字符串") - private String invokeTarget; - - /** 日志信息 */ - @Excel(name = "日志信息") - private String jobMessage; - - /** 执行状态(0正常 1失败) */ - @Excel(name = "执行状态", readConverterExp = "0=正常,1=失败") - private String status; - - /** 异常信息 */ - @Excel(name = "异常信息") - private String exceptionInfo; - - /** 开始时间 */ - private Date startTime; - - /** 停止时间 */ - private Date stopTime; - - public Long getJobLogId() - { - return jobLogId; - } - - public void setJobLogId(Long jobLogId) - { - this.jobLogId = jobLogId; - } - - public String getJobName() - { - return jobName; - } - - public void setJobName(String jobName) - { - this.jobName = jobName; - } - - public String getJobGroup() - { - return jobGroup; - } - - public void setJobGroup(String jobGroup) - { - this.jobGroup = jobGroup; - } - - public String getInvokeTarget() - { - return invokeTarget; - } - - public void setInvokeTarget(String invokeTarget) - { - this.invokeTarget = invokeTarget; - } - - public String getJobMessage() - { - return jobMessage; - } - - public void setJobMessage(String jobMessage) - { - this.jobMessage = jobMessage; - } - - public String getStatus() - { - return status; - } - - public void setStatus(String status) - { - this.status = status; - } - - public String getExceptionInfo() - { - return exceptionInfo; - } - - public void setExceptionInfo(String exceptionInfo) - { - this.exceptionInfo = exceptionInfo; - } - - public Date getStartTime() - { - return startTime; - } - - public void setStartTime(Date startTime) - { - this.startTime = startTime; - } - - public Date getStopTime() - { - return stopTime; - } - - public void setStopTime(Date stopTime) - { - this.stopTime = stopTime; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("jobLogId", getJobLogId()) - .append("jobName", getJobName()) - .append("jobGroup", getJobGroup()) - .append("jobMessage", getJobMessage()) - .append("status", getStatus()) - .append("exceptionInfo", getExceptionInfo()) - .append("startTime", getStartTime()) - .append("stopTime", getStopTime()) - .toString(); - } -} diff --git a/hrt-modules/hrt-job/src/main/java/com/hrt/job/mapper/SysJobLogMapper.java b/hrt-modules/hrt-job/src/main/java/com/hrt/job/mapper/SysJobLogMapper.java deleted file mode 100644 index 754b242..0000000 --- a/hrt-modules/hrt-job/src/main/java/com/hrt/job/mapper/SysJobLogMapper.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.hrt.job.mapper; - -import java.util.List; -import com.hrt.job.domain.SysJobLog; - -/** - * 调度任务日志信息 数据层 - * - * @author jqs - */ -public interface SysJobLogMapper -{ - /** - * 获取quartz调度器日志的计划任务 - * - * @param jobLog 调度日志信息 - * @return 调度任务日志集合 - */ - public List<SysJobLog> selectJobLogList(SysJobLog jobLog); - - /** - * 查询所有调度任务日志 - * - * @return 调度任务日志列表 - */ - public List<SysJobLog> selectJobLogAll(); - - /** - * 通过调度任务日志ID查询调度信息 - * - * @param jobLogId 调度任务日志ID - * @return 调度任务日志对象信息 - */ - public SysJobLog selectJobLogById(Long jobLogId); - - /** - * 新增任务日志 - * - * @param jobLog 调度日志信息 - * @return 结果 - */ - public int insertJobLog(SysJobLog jobLog); - - /** - * 批量删除调度日志信息 - * - * @param logIds 需要删除的数据ID - * @return 结果 - */ - public int deleteJobLogByIds(Long[] logIds); - - /** - * 删除任务日志 - * - * @param jobId 调度日志ID - * @return 结果 - */ - public int deleteJobLogById(Long jobId); - - /** - * 清空任务日志 - */ - public void cleanJobLog(); -} diff --git a/hrt-modules/hrt-job/src/main/java/com/hrt/job/mapper/SysJobMapper.java b/hrt-modules/hrt-job/src/main/java/com/hrt/job/mapper/SysJobMapper.java deleted file mode 100644 index 2b81491..0000000 --- a/hrt-modules/hrt-job/src/main/java/com/hrt/job/mapper/SysJobMapper.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.hrt.job.mapper; - -import java.util.List; -import com.hrt.job.domain.SysJob; - -/** - * 调度任务信息 数据层 - * - * @author jqs - */ -public interface SysJobMapper -{ - /** - * 查询调度任务日志集合 - * - * @param job 调度信息 - * @return 操作日志集合 - */ - public List<SysJob> selectJobList(SysJob job); - - /** - * 查询所有调度任务 - * - * @return 调度任务列表 - */ - public List<SysJob> selectJobAll(); - - /** - * 通过调度ID查询调度任务信息 - * - * @param jobId 调度ID - * @return 角色对象信息 - */ - public SysJob selectJobById(Long jobId); - - /** - * 通过调度ID删除调度任务信息 - * - * @param jobId 调度ID - * @return 结果 - */ - public int deleteJobById(Long jobId); - - /** - * 批量删除调度任务信息 - * - * @param ids 需要删除的数据ID - * @return 结果 - */ - public int deleteJobByIds(Long[] ids); - - /** - * 修改调度任务信息 - * - * @param job 调度任务信息 - * @return 结果 - */ - public int updateJob(SysJob job); - - /** - * 新增调度任务信息 - * - * @param job 调度任务信息 - * @return 结果 - */ - public int insertJob(SysJob job); -} diff --git a/hrt-modules/hrt-job/src/main/java/com/hrt/job/service/ISysJobLogService.java b/hrt-modules/hrt-job/src/main/java/com/hrt/job/service/ISysJobLogService.java deleted file mode 100644 index 8b79017..0000000 --- a/hrt-modules/hrt-job/src/main/java/com/hrt/job/service/ISysJobLogService.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.hrt.job.service; - -import java.util.List; -import com.hrt.job.domain.SysJobLog; - -/** - * 定时任务调度日志信息信息 服务层 - * - * @author jqs - */ -public interface ISysJobLogService -{ - /** - * 获取quartz调度器日志的计划任务 - * - * @param jobLog 调度日志信息 - * @return 调度任务日志集合 - */ - public List<SysJobLog> selectJobLogList(SysJobLog jobLog); - - /** - * 通过调度任务日志ID查询调度信息 - * - * @param jobLogId 调度任务日志ID - * @return 调度任务日志对象信息 - */ - public SysJobLog selectJobLogById(Long jobLogId); - - /** - * 新增任务日志 - * - * @param jobLog 调度日志信息 - */ - public void addJobLog(SysJobLog jobLog); - - /** - * 批量删除调度日志信息 - * - * @param logIds 需要删除的日志ID - * @return 结果 - */ - public int deleteJobLogByIds(Long[] logIds); - - /** - * 删除任务日志 - * - * @param jobId 调度日志ID - * @return 结果 - */ - public int deleteJobLogById(Long jobId); - - /** - * 清空任务日志 - */ - public void cleanJobLog(); -} diff --git a/hrt-modules/hrt-job/src/main/java/com/hrt/job/service/ISysJobService.java b/hrt-modules/hrt-job/src/main/java/com/hrt/job/service/ISysJobService.java deleted file mode 100644 index 9eeabd0..0000000 --- a/hrt-modules/hrt-job/src/main/java/com/hrt/job/service/ISysJobService.java +++ /dev/null @@ -1,102 +0,0 @@ -package com.hrt.job.service; - -import java.util.List; -import org.quartz.SchedulerException; -import com.hrt.common.core.exception.job.TaskException; -import com.hrt.job.domain.SysJob; - -/** - * 定时任务调度信息信息 服务层 - * - * @author jqs - */ -public interface ISysJobService -{ - /** - * 获取quartz调度器的计划任务 - * - * @param job 调度信息 - * @return 调度任务集合 - */ - public List<SysJob> selectJobList(SysJob job); - - /** - * 通过调度任务ID查询调度信息 - * - * @param jobId 调度任务ID - * @return 调度任务对象信息 - */ - public SysJob selectJobById(Long jobId); - - /** - * 暂停任务 - * - * @param job 调度信息 - * @return 结果 - */ - public int pauseJob(SysJob job) throws SchedulerException; - - /** - * 恢复任务 - * - * @param job 调度信息 - * @return 结果 - */ - public int resumeJob(SysJob job) throws SchedulerException; - - /** - * 删除任务后,所对应的trigger也将被删除 - * - * @param job 调度信息 - * @return 结果 - */ - public int deleteJob(SysJob job) throws SchedulerException; - - /** - * 批量删除调度信息 - * - * @param jobIds 需要删除的任务ID - * @return 结果 - */ - public void deleteJobByIds(Long[] jobIds) throws SchedulerException; - - /** - * 任务调度状态修改 - * - * @param job 调度信息 - * @return 结果 - */ - public int changeStatus(SysJob job) throws SchedulerException; - - /** - * 立即运行任务 - * - * @param job 调度信息 - * @return 结果 - */ - public boolean run(SysJob job) throws SchedulerException; - - /** - * 新增任务 - * - * @param job 调度信息 - * @return 结果 - */ - public int insertJob(SysJob job) throws SchedulerException, TaskException; - - /** - * 更新任务 - * - * @param job 调度信息 - * @return 结果 - */ - public int updateJob(SysJob job) throws SchedulerException, TaskException; - - /** - * 校验cron表达式是否有效 - * - * @param cronExpression 表达式 - * @return 结果 - */ - public boolean checkCronExpressionIsValid(String cronExpression); -} \ No newline at end of file diff --git a/hrt-modules/hrt-job/src/main/java/com/hrt/job/service/SysJobLogServiceImpl.java b/hrt-modules/hrt-job/src/main/java/com/hrt/job/service/SysJobLogServiceImpl.java deleted file mode 100644 index d4e251c..0000000 --- a/hrt-modules/hrt-job/src/main/java/com/hrt/job/service/SysJobLogServiceImpl.java +++ /dev/null @@ -1,87 +0,0 @@ -package com.hrt.job.service; - -import java.util.List; - -import com.hrt.job.mapper.SysJobLogMapper; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.hrt.job.domain.SysJobLog; - -/** - * 定时任务调度日志信息 服务层 - * - * @author jqs - */ -@Service -public class SysJobLogServiceImpl implements ISysJobLogService -{ - @Autowired - private SysJobLogMapper jobLogMapper; - - /** - * 获取quartz调度器日志的计划任务 - * - * @param jobLog 调度日志信息 - * @return 调度任务日志集合 - */ - @Override - public List<SysJobLog> selectJobLogList(SysJobLog jobLog) - { - return jobLogMapper.selectJobLogList(jobLog); - } - - /** - * 通过调度任务日志ID查询调度信息 - * - * @param jobLogId 调度任务日志ID - * @return 调度任务日志对象信息 - */ - @Override - public SysJobLog selectJobLogById(Long jobLogId) - { - return jobLogMapper.selectJobLogById(jobLogId); - } - - /** - * 新增任务日志 - * - * @param jobLog 调度日志信息 - */ - @Override - public void addJobLog(SysJobLog jobLog) - { - jobLogMapper.insertJobLog(jobLog); - } - - /** - * 批量删除调度日志信息 - * - * @param logIds 需要删除的数据ID - * @return 结果 - */ - @Override - public int deleteJobLogByIds(Long[] logIds) - { - return jobLogMapper.deleteJobLogByIds(logIds); - } - - /** - * 删除任务日志 - * - * @param jobId 调度日志ID - */ - @Override - public int deleteJobLogById(Long jobId) - { - return jobLogMapper.deleteJobLogById(jobId); - } - - /** - * 清空任务日志 - */ - @Override - public void cleanJobLog() - { - jobLogMapper.cleanJobLog(); - } -} diff --git a/hrt-modules/hrt-job/src/main/java/com/hrt/job/service/SysJobServiceImpl.java b/hrt-modules/hrt-job/src/main/java/com/hrt/job/service/SysJobServiceImpl.java deleted file mode 100644 index 8deb412..0000000 --- a/hrt-modules/hrt-job/src/main/java/com/hrt/job/service/SysJobServiceImpl.java +++ /dev/null @@ -1,261 +0,0 @@ -package com.hrt.job.service; - -import java.util.List; -import javax.annotation.PostConstruct; - -import com.hrt.job.mapper.SysJobMapper; -import org.quartz.JobDataMap; -import org.quartz.JobKey; -import org.quartz.Scheduler; -import org.quartz.SchedulerException; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import com.hrt.common.core.constant.ScheduleConstants; -import com.hrt.common.core.exception.job.TaskException; -import com.hrt.job.domain.SysJob; -import com.hrt.job.util.CronUtils; -import com.hrt.job.util.ScheduleUtils; - -/** - * 定时任务调度信息 服务层 - * - * @author jqs - */ -@Service -public class SysJobServiceImpl implements ISysJobService -{ - @Autowired - private Scheduler scheduler; - - @Autowired - private SysJobMapper jobMapper; - - /** - * 项目启动时,初始化定时器 主要是防止手动修改数据库导致未同步到定时任务处理(注:不能手动修改数据库ID和任务组名,否则会导致脏数据) - */ - @PostConstruct - public void init() throws SchedulerException, TaskException - { - scheduler.clear(); - List<SysJob> jobList = jobMapper.selectJobAll(); - for (SysJob job : jobList) - { - ScheduleUtils.createScheduleJob(scheduler, job); - } - } - - /** - * 获取quartz调度器的计划任务列表 - * - * @param job 调度信息 - * @return - */ - @Override - public List<SysJob> selectJobList(SysJob job) - { - return jobMapper.selectJobList(job); - } - - /** - * 通过调度任务ID查询调度信息 - * - * @param jobId 调度任务ID - * @return 调度任务对象信息 - */ - @Override - public SysJob selectJobById(Long jobId) - { - return jobMapper.selectJobById(jobId); - } - - /** - * 暂停任务 - * - * @param job 调度信息 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public int pauseJob(SysJob job) throws SchedulerException - { - Long jobId = job.getJobId(); - String jobGroup = job.getJobGroup(); - job.setStatus(ScheduleConstants.Status.PAUSE.getValue()); - int rows = jobMapper.updateJob(job); - if (rows > 0) - { - scheduler.pauseJob(ScheduleUtils.getJobKey(jobId, jobGroup)); - } - return rows; - } - - /** - * 恢复任务 - * - * @param job 调度信息 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public int resumeJob(SysJob job) throws SchedulerException - { - Long jobId = job.getJobId(); - String jobGroup = job.getJobGroup(); - job.setStatus(ScheduleConstants.Status.NORMAL.getValue()); - int rows = jobMapper.updateJob(job); - if (rows > 0) - { - scheduler.resumeJob(ScheduleUtils.getJobKey(jobId, jobGroup)); - } - return rows; - } - - /** - * 删除任务后,所对应的trigger也将被删除 - * - * @param job 调度信息 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public int deleteJob(SysJob job) throws SchedulerException - { - Long jobId = job.getJobId(); - String jobGroup = job.getJobGroup(); - int rows = jobMapper.deleteJobById(jobId); - if (rows > 0) - { - scheduler.deleteJob(ScheduleUtils.getJobKey(jobId, jobGroup)); - } - return rows; - } - - /** - * 批量删除调度信息 - * - * @param jobIds 需要删除的任务ID - * @return 结果 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public void deleteJobByIds(Long[] jobIds) throws SchedulerException - { - for (Long jobId : jobIds) - { - SysJob job = jobMapper.selectJobById(jobId); - deleteJob(job); - } - } - - /** - * 任务调度状态修改 - * - * @param job 调度信息 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public int changeStatus(SysJob job) throws SchedulerException - { - int rows = 0; - String status = job.getStatus(); - if (ScheduleConstants.Status.NORMAL.getValue().equals(status)) - { - rows = resumeJob(job); - } - else if (ScheduleConstants.Status.PAUSE.getValue().equals(status)) - { - rows = pauseJob(job); - } - return rows; - } - - /** - * 立即运行任务 - * - * @param job 调度信息 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public boolean run(SysJob job) throws SchedulerException - { - boolean result = false; - Long jobId = job.getJobId(); - String jobGroup = job.getJobGroup(); - SysJob properties = selectJobById(job.getJobId()); - // 参数 - JobDataMap dataMap = new JobDataMap(); - dataMap.put(ScheduleConstants.TASK_PROPERTIES, properties); - JobKey jobKey = ScheduleUtils.getJobKey(jobId, jobGroup); - if (scheduler.checkExists(jobKey)) - { - result = true; - scheduler.triggerJob(jobKey, dataMap); - } - return result; - } - - /** - * 新增任务 - * - * @param job 调度信息 调度信息 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public int insertJob(SysJob job) throws SchedulerException, TaskException - { - job.setStatus(ScheduleConstants.Status.PAUSE.getValue()); - int rows = jobMapper.insertJob(job); - if (rows > 0) - { - ScheduleUtils.createScheduleJob(scheduler, job); - } - return rows; - } - - /** - * 更新任务的时间表达式 - * - * @param job 调度信息 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public int updateJob(SysJob job) throws SchedulerException, TaskException - { - SysJob properties = selectJobById(job.getJobId()); - int rows = jobMapper.updateJob(job); - if (rows > 0) - { - updateSchedulerJob(job, properties.getJobGroup()); - } - return rows; - } - - /** - * 更新任务 - * - * @param job 任务对象 - * @param jobGroup 任务组名 - */ - public void updateSchedulerJob(SysJob job, String jobGroup) throws SchedulerException, TaskException - { - Long jobId = job.getJobId(); - // 判断是否存在 - JobKey jobKey = ScheduleUtils.getJobKey(jobId, jobGroup); - if (scheduler.checkExists(jobKey)) - { - // 防止创建时存在数据问题 先移除,然后在执行创建操作 - scheduler.deleteJob(jobKey); - } - ScheduleUtils.createScheduleJob(scheduler, job); - } - - /** - * 校验cron表达式是否有效 - * - * @param cronExpression 表达式 - * @return 结果 - */ - @Override - public boolean checkCronExpressionIsValid(String cronExpression) - { - return CronUtils.isValid(cronExpression); - } -} \ No newline at end of file diff --git a/hrt-modules/hrt-job/src/main/java/com/hrt/job/task/RyTask.java b/hrt-modules/hrt-job/src/main/java/com/hrt/job/task/RyTask.java deleted file mode 100644 index ee407f0..0000000 --- a/hrt-modules/hrt-job/src/main/java/com/hrt/job/task/RyTask.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.hrt.job.task; - -import org.springframework.stereotype.Component; -import com.hrt.common.core.utils.StringUtils; - -/** - * 定时任务调度测试 - * - * @author jqs - */ -@Component("ryTask") -public class RyTask -{ - public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i) - { - System.out.println(StringUtils.format("执行多参方法: 字符串类型{},布尔类型{},长整型{},浮点型{},整形{}", s, b, l, d, i)); - } - - public void ryParams(String params) - { - System.out.println("执行有参方法:" + params); - } - - public void ryNoParams() - { - System.out.println("执行无参方法"); - } -} diff --git a/hrt-modules/hrt-job/src/main/java/com/hrt/job/util/AbstractQuartzJob.java b/hrt-modules/hrt-job/src/main/java/com/hrt/job/util/AbstractQuartzJob.java deleted file mode 100644 index a25d716..0000000 --- a/hrt-modules/hrt-job/src/main/java/com/hrt/job/util/AbstractQuartzJob.java +++ /dev/null @@ -1,107 +0,0 @@ -package com.hrt.job.util; - -import java.util.Date; - -import com.hrt.job.service.ISysJobLogService; -import org.quartz.Job; -import org.quartz.JobExecutionContext; -import org.quartz.JobExecutionException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import com.hrt.common.core.constant.ScheduleConstants; -import com.hrt.common.core.utils.ExceptionUtil; -import com.hrt.common.core.utils.SpringUtils; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.common.core.utils.bean.BeanUtils; -import com.hrt.job.domain.SysJob; -import com.hrt.job.domain.SysJobLog; - -/** - * 抽象quartz调用 - * - * @author jqs - */ -public abstract class AbstractQuartzJob implements Job -{ - private static final Logger log = LoggerFactory.getLogger(AbstractQuartzJob.class); - - /** - * 线程本地变量 - */ - private static ThreadLocal<Date> threadLocal = new ThreadLocal<>(); - - @Override - public void execute(JobExecutionContext context) throws JobExecutionException - { - SysJob sysJob = new SysJob(); - BeanUtils.copyBeanProp(sysJob, context.getMergedJobDataMap().get(ScheduleConstants.TASK_PROPERTIES)); - try - { - before(context, sysJob); - if (sysJob != null) - { - doExecute(context, sysJob); - } - after(context, sysJob, null); - } - catch (Exception e) - { - log.error("任务执行异常 - :", e); - after(context, sysJob, e); - } - } - - /** - * 执行前 - * - * @param context 工作执行上下文对象 - * @param sysJob 系统计划任务 - */ - protected void before(JobExecutionContext context, SysJob sysJob) - { - threadLocal.set(new Date()); - } - - /** - * 执行后 - * - * @param context 工作执行上下文对象 - * @param sysJob 系统计划任务 - */ - protected void after(JobExecutionContext context, SysJob sysJob, Exception e) - { - Date startTime = threadLocal.get(); - threadLocal.remove(); - - final SysJobLog sysJobLog = new SysJobLog(); - sysJobLog.setJobName(sysJob.getJobName()); - sysJobLog.setJobGroup(sysJob.getJobGroup()); - sysJobLog.setInvokeTarget(sysJob.getInvokeTarget()); - sysJobLog.setStartTime(startTime); - sysJobLog.setStopTime(new Date()); - long runMs = sysJobLog.getStopTime().getTime() - sysJobLog.getStartTime().getTime(); - sysJobLog.setJobMessage(sysJobLog.getJobName() + " 总共耗时:" + runMs + "毫秒"); - if (e != null) - { - sysJobLog.setStatus("1"); - String errorMsg = StringUtils.substring(ExceptionUtil.getExceptionMessage(e), 0, 2000); - sysJobLog.setExceptionInfo(errorMsg); - } - else - { - sysJobLog.setStatus("0"); - } - - // 写入数据库当中 - SpringUtils.getBean(ISysJobLogService.class).addJobLog(sysJobLog); - } - - /** - * 执行方法,由子类重载 - * - * @param context 工作执行上下文对象 - * @param sysJob 系统计划任务 - * @throws Exception 执行过程中的异常 - */ - protected abstract void doExecute(JobExecutionContext context, SysJob sysJob) throws Exception; -} diff --git a/hrt-modules/hrt-job/src/main/java/com/hrt/job/util/CronUtils.java b/hrt-modules/hrt-job/src/main/java/com/hrt/job/util/CronUtils.java deleted file mode 100644 index 2c80eac..0000000 --- a/hrt-modules/hrt-job/src/main/java/com/hrt/job/util/CronUtils.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.hrt.job.util; - -import java.text.ParseException; -import java.util.Date; -import org.quartz.CronExpression; - -/** - * cron表达式工具类 - * - * @author jqs - * - */ -public class CronUtils -{ - /** - * 返回一个布尔值代表一个给定的Cron表达式的有效性 - * - * @param cronExpression Cron表达式 - * @return boolean 表达式是否有效 - */ - public static boolean isValid(String cronExpression) - { - return CronExpression.isValidExpression(cronExpression); - } - - /** - * 返回一个字符串值,表示该消息无效Cron表达式给出有效性 - * - * @param cronExpression Cron表达式 - * @return String 无效时返回表达式错误描述,如果有效返回null - */ - public static String getInvalidMessage(String cronExpression) - { - try - { - new CronExpression(cronExpression); - return null; - } - catch (ParseException pe) - { - return pe.getMessage(); - } - } - - /** - * 返回下一个执行时间根据给定的Cron表达式 - * - * @param cronExpression Cron表达式 - * @return Date 下次Cron表达式执行时间 - */ - public static Date getNextExecution(String cronExpression) - { - try - { - CronExpression cron = new CronExpression(cronExpression); - return cron.getNextValidTimeAfter(new Date(System.currentTimeMillis())); - } - catch (ParseException e) - { - throw new IllegalArgumentException(e.getMessage()); - } - } -} diff --git a/hrt-modules/hrt-job/src/main/java/com/hrt/job/util/JobInvokeUtil.java b/hrt-modules/hrt-job/src/main/java/com/hrt/job/util/JobInvokeUtil.java deleted file mode 100644 index 8f801aa..0000000 --- a/hrt-modules/hrt-job/src/main/java/com/hrt/job/util/JobInvokeUtil.java +++ /dev/null @@ -1,182 +0,0 @@ -package com.hrt.job.util; - -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.util.LinkedList; -import java.util.List; -import com.hrt.common.core.utils.SpringUtils; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.job.domain.SysJob; - -/** - * 任务执行工具 - * - * @author jqs - */ -public class JobInvokeUtil -{ - /** - * 执行方法 - * - * @param sysJob 系统任务 - */ - public static void invokeMethod(SysJob sysJob) throws Exception - { - String invokeTarget = sysJob.getInvokeTarget(); - String beanName = getBeanName(invokeTarget); - String methodName = getMethodName(invokeTarget); - List<Object[]> methodParams = getMethodParams(invokeTarget); - - if (!isValidClassName(beanName)) - { - Object bean = SpringUtils.getBean(beanName); - invokeMethod(bean, methodName, methodParams); - } - else - { - Object bean = Class.forName(beanName).getDeclaredConstructor().newInstance(); - invokeMethod(bean, methodName, methodParams); - } - } - - /** - * 调用任务方法 - * - * @param bean 目标对象 - * @param methodName 方法名称 - * @param methodParams 方法参数 - */ - private static void invokeMethod(Object bean, String methodName, List<Object[]> methodParams) - throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, - InvocationTargetException - { - if (StringUtils.isNotNull(methodParams) && methodParams.size() > 0) - { - Method method = bean.getClass().getMethod(methodName, getMethodParamsType(methodParams)); - method.invoke(bean, getMethodParamsValue(methodParams)); - } - else - { - Method method = bean.getClass().getMethod(methodName); - method.invoke(bean); - } - } - - /** - * 校验是否为为class包名 - * - * @param invokeTarget 名称 - * @return true是 false否 - */ - public static boolean isValidClassName(String invokeTarget) - { - return StringUtils.countMatches(invokeTarget, ".") > 1; - } - - /** - * 获取bean名称 - * - * @param invokeTarget 目标字符串 - * @return bean名称 - */ - public static String getBeanName(String invokeTarget) - { - String beanName = StringUtils.substringBefore(invokeTarget, "("); - return StringUtils.substringBeforeLast(beanName, "."); - } - - /** - * 获取bean方法 - * - * @param invokeTarget 目标字符串 - * @return method方法 - */ - public static String getMethodName(String invokeTarget) - { - String methodName = StringUtils.substringBefore(invokeTarget, "("); - return StringUtils.substringAfterLast(methodName, "."); - } - - /** - * 获取method方法参数相关列表 - * - * @param invokeTarget 目标字符串 - * @return method方法相关参数列表 - */ - public static List<Object[]> getMethodParams(String invokeTarget) - { - String methodStr = StringUtils.substringBetween(invokeTarget, "(", ")"); - if (StringUtils.isEmpty(methodStr)) - { - return null; - } - String[] methodParams = methodStr.split(",(?=([^\"']*[\"'][^\"']*[\"'])*[^\"']*$)"); - List<Object[]> classs = new LinkedList<>(); - for (int i = 0; i < methodParams.length; i++) - { - String str = StringUtils.trimToEmpty(methodParams[i]); - // String字符串类型,以'或"开头 - if (StringUtils.startsWithAny(str, "'", "\"")) - { - classs.add(new Object[] { StringUtils.substring(str, 1, str.length() - 1), String.class }); - } - // boolean布尔类型,等于true或者false - else if ("true".equalsIgnoreCase(str) || "false".equalsIgnoreCase(str)) - { - classs.add(new Object[] { Boolean.valueOf(str), Boolean.class }); - } - // long长整形,以L结尾 - else if (StringUtils.endsWith(str, "L")) - { - classs.add(new Object[] { Long.valueOf(StringUtils.substring(str, 0, str.length() - 1)), Long.class }); - } - // double浮点类型,以D结尾 - else if (StringUtils.endsWith(str, "D")) - { - classs.add(new Object[] { Double.valueOf(StringUtils.substring(str, 0, str.length() - 1)), Double.class }); - } - // 其他类型归类为整形 - else - { - classs.add(new Object[] { Integer.valueOf(str), Integer.class }); - } - } - return classs; - } - - /** - * 获取参数类型 - * - * @param methodParams 参数相关列表 - * @return 参数类型列表 - */ - public static Class<?>[] getMethodParamsType(List<Object[]> methodParams) - { - Class<?>[] classs = new Class<?>[methodParams.size()]; - int index = 0; - for (Object[] os : methodParams) - { - classs[index] = (Class<?>) os[1]; - index++; - } - return classs; - } - - /** - * 获取参数值 - * - * @param methodParams 参数相关列表 - * @return 参数值列表 - */ - public static Object[] getMethodParamsValue(List<Object[]> methodParams) - { - Object[] classs = new Object[methodParams.size()]; - int index = 0; - for (Object[] os : methodParams) - { - classs[index] = (Object) os[0]; - index++; - } - return classs; - } -} diff --git a/hrt-modules/hrt-job/src/main/java/com/hrt/job/util/QuartzDisallowConcurrentExecution.java b/hrt-modules/hrt-job/src/main/java/com/hrt/job/util/QuartzDisallowConcurrentExecution.java deleted file mode 100644 index e762b02..0000000 --- a/hrt-modules/hrt-job/src/main/java/com/hrt/job/util/QuartzDisallowConcurrentExecution.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.hrt.job.util; - -import org.quartz.DisallowConcurrentExecution; -import org.quartz.JobExecutionContext; - -import com.hrt.job.domain.SysJob; - -/** - * 定时任务处理(禁止并发执行) - * - * @author jqs - * - */ -@DisallowConcurrentExecution -public class QuartzDisallowConcurrentExecution extends AbstractQuartzJob -{ - @Override - protected void doExecute(JobExecutionContext context, SysJob sysJob) throws Exception - { - JobInvokeUtil.invokeMethod(sysJob); - } -} diff --git a/hrt-modules/hrt-job/src/main/java/com/hrt/job/util/QuartzJobExecution.java b/hrt-modules/hrt-job/src/main/java/com/hrt/job/util/QuartzJobExecution.java deleted file mode 100644 index cc7a0f7..0000000 --- a/hrt-modules/hrt-job/src/main/java/com/hrt/job/util/QuartzJobExecution.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.hrt.job.util; - -import org.quartz.JobExecutionContext; - -import com.hrt.job.domain.SysJob; - -/** - * 定时任务处理(允许并发执行) - * - * @author jqs - * - */ -public class QuartzJobExecution extends AbstractQuartzJob -{ - @Override - protected void doExecute(JobExecutionContext context, SysJob sysJob) throws Exception - { - JobInvokeUtil.invokeMethod(sysJob); - } -} diff --git a/hrt-modules/hrt-job/src/main/java/com/hrt/job/util/ScheduleUtils.java b/hrt-modules/hrt-job/src/main/java/com/hrt/job/util/ScheduleUtils.java deleted file mode 100644 index eb735f8..0000000 --- a/hrt-modules/hrt-job/src/main/java/com/hrt/job/util/ScheduleUtils.java +++ /dev/null @@ -1,139 +0,0 @@ -package com.hrt.job.util; - -import org.quartz.CronScheduleBuilder; -import org.quartz.CronTrigger; -import org.quartz.Job; -import org.quartz.JobBuilder; -import org.quartz.JobDetail; -import org.quartz.JobKey; -import org.quartz.Scheduler; -import org.quartz.SchedulerException; -import org.quartz.TriggerBuilder; -import org.quartz.TriggerKey; -import com.hrt.common.core.constant.Constants; -import com.hrt.common.core.constant.ScheduleConstants; -import com.hrt.common.core.exception.job.TaskException; -import com.hrt.common.core.exception.job.TaskException.Code; -import com.hrt.common.core.utils.SpringUtils; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.job.domain.SysJob; - -/** - * 定时任务工具类 - * - * @author jqs - * - */ -public class ScheduleUtils -{ - /** - * 得到quartz任务类 - * - * @param sysJob 执行计划 - * @return 具体执行任务类 - */ - private static Class<? extends Job> getQuartzJobClass(SysJob sysJob) - { - boolean isConcurrent = "0".equals(sysJob.getConcurrent()); - return isConcurrent ? QuartzJobExecution.class : QuartzDisallowConcurrentExecution.class; - } - - /** - * 构建任务触发对象 - */ - public static TriggerKey getTriggerKey(Long jobId, String jobGroup) - { - return TriggerKey.triggerKey(ScheduleConstants.TASK_CLASS_NAME + jobId, jobGroup); - } - - /** - * 构建任务键对象 - */ - public static JobKey getJobKey(Long jobId, String jobGroup) - { - return JobKey.jobKey(ScheduleConstants.TASK_CLASS_NAME + jobId, jobGroup); - } - - /** - * 创建定时任务 - */ - public static void createScheduleJob(Scheduler scheduler, SysJob job) throws SchedulerException, TaskException - { - Class<? extends Job> jobClass = getQuartzJobClass(job); - // 构建job信息 - Long jobId = job.getJobId(); - String jobGroup = job.getJobGroup(); - JobDetail jobDetail = JobBuilder.newJob(jobClass).withIdentity(getJobKey(jobId, jobGroup)).build(); - - // 表达式调度构建器 - CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule(job.getCronExpression()); - cronScheduleBuilder = handleCronScheduleMisfirePolicy(job, cronScheduleBuilder); - - // 按新的cronExpression表达式构建一个新的trigger - CronTrigger trigger = TriggerBuilder.newTrigger().withIdentity(getTriggerKey(jobId, jobGroup)) - .withSchedule(cronScheduleBuilder).build(); - - // 放入参数,运行时的方法可以获取 - jobDetail.getJobDataMap().put(ScheduleConstants.TASK_PROPERTIES, job); - - // 判断是否存在 - if (scheduler.checkExists(getJobKey(jobId, jobGroup))) - { - // 防止创建时存在数据问题 先移除,然后在执行创建操作 - scheduler.deleteJob(getJobKey(jobId, jobGroup)); - } - - // 判断任务是否过期 - if (StringUtils.isNotNull(CronUtils.getNextExecution(job.getCronExpression()))) - { - // 执行调度任务 - scheduler.scheduleJob(jobDetail, trigger); - } - - // 暂停任务 - if (job.getStatus().equals(ScheduleConstants.Status.PAUSE.getValue())) - { - scheduler.pauseJob(ScheduleUtils.getJobKey(jobId, jobGroup)); - } - } - - /** - * 设置定时任务策略 - */ - public static CronScheduleBuilder handleCronScheduleMisfirePolicy(SysJob job, CronScheduleBuilder cb) - throws TaskException - { - switch (job.getMisfirePolicy()) - { - case ScheduleConstants.MISFIRE_DEFAULT: - return cb; - case ScheduleConstants.MISFIRE_IGNORE_MISFIRES: - return cb.withMisfireHandlingInstructionIgnoreMisfires(); - case ScheduleConstants.MISFIRE_FIRE_AND_PROCEED: - return cb.withMisfireHandlingInstructionFireAndProceed(); - case ScheduleConstants.MISFIRE_DO_NOTHING: - return cb.withMisfireHandlingInstructionDoNothing(); - default: - throw new TaskException("The task misfire policy '" + job.getMisfirePolicy() - + "' cannot be used in cron schedule tasks", Code.CONFIG_ERROR); - } - } - - /** - * 检查包名是否为白名单配置 - * - * @param invokeTarget 目标字符串 - * @return 结果 - */ - public static boolean whiteList(String invokeTarget) - { - String packageName = StringUtils.substringBefore(invokeTarget, "("); - int count = StringUtils.countMatches(packageName, "."); - if (count > 1) - { - return StringUtils.containsAnyIgnoreCase(invokeTarget, Constants.JOB_WHITELIST_STR); - } - Object obj = SpringUtils.getBean(StringUtils.split(invokeTarget, ".")[0]); - return StringUtils.containsAnyIgnoreCase(obj.getClass().getPackage().getName(), Constants.JOB_WHITELIST_STR); - } -} \ No newline at end of file diff --git a/hrt-modules/hrt-job/src/main/resources/banner.txt b/hrt-modules/hrt-job/src/main/resources/banner.txt deleted file mode 100644 index 0b9cd42..0000000 --- a/hrt-modules/hrt-job/src/main/resources/banner.txt +++ /dev/null @@ -1,10 +0,0 @@ -Spring Boot Version: ${spring-boot.version} -Spring Application Name: ${spring.application.name} - _ _ _ - (_) (_) | | - _ __ _ _ ___ _ _ _ ______ _ ___ | |__ -| '__|| | | | / _ \ | | | || ||______| | | / _ \ | '_ \ -| | | |_| || (_) || |_| || | | || (_) || |_) | -|_| \__,_| \___/ \__, ||_| | | \___/ |_.__/ - __/ | _/ | - |___/ |__/ \ No newline at end of file diff --git a/hrt-modules/hrt-job/src/main/resources/bootstrap.yml b/hrt-modules/hrt-job/src/main/resources/bootstrap.yml deleted file mode 100644 index 3450fbe..0000000 --- a/hrt-modules/hrt-job/src/main/resources/bootstrap.yml +++ /dev/null @@ -1,27 +0,0 @@ -# Tomcat -server: - port: 9203 - -# Spring -spring: - application: - # 应用名称 - name: hrt-job - profiles: - # 环境配置 - active: dev - cloud: - nacos: - discovery: - # 服务注册地址 - server-addr: 47.109.78.184:5000 - group: haiheng - config: - # 配置中心地址 - server-addr: 47.109.78.184:5000 - # 配置文件格式 - file-extension: yml - # 共享配置 - shared-configs: - - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} - group: haiheng \ No newline at end of file diff --git a/hrt-modules/hrt-job/src/main/resources/logback.xml b/hrt-modules/hrt-job/src/main/resources/logback.xml deleted file mode 100644 index 02355a3..0000000 --- a/hrt-modules/hrt-job/src/main/resources/logback.xml +++ /dev/null @@ -1,74 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<configuration scan="true" scanPeriod="60 seconds" debug="false"> - <!-- 日志存放路径 --> - <property name="log.path" value="logs/hrt-job" /> - <!-- 日志输出格式 --> - <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" /> - - <!-- 控制台输出 --> - <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> - <encoder> - <pattern>${log.pattern}</pattern> - </encoder> - </appender> - - <!-- 系统日志输出 --> - <appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${log.path}/info.log</file> - <!-- 循环政策:基于时间创建日志文件 --> - <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> - <!-- 日志文件名格式 --> - <fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern> - <!-- 日志最大的历史 60天 --> - <maxHistory>60</maxHistory> - </rollingPolicy> - <encoder> - <pattern>${log.pattern}</pattern> - </encoder> - <filter class="ch.qos.logback.classic.filter.LevelFilter"> - <!-- 过滤的级别 --> - <level>INFO</level> - <!-- 匹配时的操作:接收(记录) --> - <onMatch>ACCEPT</onMatch> - <!-- 不匹配时的操作:拒绝(不记录) --> - <onMismatch>DENY</onMismatch> - </filter> - </appender> - - <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${log.path}/error.log</file> - <!-- 循环政策:基于时间创建日志文件 --> - <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> - <!-- 日志文件名格式 --> - <fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern> - <!-- 日志最大的历史 60天 --> - <maxHistory>60</maxHistory> - </rollingPolicy> - <encoder> - <pattern>${log.pattern}</pattern> - </encoder> - <filter class="ch.qos.logback.classic.filter.LevelFilter"> - <!-- 过滤的级别 --> - <level>ERROR</level> - <!-- 匹配时的操作:接收(记录) --> - <onMatch>ACCEPT</onMatch> - <!-- 不匹配时的操作:拒绝(不记录) --> - <onMismatch>DENY</onMismatch> - </filter> - </appender> - - <!-- 系统模块日志级别控制 --> - <logger name="com.hrt" level="info" /> - <!-- Spring日志级别控制 --> - <logger name="org.springframework" level="warn" /> - - <root level="info"> - <appender-ref ref="console" /> - </root> - - <!--系统操作日志--> - <root level="info"> - <appender-ref ref="file_info" /> - <appender-ref ref="file_error" /> - </root> -</configuration> \ No newline at end of file diff --git a/hrt-modules/hrt-job/src/main/resources/mapper/job/SysJobLogMapper.xml b/hrt-modules/hrt-job/src/main/resources/mapper/job/SysJobLogMapper.xml deleted file mode 100644 index 7759eed..0000000 --- a/hrt-modules/hrt-job/src/main/resources/mapper/job/SysJobLogMapper.xml +++ /dev/null @@ -1,93 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!DOCTYPE mapper -PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" -"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.job.mapper.SysJobLogMapper"> - - <resultMap type="SysJobLog" id="SysJobLogResult"> - <id property="jobLogId" column="job_log_id" /> - <result property="jobName" column="job_name" /> - <result property="jobGroup" column="job_group" /> - <result property="invokeTarget" column="invoke_target" /> - <result property="jobMessage" column="job_message" /> - <result property="status" column="status" /> - <result property="exceptionInfo" column="exception_info" /> - <result property="createTime" column="create_time" /> - </resultMap> - - <sql id="selectJobLogVo"> - select job_log_id, job_name, job_group, invoke_target, job_message, status, exception_info, create_time - from sys_job_log - </sql> - - <select id="selectJobLogList" parameterType="SysJobLog" resultMap="SysJobLogResult"> - <include refid="selectJobLogVo"/> - <where> - <if test="jobName != null and jobName != ''"> - AND job_name like concat('%', #{jobName}, '%') - </if> - <if test="jobGroup != null and jobGroup != ''"> - AND job_group = #{jobGroup} - </if> - <if test="status != null and status != ''"> - AND status = #{status} - </if> - <if test="invokeTarget != null and invokeTarget != ''"> - AND invoke_target like concat('%', #{invokeTarget}, '%') - </if> - <if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 --> - and date_format(create_time,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d') - </if> - <if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 --> - and date_format(create_time,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d') - </if> - </where> - </select> - - <select id="selectJobLogAll" resultMap="SysJobLogResult"> - <include refid="selectJobLogVo"/> - </select> - - <select id="selectJobLogById" parameterType="Long" resultMap="SysJobLogResult"> - <include refid="selectJobLogVo"/> - where job_log_id = #{jobLogId} - </select> - - <delete id="deleteJobLogById" parameterType="Long"> - delete from sys_job_log where job_log_id = #{jobLogId} - </delete> - - <delete id="deleteJobLogByIds" parameterType="Long"> - delete from sys_job_log where job_log_id in - <foreach collection="array" item="jobLogId" open="(" separator="," close=")"> - #{jobLogId} - </foreach> - </delete> - - <update id="cleanJobLog"> - truncate table sys_job_log - </update> - - <insert id="insertJobLog" parameterType="SysJobLog"> - insert into sys_job_log( - <if test="jobLogId != null and jobLogId != 0">job_log_id,</if> - <if test="jobName != null and jobName != ''">job_name,</if> - <if test="jobGroup != null and jobGroup != ''">job_group,</if> - <if test="invokeTarget != null and invokeTarget != ''">invoke_target,</if> - <if test="jobMessage != null and jobMessage != ''">job_message,</if> - <if test="status != null and status != ''">status,</if> - <if test="exceptionInfo != null and exceptionInfo != ''">exception_info,</if> - create_time - )values( - <if test="jobLogId != null and jobLogId != 0">#{jobLogId},</if> - <if test="jobName != null and jobName != ''">#{jobName},</if> - <if test="jobGroup != null and jobGroup != ''">#{jobGroup},</if> - <if test="invokeTarget != null and invokeTarget != ''">#{invokeTarget},</if> - <if test="jobMessage != null and jobMessage != ''">#{jobMessage},</if> - <if test="status != null and status != ''">#{status},</if> - <if test="exceptionInfo != null and exceptionInfo != ''">#{exceptionInfo},</if> - sysdate() - ) - </insert> - -</mapper> \ No newline at end of file diff --git a/hrt-modules/hrt-job/src/main/resources/mapper/job/SysJobMapper.xml b/hrt-modules/hrt-job/src/main/resources/mapper/job/SysJobMapper.xml deleted file mode 100644 index 0f9a0c2..0000000 --- a/hrt-modules/hrt-job/src/main/resources/mapper/job/SysJobMapper.xml +++ /dev/null @@ -1,111 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!DOCTYPE mapper -PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" -"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.job.mapper.SysJobMapper"> - - <resultMap type="SysJob" id="SysJobResult"> - <id property="jobId" column="job_id" /> - <result property="jobName" column="job_name" /> - <result property="jobGroup" column="job_group" /> - <result property="invokeTarget" column="invoke_target" /> - <result property="cronExpression" column="cron_expression" /> - <result property="misfirePolicy" column="misfire_policy" /> - <result property="concurrent" column="concurrent" /> - <result property="status" column="status" /> - <result property="createBy" column="create_by" /> - <result property="createTime" column="create_time" /> - <result property="updateBy" column="update_by" /> - <result property="updateTime" column="update_time" /> - <result property="remark" column="remark" /> - </resultMap> - - <sql id="selectJobVo"> - select job_id, job_name, job_group, invoke_target, cron_expression, misfire_policy, concurrent, status, create_by, create_time, remark - from sys_job - </sql> - - <select id="selectJobList" parameterType="SysJob" resultMap="SysJobResult"> - <include refid="selectJobVo"/> - <where> - <if test="jobName != null and jobName != ''"> - AND job_name like concat('%', #{jobName}, '%') - </if> - <if test="jobGroup != null and jobGroup != ''"> - AND job_group = #{jobGroup} - </if> - <if test="status != null and status != ''"> - AND status = #{status} - </if> - <if test="invokeTarget != null and invokeTarget != ''"> - AND invoke_target like concat('%', #{invokeTarget}, '%') - </if> - </where> - </select> - - <select id="selectJobAll" resultMap="SysJobResult"> - <include refid="selectJobVo"/> - </select> - - <select id="selectJobById" parameterType="Long" resultMap="SysJobResult"> - <include refid="selectJobVo"/> - where job_id = #{jobId} - </select> - - <delete id="deleteJobById" parameterType="Long"> - delete from sys_job where job_id = #{jobId} - </delete> - - <delete id="deleteJobByIds" parameterType="Long"> - delete from sys_job where job_id in - <foreach collection="array" item="jobId" open="(" separator="," close=")"> - #{jobId} - </foreach> - </delete> - - <update id="updateJob" parameterType="SysJob"> - update sys_job - <set> - <if test="jobName != null and jobName != ''">job_name = #{jobName},</if> - <if test="jobGroup != null and jobGroup != ''">job_group = #{jobGroup},</if> - <if test="invokeTarget != null and invokeTarget != ''">invoke_target = #{invokeTarget},</if> - <if test="cronExpression != null and cronExpression != ''">cron_expression = #{cronExpression},</if> - <if test="misfirePolicy != null and misfirePolicy != ''">misfire_policy = #{misfirePolicy},</if> - <if test="concurrent != null and concurrent != ''">concurrent = #{concurrent},</if> - <if test="status !=null">status = #{status},</if> - <if test="remark != null and remark != ''">remark = #{remark},</if> - <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if> - update_time = sysdate() - </set> - where job_id = #{jobId} - </update> - - <insert id="insertJob" parameterType="SysJob" useGeneratedKeys="true" keyProperty="jobId"> - insert into sys_job( - <if test="jobId != null and jobId != 0">job_id,</if> - <if test="jobName != null and jobName != ''">job_name,</if> - <if test="jobGroup != null and jobGroup != ''">job_group,</if> - <if test="invokeTarget != null and invokeTarget != ''">invoke_target,</if> - <if test="cronExpression != null and cronExpression != ''">cron_expression,</if> - <if test="misfirePolicy != null and misfirePolicy != ''">misfire_policy,</if> - <if test="concurrent != null and concurrent != ''">concurrent,</if> - <if test="status != null and status != ''">status,</if> - <if test="remark != null and remark != ''">remark,</if> - <if test="createBy != null and createBy != ''">create_by,</if> - create_time - )values( - <if test="jobId != null and jobId != 0">#{jobId},</if> - <if test="jobName != null and jobName != ''">#{jobName},</if> - <if test="jobGroup != null and jobGroup != ''">#{jobGroup},</if> - <if test="invokeTarget != null and invokeTarget != ''">#{invokeTarget},</if> - <if test="cronExpression != null and cronExpression != ''">#{cronExpression},</if> - <if test="misfirePolicy != null and misfirePolicy != ''">#{misfirePolicy},</if> - <if test="concurrent != null and concurrent != ''">#{concurrent},</if> - <if test="status != null and status != ''">#{status},</if> - <if test="remark != null and remark != ''">#{remark},</if> - <if test="createBy != null and createBy != ''">#{createBy},</if> - sysdate() - ) - </insert> - -</mapper> \ No newline at end of file diff --git a/hrt-modules/hrt-system/pom.xml b/hrt-modules/hrt-system/pom.xml deleted file mode 100644 index 368e973..0000000 --- a/hrt-modules/hrt-system/pom.xml +++ /dev/null @@ -1,142 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns="http://maven.apache.org/POM/4.0.0" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <parent> - <groupId>com.hrt</groupId> - <artifactId>hrt-modules</artifactId> - <version>3.6.2</version> - </parent> - <modelVersion>4.0.0</modelVersion> - - <artifactId>hrt-modules-system</artifactId> - - <description> - hrt-modules-system系统模块 - </description> - - <dependencies> - - <!-- SpringCloud Alibaba Nacos --> - <dependency> - <groupId>com.alibaba.cloud</groupId> - <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> - </dependency> - - <!-- SpringCloud Alibaba Nacos Config --> - <dependency> - <groupId>com.alibaba.cloud</groupId> - <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> - </dependency> - - <!-- SpringCloud Alibaba Sentinel --> - <dependency> - <groupId>com.alibaba.cloud</groupId> - <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> - </dependency> - - <!-- SpringBoot Actuator --> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-actuator</artifactId> - </dependency> - - <!-- Swagger UI --> - <dependency> - <groupId>io.springfox</groupId> - <artifactId>springfox-swagger-ui</artifactId> - <version>${swagger.fox.version}</version> - </dependency> - - <dependency> - <groupId>io.springfox</groupId> - <artifactId>springfox-boot-starter</artifactId> - <version>3.0.0</version> - </dependency> - - - <!-- Mysql Connector --> - <dependency> - <groupId>mysql</groupId> - <artifactId>mysql-connector-java</artifactId> - </dependency> - - <!-- hrt Common DataSource --> - <dependency> - <groupId>com.hrt</groupId> - <artifactId>hrt-common-datasource</artifactId> - </dependency> - - <!-- hrt Common DataScope --> - <dependency> - <groupId>com.hrt</groupId> - <artifactId>hrt-common-datascope</artifactId> - </dependency> - - <!-- hrt Common Log --> - <dependency> - <groupId>com.hrt</groupId> - <artifactId>hrt-common-log</artifactId> - </dependency> - - <!-- hrt Common Swagger --> - <dependency> - <groupId>com.hrt</groupId> - <artifactId>hrt-common-swagger</artifactId> - </dependency> - - <!-- MP --> - <dependency> - <groupId>com.baomidou</groupId> - <artifactId>mybatis-plus-boot-starter</artifactId> - <version>3.4.1</version> - <!-- pagehelper 包含该依赖存在版本冲突,因此不建议和 mp 一起混用 --> - <exclusions> - <exclusion> - <groupId>com.github.jsqlparser</groupId> - <artifactId>jsqlparser</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>com.baomidou</groupId> - <artifactId>mybatis-plus-annotation</artifactId> - <version>3.4.1</version> - </dependency> - <dependency> - <groupId>com.baomidou</groupId> - <artifactId>mybatis-plus-generator</artifactId> - <version>3.4.1</version> - </dependency> - <!--lombok的依赖,为了优化实体类,可以不去实现实体类的set()、get()--> - <dependency> - <groupId>org.projectlombok</groupId> - <artifactId>lombok</artifactId> - <optional>true</optional> - </dependency> - <!-- 小程序统一服务 --> - <dependency> - <groupId>com.github.binarywang</groupId> - <artifactId>weixin-java-miniapp</artifactId> - <version>4.1.0</version> - </dependency> - </dependencies> - - <build> - <finalName>${project.artifactId}</finalName> - <plugins> - <plugin> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-maven-plugin</artifactId> - <executions> - <execution> - <goals> - <goal>repackage</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - -</project> \ No newline at end of file diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/HrtSystemApplication.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/HrtSystemApplication.java deleted file mode 100644 index 84ab884..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/HrtSystemApplication.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.hrt.system; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import com.hrt.common.security.annotation.EnableCustomConfig; -import com.hrt.common.security.annotation.EnableRyFeignClients; -import com.hrt.common.swagger.annotation.EnableCustomSwagger2; -import springfox.documentation.oas.annotations.EnableOpenApi; - -/** - * 系统模块 - * - * @author jqs - */ -@EnableCustomConfig -@EnableCustomSwagger2 -@EnableRyFeignClients -@SpringBootApplication -@EnableOpenApi -public class HrtSystemApplication -{ - public static void main(String[] args) - { - SpringApplication.run(HrtSystemApplication.class, args); - System.out.println("(♥◠‿◠)ノ゙ 系统模块启动成功 ლ(´ڡ`ლ)゙ \n" + - " .-------. ____ __ \n" + - " | _ _ \\ \\ \\ / / \n" + - " | ( ' ) | \\ _. / ' \n" + - " |(_ o _) / _( )_ .' \n" + - " | (_,_).' __ ___(_ o _)' \n" + - " | |\\ \\ | || |(_,_)' \n" + - " | | \\ `' /| `-' / \n" + - " | | \\ / \\ / \n" + - " ''-' `'-' `-..-' "); - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/config/AppConfig.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/config/AppConfig.java deleted file mode 100644 index c6752d5..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/config/AppConfig.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.hrt.system.config; - -import cn.binarywang.wx.miniapp.api.WxMaService; -import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl; -import cn.binarywang.wx.miniapp.config.WxMaConfig; -import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -/** - * @author jqs34 - * @ClassName AppConfig - * @description: TODO - * @date 2023年02月17日 - * @version: 1.0 - */ -@Configuration -public class AppConfig { - - - @Bean - public WxMaService wxMaService() { - WxMaService service = new WxMaServiceImpl(); - service.setWxMaConfig(memberWxMaConfig()); - return service; - } - - @Bean - public WxMaConfig memberWxMaConfig(){ - WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl(); - config.setAppid("wxb7f0ea286fc4e535"); - config.setSecret("852a2512a6ab559cafc68bae5d4160ac"); - return config; - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/constant/AppErrorConstant.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/constant/AppErrorConstant.java deleted file mode 100644 index ebb7b74..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/constant/AppErrorConstant.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.hrt.system.constant; - -/** - * @author jqs34 - * @ClassName AppErrorContant - * @description: TODO - * @date 2023年02月13日 - * @version: 1.0 - */ -public interface AppErrorConstant { - - - String USER_NOT_LOGIN = "用户没有登录或登录已失效"; - - String AUTHORIZE_MISS = "授权信息不完整"; - - String AUTHORIZE_FAILED = "授权信息解密失败"; - - String USER_FROZE = "用户已被冻结"; - - String USER_NOT_MOBILE = "用户没有手机授权"; - - String NO_FIND_RESULT = "未找到编辑对象"; - - String NO_REQUIRED_PARAM = "缺少必要参数"; - - String CODE_EXPIRE = "验证码已过期"; - - String CODE_FAILED = "验证码错误"; - - String COUPON_NULL = "未找到优惠券"; - - String COUPON_FAILED = "未满足领取条件"; - - String NO_COUPON = "优惠券已领取完"; - - String DOUBLE_COUPON = "已拥有优惠券,请勿重复领取"; - - String REAL_NAME_FAILED = "实名认证失败,请检查上传的身份证图片"; - - String REAL_NAME_DIFF = "与资料填写姓名不符,非本人身份证"; - - String DISTRIBUTOR_APPLY_FAILED = "已经是分销员,请勿重复申请"; - - String DOUBLE_USER_BANK = "请勿重复绑定银行卡"; - - String USER_BANK_FAILED = "获取绑定银行卡失败"; - - String BEYOND_WITHDRAW = "超出可提现金额"; - - String BEYOND_WITHDRAW_time = "超出可提现金额"; - - String USER_NO_WITHDRAW = "用户没有提现权限"; - - String WX_WITHDRAW_FAILED = "用户没有提现权限"; - - String MOBILE_FAILED = "验证手机非绑定手机"; - - String AGREEMENT_FAILED = "获取协议失败"; -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/constant/CodeEnum.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/constant/CodeEnum.java deleted file mode 100644 index 7134452..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/constant/CodeEnum.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.hrt.system.constant; - -import com.fasterxml.jackson.annotation.JsonFormat; -import lombok.Getter; - -import java.util.HashMap; -import java.util.Map; - -/** - * @author jqs34 - * @ClassName CodeEnum - * @description: TODO - * @date 2023年03月06日 - * @version: 1.0 - */ -@JsonFormat(shape = JsonFormat.Shape.OBJECT) -@Getter -public enum CodeEnum { - - SUCCESS("调用成功","200"), - NO_STOCK("没有库存","101"), - LIMIT_BUY("达到限购","102"), - NO_GOODS("商品下架","103"), - COUPON_FAILED("优惠券调用失败","111"), - INTEGRAL_FAILED("积分调用失败","112"), - HANDLE_ORDER_FAILED("订单处理失败","113"); - - - String name; - String code; - - private static Map<String, CodeEnum> valueMap = new HashMap<>(); - - static { - for(CodeEnum gender : CodeEnum.values()) { - valueMap.put(gender.name, gender); - } - } - - CodeEnum(String name, String code) { - this.code = code; - this.name=name; - } - - public static String getByName(String name) { - CodeEnum result = valueMap.get(name); - if(result == null) { - throw new IllegalArgumentException("No element matches " + name); - } - return result.code; - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/constant/HttpStatus.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/constant/HttpStatus.java deleted file mode 100644 index 253f4d2..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/constant/HttpStatus.java +++ /dev/null @@ -1,91 +0,0 @@ -package com.hrt.system.constant; - -/** - * @author jqs34 - * @ClassName HttpStatus - * @description: TODO - * @date 2023年02月13日 - * @version: 1.0 - */ -public class HttpStatus { - - /** - * 操作成功 - */ - public static final int SUCCESS = 200; - - /** - * 对象创建成功 - */ - public static final int CREATED = 201; - - /** - * 请求已经被接受 - */ - public static final int ACCEPTED = 202; - - /** - * 操作已经执行成功,但是没有返回数据 - */ - public static final int NO_CONTENT = 204; - - /** - * 资源已被移除 - */ - public static final int MOVED_PERM = 301; - - /** - * 重定向 - */ - public static final int SEE_OTHER = 303; - - /** - * 资源没有被修改 - */ - public static final int NOT_MODIFIED = 304; - - /** - * 参数列表错误(缺少,格式不匹配) - */ - public static final int BAD_REQUEST = 400; - - /** - * 未授权 - */ - public static final int UNAUTHORIZED = 401; - - /** - * 访问受限,授权过期 - */ - public static final int FORBIDDEN = 403; - - /** - * 资源,服务未找到 - */ - public static final int NOT_FOUND = 404; - - /** - * 不允许的http方法 - */ - public static final int BAD_METHOD = 405; - - /** - * 资源冲突,或者资源被锁 - */ - public static final int CONFLICT = 409; - - /** - * 不支持的数据,媒体类型 - */ - public static final int UNSUPPORTED_TYPE = 415; - - /** - * 系统内部错误 - */ - public static final int ERROR = 500; - - /** - * 接口未实现 - */ - public static final int NOT_IMPLEMENTED = 501; -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/constant/SecurityConstant.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/constant/SecurityConstant.java deleted file mode 100644 index 5408f3f..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/constant/SecurityConstant.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.hrt.system.constant; - -/** - * @author jqs34 - * @ClassName SecurityConstant - * @description: TODO - * @date 2023年02月21日 - * @version: 1.0 - */ -public interface SecurityConstant { - - - /** - * 微信sessionKey前缀 - */ - String SESSION_KEY = "SESSION_KEY:"; - - - /** - * 用户验证码前缀key - */ - String MESSAGE_CODE = "MESSAGE_CODE:"; - - /** - * 用户验证码前缀key - */ - String MINI_CODE = "MINI_CODE:"; - - /** - * 用户验证码前缀key - */ - String WX_TOKEN = "WX_TOKEN"; -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/management/MgtShopController.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/management/MgtShopController.java deleted file mode 100644 index 605bdb0..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/management/MgtShopController.java +++ /dev/null @@ -1,90 +0,0 @@ -package com.hrt.system.controller.management; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.hrt.common.core.domain.R; -import com.hrt.common.security.utils.SecurityUtils; -import com.hrt.system.domain.dto.*; -import com.hrt.system.domain.poji.member.Member; -import com.hrt.system.domain.vo.AppSimpleGoodsVo; -import com.hrt.system.domain.vo.MgtShopInfoVo; -import com.hrt.system.domain.vo.MgtShopPageVo; -import com.hrt.system.domain.vo.MgtShopTagVo; -import com.hrt.system.service.shop.ShopRelTagService; -import com.hrt.system.service.shop.ShopService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RestController; - -import java.util.List; - -/** - * @author jqs34 - * @ClassName ShopController - * @description: TODO - * @date 2023年04月21日 - * @version: 1.0 - */ -@Api(value = "管理台商户相关接口", tags = "管理台商户相关接口", description = "管理台商户相关接口") -@RestController -@RequestMapping("/mgt/shop") -public class MgtShopController { - - @Autowired - private ShopService shopService; - - @Autowired - private ShopRelTagService shopRelTagService; - - @RequestMapping(value = "/pageShop", method = RequestMethod.POST) - @ApiOperation(value = "分页获取商户列表") - public R<Page<MgtShopPageVo>> pageShop(@RequestBody MgtShopPageDto mgtShopPageDto) { - Page<MgtShopPageVo> page = new Page<>(); - page.setSize(mgtShopPageDto.getPageSize()); - page.setCurrent(mgtShopPageDto.getPageNum()); - List<MgtShopPageVo> mgtShopPageVoList = shopService.pageShop(page,mgtShopPageDto); - return R.ok(page.setRecords(mgtShopPageVoList)); - } - - @RequestMapping(value = "/createShop", method = RequestMethod.POST) - @ApiOperation(value = "创建商户") - public R createShop(@RequestBody MgtEditShopDto mgtEditShopDto) { - Long userId = SecurityUtils.getUserId(); - mgtEditShopDto.setUserId(userId); - shopService.createShop(mgtEditShopDto); - return R.ok(); - } - - @RequestMapping(value = "/getShopInfo", method = RequestMethod.POST) - @ApiOperation(value = "获取商户详情") - public R<MgtShopInfoVo> getShopInfo(@RequestBody MgtBaseGetDto mgtBaseGetDto) { - MgtShopInfoVo mgtShopInfoVo = shopService.getMgtShopInfo(Long.valueOf(mgtBaseGetDto.getId())); - return R.ok(mgtShopInfoVo); - } - - @RequestMapping(value = "/getShopTag", method = RequestMethod.POST) - @ApiOperation(value = "获取商户标签") - public R<List<MgtShopTagVo>> getShopTag(@RequestBody MgtBaseGetDto mgtBaseGetDto) { - List<MgtShopTagVo> mgtShopInfoVoList = shopRelTagService.listShopTagVo(Long.valueOf(mgtBaseGetDto.getId())); - return R.ok(mgtShopInfoVoList); - } - - @RequestMapping(value = "/editShopTag", method = RequestMethod.POST) - @ApiOperation(value = "修改商户标签") - public R editShopTag(@RequestBody MgtEditShopTagDto mgtEditShopTagDto) { - shopService.editShopTag(mgtEditShopTagDto); - return R.ok(); - } - - @RequestMapping(value = "/changeCooperationTime", method = RequestMethod.POST) - @ApiOperation(value = "修改合作时间") - public R changeCooperationTime(@RequestBody MgtChangeCoopDto mgtChangeCoopDto) { - Long userId = SecurityUtils.getUserId(); - mgtChangeCoopDto.setUserId(userId); - shopService.changeCooperationTime(mgtChangeCoopDto); - return R.ok(); - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/merchant/MerShopController.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/merchant/MerShopController.java deleted file mode 100644 index 586d0a8..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/merchant/MerShopController.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.hrt.system.controller.merchant; - -import com.hrt.common.core.domain.R; -import com.hrt.common.security.utils.SecurityUtils; -import com.hrt.system.domain.vo.MerHomeShopTotalVo; -import com.hrt.system.domain.vo.MerShopInfoVo; -import com.hrt.system.service.shop.ShopService; -import com.hrt.system.service.user.ISysUserService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RestController; - -/** - * @author jqs34 - * @ClassName MShopController - * @description: TODO - * @date 2023年04月21日 - * @version: 1.0 - */ -@Api(value = "商户端商户相关接口", tags = "商户端商户相关接口", description = "商户端商户相关接口") -@RestController -@RequestMapping("/mer/shop") -public class MerShopController { - - /*@Autowired - private ShopService shopService;*/ - - /*@RequestMapping(value = "/getHomeShopTotal", method = RequestMethod.POST) - @ApiOperation(value = "获取首页商户统计") - public R<MerHomeShopTotalVo> getHomeShopTotal() { - Long userId = SecurityUtils.getUserId(); - MerHomeShopTotalVo merHomeShopTotalVo = shopService.getMerShopInfoVo(Long userId); - return R.ok(merHomeShopTotalVo); - }*/ - - /*@RequestMapping(value = "/getShopInfo", method = RequestMethod.POST) - @ApiOperation(value = "获取商户信息") - public R<MerShopInfoVo> getShopInfo() { - Long userId = SecurityUtils.getUserId(); - MerHomeShopTotalVo merHomeShopTotalVo = shopService.getMerShopInfoVo(Long userId); - return R.ok(merHomeShopTotalVo); - }*/ -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/miniapp/AppConfigController.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/miniapp/AppConfigController.java deleted file mode 100644 index feca30f..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/miniapp/AppConfigController.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.hrt.system.controller.miniapp; - -import com.hrt.common.core.domain.R; -import com.hrt.common.security.utils.SecurityUtils; -import com.hrt.system.domain.dto.AppAgreementDto; -import com.hrt.system.domain.dto.AppUserAuthorizeDto; -import com.hrt.system.domain.vo.AppAgreementVo; -import com.hrt.system.domain.vo.AppUserAuthorizeVo; -import com.hrt.system.service.member.MemberService; -import com.hrt.system.service.sys.AgreementService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RestController; - -/** - * @author jqs34 - * @ClassName AppConfigController - * @description: TODO - * @date 2023年04月19日 - * @version: 1.0 - */ -@Api(value = "小程序配置相关接口", tags = "小程序配置相关接口", description = "小程序配置相关接口") -@RestController -@RequestMapping("/app/config") -public class AppConfigController { - - @Autowired - private MemberService memberService; - - @Autowired - private AgreementService agreementService; - - @RequestMapping(value = "/getAppUserAuthorize", method = RequestMethod.POST) - @ApiOperation(value = "获取用户授权信息") - public R<AppUserAuthorizeVo> getAppUserAuthorize(@RequestBody AppUserAuthorizeDto appUserAuthorizeDto) { - Long userId = SecurityUtils.getUserId(); - appUserAuthorizeDto.setUserId(userId); - AppUserAuthorizeVo appUserAuthorizeVo = memberService.getAppUserAuthorize(appUserAuthorizeDto); - return R.ok(appUserAuthorizeVo); - } - - @RequestMapping(value = "/getAppAgreement", method = RequestMethod.POST) - @ApiOperation(value = "获取协议") - public R<AppAgreementVo> getAppAgreement(@RequestBody AppAgreementDto appAgreementDto){ - AppAgreementVo appAgreementVo = agreementService.getAppAgreement(appAgreementDto); - return R.ok(appAgreementVo); - } - - - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/miniapp/AppGoodsController.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/miniapp/AppGoodsController.java deleted file mode 100644 index 24fc060..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/miniapp/AppGoodsController.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.hrt.system.controller.miniapp; - -import com.hrt.common.core.domain.R; -import com.hrt.common.security.utils.SecurityUtils; -import com.hrt.system.domain.dto.AppBaseGetDto; -import com.hrt.system.domain.dto.AppGoodsInfoGetDto; -import com.hrt.system.domain.poji.member.Member; -import com.hrt.system.domain.vo.AppGoodsInfoVo; -import com.hrt.system.domain.vo.AppShopInfoVo; -import com.hrt.system.service.goods.GoodsService; -import com.hrt.system.service.member.MemberService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RestController; - -/** - * @author jqs34 - * @ClassName AppGoodsController - * @description: TODO - * @date 2023年04月20日 - * @version: 1.0 - */ -@Api(value = "小程序商品相关接口", tags = "小程序商品相关接口", description = "小程序商品相关接口") -@RestController -@RequestMapping("/app/home") -public class AppGoodsController { - - @Autowired - private GoodsService goodsService; - - @Autowired - private MemberService memberService; - - @RequestMapping(value = "/getGoodsInfo", method = RequestMethod.POST) - @ApiOperation(value = "获取商品详情") - public R<AppGoodsInfoVo> getGoodsInfo(@RequestBody AppGoodsInfoGetDto appGoodsInfoGetDto) { - Long userId = SecurityUtils.getUserId(); - if(userId!=null){ - Member member = memberService.getById(userId); - if(member!=null&&member.getRealtionShopId()!=null){ - appGoodsInfoGetDto.setShopId(member.getRealtionShopId()); - } - } - AppGoodsInfoVo appGoodsInfoVo = goodsService.getGoodsInfo(appGoodsInfoGetDto); - return R.ok(appGoodsInfoVo); - } - - - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/miniapp/AppHomeController.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/miniapp/AppHomeController.java deleted file mode 100644 index 131baa1..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/miniapp/AppHomeController.java +++ /dev/null @@ -1,163 +0,0 @@ -package com.hrt.system.controller.miniapp; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.hrt.common.core.domain.R; -import com.hrt.common.security.utils.SecurityUtils; -import com.hrt.system.domain.dto.*; -import com.hrt.system.domain.poji.member.Member; -import com.hrt.system.domain.vo.*; -import com.hrt.system.service.goods.GoodsService; -import com.hrt.system.service.member.MemberService; -import com.hrt.system.service.shop.ShopService; -import com.hrt.system.service.sys.AdvertService; -import com.hrt.system.service.sys.BannerService; -import com.hrt.system.service.sys.QuickEntryService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RestController; - -import java.util.List; - -/** - * @author jqs34 - * @ClassName AppHomeController - * @description: TODO - * @date 2023年04月18日 - * @version: 1.0 - */ -@Api(value = "小程序首页相关接口", tags = "小程序首页相关接口", description = "小程序首页相关接口") -@RestController -@RequestMapping("/app/home") -public class AppHomeController { - - - @Autowired - private MemberService memberService; - - @Autowired - private BannerService bannerService; - - @Autowired - private QuickEntryService quickEntryService; - - @Autowired - private AdvertService advertService; - - @Autowired - private GoodsService goodsService; - - @Autowired - private ShopService shopService; - - @RequestMapping(value = "/getNearbyShop", method = RequestMethod.POST) - @ApiOperation(value = "获取最近商户") - public R<AppNearbyShopVo> getNearbyShop(@RequestBody AppNearbyShopDto appNearbyShopDto) { - Long userId = SecurityUtils.getUserId(); - appNearbyShopDto.setUserId(userId); - AppNearbyShopVo appNearbyShopVo = memberService.getNearbyShop(appNearbyShopDto); - return R.ok(appNearbyShopVo); - } - - @RequestMapping(value = "/getHomeBanner", method = RequestMethod.POST) - @ApiOperation(value = "获取首页banner") - public R<List<AppBannerVo>> getHomeBanner() { - List<AppBannerVo> appBannerVoList = bannerService.listHomeBannerVo(); - return R.ok(appBannerVoList); - } - - @RequestMapping(value = "/getQuickEntry", method = RequestMethod.POST) - @ApiOperation(value = "获取首页快速入口") - public R<List<AppQuickEntryVo>> getQuickEntry() { - List<AppQuickEntryVo> appQuickEntryVoList = quickEntryService.listQuickEntryVo(); - return R.ok(appQuickEntryVoList); - } - - @RequestMapping(value = "/getAdvert", method = RequestMethod.POST) - @ApiOperation(value = "获取首页广告") - public R<AppAdvertVo> getAdvert() { - AppAdvertVo appAdvertVo = advertService.getAdvertVo(); - return R.ok(appAdvertVo); - } - - @RequestMapping(value = "/pageRecommendGoods", method = RequestMethod.POST) - @ApiOperation(value = "推荐商品") - public R<Page<AppSimpleGoodsVo>> pageRecommendGoods(@RequestBody AppPageDto appPageDto) { - Long userId = SecurityUtils.getUserId(); - Long shopId = null; - if(userId!=null){ - Member member = memberService.getById(userId); - if(member!=null&&member.getRealtionShopId()!=null){ - shopId = member.getRealtionShopId(); - } - } - Page<AppSimpleGoodsVo> page = new Page<>(); - page.setSize(appPageDto.getPageSize()); - page.setCurrent(appPageDto.getPageNum()); - List<AppSimpleGoodsVo> appSimpleGoodsVoList = goodsService.pageRecommendGoods(page,shopId); - return R.ok(page.setRecords(appSimpleGoodsVoList)); - } - - @RequestMapping(value = "/pageShopGoods", method = RequestMethod.POST) - @ApiOperation(value = "商城商品") - public R<Page<AppSimpleGoodsVo>> pageShopGoods(@RequestBody AppShopGoodsPageDto appShopGoodsPageDto) { - Long userId = SecurityUtils.getUserId(); - if(userId!=null){ - Member member = memberService.getById(userId); - if(member!=null&&member.getRealtionShopId()!=null){ - appShopGoodsPageDto.setShopId(member.getRealtionShopId()); - } - } - Page<AppSimpleGoodsVo> page = new Page<>(); - page.setSize(appShopGoodsPageDto.getPageSize()); - page.setCurrent(appShopGoodsPageDto.getPageNum()); - List<AppSimpleGoodsVo> appSimpleGoodsVoList = goodsService.pageShopGoods(page,appShopGoodsPageDto); - return R.ok(page.setRecords(appSimpleGoodsVoList)); - } - - @RequestMapping(value = "/pageSearchGoods", method = RequestMethod.POST) - @ApiOperation(value = "搜索商品") - public R<Page<AppSimpleGoodsVo>> pageSearchGoods(@RequestBody AppSearchGoodsPageDto appSearchGoodsPageDto) { - Long userId = SecurityUtils.getUserId(); - if(userId!=null){ - Member member = memberService.getById(userId); - if(member!=null&&member.getRealtionShopId()!=null){ - appSearchGoodsPageDto.setShopId(member.getRealtionShopId()); - } - } - Page<AppSimpleGoodsVo> page = new Page<>(); - page.setSize(appSearchGoodsPageDto.getPageSize()); - page.setCurrent(appSearchGoodsPageDto.getPageNum()); - List<AppSimpleGoodsVo> appSimpleGoodsVoList = goodsService.pageSearchGoods(page,appSearchGoodsPageDto); - return R.ok(page.setRecords(appSimpleGoodsVoList)); - } - - @RequestMapping(value = "/pageSearchActivityGoods", method = RequestMethod.POST) - @ApiOperation(value = "搜索活动商品") - public R<Page<AppSimpleActivityGoodsVo>> pageSearchActivityGoods(@RequestBody AppSearchGoodsPageDto appSearchGoodsPageDto) { - Long userId = SecurityUtils.getUserId(); - if(userId!=null){ - Member member = memberService.getById(userId); - if(member!=null&&member.getRealtionShopId()!=null){ - appSearchGoodsPageDto.setShopId(member.getRealtionShopId()); - } - } - Page<AppSimpleActivityGoodsVo> page = new Page<>(); - page.setSize(appSearchGoodsPageDto.getPageSize()); - page.setCurrent(appSearchGoodsPageDto.getPageNum()); - List<AppSimpleActivityGoodsVo> appSimpleGoodsVoList = goodsService.pageSearchActivityGoods(page,appSearchGoodsPageDto); - return R.ok(page.setRecords(appSimpleGoodsVoList)); - } - - @RequestMapping(value = "/getShopInfo", method = RequestMethod.POST) - @ApiOperation(value = "获取商户详情") - public R<AppShopInfoVo> getShopInfo(@RequestBody AppBaseGetDto appBaseGetDto) { - AppShopInfoVo appShopInfoVo = shopService.getAppShopInfo(Long.valueOf(appBaseGetDto.getId())); - return R.ok(appShopInfoVo); - } - - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysConfigController.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysConfigController.java deleted file mode 100644 index a236ec7..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysConfigController.java +++ /dev/null @@ -1,134 +0,0 @@ -package com.hrt.system.controller.sys; - -import java.util.List; -import javax.servlet.http.HttpServletResponse; - -import com.hrt.system.domain.poji.sys.SysConfig; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import com.hrt.common.core.utils.poi.ExcelUtil; -import com.hrt.common.core.web.controller.BaseController; -import com.hrt.common.core.web.domain.AjaxResult; -import com.hrt.common.core.web.page.TableDataInfo; -import com.hrt.common.log.annotation.Log; -import com.hrt.common.log.enums.BusinessType; -import com.hrt.common.security.annotation.RequiresPermissions; -import com.hrt.common.security.utils.SecurityUtils; -import com.hrt.system.service.sys.ISysConfigService; - -/** - * 参数配置 信息操作处理 - * - * @author jqs - */ -@RestController -@RequestMapping("/config") -public class SysConfigController extends BaseController -{ - @Autowired - private ISysConfigService configService; - - /** - * 获取参数配置列表 - */ - @RequiresPermissions("system:config:list") - @GetMapping("/list") - public TableDataInfo list(SysConfig config) - { - startPage(); - List<SysConfig> list = configService.selectConfigList(config); - return getDataTable(list); - } - - @Log(title = "参数管理", businessType = BusinessType.EXPORT) - @RequiresPermissions("system:config:export") - @PostMapping("/export") - public void export(HttpServletResponse response, SysConfig config) - { - List<SysConfig> list = configService.selectConfigList(config); - ExcelUtil<SysConfig> util = new ExcelUtil<SysConfig>(SysConfig.class); - util.exportExcel(response, list, "参数数据"); - } - - /** - * 根据参数编号获取详细信息 - */ - @GetMapping(value = "/{configId}") - public AjaxResult getInfo(@PathVariable Long configId) - { - return success(configService.selectConfigById(configId)); - } - - /** - * 根据参数键名查询参数值 - */ - @GetMapping(value = "/configKey/{configKey}") - public AjaxResult getConfigKey(@PathVariable String configKey) - { - return success(configService.selectConfigByKey(configKey)); - } - - /** - * 新增参数配置 - */ - @RequiresPermissions("system:config:add") - @Log(title = "参数管理", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@Validated @RequestBody SysConfig config) - { - if (!configService.checkConfigKeyUnique(config)) - { - return error("新增参数'" + config.getConfigName() + "'失败,参数键名已存在"); - } - config.setCreateBy(SecurityUtils.getUsername()); - return toAjax(configService.insertConfig(config)); - } - - /** - * 修改参数配置 - */ - @RequiresPermissions("system:config:edit") - @Log(title = "参数管理", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@Validated @RequestBody SysConfig config) - { - if (!configService.checkConfigKeyUnique(config)) - { - return error("修改参数'" + config.getConfigName() + "'失败,参数键名已存在"); - } - config.setUpdateBy(SecurityUtils.getUsername()); - return toAjax(configService.updateConfig(config)); - } - - /** - * 删除参数配置 - */ - @RequiresPermissions("system:config:remove") - @Log(title = "参数管理", businessType = BusinessType.DELETE) - @DeleteMapping("/{configIds}") - public AjaxResult remove(@PathVariable Long[] configIds) - { - configService.deleteConfigByIds(configIds); - return success(); - } - - /** - * 刷新参数缓存 - */ - @RequiresPermissions("system:config:remove") - @Log(title = "参数管理", businessType = BusinessType.CLEAN) - @DeleteMapping("/refreshCache") - public AjaxResult refreshCache() - { - configService.resetConfigCache(); - return success(); - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysDeptController.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysDeptController.java deleted file mode 100644 index 7c31b6b..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysDeptController.java +++ /dev/null @@ -1,133 +0,0 @@ -package com.hrt.system.controller.sys; - -import java.util.List; -import org.apache.commons.lang3.ArrayUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import com.hrt.common.core.constant.UserConstants; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.common.core.web.controller.BaseController; -import com.hrt.common.core.web.domain.AjaxResult; -import com.hrt.common.log.annotation.Log; -import com.hrt.common.log.enums.BusinessType; -import com.hrt.common.security.annotation.RequiresPermissions; -import com.hrt.common.security.utils.SecurityUtils; -import com.hrt.system.api.domain.SysDept; -import com.hrt.system.service.user.ISysDeptService; - -/** - * 部门信息 - * - * @author jqs - */ -@RestController -@RequestMapping("/dept") -public class SysDeptController extends BaseController -{ - @Autowired - private ISysDeptService deptService; - - /** - * 获取部门列表 - */ - @RequiresPermissions("system:dept:list") - @GetMapping("/list") - public AjaxResult list(SysDept dept) - { - List<SysDept> depts = deptService.selectDeptList(dept); - return success(depts); - } - - /** - * 查询部门列表(排除节点) - */ - @RequiresPermissions("system:dept:list") - @GetMapping("/list/exclude/{deptId}") - public AjaxResult excludeChild(@PathVariable(value = "deptId", required = false) Long deptId) - { - List<SysDept> depts = deptService.selectDeptList(new SysDept()); - depts.removeIf(d -> d.getDeptId().intValue() == deptId || ArrayUtils.contains(StringUtils.split(d.getAncestors(), ","), deptId + "")); - return success(depts); - } - - /** - * 根据部门编号获取详细信息 - */ - @RequiresPermissions("system:dept:query") - @GetMapping(value = "/{deptId}") - public AjaxResult getInfo(@PathVariable Long deptId) - { - deptService.checkDeptDataScope(deptId); - return success(deptService.selectDeptById(deptId)); - } - - /** - * 新增部门 - */ - @RequiresPermissions("system:dept:add") - @Log(title = "部门管理", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@Validated @RequestBody SysDept dept) - { - if (!deptService.checkDeptNameUnique(dept)) - { - return error("新增部门'" + dept.getDeptName() + "'失败,部门名称已存在"); - } - dept.setCreateBy(SecurityUtils.getUsername()); - return toAjax(deptService.insertDept(dept)); - } - - /** - * 修改部门 - */ - @RequiresPermissions("system:dept:edit") - @Log(title = "部门管理", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@Validated @RequestBody SysDept dept) - { - Long deptId = dept.getDeptId(); - deptService.checkDeptDataScope(deptId); - if (!deptService.checkDeptNameUnique(dept)) - { - return error("修改部门'" + dept.getDeptName() + "'失败,部门名称已存在"); - } - else if (dept.getParentId().equals(deptId)) - { - return error("修改部门'" + dept.getDeptName() + "'失败,上级部门不能是自己"); - } - else if (StringUtils.equals(UserConstants.DEPT_DISABLE, dept.getStatus()) && deptService.selectNormalChildrenDeptById(deptId) > 0) - { - return error("该部门包含未停用的子部门!"); - } - dept.setUpdateBy(SecurityUtils.getUsername()); - return toAjax(deptService.updateDept(dept)); - } - - /** - * 删除部门 - */ - @RequiresPermissions("system:dept:remove") - @Log(title = "部门管理", businessType = BusinessType.DELETE) - @DeleteMapping("/{deptId}") - public AjaxResult remove(@PathVariable Long deptId) - { - if (deptService.hasChildByDeptId(deptId)) - { - return warn("存在下级部门,不允许删除"); - } - if (deptService.checkDeptExistUser(deptId)) - { - return warn("部门存在用户,不允许删除"); - } - deptService.checkDeptDataScope(deptId); - return toAjax(deptService.deleteDeptById(deptId)); - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysDictDataController.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysDictDataController.java deleted file mode 100644 index b623c21..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysDictDataController.java +++ /dev/null @@ -1,122 +0,0 @@ -package com.hrt.system.controller.sys; - -import java.util.ArrayList; -import java.util.List; -import javax.servlet.http.HttpServletResponse; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.common.core.utils.poi.ExcelUtil; -import com.hrt.common.core.web.controller.BaseController; -import com.hrt.common.core.web.domain.AjaxResult; -import com.hrt.common.core.web.page.TableDataInfo; -import com.hrt.common.log.annotation.Log; -import com.hrt.common.log.enums.BusinessType; -import com.hrt.common.security.annotation.RequiresPermissions; -import com.hrt.common.security.utils.SecurityUtils; -import com.hrt.system.api.domain.SysDictData; -import com.hrt.system.service.sys.ISysDictDataService; -import com.hrt.system.service.sys.ISysDictTypeService; - -/** - * 数据字典信息 - * - * @author jqs - */ -@RestController -@RequestMapping("/dict/data") -public class SysDictDataController extends BaseController -{ - @Autowired - private ISysDictDataService dictDataService; - - @Autowired - private ISysDictTypeService dictTypeService; - - @RequiresPermissions("system:dict:list") - @GetMapping("/list") - public TableDataInfo list(SysDictData dictData) - { - startPage(); - List<SysDictData> list = dictDataService.selectDictDataList(dictData); - return getDataTable(list); - } - - @Log(title = "字典数据", businessType = BusinessType.EXPORT) - @RequiresPermissions("system:dict:export") - @PostMapping("/export") - public void export(HttpServletResponse response, SysDictData dictData) - { - List<SysDictData> list = dictDataService.selectDictDataList(dictData); - ExcelUtil<SysDictData> util = new ExcelUtil<SysDictData>(SysDictData.class); - util.exportExcel(response, list, "字典数据"); - } - - /** - * 查询字典数据详细 - */ - @RequiresPermissions("system:dict:query") - @GetMapping(value = "/{dictCode}") - public AjaxResult getInfo(@PathVariable Long dictCode) - { - return success(dictDataService.selectDictDataById(dictCode)); - } - - /** - * 根据字典类型查询字典数据信息 - */ - @GetMapping(value = "/type/{dictType}") - public AjaxResult dictType(@PathVariable String dictType) - { - List<SysDictData> data = dictTypeService.selectDictDataByType(dictType); - if (StringUtils.isNull(data)) - { - data = new ArrayList<SysDictData>(); - } - return success(data); - } - - /** - * 新增字典类型 - */ - @RequiresPermissions("system:dict:add") - @Log(title = "字典数据", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@Validated @RequestBody SysDictData dict) - { - dict.setCreateBy(SecurityUtils.getUsername()); - return toAjax(dictDataService.insertDictData(dict)); - } - - /** - * 修改保存字典类型 - */ - @RequiresPermissions("system:dict:edit") - @Log(title = "字典数据", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@Validated @RequestBody SysDictData dict) - { - dict.setUpdateBy(SecurityUtils.getUsername()); - return toAjax(dictDataService.updateDictData(dict)); - } - - /** - * 删除字典类型 - */ - @RequiresPermissions("system:dict:remove") - @Log(title = "字典类型", businessType = BusinessType.DELETE) - @DeleteMapping("/{dictCodes}") - public AjaxResult remove(@PathVariable Long[] dictCodes) - { - dictDataService.deleteDictDataByIds(dictCodes); - return success(); - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysDictTypeController.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysDictTypeController.java deleted file mode 100644 index 911b930..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysDictTypeController.java +++ /dev/null @@ -1,132 +0,0 @@ -package com.hrt.system.controller.sys; - -import java.util.List; -import javax.servlet.http.HttpServletResponse; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import com.hrt.common.core.utils.poi.ExcelUtil; -import com.hrt.common.core.web.controller.BaseController; -import com.hrt.common.core.web.domain.AjaxResult; -import com.hrt.common.core.web.page.TableDataInfo; -import com.hrt.common.log.annotation.Log; -import com.hrt.common.log.enums.BusinessType; -import com.hrt.common.security.annotation.RequiresPermissions; -import com.hrt.common.security.utils.SecurityUtils; -import com.hrt.system.api.domain.SysDictType; -import com.hrt.system.service.sys.ISysDictTypeService; - -/** - * 数据字典信息 - * - * @author jqs - */ -@RestController -@RequestMapping("/dict/type") -public class SysDictTypeController extends BaseController -{ - @Autowired - private ISysDictTypeService dictTypeService; - - @RequiresPermissions("system:dict:list") - @GetMapping("/list") - public TableDataInfo list(SysDictType dictType) - { - startPage(); - List<SysDictType> list = dictTypeService.selectDictTypeList(dictType); - return getDataTable(list); - } - - @Log(title = "字典类型", businessType = BusinessType.EXPORT) - @RequiresPermissions("system:dict:export") - @PostMapping("/export") - public void export(HttpServletResponse response, SysDictType dictType) - { - List<SysDictType> list = dictTypeService.selectDictTypeList(dictType); - ExcelUtil<SysDictType> util = new ExcelUtil<SysDictType>(SysDictType.class); - util.exportExcel(response, list, "字典类型"); - } - - /** - * 查询字典类型详细 - */ - @RequiresPermissions("system:dict:query") - @GetMapping(value = "/{dictId}") - public AjaxResult getInfo(@PathVariable Long dictId) - { - return success(dictTypeService.selectDictTypeById(dictId)); - } - - /** - * 新增字典类型 - */ - @RequiresPermissions("system:dict:add") - @Log(title = "字典类型", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@Validated @RequestBody SysDictType dict) - { - if (!dictTypeService.checkDictTypeUnique(dict)) - { - return error("新增字典'" + dict.getDictName() + "'失败,字典类型已存在"); - } - dict.setCreateBy(SecurityUtils.getUsername()); - return toAjax(dictTypeService.insertDictType(dict)); - } - - /** - * 修改字典类型 - */ - @RequiresPermissions("system:dict:edit") - @Log(title = "字典类型", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@Validated @RequestBody SysDictType dict) - { - if (!dictTypeService.checkDictTypeUnique(dict)) - { - return error("修改字典'" + dict.getDictName() + "'失败,字典类型已存在"); - } - dict.setUpdateBy(SecurityUtils.getUsername()); - return toAjax(dictTypeService.updateDictType(dict)); - } - - /** - * 删除字典类型 - */ - @RequiresPermissions("system:dict:remove") - @Log(title = "字典类型", businessType = BusinessType.DELETE) - @DeleteMapping("/{dictIds}") - public AjaxResult remove(@PathVariable Long[] dictIds) - { - dictTypeService.deleteDictTypeByIds(dictIds); - return success(); - } - - /** - * 刷新字典缓存 - */ - @RequiresPermissions("system:dict:remove") - @Log(title = "字典类型", businessType = BusinessType.CLEAN) - @DeleteMapping("/refreshCache") - public AjaxResult refreshCache() - { - dictTypeService.resetDictCache(); - return success(); - } - - /** - * 获取字典选择框列表 - */ - @GetMapping("/optionselect") - public AjaxResult optionselect() - { - List<SysDictType> dictTypes = dictTypeService.selectDictTypeAll(); - return success(dictTypes); - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysLogininforController.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysLogininforController.java deleted file mode 100644 index 2859ed7..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysLogininforController.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.hrt.system.controller.sys; - -import java.util.List; -import javax.servlet.http.HttpServletResponse; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -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 com.hrt.common.core.constant.CacheConstants; -import com.hrt.common.core.utils.poi.ExcelUtil; -import com.hrt.common.core.web.controller.BaseController; -import com.hrt.common.core.web.domain.AjaxResult; -import com.hrt.common.core.web.page.TableDataInfo; -import com.hrt.common.log.annotation.Log; -import com.hrt.common.log.enums.BusinessType; -import com.hrt.common.redis.service.RedisService; -import com.hrt.common.security.annotation.InnerAuth; -import com.hrt.common.security.annotation.RequiresPermissions; -import com.hrt.system.api.domain.SysLogininfor; -import com.hrt.system.service.user.ISysLogininforService; - -/** - * 系统访问记录 - * - * @author jqs - */ -@RestController -@RequestMapping("/logininfor") -public class SysLogininforController extends BaseController -{ - @Autowired - private ISysLogininforService logininforService; - - @Autowired - private RedisService redisService; - - @RequiresPermissions("system:logininfor:list") - @GetMapping("/list") - public TableDataInfo list(SysLogininfor logininfor) - { - startPage(); - List<SysLogininfor> list = logininforService.selectLogininforList(logininfor); - return getDataTable(list); - } - - @Log(title = "登录日志", businessType = BusinessType.EXPORT) - @RequiresPermissions("system:logininfor:export") - @PostMapping("/export") - public void export(HttpServletResponse response, SysLogininfor logininfor) - { - List<SysLogininfor> list = logininforService.selectLogininforList(logininfor); - ExcelUtil<SysLogininfor> util = new ExcelUtil<SysLogininfor>(SysLogininfor.class); - util.exportExcel(response, list, "登录日志"); - } - - @RequiresPermissions("system:logininfor:remove") - @Log(title = "登录日志", businessType = BusinessType.DELETE) - @DeleteMapping("/{infoIds}") - public AjaxResult remove(@PathVariable Long[] infoIds) - { - return toAjax(logininforService.deleteLogininforByIds(infoIds)); - } - - @RequiresPermissions("system:logininfor:remove") - @Log(title = "登录日志", businessType = BusinessType.DELETE) - @DeleteMapping("/clean") - public AjaxResult clean() - { - logininforService.cleanLogininfor(); - return success(); - } - - @RequiresPermissions("system:logininfor:unlock") - @Log(title = "账户解锁", businessType = BusinessType.OTHER) - @GetMapping("/unlock/{userName}") - public AjaxResult unlock(@PathVariable("userName") String userName) - { - redisService.deleteObject(CacheConstants.PWD_ERR_CNT_KEY + userName); - return success(); - } - - @InnerAuth - @PostMapping - public AjaxResult add(@RequestBody SysLogininfor logininfor) - { - return toAjax(logininforService.insertLogininfor(logininfor)); - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysMenuController.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysMenuController.java deleted file mode 100644 index 618cd94..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysMenuController.java +++ /dev/null @@ -1,160 +0,0 @@ -package com.hrt.system.controller.sys; - -import java.util.List; - -import com.hrt.system.domain.poji.user.SysMenu; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import com.hrt.common.core.constant.UserConstants; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.common.core.web.controller.BaseController; -import com.hrt.common.core.web.domain.AjaxResult; -import com.hrt.common.log.annotation.Log; -import com.hrt.common.log.enums.BusinessType; -import com.hrt.common.security.annotation.RequiresPermissions; -import com.hrt.common.security.utils.SecurityUtils; -import com.hrt.system.service.user.ISysMenuService; - -/** - * 菜单信息 - * - * @author jqs - */ -@RestController -@RequestMapping("/menu") -public class SysMenuController extends BaseController -{ - @Autowired - private ISysMenuService menuService; - - /** - * 获取菜单列表 - */ - @RequiresPermissions("system:menu:list") - @GetMapping("/list") - public AjaxResult list(SysMenu menu) - { - Long userId = SecurityUtils.getUserId(); - List<SysMenu> menus = menuService.selectMenuList(menu, userId); - return success(menus); - } - - /** - * 根据菜单编号获取详细信息 - */ - @RequiresPermissions("system:menu:query") - @GetMapping(value = "/{menuId}") - public AjaxResult getInfo(@PathVariable Long menuId) - { - return success(menuService.selectMenuById(menuId)); - } - - /** - * 获取菜单下拉树列表 - */ - @GetMapping("/treeselect") - public AjaxResult treeselect(SysMenu menu) - { - Long userId = SecurityUtils.getUserId(); - List<SysMenu> menus = menuService.selectMenuList(menu, userId); - return success(menuService.buildMenuTreeSelect(menus)); - } - - /** - * 加载对应角色菜单列表树 - */ - @GetMapping(value = "/roleMenuTreeselect/{roleId}") - public AjaxResult roleMenuTreeselect(@PathVariable("roleId") Long roleId) - { - Long userId = SecurityUtils.getUserId(); - List<SysMenu> menus = menuService.selectMenuList(userId); - AjaxResult ajax = AjaxResult.success(); - ajax.put("checkedKeys", menuService.selectMenuListByRoleId(roleId)); - ajax.put("menus", menuService.buildMenuTreeSelect(menus)); - return ajax; - } - - /** - * 新增菜单 - */ - @RequiresPermissions("system:menu:add") - @Log(title = "菜单管理", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@Validated @RequestBody SysMenu menu) - { - if (!menuService.checkMenuNameUnique(menu)) - { - return error("新增菜单'" + menu.getMenuName() + "'失败,菜单名称已存在"); - } - else if (UserConstants.YES_FRAME.equals(menu.getIsFrame()) && !StringUtils.ishttp(menu.getPath())) - { - return error("新增菜单'" + menu.getMenuName() + "'失败,地址必须以http(s)://开头"); - } - menu.setCreateBy(SecurityUtils.getUsername()); - return toAjax(menuService.insertMenu(menu)); - } - - /** - * 修改菜单 - */ - @RequiresPermissions("system:menu:edit") - @Log(title = "菜单管理", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@Validated @RequestBody SysMenu menu) - { - if (!menuService.checkMenuNameUnique(menu)) - { - return error("修改菜单'" + menu.getMenuName() + "'失败,菜单名称已存在"); - } - else if (UserConstants.YES_FRAME.equals(menu.getIsFrame()) && !StringUtils.ishttp(menu.getPath())) - { - return error("修改菜单'" + menu.getMenuName() + "'失败,地址必须以http(s)://开头"); - } - else if (menu.getMenuId().equals(menu.getParentId())) - { - return error("修改菜单'" + menu.getMenuName() + "'失败,上级菜单不能选择自己"); - } - menu.setUpdateBy(SecurityUtils.getUsername()); - return toAjax(menuService.updateMenu(menu)); - } - - /** - * 删除菜单 - */ - @RequiresPermissions("system:menu:remove") - @Log(title = "菜单管理", businessType = BusinessType.DELETE) - @DeleteMapping("/{menuId}") - public AjaxResult remove(@PathVariable("menuId") Long menuId) - { - if (menuService.hasChildByMenuId(menuId)) - { - return warn("存在子菜单,不允许删除"); - } - if (menuService.checkMenuExistRole(menuId)) - { - return warn("菜单已分配,不允许删除"); - } - return toAjax(menuService.deleteMenuById(menuId)); - } - - /** - * 获取路由信息 - * - * @return 路由信息 - */ - @GetMapping("getRouters") - public AjaxResult getRouters() - { - Long userId = SecurityUtils.getUserId(); - List<SysMenu> menus = menuService.selectMenuTreeByUserId(userId); - return success(menuService.buildMenus(menus)); - } -} \ No newline at end of file diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysNoticeController.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysNoticeController.java deleted file mode 100644 index 1394158..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysNoticeController.java +++ /dev/null @@ -1,93 +0,0 @@ -package com.hrt.system.controller.sys; - -import java.util.List; - -import com.hrt.system.domain.poji.sys.SysNotice; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import com.hrt.common.core.web.controller.BaseController; -import com.hrt.common.core.web.domain.AjaxResult; -import com.hrt.common.core.web.page.TableDataInfo; -import com.hrt.common.log.annotation.Log; -import com.hrt.common.log.enums.BusinessType; -import com.hrt.common.security.annotation.RequiresPermissions; -import com.hrt.common.security.utils.SecurityUtils; -import com.hrt.system.service.sys.ISysNoticeService; - -/** - * 公告 信息操作处理 - * - * @author jqs - */ -@RestController -@RequestMapping("/notice") -public class SysNoticeController extends BaseController -{ - @Autowired - private ISysNoticeService noticeService; - - /** - * 获取通知公告列表 - */ - @RequiresPermissions("system:notice:list") - @GetMapping("/list") - public TableDataInfo list(SysNotice notice) - { - startPage(); - List<SysNotice> list = noticeService.selectNoticeList(notice); - return getDataTable(list); - } - - /** - * 根据通知公告编号获取详细信息 - */ - @RequiresPermissions("system:notice:query") - @GetMapping(value = "/{noticeId}") - public AjaxResult getInfo(@PathVariable Long noticeId) - { - return success(noticeService.selectNoticeById(noticeId)); - } - - /** - * 新增通知公告 - */ - @RequiresPermissions("system:notice:add") - @Log(title = "通知公告", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@Validated @RequestBody SysNotice notice) - { - notice.setCreateBy(SecurityUtils.getUsername()); - return toAjax(noticeService.insertNotice(notice)); - } - - /** - * 修改通知公告 - */ - @RequiresPermissions("system:notice:edit") - @Log(title = "通知公告", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@Validated @RequestBody SysNotice notice) - { - notice.setUpdateBy(SecurityUtils.getUsername()); - return toAjax(noticeService.updateNotice(notice)); - } - - /** - * 删除通知公告 - */ - @RequiresPermissions("system:notice:remove") - @Log(title = "通知公告", businessType = BusinessType.DELETE) - @DeleteMapping("/{noticeIds}") - public AjaxResult remove(@PathVariable Long[] noticeIds) - { - return toAjax(noticeService.deleteNoticeByIds(noticeIds)); - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysOperlogController.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysOperlogController.java deleted file mode 100644 index f4fcdf6..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysOperlogController.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.hrt.system.controller.sys; - -import java.util.List; -import javax.servlet.http.HttpServletResponse; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -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 com.hrt.common.core.utils.poi.ExcelUtil; -import com.hrt.common.core.web.controller.BaseController; -import com.hrt.common.core.web.domain.AjaxResult; -import com.hrt.common.core.web.page.TableDataInfo; -import com.hrt.common.log.annotation.Log; -import com.hrt.common.log.enums.BusinessType; -import com.hrt.common.security.annotation.InnerAuth; -import com.hrt.common.security.annotation.RequiresPermissions; -import com.hrt.system.api.domain.SysOperLog; -import com.hrt.system.service.user.ISysOperLogService; - -/** - * 操作日志记录 - * - * @author jqs - */ -@RestController -@RequestMapping("/operlog") -public class SysOperlogController extends BaseController -{ - @Autowired - private ISysOperLogService operLogService; - - @RequiresPermissions("system:operlog:list") - @GetMapping("/list") - public TableDataInfo list(SysOperLog operLog) - { - startPage(); - List<SysOperLog> list = operLogService.selectOperLogList(operLog); - return getDataTable(list); - } - - @Log(title = "操作日志", businessType = BusinessType.EXPORT) - @RequiresPermissions("system:operlog:export") - @PostMapping("/export") - public void export(HttpServletResponse response, SysOperLog operLog) - { - List<SysOperLog> list = operLogService.selectOperLogList(operLog); - ExcelUtil<SysOperLog> util = new ExcelUtil<SysOperLog>(SysOperLog.class); - util.exportExcel(response, list, "操作日志"); - } - - @Log(title = "操作日志", businessType = BusinessType.DELETE) - @RequiresPermissions("system:operlog:remove") - @DeleteMapping("/{operIds}") - public AjaxResult remove(@PathVariable Long[] operIds) - { - return toAjax(operLogService.deleteOperLogByIds(operIds)); - } - - @RequiresPermissions("system:operlog:remove") - @Log(title = "操作日志", businessType = BusinessType.CLEAN) - @DeleteMapping("/clean") - public AjaxResult clean() - { - operLogService.cleanOperLog(); - return success(); - } - - @InnerAuth - @PostMapping - public AjaxResult add(@RequestBody SysOperLog operLog) - { - return toAjax(operLogService.insertOperlog(operLog)); - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysPostController.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysPostController.java deleted file mode 100644 index ea3f5b2..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysPostController.java +++ /dev/null @@ -1,131 +0,0 @@ -package com.hrt.system.controller.sys; - -import java.util.List; -import javax.servlet.http.HttpServletResponse; - -import com.hrt.system.domain.poji.user.SysPost; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import com.hrt.common.core.utils.poi.ExcelUtil; -import com.hrt.common.core.web.controller.BaseController; -import com.hrt.common.core.web.domain.AjaxResult; -import com.hrt.common.core.web.page.TableDataInfo; -import com.hrt.common.log.annotation.Log; -import com.hrt.common.log.enums.BusinessType; -import com.hrt.common.security.annotation.RequiresPermissions; -import com.hrt.common.security.utils.SecurityUtils; -import com.hrt.system.service.user.ISysPostService; - -/** - * 岗位信息操作处理 - * - * @author jqs - */ -@RestController -@RequestMapping("/post") -public class SysPostController extends BaseController -{ - @Autowired - private ISysPostService postService; - - /** - * 获取岗位列表 - */ - @RequiresPermissions("system:post:list") - @GetMapping("/list") - public TableDataInfo list(SysPost post) - { - startPage(); - List<SysPost> list = postService.selectPostList(post); - return getDataTable(list); - } - - @Log(title = "岗位管理", businessType = BusinessType.EXPORT) - @RequiresPermissions("system:post:export") - @PostMapping("/export") - public void export(HttpServletResponse response, SysPost post) - { - List<SysPost> list = postService.selectPostList(post); - ExcelUtil<SysPost> util = new ExcelUtil<SysPost>(SysPost.class); - util.exportExcel(response, list, "岗位数据"); - } - - /** - * 根据岗位编号获取详细信息 - */ - @RequiresPermissions("system:post:query") - @GetMapping(value = "/{postId}") - public AjaxResult getInfo(@PathVariable Long postId) - { - return success(postService.selectPostById(postId)); - } - - /** - * 新增岗位 - */ - @RequiresPermissions("system:post:add") - @Log(title = "岗位管理", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@Validated @RequestBody SysPost post) - { - if (!postService.checkPostNameUnique(post)) - { - return error("新增岗位'" + post.getPostName() + "'失败,岗位名称已存在"); - } - else if (!postService.checkPostCodeUnique(post)) - { - return error("新增岗位'" + post.getPostName() + "'失败,岗位编码已存在"); - } - post.setCreateBy(SecurityUtils.getUsername()); - return toAjax(postService.insertPost(post)); - } - - /** - * 修改岗位 - */ - @RequiresPermissions("system:post:edit") - @Log(title = "岗位管理", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@Validated @RequestBody SysPost post) - { - if (!postService.checkPostNameUnique(post)) - { - return error("修改岗位'" + post.getPostName() + "'失败,岗位名称已存在"); - } - else if (!postService.checkPostCodeUnique(post)) - { - return error("修改岗位'" + post.getPostName() + "'失败,岗位编码已存在"); - } - post.setUpdateBy(SecurityUtils.getUsername()); - return toAjax(postService.updatePost(post)); - } - - /** - * 删除岗位 - */ - @RequiresPermissions("system:post:remove") - @Log(title = "岗位管理", businessType = BusinessType.DELETE) - @DeleteMapping("/{postIds}") - public AjaxResult remove(@PathVariable Long[] postIds) - { - return toAjax(postService.deletePostByIds(postIds)); - } - - /** - * 获取岗位选择框列表 - */ - @GetMapping("/optionselect") - public AjaxResult optionselect() - { - List<SysPost> posts = postService.selectPostAll(); - return success(posts); - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysProfileController.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysProfileController.java deleted file mode 100644 index 3d916e4..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysProfileController.java +++ /dev/null @@ -1,158 +0,0 @@ -package com.hrt.system.controller.sys; - -import java.util.Arrays; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; -import org.springframework.web.multipart.MultipartFile; -import com.hrt.common.core.domain.R; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.common.core.utils.file.FileTypeUtils; -import com.hrt.common.core.utils.file.MimeTypeUtils; -import com.hrt.common.core.web.controller.BaseController; -import com.hrt.common.core.web.domain.AjaxResult; -import com.hrt.common.log.annotation.Log; -import com.hrt.common.log.enums.BusinessType; -import com.hrt.common.security.service.TokenService; -import com.hrt.common.security.utils.SecurityUtils; -import com.hrt.system.api.RemoteFileService; -import com.hrt.system.api.domain.SysFile; -import com.hrt.system.api.domain.SysUser; -import com.hrt.system.api.model.LoginUser; -import com.hrt.system.service.user.ISysUserService; - -/** - * 个人信息 业务处理 - * - * @author jqs - */ -@RestController -@RequestMapping("/user/profile") -public class SysProfileController extends BaseController -{ - @Autowired - private ISysUserService userService; - - @Autowired - private TokenService tokenService; - - @Autowired - private RemoteFileService remoteFileService; - - /** - * 个人信息 - */ - @GetMapping - public AjaxResult profile() - { - String username = SecurityUtils.getUsername(); - SysUser user = userService.selectUserByUserName(username); - AjaxResult ajax = AjaxResult.success(user); - ajax.put("roleGroup", userService.selectUserRoleGroup(username)); - ajax.put("postGroup", userService.selectUserPostGroup(username)); - return ajax; - } - - /** - * 修改用户 - */ - @Log(title = "个人信息", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult updateProfile(@RequestBody SysUser user) - { - LoginUser loginUser = SecurityUtils.getLoginUser(); - SysUser sysUser = loginUser.getSysUser(); - user.setUserName(sysUser.getUserName()); - if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) - { - return error("修改用户'" + user.getUserName() + "'失败,手机号码已存在"); - } - else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) - { - return error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在"); - } - user.setUserId(sysUser.getUserId()); - user.setPassword(null); - user.setAvatar(null); - user.setDeptId(null); - if (userService.updateUserProfile(user) > 0) - { - // 更新缓存用户信息 - loginUser.getSysUser().setNickName(user.getNickName()); - loginUser.getSysUser().setPhonenumber(user.getPhonenumber()); - loginUser.getSysUser().setEmail(user.getEmail()); - loginUser.getSysUser().setSex(user.getSex()); - tokenService.setLoginUser(loginUser); - return success(); - } - return error("修改个人信息异常,请联系管理员"); - } - - /** - * 重置密码 - */ - @Log(title = "个人信息", businessType = BusinessType.UPDATE) - @PutMapping("/updatePwd") - public AjaxResult updatePwd(String oldPassword, String newPassword) - { - String username = SecurityUtils.getUsername(); - SysUser user = userService.selectUserByUserName(username); - String password = user.getPassword(); - if (!SecurityUtils.matchesPassword(oldPassword, password)) - { - return error("修改密码失败,旧密码错误"); - } - if (SecurityUtils.matchesPassword(newPassword, password)) - { - return error("新密码不能与旧密码相同"); - } - if (userService.resetUserPwd(username, SecurityUtils.encryptPassword(newPassword)) > 0) - { - // 更新缓存用户密码 - LoginUser loginUser = SecurityUtils.getLoginUser(); - loginUser.getSysUser().setPassword(SecurityUtils.encryptPassword(newPassword)); - tokenService.setLoginUser(loginUser); - return success(); - } - return error("修改密码异常,请联系管理员"); - } - - /** - * 头像上传 - */ - @Log(title = "用户头像", businessType = BusinessType.UPDATE) - @PostMapping("/avatar") - public AjaxResult avatar(@RequestParam("avatarfile") MultipartFile file) - { - if (!file.isEmpty()) - { - LoginUser loginUser = SecurityUtils.getLoginUser(); - String extension = FileTypeUtils.getExtension(file); - if (!StringUtils.equalsAnyIgnoreCase(extension, MimeTypeUtils.IMAGE_EXTENSION)) - { - return error("文件格式不正确,请上传" + Arrays.toString(MimeTypeUtils.IMAGE_EXTENSION) + "格式"); - } - R<SysFile> fileResult = remoteFileService.upload(file); - if (StringUtils.isNull(fileResult) || StringUtils.isNull(fileResult.getData())) - { - return error("文件服务异常,请联系管理员"); - } - String url = fileResult.getData().getUrl(); - if (userService.updateUserAvatar(loginUser.getUsername(), url)) - { - AjaxResult ajax = AjaxResult.success(); - ajax.put("imgUrl", url); - // 更新缓存用户头像 - loginUser.getSysUser().setAvatar(url); - tokenService.setLoginUser(loginUser); - return ajax; - } - } - return error("上传图片异常,请联系管理员"); - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysRoleController.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysRoleController.java deleted file mode 100644 index 4cca0cb..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysRoleController.java +++ /dev/null @@ -1,240 +0,0 @@ -package com.hrt.system.controller.sys; - -import java.util.List; -import javax.servlet.http.HttpServletResponse; - -import com.hrt.system.domain.poji.user.SysUserRole; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import com.hrt.common.core.utils.poi.ExcelUtil; -import com.hrt.common.core.web.controller.BaseController; -import com.hrt.common.core.web.domain.AjaxResult; -import com.hrt.common.core.web.page.TableDataInfo; -import com.hrt.common.log.annotation.Log; -import com.hrt.common.log.enums.BusinessType; -import com.hrt.common.security.annotation.RequiresPermissions; -import com.hrt.common.security.utils.SecurityUtils; -import com.hrt.system.api.domain.SysDept; -import com.hrt.system.api.domain.SysRole; -import com.hrt.system.api.domain.SysUser; -import com.hrt.system.service.user.ISysDeptService; -import com.hrt.system.service.user.ISysRoleService; -import com.hrt.system.service.user.ISysUserService; - -/** - * 角色信息 - * - * @author jqs - */ -@RestController -@RequestMapping("/role") -public class SysRoleController extends BaseController -{ - @Autowired - private ISysRoleService roleService; - - @Autowired - private ISysUserService userService; - - @Autowired - private ISysDeptService deptService; - - @RequiresPermissions("system:role:list") - @GetMapping("/list") - public TableDataInfo list(SysRole role) - { - startPage(); - List<SysRole> list = roleService.selectRoleList(role); - return getDataTable(list); - } - - @Log(title = "角色管理", businessType = BusinessType.EXPORT) - @RequiresPermissions("system:role:export") - @PostMapping("/export") - public void export(HttpServletResponse response, SysRole role) - { - List<SysRole> list = roleService.selectRoleList(role); - ExcelUtil<SysRole> util = new ExcelUtil<SysRole>(SysRole.class); - util.exportExcel(response, list, "角色数据"); - } - - /** - * 根据角色编号获取详细信息 - */ - @RequiresPermissions("system:role:query") - @GetMapping(value = "/{roleId}") - public AjaxResult getInfo(@PathVariable Long roleId) - { - roleService.checkRoleDataScope(roleId); - return success(roleService.selectRoleById(roleId)); - } - - /** - * 新增角色 - */ - @RequiresPermissions("system:role:add") - @Log(title = "角色管理", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@Validated @RequestBody SysRole role) - { - if (!roleService.checkRoleNameUnique(role)) - { - return error("新增角色'" + role.getRoleName() + "'失败,角色名称已存在"); - } - else if (!roleService.checkRoleKeyUnique(role)) - { - return error("新增角色'" + role.getRoleName() + "'失败,角色权限已存在"); - } - role.setCreateBy(SecurityUtils.getUsername()); - return toAjax(roleService.insertRole(role)); - - } - - /** - * 修改保存角色 - */ - @RequiresPermissions("system:role:edit") - @Log(title = "角色管理", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@Validated @RequestBody SysRole role) - { - roleService.checkRoleAllowed(role); - roleService.checkRoleDataScope(role.getRoleId()); - if (!roleService.checkRoleNameUnique(role)) - { - return error("修改角色'" + role.getRoleName() + "'失败,角色名称已存在"); - } - else if (!roleService.checkRoleKeyUnique(role)) - { - return error("修改角色'" + role.getRoleName() + "'失败,角色权限已存在"); - } - role.setUpdateBy(SecurityUtils.getUsername()); - return toAjax(roleService.updateRole(role)); - } - - /** - * 修改保存数据权限 - */ - @RequiresPermissions("system:role:edit") - @Log(title = "角色管理", businessType = BusinessType.UPDATE) - @PutMapping("/dataScope") - public AjaxResult dataScope(@RequestBody SysRole role) - { - roleService.checkRoleAllowed(role); - roleService.checkRoleDataScope(role.getRoleId()); - return toAjax(roleService.authDataScope(role)); - } - - /** - * 状态修改 - */ - @RequiresPermissions("system:role:edit") - @Log(title = "角色管理", businessType = BusinessType.UPDATE) - @PutMapping("/changeStatus") - public AjaxResult changeStatus(@RequestBody SysRole role) - { - roleService.checkRoleAllowed(role); - roleService.checkRoleDataScope(role.getRoleId()); - role.setUpdateBy(SecurityUtils.getUsername()); - return toAjax(roleService.updateRoleStatus(role)); - } - - /** - * 删除角色 - */ - @RequiresPermissions("system:role:remove") - @Log(title = "角色管理", businessType = BusinessType.DELETE) - @DeleteMapping("/{roleIds}") - public AjaxResult remove(@PathVariable Long[] roleIds) - { - return toAjax(roleService.deleteRoleByIds(roleIds)); - } - - /** - * 获取角色选择框列表 - */ - @RequiresPermissions("system:role:query") - @GetMapping("/optionselect") - public AjaxResult optionselect() - { - return success(roleService.selectRoleAll()); - } - /** - * 查询已分配用户角色列表 - */ - @RequiresPermissions("system:role:list") - @GetMapping("/authUser/allocatedList") - public TableDataInfo allocatedList(SysUser user) - { - startPage(); - List<SysUser> list = userService.selectAllocatedList(user); - return getDataTable(list); - } - - /** - * 查询未分配用户角色列表 - */ - @RequiresPermissions("system:role:list") - @GetMapping("/authUser/unallocatedList") - public TableDataInfo unallocatedList(SysUser user) - { - startPage(); - List<SysUser> list = userService.selectUnallocatedList(user); - return getDataTable(list); - } - - /** - * 取消授权用户 - */ - @RequiresPermissions("system:role:edit") - @Log(title = "角色管理", businessType = BusinessType.GRANT) - @PutMapping("/authUser/cancel") - public AjaxResult cancelAuthUser(@RequestBody SysUserRole userRole) - { - return toAjax(roleService.deleteAuthUser(userRole)); - } - - /** - * 批量取消授权用户 - */ - @RequiresPermissions("system:role:edit") - @Log(title = "角色管理", businessType = BusinessType.GRANT) - @PutMapping("/authUser/cancelAll") - public AjaxResult cancelAuthUserAll(Long roleId, Long[] userIds) - { - return toAjax(roleService.deleteAuthUsers(roleId, userIds)); - } - - /** - * 批量选择用户授权 - */ - @RequiresPermissions("system:role:edit") - @Log(title = "角色管理", businessType = BusinessType.GRANT) - @PutMapping("/authUser/selectAll") - public AjaxResult selectAuthUserAll(Long roleId, Long[] userIds) - { - roleService.checkRoleDataScope(roleId); - return toAjax(roleService.insertAuthUsers(roleId, userIds)); - } - - /** - * 获取对应角色部门树列表 - */ - @RequiresPermissions("system:role:query") - @GetMapping(value = "/deptTree/{roleId}") - public AjaxResult deptTree(@PathVariable("roleId") Long roleId) - { - AjaxResult ajax = AjaxResult.success(); - ajax.put("checkedKeys", deptService.selectDeptListByRoleId(roleId)); - ajax.put("depts", deptService.selectDeptTreeList(new SysDept())); - return ajax; - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysUserController.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysUserController.java deleted file mode 100644 index 5103586..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysUserController.java +++ /dev/null @@ -1,359 +0,0 @@ -package com.hrt.system.controller.sys; - -import java.io.IOException; -import java.util.List; -import java.util.Set; -import java.util.stream.Collectors; -import javax.servlet.http.HttpServletResponse; - -import com.hrt.system.domain.dto.AppMiniLoginDto; -import com.hrt.system.domain.vo.AppMiniLoginVo; -import com.hrt.system.service.member.MemberService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.apache.commons.lang3.ArrayUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import org.springframework.web.multipart.MultipartFile; -import com.hrt.common.core.domain.R; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.common.core.utils.poi.ExcelUtil; -import com.hrt.common.core.web.controller.BaseController; -import com.hrt.common.core.web.domain.AjaxResult; -import com.hrt.common.core.web.page.TableDataInfo; -import com.hrt.common.log.annotation.Log; -import com.hrt.common.log.enums.BusinessType; -import com.hrt.common.security.annotation.InnerAuth; -import com.hrt.common.security.annotation.RequiresPermissions; -import com.hrt.common.security.utils.SecurityUtils; -import com.hrt.system.api.domain.SysDept; -import com.hrt.system.api.domain.SysRole; -import com.hrt.system.api.domain.SysUser; -import com.hrt.system.api.model.LoginUser; -import com.hrt.system.service.sys.ISysConfigService; -import com.hrt.system.service.user.ISysDeptService; -import com.hrt.system.service.user.ISysPermissionService; -import com.hrt.system.service.user.ISysPostService; -import com.hrt.system.service.user.ISysRoleService; -import com.hrt.system.service.user.ISysUserService; - -/** - * 用户信息 - * - * @author jqs - */ -@RestController -@RequestMapping("/user") -@Api("获取用户信息") -public class SysUserController extends BaseController -{ - @Autowired - private ISysUserService userService; - - @Autowired - private ISysRoleService roleService; - - @Autowired - private ISysDeptService deptService; - - @Autowired - private ISysPostService postService; - - @Autowired - private ISysPermissionService permissionService; - - @Autowired - private ISysConfigService configService; - - @Autowired - private MemberService memberService; - - @GetMapping("/test") - public AjaxResult list() - { - SysUser sysUser = userService.selectUserByUserName("admin"); - return AjaxResult.success(sysUser); - } - - /** - * 获取用户列表 - */ - @RequiresPermissions("system:user:list") - @GetMapping("/list") - public TableDataInfo list(SysUser user) - { - startPage(); - List<SysUser> list = userService.selectUserList(user); - return getDataTable(list); - } - - @Log(title = "用户管理", businessType = BusinessType.EXPORT) - @RequiresPermissions("system:user:export") - @PostMapping("/export") - public void export(HttpServletResponse response, SysUser user) - { - List<SysUser> list = userService.selectUserList(user); - ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class); - util.exportExcel(response, list, "用户数据"); - } - - @Log(title = "用户管理", businessType = BusinessType.IMPORT) - @RequiresPermissions("system:user:import") - @PostMapping("/importData") - public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception - { - ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class); - List<SysUser> userList = util.importExcel(file.getInputStream()); - String operName = SecurityUtils.getUsername(); - String message = userService.importUser(userList, updateSupport, operName); - return success(message); - } - - @PostMapping("/importTemplate") - public void importTemplate(HttpServletResponse response) throws IOException - { - ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class); - util.importTemplateExcel(response, "用户数据"); - } - - /** - * 获取当前用户信息 - */ - @InnerAuth - @GetMapping("/info/{username}") - @ApiOperation("获取当前用户信息") - public R<LoginUser> info(@PathVariable("username") String username) - { - SysUser sysUser = userService.selectUserByUserName(username); - if (StringUtils.isNull(sysUser)) - { - return R.fail("用户名或密码错误"); - } - // 角色集合 - Set<String> roles = permissionService.getRolePermission(sysUser); - // 权限集合 - Set<String> permissions = permissionService.getMenuPermission(sysUser); - LoginUser sysUserVo = new LoginUser(); - sysUserVo.setSysUser(sysUser); - sysUserVo.setRoles(roles); - sysUserVo.setPermissions(permissions); - return R.ok(sysUserVo); - } - - /** - * 小程序登录 - */ - @InnerAuth - @GetMapping("/miniLogin") - @ApiOperation("小程序登录") - public R<AppMiniLoginVo> getMemberByCode(@RequestBody AppMiniLoginDto appMiniLoginDto) - { - AppMiniLoginVo appMiniLoginVo = memberService.getMemberByCode(appMiniLoginDto); - if(appMiniLoginVo ==null){ - return R.fail("登录失败!"); - } - return R.ok(appMiniLoginVo); - } - - /** - * 注册用户信息 - */ - @InnerAuth - @PostMapping("/register") - public R<Boolean> register(@RequestBody SysUser sysUser) - { - String username = sysUser.getUserName(); - if (!("true".equals(configService.selectConfigByKey("sys.account.registerUser")))) - { - return R.fail("当前系统没有开启注册功能!"); - } - if (!userService.checkUserNameUnique(sysUser)) - { - return R.fail("保存用户'" + username + "'失败,注册账号已存在"); - } - return R.ok(userService.registerUser(sysUser)); - } - - /** - * 获取用户信息 - * - * @return 用户信息 - */ - @GetMapping("getInfo") - public AjaxResult getInfo() - { - SysUser user = userService.selectUserById(SecurityUtils.getUserId()); - // 角色集合 - Set<String> roles = permissionService.getRolePermission(user); - // 权限集合 - Set<String> permissions = permissionService.getMenuPermission(user); - AjaxResult ajax = AjaxResult.success(); - ajax.put("user", user); - ajax.put("roles", roles); - ajax.put("permissions", permissions); - return ajax; - } - - /** - * 根据用户编号获取详细信息 - */ - @RequiresPermissions("system:user:query") - @GetMapping(value = { "/", "/{userId}" }) - public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId) - { - userService.checkUserDataScope(userId); - AjaxResult ajax = AjaxResult.success(); - List<SysRole> roles = roleService.selectRoleAll(); - ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList())); - ajax.put("posts", postService.selectPostAll()); - if (StringUtils.isNotNull(userId)) - { - SysUser sysUser = userService.selectUserById(userId); - ajax.put(AjaxResult.DATA_TAG, sysUser); - ajax.put("postIds", postService.selectPostListByUserId(userId)); - ajax.put("roleIds", sysUser.getRoles().stream().map(SysRole::getRoleId).collect(Collectors.toList())); - } - return ajax; - } - - /** - * 新增用户 - */ - @RequiresPermissions("system:user:add") - @Log(title = "用户管理", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@Validated @RequestBody SysUser user) - { - if (!userService.checkUserNameUnique(user)) - { - return error("新增用户'" + user.getUserName() + "'失败,登录账号已存在"); - } - else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) - { - return error("新增用户'" + user.getUserName() + "'失败,手机号码已存在"); - } - else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) - { - return error("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在"); - } - user.setCreateBy(SecurityUtils.getUsername()); - user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); - return toAjax(userService.insertUser(user)); - } - - /** - * 修改用户 - */ - @RequiresPermissions("system:user:edit") - @Log(title = "用户管理", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@Validated @RequestBody SysUser user) - { - userService.checkUserAllowed(user); - userService.checkUserDataScope(user.getUserId()); - if (!userService.checkUserNameUnique(user)) - { - return error("修改用户'" + user.getUserName() + "'失败,登录账号已存在"); - } - else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) - { - return error("修改用户'" + user.getUserName() + "'失败,手机号码已存在"); - } - else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) - { - return error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在"); - } - user.setUpdateBy(SecurityUtils.getUsername()); - return toAjax(userService.updateUser(user)); - } - - /** - * 删除用户 - */ - @RequiresPermissions("system:user:remove") - @Log(title = "用户管理", businessType = BusinessType.DELETE) - @DeleteMapping("/{userIds}") - public AjaxResult remove(@PathVariable Long[] userIds) - { - if (ArrayUtils.contains(userIds, SecurityUtils.getUserId())) - { - return error("当前用户不能删除"); - } - return toAjax(userService.deleteUserByIds(userIds)); - } - - /** - * 重置密码 - */ - @RequiresPermissions("system:user:edit") - @Log(title = "用户管理", businessType = BusinessType.UPDATE) - @PutMapping("/resetPwd") - public AjaxResult resetPwd(@RequestBody SysUser user) - { - userService.checkUserAllowed(user); - userService.checkUserDataScope(user.getUserId()); - user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); - user.setUpdateBy(SecurityUtils.getUsername()); - return toAjax(userService.resetPwd(user)); - } - - /** - * 状态修改 - */ - @RequiresPermissions("system:user:edit") - @Log(title = "用户管理", businessType = BusinessType.UPDATE) - @PutMapping("/changeStatus") - public AjaxResult changeStatus(@RequestBody SysUser user) - { - userService.checkUserAllowed(user); - userService.checkUserDataScope(user.getUserId()); - user.setUpdateBy(SecurityUtils.getUsername()); - return toAjax(userService.updateUserStatus(user)); - } - - /** - * 根据用户编号获取授权角色 - */ - @RequiresPermissions("system:user:query") - @GetMapping("/authRole/{userId}") - public AjaxResult authRole(@PathVariable("userId") Long userId) - { - AjaxResult ajax = AjaxResult.success(); - SysUser user = userService.selectUserById(userId); - List<SysRole> roles = roleService.selectRolesByUserId(userId); - ajax.put("user", user); - ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList())); - return ajax; - } - - /** - * 用户授权角色 - */ - @RequiresPermissions("system:user:edit") - @Log(title = "用户管理", businessType = BusinessType.GRANT) - @PutMapping("/authRole") - public AjaxResult insertAuthRole(Long userId, Long[] roleIds) - { - userService.checkUserDataScope(userId); - userService.insertUserAuth(userId, roleIds); - return success(); - } - - /** - * 获取部门树列表 - */ - @RequiresPermissions("system:user:list") - @GetMapping("/deptTree") - public AjaxResult deptTree(SysDept dept) - { - return success(deptService.selectDeptTreeList(dept)); - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysUserOnlineController.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysUserOnlineController.java deleted file mode 100644 index f161de8..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysUserOnlineController.java +++ /dev/null @@ -1,84 +0,0 @@ -package com.hrt.system.controller.sys; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.List; - -import com.hrt.system.domain.poji.user.SysUserOnline; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import com.hrt.common.core.constant.CacheConstants; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.common.core.web.controller.BaseController; -import com.hrt.common.core.web.domain.AjaxResult; -import com.hrt.common.core.web.page.TableDataInfo; -import com.hrt.common.log.annotation.Log; -import com.hrt.common.log.enums.BusinessType; -import com.hrt.common.redis.service.RedisService; -import com.hrt.common.security.annotation.RequiresPermissions; -import com.hrt.system.api.model.LoginUser; -import com.hrt.system.service.user.ISysUserOnlineService; - -/** - * 在线用户监控 - * - * @author jqs - */ -@RestController -@RequestMapping("/online") -public class SysUserOnlineController extends BaseController -{ - @Autowired - private ISysUserOnlineService userOnlineService; - - @Autowired - private RedisService redisService; - - @RequiresPermissions("monitor:online:list") - @GetMapping("/list") - public TableDataInfo list(String ipaddr, String userName) - { - Collection<String> keys = redisService.keys(CacheConstants.LOGIN_TOKEN_KEY + "*"); - List<SysUserOnline> userOnlineList = new ArrayList<SysUserOnline>(); - for (String key : keys) - { - LoginUser user = redisService.getCacheObject(key); - if (StringUtils.isNotEmpty(ipaddr) && StringUtils.isNotEmpty(userName)) - { - userOnlineList.add(userOnlineService.selectOnlineByInfo(ipaddr, userName, user)); - } - else if (StringUtils.isNotEmpty(ipaddr)) - { - userOnlineList.add(userOnlineService.selectOnlineByIpaddr(ipaddr, user)); - } - else if (StringUtils.isNotEmpty(userName)) - { - userOnlineList.add(userOnlineService.selectOnlineByUserName(userName, user)); - } - else - { - userOnlineList.add(userOnlineService.loginUserToUserOnline(user)); - } - } - Collections.reverse(userOnlineList); - userOnlineList.removeAll(Collections.singleton(null)); - return getDataTable(userOnlineList); - } - - /** - * 强退用户 - */ - @RequiresPermissions("monitor:online:forceLogout") - @Log(title = "在线用户", businessType = BusinessType.FORCE) - @DeleteMapping("/{tokenId}") - public AjaxResult forceLogout(@PathVariable String tokenId) - { - redisService.deleteObject(CacheConstants.LOGIN_TOKEN_KEY + tokenId); - return success(); - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppAgreementDto.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppAgreementDto.java deleted file mode 100644 index 4dd76fc..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppAgreementDto.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.hrt.system.domain.dto; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author jqs34 - * @ClassName AppAgreementDto - * @description: TODO - * @date 2023年03月07日 - * @version: 1.0 - */ -@Data -public class AppAgreementDto extends AppBaseDto{ - - - @ApiModelProperty(value = "协议类型1用户协议 2隐私协议") - private Integer type; - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppBaseDto.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppBaseDto.java deleted file mode 100644 index cf7a476..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppBaseDto.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.hrt.system.domain.dto; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author jqs34 - * @ClassName AppBaseDto - * @description: TODO - * @date 2023年04月19日 - * @version: 1.0 - */ -@Data -public class AppBaseDto { - - @ApiModelProperty(value = "userId",hidden = true) - private Long userId; - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppBaseGetDto.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppBaseGetDto.java deleted file mode 100644 index ae79a93..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppBaseGetDto.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.hrt.system.domain.dto; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author jqs34 - * @ClassName AppBaseGetDto - * @description: TODO - * @date 2023年04月19日 - * @version: 1.0 - */ -@Data -public class AppBaseGetDto extends AppBaseDto{ - - @ApiModelProperty(value = "请求对象id") - private String id; - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppGoodsInfoGetDto.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppGoodsInfoGetDto.java deleted file mode 100644 index c679056..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppGoodsInfoGetDto.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.hrt.system.domain.dto; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author jqs34 - * @ClassName AppGoodsInfoGetDto - * @description: TODO - * @date 2023年04月20日 - * @version: 1.0 - */ -@Data -public class AppGoodsInfoGetDto extends AppBaseGetDto{ - - @ApiModelProperty(value = "是否活动跳转0否1是") - private Integer activityFlag; - - @ApiModelProperty(value = "商户id",hidden = true) - private Long shopId; -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppMiniLoginDto.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppMiniLoginDto.java deleted file mode 100644 index 039d698..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppMiniLoginDto.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.hrt.system.domain.dto; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author jqs34 - * @ClassName AppGetUnionid - * @description: TODO - * @date 2023年02月13日 - * @version: 1.0 - */ -@Data -public class AppMiniLoginDto { - - @ApiModelProperty(value = "code") - private String code; - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppNearbyShopDto.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppNearbyShopDto.java deleted file mode 100644 index d74c602..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppNearbyShopDto.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.hrt.system.domain.dto; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author jqs34 - * @ClassName AppNearbyShopDto - * @description: TODO - * @date 2023年04月19日 - * @version: 1.0 - */ -@Data -public class AppNearbyShopDto extends AppBaseDto{ - - - @ApiModelProperty(value = "经度") - private String longitude; - - @ApiModelProperty(value = "维度") - private String latitude; - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppPageDto.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppPageDto.java deleted file mode 100644 index 65eb0f2..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppPageDto.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.hrt.system.domain.dto; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author jqs34 - * @ClassName AppPageDto - * @description: TODO - * @date 2023年04月20日 - * @version: 1.0 - */ -@Data -public class AppPageDto extends AppBaseDto{ - - @ApiModelProperty(name = "pagenum", value = "页码") - private Integer pageNum = 1; - - - @ApiModelProperty(name = "pagesize", value = "每页显示条数") - private Integer pageSize = 20; - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppSearchGoodsPageDto.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppSearchGoodsPageDto.java deleted file mode 100644 index 91eb681..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppSearchGoodsPageDto.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.hrt.system.domain.dto; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author jqs34 - * @ClassName AppShopGoodsPageDto - * @description: TODO - * @date 2023年04月20日 - * @version: 1.0 - */ -@Data -public class AppSearchGoodsPageDto extends AppPageDto{ - - @ApiModelProperty(value = "shopId",hidden = true) - private Long shopId; - - @ApiModelProperty(value = "搜索关键词") - private String keyword; - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppShopGoodsPageDto.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppShopGoodsPageDto.java deleted file mode 100644 index 32cb893..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppShopGoodsPageDto.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.hrt.system.domain.dto; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author jqs34 - * @ClassName AppShopGoodsPageDto - * @description: TODO - * @date 2023年04月20日 - * @version: 1.0 - */ -@Data -public class AppShopGoodsPageDto extends AppPageDto{ - - @ApiModelProperty(value = "shopId",hidden = true) - private Long shopId; - - @ApiModelProperty(value = "搜索关键词") - private String keyword; - - @ApiModelProperty(value = "商品类型1周期2服务3体验4单品") - private Integer goodsType; - - @ApiModelProperty(value = "商品分类id") - private Long goodsClassId; - - @ApiModelProperty(value = "排序方式1.全部2.价格正序3.价格倒序4.销量正序5.销量倒序") - private Integer sort; -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppUserAuthorizeDto.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppUserAuthorizeDto.java deleted file mode 100644 index a995c89..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppUserAuthorizeDto.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.hrt.system.domain.dto; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author jqs34 - * @ClassName AppUserAuthorizeDto - * @description: TODO - * @date 2023年02月13日 - * @version: 1.0 - */ -@Data -public class AppUserAuthorizeDto extends AppBaseDto{ - - @ApiModelProperty(value = "手机iv") - private String phoneIv; - - @ApiModelProperty(value = "手机encryptedData") - private String phoneEncryptedData; - - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtBaseDto.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtBaseDto.java deleted file mode 100644 index 42ee28a..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtBaseDto.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.hrt.system.domain.dto; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author jqs34 - * @ClassName MGTBaseDto - * @description: TODO - * @date 2023年04月21日 - * @version: 1.0 - */ -@Data -public class MgtBaseDto { - - @ApiModelProperty(value = "userId",hidden = true) - private Long userId; - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtBaseGetDto.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtBaseGetDto.java deleted file mode 100644 index f8b487a..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtBaseGetDto.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.hrt.system.domain.dto; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author jqs34 - * @ClassName MgtBaseGetDto - * @description: TODO - * @date 2023年04月21日 - * @version: 1.0 - */ -@Data -public class MgtBaseGetDto extends MgtBaseDto{ - - @ApiModelProperty(value = "请求对象id") - private String id; - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtChangeCoopDto.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtChangeCoopDto.java deleted file mode 100644 index 4c93944..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtChangeCoopDto.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.hrt.system.domain.dto; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author jqs34 - * @ClassName MGTChangeCooperDto - * @description: TODO - * @date 2023年04月21日 - * @version: 1.0 - */ -@Data -public class MgtChangeCoopDto extends MgtBaseDto{ - - @ApiModelProperty(value = "商户id") - private Long shopId; - - @ApiModelProperty("合作开始时间") - private String coopStartTime; - - @ApiModelProperty("合作结束时间") - private String coopEndTime; - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtEditShopDto.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtEditShopDto.java deleted file mode 100644 index 37dd309..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtEditShopDto.java +++ /dev/null @@ -1,124 +0,0 @@ -package com.hrt.system.domain.dto; - - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.util.Date; - -/** - * @author jqs34 - * @ClassName ManageCreateShopDto - * @description: TODO - * @date 2023年04月21日 - * @version: 1.0 - */ -@Data -public class MgtEditShopDto extends MgtBaseDto{ - - - @ApiModelProperty(value = "商户id,新增不传") - private Long shopId; - - @ApiModelProperty("商户名称") - private String shopName; - - @ApiModelProperty("商户类型1.经销商2.代理商") - private Integer shopType; - - @ApiModelProperty("营业开始时间") - private String businessStartTime; - - @ApiModelProperty("营业结束时间") - private String businessEndTime; - - @ApiModelProperty("店主姓名") - private String shopownerName; - - @ApiModelProperty("店主联系方式") - private String shopownerPhone; - - @ApiModelProperty("签约区域") - private String signAreaCode; - - @ApiModelProperty("商户服务电话") - private String shopServicePhone; - - @ApiModelProperty("管辖员工") - private Long belongUserId; - - @ApiModelProperty("所属经销商") - private Long belongShopId; - - @ApiModelProperty("扶持能力1.有2.没有") - private Integer supportingCapacityFlag; - - @ApiModelProperty("店面操作人数1.1人2.1人以上") - private Integer operationPersonFlag; - - @ApiModelProperty("执行力1.强2.弱") - private Integer executiveForceFlag; - - @ApiModelProperty("格局1.大2.小") - private Integer patternFlag; - - @ApiModelProperty("人脉1.宽2.窄") - private Integer connectionFlag; - - @ApiModelProperty("经济能力1.强2.差") - private Integer economicAbilityFlag; - - @ApiModelProperty("与合作商关系1.好2.差") - private Integer relationPartner; - - @ApiModelProperty("曾从事事业") - private String businessHistory; - - @ApiModelProperty("店铺地址省code") - private String shopProvinceCode; - - @ApiModelProperty("店铺地址市code") - private String shopCityCode; - - @ApiModelProperty("店铺地址区code") - private String shopAreaCode; - - @ApiModelProperty("店铺区域全称") - private String shopAreaName; - - @ApiModelProperty("店铺详细地址") - private String shopAddress; - - @ApiModelProperty("店铺经度") - private String shopLongitude; - - @ApiModelProperty("店铺维度") - private String shopLatitude; - - @ApiModelProperty("店铺详情") - private String shopDetail; - - @ApiModelProperty("营销功能1开2关") - private Integer marketingFunctionFlag; - - @ApiModelProperty("领券1开2关") - private Integer platformCouponFlag; - - @ApiModelProperty("生日卡1开2关") - private Integer platformBirthdayFlag; - - @ApiModelProperty("推荐人") - private String recommendPerson; - - @ApiModelProperty("商户标签id 多个用,隔开") - private String shopTagIds; - - @ApiModelProperty("关联用户id 多个用,隔开") - private String relUserIds; - - @ApiModelProperty("商户封面") - private String shopPicture; - - @ApiModelProperty("商户banner 多个用,隔开") - private String shopBanners; -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtEditShopTagDto.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtEditShopTagDto.java deleted file mode 100644 index a38b4de..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtEditShopTagDto.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.hrt.system.domain.dto; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author jqs34 - * @ClassName MgtEditShopTagDto - * @description: TODO - * @date 2023年04月21日 - * @version: 1.0 - */ -@Data -public class MgtEditShopTagDto extends MgtBaseGetDto{ - - @ApiModelProperty("商户标签id 多个用,隔开") - private String shopTagIds; - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtPageDto.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtPageDto.java deleted file mode 100644 index 98385ea..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtPageDto.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.hrt.system.domain.dto; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author jqs34 - * @ClassName AppPageDto - * @description: TODO - * @date 2023年04月20日 - * @version: 1.0 - */ -@Data -public class MgtPageDto extends MgtBaseDto{ - - @ApiModelProperty(name = "pagenum", value = "页码") - private Integer pageNum = 1; - - - @ApiModelProperty(name = "pagesize", value = "每页显示条数") - private Integer pageSize = 20; - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtShopPageDto.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtShopPageDto.java deleted file mode 100644 index c40fdad..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtShopPageDto.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.domain.dto; - -import lombok.Data; - -/** - * @author jqs34 - * @ClassName MgtShopPageDto - * @description: TODO - * @date 2023年04月21日 - * @version: 1.0 - */ -@Data -public class MgtShopPageDto extends MgtPageDto{ - - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/activity/ActivityGoods.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/activity/ActivityGoods.java deleted file mode 100644 index db9f530..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/activity/ActivityGoods.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.hrt.system.domain.poji.activity; - -import java.math.BigDecimal; - -import java.io.Serializable; -import java.util.Date; - - -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * - * </p> - * - * @author jqs - * @since 2023-04-21 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_activity_goods") -public class ActivityGoods extends Model<ActivityGoods> { - - private static final long serialVersionUID = 1L; - - /** - * 活动商品id - */ - @TableId("ag_id") - private Long agId; - /** - * 商品id - */ - @TableField("del_flag") - private Integer delFlag; - /** - * 商品id - */ - @TableField("goods_id") - private String goodsId; - /** - * 活动id - */ - @TableField("activity_id") - private String activityId; - /** - * 活动价格 - */ - @TableField("activity_price") - private BigDecimal activityPrice; - /** - * 活动销售数量 - */ - @TableField("activity_number") - private Integer activityNumber; - /** - * 活动已售数量 - */ - @TableField("sales_number") - private Integer salesNumber; - - /** - * 活动截止时间 - */ - @TableField(value = "activity_deadline") - private Date activityDeadline; - - @Override - protected Serializable pkVal() { - return this.goodsId; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/coupon/Coupon.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/coupon/Coupon.java deleted file mode 100644 index 161a5ac..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/coupon/Coupon.java +++ /dev/null @@ -1,126 +0,0 @@ -package com.hrt.system.domain.poji.coupon; - -import java.math.BigDecimal; -import java.util.Date; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * - * </p> - * - * @author jqs - * @since 2023-04-18 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_coupon") -public class Coupon extends Model<Coupon> { - - private static final long serialVersionUID = 1L; - - /** - * 优惠券id - */ - @TableId("coupon_id") - private String couponId; - /** - * 删除标记 - */ - @TableField("del_flag") - private Integer delFlag; - /** - * 优惠券类型1.满减2.折扣3.代金4.商品 - */ - @TableField("coupon_type") - private Integer couponType; - /** - * 优惠券状态-1删除0禁用1启用 - */ - @TableField("coupon_status") - private Integer couponStatus; - /** - * 优惠券名称 - */ - @TableField("coupon_name") - private String couponName; - /** - * 发送类型1.手动领取2.全部用户3.会员用户4非会员用户5自定义 - */ - @TableField("send_type") - private Integer sendType; - /** - * 发送时间类型1立即2定时 - */ - @TableField("send_time_type") - private Integer sendTimeType; - /** - * 发送时间 - */ - @TableField("send_time") - private Date sendTime; - /** - * 门槛金额 - */ - @TableField("money_threshold") - private BigDecimal moneyThreshold; - /** - * 折扣金额 - */ - @TableField("dicount_money") - private BigDecimal dicountMoney; - /** - * 折扣百分比 - */ - @TableField("discout_percent") - private BigDecimal discoutPercent; - /** - * 使用范围1.全场2.指定商品 - */ - @TableField("use_scope") - private Integer useScope; - /** - * 有效期类型 - */ - @TableField("valid_time_type") - private Integer validTimeType; - /** - * 有效开始时间 - */ - @TableField("valid_start_time") - private Date validStartTime; - /** - * 有效截止时间 - */ - @TableField("valid_end_time") - private Date validEndTime; - /** - * 有效期 - */ - @TableField("valid_day") - private Integer validDay; - @TableField("create_time") - private Date createTime; - @TableField("create_user_id") - private Long createUserId; - @TableField("update_time") - private Date updateTime; - @TableField("update_user_id") - private Long updateUserId; - - - @Override - protected Serializable pkVal() { - return this.couponId; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/coupon/CouponRelGoods.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/coupon/CouponRelGoods.java deleted file mode 100644 index abf8c31..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/coupon/CouponRelGoods.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.hrt.system.domain.poji.coupon; - -import com.baomidou.mybatisplus.annotation.IdType;; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * 优惠券商品关联 - * </p> - * - * @author jqs - * @since 2023-04-18 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_coupon_rel_goods") -public class CouponRelGoods extends Model<CouponRelGoods> { - - private static final long serialVersionUID = 1L; - - @TableId(value = "id", type = IdType.AUTO) - private Long id; - /** - * 删除标记 - */ - @TableField("del_flag") - private Integer delFlag; - /** - * 优惠券id - */ - @TableField("coupon_id") - private String couponId; - /** - * 商品id - */ - @TableField("goods_id") - private String goodsId; - - - @Override - protected Serializable pkVal() { - return this.id; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/coupon/CouponRelUser.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/coupon/CouponRelUser.java deleted file mode 100644 index 289ebd1..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/coupon/CouponRelUser.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.hrt.system.domain.poji.coupon; - -import com.baomidou.mybatisplus.annotation.IdType;; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * 优惠券用户关联 - * </p> - * - * @author jqs - * @since 2023-04-18 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_coupon_rel_user") -public class CouponRelUser extends Model<CouponRelUser> { - - private static final long serialVersionUID = 1L; - - @TableId(value = "id", type = IdType.AUTO) - private Long id; - /** - * 删除标记 - */ - @TableField("del_flag") - private Integer delFlag; - /** - * 优惠券id - */ - @TableField("coupon_id") - private String couponId; - /** - * 用户id - */ - @TableField("user_id") - private Long userId; - - - @Override - protected Serializable pkVal() { - return this.id; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/coupon/CouponTotal.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/coupon/CouponTotal.java deleted file mode 100644 index 8a0a2a4..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/coupon/CouponTotal.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.hrt.system.domain.poji.coupon; - -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * - * </p> - * - * @author jqs - * @since 2023-04-18 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_coupon_total") -public class CouponTotal extends Model<CouponTotal> { - - private static final long serialVersionUID = 1L; - - /** - * 优惠券id - */ - @TableId("coupon_id") - private String couponId; - /** - * 优惠券发放数量 - */ - @TableField("send_count") - private Integer sendCount; - /** - * 优惠券发放人数 - */ - @TableField("send_user_count") - private Integer sendUserCount; - - - @Override - protected Serializable pkVal() { - return this.couponId; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/goods/Goods.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/goods/Goods.java deleted file mode 100644 index 8dd59df..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/goods/Goods.java +++ /dev/null @@ -1,131 +0,0 @@ -package com.hrt.system.domain.poji.goods; - -import com.baomidou.mybatisplus.annotation.IdType;; -import java.math.BigDecimal; -import java.util.Date; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * 商品表 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_goods") -public class Goods extends Model<Goods> { - - private static final long serialVersionUID = 1L; - - /** - * 商品id - */ - @TableId(value = "goods_id", type = IdType.AUTO) - private String goodsId; - /** - * 删除标记 - */ - @TableField("del_flag") - private String delFlag; - /** - * 商品状态-1删除1上架2下架 - */ - @TableField("goods_status") - private Integer goodsStatus; - /** - * 商品类型1周期2服务3体验4单品 - */ - @TableField("goods_type") - private Integer goodsType; - - @TableField("create_time") - private Date createTime; - - @TableField("create_user_id") - private Long createUserId; - - @TableField("update_time") - private Date updateTime; - - @TableField("update_user_id") - private Long updateUserId; - /** - * 商品分类id - */ - @TableField("goods_class_id") - private Integer goodsClassId; - /** - * 商品名称 - */ - @TableField("goods_name") - private String goodsName; - /** - * 周期次数标记0否1是 - */ - @TableField("cycle_num_flag") - private Integer cycleNumFlag; - /** - * 服务次数 - */ - @TableField("service_num") - private Integer serviceNum; - /** - * 商品简介 - */ - @TableField("goods_introduction") - private String goodsIntroduction; - /** - * 建议售价 - */ - @TableField("sales_price") - private BigDecimal salesPrice; - /** - * 最低售价 - */ - @TableField("mininum_price") - private BigDecimal mininumPrice; - /** - * 订金标记0否1是 - */ - @TableField("subscription_flag") - private Integer subscriptionFlag; - /** - * 订金 - */ - private BigDecimal subscription; - /** - * 商品详情 - */ - @TableField("goods_detail") - private String goodsDetail; - /** - * 是否推荐0否1是 - */ - @TableField("recommend_flag") - private Integer recommendFlag; - - /** - * 商品调理问题 - */ - @TableField("goods_nurses") - private String goodsNurses; - - - @Override - protected Serializable pkVal() { - return this.goodsId; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/goods/GoodsFile.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/goods/GoodsFile.java deleted file mode 100644 index 30762e6..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/goods/GoodsFile.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.hrt.system.domain.poji.goods; - -import com.baomidou.mybatisplus.annotation.IdType;; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * 商品图片 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_goods_file") -public class GoodsFile extends Model<GoodsFile> { - - private static final long serialVersionUID = 1L; - - @TableId(value = "id", type = IdType.AUTO) - private Long id; - /** - * 删除标记 - */ - @TableField("del_flag") - private Integer delFlag; - /** - * 商品id - */ - @TableField("goods_id") - private String goodsId; - /** - * 图片类型1封面2视频3banner - */ - @TableField("file_type") - private Integer fileType; - /** - * 图片地址 - */ - @TableField("file_url") - private String fileUrl; - - - @Override - protected Serializable pkVal() { - return this.id; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/goods/GoodsRelNurse.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/goods/GoodsRelNurse.java deleted file mode 100644 index fe5174a..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/goods/GoodsRelNurse.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.hrt.system.domain.poji.goods; - -import com.baomidou.mybatisplus.annotation.IdType;; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * 商品调理问题 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_goods_rel_nurse") -public class GoodsRelNurse extends Model<GoodsRelNurse> { - - private static final long serialVersionUID = 1L; - - @TableId(value = "id", type = IdType.AUTO) - private Long id; - /** - * 删除标记 - */ - @TableField("del_flag") - private Integer delFlag; - /** - * 商品id - */ - @TableField("goods_id") - private String goodsId; - /** - * 调理问题id - */ - @TableField("nurse") - private String nurse; - - - @Override - protected Serializable pkVal() { - return this.id; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/goods/GoodsRelTag.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/goods/GoodsRelTag.java deleted file mode 100644 index e4da94d..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/goods/GoodsRelTag.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.hrt.system.domain.poji.goods; - -import com.baomidou.mybatisplus.annotation.IdType;; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * 商品标签 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_goods_rel_tag") -public class GoodsRelTag extends Model<GoodsRelTag> { - - private static final long serialVersionUID = 1L; - - @TableId(value = "id", type = IdType.AUTO) - private Long id; - /** - * 删除标记 - */ - @TableField("del_flag") - private Integer delFlag; - @TableField("goods_id") - private String goodsId; - @TableField("tag_id") - private Long tagId; - - - @Override - protected Serializable pkVal() { - return this.id; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/goods/GoodsTotal.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/goods/GoodsTotal.java deleted file mode 100644 index 9dc293c..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/goods/GoodsTotal.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.hrt.system.domain.poji.goods; - -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * - * </p> - * - * @author jqs - * @since 2023-04-18 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_goods_total") -public class GoodsTotal extends Model<GoodsTotal> { - - private static final long serialVersionUID = 1L; - - @TableId("goods_id") - private String goodsId; - /** - * 购买次数统计 - */ - @TableField("buy_count") - private Integer buyCount; - /** - * 购买数量统计 - */ - @TableField("buy_num_count") - private Integer buyNumCount; - /** - * 购买人数统计 - */ - @TableField("buy_user_count") - private Integer buyUserCount; - - - @Override - protected Serializable pkVal() { - return this.goodsId; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/member/Member.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/member/Member.java deleted file mode 100644 index da7f1f8..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/member/Member.java +++ /dev/null @@ -1,123 +0,0 @@ -package com.hrt.system.domain.poji.member; - -import java.util.Date; -import com.baomidou.mybatisplus.annotation.TableField; -import java.io.Serializable; - - -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * - * </p> - * - * @author jqs - * @since 2023-04-19 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_member") -public class Member extends Model<Member> { - - private static final long serialVersionUID = 1L; - - /** - * 用户id - */ - @TableId("user_id") - private Long userId; - /** - * 删除标记 - */ - @TableField("del_flag") - private Integer delFlag; - /** - * 会员id - */ - @TableField("member_id") - private String memberId; - /** - * 会员编号 - */ - @TableField("member_no") - private String memberNo; - /** - * 微信openid - */ - @TableField("wx_openid") - private String wxOpenid; - /** - * 小程序openid - */ - @TableField("mini_openid") - private String miniOpenid; - /** - * 微信unionid - */ - @TableField("wx_unionid") - private String wxUnionid; - /** - * 关联商户id - */ - @TableField("realtion_shop_id") - private Long realtionShopId; - /** - * 真实姓名 - */ - @TableField("real_name") - private String realName; - /** - * 手机号 - */ - private String mobile; - /** - * 性别0未知1男2女 - */ - private Integer gender; - /** - * 推荐人 - */ - private String referrer; - /** - * 顾客来源 - */ - @TableField("customer_source") - private String customerSource; - /** - * 等级 - */ - private String level; - /** - * 生日 - */ - private String birthday; - /** - * 创建时间 - */ - @TableField("create_time") - private Date createTime; - /** - * 更新时间 - */ - @TableField("update_time") - private Date updateTime; - /** - * 更新用户id - */ - @TableField("update_user_id") - private Integer updateUserId; - - - @Override - protected Serializable pkVal() { - return this.userId; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/member/MemberArchive.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/member/MemberArchive.java deleted file mode 100644 index 09544c8..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/member/MemberArchive.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.hrt.system.domain.poji.member; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * 会员档案信息 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_member_archive") -public class MemberArchive extends Model<MemberArchive> { - - private static final long serialVersionUID = 1L; - - @TableId(value = "id", type = IdType.AUTO) - private Long id; - /** - * 删除标记 - */ - @TableField("del_flag") - private Integer delFlag; - /** - * 用户id - */ - @TableField("user_id") - private Long userId; - /** - * 字段id - */ - @TableField("field_id") - private Long fieldId; - /** - * 值 - */ - @TableField("field_value") - private String fieldValue; - - - @Override - protected Serializable pkVal() { - return this.id; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/member/MemberArchiveFields.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/member/MemberArchiveFields.java deleted file mode 100644 index 3995843..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/member/MemberArchiveFields.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.hrt.system.domain.poji.member; - -import com.baomidou.mybatisplus.annotation.IdType;; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * 档案字段 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_member_archive_fields") -public class MemberArchiveFields extends Model<MemberArchiveFields> { - - private static final long serialVersionUID = 1L; - - @TableId(value = "id", type = IdType.AUTO) - private Long id; - /** - * 删除标记 - */ - @TableField("del_flag") - private String delFlag; - /** - * 字段名称 - */ - @TableField("field_name") - private String fieldName; - /** - * 字段类型1.文字输入2.数字输入3.字母输入4.无限制输入5.年月日选择6.选项 - */ - @TableField("field_type") - private Integer fieldType; - /** - * 是否必填0否1是 - */ - @TableField("required_flag") - private Integer requiredFlag; - /** - * 字段排序 - */ - @TableField("field_sort") - private String fieldSort; - /** - * 输入提示 - */ - @TableField("input_tip") - private String inputTip; - /** - * 选项集合 - */ - @TableField("option_values") - private String optionValues; - - - @Override - protected Serializable pkVal() { - return this.id; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/member/MemberNurse.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/member/MemberNurse.java deleted file mode 100644 index 43afc30..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/member/MemberNurse.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.hrt.system.domain.poji.member; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.io.Serializable; - -/** - * <p> - * 用户调理问题 - * </p> - * - * @author jqs - * @since 2023-04-20 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_member_nurse") -public class MemberNurse extends Model<MemberNurse> { - - private static final long serialVersionUID = 1L; - - @TableId(value = "id", type = IdType.AUTO) - private Integer id; - /** - * 删除标记 - */ - @TableField("del_flag") - private Integer delFlag; - /** - * 用户id - */ - @TableField("user_id") - private Integer userId; - /** - * 调理问题 - */ - private String nurse; - - - @Override - protected Serializable pkVal() { - return this.id; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/member/UserCoupon.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/member/UserCoupon.java deleted file mode 100644 index 3553ca0..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/member/UserCoupon.java +++ /dev/null @@ -1,141 +0,0 @@ -package com.hrt.system.domain.poji.member; - -import com.baomidou.mybatisplus.annotation.IdType;; -import java.math.BigDecimal; -import java.util.Date; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * - * </p> - * - * @author jqs - * @since 2023-04-18 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_user_coupon") -public class UserCoupon extends Model<UserCoupon> { - - private static final long serialVersionUID = 1L; - - @TableId(value = "id", type = IdType.AUTO) - private Long id; - /** - * 删除标记 - */ - @TableField("del_flag") - private Integer delFlag; - /** - * 优惠券id - */ - @TableField("coupon_id") - private String couponId; - /** - * 用户id - */ - @TableField("user_id") - private Long userId; - /** - * 优惠券类型1.满减2.折扣3.代金4.商品 - */ - @TableField("coupon_type") - private Integer couponType; - /** - * 优惠券状态-1删除0已过期1已领取2已使用 - */ - @TableField("coupon_status") - private Integer couponStatus; - /** - * 优惠券名称 - */ - @TableField("coupon_name") - private String couponName; - /** - * 发送类型1.手动领取2.全部用户3.会员用户4非会员用户5自定义 - */ - @TableField("send_type") - private Integer sendType; - /** - * 发送时间类型1立即2定时 - */ - @TableField("send_time_type") - private Integer sendTimeType; - /** - * 发送时间 - */ - @TableField("send_time") - private Date sendTime; - /** - * 门槛金额 - */ - @TableField("money_threshold") - private BigDecimal moneyThreshold; - /** - * 折扣金额 - */ - @TableField("dicount_money") - private BigDecimal dicountMoney; - /** - * 折扣百分比 - */ - @TableField("discout_percent") - private BigDecimal discoutPercent; - /** - * 使用范围1.全场2.指定商品 - */ - @TableField("use_scope") - private Integer useScope; - /** - * 有效期类型 - */ - @TableField("valid_time_type") - private Integer validTimeType; - /** - * 有效开始时间 - */ - @TableField("valid_start_time") - private Date validStartTime; - /** - * 有效截止时间 - */ - @TableField("valid_end_time") - private Date validEndTime; - /** - * 有效期 - */ - @TableField("valid_day") - private Integer validDay; - /** - * 获取时间 - */ - @TableField("receive_time") - private Date receiveTime; - /** - * 使用时间 - */ - @TableField("user_time") - private Date userTime; - /** - * 使用有效期 - */ - @TableField("deadline_time") - private Date deadlineTime; - - - @Override - protected Serializable pkVal() { - return this.id; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/order/ConsumerGoods.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/order/ConsumerGoods.java deleted file mode 100644 index 91f3eae..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/order/ConsumerGoods.java +++ /dev/null @@ -1,112 +0,0 @@ -package com.hrt.system.domain.poji.order; - -import java.util.Date; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * 服务 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_consumer_goods") -public class ConsumerGoods extends Model<ConsumerGoods> { - - private static final long serialVersionUID = 1L; - - /** - * 服务id - */ - @TableId("consumer_goods_id") - private String consumerGoodsId; - /** - * 删除标记 - */ - @TableField("del_flag") - private Integer delFlag; - /** - * 服务状态-1删除1未完成2完成 - */ - @TableField("service_status") - private Integer serviceStatus; - /** - * 商户id - */ - @TableField("shop_id") - private Long shopId; - /** - * 用户id - */ - @TableField("user_id") - private Long userId; - /** - * 订单id - */ - @TableField("order_id") - private String orderId; - /** - * 订单商品id - */ - @TableField("order_goods_id") - private String orderGoodsId; - /** - * 商品id - */ - @TableField("goods_id") - private String goodsId; - /** - * 商品名称 - */ - @TableField("goods_name") - private String goodsName; - /** - * 周期标记 - */ - @TableField("cycle_num_flag") - private Integer cycleNumFlag; - /** - * 服务次数 - */ - @TableField("service_num") - private Integer serviceNum; - /** - * 消耗次数 - */ - @TableField("used_num") - private Integer usedNum; - /** - * 完成时间 - */ - @TableField("complete_time") - private Date completeTime; - /** - * 创建时间 - */ - @TableField("create_time") - private Date createTime; - /** - * 使用时间 - */ - @TableField("use_time") - private String useTime; - - - @Override - protected Serializable pkVal() { - return this.consumerGoodsId; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/order/Order.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/order/Order.java deleted file mode 100644 index 476535f..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/order/Order.java +++ /dev/null @@ -1,148 +0,0 @@ -package com.hrt.system.domain.poji.order; - -import java.math.BigDecimal; -import java.util.Date; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * 订单 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_order") -public class Order extends Model<Order> { - - private static final long serialVersionUID = 1L; - - /** - * 订单id - */ - @TableId("order_id") - private String orderId; - /** - * 删除标记 - */ - @TableField("del_flag") - private Integer delFlag; - /** - * 订单状态-1.删除0.已取消1.待支付2.待核销3.已完成 - */ - @TableField("order_status") - private Integer orderStatus; - /** - * 订单编号 - */ - @TableField("order_no") - private String orderNo; - /** - * 订单来源1.商城2.秒杀活动3.线下创建 - */ - @TableField("order_from") - private Integer orderFrom; - /** - * 商户id - */ - @TableField("shop_id") - private Long shopId; - /** - * 购买用户id - */ - @TableField("user_id") - private Long userId; - /** - * 订单金额 - */ - @TableField("order_money") - private BigDecimal orderMoney; - /** - * 优惠券金额 - */ - @TableField("coupon_money") - private BigDecimal couponMoney; - /** - * 优惠金额 - */ - @TableField("discount_money") - private BigDecimal discountMoney; - /** - * 应收金额 - */ - @TableField("receivable_money") - private BigDecimal receivableMoney; - /** - * 支付类型1.全款2.订金 - */ - @TableField("pay_type") - private Integer payType; - /** - * 支付金额 - */ - @TableField("pay_money") - private BigDecimal payMoney; - /** - * 线上支付金额 - */ - @TableField("online_pay_money") - private BigDecimal onlinePayMoney; - /** - * 线下支付金额 - */ - @TableField("offline_pay_money") - private BigDecimal offlinePayMoney; - /** - * 订单备注 - */ - @TableField("order_remark") - private String orderRemark; - /** - * 商品信息 - */ - @TableField("goods_info") - private String goodsInfo; - /** - * 创建时间 - */ - @TableField("create_time") - private Date createTime; - /** - * 支付时间 - */ - @TableField("pay_time") - private Date payTime; - /** - * 核销时间 - */ - @TableField("use_time") - private Date useTime; - /** - * 取消时间 - */ - @TableField("cancel_time") - private Date cancelTime; - /** - * 核销用户id - */ - @TableField("use_user_id") - private Long useUserId; - - - @Override - protected Serializable pkVal() { - return this.orderId; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/order/OrderGoods.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/order/OrderGoods.java deleted file mode 100644 index 8dbfc77..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/order/OrderGoods.java +++ /dev/null @@ -1,97 +0,0 @@ -package com.hrt.system.domain.poji.order; - -import java.math.BigDecimal; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * 订单商品 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_order_goods") -public class OrderGoods extends Model<OrderGoods> { - - private static final long serialVersionUID = 1L; - - /** - * 订单商品id - */ - @TableId("order_goods_id") - private String orderGoodsId; - /** - * 删除标记 - */ - @TableField("del_flag") - private Integer delFlag; - /** - * 订单id - */ - @TableField("order_id") - private String orderId; - /** - * 商品id - */ - @TableField("goods_id") - private String goodsId; - /** - * 购买数量 - */ - @TableField("buy_num") - private Integer buyNum; - /** - * 优惠券id - */ - @TableField("coupon_id") - private String couponId; - /** - * 商品售价 - */ - @TableField("goods_price") - private BigDecimal goodsPrice; - /** - * 商品总价 - */ - @TableField("goods_total_money") - private BigDecimal goodsTotalMoney; - /** - * 商品应收金额 - */ - @TableField("goods_receivable_money") - private BigDecimal goodsReceivableMoney; - /** - * 周期次数标记 - */ - @TableField("cycle_num_flag") - private Integer cycleNumFlag; - /** - * 服务次数 - */ - @TableField("service_num") - private Integer serviceNum; - /** - * 商品类型1周期2服务3体验4单品 - */ - @TableField("goods_type") - private Integer goodsType; - - - @Override - protected Serializable pkVal() { - return this.orderGoodsId; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/order/ShoppingCart.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/order/ShoppingCart.java deleted file mode 100644 index 72b1081..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/order/ShoppingCart.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.hrt.system.domain.poji.order; - -import com.baomidou.mybatisplus.annotation.IdType;; -import java.util.Date; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * 购物车 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_shopping_cart") -public class ShoppingCart extends Model<ShoppingCart> { - - private static final long serialVersionUID = 1L; - - @TableId(value = "id", type = IdType.AUTO) - private Long id; - /** - * 删除标记0否1是 - */ - @TableField("del_flag") - private Integer delFlag; - /** - * 用户id - */ - @TableField("user_id") - private Long userId; - /** - * 商户id - */ - @TableField("shop_id") - private Long shopId; - /** - * 商品id - */ - @TableField("goods_id") - private String goodsId; - /** - * 购买数量 - */ - @TableField("buy_num") - private Integer buyNum; - /** - * 创建时间 - */ - @TableField("create_time") - private Date createTime; - /** - * 更新时间 - */ - @TableField("update_time") - private Date updateTime; - - - @Override - protected Serializable pkVal() { - return this.id; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/order/UserServiceRecord.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/order/UserServiceRecord.java deleted file mode 100644 index d5b4528..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/order/UserServiceRecord.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.hrt.system.domain.poji.order; - -import com.baomidou.mybatisplus.annotation.IdType;; -import java.util.Date; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * 服务记录 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_user_service_record") -public class UserServiceRecord extends Model<UserServiceRecord> { - - private static final long serialVersionUID = 1L; - - @TableId(value = "id", type = IdType.AUTO) - private Long id; - /** - * 删除标记 - */ - @TableField("del_flag") - private Integer delFlag; - /** - * 用户id - */ - @TableField("user_id") - private Long userId; - /** - * 服务id - */ - @TableField("consumer_goods_ids") - private String consumerGoodsIds; - /** - * 服务名称 - */ - @TableField("consumer_goods_names") - private String consumerGoodsNames; - /** - * 创建时间 - */ - @TableField("create_time") - private Date createTime; - /** - * 服务类型1.周期2.服务3.体验 - */ - @TableField("service_type") - private Integer serviceType; - - - @Override - protected Serializable pkVal() { - return this.id; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/MemberTask.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/MemberTask.java deleted file mode 100644 index 95af881..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/MemberTask.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.hrt.system.domain.poji.shop; - -import java.util.Date; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * 会员跟进任务 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_member_task") -public class MemberTask extends Model<MemberTask> { - - private static final long serialVersionUID = 1L; - - @TableId("task_id") - private String taskId; - @TableField("del_flag") - private Integer delFlag; - @TableField("shop_id") - private Long shopId; - @TableField("user_id") - private Long userId; - @TableField("task_date") - private Date taskDate; - @TableField("task_content") - private String taskContent; - @TableField("create_time") - private Date createTime; - - - @Override - protected Serializable pkVal() { - return this.taskId; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/MemberTaskRecord.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/MemberTaskRecord.java deleted file mode 100644 index 327a9de..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/MemberTaskRecord.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.hrt.system.domain.poji.shop; - -import com.baomidou.mybatisplus.annotation.IdType;; -import java.util.Date; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * 会员跟进任务记录 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_member_task_record") -public class MemberTaskRecord extends Model<MemberTaskRecord> { - - private static final long serialVersionUID = 1L; - - @TableId(value = "id", type = IdType.AUTO) - private Long id; - @TableField("del_flag") - private Integer delFlag; - @TableField("task_id") - private Long taskId; - @TableField("user_id") - private Long userId; - @TableField("follow_type") - private Integer followType; - @TableField("call_time") - private Date callTime; - @TableField("follow_content") - private String followContent; - - - @Override - protected Serializable pkVal() { - return this.id; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/Shop.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/Shop.java deleted file mode 100644 index f6eca28..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/Shop.java +++ /dev/null @@ -1,270 +0,0 @@ -package com.hrt.system.domain.poji.shop; - -import com.baomidou.mybatisplus.annotation.IdType;; -import java.util.Date; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * 商户表 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_shop") -public class Shop extends Model<Shop> { - - private static final long serialVersionUID = 1L; - - /** - * 商户id - */ - @TableId(value = "shop_id", type = IdType.AUTO) - private Long shopId; - /** - * 删除标记 - */ - @TableField("del_flag") - private String delFlag; - /** - * 商户状态-1删除0冻结1正常2终止合作 - */ - @TableField("shop_status") - private Integer shopStatus; - @TableField("create_time") - private Date createTime; - @TableField("create_user_id") - private Long createUserId; - @TableField("update_time") - private Date updateTime; - @TableField("update_user_id") - private Long updateUserId; - /** - * 商户名称 - */ - @TableField("shop_name") - private String shopName; - /** - * 商户编号 - */ - @TableField("shop_number") - private String shopNumber; - /** - * 商户类型1.经销商2.代理商 - */ - @TableField("shop_type") - private Integer shopType; - /** - * 营业开始时间 - */ - @TableField("business_start_time") - private String businessStartTime; - /** - * 营业结束时间 - */ - @TableField("business_end_time") - private String businessEndTime; - /** - * 店主姓名 - */ - @TableField("shopowner_name") - private String shopownerName; - /** - * 店主联系方式 - */ - @TableField("shopowner_phone") - private String shopownerPhone; - /** - * 签约时间 - */ - @TableField("sign_time") - private Date signTime; - /** - * 签约省code - */ - @TableField("sign_province_code") - private String signProvinceCode; - /** - * 签约市code - */ - @TableField("sign_city_code") - private String signCityCode; - /** - * 签约区域code - */ - @TableField("sign_area_code") - private String signAreaCode; - /** - * 签约区域全称 - */ - @TableField("sign_area_name") - private String signAreaName; - - /** - * 商户服务电话 - */ - @TableField("shop_service_phone") - private String shopServicePhone; - /** - * 归属员工 - */ - @TableField("belong_user_id") - private Long belongUserId; - /** - * 归属经销商 - */ - @TableField("belong_shop_id") - private Long belongShopId; - /** - * 扶持能力1.有2.没有 - */ - @TableField("supporting_capacity_flag") - private Integer supportingCapacityFlag; - /** - * 店面操作人数1.1人2.1人以上 - */ - @TableField("operation_person_flag") - private Integer operationPersonFlag; - /** - * 执行力1.强2.弱 - */ - @TableField("executive_force_flag") - private Integer executiveForceFlag; - /** - * 格局1.大2.小 - */ - @TableField("pattern_flag") - private Integer patternFlag; - /** - * 人脉1.宽2.窄 - */ - @TableField("connection_flag") - private Integer connectionFlag; - /** - * 经济能力1.强2.差 - */ - @TableField("economic_ability_flag") - private Integer economicAbilityFlag; - /** - * 与合作商关系1.好2.差 - */ - @TableField("relation_partner") - private Integer relationPartner; - /** - * 曾从事事业 - */ - @TableField("business_history") - private String businessHistory; - /** - * 店铺地址省code - */ - @TableField("shop_province_code") - private String shopProvinceCode; - /** - * 店铺地址市code - */ - @TableField("shop_city_code") - private String shopCityCode; - /** - * 店铺地址区code - */ - @TableField("shop_area_code") - private String shopAreaCode; - /** - * 店铺区域全称 - */ - @TableField("shop_area_name") - private String shopAreaName; - /** - * 店铺详细地址 - */ - @TableField("shop_address") - private String shopAddress; - /** - * 店铺经度 - */ - @TableField("shop_longitude") - private String shopLongitude; - /** - * 店铺维度 - */ - @TableField("shop_latitude") - private String shopLatitude; - /** - * 店铺详情 - */ - @TableField("shop_detail") - private String shopDetail; - /** - * 营销功能1开2关 - */ - @TableField("marketing_function_flag") - private Integer marketingFunctionFlag; - /** - * 领券1开2关 - */ - @TableField("platform_coupon_flag") - private Integer platformCouponFlag; - /** - * 生日卡1开2关 - */ - @TableField("platform_birthday_flag") - private Integer platformBirthdayFlag; - /** - * 店铺设置状态 - */ - @TableField("shop_custom_status") - private String shopCustomStatus; - /** - * 推荐人 - */ - @TableField("recommend_person") - private String recommendPerson; - - - /** - * 合作截止时间 - */ - @TableField("cooperation_end_time") - private Date cooperationEndTime; - /** - * 合作开始时间 - */ - @TableField("cooperation_start_time") - private Date cooperationStartTime; - /** - * 商户标签 - */ - @TableField("shop_tags") - private String shopTags; - - /** - * 签约人 - */ - @TableField("sign_user_id") - private Long signUserId; - - /** - * 来源渠道 - */ - @TableField("shop_source") - private String shopSource; - - @Override - protected Serializable pkVal() { - return this.shopId; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopCertificate.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopCertificate.java deleted file mode 100644 index 08b4257..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopCertificate.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.hrt.system.domain.poji.shop; - - -import java.io.Serializable; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * 商户证书 - * </p> - * - * @author jqs - * @since 2023-04-20 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_shop_certificate") -public class ShopCertificate extends Model<ShopCertificate> { - - private static final long serialVersionUID = 1L; - - /** - * 证书id - */ - @TableId(value = "cer_id", type = IdType.AUTO) - private Integer cerId; - /** - * 删除标记 - */ - @TableField("del_flag") - private Integer delFlag; - /** - * 证书状态-1删除0待审核1审核通过2审核拒绝 - */ - @TableField("cer_status") - private Integer cerStatus; - /** - * 商户id - */ - @TableField("shop_id") - private Integer shopId; - /** - * 证书名字 - */ - @TableField("cer_name") - private String cerName; - /** - * 证书编号 - */ - @TableField("cer_number") - private Integer cerNumber; - /** - * 证书图片 - */ - @TableField("cer_picture") - private String cerPicture; - - - @Override - protected Serializable pkVal() { - return this.cerId; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopFile.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopFile.java deleted file mode 100644 index 4aaf267..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopFile.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.hrt.system.domain.poji.shop; - -import com.baomidou.mybatisplus.annotation.IdType;; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * 商户图片 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_shop_file") -public class ShopFile extends Model<ShopFile> { - - private static final long serialVersionUID = 1L; - - @TableId(value = "id", type = IdType.AUTO) - private Long id; - /** - * 删除标记 - */ - @TableField("del_flag") - private Integer delFlag; - /** - * 商户id - */ - @TableField("shop_id") - private Long shopId; - /** - * 文件类型1.封面2.图片 - */ - @TableField("file_type") - private Integer fileType; - /** - * 文件地址 - */ - @TableField("file_url") - private String fileUrl; - - - @Override - protected Serializable pkVal() { - return this.id; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopGoods.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopGoods.java deleted file mode 100644 index acf57ea..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopGoods.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.hrt.system.domain.poji.shop; - -import com.baomidou.mybatisplus.annotation.IdType;; -import java.math.BigDecimal; -import java.util.Date; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * 商户定制商品 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_shop_goods") -public class ShopGoods extends Model<ShopGoods> { - - private static final long serialVersionUID = 1L; - - @TableId(value = "id", type = IdType.AUTO) - private Long id; - /** - * 删除标记 - */ - @TableField("del_flag") - private Integer delFlag; - /** - * 商户id - */ - @TableField("shop_id") - private Long shopId; - /** - * 商品id - */ - @TableField("goods_id") - private String goodsId; - /** - * 商户售价 - */ - @TableField("sales_price") - private BigDecimal salesPrice; - /** - * 商户服务次数 - */ - @TableField("service_num") - private Integer serviceNum; - /** - * 更新时间 - */ - @TableField("update_time") - private Date updateTime; - /** - * 更新用户id - */ - @TableField("update_user_id") - private Long updateUserId; - - - @Override - protected Serializable pkVal() { - return this.id; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopMarketing.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopMarketing.java deleted file mode 100644 index 0f70269..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopMarketing.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.hrt.system.domain.poji.shop; - -import com.baomidou.mybatisplus.annotation.IdType;; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * 商户营销 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_shop_marketing") -public class ShopMarketing extends Model<ShopMarketing> { - - private static final long serialVersionUID = 1L; - - @TableId(value = "shop_id", type = IdType.AUTO) - private Long shopId; - /** - * 删除标记 - */ - @TableField("del_flag") - private Integer delFlag; - /** - * 店铺生日活动开关1开2关 - */ - @TableField("shop_birthday_flag") - private Integer shopBirthdayFlag; - /** - * 领卷活动次数 - */ - @TableField("shop_coupon_count") - private Integer shopCouponCount; - /** - * 营销活动总计 - */ - @TableField("shop_marketing_total") - private Integer shopMarketingTotal; - - - @Override - protected Serializable pkVal() { - return this.shopId; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopRelTag.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopRelTag.java deleted file mode 100644 index b7ab07c..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopRelTag.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.hrt.system.domain.poji.shop; - -import com.baomidou.mybatisplus.annotation.IdType;; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * 商户标签 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_shop_rel_tag") -public class ShopRelTag extends Model<ShopRelTag> { - - private static final long serialVersionUID = 1L; - - @TableId(value = "id", type = IdType.AUTO) - private Long id; - /** - * 删除标记 - */ - @TableField("del_flag") - private Integer delFlag; - /** - * 商户id - */ - @TableField("shop_id") - private Long shopId; - /** - * 标签id - */ - @TableField("tag_id") - private Long tagId; - - - @Override - protected Serializable pkVal() { - return this.id; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopRelUser.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopRelUser.java deleted file mode 100644 index d11e1b6..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopRelUser.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.hrt.system.domain.poji.shop; - -import com.baomidou.mybatisplus.annotation.IdType;; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * 商户关联员工 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_shop_rel_user") -public class ShopRelUser extends Model<ShopRelUser> { - - private static final long serialVersionUID = 1L; - - @TableId(value = "id", type = IdType.AUTO) - private Long id; - /** - * 删除标记 - */ - @TableField("del_flag") - private Integer delFlag; - /** - * 商户id - */ - @TableField("shop_id") - private Long shopId; - /** - * 用户id - */ - @TableField("user_id") - private Long userId; - /** - * 用户手机 - */ - @TableField("user_mobile") - private String userMobile; - /** - * 用户部门id - */ - @TableField("user_dept_id") - private Long userDeptId; - /** - * 用户姓名 - */ - @TableField("user_name") - private String userName; - - @Override - protected Serializable pkVal() { - return this.id; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopTask.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopTask.java deleted file mode 100644 index 0335d7d..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopTask.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.hrt.system.domain.poji.shop; - -import java.util.Date; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * 商户跟进任务 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_shop_task") -public class ShopTask extends Model<ShopTask> { - - private static final long serialVersionUID = 1L; - - @TableId("task_id") - private String taskId; - /** - * 删除标记 - */ - @TableField("del_flag") - private Integer delFlag; - /** - * 商户id - */ - @TableField("shop_id") - private Long shopId; - /** - * 跟进类型id - */ - @TableField("follow_type_id") - private Long followTypeId; - /** - * 跟进内容 - */ - @TableField("follow_content") - private String followContent; - /** - * 下次跟进时间 - */ - @TableField("next_follow_date") - private Date nextFollowDate; - /** - * 任务标题 - */ - @TableField("task_title") - private String taskTitle; - /** - * 紧急情况id - */ - @TableField("emergency_state_id") - private Integer emergencyStateId; - /** - * 创建时间 - */ - @TableField("create_time") - private Date createTime; - - - @Override - protected Serializable pkVal() { - return this.taskId; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopTransferRecord.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopTransferRecord.java deleted file mode 100644 index 7705f83..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopTransferRecord.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.hrt.system.domain.poji.shop; - -import com.baomidou.mybatisplus.annotation.IdType;; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * 商户员工转移记录 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_shop_transfer_record") -public class ShopTransferRecord extends Model<ShopTransferRecord> { - - private static final long serialVersionUID = 1L; - - @TableId(value = "id", type = IdType.AUTO) - private Long id; - /** - * 删除标记 - */ - @TableField("del_flag") - private Integer delFlag; - /** - * 商户id - */ - @TableField("shop_id") - private Long shopId; - /** - * 转移前用户id - */ - @TableField("before_user_id") - private Long beforeUserId; - /** - * 转移后用户id - */ - @TableField("after_user_id") - private Long afterUserId; - /** - * 备注 - */ - @TableField("transfer_remark") - private String transferRemark; - - - @Override - protected Serializable pkVal() { - return this.id; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/TaskFile.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/TaskFile.java deleted file mode 100644 index 5c706e5..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/TaskFile.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.hrt.system.domain.poji.shop; - -import com.baomidou.mybatisplus.annotation.IdType;; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * 跟进附件 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_task_file") -public class TaskFile extends Model<TaskFile> { - - private static final long serialVersionUID = 1L; - - @TableId(value = "id", type = IdType.AUTO) - private Long id; - /** - * 删除标记 - */ - @TableField("del_flag") - private Integer delFlag; - /** - * 跟进id - */ - @TableField("follow_id") - private Long followId; - /** - * 跟进来源1商户2客户 - */ - @TableField("follow_from") - private Integer followFrom; - /** - * 文件地址 - */ - @TableField("file_url") - private String fileUrl; - /** - * 文件类型1.图片2.视频3.音频 - */ - @TableField("file_type") - private Integer fileType; - - - @Override - protected Serializable pkVal() { - return this.id; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/Advert.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/Advert.java deleted file mode 100644 index 7a8fff5..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/Advert.java +++ /dev/null @@ -1,82 +0,0 @@ -package com.hrt.system.domain.poji.sys; - - -import java.util.Date; - -import java.io.Serializable; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * 快速入口 - * </p> - * - * @author jqs - * @since 2023-04-20 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_advert") -public class Advert extends Model<Advert> { - - private static final long serialVersionUID = 1L; - - @TableId(value = "ad_id", type = IdType.AUTO) - private Integer adId; - /** - * 删除标记 - */ - @TableField("del_flag") - private Integer delFlag; - /** - * 广告图片地址 - */ - @TableField("ad_url") - private String adUrl; - /** - * 广告语 - */ - @TableField("ad_content") - private String adContent; - /** - * 对象类型1.外链2.内链3.无 - */ - @TableField("target_type") - private Integer targetType; - /** - * 链接地址 - */ - @TableField("link_url") - private String linkUrl; - /** - * 跳转活动id - */ - @TableField("jump_id") - private String jumpId; - /** - * logo图片地址 - */ - @TableField("logo_url") - private String logoUrl; - @TableField("create_time") - private Date createTime; - @TableField("create_user_id") - private Integer createUserId; - - - @Override - protected Serializable pkVal() { - return this.adId; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/Agreement.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/Agreement.java deleted file mode 100644 index c87dc99..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/Agreement.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.hrt.system.domain.poji.sys; - -import com.baomidou.mybatisplus.annotation.IdType;; -import java.util.Date; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * 协议 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_agreement") -public class Agreement extends Model<Agreement> { - - private static final long serialVersionUID = 1L; - - /** - * 协议id - */ - @TableId(value = "agreement_id", type = IdType.AUTO) - private Long agreementId; - /** - * 删除标记 - */ - @TableField("del_flag") - private String delFlag; - /** - * 协议类型 - */ - @TableField("agreement_type") - private Integer agreementType; - /** - * 协议内容 - */ - @TableField("agreement_content") - private String agreementContent; - /** - * 创建时间 - */ - @TableField("create_time") - private Date createTime; - /** - * 创建用户id - */ - @TableField("create_user_id") - private Long createUserId; - - - @Override - protected Serializable pkVal() { - return this.agreementId; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/Banner.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/Banner.java deleted file mode 100644 index 12330a0..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/Banner.java +++ /dev/null @@ -1,90 +0,0 @@ -package com.hrt.system.domain.poji.sys; - -import com.baomidou.mybatisplus.annotation.IdType;; -import java.util.Date; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * banner - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_banner") -public class Banner extends Model<Banner> { - - private static final long serialVersionUID = 1L; - - /** - * banner id - */ - @TableId(value = "banner_id", type = IdType.AUTO) - private Long bannerId; - /** - * 删除标记 - */ - @TableField("del_flag") - private Integer delFlag; - /** - * banner位置1.小程序首页 - */ - @TableField("banner_position") - private Integer bannerPosition; - /** - * banner图片地址 - */ - @TableField("banner_url") - private String bannerUrl; - /** - * 链接类型1.外部2.内部3.无 - */ - @TableField("target_type") - private Integer targetType; - /** - * 链接类型1.手动输入2.选择已有 - */ - @TableField("link_type") - private Integer linkType; - /** - * 链接地址 - */ - @TableField("link_url") - private String linkUrl; - /** - * 跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂 - */ - @TableField("jump_type") - private Integer jumpType; - /** - * 跳转id - */ - @TableField("jump_id") - private String jumpId; - /** - * 创建时间 - */ - @TableField("create_time") - private Date createTime; - @TableField("create_user_id") - private Long createUserId; - - - @Override - protected Serializable pkVal() { - return this.bannerId; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/CustomeConfig.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/CustomeConfig.java deleted file mode 100644 index f0cba81..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/CustomeConfig.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.hrt.system.domain.poji.sys; - -import com.baomidou.mybatisplus.annotation.IdType;; -import java.util.Date; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * 系统配置 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_custome_config") -public class CustomeConfig extends Model<CustomeConfig> { - - private static final long serialVersionUID = 1L; - - @TableId(value = "id", type = IdType.AUTO) - private Long id; - @TableField("del_flag") - private String delFlag; - private Integer type; - private String key; - private String name; - private String value; - @TableField("create_time") - private Date createTime; - @TableField("update_time") - private Date updateTime; - - - @Override - protected Serializable pkVal() { - return this.id; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/Pop.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/Pop.java deleted file mode 100644 index 8f9f5a7..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/Pop.java +++ /dev/null @@ -1,84 +0,0 @@ -package com.hrt.system.domain.poji.sys; - -import com.baomidou.mybatisplus.annotation.IdType;; -import java.util.Date; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * 弹窗 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_pop") -public class Pop extends Model<Pop> { - - private static final long serialVersionUID = 1L; - - @TableId(value = "pop_id", type = IdType.AUTO) - private Long popId; - /** - * 删除标记 - */ - @TableField("del_flag") - private Integer delFlag; - /** - * 弹窗排序 - */ - @TableField("pop_sort") - private Integer popSort; - /** - * 弹窗图片地址 - */ - @TableField("pop_url") - private String popUrl; - /** - * 展示开始时间 - */ - @TableField("show_start_time") - private Date showStartTime; - /** - * 展示结束时间 - */ - @TableField("show_end_time") - private Date showEndTime; - /** - * 对象类型1.外链2.内链3.无 - */ - @TableField("target_type") - private Integer targetType; - /** - * 链接地址 - */ - @TableField("link_url") - private String linkUrl; - /** - * 跳转活动id - */ - @TableField("jump_id") - private String jumpId; - @TableField("create_time") - private Date createTime; - @TableField("create_user_id") - private Long createUserId; - - - @Override - protected Serializable pkVal() { - return this.popId; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/QuickEntry.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/QuickEntry.java deleted file mode 100644 index 25cd811..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/QuickEntry.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.hrt.system.domain.poji.sys; - -import com.baomidou.mybatisplus.annotation.IdType;; -import java.util.Date; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * 快速入口 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_quick_entry") -public class QuickEntry extends Model<QuickEntry> { - - private static final long serialVersionUID = 1L; - - @TableId(value = "entry_id", type = IdType.AUTO) - private Long entryId; - /** - * 删除标记 - */ - @TableField("del_flag") - private Integer delFlag; - /** - * 入口排序 - */ - @TableField("entry_sort") - private Integer entrySort; - /** - * 入口图片地址 - */ - @TableField("entry_url") - private String entryUrl; - /** - * 入口名称 - */ - @TableField("entry_name") - private String entryName; - /** - * 对象类型1.外链2.内链3.无 - */ - @TableField("target_type") - private Integer targetType; - /** - * 链接地址 - */ - @TableField("link_url") - private String linkUrl; - /** - * 跳转活动id - */ - @TableField("jump_id") - private String jumpId; - - @TableField("create_time") - private Date createTime; - - @TableField("create_user_id") - private Long createUserId; - - - @Override - protected Serializable pkVal() { - return this.entryId; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/SysClassification.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/SysClassification.java deleted file mode 100644 index f675125..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/SysClassification.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.hrt.system.domain.poji.sys; - -import com.baomidou.mybatisplus.annotation.IdType;; -import java.util.Date; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * 分类 - * </p> - * - * @author jqs - * @since 2023-04-18 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_sys_classification") -public class SysClassification extends Model<SysClassification> { - - private static final long serialVersionUID = 1L; - - /** - * 分类id - */ - @TableId(value = "class_id", type = IdType.AUTO) - private Integer classId; - /** - * 删除标记 - */ - @TableField("del_flag") - private Integer delFlag; - /** - * 分类类型 - */ - @TableField("class_type") - private Integer classType; - /** - * 分类名字 - */ - @TableField("class_name") - private String className; - /** - * 分类排序 - */ - @TableField("class_sort") - private Integer classSort; - /** - * 关联数量 - */ - @TableField("realtion_num") - private Integer realtionNum; - /** - * 创建时间 - */ - @TableField("create_time") - private Date createTime; - - - @Override - protected Serializable pkVal() { - return this.classId; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/SysConfig.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/SysConfig.java deleted file mode 100644 index 6573ff8..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/SysConfig.java +++ /dev/null @@ -1,111 +0,0 @@ -package com.hrt.system.domain.poji.sys; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.Size; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.hrt.common.core.annotation.Excel; -import com.hrt.common.core.annotation.Excel.ColumnType; -import com.hrt.common.core.web.domain.BaseEntity; - -/** - * 参数配置表 sys_config - * - * @author jqs - */ -public class SysConfig extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** 参数主键 */ - @Excel(name = "参数主键", cellType = ColumnType.NUMERIC) - private Long configId; - - /** 参数名称 */ - @Excel(name = "参数名称") - private String configName; - - /** 参数键名 */ - @Excel(name = "参数键名") - private String configKey; - - /** 参数键值 */ - @Excel(name = "参数键值") - private String configValue; - - /** 系统内置(Y是 N否) */ - @Excel(name = "系统内置", readConverterExp = "Y=是,N=否") - private String configType; - - public Long getConfigId() - { - return configId; - } - - public void setConfigId(Long configId) - { - this.configId = configId; - } - - @NotBlank(message = "参数名称不能为空") - @Size(min = 0, max = 100, message = "参数名称不能超过100个字符") - public String getConfigName() - { - return configName; - } - - public void setConfigName(String configName) - { - this.configName = configName; - } - - @NotBlank(message = "参数键名长度不能为空") - @Size(min = 0, max = 100, message = "参数键名长度不能超过100个字符") - public String getConfigKey() - { - return configKey; - } - - public void setConfigKey(String configKey) - { - this.configKey = configKey; - } - - @NotBlank(message = "参数键值不能为空") - @Size(min = 0, max = 500, message = "参数键值长度不能超过500个字符") - public String getConfigValue() - { - return configValue; - } - - public void setConfigValue(String configValue) - { - this.configValue = configValue; - } - - public String getConfigType() - { - return configType; - } - - public void setConfigType(String configType) - { - this.configType = configType; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("configId", getConfigId()) - .append("configName", getConfigName()) - .append("configKey", getConfigKey()) - .append("configValue", getConfigValue()) - .append("configType", getConfigType()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .append("updateBy", getUpdateBy()) - .append("updateTime", getUpdateTime()) - .append("remark", getRemark()) - .toString(); - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/SysNotice.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/SysNotice.java deleted file mode 100644 index 1bab0e6..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/SysNotice.java +++ /dev/null @@ -1,102 +0,0 @@ -package com.hrt.system.domain.poji.sys; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.Size; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.hrt.common.core.web.domain.BaseEntity; -import com.hrt.common.core.xss.Xss; - -/** - * 通知公告表 sys_notice - * - * @author jqs - */ -public class SysNotice extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** 公告ID */ - private Long noticeId; - - /** 公告标题 */ - private String noticeTitle; - - /** 公告类型(1通知 2公告) */ - private String noticeType; - - /** 公告内容 */ - private String noticeContent; - - /** 公告状态(0正常 1关闭) */ - private String status; - - public Long getNoticeId() - { - return noticeId; - } - - public void setNoticeId(Long noticeId) - { - this.noticeId = noticeId; - } - - public void setNoticeTitle(String noticeTitle) - { - this.noticeTitle = noticeTitle; - } - - @Xss(message = "公告标题不能包含脚本字符") - @NotBlank(message = "公告标题不能为空") - @Size(min = 0, max = 50, message = "公告标题不能超过50个字符") - public String getNoticeTitle() - { - return noticeTitle; - } - - public void setNoticeType(String noticeType) - { - this.noticeType = noticeType; - } - - public String getNoticeType() - { - return noticeType; - } - - public void setNoticeContent(String noticeContent) - { - this.noticeContent = noticeContent; - } - - public String getNoticeContent() - { - return noticeContent; - } - - public void setStatus(String status) - { - this.status = status; - } - - public String getStatus() - { - return status; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("noticeId", getNoticeId()) - .append("noticeTitle", getNoticeTitle()) - .append("noticeType", getNoticeType()) - .append("noticeContent", getNoticeContent()) - .append("status", getStatus()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .append("updateBy", getUpdateBy()) - .append("updateTime", getUpdateTime()) - .append("remark", getRemark()) - .toString(); - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/SysTag.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/SysTag.java deleted file mode 100644 index bfa4ae7..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/SysTag.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.hrt.system.domain.poji.sys; - -import com.baomidou.mybatisplus.annotation.IdType;; -import java.util.Date; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * <p> - * 系统标签 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_sys_tag") -public class SysTag extends Model<SysTag> { - - private static final long serialVersionUID = 1L; - - /** - * 标签id - */ - @TableId(value = "tag_id", type = IdType.AUTO) - private Long tagId; - /** - * 删除标记 - */ - @TableField("del_flag") - private Integer delFlag; - /** - * 标签类型1.用户2.合作商 - */ - @TableField("tag_type") - private Integer tagType; - /** - * 标签名称 - */ - @TableField("tag_name") - private String tagName; - /** - * 创建时间 - */ - @TableField("create_time") - private Date createTime; - /** - * 同步标记0否1是 - */ - @TableField("sys_flag") - private Integer sysFlag; - - @Override - protected Serializable pkVal() { - return this.tagId; - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysMenu.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysMenu.java deleted file mode 100644 index 96a3e3e..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysMenu.java +++ /dev/null @@ -1,259 +0,0 @@ -package com.hrt.system.domain.poji.user; - -import java.util.ArrayList; -import java.util.List; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.hrt.common.core.web.domain.BaseEntity; - -/** - * 菜单权限表 sys_menu - * - * @author jqs - */ -public class SysMenu extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** 菜单ID */ - private Long menuId; - - /** 菜单名称 */ - private String menuName; - - /** 父菜单名称 */ - private String parentName; - - /** 父菜单ID */ - private Long parentId; - - /** 显示顺序 */ - private Integer orderNum; - - /** 路由地址 */ - private String path; - - /** 组件路径 */ - private String component; - - /** 路由参数 */ - private String query; - - /** 是否为外链(0是 1否) */ - private String isFrame; - - /** 是否缓存(0缓存 1不缓存) */ - private String isCache; - - /** 类型(M目录 C菜单 F按钮) */ - private String menuType; - - /** 显示状态(0显示 1隐藏) */ - private String visible; - - /** 菜单状态(0正常 1停用) */ - private String status; - - /** 权限字符串 */ - private String perms; - - /** 菜单图标 */ - private String icon; - - /** 子菜单 */ - private List<SysMenu> children = new ArrayList<SysMenu>(); - - public Long getMenuId() - { - return menuId; - } - - public void setMenuId(Long menuId) - { - this.menuId = menuId; - } - - @NotBlank(message = "菜单名称不能为空") - @Size(min = 0, max = 50, message = "菜单名称长度不能超过50个字符") - public String getMenuName() - { - return menuName; - } - - public void setMenuName(String menuName) - { - this.menuName = menuName; - } - - public String getParentName() - { - return parentName; - } - - public void setParentName(String parentName) - { - this.parentName = parentName; - } - - public Long getParentId() - { - return parentId; - } - - public void setParentId(Long parentId) - { - this.parentId = parentId; - } - - @NotNull(message = "显示顺序不能为空") - public Integer getOrderNum() - { - return orderNum; - } - - public void setOrderNum(Integer orderNum) - { - this.orderNum = orderNum; - } - - @Size(min = 0, max = 200, message = "路由地址不能超过200个字符") - public String getPath() - { - return path; - } - - public void setPath(String path) - { - this.path = path; - } - - @Size(min = 0, max = 200, message = "组件路径不能超过255个字符") - public String getComponent() - { - return component; - } - - public void setComponent(String component) - { - this.component = component; - } - - public String getQuery() - { - return query; - } - - public void setQuery(String query) - { - this.query = query; - } - - public String getIsFrame() - { - return isFrame; - } - - public void setIsFrame(String isFrame) - { - this.isFrame = isFrame; - } - - public String getIsCache() - { - return isCache; - } - - public void setIsCache(String isCache) - { - this.isCache = isCache; - } - - @NotBlank(message = "菜单类型不能为空") - public String getMenuType() - { - return menuType; - } - - public void setMenuType(String menuType) - { - this.menuType = menuType; - } - - public String getVisible() - { - return visible; - } - - public void setVisible(String visible) - { - this.visible = visible; - } - - public String getStatus() - { - return status; - } - - public void setStatus(String status) - { - this.status = status; - } - - @Size(min = 0, max = 100, message = "权限标识长度不能超过100个字符") - public String getPerms() - { - return perms; - } - - public void setPerms(String perms) - { - this.perms = perms; - } - - public String getIcon() - { - return icon; - } - - public void setIcon(String icon) - { - this.icon = icon; - } - - public List<SysMenu> getChildren() - { - return children; - } - - public void setChildren(List<SysMenu> children) - { - this.children = children; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("menuId", getMenuId()) - .append("menuName", getMenuName()) - .append("parentId", getParentId()) - .append("orderNum", getOrderNum()) - .append("path", getPath()) - .append("component", getComponent()) - .append("isFrame", getIsFrame()) - .append("IsCache", getIsCache()) - .append("menuType", getMenuType()) - .append("visible", getVisible()) - .append("status ", getStatus()) - .append("perms", getPerms()) - .append("icon", getIcon()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .append("updateBy", getUpdateBy()) - .append("updateTime", getUpdateTime()) - .append("remark", getRemark()) - .toString(); - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysPost.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysPost.java deleted file mode 100644 index e9d1612..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysPost.java +++ /dev/null @@ -1,124 +0,0 @@ -package com.hrt.system.domain.poji.user; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.hrt.common.core.annotation.Excel; -import com.hrt.common.core.annotation.Excel.ColumnType; -import com.hrt.common.core.web.domain.BaseEntity; - -/** - * 岗位表 sys_post - * - * @author jqs - */ -public class SysPost extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** 岗位序号 */ - @Excel(name = "岗位序号", cellType = ColumnType.NUMERIC) - private Long postId; - - /** 岗位编码 */ - @Excel(name = "岗位编码") - private String postCode; - - /** 岗位名称 */ - @Excel(name = "岗位名称") - private String postName; - - /** 岗位排序 */ - @Excel(name = "岗位排序") - private Integer postSort; - - /** 状态(0正常 1停用) */ - @Excel(name = "状态", readConverterExp = "0=正常,1=停用") - private String status; - - /** 用户是否存在此岗位标识 默认不存在 */ - private boolean flag = false; - - public Long getPostId() - { - return postId; - } - - public void setPostId(Long postId) - { - this.postId = postId; - } - - @NotBlank(message = "岗位编码不能为空") - @Size(min = 0, max = 64, message = "岗位编码长度不能超过64个字符") - public String getPostCode() - { - return postCode; - } - - public void setPostCode(String postCode) - { - this.postCode = postCode; - } - - @NotBlank(message = "岗位名称不能为空") - @Size(min = 0, max = 50, message = "岗位名称长度不能超过50个字符") - public String getPostName() - { - return postName; - } - - public void setPostName(String postName) - { - this.postName = postName; - } - - @NotNull(message = "显示顺序不能为空") - public Integer getPostSort() - { - return postSort; - } - - public void setPostSort(Integer postSort) - { - this.postSort = postSort; - } - - public String getStatus() - { - return status; - } - - public void setStatus(String status) - { - this.status = status; - } - - public boolean isFlag() - { - return flag; - } - - public void setFlag(boolean flag) - { - this.flag = flag; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("postId", getPostId()) - .append("postCode", getPostCode()) - .append("postName", getPostName()) - .append("postSort", getPostSort()) - .append("status", getStatus()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .append("updateBy", getUpdateBy()) - .append("updateTime", getUpdateTime()) - .append("remark", getRemark()) - .toString(); - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysRoleDept.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysRoleDept.java deleted file mode 100644 index 0f0682b..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysRoleDept.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.hrt.system.domain.poji.user; - -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; - -/** - * 角色和部门关联 sys_role_dept - * - * @author jqs - */ -public class SysRoleDept -{ - /** 角色ID */ - private Long roleId; - - /** 部门ID */ - private Long deptId; - - public Long getRoleId() - { - return roleId; - } - - public void setRoleId(Long roleId) - { - this.roleId = roleId; - } - - public Long getDeptId() - { - return deptId; - } - - public void setDeptId(Long deptId) - { - this.deptId = deptId; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("roleId", getRoleId()) - .append("deptId", getDeptId()) - .toString(); - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysRoleMenu.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysRoleMenu.java deleted file mode 100644 index ca9806c..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysRoleMenu.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.hrt.system.domain.poji.user; - -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; - -/** - * 角色和菜单关联 sys_role_menu - * - * @author jqs - */ -public class SysRoleMenu -{ - /** 角色ID */ - private Long roleId; - - /** 菜单ID */ - private Long menuId; - - public Long getRoleId() - { - return roleId; - } - - public void setRoleId(Long roleId) - { - this.roleId = roleId; - } - - public Long getMenuId() - { - return menuId; - } - - public void setMenuId(Long menuId) - { - this.menuId = menuId; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("roleId", getRoleId()) - .append("menuId", getMenuId()) - .toString(); - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysUserOnline.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysUserOnline.java deleted file mode 100644 index 68cdb4d..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysUserOnline.java +++ /dev/null @@ -1,100 +0,0 @@ -package com.hrt.system.domain.poji.user; - -/** - * 当前在线会话 - * - * @author jqs - */ -public class SysUserOnline -{ - /** 会话编号 */ - private String tokenId; - - /** 用户名称 */ - private String userName; - - /** 登录IP地址 */ - private String ipaddr; - - /** 登录地址 */ - private String loginLocation; - - /** 浏览器类型 */ - private String browser; - - /** 操作系统 */ - private String os; - - /** 登录时间 */ - private Long loginTime; - - public String getTokenId() - { - return tokenId; - } - - public void setTokenId(String tokenId) - { - this.tokenId = tokenId; - } - - public String getUserName() - { - return userName; - } - - public void setUserName(String userName) - { - this.userName = userName; - } - - public String getIpaddr() - { - return ipaddr; - } - - public void setIpaddr(String ipaddr) - { - this.ipaddr = ipaddr; - } - - public String getLoginLocation() - { - return loginLocation; - } - - public void setLoginLocation(String loginLocation) - { - this.loginLocation = loginLocation; - } - - public String getBrowser() - { - return browser; - } - - public void setBrowser(String browser) - { - this.browser = browser; - } - - public String getOs() - { - return os; - } - - public void setOs(String os) - { - this.os = os; - } - - public Long getLoginTime() - { - return loginTime; - } - - public void setLoginTime(Long loginTime) - { - this.loginTime = loginTime; - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysUserPost.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysUserPost.java deleted file mode 100644 index e0154eb..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysUserPost.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.hrt.system.domain.poji.user; - -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; - -/** - * 用户和岗位关联 sys_user_post - * - * @author jqs - */ -public class SysUserPost -{ - /** 用户ID */ - private Long userId; - - /** 岗位ID */ - private Long postId; - - public Long getUserId() - { - return userId; - } - - public void setUserId(Long userId) - { - this.userId = userId; - } - - public Long getPostId() - { - return postId; - } - - public void setPostId(Long postId) - { - this.postId = postId; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("userId", getUserId()) - .append("postId", getPostId()) - .toString(); - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysUserRole.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysUserRole.java deleted file mode 100644 index e3935d3..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysUserRole.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.hrt.system.domain.poji.user; - -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; - -/** - * 用户和角色关联 sys_user_role - * - * @author jqs - */ -public class SysUserRole -{ - /** 用户ID */ - private Long userId; - - /** 角色ID */ - private Long roleId; - - public Long getUserId() - { - return userId; - } - - public void setUserId(Long userId) - { - this.userId = userId; - } - - public Long getRoleId() - { - return roleId; - } - - public void setRoleId(Long roleId) - { - this.roleId = roleId; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("userId", getUserId()) - .append("roleId", getRoleId()) - .toString(); - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppAdvertVo.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppAdvertVo.java deleted file mode 100644 index e92ee86..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppAdvertVo.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.hrt.system.domain.vo; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author jqs34 - * @ClassName AppQuickEntryVo - * @description: TODO - * @date 2023年04月20日 - * @version: 1.0 - */ -@Data -public class AppAdvertVo { - - @ApiModelProperty(value = "广告入口") - private Long adId; - - @ApiModelProperty(value = "广告图片地址") - private String adUrl; - - @ApiModelProperty(value = "广告语") - private String adContent; - - @ApiModelProperty(value = "对象类型1.外链2.内链3.无") - private Integer targetType; - - @ApiModelProperty(value = "链接地址") - private String linkUrl; - - @ApiModelProperty(value = "跳转id") - private String jumpId; - - @ApiModelProperty(value = "logo地址") - private String logoUrl; - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppAgreementVo.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppAgreementVo.java deleted file mode 100644 index b5f5a88..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppAgreementVo.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.hrt.system.domain.vo; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author jqs34 - * @ClassName AppAgreementVo - * @description: TODO - * @date 2023年03月07日 - * @version: 1.0 - */ -@Data -public class AppAgreementVo { - - @ApiModelProperty(value = "协议id") - private Long agreementId; - - @ApiModelProperty(value = "协议内容") - private String agreementContent; -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppBannerVo.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppBannerVo.java deleted file mode 100644 index 03c0a86..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppBannerVo.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.hrt.system.domain.vo; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author jqs34 - * @ClassName AppBannerVo - * @description: TODO - * @date 2023年04月20日 - * @version: 1.0 - */ - -@Data -public class AppBannerVo { - - @ApiModelProperty(value = "bannerid") - private Long bannerId; - - @ApiModelProperty(value = "banner图片地址") - private String bannerUrl; - - @ApiModelProperty(value = "链接类型1.外部2.内部3.无") - private Integer targetType; - - @ApiModelProperty(value = "链接类型1.手动输入2.选择已有") - private Integer linkType; - - @ApiModelProperty(value = "链接地址") - private String linkUrl; - - @ApiModelProperty(value = "跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂") - private Integer jumpType; - - @ApiModelProperty(value = "跳转id") - private String jumpId; - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppGoodsInfoVo.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppGoodsInfoVo.java deleted file mode 100644 index d77c83a..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppGoodsInfoVo.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.hrt.system.domain.vo; - -import com.baomidou.mybatisplus.annotation.TableField; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.math.BigDecimal; -import java.util.Date; - -/** - * @author jqs34 - * @ClassName AppGoodsInfoVo - * @description: TODO - * @date 2023年04月20日 - * @version: 1.0 - */ -@Data -public class AppGoodsInfoVo { - - @ApiModelProperty(value = "商品id") - private Long goodsId; - - @ApiModelProperty(value = "商品名称") - private String goodsName; - - @ApiModelProperty(value = "商品简介") - private String goodsIntroduction; - - @ApiModelProperty(value = "商品视频") - private String goodsVideo; - - @ApiModelProperty(value = "商品banner") - private String goodsBanners; - - @ApiModelProperty(value = "商品类型1周期2服务3体验4单品") - private Integer goodsType; - - @ApiModelProperty(value = "商品标签") - private String goodsTag; - - @ApiModelProperty(value = "商品调理问题") - private BigDecimal goodsNurses; - - @ApiModelProperty("服务次数") - private Integer serviceNum; - - @ApiModelProperty(value = "商品售价") - private BigDecimal salesPrice; - - @ApiModelProperty(value = "商品详情") - private String goodsDetail; - - @ApiModelProperty(value = "销售数量") - private Integer salesNum; - - @ApiModelProperty(value = "是否活动跳转0否1是") - private Integer activityFlag; - - @ApiModelProperty(value = "商品活动价") - private BigDecimal activityPrice; - - @ApiModelProperty(value = "售罄标记0否1是") - private Integer sellOutFlag; - - @ApiModelProperty(value = "活动截止时间") - private Date activityDeadline; -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppMiniLoginVo.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppMiniLoginVo.java deleted file mode 100644 index e010df4..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppMiniLoginVo.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.hrt.system.domain.vo; - -import com.hrt.system.api.domain.SysUser; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author jqs34 - * @ClassName AppGetUnionid - * @description: TODO - * @date 2023年02月13日 - * @version: 1.0 - */ -@Data -public class AppMiniLoginVo { - - @ApiModelProperty(value = "小程序openid") - private String miniOpenid; - - @ApiModelProperty(value = "微信unionid") - private String wxUnionid; - - @ApiModelProperty(value = "微信sessionKey") - private String sessionKey; - - @ApiModelProperty(value = "用户信息") - private SysUser sysUser; -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppNearbyShopVo.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppNearbyShopVo.java deleted file mode 100644 index b9fa1fc..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppNearbyShopVo.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.hrt.system.domain.vo; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author jqs34 - * @ClassName AppNearbyShopDto - * @description: TODO - * @date 2023年04月19日 - * @version: 1.0 - */ -@Data -public class AppNearbyShopVo { - - - @ApiModelProperty(value = "商户id") - private Long shopId; - - @ApiModelProperty(value = "商户名称") - private String shopName; - - @ApiModelProperty(value = "商户地址") - private String shopAddress; - - @ApiModelProperty(value = "经度") - private String shopLongitude; - - @ApiModelProperty(value = "维度") - private String shopLatitude; - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppQuickEntryVo.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppQuickEntryVo.java deleted file mode 100644 index 46856e6..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppQuickEntryVo.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.hrt.system.domain.vo; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author jqs34 - * @ClassName AppQuickEntryVo - * @description: TODO - * @date 2023年04月20日 - * @version: 1.0 - */ -@Data -public class AppQuickEntryVo { - - @ApiModelProperty(value = "快速入口") - private Long entryId; - - @ApiModelProperty(value = "入口图片地址") - private String entryUrl; - - @ApiModelProperty(value = "入口名称") - private String entryName; - - @ApiModelProperty(value = "对象类型1.外链2.内链3.无") - private Integer targetType; - - @ApiModelProperty(value = "链接地址") - private String linkUrl; - - @ApiModelProperty(value = "跳转id") - private String jumpId; - - - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppShopInfoVo.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppShopInfoVo.java deleted file mode 100644 index 1dc5595..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppShopInfoVo.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.hrt.system.domain.vo; - -import com.baomidou.mybatisplus.annotation.TableField; -import com.hrt.system.domain.poji.shop.ShopCertificate; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.util.List; - -/** - * @author jqs34 - * @ClassName AppShopInfoVo - * @description: TODO - * @date 2023年04月20日 - * @version: 1.0 - */ -@Data -public class AppShopInfoVo { - - @ApiModelProperty(value = "商户id") - private Long shopId; - - @ApiModelProperty(value = "商户名称") - private String shopName; - - @ApiModelProperty(value = "商户地址") - private String shopAddress; - - @ApiModelProperty(value = "经度") - private String shopLongitude; - - @ApiModelProperty(value = "维度") - private String shopLatitude; - - @ApiModelProperty("营业开始时间") - private String businessStartTime; - - @ApiModelProperty("营业结束时间") - private String businessEndTime; - - @ApiModelProperty("商户标签") - private String shopTags; - - @ApiModelProperty("商户服务电话") - private String shopServicePhone; - - @ApiModelProperty("商户封面") - private String shopPicture; - - @ApiModelProperty("商户banners") - private String shopBanners; - - @ApiModelProperty("店铺详情") - private String shopDetail; - - @ApiModelProperty("店铺证书") - private List<ShopCertificate> shopCertificateList; -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppSimpleActivityGoodsVo.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppSimpleActivityGoodsVo.java deleted file mode 100644 index 0f41c50..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppSimpleActivityGoodsVo.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.hrt.system.domain.vo; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.math.BigDecimal; - -/** - * @author jqs34 - * @ClassName AppSimpleGoodsVo - * @description: TODO - * @date 2023年04月20日 - * @version: 1.0 - */ -@Data -public class AppSimpleActivityGoodsVo { - - @ApiModelProperty(value = "商品id") - private Long goodsId; - - @ApiModelProperty(value = "商品名称") - private String goodsName; - - @ApiModelProperty(value = "商品简介") - private String goodsIntroduction; - - @ApiModelProperty(value = "商品图片") - private String goodsPicture; - - @ApiModelProperty(value = "商品类型1周期2服务3体验4单品") - private Integer goodsType; - - @ApiModelProperty(value = "商品标签") - private String goodsTag; - - @ApiModelProperty(value = "商品调理问题") - private BigDecimal goodsNurses; - - @ApiModelProperty(value = "商品售价") - private BigDecimal salesPrice; - - @ApiModelProperty(value = "商品活动价") - private BigDecimal activityPrice; - - @ApiModelProperty(value = "活动销售数量") - private Integer activityNumber; - - @ApiModelProperty(value = "已售数量") - private Integer salesNumber; - - @ApiModelProperty(value = "已售比例") - private BigDecimal salesPercent; - - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppSimpleGoodsVo.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppSimpleGoodsVo.java deleted file mode 100644 index 5c54f36..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppSimpleGoodsVo.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.hrt.system.domain.vo; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.math.BigDecimal; - -/** - * @author jqs34 - * @ClassName AppSimpleGoodsVo - * @description: TODO - * @date 2023年04月20日 - * @version: 1.0 - */ -@Data -public class AppSimpleGoodsVo { - - @ApiModelProperty(value = "商品id") - private Long goodsId; - - @ApiModelProperty(value = "商品名称") - private String goodsName; - - @ApiModelProperty(value = "商品简介") - private String goodsIntroduction; - - @ApiModelProperty(value = "商品图片") - private String goodsPicture; - - @ApiModelProperty(value = "商品类型1周期2服务3体验4单品") - private Integer goodsType; - - @ApiModelProperty(value = "商品标签") - private String goodsTag; - - @ApiModelProperty(value = "商品调理问题") - private BigDecimal goodsNurses; - - @ApiModelProperty(value = "商品售价") - private BigDecimal salesPrice; - - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppUserAuthorizeVo.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppUserAuthorizeVo.java deleted file mode 100644 index 0e23544..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppUserAuthorizeVo.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.hrt.system.domain.vo; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author jqs34 - * @ClassName AppUserAuthorizeDto - * @description: TODO - * @date 2023年02月13日 - * @version: 1.0 - */ -@Data -public class AppUserAuthorizeVo { - - @ApiModelProperty(value = "微信openid") - private String openid; - - @ApiModelProperty(value = "微信unionid") - private String unionid; - - @ApiModelProperty(value = "微信昵称") - private String nickName; - - @ApiModelProperty(value = "用户手机") - private String mobile; -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/MerHomeShopTotalVo.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/MerHomeShopTotalVo.java deleted file mode 100644 index 52520ff..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/MerHomeShopTotalVo.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.hrt.system.domain.vo; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.math.BigDecimal; - -/** - * @author jqs34 - * @ClassName MerHomeShopTotalVo - * @description: TODO - * @date 2023年04月21日 - * @version: 1.0 - */ -@Data -public class MerHomeShopTotalVo { - - @ApiModelProperty(value = "商户id") - private Long shopId; - - @ApiModelProperty(value = "今日到店") - private Integer todayShop; - - @ApiModelProperty(value = "待处理订单") - private Integer unHandleOrder; - - @ApiModelProperty(value = "跟进任务") - private Integer task; - - @ApiModelProperty(value = "店铺营业额") - private BigDecimal shopTurnover; - - @ApiModelProperty(value = "剩余周期人数") - private Integer cycleSurp; - - @ApiModelProperty(value = "剩余体验人数") - private Integer explorationSurp; - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/MerShopInfoVo.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/MerShopInfoVo.java deleted file mode 100644 index 5f3c5cd..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/MerShopInfoVo.java +++ /dev/null @@ -1,137 +0,0 @@ -package com.hrt.system.domain.vo; - -import com.hrt.system.domain.poji.shop.ShopCertificate; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.util.List; - -/** - * @author jqs34 - * @ClassName MerShopInfoVo - * @description: TODO - * @date 2023年04月21日 - * @version: 1.0 - */ -@Data -public class MerShopInfoVo { - - @ApiModelProperty(value = "商户id") - private Long shopId; - - @ApiModelProperty("商户名称") - private String shopName; - - @ApiModelProperty("商户类型1.经销商2.代理商") - private Integer shopType; - - @ApiModelProperty("营业开始时间") - private String businessStartTime; - - @ApiModelProperty("营业结束时间") - private String businessEndTime; - - @ApiModelProperty("店主姓名") - private String shopownerName; - - @ApiModelProperty("店主联系方式") - private String shopownerPhone; - - @ApiModelProperty("签约区域") - private String signAreaCode; - - @ApiModelProperty("商户服务电话") - private String shopServicePhone; - - @ApiModelProperty("管辖员工") - private Long belongUserId; - - @ApiModelProperty("所属经销商") - private Long belongShopId; - - @ApiModelProperty("扶持能力1.有2.没有") - private Integer supportingCapacityFlag; - - @ApiModelProperty("店面操作人数1.1人2.1人以上") - private Integer operationPersonFlag; - - @ApiModelProperty("执行力1.强2.弱") - private Integer executiveForceFlag; - - @ApiModelProperty("格局1.大2.小") - private Integer patternFlag; - - @ApiModelProperty("人脉1.宽2.窄") - private Integer connectionFlag; - - @ApiModelProperty("经济能力1.强2.差") - private Integer economicAbilityFlag; - - @ApiModelProperty("与合作商关系1.好2.差") - private Integer relationPartner; - - @ApiModelProperty("曾从事事业") - private String businessHistory; - - @ApiModelProperty("店铺地址省code") - private String shopProvinceCode; - - @ApiModelProperty("店铺地址市code") - private String shopCityCode; - - @ApiModelProperty("店铺地址区code") - private String shopAreaCode; - - @ApiModelProperty("店铺区域全称") - private String shopAreaName; - - @ApiModelProperty("店铺详细地址") - private String shopAddress; - - @ApiModelProperty("店铺经度") - private String shopLongitude; - - @ApiModelProperty("店铺维度") - private String shopLatitude; - - @ApiModelProperty("店铺详情") - private String shopDetail; - - @ApiModelProperty("营销功能1开2关") - private Integer marketingFunctionFlag; - - @ApiModelProperty("领券1开2关") - private Integer platformCouponFlag; - - @ApiModelProperty("生日卡1开2关") - private Integer platformBirthdayFlag; - - @ApiModelProperty("推荐人") - private String recommendPerson; - - @ApiModelProperty("商户标签id 多个用,隔开") - private String shopTagIds; - - @ApiModelProperty("商户标签") - private String shopTags; - - @ApiModelProperty("关联用户id 多个用,隔开") - private String relUserIds; - - @ApiModelProperty("关联用户") - private String relUsers; - - @ApiModelProperty("商户封面") - private String shopPicture; - - @ApiModelProperty("商户banner 多个用,隔开") - private String shopBanners; - - @ApiModelProperty("证书list") - private List<ShopCertificate> shopCertificateList; - - - - - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/MetaVo.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/MetaVo.java deleted file mode 100644 index e87a8be..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/MetaVo.java +++ /dev/null @@ -1,106 +0,0 @@ -package com.hrt.system.domain.vo; - -import com.hrt.common.core.utils.StringUtils; - -/** - * 路由显示信息 - * - * @author jqs - */ -public class MetaVo -{ - /** - * 设置该路由在侧边栏和面包屑中展示的名字 - */ - private String title; - - /** - * 设置该路由的图标,对应路径src/assets/icons/svg - */ - private String icon; - - /** - * 设置为true,则不会被 <keep-alive>缓存 - */ - private boolean noCache; - - /** - * 内链地址(http(s)://开头) - */ - private String link; - - public MetaVo() - { - } - - public MetaVo(String title, String icon) - { - this.title = title; - this.icon = icon; - } - - public MetaVo(String title, String icon, boolean noCache) - { - this.title = title; - this.icon = icon; - this.noCache = noCache; - } - - public MetaVo(String title, String icon, String link) - { - this.title = title; - this.icon = icon; - this.link = link; - } - - public MetaVo(String title, String icon, boolean noCache, String link) - { - this.title = title; - this.icon = icon; - this.noCache = noCache; - if (StringUtils.ishttp(link)) - { - this.link = link; - } - } - - public boolean isNoCache() - { - return noCache; - } - - public void setNoCache(boolean noCache) - { - this.noCache = noCache; - } - - public String getTitle() - { - return title; - } - - public void setTitle(String title) - { - this.title = title; - } - - public String getIcon() - { - return icon; - } - - public void setIcon(String icon) - { - this.icon = icon; - } - - public String getLink() - { - return link; - } - - public void setLink(String link) - { - this.link = link; - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/MgtShopInfoVo.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/MgtShopInfoVo.java deleted file mode 100644 index 407556d..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/MgtShopInfoVo.java +++ /dev/null @@ -1,137 +0,0 @@ -package com.hrt.system.domain.vo; - -import com.hrt.system.domain.poji.shop.ShopCertificate; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.util.List; - -/** - * @author jqs34 - * @ClassName MgtShopInfoVo - * @description: TODO - * @date 2023年04月21日 - * @version: 1.0 - */ -@Data -public class MgtShopInfoVo { - - @ApiModelProperty(value = "商户id") - private Long shopId; - - @ApiModelProperty("商户名称") - private String shopName; - - @ApiModelProperty("商户类型1.经销商2.代理商") - private Integer shopType; - - @ApiModelProperty("营业开始时间") - private String businessStartTime; - - @ApiModelProperty("营业结束时间") - private String businessEndTime; - - @ApiModelProperty("店主姓名") - private String shopownerName; - - @ApiModelProperty("店主联系方式") - private String shopownerPhone; - - @ApiModelProperty("签约区域") - private String signAreaCode; - - @ApiModelProperty("商户服务电话") - private String shopServicePhone; - - @ApiModelProperty("管辖员工") - private Long belongUserId; - - @ApiModelProperty("所属经销商") - private Long belongShopId; - - @ApiModelProperty("扶持能力1.有2.没有") - private Integer supportingCapacityFlag; - - @ApiModelProperty("店面操作人数1.1人2.1人以上") - private Integer operationPersonFlag; - - @ApiModelProperty("执行力1.强2.弱") - private Integer executiveForceFlag; - - @ApiModelProperty("格局1.大2.小") - private Integer patternFlag; - - @ApiModelProperty("人脉1.宽2.窄") - private Integer connectionFlag; - - @ApiModelProperty("经济能力1.强2.差") - private Integer economicAbilityFlag; - - @ApiModelProperty("与合作商关系1.好2.差") - private Integer relationPartner; - - @ApiModelProperty("曾从事事业") - private String businessHistory; - - @ApiModelProperty("店铺地址省code") - private String shopProvinceCode; - - @ApiModelProperty("店铺地址市code") - private String shopCityCode; - - @ApiModelProperty("店铺地址区code") - private String shopAreaCode; - - @ApiModelProperty("店铺区域全称") - private String shopAreaName; - - @ApiModelProperty("店铺详细地址") - private String shopAddress; - - @ApiModelProperty("店铺经度") - private String shopLongitude; - - @ApiModelProperty("店铺维度") - private String shopLatitude; - - @ApiModelProperty("店铺详情") - private String shopDetail; - - @ApiModelProperty("营销功能1开2关") - private Integer marketingFunctionFlag; - - @ApiModelProperty("领券1开2关") - private Integer platformCouponFlag; - - @ApiModelProperty("生日卡1开2关") - private Integer platformBirthdayFlag; - - @ApiModelProperty("推荐人") - private String recommendPerson; - - @ApiModelProperty("商户标签id 多个用,隔开") - private String shopTagIds; - - @ApiModelProperty("商户标签") - private String shopTags; - - @ApiModelProperty("关联用户id 多个用,隔开") - private String relUserIds; - - @ApiModelProperty("关联用户") - private String relUsers; - - @ApiModelProperty("商户封面") - private String shopPicture; - - @ApiModelProperty("商户banner 多个用,隔开") - private String shopBanners; - - @ApiModelProperty("证书list") - private List<ShopCertificate> shopCertificateList; - - - - - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/MgtShopPageVo.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/MgtShopPageVo.java deleted file mode 100644 index 040e0ea..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/MgtShopPageVo.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.hrt.system.domain.vo; - -import com.baomidou.mybatisplus.annotation.TableField; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.math.BigDecimal; - -/** - * @author jqs34 - * @ClassName MgtShopPageVo - * @description: TODO - * @date 2023年04月21日 - * @version: 1.0 - */ -@Data -public class MgtShopPageVo { - - @ApiModelProperty(value = "商户id") - private Long shopId; - - @ApiModelProperty("签约时间") - private String signTime; - - @ApiModelProperty("商户名称") - private String shopName; - - @ApiModelProperty("商户编号") - private String shopNumber; - - @ApiModelProperty("商户标签") - private String shopTags; - - @ApiModelProperty("签约人") - private String signUser; - - @ApiModelProperty("首提金额") - private BigDecimal firstWithdraw; - - @ApiModelProperty("关联员工") - private BigDecimal belongUser; - - @ApiModelProperty("关联部门") - private BigDecimal belongDept; - - @ApiModelProperty("来源渠道") - private String shopSource; - - @ApiModelProperty("签约区域") - private String signAreaName; - - @ApiModelProperty("合作期限") - private String cooperationTime; - - @ApiModelProperty("店铺地址") - private String shopAddress; - - @ApiModelProperty("店主姓名") - private String shopownerName; - - @ApiModelProperty("店主联系方式") - private String shopownerPhone; - - @ApiModelProperty("商户状态-1删除0冻结1正常2终止合作") - private Integer shopStatus; - - @ApiModelProperty("商户活动次数") - private Integer shopActivityCount; - - @ApiModelProperty("店铺设置状态") - private String shopCustomStatus; -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/MgtShopTagVo.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/MgtShopTagVo.java deleted file mode 100644 index c6482d0..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/MgtShopTagVo.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.hrt.system.domain.vo; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author jqs34 - * @ClassName MgtShopTagVo - * @description: TODO - * @date 2023年04月21日 - * @version: 1.0 - */ -@Data -public class MgtShopTagVo { - - @ApiModelProperty(value = "标签id") - private Long tagId; - - @ApiModelProperty(value = "标签名称") - private String tagName; - - @ApiModelProperty(value = "是否选择0否1是") - private Integer selectFlag; - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/RouterVo.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/RouterVo.java deleted file mode 100644 index ad6cbdb..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/RouterVo.java +++ /dev/null @@ -1,148 +0,0 @@ -package com.hrt.system.domain.vo; - -import com.fasterxml.jackson.annotation.JsonInclude; -import java.util.List; - -/** - * 路由配置信息 - * - * @author jqs - */ -@JsonInclude(JsonInclude.Include.NON_EMPTY) -public class RouterVo -{ - /** - * 路由名字 - */ - private String name; - - /** - * 路由地址 - */ - private String path; - - /** - * 是否隐藏路由,当设置 true 的时候该路由不会再侧边栏出现 - */ - private boolean hidden; - - /** - * 重定向地址,当设置 noRedirect 的时候该路由在面包屑导航中不可被点击 - */ - private String redirect; - - /** - * 组件地址 - */ - private String component; - - /** - * 路由参数:如 {"id": 1, "name": "ry"} - */ - private String query; - - /** - * 当你一个路由下面的 children 声明的路由大于1个时,自动会变成嵌套的模式--如组件页面 - */ - private Boolean alwaysShow; - - /** - * 其他元素 - */ - private MetaVo meta; - - /** - * 子路由 - */ - private List<RouterVo> children; - - public String getName() - { - return name; - } - - public void setName(String name) - { - this.name = name; - } - - public String getPath() - { - return path; - } - - public void setPath(String path) - { - this.path = path; - } - - public boolean getHidden() - { - return hidden; - } - - public void setHidden(boolean hidden) - { - this.hidden = hidden; - } - - public String getRedirect() - { - return redirect; - } - - public void setRedirect(String redirect) - { - this.redirect = redirect; - } - - public String getComponent() - { - return component; - } - - public void setComponent(String component) - { - this.component = component; - } - - public String getQuery() - { - return query; - } - - public void setQuery(String query) - { - this.query = query; - } - - public Boolean getAlwaysShow() - { - return alwaysShow; - } - - public void setAlwaysShow(Boolean alwaysShow) - { - this.alwaysShow = alwaysShow; - } - - public MetaVo getMeta() - { - return meta; - } - - public void setMeta(MetaVo meta) - { - this.meta = meta; - } - - public List<RouterVo> getChildren() - { - return children; - } - - public void setChildren(List<RouterVo> children) - { - this.children = children; - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/TreeSelect.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/TreeSelect.java deleted file mode 100644 index 9a00e21..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/TreeSelect.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.hrt.system.domain.vo; - -import java.io.Serializable; -import java.util.List; -import java.util.stream.Collectors; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.hrt.system.api.domain.SysDept; -import com.hrt.system.domain.poji.user.SysMenu; - -/** - * Treeselect树结构实体类 - * - * @author jqs - */ -public class TreeSelect implements Serializable -{ - private static final long serialVersionUID = 1L; - - /** 节点ID */ - private Long id; - - /** 节点名称 */ - private String label; - - /** 子节点 */ - @JsonInclude(JsonInclude.Include.NON_EMPTY) - private List<TreeSelect> children; - - public TreeSelect() - { - - } - - public TreeSelect(SysDept dept) - { - this.id = dept.getDeptId(); - this.label = dept.getDeptName(); - this.children = dept.getChildren().stream().map(TreeSelect::new).collect(Collectors.toList()); - } - - public TreeSelect(SysMenu menu) - { - this.id = menu.getMenuId(); - this.label = menu.getMenuName(); - this.children = menu.getChildren().stream().map(TreeSelect::new).collect(Collectors.toList()); - } - - public Long getId() - { - return id; - } - - public void setId(Long id) - { - this.id = id; - } - - public String getLabel() - { - return label; - } - - public void setLabel(String label) - { - this.label = label; - } - - public List<TreeSelect> getChildren() - { - return children; - } - - public void setChildren(List<TreeSelect> children) - { - this.children = children; - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/activity/ActivityGoodsMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/activity/ActivityGoodsMapper.java deleted file mode 100644 index fda05cc..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/activity/ActivityGoodsMapper.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.hrt.system.mapper.activity; - - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.hrt.system.domain.poji.activity.ActivityGoods; - -/** - * <p> - * Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-21 - */ -public interface ActivityGoodsMapper extends BaseMapper<ActivityGoods> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/coupon/CouponMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/coupon/CouponMapper.java deleted file mode 100644 index 1410465..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/coupon/CouponMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.mapper.coupon; - -import com.hrt.system.domain.poji.coupon.Coupon; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -/** - * <p> - * Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-18 - */ -public interface CouponMapper extends BaseMapper<Coupon> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/coupon/CouponRelGoodsMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/coupon/CouponRelGoodsMapper.java deleted file mode 100644 index 88cba61..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/coupon/CouponRelGoodsMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.mapper.coupon; - -import com.hrt.system.domain.poji.coupon.CouponRelGoods; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -/** - * <p> - * 优惠券商品关联 Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-18 - */ -public interface CouponRelGoodsMapper extends BaseMapper<CouponRelGoods> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/coupon/CouponRelUserMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/coupon/CouponRelUserMapper.java deleted file mode 100644 index b3d2d06..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/coupon/CouponRelUserMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.mapper.coupon; - -import com.hrt.system.domain.poji.coupon.CouponRelUser; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -/** - * <p> - * 优惠券用户关联 Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-18 - */ -public interface CouponRelUserMapper extends BaseMapper<CouponRelUser> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/coupon/CouponTotalMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/coupon/CouponTotalMapper.java deleted file mode 100644 index 283b6a0..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/coupon/CouponTotalMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.mapper.coupon; - -import com.hrt.system.domain.poji.coupon.CouponTotal; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -/** - * <p> - * Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-18 - */ -public interface CouponTotalMapper extends BaseMapper<CouponTotal> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/goods/GoodsFileMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/goods/GoodsFileMapper.java deleted file mode 100644 index acca2c9..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/goods/GoodsFileMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.mapper.goods; - -import com.hrt.system.domain.poji.goods.GoodsFile; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -/** - * <p> - * 商品图片 Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface GoodsFileMapper extends BaseMapper<GoodsFile> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/goods/GoodsMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/goods/GoodsMapper.java deleted file mode 100644 index 16d9f88..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/goods/GoodsMapper.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.hrt.system.mapper.goods; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.hrt.system.domain.dto.AppSearchGoodsPageDto; -import com.hrt.system.domain.dto.AppShopGoodsPageDto; -import com.hrt.system.domain.poji.goods.Goods; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.hrt.system.domain.vo.AppSimpleActivityGoodsVo; -import com.hrt.system.domain.vo.AppSimpleGoodsVo; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * <p> - * 商品表 Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface GoodsMapper extends BaseMapper<Goods> { - - /** - * 获取推荐商品列表 - * @param page - * @return - */ - List<AppSimpleGoodsVo> pageRecommendGoods(Page page, @Param("shopId")Long shopId); - - /** - * 获取商城商品列表 - * @param page - * @param appShopGoodsPageDto - * @return - */ - List<AppSimpleGoodsVo> pageShopGoods(Page page, @Param("param")AppShopGoodsPageDto appShopGoodsPageDto); - - /** - * 获取搜索商品列表 - * @param page - * @param appSearchGoodsPageDto - * @return - */ - List<AppSimpleGoodsVo> pageSearchGoods(Page page, @Param("param")AppSearchGoodsPageDto appSearchGoodsPageDto); - - /** - * 获取搜索商品列表 - * @param page - * @param appSearchGoodsPageDto - * @return - */ - List<AppSimpleActivityGoodsVo> pageSearchActivityGoods(Page page, @Param("param")AppSearchGoodsPageDto appSearchGoodsPageDto); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/goods/GoodsRelNurseMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/goods/GoodsRelNurseMapper.java deleted file mode 100644 index c8c46d8..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/goods/GoodsRelNurseMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.mapper.goods; - -import com.hrt.system.domain.poji.goods.GoodsRelNurse; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -/** - * <p> - * 商品调理问题 Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface GoodsRelNurseMapper extends BaseMapper<GoodsRelNurse> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/goods/GoodsRelTagMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/goods/GoodsRelTagMapper.java deleted file mode 100644 index 61f38f0..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/goods/GoodsRelTagMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.mapper.goods; - -import com.hrt.system.domain.poji.goods.GoodsRelTag; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -/** - * <p> - * 商品标签 Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface GoodsRelTagMapper extends BaseMapper<GoodsRelTag> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/goods/GoodsTotalMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/goods/GoodsTotalMapper.java deleted file mode 100644 index 039040d..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/goods/GoodsTotalMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.mapper.goods; - -import com.hrt.system.domain.poji.goods.GoodsTotal; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -/** - * <p> - * Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-18 - */ -public interface GoodsTotalMapper extends BaseMapper<GoodsTotal> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/member/MemberArchiveFieldsMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/member/MemberArchiveFieldsMapper.java deleted file mode 100644 index 39967f4..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/member/MemberArchiveFieldsMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.mapper.member; - -import com.hrt.system.domain.poji.member.MemberArchiveFields; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -/** - * <p> - * 档案字段 Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface MemberArchiveFieldsMapper extends BaseMapper<MemberArchiveFields> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/member/MemberArchiveMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/member/MemberArchiveMapper.java deleted file mode 100644 index 068ef15..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/member/MemberArchiveMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.mapper.member; - -import com.hrt.system.domain.poji.member.MemberArchive; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -/** - * <p> - * 会员档案信息 Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface MemberArchiveMapper extends BaseMapper<MemberArchive> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/member/MemberMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/member/MemberMapper.java deleted file mode 100644 index b453378..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/member/MemberMapper.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.hrt.system.mapper.member; - - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.hrt.system.domain.poji.member.Member; -import org.apache.ibatis.annotations.Param; - -/** - * <p> - * Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-19 - */ -public interface MemberMapper extends BaseMapper<Member> { - - /** - * - * @param miniOpenid - * @return - */ - Member getOneByMiniOpenid(@Param("miniOpenid")String miniOpenid); - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/member/MemberNurseMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/member/MemberNurseMapper.java deleted file mode 100644 index b1d4edb..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/member/MemberNurseMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.mapper.member; - -import com.hrt.system.domain.poji.member.MemberNurse; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -/** - * <p> - * 用户调理问题 Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-20 - */ -public interface MemberNurseMapper extends BaseMapper<MemberNurse> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/member/UserCouponMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/member/UserCouponMapper.java deleted file mode 100644 index 8423d02..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/member/UserCouponMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.mapper.member; - -import com.hrt.system.domain.poji.member.UserCoupon; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -/** - * <p> - * Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-18 - */ -public interface UserCouponMapper extends BaseMapper<UserCoupon> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/order/ConsumerGoodsMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/order/ConsumerGoodsMapper.java deleted file mode 100644 index 0a62d64..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/order/ConsumerGoodsMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.mapper.order; - -import com.hrt.system.domain.poji.order.ConsumerGoods; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -/** - * <p> - * 服务 Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface ConsumerGoodsMapper extends BaseMapper<ConsumerGoods> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/order/OrderGoodsMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/order/OrderGoodsMapper.java deleted file mode 100644 index 99b7530..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/order/OrderGoodsMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.mapper.order; - -import com.hrt.system.domain.poji.order.OrderGoods; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -/** - * <p> - * 订单商品 Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface OrderGoodsMapper extends BaseMapper<OrderGoods> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/order/OrderMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/order/OrderMapper.java deleted file mode 100644 index d5a3cc5..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/order/OrderMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.mapper.order; - -import com.hrt.system.domain.poji.order.Order; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -/** - * <p> - * 订单 Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface OrderMapper extends BaseMapper<Order> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/order/ShoppingCartMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/order/ShoppingCartMapper.java deleted file mode 100644 index f2cb7d4..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/order/ShoppingCartMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.mapper.order; - -import com.hrt.system.domain.poji.order.ShoppingCart; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -/** - * <p> - * 购物车 Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface ShoppingCartMapper extends BaseMapper<ShoppingCart> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/order/UserServiceRecordMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/order/UserServiceRecordMapper.java deleted file mode 100644 index 291ae14..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/order/UserServiceRecordMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.mapper.order; - -import com.hrt.system.domain.poji.order.UserServiceRecord; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -/** - * <p> - * 服务记录 Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface UserServiceRecordMapper extends BaseMapper<UserServiceRecord> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/MemberTaskMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/MemberTaskMapper.java deleted file mode 100644 index bfbf526..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/MemberTaskMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.mapper.shop; - -import com.hrt.system.domain.poji.shop.MemberTask; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -/** - * <p> - * 会员跟进任务 Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface MemberTaskMapper extends BaseMapper<MemberTask> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/MemberTaskRecordMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/MemberTaskRecordMapper.java deleted file mode 100644 index c8e7ff0..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/MemberTaskRecordMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.mapper.shop; - -import com.hrt.system.domain.poji.shop.MemberTaskRecord; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -/** - * <p> - * 会员跟进任务记录 Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface MemberTaskRecordMapper extends BaseMapper<MemberTaskRecord> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopCertificateMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopCertificateMapper.java deleted file mode 100644 index 8b7adaf..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopCertificateMapper.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.hrt.system.mapper.shop; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.hrt.system.domain.poji.shop.ShopCertificate; - - -/** - * <p> - * 商户证书 Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-20 - */ -public interface ShopCertificateMapper extends BaseMapper<ShopCertificate> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopFileMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopFileMapper.java deleted file mode 100644 index f6f2407..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopFileMapper.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.hrt.system.mapper.shop; - -import com.hrt.system.domain.poji.shop.ShopFile; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -/** - * <p> - * 商户图片 Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface ShopFileMapper extends BaseMapper<ShopFile> { - - /** - * 通过商户id删除关联 - * @param shopId - */ - void deleteByShopId(Long shopId); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopGoodsMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopGoodsMapper.java deleted file mode 100644 index a1438fc..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopGoodsMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.mapper.shop; - -import com.hrt.system.domain.poji.shop.ShopGoods; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -/** - * <p> - * 商户定制商品 Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface ShopGoodsMapper extends BaseMapper<ShopGoods> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopMapper.java deleted file mode 100644 index a44158f..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopMapper.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.hrt.system.mapper.shop; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.hrt.system.domain.dto.MgtShopPageDto; -import com.hrt.system.domain.poji.shop.Shop; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.hrt.system.domain.vo.MgtShopPageVo; - -import java.util.List; - -/** - * <p> - * 商户表 Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface ShopMapper extends BaseMapper<Shop> { - /** - * 分页获取商户 - * @param page - * @param mgtShopPageDto - * @return - */ - List<MgtShopPageVo> pageShop(Page page, MgtShopPageDto mgtShopPageDto); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopMarketingMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopMarketingMapper.java deleted file mode 100644 index 471754f..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopMarketingMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.mapper.shop; - -import com.hrt.system.domain.poji.shop.ShopMarketing; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -/** - * <p> - * 商户营销 Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface ShopMarketingMapper extends BaseMapper<ShopMarketing> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopRelTagMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopRelTagMapper.java deleted file mode 100644 index 8f447a0..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopRelTagMapper.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.hrt.system.mapper.shop; - -import com.hrt.system.domain.poji.shop.ShopRelTag; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.hrt.system.domain.vo.MgtShopTagVo; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * <p> - * 商户标签 Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface ShopRelTagMapper extends BaseMapper<ShopRelTag> { - - - /** - * 通过商户id删除关联 - * @param shopId - */ - void deleteByShopId(@Param("param") Long shopId); - - /** - * 获取商户标签 - * @param shopId - * @return - */ - List<MgtShopTagVo> listShopTagVo(@Param("param")Long shopId); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopRelUserMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopRelUserMapper.java deleted file mode 100644 index a064295..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopRelUserMapper.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.hrt.system.mapper.shop; - -import com.hrt.system.domain.poji.shop.ShopRelUser; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -/** - * <p> - * 商户关联员工 Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface ShopRelUserMapper extends BaseMapper<ShopRelUser> { - - /** - * 通过商户id删除关联 - * @param shopId - */ - void deleteByShopId(Long shopId); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopTaskMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopTaskMapper.java deleted file mode 100644 index f569f13..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopTaskMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.mapper.shop; - -import com.hrt.system.domain.poji.shop.ShopTask; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -/** - * <p> - * 商户跟进任务 Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface ShopTaskMapper extends BaseMapper<ShopTask> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopTransferRecordMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopTransferRecordMapper.java deleted file mode 100644 index f191304..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopTransferRecordMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.mapper.shop; - -import com.hrt.system.domain.poji.shop.ShopTransferRecord; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -/** - * <p> - * 商户员工转移记录 Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface ShopTransferRecordMapper extends BaseMapper<ShopTransferRecord> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/TaskFileMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/TaskFileMapper.java deleted file mode 100644 index 8863120..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/TaskFileMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.mapper.shop; - -import com.hrt.system.domain.poji.shop.TaskFile; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -/** - * <p> - * 跟进附件 Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface TaskFileMapper extends BaseMapper<TaskFile> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/AdvertMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/AdvertMapper.java deleted file mode 100644 index 0f1dfff..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/AdvertMapper.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.hrt.system.mapper.sys; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.hrt.system.domain.poji.sys.Advert; -import com.hrt.system.domain.vo.AppAdvertVo; - -/** - * <p> - * 快速入口 Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-20 - */ -public interface AdvertMapper extends BaseMapper<Advert> { - - /** - * 获取首页广告 - * @return - */ - AppAdvertVo getAdvertVo(); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/AgreementMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/AgreementMapper.java deleted file mode 100644 index 93349c5..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/AgreementMapper.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.hrt.system.mapper.sys; - -import com.hrt.system.domain.poji.sys.Agreement; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.hrt.system.domain.vo.AppAgreementVo; -import org.apache.ibatis.annotations.Param; - -/** - * <p> - * 协议 Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface AgreementMapper extends BaseMapper<Agreement> { - - /** - * 通过协议类型获取协议 - * @param type - * @return - */ - AppAgreementVo getAppAgreementVoByType(@Param("type")Integer type); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/BannerMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/BannerMapper.java deleted file mode 100644 index 4431e2b..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/BannerMapper.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.hrt.system.mapper.sys; - -import com.hrt.system.domain.poji.sys.Banner; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.hrt.system.domain.vo.AppBannerVo; - -import java.util.List; - -/** - * <p> - * banner Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface BannerMapper extends BaseMapper<Banner> { - - - /** - * 获取首页banner - * @return - */ - List<AppBannerVo> listHomeBannerVo(); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/CustomeConfigMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/CustomeConfigMapper.java deleted file mode 100644 index 0d4e335..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/CustomeConfigMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.mapper.sys; - -import com.hrt.system.domain.poji.sys.CustomeConfig; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -/** - * <p> - * 系统配置 Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface CustomeConfigMapper extends BaseMapper<CustomeConfig> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/PopMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/PopMapper.java deleted file mode 100644 index eb603f8..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/PopMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.mapper.sys; - -import com.hrt.system.domain.poji.sys.Pop; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -/** - * <p> - * 弹窗 Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface PopMapper extends BaseMapper<Pop> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/QuickEntryMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/QuickEntryMapper.java deleted file mode 100644 index 9824358..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/QuickEntryMapper.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.hrt.system.mapper.sys; - -import com.hrt.system.domain.poji.sys.QuickEntry; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.hrt.system.domain.vo.AppQuickEntryVo; - -import java.util.List; - -/** - * <p> - * 快速入口 Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface QuickEntryMapper extends BaseMapper<QuickEntry> { - - /** - * 获取快速入口列表 - * @return - */ - List<AppQuickEntryVo> listQuickEntryVo(); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/SysClassificationMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/SysClassificationMapper.java deleted file mode 100644 index b93b026..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/SysClassificationMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.mapper.sys; - -import com.hrt.system.domain.poji.sys.SysClassification; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -/** - * <p> - * 分类 Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-18 - */ -public interface SysClassificationMapper extends BaseMapper<SysClassification> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/SysConfigMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/SysConfigMapper.java deleted file mode 100644 index 1b93f76..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/SysConfigMapper.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.hrt.system.mapper.sys; - -import java.util.List; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.hrt.system.domain.poji.sys.SysConfig; - -/** - * 参数配置 数据层 - * - * @author jqs - */ -public interface SysConfigMapper extends BaseMapper<SysConfig> -{ - /** - * 查询参数配置信息 - * - * @param config 参数配置信息 - * @return 参数配置信息 - */ - public SysConfig selectConfig(SysConfig config); - - /** - * 通过ID查询配置 - * - * @param configId 参数ID - * @return 参数配置信息 - */ - public SysConfig selectConfigById(Long configId); - - /** - * 查询参数配置列表 - * - * @param config 参数配置信息 - * @return 参数配置集合 - */ - public List<SysConfig> selectConfigList(SysConfig config); - - /** - * 根据键名查询参数配置信息 - * - * @param configKey 参数键名 - * @return 参数配置信息 - */ - public SysConfig checkConfigKeyUnique(String configKey); - - /** - * 新增参数配置 - * - * @param config 参数配置信息 - * @return 结果 - */ - public int insertConfig(SysConfig config); - - /** - * 修改参数配置 - * - * @param config 参数配置信息 - * @return 结果 - */ - public int updateConfig(SysConfig config); - - /** - * 删除参数配置 - * - * @param configId 参数ID - * @return 结果 - */ - public int deleteConfigById(Long configId); - - /** - * 批量删除参数信息 - * - * @param configIds 需要删除的参数ID - * @return 结果 - */ - public int deleteConfigByIds(Long[] configIds); -} \ No newline at end of file diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/SysDictDataMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/SysDictDataMapper.java deleted file mode 100644 index e276335..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/SysDictDataMapper.java +++ /dev/null @@ -1,97 +0,0 @@ -package com.hrt.system.mapper.sys; - -import java.util.List; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Param; -import com.hrt.system.api.domain.SysDictData; - -/** - * 字典表 数据层 - * - * @author jqs - */ -public interface SysDictDataMapper extends BaseMapper<SysDictData> -{ - /** - * 根据条件分页查询字典数据 - * - * @param dictData 字典数据信息 - * @return 字典数据集合信息 - */ - public List<SysDictData> selectDictDataList(SysDictData dictData); - - /** - * 根据字典类型查询字典数据 - * - * @param dictType 字典类型 - * @return 字典数据集合信息 - */ - public List<SysDictData> selectDictDataByType(String dictType); - - /** - * 根据字典类型和字典键值查询字典数据信息 - * - * @param dictType 字典类型 - * @param dictValue 字典键值 - * @return 字典标签 - */ - public String selectDictLabel(@Param("dictType") String dictType, @Param("dictValue") String dictValue); - - /** - * 根据字典数据ID查询信息 - * - * @param dictCode 字典数据ID - * @return 字典数据 - */ - public SysDictData selectDictDataById(Long dictCode); - - /** - * 查询字典数据 - * - * @param dictType 字典类型 - * @return 字典数据 - */ - public int countDictDataByType(String dictType); - - /** - * 通过字典ID删除字典数据信息 - * - * @param dictCode 字典数据ID - * @return 结果 - */ - public int deleteDictDataById(Long dictCode); - - /** - * 批量删除字典数据信息 - * - * @param dictCodes 需要删除的字典数据ID - * @return 结果 - */ - public int deleteDictDataByIds(Long[] dictCodes); - - /** - * 新增字典数据信息 - * - * @param dictData 字典数据信息 - * @return 结果 - */ - public int insertDictData(SysDictData dictData); - - /** - * 修改字典数据信息 - * - * @param dictData 字典数据信息 - * @return 结果 - */ - public int updateDictData(SysDictData dictData); - - /** - * 同步修改字典类型 - * - * @param oldDictType 旧字典类型 - * @param newDictType 新旧字典类型 - * @return 结果 - */ - public int updateDictDataType(@Param("oldDictType") String oldDictType, @Param("newDictType") String newDictType); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/SysDictTypeMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/SysDictTypeMapper.java deleted file mode 100644 index 0711e9f..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/SysDictTypeMapper.java +++ /dev/null @@ -1,86 +0,0 @@ -package com.hrt.system.mapper.sys; - -import java.util.List; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.hrt.system.api.domain.SysDictData; -import com.hrt.system.api.domain.SysDictType; - -/** - * 字典表 数据层 - * - * @author jqs - */ -public interface SysDictTypeMapper extends BaseMapper<SysDictType> -{ - /** - * 根据条件分页查询字典类型 - * - * @param dictType 字典类型信息 - * @return 字典类型集合信息 - */ - public List<SysDictType> selectDictTypeList(SysDictType dictType); - - /** - * 根据所有字典类型 - * - * @return 字典类型集合信息 - */ - public List<SysDictType> selectDictTypeAll(); - - /** - * 根据字典类型ID查询信息 - * - * @param dictId 字典类型ID - * @return 字典类型 - */ - public SysDictType selectDictTypeById(Long dictId); - - /** - * 根据字典类型查询信息 - * - * @param dictType 字典类型 - * @return 字典类型 - */ - public SysDictType selectDictTypeByType(String dictType); - - /** - * 通过字典ID删除字典信息 - * - * @param dictId 字典ID - * @return 结果 - */ - public int deleteDictTypeById(Long dictId); - - /** - * 批量删除字典类型信息 - * - * @param dictIds 需要删除的字典ID - * @return 结果 - */ - public int deleteDictTypeByIds(Long[] dictIds); - - /** - * 新增字典类型信息 - * - * @param dictType 字典类型信息 - * @return 结果 - */ - public int insertDictType(SysDictType dictType); - - /** - * 修改字典类型信息 - * - * @param dictType 字典类型信息 - * @return 结果 - */ - public int updateDictType(SysDictType dictType); - - /** - * 校验字典类型称是否唯一 - * - * @param dictType 字典类型 - * @return 结果 - */ - public SysDictType checkDictTypeUnique(String dictType); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/SysNoticeMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/SysNoticeMapper.java deleted file mode 100644 index 6ced696..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/SysNoticeMapper.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.hrt.system.mapper.sys; - -import java.util.List; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.hrt.system.domain.poji.sys.SysNotice; - -/** - * 通知公告表 数据层 - * - * @author jqs - */ -public interface SysNoticeMapper extends BaseMapper<SysNotice> -{ - /** - * 查询公告信息 - * - * @param noticeId 公告ID - * @return 公告信息 - */ - public SysNotice selectNoticeById(Long noticeId); - - /** - * 查询公告列表 - * - * @param notice 公告信息 - * @return 公告集合 - */ - public List<SysNotice> selectNoticeList(SysNotice notice); - - /** - * 新增公告 - * - * @param notice 公告信息 - * @return 结果 - */ - public int insertNotice(SysNotice notice); - - /** - * 修改公告 - * - * @param notice 公告信息 - * @return 结果 - */ - public int updateNotice(SysNotice notice); - - /** - * 批量删除公告 - * - * @param noticeId 公告ID - * @return 结果 - */ - public int deleteNoticeById(Long noticeId); - - /** - * 批量删除公告信息 - * - * @param noticeIds 需要删除的公告ID - * @return 结果 - */ - public int deleteNoticeByIds(Long[] noticeIds); -} \ No newline at end of file diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/SysTagMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/SysTagMapper.java deleted file mode 100644 index b583a35..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/SysTagMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.mapper.sys; - -import com.hrt.system.domain.poji.sys.SysTag; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -/** - * <p> - * 系统标签 Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface SysTagMapper extends BaseMapper<SysTag> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysDeptMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysDeptMapper.java deleted file mode 100644 index 88aae29..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysDeptMapper.java +++ /dev/null @@ -1,121 +0,0 @@ -package com.hrt.system.mapper.user; - -import java.util.List; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.hrt.system.api.domain.SysDictType; -import org.apache.ibatis.annotations.Param; -import com.hrt.system.api.domain.SysDept; - -/** - * 部门管理 数据层 - * - * @author jqs - */ -public interface SysDeptMapper extends BaseMapper<SysDept> -{ - /** - * 查询部门管理数据 - * - * @param dept 部门信息 - * @return 部门信息集合 - */ - public List<SysDept> selectDeptList(SysDept dept); - - /** - * 根据角色ID查询部门树信息 - * - * @param roleId 角色ID - * @param deptCheckStrictly 部门树选择项是否关联显示 - * @return 选中部门列表 - */ - public List<Long> selectDeptListByRoleId(@Param("roleId") Long roleId, @Param("deptCheckStrictly") boolean deptCheckStrictly); - - /** - * 根据部门ID查询信息 - * - * @param deptId 部门ID - * @return 部门信息 - */ - public SysDept selectDeptById(Long deptId); - - /** - * 根据ID查询所有子部门 - * - * @param deptId 部门ID - * @return 部门列表 - */ - public List<SysDept> selectChildrenDeptById(Long deptId); - - /** - * 根据ID查询所有子部门(正常状态) - * - * @param deptId 部门ID - * @return 子部门数 - */ - public int selectNormalChildrenDeptById(Long deptId); - - /** - * 是否存在子节点 - * - * @param deptId 部门ID - * @return 结果 - */ - public int hasChildByDeptId(Long deptId); - - /** - * 查询部门是否存在用户 - * - * @param deptId 部门ID - * @return 结果 - */ - public int checkDeptExistUser(Long deptId); - - /** - * 校验部门名称是否唯一 - * - * @param deptName 部门名称 - * @param parentId 父部门ID - * @return 结果 - */ - public SysDept checkDeptNameUnique(@Param("deptName") String deptName, @Param("parentId") Long parentId); - - /** - * 新增部门信息 - * - * @param dept 部门信息 - * @return 结果 - */ - public int insertDept(SysDept dept); - - /** - * 修改部门信息 - * - * @param dept 部门信息 - * @return 结果 - */ - public int updateDept(SysDept dept); - - /** - * 修改所在部门正常状态 - * - * @param deptIds 部门ID组 - */ - public void updateDeptStatusNormal(Long[] deptIds); - - /** - * 修改子元素关系 - * - * @param depts 子元素 - * @return 结果 - */ - public int updateDeptChildren(@Param("depts") List<SysDept> depts); - - /** - * 删除部门管理信息 - * - * @param deptId 部门ID - * @return 结果 - */ - public int deleteDeptById(Long deptId); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysLogininforMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysLogininforMapper.java deleted file mode 100644 index 2780b63..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysLogininforMapper.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.hrt.system.mapper.user; - -import java.util.List; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.hrt.system.api.domain.SysDept; -import com.hrt.system.api.domain.SysLogininfor; - -/** - * 系统访问日志情况信息 数据层 - * - * @author jqs - */ -public interface SysLogininforMapper extends BaseMapper<SysLogininfor> -{ - /** - * 新增系统登录日志 - * - * @param logininfor 访问日志对象 - */ - public int insertLogininfor(SysLogininfor logininfor); - - /** - * 查询系统登录日志集合 - * - * @param logininfor 访问日志对象 - * @return 登录记录集合 - */ - public List<SysLogininfor> selectLogininforList(SysLogininfor logininfor); - - /** - * 批量删除系统登录日志 - * - * @param infoIds 需要删除的登录日志ID - * @return 结果 - */ - public int deleteLogininforByIds(Long[] infoIds); - - /** - * 清空系统登录日志 - * - * @return 结果 - */ - public int cleanLogininfor(); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysMenuMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysMenuMapper.java deleted file mode 100644 index 779375f..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysMenuMapper.java +++ /dev/null @@ -1,127 +0,0 @@ -package com.hrt.system.mapper.user; - -import java.util.List; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Param; -import com.hrt.system.domain.poji.user.SysMenu; - -/** - * 菜单表 数据层 - * - * @author jqs - */ -public interface SysMenuMapper extends BaseMapper<SysMenu> -{ - /** - * 查询系统菜单列表 - * - * @param menu 菜单信息 - * @return 菜单列表 - */ - public List<SysMenu> selectMenuList(SysMenu menu); - - /** - * 根据用户所有权限 - * - * @return 权限列表 - */ - public List<String> selectMenuPerms(); - - /** - * 根据用户查询系统菜单列表 - * - * @param menu 菜单信息 - * @return 菜单列表 - */ - public List<SysMenu> selectMenuListByUserId(SysMenu menu); - - /** - * 根据角色ID查询权限 - * - * @param roleId 角色ID - * @return 权限列表 - */ - public List<String> selectMenuPermsByRoleId(Long roleId); - - /** - * 根据用户ID查询权限 - * - * @param userId 用户ID - * @return 权限列表 - */ - public List<String> selectMenuPermsByUserId(Long userId); - - /** - * 根据用户ID查询菜单 - * - * @return 菜单列表 - */ - public List<SysMenu> selectMenuTreeAll(); - - /** - * 根据用户ID查询菜单 - * - * @param userId 用户ID - * @return 菜单列表 - */ - public List<SysMenu> selectMenuTreeByUserId(Long userId); - - /** - * 根据角色ID查询菜单树信息 - * - * @param roleId 角色ID - * @param menuCheckStrictly 菜单树选择项是否关联显示 - * @return 选中菜单列表 - */ - public List<Long> selectMenuListByRoleId(@Param("roleId") Long roleId, @Param("menuCheckStrictly") boolean menuCheckStrictly); - - /** - * 根据菜单ID查询信息 - * - * @param menuId 菜单ID - * @return 菜单信息 - */ - public SysMenu selectMenuById(Long menuId); - - /** - * 是否存在菜单子节点 - * - * @param menuId 菜单ID - * @return 结果 - */ - public int hasChildByMenuId(Long menuId); - - /** - * 新增菜单信息 - * - * @param menu 菜单信息 - * @return 结果 - */ - public int insertMenu(SysMenu menu); - - /** - * 修改菜单信息 - * - * @param menu 菜单信息 - * @return 结果 - */ - public int updateMenu(SysMenu menu); - - /** - * 删除菜单管理信息 - * - * @param menuId 菜单ID - * @return 结果 - */ - public int deleteMenuById(Long menuId); - - /** - * 校验菜单名称是否唯一 - * - * @param menuName 菜单名称 - * @param parentId 父菜单ID - * @return 结果 - */ - public SysMenu checkMenuNameUnique(@Param("menuName") String menuName, @Param("parentId") Long parentId); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysOperLogMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysOperLogMapper.java deleted file mode 100644 index d7cb1f1..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysOperLogMapper.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.hrt.system.mapper.user; - -import java.util.List; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.hrt.system.api.domain.SysOperLog; - -/** - * 操作日志 数据层 - * - * @author jqs - */ -public interface SysOperLogMapper extends BaseMapper<SysOperLog> -{ - /** - * 新增操作日志 - * - * @param operLog 操作日志对象 - */ - public int insertOperlog(SysOperLog operLog); - - /** - * 查询系统操作日志集合 - * - * @param operLog 操作日志对象 - * @return 操作日志集合 - */ - public List<SysOperLog> selectOperLogList(SysOperLog operLog); - - /** - * 批量删除系统操作日志 - * - * @param operIds 需要删除的操作日志ID - * @return 结果 - */ - public int deleteOperLogByIds(Long[] operIds); - - /** - * 查询操作日志详细 - * - * @param operId 操作ID - * @return 操作日志对象 - */ - public SysOperLog selectOperLogById(Long operId); - - /** - * 清空操作日志 - */ - public void cleanOperLog(); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysPostMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysPostMapper.java deleted file mode 100644 index f78e0b9..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysPostMapper.java +++ /dev/null @@ -1,101 +0,0 @@ -package com.hrt.system.mapper.user; - -import java.util.List; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.hrt.system.domain.poji.user.SysPost; - -/** - * 岗位信息 数据层 - * - * @author jqs - */ -public interface SysPostMapper extends BaseMapper<SysPost> -{ - /** - * 查询岗位数据集合 - * - * @param post 岗位信息 - * @return 岗位数据集合 - */ - public List<SysPost> selectPostList(SysPost post); - - /** - * 查询所有岗位 - * - * @return 岗位列表 - */ - public List<SysPost> selectPostAll(); - - /** - * 通过岗位ID查询岗位信息 - * - * @param postId 岗位ID - * @return 角色对象信息 - */ - public SysPost selectPostById(Long postId); - - /** - * 根据用户ID获取岗位选择框列表 - * - * @param userId 用户ID - * @return 选中岗位ID列表 - */ - public List<Long> selectPostListByUserId(Long userId); - - /** - * 查询用户所属岗位组 - * - * @param userName 用户名 - * @return 结果 - */ - public List<SysPost> selectPostsByUserName(String userName); - - /** - * 删除岗位信息 - * - * @param postId 岗位ID - * @return 结果 - */ - public int deletePostById(Long postId); - - /** - * 批量删除岗位信息 - * - * @param postIds 需要删除的岗位ID - * @return 结果 - */ - public int deletePostByIds(Long[] postIds); - - /** - * 修改岗位信息 - * - * @param post 岗位信息 - * @return 结果 - */ - public int updatePost(SysPost post); - - /** - * 新增岗位信息 - * - * @param post 岗位信息 - * @return 结果 - */ - public int insertPost(SysPost post); - - /** - * 校验岗位名称 - * - * @param postName 岗位名称 - * @return 结果 - */ - public SysPost checkPostNameUnique(String postName); - - /** - * 校验岗位编码 - * - * @param postCode 岗位编码 - * @return 结果 - */ - public SysPost checkPostCodeUnique(String postCode); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysRoleDeptMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysRoleDeptMapper.java deleted file mode 100644 index ce94ea4..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysRoleDeptMapper.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.hrt.system.mapper.user; - -import java.util.List; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.hrt.system.domain.poji.user.SysRoleDept; - -/** - * 角色与部门关联表 数据层 - * - * @author jqs - */ -public interface SysRoleDeptMapper extends BaseMapper<SysRoleDept> -{ - /** - * 通过角色ID删除角色和部门关联 - * - * @param roleId 角色ID - * @return 结果 - */ - public int deleteRoleDeptByRoleId(Long roleId); - - /** - * 批量删除角色部门关联信息 - * - * @param ids 需要删除的数据ID - * @return 结果 - */ - public int deleteRoleDept(Long[] ids); - - /** - * 查询部门使用数量 - * - * @param deptId 部门ID - * @return 结果 - */ - public int selectCountRoleDeptByDeptId(Long deptId); - - /** - * 批量新增角色部门信息 - * - * @param roleDeptList 角色部门列表 - * @return 结果 - */ - public int batchRoleDept(List<SysRoleDept> roleDeptList); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysRoleMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysRoleMapper.java deleted file mode 100644 index 680ac85..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysRoleMapper.java +++ /dev/null @@ -1,109 +0,0 @@ -package com.hrt.system.mapper.user; - -import java.util.List; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.hrt.system.api.domain.SysRole; - -/** - * 角色表 数据层 - * - * @author jqs - */ -public interface SysRoleMapper extends BaseMapper<SysRole> -{ - /** - * 根据条件分页查询角色数据 - * - * @param role 角色信息 - * @return 角色数据集合信息 - */ - public List<SysRole> selectRoleList(SysRole role); - - /** - * 根据用户ID查询角色 - * - * @param userId 用户ID - * @return 角色列表 - */ - public List<SysRole> selectRolePermissionByUserId(Long userId); - - /** - * 查询所有角色 - * - * @return 角色列表 - */ - public List<SysRole> selectRoleAll(); - - /** - * 根据用户ID获取角色选择框列表 - * - * @param userId 用户ID - * @return 选中角色ID列表 - */ - public List<Long> selectRoleListByUserId(Long userId); - - /** - * 通过角色ID查询角色 - * - * @param roleId 角色ID - * @return 角色对象信息 - */ - public SysRole selectRoleById(Long roleId); - - /** - * 根据用户ID查询角色 - * - * @param userName 用户名 - * @return 角色列表 - */ - public List<SysRole> selectRolesByUserName(String userName); - - /** - * 校验角色名称是否唯一 - * - * @param roleName 角色名称 - * @return 角色信息 - */ - public SysRole checkRoleNameUnique(String roleName); - - /** - * 校验角色权限是否唯一 - * - * @param roleKey 角色权限 - * @return 角色信息 - */ - public SysRole checkRoleKeyUnique(String roleKey); - - /** - * 修改角色信息 - * - * @param role 角色信息 - * @return 结果 - */ - public int updateRole(SysRole role); - - /** - * 新增角色信息 - * - * @param role 角色信息 - * @return 结果 - */ - public int insertRole(SysRole role); - - /** - * 通过角色ID删除角色 - * - * @param roleId 角色ID - * @return 结果 - */ - public int deleteRoleById(Long roleId); - - /** - * 批量删除角色信息 - * - * @param roleIds 需要删除的角色ID - * @return 结果 - */ - public int deleteRoleByIds(Long[] roleIds); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysRoleMenuMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysRoleMenuMapper.java deleted file mode 100644 index b5508fa..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysRoleMenuMapper.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.hrt.system.mapper.user; - -import java.util.List; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.hrt.system.domain.poji.user.SysRoleMenu; - -/** - * 角色与菜单关联表 数据层 - * - * @author jqs - */ -public interface SysRoleMenuMapper extends BaseMapper<SysRoleMenu> -{ - /** - * 查询菜单使用数量 - * - * @param menuId 菜单ID - * @return 结果 - */ - public int checkMenuExistRole(Long menuId); - - /** - * 通过角色ID删除角色和菜单关联 - * - * @param roleId 角色ID - * @return 结果 - */ - public int deleteRoleMenuByRoleId(Long roleId); - - /** - * 批量删除角色菜单关联信息 - * - * @param ids 需要删除的数据ID - * @return 结果 - */ - public int deleteRoleMenu(Long[] ids); - - /** - * 批量新增角色菜单信息 - * - * @param roleMenuList 角色菜单列表 - * @return 结果 - */ - public int batchRoleMenu(List<SysRoleMenu> roleMenuList); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysUserMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysUserMapper.java deleted file mode 100644 index 57f5735..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysUserMapper.java +++ /dev/null @@ -1,129 +0,0 @@ -package com.hrt.system.mapper.user; - -import java.util.List; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Param; -import com.hrt.system.api.domain.SysUser; - -/** - * 用户表 数据层 - * - * @author jqs - */ -public interface SysUserMapper extends BaseMapper<SysUser> -{ - /** - * 根据条件分页查询用户列表 - * - * @param sysUser 用户信息 - * @return 用户信息集合信息 - */ - public List<SysUser> selectUserList(SysUser sysUser); - - /** - * 根据条件分页查询已配用户角色列表 - * - * @param user 用户信息 - * @return 用户信息集合信息 - */ - public List<SysUser> selectAllocatedList(SysUser user); - - /** - * 根据条件分页查询未分配用户角色列表 - * - * @param user 用户信息 - * @return 用户信息集合信息 - */ - public List<SysUser> selectUnallocatedList(SysUser user); - - /** - * 通过用户名查询用户 - * - * @param userName 用户名 - * @return 用户对象信息 - */ - public SysUser selectUserByUserName(String userName); - - /** - * 通过用户ID查询用户 - * - * @param userId 用户ID - * @return 用户对象信息 - */ - public SysUser selectUserById(Long userId); - - /** - * 新增用户信息 - * - * @param user 用户信息 - * @return 结果 - */ - public int insertUser(SysUser user); - - /** - * 修改用户信息 - * - * @param user 用户信息 - * @return 结果 - */ - public int updateUser(SysUser user); - - /** - * 修改用户头像 - * - * @param userName 用户名 - * @param avatar 头像地址 - * @return 结果 - */ - public int updateUserAvatar(@Param("userName") String userName, @Param("avatar") String avatar); - - /** - * 重置用户密码 - * - * @param userName 用户名 - * @param password 密码 - * @return 结果 - */ - public int resetUserPwd(@Param("userName") String userName, @Param("password") String password); - - /** - * 通过用户ID删除用户 - * - * @param userId 用户ID - * @return 结果 - */ - public int deleteUserById(Long userId); - - /** - * 批量删除用户信息 - * - * @param userIds 需要删除的用户ID - * @return 结果 - */ - public int deleteUserByIds(Long[] userIds); - - /** - * 校验用户名称是否唯一 - * - * @param userName 用户名称 - * @return 结果 - */ - public SysUser checkUserNameUnique(String userName); - - /** - * 校验手机号码是否唯一 - * - * @param phonenumber 手机号码 - * @return 结果 - */ - public SysUser checkPhoneUnique(String phonenumber); - - /** - * 校验email是否唯一 - * - * @param email 用户邮箱 - * @return 结果 - */ - public SysUser checkEmailUnique(String email); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysUserPostMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysUserPostMapper.java deleted file mode 100644 index 1217f96..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysUserPostMapper.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.hrt.system.mapper.user; - -import java.util.List; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.hrt.system.domain.poji.user.SysUserPost; - -/** - * 用户与岗位关联表 数据层 - * - * @author jqs - */ -public interface SysUserPostMapper extends BaseMapper<SysUserPost> -{ - /** - * 通过用户ID删除用户和岗位关联 - * - * @param userId 用户ID - * @return 结果 - */ - public int deleteUserPostByUserId(Long userId); - - /** - * 通过岗位ID查询岗位使用数量 - * - * @param postId 岗位ID - * @return 结果 - */ - public int countUserPostById(Long postId); - - /** - * 批量删除用户和岗位关联 - * - * @param ids 需要删除的数据ID - * @return 结果 - */ - public int deleteUserPost(Long[] ids); - - /** - * 批量新增用户岗位信息 - * - * @param userPostList 用户角色列表 - * @return 结果 - */ - public int batchUserPost(List<SysUserPost> userPostList); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysUserRoleMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysUserRoleMapper.java deleted file mode 100644 index fadfcc0..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysUserRoleMapper.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.hrt.system.mapper.user; - -import java.util.List; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.hrt.system.domain.poji.user.SysUserRole; -import org.apache.ibatis.annotations.Param; - -/** - * 用户与角色关联表 数据层 - * - * @author jqs - */ -public interface SysUserRoleMapper extends BaseMapper<SysUserRole> -{ - /** - * 通过用户ID删除用户和角色关联 - * - * @param userId 用户ID - * @return 结果 - */ - public int deleteUserRoleByUserId(Long userId); - - /** - * 批量删除用户和角色关联 - * - * @param ids 需要删除的数据ID - * @return 结果 - */ - public int deleteUserRole(Long[] ids); - - /** - * 通过角色ID查询角色使用数量 - * - * @param roleId 角色ID - * @return 结果 - */ - public int countUserRoleByRoleId(Long roleId); - - /** - * 批量新增用户角色信息 - * - * @param userRoleList 用户角色列表 - * @return 结果 - */ - public int batchUserRole(List<SysUserRole> userRoleList); - - /** - * 删除用户和角色关联信息 - * - * @param userRole 用户和角色关联信息 - * @return 结果 - */ - public int deleteUserRoleInfo(SysUserRole userRole); - - /** - * 批量取消授权用户角色 - * - * @param roleId 角色ID - * @param userIds 需要删除的用户数据ID - * @return 结果 - */ - public int deleteUserRoleInfos(@Param("roleId") Long roleId, @Param("userIds") Long[] userIds); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/activity/ActivityGoodsService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/activity/ActivityGoodsService.java deleted file mode 100644 index 56f96ee..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/activity/ActivityGoodsService.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.hrt.system.service.activity; - - -import com.baomidou.mybatisplus.extension.service.IService; -import com.hrt.system.domain.poji.activity.ActivityGoods; - -/** - * <p> - * 服务类 - * </p> - * - * @author jqs - * @since 2023-04-21 - */ -public interface ActivityGoodsService extends IService<ActivityGoods> { - - /** - * 通过id获取活动商品 - * @param goodsId - * @return - */ - ActivityGoods getByGoodsId(String goodsId); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/coupon/CouponRelGoodsService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/coupon/CouponRelGoodsService.java deleted file mode 100644 index a57c139..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/coupon/CouponRelGoodsService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.service.coupon; - -import com.hrt.system.domain.poji.coupon.CouponRelGoods; -import com.baomidou.mybatisplus.extension.service.IService; - -/** - * <p> - * 优惠券商品关联 服务类 - * </p> - * - * @author jqs - * @since 2023-04-18 - */ -public interface CouponRelGoodsService extends IService<CouponRelGoods> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/coupon/CouponRelUserService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/coupon/CouponRelUserService.java deleted file mode 100644 index 5d32478..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/coupon/CouponRelUserService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.service.coupon; - -import com.hrt.system.domain.poji.coupon.CouponRelUser; -import com.baomidou.mybatisplus.extension.service.IService; - -/** - * <p> - * 优惠券用户关联 服务类 - * </p> - * - * @author jqs - * @since 2023-04-18 - */ -public interface CouponRelUserService extends IService<CouponRelUser> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/coupon/CouponService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/coupon/CouponService.java deleted file mode 100644 index 9e2513d..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/coupon/CouponService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.service.coupon; - -import com.hrt.system.domain.poji.coupon.Coupon; -import com.baomidou.mybatisplus.extension.service.IService; - -/** - * <p> - * 服务类 - * </p> - * - * @author jqs - * @since 2023-04-18 - */ -public interface CouponService extends IService<Coupon> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/coupon/CouponTotalService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/coupon/CouponTotalService.java deleted file mode 100644 index 11f504f..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/coupon/CouponTotalService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.service.coupon; - -import com.hrt.system.domain.poji.coupon.CouponTotal; -import com.baomidou.mybatisplus.extension.service.IService; - -/** - * <p> - * 服务类 - * </p> - * - * @author jqs - * @since 2023-04-18 - */ -public interface CouponTotalService extends IService<CouponTotal> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/goods/GoodsFileService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/goods/GoodsFileService.java deleted file mode 100644 index 519d098..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/goods/GoodsFileService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.service.goods; - -import com.hrt.system.domain.poji.goods.GoodsFile; -import com.baomidou.mybatisplus.extension.service.IService; - -/** - * <p> - * 商品图片 服务类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface GoodsFileService extends IService<GoodsFile> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/goods/GoodsRelNurseService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/goods/GoodsRelNurseService.java deleted file mode 100644 index 2cb1f45..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/goods/GoodsRelNurseService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.service.goods; - -import com.hrt.system.domain.poji.goods.GoodsRelNurse; -import com.baomidou.mybatisplus.extension.service.IService; - -/** - * <p> - * 商品调理问题 服务类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface GoodsRelNurseService extends IService<GoodsRelNurse> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/goods/GoodsRelTagService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/goods/GoodsRelTagService.java deleted file mode 100644 index 2d83e64..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/goods/GoodsRelTagService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.service.goods; - -import com.hrt.system.domain.poji.goods.GoodsRelTag; -import com.baomidou.mybatisplus.extension.service.IService; - -/** - * <p> - * 商品标签 服务类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface GoodsRelTagService extends IService<GoodsRelTag> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/goods/GoodsService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/goods/GoodsService.java deleted file mode 100644 index efdc5ce..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/goods/GoodsService.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.hrt.system.service.goods; - -import com.hrt.system.domain.dto.AppGoodsInfoGetDto; -import com.hrt.system.domain.dto.AppSearchGoodsPageDto; -import com.hrt.system.domain.dto.AppShopGoodsPageDto; -import com.hrt.system.domain.poji.goods.Goods; -import com.baomidou.mybatisplus.extension.service.IService; -import com.hrt.system.domain.vo.AppGoodsInfoVo; -import com.hrt.system.domain.vo.AppSimpleActivityGoodsVo; -import com.hrt.system.domain.vo.AppSimpleGoodsVo; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; - - -import java.util.List; - -/** - * <p> - * 商品表 服务类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface GoodsService extends IService<Goods> { - - /** - * 获取推荐商品列表 - * @param page - * @return - */ - List<AppSimpleGoodsVo> pageRecommendGoods(Page page,Long shopId); - - /** - * 获取商城商品列表 - * @param page - * @param appShopGoodsPageDto - * @return - */ - List<AppSimpleGoodsVo> pageShopGoods(Page page, AppShopGoodsPageDto appShopGoodsPageDto); - - /** - * 获取搜索商品列表 - * @param page - * @param appSearchGoodsPageDto - * @return - */ - List<AppSimpleGoodsVo> pageSearchGoods(Page page, AppSearchGoodsPageDto appSearchGoodsPageDto); - - /** - * 获取搜索商品列表 - * @param page - * @param appSearchGoodsPageDto - * @return - */ - List<AppSimpleActivityGoodsVo> pageSearchActivityGoods(Page page, AppSearchGoodsPageDto appSearchGoodsPageDto); - - /** - * 获取商品详情 - * @param appGoodsInfoGetDto - * @return - */ - AppGoodsInfoVo getGoodsInfo(AppGoodsInfoGetDto appGoodsInfoGetDto); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/goods/GoodsTotalService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/goods/GoodsTotalService.java deleted file mode 100644 index b94b264..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/goods/GoodsTotalService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.service.goods; - -import com.hrt.system.domain.poji.goods.GoodsTotal; -import com.baomidou.mybatisplus.extension.service.IService; - -/** - * <p> - * 服务类 - * </p> - * - * @author jqs - * @since 2023-04-18 - */ -public interface GoodsTotalService extends IService<GoodsTotal> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ActivityGoodsServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ActivityGoodsServiceImpl.java deleted file mode 100644 index 4f9b89f..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ActivityGoodsServiceImpl.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.hrt.system.service.impl; - - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.hrt.system.domain.poji.activity.ActivityGoods; -import com.hrt.system.domain.poji.shop.ShopRelTag; -import com.hrt.system.mapper.activity.ActivityGoodsMapper; -import com.hrt.system.service.activity.ActivityGoodsService; - -import org.springframework.stereotype.Service; - -/** - * <p> - * 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-21 - */ -@Service -public class ActivityGoodsServiceImpl extends ServiceImpl<ActivityGoodsMapper, ActivityGoods> implements ActivityGoodsService { - - - /** - * 通过id获取活动商品 - * @param goodsId - * @return - */ - @Override - public ActivityGoods getByGoodsId(String goodsId){ - LambdaQueryWrapper<ActivityGoods> queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(ActivityGoods::getDelFlag, 0).eq(ActivityGoods::getGoodsId, goodsId); - ActivityGoods activityGoods = this.getOne(queryWrapper); - return activityGoods; - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/AdvertServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/AdvertServiceImpl.java deleted file mode 100644 index dd97ba8..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/AdvertServiceImpl.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.hrt.system.service.impl; - -import com.hrt.system.domain.poji.sys.Advert; -import com.hrt.system.domain.vo.AppAdvertVo; -import com.hrt.system.mapper.sys.AdvertMapper; -import com.hrt.system.service.sys.AdvertService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; - -/** - * <p> - * 快速入口 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-20 - */ -@Service -public class AdvertServiceImpl extends ServiceImpl<AdvertMapper, Advert> implements AdvertService { - - @Resource - private AdvertMapper advertMapper; - - /** - * 获取首页广告 - * @return - */ - @Override - public AppAdvertVo getAdvertVo(){ - return advertMapper.getAdvertVo(); - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/AgreementServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/AgreementServiceImpl.java deleted file mode 100644 index a9d9bfa..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/AgreementServiceImpl.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.hrt.system.service.impl; - -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.hrt.common.core.exception.ServiceException; -import com.hrt.system.constant.AppErrorConstant; -import com.hrt.system.domain.dto.AppAgreementDto; -import com.hrt.system.domain.poji.sys.Agreement; -import com.hrt.system.domain.vo.AppAgreementVo; -import com.hrt.system.mapper.sys.AgreementMapper; -import com.hrt.system.service.sys.AgreementService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; - -/** - * <p> - * 协议 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Service -public class AgreementServiceImpl extends ServiceImpl<AgreementMapper, Agreement> implements AgreementService { - - - @Resource - private AgreementMapper agreementMapper; - - /** - * 获取各种协议 - * @param appAgreementDto - * @return - */ - @Override - public AppAgreementVo getAppAgreement(AppAgreementDto appAgreementDto){ - AppAgreementVo appAgreementVo = agreementMapper.getAppAgreementVoByType(appAgreementDto.getType()); - if(appAgreementVo==null){ - throw new ServiceException(AppErrorConstant.AGREEMENT_FAILED); - } - return appAgreementVo; - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/BannerServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/BannerServiceImpl.java deleted file mode 100644 index 8c38b11..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/BannerServiceImpl.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.hrt.system.service.impl; - -import com.hrt.system.domain.poji.sys.Banner; -import com.hrt.system.domain.vo.AppBannerVo; -import com.hrt.system.mapper.sys.BannerMapper; -import com.hrt.system.service.sys.BannerService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; -import java.util.List; - -/** - * <p> - * banner 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Service -public class BannerServiceImpl extends ServiceImpl<BannerMapper, Banner> implements BannerService { - - @Resource - private BannerMapper bannerMapper; - - /** - * 获取首页banner - * @return - */ - @Override - public List<AppBannerVo> listHomeBannerVo(){ - return bannerMapper.listHomeBannerVo(); - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ConsumerGoodsServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ConsumerGoodsServiceImpl.java deleted file mode 100644 index b2a6764..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ConsumerGoodsServiceImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.hrt.system.service.impl; - -import com.hrt.system.domain.poji.order.ConsumerGoods; -import com.hrt.system.mapper.order.ConsumerGoodsMapper; -import com.hrt.system.service.order.ConsumerGoodsService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; - -/** - * <p> - * 服务 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Service -public class ConsumerGoodsServiceImpl extends ServiceImpl<ConsumerGoodsMapper, ConsumerGoods> implements ConsumerGoodsService { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/CouponRelGoodsServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/CouponRelGoodsServiceImpl.java deleted file mode 100644 index d96438e..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/CouponRelGoodsServiceImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.hrt.system.service.impl; - -import com.hrt.system.domain.poji.coupon.CouponRelGoods; -import com.hrt.system.mapper.coupon.CouponRelGoodsMapper; -import com.hrt.system.service.coupon.CouponRelGoodsService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; - -/** - * <p> - * 优惠券商品关联 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-18 - */ -@Service -public class CouponRelGoodsServiceImpl extends ServiceImpl<CouponRelGoodsMapper, CouponRelGoods> implements CouponRelGoodsService { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/CouponRelUserServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/CouponRelUserServiceImpl.java deleted file mode 100644 index 72f4a55..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/CouponRelUserServiceImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.hrt.system.service.impl; - -import com.hrt.system.domain.poji.coupon.CouponRelUser; -import com.hrt.system.mapper.coupon.CouponRelUserMapper; -import com.hrt.system.service.coupon.CouponRelUserService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; - -/** - * <p> - * 优惠券用户关联 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-18 - */ -@Service -public class CouponRelUserServiceImpl extends ServiceImpl<CouponRelUserMapper, CouponRelUser> implements CouponRelUserService { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/CouponServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/CouponServiceImpl.java deleted file mode 100644 index 409efa5..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/CouponServiceImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.hrt.system.service.impl; - -import com.hrt.system.domain.poji.coupon.Coupon; -import com.hrt.system.mapper.coupon.CouponMapper; -import com.hrt.system.service.coupon.CouponService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; - -/** - * <p> - * 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-18 - */ -@Service -public class CouponServiceImpl extends ServiceImpl<CouponMapper, Coupon> implements CouponService { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/CouponTotalServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/CouponTotalServiceImpl.java deleted file mode 100644 index 1cd30c2..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/CouponTotalServiceImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.hrt.system.service.impl; - -import com.hrt.system.domain.poji.coupon.CouponTotal; -import com.hrt.system.mapper.coupon.CouponTotalMapper; -import com.hrt.system.service.coupon.CouponTotalService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; - -/** - * <p> - * 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-18 - */ -@Service -public class CouponTotalServiceImpl extends ServiceImpl<CouponTotalMapper, CouponTotal> implements CouponTotalService { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/CustomeConfigServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/CustomeConfigServiceImpl.java deleted file mode 100644 index a2ce739..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/CustomeConfigServiceImpl.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.hrt.system.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.hrt.system.domain.poji.sys.CustomeConfig; -import com.hrt.system.mapper.sys.CustomeConfigMapper; -import com.hrt.system.service.sys.CustomeConfigService; - -import org.springframework.stereotype.Service; - -/** - * <p> - * 系统配置 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Service -public class CustomeConfigServiceImpl extends ServiceImpl<CustomeConfigMapper, CustomeConfig> implements CustomeConfigService { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/GoodsFileServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/GoodsFileServiceImpl.java deleted file mode 100644 index e3faaa9..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/GoodsFileServiceImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.hrt.system.service.impl; - -import com.hrt.system.domain.poji.goods.GoodsFile; -import com.hrt.system.mapper.goods.GoodsFileMapper; -import com.hrt.system.service.goods.GoodsFileService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; - -/** - * <p> - * 商品图片 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Service -public class GoodsFileServiceImpl extends ServiceImpl<GoodsFileMapper, GoodsFile> implements GoodsFileService { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/GoodsRelNurseServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/GoodsRelNurseServiceImpl.java deleted file mode 100644 index 081038e..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/GoodsRelNurseServiceImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.hrt.system.service.impl; - -import com.hrt.system.domain.poji.goods.GoodsRelNurse; -import com.hrt.system.mapper.goods.GoodsRelNurseMapper; -import com.hrt.system.service.goods.GoodsRelNurseService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; - -/** - * <p> - * 商品调理问题 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Service -public class GoodsRelNurseServiceImpl extends ServiceImpl<GoodsRelNurseMapper, GoodsRelNurse> implements GoodsRelNurseService { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/GoodsRelTagServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/GoodsRelTagServiceImpl.java deleted file mode 100644 index 6f99da4..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/GoodsRelTagServiceImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.hrt.system.service.impl; - -import com.hrt.system.domain.poji.goods.GoodsRelTag; -import com.hrt.system.mapper.goods.GoodsRelTagMapper; -import com.hrt.system.service.goods.GoodsRelTagService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; - -/** - * <p> - * 商品标签 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Service -public class GoodsRelTagServiceImpl extends ServiceImpl<GoodsRelTagMapper, GoodsRelTag> implements GoodsRelTagService { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/GoodsServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/GoodsServiceImpl.java deleted file mode 100644 index ece3105..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/GoodsServiceImpl.java +++ /dev/null @@ -1,143 +0,0 @@ -package com.hrt.system.service.impl; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.hrt.common.core.utils.bean.BeanUtils; -import com.hrt.system.domain.dto.AppGoodsInfoGetDto; -import com.hrt.system.domain.dto.AppSearchGoodsPageDto; -import com.hrt.system.domain.dto.AppShopGoodsPageDto; -import com.hrt.system.domain.poji.activity.ActivityGoods; -import com.hrt.system.domain.poji.goods.Goods; -import com.hrt.system.domain.poji.shop.ShopGoods; -import com.hrt.system.domain.vo.AppGoodsInfoVo; -import com.hrt.system.domain.vo.AppSimpleActivityGoodsVo; -import com.hrt.system.domain.vo.AppSimpleGoodsVo; -import com.hrt.system.mapper.goods.GoodsMapper; -import com.hrt.system.service.activity.ActivityGoodsService; -import com.hrt.system.service.goods.GoodsService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.hrt.system.service.shop.ShopGoodsService; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; -import java.math.BigDecimal; -import java.util.List; - -/** - * <p> - * 商品表 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Service -public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements GoodsService { - - @Resource - private GoodsMapper goodsMapper; - - @Resource - private ActivityGoodsService activityGoodsService; - - @Resource - private ShopGoodsService shopGoodsService; - - /** - * 获取推荐商品列表 - * @param page - * @return - */ - @Override - public List<AppSimpleGoodsVo> pageRecommendGoods(Page page,Long shopId){ - List<AppSimpleGoodsVo> appSimpleGoodsVoList = goodsMapper.pageRecommendGoods(page,shopId); - return appSimpleGoodsVoList; - } - - /** - * 获取商城商品列表 - * @param page - * @param appShopGoodsPageDto - * @return - */ - @Override - public List<AppSimpleGoodsVo> pageShopGoods(Page page, AppShopGoodsPageDto appShopGoodsPageDto){ - List<AppSimpleGoodsVo> appSimpleGoodsVoList = goodsMapper.pageShopGoods(page,appShopGoodsPageDto); - return appSimpleGoodsVoList; - } - - /** - * 获取搜索商品列表 - * @param page - * @param appSearchGoodsPageDto - * @return - */ - @Override - public List<AppSimpleGoodsVo> pageSearchGoods(Page page, AppSearchGoodsPageDto appSearchGoodsPageDto){ - List<AppSimpleGoodsVo> appSimpleGoodsVoList = goodsMapper.pageSearchGoods(page,appSearchGoodsPageDto); - return appSimpleGoodsVoList; - } - - /** - * 获取搜索商品列表 - * @param page - * @param appSearchGoodsPageDto - * @return - */ - @Override - public List<AppSimpleActivityGoodsVo> pageSearchActivityGoods(Page page, AppSearchGoodsPageDto appSearchGoodsPageDto){ - List<AppSimpleActivityGoodsVo> appSimpleGoodsVoList = goodsMapper.pageSearchActivityGoods(page,appSearchGoodsPageDto); - Integer activityNumber; - BigDecimal activityNumberBig; - Integer salesNumber; - BigDecimal salesNumberBig; - BigDecimal salesPercent; - for(AppSimpleActivityGoodsVo appSimpleActivityGoodsVo : appSimpleGoodsVoList){ - activityNumber = appSimpleActivityGoodsVo.getActivityNumber(); - salesNumber = appSimpleActivityGoodsVo.getSalesNumber(); - activityNumberBig = BigDecimal.valueOf(activityNumber); - salesNumberBig = BigDecimal.valueOf(salesNumber); - salesPercent = salesNumberBig.divide(activityNumberBig,2,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100.00")); - appSimpleActivityGoodsVo.setSalesPercent(salesPercent); - } - return appSimpleGoodsVoList; - } - - /** - * 获取商品详情 - * @param appGoodsInfoGetDto - * @return - */ - @Override - public AppGoodsInfoVo getGoodsInfo(AppGoodsInfoGetDto appGoodsInfoGetDto){ - AppGoodsInfoVo appGoodsInfoVo = new AppGoodsInfoVo(); - Goods goods = this.getById(appGoodsInfoGetDto.getId()); - BeanUtils.copyProperties(goods, appGoodsInfoVo); - //商户定制价格 - ShopGoods shopGoods = shopGoodsService.getByShopIdAndGoodsId(appGoodsInfoGetDto.getShopId(),goods.getGoodsId()); - if(shopGoods!=null){ - appGoodsInfoVo.setSalesPrice(shopGoods.getSalesPrice()); - appGoodsInfoVo.setSalesNum(shopGoods.getServiceNum()); - } - //活动商品判断 - if(appGoodsInfoGetDto.getActivityFlag()==1){ - ActivityGoods activityGoods = activityGoodsService.getByGoodsId(goods.getGoodsId()); - //原价取较大值 - if(shopGoods!=null&&goods.getSalesPrice().compareTo(shopGoods.getSalesPrice())>0){ - appGoodsInfoVo.setSalesPrice(goods.getSalesPrice()); - } - appGoodsInfoVo.setActivityFlag(1); - appGoodsInfoVo.setActivityPrice(activityGoods.getActivityPrice()); - appGoodsInfoVo.setSalesNum(activityGoods.getSalesNumber()); - appGoodsInfoVo.setActivityDeadline(activityGoods.getActivityDeadline()); - //售罄判断 - if(activityGoods.getActivityNumber()==activityGoods.getSalesNumber()){ - appGoodsInfoVo.setSellOutFlag(1); - }else{ - appGoodsInfoVo.setSellOutFlag(0); - } - }else{ - appGoodsInfoVo.setActivityFlag(0); - } - return appGoodsInfoVo; - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/GoodsTotalServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/GoodsTotalServiceImpl.java deleted file mode 100644 index 33bb79b..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/GoodsTotalServiceImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.hrt.system.service.impl; - -import com.hrt.system.domain.poji.goods.GoodsTotal; -import com.hrt.system.mapper.goods.GoodsTotalMapper; -import com.hrt.system.service.goods.GoodsTotalService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; - -/** - * <p> - * 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-18 - */ -@Service -public class GoodsTotalServiceImpl extends ServiceImpl<GoodsTotalMapper, GoodsTotal> implements GoodsTotalService { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/MemberArchiveFieldsServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/MemberArchiveFieldsServiceImpl.java deleted file mode 100644 index 0f1b05d..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/MemberArchiveFieldsServiceImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.hrt.system.service.impl; - -import com.hrt.system.domain.poji.member.MemberArchiveFields; -import com.hrt.system.mapper.member.MemberArchiveFieldsMapper; -import com.hrt.system.service.member.MemberArchiveFieldsService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; - -/** - * <p> - * 档案字段 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Service -public class MemberArchiveFieldsServiceImpl extends ServiceImpl<MemberArchiveFieldsMapper, MemberArchiveFields> implements MemberArchiveFieldsService { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/MemberArchiveServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/MemberArchiveServiceImpl.java deleted file mode 100644 index 62f5d09..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/MemberArchiveServiceImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.hrt.system.service.impl; - -import com.hrt.system.domain.poji.member.MemberArchive; -import com.hrt.system.mapper.member.MemberArchiveMapper; -import com.hrt.system.service.member.MemberArchiveService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; - -/** - * <p> - * 会员档案信息 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Service -public class MemberArchiveServiceImpl extends ServiceImpl<MemberArchiveMapper, MemberArchive> implements MemberArchiveService { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/MemberNurseServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/MemberNurseServiceImpl.java deleted file mode 100644 index c87a98c..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/MemberNurseServiceImpl.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.hrt.system.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.hrt.system.domain.poji.member.MemberNurse; -import com.hrt.system.mapper.member.MemberNurseMapper; -import com.hrt.system.service.member.MemberNurseService; - -import org.springframework.stereotype.Service; - -/** - * <p> - * 用户调理问题 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-20 - */ -@Service -public class MemberNurseServiceImpl extends ServiceImpl<MemberNurseMapper, MemberNurse> implements MemberNurseService { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/MemberServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/MemberServiceImpl.java deleted file mode 100644 index d41678f..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/MemberServiceImpl.java +++ /dev/null @@ -1,186 +0,0 @@ -package com.hrt.system.service.impl; - -import cn.binarywang.wx.miniapp.api.WxMaService; -import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult; -import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.hrt.common.core.exception.ServiceException; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.common.core.utils.uuid.UUID; -import com.hrt.common.security.utils.SecurityUtils; -import com.hrt.system.api.domain.SysUser; -import com.hrt.system.constant.AppErrorConstant; -import com.hrt.system.constant.SecurityConstant; -import com.hrt.system.domain.dto.AppMiniLoginDto; -import com.hrt.system.domain.dto.AppNearbyShopDto; -import com.hrt.system.domain.dto.AppUserAuthorizeDto; -import com.hrt.system.domain.poji.member.Member; -import com.hrt.system.domain.poji.shop.Shop; -import com.hrt.system.domain.vo.AppMiniLoginVo; -import com.hrt.system.domain.vo.AppNearbyShopVo; -import com.hrt.system.domain.vo.AppUserAuthorizeVo; -import com.hrt.system.mapper.member.MemberMapper; -import com.hrt.system.service.member.MemberService; -import com.hrt.system.service.shop.ShopService; -import com.hrt.system.service.user.ISysUserService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.redis.core.StringRedisTemplate; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; -import java.util.Date; - -/** - * <p> - * 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-19 - */ -@Service -public class MemberServiceImpl extends ServiceImpl<MemberMapper, Member> implements MemberService { - - - @Resource - private WxMaService wxMaService; - - @Resource - private ISysUserService sysUserService; - - @Resource - private MemberMapper memberMapper; - - @Resource - private ShopService shopService; - - @Resource - private StringRedisTemplate stringRedisTemplate; - - /** - * - * @param appMiniLoginDto - * @return - */ - @Override - public AppMiniLoginVo getMemberByCode(AppMiniLoginDto appMiniLoginDto){ - - AppMiniLoginVo appMiniLoginVo = new AppMiniLoginVo(); - WxMaJscode2SessionResult session = null; - String unionid; - String openid; - String sessionKey = null; - //获取session - try { - session = wxMaService.getUserService().getSessionInfo(appMiniLoginDto.getCode()); - } catch (Exception e) { - e.printStackTrace(); - return null; - } - if(session!=null&& StringUtils.isNotBlank(session.getOpenid())){ - unionid = session.getUnionid(); - openid = session.getOpenid(); - sessionKey = session.getSessionKey(); - //获取用户 - Member member = memberMapper.getOneByMiniOpenid(openid); - SysUser sysUser; - if(member==null){ - //创建新用户 - String memberId = UUID.randomUUID().toString(); - sysUser = new SysUser(); - sysUser.setUserName(memberId); - sysUser.setNickName("微信用户"); - String password = "hongruitang"; - sysUser.setPassword(SecurityUtils.encryptPassword(password)); - sysUserService.registerUser(sysUser); - member = new Member(); - member.setUserId(sysUser.getUserId()); - member.setDelFlag(0); - member.setMemberId(memberId); - member.setWxUnionid(unionid); - member.setMiniOpenid(openid); - member.setCreateTime(new Date()); - this.save(member); - }else{ - sysUser = sysUserService.selectUserById(member.getUserId()); - } - appMiniLoginVo.setMiniOpenid(openid); - appMiniLoginVo.setWxUnionid(unionid); - appMiniLoginVo.setSysUser(sysUser); - appMiniLoginVo.setSessionKey(sessionKey); - //sessionKey - stringRedisTemplate.opsForValue().set(SecurityConstant.SESSION_KEY+openid,sessionKey); - }else{ - return null; - } - return appMiniLoginVo; - } - - /** - * 获取授权信息 - * @param appUserAuthorizeDto - * @return - */ - @Override - public AppUserAuthorizeVo getAppUserAuthorize(AppUserAuthorizeDto appUserAuthorizeDto){ - Member member = this.getById(appUserAuthorizeDto.getUserId()); - AppUserAuthorizeVo appUserAuthorizeVo = new AppUserAuthorizeVo(); - //获取code接口在redis里存放的sessionkey用于解密 - String sessionkey = stringRedisTemplate.opsForValue().get(SecurityConstant.SESSION_KEY+ member.getMiniOpenid()); - if(StringUtils.isBlank(sessionkey)){ - throw new ServiceException(AppErrorConstant.USER_NOT_LOGIN); - } - String mobile = null; - try { - //解密微信加密用户信息和手机号 - WxMaPhoneNumberInfo wxPhoneInfo; - if(StringUtils.isNotBlank(appUserAuthorizeDto.getPhoneEncryptedData())&&StringUtils.isNotBlank(appUserAuthorizeDto.getPhoneIv())){ - wxPhoneInfo = wxMaService.getUserService().getPhoneNoInfo(sessionkey, appUserAuthorizeDto.getPhoneEncryptedData(), appUserAuthorizeDto.getPhoneIv()); - }else{ - throw new ServiceException(AppErrorConstant.AUTHORIZE_MISS); - } - if(StringUtils.isBlank(wxPhoneInfo.getPhoneNumber())){ - throw new ServiceException(AppErrorConstant.AUTHORIZE_FAILED); - } - mobile = wxPhoneInfo.getPhoneNumber(); - } catch (Exception e) { - e.printStackTrace(); - } - //更新用户手机信息 - SysUser sysUser = sysUserService.selectUserById(appUserAuthorizeDto.getUserId()); - sysUser.setPhonenumber(mobile); - sysUserService.updateUser(sysUser); - member.setMobile(mobile); - this.saveOrUpdate(member); - appUserAuthorizeVo.setMobile(mobile); - appUserAuthorizeVo.setNickName(sysUser.getNickName()); - appUserAuthorizeVo.setOpenid(member.getMiniOpenid()); - appUserAuthorizeVo.setUnionid(member.getWxUnionid()); - return appUserAuthorizeVo; - } - - /** - * 获取附近门店 - * @param appNearbyShopDto - * @return - */ - @Override - public AppNearbyShopVo getNearbyShop(AppNearbyShopDto appNearbyShopDto){ - Member member = this.getById(appNearbyShopDto.getUserId()); - AppNearbyShopVo appNearbyShopVo = new AppNearbyShopVo(); - Shop shop = null; - if(member.getRealtionShopId()!=null){ - //获取绑定商户 - shop = shopService.getById(member.getRealtionShopId()); - }else{ - //获取附近商户 - shop = shopService.getById(1L); - } - appNearbyShopVo.setShopId(shop.getShopId()); - appNearbyShopVo.setShopName(shop.getShopName()); - appNearbyShopVo.setShopAddress(shop.getShopAreaName()+shop.getShopAddress()); - appNearbyShopVo.setShopLatitude(shop.getShopLatitude()); - appNearbyShopVo.setShopLongitude(shop.getShopLongitude()); - return appNearbyShopVo; - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/MemberTaskRecordServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/MemberTaskRecordServiceImpl.java deleted file mode 100644 index 7d55b58..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/MemberTaskRecordServiceImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.hrt.system.service.impl; - -import com.hrt.system.domain.poji.shop.MemberTaskRecord; -import com.hrt.system.mapper.shop.MemberTaskRecordMapper; -import com.hrt.system.service.shop.MemberTaskRecordService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; - -/** - * <p> - * 会员跟进任务记录 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Service -public class MemberTaskRecordServiceImpl extends ServiceImpl<MemberTaskRecordMapper, MemberTaskRecord> implements MemberTaskRecordService { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/MemberTaskServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/MemberTaskServiceImpl.java deleted file mode 100644 index bd37e7e..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/MemberTaskServiceImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.hrt.system.service.impl; - -import com.hrt.system.domain.poji.shop.MemberTask; -import com.hrt.system.mapper.shop.MemberTaskMapper; -import com.hrt.system.service.shop.MemberTaskService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; - -/** - * <p> - * 会员跟进任务 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Service -public class MemberTaskServiceImpl extends ServiceImpl<MemberTaskMapper, MemberTask> implements MemberTaskService { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/OrderGoodsServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/OrderGoodsServiceImpl.java deleted file mode 100644 index 42b8d92..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/OrderGoodsServiceImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.hrt.system.service.impl; - -import com.hrt.system.domain.poji.order.OrderGoods; -import com.hrt.system.mapper.order.OrderGoodsMapper; -import com.hrt.system.service.order.OrderGoodsService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; - -/** - * <p> - * 订单商品 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Service -public class OrderGoodsServiceImpl extends ServiceImpl<OrderGoodsMapper, OrderGoods> implements OrderGoodsService { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/OrderServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/OrderServiceImpl.java deleted file mode 100644 index ec3985a..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/OrderServiceImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.hrt.system.service.impl; - -import com.hrt.system.domain.poji.order.Order; -import com.hrt.system.mapper.order.OrderMapper; -import com.hrt.system.service.order.OrderService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; - -/** - * <p> - * 订单 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Service -public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements OrderService { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/PopServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/PopServiceImpl.java deleted file mode 100644 index 7d4edd9..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/PopServiceImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.hrt.system.service.impl; - -import com.hrt.system.domain.poji.sys.Pop; -import com.hrt.system.mapper.sys.PopMapper; -import com.hrt.system.service.sys.PopService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; - -/** - * <p> - * 弹窗 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Service -public class PopServiceImpl extends ServiceImpl<PopMapper, Pop> implements PopService { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/QuickEntryServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/QuickEntryServiceImpl.java deleted file mode 100644 index 9db7d92..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/QuickEntryServiceImpl.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.hrt.system.service.impl; - -import com.hrt.system.domain.poji.sys.QuickEntry; -import com.hrt.system.domain.vo.AppQuickEntryVo; -import com.hrt.system.mapper.sys.QuickEntryMapper; -import com.hrt.system.service.sys.QuickEntryService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; -import java.util.List; - -/** - * <p> - * 快速入口 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Service -public class QuickEntryServiceImpl extends ServiceImpl<QuickEntryMapper, QuickEntry> implements QuickEntryService { - - @Resource - private QuickEntryMapper quickEntryMapper; - - /** - * 获取快速入口列表 - * @return - */ - @Override - public List<AppQuickEntryVo> listQuickEntryVo(){ - return quickEntryMapper.listQuickEntryVo(); - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopCertificateServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopCertificateServiceImpl.java deleted file mode 100644 index 639e380..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopCertificateServiceImpl.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.hrt.system.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.hrt.system.domain.poji.shop.ShopCertificate; -import com.hrt.system.domain.poji.shop.ShopFile; -import com.hrt.system.mapper.shop.ShopCertificateMapper; -import com.hrt.system.service.shop.ShopCertificateService; - -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - * <p> - * 商户证书 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-20 - */ -@Service -public class ShopCertificateServiceImpl extends ServiceImpl<ShopCertificateMapper, ShopCertificate> implements ShopCertificateService { - - - /** - * 通过商户id获取商户证书 - * @param shopId - * @return - */ - @Override - public List<ShopCertificate> listShopCertificateByShopId(Long shopId){ - LambdaQueryWrapper<ShopCertificate> queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(ShopCertificate::getDelFlag, 0).eq(ShopCertificate::getShopId, shopId).eq(ShopCertificate::getCerStatus,1); - return this.list(queryWrapper); - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopFileServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopFileServiceImpl.java deleted file mode 100644 index c19e97e..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopFileServiceImpl.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.hrt.system.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.hrt.system.domain.poji.shop.ShopFile; -import com.hrt.system.mapper.shop.ShopFileMapper; -import com.hrt.system.service.shop.ShopFileService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; -import java.util.List; - -/** - * <p> - * 商户图片 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Service -public class ShopFileServiceImpl extends ServiceImpl<ShopFileMapper, ShopFile> implements ShopFileService { - - @Resource - private ShopFileMapper shopFileMapper; - - /** - * 通过商户id获取商户文件 - * @param shopId - * @return - */ - @Override - public List<ShopFile> listShopFileByShopId(Long shopId){ - LambdaQueryWrapper<ShopFile> queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(ShopFile::getDelFlag, 0).eq(ShopFile::getShopId, shopId); - return this.list(queryWrapper); - } - - /** - * 通过商户id删除关联 - * @param shopId - */ - @Override - public void deleteByShopId(Long shopId){ - shopFileMapper.deleteByShopId(shopId); - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopGoodsServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopGoodsServiceImpl.java deleted file mode 100644 index 63f131f..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopGoodsServiceImpl.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.hrt.system.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.hrt.system.domain.poji.activity.ActivityGoods; -import com.hrt.system.domain.poji.shop.ShopGoods; -import com.hrt.system.mapper.shop.ShopGoodsMapper; -import com.hrt.system.service.shop.ShopGoodsService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; - -/** - * <p> - * 商户定制商品 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Service -public class ShopGoodsServiceImpl extends ServiceImpl<ShopGoodsMapper, ShopGoods> implements ShopGoodsService { - - /** - * 通过商户id和商品id获取 - * @param shopId - * @param goodsId - * @return - */ - @Override - public ShopGoods getByShopIdAndGoodsId(Long shopId,String goodsId){ - LambdaQueryWrapper<ShopGoods> queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(ShopGoods::getDelFlag, 0).eq(ShopGoods::getShopId, shopId).eq(ShopGoods::getGoodsId, goodsId); - ShopGoods shopGoods = this.getOne(queryWrapper); - return shopGoods; - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopMarketingServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopMarketingServiceImpl.java deleted file mode 100644 index 49eee93..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopMarketingServiceImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.hrt.system.service.impl; - -import com.hrt.system.domain.poji.shop.ShopMarketing; -import com.hrt.system.mapper.shop.ShopMarketingMapper; -import com.hrt.system.service.shop.ShopMarketingService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; - -/** - * <p> - * 商户营销 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Service -public class ShopMarketingServiceImpl extends ServiceImpl<ShopMarketingMapper, ShopMarketing> implements ShopMarketingService { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopRelTagServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopRelTagServiceImpl.java deleted file mode 100644 index 1b735bb..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopRelTagServiceImpl.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.hrt.system.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.hrt.system.domain.poji.shop.ShopFile; -import com.hrt.system.domain.poji.shop.ShopRelTag; -import com.hrt.system.domain.vo.MgtShopTagVo; -import com.hrt.system.mapper.shop.ShopRelTagMapper; -import com.hrt.system.service.shop.ShopRelTagService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; -import java.util.List; - -/** - * <p> - * 商户标签 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Service -public class ShopRelTagServiceImpl extends ServiceImpl<ShopRelTagMapper, ShopRelTag> implements ShopRelTagService { - - @Resource - private ShopRelTagMapper shopRelTagMapper; - - /** - * 通过商户id获取标签 - * @param shopId - * @return - */ - @Override - public List<ShopRelTag> listShopRelTagByShopId(Long shopId){ - LambdaQueryWrapper<ShopRelTag> queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(ShopRelTag::getDelFlag, 0).eq(ShopRelTag::getShopId, shopId); - return this.list(queryWrapper); - } - - /** - * 通过商户id删除关联 - * @param shopId - */ - @Override - public void deleteByShopId(Long shopId){ - shopRelTagMapper.deleteByShopId(shopId); - } - - /** - * 获取商户标签 - * @param shopId - * @return - */ - @Override - public List<MgtShopTagVo> listShopTagVo(Long shopId){ - return shopRelTagMapper.listShopTagVo(shopId); - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopRelUserServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopRelUserServiceImpl.java deleted file mode 100644 index 758b46a..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopRelUserServiceImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.hrt.system.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.hrt.system.domain.poji.shop.ShopRelTag; -import com.hrt.system.domain.poji.shop.ShopRelUser; -import com.hrt.system.mapper.shop.ShopRelUserMapper; -import com.hrt.system.service.shop.ShopRelUserService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; -import java.util.List; - -/** - * <p> - * 商户关联员工 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Service -public class ShopRelUserServiceImpl extends ServiceImpl<ShopRelUserMapper, ShopRelUser> implements ShopRelUserService { - - @Resource - private ShopRelUserMapper shopRelUserMapper; - - /** - * 通过商户id删除关联 - * @param shopId - */ - @Override - public void deleteByShopId(Long shopId){ - shopRelUserMapper.deleteByShopId(shopId); - } - - /** - * 通过商户id获取关联用户 - * @param shopId - * @return - */ - @Override - public List<ShopRelUser> listByShopId(Long shopId){ - LambdaQueryWrapper<ShopRelUser> queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(ShopRelUser::getDelFlag, 0).eq(ShopRelUser::getShopId, shopId); - return this.list(queryWrapper); - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopServiceImpl.java deleted file mode 100644 index 8cd7f37..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopServiceImpl.java +++ /dev/null @@ -1,316 +0,0 @@ -package com.hrt.system.service.impl; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.system.api.domain.SysUser; -import com.hrt.system.domain.dto.MgtChangeCoopDto; -import com.hrt.system.domain.dto.MgtEditShopDto; -import com.hrt.system.domain.dto.MgtEditShopTagDto; -import com.hrt.system.domain.dto.MgtShopPageDto; -import com.hrt.system.domain.poji.shop.*; -import com.hrt.system.domain.poji.sys.SysTag; -import com.hrt.system.domain.vo.AppShopInfoVo; -import com.hrt.system.domain.vo.MgtShopInfoVo; -import com.hrt.system.domain.vo.MgtShopPageVo; -import com.hrt.system.mapper.shop.ShopMapper; -import com.hrt.system.service.shop.*; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.hrt.system.service.sys.SysTagService; -import com.hrt.system.service.user.ISysUserService; -import com.hrt.system.util.CodeFactoryUtil; -import org.springframework.beans.BeanUtils; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.List; -import java.util.StringJoiner; - -/** - * <p> - * 商户表 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Service -public class ShopServiceImpl extends ServiceImpl<ShopMapper, Shop> implements ShopService { - - @Resource - private ShopMapper shopMapper; - - @Resource - private ShopFileService shopFileService; - - @Resource - private ShopCertificateService shopCertificateService; - - @Resource - private SysTagService sysTagService; - - @Resource - private ShopRelTagService shopRelTagService; - - @Resource - private ShopRelUserService shopRelUserService; - - @Resource - private ISysUserService sysUserService; - - /** - * 获取商户详情 - * @param shopId - * @return - */ - @Override - public AppShopInfoVo getAppShopInfo(Long shopId){ - AppShopInfoVo appShopInfoVo = new AppShopInfoVo(); - Shop shop = this.getById(shopId); - BeanUtils.copyProperties(shop,appShopInfoVo); - //商户地址 - appShopInfoVo.setShopAddress(shop.getShopAreaName()+shop.getShopAddress()); - //商品图片 - List<ShopFile> shopFileList = shopFileService.listShopFileByShopId(shopId); - String shopPicture = null; - StringJoiner shopBanners = new StringJoiner(","); - if(shopFileList!=null&&!shopFileList.isEmpty()){ - for(ShopFile shopFile : shopFileList){ - if(shopFile.getFileType()==1){ - shopPicture = shopFile.getFileUrl(); - }else{ - shopBanners.add(shopFile.getFileUrl()); - } - } - } - appShopInfoVo.setShopPicture(shopPicture); - appShopInfoVo.setShopBanners(shopBanners.toString()); - //商户证书 - List<ShopCertificate> shopCertificateList = shopCertificateService.listShopCertificateByShopId(shopId); - if(shopCertificateList!=null&&!shopCertificateList.isEmpty()){ - appShopInfoVo.setShopCertificateList(shopCertificateList); - } - return appShopInfoVo; - } - - /** - * 创建商户 - * @param MGTEditShopDto - */ - @Override - public void createShop(MgtEditShopDto MGTEditShopDto){ - Shop shop = new Shop(); - if(MGTEditShopDto.getShopId()!=null){ - shop = this.getById(MGTEditShopDto.getShopId()); - shop.setUpdateTime(new Date()); - shop.setUpdateUserId(MGTEditShopDto.getUserId()); - shop.setShopTags(null); - //清空关联记录 - shopFileService.deleteByShopId(shop.getShopId()); - shopRelTagService.deleteByShopId(shop.getShopId()); - shopRelUserService.deleteByShopId(shop.getShopId()); - }else{ - shop.setShopStatus(2); - shop.setCreateTime(new Date()); - shop.setCreateUserId(MGTEditShopDto.getUserId()); - } - BeanUtils.copyProperties(MGTEditShopDto,shop); - this.saveOrUpdate(shop); - //商户编号 - if(MGTEditShopDto.getShopId()==null){ - String shopNo = CodeFactoryUtil.getShopNo(shop.getShopId()); - shop.setShopNumber(shopNo); - } - //商户标签 - String shopTagIds = MGTEditShopDto.getShopTagIds(); - if(StringUtils.isNotBlank(shopTagIds)){ - String[] shopTagIdArray = shopTagIds.split(","); - ShopRelTag shopRelTag; - Long tagid; - StringJoiner shopTagSj = new StringJoiner(","); - SysTag sysTag; - for(String str : shopTagIdArray){ - shopRelTag = new ShopRelTag(); - tagid = Long.valueOf(str); - sysTag = sysTagService.getById(tagid); - shopRelTag.setDelFlag(0); - shopRelTag.setShopId(shop.getShopId()); - shopRelTag.setTagId(tagid); - shopRelTagService.save(shopRelTag); - shopTagSj.add(sysTag.getTagName()); - } - shop.setShopTags(shopTagSj.toString()); - this.saveOrUpdate(shop); - } - //商户关联人员 - String relUserIds = MGTEditShopDto.getRelUserIds(); - if(StringUtils.isNotBlank(relUserIds)){ - String[] relUserIdArray = relUserIds.split(","); - ShopRelUser shopRelUser; - Long userId; - SysUser sysUser; - for(String str : relUserIdArray){ - shopRelUser = new ShopRelUser(); - userId = Long.valueOf(str); - sysUser = sysUserService.selectUserById(userId); - shopRelUser.setDelFlag(0); - shopRelUser.setShopId(shop.getShopId()); - shopRelUser.setUserId(userId); - shopRelUser.setUserName(sysUser.getNickName()); - shopRelUser.setUserMobile(sysUser.getPhonenumber()); - shopRelUser.setUserDeptId(sysUser.getDeptId()); - shopRelUserService.save(shopRelUser); - } - } - //商户封面 - ShopFile shopFile = new ShopFile(); - shopFile.setDelFlag(0); - shopFile.setFileType(1); - shopFile.setFileUrl(MGTEditShopDto.getShopPicture()); - shopFile.setShopId(shop.getShopId()); - shopFileService.save(shopFile); - //商户banner - if(StringUtils.isNotBlank(MGTEditShopDto.getShopBanners())){ - String shopBanners= MGTEditShopDto.getShopBanners(); - String[] shopBannerArray = shopBanners.split(","); - for(String str : shopBannerArray){ - shopFile = new ShopFile(); - shopFile.setDelFlag(0); - shopFile.setFileType(2); - shopFile.setFileUrl(str); - shopFile.setShopId(shop.getShopId()); - shopFileService.save(shopFile); - } - } - } - - /** - * 修改合作时间 - * @param mgtChangeCoopDto - */ - @Override - public void changeCooperationTime(MgtChangeCoopDto mgtChangeCoopDto){ - Shop shop = this.getById(mgtChangeCoopDto.getShopId()); - String coopStartTime = mgtChangeCoopDto.getCoopStartTime(); - String coopEndTime = mgtChangeCoopDto.getCoopEndTime(); - SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - try { - Date coopStartDate = simpleDateFormat.parse(coopStartTime); - Date coopEndDate = simpleDateFormat.parse(coopEndTime); - Date nowTime = new Date(); - shop.setCooperationStartTime(coopStartDate); - shop.setCooperationEndTime(coopEndDate); - Boolean inTime = false; - if(coopStartDate.compareTo(nowTime)<0&&coopEndDate.compareTo(nowTime)>0){ - inTime = true; - } - if(shop.getShopStatus()==2&&inTime){ - shop.setShopStatus(1); - } - shop.setUpdateTime(nowTime); - shop.setUpdateUserId(mgtChangeCoopDto.getUserId()); - this.saveOrUpdate(shop); - } catch (ParseException e) { - e.printStackTrace(); - } - } - - /** - * 分页获取商户 - * @param page - * @param mgtShopPageDto - * @return - */ - @Override - public List<MgtShopPageVo> pageShop(Page page, MgtShopPageDto mgtShopPageDto){ - List<MgtShopPageVo> mgtShopPageVoList = shopMapper.pageShop(page, mgtShopPageDto); - return mgtShopPageVoList; - } - - /** - * 获取商户详情 - * @param shopId - * @return - */ - @Override - public MgtShopInfoVo getMgtShopInfo(Long shopId){ - MgtShopInfoVo mgtShopInfoVo = new MgtShopInfoVo(); - Shop shop = this.getById(shopId); - //基本信息拷贝 - BeanUtils.copyProperties(shop,mgtShopInfoVo); - //商户标签 - List<ShopRelTag> shopRelTagList = shopRelTagService.listShopRelTagByShopId(shopId); - if(shopRelTagList!=null&&!shopRelTagList.isEmpty()){ - StringJoiner shopTagJs = new StringJoiner(","); - for(ShopRelTag shopRelTag : shopRelTagList){ - shopTagJs.add(shopRelTag.getTagId().toString()); - } - mgtShopInfoVo.setShopTagIds(shopTagJs.toString()); - } - //商户关联用户 - List<ShopRelUser> shopRelUserList = shopRelUserService.listByShopId(shopId); - if(shopRelUserList!=null&&!shopRelUserList.isEmpty()){ - StringJoiner shopUserJs = new StringJoiner(","); - StringJoiner shopUserNameJs = new StringJoiner(","); - for(ShopRelUser shopRelUser : shopRelUserList){ - shopUserJs.add(shopRelUser.getUserId().toString()); - shopUserNameJs.add(shopRelUser.getUserName()); - } - mgtShopInfoVo.setRelUserIds(shopUserJs.toString()); - mgtShopInfoVo.setRelUsers(shopUserNameJs.toString()); - } - //商户图片 - List<ShopFile> shopFileList = shopFileService.listShopFileByShopId(shopId); - if(shopFileList!=null&&!shopFileList.isEmpty()){ - StringJoiner shopBannerJs = new StringJoiner(","); - for(ShopFile shopFile : shopFileList){ - if(shopFile.getFileType()==1){ - mgtShopInfoVo.setShopPicture(shopFile.getFileUrl()); - }else{ - shopBannerJs.add(shopFile.getFileUrl()); - } - } - mgtShopInfoVo.setShopBanners(shopBannerJs.toString()); - } - //商户证书 - List<ShopCertificate> shopCertificateList = shopCertificateService.listShopCertificateByShopId(shopId); - mgtShopInfoVo.setShopCertificateList(shopCertificateList); - return mgtShopInfoVo; - } - - /** - * 修改商户标签 - * @param mgtEditShopTagDto - */ - @Override - public void editShopTag(MgtEditShopTagDto mgtEditShopTagDto){ - Long shopId = Long.valueOf(mgtEditShopTagDto.getId()); - String shopTagIds = mgtEditShopTagDto.getShopTagIds(); - String shopTags = null; - //删除以前的标签 - shopRelTagService.deleteByShopId(shopId); - if(StringUtils.isNotBlank(shopTagIds)){ - ShopRelTag shopRelTag; - SysTag sysTag; - Long tagId; - String[] shopTagIdArray = shopTagIds.split(","); - StringJoiner shopTagSj = new StringJoiner(","); - for(String str : shopTagIdArray){ - tagId = Long.valueOf(str); - sysTag = sysTagService.getById(tagId); - shopRelTag = new ShopRelTag(); - shopRelTag.setDelFlag(0); - shopRelTag.setShopId(shopId); - shopRelTag.setTagId(tagId); - shopRelTagService.save(shopRelTag); - shopTagSj.add(sysTag.getTagName()); - } - shopTags = shopTagSj.toString(); - } - Shop shop = this.getById(shopId); - shop.setShopTags(shopTags); - this.saveOrUpdate(shop); - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopTaskServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopTaskServiceImpl.java deleted file mode 100644 index ac7b5eb..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopTaskServiceImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.hrt.system.service.impl; - -import com.hrt.system.domain.poji.shop.ShopTask; -import com.hrt.system.mapper.shop.ShopTaskMapper; -import com.hrt.system.service.shop.ShopTaskService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; - -/** - * <p> - * 商户跟进任务 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Service -public class ShopTaskServiceImpl extends ServiceImpl<ShopTaskMapper, ShopTask> implements ShopTaskService { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopTransferRecordServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopTransferRecordServiceImpl.java deleted file mode 100644 index 041c89e..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopTransferRecordServiceImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.hrt.system.service.impl; - -import com.hrt.system.domain.poji.shop.ShopTransferRecord; -import com.hrt.system.mapper.shop.ShopTransferRecordMapper; -import com.hrt.system.service.shop.ShopTransferRecordService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; - -/** - * <p> - * 商户员工转移记录 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Service -public class ShopTransferRecordServiceImpl extends ServiceImpl<ShopTransferRecordMapper, ShopTransferRecord> implements ShopTransferRecordService { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShoppingCartServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShoppingCartServiceImpl.java deleted file mode 100644 index aa57b32..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShoppingCartServiceImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.hrt.system.service.impl; - -import com.hrt.system.domain.poji.order.ShoppingCart; -import com.hrt.system.mapper.order.ShoppingCartMapper; -import com.hrt.system.service.order.ShoppingCartService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; - -/** - * <p> - * 购物车 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Service -public class ShoppingCartServiceImpl extends ServiceImpl<ShoppingCartMapper, ShoppingCart> implements ShoppingCartService { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysClassificationServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysClassificationServiceImpl.java deleted file mode 100644 index 36f0b56..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysClassificationServiceImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.hrt.system.service.impl; - -import com.hrt.system.domain.poji.sys.SysClassification; -import com.hrt.system.mapper.sys.SysClassificationMapper; -import com.hrt.system.service.sys.SysClassificationService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; - -/** - * <p> - * 分类 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-18 - */ -@Service -public class SysClassificationServiceImpl extends ServiceImpl<SysClassificationMapper, SysClassification> implements SysClassificationService { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysConfigServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysConfigServiceImpl.java deleted file mode 100644 index d78b743..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysConfigServiceImpl.java +++ /dev/null @@ -1,214 +0,0 @@ -package com.hrt.system.service.impl; - -import java.util.Collection; -import java.util.List; -import javax.annotation.PostConstruct; -import javax.annotation.Resource; - -import com.hrt.system.domain.poji.sys.SysConfig; -import org.springframework.stereotype.Service; -import com.hrt.common.core.constant.CacheConstants; -import com.hrt.common.core.constant.UserConstants; -import com.hrt.common.core.exception.ServiceException; -import com.hrt.common.core.text.Convert; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.common.redis.service.RedisService; -import com.hrt.system.mapper.sys.SysConfigMapper; -import com.hrt.system.service.sys.ISysConfigService; - -/** - * 参数配置 服务层实现 - * - * @author jqs - */ -@Service -public class SysConfigServiceImpl implements ISysConfigService -{ - @Resource - private SysConfigMapper configMapper; - - @Resource - private RedisService redisService; - - /** - * 项目启动时,初始化参数到缓存 - */ - @PostConstruct - public void init() - { - loadingConfigCache(); - } - - /** - * 查询参数配置信息 - * - * @param configId 参数配置ID - * @return 参数配置信息 - */ - @Override - public SysConfig selectConfigById(Long configId) - { - SysConfig config = new SysConfig(); - config.setConfigId(configId); - return configMapper.selectConfig(config); - } - - /** - * 根据键名查询参数配置信息 - * - * @param configKey 参数key - * @return 参数键值 - */ - @Override - public String selectConfigByKey(String configKey) - { - String configValue = Convert.toStr(redisService.getCacheObject(getCacheKey(configKey))); - if (StringUtils.isNotEmpty(configValue)) - { - return configValue; - } - SysConfig config = new SysConfig(); - config.setConfigKey(configKey); - SysConfig retConfig = configMapper.selectConfig(config); - if (StringUtils.isNotNull(retConfig)) - { - redisService.setCacheObject(getCacheKey(configKey), retConfig.getConfigValue()); - return retConfig.getConfigValue(); - } - return StringUtils.EMPTY; - } - - /** - * 查询参数配置列表 - * - * @param config 参数配置信息 - * @return 参数配置集合 - */ - @Override - public List<SysConfig> selectConfigList(SysConfig config) - { - return configMapper.selectConfigList(config); - } - - /** - * 新增参数配置 - * - * @param config 参数配置信息 - * @return 结果 - */ - @Override - public int insertConfig(SysConfig config) - { - int row = configMapper.insertConfig(config); - if (row > 0) - { - redisService.setCacheObject(getCacheKey(config.getConfigKey()), config.getConfigValue()); - } - return row; - } - - /** - * 修改参数配置 - * - * @param config 参数配置信息 - * @return 结果 - */ - @Override - public int updateConfig(SysConfig config) - { - SysConfig temp = configMapper.selectConfigById(config.getConfigId()); - if (!StringUtils.equals(temp.getConfigKey(), config.getConfigKey())) - { - redisService.deleteObject(getCacheKey(temp.getConfigKey())); - } - - int row = configMapper.updateConfig(config); - if (row > 0) - { - redisService.setCacheObject(getCacheKey(config.getConfigKey()), config.getConfigValue()); - } - return row; - } - - /** - * 批量删除参数信息 - * - * @param configIds 需要删除的参数ID - */ - @Override - public void deleteConfigByIds(Long[] configIds) - { - for (Long configId : configIds) - { - SysConfig config = selectConfigById(configId); - if (StringUtils.equals(UserConstants.YES, config.getConfigType())) - { - throw new ServiceException(String.format("内置参数【%1$s】不能删除 ", config.getConfigKey())); - } - configMapper.deleteConfigById(configId); - redisService.deleteObject(getCacheKey(config.getConfigKey())); - } - } - - /** - * 加载参数缓存数据 - */ - @Override - public void loadingConfigCache() - { - List<SysConfig> configsList = configMapper.selectConfigList(new SysConfig()); - for (SysConfig config : configsList) - { - redisService.setCacheObject(getCacheKey(config.getConfigKey()), config.getConfigValue()); - } - } - - /** - * 清空参数缓存数据 - */ - @Override - public void clearConfigCache() - { - Collection<String> keys = redisService.keys(CacheConstants.SYS_CONFIG_KEY + "*"); - redisService.deleteObject(keys); - } - - /** - * 重置参数缓存数据 - */ - @Override - public void resetConfigCache() - { - clearConfigCache(); - loadingConfigCache(); - } - - /** - * 校验参数键名是否唯一 - * - * @param config 参数配置信息 - * @return 结果 - */ - @Override - public boolean checkConfigKeyUnique(SysConfig config) - { - Long configId = StringUtils.isNull(config.getConfigId()) ? -1L : config.getConfigId(); - SysConfig info = configMapper.checkConfigKeyUnique(config.getConfigKey()); - if (StringUtils.isNotNull(info) && info.getConfigId().longValue() != configId.longValue()) - { - return UserConstants.NOT_UNIQUE; - } - return UserConstants.UNIQUE; - } - - /** - * 设置cache key - * - * @param configKey 参数键 - * @return 缓存键key - */ - private String getCacheKey(String configKey) - { - return CacheConstants.SYS_CONFIG_KEY + configKey; - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysDeptServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysDeptServiceImpl.java deleted file mode 100644 index 34e8f82..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysDeptServiceImpl.java +++ /dev/null @@ -1,340 +0,0 @@ -package com.hrt.system.service.impl; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.stream.Collectors; - -import com.hrt.system.domain.vo.TreeSelect; -import com.hrt.system.mapper.user.SysRoleMapper; -import org.springframework.stereotype.Service; -import com.hrt.common.core.constant.UserConstants; -import com.hrt.common.core.exception.ServiceException; -import com.hrt.common.core.text.Convert; -import com.hrt.common.core.utils.SpringUtils; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.common.datascope.annotation.DataScope; -import com.hrt.common.security.utils.SecurityUtils; -import com.hrt.system.api.domain.SysDept; -import com.hrt.system.api.domain.SysRole; -import com.hrt.system.api.domain.SysUser; -import com.hrt.system.mapper.user.SysDeptMapper; -import com.hrt.system.service.user.ISysDeptService; - -import javax.annotation.Resource; - -/** - * 部门管理 服务实现 - * - * @author jqs - */ -@Service -public class SysDeptServiceImpl implements ISysDeptService -{ - @Resource - private SysDeptMapper deptMapper; - - @Resource - private SysRoleMapper roleMapper; - - /** - * 查询部门管理数据 - * - * @param dept 部门信息 - * @return 部门信息集合 - */ - @Override - @DataScope(deptAlias = "d") - public List<SysDept> selectDeptList(SysDept dept) - { - return deptMapper.selectDeptList(dept); - } - - /** - * 查询部门树结构信息 - * - * @param dept 部门信息 - * @return 部门树信息集合 - */ - @Override - public List<TreeSelect> selectDeptTreeList(SysDept dept) - { - List<SysDept> depts = SpringUtils.getAopProxy(this).selectDeptList(dept); - return buildDeptTreeSelect(depts); - } - - /** - * 构建前端所需要树结构 - * - * @param depts 部门列表 - * @return 树结构列表 - */ - @Override - public List<SysDept> buildDeptTree(List<SysDept> depts) - { - List<SysDept> returnList = new ArrayList<SysDept>(); - List<Long> tempList = depts.stream().map(SysDept::getDeptId).collect(Collectors.toList()); - for (SysDept dept : depts) - { - // 如果是顶级节点, 遍历该父节点的所有子节点 - if (!tempList.contains(dept.getParentId())) - { - recursionFn(depts, dept); - returnList.add(dept); - } - } - if (returnList.isEmpty()) - { - returnList = depts; - } - return returnList; - } - - /** - * 构建前端所需要下拉树结构 - * - * @param depts 部门列表 - * @return 下拉树结构列表 - */ - @Override - public List<TreeSelect> buildDeptTreeSelect(List<SysDept> depts) - { - List<SysDept> deptTrees = buildDeptTree(depts); - return deptTrees.stream().map(TreeSelect::new).collect(Collectors.toList()); - } - - /** - * 根据角色ID查询部门树信息 - * - * @param roleId 角色ID - * @return 选中部门列表 - */ - @Override - public List<Long> selectDeptListByRoleId(Long roleId) - { - SysRole role = roleMapper.selectRoleById(roleId); - return deptMapper.selectDeptListByRoleId(roleId, role.isDeptCheckStrictly()); - } - - /** - * 根据部门ID查询信息 - * - * @param deptId 部门ID - * @return 部门信息 - */ - @Override - public SysDept selectDeptById(Long deptId) - { - return deptMapper.selectDeptById(deptId); - } - - /** - * 根据ID查询所有子部门(正常状态) - * - * @param deptId 部门ID - * @return 子部门数 - */ - @Override - public int selectNormalChildrenDeptById(Long deptId) - { - return deptMapper.selectNormalChildrenDeptById(deptId); - } - - /** - * 是否存在子节点 - * - * @param deptId 部门ID - * @return 结果 - */ - @Override - public boolean hasChildByDeptId(Long deptId) - { - int result = deptMapper.hasChildByDeptId(deptId); - return result > 0; - } - - /** - * 查询部门是否存在用户 - * - * @param deptId 部门ID - * @return 结果 true 存在 false 不存在 - */ - @Override - public boolean checkDeptExistUser(Long deptId) - { - int result = deptMapper.checkDeptExistUser(deptId); - return result > 0; - } - - /** - * 校验部门名称是否唯一 - * - * @param dept 部门信息 - * @return 结果 - */ - @Override - public boolean checkDeptNameUnique(SysDept dept) - { - Long deptId = StringUtils.isNull(dept.getDeptId()) ? -1L : dept.getDeptId(); - SysDept info = deptMapper.checkDeptNameUnique(dept.getDeptName(), dept.getParentId()); - if (StringUtils.isNotNull(info) && info.getDeptId().longValue() != deptId.longValue()) - { - return UserConstants.NOT_UNIQUE; - } - return UserConstants.UNIQUE; - } - - /** - * 校验部门是否有数据权限 - * - * @param deptId 部门id - */ - @Override - public void checkDeptDataScope(Long deptId) - { - if (!SysUser.isAdmin(SecurityUtils.getUserId())) - { - SysDept dept = new SysDept(); - dept.setDeptId(deptId); - List<SysDept> depts = SpringUtils.getAopProxy(this).selectDeptList(dept); - if (StringUtils.isEmpty(depts)) - { - throw new ServiceException("没有权限访问部门数据!"); - } - } - } - - /** - * 新增保存部门信息 - * - * @param dept 部门信息 - * @return 结果 - */ - @Override - public int insertDept(SysDept dept) - { - SysDept info = deptMapper.selectDeptById(dept.getParentId()); - // 如果父节点不为正常状态,则不允许新增子节点 - if (!UserConstants.DEPT_NORMAL.equals(info.getStatus())) - { - throw new ServiceException("部门停用,不允许新增"); - } - dept.setAncestors(info.getAncestors() + "," + dept.getParentId()); - return deptMapper.insertDept(dept); - } - - /** - * 修改保存部门信息 - * - * @param dept 部门信息 - * @return 结果 - */ - @Override - public int updateDept(SysDept dept) - { - SysDept newParentDept = deptMapper.selectDeptById(dept.getParentId()); - SysDept oldDept = deptMapper.selectDeptById(dept.getDeptId()); - if (StringUtils.isNotNull(newParentDept) && StringUtils.isNotNull(oldDept)) - { - String newAncestors = newParentDept.getAncestors() + "," + newParentDept.getDeptId(); - String oldAncestors = oldDept.getAncestors(); - dept.setAncestors(newAncestors); - updateDeptChildren(dept.getDeptId(), newAncestors, oldAncestors); - } - int result = deptMapper.updateDept(dept); - if (UserConstants.DEPT_NORMAL.equals(dept.getStatus()) && StringUtils.isNotEmpty(dept.getAncestors()) - && !StringUtils.equals("0", dept.getAncestors())) - { - // 如果该部门是启用状态,则启用该部门的所有上级部门 - updateParentDeptStatusNormal(dept); - } - return result; - } - - /** - * 修改该部门的父级部门状态 - * - * @param dept 当前部门 - */ - private void updateParentDeptStatusNormal(SysDept dept) - { - String ancestors = dept.getAncestors(); - Long[] deptIds = Convert.toLongArray(ancestors); - deptMapper.updateDeptStatusNormal(deptIds); - } - - /** - * 修改子元素关系 - * - * @param deptId 被修改的部门ID - * @param newAncestors 新的父ID集合 - * @param oldAncestors 旧的父ID集合 - */ - public void updateDeptChildren(Long deptId, String newAncestors, String oldAncestors) - { - List<SysDept> children = deptMapper.selectChildrenDeptById(deptId); - for (SysDept child : children) - { - child.setAncestors(child.getAncestors().replaceFirst(oldAncestors, newAncestors)); - } - if (children.size() > 0) - { - deptMapper.updateDeptChildren(children); - } - } - - /** - * 删除部门管理信息 - * - * @param deptId 部门ID - * @return 结果 - */ - @Override - public int deleteDeptById(Long deptId) - { - return deptMapper.deleteDeptById(deptId); - } - - /** - * 递归列表 - */ - private void recursionFn(List<SysDept> list, SysDept t) - { - // 得到子节点列表 - List<SysDept> childList = getChildList(list, t); - t.setChildren(childList); - for (SysDept tChild : childList) - { - if (hasChild(list, tChild)) - { - recursionFn(list, tChild); - } - } - } - - /** - * 得到子节点列表 - */ - private List<SysDept> getChildList(List<SysDept> list, SysDept t) - { - List<SysDept> tlist = new ArrayList<SysDept>(); - Iterator<SysDept> it = list.iterator(); - while (it.hasNext()) - { - SysDept n = (SysDept) it.next(); - if (StringUtils.isNotNull(n.getParentId()) && n.getParentId().longValue() == t.getDeptId().longValue()) - { - tlist.add(n); - } - } - return tlist; - } - - /** - * 判断是否有子节点 - */ - private boolean hasChild(List<SysDept> list, SysDept t) - { - return getChildList(list, t).size() > 0 ? true : false; - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysDictDataServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysDictDataServiceImpl.java deleted file mode 100644 index 775f6e2..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysDictDataServiceImpl.java +++ /dev/null @@ -1,113 +0,0 @@ -package com.hrt.system.service.impl; - -import java.util.List; - -import com.hrt.system.mapper.sys.SysDictDataMapper; -import org.springframework.stereotype.Service; -import com.hrt.common.security.utils.DictUtils; -import com.hrt.system.api.domain.SysDictData; -import com.hrt.system.service.sys.ISysDictDataService; - -import javax.annotation.Resource; - -/** - * 字典 业务层处理 - * - * @author jqs - */ -@Service -public class SysDictDataServiceImpl implements ISysDictDataService -{ - @Resource - private SysDictDataMapper dictDataMapper; - - /** - * 根据条件分页查询字典数据 - * - * @param dictData 字典数据信息 - * @return 字典数据集合信息 - */ - @Override - public List<SysDictData> selectDictDataList(SysDictData dictData) - { - return dictDataMapper.selectDictDataList(dictData); - } - - /** - * 根据字典类型和字典键值查询字典数据信息 - * - * @param dictType 字典类型 - * @param dictValue 字典键值 - * @return 字典标签 - */ - @Override - public String selectDictLabel(String dictType, String dictValue) - { - return dictDataMapper.selectDictLabel(dictType, dictValue); - } - - /** - * 根据字典数据ID查询信息 - * - * @param dictCode 字典数据ID - * @return 字典数据 - */ - @Override - public SysDictData selectDictDataById(Long dictCode) - { - return dictDataMapper.selectDictDataById(dictCode); - } - - /** - * 批量删除字典数据信息 - * - * @param dictCodes 需要删除的字典数据ID - */ - @Override - public void deleteDictDataByIds(Long[] dictCodes) - { - for (Long dictCode : dictCodes) - { - SysDictData data = selectDictDataById(dictCode); - dictDataMapper.deleteDictDataById(dictCode); - List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(data.getDictType()); - DictUtils.setDictCache(data.getDictType(), dictDatas); - } - } - - /** - * 新增保存字典数据信息 - * - * @param data 字典数据信息 - * @return 结果 - */ - @Override - public int insertDictData(SysDictData data) - { - int row = dictDataMapper.insertDictData(data); - if (row > 0) - { - List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(data.getDictType()); - DictUtils.setDictCache(data.getDictType(), dictDatas); - } - return row; - } - - /** - * 修改保存字典数据信息 - * - * @param data 字典数据信息 - * @return 结果 - */ - @Override - public int updateDictData(SysDictData data) - { - int row = dictDataMapper.updateDictData(data); - if (row > 0) - { - List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(data.getDictType()); - DictUtils.setDictCache(data.getDictType(), dictDatas); - } - return row; - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysDictTypeServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysDictTypeServiceImpl.java deleted file mode 100644 index 5430980..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysDictTypeServiceImpl.java +++ /dev/null @@ -1,224 +0,0 @@ -package com.hrt.system.service.impl; - -import java.util.Comparator; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; -import javax.annotation.PostConstruct; -import javax.annotation.Resource; - -import com.hrt.system.mapper.sys.SysDictDataMapper; -import com.hrt.system.mapper.sys.SysDictTypeMapper; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import com.hrt.common.core.constant.UserConstants; -import com.hrt.common.core.exception.ServiceException; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.common.security.utils.DictUtils; -import com.hrt.system.api.domain.SysDictData; -import com.hrt.system.api.domain.SysDictType; -import com.hrt.system.service.sys.ISysDictTypeService; - -/** - * 字典 业务层处理 - * - * @author jqs - */ -@Service -public class SysDictTypeServiceImpl implements ISysDictTypeService -{ - @Resource - private SysDictTypeMapper dictTypeMapper; - - @Resource - private SysDictDataMapper dictDataMapper; - - /** - * 项目启动时,初始化字典到缓存 - */ - @PostConstruct - public void init() - { - loadingDictCache(); - } - - /** - * 根据条件分页查询字典类型 - * - * @param dictType 字典类型信息 - * @return 字典类型集合信息 - */ - @Override - public List<SysDictType> selectDictTypeList(SysDictType dictType) - { - return dictTypeMapper.selectDictTypeList(dictType); - } - - /** - * 根据所有字典类型 - * - * @return 字典类型集合信息 - */ - @Override - public List<SysDictType> selectDictTypeAll() - { - return dictTypeMapper.selectDictTypeAll(); - } - - /** - * 根据字典类型查询字典数据 - * - * @param dictType 字典类型 - * @return 字典数据集合信息 - */ - @Override - public List<SysDictData> selectDictDataByType(String dictType) - { - List<SysDictData> dictDatas = DictUtils.getDictCache(dictType); - if (StringUtils.isNotEmpty(dictDatas)) - { - return dictDatas; - } - dictDatas = dictDataMapper.selectDictDataByType(dictType); - if (StringUtils.isNotEmpty(dictDatas)) - { - DictUtils.setDictCache(dictType, dictDatas); - return dictDatas; - } - return null; - } - - /** - * 根据字典类型ID查询信息 - * - * @param dictId 字典类型ID - * @return 字典类型 - */ - @Override - public SysDictType selectDictTypeById(Long dictId) - { - return dictTypeMapper.selectDictTypeById(dictId); - } - - /** - * 根据字典类型查询信息 - * - * @param dictType 字典类型 - * @return 字典类型 - */ - @Override - public SysDictType selectDictTypeByType(String dictType) - { - return dictTypeMapper.selectDictTypeByType(dictType); - } - - /** - * 批量删除字典类型信息 - * - * @param dictIds 需要删除的字典ID - */ - @Override - public void deleteDictTypeByIds(Long[] dictIds) - { - for (Long dictId : dictIds) - { - SysDictType dictType = selectDictTypeById(dictId); - if (dictDataMapper.countDictDataByType(dictType.getDictType()) > 0) - { - throw new ServiceException(String.format("%1$s已分配,不能删除", dictType.getDictName())); - } - dictTypeMapper.deleteDictTypeById(dictId); - DictUtils.removeDictCache(dictType.getDictType()); - } - } - - /** - * 加载字典缓存数据 - */ - @Override - public void loadingDictCache() - { - SysDictData dictData = new SysDictData(); - dictData.setStatus("0"); - Map<String, List<SysDictData>> dictDataMap = dictDataMapper.selectDictDataList(dictData).stream().collect(Collectors.groupingBy(SysDictData::getDictType)); - for (Map.Entry<String, List<SysDictData>> entry : dictDataMap.entrySet()) - { - DictUtils.setDictCache(entry.getKey(), entry.getValue().stream().sorted(Comparator.comparing(SysDictData::getDictSort)).collect(Collectors.toList())); - } - } - - /** - * 清空字典缓存数据 - */ - @Override - public void clearDictCache() - { - DictUtils.clearDictCache(); - } - - /** - * 重置字典缓存数据 - */ - @Override - public void resetDictCache() - { - clearDictCache(); - loadingDictCache(); - } - - /** - * 新增保存字典类型信息 - * - * @param dict 字典类型信息 - * @return 结果 - */ - @Override - public int insertDictType(SysDictType dict) - { - int row = dictTypeMapper.insertDictType(dict); - if (row > 0) - { - DictUtils.setDictCache(dict.getDictType(), null); - } - return row; - } - - /** - * 修改保存字典类型信息 - * - * @param dict 字典类型信息 - * @return 结果 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public int updateDictType(SysDictType dict) - { - SysDictType oldDict = dictTypeMapper.selectDictTypeById(dict.getDictId()); - dictDataMapper.updateDictDataType(oldDict.getDictType(), dict.getDictType()); - int row = dictTypeMapper.updateDictType(dict); - if (row > 0) - { - List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(dict.getDictType()); - DictUtils.setDictCache(dict.getDictType(), dictDatas); - } - return row; - } - - /** - * 校验字典类型称是否唯一 - * - * @param dict 字典类型 - * @return 结果 - */ - @Override - public boolean checkDictTypeUnique(SysDictType dict) - { - Long dictId = StringUtils.isNull(dict.getDictId()) ? -1L : dict.getDictId(); - SysDictType dictType = dictTypeMapper.checkDictTypeUnique(dict.getDictType()); - if (StringUtils.isNotNull(dictType) && dictType.getDictId().longValue() != dictId.longValue()) - { - return UserConstants.NOT_UNIQUE; - } - return UserConstants.UNIQUE; - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysLogininforServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysLogininforServiceImpl.java deleted file mode 100644 index 5bb84ff..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysLogininforServiceImpl.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.hrt.system.service.impl; - -import java.util.List; - -import com.hrt.system.mapper.user.SysLogininforMapper; -import org.springframework.stereotype.Service; -import com.hrt.system.api.domain.SysLogininfor; -import com.hrt.system.service.user.ISysLogininforService; - -import javax.annotation.Resource; - -/** - * 系统访问日志情况信息 服务层处理 - * - * @author jqs - */ -@Service -public class SysLogininforServiceImpl implements ISysLogininforService -{ - - @Resource - private SysLogininforMapper logininforMapper; - - /** - * 新增系统登录日志 - * - * @param logininfor 访问日志对象 - */ - @Override - public int insertLogininfor(SysLogininfor logininfor) - { - return logininforMapper.insertLogininfor(logininfor); - } - - /** - * 查询系统登录日志集合 - * - * @param logininfor 访问日志对象 - * @return 登录记录集合 - */ - @Override - public List<SysLogininfor> selectLogininforList(SysLogininfor logininfor) - { - return logininforMapper.selectLogininforList(logininfor); - } - - /** - * 批量删除系统登录日志 - * - * @param infoIds 需要删除的登录日志ID - * @return 结果 - */ - @Override - public int deleteLogininforByIds(Long[] infoIds) - { - return logininforMapper.deleteLogininforByIds(infoIds); - } - - /** - * 清空系统登录日志 - */ - @Override - public void cleanLogininfor() - { - logininforMapper.cleanLogininfor(); - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysMenuServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysMenuServiceImpl.java deleted file mode 100644 index 312e32d..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysMenuServiceImpl.java +++ /dev/null @@ -1,533 +0,0 @@ -package com.hrt.system.service.impl; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashSet; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; -import java.util.Set; -import java.util.stream.Collectors; - -import com.hrt.system.domain.poji.user.SysMenu; -import com.hrt.system.domain.vo.MetaVo; -import com.hrt.system.domain.vo.RouterVo; -import com.hrt.system.domain.vo.TreeSelect; -import com.hrt.system.mapper.user.SysMenuMapper; -import com.hrt.system.mapper.user.SysRoleMapper; -import com.hrt.system.mapper.user.SysRoleMenuMapper; -import org.springframework.stereotype.Service; -import com.hrt.common.core.constant.Constants; -import com.hrt.common.core.constant.UserConstants; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.common.security.utils.SecurityUtils; -import com.hrt.system.api.domain.SysRole; -import com.hrt.system.api.domain.SysUser; -import com.hrt.system.service.user.ISysMenuService; - -import javax.annotation.Resource; - -/** - * 菜单 业务层处理 - * - * @author jqs - */ -@Service -public class SysMenuServiceImpl implements ISysMenuService -{ - public static final String PREMISSION_STRING = "perms[\"{0}\"]"; - - @Resource - private SysMenuMapper menuMapper; - - @Resource - private SysRoleMapper roleMapper; - - @Resource - private SysRoleMenuMapper roleMenuMapper; - - /** - * 根据用户查询系统菜单列表 - * - * @param userId 用户ID - * @return 菜单列表 - */ - @Override - public List<SysMenu> selectMenuList(Long userId) - { - return selectMenuList(new SysMenu(), userId); - } - - /** - * 查询系统菜单列表 - * - * @param menu 菜单信息 - * @return 菜单列表 - */ - @Override - public List<SysMenu> selectMenuList(SysMenu menu, Long userId) - { - List<SysMenu> menuList = null; - // 管理员显示所有菜单信息 - if (SysUser.isAdmin(userId)) - { - menuList = menuMapper.selectMenuList(menu); - } - else - { - menu.getParams().put("userId", userId); - menuList = menuMapper.selectMenuListByUserId(menu); - } - return menuList; - } - - /** - * 根据用户ID查询权限 - * - * @param userId 用户ID - * @return 权限列表 - */ - @Override - public Set<String> selectMenuPermsByUserId(Long userId) - { - List<String> perms = menuMapper.selectMenuPermsByUserId(userId); - Set<String> permsSet = new HashSet<>(); - for (String perm : perms) - { - if (StringUtils.isNotEmpty(perm)) - { - permsSet.addAll(Arrays.asList(perm.trim().split(","))); - } - } - return permsSet; - } - - /** - * 根据角色ID查询权限 - * - * @param roleId 角色ID - * @return 权限列表 - */ - @Override - public Set<String> selectMenuPermsByRoleId(Long roleId) - { - List<String> perms = menuMapper.selectMenuPermsByRoleId(roleId); - Set<String> permsSet = new HashSet<>(); - for (String perm : perms) - { - if (StringUtils.isNotEmpty(perm)) - { - permsSet.addAll(Arrays.asList(perm.trim().split(","))); - } - } - return permsSet; - } - - /** - * 根据用户ID查询菜单 - * - * @param userId 用户名称 - * @return 菜单列表 - */ - @Override - public List<SysMenu> selectMenuTreeByUserId(Long userId) - { - List<SysMenu> menus = null; - if (SecurityUtils.isAdmin(userId)) - { - menus = menuMapper.selectMenuTreeAll(); - } - else - { - menus = menuMapper.selectMenuTreeByUserId(userId); - } - return getChildPerms(menus, 0); - } - - /** - * 根据角色ID查询菜单树信息 - * - * @param roleId 角色ID - * @return 选中菜单列表 - */ - @Override - public List<Long> selectMenuListByRoleId(Long roleId) - { - SysRole role = roleMapper.selectRoleById(roleId); - return menuMapper.selectMenuListByRoleId(roleId, role.isMenuCheckStrictly()); - } - - /** - * 构建前端路由所需要的菜单 - * - * @param menus 菜单列表 - * @return 路由列表 - */ - @Override - public List<RouterVo> buildMenus(List<SysMenu> menus) - { - List<RouterVo> routers = new LinkedList<RouterVo>(); - for (SysMenu menu : menus) - { - RouterVo router = new RouterVo(); - router.setHidden("1".equals(menu.getVisible())); - router.setName(getRouteName(menu)); - router.setPath(getRouterPath(menu)); - router.setComponent(getComponent(menu)); - router.setQuery(menu.getQuery()); - router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath())); - List<SysMenu> cMenus = menu.getChildren(); - if (!cMenus.isEmpty() && cMenus.size() > 0 && UserConstants.TYPE_DIR.equals(menu.getMenuType())) - { - router.setAlwaysShow(true); - router.setRedirect("noRedirect"); - router.setChildren(buildMenus(cMenus)); - } - else if (isMenuFrame(menu)) - { - router.setMeta(null); - List<RouterVo> childrenList = new ArrayList<RouterVo>(); - RouterVo children = new RouterVo(); - children.setPath(menu.getPath()); - children.setComponent(menu.getComponent()); - children.setName(StringUtils.capitalize(menu.getPath())); - children.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath())); - children.setQuery(menu.getQuery()); - childrenList.add(children); - router.setChildren(childrenList); - } - else if (menu.getParentId().intValue() == 0 && isInnerLink(menu)) - { - router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon())); - router.setPath("/"); - List<RouterVo> childrenList = new ArrayList<RouterVo>(); - RouterVo children = new RouterVo(); - String routerPath = innerLinkReplaceEach(menu.getPath()); - children.setPath(routerPath); - children.setComponent(UserConstants.INNER_LINK); - children.setName(StringUtils.capitalize(routerPath)); - children.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), menu.getPath())); - childrenList.add(children); - router.setChildren(childrenList); - } - routers.add(router); - } - return routers; - } - - /** - * 构建前端所需要树结构 - * - * @param menus 菜单列表 - * @return 树结构列表 - */ - @Override - public List<SysMenu> buildMenuTree(List<SysMenu> menus) - { - List<SysMenu> returnList = new ArrayList<SysMenu>(); - List<Long> tempList = menus.stream().map(SysMenu::getMenuId).collect(Collectors.toList()); - for (Iterator<SysMenu> iterator = menus.iterator(); iterator.hasNext();) - { - SysMenu menu = (SysMenu) iterator.next(); - // 如果是顶级节点, 遍历该父节点的所有子节点 - if (!tempList.contains(menu.getParentId())) - { - recursionFn(menus, menu); - returnList.add(menu); - } - } - if (returnList.isEmpty()) - { - returnList = menus; - } - return returnList; - } - - /** - * 构建前端所需要下拉树结构 - * - * @param menus 菜单列表 - * @return 下拉树结构列表 - */ - @Override - public List<TreeSelect> buildMenuTreeSelect(List<SysMenu> menus) - { - List<SysMenu> menuTrees = buildMenuTree(menus); - return menuTrees.stream().map(TreeSelect::new).collect(Collectors.toList()); - } - - /** - * 根据菜单ID查询信息 - * - * @param menuId 菜单ID - * @return 菜单信息 - */ - @Override - public SysMenu selectMenuById(Long menuId) - { - return menuMapper.selectMenuById(menuId); - } - - /** - * 是否存在菜单子节点 - * - * @param menuId 菜单ID - * @return 结果 - */ - @Override - public boolean hasChildByMenuId(Long menuId) - { - int result = menuMapper.hasChildByMenuId(menuId); - return result > 0; - } - - /** - * 查询菜单使用数量 - * - * @param menuId 菜单ID - * @return 结果 - */ - @Override - public boolean checkMenuExistRole(Long menuId) - { - int result = roleMenuMapper.checkMenuExistRole(menuId); - return result > 0; - } - - /** - * 新增保存菜单信息 - * - * @param menu 菜单信息 - * @return 结果 - */ - @Override - public int insertMenu(SysMenu menu) - { - return menuMapper.insertMenu(menu); - } - - /** - * 修改保存菜单信息 - * - * @param menu 菜单信息 - * @return 结果 - */ - @Override - public int updateMenu(SysMenu menu) - { - return menuMapper.updateMenu(menu); - } - - /** - * 删除菜单管理信息 - * - * @param menuId 菜单ID - * @return 结果 - */ - @Override - public int deleteMenuById(Long menuId) - { - return menuMapper.deleteMenuById(menuId); - } - - /** - * 校验菜单名称是否唯一 - * - * @param menu 菜单信息 - * @return 结果 - */ - @Override - public boolean checkMenuNameUnique(SysMenu menu) - { - Long menuId = StringUtils.isNull(menu.getMenuId()) ? -1L : menu.getMenuId(); - SysMenu info = menuMapper.checkMenuNameUnique(menu.getMenuName(), menu.getParentId()); - if (StringUtils.isNotNull(info) && info.getMenuId().longValue() != menuId.longValue()) - { - return UserConstants.NOT_UNIQUE; - } - return UserConstants.UNIQUE; - } - - /** - * 获取路由名称 - * - * @param menu 菜单信息 - * @return 路由名称 - */ - public String getRouteName(SysMenu menu) - { - String routerName = StringUtils.capitalize(menu.getPath()); - // 非外链并且是一级目录(类型为目录) - if (isMenuFrame(menu)) - { - routerName = StringUtils.EMPTY; - } - return routerName; - } - - /** - * 获取路由地址 - * - * @param menu 菜单信息 - * @return 路由地址 - */ - public String getRouterPath(SysMenu menu) - { - String routerPath = menu.getPath(); - // 内链打开外网方式 - if (menu.getParentId().intValue() != 0 && isInnerLink(menu)) - { - routerPath = innerLinkReplaceEach(routerPath); - } - // 非外链并且是一级目录(类型为目录) - if (0 == menu.getParentId().intValue() && UserConstants.TYPE_DIR.equals(menu.getMenuType()) - && UserConstants.NO_FRAME.equals(menu.getIsFrame())) - { - routerPath = "/" + menu.getPath(); - } - // 非外链并且是一级目录(类型为菜单) - else if (isMenuFrame(menu)) - { - routerPath = "/"; - } - return routerPath; - } - - /** - * 获取组件信息 - * - * @param menu 菜单信息 - * @return 组件信息 - */ - public String getComponent(SysMenu menu) - { - String component = UserConstants.LAYOUT; - if (StringUtils.isNotEmpty(menu.getComponent()) && !isMenuFrame(menu)) - { - component = menu.getComponent(); - } - else if (StringUtils.isEmpty(menu.getComponent()) && menu.getParentId().intValue() != 0 && isInnerLink(menu)) - { - component = UserConstants.INNER_LINK; - } - else if (StringUtils.isEmpty(menu.getComponent()) && isParentView(menu)) - { - component = UserConstants.PARENT_VIEW; - } - return component; - } - - /** - * 是否为菜单内部跳转 - * - * @param menu 菜单信息 - * @return 结果 - */ - public boolean isMenuFrame(SysMenu menu) - { - return menu.getParentId().intValue() == 0 && UserConstants.TYPE_MENU.equals(menu.getMenuType()) - && menu.getIsFrame().equals(UserConstants.NO_FRAME); - } - - /** - * 是否为内链组件 - * - * @param menu 菜单信息 - * @return 结果 - */ - public boolean isInnerLink(SysMenu menu) - { - return menu.getIsFrame().equals(UserConstants.NO_FRAME) && StringUtils.ishttp(menu.getPath()); - } - - /** - * 是否为parent_view组件 - * - * @param menu 菜单信息 - * @return 结果 - */ - public boolean isParentView(SysMenu menu) - { - return menu.getParentId().intValue() != 0 && UserConstants.TYPE_DIR.equals(menu.getMenuType()); - } - - /** - * 根据父节点的ID获取所有子节点 - * - * @param list 分类表 - * @param parentId 传入的父节点ID - * @return String - */ - public List<SysMenu> getChildPerms(List<SysMenu> list, int parentId) - { - List<SysMenu> returnList = new ArrayList<SysMenu>(); - for (Iterator<SysMenu> iterator = list.iterator(); iterator.hasNext();) - { - SysMenu t = (SysMenu) iterator.next(); - // 一、根据传入的某个父节点ID,遍历该父节点的所有子节点 - if (t.getParentId() == parentId) - { - recursionFn(list, t); - returnList.add(t); - } - } - return returnList; - } - - /** - * 递归列表 - * - * @param list - * @param t - */ - private void recursionFn(List<SysMenu> list, SysMenu t) - { - // 得到子节点列表 - List<SysMenu> childList = getChildList(list, t); - t.setChildren(childList); - for (SysMenu tChild : childList) - { - if (hasChild(list, tChild)) - { - recursionFn(list, tChild); - } - } - } - - /** - * 得到子节点列表 - */ - private List<SysMenu> getChildList(List<SysMenu> list, SysMenu t) - { - List<SysMenu> tlist = new ArrayList<SysMenu>(); - Iterator<SysMenu> it = list.iterator(); - while (it.hasNext()) - { - SysMenu n = (SysMenu) it.next(); - if (n.getParentId().longValue() == t.getMenuId().longValue()) - { - tlist.add(n); - } - } - return tlist; - } - - /** - * 判断是否有子节点 - */ - private boolean hasChild(List<SysMenu> list, SysMenu t) - { - return getChildList(list, t).size() > 0; - } - - /** - * 内链域名特殊字符替换 - * - * @return - */ - public String innerLinkReplaceEach(String path) - { - return StringUtils.replaceEach(path, new String[] { Constants.HTTP, Constants.HTTPS, Constants.WWW, "." }, - new String[] { "", "", "", "/" }); - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysNoticeServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysNoticeServiceImpl.java deleted file mode 100644 index 53042a9..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysNoticeServiceImpl.java +++ /dev/null @@ -1,94 +0,0 @@ -package com.hrt.system.service.impl; - -import java.util.List; - -import com.hrt.system.domain.poji.sys.SysNotice; -import com.hrt.system.mapper.sys.SysNoticeMapper; -import org.springframework.stereotype.Service; -import com.hrt.system.service.sys.ISysNoticeService; - -import javax.annotation.Resource; - -/** - * 公告 服务层实现 - * - * @author jqs - */ -@Service -public class SysNoticeServiceImpl implements ISysNoticeService -{ - @Resource - private SysNoticeMapper noticeMapper; - - /** - * 查询公告信息 - * - * @param noticeId 公告ID - * @return 公告信息 - */ - @Override - public SysNotice selectNoticeById(Long noticeId) - { - return noticeMapper.selectNoticeById(noticeId); - } - - /** - * 查询公告列表 - * - * @param notice 公告信息 - * @return 公告集合 - */ - @Override - public List<SysNotice> selectNoticeList(SysNotice notice) - { - return noticeMapper.selectNoticeList(notice); - } - - /** - * 新增公告 - * - * @param notice 公告信息 - * @return 结果 - */ - @Override - public int insertNotice(SysNotice notice) - { - return noticeMapper.insertNotice(notice); - } - - /** - * 修改公告 - * - * @param notice 公告信息 - * @return 结果 - */ - @Override - public int updateNotice(SysNotice notice) - { - return noticeMapper.updateNotice(notice); - } - - /** - * 删除公告对象 - * - * @param noticeId 公告ID - * @return 结果 - */ - @Override - public int deleteNoticeById(Long noticeId) - { - return noticeMapper.deleteNoticeById(noticeId); - } - - /** - * 批量删除公告信息 - * - * @param noticeIds 需要删除的公告ID - * @return 结果 - */ - @Override - public int deleteNoticeByIds(Long[] noticeIds) - { - return noticeMapper.deleteNoticeByIds(noticeIds); - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysOperLogServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysOperLogServiceImpl.java deleted file mode 100644 index 078b63e..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysOperLogServiceImpl.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.hrt.system.service.impl; - -import java.util.List; - -import com.hrt.system.service.user.ISysOperLogService; -import org.springframework.stereotype.Service; -import com.hrt.system.api.domain.SysOperLog; -import com.hrt.system.mapper.user.SysOperLogMapper; - -import javax.annotation.Resource; - -/** - * 操作日志 服务层处理 - * - * @author jqs - */ -@Service -public class SysOperLogServiceImpl implements ISysOperLogService -{ - @Resource - private SysOperLogMapper operLogMapper; - - /** - * 新增操作日志 - * - * @param operLog 操作日志对象 - * @return 结果 - */ - @Override - public int insertOperlog(SysOperLog operLog) - { - return operLogMapper.insertOperlog(operLog); - } - - /** - * 查询系统操作日志集合 - * - * @param operLog 操作日志对象 - * @return 操作日志集合 - */ - @Override - public List<SysOperLog> selectOperLogList(SysOperLog operLog) - { - return operLogMapper.selectOperLogList(operLog); - } - - /** - * 批量删除系统操作日志 - * - * @param operIds 需要删除的操作日志ID - * @return 结果 - */ - @Override - public int deleteOperLogByIds(Long[] operIds) - { - return operLogMapper.deleteOperLogByIds(operIds); - } - - /** - * 查询操作日志详细 - * - * @param operId 操作ID - * @return 操作日志对象 - */ - @Override - public SysOperLog selectOperLogById(Long operId) - { - return operLogMapper.selectOperLogById(operId); - } - - /** - * 清空操作日志 - */ - @Override - public void cleanOperLog() - { - operLogMapper.cleanOperLog(); - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysPermissionServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysPermissionServiceImpl.java deleted file mode 100644 index aa147a2..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysPermissionServiceImpl.java +++ /dev/null @@ -1,87 +0,0 @@ -package com.hrt.system.service.impl; - -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import org.springframework.stereotype.Service; -import com.hrt.system.api.domain.SysRole; -import com.hrt.system.api.domain.SysUser; -import com.hrt.system.service.user.ISysMenuService; -import com.hrt.system.service.user.ISysPermissionService; -import com.hrt.system.service.user.ISysRoleService; - -import javax.annotation.Resource; - -/** - * 用户权限处理 - * - * @author jqs - */ -@Service -public class SysPermissionServiceImpl implements ISysPermissionService -{ - @Resource - private ISysRoleService roleService; - - @Resource - private ISysMenuService menuService; - - /** - * 获取角色数据权限 - * - * @param user 用户Id - * @return 角色权限信息 - */ - @Override - public Set<String> getRolePermission(SysUser user) - { - Set<String> roles = new HashSet<String>(); - // 管理员拥有所有权限 - if (user.isAdmin()) - { - roles.add("admin"); - } - else - { - roles.addAll(roleService.selectRolePermissionByUserId(user.getUserId())); - } - return roles; - } - - /** - * 获取菜单数据权限 - * - * @param user 用户Id - * @return 菜单权限信息 - */ - @Override - public Set<String> getMenuPermission(SysUser user) - { - Set<String> perms = new HashSet<String>(); - // 管理员拥有所有权限 - if (user.isAdmin()) - { - perms.add("*:*:*"); - } - else - { - List<SysRole> roles = user.getRoles(); - if (!roles.isEmpty() && roles.size() > 1) - { - // 多角色设置permissions属性,以便数据权限匹配权限 - for (SysRole role : roles) - { - Set<String> rolePerms = menuService.selectMenuPermsByRoleId(role.getRoleId()); - role.setPermissions(rolePerms); - perms.addAll(rolePerms); - } - } - else - { - perms.addAll(menuService.selectMenuPermsByUserId(user.getUserId())); - } - } - return perms; - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysPostServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysPostServiceImpl.java deleted file mode 100644 index 63ff8a6..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysPostServiceImpl.java +++ /dev/null @@ -1,180 +0,0 @@ -package com.hrt.system.service.impl; - -import java.util.List; - -import com.hrt.system.domain.poji.user.SysPost; -import com.hrt.system.mapper.user.SysUserPostMapper; -import org.springframework.stereotype.Service; -import com.hrt.common.core.constant.UserConstants; -import com.hrt.common.core.exception.ServiceException; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.system.mapper.user.SysPostMapper; -import com.hrt.system.service.user.ISysPostService; - -import javax.annotation.Resource; - -/** - * 岗位信息 服务层处理 - * - * @author jqs - */ -@Service -public class SysPostServiceImpl implements ISysPostService -{ - @Resource - private SysPostMapper postMapper; - - @Resource - private SysUserPostMapper userPostMapper; - - /** - * 查询岗位信息集合 - * - * @param post 岗位信息 - * @return 岗位信息集合 - */ - @Override - public List<SysPost> selectPostList(SysPost post) - { - return postMapper.selectPostList(post); - } - - /** - * 查询所有岗位 - * - * @return 岗位列表 - */ - @Override - public List<SysPost> selectPostAll() - { - return postMapper.selectPostAll(); - } - - /** - * 通过岗位ID查询岗位信息 - * - * @param postId 岗位ID - * @return 角色对象信息 - */ - @Override - public SysPost selectPostById(Long postId) - { - return postMapper.selectPostById(postId); - } - - /** - * 根据用户ID获取岗位选择框列表 - * - * @param userId 用户ID - * @return 选中岗位ID列表 - */ - @Override - public List<Long> selectPostListByUserId(Long userId) - { - return postMapper.selectPostListByUserId(userId); - } - - /** - * 校验岗位名称是否唯一 - * - * @param post 岗位信息 - * @return 结果 - */ - @Override - public boolean checkPostNameUnique(SysPost post) - { - Long postId = StringUtils.isNull(post.getPostId()) ? -1L : post.getPostId(); - SysPost info = postMapper.checkPostNameUnique(post.getPostName()); - if (StringUtils.isNotNull(info) && info.getPostId().longValue() != postId.longValue()) - { - return UserConstants.NOT_UNIQUE; - } - return UserConstants.UNIQUE; - } - - /** - * 校验岗位编码是否唯一 - * - * @param post 岗位信息 - * @return 结果 - */ - @Override - public boolean checkPostCodeUnique(SysPost post) - { - Long postId = StringUtils.isNull(post.getPostId()) ? -1L : post.getPostId(); - SysPost info = postMapper.checkPostCodeUnique(post.getPostCode()); - if (StringUtils.isNotNull(info) && info.getPostId().longValue() != postId.longValue()) - { - return UserConstants.NOT_UNIQUE; - } - return UserConstants.UNIQUE; - } - - /** - * 通过岗位ID查询岗位使用数量 - * - * @param postId 岗位ID - * @return 结果 - */ - @Override - public int countUserPostById(Long postId) - { - return userPostMapper.countUserPostById(postId); - } - - /** - * 删除岗位信息 - * - * @param postId 岗位ID - * @return 结果 - */ - @Override - public int deletePostById(Long postId) - { - return postMapper.deletePostById(postId); - } - - /** - * 批量删除岗位信息 - * - * @param postIds 需要删除的岗位ID - * @return 结果 - */ - @Override - public int deletePostByIds(Long[] postIds) - { - for (Long postId : postIds) - { - SysPost post = selectPostById(postId); - if (countUserPostById(postId) > 0) - { - throw new ServiceException(String.format("%1$s已分配,不能删除", post.getPostName())); - } - } - return postMapper.deletePostByIds(postIds); - } - - /** - * 新增保存岗位信息 - * - * @param post 岗位信息 - * @return 结果 - */ - @Override - public int insertPost(SysPost post) - { - return postMapper.insertPost(post); - } - - /** - * 修改保存岗位信息 - * - * @param post 岗位信息 - * @return 结果 - */ - @Override - public int updatePost(SysPost post) - { - return postMapper.updatePost(post); - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysRoleServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysRoleServiceImpl.java deleted file mode 100644 index 2eaeb63..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysRoleServiceImpl.java +++ /dev/null @@ -1,426 +0,0 @@ -package com.hrt.system.service.impl; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import com.hrt.system.domain.poji.user.SysRoleDept; -import com.hrt.system.domain.poji.user.SysRoleMenu; -import com.hrt.system.domain.poji.user.SysUserRole; -import com.hrt.system.mapper.user.SysRoleDeptMapper; -import com.hrt.system.mapper.user.SysRoleMapper; -import com.hrt.system.mapper.user.SysRoleMenuMapper; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import com.hrt.common.core.constant.UserConstants; -import com.hrt.common.core.exception.ServiceException; -import com.hrt.common.core.utils.SpringUtils; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.common.datascope.annotation.DataScope; -import com.hrt.common.security.utils.SecurityUtils; -import com.hrt.system.api.domain.SysRole; -import com.hrt.system.api.domain.SysUser; -import com.hrt.system.mapper.user.SysUserRoleMapper; -import com.hrt.system.service.user.ISysRoleService; - -import javax.annotation.Resource; - -/** - * 角色 业务层处理 - * - * @author jqs - */ -@Service -public class SysRoleServiceImpl implements ISysRoleService -{ - @Resource - private SysRoleMapper roleMapper; - - @Resource - private SysRoleMenuMapper roleMenuMapper; - - @Resource - private SysUserRoleMapper userRoleMapper; - - @Resource - private SysRoleDeptMapper roleDeptMapper; - - /** - * 根据条件分页查询角色数据 - * - * @param role 角色信息 - * @return 角色数据集合信息 - */ - @Override - @DataScope(deptAlias = "d") - public List<SysRole> selectRoleList(SysRole role) - { - return roleMapper.selectRoleList(role); - } - - /** - * 根据用户ID查询角色 - * - * @param userId 用户ID - * @return 角色列表 - */ - @Override - public List<SysRole> selectRolesByUserId(Long userId) - { - List<SysRole> userRoles = roleMapper.selectRolePermissionByUserId(userId); - List<SysRole> roles = selectRoleAll(); - for (SysRole role : roles) - { - for (SysRole userRole : userRoles) - { - if (role.getRoleId().longValue() == userRole.getRoleId().longValue()) - { - role.setFlag(true); - break; - } - } - } - return roles; - } - - /** - * 根据用户ID查询权限 - * - * @param userId 用户ID - * @return 权限列表 - */ - @Override - public Set<String> selectRolePermissionByUserId(Long userId) - { - List<SysRole> perms = roleMapper.selectRolePermissionByUserId(userId); - Set<String> permsSet = new HashSet<>(); - for (SysRole perm : perms) - { - if (StringUtils.isNotNull(perm)) - { - permsSet.addAll(Arrays.asList(perm.getRoleKey().trim().split(","))); - } - } - return permsSet; - } - - /** - * 查询所有角色 - * - * @return 角色列表 - */ - @Override - public List<SysRole> selectRoleAll() - { - return SpringUtils.getAopProxy(this).selectRoleList(new SysRole()); - } - - /** - * 根据用户ID获取角色选择框列表 - * - * @param userId 用户ID - * @return 选中角色ID列表 - */ - @Override - public List<Long> selectRoleListByUserId(Long userId) - { - return roleMapper.selectRoleListByUserId(userId); - } - - /** - * 通过角色ID查询角色 - * - * @param roleId 角色ID - * @return 角色对象信息 - */ - @Override - public SysRole selectRoleById(Long roleId) - { - return roleMapper.selectRoleById(roleId); - } - - /** - * 校验角色名称是否唯一 - * - * @param role 角色信息 - * @return 结果 - */ - @Override - public boolean checkRoleNameUnique(SysRole role) - { - Long roleId = StringUtils.isNull(role.getRoleId()) ? -1L : role.getRoleId(); - SysRole info = roleMapper.checkRoleNameUnique(role.getRoleName()); - if (StringUtils.isNotNull(info) && info.getRoleId().longValue() != roleId.longValue()) - { - return UserConstants.NOT_UNIQUE; - } - return UserConstants.UNIQUE; - } - - /** - * 校验角色权限是否唯一 - * - * @param role 角色信息 - * @return 结果 - */ - @Override - public boolean checkRoleKeyUnique(SysRole role) - { - Long roleId = StringUtils.isNull(role.getRoleId()) ? -1L : role.getRoleId(); - SysRole info = roleMapper.checkRoleKeyUnique(role.getRoleKey()); - if (StringUtils.isNotNull(info) && info.getRoleId().longValue() != roleId.longValue()) - { - return UserConstants.NOT_UNIQUE; - } - return UserConstants.UNIQUE; - } - - /** - * 校验角色是否允许操作 - * - * @param role 角色信息 - */ - @Override - public void checkRoleAllowed(SysRole role) - { - if (StringUtils.isNotNull(role.getRoleId()) && role.isAdmin()) - { - throw new ServiceException("不允许操作超级管理员角色"); - } - } - - /** - * 校验角色是否有数据权限 - * - * @param roleId 角色id - */ - @Override - public void checkRoleDataScope(Long roleId) - { - if (!SysUser.isAdmin(SecurityUtils.getUserId())) - { - SysRole role = new SysRole(); - role.setRoleId(roleId); - List<SysRole> roles = SpringUtils.getAopProxy(this).selectRoleList(role); - if (StringUtils.isEmpty(roles)) - { - throw new ServiceException("没有权限访问角色数据!"); - } - } - } - - /** - * 通过角色ID查询角色使用数量 - * - * @param roleId 角色ID - * @return 结果 - */ - @Override - public int countUserRoleByRoleId(Long roleId) - { - return userRoleMapper.countUserRoleByRoleId(roleId); - } - - /** - * 新增保存角色信息 - * - * @param role 角色信息 - * @return 结果 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public int insertRole(SysRole role) - { - // 新增角色信息 - roleMapper.insertRole(role); - return insertRoleMenu(role); - } - - /** - * 修改保存角色信息 - * - * @param role 角色信息 - * @return 结果 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public int updateRole(SysRole role) - { - // 修改角色信息 - roleMapper.updateRole(role); - // 删除角色与菜单关联 - roleMenuMapper.deleteRoleMenuByRoleId(role.getRoleId()); - return insertRoleMenu(role); - } - - /** - * 修改角色状态 - * - * @param role 角色信息 - * @return 结果 - */ - @Override - public int updateRoleStatus(SysRole role) - { - return roleMapper.updateRole(role); - } - - /** - * 修改数据权限信息 - * - * @param role 角色信息 - * @return 结果 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public int authDataScope(SysRole role) - { - // 修改角色信息 - roleMapper.updateRole(role); - // 删除角色与部门关联 - roleDeptMapper.deleteRoleDeptByRoleId(role.getRoleId()); - // 新增角色和部门信息(数据权限) - return insertRoleDept(role); - } - - /** - * 新增角色菜单信息 - * - * @param role 角色对象 - */ - public int insertRoleMenu(SysRole role) - { - int rows = 1; - // 新增用户与角色管理 - List<SysRoleMenu> list = new ArrayList<SysRoleMenu>(); - for (Long menuId : role.getMenuIds()) - { - SysRoleMenu rm = new SysRoleMenu(); - rm.setRoleId(role.getRoleId()); - rm.setMenuId(menuId); - list.add(rm); - } - if (list.size() > 0) - { - rows = roleMenuMapper.batchRoleMenu(list); - } - return rows; - } - - /** - * 新增角色部门信息(数据权限) - * - * @param role 角色对象 - */ - public int insertRoleDept(SysRole role) - { - int rows = 1; - // 新增角色与部门(数据权限)管理 - List<SysRoleDept> list = new ArrayList<SysRoleDept>(); - for (Long deptId : role.getDeptIds()) - { - SysRoleDept rd = new SysRoleDept(); - rd.setRoleId(role.getRoleId()); - rd.setDeptId(deptId); - list.add(rd); - } - if (list.size() > 0) - { - rows = roleDeptMapper.batchRoleDept(list); - } - return rows; - } - - /** - * 通过角色ID删除角色 - * - * @param roleId 角色ID - * @return 结果 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public int deleteRoleById(Long roleId) - { - // 删除角色与菜单关联 - roleMenuMapper.deleteRoleMenuByRoleId(roleId); - // 删除角色与部门关联 - roleDeptMapper.deleteRoleDeptByRoleId(roleId); - return roleMapper.deleteRoleById(roleId); - } - - /** - * 批量删除角色信息 - * - * @param roleIds 需要删除的角色ID - * @return 结果 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public int deleteRoleByIds(Long[] roleIds) - { - for (Long roleId : roleIds) - { - checkRoleAllowed(new SysRole(roleId)); - checkRoleDataScope(roleId); - SysRole role = selectRoleById(roleId); - if (countUserRoleByRoleId(roleId) > 0) - { - throw new ServiceException(String.format("%1$s已分配,不能删除", role.getRoleName())); - } - } - // 删除角色与菜单关联 - roleMenuMapper.deleteRoleMenu(roleIds); - // 删除角色与部门关联 - roleDeptMapper.deleteRoleDept(roleIds); - return roleMapper.deleteRoleByIds(roleIds); - } - - /** - * 取消授权用户角色 - * - * @param userRole 用户和角色关联信息 - * @return 结果 - */ - @Override - public int deleteAuthUser(SysUserRole userRole) - { - return userRoleMapper.deleteUserRoleInfo(userRole); - } - - /** - * 批量取消授权用户角色 - * - * @param roleId 角色ID - * @param userIds 需要取消授权的用户数据ID - * @return 结果 - */ - @Override - public int deleteAuthUsers(Long roleId, Long[] userIds) - { - return userRoleMapper.deleteUserRoleInfos(roleId, userIds); - } - - /** - * 批量选择授权用户角色 - * - * @param roleId 角色ID - * @param userIds 需要授权的用户数据ID - * @return 结果 - */ - @Override - public int insertAuthUsers(Long roleId, Long[] userIds) - { - // 新增用户与角色管理 - List<SysUserRole> list = new ArrayList<SysUserRole>(); - for (Long userId : userIds) - { - SysUserRole ur = new SysUserRole(); - ur.setUserId(userId); - ur.setRoleId(roleId); - list.add(ur); - } - return userRoleMapper.batchUserRole(list); - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysTagServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysTagServiceImpl.java deleted file mode 100644 index c35521f..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysTagServiceImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.hrt.system.service.impl; - -import com.hrt.system.domain.poji.sys.SysTag; -import com.hrt.system.mapper.sys.SysTagMapper; -import com.hrt.system.service.sys.SysTagService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; - -/** - * <p> - * 系统标签 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Service -public class SysTagServiceImpl extends ServiceImpl<SysTagMapper, SysTag> implements SysTagService { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysUserOnlineServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysUserOnlineServiceImpl.java deleted file mode 100644 index 7179fca..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysUserOnlineServiceImpl.java +++ /dev/null @@ -1,89 +0,0 @@ -package com.hrt.system.service.impl; - -import com.hrt.system.domain.poji.user.SysUserOnline; -import org.springframework.stereotype.Service; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.system.api.model.LoginUser; -import com.hrt.system.service.user.ISysUserOnlineService; - -/** - * 在线用户 服务层处理 - * - * @author jqs - */ -@Service -public class SysUserOnlineServiceImpl implements ISysUserOnlineService -{ - /** - * 通过登录地址查询信息 - * - * @param ipaddr 登录地址 - * @param user 用户信息 - * @return 在线用户信息 - */ - @Override - public SysUserOnline selectOnlineByIpaddr(String ipaddr, LoginUser user) - { - if (StringUtils.equals(ipaddr, user.getIpaddr())) - { - return loginUserToUserOnline(user); - } - return null; - } - - /** - * 通过用户名称查询信息 - * - * @param userName 用户名称 - * @param user 用户信息 - * @return 在线用户信息 - */ - @Override - public SysUserOnline selectOnlineByUserName(String userName, LoginUser user) - { - if (StringUtils.equals(userName, user.getUsername())) - { - return loginUserToUserOnline(user); - } - return null; - } - - /** - * 通过登录地址/用户名称查询信息 - * - * @param ipaddr 登录地址 - * @param userName 用户名称 - * @param user 用户信息 - * @return 在线用户信息 - */ - @Override - public SysUserOnline selectOnlineByInfo(String ipaddr, String userName, LoginUser user) - { - if (StringUtils.equals(ipaddr, user.getIpaddr()) && StringUtils.equals(userName, user.getUsername())) - { - return loginUserToUserOnline(user); - } - return null; - } - - /** - * 设置在线用户信息 - * - * @param user 用户信息 - * @return 在线用户 - */ - @Override - public SysUserOnline loginUserToUserOnline(LoginUser user) - { - if (StringUtils.isNull(user)) - { - return null; - } - SysUserOnline sysUserOnline = new SysUserOnline(); - sysUserOnline.setTokenId(user.getToken()); - sysUserOnline.setUserName(user.getUsername()); - sysUserOnline.setIpaddr(user.getIpaddr()); - sysUserOnline.setLoginTime(user.getLoginTime()); - return sysUserOnline; - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysUserServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysUserServiceImpl.java deleted file mode 100644 index fef64c0..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysUserServiceImpl.java +++ /dev/null @@ -1,546 +0,0 @@ -package com.hrt.system.service.impl; - -import java.util.ArrayList; -import java.util.List; -import java.util.stream.Collectors; -import javax.annotation.Resource; -import javax.validation.Validator; - -import com.hrt.system.domain.poji.user.SysPost; -import com.hrt.system.domain.poji.user.SysUserPost; -import com.hrt.system.domain.poji.user.SysUserRole; -import com.hrt.system.mapper.user.SysRoleMapper; -import com.hrt.system.mapper.user.SysUserMapper; -import com.hrt.system.mapper.user.SysUserPostMapper; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.CollectionUtils; -import com.hrt.common.core.constant.UserConstants; -import com.hrt.common.core.exception.ServiceException; -import com.hrt.common.core.utils.SpringUtils; -import com.hrt.common.core.utils.StringUtils; -import com.hrt.common.core.utils.bean.BeanValidators; -import com.hrt.common.datascope.annotation.DataScope; -import com.hrt.common.security.utils.SecurityUtils; -import com.hrt.system.api.domain.SysRole; -import com.hrt.system.api.domain.SysUser; -import com.hrt.system.mapper.user.SysPostMapper; -import com.hrt.system.mapper.user.SysUserRoleMapper; -import com.hrt.system.service.sys.ISysConfigService; -import com.hrt.system.service.user.ISysUserService; - -/** - * 用户 业务层处理 - * - * @author jqs - */ -@Service -public class SysUserServiceImpl implements ISysUserService -{ - private static final Logger log = LoggerFactory.getLogger(SysUserServiceImpl.class); - - @Resource - private SysUserMapper userMapper; - - @Resource - private SysRoleMapper roleMapper; - - @Resource - private SysPostMapper postMapper; - - @Resource - private SysUserRoleMapper userRoleMapper; - - @Resource - private SysUserPostMapper userPostMapper; - - @Resource - private ISysConfigService configService; - - @Resource - protected Validator validator; - - /** - * 根据条件分页查询用户列表 - * - * @param user 用户信息 - * @return 用户信息集合信息 - */ - @Override - @DataScope(deptAlias = "d", userAlias = "u") - public List<SysUser> selectUserList(SysUser user) - { - return userMapper.selectUserList(user); - } - - /** - * 根据条件分页查询已分配用户角色列表 - * - * @param user 用户信息 - * @return 用户信息集合信息 - */ - @Override - @DataScope(deptAlias = "d", userAlias = "u") - public List<SysUser> selectAllocatedList(SysUser user) - { - return userMapper.selectAllocatedList(user); - } - - /** - * 根据条件分页查询未分配用户角色列表 - * - * @param user 用户信息 - * @return 用户信息集合信息 - */ - @Override - @DataScope(deptAlias = "d", userAlias = "u") - public List<SysUser> selectUnallocatedList(SysUser user) - { - return userMapper.selectUnallocatedList(user); - } - - /** - * 通过用户名查询用户 - * - * @param userName 用户名 - * @return 用户对象信息 - */ - @Override - public SysUser selectUserByUserName(String userName) - { - return userMapper.selectUserByUserName(userName); - } - - /** - * 通过用户ID查询用户 - * - * @param userId 用户ID - * @return 用户对象信息 - */ - @Override - public SysUser selectUserById(Long userId) - { - return userMapper.selectUserById(userId); - } - - /** - * 查询用户所属角色组 - * - * @param userName 用户名 - * @return 结果 - */ - @Override - public String selectUserRoleGroup(String userName) - { - List<SysRole> list = roleMapper.selectRolesByUserName(userName); - if (CollectionUtils.isEmpty(list)) - { - return StringUtils.EMPTY; - } - return list.stream().map(SysRole::getRoleName).collect(Collectors.joining(",")); - } - - /** - * 查询用户所属岗位组 - * - * @param userName 用户名 - * @return 结果 - */ - @Override - public String selectUserPostGroup(String userName) - { - List<SysPost> list = postMapper.selectPostsByUserName(userName); - if (CollectionUtils.isEmpty(list)) - { - return StringUtils.EMPTY; - } - return list.stream().map(SysPost::getPostName).collect(Collectors.joining(",")); - } - - /** - * 校验用户名称是否唯一 - * - * @param user 用户信息 - * @return 结果 - */ - @Override - public boolean checkUserNameUnique(SysUser user) - { - Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); - SysUser info = userMapper.checkUserNameUnique(user.getUserName()); - if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) - { - return UserConstants.NOT_UNIQUE; - } - return UserConstants.UNIQUE; - } - - /** - * 校验手机号码是否唯一 - * - * @param user 用户信息 - * @return - */ - @Override - public boolean checkPhoneUnique(SysUser user) - { - Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); - SysUser info = userMapper.checkPhoneUnique(user.getPhonenumber()); - if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) - { - return UserConstants.NOT_UNIQUE; - } - return UserConstants.UNIQUE; - } - - /** - * 校验email是否唯一 - * - * @param user 用户信息 - * @return - */ - @Override - public boolean checkEmailUnique(SysUser user) - { - Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); - SysUser info = userMapper.checkEmailUnique(user.getEmail()); - if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) - { - return UserConstants.NOT_UNIQUE; - } - return UserConstants.UNIQUE; - } - - /** - * 校验用户是否允许操作 - * - * @param user 用户信息 - */ - @Override - public void checkUserAllowed(SysUser user) - { - if (StringUtils.isNotNull(user.getUserId()) && user.isAdmin()) - { - throw new ServiceException("不允许操作超级管理员用户"); - } - } - - /** - * 校验用户是否有数据权限 - * - * @param userId 用户id - */ - @Override - public void checkUserDataScope(Long userId) - { - if (!SysUser.isAdmin(SecurityUtils.getUserId())) - { - SysUser user = new SysUser(); - user.setUserId(userId); - List<SysUser> users = SpringUtils.getAopProxy(this).selectUserList(user); - if (StringUtils.isEmpty(users)) - { - throw new ServiceException("没有权限访问用户数据!"); - } - } - } - - /** - * 新增保存用户信息 - * - * @param user 用户信息 - * @return 结果 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public int insertUser(SysUser user) - { - // 新增用户信息 - int rows = userMapper.insertUser(user); - // 新增用户岗位关联 - insertUserPost(user); - // 新增用户与角色管理 - insertUserRole(user); - return rows; - } - - /** - * 注册用户信息 - * - * @param user 用户信息 - * @return 结果 - */ - @Override - public boolean registerUser(SysUser user) - { - return userMapper.insertUser(user) > 0; - } - - /** - * 修改保存用户信息 - * - * @param user 用户信息 - * @return 结果 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public int updateUser(SysUser user) - { - Long userId = user.getUserId(); - // 删除用户与角色关联 - userRoleMapper.deleteUserRoleByUserId(userId); - // 新增用户与角色管理 - insertUserRole(user); - // 删除用户与岗位关联 - userPostMapper.deleteUserPostByUserId(userId); - // 新增用户与岗位管理 - insertUserPost(user); - return userMapper.updateUser(user); - } - - /** - * 用户授权角色 - * - * @param userId 用户ID - * @param roleIds 角色组 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public void insertUserAuth(Long userId, Long[] roleIds) - { - userRoleMapper.deleteUserRoleByUserId(userId); - insertUserRole(userId, roleIds); - } - - /** - * 修改用户状态 - * - * @param user 用户信息 - * @return 结果 - */ - @Override - public int updateUserStatus(SysUser user) - { - return userMapper.updateUser(user); - } - - /** - * 修改用户基本信息 - * - * @param user 用户信息 - * @return 结果 - */ - @Override - public int updateUserProfile(SysUser user) - { - return userMapper.updateUser(user); - } - - /** - * 修改用户头像 - * - * @param userName 用户名 - * @param avatar 头像地址 - * @return 结果 - */ - @Override - public boolean updateUserAvatar(String userName, String avatar) - { - return userMapper.updateUserAvatar(userName, avatar) > 0; - } - - /** - * 重置用户密码 - * - * @param user 用户信息 - * @return 结果 - */ - @Override - public int resetPwd(SysUser user) - { - return userMapper.updateUser(user); - } - - /** - * 重置用户密码 - * - * @param userName 用户名 - * @param password 密码 - * @return 结果 - */ - @Override - public int resetUserPwd(String userName, String password) - { - return userMapper.resetUserPwd(userName, password); - } - - /** - * 新增用户角色信息 - * - * @param user 用户对象 - */ - public void insertUserRole(SysUser user) - { - this.insertUserRole(user.getUserId(), user.getRoleIds()); - } - - /** - * 新增用户岗位信息 - * - * @param user 用户对象 - */ - public void insertUserPost(SysUser user) - { - Long[] posts = user.getPostIds(); - if (StringUtils.isNotEmpty(posts)) - { - // 新增用户与岗位管理 - List<SysUserPost> list = new ArrayList<SysUserPost>(); - for (Long postId : posts) - { - SysUserPost up = new SysUserPost(); - up.setUserId(user.getUserId()); - up.setPostId(postId); - list.add(up); - } - userPostMapper.batchUserPost(list); - } - } - - /** - * 新增用户角色信息 - * - * @param userId 用户ID - * @param roleIds 角色组 - */ - public void insertUserRole(Long userId, Long[] roleIds) - { - if (StringUtils.isNotEmpty(roleIds)) - { - // 新增用户与角色管理 - List<SysUserRole> list = new ArrayList<SysUserRole>(); - for (Long roleId : roleIds) - { - SysUserRole ur = new SysUserRole(); - ur.setUserId(userId); - ur.setRoleId(roleId); - list.add(ur); - } - userRoleMapper.batchUserRole(list); - } - } - - /** - * 通过用户ID删除用户 - * - * @param userId 用户ID - * @return 结果 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public int deleteUserById(Long userId) - { - // 删除用户与角色关联 - userRoleMapper.deleteUserRoleByUserId(userId); - // 删除用户与岗位表 - userPostMapper.deleteUserPostByUserId(userId); - return userMapper.deleteUserById(userId); - } - - /** - * 批量删除用户信息 - * - * @param userIds 需要删除的用户ID - * @return 结果 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public int deleteUserByIds(Long[] userIds) - { - for (Long userId : userIds) - { - checkUserAllowed(new SysUser(userId)); - checkUserDataScope(userId); - } - // 删除用户与角色关联 - userRoleMapper.deleteUserRole(userIds); - // 删除用户与岗位关联 - userPostMapper.deleteUserPost(userIds); - return userMapper.deleteUserByIds(userIds); - } - - /** - * 导入用户数据 - * - * @param userList 用户数据列表 - * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据 - * @param operName 操作用户 - * @return 结果 - */ - @Override - public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName) - { - if (StringUtils.isNull(userList) || userList.size() == 0) - { - throw new ServiceException("导入用户数据不能为空!"); - } - int successNum = 0; - int failureNum = 0; - StringBuilder successMsg = new StringBuilder(); - StringBuilder failureMsg = new StringBuilder(); - String password = configService.selectConfigByKey("sys.user.initPassword"); - for (SysUser user : userList) - { - try - { - // 验证是否存在这个用户 - SysUser u = userMapper.selectUserByUserName(user.getUserName()); - if (StringUtils.isNull(u)) - { - BeanValidators.validateWithException(validator, user); - user.setPassword(SecurityUtils.encryptPassword(password)); - user.setCreateBy(operName); - userMapper.insertUser(user); - successNum++; - successMsg.append("<br/>" + successNum + "、账号 " + user.getUserName() + " 导入成功"); - } - else if (isUpdateSupport) - { - BeanValidators.validateWithException(validator, user); - checkUserAllowed(u); - checkUserDataScope(u.getUserId()); - user.setUserId(u.getUserId()); - user.setUpdateBy(operName); - userMapper.updateUser(user); - successNum++; - successMsg.append("<br/>" + successNum + "、账号 " + user.getUserName() + " 更新成功"); - } - else - { - failureNum++; - failureMsg.append("<br/>" + failureNum + "、账号 " + user.getUserName() + " 已存在"); - } - } - catch (Exception e) - { - failureNum++; - String msg = "<br/>" + failureNum + "、账号 " + user.getUserName() + " 导入失败:"; - failureMsg.append(msg + e.getMessage()); - log.error(msg, e); - } - } - if (failureNum > 0) - { - failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:"); - throw new ServiceException(failureMsg.toString()); - } - else - { - successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:"); - } - return successMsg.toString(); - } - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/TaskFileServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/TaskFileServiceImpl.java deleted file mode 100644 index bd3c829..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/TaskFileServiceImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.hrt.system.service.impl; - -import com.hrt.system.domain.poji.shop.TaskFile; -import com.hrt.system.mapper.shop.TaskFileMapper; -import com.hrt.system.service.shop.TaskFileService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; - -/** - * <p> - * 跟进附件 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Service -public class TaskFileServiceImpl extends ServiceImpl<TaskFileMapper, TaskFile> implements TaskFileService { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/UserCouponServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/UserCouponServiceImpl.java deleted file mode 100644 index 685d1c2..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/UserCouponServiceImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.hrt.system.service.impl; - -import com.hrt.system.domain.poji.member.UserCoupon; -import com.hrt.system.mapper.member.UserCouponMapper; -import com.hrt.system.service.member.UserCouponService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; - -/** - * <p> - * 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-18 - */ -@Service -public class UserCouponServiceImpl extends ServiceImpl<UserCouponMapper, UserCoupon> implements UserCouponService { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/UserServiceRecordServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/UserServiceRecordServiceImpl.java deleted file mode 100644 index e801fb9..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/UserServiceRecordServiceImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.hrt.system.service.impl; - -import com.hrt.system.domain.poji.order.UserServiceRecord; -import com.hrt.system.mapper.order.UserServiceRecordMapper; -import com.hrt.system.service.shop.UserServiceRecordService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; - -/** - * <p> - * 服务记录 服务实现类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -@Service -public class UserServiceRecordServiceImpl extends ServiceImpl<UserServiceRecordMapper, UserServiceRecord> implements UserServiceRecordService { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/member/MemberArchiveFieldsService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/member/MemberArchiveFieldsService.java deleted file mode 100644 index c839aae..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/member/MemberArchiveFieldsService.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.hrt.system.service.member; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.hrt.system.domain.poji.member.MemberArchiveFields; - - -/** - * <p> - * 档案字段 服务类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface MemberArchiveFieldsService extends IService<MemberArchiveFields> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/member/MemberArchiveService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/member/MemberArchiveService.java deleted file mode 100644 index fc0c7aa..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/member/MemberArchiveService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.service.member; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.hrt.system.domain.poji.member.MemberArchive; - -/** - * <p> - * 会员档案信息 服务类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface MemberArchiveService extends IService<MemberArchive> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/member/MemberNurseService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/member/MemberNurseService.java deleted file mode 100644 index e628573..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/member/MemberNurseService.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.hrt.system.service.member; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.hrt.system.domain.poji.member.MemberNurse; - - -/** - * <p> - * 用户调理问题 服务类 - * </p> - * - * @author jqs - * @since 2023-04-20 - */ -public interface MemberNurseService extends IService<MemberNurse> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/member/MemberService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/member/MemberService.java deleted file mode 100644 index c6c97a9..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/member/MemberService.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.hrt.system.service.member; - -import com.hrt.system.domain.dto.AppMiniLoginDto; -import com.hrt.system.domain.dto.AppNearbyShopDto; -import com.hrt.system.domain.dto.AppUserAuthorizeDto; -import com.hrt.system.domain.vo.AppMiniLoginVo; -import com.hrt.system.domain.vo.AppNearbyShopVo; -import com.hrt.system.domain.vo.AppUserAuthorizeVo; -import com.hrt.system.domain.poji.member.Member; -import com.baomidou.mybatisplus.extension.service.IService; - -/** - * <p> - * 服务类 - * </p> - * - * @author jqs - * @since 2023-04-19 - */ -public interface MemberService extends IService<Member> { - - /** - * 小程序登录 - * @param appMiniLoginDto - * @return - */ - AppMiniLoginVo getMemberByCode(AppMiniLoginDto appMiniLoginDto); - - /** - * 获取授权信息 - * @param appUserAuthorizeDto - * @return - */ - AppUserAuthorizeVo getAppUserAuthorize(AppUserAuthorizeDto appUserAuthorizeDto); - - /** - * 获取附近门店 - * @param appNearbyShopDto - * @return - */ - AppNearbyShopVo getNearbyShop(AppNearbyShopDto appNearbyShopDto); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/member/UserCouponService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/member/UserCouponService.java deleted file mode 100644 index c8fb424..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/member/UserCouponService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.service.member; - -import com.hrt.system.domain.poji.member.UserCoupon; -import com.baomidou.mybatisplus.extension.service.IService; - -/** - * <p> - * 服务类 - * </p> - * - * @author jqs - * @since 2023-04-18 - */ -public interface UserCouponService extends IService<UserCoupon> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/order/ConsumerGoodsService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/order/ConsumerGoodsService.java deleted file mode 100644 index e2e7bb7..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/order/ConsumerGoodsService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.service.order; - -import com.hrt.system.domain.poji.order.ConsumerGoods; -import com.baomidou.mybatisplus.extension.service.IService; - -/** - * <p> - * 服务 服务类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface ConsumerGoodsService extends IService<ConsumerGoods> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/order/OrderGoodsService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/order/OrderGoodsService.java deleted file mode 100644 index 7d7c41c..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/order/OrderGoodsService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.service.order; - -import com.hrt.system.domain.poji.order.OrderGoods; -import com.baomidou.mybatisplus.extension.service.IService; - -/** - * <p> - * 订单商品 服务类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface OrderGoodsService extends IService<OrderGoods> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/order/OrderService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/order/OrderService.java deleted file mode 100644 index d76081e..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/order/OrderService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.service.order; - -import com.hrt.system.domain.poji.order.Order; -import com.baomidou.mybatisplus.extension.service.IService; - -/** - * <p> - * 订单 服务类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface OrderService extends IService<Order> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/order/ShoppingCartService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/order/ShoppingCartService.java deleted file mode 100644 index a00e751..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/order/ShoppingCartService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.service.order; - -import com.hrt.system.domain.poji.order.ShoppingCart; -import com.baomidou.mybatisplus.extension.service.IService; - -/** - * <p> - * 购物车 服务类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface ShoppingCartService extends IService<ShoppingCart> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/MemberTaskRecordService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/MemberTaskRecordService.java deleted file mode 100644 index c69b9e3..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/MemberTaskRecordService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.service.shop; - -import com.hrt.system.domain.poji.shop.MemberTaskRecord; -import com.baomidou.mybatisplus.extension.service.IService; - -/** - * <p> - * 会员跟进任务记录 服务类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface MemberTaskRecordService extends IService<MemberTaskRecord> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/MemberTaskService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/MemberTaskService.java deleted file mode 100644 index 9e1f9c7..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/MemberTaskService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.service.shop; - -import com.hrt.system.domain.poji.shop.MemberTask; -import com.baomidou.mybatisplus.extension.service.IService; - -/** - * <p> - * 会员跟进任务 服务类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface MemberTaskService extends IService<MemberTask> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopCertificateService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopCertificateService.java deleted file mode 100644 index 59d02a8..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopCertificateService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.hrt.system.service.shop; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.hrt.system.domain.poji.shop.ShopCertificate; - -import java.util.List; - - -/** - * <p> - * 商户证书 服务类 - * </p> - * - * @author jqs - * @since 2023-04-20 - */ -public interface ShopCertificateService extends IService<ShopCertificate> { - - /** - * 通过商户id获取商户证书 - * @param shopId - * @return - */ - List<ShopCertificate> listShopCertificateByShopId(Long shopId); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopFileService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopFileService.java deleted file mode 100644 index 6745348..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopFileService.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.hrt.system.service.shop; - -import com.hrt.system.domain.poji.shop.ShopFile; -import com.baomidou.mybatisplus.extension.service.IService; - -import java.util.List; - -/** - * <p> - * 商户图片 服务类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface ShopFileService extends IService<ShopFile> { - - /** - * 通过商户id获取商户文件 - * @param shopId - * @return - */ - List<ShopFile> listShopFileByShopId(Long shopId); - - /** - * 通过商户id删除关联 - * @param shopId - */ - void deleteByShopId(Long shopId); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopGoodsService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopGoodsService.java deleted file mode 100644 index e825729..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopGoodsService.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.hrt.system.service.shop; - -import com.hrt.system.domain.poji.shop.ShopGoods; -import com.baomidou.mybatisplus.extension.service.IService; - -/** - * <p> - * 商户定制商品 服务类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface ShopGoodsService extends IService<ShopGoods> { - - /** - * 通过商户id和商品id获取 - * @param shopId - * @param goodsId - * @return - */ - ShopGoods getByShopIdAndGoodsId(Long shopId,String goodsId); - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopMarketingService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopMarketingService.java deleted file mode 100644 index 17a8447..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopMarketingService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.service.shop; - -import com.hrt.system.domain.poji.shop.ShopMarketing; -import com.baomidou.mybatisplus.extension.service.IService; - -/** - * <p> - * 商户营销 服务类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface ShopMarketingService extends IService<ShopMarketing> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopRelTagService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopRelTagService.java deleted file mode 100644 index 7eab011..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopRelTagService.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.hrt.system.service.shop; - -import com.hrt.system.domain.poji.shop.ShopRelTag; -import com.baomidou.mybatisplus.extension.service.IService; -import com.hrt.system.domain.vo.MgtShopTagVo; - -import java.util.List; - -/** - * <p> - * 商户标签 服务类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface ShopRelTagService extends IService<ShopRelTag> { - - /** - * 通过商户id获取标签 - * @param shopId - * @return - */ - List<ShopRelTag> listShopRelTagByShopId(Long shopId); - - /** - * 通过商户id删除关联 - * @param shopId - */ - void deleteByShopId(Long shopId); - - /** - * 获取商户标签 - * @param shopId - * @return - */ - List<MgtShopTagVo> listShopTagVo(Long shopId); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopRelUserService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopRelUserService.java deleted file mode 100644 index 2e0f0de..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopRelUserService.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.hrt.system.service.shop; - -import com.hrt.system.domain.poji.shop.ShopRelUser; -import com.baomidou.mybatisplus.extension.service.IService; - -import java.util.List; - -/** - * <p> - * 商户关联员工 服务类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface ShopRelUserService extends IService<ShopRelUser> { - - /** - * 通过商户id删除关联 - * @param shopId - */ - void deleteByShopId(Long shopId); - - /** - * 通过商户id获取关联用户 - * @param shopId - * @return - */ - List<ShopRelUser> listByShopId(Long shopId); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopService.java deleted file mode 100644 index 32cedf2..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopService.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.hrt.system.service.shop; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.hrt.system.domain.dto.MgtChangeCoopDto; -import com.hrt.system.domain.dto.MgtEditShopDto; -import com.hrt.system.domain.dto.MgtEditShopTagDto; -import com.hrt.system.domain.dto.MgtShopPageDto; -import com.hrt.system.domain.poji.shop.Shop; -import com.baomidou.mybatisplus.extension.service.IService; -import com.hrt.system.domain.vo.AppShopInfoVo; -import com.hrt.system.domain.vo.MgtShopInfoVo; -import com.hrt.system.domain.vo.MgtShopPageVo; - -import java.util.List; - -/** - * <p> - * 商户表 服务类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface ShopService extends IService<Shop> { - - /** - * 获取商户详情 - * @param shopId - * @return - */ - AppShopInfoVo getAppShopInfo(Long shopId); - - /** - * 创建商户 - * @param MGTEditShopDto - */ - void createShop(MgtEditShopDto MGTEditShopDto); - - /** - * 修改合作时间 - * @param mgtChangeCoopDto - */ - void changeCooperationTime(MgtChangeCoopDto mgtChangeCoopDto); - - /** - * 分页获取商户 - * @param page - * @param mgtShopPageDto - * @return - */ - List<MgtShopPageVo> pageShop(Page page, MgtShopPageDto mgtShopPageDto); - - /** - * 获取商户详情 - * @param shopId - * @return - */ - MgtShopInfoVo getMgtShopInfo(Long shopId); - - /** - * 修改商户标签 - * @param mgtEditShopTagDto - */ - void editShopTag(MgtEditShopTagDto mgtEditShopTagDto); - - /** - * 获取商户详情 - * @param userId - * @return - */ - //MgtShopInfoVo getMerShopInfo(Long userId); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopTaskService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopTaskService.java deleted file mode 100644 index 09500dd..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopTaskService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.service.shop; - -import com.hrt.system.domain.poji.shop.ShopTask; -import com.baomidou.mybatisplus.extension.service.IService; - -/** - * <p> - * 商户跟进任务 服务类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface ShopTaskService extends IService<ShopTask> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopTransferRecordService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopTransferRecordService.java deleted file mode 100644 index d3a7bc4..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopTransferRecordService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.service.shop; - -import com.hrt.system.domain.poji.shop.ShopTransferRecord; -import com.baomidou.mybatisplus.extension.service.IService; - -/** - * <p> - * 商户员工转移记录 服务类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface ShopTransferRecordService extends IService<ShopTransferRecord> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/TaskFileService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/TaskFileService.java deleted file mode 100644 index 236f2d2..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/TaskFileService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.service.shop; - -import com.hrt.system.domain.poji.shop.TaskFile; -import com.baomidou.mybatisplus.extension.service.IService; - -/** - * <p> - * 跟进附件 服务类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface TaskFileService extends IService<TaskFile> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/UserServiceRecordService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/UserServiceRecordService.java deleted file mode 100644 index d72d5eb..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/UserServiceRecordService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.service.shop; - -import com.hrt.system.domain.poji.order.UserServiceRecord; -import com.baomidou.mybatisplus.extension.service.IService; - -/** - * <p> - * 服务记录 服务类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface UserServiceRecordService extends IService<UserServiceRecord> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/AdvertService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/AdvertService.java deleted file mode 100644 index 0a52fcf..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/AdvertService.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.hrt.system.service.sys; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.hrt.system.domain.poji.sys.Advert; -import com.hrt.system.domain.vo.AppAdvertVo; - - -/** - * <p> - * 快速入口 服务类 - * </p> - * - * @author jqs - * @since 2023-04-20 - */ -public interface AdvertService extends IService<Advert> { - - /** - * 获取首页广告 - * @return - */ - AppAdvertVo getAdvertVo(); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/AgreementService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/AgreementService.java deleted file mode 100644 index 6f12808..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/AgreementService.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.hrt.system.service.sys; - -import com.hrt.system.domain.dto.AppAgreementDto; -import com.hrt.system.domain.poji.sys.Agreement; -import com.baomidou.mybatisplus.extension.service.IService; -import com.hrt.system.domain.vo.AppAgreementVo; - -/** - * <p> - * 协议 服务类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface AgreementService extends IService<Agreement> { - - /** - * 获取各种协议 - * @param appAgreementDto - * @return - */ - AppAgreementVo getAppAgreement(AppAgreementDto appAgreementDto); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/BannerService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/BannerService.java deleted file mode 100644 index 14a5fee..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/BannerService.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.hrt.system.service.sys; - -import com.hrt.system.domain.poji.sys.Banner; -import com.baomidou.mybatisplus.extension.service.IService; -import com.hrt.system.domain.vo.AppBannerVo; - -import java.util.List; - -/** - * <p> - * banner 服务类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface BannerService extends IService<Banner> { - - /** - * 获取首页banner - * @return - */ - List<AppBannerVo> listHomeBannerVo(); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/CustomeConfigService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/CustomeConfigService.java deleted file mode 100644 index 6f6a76e..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/CustomeConfigService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.service.sys; - -import com.hrt.system.domain.poji.sys.CustomeConfig; -import com.baomidou.mybatisplus.extension.service.IService; - -/** - * <p> - * 系统配置 服务类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface CustomeConfigService extends IService<CustomeConfig> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/ISysConfigService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/ISysConfigService.java deleted file mode 100644 index 5f68e2c..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/ISysConfigService.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.hrt.system.service.sys; - -import java.util.List; - -import com.hrt.system.domain.poji.sys.SysConfig; - -/** - * 参数配置 服务层 - * - * @author jqs - */ -public interface ISysConfigService -{ - /** - * 查询参数配置信息 - * - * @param configId 参数配置ID - * @return 参数配置信息 - */ - public SysConfig selectConfigById(Long configId); - - /** - * 根据键名查询参数配置信息 - * - * @param configKey 参数键名 - * @return 参数键值 - */ - public String selectConfigByKey(String configKey); - - /** - * 查询参数配置列表 - * - * @param config 参数配置信息 - * @return 参数配置集合 - */ - public List<SysConfig> selectConfigList(SysConfig config); - - /** - * 新增参数配置 - * - * @param config 参数配置信息 - * @return 结果 - */ - public int insertConfig(SysConfig config); - - /** - * 修改参数配置 - * - * @param config 参数配置信息 - * @return 结果 - */ - public int updateConfig(SysConfig config); - - /** - * 批量删除参数信息 - * - * @param configIds 需要删除的参数ID - */ - public void deleteConfigByIds(Long[] configIds); - - /** - * 加载参数缓存数据 - */ - public void loadingConfigCache(); - - /** - * 清空参数缓存数据 - */ - public void clearConfigCache(); - - /** - * 重置参数缓存数据 - */ - public void resetConfigCache(); - - /** - * 校验参数键名是否唯一 - * - * @param config 参数信息 - * @return 结果 - */ - public boolean checkConfigKeyUnique(SysConfig config); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/ISysDictDataService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/ISysDictDataService.java deleted file mode 100644 index 779da34..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/ISysDictDataService.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.hrt.system.service.sys; - -import java.util.List; -import com.hrt.system.api.domain.SysDictData; - -/** - * 字典 业务层 - * - * @author jqs - */ -public interface ISysDictDataService -{ - /** - * 根据条件分页查询字典数据 - * - * @param dictData 字典数据信息 - * @return 字典数据集合信息 - */ - public List<SysDictData> selectDictDataList(SysDictData dictData); - - /** - * 根据字典类型和字典键值查询字典数据信息 - * - * @param dictType 字典类型 - * @param dictValue 字典键值 - * @return 字典标签 - */ - public String selectDictLabel(String dictType, String dictValue); - - /** - * 根据字典数据ID查询信息 - * - * @param dictCode 字典数据ID - * @return 字典数据 - */ - public SysDictData selectDictDataById(Long dictCode); - - /** - * 批量删除字典数据信息 - * - * @param dictCodes 需要删除的字典数据ID - */ - public void deleteDictDataByIds(Long[] dictCodes); - - /** - * 新增保存字典数据信息 - * - * @param dictData 字典数据信息 - * @return 结果 - */ - public int insertDictData(SysDictData dictData); - - /** - * 修改保存字典数据信息 - * - * @param dictData 字典数据信息 - * @return 结果 - */ - public int updateDictData(SysDictData dictData); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/ISysDictTypeService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/ISysDictTypeService.java deleted file mode 100644 index d4629d8..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/ISysDictTypeService.java +++ /dev/null @@ -1,98 +0,0 @@ -package com.hrt.system.service.sys; - -import java.util.List; -import com.hrt.system.api.domain.SysDictData; -import com.hrt.system.api.domain.SysDictType; - -/** - * 字典 业务层 - * - * @author jqs - */ -public interface ISysDictTypeService -{ - /** - * 根据条件分页查询字典类型 - * - * @param dictType 字典类型信息 - * @return 字典类型集合信息 - */ - public List<SysDictType> selectDictTypeList(SysDictType dictType); - - /** - * 根据所有字典类型 - * - * @return 字典类型集合信息 - */ - public List<SysDictType> selectDictTypeAll(); - - /** - * 根据字典类型查询字典数据 - * - * @param dictType 字典类型 - * @return 字典数据集合信息 - */ - public List<SysDictData> selectDictDataByType(String dictType); - - /** - * 根据字典类型ID查询信息 - * - * @param dictId 字典类型ID - * @return 字典类型 - */ - public SysDictType selectDictTypeById(Long dictId); - - /** - * 根据字典类型查询信息 - * - * @param dictType 字典类型 - * @return 字典类型 - */ - public SysDictType selectDictTypeByType(String dictType); - - /** - * 批量删除字典信息 - * - * @param dictIds 需要删除的字典ID - */ - public void deleteDictTypeByIds(Long[] dictIds); - - /** - * 加载字典缓存数据 - */ - public void loadingDictCache(); - - /** - * 清空字典缓存数据 - */ - public void clearDictCache(); - - /** - * 重置字典缓存数据 - */ - public void resetDictCache(); - - /** - * 新增保存字典类型信息 - * - * @param dictType 字典类型信息 - * @return 结果 - */ - public int insertDictType(SysDictType dictType); - - /** - * 修改保存字典类型信息 - * - * @param dictType 字典类型信息 - * @return 结果 - */ - public int updateDictType(SysDictType dictType); - - /** - * 校验字典类型称是否唯一 - * - * @param dictType 字典类型 - * @return 结果 - */ - public boolean checkDictTypeUnique(SysDictType dictType); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/ISysNoticeService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/ISysNoticeService.java deleted file mode 100644 index 07fa669..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/ISysNoticeService.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.hrt.system.service.sys; - -import java.util.List; - -import com.hrt.system.domain.poji.sys.SysNotice; - -/** - * 公告 服务层 - * - * @author jqs - */ -public interface ISysNoticeService -{ - /** - * 查询公告信息 - * - * @param noticeId 公告ID - * @return 公告信息 - */ - public SysNotice selectNoticeById(Long noticeId); - - /** - * 查询公告列表 - * - * @param notice 公告信息 - * @return 公告集合 - */ - public List<SysNotice> selectNoticeList(SysNotice notice); - - /** - * 新增公告 - * - * @param notice 公告信息 - * @return 结果 - */ - public int insertNotice(SysNotice notice); - - /** - * 修改公告 - * - * @param notice 公告信息 - * @return 结果 - */ - public int updateNotice(SysNotice notice); - - /** - * 删除公告信息 - * - * @param noticeId 公告ID - * @return 结果 - */ - public int deleteNoticeById(Long noticeId); - - /** - * 批量删除公告信息 - * - * @param noticeIds 需要删除的公告ID - * @return 结果 - */ - public int deleteNoticeByIds(Long[] noticeIds); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/PopService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/PopService.java deleted file mode 100644 index fc891b9..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/PopService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.service.sys; - -import com.hrt.system.domain.poji.sys.Pop; -import com.baomidou.mybatisplus.extension.service.IService; - -/** - * <p> - * 弹窗 服务类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface PopService extends IService<Pop> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/QuickEntryService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/QuickEntryService.java deleted file mode 100644 index 5505d44..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/QuickEntryService.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.hrt.system.service.sys; - -import com.hrt.system.domain.poji.sys.QuickEntry; -import com.baomidou.mybatisplus.extension.service.IService; -import com.hrt.system.domain.vo.AppQuickEntryVo; - -import java.util.List; - -/** - * <p> - * 快速入口 服务类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface QuickEntryService extends IService<QuickEntry> { - - /** - * 获取快速入口列表 - * @return - */ - List<AppQuickEntryVo> listQuickEntryVo(); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/SysClassificationService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/SysClassificationService.java deleted file mode 100644 index 29e94d3..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/SysClassificationService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.service.sys; - -import com.hrt.system.domain.poji.sys.SysClassification; -import com.baomidou.mybatisplus.extension.service.IService; - -/** - * <p> - * 分类 服务类 - * </p> - * - * @author jqs - * @since 2023-04-18 - */ -public interface SysClassificationService extends IService<SysClassification> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/SysTagService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/SysTagService.java deleted file mode 100644 index 16c5d1e..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/SysTagService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hrt.system.service.sys; - -import com.hrt.system.domain.poji.sys.SysTag; -import com.baomidou.mybatisplus.extension.service.IService; - -/** - * <p> - * 系统标签 服务类 - * </p> - * - * @author jqs - * @since 2023-04-17 - */ -public interface SysTagService extends IService<SysTag> { - -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysDeptService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysDeptService.java deleted file mode 100644 index 2d82d5c..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysDeptService.java +++ /dev/null @@ -1,124 +0,0 @@ -package com.hrt.system.service.user; - -import java.util.List; -import com.hrt.system.api.domain.SysDept; -import com.hrt.system.domain.vo.TreeSelect; - -/** - * 部门管理 服务层 - * - * @author jqs - */ -public interface ISysDeptService -{ - /** - * 查询部门管理数据 - * - * @param dept 部门信息 - * @return 部门信息集合 - */ - public List<SysDept> selectDeptList(SysDept dept); - - /** - * 查询部门树结构信息 - * - * @param dept 部门信息 - * @return 部门树信息集合 - */ - public List<TreeSelect> selectDeptTreeList(SysDept dept); - - /** - * 构建前端所需要树结构 - * - * @param depts 部门列表 - * @return 树结构列表 - */ - public List<SysDept> buildDeptTree(List<SysDept> depts); - - /** - * 构建前端所需要下拉树结构 - * - * @param depts 部门列表 - * @return 下拉树结构列表 - */ - public List<TreeSelect> buildDeptTreeSelect(List<SysDept> depts); - - /** - * 根据角色ID查询部门树信息 - * - * @param roleId 角色ID - * @return 选中部门列表 - */ - public List<Long> selectDeptListByRoleId(Long roleId); - - /** - * 根据部门ID查询信息 - * - * @param deptId 部门ID - * @return 部门信息 - */ - public SysDept selectDeptById(Long deptId); - - /** - * 根据ID查询所有子部门(正常状态) - * - * @param deptId 部门ID - * @return 子部门数 - */ - public int selectNormalChildrenDeptById(Long deptId); - - /** - * 是否存在部门子节点 - * - * @param deptId 部门ID - * @return 结果 - */ - public boolean hasChildByDeptId(Long deptId); - - /** - * 查询部门是否存在用户 - * - * @param deptId 部门ID - * @return 结果 true 存在 false 不存在 - */ - public boolean checkDeptExistUser(Long deptId); - - /** - * 校验部门名称是否唯一 - * - * @param dept 部门信息 - * @return 结果 - */ - public boolean checkDeptNameUnique(SysDept dept); - - /** - * 校验部门是否有数据权限 - * - * @param deptId 部门id - */ - public void checkDeptDataScope(Long deptId); - - /** - * 新增保存部门信息 - * - * @param dept 部门信息 - * @return 结果 - */ - public int insertDept(SysDept dept); - - /** - * 修改保存部门信息 - * - * @param dept 部门信息 - * @return 结果 - */ - public int updateDept(SysDept dept); - - /** - * 删除部门管理信息 - * - * @param deptId 部门ID - * @return 结果 - */ - public int deleteDeptById(Long deptId); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysLogininforService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysLogininforService.java deleted file mode 100644 index ba981eb..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysLogininforService.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.hrt.system.service.user; - -import java.util.List; -import com.hrt.system.api.domain.SysLogininfor; - -/** - * 系统访问日志情况信息 服务层 - * - * @author jqs - */ -public interface ISysLogininforService -{ - /** - * 新增系统登录日志 - * - * @param logininfor 访问日志对象 - */ - public int insertLogininfor(SysLogininfor logininfor); - - /** - * 查询系统登录日志集合 - * - * @param logininfor 访问日志对象 - * @return 登录记录集合 - */ - public List<SysLogininfor> selectLogininforList(SysLogininfor logininfor); - - /** - * 批量删除系统登录日志 - * - * @param infoIds 需要删除的登录日志ID - * @return 结果 - */ - public int deleteLogininforByIds(Long[] infoIds); - - /** - * 清空系统登录日志 - */ - public void cleanLogininfor(); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysMenuService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysMenuService.java deleted file mode 100644 index fcf34e2..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysMenuService.java +++ /dev/null @@ -1,145 +0,0 @@ -package com.hrt.system.service.user; - -import java.util.List; -import java.util.Set; - -import com.hrt.system.domain.poji.user.SysMenu; -import com.hrt.system.domain.vo.RouterVo; -import com.hrt.system.domain.vo.TreeSelect; - -/** - * 菜单 业务层 - * - * @author jqs - */ -public interface ISysMenuService -{ - /** - * 根据用户查询系统菜单列表 - * - * @param userId 用户ID - * @return 菜单列表 - */ - public List<SysMenu> selectMenuList(Long userId); - - /** - * 根据用户查询系统菜单列表 - * - * @param menu 菜单信息 - * @param userId 用户ID - * @return 菜单列表 - */ - public List<SysMenu> selectMenuList(SysMenu menu, Long userId); - - /** - * 根据用户ID查询权限 - * - * @param userId 用户ID - * @return 权限列表 - */ - public Set<String> selectMenuPermsByUserId(Long userId); - - /** - * 根据角色ID查询权限 - * - * @param roleId 角色ID - * @return 权限列表 - */ - public Set<String> selectMenuPermsByRoleId(Long roleId); - - /** - * 根据用户ID查询菜单树信息 - * - * @param userId 用户ID - * @return 菜单列表 - */ - public List<SysMenu> selectMenuTreeByUserId(Long userId); - - /** - * 根据角色ID查询菜单树信息 - * - * @param roleId 角色ID - * @return 选中菜单列表 - */ - public List<Long> selectMenuListByRoleId(Long roleId); - - /** - * 构建前端路由所需要的菜单 - * - * @param menus 菜单列表 - * @return 路由列表 - */ - public List<RouterVo> buildMenus(List<SysMenu> menus); - - /** - * 构建前端所需要树结构 - * - * @param menus 菜单列表 - * @return 树结构列表 - */ - public List<SysMenu> buildMenuTree(List<SysMenu> menus); - - /** - * 构建前端所需要下拉树结构 - * - * @param menus 菜单列表 - * @return 下拉树结构列表 - */ - public List<TreeSelect> buildMenuTreeSelect(List<SysMenu> menus); - - /** - * 根据菜单ID查询信息 - * - * @param menuId 菜单ID - * @return 菜单信息 - */ - public SysMenu selectMenuById(Long menuId); - - /** - * 是否存在菜单子节点 - * - * @param menuId 菜单ID - * @return 结果 true 存在 false 不存在 - */ - public boolean hasChildByMenuId(Long menuId); - - /** - * 查询菜单是否存在角色 - * - * @param menuId 菜单ID - * @return 结果 true 存在 false 不存在 - */ - public boolean checkMenuExistRole(Long menuId); - - /** - * 新增保存菜单信息 - * - * @param menu 菜单信息 - * @return 结果 - */ - public int insertMenu(SysMenu menu); - - /** - * 修改保存菜单信息 - * - * @param menu 菜单信息 - * @return 结果 - */ - public int updateMenu(SysMenu menu); - - /** - * 删除菜单管理信息 - * - * @param menuId 菜单ID - * @return 结果 - */ - public int deleteMenuById(Long menuId); - - /** - * 校验菜单名称是否唯一 - * - * @param menu 菜单信息 - * @return 结果 - */ - public boolean checkMenuNameUnique(SysMenu menu); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysOperLogService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysOperLogService.java deleted file mode 100644 index 7b14ea5..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysOperLogService.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.hrt.system.service.user; - -import java.util.List; -import com.hrt.system.api.domain.SysOperLog; - -/** - * 操作日志 服务层 - * - * @author jqs - */ -public interface ISysOperLogService -{ - /** - * 新增操作日志 - * - * @param operLog 操作日志对象 - * @return 结果 - */ - public int insertOperlog(SysOperLog operLog); - - /** - * 查询系统操作日志集合 - * - * @param operLog 操作日志对象 - * @return 操作日志集合 - */ - public List<SysOperLog> selectOperLogList(SysOperLog operLog); - - /** - * 批量删除系统操作日志 - * - * @param operIds 需要删除的操作日志ID - * @return 结果 - */ - public int deleteOperLogByIds(Long[] operIds); - - /** - * 查询操作日志详细 - * - * @param operId 操作ID - * @return 操作日志对象 - */ - public SysOperLog selectOperLogById(Long operId); - - /** - * 清空操作日志 - */ - public void cleanOperLog(); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysPermissionService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysPermissionService.java deleted file mode 100644 index 48086c2..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysPermissionService.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.hrt.system.service.user; - -import java.util.Set; - -import com.hrt.system.api.domain.SysUser; - -/** - * 权限信息 服务层 - * - * @author jqs - */ -public interface ISysPermissionService -{ - /** - * 获取角色数据权限 - * - * @param user 用户Id - * @return 角色权限信息 - */ - public Set<String> getRolePermission(SysUser user); - - /** - * 获取菜单数据权限 - * - * @param user 用户Id - * @return 菜单权限信息 - */ - public Set<String> getMenuPermission(SysUser user); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysPostService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysPostService.java deleted file mode 100644 index f93aee6..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysPostService.java +++ /dev/null @@ -1,100 +0,0 @@ -package com.hrt.system.service.user; - -import java.util.List; - -import com.hrt.system.domain.poji.user.SysPost; - -/** - * 岗位信息 服务层 - * - * @author jqs - */ -public interface ISysPostService -{ - /** - * 查询岗位信息集合 - * - * @param post 岗位信息 - * @return 岗位列表 - */ - public List<SysPost> selectPostList(SysPost post); - - /** - * 查询所有岗位 - * - * @return 岗位列表 - */ - public List<SysPost> selectPostAll(); - - /** - * 通过岗位ID查询岗位信息 - * - * @param postId 岗位ID - * @return 角色对象信息 - */ - public SysPost selectPostById(Long postId); - - /** - * 根据用户ID获取岗位选择框列表 - * - * @param userId 用户ID - * @return 选中岗位ID列表 - */ - public List<Long> selectPostListByUserId(Long userId); - - /** - * 校验岗位名称 - * - * @param post 岗位信息 - * @return 结果 - */ - public boolean checkPostNameUnique(SysPost post); - - /** - * 校验岗位编码 - * - * @param post 岗位信息 - * @return 结果 - */ - public boolean checkPostCodeUnique(SysPost post); - - /** - * 通过岗位ID查询岗位使用数量 - * - * @param postId 岗位ID - * @return 结果 - */ - public int countUserPostById(Long postId); - - /** - * 删除岗位信息 - * - * @param postId 岗位ID - * @return 结果 - */ - public int deletePostById(Long postId); - - /** - * 批量删除岗位信息 - * - * @param postIds 需要删除的岗位ID - * @return 结果 - */ - public int deletePostByIds(Long[] postIds); - - /** - * 新增保存岗位信息 - * - * @param post 岗位信息 - * @return 结果 - */ - public int insertPost(SysPost post); - - /** - * 修改保存岗位信息 - * - * @param post 岗位信息 - * @return 结果 - */ - public int updatePost(SysPost post); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysRoleService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysRoleService.java deleted file mode 100644 index 17ff64e..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysRoleService.java +++ /dev/null @@ -1,173 +0,0 @@ -package com.hrt.system.service.user; - -import java.util.List; -import java.util.Set; -import com.hrt.system.api.domain.SysRole; -import com.hrt.system.domain.poji.user.SysUserRole; - -/** - * 角色业务层 - * - * @author jqs - */ -public interface ISysRoleService -{ - /** - * 根据条件分页查询角色数据 - * - * @param role 角色信息 - * @return 角色数据集合信息 - */ - public List<SysRole> selectRoleList(SysRole role); - - /** - * 根据用户ID查询角色列表 - * - * @param userId 用户ID - * @return 角色列表 - */ - public List<SysRole> selectRolesByUserId(Long userId); - - /** - * 根据用户ID查询角色权限 - * - * @param userId 用户ID - * @return 权限列表 - */ - public Set<String> selectRolePermissionByUserId(Long userId); - - /** - * 查询所有角色 - * - * @return 角色列表 - */ - public List<SysRole> selectRoleAll(); - - /** - * 根据用户ID获取角色选择框列表 - * - * @param userId 用户ID - * @return 选中角色ID列表 - */ - public List<Long> selectRoleListByUserId(Long userId); - - /** - * 通过角色ID查询角色 - * - * @param roleId 角色ID - * @return 角色对象信息 - */ - public SysRole selectRoleById(Long roleId); - - /** - * 校验角色名称是否唯一 - * - * @param role 角色信息 - * @return 结果 - */ - public boolean checkRoleNameUnique(SysRole role); - - /** - * 校验角色权限是否唯一 - * - * @param role 角色信息 - * @return 结果 - */ - public boolean checkRoleKeyUnique(SysRole role); - - /** - * 校验角色是否允许操作 - * - * @param role 角色信息 - */ - public void checkRoleAllowed(SysRole role); - - /** - * 校验角色是否有数据权限 - * - * @param roleId 角色id - */ - public void checkRoleDataScope(Long roleId); - - /** - * 通过角色ID查询角色使用数量 - * - * @param roleId 角色ID - * @return 结果 - */ - public int countUserRoleByRoleId(Long roleId); - - /** - * 新增保存角色信息 - * - * @param role 角色信息 - * @return 结果 - */ - public int insertRole(SysRole role); - - /** - * 修改保存角色信息 - * - * @param role 角色信息 - * @return 结果 - */ - public int updateRole(SysRole role); - - /** - * 修改角色状态 - * - * @param role 角色信息 - * @return 结果 - */ - public int updateRoleStatus(SysRole role); - - /** - * 修改数据权限信息 - * - * @param role 角色信息 - * @return 结果 - */ - public int authDataScope(SysRole role); - - /** - * 通过角色ID删除角色 - * - * @param roleId 角色ID - * @return 结果 - */ - public int deleteRoleById(Long roleId); - - /** - * 批量删除角色信息 - * - * @param roleIds 需要删除的角色ID - * @return 结果 - */ - public int deleteRoleByIds(Long[] roleIds); - - /** - * 取消授权用户角色 - * - * @param userRole 用户和角色关联信息 - * @return 结果 - */ - public int deleteAuthUser(SysUserRole userRole); - - /** - * 批量取消授权用户角色 - * - * @param roleId 角色ID - * @param userIds 需要取消授权的用户数据ID - * @return 结果 - */ - public int deleteAuthUsers(Long roleId, Long[] userIds); - - /** - * 批量选择授权用户角色 - * - * @param roleId 角色ID - * @param userIds 需要删除的用户数据ID - * @return 结果 - */ - public int insertAuthUsers(Long roleId, Long[] userIds); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysUserOnlineService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysUserOnlineService.java deleted file mode 100644 index c61c1c8..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysUserOnlineService.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.hrt.system.service.user; - -import com.hrt.system.api.model.LoginUser; -import com.hrt.system.domain.poji.user.SysUserOnline; - -/** - * 在线用户 服务层 - * - * @author jqs - */ -public interface ISysUserOnlineService -{ - /** - * 通过登录地址查询信息 - * - * @param ipaddr 登录地址 - * @param user 用户信息 - * @return 在线用户信息 - */ - public SysUserOnline selectOnlineByIpaddr(String ipaddr, LoginUser user); - - /** - * 通过用户名称查询信息 - * - * @param userName 用户名称 - * @param user 用户信息 - * @return 在线用户信息 - */ - public SysUserOnline selectOnlineByUserName(String userName, LoginUser user); - - /** - * 通过登录地址/用户名称查询信息 - * - * @param ipaddr 登录地址 - * @param userName 用户名称 - * @param user 用户信息 - * @return 在线用户信息 - */ - public SysUserOnline selectOnlineByInfo(String ipaddr, String userName, LoginUser user); - - /** - * 设置在线用户信息 - * - * @param user 用户信息 - * @return 在线用户 - */ - public SysUserOnline loginUserToUserOnline(LoginUser user); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysUserService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysUserService.java deleted file mode 100644 index 7b5dcdf..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysUserService.java +++ /dev/null @@ -1,206 +0,0 @@ -package com.hrt.system.service.user; - -import java.util.List; -import com.hrt.system.api.domain.SysUser; - -/** - * 用户 业务层 - * - * @author jqs - */ -public interface ISysUserService -{ - /** - * 根据条件分页查询用户列表 - * - * @param user 用户信息 - * @return 用户信息集合信息 - */ - public List<SysUser> selectUserList(SysUser user); - - /** - * 根据条件分页查询已分配用户角色列表 - * - * @param user 用户信息 - * @return 用户信息集合信息 - */ - public List<SysUser> selectAllocatedList(SysUser user); - - /** - * 根据条件分页查询未分配用户角色列表 - * - * @param user 用户信息 - * @return 用户信息集合信息 - */ - public List<SysUser> selectUnallocatedList(SysUser user); - - /** - * 通过用户名查询用户 - * - * @param userName 用户名 - * @return 用户对象信息 - */ - public SysUser selectUserByUserName(String userName); - - /** - * 通过用户ID查询用户 - * - * @param userId 用户ID - * @return 用户对象信息 - */ - public SysUser selectUserById(Long userId); - - /** - * 根据用户ID查询用户所属角色组 - * - * @param userName 用户名 - * @return 结果 - */ - public String selectUserRoleGroup(String userName); - - /** - * 根据用户ID查询用户所属岗位组 - * - * @param userName 用户名 - * @return 结果 - */ - public String selectUserPostGroup(String userName); - - /** - * 校验用户名称是否唯一 - * - * @param user 用户信息 - * @return 结果 - */ - public boolean checkUserNameUnique(SysUser user); - - /** - * 校验手机号码是否唯一 - * - * @param user 用户信息 - * @return 结果 - */ - public boolean checkPhoneUnique(SysUser user); - - /** - * 校验email是否唯一 - * - * @param user 用户信息 - * @return 结果 - */ - public boolean checkEmailUnique(SysUser user); - - /** - * 校验用户是否允许操作 - * - * @param user 用户信息 - */ - public void checkUserAllowed(SysUser user); - - /** - * 校验用户是否有数据权限 - * - * @param userId 用户id - */ - public void checkUserDataScope(Long userId); - - /** - * 新增用户信息 - * - * @param user 用户信息 - * @return 结果 - */ - public int insertUser(SysUser user); - - /** - * 注册用户信息 - * - * @param user 用户信息 - * @return 结果 - */ - public boolean registerUser(SysUser user); - - /** - * 修改用户信息 - * - * @param user 用户信息 - * @return 结果 - */ - public int updateUser(SysUser user); - - /** - * 用户授权角色 - * - * @param userId 用户ID - * @param roleIds 角色组 - */ - public void insertUserAuth(Long userId, Long[] roleIds); - - /** - * 修改用户状态 - * - * @param user 用户信息 - * @return 结果 - */ - public int updateUserStatus(SysUser user); - - /** - * 修改用户基本信息 - * - * @param user 用户信息 - * @return 结果 - */ - public int updateUserProfile(SysUser user); - - /** - * 修改用户头像 - * - * @param userName 用户名 - * @param avatar 头像地址 - * @return 结果 - */ - public boolean updateUserAvatar(String userName, String avatar); - - /** - * 重置用户密码 - * - * @param user 用户信息 - * @return 结果 - */ - public int resetPwd(SysUser user); - - /** - * 重置用户密码 - * - * @param userName 用户名 - * @param password 密码 - * @return 结果 - */ - public int resetUserPwd(String userName, String password); - - /** - * 通过用户ID删除用户 - * - * @param userId 用户ID - * @return 结果 - */ - public int deleteUserById(Long userId); - - /** - * 批量删除用户信息 - * - * @param userIds 需要删除的用户ID - * @return 结果 - */ - public int deleteUserByIds(Long[] userIds); - - /** - * 导入用户数据 - * - * @param userList 用户数据列表 - * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据 - * @param operName 操作用户 - * @return 结果 - */ - public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName); -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/util/CodeFactoryUtil.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/util/CodeFactoryUtil.java deleted file mode 100644 index a0a28d5..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/util/CodeFactoryUtil.java +++ /dev/null @@ -1,138 +0,0 @@ -package com.hrt.system.util; - - - -import com.hrt.common.core.utils.DateUtils; -import org.apache.poi.ss.usermodel.DateUtil; - -import java.security.SecureRandom; -import java.util.Date; -import java.util.Random; - -/** - * @author jqs34 - * @ClassName CodeFactoryUtil - * @description: TODO - * @date 2023年02月13日 - * @version: 1.0 - */ -public class CodeFactoryUtil { - - /** - * APP用户编码 - */ - private static final String APP_USER_PREFIX = "HRT_M"; - - /** - * 商户编号 - */ - private static final String SHOP_PREFIX = "HRT_S"; - - /** - * 订单前缀 - */ - private static final String ORDER_PREFIX = "BO"; - - /** - * 退款订单前缀 - */ - private static final String ORDER_REFUND_PREFIX = "RO"; - - /** - * 用户id和随机数总长度 - */ - - private static final int maxLength = 4; - - /** - * 更具id进行加密+加随机数组成固定长度编码 - */ - - public static void main(String[] args) { - Long orderId = 1L; - String userNo = getShopNo(orderId); - System.out.println(userNo); - } - - /** - * 获取商户编号 - * - * @param shopId - * @return - */ - public static String getShopNo(Long shopId) { - String prefix = SHOP_PREFIX; - return toFillZeroCode(prefix, maxLength, shopId); - } - - /** - * 获取会员编号 - * @param userId - * @return - */ - public static String getMemberNo(Long userId) { - String prefix = APP_USER_PREFIX; - return toFillZeroCode(prefix, maxLength, userId); - } - - /** - * 获取订单编号 - * - * @param userId - * @return - */ - public static String getOrderNo(Long userId) { - - String prefix = DateUtils.parseDateToStr( "yyyyMMddHHmmss",new Date()); - prefix = ORDER_PREFIX + prefix; - return toFillZeroCode(prefix, maxLength, userId); - } - - - - /** - * 获取用户编号 - * - * @param userId - * @return - */ - public static String getAppUserNo(Long userId) { - return toFillZeroCode(APP_USER_PREFIX, 9, userId); - } - - /** - * 0补位 - * - * @param prefix - * @param totalLength - * @param id - * @return - */ - private static String toFillZeroCode(String prefix, int totalLength, Long id) { - String idStr = id.toString(); - int length = idStr.length(); - - int fillLength = totalLength - length; - StringBuilder idsbs = new StringBuilder(prefix); - for (int i = 0; i < fillLength; i++) { - idsbs.append("0"); - } - return idsbs.append(idStr).toString(); - } - - /** - * 随机6位数生成 - */ - public static String getRandStr(int num) { - // 默认6位 - num = num != 0 ? num : 6; - Random r = new SecureRandom(); - StringBuffer str = new StringBuffer(); - int i = 0; - while (i < num) { - str.append(r.nextInt(10)); - i++; - } - return str.toString(); - } -} diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/util/EmojiUtil.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/util/EmojiUtil.java deleted file mode 100644 index 5790c8d..0000000 --- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/util/EmojiUtil.java +++ /dev/null @@ -1,95 +0,0 @@ -package com.hrt.system.util; - -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; -import java.net.URLEncoder; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -public class EmojiUtil { - /** - * 编码 - * - * @param str 待转换字符串 - * @return 转换后字符串 - * @throws UnsupportedEncodingException exception - * @Description 将字符串中的emoji表情转换成可以在utf-8字符集数据库中保存的格式(表情占4个字节,需要utf8mb4字符集) - */ - public static String emojiEncode(String str) - throws UnsupportedEncodingException { - String patternString = "([\\x{10000}-\\x{10ffff}\ud800-\udfff])"; - - Pattern pattern = Pattern.compile(patternString); - Matcher matcher = pattern.matcher(str); - StringBuffer sb = new StringBuffer(); - while (matcher.find()) { - try { - matcher.appendReplacement( - sb, - "[[" - + URLEncoder.encode(matcher.group(1), - "UTF-8") + "]]"); - } catch (UnsupportedEncodingException e) { -// LOG.error("emojiConvert error", e); - throw e; - } - } - matcher.appendTail(sb); -// LOG.debug("emojiConvert " + str + " to " + sb.toString() -// + ", len:" + sb.length()); - return sb.toString(); - } - - /** - * 解码 - * - * @param str 转换后的字符串 - * @return 转换前的字符串 - * @throws UnsupportedEncodingException exception - * @Description 还原utf8数据库中保存的含转换后emoji表情的字符串 - */ - public static String emojiDecode(String str) - throws UnsupportedEncodingException { - String patternString = "\\[\\[(.*?)\\]\\]"; - - Pattern pattern = Pattern.compile(patternString); - if (str == null) { - return str; - } - Matcher matcher = pattern.matcher(str); - - StringBuffer sb = new StringBuffer(); - while (matcher.find()) { - try { - matcher.appendReplacement(sb, - URLDecoder.decode(matcher.group(1), "UTF-8")); - } catch (UnsupportedEncodingException e) { -// LOG.error("emojiRecovery error", e); - throw e; - } - } - matcher.appendTail(sb); -// LOG.debug("emojiRecovery " + str + " to " + sb.toString()); -// System.out.println("emojiRecovery " + str + " to " + sb.toString()); - return sb.toString(); - } - - /** - * @param str 待过滤字符串 - * @return 过滤后字符串 - * exception - * @Description 将字符串中的emoji表情过滤掉 - */ - public static String emojiSub(String str) { - String patternString = "([\\x{10000}-\\x{10ffff}\ud800-\udfff])"; - Pattern pattern = Pattern.compile(patternString); - Matcher matcher = pattern.matcher(str); - StringBuffer sb = new StringBuffer(); - while (matcher.find()) { - matcher.appendReplacement(sb, ""); - } - matcher.appendTail(sb); - return sb.toString(); - } - -} diff --git a/hrt-modules/hrt-system/src/main/resources/banner.txt b/hrt-modules/hrt-system/src/main/resources/banner.txt deleted file mode 100644 index fbd45f5..0000000 --- a/hrt-modules/hrt-system/src/main/resources/banner.txt +++ /dev/null @@ -1,10 +0,0 @@ -Spring Boot Version: ${spring-boot.version} -Spring Application Name: ${spring.application.name} - _ _ - (_) | | - _ __ _ _ ___ _ _ _ ______ ___ _ _ ___ | |_ ___ _ __ ___ -| '__|| | | | / _ \ | | | || ||______|/ __|| | | |/ __|| __| / _ \| '_ ` _ \ -| | | |_| || (_) || |_| || | \__ \| |_| |\__ \| |_ | __/| | | | | | -|_| \__,_| \___/ \__, ||_| |___/ \__, ||___/ \__| \___||_| |_| |_| - __/ | __/ | - |___/ |___/ \ No newline at end of file diff --git a/hrt-modules/hrt-system/src/main/resources/bootstrap.yml b/hrt-modules/hrt-system/src/main/resources/bootstrap.yml deleted file mode 100644 index cc85dd0..0000000 --- a/hrt-modules/hrt-system/src/main/resources/bootstrap.yml +++ /dev/null @@ -1,26 +0,0 @@ -# Tomcat -server: - port: 9201 - -# Spring -spring: - application: - # 应用名称 - name: hrt-system - profiles: - # 环境配置 - active: dev - cloud: - nacos: - discovery: - # 服务注册地址 - server-addr: 47.109.78.184:5000 - config: - # 配置中心地址 - server-addr: 47.109.78.184:5000 - # 配置文件格式 - file-extension: yml - # 共享配置 - shared-configs: - - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} - group: haiheng \ No newline at end of file diff --git a/hrt-modules/hrt-system/src/main/resources/logback.xml b/hrt-modules/hrt-system/src/main/resources/logback.xml deleted file mode 100644 index 161d285..0000000 --- a/hrt-modules/hrt-system/src/main/resources/logback.xml +++ /dev/null @@ -1,74 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<configuration scan="true" scanPeriod="60 seconds" debug="false"> - <!-- 日志存放路径 --> - <property name="log.path" value="logs/hrt-system" /> - <!-- 日志输出格式 --> - <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" /> - - <!-- 控制台输出 --> - <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> - <encoder> - <pattern>${log.pattern}</pattern> - </encoder> - </appender> - - <!-- 系统日志输出 --> - <appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${log.path}/info.log</file> - <!-- 循环政策:基于时间创建日志文件 --> - <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> - <!-- 日志文件名格式 --> - <fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern> - <!-- 日志最大的历史 60天 --> - <maxHistory>60</maxHistory> - </rollingPolicy> - <encoder> - <pattern>${log.pattern}</pattern> - </encoder> - <filter class="ch.qos.logback.classic.filter.LevelFilter"> - <!-- 过滤的级别 --> - <level>INFO</level> - <!-- 匹配时的操作:接收(记录) --> - <onMatch>ACCEPT</onMatch> - <!-- 不匹配时的操作:拒绝(不记录) --> - <onMismatch>DENY</onMismatch> - </filter> - </appender> - - <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${log.path}/error.log</file> - <!-- 循环政策:基于时间创建日志文件 --> - <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> - <!-- 日志文件名格式 --> - <fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern> - <!-- 日志最大的历史 60天 --> - <maxHistory>60</maxHistory> - </rollingPolicy> - <encoder> - <pattern>${log.pattern}</pattern> - </encoder> - <filter class="ch.qos.logback.classic.filter.LevelFilter"> - <!-- 过滤的级别 --> - <level>ERROR</level> - <!-- 匹配时的操作:接收(记录) --> - <onMatch>ACCEPT</onMatch> - <!-- 不匹配时的操作:拒绝(不记录) --> - <onMismatch>DENY</onMismatch> - </filter> - </appender> - - <!-- 系统模块日志级别控制 --> - <logger name="com.hrt" level="info" /> - <!-- Spring日志级别控制 --> - <logger name="org.springframework" level="warn" /> - - <root level="info"> - <appender-ref ref="console" /> - </root> - - <!--系统操作日志--> - <root level="info"> - <appender-ref ref="file_info" /> - <appender-ref ref="file_error" /> - </root> -</configuration> \ No newline at end of file diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/activity/ActivityGoodsMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/activity/ActivityGoodsMapper.xml deleted file mode 100644 index ed78e4d..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/activity/ActivityGoodsMapper.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.activity.ActivityGoodsMapper"> - - -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/coupon/CouponMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/coupon/CouponMapper.xml deleted file mode 100644 index 5a757be..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/coupon/CouponMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.coupon.CouponMapper"> - - - -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/coupon/CouponRelGoodsMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/coupon/CouponRelGoodsMapper.xml deleted file mode 100644 index 9c80269..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/coupon/CouponRelGoodsMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.coupon.CouponRelGoodsMapper"> - - - -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/coupon/CouponRelUserMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/coupon/CouponRelUserMapper.xml deleted file mode 100644 index 4b638f9..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/coupon/CouponRelUserMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.coupon.CouponRelUserMapper"> - - - -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/coupon/CouponTotalMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/coupon/CouponTotalMapper.xml deleted file mode 100644 index 6e176bd..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/coupon/CouponTotalMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.coupon.CouponTotalMapper"> - - - -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/goods/GoodsFileMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/goods/GoodsFileMapper.xml deleted file mode 100644 index 18428c8..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/goods/GoodsFileMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.goods.GoodsFileMapper"> - - - -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/goods/GoodsMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/goods/GoodsMapper.xml deleted file mode 100644 index 4ae4811..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/goods/GoodsMapper.xml +++ /dev/null @@ -1,138 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.goods.GoodsMapper"> - - <!--分页获取推荐商品--> - <select id="pageRecommendGoods" resultType="com.hrt.system.domain.vo.AppSimpleGoodsVo"> - SELECT - tg.goods_id goodsId, - tg.goods_name goodsName, - tg.goods_introduction goodsIntroduction, - tg.goods_type goodsType, - CASE tg.goods_type - WHEN 1 THEN "周期" - WHEN 2 THEN "服务" - WHEN 3 THEN "体验" - WHEN 4 THEN "单品" - END goodsTag, - IFNULL(tsg.sales_price,tg.sales_price) salesPrice, - tgf.file_url goodsPicture, - tg.goods_nurses goodsNurses - FROM t_goods tg - LEFT JOIN t_goods_file tgf ON tg.goods_id = tgf.goods_id AND tgf.del_flag = 0 AND tgf.file_type = 1 - LEFT JOIN t_shop_goods tsg ON tg.goods_id = tsg.goods_id AND tsg.shop_id = #{shopId} - WHERE tg.del_flag = 0 AND tg.goods_status = 1 AND tg.recommend_flag = 1 - ORDER BY tg.create_time DESC - </select> - - <!--分页获取商城商品列表--> - <select id="pageShopGoods" resultType="com.hrt.system.domain.vo.AppSimpleGoodsVo"> - SELECT - tg.goods_id goodsId, - tg.goods_name goodsName, - tg.goods_introduction goodsIntroduction, - tg.goods_type goodsType, - CASE tg.goods_type - WHEN 1 THEN "周期" - WHEN 2 THEN "服务" - WHEN 3 THEN "体验" - WHEN 4 THEN "单品" - END goodsTag, - IFNULL(tsg.sales_price,tg.sales_price) salesPrice, - tgf.file_url goodsPicture, - tg.goods_nurses goodsNurses - FROM t_goods tg - INNER JOIN t_goods_total tgt ON tg.goods_id = tgt.goods_id - LEFT JOIN t_goods_file tgf ON tg.goods_id = tgf.goods_id AND tgf.del_flag = 0 AND tgf.file_type = 1 - LEFT JOIN t_shop_goods tsg ON tg.goods_id = tsg.goods_id AND tsg.shop_id = #{shopId} - WHERE tg.del_flag = 0 AND tg.goods_status = 1 - <if test="param.goodsType!=null and param.goodsType != ''"> - AND tg.goods_type = #{param.goodsType} - </if> - <if test="param.goodsClassId!=null and param.goodsClassId != ''"> - AND tg.goods_class_id = #{param.goodsClassId} - </if> - <if test="param.keyword!=null and param.keyword != ''"> - AND tg.goods_name LIKE CONCAT('%',#{param.keyword},'%') - </if> - ORDER BY - <if test="param.sort != null and param.sort != ''"> - <choose> - <when test="param.sort==1"> - salesPrice DESC,tg.create_time DESC - </when> - <when test="param.sort==2"> - salesPrice ASC,tg.create_time DESC - </when> - <when test="param.sort==3"> - tgt.buy_num_count ASC,tg.create_time DESC - </when> - <when test="param.sort==4"> - tgt.buy_num_count DESC,tg.create_time DESC - </when> - <when test="param.sort==5"> - tg.create_time DESC - </when> - <otherwise> - tg.create_time DESC - </otherwise> - </choose> - </if> - </select> - - <!--分页获取搜索商品列表--> - <select id="pageSearchGoods" resultType="com.hrt.system.domain.vo.AppSimpleGoodsVo"> - SELECT - tg.goods_id goodsId, - tg.goods_name goodsName, - tg.goods_introduction goodsIntroduction, - tg.goods_type goodsType, - CASE tg.goods_type - WHEN 1 THEN "周期" - WHEN 2 THEN "服务" - WHEN 3 THEN "体验" - WHEN 4 THEN "单品" - END goodsTag, - IFNULL(tsg.sales_price,tg.sales_price) salesPrice, - tgf.file_url goodsPicture, - tg.goods_tags goodsNurses - FROM t_goods tg - LEFT JOIN t_goods_file tgf ON tg.goods_id = tgf.goods_id AND tgf.del_flag = 0 AND tgf.file_type = 1 - LEFT JOIN t_shop_goods tsg ON tg.goods_id = tsg.goods_id AND tsg.shop_id = #{shopId} - WHERE tg.del_flag = 0 AND tg.goods_status = 1 - <if test="param.keyword!=null and param.keyword != ''"> - AND tg.goods_name LIKE CONCAT('%',#{param.keyword},'%') - </if> - ORDER BY tg.create_time DESC - </select> - - <!--分页获取搜索活动商品列表--> - <select id="pageSearchActivityGoods" resultType="com.hrt.system.domain.vo.AppSimpleActivityGoodsVo"> - SELECT - tg.goods_id goodsId, - tg.goods_name goodsName, - tg.goods_introduction goodsIntroduction, - tg.goods_type goodsType, - CASE tg.goods_type - WHEN 1 THEN "周期" - WHEN 2 THEN "服务" - WHEN 3 THEN "体验" - WHEN 4 THEN "单品" - END goodsTag, - GREATEST(tg.sales_price,IFNULL(tsg.sales_price,'0.00')) salesPrice, - tag.activity_price activityPrice, - tgf.file_url goodsPicture, - tg.goods_tags goodsNurses, - tag.activity_number activityNumber, - tag.sales_number salesNumber - FROM t_goods tg - INNER JOIN t_activity_goods tag ON tg.goods_id = tag.goods_id - LEFT JOIN t_goods_file tgf ON tg.goods_id = tgf.goods_id AND tgf.del_flag = 0 AND tgf.file_type = 1 - LEFT JOIN t_shop_goods tsg ON tg.goods_id = tsg.goods_id AND tsg.shop_id = #{shopId} - WHERE tg.del_flag = 0 AND tg.goods_status = 1 - <if test="param.keyword!=null and param.keyword != ''"> - AND tg.goods_name LIKE CONCAT('%',#{param.keyword},'%') - </if> - ORDER BY tg.create_time DESC - </select> -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/goods/GoodsRelNurseMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/goods/GoodsRelNurseMapper.xml deleted file mode 100644 index e2d4da8..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/goods/GoodsRelNurseMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.goods.GoodsRelNurseMapper"> - - - -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/goods/GoodsRelTagMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/goods/GoodsRelTagMapper.xml deleted file mode 100644 index de64034..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/goods/GoodsRelTagMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.goods.GoodsRelTagMapper"> - - - -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/goods/GoodsTotalMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/goods/GoodsTotalMapper.xml deleted file mode 100644 index 09cf849..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/goods/GoodsTotalMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.goods.GoodsTotalMapper"> - - - -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/member/MemberArchiveFieldsMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/member/MemberArchiveFieldsMapper.xml deleted file mode 100644 index 1587146..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/member/MemberArchiveFieldsMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.member.MemberArchiveFieldsMapper"> - - - -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/member/MemberArchiveMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/member/MemberArchiveMapper.xml deleted file mode 100644 index 974bdaf..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/member/MemberArchiveMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.member.MemberArchiveMapper"> - - - -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/member/MemberMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/member/MemberMapper.xml deleted file mode 100644 index ab1041a..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/member/MemberMapper.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.member.MemberMapper"> - - <select id="getOneByMiniOpenid" resultType="com.hrt.system.domain.poji.member.Member"> - SELECT * FROM t_member WHERE mini_openid = #{miniOpenid} - </select> - -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/member/MemberNurseMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/member/MemberNurseMapper.xml deleted file mode 100644 index a556601..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/member/MemberNurseMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.member.MemberNurseMapper"> - - - -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/member/UserCouponMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/member/UserCouponMapper.xml deleted file mode 100644 index 43922ae..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/member/UserCouponMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.member.UserCouponMapper"> - - - -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/order/ConsumerGoodsMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/order/ConsumerGoodsMapper.xml deleted file mode 100644 index 90dc325..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/order/ConsumerGoodsMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.order.ConsumerGoodsMapper"> - - - -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/order/OrderGoodsMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/order/OrderGoodsMapper.xml deleted file mode 100644 index 9f2f314..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/order/OrderGoodsMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.order.OrderGoodsMapper"> - - - -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/order/OrderMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/order/OrderMapper.xml deleted file mode 100644 index 15b3b2d..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/order/OrderMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.order.OrderMapper"> - - - -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/order/ShoppingCartMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/order/ShoppingCartMapper.xml deleted file mode 100644 index 4ea4d3d..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/order/ShoppingCartMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.order.ShoppingCartMapper"> - - - -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/MemberTaskMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/MemberTaskMapper.xml deleted file mode 100644 index ff9c5fb..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/MemberTaskMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.shop.MemberTaskMapper"> - - - -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/MemberTaskRecordMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/MemberTaskRecordMapper.xml deleted file mode 100644 index 6b61d30..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/MemberTaskRecordMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.shop.MemberTaskRecordMapper"> - - - -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopCertificateMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopCertificateMapper.xml deleted file mode 100644 index 20f9c3e..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopCertificateMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.shop.ShopCertificateMapper"> - - - -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopFileMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopFileMapper.xml deleted file mode 100644 index 241186b..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopFileMapper.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.shop.ShopFileMapper"> - - <update id="deleteByShopId"> - UPDATE shop_file SET del_flag = 1 WHERE shop_id = #{shopId} - </update> - -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopGoodsMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopGoodsMapper.xml deleted file mode 100644 index 126552f..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopGoodsMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.shop.ShopGoodsMapper"> - - - -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopMapper.xml deleted file mode 100644 index 228a9bd..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopMapper.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.shop.ShopMapper"> - - <select id="pageShop" resultType="com.hrt.system.domain.vo.MgtShopPageVo"> - SELECT - ts.shop_id shopId, - ts.sign_time signTime, - ts.shop_name shopName, - ts.shop_number shopNumber, - ts.shop_tags shopTags, - sus.nick_name signUser, - null firstWithdraw, - sub.nick_name belongUser, - sd.dept_name belongDept, - ts.shop_source shopSource, - ts.sign_area_name signAreaName, - CONCAT(ts.cooperation_start_time,'-',ts.cooperation_end_time) cooperationTime, - CONCAT(ts.shop_area_name,ts.shop_address) shopAddress, - ts.shopowner_name shopownerName, - ts.shopowner_phone shopownerPhone, - ts.shop_status shopStatus, - tsm.shop_marketing_total shopActivityCount, - ts.shop_custom_status shopCustomStatus - FROM t_shop ts - LEFT JOIN sys_user sus ON sus.user_id = ts.sign_user_id - LEFT JOIN sys_user sub ON sub.user_id = ts.belong_user_id - LEFT JOIN sys_dept sd ON sub.dept_id = sd.dept_id - LEFT JOIN t_shop_marketing tsm ON tsm.shop_id = ts.shop_id - - </select> - -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopMarketingMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopMarketingMapper.xml deleted file mode 100644 index 7cd070d..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopMarketingMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.shop.ShopMarketingMapper"> - - - -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopRelTagMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopRelTagMapper.xml deleted file mode 100644 index 21b188e..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopRelTagMapper.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.shop.ShopRelTagMapper"> - - <update id="deleteByShopId"> - UPDATE shop_rel_tag SET del_flag = 1 WHERE shop_id = #{shopId} - </update> - - <select id="listShopTagVo" resultType="com.hrt.system.domain.vo.MgtShopTagVo"> - SELECT - srt.tag_id tagId, - st.tag_name tagName, - CASE WHEN srt.id IS NULL THEN 0 ELSE 1 END selectFlag - FROM sys_tag st - LEFT JOIN shop_rel_tag srt ON srt.tag_id = st.tag_id - WHERE srt.del_flag = 0 AND shop_id = #{shopId} - </select> -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopRelUserMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopRelUserMapper.xml deleted file mode 100644 index 8e48c11..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopRelUserMapper.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.shop.ShopRelUserMapper"> - - <update id="deleteByShopId"> - UPDATE shop_rel_user SET del_flag = 1 WHERE shop_id = #{shopId} - </update> - -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopTaskMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopTaskMapper.xml deleted file mode 100644 index 529c95c..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopTaskMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.shop.ShopTaskMapper"> - - - -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopTransferRecordMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopTransferRecordMapper.xml deleted file mode 100644 index 160206e..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopTransferRecordMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.shop.ShopTransferRecordMapper"> - - - -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/TaskFileMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/TaskFileMapper.xml deleted file mode 100644 index 4b8e0db..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/TaskFileMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.shop.TaskFileMapper"> - - - -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/UserServiceRecordMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/UserServiceRecordMapper.xml deleted file mode 100644 index 05539b0..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/UserServiceRecordMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.order.UserServiceRecordMapper"> - - - -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/AdvertMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/AdvertMapper.xml deleted file mode 100644 index ed5d936..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/AdvertMapper.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.sys.AdvertMapper"> - - <select id="getAdvertVo" resultType="com.hrt.system.domain.vo.AppAdvertVo"> - SELECT - ad_id adId, - ad_url adUrl, - ad_content adContent, - target_type targetType, - link_url linkUrl, - jump_id jumpId, - logo_url logoUrl - FROM t_advert WHERE del_flag = 0 ORDER BY create_time DESC LIMIT 1 - </select> - -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/AgreementMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/AgreementMapper.xml deleted file mode 100644 index c55217d..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/AgreementMapper.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.sys.AgreementMapper"> - - <select id="getAppAgreementVoByType" resultType="com.hrt.system.domain.vo.AppAgreementVo"> - SELECT agreement_id agreementId,agreement_content agreementContent FROM t_agreement WHERE del_flag = 0 AND agreement_type = #{type} - </select> - - -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/BannerMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/BannerMapper.xml deleted file mode 100644 index a596b92..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/BannerMapper.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.sys.BannerMapper"> - - <select id="listHomeBannerVo" resultType="com.hrt.system.domain.vo.AppBannerVo"> - SELECT - banner_id bannerId, - banner_url bannerUrl, - target_type targetType, - link_type linkType, - link_url linkUrl, - jump_type jumpType, - jump_id jumpId - FROM t_banner WHERE del_flag = 0 AND banner_position = 1 - ORDER BY create_time ASC - </select> - -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/CustomeConfigMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/CustomeConfigMapper.xml deleted file mode 100644 index e556414..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/CustomeConfigMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.sys.CustomeConfigMapper"> - - - -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/PopMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/PopMapper.xml deleted file mode 100644 index 1154cac..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/PopMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.sys.PopMapper"> - - - -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/QuickEntryMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/QuickEntryMapper.xml deleted file mode 100644 index b1e8569..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/QuickEntryMapper.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.sys.QuickEntryMapper"> - - <select id="listQuickEntryVo" resultType="com.hrt.system.domain.vo.AppQuickEntryVo"> - SELECT - entry_id entryId, - entry_url entryUrl, - entry_name entryName, - target_type targetType, - link_url linkUrl, - jump_id jumpId - FROM t_quick_entry WHERE del_flag = 0 - ORDER BY entry_sort DESC - </select> - -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/SysClassificationMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/SysClassificationMapper.xml deleted file mode 100644 index 838df2f..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/SysClassificationMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.sys.SysClassificationMapper"> - - - -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/SysConfigMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/SysConfigMapper.xml deleted file mode 100644 index 3653252..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/SysConfigMapper.xml +++ /dev/null @@ -1,117 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!DOCTYPE mapper -PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" -"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.sys.SysConfigMapper"> - - <resultMap type="com.hrt.system.domain.poji.sys.SysConfig" id="SysConfigResult"> - <id property="configId" column="config_id" /> - <result property="configName" column="config_name" /> - <result property="configKey" column="config_key" /> - <result property="configValue" column="config_value" /> - <result property="configType" column="config_type" /> - <result property="createBy" column="create_by" /> - <result property="createTime" column="create_time" /> - <result property="updateBy" column="update_by" /> - <result property="updateTime" column="update_time" /> - </resultMap> - - <sql id="selectConfigVo"> - select config_id, config_name, config_key, config_value, config_type, create_by, create_time, update_by, update_time, remark - from sys_config - </sql> - - <!-- 查询条件 --> - <sql id="sqlwhereSearch"> - <where> - <if test="configId !=null"> - and config_id = #{configId} - </if> - <if test="configKey !=null and configKey != ''"> - and config_key = #{configKey} - </if> - </where> - </sql> - - <select id="selectConfig" parameterType="com.hrt.system.domain.poji.sys.SysConfig" resultMap="SysConfigResult"> - <include refid="selectConfigVo"/> - <include refid="sqlwhereSearch"/> - </select> - - <select id="selectConfigList" parameterType="com.hrt.system.domain.poji.sys.SysConfig" resultMap="SysConfigResult"> - <include refid="selectConfigVo"/> - <where> - <if test="configName != null and configName != ''"> - AND config_name like concat('%', #{configName}, '%') - </if> - <if test="configType != null and configType != ''"> - AND config_type = #{configType} - </if> - <if test="configKey != null and configKey != ''"> - AND config_key like concat('%', #{configKey}, '%') - </if> - <if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 --> - and date_format(create_time,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d') - </if> - <if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 --> - and date_format(create_time,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d') - </if> - </where> - </select> - - <select id="selectConfigById" parameterType="Long" resultMap="SysConfigResult"> - <include refid="selectConfigVo"/> - where config_id = #{configId} - </select> - - <select id="checkConfigKeyUnique" parameterType="String" resultMap="SysConfigResult"> - <include refid="selectConfigVo"/> - where config_key = #{configKey} limit 1 - </select> - - <insert id="insertConfig" parameterType="com.hrt.system.domain.poji.sys.SysConfig"> - insert into sys_config ( - <if test="configName != null and configName != '' ">config_name,</if> - <if test="configKey != null and configKey != '' ">config_key,</if> - <if test="configValue != null and configValue != '' ">config_value,</if> - <if test="configType != null and configType != '' ">config_type,</if> - <if test="createBy != null and createBy != ''">create_by,</if> - <if test="remark != null and remark != ''">remark,</if> - create_time - )values( - <if test="configName != null and configName != ''">#{configName},</if> - <if test="configKey != null and configKey != ''">#{configKey},</if> - <if test="configValue != null and configValue != ''">#{configValue},</if> - <if test="configType != null and configType != ''">#{configType},</if> - <if test="createBy != null and createBy != ''">#{createBy},</if> - <if test="remark != null and remark != ''">#{remark},</if> - sysdate() - ) - </insert> - - <update id="updateConfig" parameterType="com.hrt.system.domain.poji.sys.SysConfig"> - update sys_config - <set> - <if test="configName != null and configName != ''">config_name = #{configName},</if> - <if test="configKey != null and configKey != ''">config_key = #{configKey},</if> - <if test="configValue != null and configValue != ''">config_value = #{configValue},</if> - <if test="configType != null and configType != ''">config_type = #{configType},</if> - <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if> - <if test="remark != null">remark = #{remark},</if> - update_time = sysdate() - </set> - where config_id = #{configId} - </update> - - <delete id="deleteConfigById" parameterType="Long"> - delete from sys_config where config_id = #{configId} - </delete> - - <delete id="deleteConfigByIds" parameterType="Long"> - delete from sys_config where config_id in - <foreach item="configId" collection="array" open="(" separator="," close=")"> - #{configId} - </foreach> - </delete> - -</mapper> \ No newline at end of file diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/SysDictDataMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/SysDictDataMapper.xml deleted file mode 100644 index 3a05c72..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/SysDictDataMapper.xml +++ /dev/null @@ -1,124 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!DOCTYPE mapper -PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" -"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.sys.SysDictDataMapper"> - - <resultMap type="com.hrt.system.api.domain.SysDictData" id="SysDictDataResult"> - <id property="dictCode" column="dict_code" /> - <result property="dictSort" column="dict_sort" /> - <result property="dictLabel" column="dict_label" /> - <result property="dictValue" column="dict_value" /> - <result property="dictType" column="dict_type" /> - <result property="cssClass" column="css_class" /> - <result property="listClass" column="list_class" /> - <result property="isDefault" column="is_default" /> - <result property="status" column="status" /> - <result property="createBy" column="create_by" /> - <result property="createTime" column="create_time" /> - <result property="updateBy" column="update_by" /> - <result property="updateTime" column="update_time" /> - </resultMap> - - <sql id="selectDictDataVo"> - select dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark - from sys_dict_data - </sql> - - <select id="selectDictDataList" parameterType="com.hrt.system.api.domain.SysDictData" resultMap="SysDictDataResult"> - <include refid="selectDictDataVo"/> - <where> - <if test="dictType != null and dictType != ''"> - AND dict_type = #{dictType} - </if> - <if test="dictLabel != null and dictLabel != ''"> - AND dict_label like concat('%', #{dictLabel}, '%') - </if> - <if test="status != null and status != ''"> - AND status = #{status} - </if> - </where> - order by dict_sort asc - </select> - - <select id="selectDictDataByType" parameterType="com.hrt.system.api.domain.SysDictData" resultMap="SysDictDataResult"> - <include refid="selectDictDataVo"/> - where status = '0' and dict_type = #{dictType} order by dict_sort asc - </select> - - <select id="selectDictLabel" resultType="String"> - select dict_label from sys_dict_data - where dict_type = #{dictType} and dict_value = #{dictValue} - </select> - - <select id="selectDictDataById" parameterType="Long" resultMap="SysDictDataResult"> - <include refid="selectDictDataVo"/> - where dict_code = #{dictCode} - </select> - - <select id="countDictDataByType" resultType="Integer"> - select count(1) from sys_dict_data where dict_type=#{dictType} - </select> - - <delete id="deleteDictDataById" parameterType="Long"> - delete from sys_dict_data where dict_code = #{dictCode} - </delete> - - <delete id="deleteDictDataByIds" parameterType="Long"> - delete from sys_dict_data where dict_code in - <foreach collection="array" item="dictCode" open="(" separator="," close=")"> - #{dictCode} - </foreach> - </delete> - - <update id="updateDictData" parameterType="com.hrt.system.api.domain.SysDictData"> - update sys_dict_data - <set> - <if test="dictSort != null">dict_sort = #{dictSort},</if> - <if test="dictLabel != null and dictLabel != ''">dict_label = #{dictLabel},</if> - <if test="dictValue != null and dictValue != ''">dict_value = #{dictValue},</if> - <if test="dictType != null and dictType != ''">dict_type = #{dictType},</if> - <if test="cssClass != null">css_class = #{cssClass},</if> - <if test="listClass != null">list_class = #{listClass},</if> - <if test="isDefault != null and isDefault != ''">is_default = #{isDefault},</if> - <if test="status != null">status = #{status},</if> - <if test="remark != null">remark = #{remark},</if> - <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if> - update_time = sysdate() - </set> - where dict_code = #{dictCode} - </update> - - <update id="updateDictDataType" parameterType="String"> - update sys_dict_data set dict_type = #{newDictType} where dict_type = #{oldDictType} - </update> - - <insert id="insertDictData" parameterType="com.hrt.system.api.domain.SysDictData"> - insert into sys_dict_data( - <if test="dictSort != null">dict_sort,</if> - <if test="dictLabel != null and dictLabel != ''">dict_label,</if> - <if test="dictValue != null and dictValue != ''">dict_value,</if> - <if test="dictType != null and dictType != ''">dict_type,</if> - <if test="cssClass != null and cssClass != ''">css_class,</if> - <if test="listClass != null and listClass != ''">list_class,</if> - <if test="isDefault != null and isDefault != ''">is_default,</if> - <if test="status != null">status,</if> - <if test="remark != null and remark != ''">remark,</if> - <if test="createBy != null and createBy != ''">create_by,</if> - create_time - )values( - <if test="dictSort != null">#{dictSort},</if> - <if test="dictLabel != null and dictLabel != ''">#{dictLabel},</if> - <if test="dictValue != null and dictValue != ''">#{dictValue},</if> - <if test="dictType != null and dictType != ''">#{dictType},</if> - <if test="cssClass != null and cssClass != ''">#{cssClass},</if> - <if test="listClass != null and listClass != ''">#{listClass},</if> - <if test="isDefault != null and isDefault != ''">#{isDefault},</if> - <if test="status != null">#{status},</if> - <if test="remark != null and remark != ''">#{remark},</if> - <if test="createBy != null and createBy != ''">#{createBy},</if> - sysdate() - ) - </insert> - -</mapper> \ No newline at end of file diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/SysDictTypeMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/SysDictTypeMapper.xml deleted file mode 100644 index d925e4a..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/SysDictTypeMapper.xml +++ /dev/null @@ -1,105 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!DOCTYPE mapper -PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" -"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.sys.SysDictTypeMapper"> - - <resultMap type="com.hrt.system.api.domain.SysDictType" id="SysDictTypeResult"> - <id property="dictId" column="dict_id" /> - <result property="dictName" column="dict_name" /> - <result property="dictType" column="dict_type" /> - <result property="status" column="status" /> - <result property="createBy" column="create_by" /> - <result property="createTime" column="create_time" /> - <result property="updateBy" column="update_by" /> - <result property="updateTime" column="update_time" /> - </resultMap> - - <sql id="selectDictTypeVo"> - select dict_id, dict_name, dict_type, status, create_by, create_time, remark - from sys_dict_type - </sql> - - <select id="selectDictTypeList" parameterType="com.hrt.system.api.domain.SysDictType" resultMap="SysDictTypeResult"> - <include refid="selectDictTypeVo"/> - <where> - <if test="dictName != null and dictName != ''"> - AND dict_name like concat('%', #{dictName}, '%') - </if> - <if test="status != null and status != ''"> - AND status = #{status} - </if> - <if test="dictType != null and dictType != ''"> - AND dict_type like concat('%', #{dictType}, '%') - </if> - <if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 --> - and date_format(create_time,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d') - </if> - <if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 --> - and date_format(create_time,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d') - </if> - </where> - </select> - - <select id="selectDictTypeAll" resultMap="SysDictTypeResult"> - <include refid="selectDictTypeVo"/> - </select> - - <select id="selectDictTypeById" parameterType="Long" resultMap="SysDictTypeResult"> - <include refid="selectDictTypeVo"/> - where dict_id = #{dictId} - </select> - - <select id="selectDictTypeByType" parameterType="String" resultMap="SysDictTypeResult"> - <include refid="selectDictTypeVo"/> - where dict_type = #{dictType} - </select> - - <select id="checkDictTypeUnique" parameterType="String" resultMap="SysDictTypeResult"> - <include refid="selectDictTypeVo"/> - where dict_type = #{dictType} limit 1 - </select> - - <delete id="deleteDictTypeById" parameterType="Long"> - delete from sys_dict_type where dict_id = #{dictId} - </delete> - - <delete id="deleteDictTypeByIds" parameterType="Long"> - delete from sys_dict_type where dict_id in - <foreach collection="array" item="dictId" open="(" separator="," close=")"> - #{dictId} - </foreach> - </delete> - - <update id="updateDictType" parameterType="com.hrt.system.api.domain.SysDictType"> - update sys_dict_type - <set> - <if test="dictName != null and dictName != ''">dict_name = #{dictName},</if> - <if test="dictType != null and dictType != ''">dict_type = #{dictType},</if> - <if test="status != null">status = #{status},</if> - <if test="remark != null">remark = #{remark},</if> - <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if> - update_time = sysdate() - </set> - where dict_id = #{dictId} - </update> - - <insert id="insertDictType" parameterType="com.hrt.system.api.domain.SysDictType"> - insert into sys_dict_type( - <if test="dictName != null and dictName != ''">dict_name,</if> - <if test="dictType != null and dictType != ''">dict_type,</if> - <if test="status != null">status,</if> - <if test="remark != null and remark != ''">remark,</if> - <if test="createBy != null and createBy != ''">create_by,</if> - create_time - )values( - <if test="dictName != null and dictName != ''">#{dictName},</if> - <if test="dictType != null and dictType != ''">#{dictType},</if> - <if test="status != null">#{status},</if> - <if test="remark != null and remark != ''">#{remark},</if> - <if test="createBy != null and createBy != ''">#{createBy},</if> - sysdate() - ) - </insert> - -</mapper> \ No newline at end of file diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/SysNoticeMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/SysNoticeMapper.xml deleted file mode 100644 index 13996a1..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/SysNoticeMapper.xml +++ /dev/null @@ -1,89 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!DOCTYPE mapper -PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" -"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.sys.SysNoticeMapper"> - - <resultMap type="com.hrt.system.domain.poji.sys.SysNotice" id="SysNoticeResult"> - <result property="noticeId" column="notice_id" /> - <result property="noticeTitle" column="notice_title" /> - <result property="noticeType" column="notice_type" /> - <result property="noticeContent" column="notice_content" /> - <result property="status" column="status" /> - <result property="createBy" column="create_by" /> - <result property="createTime" column="create_time" /> - <result property="updateBy" column="update_by" /> - <result property="updateTime" column="update_time" /> - <result property="remark" column="remark" /> - </resultMap> - - <sql id="selectNoticeVo"> - select notice_id, notice_title, notice_type, cast(notice_content as char) as notice_content, status, create_by, create_time, update_by, update_time, remark - from sys_notice - </sql> - - <select id="selectNoticeById" parameterType="Long" resultMap="SysNoticeResult"> - <include refid="selectNoticeVo"/> - where notice_id = #{noticeId} - </select> - - <select id="selectNoticeList" parameterType="com.hrt.system.domain.poji.sys.SysNotice" resultMap="SysNoticeResult"> - <include refid="selectNoticeVo"/> - <where> - <if test="noticeTitle != null and noticeTitle != ''"> - AND notice_title like concat('%', #{noticeTitle}, '%') - </if> - <if test="noticeType != null and noticeType != ''"> - AND notice_type = #{noticeType} - </if> - <if test="createBy != null and createBy != ''"> - AND create_by like concat('%', #{createBy}, '%') - </if> - </where> - </select> - - <insert id="insertNotice" parameterType="com.hrt.system.domain.poji.sys.SysNotice"> - insert into sys_notice ( - <if test="noticeTitle != null and noticeTitle != '' ">notice_title, </if> - <if test="noticeType != null and noticeType != '' ">notice_type, </if> - <if test="noticeContent != null and noticeContent != '' ">notice_content, </if> - <if test="status != null and status != '' ">status, </if> - <if test="remark != null and remark != ''">remark,</if> - <if test="createBy != null and createBy != ''">create_by,</if> - create_time - )values( - <if test="noticeTitle != null and noticeTitle != ''">#{noticeTitle}, </if> - <if test="noticeType != null and noticeType != ''">#{noticeType}, </if> - <if test="noticeContent != null and noticeContent != ''">#{noticeContent}, </if> - <if test="status != null and status != ''">#{status}, </if> - <if test="remark != null and remark != ''">#{remark},</if> - <if test="createBy != null and createBy != ''">#{createBy},</if> - sysdate() - ) - </insert> - - <update id="updateNotice" parameterType="com.hrt.system.domain.poji.sys.SysNotice"> - update sys_notice - <set> - <if test="noticeTitle != null and noticeTitle != ''">notice_title = #{noticeTitle}, </if> - <if test="noticeType != null and noticeType != ''">notice_type = #{noticeType}, </if> - <if test="noticeContent != null">notice_content = #{noticeContent}, </if> - <if test="status != null and status != ''">status = #{status}, </if> - <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if> - update_time = sysdate() - </set> - where notice_id = #{noticeId} - </update> - - <delete id="deleteNoticeById" parameterType="Long"> - delete from sys_notice where notice_id = #{noticeId} - </delete> - - <delete id="deleteNoticeByIds" parameterType="Long"> - delete from sys_notice where notice_id in - <foreach item="noticeId" collection="array" open="(" separator="," close=")"> - #{noticeId} - </foreach> - </delete> - -</mapper> \ No newline at end of file diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/SysTagMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/SysTagMapper.xml deleted file mode 100644 index a34e089..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/SysTagMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.sys.SysTagMapper"> - - - -</mapper> diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysDeptMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysDeptMapper.xml deleted file mode 100644 index d9afd51..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysDeptMapper.xml +++ /dev/null @@ -1,157 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!DOCTYPE mapper -PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" -"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.user.SysDeptMapper"> - - <resultMap type="com.hrt.system.api.domain.SysDept" id="SysDeptResult"> - <id property="deptId" column="dept_id" /> - <result property="parentId" column="parent_id" /> - <result property="ancestors" column="ancestors" /> - <result property="deptName" column="dept_name" /> - <result property="orderNum" column="order_num" /> - <result property="leader" column="leader" /> - <result property="phone" column="phone" /> - <result property="email" column="email" /> - <result property="status" column="status" /> - <result property="delFlag" column="del_flag" /> - <result property="parentName" column="parent_name" /> - <result property="createBy" column="create_by" /> - <result property="createTime" column="create_time" /> - <result property="updateBy" column="update_by" /> - <result property="updateTime" column="update_time" /> - </resultMap> - - <sql id="selectDeptVo"> - select d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.phone, d.email, d.status, d.del_flag, d.create_by, d.create_time - from sys_dept d - </sql> - - <select id="selectDeptList" parameterType="com.hrt.system.api.domain.SysDept" resultMap="SysDeptResult"> - <include refid="selectDeptVo"/> - where d.del_flag = '0' - <if test="deptId != null and deptId != 0"> - AND dept_id = #{deptId} - </if> - <if test="parentId != null and parentId != 0"> - AND parent_id = #{parentId} - </if> - <if test="deptName != null and deptName != ''"> - AND dept_name like concat('%', #{deptName}, '%') - </if> - <if test="status != null and status != ''"> - AND status = #{status} - </if> - <!-- 数据范围过滤 --> - ${params.dataScope} - order by d.parent_id, d.order_num - </select> - - <select id="selectDeptListByRoleId" resultType="Long"> - select d.dept_id - from sys_dept d - left join sys_role_dept rd on d.dept_id = rd.dept_id - where rd.role_id = #{roleId} - <if test="deptCheckStrictly"> - and d.dept_id not in (select d.parent_id from sys_dept d inner join sys_role_dept rd on d.dept_id = rd.dept_id and rd.role_id = #{roleId}) - </if> - order by d.parent_id, d.order_num - </select> - - <select id="selectDeptById" parameterType="Long" resultMap="SysDeptResult"> - <include refid="selectDeptVo"/> - where dept_id = #{deptId} - </select> - - <select id="checkDeptExistUser" parameterType="Long" resultType="int"> - select count(1) from sys_user where dept_id = #{deptId} and del_flag = '0' - </select> - - <select id="hasChildByDeptId" parameterType="Long" resultType="int"> - select count(1) from sys_dept - where del_flag = '0' and parent_id = #{deptId} limit 1 - </select> - - <select id="selectChildrenDeptById" parameterType="Long" resultMap="SysDeptResult"> - select * from sys_dept where find_in_set(#{deptId}, ancestors) - </select> - - <select id="selectNormalChildrenDeptById" parameterType="Long" resultType="int"> - select count(*) from sys_dept where status = 0 and del_flag = '0' and find_in_set(#{deptId}, ancestors) - </select> - - <select id="checkDeptNameUnique" resultMap="SysDeptResult"> - <include refid="selectDeptVo"/> - where dept_name=#{deptName} and parent_id = #{parentId} and del_flag = '0' limit 1 - </select> - - <insert id="insertDept" parameterType="com.hrt.system.api.domain.SysDept"> - insert into sys_dept( - <if test="deptId != null and deptId != 0">dept_id,</if> - <if test="parentId != null and parentId != 0">parent_id,</if> - <if test="deptName != null and deptName != ''">dept_name,</if> - <if test="ancestors != null and ancestors != ''">ancestors,</if> - <if test="orderNum != null">order_num,</if> - <if test="leader != null and leader != ''">leader,</if> - <if test="phone != null and phone != ''">phone,</if> - <if test="email != null and email != ''">email,</if> - <if test="status != null">status,</if> - <if test="createBy != null and createBy != ''">create_by,</if> - create_time - )values( - <if test="deptId != null and deptId != 0">#{deptId},</if> - <if test="parentId != null and parentId != 0">#{parentId},</if> - <if test="deptName != null and deptName != ''">#{deptName},</if> - <if test="ancestors != null and ancestors != ''">#{ancestors},</if> - <if test="orderNum != null">#{orderNum},</if> - <if test="leader != null and leader != ''">#{leader},</if> - <if test="phone != null and phone != ''">#{phone},</if> - <if test="email != null and email != ''">#{email},</if> - <if test="status != null">#{status},</if> - <if test="createBy != null and createBy != ''">#{createBy},</if> - sysdate() - ) - </insert> - - <update id="updateDept" parameterType="com.hrt.system.api.domain.SysDept"> - update sys_dept - <set> - <if test="parentId != null and parentId != 0">parent_id = #{parentId},</if> - <if test="deptName != null and deptName != ''">dept_name = #{deptName},</if> - <if test="ancestors != null and ancestors != ''">ancestors = #{ancestors},</if> - <if test="orderNum != null">order_num = #{orderNum},</if> - <if test="leader != null">leader = #{leader},</if> - <if test="phone != null">phone = #{phone},</if> - <if test="email != null">email = #{email},</if> - <if test="status != null and status != ''">status = #{status},</if> - <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if> - update_time = sysdate() - </set> - where dept_id = #{deptId} - </update> - - <update id="updateDeptChildren" parameterType="java.util.List"> - update sys_dept set ancestors = - <foreach collection="depts" item="item" index="index" - separator=" " open="case dept_id" close="end"> - when #{item.deptId} then #{item.ancestors} - </foreach> - where dept_id in - <foreach collection="depts" item="item" index="index" - separator="," open="(" close=")"> - #{item.deptId} - </foreach> - </update> - - <update id="updateDeptStatusNormal" parameterType="Long"> - update sys_dept set status = '0' where dept_id in - <foreach collection="array" item="deptId" open="(" separator="," close=")"> - #{deptId} - </foreach> - </update> - - <delete id="deleteDeptById" parameterType="Long"> - update sys_dept set del_flag = '2' where dept_id = #{deptId} - </delete> - -</mapper> \ No newline at end of file diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysLogininforMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysLogininforMapper.xml deleted file mode 100644 index 14f21bd..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysLogininforMapper.xml +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!DOCTYPE mapper -PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" -"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.user.SysLogininforMapper"> - - <resultMap type="com.hrt.system.api.domain.SysLogininfor" id="SysLogininforResult"> - <id property="infoId" column="info_id" /> - <result property="userName" column="user_name" /> - <result property="status" column="status" /> - <result property="ipaddr" column="ipaddr" /> - <result property="msg" column="msg" /> - <result property="accessTime" column="access_time" /> - </resultMap> - - <insert id="insertLogininfor" parameterType="com.hrt.system.api.domain.SysLogininfor"> - insert into sys_logininfor (user_name, status, ipaddr, msg, access_time) - values (#{userName}, #{status}, #{ipaddr}, #{msg}, sysdate()) - </insert> - - <select id="selectLogininforList" parameterType="com.hrt.system.api.domain.SysLogininfor" resultMap="SysLogininforResult"> - select info_id, user_name, ipaddr, status, msg, access_time from sys_logininfor - <where> - <if test="ipaddr != null and ipaddr != ''"> - AND ipaddr like concat('%', #{ipaddr}, '%') - </if> - <if test="status != null and status != ''"> - AND status = #{status} - </if> - <if test="userName != null and userName != ''"> - AND user_name like concat('%', #{userName}, '%') - </if> - <if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 --> - AND access_time >= #{params.beginTime} - </if> - <if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 --> - AND access_time <= #{params.endTime} - </if> - </where> - order by info_id desc - </select> - - <delete id="deleteLogininforByIds" parameterType="Long"> - delete from sys_logininfor where info_id in - <foreach collection="array" item="infoId" open="(" separator="," close=")"> - #{infoId} - </foreach> - </delete> - - <update id="cleanLogininfor"> - truncate table sys_logininfor - </update> - -</mapper> \ No newline at end of file diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysMenuMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysMenuMapper.xml deleted file mode 100644 index 355695c..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysMenuMapper.xml +++ /dev/null @@ -1,202 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!DOCTYPE mapper - PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.user.SysMenuMapper"> - - <resultMap type="com.hrt.system.domain.poji.user.SysMenu" id="SysMenuResult"> - <id property="menuId" column="menu_id" /> - <result property="menuName" column="menu_name" /> - <result property="parentName" column="parent_name" /> - <result property="parentId" column="parent_id" /> - <result property="orderNum" column="order_num" /> - <result property="path" column="path" /> - <result property="component" column="component" /> - <result property="query" column="query" /> - <result property="isFrame" column="is_frame" /> - <result property="isCache" column="is_cache" /> - <result property="menuType" column="menu_type" /> - <result property="visible" column="visible" /> - <result property="status" column="status" /> - <result property="perms" column="perms" /> - <result property="icon" column="icon" /> - <result property="createBy" column="create_by" /> - <result property="createTime" column="create_time" /> - <result property="updateTime" column="update_time" /> - <result property="updateBy" column="update_by" /> - <result property="remark" column="remark" /> - </resultMap> - - <sql id="selectMenuVo"> - select menu_id, menu_name, parent_id, order_num, path, component, `query`, is_frame, is_cache, menu_type, visible, status, ifnull(perms,'') as perms, icon, create_time - from sys_menu - </sql> - - <select id="selectMenuList" parameterType="com.hrt.system.domain.poji.user.SysMenu" resultMap="SysMenuResult"> - <include refid="selectMenuVo"/> - <where> - <if test="menuName != null and menuName != ''"> - AND menu_name like concat('%', #{menuName}, '%') - </if> - <if test="visible != null and visible != ''"> - AND visible = #{visible} - </if> - <if test="status != null and status != ''"> - AND status = #{status} - </if> - </where> - order by parent_id, order_num - </select> - - <select id="selectMenuTreeAll" resultMap="SysMenuResult"> - select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time - from sys_menu m where m.menu_type in ('M', 'C') and m.status = 0 - order by m.parent_id, m.order_num - </select> - - <select id="selectMenuListByUserId" parameterType="com.hrt.system.domain.poji.user.SysMenu" resultMap="SysMenuResult"> - select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time - from sys_menu m - left join sys_role_menu rm on m.menu_id = rm.menu_id - left join sys_user_role ur on rm.role_id = ur.role_id - left join sys_role ro on ur.role_id = ro.role_id - where ur.user_id = #{params.userId} - <if test="menuName != null and menuName != ''"> - AND m.menu_name like concat('%', #{menuName}, '%') - </if> - <if test="visible != null and visible != ''"> - AND m.visible = #{visible} - </if> - <if test="status != null and status != ''"> - AND m.status = #{status} - </if> - order by m.parent_id, m.order_num - </select> - - <select id="selectMenuTreeByUserId" parameterType="Long" resultMap="SysMenuResult"> - select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time - from sys_menu m - left join sys_role_menu rm on m.menu_id = rm.menu_id - left join sys_user_role ur on rm.role_id = ur.role_id - left join sys_role ro on ur.role_id = ro.role_id - left join sys_user u on ur.user_id = u.user_id - where u.user_id = #{userId} and m.menu_type in ('M', 'C') and m.status = 0 AND ro.status = 0 - order by m.parent_id, m.order_num - </select> - - <select id="selectMenuListByRoleId" resultType="Long"> - select m.menu_id - from sys_menu m - left join sys_role_menu rm on m.menu_id = rm.menu_id - where rm.role_id = #{roleId} - <if test="menuCheckStrictly"> - and m.menu_id not in (select m.parent_id from sys_menu m inner join sys_role_menu rm on m.menu_id = rm.menu_id and rm.role_id = #{roleId}) - </if> - order by m.parent_id, m.order_num - </select> - - <select id="selectMenuPerms" resultType="String"> - select distinct m.perms - from sys_menu m - left join sys_role_menu rm on m.menu_id = rm.menu_id - left join sys_user_role ur on rm.role_id = ur.role_id - </select> - - <select id="selectMenuPermsByUserId" parameterType="Long" resultType="String"> - select distinct m.perms - from sys_menu m - left join sys_role_menu rm on m.menu_id = rm.menu_id - left join sys_user_role ur on rm.role_id = ur.role_id - left join sys_role r on r.role_id = ur.role_id - where m.status = '0' and r.status = '0' and ur.user_id = #{userId} - </select> - - <select id="selectMenuPermsByRoleId" parameterType="Long" resultType="String"> - select distinct m.perms - from sys_menu m - left join sys_role_menu rm on m.menu_id = rm.menu_id - where m.status = '0' and rm.role_id = #{roleId} - </select> - - <select id="selectMenuById" parameterType="Long" resultMap="SysMenuResult"> - <include refid="selectMenuVo"/> - where menu_id = #{menuId} - </select> - - <select id="hasChildByMenuId" resultType="Integer"> - select count(1) from sys_menu where parent_id = #{menuId} - </select> - - <select id="checkMenuNameUnique" parameterType="com.hrt.system.domain.poji.user.SysMenu" resultMap="SysMenuResult"> - <include refid="selectMenuVo"/> - where menu_name=#{menuName} and parent_id = #{parentId} limit 1 - </select> - - <update id="updateMenu" parameterType="com.hrt.system.domain.poji.user.SysMenu"> - update sys_menu - <set> - <if test="menuName != null and menuName != ''">menu_name = #{menuName},</if> - <if test="parentId != null">parent_id = #{parentId},</if> - <if test="orderNum != null">order_num = #{orderNum},</if> - <if test="path != null and path != ''">path = #{path},</if> - <if test="component != null">component = #{component},</if> - <if test="query != null">`query` = #{query},</if> - <if test="isFrame != null and isFrame != ''">is_frame = #{isFrame},</if> - <if test="isCache != null and isCache != ''">is_cache = #{isCache},</if> - <if test="menuType != null and menuType != ''">menu_type = #{menuType},</if> - <if test="visible != null">visible = #{visible},</if> - <if test="status != null">status = #{status},</if> - <if test="perms !=null">perms = #{perms},</if> - <if test="icon !=null and icon != ''">icon = #{icon},</if> - <if test="remark != null and remark != ''">remark = #{remark},</if> - <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if> - update_time = sysdate() - </set> - where menu_id = #{menuId} - </update> - - <insert id="insertMenu" parameterType="com.hrt.system.domain.poji.user.SysMenu"> - insert into sys_menu( - <if test="menuId != null and menuId != 0">menu_id,</if> - <if test="parentId != null and parentId != 0">parent_id,</if> - <if test="menuName != null and menuName != ''">menu_name,</if> - <if test="orderNum != null">order_num,</if> - <if test="path != null and path != ''">path,</if> - <if test="component != null and component != ''">component,</if> - <if test="query != null and query != ''">`query`,</if> - <if test="isFrame != null and isFrame != ''">is_frame,</if> - <if test="isCache != null and isCache != ''">is_cache,</if> - <if test="menuType != null and menuType != ''">menu_type,</if> - <if test="visible != null">visible,</if> - <if test="status != null">status,</if> - <if test="perms !=null and perms != ''">perms,</if> - <if test="icon != null and icon != ''">icon,</if> - <if test="remark != null and remark != ''">remark,</if> - <if test="createBy != null and createBy != ''">create_by,</if> - create_time - )values( - <if test="menuId != null and menuId != 0">#{menuId},</if> - <if test="parentId != null and parentId != 0">#{parentId},</if> - <if test="menuName != null and menuName != ''">#{menuName},</if> - <if test="orderNum != null">#{orderNum},</if> - <if test="path != null and path != ''">#{path},</if> - <if test="component != null and component != ''">#{component},</if> - <if test="query != null and query != ''">#{query},</if> - <if test="isFrame != null and isFrame != ''">#{isFrame},</if> - <if test="isCache != null and isCache != ''">#{isCache},</if> - <if test="menuType != null and menuType != ''">#{menuType},</if> - <if test="visible != null">#{visible},</if> - <if test="status != null">#{status},</if> - <if test="perms !=null and perms != ''">#{perms},</if> - <if test="icon != null and icon != ''">#{icon},</if> - <if test="remark != null and remark != ''">#{remark},</if> - <if test="createBy != null and createBy != ''">#{createBy},</if> - sysdate() - ) - </insert> - - <delete id="deleteMenuById" parameterType="Long"> - delete from sys_menu where menu_id = #{menuId} - </delete> - -</mapper> \ No newline at end of file diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysOperLogMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysOperLogMapper.xml deleted file mode 100644 index 527add5..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysOperLogMapper.xml +++ /dev/null @@ -1,83 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!DOCTYPE mapper -PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" -"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.user.SysOperLogMapper"> - - <resultMap type="com.hrt.system.api.domain.SysOperLog" id="SysOperLogResult"> - <id property="operId" column="oper_id" /> - <result property="title" column="title" /> - <result property="businessType" column="business_type" /> - <result property="method" column="method" /> - <result property="requestMethod" column="request_method" /> - <result property="operatorType" column="operator_type" /> - <result property="operName" column="oper_name" /> - <result property="deptName" column="dept_name" /> - <result property="operUrl" column="oper_url" /> - <result property="operIp" column="oper_ip" /> - <result property="operParam" column="oper_param" /> - <result property="jsonResult" column="json_result" /> - <result property="status" column="status" /> - <result property="errorMsg" column="error_msg" /> - <result property="operTime" column="oper_time" /> - <result property="costTime" column="cost_time" /> - </resultMap> - - <sql id="selectOperLogVo"> - select oper_id, title, business_type, method, request_method, operator_type, oper_name, dept_name, oper_url, oper_ip, oper_param, json_result, status, error_msg, oper_time, cost_time - from sys_oper_log - </sql> - - <insert id="insertOperlog" parameterType="com.hrt.system.api.domain.SysOperLog"> - insert into sys_oper_log(title, business_type, method, request_method, operator_type, oper_name, dept_name, oper_url, oper_ip, oper_param, json_result, status, error_msg, cost_time, oper_time) - values (#{title}, #{businessType}, #{method}, #{requestMethod}, #{operatorType}, #{operName}, #{deptName}, #{operUrl}, #{operIp}, #{operParam}, #{jsonResult}, #{status}, #{errorMsg}, #{costTime}, sysdate()) - </insert> - - <select id="selectOperLogList" parameterType="com.hrt.system.api.domain.SysOperLog" resultMap="SysOperLogResult"> - <include refid="selectOperLogVo"/> - <where> - <if test="title != null and title != ''"> - AND title like concat('%', #{title}, '%') - </if> - <if test="businessType != null"> - AND business_type = #{businessType} - </if> - <if test="businessTypes != null and businessTypes.length > 0"> - AND business_type in - <foreach collection="businessTypes" item="businessType" open="(" separator="," close=")"> - #{businessType} - </foreach> - </if> - <if test="status != null"> - AND status = #{status} - </if> - <if test="operName != null and operName != ''"> - AND oper_name like concat('%', #{operName}, '%') - </if> - <if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 --> - AND oper_time >= #{params.beginTime} - </if> - <if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 --> - AND oper_time <= #{params.endTime} - </if> - </where> - order by oper_id desc - </select> - - <delete id="deleteOperLogByIds" parameterType="Long"> - delete from sys_oper_log where oper_id in - <foreach collection="array" item="operId" open="(" separator="," close=")"> - #{operId} - </foreach> - </delete> - - <select id="selectOperLogById" parameterType="Long" resultMap="SysOperLogResult"> - <include refid="selectOperLogVo"/> - where oper_id = #{operId} - </select> - - <update id="cleanOperLog"> - truncate table sys_oper_log - </update> - -</mapper> \ No newline at end of file diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysPostMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysPostMapper.xml deleted file mode 100644 index 015d3e5..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysPostMapper.xml +++ /dev/null @@ -1,122 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!DOCTYPE mapper -PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" -"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.user.SysPostMapper"> - - <resultMap type="com.hrt.system.domain.poji.user.SysPost" id="SysPostResult"> - <id property="postId" column="post_id" /> - <result property="postCode" column="post_code" /> - <result property="postName" column="post_name" /> - <result property="postSort" column="post_sort" /> - <result property="status" column="status" /> - <result property="createBy" column="create_by" /> - <result property="createTime" column="create_time" /> - <result property="updateBy" column="update_by" /> - <result property="updateTime" column="update_time" /> - <result property="remark" column="remark" /> - </resultMap> - - <sql id="selectPostVo"> - select post_id, post_code, post_name, post_sort, status, create_by, create_time, remark - from sys_post - </sql> - - <select id="selectPostList" parameterType="com.hrt.system.domain.poji.user.SysPost" resultMap="SysPostResult"> - <include refid="selectPostVo"/> - <where> - <if test="postCode != null and postCode != ''"> - AND post_code like concat('%', #{postCode}, '%') - </if> - <if test="status != null and status != ''"> - AND status = #{status} - </if> - <if test="postName != null and postName != ''"> - AND post_name like concat('%', #{postName}, '%') - </if> - </where> - </select> - - <select id="selectPostAll" resultMap="SysPostResult"> - <include refid="selectPostVo"/> - </select> - - <select id="selectPostById" parameterType="Long" resultMap="SysPostResult"> - <include refid="selectPostVo"/> - where post_id = #{postId} - </select> - - <select id="selectPostListByUserId" parameterType="Long" resultType="Long"> - select p.post_id - from sys_post p - left join sys_user_post up on up.post_id = p.post_id - left join sys_user u on u.user_id = up.user_id - where u.user_id = #{userId} - </select> - - <select id="selectPostsByUserName" parameterType="String" resultMap="SysPostResult"> - select p.post_id, p.post_name, p.post_code - from sys_post p - left join sys_user_post up on up.post_id = p.post_id - left join sys_user u on u.user_id = up.user_id - where u.user_name = #{userName} - </select> - - <select id="checkPostNameUnique" parameterType="String" resultMap="SysPostResult"> - <include refid="selectPostVo"/> - where post_name=#{postName} limit 1 - </select> - - <select id="checkPostCodeUnique" parameterType="String" resultMap="SysPostResult"> - <include refid="selectPostVo"/> - where post_code=#{postCode} limit 1 - </select> - - <update id="updatePost" parameterType="com.hrt.system.domain.poji.user.SysPost"> - update sys_post - <set> - <if test="postCode != null and postCode != ''">post_code = #{postCode},</if> - <if test="postName != null and postName != ''">post_name = #{postName},</if> - <if test="postSort != null">post_sort = #{postSort},</if> - <if test="status != null and status != ''">status = #{status},</if> - <if test="remark != null">remark = #{remark},</if> - <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if> - update_time = sysdate() - </set> - where post_id = #{postId} - </update> - - <insert id="insertPost" parameterType="com.hrt.system.domain.poji.user.SysPost" useGeneratedKeys="true" keyProperty="postId"> - insert into sys_post( - <if test="postId != null and postId != 0">post_id,</if> - <if test="postCode != null and postCode != ''">post_code,</if> - <if test="postName != null and postName != ''">post_name,</if> - <if test="postSort != null">post_sort,</if> - <if test="status != null and status != ''">status,</if> - <if test="remark != null and remark != ''">remark,</if> - <if test="createBy != null and createBy != ''">create_by,</if> - create_time - )values( - <if test="postId != null and postId != 0">#{postId},</if> - <if test="postCode != null and postCode != ''">#{postCode},</if> - <if test="postName != null and postName != ''">#{postName},</if> - <if test="postSort != null">#{postSort},</if> - <if test="status != null and status != ''">#{status},</if> - <if test="remark != null and remark != ''">#{remark},</if> - <if test="createBy != null and createBy != ''">#{createBy},</if> - sysdate() - ) - </insert> - - <delete id="deletePostById" parameterType="Long"> - delete from sys_post where post_id = #{postId} - </delete> - - <delete id="deletePostByIds" parameterType="Long"> - delete from sys_post where post_id in - <foreach collection="array" item="postId" open="(" separator="," close=")"> - #{postId} - </foreach> - </delete> - -</mapper> \ No newline at end of file diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysRoleDeptMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysRoleDeptMapper.xml deleted file mode 100644 index a04a07c..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysRoleDeptMapper.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!DOCTYPE mapper -PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" -"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.user.SysRoleDeptMapper"> - - <resultMap type="com.hrt.system.domain.poji.user.SysRoleDept" id="SysRoleDeptResult"> - <result property="roleId" column="role_id" /> - <result property="deptId" column="dept_id" /> - </resultMap> - - <delete id="deleteRoleDeptByRoleId" parameterType="Long"> - delete from sys_role_dept where role_id=#{roleId} - </delete> - - <select id="selectCountRoleDeptByDeptId" resultType="Integer"> - select count(1) from sys_role_dept where dept_id=#{deptId} - </select> - - <delete id="deleteRoleDept" parameterType="Long"> - delete from sys_role_dept where role_id in - <foreach collection="array" item="roleId" open="(" separator="," close=")"> - #{roleId} - </foreach> - </delete> - - <insert id="batchRoleDept"> - insert into sys_role_dept(role_id, dept_id) values - <foreach item="item" index="index" collection="list" separator=","> - (#{item.roleId},#{item.deptId}) - </foreach> - </insert> - -</mapper> \ No newline at end of file diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysRoleMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysRoleMapper.xml deleted file mode 100644 index 7635ccf..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysRoleMapper.xml +++ /dev/null @@ -1,152 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!DOCTYPE mapper -PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" -"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.user.SysRoleMapper"> - - <resultMap type="com.hrt.system.api.domain.SysRole" id="SysRoleResult"> - <id property="roleId" column="role_id" /> - <result property="roleName" column="role_name" /> - <result property="roleKey" column="role_key" /> - <result property="roleSort" column="role_sort" /> - <result property="dataScope" column="data_scope" /> - <result property="menuCheckStrictly" column="menu_check_strictly" /> - <result property="deptCheckStrictly" column="dept_check_strictly" /> - <result property="status" column="status" /> - <result property="delFlag" column="del_flag" /> - <result property="createBy" column="create_by" /> - <result property="createTime" column="create_time" /> - <result property="updateBy" column="update_by" /> - <result property="updateTime" column="update_time" /> - <result property="remark" column="remark" /> - </resultMap> - - <sql id="selectRoleVo"> - select distinct r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.menu_check_strictly, r.dept_check_strictly, - r.status, r.del_flag, r.create_time, r.remark - from sys_role r - left join sys_user_role ur on ur.role_id = r.role_id - left join sys_user u on u.user_id = ur.user_id - left join sys_dept d on u.dept_id = d.dept_id - </sql> - - <select id="selectRoleList" parameterType="com.hrt.system.api.domain.SysRole" resultMap="SysRoleResult"> - <include refid="selectRoleVo"/> - where r.del_flag = '0' - <if test="roleId != null and roleId != 0"> - AND r.role_id = #{roleId} - </if> - <if test="roleName != null and roleName != ''"> - AND r.role_name like concat('%', #{roleName}, '%') - </if> - <if test="status != null and status != ''"> - AND r.status = #{status} - </if> - <if test="roleKey != null and roleKey != ''"> - AND r.role_key like concat('%', #{roleKey}, '%') - </if> - <if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 --> - and date_format(r.create_time,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d') - </if> - <if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 --> - and date_format(r.create_time,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d') - </if> - <!-- 数据范围过滤 --> - ${params.dataScope} - order by r.role_sort - </select> - - <select id="selectRolePermissionByUserId" parameterType="Long" resultMap="SysRoleResult"> - <include refid="selectRoleVo"/> - WHERE r.del_flag = '0' and ur.user_id = #{userId} - </select> - - <select id="selectRoleAll" resultMap="SysRoleResult"> - <include refid="selectRoleVo"/> - </select> - - <select id="selectRoleListByUserId" parameterType="Long" resultType="Long"> - select r.role_id - from sys_role r - left join sys_user_role ur on ur.role_id = r.role_id - left join sys_user u on u.user_id = ur.user_id - where u.user_id = #{userId} - </select> - - <select id="selectRoleById" parameterType="Long" resultMap="SysRoleResult"> - <include refid="selectRoleVo"/> - where r.role_id = #{roleId} - </select> - - <select id="selectRolesByUserName" parameterType="String" resultMap="SysRoleResult"> - <include refid="selectRoleVo"/> - WHERE r.del_flag = '0' and u.user_name = #{userName} - </select> - - <select id="checkRoleNameUnique" parameterType="String" resultMap="SysRoleResult"> - <include refid="selectRoleVo"/> - where r.role_name=#{roleName} and r.del_flag = '0' limit 1 - </select> - - <select id="checkRoleKeyUnique" parameterType="String" resultMap="SysRoleResult"> - <include refid="selectRoleVo"/> - where r.role_key=#{roleKey} and r.del_flag = '0' limit 1 - </select> - - <insert id="insertRole" parameterType="com.hrt.system.api.domain.SysRole" useGeneratedKeys="true" keyProperty="roleId"> - insert into sys_role( - <if test="roleId != null and roleId != 0">role_id,</if> - <if test="roleName != null and roleName != ''">role_name,</if> - <if test="roleKey != null and roleKey != ''">role_key,</if> - <if test="roleSort != null">role_sort,</if> - <if test="dataScope != null and dataScope != ''">data_scope,</if> - <if test="menuCheckStrictly != null">menu_check_strictly,</if> - <if test="deptCheckStrictly != null">dept_check_strictly,</if> - <if test="status != null and status != ''">status,</if> - <if test="remark != null and remark != ''">remark,</if> - <if test="createBy != null and createBy != ''">create_by,</if> - create_time - )values( - <if test="roleId != null and roleId != 0">#{roleId},</if> - <if test="roleName != null and roleName != ''">#{roleName},</if> - <if test="roleKey != null and roleKey != ''">#{roleKey},</if> - <if test="roleSort != null">#{roleSort},</if> - <if test="dataScope != null and dataScope != ''">#{dataScope},</if> - <if test="menuCheckStrictly != null">#{menuCheckStrictly},</if> - <if test="deptCheckStrictly != null">#{deptCheckStrictly},</if> - <if test="status != null and status != ''">#{status},</if> - <if test="remark != null and remark != ''">#{remark},</if> - <if test="createBy != null and createBy != ''">#{createBy},</if> - sysdate() - ) - </insert> - - <update id="updateRole" parameterType="com.hrt.system.api.domain.SysRole"> - update sys_role - <set> - <if test="roleName != null and roleName != ''">role_name = #{roleName},</if> - <if test="roleKey != null and roleKey != ''">role_key = #{roleKey},</if> - <if test="roleSort != null">role_sort = #{roleSort},</if> - <if test="dataScope != null and dataScope != ''">data_scope = #{dataScope},</if> - <if test="menuCheckStrictly != null">menu_check_strictly = #{menuCheckStrictly},</if> - <if test="deptCheckStrictly != null">dept_check_strictly = #{deptCheckStrictly},</if> - <if test="status != null and status != ''">status = #{status},</if> - <if test="remark != null">remark = #{remark},</if> - <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if> - update_time = sysdate() - </set> - where role_id = #{roleId} - </update> - - <delete id="deleteRoleById" parameterType="Long"> - update sys_role set del_flag = '2' where role_id = #{roleId} - </delete> - - <delete id="deleteRoleByIds" parameterType="Long"> - update sys_role set del_flag = '2' where role_id in - <foreach collection="array" item="roleId" open="(" separator="," close=")"> - #{roleId} - </foreach> - </delete> - -</mapper> \ No newline at end of file diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysRoleMenuMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysRoleMenuMapper.xml deleted file mode 100644 index 7bb0e38..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysRoleMenuMapper.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!DOCTYPE mapper -PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" -"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.user.SysRoleMenuMapper"> - - <resultMap type="com.hrt.system.domain.poji.user.SysRoleMenu" id="SysRoleMenuResult"> - <result property="roleId" column="role_id" /> - <result property="menuId" column="menu_id" /> - </resultMap> - - <select id="checkMenuExistRole" resultType="Integer"> - select count(1) from sys_role_menu where menu_id = #{menuId} - </select> - - <delete id="deleteRoleMenuByRoleId" parameterType="Long"> - delete from sys_role_menu where role_id=#{roleId} - </delete> - - <delete id="deleteRoleMenu" parameterType="Long"> - delete from sys_role_menu where role_id in - <foreach collection="array" item="roleId" open="(" separator="," close=")"> - #{roleId} - </foreach> - </delete> - - <insert id="batchRoleMenu"> - insert into sys_role_menu(role_id, menu_id) values - <foreach item="item" index="index" collection="list" separator=","> - (#{item.roleId},#{item.menuId}) - </foreach> - </insert> - -</mapper> \ No newline at end of file diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysUserMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysUserMapper.xml deleted file mode 100644 index 1766163..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysUserMapper.xml +++ /dev/null @@ -1,221 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!DOCTYPE mapper -PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" -"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.user.SysUserMapper"> - - <resultMap type="com.hrt.system.api.domain.SysUser" id="SysUserResult"> - <id property="userId" column="user_id" /> - <result property="deptId" column="dept_id" /> - <result property="userName" column="user_name" /> - <result property="nickName" column="nick_name" /> - <result property="email" column="email" /> - <result property="phonenumber" column="phonenumber" /> - <result property="sex" column="sex" /> - <result property="avatar" column="avatar" /> - <result property="password" column="password" /> - <result property="status" column="status" /> - <result property="delFlag" column="del_flag" /> - <result property="loginIp" column="login_ip" /> - <result property="loginDate" column="login_date" /> - <result property="createBy" column="create_by" /> - <result property="createTime" column="create_time" /> - <result property="updateBy" column="update_by" /> - <result property="updateTime" column="update_time" /> - <result property="remark" column="remark" /> - <association property="dept" column="dept_id" javaType="com.hrt.system.api.domain.SysDept" resultMap="deptResult" /> - <collection property="roles" javaType="java.util.List" resultMap="RoleResult" /> - </resultMap> - - <resultMap id="deptResult" type="com.hrt.system.api.domain.SysDept"> - <id property="deptId" column="dept_id" /> - <result property="parentId" column="parent_id" /> - <result property="deptName" column="dept_name" /> - <result property="ancestors" column="ancestors" /> - <result property="orderNum" column="order_num" /> - <result property="leader" column="leader" /> - <result property="status" column="dept_status" /> - </resultMap> - - <resultMap id="RoleResult" type="com.hrt.system.api.domain.SysRole"> - <id property="roleId" column="role_id" /> - <result property="roleName" column="role_name" /> - <result property="roleKey" column="role_key" /> - <result property="roleSort" column="role_sort" /> - <result property="dataScope" column="data_scope" /> - <result property="status" column="role_status" /> - </resultMap> - - <sql id="selectUserVo"> - select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, - d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.status as dept_status, - r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status - from sys_user u - left join sys_dept d on u.dept_id = d.dept_id - left join sys_user_role ur on u.user_id = ur.user_id - left join sys_role r on r.role_id = ur.role_id - </sql> - - <select id="selectUserList" parameterType="com.hrt.system.api.domain.SysUser" resultMap="SysUserResult"> - select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user u - left join sys_dept d on u.dept_id = d.dept_id - where u.del_flag = '0' - <if test="userId != null and userId != 0"> - AND u.user_id = #{userId} - </if> - <if test="userName != null and userName != ''"> - AND u.user_name like concat('%', #{userName}, '%') - </if> - <if test="status != null and status != ''"> - AND u.status = #{status} - </if> - <if test="phonenumber != null and phonenumber != ''"> - AND u.phonenumber like concat('%', #{phonenumber}, '%') - </if> - <if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 --> - AND date_format(u.create_time,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d') - </if> - <if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 --> - AND date_format(u.create_time,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d') - </if> - <if test="deptId != null and deptId != 0"> - AND (u.dept_id = #{deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId}, ancestors) )) - </if> - <!-- 数据范围过滤 --> - ${params.dataScope} - </select> - - <select id="selectAllocatedList" parameterType="com.hrt.system.api.domain.SysUser" resultMap="SysUserResult"> - select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time - from sys_user u - left join sys_dept d on u.dept_id = d.dept_id - left join sys_user_role ur on u.user_id = ur.user_id - left join sys_role r on r.role_id = ur.role_id - where u.del_flag = '0' and r.role_id = #{roleId} - <if test="userName != null and userName != ''"> - AND u.user_name like concat('%', #{userName}, '%') - </if> - <if test="phonenumber != null and phonenumber != ''"> - AND u.phonenumber like concat('%', #{phonenumber}, '%') - </if> - <!-- 数据范围过滤 --> - ${params.dataScope} - </select> - - <select id="selectUnallocatedList" parameterType="com.hrt.system.api.domain.SysUser" resultMap="SysUserResult"> - select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time - from sys_user u - left join sys_dept d on u.dept_id = d.dept_id - left join sys_user_role ur on u.user_id = ur.user_id - left join sys_role r on r.role_id = ur.role_id - where u.del_flag = '0' and (r.role_id != #{roleId} or r.role_id IS NULL) - and u.user_id not in (select u.user_id from sys_user u inner join sys_user_role ur on u.user_id = ur.user_id and ur.role_id = #{roleId}) - <if test="userName != null and userName != ''"> - AND u.user_name like concat('%', #{userName}, '%') - </if> - <if test="phonenumber != null and phonenumber != ''"> - AND u.phonenumber like concat('%', #{phonenumber}, '%') - </if> - <!-- 数据范围过滤 --> - ${params.dataScope} - </select> - - <select id="selectUserByUserName" parameterType="String" resultMap="SysUserResult"> - <include refid="selectUserVo"/> - where u.user_name = #{userName} and u.del_flag = '0' - </select> - - <select id="selectUserById" parameterType="Long" resultMap="SysUserResult"> - <include refid="selectUserVo"/> - where u.user_id = #{userId} - </select> - - <select id="checkUserNameUnique" parameterType="String" resultMap="SysUserResult"> - select user_id, user_name from sys_user where user_name = #{userName} and del_flag = '0' limit 1 - </select> - - <select id="checkPhoneUnique" parameterType="String" resultMap="SysUserResult"> - select user_id, phonenumber from sys_user where phonenumber = #{phonenumber} and del_flag = '0' limit 1 - </select> - - <select id="checkEmailUnique" parameterType="String" resultMap="SysUserResult"> - select user_id, email from sys_user where email = #{email} and del_flag = '0' limit 1 - </select> - - <insert id="insertUser" parameterType="com.hrt.system.api.domain.SysUser" useGeneratedKeys="true" keyProperty="userId"> - insert into sys_user( - <if test="userId != null and userId != 0">user_id,</if> - <if test="deptId != null and deptId != 0">dept_id,</if> - <if test="userName != null and userName != ''">user_name,</if> - <if test="nickName != null and nickName != ''">nick_name,</if> - <if test="email != null and email != ''">email,</if> - <if test="avatar != null and avatar != ''">avatar,</if> - <if test="phonenumber != null and phonenumber != ''">phonenumber,</if> - <if test="sex != null and sex != ''">sex,</if> - <if test="password != null and password != ''">password,</if> - <if test="status != null and status != ''">status,</if> - <if test="createBy != null and createBy != ''">create_by,</if> - <if test="remark != null and remark != ''">remark,</if> - create_time - )values( - <if test="userId != null and userId != ''">#{userId},</if> - <if test="deptId != null and deptId != ''">#{deptId},</if> - <if test="userName != null and userName != ''">#{userName},</if> - <if test="nickName != null and nickName != ''">#{nickName},</if> - <if test="email != null and email != ''">#{email},</if> - <if test="avatar != null and avatar != ''">#{avatar},</if> - <if test="phonenumber != null and phonenumber != ''">#{phonenumber},</if> - <if test="sex != null and sex != ''">#{sex},</if> - <if test="password != null and password != ''">#{password},</if> - <if test="status != null and status != ''">#{status},</if> - <if test="createBy != null and createBy != ''">#{createBy},</if> - <if test="remark != null and remark != ''">#{remark},</if> - sysdate() - ) - </insert> - - <update id="updateUser" parameterType="com.hrt.system.api.domain.SysUser"> - update sys_user - <set> - <if test="deptId != null and deptId != 0">dept_id = #{deptId},</if> - <if test="userName != null and userName != ''">user_name = #{userName},</if> - <if test="nickName != null and nickName != ''">nick_name = #{nickName},</if> - <if test="email != null ">email = #{email},</if> - <if test="phonenumber != null ">phonenumber = #{phonenumber},</if> - <if test="sex != null and sex != ''">sex = #{sex},</if> - <if test="avatar != null and avatar != ''">avatar = #{avatar},</if> - <if test="password != null and password != ''">password = #{password},</if> - <if test="status != null and status != ''">status = #{status},</if> - <if test="loginIp != null and loginIp != ''">login_ip = #{loginIp},</if> - <if test="loginDate != null">login_date = #{loginDate},</if> - <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if> - <if test="remark != null">remark = #{remark},</if> - update_time = sysdate() - </set> - where user_id = #{userId} - </update> - - <update id="updateUserStatus" parameterType="com.hrt.system.api.domain.SysUser"> - update sys_user set status = #{status} where user_id = #{userId} - </update> - - <update id="updateUserAvatar" parameterType="com.hrt.system.api.domain.SysUser"> - update sys_user set avatar = #{avatar} where user_name = #{userName} - </update> - - <update id="resetUserPwd" parameterType="com.hrt.system.api.domain.SysUser"> - update sys_user set password = #{password} where user_name = #{userName} - </update> - - <delete id="deleteUserById" parameterType="Long"> - update sys_user set del_flag = '2' where user_id = #{userId} - </delete> - - <delete id="deleteUserByIds" parameterType="Long"> - update sys_user set del_flag = '2' where user_id in - <foreach collection="array" item="userId" open="(" separator="," close=")"> - #{userId} - </foreach> - </delete> - -</mapper> \ No newline at end of file diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysUserPostMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysUserPostMapper.xml deleted file mode 100644 index 6629244..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysUserPostMapper.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!DOCTYPE mapper -PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" -"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.user.SysUserPostMapper"> - - <resultMap type="com.hrt.system.domain.poji.user.SysUserPost" id="SysUserPostResult"> - <result property="userId" column="user_id" /> - <result property="postId" column="post_id" /> - </resultMap> - - <delete id="deleteUserPostByUserId" parameterType="Long"> - delete from sys_user_post where user_id=#{userId} - </delete> - - <select id="countUserPostById" resultType="Integer"> - select count(1) from sys_user_post where post_id=#{postId} - </select> - - <delete id="deleteUserPost" parameterType="Long"> - delete from sys_user_post where user_id in - <foreach collection="array" item="userId" open="(" separator="," close=")"> - #{userId} - </foreach> - </delete> - - <insert id="batchUserPost"> - insert into sys_user_post(user_id, post_id) values - <foreach item="item" index="index" collection="list" separator=","> - (#{item.userId},#{item.postId}) - </foreach> - </insert> - -</mapper> \ No newline at end of file diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysUserRoleMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysUserRoleMapper.xml deleted file mode 100644 index b9062b9..0000000 --- a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysUserRoleMapper.xml +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!DOCTYPE mapper -PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" -"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hrt.system.mapper.user.SysUserRoleMapper"> - - <resultMap type="com.hrt.system.domain.poji.user.SysUserRole" id="SysUserRoleResult"> - <result property="userId" column="user_id" /> - <result property="roleId" column="role_id" /> - </resultMap> - - <delete id="deleteUserRoleByUserId" parameterType="Long"> - delete from sys_user_role where user_id=#{userId} - </delete> - - <select id="countUserRoleByRoleId" resultType="Integer"> - select count(1) from sys_user_role where role_id=#{roleId} - </select> - - <delete id="deleteUserRole" parameterType="Long"> - delete from sys_user_role where user_id in - <foreach collection="array" item="userId" open="(" separator="," close=")"> - #{userId} - </foreach> - </delete> - - <insert id="batchUserRole"> - insert into sys_user_role(user_id, role_id) values - <foreach item="item" index="index" collection="list" separator=","> - (#{item.userId},#{item.roleId}) - </foreach> - </insert> - - <delete id="deleteUserRoleInfo" parameterType="com.hrt.system.domain.poji.user.SysUserRole"> - delete from sys_user_role where user_id=#{userId} and role_id=#{roleId} - </delete> - - <delete id="deleteUserRoleInfos"> - delete from sys_user_role where role_id=#{roleId} and user_id in - <foreach collection="userIds" item="userId" open="(" separator="," close=")"> - #{userId} - </foreach> - </delete> -</mapper> \ No newline at end of file diff --git a/hrt-modules/pom.xml b/hrt-modules/pom.xml deleted file mode 100644 index c502e03..0000000 --- a/hrt-modules/pom.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <parent> - <groupId>com.hrt</groupId> - <artifactId>hrt</artifactId> - <version>3.6.2</version> - </parent> - <modelVersion>4.0.0</modelVersion> - - <modules> - <module>hrt-system</module> - <module>hrt-gen</module> - <module>hrt-job</module> - <module>hrt-file</module> - </modules> - - <artifactId>hrt-modules</artifactId> - <packaging>pom</packaging> - - <description> - hrt-modules业务模块 - </description> - -</project> diff --git a/pom.xml b/pom.xml deleted file mode 100644 index e093730..0000000 --- a/pom.xml +++ /dev/null @@ -1,284 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <groupId>com.hrt</groupId> - <artifactId>hrt</artifactId> - <version>3.6.2</version> - - <name>hrt</name> - <url>https://www.rhkj168.com/</url> - <description>洪瑞堂微服务系统</description> - - <properties> - <hrt.version>3.6.2</hrt.version> - <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> - <java.version>1.8</java.version> - <spring-boot.version>2.7.7</spring-boot.version> - <spring-cloud.version>2021.0.5</spring-cloud.version> - <spring-cloud-alibaba.version>2021.0.4.0</spring-cloud-alibaba.version> - <spring-boot-admin.version>2.7.10</spring-boot-admin.version> - <swagger.fox.version>3.0.0</swagger.fox.version> - <swagger.core.version>1.6.2</swagger.core.version> - <tobato.version>1.27.2</tobato.version> - <kaptcha.version>2.3.3</kaptcha.version> - <pagehelper.boot.version>1.4.6</pagehelper.boot.version> - <druid.version>1.2.16</druid.version> - <dynamic-ds.version>3.5.2</dynamic-ds.version> - <commons.io.version>2.11.0</commons.io.version> - <velocity.version>2.3</velocity.version> - <fastjson.version>2.0.25</fastjson.version> - <jjwt.version>0.9.1</jjwt.version> - <minio.version>8.2.2</minio.version> - <poi.version>4.1.2</poi.version> - <transmittable-thread-local.version>2.14.2</transmittable-thread-local.version> - </properties> - - <!-- 依赖声明 --> - <dependencyManagement> - <dependencies> - - <!-- SpringCloud 微服务 --> - <dependency> - <groupId>org.springframework.cloud</groupId> - <artifactId>spring-cloud-dependencies</artifactId> - <version>${spring-cloud.version}</version> - <type>pom</type> - <scope>import</scope> - </dependency> - - <!-- SpringCloud Alibaba 微服务 --> - <dependency> - <groupId>com.alibaba.cloud</groupId> - <artifactId>spring-cloud-alibaba-dependencies</artifactId> - <version>${spring-cloud-alibaba.version}</version> - <type>pom</type> - <scope>import</scope> - </dependency> - - <!-- SpringBoot 依赖配置 --> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-dependencies</artifactId> - <version>${spring-boot.version}</version> - <type>pom</type> - <scope>import</scope> - </dependency> - - <!-- FastDFS 分布式文件系统 --> - <dependency> - <groupId>com.github.tobato</groupId> - <artifactId>fastdfs-client</artifactId> - <version>${tobato.version}</version> - </dependency> - - <!-- Swagger 依赖配置 --> - <dependency> - <groupId>io.swagger</groupId> - <artifactId>swagger-models</artifactId> - <version>${swagger.core.version}</version> - </dependency> - <dependency> - <groupId>io.swagger</groupId> - <artifactId>swagger-annotations</artifactId> - <version>${swagger.core.version}</version> - </dependency> - - <!-- 验证码 --> - <dependency> - <groupId>pro.fessional</groupId> - <artifactId>kaptcha</artifactId> - <version>${kaptcha.version}</version> - </dependency> - - <!-- pagehelper 分页插件 --> - <dependency> - <groupId>com.github.pagehelper</groupId> - <artifactId>pagehelper-spring-boot-starter</artifactId> - <version>${pagehelper.boot.version}</version> - </dependency> - - <!-- io常用工具类 --> - <dependency> - <groupId>commons-io</groupId> - <artifactId>commons-io</artifactId> - <version>${commons.io.version}</version> - </dependency> - - <!-- excel工具 --> - <dependency> - <groupId>org.apache.poi</groupId> - <artifactId>poi-ooxml</artifactId> - <version>${poi.version}</version> - </dependency> - - <!-- 代码生成使用模板 --> - <dependency> - <groupId>org.apache.velocity</groupId> - <artifactId>velocity-engine-core</artifactId> - <version>${velocity.version}</version> - </dependency> - - <!-- JSON 解析器和生成器 --> - <dependency> - <groupId>com.alibaba.fastjson2</groupId> - <artifactId>fastjson2</artifactId> - <version>${fastjson.version}</version> - </dependency> - - <!-- JWT --> - <dependency> - <groupId>io.jsonwebtoken</groupId> - <artifactId>jjwt</artifactId> - <version>${jjwt.version}</version> - </dependency> - - <!-- 线程传递值 --> - <dependency> - <groupId>com.alibaba</groupId> - <artifactId>transmittable-thread-local</artifactId> - <version>${transmittable-thread-local.version}</version> - </dependency> - - <!-- 核心模块 --> - <dependency> - <groupId>com.hrt</groupId> - <artifactId>hrt-common-core</artifactId> - <version>${hrt.version}</version> - </dependency> - - <!-- 接口模块 --> - <dependency> - <groupId>com.hrt</groupId> - <artifactId>hrt-common-swagger</artifactId> - <version>${hrt.version}</version> - </dependency> - - <!-- 安全模块 --> - <dependency> - <groupId>com.hrt</groupId> - <artifactId>hrt-common-security</artifactId> - <version>${hrt.version}</version> - </dependency> - - <!-- 权限范围 --> - <dependency> - <groupId>com.hrt</groupId> - <artifactId>hrt-common-datascope</artifactId> - <version>${hrt.version}</version> - </dependency> - - <!-- 多数据源 --> - <dependency> - <groupId>com.hrt</groupId> - <artifactId>hrt-common-datasource</artifactId> - <version>${hrt.version}</version> - </dependency> - - <!-- 分布式事务 --> - <dependency> - <groupId>com.hrt</groupId> - <artifactId>hrt-common-seata</artifactId> - <version>${hrt.version}</version> - </dependency> - - <!-- 日志记录 --> - <dependency> - <groupId>com.hrt</groupId> - <artifactId>hrt-common-log</artifactId> - <version>${hrt.version}</version> - </dependency> - - <!-- 缓存服务 --> - <dependency> - <groupId>com.hrt</groupId> - <artifactId>hrt-common-redis</artifactId> - <version>${hrt.version}</version> - </dependency> - - <!-- 系统接口 --> - <dependency> - <groupId>com.hrt</groupId> - <artifactId>hrt-api-system</artifactId> - <version>${hrt.version}</version> - </dependency> - - </dependencies> - </dependencyManagement> - - <modules> - <module>hrt-auth</module> - <module>hrt-gateway</module> - <module>hrt-modules</module> - <module>hrt-api</module> - <module>hrt-common</module> - </modules> - <packaging>pom</packaging> - - <dependencies> - <!-- bootstrap 启动器 --> - <dependency> - <groupId>org.springframework.cloud</groupId> - <artifactId>spring-cloud-starter-bootstrap</artifactId> - </dependency> - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-compiler-plugin</artifactId> - <configuration> - <source>${java.version}</source> - <target>${java.version}</target> - <encoding>${project.build.sourceEncoding}</encoding> - </configuration> - </plugin> - </plugins> - <pluginManagement> - <plugins> - <plugin> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-maven-plugin</artifactId> - <version>${spring-boot.version}</version> - <executions> - <execution> - <goals> - <goal>repackage</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </pluginManagement> - </build> - - <repositories> - <repository> - <id>public</id> - <name>aliyun nexus</name> - <url>https://maven.aliyun.com/repository/public</url> - <releases> - <enabled>true</enabled> - </releases> - </repository> - </repositories> - - <pluginRepositories> - <pluginRepository> - <id>public</id> - <name>aliyun nexus</name> - <url>https://maven.aliyun.com/repository/public</url> - <releases> - <enabled>true</enabled> - </releases> - <snapshots> - <enabled>false</enabled> - </snapshots> - </pluginRepository> - </pluginRepositories> - -</project> \ No newline at end of file -- Gitblit v1.7.1