fertao
2025-08-01 1d52633e2541dec351c1a132a430b9ed461dd912
vs coder
36个文件已添加
741 ■■■■■ 已修改文件
Server/付林涛/code/vscode/tiankai/.vs/tiankai/v14/.suo 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/vscode/tiankai/Debug/tiankai.exe 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/vscode/tiankai/Debug/tiankai.ilk 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/vscode/tiankai/Debug/tiankai.pdb 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/vscode/tiankai/ipch/TIANKAI-9bd3e4f1/TIANKAI-4f0af82d.ipch 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/vscode/tiankai/tiankai.VC.VC.opendb 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/vscode/tiankai/tiankai.VC.db 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/vscode/tiankai/tiankai.sln 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/vscode/tiankai/tiankai/Debug/SaveFile.obj 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/vscode/tiankai/tiankai/Debug/SaveSQL.obj 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/vscode/tiankai/tiankai/Debug/stdafx.obj 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/vscode/tiankai/tiankai/Debug/tiankai.Build.CppClean.log 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/vscode/tiankai/tiankai/Debug/tiankai.log 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/vscode/tiankai/tiankai/Debug/tiankai.obj 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/vscode/tiankai/tiankai/Debug/tiankai.pch 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/vscode/tiankai/tiankai/Debug/tiankai.tlog/CL.command.1.tlog 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/vscode/tiankai/tiankai/Debug/tiankai.tlog/CL.read.1.tlog 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/vscode/tiankai/tiankai/Debug/tiankai.tlog/CL.write.1.tlog 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/vscode/tiankai/tiankai/Debug/tiankai.tlog/link.command.1.tlog 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/vscode/tiankai/tiankai/Debug/tiankai.tlog/link.read.1.tlog 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/vscode/tiankai/tiankai/Debug/tiankai.tlog/link.write.1.tlog 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/vscode/tiankai/tiankai/Debug/tiankai.tlog/tiankai.lastbuildstate 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/vscode/tiankai/tiankai/Debug/vc140.idb 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/vscode/tiankai/tiankai/Debug/vc140.pdb 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/vscode/tiankai/tiankai/ReadMe.txt 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/vscode/tiankai/tiankai/SaveFile.cpp 194 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/vscode/tiankai/tiankai/SaveFile.h 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/vscode/tiankai/tiankai/SaveSQL.cpp 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/vscode/tiankai/tiankai/SaveSQL.h 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/vscode/tiankai/tiankai/stdafx.cpp 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/vscode/tiankai/tiankai/stdafx.h 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/vscode/tiankai/tiankai/struct_data.h 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/vscode/tiankai/tiankai/targetver.h 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/vscode/tiankai/tiankai/tiankai.cpp 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/vscode/tiankai/tiankai/tiankai.vcxproj 168 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/vscode/tiankai/tiankai/tiankai.vcxproj.filters 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Server/¸¶ÁÖÌÎ/code/vscode/tiankai/.vs/tiankai/v14/.suo
Binary files differ
Server/¸¶ÁÖÌÎ/code/vscode/tiankai/Debug/tiankai.exe
Binary files differ
Server/¸¶ÁÖÌÎ/code/vscode/tiankai/Debug/tiankai.ilk
Binary files differ
Server/¸¶ÁÖÌÎ/code/vscode/tiankai/Debug/tiankai.pdb
Binary files differ
Server/¸¶ÁÖÌÎ/code/vscode/tiankai/ipch/TIANKAI-9bd3e4f1/TIANKAI-4f0af82d.ipch
Binary files differ
Server/¸¶ÁÖÌÎ/code/vscode/tiankai/tiankai.VC.VC.opendb
Binary files differ
Server/¸¶ÁÖÌÎ/code/vscode/tiankai/tiankai.VC.db
Binary files differ
Server/¸¶ÁÖÌÎ/code/vscode/tiankai/tiankai.sln
New file
@@ -0,0 +1,28 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tiankai", "tiankai\tiankai.vcxproj", "{1911386F-42D7-420E-B70B-B2C951D0081B}"
EndProject
Global
    GlobalSection(SolutionConfigurationPlatforms) = preSolution
        Debug|x64 = Debug|x64
        Debug|x86 = Debug|x86
        Release|x64 = Release|x64
        Release|x86 = Release|x86
    EndGlobalSection
    GlobalSection(ProjectConfigurationPlatforms) = postSolution
        {1911386F-42D7-420E-B70B-B2C951D0081B}.Debug|x64.ActiveCfg = Debug|x64
        {1911386F-42D7-420E-B70B-B2C951D0081B}.Debug|x64.Build.0 = Debug|x64
        {1911386F-42D7-420E-B70B-B2C951D0081B}.Debug|x86.ActiveCfg = Debug|Win32
        {1911386F-42D7-420E-B70B-B2C951D0081B}.Debug|x86.Build.0 = Debug|Win32
        {1911386F-42D7-420E-B70B-B2C951D0081B}.Release|x64.ActiveCfg = Release|x64
        {1911386F-42D7-420E-B70B-B2C951D0081B}.Release|x64.Build.0 = Release|x64
        {1911386F-42D7-420E-B70B-B2C951D0081B}.Release|x86.ActiveCfg = Release|Win32
        {1911386F-42D7-420E-B70B-B2C951D0081B}.Release|x86.Build.0 = Release|Win32
    EndGlobalSection
    GlobalSection(SolutionProperties) = preSolution
        HideSolutionNode = FALSE
    EndGlobalSection
