Browse Source

常用功能

guarantee-lsq 7 months ago
parent
commit
18e05c6826

+ 88 - 0
platform-dao/src/main/java/com/platform/dao/dto/upms/CommonMenuDTO.java

@@ -0,0 +1,88 @@
+package com.platform.dao.dto.upms;
+
+import com.platform.common.bean.BaseDTO;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * @Description 常用菜单库DTO
+ * @Author lsq
+ * @Date 2023-12-25 14:06:26
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = true)
+public class CommonMenuDTO extends BaseDTO implements Serializable {
+    /**
+     * ID
+     */
+    private String id;
+    /**
+     * 菜单名称
+     */
+    private String name;
+    /**
+     * 路由地址
+     */
+    private String routerUrl;
+    /**
+     * 图标地址
+     */
+    private String iconPath;
+    /**
+     * 备注
+     */
+    private String remark;
+    /**
+     * 添加时间
+     */
+    private LocalDateTime createdTime;
+    /**
+     * 添加时间开始
+     */
+    private LocalDateTime createdTimeStart;
+    /**
+     * 添加时间结束
+     */
+    private LocalDateTime createdTimeEnd;
+    /**
+     * 创建人ID
+     */
+    private String createdUserId;
+    /**
+     * 创建人
+     */
+    private String createdUserName;
+    /**
+     * 入库日期
+     */
+    private LocalDateTime updateTime;
+    /**
+     * 入库日期开始
+     */
+    private LocalDateTime updateTimeStart;
+    /**
+     * 入库日期结束
+     */
+    private LocalDateTime updateTimeEnd;
+    /**
+     * 更新人ID
+     */
+    private String updateUserId;
+    /**
+     * 更新人
+     */
+    private String updateUserName;
+    /**
+     * 关键字
+     */
+    private String keyword;
+
+    private String searchUserId;
+
+}

+ 83 - 0
platform-dao/src/main/java/com/platform/dao/dto/upms/CommonMenuMineDTO.java

@@ -0,0 +1,83 @@
+package com.platform.dao.dto.upms;
+
+import com.platform.common.bean.BaseDTO;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * @Description 我的常用菜单库DTO
+ * @Author lsq
+ * @Date 2023-12-25 14:06:53
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = true)
+public class CommonMenuMineDTO extends BaseDTO implements Serializable {
+
+    /**
+     * ID
+     */
+    private String id;
+    /**
+     * 用户id
+     */
+    private String userId;
+    /**
+     * 菜单id
+     */
+    private String commonMenuId;
+    /**
+     * 收藏状态 0 加入 1 移除
+     */
+    private Integer status;
+    /**
+     * 添加时间
+     */
+    private LocalDateTime createdTime;
+    /**
+     * 添加时间开始
+     */
+    private LocalDateTime createdTimeStart;
+    /**
+     * 添加时间结束
+     */
+    private LocalDateTime createdTimeEnd;
+    /**
+     * 创建人ID
+     */
+    private String createdUserId;
+    /**
+     * 创建人
+     */
+    private String createdUserName;
+    /**
+     * 入库日期
+     */
+    private LocalDateTime updateTime;
+    /**
+     * 入库日期开始
+     */
+    private LocalDateTime updateTimeStart;
+    /**
+     * 入库日期结束
+     */
+    private LocalDateTime updateTimeEnd;
+    /**
+     * 更新人ID
+     */
+    private String updateUserId;
+    /**
+     * 更新人
+     */
+    private String updateUserName;
+    /**
+     * 关键字
+     */
+    private String keyword;
+
+}

+ 76 - 0
platform-dao/src/main/java/com/platform/dao/entity/upms/CommonMenu.java

@@ -0,0 +1,76 @@
+package com.platform.dao.entity.upms;
+
+import com.platform.common.bean.DataScope;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import javax.persistence.Id;
+import javax.persistence.Table;
+import javax.persistence.Transient;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * @Description 常用菜单库实体类
+ * @Author lsq
+ * @Date 2023-12-25 14:06:26
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@Data
+@Accessors(chain = true)
+@Table(name = "t_common_menu")
+public class CommonMenu implements Serializable {
+
+    /**
+     * ID
+     */
+    @Id
+    private String id;
+    /**
+     * 菜单名称
+     */
+    private String name;
+    /**
+     * 路由地址
+     */
+    private String routerUrl;
+    /**
+     * 图标地址
+     */
+    private String iconPath;
+    /**
+     * 备注
+     */
+    private String remark;
+    /**
+     * 添加时间
+     */
+    private LocalDateTime createdTime;
+    /**
+     * 创建人ID
+     */
+    private String createdUserId;
+    /**
+     * 创建人
+     */
+    private String createdUserName;
+    /**
+     * 入库日期
+     */
+    private LocalDateTime updateTime;
+    /**
+     * 更新人ID
+     */
+    private String updateUserId;
+    /**
+     * 更新人
+     */
+    private String updateUserName;
+
+    /**
+     * 数据权限
+     */
+    @Transient
+    private DataScope dataScope;
+
+}

