From 0135fa289418c5fd231fa4e7c60ee7b8f06f17a7 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期二, 06 五月 2025 19:29:11 +0800
Subject: [PATCH] Merge branch 'dev-2.0.1' of http://120.76.84.145:10101/gitblit/r/java/zhihuishenqu into dev-2.0.1

---
 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemUserController.java |  207 +++++++++++++++++++++++++++++----------------------
 1 files changed, 119 insertions(+), 88 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 591b920..b50f429 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,6 +1,5 @@
 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;
@@ -9,35 +8,24 @@
 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;
+import com.panzhihua.sangeshenbian.annotation.SysLog;
+import com.panzhihua.sangeshenbian.model.entity.*;
 import com.panzhihua.sangeshenbian.model.vo.RegionVO;
-import com.panzhihua.sangeshenbian.service.ISystemMenuService;
-import com.panzhihua.sangeshenbian.service.ISystemRoleMenuService;
-import com.panzhihua.sangeshenbian.service.ISystemUserService;
-import com.panzhihua.sangeshenbian.warpper.LoginVo;
-import com.panzhihua.sangeshenbian.warpper.SystemUserList;
-import com.panzhihua.sangeshenbian.warpper.SystemUserListVo;
-import com.panzhihua.sangeshenbian.warpper.TokenVo;
+import com.panzhihua.sangeshenbian.service.*;
+import com.panzhihua.sangeshenbian.utils.SignatureUtil;
+import com.panzhihua.sangeshenbian.warpper.*;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang.StringUtils;
 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;
@@ -52,31 +40,41 @@
 @RestController
 @RequestMapping("/systemUser")
 public class SystemUserController extends BaseController {
-	
+
 	@Resource
 	private ISystemUserService systemUserService;
-	
+
 	@Resource
 	private RedisTemplate redisTemplate;
-	
+
 	@Resource
 	private TokenService tokenService;
-	
+
 	private final Integer max_err = 5;
-	
+
 	@Resource
 	private ISystemRoleMenuService systemRoleMenuService;
-	
+
 	@Resource
 	private ISystemMenuService systemMenuService;
-	
-	
-	
-	
-	
+
+	@Resource
+	private IBcRegionService bcRegionService;
+	@Resource
+	private IComStreetService comStreetService;
+	@Resource
+	private IComActService comActService;
+
+	@Resource
+	private ISystemLogService systemLogService;
+
+
+
+
+
 	@PostMapping("/login")
 	@ApiOperation(value = "登录", tags = {"三个身边后台-登录"})
-	@OperLog(operModul = "三个身边后台",operType = 0,businessType = "登录")
+	@SysLog(operatorCategory = "登录",operId = 1)
 	public R<TokenVo> login(@RequestBody LoginVo vo){
 		String key = "login:" + vo.getPhone();
 		Integer size = (Integer) redisTemplate.opsForValue().get(key);
@@ -107,7 +105,8 @@
 		LoginReturnVO loginReturnVO = reult.getData();
 		TokenVo tokenVo = new TokenVo();
 		BeanUtils.copyProperties(loginReturnVO, tokenVo);
-		
+		tokenVo.setUserId(Long.valueOf(systemUser.getId()));
+
 		List<SystemRoleMenu> list = systemRoleMenuService.list(new LambdaQueryWrapper<SystemRoleMenu>().eq(SystemRoleMenu::getSystemRoleId, systemUser.getSystemRoleId()));
 		List<Integer> collect = list.stream().map(SystemRoleMenu::getSystemMenuId).collect(Collectors.toList());
 		Set<String> collect1 = new HashSet<>();
@@ -178,8 +177,8 @@
 		}
 		return R.ok(tokenVo);
 	}
-	
-	
+
+
 	@PostMapping("logout")
 	@ApiOperation(value = "退出登录", tags = {"三个身边后台-登录"})
 	@OperLog(operModul = "三个身边后台",operType = 0,businessType = "退出登录")
