提交代码

This commit is contained in:
zpc 2024-08-29 13:19:42 +08:00
parent 53c989368f
commit a6a156f4be
31 changed files with 3411 additions and 7 deletions

View File

@ -0,0 +1,74 @@
import Http from "@/core/utils/Http";
/**
* M_MusicGenres服务
*/
export default class M_MusicGenresService {
static urlPrefix = "/api/v1/admin/M_MusicGenres";
/**
*
* @param current
* @param pageSize
* @param search
* @param searchSort
* @returns
*/
static findList(current: number, pageSize: number, search: any = {}, searchSort: any[] = []) {
return Http.post(`${this.urlPrefix}/findList`, {
page: current,
size: pageSize,
search,
searchSort
})
}
/**
*
*
* @param ids
* @returns
*/
static deleteList(ids: string[]) {
return Http.post(`${this.urlPrefix}/deleteList`, ids)
}
/**
*
*
* @param id
* @returns
*/
static findForm(id?: string | undefined) {
return Http.get(`${this.urlPrefix}/findForm${(id ? '/' + id : '')}`)
}
/**
*
*
* @param id
* @param formData
* @returns
*/
static saveForm(id: string | undefined, formData: any) {
return Http.post(`${this.urlPrefix}/${id ? 'update' : 'create'}`, formData)
}
/**
* excel
*
* @param search
* @param searchSort
* @returns
*/
static exportExcel(search: any = {}, searchSort: any[] = []) {
return Http.download(`${this.urlPrefix}/exportExcel`, {
page: -1,
size: -1,
search,
searchSort
});
}
}

View File

@ -0,0 +1,74 @@
import Http from "@/core/utils/Http";
/**
* T_OrderItems服务
*/
export default class T_OrderItemsService {
static urlPrefix = "/api/v1/admin/T_OrderItems";
/**
*
* @param current
* @param pageSize
* @param search
* @param searchSort
* @returns
*/
static findList(current: number, pageSize: number, search: any = {}, searchSort: any[] = []) {
return Http.post(`${this.urlPrefix}/findList`, {
page: current,
size: pageSize,
search,
searchSort
})
}
/**
*
*
* @param ids
* @returns
*/
static deleteList(ids: string[]) {
return Http.post(`${this.urlPrefix}/deleteList`, ids)
}
/**
*
*
* @param id
* @returns
*/
static findForm(id?: string | undefined) {
return Http.get(`${this.urlPrefix}/findForm${(id ? '/' + id : '')}`)
}
/**
*
*
* @param id
* @param formData
* @returns
*/
static saveForm(id: string | undefined, formData: any) {
return Http.post(`${this.urlPrefix}/${id ? 'update' : 'create'}`, formData)
}
/**
* excel
*
* @param search
* @param searchSort
* @returns
*/
static exportExcel(search: any = {}, searchSort: any[] = []) {
return Http.download(`${this.urlPrefix}/exportExcel`, {
page: -1,
size: -1,
search,
searchSort
});
}
}

View File

@ -0,0 +1,74 @@
import Http from "@/core/utils/Http";
/**
* T_Order服务
*/
export default class T_OrderService {
static urlPrefix = "/api/v1/admin/T_Order";
/**
*
* @param current
* @param pageSize
* @param search
* @param searchSort
* @returns
*/
static findList(current: number, pageSize: number, search: any = {}, searchSort: any[] = []) {
return Http.post(`${this.urlPrefix}/findList`, {
page: current,
size: pageSize,
search,
searchSort
})
}
/**
*
*
* @param ids
* @returns
*/
static deleteList(ids: string[]) {
return Http.post(`${this.urlPrefix}/deleteList`, ids)
}
/**
*
*
* @param id
* @returns
*/
static findForm(id?: string | undefined) {
return Http.get(`${this.urlPrefix}/findForm${(id ? '/' + id : '')}`)
}
/**
*
*
* @param id
* @param formData
* @returns
*/
static saveForm(id: string | undefined, formData: any) {
return Http.post(`${this.urlPrefix}/${id ? 'update' : 'create'}`, formData)
}
/**
* excel
*
* @param search
* @param searchSort
* @returns
*/
static exportExcel(search: any = {}, searchSort: any[] = []) {
return Http.download(`${this.urlPrefix}/exportExcel`, {
page: -1,
size: -1,
search,
searchSort
});
}
}

View File

@ -0,0 +1,74 @@
import Http from "@/core/utils/Http";
/**
* T_User_IntentOrder服务
*/
export default class T_User_IntentOrderService {
static urlPrefix = "/api/v1/admin/T_User_IntentOrder";
/**
*
* @param current
* @param pageSize
* @param search
* @param searchSort
* @returns
*/
static findList(current: number, pageSize: number, search: any = {}, searchSort: any[] = []) {
return Http.post(`${this.urlPrefix}/findList`, {
page: current,
size: pageSize,
search,
searchSort
})
}
/**
*
*
* @param ids
* @returns
*/
static deleteList(ids: string[]) {
return Http.post(`${this.urlPrefix}/deleteList`, ids)
}
/**
*
*
* @param id
* @returns
*/
static findForm(id?: string | undefined) {
return Http.get(`${this.urlPrefix}/findForm${(id ? '/' + id : '')}`)
}
/**
*
*
* @param id
* @param formData
* @returns
*/
static saveForm(id: string | undefined, formData: any) {
return Http.post(`${this.urlPrefix}/${id ? 'update' : 'create'}`, formData)
}
/**
* excel
*
* @param search
* @param searchSort
* @returns
*/
static exportExcel(search: any = {}, searchSort: any[] = []) {
return Http.download(`${this.urlPrefix}/exportExcel`, {
page: -1,
size: -1,
search,
searchSort
});
}
}

View File

@ -0,0 +1,232 @@
<script lang="ts" setup>
import { reactive, ref, onMounted } from "vue";
import { FormInstance } from "ant-design-vue";
import { useAuthority } from "@/utils/Authority";
import AppIcon from "@/core/components/AppIcon.vue";
import Info from "./Info.vue";
import Tools from "@/core/utils/Tools";
import PageContainer from "@/core/components/PageContainer.vue";
import TableCurd from "@/core/components/curd/TableCurd.vue";
import M_MusicGenresService from "@/services/apps/M_MusicGenress/M_MusicGenresService";
defineOptions({ name: "M_MusicGenresIndex" });
const state = reactive({
search: {
state: false,
vm: {
name: undefined,
},
sort: [] as any[],
},
loading: false,
page: 1,
size: 50,
total: 100,
columns: [] as any,
data: [] as any,
});
//
const power = useAuthority();
//
const refTableCurd = ref<InstanceType<typeof TableCurd>>();
//
const refInfo = ref<InstanceType<typeof Info>>();
//
const refSearchForm = ref<FormInstance>();
/**
* 初始化
*/
onMounted(() => {
findList();
});
/**
*获取数据
*/
async function findList() {
try{
state.loading = true;
let keys = Object.keys(state.search.vm);
keys.map(k => {
if (state.search.vm[k] == null || state.search.vm[k] == "") {
delete state.search.vm[k];
}
});
const result = await M_MusicGenresService.findList(state.page, state.size, state.search.vm, state.search.sort);
state.loading = false;
if (result.code != 200) return;
state.page = result.data.page;
state.size = result.data.size;
state.total = result.data.total;
state.columns = result.data.columns;
state.data = result.data.dataSource;
// state.visible = false;
} catch (error) {
state.loading = false;
}
}
/**
* 删除数据
* @param id
*/
async function deleteList(id?: string) {
let ids: string[] = [];
if (id) {
ids.push(id);
} else {
ids = refTableCurd.value?.getSelectedRowKeys() ?? [];
}
if (ids.length == 0) return Tools.message.error("请选择要删除的行!");
try{
state.loading = true;
const result = await M_MusicGenresService.deleteList(ids);
state.loading = false;
if (result.code != 200) return;
Tools.message.success("删除成功!");
findList();
} catch (error) {
state.loading = false;
}
}
/**
* 导出excel
*/
function exportExcel() {
M_MusicGenresService.exportExcel(state.search.vm, state.search.sort);
}
</script>
<template>
<PageContainer>
<TableCurd
ref="refTableCurd"
:config="state"
@change="
(changeTable) => {
state.page = changeTable.pagination.current ?? 1;
state.size = changeTable.pagination.pageSize ?? state.size;
state.search.sort = changeTable.sorter instanceof Array ? [...changeTable.sorter] : [changeTable.sorter];
findList();
}
"
@show-size-change="
({ current, size }) => {
state.page = current == 0 ? 1 : current;
state.size = size;
findList();
}
"
>
<!-- search -->
<template #search>
<a-form ref="refSearchForm" :model="state.search.vm" v-if="power.search">
<a-row :gutter="[16, 0]">
<!--
<a-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6">
<a-form-item class="mb-0" name="name" label="名称">
<a-input v-model:value="state.search.vm.name" placeholder="名称" />
</a-form-item>
</a-col>
-->
<a-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6">
<a-form-item class="mb-0" name="tenantId" label="项目">
<hm-tenant-select v-model:value="state.search.vm.tenantId" :ShowAll="true" />
</a-form-item>
</a-col>
<!--button-->
<a-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6" class="text-right">
<a-space :size="8">
<a-button
@click="
state.page = 1;
refSearchForm?.resetFields();
findList();
"
>
重置
</a-button>
<a-button
type="primary"
@click="
state.page = 1;
findList();
"
>
查询
</a-button>
</a-space>
</a-col>
</a-row>
</a-form>
</template>
<!-- toolbar-left -->
<template #toolbar-left>
<a-button @click="state.search.state = !state.search.state" v-if="power.search">
<div v-if="state.search.state"><AppIcon name="UpOutlined" />&nbsp;&nbsp;收起</div>
<div v-else><AppIcon name="DownOutlined" />&nbsp;&nbsp;展开</div>
</a-button>
<a-button type="primary" @click="() => refInfo?.open()" v-if="power.insert">
<template #icon>
<AppIcon name="PlusOutlined" />
</template>
新建
</a-button>
<a-popconfirm title="您确定要删除?" @confirm="deleteList()" okText="确定" cancelText="取消" v-if="power.delete">
<a-button type="primary" danger>
<template #icon>
<AppIcon name="DeleteOutlined" />
</template>
批量删除
</a-button>
</a-popconfirm>
</template>
<!-- toolbar-right -->
<template #toolbar-right>
<a-dropdown>
<template #overlay>
<a-menu>
<a-menu-item key="1" @click="exportExcel()">导出 Excel</a-menu-item>
</a-menu>
</template>
<a-button> 更多 <AppIcon name="ellipsis-outlined" /> </a-button>
</a-dropdown>
<!-- 列设置 -->
<a-popover>
<template #content>
<div v-for="item in state.columns.filter((w:any) => w.fieldName.substr(0, 1) != '_')">
<a-checkbox v-model:checked="item.show">{{ item.title }}</a-checkbox>
</div>
</template>
<a-button type="text">
<template #icon><AppIcon name="setting-outlined" /> </template>
</a-button>
</a-popover>
</template>
<!-- table-col -->
<template #table-col>
<template v-for="item,index in state.columns.filter((w:any) => w.fieldName !== 'id' && w.show)" :key="item.fieldName">
<a-table-column :title="item.title" :data-index="item.fieldName" :sorter="item.sort ? { multiple: index + 1 } : false" />
</template>
<!-- 操作 -->
<a-table-column title="操作" data-index="id" v-if="power.update || power.delete" width="200px" fixed="right">
<template #default="{ record }">
<a href="javascript:;" @click="() => refInfo?.open(record.id)" v-if="power.update">编辑</a>
<a-divider type="vertical" />
<a-popconfirm title="您确定要删除?" @confirm="deleteList(record.id)" okText="确定" cancelText="取消" v-if="power.delete">
<a class="text-danger">删除</a>
</a-popconfirm>
</template>
</a-table-column>
</template>
</TableCurd>
<!-- Info -->
<Info ref="refInfo" :onSuccess="() => findList()" />
</PageContainer>
</template>

View File

