소스 검색

1、操作日志新增

yys 1 개월 전
부모
커밋
a6027bcaa1

+ 11 - 4
fs-company-app/src/main/java/com/fs/app/controller/FsUserController.java

@@ -9,8 +9,10 @@ import com.fs.app.config.ImageStorageConfig;
 import com.fs.app.param.FsUserProjectUpdateParam;
 import com.fs.app.param.FsUserTagUpdateParam;
 import com.fs.app.param.FsUserUpdateParam;
+import com.fs.common.annotation.Log;
 import com.fs.common.core.domain.R;
 import com.fs.common.core.domain.ResponseResult;
+import com.fs.common.enums.BusinessType;
 import com.fs.common.exception.ServiceException;
 import com.fs.common.utils.StringUtils;
 import com.fs.company.domain.CompanyUser;
@@ -298,10 +300,13 @@ public class FsUserController extends AppBaseController {
     @Login
     @ApiOperation("修改用户标签")
     @PostMapping("/changeUserTags")
+    @Log(title = "修改用户标签", businessType = BusinessType.UPDATE)
     public ResponseResult<Object> changeUserTags(@Valid @RequestBody FsUserPageListParam param) {
-        log.info("修改用户标签 param:{}", JSON.toJSONString(param));
+        String operatorId = getUserId();
+        String operatorCompanyUserId = param.getCompanyUserId();
+        log.info("修改用户标签 操作人userId={}, companyUserId={}, 请求参数={}", operatorId, operatorCompanyUserId, JSON.toJSONString(param));
         if (param.getCompanyUserId() == null) {
-            param.setUserId(Long.valueOf(getUserId()));
+            param.setUserId(Long.valueOf(operatorId));
         }
         if (CollectionUtils.isEmpty(param.getUserCompanyUserIds())) {
             if (ObjectUtil.isNotEmpty(param.getUserId())) {
@@ -310,10 +315,12 @@ public class FsUserController extends AppBaseController {
             List<Long> list = userCompanyUserService.selectIdListByCompanyUserId(param);
             param.setUserCompanyUserIds(list);
         }
-        List<Long> longList = Arrays.stream(param.getTagIds())
+        List<Long> newTagIds = Arrays.stream(param.getTagIds())
                 .map(Long::parseLong)
                 .collect(Collectors.toList());
-        userProjectTagService.addUserProjectTag(param.getUserCompanyUserIds(), longList);
+        log.info("修改用户标签 操作人userId={}, userCompanyUserIds={}, 新标签ids={}", operatorId, param.getUserCompanyUserIds(), newTagIds);
+        userProjectTagService.addUserProjectTag(param.getUserCompanyUserIds(), newTagIds);
+        log.info("修改用户标签完成 操作人userId={}, userCompanyUserIds={}, 新标签ids={}", operatorId, param.getUserCompanyUserIds(), newTagIds);
         return ResponseResult.ok();
     }
 

+ 19 - 0
fs-service/src/main/java/com/fs/his/service/impl/FsUserProjectTagServiceImpl.java

@@ -1,5 +1,6 @@
 package com.fs.his.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -10,6 +11,7 @@ import com.fs.his.mapper.FsUserProjectTagMapper;
 import com.fs.his.service.IFsUserProjectTagService;
 import com.fs.store.param.h5.TagListParam;
 import com.fs.store.vo.h5.CompanyUserTagListVO;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.ListUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -20,6 +22,7 @@ import java.util.*;
 import java.util.stream.Collectors;
 
 @Service
+@Slf4j
 public class FsUserProjectTagServiceImpl extends ServiceImpl<FsUserProjectTagMapper, FsUserProjectTag> implements IFsUserProjectTagService {
 
     @Resource
@@ -33,6 +36,12 @@ public class FsUserProjectTagServiceImpl extends ServiceImpl<FsUserProjectTagMap
     @Transactional(rollbackFor = Exception.class)
     @Override
     public void addUserProjectTag(Long id, List<Long> tagIds) {
+        // 查询原有标签,用于日志对比
+        List<FsUserProjectTag> oldTags = list(Wrappers.<FsUserProjectTag>lambdaQuery()
+                .eq(FsUserProjectTag::getUserCompanyUserId, id));
+        List<Long> oldTagIds = oldTags.stream().map(FsUserProjectTag::getTagId).collect(Collectors.toList());
+        log.info("修改用户标签 userCompanyUserId={}, 旧标签ids={}, 新标签ids={}", id, oldTagIds, tagIds);
+
         // 删除原有标签
         LambdaUpdateWrapper<FsUserProjectTag> deleteWrapper = Wrappers.<FsUserProjectTag>lambdaUpdate()
                 .eq(FsUserProjectTag::getUserCompanyUserId, id);
@@ -60,10 +69,19 @@ public class FsUserProjectTagServiceImpl extends ServiceImpl<FsUserProjectTagMap
     @Transactional(rollbackFor = Exception.class)
     @Override
     public void addUserProjectTag(List<Long> ids, List<Long> tagIds) {
+        // 查询原有标签,用于日志对比
+        List<FsUserProjectTag> oldTags = list(Wrappers.<FsUserProjectTag>lambdaQuery()
+                .in(FsUserProjectTag::getUserCompanyUserId, ids));
+        Map<Long, List<Long>> oldTagMap = oldTags.stream()
+                .collect(Collectors.groupingBy(FsUserProjectTag::getUserCompanyUserId,
+                        Collectors.mapping(FsUserProjectTag::getTagId, Collectors.toList())));
+        log.info("批量修改用户标签 userCompanyUserIds={}, 旧标签映射={}, 新标签ids={}", ids, oldTagMap, tagIds);
+
         // 删除原有标签
         batchDeleteByUserIds(ids);
 
         if (tagIds.isEmpty()) {
+            log.info("批量修改用户标签 新标签为空,仅删除旧标签 userCompanyUserIds={}", ids);
             return;
         }
 
@@ -80,6 +98,7 @@ public class FsUserProjectTagServiceImpl extends ServiceImpl<FsUserProjectTagMap
         if (!tagList.isEmpty()) {
             saveBatch(tagList);
         }
+        log.info("批量修改用户标签完成 userCompanyUserIds={}, 新标签ids={}", ids, tagIds);
     }
     public void batchDeleteByUserIds(List<Long> ids) {
         // 使用 ListUtils 自动分批