From 21587d964a6a43c4dff50a405b42509ce47504e7 Mon Sep 17 00:00:00 2001
From: liuxm <liuxm@fescotech.com>
Date: 星期五, 26 四月 2024 15:14:24 +0800
Subject: [PATCH] 添加权限分页,分类型查询

---
 pms-parent/pms-web-base/src/main/java/com/dy/pmsBase/privilege/PriSv.java         |   46 +++++++++++
 pms-parent/pms-web-base/src/main/java/com/dy/pmsBase/privilege/PrivilegeCtrl.java |   66 ++++++++++++++++
 pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/daoBa/BaPrivilegeMapper.java |    8 ++
 pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/pojoBa/BaPrivilege.java      |    7 +
 pms-parent/pms-web-base/src/main/java/com/dy/pmsBase/privilege/QueryVo.java       |   17 ++++
 pms-parent/pms-global/src/main/resources/mapper/BaPrivilegeMapper.xml             |   65 +++++++++++++++-
 6 files changed, 205 insertions(+), 4 deletions(-)

diff --git a/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/daoBa/BaPrivilegeMapper.java b/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/daoBa/BaPrivilegeMapper.java
index 0af28a4..de69388 100644
--- a/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/daoBa/BaPrivilegeMapper.java
+++ b/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/daoBa/BaPrivilegeMapper.java
@@ -1,10 +1,13 @@
 package com.dy.pmsGlobal.daoBa;
 
+import com.dy.pmsGlobal.pojoBa.BaLog;
 import com.dy.pmsGlobal.pojoBa.BaPrivilege;
+import org.apache.ibatis.annotations.MapKey;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 @Mapper
 public interface BaPrivilegeMapper {
@@ -16,6 +19,11 @@
      * @return List<BaPrivilege>
      */
     List<BaPrivilege> selectAll() ;
+
+    List<BaPrivilege> selectSome(Map<String, Object> params);
+
+    Long selectSomeCount(Map<String, Object> params);
+
     List<BaPrivilege> selectByIds(List<String> ids) ;
 
     /**
diff --git a/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/pojoBa/BaPrivilege.java b/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/pojoBa/BaPrivilege.java
index 2df3dde..0fda674 100644
--- a/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/pojoBa/BaPrivilege.java
+++ b/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/pojoBa/BaPrivilege.java
@@ -58,4 +58,11 @@
     @Length(message = "鏉冮檺绫诲瀷涓嶅ぇ浜巤max}瀛楋紝涓嶅皬浜巤min}瀛�", min = 4, max = 4)
     public Integer type;
 
+    /**
+     * 绫诲埆鍚嶇О
+     */
+    @NotEmpty(message = "绫诲埆鍚嶇О涓嶈兘涓虹┖") //涓嶈兘涓虹┖涔熶笉鑳戒负null
+    @Length(message = "鏉冮檺绫诲瀷涓嶅ぇ浜巤max}瀛楋紝涓嶅皬浜巤min}瀛�", min = 3, max = 6)
+    public String typeName;
+
 }
\ No newline at end of file
diff --git a/pms-parent/pms-global/src/main/resources/mapper/BaPrivilegeMapper.xml b/pms-parent/pms-global/src/main/resources/mapper/BaPrivilegeMapper.xml
index 37fa18a..7fd878d 100644
--- a/pms-parent/pms-global/src/main/resources/mapper/BaPrivilegeMapper.xml
+++ b/pms-parent/pms-global/src/main/resources/mapper/BaPrivilegeMapper.xml
@@ -8,10 +8,11 @@
     <result column="num" property="num" />
     <result column="name" property="name" />
     <result column="type" property="type" />
+    <result column="type_name" property="typeName" />
   </resultMap>
   <sql id="Base_Column_List">
     <!--@mbg.generated-->
-    id, num, `name`, `type`
+    id, num, `name`, `type`,type_name
   </sql>
   <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
     <!--@mbg.generated-->
@@ -67,8 +68,8 @@
 
   <insert id="insert" parameterType="com.dy.pmsGlobal.pojoBa.BaPrivilege">
     <!--@mbg.generated-->