@ -0,0 +1,102 @@
<script lang="ts" setup>
import { reactive, ref } from "vue";
import { FormInstance } from "ant-design-vue";
import Tools from "@/core/utils/Tools";
import M_MusicGenresService from "@/services/apps/M_MusicGenress/M_MusicGenresService";
//
const props = defineProps<{ onSuccess: () => void }>();
const state = reactive({
vm: {
id: "",
form: {} as any,
},
visible: false,
loading: false,
});
//
const refForm = ref<FormInstance>();
//
defineExpose({
/**
* 打开表单初始化
* @param key
*/
open: (key: string = "") => {
state.visible = true;
if (state.visible) {
state.vm.id = key;
}
refForm.value?.resetFields();
//
state.loading = true;
M_MusicGenresService.findForm(key).then((res) => {
state.loading = false;
if (res.code != 200) return;
state.vm = res.data;
});
},
});
/**
*保存数据
*/
function save() {
refForm.value?.validate().then(async () => {
try {
state.loading = true;
const result = await M_MusicGenresService.saveForm(state.vm.id, state.vm.form);
state.loading = false;
if (result.code != 200) return;
Tools.message.success("操作成功!");
props.onSuccess();
state.visible = false;
} catch (error) {
state.loading = false;
}
});
}
</script>
<template>
<a-modal v-model:open="state.visible" :title="state.vm.id ? '编辑' : '新建'" centered @ok="state.visible = false" :width="800">
<template #footer>
<a-button type="primary" :loading="state.loading" @click="save()"> 提交</a-button>
<a-button @click="state.visible = false">关闭</a-button>
</template>
<a-spin :spinning="state.loading">
<a-form ref="refForm" layout="vertical" :model="state.vm.form">
<a-row :gutter="[16, 0]">
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<a-form-item label="项目" name="tenantId">
<hm-tenant-select v-model:value="state.vm.form.tenantId" />
</a-form-item>
</a-col>
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<a-form-item label="音乐风格名称" name="genreName" :rules="[{ required: true, message: '请输入', trigger: 'blur' }]">
<a-input v-model:value="state.vm.form.genreName" placeholder="请输入" />
</a-form-item>
</a-col>
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<a-form-item label="音乐风格描述" name="description" :rules="[{ required: true, message: '请输入', trigger: 'blur' }]">
<a-input v-model:value="state.vm.form.description" placeholder="请输入" />
</a-form-item>
</a-col>
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<a-form-item label="排序" name="orderId" :rules="[{ required: true, message: '请输入', trigger: 'blur' }]">
<a-input v-model:value="state.vm.form.orderId" placeholder="请输入" />
</a-form-item>
</a-col>
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<a-form-item label="是否启用" name="isEnabled" :rules="[{ required: true, message: '请输入', trigger: 'blur' }]">
<a-input v-model:value="state.vm.form.isEnabled" placeholder="请输入" />
</a-form-item>
</a-col>
</a-row>
</a-form>
</a-spin>
</a-modal>
</template>

View File

@ -0,0 +1,232 @@
<script lang="ts" setup>
import { reactive, ref, onMounted } from "vue";
import { FormInstance } from "ant-design-vue";
import { useAuthority } from "@/utils/Authority";
import AppIcon from "@/core/components/AppIcon.vue";
import Info from "./Info.vue";
import Tools from "@/core/utils/Tools";
import PageContainer from "@/core/components/PageContainer.vue";
import TableCurd from "@/core/components/curd/TableCurd.vue";
import T_OrderItemsService from "@/services/apps/T_OrderItemss/T_OrderItemsService";
defineOptions({ name: "T_OrderItemsIndex" });
const state = reactive({
search: {
state: false,
vm: {
name: undefined,
},
sort: [] as any[],
},
loading: false,
page: 1,
size: 50,
total: 100,
columns: [] as any,
data: [] as any,
});
//
const power = useAuthority();
//
const refTableCurd = ref<InstanceType<typeof TableCurd>>();
//
const refInfo = ref<InstanceType<typeof Info>>();
//
const refSearchForm = ref<FormInstance>();
/**
* 初始化
*/
onMounted(() => {
findList();
});
/**
*获取数据
*/
async function findList() {
try{
state.loading = true;
let keys = Object.keys(state.search.vm);
keys.map(k => {
if (state.search.vm[k] == null || state.search.vm[k] == "") {
delete state.search.vm[k];
}
});
const result = await T_OrderItemsService.findList(state.page, state.size, state.search.vm, state.search.sort);
state.loading = false;
if (result.code != 200) return;
state.page = result.data.page;
state.size = result.data.size;
state.total = result.data.total;
state.columns = result.data.columns;
state.data = result.data.dataSource;
// state.visible = false;
} catch (error) {
state.loading = false;
}
}
/**
* 删除数据
* @param id
*/
async function deleteList(id?: string) {
let ids: string[] = [];
if (id) {
ids.push(id);
} else {
ids = refTableCurd.value?.getSelectedRowKeys() ?? [];
}
if (ids.length == 0) return Tools.message.error("请选择要删除的行!");
try{
state.loading = true;
const result = await T_OrderItemsService.deleteList(ids);
state.loading = false;
if (result.code != 200) return;
Tools.message.success("删除成功!");
findList();
} catch (error) {
state.loading = false;
}
}
/**
* 导出excel
*/
function exportExcel() {
T_OrderItemsService.exportExcel(state.search.vm, state.search.sort);
}
</script>
<template>
<PageContainer>
<TableCurd
ref="refTableCurd"
:config="state"
@change="
(changeTable) => {
state.page = changeTable.pagination.current ?? 1;
state.size = changeTable.pagination.pageSize ?? state.size;
state.search.sort = changeTable.sorter instanceof Array ? [...changeTable.sorter] : [changeTable.sorter];
findList();
}
"
@show-size-change="
({ current, size }) => {
state.page = current == 0 ? 1 : current;
state.size = size;
findList();
}
"
>
<!-- search -->
<template #search>
<a-form ref="refSearchForm" :model="state.search.vm" v-if="power.search">
<a-row :gutter="[16, 0]">
<!--
<a-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6">
<a-form-item class="mb-0" name="name" label="名称">
<a-input v-model:value="state.search.vm.name" placeholder="名称" />
</a-form-item>
</a-col>
-->
<a-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6">
<a-form-item class="mb-0" name="tenantId" label="项目">
<hm-tenant-select v-model:value="state.search.vm.tenantId" :ShowAll="true" />
</a-form-item>
</a-col>
<!--button-->
<a-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6" class="text-right">
<a-space :size="8">
<a-button
@click="
state.page = 1;
refSearchForm?.resetFields();
findList();
"
>
重置
</a-button>
<a-button
type="primary"
@click="
state.page = 1;
findList();
"
>
查询
</a-button>
</a-space>
</a-col>
</a-row>
</a-form>
</template>
<!-- toolbar-left -->
<template #toolbar-left>
<a-button @click="state.search.state = !state.search.state" v-if="power.search">
<div v-if="state.search.state"><AppIcon name="UpOutlined" />&nbsp;&nbsp;收起</div>
<div v-else><AppIcon name="DownOutlined" />&nbsp;&nbsp;展开</div>
</a-button>
<a-button type="primary" @click="() => refInfo?.open()" v-if="power.insert">
<template #icon>
<AppIcon name="PlusOutlined" />
</template>
新建
</a-button>
<a-popconfirm title="您确定要删除?" @confirm="deleteList()" okText="确定" cancelText="取消" v-if="power.delete">
<a-button type="primary" danger>
<template #icon>
<AppIcon name="DeleteOutlined" />
</template>
批量删除
</a-button>
</a-popconfirm>
</template>
<!-- toolbar-right -->
<template #toolbar-right>
<a-dropdown>
<template #overlay>
<a-menu>
<a-menu-item key="1" @click="exportExcel()">导出 Excel</a-menu-item>
</a-menu>
</template>
<a-button> 更多 <AppIcon name="ellipsis-outlined" /> </a-button>
</a-dropdown>
<!-- 列设置 -->
<a-popover>
<template #content>
<div v-for="item in state.columns.filter((w:any) => w.fieldName.substr(0, 1) != '_')">
<a-checkbox v-model:checked="item.show">{{ item.title }}</a-checkbox>
</div>
</template>
<a-button type="text">
<template #icon><AppIcon name="setting-outlined" /> </template>
</a-button>
</a-popover>
</template>
<!-- table-col -->
<template #table-col>
<template v-for="item,index in state.columns.filter((w:any) => w.fieldName !== 'id' && w.show)" :key="item.fieldName">
<a-table-column :title="item.title" :data-index="item.fieldName" :sorter="item.sort ? { multiple: index + 1 } : false" />
</template>
<!-- 操作 -->
<a-table-column title="操作" data-index="id" v-if="power.update || power.delete" width="200px" fixed="right">
<template #default="{ record }">
<a href="javascript:;" @click="() => refInfo?.open(record.id)" v-if="power.update">编辑</a>
<a-divider type="vertical" />
<a-popconfirm title="您确定要删除?" @confirm="deleteList(record.id)" okText="确定" cancelText="取消" v-if="power.delete">
<a class="text-danger">删除</a>
</a-popconfirm>
</template>
</a-table-column>
</template>
</TableCurd>
<!-- Info -->
<Info ref="refInfo" :onSuccess="() => findList()" />
</PageContainer>
</template>

View File

@ -0,0 +1,117 @@
<script lang="ts" setup>
import { reactive, ref } from "vue";
import { FormInstance } from "ant-design-vue";
import Tools from "@/core/utils/Tools";
import T_OrderItemsService from "@/services/apps/T_OrderItemss/T_OrderItemsService";
//
const props = defineProps<{ onSuccess: () => void }>();
const state = reactive({
vm: {
id: "",
form: {} as any,
},
visible: false,
loading: false,
});
//
const refForm = ref<FormInstance>();
//
defineExpose({
/**
* 打开表单初始化
* @param key
*/
open: (key: string = "") => {
state.visible = true;
if (state.visible) {
state.vm.id = key;
}
refForm.value?.resetFields();
//
state.loading = true;
T_OrderItemsService.findForm(key).then((res) => {
state.loading = false;
if (res.code != 200) return;
state.vm = res.data;
});
},
});
/**
*保存数据
*/
function save() {
refForm.value?.validate().then(async () => {
try {
state.loading = true;
const result = await T_OrderItemsService.saveForm(state.vm.id, state.vm.form);
state.loading = false;
if (result.code != 200) return;
Tools.message.success("操作成功!");
props.onSuccess();
state.visible = false;
} catch (error) {
state.loading = false;
}
});
}
</script>
<template>
<a-modal v-model:open="state.visible" :title="state.vm.id ? '编辑' : '新建'" centered @ok="state.visible = false" :width="800">
<template #footer>
<a-button type="primary" :loading="state.loading" @click="save()"> 提交</a-button>
<a-button @click="state.visible = false">关闭</a-button>
</template>
<a-spin :spinning="state.loading">
<a-form ref="refForm" layout="vertical" :model="state.vm.form">
<a-row :gutter="[16, 0]">
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<a-form-item label="项目" name="tenantId">
<hm-tenant-select v-model:value="state.vm.form.tenantId" />
</a-form-item>
</a-col>
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<a-form-item label="订单id" name="orderId" :rules="[{ required: true, message: '请输入', trigger: 'blur' }]">
<a-input v-model:value="state.vm.form.orderId" placeholder="请输入" />
</a-form-item>
</a-col>
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<a-form-item label="支付信息" name="paymentInfo" :rules="[{ required: true, message: '请输入', trigger: 'blur' }]">
<a-input v-model:value="state.vm.form.paymentInfo" placeholder="请输入" />
</a-form-item>
</a-col>
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<a-form-item label="支付地址" name="payUrl" :rules="[{ required: true, message: '请输入', trigger: 'blur' }]">
<a-input v-model:value="state.vm.form.payUrl" placeholder="请输入" />
</a-form-item>
</a-col>
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<a-form-item label="产品id、主键" name="product" :rules="[{ required: true, message: '请输入', trigger: 'blur' }]">
<a-input v-model:value="state.vm.form.product" placeholder="请输入" />
</a-form-item>
</a-col>
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<a-form-item label="产品id" name="productId" :rules="[{ required: true, message: '请输入', trigger: 'blur' }]">
<a-input v-model:value="state.vm.form.productId" placeholder="请输入" />
</a-form-item>
</a-col>
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<a-form-item label="发放奖励信息" name="rewardInfo" :rules="[{ required: true, message: '请输入', trigger: 'blur' }]">
<a-input v-model:value="state.vm.form.rewardInfo" placeholder="请输入" />
</a-form-item>
</a-col>
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<a-form-item label="发放奖励提示" name="rewardTips" :rules="[{ required: true, message: '请输入', trigger: 'blur' }]">
<a-input v-model:value="state.vm.form.rewardTips" placeholder="请输入" />
</a-form-item>
</a-col>
</a-row>
</a-form>
</a-spin>
</a-modal>
</template>

View File

