Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
O
order-group
Overview
Overview
Details
Activity
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
jenkins
order-group
Commits
c1a67f0b
Commit
c1a67f0b
authored
Feb 24, 2020
by
shuhu.hou
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/develop' into develop
parents
aba50cf0
4d620755
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
29 changed files
with
385 additions
and
83 deletions
+385
-83
assortment-ordercenter-sdk/pom.xml
+3
-3
assortment-ordercenter-sdk/readme.md
+3
-2
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/BaseCreateOrderRequest.java
+0
-1
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/service/OrderCenterSdkService.java
+10
-0
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/service/order/OrderCenterSdkServiceImpl.java
+8
-0
assortment-shoppingcart-sdk/pom.xml
+2
-2
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/adapter/ShoppingCartAdapter.java
+2
-0
order-application-service/pom.xml
+6
-1
order-application-service/src/main/java/cn/freemud/adapter/MallOrderAdapter.java
+4
-4
order-application-service/src/main/java/cn/freemud/controller/OrderController.java
+9
-9
order-application-service/src/main/java/cn/freemud/enums/OrderSourceType.java
+3
-2
order-application-service/src/main/java/cn/freemud/service/impl/CheckMallOrder.java
+81
-9
order-application-service/src/main/java/cn/freemud/service/impl/CouponActivityServiceImpl.java
+1
-1
order-application-service/src/main/java/cn/freemud/service/impl/MallOrderServiceImpl.java
+0
-0
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
+17
-17
order-management/pom.xml
+68
-0
order-management/src/main/java/cn/freemud/management/controller/DeliveryOrderController.java
+34
-0
order-management/src/main/java/cn/freemud/management/service/OrderDeliveryService.java
+61
-20
order-management/src/main/java/cn/freemud/management/util/CheckException.java
+19
-0
order-management/src/main/java/cn/freemud/management/util/CommonResp.java
+4
-0
ordercenter-sdk/pom.xml
+1
-1
ordercenter-sdk/readme.md
+3
-2
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/constant/InterfaceAddressConstant.java
+5
-0
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/request/OrderConditionsReq.java
+5
-0
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/service/OrderSdkService.java
+15
-0
shopping-cart-application-service/pom.xml
+2
-2
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartGoodsResponseVo.java
+5
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartMallServiceImpl.java
+4
-4
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
+10
-3
No files found.
assortment-ordercenter-sdk/pom.xml
View file @
c1a67f0b
...
...
@@ -10,7 +10,7 @@
<modelVersion>
4.0.0
</modelVersion>
<artifactId>
assortment-ordercenter-sdk
</artifactId>
<version>
1.2.
1
-SNAPSHOT
</version>
<version>
1.2.
2
-SNAPSHOT
</version>
<dependencies>
<dependency>
<groupId>
org.springframework.boot
</groupId>
...
...
@@ -26,7 +26,7 @@
<dependency>
<artifactId>
couponcenter-sdk
</artifactId>
<groupId>
com.freemud.application.service.sdk
</groupId>
<version>
1.8.
3-SNAPSHOT
</version>
<version>
1.8.
RELEASE
</version>
<scope>
provided
</scope>
</dependency>
<dependency>
...
...
@@ -38,7 +38,7 @@
<dependency>
<groupId>
cn.freemud
</groupId>
<artifactId>
ordercenter-sdk
</artifactId>
<version>
1.1.
4
-SNAPSHOT
</version>
<version>
1.1.
5
-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
com.freemud.application.service.sdk
</groupId>
...
...
assortment-ordercenter-sdk/readme.md
View file @
c1a67f0b
...
...
@@ -24,4 +24,5 @@
| 1.1.8-SNAPSHOT| 核销流程更改 | 侯书虎 | 2020-02-10 |
| 1.1.9-SNAPSHOT| pos渠道名称 | 丁凯 | 2020-02-11 |
| 1.2.0-SNAPSHOT| 订单查询返回orderType字段 | 侯书虎 | 2020-02-12 |
| 1.2.1-SNAPSHOT| 开放平台创建订单修改 | 姜海波 | 2020-02-17 |
\ No newline at end of file
| 1.2.1-SNAPSHOT| 开放平台创建订单修改 | 姜海波 | 2020-02-17 |
| 1.2.2-SNAPSHOT| 开放平台创建订单修改 | 姜海波 | 2020-02-21 |
\ No newline at end of file
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/BaseCreateOrderRequest.java
View file @
c1a67f0b
...
...
@@ -139,7 +139,6 @@ public class BaseCreateOrderRequest extends BaseConfig {
*/
public
ActivityUpdateStockRequest
activityUpdateStockRequest
;
private
OrderClientType
orderClientType
;
/**
* 省
...
...
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/service/OrderCenterSdkService.java
View file @
c1a67f0b
...
...
@@ -282,4 +282,14 @@ public interface OrderCenterSdkService {
* @return
*/
QueryOrderByIdResponse
queryOrderByCodeES
(
String
orderCode
,
String
partnerId
,
String
trackNo
);
/**
* 根据用户ID 查询30分钟内未支付并且有券的 订单
*
* @param userId 用户ID
* @param trackingNo 交易号
* @return
*/
QueryOrdersResponse
queryOrderWithCoupon
(
String
userId
,
String
trackingNo
);
}
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/service/order/OrderCenterSdkServiceImpl.java
View file @
c1a67f0b
...
...
@@ -1299,4 +1299,12 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
QueryOrderByIdResponse
orderByIdResponse
=
orderSdkAdapter
.
convent2QueryOrderByIdResponse
(
orderInfo
);
return
orderByIdResponse
;
}
@Override
public
QueryOrdersResponse
queryOrderWithCoupon
(
String
userId
,
String
trackingNo
)
{
com
.
freemud
.
application
.
sdk
.
api
.
ordercenter
.
response
.
BaseResponse
response
=
orderSdkService
.
queryOrderWithCoupon
(
userId
,
trackingNo
);
return
orderSdkAdapter
.
convent2QueryOrdersResponse
(
response
);
}
}
assortment-shoppingcart-sdk/pom.xml
View file @
c1a67f0b
...
...
@@ -42,13 +42,13 @@
<dependency>
<groupId>
com.freemud.application.service.sdk
</groupId>
<artifactId>
productcenter-sdk
</artifactId>
<version>
2.7.
4.RELEASE
</version>
<version>
2.7.
5-SNAPSHOT
</version>
<scope>
provided
</scope>
</dependency>
<dependency>
<groupId>
com.freemud.application.service.sdk
</groupId>
<artifactId>
couponcenter-sdk
</artifactId>
<version>
1.
1
.RELEASE
</version>
<version>
1.
8
.RELEASE
</version>
<scope>
provided
</scope>
</dependency>
<dependency>
...
...
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/adapter/ShoppingCartAdapter.java
View file @
c1a67f0b
...
...
@@ -310,6 +310,7 @@ public class ShoppingCartAdapter {
cartGoods
.
setAmount
(
newOrigOriginalPrice
*
cartGoods
.
getQty
());
//咨询商品服务,套餐售价取originalPrice
cartGoods
.
setFinalPrice
(
isSetMealProduct
?
spuProduct
.
getOriginalPrice
()
:
isSkuProduct
?
skuProduct
.
getFinalPrice
()
:
spuProduct
.
getFinalPrice
());
cartGoods
.
setWeight
(
spuProduct
.
getWeight
());
cartGoods
.
setUnit
(
spuProduct
.
getUnit
());
cartGoods
.
setWeightType
(
CommonsConstant
.
WEIGHT_PRODUCT
.
equals
(
spuProduct
.
getWeightType
()));
}
catch
(
Exception
ex
)
{
...
...
@@ -401,6 +402,7 @@ public class ShoppingCartAdapter {
comboxGoods
.
setFinalPrice
(
finalPrice
);
comboxGoods
.
setWeightType
(
isComboxGoods
?
CommonsConstant
.
WEIGHT_PRODUCT
.
equals
(
productComboType
.
getWeightType
()):
CommonsConstant
.
WEIGHT_PRODUCT
.
equals
(
groupDetailType
.
getWeightType
()));
comboxGoods
.
setUnit
(
isComboxGoods
?
productComboType
.
getUnit
():
groupDetailType
.
getUnit
());
comboxGoods
.
setWeight
(
isComboxGoods
?
productComboType
.
getWeight
()
:
groupDetailType
.
getWeight
());
}
private
Map
<
String
,
String
>
getAttributes
(
CartGoods
cartGoods
,
List
<
CartGoods
.
CartGoodsExtra
>
extra
,
List
<
ProductBeanDTO
.
ProductAttributeGroupListBean
>
attributeGroupListBeanList
,
List
<
String
>
invalidGoodsIdList
)
{
...
...
order-application-service/pom.xml
View file @
c1a67f0b
...
...
@@ -35,7 +35,7 @@
<dependency>
<artifactId>
couponcenter-sdk
</artifactId>
<groupId>
com.freemud.application.service.sdk
</groupId>
<version>
1.8.
3-SNAPSHOT
</version>
<version>
1.8.
RELEASE
</version>
</dependency>
<dependency>
<groupId>
cn.freemud
</groupId>
...
...
@@ -318,6 +318,11 @@
<version>
2.4.1-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
cn.freemud
</groupId>
<artifactId>
order-management
</artifactId>
<version>
1.0.0-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
tk.mybatis
</groupId>
<artifactId>
mapper-spring-boot-starter
</artifactId>
</dependency>
...
...
order-application-service/src/main/java/cn/freemud/adapter/MallOrderAdapter.java
View file @
c1a67f0b
...
...
@@ -2,12 +2,11 @@ package cn.freemud.adapter;
import
cn.freemud.entities.dto.StoreDeliveryInfoDto
;
import
cn.freemud.entities.dto.UserDeliveryInfoDto
;
import
cn.freemud.entities.dto.shoppingCart.ActivityDiscountsDto
;
import
cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto
;
import
cn.freemud.entities.vo.CreateOrderVo
;
import
cn.freemud.entities.vo.SubtractStockVO
;
import
cn.freemud.enums.ActivityTypeEnum
;
import
cn.freemud.enums.OrderAccountType
;
import
cn.freemud.enums.OrderSourceType
;
import
cn.freemud.enums.*
;
import
com.freemud.application.sdk.api.ordercenter.enums.OrderClientType
;
import
com.freemud.application.sdk.api.promotioncenter.dto.promotion.GoodsStockDTO
;
import
com.freemud.application.sdk.api.promotioncenter.request.promotion.ActivityUpdateStockRequest
;
...
...
@@ -130,7 +129,7 @@ public class MallOrderAdapter {
createOrderDto
.
setPayType
(
QueryPayType
.
ONLINE_PAY
);
createOrderDto
.
setSource
(
OrderSourceType
.
SAASMALL
.
getCode
());
createOrderDto
.
setSourceName
(
OrderSourceType
.
SAASMALL
.
getDesc
());
createOrderDto
.
setOrderClient
Type
(
OrderClientType
.
SAASMALL
);
createOrderDto
.
setOrderClient
(
OrderClientType
.
SAASMALL
);
createOrderDto
.
setRemark
(
remark
);
createOrderDto
.
setGmtExpect
(
null
);
BaseCreateOrderRequest
.
DeliveryTypeInfo
deliveryTypeInfo
=
new
BaseCreateOrderRequest
.
DeliveryTypeInfo
();
...
...
@@ -141,6 +140,7 @@ public class MallOrderAdapter {
createOrderDto
.
setProvince
(
userDeliveryInfoDto
.
getReceiveProvince
());
createOrderDto
.
setCity
(
userDeliveryInfoDto
.
getReceiveCity
());
createOrderDto
.
setRegion
(
userDeliveryInfoDto
.
getReceiveRegion
());
createOrderDto
.
setMenuType
(
BusinessTypeEnum
.
SAAS_MALL
.
getName
());
return
createOrderDto
;
}
...
...
order-application-service/src/main/java/cn/freemud/controller/OrderController.java
View file @
c1a67f0b
...
...
@@ -202,15 +202,6 @@ public class OrderController {
}
/**
* 订单确认完成
*/
@ApiAnnotation
(
logMessage
=
"affirm"
)
@PostMapping
(
"/affirm"
)
public
BaseResponse
orderAffirm
(
@LogParams
@Valid
@RequestBody
OrderAffirmRequestVO
request
)
{
return
mallOrderService
.
orderAffirm
(
request
);
}
/**
* 查询30分钟未支付的优惠券订单
*/
@ApiAnnotation
(
logMessage
=
"queryOrderWithCoupon"
)
...
...
@@ -220,4 +211,13 @@ public class OrderController {
return
ResponseUtil
.
success
();
}
/**
* 订单确认完成
*/
@ApiAnnotation
(
logMessage
=
"affirm"
)
@PostMapping
(
"/affirm"
)
public
BaseResponse
orderAffirm
(
@Validated
@LogParams
@RequestBody
OrderAffirmRequestVO
request
)
{
return
mallOrderService
.
orderAffirm
(
request
);
}
}
order-application-service/src/main/java/cn/freemud/enums/OrderSourceType.java
View file @
c1a67f0b
...
...
@@ -30,9 +30,10 @@ public enum OrderSourceType {
SAAS
(
"saas"
,
"saas 点餐"
),
SAASMALL
(
"saasmall"
,
"微商城
"
),
ALIPAY
(
"alipay"
,
"支付宝小程序点餐
"
),
ALIPAY
(
"alipay"
,
"支付宝小程序点餐"
);
SAASMALL
(
"saasmall"
,
"微商城"
),
;
private
String
code
;
...
...
order-application-service/src/main/java/cn/freemud/service/impl/CheckMallOrder.java
View file @
c1a67f0b
...
...
@@ -12,63 +12,134 @@
*/
package
cn
.
freemud
.
service
.
impl
;
import
cn.freemud.base.util.DateUtil
;
import
cn.freemud.constant.ResponseCodeConstant
;
import
cn.freemud.constant.StoreConstant
;
import
cn.freemud.entities.dto.StoreDeliveryInfoDto
;
import
cn.freemud.entities.dto.UserDeliveryInfoDto
;
import
cn.freemud.entities.dto.UserLoginInfoDto
;
import
cn.freemud.entities.dto.delivery.WeixinDeliveryAddressDto
;
import
cn.freemud.entities.dto.shoppingCart.GetShoppingCartGoodsApportionDto
;
import
cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto
;
import
cn.freemud.entities.vo.CreateOrderVo
;
import
cn.freemud.entities.vo.ShoppingCartInfoRequestVo
;
import
cn.freemud.entities.vo.delivery.DeliveryAmountVo
;
import
cn.freemud.enums.BusinessTypeEnum
;
import
cn.freemud.enums.CouponFlag
;
import
cn.freemud.enums.OrderChannelType
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.interceptor.ServiceException
;
import
cn.freemud.service.delivery.ThirdDeliveryServiceImpl
;
import
cn.freemud.service.thirdparty.ShoppingCartClient
;
import
com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
;
import
com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager
;
import
com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest
;
import
com.freemud.application.sdk.api.storecenter.response.StoreResponse
;
import
com.freemud.application.sdk.api.storecenter.service.StoreCenterService
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
@Component
public
class
CheckMallOrder
{
@Autowired
private
ShoppingCartClient
shoppingCartClient
;
@Autowired
private
CheckOrder
checkOrder
;
// 缓存取用户数据用
private
ThirdDeliveryServiceImpl
thirdDeliveryService
;
@Autowired
private
UserServiceImpl
userService
;
private
AssortmentCustomerInfoManager
customerInfoManager
;
@Autowired
private
ThirdDeliveryServiceImpl
thirdDelivery
Service
;
private
StoreCenterService
storeCenter
Service
;
/**
* 下单会员相关校验
*/
public
UserLoginInfoDto
checkOrderByMember
(
CreateOrderVo
createOrderVo
,
String
trackingN
o
)
{
public
AssortmentCustomerInfoVo
checkOrderByMember
(
CreateOrderVo
createOrderV
o
)
{
// 通过sessionId查询缓存中会员id
UserLoginInfoDto
userLoginInfoDto
=
userService
.
getUserLoginInfoBySessionId
(
createOrderVo
.
getSessionId
());
String
sessionId
=
createOrderVo
.
getSessionId
();
AssortmentCustomerInfoVo
userLoginInfoDto
=
customerInfoManager
.
getCustomerInfoByObject
(
sessionId
);
if
(
userLoginInfoDto
==
null
||
StringUtils
.
isEmpty
(
userLoginInfoDto
.
getMemberId
()))
{
throw
new
ServiceException
(
ResponseResult
.
NOT_LOGIN
);
}
createOrderVo
.
setUserId
(
userLoginInfoDto
.
getMemberId
());
return
userLoginInfoDto
;
}
/**
* 查询门店信息
*/
public
StoreResponse
getStoreInfo
(
String
partnerId
,
String
shopId
,
String
trackingNo
)
{
// 获取门店信息
StoreInfoRequest
storeInfoRequest
=
new
StoreInfoRequest
(
partnerId
,
shopId
,
null
);
return
storeCenterService
.
getStoreInfo
(
storeInfoRequest
,
trackingNo
);
}
/**
* 下单门店相关校验
*/
public
StoreResponse
.
BizVO
checkOrderByStore
(
CreateOrderVo
createOrderVo
,
String
trackingNo
)
{
return
checkOrder
.
checkOrderByStore
(
createOrderVo
,
trackingNo
);
String
partnerId
=
createOrderVo
.
getPartnerId
();
String
shopId
=
createOrderVo
.
getShopId
();
// 获取门店信息
StoreResponse
storeResponse
=
getStoreInfo
(
partnerId
,
shopId
,
trackingNo
);
if
(
storeResponse
==
null
||
storeResponse
.
getBizVO
()
==
null
)
{
throw
new
ServiceException
(
ResponseResult
.
STORE_NOT_FOUND
);
}
StoreResponse
.
BizVO
storeResponseDto
=
storeResponse
.
getBizVO
();
// 校验门店是否停业 1 营业 2 停业 3 繁忙置休
if
(
storeResponseDto
.
getActiveFlag
()
==
null
||
storeResponseDto
.
getActiveFlag
()
!=
1
)
{
throw
new
ServiceException
(
ResponseResult
.
STORE_ITEM_STOP_BUSINESS
);
}
if
(!
StoreConstant
.
BUSINESS
.
equals
(
storeResponseDto
.
getState
()))
{
throw
new
ServiceException
(
ResponseResult
.
STORE_ITEM_CHECK_CLOSE
);
}
//设置营业开始和结束时间
String
businessHourStr
=
storeResponseDto
.
getBusinessHoursDay
().
replace
(
"-"
,
","
).
replace
(
"_"
,
","
);
String
[]
businessHours
=
businessHourStr
.
split
(
","
);
if
(
businessHours
.
length
!=
2
)
{
throw
new
ServiceException
(
ResponseResult
.
STORE_NOT_FOUND
);
}
Date
date
=
new
Date
();
String
startDateTimeStr
=
DateUtil
.
convert2String
(
date
,
DateUtil
.
FORMAT_YMD
)
+
" "
+
businessHours
[
0
]
+
":00"
;
Date
startDateTime
=
DateUtil
.
convert2Date
(
startDateTimeStr
,
DateUtil
.
FORMAT_YYYY_MM_DD_HHMMSS
);
String
endDateTimeStr
=
DateUtil
.
convert2String
(
date
,
DateUtil
.
FORMAT_YMD
)
+
" "
+
businessHours
[
1
]
+
":00"
;
SimpleDateFormat
hhmmss
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
Date
endDateTime
;
try
{
endDateTime
=
hhmmss
.
parse
(
endDateTimeStr
);
}
catch
(
ParseException
e
)
{
throw
new
ServiceException
(
ResponseResult
.
STORE_BUSINESS_HOUR_ERROR
);
}
storeResponseDto
.
setBusinessHoursDayStartTime
(
startDateTime
);
storeResponseDto
.
setBusinessHoursDayEndTime
(
endDateTime
);
// 校验门店是否打烊,打烊了则不让操作
if
(
storeResponseDto
.
getBusinessHoursDayStartTime
()
==
null
||
storeResponseDto
.
getBusinessHoursDayEndTime
()
==
null
)
{
throw
new
ServiceException
(
ResponseResult
.
STORE_ITEM_STOP_BUSINESS
);
}
// 桌号不为空,查数据库重新设置桌号
/*if (StringUtils.isNotBlank(createOrderVo.getTableNumber())) {
createOrderVo.setTableNumber(getTableNumber(partnerId, shopId, createOrderVo.getTableNumber()));
}*/
createOrderVo
.
setStoreName
(
storeResponseDto
.
getStoreName
());
createOrderVo
.
setStoreAddress
(
storeResponseDto
.
getAddress
());
createOrderVo
.
setThirdShopId
(
storeResponseDto
.
getThirdPartCode
());
return
storeResponseDto
;
}
/**
* 下单配送相关校验
*/
public
void
checkOrderByDelivery
(
CreateOrderVo
createOrderVo
,
UserLoginInfoDt
o
userLoginInfoDto
,
public
void
checkOrderByDelivery
(
CreateOrderVo
createOrderVo
,
AssortmentCustomerInfoV
o
userLoginInfoDto
,
StoreResponse
.
BizVO
storeResponseDto
,
Long
totalAmount
,
String
trackingNo
)
{
StoreDeliveryInfoDto
storeDeliveryInfoDto
=
this
.
getStoreDeliveryInfo
(
storeResponseDto
,
userLoginInfoDto
.
getWxAppId
());
//订单金额小于起送费提示
...
...
@@ -90,6 +161,7 @@ public class CheckMallOrder {
.
flag
(
CouponFlag
.
NO
.
getCode
())
.
useCustomerScore
(
createOrderVo
.
getUseCustomerScore
())
.
channelType
(
OrderChannelType
.
SAASMALL
.
getCode
())
.
menuType
(
BusinessTypeEnum
.
SAAS_MALL
.
getName
())
.
build
();
// 通过购物车获取优惠信息
GetShoppingCartGoodsApportionDto
requestDto
=
new
GetShoppingCartGoodsApportionDto
();
...
...
order-application-service/src/main/java/cn/freemud/service/impl/CouponActivityServiceImpl.java
View file @
c1a67f0b
...
...
@@ -131,7 +131,7 @@ public class CouponActivityServiceImpl implements CouponActivityService {
try
{
//移除卡包失败,邮件报警
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
baseResponse
=
offlineCouponSdkService
.
callbackNotify
(
couponCode
,
orderCode
,
partnerId
,
""
);
if
(!
Objects
.
equals
(
baseResponse
.
get
Status
Code
(),
ResponseResult
.
SUCCESS
.
getCode
()))
{
if
(!
Objects
.
equals
(
baseResponse
.
getCode
(),
ResponseResult
.
SUCCESS
.
getCode
()))
{
emailAlertService
.
sendEmailAlert
(
"券码移除卡包失败"
,
String
.
format
(
"request:%s \r\nresponse:%s"
,
"券码号:"
+
couponCode
+
"订单号:"
+
orderCode
,
JSONObject
.
toJSONString
(
baseResponse
)));
return
ResponseUtil
.
error
(
ResponseResult
.
COUPON_CALLBACK_FAIL
);
}
...
...
order-application-service/src/main/java/cn/freemud/service/impl/MallOrderServiceImpl.java
View file @
c1a67f0b
This diff is collapsed.
Click to expand it.
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
View file @
c1a67f0b
...
...
@@ -212,11 +212,11 @@ public class OrderServiceImpl implements Orderservice {
@Autowired
private
ActivityApplicationClient
activityApplicationClient
;
@Autowired
private
MallOrderServiceImpl
mallOrderService
;
@Autowired
private
AssortmentOpenPlatformWxappAuthorizerManager
wxappAuthorizerManager
;
@Autowired
private
PaymentNewClient
paymentNewClient
;
@Autowired
private
MallOrderServiceImpl
mallOrderService
;
...
...
@@ -2173,21 +2173,6 @@ public class OrderServiceImpl implements Orderservice {
}
/**
* 历史判断围餐是从userLoginInfoDto判断iappid的。
* 商城订单从前端传channelType区分,
* 默认点餐
*/
private
String
getQueryOrderChannelType
(
QueryOrderVo
queryOrderVo
,
AssortmentCustomerInfoVo
userLoginInfoDto
)
{
String
channelType
=
OrderChannelType
.
SAAS
.
getCode
();
if
(
IappIdType
.
WC_XCX
.
getCode
().
equals
(
userLoginInfoDto
.
getIappId
()))
{
channelType
=
OrderChannelType
.
IWC
.
getCode
();
}
else
if
(
OrderChannelType
.
SAASMALL
.
getCode
().
equals
(
queryOrderVo
.
getChannelType
()))
{
channelType
=
OrderChannelType
.
SAASMALL
.
getCode
();
}
return
channelType
;
}
/**
* 下单支付
*/
private
BaseResponse
createOrderAndPay
(
CreateOrderVo
createOrderVo
,
StoreResponse
.
BizVO
storeResponseDto
,
ShoppingCartGoodsDto
shoppingCartGoodsDto
,
...
...
@@ -2395,4 +2380,19 @@ public class OrderServiceImpl implements Orderservice {
}
/**
* 历史判断围餐是从userLoginInfoDto判断iappid的。
* 商城订单从前端传channelType区分,
* 默认点餐
*/
private
String
getQueryOrderChannelType
(
QueryOrderVo
queryOrderVo
,
AssortmentCustomerInfoVo
userLoginInfoDto
)
{
String
channelType
=
OrderChannelType
.
SAAS
.
getCode
();
if
(
IappIdType
.
WC_XCX
.
getCode
().
equals
(
userLoginInfoDto
.
getIappId
()))
{
channelType
=
OrderChannelType
.
IWC
.
getCode
();
}
else
if
(
OrderChannelType
.
SAASMALL
.
getCode
().
equals
(
queryOrderVo
.
getChannelType
()))
{
channelType
=
OrderChannelType
.
SAASMALL
.
getCode
();
}
return
channelType
;
}
}
order-management/pom.xml
View file @
c1a67f0b
...
...
@@ -60,6 +60,74 @@
<groupId>
cn.freemud.commons
</groupId>
<artifactId>
commons-base
</artifactId>
</dependency>
<dependency>
<groupId>
io.springfox
</groupId>
<artifactId>
springfox-swagger2
</artifactId>
<version>
2.7.0
</version>
<scope>
provided
</scope>
<exclusions>
<exclusion>
<groupId>
org.springframework
</groupId>
<artifactId>
spring-core
</artifactId>
</exclusion>
<exclusion>
<groupId>
org.springframework
</groupId>
<artifactId>
spring-beans
</artifactId>
</exclusion>
<exclusion>
<groupId>
org.springframework
</groupId>
<artifactId>
spring-context
</artifactId>
</exclusion>
<exclusion>
<groupId>
org.springframework
</groupId>
<artifactId>
spring-context-support
</artifactId>
</exclusion>
<exclusion>
<groupId>
org.springframework
</groupId>
<artifactId>
spring-aop
</artifactId>
</exclusion>
<exclusion>
<groupId>
org.springframework
</groupId>
<artifactId>
spring-tx
</artifactId>
</exclusion>
<exclusion>
<groupId>
org.springframework
</groupId>
<artifactId>
spring-orm
</artifactId>
</exclusion>
<exclusion>
<groupId>
org.springframework
</groupId>
<artifactId>
spring-jdbc
</artifactId>
</exclusion>
<exclusion>
<groupId>
org.springframework
</groupId>
<artifactId>
spring-web
</artifactId>
</exclusion>
<exclusion>
<groupId>
org.springframework
</groupId>
<artifactId>
spring-webmvc
</artifactId>
</exclusion>
<exclusion>
<groupId>
org.springframework
</groupId>
<artifactId>
spring-oxm
</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>
io.springfox
</groupId>
<artifactId>
springfox-swagger-ui
</artifactId>
<version>
2.7.0
</version>
<scope>
provided
</scope>
</dependency>
</dependencies>
</project>
order-management/src/main/java/cn/freemud/management/controller/DeliveryOrderController.java
0 → 100644
View file @
c1a67f0b
package
cn
.
freemud
.
management
.
controller
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.management.service.OrderDeliveryService
;
import
com.freemud.application.sdk.api.log.ApiAnnotation
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* 创建配送单
*/
@Slf4j
@RequestMapping
(
"/order"
)
@RestController
@Validated
public
class
DeliveryOrderController
{
@Autowired
private
OrderDeliveryService
orderDeliveryService
;
@ApiAnnotation
(
logMessage
=
"创建配送单"
)
@ApiOperation
(
value
=
"创建配送单"
,
notes
=
"创建配送单"
,
produces
=
"application/json"
)
@GetMapping
(
"/delivery/create"
)
public
BaseResponse
deliveryCreate
(
@RequestParam
(
"orderCode"
)
String
orderCode
,
@RequestParam
(
value
=
"operator"
,
required
=
false
)
String
operator
)
{
return
orderDeliveryService
.
createDelivery
(
orderCode
);
}
}
order-management/src/main/java/cn/freemud/management/service/OrderDeliveryService.java
View file @
c1a67f0b
...
...
@@ -2,6 +2,7 @@ package cn.freemud.management.service;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.log.LogTreadLocal
;
import
cn.freemud.management.util.CheckException
;
import
cn.freemud.management.util.CommonResp
;
import
com.freemud.application.sdk.api.deliverycenter.dto.CreateDeliveryOrderRequestDto
;
import
com.freemud.application.sdk.api.deliverycenter.response.CreateDeliveryOrderResponseDto
;
...
...
@@ -11,6 +12,9 @@ import com.freemud.application.sdk.api.storecenter.response.StoreResponse;
import
com.freemud.application.sdk.api.storecenter.service.StoreCenterService
;
import
com.freemud.sdk.api.assortment.order.enums.OrderSourceType
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
com.google.common.base.Throwables
;
import
javafx.util.Pair
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
...
...
@@ -20,6 +24,7 @@ import java.util.ArrayList;
import
java.util.Date
;
import
java.util.List
;
@Slf4j
@Service
public
class
OrderDeliveryService
{
...
...
@@ -36,31 +41,42 @@ public class OrderDeliveryService {
private
int
SUCCESS
=
100
;
private
String
delivery_type_self
=
"self"
;
/**
* 外卖单创建配送信息
*
* @param orderCode
* @return
*/
public
BaseResponse
createDelivery
(
String
orderCode
)
{
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
=
orderBaseService
.
getByOrderCode
(
orderCode
);
return
CommonResp
.
success
(
this
.
createDelivery
(
orderBean
));
}
public
Boolean
createDelivery
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
)
{
//判断外卖单
if
(
1
!=
orderBean
.
getType
())
{
return
true
;
}
if
(!
orderBean
.
getSource
().
equalsIgnoreCase
(
OrderSourceType
.
SAAS
.
getCode
()))
{
return
true
;
if
(
null
==
orderBean
)
{
return
CommonResp
.
fail
(
"订单不存在"
);
}
//配送信息为空,则不创建配送单
if
(
orderBean
.
getAddInfo
()
==
null
||
orderBean
.
getAddInfo
().
getDeliveryType
()
==
null
)
{
return
true
;
Pair
<
Boolean
,
String
>
pair
=
checkOrderOfDelivery
(
orderBean
);
if
(!
pair
.
getKey
())
{
log
.
info
(
"无需创建配送单({}),{}"
,
orderBean
.
getOid
(),
pair
.
getValue
());
return
CommonResp
.
success
(
pair
.
getValue
());
}
//自配送不创建配送单
if
(
delivery_type_self
.
equalsIgnoreCase
(
orderBean
.
getAddInfo
().
getDeliveryType
()))
{
return
true
;
try
{
this
.
createDelivery
(
orderBean
);
}
catch
(
CheckException
e
)
{
log
.
error
(
"创建配送单失败({}),trace:{}"
,
orderCode
,
Throwables
.
getStackTraceAsString
(
e
));
return
CommonResp
.
fail
(
e
.
getMessage
());
}
return
CommonResp
.
success
();
}
/**
* 创建配送信息
*
* @param orderBean
* @return
*/
public
Boolean
createDelivery
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
)
{
StoreInfoRequest
storeInfoRequestDto
=
new
StoreInfoRequest
(
orderBean
.
getCompanyId
(),
orderBean
.
getShopId
());
StoreResponse
storeInfo
=
storeCenterService
.
getStoreInfo
(
storeInfoRequestDto
,
LogTreadLocal
.
getTrackingNo
());
if
(
SUCCESS
!=
storeInfo
.
getStatusCode
()
||
storeInfo
.
getBizVO
()
==
null
)
{
return
false
;
throw
new
CheckException
(
"查询门店信息失败"
)
;
}
// 调用配送系统创建配送单
...
...
@@ -70,15 +86,40 @@ public class OrderDeliveryService {
//创建配送单失败,更新订单为异常单
if
(
deliveryResponse
==
null
||
SUCCESS
!=
deliveryResponse
.
getCode
()
||
deliveryResponse
.
getData
()
==
null
)
{
String
deliveryId
=
deliveryResponse
!=
null
&&
deliveryResponse
.
getData
()
!=
null
?
deliveryResponse
.
getData
().
getDeliveryId
()
:
""
;
orderBaseService
.
updateDeliveryAbnormal
(
orderBean
.
getCompanyId
(),
orderBean
.
getOid
(),
deliveryId
,
""
);
return
false
;
orderBaseService
.
updateDeliveryAbnormal
(
orderBean
.
getCompanyId
(),
orderBean
.
getOid
(),
deliveryId
,
"
sys
"
);
throw
new
CheckException
(
"创建配送单信息失败,配送状态更新为配送异常"
)
;
}
// 创建配送单成功
orderBaseService
.
updateDeliverySuccess
(
orderBean
.
getOid
(),
deliveryResponse
.
getData
().
getDeliveryId
(),
""
);
orderBaseService
.
updateDeliverySuccess
(
orderBean
.
getOid
(),
deliveryResponse
.
getData
().
getDeliveryId
(),
"
sys
"
);
return
true
;
}
/**
* 校验订单是否符合创建配送单要求
*
* @param orderBean
* @return
*/
public
Pair
<
Boolean
,
String
>
checkOrderOfDelivery
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
)
{
//判断外卖单
if
(
1
!=
orderBean
.
getType
())
{
return
new
Pair
<>(
false
,
"该订单不是外卖类型订单"
);
}
if
(!
orderBean
.
getSource
().
equalsIgnoreCase
(
OrderSourceType
.
SAAS
.
getCode
()))
{
return
new
Pair
<>(
false
,
"订单来源异常"
);
}
//配送信息为空,则不创建配送单
if
(
orderBean
.
getAddInfo
()
==
null
||
orderBean
.
getAddInfo
().
getDeliveryType
()
==
null
)
{
return
new
Pair
<>(
false
,
"未找到订单配送信息"
);
}
//自配送不创建配送单
if
(
delivery_type_self
.
equalsIgnoreCase
(
orderBean
.
getAddInfo
().
getDeliveryType
()))
{
return
new
Pair
<>(
false
,
"该订单为自配送"
);
}
return
new
Pair
<>(
true
,
"success"
);
}
/**
* 创建配送单请求对象
*
* @param order
...
...
order-management/src/main/java/cn/freemud/management/util/CheckException.java
0 → 100644
View file @
c1a67f0b
package
cn
.
freemud
.
management
.
util
;
import
lombok.Getter
;
@Getter
public
class
CheckException
extends
RuntimeException
{
protected
ResponseCodeEnum
responseCodeEnum
;
public
CheckException
(
ResponseCodeEnum
responseCodeEnum
)
{
super
(
responseCodeEnum
.
msg
);
this
.
responseCodeEnum
=
responseCodeEnum
;
}
public
CheckException
(
String
message
)
{
super
(
message
);
}
}
\ No newline at end of file
order-management/src/main/java/cn/freemud/management/util/CommonResp.java
View file @
c1a67f0b
...
...
@@ -49,6 +49,10 @@ public class CommonResp<T> extends BaseResponse<T> {
return
new
CommonResp
(
ResponseCodeEnum
.
FAILURE
);
}
public
static
CommonResp
fail
(
String
message
)
{
return
new
CommonResp
(
ResponseCodeEnum
.
FAILURE
.
code
,
message
);
}
public
static
CommonResp
fail
(
Object
data
)
{
return
new
CommonResp
(
ResponseCodeEnum
.
FAILURE
,
data
);
}
...
...
ordercenter-sdk/pom.xml
View file @
c1a67f0b
...
...
@@ -8,7 +8,7 @@
<version>
1.0.0
</version>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<version>
1.1.
4
-SNAPSHOT
</version>
<version>
1.1.
5
-SNAPSHOT
</version>
<artifactId>
ordercenter-sdk
</artifactId>
<dependencies>
...
...
ordercenter-sdk/readme.md
View file @
c1a67f0b
...
...
@@ -10,4 +10,5 @@
| 1.1.2-SNAPSHOT | 创建订单新增部分参数 | 侯书虎 | 2020-01-03 |
| 1.1.1.RELEASE| 1.9.9需求打包release版本 | 丁凯 | 2020-01-08 |
| 1.1.2.RELEASE| 农工商订单submit | 侯书虎 | 2020-01-13 |
| 1.1.4-SNAPSHOT| 开放平台专用创建订单接口 | 姜海波 | 2020-02-17 |
\ No newline at end of file
| 1.1.4-SNAPSHOT| 开放平台专用创建订单接口 | 姜海波 | 2020-02-17 |
| 1.1.5-SNAPSHOT | 优化活动订单 | 胡超 | 2020-02-10 |
\ No newline at end of file
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/constant/InterfaceAddressConstant.java
View file @
c1a67f0b
...
...
@@ -151,4 +151,9 @@ public class InterfaceAddressConstant {
* 根据订单号查询订单详情
*/
public
static
final
String
QUERY_ORDER_BY_CODE
=
"order/v2/queryOrderByCode"
;
/**
* 根据用户ID 查询30分钟内未支付并且有券的 订单
*/
public
static
final
String
QUERY_ORDER_WITH_COUPON
=
"order/v2/queryOrderWithCoupon"
;
}
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/request/OrderConditionsReq.java
View file @
c1a67f0b
...
...
@@ -106,4 +106,9 @@ public class OrderConditionsReq {
//订单业务类型 1:普通订单 2:虚拟订单
private
Integer
bizType
;
// 外部对象ID 如:活动ID
private
List
<
String
>
externalObjectIds
;
// 外部对象ID 如:活动类型
private
List
<
Integer
>
settlementTypes
;
}
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/service/OrderSdkService.java
View file @
c1a67f0b
...
...
@@ -679,4 +679,19 @@ public class OrderSdkService {
return
responseHandle
(
responseDTO
);
}
/**
* 根据用户ID 查询30分钟内未支付并且有券的 订单
*
* @param userId 用户ID
* @param trackingNo 交易号
* @return
*/
public
BaseResponse
<
QueryOrderForUserResp
>
queryOrderWithCoupon
(
String
userId
,
String
trackingNo
)
{
String
url
=
InterfaceAddressConstant
.
QUERY_ORDER_WITH_COUPON
+
"?userId="
+
userId
;
OrderBaseResp
<
QueryOrderForUserResp
>
responseDTO
=
RequestThirdPartyUtils
.
httpJsonReqComplexNew
(
restTemplate
,
url
,
createBaseRequest
(
null
,
trackingNo
),
new
ParameterizedTypeReference
<
OrderBaseResp
<
QueryOrderForUserResp
>>()
{
});
return
responseHandle
(
responseDTO
);
}
}
shopping-cart-application-service/pom.xml
View file @
c1a67f0b
...
...
@@ -35,12 +35,12 @@
<dependency>
<groupId>
com.freemud.application.service.sdk
</groupId>
<artifactId>
productcenter-sdk
</artifactId>
<version>
2.7.
4.RELEASE
</version>
<version>
2.7.
5-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
com.freemud.application.service.sdk
</groupId>
<artifactId>
couponcenter-sdk
</artifactId>
<version>
1.
1
.RELEASE
</version>
<version>
1.
8
.RELEASE
</version>
</dependency>
<dependency>
<groupId>
cn.freemud
</groupId>
...
...
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartGoodsResponseVo.java
View file @
c1a67f0b
...
...
@@ -69,6 +69,11 @@ public class ShoppingCartGoodsResponseVo extends ShoppingCartGoodsBaseResponseV
private
String
svcDiscountDesc
;
/**
* svc卡开关标识
*/
private
boolean
svcSwitch
;
/**
* 可用优惠券列表
*/
private
ActivityClassifyCouponBean
availableCoupon
;
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartMallServiceImpl.java
View file @
c1a67f0b
...
...
@@ -111,7 +111,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
//商品skuId或者商品券的商品id
String
spuId2
=
spuId
;
// 获取商品详细信息
List
<
ProductBeanDTO
>
productBeanListSpuClass
=
assortmentSdkService
.
getProductsInfoSdk
(
partnerId
,
storeId
,
Collections
.
singletonList
(
spuId2
),
BusinessTypeEnum
.
SAAS_MALL
.
getName
(),
this
.
shoppingCartBaseService
);
List
<
ProductBeanDTO
>
productBeanListSpuClass
=
assortmentSdkService
.
getProductsInfoSdk
(
partnerId
,
storeId
,
Collections
.
singletonList
(
spuId2
),
BusinessTypeEnum
.
SAAS_MALL
.
getName
(),
this
.
shoppingCartBaseService
);
//查询多个商品库存信息
queryManyGoodsStocks
(
addShoppingCartGoodsRequestVo
,
productIds
,
productBeanListSpuClass
,
skuId
);
...
...
@@ -232,7 +232,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
//查询商品信息
List
<
String
>
pids
=
new
ArrayList
<>();
pids
.
add
(
cartGoods
.
getGoodsId
());
Map
<
String
,
GetProductsVo
>
products
=
itemService
.
getProducts
(
pids
,
partnerId
,
storeId
,
"saasmall"
);
Map
<
String
,
GetProductsVo
>
products
=
itemService
.
getProducts
(
pids
,
partnerId
,
storeId
,
BusinessTypeEnum
.
SAAS_MALL
.
getCode
()
);
GetProductsVo
getProductsVo
=
products
.
get
(
cartGoods
.
getGoodsId
());
// 商品没有库存限制
...
...
@@ -240,7 +240,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
return
;
}
GetProductStockRequestDto
requestDto
=
new
GetProductStockRequestDto
();
requestDto
.
setChannel
(
"saas"
);
requestDto
.
setChannel
(
BusinessTypeEnum
.
SAAS_MALL
.
getCode
()
);
requestDto
.
setPartnerId
(
partnerId
);
requestDto
.
setStoreId
(
storeId
);
requestDto
.
setProductIds
(
Collections
.
singletonList
(
Long
.
parseLong
(
cartGoods
.
getGoodsId
())));
...
...
@@ -591,7 +591,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
private
void
queryManyGoodsStocks
(
AddShoppingCartGoodsRequestVo
addShoppingCartGoodsRequestVo
,
List
<
Long
>
productIds
,
List
<
ProductBeanDTO
>
productBeanListSpuClass
,
String
skuId
)
{
GetProductStockRequestDto
requestDto
=
new
GetProductStockRequestDto
();
requestDto
.
setChannel
(
"saas"
);
requestDto
.
setChannel
(
BusinessTypeEnum
.
SAAS_MALL
.
getCode
()
);
requestDto
.
setPartnerId
(
addShoppingCartGoodsRequestVo
.
getPartnerId
());
requestDto
.
setStoreId
(
addShoppingCartGoodsRequestVo
.
getShopId
());
requestDto
.
setProductIds
(
productIds
);
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
View file @
c1a67f0b
...
...
@@ -1252,10 +1252,12 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
* 储值卡支付余额校验
* 校验订单商品金额与外卖配送费
*/
private
void
SVCCardPay
(
String
cardCode
,
String
receiveId
,
String
partnerId
,
String
storeId
,
private
boolean
SVCCardPay
(
String
cardCode
,
String
receiveId
,
String
partnerId
,
String
storeId
,
ShoppingCartGoodsResponseVo
shoppingCartGoodsResponseVo
)
{
//svc储值卡开关
boolean
svcSwitch
=
false
;
if
(
StringUtils
.
isBlank
(
cardCode
))
{
return
;
return
false
;
}
Integer
orderAmount
=
shoppingCartGoodsResponseVo
.
getTotalAmount
().
intValue
();
String
trackingNo
=
LogThreadLocal
.
getTrackingNo
();
...
...
@@ -1277,12 +1279,17 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
Integer
amount1
=
response
.
getData
().
getData
().
getCardSimpleInfos
().
get
(
0
).
getAmount
();
Integer
vamount
=
response
.
getData
().
getData
().
getCardSimpleInfos
().
get
(
0
).
getVamount
();
if
(
orderAmount
>
amount1
+
vamount
)
{
throw
new
ServiceException
(
ResponseResult
.
USER_SVC_CARD_AMOUNT_DEFICIENCY
);
//throw new ServiceException(ResponseResult.USER_SVC_CARD_AMOUNT_DEFICIENCY);
shoppingCartGoodsResponseVo
.
setSvcSwitch
(
svcSwitch
);
return
false
;
}
svcSwitch
=
true
;
BigDecimal
bigDecimal
=
new
BigDecimal
(
orderAmount
);
String
amountStr
=
bigDecimal
.
divide
(
new
BigDecimal
(
100
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
).
toString
();
shoppingCartGoodsResponseVo
.
setTotalAmount
(
0L
);
shoppingCartGoodsResponseVo
.
setSvcDiscountDesc
(
"储值卡支付¥"
+
amountStr
);
shoppingCartGoodsResponseVo
.
setSvcSwitch
(
svcSwitch
);
return
true
;
}
/**
...
...
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