@@ -190,8 +189,8 @@
 		}
 		return tokenService.logout(token);
 	}
-	
-	
+
+
 	@GetMapping("/list")
 	@ApiOperation(value = "获取列表数据", tags = {"三个身边管理后台-人员管理"})
 	@OperLog(operModul = "三个身边后台",operType = 0,businessType = "获取人员管理列表数据")
@@ -201,12 +200,12 @@
 		IPage<SystemUserListVo> list = systemUserService.list(user, query);
 		return R.ok(list);
 	}
-	
-	
-	
+
+
+
 	@PostMapping("/add")
 	@ApiOperation(value = "添加人员", tags = {"三个身边管理后台-人员管理"})
-	@OperLog(operModul = "三个身边后台",operType = 1,businessType = "添加人员")
+	@SysLog(operatorCategory = "添加账号",operId = 4)
 	public R add(@RequestBody SystemUser systemUser){
 		Integer id = this.getLoginUserInfoSanGeShenBian().getId();
 		SystemUser user = systemUserService.getById(id);
@@ -223,40 +222,79 @@
 		if(0 < count){
 			return R.fail("手机号重复。");
 		}
+
+		String districtsCode = systemUser.getDistrictsCode();
+		if (!StringUtils.isEmpty(districtsCode)){
+			BcRegion bcRegion = bcRegionService.getOne(new LambdaQueryWrapper<BcRegion>().eq(BcRegion::getRegionCode, districtsCode));
+			systemUser.setDistricts(bcRegion.getRegionName());
+		}
+
+		String streetId = systemUser.getStreetId();
+		if (!StringUtils.isEmpty(streetId)){
+			ComStreet comStreet = comStreetService.getById(streetId);
+			systemUser.setStreet(comStreet.getName());
+		}
+		Long communityId = systemUser.getCommunityId();
+		if (communityId != null){
+			ComAct act = comActService.getById(communityId);
+			systemUser.setCommunity(act.getName());
+		}
+
 		systemUser.setStatus(1);
 		systemUser.setCreateTime(LocalDateTime.now());
+		// 2.0.1 默认管理员
+		systemUser.setIsAdmin(1);
 		systemUserService.save(systemUser);
 		return R.ok();
 	}
-	
-	
+
+
 	@PostMapping("/edit")
 	@ApiOperation(value = "编辑人员", tags = {"三个身边后台-人员管理"})
-	@OperLog(operModul = "三个身边后台",operType = 2,businessType = "编辑人员")
+	@SysLog(operatorCategory = "编辑账号",operId = 4)
 	public R edit(@RequestBody SystemUser systemUser){
 		long count = systemUserService.count(new LambdaQueryWrapper<SystemUser>().eq(SystemUser::getPhone, systemUser.getPhone())
 				.ne(SystemUser::getStatus, 3).ne(SystemUser::getId, systemUser.getId()));
 		if(0 < count){
 			return R.fail("手机号重复。");
 		}
+
+		String districtsCode = systemUser.getDistrictsCode();
+		if (!StringUtils.isEmpty(districtsCode)){
+			BcRegion bcRegion = bcRegionService.getOne(new LambdaQueryWrapper<BcRegion>().eq(BcRegion::getRegionCode, districtsCode));
+			systemUser.setDistricts(bcRegion.getRegionName());
+		}
+
+		String streetId = systemUser.getStreetId();
+		if (!StringUtils.isEmpty(streetId)){
+			ComStreet comStreet = comStreetService.getById(streetId);
+			systemUser.setStreet(comStreet.getName());
+		}
+		Long communityId = systemUser.getCommunityId();
+		if (communityId != null){
+			ComAct act = comActService.getById(communityId);
+			systemUser.setCommunity(act.getName());
+		}
+
+
 		systemUser.setStatus(1);
 		systemUser.setCreateTime(LocalDateTime.now());
 		systemUserService.updateById(systemUser);
 		return R.ok();
 	}