EndGlobal
Server/¸¶ÁÖÌÎ/code/vscode/tiankai/tiankai/Debug/SaveFile.obj
Binary files differ
Server/¸¶ÁÖÌÎ/code/vscode/tiankai/tiankai/Debug/SaveSQL.obj
Binary files differ
Server/¸¶ÁÖÌÎ/code/vscode/tiankai/tiankai/Debug/stdafx.obj
Binary files differ
Server/¸¶ÁÖÌÎ/code/vscode/tiankai/tiankai/Debug/tiankai.Build.CppClean.log
New file
@@ -0,0 +1,9 @@
e:\fertao\documents\visual studio 2015\projects\tiankai\tiankai\debug\tiankai.pch
e:\fertao\documents\visual studio 2015\projects\tiankai\tiankai\debug\vc140.pdb
e:\fertao\documents\visual studio 2015\projects\tiankai\tiankai\debug\vc140.idb
e:\fertao\documents\visual studio 2015\projects\tiankai\tiankai\debug\stdafx.obj
e:\fertao\documents\visual studio 2015\projects\tiankai\tiankai\debug\savesql.obj
e:\fertao\documents\visual studio 2015\projects\tiankai\tiankai\debug\tiankai.obj
e:\fertao\documents\visual studio 2015\projects\tiankai\tiankai\debug\tiankai.tlog\cl.command.1.tlog
e:\fertao\documents\visual studio 2015\projects\tiankai\tiankai\debug\tiankai.tlog\cl.read.1.tlog
e:\fertao\documents\visual studio 2015\projects\tiankai\tiankai\debug\tiankai.tlog\cl.write.1.tlog
Server/¸¶ÁÖÌÎ/code/vscode/tiankai/tiankai/Debug/tiankai.log
New file
@@ -0,0 +1,23 @@
  stdafx.cpp
  tiankai.cpp
  SaveSQL.cpp
e:\fertao\documents\visual studio 2015\projects\tiankai\tiankai\struct_data.h(37): warning C4200: ä½¿ç”¨äº†éžæ ‡å‡†æ‰©å±•: ç»“æž„/联合中的零大小数组
  e:\fertao\documents\visual studio 2015\projects\tiankai\tiankai\struct_data.h(37): note: é»˜è®¤æž„造函数或 copy/move èµ‹å€¼è¿ç®—符将忽略此成员
e:\fertao\documents\visual studio 2015\projects\tiankai\tiankai\struct_data.h(47): warning C4200: ä½¿ç”¨äº†éžæ ‡å‡†æ‰©å±•: ç»“æž„/联合中的零大小数组
  e:\fertao\documents\visual studio 2015\projects\tiankai\tiankai\struct_data.h(47): note: é»˜è®¤æž„造函数或 copy/move èµ‹å€¼è¿ç®—符将忽略此成员
e:\fertao\documents\visual studio 2015\projects\tiankai\tiankai\struct_data.h(68): warning C4200: ä½¿ç”¨äº†éžæ ‡å‡†æ‰©å±•: ç»“æž„/联合中的零大小数组
  e:\fertao\documents\visual studio 2015\projects\tiankai\tiankai\struct_data.h(68): note: é»˜è®¤æž„造函数或 copy/move èµ‹å€¼è¿ç®—符将忽略此成员