@ -0,0 +1,232 @@
<script lang="ts" setup>
import { reactive, ref, onMounted } from "vue";
import { FormInstance } from "ant-design-vue";
import { useAuthority } from "@/utils/Authority";
import AppIcon from "@/core/components/AppIcon.vue";
import Info from "./Info.vue";
import Tools from "@/core/utils/Tools";
import PageContainer from "@/core/components/PageContainer.vue";
import TableCurd from "@/core/components/curd/TableCurd.vue";
import T_OrderService from "@/services/apps/T_Orders/T_OrderService";
defineOptions({ name: "T_OrderIndex" });
const state = reactive({
search: {
state: false,
vm: {
name: undefined,
},
sort: [] as any[],
},
loading: false,
page: 1,
size: 50,
total: 100,
columns: [] as any,
data: [] as any,
});
//
const power = useAuthority();
//
const refTableCurd = ref<InstanceType<typeof TableCurd>>();
//
const refInfo = ref<InstanceType<typeof Info>>();
//
const refSearchForm = ref<FormInstance>();
/**
* 初始化
*/
onMounted(() => {
findList();
});
/**
*获取数据
*/
async function findList() {
try{
state.loading = true;
let keys = Object.keys(state.search.vm);
keys.map(k => {
if (state.search.vm[k] == null || state.search.vm[k] == "") {
delete state.search.vm[k];
}
});
const result = await T_OrderService.findList(state.page, state.size, state.search.vm, state.search.sort);
state.loading = false;
if (result.code != 200) return;
state.page = result.data.page;
state.size = result.data.size;
state.total = result.data.total;
state.columns = result.data.columns;
state.data = result.data.dataSource;
// state.visible = false;
} catch (error) {
state.loading = false;
}
}
/**
* 删除数据
* @param id
*/
async function deleteList(id?: string) {
let ids: string[] = [];
if (id) {
ids.push(id);
} else {
ids = refTableCurd.value?.getSelectedRowKeys() ?? [];
}
if (ids.length == 0) return Tools.message.error("请选择要删除的行!");
try{
state.loading = true;
const result = await T_OrderService.deleteList(ids);
state.loading = false;
if (result.code != 200) return;
Tools.message.success("删除成功!");
findList();
} catch (error) {
state.loading = false;
}
}
/**
* 导出excel
*/
function exportExcel() {
T_OrderService.exportExcel(state.search.vm, state.search.sort);
}
</script>
<template>
<PageContainer>
<TableCurd
ref="refTableCurd"
:config="state"
@change="
(changeTable) => {
state.page = changeTable.pagination.current ?? 1;
state.size = changeTable.pagination.pageSize ?? state.size;
state.search.sort = changeTable.sorter instanceof Array ? [...changeTable.sorter] : [changeTable.sorter];
findList();
}
"
@show-size-change="
({ current, size }) => {
state.page = current == 0 ? 1 : current;
state.size = size;
findList();
}
"
>
<!-- search -->
<template #search>
<a-form ref="refSearchForm" :model="state.search.vm" v-if="power.search">
<a-row :gutter="[16, 0]">
<!--
<a-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6">
<a-form-item class="mb-0" name="name" label="名称">
<a-input v-model:value="state.search.vm.name" placeholder="名称" />
</a-form-item>
</a-col>
-->
<a-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6">
<a-form-item class="mb-0" name="tenantId" label="项目">
<hm-tenant-select v-model:value="state.search.vm.tenantId" :ShowAll="true" />
</a-form-item>
</a-col>
<!--button-->
<a-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6" class="text-right">
<a-space :size="8">
<a-button
@click="
state.page = 1;
refSearchForm?.resetFields();
findList();
"
>
重置
</a-button>
<a-button
type="primary"
@click="
state.page = 1;
findList();
"
>
查询
</a-button>
</a-space>
</a-col>
</a-row>
</a-form>
</template>
<!-- toolbar-left -->
<template #toolbar-left>
<a-button @click="state.search.state = !state.search.state" v-if="power.search">
<div v-if="state.search.state"><AppIcon name="UpOutlined" />&nbsp;&nbsp;收起</div>
<div v-else><AppIcon name="DownOutlined" />&nbsp;&nbsp;展开</div>
</a-button>
<a-button type="primary" @click="() => refInfo?.open()" v-if="power.insert">
<template #icon>
<AppIcon name="PlusOutlined" />
</template>
新建
</a-button>
<a-popconfirm title="您确定要删除?" @confirm="deleteList()" okText="确定" cancelText="取消" v-if="power.delete">
<a-button type="primary" danger>
<template #icon>
<AppIcon name="DeleteOutlined" />
</template>
批量删除
</a-button>
</a-popconfirm>
</template>
<!-- toolbar-right -->
<template #toolbar-right>
<a-dropdown>
<template #overlay>
<a-menu>
<a-menu-item key="1" @click="exportExcel()">导出 Excel</a-menu-item>
</a-menu>
</template>
<a-button> 更多 <AppIcon name="ellipsis-outlined" /> </a-button>
</a-dropdown>
<!-- 列设置 -->
<a-popover>
<template #content>
<div v-for="item in state.columns.filter((w:any) => w.fieldName.substr(0, 1) != '_')">
<a-checkbox v-model:checked="item.show">{{ item.title }}</a-checkbox>
</div>
</template>
<a-button type="text">
<template #icon><AppIcon name="setting-outlined" /> </template>
</a-button>
</a-popover>
</template>
<!-- table-col -->
<template #table-col>
<template v-for="item,index in state.columns.filter((w:any) => w.fieldName !== 'id' && w.show)" :key="item.fieldName">
<a-table-column :title="item.title" :data-index="item.fieldName" :sorter="item.sort ? { multiple: index + 1 } : false" />
</template>
<!-- 操作 -->
<a-table-column title="操作" data-index="id" v-if="power.update || power.delete" width="200px" fixed="right">
<template #default="{ record }">
<a href="javascript:;" @click="() => refInfo?.open(record.id)" v-if="power.update">编辑</a>
<a-divider type="vertical" />
<a-popconfirm title="您确定要删除?" @confirm="deleteList(record.id)" okText="确定" cancelText="取消" v-if="power.delete">
<a class="text-danger">删除</a>
</a-popconfirm>
</template>
</a-table-column>
</template>
</TableCurd>
<!-- Info -->
<Info ref="refInfo" :onSuccess="() => findList()" />
</PageContainer>
</template>

View File

@ -0,0 +1,137 @@
<script lang="ts" setup>
import { reactive, ref } from "vue";
import { FormInstance } from "ant-design-vue";
import Tools from "@/core/utils/Tools";
import T_OrderService from "@/services/apps/T_Orders/T_OrderService";
//
const props = defineProps<{ onSuccess: () => void }>();
const state = reactive({
vm: {
id: "",
form: {} as any,
},
visible: false,
loading: false,
});
//
const refForm = ref<FormInstance>();
//
defineExpose({
/**
* 打开表单初始化
* @param key
*/
open: (key: string = "") => {
state.visible = true;
if (state.visible) {
state.vm.id = key;
}
refForm.value?.resetFields();
//
state.loading = true;
T_OrderService.findForm(key).then((res) => {
state.loading = false;
if (res.code != 200) return;
state.vm = res.data;
});
},
});
/**
*保存数据
*/
function save() {
refForm.value?.validate().then(async () => {
try {
state.loading = true;
const result = await T_OrderService.saveForm(state.vm.id, state.vm.form);
state.loading = false;
if (result.code != 200) return;
Tools.message.success("操作成功!");
props.onSuccess();
state.visible = false;
} catch (error) {
state.loading = false;
}
});
}
</script>
<template>
<a-modal v-model:open="state.visible" :title="state.vm.id ? '编辑' : '新建'" centered @ok="state.visible = false" :width="800">
<template #footer>
<a-button type="primary" :loading="state.loading" @click="save()"> 提交</a-button>
<a-button @click="state.visible = false">关闭</a-button>
</template>
<a-spin :spinning="state.loading">
<a-form ref="refForm" layout="vertical" :model="state.vm.form">
<a-row :gutter="[16, 0]">
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<a-form-item label="项目" name="tenantId">
<hm-tenant-select v-model:value="state.vm.form.tenantId" />
</a-form-item>
</a-col>
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<a-form-item label="创建时间" name="createdAt" :rules="[{ required: true, message: '请输入', trigger: 'blur' }]">
<a-input v-model:value="state.vm.form.createdAt" placeholder="请输入" />
</a-form-item>
</a-col>
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<a-form-item label="订单创建时间" name="orderDate" :rules="[{ required: true, message: '请输入', trigger: 'blur' }]">
<a-input v-model:value="state.vm.form.orderDate" placeholder="请输入" />
</a-form-item>
</a-col>
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<a-form-item label="订单编号" name="orderId" :rules="[{ required: true, message: '请输入', trigger: 'blur' }]">
<a-input v-model:value="state.vm.form.orderId" placeholder="请输入" />
</a-form-item>
</a-col>
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<a-form-item label="订单支付时间" name="paymentDate" :rules="[{ required: true, message: '请输入', trigger: 'blur' }]">
<a-input v-model:value="state.vm.form.paymentDate" placeholder="请输入" />
</a-form-item>
</a-col>
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<a-form-item label="订单创建天" name="paymentDay" :rules="[{ required: true, message: '请输入', trigger: 'blur' }]">
<a-input v-model:value="state.vm.form.paymentDay" placeholder="请输入" />
</a-form-item>
</a-col>
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<a-form-item label="订单支付方式" name="paymentMethod" :rules="[{ required: true, message: '请输入', trigger: 'blur' }]">
<a-input v-model:value="state.vm.form.paymentMethod" placeholder="请输入" />
</a-form-item>
</a-col>
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<a-form-item label="购买的产品Id" name="productId" :rules="[{ required: true, message: '请输入', trigger: 'blur' }]">
<a-input v-model:value="state.vm.form.productId" placeholder="请输入" />
</a-form-item>
</a-col>
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<a-form-item label="订单状态" name="status" :rules="[{ required: true, message: '请输入', trigger: 'blur' }]">
<a-input v-model:value="state.vm.form.status" placeholder="请输入" />
</a-form-item>
</a-col>
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<a-form-item label="价格" name="totalPrice" :rules="[{ required: true, message: '请输入', trigger: 'blur' }]">
<a-input v-model:value="state.vm.form.totalPrice" placeholder="请输入" />
</a-form-item>
</a-col>
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<a-form-item label="修改时间" name="updatedAt" :rules="[{ required: true, message: '请输入', trigger: 'blur' }]">
<a-input v-model:value="state.vm.form.updatedAt" placeholder="请输入" />
</a-form-item>
</a-col>
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<a-form-item label="用户Id" name="userId" :rules="[{ required: true, message: '请输入', trigger: 'blur' }]">
<a-input v-model:value="state.vm.form.userId" placeholder="请输入" />
</a-form-item>
</a-col>
</a-row>
</a-form>
</a-spin>
</a-modal>
</template>

View File

