后台
This commit is contained in:
parent
67cc311bdc
commit
a4a700f4ff
2
admin-client/src/components.d.ts
vendored
2
admin-client/src/components.d.ts
vendored
|
|
@ -80,6 +80,7 @@ declare module 'vue' {
|
|||
AUploadDragger: typeof import('ant-design-vue/es')['UploadDragger']
|
||||
BarChartTransverse: typeof import('./core/components/charts/BarChartTransverse.vue')['default']
|
||||
ColumnSetting: typeof import('./core/components/curd/components/ColumnSetting.vue')['default']
|
||||
copy: typeof import('./core/components/characters/personality-characters copy.vue')['default']
|
||||
ExternalJump: typeof import('./core/components/ExternalJump.vue')['default']
|
||||
FindBack: typeof import('./core/components/FindBack.vue')['default']
|
||||
GenerateCron: typeof import('./core/components/GenerateCron.vue')['default']
|
||||
|
|
@ -87,6 +88,7 @@ declare module 'vue' {
|
|||
HmImageTypeSelect: typeof import('./core/components/curd/select-components/hm-image-type-select.vue')['default']
|
||||
HmTenantSelect: typeof import('./core/components/curd/select-components/hm-tenant-select.vue')['default']
|
||||
Index: typeof import('./core/components/vue3-cron-core/Index.vue')['default']
|
||||
LablesCharacters: typeof import('./core/components/characters/lables-characters.vue')['default']
|
||||
Layout: typeof import('./core/components/layouts/Layout.vue')['default']
|
||||
LayoutHeader: typeof import('./core/components/layouts/LayoutHeader.vue')['default']
|
||||
LayoutIframe: typeof import('./core/components/layouts/LayoutIframe.vue')['default']
|
||||
|
|
|
|||
|
|
@ -0,0 +1,137 @@
|
|||
<script setup lang="ts">
|
||||
import AppDictionaryCache from "@/core/utils/AppDictionaryCache";
|
||||
import T_Character_Label_RelationService from "@/services/apps/T_Character_Label_Relations/T_Character_Label_RelationService";
|
||||
//
|
||||
const props = withDefaults(
|
||||
defineProps<{
|
||||
record: any;
|
||||
color: string;
|
||||
}>(),
|
||||
{
|
||||
color: "blue",
|
||||
}
|
||||
);
|
||||
const emits = defineEmits<{
|
||||
(e: "del"): void;
|
||||
}>();
|
||||
|
||||
const open = ref<boolean>(false);
|
||||
const showModal = async () => {
|
||||
const _data = await AppDictionaryCache.appDictionaryLablesCache.getDataList();
|
||||
const mData = [];
|
||||
const keys = [];
|
||||
_data.forEach((item, index) => {
|
||||
const data = {
|
||||
key: item.value,
|
||||
title: item.name,
|
||||
description: item.code,
|
||||
};
|
||||
// console.log(props.record.personas.filter(it=> it.value == item.value));
|
||||
|
||||
if (
|
||||
props.record.lables.filter((it) => it.value == item.value).length > 0
|
||||
) {
|
||||
console.log("添加", data);
|
||||
|
||||
keys.push(data.key);
|
||||
}
|
||||
// if()
|
||||
mData.push(data);
|
||||
});
|
||||
console.log(props.record);
|
||||
|
||||
mockData.value = mData;
|
||||
targetKeys.value = keys;
|
||||
console.log(mockData.value, targetKeys.value);
|
||||
open.value = true;
|
||||
};
|
||||
const handleOk = async (e: MouseEvent) => {
|
||||
console.log(e);
|
||||
console.log(targetKeys.value);
|
||||
await T_Character_Label_RelationService.setCharacterPersonality(
|
||||
props.record.id,
|
||||
targetKeys.value
|
||||
);
|
||||
props.record.lables = mockData.value
|
||||
.filter((it) => targetKeys.value.includes(it.key))
|
||||
.map((item) => {
|
||||
return {
|
||||
name: item.title,
|
||||
code: item.description,
|
||||
value: item.key,
|
||||
};
|
||||
});
|
||||
|
||||
// setCharacterPersonality
|
||||
open.value = false;
|
||||
};
|
||||
|
||||
interface MockData {
|
||||
key: number;
|
||||
title: string;
|
||||
description: string;
|
||||
chosen: boolean;
|
||||
}
|
||||
// {
|
||||
// "page": 1,
|
||||
// "size": 50,
|
||||
// "search": {},
|
||||
// "searchSort": []
|
||||
// }
|
||||
// T_Character_Personality_RelationService.findList(1,999,{},{});
|
||||
|
||||
const mockData = ref<MockData[]>([]);
|
||||
|
||||
const targetKeys = ref<number[]>([]);
|
||||
|
||||
const handleChange = (
|
||||
keys: number[],
|
||||
direction: string,
|
||||
moveKeys: string[]
|
||||
) => {
|
||||
console.log(keys, direction, moveKeys);
|
||||
};
|
||||
|
||||
const filterOption = (inputValue: string, option: MockData) => {
|
||||
return option.title.indexOf(inputValue) > -1||option.description.indexOf(inputValue) > -1;
|
||||
};
|
||||
|
||||
</script>
|
||||
<template>
|
||||
<a-button
|
||||
type="primary"
|
||||
size="small"
|
||||
style="width: 60px; height: 22px; font-size: 12px"
|
||||
@click="showModal"
|
||||
>标签管理</a-button
|
||||
>
|
||||
<a-modal
|
||||
v-model:open="open"
|
||||
title="标签管理"
|
||||
@ok="handleOk"
|
||||
width="800px"
|
||||
:maskClosable="false"
|
||||
>
|
||||
<a-transfer
|
||||
v-model:target-keys="targetKeys"
|
||||
:data-source="mockData"
|
||||
:filter-option="filterOption"
|
||||
show-search
|
||||
:list-style="{
|
||||
width: '300px',
|
||||
height: '300px',
|
||||
}"
|
||||
@change="handleChange"
|
||||
>
|
||||
<template #footer="{ direction }">
|
||||
|
||||
</template>
|
||||
<template #render="item">
|
||||
<span class="custom-item"
|
||||
>{{ item.title }} - {{ item.description }}</span
|
||||
>
|
||||
</template>
|
||||
</a-transfer>
|
||||
</a-modal>
|
||||
</template>
|
||||
<style lang="less" scoped></style>
|
||||
|
|
@ -17,7 +17,7 @@ const emits = defineEmits<{
|
|||
|
||||
const open = ref<boolean>(false);
|
||||
const showModal = async () => {
|
||||
const _data = await AppDictionaryCache.appDictionaryTypesCache.getDataList();
|
||||
const _data = await AppDictionaryCache.appDictionaryPersonalitysCache.getDataList();
|
||||
const mData = [];
|
||||
const keys = [];
|
||||
_data.forEach((item, index) => {
|
||||
|
|
@ -52,8 +52,8 @@ const handleOk = async (e: MouseEvent) => {
|
|||
props.record.id,
|
||||
targetKeys.value
|
||||
);
|
||||
props.personas = mockData.value
|
||||
.filter((it) => targetKeys.value.includes(it.value))
|
||||
props.record.personas = mockData.value
|
||||
.filter((it) => targetKeys.value.includes(it.key))
|
||||
.map((item) => {
|
||||
return {
|
||||
name: item.title,
|
||||
|
|
@ -124,14 +124,7 @@ const filterOption = (inputValue: string, option: MockData) => {
|
|||
@change="handleChange"
|
||||
>
|
||||
<template #footer="{ direction }">
|
||||
<a-button
|
||||
v-if="direction === 'left'"
|
||||
size="small"
|
||||
style="float: left; margin: 5px"
|
||||
type="primary"
|
||||
>
|
||||
添加性格
|
||||
</a-button>
|
||||
|
||||
</template>
|
||||
<template #render="item">
|
||||
<span class="custom-item"
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<script setup lang="ts">
|
||||
import AppDictionaryCache from "@/core/utils/AppDictionaryCache";
|
||||
import T_Character_Personality_RelationService from "@/services/apps/T_Character_Personality_Relations/T_Character_Personality_RelationService";
|
||||
import T_Character_Type_IntimacyService from "@/services/apps/T_Character_Type_Intimacys/T_Character_Type_IntimacyService";
|
||||
//
|
||||
const props = withDefaults(
|
||||
defineProps<{
|
||||
|
|
@ -28,9 +28,7 @@ const showModal = async () => {
|
|||
};
|
||||
// console.log(props.record.personas.filter(it=> it.value == item.value));
|
||||
|
||||
if (
|
||||
props.record.personas.filter((it) => it.value == item.value).length > 0
|
||||
) {
|
||||
if (props.record.types.filter((it) => it.value == item.value).length > 0) {
|
||||
console.log("添加", data);
|
||||
|
||||
keys.push(data.key);
|
||||
|
|
@ -48,12 +46,14 @@ const showModal = async () => {
|
|||
const handleOk = async (e: MouseEvent) => {
|
||||
console.log(e);
|
||||
console.log(targetKeys.value);
|
||||
await T_Character_Personality_RelationService.setCharacterPersonality(
|
||||
await T_Character_Type_IntimacyService.setCharacterPersonality(
|
||||
props.record.id,
|
||||
targetKeys.value
|
||||
);
|
||||
props.personas = mockData.value
|
||||
.filter((it) => targetKeys.value.includes(it.value))
|
||||
// props.record.personas = mockData.value
|
||||
|
||||
props.record.types = mockData.value
|
||||
.filter((it) => targetKeys.value.includes(it.key))
|
||||
.map((item) => {
|
||||
return {
|
||||
name: item.title,
|
||||
|
|
@ -61,6 +61,7 @@ const handleOk = async (e: MouseEvent) => {
|
|||
value: item.key,
|
||||
};
|
||||
});
|
||||
console.log( props.record.types );
|
||||
|
||||
// setCharacterPersonality
|
||||
open.value = false;
|
||||
|
|
@ -93,9 +94,11 @@ const handleChange = (
|
|||
};
|
||||
|
||||
const filterOption = (inputValue: string, option: MockData) => {
|
||||
return option.title.indexOf(inputValue) > -1||option.description.indexOf(inputValue) > -1;
|
||||
return (
|
||||
option.title.indexOf(inputValue) > -1 ||
|
||||
option.description.indexOf(inputValue) > -1
|
||||
);
|
||||
};
|
||||
|
||||
</script>
|
||||
<template>
|
||||
<a-button
|
||||
|
|
@ -123,16 +126,7 @@ const filterOption = (inputValue: string, option: MockData) => {
|
|||
}"
|
||||
@change="handleChange"
|
||||
>
|
||||
<template #footer="{ direction }">
|
||||
<a-button
|
||||
v-if="direction === 'left'"
|
||||
size="small"
|
||||
style="float: left; margin: 5px"
|
||||
type="primary"
|
||||
>
|
||||
添加性格
|
||||
</a-button>
|
||||
</template>
|
||||
<template #footer="{ direction }"> </template>
|
||||
<template #render="item">
|
||||
<span class="custom-item"
|
||||
>{{ item.title }} - {{ item.description }}</span
|
||||
|
|
|
|||
|
|
@ -3,6 +3,8 @@ import AppDictionaryImageCache from "./cache/AppDictionaryImageCache";
|
|||
import { AbstractDictionaryCache } from "./cache/AbstractDictionaryCache";
|
||||
import AppDictionaryTenantCache from "./cache/AppDictionaryTenantCache";
|
||||
import AppDictionaryTypesCache from "./cache/AppDictionaryTypesCache";
|
||||
import AppDictionaryPersonalitysCache from "./cache/AppDictionaryPersonalitysCache";
|
||||
import AppDictionaryLablesCache from "./cache/AppDictionaryLablesCache";
|
||||
/**
|
||||
* 基础数据缓存类
|
||||
*/
|
||||
|
|
@ -17,10 +19,20 @@ class AppDictionaryCache {
|
|||
*/
|
||||
static appDictionaryTenantCache: AbstractDictionaryCache = new AppDictionaryTenantCache();
|
||||
|
||||
/**
|
||||
* 性格缓存
|
||||
*/
|
||||
static appDictionaryPersonalitysCache: AbstractDictionaryCache = new AppDictionaryPersonalitysCache();
|
||||
|
||||
/**
|
||||
* 类型配置
|
||||
*/
|
||||
static appDictionaryTypesCache: AbstractDictionaryCache = new AppDictionaryTypesCache();
|
||||
|
||||
/**
|
||||
* 标签配置
|
||||
*/
|
||||
static appDictionaryLablesCache: AbstractDictionaryCache = new AppDictionaryLablesCache();
|
||||
}
|
||||
|
||||
export default AppDictionaryCache;
|
||||
|
|
|
|||
41
admin-client/src/core/utils/cache/AppDictionaryLablesCache.ts
vendored
Normal file
41
admin-client/src/core/utils/cache/AppDictionaryLablesCache.ts
vendored
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
import { AbstractDictionaryCache } from './AbstractDictionaryCache'
|
||||
import { DefaultOptionType } from "ant-design-vue/es/select";
|
||||
import T_Character_LabelService from "@/services/apps/T_Character_Labels/T_Character_LabelService";
|
||||
/**
|
||||
* 多租户配置
|
||||
*/
|
||||
class AppDictionaryLablesCache extends AbstractDictionaryCache {
|
||||
protected code: string = "personality";
|
||||
public static _lock: Promise<void> | null = null;
|
||||
constructor() {
|
||||
super(AppDictionaryLablesCache._lock);
|
||||
}
|
||||
/**
|
||||
* 获取字典服务
|
||||
* @returns Promise<any>
|
||||
*/
|
||||
protected override async getSysDictionaryService(): Promise<any> {
|
||||
const response = await T_Character_LabelService.findList(1, 9999, {}, []);
|
||||
// console.log(response);
|
||||
const _data = response.data.dataSource.map(item => {
|
||||
return {
|
||||
name: item.labelName,
|
||||
value: item.id,
|
||||
code: item.labelValue
|
||||
// name: item.name, value, code: item.code
|
||||
};
|
||||
});
|
||||
return _data;
|
||||
}
|
||||
|
||||
|
||||
public async getDataListSelect(): Promise<DefaultOptionType[]> {
|
||||
const _data = await this.getDataList();
|
||||
return _data.map((item) => {
|
||||
return { label: item.name, value: item.value, name: item.code, } as DefaultOptionType;
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export default AppDictionaryLablesCache;
|
||||
41
admin-client/src/core/utils/cache/AppDictionaryPersonalitysCache.ts
vendored
Normal file
41
admin-client/src/core/utils/cache/AppDictionaryPersonalitysCache.ts
vendored
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
import { AbstractDictionaryCache } from './AbstractDictionaryCache'
|
||||
import { DefaultOptionType } from "ant-design-vue/es/select";
|
||||
import T_Character_PersonalityService from "@/services/apps/T_Character_Personalitys/T_Character_PersonalityService";
|
||||
/**
|
||||
* 多租户配置
|
||||
*/
|
||||
class AppDictionaryPersonalitysCache extends AbstractDictionaryCache {
|
||||
protected code: string = "personality";
|
||||
public static _lock: Promise<void> | null = null;
|
||||
constructor() {
|
||||
super(AppDictionaryPersonalitysCache._lock);
|
||||
}
|
||||
/**
|
||||
* 获取字典服务
|
||||
* @returns Promise<any>
|
||||
*/
|
||||
protected override async getSysDictionaryService(): Promise<any> {
|
||||
const response = await T_Character_PersonalityService.findList(1, 9999, {}, []);
|
||||
// console.log(response);
|
||||
const _data = response.data.dataSource.map(item => {
|
||||
return {
|
||||
name: item.name,
|
||||
value: item.id,
|
||||
code: item.value
|
||||
// name: item.name, value, code: item.code
|
||||
};
|
||||
});
|
||||
return _data;
|
||||
}
|
||||
|
||||
|
||||
public async getDataListSelect(): Promise<DefaultOptionType[]> {
|
||||
const _data = await this.getDataList();
|
||||
return _data.map((item) => {
|
||||
return { label: item.name, value: item.value, name: item.code, } as DefaultOptionType;
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export default AppDictionaryPersonalitysCache;
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
import { AbstractDictionaryCache } from './AbstractDictionaryCache'
|
||||
import { DefaultOptionType } from "ant-design-vue/es/select";
|
||||
import T_Character_PersonalityService from "@/services/apps/T_Character_Personalitys/T_Character_PersonalityService";
|
||||
import T_Character_TypeService from "@/services/apps/T_Character_Types/T_Character_TypeService";
|
||||
|
||||
/**
|
||||
* 多租户配置
|
||||
*/
|
||||
|
|
@ -15,13 +16,13 @@ class AppDictionaryTypesCache extends AbstractDictionaryCache {
|
|||
* @returns Promise<any>
|
||||
*/
|
||||
protected override async getSysDictionaryService(): Promise<any> {
|
||||
const response = await T_Character_PersonalityService.findList(1, 9999, {}, []);
|
||||
const response = await T_Character_TypeService.findList(1, 9999, {}, []);
|
||||
// console.log(response);
|
||||
const _data = response.data.dataSource.map(item => {
|
||||
return {
|
||||
name: item.name,
|
||||
value: item.id,
|
||||
code: item.value
|
||||
code: ''
|
||||
// name: item.name, value, code: item.code
|
||||
};
|
||||
});
|
||||
|
|
|
|||
|
|
@ -71,4 +71,23 @@ export default class T_Character_Label_RelationService {
|
|||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除集合数据
|
||||
*
|
||||
* @param ids
|
||||
* @returns
|
||||
*/
|
||||
static delete(id: number, ids: string[]) {
|
||||
return Http.post(`${this.urlPrefix}/deleteCIdList/${id}`, ids)
|
||||
}
|
||||
/**
|
||||
* 批量配置角色性格
|
||||
* @param id 角色id
|
||||
* @param ids 性格类型
|
||||
* @returns
|
||||
*/
|
||||
static async setCharacterPersonality(id: number, ids: any[]) {
|
||||
return Http.post(`${this.urlPrefix}/setCharacterLabel/${id}`, ids)
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -34,15 +34,7 @@ export default class T_Character_Personality_RelationService {
|
|||
return Http.post(`${this.urlPrefix}/deleteList`, ids)
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除集合数据
|
||||
*
|
||||
* @param ids
|
||||
* @returns
|
||||
*/
|
||||
static delete(id: number,ids: string[]) {
|
||||
return Http.post(`${this.urlPrefix}/deleteCIdList/${id}`, ids)
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询表单
|
||||
*
|
||||
|
|
@ -79,6 +71,16 @@ export default class T_Character_Personality_RelationService {
|
|||
searchSort
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除集合数据
|
||||
*
|
||||
* @param ids
|
||||
* @returns
|
||||
*/
|
||||
static delete(id: number, ids: string[]) {
|
||||
return Http.post(`${this.urlPrefix}/deleteCIdList/${id}`, ids)
|
||||
}
|
||||
/**
|
||||
* 批量配置角色性格
|
||||
* @param id 角色id
|
||||
|
|
|
|||
|
|
@ -70,5 +70,22 @@ export default class T_Character_Type_IntimacyService {
|
|||
searchSort
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除集合数据
|
||||
*
|
||||
* @param ids
|
||||
* @returns
|
||||
*/
|
||||
static delete(id: number, ids: string[]) {
|
||||
return Http.post(`${this.urlPrefix}/deleteCIdList/${id}`, ids)
|
||||
}
|
||||
/**
|
||||
* 批量配置角色性格
|
||||
* @param id 角色id
|
||||
* @param ids 性格类型
|
||||
* @returns
|
||||
*/
|
||||
static async setCharacterPersonality(id: number, ids: any[]) {
|
||||
return Http.post(`${this.urlPrefix}/setCharacterTypes/${id}`, ids)
|
||||
}
|
||||
}
|
||||
|
|
@ -14,7 +14,6 @@ import T_Character_Personality_RelationService from "@/services/apps/T_Character
|
|||
import T_Character_Type_IntimacyService from "@/services/apps/T_Character_Type_Intimacys/T_Character_Type_IntimacyService";
|
||||
//标签
|
||||
import T_Character_Label_RelationService from "@/services/apps/T_Character_Label_Relations/T_Character_Label_RelationService";
|
||||
|
||||
|
||||
defineOptions({ name: "T_CharacterIndex" });
|
||||
|
||||
|
|
@ -288,9 +287,10 @@ async function lablesDel(e: any, record: any) {
|
|||
* 删除关联的性格数据
|
||||
*/
|
||||
async function personasDel(e: any, record: any) {
|
||||
const _request = await T_Character_Personality_RelationService.delete(record.id,[
|
||||
e.value,
|
||||
]);
|
||||
const _request = await T_Character_Personality_RelationService.delete(
|
||||
record.id,
|
||||
[e.value]
|
||||
);
|
||||
if (_request.data) {
|
||||
record.personas = record.personas.filter((item) => item.value != e.value);
|
||||
Tools.message.error("删除成功!");
|
||||
|
|
@ -300,11 +300,10 @@ async function personasDel(e: any, record: any) {
|
|||
}
|
||||
//#endregion
|
||||
|
||||
async function visibilityChange(id:number,visibility:boolean,record:any){
|
||||
var response= await T_CharacterService.setVisibility(id,visibility);
|
||||
console.log(visibility,response);
|
||||
// record.visibility=visibility;
|
||||
|
||||
async function visibilityChange(id: number, visibility: boolean, record: any) {
|
||||
var response = await T_CharacterService.setVisibility(id, visibility);
|
||||
console.log(visibility, response);
|
||||
// record.visibility=visibility;
|
||||
}
|
||||
</script>
|
||||
|
||||
|
|
@ -556,7 +555,7 @@ console.log(visibility,response);
|
|||
v-model:checked="record.visibility"
|
||||
checked-children="上线"
|
||||
un-checked-children="下线"
|
||||
@change="visibilityChange(record.id,record.visibility,record)"
|
||||
@change="visibilityChange(record.id, record.visibility, record)"
|
||||
/>
|
||||
</template>
|
||||
</a-table-column>
|
||||
|
|
@ -568,24 +567,27 @@ console.log(visibility,response);
|
|||
fixed="right"
|
||||
>
|
||||
<template #default="{ record }">
|
||||
<a-tag
|
||||
style="cursor: pointer"
|
||||
@click="() => refInfo?.open(record.id)"
|
||||
color="#2db7f5"
|
||||
v-if="power.update"
|
||||
>编辑</a-tag
|
||||
>
|
||||
<a-popconfirm
|
||||
title="您确定要删除?"
|
||||
@confirm="deleteList(record.id)"
|
||||
okText="确定"
|
||||
cancelText="取消"
|
||||
v-if="power.delete"
|
||||
>
|
||||
<a-tag style="cursor: pointer" color="#f50">删除</a-tag>
|
||||
</a-popconfirm>
|
||||
<personality-characters v-if="power.update" :record="record" />
|
||||
<types-characters v-if="power.update" :record="record" />
|
||||
<a-space :size="[1, 10]" wrap>
|
||||
<a-tag
|
||||
style="cursor: pointer"
|
||||
@click="() => refInfo?.open(record.id)"
|
||||
color="#2db7f5"
|
||||
v-if="power.update"
|
||||
>编辑</a-tag
|
||||
>
|
||||
<a-popconfirm
|
||||
title="您确定要删除?"
|
||||
@confirm="deleteList(record.id)"
|
||||
okText="确定"
|
||||
cancelText="取消"
|
||||
v-if="power.delete"
|
||||
>
|
||||
<a-tag style="cursor: pointer" color="#f50">删除</a-tag>
|
||||
</a-popconfirm>
|
||||
<personality-characters v-if="power.update" :record="record" />
|
||||
<types-characters v-if="power.update" :record="record" />
|
||||
<lables-characters v-if="power.update" :record="record" />
|
||||
</a-space>
|
||||
</template>
|
||||
</a-table-column>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
using MiaoYu.Repository.ChatAI.Admin.Entities.Apps;
|
||||
using MiaoYu.Repository.ChatAI.Admin.Entities.Apps;
|
||||
namespace MiaoYu.Api.Admin.ApplicationServices.Apps;
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -114,6 +114,44 @@ public class T_Character_Label_RelationService : ApplicationService<IRepository<
|
|||
return ExcelUtil.ExportExcelByPagingView(tableViewModel, null, "Id");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据id数组删除
|
||||
/// </summary>
|
||||
/// <param name="ids">ids</param>
|
||||
/// <returns></returns>
|
||||
public async Task DeleteListAsync(int id, List<int> ids)
|
||||
{
|
||||
var list = await this._defaultRepository.Select.Where(it => it.CharacterId == id && ids.Contains(it.CharacterLabelId)).ToListAsync();
|
||||
await this._defaultRepository.DeleteAsync(list);
|
||||
}
|
||||
/// <summary>
|
||||
/// 保存数据
|
||||
/// </summary>
|
||||
/// <param name="form">form</param>
|
||||
/// <returns></returns>
|
||||
public async Task<int> SaveFormAsync(int characterId, List<int> ids)
|
||||
{
|
||||
var list = await this._defaultRepository.Select.Where(it => it.CharacterId == characterId).ToListAsync();
|
||||
await this._defaultRepository.DeleteAsync(list);
|
||||
List<T_Character_Label_Relation> newList = new List<T_Character_Label_Relation>();
|
||||
foreach (var personalityId in ids)
|
||||
{
|
||||
var t_Character_Label_Relation = new T_Character_Label_Relation
|
||||
{
|
||||
CharacterId = characterId,
|
||||
CreateTime = DateTime.Now,
|
||||
CharacterLabelId = personalityId,
|
||||
UpdateTime = DateTime.Now,
|
||||
TenantId = Guid.Empty,
|
||||
};
|
||||
//this._defaultRepository.Insert(t_Character_Label_Relation);
|
||||
newList.Add(t_Character_Label_Relation);
|
||||
}
|
||||
//var delList = list.Where(it => newList.Any(item => item.CharacterId != it.PersonalityId)).ToList();
|
||||
//await this._defaultRepository.DeleteAsync(delList);
|
||||
|
||||
return await this._defaultRepository.InsertRangeAsync(newList);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -68,16 +68,7 @@ public class T_Character_Personality_RelationService : ApplicationService<IRepos
|
|||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 根据id数组删除
|
||||
/// </summary>
|
||||
/// <param name="ids">ids</param>
|
||||
/// <returns></returns>
|
||||
public async Task DeleteListAsync(int id,List<int> ids)
|
||||
{
|
||||
var list = await this._defaultRepository.Select.Where(it=>it.CharacterId==id&& ids.Contains(it.PersonalityId)).ToListAsync();
|
||||
await this._defaultRepository.DeleteAsync(list);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 查询表单数据
|
||||
|
|
@ -112,6 +103,16 @@ public class T_Character_Personality_RelationService : ApplicationService<IRepos
|
|||
return this._defaultRepository.InsertOrUpdateAsync(form);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据id数组删除
|
||||
/// </summary>
|
||||
/// <param name="ids">ids</param>
|
||||
/// <returns></returns>
|
||||
public async Task DeleteListAsync(int id, List<int> ids)
|
||||
{
|
||||
var list = await this._defaultRepository.Select.Where(it => it.CharacterId == id && ids.Contains(it.PersonalityId)).ToListAsync();
|
||||
await this._defaultRepository.DeleteAsync(list);
|
||||
}
|
||||
/// <summary>
|
||||
/// 保存数据
|
||||
/// </summary>
|
||||
|
|
|
|||
|
|
@ -106,5 +106,46 @@ public class T_Character_Type_IntimacyService : ApplicationService<IRepository<T
|
|||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 根据id数组删除
|
||||
/// </summary>
|
||||
/// <param name="ids">ids</param>
|
||||
/// <returns></returns>
|
||||
public async Task DeleteListAsync(int id, List<int> ids)
|
||||
{
|
||||
var list = await this._defaultRepository.Select.Where(it => it.CharacterId == id && ids.Contains(it.TypeId)).ToListAsync();
|
||||
await this._defaultRepository.DeleteAsync(list);
|
||||
}
|
||||
/// <summary>
|
||||
/// 保存数据
|
||||
/// </summary>
|
||||
/// <param name="form">form</param>
|
||||
/// <returns></returns>
|
||||
public async Task<int> SaveFormAsync(int characterId, List<int> ids)
|
||||
{
|
||||
var list = await this._defaultRepository.Select.Where(it => it.CharacterId == characterId).ToListAsync();
|
||||
await this._defaultRepository.DeleteAsync(list);
|
||||
List<T_Character_Type_Intimacy> newList = new List<T_Character_Type_Intimacy>();
|
||||
foreach (var personalityId in ids)
|
||||
{
|
||||
var t_Character_Type_Intimacy = new T_Character_Type_Intimacy
|
||||
{
|
||||
CharacterId = characterId,
|
||||
CreateTime = DateTime.Now,
|
||||
TypeId = personalityId,
|
||||
OrderBy=1,
|
||||
UpdateTIme=DateTime.Now,
|
||||
TenantId = Guid.Empty,
|
||||
};
|
||||
//this._defaultRepository.Insert(t_Character_Type_Intimacy);
|
||||
newList.Add(t_Character_Type_Intimacy);
|
||||
}
|
||||
//var delList = list.Where(it => newList.Any(item => item.CharacterId != it.PersonalityId)).ToList();
|
||||
//await this._defaultRepository.DeleteAsync(delList);
|
||||
|
||||
return await this._defaultRepository.InsertRangeAsync(newList);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
using MiaoYu.Api.Admin.ApplicationServices.Apps;
|
||||
using MiaoYu.Api.Admin.ApplicationServices.Apps;
|
||||
using MiaoYu.Repository.ChatAI.Admin.Entities.Apps;
|
||||
namespace MiaoYu.Api.Admin.Controllers.Apps;
|
||||
|
||||
|
|
@ -95,6 +95,36 @@ public class T_Character_Label_RelationController : AdminControllerBase<T_Charac
|
|||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 根据id数组删除
|
||||
/// </summary>
|
||||
/// <param name="ids">ids</param>
|
||||
/// <returns></returns>
|
||||
[ActionDescriptor(PermissionFunctionConsts.Function_Delete, DisplayName = "删除数据")]
|
||||
[HttpPost("{id?}")]
|
||||
public async Task<bool> DeleteCIdListAsync([FromRoute] int id, [FromBody] List<int> ids)
|
||||
{
|
||||
await this._defaultService.DeleteListAsync(id, ids);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 批量配置标签
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <param name="ids"></param>
|
||||
/// <returns></returns>
|
||||
[RequestLimitFilter(Duration = 1, LimitCount = 1)]
|
||||
[ActionDescriptor(PermissionFunctionConsts.Function_Update, DisplayName = "批量配置标签")]
|
||||
[HttpPost(("{id?}"))]
|
||||
[ApiCheckModel]
|
||||
public Task SetCharacterLabel([FromRoute] int id, [FromBody] List<int> ids)
|
||||
{
|
||||
return this._defaultService.SaveFormAsync(id, ids);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -39,19 +39,6 @@ public class T_Character_Personality_RelationController : AdminControllerBase<T_
|
|||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据id数组删除
|
||||
/// </summary>
|
||||
/// <param name="ids">ids</param>
|
||||
/// <returns></returns>
|
||||
[ActionDescriptor(PermissionFunctionConsts.Function_Delete, DisplayName = "删除数据")]
|
||||
[HttpPost("{id?}")]
|
||||
public async Task<bool> DeleteCIdListAsync([FromRoute] int id,[FromBody] List<int> ids)
|
||||
{
|
||||
await this._defaultService.DeleteListAsync(id,ids);
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查询表单数据
|
||||
/// </summary>
|
||||
|
|
@ -92,6 +79,21 @@ public class T_Character_Personality_RelationController : AdminControllerBase<T_
|
|||
return this._defaultService.SaveFormAsync(form);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 根据id数组删除
|
||||
/// </summary>
|
||||
/// <param name="ids">ids</param>
|
||||
/// <returns></returns>
|
||||
[ActionDescriptor(PermissionFunctionConsts.Function_Delete, DisplayName = "删除数据")]
|
||||
[HttpPost("{id?}")]
|
||||
public async Task<bool> DeleteCIdListAsync([FromRoute] int id, [FromBody] List<int> ids)
|
||||
{
|
||||
await this._defaultService.DeleteListAsync(id, ids);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 批量配置性格
|
||||
/// </summary>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
using MiaoYu.Api.Admin.ApplicationServices.Apps;
|
||||
using MiaoYu.Api.Admin.ApplicationServices.Apps;
|
||||
using MiaoYu.Repository.ChatAI.Admin.Entities.Apps;
|
||||
namespace MiaoYu.Api.Admin.Controllers.Apps;
|
||||
|
||||
|
|
@ -95,6 +95,33 @@ public class T_Character_Type_IntimacyController : AdminControllerBase<T_Charact
|
|||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 根据id数组删除
|
||||
/// </summary>
|
||||
/// <param name="ids">ids</param>
|
||||
/// <returns></returns>
|
||||
[ActionDescriptor(PermissionFunctionConsts.Function_Delete, DisplayName = "删除数据")]
|
||||
[HttpPost("{id?}")]
|
||||
public async Task<bool> DeleteCIdListAsync([FromRoute] int id, [FromBody] List<int> ids)
|
||||
{
|
||||
await this._defaultService.DeleteListAsync(id, ids);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 批量配置类型
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <param name="ids"></param>
|
||||
/// <returns></returns>
|
||||
[RequestLimitFilter(Duration = 1, LimitCount = 1)]
|
||||
[ActionDescriptor(PermissionFunctionConsts.Function_Update, DisplayName = "批量配置类型")]
|
||||
[HttpPost(("{id?}"))]
|
||||
[ApiCheckModel]
|
||||
public Task SetCharacterTypes([FromRoute] int id, [FromBody] List<int> ids)
|
||||
{
|
||||
return this._defaultService.SaveFormAsync(id, ids);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -328,6 +328,20 @@
|
|||
<param name="pagingSearchInput"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:MiaoYu.Api.Admin.ApplicationServices.Apps.T_Character_Label_RelationService.DeleteListAsync(System.Int32,System.Collections.Generic.List{System.Int32})">
|
||||
<summary>
|
||||
根据id数组删除
|
||||
</summary>
|
||||
<param name="ids">ids</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:MiaoYu.Api.Admin.ApplicationServices.Apps.T_Character_Label_RelationService.SaveFormAsync(System.Int32,System.Collections.Generic.List{System.Int32})">
|
||||
<summary>
|
||||
保存数据
|
||||
</summary>
|
||||
<param name="form">form</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:MiaoYu.Api.Admin.ApplicationServices.Apps.T_Character_PersonalityService">
|
||||
<summary>
|
||||
角色性格表 服务 T_Character_PersonalityService
|
||||
|
|
@ -387,13 +401,6 @@
|
|||
<param name="ids">ids</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:MiaoYu.Api.Admin.ApplicationServices.Apps.T_Character_Personality_RelationService.DeleteListAsync(System.Int32,System.Collections.Generic.List{System.Int32})">
|
||||
<summary>
|
||||
根据id数组删除
|
||||
</summary>
|
||||
<param name="ids">ids</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:MiaoYu.Api.Admin.ApplicationServices.Apps.T_Character_Personality_RelationService.FindFormAsync(System.Int32)">
|
||||
<summary>
|
||||
查询表单数据
|
||||
|
|
@ -408,6 +415,13 @@
|
|||
<param name="form">form</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:MiaoYu.Api.Admin.ApplicationServices.Apps.T_Character_Personality_RelationService.DeleteListAsync(System.Int32,System.Collections.Generic.List{System.Int32})">
|
||||
<summary>
|
||||
根据id数组删除
|
||||
</summary>
|
||||
<param name="ids">ids</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:MiaoYu.Api.Admin.ApplicationServices.Apps.T_Character_Personality_RelationService.SaveFormAsync(System.Int32,System.Collections.Generic.List{System.Int32})">
|
||||
<summary>
|
||||
保存数据
|
||||
|
|
@ -502,6 +516,20 @@
|
|||
<param name="pagingSearchInput"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:MiaoYu.Api.Admin.ApplicationServices.Apps.T_Character_Type_IntimacyService.DeleteListAsync(System.Int32,System.Collections.Generic.List{System.Int32})">
|
||||
<summary>
|
||||
根据id数组删除
|
||||
</summary>
|
||||
<param name="ids">ids</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:MiaoYu.Api.Admin.ApplicationServices.Apps.T_Character_Type_IntimacyService.SaveFormAsync(System.Int32,System.Collections.Generic.List{System.Int32})">
|
||||
<summary>
|
||||
保存数据
|
||||
</summary>
|
||||
<param name="form">form</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:MiaoYu.Api.Admin.ApplicationServices.Apps.T_ChatService">
|
||||
<summary>
|
||||
聊天记录表 服务 T_ChatService
|
||||
|
|
@ -2139,6 +2167,21 @@
|
|||
<param name="pagingSearchInput"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:MiaoYu.Api.Admin.Controllers.Apps.T_Character_Label_RelationController.DeleteCIdListAsync(System.Int32,System.Collections.Generic.List{System.Int32})">
|
||||
<summary>
|
||||
根据id数组删除
|
||||
</summary>
|
||||
<param name="ids">ids</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:MiaoYu.Api.Admin.Controllers.Apps.T_Character_Label_RelationController.SetCharacterLabel(System.Int32,System.Collections.Generic.List{System.Int32})">
|
||||
<summary>
|
||||
批量配置标签
|
||||
</summary>
|
||||
<param name="id"></param>
|
||||
<param name="ids"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:MiaoYu.Api.Admin.Controllers.Apps.T_Character_PersonalityController">
|
||||
<summary>
|
||||
角色性格表 控制器
|
||||
|
|
@ -2205,13 +2248,6 @@
|
|||
<param name="ids">ids</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:MiaoYu.Api.Admin.Controllers.Apps.T_Character_Personality_RelationController.DeleteCIdListAsync(System.Int32,System.Collections.Generic.List{System.Int32})">
|
||||
<summary>
|
||||
根据id数组删除
|
||||
</summary>
|
||||
<param name="ids">ids</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:MiaoYu.Api.Admin.Controllers.Apps.T_Character_Personality_RelationController.FindFormAsync(System.Int32)">
|
||||
<summary>
|
||||
查询表单数据
|
||||
|
|
@ -2233,6 +2269,13 @@
|
|||
<param name="form"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:MiaoYu.Api.Admin.Controllers.Apps.T_Character_Personality_RelationController.DeleteCIdListAsync(System.Int32,System.Collections.Generic.List{System.Int32})">
|
||||
<summary>
|
||||
根据id数组删除
|
||||
</summary>
|
||||
<param name="ids">ids</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:MiaoYu.Api.Admin.Controllers.Apps.T_Character_Personality_RelationController.SetCharacterPersonality(System.Int32,System.Collections.Generic.List{System.Int32})">
|
||||
<summary>
|
||||
批量配置性格
|
||||
|
|
@ -2342,6 +2385,21 @@
|
|||
<param name="pagingSearchInput"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:MiaoYu.Api.Admin.Controllers.Apps.T_Character_Type_IntimacyController.DeleteCIdListAsync(System.Int32,System.Collections.Generic.List{System.Int32})">
|
||||
<summary>
|
||||
根据id数组删除
|
||||
</summary>
|
||||
<param name="ids">ids</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:MiaoYu.Api.Admin.Controllers.Apps.T_Character_Type_IntimacyController.SetCharacterTypes(System.Int32,System.Collections.Generic.List{System.Int32})">
|
||||
<summary>
|
||||
批量配置类型
|
||||
</summary>
|
||||
<param name="id"></param>
|
||||
<param name="ids"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:MiaoYu.Api.Admin.Controllers.Apps.T_ChatController">
|
||||
<summary>
|
||||
聊天记录表 控制器
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user