From 790b1289743814fc378ca62532d7be4534455668 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期一, 17 三月 2025 14:48:36 +0800
Subject: [PATCH] bug修改
---
springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/HomeController.java | 113 ++++++++++++++++++++++++++++++++++----------------------
1 files changed, 69 insertions(+), 44 deletions(-)
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/HomeController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/HomeController.java
index ee4f1e5..88402c0 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/HomeController.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/HomeController.java
@@ -1,39 +1,30 @@
package com.panzhihua.sangeshenbian.controller;
import com.alibaba.fastjson.JSONArray;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.controller.BaseController;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.R;
-import com.panzhihua.common.service.user.UserService;
+import com.panzhihua.common.redis.RedisUtils;
import com.panzhihua.sangeshenbian.model.entity.Banner;
import com.panzhihua.sangeshenbian.model.entity.Department;
+import com.panzhihua.sangeshenbian.model.entity.PartyMember;
import com.panzhihua.sangeshenbian.model.entity.SystemUser;
import com.panzhihua.sangeshenbian.model.query.BasePage;
import com.panzhihua.sangeshenbian.model.vo.ComplaintTodoVO;
import com.panzhihua.sangeshenbian.model.vo.MessageNotificationVO;
import com.panzhihua.sangeshenbian.model.vo.PartyCardInfoVO;
-import com.panzhihua.sangeshenbian.service.IBannerService;
-import com.panzhihua.sangeshenbian.service.IComplaintService;
-import com.panzhihua.sangeshenbian.service.IDepartmentService;
-import com.panzhihua.sangeshenbian.service.IMessageNotificationService;
-import com.panzhihua.sangeshenbian.service.ISystemUserService;
+import com.panzhihua.sangeshenbian.service.*;
import com.panzhihua.sangeshenbian.utils.BaiduMapUtil;
+import com.panzhihua.sangeshenbian.warpper.IdentityInformationVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.context.annotation.Lazy;
-import org.springframework.web.bind.annotation.GetMapping;
-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.*;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Optional;
+import java.util.*;
/**
* @author mitao
@@ -48,8 +39,8 @@
private final IMessageNotificationService messageNotificationService;
private final IComplaintService complaintService;
private final ISystemUserService systemUserService;
- private final UserService userService;
- private final IDepartmentService departmentService;
+ private final IPartyMemberService partyMemberService;
+ private final RedisUtils redisUtils;
@ApiOperation("获取banner列表")
@GetMapping("/banner-list")
@@ -61,33 +52,18 @@
@ApiOperation("获取党员证信息")
public R<PartyCardInfoVO> getPartyCardInfo() {
LoginUserInfoVO loginUserInfo = getLoginUserInfo();
+ // 获取党员信息
+ PartyMember partyMember = partyMemberService.getOne(new LambdaQueryWrapper<PartyMember>()
+ .eq(PartyMember::getPhone, loginUserInfo.getPhone())
+ .eq(PartyMember::getDelFlag, 0));
+
PartyCardInfoVO partyCardInfoVO = new PartyCardInfoVO();
- partyCardInfoVO.setName(loginUserInfo.getName());
- partyCardInfoVO.setIdCard(loginUserInfo.getIdCard());
- Optional<SystemUser> systemUserOpt = systemUserService.getSystemUserByPhone(loginUserInfo.getPhone());
- systemUserOpt.ifPresent(systemUser -> {
- // 使用Optional链式调用简化部门ID获取逻辑
- Integer lastDepartmentId = Optional.ofNullable(systemUser.getFourDepartmentId())
- .orElseGet(() -> Optional.ofNullable(systemUser.getThreeDepartmentId())
- .orElseGet(systemUser::getTwoDepartmentId));
-
- // 缓存部门查询结果避免重复查询
- Map<Integer, Department> departmentCache = new HashMap<>();
- Department first = departmentCache.computeIfAbsent(systemUser.getOneDepartmentId(),
- departmentService::getById);
- Department last = null;
- if (Objects.nonNull(lastDepartmentId)) {
- last = departmentCache.computeIfAbsent(lastDepartmentId,
- departmentService::getById);
- }
-
- // 使用Objects.toString简化字符串拼接
- partyCardInfoVO.setPartyOrganization(
- Objects.isNull(last) ? Objects.toString(first.getName(), "") :
- Objects.toString(first.getName(), "") + "-" + Objects.toString(last.getName(), ""));
- });
-
- partyCardInfoVO.setPartyOrganization(loginUserInfo.getCommunityName());
+ partyCardInfoVO.setName(partyMember.getName());
+ partyCardInfoVO.setIdCard(partyMember.getIdNumber());
+ partyCardInfoVO.setDistricts(partyMember.getDistricts());
+ partyCardInfoVO.setStreet(partyMember.getStreet());
+ partyCardInfoVO.setCommunity(partyMember.getCommunity());
+ partyCardInfoVO.setPartyOrganization(partyMember.getPartyOrganization());
return R.ok(partyCardInfoVO);
}
@@ -131,4 +107,53 @@
public R<JSONArray> searchLocation(String query, String location) {
return R.ok(BaiduMapUtil.searchLocation(query, location));
}
+
+ /**
+ * 获取身份信息
+ */
+ @GetMapping("/identity-info")
+ @ApiOperation("获取身份信息")
+ public R<IdentityInformationVO> getIdentityInfo() {
+ LoginUserInfoVO loginUserInfo = getLoginUserInfo();
+ // 获取党员信息
+ PartyMember partyMember = partyMemberService.getOne(new LambdaQueryWrapper<PartyMember>()
+ .eq(PartyMember::getPhone, loginUserInfo.getPhone())
+ .eq(PartyMember::getDelFlag, 0));
+
+ // 获取管理员信息
+ SystemUser systemUser = systemUserService.getSystemUserAdminByPhone(getLoginUserInfo().getPhone()).orElse(null);
+ // 获取身份
+ Integer identity = (Integer) redisUtils.get("identity:" + loginUserInfo.getPhone());
+ List<Integer> permissions = new ArrayList<>();
+ IdentityInformationVO identityInformationVO = new IdentityInformationVO();
+ if (partyMember != null){
+ identityInformationVO.setIsFrozen(partyMember.getFreezeStatus() == 1);
+ }
+ if (systemUser != null){
+ identityInformationVO.setIsFrozen(systemUser.getStatus() == 2);
+ }
+
+ identityInformationVO.setIdentity(identity);
+ identityInformationVO.setIsPartymember(partyMember != null);
+ identityInformationVO.setAuditStatus(partyMember == null ? null : partyMember.getAuditStatus());
+ if (partyMember !=null){
+ permissions.add(1);
+ }
+ if (systemUser != null){
+ permissions.add(2);
+ }
+ identityInformationVO.setPermissions(permissions);
+ return R.ok(identityInformationVO);
+ }
+
+ /**
+ * 切换身份
+ */
+ @GetMapping("/change-identity")
+ @ApiOperation("切换身份")
+ public R<?> changeIdentity(Integer identity) {
+ LoginUserInfoVO loginUserInfo = getLoginUserInfo();
+ redisUtils.set("identity:" + loginUserInfo.getPhone(), identity);
+ return R.ok();
+ }
}
--
Gitblit v1.7.1