@ -0,0 +1,232 @@
<script lang="ts" setup>
import { reactive, ref, onMounted } from "vue";
import { FormInstance } from "ant-design-vue";
import { useAuthority } from "@/utils/Authority";
import AppIcon from "@/core/components/AppIcon.vue";
import Info from "./Info.vue";
import Tools from "@/core/utils/Tools";
import PageContainer from "@/core/components/PageContainer.vue";
import TableCurd from "@/core/components/curd/TableCurd.vue";
import T_User_IntentOrderService from "@/services/apps/T_User_IntentOrders/T_User_IntentOrderService";
defineOptions({ name: "T_User_IntentOrderIndex" });
const state = reactive({
search: {
state: false,
vm: {
name: undefined,
},
sort: [] as any[],
},
loading: false,
page: 1,
size: 50,
total: 100,
columns: [] as any,
data: [] as any,
});
//
const power = useAuthority();
//
const refTableCurd = ref<InstanceType<typeof TableCurd>>();
//
const refInfo = ref<InstanceType<typeof Info>>();
//
const refSearchForm = ref<FormInstance>();
/**
* 初始化
*/
onMounted(() => {
findList();
});
/**
*获取数据
*/
async function findList() {
try{
state.loading = true;
let keys = Object.keys(state.search.vm);
keys.map(k => {
if (state.search.vm[k] == null || state.search.vm[k] == "") {
delete state.search.vm[k];
}
});
const result = await T_User_IntentOrderService.findList(state.page, state.size, state.search.vm, state.search.sort);
state.loading = false;
if (result.code != 200) return;
state.page = result.data.page;
state.size = result.data.size;
state.total = result.data.total;
state.columns = result.data.columns;
state.data = result.data.dataSource;
// state.visible = false;
} catch (error) {
state.loading = false;
}
}
/**
* 删除数据
* @param id
*/
async function deleteList(id?: string) {
let ids: string[] = [];
if (id) {
ids.push(id);
} else {
ids = refTableCurd.value?.getSelectedRowKeys() ?? [];
}
if (ids.length == 0) return Tools.message.error("请选择要删除的行!");
try{
state.loading = true;
const result = await T_User_IntentOrderService.deleteList(ids);
state.loading = false;
if (result.code != 200) return;
Tools.message.success("删除成功!");
findList();
} catch (error) {
state.loading = false;
}
}
/**
* 导出excel
*/
function exportExcel() {
T_User_IntentOrderService.exportExcel(state.search.vm, state.search.sort);
}
</script>
<template>
<PageContainer>
<TableCurd
ref="refTableCurd"
:config="state"
@change="
(changeTable) => {
state.page = changeTable.pagination.current ?? 1;
state.size = changeTable.pagination.pageSize ?? state.size;
state.search.sort = changeTable.sorter instanceof Array ? [...changeTable.sorter] : [changeTable.sorter];
findList();
}
"
@show-size-change="
({ current, size }) => {
state.page = current == 0 ? 1 : current;
state.size = size;
findList();
}
"
>
<!-- search -->
<template #search>
<a-form ref="refSearchForm" :model="state.search.vm" v-if="power.search">
<a-row :gutter="[16, 0]">
<!--
<a-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6">
<a-form-item class="mb-0" name="name" label="名称">
<a-input v-model:value="state.search.vm.name" placeholder="名称" />
</a-form-item>
</a-col>
-->
<a-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6">
<a-form-item class="mb-0" name="tenantId" label="项目">
<hm-tenant-select v-model:value="state.search.vm.tenantId" :ShowAll="true" />
</a-form-item>
</a-col>
<!--button-->
<a-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6" class="text-right">
<a-space :size="8">
<a-button
@click="
state.page = 1;
refSearchForm?.resetFields();
findList();
"
>
重置
</a-button>
<a-button
type="primary"
@click="
state.page = 1;
findList();
"
>
查询
</a-button>
</a-space>
</a-col>
</a-row>
</a-form>
</template>
<!-- toolbar-left -->
<template #toolbar-left>
<a-button @click="state.search.state = !state.search.state" v-if="power.search">
<div v-if="state.search.state"><AppIcon name="UpOutlined" />&nbsp;&nbsp;收起</div>
<div v-else><AppIcon name="DownOutlined" />&nbsp;&nbsp;展开</div>
</a-button>
<a-button type="primary" @click="() => refInfo?.open()" v-if="power.insert">
<template #icon>
<AppIcon name="PlusOutlined" />
</template>
新建
</a-button>
<a-popconfirm title="您确定要删除?" @confirm="deleteList()" okText="确定" cancelText="取消" v-if="power.delete">
<a-button type="primary" danger>
<template #icon>
<AppIcon name="DeleteOutlined" />
</template>
批量删除
</a-button>
</a-popconfirm>
</template>
<!-- toolbar-right -->
<template #toolbar-right>
<a-dropdown>
<template #overlay>
<a-menu>
<a-menu-item key="1" @click="exportExcel()">导出 Excel</a-menu-item>
</a-menu>
</template>
<a-button> 更多 <AppIcon name="ellipsis-outlined" /> </a-button>
</a-dropdown>
<!-- 列设置 -->
<a-popover>
<template #content>
<div v-for="item in state.columns.filter((w:any) => w.fieldName.substr(0, 1) != '_')">
<a-checkbox v-model:checked="item.show">{{ item.title }}</a-checkbox>
</div>
</template>
<a-button type="text">
<template #icon><AppIcon name="setting-outlined" /> </template>
</a-button>
</a-popover>
</template>
<!-- table-col -->
<template #table-col>
<template v-for="item,index in state.columns.filter((w:any) => w.fieldName !== 'id' && w.show)" :key="item.fieldName">
<a-table-column :title="item.title" :data-index="item.fieldName" :sorter="item.sort ? { multiple: index + 1 } : false" />
</template>
<!-- 操作 -->
<a-table-column title="操作" data-index="id" v-if="power.update || power.delete" width="200px" fixed="right">
<template #default="{ record }">
<a href="javascript:;" @click="() => refInfo?.open(record.id)" v-if="power.update">编辑</a>
<a-divider type="vertical" />
<a-popconfirm title="您确定要删除?" @confirm="deleteList(record.id)" okText="确定" cancelText="取消" v-if="power.delete">
<a class="text-danger">删除</a>
</a-popconfirm>
</template>
</a-table-column>
</template>
</TableCurd>
<!-- Info -->
<Info ref="refInfo" :onSuccess="() => findList()" />
</PageContainer>
</template>

View File

@ -0,0 +1,137 @@
<script lang="ts" setup>
import { reactive, ref } from "vue";
import { FormInstance } from "ant-design-vue";
import Tools from "@/core/utils/Tools";
import T_User_IntentOrderService from "@/services/apps/T_User_IntentOrders/T_User_IntentOrderService";
//
const props = defineProps<{ onSuccess: () => void }>();
const state = reactive({
vm: {
id: "",
form: {} as any,
},
visible: false,
loading: false,
});
//
const refForm = ref<FormInstance>();
//
defineExpose({
/**
* 打开表单初始化
* @param key
*/
open: (key: string = "") => {
state.visible = true;
if (state.visible) {
state.vm.id = key;
}
refForm.value?.resetFields();
//
state.loading = true;
T_User_IntentOrderService.findForm(key).then((res) => {
state.loading = false;
if (res.code != 200) return;
state.vm = res.data;
});
},
});
/**
*保存数据
*/
function save() {
refForm.value?.validate().then(async () => {
try {
state.loading = true;
const result = await T_User_IntentOrderService.saveForm(state.vm.id, state.vm.form);
state.loading = false;
if (result.code != 200) return;
Tools.message.success("操作成功!");
props.onSuccess();
state.visible = false;
} catch (error) {
state.loading = false;
}
});
}
</script>
<template>
<a-modal v-model:open="state.visible" :title="state.vm.id ? '编辑' : '新建'" centered @ok="state.visible = false" :width="800">
<template #footer>
<a-button type="primary" :loading="state.loading" @click="save()"> 提交</a-button>
<a-button @click="state.visible = false">关闭</a-button>
</template>
<a-spin :spinning="state.loading">
<a-form ref="refForm" layout="vertical" :model="state.vm.form">
<a-row :gutter="[16, 0]">
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<a-form-item label="项目" name="tenantId">
<hm-tenant-select v-model:value="state.vm.form.tenantId" />
</a-form-item>
</a-col>
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<a-form-item label="创建时间" name="createdAt" :rules="[{ required: true, message: '请输入', trigger: 'blur' }]">
<a-input v-model:value="state.vm.form.createdAt" placeholder="请输入" />
</a-form-item>
</a-col>
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<a-form-item label="订单创建时间" name="intentDate" :rules="[{ required: true, message: '请输入', trigger: 'blur' }]">
<a-input v-model:value="state.vm.form.intentDate" placeholder="请输入" />
</a-form-item>
</a-col>
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<a-form-item label="支付方式" name="method" :rules="[{ required: true, message: '请输入', trigger: 'blur' }]">
<a-input v-model:value="state.vm.form.method" placeholder="请输入" />
</a-form-item>
</a-col>
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<a-form-item label="备注" name="notes" :rules="[{ required: true, message: '请输入', trigger: 'blur' }]">
<a-input v-model:value="state.vm.form.notes" placeholder="请输入" />
</a-form-item>
</a-col>
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<a-form-item label="订单Id" name="orderId" :rules="[{ required: true, message: '请输入', trigger: 'blur' }]">
<a-input v-model:value="state.vm.form.orderId" placeholder="请输入" />
</a-form-item>
</a-col>
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<a-form-item label="价格" name="price" :rules="[{ required: true, message: '请输入', trigger: 'blur' }]">
<a-input v-model:value="state.vm.form.price" placeholder="请输入" />
</a-form-item>
</a-col>
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<a-form-item label="产品id" name="productId" :rules="[{ required: true, message: '请输入', trigger: 'blur' }]">
<a-input v-model:value="state.vm.form.productId" placeholder="请输入" />
</a-form-item>
</a-col>
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<a-form-item label="数量" name="quantity" :rules="[{ required: true, message: '请输入', trigger: 'blur' }]">
<a-input v-model:value="state.vm.form.quantity" placeholder="请输入" />
</a-form-item>
</a-col>
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<a-form-item label="状态" name="status" :rules="[{ required: true, message: '请输入', trigger: 'blur' }]">
<a-input v-model:value="state.vm.form.status" placeholder="请输入" />
</a-form-item>
</a-col>
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<a-form-item label="修改时间" name="updatedAt" :rules="[{ required: true, message: '请输入', trigger: 'blur' }]">
<a-input v-model:value="state.vm.form.updatedAt" placeholder="请输入" />
</a-form-item>
</a-col>
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<a-form-item label="用户Id" name="userId" :rules="[{ required: true, message: '请输入', trigger: 'blur' }]">
<a-input v-model:value="state.vm.form.userId" placeholder="请输入" />
</a-form-item>
</a-col>
</a-row>
</a-form>
</a-spin>
</a-modal>
</template>

View File

@ -0,0 +1,109 @@
using MiaoYu.Repository.ChatAI.Admin.Entities.Apps;
namespace MiaoYu.Api.Admin.ApplicationServices.Apps;
/// <summary>
/// 存储不同音乐风格的信息。 服务 M_MusicGenresService
/// </summary>
public class M_MusicGenresService : ApplicationService<IRepository<M_MusicGenres>>
{
public M_MusicGenresService(IRepository<M_MusicGenres> defaultRepository)
: base(defaultRepository)
{
}
/// <summary>
/// 获取列表数据
/// </summary>
/// <param name="pagingSearchInput"></param>
/// <returns></returns>
public async Task<PagingView> FindListAsync(PagingSearchInput<M_MusicGenres> pagingSearchInput)
{
var query = this._defaultRepository.Select
//项目
.WhereIf(pagingSearchInput.Search?.TenantId!=null,
w => w.TenantId==pagingSearchInput.Search.TenantId)
.OrderByDescending(w => w.Id)
.Select(w => new
{
w.Id,
w.GenreName,w.Description,w.TenantId,w.OrderId,w.IsEnabled,
// w.LastModificationTime,
// w.CreationTime
})
;
var result = await _defaultRepository.AsPagingViewAsync(query, pagingSearchInput);
// result
// .FormatValue(query, w => w.CreationTime, (oldValue) => oldValue.ToString("yyyy-MM-dd"))
// .FormatValue(query, w => w.LastModificationTime, (oldValue) => oldValue?.ToString("yyyy-MM-dd"))
// ;
// 设置列
//result.GetColumn(query, w => w.OperatorName).SetColumn("操作人");
//result.GetColumn(query, w => w.OperatorName!).SetColumn<SysUser>(w => w.Name!);
return result;
}
/// <summary>
/// 根据id数组删除
/// </summary>
/// <param name="ids">ids</param>
/// <returns></returns>
public async Task DeleteListAsync(List<int> ids)
{
await this._defaultRepository.DeleteByIdsAsync(ids);
}
/// <summary>
/// 查询表单数据
/// </summary>
/// <param name="id">id</param>
/// <returns></returns>
public async Task<Dictionary<string,object>> FindFormAsync(int id)
{
var res = new Dictionary<string, object>();
var form = await this._defaultRepository.FindByIdAsync(id);
form = form.NullSafe();
//if (form.CreateTime == null || form.CreateTime == DateTime.MinValue)
//{
// form.CreateTime = DateTime.Now;
//}
//if (form.UpdateTime == null || form.UpdateTime == DateTime.MinValue)
//{
// form.UpdateTime = DateTime.Now;
//}
res[nameof(id)] = id;
res[nameof(form)] = form;
return res;
}
/// <summary>
/// 保存数据
/// </summary>
/// <param name="form">form</param>
/// <returns></returns>
public Task SaveFormAsync(M_MusicGenres form)
{
return this._defaultRepository.InsertOrUpdateAsync(form);
}
/// <summary>
/// 导出Excel
/// </summary>
/// <param name="pagingSearchInput"></param>
/// <returns></returns>
public async Task<byte[]> ExportExcelAsync(PagingSearchInput<M_MusicGenres> pagingSearchInput)
{
pagingSearchInput.Page = -1;
var tableViewModel = await this.FindListAsync(pagingSearchInput);
return ExcelUtil.ExportExcelByPagingView(tableViewModel, null, "Id");
}
}

View File