-	
-	
+
+
 	@DeleteMapping("/delete/{id}")
 	@ApiOperation(value = "删除人员", tags = {"三个身边后台-人员管理"})
-	@OperLog(operModul = "三个身边后台",operType = 3,businessType = "删除人员")
+	@SysLog(operatorCategory = "删除账号",operId = 4)
 	public R delete(@PathVariable("id") Integer id){
 		SystemUser systemUser = systemUserService.getById(id);
 		systemUser.setStatus(3);
 		systemUserService.updateById(systemUser);
-		return R.ok();
+		return R.ok(systemUser.getName());
 	}
-	
-	
+
+
 	@GetMapping("/getSystemUserInfo/{id}")
 	@ApiOperation(value = "查询人员详情", tags = {"三个身边后台-人员管理"})
 	@OperLog(operModul = "三个身边后台",operType = 0,businessType = "查询人员详情")
@@ -264,8 +302,8 @@
 		SystemUser systemUser = systemUserService.getById(id);
 		return R.ok(systemUser);
 	}
-	
-	
+
+
 	@PutMapping("/freeze/{id}")
 	@ApiOperation(value = "冻结账号", tags = {"三个身边后台-人员管理"})
 	@OperLog(operModul = "三个身边后台",operType = 2,businessType = "冻结账号")
@@ -278,8 +316,8 @@
 		systemUserService.updateById(systemUser);
 		return R.ok();
 	}
-	
-	
+
+
 	@PutMapping("/unfreeze/{id}")
 	@ApiOperation(value = "解冻账号", tags = {"三个身边后台-人员管理"})
 	@OperLog(operModul = "三个身边后台",operType = 2,businessType = "解冻账号")
@@ -292,8 +330,8 @@
 		systemUserService.updateById(systemUser);
 		return R.ok();
 	}
-	
-	
+
+
 	/**
 	 * 根据用户id获取信息
 	 * @param id
@@ -314,9 +352,9 @@
 		BeanUtils.copyProperties(systemUser, systemUserVo);
 		return R.ok(systemUserVo);
 	}
-	
-	
-	
+
+
+
 	@GetMapping("/getAdministrativeDivision/{id}/{tier}")
 	@ApiOperation(value = "获取行政区划层级联动数据", tags = {"三个身边后台-人员管理"})
 	@ApiImplicitParams({
@@ -350,37 +388,30 @@
 	}
 
 
-	public static void main(String[] args) {
+	@GetMapping("/getSignature")
+	@ApiOperation(value = "获取签名",tags = {"三个身边小程序"})
+    public R<?> getSignature() throws Exception {
+        String APP_ID = "wx118de8a734d269f0";
+        String APP_SECRET = "0264342daefde5cd70a6adada09ee5b1";
+        String accessToken = SignatureUtil.getAccessToken(APP_ID, APP_SECRET);
+        String jsapiTicket = SignatureUtil.getJsApiTicket(accessToken);
+        String nonceStr = UUID.randomUUID().toString().replace("-", "");
+        String timestamp = String.valueOf(System.currentTimeMillis() / 1000);
+        String url = "https://huacheng.psciio.com/web/sangeshenbian/"; // 当前页面的URL,不包含#及其后面部分
 
-	}
+        String signature = SignatureUtil.getSignature(jsapiTicket, nonceStr, timestamp, url);
 
-//	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;
-//	}
+        System.out.println("appId: " + APP_ID);
+        System.out.println("timestamp: " + timestamp);
+        System.out.println("nonceStr: " + nonceStr);
+        System.out.println("signature: " + signature);
+        SignatureVO signatureVO = new SignatureVO();
+        signatureVO.setTimestamp(timestamp);
+        signatureVO.setNonceStr(nonceStr);
+        signatureVO.setSignature(signature);
+        return R.ok(signatureVO);
+    }
+
+
+
 }

--
Gitblit v1.7.1