diff --git a/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysmenu/SysMenu.java b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysmenu/SysMenu.java new file mode 100644 index 0000000..34c0885 --- /dev/null +++ b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysmenu/SysMenu.java @@ -0,0 +1,64 @@ +package com.yxt.supervise.gf.api.sysmenu; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenu.java
+ * Class: SysMenu
+ * Description: 菜单表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "菜单表", description = "菜单表") +@TableName("sys_menu") +@Data +public class SysMenu extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty("菜单名称") + private String name; + + @ApiModelProperty("菜单路由路径(VUE)") + private String menuUrl; + + @ApiModelProperty("菜单对应的前端页面路径") + private String pageUrl; + + @ApiModelProperty("菜单图标地址") + private String iconUrl; + + @ApiModelProperty("资源sid") + private String sourceSid; + + @ApiModelProperty("是否显示,默认为1显示,0为不显示") + private String isShow; + + @ApiModelProperty("排序号") + private Integer sortNo; + + @ApiModelProperty("上级sid") + private String pSid; + + @ApiModelProperty("前端页面路径重定向") + private Integer pageUrlRedirect; + + @ApiModelProperty("前端页面名称(vue组件名)") + private String pageName; + + @ApiModelProperty("前端页面别名") + private String pageAliasName; + + @ApiModelProperty("菜单类型(0左侧当行菜单,1页面中功能)") + private String menuType; +} diff --git a/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysmenu/SysMenuDto.java b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysmenu/SysMenuDto.java new file mode 100644 index 0000000..d3fb131 --- /dev/null +++ b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysmenu/SysMenuDto.java @@ -0,0 +1,72 @@ +package com.yxt.supervise.gf.api.sysmenu; + + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuDto.java
+ * Class: SysMenuDto
+ * Description: 菜单表 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "菜单表 数据传输对象", description = "菜单表 数据传输对象") +@Data +public class SysMenuDto implements Dto { + + + private static final long serialVersionUID = -8143707488992909267L; + @ApiModelProperty(value = "菜单名称", required = true) + @NotBlank(message = "菜单名称不能为空") + private String name; + + @ApiModelProperty("菜单路由路径(VUE)") + private String menuUrl; + + @ApiModelProperty("菜单对应的前端页面路径") + private String pageUrl; + + @ApiModelProperty("菜单图标地址") + private String iconUrl; + + @ApiModelProperty(value = "资源sid", required = true) + @NotBlank(message = "资源不能为空") + private String sourceSid; + + @ApiModelProperty(value = "是否显示,默认为1显示,0为不显示", required = true) + @NotBlank(message = "是否显示不能为空") + private String isShow; + + @ApiModelProperty("排序号") + private Integer sortNo; + + @ApiModelProperty(value = "上级sid", example = "0", required = true) + @NotBlank(message = "上级菜单不能为空") + private String pSid; + + @ApiModelProperty(value = "前端页面路径重定向", required = false) + private Integer pageUrlRedirect; + + @ApiModelProperty("前端页面名称(vue组件名)") + private String pageName; + + @ApiModelProperty(value = "前端页面别名", required = false) + private String pageAliasName; + + @ApiModelProperty("菜单类型(0左侧当行菜单,1页面中功能)") + private String menuType; + + @ApiModelProperty(value = "备注") + private String remarks; +} \ No newline at end of file diff --git a/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysmenu/SysMenuQuery.java b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysmenu/SysMenuQuery.java new file mode 100644 index 0000000..bd51dfa --- /dev/null +++ b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysmenu/SysMenuQuery.java @@ -0,0 +1,66 @@ +package com.yxt.supervise.gf.api.sysmenu; + + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuQuery.java
+ * Class: SysMenuQuery
+ * Description: 菜单表 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "菜单表 查询条件", description = "菜单表 查询条件") +@Data +public class SysMenuQuery implements Query { + + + @ApiModelProperty("菜单名称") + private String name; + + @ApiModelProperty("菜单路由路径(VUE)") + private String menuUrl; + + @ApiModelProperty("菜单对应的前端页面路径") + private String pageUrl; + + @ApiModelProperty("菜单图标地址") + private String iconUrl; + + @ApiModelProperty("资源sid") + private String sourceSid; + @ApiModelProperty("用户sid") + private String userSid; + @ApiModelProperty("角色sid") + private String roleSid; + + @ApiModelProperty("是否显示,默认为1显示,0为不显示") + private String isShow; + + @ApiModelProperty("排序号") + private Integer sortNo; + + @ApiModelProperty("上级sid") + private String pSid; + + @ApiModelProperty("前端页面路径重定向") + private Integer pageUrlRedirect; + + @ApiModelProperty("前端页面名称(vue组件名)") + private String pageName; + + @ApiModelProperty("前端页面别名") + private String pageAliasName; + + @ApiModelProperty("菜单类型(0左侧当行菜单,1页面中功能)") + private String menuType; +} diff --git a/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysmenu/SysMenuTreeVo.java b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysmenu/SysMenuTreeVo.java new file mode 100644 index 0000000..9a75e1f --- /dev/null +++ b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysmenu/SysMenuTreeVo.java @@ -0,0 +1,59 @@ +package com.yxt.supervise.gf.api.sysmenu; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuVo.java
+ * Class: SysMenuVo
+ * Description: 菜单表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "菜单表 视图数据对象", description = "菜单表 视图数据对象") +@Data +public class SysMenuTreeVo implements Vo { + @ApiModelProperty("菜单名称") + private String name; + @ApiModelProperty("资源sid") + private String sourceSid; + @ApiModelProperty("排序号") + private Integer sortNo; + @ApiModelProperty("上级sid") + private String pSid; + @ApiModelProperty("上级菜单名称") + private String pName; + @ApiModelProperty("sid") + private String sid; + @ApiModelProperty("资源名称") + private String sourceName; + @ApiModelProperty("菜单根路径sid") + private String menuRootSid; + @ApiModelProperty("pageUrl") + private String pageUrl; + @ApiModelProperty("menuUrl") + private String menuUrl; + @ApiModelProperty("menuUrl") + private String pageName; + @ApiModelProperty("iconUrl") + private String iconUrl; + @ApiModelProperty("菜单列表用,是否是资源层级1是,0不是") + private String isSource = "0"; + @ApiModelProperty("是否可用") + private String isEnable; + @ApiModelProperty(value = "备注") + private String remarks; + @ApiModelProperty("子菜单") + private List children; +} diff --git a/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysmenu/SysMenuVo.java b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysmenu/SysMenuVo.java new file mode 100644 index 0000000..4f18bb6 --- /dev/null +++ b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysmenu/SysMenuVo.java @@ -0,0 +1,74 @@ +package com.yxt.supervise.gf.api.sysmenu; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuVo.java
+ * Class: SysMenuVo
+ * Description: 菜单表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "菜单表 视图数据对象", description = "菜单表 视图数据对象") +@Data +public class SysMenuVo implements Vo { + + + @ApiModelProperty("菜单名称") + private String name; + + @ApiModelProperty("菜单路由路径(VUE)") + private String menuUrl; + + @ApiModelProperty("菜单对应的前端页面路径") + private String pageUrl; + + @ApiModelProperty("菜单图标地址") + private String iconUrl; + + @ApiModelProperty("资源sid") + private String sourceSid; + + @ApiModelProperty("是否显示,默认为1显示,0为不显示") + private String isShow; + + @ApiModelProperty("排序号") + private Integer sortNo; + + @ApiModelProperty("上级sid") + private String pSid; + @ApiModelProperty("上级名称") + private String pName; + @ApiModelProperty("sid") + private String sid; + + @ApiModelProperty("前端页面路径重定向") + private Integer pageUrlRedirect; + + @ApiModelProperty("前端页面名称(vue组件名)") + private String pageName; + + @ApiModelProperty("前端页面别名") + private String pageAliasName; + + @ApiModelProperty("菜单类型(0左侧当行菜单,1页面中功能)") + private String menuType; + @ApiModelProperty("子菜单") + private List children; + @ApiModelProperty("是否选中,1:未选中,0:选中") + private String checked; + @ApiModelProperty("资源名称") + private String sourceName; +} diff --git a/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysmenurole/SysMenuRole.java b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysmenurole/SysMenuRole.java new file mode 100644 index 0000000..c0d53ff --- /dev/null +++ b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysmenurole/SysMenuRole.java @@ -0,0 +1,34 @@ +package com.yxt.supervise.gf.api.sysmenurole; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuRole.java
+ * Class: SysMenuRole
+ * Description: 菜单与角色关联表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "菜单与角色关联表", description = "菜单与角色关联表") +@TableName("sys_menu_role") +@Data +public class SysMenuRole extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty("菜单sid") + private String menuSid; + + @ApiModelProperty("角色sid") + private String roleSid; +} diff --git a/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysmenurole/SysMenuRoleDto.java b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysmenurole/SysMenuRoleDto.java new file mode 100644 index 0000000..78b14cf --- /dev/null +++ b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysmenurole/SysMenuRoleDto.java @@ -0,0 +1,32 @@ +package com.yxt.supervise.gf.api.sysmenurole; + + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuRoleDto.java
+ * Class: SysMenuRoleDto
+ * Description: 菜单与角色关联表 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "菜单与角色关联表 数据传输对象", description = "菜单与角色关联表 数据传输对象") +@Data +public class SysMenuRoleDto implements Dto { + + + @ApiModelProperty("菜单sid") + private String menuSid; + + @ApiModelProperty("角色sid") + private String roleSid; +} \ No newline at end of file diff --git a/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysmenurole/SysMenuRoleQuery.java b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysmenurole/SysMenuRoleQuery.java new file mode 100644 index 0000000..867ae17 --- /dev/null +++ b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysmenurole/SysMenuRoleQuery.java @@ -0,0 +1,40 @@ +package com.yxt.supervise.gf.api.sysmenurole; + + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuRoleQuery.java
+ * Class: SysMenuRoleQuery
+ * Description: 菜单与角色关联表 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "菜单与角色关联表 查询条件", description = "菜单与角色关联表 查询条件") +@Data +public class SysMenuRoleQuery implements Query { + + + @ApiModelProperty("菜单sid") + private String menuSid; + + @ApiModelProperty("角色sid") + private String roleSid; + @ApiModelProperty("多个角色sid计集合") + private List roleSids; + @ApiModelProperty("资源sid") + private String sourceSid; + @ApiModelProperty("是否是系统管理员") + private String isAdmin; +} diff --git a/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysmenurole/SysMenuRoleVo.java b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysmenurole/SysMenuRoleVo.java new file mode 100644 index 0000000..2b65aa1 --- /dev/null +++ b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysmenurole/SysMenuRoleVo.java @@ -0,0 +1,56 @@ +package com.yxt.supervise.gf.api.sysmenurole; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuRoleVo.java
+ * Class: SysMenuRoleVo
+ * Description: 菜单与角色关联表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "菜单与角色关联表 视图数据对象", description = "菜单与角色关联表 视图数据对象") +@Data +public class SysMenuRoleVo implements Vo { + + + @ApiModelProperty("菜单sid") + private String menuSid; + + @ApiModelProperty("角色sid") + private String roleSid; + @ApiModelProperty("菜单父级sid") + private String pSid; + @ApiModelProperty("menusid") + private String sid; + @ApiModelProperty("menuUrl") + private String menuUrl; + @ApiModelProperty("menuName") + private String menuName; + @ApiModelProperty("pageUrl") + private String pageUrl; + @ApiModelProperty("iconUrl") + private String iconUrl; + @ApiModelProperty("isShow") + private String isShow; + @ApiModelProperty("alwaysShow") + private Integer alwaysShow; + @ApiModelProperty("pageUrlRedirect") + private String pageUrlRedirect; + @ApiModelProperty("pageAliasName") + private String pageAliasName; + @ApiModelProperty("pageName") + private String pageName; + @ApiModelProperty("remarks") + private String remarks; +} diff --git a/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysrole/SysRole.java b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysrole/SysRole.java new file mode 100644 index 0000000..61cdf25 --- /dev/null +++ b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysrole/SysRole.java @@ -0,0 +1,39 @@ +package com.yxt.supervise.gf.api.sysrole; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/6/8 14:06 + */ +@ApiModel(value = "角色表", description = "角色表") +@TableName("sys_role") +@Data +public class SysRole extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty("角色名称") + private String name; + + @ApiModelProperty("排序") + private Integer sort; + + @ApiModelProperty("编码") + private String code; + + @ApiModelProperty("1、系统管理员、2、普通角色") + private Integer type; + + @ApiModelProperty("岗位sid") + private String postSid; + + @ApiModelProperty(value = "角色组织层级key") + private String roleType; + @ApiModelProperty(value = "角色组织层级value") + private String roleTypeValue; +} diff --git a/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysrole/SysRoleDto.java b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysrole/SysRoleDto.java new file mode 100644 index 0000000..386583a --- /dev/null +++ b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysrole/SysRoleDto.java @@ -0,0 +1,39 @@ +package com.yxt.supervise.gf.api.sysrole; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/6/8 14:07 + */ +@ApiModel(value = "角色表 数据传输对象", description = "角色表 数据传输对象") +@Data +public class SysRoleDto implements Dto { + @ApiModelProperty("角色名称") + private String name; + + @ApiModelProperty("排序") + private Integer sort; + + @ApiModelProperty("编码") + private String code; + @ApiModelProperty("备注") + private String remarks; + + @ApiModelProperty("1、系统管理员、2、普通角色") + private Integer type; + + @ApiModelProperty("岗位sid") + private String postSid; + + @ApiModelProperty("岗位名称") + private String postName; + + @ApiModelProperty(value = "角色组织层级key") + private String roleType; + @ApiModelProperty(value = "角色组织层级value") + private String roleTypeValue; +} diff --git a/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysrole/SysRoleQuery.java b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysrole/SysRoleQuery.java new file mode 100644 index 0000000..2c65096 --- /dev/null +++ b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysrole/SysRoleQuery.java @@ -0,0 +1,39 @@ +package com.yxt.supervise.gf.api.sysrole; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/6/8 14:12 + */ +@ApiModel(value = "角色表 查询条件", description = "角色表 查询条件") +@Data +public class SysRoleQuery implements Query { + @ApiModelProperty("角色名称") + private String name; + + @ApiModelProperty("排序") + private Integer sort; + + @ApiModelProperty("编码") + private String code; + @ApiModelProperty("备注") + private String remarks; + + @ApiModelProperty("1、系统管理员、2、普通角色") + private Integer type; + + @ApiModelProperty("岗位sid") + private String postSid; + + @ApiModelProperty("岗位名称") + private String postName; + + @ApiModelProperty(value = "角色组织层级key") + private String roleType; + @ApiModelProperty(value = "角色组织层级value") + private String roleTypeValue; +} diff --git a/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysrole/SysRoleVo.java b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysrole/SysRoleVo.java new file mode 100644 index 0000000..c722180 --- /dev/null +++ b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysrole/SysRoleVo.java @@ -0,0 +1,37 @@ +package com.yxt.supervise.gf.api.sysrole; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/6/8 14:07 + */ +@ApiModel(value = "角色表 视图数据对象", description = "角色表 视图数据对象") +@Data +public class SysRoleVo implements Vo { + @ApiModelProperty("角色名称") + private String name; + @ApiModelProperty("排序") + private Integer sort; + @ApiModelProperty("编码") + private String code; + @ApiModelProperty("1、系统管理员、2、普通角色") + private Integer type; + @ApiModelProperty("角色sid") + private String sid; + @ApiModelProperty("说明") + private String remarks; + @ApiModelProperty("是否选中,1:未选中,0:选中") + private String checked; + @ApiModelProperty("是否可用") + private String isEnable; + @ApiModelProperty("岗位sid") + private String postSid; + @ApiModelProperty("岗位名称") + private String postName; + @ApiModelProperty(value = "组织层级") + private String roleTypeValue; +} diff --git a/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/syssourcemenu/SysSourceMenu.java b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/syssourcemenu/SysSourceMenu.java new file mode 100644 index 0000000..e28b2f2 --- /dev/null +++ b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/syssourcemenu/SysSourceMenu.java @@ -0,0 +1,33 @@ +package com.yxt.supervise.gf.api.syssourcemenu; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuRole.java
+ * Class: SysMenuRole
+ * Description: 菜单与资源关联表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "菜单与资源关联表", description = "菜单与资源关联表") +@TableName("sys_source_menu") +@Data +public class SysSourceMenu extends BaseEntity { + private static final long serialVersionUID = 1L; + @ApiModelProperty("菜单sid") + private String menuSid; + @ApiModelProperty("资源sid") + private String sourceSid; + @ApiModelProperty("菜单根目录sid") + private String menuRootSid; +} diff --git a/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/syssourcemenu/SysSourceMenuDto.java b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/syssourcemenu/SysSourceMenuDto.java new file mode 100644 index 0000000..1ca2258 --- /dev/null +++ b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/syssourcemenu/SysSourceMenuDto.java @@ -0,0 +1,32 @@ +package com.yxt.supervise.gf.api.syssourcemenu; + + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuRoleDto.java
+ * Class: SysMenuRoleDto
+ * Description: 菜单与资源关联表 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "菜单与资源关联表 数据传输对象", description = "菜单与资源关联表 数据传输对象") +@Data +public class SysSourceMenuDto implements Dto { + + + @ApiModelProperty("菜单sid") + private String menuSid; + + @ApiModelProperty("资源sid") + private String sourceSid; +} \ No newline at end of file diff --git a/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/syssourcemenu/SysSourceMenuQuery.java b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/syssourcemenu/SysSourceMenuQuery.java new file mode 100644 index 0000000..7f56e31 --- /dev/null +++ b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/syssourcemenu/SysSourceMenuQuery.java @@ -0,0 +1,32 @@ +package com.yxt.supervise.gf.api.syssourcemenu; + + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuRoleQuery.java
+ * Class: SysMenuRoleQuery
+ * Description: 菜单与资源关联表 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "菜单与资源关联表 查询条件", description = "菜单与资源关联表 查询条件") +@Data +public class SysSourceMenuQuery implements Query { + + + @ApiModelProperty("菜单sid") + private String menuSid; + + @ApiModelProperty("资源sid") + private String sourceSid; +} diff --git a/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/syssourcemenu/SysSourceMenuVo.java b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/syssourcemenu/SysSourceMenuVo.java new file mode 100644 index 0000000..3c0aa05 --- /dev/null +++ b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/syssourcemenu/SysSourceMenuVo.java @@ -0,0 +1,36 @@ +package com.yxt.supervise.gf.api.syssourcemenu; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuRoleVo.java
+ * Class: SysMenuRoleVo
+ * Description: 菜单与资源关联表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "菜单与资源关联表 视图数据对象", description = "菜单与资源关联表 视图数据对象") +@Data +public class SysSourceMenuVo implements Vo { + + + @ApiModelProperty("菜单sid") + private String menuSid; + + @ApiModelProperty("资源sid") + private String sourceSid; + + + @ApiModelProperty("菜单根目录sid") + private String menuRootSid; +} diff --git a/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysuser/SysUser.java b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysuser/SysUser.java new file mode 100644 index 0000000..5a06190 --- /dev/null +++ b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysuser/SysUser.java @@ -0,0 +1,72 @@ +package com.yxt.supervise.gf.api.sysuser; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysUser.java
+ * Class: SysUser
+ * Description: 用户表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "用户表", description = "用户表") +@TableName("sys_user") +@Data +public class SysUser extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty("登录名,登录名不能相同") + private String userName; + + @ApiModelProperty("密码(加密或签名后)") + private String password; + + @ApiModelProperty("密码修改时限") + private String pwdDayslimit; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @ApiModelProperty("最后一次密码修改时间") + private Date pwdModifyTime; + + @ApiModelProperty("在线状态(0为离线、1为在线)") + private Integer onlineState; + + @ApiModelProperty("用户登录时随机生成身份验证字符串") + private String token; + + @ApiModelProperty("是否是管理员:1管理员,2一般用户,0是超级管理员,3尚无单位人员") + private String isAdmin; + + @ApiModelProperty("手机登录唯一标识,手机与用户绑定字段") + private String appId; + + @ApiModelProperty("关联的人员sid") + private String staffSid; + + @ApiModelProperty("手机号") + private String mobile; + + @ApiModelProperty("用户类型:1员工、2客户、3供应商") + private Integer userType; + + @ApiModelProperty("用户头像") + private String headImage; + + private String roleSid; + private String orgSid; + private String postSid; +} diff --git a/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysuser/SysUserDto.java b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysuser/SysUserDto.java new file mode 100644 index 0000000..5a40090 --- /dev/null +++ b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysuser/SysUserDto.java @@ -0,0 +1,40 @@ +package com.yxt.supervise.gf.api.sysuser; + + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysUserDto.java
+ * Class: SysUserDto
+ * Description: 用户表 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "用户表 数据传输对象", description = "用户表 数据传输对象") +@Data +public class SysUserDto implements Dto { + @ApiModelProperty("手机号") + private String mobile; + @ApiModelProperty("用户类型:1员工、2客户、3供应商") + private Integer userType; + @ApiModelProperty(value = "姓名", required = true) + //@NotBlank(message = "姓名不能为空") + private String name; + @ApiModelProperty(value = "验证码", required = true) + //@NotBlank(message = "验证码不能为空") + private String verificationCode; + @ApiModelProperty(value = "部门sid") + private String deptSid; + @ApiModelProperty(value = "岗位sid") + private String postSid; + +} \ No newline at end of file diff --git a/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysuser/SysUserInfoVo.java b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysuser/SysUserInfoVo.java new file mode 100644 index 0000000..f91a320 --- /dev/null +++ b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysuser/SysUserInfoVo.java @@ -0,0 +1,30 @@ +package com.yxt.supervise.gf.api.sysuser; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/2/9 9:12 + * @Description 用户组织信息 + */ +@Data +public class SysUserInfoVo implements Vo { + + private static final long serialVersionUID = 7931121025686046432L; + @ApiModelProperty("关联的员工sid") + private String staffSid; + + @ApiModelProperty("关联的员工名称") + private String staffName; + + @ApiModelProperty("员工的组织sid(多个时为第一个)") + private String orgSid; + + @ApiModelProperty("员工的组织名称(多个时为第一个)") + private String orgName; + + @ApiModelProperty("员工的组织部门编码") + private String orgCode; +} diff --git a/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysuser/SysUserListVo.java b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysuser/SysUserListVo.java new file mode 100644 index 0000000..7f2afa7 --- /dev/null +++ b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysuser/SysUserListVo.java @@ -0,0 +1,19 @@ +package com.yxt.supervise.gf.api.sysuser; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/9/14 15:36 + * @Description + */ +@Data +public class SysUserListVo implements Vo { + private static final long serialVersionUID = -3047907553025391436L; + + private String name; + + private String sid; + +} diff --git a/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysuser/SysUserQuery.java b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysuser/SysUserQuery.java new file mode 100644 index 0000000..b994e2e --- /dev/null +++ b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysuser/SysUserQuery.java @@ -0,0 +1,51 @@ +package com.yxt.supervise.gf.api.sysuser; + + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysUserQuery.java
+ * Class: SysUserQuery
+ * Description: 用户表 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "用户表 查询条件", description = "用户表 查询条件") +@Data +public class SysUserQuery implements Query { + + + @ApiModelProperty("角色sid") + private String roleSid; + @ApiModelProperty("用户名称") + private String userName; + @ApiModelProperty("姓名") + private String name; + @ApiModelProperty("部门名称") + private String orgName; + + @ApiModelProperty("密码(加密或签名后)") + private String password; + + @ApiModelProperty("用户登录时随机生成身份验证字符串") + private String token; + @ApiModelProperty("用户登录时随机生成的验证码字符串") + private String verifyCode; + private String uuid; + + @ApiModelProperty("手机登录唯一标识,手机与用户绑定字段") + private String appId; + @ApiModelProperty("手机登录类型:1、密码登录2、验证码登录") + private String type; + @ApiModelProperty(value = "是否是测试",example = "false") + private Boolean isTest; +} \ No newline at end of file diff --git a/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysuser/SysUserVo.java b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysuser/SysUserVo.java new file mode 100644 index 0000000..1d96c8c --- /dev/null +++ b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysuser/SysUserVo.java @@ -0,0 +1,92 @@ +package com.yxt.supervise.gf.api.sysuser; + + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.common.core.vo.Vo; +import com.yxt.supervise.gf.api.sysrole.SysRoleVo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.ArrayList; +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysUserVo.java
+ * Class: SysUserVo
+ * Description: 用户表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "用户表 视图数据对象", description = "用户表 视图数据对象") +@Data +@NoArgsConstructor +public class SysUserVo implements Vo { + private static final long serialVersionUID = 2415131854581950721L; + @ApiModelProperty("部门sid") + private String departmentSid; + @ApiModelProperty("部门名称") + private String departmentName; + @ApiModelProperty("上级部门名称-本级部门名称 岗位名称") + @JsonProperty("pNameAndDepartmentNameAndPostName") + private String pNameAndDepartmentNameAndPostName; + @ApiModelProperty("岗位名称") + private String postName; + @ApiModelProperty("岗位Sid") + private String postSid; + @ApiModelProperty("单位sid") + private String organizationSid; + @ApiModelProperty("单位名称") + private String organizationName; + @ApiModelProperty("用户姓名") + private String name; + @ApiModelProperty("登录名,登录名不能相同") + private String userName; + + @ApiModelProperty("id") + private Integer id; + @ApiModelProperty("用户sid") + private String sid; + @ApiModelProperty("是否是管理员:1管理员,2一般用户,0是超级管理员,3尚无单位人员") + private String isAdmin; + @ApiModelProperty("角色名称") + private String roleName; + private List roleList; + @ApiModelProperty("关联的人员sid") + private String staffSid; + + @ApiModelProperty("手机号") + private String mobile; + @ApiModelProperty(value = "禁用状态") + private String isEnable; + + @ApiModelProperty("用户类型:1员工、2客户、3供应商") + private String userType; + @ApiModelProperty("用户类型:1、2、3") + private String userTypeKey; + @ApiModelProperty("用户头像") + private String headImage; + @ApiModelProperty("组织名称") + private String orgNamePath; + @ApiModelProperty("组织sid") + private String orgSidPath; + @ApiModelProperty(value = "token") + private String token; + @ApiModelProperty(value = "角色sids") + private List roleSids = new ArrayList<>(); + + private String defaultOrgPath; + private String defaultOrgPathName; + + @ApiModelProperty("是否需要更换密码") + private Boolean needResetPsd; + @ApiModelProperty("工号") + private String jobNumber; +} diff --git a/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysuser/UserQuery.java b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysuser/UserQuery.java new file mode 100644 index 0000000..a75d909 --- /dev/null +++ b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysuser/UserQuery.java @@ -0,0 +1,21 @@ +package com.yxt.supervise.gf.api.sysuser; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/6/21 8:47 + * @Description + */ +@Data +public class UserQuery implements Query { + + private static final long serialVersionUID = -3979717077029562761L; + @ApiModelProperty(value = "角色sid必传项") + private String roleSid; + @ApiModelProperty(value = "用户部门sid路径是必传项") + private String orgSidPath; + +} diff --git a/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysuser/UserRoleQuery.java b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysuser/UserRoleQuery.java new file mode 100644 index 0000000..76d92a1 --- /dev/null +++ b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysuser/UserRoleQuery.java @@ -0,0 +1,19 @@ +package com.yxt.supervise.gf.api.sysuser; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/8/25 8:38 + * @Description + */ +@Data +public class UserRoleQuery implements Query { + private static final long serialVersionUID = 1913450300189800653L; + + @ApiModelProperty("角色sid") + private String roleSid; + private String orgSid; +} diff --git a/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysuserrole/SysUserRole.java b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysuserrole/SysUserRole.java new file mode 100644 index 0000000..0da65ec --- /dev/null +++ b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysuserrole/SysUserRole.java @@ -0,0 +1,25 @@ +package com.yxt.supervise.gf.api.sysuserrole; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/6/8 14:45 + */ +@ApiModel(value = "用户与角色关联表", description = "用户与角色关联表") +@TableName("sys_user_role") +@Data +public class SysUserRole extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty("用户sid") + private String userSid; + + @ApiModelProperty("角色sid") + private String roleSid; +} diff --git a/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysuserrole/SysUserRoleDto.java b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysuserrole/SysUserRoleDto.java new file mode 100644 index 0000000..72d00d9 --- /dev/null +++ b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysuserrole/SysUserRoleDto.java @@ -0,0 +1,20 @@ +package com.yxt.supervise.gf.api.sysuserrole; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/6/8 14:45 + */ +@ApiModel(value = "用户与角色关联表 数据传输对象", description = "用户与角色关联表 数据传输对象") +@Data +public class SysUserRoleDto implements Dto { + @ApiModelProperty("用户sid") + private String userSid; + + @ApiModelProperty("角色sid") + private String roleSid; +} diff --git a/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysuserrole/SysUserRoleQuery.java b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysuserrole/SysUserRoleQuery.java new file mode 100644 index 0000000..1c6ec85 --- /dev/null +++ b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysuserrole/SysUserRoleQuery.java @@ -0,0 +1,20 @@ +package com.yxt.supervise.gf.api.sysuserrole; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/6/8 14:45 + */ +@ApiModel(value = "用户与角色关联表 查询条件", description = "用户与角色关联表 查询条件") +@Data +public class SysUserRoleQuery implements Query { + @ApiModelProperty("用户sid") + private String userSid; + + @ApiModelProperty("角色sid") + private String roleSid; +} diff --git a/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysuserrole/SysUserRoleVo.java b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysuserrole/SysUserRoleVo.java new file mode 100644 index 0000000..6539a4e --- /dev/null +++ b/yxt-supervise-gf-api/src/main/java/com/yxt/supervise/gf/api/sysuserrole/SysUserRoleVo.java @@ -0,0 +1,20 @@ +package com.yxt.supervise.gf.api.sysuserrole; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/6/8 14:45 + */ +@ApiModel(value = "用户与角色关联表 视图数据对象", description = "用户与角色关联表 视图数据对象") +@Data +public class SysUserRoleVo implements Vo { + @ApiModelProperty("用户sid") + private String userSid; + + @ApiModelProperty("角色sid") + private String roleSid; +} diff --git a/yxt-supervise-gf-biz/pom.xml b/yxt-supervise-gf-biz/pom.xml index d9f6e93..8c43d8a 100644 --- a/yxt-supervise-gf-biz/pom.xml +++ b/yxt-supervise-gf-biz/pom.xml @@ -120,6 +120,12 @@ org.springframework.cloud spring-cloud-starter-openfeign + + + cn.dev33 + sa-token-spring-boot-starter + 1.34.0 + diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/instock/InStockRest.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/instock/InStockRest.java index 90751b2..50f33e6 100644 --- a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/instock/InStockRest.java +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/instock/InStockRest.java @@ -8,15 +8,12 @@ import com.yxt.supervise.gf.api.instock.InStockQuery; import com.yxt.supervise.gf.api.instock.InStockVo; import com.yxt.supervise.gf.shanhai.ShRequester; import com.yxt.supervise.gf.shanhai.req.In_stockGetRecordMaterielList; -import com.yxt.supervise.gf.shanhai.resp.BaseResponse; -import com.yxt.supervise.gf.shanhai.resp.BaseResponseListObj; -import com.yxt.supervise.gf.shanhai.resp.InStockGetRecordMaterielList; +import com.yxt.supervise.gf.shanhai.req.In_stockIndex; +import com.yxt.supervise.gf.shanhai.resp.*; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; /** @@ -42,4 +39,20 @@ public class InStockRest { PagerVo vo = inStockService.listPage(pq); return rb.success().setData(vo); } + + @PostMapping("/getInStockList") + @ApiOperation(value = "入库申请记录") + public ResultBean getInStockList(@RequestBody In_stockIndex in_stockIndex){ + ResultBean rb = ResultBean.fireFail(); + BaseResponse> api$system$in_stock$index = ShRequester.getApi$system$in_stock$index(in_stockIndex); + return rb.success().setData(api$system$in_stock$index); + } + + @GetMapping("/getInStockInfo/{id}") + @ApiOperation(value = "查看入库申请详细信息") + public ResultBean getInStockInfo(@PathVariable String id){ + ResultBean rb = ResultBean.fireFail(); + BaseResponse api$system$in_stock$get_info = ShRequester.getApi$system$in_stock$get_info(id); + return rb.success().setData(api$system$in_stock$get_info); + } } diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/materialbrand/MaterialBrandRest.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/materialbrand/MaterialBrandRest.java new file mode 100644 index 0000000..2599bf1 --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/materialbrand/MaterialBrandRest.java @@ -0,0 +1,31 @@ +package com.yxt.supervise.gf.biz.materialbrand; + +import com.yxt.common.core.result.ResultBean; +import com.yxt.supervise.gf.shanhai.ShRequester; +import com.yxt.supervise.gf.shanhai.resp.BaseResponse; +import com.yxt.supervise.gf.shanhai.resp.BaseResponseListObj; +import com.yxt.supervise.gf.shanhai.resp.MaterialBrandIndex; +import io.swagger.annotations.Api; +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 java.util.Map; + +/** + * @author feikefei + * @create 2023-09-02-11:23 + */ +@Api(value = "物料品牌") +@RestController +@RequestMapping("gf/materialBrand") +public class MaterialBrandRest { + + @PostMapping("/getMaterialBrandList") + public ResultBean getMaterialBrandList(@RequestBody Map map){ + ResultBean rb = ResultBean.fireFail(); + BaseResponse> api$api$system$material_brand$index = ShRequester.getApi$api$system$material_brand$index(map); + return rb.success().setData(api$api$system$material_brand$index); + } +} diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/materielindex/MaterielIndexRest.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/materielindex/MaterielIndexRest.java new file mode 100644 index 0000000..23cc01c --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/materielindex/MaterielIndexRest.java @@ -0,0 +1,31 @@ +package com.yxt.supervise.gf.biz.materielindex; + +import com.yxt.common.core.result.ResultBean; +import com.yxt.supervise.gf.shanhai.ShRequester; +import com.yxt.supervise.gf.shanhai.resp.BaseResponse; +import com.yxt.supervise.gf.shanhai.resp.BaseResponseListObj; +import com.yxt.supervise.gf.shanhai.resp.MaterielIndex; +import io.swagger.annotations.Api; +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 java.util.Map; + +/** + * @author feikefei + * @create 2023-09-02-11:39 + */ +@Api(value = "物料管理") +@RestController +@RequestMapping("gf/materiel") +public class MaterielIndexRest { + + @PostMapping("/getMaterielList") + public ResultBean getMaterielList(@RequestBody Map map){ + ResultBean rb = ResultBean.fireFail(); + BaseResponse> api$system$materiel$index = ShRequester.getApi$system$materiel$index(map); + return rb.success().setData(api$system$materiel$index); + } +} diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/outstock/OutStockRest.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/outstock/OutStockRest.java index 096dbce..45f3974 100644 --- a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/outstock/OutStockRest.java +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/outstock/OutStockRest.java @@ -5,13 +5,17 @@ import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import com.yxt.supervise.gf.api.outstock.OutStockQuery; import com.yxt.supervise.gf.api.outstock.OutStockVo; +import com.yxt.supervise.gf.shanhai.ShRequester; import com.yxt.supervise.gf.shanhai.req.Out_stockGetRecordMaterielList; +import com.yxt.supervise.gf.shanhai.req.Out_stockIndex; +import com.yxt.supervise.gf.shanhai.resp.BaseResponse; +import com.yxt.supervise.gf.shanhai.resp.BaseResponseListObj; +import com.yxt.supervise.gf.shanhai.resp.OutStock; +import com.yxt.supervise.gf.shanhai.resp.OutStockGetInfo; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; /** * @author feikefei @@ -36,4 +40,20 @@ public class OutStockRest { PagerVo pagerVo = outStockService.listPage(pq); return rb.success().setData(pagerVo); } + + @PostMapping("/getOutStock") + @ApiOperation(value = "出库申请记录") + public ResultBean getOutStock(Out_stockIndex out_stockIndex){ + ResultBean rb = ResultBean.fireFail(); + BaseResponse> api$system$out_stock$index = ShRequester.getApi$system$out_stock$index(out_stockIndex); + return rb.success().setData(api$system$out_stock$index); + } + + @GetMapping("/getOutStockInfo/{id}") + @ApiOperation(value = "查看出库申请详细信息") + public ResultBean getOutStockInfo(@PathVariable String id){ + ResultBean rb = ResultBean.fireFail(); + BaseResponse api$system$out_stock$get_info = ShRequester.getApi$system$out_stock$get_info(id); + return rb.success().setData(api$system$out_stock$get_info); + } } diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/stockrecordindex/StockRecordIndexRest.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/stockrecordindex/StockRecordIndexRest.java new file mode 100644 index 0000000..bd8e1b2 --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/stockrecordindex/StockRecordIndexRest.java @@ -0,0 +1,33 @@ +package com.yxt.supervise.gf.biz.stockrecordindex; + +import com.yxt.common.core.result.ResultBean; +import com.yxt.supervise.gf.shanhai.ShRequester; +import com.yxt.supervise.gf.shanhai.resp.BaseResponse; +import com.yxt.supervise.gf.shanhai.resp.BaseResponseListObj; +import com.yxt.supervise.gf.shanhai.resp.StockRecordIndex; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 java.util.Map; + +/** + * @author feikefei + * @create 2023-09-02-16:50 + */ +@Api(value = "出入库记录") +@RestController +@RequestMapping("gf/stockRecord") +public class StockRecordIndexRest { + + @PostMapping("/getStockRecordList") + @ApiOperation(value = "查询出入库记录") + public ResultBean getStockRecordList(@RequestBody Map map){ + ResultBean rb = ResultBean.fireFail(); + BaseResponse> api$system$stock_record$index = ShRequester.getApi$system$stock_record$index(null, map); + return rb.success().setData(api$system$stock_record$index); + } +} diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/supplier/SupplierRest.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/supplier/SupplierRest.java new file mode 100644 index 0000000..172b25e --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/supplier/SupplierRest.java @@ -0,0 +1,40 @@ +package com.yxt.supervise.gf.biz.supplier; + +import com.yxt.common.core.result.ResultBean; +import com.yxt.supervise.gf.shanhai.ShRequester; +import com.yxt.supervise.gf.shanhai.req.Purchase_contract_index; +import com.yxt.supervise.gf.shanhai.resp.BaseResponse; +import com.yxt.supervise.gf.shanhai.resp.BaseResponseListObj; +import com.yxt.supervise.gf.shanhai.resp.PurchaseContractIndex; +import com.yxt.supervise.gf.shanhai.resp.SupplierIndex; +import io.swagger.annotations.Api; +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 java.util.Map; + +/** + * @author feikefei + * @create 2023-09-01-11:55 + */ +@Api(value = "供应商") +@RestController +@RequestMapping("gf/supplier") +public class SupplierRest { + + @PostMapping("/getSupplierList") + public ResultBean getSupplierList(@RequestBody Map map){ + ResultBean rb = ResultBean.fireFail(); + BaseResponse> api$system$supplier$index = ShRequester.getApi$system$supplier$index(map); + return rb.success().setData(api$system$supplier$index); + } + + @PostMapping("/getContract") + public ResultBean getContract(@RequestBody Purchase_contract_index purchase_contract_index){ + ResultBean rb = ResultBean.fireFail(); + BaseResponse> apiSystemPurchaseContractIndex = ShRequester.getApi$system$purchase_contract$index(purchase_contract_index); + return rb.success().setData(apiSystemPurchaseContractIndex); + } +} diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysmenu/CyfSysMenuMapper.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysmenu/CyfSysMenuMapper.java new file mode 100644 index 0000000..0467e9a --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysmenu/CyfSysMenuMapper.java @@ -0,0 +1,80 @@ +package com.yxt.supervise.gf.biz.sysmenu; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.supervise.gf.api.sysmenu.SysMenu; +import com.yxt.supervise.gf.api.sysmenu.SysMenuTreeVo; +import com.yxt.supervise.gf.api.sysmenu.SysMenuVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuMapper.java
+ * Class: SysMenuMapper
+ * Description: 菜单表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Mapper +public interface CyfSysMenuMapper extends BaseMapper { + + //@Update("update sys_menu set name=#{msg} where id=#{id}") + //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + + List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); + + @Select("select * from sys_menu") + List selectListVo(); + + List listAllParentByRoleSid(String roleSid, String sid, @Param("sourceSid") String sourceSid); + +// @Select("SELECT menu.*,sourceMenu.`sourceSid` FROM sys_menu menu " + +// "LEFT JOIN sys_source_menu sourceMenu ON menu.sid=sourceMenu.menuSid where menu.sid=#{sid}") +// SysMenu fetchBySid(@Param("sid") String sid); + @Select("SELECT menu.* FROM sys_menu menu " + + "where menu.sid=#{sid}") + SysMenu fetchBySid(@Param("sid") String sid); + + List getChildrensForMenuTree(@Param(Constants.WRAPPER) QueryWrapper qw); + + /** + * 将该资源下的所有菜单设置是否可用 + * + * @param sid 资源sid + * @param isEnable 是否可用:1可用,0不可用 + * @return + */ + int updateBySourceSid(@Param("sid") String sid, @Param("isEnable") Integer isEnable); + + /** + * 根据上级sid查询菜单的子集菜单 + * + * @param sid 菜单sid + * @return + */ + List selectChildernList(String sid); + List selectChildernLists(String sid); + + /** + * 查询该资源下是否有可用的菜单 + * + * @param isEnable + * @return + */ + int selectBySourceSid(@Param("isEnable") int isEnable, @Param("sourceSid") String sourceSid); +} \ No newline at end of file diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysmenu/CyfSysMenuMapper.xml b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysmenu/CyfSysMenuMapper.xml new file mode 100644 index 0000000..801a6af --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysmenu/CyfSysMenuMapper.xml @@ -0,0 +1,75 @@ + + + + + + + + + + + + update sys_menu + set isEnable = #{isEnable} + where sourceSid = #{sid} + + + + + + + + + + + + + \ No newline at end of file diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysmenu/CyfSysMenuRest.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysmenu/CyfSysMenuRest.java new file mode 100644 index 0000000..793ca5d --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysmenu/CyfSysMenuRest.java @@ -0,0 +1,250 @@ +package com.yxt.supervise.gf.biz.sysmenu; + +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.supervise.gf.api.sysmenu.*; +import com.yxt.supervise.gf.api.sysmenurole.SysMenuRoleQuery; +import com.yxt.supervise.gf.api.sysuserrole.SysUserRoleVo; +import com.yxt.supervise.gf.biz.sysmenurole.CyfSysMenuRoleService; +import com.yxt.supervise.gf.biz.sysrole.CyfSysRoleService; +import com.yxt.supervise.gf.biz.syssourcemenu.CyfSysSourceMenuService; +import com.yxt.supervise.gf.biz.sysuser.CyfSysUserService; +import com.yxt.supervise.gf.biz.sysuserrole.CyfSysUserRoleService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuFeignFallback.java
+ * Class: SysMenuRest
+ * Description: 菜单表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "菜单表") +@RestController +@RequestMapping("cyf/sysmenu") +public class CyfSysMenuRest { + @Autowired + private CyfSysSourceMenuService sysSourceMenuService; + @Autowired + private CyfSysMenuService sysMenuService; + @Autowired + private CyfSysUserRoleService sysUserRoleService; + @Autowired + private CyfSysMenuRoleService sysMenuRoleService; + @Autowired + private CyfSysUserService sysUserService; + @Autowired + private CyfSysRoleService sysRoleService; + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = sysMenuService.listPageVo(pq); + return rb.success().setData(pv); + } + + /* + public ResultBean> listAll(@RequestBody SysMenuQuery query) { + ResultBean rb = ResultBean.fireFail(); + List list = sysMenuService.listAllVo(query); + return rb.success().setData(list); + }*/ + + @ApiOperation("菜单列表") + @PostMapping("/listAllVoFor") + public ResultBean> listAllVoFor(@RequestBody SysMenuQuery query) { + ResultBean rb = ResultBean.fireFail(); + List list = sysMenuService.listAllVoFor(query); + return rb.success().setData(list); + } +// @ApiOperation("根据资源sid查询所有数据列表 ") +// @PostMapping("/sourcemenutree") +// public ResultBean>> sourcemenutree(@RequestBody SysMenuQuery query) { +// ResultBean>> rb = ResultBean.fireFail(); +// SysMenuRoleQuery orgRoleMenuQuery = new SysMenuRoleQuery(); +// List> list = new ArrayList<>(); +// if (null == query) +// return rb.setData(list); +// +// //if业务角色存在,则查询业务角色的菜单列表,否则查询平台角色的菜单列表 +// List userRole = sysUserRoleService.selectByUserSid(query.getUserSid()); +// List roleSids = userRole.stream().map(s -> s.getRoleSid()).collect(Collectors.toList()); +// for (String roleSid : roleSids) { +// Integer type = sysRoleService.fetchBySid(roleSid).getType(); +// if (type == 1){ +// orgRoleMenuQuery.setIsAdmin("1"); +// }else { +// orgRoleMenuQuery.setIsAdmin("0"); +// } +// } +// orgRoleMenuQuery.setRoleSids(roleSids); +// orgRoleMenuQuery.setSourceSid(query.getSourceSid()); +// list = sysMenuRoleService.getSourceMenuTreeOfRoles(orgRoleMenuQuery, null); +// return rb.success().setData(list); +// } + @ApiOperation("根据资源sid查询所有数据列表 ") + @PostMapping("/sourcemenutree") + public ResultBean>> sourcemenutree(@RequestBody SysMenuQuery query) { + ResultBean>> rb = ResultBean.fireFail(); + SysMenuRoleQuery orgRoleMenuQuery = new SysMenuRoleQuery(); + List> list = new ArrayList<>(); + if (null == query) + return rb.setData(list); + + //if业务角色存在,则查询业务角色的菜单列表,否则查询平台角色的菜单列表 + List userRole = sysUserRoleService.selectByUserSid(query.getUserSid()); + List roleSids = userRole.stream().map(s -> s.getRoleSid()).collect(Collectors.toList()); +// for (String roleSid : roleSids) { +// Integer type = sysRoleService.fetchBySid(roleSid).getType(); +// if (type == 1){ +// orgRoleMenuQuery.setIsAdmin("1"); +// }else { +// orgRoleMenuQuery.setIsAdmin("0"); +// } +// } + orgRoleMenuQuery.setRoleSids(roleSids); + //orgRoleMenuQuery.setSourceSid(query.getSourceSid()); + list = sysMenuRoleService.getSourceMenuTreeOfRoles(orgRoleMenuQuery, null); + return rb.success().setData(list); + } + +// @ApiOperation("根据角色sid条件查询所有数据列表") +// @PostMapping("/listAllByRoleSid") +// public ResultBean> listAllByRoleSid(@RequestBody SysMenuQuery query) { +// ResultBean rb = ResultBean.fireFail(); +// String roleSid = query.getRoleSid(); +// if (StringUtils.isBlank(roleSid)) { +// ResultBean> resultBean = new ResultBean>(); +// return resultBean.fail().setMessage("角色sid不能为空!"); +// } +// List sysSourceVos = sysSourceService.listVo(); +// List list = new ArrayList<>(); +// for (SysSourceVo s : sysSourceVos) { +// SysMenuVo sysMenuVo = new SysMenuVo(); +// sysMenuVo.setName(s.getSourceName()); +// sysMenuVo.setSid(s.getSid()); +// sysMenuVo.setChecked("1"); +// query.setSourceSid(s.getSid()); +// sysMenuVo.setChildren(sysMenuService.listAllByRoleSid(query)); +// list.add(sysMenuVo); +// } +// return rb.success().setData(list); +// } + @ApiOperation("根据角色sid条件查询所有数据列表") + @PostMapping("/listAllByRoleSid") + public ResultBean> listAllByRoleSid(@RequestBody SysMenuQuery query) { + ResultBean rb = ResultBean.fireFail(); + String roleSid = query.getRoleSid(); + if (StringUtils.isBlank(roleSid)) { + ResultBean> resultBean = new ResultBean>(); + return resultBean.fail().setMessage("角色sid不能为空!"); + } + List list = new ArrayList<>(); +// for (SysSourceVo s : sysSourceVos) { +// SysMenuVo sysMenuVo = new SysMenuVo(); +// sysMenuVo.setName(s.getSourceName()); +// sysMenuVo.setSid(s.getSid()); +// sysMenuVo.setChecked("1"); +// query.setSourceSid(s.getSid()); + list=sysMenuService.listAllByRoleSid(query); + //list.add(sysMenuVo); +// } + return rb.success().setData(list); + } + @ApiOperation("所有数据列表") + @GetMapping("/list") + public ResultBean> list() { + ResultBean rb = ResultBean.fireFail(); + List list = sysMenuService.listVo(); + return rb.success().setData(list); + } + + @ApiOperation("新增保存") + @PostMapping("/save") + public ResultBean save(@RequestBody SysMenuDto dto) { + ResultBean rb = ResultBean.fireFail(); + String sourceSid = dto.getSourceSid(); +// SysSource sysSource = sysSourceService.fetchBySid(sourceSid); +// if (sysSource == null) { +// return rb.setMsg("资源不存在"); +// } + sysMenuService.saveMenu(dto); + return rb.success(); + } + + @ApiOperation("修改保存") + @PostMapping("/update/{sid}") + public ResultBean update(@RequestBody SysMenuDto dto,@PathVariable String sid) { + ResultBean rb = ResultBean.fireFail(); + //查询菜单是否存在 + SysMenu sysMenu = sysMenuService.fetchBySid(sid); + if (sysMenu == null) { + return rb.setMsg("菜单不存在"); + } +// String sourceSid = dto.getSourceSid(); +// SysSourceMenuVo vo = sysSourceMenuService.fetchByMenuSid(sid); +// if (!sourceSid.equals(vo.getSourceSid())) { +// sysSourceMenuService.delByMenuSid(sid); +// SysSourceMenu sysSourceMenu = new SysSourceMenu(); +// sysSourceMenu.setMenuSid(sid); +// sysSourceMenu.setSourceSid(dto.getSourceSid()); +// sysSourceMenu.setMenuRootSid(vo.getMenuRootSid()); +// sysSourceMenuService.save(sysSourceMenu); +// } + sysMenuService.updateBySid(dto, sid); + return rb.success(); + } + + /* + public ResultBean del(String ids) { + ResultBean rb = ResultBean.fireFail(); + sysMenuService.delByIds(ids); + return rb.success(); + }*/ + + @ApiOperation("删除记录 根据sid") + @GetMapping("/delBySids/{sid}") + public ResultBean delBySids(@PathVariable String sid) { + ResultBean rb = ResultBean.fireFail(); + SysMenu sysMenu = sysMenuService.fetchBySid(sid); + if (sysMenu == null) { + return rb.setMsg("该菜单不存在"); + } + //sysSourceMenuService.delByMenuSid(sid); + sysMenuService.deleteBySid(sid); + return rb.success(); + } + + /* + public ResultBean fetch(String id) { + ResultBean rb = ResultBean.fireFail(); + SysMenuVo vo = sysMenuService.fetchByIdVo(id); + return rb.success().setData(vo); + } + + + public ResultBean fetchBySid(String sid) { + ResultBean rb = ResultBean.fireFail(); + SysMenu sysMenu = sysMenuService.fetchBySid(sid); + SysMenuVo vo = new SysMenuVo(); + BeanUtil.copyProperties(sysMenu, vo); + return rb.success().setData(vo); + }*/ +} diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysmenu/CyfSysMenuService.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysmenu/CyfSysMenuService.java new file mode 100644 index 0000000..18784f8 --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysmenu/CyfSysMenuService.java @@ -0,0 +1,410 @@ +package com.yxt.supervise.gf.biz.sysmenu; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.supervise.gf.api.sysmenu.*; +import com.yxt.supervise.gf.api.sysmenurole.SysMenuRoleVo; +import com.yxt.supervise.gf.api.syssourcemenu.SysSourceMenu; +import com.yxt.supervise.gf.biz.syssourcemenu.CyfSysSourceMenuService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuService.java
+ * Class: SysMenuService
+ * Description: 菜单表 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class CyfSysMenuService extends MybatisBaseService { + @Autowired + private CyfSysSourceMenuService sysSourceMenuService; + @Autowired + private CyfSysMenuService sysMenuService; + + public PagerVo listPage(PagerQuery pq) { + SysMenuQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + @Override + public SysMenu fetchBySid(String sid) { + return baseMapper.fetchBySid(sid); + } + + public List listAll(SysMenuQuery query) { + QueryWrapper qw = createQueryWrapper(query); + return baseMapper.selectList(qw); + } + + private QueryWrapper createQueryWrapper(SysMenuQuery query) { + // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(query.getName())) { + qw.eq("name", query.getName()); + } + if (StringUtils.isNotBlank(query.getMenuUrl())) { + qw.eq("menuUrl", query.getMenuUrl()); + } + if (StringUtils.isNotBlank(query.getPageUrl())) { + qw.eq("pageUrl", query.getPageUrl()); + } + if (StringUtils.isNotBlank(query.getIconUrl())) { + qw.eq("iconUrl", query.getIconUrl()); + } + if (query.getSourceSid() != null) { + qw.eq("sourceSid", query.getSourceSid()); + } + if (StringUtils.isNotBlank(query.getIsShow())) { + qw.eq("isShow", query.getIsShow()); + } + + if (query.getSortNo() != null) { + qw.eq("sortNo", query.getSortNo()); + } + + if (StringUtils.isNotBlank(query.getPSid())) { + qw.eq("pSid", query.getPSid()); + } + + if (query.getPageUrlRedirect() != null) { + qw.eq("pageUrlRedirect", query.getPageUrlRedirect()); + } + + if (StringUtils.isNotBlank(query.getPageName())) { + qw.eq("pageName", query.getPageName()); + } + + if (StringUtils.isNotBlank(query.getPageAliasName())) { + qw.eq("pageAliasName", query.getPageAliasName()); + } + + if (StringUtils.isNotBlank(query.getMenuType())) { + qw.eq("menuType", query.getMenuType()); + } + return qw; + } + + public PagerVo listPageVo(PagerQuery pq) { + SysMenuQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + /* public List listAllVo(SysMenuQuery query) { + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("menu.pSid", "0"); + List sysMenuVos = baseMapper.selectListAllVo(qw); + for(SysMenuVo s:sysMenuVos){ + getChildrens(s); + } + return sysMenuVos; + }*/ + public List listAllVoFor(SysMenuQuery query) { + List sysMenuVoList = sysSourceMenuService.fetchRootMenu(); + for (SysMenuTreeVo s : sysMenuVoList) { + if (!sysMenuVoList.isEmpty()) { +// sysMenuVoList = getChildrensForMenuTree(sysMenuVoList); + getChildLists(sysMenuVoList); + } + } + return sysMenuVoList; + } + public void getChildList(List list) { + list.forEach(str -> { + String sid = str.getSid(); + List listChildren = baseMapper.selectChildernList(sid); + str.setChildren(listChildren); + getChildList(listChildren); + }); + } + public void getChildLists(List list) { + list.forEach(str -> { + String sid = str.getSid(); + String name =str.getName(); + List listChildren = baseMapper.selectChildernList(sid); + for(SysMenuTreeVo v:listChildren){ + v.setPName(name); + } + str.setChildren(listChildren); + getChildList(listChildren); + }); + } + + /*暂时废弃*/ + /*private List getChildrensForMenuTree(List sysMenuVoList) { + List list = new ArrayList<>(); + for (SysMenuTreeVo s : sysMenuVoList) { + SysMenu sysMenu = sysMenuService.fetchBySid(s.getMenuRootSid()); + SysMenuTreeVo sysMenuTreeVo = new SysMenuTreeVo(); + BeanUtil.copyProperties(sysMenu, sysMenuTreeVo); + list.add(sysMenuTreeVo); + } + for (SysMenuTreeVo s : list) { + getChildrensForMenuTree(s, s.getSid()); + } + return list; + } + private void getChildrensForMenuTree(SysMenuTreeVo s,String sid){ + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(sid)) { + qw.eq("menu.pSid", sid); + } + List sysMenuVos = baseMapper.getChildrensForMenuTree(qw); + if(!sysMenuVos.isEmpty()){ + for(SysMenuTreeVo smv:sysMenuVos){ + getChildrensForMenuTree(smv,smv.getSid()); + } + } + s.setChildren(sysMenuVos); + } + private void getChildrens(SysMenuVo s){ + String sid = s.getSid(); + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(sid)) { + qw.eq("menu.pSid", sid); + } + List sysMenuVos = baseMapper.selectListAllVo(qw); + if(!sysMenuVos.isEmpty()){ + for(SysMenuVo smv:sysMenuVos){ + getChildrens(smv); + } + } + s.setChildren(sysMenuVos); + }*/ + public List listVo() { + return baseMapper.selectListVo(); + } + + /* public void saveOrUpdateDto(SysMenuDto dto) { + SysMenu entity = new SysMenu(); + dto.fillEntity(entity); + SysSourceMenu sysSourceMenu = new SysSourceMenu(); + sysSourceMenu.setMenuSid(entity.getSid()); + sysSourceMenu.setSourceSid(dto.getSourceSid()); + setRootSid(entity, sysSourceMenu); + sysSourceMenuService.save(sysSourceMenu); + this.saveOrUpdate(entity); + }*/ + + private void setRootSid(SysMenu entity, SysSourceMenu sysSourceMenu) { + String pSid = entity.getPSid(); + if ("0".equals(pSid)) { + sysSourceMenu.setMenuRootSid(entity.getSid()); + } else { + SysMenu sysMenu = sysMenuService.fetchBySid(pSid); + String pSid1 = sysMenu.getPSid(); + if ("0".equals(pSid1)) { + sysSourceMenu.setMenuRootSid(sysMenu.getSid()); + } + setRootSid(sysMenu, sysSourceMenu); + } + } + public SysMenuVo fetchByIdVo(String id) { + SysMenu entity = this.fetchById(id); + SysMenuVo vo = new SysMenuVo(); + BeanUtil.copyProperties(entity, vo); + return vo; + } + + public List listAllByRoleSid(SysMenuQuery query) { + + List sysMenuVos = baseMapper.listAllParentByRoleSid(query.getRoleSid(), "0", query.getSourceSid()); + for (SysMenuVo s : sysMenuVos) { + getChildrensByRoleSid(s, query.getRoleSid(), query.getSourceSid()); + } + return sysMenuVos; + } + + private void getChildrensByRoleSid(SysMenuVo s, String roleSid, String sourceSid) { + String sid = s.getSid(); + List sysMenuVos = baseMapper.listAllParentByRoleSid(roleSid, sid, sourceSid); + if (!sysMenuVos.isEmpty()) { + for (SysMenuVo smv : sysMenuVos) { + getChildrensByRoleSid(smv, roleSid, sourceSid); + } + } + s.setChildren(sysMenuVos); + } + + /*public List listAllVoBySourceSId(SysMenuQuery query) { + SysSource sysSource = sysSourceService.fetchBySid(query.getSourceSid()); + List sysSourceVos = new ArrayList<>();//sysSourceService.listAllVoBySourceSId(query.getSourceSid()); + SysMenuTreeVo smtv=new SysMenuTreeVo(); + smtv.setName(sysSource.getSourceName()); + smtv.setSid(sysSource.getSid()); + smtv.setSourceSid(sysSource.getSid()); + sysSourceVos.add(smtv); + for(SysMenuTreeVo s:sysSourceVos){ + List sysMenuVoList=sysSourceMenuService.fetchRootMenuBySourceSid(s.getSourceSid()); + if(!sysMenuVoList.isEmpty()){ + sysMenuVoList = getChildrensForMenuTree(sysMenuVoList); + } + s.setChildren(sysMenuVoList); + } + return sysSourceVos; + }*/ + + /** + * 资源菜单树形列表 + * + * @return 资源菜单树形列表(第一级一级菜单 第二级二级菜单) + */ + public List> getSourceMenuTree(List list_menu, Map map_selectMenus) { + + //获取当前资源的菜单列表 + List> list_menus_map = new ArrayList>(); + + + //获取资源第一级菜单列表 + List list_firstLevel_menu = list_menu.stream().filter(s -> s.getPSid().equals("0")).collect(Collectors.toList()); + + //遍历资源的第一级菜单 + for (int i = 0; i < list_firstLevel_menu.size(); i++) { + Map map_firstLevel_menu = getMenuTreeFromStream(list_firstLevel_menu.get(i).getSid(), list_menu, map_selectMenus); + //把该菜单挂在当前菜单列表中 + if (null != map_firstLevel_menu) + list_menus_map.add(map_firstLevel_menu); + } + return list_menus_map; + + } + + /** + * 递归把list转换成菜单树形列表 + * + * @param psid + * @param list_menu + * @return + */ + private Map getMenuTreeFromStream(String psid, List list_menu, Map map_selectMenus) { + //获取当前菜单 + List list_current_menu = list_menu.stream().filter(s -> s.getSid().equals(psid)).collect(Collectors.toList()); + if (null == list_current_menu || 0 == list_current_menu.size()) + return null; + + Map map_menu = getMenuMap(list_current_menu.get(0), map_selectMenus); + + //2.获取菜单的子菜单列表 + //存储最终子菜单列表结果 + List> list_child = new ArrayList>(); + + //获取子菜单列表 + List list_child_menu = list_menu.stream().filter(s -> s.getPSid().equals(psid)).collect(Collectors.toList()); + for (int i = 0; i < list_child_menu.size(); i++) { + //获取该菜单子菜单列表 + Map map_child_menu = getMenuTreeFromStream(list_child_menu.get(i).getSid(), list_menu, map_selectMenus); + //把该菜单挂在当前菜单列表中 + if (null != map_child_menu) + list_child.add(map_child_menu); + } + //把该菜单列表放到父菜单的childMenus中 + map_menu.put("children", list_child); + + return map_menu; + + } + + /** + * 构造菜单的结果map + * + * @return + */ + private Map getMenuMap(SysMenuRoleVo menuVo, Map map_selectMenus) { + Map map_menu = new HashMap(); + + if (null != map_selectMenus) { + //角色授权时,菜单列表 + map_menu.put("sid", menuVo.getSid()); + map_menu.put("menuName", menuVo.getMenuName() + (StringUtils.isNotBlank(menuVo.getRemarks()) ? "(" + menuVo.getRemarks() + ")" : "")); + map_menu.put("menuUrl", menuVo.getMenuUrl()); + map_menu.put("pageUrl", menuVo.getPageUrl()); + map_menu.put("iconUrl", menuVo.getIconUrl()); + map_menu.put("isShow", menuVo.getIsShow()); + if (menuVo.getAlwaysShow() == 0) { + map_menu.put("alwaysShow", false); + } else if (menuVo.getAlwaysShow() == 1) { + map_menu.put("alwaysShow", true); + } + + //如果角色已有的菜单,则设置选中,并移除map中的项;否则设置不选中 + if (map_selectMenus.containsKey(menuVo.getSid())) { + map_menu.put("isCheck", 1); + map_selectMenus.remove(menuVo.getSid()); + } else { + map_menu.put("isCheck", 0); + } + } else { + //左侧菜单列表 + Map map_meta = new HashMap(); + map_meta.put("title", menuVo.getMenuName()); + map_meta.put("icon", menuVo.getIconUrl()); + map_menu.put("meta", map_meta); + + map_menu.put("redirect", menuVo.getPageUrlRedirect()); + //路径 + map_menu.put("path", menuVo.getPageUrl() != null && !menuVo.getPageUrl().equals("") ? menuVo.getPageUrl() : "/" + menuVo.getPageName()); + map_menu.put("name", menuVo.getPageAliasName() != null && !menuVo.getPageAliasName().equals("") ? menuVo.getPageAliasName() : menuVo.getPageUrl()); + //组件名 + map_menu.put("component", menuVo.getPageName()); + if (menuVo.getAlwaysShow() == 0) { + map_menu.put("alwaysShow", false); + } else if (menuVo.getAlwaysShow() == 1) { + map_menu.put("alwaysShow", true); + } + } + return map_menu; + } + + /** + * 将该资源下的所有菜单设置为是否可用 + * + * @param sid 资源sid + * @param isEnable 是否可用:1可用,0不可用 + * @return + */ + public int updateBySourceSid(String sid, Integer isEnable) { + return baseMapper.updateBySourceSid(sid, isEnable); + } + + public void saveMenu(SysMenuDto dto) { + SysMenu entity = new SysMenu(); + dto.fillEntity(entity); +// SysSourceMenu sysSourceMenu = new SysSourceMenu(); +// sysSourceMenu.setMenuSid(entity.getSid()); +// sysSourceMenu.setSourceSid(dto.getSourceSid()); + String psid=entity.getPSid(); + if("".equals(psid) | null==psid){ + entity.setPSid("0"); + } +// setRootSid(entity, sysSourceMenu); +// sysSourceMenuService.save(sysSourceMenu); + save(entity); + } +} \ No newline at end of file diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysmenurole/CyfSysMenuRoleMapper.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysmenurole/CyfSysMenuRoleMapper.java new file mode 100644 index 0000000..858cdd3 --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysmenurole/CyfSysMenuRoleMapper.java @@ -0,0 +1,48 @@ +package com.yxt.supervise.gf.biz.sysmenurole; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.supervise.gf.api.sysmenurole.SysMenuRole; +import com.yxt.supervise.gf.api.sysmenurole.SysMenuRoleVo; +import org.apache.ibatis.annotations.Delete; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuRoleMapper.java
+ * Class: SysMenuRoleMapper
+ * Description: 菜单与角色关联表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Mapper +public interface CyfSysMenuRoleMapper extends BaseMapper { + + //@Update("update sys_menu_role set name=#{msg} where id=#{id}") + //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + + List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); + + @Select("select * from sys_menu_role") + List selectListVo(); + + @Delete("delete from sys_menu_role where roleSid=#{roleSid}") + void delByRoleSid(@Param("roleSid") String roleSid); + + List list(@Param(Constants.WRAPPER) QueryWrapper qw); +} \ No newline at end of file diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysmenurole/CyfSysMenuRoleMapper.xml b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysmenurole/CyfSysMenuRoleMapper.xml new file mode 100644 index 0000000..f4f66de --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysmenurole/CyfSysMenuRoleMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + \ No newline at end of file diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysmenurole/CyfSysMenuRoleRest.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysmenurole/CyfSysMenuRoleRest.java new file mode 100644 index 0000000..c9b6761 --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysmenurole/CyfSysMenuRoleRest.java @@ -0,0 +1,126 @@ +package com.yxt.supervise.gf.biz.sysmenurole; + +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.supervise.gf.api.sysmenurole.SysMenuRole; +import com.yxt.supervise.gf.api.sysmenurole.SysMenuRoleDto; +import com.yxt.supervise.gf.api.sysmenurole.SysMenuRoleQuery; +import com.yxt.supervise.gf.api.sysmenurole.SysMenuRoleVo; +import com.yxt.supervise.gf.api.sysrole.SysRole; +import com.yxt.supervise.gf.biz.sysrole.CyfSysRoleService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuRoleFeignFallback.java
+ * Class: SysMenuRoleRest
+ * Description: 菜单与角色关联表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "菜单与角色关联表") +@RestController +@RequestMapping("cyf/sysmenurole") +public class CyfSysMenuRoleRest { + + @Autowired + private CyfSysMenuRoleService sysMenuRoleService; + @Autowired + private CyfSysRoleService sysRoleService; + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq){ + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = sysMenuRoleService.listPageVo(pq); + return rb.success().setData(pv); + } + + @ApiOperation("根据条件查询所有数据列表") + @PostMapping("/listAll") + public ResultBean> listAll(@RequestBody SysMenuRoleQuery query){ + ResultBean rb = ResultBean.fireFail(); + List list = sysMenuRoleService.listAllVo(query); + return rb.success().setData(list); + } + + @ApiOperation("所有数据列表") + @GetMapping("/list") + public ResultBean> list(){ + ResultBean rb = ResultBean.fireFail(); + List list = sysMenuRoleService.listVo(); + return rb.success().setData(list); + } + + @ApiOperation("新增保存") + @PostMapping("/save") + public ResultBean save(@RequestBody SysMenuRoleDto dto){ + ResultBean rb = ResultBean.fireFail(); + sysMenuRoleService.saveOrUpdateDto(dto); + return rb.success(); + } + + @ApiOperation("修改保存") + @PostMapping("/update/{sid}") + public ResultBean update(@RequestBody SysMenuRoleDto dto,@PathVariable String sid){ + ResultBean rb = ResultBean.fireFail(); + sysMenuRoleService.updateBySid(dto.toMap(),sid); + return rb.success(); + } + + @ApiOperation("修改角色的菜单配置") + @PostMapping("/updateRoleAndMenu") + public ResultBean updateRoleAndMenu(@RequestBody SysMenuRoleDto dto) { + String roleSid=dto.getRoleSid(); + String menuSid=dto.getMenuSid(); + if(StringUtils.isBlank(roleSid)){ + return ResultBean.fireFail().setMessage("角色sid不能为空"); + }else{ + SysRole sysRole = sysRoleService.fetchBySid(roleSid); + if(sysRole==null||StringUtils.isBlank(sysRole.getSid())){ + return ResultBean.fireFail().setMessage("角色sid不存在"); + } + } + sysMenuRoleService.delByRoleSid(roleSid); + ResultBean rb = ResultBean.fireFail(); + if(!StringUtils.isBlank(menuSid)){ + String[] sids = menuSid.split(","); + for(String sid:sids){ + SysMenuRole sysMenuRole = new SysMenuRole(); + sysMenuRole.setRoleSid(roleSid); + sysMenuRole.setMenuSid(sid); + sysMenuRoleService.save(sysMenuRole); + } + } + return rb.success(); + } + + @ApiOperation("删除记录") + @GetMapping("/del/{ids}") + public ResultBean del(@PathVariable String ids){ + ResultBean rb = ResultBean.fireFail(); + sysMenuRoleService.delByIds(ids); + return rb.success(); + } + + @ApiOperation("获取一条记录") + @GetMapping("/fetch/{id}") + public ResultBean fetch(@PathVariable String id){ + ResultBean rb = ResultBean.fireFail(); + SysMenuRoleVo vo = sysMenuRoleService.fetchByIdVo(id); + return rb.success().setData(vo); + } +} diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysmenurole/CyfSysMenuRoleService.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysmenurole/CyfSysMenuRoleService.java new file mode 100644 index 0000000..11de76f --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysmenurole/CyfSysMenuRoleService.java @@ -0,0 +1,168 @@ +package com.yxt.supervise.gf.biz.sysmenurole; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.supervise.gf.api.sysmenurole.SysMenuRole; +import com.yxt.supervise.gf.api.sysmenurole.SysMenuRoleDto; +import com.yxt.supervise.gf.api.sysmenurole.SysMenuRoleQuery; +import com.yxt.supervise.gf.api.sysmenurole.SysMenuRoleVo; +import com.yxt.supervise.gf.biz.sysmenu.CyfSysMenuService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuRoleService.java
+ * Class: SysMenuRoleService
+ * Description: 菜单与角色关联表 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class CyfSysMenuRoleService extends MybatisBaseService { + @Autowired + private CyfSysMenuService sysMenuService; + + public PagerVo listPage(PagerQuery pq) { + SysMenuRoleQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public List listAll(SysMenuRoleQuery query) { + QueryWrapper qw = createQueryWrapper(query); + return baseMapper.selectList(qw); + } + + private QueryWrapper createQueryWrapper(SysMenuRoleQuery query) { + // todo: 这里根据具体业务调整查询条件 + // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); + QueryWrapper qw = new QueryWrapper<>(); + + + if (StringUtils.isNotBlank(query.getMenuSid())) { + qw.eq("menuSid", query.getMenuSid()); + } + + if (StringUtils.isNotBlank(query.getRoleSid())) { + qw.eq("roleSid", query.getRoleSid()); + } + return qw; + } + + public PagerVo listPageVo(PagerQuery pq) { + SysMenuRoleQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public List listAllVo(SysMenuRoleQuery query) { + QueryWrapper qw = createQueryWrapper(query); + return baseMapper.selectListAllVo(qw); + } + + public List listVo() { + return baseMapper.selectListVo(); + } + + public void saveOrUpdateDto(SysMenuRoleDto dto) { + SysMenuRole entity = new SysMenuRole(); + dto.fillEntity(entity); + this.saveOrUpdate(entity); + } + + public SysMenuRoleVo fetchByIdVo(String id) { + SysMenuRole entity = this.fetchById(id); + SysMenuRoleVo vo = new SysMenuRoleVo(); + BeanUtil.copyProperties(entity, vo); + return vo; + } + + public void delByRoleSid(String roleSid) { + baseMapper.delByRoleSid(roleSid); + } + + // 不分页列表 + public List list(SysMenuRoleQuery query) { + // mybits所用的查询条件封装类 + QueryWrapper qw = buildQueryWrapper(query); + return baseMapper.list(qw); + } + + /** + * 解析和组装查询条件,封装在qw中 + * + * @param query + * @return + */ + private QueryWrapper buildQueryWrapper(SysMenuRoleQuery query) { + QueryWrapper qw = new QueryWrapper<>(); + if (query != null) { + if (StringUtils.isNotBlank(query.getSourceSid())) { + qw.eq("m.sourceSid", query.getSourceSid()); + } + /*if (org.apache.commons.lang3.StringUtils.isNotBlank(query.getRoleSid())) { + qw.in("rm.roleSid", query.getRoleSid()); + }*/ + if (StringUtils.isNotBlank(query.getIsAdmin())) { + if (!query.getIsAdmin().equals("1")){ + qw.eq("m.isEnable", 1); + } + } + + if (query.getRoleSids() != null && query.getRoleSids().size() > 0) { + qw.in("rm.roleSid", query.getRoleSids()); + } + qw.eq("m.isShow", 1); + qw.orderByAsc("m.sortNo"); + } + + return qw; + + } + + /** + * 资源菜单树形列表 + * + * @param query:roleSids,sourceSid + * @return 资源菜单树形列表(第一级一级菜单 第二级二级菜单) + */ + public List> getSourceMenuTreeOfRoles(SysMenuRoleQuery query, Map map_rolemenus) { + + //获取当前资源的菜单列表 + List> list_menus_map = new ArrayList>(); + if (null == query) + return list_menus_map; + + //角色s的某个资源的所有菜单列表 + List list_menu = list(query); + list_menus_map = sysMenuService.getSourceMenuTree(list_menu, map_rolemenus); + + return list_menus_map; + + } + ///----获平台角色s的某个资源的菜单树形列表(内存操作) 开始---- + + +} \ No newline at end of file diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysrole/CyfSysRoleMapper.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysrole/CyfSysRoleMapper.java new file mode 100644 index 0000000..a691a72 --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysrole/CyfSysRoleMapper.java @@ -0,0 +1,62 @@ +package com.yxt.supervise.gf.biz.sysrole; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.supervise.gf.api.sysrole.SysRole; +import com.yxt.supervise.gf.api.sysrole.SysRoleVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/6/8 14:06 + */ +@Mapper +public interface CyfSysRoleMapper extends BaseMapper { + //@Update("update sys_role set name=#{msg} where id=#{id}") + //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + @Select("select * from sys_role s left join sys_user_role r on r.roleSid = s.sid where r.userSid=#{sid}") + List roleList(@Param("sid")String sid); + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + + List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); + + @Select("select * from sys_role") + List selectListVo(); + + List fetchByUserSid(String userSid); + + List listAllByUserSid(String userSid); + + SysRole fetchByName(String name); + + int deleteBatchSids(List list); + + int deleteBySid(String valueOf); + + SysRoleVo fetchBySid(String sid); + + int updateIsEnable(@Param("sid") String sid, @Param("isEnable") String isEnable); + + String getLevelType(String roleSid); + + String selectRoleSid(String userRoleSid); + + String selectByUserSid(String sid); + + List selectByUser(String userSid); + @Select("SELECT\n" + + "\t* \n" + + "FROM\n" + + "\tsys_user u\n" + + "\tLEFT JOIN sys_user_role r ON u.sid = r.userSid\n" + + "\tLEFT JOIN sys_role o ON o.sid = r.roleSid \n" + + "WHERE\n" + + "\tu.sid = #{userSid} ") + List getRoleList (@Param("userSid") String userSid); +} diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysrole/CyfSysRoleMapper.xml b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysrole/CyfSysRoleMapper.xml new file mode 100644 index 0000000..5314933 --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysrole/CyfSysRoleMapper.xml @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + DELETE + FROM sys_role WHERE sid IN + + #{sid} + + + + DELETE + FROM sys_role + WHERE sid = #{sid} + + + + UPDATE sys_role + SET isEnable = #{isEnable} + WHERE sid = #{sid} + + + + + + + + + + \ No newline at end of file diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysrole/CyfSysRoleRest.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysrole/CyfSysRoleRest.java new file mode 100644 index 0000000..57c81f4 --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysrole/CyfSysRoleRest.java @@ -0,0 +1,159 @@ +package com.yxt.supervise.gf.biz.sysrole; + +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.supervise.gf.api.sysrole.SysRole; +import com.yxt.supervise.gf.api.sysrole.SysRoleDto; +import com.yxt.supervise.gf.api.sysrole.SysRoleQuery; +import com.yxt.supervise.gf.api.sysrole.SysRoleVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/6/8 14:07 + */ +@Api(tags = "角色") +@RestController +@RequestMapping("cyf/sysrole") +public class CyfSysRoleRest { + @Autowired + private CyfSysRoleService sysRoleService; + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq){ + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = sysRoleService.listPageVo(pq); + return rb.success().setData(pv); + } + + @ApiOperation("根据条件查询所有数据列表") + @PostMapping("/listAll") + public ResultBean> listAll(@RequestBody SysRoleQuery query){ + ResultBean rb = ResultBean.fireFail(); + List list = sysRoleService.listAllVo(query); + return rb.success().setData(list); + } + + @ApiOperation("查询所有的角色数据,并根据用户sid查询被选中的角色") + @PostMapping("/listAllByUserSid/{userSid}") + public ResultBean> listAllByUserSid(@PathVariable String userSid) { + ResultBean rb = ResultBean.fireFail(); + List list = sysRoleService.listAllByUserSid(userSid); + return rb.success().setData(list); + } + + @ApiOperation("根据用户sid查询用户的角色列表") + @PostMapping("/fetchByUserSid/{userSid}") + public ResultBean> fetchByUserSid(@PathVariable String userSid) { + if(StringUtils.isBlank(userSid)){ + return new ResultBean>().fail().setMsg("userSid不能为空"); + } + ResultBean rb = ResultBean.fireFail(); + List list = sysRoleService.fetchByUserSid(userSid); + return rb.success().setData(list); + } + + @ApiOperation("所有数据列表") + @GetMapping("/list") + public ResultBean> list(){ + ResultBean rb = ResultBean.fireFail(); + List list = sysRoleService.listVo(); + return rb.success().setData(list); + } + + @ApiOperation("新增保存") + @PostMapping("/save") + public ResultBean save(@RequestBody SysRoleDto dto){ + String name = dto.getName(); + if(StringUtils.isBlank(name)){ + return new ResultBean>().fail().setMsg("角色名称不能为空!"); + }else{ + SysRoleVo sysRoleVo = sysRoleService.fetchByName(name); + if(sysRoleVo.getName()!=null){ + return new ResultBean>().fail().setMsg("角色名称不能重复!"); + } + } + ResultBean rb = ResultBean.fireFail(); + sysRoleService.saveOrUpdateDto(dto); + return rb.success(); + } + + @ApiOperation("修改保存") + @PostMapping("/update/{sid}") + public ResultBean update(@RequestBody SysRoleDto dto,@PathVariable String sid){ + String roleName = dto.getName(); + if(StringUtils.isBlank(sid)){ + return new ResultBean>().fail().setMsg("角色sid不能为空!"); + } + if(StringUtils.isBlank(roleName)){ + return new ResultBean>().fail().setMsg("角色名称不能为空!"); + }else{ + SysRoleVo sysRoleVo = sysRoleService.fetchByName(roleName); + if(sysRoleVo.getName()!=null&&!sid.equals(sysRoleVo.getSid())){ + return new ResultBean>().fail().setMsg("角色名称不能重复!"); + } + } + ResultBean rb = ResultBean.fireFail(); + sysRoleService.updateBySid(dto.toMap(),sid); + return rb.success(); + } + @ApiOperation("删除记录") + @GetMapping("/del/{ids}") + + public ResultBean del(@PathVariable String ids){ + ResultBean rb = ResultBean.fireFail(); + sysRoleService.delByIds(ids); + return rb.success(); + } + + @ApiOperation("删除记录根据sids") + @GetMapping("/delBySids/{sids}") + public ResultBean delBySids(@PathVariable String sids) { + ResultBean rb = ResultBean.fireFail(); + sysRoleService.delBySids(sids); + return rb.success(); + } + + @ApiOperation("获取一条记录") + @GetMapping("/fetch/{id}") + public ResultBean fetch(@PathVariable String id){ + ResultBean rb = ResultBean.fireFail(); + SysRoleVo vo = sysRoleService.fetchByIdVo(id); + return rb.success().setData(vo); + } + @ApiOperation("获取一条记录根据sid") + @GetMapping("/fetchBySid/{sid}") + + public ResultBean fetchBySid(@PathVariable String sid) { + ResultBean rb = ResultBean.fireFail(); + SysRoleVo vo = sysRoleService.fetchBySidVo(sid); + if (StringUtils.isBlank(vo.getSid())) { + return rb.success().setData(null); + } + return rb.success().setData(vo); + } + + @PostMapping("/setIsEnable/{sid}/{isEnable}") + @ResponseBody + @ApiOperation(value = "设置是否可用:isEnable:1可用,0不可用") + public ResultBean setIsEnable(@PathVariable String sid, @PathVariable String isEnable) { + SysRole role = sysRoleService.fetchBySid(sid); + if (role == null) { + return ResultBean.fireFail().setMsg("此角色已不存在"); + } + int i = sysRoleService.updateIsEnable(sid, isEnable); + if (i == 0) { + return ResultBean.fireFail().setMsg("设置失败"); + } + return ResultBean.fireSuccess().setMsg("设置成功"); + } + +} diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysrole/CyfSysRoleService.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysrole/CyfSysRoleService.java new file mode 100644 index 0000000..a6cbda7 --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysrole/CyfSysRoleService.java @@ -0,0 +1,160 @@ +package com.yxt.supervise.gf.biz.sysrole; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.supervise.gf.api.sysrole.SysRole; +import com.yxt.supervise.gf.api.sysrole.SysRoleDto; +import com.yxt.supervise.gf.api.sysrole.SysRoleQuery; +import com.yxt.supervise.gf.api.sysrole.SysRoleVo; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/6/8 14:07 + */ +@Service +public class CyfSysRoleService extends MybatisBaseService { + + public List roleVoList(String sid){ + return baseMapper.roleList(sid); + } + public PagerVo listPage(PagerQuery pq) { + SysRoleQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public List listAll(SysRoleQuery query) { + QueryWrapper qw = createQueryWrapper(query); + return baseMapper.selectList(qw); + } + + private QueryWrapper createQueryWrapper(SysRoleQuery query) { + // todo: 这里根据具体业务调整查询条件 + // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); + QueryWrapper qw = new QueryWrapper<>(); + + + if (StringUtils.isNotBlank(query.getName())) { + qw.like("sr.name", query.getName()); + } + + if (query.getSort() != null) { + qw.eq("sr.sort", query.getSort()); + } + + if (StringUtils.isNotBlank(query.getCode())) { + qw.eq("sr.code", query.getCode()); + } + + if (query.getType() != null) { + qw.eq("sr.type", query.getType()); + } + return qw; + } + + public PagerVo listPageVo(PagerQuery pq) { + SysRoleQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public List listAllVo(SysRoleQuery query) { + QueryWrapper qw = createQueryWrapper(query); + return baseMapper.selectListAllVo(qw); + } + + public List listVo() { + return baseMapper.selectListVo(); + } + + public void saveOrUpdateDto(SysRoleDto dto) { + SysRole entity = new SysRole(); + dto.fillEntity(entity); + this.saveOrUpdate(entity); + } + + public SysRoleVo fetchByIdVo(String id) { + SysRole entity = this.fetchById(id); + SysRoleVo vo = new SysRoleVo(); + BeanUtil.copyProperties(entity, vo); + return vo; + } + + public List fetchByUserSid(String userSid) { + return baseMapper.fetchByUserSid(userSid); + } + + public List listAllByUserSid(String userSid) { + return baseMapper.listAllByUserSid(userSid); + } + + public SysRoleVo fetchByName(String name) { + SysRole entity = baseMapper.fetchByName(name); + SysRoleVo vo = new SysRoleVo(); + BeanUtil.copyProperties(entity, vo); + return vo; + } + + /** + * 描述 : <描述函数实现的功能>.
+ *

+ * + * @param sids + * @return + */ + public int delBySids(String sids) { + String[] split = sids.split(","); + if (split.length < 1) { + return 0; + } else if (split.length == 1) { + return baseMapper.deleteBySid(sids); + } else { + List list = new ArrayList<>(); + for (String sid : split) { + list.add(sid); + } + return baseMapper.deleteBatchSids(list); + } + } + + public SysRoleVo fetchBySidVo(String sid) { + SysRoleVo vo = baseMapper.fetchBySid(sid); + return vo; + } + + public int updateIsEnable(String sid, String isEnable) { + return baseMapper.updateIsEnable(sid, isEnable); + } + + public String getLevelType(String roleSid) { + return baseMapper.getLevelType(roleSid); + } + + public String selectRoleSid(String userRoleSid) { + return baseMapper.selectRoleSid(userRoleSid); + } + + public String selectByUserSid(String sid) { + return baseMapper.selectByUserSid(sid); + } + + public List selectByUser(String userSid) { + return baseMapper.selectByUser(userSid); + } +} diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/syssourcemenu/CyfSysSourceMenuMapper.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/syssourcemenu/CyfSysSourceMenuMapper.java new file mode 100644 index 0000000..8d07a17 --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/syssourcemenu/CyfSysSourceMenuMapper.java @@ -0,0 +1,63 @@ +package com.yxt.supervise.gf.biz.syssourcemenu; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.supervise.gf.api.sysmenu.SysMenuTreeVo; +import com.yxt.supervise.gf.api.syssourcemenu.SysSourceMenu; +import com.yxt.supervise.gf.api.syssourcemenu.SysSourceMenuVo; +import org.apache.ibatis.annotations.Delete; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuRoleMapper.java
+ * Class: SysMenuRoleMapper
+ * Description: 菜单与资源关联表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Mapper +public interface CyfSysSourceMenuMapper extends BaseMapper { + + //@Update("update sys_menu_role set name=#{msg} where id=#{id}") + //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); + + @Select("select * from sys_source_menu") + List selectListVo(); + + @Delete("delete from sys_source_menu where menuSid=#{menuSid}") + void delByMenuSid(@Param("menuSid") String roleSid); + + @Delete("delete from sys_source_menu where sourceSid=#{sourceSid}") + void delBySourceSid(@Param("sourceSid") String sourceSid); + + @Select("select * from sys_source_menu where menuSid=#{menuSid}") + SysSourceMenu fetchByMenuSid(@Param("menuSid") String menuSid); + + /** + * 菜单列表 + * + * @param sourceSid 资源sid + * @return + */ + List fetchRootMenuBySourceSid(@Param("sourceSid") String sourceSid); + List fetchRootMenu(); + +} \ No newline at end of file diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/syssourcemenu/CyfSysSourceMenuMapper.xml b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/syssourcemenu/CyfSysSourceMenuMapper.xml new file mode 100644 index 0000000..78996f1 --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/syssourcemenu/CyfSysSourceMenuMapper.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/syssourcemenu/CyfSysSourceMenuRest.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/syssourcemenu/CyfSysSourceMenuRest.java new file mode 100644 index 0000000..325cc9c --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/syssourcemenu/CyfSysSourceMenuRest.java @@ -0,0 +1,94 @@ +package com.yxt.supervise.gf.biz.syssourcemenu; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.supervise.gf.api.syssourcemenu.SysSourceMenuDto; +import com.yxt.supervise.gf.api.syssourcemenu.SysSourceMenuQuery; +import com.yxt.supervise.gf.api.syssourcemenu.SysSourceMenuVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + + +/** + * Project: anrui_portal(门户建设)
+ * File: SysSourceMenuFeignFallback.java
+ * Class: com.yxt.anrui.portal.biz.SysSourceMenu.SysSourceMenuRest
+ * Description: 菜单与资源关联表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "菜单与资源关联表") +@RestController +@RequestMapping("cyf/syssourcemenu") +public class CyfSysSourceMenuRest { + + @Autowired + private CyfSysSourceMenuService sysSourceMenuService; + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq){ + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = sysSourceMenuService.listPageVo(pq); + return rb.success().setData(pv); + } + + @ApiOperation("根据条件查询所有数据列表") + @PostMapping("/listAll") + public ResultBean> listAll(@RequestBody SysSourceMenuQuery query){ + ResultBean rb = ResultBean.fireFail(); + List list = sysSourceMenuService.listAllVo(query); + return rb.success().setData(list); + } + + @ApiOperation("所有数据列表") + @GetMapping("/list") + public ResultBean> list(){ + ResultBean rb = ResultBean.fireFail(); + List list = sysSourceMenuService.listVo(); + return rb.success().setData(list); + } + + @ApiOperation("新增保存") + @PostMapping("/save") + public ResultBean save(@RequestBody SysSourceMenuDto dto){ + ResultBean rb = ResultBean.fireFail(); + sysSourceMenuService.saveOrUpdateDto(dto); + return rb.success(); + } + + @ApiOperation("修改保存") + @PostMapping("/update/{sid}") + public ResultBean update(@RequestBody SysSourceMenuDto dto,@PathVariable String sid){ + ResultBean rb = ResultBean.fireFail(); + sysSourceMenuService.updateBySid(dto.toMap(),sid); + return rb.success(); + } + + + @ApiOperation("删除记录") + @GetMapping("/del/{ids}") + public ResultBean del(@PathVariable String ids){ + ResultBean rb = ResultBean.fireFail(); + sysSourceMenuService.delByIds(ids); + return rb.success(); + } + + @ApiOperation("获取一条记录") + @GetMapping("/fetch/{id}") + public ResultBean fetch(@PathVariable String id){ + ResultBean rb = ResultBean.fireFail(); + SysSourceMenuVo vo = sysSourceMenuService.fetchByIdVo(id); + return rb.success().setData(vo); + } +} diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/syssourcemenu/CyfSysSourceMenuService.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/syssourcemenu/CyfSysSourceMenuService.java new file mode 100644 index 0000000..7de6d57 --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/syssourcemenu/CyfSysSourceMenuService.java @@ -0,0 +1,116 @@ +package com.yxt.supervise.gf.biz.syssourcemenu; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.supervise.gf.api.sysmenu.SysMenuTreeVo; +import com.yxt.supervise.gf.api.syssourcemenu.SysSourceMenu; +import com.yxt.supervise.gf.api.syssourcemenu.SysSourceMenuDto; +import com.yxt.supervise.gf.api.syssourcemenu.SysSourceMenuQuery; +import com.yxt.supervise.gf.api.syssourcemenu.SysSourceMenuVo; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.util.List; + + +/** + * Project: anrui_portal(门户建设)
+ * File: SysSourceMenuService.java
+ * Class: com.yxt.anrui.portal.biz.SysSourceMenu.SysSourceMenuService
+ * Description: 菜单与角色关联表 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class CyfSysSourceMenuService extends MybatisBaseService { + public PagerVo listPage(PagerQuery pq) { + SysSourceMenuQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + public List listAll(SysSourceMenuQuery query) { + QueryWrapper qw = createQueryWrapper(query); + return baseMapper.selectList(qw); + } + private QueryWrapper createQueryWrapper(SysSourceMenuQuery query) { + // todo: 这里根据具体业务调整查询条件 + // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); + QueryWrapper qw = new QueryWrapper<>(); + + + if (StringUtils.isNotBlank(query.getMenuSid())) { + qw.eq("menuSid", query.getMenuSid()); + } + + return qw; + } + + public PagerVo listPageVo(PagerQuery pq) { + SysSourceMenuQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public List listAllVo(SysSourceMenuQuery query) { + QueryWrapper qw = createQueryWrapper(query); + return baseMapper.selectListAllVo(qw); + } + + public List listVo() { + return baseMapper.selectListVo(); + } + + public void saveOrUpdateDto(SysSourceMenuDto dto){ + SysSourceMenu entity = new SysSourceMenu(); + dto.fillEntity(entity); + this.saveOrUpdate(entity); + } + + public SysSourceMenuVo fetchByIdVo(String id){ + SysSourceMenu entity = this.fetchById(id); + SysSourceMenuVo vo = new SysSourceMenuVo(); + BeanUtil.copyProperties(entity, vo); + return vo; + } + + public void delByMenuSid(String roleSid) { + baseMapper.delByMenuSid(roleSid); + } + + public SysSourceMenuVo fetchByMenuSid(String sid) { + SysSourceMenu entity = baseMapper.fetchByMenuSid(sid); + SysSourceMenuVo vo = new SysSourceMenuVo(); + BeanUtil.copyProperties(entity, vo); + return vo; + } + + /** + * 根据资源sid查询该资源下的所有菜单 + * + * @param sid 资源sid + * @return + */ + public List fetchRootMenuBySourceSid(String sid) { + return baseMapper.fetchRootMenuBySourceSid(sid); + } + public List fetchRootMenu() { + return baseMapper.fetchRootMenu(); + } + +} \ No newline at end of file diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysuser/CyfSysUserMapper.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysuser/CyfSysUserMapper.java new file mode 100644 index 0000000..ad0c01f --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysuser/CyfSysUserMapper.java @@ -0,0 +1,153 @@ +package com.yxt.supervise.gf.biz.sysuser; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.supervise.gf.api.sysuser.SysUser; +import com.yxt.supervise.gf.api.sysuser.SysUserInfoVo; +import com.yxt.supervise.gf.api.sysuser.SysUserVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; +import org.apache.ibatis.annotations.Update; + +import java.util.List; +import java.util.Map; + +/** + * @author wangpengfei + * @date 2023/5/4 14:37 + */ +@Mapper +public interface CyfSysUserMapper extends BaseMapper { + @Select("select count(userName) as userName from sys_user where userName=#{userName} and password=#{password}") + SysUserVo getUser(@Param("userName")String userName, @Param("password")String password); + @Select("SELECT\n" + + "\tu.* \n" + + "FROM\n" + + "\tsys_user u\n" + + "WHERE\n" + + "\tu.id = #{id}") + SysUserVo selectRoleById(@Param("id")String id); + + //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper ew, @Param("orgName") String orgName, @Param("userName") String userName); + + List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); + + @Select("SELECT user.*,staff.name FROM sys_user user left join sys_staffinfo staff on user.staffSid=staff.sid where user.isDelete=0") + List selectListVo(); + + public int updatePassword(String sid, String password); + public int deleteBySid(String sid); + + public int updatePasswordApp(String sid, String password); + + SysUser selectByUserName(String userName); + + SysUser selectByUserNameApp(String userName); + + SysUser selectByAppId(String appId); + + @Update("UPDATE sys_user SET appId=#{appId} WHERE sid=#{sid} and userType=1") + int updateAppId(@Param("sid") String sid, @Param("appId") String appId); + + @Update("UPDATE sys_user SET token=#{token} WHERE sid=#{sid}") + int updateToken(@Param("sid") String sid, @Param("token") String token); + + SysUser fetchByUserName(String userName); + + void delBySid(String sid); + + @Update("UPDATE sys_user SET headImage=#{headImage} WHERE sid=#{sid}") + int updateHeadImage(@Param("sid") String sid, @Param("headImage") String headImage); + + /** + * @param mobile 手机号 + * @param userType 用户类型 + * @description: 根据手机号和用户类型查询客户是否存在 + * @return: + * @Author: dimengzhe + * @Date: 2021/10/6 11:35 + */ + SysUser selectByMobileAndType(@Param("mobile") String mobile, @Param("userType") int userType); + + // @Select("SELECT * FROM sys_user WHERE staffSid=#{staffSid} and isDelete=0") + SysUserVo selectByStaffsid(@Param("staffSid") String staffSid); + + + @Update("update sys_user set isDelete=1 where isDelete=0 and userType=2 and userName=#{mobile}") + int delSysUserByMobile(@Param("mobile") String mobile); + + @Select("select sid from sys_user") + List selectAllUserSid(); + + + /** + * 根据用户sid查询用户的组织信息 + * + * @param userSid 用户的sid + * @return + */ + SysUserInfoVo selectUserInfoByUserSid(String userSid); + SysUserInfoVo selectUserInfoByUserSidOne(@Param("userSid") String userSid,@Param("orgSid") String orgSid); + + /** + * 根据员工sid更新用户的工号以及手机号 + * + * @param jobNumber 员工工号 + * @param mobile 手机号 + * @param sid 员工sid + * @return + */ + int updateByStaffSid(@Param("jobNumber") String jobNumber, @Param("mobile") String mobile, @Param("sid") String sid); + + /** + * 根据员工sid更新用户中的员工工号 + * + * @param jobNumber 员工工号 + * @param sid 员工sid + * @return + */ + int updateByStaSid(@Param("jobNumber") String jobNumber, @Param("sid") String sid); + + /** + * 根据手机号查询用户是否存在 + * + * @param mobile 手机号 + * @return + */ + SysUser selectByMobile(String mobile); + + int updateIsEnable(@Param("sid") String sid, @Param("isEnable") String isEnable); + + List getUsersByRoleSid(@Param("roleSid") String roleSid); + + List getUserByRole(@Param("roleSid") String roleSid, @Param("levelOrgSid") String levelOrgSid); + + List> getUserByOrgSid(@Param("orgSid") String orgSid, @Param("userSid") String userSid); + + List fetchBySids(@Param("sids")List sids); + + List getUserByRoleSid(String roleSid); + + /** + * 根据手机号解绑用户绑定的设备 + * @param mobile + * @return + */ + int updateAppIdByMobile(String mobile); + + /** + * 解绑所有用户绑定的设备 + * @return + */ + int updateAppIdAll(); + + String selectIdBySid(@Param("list") List stringList); + + List getUserMessageByRole(@Param("roleSid") String roleSid,@Param("levelOrgSid") String levelOrgSid, @Param("list") List stringList); + +} diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysuser/CyfSysUserMapper.xml b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysuser/CyfSysUserMapper.xml new file mode 100644 index 0000000..2fe2f2f --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysuser/CyfSysUserMapper.xml @@ -0,0 +1,403 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + update sys_user + set password=#{param2} + where sid = #{param1} + + + delete from sys_user + where sid = #{sid} + + + update sys_user + set password=#{param2} + where sid = #{param1} + and userType = 1 + + + delete + from sys_user + where sid = #{param1} + + + + + + + + + + + update sys_user + set userName = #{jobNumber}, + mobile = #{mobile} + where staffSid = #{sid} + + + + update sys_user + set userName = #{jobNumber} + where staffSid = #{sid} + + + + + + UPDATE sys_user + SET isEnable = #{isEnable} + WHERE sid = #{sid} + + + + + + + + + + + + + + update sys_user + set appId = NULL + where mobile = #{mobile} + + + + update sys_user + set appId = NULL + + + + + + \ No newline at end of file diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysuser/CyfSysUserRest.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysuser/CyfSysUserRest.java new file mode 100644 index 0000000..1372bfb --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysuser/CyfSysUserRest.java @@ -0,0 +1,494 @@ +package com.yxt.supervise.gf.biz.sysuser; + +import cn.dev33.satoken.stp.SaTokenInfo; +import cn.dev33.satoken.stp.StpUtil; +import cn.hutool.core.bean.BeanUtil; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import com.yxt.common.base.config.RedisUtil; +import com.yxt.common.base.utils.Encodes; +import com.yxt.common.base.utils.RegexUtil; +import com.yxt.common.core.result.ResultBean; +import com.yxt.supervise.gf.api.sysuser.*; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; +import java.util.Map; + +/** + * @author wangpengfei + * @date 2023/5/4 14:38 + */ +@Api(tags = "用户") +@RestController +@RequestMapping("gf/sys") +public class CyfSysUserRest { + + @Autowired + CyfSysUserService sysUserService; + @Autowired + private RedisUtil redisUtil; + + @ApiOperation("登录") + @PostMapping("/doLogin") + public ResultBean doLogin(@RequestBody SysUser user) { + ResultBean rb = new ResultBean(); + SysUserVo sysUserVo = sysUserService.getUser(user.getUserName(), user.getPassword()); + if (sysUserVo.getUserName().equals("1")) { + SysUser sysUser = sysUserService.getSysUser(user.getUserName(), user.getPassword()); + StpUtil.login(sysUser.getId()); + SaTokenInfo tokenInfo = StpUtil.getTokenInfo(); + System.out.println(StpUtil.getTokenName()); + System.out.println(StpUtil.getTokenValue()); + return rb.success().setData(tokenInfo); + //return SaResult.ok("登录成功"); + } else if (sysUserVo.getUserName().equals("0")) { + return rb.setMsg("账户不存在或者密码不正确"); + } + return rb.setMsg("登录失败"); + } + + /** + * 注销 + * + * @return + */ + @ApiOperation("退出登录") + @RequestMapping("/signOut") + public ResultBean logout() { + ResultBean rb = new ResultBean(); + StpUtil.logout(); + return rb.setMsg("退出成功"); + } + + @ApiOperation("根据id查询用户和角色信息") + @GetMapping("/getUserById/{id}") + public ResultBean getUserById(@PathVariable String id) { + ResultBean rb = new ResultBean(); + SysUserVo sysUser = sysUserService.getUserById(id); + return rb.success().setData(sysUser); + } + +// @ApiOperation("根据条件分页查询数据的列表 ") +// @PostMapping("/listPage") +// public ResultBean> listPage(@RequestBody PagerQuery pq) { +// ResultBean rb = ResultBean.fireFail();//roleSid +// PagerVo pv = sysUserService.listPageVo(pq); +// return rb.success().setData(pv); +// } + + @ApiOperation("根据条件查询所有数据列表") + @PostMapping("/listAll") + public ResultBean> listAll(@RequestBody SysUserQuery query) { + ResultBean rb = ResultBean.fireFail(); + List list = sysUserService.listAllVo(query); + return rb.success().setData(list); + } + + @ApiOperation("所有数据列表") + @GetMapping("/list") + public ResultBean> list() { + ResultBean rb = ResultBean.fireFail(); + List list = sysUserService.listVo(); + return rb.success().setData(list); + } + +// @ApiOperation("新增保存") +// @PostMapping("/save") +// public ResultBean save(SysUserDto dto) { +// ResultBean rb = ResultBean.fireFail(); +// //手机号 +// String mobile = dto.getMobile(); +// //姓名 +// String name = dto.getName(); +// //用户类型 +// int userType = dto.getUserType(); +// //部门sid +// String deptSid = dto.getDeptSid(); +// //岗位sid +// String postSid = dto.getPostSid(); +// //验证码 +// String verificationCode = dto.getVerificationCode(); +// +// if (StringUtils.isBlank(mobile)) { +// return new ResultBean().fail().setMsg("手机号不能为空"); +// } else { +// SysUser one = sysUserService.fetchByUserName(mobile); +// if (null != one) { +// return new ResultBean().fail().setMsg("手机号重复!`"); +// } +// } +// if (StringUtils.isBlank(name)) { +// return new ResultBean().fail().setMsg("姓名不能为空"); +// } +// if (userType == 0) { +// return new ResultBean().fail().setMsg("用户类型不能为空"); +// } +// //取消验证码 +//// if (StringUtils.isBlank(verificationCode)) { +//// return new ResultBean().fail().setMsg("验证码不能为空"); +//// } else { +//// Map stringObjectMap = sysUserService.mobileValidateRegister(mobile, verificationCode); +//// String code = stringObjectMap.get("code").toString(); +//// String details = stringObjectMap.get("details").toString(); +//// if (Tools.CODE_FAIL.equals(code)) { +//// return ResultBean.fireFail().setMessage(details).setMsg(details); +//// } +//// } +// //"15097329653"; +// String password = mobile.substring(5, 11); +// String md5 = Encodes.md5(password); +// SysStaffinfo ssi = new SysStaffinfo(); +// SysUser su = new SysUser(); +// dto.fillEntity(su); +// su.setStaffSid(ssi.getSid()); +// su.setUserName(mobile); +// su.setPassword(md5); +// su.setIsAdmin("1"); +// sysUserService.save(su); +// ssi.setName(name); +// ssi.setMobile(mobile); +// ssi.setPinYinName(PinYinUtils.getPinYinName(name)); +// ssi.setFirstPinYinLabel(PinYinUtils.getCharDuoPinYinChar(name)); +// //sysStaffinfoService.save(ssi); +// if (StringUtils.isNotBlank(deptSid)) { +// SysOrganization sysOrganization = sysOrganizationService.fetchBySid(deptSid); +// SysStaffOrg sso = new SysStaffOrg(); +// sso.setOrgName(sysOrganization.getName()); +// sso.setOrgSid(sysOrganization.getSid()); +// sso.setStaffSid(ssi.getSid()); +// sso.setOrgSidPath(sysOrganization.getOrgSidPath()); +// sso.setOrgNamePath(sysOrganization.getName()); +// sso.setManageType("3"); +// sysStaffOrgService.save(sso); +// } +// if (StringUtils.isNotBlank(postSid)) { +// SysPost sysPost = sysPostService.fetchBySid(postSid); +// SysStaffPost ssp = new SysStaffPost(); +// ssp.setStaffSid(ssi.getSid()); +// ssp.setOrgSid(deptSid); +// ssp.setPostSid(postSid); +// ssp.setStartDate(new Date()); +// ssp.setIsDepetHead(0); +// sysStaffPostService.save(ssp); +// } +// return rb.success(); +// } + + @ApiOperation("根据staffSid删除用户(逻辑删除)") + @PostMapping("/delSysUserByMobile") + public ResultBean delSysUserByMobile(String mobile) { + int i = sysUserService.delSysUserByMobile(mobile); + if (i == 0) { + return new ResultBean().fail().setMsg("删除失败"); + } + return new ResultBean().success().setMsg("删除成功"); + } + +// @ApiOperation("根据staffSid查询用户信息") +// @PostMapping("/getSysUserByMobile") +// public ResultBean getSysUserByMobile(String staffSid) { +// ResultBean rb = ResultBean.fireFail(); +// SysStaffinfoVo user = sysUserService.getSysUserByMobile(staffSid); +// return rb.success().setData(user); +// } + +// @ApiOperation("修改保存") +// @PostMapping("/update/{sid}") +// public ResultBean update(@RequestBody SysUserDto dto, @PathVariable String sid) { +// ResultBean rb = ResultBean.fireFail(); +// sysUserService.updateBySid(dto.toMap(), sid); +// //部门sid +// String deptSid = dto.getDeptSid(); +// //岗位sid +// String postSid = dto.getPostSid(); +// SysUser sysUser = sysUserService.fetchBySid(sid); +// SysStaffinfo ssi = sysStaffinfoService.fetchBySid(sysUser.getStaffSid()); +// ssi.setMobile(dto.getMobile()); +// ssi.setName(dto.getName()); +// sysStaffinfoService.updateById(ssi); +// if (StringUtils.isNotBlank(deptSid)) { +// SysOrganization sysOrganization = sysOrganizationService.fetchBySid(deptSid); +// sysStaffOrgService.deleteByStaffSid(sysUser.getStaffSid()); +// SysStaffOrg sso = new SysStaffOrg(); +// sso.setOrgName(sysOrganization.getName()); +// sso.setOrgSid(sysOrganization.getSid()); +// sso.setStaffSid(ssi.getSid()); +// sso.setOrgSidPath(sysOrganization.getOrgSidPath()); +// sso.setOrgNamePath(sysOrganization.getName()); +// sso.setManageType("3"); +// sysStaffOrgService.save(sso); +// } +// if (StringUtils.isNotBlank(postSid)) { +// SysPost sysPost = sysPostService.fetchBySid(postSid); +// sysStaffPostService.deleteByStaffSid(sysUser.getStaffSid()); +// SysStaffPost ssp = new SysStaffPost(); +// ssp.setStaffSid(ssi.getSid()); +// ssp.setOrgSid(deptSid); +// ssp.setPostSid(postSid); +// ssp.setStartDate(new Date()); +// ssp.setIsDepetHead(0); +// sysStaffPostService.save(ssp); +// } +// return rb.success(); +// } + + /** + * 修改密码(★) + * + * @param original 原始密码 + * @param password 密码 + * @param confirmPassword 确认密码 + * @return + */ + @PostMapping("/updatePassword") + @ApiOperation(value = "5、修改密码") + public ResultBean updatePassword(@PathVariable String original, @PathVariable String password, @PathVariable String confirmPassword, @PathVariable String userSid, HttpServletRequest httpServletRequest) { + //String token = httpServletRequest.getHeader("token"); + // 根据redisToken查询用户信息 + SysUser user = sysUserService.fetchBySid(userSid); + if (user == null) { + return ResultBean.fireFail().setMsg("抱歉,用户不存在"); + } + if (!password + .matches("^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[a-zA-Z0-9]{8,10}$")) { + return ResultBean.fireFail().setMsg("密码格式错误,必须为8至10位大小写字母和数字的组合"); + } + String newPassword = Encodes.md5(original); + if (!newPassword.equals(user.getPassword())) { + return ResultBean.fireFail().setMsg("原始密码输入错误"); + } + if (!password.equals(confirmPassword)) { + return ResultBean.fireFail().setMsg("密码和确认密码不一致"); + } + int i = sysUserService.updatePassword(user.getSid(), Encodes.md5(password)); + if (i == 0) { + return ResultBean.fireFail().setMsg("修改失败"); + } + //redisUtil.remove(token); + return ResultBean.fireSuccess().setMsg("修改成功"); + } + + @ApiOperation("删除记录") + @GetMapping("/del/{ids}") + public ResultBean del(String ids) { + ResultBean rb = ResultBean.fireFail(); + sysUserService.delByIds(ids); + return rb.success(); + } + + @ApiOperation("删除记录根据sid") + @GetMapping("/delBySid/{sid}") + public ResultBean delBySid(String sid) { + ResultBean rb = ResultBean.fireFail(); + sysUserService.delBySid(sid); + return rb.success(); + } + + @ApiOperation("根据用户名(手机号)查询用户") + @GetMapping("/fetchByMobile/{mobile}") + public ResultBean selectByUserName(String mobile) { + SysUser user = sysUserService.selectByUserName(mobile); + SysUserVo sysUserVo = new SysUserVo(); + BeanUtil.copyProperties(user, sysUserVo); + return new ResultBean().success().setData(sysUserVo); + } + + @ApiOperation("获取一条记录") + @GetMapping("/fetch/{id}") + public ResultBean fetch(String id) { + ResultBean rb = ResultBean.fireFail(); + SysUserVo vo = sysUserService.fetchByIdVo(id); + return rb.success().setData(vo); + } + + @ApiOperation("根据多个或者一个sid获取对应的用户集合") + @GetMapping("/fetchBySids/{sids}") + public ResultBean> fetchBySids(String sids) { + ResultBean rb = ResultBean.fireFail(); + List vo = sysUserService.fetchBySidSVo(sids); + return rb.success().setData(vo); + } + + @ApiOperation("客户端找回密码") + @PostMapping("/reGetPwd") + public ResultBean reGetPwd(String userName, String userPhone) { + return sysUserService.reGetPwd(userName, userPhone); + } + + @ResponseBody + @PostMapping("/initPwd/{sid}") + @ApiOperation(value = "10、用户初始化密码") + @ApiOperationSupport(order = 100) + public ResultBean initPwd(String sid) { + if (!sysUserService.initPwd(sid)) { + return ResultBean.fireFail().setMsg("初始化密码失败"); + } + return ResultBean.fireSuccess().setMsg("初始化密码成功"); + } + + @PostMapping("/signOut") + @ResponseBody + @ApiOperation(value = "退出登录") + @ApiOperationSupport(order = 30) + public ResultBean signOut(HttpServletRequest httpServletRequest) { + String token = httpServletRequest.getHeader("token"); + String redisToken = redisUtil.get(token); + if (StringUtils.isBlank(redisToken)) { + return ResultBean.fireSuccess().setMsg("您已退出,请刷新"); + } + redisUtil.remove(token); + return ResultBean.fireSuccess().setMsg("退出成功"); + } + + /** + * 获取验证码(注册)(★) + * + * @param mobile 手机号 + * @return ResultBean + */ + @ApiOperation("发送短信验证码") + @GetMapping("/sendMessageCode/{mobile}") + public ResultBean sendMessageCode(String mobile) { + if (StringUtils.isBlank(mobile) || !RegexUtil.isMobile(mobile)) { + return new ResultBean().fail().setMsg("请输入正确的手机号"); + } + String verificationCode = ""; + return sysUserService.getVerificationCode(mobile, verificationCode); + } + + @ApiOperation("根据staffsid查询用户") + @ResponseBody + @GetMapping("/selectByStaffsid/{staffsid}") + public ResultBean selectByStaffsid(String staffsid) { + SysUserVo user = sysUserService.selectByStaffsid(staffsid); + if (user != null) { + return new ResultBean().success().setData(user); + } else { + return new ResultBean().fail().setData(new SysUserVo()).setMsg("查无此用户"); + } + + } + + @ApiOperation("根据sid查询用户信息") + @PostMapping("/selectBySid") + public ResultBean selectBySid(String sid) { + ResultBean rb = ResultBean.fireFail(); + SysUser vo = sysUserService.fetchBySid(sid); + if (vo == null) { + vo = new SysUser(); + return rb.fail().setData(vo).setMsg("用户不存在"); + } + return rb.success().setData(vo); + } + + // @PostMapping(value = "/loginDetails", headers = "token") +// @ApiOperation("根据token值获取登录后的用户信息") +// public ResultBean loginDetails(HttpServletRequest httpServletRequest) { +// String token = httpServletRequest.getHeader("token"); +// if (StringUtils.isBlank(token)) { +// return new ResultBean().fail().setMsg("请重新登录"); +// } +// String userName = redisUtil.get(token); +// if (StringUtils.isBlank(userName)) { +// return new ResultBean().fail().setMsg("请重新登录"); +// } +// SysUser user = sysUserService.selectByUserName(userName); +// SysUserVo userInfoOneVo = sysUserService.selectUserOne(user); +// if (userInfoOneVo == null) { +// return new ResultBean().fail().setMsg("该用户不是公司员工"); +// } +// return new ResultBean().success().setData(userInfoOneVo); +// } + + /** + * 根据用户的sid查询该用户的组织信息 + * + * @param userSid 用户sid + * @return + */ + @ApiOperation(value = "根据用户的sid查询用户的组织信息") + @ResponseBody + @GetMapping("/selectUserInfoByUserSid/{userSid}") + public ResultBean selectUserInfoByUserSid(String userSid) { + ResultBean rb = ResultBean.fireFail(); + SysUserInfoVo sysUserInfoVo = sysUserService.selectUserInfoByUserSid(userSid); + if (sysUserInfoVo == null) { + return rb.setData(new SysUserInfoVo()).setMsg("该用户未设置所属部门"); + } + return rb.success().setData(sysUserInfoVo); + } + + @ApiOperation(value = "根据用户的sid查询用户的组织信息") + @ResponseBody + @GetMapping("/selectUserInfoByUserSid/{userSid}/{orgSid}") + public ResultBean selectUserInfoByUserSid(String userSid, String orgSid) { + ResultBean rb = ResultBean.fireFail(); + SysUserInfoVo sysUserInfoVo = sysUserService.selectUserInfoByUserSid(userSid, orgSid); + if (sysUserInfoVo == null) { + return rb.setData(new SysUserInfoVo()).setMsg("该用户未设置所属部门"); + } + return rb.success().setData(sysUserInfoVo); + } + + @PostMapping("/setIsEnable/{sid}/{isEnable}") + @ResponseBody + @ApiOperation(value = "设置是否可用:isEnable:1可用,0不可用") + public ResultBean setIsEnable(String sid, String isEnable) { + SysUser sysUser = sysUserService.fetchBySid(sid); + if (sysUser == null) { + return ResultBean.fireFail().setMsg("此角色已不存在"); + } + int i = sysUserService.updateIsEnable(sid, isEnable); + if (i == 0) { + return ResultBean.fireFail().setMsg("设置失败"); + } + return ResultBean.fireSuccess().setMsg("设置成功"); + } + + @ApiOperation("根据角色sid查询用户") + @GetMapping("/getUsersByRoleSid/{roleSid}") + public ResultBean getUsersByRoleSid(String roleSid) { + return sysUserService.getUsersByRoleSid(roleSid); + } + + @ApiOperation(value = "获取本机构链角色的用户") + @GetMapping(value = "getUserByRole") + public ResultBean> getUserByRole(UserQuery query) { + return sysUserService.getUserByRole(query); + } + + @ApiOperation(value = "获取本部门直属上级角色的用户") + @GetMapping(value = "getUserByOrgRole") + public ResultBean> getUserByOrgRole(UserRoleQuery query) { + return sysUserService.getUserByOrgRole(query); + } + + @ApiOperation(value = "获取其他机构链角色的用户") + @GetMapping(value = "getOtherOrgRoleUser") + public ResultBean> getOtherOrgRoleUser(UserRoleQuery query) { + return sysUserService.getOtherOrgRoleUser(query); + } + + @ApiOperation(value = "获取当前分公司下所有员工的userSid和员工姓名") + @GetMapping(value = "getUserByOrgSid") + public ResultBean>> getUserByOrgSid(String orgSid, String userSid) { + return sysUserService.getUserByOrgSid(orgSid, userSid); + } + + @ApiOperation(value = "根据用户sid获取用户id") + @PostMapping(value = "selectIdBySid") + public ResultBean selectIdBySid(List stringList) { + return sysUserService.selectIdBySid(stringList); + } + + @ApiOperation(value = "查询是否需要更换密码") + @GetMapping(value = "/selectPasswordByUserSid/{userSid}") + public ResultBean selectPasswordByUserSid(String userSid) { + return sysUserService.selectPasswordByUserSid(userSid); + } +} diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysuser/CyfSysUserService.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysuser/CyfSysUserService.java new file mode 100644 index 0000000..c442c0e --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysuser/CyfSysUserService.java @@ -0,0 +1,1077 @@ +package com.yxt.supervise.gf.biz.sysuser; + +import cn.hutool.core.bean.BeanUtil; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.config.RedisUtil; +import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.common.base.config.component.ImageUploadUtil; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.*; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.supervise.gf.api.sysrole.SysRoleVo; +import com.yxt.supervise.gf.api.sysuser.*; +import com.yxt.supervise.gf.biz.sysrole.CyfSysRoleService; +import org.apache.ibatis.annotations.Param; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import java.io.File; +import java.util.*; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; + +import static java.util.concurrent.Executors.newScheduledThreadPool; + +/** + * @author wangpengfei + * @date 2023/5/4 14:37 + */ +@Service +public class CyfSysUserService extends MybatisBaseService { + + /** + * 设置redis的过期时间为4小时 + */ + public static final long USERS_REDIS_SESSION_TL_PC = 4 * 3600; + public static final long USERS_REDIS_SESSION_TL_App = 24 * 15 * 3600; + /** + * 验证码长度 + */ + static final int LENGTH_OF_CODE = 4; + /** + * 调用发送短信接口返回值 + */ + static final String RESULT_CODE = "1"; + /** + * 手机短信登录验证码时效(秒) + */ + static final long APP_LOGIN_CODE_TIME_LIMIT = 300L; + @Autowired + private RedisUtil redisUtil; + + @Autowired + private FileUploadComponent fileUploadComponent; + + @Autowired + private ImageUploadUtil imageUploadUtil; + @Autowired + private CyfSysRoleService sysRoleService; + + public SysUserVo getUser(String userName, String password) { + ResultBean rb = new ResultBean(); + SysUserVo sysUserVo = baseMapper.getUser(userName, password); + return sysUserVo; + } + + public SysUser getSysUser(String userName, String password) { + return baseMapper.selectOne(new QueryWrapper().eq("userName", userName).eq("password", password)); + } + + public SysUserVo getUserById(String id) { + SysUserVo sysUserVo = baseMapper.selectRoleById(id); + List list = sysRoleService.roleVoList(sysUserVo.getSid()); + sysUserVo.setRoleList(list); + return sysUserVo; + } + + public PagerVo listPage(PagerQuery pq) { + SysUserQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public List listAll(SysUserQuery query) { + QueryWrapper qw = createQueryWrapper(query); + return baseMapper.selectList(qw); + } + + private QueryWrapper createQueryWrapper(SysUserQuery query) { + // todo: 这里根据具体业务调整查询条件 + // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(query.getRoleSid())) { + qw.eq("role.sid", query.getRoleSid()); + } + if (StringUtils.isNotBlank(query.getName())) { + qw.like("staff.name", query.getName()); + } + //qw.ne("staff.personTypeKey","01"); + return qw; + } + +// public PagerVo listPageVo(PagerQuery pq) { +//// SysUserQuery query = pq.getParams(); +//// QueryWrapper qw = createQueryWrapper(query); +//// IPage page = PagerUtil.queryToPage(pq); +//// String deptName = ""; +//// String userName = ""; +//// if (StringUtils.isNotBlank(query.getOrgName())) { +//// deptName = query.getOrgName().trim(); +//// } +//// if (StringUtils.isNotBlank(query.getUserName())) { +//// userName = query.getUserName().trim(); +//// } +//// IPage pagging = baseMapper.selectPageVo(page, qw, deptName, userName); +//// List records = pagging.getRecords(); +//// for (SysUserVo record : records) { +//// String departmentSid = record.getDepartmentSid(); +//// String orgName = ""; +//// if (StringUtils.isNotBlank(departmentSid)) { +//// String[] split = departmentSid.split(","); +//// for (String s : split) { +//// //获取本级sid获取本级部门信息 +//// SysOrganization sysOrganization = sysOrganizationService.fetchBySid(s); +//// //从本级部门信息中获取上级sid +//// String psid = sysOrganization.getPsid(); +//// //从本级部门信息中获取本级部门名称 +//// String bjName = sysOrganization.getName(); +//// //获取上级sid获取上级部门信息 +//// SysOrganization sysOrganization1 = sysOrganizationService.fetchBySid(psid); +//// //从上级部门信息中获取上级部门名称 +//// String sjName = sysOrganization1.getName(); +//// orgName += sjName + "-" + bjName + ","; +//// } +//// orgName = orgName.substring(0, orgName.length() - 1); +//// record.setDepartmentName(orgName); +//// } +//// } +//// PagerVo p = PagerUtil.pageToVo(pagging, null); +//// return p; +//// } +// public PagerVo listPageVo(PagerQuery pq) { +// SysUserQuery query = pq.getParams(); +// QueryWrapper qw = createQueryWrapper(query); +// IPage page = PagerUtil.queryToPage(pq); +// String deptName = ""; +// String userName = ""; +// if (StringUtils.isNotBlank(query.getOrgName())) { +// deptName = query.getOrgName().trim(); +// } +// if (StringUtils.isNotBlank(query.getUserName())) { +// userName = query.getUserName().trim(); +// } +// IPage pagging = baseMapper.selectPageVo(page, qw, deptName, userName); +// List records = pagging.getRecords(); +// for (SysUserVo record : records) { +// String departmentSid = record.getDepartmentSid(); +// String orgName = ""; +// if (StringUtils.isNotBlank(departmentSid)) { +// String[] split = departmentSid.split(","); +// for (String s : split) { +// //获取本级sid获取本级部门信息 +// SysOrganization sysOrganization = sysOrganizationService.fetchBySid(s); +// //从本级部门信息中获取上级sid +// String psid = sysOrganization.getPsid(); +// //从本级部门信息中获取本级部门名称 +// String bjName = sysOrganization.getName(); +// //获取上级sid获取上级部门信息 +// SysOrganization sysOrganization1 = sysOrganizationService.fetchBySid(psid); +// //从上级部门信息中获取上级部门名称 +// String sjName = sysOrganization1.getName(); +// orgName += sjName + "-" + bjName + ","; +// } +// orgName = orgName.substring(0, orgName.length() - 1); +// record.setDepartmentName(orgName); +// } +// } +// PagerVo p = PagerUtil.pageToVo(pagging, null); +// return p; +// } + public List listAllVo(SysUserQuery query) { + QueryWrapper qw = createQueryWrapper(query); + return baseMapper.selectListAllVo(qw); + } + + public List listVo() { + return baseMapper.selectListVo(); + } + + public void saveOrUpdateDto(SysUserDto dto) { + SysUser entity = new SysUser(); + dto.fillEntity(entity); + this.saveOrUpdate(entity); + } + + public SysUserVo fetchByIdVo(String id) { + SysUser entity = this.fetchById(id); + SysUserVo vo = new SysUserVo(); + BeanUtil.copyProperties(entity, vo); + return vo; + } + +// public SysUserVo fetchBySidVo(String sid) { +// SysUser entity = this.fetchBySid(sid); +// String staffSid = entity.getStaffSid(); +// SysStaffinfo sysStaffinfo = sysStaffinfoService.fetchBySid(staffSid); +// SysUserVo vo = new SysUserVo(); +// BeanUtil.copyProperties(entity, vo); +// vo.setName(sysStaffinfo.getName()); +// vo.setJobNumber(sysStaffinfo.getJobNumber()); +// List orgVoList = sysStaffOrgService.getSysStaffOrgListByStaffSid(staffSid); +// if (orgVoList.size() > 0) { // 手机端销售人员用到orgsid,目前按唯一算 +// SysStaffOrgVo sysStaffOrgVo = orgVoList.get(0); +// vo.setOrganizationSid(sysStaffOrgVo.getOrgSid()); +// vo.setOrganizationName(sysStaffOrgVo.getOrgName()); +// vo.setOrgSidPath(sysStaffOrgVo.getOrgSidPath()); +// } +// return vo; +// } + + /** + * 初始化密码,给用户发送手机短信 + * + * @param sid 用户sid + * @return ResultBean + */ + public Boolean initPwd(String sid) { + SysUser user = this.fetchBySid(sid); + if (null == user) { + return false; + } + String mobile = "111111"; + + //String substring = mobile.substring(5, 11); + // 1.生成新密码 + /*String newPwd = StringRandom.getRandomString(8);*/ + // 2.加密密码,更新用户密码 + if (0 == updatePassword(user.getSid(), mobile)) { + return false; + } +// redisUtil.remove(user.getUserName()); + // 3.给用户发送手机短信 + return true; + } + + public int updatePassword(String sid, String password) { + return baseMapper.updatePassword(sid, password); + } + +// public ResultBean updatePasswordApp(SysUser user, String oldPassword, String newPassword, String token) { +// ResultBean rb = ResultBean.fireFail(); +// String oldPasswordMd5 = Encodes.md5(oldPassword); +// if (!oldPasswordMd5.equals(user.getPassword())) { +// return rb.setMsg("原始密码输入错误"); +// } +// if (!newPassword.matches("^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[a-zA-Z0-9]{8,16}$")) { +// return rb.setMsg("密码格式错误,必须为8至16位大小写字母和数字的组合"); +// } +// int i = baseMapper.updatePasswordApp(user.getSid(), Encodes.md5(newPassword)); +// SysUserVo sysUserVo = selectUserOne(user); +// if (sysUserVo == null) { +// sysUserVo = new SysUserVo(); +// } else { +// //查询是否需要更换密码 +// boolean isTrue = false; +// String mobile = user.getMobile(); +// if (StringUtils.isNotBlank(mobile)) { +// String password = mobile.substring(5, 11); +// String md5 = Encodes.md5(password); +// if (user.getPassword().equals(md5)) { +// isTrue = true; +// } +// } +// sysUserVo.setNeedResetPsd(isTrue); +// } +// if (i == 1) { +//// redisUtil.remove(token); +// return rb.success().setData(sysUserVo); +// } else { +// return rb.setMsg("修改失败"); +// } +// } + + public SysUser selectByUserName(String userName) { + return baseMapper.selectByUserName(userName); + } + + public SysUser selectByUserNameApp(String userName) { + return baseMapper.selectByUserNameApp(userName); + } + + public SysUser selectByAppId(String appId) { + return baseMapper.selectByAppId(appId); + } + + public int updateAppId(String sid, String appId) { + return baseMapper.updateAppId(sid, appId); + } + + public int updateToken(String sid, String token) { + return baseMapper.updateToken(sid, token); + } + +// public SysUserVo setUserRedisSessionToken(SysUser user) { +// // 生成token +// String uniqueToken = JWTUtil.create(user.getSid() + ""); +// // redis中缓存token +// redisUtil.set(uniqueToken, user.getUserName(), +// USERS_REDIS_SESSION_TL_PC); +// SysUserVo userInfoOneVo = selectUserOne(user); +// if (userInfoOneVo == null) { +// return userInfoOneVo; +// } else { +// userInfoOneVo.setToken(uniqueToken); +// return userInfoOneVo; +// } +// +// } + +//// 公共的方法 +// public SysUserVo selectUserOne(SysUser user) { +// // 根据用户信息查询用户的角色信息 +// SysUserVo userInfoOneVo = new SysUserVo(); +// userInfoOneVo.setToken(user.getToken()); +// userInfoOneVo.setId(user.getId()); +// userInfoOneVo.setSid(user.getSid()); +// userInfoOneVo.setUserName(user.getUserName()); +// userInfoOneVo.setIsAdmin(user.getIsAdmin()); +// //类型为员工的组织机构信息 +// SysStaffOrg sysStaffOrg = sysStaffOrgService.selectAllByStaffSid(user.getStaffSid()).getData(); +// if (sysStaffOrg == null) { +// return null; +// } +// +// userInfoOneVo.setRoleName(""); +// String dwjb = ""; +// // 系统管理员(没有对应的人员和单位) +// //是否是管理员:1管理员,2一般用户,0是超级管理员,3尚无单位人员 +// if ("0".equals(user.getIsAdmin())) { +// userInfoOneVo.setName("系统管理员"); +// userInfoOneVo.setMobile(""); +// userInfoOneVo.setStaffSid(""); +// userInfoOneVo.setOrganizationName("无单位"); +// userInfoOneVo.setDepartmentName("无部门"); +// } else { +// // 获取人员姓名 +// SysStaffinfo staffVo = sysStaffinfoService.fetchBySid(user.getStaffSid()); +// if (null != staffVo) { +// userInfoOneVo.setName(staffVo.getName()); +// userInfoOneVo.setMobile(staffVo.getMobile()); +// userInfoOneVo.setStaffSid(staffVo.getSid()); +//// userInfoOneVo.setOrgNamePath(sysStaffOrg.getOrgNamePath()); +//// userInfoOneVo.setOrgSidPath(sysStaffOrg.getOrgSidPath()); +// +// } +// // 尚无单位人员,没有单位和部门信息 +// if ("3".equals(user.getIsAdmin())) { +// userInfoOneVo.setOrganizationName("无单位"); +// userInfoOneVo.setDepartmentName("无部门"); +// } else { +// userInfoOneVo.setOrganizationName("无单位"); +// userInfoOneVo.setDepartmentName("无部门"); +// List orgVoList = sysStaffOrgService.getSysStaffOrgListByStaff(user.getStaffSid()); +// SysStaffPostDetailsVo staffPostDetailsVo = sysStaffPostService.getPostByStaffSid(user.getStaffSid()); +// userInfoOneVo.setPostSid(staffPostDetailsVo.getPostSid()); +// userInfoOneVo.setPostName(staffPostDetailsVo.getName()); +// if (orgVoList.size() > 0) { +// //类型为员工的组织机构信息 +// SysStaffOrgVo sysStaffOrgVo = orgVoList.get(0); +// userInfoOneVo.setDepartmentName(sysStaffOrgVo.getOrgName()); +// userInfoOneVo.setDepartmentSid(sysStaffOrgVo.getOrgSid()); +// SysOrganization sysOrganizationOne = sysOrganizationService.fetchBySid(sysStaffOrgVo.getOrgSid()); +// if (sysOrganizationOne != null) { +// String psid = sysOrganizationOne.getPsid(); +// String name = sysOrganizationService.fetchBySid(psid).getName(); +// userInfoOneVo.setPNameAndDepartmentNameAndPostName(name + "-" + sysStaffOrgVo.getOrgName()); +// } +// userInfoOneVo.setOrganizationSid(sysStaffOrgVo.getOrgSid()); +// userInfoOneVo.setOrganizationName(sysStaffOrgVo.getOrgName()); +// userInfoOneVo.setOrgNamePath(sysStaffOrg.getOrgNamePath()); +// userInfoOneVo.setOrgSidPath(sysStaffOrg.getOrgSidPath()); +// //根据orgSidPath查询分公司sid===== +// userInfoOneVo.setDefaultOrgPath(sysStaffOrg.getOrgSidPath()); +// userInfoOneVo.setDefaultOrgPathName(sysStaffOrg.getOrgNamePath()); +// /* String orgSid = sysStaffOrgService.getOrgByOrgSid(sysStaffOrgVo.getOrgSid()); +// SysOrganization sysOrganization = sysOrganizationService.fetchBySid(orgSid); +// if (sysOrganization != null) { +// userInfoOneVo.setDefaultOrgPathName(sysOrganization.getName()); +// userInfoOneVo.setDefaultOrgPath(sysOrganization.getSid()); +// } else { +// userInfoOneVo.setDefaultOrgPathName("暂无组织机构"); +// }*/ +// } +// } +// } +// // 设置用户的角色sids +// List roleSids = this.getUserRoleSids(user.getSid()); +// userInfoOneVo.setRoleSids(roleSids); +// String roleName = sysRoleService.selectByUserSid(user.getSid()); +// userInfoOneVo.setRoleName(roleName); +// List sysStaffOrgVos = sysStaffOrgService.selectByStaffS(user.getStaffSid()); +// List orgList = new ArrayList<>(); +// if (sysStaffOrgVos.size() > 0) { +// for (SysStaffOrgVo vv : sysStaffOrgVos) { +// OrgList orgList1 = new OrgList(); +// /*String orgSid = sysStaffOrgService.getOrgByOrgSid(vv.getOrgSid()); +// SysOrganization sysOrganization = sysOrganizationService.fetchBySid(orgSid); +// if (sysOrganization != null) { +// orgList1.setOrgName(sysOrganization.getName()); +// orgList1.setOrgPath(sysOrganization.getSid()); +// } else { +// continue; +// }*/ +// orgList1.setOrgPath(vv.getOrgSidPath()); +// orgList1.setOrgName(vv.getOrgNamePath()); +// orgList.add(orgList1); +// } +// } +// userInfoOneVo.setOrgList(orgList); +// return userInfoOneVo; +// } + /** + * 手机端登录后设置token + * + * @param user + * @return + */ +// public SysUserVo selectUser(SysUser user) { +// String oldToken = user.getToken(); +// if (StringUtils.isNotBlank(oldToken)) { +// redisUtil.remove(oldToken); +// } +// String uniqueToken = JWTUtil.create(user.getSid() + ""); +// String newToken = "App" + uniqueToken; +// redisUtil.set(newToken, user.getUserName(), USERS_REDIS_SESSION_TL_App); +// SysUserVo sysUserVo = selectUserOne(user); +// if (sysUserVo == null) { +// return null; +// } else { +// sysUserVo.setToken(newToken); +// // 更新用户中的token +// updateToken(user.getSid(), newToken); +// //查询是否需要更换密码 +// boolean isTrue = false; +// String mobile = user.getMobile(); +// if (StringUtils.isNotBlank(mobile)) { +// String password = mobile.substring(5, 11); +// String md5 = Encodes.md5(password); +// if (user.getPassword().equals(md5)) { +// isTrue = true; +// } +// } +// sysUserVo.setNeedResetPsd(isTrue); +// return sysUserVo; +// } +// +// } + + /** + * 获取用户的角色s + * + * @return + */ + public List getUserRoleSids(String userSid) { + return sysRoleService.selectByUser(userSid); + } + + public SysUser fetchByUserName(String mobile) { + SysUser sysUsers = baseMapper.fetchByUserName(mobile); + return sysUsers; + } + + public void delBySid(String sid) { + baseMapper.delBySid(sid); + } + + /** + * 发送短信验证码 + * + * @param mobile 手机号 + * @param verificationCode 验证码 + * @return ResultBean + */ + public ResultBean getVerificationCode(String mobile, String verificationCode) { + for (int i = 0; i < LENGTH_OF_CODE; i++) { + // 定义随机类 + Random random = new Random(); + // 返回[0,10)集合中的整数,注意不包括10 + int result = random.nextInt(10); + // +1后,[0,10)集合变为[1,11)集合,满足要求 + int num = result; + verificationCode = verificationCode + num; + } + String verificationCode1 = "个人注册验证码:" + verificationCode + ",有效期5分钟,如非本人操作,请忽略该短信。"; + try { + //============ + //当前时间秒数 + Long timemili = System.currentTimeMillis() / 1000; + System.out.println("当前的秒数" + timemili); + /*在这里写一个定时的for循环,用来取redis的手机号码信息,然后查询手机号码开始的时间,若是大于等于五分钟就给删除这个键值*/ + //创建多线程定时任务,延迟1s启动,每隔1s执行一次,是前一个任务开始时就开始计算时间间隔,但是会等上一个任务结束在开始下一个 + ScheduledExecutorService scheduledExecutorService = newScheduledThreadPool(10); + scheduledExecutorService.scheduleAtFixedRate(new Runnable() { + @Override + public void run() { + //判断这个键的值是不是超过五分钟,是的话就删除掉这个键 + if (System.currentTimeMillis() / 1000 - Long.parseLong(redisUtil.get(mobile).substring(4)) > 300) { + redisUtil.remove(mobile); + } + } + }, 1, 2, TimeUnit.SECONDS); + + //设置键值的时候先查询是否存在这个键值对,存在的话查看时长,不存在的话直接发送短信 + boolean str = redisUtil.exists(mobile); + if (!str) { + redisUtil.set(mobile, (verificationCode + timemili)); + String result = MsgWs.SendWaitWorkMsg(mobile, verificationCode1); + if (!RESULT_CODE.equals(result)) { + return ResultBean.fireFail().setMsg("发送短信验证码失败"); + } + } else { + String strT = redisUtil.get(mobile); + //查看请求间隔,默认是一分钟,小于一分钟继续等待,超过一分钟发送短信 + if (timemili - Long.parseLong(strT.substring(4)) < 60) { + return ResultBean.fireFail().setMsg("请等待一分钟后再次重试!"); + } else { + //发送短信 + redisUtil.set(mobile, (verificationCode + timemili)); + String result = MsgWs.SendWaitWorkMsg(mobile, verificationCode1); + if (!RESULT_CODE.equals(result)) { + return ResultBean.fireFail().setMsg("发送短信验证码失败"); + } + + } + } + } catch (Exception e) { + return ResultBean.fireFail().setMsg("发送短信验证码失败"); + } + //============= + return ResultBean.fireSuccess().setMsg("发送短信验证码成功"); + } + + /** + * 验证手机号和验证码是否正确及匹配 + * + * @param mobile 手机号 + * @param verificationCode 验证码 + * @return map + */ + public Map mobileValidateRegister(String mobile, String verificationCode) { + String code = redisUtil.get(mobile).substring(0, 4); + // 判断验证码是否失效 + if (StringUtils.isEmpty(code)) { + return Tools.setRetCode(Tools.CODE_FAIL, "验证码失效"); + } else if (!"".equals(code) && !verificationCode.equals(code)) { + return Tools.setRetCode(Tools.CODE_FAIL, "验证码错误"); + } + return Tools.setRetCode(Tools.CODE_SUCCESS, ""); + } + + /** + * 发送手机端登录验证码 + * + * @param mobile + * @param type 1、登录2、修改密码3、找回密码 + * @return + */ + public ResultBean sendVerificationCodeForApp(String mobile, String type) { + Date date = new Date(); + String redisKey = ""; + if (type.equals("1")) { + redisKey = "loginCode"; + } else if (type.equals("2")) { + redisKey = "updatePwdCode"; + } else if (type.equals("3")) { + redisKey = "resetPwdCode"; + } + String codeRedis = redisUtil.get(redisKey + mobile); + if (StringUtils.isNotEmpty(codeRedis)) { + //查看请求间隔,默认是一分钟,小于一分钟继续等待,超过一分钟发送短信 + String sendTime = codeRedis.substring(4); + long diffSecond = (date.getTime() - Long.parseLong(sendTime)) / 1000; + if (diffSecond < 60) { + return ResultBean.fireFail().setMsg("请等待一分钟后再次重试!"); + } + } + String verificationCode = ""; + for (int i = 0; i < LENGTH_OF_CODE; i++) { + // 定义随机类 + Random random = new Random(); + // 返回[0,10)集合中的整数,注意不包括10 + int result = random.nextInt(10); + // +1后,[0,10)集合变为[1,11)集合,满足要求 + verificationCode = verificationCode + result; + } + String content = ""; + if (type.equals("1")) { + content = "登录验证码:" + verificationCode + ",用于登录App,有效期5分钟,如非本人操作,请忽略该短信。"; + } else { + content = "修改密码验证码:" + verificationCode + ",用于修改登录密码,有效期5分钟,如非本人操作,请忽略该短信。"; + } + String res = MsgWs.SendWaitWorkMsg(mobile, content); +// String res = "1"; + if (res.equals("1")) { + redisUtil.set(redisKey + mobile, verificationCode + date.getTime(), APP_LOGIN_CODE_TIME_LIMIT); + } + return ResultBean.fireSuccess().setMsg("发送短信验证码成功"); + } + + /** + * 手机端修改密码 + * + * @param mobile + * @param newPwd + * @return + */ + public ResultBean resetPwdApp(String mobile, String newPwd, String token) { + if (!newPwd.matches("^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[a-zA-Z0-9]{8,10}$")) { + return ResultBean.fireFail().setMsg("密码格式错误,必须为8至10位大小写字母和数字的组合"); + } + SysUser user = baseMapper.selectByUserName(mobile); + if (user == null) { + user = baseMapper.selectByMobile(mobile); + if (user == null) { + return ResultBean.fireFail().setMsg("该手机号暂时还未注册,请先注册"); + } + + } + String newPwdMd5 = Encodes.md5(newPwd); + if (newPwdMd5.equals(user.getPassword())) { + return ResultBean.fireFail().setMsg("新密码不能与旧密码相同"); + } + int i = baseMapper.updatePassword(user.getSid(), newPwdMd5); + if (i == 1) { + if (StringUtils.isNotNull(token)) { + redisUtil.remove(token); + } + return ResultBean.fireSuccess().setMsg("修改成功"); + } else { + return ResultBean.fireFail().setMsg("修改失败"); + } + } + + public ResultBean updateHeadImage(MultipartFile file, SysUser user) { + Map resMap = imageUploadUtil.upload(file); + String oldHeadImage = user.getHeadImage(); + if ((boolean) resMap.get("isSuccess") == true) { + String url = resMap.get("url").toString(); + url = url.replace(fileUploadComponent.getUrlPrefix(), ""); + user.setHeadImage(url); + int i = baseMapper.updateHeadImage(user.getSid(), url); + if (i == 1) { + Map map = new HashMap<>(); + map.put("imageWidth", resMap.get("width").toString()); + map.put("imageHeight", resMap.get("height").toString()); + map.put("imageUrl", resMap.get("url").toString()); + // 删除原文件 +// oldHeadImage = fileUploadComponent.getUrlPrefix() + url; + String pathLoc = oldHeadImage.replace(fileUploadComponent.getUrlPrefix(), fileUploadComponent.getUploadPath()); + pathLoc = pathLoc.substring(0, pathLoc.lastIndexOf("/") + 1).replace("/", File.separator); + fileUploadComponent.deleteFiles(oldHeadImage, pathLoc); + return new ResultBean().success().setMsg("上传成功").setData(map); + } else { + return new ResultBean().fail().setMsg("上传失败"); + } + } + return new ResultBean().fail().setMsg("上传失败"); + } + + /** + * @param mobile 手机号 + * @param userType 用户类型 + * @description: 根据用户类型和手机号查询用户是否存在 + * @return: + * @Author: dimengzhe + * @Date: 2021/10/6 11:36 + */ + public SysUser selectByMobileAndType(String mobile, int userType) { + return baseMapper.selectByMobileAndType(mobile, userType); + } + + /** + * @param mobile 手机号 + * @param verificationCode 验证码 + * @param type 类型:1、注册,2、登录 3、忘记密码 + * @description:客户端注册用户获取验证码 + * @return: + * @Author: dimengzhe + * @Date: 2021/10/6 11:01 + */ +// public ResultBean getWxVerificationCode(String mobile, String verificationCode, String type) { +// String key = ""; +// if ("1".equals(type)) {//注册 +// key = DictCommonType.WX_REGIST + mobile; +// } else if ("2".equals(type)) {//登录 +// key = DictCommonType.WX_LOGIN + mobile; +// } else if ("3".equals(type)) {//忘记密码 +// key = DictCommonType.WX_FORGET + mobile; +// } else if ("4".equals(type)) { +// key = DictCommonType.WX_UPDATE + mobile; +// } else { +// if ("5".equals(type)) { +// key = DictCommonType.WX_NEW + mobile; +// } +// } +// for (int i = 0; i < LENGTH_OF_CODE; i++) { +// Random random = new Random();// 定义随机类 +// int result = random.nextInt(10);// 返回[0,10)集合中的整数,注意不包括10 +// int num = result; // +1后,[0,10)集合变为[1,11)集合,满足要求 +// verificationCode = verificationCode + num; +// } +// String verificationCode1 = ""; +// if ("1".equals(type)) {//注册 +// verificationCode1 = "个人注册验证码:" + verificationCode + ",有效期5分钟,如非本人操作,请忽略该短信。"; +// } else if ("2".equals(type)) {//登录 +// verificationCode1 = "登录验证码:" + verificationCode + ",有效期5分钟,如非本人操作,请忽略该短信。"; +// } else if ("3".equals(type)) {//忘记密码 +// verificationCode1 = "修改密码验证码:" + verificationCode + ",有效期5分钟,如非本人操作,请忽略该短信。"; +// } else if ("4".equals(type) || "5".equals(type)) { +// verificationCode1 = "验证码:" + verificationCode + ",有效期5分钟,如非本人操作,请忽略该短信。"; +// } +// try { +// //当前时间秒数 +// Long timemili = System.currentTimeMillis() / 1000; +// System.out.println("当前的秒数" + timemili); +// /*在这里写一个定时的for循环,用来取redis的手机号码信息,然后查询手机号码开始的时间,若是大于等于五分钟就给删除这个键值*/ +// //创建多线程定时任务,延迟1s启动,每隔1s执行一次,是前一个任务开始时就开始计算时间间隔,但是会等上一个任务结束在开始下一个 +// ScheduledExecutorService scheduledExecutorService = newScheduledThreadPool(10); +// String finalKey = key; +// scheduledExecutorService.scheduleAtFixedRate(new Runnable() { +// @Override +// public void run() { +// //判断这个键的值是不是超过五分钟,是的话就删除掉这个键 +// if (System.currentTimeMillis() / 1000 - Long.parseLong(redisUtil.get(finalKey).substring(4)) > 300) { +// redisUtil.remove(finalKey); +// } +// } +// }, 1, 2, TimeUnit.SECONDS); +// boolean str = redisUtil.exists(key); //设置键值的时候先查询是否存在这个键值对,存在的话查看时长,不存在的话直接发送短信 +// if (!str) { +// redisUtil.set(key, (verificationCode + timemili)); +// } else { +// String strT = redisUtil.get(key); +// //查看请求间隔,默认是一分钟,小于一分钟继续等待,超过一分钟发送短信 +// if (timemili - Long.parseLong(strT.substring(4)) < 60) { +// return ResultBean.fireFail().setMsg("请等待一分钟后再次重试!"); +// } else { +// //发送短信 +// redisUtil.set(key, (verificationCode + timemili)); +// } +// } +// } catch (Exception e) { +// return ResultBean.fireFail().setMsg("发送短信验证码失败"); +// } +// return ResultBean.fireSuccess().setMsg("发送短信验证码成功"); +// } + +// public Map mobileValidateWxRegister(String mobile, String verificationCode) { +// String key = DictCommonType.WX_REGIST + mobile; +// String code = redisUtil.get(key); +// if (StringUtils.isNotBlank(code)) { +// code = code.substring(0, 4); +// } +// // 判断验证码是否失效 +// if (StringUtils.isEmpty(code)) { +// return Tools.setRetCode(Tools.CODE_FAIL, "验证码失效"); +// } else if (!"".equals(code) && !verificationCode.equals(code)) { +// return Tools.setRetCode(Tools.CODE_FAIL, "验证码错误"); +// } +// return Tools.setRetCode(Tools.CODE_SUCCESS, ""); +// } + + public ResultBean resetPwdWx(String mobile, String newPwd) { + if (!newPwd.matches("^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[a-zA-Z0-9]{8,10}$")) { + return ResultBean.fireFail().setMsg("密码格式错误,必须为8至10位大小写字母和数字的组合"); + } + SysUser user = baseMapper.selectByMobileAndType(mobile, 2); + if (null == user) { + return ResultBean.fireFail().setMsg("该手机号暂时还未注册,请先注册"); + } + String newPwdMd5 = Encodes.md5(newPwd); + if (newPwdMd5.equals(user.getPassword())) { + return ResultBean.fireFail().setMsg("新密码不能与旧密码相同"); + } + int i = baseMapper.updatePassword(user.getSid(), newPwdMd5); + if (i == 1) { + return ResultBean.fireSuccess().setMsg("修改成功"); + } else { + return ResultBean.fireFail().setMsg("修改失败"); + } + } + + public SysUserVo selectByStaffsid(@Param("staffSid") String staffSid) { + return baseMapper.selectByStaffsid(staffSid); + } + + public int delSysUserByMobile(String mobile) { + return baseMapper.delSysUserByMobile(mobile); + } + + /** + * 查询所有用户的sid + * + * @return + */ + public List selectAllUserSid() { + return baseMapper.selectAllUserSid(); + } + +// public SysStaffinfoVo getSysUserByMobile(String staffSid) { +// return baseMapper.getSysUserByMobile(staffSid); +// } + + /** + * 根据用户sid获取用户的组织信息 + * + * @param userSid 用户的sid + * @return + */ + public SysUserInfoVo selectUserInfoByUserSid(String userSid) { + return baseMapper.selectUserInfoByUserSid(userSid); + } + + /** + * 根据用户sid获取用户的组织信息 + * + * @param userSid 用户的sid + * @return + */ + public SysUserInfoVo selectUserInfoByUserSid(String userSid, String orgSid) { + return baseMapper.selectUserInfoByUserSidOne(userSid, orgSid); + } + + /** + * 根据员工sid更新用户信息 + * + * @param jobNumber 员工编号 + * @param mobile 手机号 + * @param sid 员工sid + * @return + */ + public int updateByStaffSid(String jobNumber, String mobile, String sid) { + return baseMapper.updateByStaffSid(jobNumber, mobile, sid); + } + + /** + * 根据员工sid更新用户的员工编号 + * + * @param jobNumber 员工编号 + * @param sid 用户sid + * @return + */ + public int updateByStaSid(String jobNumber, String sid) { + return baseMapper.updateByStaSid(jobNumber, sid); + } + + /** + * 根据手机号查询用户是否存在 + * + * @param mobile + * @return + */ + public SysUser selectByMobile(String mobile) { + return baseMapper.selectByMobile(mobile); + } + + public ResultBean reGetPwd(String userName, String userPhone) { + ResultBean rb = ResultBean.fireFail(); + return null; + } + + public int updateIsEnable(String sid, String isEnable) { + return baseMapper.updateIsEnable(sid, isEnable); + } + + public ResultBean getUsersByRoleSid(String roleSid) { + List users = baseMapper.getUsersByRoleSid(roleSid); + List l = new ArrayList<>(); + for (SysUserVo s : users) { + l.add(s.getDepartmentName() == null ? "" : s.getDepartmentName()); + } + HashSet set = new HashSet(l); + //把List集合所有元素清空 + l.clear(); + //把HashSet对象添加至List集合 + l.addAll(set); + List> r = new ArrayList<>(); + for (String s : l) { + if (StringUtils.isNotBlank(s)) { + Map m = new HashMap<>(); + List us = new ArrayList<>(); + for (SysUserVo su : users) { + if (s != null && s.equals(su.getDepartmentName())) { + us.add(su); + } + } + m.put("dept", s); + m.put("users", us); + r.add(m); + } + } + ResultBean objectResultBean = ResultBean.fireSuccess().setData(r); + return objectResultBean; + } + + public ResultBean> getUserByRole(UserQuery query) { + ResultBean> rb = ResultBean.fireFail(); + List sysUserVoList = new ArrayList<>(); + if (StringUtils.isBlank(query.getRoleSid())) { + return rb.setMsg("角色sid不能为空"); + } + if (StringUtils.isBlank(query.getOrgSidPath())) { + return rb.setMsg("机构全路径不能为空"); + } + //根据角色sid获取角色的层级 + String levelTypeKey = sysRoleService.getLevelType(query.getRoleSid()); + if (StringUtils.isNotBlank(levelTypeKey)) { + if (query.getOrgSidPath().split("/").length >= Integer.parseInt(levelTypeKey) - 1) { + String levelOrgSid = query.getOrgSidPath().split("/")[Integer.parseInt(levelTypeKey) - 1]; + sysUserVoList = baseMapper.getUserByRole(query.getRoleSid(), levelOrgSid); + if (sysUserVoList.size() > 1) { + List stringList = sysUserVoList.stream().map(v -> v.getSid()).collect(Collectors.toList()); + List sysUserVoList1 = baseMapper.getUserMessageByRole(query.getRoleSid(), levelOrgSid, stringList); + sysUserVoList1.removeAll(Collections.singleton(null)); + if (sysUserVoList1.size() > 0) { + sysUserVoList = sysUserVoList1; + } + } + } + sysUserVoList.removeAll(Collections.singleton(null)); + sysUserVoList.forEach(t -> { + t.setOrgSidPath(query.getOrgSidPath()); + }); + } else { + return rb.setMsg("该角色层级未设置"); + } + + return rb.success().setData(sysUserVoList); + + + } + + public ResultBean>> getUserByOrgSid(String orgSid, String userSid) { + ResultBean rb = ResultBean.fireFail(); + List> user = baseMapper.getUserByOrgSid(orgSid, userSid); + for (Map map : user) { + StringBuilder namePath = new StringBuilder(); + String name = map.get("name"); + String orgName = map.get("orgName"); + String postName = map.get("postName"); + namePath.append(name).append("(").append(orgName).append(" ").append(postName).append(")"); + map.put("namePath", namePath.toString()); + } + /*List> user = new ArrayList<>(); + for (Map map : userByOrgSid) { + String s = map.get("sid"); + ResultBean pathSidByUserSid = sysStaffOrgService.getPathSidByUserSid(s); + String data = pathSidByUserSid.getData(); + if (data.equals(orgSid)){ + user.add(map); + } + }*/ + return rb.success().setData(user); + } + + public List fetchBySidSVo(String sids) { + List list = Arrays.asList(sids.split(",")); + List entity = baseMapper.fetchBySids(list); + return entity; + } + + public ResultBean updateAppIdByMobile(String mobile) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isNotBlank(mobile)) { + baseMapper.updateAppIdByMobile(mobile); + } else { + baseMapper.updateAppIdAll(); + } + return rb.success().setMsg("解绑成功"); + } + + public ResultBean selectIdBySid(List stringList) { + ResultBean rb = ResultBean.fireFail(); + String ids = baseMapper.selectIdBySid(stringList); + return rb.success().setData(ids); + } + + public ResultBean> getUserByOrgRole(UserRoleQuery query) { + ResultBean> rb = ResultBean.fireFail(); + List sysUserVoList = new ArrayList<>(); + //根据当前用户角色查询该角色的上一级角色 + String userRoleSid = query.getRoleSid(); + if (StringUtils.isBlank(userRoleSid)) { + return rb.setMsg("角色不能为空"); + } + if (StringUtils.isBlank(query.getOrgSid())) { + return rb.setMsg("部门sid不能为空"); + } + String upRoleSid = sysRoleService.selectRoleSid(userRoleSid); + sysUserVoList = baseMapper.getUserByRole(upRoleSid, query.getOrgSid()); + return rb.success().setData(sysUserVoList); + } + + public ResultBean> getOtherOrgRoleUser(UserRoleQuery query) { + ResultBean> rb = ResultBean.fireFail(); + List sysUserVoList = new ArrayList<>(); + String roleSid = query.getRoleSid(); + if (StringUtils.isBlank(roleSid)) { + return rb.setMsg("角色不能为空"); + } + if (StringUtils.isNotBlank(query.getOrgSid())) { + sysUserVoList = baseMapper.getUserByRole(roleSid, query.getOrgSid()); + } else { + sysUserVoList = baseMapper.getUserByRoleSid(query.getRoleSid()); + } + return rb.success().setData(sysUserVoList); + } + +// public ResultBean> selectSysUserList(String userSid) { +// ResultBean> rb = ResultBean.fireFail(); +// //销售经理角色sid +// String roleSid = "f07e98d3-d179-48ee-a5ff-5928addead3f"; +// //根据用户sid查询用户的部门全路径 +// SysUserVo vo = fetchBySidVo(userSid); +// //根据staffSid获取用户的组织全路径 +// SysStaffOrg sysStaffOrg = sysStaffOrgService.getOrgByStaffSid(vo.getStaffSid()); +// UserQuery userRoleQuery = new UserQuery(); +// userRoleQuery.setRoleSid(roleSid); +// userRoleQuery.setOrgSidPath(sysStaffOrg.getOrgSidPath()); +// ResultBean> resultBean = getUserByRole(userRoleQuery); +// List sysUserVoList = resultBean.getData(); +// sysUserVoList.removeAll(Collections.singleton(null)); +// List voList = Optional.ofNullable(sysUserVoList).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), SysUserListVo.class)).collect(Collectors.toList()); +// voList.removeAll(Collections.singleton(null)); +// if (voList.isEmpty()) { +// return rb.setMsg("下一环节没有用户"); +// } +// return rb.success().setData(voList); +// } + + public ResultBean selectPasswordByUserSid(String userSid) { + ResultBean rb = ResultBean.fireFail(); + boolean isTrue = false; + //查询手机号 + SysUser sysUser = fetchBySid(userSid); + if (sysUser != null) { + String mobile = sysUser.getMobile(); + if (StringUtils.isNotBlank(mobile)) { + String password = mobile.substring(5, 11); + String md5 = Encodes.md5(password); + if (sysUser.getPassword().equals(md5)) { + isTrue = true; + } + } + } + return rb.success().setData(isTrue); + } + +// public List selectOrgBySid(String orgPath, String staffSid) { +// return sysStaffOrgService.selectOrgBySid(orgPath, staffSid); +// } + +// public List getPost(String staffSid) { +// return sysStaffPostService.getPost(staffSid); +// } + public SysUser getUserByUserId(String id){ + return baseMapper.selectOne(new QueryWrapper().eq("id",id)); + } +} diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysuserrole/CyfSysUserRoleMapper.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysuserrole/CyfSysUserRoleMapper.java new file mode 100644 index 0000000..84e8c38 --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysuserrole/CyfSysUserRoleMapper.java @@ -0,0 +1,45 @@ +package com.yxt.supervise.gf.biz.sysuserrole; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.supervise.gf.api.sysuserrole.SysUserRole; +import com.yxt.supervise.gf.api.sysuserrole.SysUserRoleVo; +import org.apache.ibatis.annotations.Delete; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/6/8 14:42 + */ +@Mapper +public interface CyfSysUserRoleMapper extends BaseMapper { + + //@Update("update sys_user_role set name=#{msg} where id=#{id}") + //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + + List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); + + @Select("select * from sys_user_role") + List selectListVo(); + + void deleteByUserSid(String userSid); + + @Delete("delete from sys_user_role where userSid=#{userSid} and roleSid=#{roleSid} ") + void delByUserSidAndRoleSid(@Param("userSid") String userSid,@Param("roleSid") String roleSid); + + List selectByUserSid(@Param("userSid")String userSid); + + @Select("SELECT roleSid FROM sys_user_role WHERE userSid=#{userSid}") + List getUserRoleSidByUserSid(@Param("userSid")String userSid); + + List getUserIdListByRoleSid(@Param("roleList") List roleList); + +} diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysuserrole/CyfSysUserRoleMapper.xml b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysuserrole/CyfSysUserRoleMapper.xml new file mode 100644 index 0000000..5ccc7ab --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysuserrole/CyfSysUserRoleMapper.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + delete from sys_user_role where userSid=#{params} + + + + \ No newline at end of file diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysuserrole/CyfSysUserRoleRest.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysuserrole/CyfSysUserRoleRest.java new file mode 100644 index 0000000..8aed02d --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysuserrole/CyfSysUserRoleRest.java @@ -0,0 +1,115 @@ +package com.yxt.supervise.gf.biz.sysuserrole; + +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.supervise.gf.api.sysuserrole.SysUserRole; +import com.yxt.supervise.gf.api.sysuserrole.SysUserRoleDto; +import com.yxt.supervise.gf.api.sysuserrole.SysUserRoleQuery; +import com.yxt.supervise.gf.api.sysuserrole.SysUserRoleVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/6/8 14:43 + */ +@Api(tags = "角色") +@RestController +@RequestMapping("cyf/sysuserrole") +public class CyfSysUserRoleRest { + + @Autowired + private CyfSysUserRoleService sysUserRoleService; + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq){ + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = sysUserRoleService.listPageVo(pq); + return rb.success().setData(pv); + } + + @ApiOperation("根据条件查询所有数据列表") + @PostMapping("/listAll") + public ResultBean> listAll(@RequestBody SysUserRoleQuery query){ + ResultBean rb = ResultBean.fireFail(); + List list = sysUserRoleService.listAllVo(query); + return rb.success().setData(list); + } + + @ApiOperation("所有数据列表") + @GetMapping("/list") + public ResultBean> list(){ + ResultBean rb = ResultBean.fireFail(); + List list = sysUserRoleService.listVo(); + return rb.success().setData(list); + } + + @ApiOperation("新增保存") + @PostMapping("/save") + public ResultBean save(@RequestBody SysUserRoleDto dto){ + ResultBean rb = ResultBean.fireFail(); + sysUserRoleService.saveOrUpdateDto(dto); + return rb.success(); + } + + @ApiOperation("修改保存") + @PostMapping("/update") + public ResultBean update(@RequestBody SysUserRoleDto dto){ + ResultBean rb = ResultBean.fireFail(); + sysUserRoleService.deleteByUserSid(dto.getUserSid()); + String roleSid = dto.getRoleSid(); + if(StringUtils.isBlank(roleSid)){ + return rb.success(); + } + String[] roleSids = roleSid.split(","); + for(String sid:roleSids){ + SysUserRole sysUserRole=new SysUserRole(); + sysUserRole.setRoleSid(sid); + sysUserRole.setUserSid(dto.getUserSid()); + sysUserRoleService.saveOrUpdate(sysUserRole); + } + return rb.success(); + } + + @ApiOperation("删除记录") + @GetMapping("/del/{ids}") + public ResultBean del(@PathVariable String ids){ + ResultBean rb = ResultBean.fireFail(); + sysUserRoleService.delByIds(ids); + return rb.success(); + } + + @ApiOperation("根据用户sid和角色sid删除记录") + @GetMapping("/delByUserSidAndRoleSid/{userSid}/{roleSid}") + public ResultBean delByUserSidAndRoleSid(@PathVariable String userSid, @PathVariable String roleSid) { + ResultBean rb = ResultBean.fireFail(); + sysUserRoleService.delByUserSidAndRoleSid(userSid,roleSid); + return rb.success(); + } + + @ApiOperation("获取一条记录") + @GetMapping("/fetch/{id}") + public ResultBean fetch(@PathVariable String id){ + ResultBean rb = ResultBean.fireFail(); + SysUserRoleVo vo = sysUserRoleService.fetchByIdVo(id); + return rb.success().setData(vo); + } + @ApiOperation("根据用户sid查询用户角色sid列表") + @GetMapping("/getUserRoleSidByUserSid/{userSid}") + + public ResultBean> getUserRoleSidByUserSid(@PathVariable String userSid) { + return sysUserRoleService.getUserRoleSidByUserSid(userSid); + } + @ApiOperation("根据角色sid查询用户id列表") + @GetMapping("/getUserIdListByRoleSid") + public ResultBean> getUserIdListByRoleSid(List roleList) { + return sysUserRoleService.getUserIdListByRoleSid(roleList); + } +} diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysuserrole/CyfSysUserRoleService.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysuserrole/CyfSysUserRoleService.java new file mode 100644 index 0000000..33526c7 --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/sysuserrole/CyfSysUserRoleService.java @@ -0,0 +1,114 @@ +package com.yxt.supervise.gf.biz.sysuserrole; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.supervise.gf.api.sysuserrole.SysUserRole; +import com.yxt.supervise.gf.api.sysuserrole.SysUserRoleDto; +import com.yxt.supervise.gf.api.sysuserrole.SysUserRoleQuery; +import com.yxt.supervise.gf.api.sysuserrole.SysUserRoleVo; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/6/8 14:43 + */ +@Service +public class CyfSysUserRoleService extends MybatisBaseService { + public PagerVo listPage(PagerQuery pq) { + SysUserRoleQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + public List listAll(SysUserRoleQuery query) { + QueryWrapper qw = createQueryWrapper(query); + return baseMapper.selectList(qw); + } + private QueryWrapper createQueryWrapper(SysUserRoleQuery query) { + // todo: 这里根据具体业务调整查询条件 + // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); + QueryWrapper qw = new QueryWrapper<>(); + + + if (StringUtils.isNotBlank(query.getUserSid())) { + qw.eq("userSid", query.getUserSid()); + } + + if (StringUtils.isNotBlank(query.getRoleSid())) { + qw.eq("roleSid", query.getRoleSid()); + } + return qw; + } + + public PagerVo listPageVo(PagerQuery pq) { + SysUserRoleQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public List listAllVo(SysUserRoleQuery query) { + QueryWrapper qw = createQueryWrapper(query); + return baseMapper.selectListAllVo(qw); + } + + public List listVo() { + return baseMapper.selectListVo(); + } + + public void saveOrUpdateDto(SysUserRoleDto dto){ + SysUserRole entity = new SysUserRole(); + dto.fillEntity(entity); + this.saveOrUpdate(entity); + } + + public SysUserRoleVo fetchByIdVo(String id){ + SysUserRole entity = this.fetchById(id); + SysUserRoleVo vo = new SysUserRoleVo(); + BeanUtil.copyProperties(entity, vo); + return vo; + } + + public void deleteByUserSid(String userSid) { + baseMapper.deleteByUserSid(userSid); + } + + public void delByUserSidAndRoleSid(String userSid, String roleSid) { + baseMapper.delByUserSidAndRoleSid(userSid,roleSid); + } + + public List selectByUserSid(String userSid) { + return baseMapper.selectByUserSid(userSid); + } + /*public void updateUserRole(SysUserRoleDto dto) { + //sysUserRoleService.deleteByUserSid(dto.getUserSid()); + SysUserRole entity = new SysUserRole(); + dto.fillEntity(entity); + this.saveOrUpdate (entity); + }*/ + + public ResultBean> getUserRoleSidByUserSid(String userSid) { + ResultBean> rb = ResultBean.fireFail(); + List stringList = new ArrayList<>(); + stringList = baseMapper.getUserRoleSidByUserSid(userSid); + return rb.success().setData(stringList); + } + + public ResultBean> getUserIdListByRoleSid(List roleList) { + return new ResultBean>().success().setData(baseMapper.getUserIdListByRoleSid(roleList)); + } +} diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/warehouseinformation/WarehouseInformationRest.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/warehouseinformation/WarehouseInformationRest.java index bd4eb59..82975f1 100644 --- a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/warehouseinformation/WarehouseInformationRest.java +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/warehouseinformation/WarehouseInformationRest.java @@ -1,12 +1,16 @@ package com.yxt.supervise.gf.biz.warehouseinformation; import com.yxt.common.core.result.ResultBean; +import com.yxt.supervise.gf.shanhai.ShRequester; +import com.yxt.supervise.gf.shanhai.resp.BaseResponse; +import com.yxt.supervise.gf.shanhai.resp.BaseResponseListObj; +import com.yxt.supervise.gf.shanhai.resp.StorehouseIndex; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; /** * @author feikefei @@ -25,4 +29,11 @@ public class WarehouseInformationRest { public ResultBean selectWarehouseInformation(){ return warehouseInformationService.selectWarehouseInformation(); } + + @PostMapping("/getWarehouse") + public ResultBean getWarehouse(@RequestBody Map map){ + ResultBean rb = ResultBean.fireFail(); + BaseResponse> api$system$storehouse$index = ShRequester.getApi$system$storehouse$index(null , null, map); + return rb.success().setData(api$system$storehouse$index); + } } diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/config/SaTokenConfigure.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/config/SaTokenConfigure.java new file mode 100644 index 0000000..c85b8da --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/config/SaTokenConfigure.java @@ -0,0 +1,24 @@ +package com.yxt.supervise.gf.config; + +import cn.dev33.satoken.interceptor.SaInterceptor; +import cn.dev33.satoken.stp.StpUtil; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.InterceptorRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +/** + * @author wangpengfei + * @date 2023/5/16 14:43 + */ +@Configuration +public class SaTokenConfigure implements WebMvcConfigurer { + + // 注册 Sa-Token 拦截器 +// @Override +// public void addInterceptors(InterceptorRegistry registry) { +// // 注册 Sa-Token 拦截器,校验规则为 StpUtil.checkLogin() 登录校验。 +// registry.addInterceptor(new SaInterceptor(handle -> StpUtil.checkLogin())) +// .addPathPatterns("/**") +// .excludePathPatterns("/gf/sys/doLogin"); +// } +} diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/ShRequester.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/ShRequester.java index 43fab0e..1f151e1 100644 --- a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/ShRequester.java +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/ShRequester.java @@ -35,6 +35,10 @@ public class ShRequester { private static String purchase_contract$get_info = "/api/system/purchase_contract/get_info"; //20.出入库合同详情 private static String storehouse$index = "/api/system/storehouse/index"; //22.仓库列表 private static String supplier$index = "/api/system/supplier/index"; //23.获取供应商 供应商列表 + + private static String purchase_contract$index = "/api/system/purchase_contract/index"; //24.查看合同 + private static String material_brand$index = "/api/system/material_brand/index"; //25.物料品牌 + private static String materiel$index = "/api/system/materiel/index"; //26.物料管理 /** * 1.待配货列表 * @@ -402,10 +406,9 @@ public class ShRequester { * @Param [record_type] * @return com.yxt.supervise.gf.shanhai.resp.BaseResponse> **/ - public static BaseResponse> getApi$system$stock_record$index(String record_type){ + public static BaseResponse> getApi$system$stock_record$index(String record_type,Map params){ BaseResponse> req = new BaseResponse<>(); BaseResponseListObj reqObj = new BaseResponseListObj<>(); - Map params = new HashMap<>(); params.put("record_type", record_type); String s = ShHttp.doGet(stock_record$index, params); BaseResponse> baseResponse = toBean(s, req, reqObj); @@ -454,13 +457,12 @@ public class ShRequester { * @Param [storehouse_code, storehouse_name] storehouse_code 仓库编号 storehouse_name 仓库名称 * @return com.yxt.supervise.gf.shanhai.resp.BaseResponse> **/ - public static BaseResponse> getApi$system$storehouse$index(String storehouse_code,String storehouse_name){ + public static BaseResponse> getApi$system$storehouse$index(String storehouse_code,String storehouse_name,Map map){ BaseResponse> req = new BaseResponse<>(); BaseResponseListObj reqObj = new BaseResponseListObj<>(); - Map params = new HashMap<>(); - params.put("storehouse_code", storehouse_code); - params.put("storehouse_name", storehouse_name); - String s = ShHttp.doGet(storehouse$index, params); + map.put("storehouse_code", storehouse_code); + map.put("storehouse_name", storehouse_name); + String s = ShHttp.doGet(storehouse$index, map); BaseResponse> baseResponse = toBean(s, req, reqObj); BeanUtil.copyProperties(baseResponse,req); List list = baseResponse.getData().getList(); @@ -479,10 +481,10 @@ public class ShRequester { * @Param [] * @return com.yxt.supervise.gf.shanhai.resp.BaseResponse> **/ - public static BaseResponse> getApi$system$supplier$index(){ + public static BaseResponse> getApi$system$supplier$index(Map map){ BaseResponse> req = new BaseResponse<>(); BaseResponseListObj reqObj = new BaseResponseListObj<>(); - String s = ShHttp.doGet(supplier$index, null); + String s = ShHttp.doGet(supplier$index, map); BaseResponse> baseResponse = toBean(s, req, reqObj); BeanUtil.copyProperties(baseResponse,req); List list = baseResponse.getData().getList(); @@ -496,6 +498,76 @@ public class ShRequester { return req; } + /** + * @Description //描述: 24. 查看合同 + * @Param [params] + * @return com.yxt.supervise.gf.shanhai.resp.BaseResponse> + **/ + public static BaseResponse> getApi$system$purchase_contract$index(Purchase_contract_index params){ + BaseResponse> req = new BaseResponse<>(); + BaseResponseListObj reqObj = new BaseResponseListObj<>(); + Map param = new HashMap<>(); + if (params != null){ + param = BeanUtil.beanToMap(params); + } + String s = ShHttp.doGet(purchase_contract$index, param); + BaseResponse> baseResponse = toBean(s, req, reqObj); + BeanUtil.copyProperties(baseResponse,req); + List list = baseResponse.getData().getList(); + List purchaseContractIndices = new ArrayList<>(); + for (JSONObject jsonObject : list) { + PurchaseContractIndex purchaseContractIndex = JSONUtil.toBean(jsonObject, PurchaseContractIndex.class); + purchaseContractIndices.add(purchaseContractIndex); + } + reqObj.setList(purchaseContractIndices); + req.setData(reqObj); + return req; + } + + /** + * @Description //描述: 25. 物料品牌 + * @Param [param] + * @return com.yxt.supervise.gf.shanhai.resp.BaseResponse> + **/ + public static BaseResponse> getApi$api$system$material_brand$index(Map param){ + BaseResponse> req = new BaseResponse<>(); + BaseResponseListObj reqObj = new BaseResponseListObj<>(); + String s = ShHttp.doGet(material_brand$index, param); + BaseResponse> baseResponse = toBean(s, req, reqObj); + BeanUtil.copyProperties(baseResponse,req); + List list = baseResponse.getData().getList(); + List materialBrandIndices = new ArrayList<>(); + for (JSONObject jsonObject : list) { + MaterialBrandIndex materialBrandIndex = JSONUtil.toBean(jsonObject, MaterialBrandIndex.class); + materialBrandIndices.add(materialBrandIndex); + } + reqObj.setList(materialBrandIndices); + req.setData(reqObj); + return req; + } + + /** + * @Description //描述: 26. 物料管理 + * @Param [param] + * @return com.yxt.supervise.gf.shanhai.resp.BaseResponse> + **/ + public static BaseResponse> getApi$system$materiel$index(Map param){ + BaseResponse> req = new BaseResponse<>(); + BaseResponseListObj reqObj = new BaseResponseListObj<>(); + String s = ShHttp.doGet(materiel$index, param); + BaseResponse> baseResponse = toBean(s, req, reqObj); + BeanUtil.copyProperties(baseResponse,req); + List list = baseResponse.getData().getList(); + List materielIndices = new ArrayList<>(); + for (JSONObject jsonObject : list) { + MaterielIndex materielIndex = JSONUtil.toBean(jsonObject, MaterielIndex.class); + materielIndices.add(materielIndex); + } + reqObj.setList(materielIndices); + req.setData(reqObj); + return req; + } + /** * @Description //描述: 将Json格式数据封装成统一返回对象 * @Param [s, resp, respObj] diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/req/In_stockIndex.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/req/In_stockIndex.java index fdcec1c..02efbfb 100644 --- a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/req/In_stockIndex.java +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/req/In_stockIndex.java @@ -31,5 +31,6 @@ public class In_stockIndex { private String status; @ApiModelProperty("审核级别 1为初审核,2为复审 ,0为无需审核") private String current_examine; - + private String page; + private String limit; } diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/req/Out_stockIndex.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/req/Out_stockIndex.java index 2bb42a7..97cd1b3 100644 --- a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/req/Out_stockIndex.java +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/req/Out_stockIndex.java @@ -32,6 +32,8 @@ public class Out_stockIndex { private Integer status; @ApiModelProperty("审核级别1为初审核,2为复审 ,0为无需审核") private Integer current_examine; - - + @ApiModelProperty + private String page; + @ApiModelProperty + private String limit; } diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/req/Purchase_contract_index.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/req/Purchase_contract_index.java new file mode 100644 index 0000000..00a5dfd --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/req/Purchase_contract_index.java @@ -0,0 +1,15 @@ +package com.yxt.supervise.gf.shanhai.req; + +import lombok.Data; + +/** + * @author feikefei + * @create 2023-09-01-15:16 + */ +@Data +public class Purchase_contract_index { + private String page; + private String limit; + private String ident_type="supplier"; + private String ident_id; +} diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/InStockGetInfo.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/InStockGetInfo.java index a312242..366d13a 100644 --- a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/InStockGetInfo.java +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/InStockGetInfo.java @@ -64,7 +64,7 @@ public class InStockGetInfo { @ApiModelProperty("当前审核次数") private String current_examine; @ApiModelProperty("物料信息") - private List maeriel; + private List maeriel; @ApiModelProperty("附件文件") private File file; @ApiModelProperty("") diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/MaterialBrandIndex.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/MaterialBrandIndex.java new file mode 100644 index 0000000..ecdec7a --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/MaterialBrandIndex.java @@ -0,0 +1,18 @@ +package com.yxt.supervise.gf.shanhai.resp; + +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * @author feikefei + * @create 2023-09-02-11:17 + */ +@Data +@ApiModel(value = "物料品牌") +public class MaterialBrandIndex { + private String id; + private String type; + private String brand_name; + private String create_time; + private String materiel_id; +} diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/Maeriel.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/Materiel.java similarity index 98% rename from yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/Maeriel.java rename to yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/Materiel.java index 9007eae..3b3b9b8 100644 --- a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/Maeriel.java +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/Materiel.java @@ -10,7 +10,7 @@ import lombok.Data; */ @Data @ApiModel(value = "出库申请",description = "物料信息") -public class Maeriel { +public class Materiel { @ApiModelProperty("id") private String id;//13519, @ApiModelProperty("所属申请记录id") diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/MaterielIndex.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/MaterielIndex.java new file mode 100644 index 0000000..2572e5e --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/MaterielIndex.java @@ -0,0 +1,32 @@ +package com.yxt.supervise.gf.shanhai.resp; + +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * @author feikefei + * @create 2023-09-02-11:33 + */ +@Data +@ApiModel(value = "物料管理") +public class MaterielIndex { + private String id; + private String materiel_group; + private String materiel_no; + private String materiel_name; + private String brand_name; + private String power; + private String material; + private String frame; + private String price; + private String remarks; + private String create_time; + private String unit; + private String inp_storehouse_type; + private String inp_package_val; + private String out_storehouse_type; + private String out_package_val; + private String data_json; + private String materiel_group_text; + private String create_time_text; +} diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/OutStockGetInfo.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/OutStockGetInfo.java index ca1da6c..529f8cf 100644 --- a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/OutStockGetInfo.java +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/OutStockGetInfo.java @@ -48,7 +48,7 @@ public class OutStockGetInfo { @ApiModelProperty("当前审核次数") private String current_examine;// string @ApiModelProperty("物料信息") - private List maeriel; + private List maeriel; @ApiModelProperty("附件文件") private List file; @ApiModelProperty("") diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/PurchaseContractIndex.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/PurchaseContractIndex.java new file mode 100644 index 0000000..f1b45d4 --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/PurchaseContractIndex.java @@ -0,0 +1,22 @@ +package com.yxt.supervise.gf.shanhai.resp; + +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * @author feikefei + * @create 2023-09-01-15:12 + */ +@Data +@ApiModel(value = "查看合同") +public class PurchaseContractIndex { + private String id; + private String type; + private String contract_name; + private String contract_date; + private String[] pic; + private String create_time; + private String ident_id; + private String ident_type; + private String contract_no; +}