@ -0,0 +1,109 @@
using MiaoYu.Repository.ChatAI.Admin.Entities.Apps;
namespace MiaoYu.Api.Admin.ApplicationServices.Apps;
/// <summary>
/// 订单详情表 服务 T_OrderItemsService
/// </summary>
public class T_OrderItemsService : ApplicationService<IRepository<T_OrderItems>>
{
public T_OrderItemsService(IRepository<T_OrderItems> defaultRepository)
: base(defaultRepository)
{
}
/// <summary>
/// 获取列表数据
/// </summary>
/// <param name="pagingSearchInput"></param>
/// <returns></returns>
public async Task<PagingView> FindListAsync(PagingSearchInput<T_OrderItems> pagingSearchInput)
{
var query = this._defaultRepository.Select
//项目
.WhereIf(pagingSearchInput.Search?.TenantId!=null,
w => w.TenantId==pagingSearchInput.Search.TenantId)
.OrderByDescending(w => w.Id)
.Select(w => new
{
w.Id,
w.TenantId,w.ProductId,w.OrderId,w.RewardInfo,w.Product,w.PaymentInfo,w.RewardTips,w.PayUrl,
// w.LastModificationTime,
// w.CreationTime
})
;
var result = await _defaultRepository.AsPagingViewAsync(query, pagingSearchInput);
// result
// .FormatValue(query, w => w.CreationTime, (oldValue) => oldValue.ToString("yyyy-MM-dd"))
// .FormatValue(query, w => w.LastModificationTime, (oldValue) => oldValue?.ToString("yyyy-MM-dd"))
// ;
// 设置列
//result.GetColumn(query, w => w.OperatorName).SetColumn("操作人");
//result.GetColumn(query, w => w.OperatorName!).SetColumn<SysUser>(w => w.Name!);
return result;
}
/// <summary>
/// 根据id数组删除
/// </summary>
/// <param name="ids">ids</param>
/// <returns></returns>
public async Task DeleteListAsync(List<int> ids)
{
await this._defaultRepository.DeleteByIdsAsync(ids);
}
/// <summary>
/// 查询表单数据
/// </summary>
/// <param name="id">id</param>
/// <returns></returns>
public async Task<Dictionary<string,object>> FindFormAsync(int id)
{
var res = new Dictionary<string, object>();
var form = await this._defaultRepository.FindByIdAsync(id);
form = form.NullSafe();
//if (form.CreateTime == null || form.CreateTime == DateTime.MinValue)
//{
// form.CreateTime = DateTime.Now;
//}
//if (form.UpdateTime == null || form.UpdateTime == DateTime.MinValue)
//{
// form.UpdateTime = DateTime.Now;
//}
res[nameof(id)] = id;
res[nameof(form)] = form;
return res;
}
/// <summary>
/// 保存数据
/// </summary>
/// <param name="form">form</param>
/// <returns></returns>
public Task SaveFormAsync(T_OrderItems form)
{
return this._defaultRepository.InsertOrUpdateAsync(form);
}
/// <summary>
/// 导出Excel
/// </summary>
/// <param name="pagingSearchInput"></param>
/// <returns></returns>
public async Task<byte[]> ExportExcelAsync(PagingSearchInput<T_OrderItems> pagingSearchInput)
{
pagingSearchInput.Page = -1;
var tableViewModel = await this.FindListAsync(pagingSearchInput);
return ExcelUtil.ExportExcelByPagingView(tableViewModel, null, "Id");
}
}

View File

@ -0,0 +1,109 @@
using MiaoYu.Repository.ChatAI.Admin.Entities.Apps;
namespace MiaoYu.Api.Admin.ApplicationServices.Apps;
/// <summary>
/// 订单完成表 服务 T_OrderService
/// </summary>
public class T_OrderService : ApplicationService<IRepository<T_Order>>
{
public T_OrderService(IRepository<T_Order> defaultRepository)
: base(defaultRepository)
{
}
/// <summary>
/// 获取列表数据
/// </summary>
/// <param name="pagingSearchInput"></param>
/// <returns></returns>
public async Task<PagingView> FindListAsync(PagingSearchInput<T_Order> pagingSearchInput)
{
var query = this._defaultRepository.Select
//项目
.WhereIf(pagingSearchInput.Search?.TenantId!=null,
w => w.TenantId==pagingSearchInput.Search.TenantId)
.OrderByDescending(w => w.Id)
.Select(w => new
{
w.Id,
w.TenantId,w.OrderId,w.UserId,w.OrderDate,w.PaymentDate,w.PaymentMethod,w.ProductId,w.TotalPrice,w.Status,w.CreatedAt,w.UpdatedAt,w.PaymentDay,
// w.LastModificationTime,
// w.CreationTime
})
;
var result = await _defaultRepository.AsPagingViewAsync(query, pagingSearchInput);
// result
// .FormatValue(query, w => w.CreationTime, (oldValue) => oldValue.ToString("yyyy-MM-dd"))
// .FormatValue(query, w => w.LastModificationTime, (oldValue) => oldValue?.ToString("yyyy-MM-dd"))
// ;
// 设置列
//result.GetColumn(query, w => w.OperatorName).SetColumn("操作人");
//result.GetColumn(query, w => w.OperatorName!).SetColumn<SysUser>(w => w.Name!);
return result;
}
/// <summary>
/// 根据id数组删除
/// </summary>
/// <param name="ids">ids</param>
/// <returns></returns>
public async Task DeleteListAsync(List<int> ids)
{
await this._defaultRepository.DeleteByIdsAsync(ids);
}
/// <summary>
/// 查询表单数据
/// </summary>
/// <param name="id">id</param>
/// <returns></returns>
public async Task<Dictionary<string,object>> FindFormAsync(int id)
{
var res = new Dictionary<string, object>();
var form = await this._defaultRepository.FindByIdAsync(id);
form = form.NullSafe();
//if (form.CreateTime == null || form.CreateTime == DateTime.MinValue)
//{
// form.CreateTime = DateTime.Now;
//}
//if (form.UpdateTime == null || form.UpdateTime == DateTime.MinValue)
//{
// form.UpdateTime = DateTime.Now;
//}
res[nameof(id)] = id;
res[nameof(form)] = form;
return res;
}
/// <summary>
/// 保存数据
/// </summary>
/// <param name="form">form</param>
/// <returns></returns>
public Task SaveFormAsync(T_Order form)
{
return this._defaultRepository.InsertOrUpdateAsync(form);
}
/// <summary>
/// 导出Excel
/// </summary>
/// <param name="pagingSearchInput"></param>
/// <returns></returns>
public async Task<byte[]> ExportExcelAsync(PagingSearchInput<T_Order> pagingSearchInput)
{
pagingSearchInput.Page = -1;
var tableViewModel = await this.FindListAsync(pagingSearchInput);
return ExcelUtil.ExportExcelByPagingView(tableViewModel, null, "Id");
}
}

View File

@ -0,0 +1,109 @@
using MiaoYu.Repository.ChatAI.Admin.Entities.Apps;
namespace MiaoYu.Api.Admin.ApplicationServices.Apps;
/// <summary>
/// 意向订单表 服务 T_User_IntentOrderService
/// </summary>
public class T_User_IntentOrderService : ApplicationService<IRepository<T_User_IntentOrder>>
{
public T_User_IntentOrderService(IRepository<T_User_IntentOrder> defaultRepository)
: base(defaultRepository)
{
}
/// <summary>
/// 获取列表数据
/// </summary>
/// <param name="pagingSearchInput"></param>
/// <returns></returns>
public async Task<PagingView> FindListAsync(PagingSearchInput<T_User_IntentOrder> pagingSearchInput)
{
var query = this._defaultRepository.Select
//项目
.WhereIf(pagingSearchInput.Search?.TenantId!=null,
w => w.TenantId==pagingSearchInput.Search.TenantId)
.OrderByDescending(w => w.Id)
.Select(w => new
{
w.Id,
w.UserId,w.ProductId,w.Method,w.Price,w.Quantity,w.Status,w.Notes,w.IntentDate,w.CreatedAt,w.UpdatedAt,w.TenantId,w.OrderId,
// w.LastModificationTime,
// w.CreationTime
})
;
var result = await _defaultRepository.AsPagingViewAsync(query, pagingSearchInput);
// result
// .FormatValue(query, w => w.CreationTime, (oldValue) => oldValue.ToString("yyyy-MM-dd"))
// .FormatValue(query, w => w.LastModificationTime, (oldValue) => oldValue?.ToString("yyyy-MM-dd"))
// ;
// 设置列
//result.GetColumn(query, w => w.OperatorName).SetColumn("操作人");
//result.GetColumn(query, w => w.OperatorName!).SetColumn<SysUser>(w => w.Name!);
return result;
}
/// <summary>
/// 根据id数组删除
/// </summary>
/// <param name="ids">ids</param>
/// <returns></returns>
public async Task DeleteListAsync(List<int> ids)
{
await this._defaultRepository.DeleteByIdsAsync(ids);
}
/// <summary>
/// 查询表单数据
/// </summary>
/// <param name="id">id</param>
/// <returns></returns>
public async Task<Dictionary<string,object>> FindFormAsync(int id)
{
var res = new Dictionary<string, object>();
var form = await this._defaultRepository.FindByIdAsync(id);
form = form.NullSafe();
//if (form.CreateTime == null || form.CreateTime == DateTime.MinValue)
//{
// form.CreateTime = DateTime.Now;
//}
//if (form.UpdateTime == null || form.UpdateTime == DateTime.MinValue)
//{
// form.UpdateTime = DateTime.Now;
//}
res[nameof(id)] = id;
res[nameof(form)] = form;
return res;
}
/// <summary>
/// 保存数据
/// </summary>
/// <param name="form">form</param>
/// <returns></returns>
public Task SaveFormAsync(T_User_IntentOrder form)
{
return this._defaultRepository.InsertOrUpdateAsync(form);
}
/// <summary>
/// 导出Excel
/// </summary>
/// <param name="pagingSearchInput"></param>
/// <returns></returns>
public async Task<byte[]> ExportExcelAsync(PagingSearchInput<T_User_IntentOrder> pagingSearchInput)
{
pagingSearchInput.Page = -1;
var tableViewModel = await this.FindListAsync(pagingSearchInput);
return ExcelUtil.ExportExcelByPagingView(tableViewModel, null, "Id");
}
}

View File

@ -521,7 +521,7 @@ public class CodeGenerationService : ICodeGenerationService
private string FindCodeFileClassName(GenFormDto genFormDto)
{
var tableName = genFormDto.TableName.ToLineConvertHump();
if (genFormDto.TableName.Contains("T_"))
if (genFormDto.TableName.Contains("T_")|| genFormDto.TableName.Contains("M_"))
{
tableName = genFormDto.TableName;
}

View File

@ -125,7 +125,7 @@ public class LowCodeTableInfoService : ApplicationService<IRepository<LowCodeTab
}
else
{
await _defaultRepository.DeleteAsync(w => w.Low_Code_TableId == table.Id);
foreach (var item in tableInfo.Columns)
{
@ -147,10 +147,20 @@ public class LowCodeTableInfoService : ApplicationService<IRepository<LowCodeTab
model.Describe = item.Comment;
model.DisplayName = item.Comment;
}
var oldColumns = tableColumns.FirstOrDefault(w => w.ColumnName == item.Name);
if (oldColumns!=null)
{
model.OrderById = oldColumns.OrderById;
model.Describe = oldColumns.Describe;
model.IsImageId = oldColumns.IsImageId;
model.IsTableColumnShow = oldColumns.IsTableColumnShow;
model.IsTableSelect = oldColumns.IsTableSelect;
model.Width = oldColumns.Width;
};
list.Add(model);
}
}
await _defaultRepository.DeleteAsync(w => w.Low_Code_TableId == table.Id);
await _defaultRepository.InsertRangeAsync(list);
_databaseTableService.ClearAllTablesByCache();

View File

@ -0,0 +1,100 @@
using MiaoYu.Api.Admin.ApplicationServices.Apps;
using MiaoYu.Repository.ChatAI.Admin.Entities.Apps;
namespace MiaoYu.Api.Admin.Controllers.Apps;
/// <summary>
/// 存储不同音乐风格的信息。 控制器
/// </summary>
[ControllerDescriptor(MenuId = "请设置菜单Id 系统菜单表中查找,如果不设置不受权限保护!", DisplayName = "存储不同音乐风格的信息。")]
public class M_MusicGenresController : AdminControllerBase<M_MusicGenresService>
{
public M_MusicGenresController(M_MusicGenresService defaultService)
: base(defaultService)
{
}
/// <summary>
/// 获取列表
/// </summary>
/// <param name="pagingSearchInput"></param>
/// <returns></returns>
[ActionDescriptor(PermissionFunctionConsts.Function_Display, DisplayName = "查看数据")]
[HttpPost]
public Task<PagingView> FindListAsync([FromBody] PagingSearchInput<M_MusicGenres> pagingSearchInput)
{
return this._defaultService.FindListAsync(pagingSearchInput);
}
/// <summary>
/// 根据id数组删除
/// </summary>
/// <param name="ids">ids</param>
/// <returns></returns>
[ActionDescriptor(PermissionFunctionConsts.Function_Delete, DisplayName = "删除数据")]
[HttpPost]
public async Task<bool> DeleteListAsync([FromBody] List<int> ids)
{
await this._defaultService.DeleteListAsync(ids);
return true;
}
/// <summary>
/// 查询表单数据
/// </summary>
/// <param name="id">id</param>
/// <returns></returns>
[ActionDescriptor(DisplayName = "查看表单")]
[HttpGet("{id?}")]
public Task<Dictionary<string, object>> FindFormAsync([FromRoute] int id)
{
return this._defaultService.FindFormAsync(id);
}
/// <summary>
/// 添加
/// </summary>
/// <param name="form"></param>
/// <returns></returns>
[RequestLimitFilter(Duration = 1, LimitCount = 1)]
[ActionDescriptor(PermissionFunctionConsts.Function_Insert, DisplayName = "创建表单")]
[HttpPost]
[ApiCheckModel]
public Task CreateAsync([FromBody] M_MusicGenres form)
{
return this._defaultService.SaveFormAsync(form);
}
/// <summary>
/// 编辑
/// </summary>
/// <param name="form"></param>
/// <returns></returns>
[RequestLimitFilter(Duration = 1, LimitCount = 1)]
[ActionDescriptor(PermissionFunctionConsts.Function_Update, DisplayName = "编辑表单")]
[HttpPost]
[ApiCheckModel]
public Task UpdateAsync([FromBody] M_MusicGenres form)
{
return this._defaultService.SaveFormAsync(form);
}
/// <summary>
/// 导出Excel
/// </summary>
/// <param name="pagingSearchInput"></param>
/// <returns></returns>
[ActionDescriptor(PermissionFunctionConsts.Function_Export, DisplayName = "导出数据")]
[ApiResourceCacheFilter(10)]
[HttpPost]
public async Task ExportExcelAsync([FromBody] PagingSearchInput<M_MusicGenres> pagingSearchInput)
{
var data = await this._defaultService.ExportExcelAsync(pagingSearchInput);
var name = $"{PermissionUtil.GetControllerDisplayName(this.GetType())}列表数据 {DateTime.Now.ToString("yyyy-MM-dd")}.xls";
base.HttpContext.DownLoadFile(data, Tools.GetFileContentType[".xls"].ToStr(), name);
}
}

