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
e4cdcfd4
Commit
e4cdcfd4
authored
Dec 06, 2024
by
吴春
Browse files
Options
Browse Files
Download
Plain Diff
解决冲突
parents
07506d3a
204047b2
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
772 additions
and
18 deletions
+772
-18
BusinessExportEnum.cs
Mall.Common/Enum/TradePavilion/BusinessExportEnum.cs
+89
-0
CarrierExportEnum.cs
Mall.Common/Enum/TradePavilion/CarrierExportEnum.cs
+115
-0
BuildingCarrierModule.cs
Mall.Module.TradePavilion/BuildingCarrierModule.cs
+37
-1
RB_Brand_EnterpriseRepository.cs
...Repository/TradePavilion/RB_Brand_EnterpriseRepository.cs
+49
-5
RB_Building_CarrierRepository.cs
...Repository/TradePavilion/RB_Building_CarrierRepository.cs
+44
-0
AppletOrderController.cs
Mall.WebApi/Controllers/Product/AppletOrderController.cs
+13
-6
AppletTradeController.cs
...WebApi/Controllers/TradePavilion/AppletTradeController.cs
+4
-6
TradeController.cs
Mall.WebApi/Controllers/TradePavilion/TradeController.cs
+421
-0
No files found.
Mall.Common/Enum/TradePavilion/BusinessExportEnum.cs
View file @
e4cdcfd4
...
...
@@ -128,4 +128,93 @@ namespace Mall.Common.Enum.TradePavilion
Other
=
23
,
}
/// <summary>
/// 【商载通】品牌、企业服务下载枚举列表
/// </summary>
public
enum
BrandEnterpriseExportEnum
{
/// <summary>
/// 分类
/// </summary>
[
EnumField
(
"分类"
)]
CategoryId
=
1
,
/// <summary>
/// 品牌全名
/// </summary>
[
EnumField
(
"品牌全名"
)]
FullBrandName
=
2
,
/// <summary>
/// 品牌名
/// </summary>
[
EnumField
(
"品牌名"
)]
BrandName
=
3
,
/// <summary>
/// Logo
/// </summary>
[
EnumField
(
"Logo"
)]
Logo
=
4
,
/// <summary>
/// 品牌视频
/// </summary>
[
EnumField
(
"品牌视频"
)]
VideoUrl
=
5
,
/// <summary>
/// 店铺数量
/// </summary>
[
EnumField
(
"店铺数量"
)]
ShopNum
=
6
,
/// <summary>
/// 建筑面积
/// </summary>
[
EnumField
(
"建筑面积"
)]
BuiltUpArea
=
7
,
/// <summary>
/// 需求面积
/// </summary>
[
EnumField
(
"需求面积"
)]
AreaRequirement
=
8
,
/// <summary>
/// 客群定位
/// </summary>
[
EnumField
(
"客群定位"
)]
CustomerType
=
9
,
/// <summary>
/// 品牌定位
/// </summary>
[
EnumField
(
"品牌定位"
)]
BrandType
=
10
,
/// <summary>
/// 简介
/// </summary>
[
EnumField
(
"简介"
)]
Introduce
=
11
,
/// <summary>
/// 发展意向
/// </summary>
[
EnumField
(
"发展意向"
)]
DevIntention
=
12
,
/// <summary>
/// 物业需求
/// </summary>
[
EnumField
(
"物业需求"
)]
PropertyDemand
=
13
,
/// <summary>
/// 合作条件
/// </summary>
[
EnumField
(
"合作条件"
)]
Cooperation
=
14
,
/// <summary>
/// 配套需求
/// </summary>
[
EnumField
(
"配套需求"
)]
Complementary
=
15
}
}
Mall.Common/Enum/TradePavilion/CarrierExportEnum.cs
View file @
e4cdcfd4
...
...
@@ -86,4 +86,119 @@ namespace Mall.Common.Enum.TradePavilion
[
EnumField
(
"地铁信息"
)]
CarrierMetro
=
15
,
}
/// <summary>
/// 载体、楼宇下载项目
/// </summary>
public
enum
BuildCarrierExportEnum
{
/// <summary>
/// 项目名称
/// </summary>
[
EnumField
(
"项目名称"
)]
CarrierName
=
1
,
/// <summary>
/// Logo
/// </summary>
[
EnumField
(
"Logo"
)]
Logo
=
2
,
/// <summary>
/// 开发商
/// </summary>
[
EnumField
(
"开发商"
)]
Developers
=
3
,
/// <summary>
/// 载体视频
/// </summary>
[
EnumField
(
"载体视频"
)]
VideoUrl
=
4
,
/// <summary>
/// 项目地址
/// </summary>
[
EnumField
(
"项目地址"
)]
Address
=
5
,
/// <summary>
/// 开业时间
/// </summary>
[
EnumField
(
"开业时间"
)]
OpenTime
=
6
,
/// <summary>
/// 项目分类
/// </summary>
[
EnumField
(
"项目分类"
)]
CategoryType
=
7
,
/// <summary>
/// 项目分类
/// </summary>
[
EnumField
(
"资产权属"
)]
Ascription
=
8
,
/// <summary>
/// 项目面积
/// </summary>
[
EnumField
(
"项目面积"
)]
CarrierSize
=
9
,
/// <summary>
/// 物业构成
/// </summary>
[
EnumField
(
"物业构成"
)]
PropertyComposition
=
10
,
/// <summary>
/// 项目发展及定位
/// </summary>
[
EnumField
(
"项目发展及定位"
)]
Location
=
11
,
/// <summary>
/// 项目发展及定位
/// </summary>
[
EnumField
(
"周边人群结构特征"
)]
Crowd
=
12
,
/// <summary>
/// 人流量参数
/// </summary>
[
EnumField
(
"人流量参数"
)]
VisitorsFlowrate
=
13
,
/// <summary>
/// 商业楼层
/// </summary>
[
EnumField
(
"商业楼层"
)]
LayersNum
=
14
,
/// <summary>
/// 水电气及配套
/// </summary>
[
EnumField
(
"水电气及配套"
)]
SupportingFacilities
=
15
,
/// <summary>
/// 管理公司及管理费
/// </summary>
[
EnumField
(
"管理公司及管理费"
)]
ManagementCompany
=
16
,
/// <summary>
/// 目标招商业态及品牌需求
/// </summary>
[
EnumField
(
"目标招商业态及品牌需求"
)]
BrandDemand
=
17
,
/// <summary>
/// 地铁信息
/// </summary>
[
EnumField
(
"地铁信息"
)]
MetroInfo
=
18
,
}
}
Mall.Module.TradePavilion/BuildingCarrierModule.cs
View file @
e4cdcfd4
...
...
@@ -58,7 +58,32 @@ namespace Mall.Module.TradePavilion
}
}
return
list
;
}
}
/// <summary>
/// 获取载体楼宇列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public
List
<
RB_Building_Carrier_Extend
>
GetBuildingCarrierListModule
(
RB_Building_Carrier_Extend
query
)
{
var
list
=
building_CarrierRepository
.
GetBuildingCarrierListRepository
(
query
);
if
(
list
!=
null
&&
list
.
Count
>
0
)
{
string
Ids
=
string
.
Join
(
","
,
list
.
Select
(
qitem
=>
qitem
.
ID
));
List
<
RB_Building_Carriermetro_Extend
>
metroList
=
new
List
<
RB_Building_Carriermetro_Extend
>();
if
(!
string
.
IsNullOrEmpty
(
Ids
))
{
metroList
=
building_CarriermetroRepository
.
GetBuildingCarrierMetroListRepository
(
new
RB_Building_Carriermetro_Extend
()
{
CarrierIds
=
Ids
});
}
foreach
(
var
item
in
list
)
{
item
.
BuildingCarriermetroList
=
metroList
.
Where
(
qitem
=>
qitem
.
CarrierId
==
item
.
ID
)?.
ToList
()
??
new
List
<
RB_Building_Carriermetro_Extend
>();
}
}
return
list
;
}
/// <summary>
/// 新增修改载体、楼宇
...
...
@@ -169,6 +194,17 @@ namespace Mall.Module.TradePavilion
return
list
;
}
/// <summary>
/// 【商载通】品牌、企业服务仓储层
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public
List
<
RB_Brand_Enterprise_Extend
>
GetBrandEnterpriseListModule
(
RB_Brand_Enterprise_Extend
query
)
{
return
brand_EnterpriseRepository
.
GetBrandEnterpriseListRepository
(
query
);
}
/// <summary>
/// 新增修改品牌和企业服务
/// </summary>
...
...
Mall.Repository/TradePavilion/RB_Brand_EnterpriseRepository.cs
View file @
e4cdcfd4
...
...
@@ -11,7 +11,7 @@ namespace Mall.Repository.TradePavilion
/// <summary>
/// 【商载通】 品牌、企业服务仓储层
/// </summary>
public
class
RB_Brand_EnterpriseRepository
:
BaseRepository
<
RB_Brand_Enterprise
>
public
class
RB_Brand_EnterpriseRepository
:
BaseRepository
<
RB_Brand_Enterprise
>
{
/// <summary>
/// 【商载通】品牌、企业服务仓储层
...
...
@@ -60,10 +60,9 @@ WHERE 1=1
}
}
builder
.
AppendFormat
(
" ORDER BY A.{0} DESC "
,
nameof
(
RB_Brand_Enterprise_Extend
.
ID
));
return
GetPage
<
RB_Brand_Enterprise_Extend
>(
pageIndex
,
pageSize
,
out
rowsCount
,
builder
.
ToString
(),
parameters
).
ToList
();
return
GetPage
<
RB_Brand_Enterprise_Extend
>(
pageIndex
,
pageSize
,
out
rowsCount
,
builder
.
ToString
(),
parameters
).
ToList
();
}
/// <summary>
/// 【商载通】品牌、企业服务仓储层统计专用
/// </summary>
...
...
@@ -72,11 +71,56 @@ WHERE 1=1
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public
List
<
RB_Brand_Enterprise_Extend
>
GetBrandEnterpriseBriefRepository
(
RB_Brand_Enterprise_Extend
query
)
public
List
<
RB_Brand_Enterprise_Extend
>
GetBrandEnterpriseBriefRepository
(
RB_Brand_Enterprise_Extend
query
)
{
DynamicParameters
parameters
=
new
DynamicParameters
();
StringBuilder
builder
=
new
StringBuilder
();
builder
.
AppendFormat
(
@" SELECT A.ID,A.CreateDate,A.BrandEnterpriseType FROM rb_brand_Enterprise AS A WHERE 1=1 and A.Status=0 "
);
if
(
query
!=
null
)
{
if
(
query
.
TenantId
>
0
)
{
builder
.
AppendFormat
(
" AND A.{0}={1} "
,
nameof
(
RB_Brand_Enterprise_Extend
.
TenantId
),
query
.
TenantId
);
}
if
(
query
.
MallBaseId
>
0
)
{
builder
.
AppendFormat
(
" AND A.{0}={1} "
,
nameof
(
RB_Brand_Enterprise_Extend
.
MallBaseId
),
query
.
MallBaseId
);
}
if
(
query
.
BrandEnterpriseType
>
0
)
{
builder
.
AppendFormat
(
" AND A.{0}={1} "
,
nameof
(
RB_Brand_Enterprise_Extend
.
BrandEnterpriseType
),
query
.
BrandEnterpriseType
);
}
if
(
query
.
CategoryId
>
0
)
{
builder
.
AppendFormat
(
" AND A.{0}={1} "
,
nameof
(
RB_Brand_Enterprise_Extend
.
CategoryId
),
query
.
CategoryId
);
}
if
(
query
.
UserId
>
0
)
{
builder
.
AppendFormat
(
" AND A.{0}={1} "
,
nameof
(
RB_Brand_Enterprise_Extend
.
UserId
),
query
.
UserId
);
}
if
(!
string
.
IsNullOrEmpty
(
query
.
BrandName
))
{
builder
.
AppendFormat
(
" AND A.{0} LIKE @BrandName "
,
nameof
(
RB_Brand_Enterprise_Extend
.
BrandName
));
parameters
.
Add
(
"@BrandName"
,
"%"
+
query
.
BrandName
+
"%"
);
}
}
return
Get
<
RB_Brand_Enterprise_Extend
>(
builder
.
ToString
(),
parameters
).
ToList
();
}
/// <summary>
/// 【商载通】品牌、企业服务仓储层
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public
List
<
RB_Brand_Enterprise_Extend
>
GetBrandEnterpriseListRepository
(
RB_Brand_Enterprise_Extend
query
)
{
DynamicParameters
parameters
=
new
DynamicParameters
();
StringBuilder
builder
=
new
StringBuilder
();
builder
.
AppendFormat
(
@"
SELECT A.*,IFNULL(B.ClassName,'') AS CategoryName
FROM rb_brand_Enterprise AS A LEFT JOIN rb_brandclass AS B ON A.CategoryId=B.ID
WHERE 1=1
"
);
if
(
query
!=
null
)
{
...
...
@@ -106,7 +150,7 @@ WHERE 1=1
parameters
.
Add
(
"@BrandName"
,
"%"
+
query
.
BrandName
+
"%"
);
}
}
return
Get
<
RB_Brand_Enterprise_Extend
>(
builder
.
ToString
(),
parameters
).
ToList
();
return
Get
<
RB_Brand_Enterprise_Extend
>(
builder
.
ToString
(),
parameters
).
ToList
();
}
}
}
Mall.Repository/TradePavilion/RB_Building_CarrierRepository.cs
View file @
e4cdcfd4
...
...
@@ -124,16 +124,60 @@ WHERE 1=1
{
builder
.
AppendFormat
(
" AND A.{0}={1} "
,
nameof
(
RB_Building_Carrier_Extend
.
MallBaseId
),
query
.
MallBaseId
);
}
if
(
query
.
BuildingCarrierType
>
0
)
{
builder
.
AppendFormat
(
" AND A.{0}={1} "
,
nameof
(
RB_Building_Carrier_Extend
.
BuildingCarrierType
),
query
.
BuildingCarrierType
);
}
if
(!
string
.
IsNullOrEmpty
(
query
.
CarrierName
))
{
builder
.
AppendFormat
(
" AND A.{0} LIKE @CarrierName "
,
nameof
(
RB_Building_Carrier_Extend
.
CarrierName
));
parameters
.
Add
(
"@CarrierName"
,
"%"
+
query
.
CarrierName
.
Trim
()
+
"%"
);
}
if
(!
string
.
IsNullOrWhiteSpace
(
query
.
Developers
))
{
builder
.
AppendFormat
(
" AND A.{0} LIKE @Developers "
,
nameof
(
RB_Building_Carrier_Extend
.
Developers
));
parameters
.
Add
(
"@Developers"
,
"%"
+
query
.
Developers
.
Trim
()
+
"%"
);
}
if
(
query
.
OpeningStatus
>
-
1
)
{
builder
.
AppendFormat
(
" AND A.{0}={1} "
,
nameof
(
RB_Building_Carrier_Extend
.
OpeningStatus
),
query
.
OpeningStatus
);
}
if
(
query
.
CategoryId
>
0
)
{
builder
.
AppendFormat
(
" AND A.{0}={1} "
,
nameof
(
RB_Building_Carrier_Extend
.
CategoryId
),
query
.
CategoryId
);
}
if
(!
string
.
IsNullOrEmpty
(
query
.
QStartDate
))
{
builder
.
AppendFormat
(
" AND A.{0}>='{1}' "
,
nameof
(
RB_Building_Carrier_Extend
.
OpenTime
),
query
.
QStartDate
);
}
if
(!
string
.
IsNullOrEmpty
(
query
.
QEndDate
))
{
builder
.
AppendFormat
(
" AND A.{0}<='{1} 23:59:59' "
,
nameof
(
RB_Building_Carrier_Extend
.
OpenTime
),
query
.
QEndDate
);
}
if
(
query
.
MetroNum
>
0
||
!
string
.
IsNullOrWhiteSpace
(
query
.
MetroName
))
{
builder
.
Append
(
$" AND A.
{
nameof
(
RB_Building_Carrier_Extend
.
ID
)}
IN (SELECT CarrierId FROM RB_Building_Carriermetro WHERE `Status`=0 "
);
if
(
query
.
MetroNum
>
0
)
{
builder
.
Append
(
$" AND
{
nameof
(
RB_Building_Carriermetro
.
MetroNum
)}
=
{
query
.
MetroNum
}
"
);
}
if
(!
string
.
IsNullOrWhiteSpace
(
query
.
MetroName
))
{
builder
.
Append
(
$" AND
{
nameof
(
RB_Building_Carriermetro
.
MetroName
)}
LIKE @MetroName "
);
parameters
.
Add
(
"@MetroName"
,
"%"
+
query
.
MetroName
.
Trim
()
+
"%"
);
}
builder
.
Append
(
" )"
);
}
if
(
query
.
QShopType
==
1
)
{
builder
.
AppendFormat
(
" AND A.{0}={1} "
,
nameof
(
RB_Building_Carrier_Extend
.
IsChengDu
),
1
);
}
if
(
query
.
QShopType
==
2
)
{
builder
.
AppendFormat
(
" AND A.{0}={1} "
,
nameof
(
RB_Building_Carrier_Extend
.
OpenTime
),
0
);
}
}
builder
.
AppendFormat
(
" ORDER BY A.ID DESC "
);
return
Get
<
RB_Building_Carrier_Extend
>(
builder
.
ToString
(),
parameters
).
ToList
();
}
...
...
Mall.WebApi/Controllers/Product/AppletOrderController.cs
View file @
e4cdcfd4
...
...
@@ -1663,15 +1663,22 @@ namespace Mall.WebApi.Controllers.MallBase
if
(
configModel
.
Type
==
1
)
{
string
alimsg
=
orderModule
.
GetOrderExpressInfoForAliyun
(
ExpressNumber
,
model
.
ExpressCode
,
configModel
.
AppCode
,
configModel
.
RquUrl
);
JObject
Rparms
=
JObject
.
Parse
(
alimsg
);
if
(
Rparms
.
GetStringValue
(
"Success"
).
ToLower
()
==
"true"
)
if
(!
string
.
IsNullOrEmpty
(
alimsg
))
{
List
<
Model
.
Query
.
ExpressTraces
>
list
=
JsonConvert
.
DeserializeObject
<
List
<
Model
.
Query
.
ExpressTraces
>>(
Rparms
.
GetStringValue
(
"Traces"
)
);
if
(
list
.
Any
()
)
JObject
Rparms
=
JObject
.
Parse
(
alimsg
);
if
(
Rparms
.
GetStringValue
(
"Success"
).
ToLower
()
==
"true"
)
{
list
=
list
.
OrderByDescending
(
x
=>
x
.
AcceptTime
).
ToList
();
List
<
Model
.
Query
.
ExpressTraces
>
list
=
JsonConvert
.
DeserializeObject
<
List
<
Model
.
Query
.
ExpressTraces
>>(
Rparms
.
GetStringValue
(
"Traces"
));
if
(
list
.
Any
())
{
list
=
list
.
OrderByDescending
(
x
=>
x
.
AcceptTime
).
ToList
();
}
return
ApiResult
.
Success
(
""
,
list
);
}
else
{
return
ApiResult
.
Failed
(
"未能查询到该快递信息"
);
}
return
ApiResult
.
Success
(
""
,
list
);
}
else
{
...
...
Mall.WebApi/Controllers/TradePavilion/AppletTradeController.cs
View file @
e4cdcfd4
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Threading.Tasks
;
using
Dnc.Api.Throttle
;
using
Dnc.Api.Throttle
;
using
Mall.CacheManager.User
;
using
Mall.Common
;
using
Mall.Common.API
;
...
...
@@ -15,10 +11,12 @@ using Mall.Module.TradePavilion;
using
Mall.WebApi.Filter
;
using
Microsoft.AspNetCore.Authorization
;
using
Microsoft.AspNetCore.Cors
;
using
Microsoft.AspNetCore.Http
;
using
Microsoft.AspNetCore.Mvc
;
using
Newtonsoft.Json
;
using
Newtonsoft.Json.Linq
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
namespace
Mall.WebApi.Controllers.TradePavilion
{
...
...
Mall.WebApi/Controllers/TradePavilion/TradeController.cs
View file @
e4cdcfd4
...
...
@@ -2578,6 +2578,7 @@ namespace Mall.WebApi.Controllers.TradePavilion
Id
=
Convert
.
ToInt32
(
x
.
Value
)
}));
}
/// <summary>
/// 获取品牌大类
/// </summary>
...
...
@@ -3669,6 +3670,224 @@ namespace Mall.WebApi.Controllers.TradePavilion
return
ApiResult
.
Success
(
data
:
extModel
);
}
/// <summary>
/// 获取【商载通】载体、楼宇下载枚举列表
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
GetBuildingCarrierExportEnumList
()
{
var
list
=
EnumHelper
.
GetEnumList
(
typeof
(
Common
.
Enum
.
TradePavilion
.
BuildCarrierExportEnum
));
return
ApiResult
.
Success
(
""
,
list
.
Select
(
x
=>
new
{
Name
=
x
.
Key
,
Id
=
Convert
.
ToInt32
(
x
.
Value
)
}));
}
/// <summary>
/// 检查【商再通】载体、楼宇文件是否存在
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
async
Task
<
ApiResult
>
CheckBuildingCarrierFile
()
{
JObject
parms
=
JObject
.
Parse
(
RequestParm
.
msg
.
ToString
());
RB_Building_Carrier_Extend
query
=
new
RB_Building_Carrier_Extend
()
{
CarrierName
=
parms
.
GetStringValue
(
"CarrierName"
),
CategoryId
=
parms
.
GetInt
(
"CategoryId"
),
QStartDate
=
parms
.
GetStringValue
(
"QStartDate"
),
QEndDate
=
parms
.
GetStringValue
(
"QEndDate"
),
MetroName
=
parms
.
GetStringValue
(
"MetroName"
),
MetroNum
=
parms
.
GetInt
(
"MetroNum"
),
BuildingCarrierType
=
parms
.
GetInt
(
"BuildingCarrierType"
),
OpeningStatus
=
parms
.
GetInt
(
"OpeningStatus"
,
-
1
),
QShopType
=
parms
.
GetInt
(
"QShopType"
),
MallBaseId
=
RequestParm
.
MallBaseId
,
TenantId
=
RequestParm
.
TenantId
,
};
string
RandomNum
=
parms
.
GetStringValue
(
"RandomNum"
);
string
ExcelEnumIdsStr
=
parms
.
GetStringValue
(
"ExcelEnumIds"
);
List
<
int
>
ExcelEnumIds
=
JsonConvert
.
DeserializeObject
<
List
<
int
>>(
ExcelEnumIdsStr
);
string
hashKey
=
Common
.
Config
.
GetHash
(
Common
.
Plugin
.
JsonHelper
.
Serialize
(
query
)
+
ExcelEnumIdsStr
+
RandomNum
);
string
fileName
=
"载体楼宇"
+
".xls"
;
string
filePath
=
Path
.
Combine
(
Directory
.
GetCurrentDirectory
(),
"upfile/temporary"
);
if
(
System
.
IO
.
Directory
.
Exists
(
filePath
)
==
false
)
//如果不存在就创建file文件夹
{
System
.
IO
.
Directory
.
CreateDirectory
(
filePath
);
}
string
tempPath
=
filePath
+
"\\"
+
hashKey
+
"\\"
;
//如果不存在就创建file文件夹
if
(!
System
.
IO
.
Directory
.
Exists
(
tempPath
))
{
System
.
IO
.
Directory
.
CreateDirectory
(
tempPath
);
}
string
fileUrl
=
tempPath
+
fileName
;
string
key
=
"Mall_SD_BUILDINGCARRIER_"
+
hashKey
;
string
redisValue
=
redisHelper
.
StringGet
(
key
);
if
(
string
.
IsNullOrEmpty
(
redisValue
))
{
redisValue
=
redisHelper
.
StringGet
(
key
);
if
(
string
.
IsNullOrEmpty
(
redisValue
))
{
redisHelper
.
StringSet
(
key
,
fileName
,
TimeSpan
.
FromMinutes
(
10
));
Task
.
Run
(()
=>
{
GetBuildingCarrierListToExcel
(
query
,
ExcelEnumIds
,
tempPath
,
fileUrl
);
});
}
}
return
await
Task
.
Run
<
ApiResult
>(()
=>
{
ApiResult
apiResult
=
new
ApiResult
()
{
resultCode
=
0
,
};
if
(
System
.
IO
.
File
.
Exists
(
fileUrl
))
{
var
filePath
=
"/upfile/temporary/"
+
hashKey
+
"/"
;
var
fileUrl
=
"/upfile/temporary/"
+
hashKey
+
"/"
+
fileName
;
apiResult
.
resultCode
=
1
;
apiResult
.
data
=
new
{
filePath
,
fileUrl
};
apiResult
.
message
=
key
;
}
return
apiResult
;
});
}
/// <summary>
/// 生成【商载通】载体、楼宇文件
/// </summary>
/// <param name="demodel">查询参数</param>
/// <param name="ExcelEnumIdList">下载列</param>
/// <param name="filePath">Logo文件存放路径</param>
/// <param name="excelFileUrl">Excel文件路径</param>
private
async
void
GetBuildingCarrierListToExcel
(
RB_Building_Carrier_Extend
demodel
,
List
<
int
>
ExcelEnumIdList
,
string
filePath
,
string
excelFileUrl
)
{
byte
[]
bytes
=
null
;
string
ExcelName
=
"载体列表"
+
DateTime
.
Now
.
ToString
(
"yyyyMMddHHmmss"
)
+
".xls"
;
List
<
ExcelDataSource
>
slist
=
new
List
<
ExcelDataSource
>();
var
Enumlist
=
EnumHelper
.
GetEnumList
(
typeof
(
Common
.
Enum
.
TradePavilion
.
BuildCarrierExportEnum
));
ExcelDataSource
header
=
new
ExcelDataSource
()
{
ExcelRows
=
new
List
<
ExcelColumn
>(
30
)
{
new
ExcelColumn
(
value
:
"序号"
)
{
CellWidth
=
15
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
}
}
};
foreach
(
var
item
in
ExcelEnumIdList
)
{
var
Name
=
Enumlist
.
Where
(
x
=>
x
.
Value
==
item
.
ToString
()).
FirstOrDefault
().
Key
??
""
;
header
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
Name
)
{
CellWidth
=
15
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
});
}
slist
.
Add
(
header
);
try
{
var
list
=
buildingCarrierModule
.
GetBuildingCarrierListModule
(
demodel
);
List
<
Action
>
actions
=
new
List
<
Action
>();
if
(
list
!=
null
&&
list
.
Count
>
0
)
{
//判断是否下载图片
if
(
ExcelEnumIdList
.
Contains
(
2
))
{
foreach
(
var
item
in
list
)
{
actions
.
Add
(
new
Action
(()
=>
{
DownLoadUrl
(
item
.
Logo
,
filePath
);
}));
}
}
}
if
(
actions
!=
null
&&
actions
.
Count
>
0
)
{
ParallelOptions
options
=
new
ParallelOptions
{
MaxDegreeOfParallelism
=
4
};
// 设置最大并行度为 4
Parallel
.
Invoke
(
options
,
actions
.
ToArray
());
}
#
region
组装数据
int
Num
=
0
;
foreach
(
var
item
in
list
)
{
Num
++;
ExcelDataSource
datarow
=
new
ExcelDataSource
()
{
ExcelRows
=
new
List
<
ExcelColumn
>(
30
)
{
new
ExcelColumn
(
value
:
Num
.
ToString
()){
},
}
};
foreach
(
var
qitem
in
ExcelEnumIdList
)
{
switch
(
qitem
)
{
case
1
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
CarrierName
)
{
});
break
;
case
2
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
Logo
,
isPic
:
1
)
{
});
break
;
case
3
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
Developers
)
{
});
break
;
case
4
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
VideoUrl
)
{
});
break
;
case
5
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
Address
)
{
});
break
;
case
6
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
Common
.
ConvertHelper
.
FormatDate
(
item
.
OpenTime
))
{
});
break
;
case
7
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
CategoryName
)
{
});
break
;
case
8
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
Ascription
)
{
});
break
;
case
9
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
(
item
.
CarrierSize
.
ToString
())
+
"万平方米"
)
{
});
break
;
case
10
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
PropertyComposition
)
{
});
break
;
case
11
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
Location
)
{
});
break
;
case
12
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
Crowd
)
{
});
break
;
case
13
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
VisitorsFlowrate
)
{
});
break
;
case
14
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
LayersNum
)
{
});
break
;
case
15
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
SupportingFacilities
)
{
});
break
;
case
16
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
ManagementCompany
)
{
});
break
;
case
17
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
BrandDemand
)
{
});
break
;
case
18
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
(
item
.
BuildingCarriermetroList
!=
null
&&
item
.
BuildingCarriermetroList
.
Any
())
?
(
string
.
Join
(
","
,
item
.
BuildingCarriermetroList
.
Select
(
x
=>
x
.
MetroNum
+
"号线"
+
x
.
MetroName
+
x
.
Distance
)))
:
""
)
{
});
break
;
}
}
slist
.
Add
(
datarow
);
}
#
endregion
bytes
=
ExcelTempLateHelper
.
ToBrandExcelExtend
(
slist
,
filePath
);
using
(
FileStream
fs
=
new
FileStream
(
excelFileUrl
,
FileMode
.
CreateNew
))
{
fs
.
Write
(
bytes
,
0
,
bytes
.
Length
);
}
}
catch
(
Exception
ex
)
{
bytes
=
ExcelTempLateHelper
.
ToBrandExcelExtend
(
slist
,
filePath
);
using
(
FileStream
fs
=
new
FileStream
(
excelFileUrl
,
FileMode
.
CreateNew
))
{
fs
.
Write
(
bytes
,
0
,
bytes
.
Length
);
}
LogHelper
.
Write
(
ex
,
string
.
Format
(
"GetBuildingCarrierListToExcel_Requst: {0}"
,
JsonHelper
.
Serialize
(
demodel
)));
}
}
/// <summary>
/// 【商载通】品牌、企业服务分页列表
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
GetBrandEnterprisePage
()
...
...
@@ -3685,6 +3904,8 @@ namespace Mall.WebApi.Controllers.TradePavilion
BrandName
=
parms
.
GetStringValue
(
"BrandName"
),
CategoryId
=
parms
.
GetInt
(
"CategoryId"
),
};
query
.
TenantId
=
RequestParm
.
TenantId
;
query
.
MallBaseId
=
RequestParm
.
MallBaseId
;
List
<
object
>
list
=
new
List
<
object
>();
var
dataList
=
buildingCarrierModule
.
GetBrandEnterprisePageModule
(
pageModel
.
pageIndex
,
pageModel
.
pageSize
,
out
long
rowsCount
,
query
);
foreach
(
var
item
in
dataList
)
...
...
@@ -3913,5 +4134,205 @@ namespace Mall.WebApi.Controllers.TradePavilion
};
return
ApiResult
.
Success
(
data
:
result
);
}
/// <summary>
/// 获取品牌下载枚举列表
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
GetBrandEnterpriseExportEnumList
()
{
var
list
=
EnumHelper
.
GetEnumList
(
typeof
(
Common
.
Enum
.
TradePavilion
.
BrandEnterpriseExportEnum
));
return
ApiResult
.
Success
(
""
,
list
.
Select
(
x
=>
new
{
Name
=
x
.
Key
,
Id
=
Convert
.
ToInt32
(
x
.
Value
)
}));
}
/// <summary>
/// 检查品牌文件是否存在
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
async
Task
<
ApiResult
>
CheckBrandEnterpriseFile
()
{
JObject
parms
=
JObject
.
Parse
(
RequestParm
.
msg
.
ToString
());
RB_Brand_Enterprise_Extend
query
=
new
RB_Brand_Enterprise_Extend
()
{
BrandEnterpriseType
=
parms
.
GetInt
(
"BrandEnterpriseType"
),
BrandName
=
parms
.
GetStringValue
(
"BrandName"
),
CategoryId
=
parms
.
GetInt
(
"CategoryId"
),
};
query
.
MallBaseId
=
RequestParm
.
MallBaseId
;
query
.
TenantId
=
RequestParm
.
TenantId
;
string
RandomNum
=
parms
.
GetStringValue
(
"RandomNum"
);
string
ExcelEnumIdsStr
=
parms
.
GetStringValue
(
"ExcelEnumIds"
);
List
<
int
>
ExcelEnumIds
=
JsonConvert
.
DeserializeObject
<
List
<
int
>>(
ExcelEnumIdsStr
);
string
hashKey
=
Common
.
Config
.
GetHash
(
Common
.
Plugin
.
JsonHelper
.
Serialize
(
query
)
+
ExcelEnumIdsStr
+
ExcelEnumIdsStr
);
string
fileName
=
"消费品牌企业服务信息"
+
".xls"
;
string
filePath
=
Path
.
Combine
(
Directory
.
GetCurrentDirectory
(),
"upfile/temporary"
);
if
(
System
.
IO
.
Directory
.
Exists
(
filePath
)
==
false
)
//如果不存在就创建file文件夹
{
System
.
IO
.
Directory
.
CreateDirectory
(
filePath
);
}
string
tempPath
=
filePath
+
"\\"
+
hashKey
+
"\\"
;
//如果不存在就创建file文件夹
if
(!
System
.
IO
.
Directory
.
Exists
(
tempPath
))
{
System
.
IO
.
Directory
.
CreateDirectory
(
tempPath
);
}
string
fileUrl
=
tempPath
+
fileName
;
string
key
=
"Mall_SD_BRANDENTERPRISE_"
+
hashKey
;
string
redisValue
=
redisHelper
.
StringGet
(
key
);
if
(
string
.
IsNullOrEmpty
(
redisValue
))
{
redisValue
=
redisHelper
.
StringGet
(
key
);
if
(
string
.
IsNullOrEmpty
(
redisValue
))
{
redisHelper
.
StringSet
(
key
,
fileName
,
TimeSpan
.
FromMinutes
(
10
));
Task
.
Run
(()
=>
{
GetBrandEnterpriseListToExcel
(
query
,
ExcelEnumIds
,
tempPath
,
fileUrl
);
});
}
}
return
await
Task
.
Run
<
ApiResult
>(()
=>
{
ApiResult
apiResult
=
new
ApiResult
()
{
resultCode
=
0
,
};
if
(
System
.
IO
.
File
.
Exists
(
fileUrl
))
{
var
filePath
=
"/upfile/temporary/"
+
hashKey
+
"/"
;
var
fileUrl
=
"/upfile/temporary/"
+
hashKey
+
"/"
+
fileName
;
apiResult
.
resultCode
=
1
;
apiResult
.
data
=
new
{
filePath
,
fileUrl
};
apiResult
.
message
=
key
;
}
return
apiResult
;
});
}
/// <summary>
///【商载通】 生成品牌文件
/// </summary>
/// <param name="demodel">查询参数</param>
/// <param name="ExcelEnumIdList">需要导出的列</param>
/// <param name="filePath">Logon存放路劲</param>
/// <param name="excelFileUrl">Excel文件路径</param>
private
async
void
GetBrandEnterpriseListToExcel
(
RB_Brand_Enterprise_Extend
demodel
,
List
<
int
>
ExcelEnumIdList
,
string
filePath
,
string
excelFileUrl
)
{
byte
[]
bytes
=
null
;
List
<
ExcelDataSource
>
slist
=
new
List
<
ExcelDataSource
>();
var
Enumlist
=
EnumHelper
.
GetEnumList
(
typeof
(
Common
.
Enum
.
TradePavilion
.
BrandEnterpriseExportEnum
));
ExcelDataSource
header
=
new
ExcelDataSource
()
{
ExcelRows
=
new
List
<
ExcelColumn
>(
30
)
{
new
ExcelColumn
(
value
:
"序号"
)
{
CellWidth
=
15
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
}
}
};
foreach
(
var
item
in
ExcelEnumIdList
)
{
var
Name
=
Enumlist
.
Where
(
x
=>
x
.
Value
==
item
.
ToString
()).
FirstOrDefault
().
Key
??
""
;
header
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
Name
)
{
CellWidth
=
15
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
});
}
slist
.
Add
(
header
);
try
{
var
list
=
buildingCarrierModule
.
GetBrandEnterpriseListModule
(
demodel
);
List
<
Action
>
actions
=
new
List
<
Action
>();
if
(
list
!=
null
&&
list
.
Count
>
0
)
{
//判断是否下载图片
if
(
ExcelEnumIdList
.
Contains
(
4
))
{
foreach
(
var
item
in
list
)
{
actions
.
Add
(
new
Action
(()
=>
{
DownLoadUrl
(
item
.
Logo
,
filePath
);
}));
}
}
}
if
(
actions
!=
null
&&
actions
.
Count
>
0
)
{
ParallelOptions
options
=
new
ParallelOptions
{
MaxDegreeOfParallelism
=
4
};
// 设置最大并行度为 4
Parallel
.
Invoke
(
options
,
actions
.
ToArray
());
}
#
region
组装数据
int
Num
=
0
;
foreach
(
var
item
in
list
)
{
Num
++;
ExcelDataSource
datarow
=
new
ExcelDataSource
()
{
ExcelRows
=
new
List
<
ExcelColumn
>(
30
)
{
new
ExcelColumn
(
value
:
Num
.
ToString
()){
},
}
};
foreach
(
var
qitem
in
ExcelEnumIdList
)
{
switch
(
qitem
)
{
case
1
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
CategoryName
)
{
});
break
;
case
2
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
FullBrandName
)
{
});
break
;
case
3
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
BrandName
)
{
});
break
;
case
4
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
Logo
,
isPic
:
1
)
{
});
break
;
case
5
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
VideoUrl
)
{
});
break
;
case
6
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
ShopNum
.
ToString
())
{
});
break
;
case
7
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
(
item
.
BuiltUpArea
.
ToString
())
+
"-"
+
(
item
.
EndBuiltUpArea
.
ToString
()))
{
});
break
;
case
8
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
(
item
.
AreaRequirement
.
ToString
())
+
"-"
+
(
item
.
EndAreaRequirement
.
ToString
()))
{
});
break
;
case
9
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
CustomerType
)
{
});
break
;
case
10
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
BrandType
)
{
});
break
;
case
11
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
Introduce
)
{
});
break
;
case
12
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
DevIntention
)
{
});
break
;
case
13
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
PropertyDemand
)
{
});
break
;
case
14
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
Cooperation
)
{
});
break
;
case
15
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
Complementary
)
{
});
break
;
}
}
slist
.
Add
(
datarow
);
}
#
endregion
bytes
=
ExcelTempLateHelper
.
ToBrandExcelExtend
(
slist
,
filePath
);
using
(
FileStream
fs
=
new
FileStream
(
excelFileUrl
,
FileMode
.
CreateNew
))
{
fs
.
Write
(
bytes
,
0
,
bytes
.
Length
);
}
}
catch
(
Exception
ex
)
{
bytes
=
ExcelTempLateHelper
.
ToBrandExcelExtend
(
slist
,
filePath
);
using
(
FileStream
fs
=
new
FileStream
(
excelFileUrl
,
FileMode
.
CreateNew
))
{
fs
.
Write
(
bytes
,
0
,
bytes
.
Length
);
}
LogHelper
.
Write
(
ex
,
string
.
Format
(
"GetBrandEnterpriseListToExcel_Request: {0}"
,
JsonHelper
.
Serialize
(
demodel
)));
}
}
}
}
\ No newline at end of file
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