Browse Source

标签与群组修改

master
La123123 2 days ago
parent
commit
94936fda93
  1. 20
      im-admin-ui/src/api/im/user/index.ts
  2. 33
      im-admin-ui/src/api/im/user/types.ts
  3. 209
      im-admin-ui/src/views/im/user/index.vue
  4. 12
      im-admin/ruoyi-im/src/main/java/org/dromara/im/controller/ImUserLabelController.java
  5. 7
      im-admin/ruoyi-im/src/main/java/org/dromara/im/domain/ImUser.java
  6. 10
      im-admin/ruoyi-im/src/main/java/org/dromara/im/domain/bo/ImUserBo.java
  7. 9
      im-admin/ruoyi-im/src/main/java/org/dromara/im/domain/vo/ImUserVo.java
  8. 8
      im-admin/ruoyi-im/src/main/java/org/dromara/im/service/IImUserLabelService.java
  9. 24
      im-admin/ruoyi-im/src/main/java/org/dromara/im/service/impl/ImUserLabelServiceImpl.java
  10. 20
      im-admin/ruoyi-im/src/main/java/org/dromara/im/service/impl/ImUserServiceImpl.java
  11. BIN
      im-admin/ruoyi-im/target/classes/org/dromara/im/domain/ImGroupMemberToImGroupMemberVoMapper.class
  12. BIN
      im-admin/ruoyi-im/target/classes/org/dromara/im/domain/ImGroupMessageToImGroupMessageVoMapper.class
  13. BIN
      im-admin/ruoyi-im/target/classes/org/dromara/im/domain/ImGroupToImGroupVoMapper.class
  14. BIN
      im-admin/ruoyi-im/target/classes/org/dromara/im/domain/ImPrivateMessageToImPrivateMessageVoMapper.class
  15. BIN
      im-admin/ruoyi-im/target/classes/org/dromara/im/domain/ImSensitiveWordToImSensitiveWordVoMapper.class
  16. BIN
      im-admin/ruoyi-im/target/classes/org/dromara/im/domain/ImUser.class
  17. BIN
      im-admin/ruoyi-im/target/classes/org/dromara/im/domain/ImUserToImUserVoMapper.class
  18. BIN
      im-admin/ruoyi-im/target/classes/org/dromara/im/domain/ImUserToImUserVoMapperImpl.class
  19. BIN
      im-admin/ruoyi-im/target/classes/org/dromara/im/domain/bo/ImGroupBoToImGroupMapper.class
  20. BIN
      im-admin/ruoyi-im/target/classes/org/dromara/im/domain/bo/ImGroupMemberBoToImGroupMemberMapper.class
  21. BIN
      im-admin/ruoyi-im/target/classes/org/dromara/im/domain/bo/ImGroupMessageBoToImGroupMessageMapper.class
  22. BIN
      im-admin/ruoyi-im/target/classes/org/dromara/im/domain/bo/ImPrivateMessageBoToImPrivateMessageMapper.class
  23. BIN
      im-admin/ruoyi-im/target/classes/org/dromara/im/domain/bo/ImSensitiveWordBoToImSensitiveWordMapper.class
  24. BIN
      im-admin/ruoyi-im/target/classes/org/dromara/im/domain/bo/ImUserBo.class
  25. BIN
      im-admin/ruoyi-im/target/classes/org/dromara/im/domain/bo/ImUserBoToImUserMapper.class
  26. BIN
      im-admin/ruoyi-im/target/classes/org/dromara/im/domain/bo/ImUserBoToImUserMapperImpl.class
  27. 2
      im-admin/ruoyi-im/target/classes/org/dromara/im/domain/bo/ImUserBo__Javadoc.json
  28. BIN
      im-admin/ruoyi-im/target/classes/org/dromara/im/domain/vo/ImGroupMemberVoToImGroupMemberMapper.class
  29. BIN
      im-admin/ruoyi-im/target/classes/org/dromara/im/domain/vo/ImGroupMessageVoToImGroupMessageMapper.class
  30. BIN
      im-admin/ruoyi-im/target/classes/org/dromara/im/domain/vo/ImGroupVoToImGroupMapper.class
  31. BIN
      im-admin/ruoyi-im/target/classes/org/dromara/im/domain/vo/ImPrivateMessageVoToImPrivateMessageMapper.class
  32. BIN
      im-admin/ruoyi-im/target/classes/org/dromara/im/domain/vo/ImSensitiveWordVoToImSensitiveWordMapper.class
  33. BIN
      im-admin/ruoyi-im/target/classes/org/dromara/im/domain/vo/ImUserVo.class
  34. BIN
      im-admin/ruoyi-im/target/classes/org/dromara/im/domain/vo/ImUserVoToImUserMapper.class
  35. BIN
      im-admin/ruoyi-im/target/classes/org/dromara/im/domain/vo/ImUserVoToImUserMapperImpl.class
  36. BIN
      im-admin/ruoyi-im/target/classes/org/dromara/im/service/impl/ImUserServiceImpl.class
  37. 6
      im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/ImGroupMemberToImGroupMemberVoMapper.java
  38. 2
      im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/ImGroupMemberToImGroupMemberVoMapperImpl.java
  39. 4
      im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/ImGroupMessageToImGroupMessageVoMapper.java
  40. 2
      im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/ImGroupMessageToImGroupMessageVoMapperImpl.java
  41. 4
      im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/ImGroupToImGroupVoMapper.java
  42. 2
      im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/ImGroupToImGroupVoMapperImpl.java
  43. 4
      im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/ImPrivateMessageToImPrivateMessageVoMapper.java
  44. 2
      im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/ImPrivateMessageToImPrivateMessageVoMapperImpl.java
  45. 4
      im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/ImSensitiveWordToImSensitiveWordVoMapper.java
  46. 2
      im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/ImSensitiveWordToImSensitiveWordVoMapperImpl.java
  47. 4
      im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/ImUserToImUserVoMapper.java
  48. 6
      im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/ImUserToImUserVoMapperImpl.java
  49. 4
      im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/bo/ImGroupBoToImGroupMapper.java
  50. 2
      im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/bo/ImGroupBoToImGroupMapperImpl.java
  51. 4
      im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/bo/ImGroupMemberBoToImGroupMemberMapper.java
  52. 2
      im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/bo/ImGroupMemberBoToImGroupMemberMapperImpl.java
  53. 4
      im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/bo/ImGroupMessageBoToImGroupMessageMapper.java
  54. 2
      im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/bo/ImGroupMessageBoToImGroupMessageMapperImpl.java
  55. 4
      im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/bo/ImPrivateMessageBoToImPrivateMessageMapper.java
  56. 2
      im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/bo/ImPrivateMessageBoToImPrivateMessageMapperImpl.java
  57. 4
      im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/bo/ImSensitiveWordBoToImSensitiveWordMapper.java
  58. 2
      im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/bo/ImSensitiveWordBoToImSensitiveWordMapperImpl.java
  59. 4
      im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/bo/ImUserBoToImUserMapper.java
  60. 6
      im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/bo/ImUserBoToImUserMapperImpl.java
  61. 4
      im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/vo/ImGroupMemberVoToImGroupMemberMapper.java
  62. 2
      im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/vo/ImGroupMemberVoToImGroupMemberMapperImpl.java
  63. 4
      im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/vo/ImGroupMessageVoToImGroupMessageMapper.java
  64. 2
      im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/vo/ImGroupMessageVoToImGroupMessageMapperImpl.java
  65. 4
      im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/vo/ImGroupVoToImGroupMapper.java
  66. 2
      im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/vo/ImGroupVoToImGroupMapperImpl.java
  67. 4
      im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/vo/ImPrivateMessageVoToImPrivateMessageMapper.java
  68. 2
      im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/vo/ImPrivateMessageVoToImPrivateMessageMapperImpl.java
  69. 4
      im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/vo/ImSensitiveWordVoToImSensitiveWordMapper.java
  70. 2
      im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/vo/ImSensitiveWordVoToImSensitiveWordMapperImpl.java
  71. 4
      im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/vo/ImUserVoToImUserMapper.java
  72. 6
      im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/vo/ImUserVoToImUserMapperImpl.java

20
im-admin-ui/src/api/im/user/index.ts