View File

@ -0,0 +1,100 @@
using MiaoYu.Api.Admin.ApplicationServices.Apps;
using MiaoYu.Repository.ChatAI.Admin.Entities.Apps;
namespace MiaoYu.Api.Admin.Controllers.Apps;
/// <summary>
/// 订单完成表 控制器
/// </summary>
[ControllerDescriptor(MenuId = "请设置菜单Id 系统菜单表中查找,如果不设置不受权限保护!", DisplayName = "订单完成表")]
public class T_OrderController : AdminControllerBase<T_OrderService>
{
public T_OrderController(T_OrderService defaultService)
: base(defaultService)
{
}
/// <summary>
/// 获取列表
/// </summary>
/// <param name="pagingSearchInput"></param>
/// <returns></returns>
[ActionDescriptor(PermissionFunctionConsts.Function_Display, DisplayName = "查看数据")]
[HttpPost]
public Task<PagingView> FindListAsync([FromBody] PagingSearchInput<T_Order> pagingSearchInput)
{
return this._defaultService.FindListAsync(pagingSearchInput);
}
/// <summary>
/// 根据id数组删除
/// </summary>
/// <param name="ids">ids</param>
/// <returns></returns>
[ActionDescriptor(PermissionFunctionConsts.Function_Delete, DisplayName = "删除数据")]
[HttpPost]
public async Task<bool> DeleteListAsync([FromBody] List<int> ids)
{
await this._defaultService.DeleteListAsync(ids);
return true;
}
/// <summary>
/// 查询表单数据
/// </summary>
/// <param name="id">id</param>
/// <returns></returns>
[ActionDescriptor(DisplayName = "查看表单")]
[HttpGet("{id?}")]
public Task<Dictionary<string, object>> FindFormAsync([FromRoute] int id)
{
return this._defaultService.FindFormAsync(id);
}
/// <summary>
/// 添加
/// </summary>
/// <param name="form"></param>
/// <returns></returns>
[RequestLimitFilter(Duration = 1, LimitCount = 1)]
[ActionDescriptor(PermissionFunctionConsts.Function_Insert, DisplayName = "创建表单")]
[HttpPost]
[ApiCheckModel]
public Task CreateAsync([FromBody] T_Order form)
{
return this._defaultService.SaveFormAsync(form);
}
/// <summary>
/// 编辑
/// </summary>
/// <param name="form"></param>
/// <returns></returns>
[RequestLimitFilter(Duration = 1, LimitCount = 1)]
[ActionDescriptor(PermissionFunctionConsts.Function_Update, DisplayName = "编辑表单")]
[HttpPost]
[ApiCheckModel]
public Task UpdateAsync([FromBody] T_Order form)
{
return this._defaultService.SaveFormAsync(form);
}
/// <summary>
/// 导出Excel
/// </summary>
/// <param name="pagingSearchInput"></param>
/// <returns></returns>
[ActionDescriptor(PermissionFunctionConsts.Function_Export, DisplayName = "导出数据")]
[ApiResourceCacheFilter(10)]
[HttpPost]
public async Task ExportExcelAsync([FromBody] PagingSearchInput<T_Order> pagingSearchInput)
{
var data = await this._defaultService.ExportExcelAsync(pagingSearchInput);
var name = $"{PermissionUtil.GetControllerDisplayName(this.GetType())}列表数据 {DateTime.Now.ToString("yyyy-MM-dd")}.xls";
base.HttpContext.DownLoadFile(data, Tools.GetFileContentType[".xls"].ToStr(), name);
}
}

View File

@ -0,0 +1,100 @@
using MiaoYu.Api.Admin.ApplicationServices.Apps;
using MiaoYu.Repository.ChatAI.Admin.Entities.Apps;
namespace MiaoYu.Api.Admin.Controllers.Apps;
/// <summary>
/// 订单详情表 控制器
/// </summary>
[ControllerDescriptor(MenuId = "请设置菜单Id 系统菜单表中查找,如果不设置不受权限保护!", DisplayName = "订单详情表")]
public class T_OrderItemsController : AdminControllerBase<T_OrderItemsService>
{
public T_OrderItemsController(T_OrderItemsService defaultService)
: base(defaultService)
{
}
/// <summary>
/// 获取列表
/// </summary>
/// <param name="pagingSearchInput"></param>
/// <returns></returns>
[ActionDescriptor(PermissionFunctionConsts.Function_Display, DisplayName = "查看数据")]
[HttpPost]
public Task<PagingView> FindListAsync([FromBody] PagingSearchInput<T_OrderItems> pagingSearchInput)
{
return this._defaultService.FindListAsync(pagingSearchInput);
}
/// <summary>
/// 根据id数组删除
/// </summary>
/// <param name="ids">ids</param>
/// <returns></returns>
[ActionDescriptor(PermissionFunctionConsts.Function_Delete, DisplayName = "删除数据")]
[HttpPost]
public async Task<bool> DeleteListAsync([FromBody] List<int> ids)
{
await this._defaultService.DeleteListAsync(ids);
return true;
}
/// <summary>
/// 查询表单数据
/// </summary>
/// <param name="id">id</param>
/// <returns></returns>
[ActionDescriptor(DisplayName = "查看表单")]
[HttpGet("{id?}")]
public Task<Dictionary<string, object>> FindFormAsync([FromRoute] int id)
{
return this._defaultService.FindFormAsync(id);
}
/// <summary>
/// 添加
/// </summary>
/// <param name="form"></param>
/// <returns></returns>
[RequestLimitFilter(Duration = 1, LimitCount = 1)]
[ActionDescriptor(PermissionFunctionConsts.Function_Insert, DisplayName = "创建表单")]
[HttpPost]
[ApiCheckModel]
public Task CreateAsync([FromBody] T_OrderItems form)
{
return this._defaultService.SaveFormAsync(form);
}
/// <summary>
/// 编辑
/// </summary>
/// <param name="form"></param>
/// <returns></returns>
[RequestLimitFilter(Duration = 1, LimitCount = 1)]
[ActionDescriptor(PermissionFunctionConsts.Function_Update, DisplayName = "编辑表单")]
[HttpPost]
[ApiCheckModel]
public Task UpdateAsync([FromBody] T_OrderItems form)
{
return this._defaultService.SaveFormAsync(form);
}
/// <summary>
/// 导出Excel
/// </summary>
/// <param name="pagingSearchInput"></param>
/// <returns></returns>
[ActionDescriptor(PermissionFunctionConsts.Function_Export, DisplayName = "导出数据")]
[ApiResourceCacheFilter(10)]
[HttpPost]
public async Task ExportExcelAsync([FromBody] PagingSearchInput<T_OrderItems> pagingSearchInput)
{
var data = await this._defaultService.ExportExcelAsync(pagingSearchInput);
var name = $"{PermissionUtil.GetControllerDisplayName(this.GetType())}列表数据 {DateTime.Now.ToString("yyyy-MM-dd")}.xls";
base.HttpContext.DownLoadFile(data, Tools.GetFileContentType[".xls"].ToStr(), name);
}
}

View File

@ -0,0 +1,100 @@
using MiaoYu.Api.Admin.ApplicationServices.Apps;
using MiaoYu.Repository.ChatAI.Admin.Entities.Apps;
namespace MiaoYu.Api.Admin.Controllers.Apps;
/// <summary>
/// 意向订单表 控制器
/// </summary>
[ControllerDescriptor(MenuId = "请设置菜单Id 系统菜单表中查找,如果不设置不受权限保护!", DisplayName = "意向订单表")]
public class T_User_IntentOrderController : AdminControllerBase<T_User_IntentOrderService>
{
public T_User_IntentOrderController(T_User_IntentOrderService defaultService)
: base(defaultService)
{
}
/// <summary>
/// 获取列表
/// </summary>
/// <param name="pagingSearchInput"></param>
/// <returns></returns>
[ActionDescriptor(PermissionFunctionConsts.Function_Display, DisplayName = "查看数据")]
[HttpPost]
public Task<PagingView> FindListAsync([FromBody] PagingSearchInput<T_User_IntentOrder> pagingSearchInput)
{
return this._defaultService.FindListAsync(pagingSearchInput);
}
/// <summary>
/// 根据id数组删除
/// </summary>
/// <param name="ids">ids</param>
/// <returns></returns>
[ActionDescriptor(PermissionFunctionConsts.Function_Delete, DisplayName = "删除数据")]
[HttpPost]
public async Task<bool> DeleteListAsync([FromBody] List<int> ids)
{
await this._defaultService.DeleteListAsync(ids);
return true;
}
/// <summary>
/// 查询表单数据
/// </summary>
/// <param name="id">id</param>
/// <returns></returns>
[ActionDescriptor(DisplayName = "查看表单")]
[HttpGet("{id?}")]
public Task<Dictionary<string, object>> FindFormAsync([FromRoute] int id)
{
return this._defaultService.FindFormAsync(id);
}
/// <summary>
/// 添加
/// </summary>
/// <param name="form"></param>
/// <returns></returns>
[RequestLimitFilter(Duration = 1, LimitCount = 1)]
[ActionDescriptor(PermissionFunctionConsts.Function_Insert, DisplayName = "创建表单")]
[HttpPost]
[ApiCheckModel]
public Task CreateAsync([FromBody] T_User_IntentOrder form)
{
return this._defaultService.SaveFormAsync(form);
}
/// <summary>
/// 编辑
/// </summary>
/// <param name="form"></param>
/// <returns></returns>
[RequestLimitFilter(Duration = 1, LimitCount = 1)]
[ActionDescriptor(PermissionFunctionConsts.Function_Update, DisplayName = "编辑表单")]
[HttpPost]
[ApiCheckModel]
public Task UpdateAsync([FromBody] T_User_IntentOrder form)
{
return this._defaultService.SaveFormAsync(form);
}
/// <summary>
/// 导出Excel
/// </summary>
/// <param name="pagingSearchInput"></param>
/// <returns></returns>
[ActionDescriptor(PermissionFunctionConsts.Function_Export, DisplayName = "导出数据")]
[ApiResourceCacheFilter(10)]
[HttpPost]
public async Task ExportExcelAsync([FromBody] PagingSearchInput<T_User_IntentOrder> pagingSearchInput)
{
var data = await this._defaultService.ExportExcelAsync(pagingSearchInput);
var name = $"{PermissionUtil.GetControllerDisplayName(this.GetType())}列表数据 {DateTime.Now.ToString("yyyy-MM-dd")}.xls";
base.HttpContext.DownLoadFile(data, Tools.GetFileContentType[".xls"].ToStr(), name);
}
}

View File