+ 95 - 0
platform-dao/src/main/java/com/platform/dao/entity/upms/CommonMenuMine.java

@@ -0,0 +1,95 @@
+package com.platform.dao.entity.upms;
+
+import com.platform.common.bean.DataScope;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import javax.persistence.Id;
+import javax.persistence.Table;
+import javax.persistence.Transient;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * @Description 我的常用菜单库实体类
+ * @Author lsq
+ * @Date 2023-12-25 14:06:53
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@Data
+@Accessors(chain = true)
+@Table(name = "t_common_menu_mine")
+public class CommonMenuMine implements Serializable {
+    /**
+     * ID
+     */
+    @Id
+    private String id;
+    /**
+     * 用户id
+     */
+    private String userId;
+    /**
+     * 菜单id
+     */
+    private String commonMenuId;
+    /**
+     * 收藏状态 0 加入 1 移除
+     */
+    private Integer status;
+    /**
+     * 添加时间
+     */
+    private LocalDateTime createdTime;
+    /**
+     * 创建人ID
+     */
+    private String createdUserId;
+    /**
+     * 创建人
+     */
+    private String createdUserName;
+    /**
+     * 入库日期
+     */
+    private LocalDateTime updateTime;
+    /**
+     * 更新人ID
+     */
+    private String updateUserId;
+    /**
+     * 更新人
+     */
+    private String updateUserName;
+
+    /**
+     * 数据权限
+     */
+    @Transient
+    private DataScope dataScope;
+
+    @Transient
+    private Integer waitDoNum;//待办数
+
+    /**
+     * 菜单名称
+     */
+    @Transient
+    private String menuName;
+    /**
+     * 路由地址
+     */
+    @Transient
+    private String menuRouterUrl;
+    /**
+     * 图标地址
+     */
+    @Transient
+    private String menuIconPath;
+    /**
+     * 备注
+     */
+    @Transient
+    private String menuRemark;
+
+}

+ 27 - 0
platform-dao/src/main/java/com/platform/dao/mapper/upms/CommonMenuMapper.java

@@ -0,0 +1,27 @@
+package com.platform.dao.mapper.upms;
+
+import com.platform.dao.config.MyMapper;
+import com.platform.dao.dto.upms.CommonMenuDTO;
+import com.platform.dao.entity.upms.CommonMenu;
+import com.platform.dao.vo.query.upms.CommonMenuVO;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+
+/**
+ * @Description 常用菜单库 mapper
+ * @Author lsq
+ * @Date 2023-12-25 14:06:26
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@Component
+public interface CommonMenuMapper extends MyMapper<CommonMenu> {
+    /**
+     * 分页查询
+     * @param dto
+     * @return
+     */
+    List<CommonMenuVO> selectList(CommonMenuDTO dto);
+
+}

+ 27 - 0
platform-dao/src/main/java/com/platform/dao/mapper/upms/CommonMenuMineMapper.java

@@ -0,0 +1,27 @@
+package com.platform.dao.mapper.upms;
+
+import com.platform.dao.config.MyMapper;
+import com.platform.dao.dto.upms.CommonMenuMineDTO;
+import com.platform.dao.entity.upms.CommonMenuMine;
+import com.platform.dao.vo.query.upms.CommonMenuMineVO;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+
+/**
+ * @Description 我的常用菜单库 mapper
+ * @Author lsq
+ * @Date 2023-12-25 14:06:53
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@Component
+public interface CommonMenuMineMapper extends MyMapper<CommonMenuMine> {
+    /**
+     * 分页查询
+     * @param dto
+     * @return
+     */
+    List<CommonMenuMineVO> selectList(CommonMenuMineDTO dto);
+
+}

+ 81 - 0
platform-dao/src/main/java/com/platform/dao/vo/query/upms/CommonMenuMineVO.java

