diff --git a/admin-client/.env.development b/admin-client/.env.development
index 3dce63a..5dd7991 100644
--- a/admin-client/.env.development
+++ b/admin-client/.env.development
@@ -1,3 +1,4 @@
VUE_APP_BASE=/ #打包路径
VITE_API_URL=http://127.0.0.1:802
+VITE_EXTAPI_URL=http://192.168.1.23:83
# VITE_API_URL=https://steamcloud.shhuanmeng.com
\ No newline at end of file
diff --git a/admin-client/package-lock.json b/admin-client/package-lock.json
index 55fad90..75e0886 100644
--- a/admin-client/package-lock.json
+++ b/admin-client/package-lock.json
@@ -1,11 +1,11 @@
{
- "name": "hzy-admin",
+ "name": "cloudgaming-admin",
"version": "1.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
- "name": "hzy-admin",
+ "name": "cloudgaming-admin",
"version": "1.0.0",
"dependencies": {
"@antv/g2": "^5.1.5",
@@ -45,6 +45,7 @@
"universal-cookie": "^7.2.1",
"unplugin-vue-macros": "^2.13.0",
"vite": "^5.4.9",
+ "vite-plugin-monaco-editor": "^1.1.0",
"vue": "^3.5.12",
"vue-i18n": "10.0.4",
"vue-router": "^4.4.5",
@@ -10869,6 +10870,15 @@
}
}
},
+ "node_modules/vite-plugin-monaco-editor": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmmirror.com/vite-plugin-monaco-editor/-/vite-plugin-monaco-editor-1.1.0.tgz",
+ "integrity": "sha512-IvtUqZotrRoVqwT0PBBDIZPNraya3BxN/bfcNfnxZ5rkJiGcNtO5eAOWWSgT7zullIAEqQwxMU83yL9J5k7gww==",
+ "dev": true,
+ "peerDependencies": {
+ "monaco-editor": ">=0.33.0"
+ }
+ },
"node_modules/vite/node_modules/@esbuild/win32-x64": {
"version": "0.21.5",
"resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
diff --git a/admin-client/package.json b/admin-client/package.json
index e1f3b39..7d928e8 100644
--- a/admin-client/package.json
+++ b/admin-client/package.json
@@ -1,5 +1,5 @@
{
- "name": "hzy-admin",
+ "name": "cloudgaming-admin",
"private": true,
"version": "1.0.0",
"type": "module",
@@ -48,6 +48,7 @@
"universal-cookie": "^7.2.1",
"unplugin-vue-macros": "^2.13.0",
"vite": "^5.4.9",
+ "vite-plugin-monaco-editor": "^1.1.0",
"vue": "^3.5.12",
"vue-i18n": "10.0.4",
"vue-router": "^4.4.5",
diff --git a/admin-client/src/components.d.ts b/admin-client/src/components.d.ts
index 1c3ef09..569f0ba 100644
--- a/admin-client/src/components.d.ts
+++ b/admin-client/src/components.d.ts
@@ -82,6 +82,7 @@ declare module 'vue' {
BarChartTransverse: typeof import('./core/components/charts/BarChartTransverse.vue')['default']
ColumnSetting: typeof import('./core/components/curd/components/ColumnSetting.vue')['default']
ElAside: typeof import('element-plus/es')['ElAside']
+ ElAutocomplete: typeof import('element-plus/es')['ElAutocomplete']
ElButton: typeof import('element-plus/es')['ElButton']
ElCard: typeof import('element-plus/es')['ElCard']
ElCheckbox: typeof import('element-plus/es')['ElCheckbox']
@@ -129,6 +130,7 @@ declare module 'vue' {
LineChartMultiple: typeof import('./core/components/charts/LineChartMultiple.vue')['default']
LineChartSingle: typeof import('./core/components/charts/LineChartSingle.vue')['default']
MdEditorShowCode: typeof import('./core/components/MdEditorShowCode.vue')['default']
+ MonacoEditor: typeof import('./core/components/MonacoEditor.vue')['default']
PageContainer: typeof import('./core/components/PageContainer.vue')['default']
PageContainerGame: typeof import('./core/components/PageContainerGame.vue')['default']
PieChart: typeof import('./core/components/charts/PieChart.vue')['default']
diff --git a/admin-client/src/core/components/MonacoEditor.vue b/admin-client/src/core/components/MonacoEditor.vue
new file mode 100644
index 0000000..3e9674e
--- /dev/null
+++ b/admin-client/src/core/components/MonacoEditor.vue
@@ -0,0 +1,73 @@
+
+
+
+
+
+
+
diff --git a/admin-client/src/core/components/WangEditor.vue b/admin-client/src/core/components/WangEditor.vue
index 2414637..c94e509 100644
--- a/admin-client/src/core/components/WangEditor.vue
+++ b/admin-client/src/core/components/WangEditor.vue
@@ -1,7 +1,12 @@
@@ -194,6 +196,7 @@ function showJyRequestData(t: any) {
返回消息:
+
diff --git a/admin-client/src/views/Apps/Ext/T_App_Channels/Index.vue b/admin-client/src/views/Apps/Ext/T_App_Channels/Index.vue
new file mode 100644
index 0000000..35dad5c
--- /dev/null
+++ b/admin-client/src/views/Apps/Ext/T_App_Channels/Index.vue
@@ -0,0 +1,256 @@
+
+
+
+
+ {
+ 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();
+ }
+ "
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 重置
+
+
+ 查询
+
+
+
+
+
+
+
+
+
+ refInfo?.open()" v-if="power.insert">
+
+
+
+ 新建
+
+
+
+
+
+
+ 批量删除
+
+
+
+
+
+
+
+
+ 导出 Excel
+
+
+ 更多
+
+
+
+
+
+
+
+
+
+
+ refInfo?.open(record.id)" v-if="power.update">编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/admin-client/src/views/Apps/Ext/T_App_Channels/Info.vue b/admin-client/src/views/Apps/Ext/T_App_Channels/Info.vue
new file mode 100644
index 0000000..47a045d
--- /dev/null
+++ b/admin-client/src/views/Apps/Ext/T_App_Channels/Info.vue
@@ -0,0 +1,92 @@
+
+
+
+
+
+ 提交
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/admin-client/src/views/Apps/Ext/T_App_Configs/Index.vue b/admin-client/src/views/Apps/Ext/T_App_Configs/Index.vue
new file mode 100644
index 0000000..ead8244
--- /dev/null
+++ b/admin-client/src/views/Apps/Ext/T_App_Configs/Index.vue
@@ -0,0 +1,385 @@
+
+
+
+
+ {
+ 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();
+ }
+ "
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 重置
+
+
+ 查询
+
+
+
+
+
+
+
+
+
+ refInfo?.open()"
+ v-if="power.insert"
+ >
+
+
+
+ 新建
+
+
+
+
+
+
+ 批量删除
+
+
+
+
+
+
+
+
+ 导出 Excel
+
+
+ 更多
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ refInfo?.open(record.id)"
+ v-if="power.update"
+ >编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
diff --git a/admin-client/src/views/Apps/Ext/T_App_Configs/Info.vue b/admin-client/src/views/Apps/Ext/T_App_Configs/Info.vue
new file mode 100644
index 0000000..3d1bcd1
--- /dev/null
+++ b/admin-client/src/views/Apps/Ext/T_App_Configs/Info.vue
@@ -0,0 +1,266 @@
+
+
+
+
+
+
+ 提交
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ [{{ item.value }}]{{ item.lable }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 否
+ 是
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/admin-client/src/views/Apps/User/T_User_IntentOrders/Index.vue b/admin-client/src/views/Apps/User/T_User_IntentOrders/Index.vue
index d44fefe..c84be82 100644
--- a/admin-client/src/views/Apps/User/T_User_IntentOrders/Index.vue
+++ b/admin-client/src/views/Apps/User/T_User_IntentOrders/Index.vue
@@ -68,14 +68,6 @@ defineOptions({ name: "t_User_IntentOrderIndex" });
sorter: true,
},
- {
- dataIndex: "intentAt",
- title: "订单创建时间",
- show: true,
- width: 120,
- sorter: true,
- },
-
{
dataIndex: "createdAt",
title: "创建时间",
@@ -99,6 +91,22 @@ defineOptions({ name: "t_User_IntentOrderIndex" });
width: 80,
sorter: true,
},
+
+ {
+ dataIndex: "createdDay",
+ title: "创建时间",
+ show: false,
+ width: 80,
+ sorter: true,
+ },
+
+ {
+ dataIndex: "channel",
+ title: "创建小时",
+ show: false,
+ width: 80,
+ sorter: true,
+ },
];
const state = reactive({
search: {
diff --git a/admin-client/src/views/Apps/User/T_User_IntentOrders/Info.vue b/admin-client/src/views/Apps/User/T_User_IntentOrders/Info.vue
index 70e2231..ac759c5 100644
--- a/admin-client/src/views/Apps/User/T_User_IntentOrders/Info.vue
+++ b/admin-client/src/views/Apps/User/T_User_IntentOrders/Info.vue
@@ -106,13 +106,18 @@ function save() {
-
-
+
+
-
-
+
+
+
+
+
+
+
diff --git a/admin-client/src/views/Apps/User/T_User_Orders/Index.vue b/admin-client/src/views/Apps/User/T_User_Orders/Index.vue
index 03aaf51..506766e 100644
--- a/admin-client/src/views/Apps/User/T_User_Orders/Index.vue
+++ b/admin-client/src/views/Apps/User/T_User_Orders/Index.vue
@@ -95,15 +95,24 @@ defineOptions({ name: "t_User_OrderIndex" });
{
dataIndex: "paymentDay",
title: "订单创建天",
- show: true,
+ show: false,
width: 100,
sorter: true,
},
+
+ {
+ dataIndex: "channel",
+ title: "渠道",
+ show: false,
+ width: 40,
+ sorter: true,
+ },
];
const state = reactive({
search: {
state: true,
vm: {
+ orderdate: undefined,
orderid: undefined,
userid: undefined,
},
@@ -211,6 +220,11 @@ function exportExcel() {
+
+
+
+
+
diff --git a/admin-client/src/views/Apps/User/T_User_Orders/Info.vue b/admin-client/src/views/Apps/User/T_User_Orders/Info.vue
index 8c4da8c..7c63542 100644
--- a/admin-client/src/views/Apps/User/T_User_Orders/Info.vue
+++ b/admin-client/src/views/Apps/User/T_User_Orders/Info.vue
@@ -114,6 +114,11 @@ function save() {
+
+
+
+
+
diff --git a/admin-client/src/views/home/components/WorkOrder.vue b/admin-client/src/views/home/components/WorkOrder.vue
index 55c99b0..586b8bb 100644
--- a/admin-client/src/views/home/components/WorkOrder.vue
+++ b/admin-client/src/views/home/components/WorkOrder.vue
@@ -1,7 +1,7 @@
diff --git a/admin-client/src/views/home/components/WorkOrderStatistics.vue b/admin-client/src/views/home/components/WorkOrderStatistics.vue
index 638598b..9453e1f 100644
--- a/admin-client/src/views/home/components/WorkOrderStatistics.vue
+++ b/admin-client/src/views/home/components/WorkOrderStatistics.vue
@@ -20,6 +20,7 @@ for (let i = 0; i < 30; i++) {
category: "小米渠道",
});
}
+console.log(data);
let timer = ref();
diff --git a/admin-client/vite.config.ts b/admin-client/vite.config.ts
index 3259bd4..172396a 100644
--- a/admin-client/vite.config.ts
+++ b/admin-client/vite.config.ts
@@ -4,12 +4,13 @@ import { resolve } from "path";
import vueJsx from "@vitejs/plugin-vue-jsx";
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite';
-import { AntDesignVueResolver,ElementPlusResolver } from 'unplugin-vue-components/resolvers';
-// import monacoEditorPlugin from "vite-plugin-monaco-editor";
-// https://vitejs.dev/config/
+import { AntDesignVueResolver, ElementPlusResolver } from 'unplugin-vue-components/resolvers';
+import monacoEditorPlugin from 'vite-plugin-monaco-editor';
+
export default defineConfig({
plugins: [
vue(),
+ // monacoEditorPlugin({}),
vueJsx({
// https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue-jsx
// options are passed on to @vue/babel-plugin-jsx
@@ -23,7 +24,7 @@ export default defineConfig({
dts: 'src/auto-imports.d.ts', // 可以生成 TypeScript 声明文件
}),
Components({
-
+
dirs: ['src/core/components'],
extensions: ['vue'],
deep: true,
@@ -35,13 +36,25 @@ export default defineConfig({
}),
],
}),
+ monacoEditorPlugin.default({}),
+ // MonacoEditorPlugin({
+ // // 这里可以配置插件的选项
+ // // plugins: [monacoEditorPlugin()],
+ // languageWorkers: ['editorWorkerService', 'json', 'css', 'html', 'typescript'], // 默认会加载这些 worker
+ // // customWorkers: [
+ // // {
+ // // label: 'myCustomWorker',
+ // // entry: 'path/to/customWorker.js',
+ // // },
+ // // ],
+ // }),
],
/**
* 打包给目录的前缀
* 生产环境默认:client 文件夹包起来
* 开发环境默认:/
*/
- base:"",// process.env.NODE_ENV == "production" ? "/client/" : "/",
+ base: "",// process.env.NODE_ENV == "production" ? "/client/" : "/",
server: {
port: 702,
host: true,
diff --git a/admin-server/CloudGaming.Api.Admin/ApplicationServices/Apps/Ext/T_App_ChannelService.cs b/admin-server/CloudGaming.Api.Admin/ApplicationServices/Apps/Ext/T_App_ChannelService.cs
new file mode 100644
index 0000000..f14b1c8
--- /dev/null
+++ b/admin-server/CloudGaming.Api.Admin/ApplicationServices/Apps/Ext/T_App_ChannelService.cs
@@ -0,0 +1,51 @@
+using CloudGaming.Repository.Game.Entities.Ext;
+namespace CloudGaming.Api.Admin.ApplicationServices.Apps.Ext;
+
+///
+/// app渠道表 服务 T_App_ChannelService
+///
+public class T_App_ChannelService(IServiceProvider serviceProvider)
+: ApplicationGameService(serviceProvider)
+{
+
+
+ ///
+ /// 获取列表数据
+ ///
+ ///
+ ///
+ public async override Task FindListAsync(PagingSearchInput pagingSearchInput)
+ {
+ var query = this.Repository.Select
+ //渠道号
+ .WhereIf(!string.IsNullOrWhiteSpace(pagingSearchInput.Search?.ChannelId),
+ w => w.ChannelId.Contains(pagingSearchInput.Search.ChannelId ?? ""))
+ //渠道名称
+ .WhereIf(!string.IsNullOrWhiteSpace(pagingSearchInput.Search?.Name),
+ w => w.Name.Contains(pagingSearchInput.Search.Name ?? ""))
+ .OrderByDescending(w => w.Id)
+ .Select(w => new
+ {
+ w.Id,
+ w.Name,
+ w.ChannelId,
+ w.CreateAt,
+ w.UpdateAt,
+ w.Desc,
+ })
+ ;
+ var result = await Repository.AsPagingViewAsync(query, pagingSearchInput);
+
+ // 设置列
+ //result.GetColumn(query, w => w.OperatorName).SetColumn("操作人");
+ //result.GetColumn(query, w => w. !).SetColumn(w => w.Name!);
+
+ result
+ .FormatValue(query, w => w.CreateAt, (oldValue) => oldValue.ToString("yyyy-MM-dd HH:mm:ss"))
+ .FormatValue(query, w => w.UpdateAt, (oldValue) => oldValue.ToString("yyyy-MM-dd HH:mm:ss"))
+ ;
+
+ return result;
+ }
+
+}
\ No newline at end of file
diff --git a/admin-server/CloudGaming.Api.Admin/ApplicationServices/Apps/Ext/T_App_ConfigService.cs b/admin-server/CloudGaming.Api.Admin/ApplicationServices/Apps/Ext/T_App_ConfigService.cs
new file mode 100644
index 0000000..99d8370
--- /dev/null
+++ b/admin-server/CloudGaming.Api.Admin/ApplicationServices/Apps/Ext/T_App_ConfigService.cs
@@ -0,0 +1,60 @@
+using CloudGaming.Repository.Game.Entities.Ext;
+namespace CloudGaming.Api.Admin.ApplicationServices.Apps.Ext;
+
+///
+/// App配置表 服务 T_App_ConfigService
+///
+public class T_App_ConfigService(IServiceProvider serviceProvider)
+: ApplicationGameService(serviceProvider)
+{
+
+
+ ///
+ /// 获取列表数据
+ ///
+ ///
+ ///
+ public async override Task FindListAsync(PagingSearchInput pagingSearchInput)
+ {
+ var query = this.Repository.Select
+ //配置类型
+ .WhereIf(pagingSearchInput.Search?.ConfigType != null && pagingSearchInput.Search?.ConfigType > 0,
+ w => w.ConfigType == pagingSearchInput.Search.ConfigType)
+ //配置名称
+ .WhereIf(!string.IsNullOrWhiteSpace(pagingSearchInput.Search?.Name),
+ w => w.Name.Contains(pagingSearchInput.Search.Name ?? ""))
+ .OrderByDescending(w => w.Id)
+ .Select(w => new
+ {
+ w.Id,
+ w.ConfigId,
+ w.ConfigType,
+ w.ActionId,
+ w.ConfigValue,
+ w.IsEnabled,
+ w.Name,
+ w.Desc,
+ w.ChannelId,
+ w.Plat,
+ w.AppVersion,
+ w.Continent,
+ w.CountryName,
+ w.CreateTime,
+ w.UpdateTime,
+ })
+ ;
+ var result = await Repository.AsPagingViewAsync(query, pagingSearchInput);
+
+ // 设置列
+ //result.GetColumn(query, w => w.OperatorName).SetColumn("操作人");
+ //result.GetColumn(query, w => w. !).SetColumn(w => w.Name!);
+
+ result
+ .FormatValue(query, w => w.CreateTime, (oldValue) => oldValue.ToString("yyyy-MM-dd HH:mm:ss"))
+ .FormatValue(query, w => w.UpdateTime, (oldValue) => oldValue.ToString("yyyy-MM-dd HH:mm:ss"))
+ ;
+
+ return result;
+ }
+
+}
\ No newline at end of file
diff --git a/admin-server/CloudGaming.Api.Admin/ApplicationServices/Apps/User/T_User_IntentOrderService.cs b/admin-server/CloudGaming.Api.Admin/ApplicationServices/Apps/User/T_User_IntentOrderService.cs
index ac950bc..4278679 100644
--- a/admin-server/CloudGaming.Api.Admin/ApplicationServices/Apps/User/T_User_IntentOrderService.cs
+++ b/admin-server/CloudGaming.Api.Admin/ApplicationServices/Apps/User/T_User_IntentOrderService.cs
@@ -27,7 +27,7 @@ public class T_User_IntentOrderService(IServiceProvider serviceProvider)
.Select(w => new
{
w.Id,
- w.UserId,w.ProductId,w.Method,w.Price,w.Quantity,w.Status,w.Notes,w.IntentAt,w.CreatedAt,w.UpdatedAt,w.TenantId,w.OrderId,
+ w.UserId,w.ProductId,w.Method,w.Price,w.Quantity,w.Status,w.Notes,w.CreatedAt,w.UpdatedAt,w.TenantId,w.OrderId,w.CreatedDay,w.Channel,
})
;
var result = await Repository.AsPagingViewAsync(query, pagingSearchInput);
@@ -37,9 +37,8 @@ public class T_User_IntentOrderService(IServiceProvider serviceProvider)
//result.GetColumn(query, w => w. !).SetColumn(w => w.Name!);
result
- .FormatValue(query, w => w.IntentAt, (oldValue) => oldValue.ToString("yyyy-MM-dd"))
- .FormatValue(query, w => w.CreatedAt, (oldValue) => oldValue.ToString("yyyy-MM-dd"))
- .FormatValue(query, w => w.UpdatedAt, (oldValue) => oldValue.ToString("yyyy-MM-dd"))
+ .FormatValue(query, w => w.CreatedAt, (oldValue) => oldValue.ToString("yyyy-MM-dd HH:mm:ss"))
+ .FormatValue(query, w => w.UpdatedAt, (oldValue) => oldValue.ToString("yyyy-MM-dd HH:mm:ss"))
;
return result;
diff --git a/admin-server/CloudGaming.Api.Admin/ApplicationServices/Apps/User/T_User_OrderService.cs b/admin-server/CloudGaming.Api.Admin/ApplicationServices/Apps/User/T_User_OrderService.cs
index a18d5dc..2d7f795 100644
--- a/admin-server/CloudGaming.Api.Admin/ApplicationServices/Apps/User/T_User_OrderService.cs
+++ b/admin-server/CloudGaming.Api.Admin/ApplicationServices/Apps/User/T_User_OrderService.cs
@@ -5,7 +5,7 @@ namespace CloudGaming.Api.Admin.ApplicationServices.Apps.User;
/// 订单完成表 服务 T_User_OrderService
///
public class T_User_OrderService(IServiceProvider serviceProvider)
-: ApplicationUserService(serviceProvider)
+: ApplicationUserService(serviceProvider)
{
@@ -17,17 +17,32 @@ public class T_User_OrderService(IServiceProvider serviceProvider)
public async override Task FindListAsync(PagingSearchInput pagingSearchInput)
{
var query = this.Repository.Select
+ ////订单创建时间
+ //.WhereIf(!pagingSearchInput.Search?.OrderDate,
+ // w => w.OrderDate.Contains(pagingSearchInput.Search.OrderDate ?? ""))
//订单编号
.WhereIf(!string.IsNullOrWhiteSpace(pagingSearchInput.Search?.OrderId),
w => w.OrderId.Contains(pagingSearchInput.Search.OrderId ?? ""))
//用户Id
- .WhereIf(pagingSearchInput.Search?.UserId!=null&&pagingSearchInput.Search?.UserId>0,
- w => w.UserId== pagingSearchInput.Search.UserId)
+ .WhereIf(pagingSearchInput.Search?.UserId != null && pagingSearchInput.Search?.UserId > 0,
+ w => w.UserId == pagingSearchInput.Search.UserId)
.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.TenantId,
+ w.OrderId,
+ w.UserId,
+ w.OrderDate,
+ w.PaymentDate,
+ w.PaymentMethod,
+ w.ProductId,
+ w.TotalPrice,
+ w.Status,
+ w.CreatedAt,
+ w.UpdatedAt,
+ w.PaymentDay,
+ w.Channel,
})
;
var result = await Repository.AsPagingViewAsync(query, pagingSearchInput);
@@ -35,15 +50,15 @@ public class T_User_OrderService(IServiceProvider serviceProvider)
// 设置列
//result.GetColumn(query, w => w.OperatorName).SetColumn("操作人");
//result.GetColumn(query, w => w. !).SetColumn(w => w.Name!);
-
+
result
- .FormatValue(query, w => w.OrderDate, (oldValue) => oldValue.ToString("yyyy-MM-dd"))
- .FormatValue(query, w => w.PaymentDate, (oldValue) => oldValue.ToString("yyyy-MM-dd"))
- .FormatValue(query, w => w.CreatedAt, (oldValue) => oldValue.ToString("yyyy-MM-dd"))
- .FormatValue(query, w => w.UpdatedAt, (oldValue) => oldValue.ToString("yyyy-MM-dd"))
- .FormatValue(query, w => w.PaymentDay, (oldValue) => oldValue.ToString("yyyy-MM-dd"))
+ .FormatValue(query, w => w.OrderDate, (oldValue) => oldValue.ToString("yyyy-MM-dd HH:mm:ss"))
+ .FormatValue(query, w => w.PaymentDate, (oldValue) => oldValue.ToString("yyyy-MM-dd HH:mm:ss"))
+ .FormatValue(query, w => w.CreatedAt, (oldValue) => oldValue.ToString("yyyy-MM-dd HH:mm:ss"))
+ .FormatValue(query, w => w.UpdatedAt, (oldValue) => oldValue.ToString("yyyy-MM-dd HH:mm:ss"))
+ .FormatValue(query, w => w.PaymentDay, (oldValue) => oldValue.ToString("yyyy-MM-dd HH:mm:ss"))
;
-
+
return result;
}
diff --git a/admin-server/CloudGaming.Api.Admin/CloudGaming.Api.Admin.xml b/admin-server/CloudGaming.Api.Admin/CloudGaming.Api.Admin.xml
index 2d8b3b1..bdba7d2 100644
--- a/admin-server/CloudGaming.Api.Admin/CloudGaming.Api.Admin.xml
+++ b/admin-server/CloudGaming.Api.Admin/CloudGaming.Api.Admin.xml
@@ -638,6 +638,40 @@
+
+
+ app渠道表 服务 T_App_ChannelService
+
+
+
+
+ app渠道表 服务 T_App_ChannelService
+
+
+
+
+ 获取列表数据
+
+
+
+
+
+
+ App配置表 服务 T_App_ConfigService
+
+
+
+
+ App配置表 服务 T_App_ConfigService
+
+
+
+
+ 获取列表数据
+
+
+
+
图片列表 服务 T_App_ImageService
@@ -2547,6 +2581,26 @@
+
+
+ app渠道表 控制器
+
+
+
+
+ app渠道表 控制器
+
+
+
+
+ App配置表 控制器
+
+
+
+
+ App配置表 控制器
+
+
图片列表 控制器
diff --git a/admin-server/CloudGaming.Api.Admin/Controllers/Apps/Ext/T_App_ChannelController.cs b/admin-server/CloudGaming.Api.Admin/Controllers/Apps/Ext/T_App_ChannelController.cs
new file mode 100644
index 0000000..df7bc35
--- /dev/null
+++ b/admin-server/CloudGaming.Api.Admin/Controllers/Apps/Ext/T_App_ChannelController.cs
@@ -0,0 +1,13 @@
+using CloudGaming.Repository.Game.Entities.Ext;
+using CloudGaming.Api.Admin.ApplicationServices.Apps.Ext;
+namespace CloudGaming.Api.Admin.Controllers.Apps.Ext;
+
+///
+/// app渠道表 控制器
+///
+[ControllerDescriptor(MenuId = "请设置菜单Id 系统菜单表中查找,如果不设置不受权限保护!", DisplayName = "app渠道表")]
+public class T_App_ChannelController(IServiceProvider serviceProvider)
+: AdminGameControllerBase(serviceProvider)
+{
+
+}
\ No newline at end of file
diff --git a/admin-server/CloudGaming.Api.Admin/Controllers/Apps/Ext/T_App_ConfigController.cs b/admin-server/CloudGaming.Api.Admin/Controllers/Apps/Ext/T_App_ConfigController.cs
new file mode 100644
index 0000000..0cf2912
--- /dev/null
+++ b/admin-server/CloudGaming.Api.Admin/Controllers/Apps/Ext/T_App_ConfigController.cs
@@ -0,0 +1,13 @@
+using CloudGaming.Repository.Game.Entities.Ext;
+using CloudGaming.Api.Admin.ApplicationServices.Apps.Ext;
+namespace CloudGaming.Api.Admin.Controllers.Apps.Ext;
+
+///
+/// App配置表 控制器
+///
+[ControllerDescriptor(MenuId = "请设置菜单Id 系统菜单表中查找,如果不设置不受权限保护!", DisplayName = "App配置表")]
+public class T_App_ConfigController(IServiceProvider serviceProvider)
+: AdminGameControllerBase(serviceProvider)
+{
+
+}
\ No newline at end of file
diff --git a/admin-server/CloudGaming.Api.Admin/appsettings.json b/admin-server/CloudGaming.Api.Admin/appsettings.json
index 980f117..0643707 100644
--- a/admin-server/CloudGaming.Api.Admin/appsettings.json
+++ b/admin-server/CloudGaming.Api.Admin/appsettings.json
@@ -18,8 +18,8 @@
"JwtValidAudience": "CloudGaming",
"JwtValidIssuer": "CloudGaming",
"JwtIssuerSigningKey": "1CC76841-F25D-4389-89FE-0F9451163CF1",
- "JwtExpirationTime": 1,
- "JwtRefreshTime": 12
+ "JwtExpirationTime": 3000,
+ "JwtRefreshTime": 6000
},
//api 白名单
"ApiWhiteList": [
diff --git a/admin-server/CloudGaming.Repository.Game/CloudGaming.Repository.Game.xml b/admin-server/CloudGaming.Repository.Game/CloudGaming.Repository.Game.xml
index 3e6dc70..6885249 100644
--- a/admin-server/CloudGaming.Repository.Game/CloudGaming.Repository.Game.xml
+++ b/admin-server/CloudGaming.Repository.Game/CloudGaming.Repository.Game.xml
@@ -1099,6 +1099,111 @@
搜索时间 => 备注: 搜索时间,天
+
+
+ app渠道表
+
+
+
+
+ 渠道名称 => 备注: 渠道名称
+
+
+
+
+ 渠道号 => 备注: 渠道号
+
+
+
+
+ 创建时间 => 备注: 创建时间
+
+
+
+
+ 修改时间 => 备注: 修改时间
+
+
+
+
+ 备注 => 备注: 备注
+
+
+
+
+ App配置表
+
+
+
+
+ 配置类型 => 备注: 配置类型
+
+
+
+
+ 配置值类型 => 备注: 配置值类型
+
+
+
+
+ 配置id
+
+
+
+
+ 配置值 => 备注: 配置值
+
+
+
+
+ 是否启用 => 备注: 是否启用
+
+
+
+
+ 配置名称 => 备注: 配置名称
+
+
+
+
+ 备注 => 备注: 备注
+
+
+
+
+ 渠道号 => 备注: 渠道号
+
+
+
+
+ 平台类型 => 备注: 平台。安卓还是苹果
+
+
+
+
+ app版本号 => 备注: app版本号
+
+
+
+
+ 州 => 备注: 州 例:亚洲
+
+
+
+
+ 国家 => 备注: 国家 例:中国
+
+
+
+
+ 创建时间 => 备注: 创建时间
+
+
+
+
+ 修改时间 => 备注: 修改时间
+
+
图片列表
@@ -1539,11 +1644,6 @@
备注 => 备注: 备注
-
-
- 订单创建时间 => 备注: 订单创建时间
-
-
创建时间 => 备注: 创建时间
@@ -1559,6 +1659,16 @@
订单Id => 备注: 订单Id
+
+
+ 创建时间 => 备注: 创建天
+
+
+
+
+ 创建小时 => 备注: 渠道号
+
+
订单完成表
@@ -1619,6 +1729,11 @@
订单创建天 => 备注: 订单创建天
+
+
+ 渠道 => 备注: 渠道
+
+
订单详情表
diff --git a/admin-server/CloudGaming.Repository.Game/Entities/Ext/T_App_Channel.cs b/admin-server/CloudGaming.Repository.Game/Entities/Ext/T_App_Channel.cs
new file mode 100644
index 0000000..d41ae46
--- /dev/null
+++ b/admin-server/CloudGaming.Repository.Game/Entities/Ext/T_App_Channel.cs
@@ -0,0 +1,42 @@
+namespace CloudGaming.Repository.Game.Entities.Ext;
+
+///
+/// app渠道表
+///
+[Table("T_App_Channel")]
+[EntityDescription(NameRuleMode = NameRuleMode.TableName, NameRuleType= NameRuleType.UpperSnakeCase)]
+public class T_App_Channel : DefaultGameEntity
+{
+
+
+ ///
+ /// 渠道名称 => 备注: 渠道名称
+ ///
+ public string? Name { get; set; }
+
+
+ ///
+ /// 渠道号 => 备注: 渠道号
+ ///
+ public string? ChannelId { get; set; }
+
+
+ ///
+ /// 创建时间 => 备注: 创建时间
+ ///
+ public DateTime CreateAt { get; set; }
+
+
+ ///
+ /// 修改时间 => 备注: 修改时间
+ ///
+ public DateTime UpdateAt { get; set; }
+
+
+ ///
+ /// 备注 => 备注: 备注
+ ///
+ public string? Desc { get; set; }
+
+
+}
\ No newline at end of file
diff --git a/admin-server/CloudGaming.Repository.Game/Entities/Ext/T_App_Config.cs b/admin-server/CloudGaming.Repository.Game/Entities/Ext/T_App_Config.cs
new file mode 100644
index 0000000..b48f00c
--- /dev/null
+++ b/admin-server/CloudGaming.Repository.Game/Entities/Ext/T_App_Config.cs
@@ -0,0 +1,93 @@
+namespace CloudGaming.Repository.Game.Entities.Ext;
+
+///
+/// App配置表
+///
+[Table("T_App_Config")]
+[EntityDescription(NameRuleMode = NameRuleMode.TableName, NameRuleType= NameRuleType.UpperSnakeCase)]
+public class T_App_Config : DefaultGameEntity
+{
+
+
+ ///
+ /// 配置类型 => 备注: 配置类型
+ ///
+ public Int32 ConfigType { get; set; }
+
+
+ ///
+ /// 配置值类型 => 备注: 配置值类型
+ ///
+ public Int32 ActionId { get; set; }
+
+ ///
+ /// 配置id
+ ///
+ public Int32 ConfigId { get; set; }
+ ///
+ /// 配置值 => 备注: 配置值
+ ///
+ public string? ConfigValue { get; set; }
+
+
+ ///
+ /// 是否启用 => 备注: 是否启用
+ ///
+ public Boolean IsEnabled { get; set; }
+
+
+ ///
+ /// 配置名称 => 备注: 配置名称
+ ///
+ public string? Name { get; set; }
+
+
+ ///
+ /// 备注 => 备注: 备注
+ ///
+ public string? Desc { get; set; }
+
+
+ ///
+ /// 渠道号 => 备注: 渠道号
+ ///
+ public string? ChannelId { get; set; }
+
+
+ ///
+ /// 平台类型 => 备注: 平台。安卓还是苹果
+ ///
+ public string? Plat { get; set; }
+
+
+ ///
+ /// app版本号 => 备注: app版本号
+ ///
+ public string? AppVersion { get; set; }
+
+
+ ///
+ /// 州 => 备注: 州 例:亚洲
+ ///
+ public string? Continent { get; set; }
+
+
+ ///
+ /// 国家 => 备注: 国家 例:中国
+ ///
+ public string? CountryName { get; set; }
+
+
+ ///
+ /// 创建时间 => 备注: 创建时间
+ ///
+ public DateTime CreateTime { get; set; }
+
+
+ ///
+ /// 修改时间 => 备注: 修改时间
+ ///
+ public DateTime UpdateTime { get; set; }
+
+
+}
\ No newline at end of file
diff --git a/admin-server/CloudGaming.Repository.Game/Entities/User/T_User_IntentOrder.cs b/admin-server/CloudGaming.Repository.Game/Entities/User/T_User_IntentOrder.cs
index 5b77e97..a819f7f 100644
--- a/admin-server/CloudGaming.Repository.Game/Entities/User/T_User_IntentOrder.cs
+++ b/admin-server/CloudGaming.Repository.Game/Entities/User/T_User_IntentOrder.cs
@@ -51,12 +51,6 @@ public class T_User_IntentOrder : DefaultGameAppEntity
public string? Notes { get; set; }
- ///
- /// 订单创建时间 => 备注: 订单创建时间
- ///
- public DateTime IntentAt { get; set; }
-
-
///
/// 创建时间 => 备注: 创建时间
///
@@ -74,5 +68,17 @@ public class T_User_IntentOrder : DefaultGameAppEntity
///
public string? OrderId { get; set; }
+
+ ///
+ /// 创建时间 => 备注: 创建天
+ ///
+ public Int32 CreatedDay { get; set; }
+
+
+ ///
+ /// 创建小时 => 备注: 渠道号
+ ///
+ public string? Channel { get; set; }
+
}
\ No newline at end of file
diff --git a/admin-server/CloudGaming.Repository.Game/Entities/User/T_User_Order.cs b/admin-server/CloudGaming.Repository.Game/Entities/User/T_User_Order.cs
index 5faaa3d..05e5109 100644
--- a/admin-server/CloudGaming.Repository.Game/Entities/User/T_User_Order.cs
+++ b/admin-server/CloudGaming.Repository.Game/Entities/User/T_User_Order.cs
@@ -74,5 +74,11 @@ public class T_User_Order : DefaultGameAppEntity
///
public DateTime PaymentDay { get; set; }
+
+ ///
+ /// 渠道 => 备注: 渠道
+ ///
+ public string? Channel { get; set; }
+
}
\ No newline at end of file
diff --git a/admin-server/CloudGaming.Shared.Admin/ApplicationServices/ApplicationGameService.cs b/admin-server/CloudGaming.Shared.Admin/ApplicationServices/ApplicationGameService.cs
index bfa0638..db3234a 100644
--- a/admin-server/CloudGaming.Shared.Admin/ApplicationServices/ApplicationGameService.cs
+++ b/admin-server/CloudGaming.Shared.Admin/ApplicationServices/ApplicationGameService.cs
@@ -56,7 +56,7 @@ namespace CloudGaming.Shared.Admin.ApplicationServices
foreach (var property in properties)
{
- // 判断属性类型是否为 DateTime,且名称是否以 "Create" 开头
+ // 判断属性类型是否为 DateTime,且名称是否以 "Create" 开头 Create creat
if (property.PropertyType == typeof(DateTime) && (property.Name.StartsWith("Create") || property.Name.StartsWith("Update")))
{
// 获取属性的值