@ -129,6 +129,46 @@
<param name="id"></param>
<returns></returns>
</member>
<member name="T:MiaoYu.Api.Admin.ApplicationServices.Apps.M_MusicGenresService">
<summary>
存储不同音乐风格的信息。 服务 M_MusicGenresService
</summary>
</member>
<member name="M:MiaoYu.Api.Admin.ApplicationServices.Apps.M_MusicGenresService.FindListAsync(MiaoYu.Shared.Admin.Models.PagingViews.PagingSearchInput{MiaoYu.Repository.ChatAI.Admin.Entities.Apps.M_MusicGenres})">
<summary>
获取列表数据
</summary>
<param name="pagingSearchInput"></param>
<returns></returns>
</member>
<member name="M:MiaoYu.Api.Admin.ApplicationServices.Apps.M_MusicGenresService.DeleteListAsync(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.M_MusicGenresService.FindFormAsync(System.Int32)">
<summary>
查询表单数据
</summary>
<param name="id">id</param>
<returns></returns>
</member>
<member name="M:MiaoYu.Api.Admin.ApplicationServices.Apps.M_MusicGenresService.SaveFormAsync(MiaoYu.Repository.ChatAI.Admin.Entities.Apps.M_MusicGenres)">
<summary>
保存数据
</summary>
<param name="form">form</param>
<returns></returns>
</member>
<member name="M:MiaoYu.Api.Admin.ApplicationServices.Apps.M_MusicGenresService.ExportExcelAsync(MiaoYu.Shared.Admin.Models.PagingViews.PagingSearchInput{MiaoYu.Repository.ChatAI.Admin.Entities.Apps.M_MusicGenres})">
<summary>
导出Excel
</summary>
<param name="pagingSearchInput"></param>
<returns></returns>
</member>
<member name="T:MiaoYu.Api.Admin.ApplicationServices.Apps.TImageConfigService">
<summary>
图片表 服务 TImageConfigService
@ -663,6 +703,86 @@
<param name="pagingSearchInput"></param>
<returns></returns>
</member>
<member name="T:MiaoYu.Api.Admin.ApplicationServices.Apps.T_OrderItemsService">
<summary>
订单详情表 服务 T_OrderItemsService
</summary>
</member>
<member name="M:MiaoYu.Api.Admin.ApplicationServices.Apps.T_OrderItemsService.FindListAsync(MiaoYu.Shared.Admin.Models.PagingViews.PagingSearchInput{MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_OrderItems})">
<summary>
获取列表数据
</summary>
<param name="pagingSearchInput"></param>
<returns></returns>
</member>
<member name="M:MiaoYu.Api.Admin.ApplicationServices.Apps.T_OrderItemsService.DeleteListAsync(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_OrderItemsService.FindFormAsync(System.Int32)">
<summary>
查询表单数据
</summary>
<param name="id">id</param>
<returns></returns>
</member>
<member name="M:MiaoYu.Api.Admin.ApplicationServices.Apps.T_OrderItemsService.SaveFormAsync(MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_OrderItems)">
<summary>
保存数据
</summary>
<param name="form">form</param>
<returns></returns>
</member>
<member name="M:MiaoYu.Api.Admin.ApplicationServices.Apps.T_OrderItemsService.ExportExcelAsync(MiaoYu.Shared.Admin.Models.PagingViews.PagingSearchInput{MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_OrderItems})">
<summary>
导出Excel
</summary>
<param name="pagingSearchInput"></param>
<returns></returns>
</member>
<member name="T:MiaoYu.Api.Admin.ApplicationServices.Apps.T_OrderService">
<summary>
订单完成表 服务 T_OrderService
</summary>
</member>
<member name="M:MiaoYu.Api.Admin.ApplicationServices.Apps.T_OrderService.FindListAsync(MiaoYu.Shared.Admin.Models.PagingViews.PagingSearchInput{MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_Order})">
<summary>
获取列表数据
</summary>
<param name="pagingSearchInput"></param>
<returns></returns>
</member>
<member name="M:MiaoYu.Api.Admin.ApplicationServices.Apps.T_OrderService.DeleteListAsync(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_OrderService.FindFormAsync(System.Int32)">
<summary>
查询表单数据
</summary>
<param name="id">id</param>
<returns></returns>
</member>
<member name="M:MiaoYu.Api.Admin.ApplicationServices.Apps.T_OrderService.SaveFormAsync(MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_Order)">
<summary>
保存数据
</summary>
<param name="form">form</param>
<returns></returns>
</member>
<member name="M:MiaoYu.Api.Admin.ApplicationServices.Apps.T_OrderService.ExportExcelAsync(MiaoYu.Shared.Admin.Models.PagingViews.PagingSearchInput{MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_Order})">
<summary>
导出Excel
</summary>
<param name="pagingSearchInput"></param>
<returns></returns>
</member>
<member name="T:MiaoYu.Api.Admin.ApplicationServices.Apps.T_ProductsService">
<summary>
商城表 服务 T_ProductsService
@ -886,6 +1006,46 @@
<param name="pagingSearchInput"></param>
<returns></returns>
</member>
<member name="T:MiaoYu.Api.Admin.ApplicationServices.Apps.T_User_IntentOrderService">
<summary>
意向订单表 服务 T_User_IntentOrderService
</summary>
</member>
<member name="M:MiaoYu.Api.Admin.ApplicationServices.Apps.T_User_IntentOrderService.FindListAsync(MiaoYu.Shared.Admin.Models.PagingViews.PagingSearchInput{MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_User_IntentOrder})">
<summary>
获取列表数据
</summary>
<param name="pagingSearchInput"></param>
<returns></returns>
</member>
<member name="M:MiaoYu.Api.Admin.ApplicationServices.Apps.T_User_IntentOrderService.DeleteListAsync(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_User_IntentOrderService.FindFormAsync(System.Int32)">
<summary>
查询表单数据
</summary>
<param name="id">id</param>
<returns></returns>
</member>
<member name="M:MiaoYu.Api.Admin.ApplicationServices.Apps.T_User_IntentOrderService.SaveFormAsync(MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_User_IntentOrder)">
<summary>
保存数据
</summary>
<param name="form">form</param>
<returns></returns>
</member>
<member name="M:MiaoYu.Api.Admin.ApplicationServices.Apps.T_User_IntentOrderService.ExportExcelAsync(MiaoYu.Shared.Admin.Models.PagingViews.PagingSearchInput{MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_User_IntentOrder})">
<summary>
导出Excel
</summary>
<param name="pagingSearchInput"></param>
<returns></returns>
</member>
<member name="T:MiaoYu.Api.Admin.ApplicationServices.Apps.T_User_Phone_AccountService">
<summary>
手机号登录表 服务 T_User_Phone_AccountService
@ -2156,6 +2316,53 @@
</summary>
<param name="defaultService">默认服务</param>
</member>
<member name="T:MiaoYu.Api.Admin.Controllers.Apps.M_MusicGenresController">
<summary>
存储不同音乐风格的信息。 控制器
</summary>
</member>
<member name="M:MiaoYu.Api.Admin.Controllers.Apps.M_MusicGenresController.FindListAsync(MiaoYu.Shared.Admin.Models.PagingViews.PagingSearchInput{MiaoYu.Repository.ChatAI.Admin.Entities.Apps.M_MusicGenres})">
<summary>
获取列表
</summary>
<param name="pagingSearchInput"></param>
<returns></returns>
</member>
<member name="M:MiaoYu.Api.Admin.Controllers.Apps.M_MusicGenresController.DeleteListAsync(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.M_MusicGenresController.FindFormAsync(System.Int32)">
<summary>
查询表单数据
</summary>
<param name="id">id</param>
<returns></returns>
</member>
<member name="M:MiaoYu.Api.Admin.Controllers.Apps.M_MusicGenresController.CreateAsync(MiaoYu.Repository.ChatAI.Admin.Entities.Apps.M_MusicGenres)">
<summary>
添加
</summary>
<param name="form"></param>
<returns></returns>
</member>
<member name="M:MiaoYu.Api.Admin.Controllers.Apps.M_MusicGenresController.UpdateAsync(MiaoYu.Repository.ChatAI.Admin.Entities.Apps.M_MusicGenres)">
<summary>
编辑
</summary>
<param name="form"></param>
<returns></returns>
</member>
<member name="M:MiaoYu.Api.Admin.Controllers.Apps.M_MusicGenresController.ExportExcelAsync(MiaoYu.Shared.Admin.Models.PagingViews.PagingSearchInput{MiaoYu.Repository.ChatAI.Admin.Entities.Apps.M_MusicGenres})">
<summary>
导出Excel
</summary>
<param name="pagingSearchInput"></param>
<returns></returns>
</member>
<member name="T:MiaoYu.Api.Admin.Controllers.Apps.TImageConfigController">
<summary>
图片表 控制器
@ -2759,6 +2966,100 @@
<param name="pagingSearchInput"></param>
<returns></returns>
</member>
<member name="T:MiaoYu.Api.Admin.Controllers.Apps.T_OrderController">
<summary>
订单完成表 控制器
</summary>
</member>
<member name="M:MiaoYu.Api.Admin.Controllers.Apps.T_OrderController.FindListAsync(MiaoYu.Shared.Admin.Models.PagingViews.PagingSearchInput{MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_Order})">
<summary>
获取列表
</summary>
<param name="pagingSearchInput"></param>
<returns></returns>
</member>
<member name="M:MiaoYu.Api.Admin.Controllers.Apps.T_OrderController.DeleteListAsync(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_OrderController.FindFormAsync(System.Int32)">
<summary>
查询表单数据
</summary>
<param name="id">id</param>
<returns></returns>
</member>
<member name="M:MiaoYu.Api.Admin.Controllers.Apps.T_OrderController.CreateAsync(MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_Order)">
<summary>
添加
</summary>
<param name="form"></param>
<returns></returns>
</member>
<member name="M:MiaoYu.Api.Admin.Controllers.Apps.T_OrderController.UpdateAsync(MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_Order)">
<summary>
编辑
</summary>
<param name="form"></param>
<returns></returns>
</member>
<member name="M:MiaoYu.Api.Admin.Controllers.Apps.T_OrderController.ExportExcelAsync(MiaoYu.Shared.Admin.Models.PagingViews.PagingSearchInput{MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_Order})">
<summary>
导出Excel
</summary>
<param name="pagingSearchInput"></param>
<returns></returns>
</member>
<member name="T:MiaoYu.Api.Admin.Controllers.Apps.T_OrderItemsController">
<summary>
订单详情表 控制器
</summary>
</member>
<member name="M:MiaoYu.Api.Admin.Controllers.Apps.T_OrderItemsController.FindListAsync(MiaoYu.Shared.Admin.Models.PagingViews.PagingSearchInput{MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_OrderItems})">
<summary>
获取列表
</summary>
<param name="pagingSearchInput"></param>
<returns></returns>
</member>
<member name="M:MiaoYu.Api.Admin.Controllers.Apps.T_OrderItemsController.DeleteListAsync(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_OrderItemsController.FindFormAsync(System.Int32)">
<summary>
查询表单数据
</summary>
<param name="id">id</param>
<returns></returns>
</member>
<member name="M:MiaoYu.Api.Admin.Controllers.Apps.T_OrderItemsController.CreateAsync(MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_OrderItems)">
<summary>
添加
</summary>
<param name="form"></param>
<returns></returns>
</member>
<member name="M:MiaoYu.Api.Admin.Controllers.Apps.T_OrderItemsController.UpdateAsync(MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_OrderItems)">
<summary>
编辑
</summary>
<param name="form"></param>
<returns></returns>
</member>
<member name="M:MiaoYu.Api.Admin.Controllers.Apps.T_OrderItemsController.ExportExcelAsync(MiaoYu.Shared.Admin.Models.PagingViews.PagingSearchInput{MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_OrderItems})">
<summary>
导出Excel
</summary>
<param name="pagingSearchInput"></param>
<returns></returns>
</member>
<member name="T:MiaoYu.Api.Admin.Controllers.Apps.T_ProductsController">
<summary>
商城表 控制器
@ -3017,6 +3318,53 @@
<param name="pagingSearchInput"></param>
<returns></returns>
</member>
<member name="T:MiaoYu.Api.Admin.Controllers.Apps.T_User_IntentOrderController">
<summary>
意向订单表 控制器
</summary>
</member>
<member name="M:MiaoYu.Api.Admin.Controllers.Apps.T_User_IntentOrderController.FindListAsync(MiaoYu.Shared.Admin.Models.PagingViews.PagingSearchInput{MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_User_IntentOrder})">
<summary>
获取列表
</summary>
<param name="pagingSearchInput"></param>
<returns></returns>
</member>
<member name="M:MiaoYu.Api.Admin.Controllers.Apps.T_User_IntentOrderController.DeleteListAsync(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_User_IntentOrderController.FindFormAsync(System.Int32)">
<summary>
查询表单数据
</summary>
<param name="id">id</param>
<returns></returns>
</member>
<member name="M:MiaoYu.Api.Admin.Controllers.Apps.T_User_IntentOrderController.CreateAsync(MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_User_IntentOrder)">
<summary>
添加
</summary>
<param name="form"></param>
<returns></returns>
</member>
<member name="M:MiaoYu.Api.Admin.Controllers.Apps.T_User_IntentOrderController.UpdateAsync(MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_User_IntentOrder)">
<summary>
编辑
</summary>
<param name="form"></param>
<returns></returns>
</member>
<member name="M:MiaoYu.Api.Admin.Controllers.Apps.T_User_IntentOrderController.ExportExcelAsync(MiaoYu.Shared.Admin.Models.PagingViews.PagingSearchInput{MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_User_IntentOrder})">
<summary>
导出Excel
</summary>
<param name="pagingSearchInput"></param>
<returns></returns>
</member>
<member name="T:MiaoYu.Api.Admin.Controllers.Apps.T_User_Phone_AccountController">
<summary>
手机号登录表 控制器

View File