@@ -0,0 +1,81 @@
+package com.platform.dao.vo.query.upms;
+
+import com.platform.common.bean.BaseVO;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * @Description 我的常用菜单库VO结果类
+ * @Author lsq
+ * @Date 2023-12-25 14:06:53
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = true)
+public class CommonMenuMineVO extends BaseVO implements Serializable {
+    private Integer waitDoNum;
+    /**
+     * 菜单名称
+     */
+    private String menuName;
+    /**
+     * 路由地址
+     */
+    private String menuRouterUrl;
+    /**
+     * 图标地址
+     */
+    private String menuIconPath;
+    /**
+     * 备注
+     */
+    private String menuRemark;
+
+    /**
+     * ID
+     */
+    private String id;
+    /**
+     * 用户id
+     */
+    private String userId;
+    /**
+     * 菜单id
+     */
+    private String commonMenuId;
+    /**
+     * 收藏状态 0 加入 1 移除
+     */
+    private Integer status;
+    /**
+     * 添加时间
+     */
+    private LocalDateTime createdTime;
+    /**
+     * 创建人ID
+     */
+    private String createdUserId;
+    /**
+     * 创建人
+     */
+    private String createdUserName;
+    /**
+     * 入库日期
+     */
+    private LocalDateTime updateTime;
+    /**
+     * 更新人ID
+     */
+    private String updateUserId;
+    /**
+     * 更新人
+     */
+    private String updateUserName;
+
+
+}

+ 70 - 0
platform-dao/src/main/java/com/platform/dao/vo/query/upms/CommonMenuVO.java

@@ -0,0 +1,70 @@
+package com.platform.dao.vo.query.upms;
+
+import com.platform.common.bean.BaseVO;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * @Description 常用菜单库VO结果类
+ * @Author lsq
+ * @Date 2023-12-25 14:06:26
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = true)
+public class CommonMenuVO extends BaseVO implements Serializable {
+
+    /**
+     * ID
+     */
+    private String id;
+    /**
+     * 菜单名称
+     */
+    private String name;
+    /**
+     * 路由地址
+     */
+    private String routerUrl;
+    /**
+     * 图标地址
+     */
+    private String iconPath;
+    /**
+     * 备注
+     */
+    private String remark;
+    /**
+     * 添加时间
+     */
+    private LocalDateTime createdTime;
+    /**
+     * 创建人ID
+     */
+    private String createdUserId;
+    /**
+     * 创建人
+     */
+    private String createdUserName;
+    /**
+     * 入库日期
+     */
+    private LocalDateTime updateTime;
+    /**
+     * 更新人ID
+     */
+    private String updateUserId;
+    /**
+     * 更新人
+     */
+    private String updateUserName;
+
+    private String mineId;
+    private Integer mineStatus;
+
+}

+ 61 - 0
platform-dao/src/main/resources/mapper/upms/CommonMenuMapper.xml

