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
order-group-application
order-group
Commits
3f8d4635
Commit
3f8d4635
authored
May 22, 2020
by
ping.wu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
买券订单创建
parent
60cbeabe
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
296 additions
and
5 deletions
+296
-5
order-application-service/pom.xml
+1
-1
order-application-service/src/main/java/cn/freemud/controller/CreateOrderController.java
+46
-0
order-application-service/src/main/java/cn/freemud/entities/vo/SellCouponCreateOrderVo.java
+63
-0
order-application-service/src/main/java/cn/freemud/service/impl/CheckOrder.java
+15
-3
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
+1
-1
order-application-service/src/main/java/cn/freemud/service/impl/SellCouponOrderServiceImpl.java
+170
-0
No files found.
order-application-service/pom.xml
View file @
3f8d4635
...
@@ -45,7 +45,7 @@
...
@@ -45,7 +45,7 @@
<dependency>
<dependency>
<groupId>
com.freemud.application.service.sdk
</groupId>
<groupId>
com.freemud.application.service.sdk
</groupId>
<artifactId>
productcenter-sdk
</artifactId>
<artifactId>
productcenter-sdk
</artifactId>
<version>
2.
6.RELEASE
</version>
<version>
2.
8.4-SNAPSHOT
</version>
</dependency>
</dependency>
<dependency>
<dependency>
<artifactId>
membercenter-sdk
</artifactId>
<artifactId>
membercenter-sdk
</artifactId>
...
...
order-application-service/src/main/java/cn/freemud/controller/CreateOrderController.java
0 → 100644
View file @
3f8d4635
package
cn
.
freemud
.
controller
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.entities.vo.SellCouponCreateOrderVo
;
import
cn.freemud.service.impl.SellCouponOrderServiceImpl
;
import
com.freemud.application.sdk.api.log.ApiAnnotation
;
import
com.freemud.application.sdk.api.log.LogParams
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: CreateOrderController
* @Package cn.freemud.controller
* @Description:
* @author: ping1.wu
* @date: 2020/5/21 17:16
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Slf4j
@RequestMapping
(
"/order"
)
@RestController
@Validated
public
class
CreateOrderController
{
@Autowired
private
SellCouponOrderServiceImpl
sellCouponOrderService
;
/**
* 卖券订单创建
*/
@ApiAnnotation
(
logMessage
=
"sellCouponOrderCreate"
)
@PostMapping
(
"/sellCouponOrder/create"
)
public
BaseResponse
sellCouponOrderCreate
(
@Validated
@LogParams
@RequestBody
SellCouponCreateOrderVo
requestVo
)
{
return
sellCouponOrderService
.
createOrder
(
requestVo
);
}
}
order-application-service/src/main/java/cn/freemud/entities/vo/SellCouponCreateOrderVo.java
0 → 100644
View file @
3f8d4635
package
cn
.
freemud
.
entities
.
vo
;
import
cn.freemud.entities.dto.UserDeliveryInfoDto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Builder
;
import
lombok.Data
;
import
org.hibernate.validator.constraints.NotEmpty
;
import
javax.validation.Valid
;
import
javax.validation.constraints.Pattern
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: SellCouponCreateOrderVo
* @Package cn.freemud.entities.vo
* @Description:
* @author: ping1.wu
* @date: 2020/5/21 17:27
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Data
public
class
SellCouponCreateOrderVo
{
@NotEmpty
(
message
=
"sessionId 不能为空"
)
private
String
sessionId
;
@NotEmpty
(
message
=
"shopId 门店号不能为空"
)
private
String
shopId
;
//一键买券必传
@NotEmpty
(
message
=
"skuId 不能为空"
)
private
String
skuId
;
/**
* svc 储值卡支付使用
*/
private
String
cardCode
;
@Builder
.
Default
@NotEmpty
(
message
=
"menuType 不能为空"
)
private
String
menuType
=
"saas"
;
/**
* form_id 用于金额是0的情况,支付宝模板消息需要传
*/
private
String
formId
;
/**
* 业务类型
*/
@NotEmpty
(
message
=
"bizType 业务类型不能为空"
)
private
String
bizType
;
/**
* 版本号
*/
@NotEmpty
(
message
=
"version 版本号不能为空"
)
private
String
version
;
}
order-application-service/src/main/java/cn/freemud/service/impl/CheckOrder.java
View file @
3f8d4635
...
@@ -115,12 +115,24 @@ public class CheckOrder {
...
@@ -115,12 +115,24 @@ public class CheckOrder {
throw
new
ServiceException
(
ResponseResult
.
NOT_LOGIN
);
throw
new
ServiceException
(
ResponseResult
.
NOT_LOGIN
);
}
}
//校验会员svc卡信息
//校验会员svc卡信息
checkCardCode
(
createOrderVo
.
getPartnerId
(),
userLoginInfoDto
.
getMemberId
(),
createOrderVo
.
getCardCode
()
,
trackingNo
);
checkCardCode
(
createOrderVo
.
getPartnerId
(),
userLoginInfoDto
.
getMemberId
(),
createOrderVo
.
getCardCode
());
createOrderVo
.
setUserId
(
userLoginInfoDto
.
getMemberId
());
createOrderVo
.
setUserId
(
userLoginInfoDto
.
getMemberId
());
return
userLoginInfoDto
;
return
userLoginInfoDto
;
}
}
public
AssortmentCustomerInfoVo
checkOrderByMemberNew
(
String
sessionId
,
String
cardCode
)
{
// 通过sessionId查询缓存中会员id
AssortmentCustomerInfoVo
userLoginInfoDto
=
customerInfoManager
.
getCustomerInfoByObject
(
sessionId
);
if
(
userLoginInfoDto
==
null
||
StringUtils
.
isEmpty
(
userLoginInfoDto
.
getMemberId
()))
{
throw
new
ServiceException
(
ResponseResult
.
NOT_LOGIN
);
}
//校验会员svc卡信息
checkCardCode
(
userLoginInfoDto
.
getPartnerId
(),
userLoginInfoDto
.
getMemberId
(),
cardCode
);
return
userLoginInfoDto
;
}
/**
/**
* 查询门店信息
* 查询门店信息
*/
*/
...
@@ -494,14 +506,14 @@ public class CheckOrder {
...
@@ -494,14 +506,14 @@ public class CheckOrder {
}
}
public
void
checkCardCode
(
String
partnerId
,
String
memberId
,
String
cardCode
,
String
trackingNo
){
public
void
checkCardCode
(
String
partnerId
,
String
memberId
,
String
cardCode
){
if
(
StringUtils
.
isBlank
(
cardCode
)){
if
(
StringUtils
.
isBlank
(
cardCode
)){
return
;
return
;
}
}
StatisticalPropertyRequest
request
=
new
StatisticalPropertyRequest
();
StatisticalPropertyRequest
request
=
new
StatisticalPropertyRequest
();
request
.
setPartnerId
(
partnerId
);
request
.
setPartnerId
(
partnerId
);
request
.
setMemberId
(
memberId
);
request
.
setMemberId
(
memberId
);
BaseResponse
<
List
<
GetSvcInfoByMemberIdResponse
>>
responseDTO
=
memberPropertyService
.
getSvcInfoByMemberId
(
request
,
trackingNo
);
BaseResponse
<
List
<
GetSvcInfoByMemberIdResponse
>>
responseDTO
=
memberPropertyService
.
getSvcInfoByMemberId
(
request
,
LogThreadLocal
.
getTrackingNo
()
);
if
(!
ResponseResult
.
SUCCESS
.
getCode
().
equals
(
responseDTO
.
getCode
())
||
responseDTO
.
getData
()
==
null
if
(!
ResponseResult
.
SUCCESS
.
getCode
().
equals
(
responseDTO
.
getCode
())
||
responseDTO
.
getData
()
==
null
||
responseDTO
.
getData
().
size
()
==
0
)
{
||
responseDTO
.
getData
().
size
()
==
0
)
{
throw
new
ServiceException
(
ResponseResult
.
USER_SVC_CARD_ERROR
);
throw
new
ServiceException
(
ResponseResult
.
USER_SVC_CARD_ERROR
);
...
...
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
View file @
3f8d4635
...
@@ -1732,7 +1732,7 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -1732,7 +1732,7 @@ public class OrderServiceImpl implements Orderservice {
*
*
* @return
* @return
*/
*/
public
CreateOrderOperateDto
sdkCreateOrder
(
CreateOrderVo
createOrderVo
,
StoreResponse
.
BizVO
storeResponseDto
,
ShoppingCartGoodsDto
shoppingCartGoodsDto
,
public
CreateOrderOperateDto
sdkCreateOrder
(
CreateOrderVo
createOrderVo
,
StoreResponse
.
BizVO
storeResponseDto
,
ShoppingCartGoodsDto
shoppingCartGoodsDto
,
AssortmentCustomerInfoVo
userLoginInfoDto
)
{
AssortmentCustomerInfoVo
userLoginInfoDto
)
{
CreateOrderOperateDto
response
=
new
CreateOrderOperateDto
();
CreateOrderOperateDto
response
=
new
CreateOrderOperateDto
();
OrderExtendedReq
orderExtendedReq
=
orderAdapter
.
saveStoreInfo
(
storeResponseDto
);
OrderExtendedReq
orderExtendedReq
=
orderAdapter
.
saveStoreInfo
(
storeResponseDto
);
...
...
order-application-service/src/main/java/cn/freemud/service/impl/SellCouponOrderServiceImpl.java
0 → 100644
View file @
3f8d4635
package
cn
.
freemud
.
service
.
impl
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.entities.vo.SellCouponCreateOrderVo
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.redis.RedisCache
;
import
cn.freemud.utils.ResponseUtil
;
import
com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
;
import
com.freemud.application.sdk.api.base.SDKCommonBaseContextWare
;
import
com.freemud.application.sdk.api.constant.ResponseResultEnum
;
import
com.freemud.application.sdk.api.couponcenter.online.domain.AppKeyVO
;
import
com.freemud.application.sdk.api.couponcenter.online.domain.DetailVO
;
import
com.freemud.application.sdk.api.couponcenter.online.request.CouponDetailRequest
;
import
com.freemud.application.sdk.api.couponcenter.online.request.PartnerRequest
;
import
com.freemud.application.sdk.api.couponcenter.online.response.CouponDetailResponse
;
import
com.freemud.application.sdk.api.couponcenter.online.service.FMActiveSdkService
;
import
com.freemud.application.sdk.api.couponcenter.online.service.OnlineCouponSdkService
;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
import
com.freemud.application.sdk.api.productcenter.request.product.GetProductInfoRequest
;
import
com.freemud.application.sdk.api.productcenter.response.menu.GetMenuCategoryInfoResponse
;
import
com.freemud.application.sdk.api.productcenter.response.product.GetProductInfosResponse
;
import
com.freemud.application.sdk.api.productcenter.service.MenuService
;
import
com.freemud.application.sdk.api.productcenter.service.ProductService
;
import
com.freemud.application.sdk.api.storecenter.request.vo.GetOrgTreeListRequest
;
import
com.freemud.application.sdk.api.storecenter.service.StoreCenterService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.List
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: SellCouponOrderServiceImpl
* @Package cn.freemud.service.impl
* @Description:
* @author: ping1.wu
* @date: 2020/5/21 17:49
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Service
@Slf4j
public
class
SellCouponOrderServiceImpl
{
@Autowired
private
CheckOrder
checkOrder
;
@Autowired
private
MenuService
menuService
;
@Value
(
"${coupon.app.id}"
)
private
String
appId
;
String
SUCCESS
=
"100"
;
/**
* 卖券订单创建
*/
public
BaseResponse
createOrder
(
SellCouponCreateOrderVo
requestVo
){
// 查询用户信息、校验svc卡
AssortmentCustomerInfoVo
userLoginInfoDto
=
checkOrder
.
checkOrderByMemberNew
(
requestVo
.
getSessionId
(),
requestVo
.
getCardCode
());
String
trackingNo
=
LogThreadLocal
.
getTrackingNo
();
GetProductInfoRequest
request
=
new
GetProductInfoRequest
();
//获取商品(里面的活动)
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
GetProductInfosResponse
>
productInfosByIds
=
menuService
.
getProductInfosByIds
(
request
,
trackingNo
);
if
(!
SUCCESS
.
equals
(
productInfosByIds
.
getCode
())){
return
ResponseUtil
.
error
(
ResponseResultEnum
.
GET_PRODUCT_INFOS_ERROR
.
getCode
(),
ResponseResultEnum
.
GET_PRODUCT_INFOS_ERROR
.
getMessage
());
}
List
<
GetMenuCategoryInfoResponse
.
RootNodeBean
.
ChildrenBeanFirst
.
ChildrenBeanSecond
.
ProductBean
.
ProductBindingCouponType
>
productBindingCoupons
=
productInfosByIds
.
getData
().
getProducts
().
get
(
0
).
getProductBindingCouponTypes
();
if
(
CollectionUtils
.
isEmpty
(
productBindingCoupons
)){
return
ResponseUtil
.
error
(
ResponseResult
.
NOT_LOGIN
);
}
List
<
String
>
codes
=
new
ArrayList
<>();
for
(
GetMenuCategoryInfoResponse
.
RootNodeBean
.
ChildrenBeanFirst
.
ChildrenBeanSecond
.
ProductBean
.
ProductBindingCouponType
productBindingCouponType
:
productBindingCoupons
){
codes
.
add
(
productBindingCouponType
.
getActivityCode
());
}
return
null
;
}
/**
* 查询券详情
*
* @param partnerId
* @param codes
* @param trackingNo
* @return
*/
private
List
<
DetailVO
>
getCouponsDetail
(
String
partnerId
,
String
storeId
,
List
<
String
>
codes
,
String
trackingNo
)
{
String
appKey
=
getAppKey
(
partnerId
,
trackingNo
);
if
(
StringUtils
.
isEmpty
(
appKey
))
{
return
null
;
}
CouponDetailRequest
couponDetailRequest
=
new
CouponDetailRequest
();
couponDetailRequest
.
setCodes
(
codes
);
couponDetailRequest
.
setMerchantId
(
partnerId
);
couponDetailRequest
.
setPartnerId
(
partnerId
);
// 券码新增参数:组织机构
couponDetailRequest
.
setChannelIdList
(
this
.
getOrgIds
(
partnerId
,
storeId
));
OnlineCouponSdkService
onlineCouponSdkService
=
SDKCommonBaseContextWare
.
getBean
(
OnlineCouponSdkService
.
class
);
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
CouponDetailResponse
>
couponDetailResponse
=
onlineCouponSdkService
.
allDetail
(
couponDetailRequest
,
appKey
,
trackingNo
);
if
(
couponDetailResponse
==
null
||
!
SUCCESS
.
equals
(
couponDetailResponse
.
getCode
())
||
couponDetailResponse
.
getData
()
==
null
||
CollectionUtils
.
isEmpty
(
couponDetailResponse
.
getData
().
getDetails
()))
{
return
null
;
}
return
couponDetailResponse
.
getData
().
getDetails
();
}
/**
* 查询组织机构
* @param partnerId
* @param storeId
* @return
*/
private
List
<
String
>
getOrgIds
(
String
partnerId
,
String
storeId
)
{
GetOrgTreeListRequest
request
=
new
GetOrgTreeListRequest
();
request
.
setPartnerId
(
partnerId
);
request
.
setStoreCode
(
storeId
);
StoreCenterService
storeCenterService
=
SDKCommonBaseContextWare
.
getBean
(
StoreCenterService
.
class
);
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
List
<
String
>>
orgList
=
storeCenterService
.
getOrgList
(
request
,
LogThreadLocal
.
getTrackingNo
());
if
(
orgList
!=
null
&&
SUCCESS
.
equals
(
orgList
.
getCode
()))
{
return
orgList
.
getData
();
}
return
Collections
.
EMPTY_LIST
;
}
/**
* 获取商户秘钥
*
* @param partnerId
* @param trackingNo
* @return
*/
private
String
getAppKey
(
String
partnerId
,
String
trackingNo
)
{
RedisCache
redisCache
=
SDKCommonBaseContextWare
.
getBean
(
RedisCache
.
class
);
String
key
=
"kgd:coupon:appKey:partner:"
;
String
appKey
=
redisCache
.
getValue
(
key
+
partnerId
);
if
(
StringUtils
.
isEmpty
(
appKey
))
{
PartnerRequest
partnerRequest
=
new
PartnerRequest
();
partnerRequest
.
setPartnerId
(
Integer
.
parseInt
(
partnerId
));
partnerRequest
.
setAppId
(
appId
);
FMActiveSdkService
fmActiveSdkService
=
SDKCommonBaseContextWare
.
getBean
(
FMActiveSdkService
.
class
);
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
AppKeyVO
>
appKeyVOBaseResponse
=
fmActiveSdkService
.
getAppKey
(
partnerRequest
,
trackingNo
);
if
(
appKeyVOBaseResponse
==
null
||
!
"100"
.
equals
(
appKeyVOBaseResponse
.
getCode
())
||
appKeyVOBaseResponse
.
getData
()
==
null
||
StringUtils
.
isEmpty
(
appKeyVOBaseResponse
.
getData
().
getAppKey
()))
{
return
null
;
}
appKey
=
appKeyVOBaseResponse
.
getData
().
getAppKey
();
redisCache
.
save
(
key
+
partnerId
,
appKey
);
}
return
appKey
;
}
}
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