Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cloud-platform
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
youjj
cloud-platform
Commits
0d1d172f
Commit
0d1d172f
authored
Nov 11, 2020
by
unset
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev-tiande-member' into dev-tiande
parents
af552369
cb47c6f8
Changes
5
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
497 additions
and
390 deletions
+497
-390
BaseOrder.java
...c/main/java/com/xxfc/platform/order/entity/BaseOrder.java
+2
-2
MemberOrderStatisticsBo.java
...xxfc/platform/order/pojo/dto/MemberOrderStatisticsBo.java
+2
-15
MemberOrderPageVo.java
...va/com/xxfc/platform/order/pojo/vo/MemberOrderPageVo.java
+3
-1
OrderMemberDetailBiz.java
...ava/com/xxfc/platform/order/biz/OrderMemberDetailBiz.java
+105
-2
OrderMemberService.java
...a/com/xxfc/platform/order/service/OrderMemberService.java
+385
-370
No files found.
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/BaseOrder.java
View file @
0d1d172f
...
@@ -220,9 +220,9 @@ public class BaseOrder implements Serializable {
...
@@ -220,9 +220,9 @@ public class BaseOrder implements Serializable {
private
Integer
version
;
private
Integer
version
;
/**
/**
* 下单来源 1--app;2--小程序
* 下单来源 1--app;2--小程序
3--后台
*/
*/
@ApiModelProperty
(
value
=
"下单来源 1--app;2--小程序"
)
@ApiModelProperty
(
value
=
"下单来源 1--app;2--小程序
, 3--后台
"
)
@Column
(
name
=
"order_origin"
)
@Column
(
name
=
"order_origin"
)
private
Integer
orderOrigin
;
private
Integer
orderOrigin
;
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/dto/MemberOrderStatisticsBo.java
View file @
0d1d172f
...
@@ -12,21 +12,8 @@ import java.math.BigDecimal;
...
@@ -12,21 +12,8 @@ import java.math.BigDecimal;
*/
*/
@Data
@Data
public
class
MemberOrderStatisticsBo
{
public
class
MemberOrderStatisticsBo
{
//0为全部,其他为会员等级
private
Integer
type
;
private
Integer
orderNum
;
private
Integer
orderNum
;
private
BigDecimal
totalAmount
;
private
BigDecimal
totalAmount
;
/**
* 钻石
*/
private
Integer
diamondOrderNum
;
private
BigDecimal
totalDiamondAmount
;
/**
* 黄金
*/
private
Integer
goldOrderNum
;
private
BigDecimal
totalGoldAmount
;
/**
* 普通
*/
private
Integer
generalOrderNum
;
private
BigDecimal
totalGeneralAmount
;
}
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/vo/MemberOrderPageVo.java
View file @
0d1d172f
...
@@ -5,6 +5,8 @@ import com.xxfc.platform.order.pojo.dto.MemberOrderBo;
...
@@ -5,6 +5,8 @@ import com.xxfc.platform.order.pojo.dto.MemberOrderBo;
import
com.xxfc.platform.order.pojo.dto.MemberOrderStatisticsBo
;
import
com.xxfc.platform.order.pojo.dto.MemberOrderStatisticsBo
;
import
lombok.Data
;
import
lombok.Data
;
import
java.util.List
;
/**
/**
* @author libin
* @author libin
* @version 1.0
* @version 1.0
...
@@ -13,6 +15,6 @@ import lombok.Data;
...
@@ -13,6 +15,6 @@ import lombok.Data;
*/
*/
@Data
@Data
public
class
MemberOrderPageVo
{
public
class
MemberOrderPageVo
{
private
MemberOrderStatisticsBo
memberOrderStatisticsBo
;
private
List
<
MemberOrderStatisticsBo
>
memberOrderStatisticsBo
;
private
PageDataVO
<
MemberOrderBo
>
memberOrderPage
;
private
PageDataVO
<
MemberOrderBo
>
memberOrderPage
;
}
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderMemberDetailBiz.java
View file @
0d1d172f
package
com
.
xxfc
.
platform
.
order
.
biz
;
package
com
.
xxfc
.
platform
.
order
.
biz
;
import
cn.hutool.json.JSONUtil
;
import
com.github.wxiaoqi.security.admin.dto.UserMemberDTO
;
import
com.github.wxiaoqi.security.admin.entity.AppUserLogin
;
import
com.github.wxiaoqi.security.admin.entity.AppUserLogin
;
import
com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel
;
import
com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.admin.feign.dto.UserDTO
;
import
com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.config.rabbit.RabbitConstant
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.util.OrderUtil
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.xxfc.platform.order.contant.enumerate.OrderStatusEnum
;
import
com.xxfc.platform.order.contant.enumerate.OrderTypeEnum
;
import
com.xxfc.platform.order.entity.BaseOrder
;
import
com.xxfc.platform.order.entity.BaseOrder
;
import
com.xxfc.platform.order.entity.OrderAccount
;
import
com.xxfc.platform.order.entity.OrderItem
;
import
com.xxfc.platform.order.entity.OrderMemberDetail
;
import
com.xxfc.platform.order.entity.OrderMemberDetail
;
import
com.xxfc.platform.order.mapper.OrderMemberDetailMapper
;
import
com.xxfc.platform.order.mapper.OrderMemberDetailMapper
;
import
com.xxfc.platform.order.pojo.order.add.AddMemberDTO
;
import
com.xxfc.platform.order.pojo.order.add.AddMemberDTO
;
import
com.xxfc.platform.universal.feign.MQSenderFeign
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.math.BigDecimal
;
import
java.util.List
;
import
java.util.List
;
import
java.util.concurrent.atomic.AtomicReference
;
import
java.util.concurrent.atomic.AtomicReference
;
...
@@ -24,7 +38,8 @@ import java.util.concurrent.atomic.AtomicReference;
...
@@ -24,7 +38,8 @@ import java.util.concurrent.atomic.AtomicReference;
* @date 2019-06-19 17:00:35
* @date 2019-06-19 17:00:35
*/
*/
@Service
@Service
public
class
OrderMemberDetailBiz
extends
BaseBiz
<
OrderMemberDetailMapper
,
OrderMemberDetail
>
{
@Slf4j
public
class
OrderMemberDetailBiz
extends
BaseBiz
<
OrderMemberDetailMapper
,
OrderMemberDetail
>
implements
UserRestInterface
{
@Autowired
@Autowired
UserFeign
userFeign
;
UserFeign
userFeign
;
...
@@ -32,23 +47,107 @@ public class OrderMemberDetailBiz extends BaseBiz<OrderMemberDetailMapper,OrderM
...
@@ -32,23 +47,107 @@ public class OrderMemberDetailBiz extends BaseBiz<OrderMemberDetailMapper,OrderM
@Autowired
@Autowired
BaseOrderBiz
baseOrderBiz
;
BaseOrderBiz
baseOrderBiz
;
@Autowired
MQSenderFeign
mqSenderFeign
;
@Autowired
OrderItemBiz
orderItemBiz
;
@Autowired
OrderAccountBiz
orderAccountBiz
;
/**
/**
* 后台创建订单
* 后台创建订单
* @param dto
* @param dto
*/
*/
public
void
createOrder
(
AddMemberDTO
dto
)
{
public
void
createOrder
(
AddMemberDTO
dto
)
{
UserDTO
userDTO
=
getAdminUserInfo
();
if
(
userDTO
==
null
)
{
throw
new
BaseException
(
ResultCode
.
getMsg
(
ResultCode
.
RSTOKEN_EXPIRED_CODE
));
}
AppUserLogin
appUserLogin
=
userFeign
.
one
(
dto
.
getPhone
());
AppUserLogin
appUserLogin
=
userFeign
.
one
(
dto
.
getPhone
());
if
(
appUserLogin
!=
null
)
{
if
(
appUserLogin
!=
null
)
{
List
<
BaseUserMemberLevel
>
baseUserMemberLevelList
=
userFeign
.
levels
();
List
<
BaseUserMemberLevel
>
baseUserMemberLevelList
=
userFeign
.
levels
();
if
(
baseUserMemberLevelList
!=
null
&&
baseUserMemberLevelList
.
size
()
>
0
)
{
if
(
baseUserMemberLevelList
!=
null
&&
baseUserMemberLevelList
.
size
()
>
0
)
{
BaseOrder
baseOrder
=
new
BaseOrder
();
BaseOrder
baseOrder
=
new
BaseOrder
();
AtomicReference
<
BaseUserMemberLevel
>
currentLevel
=
n
ull
;
AtomicReference
<
BaseUserMemberLevel
>
currentLevel
=
n
ew
AtomicReference
<>()
;
baseUserMemberLevelList
.
parallelStream
().
forEach
(
baseUserMemberLevel
->
{
baseUserMemberLevelList
.
parallelStream
().
forEach
(
baseUserMemberLevel
->
{
if
(
dto
.
getMemberLevel
().
equals
(
baseUserMemberLevel
.
getLevel
()))
{
if
(
dto
.
getMemberLevel
().
equals
(
baseUserMemberLevel
.
getLevel
()))
{
currentLevel
.
set
(
baseUserMemberLevel
);
currentLevel
.
set
(
baseUserMemberLevel
);
}
}
});
});
if
(
currentLevel
!=
null
&&
currentLevel
.
get
()
!=
null
)
{
if
(
currentLevel
!=
null
&&
currentLevel
.
get
()
!=
null
)
{
BaseUserMemberLevel
baseUserMemberLevel
=
currentLevel
.
get
();
baseOrder
.
setNo
(
OrderUtil
.
GetOrderNumber
(
""
,
OrderUtil
.
APP_MID
));
baseOrder
.
setUserId
(
appUserLogin
.
getId
());
baseOrder
.
setGoodsAmount
(
dto
.
getOrderAmount
());
baseOrder
.
setOrderAmount
(
dto
.
getOrderAmount
());
baseOrder
.
setRealAmount
(
dto
.
getOrderAmount
());
baseOrder
.
setStatus
(
OrderStatusEnum
.
ORDER_FINISH
.
getCode
());
baseOrder
.
setName
(
baseUserMemberLevel
.
getName
());
if
(
dto
.
getPayTime
()
!=
null
)
{
baseOrder
.
setPayTime
(
dto
.
getPayTime
());
}
else
{
baseOrder
.
setPayTime
(
System
.
currentTimeMillis
());
}
baseOrder
.
setType
(
OrderTypeEnum
.
MEMBER
.
getCode
());
baseOrder
.
setHasPay
(
1
);
baseOrder
.
setOrderOrigin
(
3
);
baseOrder
.
setCrtUser
(
userDTO
.
getUsername
());
baseOrder
.
setCrtName
(
userDTO
.
getName
());
baseOrder
.
setVersion
(
1
);
baseOrderBiz
.
insertSelectiveRe
(
baseOrder
);
OrderMemberDetail
orderMemberDetail
=
new
OrderMemberDetail
();
orderMemberDetail
.
setOrderId
(
baseOrder
.
getId
());
orderMemberDetail
.
setMemberLevel
(
baseUserMemberLevel
.
getLevel
());
orderMemberDetail
.
setMemberLevelId
(
baseUserMemberLevel
.
getId
());
orderMemberDetail
.
setName
(
baseUserMemberLevel
.
getName
());
orderMemberDetail
.
setRebate
(
baseUserMemberLevel
.
getDiscount
());
orderMemberDetail
.
setRentFreeNum
(
baseUserMemberLevel
.
getNumber
());
insertSelectiveRe
(
orderMemberDetail
);
baseOrder
.
setDetailId
(
orderMemberDetail
.
getId
());
baseOrderBiz
.
updateSelectiveByIdRe
(
baseOrder
);
OrderItem
orderItem
=
new
OrderItem
();
orderItem
.
setOrderId
(
baseOrder
.
getId
());
orderItem
.
setName
(
baseOrder
.
getName
());
orderItem
.
setBuyNum
(
1
);
orderItem
.
setAwardNum
(
1
);
orderItem
.
setType
(
6
);
orderItem
.
setMetaUnitPrice
(
baseUserMemberLevel
.
getPrice
());
orderItem
.
setUnitPrice
(
baseUserMemberLevel
.
getPrice
());
orderItem
.
setTotalNum
(
1
);
orderItem
.
setBuyNum
(
1
);
orderItem
.
setAwardNum
(
0
);
orderItem
.
setCutNum
(
0
);
orderItem
.
setGoodId
(
baseUserMemberLevel
.
getId
());
orderItemBiz
.
insertSelectiveRe
(
orderItem
);
OrderAccount
orderAccount
=
new
OrderAccount
();
orderAccount
.
setAccountAmount
(
baseOrder
.
getOrderAmount
());
orderAccount
.
setOrderId
(
baseOrder
.
getId
());
orderAccount
.
setTradeNo
(
baseOrder
.
getNo
());
orderAccount
.
setAccountTime
(
System
.
currentTimeMillis
());
orderAccount
.
setAccountType
(
101
);
orderAccount
.
setAccountStatus
(
1
);
orderAccount
.
setAccountDesc
(
"会员订单支付"
);
orderAccount
.
setAccountDesc
(
"{\"depositAmount\":0,\"orderAmount\":"
+
baseOrder
.
getOrderAmount
()
+
",\"originDepositAmount\":0,\"originOrderAmount\":"
+
baseOrder
.
getOrderAmount
()
+
",\"deductions\":[]}"
);
orderAccount
.
setOriginalAmount
(
baseOrder
.
getOrderAmount
());
orderAccount
.
setDeductAmount
(
BigDecimal
.
ZERO
);
orderAccountBiz
.
insertSelectiveRe
(
orderAccount
);
//触发会员效益
UserMemberDTO
userMemberDTO
=
new
UserMemberDTO
()
{{
setUserId
(
baseOrder
.
getUserId
());
setIsBind
(
ISBIND_BIND
);
}};
userMemberDTO
.
setMemberLevel
(
orderMemberDetail
.
getMemberLevel
());
userMemberDTO
.
setRentFreeDays
(
orderMemberDetail
.
getRentFreeNum
());
userMemberDTO
.
setTotalNumber
(
orderMemberDetail
.
getRentFreeNum
());
userMemberDTO
.
setDiscount
(
orderMemberDetail
.
getRebate
());
ObjectRestResponse
orr
=
userFeign
.
buyMember
(
userMemberDTO
);
log
.
info
(
"orr.getStatus() : "
+
orr
.
getStatus
());
//发送消息队列到admin,进行分成计算
mqSenderFeign
.
sendMessage
(
RabbitConstant
.
ADMIN_TOPIC
,
RabbitConstant
.
KEY_MEMBER_SHARE
,
JSONUtil
.
toJsonStr
(
orderMemberDetail
));
}
}
...
@@ -60,4 +159,8 @@ public class OrderMemberDetailBiz extends BaseBiz<OrderMemberDetailMapper,OrderM
...
@@ -60,4 +159,8 @@ public class OrderMemberDetailBiz extends BaseBiz<OrderMemberDetailMapper,OrderM
}
}
}
}
@Override
public
UserFeign
getUserFeign
()
{
return
userFeign
;
}
}
}
\ No newline at end of file
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/service/OrderMemberService.java
View file @
0d1d172f
This diff is collapsed.
Click to expand it.
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