@ -89,3 +89,23 @@ export const getActiveUserStats = (): AxiosPromise<any> => {
method: 'get' method: 'get'
}); });
}; };
/**
*
*/
export const getLabelList = (): AxiosPromise<any> => {
return request({
url: '/im/userLabel/labelOptions',
method: 'post'
});
};
/**
*
*/
export const getGroupList = (): AxiosPromise<any> => {
return request({
url: '/im/userGroup/selectList',
method: 'post'
});
};

33
im-admin-ui/src/api/im/user/types.ts

@ -68,7 +68,15 @@ export interface UserVO {
*/ */
reason: string; reason: string;
/**
* ids
*/
labelIds?: string;
/**
* ids
*/
groupIds?: string;
} }
export interface UserForm extends BaseEntity { export interface UserForm extends BaseEntity {
@ -137,10 +145,18 @@ export interface UserForm extends BaseEntity {
*/ */
reason?: string; reason?: string;
/**
* ids
*/
labelIds?: string;
/**
* ids
*/
groupIds?: string;
} }
export interface UserQuery extends PageQuery { export interface UserQuery extends PageQuery {
/** /**
* *
*/ */
@ -158,10 +174,19 @@ export interface UserQuery extends PageQuery {
* *
*/ */
params?: any; params?: any;
/**
* ids
*/
labelIds?: string;
/**
* ids
*/
groupIds?: string;
} }
export interface UserBanDTO { export interface UserBanDTO {
/** /**
* id * id
*/ */
@ -173,13 +198,9 @@ export interface UserBanDTO {
reason?: string; reason?: string;
} }
export interface UserUnbanDTO { export interface UserUnbanDTO {
/** /**
* id * id
*/ */
id?: string | number; id?: string | number;
} }

209
im-admin-ui/src/views/im/user/index.vue

@ -1,7 +1,6 @@
<template> <template>
<div class="p-2"> <div class="p-2">
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" <transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
:leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="mb-[10px]"> <div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover"> <el-card shadow="hover">
<el-form ref="queryFormRef" :model="queryParams" :inline="true"> <el-form ref="queryFormRef" :model="queryParams" :inline="true">
@ -11,11 +10,20 @@
<el-form-item label="用户昵称" prop="nickName"> <el-form-item label="用户昵称" prop="nickName">
<el-input v-model="queryParams.nickName" placeholder="请输入用户昵称" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.nickName" placeholder="请输入用户昵称" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="标签" prop="labelIds">
<el-select v-model="queryParams.labelIds" multiple collapse-tags collapse-tags-tooltip placeholder="请选择标签" style="width: 200px">
<el-option v-for="item in labelOptions" :key="item.id" :label="item.labelName" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="群组" prop="groupIds">
<el-select v-model="queryParams.groupIds" multiple collapse-tags collapse-tags-tooltip placeholder="请选择群组" style="width: 200px">
<el-option v-for="item in groupOptions" :key="item.id" :label="item.groupName" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
<el-button icon="Refresh" @click="resetQuery">重置</el-button> <el-button icon="Refresh" @click="resetQuery">重置</el-button>
<el-button type="warning" plain icon="Download" @click="handleExport" <el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['im:user:export']">导出</el-button>
v-hasPermi="['im:user:export']">导出</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-card> </el-card>
@ -36,6 +44,31 @@
<dict-tag :options="sys_user_sex" :value="scope.row.sex" /> <dict-tag :options="sys_user_sex" :value="scope.row.sex" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="标签" align="center" prop="labelIds" width="200">
<template #default="scope">
<el-tag
v-for="labelId in (scope.row.labelIds || '').split(',').filter(id => id)"
:key="labelId"
size="small"
style="margin-right: 5px; margin-bottom: 5px;"
>
{{ getLabelNameById(labelId) }}
</el-tag>
</template>
</el-table-column>
<el-table-column label="群组" align="center" prop="groupIds" width="200">
<template #default="scope">
<el-tag
v-for="groupId in (scope.row.groupIds || '').split(',').filter(id => id)"
:key="groupId"
type="info"
size="small"
style="margin-right: 5px; margin-bottom: 5px;"
>
{{ getGroupNameById(groupId) }}
</el-tag>
</template>
</el-table-column>
<el-table-column label="是否被封禁" align="center" prop="isBanned"> <el-table-column label="是否被封禁" align="center" prop="isBanned">
<template #default="scope"> <template #default="scope">
<dict-tag :options="im_bool" :value="scope.row.isBanned" /> <dict-tag :options="im_bool" :value="scope.row.isBanned" />
@ -53,25 +86,20 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope"> <template #default="scope">
<el-button link type="primary" v-hasPermi="['im:user:query']" <el-button link type="primary" v-hasPermi="['im:user:query']" @click="handleDetail(scope.row)">详情</el-button>
@click="handleDetail(scope.row)">详情</el-button> <el-button v-if="scope.row.isBanned" link type="danger" v-hasPermi="['im:user:ban']" @click="unbanHandle(scope.row)">解封</el-button>
<el-button v-if="scope.row.isBanned" link type="danger" v-hasPermi="['im:user:ban']" <el-button v-else link type="danger" v-hasPermi="['im:user:ban']" @click="banHandle(scope.row)">封禁</el-button>
@click="unbanHandle(scope.row)">解封</el-button>
<el-button v-else link type="danger" v-hasPermi="['im:user:ban']"
@click="banHandle(scope.row)">封禁</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card> </el-card>
<!-- 添加或修改用户对话框 --> <!-- 添加或修改用户对话框 -->
<el-dialog :title="dialog.title" v-model="dialog.visible" width="800px" append-to-body> <el-dialog :title="dialog.title" v-model="dialog.visible" width="800px" append-to-body>
<el-form ref="userFormRef" :model="form" :rules="rules" label-width="100px" disabled> <el-form ref="userFormRef" :model="form" :rules="rules" label-width="100px" disabled>
<el-form-item label="用户头像" prop="headImage"> <el-form-item label="用户头像" prop="headImage">
<image-preview v-if="form.headImageThumb" :src="form.headImageThumb" :full-src="form.headImage" <image-preview v-if="form.headImageThumb" :src="form.headImageThumb" :full-src="form.headImage" :width="100" :height="100" />
:width="100" :height="100" />
</el-form-item> </el-form-item>
<el-form-item label="用户名" prop="userName"> <el-form-item label="用户名" prop="userName">
<el-input v-model="form.userName" /> <el-input v-model="form.userName" />
@ -86,18 +114,37 @@
<el-input v-model="form.signature" /> <el-input v-model="form.signature" />
</el-form-item> </el-form-item>
<el-form-item label="最后登录时间" prop="lastLoginTime"> <el-form-item label="最后登录时间" prop="lastLoginTime">
<el-date-picker clearable v-model="form.lastLoginTime" type="datetime" value-format="YYYY-MM-DD HH:mm:ss"> <el-date-picker clearable v-model="form.lastLoginTime" type="datetime" value-format="YYYY-MM-DD HH:mm:ss"> </el-date-picker>
</el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="注册时间" prop="createdTime"> <el-form-item label="注册时间" prop="createdTime">
<el-date-picker clearable v-model="form.createdTime" type="datetime" value-format="YYYY-MM-DD HH:mm:ss"> <el-date-picker clearable v-model="form.createdTime" type="datetime" value-format="YYYY-MM-DD HH:mm:ss"> </el-date-picker>
</el-date-picker> </el-form-item>
<el-form-item label="标签" prop="labelIds">
<el-tag
v-for="labelId in (form.labelIds || '').split(',').filter(id => id)"
:key="labelId"
size="small"
style="margin-right: 5px; margin-bottom: 5px;"
>
{{ getLabelNameById(labelId) }}
</el-tag>
</el-form-item>
<el-form-item label="群组" prop="groupIds">
<el-tag
v-for="groupId in (form.groupIds || '').split(',').filter(id => id)"
:key="groupId"
type="info"
size="small"
style="margin-right: 5px; margin-bottom: 5px;"
>
{{ getGroupNameById(groupId) }}
</el-tag>
</el-form-item> </el-form-item>
<el-form-item label="是否被封禁" prop="isBanned"> <el-form-item label="是否被封禁" prop="isBanned">
<dict-tag :options="im_bool" :value="form.isBanned" /> <dict-tag :options="im_bool" :value="form.isBanned" />
</el-form-item> </el-form-item>
<el-form-item v-if="form.isBanned" label="被封禁原因" prop="reason"> <el-form-item v-if="form.isBanned" label="被封禁原因" prop="reason">
<el-input v-model="form.reason"/> <el-input v-model="form.reason" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<template #footer> <template #footer>
@ -110,7 +157,7 @@
</template> </template>
<script setup name="User" lang="ts"> <script setup name="User" lang="ts">
import { listUser, getUser, ban, unban } from '@/api/im/user'; import { listUser, getUser, ban, unban, getLabelList, getGroupList } from '@/api/im/user';
import { UserVO, UserQuery, UserForm } from '@/api/im/user/types'; import { UserVO, UserQuery, UserForm } from '@/api/im/user/types';
const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { proxy } = getCurrentInstance() as ComponentInternalInstance;
@ -123,6 +170,10 @@ const single = ref(true);
const multiple = ref(true); const multiple = ref(true);
const total = ref(0); const total = ref(0);
//
const labelOptions = ref<any[]>([]);
const groupOptions = ref<any[]>([]);
const queryFormRef = ref<ElFormInstance>(); const queryFormRef = ref<ElFormInstance>();
const userFormRef = ref<ElFormInstance>(); const userFormRef = ref<ElFormInstance>();
const dialog = reactive<DialogOption>({ const dialog = reactive<DialogOption>({
@ -143,8 +194,10 @@ const initFormData: UserForm = {
createdTime: undefined, createdTime: undefined,
type: undefined, type: undefined,
isBanned: undefined, isBanned: undefined,
reason: undefined reason: undefined,
} labelIds: '',
groupIds: ''
};
const data = reactive<PageData<UserForm, UserQuery>>({ const data = reactive<PageData<UserForm, UserQuery>>({
form: { ...initFormData }, form: { ...initFormData },
queryParams: { queryParams: {
@ -152,8 +205,9 @@ const data = reactive<PageData<UserForm, UserQuery>>({
pageSize: 10, pageSize: 10,
userName: undefined, userName: undefined,
nickName: undefined, nickName: undefined,
params: { labelIds: [],
} groupIds: [],
params: {}
}, },
rules: {} rules: {}
}); });
@ -165,55 +219,69 @@ const { sys_user_sex } = toRefs<any>(proxy?.useDict('sys_user_sex'));
/** 查询用户列表 */ /** 查询用户列表 */
const getList = async () => { const getList = async () => {
loading.value = true; loading.value = true;
const res = await listUser(queryParams.value);
// ID
const params = { ...queryParams.value };
if (params.labelIds && Array.isArray(params.labelIds)) {
params.labelIds = params.labelIds.join(',');
}
if (params.groupIds && Array.isArray(params.groupIds)) {
params.groupIds = params.groupIds.join(',');
}
const res = await listUser(params);
userList.value = res.rows; userList.value = res.rows;
total.value = res.total; total.value = res.total;
loading.value = false; loading.value = false;
console.log("getList") console.log('getList');
} };
/** 搜索按钮操作 */ /** 搜索按钮操作 */
const handleQuery = () => { const handleQuery = () => {
queryParams.value.pageNum = 1; queryParams.value.pageNum = 1;
getList(); getList();
console.log("handleQuery") console.log('handleQuery');
} };
/** 重置按钮操作 */ /** 重置按钮操作 */
const resetQuery = () => { const resetQuery = () => {
queryFormRef.value?.resetFields(); queryFormRef.value?.resetFields();
//
queryParams.value.labelIds = [];
queryParams.value.groupIds = [];
handleQuery(); handleQuery();
console.log("handleQuery") console.log('handleQuery');
} };
/** 多选框选中数据 */ /** 多选框选中数据 */
const handleSelectionChange = (selection: UserVO[]) => { const handleSelectionChange = (selection: UserVO[]) => {
ids.value = selection.map(item => item.id); ids.value = selection.map((item) => item.id);
single.value = selection.length != 1; single.value = selection.length != 1;
multiple.value = !selection.length; multiple.value = !selection.length;
console.log("handleSelectionChange") console.log('handleSelectionChange');
} };
/** 表单重置 */ /** 表单重置 */
const reset = () => { const reset = () => {
form.value = { ...initFormData }; form.value = { ...initFormData };
userFormRef.value?.resetFields(); userFormRef.value?.resetFields();
console.log("reset") console.log('reset');
} };
/** 修改按钮操作 */ /** 修改按钮操作 */
const handleDetail = async (row?: UserVO) => { const handleDetail = async (row?: UserVO) => {
reset(); reset();
const _id = row?.id || ids.value[0] const _id = row?.id || ids.value[0];
const res = await getUser(_id); const res = await getUser(_id);
Object.assign(form.value, res.data); Object.assign(form.value, res.data);
dialog.visible = true; dialog.visible = true;
dialog.title = "用户信息"; dialog.title = '用户信息';
} };
/** 提交按钮 */ /** 提交按钮 */
const submitForm = () => { const submitForm = () => {
dialog.visible = false; dialog.visible = false;
} };
const banHandle = (user: any) => { const banHandle = (user: any) => {
ElMessageBox.prompt('封禁原因:', '确定对该用户进行封禁?', { ElMessageBox.prompt('封禁原因:', '确定对该用户进行封禁?', {
@ -222,37 +290,66 @@ const banHandle = (user: any) => {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消' cancelButtonText: '取消'
}).then(({ value }) => { }).then(({ value }) => {
const data = { id: user.id, reason: value } const data = { id: user.id, reason: value };
ban(data).then(() => { ban(data).then(() => {
user.isBanned = true user.isBanned = true;
ElMessage.success(`用户'${user.userName}'已被封禁`); ElMessage.success(`用户'${user.userName}'已被封禁`);
}) });
}) });
} };
const unbanHandle = (user: any) => { const unbanHandle = (user: any) => {
ElMessageBox.confirm('确定解除该用户的封禁状态??', '提示', { ElMessageBox.confirm('确定解除该用户的封禁状态??', '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消' cancelButtonText: '取消'
}).then(() => { }).then(() => {
const data = { id: user.id } const data = { id: user.id };
unban(data).then(() => { unban(data).then(() => {
user.isBanned = false user.isBanned = false;
ElMessage.success(`用户'${user.userName}'解锁成功`); ElMessage.success(`用户'${user.userName}'解锁成功`);
}) });
});
}) };
}
/** 导出按钮操作 */ /** 导出按钮操作 */
const handleExport = () => { const handleExport = () => {
proxy?.download('im/user/export', { // ID
...queryParams.value const params = { ...queryParams.value };
}, `user_${new Date().getTime()}.xlsx`) if (params.labelIds && Array.isArray(params.labelIds)) {
} params.labelIds = params.labelIds.join(',');
}
if (params.groupIds && Array.isArray(params.groupIds)) {
params.groupIds = params.groupIds.join(',');
}
proxy?.download('im/user/export', params, `user_${new Date().getTime()}.xlsx`);
};
//
const getLabelNameById = (id: string | number) => {
const label = labelOptions.value.find((item) => item.id == id);
return label ? label.labelName : '';
};
//
const getGroupNameById = (id: string | number) => {
const group = groupOptions.value.find((item) => item.id == id);
return group ? group.groupName : '';
};
//
const getLabelAndGroupList = async () => {
try {
const [labelsRes, groupsRes] = await Promise.all([getLabelList(), getGroupList()]);
labelOptions.value = labelsRes.data || [];
groupOptions.value = groupsRes.data || [];
} catch (error) {
console.error('获取标签和群组列表失败:', error);
}
};
onMounted(() => { onMounted(async () => {
await getLabelAndGroupList();
getList(); getList();
}); });
</script> </script>

12
im-admin/ruoyi-im/src/main/java/org/dromara/im/controller/ImUserLabelController.java

@ -1,6 +1,7 @@
package org.dromara.im.controller; package org.dromara.im.controller;
import java.util.List; import java.util.List;
import java.util.Map;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
@ -102,4 +103,15 @@ public class ImUserLabelController extends BaseController {
@PathVariable Long[] ids) { @PathVariable Long[] ids) {
return toAjax(imUserLabelService.deleteWithValidByIds(List.of(ids), true)); return toAjax(imUserLabelService.deleteWithValidByIds(List.of(ids), true));
} }
/**
* 获取用户分组下拉框数据
*
* @return 下拉框数据列表 (id labelName)
*/
@SaCheckPermission("im:userLabel:query")
@PostMapping("/labelOptions")
public R<List<Map<String, Object>>> labelOptions() {
return R.ok(imUserLabelService.queryLabelOptions());
}
} }

7
im-admin/ruoyi-im/src/main/java/org/dromara/im/domain/ImUser.java

@ -1,11 +1,14 @@
package org.dromara.im.domain; package org.dromara.im.domain;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.fhs.core.trans.vo.TransPojo; import com.fhs.core.trans.vo.TransPojo;
import lombok.Data; import lombok.Data;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* 用户对象 im_user * 用户对象 im_user
@ -93,6 +96,10 @@ public class ImUser implements TransPojo {
*/ */
private Integer isCustomer; private Integer isCustomer;
private String labelIds;
private String groupIds;
} }

10
im-admin/ruoyi-im/src/main/java/org/dromara/im/domain/bo/ImUserBo.java

@ -86,4 +86,14 @@ public class ImUserBo {
*/ */
private Integer isCustomer; private Integer isCustomer;
/**
* 标签 ID 列表 (逗号分隔)
*/
private String labelIds;
/**
* 群组 ID 列表 (逗号分隔)
*/
private String groupIds;
} }

9
im-admin/ruoyi-im/src/main/java/org/dromara/im/domain/vo/ImUserVo.java

@ -2,6 +2,8 @@ package org.dromara.im.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import io.github.linpeilie.annotations.AutoMapper; import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data; import lombok.Data;
import org.dromara.common.excel.annotation.ExcelDictFormat; import org.dromara.common.excel.annotation.ExcelDictFormat;
@ -9,7 +11,7 @@ import org.dromara.common.excel.convert.ExcelDictConvert;
import org.dromara.im.domain.ImUser; import org.dromara.im.domain.ImUser;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
@ -101,5 +103,10 @@ public class ImUserVo {
@ExcelProperty(value = "被封禁原因") @ExcelProperty(value = "被封禁原因")
private String reason; private String reason;
private String labelIds;
private String groupIds;
} }

8
im-admin/ruoyi-im/src/main/java/org/dromara/im/service/IImUserLabelService.java

@ -7,6 +7,7 @@ import org.dromara.common.mybatis.core.page.PageQuery;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 用户分组Service接口 * 用户分组Service接口
@ -65,4 +66,11 @@ public interface IImUserLabelService {
* @return 是否删除成功 * @return 是否删除成功
*/ */
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid); Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
/**
* 获取用户分组下拉框数据
*
* @return 下拉框数据列表 (id labelName)
*/
List<Map<String, Object>> queryLabelOptions();
} }

