From 261f390eaa70cbb103b85e872e463c65d16cdeb1 Mon Sep 17 00:00:00 2001
From: luofl <1442745593@qq.com>
Date: 星期一, 17 三月 2025 11:43:44 +0800
Subject: [PATCH] 党员认证、党员上级角色切换

---
 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemUserController.java            |   43 +++++++++++++++++++++
 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/PartyMemberServiceImpl.java |   45 +++++++++-------------
 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/PartyMemberController.java    |   11 +++++
 3 files changed, 73 insertions(+), 26 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemUserController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemUserController.java
index 1538dc0..591b920 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemUserController.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemUserController.java
@@ -1,5 +1,6 @@
 package com.panzhihua.sangeshenbian.api;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.panzhihua.common.controller.BaseController;
@@ -8,6 +9,8 @@
 import com.panzhihua.common.model.vos.R;
 import com.panzhihua.common.model.vos.sangeshenbian.SystemUserVo;
 import com.panzhihua.common.service.auth.TokenService;
+import com.panzhihua.common.utlis.HttpClientUtil;
+import com.panzhihua.common.utlis.ServletUtils;
 import com.panzhihua.sangeshenbian.model.entity.SystemMenu;
 import com.panzhihua.sangeshenbian.model.entity.SystemRoleMenu;
 import com.panzhihua.sangeshenbian.model.entity.SystemUser;
@@ -26,10 +29,15 @@
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.util.ObjectUtils;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.io.IOException;
+import java.text.MessageFormat;
+import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
 import java.util.*;
 import java.util.concurrent.TimeUnit;
@@ -340,4 +348,39 @@
 		List<RegionVO> list = systemUserService.getRegionTree(loginUserInfo);
 		return R.ok(list);
 	}
+
+
+	public static void main(String[] args) {
+
+	}
+
+//	private String ACCESS_TOKEN_URL = "GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential";
+//
+//	public String getAppAccessToken(String appId, String appSecret) throws Exception {
+//		String accessToken = "0";
+//		try {
+//			log.info("获取微信token参数:appid=" + appId + ",appSecret=" + appSecret);
+//			String accessTokenUrl = ACCESS_TOKEN_URL + "&appid=" + appId + "&secret=" + appSecret;
+//			String result = HttpClientUtil.httpGet(accessTokenUrl, null, null);
+//			Map<String, Object> resultMap = JSON.parseObject(result, Map.class);
+//			StringRedisTemplate redisTemplate = wxXCXTempSend.stringRedisTemplate;
+//			if (resultMap.containsKey("access_token")) {
+//				accessToken = resultMap.get("access_token").toString();
+//				redisTemplate.opsForValue().set("access_token:access_token:" + appId, accessToken);
+//			}
+//			HttpServletRequest request = ServletUtils.getRequest();
+//			String requestURI = request.getRequestURI();
+//			//加上时间戳
+//			String datetime = new SimpleDateFormat("yyyyMMdd").format(new Date());
+//			//这里是 Redis key的前缀,如: sys:tabieId:表名  如果不需要去掉表名也可以
+//			String key = MessageFormat.format("{0}:{1}:{2}",  "access_token_request_incr",datetime,requestURI);
+//			//查询 key 是否存在, 不存在返回 1 ,存在的话则自增加1
+//			redisTemplate.opsForValue().increment(key, 1);
+//
+//		} catch (IOException ioe) {
+//			log.error("小程序http请求异常");
+//			ioe.printStackTrace();
+//		}
+//		return accessToken;
+//	}
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/PartyMemberController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/PartyMemberController.java
index e290b95..b7bb145 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/PartyMemberController.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/PartyMemberController.java
@@ -1,10 +1,16 @@
 package com.panzhihua.sangeshenbian.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.panzhihua.common.controller.BaseController;
 import com.panzhihua.common.model.vos.R;
+import com.panzhihua.sangeshenbian.model.entity.BcRegion;
+import com.panzhihua.sangeshenbian.model.entity.ComStreet;
 import com.panzhihua.sangeshenbian.model.entity.PartyMember;
+import com.panzhihua.sangeshenbian.service.IBcRegionService;
+import com.panzhihua.sangeshenbian.service.IComActService;
+import com.panzhihua.sangeshenbian.service.IComStreetService;
 import com.panzhihua.sangeshenbian.service.IPartyMemberService;
 import com.panzhihua.sangeshenbian.warpper.PartyMemberApplicationRequest;
 import com.panzhihua.sangeshenbian.warpper.PartyMemberAuditRequest;