@ -2,7 +2,7 @@
//
"ConnectionStrings": {
// redis
"Redis": "124.220.55.158:6379,defaultDatabase=1"
"Redis": "124.220.55.158:6379,defaultDatabase=10"
},
// pi
"AdminRepositoryOptions": {

View File

@ -98,6 +98,7 @@ namespace @(Model.Namespace).Repository.ChatAI.Admin.Entities.Apps;
/// @(string.IsNullOrWhiteSpace(classNameRemark) ? className : classNameRemark)
/// </summary>
[EntityDescription(FieldIgnored = true)]
[Table("@className")]
public class @className : @(GetIdType())
{

View File

@ -1,5 +1,7 @@
using MiaoYu.Repository.ChatAI.Admin.Entities.Apps;
namespace MiaoYu.Repository.ChatAI.Admin
{
/// <summary>
@ -24,14 +26,74 @@ namespace MiaoYu.Repository.ChatAI.Admin
/// <param name="modelBuilder"></param>
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
var dbContextConfigAttribute = GetType().GetCustomAttribute<DbContextConfigAttribute>()!;
dbContextConfigAttribute!.OnModelCreating(modelBuilder, dbContextConfigAttribute.GetModelTypes(GetType()));
#region
modelBuilder.Entity<T_Order>(entity =>
{
entity.HasKey(e => e.Id).HasName("PK__T_Order__3214EC07C8DD7EE1");
entity.ToTable(tb => tb.HasComment("订单完成表"));
entity.Property(e => e.CreatedAt)
.HasComment("创建时间")
.HasColumnType("datetime");
entity.Property(e => e.OrderDate)
.HasComment("订单创建时间")
.HasColumnType("datetime");
entity.Property(e => e.OrderId)
.HasMaxLength(64)
.HasComment("订单编号");
entity.Property(e => e.PaymentDate)
.HasComment("订单支付时间")
.HasColumnType("datetime");
entity.Property(e => e.PaymentDay).HasComment("订单创建天");
entity.Property(e => e.PaymentMethod)
.HasMaxLength(10)
.HasComment("订单支付方式");
entity.Property(e => e.ProductId)
.HasMaxLength(100)
.HasComment("购买的产品Id");
entity.Property(e => e.Status).HasComment("订单状态");
entity.Property(e => e.TenantId).HasComment("租户");
entity.Property(e => e.TotalPrice)
.HasComment("价格")
.HasColumnType("money");
entity.Property(e => e.UpdatedAt)
.HasComment("修改时间")
.HasColumnType("datetime");
entity.Property(e => e.UserId).HasComment("用户Id");
});
modelBuilder.Entity<T_OrderItems>(entity =>
{
entity.HasKey(e => e.Id).HasName("PK__T_OrderI__3214EC077E53EC22");
entity.ToTable(tb => tb.HasComment("订单详情表"));
entity.Property(e => e.OrderId)
.HasMaxLength(64)
.HasComment("订单id");
entity.Property(e => e.PayUrl).HasComment("支付地址");
entity.Property(e => e.PaymentInfo).HasComment("支付信息");
entity.Property(e => e.Product).HasComment("产品id、主键");
entity.Property(e => e.ProductId)
.HasMaxLength(100)
.HasComment("产品id");
entity.Property(e => e.RewardInfo).HasComment("发放奖励信息");
entity.Property(e => e.RewardTips).HasComment("发放奖励提示");
entity.Property(e => e.TenantId).HasComment("租户");
});
//OnModelCreatingPartial(modelBuilder);
//ModelBuilderExtensions.Seed(modelBuilder);
#endregion
var dbContextConfigAttribute = GetType().GetCustomAttribute<DbContextConfigAttribute>()!;
var t = dbContextConfigAttribute.GetModelTypes(GetType());
dbContextConfigAttribute!.OnModelCreating(modelBuilder, t);
}

View File

@ -0,0 +1,36 @@
namespace MiaoYu.Repository.ChatAI.Admin.Entities.Apps;
/// <summary>
/// 存储不同音乐风格的信息。
/// </summary>
[EntityDescription(FieldIgnored = true)]
[Table("M_MusicGenres")]
public class M_MusicGenres : DefaultEntityV4
{
/// <summary>
/// 音乐风格名称 => 备注: 音乐风格名称
/// </summary>
public string? GenreName { get; set; }
/// <summary>
/// 音乐风格描述 => 备注: 音乐风格描述
/// </summary>
public string? Description { get; set; }
/// <summary>
/// 排序 => 备注: 排序
/// </summary>
public Int32 OrderId { get; set; }
/// <summary>
/// 是否启用 => 备注: 是否启用
/// </summary>
public Boolean IsEnabled { get; set; }
}

View File

@ -0,0 +1,77 @@
namespace MiaoYu.Repository.ChatAI.Admin.Entities.Apps;
/// <summary>
/// 订单完成表
/// </summary>
[EntityDescription(FieldIgnored = true)]
public class T_Order : DefaultEntityV4
{
/// <summary>
/// 订单编号 => 备注: 订单编号
/// </summary>
public string? OrderId { get; set; }
/// <summary>
/// 用户Id => 备注: 用户Id
/// </summary>
public Int32 UserId { get; set; }
/// <summary>
/// 订单创建时间 => 备注: 订单创建时间
/// </summary>
public DateTime OrderDate { get; set; }
/// <summary>
/// 订单支付时间 => 备注: 订单支付时间
/// </summary>
public DateTime PaymentDate { get; set; }
/// <summary>
/// 订单支付方式 => 备注: 订单支付方式
/// </summary>
public string? PaymentMethod { get; set; }
/// <summary>
/// 购买的产品Id => 备注: 购买的产品Id
/// </summary>
public string? ProductId { get; set; }
/// <summary>
/// 价格 => 备注: 价格
/// </summary>
public Decimal TotalPrice { get; set; }
/// <summary>
/// 订单状态 => 备注: 订单状态
/// </summary>
public Int32 Status { get; set; }
/// <summary>
/// 创建时间 => 备注: 创建时间
/// </summary>
public DateTime CreatedAt { get; set; }
/// <summary>
/// 修改时间 => 备注: 修改时间
/// </summary>
public DateTime UpdatedAt { get; set; }
/// <summary>
/// 订单创建天 => 备注: 订单创建天
/// </summary>
public DateTime PaymentDay { get; set; }
}

View File

@ -0,0 +1,54 @@
namespace MiaoYu.Repository.ChatAI.Admin.Entities.Apps;
/// <summary>
/// 订单详情表
/// </summary>
[EntityDescription(FieldIgnored = true)]
[Table("T_OrderItems")]
public class T_OrderItems : DefaultEntityV4
{
/// <summary>
/// 产品id => 备注: 产品id
/// </summary>
public string? ProductId { get; set; }
/// <summary>
/// 订单id => 备注: 订单id
/// </summary>
public string? OrderId { get; set; }
/// <summary>
/// 发放奖励信息 => 备注: 发放奖励信息
/// </summary>
public string? RewardInfo { get; set; }
/// <summary>
/// 产品id、主键 => 备注: 产品id、主键
/// </summary>
public Int32 Product { get; set; }
/// <summary>
/// 支付信息 => 备注: 支付信息
/// </summary>
public string? PaymentInfo { get; set; }
/// <summary>
/// 发放奖励提示 => 备注: 发放奖励提示
/// </summary>
public string? RewardTips { get; set; }
/// <summary>
/// 支付地址 => 备注: 支付地址
/// </summary>
public string? PayUrl { get; set; }
}

View File

@ -0,0 +1,78 @@
namespace MiaoYu.Repository.ChatAI.Admin.Entities.Apps;
/// <summary>
/// 意向订单表
/// </summary>
[EntityDescription(FieldIgnored = true)]
[Table("T_User_IntentOrder")]
public class T_User_IntentOrder : DefaultEntityV4
{
/// <summary>
/// 用户Id => 备注: 用户Id
/// </summary>
public Int32 UserId { get; set; }
/// <summary>
/// 产品id => 备注: 产品id
/// </summary>
public string? ProductId { get; set; }
/// <summary>
/// 支付方式 => 备注: 支付方式
/// </summary>
public string? Method { get; set; }
/// <summary>
/// 价格 => 备注: 价格
/// </summary>
public Decimal Price { get; set; }
/// <summary>
/// 数量 => 备注: 数量
/// </summary>
public Int32 Quantity { get; set; }
/// <summary>
/// 状态 => 备注: 状态
/// </summary>
public Int32 Status { get; set; }
/// <summary>
/// 备注 => 备注: 备注
/// </summary>
public string? Notes { get; set; }
/// <summary>
/// 订单创建时间 => 备注: 订单创建时间
/// </summary>
public DateTime IntentDate { get; set; }
/// <summary>
/// 创建时间 => 备注: 创建时间
/// </summary>
public DateTime CreatedAt { get; set; }
/// <summary>
/// 修改时间 => 备注: 修改时间
/// </summary>
public DateTime UpdatedAt { get; set; }
/// <summary>
/// 订单Id => 备注: 订单Id
/// </summary>
public string? OrderId { get; set; }
}

View File

@ -37,6 +37,31 @@
</summary>
<param name="webApplication"></param>
</member>
<member name="T:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.M_MusicGenres">
<summary>
存储不同音乐风格的信息。
</summary>
</member>
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.M_MusicGenres.GenreName">
<summary>
音乐风格名称 => 备注: 音乐风格名称
</summary>
</member>
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.M_MusicGenres.Description">
<summary>
音乐风格描述 => 备注: 音乐风格描述
</summary>
</member>
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.M_MusicGenres.OrderId">
<summary>
排序 => 备注: 排序
</summary>
</member>
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.M_MusicGenres.IsEnabled">
<summary>
是否启用 => 备注: 是否启用
</summary>
</member>
<member name="T:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_Category_Child_Menu">
<summary>
发现页类别菜单
@ -482,6 +507,106 @@
其它的模板
</summary>
</member>
<member name="T:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_Order">
<summary>
订单完成表
</summary>
</member>
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_Order.OrderId">
<summary>
订单编号 => 备注: 订单编号
</summary>
</member>
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_Order.UserId">
<summary>
用户Id => 备注: 用户Id
</summary>
</member>
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_Order.OrderDate">
<summary>
订单创建时间 => 备注: 订单创建时间
</summary>
</member>
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_Order.PaymentDate">
<summary>
订单支付时间 => 备注: 订单支付时间
</summary>
</member>
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_Order.PaymentMethod">
<summary>
订单支付方式 => 备注: 订单支付方式
</summary>
</member>
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_Order.ProductId">
<summary>
购买的产品Id => 备注: 购买的产品Id
</summary>
</member>
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_Order.TotalPrice">
<summary>
价格 => 备注: 价格
</summary>
</member>
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_Order.Status">
<summary>
订单状态 => 备注: 订单状态
</summary>
</member>
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_Order.CreatedAt">
<summary>
创建时间 => 备注: 创建时间
</summary>
</member>
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_Order.UpdatedAt">
<summary>
修改时间 => 备注: 修改时间
</summary>
</member>
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_Order.PaymentDay">
<summary>
订单创建天 => 备注: 订单创建天
</summary>
</member>
<member name="T:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_OrderItems">
<summary>
订单详情表
</summary>
</member>
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_OrderItems.ProductId">
<summary>
产品id => 备注: 产品id
</summary>
</member>
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_OrderItems.OrderId">
<summary>
订单id => 备注: 订单id
</summary>
</member>
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_OrderItems.RewardInfo">
<summary>
发放奖励信息 => 备注: 发放奖励信息
</summary>
</member>
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_OrderItems.Product">
<summary>
产品id、主键 => 备注: 产品id、主键
</summary>
</member>
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_OrderItems.PaymentInfo">
<summary>
支付信息 => 备注: 支付信息
</summary>
</member>
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_OrderItems.RewardTips">
<summary>
发放奖励提示 => 备注: 发放奖励提示
</summary>
</member>
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_OrderItems.PayUrl">
<summary>
支付地址 => 备注: 支付地址
</summary>
</member>
<member name="T:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_Products">
<summary>
商城表
@ -717,6 +842,66 @@
修改时间 => 备注: 修改时间
</summary>
</member>
<member name="T:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_User_IntentOrder">
<summary>
意向订单表
</summary>
</member>
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_User_IntentOrder.UserId">
<summary>
用户Id => 备注: 用户Id
</summary>
</member>
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_User_IntentOrder.ProductId">
<summary>
产品id => 备注: 产品id
</summary>
</member>
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_User_IntentOrder.Method">
<summary>
支付方式 => 备注: 支付方式
</summary>
</member>
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_User_IntentOrder.Price">
<summary>
价格 => 备注: 价格
</summary>
</member>
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_User_IntentOrder.Quantity">
<summary>
数量 => 备注: 数量
</summary>
</member>
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_User_IntentOrder.Status">
<summary>
状态 => 备注: 状态
</summary>
</member>
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_User_IntentOrder.Notes">
<summary>
备注 => 备注: 备注
</summary>
</member>
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_User_IntentOrder.IntentDate">
<summary>
订单创建时间 => 备注: 订单创建时间
</summary>
</member>
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_User_IntentOrder.CreatedAt">
<summary>
创建时间 => 备注: 创建时间
</summary>
</member>
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_User_IntentOrder.UpdatedAt">
<summary>
修改时间 => 备注: 修改时间
</summary>
</member>
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_User_IntentOrder.OrderId">
<summary>
订单Id => 备注: 订单Id
</summary>
</member>
<member name="T:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_User_Phone_Account">
<summary>
手机号登录表