24
im-admin/ruoyi-im/src/main/java/org/dromara/im/service/impl/ImUserLabelServiceImpl.java

@ -126,8 +126,30 @@ public class ImUserLabelServiceImpl implements IImUserLabelService {
@Override @Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){ if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验 //TODO 做一些业务上的校验判断是否需要校验
} }
return baseMapper.deleteByIds(ids) > 0; return baseMapper.deleteByIds(ids) > 0;
} }
/**
* 获取用户分组下拉框数据
*
* @return 下拉框数据列表 (id labelName)
*/
@Override
public List<Map<String, Object>> queryLabelOptions() {
LambdaQueryWrapper<ImUserLabel> lqw = Wrappers.lambdaQuery();
lqw.select(ImUserLabel::getId, ImUserLabel::getLabelName);
lqw.orderByAsc(ImUserLabel::getSort);
List<ImUserLabel> labels = baseMapper.selectList(lqw);
return labels.stream()
.map(label -> {
Map<String, Object> option = new java.util.HashMap<>();
option.put("id", label.getId());
option.put("labelName", label.getLabelName());
return option;
})
.collect(java.util.stream.Collectors.toList());
}
} }

20
im-admin/ruoyi-im/src/main/java/org/dromara/im/service/impl/ImUserServiceImpl.java

