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
e310f9b3
Commit
e310f9b3
authored
Nov 30, 2020
by
缪晖
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
群收款详情接口
parent
744539c7
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
118 additions
and
15 deletions
+118
-15
order-application-service/src/main/java/cn/freemud/controller/CollageOrderController.java
+8
-0
order-application-service/src/main/java/cn/freemud/entities/dto/wechat/GroupBuyDetailResp.java
+27
-0
order-application-service/src/main/java/cn/freemud/entities/dto/wechat/GroupBuyDto.java
+5
-0
order-application-service/src/main/java/cn/freemud/service/CollageOrderService.java
+7
-0
order-application-service/src/main/java/cn/freemud/service/impl/CollageOrderServiceImpl.java
+71
-15
No files found.
order-application-service/src/main/java/cn/freemud/controller/CollageOrderController.java
View file @
e310f9b3
...
...
@@ -56,6 +56,14 @@ public class CollageOrderController {
return
collageOrderService
.
queryCollageOrderById
(
queryOrderVo
);
}
@ApiOperation
(
value
=
"拼单群收款详情"
,
notes
=
"拼单群收款详情"
)
@ApiImplicitParam
(
value
=
"请求"
,
required
=
true
,
dataType
=
"WechatGroupBuyVo"
,
name
=
"WechatGroupBuyVo"
)
@ApiAnnotation
(
logMessage
=
"createGroupBuy"
)
@PostMapping
(
value
=
"/collage/groupBuyDetail"
)
public
BaseResponse
groupBuyDetail
(
@Validated
@LogParams
@RequestBody
WechatGroupBuyVo
requestVo
)
{
return
collageOrderService
.
groupBuyDetail
(
requestVo
);
}
@ApiOperation
(
value
=
"创建拼单群收款"
,
notes
=
"创建拼单群收款"
)
@ApiImplicitParam
(
value
=
"请求"
,
required
=
true
,
dataType
=
"WechatGroupBuyVo"
,
name
=
"WechatGroupBuyVo"
)
@ApiAnnotation
(
logMessage
=
"createGroupBuy"
)
...
...
order-application-service/src/main/java/cn/freemud/entities/dto/wechat/GroupBuyDetailResp.java
0 → 100644
View file @
e310f9b3
package
cn
.
freemud
.
entities
.
dto
.
wechat
;
import
lombok.Data
;
import
java.util.List
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0.0
* @Description:
* @author: hui.miao
* @date: 2020-11-27 17:50
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Data
public
class
GroupBuyDetailResp
{
private
String
partnerId
;
private
String
shopId
;
private
String
orderCode
;
private
int
payerNum
;
private
Long
totalAmount
;
private
List
<
GroupBuyDto
>
payerList
;
}
order-application-service/src/main/java/cn/freemud/entities/dto/wechat/GroupBuyDto.java
View file @
e310f9b3
...
...
@@ -14,5 +14,10 @@ import lombok.Data;
*/
@Data
public
class
GroupBuyDto
{
private
String
userId
;
private
String
openId
;
private
String
nickName
;
private
String
photoUrl
;
private
Long
amount
;
}
order-application-service/src/main/java/cn/freemud/service/CollageOrderService.java
View file @
e310f9b3
...
...
@@ -31,6 +31,13 @@ public interface CollageOrderService {
BaseResponse
queryCollageOrderById
(
QueryOrderVo
queryOrderVo
);
/**
* 群收款详情
* @param requestVo
* @return
*/
BaseResponse
groupBuyDetail
(
WechatGroupBuyVo
requestVo
);
/**
* 创建群收款
* @param requestVo
* @return
...
...
order-application-service/src/main/java/cn/freemud/service/impl/CollageOrderServiceImpl.java
View file @
e310f9b3
...
...
@@ -16,11 +16,10 @@ package cn.freemud.service.impl;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.log.LogTreadLocal
;
import
cn.freemud.base.util.DateUtil
;
import
cn.freemud.entities.dto.wechat.GetAuthorizerRequestDto
;
import
cn.freemud.entities.dto.wechat.GetTokenResponseDto
;
import
cn.freemud.entities.dto.wechat.GroupBuyResp
;
import
cn.freemud.entities.dto.wechat.*
;
import
cn.freemud.entities.vo.QueryOrderVo
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.inteceptor.CommonServiceException
;
import
cn.freemud.service.thirdparty.EcologyAdminApplicationClient
;
import
cn.freemud.service.thirdparty.WeChatClient
;
import
com.alibaba.fastjson.JSONObject
;
...
...
@@ -84,25 +83,57 @@ public class CollageOrderServiceImpl implements CollageOrderService {
}
/**
*
创建群收款
*
群收款详情
* @param requestVo
* @return
*/
@Override
public
BaseResponse
createGroupBuy
(
WechatGroupBuyVo
requestVo
)
{
// 获取拼单订单信息,若类型不是拼单直接返回报错
BaseQueryOrderRequest
baseQueryOrderRequest
=
new
BaseQueryOrderRequest
();
baseQueryOrderRequest
.
setOrderId
(
requestVo
.
getOrderCode
());
baseQueryOrderRequest
.
setTrackingNo
(
LogTreadLocal
.
getTrackingNo
());
QueryOrderByIdResponse
response
=
orderCenterSdkService
.
queryOrderById
(
baseQueryOrderRequest
);
public
BaseResponse
groupBuyDetail
(
WechatGroupBuyVo
requestVo
)
{
// 获取拼单订单信息
QueryOrdersResponse
.
DataBean
.
OrderBean
order
=
this
.
queryOrderByOrderCode
(
requestVo
.
getOrderCode
());
if
(
!
ResponseResultEnum
.
SUCCESS
.
getCode
().
equals
(
response
.
getErrcode
())
||
response
.
getData
()
==
null
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_NOT_EXIST
);
if
(
null
==
order
)
{
ResponseUtil
.
error
(
ResponseResult
.
ORDER_NOT_EXIST
);
}
QueryOrdersResponse
.
DataBean
.
OrderBean
order
=
response
.
getData
();
if
(
null
==
order
.
getMarketingType
()
||
OrderMarketType
.
COLLAGE
.
getIndex
()
!=
order
.
getMarketingType
())
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_NOT_EXIST
);
GroupBuyDetailResp
groupBuyDetailResp
=
new
GroupBuyDetailResp
();
groupBuyDetailResp
.
setOrderCode
(
order
.
getOid
());
groupBuyDetailResp
.
setPartnerId
(
order
.
getCompanyId
());
groupBuyDetailResp
.
setShopId
(
order
.
getShopId
());
List
<
QueryOrdersResponse
.
DataBean
.
OrderBean
.
ProductBean
>
productList
=
order
.
getProductList
();
// 群收款支付用户列表 商品加购人ID不是订单创建人的列表
List
<
GroupBuyDto
>
list
=
new
ArrayList
<>();
GroupBuyDto
groupBuyDto
;
List
<
String
>
payerUserIdList
=
productList
.
stream
().
filter
(
product
->
!
order
.
getUserId
().
equals
(
product
.
getUserId
())).
map
(
QueryOrdersResponse
.
DataBean
.
OrderBean
.
ProductBean
::
getUserId
).
distinct
().
collect
(
Collectors
.
toList
());
for
(
String
payerUserId
:
payerUserIdList
)
{
groupBuyDto
=
new
GroupBuyDto
();
groupBuyDto
.
setUserId
(
payerUserId
);
groupBuyDto
.
setAmount
(
productList
.
stream
().
filter
(
product
->
payerUserId
.
equals
(
product
.
getUserId
())).
map
(
QueryOrdersResponse
.
DataBean
.
OrderBean
.
ProductBean
::
getSalePrice
).
reduce
(
Long:
:
sum
).
get
());
groupBuyDto
.
setNickName
(
productList
.
stream
().
filter
(
product
->
payerUserId
.
equals
(
product
.
getUserId
())).
findFirst
().
get
().
getNickName
());
groupBuyDto
.
setPhotoUrl
(
productList
.
stream
().
filter
(
product
->
payerUserId
.
equals
(
product
.
getUserId
())).
findFirst
().
get
().
getPhotoUrl
());
list
.
add
(
groupBuyDto
);
}
groupBuyDetailResp
.
setPayerList
(
list
);
groupBuyDetailResp
.
setPayerNum
(
list
.
size
());
groupBuyDetailResp
.
setTotalAmount
(
list
.
stream
().
map
(
GroupBuyDto:
:
getAmount
).
reduce
(
Long:
:
sum
).
get
());
return
ResponseUtil
.
success
(
groupBuyDetailResp
);
}
/**
* 创建群收款
* @param requestVo
* @return
*/
@Override
public
BaseResponse
createGroupBuy
(
WechatGroupBuyVo
requestVo
)
{
// 获取拼单订单信息
QueryOrdersResponse
.
DataBean
.
OrderBean
order
=
this
.
queryOrderByOrderCode
(
requestVo
.
getOrderCode
());
if
(
null
==
order
)
{
ResponseUtil
.
error
(
ResponseResult
.
ORDER_NOT_EXIST
);
}
// 根据sessionId获取当前用户信息以及appid
...
...
@@ -168,4 +199,29 @@ public class CollageOrderServiceImpl implements CollageOrderService {
return
ResponseUtil
.
error
(
"创建群收款失败"
);
}
}
/**
* 根据orderCode获取订单信息
* @param orderCode
* @return
*/
private
QueryOrdersResponse
.
DataBean
.
OrderBean
queryOrderByOrderCode
(
String
orderCode
)
{
// 获取拼单订单信息,若类型不是拼单直接返回报错
BaseQueryOrderRequest
baseQueryOrderRequest
=
new
BaseQueryOrderRequest
();
baseQueryOrderRequest
.
setOrderId
(
orderCode
);
baseQueryOrderRequest
.
setTrackingNo
(
LogTreadLocal
.
getTrackingNo
());
QueryOrderByIdResponse
response
=
orderCenterSdkService
.
queryOrderById
(
baseQueryOrderRequest
);
if
(!
ResponseResultEnum
.
SUCCESS
.
getCode
().
equals
(
response
.
getErrcode
())
||
response
.
getData
()
==
null
)
{
return
null
;
}
QueryOrdersResponse
.
DataBean
.
OrderBean
order
=
response
.
getData
();
if
(
null
==
order
.
getMarketingType
()
||
OrderMarketType
.
COLLAGE
.
getIndex
()
!=
order
.
getMarketingType
())
{
return
null
;
}
return
order
;
}
}
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