e:\fertao\documents\visual studio 2015\projects\tiankai\tiankai\struct_data.h(74): warning C4200: ä½¿ç”¨äº†éžæ ‡å‡†æ‰©å±•: ç»“æž„/联合中的零大小数组
  e:\fertao\documents\visual studio 2015\projects\tiankai\tiankai\struct_data.h(74): note: é»˜è®¤æž„造函数或 copy/move èµ‹å€¼è¿ç®—符将忽略此成员
  SaveFile.cpp
e:\fertao\documents\visual studio 2015\projects\tiankai\tiankai\struct_data.h(37): warning C4200: ä½¿ç”¨äº†éžæ ‡å‡†æ‰©å±•: ç»“æž„/联合中的零大小数组
  e:\fertao\documents\visual studio 2015\projects\tiankai\tiankai\struct_data.h(37): note: é»˜è®¤æž„造函数或 copy/move èµ‹å€¼è¿ç®—符将忽略此成员
e:\fertao\documents\visual studio 2015\projects\tiankai\tiankai\struct_data.h(47): warning C4200: ä½¿ç”¨äº†éžæ ‡å‡†æ‰©å±•: ç»“æž„/联合中的零大小数组
  e:\fertao\documents\visual studio 2015\projects\tiankai\tiankai\struct_data.h(47): note: é»˜è®¤æž„造函数或 copy/move èµ‹å€¼è¿ç®—符将忽略此成员
e:\fertao\documents\visual studio 2015\projects\tiankai\tiankai\struct_data.h(68): warning C4200: ä½¿ç”¨äº†éžæ ‡å‡†æ‰©å±•: ç»“æž„/联合中的零大小数组
  e:\fertao\documents\visual studio 2015\projects\tiankai\tiankai\struct_data.h(68): note: é»˜è®¤æž„造函数或 copy/move èµ‹å€¼è¿ç®—符将忽略此成员
e:\fertao\documents\visual studio 2015\projects\tiankai\tiankai\struct_data.h(74): warning C4200: ä½¿ç”¨äº†éžæ ‡å‡†æ‰©å±•: ç»“æž„/联合中的零大小数组
  e:\fertao\documents\visual studio 2015\projects\tiankai\tiankai\struct_data.h(74): note: é»˜è®¤æž„造函数或 copy/move èµ‹å€¼è¿ç®—符将忽略此成员
  æ­£åœ¨ç”Ÿæˆä»£ç ...
  tiankai.vcxproj -> E:\fertao\Documents\Visual Studio 2015\Projects\tiankai\Debug\tiankai.exe
  tiankai.vcxproj -> E:\fertao\Documents\Visual Studio 2015\Projects\tiankai\Debug\tiankai.pdb (Full PDB)
Server/¸¶ÁÖÌÎ/code/vscode/tiankai/tiankai/Debug/tiankai.obj
Binary files differ
Server/¸¶ÁÖÌÎ/code/vscode/tiankai/tiankai/Debug/tiankai.pch
Binary files differ
Server/¸¶ÁÖÌÎ/code/vscode/tiankai/tiankai/Debug/tiankai.tlog/CL.command.1.tlog
Binary files differ
Server/¸¶ÁÖÌÎ/code/vscode/tiankai/tiankai/Debug/tiankai.tlog/CL.read.1.tlog
Binary files differ
Server/¸¶ÁÖÌÎ/code/vscode/tiankai/tiankai/Debug/tiankai.tlog/CL.write.1.tlog
Binary files differ
Server/¸¶ÁÖÌÎ/code/vscode/tiankai/tiankai/Debug/tiankai.tlog/link.command.1.tlog
Binary files differ
Server/¸¶ÁÖÌÎ/code/vscode/tiankai/tiankai/Debug/tiankai.tlog/link.read.1.tlog
Binary files differ
Server/¸¶ÁÖÌÎ/code/vscode/tiankai/tiankai/Debug/tiankai.tlog/link.write.1.tlog
Binary files differ
Server/¸¶ÁÖÌÎ/code/vscode/tiankai/tiankai/Debug/tiankai.tlog/tiankai.lastbuildstate
New file
@@ -0,0 +1,2 @@
#TargetFrameworkVersion=v4.0:PlatformToolSet=v140:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=8.1
Debug|Win32|E:\fertao\Documents\Visual Studio 2015\Projects\tiankai\|
Server/¸¶ÁÖÌÎ/code/vscode/tiankai/tiankai/Debug/vc140.idb
Binary files differ
Server/¸¶ÁÖÌÎ/code/vscode/tiankai/tiankai/Debug/vc140.pdb
Binary files differ
Server/¸¶ÁÖÌÎ/code/vscode/tiankai/tiankai/ReadMe.txt
New file
@@ -0,0 +1,30 @@
========================================================================
    æŽ§åˆ¶å°åº”用程序:tiankai é¡¹ç›®æ¦‚è¿°