@ -107,6 +107,26 @@ public class ImUserServiceImpl implements IImUserService {
wrapper.eq(ImUser::getIsCustomer, bo.getIsCustomer()); wrapper.eq(ImUser::getIsCustomer, bo.getIsCustomer());
wrapper.like(StringUtils.isNotBlank(bo.getUserName()), ImUser::getUserName, bo.getUserName()); wrapper.like(StringUtils.isNotBlank(bo.getUserName()), ImUser::getUserName, bo.getUserName());
wrapper.like(StringUtils.isNotBlank(bo.getNickName()), ImUser::getNickName, bo.getNickName()); wrapper.like(StringUtils.isNotBlank(bo.getNickName()), ImUser::getNickName, bo.getNickName());
// 处理标签 ID 查询,支持多个标签 ID 的 AND 匹配
if (StringUtils.isNotBlank(bo.getLabelIds())) {
String[] labelArray = bo.getLabelIds().split(",");
for (String label : labelArray) {
if (StringUtils.isNotBlank(label)) {
wrapper.apply("FIND_IN_SET({0}, label_ids)", label.trim());
}
}
}
// 处理群组 ID 查询,支持多个群组 ID 的 AND 匹配
if (StringUtils.isNotBlank(bo.getGroupIds())) {
String[] groupArray = bo.getGroupIds().split(",");
for (String group : groupArray) {
if (StringUtils.isNotBlank(group)) {
wrapper.apply("FIND_IN_SET({0}, group_ids)", group.trim());
}
}
}
wrapper.orderByDesc(ImUser::getId); wrapper.orderByDesc(ImUser::getId);
return wrapper; return wrapper;
} }

BIN
im-admin/ruoyi-im/target/classes/org/dromara/im/domain/ImGroupMemberToImGroupMemberVoMapper.class

Binary file not shown.

BIN
im-admin/ruoyi-im/target/classes/org/dromara/im/domain/ImGroupMessageToImGroupMessageVoMapper.class

Binary file not shown.

BIN
im-admin/ruoyi-im/target/classes/org/dromara/im/domain/ImGroupToImGroupVoMapper.class

Binary file not shown.

BIN
im-admin/ruoyi-im/target/classes/org/dromara/im/domain/ImPrivateMessageToImPrivateMessageVoMapper.class

Binary file not shown.

BIN
im-admin/ruoyi-im/target/classes/org/dromara/im/domain/ImSensitiveWordToImSensitiveWordVoMapper.class

Binary file not shown.

BIN
im-admin/ruoyi-im/target/classes/org/dromara/im/domain/ImUser.class

Binary file not shown.

BIN
im-admin/ruoyi-im/target/classes/org/dromara/im/domain/ImUserToImUserVoMapper.class

Binary file not shown.

BIN
im-admin/ruoyi-im/target/classes/org/dromara/im/domain/ImUserToImUserVoMapperImpl.class

Binary file not shown.

BIN
im-admin/ruoyi-im/target/classes/org/dromara/im/domain/bo/ImGroupBoToImGroupMapper.class

Binary file not shown.

BIN
im-admin/ruoyi-im/target/classes/org/dromara/im/domain/bo/ImGroupMemberBoToImGroupMemberMapper.class

Binary file not shown.

BIN
im-admin/ruoyi-im/target/classes/org/dromara/im/domain/bo/ImGroupMessageBoToImGroupMessageMapper.class

Binary file not shown.

BIN
im-admin/ruoyi-im/target/classes/org/dromara/im/domain/bo/ImPrivateMessageBoToImPrivateMessageMapper.class

Binary file not shown.

BIN
im-admin/ruoyi-im/target/classes/org/dromara/im/domain/bo/ImSensitiveWordBoToImSensitiveWordMapper.class

Binary file not shown.

BIN
im-admin/ruoyi-im/target/classes/org/dromara/im/domain/bo/ImUserBo.class

Binary file not shown.

BIN
im-admin/ruoyi-im/target/classes/org/dromara/im/domain/bo/ImUserBoToImUserMapper.class

Binary file not shown.

BIN
im-admin/ruoyi-im/target/classes/org/dromara/im/domain/bo/ImUserBoToImUserMapperImpl.class

Binary file not shown.

2
im-admin/ruoyi-im/target/classes/org/dromara/im/domain/bo/ImUserBo__Javadoc.json

