填充内容

This commit is contained in:
zpc 2024-06-30 04:47:39 +08:00
parent 3fdff4747f
commit 25c69541f9
67 changed files with 3831 additions and 2 deletions

View File

@ -1,3 +1,2 @@
# document
# document 文档
文档

View File

@ -0,0 +1,59 @@
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>bigdatacache</Title>
<Shortcut>bigdatacache</Shortcut>
<Description>类的代码片段包含数据库访问</Description>
<Author>zz</Author>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
<SnippetType>SurroundsWith</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>name</ID>
<ToolTip>字段名</ToolTip>
<Default>T_APP_CONFIGS</Default>
</Literal>
<Literal>
<ID>daoclass</ID>
<ToolTip>类名</ToolTip>
<Default>T_App_Config</Default>
</Literal>
</Declarations>
<Code Language="csharp"><![CDATA[
/// <summary>
/// 缓存数据
/// </summary>
private static List<$daoclass$> _$name$ = null;
/// <summary>
/// 锁
/// </summary>
private static object _$name$_LOCK = new object();
/// <summary>
/// app配置数据引用类型不可修改只能查询使用
/// </summary>
public static List<$daoclass$> $name$LIST
{
get
{
if (_$name$ == null)
{
lock (_$name$_LOCK)
{
var dao = new DAO();
_$name$ = dao.daoRes.context.$daoclass$.ToList();
}
}
return _$name$;
}
}
$selected$$end$
]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>

View File

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>classBll</Title>
<Shortcut>classBll</Shortcut>
<Description>类的代码片段</Description>
<Author>zz</Author>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
<SnippetType>SurroundsWith</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>modifier</ID>
<ToolTip>修饰符</ToolTip>
<Default>public</Default>
</Literal>
<Literal>
<ID>name</ID>
<ToolTip>类名</ToolTip>
<Default>MyClass</Default>
</Literal>
<Literal>
<ID>inherit</ID>
<ToolTip>类名</ToolTip>
<Default>BLLBase</Default>
</Literal>
</Declarations>
<Code Language="csharp"><![CDATA[
/// <summary>
///
/// </summary>
$modifier$ class $name$ : $inherit$
{
/// <summary>
///
/// </summary>
/// <param name="dao"></param>
$modifier$ $name$(DAO dao):base(dao){
}
$selected$$end$
}]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>

View File

@ -0,0 +1,63 @@
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>classBlldao</Title>
<Shortcut>classBlldao</Shortcut>
<Description>类的代码片段包含数据库访问</Description>
<Author>zz</Author>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
<SnippetType>SurroundsWith</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>name</ID>
<ToolTip>类名</ToolTip>
<Default>MyClass</Default>
</Literal>
<Literal>
<ID>daoclass</ID>
<ToolTip>类名</ToolTip>
<Default>T_</Default>
</Literal>
</Declarations>
<Code Language="csharp"><![CDATA[
/// <summary>
///
/// </summary>
public class $name$ : BLLBase
{
/// <summary>
///
/// </summary>
/// <param name="dao"></param>
public $name$(DAO dao):base(dao){
}
/// <summary>
///
/// </summary>
/// <returns></returns>
public List<$daoclass$> GetList()
{
var list = dao.daoRes.context.$daoclass$.Where(it=>true).ToList();
return list;
}
/// <summary>
///
/// </summary>
/// <returns></returns>
public $daoclass$ GetFirstOrDefault() {
var data = dao.daoRes.context.$daoclass$.FirstOrDefault(it => true);
return data;
}
$selected$$end$
}]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>

View File

@ -0,0 +1,256 @@
{
"Connections": [
{
"ConnectionType": 25,
"Group": "moguext",
"ID": "3b50fe58-b722-43d8-bc07-6a768ed59462",
"Name": "moguext",
"GroupDetails": {
"SafePassword": "LVfk8hUoy/orZ6HR+VxTsw==",
"UserName": "sjgame"
},
"MetaInformation": {
"Cost": 0.0,
"PasswordHistory": [
{
"LoggedModifiedBy": "ZHANGZHE-PC\\zhangzhe",
"ModifiedBy": "ZHANGZHE-PC\\zhangzhe",
"ModifiedDateTimeString": "2023-03-29T07:19:23",
"SafePassword": "ob6Y/dNMaZU14hgzF60kzQ=="
}
]
}
},
{
"Url": "43.129.195.20:33389",
"ConnectionType": 1,
"CredentialConnectionID": "1310CF82-6FAB-4B7A-9EEA-3E2E451CA2CF",
"Group": "moguext\\海外",
"ID": "53efb8ce-b5da-40a8-a650-4d925670b61a",
"Name": "PC",
"OpenEmbedded": true,
"RDP": {}
},
{
"Url": "101.42.136.223:33389",
"ConnectionType": 1,
"CredentialConnectionID": "1310CF82-6FAB-4B7A-9EEA-3E2E451CA2CF",
"Group": "moguext\\国内",
"ID": "8f6f0ca1-83e4-44d3-a3b6-e2b24d0117dd",
"Name": "PC",
"OpenEmbedded": true,
"RDP": {}
},
{
"Url": "82.157.13.127:33389",
"ConnectionType": 1,
"CredentialConnectionID": "1310CF82-6FAB-4B7A-9EEA-3E2E451CA2CF",
"Group": "moguext\\国内",
"ID": "d4ad266c-0ea8-4013-8357-b58ce6bb5a19",
"Name": "web1",
"OpenEmbedded": true,
"RDP": {}
},
{
"Url": "101.32.15.216:33389",
"ConnectionType": 1,
"CredentialConnectionID": "1310CF82-6FAB-4B7A-9EEA-3E2E451CA2CF",
"Group": "moguext\\海外",
"ID": "abc22a42-2683-4c63-802b-978141388f75",
"Name": "web1",
"OpenEmbedded": true,
"RDP": {}
},
{
"Url": "82.157.29.123:33389",
"ConnectionType": 1,
"CredentialConnectionID": "1310CF82-6FAB-4B7A-9EEA-3E2E451CA2CF",
"Group": "moguext\\国内",
"ID": "4c69f35e-f313-4541-bafe-dd549afeea2d",
"Name": "web2",
"OpenEmbedded": true,
"RDP": {}
},
{
"Url": "101.32.14.235:33389",
"ConnectionType": 1,
"CredentialConnectionID": "1310CF82-6FAB-4B7A-9EEA-3E2E451CA2CF",
"Group": "moguext\\海外",
"ID": "dfa45f6b-4e19-4229-b94d-0c95b6190e15",
"Name": "web2",
"OpenEmbedded": true,
"RDP": {}
},
{
"Url": "43.135.25.193:33389",
"ConnectionType": 1,
"CredentialConnectionID": "1310CF82-6FAB-4B7A-9EEA-3E2E451CA2CF",
"Group": "moguext\\海外",
"ID": "645f675f-9ff4-4e31-a663-6ec9d7370bcf",
"Name": "web3",
"OpenEmbedded": true,
"RDP": {}
},
{
"Url": "82.157.14.24:33389",
"ConnectionType": 1,
"CredentialConnectionID": "1310CF82-6FAB-4B7A-9EEA-3E2E451CA2CF",
"Group": "moguext\\国内",
"ID": "5f98d041-50dc-4f9b-94e4-3a6019c05eaf",
"Name": "web3",
"OpenEmbedded": true,
"RDP": {}
},
{
"Url": "121.5.26.77:33389",
"ConnectionType": 1,
"CredentialConnectionID": "1310CF82-6FAB-4B7A-9EEA-3E2E451CA2CF",
"Group": "moguext",
"ID": "4ad621ac-fd72-461b-8fb7-475654c1d616",
"Name": "测试环境",
"OpenEmbedded": true,
"RDP": {}
},
{
"ConnectionType": 25,
"CredentialConnectionID": "1310CF82-6FAB-4B7A-9EEA-3E2E451CA2CF",
"Group": "moguext\\国内",
"ID": "d73becde-7ef3-4a03-9dcd-b6d2f74b5938",
"Name": "国内"
},
{
"ConnectionType": 25,
"CredentialConnectionID": "1310CF82-6FAB-4B7A-9EEA-3E2E451CA2CF",
"Group": "moguext\\海外",
"ID": "54e52304-dc8c-44e3-b050-d82b17c3eb81",
"Name": "海外"
},
{
"Url": "172.27.27.21",
"ConnectionType": 1,
"Group": "家",
"ID": "4a19dfdf-3774-49c2-81ee-7d3846a4a858",
"Name": "家",
"OpenEmbedded": true,
"MetaInformation": {
"Cost": 0.0,
"PasswordHistory": [
{
"LoggedModifiedBy": "ZHANGZHE-PC\\zhangzhe",
"ModifiedBy": "ZHANGZHE-PC\\zhangzhe",
"ModifiedDateTimeString": "2023-09-01T01:46:09",
"SafePassword": "JQaNT6ye7Lk="
},
{
"LoggedModifiedBy": "ZHANGZHE-PC\\zhangzhe",
"ModifiedBy": "ZHANGZHE-PC\\zhangzhe",
"ModifiedDateTimeString": "2023-03-30T02:42:27",
"SafePassword": "o63hoW1KAMI="
}
]
},
"RDP": { "SafePassword": "UwNATVDYiZ0=", "UserName": "zpc" }
},
{
"ConnectionType": 25,
"Group": "家",
"ID": "6c79556d-587f-40ef-bfb0-304445f8bb4a",
"Name": "家"
},
{
"Url": "81.70.0.132:33389",
"ConnectionType": 1,
"CredentialConnectionID": "1310CF82-6FAB-4B7A-9EEA-3E2E451CA2CF",
"Group": "moguext\\国内",
"ID": "10979a05-9984-4564-9fef-cdf1e891dce7",
"Name": "扩展服务",
"OpenEmbedded": true,
"RDP": {}
},
{
"Url": "43.129.199.134:33389",
"ConnectionType": 1,
"CredentialConnectionID": "1310CF82-6FAB-4B7A-9EEA-3E2E451CA2CF",
"Group": "moguext\\海外",
"ID": "ddeec6fa-6fae-4068-8c18-17ec0c05083e",
"Name": "扩展服务",
"OpenEmbedded": true,
"RDP": {}
},
{
"ConnectionType": 25,
"CredentialConnectionID": "1310CF82-6FAB-4B7A-9EEA-3E2E451CA2CF",
"Group": "moguext\\其它",
"ID": "ee02aa6b-c8d9-4cf9-a4c6-38cc0e1fe205",
"Name": "其它"
},
{
"Url": "112.124.23.127:33389",
"ConnectionType": 1,
"Group": "moguext\\国内",
"ID": "e0062dd8-71de-4b61-8aaa-1f072ecae07f",
"Name": "跳板机",
"OpenEmbedded": true,
"MetaInformation": {
"Cost": 0.0,
"PasswordHistory": [
{
"LoggedModifiedBy": "ZHANGZHE-PC\\zhangzhe",
"ModifiedBy": "ZHANGZHE-PC\\zhangzhe",
"ModifiedDateTimeString": "2023-07-28T05:59:14",
"SafePassword": "GmAg8YgbEf2Jo1yVEEXGGckO+rAJWTrK"
}
]
},
"RDP": {
"SafePassword": "eUzDxJLEO+b1vA8xlsvMWM59DNt0JJz+",
"UserName": "zhangzhe"
}
},
{
"Url": "112.124.23.127:33389",
"ConnectionType": 1,
"Group": "moguext\\国内",
"ID": "5cd54c98-ef36-4b05-ac54-8da50d057700",
"Name": "跳板机1",
"OpenEmbedded": true,
"MetaInformation": {
"Cost": 0.0,
"PasswordHistory": [
{
"LoggedModifiedBy": "ZHANGZHE-PC\\zhangzhe",
"ModifiedBy": "ZHANGZHE-PC\\zhangzhe",
"ModifiedDateTimeString": "2023-09-19T08:09:34",
"SafePassword": "omcbYur0NK7sYHNDaWy6ZskO+rAJWTrK"
}
]
},
"RDP": {
"SafePassword": "fV8bd+9uDurFrlkdVsxGqc59DNt0JJz+",
"UserName": "yinming"
}
},
{
"Url": "43.143.246.189:33389",
"ConnectionType": 1,
"CredentialConnectionID": "1310CF82-6FAB-4B7A-9EEA-3E2E451CA2CF",
"Group": "moguext\\其它",
"ID": "8493afcd-6f3f-41a0-87e7-f057799858bd",
"Name": "西南交大服务器",
"OpenEmbedded": true,
"RDP": {}
},
{
"Url": "146.56.198.144:33389",
"ConnectionType": 1,
"CredentialConnectionID": "1310CF82-6FAB-4B7A-9EEA-3E2E451CA2CF",
"Group": "moguext\\其它",
"ID": "e6820f26-81b8-4713-be5a-5b62dc1ea436",
"Name": "西南交大正式服务器-跳板机",
"OpenEmbedded": true,
"RDP": {}
}
],
"DatabaseID": "a9c3669a-1bb4-426a-98f6-6d03854e8a09",
"Version": 2
}

Binary file not shown.

Binary file not shown.

87
常用SQL/SQLQuery1.sql Normal file
View File

@ -0,0 +1,87 @@
select * from HissAI_UserData.[dbo].[T_Users] where UserName like '%466bb414a3754d55%'
select top 1000 * from Phone300_VL_UI_CBT.dbo.T_App_Config;--App配置
select top 1000 * from HissAI_Res.[dbo].[T_App_Config]
select * from Phone300_VL_UI_CBT.dbo.T_VL_UI_Popout
select * from HissAI_UserData.[dbo].[T_Users_Data] where UserId=10123
update HissAI_UserData.[dbo].[T_Users_Data] set Currency=1000 where id=10114
select * from HissAI_UserData.[dbo].[T_Users] where username='24bc5fc59a5dc3b4'
select * from HissAI_UserData.[dbo].[T_Users_Data] where UserId=10113
select * from HissAI_UserData.[dbo].[T_Users] where username='189eed353de9b77f'
select * from HissAI_UserData.[dbo].[T_Users_Data] where UserId=10098
select top 1000 * from HissAI_Res.[dbo].[T_App_Images]
select * from HissAI_UserData.[dbo].[T_Users] where username='3f952f27b93776c0'
select * from HissAI_UserData.[dbo].[T_Users_Data]
select * from HissAI_UserData.[dbo].[T_Users_Data]
update HissAI_UserData.[dbo].[T_Users_Data] set Currency=0,StatisticsData='' where UserId=44
select * from HissAI_Data.dbo.T_Draw_Log where SizeTemplateId!=0 UserId=10120
delete HissAI_UserData.[dbo].[T_Users_Data] where userid=11
delete HissAI_UserData.[dbo].[T_Users] where id=11
select count(1) from HissAI_Data.dbo.T_Draw_Log
select * from
select *,(select count(1) from HissAI_UserData.dbo.T_User_Favorite where DataId=f.DataId and appId=f.appid ) Favorite
from HissAI_UserData.dbo.T_User_Favorite f where userid='' and [type]=1 and appid=1 order by Favorite desc
select RAND() from HissAI_UserData.dbo.T_User_PhotoAlbum where type=0 and id<158
update HissAI_UserData.dbo.T_User_PhotoAlbum set type=2 where type=0 and id<158
select * from HissAI_Res.[dbo].[T_App_Language] where name='QQ绑定成功' and
select * from HissAI_UserData.dbo.T_User_Favorite where [type]=0 and id=5
select * from HissAI_UserData.dbo.T_User_PhotoAlbum where [type]=1 and DrawId=21405 and userid=7
order by Favorite desc
select * from HissAI_Data.[dbo].[T_User_LimitAction_Log]
17
select * from HissAI_Res.dbo.[T_App_LevitatingBall]
select * from HissAI_Res.dbo.T_App_Popup
select * from HissAI_Data.[dbo].[T_Draw_Label]
select * from HissAI_Data.[dbo].[T_Draw_Label_Describe]
update HissAI_UserData.dbo.T_User_PhotoAlbum set Type=0 where [type]=2 order by Favorite desc
select * from HissAI_UserData.dbo.T_User_PhotoAlbum where [type]=1 and Favorite=2
select * from HissAI_UserData.dbo.T_User_PhotoAlbum where [type]=1 and userid=71
select * from HissAI_UserData.dbo.T_User_PhotoAlbum where
[type]=1
select * from HissAI_UserData.dbo.T_User_OrderComplete
update p set p.Favorite=(select count(1) from HissAI_UserData.dbo.T_User_PhotoAlbum where [type]=1 and Favorite=p.id) from HissAI_UserData.dbo.T_User_PhotoAlbum p where [type]=0 and id=2
select Id,UserId,[Type],FavoriteTime,UpdateTime,CreateTime,[Desc],AppId,DrawId,isnull((select Favorite from HissAI_UserData.dbo.T_User_PhotoAlbum where [type]=0 and id=f.Favorite),0) Favorite from HissAI_UserData.dbo.T_User_PhotoAlbum f
where [type]=0 and userid=
select u.Id,u.Email,u.IP,u.IpContinent,u.IpCountry,u.NickName,u.UserName,d.UserIconUrl,d.TemporaryCurrency,d.Currency,d.VipType from HissAI_UserData.[dbo].[T_Users] u left join HissAI_UserData.[dbo].[T_Users_Data] d on u.Id=d.UserId and u.AppId=d.AppId
where u.id in ( 10079)
select *,
(select count(1) from HissAI_UserData.dbo.T_User_PhotoAlbum where DrawId=f.DrawId and appId=f.appid and [type]=0 ) Favorite
from HissAI_UserData.dbo.T_User_PhotoAlbum f
where userid=1 and [type]=1 and appid=1
select top 30 Id,UserId, from HissAI_UserData.dbo.T_User_PhotoAlbum
SELECT top 30 Id, UserId, [Type], FavoriteTime, UpdateTime, CreateTime, [Desc], AppId, DrawId, Favorite, TaskId FROM
[HissAI_UserData].dbo.T_User_PhotoAlbum where [type]=0 and appid=1001 order by FavoriteTime
select ISNULL(count(1),0) from [HissAI_UserData].dbo.T_User_PhotoAlbum where [type]=0 and appid=1002
select * from Phone300_VL_UI_CBT.dbo.T_VL_UI_FloatBall_Cfg
select * from HissAI_Res.dbo.T_App_Language
select count(1) from HissAI_Data.dbo.T_User_LimitAction_Log where appid=1001and userid=1
alter table HissAI_Res.dbo.T_App_Language add AppId int not null default 1000
insert into T_App_Language(Name,Value,Language)
select '不限','unlimited','en'
union all
select '吉卜力风景','ghibli scenery','en'
union all
select '吉卜力人物','ghibli figure','en'
select RAND() from HissAI_UserData.dbo.T_User_PhotoAlbum
GalleryListDto
select * from Phone300_VL_UI_CBT.dbo.T_UI_ConfigImages
select top 1000 * from CloudPlatFormUserData.dbo.T_Users_ConsumeList where bossid=25001 and CreateTime>'2023-04-23';--
select top 1000 * from CloudPlatFormUserData.dbo.T_Users_ConsumeAgreement;--
select top 1000 * from CloudPlatFormUserData.dbo.T_Users_ConsumeMoneyList;--

1
常用SQL/SQLQuery2.sql Normal file
View File

@ -0,0 +1 @@
select ISNULL(sum(price),0) from HissAI_UserData.dbo.T_User_OrderComplete where userid=''

View File

@ -0,0 +1,50 @@
insert into HissAI_Res.dbo.T_App_Language(Name,Value,Language)
SELECT '不限', 'unlimited', 'en'
UNION ALL
SELECT '吉卜力风景', 'ghibli scenery', 'en'
UNION ALL
SELECT '吉卜力人物', 'ghibli figure', 'en'
UNION ALL
SELECT '水墨', 'ink painting', 'en'
UNION ALL
SELECT '艺术头像', 'art avatar', 'en'
UNION ALL
SELECT '商用logo', 'commercial logo', 'en'
UNION ALL
SELECT '新海诚', 'Makoto Shinkai', 'en'
UNION ALL
SELECT '漫画线稿', 'Comic draft', 'en'
UNION ALL
SELECT '杂志风格', 'magazine style', 'en'
UNION ALL
SELECT '三渲二', '3D to 2D', 'en'
UNION ALL
SELECT 'Q版人物', 'Q-version figure', 'en'
UNION ALL
SELECT '上传成功,等待审核中', 'Uploaded, waiting for review', 'en'
UNION ALL
SELECT '创单成功', 'Created a successful order', 'en'
UNION ALL
SELECT '删除成功', 'successfully deleted', 'en'
UNION ALL
SELECT '此订单产品已发放,请勿重复提交', 'Already issued, please do not resubmit', 'en'
UNION ALL
SELECT '收藏成功', 'Collection successfully', 'en'
UNION ALL
SELECT '登录成功', 'login successful', 'en'
UNION ALL
SELECT '绘画点不足', 'drawing point is empty', 'en'
UNION ALL
SELECT '产品成功发放', 'Product released successfully', 'en'
UNION ALL
SELECT '要上传的图片不存在', 'The image to upload does not exist', 'en'
UNION ALL
SELECT '绘画点100', 'Painting Points 100', 'en'
UNION ALL
SELECT '绘画点350', 'Drawing Points 350', 'en'
UNION ALL
SELECT '绘画点600', 'Drawing Points 600', 'en'
UNION ALL
SELECT '收藏资源不存在', 'favorite resource does not exist', 'en'
UNION ALL
SELECT '取消收藏成功', 'Cancel favorite successfully', 'en'

View File

@ -0,0 +1,25 @@
SELECT * FROM Phone300_VL_UI_CBT.dbo.T_VL_UI_Epg_CategoryCfg where appId=1 and EpgParentCategory!=0
alter table Phone300_VL_UI_CBT.dbo.T_VL_UI_Epg_CategoryCfg add IsQuickStartPopUp bit default 0 not null;
alter table Phone300_VL_UI_CBT.dbo.T_VL_UI_Epg_CategoryCfg add IsOnlineQuickStartPopUp bit default 0 not null;
alter table Phone300_VL_UI_CBT.dbo.T_VL_UI_GameInputSetting add IsToggleKeyboard bit default 0 not null;
alter table Phone300_VL_UI_CBT.dbo.T_VL_UI_Epg_Cfg add IsOnlineQuickStartPopUp bit default 0 not null;
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'联机游戏快速启动弹窗' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_VL_UI_Epg_CategoryCfg', @level2type=N'COLUMN',@level2name=N'IsOnlineQuickStartPopUp'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'游戏快速启动弹窗' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_VL_UI_Epg_CategoryCfg', @level2type=N'COLUMN',@level2name=N'IsQuickStartPopUp'
GO
update Phone300_VL_UI_CBT.dbo.T_VL_UI_Epg_CategoryCfg set IsQuickStartPopUp=1 where Extend1 like '%快速启动弹窗%'
select* from Phone300_VL_UI_CBT.dbo.T_VL_UI_GameInputSetting
select * from Phone300_VL_UI_CBT.dbo.T_VL_UI_Epg_Cfg
alter table Phone300_VL_UI_CBT.dbo.T_VL_UI_Epg_Cfg add IsOnlineQuickStartPopUp bit default 0 not null;
alter table Phone300_VL_UI_CBT.dbo.T_VL_UI_Epg_Cfg add StartEnableTime datetime;
alter table Phone300_VL_UI_CBT.dbo.T_VL_UI_Epg_Cfg add EndEnableTime datetime;

95
常用SQL/成就表.sql Normal file
View File

@ -0,0 +1,95 @@
USE [MoguExt]
GO
/****** Object: Table [dbo].[T_User_Achievement] Script Date: 2022/10/10 11:25:37 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[T_User_Achievement](
[Id] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
[AchievemenGuid] [nvarchar](64) NULL,
[BossId] [nvarchar](50) NULL,
[AppId] [int] NOT NULL,
[AchievementType] [int] NOT NULL,
[AchievementName] [nvarchar](200) NULL,
[SuccessIocn] [int] NOT NULL,
[ProcessingIocn] [int] NOT NULL,
[UndoneIocn] [int] NOT NULL,
[Diamond] [int] NOT NULL,
[MoguBi] [int] NOT NULL,
[RestrictedDate] [datetime] NOT NULL,
[OrderById] [int] NOT NULL,
[ShowText] [nvarchar](200) NULL,
[CreateDateTime] [datetime] NOT NULL,
[UpdateTimeDate] [datetime] NOT NULL,
[IsEnable] [bit] NOT NULL,
[BackgroundIocn] [int] NOT NULL,
[RewardText] [nvarchar](200) NULL,
CONSTRAINT [PK_T_USER_ACHIEVEMENT] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'唯一编号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Achievement', @level2type=N'COLUMN',@level2name=N'AchievemenGuid'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'渠道号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Achievement', @level2type=N'COLUMN',@level2name=N'BossId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'app包' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Achievement', @level2type=N'COLUMN',@level2name=N'AppId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'成就类型1:玩游戏 2 消耗3.充值' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Achievement', @level2type=N'COLUMN',@level2name=N'AchievementType'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'成就名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Achievement', @level2type=N'COLUMN',@level2name=N'AchievementName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'成就完成图片' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Achievement', @level2type=N'COLUMN',@level2name=N'SuccessIocn'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'成就进行中图片' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Achievement', @level2type=N'COLUMN',@level2name=N'ProcessingIocn'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'成就未完成图片' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Achievement', @level2type=N'COLUMN',@level2name=N'UndoneIocn'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'成就奖励钻石' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Achievement', @level2type=N'COLUMN',@level2name=N'Diamond'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'成就奖励蘑菇币' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Achievement', @level2type=N'COLUMN',@level2name=N'MoguBi'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'成就完成限制日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Achievement', @level2type=N'COLUMN',@level2name=N'RestrictedDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'顺序,成就完成顺序' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Achievement', @level2type=N'COLUMN',@level2name=N'OrderById'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'显示文案' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Achievement', @level2type=N'COLUMN',@level2name=N'ShowText'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'创建时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Achievement', @level2type=N'COLUMN',@level2name=N'CreateDateTime'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'修改时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Achievement', @level2type=N'COLUMN',@level2name=N'UpdateTimeDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否启用' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Achievement', @level2type=N'COLUMN',@level2name=N'IsEnable'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'成就详情背景图片' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Achievement', @level2type=N'COLUMN',@level2name=N'BackgroundIocn'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'奖励文案' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Achievement', @level2type=N'COLUMN',@level2name=N'RewardText'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用户成就' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Achievement'
GO

View File

@ -0,0 +1,62 @@
USE [MoguExt]
GO
/****** Object: Table [dbo].[T_User_AchievementTrigger] Script Date: 2022/10/10 11:25:30 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[T_User_AchievementTrigger](
[Id] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
[AchievementTriggerName] [nvarchar](50) NULL,
[AchievementTriggerCondition] [nvarchar](20) NULL,
[AchievementTriggerValue] [nvarchar](300) NULL,
[AchievementTriggerParams] [nvarchar](300) NULL,
[AchievementTriggerTriggerType] [int] NOT NULL,
[CreateDateTime] [datetime] NULL,
[UpdateDateTime] [datetime] NULL,
[Identigier] [nvarchar](64) NULL,
[AchievementTriggerMode] [int] NOT NULL,
CONSTRAINT [PK_T_USER_ACHIEVEMENTTRIGGER] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'主键' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementTrigger', @level2type=N'COLUMN',@level2name=N'Id'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'触发名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementTrigger', @level2type=N'COLUMN',@level2name=N'AchievementTriggerName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'触发条件' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementTrigger', @level2type=N'COLUMN',@level2name=N'AchievementTriggerCondition'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'触发条件值' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementTrigger', @level2type=N'COLUMN',@level2name=N'AchievementTriggerValue'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'参数' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementTrigger', @level2type=N'COLUMN',@level2name=N'AchievementTriggerParams'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'触发条件标识' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementTrigger', @level2type=N'COLUMN',@level2name=N'AchievementTriggerTriggerType'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'创建时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementTrigger', @level2type=N'COLUMN',@level2name=N'CreateDateTime'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'修改时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementTrigger', @level2type=N'COLUMN',@level2name=N'UpdateDateTime'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'所属快捷支付标识' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementTrigger', @level2type=N'COLUMN',@level2name=N'Identigier'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'触发方式1连续,.2累计,' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementTrigger', @level2type=N'COLUMN',@level2name=N'AchievementTriggerMode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'成就触发条件表' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementTrigger'
GO

View File

@ -0,0 +1,77 @@
USE [MoguExt]
GO
/****** Object: Table [dbo].[T_User_AchievementSpeed] Script Date: 2022/10/10 11:25:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[T_User_AchievementSpeed](
[Id] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
[AchievemenGuid] [nvarchar](64) NULL,
[AchievemenName] [nvarchar](200) NULL,
[AchievemenTriggerId] [int] NOT NULL,
[AchievemenTriggerName] [nvarchar](200) NULL,
[IsComplete] [bit] NOT NULL,
[UserId] [nvarchar](200) NULL,
[BossId] [nvarchar](200) NULL,
[AppId] [int] NOT NULL,
[CreateDateTime] [datetime] NOT NULL,
[Remark] [nvarchar](300) NULL,
[Parameter1] [nvarchar](300) NULL,
[Parameter2] [nvarchar](300) NULL,
[Parameter3] [nvarchar](300) NULL,
CONSTRAINT [PK_T_USER_ACHIEVEMENTSPEED] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'主键' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementSpeed', @level2type=N'COLUMN',@level2name=N'Id'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'成就唯一编号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementSpeed', @level2type=N'COLUMN',@level2name=N'AchievemenGuid'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'成就名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementSpeed', @level2type=N'COLUMN',@level2name=N'AchievemenName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'成就进度' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementSpeed', @level2type=N'COLUMN',@level2name=N'AchievemenTriggerId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'成就进度名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementSpeed', @level2type=N'COLUMN',@level2name=N'AchievemenTriggerName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否完成' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementSpeed', @level2type=N'COLUMN',@level2name=N'IsComplete'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用户id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementSpeed', @level2type=N'COLUMN',@level2name=N'UserId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'渠道号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementSpeed', @level2type=N'COLUMN',@level2name=N'BossId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'app包' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementSpeed', @level2type=N'COLUMN',@level2name=N'AppId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'完成时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementSpeed', @level2type=N'COLUMN',@level2name=N'CreateDateTime'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementSpeed', @level2type=N'COLUMN',@level2name=N'Remark'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'参数1' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementSpeed', @level2type=N'COLUMN',@level2name=N'Parameter1'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'参数2' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementSpeed', @level2type=N'COLUMN',@level2name=N'Parameter2'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'参数3' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementSpeed', @level2type=N'COLUMN',@level2name=N'Parameter3'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用户完成的成就进度' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementSpeed'
GO

View File

@ -0,0 +1,37 @@
--
--
select UserId,Totals,UserCount,(select NickName from HissAI_UserData.dbo.T_Users u where u.Id=t.UserId ) NickName,
(select UserIconUrl from HissAI_UserData.dbo.T_Users_Data u where u.UserId=t.UserId ) UserIconUrl
from (
select top 30 UserId,sum(c) Totals,count(1) UserCount from (
select DrawId,count(1) c,
(select top 1 UserId from HissAI_UserData.dbo.T_User_Gallery where DrawId=l.DrawId) UserId
from ( select DrawId,CreateTime as ExaminationDatetime,UserId from HissAI_UserData.dbo.T_User_Like li ) l
where ExaminationDatetime>='2024-02-01' and ExaminationDatetime<'2024-03-01' group by DrawId
) x where UserId!='' group by UserId order by Totals desc
) t order by Totals desc
--
select UserId,Totals,UserCount,(select NickName from HissAI_UserData.dbo.T_Users u where u.Id=t.UserId ) NickName,(select UserIconUrl from HissAI_UserData.dbo.T_Users_Data u where u.UserId=t.UserId ) UserIconUrl from (
select top 30 UserId,count(1) Totals,count(1) UserCount from HissAI_UserData.dbo.T_User_Gallery where ExaminationDatetime>='2024-02-01' and ExaminationDatetime<'2024-03-01' group by userId
order by Totals desc
) t order by Totals desc
--
select UserId,Totals,UserCount,(select NickName from HissAI_UserData.dbo.T_Users u where u.Id=t.UserId ) NickName,(select UserIconUrl from HissAI_UserData.dbo.T_Users_Data u where u.UserId=t.UserId ) UserIconUrl from (
select top 30 UserId,SUM(Totals) Totals,count(1) UserCount from (
select FollowDrawId,count(1) Totals from (
select FollowDrawId,CreateTime ExaminationDatetime from HissAI_Data.dbo.T_Draw_Log where FollowDrawId!='' and IsException!=1
) Draw_Log
where ExaminationDatetime>='2024-02-01' and ExaminationDatetime<'2024-03-01'
group by FollowDrawId
) drawlog inner join HissAI_UserData.dbo.T_User_Gallery g
on g.DrawId=drawlog.FollowDrawId where UserId!=0
group by UserId order by Totals desc
) t order by Totals desc

View File

@ -0,0 +1,79 @@
USE [MoguExt]
GO
/****** Object: Table [dbo].[T_Ext_GamePopup] Script Date: 2022/10/10 11:26:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[T_Ext_GamePopup](
[Id] [numeric](18, 0) IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
[ExtGamePopupId] [nvarchar](64) NULL,
[ProductId] [nvarchar](100) NULL,
[ProductImage] [int] NOT NULL,
[ProductType] [int] NOT NULL,
[AppId] [int] NOT NULL,
[Continent] [nvarchar](200) NULL,
[CountryName] [nvarchar](200) NULL,
[BossId] [nvarchar](200) NULL,
[OnlinePlatform] [nvarchar](100) NULL,
[CreateDateTime] [datetime] NOT NULL,
[UpdateDateTime] [datetime] NOT NULL,
[ExtGameName] [nvarchar](200) NULL,
[OrderById] [int] NOT NULL,
[IsState] [bit] NOT NULL,
CONSTRAINT [PK_T_EXT_GAMEPOPUP] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'系统编号,用于关联条件' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_Ext_GamePopup', @level2type=N'COLUMN',@level2name=N'ExtGamePopupId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'产品编号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_Ext_GamePopup', @level2type=N'COLUMN',@level2name=N'ProductId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'产品图片' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_Ext_GamePopup', @level2type=N'COLUMN',@level2name=N'ProductImage'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'产品类型' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_Ext_GamePopup', @level2type=N'COLUMN',@level2name=N'ProductType'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'app包' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_Ext_GamePopup', @level2type=N'COLUMN',@level2name=N'AppId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_Ext_GamePopup', @level2type=N'COLUMN',@level2name=N'Continent'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'国家' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_Ext_GamePopup', @level2type=N'COLUMN',@level2name=N'CountryName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'渠道号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_Ext_GamePopup', @level2type=N'COLUMN',@level2name=N'BossId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'平台' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_Ext_GamePopup', @level2type=N'COLUMN',@level2name=N'OnlinePlatform'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'创建时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_Ext_GamePopup', @level2type=N'COLUMN',@level2name=N'CreateDateTime'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'修改时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_Ext_GamePopup', @level2type=N'COLUMN',@level2name=N'UpdateDateTime'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_Ext_GamePopup', @level2type=N'COLUMN',@level2name=N'ExtGameName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'排序,优先级' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_Ext_GamePopup', @level2type=N'COLUMN',@level2name=N'OrderById'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否启用' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_Ext_GamePopup', @level2type=N'COLUMN',@level2name=N'IsState'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'退出游戏后显示弹窗和购买道具' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_Ext_GamePopup'
GO

View File

@ -0,0 +1,32 @@
--tv
select count(1) from (
select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=0 and LoginTime>='2023-09-01' and LoginTime<'2023-10-01'
group by UserId
) t
-- tv new
select count(1) from (
select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=19 and LoginTime>='2023-09-01' and LoginTime<'2023-10-01'
group by UserId
) t
--
select count(1) from (
select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=1 and LoginTime>='2023-09-01' and LoginTime<'2023-10-01' and BossId!='25001'
group by UserId
) t
--
select count(1) from (
select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=3 and LoginTime>='2023-09-01' and LoginTime<'2023-10-01' and BossId!='25001'
group by UserId
) t
-- ios
select count(1) from (
select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=1 and LoginTime>='2023-09-01' and LoginTime<'2023-10-01' and BossId='25001'
group by UserId
) t

View File

@ -0,0 +1,29 @@
select count(1) from (
SELECT UserID FROM MoguExt.dbo.T_Log_Login where CreateTime_Day>=20230801 and CreateTime_Day<20230901 and PlatformType='TV' and UserType>0
and AppId=0
group by userid
) t
select count(1) from (
SELECT UserID FROM MoguExt.dbo.T_Log_Login where CreateTime_Day>=20230801 and CreateTime_Day<20230901 and PlatformType='APP_ANDROID' and UserType>0
and AppId=1
group by userid
) t
select count(1) from (
SELECT UserID FROM MoguExt.dbo.T_Log_Login where CreateTime_Day>=20230801 and CreateTime_Day<20230901 and PlatformType='IOS' and UserType>0
and AppId=1
group by userid
) t
select count(1) from (
select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=3 and LoginTime>='2023-04-01' and LoginTime<'2023-05-01' and BossID!='25001' group by UserId
) t

View File

@ -0,0 +1,83 @@
select count(1) from (
select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=4 and LoginTime>='2023-04-01' and LoginTime<'2023-05-01'
group by UserId
) t
select count(1) from (
select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=10 and LoginTime>='2023-04-01' and LoginTime<'2023-05-01' and BossId='25001'
group by UserId
) t
select count(1) from (
select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=7 and LoginTime>='2023-04-01' and LoginTime<'2023-05-01' and BossId!='27002'
group by UserId
) t
select count(1) from (
select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=7 and LoginTime>='2023-04-01' and LoginTime<'2023-05-01' and BossId='27002'
group by UserId
) t
select count(1) from (
select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=8 and LoginTime>='2023-04-01' and LoginTime<'2023-05-01' and BossId='27002' group by UserId
) t
select count(1) from (
select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=9 and LoginTime>='2023-04-01' and LoginTime<'2023-05-01' group by UserId
) t
select count(1) from (
select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=11 and LoginTime>='2023-04-01' and LoginTime<'2023-05-01' group by UserId
) t
select 12,count(1) from (
select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=12 and LoginTime>='2023-04-01' and LoginTime<'2023-05-01' group by UserId
) t ;
select 13,count(1) from (
select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=13 and LoginTime>='2023-04-01' and LoginTime<'2023-05-01' group by UserId
) t ;
select 14,count(1) from (
select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=14 and LoginTime>='2023-04-01' and LoginTime<'2023-05-01' group by UserId
) t ;
select 15,count(1) from (
select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=15 and LoginTime>='2023-04-01' and LoginTime<'2023-05-01' group by UserId
) t ;
select count(1) from (
select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=4 and LoginTime>='2023-01-01' and LoginTime<'2023-02-01' group by UserId
) t
select count(1) from (
select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=8 and BossId='27002' and LoginTime>='2023-01-01' and LoginTime<'2023-02-01' group by UserId
) t
select count(1) from (
select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=11 and BossId='27002' and LoginTime>='2023-01-01' and LoginTime<'2023-02-01' group by UserId
) t

6
常用SQL/活动4003.sql Normal file
View File

@ -0,0 +1,6 @@
select count( distinct UserID ) from MoguExt.dbo.T_HD_UserLog where HdID=4003
select sum(ParamsInt1) from MoguExt.dbo.T_HD_UserLog where HdID=4003
select * from MoguExt.dbo.T_HD_UserLog where HdID=4003
select Params1,sum(ParamsInt1),((select top 1 Params2 from MoguExt.dbo.T_HD_UserLog where HdID=4003 and Params1=logx.Params1 and ParamsInt2=1 )+'-'+(select top 1 Params2 from MoguExt.dbo.T_HD_UserLog where HdID=4003 and Params1=logx.Params1 and ParamsInt2=3 )) k from MoguExt.dbo.T_HD_UserLog logx where HdID=4003 group by Params1

View File

@ -0,0 +1,96 @@
-- ================================================
-- Template generated from Template Explorer using:
-- Create Procedure (New Menu).SQL
--
-- Use the Specify Values for Template Parameters
-- command (Ctrl-Shift-M) to fill in the parameter
-- values below.
--
-- This block of comments will not be included in
-- the definition of the procedure.
-- ================================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: 同步游戏多语言将AppId4的语言同步到其他AppId
-- =============================================
CREATE PROCEDURE [dbo].[Game_Multilingual_Synchronization]
AS
BEGIN
declare @DefaultCfgCount int ;--
declare @CfgAppId int ;--AppId
declare @CfgCount int ;--Appid语言的数量
select @DefaultCfgCount=count(1) from MoguExt.dbo.T_Multilingual_Cfg where appid=4 and Extended1='游戏';
DECLARE CfgData_Cursor CURSOR FOR
select AppId,count(1) from MoguExt.dbo.T_Multilingual_Cfg where appid!=4 and Extended1='游戏' group by AppId;
--
OPEN CfgData_Cursor
FETCH NEXT FROM CfgData_Cursor INTO @CfgAppId,@CfgCount
--
WHILE @@FETCH_STATUS = 0
BEGIN
if @CfgCount<@DefaultCfgCount
begin
Print ('同步属地==》'+Convert(nvarchar(100),@CfgAppId)+'原数量==>'+Convert(nvarchar(100),@CfgCount));
insert into MoguExt.dbo.T_Multilingual_Cfg([ResId]
,[CfgType]
,[ResType]
,[Language]
,[Value]
,[Uri]
,[Explain]
,[IsExport]
,[CreateTime]
,[Extended1]
,[Extended2]
,[ExtendedInt1]
,[ExtendedInt2]
,[AppId]
,[Title]
,[Title2]
,[ImageId]
,[ImageId2]
,[ImageId3]
,[ImageId4])
select [ResId]
,[CfgType]
,[ResType]
,[Language]
,[Value]
,[Uri]
,[Explain]
,[IsExport]
,[CreateTime]
,[Extended1]
,[Extended2]
,[ExtendedInt1]
,[ExtendedInt2]
,@CfgAppId
,[Title]
,[Title2]
,[ImageId]
,[ImageId2]
,[ImageId3]
,[ImageId4] from MoguExt.dbo.T_Multilingual_Cfg where Extended1='游戏' and appid=4 and Value not in (
select Value from MoguExt.dbo.T_Multilingual_Cfg where appid=@CfgAppId and Extended1='游戏' )
end
else
begin
print('appid{'+Convert(nvarchar(100),@CfgAppId)+'}不需要同步')
end
FETCH NEXT FROM CfgData_Cursor INTO @CfgAppId,@CfgCount
END;
--
CLOSE CfgData_Cursor;
DEALLOCATE CfgData_Cursor;
END
GO

View File

@ -0,0 +1,51 @@
USE [CloudPlatFormData]
GO
/****** Object: Table [dbo].[T_CGame_SeriesGames] Script Date: 2022/10/10 11:43:32 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[T_CGame_SeriesGames](
[Id] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
[SeriesId] [int] NOT NULL,
[SeriesName] [nvarchar](100) NULL,
[Remark] [nvarchar](200) NULL,
[OrderById] [int] NOT NULL,
[CreateDateTime] [datetime] NULL,
[UpdateDateTime] [datetime] NULL,
[IsOnline] [bit] NOT NULL,
CONSTRAINT [PK_T_CGAME_SERIESGAMES] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'系列标识' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_CGame_SeriesGames', @level2type=N'COLUMN',@level2name=N'SeriesId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'系列名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_CGame_SeriesGames', @level2type=N'COLUMN',@level2name=N'SeriesName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_CGame_SeriesGames', @level2type=N'COLUMN',@level2name=N'Remark'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'排序' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_CGame_SeriesGames', @level2type=N'COLUMN',@level2name=N'OrderById'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'创建时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_CGame_SeriesGames', @level2type=N'COLUMN',@level2name=N'CreateDateTime'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'修改时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_CGame_SeriesGames', @level2type=N'COLUMN',@level2name=N'UpdateDateTime'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否启用' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_CGame_SeriesGames', @level2type=N'COLUMN',@level2name=N'IsOnline'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'退出游戏时售卖的系统游戏道具' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_CGame_SeriesGames'
GO

View File

@ -0,0 +1,49 @@
USE [HissAI_Data]
GO
/****** Object: Table [dbo].[T_User_Feedback] Script Date: 2023/5/8 10:16:42 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[T_User_Feedback](
[Id] [int] IDENTITY(1,1) NOT NULL,
[UserId] [bigint] NOT NULL,
[Description] [nvarchar](1000) NULL,
[ContactInfo] [nvarchar](100) NULL,
[AppId] [int] NOT NULL,
[CreateDateTime] [datetime] NOT NULL,
CONSTRAINT [PK__T_User_F__3214EC27B1F8D290] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[T_User_Feedback] ADD DEFAULT (getdate()) FOR [CreateDateTime]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'主键' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Feedback', @level2type=N'COLUMN',@level2name=N'Id'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用户Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Feedback', @level2type=N'COLUMN',@level2name=N'UserId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'反馈内容' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Feedback', @level2type=N'COLUMN',@level2name=N'Description'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'联系信息' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Feedback', @level2type=N'COLUMN',@level2name=N'ContactInfo'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'app包' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Feedback', @level2type=N'COLUMN',@level2name=N'AppId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'创建时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Feedback', @level2type=N'COLUMN',@level2name=N'CreateDateTime'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用户反馈表' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Feedback'
GO

View File

@ -0,0 +1,82 @@
USE [MoguExt]
GO
/****** Object: Table [dbo].[T_User_AchievementFinish] Script Date: 2022/10/10 11:25:41 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[T_User_AchievementFinish](
[Id] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
[AchievemenGuid] [nvarchar](64) NULL,
[AchievemenName] [nvarchar](200) NULL,
[UserId] [nvarchar](200) NULL,
[BossId] [nvarchar](200) NULL,
[AppId] [int] NOT NULL,
[CreateDateTime] [datetime] NOT NULL,
[Remark] [nvarchar](300) NULL,
[ShowAchievemen] [datetime] NOT NULL,
[Speed] [int] NOT NULL,
[IsCompleted] [bit] NOT NULL,
[SpeedCount] [int] NOT NULL,
[IsShowPopup] [bit] NOT NULL,
[UpdateDateTime] [datetime] NOT NULL,
[SuccessDateTime] [datetime] NULL,
CONSTRAINT [PK_T_USER_ACHIEVEMENTFINISH] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'主键' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementFinish', @level2type=N'COLUMN',@level2name=N'Id'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'成就唯一编号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementFinish', @level2type=N'COLUMN',@level2name=N'AchievemenGuid'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'成就名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementFinish', @level2type=N'COLUMN',@level2name=N'AchievemenName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用户id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementFinish', @level2type=N'COLUMN',@level2name=N'UserId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'渠道号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementFinish', @level2type=N'COLUMN',@level2name=N'BossId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'app包' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementFinish', @level2type=N'COLUMN',@level2name=N'AppId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'创建时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementFinish', @level2type=N'COLUMN',@level2name=N'CreateDateTime'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementFinish', @level2type=N'COLUMN',@level2name=N'Remark'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'显示成就完成时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementFinish', @level2type=N'COLUMN',@level2name=N'ShowAchievemen'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'进度' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementFinish', @level2type=N'COLUMN',@level2name=N'Speed'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否完成' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementFinish', @level2type=N'COLUMN',@level2name=N'IsCompleted'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'总进度' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementFinish', @level2type=N'COLUMN',@level2name=N'SpeedCount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否显示过' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementFinish', @level2type=N'COLUMN',@level2name=N'IsShowPopup'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'更新时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementFinish', @level2type=N'COLUMN',@level2name=N'UpdateDateTime'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'修改时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementFinish', @level2type=N'COLUMN',@level2name=N'SuccessDateTime'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用户成就完成进度' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementFinish'
GO

View File

@ -0,0 +1,39 @@
--SELECT ×ÖÎ˵Ã÷=isnull(props.[value],'') FROM syscolumns cols inner join sysobjects objs on cols.id= objs.id and objs.xtype='U' and objs.name<>'dtproperties' left join sys.extended_properties props on cols.id=props.major_id and cols.colid=props.minor_id
SELECT
obj.name AS table_name,
ISNULL(ep.value,'') AS table_description
FROM
sys.objects AS obj
LEFT JOIN
sys.extended_properties AS ep
ON
ep.major_id = obj.object_id
AND ep.minor_id = 0
AND ep.class = 1
WHERE
obj.type = 'U'
ORDER BY
table_name ASC;
SELECT
obj.name AS table_name,
col.name AS column_name,
ISNULL(ep.value,'') AS column_description
FROM
sys.objects AS obj
INNER JOIN
sys.columns AS col
ON
col.object_id = obj.object_id
LEFT JOIN
sys.extended_properties AS ep
ON
ep.major_id = obj.object_id
AND ep.minor_id = col.column_id
AND ep.class = 1
WHERE
obj.type = 'U'
ORDER BY
table_name ASC, col.column_id ASC;

View File

@ -0,0 +1,33 @@
SELECT
t.TABLE_NAME AS [TableName],
c.COLUMN_NAME AS [ColumnName],
c.ORDINAL_POSITION AS [ColumnIndex],
CAST(ISNULL(ep.[value], '') AS NVARCHAR(MAX)) AS [ColumnDescription],
c.DATA_TYPE AS [ColumnType],
CAST(CASE WHEN c.CHARACTER_MAXIMUM_LENGTH IS NULL THEN c.NUMERIC_PRECISION ELSE c.CHARACTER_MAXIMUM_LENGTH END AS NVARCHAR(10)) AS [ColumnSize],
CAST(CASE WHEN EXISTS (
SELECT 1 FROM HissAI_Res.INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc
INNER JOIN HissAI_Res.INFORMATION_SCHEMA.KEY_COLUMN_USAGE kcu ON tc.CONSTRAINT_NAME = kcu.CONSTRAINT_NAME AND tc.TABLE_SCHEMA = kcu.TABLE_SCHEMA AND tc.TABLE_NAME = kcu.TABLE_NAME
WHERE tc.CONSTRAINT_TYPE = 'PRIMARY KEY'
AND kcu.TABLE_SCHEMA = t.TABLE_SCHEMA
AND kcu.TABLE_NAME = t.TABLE_NAME
AND kcu.COLUMN_NAME = c.COLUMN_NAME
) THEN 1 ELSE 0 END AS BIT) AS [ColumnIsPK],
CAST(CASE WHEN c.IS_NULLABLE = 'YES' THEN 1 ELSE 0 END AS BIT) AS [ColumnIsNull],
CAST(COLUMN_DEFAULT AS NVARCHAR(MAX)) AS [ColumnDefault]
FROM
HissAI_Res.INFORMATION_SCHEMA.TABLES t
INNER JOIN
HissAI_Res.INFORMATION_SCHEMA.COLUMNS c ON t.TABLE_SCHEMA = c.TABLE_SCHEMA AND t.TABLE_NAME = c.TABLE_NAME
LEFT OUTER JOIN
HissAI_Res.sys.columns sc ON t.TABLE_SCHEMA + '.' + t.TABLE_NAME = OBJECT_SCHEMA_NAME(sc.object_id) + '.' + OBJECT_NAME(sc.object_id) AND c.COLUMN_NAME = sc.name
LEFT OUTER JOIN
HissAI_Res.sys.extended_properties ep ON t.TABLE_SCHEMA + '.' + t.TABLE_NAME = OBJECT_SCHEMA_NAME(ep.major_id) + '.' + OBJECT_NAME(ep.major_id) AND sc.column_id = ep.minor_id AND ep.name = 'MS_Description'
WHERE
t.TABLE_NAME = 'T_App_Config' and (ep.class=1 or ep.class is null )
ORDER BY
c.ORDINAL_POSITION ASC;

View File

@ -0,0 +1,123 @@
SELECT
col.object_id ,
obj.name AS table_name,
col.name AS column_name,
ISNULL(ep.value,'') AS column_description,
inf.DATA_TYPE as column_type,
ISNULL(inf.CHARACTER_MAXIMUM_LENGTH ,0) as column_length,
indx.name
FROM
sys.objects AS obj
INNER JOIN
sys.columns AS col
ON
col.object_id = obj.object_id
LEFT JOIN
sys.extended_properties AS ep--
ON
ep.major_id = obj.object_id
AND ep.minor_id = col.column_id
AND ep.class = 1
left join
INFORMATION_SCHEMA.COLUMNS inf
on
inf.TABLE_NAME=obj.name and
inf.COLUMN_NAME=col.name
left join sys.indexes indx
on
indx.object_id = obj.object_id
WHERE
obj.type = 'U' and obj.name='T_App_Config'
ORDER BY
table_name ASC, col.column_id ASC;
SELECT
T.TABLE_NAME AS ,
c.ORDINAL_POSITION as ,
C.COLUMN_NAME AS ,
CASE
WHEN PT.VALUE IS NULL THEN ''
ELSE PT.VALUE
END AS ,
C.DATA_TYPE AS ,
C.CHARACTER_MAXIMUM_LENGTH AS ,
CASE
WHEN KCU.COLUMN_NAME IS NULL THEN 0
ELSE 1
END AS
FROM INFORMATION_SCHEMA.TABLES T
INNER JOIN INFORMATION_SCHEMA.COLUMNS C ON T.TABLE_NAME = C.TABLE_NAME
LEFT JOIN sys.extended_properties PT ON PT.major_id = OBJECT_ID(T.TABLE_SCHEMA + '.' + T.TABLE_NAME) AND PT.minor_id = C.ORDINAL_POSITION AND PT.NAME ='MS_Description'
LEFT JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE KCU ON KCU.TABLE_NAME = T.TABLE_NAME AND KCU.COLUMN_NAME = C.COLUMN_NAME AND EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS TC WHERE TC.CONSTRAINT_TYPE = 'PRIMARY KEY' AND TC.CONSTRAINT_NAME = KCU.CONSTRAINT_NAME)
WHERE T.TABLE_TYPE = 'BASE TABLE' AND T.TABLE_NAME ='T_App_Config'
ORDER BY T.TABLE_NAME, C.ORDINAL_POSITION;
SELECT
t.TABLE_NAME AS [],
c.COLUMN_NAME AS [],
c.ORDINAL_POSITION AS [],
CAST(ISNULL(ep.[value], '') AS NVARCHAR(MAX)) AS [],
c.DATA_TYPE AS [],
CAST(CASE WHEN c.CHARACTER_MAXIMUM_LENGTH IS NULL THEN c.NUMERIC_PRECISION ELSE c.CHARACTER_MAXIMUM_LENGTH END AS NVARCHAR(10)) AS [],
CAST(CASE WHEN EXISTS (
SELECT 1 FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc
INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE kcu ON tc.CONSTRAINT_NAME = kcu.CONSTRAINT_NAME AND tc.TABLE_SCHEMA = kcu.TABLE_SCHEMA AND tc.TABLE_NAME = kcu.TABLE_NAME
WHERE tc.CONSTRAINT_TYPE = 'PRIMARY KEY'
AND kcu.TABLE_SCHEMA = t.TABLE_SCHEMA
AND kcu.TABLE_NAME = t.TABLE_NAME
AND kcu.COLUMN_NAME = c.COLUMN_NAME
) THEN 1 ELSE 0 END AS BIT) AS [],
CAST(CASE WHEN c.IS_NULLABLE = 'YES' THEN 1 ELSE 0 END AS BIT) AS [],
CAST(COLUMN_DEFAULT AS NVARCHAR(MAX)) AS []
FROM
HissAI_Res.INFORMATION_SCHEMA.TABLES t
INNER JOIN
HissAI_Res.INFORMATION_SCHEMA.COLUMNS c ON t.TABLE_SCHEMA = c.TABLE_SCHEMA AND t.TABLE_NAME = c.TABLE_NAME
LEFT OUTER JOIN
HissAI_Res.sys.columns sc ON t.TABLE_SCHEMA + '.' + t.TABLE_NAME = OBJECT_SCHEMA_NAME(sc.object_id) + '.' + OBJECT_NAME(sc.object_id) AND c.COLUMN_NAME = sc.name
LEFT OUTER JOIN
HissAI_Res.sys.extended_properties ep ON t.TABLE_SCHEMA + '.' + t.TABLE_NAME = OBJECT_SCHEMA_NAME(ep.major_id) + '.' + OBJECT_NAME(ep.major_id) AND sc.column_id = ep.minor_id AND ep.name = 'MS_Description'
WHERE
t.TABLE_NAME = 'T_App_Config'
ORDER BY
c.ORDINAL_POSITION ASC;
SELECT name FROM sys.databases where [name] like '%HissAI%' ;
SELECT
obj.name AS table_name,
ISNULL(ep.value,'') AS table_description
FROM
HissAI_UserData.sys.objects AS obj
LEFT JOIN
HissAI_UserData.sys.extended_properties AS ep
ON
ep.major_id = obj.object_id
AND ep.minor_id = 0
AND ep.class = 1
WHERE
obj.type = 'U'
ORDER BY
table_name ASC;
SELECT
obj.name AS TableName,
ISNULL(ep.value,'') AS TableDescription
FROM
HissAI_UserData.sys.objects AS obj
LEFT JOIN
HissAI_UserData.sys.extended_properties AS ep
ON
ep.major_id = obj.object_id
AND ep.minor_id = 0
AND ep.class = 1
WHERE
obj.type = 'U'
ORDER BY
TableName ASC;

View File

@ -0,0 +1,3 @@
SELECT TOP 100 * FROM Phone300_VL_UI_CBT.dbo.T_VL_UI_Epg_Cfg where EpgCategory=1003
alter table Phone300_VL_UI_CBT.dbo.T_VL_UI_Epg_Cfg add CountryName nvarchar(200);
alter table Phone300_VL_UI_CBT.dbo.T_VL_UI_Epg_Cfg add Continent nvarchar(200);

5
文档/.net/EfCode.md Normal file
View File

@ -0,0 +1,5 @@
### 反向工程
1. 安装 dotnet tool install --global dotnet-ef
2. 安装包 Microsoft.EntityFrameworkCore.Design
3. 执行命令 dotnet ef dbcontext scaffold "Server=172.27.27.12;Database=TextGenerationTest;User Id=zpc;Password=zpc;TrustServerCertificate=true;" Microsoft.EntityFrameworkCore.SqlServer -o Models --force

46
文档/.net/grpc.md Normal file
View File

@ -0,0 +1,46 @@
# gRPC服务
## 在已有.net code 中添加gRPC服务器
### 1.按照包
```C#
dotnet add package Grpc
dotnet add package Grpc.Tools
dotnet add package Grpc.AspNetCore
```
RegionStatisticsClientServer
### 2.添加 .proto 文件
helloworld.proto
```C#
syntax = "proto3";
package HelloWorld;
service Greeter {
rpc SayHello (HelloRequest) returns (HelloReply) {}
}
message HelloRequest {
string name = 1;
}
message HelloReply {
string message = 1;
}
```
### 3.配置 csproj 文件
```C#
<ItemGroup>
<Protobuf Include="Protos\helloworld.proto" GrpcServices="Server" />
</ItemGroup>
```
### 4.生成代码
###
```C#
```

107
文档/Git/git.md Normal file
View File

@ -0,0 +1,107 @@
# git
# 常用命令
```sh
# 拉取代码
git clone [url]
# git clone git@192.168.1.33:mogu_server/sunnysports.git
# 更新代码
git pull
# 添加到暂存区
git add .
# 提交代码
git commit -m "提交内容"
# 推送代码
git push
# 切换分支
git checkout <分支名称>
git checkout dev-sunny
#查看提交历史记录
git log
#比较当前文件与暂存区或HEAD的差异
git diff
#将当前工作区的修改保存起来,以便稍后恢复。
git stash
#恢复之前保存的修改并删除对应的stash。
git stash pop
#安装子模块
git submodule init
git submodule update
```
# 创建ssh证书
## 1.启动Git Bash
## 2.生成新的SSH密钥
```sh
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
ssh-keygen -t rsa -b 4096 -C "zpc@pc"
```
## 3.设置SSH代理 在某些系统上你可能需要在每次启动计算机时添加SSH密钥到SSH代理。可以使用以下命令
``` sh
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
```
## 5.复制公钥:使用以下命令将公钥复制到剪贴板:
```sh
cat ~/.ssh/id_rsa.pub | clip
```
## 6.验证
```sh
ssh -T git@192.168.1.33
ssh -T git@github.com
```
ssh-copy-id -i ~/.ssh/id_rsa ubuntu@1.117.87.77
# Ubuntu 添加git
``` sh
sudo apt update
sudo apt install git
git --version
```
## 圣剑
cat ~/.ssh/id_rsa.pub
eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa
ssh -T git@192.168.1.33
ssh-keygen -t rsa -b 4096 -C "zpc1131"
ssh-keygen -t rsa -b 4096 -C "zpc1131@gmail.com"
ssh -T git@github.com
### 拉取
``` sh
git clone git@192.168.1.33:mogu_server/sunnysports.git
```
ssh-copy-id -i D:/ssh/229.pub root@192.168.1.229
eval "$(ssh-agent -s)" ssh-add D:/ssh/229
eval "$(ssh-agent -s)" ssh-add ~/.ssh/229
ssh root@192.168.1.229 -i ~/.ssh/229_rsa
```sh
ssh-keygen -t rsa -b 4096 -C "zhangzhe@wsl"
/home/z/.ssh/229_rsa
eval "$(ssh-agent -s)" ssh-add /home/z/.ssh/229_rsa
ssh-copy-id -i /home/z/.ssh/229_rsa.pub root@192.168.1.229
git config --global user.email "zpc1131@wsl"
git config --global user.name "zhangzhe"
```

View File

@ -0,0 +1,9 @@
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'max server memory (MB)';
EXEC sp_configure 'min server memory (MB)';
EXEC sp_configure 'max server memory (MB)', 10240; -- 10GB in MB
EXEC sp_configure 'min server memory (MB)', 4096; -- 4GB in MB
RECONFIGURE;

25
文档/linux/.net 8.md Normal file
View File

@ -0,0 +1,25 @@
# [Ubuntu 22.04安装.net 8](https://learn.microsoft.com/zh-cn/dotnet/core/install/linux-ubuntu-2204)
```sh
# 更新包
sudo apt-get update
# 安装.net 8
sudo apt-get install -y dotnet-sdk-8.0
```
# 运行
```sh
#恢复依赖
dotnet restore
#编译项目
dotnet build
# 查看版本列表
dotnet --list-sdks
# 发布项目
dotnet publish -c Release
```

28
文档/linux/BaGet.md Normal file
View File

@ -0,0 +1,28 @@
# 安装BaGet
## 注意事项
1. 原生的BaGet使用的是.net code 3.1版本,如果使用更高的版本,需要拉取[源代码](https://github.com/loic-sharma/BaGet),切换.net版本然后编译、发布即可。
2. 本次安装使用的是.net8
3. 修改配置项appsettings.json
```json
{
"ApiKey": "d50e3dbd66",
"PackageDeletionBehavior": "Unlist",
"AllowPackageOverwrites": false,
"Database": {
"Type": "Sqlite",
"ConnectionString": "Data Source=./baget.db"
},
"Storage": {
"Type": "FileSystem",
"Path": "/disk/packages"
},
"Search": {
"Type": "Database"
},
}
```
## 安装服务
```sh
```
##

75
文档/linux/Gitea.md Normal file
View File

@ -0,0 +1,75 @@
# Gitea
搭建私有Git服务器
##
```sh
sudo apt update
sudo apt install git wget -y
# 创建git用户
sudo adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/git git
# 下载代码
wget -O /tmp/gitea https://dl.gitea.io/gitea/1.16.7/gitea-1.16.7-linux-amd64
wget -O /tmp/gitea https://dl.gitea.com/gitea/1.22.0/gitea-1.22.0-linux-amd64
# 将下载的文件移动到合适的位置并赋予执行权限
sudo mv /tmp/gitea /usr/local/bin/gitea
sudo chmod +x /usr/local/bin/gitea
# 创建所需的目录:
sudo mkdir -p /var/lib/gitea/{custom,data,log}
sudo chown -R git:git /var/lib/gitea/
sudo chmod -R 750 /var/lib/gitea/
sudo mkdir /etc/gitea
sudo chown root:git /etc/gitea
sudo chmod 770 /etc/gitea
# 创建服务文件:
sudo nano /etc/systemd/system/gitea.service
# 添加内容
[Unit]
Description=Gitea
After=syslog.target
After=network.target
[Service]
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea/
[Install]
WantedBy=multi-user.target
#重新加载systemd并启动Gitea
sudo systemctl daemon-reload
sudo systemctl enable gitea
sudo systemctl start gitea
sudo systemctl status gitea
# 可选,放开防火墙
sudo ufw allow 3000/tcp
sudo ufw reload
```
## 配置项 /data/gitea/conf/app.ini
1. 数据库文件路径:/var/lib/gitea/data/gitea.db
2. 仓库根目录:/var/lib/gitea/data/gitea-repositories
3. LFS根目录/var/lib/gitea/data/lfs
4. 日志路径:/var/lib/gitea/log
5. 管理员账号huanmeng 9-9jYRqeywr!SA3 huanmeng@admin.com
## 在Gitea 的配置文件中设置 webhook.ALLOWED_HOST_LIST 来允许特定的服务器。
```sh
#找到 Gitea 的配置文件:
#Gitea 的配置文件通常是 app.ini它通常位于 Gitea 的安装目录下,例如 /etc/gitea/app.ini 或 /var/lib/gitea/custom/conf/app.ini。
sudo nano /etc/gitea/app.ini
# 设置 ALLOWED_HOST_LIST
# 在 [webhook] 部分中添加或修改 ALLOWED_HOST_LIST 设置,将你的服务器 IP 地址加入到允许列表中。你可以添加多个地址,用逗号分隔。
[webhook]
ALLOWED_HOST_LIST = 192.168.195.30
# 如果需要允许多个 IP 地址,可以这样:
[webhook]
ALLOWED_HOST_LIST = 192.168.195.30,192.168.195.31,example.com
# 保存文件并关闭编辑器。
sudo systemctl restart gitea
```

View File

@ -0,0 +1,194 @@
{
"ref": "refs/heads/main",
"before": "dd420bcda9be2ff3dde9d65b4c30c0a08c9b043c",
"after": "dd420bcda9be2ff3dde9d65b4c30c0a08c9b043c",
"compare_url": "http://123.207.203.228:3000/server/CodeRelease/compare/dd420bcda9be2ff3dde9d65b4c30c0a08c9b043c...dd420bcda9be2ff3dde9d65b4c30c0a08c9b043c",
"commits": [
{
"id": "dd420bcda9be2ff3dde9d65b4c30c0a08c9b043c",
"message": "提交代码\n",
"url": "http://123.207.203.228:3000/server/CodeRelease/commit/dd420bcda9be2ff3dde9d65b4c30c0a08c9b043c",
"author": {
"name": "zpc",
"email": "zpc1131@gmail.com",
"username": ""
},
"committer": {
"name": "zpc",
"email": "zpc1131@gmail.com",
"username": ""
},
"verification": null,
"timestamp": "0001-01-01T00:00:00Z",
"added": null,
"removed": null,
"modified": null
}
],
"total_commits": 1,
"head_commit": {
"id": "dd420bcda9be2ff3dde9d65b4c30c0a08c9b043c",
"message": "提交代码\n",
"url": "http://123.207.203.228:3000/server/CodeRelease/commit/dd420bcda9be2ff3dde9d65b4c30c0a08c9b043c",
"author": {
"name": "zpc",
"email": "zpc1131@gmail.com",
"username": ""
},
"committer": {
"name": "zpc",
"email": "zpc1131@gmail.com",
"username": ""
},
"verification": null,
"timestamp": "0001-01-01T00:00:00Z",
"added": null,
"removed": null,
"modified": null
},
"repository": {
"id": 6,
"owner": {
"id": 3,
"login": "server",
"login_name": "",
"source_id": 0,
"full_name": "",
"email": "server@noreply.localhost",
"avatar_url": "http://123.207.203.228:3000/avatars/cf1e8c14e54505f60aa10ceb8d5d8ab3",
"html_url": "http://123.207.203.228:3000/server",
"language": "",
"is_admin": false,
"last_login": "0001-01-01T00:00:00Z",
"created": "2024-06-02T13:09:11+08:00",
"restricted": false,
"active": false,
"prohibit_login": false,
"location": "",
"website": "",
"description": "",
"visibility": "public",
"followers_count": 0,
"following_count": 0,
"starred_repos_count": 0,
"username": "server"
},
"name": "CodeRelease",
"full_name": "server/CodeRelease",
"description": "代码发布",
"empty": false,
"private": false,
"fork": false,
"template": false,
"parent": null,
"mirror": false,
"size": 39,
"language": "",
"languages_url": "http://123.207.203.228:3000/api/v1/repos/server/CodeRelease/languages",
"html_url": "http://123.207.203.228:3000/server/CodeRelease",
"url": "http://123.207.203.228:3000/api/v1/repos/server/CodeRelease",
"link": "",
"ssh_url": "git@123.207.203.228:server/CodeRelease.git",
"clone_url": "http://123.207.203.228:3000/server/CodeRelease.git",
"original_url": "",
"website": "",
"stars_count": 0,
"forks_count": 0,
"watchers_count": 1,
"open_issues_count": 0,
"open_pr_counter": 0,
"release_counter": 0,
"default_branch": "main",
"archived": false,
"created_at": "2024-06-25T11:48:41+08:00",
"updated_at": "2024-06-25T14:11:25+08:00",
"archived_at": "1970-01-01T08:00:00+08:00",
"permissions": {
"admin": false,
"push": false,
"pull": false
},
"has_issues": true,
"internal_tracker": {
"enable_time_tracker": true,
"allow_only_contributors_to_track_time": true,
"enable_issue_dependencies": true
},
"has_wiki": true,
"has_pull_requests": true,
"has_projects": true,
"projects_mode": "all",
"has_releases": true,
"has_packages": true,
"has_actions": true,
"ignore_whitespace_conflicts": false,
"allow_merge_commits": true,
"allow_rebase": true,
"allow_rebase_explicit": true,
"allow_squash_merge": true,
"allow_fast_forward_only_merge": true,
"allow_rebase_update": true,
"default_delete_branch_after_merge": false,
"default_merge_style": "merge",
"default_allow_maintainer_edit": false,
"avatar_url": "http://123.207.203.228:3000/",
"internal": false,
"mirror_interval": "",
"object_format_name": "",
"mirror_updated": "0001-01-01T00:00:00Z",
"repo_transfer": null
},
"pusher": {
"id": 2,
"login": "zhangzhe",
"login_name": "",
"source_id": 0,
"full_name": "",
"email": "zhangzhe@noreply.localhost",
"avatar_url": "http://123.207.203.228:3000/avatars/a41a0dc924cc9424ef91104f38c3b30d",
"html_url": "http://123.207.203.228:3000/zhangzhe",
"language": "",
"is_admin": false,
"last_login": "0001-01-01T00:00:00Z",
"created": "2024-05-31T17:08:51+08:00",
"restricted": false,
"active": false,
"prohibit_login": false,
"location": "",
"website": "",
"description": "",
"visibility": "public",
"followers_count": 0,
"following_count": 0,
"starred_repos_count": 0,
"username": "zhangzhe"
},
"sender": {
"id": 2,
"login": "zhangzhe",
"login_name": "",
"source_id": 0,
"full_name": "",
"email": "zhangzhe@noreply.localhost",
"avatar_url": "http://123.207.203.228:3000/avatars/a41a0dc924cc9424ef91104f38c3b30d",
"html_url": "http://123.207.203.228:3000/zhangzhe",
"language": "",
"is_admin": false,
"last_login": "0001-01-01T00:00:00Z",
"created": "2024-05-31T17:08:51+08:00",
"restricted": false,
"active": false,
"prohibit_login": false,
"location": "",
"website": "",
"description": "",
"visibility": "public",
"followers_count": 0,
"following_count": 0,
"starred_repos_count": 0,
"username": "zhangzhe"
}
}

View File

@ -0,0 +1,173 @@
{
"action": "published",
"release": {
"id": 2,
"tag_name": "0.0.2",
"target_commitish": "main",
"name": "测试",
"body": "",
"url": "http://123.207.203.228:3000/api/v1/repos/server/CodeRelease/releases/2",
"html_url": "http://123.207.203.228:3000/server/CodeRelease/releases/tag/0.0.2",
"tarball_url": "http://123.207.203.228:3000/server/CodeRelease/archive/0.0.2.tar.gz",
"zipball_url": "http://123.207.203.228:3000/server/CodeRelease/archive/0.0.2.zip",
"upload_url": "http://123.207.203.228:3000/api/v1/repos/server/CodeRelease/releases/2/assets",
"draft": false,
"prerelease": false,
"created_at": "2024-06-25T14:57:42+08:00",
"published_at": "2024-06-25T14:57:42+08:00",
"author": {
"id": 2,
"login": "zhangzhe",
"login_name": "",
"source_id": 0,
"full_name": "",
"email": "zhangzhe@noreply.localhost",
"avatar_url": "http://123.207.203.228:3000/avatars/a41a0dc924cc9424ef91104f38c3b30d",
"html_url": "http://123.207.203.228:3000/zhangzhe",
"language": "",
"is_admin": false,
"last_login": "0001-01-01T00:00:00Z",
"created": "2024-05-31T17:08:51+08:00",
"restricted": false,
"active": false,
"prohibit_login": false,
"location": "",
"website": "",
"description": "",
"visibility": "public",
"followers_count": 0,
"following_count": 0,
"starred_repos_count": 0,
"username": "zhangzhe"
},
"assets": [
{
"id": 5,
"name": "CodeRelease.0.0.2.zip",
"size": 1463907,
"download_count": 0,
"created_at": "2024-06-25T14:57:40+08:00",
"uuid": "87d80f69-7083-46be-aa29-2bc50b782718",
"browser_download_url": "http://123.207.203.228:3000/server/CodeRelease/releases/download/0.0.2/CodeRelease.0.0.2.zip"
}
]
},
"repository": {
"id": 6,
"owner": {
"id": 3,
"login": "server",
"login_name": "",
"source_id": 0,
"full_name": "",
"email": "",
"avatar_url": "http://123.207.203.228:3000/avatars/cf1e8c14e54505f60aa10ceb8d5d8ab3",
"html_url": "http://123.207.203.228:3000/server",
"language": "",
"is_admin": false,
"last_login": "0001-01-01T00:00:00Z",
"created": "2024-06-02T13:09:11+08:00",
"restricted": false,
"active": false,
"prohibit_login": false,
"location": "",
"website": "",
"description": "",
"visibility": "public",
"followers_count": 0,
"following_count": 0,
"starred_repos_count": 0,
"username": "server"
},
"name": "CodeRelease",
"full_name": "server/CodeRelease",
"description": "代码发布",
"empty": false,
"private": false,
"fork": false,
"template": false,
"parent": null,
"mirror": false,
"size": 39,
"language": "",
"languages_url": "http://123.207.203.228:3000/api/v1/repos/server/CodeRelease/languages",
"html_url": "http://123.207.203.228:3000/server/CodeRelease",
"url": "http://123.207.203.228:3000/api/v1/repos/server/CodeRelease",
"link": "",
"ssh_url": "git@123.207.203.228:server/CodeRelease.git",
"clone_url": "http://123.207.203.228:3000/server/CodeRelease.git",
"original_url": "",
"website": "",
"stars_count": 0,
"forks_count": 0,
"watchers_count": 1,
"open_issues_count": 0,
"open_pr_counter": 0,
"release_counter": 2,
"default_branch": "main",
"archived": false,
"created_at": "2024-06-25T11:48:41+08:00",
"updated_at": "2024-06-25T14:11:25+08:00",
"archived_at": "1970-01-01T08:00:00+08:00",
"permissions": {
"admin": true,
"push": true,
"pull": true
},
"has_issues": true,
"internal_tracker": {
"enable_time_tracker": true,
"allow_only_contributors_to_track_time": true,
"enable_issue_dependencies": true
},
"has_wiki": true,
"has_pull_requests": true,
"has_projects": true,
"projects_mode": "all",
"has_releases": true,
"has_packages": true,
"has_actions": true,
"ignore_whitespace_conflicts": false,
"allow_merge_commits": true,
"allow_rebase": true,
"allow_rebase_explicit": true,
"allow_squash_merge": true,
"allow_fast_forward_only_merge": true,
"allow_rebase_update": true,
"default_delete_branch_after_merge": false,
"default_merge_style": "merge",
"default_allow_maintainer_edit": false,
"avatar_url": "http://123.207.203.228:3000/",
"internal": false,
"mirror_interval": "",
"object_format_name": "",
"mirror_updated": "0001-01-01T00:00:00Z",
"repo_transfer": null
},
"sender": {
"id": 2,
"login": "zhangzhe",
"login_name": "",
"source_id": 0,
"full_name": "",
"email": "zhangzhe@noreply.localhost",
"avatar_url": "http://123.207.203.228:3000/avatars/a41a0dc924cc9424ef91104f38c3b30d",
"html_url": "http://123.207.203.228:3000/zhangzhe",
"language": "",
"is_admin": false,
"last_login": "0001-01-01T00:00:00Z",
"created": "2024-05-31T17:08:51+08:00",
"restricted": false,
"active": false,
"prohibit_login": false,
"location": "",
"website": "",
"description": "",
"visibility": "public",
"followers_count": 0,
"following_count": 0,
"starred_repos_count": 0,
"username": "zhangzhe"
}
}

View File

@ -0,0 +1,75 @@
# <div style="text-align:center">mysql 安装记录</div>
## 操作环境 Ubuntu 22.04.2 LTS
### 使用 apt 方式安装
```sh
#更新系统的软件包列表
sudo apt update
#查看可用的mysql版本
apt list -a mysql-server
#安装MySQL服务器
sudo apt install mysql-server
#安装特定版本,将 <version> 替换为你想要安装的具体版本号
sudo apt-get install mysql-server=<version>
sudo apt-get install mysql-server=5.7.35-1ubuntu18.04
#锁定版本(可选)
sudo apt-mark hold mysql-server
#安装完成后可以运行以下命令来启动MySQL服务
sudo service mysql start
#停止 MySQL 服务
sudo service mysql stop
#检查MySQL服务状态
sudo service mysql status
#(可选) 为了增加MySQL的安全性你可以运行MySQL安全性脚本
sudo mysql_secure_installation
#使用 apt-get 删除 MySQL 软件包
sudo apt-get purge mysql-server mysql-client mysql-common mysql-server-core-* mysql-client-core-*
#删除 MySQL 数据目录
sudo rm -rf /etc/mysql /var/lib/mysql
```
### MySQL 的二进制发行版,手动安装
## 常用语句
```sh
#登录
mysql -u 用户名 -p
#刷新权限
FLUSH PRIVILEGES;
#退出mysql
exit;
```
### 常见问题
#### 安装完成后登录不上去
第一次登录时没有密码,造成无法登录这是由于 MYSQL 数据库一开始生成了一个随机密码
解决方案:
方案 1.使用命令查看随机密码,利用该文件中的 user 和 password 登录
```sh
sudo cat /etc/mysql/debian.cnf
#mysql -u debian-sys-maint -p
#mQxsCvggohEqn2rN
```
方案 2.修改密码,修改的密码可能要和 mysql 的规则一直
```sh
GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY "密码";
```

View File

@ -0,0 +1,28 @@
# <div style="text-align:center">SQL Server安装记录</div>
## 操作环境 Ubuntu 22.04.2 LTS
## [安装帮助文档](https://learn.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-ubuntu?view=sql-server-linux-ver15&preserve-view=true&tabs=ubuntu2004#install)
### 安装方法
1.导入公共存储库 GPG 密钥
```sh
curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
```
2.注册 SQL Server Ubuntu 存储库:
```sh
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2019.list)"
```
3.运行以下命令以安装 SQL Server
```sh
sudo apt-get update
sudo apt-get install -y mssql-server
```
4.启动配置
```sh
sudo /opt/mssql/bin/mssql-conf setup
```
4.停止sqlserver
```sh
sudo systemctl stop mssql-server
```

View File

@ -0,0 +1,41 @@
# 机场 Shadowsocks
可以通过v2rayN进行代理连接实现翻墙
## Shadowsocks 安装
```sh
sudo apt update
# 安装包
sudo apt install shadowsocks-libev -y
# 配置 Shadowsocks创建并编辑 Shadowsocks 的配置文件。这个文件通常位于 /etc/shadowsocks-libev/config.json。
sudo nano /etc/shadowsocks-libev/config.json
# 配置项
{
"server":["::1", "127.0.0.1"],
"mode":"tcp_and_udp",
"server_port":8388,
"local_port":1080,
"password":"07RT9gL2zLZ2",
"timeout":86400,
"method":"chacha20-ietf-poly1305"
}
# 启动和设置开机自启
sudo systemctl start shadowsocks-libev
sudo systemctl enable shadowsocks-libev
# 配置防火墙
sudo ufw allow 8388/tcp
sudo ufw allow 8388/udp
sudo ufw reload
# 检测服务状态
sudo systemctl status shadowsocks-libev
```
### 配置项解释
"server": ["::1", "127.0.0.1"]:定义服务器地址。::1 是 IPv6 的本地回环地址127.0.0.1 是 IPv4 的本地回环地址。这意味着当前配置只会监听本地回环接口。
"mode": "tcp_and_udp":定义 Shadowsocks 工作模式,这里配置为同时支持 TCP 和 UDP 协议。
"server_port": 8388定义服务器监听的端口这里设置为 8388。
"local_port": 1080定义本地代理的端口这里设置为 1080。
"password": "07RT9gL2zLZ2":定义连接到代理服务器时需要使用的密码。
"timeout": 86400定义连接超时时间单位为秒这里设置为 86400 秒(即 24 小时)。
"method": "chacha20-ietf-poly1305":定义加密方法,这里使用 chacha20-ietf-poly1305这是一种安全性较高的加密算法。

View File

@ -0,0 +1,17 @@
# 内网穿透
## 安装
```sh
# GPG 密钥和仓库:
curl -s https://install.zerotier.com | sudo bash
# 安装 ZeroTier
sudo apt install zerotier-one
# 启动并加入网络 sudo zerotier-cli join <network-id>
sudo zerotier-cli join 48d6023c465446a4
# 检查连接状态
sudo zerotier-cli listnetworks
# 开机自启
sudo systemctl enable zerotier-one
#
```

View File

@ -0,0 +1,40 @@
[Unit]
Description=BaGet NuGet Server
After=network.target
[Service]
WorkingDirectory=/disk/BaGet/net8.0/
ExecStart=/disk/BaGet/net8.0/BaGet
Restart=always
# 如果网络服务崩溃请在10秒钟后重新启动服务
RestartSec=10
SyslogIdentifier=baget
User=root
[Install]
WantedBy=multi-user.target
[Unit]
Description=sunny-sports-api
After=network.target
[Service]
# 运行 设置环境变量
#指定服务的工作目录
WorkingDirectory=/disk/BaGet/net8.0
# run
ExecStart=/disk/BaGet/net8.0/BaGet
SyslogIdentifier=baget
User=root
# 打开资源限制infinity 默认会到65535
LimitNOFILE=1048576
LimitNPROC=infinity
LimitCORE=infinity
# 自动检查重启10秒后重启
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,25 @@
## 服务文件
/etc/systemd/system/baget.service
```sh
sudo nano /etc/systemd/system/baget.service
sudo systemctl daemon-reload
sudo systemctl start baget
sudo systemctl enable baget
sudo systemctl status baget
sudo systemctl stop baget
```
## 发布命令
```sh
# /disk/BaGet/src/BaGet$
dotnet publish -c Release -o /disk/BaGetApi/
```
## 同步命令
```sh
rsync -avz /disk/BaGetApi/ ubuntu@123.207.203.228:/disk/BaGet/net8.0/
```
## 上传
```sh
dotnet nuget push XLib.NetCore.Utility.1.0.0.nupkg --source "http://123.207.203.228:91/v3/index.json" --api-key "066f010d59"
```

10
文档/linux/ffmpeg.md Normal file
View File

@ -0,0 +1,10 @@
## 推取视频
```sh
nohup ffmpeg -re -stream_loop -1 -i /disk/ai_sports/data/sunny_sports/6MM20240327161002.mp4 -c copy -f rtsp rtsp://127.0.0.1:8554/stream_sunny_6MM20240327161002 >/dev/null 2>&1 &
```
rtsp://192.168.1.229:8554/stream_sunny_6MM20240327161002
rtsp://192.168.1.229:8554/stream_sunny_8MM20240327160349

View File

@ -0,0 +1,100 @@
# <div style="text-align:center">liunx 使用记录</div>
## 基础命令
```sh
#关机
sudo shutdown now
#查看发行版信息
lsb_release -a
#查看内核版本
uname -a
#查看系统信息
hostnamectl
# 删除指纹
ssh-keygen -R 106.75.209.57
#安装ip查看工具
sudo apt-get install net-tools
#查看IP
ifconfig
#查看端口是否打开,有输出为开启,没有输出为关闭
lsof -i:3306
#开发防火墙的3306端口
sudo ufw allow 3306/tcp
# 创建文件夹disk 文件夹名称)
sudo mkdir /disk
# 获取权限
sudo chmod -R 777 *
sudo chmod 777 /disk
# 删除文件夹
sudo rm -r /disk/sunnysports
# 发送ssh密钥
ssh-copy-id -i ~/.ssh/id_rsa.pub ubuntu@106.75.209.57
```
### 常用命令
```sh
#文件和目录操作
ls: 列出目录内容。
cd: 切换目录。
pwd: 显示当前工作目录的路径。
cp: 复制文件或目录。
mv: 移动或重命名文件或目录。
rm: 删除文件或目录。
mkdir: 创建目录。
chmod: 修改文件或目录的权限。
chown: 修改文件或目录的所有者。
#文件查看和编辑
cat: 显示文件内容。
less: 分页查看文件内容。
head: 显示文件的开头部分。
tail: 显示文件的结尾部分。
nano 或 vim: 文本编辑器。
#系统信息和管理
uname: 显示系统信息。
df: 显示磁盘空间使用情况。
du: 显示目录空间使用情况。
top 或 htop: 显示系统资源使用情况。
ps: 显示当前运行的进程。
kill: 终止进程。
shutdown 或 reboot: 关闭或重启系统。
#用户和权限管理
whoami: 显示当前登录的用户名。
who: 显示当前登录用户的信息。
sudo: 以超级用户权限执行命令。
adduser 或 useradd: 添加新用户。
passwd: 修改用户密码。
groups: 显示用户所属的组。
visudo: 编辑 sudoers 文件,配置用户权限。
#网络相关
ping: 测试网络连接。
ifconfig: 或 ip: 显示网络接口信息。
netstat: 显示网络状态。
traceroute 或 mtr: 追踪网络路由。
wget 或 curl: 下载文件。
ssh: 远程登录。
#压缩和解压
tar: 打包和解压文件。
gzip 或 gunzip: 压缩和解压 gzip 格式的文件。
zip 或 unzip: 压缩和解压 zip 格式的文件。
```
### 服务
1. 服务基础位置 /etc/systemd/system/

9
文档/linux/make.md Normal file
View File

@ -0,0 +1,9 @@
## make
```sh
sudo apt update
sudo apt install make
make --version
```

35
文档/linux/nano.md Normal file
View File

@ -0,0 +1,35 @@
# nano文本编辑
## 安装
```sh
apt-get install -y nano
```
## 使用语法
```sh
nano <文件名或文件绝对路径>
# 使用示例
nano vvhan.com.txt
nano /root/vvhan.com.txt
```
当你打开一个不存在的文件,那么即为新建文件。打开文件后,就可以直接编辑了。
## 使用教程
```sh
Ctrl+G显示帮助文本
Ctrl+O保存当前文件
Ctrl+R读取其他文件并插入光标位置
Ctrl+Y跳至上一屏幕
Ctrl+K剪切当前一行
Ctrl+C显示光标位置
Ctrl+X退出编辑文本
Ctrl+J对其当前段落以空格为分隔符
Ctrl+W搜索文本位置
Ctrl+V跳至下一屏幕
Ctrl+U粘贴文本至光标处
Ctrl+T运行拼写检查
Ctrl+_跳转到某一行
ALT+U撤销
ALT+E重做
ALT+Y, 语法高亮
ALT+#,显示行号
```

231
文档/linux/nginx.md Normal file
View File

@ -0,0 +1,231 @@
# Nginx
## 常用命令
```sh
# 启动 Nginx 服务
sudo systemctl start nginx
# 关闭
sudo systemctl stop nginx
# 重启
sudo systemctl restart nginx
# 重新加载 Nginx 以应用更改
sudo systemctl reload nginx
# 默认目录
cd /var/www/
# 配置文件
cd /etc/nginx/
/etc/nginx/nginx.conf
#测试 Nginx 配置是否正确
sudo nginx -t
```
## 在 Ubuntu 22.04 上安装和配置 Nginx
### 安装
```sh
#首先,确保您的软件包索引是最新的:
sudo apt update
#步骤 2安装 Nginx
sudo apt install nginx
#步骤 3启动 Nginx 服务
sudo systemctl start nginx
#步骤 4使 Nginx 服务开机自启
sudo systemctl enable nginx
#步骤 5检查 Nginx 状态
sudo systemctl status nginx
#步骤 6配置防火墙
sudo ufw allow 'Nginx Full'
```
### 配置ssh
常见的存放路径是 /etc/nginx/ssl/
```sh
sudo mkdir -p /etc/nginx/ssl
sudo cp /path/to/your/example.com.crt /etc/nginx/ssl/
sudo cp /path/to/your/example.com.key /etc/nginx/ssl/
```
```sh
server {
listen 443 ssl;
server_name api.zpc-xy.com;
ssl_certificate /etc/nginx/ssl/api.zpc-xy.com_nginx/api.zpc-xy.com_bundle.crt;
ssl_certificate_key ssl/api.zpc-xy.com_nginx/api.zpc-xy.com.key;
# ssl_protocols TLSv1.2 TLSv1.3; # 仅使用 TLS 1.2 和 1.3
# ssl_ciphers HIGH:!aNULL:!MD5; # 配置强密码套件
# location / {
# proxy_pass http://localhost:3000; # 例如如果你有一个后端应用运行在端口3000
# proxy_set_header Host $host;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header X-Forwarded-Proto $scheme;
# }
}
```
### 配置文件
```bash
# 基础配置
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com/html;
index index.html index.htm index.nginx-debian.html;
location / {
try_files $uri $uri/ =404;
}
}
server {
# 添加虚拟目录映射
location /output/ {
# alias /disk/ai_sports/DataGateway/output/;
# 或者使用 root 指令(视具体情况而定)
root /disk/ai_sports/DataGateway/output/;
# 可选配置:根据需要添加其他指令,如访问控制、缓存策略等
autoindex on; # 如果希望列出目录内容
# expires 30d; # 设置静态资源缓存过期时间
# try_files $uri $uri/ =404; # 用于处理目录索引和文件不存在的情况
}
}
# 代理转发
server {
listen 82 default_server;
listen [::]:82 default_server;
#root /var/www/web;
# Add index.php to the list if you are using PHP
#index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
proxy_pass http://192.168.195.32:8189;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
# 代理转发,允许websocket
server {
listen 82 default_server;
listen [::]:82 default_server;
#root /var/www/web;
# Add index.php to the list if you are using PHP
#index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
proxy_pass http://192.168.195.32:8189;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
### 添加跨域
server {
listen 83 default_server;
listen [::]:83 default_server;
#root /var/www/web;
# Add index.php to the list if you are using PHP
#index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
proxy_pass http://192.168.195.32:9967;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# 添加自定义标头
# 添加 CORS 标头
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, DELETE, PUT';
add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization';
# 如果需要处理 OPTIONS 请求
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, DELETE, PUT';
add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization';
add_header 'Access-Control-Max-Age' 1728000;
add_header 'Content-Length' 0;
add_header 'Content-Type' 'text/plain charset=UTF-8';
return 204;
}
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
```
# 安装支持 ngx_stream 模块的 Nginx 版本:
```sh
sudo apt update
sudo apt install nginx-full
# 更新配置以启用 stream 模块: nginx.conf 文件中添加
stream {
upstream rdp_backend {
server windows_server_ip:3389;
}
server {
listen 3389; # 监听的端口,可以根据需要修改
proxy_pass rdp_backend;
}
}
## 进阶选项 nginx.conf 文件中添加
stream {
include /etc/nginx/stream.d/*.conf; # 确保 stream 块包含 conf.d 目录中的配置文件
}
#/etc/nginx/stream.d/rdp.conf
upstream rdp_backend {
server 192.168.195.4:3389; # 将此 IP 替换为你的 Windows 服务器 IP
}
server {
listen 89; # Nginx 监听的端口,可以根据需要修改
proxy_pass rdp_backend;
}
```

14
文档/linux/node.js.md Normal file
View File

@ -0,0 +1,14 @@
# Node.js
[官网地址](https://nodejs.org/zh-cn/download/package-manager/all)
### [安装](https://github.com/nodesource/distributions?tab=readme-ov-file#debian-and-ubuntu-based-distributions)
```sh
sudo apt-get install -y curl
#下载Node.js安装脚本
curl -fsSL https://deb.nodesource.com/setup_22.x -o nodesource_setup.sh
# 使用 sudo 运行Node.js设置脚本
sudo -E bash nodesource_setup.sh
# 安装Node.js
sudo apt-get install -y nodejs
#验证安装
node -v
```

26
文档/linux/rsync.md Normal file
View File

@ -0,0 +1,26 @@
# rsync 服务器文件传输
## 安装
```sh
sudo apt-get install rsync
```
## 常用命令
```sh
# 从本地同步到远程服务器
rsync -avz /path/to/local/dir/ user@remote.server:/path/to/remote/dir/
# 从远程服务器同步到本地
rsync -avz user@remote.server:/path/to/remote/dir/ /path/to/local/dir/
#显示传输进度
rsync -avz --progress /home/user/project/ user@remote.server:/home/user/backup/
# 排除某些文件或目录 同步时排除某些文件或目录,可以使用 --exclude 选项:
rsync -avz --exclude 'node_modules' --exclude '*.log' /home/user/project/ user@remote.server:/home/user/backup/
# 使用 rsync 同步删除文件 在源位置删除的文件,也在目标位置删除,可以使用 --delete 选项
rsync -avz --delete /home/user/project/ user@remote.server:/home/user/backup/
```
## 常用选项
1. -a归档模式表示递归传输并保持所有文件属性。
2. -v详细模式显示传输过程中的详细信息。
3. -z压缩文件数据以减少传输量。
4. -P显示传输进度并自动重启传输中断的部分

69
文档/linux/ssh.md Normal file
View File

@ -0,0 +1,69 @@
# windwos ssh 创建
```sh
ssh-keygen -t rsa -b 4096 -C "zhangzhe@pc"
# 输入路径 /c/Users/admin/.ssh/229_rsa
# 创建的路径不能有公共的读写权限
eval "$(ssh-agent -s)" ssh-add ~/.ssh/229_rsa
ssh-copy-id -i ~/.ssh/229_rsa.pub root@192.168.1.229
# 远程的时候可以添加密钥文件地址cd
ssh root@192.168.1.229 -i ~/.ssh/229_rsa
```
# linux ssh 创建
```sh
ssh-keygen -t rsa -b 4096 -C "zhangzhe@wsl"
# /home/z/.ssh/229_rsa
eval "$(ssh-agent -s)" ssh-add /home/z/.ssh/229_rsa
ssh-copy-id -i /home/z/.ssh/229_rsa.pub root@192.168.1.229
# 远程的时候可以添加密钥文件地址
ssh root@192.168.1.229 -i ~/.ssh/229_rsa
ssh root@192.168.1.229 -i ~/.ssh/229_rsa "cd /disk/work/sj_git/sunnysports/;make build-data"
```
ssh-copy-id -i /root/.ssh/id_rsa.pub
# linux ssh 线上
```sh
ssh-keygen -t rsa -b 4096 -C "zhangzhe@wsl"
# /home/z/.ssh/25_rsa
eval "$(ssh-agent -s)" ssh-add /home/z/.ssh/25_rsa
ssh-copy-id -i /home/z/.ssh/25_rsa.pub root@192.144.132.25
# 远程的时候可以添加密钥文件地址
ssh root@192.144.132.25 -i ~/.ssh/25_rsa
```
```sh
ssh-keygen -t rsa -b 4096 -C "zhangzhe@pc"
# 输入路径 /c/Users/admin/.ssh/25_rsa
# 创建的路径不能有公共的读写权限
eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa
ssh-copy-id -i ~/.ssh/25_rsa.pub root@192.144.132.25
ssh root@106.75.209.57
# 远程的时候可以添加密钥文件地址
ssh root@192.144.132.25 -i ~/.ssh/25_rsa
```
ssh-copy-id -i ~/.ssh/id_rsa.pub ubuntu@1.117.87.77
eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa
1.117.87.77
dbt@com@1234
ssh ubuntu@1.117.87.77
ssh root@1.117.87.77
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.144.132.25
ssh-copy-id -i ~/.ssh/id_rsa.pub ubuntu@123.207.203.228
ssh-copy-id -i ~/.ssh/id_rsa.pub ubuntu@106.75.209.57
ssh root@192.168.1.229 -i ~/.ssh/229_rsa
123.207.203.228
ssh-copy-id -i ~/.ssh/id_rsa.pub ubuntu@123.207.203.228

View File

@ -0,0 +1,22 @@
[Unit]
Description=code-release
After=network.target
[Service]
# 运行 设置环境变量
#指定服务的工作目录
WorkingDirectory=/disk/CodeRelease
# run
ExecStart=/disk/CodeRelease/CodeRelease
SyslogIdentifier=CodeRelease
User=root
# 打开资源限制infinity 默认会到65535
LimitNOFILE=1048576
LimitNPROC=infinity
LimitCORE=infinity
# 自动检查重启10秒后重启
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,33 @@
## 服务文件
/etc/systemd/system/baget.service
```sh
sudo nano /etc/systemd/system/code-release.service
sudo systemctl start code-release.service
sudo systemctl daemon-reload
sudo systemctl start baget
sudo systemctl enable baget
sudo systemctl status baget
sudo systemctl stop baget
sudo systemctl restart code-release
```
## 发布命令
```sh
# /disk/BaGet/src/BaGet$
dotnet publish -c Release -o /disk/BaGetApi/
dotnet publish -c Release -o /disk/CodeRelease/public/
```
## 同步命令
```sh
rsync -avz /disk/BaGetApi/ ubuntu@123.207.203.228:/disk/BaGet/net8.0/
rsync -avz /disk/CodeRelease/public/ ubuntu@123.207.203.228:/disk/CodeRelease/
```
## 上传
```sh
dotnet nuget push XLib.NetCore.Utility.1.0.0.nupkg --source "http://123.207.203.228:91/v3/index.json" --api-key "066f010d59"
```

View File

@ -0,0 +1,16 @@
```sh
# 查看所有转发
netsh interface portproxy show all
# 转发端口 listenaddress 转发地址 到 connectaddress
netsh interface portproxy add v4tov4 listenport=7860 listenaddress=117.50.182.144 connectport=7860 connectaddress=127.0.0.1
netsh advfirewall firewall add rule name="Allow Port 7860" protocol=TCP dir=in localport=7860 action=allow
# interface portproxy add
netsh interface portproxy add v4tov4 listenport=5000 listenaddress=117.50.182.144 connectport=5000 connectaddress=127.0.0.1
# 删除转发
netsh interface portproxy delete v4tov4 listenport=7860 listenaddress=117.50.182.144
# 重启
netsh interface portproxy reset
```

214
文档/其它/.editorconfig Normal file
View File

@ -0,0 +1,214 @@
###############################
# 核心编辑器配置选项 #
###############################
root = true
# All files
[*]
indent_style = space
# XML project files
[*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj}]
indent_size = 2
# XML config files
[*.{props,targets,ruleset,config,nuspec,resx,vsixmanifest,vsct}]
indent_size = 2
[*.cs]
end_of_line = lf #指定换行符的类型可以是lfUnix/Linux、crlfWindows或cr老式的Mac OS
# Code files
[*.{cs,csx,vb,vbx}]
indent_size = 4
insert_final_newline = true
charset = utf-8 #设置文件字符集为utf-8,在 Linux 系统中,通常推荐使用 UTF-8 而不是 UTF-8 with BOM。添加 BOM 可能会干扰那些不期望在文件开头出现非 ASCII 字节的软件对 UTF-8 的使用。
###############################
# .NET 编码约定 #
###############################
[*.{cs,vb}]
# 组织 using 指令,将系统引用放在前面
dotnet_sort_system_directives_first = true
# this. 语法的偏好设置
dotnet_style_qualification_for_field = false:silent # 对字段使用 this. 语法时,不强制要求
dotnet_style_qualification_for_property = false:silent # 对属性使用 this. 语法时,不强制要求
dotnet_style_qualification_for_method = false:silent # 对方法使用 this. 语法时,不强制要求
dotnet_style_qualification_for_event = false:silent # 对事件使用 this. 语法时,不强制要求
# 语言关键字与 BCL基类库类型的偏好设置
dotnet_style_predefined_type_for_locals_parameters_members = true:silent # 推荐在局部变量、参数和成员中使用语言关键字而不是 BCL 类型
dotnet_style_predefined_type_for_member_access = true:silent # 推荐在成员访问中使用语言关键字而不是 BCL 类型
# 括号的偏好设置
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:silent # 推荐在算术二元运算符周围始终使用括号以增强清晰度
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:silent # 推荐在关系二元运算符周围始终使用括号以增强清晰度
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:silent # 推荐在其他二元运算符周围始终使用括号以增强清晰度
dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent # 在其他操作符周围使用括号时,只在必要时添加
# 修饰符的偏好设置
dotnet_style_require_accessibility_modifiers = for_non_interface_members:silent # 针对非接口成员,推荐添加访问修饰符
dotnet_style_readonly_field = true:suggestion # 推荐将字段声明为只读
dotnet_style_object_initializer = true:suggestion # 推荐使用对象初始化器
dotnet_style_collection_initializer = true:suggestion # 推荐使用集合初始化器
dotnet_style_explicit_tuple_names = true:suggestion # 推荐使用显式的元组成员命名
dotnet_style_null_propagation = true:suggestion # 推荐使用 null 条件运算符(?.)进行空引用检查
dotnet_style_coalesce_expression = true:suggestion # 推荐使用空值合并运算符(??
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:silent # 在检查是否为 null 时,推荐使用 is 运算符而不是引用相等方法
dotnet_style_prefer_inferred_tuple_names = true:suggestion # 推荐使用推断的元组成员命名
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion # 推荐使用推断的匿名类型成员命名
dotnet_style_prefer_auto_properties = true:silent # 推荐使用自动属性
dotnet_style_prefer_conditional_expression_over_assignment = true:silent # 推荐使用条件表达式而不是赋值表达式
dotnet_style_prefer_conditional_expression_over_return = true:silent # 推荐使用条件表达式而不是 return 语句
###############################
# 命名约定 #
###############################
# 样式定义
dotnet_naming_style.pascal_case_style.capitalization = pascal_case # 使用 PascalCase 风格
# 命名规则:常量字段应使用 PascalCase 风格
dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = suggestion # 规则严重程度为建议
dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols = constant_fields # 适用于 constant_fields 符号
dotnet_naming_rule.constant_fields_should_be_pascal_case.style = pascal_case_style # 风格为 PascalCase
# 常量字段的符号定义
dotnet_naming_symbols.constant_fields.applicable_kinds = field # 适用于字段
dotnet_naming_symbols.constant_fields.applicable_accessibilities = * # 适用于所有可见性public、internal、private 等)
dotnet_naming_symbols.constant_fields.required_modifiers = const # 必须具有 const 修饰符
###############################
# C# 编码约定 #
###############################
[*.cs]
# var 的偏好设置
csharp_style_var_for_built_in_types = true:silent # 当变量的类型是内置类型时,使用 var
csharp_style_var_when_type_is_apparent = true:silent # 当变量类型明显时,使用 var
csharp_style_var_elsewhere = true:silent # 在其他情况下,也使用 var
# 表达式主体成员的偏好设置
csharp_style_expression_bodied_methods = false:silent # 不使用表达式主体的方法
csharp_style_expression_bodied_constructors = false:silent # 不使用表达式主体的构造函数
csharp_style_expression_bodied_operators = false:silent # 不使用表达式主体的运算符
csharp_style_expression_bodied_properties = true:silent # 使用表达式主体的属性
csharp_style_expression_bodied_indexers = true:silent # 使用表达式主体的索引器
csharp_style_expression_bodied_accessors = true:silent # 使用表达式主体的访问器
# 模式匹配的偏好设置
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion # 推荐使用模式匹配而非 is 与类型转换检查
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion # 推荐使用模式匹配而非 as 与 null 检查
# 空检查的偏好设置
csharp_style_throw_expression = true:suggestion # 推荐使用 throw 表达式
csharp_style_conditional_delegate_call = true:suggestion # 推荐使用条件委托调用
# 修饰符的偏好设置
csharp_preferred_modifier_order = public,private,protected,internal,file,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,required,volatile,async:suggestion # 修饰符的推荐顺序
# 表达式级别的偏好设置
csharp_prefer_braces = true:silent # 推荐使用大括号,即使在可能省略的情况下
csharp_style_deconstructed_variable_declaration = true:suggestion # 推荐使用解构变量声明
csharp_prefer_simple_default_expression = true:suggestion # 推荐使用简化的默认值表达式
csharp_style_prefer_local_over_anonymous_function = true:suggestion # 推荐使用本地函数而非匿名函数
csharp_style_inlined_variable_declaration = true:suggestion # 推荐内联变量声明
###############################
# C# 格式化规则 #
###############################
# 新行偏好设置
# 在大括号前添加新行(适用于所有情况)
csharp_new_line_before_open_brace = all
# 在 "else" 关键字前添加新行
csharp_new_line_before_else = true
# 在 "catch" 关键字前添加新行
csharp_new_line_before_catch = true
# 在 "finally" 关键字前添加新行
csharp_new_line_before_finally = true
# 在对象初始化器中的成员前添加新行
csharp_new_line_before_members_in_object_initializers = true
# 在匿名类型初始化器中的成员前添加新行
csharp_new_line_before_members_in_anonymous_types = true
# 在查询表达式的子句之间添加新行
csharp_new_line_between_query_expression_clauses = true
# 缩进偏好设置
# 缩进 switch 语句的内容
csharp_indent_case_contents = true
# 缩进 switch 语句的标签
csharp_indent_switch_labels = true
# 缩进左对齐 switch 语句的标签
csharp_indent_labels = flush_left
# 空间首选项
# 禁止在强制类型转换后添加空格
csharp_space_after_cast = false
# 在控制流语句(如 if、for、while的关键字后添加空格
csharp_space_after_keywords_in_control_flow_statements = true
# 在方法调用的参数列表的括号内禁止添加空格
csharp_space_between_method_call_parameter_list_parentheses = false
# 在方法声明的参数列表的括号内禁止添加空格
csharp_space_between_method_declaration_parameter_list_parentheses = false
# 在圆括号内禁止添加空格
csharp_space_between_parentheses = false
# 在继承声明中的冒号前添加空格
csharp_space_before_colon_in_inheritance_clause = true
# 在继承声明中的冒号后添加空格
csharp_space_after_colon_in_inheritance_clause = true
# 在二元操作符周围的空格,前后都添加
csharp_space_around_binary_operators = before_and_after
# 在方法声明的空参数列表的括号内禁止添加空格
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
# 在方法调用的方法名和左括号之间禁止添加空格
csharp_space_between_method_call_name_and_opening_parenthesis = false
# 在方法调用的空参数列表的括号内禁止添加空格
csharp_space_between_method_call_empty_parameter_list_parentheses = false
# 包装偏好设置
csharp_preserve_single_line_statements = true # 保留单行语句的换行风格
csharp_preserve_single_line_blocks = true # 保留单行块的换行风格
# C# using 指令的放置偏好设置
csharp_using_directive_placement = outside_namespace:silent # 在命名空间外部放置 using 指令,不强制要求
# 表达式主体的 Lambda 表达式的偏好设置
csharp_style_expression_bodied_lambdas = true:silent # 推荐使用表达式主体的 Lambda 表达式,不强制要求
# 表达式主体的本地函数的偏好设置
csharp_style_expression_bodied_local_functions = false:silent # 不推荐使用表达式主体的本地函数,不强制要求
# 简化 using 语句的偏好设置
csharp_prefer_simple_using_statement = true:suggestion # 推荐使用简化的 using 语句,建议使用
# 命名空间声明风格的偏好设置
csharp_style_namespace_declarations = block_scoped:silent # 使用块级作用域的命名空间声明风格,不强制要求
# 方法组转换的偏好设置
csharp_style_prefer_method_group_conversion = true:silent # 推荐使用方法组转换,不强制要求
# 首选顶层语句的偏好设置
csharp_style_prefer_top_level_statements = true:silent # 推荐使用顶层语句,不强制要求
# 首选主构造函数的偏好设置
csharp_style_prefer_primary_constructors = true:suggestion # 推荐使用主构造函数,建议使用
# 使用静态本地函数的偏好设置
csharp_prefer_static_local_function = true:suggestion # 推荐使用静态本地函数,建议使用

View File

@ -0,0 +1,38 @@
root = true
# 全部文件
[*]
indent_style = space #指定缩进风格可以是tab制表符或space空格
# Xml files
[*.xml]
indent_size = 2 #定义一个缩进级别的大小。
[*.cs]
end_of_line = lf #指定换行符的类型可以是lfUnix/Linux、crlfWindows或cr老式的Mac OS
indent_style = space #指定缩进风格可以是tab制表符或space空格
charset = utf-8 #设置文件字符集为utf-8,在 Linux 系统中,通常推荐使用 UTF-8 而不是 UTF-8 with BOM。添加 BOM 可能会干扰那些不期望在文件开头出现非 ASCII 字节的软件对 UTF-8 的使用。
trim_trailing_whitespace = true #指定是否删除行尾的空白字符。
insert_final_newline = true #指定文件末尾是否应该插入一个空白行。
indent_size = 4
# 模式匹配的偏好设置
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion # 推荐使用模式匹配而非 is 与类型转换检查
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion # 推荐使用模式匹配而非 as 与 null 检查
# 空检查的偏好设置
csharp_style_throw_expression = true:suggestion # 推荐使用 throw 表达式
csharp_style_conditional_delegate_call = true:suggestion # 推荐使用条件委托调用
# 修饰符的偏好设置
csharp_preferred_modifier_order = public,private,protected,internal,file,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,required,volatile,async:suggestion # 修饰符的推荐顺序
# 表达式级别的偏好设置
csharp_prefer_braces = true:silent # 推荐使用大括号,即使在可能省略的情况下
csharp_style_deconstructed_variable_declaration = true:suggestion # 推荐使用解构变量声明
csharp_prefer_simple_default_expression = true:suggestion # 推荐使用简化的默认值表达式
csharp_style_prefer_local_over_anonymous_function = true:suggestion # 推荐使用本地函数而非匿名函数
csharp_style_inlined_variable_declaration = true:suggestion # 推荐内联变量声明
# 首选顶层语句的偏好设置
csharp_style_prefer_top_level_statements = true:silent # 推荐使用顶层语句,不强制要求

3
文档/其它/README.md Normal file
View File

@ -0,0 +1,3 @@
# document
文档

View File

@ -0,0 +1,20 @@
[Unit]
Description=sunny-sports-api
After=network.target
[Service]
# 运行 设置环境变量
#指定服务的工作目录
WorkingDirectory=/disk/ai_sports/sunnysportsapi
# run
ExecStart=/disk/ai_sports/sunnysportsapi/SunnySports.Api
SyslogIdentifier=SunnySportsApi
User=root
# 打开资源限制infinity 默认会到65535
LimitNOFILE=1048576
LimitNPROC=infinity
LimitCORE=infinity
# 自动检查重启10秒后重启
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,20 @@
[Unit]
Description=sunny-sports-api
After=network.target
[Service]
# 运行 设置环境变量
#指定服务的工作目录
WorkingDirectory=/disk/sunnysportsapi
# run
ExecStart=/disk/sunnysportsapi/SunnySports.Api
SyslogIdentifier=SunnySportsApi
User=root
# 打开资源限制infinity 默认会到65535
LimitNOFILE=1048576
LimitNPROC=infinity
LimitCORE=infinity
# 自动检查重启10秒后重启
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target

17
文档/其它/test.md Normal file
View File

@ -0,0 +1,17 @@
后台管理
需要管理数据库
需要可以添加数据库
需要可以删除数据库
学生数据库和系统库是否绑定
dotnet ef dbcontext scaffold "Server=192.168.1.229;Database=SunnySport_StudentBase;User ID=chfl;Password=chfl;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;" Microsoft.EntityFrameworkCore.SqlServer --no-pluralize --force --output-dir Model/Db_Student/
项目中
学生数据库是分库系统数据库是TenantId隔离
需要的配置
1.学校名称
2.系统数据库租户id
3.系统数据库连接字符串
4.学生数据库连接字符串

View File

@ -0,0 +1,117 @@
# 工作文档
## 远程服务器
用户名:_sjgame_
&nbsp;&nbsp;&nbsp;&nbsp;码:_Itvgame2020@!$#_
默认端口号:_33389_
### 国内服务器地址
| 服务器名称 | 外网地址 | 内网地址 | 备注 |
| ------------------ | ----------------- | ----------------- | -------------------- |
| 蘑菇游戏-web-1 | 82.157.13.127 | 172.21.64.107 | 绘画接口也在服务器上 |
| 蘑菇游戏-web-2 | 82.157.29.123 | 172.21.64.99 | |
| 蘑菇游戏-web-3 | 82.157.14.24 | 172.21.64.69 | |
| 蘑菇游戏-扩展服务 | 81.70.0.132 | 172.21.127.25 | |
| 蘑菇游戏-PC | 101.42.136.223 | 172.21.64.80 | 官网服务器 |
| ~~蘑菇游戏-web-1~~ | ~~82.157.20.213~~ | ~~172.21.112.18~~ | 已废弃 |
| ~~蘑菇游戏-web-2~~ | ~~82.157.29.123~~ | ~~172.21.112.4~~ | 已废弃 |
| ~~蘑菇游戏-web-3~~ | ~~82.157.14.24~~ | ~~172.21.112.25~~ | 已废弃 |
### 海外服务器地址
| 服务器名称 | 外网地址 | 内网地址 | 备注 |
| ----------------- | ------------- | ------------ | ---------------------- |
| 蘑菇游戏-web-1 | 101.32.15.216 | 172.19.0.12 | 绘画服务器 1 |
| 蘑菇游戏-web-2 | 101.32.14.235 | 172.19.0.11 | 绘画服务器 2 |
| 蘑菇游戏-web-3 | 43.135.25.193 | 172.19.0.95 | 绘画服务器 3 |
| 蘑菇游戏-扩展服务 | 43.129.199 | 172.19.0.13 | |
| 蘑菇游戏-PC | 43.129.195.20 | 172.19.0.149 | 官网服务器 |
| DB | | 172.19.0.17 | 数据库服务器,没有外网 |
### 跳板机
| 服务器名称 | 外网地址 | 内网地址 | 账号 | 密码 | 备注 |
| -------------- | -------------------- | -------- | -------- | ---------------- | -------------------------------------------------------------------------------------------------------- |
| 测试环境跳板机 | 112.124.23.127:33389 | -------- | zhangzhe | CRPCXmdJV5IbK6kh | 测试环境绘画 vnc 地址:<br>_121.11.212.23:15903_<br>_tvgame@1_ |
| 现网跳板机 | 112.124.23.127:33389 | -------- | yinming | nwA6QVatxEzIgEdw | 远程现网服务器地址:<br>_D:\Soft\mstsc-bat\无盘更新 server\601-games-国内-瑞云-华南-广东-cbd-2-(200 路)_ |
### 其他服务器
| 服务器名称 | 外网地址 | 内网地址 | 账号 | 密码 | 备注 |
| ------------------------- | -------------------- | ------------------- | ------ | ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 测试环境服务器 | 121.5.26.77:33389 | | sjgame | Itvgame2020@!$# | 蘑菇和绘画测试服务器 |
| vnc 绘画服务器 | | 121.11.212.23:15903 | | _tvgame@1_ | 需要使用 vnc 连接 |
| 西南交大服务器-测试 | 43.143.246.189:33389 | | sjgame | _Itvgame2020@!$#_ | 测试环境 |
| 西南交大正式服务器-跳板机 | 146.56.198.144:33389 | | sjgame | _Itvgame2020@!$#_ | 远程服务器后需要登录 vpn 才能连接校园服务器 |
| 西南交大正式服务器 | 10.31.19.58 | | sjgame | _Itvgame2020@!$#_ | 如果连上面的服务器,需要有如下步骤<br />1登录跳板机146.56.198.144:33389 用户名sjgame 密码Itvgame2020@!$#<br />2拨VPN在跳板机的桌面上有一个vpn.txt上面都有说明短信手机号是赵亮的<br />3)在跳板机上面直接远程10.31.19.58 即可然后这台就是正式的WEB服务器 |
## 账号
| 名称 | 账号 | 密码 | 网址 | 备注 |
| ---------------------------------------------------------------------------------------------------- | ---------------------- | ----------------- | ----------------------------------------------------------------------------------------- | ---------------------------------------------------------- |
| [git](http://192.168.1.33/users/sign_in) | zhangzhe@holyblade.com | dbt@com@123 | _http://192.168.1.33/users/sign_in_ | git 项目管理地址 |
| ~~[svn](http://192.168.1.19:82/svn/%e6%96%b0%e4%b8%9a%e5%8a%a1/98-%e9%a1%b9%e7%9b%ae/MoguExtCode/)~~ | zhangzhe | RG8orVOa | http://192.168.1.19:82/svn/%e6%96%b0%e4%b8%9a%e5%8a%a1/98-%e9%a1%b9%e7%9b%ae/MoguExtCode/ | 代码已经不再 svn 中管理,使用 git 管理 |
| [禅道](https://moguyouxi.zentaopm.com/) | zhangzhe | zhangzhe0714 | _https://moguyouxi.zentaopm.com/_ | 管理项目进度 |
| [神策](https://sj.cloud.sensorsdata.cn/login/index.html) | heyao@holyblade.com | heyao123!@# | https://sj.cloud.sensorsdata.cn/login/index.html | 用于统计app数据,没有自己的账号注意需要断开vpn才能访问 |
| [蓝湖](https://lanhuapp.com/link/#/invite?sid=lx0c2ZfN) | 18761127117 | | | 手机号登录,如果没有权限,找美术开通权限 |
| [百度统计](https://tongji.baidu.com/web/homepage/index) | 13162753112 | Mogu2022. | _https://tongji.baidu.com/web/homepage/index_ | 使用百度账号登录,如果需要发送验证码,找市场部(唐丹等人) |
| ~~[网站监测](http://81.70.0.156:8001/)~~ | logadmin | tech@mogu2021 | http://81.70.0.156:8001/ | 现在访问不通 |
| [友盟](https://www.umeng.com/) | 圣剑网络云游戏 | holyblade0306 | https://www.umeng.com/ | 验证手机林宇19521266946,类似神策 |
| [国内鲸云](https://jyapi.moguyouxi.cn:4433/admin/login) | shengjian | sjManager@admin19 | https://jyapi.moguyouxi.cn:4433/admin/login | |
| [海外鲸云](https://jyapihw.moguyouxi.cn:8400//admin/login) | shengjian | sjManager@admin19 | https://jyapihw.moguyouxi.cn:8400//admin/login | |
## 阿里云OSS
阿里云cdn的客户端工具
https://help.aliyun.com/document_detail/61872.html
~~holyblade@aliyun.com/holyblade1812~~
AccessKey ID:_2ZtnBc61LYwbUoAq_
AccessKey Secret:_ec4UWI8pJ9staa40HGFKcf1WewU0R5_
## 开发事项
### api接口地址
#### 测试环境
* 蘑菇api
1. [app接口](https://test.moguyouxi.cn:8400/Phone300_Api/) _https://test.moguyouxi.cn:8400/Phone300_Api/_
2. [游戏直播api](https://test.moguyouxi.cn:8400/GameLive/) _https://test.moguyouxi.cn:8400/GameLive/_
3. [扩展api](https://test.moguyouxi.cn:8400/MoguExt/) _https://test.moguyouxi.cn:8400/MoguExt/_
4. [游戏服务api](https://test.moguyouxi.cn:8400/GameApi/) _https://test.moguyouxi.cn:8400/GameApi/_
5. [游戏对战api](https://test.moguyouxi.cn:8400/GameFight/) _https://test.moguyouxi.cn:8400/GameFight/_
6. [支付api](https://test.moguyouxi.cn:8400/MoguExt.PaymentCenter/) _https://test.moguyouxi.cn:8400/MoguExt.PaymentCenter/_
7. [蘑菇活动api](https://test.moguyouxi.cn:8400/MoguExt.HD/) _https://test.moguyouxi.cn:8400/MoguExt.HD/_
* 绘画api
1. [绘画api](https://test.moguyouxi.cn:8400/HissAi4.Api/) _https://test.moguyouxi.cn:8400/HissAi4.Api/_
2. [绘画api_net6](https://test.moguyouxi.cn:8400/HissAi6.Api/) _https://test.moguyouxi.cn:8400/HissAi6.Api/_
3. [支付api](https://test.moguyouxi.cn:8400/HissAi4.PayCenter/) _https://test.moguyouxi.cn:8400/HissAi4.PayCenter/_
#### 国内正式api
* 蘑菇api
1. [app接口](https://sjapi.moguyouxi.cn:8400/Phone300_Api/) _https://sjapi.moguyouxi.cn:8400/Phone300_Api/_
2. [游戏直播api](https://sjapi.moguyouxi.cn:8400/GameLive/) _https://sjapi.moguyouxi.cn:8400/GameLive/_
3. [游戏服务api](https://sjapi.moguyouxi.cn:8400/Phone300_GameApi/) _https://sjapi.moguyouxi.cn:8400/Phone300_GameApi/_
4. [游戏对战api](https://sjapi.moguyouxi.cn:8400/GameFight/) _https://sjapi.moguyouxi.cn:8400/GameFight/_
5. [扩展api](https://moguext.moguyouxi.cn/MoguExt/) _https://moguext.moguyouxi.cn/MoguExt/_
6. [支付api](https://moguext.moguyouxi.cn/MoguExt.PaymentCenter/) _https://moguext.moguyouxi.cn/MoguExt.PaymentCenter/_
7. [蘑菇活动api](https://moguext.moguyouxi.cn/MoguExt.HD/) _https://moguext.moguyouxi.cn/MoguExt.HD/_
* 绘画api
1. [绘画api](https://api.hissai.com:8400/) _https://api.hissai.com:8400/_
2. [绘画api_net6](https://api.hissai.com:8400/HissAi6.Api/) _https://api.hissai.com:8400/HissAi6.Api/_
3. [支付api](https://api-pay.hissai.com/) _https://api-pay.hissai.com/_
### 开发资料
| 名称 | 地址 | 备注 |
| -------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---- |
| [抖音开发文档](https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/content-security/picture-detect-v2) | https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/content-security/picture-detect-v2 | |
| [微信开发文档](https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/skyline/introduction.html) | https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/skyline/introduction.html | |
| [微信公众平台](https://mp.weixin.qq.com/) | https://mp.weixin.qq.com/ | |
| [SEO综合查询](https://seo.chinaz.com/www.moguyouxi.cn) | https://seo.chinaz.com/www.moguyouxi.cn | |
|[云测试](https://www.testin.cn/account/login.htm)|https://www.testin.cn/account/login.htm||
|[微软技术文档](https://learn.microsoft.com/zh-cn/docs/)|https://learn.microsoft.com/zh-cn/docs/||
|[uni-app](https://uniapp.dcloud.net.cn/)|https://uniapp.dcloud.net.cn/||

View File

@ -0,0 +1,18 @@
远程方式
```sh
ssh -p 22 root@192.168.1.229
# Itvgame2020@!$#
```
# 服务器静态文件目录
```sh
# /var/www/html/SunnySportsStudent
```
测试环境
[学生端首页](http://192.168.1.229/SunnySportsStudent/index.html)
[教师端首页](http://192.168.1.229/SunnySportsTeacher/index.html)
唐镇环境
[学生端首页](https://test.moguyouxi.cn/SunnySportsStudent/index.html)
[教师端首页](https://test.moguyouxi.cn/SunnySportsTeacher/index.html)
ssh -p 22 ubuntu@124.222.7.198

63
文档/其它/点赞.txt Normal file
View File

@ -0,0 +1,63 @@
public BaseResponse<string> DownloadPng(int appId, long userId, long drawId)
{
//var photoAlbum = dao.daoUserData.context.T_User_PhotoAlbum.Where(t => t.Type == 0 && t.DrawId == drawId).FirstOrDefault();
var photoAlbum = dao.daoUserData.context.T_User_Gallery.Where(t => t.Type == 0 && t.DrawId == drawId).FirstOrDefault();
if (photoAlbum == null)
{
return new BaseResponse<string>(ResonseCode.Error, "未找到画廊数据");
}
var obj = dao.daoLog.context.T_Draw_Download_log.Where(t => t.UserId == userId && t.DrawId == drawId).FirstOrDefault();
var imgUrl = string.Empty;
if (obj != null)
{
imgUrl = dao.daoData.context.T_Draw_Log.Where(it => it.Id == drawId).Select(t => t.TaskResult).FirstOrDefault();
return new BaseResponse<string>(ResonseCode.Success, "", imgUrl);
}
var user = dao.daoUserData.context.T_Users_Data.Where(t => t.UserId == userId).FirstOrDefault();
if (user == null)
{
return new BaseResponse<string>(ResonseCode.Error, "用户不存在");
}
var like = dao.daoUserData.context.T_User_Like.FirstOrDefault(it => it.DrawId == drawId && it.UserId == userId);
if (like != null)
{
if (string.IsNullOrEmpty(imgUrl))
{
imgUrl = dao.daoData.context.T_Draw_Log.Where(it => it.Id == drawId).Select(t => t.TaskResult).FirstOrDefault();
}
return new BaseResponse<string>(ResonseCode.Success, "", imgUrl);
}
var currency = user.Currency;
if (currency <= 0)
{
return new BaseResponse<string>(ResonseCode.UserNotMoney, "用户金额不足");
}
if (obj == null)
{
var t_Draw_Download_Log = new T_Draw_Download_log
{
UserId = userId,
DrawId = drawId,
GalleryId = photoAlbum.Id,
CreateDateTime = DateTime.Now,
LastDownloadDateTime = DateTime.Now,
DownloadCount = 1,
DownloadConsume = 1
};
dao.daoLog.Add(t_Draw_Download_Log);
}
else
{
obj.DownloadConsume += 1;
obj.DownloadCount += 1;
obj.LastDownloadDateTime = DateTime.Now;
dao.daoLog.Update(obj);
}
new AccountBLL(dao).UpUserCurrencyInfo(userId, currency: -1);
dao.daoLog.context.SaveChanges();
if (string.IsNullOrEmpty(imgUrl))
{
imgUrl = dao.daoData.context.T_Draw_Log.Where(it => it.Id == drawId).Select(t => t.TaskResult).FirstOrDefault();
}
return new BaseResponse<string>(ResonseCode.Success, "", imgUrl);
}

View File

@ -0,0 +1,232 @@
# 阳光体育部署文档
## 先决条件
1.dotnet 8
2.git
## 运行项目
```sh
# 假设项目文件在 /disk/ 目录下disk为空目录
sudo mkdir /disk
sudo chmod 777 /disk
# 拉取代码
git clone git@192.168.1.33:mogu_server/sunnysports.git
# 进入到拉取代码文件中
cd /disk/sunnysports
# 安装git子模块
git submodule init
# 拉去子模块代码,拉完需要检测下子模块文件夹中是否有文件(子模块路径:/disk/sunnysports/SunnySports/XLib
git submodule update
# 切换子模块分支(先切换到主目录,在切换分支,然后拉去代码)
cd /disk/sunnysports/SunnySports/XLib
git checkout main
git pull
# 切换主项目分支(和上面一样)
cd /disk/sunnysports
git checkout main
git pull
# 还原包
cd /disk/sunnysports/SunnySports
dotnet restore
# 编译项目
cd /disk/sunnysports/SunnySports
dotnet build
#编译api项目
cd /disk/sunnysports/SunnySports/1-api/SunnySports.Api
dotnet build
# 运行项目
cd /disk/sunnysports/SunnySports/1-api/SunnySports.Api
dotnet run
```
## 发布项目
```sh
# 假设项目文件在 /disk/ 目录下disk文件夹中已经有sunnysports项目文件夹
# 创建文件夹SunnySportsApi DataGateway
cd /disk/
mkdir sunnysportsapi
sudo chmod 777 sunnysportsapi
# 发布项目
cd /disk/sunnysports/SunnySports/1-api/SunnySports.Api
dotnet publish -c Release -o /disk/sunnysportsapi
# 运行项目
cd /disk/sunnysportsapi
./SunnySports.Api
```
## 发布项目
```sh
# 假设项目文件在 /disk/ 目录下disk文件夹中已经有sunnysports项目文件夹
# 创建文件夹SunnySportsApi DataGateway
cd /disk/
mkdir DataGateway
sudo chmod 777 DataGateway
# 发布项目
cd /disk/sunnysports/SunnySports/2-service/DataGateway
dotnet publish -c Release -o /disk/DataGateway/
rsync -avz /disk/DataGateway/ root@192.144.132.25:/disk/ai_sports/DataGateway/
# 运行项目 /disk/DataGateway/NLog.config
cd /disk/sunnysportsapi
./SunnySports.Api
```
dotnet publish -c Release -o /disk/DataGateway
## 同步项目
```sh
# 安装文件同步工具
sudo apt-get install rsync
#同步文件
rsync -avz /disk/sunnysportsapi/ root@192.168.1.229:/disk/ai_sports/sunnysportsapi
rsync -avz /disk/sunnysportsapi/ root@192.144.132.25:/disk/ai_sports/sunnysportsapi
# http://192.144.132.25/
# ssh -p 22 root@192.144.132.25
# 192.168.1.229,服务器密码:Itvgame2020@!$#
```
sudo systemctl stop pray-api.service
rsync -avz /disk/PrayForBlessingsApi ubuntu@1.117.87.77:/disk/prayforblessingsapi
dbt@com@1234
## 创建linux 服务
```sh
# 你需要创建一个systemd服务单元文件。这个文件描述了如何启动、停止和重启你的程序。你可以在/etc/systemd/system/目录下创建一个新的.service文件比如your_program.service
cd /etc/systemd/system/
# 创建文件
sudo nano sunny-sports-api.service
#粘贴内容
[Unit]
Description=sunny-sports-api
After=network.target
[Service]
# 运行 设置环境变量
#指定服务的工作目录
WorkingDirectory=/disk/ai_sports/sunnysportsapi
# run
ExecStart=/disk/ai_sports/sunnysportsapi/SunnySports.Api
SyslogIdentifier=SunnySportsApi
User=root
# 打开资源限制infinity 默认会到65535
LimitNOFILE=1048576
LimitNPROC=infinity
LimitCORE=infinity
# 自动检查重启10秒后重启
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
#刷新服务
sudo systemctl daemon-reload
# 启动服务
sudo systemctl start sunny-sports-api.service
sudo systemctl start data-gateway.service
# 检测服务状态
sudo systemctl status sunny-sports-api.service
# 设置开机启动
sudo systemctl enable sunny-sports-api.service
sudo systemctl enable data-gateway.service
# 关闭服务
sudo systemctl stop sunny-sports-api.service
sudo systemctl stop data-gateway.service
# 关闭开机启动
sudo systemctl disable sunny-sports-api.service
# 重新启动服务
sudo systemctl restart sunny-sports-api.service
sudo systemctl restart data-gateway.service
# 发布
cd /disk/sunnysports/SunnySports/;make build-release-229
cd /disk/sunnysports/SunnySports/;make build-release-25
```
sudo systemctl restart data-gateway.service
## 更新项目
```sh
# 先将检测服务状态,如果服务启动,先停止服务
sudo systemctl status sunny-sports-api.service
# 停止服务
sudo systemctl stop sunny-sports-api.service
sudo systemctl stop sunny-sports-api.service
# 同步文件
rsync -avz /disk/sunnysportsapi/ root@192.168.1.229:/disk/ai_sports/sunnysportsapi
# 开启服务
sudo systemctl start sunny-sports-api.service
# 检测服务状态
sudo systemctl status sunny-sports-api.service
sudo systemctl restart sunny-sports-api.service
```
## 配置项
```sh
# 配置学生人脸存放地址
\\\\\\\\\\
"StudentConfig":{
# 存放学生人脸的路径
"StudentFacePath": "./StudentFace/",
}
```
## 接口乱码
```sh
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
LANG=zh_CN.UTF-8
LANGUAGE=
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=
```
## make 发布命令
```sh
# 229服务器
数据网关 ssh root@192.168.1.229 "cd /disk/work/sj_git/sunnysports/;make build-data-loca"
api ssh root@192.168.1.229 "cd /disk/work/sj_git/sunnysports/;make build-api-loca"
前端 ssh root@192.168.1.229 "cd /disk/work/sj_git/systemadmin/;make build-test"
# 25服务器
数据网关 ssh root@192.168.1.229 "cd /disk/work/sj_git/sunnysports/;make build-data"
api ssh root@192.168.1.229 "cd /disk/work/sj_git/sunnysports/;make build-api"
前端 ssh root@192.168.1.229 "cd /disk/work/sj_git/systemadmin/;make build"
ssh root@192.168.1.229 "cd /disk/work/sj_git/sunnysports/;make build-api-all"
ssh root@192.168.1.229 "cd /disk/work/sj_git/systemadmin/;make build-r"
D:\办公软件\HBuilderX\cli.exe cli publish --platform h5 --project SunnySportsStudent
````

View File

@ -0,0 +1,2 @@
1. [网络地址](https://api.zpc-xy.com/)
2. IP: 101.43.1.207

View File

@ -0,0 +1,40 @@
[Unit]
Description=BaGet NuGet Server
After=network.target
[Service]
WorkingDirectory=/disk/BaGet/net8.0/
ExecStart=/disk/BaGet/net8.0/BaGet
Restart=always
# 如果网络服务崩溃请在10秒钟后重新启动服务
RestartSec=10
SyslogIdentifier=baget
User=root
[Install]
WantedBy=multi-user.target
[Unit]
Description=sunny-sports-api
After=network.target
[Service]
# 运行 设置环境变量
#指定服务的工作目录
WorkingDirectory=/disk/BaGet/net8.0
# run
ExecStart=/disk/BaGet/net8.0/BaGet
SyslogIdentifier=baget
User=root
# 打开资源限制infinity 默认会到65535
LimitNOFILE=1048576
LimitNPROC=infinity
LimitCORE=infinity
# 自动检查重启10秒后重启
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,25 @@
## 服务文件
/etc/systemd/system/baget.service
```sh
sudo nano /etc/systemd/system/baget.service
sudo systemctl daemon-reload
sudo systemctl start baget
sudo systemctl enable baget
sudo systemctl status baget
sudo systemctl stop baget
```
## 发布命令
```sh
# /disk/BaGet/src/BaGet$
dotnet publish -c Release -o /disk/BaGetApi/
```
## 同步命令
```sh
rsync -avz /disk/BaGetApi/ ubuntu@123.207.203.228:/disk/BaGet/net8.0/
```
## 上传
```sh
dotnet nuget push XLib.NetCore.Utility.1.0.0.nupkg --source "http://123.207.203.228:91/v3/index.json" --api-key "066f010d59"
```