========================================================================
应用程序向导已为您创建了此 tiankai åº”用程序。
本文件概要介绍组成 tiankai åº”用程序的每个文件的内容。
tiankai.vcxproj
    è¿™æ˜¯ä½¿ç”¨åº”用程序向导生成的 VC++ é¡¹ç›®çš„主项目文件,其中包含生成该文件的 Visual C++ çš„版本信息,以及有关使用应用程序向导选择的平台、配置和项目功能的信息。
tiankai.vcxproj.filters
    è¿™æ˜¯ä½¿ç”¨â€œåº”用程序向导”生成的 VC++ é¡¹ç›®ç­›é€‰å™¨æ–‡ä»¶ã€‚它包含有关项目文件与筛选器之间的关联信息。在 IDE ä¸­ï¼Œé€šè¿‡è¿™ç§å…³è”,在特定节点下以分组形式显示具有相似扩展名的文件。例如,“.cpp”文件与“源文件”筛选器关联。
tiankai.cpp
    è¿™æ˜¯ä¸»åº”用程序源文件。
/////////////////////////////////////////////////////////////////////////////
其他标准文件:
StdAfx.h, StdAfx.cpp
    è¿™äº›æ–‡ä»¶ç”¨äºŽç”Ÿæˆåä¸º tiankai.pch çš„预编译头 (PCH) æ–‡ä»¶å’Œåä¸º StdAfx.obj çš„预编译类型文件。