@ -1 +1 @@
{"doc":" 用户业务对象 im_user\n\n @author Blue\n @date 2024-12-22\n","fields":[{"name":"id","doc":" id\n"},{"name":"userName","doc":" 用户名\n"},{"name":"nickName","doc":" 用户昵称\n"},{"name":"headImage","doc":" 用户头像\n"},{"name":"headImageThumb","doc":" 用户头像缩略图\n"},{"name":"password","doc":" 密码(明文)\n"},{"name":"sex","doc":" 性别 0:男 1::女\n"},{"name":"signature","doc":" 个性签名\n"},{"name":"lastLoginTime","doc":" 最后登录时间\n"},{"name":"createdTime","doc":" 创建时间\n"},{"name":"isBanned","doc":" 是否被封禁\n"},{"name":"reason","doc":" 被封禁原因\n"},{"name":"isCustomer","doc":" 用户类型 1:普通用户 2:客服\n"}],"enumConstants":[],"methods":[],"constructors":[]} {"doc":" 用户业务对象 im_user\n\n @author Blue\n @date 2024-12-22\n","fields":[{"name":"id","doc":" id\n"},{"name":"userName","doc":" 用户名\n"},{"name":"nickName","doc":" 用户昵称\n"},{"name":"headImage","doc":" 用户头像\n"},{"name":"headImageThumb","doc":" 用户头像缩略图\n"},{"name":"password","doc":" 密码(明文)\n"},{"name":"sex","doc":" 性别 0:男 1::女\n"},{"name":"signature","doc":" 个性签名\n"},{"name":"lastLoginTime","doc":" 最后登录时间\n"},{"name":"createdTime","doc":" 创建时间\n"},{"name":"isBanned","doc":" 是否被封禁\n"},{"name":"reason","doc":" 被封禁原因\n"},{"name":"isCustomer","doc":" 用户类型 1:普通用户 2:客服\n"},{"name":"labelIds","doc":" 标签 ID 列表 (逗号分隔)\n"},{"name":"groupIds","doc":" 群组 ID 列表 (逗号分隔)\n"}],"enumConstants":[],"methods":[],"constructors":[]}

BIN
im-admin/ruoyi-im/target/classes/org/dromara/im/domain/vo/ImGroupMemberVoToImGroupMemberMapper.class

Binary file not shown.

BIN
im-admin/ruoyi-im/target/classes/org/dromara/im/domain/vo/ImGroupMessageVoToImGroupMessageMapper.class

Binary file not shown.

BIN
im-admin/ruoyi-im/target/classes/org/dromara/im/domain/vo/ImGroupVoToImGroupMapper.class

Binary file not shown.

BIN
im-admin/ruoyi-im/target/classes/org/dromara/im/domain/vo/ImPrivateMessageVoToImPrivateMessageMapper.class

Binary file not shown.

BIN
im-admin/ruoyi-im/target/classes/org/dromara/im/domain/vo/ImSensitiveWordVoToImSensitiveWordMapper.class

Binary file not shown.

BIN
im-admin/ruoyi-im/target/classes/org/dromara/im/domain/vo/ImUserVo.class

Binary file not shown.

BIN
im-admin/ruoyi-im/target/classes/org/dromara/im/domain/vo/ImUserVoToImUserMapper.class

Binary file not shown.

BIN
im-admin/ruoyi-im/target/classes/org/dromara/im/domain/vo/ImUserVoToImUserMapperImpl.class

Binary file not shown.

BIN
im-admin/ruoyi-im/target/classes/org/dromara/im/service/impl/ImUserServiceImpl.class

Binary file not shown.

6
im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/ImGroupMemberToImGroupMemberVoMapper.java

