提交 8740698e 编写于 作者: F fit2-zhao 提交者: fit2-zhao

fix(操作日志): 修改操作日志相关问题

上级 521f20aa
......@@ -24,6 +24,8 @@
<foreach collection="request.projectIds" item="projectId" separator="," open="(" close=")">
#{projectId}
</foreach>
or t.project_id is null
or t.project_id = ""
<if test="request.operUser != null and request.operUser != ''">
and t.oper_user like #{request.operUser, jdbcType=VARCHAR}
or t1.NAME like #{request.operUser, jdbcType=VARCHAR}
......
......@@ -4,7 +4,6 @@ import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import io.metersphere.base.domain.User;
import io.metersphere.commons.constants.OperLogConstants;
import io.metersphere.commons.constants.RoleConstants;
import io.metersphere.commons.exception.MSException;
import io.metersphere.commons.user.SessionUser;
import io.metersphere.commons.utils.PageUtils;
......@@ -26,7 +25,6 @@ import io.metersphere.service.OrganizationService;
import io.metersphere.service.UserService;
import io.metersphere.service.WorkspaceService;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresRoles;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
......@@ -105,7 +103,7 @@ public class UserController {
}
@PostMapping("/special/ws/member/add")
@MsAuditLog(module = "workspace_member", type = OperLogConstants.CREATE, content = "#msClass.getLogDetails(#request.id)", msClass = WorkspaceService.class)
@MsAuditLog(module = "workspace_member", type = OperLogConstants.CREATE, content = "#msClass.getLogDetails(#request.userIds,#request.workspaceId)", msClass = UserService.class)
public void addMemberByAdmin(@RequestBody AddMemberRequest request) {
userService.addMember(request);
}
......@@ -117,7 +115,7 @@ public class UserController {
}
@PostMapping("/special/org/member/add")
@MsAuditLog(module = "organization_member", type = OperLogConstants.CREATE, content = "#msClass.getLogDetails(#request.id)", msClass = OrganizationService.class)
@MsAuditLog(module = "organization_member", type = OperLogConstants.CREATE, content = "#msClass.getLogDetails(#request.userIds,#request.organizationId)", msClass = UserService.class)
public void addOrganizationMemberByAdmin(@RequestBody AddOrgMemberRequest request) {
userService.addOrganizationMember(request);
}
......
......@@ -12,7 +12,7 @@ public class TestCaseReference {
testCaseColumns.put("createUser", "创建人");
testCaseColumns.put("nodePath", "用例模块");
testCaseColumns.put("type", "用例类型");
testCaseColumns.put("principal", "责任人");
testCaseColumns.put("maintainer", "责任人");
testCaseColumns.put("priority", "用例等级");
testCaseColumns.put("method", "请求类型");
testCaseColumns.put("prerequisite", "前置条件");
......
......@@ -1136,6 +1136,46 @@ public class UserService {
return null;
}
public String getLogDetails(List<String> ids, String id) {
if (!CollectionUtils.isEmpty(ids)) {
UserExample example = new UserExample();
example.createCriteria().andIdIn(ids);
List<User> users = userMapper.selectByExample(example);
List<String> names = users.stream().map(User::getName).collect(Collectors.toList());
StringBuilder nameBuilder = new StringBuilder();
nameBuilder.append(String.join(",", names)).append("\n");
for (String userId : ids) {
UserGroupExample userGroupExample = new UserGroupExample();
userGroupExample.createCriteria().andUserIdEqualTo(userId).andSourceIdEqualTo(id);
List<UserGroup> userGroups = userGroupMapper.selectByExample(userGroupExample);
if (CollectionUtils.isNotEmpty(userGroups)) {
List<String> groupIds = userGroups.stream().map(UserGroup::getGroupId).collect(Collectors.toList());
GroupExample groupExample = new GroupExample();
groupExample.createCriteria().andIdIn(groupIds);
List<Group> groups = groupMapper.selectByExample(groupExample);
if (CollectionUtils.isNotEmpty(groups)) {
List<String> strings = groups.stream().map(Group::getName).collect(Collectors.toList());
nameBuilder.append("用户组:").append(String.join(",", strings));
}
}
}
List<DetailColumn> columns = new LinkedList<>();
DetailColumn detailColumn = new DetailColumn();
detailColumn.setId(UUID.randomUUID().toString());
detailColumn.setColumnTitle("成员:");
detailColumn.setColumnName("roles");
detailColumn.setOriginalValue(nameBuilder.toString());
columns.add(detailColumn);
OperatingLogDetails details = new OperatingLogDetails(JSON.toJSONString(ids), null, nameBuilder.toString(), null, columns);
return JSON.toJSONString(details);
}
return null;
}
private String getRoles(String userId) {
List<Map<String, Object>> maps = userRoleService.getUserGroup(userId);
List<String> colNames = new LinkedList<>();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册