diff --git a/admin-client/src/components.d.ts b/admin-client/src/components.d.ts
index f60d1f6..e8398b1 100644
--- a/admin-client/src/components.d.ts
+++ b/admin-client/src/components.d.ts
@@ -22,6 +22,8 @@ declare module 'vue' {
ACheckbox: typeof import('ant-design-vue/es')['Checkbox']
ACheckboxGroup: typeof import('ant-design-vue/es')['CheckboxGroup']
ACol: typeof import('ant-design-vue/es')['Col']
+ ACollapse: typeof import('ant-design-vue/es')['Collapse']
+ ACollapsePanel: typeof import('ant-design-vue/es')['CollapsePanel']
ADatePicker: typeof import('ant-design-vue/es')['DatePicker']
ADescriptions: typeof import('ant-design-vue/es')['Descriptions']
ADescriptionsItem: typeof import('ant-design-vue/es')['DescriptionsItem']
@@ -70,6 +72,7 @@ declare module 'vue' {
ATimeline: typeof import('ant-design-vue/es')['Timeline']
ATimelineItem: typeof import('ant-design-vue/es')['TimelineItem']
ATooltip: typeof import('ant-design-vue/es')['Tooltip']
+ ATransfer: typeof import('ant-design-vue/es')['Transfer']
ATree: typeof import('ant-design-vue/es')['Tree']
ATreeSelect: typeof import('ant-design-vue/es')['TreeSelect']
ATypographyLink: typeof import('ant-design-vue/es')['TypographyLink']
@@ -108,6 +111,7 @@ declare module 'vue' {
TableCurd: typeof import('./core/components/curd/TableCurd.vue')['default']
TagCharacters: typeof import('./core/components/characters/tag-characters.vue')['default']
TenantSelect: typeof import('./core/components/curd/select-components/TenantSelect.vue')['default']
+ TypesCharacters: typeof import('./core/components/characters/types-characters.vue')['default']
WangEditor: typeof import('./core/components/WangEditor.vue')['default']
}
}
diff --git a/admin-client/src/core/components/characters/types-characters.vue b/admin-client/src/core/components/characters/types-characters.vue
new file mode 100644
index 0000000..1f91dca
--- /dev/null
+++ b/admin-client/src/core/components/characters/types-characters.vue
@@ -0,0 +1,146 @@
+
+
+ 添加性格
+
+
+
+ {{ item.title }} - {{ item.description }}
+
+
+
+
+
diff --git a/admin-client/src/core/components/huanmeng/hm-image.vue b/admin-client/src/core/components/huanmeng/hm-image.vue
index 665af26..cf70168 100644
--- a/admin-client/src/core/components/huanmeng/hm-image.vue
+++ b/admin-client/src/core/components/huanmeng/hm-image.vue
@@ -1,19 +1,17 @@
-
-
- 上传
+
+
+ 上传
+
+
+
+
+
+
+
+
+
@@ -35,9 +43,7 @@ import type { SelectProps } from "ant-design-vue";
import AppDictionaryCache from "@/core/utils/AppDictionaryCache";
import type { SelectValue } from "ant-design-vue/lib/select";
import TImageConfigService from "@/services/apps/T_Image_Configs/TImageConfigService";
-// 定义 options
-const options = ref([]);
-
+import Tools from "@/core/utils/Tools";
// 使用 withDefaults 添加默认值
const props = defineProps<{
modelValue: number;
@@ -57,10 +63,24 @@ const emits = defineEmits(["update:modelValue"]);
// });
// 定义方法以触发 update:modelValue 事件
-function updateValue(value: number) {
- emits("update:modelValue", value);
+function updateValue(event: any) {
+ console.log(event);
+
+ emits("update:modelValue", event.target.value);
}
+function updateValueNumber(event: number) {
+
+
+ emits("update:modelValue", event);
+}
+
+async function fileupload() {
+ const response = await Tools.imageFileUpload(0, 1);
+ console.log(response);
+ updateValueNumber(response.imageId);
+
+}
let timeout: any;
let currentValue = "";
@@ -72,11 +92,6 @@ function fetch(value: string, callback: any) {
currentValue = value;
function fake() {
- // const params = new URLSearchParams({
- // code: "utf-8",
- // q: value,
- // });
-
TImageConfigService.getImageList(value).then((res) => {
if (res.data != null) {
const data: any[] = [];
@@ -90,22 +105,6 @@ function fetch(value: string, callback: any) {
callback(data);
}
});
-
- // fetch(`https://suggest.taobao.com/sug?${params}`)
- // .then((response) => response.json())
- // .then((d) => {
- // if (currentValue === value) {
- // const result = d.result;
- // const data: any[] = [];
- // result.forEach((r: any) => {
- // data.push({
- // value: r[0],
- // label: r[0],
- // });
- // });
- // callback(data);
- // }
- // });
}
timeout = setTimeout(fake, 300);
@@ -119,9 +118,10 @@ const handleSearch = (val: string) => {
};
const handleChange = (val: number) => {
console.log(val);
- // updateValue(val);
-// props.modelValue = 1;
-// value.value = "";
+ updateValueNumber(val);
+// emits("update:modelValue", val);
+ // props.modelValue = 1;
+ // value.value = "";
// fetch(val, (d: any[]) => (data.value = d));
};
diff --git a/admin-client/src/core/utils/AppDictionaryCache.ts b/admin-client/src/core/utils/AppDictionaryCache.ts
index 9dfeaf5..7b6973a 100644
--- a/admin-client/src/core/utils/AppDictionaryCache.ts
+++ b/admin-client/src/core/utils/AppDictionaryCache.ts
@@ -2,7 +2,7 @@
import AppDictionaryImageCache from "./cache/AppDictionaryImageCache";
import { AbstractDictionaryCache } from "./cache/AbstractDictionaryCache";
import AppDictionaryTenantCache from "./cache/AppDictionaryTenantCache";
-
+import AppDictionaryTypesCache from "./cache/AppDictionaryTypesCache";
/**
* 基础数据缓存类
*/
@@ -16,6 +16,11 @@ class AppDictionaryCache {
* 多租户配置
*/
static appDictionaryTenantCache: AbstractDictionaryCache = new AppDictionaryTenantCache();
+
+ /**
+ * 类型配置
+ */
+ static appDictionaryTypesCache: AbstractDictionaryCache = new AppDictionaryTypesCache();
}
export default AppDictionaryCache;
diff --git a/admin-client/src/core/utils/cache/AppDictionaryTypesCache.ts b/admin-client/src/core/utils/cache/AppDictionaryTypesCache.ts
new file mode 100644
index 0000000..d76bc70
--- /dev/null
+++ b/admin-client/src/core/utils/cache/AppDictionaryTypesCache.ts
@@ -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 AppDictionaryTypesCache extends AbstractDictionaryCache {
+ protected code: string = "types";
+ public static _lock: Promise | null = null;
+ constructor() {
+ super(AppDictionaryTypesCache._lock);
+ }
+ /**
+ * 获取字典服务
+ * @returns Promise
+ */
+ protected override async getSysDictionaryService(): Promise {
+ 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 {
+ const _data = await this.getDataList();
+ return _data.map((item) => {
+ return { label: item.name, value: item.value, name: item.code, } as DefaultOptionType;
+ });
+ }
+
+}
+
+export default AppDictionaryTypesCache;
\ No newline at end of file
diff --git a/admin-client/src/services/Apps/T_Characters/T_CharacterService.ts b/admin-client/src/services/Apps/T_Characters/T_CharacterService.ts
index 2b6d151..d44a699 100644
--- a/admin-client/src/services/Apps/T_Characters/T_CharacterService.ts
+++ b/admin-client/src/services/Apps/T_Characters/T_CharacterService.ts
@@ -6,7 +6,7 @@
export default class T_CharacterService {
static urlPrefix = "/api/v1/admin/T_Character";
- static url:string = Http.baseURL + "/api/v1/admin/TImageConfig/image/";
+ static url: string = Http.baseURL + "/api/v1/admin/TImageConfig/image/";
/**
* 获取数据列表
* @param current
@@ -55,6 +55,18 @@ export default class T_CharacterService {
return Http.post(`${this.urlPrefix}/${id ? 'update' : 'create'}`, formData)
}
+
+/**
+ * 修改状态
+ * @param id
+ * @param v
+ * @returns
+ */
+ static async setVisibility(id: number | undefined, v: boolean | undefined) {
+ return await Http.post(`${this.urlPrefix}/updateState/${id}/${(v == true ? "1" : "0")}`)
+ }
+
+
/**
* 导出 excel
*
diff --git a/admin-client/src/services/Apps/T_Image_Configs/TImageConfigService.ts b/admin-client/src/services/Apps/T_Image_Configs/TImageConfigService.ts
index 1180b1f..a193c5c 100644
--- a/admin-client/src/services/Apps/T_Image_Configs/TImageConfigService.ts
+++ b/admin-client/src/services/Apps/T_Image_Configs/TImageConfigService.ts
@@ -5,7 +5,7 @@
*/
export default class TImageConfigService {
static urlPrefix = "/api/v1/admin/TImageConfig";
-
+ static baseUrl = Http.baseURL + this.urlPrefix + "/image/";
/**
* 获取数据列表
* @param current
@@ -109,6 +109,19 @@ export default class TImageConfigService {
* @returns
*/
static getImageList(name?: string | undefined) {
- return Http.get(`${this.urlPrefix}/getImageList?name=${escape(name??"")}`);
+ return Http.get(`${this.urlPrefix}/getImageList?name=${name}`);
+ }
+
+ /**
+* 查询图片数据源
+*
+* @param id
+* @returns
+*/
+ static getImageUrl(imageId?: number | undefined) {
+ if (imageId == null) {
+ return "";
+ }
+ return this.baseUrl + imageId;
}
}
diff --git a/admin-client/src/services/apps/T_Character_Personality_Relations/T_Character_Personality_RelationService.ts b/admin-client/src/services/apps/T_Character_Personality_Relations/T_Character_Personality_RelationService.ts
index b2e31e6..0bedd04 100644
--- a/admin-client/src/services/apps/T_Character_Personality_Relations/T_Character_Personality_RelationService.ts
+++ b/admin-client/src/services/apps/T_Character_Personality_Relations/T_Character_Personality_RelationService.ts
@@ -34,6 +34,15 @@ 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)
+ }
/**
* 查询表单
*
@@ -70,5 +79,13 @@ export default class T_Character_Personality_RelationService {
searchSort
});
}
-
+ /**
+ * 批量配置角色性格
+ * @param id 角色id
+ * @param ids 性格类型
+ * @returns
+ */
+ static async setCharacterPersonality(id: number, ids: any[]) {
+ return Http.post(`${this.urlPrefix}/setCharacterPersonality/${id}`, ids)
+ }
}
\ No newline at end of file
diff --git a/admin-client/src/views/Apps/T_Characters/Index.vue b/admin-client/src/views/Apps/T_Characters/Index.vue
index 299e7c7..9a9858a 100644
--- a/admin-client/src/views/Apps/T_Characters/Index.vue
+++ b/admin-client/src/views/Apps/T_Characters/Index.vue
@@ -14,6 +14,7 @@ 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" });
@@ -287,7 +288,7 @@ async function lablesDel(e: any, record: any) {
* 删除关联的性格数据
*/
async function personasDel(e: any, record: any) {
- const _request = await T_Character_Personality_RelationService.deleteList([
+ const _request = await T_Character_Personality_RelationService.delete(record.id,[
e.value,
]);
if (_request.data) {
@@ -298,6 +299,13 @@ async function personasDel(e: any, record: any) {
Tools.message.error("删除失败!");
}
//#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;
+
+}
@@ -532,7 +540,7 @@ async function personasDel(e: any, record: any) {
@del="personasDel(item, record)"
/>
- 添加
+
@@ -548,6 +556,7 @@ async function personasDel(e: any, record: any) {
v-model:checked="record.visibility"
checked-children="上线"
un-checked-children="下线"
+ @change="visibilityChange(record.id,record.visibility,record)"
/>
@@ -575,6 +584,7 @@ async function personasDel(e: any, record: any) {
>
删除
+
diff --git a/admin-client/src/views/Apps/T_Characters/Info.vue b/admin-client/src/views/Apps/T_Characters/Info.vue
index d1c6f5d..5a6e8ef 100644
--- a/admin-client/src/views/Apps/T_Characters/Info.vue
+++ b/admin-client/src/views/Apps/T_Characters/Info.vue
@@ -140,9 +140,7 @@ function save() {
name="bgImg"
:rules="[{ required: true, message: '请输入', trigger: 'blur' }]"
>
-
-
+
@@ -151,18 +149,12 @@ function save() {
name="iconImg"
:rules="[{ required: true, message: '请输入', trigger: 'blur' }]"
>
-
+
-
+
@@ -207,7 +200,10 @@ function save() {
-
+
new
{
Name = l.LabelName,
- Code = l.LabelValue?? l.LabelName,
+ Code = l.LabelValue ?? l.LabelName,
Value = l.Id
}).ToList(),
//分类
- Types =
+ Types =
T_Character_Type.Select.Where(t =>
T_Character_Type_Intimacy.Select.Any(tt => tt.CharacterId == w.Id && tt.TypeId == t.Id)
)
.Select(t => new
{
Name = t.Name,
- Code = t.Name ,
+ Code = t.Name,
Value = t.Id
}).ToList(),
//性格
@@ -87,7 +87,7 @@ public class T_CharacterService(
.Select(p => new
{
Name = p.Name,
- Code =p.Value??p.Name,
+ Code = p.Value ?? p.Name,
Value = p.Id
}).ToList(),
@@ -97,7 +97,7 @@ public class T_CharacterService(
var result = await _defaultRepository.AsPagingViewAsync(query, pagingSearchInput);
var imageIds = new List();
var characteIds = new List();
-
+
result.DataSource.ForEach(it =>
{
characteIds.Add(int.Parse(it["Id"]?.ToString() ?? "0"));
@@ -118,7 +118,7 @@ public class T_CharacterService(
});
var imageList = imageRepository.GetAllList(it => imageIds.Contains(it.ImageId));
-
+
result.DataSource.ForEach(it =>
{
@@ -199,6 +199,25 @@ public class T_CharacterService(
return ExcelUtil.ExportExcelByPagingView(tableViewModel, null, "Id");
}
+ ///
+ /// 修改状态
+ ///
+ ///
+ ///
+ ///
+
+ public async Task UpdateState(bool state, int id)
+ {
+ var form = await this._defaultRepository.FindByIdAsync(id);
+ if (form == null)
+ {
+ return false;
+ }
+ form.Visibility = state;
+ await SaveFormAsync(form);
+ return true;
+ }
+
}
\ No newline at end of file
diff --git a/admin-server/MiaoYu.Api.Admin/ApplicationServices/Apps/MiaoYuChat/T_Character_Personality_RelationService.cs b/admin-server/MiaoYu.Api.Admin/ApplicationServices/Apps/MiaoYuChat/T_Character_Personality_RelationService.cs
index 8e34f2e..05a1d5d 100644
--- a/admin-server/MiaoYu.Api.Admin/ApplicationServices/Apps/MiaoYuChat/T_Character_Personality_RelationService.cs
+++ b/admin-server/MiaoYu.Api.Admin/ApplicationServices/Apps/MiaoYuChat/T_Character_Personality_RelationService.cs
@@ -1,4 +1,8 @@
-using MiaoYu.Repository.ChatAI.Admin.Entities.Apps;
+using IdGen;
+
+using MiaoYu.Repository.ChatAI.Admin.Entities.Apps;
+
+using NPOI.HSSF.Record.Chart;
namespace MiaoYu.Api.Admin.ApplicationServices.Apps;
///
@@ -20,20 +24,24 @@ public class T_Character_Personality_RelationService : ApplicationService FindListAsync(PagingSearchInput pagingSearchInput)
{
var query = this._defaultRepository.Select
-
- //项目
- .WhereIf(pagingSearchInput.Search?.TenantId!=null,
- w => w.TenantId==pagingSearchInput.Search.TenantId)
-
-
+ //项目
+ .WhereIf(pagingSearchInput.Search?.TenantId != null,
+ w => w.TenantId == pagingSearchInput.Search.TenantId)
+ .WhereIf(pagingSearchInput.Search?.CharacterId != 0,
+ w => w.CharacterId == pagingSearchInput.Search.CharacterId)
+
+
.OrderByDescending(w => w.Id)
.Select(w => new
{
w.Id,
- w.TenantId,w.PersonalityId,w.CharacterId,w.CreateTime,
- // w.LastModificationTime,
- // w.CreationTime
+ w.TenantId,
+ w.PersonalityId,
+ w.CharacterId,
+ w.CreateTime,
+ // w.LastModificationTime,
+ // w.CreationTime
})
;
@@ -59,12 +67,24 @@ public class T_Character_Personality_RelationService : ApplicationService
+ /// 根据id数组删除
+ ///
+ /// ids
+ ///
+ public async Task DeleteListAsync(int id,List ids)
+ {
+ var list = await this._defaultRepository.Select.Where(it=>it.CharacterId==id&& ids.Contains(it.PersonalityId)).ToListAsync();
+ await this._defaultRepository.DeleteAsync(list);
+ }
+
///
/// 查询表单数据
///
/// id
///
- public async Task> FindFormAsync(int id)
+ public async Task> FindFormAsync(int id)
{
var res = new Dictionary();
var form = await this._defaultRepository.FindByIdAsync(id);
@@ -92,6 +112,34 @@ public class T_Character_Personality_RelationService : ApplicationService
+ /// 保存数据
+ ///
+ /// form
+ ///
+ public async Task SaveFormAsync(int characterId, List ids)
+ {
+ var list = await this._defaultRepository.Select.Where(it => it.CharacterId == characterId).ToListAsync();
+ await this._defaultRepository.DeleteAsync(list);
+ List newList = new List();
+ foreach (var personalityId in ids)
+ {
+ var t_Character_Personality_Relation = new T_Character_Personality_Relation
+ {
+ CharacterId = characterId,
+ CreateTime = DateTime.Now,
+ PersonalityId = personalityId,
+ TenantId = Guid.Empty,
+ };
+ //this._defaultRepository.Insert(t_Character_Personality_Relation);
+ newList.Add(t_Character_Personality_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);
+ }
+
///
/// 导出Excel
///
diff --git a/admin-server/MiaoYu.Api.Admin/ApplicationServices/Apps/MiaoYuChat/T_Character_Type_IntimacyService.cs b/admin-server/MiaoYu.Api.Admin/ApplicationServices/Apps/MiaoYuChat/T_Character_Type_IntimacyService.cs
index 71946d1..d755382 100644
--- a/admin-server/MiaoYu.Api.Admin/ApplicationServices/Apps/MiaoYuChat/T_Character_Type_IntimacyService.cs
+++ b/admin-server/MiaoYu.Api.Admin/ApplicationServices/Apps/MiaoYuChat/T_Character_Type_IntimacyService.cs
@@ -1,4 +1,4 @@
-using MiaoYu.Repository.ChatAI.Admin.Entities.Apps;
+using MiaoYu.Repository.ChatAI.Admin.Entities.Apps;
namespace MiaoYu.Api.Admin.ApplicationServices.Apps;
///
@@ -24,9 +24,10 @@ public class T_Character_Type_IntimacyService : ApplicationService w.TenantId==pagingSearchInput.Search.TenantId)
-
+ .WhereIf(pagingSearchInput.Search?.CharacterId != 0,
+ w => w.CharacterId == pagingSearchInput.Search.CharacterId)
+
-
.OrderByDescending(w => w.Id)
.Select(w => new
{
diff --git a/admin-server/MiaoYu.Api.Admin/Controllers/Apps/MiaoYuChat/T_CharacterController.cs b/admin-server/MiaoYu.Api.Admin/Controllers/Apps/MiaoYuChat/T_CharacterController.cs
index 7e57d58..43d0fea 100644
--- a/admin-server/MiaoYu.Api.Admin/Controllers/Apps/MiaoYuChat/T_CharacterController.cs
+++ b/admin-server/MiaoYu.Api.Admin/Controllers/Apps/MiaoYuChat/T_CharacterController.cs
@@ -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;
@@ -8,12 +8,12 @@ namespace MiaoYu.Api.Admin.Controllers.Apps;
[ControllerDescriptor(MenuId = "请设置菜单Id 系统菜单表中查找,如果不设置不受权限保护!", DisplayName = "人物表")]
public class T_CharacterController : AdminControllerBase
{
- public T_CharacterController(T_CharacterService defaultService)
+ public T_CharacterController(T_CharacterService defaultService)
: base(defaultService)
{
}
-
+
///
/// 获取列表
///
@@ -94,7 +94,18 @@ public class T_CharacterController : AdminControllerBase
base.HttpContext.DownLoadFile(data, Tools.GetFileContentType[".xls"].ToStr(), name);
}
-
+ ///
+ /// 修改角色状态
+ ///
+ ///
+ ///
+ ///
+ [ActionDescriptor(PermissionFunctionConsts.Function_Update, DisplayName = "修改角色状态")]
+ [HttpPost("{id?}/{v?}")]
+ public async Task UpdateState([FromRoute] int id, [FromRoute] int v)
+ {
+ return await this._defaultService.UpdateState(v == 0 ? false : true, id);
+ }
}
\ No newline at end of file
diff --git a/admin-server/MiaoYu.Api.Admin/Controllers/Apps/MiaoYuChat/T_Character_Personality_RelationController.cs b/admin-server/MiaoYu.Api.Admin/Controllers/Apps/MiaoYuChat/T_Character_Personality_RelationController.cs
index 78b6163..8402424 100644
--- a/admin-server/MiaoYu.Api.Admin/Controllers/Apps/MiaoYuChat/T_Character_Personality_RelationController.cs
+++ b/admin-server/MiaoYu.Api.Admin/Controllers/Apps/MiaoYuChat/T_Character_Personality_RelationController.cs
@@ -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;
@@ -8,12 +8,12 @@ namespace MiaoYu.Api.Admin.Controllers.Apps;
[ControllerDescriptor(MenuId = "请设置菜单Id 系统菜单表中查找,如果不设置不受权限保护!", DisplayName = "角色和性格关联表")]
public class T_Character_Personality_RelationController : AdminControllerBase
{
- public T_Character_Personality_RelationController(T_Character_Personality_RelationService defaultService)
+ public T_Character_Personality_RelationController(T_Character_Personality_RelationService defaultService)
: base(defaultService)
{
}
-
+
///
/// 获取列表
///
@@ -39,6 +39,19 @@ public class T_Character_Personality_RelationController : AdminControllerBase
+ /// 根据id数组删除
+ ///
+ /// ids
+ ///
+ [ActionDescriptor(PermissionFunctionConsts.Function_Delete, DisplayName = "删除数据")]
+ [HttpPost("{id?}")]
+ public async Task DeleteCIdListAsync([FromRoute] int id,[FromBody] List ids)
+ {
+ await this._defaultService.DeleteListAsync(id,ids);
+ return true;
+ }
+
///
/// 查询表单数据
///
@@ -79,6 +92,22 @@ public class T_Character_Personality_RelationController : AdminControllerBase
+ /// 批量配置性格
+ ///
+ ///
+ ///
+ ///
+ [RequestLimitFilter(Duration = 1, LimitCount = 1)]
+ [ActionDescriptor(PermissionFunctionConsts.Function_Update, DisplayName = "批量配置性格")]
+ [HttpPost(("{id?}"))]
+ [ApiCheckModel]
+ public Task SetCharacterPersonality([FromRoute] int id, [FromBody] List ids)
+ {
+ return this._defaultService.SaveFormAsync(id, ids);
+ }
+
+
///
/// 导出Excel
///
diff --git a/admin-server/MiaoYu.Api.Admin/MiaoYu.Api.Admin.xml b/admin-server/MiaoYu.Api.Admin/MiaoYu.Api.Admin.xml
index c5b7593..9d9344b 100644
--- a/admin-server/MiaoYu.Api.Admin/MiaoYu.Api.Admin.xml
+++ b/admin-server/MiaoYu.Api.Admin/MiaoYu.Api.Admin.xml
@@ -240,6 +240,14 @@
+
+
+ 修改状态
+
+
+
+
+
角色标签表 服务 T_Character_LabelService
@@ -379,6 +387,13 @@
ids
+
+
+ 根据id数组删除
+
+ ids
+
+
查询表单数据
@@ -393,6 +408,13 @@
form
+
+
+ 保存数据
+
+ form
+
+
导出Excel
@@ -2015,6 +2037,14 @@
+
+
+ 修改角色状态
+
+
+
+
+
角色标签表 控制器
@@ -2175,6 +2205,13 @@
ids
+
+
+ 根据id数组删除
+
+ ids
+
+
查询表单数据
@@ -2196,6 +2233,14 @@
+
+
+ 批量配置性格
+
+
+
+
+
导出Excel