@ -1,6 +1,6 @@
package org.dromara.im.domain; package org.dromara.im.domain;
import io.github.linpeilie.AutoMapperConfig__169; import io.github.linpeilie.AutoMapperConfig__175;
import io.github.linpeilie.BaseMapper; import io.github.linpeilie.BaseMapper;
import org.dromara.im.domain.bo.ImGroupMemberBoToImGroupMemberMapper; import org.dromara.im.domain.bo.ImGroupMemberBoToImGroupMemberMapper;
import org.dromara.im.domain.vo.ImGroupMemberVo; import org.dromara.im.domain.vo.ImGroupMemberVo;
@ -8,8 +8,8 @@ import org.dromara.im.domain.vo.ImGroupMemberVoToImGroupMemberMapper;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
@Mapper( @Mapper(
config = AutoMapperConfig__169.class, config = AutoMapperConfig__175.class,
uses = {ImGroupMemberBoToImGroupMemberMapper.class,ImGroupMemberVoToImGroupMemberMapper.class}, uses = {ImGroupMemberVoToImGroupMemberMapper.class,ImGroupMemberBoToImGroupMemberMapper.class},
imports = {} imports = {}
) )
public interface ImGroupMemberToImGroupMemberVoMapper extends BaseMapper<ImGroupMember, ImGroupMemberVo> { public interface ImGroupMemberToImGroupMemberVoMapper extends BaseMapper<ImGroupMember, ImGroupMemberVo> {

2
im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/ImGroupMemberToImGroupMemberVoMapperImpl.java

@ -7,7 +7,7 @@ import org.springframework.stereotype.Component;
@Generated( @Generated(
value = "org.mapstruct.ap.MappingProcessor", value = "org.mapstruct.ap.MappingProcessor",
date = "2026-04-01T15:40:06+0800", date = "2026-04-01T17:01:58+0800",
comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.13 (Amazon.com Inc.)" comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.13 (Amazon.com Inc.)"
) )
@Component @Component

4
im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/ImGroupMessageToImGroupMessageVoMapper.java

@ -1,6 +1,6 @@
package org.dromara.im.domain; package org.dromara.im.domain;
import io.github.linpeilie.AutoMapperConfig__169; import io.github.linpeilie.AutoMapperConfig__175;
import io.github.linpeilie.BaseMapper; import io.github.linpeilie.BaseMapper;
import org.dromara.im.domain.bo.ImGroupMessageBoToImGroupMessageMapper; import org.dromara.im.domain.bo.ImGroupMessageBoToImGroupMessageMapper;
import org.dromara.im.domain.vo.ImGroupMessageVo; import org.dromara.im.domain.vo.ImGroupMessageVo;
@ -8,7 +8,7 @@ import org.dromara.im.domain.vo.ImGroupMessageVoToImGroupMessageMapper;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
@Mapper( @Mapper(
config = AutoMapperConfig__169.class, config = AutoMapperConfig__175.class,
uses = {ImGroupMessageBoToImGroupMessageMapper.class,ImGroupMessageVoToImGroupMessageMapper.class}, uses = {ImGroupMessageBoToImGroupMessageMapper.class,ImGroupMessageVoToImGroupMessageMapper.class},
imports = {} imports = {}
) )

2
im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/ImGroupMessageToImGroupMessageVoMapperImpl.java

@ -6,7 +6,7 @@ import org.springframework.stereotype.Component;
@Generated( @Generated(
value = "org.mapstruct.ap.MappingProcessor", value = "org.mapstruct.ap.MappingProcessor",
date = "2026-04-01T15:40:06+0800", date = "2026-04-01T17:01:58+0800",
comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.13 (Amazon.com Inc.)" comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.13 (Amazon.com Inc.)"
) )
@Component @Component

4
im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/ImGroupToImGroupVoMapper.java

@ -1,6 +1,6 @@
package org.dromara.im.domain; package org.dromara.im.domain;
import io.github.linpeilie.AutoMapperConfig__169; import io.github.linpeilie.AutoMapperConfig__175;
import io.github.linpeilie.BaseMapper; import io.github.linpeilie.BaseMapper;
import org.dromara.im.domain.bo.ImGroupBoToImGroupMapper; import org.dromara.im.domain.bo.ImGroupBoToImGroupMapper;
import org.dromara.im.domain.vo.ImGroupVo; import org.dromara.im.domain.vo.ImGroupVo;
@ -8,7 +8,7 @@ import org.dromara.im.domain.vo.ImGroupVoToImGroupMapper;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
@Mapper( @Mapper(
config = AutoMapperConfig__169.class, config = AutoMapperConfig__175.class,
uses = {ImGroupVoToImGroupMapper.class,ImGroupBoToImGroupMapper.class}, uses = {ImGroupVoToImGroupMapper.class,ImGroupBoToImGroupMapper.class},
imports = {} imports = {}
) )

2
im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/ImGroupToImGroupVoMapperImpl.java

@ -7,7 +7,7 @@ import org.springframework.stereotype.Component;
@Generated( @Generated(
value = "org.mapstruct.ap.MappingProcessor", value = "org.mapstruct.ap.MappingProcessor",
date = "2026-04-01T15:40:05+0800", date = "2026-04-01T17:01:58+0800",
comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.13 (Amazon.com Inc.)" comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.13 (Amazon.com Inc.)"
) )
@Component @Component

4
im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/ImPrivateMessageToImPrivateMessageVoMapper.java

@ -1,6 +1,6 @@
package org.dromara.im.domain; package org.dromara.im.domain;
import io.github.linpeilie.AutoMapperConfig__169; import io.github.linpeilie.AutoMapperConfig__175;
import io.github.linpeilie.BaseMapper; import io.github.linpeilie.BaseMapper;
import org.dromara.im.domain.bo.ImPrivateMessageBoToImPrivateMessageMapper; import org.dromara.im.domain.bo.ImPrivateMessageBoToImPrivateMessageMapper;
import org.dromara.im.domain.vo.ImPrivateMessageVo; import org.dromara.im.domain.vo.ImPrivateMessageVo;
@ -8,7 +8,7 @@ import org.dromara.im.domain.vo.ImPrivateMessageVoToImPrivateMessageMapper;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
@Mapper( @Mapper(
config = AutoMapperConfig__169.class, config = AutoMapperConfig__175.class,
uses = {ImPrivateMessageVoToImPrivateMessageMapper.class,ImPrivateMessageBoToImPrivateMessageMapper.class}, uses = {ImPrivateMessageVoToImPrivateMessageMapper.class,ImPrivateMessageBoToImPrivateMessageMapper.class},
imports = {} imports = {}
) )

2
im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/ImPrivateMessageToImPrivateMessageVoMapperImpl.java

@ -6,7 +6,7 @@ import org.springframework.stereotype.Component;
@Generated( @Generated(
value = "org.mapstruct.ap.MappingProcessor", value = "org.mapstruct.ap.MappingProcessor",
date = "2026-04-01T15:40:05+0800", date = "2026-04-01T17:01:58+0800",
comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.13 (Amazon.com Inc.)" comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.13 (Amazon.com Inc.)"
) )
@Component @Component

4
im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/ImSensitiveWordToImSensitiveWordVoMapper.java

@ -1,6 +1,6 @@
package org.dromara.im.domain; package org.dromara.im.domain;
import io.github.linpeilie.AutoMapperConfig__169; import io.github.linpeilie.AutoMapperConfig__175;
import io.github.linpeilie.BaseMapper; import io.github.linpeilie.BaseMapper;
import org.dromara.im.domain.bo.ImSensitiveWordBoToImSensitiveWordMapper; import org.dromara.im.domain.bo.ImSensitiveWordBoToImSensitiveWordMapper;
import org.dromara.im.domain.vo.ImSensitiveWordVo; import org.dromara.im.domain.vo.ImSensitiveWordVo;
@ -8,7 +8,7 @@ import org.dromara.im.domain.vo.ImSensitiveWordVoToImSensitiveWordMapper;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
@Mapper( @Mapper(
config = AutoMapperConfig__169.class, config = AutoMapperConfig__175.class,
uses = {ImSensitiveWordBoToImSensitiveWordMapper.class,ImSensitiveWordVoToImSensitiveWordMapper.class}, uses = {ImSensitiveWordBoToImSensitiveWordMapper.class,ImSensitiveWordVoToImSensitiveWordMapper.class},
imports = {} imports = {}
) )

2
im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/ImSensitiveWordToImSensitiveWordVoMapperImpl.java

@ -6,7 +6,7 @@ import org.springframework.stereotype.Component;
@Generated( @Generated(
value = "org.mapstruct.ap.MappingProcessor", value = "org.mapstruct.ap.MappingProcessor",
date = "2026-04-01T15:40:06+0800", date = "2026-04-01T17:01:58+0800",
comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.13 (Amazon.com Inc.)" comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.13 (Amazon.com Inc.)"
) )
@Component @Component

4
im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/ImUserToImUserVoMapper.java

@ -1,6 +1,6 @@
package org.dromara.im.domain; package org.dromara.im.domain;
import io.github.linpeilie.AutoMapperConfig__169; import io.github.linpeilie.AutoMapperConfig__175;
import io.github.linpeilie.BaseMapper; import io.github.linpeilie.BaseMapper;
import org.dromara.im.domain.bo.ImUserBoToImUserMapper; import org.dromara.im.domain.bo.ImUserBoToImUserMapper;
import org.dromara.im.domain.vo.ImUserVo; import org.dromara.im.domain.vo.ImUserVo;
@ -8,7 +8,7 @@ import org.dromara.im.domain.vo.ImUserVoToImUserMapper;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
@Mapper( @Mapper(
config = AutoMapperConfig__169.class, config = AutoMapperConfig__175.class,
uses = {ImUserVoToImUserMapper.class,ImUserBoToImUserMapper.class}, uses = {ImUserVoToImUserMapper.class,ImUserBoToImUserMapper.class},
imports = {} imports = {}
) )

6
im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/ImUserToImUserVoMapperImpl.java

@ -6,7 +6,7 @@ import org.springframework.stereotype.Component;
@Generated( @Generated(
value = "org.mapstruct.ap.MappingProcessor", value = "org.mapstruct.ap.MappingProcessor",
date = "2026-04-01T15:40:05+0800", date = "2026-04-01T17:01:58+0800",
comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.13 (Amazon.com Inc.)" comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.13 (Amazon.com Inc.)"
) )
@Component @Component
@ -33,6 +33,8 @@ public class ImUserToImUserVoMapperImpl implements ImUserToImUserVoMapper {
imUserVo.setType( arg0.getType() ); imUserVo.setType( arg0.getType() );
imUserVo.setIsBanned( arg0.getIsBanned() ); imUserVo.setIsBanned( arg0.getIsBanned() );
imUserVo.setReason( arg0.getReason() ); imUserVo.setReason( arg0.getReason() );
imUserVo.setLabelIds( arg0.getLabelIds() );
imUserVo.setGroupIds( arg0.getGroupIds() );
return imUserVo; return imUserVo;
} }
@ -56,6 +58,8 @@ public class ImUserToImUserVoMapperImpl implements ImUserToImUserVoMapper {
arg1.setType( arg0.getType() ); arg1.setType( arg0.getType() );
arg1.setIsBanned( arg0.getIsBanned() ); arg1.setIsBanned( arg0.getIsBanned() );
arg1.setReason( arg0.getReason() ); arg1.setReason( arg0.getReason() );
arg1.setLabelIds( arg0.getLabelIds() );
arg1.setGroupIds( arg0.getGroupIds() );
return arg1; return arg1;
} }

4
im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/bo/ImGroupBoToImGroupMapper.java

@ -1,12 +1,12 @@
package org.dromara.im.domain.bo; package org.dromara.im.domain.bo;
import io.github.linpeilie.AutoMapperConfig__169; import io.github.linpeilie.AutoMapperConfig__175;
import io.github.linpeilie.BaseMapper; import io.github.linpeilie.BaseMapper;
import org.dromara.im.domain.ImGroup; import org.dromara.im.domain.ImGroup;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
@Mapper( @Mapper(
config = AutoMapperConfig__169.class, config = AutoMapperConfig__175.class,
uses = {}, uses = {},
imports = {} imports = {}
) )

2
im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/bo/ImGroupBoToImGroupMapperImpl.java

@ -6,7 +6,7 @@ import org.springframework.stereotype.Component;
@Generated( @Generated(
value = "org.mapstruct.ap.MappingProcessor", value = "org.mapstruct.ap.MappingProcessor",
date = "2026-04-01T15:40:06+0800", date = "2026-04-01T17:01:57+0800",
comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.13 (Amazon.com Inc.)" comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.13 (Amazon.com Inc.)"
) )
@Component @Component

4
im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/bo/ImGroupMemberBoToImGroupMemberMapper.java

@ -1,12 +1,12 @@
package org.dromara.im.domain.bo; package org.dromara.im.domain.bo;
import io.github.linpeilie.AutoMapperConfig__169; import io.github.linpeilie.AutoMapperConfig__175;
import io.github.linpeilie.BaseMapper; import io.github.linpeilie.BaseMapper;
import org.dromara.im.domain.ImGroupMember; import org.dromara.im.domain.ImGroupMember;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
@Mapper( @Mapper(
config = AutoMapperConfig__169.class, config = AutoMapperConfig__175.class,
uses = {}, uses = {},
imports = {} imports = {}
) )

2
im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/bo/ImGroupMemberBoToImGroupMemberMapperImpl.java

@ -6,7 +6,7 @@ import org.springframework.stereotype.Component;
@Generated( @Generated(
value = "org.mapstruct.ap.MappingProcessor", value = "org.mapstruct.ap.MappingProcessor",
date = "2026-04-01T15:40:05+0800", date = "2026-04-01T17:01:57+0800",
comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.13 (Amazon.com Inc.)" comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.13 (Amazon.com Inc.)"
) )
@Component @Component

4
im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/bo/ImGroupMessageBoToImGroupMessageMapper.java

@ -1,12 +1,12 @@
package org.dromara.im.domain.bo; package org.dromara.im.domain.bo;
import io.github.linpeilie.AutoMapperConfig__169; import io.github.linpeilie.AutoMapperConfig__175;
import io.github.linpeilie.BaseMapper; import io.github.linpeilie.BaseMapper;
import org.dromara.im.domain.ImGroupMessage; import org.dromara.im.domain.ImGroupMessage;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
@Mapper( @Mapper(
config = AutoMapperConfig__169.class, config = AutoMapperConfig__175.class,
uses = {}, uses = {},
imports = {} imports = {}
) )

2
im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/bo/ImGroupMessageBoToImGroupMessageMapperImpl.java

@ -6,7 +6,7 @@ import org.springframework.stereotype.Component;
@Generated( @Generated(
value = "org.mapstruct.ap.MappingProcessor", value = "org.mapstruct.ap.MappingProcessor",
date = "2026-04-01T15:40:06+0800", date = "2026-04-01T17:01:58+0800",
comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.13 (Amazon.com Inc.)" comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.13 (Amazon.com Inc.)"
) )
@Component @Component

4
im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/bo/ImPrivateMessageBoToImPrivateMessageMapper.java

@ -1,12 +1,12 @@
package org.dromara.im.domain.bo; package org.dromara.im.domain.bo;
import io.github.linpeilie.AutoMapperConfig__169; import io.github.linpeilie.AutoMapperConfig__175;
import io.github.linpeilie.BaseMapper; import io.github.linpeilie.BaseMapper;
import org.dromara.im.domain.ImPrivateMessage; import org.dromara.im.domain.ImPrivateMessage;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
@Mapper( @Mapper(
config = AutoMapperConfig__169.class, config = AutoMapperConfig__175.class,
uses = {}, uses = {},
imports = {} imports = {}
) )

2
im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/bo/ImPrivateMessageBoToImPrivateMessageMapperImpl.java

@ -6,7 +6,7 @@ import org.springframework.stereotype.Component;
@Generated( @Generated(
value = "org.mapstruct.ap.MappingProcessor", value = "org.mapstruct.ap.MappingProcessor",
date = "2026-04-01T15:40:05+0800", date = "2026-04-01T17:01:58+0800",
comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.13 (Amazon.com Inc.)" comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.13 (Amazon.com Inc.)"
) )
@Component @Component

4
im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/bo/ImSensitiveWordBoToImSensitiveWordMapper.java

@ -1,12 +1,12 @@
package org.dromara.im.domain.bo; package org.dromara.im.domain.bo;
import io.github.linpeilie.AutoMapperConfig__169; import io.github.linpeilie.AutoMapperConfig__175;
import io.github.linpeilie.BaseMapper; import io.github.linpeilie.BaseMapper;
import org.dromara.im.domain.ImSensitiveWord; import org.dromara.im.domain.ImSensitiveWord;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
@Mapper( @Mapper(
config = AutoMapperConfig__169.class, config = AutoMapperConfig__175.class,
uses = {}, uses = {},
imports = {} imports = {}
) )

2
im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/bo/ImSensitiveWordBoToImSensitiveWordMapperImpl.java

@ -6,7 +6,7 @@ import org.springframework.stereotype.Component;
@Generated( @Generated(
value = "org.mapstruct.ap.MappingProcessor", value = "org.mapstruct.ap.MappingProcessor",
date = "2026-04-01T15:40:06+0800", date = "2026-04-01T17:01:58+0800",
comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.13 (Amazon.com Inc.)" comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.13 (Amazon.com Inc.)"
) )
@Component @Component

4
im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/bo/ImUserBoToImUserMapper.java

@ -1,12 +1,12 @@
package org.dromara.im.domain.bo; package org.dromara.im.domain.bo;
import io.github.linpeilie.AutoMapperConfig__169; import io.github.linpeilie.AutoMapperConfig__175;
import io.github.linpeilie.BaseMapper; import io.github.linpeilie.BaseMapper;
import org.dromara.im.domain.ImUser; import org.dromara.im.domain.ImUser;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
@Mapper( @Mapper(
config = AutoMapperConfig__169.class, config = AutoMapperConfig__175.class,
uses = {}, uses = {},
imports = {} imports = {}
) )

6
im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/bo/ImUserBoToImUserMapperImpl.java

@ -6,7 +6,7 @@ import org.springframework.stereotype.Component;
@Generated( @Generated(
value = "org.mapstruct.ap.MappingProcessor", value = "org.mapstruct.ap.MappingProcessor",
date = "2026-04-01T15:40:05+0800", date = "2026-04-01T17:01:58+0800",
comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.13 (Amazon.com Inc.)" comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.13 (Amazon.com Inc.)"
) )
@Component @Component
@ -34,6 +34,8 @@ public class ImUserBoToImUserMapperImpl implements ImUserBoToImUserMapper {
imUser.setIsBanned( arg0.getIsBanned() ); imUser.setIsBanned( arg0.getIsBanned() );
imUser.setReason( arg0.getReason() ); imUser.setReason( arg0.getReason() );
imUser.setIsCustomer( arg0.getIsCustomer() ); imUser.setIsCustomer( arg0.getIsCustomer() );
imUser.setLabelIds( arg0.getLabelIds() );
imUser.setGroupIds( arg0.getGroupIds() );
return imUser; return imUser;
} }
@ -58,6 +60,8 @@ public class ImUserBoToImUserMapperImpl implements ImUserBoToImUserMapper {
arg1.setIsBanned( arg0.getIsBanned() ); arg1.setIsBanned( arg0.getIsBanned() );
arg1.setReason( arg0.getReason() ); arg1.setReason( arg0.getReason() );
arg1.setIsCustomer( arg0.getIsCustomer() ); arg1.setIsCustomer( arg0.getIsCustomer() );
arg1.setLabelIds( arg0.getLabelIds() );
arg1.setGroupIds( arg0.getGroupIds() );
return arg1; return arg1;
} }

4
im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/vo/ImGroupMemberVoToImGroupMemberMapper.java

@ -1,13 +1,13 @@
package org.dromara.im.domain.vo; package org.dromara.im.domain.vo;
import io.github.linpeilie.AutoMapperConfig__169; import io.github.linpeilie.AutoMapperConfig__175;
import io.github.linpeilie.BaseMapper; import io.github.linpeilie.BaseMapper;
import org.dromara.im.domain.ImGroupMember; import org.dromara.im.domain.ImGroupMember;
import org.dromara.im.domain.ImGroupMemberToImGroupMemberVoMapper; import org.dromara.im.domain.ImGroupMemberToImGroupMemberVoMapper;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
@Mapper( @Mapper(
config = AutoMapperConfig__169.class, config = AutoMapperConfig__175.class,
uses = {ImGroupMemberToImGroupMemberVoMapper.class}, uses = {ImGroupMemberToImGroupMemberVoMapper.class},
imports = {} imports = {}
) )

2
im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/vo/ImGroupMemberVoToImGroupMemberMapperImpl.java

@ -7,7 +7,7 @@ import org.springframework.stereotype.Component;
@Generated( @Generated(
value = "org.mapstruct.ap.MappingProcessor", value = "org.mapstruct.ap.MappingProcessor",
date = "2026-04-01T15:40:06+0800", date = "2026-04-01T17:01:58+0800",
comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.13 (Amazon.com Inc.)" comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.13 (Amazon.com Inc.)"
) )
@Component @Component

4
im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/vo/ImGroupMessageVoToImGroupMessageMapper.java