-    insert into ba_privilege (id, num, `name`, `type`)
-    values (#{id}, #{num}, #{name}, #{type})
+    insert into ba_privilege (id, num, `name`, `type`,type_name)
+    values (#{id}, #{num}, #{name}, #{type}, #{typeName})
   </insert>
   <insert id="insertSelective" parameterType="com.dy.pmsGlobal.pojoBa.BaPrivilege">
     <!--@mbg.generated-->
@@ -86,6 +87,9 @@
       <if test="type != null">
         `type`,
       </if>
+      <if test="typeName != null">
+        type_name,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="id != null">
@@ -99,6 +103,9 @@
       </if>
       <if test="type != null">
         #{type},
+      </if>
+      <if test="typeName != null">
+        #{typeName},
       </if>
     </trim>
   </insert>
@@ -115,6 +122,9 @@
       <if test="type != null">
         `type` = #{type},
       </if>
+      <if test="typeName != null">
+        type_name = #{typeName},
+      </if>
     </set>
     where id = #{id}
   </update>
@@ -123,7 +133,8 @@
     update ba_privilege
     set num = #{num},
       `name` = #{name},
-      `type` = #{type}
+      `type` = #{type},
+       type_name = #{typeName}
     where id = #{id}
   </update>
 
@@ -141,4 +152,50 @@
       #{id}
     </foreach>
   </select>
+
+  <select id="selectSome" resultType="com.dy.pmsGlobal.pojoBa.BaPrivilege">
+    select
+      <include refid="Base_Column_List" />
+    from ba_privilege
+    <trim prefix="where " suffixOverrides="and">
+      <if test="num != null and num != ''">
+        num = #{num,jdbcType=INTEGER} and
+      </if>
+      <if test="name != null and name != ''">
+        name like concat('%', #{name}, '%') and
+      </if>
+      <if test="typeName != null  and typeName != '' ">
+        type_name like concat('%', #{typeName}, '%') and
+      </if>
+      <if test="type != null and type != ''">
+        type = #{type,jdbcType=INTEGER} and
+      </if>
+    </trim>
+    order by id desc
+    <trim prefix="limit " >
+      <if test="start != null and count != null">
+        #{start}, #{count}
+      </if>
+    </trim>
+  </select>
+
+  <select id="selectSomeCount" resultType="java.lang.Long">
+    select
+    count(1)
+    from ba_privilege
+    <trim prefix="where " suffixOverrides="and">
+      <if test="num != null and num != ''">
+        num = #{num,jdbcType=INTEGER} and
+      </if>
+      <if test="name != null and name != ''">
+        name like concat('%', #{name}, '%') and
+      </if>
+      <if test="typeName != null  and typeName != '' ">
+        type_name like concat('%', #{typeName}, '%') and
+      </if>
+      <if test="type != null and type != ''">
+        type = #{type,jdbcType=INTEGER} and
+      </if>
+    </trim>
+  </select>
 </mapper>
\ No newline at end of file
diff --git a/pms-parent/pms-web-base/src/main/java/com/dy/pmsBase/privilege/PriSv.java b/pms-parent/pms-web-base/src/main/java/com/dy/pmsBase/privilege/PriSv.java
new file mode 100644
index 0000000..8339844
--- /dev/null
+++ b/pms-parent/pms-web-base/src/main/java/com/dy/pmsBase/privilege/PriSv.java
@@ -0,0 +1,46 @@
+package com.dy.pmsBase.privilege;
+
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pmsGlobal.daoBa.BaPrivilegeMapper;
+import com.dy.pmsGlobal.pojoBa.BaPrivilege;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.dubbo.common.utils.PojoUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+@Slf4j
+@Service
+public class PriSv {
+
+    private BaPrivilegeMapper dao;
+    @Autowired
+    public void setDao(BaPrivilegeMapper dao) {
+        this.dao = dao;
+    }
+
+    /**
+     * 鑾峰彇瑙掕壊鍒楄〃
+     */
+    public QueryResultVo<List<BaPrivilege>> selectSome(QueryVo queryVo) {
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
+        //鏌ヨ绗﹀悎鏉′欢鐨勮褰曟�绘暟
+        Long itemTotal = dao.selectSomeCount(params);
+        QueryResultVo<List<BaPrivilege>> rsVo = new QueryResultVo<>(queryVo.pageSize, queryVo.pageCurr) ;
+        //璁$畻鍒嗛〉绛変俊鎭�
+        rsVo.calculateAndSet(itemTotal, params);
+        //鏌ヨ绗﹀悎鏉′欢鐨勮褰�
+        rsVo.obj = dao.selectSome(params) ;
+        return rsVo ;
+    }
+
+    public Map<String, List<BaPrivilege>> selectByType(){
+        List<BaPrivilege> priList = dao.selectAll();
+        Map<String, List<BaPrivilege>> map = priList.stream()
+                .collect(Collectors.groupingBy(BaPrivilege::getTypeName));
+        return map;
+    }
+}
diff --git a/pms-parent/pms-web-base/src/main/java/com/dy/pmsBase/privilege/PrivilegeCtrl.java b/pms-parent/pms-web-base/src/main/java/com/dy/pmsBase/privilege/PrivilegeCtrl.java
new file mode 100644
index 0000000..307dec3
--- /dev/null
+++ b/pms-parent/pms-web-base/src/main/java/com/dy/pmsBase/privilege/PrivilegeCtrl.java
@@ -0,0 +1,66 @@
+package com.dy.pmsBase.privilege;
+
+import com.dy.common.aop.SsoPowerAop;
+import com.dy.common.webUtil.BaseResponse;
+import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pmsGlobal.aop.Log;
+import com.dy.pmsGlobal.daoBa.BaPrivilegeMapper;
+import com.dy.pmsGlobal.pojoBa.BaPrivilege;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * 鏉冮檺绠$悊
+ */
+@Slf4j
+@RestController
+@RequestMapping(path="pri")
+@SuppressWarnings("unchecked")
+public class PrivilegeCtrl {
+    private PriSv sv;
+    @Autowired
+    public PrivilegeCtrl(PriSv sv){
+        this.sv = sv;
+    }
+
+    /**
+     * 鍒嗙被鍨嬫煡璇㈡潈闄�
+     * @return
+     */
+    @GetMapping(path="getByType")
+    @SsoPowerAop(power = "10100010")
+    public BaseResponse<Map<String, List<BaPrivilege>>> getByType(){
+       try {
+           return BaseResponseUtils.buildSuccess(sv.selectByType());
+       }catch (Exception e){
+            log.error("鍒嗙被鍨嬭幏鍙栨潈闄�",e);
+            return BaseResponseUtils.buildException(e.getMessage());
+       }
+    }
+
+    /**
+     * 鍒嗛〉鏌ヨ鏉冮檺
+     * @param vo
+     * @return
+     */
+    @RequestMapping(path="some")
+    @SsoPowerAop(power = "10100010")
+    @Log("鏌ヨ鏉冮檺淇℃伅")
+    public BaseResponse<QueryResultVo<List<BaPrivilege>>> some(@RequestBody QueryVo vo){
+        try {
+            return BaseResponseUtils.buildSuccess(sv.selectSome(vo));
+        }catch (Exception e){
+            log.error("鍒嗛〉鑾峰彇鏉冮檺",e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+    }
+
+}
diff --git a/pms-parent/pms-web-base/src/main/java/com/dy/pmsBase/privilege/QueryVo.java b/pms-parent/pms-web-base/src/main/java/com/dy/pmsBase/privilege/QueryVo.java
new file mode 100644
index 0000000..e3a44d0
--- /dev/null
+++ b/pms-parent/pms-web-base/src/main/java/com/dy/pmsBase/privilege/QueryVo.java
@@ -0,0 +1,17 @@
+package com.dy.pmsBase.privilege;
+
+import com.dy.common.webUtil.QueryConditionVo;
+import lombok.*;
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ToString(callSuper = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class QueryVo extends QueryConditionVo {
+    public String name;
+    public Integer num;
+    public Integer type;
+    public String typeName;
+}

--
Gitblit v1.8.0