Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mall.oytour.com
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
黄奎
mall.oytour.com
Commits
a56091b6
Commit
a56091b6
authored
Sep 02, 2021
by
黄奎
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/Kui2/mall.oytour.com
parents
de681e9e
675b3c19
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
654 additions
and
1 deletion
+654
-1
Mall.Common.csproj
Mall.Common/Mall.Common.csproj
+1
-1
NPOIWordHelper.cs
Mall.Common/Plugin/NPOIWordHelper.cs
+350
-0
ZipHelper.cs
Mall.Common/Plugin/ZipHelper.cs
+192
-0
FirstShopListModule.cs
Mall.Module.TradePavilion/FirstShopListModule.cs
+68
-0
TradeController.cs
Mall.WebApi/Controllers/TradePavilion/TradeController.cs
+43
-0
No files found.
Mall.Common/Mall.Common.csproj
View file @
a56091b6
...
@@ -23,7 +23,7 @@
...
@@ -23,7 +23,7 @@
<PackageReference Include="Microsoft.Extensions.Configuration" Version="3.0.1" />
<PackageReference Include="Microsoft.Extensions.Configuration" Version="3.0.1" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.0.1" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.0.1" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
<PackageReference Include="NPOI" Version="2.
4.1
" />
<PackageReference Include="NPOI" Version="2.
5.4
" />
<PackageReference Include="PinYinConverterCore" Version="1.0.2" />
<PackageReference Include="PinYinConverterCore" Version="1.0.2" />
<PackageReference Include="QRCoder" Version="1.3.9" />
<PackageReference Include="QRCoder" Version="1.3.9" />
<PackageReference Include="RabbitMQ.Client" Version="5.2.0" />
<PackageReference Include="RabbitMQ.Client" Version="5.2.0" />
...
...
Mall.Common/Plugin/NPOIWordHelper.cs
0 → 100644
View file @
a56091b6
using
Newtonsoft.Json.Linq
;
using
NPOI.HPSF
;
using
NPOI.HSSF.UserModel
;
using
NPOI.HSSF.Util
;
using
NPOI.OpenXmlFormats.Wordprocessing
;
using
NPOI.SS.Formula.Eval
;
using
NPOI.SS.UserModel
;
using
NPOI.SS.Util
;
using
NPOI.XWPF.UserModel
;
using
System
;
using
System.Collections.Generic
;
using
System.IO
;
using
System.Linq
;
namespace
Mall.Common.Plugin
{
/// <summary>
/// npoi word帮助类
/// </summary>
public
class
NPOIWordHelper
{
/// <summary>
/// 测试word导出
/// </summary>
/// <returns></returns>
public
bool
CreateFistShopWord
()
{
string
path
=
"D:\\testfile\\test.docx"
;
XWPFDocument
doc
=
new
XWPFDocument
();
// 添加段落
XWPFParagraph
gp
=
doc
.
CreateParagraph
();
gp
.
Alignment
=
ParagraphAlignment
.
CENTER
;
//水平居中
XWPFRun
gr
=
gp
.
CreateRun
();
gr
.
GetCTR
().
AddNewRPr
().
AddNewRFonts
().
ascii
=
"黑体"
;
gr
.
GetCTR
().
AddNewRPr
().
AddNewRFonts
().
eastAsia
=
"黑体"
;
gr
.
GetCTR
().
AddNewRPr
().
AddNewRFonts
().
hint
=
ST_Hint
.
eastAsia
;
gr
.
GetCTR
().
AddNewRPr
().
AddNewSz
().
val
=
(
ulong
)
44
;
//2号字体
gr
.
GetCTR
().
AddNewRPr
().
AddNewSzCs
().
val
=
(
ulong
)
44
;
gr
.
GetCTR
().
AddNewRPr
().
AddNewB
().
val
=
true
;
//加粗
gr
.
GetCTR
().
AddNewRPr
().
AddNewColor
().
val
=
"red"
;
//字体颜色
gr
.
SetText
(
"成都首店经济创·领大奖"
);
gr
.
AddCarriageReturn
();
gr
.
AppendText
(
"奖项申报材料"
);
gp
=
doc
.
CreateParagraph
();
gp
.
Alignment
=
ParagraphAlignment
.
CENTER
;
//水平居中
gr
=
gp
.
CreateRun
();
CT_RPr
rpr
=
gr
.
GetCTR
().
AddNewRPr
();
CT_Fonts
rfonts
=
rpr
.
AddNewRFonts
();
rfonts
.
ascii
=
"宋体"
;
rfonts
.
eastAsia
=
"宋体"
;
rpr
.
AddNewSz
().
val
=
(
ulong
)
21
;
//5号字体
rpr
.
AddNewSzCs
().
val
=
(
ulong
)
21
;
gr
.
SetText
(
"(奖项3:2019年度成都首发贡献奖)"
);
gr
.
AddCarriageReturn
();
gr
.
AppendText
(
"时间要求:2019年1月 - 2020年6月"
);
gr
.
AddCarriageReturn
();
gr
.
AppendText
(
"对象要求:品牌或载体举办皆可"
);
gp
=
doc
.
CreateParagraph
();
//添加表格
XWPFTable
table
=
doc
.
CreateTable
(
2
,
2
);
//创建表格 行/列
CT_Tbl
m_CTTbl
=
doc
.
Document
.
body
.
GetTblArray
()[
0
];
//获得文档第一张表
CT_TblPr
m_CTTblPr
=
m_CTTbl
.
AddNewTblPr
();
m_CTTblPr
.
AddNewTblW
().
w
=
"8000"
;
//表宽
m_CTTblPr
.
AddNewTblW
().
type
=
ST_TblWidth
.
dxa
;
m_CTTblPr
.
tblpPr
=
new
CT_TblPPr
{
tblpX
=
"0"
,
//表左上角坐标
tblpY
=
"0"
,
tblpXSpec
=
ST_XAlign
.
center
,
//若不为“Null”,则优先tblpX,即表由tblpXSpec定位
tblpYSpec
=
ST_YAlign
.
center
,
//若不为“Null”,则优先tblpY,即表由tblpYSpec定位
leftFromText
=
(
ulong
)
180
,
rightFromText
=
(
ulong
)
180
,
vertAnchor
=
ST_VAnchor
.
text
,
horzAnchor
=
ST_HAnchor
.
page
};
//表定位
#
region
行赋值
CT_TcPr
m_Pr
=
table
.
GetRow
(
0
).
GetCell
(
0
).
GetCTTc
().
AddNewTcPr
();
m_Pr
.
tcW
=
new
CT_TblWidth
()
{
w
=
"2500"
,
type
=
ST_TblWidth
.
dxa
};
table
.
GetRow
(
0
).
Height
=
1000
;
table
.
GetRow
(
0
).
GetCell
(
0
).
SetVerticalAlignment
(
XWPFTableCell
.
XWPFVertAlign
.
CENTER
);
table
.
GetRow
(
0
).
GetCell
(
0
).
SetText
(
"企业名称"
);
table
.
GetRow
(
0
).
GetCell
(
1
).
SetVerticalAlignment
(
XWPFTableCell
.
XWPFVertAlign
.
CENTER
);
table
.
GetRow
(
0
).
GetCell
(
1
).
SetText
(
"小老弟奎哥就是大观看的睡觉啦"
);
table
.
GetRow
(
1
).
Height
=
1000
;
table
.
GetRow
(
1
).
GetCell
(
0
).
SetVerticalAlignment
(
XWPFTableCell
.
XWPFVertAlign
.
CENTER
);
table
.
GetRow
(
1
).
GetCell
(
0
).
SetText
(
"图文详情"
);
var
cell
=
table
.
GetRow
(
1
).
GetCell
(
1
);
cell
.
SetVerticalAlignment
(
XWPFTableCell
.
XWPFVertAlign
.
CENTER
);
var
cW
=
3000
;
//单元格的宽度和高度
var
cH
=
3000
;
//得到要插入的图片
var
img
=
new
FileStream
(
"C:\\Users\\Administrator\\Desktop\\testImage\\视频文件\\通用欢迎图.jpg"
,
FileMode
.
Open
,
FileAccess
.
Read
);
//进行图片插入
XWPFParagraph
p
=
cell
.
AddParagraph
();
XWPFRun
run
=
p
.
CreateRun
();
var
widthPic
=
(
int
)((
double
)
cW
/
587
*
38.4
*
9525
);
var
heightPic
=
(
int
)((
double
)
cH
/
587
*
38.4
*
9525
);
run
.
AddPicture
(
img
,
(
int
)
NPOI
.
XWPF
.
UserModel
.
PictureType
.
JPEG
,
"11.png"
,
widthPic
,
heightPic
);
#
endregion
using
(
FileStream
fs
=
new
FileStream
(
path
,
FileMode
.
OpenOrCreate
,
FileAccess
.
Write
))
{
doc
.
Write
(
fs
);
Console
.
WriteLine
(
"生成word成功"
);
}
return
true
;
}
/// <summary>
/// 榜单报名生成word
/// </summary>
/// <param name="path">本地存储路径</param>
/// <param name="enrollContent"></param>
/// <param name="prizeName"></param>
/// <param name="time"></param>
/// <param name="objectName"></param>
/// <returns></returns>
public
bool
CreateFistShopEnrollWord
(
string
path
,
string
enrollContent
,
string
prizeName
,
string
time
,
string
objectName
)
{
XWPFDocument
doc
=
new
XWPFDocument
();
#
region
头部组装
// 添加段落
XWPFParagraph
gp
=
doc
.
CreateParagraph
();
gp
.
Alignment
=
ParagraphAlignment
.
CENTER
;
//水平居中
XWPFRun
gr
=
gp
.
CreateRun
();
gr
.
GetCTR
().
AddNewRPr
().
AddNewRFonts
().
ascii
=
"黑体"
;
gr
.
GetCTR
().
AddNewRPr
().
AddNewRFonts
().
eastAsia
=
"黑体"
;
gr
.
GetCTR
().
AddNewRPr
().
AddNewRFonts
().
hint
=
ST_Hint
.
eastAsia
;
gr
.
GetCTR
().
AddNewRPr
().
AddNewSz
().
val
=
(
ulong
)
44
;
//2号字体
gr
.
GetCTR
().
AddNewRPr
().
AddNewSzCs
().
val
=
(
ulong
)
44
;
gr
.
GetCTR
().
AddNewRPr
().
AddNewB
().
val
=
true
;
//加粗
gr
.
GetCTR
().
AddNewRPr
().
AddNewColor
().
val
=
"red"
;
//字体颜色
gr
.
SetText
(
"成都首店经济创·领大奖"
);
gr
.
AddCarriageReturn
();
gr
.
AppendText
(
"奖项申报材料"
);
gp
=
doc
.
CreateParagraph
();
gp
.
Alignment
=
ParagraphAlignment
.
CENTER
;
//水平居中
gr
=
gp
.
CreateRun
();
CT_RPr
rpr
=
gr
.
GetCTR
().
AddNewRPr
();
CT_Fonts
rfonts
=
rpr
.
AddNewRFonts
();
rfonts
.
ascii
=
"宋体"
;
rfonts
.
eastAsia
=
"宋体"
;
rpr
.
AddNewSz
().
val
=
(
ulong
)
21
;
//5号字体
rpr
.
AddNewSzCs
().
val
=
(
ulong
)
21
;
gr
.
SetText
(
"("
+
prizeName
+
")"
);
gr
.
AddCarriageReturn
();
gr
.
AppendText
(
"时间要求:"
+
time
);
gr
.
AddCarriageReturn
();
gr
.
AppendText
(
"对象要求:"
+
objectName
);
gp
=
doc
.
CreateParagraph
();
#
endregion
#
region
解析报名内容
if
(
string
.
IsNullOrEmpty
(
enrollContent
))
{
return
false
;
}
List
<
WordFormDataItem
>
elist
=
JsonHelper
.
DeserializeObject
<
List
<
WordFormDataItem
>>(
enrollContent
);
elist
=
elist
.
Where
(
x
=>
x
.
CompKey
!=
"ImageUploadComp"
&&
x
.
CompKey
!=
"VideoUploadComp"
).
ToList
();
if
(!
elist
.
Any
())
{
return
false
;
}
int
rowNumT
=
elist
.
Count
();
#
endregion
//添加表格
XWPFTable
table
=
doc
.
CreateTable
(
rowNumT
,
2
);
//创建表格 行/列
CT_Tbl
m_CTTbl
=
doc
.
Document
.
body
.
GetTblArray
()[
0
];
//获得文档第一张表
CT_TblPr
m_CTTblPr
=
m_CTTbl
.
AddNewTblPr
();
m_CTTblPr
.
AddNewTblW
().
w
=
"9000"
;
//表宽
m_CTTblPr
.
AddNewTblW
().
type
=
ST_TblWidth
.
dxa
;
m_CTTblPr
.
tblpPr
=
new
CT_TblPPr
{
tblpX
=
"0"
,
//表左上角坐标
tblpY
=
"0"
,
tblpXSpec
=
ST_XAlign
.
center
,
//若不为“Null”,则优先tblpX,即表由tblpXSpec定位
tblpYSpec
=
ST_YAlign
.
center
,
//若不为“Null”,则优先tblpY,即表由tblpYSpec定位
leftFromText
=
(
ulong
)
180
,
rightFromText
=
(
ulong
)
180
,
vertAnchor
=
ST_VAnchor
.
text
,
horzAnchor
=
ST_HAnchor
.
page
};
//表定位
//设置列宽
CT_TcPr
m_Pr
=
table
.
GetRow
(
0
).
GetCell
(
0
).
GetCTTc
().
AddNewTcPr
();
m_Pr
.
tcW
=
new
CT_TblWidth
()
{
w
=
"2500"
,
type
=
ST_TblWidth
.
dxa
};
#
region
行赋值
int
rowNum
=
0
;
foreach
(
var
item
in
elist
)
{
#
region
解析值
string
Name
=
""
;
string
Value
=
""
;
if
(
item
.
CompKey
==
"SingleLineText"
||
item
.
CompKey
==
"MultiLineText"
)
{
var
obj
=
JsonHelper
.
DeserializeObject
<
WordTextItem
>(
item
.
CompData
.
ToString
());
Name
=
obj
.
Name
;
Value
=
obj
.
TextValue
;
}
else
if
(
item
.
CompKey
==
"DorpDownList"
)
{
var
obj
=
JsonHelper
.
DeserializeObject
<
WordSelectItem
>(
item
.
CompData
.
ToString
());
Name
=
obj
.
Name
;
var
olist
=
obj
.
OptionList
.
Where
(
x
=>
(
","
+
obj
.
OptionValue
+
","
).
Contains
(
","
+
x
.
Id
+
","
)).
ToList
();
Value
=
string
.
Join
(
","
,
olist
.
Select
(
x
=>
x
.
Name
));
}
else
{
continue
;
}
#
endregion
table
.
GetRow
(
rowNum
).
Height
=
1000
;
table
.
GetRow
(
rowNum
).
GetCell
(
0
).
SetVerticalAlignment
(
XWPFTableCell
.
XWPFVertAlign
.
CENTER
);
table
.
GetRow
(
rowNum
).
GetCell
(
0
).
SetText
(
Name
);
table
.
GetRow
(
rowNum
).
GetCell
(
1
).
SetVerticalAlignment
(
XWPFTableCell
.
XWPFVertAlign
.
CENTER
);
table
.
GetRow
(
rowNum
).
GetCell
(
1
).
SetText
(
Value
);
rowNum
++;
}
#
endregion
using
(
FileStream
fs
=
new
FileStream
(
path
,
FileMode
.
OpenOrCreate
,
FileAccess
.
Write
))
{
doc
.
Write
(
fs
);
Console
.
WriteLine
(
"生成word成功"
);
}
return
true
;
}
}
/// <summary>
/// 自定义数据
/// </summary>
public
class
WordFormDataItem
{
/// <summary>
///组件Key
/// </summary>
public
string
CompKey
{
get
;
set
;
}
/// <summary>
/// 是否选中
/// </summary>
public
bool
isCked
{
get
;
set
;
}
/// <summary>
/// 组件对象
/// </summary>
public
object
CompData
{
get
;
set
;
}
}
/// <summary>
/// 文本对象
/// </summary>
public
class
WordTextItem
{
/// <summary>
/// 名字
/// </summary>
public
string
Name
{
get
;
set
;
}
/// <summary>
/// 字数(0-不限)
/// </summary>
public
int
WordsLength
{
get
;
set
;
}
/// <summary>
/// 是否必填
/// </summary>
public
bool
IsRequire
{
get
;
set
;
}
/// <summary>
/// 文本值
/// </summary>
public
string
TextValue
{
get
;
set
;
}
/// <summary>
/// 备注
/// </summary>
public
string
Remark
{
get
;
set
;
}
}
/// <summary>
/// 下拉框对象
/// </summary>
public
class
WordSelectItem
{
/// <summary>
/// 名称
/// </summary>
public
string
Name
{
get
;
set
;
}
/// <summary>
/// 是否多选
/// </summary>
public
bool
IsMultiple
{
get
;
set
;
}
/// <summary>
/// 选项值(以英文逗号相隔)
/// </summary>
public
string
OptionValue
{
get
;
set
;
}
/// <summary>
/// 是否必填
/// </summary>
public
bool
IsRequire
{
get
;
set
;
}
/// <summary>
/// 选项列表
/// </summary>
public
List
<
WordSelectOption
>
OptionList
{
get
;
set
;
}
/// <summary>
/// 备注
/// </summary>
public
string
Remark
{
get
;
set
;
}
}
/// <summary>
/// 选项列表
/// </summary>
public
class
WordSelectOption
{
/// <summary>
/// 编号
/// </summary>
public
int
Id
{
get
;
set
;
}
/// <summary>
/// 名称
/// </summary>
public
string
Name
{
get
;
set
;
}
}
}
\ No newline at end of file
Mall.Common/Plugin/ZipHelper.cs
0 → 100644
View file @
a56091b6
using
ICSharpCode.SharpZipLib.Checksum
;
using
ICSharpCode.SharpZipLib.Zip
;
using
System
;
using
System.Collections.Generic
;
using
System.IO
;
using
System.Linq
;
using
System.Reflection
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
Mall.Common.Plugin
{
/// <summary>
/// 枚举帮助类
/// </summary>
public
class
ZipHelper
{
#
region
zip
压缩
/// <summary>
/// 压缩文件或文件夹 ----无密码
/// </summary>
/// <param name="fileToZip">要压缩的路径-文件夹或者文件</param>
/// <param name="zipedFile">压缩后的文件名</param>
/// <param name="errorOut">如果失败返回失败信息</param>
/// <returns>压缩结果</returns>
public
static
bool
Zip
(
string
fileToZip
,
string
zipedFile
,
ref
string
errorOut
)
{
bool
result
=
false
;
try
{
if
(
Directory
.
Exists
(
fileToZip
))
result
=
ZipDirectory
(
fileToZip
,
zipedFile
,
null
);
else
if
(
File
.
Exists
(
fileToZip
))
result
=
ZipFile
(
fileToZip
,
zipedFile
,
null
);
}
catch
(
Exception
ex
)
{
LogHelper
.
Write
(
ex
,
"Zip"
);
errorOut
=
ex
.
Message
;
}
return
result
;
}
/// <summary>
/// 压缩文件
/// </summary>
/// <param name="fileToZip">要压缩的文件全名</param>
/// <param name="zipedFile">压缩后的文件名</param>
/// <param name="password">密码</param>
/// <returns>压缩结果</returns>
private
static
bool
ZipFile
(
string
fileToZip
,
string
zipedFile
,
string
password
)
{
bool
result
=
true
;
ZipOutputStream
zipStream
=
null
;
FileStream
fs
=
null
;
ZipEntry
ent
=
null
;
if
(!
File
.
Exists
(
fileToZip
))
return
false
;
try
{
fs
=
File
.
OpenRead
(
fileToZip
);
byte
[]
buffer
=
new
byte
[
fs
.
Length
];
fs
.
Read
(
buffer
,
0
,
buffer
.
Length
);
fs
.
Close
();
fs
=
File
.
Create
(
zipedFile
);
zipStream
=
new
ZipOutputStream
(
fs
);
if
(!
string
.
IsNullOrEmpty
(
password
))
zipStream
.
Password
=
password
;
ent
=
new
ZipEntry
(
Path
.
GetFileName
(
fileToZip
));
zipStream
.
PutNextEntry
(
ent
);
zipStream
.
SetLevel
(
6
);
zipStream
.
Write
(
buffer
,
0
,
buffer
.
Length
);
}
catch
(
Exception
ex
)
{
result
=
false
;
throw
ex
;
}
finally
{
if
(
zipStream
!=
null
)
{
zipStream
.
Finish
();
zipStream
.
Close
();
}
if
(
ent
!=
null
)
{
ent
=
null
;
}
if
(
fs
!=
null
)
{
fs
.
Close
();
fs
.
Dispose
();
}
}
GC
.
Collect
();
GC
.
Collect
(
1
);
return
result
;
}
/// <summary>
/// 压缩文件夹
/// </summary>
/// <param name="strFile">带压缩的文件夹目录</param>
/// <param name="strZip">压缩后的文件名</param>
/// <param name="password">压缩密码</param>
/// <returns>是否压缩成功</returns>
private
static
bool
ZipDirectory
(
string
strFile
,
string
strZip
,
string
password
)
{
bool
result
=
false
;
if
(!
Directory
.
Exists
(
strFile
))
return
false
;
if
(
strFile
[
strFile
.
Length
-
1
]
!=
Path
.
DirectorySeparatorChar
)
strFile
+=
Path
.
DirectorySeparatorChar
;
ZipOutputStream
s
=
new
ZipOutputStream
(
File
.
Create
(
strZip
));
s
.
SetLevel
(
6
);
// 0 - store only to 9 - means best compression
if
(!
string
.
IsNullOrEmpty
(
password
))
s
.
Password
=
password
;
try
{
result
=
Zip
(
strFile
,
s
,
strFile
);
}
catch
(
Exception
ex
)
{
throw
ex
;
}
finally
{
s
.
Finish
();
s
.
Close
();
}
return
result
;
}
/// <summary>
/// 压缩文件夹内部方法
/// </summary>
/// <param name="strFile"></param>
/// <param name="s"></param>
/// <param name="staticFile"></param>
/// <returns></returns>
private
static
bool
Zip
(
string
strFile
,
ZipOutputStream
s
,
string
staticFile
)
{
bool
result
=
true
;
if
(
strFile
[
strFile
.
Length
-
1
]
!=
Path
.
DirectorySeparatorChar
)
strFile
+=
Path
.
DirectorySeparatorChar
;
Crc32
crc
=
new
Crc32
();
try
{
string
[]
filenames
=
Directory
.
GetFileSystemEntries
(
strFile
);
foreach
(
string
file
in
filenames
)
{
if
(
Directory
.
Exists
(
file
))
{
Zip
(
file
,
s
,
staticFile
);
}
else
// 否则直接压缩文件
{
//打开压缩文件
FileStream
fs
=
File
.
OpenRead
(
file
);
byte
[]
buffer
=
new
byte
[
fs
.
Length
];
fs
.
Read
(
buffer
,
0
,
buffer
.
Length
);
string
tempfile
=
file
.
Substring
(
staticFile
.
LastIndexOf
(
"\\"
)
+
1
);
ZipEntry
entry
=
new
ZipEntry
(
tempfile
)
{
DateTime
=
DateTime
.
Now
,
Size
=
fs
.
Length
};
fs
.
Close
();
crc
.
Reset
();
crc
.
Update
(
buffer
);
entry
.
Crc
=
crc
.
Value
;
s
.
PutNextEntry
(
entry
);
s
.
Write
(
buffer
,
0
,
buffer
.
Length
);
}
}
}
catch
(
Exception
ex
)
{
result
=
false
;
throw
ex
;
}
return
result
;
}
#
endregion
}
}
Mall.Module.TradePavilion/FirstShopListModule.cs
View file @
a56091b6
...
@@ -767,5 +767,73 @@ namespace Mall.Module.TradePavilion
...
@@ -767,5 +767,73 @@ namespace Mall.Module.TradePavilion
{
{
return
firstShop_ListEnrollRepository
.
GetList
(
dmodel
);
return
firstShop_ListEnrollRepository
.
GetList
(
dmodel
);
}
}
/// <summary>
/// 榜单报名下载word 单次
/// </summary>
/// <param name="enrollId"></param>
/// <param name="mallBaseId"></param>
/// <returns></returns>
public
string
GetFirstShopEnrollWordExport
(
int
enrollId
,
int
mallBaseId
,
out
string
errorMsg
)
{
errorMsg
=
""
;
//存储的临时文件地址
string
rootBook
=
AppDomain
.
CurrentDomain
.
BaseDirectory
;
string
tempPath
=
rootBook
+
"/upfile/temporary/listenroll"
;
var
enrollModel
=
firstShop_ListEnrollRepository
.
GetEntity
(
enrollId
);
if
(
enrollModel
==
null
)
{
errorMsg
=
"报名信息不存在"
;
return
""
;
}
//获取榜单信息
var
listModel
=
firstShop_ListRepository
.
GetEntity
(
enrollModel
.
ListId
);
if
(
listModel
==
null
)
{
errorMsg
=
"榜单不存在"
;
return
""
;
}
//创建一个临时文件夹
string
tempFoldr
=
""
;
#
region
解析表单内容
if
(
string
.
IsNullOrEmpty
(
enrollModel
.
Content
))
{
errorMsg
=
"报名内容不存在,请核实后再试"
;
return
""
;
}
List
<
FormDataItem
>
elist
=
JsonHelper
.
DeserializeObject
<
List
<
FormDataItem
>>(
enrollModel
.
Content
);
elist
=
elist
.
Where
(
x
=>
x
.
CompKey
==
"ImageUploadComp"
||
x
.
CompKey
==
"VideoUploadComp"
).
ToList
();
if
(
elist
.
Any
())
{
//开始下载图片视频至临时文件
foreach
(
var
item
in
elist
)
{
var
obj
=
JsonHelper
.
DeserializeObject
<
UploadItem
>(
item
.
CompData
.
ToString
());
if
(
item
.
CompKey
==
"ImageUploadComp"
)
{
//图片处理
string
Name
=
obj
.
Name
;
foreach
(
var
qitem
in
obj
.
FileList
)
{
//FileHelper.CreateImage(); 下载腾讯云至本地
}
}
else
if
(
item
.
CompKey
==
"VideoUploadComp"
)
{
//视频处理
}
}
}
//ZipHelper.Zip(); 打包方法
#
endregion
return
""
;
}
/// <summary>
/// 榜单报名下载word
/// </summary>
/// <param name="enrollIdList"></param>
/// <param name="mallBaseId"></param>
/// <returns></returns>
public
string
GetFirstShopEnrollWordExport
(
List
<
int
>
enrollIdList
,
int
mallBaseId
)
{
return
""
;
}
}
}
}
}
Mall.WebApi/Controllers/TradePavilion/TradeController.cs
View file @
a56091b6
...
@@ -2195,6 +2195,49 @@ namespace Mall.WebApi.Controllers.TradePavilion
...
@@ -2195,6 +2195,49 @@ namespace Mall.WebApi.Controllers.TradePavilion
return
ApiResult
.
Success
(
""
,
pageModel
);
return
ApiResult
.
Success
(
""
,
pageModel
);
}
}
/// <summary>
/// 报名列表word导出
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
GetFirstShopEnrollWordExport
()
{
var
req
=
base
.
RequestParm
;
JObject
parms
=
JObject
.
Parse
(
req
.
msg
.
ToString
());
int
EnrollId
=
parms
.
GetInt
(
"EnrollId"
,
0
);
if
(
EnrollId
<=
0
)
{
return
ApiResult
.
ParamIsNull
(
"请传递报名id"
);
}
string
path
=
firstShopListModule
.
GetFirstShopEnrollWordExport
(
EnrollId
,
req
.
MallBaseId
,
out
string
errmsg
);
if
(
errmsg
==
""
)
{
return
ApiResult
.
Success
(
""
,
path
);
}
else
{
return
ApiResult
.
Failed
(
errmsg
);
}
}
/// <summary>
/// 报名列表word导出
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
GetFirstShopEnrollWordExportBatch
()
{
var
req
=
base
.
RequestParm
;
JObject
parms
=
JObject
.
Parse
(
req
.
msg
.
ToString
());
string
EnrollIds
=
parms
.
GetStringValue
(
"EnrollIds"
);
//报名ids 英文逗号分隔
if
(
string
.
IsNullOrEmpty
(
EnrollIds
))
{
return
ApiResult
.
ParamIsNull
(
"请传递报名ids"
);
}
List
<
int
>
EnrollIdList
=
JsonHelper
.
DeserializeObject
<
List
<
int
>>(
"["
+
EnrollIds
+
"]"
);
string
path
=
firstShopListModule
.
GetFirstShopEnrollWordExport
(
EnrollIdList
,
req
.
MallBaseId
);
return
ApiResult
.
Success
(
""
,
path
);
}
/// <summary>
/// <summary>
/// 设置报名状态
/// 设置报名状态
/// </summary>
/// </summary>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment