diff --git a/nex-be/src/main/java/com/unisinsight/project/controller/ClientController.java b/nex-be/src/main/java/com/unisinsight/project/controller/ClientController.java new file mode 100644 index 0000000..caabb84 --- /dev/null +++ b/nex-be/src/main/java/com/unisinsight/project/controller/ClientController.java @@ -0,0 +1,91 @@ +package com.unisinsight.project.controller; + +import com.unisinsight.project.entity.req.DeviceUserReq; +import com.unisinsight.project.entity.res.ImageRes; +import com.unisinsight.project.exception.BaseErrorCode; +import com.unisinsight.project.exception.Result; +import com.unisinsight.project.service.ClientService; +import com.unisinsight.project.service.DeviceUserMappingService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.List; +import java.util.Objects; + +/** + * @description: + * @author: rdpnr_puzhi + * @create: 2025/08/08 + */ +@Slf4j +@RestController +@RequestMapping("/api/nex/v1/client") +@Api(tags = "客户端类") +public class ClientController { + + @Resource + private ClientService clientService; + + @Resource + private DeviceUserMappingService deviceUserMappingService; + + @ApiOperation(value = "用户认证") + @PostMapping("/auth") + public Result> authentication(@RequestParam("deviceId") String deviceId) { + if (Objects.isNull(deviceId)) { + return Result.errorResult(BaseErrorCode.PARAMS_CHK_ERROR); + } + log.info("用户认证请求参数为:{}", deviceId); + return Result.successResult(); + } + + @ApiOperation(value = "用户登录") + @PostMapping("/login") + public Result loginUser(@RequestParam("deviceId") String deviceId, + @RequestParam("username") String username, + @RequestParam("password") String password) { + if (Objects.isNull(deviceId) || Objects.isNull(username) || Objects.isNull(password)) { + return Result.errorResult(BaseErrorCode.PARAMS_CHK_ERROR); + } + log.info("用户登录请求参数为,deviceId:{},username:{},password:{}", deviceId, username, password); + DeviceUserReq deviceUserReq = new DeviceUserReq(); + deviceUserReq.setDeviceId(deviceId); + deviceUserReq.setUserName(username); + deviceUserReq.setPassword(password); + return deviceUserMappingService.loginUser(deviceUserReq); + } + + @ApiOperation(value = "获取镜像列表") + @PostMapping("/getImageList") + public Result getImageList(@RequestParam("deviceId") String deviceId, + @RequestParam("token") String token) { + if (Objects.isNull(deviceId) || Objects.isNull(token)) { + return Result.errorResult(BaseErrorCode.PARAMS_CHK_ERROR); + } + log.info("获取镜像列表请求参数为,deviceId:{},token:{}", deviceId, token); + + return clientService.getImageList(deviceId, token); + } + + @ApiOperation(value = "版本更新") + @PostMapping("/update") + public Result getImageUpdate(@RequestParam("deviceId") String deviceId) { + if (Objects.isNull(deviceId)) { + return Result.errorResult(BaseErrorCode.PARAMS_CHK_ERROR); + } + log.info("获取镜像列表请求参数为,deviceId:{}", deviceId); + HashMap hashMap = new HashMap<>(); + hashMap.put("version", "1.0.0"); + hashMap.put("url", "https://intent-bathhouse.name"); + return Result.successResult(hashMap); + } + + +} diff --git a/nex-be/src/main/java/com/unisinsight/project/controller/DeviceController.java b/nex-be/src/main/java/com/unisinsight/project/controller/DeviceController.java index 35d67ff..64a56f3 100644 --- a/nex-be/src/main/java/com/unisinsight/project/controller/DeviceController.java +++ b/nex-be/src/main/java/com/unisinsight/project/controller/DeviceController.java @@ -27,7 +27,7 @@ import java.util.Objects; @Slf4j @RestController @RequestMapping("/api/nex/v1/device") -@Api(tags = "终端Controller") +@Api(tags = "终端类") public class DeviceController { @Resource diff --git a/nex-be/src/main/java/com/unisinsight/project/controller/DeviceImageMappingController.java b/nex-be/src/main/java/com/unisinsight/project/controller/DeviceImageMappingController.java index 796cc94..9248088 100644 --- a/nex-be/src/main/java/com/unisinsight/project/controller/DeviceImageMappingController.java +++ b/nex-be/src/main/java/com/unisinsight/project/controller/DeviceImageMappingController.java @@ -26,7 +26,7 @@ import java.util.Objects; @Slf4j @RestController @RequestMapping("/api/nex/v1/device/image/mapping") -@Api(tags = "终端镜像映射关系Controller") +@Api(tags = "终端镜像映射关系类") public class DeviceImageMappingController { @Resource diff --git a/nex-be/src/main/java/com/unisinsight/project/controller/DeviceUserMappingController.java b/nex-be/src/main/java/com/unisinsight/project/controller/DeviceUserMappingController.java index d547330..d9efb43 100644 --- a/nex-be/src/main/java/com/unisinsight/project/controller/DeviceUserMappingController.java +++ b/nex-be/src/main/java/com/unisinsight/project/controller/DeviceUserMappingController.java @@ -26,7 +26,7 @@ import java.util.Objects; @Slf4j @RestController @RequestMapping("/api/nex/v1/device/user/mapping") -@Api(tags = "终端用户映射关系Controller") +@Api(tags = "终端用户映射关系类") public class DeviceUserMappingController { @Resource diff --git a/nex-be/src/main/java/com/unisinsight/project/controller/ImageController.java b/nex-be/src/main/java/com/unisinsight/project/controller/ImageController.java index c79a50c..1979c23 100644 --- a/nex-be/src/main/java/com/unisinsight/project/controller/ImageController.java +++ b/nex-be/src/main/java/com/unisinsight/project/controller/ImageController.java @@ -27,7 +27,7 @@ import java.util.Objects; @Slf4j @RestController @RequestMapping("/api/nex/v1/image") -@Api(tags = "镜像Controller") +@Api(tags = "镜像类") public class ImageController { @Resource diff --git a/nex-be/src/main/java/com/unisinsight/project/controller/UserController.java b/nex-be/src/main/java/com/unisinsight/project/controller/UserController.java index 4d2ca62..c889efb 100644 --- a/nex-be/src/main/java/com/unisinsight/project/controller/UserController.java +++ b/nex-be/src/main/java/com/unisinsight/project/controller/UserController.java @@ -2,22 +2,21 @@ package com.unisinsight.project.controller; import cn.hutool.json.JSONUtil; import com.unisinsight.project.entity.req.DeleteIdReq; -import com.unisinsight.project.entity.req.DeviceUserReq; import com.unisinsight.project.entity.req.UserReq; -import com.unisinsight.project.entity.res.ImageRes; import com.unisinsight.project.entity.res.PageResult; import com.unisinsight.project.entity.res.UserRes; import com.unisinsight.project.exception.BaseErrorCode; import com.unisinsight.project.exception.Result; -import com.unisinsight.project.service.DeviceUserMappingService; import com.unisinsight.project.service.UserService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.*; +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 javax.annotation.Resource; -import java.util.List; import java.util.Objects; /** @@ -28,16 +27,13 @@ import java.util.Objects; @Slf4j @RestController @RequestMapping("/api/nex/v1/user") -@Api(tags = "用户处理Controller") +@Api(tags = "用户处理类") public class UserController { @Resource private UserService userService; - @Resource - private DeviceUserMappingService deviceUserMappingService; - @ApiOperation(value = "用户新增") @PostMapping("/add") public Result insertUser(@RequestBody UserReq userReq) { @@ -88,30 +84,5 @@ public class UserController { return userService.selectPageUser(userReq); } - @ApiOperation(value = "用户认证") - @PostMapping("/auth") - public Result> authentication(@RequestParam("deviceId") String deviceId) { - if (Objects.isNull(deviceId)) { - return Result.errorResult(BaseErrorCode.PARAMS_CHK_ERROR); - } - log.info("用户认证请求参数为:{}", deviceId); - return Result.successResult(); - } - - @ApiOperation(value = "用户登录") - @PostMapping("/login") - public Result loginUser(@RequestParam("deviceId") String deviceId, - @RequestParam("username") String username, - @RequestParam("password") String password) { - if (Objects.isNull(deviceId) || Objects.isNull(username) || Objects.isNull(password)) { - return Result.errorResult(BaseErrorCode.PARAMS_CHK_ERROR); - } - log.info("用户登录请求参数为,deviceId:{},username:{},password:{}", deviceId, username, password); - DeviceUserReq deviceUserReq = new DeviceUserReq(); - deviceUserReq.setDeviceId(deviceId); - deviceUserReq.setUserName(username); - deviceUserReq.setPassword(password); - return deviceUserMappingService.loginUser(deviceUserReq); - } } diff --git a/nex-be/src/main/java/com/unisinsight/project/controller/UserDeviceGroupController.java b/nex-be/src/main/java/com/unisinsight/project/controller/UserDeviceGroupController.java index e1ddf40..05c3d4b 100644 --- a/nex-be/src/main/java/com/unisinsight/project/controller/UserDeviceGroupController.java +++ b/nex-be/src/main/java/com/unisinsight/project/controller/UserDeviceGroupController.java @@ -27,7 +27,7 @@ import java.util.Objects; @Slf4j @RestController @RequestMapping("/api/nex/v1/user/device/group") -@Api(tags = "用户、终端分组Controller") +@Api(tags = "用户、终端分组类") public class UserDeviceGroupController { @Resource @@ -63,4 +63,5 @@ public class UserDeviceGroupController { return groupService.query(groupReq); } + } diff --git a/nex-be/src/main/java/com/unisinsight/project/entity/res/UserRes.java b/nex-be/src/main/java/com/unisinsight/project/entity/res/UserRes.java index 01ab182..803499d 100644 --- a/nex-be/src/main/java/com/unisinsight/project/entity/res/UserRes.java +++ b/nex-be/src/main/java/com/unisinsight/project/entity/res/UserRes.java @@ -28,6 +28,12 @@ public class UserRes implements Serializable { @JsonProperty("user_group_id") private Long userGroupId; + /** + * 用户组名 + */ + @ApiModelProperty(value = "用户组ID") + @JsonProperty("user_group_name") + private String userGroupName; /** * 用户名 diff --git a/nex-be/src/main/java/com/unisinsight/project/exception/Result.java b/nex-be/src/main/java/com/unisinsight/project/exception/Result.java index 68151d3..72be738 100644 --- a/nex-be/src/main/java/com/unisinsight/project/exception/Result.java +++ b/nex-be/src/main/java/com/unisinsight/project/exception/Result.java @@ -39,13 +39,13 @@ public class Result { public Result() { } - public Result(String errorCode, String message) { - this.code = errorCode; + public Result(String code, String message) { + this.code = code; this.message = message; } - public Result(String errorCode, String message, T data) { - this.code = errorCode; + public Result(String code, String message, T data) { + this.code = code; this.message = message; this.data = data; } diff --git a/nex-be/src/main/java/com/unisinsight/project/service/ClientService.java b/nex-be/src/main/java/com/unisinsight/project/service/ClientService.java new file mode 100644 index 0000000..496c603 --- /dev/null +++ b/nex-be/src/main/java/com/unisinsight/project/service/ClientService.java @@ -0,0 +1,8 @@ +package com.unisinsight.project.service; + +import com.unisinsight.project.exception.Result; + +public interface ClientService { + + Result getImageList(String deviceId, String token); +} diff --git a/nex-be/src/main/java/com/unisinsight/project/service/impl/ClientServiceImpl.java b/nex-be/src/main/java/com/unisinsight/project/service/impl/ClientServiceImpl.java new file mode 100644 index 0000000..31a2b13 --- /dev/null +++ b/nex-be/src/main/java/com/unisinsight/project/service/impl/ClientServiceImpl.java @@ -0,0 +1,73 @@ +package com.unisinsight.project.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.json.JSONUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.unisinsight.project.entity.dao.DeviceImageMapping; +import com.unisinsight.project.entity.dao.Image; +import com.unisinsight.project.entity.res.ImageRes; +import com.unisinsight.project.exception.BaseErrorCode; +import com.unisinsight.project.exception.Result; +import com.unisinsight.project.mapper.DeviceImageMappingMapper; +import com.unisinsight.project.mapper.ImageMapper; +import com.unisinsight.project.service.ClientService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @description: + * @author: rdpnr_puzhi + * @create: 2025/08/08 + */ +@Service +@Slf4j +public class ClientServiceImpl implements ClientService { + + @Resource + private ImageMapper imageMapper; + + @Resource + private DeviceImageMappingMapper deviceImageMappingMapper; + + + @Override + public Result getImageList(String deviceId, String token) { + + QueryWrapper deviceImageMappingQueryWrapper = new QueryWrapper<>(); + deviceImageMappingQueryWrapper.lambda().eq(DeviceImageMapping::getDeviceId, deviceId); + List deviceImageMappings = deviceImageMappingMapper.selectList(deviceImageMappingQueryWrapper); + if (CollectionUtil.isEmpty(deviceImageMappings)) { + return Result.errorResultMessage(BaseErrorCode.PARAMS_CHK_ERROR, "请先配置终端镜像"); + } + List imageIdList = deviceImageMappings.stream().map(DeviceImageMapping::getImageId).collect(Collectors.toList()); + + QueryWrapper imageQueryWrapper = new QueryWrapper<>(); + String imageListStr = StringUtils.join(imageIdList, ","); + log.info("用户登录查询镜像id结果:{}", JSONUtil.toJsonStr(imageListStr)); + imageQueryWrapper.lambda().in(Image::getId, imageListStr); + List images = imageMapper.selectList(imageQueryWrapper); + log.info("用户登录查询镜像结果:{}", JSONUtil.toJsonStr(images)); + List imageRes = BeanUtil.copyToList(images, ImageRes.class); + List> collect = imageRes.stream().distinct().map(e -> { + HashMap hashMap = new HashMap<>(); + if (StringUtils.isNotBlank(e.getImageName())) { + hashMap.put("name", e.getImageName()); + } + if (StringUtils.isNotBlank(e.getBtPath())) { + hashMap.put("torrent", e.getBtPath()); + } + return hashMap; + }).collect(Collectors.toList()); + HashMap hashMap = new HashMap<>(); + hashMap.put("list", collect); + return Result.successResult(hashMap); + } + +} diff --git a/nex-be/src/main/java/com/unisinsight/project/service/impl/DeviceServiceImpl.java b/nex-be/src/main/java/com/unisinsight/project/service/impl/DeviceServiceImpl.java index 1fb4da5..9b449f3 100644 --- a/nex-be/src/main/java/com/unisinsight/project/service/impl/DeviceServiceImpl.java +++ b/nex-be/src/main/java/com/unisinsight/project/service/impl/DeviceServiceImpl.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.unisinsight.project.entity.dao.Device; +import com.unisinsight.project.entity.dao.UserDeviceGroup; import com.unisinsight.project.entity.req.DeleteIdReq; import com.unisinsight.project.entity.req.DeviceReq; import com.unisinsight.project.entity.res.DeviceRes; @@ -15,6 +16,7 @@ import com.unisinsight.project.entity.res.PageResult; import com.unisinsight.project.exception.BaseErrorCode; import com.unisinsight.project.exception.Result; import com.unisinsight.project.mapper.DeviceMapper; +import com.unisinsight.project.mapper.UserDeviceGroupMapper; import com.unisinsight.project.service.DeviceService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ObjectUtils; @@ -22,6 +24,8 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.List; +import java.util.stream.Collectors; /** * @author rdpnr_puzhi @@ -36,6 +40,10 @@ public class DeviceServiceImpl extends ServiceImpl @Resource private DeviceMapper deviceMapper; + + @Resource + private UserDeviceGroupMapper groupMapper; + @Override public Result insert(DeviceReq deviceReq) { Device device = BeanUtil.copyProperties(deviceReq, Device.class); @@ -101,6 +109,18 @@ public class DeviceServiceImpl extends ServiceImpl return Result.successResult(); } else { PageResult convert = PageResult.convertIPage(userPage, DeviceRes.class); + List deviceResList = convert.getData(); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.lambda().eq(UserDeviceGroup::getType, 2); + List userDeviceGroups = groupMapper.selectList(wrapper); + List resList = deviceResList.stream().distinct().peek(device -> { + for (UserDeviceGroup userDeviceGroup : userDeviceGroups) { + if (device.getDeviceGroupId().equals(userDeviceGroup.getId())) { + device.setDeviceGroupName(userDeviceGroup.getName()); + } + } + }).collect(Collectors.toList()); + convert.setData(resList); return Result.successResult(convert); } } diff --git a/nex-be/src/main/java/com/unisinsight/project/service/impl/DeviceUserMappingServiceImpl.java b/nex-be/src/main/java/com/unisinsight/project/service/impl/DeviceUserMappingServiceImpl.java index db2c663..bab9ce0 100644 --- a/nex-be/src/main/java/com/unisinsight/project/service/impl/DeviceUserMappingServiceImpl.java +++ b/nex-be/src/main/java/com/unisinsight/project/service/impl/DeviceUserMappingServiceImpl.java @@ -6,19 +6,14 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.unisinsight.project.entity.dao.DeviceImageMapping; import com.unisinsight.project.entity.dao.DeviceUserMapping; -import com.unisinsight.project.entity.dao.Image; import com.unisinsight.project.entity.dao.User; import com.unisinsight.project.entity.req.DeviceUserMappingReq; import com.unisinsight.project.entity.req.DeviceUserReq; import com.unisinsight.project.entity.res.DeviceUserMappingRes; -import com.unisinsight.project.entity.res.ImageRes; import com.unisinsight.project.exception.BaseErrorCode; import com.unisinsight.project.exception.Result; -import com.unisinsight.project.mapper.DeviceImageMappingMapper; import com.unisinsight.project.mapper.DeviceUserMappingMapper; -import com.unisinsight.project.mapper.ImageMapper; import com.unisinsight.project.mapper.UserMapper; import com.unisinsight.project.service.DeviceUserMappingService; import lombok.extern.slf4j.Slf4j; @@ -27,6 +22,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.stream.Collectors; @@ -46,11 +42,6 @@ public class DeviceUserMappingServiceImpl extends ServiceImpl insert(DeviceUserMappingReq deviceUserMappingReq) { @@ -109,7 +100,7 @@ public class DeviceUserMappingServiceImpl extends ServiceImpl userList = userMapper.selectList(groupWrapper); log.info("用户id查询结果:{}", JSONUtil.toJsonStr(userList)); if (CollectionUtil.isNotEmpty(userList)) { - User user = userList.stream().filter(e -> e.getUserName().equals(deviceUserReq.getUserName())).findAny().orElse(null); + User user = userList.stream().distinct().filter(e -> e.getUserName().equals(deviceUserReq.getUserName())).findAny().orElse(null); users.add(user); } @@ -124,7 +115,7 @@ public class DeviceUserMappingServiceImpl extends ServiceImpl userDeviceGroups = userMapper.selectList(groupWrapper); log.info("用户组id查询结果:{}", JSONUtil.toJsonStr(userDeviceGroups)); if (CollectionUtil.isNotEmpty(userDeviceGroups)) { - User user = userDeviceGroups.stream().filter(e -> e.getUserName().equals(deviceUserReq.getUserName())).findAny().orElse(null); + User user = userDeviceGroups.stream().distinct().filter(e -> e.getUserName().equals(deviceUserReq.getUserName())).findAny().orElse(null); users.add(user); } } @@ -137,23 +128,10 @@ public class DeviceUserMappingServiceImpl extends ServiceImpl hashMap = new HashMap<>(); + hashMap.put("token", users.get(0).getId()); - QueryWrapper deviceImageMappingQueryWrapper = new QueryWrapper<>(); - deviceImageMappingQueryWrapper.lambda().eq(DeviceImageMapping::getDeviceId, deviceUserReq.getDeviceId()); - List deviceImageMappings = deviceImageMappingMapper.selectList(deviceImageMappingQueryWrapper); - if (CollectionUtil.isEmpty(deviceImageMappings)) { - return Result.errorResultMessage(BaseErrorCode.PARAMS_CHK_ERROR, "请先配置终端镜像"); - } - List imageIdList = deviceImageMappings.stream().map(DeviceImageMapping::getImageId).collect(Collectors.toList()); - - QueryWrapper imageQueryWrapper = new QueryWrapper<>(); - String imageListStr = StringUtils.join(imageIdList, ","); - log.info("用户登录查询镜像id结果:{}", JSONUtil.toJsonStr(imageListStr)); - imageQueryWrapper.lambda().in(Image::getId, imageListStr); - List images = imageMapper.selectList(imageQueryWrapper); - log.info("用户登录查询镜像结果:{}", JSONUtil.toJsonStr(images)); - List imageRes = BeanUtil.copyToList(images, ImageRes.class); - return Result.successResult(imageRes); + return new Result<>("200", "登录成功", hashMap); } } diff --git a/nex-be/src/main/java/com/unisinsight/project/service/impl/UserDeviceGroupServiceImpl.java b/nex-be/src/main/java/com/unisinsight/project/service/impl/UserDeviceGroupServiceImpl.java index 26a50df..8a91147 100644 --- a/nex-be/src/main/java/com/unisinsight/project/service/impl/UserDeviceGroupServiceImpl.java +++ b/nex-be/src/main/java/com/unisinsight/project/service/impl/UserDeviceGroupServiceImpl.java @@ -36,7 +36,38 @@ public class UserDeviceGroupServiceImpl extends ServiceImpl insert(UserDeviceGroupReq groupReq) { + if (groupReq.getName().equals("用户顶级组织a") || groupReq.getName().equals("终端顶级组织b")) { + return Result.errorResult(BaseErrorCode.PARAMS_CHK_ERROR); + } UserDeviceGroup group = BeanUtil.copyProperties(groupReq, UserDeviceGroup.class); + QueryWrapper wrapper = new QueryWrapper<>(); + if (ObjectUtils.isEmpty(group.getParentId())) { + if (group.getType() == 1) { + wrapper.lambda().eq(UserDeviceGroup::getType, 1); + wrapper.lambda().eq(UserDeviceGroup::getName, "用户顶级组织a"); + } else { + wrapper.lambda().eq(UserDeviceGroup::getType, 2); + wrapper.lambda().eq(UserDeviceGroup::getName, "终端顶级组织b"); + } + UserDeviceGroup userDeviceGroup = groupMapper.selectOne(wrapper); + if (ObjectUtils.isNotEmpty(userDeviceGroup)) { + group.setParentId(userDeviceGroup.getId()); + group.setParentName(userDeviceGroup.getName()); + group.setPath(group.getId().toString()); + group.setIndex(group.getId().toString()); + } + } else { + UserDeviceGroup groupParent = groupMapper.selectById(group.getParentId()); + if (StringUtils.isBlank(group.getParentName())) { + group.setParentName(groupParent.getName()); + } + if (StringUtils.isBlank(groupParent.getPath())) { + group.setPath(groupParent.getId().toString()); + } else { + group.setPath(groupParent.getPath() + "," + groupParent.getId()); + } + + } group.setCreateUser("admin"); int insert = groupMapper.insert(group); log.info("分组新增insert:{}", insert); diff --git a/nex-be/src/main/java/com/unisinsight/project/service/impl/UserServiceImpl.java b/nex-be/src/main/java/com/unisinsight/project/service/impl/UserServiceImpl.java index 46e7f38..b251ccc 100644 --- a/nex-be/src/main/java/com/unisinsight/project/service/impl/UserServiceImpl.java +++ b/nex-be/src/main/java/com/unisinsight/project/service/impl/UserServiceImpl.java @@ -8,12 +8,14 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.unisinsight.project.entity.dao.User; +import com.unisinsight.project.entity.dao.UserDeviceGroup; import com.unisinsight.project.entity.req.DeleteIdReq; import com.unisinsight.project.entity.req.UserReq; import com.unisinsight.project.entity.res.PageResult; import com.unisinsight.project.entity.res.UserRes; import com.unisinsight.project.exception.BaseErrorCode; import com.unisinsight.project.exception.Result; +import com.unisinsight.project.mapper.UserDeviceGroupMapper; import com.unisinsight.project.mapper.UserMapper; import com.unisinsight.project.service.UserService; import lombok.extern.slf4j.Slf4j; @@ -22,6 +24,8 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.List; +import java.util.stream.Collectors; /** * @author rdpnr_puzhi @@ -36,6 +40,10 @@ public class UserServiceImpl extends ServiceImpl @Resource private UserMapper userMapper; + + @Resource + private UserDeviceGroupMapper groupMapper; + @Override public Result insert(UserReq userReq) { User user = BeanUtil.copyProperties(userReq, User.class); @@ -99,6 +107,18 @@ public class UserServiceImpl extends ServiceImpl return Result.successResult(); } else { PageResult convert = PageResult.convertIPage(userPage, UserRes.class); + List userResList = convert.getData(); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.lambda().eq(UserDeviceGroup::getType, 1); + List userDeviceGroups = groupMapper.selectList(wrapper); + List resList = userResList.stream().distinct().peek(user -> { + for (UserDeviceGroup userDeviceGroup : userDeviceGroups) { + if (user.getUserGroupId().equals(userDeviceGroup.getId())) { + user.setUserGroupName(userDeviceGroup.getName()); + } + } + }).collect(Collectors.toList()); + convert.setData(resList); return Result.successResult(convert); } } @@ -114,6 +134,8 @@ public class UserServiceImpl extends ServiceImpl log.info("查询用户返回:{}", JSONUtil.toJsonStr(userRes)); return Result.successResult(userRes); } + + }