Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
O
oms-ci-test
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
test-ci
oms-ci-test
Commits
bcc350db
提交
bcc350db
authored
9月 21, 2023
作者:
zhenjie
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
购物车多商家商品下单
上级
de8e5ad1
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
63 行增加
和
56 行删除
+63
-56
UserAddressDao.java
src/main/java/com/mmc/oms/dao/UserAddressDao.java
+0
-2
UavOrderExpressDao.java
src/main/java/com/mmc/oms/dao/uav/UavOrderExpressDao.java
+2
-0
UavCartServiceImpl.java
...java/com/mmc/oms/service/uav/impl/UavCartServiceImpl.java
+12
-12
UavOrderServiceImpl.java
...ava/com/mmc/oms/service/uav/impl/UavOrderServiceImpl.java
+41
-34
UserAddressDao.xml
src/main/resources/mapper/UserAddressDao.xml
+0
-8
UavOrderExpressDao.xml
src/main/resources/mapper/uav/UavOrderExpressDao.xml
+8
-0
没有找到文件。
src/main/java/com/mmc/oms/dao/UserAddressDao.java
浏览文件 @
bcc350db
...
...
@@ -21,6 +21,4 @@ public interface UserAddressDao {
UserAddressDO
selectById
(
Integer
userAddressId
);
List
<
UserAddressDO
>
selectList
(
UserAddressDO
userAddressDO
);
void
batchAddOrderExpress
(
List
<
UavOrderExpressDO
>
expressDOS
);
}
src/main/java/com/mmc/oms/dao/uav/UavOrderExpressDao.java
浏览文件 @
bcc350db
...
...
@@ -18,4 +18,6 @@ public interface UavOrderExpressDao {
int
updateUavOrderExpressDO
(
UavOrderExpressDO
uavOrderExpressDO
);
List
<
UavOrderExpressDO
>
listNoReceive
();
void
batchAddOrderExpress
(
List
<
UavOrderExpressDO
>
expressDOS
);
}
src/main/java/com/mmc/oms/service/uav/impl/UavCartServiceImpl.java
浏览文件 @
bcc350db
...
...
@@ -81,8 +81,8 @@ public class UavCartServiceImpl implements UavCartService {
// 同步商品信息,价格及是否展示
// 根据规格查询商品信息
buildUavCartCompany
(
uavCartQO
.
getOrderType
(),
uavCartCompanyDTOS
);
List
<
UavCartCompanyDTO
>
collect
=
uavCartCompanyDTOS
.
stream
().
filter
(
i
->
CollectionUtils
.
isNotEmpty
(
i
.
getUavCartDOS
())).
collect
(
Collectors
.
toList
(
));
return
ResultBody
.
success
(
PageResult
.
buildPage
(
pageNo
,
uavCartQO
.
getPageSize
(),
list
.
size
(),
collect
));
uavCartCompanyDTOS
.
removeIf
(
i
->
CollectionUtils
.
isEmpty
(
i
.
getUavCartDOS
()
));
return
ResultBody
.
success
(
PageResult
.
buildPage
(
pageNo
,
uavCartQO
.
getPageSize
(),
list
.
size
(),
uavCartCompanyDTOS
));
}
@Override
...
...
@@ -96,9 +96,7 @@ public class UavCartServiceImpl implements UavCartService {
}
// 最新规格信息
List
<
UavCartDTO
>
uavCartDTOS
=
pmsAppApi
.
listPriceStock
(
priceStockQOS
);
if
(
CollectionUtils
.
isEmpty
(
uavCartDTOS
))
{
return
;
}
// 更新最新的规格信息
for
(
UavCartCompanyDTO
uavCartCompanyDTO
:
uavCartCompanyDTOS
)
{
uavCartCompanyDTO
.
setCompanyName
(
uavCartCompanyDTO
.
getUavCartDOS
().
get
(
0
).
getCompanyName
());
...
...
@@ -120,15 +118,17 @@ public class UavCartServiceImpl implements UavCartService {
// 找不到或被删除则置为失效
if
(!
flag
||
uavCartDTO
.
getDeleted
().
equals
(
1
))
{
uavCartDTO
.
setShelfStatus
(
0
);
uavCartDTO
.
setDeleted
(
1
);
}
}
for
(
UavCartCompanyDTO
cartCompanyDTO
:
uavCartCompanyDTOS
)
{
if
(
UavOrderType
.
PAY
.
getCode
().
equals
(
orderType
))
{
cartCompanyDTO
.
setUavCartDOS
(
cartCompanyDTO
.
getUavCartDOS
().
stream
().
filter
(
item
->
item
.
getPriceShow
().
equals
(
1
)).
collect
(
Collectors
.
toList
()));
}
else
{
cartCompanyDTO
.
setUavCartDOS
(
cartCompanyDTO
.
getUavCartDOS
().
stream
().
filter
(
item
->
item
.
getPriceShow
().
equals
(
0
)).
collect
(
Collectors
.
toList
()));
}
}
// for (UavCartCompanyDTO cartCompanyDTO : uavCartCompanyDTOS) {
// List<UavCartDTO> cartDOS = cartCompanyDTO.getUavCartDOS();
// if (UavOrderType.PAY.getCode().equals(orderType)) {
// cartDOS.removeIf(i -> i.getPriceShow() != null && i.getPriceShow().equals(0));
// }else {
// cartDOS.removeIf(i -> i.getPriceShow() != null && i.getPriceShow().equals(1));
// }
// }
}
}
}
src/main/java/com/mmc/oms/service/uav/impl/UavOrderServiceImpl.java
浏览文件 @
bcc350db
...
...
@@ -659,20 +659,14 @@ public class UavOrderServiceImpl implements UavOrderService {
if
(
orderByCartQO
.
getOrderType
().
equals
(
UavOrderType
.
SIGN
.
getCode
())
&&
orderByCartQO
.
getCartCompanyDTOS
().
size
()
>
1
)
{
return
ResultBody
.
error
(
"意向订单仅限下单个商家的商品"
);
}
// 正常订单可以抵扣云享金和余额、意向订单不能扣
if
(
orderByCartQO
.
getOrderType
().
equals
(
UavOrderType
.
PAY
.
getCode
())){
}
else
{
}
// 购物车id
List
<
Integer
>
cartIds
=
new
ArrayList
<>();
// 云享金、余额扣除相关
ResultBody
<
PayWalletDTO
>
payResInfo
=
userAppApi
.
getCurrentUserPayWalletInfo
(
currentAccount
.
getToken
());
if
(!
payResInfo
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
())
||
payResInfo
.
getResult
()
==
null
){
if
(!
payResInfo
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
())
||
payResInfo
.
getResult
()
==
null
)
{
return
payResInfo
;
}
PayWalletDTO
payWalletDTO
=
payResInfo
.
getResult
();
// 购物车id
List
<
Integer
>
cartIds
=
new
ArrayList
<>();
// 可以多商家多商品,为每个商家生成一个订单
List
<
UavOrderDO
>
orders
=
new
ArrayList
<
UavOrderDO
>();
BigDecimal
allOtherAmount
=
BigDecimal
.
ZERO
;
...
...
@@ -698,36 +692,46 @@ public class UavOrderServiceImpl implements UavOrderService {
UavOrderSkuDO
uavOrderSkuDO
=
new
UavOrderSkuDO
(
uavCartDTO
);
skuDOS
.
add
(
uavOrderSkuDO
);
orderAmount
=
orderAmount
.
add
(
uavCartDTO
.
getSalePrice
().
multiply
(
BigDecimal
.
valueOf
(
uavCartDTO
.
getOrderNum
())));
if
(
uavCartDTO
.
getShelfStatus
().
equals
(
0
))
{
return
ResultBody
.
error
(
"所选规格无效"
);
}
}
}
else
{
return
ResultBody
.
error
(
"所选规格无效"
);
}
otherAmount
=
otherAmount
.
add
(
orderAmount
);
// 抵扣云享金
if
(
companyDTO
.
getDeductShareAmount
().
equals
(
1
)
&&
payWalletDTO
.
getCashAmt
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
if
(
payWalletDTO
.
getCashAmt
().
compareTo
(
otherAmount
)
>
0
)
{
shareAmount
=
shareAmount
.
add
(
otherAmount
);
}
else
{
shareAmount
=
shareAmount
.
add
(
payWalletDTO
.
getCashAmt
());
// 正常订单可以抵扣云享金和余额、意向订单不能扣
if
(
orderByCartQO
.
getOrderType
().
equals
(
UavOrderType
.
PAY
.
getCode
())){
// 抵扣云享金
if
(
companyDTO
.
getDeductShareAmount
().
equals
(
1
)
&&
payWalletDTO
.
getCashAmt
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
if
(
payWalletDTO
.
getCashAmt
().
compareTo
(
otherAmount
)
>
0
)
{
shareAmount
=
shareAmount
.
add
(
otherAmount
);
}
else
{
shareAmount
=
shareAmount
.
add
(
payWalletDTO
.
getCashAmt
());
}
otherAmount
=
otherAmount
.
subtract
(
shareAmount
);
allShareAmount
=
allShareAmount
.
add
(
shareAmount
);
payWalletDTO
.
setCashAmt
(
payWalletDTO
.
getCashAmt
().
subtract
(
shareAmount
));
}
otherAmount
=
otherAmount
.
subtract
(
shareAmount
);
allShareAmount
=
allShareAmount
.
add
(
shareAmount
);
payWalletDTO
.
setCashAmt
(
payWalletDTO
.
getCashAmt
().
subtract
(
shareAmount
));
}
// 抵扣余额
if
(
companyDTO
.
getDeductSalaryAmount
().
equals
(
1
)
&&
payWalletDTO
.
getSalaryAmt
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
&&
otherAmount
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
if
(
otherAmount
.
compareTo
(
payWalletDTO
.
getSalaryAmt
())
>
0
)
{
salaryAmount
=
salaryAmount
.
add
(
payWalletDTO
.
getSalaryAmt
());
// 抵扣余额
if
(
companyDTO
.
getDeductSalaryAmount
().
equals
(
1
)
&&
payWalletDTO
.
getSalaryAmt
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
&&
otherAmount
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
if
(
otherAmount
.
compareTo
(
payWalletDTO
.
getSalaryAmt
())
>
0
)
{
salaryAmount
=
salaryAmount
.
add
(
payWalletDTO
.
getSalaryAmt
());
}
else
{
salaryAmount
=
salaryAmount
.
add
(
otherAmount
);
}
otherAmount
=
otherAmount
.
subtract
(
salaryAmount
);
allSalaryAmount
=
allSalaryAmount
.
add
(
salaryAmount
);
payWalletDTO
.
setSalaryAmt
(
payWalletDTO
.
getSalaryAmt
().
subtract
(
salaryAmount
));
}
if
(
otherAmount
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
statusCode
=
UavOrderStatus
.
WAITING_DELIVER_GOODS
.
getCode
();
}
else
{
s
alaryAmount
=
salaryAmount
.
add
(
otherAmount
);
s
tatusCode
=
UavOrderStatus
.
PAYING
.
getCode
(
);
}
otherAmount
=
otherAmount
.
subtract
(
salaryAmount
);
allSalaryAmount
=
allSalaryAmount
.
add
(
salaryAmount
);
payWalletDTO
.
setSalaryAmt
(
payWalletDTO
.
getSalaryAmt
().
subtract
(
salaryAmount
));
}
if
(
otherAmount
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
statusCode
=
UavOrderStatus
.
WAITING_DELIVER_GOODS
.
getCode
();
}
else
{
statusCode
=
UavOrderStatus
.
PAYING
.
getCode
();
statusCode
=
UavOrderStatus
.
CONFIRM
.
getCode
();
}
// 设置订单状态
uavOrderDO
.
setStatusCode
(
statusCode
);
...
...
@@ -747,7 +751,9 @@ public class UavOrderServiceImpl implements UavOrderService {
allOtherAmount
=
allOtherAmount
.
add
(
otherAmount
);
}
// 抵扣余额
this
.
deductWallet
(
allShareAmount
,
allSalaryAmount
,
currentAccount
);
if
(
allShareAmount
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
||
allSalaryAmount
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
this
.
deductWallet
(
allShareAmount
,
allSalaryAmount
,
currentAccount
);
}
// 添加订单信息
uavOrderDao
.
batchAddOrder
(
orders
);
// 全部规格信息
...
...
@@ -758,6 +764,7 @@ public class UavOrderServiceImpl implements UavOrderService {
allSkuDOS
.
add
(
skuDO
);
}
}
log
.
info
(
"allSkuDOS:{}"
,
JSONObject
.
toJSONString
(
allSkuDOS
));
// 批量添加规格
uavOrderDao
.
addOrderSku
(
allSkuDOS
);
// 多个添加收货地址
...
...
@@ -769,7 +776,7 @@ public class UavOrderServiceImpl implements UavOrderService {
expressDOS
.
add
(
uavOrderExpressDO
);
}
// 批量添加收货地址
u
serAdd
ressDao
.
batchAddOrderExpress
(
expressDOS
);
u
avOrderExp
ressDao
.
batchAddOrderExpress
(
expressDOS
);
// 批量标识购物车
uavCartService
.
batchRemove
(
cartIds
);
return
ResultBody
.
success
();
...
...
src/main/resources/mapper/UserAddressDao.xml
浏览文件 @
bcc350db
...
...
@@ -26,14 +26,6 @@
values (#{userAccountId}, #{takeName}, #{takePhone}, #{takeRegion}, #{takeAddress},#{type},#{flag},#{districtCode})
</insert>
<insert
id=
"batchAddOrderExpress"
>
insert into user_address(user_account_id, take_name, take_phone, take_region, take_address,`type`,flag,district_code)
values
<foreach
item=
"item"
collection=
"list"
separator=
","
>
(#{item.userAccountId}, #{item.takeName}, #{item.takePhone}, #{item.takeRegion}, #{item.takeAddress},#{item.type},#{item.flag},#{item.districtCode})
</foreach>
</insert>
<!-- 通过主键修改数据 -->
<update
id=
"update"
parameterType=
"com.mmc.oms.entity.mall.UserAddressDO"
>
update user_address
...
...
src/main/resources/mapper/uav/UavOrderExpressDao.xml
浏览文件 @
bcc350db
...
...
@@ -13,6 +13,14 @@
values (#{uavOrderId}, #{sendExpNo}, #{sendExpCode}, #{takeName}, #{takePhone}, #{takeRegion}, #{takeAddress}, NOW())
</insert>
<insert
id=
"batchAddOrderExpress"
>
insert into uav_order_express(uav_order_id, send_exp_no, send_exp_code, take_name, take_phone, take_region, take_address, create_time)
values
<foreach
item=
"item"
collection=
"list"
separator=
","
>
(#{item.uavOrderId}, #{item.sendExpNo}, #{item.sendExpCode}, #{item.takeName}, #{item.takePhone}, #{item.takeRegion}, #{item.takeAddress}, NOW())
</foreach>
</insert>
<update
id=
"updateUavOrderExpressDO"
parameterType=
"com.mmc.oms.entity.uav.UavOrderExpressDO"
>
update uav_order_express
<set>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论