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
f6320b7e
Commit
f6320b7e
authored
Aug 21, 2020
by
黄奎
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/Kui2/mall.oytour.com
parents
40d2f34d
48388c5b
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
264 additions
and
67 deletions
+264
-67
OrderModule.cs
Mall.Module.Product/OrderModule.cs
+5
-0
ProductModule.cs
Mall.Module.Product/ProductModule.cs
+5
-0
MallHelper.cs
Mall.WebApi/Controllers/Mall/MallHelper.cs
+254
-67
No files found.
Mall.Module.Product/OrderModule.cs
View file @
f6320b7e
...
...
@@ -2689,6 +2689,11 @@ namespace Mall.Module.Product
}
}
}
if
(
dcList
.
Where
(
x
=>
x
.
SmallShopId
>
0
).
Any
())
{
IsCommissionCoupons
=
false
;
}
}
}
}
...
...
Mall.Module.Product/ProductModule.cs
View file @
f6320b7e
...
...
@@ -1489,6 +1489,11 @@ namespace Mall.Module.Product
}
MaxSellMoney
=
model
.
SpecificationPriceList
.
Max
(
x
=>
x
.
SellingPrice
??
0
);
model
.
SellingPrice
=
model
.
SpecificationPriceList
.
Min
(
x
=>
x
.
SellingPrice
??
0
);
decimal
MaxPrice
=
MaxSellMoney
+
Math
.
Ceiling
(
MaxSellMoney
/
10
);
if
(
MaxPrice
>
model
.
OriginalPrice
)
{
model
.
OriginalPrice
=
MaxPrice
;
}
}
//区域
model
.
AreaList
=
new
List
<
RB_Goods_Area_Extend
>();
...
...
Mall.WebApi/Controllers/Mall/MallHelper.cs
View file @
f6320b7e
...
...
@@ -3,11 +3,13 @@ using Mall.Model.Entity.BaseSetUp;
using
Mall.Model.Entity.MarketingCenter
;
using
Mall.Model.Extend.BaseSetUp
;
using
Mall.Model.Extend.MarketingCenter
;
using
Mall.Model.Extend.Product
;
using
Mall.Model.Extend.User
;
using
Mall.Module.BaseSetUp
;
using
Mall.Module.MarketingCenter
;
using
Mall.Module.Product
;
using
Mall.Module.User
;
using
Mall.Repository.Product
;
using
Mall.Repository.User
;
using
Newtonsoft.Json
;
using
System
;
...
...
@@ -70,6 +72,10 @@ namespace Mall.WebApi.Controllers
/// 微店商品价格
/// </summary>
private
static
RB_SmallShops_PriceRepository
smallShops_PriceRepository
=
new
RB_SmallShops_PriceRepository
();
/// <summary>
/// 商品规格价格
/// </summary>
private
static
RB_Goods_SpecificationPriceRepository
goods_SpecificationPriceRepository
=
new
RB_Goods_SpecificationPriceRepository
();
/// <summary>
...
...
@@ -195,12 +201,57 @@ namespace Mall.WebApi.Controllers
#
region
微店价格
RB_SmallShops_Info_Extend
smallModel
=
new
RB_SmallShops_Info_Extend
();
List
<
RB_SmallShops_Price_Extend
>
smallPList
=
new
List
<
RB_SmallShops_Price_Extend
>();
if
(
SmallShopsId
>
0
&&
tempGoodsList
.
Any
())
{
if
(
SmallShopsId
>
0
&&
tempGoodsList
.
Any
())
{
string
goodsId
=
string
.
Join
(
","
,
tempGoodsList
.
Select
(
x
=>
x
.
Id
));
smallModel
=
smallShops_InfoRepository
.
GetEntity
<
RB_SmallShops_Info_Extend
>(
SmallShopsId
);
smallPList
=
smallShops_PriceRepository
.
GetList
(
new
RB_SmallShops_Price_Extend
()
{
SmallShopsId
=
SmallShopsId
,
GoodsIds
=
goodsId
});
foreach
(
var
item
in
tempGoodsList
)
{
var
spriceList
=
goods_SpecificationPriceRepository
.
GetList
(
new
RB_Goods_SpecificationPrice_Extend
()
{
GoodsIds
=
goodsId
});
foreach
(
var
item
in
tempGoodsList
)
{
if
((
smallModel
.
UpPrice
??
0
)
>
0
||
smallPList
.
Where
(
x
=>
x
.
GoodsId
==
item
.
Id
&&
x
.
UpPrice
>
0
).
Any
())
{
var
spList
=
spriceList
.
Where
(
x
=>
x
.
GoodsId
==
item
.
Id
).
ToList
();
if
(
spList
.
Any
())
{
foreach
(
var
qitem
in
spriceList
)
{
var
sspModel
=
smallPList
.
Where
(
x
=>
x
.
SpecificationKey
==
qitem
.
SpecificationSort
).
FirstOrDefault
();
if
(
sspModel
!=
null
)
{
//单商品设置的
if
(
sspModel
.
PriceType
==
1
)
{
qitem
.
SellingPrice
=
(
qitem
.
SellingPrice
??
0
)
+
Math
.
Ceiling
((
qitem
.
SellingPrice
??
0
)
*
(
sspModel
.
UpPrice
??
0
)
/
100
);
}
else
if
(
sspModel
.
PriceType
==
2
)
{
qitem
.
SellingPrice
=
(
qitem
.
SellingPrice
??
0
)
+
(
sspModel
.
UpPrice
??
0
);
}
}
else
{
if
((
smallModel
.
UpPrice
??
0
)
>
0
)
{
if
(
smallModel
.
PriceType
==
1
)
{
qitem
.
SellingPrice
=
(
qitem
.
SellingPrice
??
0
)
+
Math
.
Ceiling
((
qitem
.
SellingPrice
??
0
)
*
(
smallModel
.
UpPrice
??
0
)
/
100
);
}
else
if
(
smallModel
.
PriceType
==
2
)
{
qitem
.
SellingPrice
=
(
qitem
.
SellingPrice
??
0
)
+
(
smallModel
.
UpPrice
??
0
);
}
}
}
}
item
.
SellingPrice
=
spriceList
.
Min
(
x
=>
x
.
SellingPrice
??
0
);
decimal
MaxPrice
=
spriceList
.
Max
(
x
=>
x
.
SellingPrice
??
0
);
MaxPrice
+=
Math
.
Ceiling
(
MaxPrice
/
10
);
if
(
MaxPrice
>
item
.
OriginalPrice
)
{
item
.
OriginalPrice
=
MaxPrice
;
}
}
else
{
var
sspModel
=
smallPList
.
Where
(
x
=>
x
.
GoodsId
==
item
.
Id
&&
x
.
SpecificationKey
==
""
).
FirstOrDefault
();
if
(
sspModel
!=
null
)
...
...
@@ -236,6 +287,7 @@ namespace Mall.WebApi.Controllers
}
}
}
}
#
endregion
List
<
GoodsDetailsItem2
>
newGoodsList
=
new
List
<
GoodsDetailsItem2
>();
foreach
(
var
goodItem
in
childItem
.
goodsList
)
...
...
@@ -274,9 +326,53 @@ namespace Mall.WebApi.Controllers
string
goodsId
=
string
.
Join
(
","
,
catGoodsList
.
Select
(
x
=>
x
.
Id
));
smallModel
=
smallShops_InfoRepository
.
GetEntity
<
RB_SmallShops_Info_Extend
>(
SmallShopsId
);
smallPList
=
smallShops_PriceRepository
.
GetList
(
new
RB_SmallShops_Price_Extend
()
{
SmallShopsId
=
SmallShopsId
,
GoodsIds
=
goodsId
});
var
spriceList
=
goods_SpecificationPriceRepository
.
GetList
(
new
RB_Goods_SpecificationPrice_Extend
()
{
GoodsIds
=
goodsId
});
foreach
(
var
item
in
catGoodsList
)
{
if
((
smallModel
.
UpPrice
??
0
)
>
0
||
smallPList
.
Where
(
x
=>
x
.
GoodsId
==
item
.
Id
&&
x
.
UpPrice
>
0
).
Any
())
{
var
spList
=
spriceList
.
Where
(
x
=>
x
.
GoodsId
==
item
.
Id
).
ToList
();
if
(
spList
.
Any
())
{
foreach
(
var
qitem
in
spriceList
)
{
var
sspModel
=
smallPList
.
Where
(
x
=>
x
.
SpecificationKey
==
qitem
.
SpecificationSort
).
FirstOrDefault
();
if
(
sspModel
!=
null
)
{
//单商品设置的
if
(
sspModel
.
PriceType
==
1
)
{
qitem
.
SellingPrice
=
(
qitem
.
SellingPrice
??
0
)
+
Math
.
Ceiling
((
qitem
.
SellingPrice
??
0
)
*
(
sspModel
.
UpPrice
??
0
)
/
100
);
}
else
if
(
sspModel
.
PriceType
==
2
)
{
qitem
.
SellingPrice
=
(
qitem
.
SellingPrice
??
0
)
+
(
sspModel
.
UpPrice
??
0
);
}
}
else
{
if
((
smallModel
.
UpPrice
??
0
)
>
0
)
{
if
(
smallModel
.
PriceType
==
1
)
{
qitem
.
SellingPrice
=
(
qitem
.
SellingPrice
??
0
)
+
Math
.
Ceiling
((
qitem
.
SellingPrice
??
0
)
*
(
smallModel
.
UpPrice
??
0
)
/
100
);
}
else
if
(
smallModel
.
PriceType
==
2
)
{
qitem
.
SellingPrice
=
(
qitem
.
SellingPrice
??
0
)
+
(
smallModel
.
UpPrice
??
0
);
}
}
}
}
item
.
SellingPrice
=
spriceList
.
Min
(
x
=>
x
.
SellingPrice
??
0
);
decimal
MaxPrice
=
spriceList
.
Max
(
x
=>
x
.
SellingPrice
??
0
);
MaxPrice
+=
Math
.
Ceiling
(
MaxPrice
/
10
);
if
(
MaxPrice
>
item
.
OriginalPrice
)
{
item
.
OriginalPrice
=
MaxPrice
;
}
}
else
{
var
sspModel
=
smallPList
.
Where
(
x
=>
x
.
GoodsId
==
item
.
Id
&&
x
.
SpecificationKey
==
""
).
FirstOrDefault
();
if
(
sspModel
!=
null
)
...
...
@@ -312,6 +408,7 @@ namespace Mall.WebApi.Controllers
}
}
}
}
#
endregion
if
(
catGoodsList
!=
null
&&
catGoodsList
.
Count
>
0
)
{
...
...
@@ -352,9 +449,53 @@ namespace Mall.WebApi.Controllers
string
goodsId
=
string
.
Join
(
","
,
goodsList
.
Select
(
x
=>
x
.
Id
));
smallModel
=
smallShops_InfoRepository
.
GetEntity
<
RB_SmallShops_Info_Extend
>(
SmallShopsId
);
smallPList
=
smallShops_PriceRepository
.
GetList
(
new
RB_SmallShops_Price_Extend
()
{
SmallShopsId
=
SmallShopsId
,
GoodsIds
=
goodsId
});
var
spriceList
=
goods_SpecificationPriceRepository
.
GetList
(
new
RB_Goods_SpecificationPrice_Extend
()
{
GoodsIds
=
goodsId
});
foreach
(
var
item
in
goodsList
)
{
if
((
smallModel
.
UpPrice
??
0
)
>
0
||
smallPList
.
Where
(
x
=>
x
.
GoodsId
==
item
.
Id
&&
x
.
UpPrice
>
0
).
Any
())
{
var
spList
=
spriceList
.
Where
(
x
=>
x
.
GoodsId
==
item
.
Id
).
ToList
();
if
(
spList
.
Any
())
{
foreach
(
var
qitem
in
spriceList
)
{
var
sspModel
=
smallPList
.
Where
(
x
=>
x
.
SpecificationKey
==
qitem
.
SpecificationSort
).
FirstOrDefault
();
if
(
sspModel
!=
null
)
{
//单商品设置的
if
(
sspModel
.
PriceType
==
1
)
{
qitem
.
SellingPrice
=
(
qitem
.
SellingPrice
??
0
)
+
Math
.
Ceiling
((
qitem
.
SellingPrice
??
0
)
*
(
sspModel
.
UpPrice
??
0
)
/
100
);
}
else
if
(
sspModel
.
PriceType
==
2
)
{
qitem
.
SellingPrice
=
(
qitem
.
SellingPrice
??
0
)
+
(
sspModel
.
UpPrice
??
0
);
}
}
else
{
if
((
smallModel
.
UpPrice
??
0
)
>
0
)
{
if
(
smallModel
.
PriceType
==
1
)
{
qitem
.
SellingPrice
=
(
qitem
.
SellingPrice
??
0
)
+
Math
.
Ceiling
((
qitem
.
SellingPrice
??
0
)
*
(
smallModel
.
UpPrice
??
0
)
/
100
);
}
else
if
(
smallModel
.
PriceType
==
2
)
{
qitem
.
SellingPrice
=
(
qitem
.
SellingPrice
??
0
)
+
(
smallModel
.
UpPrice
??
0
);
}
}
}
}
item
.
SellingPrice
=
spriceList
.
Min
(
x
=>
x
.
SellingPrice
??
0
);
decimal
MaxPrice
=
spriceList
.
Max
(
x
=>
x
.
SellingPrice
??
0
);
MaxPrice
+=
Math
.
Ceiling
(
MaxPrice
/
10
);
if
(
MaxPrice
>
item
.
OriginalPrice
)
{
item
.
OriginalPrice
=
MaxPrice
;
}
}
else
{
var
sspModel
=
smallPList
.
Where
(
x
=>
x
.
GoodsId
==
item
.
Id
&&
x
.
SpecificationKey
==
""
).
FirstOrDefault
();
if
(
sspModel
!=
null
)
...
...
@@ -390,6 +531,7 @@ namespace Mall.WebApi.Controllers
}
}
}
}
#
endregion
if
(
goodsList
!=
null
&&
goodsList
.
Count
>
0
)
{
...
...
@@ -427,9 +569,53 @@ namespace Mall.WebApi.Controllers
string
goodsId
=
string
.
Join
(
","
,
tempGoodsList
.
Select
(
x
=>
x
.
Id
));
smallModel
=
smallShops_InfoRepository
.
GetEntity
<
RB_SmallShops_Info_Extend
>(
SmallShopsId
);
smallPList
=
smallShops_PriceRepository
.
GetList
(
new
RB_SmallShops_Price_Extend
()
{
SmallShopsId
=
SmallShopsId
,
GoodsIds
=
goodsId
});
var
spriceList
=
goods_SpecificationPriceRepository
.
GetList
(
new
RB_Goods_SpecificationPrice_Extend
()
{
GoodsIds
=
goodsId
});
foreach
(
var
item
in
tempGoodsList
)
{
if
((
smallModel
.
UpPrice
??
0
)
>
0
||
smallPList
.
Where
(
x
=>
x
.
GoodsId
==
item
.
Id
&&
x
.
UpPrice
>
0
).
Any
())
{
var
spList
=
spriceList
.
Where
(
x
=>
x
.
GoodsId
==
item
.
Id
).
ToList
();
if
(
spList
.
Any
())
{
foreach
(
var
qitem
in
spriceList
)
{
var
sspModel
=
smallPList
.
Where
(
x
=>
x
.
SpecificationKey
==
qitem
.
SpecificationSort
).
FirstOrDefault
();
if
(
sspModel
!=
null
)
{
//单商品设置的
if
(
sspModel
.
PriceType
==
1
)
{
qitem
.
SellingPrice
=
(
qitem
.
SellingPrice
??
0
)
+
Math
.
Ceiling
((
qitem
.
SellingPrice
??
0
)
*
(
sspModel
.
UpPrice
??
0
)
/
100
);
}
else
if
(
sspModel
.
PriceType
==
2
)
{
qitem
.
SellingPrice
=
(
qitem
.
SellingPrice
??
0
)
+
(
sspModel
.
UpPrice
??
0
);
}
}
else
{
if
((
smallModel
.
UpPrice
??
0
)
>
0
)
{
if
(
smallModel
.
PriceType
==
1
)
{
qitem
.
SellingPrice
=
(
qitem
.
SellingPrice
??
0
)
+
Math
.
Ceiling
((
qitem
.
SellingPrice
??
0
)
*
(
smallModel
.
UpPrice
??
0
)
/
100
);
}
else
if
(
smallModel
.
PriceType
==
2
)
{
qitem
.
SellingPrice
=
(
qitem
.
SellingPrice
??
0
)
+
(
smallModel
.
UpPrice
??
0
);
}
}
}
}
item
.
SellingPrice
=
spriceList
.
Min
(
x
=>
x
.
SellingPrice
??
0
);
decimal
MaxPrice
=
spriceList
.
Max
(
x
=>
x
.
SellingPrice
??
0
);
MaxPrice
+=
Math
.
Ceiling
(
MaxPrice
/
10
);
if
(
MaxPrice
>
item
.
OriginalPrice
)
{
item
.
OriginalPrice
=
MaxPrice
;
}
}
else
{
var
sspModel
=
smallPList
.
Where
(
x
=>
x
.
GoodsId
==
item
.
Id
&&
x
.
SpecificationKey
==
""
).
FirstOrDefault
();
if
(
sspModel
!=
null
)
...
...
@@ -465,6 +651,7 @@ namespace Mall.WebApi.Controllers
}
}
}
}
#
endregion
List
<
GoodsDetailsItem2
>
newGoodsList
=
new
List
<
GoodsDetailsItem2
>();
foreach
(
var
goodItem
in
goodsData
.
list
)
...
...
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