From fad1b886464f52e88dd9b99a62b9cd89fd5bb8c2 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期二, 13 五月 2025 09:33:22 +0800
Subject: [PATCH] 用户端统计分析接口

---
 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemUserController.java |   51 +++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 45 insertions(+), 6 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 04b36b4..cbc75ff 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,7 @@
 package com.panzhihua.sangeshenbian.api;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.panzhihua.common.controller.BaseController;
 import com.panzhihua.common.interfaces.OperLog;
@@ -68,13 +69,16 @@
 	@Resource
 	private ISystemLogService systemLogService;
 
+	@Resource
+	private ISystemUserLevelService systemUserLevelService;
+
 
 
 
 
 	@PostMapping("/login")
 	@ApiOperation(value = "登录", tags = {"三个身边后台-登录"})
-	@SysLog(operatorCategory = "登录")
+	@SysLog(operatorCategory = "登录",operId = 1)
 	public R<TokenVo> login(@RequestBody LoginVo vo){
 		String key = "login:" + vo.getPhone();
 		Integer size = (Integer) redisTemplate.opsForValue().get(key);
@@ -205,10 +209,20 @@
 
 	@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);
+		List<SystemUserLevel> systemUserLevels = systemUser.getSystemUserLevels();
+		if(systemUserLevels==null || systemUserLevels.isEmpty()){
+			return R.fail("请选择账号层级");
+		}
+		// 获取最高层级的用于原来的判断
+		systemUserLevels.sort(Comparator.comparing(SystemUserLevel::getLevel));
+		Integer level = systemUserLevels.get(0).getLevel();
+		user.setAccountLevel(level);
+
+
 		if(2 == user.getAccountLevel() && 1 == systemUser.getAccountLevel()){
 			return R.fail("不能添加市级账号");
 		}
@@ -240,18 +254,30 @@
 			systemUser.setCommunity(act.getName());
 		}
 
-
 		systemUser.setStatus(1);
 		systemUser.setCreateTime(LocalDateTime.now());
+		// 2.0.1 默认管理员
+		systemUser.setIsAdmin(1);
 		systemUserService.save(systemUser);
+
+		// 2.0.1添加账号层级
+		systemUserLevels.forEach(e->{
+			e.setSystemUserId(systemUser.getId());
+			e.setStatus(1);
+		});
+		systemUserLevelService.saveBatch(systemUserLevels);
 		return R.ok();
 	}
 
 
 	@PostMapping("/edit")
 	@ApiOperation(value = "编辑人员", tags = {"三个身边后台-人员管理"})
-	@OperLog(operModul = "三个身边后台",operType = 2,businessType = "编辑人员")
+	@SysLog(operatorCategory = "编辑账号",operId = 4)
 	public R edit(@RequestBody SystemUser systemUser){
+		List<SystemUserLevel> systemUserLevels = systemUser.getSystemUserLevels();
+		if(systemUserLevels==null || systemUserLevels.isEmpty()){
+			return R.fail("请选择账号层级");
+		}
 		long count = systemUserService.count(new LambdaQueryWrapper<SystemUser>().eq(SystemUser::getPhone, systemUser.getPhone())
 				.ne(SystemUser::getStatus, 3).ne(SystemUser::getId, systemUser.getId()));
 		if(0 < count){
@@ -279,18 +305,28 @@
 		systemUser.setStatus(1);
 		systemUser.setCreateTime(LocalDateTime.now());
 		systemUserService.updateById(systemUser);
+		// 移除原来层级 在添加新层级
+		systemUserLevelService.remove(new LambdaQueryWrapper<SystemUserLevel>().eq(SystemUserLevel::getSystemUserId, systemUser.getId()));
+		systemUserLevels.forEach(e->{
+			e.setSystemUserId(systemUser.getId());
+			e.setStatus(1);
+		});
+		systemUserLevelService.saveBatch(systemUserLevels);
+
+
 		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();
+		systemUserLevelService.update(new LambdaUpdateWrapper<SystemUserLevel>().eq(SystemUserLevel::getSystemUserId, id).set(SystemUserLevel::getStatus,3));
+		return R.ok(systemUser.getName());
 	}
 
 
@@ -299,6 +335,9 @@
 	@OperLog(operModul = "三个身边后台",operType = 0,businessType = "查询人员详情")
 	public R<SystemUser> getSystemUserInfo(@PathVariable("id") Integer id){
 		SystemUser systemUser = systemUserService.getById(id);
+		List<SystemUserLevel> listBySystemUserId = systemUserLevelService.getListBySystemUserId(id);
+		listBySystemUserId.sort(Comparator.comparing(SystemUserLevel::getLevel));
+		systemUser.setSystemUserLevels(listBySystemUserId);
 		return R.ok(systemUser);
 	}
 

--
Gitblit v1.7.1