609324174@qq.com 4 vuotta sitten
vanhempi
commit
f25af0ddd0

+ 2 - 0
user_center/src/main/java/com/huaxu/UserCenterApplication.java

@@ -9,9 +9,11 @@ import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
 import org.springframework.context.ApplicationContext;
 
 import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
 
 @EnableDiscoveryClient
 @SpringBootApplication
+@EnableSwagger2
 public class UserCenterApplication {
 
     public static void main(String[] args) {

+ 1 - 1
user_center/src/main/java/com/huaxu/config/ResourceServerConfig.java

@@ -17,7 +17,7 @@ public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
                 .and()
                 .authorizeRequests()
                 .antMatchers("/swagger-ui.html","/webjars/**", "/webjars/**", "/swagger-resources/**",
-                        "/v2/**","/app/**","/user/**")
+                        "/v2/**","/app/**","/user/**","/menu/**")
                 .permitAll() //配置不需要身份认证的请求路径
                 .anyRequest().authenticated() //其他所有访问路径都需要身份认证
                 .and()

+ 92 - 0
user_center/src/main/java/com/huaxu/controller/MenuController.java

@@ -0,0 +1,92 @@
+package com.huaxu.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.huaxu.entity.UserEntity;
+import com.huaxu.model.AjaxMessage;
+import com.huaxu.model.Pagination;
+import com.huaxu.model.ResultStatus;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.ui.ModelMap;
+import java.util.Map;
+import java.util.Date;
+import org.springframework.web.bind.annotation.*;
+import com.huaxu.entity.MenuEntity;
+import com.huaxu.service.MenuService;
+
+/**
+ * 菜单页面控制器
+ * @author WYY
+ * @date 2020-10-26 16:15
+ */
+@RestController
+@RequestMapping("/menu")
+@Api(tags = "菜单管理")
+public class MenuController {
+    @Autowired
+    private MenuService menuService;
+
+    @ApiOperation(value = "分页查询菜单信息")
+    @RequestMapping(value = "/selectPage",method = RequestMethod.POST)
+    public  AjaxMessage<Pagination<MenuEntity>> list(@RequestParam Integer pageNum, @RequestParam Integer pageSize,@ApiParam(value = "菜单信息", required = false)@RequestBody MenuEntity menuEntity) {
+        IPage<MenuEntity> iPage = new Page<>(pageNum, pageSize);
+        iPage = menuService.findPage(iPage, menuEntity);
+        Pagination<MenuEntity> pages = new Pagination<>(iPage);
+        return new AjaxMessage<>(ResultStatus.OK, pages);
+    }
+
+    /**
+     * 新增
+     */
+    @ApiOperation(value = "新增菜单信息")
+    @RequestMapping(value = "/add", method = RequestMethod.POST)
+    public AjaxMessage<Integer> addMenu(@ApiParam(value = "菜单信息", required = true)@RequestBody  MenuEntity menu) {
+        int result = menuService.addMenu(menu) ? 1 : 0;
+        return new AjaxMessage<>(ResultStatus.OK, result);
+    }
+
+    /**
+     * 按ID查询菜单
+     */
+    @ApiOperation(value = "按ID查询菜单")
+    @GetMapping(value = "/findMenuById")
+    public AjaxMessage<MenuEntity> edit(@ApiParam(value = "菜单ID", required = true) @RequestParam Long id) {
+        MenuEntity menu = menuService.findMenuById(id);
+        return new AjaxMessage<>(ResultStatus.OK, menu);
+    }
+
+    /**
+     * 修改保存菜单
+     */
+    @ApiOperation(value = "修改保存菜单")
+    @RequestMapping(value = "/edit", method = RequestMethod.POST)
+    public  AjaxMessage<Integer> editMenu(@ApiParam(value = "菜单信息", required = true)@RequestBody MenuEntity menu) {
+        int result = menuService.updateMenuById(menu) ? 1 : 0;
+        return new AjaxMessage<>(ResultStatus.OK, result);
+    }
+
+    /**
+     * 删除
+     */
+    @ApiOperation(value = "批量删除菜单")
+    @RequestMapping(value = "/deleteByIds", method = RequestMethod.DELETE)
+    public AjaxMessage<Integer> deleteByIds(@ApiParam(value = "菜单IDS", required = true)@RequestParam Long[] ids) {
+        int result = menuService.delMenuByIds(ids) ? 1 : 0;
+        return new AjaxMessage<>(ResultStatus.OK, result);
+    }
+
+    /**
+     * 删除
+     */
+    @ApiOperation(value = "单个删除菜单")
+    @RequestMapping(value = "/deleteById", method = RequestMethod.DELETE)
+    public AjaxMessage<Integer> deleteById(@ApiParam(value = "菜单ID", required = true) @RequestParam Long id) {
+        int result = menuService.delMenuById(id) ? 1 : 0;
+        return new AjaxMessage<>(ResultStatus.OK, result);
+    }
+}

+ 2 - 2
user_center/src/main/java/com/huaxu/controller/UserController.java

@@ -115,7 +115,7 @@ public class UserController {
     @ApiOperation(value = "按ID进行批量删除")
     @RequestMapping(value = "/deleteUserByIds", method = RequestMethod.DELETE)
     @ResponseBody
-    public AjaxMessage<Integer> del(@ApiParam(value = "用户ID", required = true) Long[] ids) {
+    public AjaxMessage<Integer> deleteUserByIds(@ApiParam(value = "用户ID", required = true) @RequestParam Long[] ids) {
         int result = userService.delUserByIds(ids) ? 1 : 0;
         return new AjaxMessage<>(ResultStatus.OK, result);
     }
@@ -125,7 +125,7 @@ public class UserController {
     @ApiOperation(value = "按ID进行单个删除")
     @RequestMapping(value = "/deleteUserById", method = RequestMethod.DELETE)
     @ResponseBody
-    public AjaxMessage<Integer> del(@ApiParam(value = "用户ID", required = true)Long id) {
+    public AjaxMessage<Integer> deleteUserById(@ApiParam(value = "用户ID", required = true)@RequestParam Long id) {
         int result = userService.delUserById(id) ? 1 : 0;
         return new AjaxMessage<>(ResultStatus.OK, result);
     }

+ 32 - 0
user_center/src/main/java/com/huaxu/dao/MenuMapper.java

@@ -0,0 +1,32 @@
+package com.huaxu.dao;
+
+import com.huaxu.entity.MenuEntity;
+import java.io.Serializable;
+import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+/**
+ *
+ * uims_menuDAO接口
+ * @author: WYY
+ * @date 2020-10-26 16:15
+ */
+@Mapper
+public interface MenuMapper extends BaseMapper<MenuEntity> {
+
+	/**
+     * 自定义分页查询
+     * @param  page 
+     * @param  menuEntity 实体类
+     */
+     Page<MenuEntity> findPage(IPage<MenuEntity> page, @Param("menu") MenuEntity menuEntity);
+
+     MenuEntity findMenuById(Serializable id);
+
+     List<MenuEntity> findList(MenuEntity menuEntity);
+
+     /**删除相关方法  使用mybatis-plus集成的 **/
+}

+ 97 - 0
user_center/src/main/java/com/huaxu/entity/MenuEntity.java

@@ -0,0 +1,97 @@
+package com.huaxu.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.util.Date;
+
+/**
+ * uims_menu
+ * @author: WYY
+ * @date 2020-10-26 16:15
+ */
+@Data
+@TableName("uims_menu")
+public class MenuEntity {
+
+    private static final long serialVersionUID = 1L;
+
+    /** 主键 */ 
+    @TableId(value = "id",type = IdType.AUTO)
+    @ApiModelProperty(value = "主键")
+    private Long id;
+
+    /** 应用ID */
+    @ApiModelProperty(value = "应用ID")
+    private String appId;
+
+    /** 应用方菜单ID */
+    @ApiModelProperty(value = "应用方菜单ID")
+    private Long thirdMenuId;
+
+    /** 上级菜单ID */
+    @ApiModelProperty(value = "上级菜单ID")
+    private Long parentMenuId;
+
+    /** 名称 */
+    @ApiModelProperty(value = "名称")
+    private String name;
+
+    /** 图标 */
+    @ApiModelProperty(value = "图标")
+    private String menuImage;
+
+    /** 权限标识 */
+    @ApiModelProperty(value = "权限标识")
+    private String permissionFlag;
+
+    /** 链接路径 */
+    @ApiModelProperty(value = "链接路径")
+    private String linkPath;
+
+    /** 序列 */
+    @ApiModelProperty(value = "序列")
+    private Long seq;
+
+    /** 显示状态 */
+    @ApiModelProperty(value = "显示状态")
+    private Integer showState;
+
+    /** 是否租户可见 */
+    @ApiModelProperty(value = "是否租户可见")
+    private Integer isTenant;
+
+    /** 是否管理员可见 */
+    @ApiModelProperty(value = "是否管理员可见")
+    private Integer isAdmin;
+
+    /** 创建者 */
+    @ApiModelProperty(value = "创建者")
+    private String createBy;
+
+    /** 创建时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
+    @NotNull(message = "参数值不能为空")
+    @ApiModelProperty(value = "创建时间")
+    private Date dateCreate;
+
+    /** 更新者 */
+    @ApiModelProperty(value = "更新者")
+    private String updateBy;
+
+    /** dateUpdate */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
+    @NotNull(message = "参数值不能为空")
+    @ApiModelProperty(value = "修改时间")
+    private Date dateUpdate;
+
+    /** status */
+    @ApiModelProperty(value = "启用状态")
+    @TableLogic
+    private Integer status;
+
+}

+ 1 - 0
user_center/src/main/java/com/huaxu/entity/UserEntity.java

@@ -83,6 +83,7 @@ public class UserEntity implements Serializable {
 
     /** 数据删除标记 */
     @ApiModelProperty(value = "数据删除标记")
+    @TableLogic
     private Integer status;
     /** 创建者 */
     @ApiModelProperty(value = "创建者")

+ 81 - 0
user_center/src/main/java/com/huaxu/service/MenuService.java

@@ -0,0 +1,81 @@
+package com.huaxu.service;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.huaxu.dao.MenuMapper;
+import com.huaxu.entity.MenuEntity;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import javax.annotation.Resource;
+import org.springframework.transaction.annotation.Transactional;
+import java.util.Map;
+import java.util.List;
+import java.util.Arrays;
+/**
+ *
+ * 菜单Service接口
+ * @author: WYY
+ * @date 2020-10-26 16:15
+ */
+@Service
+public class MenuService extends ServiceImpl<MenuMapper,MenuEntity> {
+
+	@Resource
+	private MenuMapper menuMapper;
+	/**
+	 * 自定义分页查询,含关联实体对像
+	 */
+	public IPage<MenuEntity> findPage(IPage<MenuEntity> page, MenuEntity menuEntity) {
+		Page<MenuEntity> ipage = menuMapper.findPage(page, menuEntity);
+		return ipage;
+	}
+
+	/**
+	 * 查列表
+	 */
+	public List<MenuEntity> findList(MenuEntity menuEntity) {
+		return menuMapper.findList(menuEntity);
+	}
+
+	/**
+	 * 批量删除
+	 */
+	@Transactional(rollbackFor = Exception.class)
+	public boolean delMenuByIds(Long[] ids) {
+		return this.removeByIds(Arrays.asList(ids));
+	}
+
+	/**
+	 * 单个删除
+	 */
+	public boolean delMenuById(Long id) {
+		return this.removeById(id);
+	}
+
+	/**
+	 * 保存
+	 */
+	public boolean addMenu(MenuEntity menu) {
+		if (this.save(menu)) {
+			return true;
+		}
+		return false;
+	}
+	/**
+	 * 修改根居ID
+	 */
+	public boolean updateMenuById(MenuEntity menu) {
+		if (this.updateById(menu)) {
+			return true;
+		}
+		return false;
+	}
+	/**
+	 * 根居ID获取对象
+	 */
+	public MenuEntity findMenuById(Long id) {
+		return menuMapper.findMenuById(id);
+	}
+}

+ 2 - 0
user_center/src/main/resources/application-dev.properties

@@ -11,6 +11,8 @@ spring.datasource.driver-class-name=com.mysql.jdbc.Driver
 mybatis-plus.mapper-locations=classpath:mapper/*.xml
 mybatis-plus.type-aliases-package=com.huaxu.entity
 mybatis-plus.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
+mybatis-plus.global-config.db-config.logic-delete-value=0 
+mybatis-plus.global-config.db-config.logic-not-delete-value=1
 spring.jackson.time-zone=GMT+8
 #spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
 #spring.jackson.joda-date-time-format: yyyy-MM-dd HH:mm:ss

+ 5 - 5
user_center/src/main/resources/application-sit.properties

@@ -22,11 +22,11 @@ spring.datasource.druid.max-active=20
 spring.datasource.druid.max-wait=60000
 spring.datasource.druid.initial-size=1
 
-mybatis.mapper-locations=classpath*:mapper/*.xml
-mybatis.type-aliases-package=com.zcxk.*.entity
-mybatis.configuration.map-underscore-to-camel-case=true
-mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
-mybatis.configuration.use-column-label=true
+mybatis-plus.mapper-locations=classpath:mapper/*.xml
+mybatis-plus.type-aliases-package=com.huaxu.entity
+mybatis-plus.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
+mybatis-plus.global-config.db-config.logic-delete-value=0 
+mybatis-plus.global-config.db-config.logic-not-delete-value=1
 
 spring.jackson.time-zone=GMT+8
 #spring.jackson.date-format=yyyy-MM-dd HH:mm:ss

+ 5 - 5
user_center/src/main/resources/application-uat.properties

@@ -22,11 +22,11 @@ spring.datasource.druid.max-active=20
 spring.datasource.druid.max-wait=60000
 spring.datasource.druid.initial-size=1
 
-mybatis.mapper-locations=classpath*:mapper/*.xml
-mybatis.type-aliases-package=com.zcxk.*.entity
-mybatis.configuration.map-underscore-to-camel-case=true
-mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
-mybatis.configuration.use-column-label=true
+mybatis-plus.mapper-locations=classpath:mapper/*.xml
+mybatis-plus.type-aliases-package=com.huaxu.entity
+mybatis-plus.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
+mybatis-plus.global-config.db-config.logic-delete-value=0 
+mybatis-plus.global-config.db-config.logic-not-delete-value=1
 
 spring.jackson.time-zone=GMT+8
 #spring.jackson.date-format=yyyy-MM-dd HH:mm:ss

+ 84 - 0
user_center/src/main/resources/mapper/MenuMapper.xml

@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huaxu.dao.MenuMapper">
+    <resultMap type="MenuEntity" id="MenuResult">
+        <result property="id" column="id"/>
+        <result property="appId" column="app_id"/>
+        <result property="thirdMenuId" column="third_menu_id"/>
+        <result property="parentMenuId" column="parent_menu_id"/>
+        <result property="name" column="name"/>
+        <result property="menuImage" column="menu_image"/>
+        <result property="permissionFlag" column="permission_flag"/>
+        <result property="linkPath" column="link_path"/>
+        <result property="seq" column="seq"/>
+        <result property="showState" column="show_state"/>
+        <result property="remark" column="remark"/>
+        <result property="isTenant" column="is_tenant"/>
+        <result property="isAdmin" column="is_admin"/>
+        <result property="dateCreate" column="date_create"/>
+        <result property="createBy" column="create_by"/>
+        <result property="dateUpdate" column="date_update"/>
+        <result property="updateBy" column="update_by"/>
+        <result property="status" column="status"/>
+    </resultMap>
+    <!--  实体栏位  -->
+    <sql id="menuColumns">
+         a.id as "id" ,
+         a.app_id as "appId" ,
+         a.third_menu_id as "thirdMenuId" ,
+         a.parent_menu_id as "parentMenuId" ,
+         a.name as "name" ,
+         a.menu_image as "menuImage" ,
+         a.permission_flag as "permissionFlag" ,
+         a.link_path as "linkPath" ,
+         a.seq as "seq" ,
+         a.show_state as "showState" ,
+         a.remark as "remark" ,
+         a.is_tenant as "isTenant" ,
+         a.is_admin as "isAdmin" ,
+         a.date_create as "dateCreate" ,
+         a.create_by as "createBy" ,
+         a.date_update as "dateUpdate" ,
+         a.update_by as "updateBy" ,
+         a.status as "status" 
+     </sql>
+
+    <!--  根据主键获取实体   -->
+    <select id="findMenuById" resultType="com.huaxu.entity.MenuEntity">
+        SELECT
+        <include refid="menuColumns"/>
+        FROM uims_menu a
+        WHERE a.id = #{id} and a.status=1
+    </select>
+
+    <!--  根据获取实体List   -->
+    <select id="findList" resultType="com.huaxu.entity.MenuEntity">
+        SELECT
+        <include refid="menuColumns"/>
+        FROM uims_menu a
+        <where>
+            a.status=1
+            <if test="name != null  and name != ''">
+                and a.name LIKE concat('%',#{name},'%')
+            </if>
+            <if test="parentMenuId != null  and parentMenuId != ''">
+                and a.PARENT_MENU_ID = #{parentMenuId}
+            </if>
+        </where>
+    </select>
+
+    <!--  根据获取实体 page   -->
+    <select id="findPage" resultType="com.huaxu.entity.MenuEntity">
+        SELECT
+        <include refid="menuColumns"/>
+        FROM uims_menu a
+        <where>
+             a.status=1
+            <if test="menu.name != null  and menu.name != ''">
+                and a.name LIKE concat('%',#{menu.name},'%')
+            </if>
+        </where>
+    </select>
+</mapper>

+ 3 - 1
user_center/src/main/resources/mapper/UserMapper.xml

@@ -57,7 +57,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 			<include refid="userColumns"/>
 		FROM  uims_user a
 		<include refid="sysAreaJoins"/>
-		WHERE a.id = #{id}
+		WHERE a.id = #{id} and  a.status=1
     </select>
      <!--  根据获取实体List   -->
      <select id="findList" resultType="com.huaxu.entity.UserEntity">
@@ -66,6 +66,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		FROM uims_user a
          <include refid="sysAreaJoins"/>
 		<where>
+            a.status=1
             <if test="tenantId != null  and tenantId != ''"> and a.tenant_id = #{tenantId} </if>
             <if test="username != null  and username != ''">
                      and a.username LIKE  concat('%',#{username},'%')
@@ -82,6 +83,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		FROM uims_user a
 		<include refid="sysAreaJoins"/>
 		<where>
+            a.status=1
             <if test="user.tenantId != null  and user.tenantId != ''"> and a.tenant_id = #{user.tenantId} </if>
             <if test="user.username != null  and user.username != ''">
                    and a.username LIKE  concat('%',#{user.username},'%')