@ -1,13 +1,13 @@
package org.dromara.im.domain.vo; package org.dromara.im.domain.vo;
import io.github.linpeilie.AutoMapperConfig__169; import io.github.linpeilie.AutoMapperConfig__175;
import io.github.linpeilie.BaseMapper; import io.github.linpeilie.BaseMapper;
import org.dromara.im.domain.ImGroupMessage; import org.dromara.im.domain.ImGroupMessage;
import org.dromara.im.domain.ImGroupMessageToImGroupMessageVoMapper; import org.dromara.im.domain.ImGroupMessageToImGroupMessageVoMapper;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
@Mapper( @Mapper(
config = AutoMapperConfig__169.class, config = AutoMapperConfig__175.class,
uses = {ImGroupMessageToImGroupMessageVoMapper.class}, uses = {ImGroupMessageToImGroupMessageVoMapper.class},
imports = {} imports = {}
) )

2
im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/vo/ImGroupMessageVoToImGroupMessageMapperImpl.java

@ -6,7 +6,7 @@ import org.springframework.stereotype.Component;
@Generated( @Generated(
value = "org.mapstruct.ap.MappingProcessor", value = "org.mapstruct.ap.MappingProcessor",
date = "2026-04-01T15:40:06+0800", date = "2026-04-01T17:01:58+0800",
comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.13 (Amazon.com Inc.)" comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.13 (Amazon.com Inc.)"
) )
@Component @Component

4
im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/vo/ImGroupVoToImGroupMapper.java

@ -1,13 +1,13 @@
package org.dromara.im.domain.vo; package org.dromara.im.domain.vo;
import io.github.linpeilie.AutoMapperConfig__169; import io.github.linpeilie.AutoMapperConfig__175;
import io.github.linpeilie.BaseMapper; import io.github.linpeilie.BaseMapper;
import org.dromara.im.domain.ImGroup; import org.dromara.im.domain.ImGroup;
import org.dromara.im.domain.ImGroupToImGroupVoMapper; import org.dromara.im.domain.ImGroupToImGroupVoMapper;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
@Mapper( @Mapper(
config = AutoMapperConfig__169.class, config = AutoMapperConfig__175.class,
uses = {ImGroupToImGroupVoMapper.class}, uses = {ImGroupToImGroupVoMapper.class},
imports = {} imports = {}
) )

2
im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/vo/ImGroupVoToImGroupMapperImpl.java

@ -7,7 +7,7 @@ import org.springframework.stereotype.Component;
@Generated( @Generated(
value = "org.mapstruct.ap.MappingProcessor", value = "org.mapstruct.ap.MappingProcessor",
date = "2026-04-01T15:40:06+0800", date = "2026-04-01T17:01:57+0800",
comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.13 (Amazon.com Inc.)" comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.13 (Amazon.com Inc.)"
) )
@Component @Component

4
im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/vo/ImPrivateMessageVoToImPrivateMessageMapper.java

@ -1,13 +1,13 @@
package org.dromara.im.domain.vo; package org.dromara.im.domain.vo;
import io.github.linpeilie.AutoMapperConfig__169; import io.github.linpeilie.AutoMapperConfig__175;
import io.github.linpeilie.BaseMapper; import io.github.linpeilie.BaseMapper;
import org.dromara.im.domain.ImPrivateMessage; import org.dromara.im.domain.ImPrivateMessage;
import org.dromara.im.domain.ImPrivateMessageToImPrivateMessageVoMapper; import org.dromara.im.domain.ImPrivateMessageToImPrivateMessageVoMapper;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
@Mapper( @Mapper(
config = AutoMapperConfig__169.class, config = AutoMapperConfig__175.class,
uses = {ImPrivateMessageToImPrivateMessageVoMapper.class}, uses = {ImPrivateMessageToImPrivateMessageVoMapper.class},
imports = {} imports = {}
) )

2
im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/vo/ImPrivateMessageVoToImPrivateMessageMapperImpl.java

@ -6,7 +6,7 @@ import org.springframework.stereotype.Component;
@Generated( @Generated(
value = "org.mapstruct.ap.MappingProcessor", value = "org.mapstruct.ap.MappingProcessor",
date = "2026-04-01T15:40:06+0800", date = "2026-04-01T17:01:58+0800",
comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.13 (Amazon.com Inc.)" comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.13 (Amazon.com Inc.)"
) )
@Component @Component

4
im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/vo/ImSensitiveWordVoToImSensitiveWordMapper.java

@ -1,13 +1,13 @@
package org.dromara.im.domain.vo; package org.dromara.im.domain.vo;
import io.github.linpeilie.AutoMapperConfig__169; import io.github.linpeilie.AutoMapperConfig__175;
import io.github.linpeilie.BaseMapper; import io.github.linpeilie.BaseMapper;
import org.dromara.im.domain.ImSensitiveWord; import org.dromara.im.domain.ImSensitiveWord;
import org.dromara.im.domain.ImSensitiveWordToImSensitiveWordVoMapper; import org.dromara.im.domain.ImSensitiveWordToImSensitiveWordVoMapper;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
@Mapper( @Mapper(
config = AutoMapperConfig__169.class, config = AutoMapperConfig__175.class,
uses = {ImSensitiveWordToImSensitiveWordVoMapper.class}, uses = {ImSensitiveWordToImSensitiveWordVoMapper.class},
imports = {} imports = {}
) )

2
im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/vo/ImSensitiveWordVoToImSensitiveWordMapperImpl.java

@ -6,7 +6,7 @@ import org.springframework.stereotype.Component;
@Generated( @Generated(
value = "org.mapstruct.ap.MappingProcessor", value = "org.mapstruct.ap.MappingProcessor",
date = "2026-04-01T15:40:05+0800", date = "2026-04-01T17:01:58+0800",
comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.13 (Amazon.com Inc.)" comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.13 (Amazon.com Inc.)"
) )
@Component @Component

4
im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/vo/ImUserVoToImUserMapper.java

@ -1,13 +1,13 @@
package org.dromara.im.domain.vo; package org.dromara.im.domain.vo;
import io.github.linpeilie.AutoMapperConfig__169; import io.github.linpeilie.AutoMapperConfig__175;
import io.github.linpeilie.BaseMapper; import io.github.linpeilie.BaseMapper;
import org.dromara.im.domain.ImUser; import org.dromara.im.domain.ImUser;
import org.dromara.im.domain.ImUserToImUserVoMapper; import org.dromara.im.domain.ImUserToImUserVoMapper;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
@Mapper( @Mapper(
config = AutoMapperConfig__169.class, config = AutoMapperConfig__175.class,
uses = {ImUserToImUserVoMapper.class}, uses = {ImUserToImUserVoMapper.class},
imports = {} imports = {}
) )

6
im-admin/ruoyi-im/target/generated-sources/annotations/org/dromara/im/domain/vo/ImUserVoToImUserMapperImpl.java

@ -6,7 +6,7 @@ import org.springframework.stereotype.Component;
@Generated( @Generated(
value = "org.mapstruct.ap.MappingProcessor", value = "org.mapstruct.ap.MappingProcessor",
date = "2026-04-01T15:40:06+0800", date = "2026-04-01T17:01:58+0800",
comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.13 (Amazon.com Inc.)" comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.13 (Amazon.com Inc.)"
) )
@Component @Component
@ -33,6 +33,8 @@ public class ImUserVoToImUserMapperImpl implements ImUserVoToImUserMapper {
imUser.setType( arg0.getType() ); imUser.setType( arg0.getType() );
imUser.setIsBanned( arg0.getIsBanned() ); imUser.setIsBanned( arg0.getIsBanned() );
imUser.setReason( arg0.getReason() ); imUser.setReason( arg0.getReason() );
imUser.setLabelIds( arg0.getLabelIds() );
imUser.setGroupIds( arg0.getGroupIds() );
return imUser; return imUser;
} }
@ -56,6 +58,8 @@ public class ImUserVoToImUserMapperImpl implements ImUserVoToImUserMapper {
arg1.setType( arg0.getType() ); arg1.setType( arg0.getType() );
arg1.setIsBanned( arg0.getIsBanned() ); arg1.setIsBanned( arg0.getIsBanned() );
arg1.setReason( arg0.getReason() ); arg1.setReason( arg0.getReason() );
arg1.setLabelIds( arg0.getLabelIds() );
arg1.setGroupIds( arg0.getGroupIds() );
return arg1; return arg1;
} }

Loading…
Cancel
Save