@@ -20,6 +26,7 @@
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
+import java.util.List;
 import java.util.Objects;
 
 @Api(tags = {"小程序-党员管理"})
@@ -28,6 +35,9 @@
 @RequiredArgsConstructor(onConstructor_ = {@Lazy})
 public class PartyMemberController extends BaseController {
     private final IPartyMemberService partyMemberService;
+    private final IBcRegionService bcRegionService;
+    private final IComStreetService comStreetService;
+    private final IComActService comActService;
 
     /**
      * 党员申请
@@ -93,4 +103,5 @@
     }
 
 
+
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/PartyMemberServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/PartyMemberServiceImpl.java
index f4986ae..8b2bc37 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/PartyMemberServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/PartyMemberServiceImpl.java
@@ -1,55 +1,35 @@
 package com.panzhihua.sangeshenbian.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
-import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.idev.excel.EasyExcel;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import cn.idev.excel.FastExcel;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.panzhihua.common.exceptions.ServiceException;
 import com.panzhihua.common.model.vos.LoginUserInfoVO;
-import com.panzhihua.common.exceptions.ServiceException;
 import com.panzhihua.common.model.vos.sangeshenbian.SystemUserVo;
+import com.panzhihua.common.redis.RedisUtils;
 import com.panzhihua.sangeshenbian.dao.PartyMemberMapper;
 import com.panzhihua.sangeshenbian.enums.AuditStatusEnum;
 import com.panzhihua.sangeshenbian.enums.ReportTypeEnum;
-import com.panzhihua.sangeshenbian.enums.AuditStatusEnum;
-import com.panzhihua.sangeshenbian.model.entity.BcRegion;
-import com.panzhihua.sangeshenbian.model.entity.ComAct;
-import com.panzhihua.sangeshenbian.model.entity.ComStreet;
-import com.panzhihua.sangeshenbian.model.entity.PartyMember;
-import com.panzhihua.sangeshenbian.model.entity.SystemUser;
+import com.panzhihua.sangeshenbian.model.entity.*;
 import com.panzhihua.sangeshenbian.model.excel.PartyMemberExcel;
-import com.panzhihua.sangeshenbian.warpper.PartyMemberImportFailedVO;
 import com.panzhihua.sangeshenbian.model.excel.PartyMemberTemplate;
-import com.panzhihua.sangeshenbian.service.IBcRegionService;
-import com.panzhihua.sangeshenbian.service.IComActService;
-import com.panzhihua.sangeshenbian.service.IComStreetService;
-import com.panzhihua.sangeshenbian.service.IPartyMemberService;
-import com.panzhihua.sangeshenbian.service.ISystemUserService;
-import com.panzhihua.sangeshenbian.warpper.PartyMemberApplicationRequest;
-import com.panzhihua.sangeshenbian.warpper.PartyMemberDTO;
-import com.panzhihua.sangeshenbian.warpper.PartyMemberQuery;
-import com.panzhihua.sangeshenbian.warpper.PendingPartyMemberApplicationVO;
+import com.panzhihua.sangeshenbian.service.*;
+import com.panzhihua.sangeshenbian.warpper.*;
 import lombok.RequiredArgsConstructor;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.net.URLEncoder;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Objects;
-import java.util.Optional;
+import java.util.*;
 
 /**
  * <p>
@@ -67,6 +47,7 @@
     private final IBcRegionService bcRegionService;
     private final IComStreetService comStreetService;
     private final IComActService comActService;
+    private final RedisUtils redisUtils;
     /**
      * 党员分页查询列表
      *
@@ -329,10 +310,22 @@
                 .ne(SystemUser::getStatus, 3)
                 .last("LIMIT 1"));
 
+        // 获取党员信息
+        PartyMember partyMember = getOne(new LambdaQueryWrapper<PartyMember>()
+                .eq(PartyMember::getPhone, loginUserInfo.getPhone())
+                .eq(PartyMember::getDelFlag, 0));
+
+
+
         if (adminUser == null){
             throw new ServiceException("无权审核");
         }
 
+        Integer identity = (Integer) redisUtils.get("identity:" + loginUserInfo.getPhone());
+        if(identity == null || identity == 2){
+            throw new ServiceException("请切换至管理员身份");
+        }
+
         int accountLevel = adminUser.getAccountLevel();
         Long communityId = null;
         String streetId = null;

--
Gitblit v1.7.1