@@ -0,0 +1,61 @@
+<?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.platform.dao.mapper.upms.CommonMenuMapper">
+    <sql id="List_Condition">
+        <if test="id != null and id != ''">
+            and menu.id = #{id}
+        </if>
+        <if test="name != null and name != ''">
+            and menu.name = #{name}
+        </if>
+        <if test="routerUrl != null and routerUrl != ''">
+            and menu.router_url = #{routerUrl}
+        </if>
+        <if test="iconPath != null and iconPath != ''">
+            and menu.icon_path = #{iconPath}
+        </if>
+        <if test="remark != null and remark != ''">
+            and menu.remark = #{remark}
+        </if>
+        <if test="createdTimeStart != null">
+            and menu.created_time <![CDATA[>=]]>; #{createdTimeStart}
+        </if>
+        <if test="createdTimeEnd != null">
+            and menu.created_time <![CDATA[<=]]> #{createdTimeEnd}
+        </if>
+        <if test="createdTime != null">
+            and menu.created_time = #{createdTime}
+        </if>
+        <if test="createdUserId != null and createdUserId != ''">
+            and menu.created_user_id = #{createdUserId}
+        </if>
+        <if test="createdUserName != null and createdUserName != ''">
+            and menu.created_user_name = #{createdUserName}
+        </if>
+        <if test="updateTimeStart != null">
+            and menu.update_time <![CDATA[>=]]>; #{updateTimeStart}
+        </if>
+        <if test="updateTimeEnd != null">
+            and menu.update_time <![CDATA[<=]]> #{updateTimeEnd}
+        </if>
+        <if test="updateTime != null">
+            and menu.update_time = #{updateTime}
+        </if>
+        <if test="updateUserId != null and updateUserId != ''">
+            and menu.update_user_id = #{updateUserId}
+        </if>
+        <if test="updateUserName != null and updateUserName != ''">
+            and menu.update_user_name = #{updateUserName}
+        </if>
+        <if test="keyword != null and keyword != ''">
+            and menu.id like concat(concat('%',#{keyword}),'%')
+        </if>
+    </sql>
+    <select id="selectList" parameterType="com.platform.dao.dto.upms.CommonMenuDTO" resultType="com.platform.dao.vo.query.upms.CommonMenuVO">
+        select menu.*
+        from t_common_menu as menu
+        <where>
+            <include refid="List_Condition" />
+        </where>
+    </select>
+</mapper>

+ 59 - 0
platform-dao/src/main/resources/mapper/upms/CommonMenuMineMapper.xml

@@ -0,0 +1,59 @@
+<?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.platform.dao.mapper.upms.CommonMenuMineMapper">
+    <sql id="List_Condition">
+        <if test="id != null and id != ''">
+            and menu_mine.id = #{id}
+        </if>
+        <if test="userId != null and userId != ''">
+            and menu_mine.user_id = #{userId}
+        </if>
+        <if test="commonMenuId != null and commonMenuId != ''">
+            and menu_mine.common_menu_id = #{commonMenuId}
+        </if>
+        <if test="status != null">
+            and menu_mine.status = #{status}
+        </if>
+        <if test="createdTimeStart != null">
+            and menu_mine.created_time <![CDATA[>=]]>; #{createdTimeStart}
+        </if>
+        <if test="createdTimeEnd != null">
+            and menu_mine.created_time <![CDATA[<=]]> #{createdTimeEnd}
+        </if>
+        <if test="createdTime != null">
+            and menu_mine.created_time = #{createdTime}
+        </if>
+        <if test="createdUserId != null and createdUserId != ''">
+            and menu_mine.created_user_id = #{createdUserId}
+        </if>
+        <if test="createdUserName != null and createdUserName != ''">
+            and menu_mine.created_user_name = #{createdUserName}
+        </if>
+        <if test="updateTimeStart != null">
+            and menu_mine.update_time <![CDATA[>=]]>; #{updateTimeStart}
+        </if>
+        <if test="updateTimeEnd != null">
+            and menu_mine.update_time <![CDATA[<=]]> #{updateTimeEnd}
+        </if>
+        <if test="updateTime != null">
+            and menu_mine.update_time = #{updateTime}
+        </if>
+        <if test="updateUserId != null and updateUserId != ''">
+            and menu_mine.update_user_id = #{updateUserId}
+        </if>
+        <if test="updateUserName != null and updateUserName != ''">
+            and menu_mine.update_user_name = #{updateUserName}
+        </if>
+        <if test="keyword != null and keyword != ''">
+            and menu_mine.id like concat(concat('%',#{keyword}),'%')
+        </if>
+    </sql>
+    <select id="selectList" parameterType="com.platform.dao.dto.upms.CommonMenuMineDTO" resultType="com.platform.dao.vo.query.upms.CommonMenuMineVO">
+        select menu_mine.*,menu.name as menuName,menu.router_url as menuRouterUrl,menu.icon_path as menuIconPath,menu.remark as menuRemark
+        from t_common_menu_mine as menu_mine
+        left join t_common_menu menu on menu.id = menu_mine.common_menu_id
+         <where>
+            <include refid="List_Condition" />
+        </where>
+    </select>
+</mapper>

+ 129 - 0
platform-rest/src/main/java/com/platform/rest/controller/upms/CommonMenuController.java

@@ -0,0 +1,129 @@
+package com.platform.rest.controller.upms;
+
+import com.platform.common.bean.AbstractPageResultBean;
+import com.platform.common.util.R;
+import com.platform.common.validation.group.AddGroup;
+import com.platform.common.validation.group.UpdateGroup;
+import com.platform.dao.dto.upms.CommonMenuDTO;
+import com.platform.dao.entity.upms.CommonMenu;
+import com.platform.dao.vo.query.upms.CommonMenuVO;
+import com.platform.rest.log.annotation.SysLog;
+import com.platform.service.upms.CommonMenuService;
+import lombok.AllArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * @Description 常用菜单库 控制器
+ * @Author lsq
+ * @Date 2023-12-25 14:06:26
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/common/menu")
+public class CommonMenuController {
+
+  private final  CommonMenuService commonMenuService;
+
+  /**
+   * 通过id查询单条记录
+   *
+   * @param id 主键
+   * @return R
+   */
+  @GetMapping("/{id}")
+  public R<CommonMenu> getById(@PathVariable("id") String id){
+      return new R<>(commonMenuService.getModelById(id));
+  }
+
+  /**
+   * 新增记录
+   *
+   * @param commonMenuDTO 常用菜单库DTO
+   * @return R
+   */
+  @SysLog("新增常用菜单库")
+  @PostMapping
+  @PreAuthorize("@pms.hasPermission('common-menu-add')")
+  public R save(@Validated({AddGroup.class}) @RequestBody CommonMenuDTO commonMenuDTO) {
+      return new R<>(commonMenuService.saveModelByDTO(commonMenuDTO));
+  }
+
+  /**
+   * 修改记录
+   *
+   * @param commonMenuDTO 常用菜单库DTO
+   * @return R
+   */
+  @SysLog("修改常用菜单库")
+  @PutMapping("/{id}")
+  @PreAuthorize("@pms.hasPermission('common-menu-edit')")
+  public R update(@PathVariable("id") String id, @Validated({UpdateGroup.class}) @RequestBody CommonMenuDTO commonMenuDTO) {
+      commonMenuService.modModelByDTO(commonMenuDTO);
+      return new R<>();
+  }
+
+
+
+  /**
+   * 通过id删除一条记录
+   *
+   * @param id 主键
+   * @return R
+   */
+  @SysLog("删除常用菜单库")
+  @DeleteMapping("/{id}")
+  @PreAuthorize("@pms.hasPermission('common-menu-del')")
+  public R removeById(@PathVariable String id){
+    commonMenuService.deleteByPrimaryKey(id);
+    return new R<>();
+  }
+
+    /**
+     * 批量记录
+     *
+     * @param ids 主键
+     * @return R
+     */
+    @SysLog("批量删除常用菜单库")
+    @DeleteMapping("")
+    @PreAuthorize("@pms.hasPermission('common-menu-del')")
+    public R removeIds(@RequestBody List<String> ids){
+        commonMenuService.batchDelete(ids);
+        return new R<>();
+    }
+
+  /**
+   * 获取分页
+   *
+   * @param pageNum 当前页码
+   * @param pageSize 每页条数
+   * @param commonMenuDTO 常用菜单库DTO
+   * @return R
+   */
+  @GetMapping("/page")
+  public R<AbstractPageResultBean<CommonMenuVO>> query(CommonMenuDTO commonMenuDTO, @RequestParam(defaultValue = "1") int pageNum, @RequestParam(defaultValue = "20") int pageSize) {
+      return new R<>(commonMenuService.selectPageList(commonMenuDTO, pageNum, pageSize));
+  }
+
+  @GetMapping("/choose/page")
+  public R<AbstractPageResultBean<CommonMenuVO>> query2(CommonMenuDTO commonMenuDTO, @RequestParam(defaultValue = "1") int pageNum, @RequestParam(defaultValue = "20") int pageSize) {
+    return new R<>(commonMenuService.selectPageList2(commonMenuDTO, pageNum, pageSize));
+  }
+
+  /**
+   * 获取列表
+   *
+   * @param commonMenuDTO 常用菜单库DTO
+   * @return R
+   */
+  @GetMapping("")
+  public R query(CommonMenuDTO commonMenuDTO) {
+    List<CommonMenu> commonMenuVOS = commonMenuService.getModelListByDTO(commonMenuDTO);
+      return new R<>(commonMenuVOS);
+  }
+}

+ 125 - 0
platform-rest/src/main/java/com/platform/rest/controller/upms/CommonMenuMineController.java

@@ -0,0 +1,125 @@
+package com.platform.rest.controller.upms;
+
+import com.platform.common.bean.AbstractPageResultBean;
+import com.platform.common.util.R;
+import com.platform.common.validation.group.AddGroup;
+import com.platform.common.validation.group.UpdateGroup;
+import com.platform.dao.dto.upms.CommonMenuMineDTO;
+import com.platform.dao.entity.upms.CommonMenuMine;
+import com.platform.dao.vo.query.upms.CommonMenuMineVO;
+import com.platform.rest.log.annotation.SysLog;
+import com.platform.service.upms.CommonMenuMineService;
+import lombok.AllArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * @Description 我的常用菜单库 控制器
+ * @Author lsq
+ * @Date 2023-12-25 14:06:53
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/common/menu-mine")
+public class CommonMenuMineController {
+
+    private final CommonMenuMineService commonMenuMineService;
+
+    /**
+     * 通过id查询单条记录
+     *
+     * @param id 主键
+     * @return R
+     */
+    @GetMapping("/{id}")
+    public R<CommonMenuMine> getById(@PathVariable("id") String id) {
+        return new R<>(commonMenuMineService.getModelById(id));
+    }
+
+    /**
+     * 新增记录
+     *
+     * @param commonMenuMineDTO 我的常用菜单库DTO
+     * @return R
+     */
+    @SysLog("新增我的常用菜单库")
+    @PostMapping
+//  @PreAuthorize("@pms.hasPermission('common-menu-mine-add')")
+    public R save(@Validated({AddGroup.class}) @RequestBody CommonMenuMineDTO commonMenuMineDTO) {
+        return new R<>(commonMenuMineService.saveModelByDTO(commonMenuMineDTO));
+    }
+
+    /**
+     * 修改记录
+     *
+     * @param commonMenuMineDTO 我的常用菜单库DTO
+     * @return R
+     */
+    @SysLog("修改我的常用菜单库")
+    @PutMapping("/{id}")
+//  @PreAuthorize("@pms.hasPermission('common-menu-mine-edit')")
+    public R update(@PathVariable("id") String id, @Validated({UpdateGroup.class}) @RequestBody CommonMenuMineDTO commonMenuMineDTO) {
+        commonMenuMineService.modModelByDTO(commonMenuMineDTO);
+        return new R<>();
+    }
+
+
+    /**
+     * 通过id删除一条记录
+     *
+     * @param id 主键
+     * @return R
+     */
+    @SysLog("删除我的常用菜单库")
+    @DeleteMapping("/{id}")
+    @PreAuthorize("@pms.hasPermission('common-menu-mine-del')")
+    public R removeById(@PathVariable String id) {
+        commonMenuMineService.deleteByPrimaryKey(id);
+        return new R<>();
+    }
+
+    /**
+     * 批量记录
+     *
+     * @param ids 主键
+     * @return R
+     */
+    @SysLog("批量删除我的常用菜单库")
+    @DeleteMapping("")
+    @PreAuthorize("@pms.hasPermission('common-menu-mine-del')")
+    public R removeIds(@RequestBody List<String> ids) {
+        commonMenuMineService.batchDelete(ids);
+        return new R<>();
+    }
+
+    /**
+     * 获取分页
+     *
+     * @param pageNum           当前页码
+     * @param pageSize          每页条数
+     * @param commonMenuMineDTO 我的常用菜单库DTO
+     * @return R
+     */
+    @GetMapping("/page")
+    public R<AbstractPageResultBean<CommonMenuMineVO>> query(CommonMenuMineDTO commonMenuMineDTO, @RequestParam(defaultValue = "1") int pageNum, @RequestParam(defaultValue = "20") int pageSize) {
+        return new R<>(commonMenuMineService.selectPageList(commonMenuMineDTO, pageNum, pageSize));
+    }
+
+    /**
+     * 获取列表
+     *
+     * @param commonMenuMineDTO 我的常用菜单库DTO
+     * @return R
+     */
+    @GetMapping("")
+    public R query(CommonMenuMineDTO commonMenuMineDTO) {
+        List<CommonMenuMine> commonMenuMines = commonMenuMineService.getModelListByDTO(commonMenuMineDTO);
+
+        return new R<>(commonMenuMines);
+    }
+
+}

+ 37 - 0
platform-service/src/main/java/com/platform/service/upms/CommonMenuMineService.java

@@ -0,0 +1,37 @@
+package com.platform.service.upms;
+
+import com.platform.common.bean.AbstractPageResultBean;
+import com.platform.dao.dto.upms.CommonMenuMineDTO;
+import com.platform.dao.entity.upms.CommonMenuMine;
+import com.platform.dao.vo.query.upms.CommonMenuMineVO;
+import com.platform.service.base.IBaseService;
+
+import java.util.List;
+
+/**
+ * @Description 我的常用菜单库 service
+ * @Author lsq
+ * @Date 2023-12-25 14:06:53
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+public interface CommonMenuMineService extends IBaseService<CommonMenuMine, CommonMenuMineDTO> {
+
+    /**
+     * 批量删除
+     *
+     * @param ids :
+     * @return :
+     */
+    int batchDelete(List<String> ids);
+
+    /**
+     * 分页查询
+     *
+     * @param record
+     * @param pageNum
+     * @param pageSize
+     * @return
+     */
+    AbstractPageResultBean<CommonMenuMineVO> selectPageList(CommonMenuMineDTO record, int pageNum, int pageSize);
+
+}

+ 39 - 0
platform-service/src/main/java/com/platform/service/upms/CommonMenuService.java

@@ -0,0 +1,39 @@
+package com.platform.service.upms;
+
+import com.platform.common.bean.AbstractPageResultBean;
+import com.platform.dao.dto.upms.CommonMenuDTO;
+import com.platform.dao.entity.upms.CommonMenu;
+import com.platform.dao.vo.query.upms.CommonMenuVO;
+import com.platform.service.base.IBaseService;
+
+import java.util.List;
+
+/**
+ * @Description 常用菜单库 service
+ * @Author lsq
+ * @Date 2023-12-25 14:06:26
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+public interface CommonMenuService extends IBaseService<CommonMenu, CommonMenuDTO> {
+
+    /**
+     * 批量删除
+     *
+     * @param ids :
+     * @return :
+     */
+    int batchDelete(List<String> ids);
+
+    /**
+     * 分页查询
+     *
+     * @param record
+     * @param pageNum
+     * @param pageSize
+     * @return
+     */
+    AbstractPageResultBean<CommonMenuVO> selectPageList(CommonMenuDTO record, int pageNum, int pageSize);
+
+    AbstractPageResultBean<CommonMenuVO> selectPageList2(CommonMenuDTO record, int pageNum, int pageSize);
+
+}

+ 92 - 0
platform-service/src/main/java/com/platform/service/upms/impl/CommonMenuMineServiceImpl.java

@@ -0,0 +1,92 @@
+package com.platform.service.upms.impl;
+
+import com.github.pagehelper.PageHelper;
+import com.platform.common.bean.AbstractPageResultBean;
+import com.platform.common.model.UserInfo;
+import com.platform.common.util.SecurityUtils;
+import com.platform.dao.bean.MyPage;
+import com.platform.dao.dto.upms.CommonMenuMineDTO;
+import com.platform.dao.entity.upms.CommonMenu;
+import com.platform.dao.entity.upms.CommonMenuMine;
+import com.platform.dao.mapper.upms.CommonMenuMapper;
+import com.platform.dao.mapper.upms.CommonMenuMineMapper;
+import com.platform.dao.vo.query.upms.CommonMenuMineVO;
+import com.platform.service.base.impl.BaseServiceImpl;
+import com.platform.service.upms.CommonMenuMineService;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+import tk.mybatis.mapper.weekend.Weekend;
+import tk.mybatis.mapper.weekend.WeekendCriteria;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Description 我的常用菜单库 service 实现类
+ * @Author lsq
+ * @Date 2023-12-25 14:06:53
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@AllArgsConstructor
+@Service("commonMenuMineService")
+public class CommonMenuMineServiceImpl extends BaseServiceImpl<CommonMenuMineMapper, CommonMenuMine, CommonMenuMineDTO> implements CommonMenuMineService {
+    private CommonMenuMapper commonMenuMapper;
+
+    @Override
+    public CommonMenuMine getModelById(Object id) {
+        CommonMenuMine menuMine = super.getModelById(id);
+        CommonMenu menu = commonMenuMapper.selectByPrimaryKey(menuMine.getCommonMenuId());
+        menuMine.setMenuName(menu.getName());
+        menuMine.setMenuIconPath(menu.getIconPath());
+        menuMine.setMenuRemark(menu.getRemark());
+        menuMine.setMenuRouterUrl(menu.getRouterUrl());
+        return menuMine;
+    }
+
+    @Override
+    public List<CommonMenuMine> getModelListByDTO(CommonMenuMineDTO model) {
+        List<CommonMenuMine> commonMenuMines = super.getModelListByDTO(model);
+        if (commonMenuMines==null){
+            commonMenuMines = new ArrayList<>();
+        }
+        return commonMenuMines;
+    }
+
+    @Override
+    public CommonMenuMine saveModelByDTO(CommonMenuMineDTO model) {
+        UserInfo userInfo = SecurityUtils.getUserInfo();
+        CommonMenuMine commonMenuMine = new CommonMenuMine();
+        commonMenuMine.setUserId(userInfo.getUserId());
+        commonMenuMine.setCommonMenuId(model.getCommonMenuId());
+        CommonMenuMine menuMine = mapper.selectOne(commonMenuMine);
+        if (menuMine!=null){
+            menuMine.setStatus(0);
+            mapper.updateByPrimaryKeySelective(menuMine);
+            return menuMine;
+        }else {
+            return super.saveModelByDTO(model);
+        }
+    }
+
+    @Override
+    public int batchDelete(List<String> ids) {
+        Weekend<CommonMenuMine> weekend = new Weekend<>(CommonMenuMine.class);
+        WeekendCriteria<CommonMenuMine, Object> weekendCriteria = weekend.weekendCriteria();
+        weekendCriteria.andIn(CommonMenuMine::getId, ids);
+        mapper.deleteByExample(weekend);
+        return 1;
+    }
+
+    @Override
+    public AbstractPageResultBean<CommonMenuMineVO> selectPageList(CommonMenuMineDTO record, int pageNum, int pageSize) {
+        PageHelper.startPage(pageNum, pageSize);
+        return new MyPage(mapper.selectList(record));
+    }
+
+    @Override
+    public AbstractPageResultBean<CommonMenuMine> selectPageInfo(CommonMenuMineDTO record, int pageNum, int pageSize) {
+        PageHelper.startPage(pageNum, pageSize);
+        return new MyPage(mapper.selectList(record));
+    }
+
+                                                                                                                            }

+ 93 - 0
platform-service/src/main/java/com/platform/service/upms/impl/CommonMenuServiceImpl.java

@@ -0,0 +1,93 @@
+package com.platform.service.upms.impl;
+
+import com.github.pagehelper.PageHelper;
+import com.platform.common.bean.AbstractPageResultBean;
+import com.platform.common.model.UserInfo;
+import com.platform.common.util.SecurityUtils;
+import com.platform.dao.bean.MyPage;
+import com.platform.dao.dto.upms.CommonMenuDTO;
+import com.platform.dao.entity.upms.CommonMenu;
+import com.platform.dao.entity.upms.CommonMenuMine;
+import com.platform.dao.mapper.upms.CommonMenuMapper;
+import com.platform.dao.mapper.upms.CommonMenuMineMapper;
+import com.platform.dao.vo.query.upms.CommonMenuVO;
+import com.platform.service.base.impl.BaseServiceImpl;
+import com.platform.service.upms.CommonMenuService;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+import tk.mybatis.mapper.weekend.Weekend;
+import tk.mybatis.mapper.weekend.WeekendCriteria;
+
+import java.util.List;
+
+/**
+ * @Description 常用菜单库 service 实现类
+ * @Author lsq
+ * @Date 2023-12-25 14:06:26
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@AllArgsConstructor
+@Service("commonMenuService")
+
+public class CommonMenuServiceImpl extends BaseServiceImpl<CommonMenuMapper, CommonMenu, CommonMenuDTO> implements CommonMenuService {
+    private CommonMenuMineMapper commonMenuMineMapper;
+
+    @Override
+    public int batchDelete(List<String> ids) {
+        Weekend<CommonMenu> weekend = new Weekend<>(CommonMenu.class);
+        WeekendCriteria<CommonMenu, Object> weekendCriteria = weekend.weekendCriteria();
+        weekendCriteria.andIn(CommonMenu::getId, ids);
+        mapper.deleteByExample(weekend);
+        return 1;
+    }
+
+    @Override
+    public List<CommonMenu> getModelListByDTO(CommonMenuDTO model) {
+        return super.getModelListByDTO(model);
+    }
+
+    @Override
+    public AbstractPageResultBean<CommonMenuVO> selectPageList(CommonMenuDTO record, int pageNum, int pageSize) {
+        PageHelper.startPage(pageNum, pageSize);
+        return new MyPage(mapper.selectList(record));
+    }
+
+    @Override
+    public AbstractPageResultBean<CommonMenuVO> selectPageList2(CommonMenuDTO record, int pageNum, int pageSize) {
+        UserInfo userInfo = SecurityUtils.getUserInfo();
+        PageHelper.startPage(pageNum, pageSize);
+        List<CommonMenuVO> commonMenuVOS = mapper.selectList(record);
+        CommonMenuMine commonMenuMine = new CommonMenuMine();
+//        commonMenuMine.setCreatedUserId("1");
+        commonMenuMine.setCreatedUserId(userInfo.getUserId());
+        List<CommonMenuMine> commonMenuMines = commonMenuMineMapper.select(commonMenuMine);
+        if (commonMenuVOS != null) {
+            for (CommonMenuVO commonMenuVO : commonMenuVOS) {
+                Boolean flag = false;
+                if (commonMenuMines != null)
+                    for (CommonMenuMine mine : commonMenuMines) {
+                        if (mine.getCommonMenuId().equals(commonMenuVO.getId())) {
+                            flag = true;
+                            commonMenuVO.setMineId(mine.getId());
+                            if (mine.getStatus() == 0) {
+                                commonMenuVO.setMineStatus(0);
+                            } else {
+                                commonMenuVO.setMineStatus(1);
+                            }
+                        }
+                    }
+                if (!flag) {
+                    commonMenuVO.setMineStatus(1);
+                }
+            }
+        }
+        return new MyPage<>(commonMenuVOS);
+    }
+
+    @Override
+    public AbstractPageResultBean<CommonMenu> selectPageInfo(CommonMenuDTO record, int pageNum, int pageSize) {
+        PageHelper.startPage(pageNum, pageSize);
+        return new MyPage(mapper.selectList(record));
+    }
+
+}