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
574159c3
Commit
574159c3
authored
May 27, 2020
by
liudong1993
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
赞羊订单导入
parent
9d70489b
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
596 additions
and
3 deletions
+596
-3
GoodsOrderBetchDataHelper.cs
Mall.DataHelper/Import/GoodsOrderBetchDataHelper.cs
+159
-0
RB_Goods_Extend.cs
Mall.Model/Extend/Product/RB_Goods_Extend.cs
+4
-0
RB_Goods_Order_Extend.cs
Mall.Model/Extend/Product/RB_Goods_Order_Extend.cs
+49
-0
RB_Member_User_Extend.cs
Mall.Model/Extend/User/RB_Member_User_Extend.cs
+5
-0
OrderModule.cs
Mall.Module.Product/OrderModule.cs
+284
-1
ProductModule.cs
Mall.Module.Product/ProductModule.cs
+4
-0
RB_GoodsRepository.cs
Mall.Repository/Product/RB_GoodsRepository.cs
+53
-0
RB_Member_UserRepository.cs
Mall.Repository/User/RB_Member_UserRepository.cs
+4
-0
FileController.cs
Mall.WebApi/Controllers/File/FileController.cs
+3
-2
OrderController.cs
Mall.WebApi/Controllers/Product/OrderController.cs
+31
-0
No files found.
Mall.DataHelper/Import/GoodsOrderBetchDataHelper.cs
0 → 100644
View file @
574159c3
using
Mall.Common
;
using
Mall.Model.Extend.Product
;
using
System
;
using
System.Collections.Generic
;
using
System.Data
;
using
System.Linq
;
namespace
Mall.DataHelper
{
/// <summary>
/// 订单导入
/// </summary>
public
class
GoodsOrderBetchDataHelper
{
/// <summary>
/// 导入模板
/// </summary>
/// <param name="fileName"></param>
/// <returns></returns>
public
static
List
<
RB_Goods_Order_Extend
>
ImportClaimData
(
string
fileName
)
{
List
<
RB_Goods_Order_Extend
>
list
=
new
List
<
RB_Goods_Order_Extend
>();
var
dt
=
new
DataTable
();
if
(
fileName
.
Contains
(
".csv"
))
{
dt
=
new
CSVHelper
().
GetStream
(
fileName
);
}
else
{
dt
=
Mall
.
Common
.
Plugin
.
NPOIHelper
.
ImportExceltoDt
(
fileName
,
0
,
0
,
true
);
}
if
(
dt
!=
null
&&
dt
.
Rows
.
Count
>
0
)
{
foreach
(
DataRow
dr
in
dt
.
Rows
)
{
list
.
Add
(
DataRowToModel
(
dr
));
}
}
return
list
;
}
/// <summary>
/// DataRow转实体
/// </summary>
/// <param name="dr"></param>
/// <returns></returns>
public
static
RB_Goods_Order_Extend
DataRowToModel
(
DataRow
dr
)
{
RB_Goods_Order_Extend
model
=
new
RB_Goods_Order_Extend
();
if
(
dr
!=
null
)
{
if
(
dr
.
Table
.
Columns
.
Contains
(
"所属平台"
)
&&
!
string
.
IsNullOrEmpty
(
dr
[
"所属平台"
].
ToString
().
Trim
()))
{
model
.
PlatformNameImport
=
dr
[
"所属平台"
].
ToString
();
}
if
(
dr
.
Table
.
Columns
.
Contains
(
"订单号"
)
&&
!
string
.
IsNullOrEmpty
(
dr
[
"订单号"
].
ToString
().
Trim
()))
{
model
.
OrderNo
=
dr
[
"订单号"
].
ToString
();
}
if
(
dr
.
Table
.
Columns
.
Contains
(
"商户单号"
)
&&
!
string
.
IsNullOrEmpty
(
dr
[
"商户单号"
].
ToString
().
Trim
()))
{
model
.
MerchantsNo
=
dr
[
"商户单号"
].
ToString
();
}
if
(
dr
.
Table
.
Columns
.
Contains
(
"下单用户"
)
&&
!
string
.
IsNullOrEmpty
(
dr
[
"下单用户"
].
ToString
().
Trim
()))
{
model
.
UserName
=
dr
[
"下单用户"
].
ToString
();
}
if
(
dr
.
Table
.
Columns
.
Contains
(
"商品名"
)
&&
!
string
.
IsNullOrEmpty
(
dr
[
"商品名"
].
ToString
().
Trim
()))
{
model
.
GoodsName
=
dr
[
"商品名"
].
ToString
();
}
if
(
dr
.
Table
.
Columns
.
Contains
(
"规格"
)
&&
!
string
.
IsNullOrEmpty
(
dr
[
"规格"
].
ToString
().
Trim
()))
{
model
.
SpecificationImport
=
dr
[
"规格"
].
ToString
();
}
if
(
dr
.
Table
.
Columns
.
Contains
(
"数量"
)
&&
!
string
.
IsNullOrEmpty
(
dr
[
"数量"
].
ToString
().
Trim
()))
{
model
.
OrderNum
=
Convert
.
ToInt32
(
dr
[
"数量"
].
ToString
());
}
if
(
dr
.
Table
.
Columns
.
Contains
(
"货号"
)
&&
!
string
.
IsNullOrEmpty
(
dr
[
"货号"
].
ToString
().
Trim
()))
{
model
.
ProductCode
=
dr
[
"货号"
].
ToString
();
}
if
(
dr
.
Table
.
Columns
.
Contains
(
"成本价"
)
&&
!
string
.
IsNullOrEmpty
(
dr
[
"成本价"
].
ToString
().
Trim
()))
{
model
.
CostMoneyImport
=
Convert
.
ToDecimal
(
dr
[
"成本价"
].
ToString
());
}
if
(
dr
.
Table
.
Columns
.
Contains
(
"收件人"
)
&&
!
string
.
IsNullOrEmpty
(
dr
[
"收件人"
].
ToString
().
Trim
()))
{
model
.
Consignee
=
dr
[
"收件人"
].
ToString
();
}
if
(
dr
.
Table
.
Columns
.
Contains
(
"收件人电话"
)
&&
!
string
.
IsNullOrEmpty
(
dr
[
"收件人电话"
].
ToString
().
Trim
()))
{
model
.
Mobile
=
dr
[
"收件人电话"
].
ToString
();
}
if
(
dr
.
Table
.
Columns
.
Contains
(
"收件人地址"
)
&&
!
string
.
IsNullOrEmpty
(
dr
[
"收件人地址"
].
ToString
().
Trim
()))
{
model
.
DistrictAddress
=
dr
[
"收件人地址"
].
ToString
();
}
if
(
dr
.
Table
.
Columns
.
Contains
(
"总金额"
)
&&
!
string
.
IsNullOrEmpty
(
dr
[
"总金额"
].
ToString
().
Trim
()))
{
model
.
PreferPrice
=
Convert
.
ToDecimal
(
dr
[
"总金额"
].
ToString
());
}
if
(
dr
.
Table
.
Columns
.
Contains
(
"实际付款"
)
&&
!
string
.
IsNullOrEmpty
(
dr
[
"实际付款"
].
ToString
().
Trim
()))
{
model
.
Income
=
Convert
.
ToDecimal
(
dr
[
"实际付款"
].
ToString
());
}
if
(
dr
.
Table
.
Columns
.
Contains
(
"运费"
)
&&
!
string
.
IsNullOrEmpty
(
dr
[
"运费"
].
ToString
().
Trim
()))
{
model
.
FreightMoney
=
Convert
.
ToDecimal
(
dr
[
"运费"
].
ToString
());
}
if
(
dr
.
Table
.
Columns
.
Contains
(
"下单时间"
)
&&
!
string
.
IsNullOrEmpty
(
dr
[
"下单时间"
].
ToString
().
Trim
()))
{
model
.
CreateDate
=
Convert
.
ToDateTime
(
dr
[
"下单时间"
].
ToString
());
}
if
(
dr
.
Table
.
Columns
.
Contains
(
"支付方式"
)
&&
!
string
.
IsNullOrEmpty
(
dr
[
"支付方式"
].
ToString
().
Trim
()))
{
model
.
PaymentWayImport
=
dr
[
"支付方式"
].
ToString
();
}
if
(
dr
.
Table
.
Columns
.
Contains
(
"订单状态"
)
&&
!
string
.
IsNullOrEmpty
(
dr
[
"订单状态"
].
ToString
().
Trim
()))
{
model
.
OrderStatusImport
=
dr
[
"订单状态"
].
ToString
();
}
if
(
dr
.
Table
.
Columns
.
Contains
(
"付款状态"
)
&&
!
string
.
IsNullOrEmpty
(
dr
[
"付款状态"
].
ToString
().
Trim
()))
{
model
.
PaymentStatusImport
=
dr
[
"付款状态"
].
ToString
();
}
if
(
dr
.
Table
.
Columns
.
Contains
(
"付款时间"
)
&&
!
string
.
IsNullOrEmpty
(
dr
[
"付款时间"
].
ToString
().
Trim
()))
{
model
.
PaymentTime
=
Convert
.
ToDateTime
(
dr
[
"付款时间"
].
ToString
());
}
if
(
dr
.
Table
.
Columns
.
Contains
(
"发货时间"
)
&&
!
string
.
IsNullOrEmpty
(
dr
[
"发货时间"
].
ToString
().
Trim
()))
{
model
.
DeliveryTime
=
Convert
.
ToDateTime
(
dr
[
"发货时间"
].
ToString
());
}
if
(
dr
.
Table
.
Columns
.
Contains
(
"收货时间"
)
&&
!
string
.
IsNullOrEmpty
(
dr
[
"收货时间"
].
ToString
().
Trim
()))
{
model
.
ReceivingTime
=
Convert
.
ToDateTime
(
dr
[
"收货时间"
].
ToString
());
}
if
(
dr
.
Table
.
Columns
.
Contains
(
"商家备注"
)
&&
!
string
.
IsNullOrEmpty
(
dr
[
"商家备注"
].
ToString
().
Trim
()))
{
model
.
Remark
=
dr
[
"商家备注"
].
ToString
();
}
if
(
dr
.
Table
.
Columns
.
Contains
(
"备注/表单"
)
&&
!
string
.
IsNullOrEmpty
(
dr
[
"备注/表单"
].
ToString
().
Trim
()))
{
model
.
BuyerMessage
=
dr
[
"备注/表单"
].
ToString
();
}
if
(
dr
.
Table
.
Columns
.
Contains
(
"售价"
)
&&
!
string
.
IsNullOrEmpty
(
dr
[
"售价"
].
ToString
().
Trim
()))
{
model
.
SellMoneyImport
=
Convert
.
ToDecimal
(
dr
[
"售价"
].
ToString
());
}
if
(
dr
.
Table
.
Columns
.
Contains
(
"原价"
)
&&
!
string
.
IsNullOrEmpty
(
dr
[
"原价"
].
ToString
().
Trim
()))
{
model
.
OriginalMoneyImport
=
Convert
.
ToDecimal
(
dr
[
"原价"
].
ToString
());
}
}
return
model
;
}
}
}
\ No newline at end of file
Mall.Model/Extend/Product/RB_Goods_Extend.cs
View file @
574159c3
...
...
@@ -62,6 +62,10 @@ namespace Mall.Model.Extend.Product
/// </summary>
public
string
GoodsIds
{
get
;
set
;
}
/// <summary>
/// 商品str
/// </summary>
public
string
GoodsNameStr
{
get
;
set
;
}
/// <summary>
/// 封面图
/// </summary>
public
string
CoverImage
{
get
;
set
;
}
...
...
Mall.Model/Extend/Product/RB_Goods_Order_Extend.cs
View file @
574159c3
...
...
@@ -107,6 +107,55 @@ namespace Mall.Model.Extend.Product
/// 使用优惠卷id
/// </summary>
public
int
?
User_Coupon_Id
{
get
;
set
;
}
#
region
订单导入
/// <summary>
/// 平台名称
/// </summary>
public
string
PlatformNameImport
{
get
;
set
;
}
/// <summary>
/// 规格导入
/// </summary>
public
string
SpecificationImport
{
get
;
set
;
}
/// <summary>
/// 成本价
/// </summary>
public
decimal
CostMoneyImport
{
get
;
set
;
}
/// <summary>
/// 支付方式
/// </summary>
public
string
PaymentWayImport
{
get
;
set
;
}
/// <summary>
/// 订单状态
/// </summary>
public
string
OrderStatusImport
{
get
;
set
;
}
/// <summary>
/// 付款状态
/// </summary>
public
string
PaymentStatusImport
{
get
;
set
;
}
/// <summary>
/// 售价
/// </summary>
public
decimal
SellMoneyImport
{
get
;
set
;
}
/// <summary>
/// 原价
/// </summary>
public
decimal
OriginalMoneyImport
{
get
;
set
;
}
/// <summary>
/// 省
/// </summary>
public
string
PName
{
get
;
set
;
}
/// <summary>
/// 市
/// </summary>
public
string
CName
{
get
;
set
;
}
/// <summary>
/// 区
/// </summary>
public
string
DName
{
get
;
set
;
}
#
endregion
}
/// <summary>
...
...
Mall.Model/Extend/User/RB_Member_User_Extend.cs
View file @
574159c3
...
...
@@ -28,6 +28,11 @@ namespace Mall.Model.Extend.User
/// </summary>
public
string
UserIds
{
get
;
set
;
}
/// <summary>
/// 用户名str
/// </summary>
public
string
UserNameStr
{
get
;
set
;
}
/// <summary>
/// 下线数量
/// </summary>
...
...
Mall.Module.Product/OrderModule.cs
View file @
574159c3
...
...
@@ -6,6 +6,7 @@ using System.Threading.Tasks;
using
Mall.Common
;
using
Mall.Common.API
;
using
Mall.Common.Enum.Goods
;
using
Mall.Common.Enum.User
;
using
Mall.Common.Plugin
;
using
Mall.Model.Entity.Product
;
using
Mall.Model.Extend.Product
;
...
...
@@ -1599,7 +1600,6 @@ namespace Mall.Module.Product
});
}
/// <summary>
/// 获取结算页面 快递修改后 快递费用
/// </summary>
...
...
@@ -5104,5 +5104,288 @@ namespace Mall.Module.Product
}
#
endregion
#
region
赞羊订单导入
/// <summary>
/// 订单导入
/// </summary>
/// <param name="path_server"></param>
/// <param name="tenantId"></param>
/// <param name="mallBaseId"></param>
/// <returns></returns>
public
string
SetGoodsOrderBatchImport
(
string
path_server
,
int
tenantId
,
int
mallBaseId
)
{
if
(!
System
.
IO
.
File
.
Exists
(
path_server
))
{
return
"导入文件已删除,请刷新后重新导入再试"
;
}
int
FileType
=
path_server
.
Contains
(
".csv"
)
?
1
:
2
;
//1 赞羊导入 2 和平导入
if
(
FileType
!=
1
)
{
return
"暂不支持该格式导入"
;
}
//处理文件内容读取
List
<
RB_Goods_Order_Extend
>
list
=
DataHelper
.
GoodsOrderBetchDataHelper
.
ImportClaimData
(
path_server
);
list
=
list
.
Where
(
x
=>
!
string
.
IsNullOrWhiteSpace
(
x
.
OrderNo
)).
ToList
();
if
(
list
.
Any
())
{
List
<
string
>
OrderNoList
=
new
List
<
string
>();
List
<
string
>
CityList
=
new
List
<
string
>();
foreach
(
var
item
in
list
)
{
item
.
OrderNo
=
item
.
OrderNo
.
Replace
(
"\t"
,
""
);
OrderNoList
.
Add
(
item
.
OrderNo
);
#
region
验证数据
if
(
string
.
IsNullOrEmpty
(
item
.
PlatformNameImport
))
{
return
"订单所属平台为空,订单号:"
+
item
.
OrderNo
;
}
if
(
string
.
IsNullOrEmpty
(
item
.
UserName
))
{
return
"订单下单用户为空,订单号:"
+
item
.
OrderNo
;
}
if
(
string
.
IsNullOrEmpty
(
item
.
GoodsName
))
{
return
"订单商品名称为空,订单号:"
+
item
.
OrderNo
;
}
if
(
string
.
IsNullOrEmpty
(
item
.
SpecificationImport
))
{
return
"订单规格为空,订单号:"
+
item
.
OrderNo
;
}
if
((
item
.
OrderNum
??
0
)
<=
0
)
{
return
"订单数量为空,订单号:"
+
item
.
OrderNo
;
}
if
(
string
.
IsNullOrEmpty
(
item
.
Consignee
))
{
return
"订单收件人为空,订单号:"
+
item
.
OrderNo
;
}
if
(
string
.
IsNullOrEmpty
(
item
.
Mobile
))
{
return
"订单收件人电话为空,订单号:"
+
item
.
OrderNo
;
}
if
(
string
.
IsNullOrEmpty
(
item
.
DistrictAddress
))
{
return
"订单收件人地址为空,订单号:"
+
item
.
OrderNo
;
}
if
((
item
.
Income
??
0
)
<
0
)
{
return
"订单实际付款为空,订单号:"
+
item
.
OrderNo
;
}
if
(
string
.
IsNullOrEmpty
(
item
.
OrderStatusImport
))
{
return
"订单状态为空,订单号:"
+
item
.
OrderNo
;
}
#
endregion
#
region
处理地区
if
(!
string
.
IsNullOrEmpty
(
item
.
DistrictAddress
))
{
string
[]
arr
=
item
.
DistrictAddress
.
Split
(
' '
);
if
(
arr
.
Length
<
4
)
{
return
"收件人地址不正确,订单号:"
+
item
.
OrderNo
;
}
CityList
.
Add
(
"'"
+
arr
[
0
].
Replace
(
"省"
,
""
)
+
"'"
);
CityList
.
Add
(
"'"
+
arr
[
1
].
Replace
(
"市"
,
""
)
+
"'"
);
CityList
.
Add
(
"'"
+
arr
[
2
]
+
"'"
);
item
.
PName
=
arr
[
0
].
Replace
(
"省"
,
""
);
item
.
CName
=
arr
[
1
].
Replace
(
"市"
,
""
);
item
.
DName
=
arr
[
2
];
for
(
int
i
=
3
;
i
<
arr
.
Length
;
i
++)
{
item
.
ShoppingAddress
+=
arr
[
i
]
+
" "
;
}
}
#
endregion
#
region
去除
/
t
item
.
GoodsName
=
item
.
GoodsName
.
Replace
(
"\t"
,
""
);
item
.
PlatformNameImport
=
item
.
PlatformNameImport
.
Replace
(
"\t"
,
""
);
item
.
OrderStatusImport
=
item
.
OrderStatusImport
.
Replace
(
"\t"
,
""
);
item
.
PaymentWayImport
=
item
.
PaymentWayImport
.
Replace
(
"\t"
,
""
);
item
.
SpecificationImport
=
item
.
SpecificationImport
.
Replace
(
"\t"
,
""
);
#
endregion
}
#
region
初始化数据
//平台
var
PlatformList
=
EnumHelper
.
GetEnumList
(
typeof
(
UserSourceEnum
));
//订单状态
var
OrderStatusList
=
EnumHelper
.
GetEnumList
(
typeof
(
OrderStatusEnum
));
//支付方式
var
PayWayList
=
EnumHelper
.
GetEnumList
(
typeof
(
OrderPaymentTypeEnum
));
//根据用户名 查询用户id
//string UserNameStr = string.Join(",", list.Select(x => "'" + x.UserName + "'").Distinct());
//var userList = member_UserRepository.GetList(new RB_Member_User_Extend() { UserNameStr = UserNameStr, TenantId = tenantId, MallBaseId = mallBaseId });
//根据商品名 查询商品id
string
GoodsNameStr
=
string
.
Join
(
","
,
list
.
Select
(
x
=>
"'"
+
x
.
GoodsName
+
"'"
).
Distinct
());
var
goodsList
=
goodsRepository
.
GetSingleList
(
new
RB_Goods_Extend
()
{
GoodsNameStr
=
GoodsNameStr
,
TenantId
=
tenantId
,
MallBaseId
=
mallBaseId
});
//根据城市名 查询城市id
string
CityStr
=
string
.
Join
(
","
,
CityList
);
var
cityList
=
destinationRepository
.
GetListExt
(
new
Model
.
Extend
.
BaseSetUp
.
RB_Destination_Extend
()
{
NameStr
=
CityStr
});
#
endregion
//根据订单号分组
List
<
RB_Goods_Order_Extend
>
OrderList
=
new
List
<
RB_Goods_Order_Extend
>();
OrderNoList
=
OrderNoList
.
Distinct
().
ToList
();
foreach
(
var
OrderNo
in
OrderNoList
)
{
var
DetailList
=
list
.
Where
(
x
=>
x
.
OrderNo
==
OrderNo
).
ToList
();
var
OrderModel
=
DetailList
.
FirstOrDefault
();
#
region
订单主表赋值
//订单平台
var
platformModel
=
PlatformList
.
Where
(
x
=>
x
.
Key
==
OrderModel
.
PlatformNameImport
).
FirstOrDefault
();
OrderModel
.
OrderSource
=
(
UserSourceEnum
)(
Convert
.
ToInt32
(
platformModel
.
Value
));
//订单状态
var
orderstatusMode
=
OrderStatusList
.
Where
(
x
=>
x
.
Key
==
OrderModel
.
OrderStatusImport
).
FirstOrDefault
();
OrderModel
.
OrderStatus
=
(
OrderStatusEnum
)(
Convert
.
ToInt32
(
orderstatusMode
.
Value
));
//支付方式
OrderModel
.
PaymentWay
=
OrderPaymentTypeEnum
.
OnlinePayment
;
if
(!
string
.
IsNullOrEmpty
(
OrderModel
.
PaymentWayImport
))
{
var
payModel
=
PayWayList
.
Where
(
x
=>
x
.
Key
==
OrderModel
.
PaymentWayImport
).
FirstOrDefault
();
OrderModel
.
PaymentWay
=
(
OrderPaymentTypeEnum
)(
Convert
.
ToInt32
(
payModel
.
Value
));
}
//用户 通过正则表达式 提取用户id
//var uModel = userList.Where(x => x.Name == OrderModel.UserName).FirstOrDefault();
//OrderModel.UserId = uModel?.Id ?? -1;// -1 表示抓取用户失败
try
{
OrderModel
.
UserName
=
OrderModel
.
UserName
.
Replace
(
"\t"
,
""
);
var
reg
=
new
System
.
Text
.
RegularExpressions
.
Regex
(
"id:.*"
,
System
.
Text
.
RegularExpressions
.
RegexOptions
.
IgnoreCase
);
string
aa
=
reg
.
Match
(
OrderModel
.
UserName
).
ToString
().
Replace
(
"id:"
,
""
).
Replace
(
")"
,
""
);
OrderModel
.
UserId
=
Convert
.
ToInt32
(
aa
);
}
catch
(
Exception
)
{
return
"用户id有误,订单号:"
+
OrderNo
;
}
//主表价格
OrderModel
.
PreferPrice
=
DetailList
.
Sum
(
x
=>
x
.
PreferPrice
??
0
);
OrderModel
.
Income
=
DetailList
.
Sum
(
x
=>
x
.
Income
??
0
);
OrderModel
.
FreightMoney
=
DetailList
.
Sum
(
x
=>
x
.
FreightMoney
??
0
);
OrderModel
.
Fee
=
0
;
OrderModel
.
Refund
=
0
;
OrderModel
.
CouponMoney
=
0
;
OrderModel
.
CouponsIds
=
""
;
OrderModel
.
DeliveryMethod
=
OrderDeliveryMethodEnum
.
ExpressDistribution
;
OrderModel
.
Country
=
2
;
OrderModel
.
Province
=
cityList
.
Where
(
x
=>
x
.
Name
==
OrderModel
.
PName
).
FirstOrDefault
()?.
ID
??
0
;
OrderModel
.
City
=
cityList
.
Where
(
x
=>
x
.
Name
==
OrderModel
.
CName
).
FirstOrDefault
()?.
ID
??
0
;
OrderModel
.
District
=
cityList
.
Where
(
x
=>
x
.
Name
==
OrderModel
.
DName
).
FirstOrDefault
()?.
ID
??
0
;
OrderModel
.
Recycled
=
2
;
OrderModel
.
Status
=
0
;
OrderModel
.
TenantId
=
tenantId
;
OrderModel
.
MallBaseId
=
mallBaseId
;
OrderModel
.
CreateDate
=
DateTime
.
Now
;
OrderModel
.
UpdateDate
=
DateTime
.
Now
;
OrderModel
.
FinishTime
=
OrderModel
.
ReceivingTime
;
OrderModel
.
IsApplyForCancel
=
2
;
OrderModel
.
HistoryOrderStatus
=
0
;
OrderModel
.
CancelRemark
=
""
;
OrderModel
.
ApplyForCancelStatus
=
0
;
OrderModel
.
RejectRemark
=
""
;
//OrderModel.ChangePrice = 0;
#
endregion
OrderModel
.
DetailList
=
new
List
<
RB_Goods_OrderDetail_Extend
>();
//组装订单详情
foreach
(
var
item
in
DetailList
)
{
//商品
var
goodsModel
=
goodsList
.
Where
(
x
=>
x
.
Name
==
item
.
GoodsName
).
FirstOrDefault
();
string
CoverImage
=
""
;
if
(!
string
.
IsNullOrEmpty
(
goodsModel
?.
CarouselImage
)
&&
(
goodsModel
?.
CarouselImage
??
""
)!=
"[]"
)
{
List
<
string
>
carouseList
=
JsonConvert
.
DeserializeObject
<
List
<
string
>>(
goodsModel
?.
CarouselImage
??
""
);
CoverImage
=
carouseList
[
0
];
}
List
<
string
>
SpecificationList
=
new
List
<
string
>();
if
(!
string
.
IsNullOrEmpty
(
item
.
SpecificationImport
))
{
string
[]
arr
=
item
.
SpecificationImport
.
Split
(
','
);
foreach
(
var
qitem
in
arr
)
{
if
(!
string
.
IsNullOrEmpty
(
qitem
))
{
SpecificationList
.
Add
(
qitem
);
}
}
}
OrderModel
.
DetailList
.
Add
(
new
RB_Goods_OrderDetail_Extend
()
{
Id
=
0
,
OrderId
=
0
,
GoodsId
=
goodsModel
?.
Id
??
-
1
,
OrderType
=
OrderTypeEnum
.
Mall
,
GoodsName
=
item
.
GoodsName
,
CoverImage
=
CoverImage
,
Specification
=
JsonConvert
.
SerializeObject
(
SpecificationList
),
SpecificationSort
=
""
,
ProductCode
=
item
.
ProductCode
,
Unit_Price
=
item
.
SellMoneyImport
,
Number
=
item
.
OrderNum
,
Original_Price
=
item
.
PreferPrice
,
Final_Price
=
item
.
Income
,
CostMoney
=
item
.
CostMoneyImport
,
DiscountRate
=
0
,
IsMemberPrice
=
2
,
TenantId
=
tenantId
,
MallBaseId
=
mallBaseId
,
CreateDate
=
DateTime
.
Now
,
UpdateDate
=
DateTime
.
Now
,
IsComment
=
1
,
FreightMoney
=
item
.
FreightMoney
,
IntegralNumber
=
0
,
IntegralMoney
=
0
,
CouponMoney
=
0
,
});
}
OrderList
.
Add
(
OrderModel
);
}
var
trans
=
goods_OrderRepository
.
DbTransaction
;
try
{
foreach
(
var
item
in
OrderList
)
{
bool
flag
=
GoodsOrderInsert
(
item
,
trans
);
if
(
flag
==
false
)
{
goods_OrderRepository
.
DBSession
.
Rollback
();
return
"请联系管理员,订单导入失败:"
+
item
.
OrderNo
;
}
}
goods_OrderRepository
.
DBSession
.
Commit
();
}
catch
(
Exception
ex
)
{
LogHelper
.
Write
(
ex
,
"SetAppletGoodsOrderInfo"
);
goods_OrderRepository
.
DBSession
.
Rollback
(
"SetAppletGoodsOrderInfo"
);
return
"出错啦,请联系管理员"
;
}
}
System
.
IO
.
File
.
Delete
(
path_server
);
return
""
;
}
/// <summary>
/// 订单导入
/// </summary>
/// <param name="demodel"></param>
/// <param name="trans"></param>
/// <returns></returns>
public
bool
GoodsOrderInsert
(
RB_Goods_Order_Extend
demodel
,
System
.
Data
.
IDbTransaction
trans
)
{
int
OrderId
=
goods_OrderRepository
.
Insert
(
demodel
,
trans
);
if
(
OrderId
>
0
)
{
//插入订单明细
foreach
(
var
item
in
demodel
.
DetailList
)
{
item
.
OrderId
=
OrderId
;
//插入订单明细表
int
detailId
=
goods_OrderDetailRepository
.
Insert
(
item
,
trans
);
}
//记录日志
goods_LogRepository
.
Insert
(
new
RB_Goods_Log
()
{
Id
=
0
,
Type
=
1
,
SourceId
=
OrderId
,
Content
=
"赞羊导入订单"
,
CreateDate
=
DateTime
.
Now
,
MallBaseId
=
demodel
.
MallBaseId
,
TenantId
=
demodel
.
TenantId
});
}
return
OrderId
>
0
;
}
#
endregion
}
}
Mall.Module.Product/ProductModule.cs
View file @
574159c3
...
...
@@ -3419,6 +3419,7 @@ namespace Mall.Module.Product
item
.
GoodsNumbers
=
SpecificationPriceList
.
FirstOrDefault
()?.
no
??
""
;
item
.
GoodsWeight
=
SpecificationPriceList
.
FirstOrDefault
()?.
weight
??
0
;
}
//item.Id = SpecificationPriceList.FirstOrDefault()?.goods_id ?? 0;
}
catch
(
Exception
)
{
...
...
@@ -3472,6 +3473,8 @@ namespace Mall.Module.Product
item
.
GoodsNumbers
=
item
.
SpecificationPriceList
.
FirstOrDefault
()?.
GoodsNumbers
??
""
;
item
.
GoodsWeight
=
item
.
SpecificationPriceList
.
FirstOrDefault
()?.
GoodsWeight
??
0
;
}
//item.Id = item.SpecificationPriceList.FirstOrDefault()?.GoodsId ?? 0;
}
catch
(
Exception
)
{
...
...
@@ -3602,6 +3605,7 @@ namespace Mall.Module.Product
#
endregion
#
region
修正默认
item
.
Name
=
item
.
Name
.
Replace
(
"\t"
,
""
);
item
.
IsSellWell
=
item
.
IsSellWell
==
1
?
1
:
2
;
item
.
IsQuickBuy
=
item
.
IsQuickBuy
==
1
?
1
:
2
;
item
.
IsGoodsNegotiable
=
item
.
IsGoodsNegotiable
==
1
?
1
:
2
;
...
...
Mall.Repository/Product/RB_GoodsRepository.cs
View file @
574159c3
...
...
@@ -116,6 +116,59 @@ where {where} group by g.Id order by g.CreateDate desc";
return
Get
<
RB_Goods_Extend
>(
sql
).
ToList
();
}
/// <summary>
/// 获取列表
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public
List
<
RB_Goods_Extend
>
GetSingleList
(
RB_Goods_Extend
dmodel
)
{
string
where
=
$" 1=1 and g.
{
nameof
(
RB_Goods_Extend
.
Status
)}
=0"
;
if
(
dmodel
.
TenantId
>
0
)
{
where
+=
$@" and g.
{
nameof
(
RB_Goods_Extend
.
TenantId
)}
=
{
dmodel
.
TenantId
}
"
;
}
if
(
dmodel
.
MallBaseId
>
0
)
{
where
+=
$@" and g.
{
nameof
(
RB_Goods_Extend
.
MallBaseId
)}
=
{
dmodel
.
MallBaseId
}
"
;
}
if
(
dmodel
.
Id
>
0
)
{
where
+=
$@" and g.
{
nameof
(
RB_Goods_Extend
.
Id
)}
=
{
dmodel
.
Id
}
"
;
}
if
(!
string
.
IsNullOrEmpty
(
dmodel
.
GoodsIds
))
{
where
+=
$@" and g.
{
nameof
(
RB_Goods_Extend
.
Id
)}
in(
{
dmodel
.
GoodsIds
}
)"
;
}
if
(!
string
.
IsNullOrEmpty
(
dmodel
.
Name
))
{
where
+=
$@" and g.
{
nameof
(
RB_Goods_Extend
.
Name
)}
like '%
{
dmodel
.
Name
}
%'"
;
}
if
(!
string
.
IsNullOrEmpty
(
dmodel
.
GoodsNameStr
))
{
where
+=
$@" and g.
{
nameof
(
RB_Goods_Extend
.
Name
)}
in (
{
dmodel
.
GoodsNameStr
}
)"
;
}
if
(
dmodel
.
GoodsStatus
>
0
)
{
where
+=
$@" and g.
{
nameof
(
RB_Goods_Extend
.
GoodsStatus
)}
=
{
dmodel
.
GoodsStatus
}
"
;
}
if
(
dmodel
.
IsSelectSellOut
==
1
)
{
where
+=
$@" and g.
{
nameof
(
RB_Goods_Extend
.
InventoryNum
)}
<=0"
;
}
if
(!
string
.
IsNullOrEmpty
(
dmodel
.
StartTime
))
{
where
+=
$@" and g.
{
nameof
(
RB_Goods_Extend
.
CreateDate
)}
>='
{
dmodel
.
StartTime
}
'"
;
}
if
(!
string
.
IsNullOrEmpty
(
dmodel
.
EndTime
))
{
where
+=
$@" and g.
{
nameof
(
RB_Goods_Extend
.
CreateDate
)}
<='
{
dmodel
.
EndTime
+
" 23:59:59"
}
'"
;
}
string
sql
=
$@"select g.* from RB_Goods g where
{
where
}
"
;
return
Get
<
RB_Goods_Extend
>(
sql
).
ToList
();
}
/// <summary>
/// 小程序获取商品列表
/// </summary>
...
...
Mall.Repository/User/RB_Member_UserRepository.cs
View file @
574159c3
...
...
@@ -78,6 +78,10 @@ select * from RB_Member_User where {where} order by CreateDate desc
{
where
+=
$@" and
{
nameof
(
RB_Member_User
.
Name
)}
like '%
{
dmodel
.
Name
}
%'"
;
}
if
(!
string
.
IsNullOrEmpty
(
dmodel
.
UserNameStr
))
{
where
+=
$@" and
{
nameof
(
RB_Member_User
.
Name
)}
in(
{
dmodel
.
UserNameStr
}
)"
;
}
if
(!
string
.
IsNullOrEmpty
(
dmodel
.
AliasName
))
{
where
+=
$@" and
{
nameof
(
RB_Member_User
.
AliasName
)}
like '%
{
dmodel
.
AliasName
}
%'"
;
...
...
Mall.WebApi/Controllers/File/FileController.cs
View file @
574159c3
...
...
@@ -37,7 +37,8 @@ namespace Mall.WebApi.Controllers.File
//验证文件格式
List
<
string
>
ExtList
=
new
List
<
string
>()
{
".xls"
,
".xlsx"
".xlsx"
,
".csv"
};
if
(!
ExtList
.
Contains
(
fileExtention
))
{
return
new
ApiResult
{
resultCode
=
(
int
)
ResultCode
.
Fail
,
message
=
"文件格式有误"
,
data
=
""
};
...
...
@@ -54,7 +55,7 @@ namespace Mall.WebApi.Controllers.File
files
[
0
].
CopyTo
(
fstream
);
}
return
ApiResult
.
Success
(
""
,
path_server
);
return
ApiResult
.
Success
(
""
,
new
{
Name
=
filename
,
Path
=
path_server
}
);
}
catch
(
Exception
ex
)
{
...
...
Mall.WebApi/Controllers/Product/OrderController.cs
View file @
574159c3
...
...
@@ -1619,5 +1619,36 @@ namespace Mall.WebApi.Controllers.MallBase
}
#
endregion
#
region
赞羊订单导入
/// <summary>
/// 赞羊订单导入
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
SetGoodsOrderBatchImport
()
{
var
req
=
RequestParm
;
JObject
parms
=
JObject
.
Parse
(
req
.
msg
.
ToString
());
string
FilePath
=
parms
.
GetStringValue
(
"FilePath"
);
if
(
string
.
IsNullOrEmpty
(
FilePath
))
{
return
ApiResult
.
ParamIsNull
(
"文件路径不存在"
);
}
string
msg
=
orderModule
.
SetGoodsOrderBatchImport
(
FilePath
,
req
.
TenantId
,
req
.
MallBaseId
);
if
(
msg
==
""
)
{
return
ApiResult
.
Success
();
}
else
{
return
ApiResult
.
Failed
(
msg
);
}
}
#
endregion
}
}
\ 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