From d76ee745d82d0525f88d9eeebed23961130ccccd Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期二, 09 一月 2024 15:22:57 +0800
Subject: [PATCH] 2024-01-09 朱宝民 重构农户查询接口
---
pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/user/UserCtrl.java | 13 ++-
pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaUserRoleMapper.xml | 13 ++++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoBa/BaUserMapper.java | 8 ++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoBa/BaUserRoleMapper.java | 10 +++
pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockCtrl.java | 6 +
pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaBlockMapper.xml | 8 +-
pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaUserMapper.xml | 16 +++++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voBa/VoUserInfo.java | 18 +++--
pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaRoleMapper.xml | 2
pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/user/UserSv.java | 44 +++++++++++++-
pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/role/RoleCtrl.java | 9 ++-
11 files changed, 120 insertions(+), 27 deletions(-)
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoBa/BaUserMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoBa/BaUserMapper.java
index e0ebca4..cd7bc13 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoBa/BaUserMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoBa/BaUserMapper.java
@@ -91,6 +91,14 @@
* 鏍规嵁鐢ㄦ埛缂栧彿鑾峰彇鐢ㄦ埛淇℃伅
* @param userId 鐢ㄦ埛缂栧彿
* @return 鐢ㄦ埛淇℃伅鍒楄〃
+ * 2024-01-09 搴熷純
*/
List<VoUserInfo> getUserInfos(@Param("userId") Long userId);
+
+ /**
+ * 鏍规嵁鐢ㄦ埛缂栧彿鑾峰彇鐢ㄦ埛淇℃伅
+ * @param userId
+ * @return
+ */
+ Map getUserInfoById(@Param("userId") Long userId);
}
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoBa/BaUserRoleMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoBa/BaUserRoleMapper.java
index d5ee293..c122bb3 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoBa/BaUserRoleMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoBa/BaUserRoleMapper.java
@@ -5,6 +5,9 @@
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
+import java.util.List;
+import java.util.Map;
+
@Mapper
public interface BaUserRoleMapper extends BaseMapper<BaUserRole> {
@@ -43,4 +46,11 @@
* @return deleteCount
*/
int deleteByRoleId(@Param("roleId") Long roleId);
+
+ /**
+ * 鏍规嵁鐢ㄦ埛缂栧彿鑾峰彇鏉冮檺鍒楄〃
+ * @param userId
+ * @return
+ */
+ List<Map<String, Object>> getPermissionsByUserId(@Param("userId") Long userId);
}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voBa/VoUserInfo.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voBa/VoUserInfo.java
index e750264..b73434c 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voBa/VoUserInfo.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voBa/VoUserInfo.java
@@ -4,6 +4,9 @@
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
+import java.util.List;
+import java.util.Map;
+
/**
* @author ZhuBaoMin
* @date 2023/12/20 10:19
@@ -22,12 +25,13 @@
@Schema(title = "鐢ㄦ埛濮撳悕")
private String userName;
- @Schema(title = "瑙掕壊ID")
- private Long roleId;
+ @Schema(title = "瑙掕壊缂栧彿鍒楄〃")
+ private List<Map<String, Object>> roleIds;
- @Schema(title = "瑙掕壊鍚嶇О")
- private String roleName;
+ @Schema(title = "瑙掕壊鍚嶇О鍒楄〃")
+ private List<Map<String, Object>> roleNames;
- @Schema(title = "鎺堟潈鍒楄〃")
- private String permissions;
-}
+ @Schema(title = "鏉冮檺鍒楄〃")
+ private List<Map<String, Object>> permissions;
+
+}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaBlockMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaBlockMapper.xml
index 1110ae8..81d2965 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaBlockMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaBlockMapper.xml
@@ -50,7 +50,7 @@
phone = '#{phone,jdbcType=VARCHAR}' and
</if>
<if test="area != null">
- area = #{area,jdbcType=INTEGER} and
+ area = ${area} and
</if>
</trim>
</select>
@@ -70,7 +70,7 @@
phone = '#{phone,jdbcType=VARCHAR}' and
</if>
<if test="area != null">
- area = #{area,jdbcType=INTEGER} and
+ area = ${area} and
</if>
</trim>
order by id DESC
@@ -169,10 +169,10 @@
color = #{color,jdbcType=VARCHAR},
</if>
<if test="remark != null">
- color = #{remark,jdbcType=VARCHAR},
+ remark = #{remark,jdbcType=VARCHAR},
</if>
<if test="deleted != null">
- color = #{deleted,typeHandler=com.dy.common.mybatis.envm.EnumCodeTypeHandler, jdbcType=TINYINT},
+ deleted = #{deleted,typeHandler=com.dy.common.mybatis.envm.EnumCodeTypeHandler, jdbcType=TINYINT},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaRoleMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaRoleMapper.xml
index 20afb5d..79c6dfa 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaRoleMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaRoleMapper.xml
@@ -22,7 +22,7 @@
</sql>
<sql id="part_Column_List">
- id, name
+ id, name, deleted
</sql>
<select id="selectAll" resultMap="BaseResultMap">
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaUserMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaUserMapper.xml
index 0383d9c..66fbe78 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaUserMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaUserMapper.xml
@@ -223,6 +223,7 @@
</delete>
<!--鏍规嵁鐢ㄦ埛缂栧彿鑾峰彇鐢ㄦ埛淇℃伅-->
+ <!--2024-01-09 搴熷純-->
<select id="getUserInfos" resultType="com.dy.pipIrrGlobal.voBa.VoUserInfo">
SELECT
user.id AS userId,
@@ -240,4 +241,19 @@
</if>
</where>
</select>
+
+ <!--鏍规嵁鐢ㄦ埛缂栧彿鑾峰彇鐢ㄦ埛淇℃伅-->
+ <select id="getUserInfoById" resultType="java.util.Map">
+ SELECT
+ id AS userId,
+ name AS userName
+ FROM ba_user
+ <where>
+ AND disabled = 0
+ AND deleted = 0
+ <if test = "userId != null and userId > 0">
+ AND ba_user.id = ${userId}
+ </if>
+ </where>
+ </select>
</mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaUserRoleMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaUserRoleMapper.xml
index ccdf6ef..8575482 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaUserRoleMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaUserRoleMapper.xml
@@ -60,4 +60,17 @@
where userId = #{roleId,jdbcType=BIGINT}
</delete>
+ <!--鏍规嵁鐢ㄦ埛缂栧彿鑾峰彇鏉冮檺鍒楄〃-->
+ <select id="getPermissionsByUserId" resultType="java.util.Map">
+ SELECT
+ rol.id AS roleId,
+ rol.`name` AS roleName,
+ per.permissions
+ FROM ba_user_role use_rol
+ INNER JOIN ba_role rol ON rol.id = use_rol.roleId
+ INNER JOIN ba_role_permissions per ON per.roleId = rol.id
+ WHERE use_rol.userId = ${userId}
+
+ </select>
+
</mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockCtrl.java
index 341e897..0e864db 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockCtrl.java
@@ -99,7 +99,8 @@
schema = @Schema(implementation = BaBlock.class))}
)
})
- @GetMapping(path = "one", consumes = MediaType.TEXT_PLAIN_VALUE)
+ //@GetMapping(path = "one", consumes = MediaType.TEXT_PLAIN_VALUE)
+ @GetMapping(path = "one")
@SsoAop()
public BaseResponse<BaBlock> one(Long id){
return BaseResponseUtils.buildSuccess(this.sv.selectById(id));
@@ -192,7 +193,8 @@
schema = @Schema(implementation = Boolean.class))}
)
})
- @GetMapping(path = "delete", consumes = MediaType.TEXT_PLAIN_VALUE)
+ //@GetMapping(path = "delete", consumes = MediaType.TEXT_PLAIN_VALUE)
+ @GetMapping(path = "delete")
@SsoAop()
public BaseResponse<Boolean> delete(Long id){
if(id == null){
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/role/RoleCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/role/RoleCtrl.java
index 23dd172..be75abb 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/role/RoleCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/role/RoleCtrl.java
@@ -108,7 +108,8 @@
schema = @Schema(implementation = BaRole.class))}
)
})
- @GetMapping(path = "one", consumes = MediaType.TEXT_PLAIN_VALUE)
+ //@GetMapping(path = "one", consumes = MediaType.TEXT_PLAIN_VALUE)
+ @GetMapping(path = "one")
@SsoAop()
public BaseResponse<BaRole> one(Long id){
return BaseResponseUtils.buildSuccess(this.sv.selectById(id));
@@ -204,7 +205,8 @@
schema = @Schema(implementation = Boolean.class))}
)
})
- @GetMapping(path = "setPrivs", consumes = MediaType.APPLICATION_JSON_VALUE)
+ //@GetMapping(path = "setPrivs", consumes = MediaType.APPLICATION_JSON_VALUE)
+ @PostMapping(path = "setPrivs", consumes = MediaType.APPLICATION_JSON_VALUE)
@SsoAop()
public BaseResponse<Boolean> setPrivileges(Long id, Long[] privIds){
Long[] privIds_lg = null ;
@@ -237,7 +239,8 @@
schema = @Schema(implementation = Boolean.class))}
)
})
- @GetMapping(path = "delete", consumes = MediaType.TEXT_PLAIN_VALUE)
+ //@GetMapping(path = "delete", consumes = MediaType.TEXT_PLAIN_VALUE)
+ @GetMapping(path = "delete")
@SsoAop()
public BaseResponse<Boolean> delete(Long id){
if(id == null){
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/user/UserCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/user/UserCtrl.java
index 1d7f0ab..3aa4298 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/user/UserCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/user/UserCtrl.java
@@ -113,7 +113,8 @@
schema = @Schema(implementation = BaUser.class))}
)
})
- @GetMapping(path = "one", consumes = MediaType.TEXT_PLAIN_VALUE)
+ //@GetMapping(path = "one", consumes = MediaType.TEXT_PLAIN_VALUE)
+ @GetMapping(path = "one")
@SsoAop()
public BaseResponse<BaUser> one(String id) {
return BaseResponseUtils.buildSuccess(this.sv.selectById(Long.parseLong(id)));
@@ -227,7 +228,8 @@
schema = @Schema(implementation = Boolean.class))}
)
})
- @GetMapping(path = "changePassword", consumes = MediaType.TEXT_PLAIN_VALUE)
+ //@GetMapping(path = "changePassword", consumes = MediaType.TEXT_PLAIN_VALUE)
+ @GetMapping(path = "changePassword")
@SsoAop()
public BaseResponse<Boolean> changePassword(String id, String oldPassword, String newPassword) throws Exception {
if (id == null) {
@@ -452,7 +454,8 @@
schema = @Schema(implementation = Boolean.class))}
)
})
- @GetMapping(path = "delete", consumes = MediaType.TEXT_PLAIN_VALUE)
+ //@GetMapping(path = "delete", consumes = MediaType.TEXT_PLAIN_VALUE)
+ @GetMapping(path = "delete")
@SsoAop()
public BaseResponse<Boolean> delete(String id) {
if (id == null) {
@@ -488,9 +491,9 @@
})
@GetMapping("/getUserInfos/{userId}")
@SsoAop()
- public BaseResponse<QueryResultVo<List<VoUserInfo>>> getUserInfos(@PathVariable("userId") Long userId) {
+ public BaseResponse<QueryResultVo<VoUserInfo>> getUserInfos(@PathVariable("userId") Long userId) {
try {
- List<VoUserInfo> res = this.sv.getUserInfos(userId);
+ VoUserInfo res = this.sv.getUserInfos(userId);
System.out.println(" :" + res);
return BaseResponseUtils.buildSuccess(res);
} catch (Exception e) {
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/user/UserSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/user/UserSv.java
index ebe2415..1a41c18 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/user/UserSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/user/UserSv.java
@@ -1,6 +1,9 @@
package com.dy.pipIrrBase.user;
+import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONArray;
+import com.alibaba.fastjson2.JSONObject;
import com.dy.common.webUtil.QueryResultVo;
import com.dy.pipIrrGlobal.daoBa.BaUserMapper;
import com.dy.pipIrrGlobal.daoBa.BaUserRoleMapper;
@@ -13,9 +16,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import java.util.List;
-import java.util.Map;
-import java.util.Random;
+import java.util.*;
@Slf4j
@Service
@@ -168,7 +169,40 @@
* @param userId 鐢ㄦ埛缂栧彿
* @return 鐢ㄦ埛淇℃伅鍒楄〃
*/
- public List<VoUserInfo> getUserInfos(Long userId) {
- return dao.getUserInfos(userId);
+ public VoUserInfo getUserInfos(Long userId) {
+ VoUserInfo voUserInfo = new VoUserInfo();
+ String permission = "";
+ Map map = Optional.ofNullable(dao.getUserInfoById(userId)).orElse(new HashMap());
+ if(map.size() > 0) {
+ voUserInfo.setUserId(userId);
+ voUserInfo.setUserName(map.get("userName").toString());
+ }
+
+ List list_roleIds = new ArrayList();
+ List list_roleNames = new ArrayList();
+ List list_permissions = new ArrayList();
+
+ List<Map<String, Object>> list = Optional.ofNullable(urDao.getPermissionsByUserId(userId)).orElse(new ArrayList<>());
+ if(list.size() > 0) {
+ JSONArray array= JSONArray.parseArray(JSON.toJSONString(list));
+ for (int i = 0; i < array.size(); i++) {
+ JSONObject job = array.getJSONObject(i);
+ list_roleIds.add(job.getLong("roleId"));
+ list_roleNames.add(job.getString("roleName"));
+
+ String permissions = Optional.ofNullable(job.getString("permissions")).orElse("");
+ if(permissions.length() > 0) {
+ permissions = permissions.substring(1, permissions.length() - 1);
+ permissions= permissions.replace(String.valueOf(" "), "");
+ permission = permission + permissions + ",";
+ }
+ }
+ voUserInfo.setRoleIds(list_roleIds);
+ voUserInfo.setRoleNames(list_roleNames);
+ permission = permission.substring(0, permission.length()-1);
+ list_permissions.add(permission);
+ voUserInfo.setPermissions(list_permissions);
+ }
+ return voUserInfo;
}
}
--
Gitblit v1.8.0