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
c30aafee
Commit
c30aafee
authored
Dec 09, 2024
by
吴春
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
bc8ce09d
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
2132 additions
and
94 deletions
+2132
-94
RB_BrandEnterpriseApplyFor.cs
....Model/Entity/TradePavilion/RB_BrandEnterpriseApplyFor.cs
+273
-0
RB_CarrierEnterpriseApplyFor.cs
...odel/Entity/TradePavilion/RB_CarrierEnterpriseApplyFor.cs
+283
-0
RB_CarrierEnterpriseMetroApplyFor.cs
...Entity/TradePavilion/RB_CarrierEnterpriseMetroApplyFor.cs
+59
-0
RB_BrandEnterpriseApplyFor_Extend.cs
...Extend/TradePavilion/RB_BrandEnterpriseApplyFor_Extend.cs
+47
-0
RB_Brand_Enterprise_Extend.cs
....Model/Extend/TradePavilion/RB_Brand_Enterprise_Extend.cs
+7
-1
RB_Building_Carrier_Extend.cs
....Model/Extend/TradePavilion/RB_Building_Carrier_Extend.cs
+15
-1
RB_CarrierEnterpriseApplyFor_Extend.cs
...tend/TradePavilion/RB_CarrierEnterpriseApplyFor_Extend.cs
+75
-0
RB_CarrierEnterpriseMetroApplyFor_Extend.cs
...TradePavilion/RB_CarrierEnterpriseMetroApplyFor_Extend.cs
+21
-0
BuildingCarrierModule.cs
Mall.Module.TradePavilion/BuildingCarrierModule.cs
+80
-4
BuildingCarrierModule_V2.cs
Mall.Module.TradePavilion/BuildingCarrierModule_V2.cs
+392
-0
RB_BrandEnterpriseApplyForRepository.cs
...ory/TradePavilion/RB_BrandEnterpriseApplyForRepository.cs
+135
-0
RB_CarrierEnterpriseApplyForRepository.cs
...y/TradePavilion/RB_CarrierEnterpriseApplyForRepository.cs
+98
-0
RB_CarrierEnterpriseMetroApplyForRepository.cs
...dePavilion/RB_CarrierEnterpriseMetroApplyForRepository.cs
+61
-0
RB_Visit_LogRepository.cs
Mall.Repository/TradePavilion/RB_Visit_LogRepository.cs
+1
-1
AppletTradeController.cs
...WebApi/Controllers/TradePavilion/AppletTradeController.cs
+585
-87
No files found.
Mall.Model/Entity/TradePavilion/RB_BrandEnterpriseApplyFor.cs
0 → 100644
View file @
c30aafee
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
using
Mall.Common.Enum
;
using
Mall.Common.Enum.TradePavilion
;
using
VT.FW.DB
;
namespace
Mall.Model.Entity.TradePavilion
{
/// <summary>
///【商载通】 品牌/企业申请实体表
/// </summary>
[
Serializable
]
[
DB
(
ConnectionName
=
"DefaultConnection"
)]
public
class
RB_BrandEnterpriseApplyFor
{
/// <summary>
/// 编号
/// </summary>
public
int
ID
{
get
;
set
;
}
/// <summary>
/// 商户号id
/// </summary>
public
int
TenantId
{
get
;
set
;
}
/// <summary>
/// 小程序id
/// </summary>
public
int
MallBaseId
{
get
;
set
;
}
/// <summary>
/// 创建人
/// </summary>
public
int
CreateBy
{
get
;
set
;
}
/// <summary>
/// 创建时间
/// </summary>
public
DateTime
CreateDate
{
get
;
set
;
}
/// <summary>
/// 修改人
/// </summary>
public
int
UpdateBy
{
get
;
set
;
}
/// <summary>
/// 修改时间
/// </summary>
public
DateTime
UpdateDate
{
get
;
set
;
}
/// <summary>
/// 删除状态
/// </summary>
public
DateStateEnum
Status
{
get
;
set
;
}
/// <summary>
/// logo
/// </summary>
public
string
Logo
{
get
;
set
;
}
/// <summary>
/// 品牌介绍图
/// </summary>
public
string
Banner
{
get
;
set
;
}
/// <summary>
/// 品牌视频
/// </summary>
public
string
VideoUrl
{
get
;
set
;
}
/// <summary>
/// 品牌全名
/// </summary>
public
string
FullBrandName
{
get
;
set
;
}
/// <summary>
/// 品牌名称
/// </summary>
public
string
BrandName
{
get
;
set
;
}
/// <summary>
/// 店铺数量
/// </summary>
public
int
ShopNum
{
get
;
set
;
}
/// <summary>
/// 建筑面积
/// </summary>
public
decimal
BuiltUpArea
{
get
;
set
;
}
/// <summary>
/// 建筑面积
/// </summary>
public
decimal
EndBuiltUpArea
{
get
;
set
;
}
/// <summary>
/// 品牌定位
/// </summary>
public
string
BrandType
{
get
;
set
;
}
/// <summary>
/// 客户群体
/// </summary>
public
string
CustomerType
{
get
;
set
;
}
/// <summary>
/// 扩店区域
/// </summary>
public
string
StoreExpansion
{
get
;
set
;
}
/// <summary>
/// 性质
/// </summary>
public
ProjectTypeEnum
?
ProjectType
{
get
;
set
;
}
/// <summary>
/// 面积要求
/// </summary>
public
decimal
AreaRequirement
{
get
;
set
;
}
/// <summary>
/// 面积要求
/// </summary>
public
decimal
EndAreaRequirement
{
get
;
set
;
}
/// <summary>
/// 广告
/// </summary>
public
string
Advertising
{
get
;
set
;
}
/// <summary>
/// 其他
/// </summary>
public
string
Other
{
get
;
set
;
}
/// <summary>
/// 店铺开口尺寸(0-否1-有)
/// </summary>
public
int
IsShopSize
{
get
;
set
;
}
/// <summary>
/// 店铺开口尺寸
/// </summary>
public
string
ShopSize
{
get
;
set
;
}
/// <summary>
/// 上下水(0-否1-有)
/// </summary>
public
int
Plumbing
{
get
;
set
;
}
/// <summary>
/// 管径(0-否1-有)
/// </summary>
public
int
Caliber
{
get
;
set
;
}
/// <summary>
/// 排污(0-否1-有)
/// </summary>
public
int
Sewage
{
get
;
set
;
}
/// <summary>
/// 燃气(0-否1-有)
/// </summary>
public
int
RanQi
{
get
;
set
;
}
/// <summary>
/// 燃气备注
/// </summary>
public
string
RanQiBZ
{
get
;
set
;
}
/// <summary>
/// 电量
/// </summary>
public
string
DianLiang
{
get
;
set
;
}
/// <summary>
/// /电量(0-否1-有)
/// </summary>
public
int
IsDianLiang
{
get
;
set
;
}
/// <summary>
/// 排烟量(0-否1-有)
/// </summary>
public
int
PaiYan
{
get
;
set
;
}
/// <summary>
/// 排烟量
/// </summary>
public
string
PaiYanBZ
{
get
;
set
;
}
/// <summary>
/// 空调(0-否1-有)
/// </summary>
public
int
KongTiao
{
get
;
set
;
}
/// <summary>
/// 新风(0-否1-有)
/// </summary>
public
int
XinFeng
{
get
;
set
;
}
/// <summary>
/// 品牌分类Id
/// </summary>
public
int
BrandClassId
{
get
;
set
;
}
/// <summary>
/// 认证id
/// </summary>
public
int
CompanyId
{
get
;
set
;
}
/// <summary>
/// 开店意愿(打分)
/// </summary>
public
decimal
OpenShopWish
{
get
;
set
;
}
/// <summary>
/// 现有品牌id
/// </summary>
public
int
ExistBrandId
{
get
;
set
;
}
/// <summary>
/// 是否已在成都落地 0-否,1-是,-1未填写
/// </summary>
public
int
?
IsInChengdu
{
get
;
set
;
}
/// <summary>
/// 类型(1-品牌,2-企业服务)
/// </summary>
public
int
BrandEnterpriseType
{
get
;
set
;
}
/// <summary>
/// 品牌简介/企业简介
/// </summary>
public
string
Introduce
{
get
;
set
;
}
/// <summary>
/// 租赁意向
/// </summary>
public
string
DevIntention
{
get
;
set
;
}
/// <summary>
/// 物业需求
/// </summary>
public
string
PropertyDemand
{
get
;
set
;
}
/// <summary>
/// 意向合作条件
/// </summary>
public
string
Cooperation
{
get
;
set
;
}
/// <summary>
/// 配套需求
/// </summary>
public
string
Complementary
{
get
;
set
;
}
/// <summary>
/// 状态0-待审核,1- 审核通过,2-审核失败
/// </summary>
public
int
ApplyForStatus
{
get
;
set
;
}
/// <summary>
/// 拒绝备注
/// </summary>
public
string
RejectRemark
{
get
;
set
;
}
}
}
Mall.Model/Entity/TradePavilion/RB_CarrierEnterpriseApplyFor.cs
0 → 100644
View file @
c30aafee
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
using
Mall.Common.Enum
;
using
Mall.Common.Enum.TradePavilion
;
using
VT.FW.DB
;
namespace
Mall.Model.Entity.TradePavilion
{
/// <summary>
///【商载通】 载体、楼宇申请实体表
/// </summary>
[
Serializable
]
[
DB
(
ConnectionName
=
"DefaultConnection"
)]
public
class
RB_CarrierEnterpriseApplyFor
{
/// <summary>
/// 编号
/// </summary>
public
int
ID
{
get
;
set
;
}
/// <summary>
/// 商户号id
/// </summary>
public
int
TenantId
{
get
;
set
;
}
/// <summary>
/// 小程序id
/// </summary>
public
int
MallBaseId
{
get
;
set
;
}
/// <summary>
/// 创建人
/// </summary>
public
int
CreateBy
{
get
;
set
;
}
/// <summary>
/// 创建时间
/// </summary>
public
DateTime
CreateDate
{
get
;
set
;
}
/// <summary>
/// 修改人
/// </summary>
public
int
UpdateBy
{
get
;
set
;
}
/// <summary>
/// 修改时间
/// </summary>
public
DateTime
UpdateDate
{
get
;
set
;
}
/// <summary>
/// 删除状态
/// </summary>
public
DateStateEnum
Status
{
get
;
set
;
}
/// <summary>
/// 载体名称
/// </summary>
public
string
CarrierName
{
get
;
set
;
}
/// <summary>
/// logo
/// </summary>
public
string
Logo
{
get
;
set
;
}
/// <summary>
/// 载体介绍图
/// </summary>
public
string
Banner
{
get
;
set
;
}
/// <summary>
/// 载体视频
/// </summary>
public
string
VideoUrl
{
get
;
set
;
}
/// <summary>
/// 省
/// </summary>
public
int
Province
{
get
;
set
;
}
/// <summary>
/// 市
/// </summary>
public
int
City
{
get
;
set
;
}
/// <summary>
/// 区
/// </summary>
public
int
Area
{
get
;
set
;
}
/// <summary>
/// 载体地址
/// </summary>
public
string
Address
{
get
;
set
;
}
/// <summary>
/// 载体地址经纬度
/// </summary>
public
string
LatAndLon
{
get
;
set
;
}
/// <summary>
/// 开发商
/// </summary>
public
string
Developers
{
get
;
set
;
}
/// <summary>
/// 开业时间
/// </summary>
public
DateTime
?
OpenTime
{
get
;
set
;
}
/// <summary>
/// 项目类型
/// </summary>
public
ProjectTypeEnum
?
ProjectType
{
get
;
set
;
}
/// <summary>
/// 商业体量(单位:万平方米)
/// </summary>
public
decimal
CarrierSize
{
get
;
set
;
}
/// <summary>
/// 商业层数
/// </summary>
public
string
LayersNum
{
get
;
set
;
}
/// <summary>
/// 车位数量
/// </summary>
public
int
CarNum
{
get
;
set
;
}
/// <summary>
/// 业态规划
/// </summary>
public
string
CarrierPlan
{
get
;
set
;
}
/// <summary>
/// 招引目标
/// </summary>
public
string
CarrierTarget
{
get
;
set
;
}
/// <summary>
/// 目标人群[周边人群结构特征]
/// </summary>
public
string
Crowd
{
get
;
set
;
}
/// <summary>
/// 认证id
/// </summary>
public
int
CompanyId
{
get
;
set
;
}
/// <summary>
/// 现有的载体Id
/// </summary>
public
int
ExistCarrierId
{
get
;
set
;
}
/// <summary>
/// 招商优惠政策
/// </summary>
public
string
Discount
{
get
;
set
;
}
/// <summary>
/// 载体荣誉
/// </summary>
public
string
Honor
{
get
;
set
;
}
/// <summary>
/// 去年业绩(单位:W)
/// </summary>
public
decimal
?
YeJi
{
get
;
set
;
}
/// <summary>
/// 店铺数量
/// </summary>
public
int
?
ShopNum
{
get
;
set
;
}
/// <summary>
/// 可租赁面积
/// </summary>
public
decimal
?
AreaRequirement
{
get
;
set
;
}
/// <summary>
/// 可租赁面积
/// </summary>
public
decimal
?
EndAreaRequirement
{
get
;
set
;
}
/// <summary>
/// 经营面积
/// </summary>
public
decimal
?
BuiltUpArea
{
get
;
set
;
}
/// <summary>
/// 经营面积
/// </summary>
public
decimal
?
EndBuiltUpArea
{
get
;
set
;
}
/// <summary>
/// 首店数量
/// </summary>
public
string
FirstShopNum
{
get
;
set
;
}
/// <summary>
/// 首发政策
/// </summary>
public
string
StartingInfo
{
get
;
set
;
}
/// <summary>
/// 类型(1-载体,2-楼宇)
/// </summary>
public
int
BuildingCarrierType
{
get
;
set
;
}
/// <summary>
/// 资产权属
/// </summary>
public
string
Ascription
{
get
;
set
;
}
/// <summary>
/// 物业构成
/// </summary>
public
string
PropertyComposition
{
get
;
set
;
}
/// <summary>
/// 项目发展及定位
/// </summary>
public
string
Location
{
get
;
set
;
}
/// <summary>
/// 人流量参数
/// </summary>
public
string
VisitorsFlowrate
{
get
;
set
;
}
/// <summary>
/// 水电气及配套
/// </summary>
public
string
SupportingFacilities
{
get
;
set
;
}
/// <summary>
/// 管理公司及管理费
/// </summary>
public
string
ManagementCompany
{
get
;
set
;
}
/// <summary>
/// 目标招商业态及品牌需求
/// </summary>
public
string
BrandDemand
{
get
;
set
;
}
/// <summary>
/// 项目类型
/// </summary>
public
int
CategoryId
{
get
;
set
;
}
/// <summary>
/// 状态0-待审核,1- 审核通过,2-审核失败
/// </summary>
public
int
ApplyForStatus
{
get
;
set
;
}
/// <summary>
/// 拒绝备注
/// </summary>
public
string
RejectRemark
{
get
;
set
;
}
}
}
Mall.Model/Entity/TradePavilion/RB_CarrierEnterpriseMetroApplyFor.cs
0 → 100644
View file @
c30aafee
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
using
Mall.Common.Enum
;
using
VT.FW.DB
;
namespace
Mall.Model.Entity.TradePavilion
{
/// <summary>
/// 【商载通】 载体地铁申请实体表
/// </summary>
[
Serializable
]
[
DB
(
ConnectionName
=
"DefaultConnection"
)]
public
class
RB_CarrierEnterpriseMetroApplyFor
{
/// <summary>
/// 编号
/// </summary>
public
int
ID
{
get
;
set
;
}
/// <summary>
/// 地铁线路
/// </summary>
public
string
MetroNum
{
get
;
set
;
}
/// <summary>
/// 站点名称
/// </summary>
public
string
MetroName
{
get
;
set
;
}
/// <summary>
/// 距离
/// </summary>
public
string
Distance
{
get
;
set
;
}
/// <summary>
/// 载体id
/// </summary>
public
int
CarrierId
{
get
;
set
;
}
/// <summary>
/// 商户号id
/// </summary>
public
int
TenantId
{
get
;
set
;
}
/// <summary>
/// 小程序id
/// </summary>
public
int
MallBaseId
{
get
;
set
;
}
/// <summary>
/// 删除状态
/// </summary>
public
DateStateEnum
Status
{
get
;
set
;
}
}
}
Mall.Model/Extend/TradePavilion/RB_BrandEnterpriseApplyFor_Extend.cs
0 → 100644
View file @
c30aafee
using
Mall.Model.Entity.TradePavilion
;
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
using
VT.FW.DB
;
namespace
Mall.Model.Extend.TradePavilion
{
/// <summary>
///【商载通】 品牌/企业申请扩展表
/// </summary>
[
Serializable
]
[
DB
(
ConnectionName
=
"DefaultConnection"
)]
public
class
RB_BrandEnterpriseApplyFor_Extend
:
RB_BrandEnterpriseApplyFor
{
/// <summary>
/// 分类名称
/// </summary>
public
string
ClassName
{
get
;
set
;
}
public
List
<
string
>
BannerList
{
get
;
set
;
}
public
string
ProjectName
{
get
;
set
;
}
/// <summary>
/// 收藏id
/// </summary>
public
int
CollectId
{
get
;
set
;
}
/// <summary>
/// 客户群体
/// </summary>
public
List
<
string
>
CustomerTypeInfo
{
get
;
set
;
}
/// <summary>
/// 开始时间
/// </summary>
public
string
StartTime
{
get
;
set
;
}
/// <summary>
/// 结束时间
/// </summary>
public
string
EndTime
{
get
;
set
;
}
}
}
Mall.Model/Extend/TradePavilion/RB_Brand_Enterprise_Extend.cs
View file @
c30aafee
using
Mall.Model.Entity.TradePavilion
;
using
NPOI.SS.Formula.Functions
;
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
...
...
@@ -8,7 +9,7 @@ namespace Mall.Model.Extend.TradePavilion
/// <summary>
/// 【商载通】 品牌、企业服务 扩展 实体表
/// </summary>
public
class
RB_Brand_Enterprise_Extend
:
RB_Brand_Enterprise
public
class
RB_Brand_Enterprise_Extend
:
RB_Brand_Enterprise
{
/// <summary>
/// 分类名称
...
...
@@ -19,5 +20,10 @@ namespace Mall.Model.Extend.TradePavilion
/// 认证用户
/// </summary>
public
string
AuthUserName
{
get
;
set
;
}
/// <summary>
/// Banner图片列表
/// </summary>
public
List
<
string
>
BannerList
{
get
;
set
;
}
}
}
Mall.Model/Extend/TradePavilion/RB_Building_Carrier_Extend.cs
View file @
c30aafee
using
Mall.Model.Entity.TradePavilion
;
using
System
;
using
System.Collections.Generic
;
using
VT.FW.DB
;
namespace
Mall.Model.Extend.TradePavilion
{
/// <summary>
/// 【商载通】楼宇、载体扩展
实体
类
/// 【商载通】楼宇、载体扩展
扩展
类
/// </summary>
[
Serializable
]
[
DB
(
ConnectionName
=
"DefaultConnection"
)]
public
class
RB_Building_Carrier_Extend
:
RB_Building_Carrier
{
/// <summary>
...
...
@@ -33,6 +37,16 @@ namespace Mall.Model.Extend.TradePavilion
/// </summary>
public
int
MetroNum
{
get
;
set
;
}
/// <summary>
/// BannerList
/// </summary>
public
List
<
string
>
BannerList
{
get
;
set
;
}
/// <summary>
/// 荣誉图片
/// </summary>
public
List
<
string
>
HonorList
{
get
;
set
;
}
/// <summary>
/// 地铁信息
/// </summary>
...
...
Mall.Model/Extend/TradePavilion/RB_CarrierEnterpriseApplyFor_Extend.cs
0 → 100644
View file @
c30aafee
using
Mall.Model.Entity.TradePavilion
;
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
using
VT.FW.DB
;
namespace
Mall.Model.Extend.TradePavilion
{
/// <summary>
///【商载通】 载体、楼宇申请扩展表
/// </summary>
[
Serializable
]
[
DB
(
ConnectionName
=
"DefaultConnection"
)]
public
class
RB_CarrierEnterpriseApplyFor_Extend
:
RB_CarrierEnterpriseApplyFor
{
/// <summary>
/// 地铁信息
/// </summary>
public
List
<
RB_CarrierEnterpriseMetroApplyFor_Extend
>
CarrierMetroList
{
get
;
set
;
}
/// <summary>
/// 介绍图
/// </summary>
public
List
<
string
>
BannerList
{
get
;
set
;
}
/// <summary>
/// 载体荣誉图
/// </summary>
public
List
<
string
>
HonorList
{
get
;
set
;
}
/// <summary>
/// 排序
/// </summary>
public
int
OrderBy
{
get
;
set
;
}
/// <summary>
/// 开业时间
/// </summary>
public
string
StartOpenTime
{
get
;
set
;
}
/// <summary>
/// 开业时间
/// </summary>
public
string
EndOpenTime
{
get
;
set
;
}
/// <summary>
/// 地铁线路
/// </summary>
public
int
MetroNum
{
get
;
set
;
}
/// <summary>
/// 站点名称
/// </summary>
public
string
MetroName
{
get
;
set
;
}
/// <summary>
/// 收藏id
/// </summary>
public
int
CollectId
{
get
;
set
;
}
/// <summary>
/// 导出选中的字段
/// </summary>
public
List
<
int
>
ExcelEnumIds
{
get
;
set
;
}
/// <summary>
/// 项目类型
/// </summary>
public
string
ProjectName
{
get
;
set
;
}
/// <summary>
/// 首店数量
/// </summary>
public
List
<
FirstShopNumModel
>
FirstShopNumList
{
get
;
set
;
}
}
}
Mall.Model/Extend/TradePavilion/RB_CarrierEnterpriseMetroApplyFor_Extend.cs
0 → 100644
View file @
c30aafee
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
using
Mall.Model.Entity.TradePavilion
;
using
VT.FW.DB
;
namespace
Mall.Model.Extend.TradePavilion
{
/// <summary>
/// 【商载通】 载体地铁申请扩展表
/// </summary>
[
Serializable
]
[
DB
(
ConnectionName
=
"DefaultConnection"
)]
public
class
RB_CarrierEnterpriseMetroApplyFor_Extend
:
RB_CarrierEnterpriseMetroApplyFor
{
/// <summary>
/// 载体ids
/// </summary>
public
string
CarrierIds
{
get
;
set
;
}
}
}
Mall.Module.TradePavilion/BuildingCarrierModule.cs
View file @
c30aafee
using
Mall.Common.Enum
;
using
Mall.CacheManager.AppletWeChat
;
using
Mall.CacheManager.DataStatistic
;
using
Mall.Common.Enum
;
using
Mall.Model.Extend.TradePavilion
;
using
Mall.Module.User
;
using
Mall.Repository.TradePavilion
;
using
MongoDB.Bson.IO
;
using
Newtonsoft.Json.Linq
;
using
RabbitMQ.Client.Framing.Impl
;
using
System
;
using
System.Collections.Generic
;
...
...
@@ -13,7 +18,7 @@ namespace Mall.Module.TradePavilion
/// <summary>
/// 宜宾商载通新方法处理类
/// </summary>
public
class
BuildingCarrierModule
public
partial
class
BuildingCarrierModule
{
/// <summary>
/// 【商载通】楼宇、载体仓储层
...
...
@@ -33,6 +38,12 @@ namespace Mall.Module.TradePavilion
/// </summary>
private
readonly
RB_BrandClassRepository
brandClassRepository
=
new
RB_BrandClassRepository
();
/// <summary>
/// 品牌分类信息仓储层对象
/// </summary>
private
readonly
RB_Visit_LogRepository
visit_LogRepository
=
new
RB_Visit_LogRepository
();
/// <summary>
/// 获取载体、楼宇分页列表
/// </summary>
...
...
@@ -54,6 +65,11 @@ namespace Mall.Module.TradePavilion
}
foreach
(
var
item
in
list
)
{
item
.
BannerList
=
new
List
<
string
>();
if
(!
string
.
IsNullOrWhiteSpace
(
item
.
Banner
))
{
item
.
BannerList
=
Newtonsoft
.
Json
.
JsonConvert
.
DeserializeObject
<
List
<
string
>>(
item
.
Banner
);
}
item
.
BuildingCarriermetroList
=
metroList
.
Where
(
qitem
=>
qitem
.
CarrierId
==
item
.
ID
)?.
ToList
()
??
new
List
<
RB_Building_Carriermetro_Extend
>();
}
}
...
...
@@ -164,18 +180,58 @@ namespace Mall.Module.TradePavilion
return
flag
;
}
/// <summary>
/// 验证载体名称
/// </summary>
/// <param name="carrierName"></param>
/// <param name="mallBaseId"></param>
/// <returns></returns>
public
bool
ValidateBuildingCarrierName
(
string
carrierName
,
int
mallBaseId
)
{
List
<
WhereHelper
>
wheres
=
new
List
<
WhereHelper
>()
{
new
WhereHelper
(){
FiledName
=
nameof
(
RB_Building_Carrier_Extend
.
CarrierName
),
FiledValue
=
carrierName
,
OperatorEnum
=
OperatorEnum
.
Equal
},
new
WhereHelper
(){
FiledName
=
nameof
(
RB_Building_Carrier_Extend
.
MallBaseId
),
FiledValue
=
mallBaseId
,
OperatorEnum
=
OperatorEnum
.
Equal
}
};
return
building_CarrierRepository
.
Exists
(
wheres
);
}
/// <summary>
/// 根据编号获取载体、楼宇详情
/// </summary>
/// <param name="ID"></param>
/// <returns></returns>
public
RB_Building_Carrier_Extend
GetBuildingCarrierModule
(
int
ID
)
public
RB_Building_Carrier_Extend
GetBuildingCarrierModule
(
int
ID
,
bool
isVisit
=
false
)
{
var
extModel
=
building_CarrierRepository
.
GetEntity
<
RB_Building_Carrier_Extend
>(
ID
);
if
(
extModel
!=
null
&&
extModel
.
ID
>
0
)
{
var
bcMetroList
=
building_CarriermetroRepository
.
GetBuildingCarrierMetroListRepository
(
new
RB_Building_Carriermetro_Extend
()
{
CarrierId
=
extModel
.
ID
});
extModel
.
BuildingCarriermetroList
=
bcMetroList
??
new
List
<
RB_Building_Carriermetro_Extend
>();
extModel
.
BannerList
=
new
List
<
string
>();
if
(!
string
.
IsNullOrWhiteSpace
(
extModel
.
Banner
))
{
extModel
.
BannerList
=
Newtonsoft
.
Json
.
JsonConvert
.
DeserializeObject
<
List
<
string
>>(
extModel
.
Banner
);
}
extModel
.
HonorList
=
new
List
<
string
>();
if
(!
string
.
IsNullOrWhiteSpace
(
extModel
.
Honor
))
{
extModel
.
HonorList
=
Newtonsoft
.
Json
.
JsonConvert
.
DeserializeObject
<
List
<
string
>>(
extModel
.
Honor
);
}
}
if
((
extModel
?.
ID
??
0
)
>
0
&&
isVisit
)
{
System
.
Threading
.
Tasks
.
Task
.
Run
(()
=>
visit_LogRepository
.
AddVisitLog
(
extModel
.
TenantId
,
extModel
.
MallBaseId
,
extModel
.
ID
,
extModel
.
BuildingCarrierType
));
}
return
extModel
;
}
...
...
@@ -191,6 +247,17 @@ namespace Mall.Module.TradePavilion
public
List
<
RB_Brand_Enterprise_Extend
>
GetBrandEnterprisePageModule
(
int
pageIndex
,
int
pageSize
,
out
long
rowsCount
,
RB_Brand_Enterprise_Extend
query
)
{
var
list
=
brand_EnterpriseRepository
.
GetBrandEnterprisePageRepository
(
pageIndex
,
pageSize
,
out
rowsCount
,
query
);
if
(
list
!=
null
&&
list
.
Any
())
{
foreach
(
var
item
in
list
)
{
item
.
BannerList
=
new
List
<
string
>();
if
(!
string
.
IsNullOrWhiteSpace
(
item
.
Banner
))
{
item
.
BannerList
=
Newtonsoft
.
Json
.
JsonConvert
.
DeserializeObject
<
List
<
string
>>(
item
.
Banner
);
}
}
}
return
list
;
}
...
...
@@ -253,12 +320,21 @@ namespace Mall.Module.TradePavilion
/// </summary>
/// <param name="ID"></param>
/// <returns></returns>
public
RB_Brand_Enterprise_Extend
GetBrandEnterpriseModule
(
int
ID
)
public
RB_Brand_Enterprise_Extend
GetBrandEnterpriseModule
(
int
ID
,
bool
isVisit
=
false
)
{
var
extModel
=
brand_EnterpriseRepository
.
GetEntity
<
RB_Brand_Enterprise_Extend
>(
ID
);
if
(
extModel
!=
null
&&
extModel
.
CategoryId
>
0
)
{
extModel
.
CategoryName
=
brandClassRepository
.
GetEntity
(
extModel
.
CategoryId
)?.
ClassName
??
""
;
extModel
.
BannerList
=
new
List
<
string
>();
if
(!
string
.
IsNullOrWhiteSpace
(
extModel
.
Banner
))
{
extModel
.
BannerList
=
Newtonsoft
.
Json
.
JsonConvert
.
DeserializeObject
<
List
<
string
>>(
extModel
.
Banner
);
}
}
if
((
extModel
?.
ID
??
0
)
>
0
&&
isVisit
)
{
System
.
Threading
.
Tasks
.
Task
.
Run
(()
=>
visit_LogRepository
.
AddVisitLog
(
extModel
.
TenantId
,
extModel
.
MallBaseId
,
extModel
.
ID
,
extModel
.
BrandEnterpriseType
==
1
?
3
:
4
));
}
return
extModel
;
}
...
...
Mall.Module.TradePavilion/BuildingCarrierModule_V2.cs
0 → 100644
View file @
c30aafee
This diff is collapsed.
Click to expand it.
Mall.Repository/TradePavilion/RB_BrandEnterpriseApplyForRepository.cs
0 → 100644
View file @
c30aafee
using
Mall.Common.Enum
;
using
Mall.Model.Entity.TradePavilion
;
using
Mall.Model.Extend.TradePavilion
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
VT.FW.DB.Dapper
;
namespace
Mall.Repository.TradePavilion
{
/// <summary>
/// 【商载通】 品牌/企业申请仓储类
/// </summary>
public
class
RB_BrandEnterpriseApplyForRepository
:
BaseRepository
<
RB_BrandEnterpriseApplyFor
>
{
/// <summary>
/// 表名称
/// </summary>
public
string
TableName
{
get
{
return
nameof
(
RB_BrandEnterpriseApplyFor
);
}
}
/// <summary>
/// 品牌/企业申请信息列表
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public
List
<
RB_BrandEnterpriseApplyFor_Extend
>
GetBrandEnterpriseApplyForPageList
(
int
pageIndex
,
int
pageSize
,
out
long
rowCount
,
RB_BrandEnterpriseApplyFor_Extend
query
)
{
DynamicParameters
parameters
=
new
DynamicParameters
();
StringBuilder
builder
=
new
StringBuilder
();
builder
.
Append
(
$" SELECT a.*,b.ClassName from
{
TableName
}
as a LEFT JOIN rb_brandclass as b on a.BrandClassId=b.ID WHERE 1=1 "
);
builder
.
AppendFormat
(
" AND a.{0}={1} "
,
nameof
(
RB_BrandEnterpriseApplyFor_Extend
.
Status
),
(
int
)
DateStateEnum
.
Normal
);
builder
.
AppendFormat
(
" AND b.{0}={1} "
,
nameof
(
RB_BrandEnterpriseApplyFor_Extend
.
Status
),
(
int
)
DateStateEnum
.
Normal
);
if
(
query
!=
null
)
{
if
(
query
.
TenantId
>
0
)
{
builder
.
Append
(
$" AND A.
{
nameof
(
RB_BrandEnterpriseApplyFor_Extend
.
TenantId
)}
=
{
query
.
TenantId
}
"
);
}
if
(
query
.
MallBaseId
>
0
)
{
builder
.
Append
(
$" AND A.
{
nameof
(
RB_BrandEnterpriseApplyFor_Extend
.
MallBaseId
)}
=
{
query
.
MallBaseId
}
"
);
}
if
(
query
.
ID
>
0
)
{
builder
.
Append
(
$" AND A.
{
nameof
(
RB_BrandEnterpriseApplyFor_Extend
.
ID
)}
=
{
query
.
ID
}
"
);
}
if
(
query
.
BrandEnterpriseType
>
0
)
{
builder
.
Append
(
$" AND A.
{
nameof
(
RB_BrandEnterpriseApplyFor_Extend
.
BrandEnterpriseType
)}
=
{
query
.
BrandEnterpriseType
}
"
);
}
if
(
query
.
ProjectType
.
HasValue
&&
query
.
ProjectType
>
0
)
{
builder
.
Append
(
$" AND A.
{
nameof
(
RB_BrandEnterpriseApplyFor_Extend
.
ProjectType
)}
=
{(
int
)
query
.
ProjectType
}
"
);
}
if
(!
string
.
IsNullOrEmpty
(
query
.
BrandName
))
{
builder
.
AppendFormat
(
" AND a.{0} LIKE @Name "
,
nameof
(
RB_BrandEnterpriseApplyFor_Extend
.
BrandName
));
parameters
.
Add
(
"Name"
,
"%"
+
query
.
BrandName
.
Trim
()
+
"%"
);
}
if
(
query
.
BrandClassId
>
0
)
{
builder
.
AppendFormat
(
" AND a.{0}={1} "
,
nameof
(
RB_BrandEnterpriseApplyFor_Extend
.
BrandClassId
),
query
.
BrandClassId
);
}
if
(
query
.
ApplyForStatus
>
-
1
)
{
builder
.
AppendFormat
(
" AND a.{0}={1} "
,
nameof
(
RB_BrandEnterpriseApplyFor_Extend
.
ApplyForStatus
),
query
.
ApplyForStatus
);
}
if
(!
string
.
IsNullOrEmpty
(
query
.
StartTime
))
{
builder
.
Append
(
$" AND a.
{
nameof
(
RB_BrandEnterpriseApplyFor_Extend
.
CreateDate
)}
>= '
{
query
.
StartTime
}
'"
);
}
if
(!
string
.
IsNullOrEmpty
(
query
.
EndTime
))
{
builder
.
Append
(
$" AND a.
{
nameof
(
RB_BrandEnterpriseApplyFor_Extend
.
CreateDate
)}
<= '
{
query
.
EndTime
}
23:59:59'"
);
}
}
return
GetPage
<
RB_BrandEnterpriseApplyFor_Extend
>(
pageIndex
,
pageSize
,
out
rowCount
,
builder
.
ToString
(),
parameters
).
ToList
();
}
/// <summary>
/// 品牌/企业申请信息列表
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public
List
<
RB_BrandEnterpriseApplyFor_Extend
>
GetCarrierEnterpriseApplyForRepository
(
RB_BrandEnterpriseApplyFor_Extend
query
)
{
DynamicParameters
parameters
=
new
DynamicParameters
();
StringBuilder
builder
=
new
StringBuilder
();
builder
.
Append
(
$" SELECT a.*,b.ClassName from
{
TableName
}
as a LEFT JOIN rb_brandclass as b on a.BrandClassId=b.ID WHERE 1=1 "
);
builder
.
AppendFormat
(
" AND a.{0}={1} "
,
nameof
(
RB_BrandEnterpriseApplyFor_Extend
.
Status
),
(
int
)
DateStateEnum
.
Normal
);
builder
.
AppendFormat
(
" AND b.{0}={1} "
,
nameof
(
RB_BrandEnterpriseApplyFor_Extend
.
Status
),
(
int
)
DateStateEnum
.
Normal
);
if
(
query
!=
null
)
{
if
(
query
.
TenantId
>
0
)
{
builder
.
Append
(
$" AND A.
{
nameof
(
RB_BrandEnterpriseApplyFor_Extend
.
TenantId
)}
=
{
query
.
TenantId
}
"
);
}
if
(
query
.
MallBaseId
>
0
)
{
builder
.
Append
(
$" AND A.
{
nameof
(
RB_BrandEnterpriseApplyFor_Extend
.
MallBaseId
)}
=
{
query
.
MallBaseId
}
"
);
}
if
(
query
.
ID
>
0
)
{
builder
.
Append
(
$" AND A.
{
nameof
(
RB_BrandEnterpriseApplyFor_Extend
.
ID
)}
=
{
query
.
ID
}
"
);
}
if
(
query
.
BrandEnterpriseType
>
0
)
{
builder
.
Append
(
$" AND A.
{
nameof
(
RB_BrandEnterpriseApplyFor_Extend
.
BrandEnterpriseType
)}
=
{
query
.
BrandEnterpriseType
}
"
);
}
if
(
query
.
ProjectType
.
HasValue
&&
query
.
ProjectType
>
0
)
{
builder
.
Append
(
$" AND A.
{
nameof
(
RB_BrandEnterpriseApplyFor_Extend
.
ProjectType
)}
=
{(
int
)
query
.
ProjectType
}
"
);
}
if
(!
string
.
IsNullOrEmpty
(
query
.
BrandName
))
{
builder
.
AppendFormat
(
" AND a.{0} LIKE @Name "
,
nameof
(
RB_BrandEnterpriseApplyFor_Extend
.
BrandName
));
parameters
.
Add
(
"Name"
,
"%"
+
query
.
BrandName
.
Trim
()
+
"%"
);
}
if
(
query
.
BrandClassId
>
0
)
{
builder
.
AppendFormat
(
" AND a.{0}={1} "
,
nameof
(
RB_BrandEnterpriseApplyFor_Extend
.
BrandClassId
),
query
.
BrandClassId
);
}
}
return
Get
<
RB_BrandEnterpriseApplyFor_Extend
>(
builder
.
ToString
(),
parameters
).
ToList
();
}
}
}
Mall.Repository/TradePavilion/RB_CarrierEnterpriseApplyForRepository.cs
0 → 100644
View file @
c30aafee
using
Mall.Model.Entity.TradePavilion
;
using
Mall.Model.Extend.TradePavilion
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
namespace
Mall.Repository.TradePavilion
{
/// <summary>
/// 【商载通】 载体、楼宇申请仓储类
/// </summary>
public
class
RB_CarrierEnterpriseApplyForRepository
:
BaseRepository
<
RB_CarrierEnterpriseApplyFor
>
{
/// <summary>
/// 表名称
/// </summary>
public
string
TableName
{
get
{
return
nameof
(
RB_CarrierEnterpriseApplyFor
);
}
}
/// <summary>
/// 载体信息列表
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public
List
<
RB_CarrierEnterpriseApplyFor_Extend
>
GetCarrierEnterpriseList
(
RB_CarrierEnterpriseApplyFor_Extend
query
)
{
StringBuilder
builder
=
new
StringBuilder
();
builder
.
Append
(
$" SELECT * FROM
{
TableName
}
WHERE
{
nameof
(
RB_CarrierEnterpriseApplyFor_Extend
.
Status
)}
=0 "
);
if
(
query
!=
null
)
{
if
(
query
.
TenantId
>
0
)
{
builder
.
Append
(
$" AND
{
nameof
(
RB_CarrierEnterpriseApplyFor_Extend
.
TenantId
)}
=
{
query
.
TenantId
}
"
);
}
if
(
query
.
MallBaseId
>
0
)
{
builder
.
Append
(
$" AND
{
nameof
(
RB_CarrierEnterpriseApplyFor_Extend
.
MallBaseId
)}
=
{
query
.
MallBaseId
}
"
);
}
if
(
query
.
ID
>
0
)
{
builder
.
Append
(
$" AND
{
nameof
(
RB_CarrierEnterpriseApplyFor_Extend
.
ID
)}
=
{
query
.
ID
}
"
);
}
if
(
query
.
CompanyId
>
0
)
{
builder
.
Append
(
$" AND
{
nameof
(
RB_CarrierEnterpriseApplyFor_Extend
.
CompanyId
)}
=
{
query
.
CompanyId
}
"
);
}
if
(
query
.
CategoryId
>
0
)
{
builder
.
Append
(
$" AND
{
nameof
(
RB_CarrierEnterpriseApplyFor_Extend
.
CategoryId
)}
=
{
query
.
CategoryId
}
"
);
}
if
(
query
.
ProjectType
.
HasValue
&&
query
.
ProjectType
>
0
)
{
builder
.
Append
(
$" AND
{
nameof
(
RB_CarrierEnterpriseApplyFor_Extend
.
ProjectType
)}
=
{(
int
)
query
.
ProjectType
}
"
);
}
if
(!
string
.
IsNullOrWhiteSpace
(
query
.
CarrierName
))
{
builder
.
Append
(
$" AND
{
nameof
(
RB_CarrierEnterpriseApplyFor_Extend
.
CarrierName
)}
like '%
{
query
.
CarrierName
}
%'"
);
}
if
(!
string
.
IsNullOrWhiteSpace
(
query
.
Developers
))
{
builder
.
Append
(
$" AND
{
nameof
(
RB_CarrierEnterpriseApplyFor_Extend
.
Developers
)}
like '%
{
query
.
Developers
}
%'"
);
}
if
(!
string
.
IsNullOrWhiteSpace
(
query
.
StartOpenTime
))
{
builder
.
Append
(
$" and DATE_FORMAT(
{
nameof
(
RB_CarrierEnterpriseApplyFor_Extend
.
OpenTime
)}
,'%Y-%m-%d' )>=DATE_FORMAT('
{
query
.
StartOpenTime
}
','%Y-%m-%d' ) "
);
}
if
(!
string
.
IsNullOrWhiteSpace
(
query
.
EndOpenTime
))
{
builder
.
Append
(
$" and DATE_FORMAT(
{
nameof
(
RB_CarrierEnterpriseApplyFor_Extend
.
OpenTime
)}
,'%Y-%m-%d' )<= DATE_FORMAT('
{
query
.
EndOpenTime
}
','%Y-%m-%d' ) "
);
}
if
(
query
.
MetroNum
>
0
||
!
string
.
IsNullOrWhiteSpace
(
query
.
MetroName
))
{
builder
.
Append
(
$" AND
{
nameof
(
RB_CarrierEnterpriseApplyFor_Extend
.
ID
)}
in (SELECT CarrierId from rb_carriermetro where `Status`=0 "
);
if
(
query
.
MetroNum
>
0
)
{
builder
.
Append
(
$" AND
{
nameof
(
RB_CarrierEnterpriseApplyFor_Extend
.
MetroNum
)}
=
{
query
.
MetroNum
}
"
);
}
if
(!
string
.
IsNullOrWhiteSpace
(
query
.
MetroName
))
{
builder
.
Append
(
$" AND
{
nameof
(
RB_CarrierEnterpriseApplyFor_Extend
.
MetroName
)}
like '%
{
query
.
MetroName
}
%'"
);
}
builder
.
Append
(
" )"
);
}
if
(
query
.
OrderBy
==
1
)
{
builder
.
Append
(
$" order by
{
nameof
(
RB_CarrierEnterpriseApplyFor_Extend
.
CreateDate
)}
desc"
);
}
else
if
(
query
.
OrderBy
==
2
)
{
builder
.
Append
(
$" order by
{
nameof
(
RB_CarrierEnterpriseApplyFor_Extend
.
OpenTime
)}
desc"
);
}
}
return
Get
<
RB_CarrierEnterpriseApplyFor_Extend
>(
builder
.
ToString
()).
ToList
();
}
}
}
Mall.Repository/TradePavilion/RB_CarrierEnterpriseMetroApplyForRepository.cs
0 → 100644
View file @
c30aafee
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
Mall.Model.Entity.TradePavilion
;
using
Mall.Model.Extend.TradePavilion
;
namespace
Mall.Repository.TradePavilion
{
/// <summary>
/// 【商载通】载体地铁申请信息仓储层
/// </summary>
public
class
RB_CarrierEnterpriseMetroApplyForRepository
:
BaseRepository
<
RB_CarrierEnterpriseMetroApplyFor
>
{
/// <summary>
/// 表名称
/// </summary>
public
string
TableName
{
get
{
return
nameof
(
RB_CarrierEnterpriseMetroApplyFor
);
}
}
/// <summary>
/// 载体信息列表
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public
List
<
RB_CarrierEnterpriseMetroApplyFor_Extend
>
GetCarrierMetroList
(
RB_CarrierEnterpriseMetroApplyFor_Extend
query
)
{
StringBuilder
builder
=
new
StringBuilder
();
builder
.
Append
(
$" SELECT * FROM
{
TableName
}
WHERE
{
nameof
(
RB_CarrierEnterpriseMetroApplyFor_Extend
.
Status
)}
=0 "
);
if
(
query
!=
null
)
{
if
(
query
.
TenantId
>
0
)
{
builder
.
Append
(
$" AND
{
nameof
(
RB_CarrierEnterpriseMetroApplyFor_Extend
.
TenantId
)}
=
{
query
.
TenantId
}
"
);
}
if
(
query
.
MallBaseId
>
0
)
{
builder
.
Append
(
$" AND
{
nameof
(
RB_CarrierEnterpriseMetroApplyFor_Extend
.
MallBaseId
)}
=
{
query
.
MallBaseId
}
"
);
}
if
(
query
.
CarrierId
>
0
)
{
builder
.
Append
(
$" AND
{
nameof
(
RB_CarrierEnterpriseMetroApplyFor_Extend
.
CarrierId
)}
=
{
query
.
CarrierId
}
"
);
}
if
(!
string
.
IsNullOrWhiteSpace
(
query
.
MetroNum
))
{
builder
.
Append
(
$" AND
{
nameof
(
RB_CarrierEnterpriseMetroApplyFor_Extend
.
MetroNum
)}
like '%
{
query
.
MetroNum
}
%'"
);
}
if
(!
string
.
IsNullOrWhiteSpace
(
query
.
MetroName
))
{
builder
.
Append
(
$" AND
{
nameof
(
RB_CarrierEnterpriseMetroApplyFor_Extend
.
MetroName
)}
like '%
{
query
.
MetroName
}
%'"
);
}
if
(!
string
.
IsNullOrWhiteSpace
(
query
.
CarrierIds
))
{
builder
.
Append
(
$" AND
{
nameof
(
RB_CarrierEnterpriseMetroApplyFor_Extend
.
CarrierId
)}
in(
{
query
.
CarrierIds
}
) "
);
}
}
return
Get
<
RB_CarrierEnterpriseMetroApplyFor_Extend
>(
builder
.
ToString
()).
ToList
();
}
}
}
Mall.Repository/TradePavilion/RB_Visit_LogRepository.cs
View file @
c30aafee
...
...
@@ -60,7 +60,7 @@ namespace Mall.Repository.TradePavilion
/// <param name="ProductID">产品id</param>
/// <param name="ProductType">1-访问载体,2-访问楼宇,3-访问品牌,4-访问企业</param>
/// <returns></returns>
public
bool
AddVisit
_
Log
(
int
TenantId
,
int
MallBaseId
,
int
ProductID
,
int
ProductType
)
public
bool
AddVisitLog
(
int
TenantId
,
int
MallBaseId
,
int
ProductID
,
int
ProductType
)
{
RB_Visit_Log
model
=
new
RB_Visit_Log
{
...
...
Mall.WebApi/Controllers/TradePavilion/AppletTradeController.cs
View file @
c30aafee
This diff is collapsed.
Click to expand it.
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