/////////////////////////////////////////////////////////////////////////////
其他注释:
应用程序向导使用“TODO:”注释来指示应添加或自定义的源代码部分。
/////////////////////////////////////////////////////////////////////////////
Server/¸¶ÁÖÌÎ/code/vscode/tiankai/tiankai/SaveFile.cpp
New file
@@ -0,0 +1,194 @@
#include "stdafx.h"
#include "SaveFile.h"
#include <iostream>
#include <vector>
#include "SaveSQL.h"
SaveFile::SaveFile()
{
    buf = new char[BUF_MAX_SIZE];    // 8k数据位
    memset(buf, 0, BUF_MAX_SIZE);
    flag = 0;
}
SaveFile::~SaveFile()
{
    if (fileName)
    {
        delete fileName;
    }
    if (buf) {
        delete[] buf;
    }
}
int SaveFile::fileop(char* str, int len)
{
    if (!str || len <= 0) {
        return -1;
    }
    Head *head = (Head*)str;
    if (head->type != UPLOAD_REQ)
    {
        return -1;
    }
    int type = *(int *)(str + sizeof(Head));
    if (type == HEAD_UPLOAD_REQ) {
        return fileHead(str, len);
    }
    else if (type == DATA_UPLOAD_REQ) {
        return fileData(str, len);
    }
    else if (type == UP_LOAD_FIN) {
        return fileFin(str, len);
    }
    else {
        return -1;
    }
}
int SaveFile::fileHead(char* str, int len)
{
    if (!str || len <= 0) {
        return -1;
    }
    /*struct UpLoadPkgHead {
        Head head;
        int upLoadType;
        int fileNameLen;
        char fileName[0];
    };*/
    // å¾—到文件名的长度
    int fileNameLen = *(int *)(str + sizeof(Head) + sizeof(int));
    if (fileNameLen <= 0) {
        return -1;
    }
    char *fileNameStr = (str + sizeof(Head) + sizeof(int) * 2);
    fileName = new std::string(fileNameStr);
    std::cout << fileName->data() << std::endl;
    return 0;
}
int SaveFile::fileData(char* str, int len)
{
    if (!str || len <= 0) {
        return -1;
    }
    /*struct UpLoadPkgData {
        Head head;
        int upLoadType;
        int fileNameLen;
        int dataLen;
        int flag;
        char data[0];
    };*/
    int fileNameLen = *(int *)(str + sizeof(Head) + sizeof(int));
    if (fileNameLen <= 0) {
        return -1;
    }
    int recvflg = *(int *)(str + sizeof(Head) + sizeof(int)*3);
    if (recvflg - 1 != flag) {    //    æ•°æ®å®Œæ•´æ€§æ ¡éªŒã€‚
        flag = 0;
        return -1;
    }
    flag = recvflg;
    char* name = (str + sizeof(Head) + sizeof(int) * 4);
    std::string *recvfilename = new std::string(name);
    if (*fileName != *recvfilename) {
        flag = 0;
        delete recvfilename;
        return -1;
    }
    delete recvfilename;
    int datalen = *(int *)(str + sizeof(Head) + sizeof(int) * 2);
    char* recvdata = str + sizeof(Head) + sizeof(int) * 4 + fileNameLen + 1;
    strcpy_s(buf, BUF_MAX_SIZE, recvdata);
    std::ofstream fp(std::string(FILE_PATH) + fileName->data(),std::ios::app | std::ios::binary);
    if (!fp.is_open()) {
        return -1;
    }
    fp << buf;
    if (fp.fail()) {
        fp.close();
        return -1;
    }
    fp.close();
    memset(buf, 0, BUF_MAX_SIZE);
    return 0;
}
int SaveFile::fileFin(char* str, int len)
{
    if (!str || len <= 0) {
        return -1;
    }
    /*struct UpLoadPkgFin {
        Head head;
        int upLoadType;
        int fileNameLen;
        int verSionLen;        //    æ–‡ä»¶ä¿¡æ¯ï¼Œéœ€è¦è§£æžå‡ºæ¥å­˜æ•°æ®åº“
        int cnt;
        char fileName[0];
    };*/
    int cnt = *(int *)(str + sizeof(Head) + sizeof(int) * 3);
    if (flag != cnt) {
        flag = 0;
        return -1;
    }
    char* filename = str + sizeof(Head) + sizeof(int) * 4;
    std::string *recvfilename = new std::string(filename);
    if (*fileName != *recvfilename) {
        flag = 0;
        delete recvfilename;
        return -1;
    }
    int fileNameLen = *(int *)(str + sizeof(Head) + sizeof(int) * 1);
    char *pVersionInfo = str + sizeof(Head) + sizeof(int) * 4 + fileNameLen;
    std::string stVersion(pVersionInfo);
    std::vector<std::string> versionInfo = split(stVersion, '#');
    instFiles.filename = std::string(FILE_PATH) + fileName->data();
    instFiles.current_ver = versionInfo[1];
    instFiles.created_tm = curTime();
    instFiles.updated_tm = curTime();
    instVersions.created_tm = curTime();
    instVersions.depends_on = DEPENDS_OFF;
    instVersions.desc = versionInfo[4];
    SaveSQL sql;
    instVersions.file_id = sql.get_file_ID(instFiles.filename);
    sql.create_InsFiles(instFiles);
    sql.create_InsVersions(instVersions);
    delete recvfilename;
    return 0;
}
std::vector<std::string> SaveFile::split(const std::string &s, char delimiter)
{
    std::vector<std::string> tokens;
    size_t start = 0;
    size_t end = s.find(delimiter);
    while (end != std::string::npos) {
        tokens.push_back(s.substr(start, end - start));
        start = end + 1;
        end = s.find(delimiter, start);
    }
    tokens.push_back(s.substr(start));
    return tokens;
}
std::string SaveFile::curTime()
{
    time_t now = time(nullptr);
    tm localtm;
    localtime_s(&localtm,&now);
    std::ostringstream os;
    os << std::put_time(&localtm, "%Y-%m-%d %H:%M:%S");
    return std::string(os.str());
}
Server/¸¶ÁÖÌÎ/code/vscode/tiankai/tiankai/SaveFile.h
New file
@@ -0,0 +1,28 @@
#pragma once
#include <fstream>
#include <vector>
#include <ctime>
#include <iomanip>
#include <sstream>
#include "struct_data.h"
#define BUF_MAX_SIZE (8 * 1024)
#define FILE_PATH "./"
class SaveFile
{
public:
    SaveFile();
    ~SaveFile();
    int fileop(char* str, int len);
    int fileHead(char* str, int len);
    int fileData(char* str, int len);
    int fileFin(char* str, int len);
    std::vector<std::string> split(const std::string &s, char delimiter);
    std::string curTime();
private:
    std::string *fileName;
    int flag;
    char *buf;
    SQLFiles instFiles;
    SQLVersions instVersions;
};
Server/¸¶ÁÖÌÎ/code/vscode/tiankai/tiankai/SaveSQL.cpp
New file
@@ -0,0 +1,37 @@
#include "stdafx.h"
#include "SaveSQL.h"
SaveSQL::SaveSQL()
{
}
SaveSQL::~SaveSQL()
{
}
int SaveSQL::get_file_ID(std::string filename)
{
    //    è¿™ä¸ªè¯­å¥æœ‰sql注入问题,数据库不应该提供接口帮我们插入吗?
    std::string sql = "select file_id from files where name=\'" + filename + "\'";
    int file_id = 0;    // è°ƒç”¨æ•°æ®åº“函数;
    return file_id;
}
int SaveSQL::create_InsFiles(SQLFiles fileInfo)
{
    std::string sql = "INSERT INTO `files` (`name`, `current_version`) VALUES ('"
                    + fileInfo.filename + "','"
                    + fileInfo.current_ver + "')";
    return 0;
}
int SaveSQL::create_InsVersions(SQLVersions versionInfo)
{
    std::string sql = "INSERT INTO `versions` (`file_id`, `change_description`) VALUES ('"
        + versionInfo.file_id + "','"
        + versionInfo.desc + "')";
    return 0;
}
Server/¸¶ÁÖÌÎ/code/vscode/tiankai/tiankai/SaveSQL.h
New file
@@ -0,0 +1,14 @@
#pragma once
#include <iostream>
#include "struct_data.h"
class SaveSQL
{
public:
    SaveSQL();
    ~SaveSQL();
    int get_file_ID(std::string filename);
    int create_InsFiles(SQLFiles fileInfo);
    int create_InsVersions(SQLVersions versionInfo);
};
Server/¸¶ÁÖÌÎ/code/vscode/tiankai/tiankai/stdafx.cpp
New file
@@ -0,0 +1,8 @@
// stdafx.cpp : åªåŒ…括标准包含文件的源文件
// tiankai.pch å°†ä½œä¸ºé¢„编译头
// stdafx.obj å°†åŒ…含预编译类型信息
#include "stdafx.h"
// TODO: åœ¨ STDAFX.H ä¸­å¼•用任何所需的附加头文件,
//而不是在此文件中引用
Server/¸¶ÁÖÌÎ/code/vscode/tiankai/tiankai/stdafx.h
New file
@@ -0,0 +1,15 @@
// stdafx.h : æ ‡å‡†ç³»ç»ŸåŒ…含文件的包含文件,
// æˆ–是经常使用但不常更改的
// ç‰¹å®šäºŽé¡¹ç›®çš„包含文件
//
#pragma once
#include "targetver.h"
#include <stdio.h>
#include <tchar.h>
// TODO:  åœ¨æ­¤å¤„引用程序需要的其他头文件
Server/¸¶ÁÖÌÎ/code/vscode/tiankai/tiankai/struct_data.h
New file
@@ -0,0 +1,121 @@
#ifndef STRUCT_DATA_H
#define STRUCT_DATA_H
#include <mutex>
#include <condition_variable>
#define DEPENDS_ON  1
#define DEPENDS_OFF 0
enum TypeInfo {
    HEART_CHECK_REQ = 1,
    HEART_CHECK_RES,
    UPLOAD_REQ = 100,
    HEAD_UPLOAD_REQ,
    DATA_UPLOAD_REQ,
    UP_LOAD_FIN,
    UPLOAD_SQL_REQ,
    RELEASE_SQL_REQ,
    RELEASE_SQL_RES,
    ROLLBACK_SQL_REQ,
    ROLLBACK_SQL_RES,
    LOG_DATA_REQ,
    LOG_DATA_QUARY,
    LOG_DATA_RES
};
// æ¶ˆæ¯å¤´
struct Head {
    int len;
    short type;
};
// æ–‡ä»¶å¤´
struct UpLoadPkgHead {
    Head head;
    int upLoadType;
    int fileNameLen;
    char fileName[0];
};
// æ–‡ä»¶æ•°æ®
struct UpLoadPkgData {
    Head head;
    int upLoadType;
    int fileNameLen;
    int dataLen;
    int flag;
    char data[0];
};
struct SQLFiles {
    std::string filename;
    std::string current_ver;
    std::string created_tm;
    std::string updated_tm;
};
struct SQLVersions {
    std::string file_id;
    std::string created_tm;
    std::string desc;
    int depends_on;
};
// ä¼ è¾“结束
struct UpLoadPkgFin {
    Head head;
    int upLoadType;
    int fileNameLen;
    int verSionLen;
    int cnt;
    char fileName[0];
};
// SQL结构体
struct SQLData {
    int len;
    char data[0];
};
struct SQLPkg {
    Head head;
    SQLData data;
};
struct ReleaseReq {
    Head head;
    ReleaseReq() {
        head.len = sizeof(ReleaseReq);
        head.type = RELEASE_SQL_REQ;
    }
};
struct RollbackReq {
    Head head;
    RollbackReq() {
        head.len = sizeof(RollbackReq);
        head.type = ROLLBACK_SQL_REQ;
    }
};
struct LogDataReq {
    Head head;
    LogDataReq() {
        head.len = sizeof(LogDataReq);
        head.type = LOG_DATA_REQ;
    }
};
struct HeartCheckReq  // å¿ƒè·³è¯·æ±‚包
{
    Head head;
    HeartCheckReq()
    {
        head.type = HEART_CHECK_REQ;
        head.len = sizeof(HeartCheckReq);
    }
};
struct HeartCheckRes  // å¿ƒè·³å“åº”包
{
    Head head;
    HeartCheckRes()
    {
        head.type = HEART_CHECK_RES;
        head.len = sizeof(HeartCheckRes);
    }
};
#endif // STRUCT_DATA_H
Server/¸¶ÁÖÌÎ/code/vscode/tiankai/tiankai/targetver.h
New file
@@ -0,0 +1,8 @@
#pragma once
// åŒ…括 SDKDDKVer.h å°†å®šä¹‰å¯ç”¨çš„æœ€é«˜ç‰ˆæœ¬çš„ Windows å¹³å°ã€‚
// å¦‚果要为以前的 Windows å¹³å°ç”Ÿæˆåº”用程序,请包括 WinSDKVer.h,并将
// å°† _WIN32_WINNT å®è®¾ç½®ä¸ºè¦æ”¯æŒçš„平台,然后再包括 SDKDDKVer.h。
#include <SDKDDKVer.h>
Server/¸¶ÁÖÌÎ/code/vscode/tiankai/tiankai/tiankai.cpp
New file
@@ -0,0 +1,11 @@
// tiankai.cpp : å®šä¹‰æŽ§åˆ¶å°åº”用程序的入口点。
//
#include "stdafx.h"
int main()
{
    return 0;
}
Server/¸¶ÁÖÌÎ/code/vscode/tiankai/tiankai/tiankai.vcxproj
New file
@@ -0,0 +1,168 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup Label="ProjectConfigurations">
    <ProjectConfiguration Include="Debug|Win32">
      <Configuration>Debug</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Release|Win32">
      <Configuration>Release</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Debug|x64">
      <Configuration>Debug</Configuration>
      <Platform>x64</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Release|x64">
      <Configuration>Release</Configuration>
      <Platform>x64</Platform>
    </ProjectConfiguration>
  </ItemGroup>
  <PropertyGroup Label="Globals">
    <ProjectGuid>{1911386F-42D7-420E-B70B-B2C951D0081B}</ProjectGuid>
    <Keyword>Win32Proj</Keyword>
    <RootNamespace>tiankai</RootNamespace>
    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseDebugLibraries>true</UseDebugLibraries>
    <PlatformToolset>v140</PlatformToolset>
    <CharacterSet>Unicode</CharacterSet>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseDebugLibraries>false</UseDebugLibraries>
    <PlatformToolset>v140</PlatformToolset>
    <WholeProgramOptimization>true</WholeProgramOptimization>
    <CharacterSet>Unicode</CharacterSet>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseDebugLibraries>true</UseDebugLibraries>
    <PlatformToolset>v140</PlatformToolset>
    <CharacterSet>Unicode</CharacterSet>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseDebugLibraries>false</UseDebugLibraries>
    <PlatformToolset>v140</PlatformToolset>
    <WholeProgramOptimization>true</WholeProgramOptimization>
    <CharacterSet>Unicode</CharacterSet>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Label="Shared">
  </ImportGroup>
  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <LinkIncremental>true</LinkIncremental>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <LinkIncremental>true</LinkIncremental>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <LinkIncremental>false</LinkIncremental>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <LinkIncremental>false</LinkIncremental>
  </PropertyGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <ClCompile>
      <PrecompiledHeader>Use</PrecompiledHeader>
      <WarningLevel>Level3</WarningLevel>
      <Optimization>Disabled</Optimization>
      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <SDLCheck>true</SDLCheck>
    </ClCompile>
    <Link>
      <SubSystem>Console</SubSystem>
      <GenerateDebugInformation>true</GenerateDebugInformation>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <ClCompile>
      <PrecompiledHeader>Use</PrecompiledHeader>
      <WarningLevel>Level3</WarningLevel>
      <Optimization>Disabled</Optimization>
      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <SDLCheck>true</SDLCheck>
    </ClCompile>
    <Link>
      <SubSystem>Console</SubSystem>
      <GenerateDebugInformation>true</GenerateDebugInformation>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <ClCompile>
      <WarningLevel>Level3</WarningLevel>
      <PrecompiledHeader>Use</PrecompiledHeader>
      <Optimization>MaxSpeed</Optimization>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <IntrinsicFunctions>true</IntrinsicFunctions>
      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <SDLCheck>true</SDLCheck>
    </ClCompile>
    <Link>
      <SubSystem>Console</SubSystem>
      <EnableCOMDATFolding>true</EnableCOMDATFolding>
      <OptimizeReferences>true</OptimizeReferences>
      <GenerateDebugInformation>true</GenerateDebugInformation>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <ClCompile>
      <WarningLevel>Level3</WarningLevel>
      <PrecompiledHeader>Use</PrecompiledHeader>
      <Optimization>MaxSpeed</Optimization>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <IntrinsicFunctions>true</IntrinsicFunctions>
      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <SDLCheck>true</SDLCheck>
    </ClCompile>
    <Link>
      <SubSystem>Console</SubSystem>
      <EnableCOMDATFolding>true</EnableCOMDATFolding>
      <OptimizeReferences>true</OptimizeReferences>
      <GenerateDebugInformation>true</GenerateDebugInformation>
    </Link>
  </ItemDefinitionGroup>
  <ItemGroup>
    <Text Include="ReadMe.txt" />
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="SaveFile.h" />
    <ClInclude Include="SaveSQL.h" />
    <ClInclude Include="stdafx.h" />
    <ClInclude Include="struct_data.h" />
    <ClInclude Include="targetver.h" />
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="SaveFile.cpp" />
    <ClCompile Include="SaveSQL.cpp" />
    <ClCompile Include="stdafx.cpp">
      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
    </ClCompile>
    <ClCompile Include="tiankai.cpp" />
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
</Project>
Server/¸¶ÁÖÌÎ/code/vscode/tiankai/tiankai/tiankai.vcxproj.filters
New file
@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <Filter Include="源文件">
      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
    </Filter>
    <Filter Include="头文件">
      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
    </Filter>
    <Filter Include="资源文件">
      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
    </Filter>
  </ItemGroup>
  <ItemGroup>
    <Text Include="ReadMe.txt" />
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="stdafx.h">
      <Filter>头文件</Filter>
    </ClInclude>
    <ClInclude Include="targetver.h">
      <Filter>头文件</Filter>
    </ClInclude>
    <ClInclude Include="struct_data.h">
      <Filter>头文件</Filter>
    </ClInclude>
    <ClInclude Include="SaveFile.h">
      <Filter>头文件</Filter>
    </ClInclude>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="stdafx.cpp">
      <Filter>源文件</Filter>
    </ClCompile>
    <ClCompile Include="tiankai.cpp">
      <Filter>源文件</Filter>
    </ClCompile>
    <ClCompile Include="SaveFile.cpp">
      <Filter>源文件</Filter>
    </ClCompile>
  </ItemGroup>
</Project>