Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gxpt_ht
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
pseer
gxpt_ht
Commits
04476972
Commit
04476972
authored
Sep 12, 2024
by
吕明尚
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'refs/heads/dev' into test
parents
f1892cf6
747e6f47
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
373 additions
and
276 deletions
+373
-276
SharingActivitiesController.java
...re/web/controller/system/SharingActivitiesController.java
+0
-12
ActivityController.java
.../java/share/web/controller/system/ActivityController.java
+1
-2
EquityFundLogController.java
.../share/web/controller/system/EquityFundLogController.java
+49
-0
RedisTask.java
share-quartz/src/main/java/share/quartz/task/RedisTask.java
+55
-53
ConsumerMember.java
...tem/src/main/java/share/system/domain/ConsumerMember.java
+10
-10
MemberConfig.java
...ystem/src/main/java/share/system/domain/MemberConfig.java
+17
-18
WxRegisterPhoneRequest.java
...ain/java/share/system/request/WxRegisterPhoneRequest.java
+0
-3
ActivityService.java
...m/src/main/java/share/system/service/ActivityService.java
+1
-2
SharingActivitiesService.java
...n/java/share/system/service/SharingActivitiesService.java
+1
-1
ActivityServiceImpl.java
...n/java/share/system/service/impl/ActivityServiceImpl.java
+15
-8
CallbackServiceImpl.java
...n/java/share/system/service/impl/CallbackServiceImpl.java
+79
-5
ConsumerWalletServiceImpl.java
.../share/system/service/impl/ConsumerWalletServiceImpl.java
+38
-19
EquityMembersOrderServiceImpl.java
...re/system/service/impl/EquityMembersOrderServiceImpl.java
+16
-16
RechargeServiceImpl.java
...n/java/share/system/service/impl/RechargeServiceImpl.java
+7
-7
SConsumerCenterServiceImpl.java
...share/system/service/impl/SConsumerCenterServiceImpl.java
+0
-1
SConsumerServiceImpl.java
.../java/share/system/service/impl/SConsumerServiceImpl.java
+2
-2
SOrderServiceImpl.java
...ain/java/share/system/service/impl/SOrderServiceImpl.java
+71
-59
SharingActivitiesServiceImpl.java
...are/system/service/impl/SharingActivitiesServiceImpl.java
+2
-24
ConsumerMemberMapper.xml
...src/main/resources/mapper/system/ConsumerMemberMapper.xml
+2
-16
MemberConfigMapper.xml
...m/src/main/resources/mapper/system/MemberConfigMapper.xml
+7
-18
No files found.
share-admin/src/main/java/share/web/controller/system/SharingActivitiesController.java
View file @
04476972
...
...
@@ -77,18 +77,6 @@ public class SharingActivitiesController extends BaseController {
return
toAjax
(
sharingActivitiesService
.
insertSharingActivities
(
sharingActivities
));
}
/**
* 新增分享活动绑定关系
*/
// @PreAuthorize("@ss.hasPermi('system:activities:addSharingActivities')")
@Log
(
title
=
"分享活动绑定关系"
,
businessType
=
BusinessType
.
INSERT
)
@PostMapping
(
"/addSharingActivities"
)
public
AjaxResult
addSharingActivities
(
@RequestBody
SharingActivities
sharingActivities
)
{
AjaxResult
ajaxResult
=
sharingActivitiesService
.
addSharingActivities
(
sharingActivities
);
return
ajaxResult
;
}
/**
* 修改分享活动绑定关系
...
...
share-front/src/main/java/share/web/controller/system/ActivityController.java
View file @
04476972
...
...
@@ -11,7 +11,6 @@ import share.common.core.page.TableDataInfo;
import
share.common.enums.YesNoEnum
;
import
share.system.domain.Activity
;
import
share.system.domain.vo.ActivityDto
;
import
share.system.domain.vo.ActivityVo
;
import
share.system.service.ActivityService
;
import
java.util.Date
;
...
...
@@ -43,7 +42,7 @@ public class ActivityController extends BaseController {
@GetMapping
(
"/query"
)
public
AjaxResult
query
(
ActivityDto
dto
)
{
dto
.
setIsOpen
(
Long
.
valueOf
(
YesNoEnum
.
yes
.
getIndex
()));
Map
<
Date
,
List
<
Activity
Vo
>>
map
=
activityService
.
queryList
(
dto
);
Map
<
Date
,
List
<
Activity
>>
map
=
activityService
.
queryList
(
dto
);
return
success
(
map
);
}
...
...
share-front/src/main/java/share/web/controller/system/EquityFundLogController.java
0 → 100644
View file @
04476972
package
share
.
web
.
controller
.
system
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.web.bind.annotation.*
;
import
share.common.annotation.Log
;
import
share.common.core.controller.BaseController
;
import
share.common.core.domain.AjaxResult
;
import
share.common.core.page.TableDataInfo
;
import
share.common.enums.BusinessType
;
import
share.common.utils.poi.ExcelUtil
;
import
share.system.domain.EquityFundLog
;
import
share.system.service.EquityFundLogService
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.List
;
/**
* 权益金记录Controller
*
* @author wuwenlong
* @date 2024-09-10
*/
@RestController
@RequestMapping
(
"/equityFundLog"
)
public
class
EquityFundLogController
extends
BaseController
{
@Autowired
private
EquityFundLogService
equityFundLogService
;
/**
* 查询权益金记录列表
*/
@PreAuthorize
(
"@ss.hasPermi('system:equityFundLog:list')"
)
@GetMapping
(
"/list"
)
public
TableDataInfo
list
(
EquityFundLog
equityFundLog
)
{
startPage
();
List
<
EquityFundLog
>
list
=
equityFundLogService
.
selectEquityFundLogList
(
equityFundLog
);
return
getDataTable
(
list
);
}
/**
* 获取权益金记录详细信息
*/
@PreAuthorize
(
"@ss.hasPermi('system:equityFundLog:query')"
)
@GetMapping
(
value
=
"/{id}"
)
public
AjaxResult
getInfo
(
@PathVariable
(
"id"
)
Long
id
)
{
return
success
(
equityFundLogService
.
selectEquityFundLogById
(
id
));
}
}
share-quartz/src/main/java/share/quartz/task/RedisTask.java
View file @
04476972
...
...
@@ -120,6 +120,9 @@ public class RedisTask {
@Autowired
private
EquityFundLogService
equityFundLogService
;
@Autowired
private
DurationLogService
durationLogService
;
//15分钟的常量
final
long
FIFTEEN_MINUTES
=
60
*
15
;
...
...
@@ -337,32 +340,38 @@ public class RedisTask {
redisUtil
.
delete
(
o
);
throw
new
BaseException
(
"订单不存在!"
);
}
//查询当前用户是否只有一个订单
LambdaQueryWrapper
<
SOrder
>
sOrderLambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
sOrderLambdaQueryWrapper
.
eq
(
SOrder
::
getConsumerId
,
sOrder
.
getConsumerId
());
sOrderLambdaQueryWrapper
.
eq
(
SOrder:
:
getPayStatus
,
YesNoEnum
.
yes
.
getIndex
());
sOrderLambdaQueryWrapper
.
notIn
(
SOrder:
:
getRefundStatus
,
RefundStatusEnum
.
getRefundedStatus
());
sOrderLambdaQueryWrapper
.
in
(
SOrder:
:
getStatus
,
OrderStatusEnum
.
getUnfinishOrderStatus
());
sOrderLambdaQueryWrapper
.
eq
(
SOrder:
:
getIsDelete
,
YesNoEnum
.
no
.
getIndex
());
List
<
SOrder
>
sOrderList
=
isOrderService
.
list
(
sOrderLambdaQueryWrapper
);
if
(
sOrderList
.
size
()
==
1
){
//查询是否有上级
LambdaQueryWrapper
<
SharingActivities
>
sharingActivitiesLambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
sharingActivitiesLambdaQueryWrapper
.
eq
(
SharingActivities
::
getNewUid
,
sOrder
.
getConsumerId
());
sharingActivitiesLambdaQueryWrapper
.
eq
(
SharingActivities
::
getActivityType
,
"0"
);
sharingActivitiesLambdaQueryWrapper
.
eq
(
SharingActivities
::
getIsDelete
,
YesNoEnum
.
no
.
getIndex
());
SharingActivities
sharingActivities
=
sharingActivitiesService
.
getOne
(
sharingActivitiesLambdaQueryWrapper
);
if
(
ObjectUtil
.
isNotEmpty
(
sharingActivities
)){
//查询是否有上级
LambdaQueryWrapper
<
SharingActivities
>
sharingActivitiesLambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
sharingActivitiesLambdaQueryWrapper
.
eq
(
SharingActivities:
:
getNewUid
,
sOrder
.
getConsumerId
());
sharingActivitiesLambdaQueryWrapper
.
eq
(
SharingActivities:
:
getIsDelete
,
YesNoEnum
.
no
.
getIndex
());
SharingActivities
sharingActivities
=
sharingActivitiesService
.
getOne
(
sharingActivitiesLambdaQueryWrapper
);
if
(
ObjectUtil
.
isNotEmpty
(
sharingActivities
))
{
//查询当前用户是否只有一个订单
LambdaQueryWrapper
<
SOrder
>
sOrderLambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
sOrderLambdaQueryWrapper
.
eq
(
SOrder:
:
getConsumerId
,
sOrder
.
getConsumerId
());
sOrderLambdaQueryWrapper
.
eq
(
SOrder:
:
getPayStatus
,
YesNoEnum
.
yes
.
getIndex
());
sOrderLambdaQueryWrapper
.
notIn
(
SOrder:
:
getRefundStatus
,
RefundStatusEnum
.
getRefundedStatus
());
sOrderLambdaQueryWrapper
.
in
(
SOrder:
:
getStatus
,
OrderStatusEnum
.
getUnfinishOrderStatus
());
sOrderLambdaQueryWrapper
.
eq
(
SOrder:
:
getIsDelete
,
YesNoEnum
.
no
.
getIndex
());
List
<
SOrder
>
sOrderList
=
isOrderService
.
list
(
sOrderLambdaQueryWrapper
);
if
(
sOrderList
.
size
()
==
1
)
{
LambdaQueryWrapper
<
ConsumerWallet
>
consumerWalletLambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
consumerWalletLambdaQueryWrapper
.
eq
(
ConsumerWallet:
:
getConsumerId
,
sharingActivities
.
getUid
());
ConsumerWallet
consumerWallet
=
consumerWalletService
.
getOne
(
consumerWalletLambdaQueryWrapper
);
if
(
ObjectUtil
.
isNotEmpty
(
consumerWallet
)){
consumerWalletLambdaQueryWrapper
.
eq
(
ConsumerWallet:
:
getConsumerId
,
sharingActivities
.
getUid
());
ConsumerWallet
consumerWallet
=
consumerWalletService
.
getOne
(
consumerWalletLambdaQueryWrapper
);
if
(
ObjectUtil
.
isNotEmpty
(
consumerWallet
))
{
//添加时长
BigDecimal
anHour
=
new
BigDecimal
(
1.0
);
consumerWallet
.
setRemainingDuration
(
consumerWallet
.
getRemainingDuration
().
add
(
anHour
));
consumerWallet
.
setUpdateTime
(
DateUtils
.
getNowDate
());
consumerWalletService
.
updateConsumerWallet
(
consumerWallet
);
}
else
{
DurationLog
durationLog
=
new
DurationLog
();
durationLog
.
setConsumerId
(
consumerWallet
.
getConsumerId
());
durationLog
.
setVariableDuration
(
anHour
);
durationLog
.
setCurrentDuration
(
consumerWallet
.
getRemainingDuration
());
durationLog
.
setOperationType
(
YesNoEnum
.
yes
.
getIndex
());
durationLog
.
setOperationTime
(
DateUtils
.
getNowDate
());
durationLogService
.
insertDurationLog
(
durationLog
);
}
else
{
//新增钱包
ConsumerWallet
newConsumerWallet
=
new
ConsumerWallet
();
BigDecimal
defaultVlue
=
new
BigDecimal
(
0.0
);
...
...
@@ -375,24 +384,28 @@ public class RedisTask {
newConsumerWallet
.
setRemainingDuration
(
newConsumerWallet
.
getRemainingDuration
().
add
(
anHour
));
newConsumerWallet
.
setUpdateTime
(
DateUtils
.
getNowDate
());
consumerWalletService
.
insertConsumerWallet
(
newConsumerWallet
);
DurationLog
newDurationLog
=
new
DurationLog
();
newDurationLog
.
setConsumerId
(
consumerWallet
.
getConsumerId
());
newDurationLog
.
setVariableDuration
(
anHour
);
newDurationLog
.
setCurrentDuration
(
consumerWallet
.
getRemainingDuration
());
newDurationLog
.
setOperationType
(
YesNoEnum
.
yes
.
getIndex
());
newDurationLog
.
setOperationTime
(
DateUtils
.
getNowDate
());
durationLogService
.
insertDurationLog
(
newDurationLog
);
}
}
}
//查询是否有上级
LambdaQueryWrapper
<
SharingActivities
>
sharingActivitiesLambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
sharingActivitiesLambdaQueryWrapper
.
eq
(
SharingActivities
::
getNewUid
,
sOrder
.
getConsumerId
());
sharingActivitiesLambdaQueryWrapper
.
eq
(
SharingActivities
::
getActivityType
,
"1"
);
sharingActivitiesLambdaQueryWrapper
.
eq
(
SharingActivities
::
getIsDelete
,
YesNoEnum
.
no
.
getIndex
());
SharingActivities
sharingActivities
=
sharingActivitiesService
.
getOne
(
sharingActivitiesLambdaQueryWrapper
);
if
(
ObjectUtil
.
isNotEmpty
(
sharingActivities
)){
//查询会员用户类型
LambdaQueryWrapper
<
ConsumerMember
>
consumerMemberLambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
consumerMemberLambdaQueryWrapper
.
eq
(
ConsumerMember:
:
getConsumerId
,
sharingActivities
.
getUid
());
ConsumerMember
consumerMember
=
consumerMemberService
.
getOne
(
consumerMemberLambdaQueryWrapper
);
LambdaQueryWrapper
<
ConsumerMember
>
consumerMemberWrapper
=
new
LambdaQueryWrapper
<>();
consumerMemberWrapper
.
eq
(
ConsumerMember:
:
getConsumerId
,
sharingActivities
.
getUid
());
ConsumerMember
consumerMember
=
consumerMemberService
.
getOne
(
consumerMemberWrapper
);
LambdaQueryWrapper
<
ConsumerMember
>
newConsumerMemberQueryWrapper
=
new
LambdaQueryWrapper
<>();
newConsumerMemberQueryWrapper
.
eq
(
ConsumerMember:
:
getConsumerId
,
sharingActivities
.
getUid
());
ConsumerMember
newConsumerMember
=
consumerMemberService
.
getOne
(
newConsumerMemberQueryWrapper
);
//判断是否为权益会员和会员是否有效
if
(
"2"
.
equals
(
consumerMember
.
getMemberType
())
&&
new
Date
().
getTime
()
<
consumerMember
.
getExpirationDate
().
getTime
()
){
if
(
YesNoEnum
.
yes
.
getIndex
().
equals
(
consumerMember
.
getIsRecharge
())
&&
new
Date
().
getTime
()
<
consumerMember
.
getExpirationDate
().
getTime
()
&&
YesNoEnum
.
yes
.
getIndex
().
equals
(
newConsumerMember
.
getIsRecharge
())
&&
new
Date
().
getTime
()
<
newConsumerMember
.
getExpirationDate
().
getTime
())
{
Boolean
aBoolean
=
redisTemplate
.
hasKey
(
ReceiptRdeisEnum
.
EQUITY_MEMBERS_TIME
+
sharingActivities
.
getUid
().
toString
());
if
(
aBoolean
){
Boolean
newAboolean
=
redisTemplate
.
hasKey
(
ReceiptRdeisEnum
.
EQUITY_MEMBERS_TIME
+
sharingActivities
.
getNewUid
().
toString
());
if
(
aBoolean
&&
newAboolean
)
{
LambdaQueryWrapper
<
ConsumerWallet
>
consumerWalletLambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
consumerWalletLambdaQueryWrapper
.
eq
(
ConsumerWallet:
:
getConsumerId
,
sharingActivities
.
getUid
());
ConsumerWallet
consumerWallet
=
consumerWalletService
.
getOne
(
consumerWalletLambdaQueryWrapper
);
...
...
@@ -426,7 +439,6 @@ public class RedisTask {
}
}
}
}
if
(
extracted
(
o
,
sOrders
,
sOrder
))
return
;
...
...
@@ -647,16 +659,16 @@ public class RedisTask {
consumerMember
.
setIsRights
(
YesNoEnum
.
no
.
getIndex
());
if
(
ObjectUtil
.
isNotEmpty
(
consumerMember
))
{
if
(
consumerMember
.
getIsRecharge
().
equals
(
YesNoEnum
.
yes
.
getIndex
()))
{
consumerMember
.
set
MemberType
(
MemberTypeEnum
.
RECHARGE
.
getIndex
(
));
consumerMember
.
set
ExpirationDate
(
DateUtils
.
addYears
(
new
Date
(),
100
));
}
else
{
consumerMember
.
set
MemberType
(
MemberTypeEnum
.
NORMAL
.
getIndex
(
));
consumerMember
.
set
ExpirationDate
(
DateUtils
.
addYears
(
new
Date
(),
100
));
}
MemberConfig
memberConfigServiceOne
=
memberConfigService
.
getOne
(
new
LambdaQueryWrapper
<
MemberConfig
>()
.
eq
(
MemberConfig:
:
getMemberType
,
consumerMember
.
getMemberType
())
.
eq
(
MemberConfig:
:
getMembershipLevel
,
consumerMember
.
getMembershipLevel
())
);
consumerMember
.
setMemberConfigId
(
memberConfigServiceOne
.
getId
());
consumerMember
.
setExpirationDate
(
DateUtils
.
addYears
(
new
Date
(),
memberConfigServiceOne
.
getValidityPeriod
().
intValue
()));
//
MemberConfig memberConfigServiceOne = memberConfigService.getOne(new LambdaQueryWrapper<MemberConfig>()
////
.eq(MemberConfig::getMemberType, consumerMember.getMemberType())
//
.eq(MemberConfig::getMembershipLevel, consumerMember.getMembershipLevel())
//
);
//
consumerMember.setMemberConfigId(memberConfigServiceOne.getId());
//
consumerMember.setExpirationDate(DateUtils.addYears(new Date(), memberConfigServiceOne.getValidityPeriod().intValue()));
consumerMemberService
.
updateConsumerMember
(
consumerMember
);
}
redisUtil
.
delete
(
key
);
...
...
@@ -693,7 +705,7 @@ public class RedisTask {
return
;
}
//查询会员配置
MemberConfig
memberConfig
=
memberConfigService
.
get
ById
(
consumerMember
.
getMemberConfigId
(
));
MemberConfig
memberConfig
=
memberConfigService
.
get
One
(
new
LambdaQueryWrapper
<
MemberConfig
>().
eq
(
MemberConfig:
:
getMembershipLevel
,
consumerMember
.
getMembershipLevel
()
));
final
BigDecimal
[]
sum
=
{
BigDecimal
.
ZERO
};
//计算扣除进度
memberProgressLogs
.
stream
().
forEach
(
log
->
{
...
...
@@ -708,11 +720,6 @@ public class RedisTask {
//设置为0
consumerMember
.
setMembershipProgress
(
BigDecimal
.
ZERO
);
consumerMember
.
setMembershipLevel
(
0L
);
MemberConfig
memberConfigServiceOne
=
memberConfigService
.
getOne
(
new
LambdaQueryWrapper
<
MemberConfig
>()
.
eq
(
MemberConfig:
:
getMemberType
,
consumerMember
.
getMemberType
())
.
eq
(
MemberConfig:
:
getMembershipLevel
,
consumerMember
.
getMembershipLevel
())
);
consumerMember
.
setMemberConfigId
(
memberConfigServiceOne
.
getId
());
//判断会员进度是否大于扣除进度
}
else
if
(
consumerMember
.
getMembershipProgress
().
compareTo
(
sum
[
0
].
abs
())
>=
0
)
{
//会员进度减去扣除进度
...
...
@@ -727,11 +734,6 @@ public class RedisTask {
//等级降一级
if
(
consumerMember
.
getMembershipLevel
()
>
0L
)
{
consumerMember
.
setMembershipLevel
(
consumerMember
.
getMembershipLevel
()
-
1
);
MemberConfig
memberConfigServiceOne
=
memberConfigService
.
getOne
(
new
LambdaQueryWrapper
<
MemberConfig
>()
.
eq
(
MemberConfig:
:
getMemberType
,
consumerMember
.
getMemberType
())
.
eq
(
MemberConfig:
:
getMembershipLevel
,
consumerMember
.
getMembershipLevel
())
);
consumerMember
.
setMemberConfigId
(
memberConfigServiceOne
.
getId
());
}
}
}
...
...
share-system/src/main/java/share/system/domain/ConsumerMember.java
View file @
04476972
...
...
@@ -38,17 +38,17 @@ public class ConsumerMember extends BaseEntity {
@Excel
(
name
=
"会员等级"
)
private
Long
membershipLevel
;
/**
* 会员类型
*/
@Excel
(
name
=
"会员类型"
)
private
Long
memberType
;
//
/**
//
* 会员类型
//
*/
//
@Excel(name = "会员类型")
//
private Long memberType;
/**
* 会员配置id
*/
@Excel
(
name
=
"会员配置id"
)
private
Long
memberConfigId
;
//
/**
//
* 会员配置id
//
*/
//
@Excel(name = "会员配置id")
//
private Long memberConfigId;
/**
* 会员有效期
...
...
share-system/src/main/java/share/system/domain/MemberConfig.java
View file @
04476972
...
...
@@ -32,11 +32,11 @@ public class MemberConfig extends BaseEntity {
@Excel
(
name
=
"会员等级"
)
private
Long
membershipLevel
;
/**
* 会员类型
*/
@Excel
(
name
=
"会员类型"
)
private
Long
memberType
;
//
/**
//
* 会员类型
//
*/
//
@Excel(name = "会员类型")
//
private Long memberType;
/**
* 等级名称
...
...
@@ -56,17 +56,17 @@ public class MemberConfig extends BaseEntity {
@Excel
(
name
=
"折扣比例"
)
private
BigDecimal
discountRatio
;
/**
* 会员有效期
*/
@Excel
(
name
=
"会员有效期"
)
private
Long
validityPeriod
;
//
/**
//
* 会员有效期
//
*/
//
@Excel(name = "会员有效期")
//
private Long validityPeriod;
/**
* 会员进度
*/
@Excel
(
name
=
"会员进度"
)
private
Long
membershipProgress
;
//
/**
//
* 会员进度
//
*/
//
@Excel(name = "会员进度")
//
private Long membershipProgress;
/**
* 是否删除
...
...
@@ -82,12 +82,11 @@ public class MemberConfig extends BaseEntity {
return
new
ToStringBuilder
(
this
,
ToStringStyle
.
MULTI_LINE_STYLE
)
.
append
(
"id"
,
getId
())
.
append
(
"membershipLevel"
,
getMembershipLevel
())
.
append
(
"memberType"
,
getMemberType
())
.
append
(
"levelName"
,
getLevelName
())
.
append
(
"limitRequirements"
,
getLimitRequirements
())
.
append
(
"discountRatio"
,
getDiscountRatio
())
.
append
(
"validityPeriod"
,
getValidityPeriod
())
.
append
(
"membershipProgress"
,
getMembershipProgress
())
//
.append("validityPeriod", getValidityPeriod())
//
.append("membershipProgress", getMembershipProgress())
.
append
(
"isDelete"
,
getIsDelete
())
.
append
(
"createBy"
,
getCreateBy
())
.
append
(
"createTime"
,
getCreateTime
())
...
...
share-system/src/main/java/share/system/request/WxRegisterPhoneRequest.java
View file @
04476972
...
...
@@ -49,7 +49,4 @@ public class WxRegisterPhoneRequest implements Serializable {
@ApiModelProperty
(
value
=
"上级id"
)
private
Long
uid
;
@ApiModelProperty
(
value
=
"活动类型"
)
private
String
activityType
;
}
share-system/src/main/java/share/system/service/ActivityService.java
View file @
04476972
...
...
@@ -3,7 +3,6 @@ package share.system.service;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
share.system.domain.Activity
;
import
share.system.domain.vo.ActivityDto
;
import
share.system.domain.vo.ActivityVo
;
import
java.util.Date
;
import
java.util.List
;
...
...
@@ -64,5 +63,5 @@ public interface ActivityService extends IService<Activity> {
*/
public
int
deleteActivityById
(
Long
id
);
Map
<
Date
,
List
<
Activity
Vo
>>
queryList
(
ActivityDto
dto
);
Map
<
Date
,
List
<
Activity
>>
queryList
(
ActivityDto
dto
);
}
share-system/src/main/java/share/system/service/SharingActivitiesService.java
View file @
04476972
...
...
@@ -61,5 +61,5 @@ public interface SharingActivitiesService extends IService<SharingActivities>
*/
public
int
deleteSharingActivitiesById
(
Long
id
);
AjaxResult
addSharingActivities
(
SharingActivities
sharingActivities
);
}
share-system/src/main/java/share/system/service/impl/ActivityServiceImpl.java
View file @
04476972
...
...
@@ -10,6 +10,8 @@ import com.cronutils.model.time.ExecutionTime;
import
com.cronutils.parser.CronParser
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
share.common.enums.MemberTypeEnum
;
import
share.common.enums.YesNoEnum
;
import
share.common.utils.DateUtils
;
import
share.common.utils.StringUtils
;
import
share.common.utils.bean.BeanUtils
;
...
...
@@ -18,7 +20,6 @@ import share.system.domain.ConsumerMember;
import
share.system.domain.SConsumer
;
import
share.system.domain.SStore
;
import
share.system.domain.vo.ActivityDto
;
import
share.system.domain.vo.ActivityVo
;
import
share.system.mapper.ActivityMapper
;
import
share.system.service.ActivityService
;
import
share.system.service.ConsumerMemberService
;
...
...
@@ -119,7 +120,7 @@ public class ActivityServiceImpl extends ServiceImpl<ActivityMapper, Activity> i
}
@Override
public
Map
<
Date
,
List
<
Activity
Vo
>>
queryList
(
ActivityDto
dto
)
{
public
Map
<
Date
,
List
<
Activity
>>
queryList
(
ActivityDto
dto
)
{
SConsumer
user
=
sConsumerService
.
getInfo
();
if
(
ObjectUtil
.
isEmpty
(
user
))
{
return
new
HashMap
<>();
...
...
@@ -137,19 +138,25 @@ public class ActivityServiceImpl extends ServiceImpl<ActivityMapper, Activity> i
}
Activity
activity
=
new
Activity
();
BeanUtils
.
copyProperties
(
dto
,
activity
);
activity
.
setMemberType
(
MemberTypeEnum
.
NORMAL
.
getIndex
());
if
(
consumerMember
.
getIsRecharge
().
equals
(
YesNoEnum
.
yes
.
getIndex
()))
{
activity
.
setMemberType
(
MemberTypeEnum
.
RECHARGE
.
getIndex
());
}
if
(
consumerMember
.
getIsRights
().
equals
(
YesNoEnum
.
yes
.
getIndex
()))
{
activity
.
setMemberType
(
MemberTypeEnum
.
RIGHTS
.
getIndex
());
}
List
<
Activity
>
activities
=
selectActivityList
(
activity
);
CronParser
cronParser
=
new
CronParser
(
CronDefinitionBuilder
.
instanceDefinitionFor
(
CronType
.
QUARTZ
));
Map
<
Date
,
List
<
Activity
Vo
>>
map
=
new
HashMap
<>();
Map
<
Date
,
List
<
Activity
>>
map
=
new
HashMap
<>();
days
.
stream
().
forEach
(
day
->
{
List
<
Activity
Vo
>
voList
=
new
ArrayList
<>();
List
<
Activity
>
voList
=
new
ArrayList
<>();
activities
.
stream
().
forEach
(
item
->
{
Cron
cron
=
cronParser
.
parse
(
item
.
getCronExpression
());
ExecutionTime
executionTime
=
ExecutionTime
.
forCron
(
cron
);
boolean
match
=
executionTime
.
isMatch
(
ZonedDateTime
.
ofInstant
(
day
.
toInstant
(),
ZoneId
.
systemDefault
()));
if
(
match
&&
consumerMember
.
getMemberType
().
equals
(
item
.
getMemberType
()))
{
ActivityVo
activityVo
=
new
ActivityVo
();
BeanUtils
.
copyProperties
(
item
,
activityVo
);
voList
.
add
(
activityVo
);
if
(
match
)
{
voList
.
add
(
item
);
}
});
if
(
voList
.
size
()
>
0
)
{
...
...
share-system/src/main/java/share/system/service/impl/CallbackServiceImpl.java
View file @
04476972
...
...
@@ -769,17 +769,16 @@ public class CallbackServiceImpl implements CallbackService {
//查询是否有上级
SharingActivities
sharingActivities
=
sharingActivitiesService
.
getOne
(
new
LambdaQueryWrapper
<
SharingActivities
>()
.
eq
(
SharingActivities:
:
getNewUid
,
consumerId
)
.
eq
(
SharingActivities:
:
getActivityType
,
"1"
)
.
eq
(
SharingActivities:
:
getIsDelete
,
YesNoEnum
.
no
.
getIndex
()));
if
(
ObjectUtil
.
isNotEmpty
(
sharingActivities
))
{
//查询会员用户类型
LambdaQueryWrapper
<
ConsumerMember
>
consumerMemberLambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
consumerMemberLambdaQueryWrapper
.
eq
(
ConsumerMember:
:
getConsumerId
,
sharingActivities
.
getUid
());
ConsumerMember
consumerMember
=
consumerMemberService
.
getOne
(
consumerMemberLambdaQueryWrapper
);
consumerMemberLambdaQueryWrapper
.
eq
(
ConsumerMember:
:
getConsumerId
,
sharingActivities
.
getUid
());
ConsumerMember
consumerMember
=
consumerMemberService
.
getOne
(
consumerMemberLambdaQueryWrapper
);
//判断是否为权益会员和会员是否有效
if
(
"2"
.
equals
(
consumerMember
.
getMemberType
())
&&
new
Date
().
getTime
()
<
consumerMember
.
getExpirationDate
().
getTime
()
)
{
if
(
YesNoEnum
.
yes
.
getIndex
().
equals
(
consumerMember
.
getIsRights
())
&&
new
Date
().
getTime
()
<
consumerMember
.
getExpirationDate
().
getTime
())
{
Boolean
aBoolean
=
redisTemplate
.
hasKey
(
ReceiptRdeisEnum
.
EQUITY_MEMBERS_TIME
+
sharingActivities
.
getUid
().
toString
());
if
(
aBoolean
){
if
(
aBoolean
)
{
String
equityFund
=
sysConfigService
.
selectConfigByKey
(
"sys.equityFundLog.equityFund"
);
//查询上级用户是否有钱包
ConsumerWallet
consumerWallet
=
consumerWalletService
.
getOne
(
new
LambdaQueryWrapper
<
ConsumerWallet
>()
...
...
@@ -826,6 +825,81 @@ public class CallbackServiceImpl implements CallbackService {
}
}
}
// /**
// * 新增权益金日志
// * @param consumerId 用户ID
// * @param payPrice 消费金额
// * @param equityOrderNo 订单编号
// * @param terminalTrace 终端流水号
// * @param type 权益类型
// */
// private void addEquityFundLogRights(Long consumerId, BigDecimal payPrice, String equityOrderNo, String terminalTrace, String type) {
// //查询是否有上级
// SharingActivities sharingActivities = sharingActivitiesService.getOne(new LambdaQueryWrapper<SharingActivities>()
// .eq(SharingActivities::getNewUid, consumerId)
// .eq(SharingActivities::getIsDelete, YesNoEnum.no.getIndex()));
// if (ObjectUtil.isNotEmpty(sharingActivities)) {
// //查询会员用户类型
// LambdaQueryWrapper<ConsumerMember> consumerMemberWrapper = new LambdaQueryWrapper<>();
// consumerMemberWrapper.eq(ConsumerMember::getConsumerId, sharingActivities.getUid());
// ConsumerMember consumerMember = consumerMemberService.getOne(consumerMemberWrapper);
// LambdaQueryWrapper<ConsumerMember> newConsumerMemberWrapper = new LambdaQueryWrapper<>();
// newConsumerMemberWrapper.eq(ConsumerMember::getConsumerId, sharingActivities.getUid());
// ConsumerMember newConsumerMember = consumerMemberService.getOne(newConsumerMemberWrapper);
// //判断是否为权益会员和会员是否有效
// if ("2".equals(consumerMember.getMemberType()) && new Date().getTime() < consumerMember.getExpirationDate().getTime()
// && "2".equals(newConsumerMember.getMemberType()) && new Date().getTime() < newConsumerMember.getExpirationDate().getTime()) {
// Boolean aBoolean = redisTemplate.hasKey(ReceiptRdeisEnum.EQUITY_MEMBERS_TIME + sharingActivities.getUid().toString());
// Boolean newAboolean = redisTemplate.hasKey(ReceiptRdeisEnum.EQUITY_MEMBERS_TIME + sharingActivities.getNewUid().toString());
// if (aBoolean && newAboolean) {
// String equityFund = sysConfigService.selectConfigByKey("sys.equityFundLog.equityFund");
// //查询上级用户是否有钱包
// ConsumerWallet consumerWallet = consumerWalletService.getOne(new LambdaQueryWrapper<ConsumerWallet>()
// .eq(ConsumerWallet::getConsumerId, sharingActivities.getUid()));
// if (ObjectUtil.isNotEmpty(consumerWallet)) {
// consumerWallet.setEquityFund(consumerWallet.getEquityFund().add(payPrice.multiply(new BigDecimal(equityFund))));
// consumerWallet.setAccumulateEquityFund(consumerWallet.getAccumulateEquityFund().
// add(payPrice.multiply(new BigDecimal(equityFund))));
// consumerWallet.setUpdateTime(DateUtils.getNowDate());
// consumerWalletService.updateConsumerWallet(consumerWallet);
// } else {
// //新增钱包
// ConsumerWallet newConsumerWallet = new ConsumerWallet();
// BigDecimal defaultVlue = new BigDecimal(0.0);
// newConsumerWallet.setConsumerId(sharingActivities.getUid());
// newConsumerWallet.setBalance(defaultVlue);
// newConsumerWallet.setRemainingIntegral(defaultVlue);
// newConsumerWallet.setRemainingDuration(defaultVlue);
// newConsumerWallet.setEquityFund(consumerWallet.getEquityFund().add(payPrice.multiply(new BigDecimal(equityFund).setScale(2, RoundingMode.HALF_UP))));
// newConsumerWallet.setAccumulateEquityFund(consumerWallet.getAccumulateEquityFund()
// .add(payPrice.multiply(new BigDecimal(equityFund).setScale(2, RoundingMode.HALF_UP))));
// consumerWalletService.insertConsumerWallet(newConsumerWallet);
// }
// //添加权益金日志记录
// //下级用户
// SConsumer newConsumer = consumerService.getById(consumerId);
// //上级用户
// SConsumer consumer = consumerService.getById(sharingActivities.getUid());
// EquityFundLog equityFundLog = new EquityFundLog();
// equityFundLog.setEquityFund(payPrice.multiply(new BigDecimal(equityFund).setScale(2, RoundingMode.HALF_UP)));
// equityFundLog.setEquityFundType(type);
// equityFundLog.setOutTradeNo(equityOrderNo);
// equityFundLog.setTerminalTrace(terminalTrace);
// equityFundLog.setUid(sharingActivities.getUid());
// equityFundLog.setNewUid(sharingActivities.getNewUid());
// equityFundLog.setPhone(consumer.getPhone());
// equityFundLog.setAccount(consumer.getAccount());
// equityFundLog.setNickName(consumer.getNickName());
// equityFundLog.setNewPhone(newConsumer.getPhone());
// equityFundLog.setNewAccount(newConsumer.getAccount());
// equityFundLog.setNewNickName(newConsumer.getNickName());
// equityFundLogService.insertEquityFundLog(equityFundLog);
// }
// }
// }
// }
/**
* 支付订单回调通知
...
...
share-system/src/main/java/share/system/service/impl/ConsumerWalletServiceImpl.java
View file @
04476972
...
...
@@ -138,7 +138,7 @@ public class ConsumerWalletServiceImpl extends ServiceImpl<ConsumerWalletMapper,
public
boolean
addConsumerWallet
(
ConsumerWallet
consumerWallet
)
{
int
i
=
consumerWalletMapper
.
insertConsumerWallet
(
consumerWallet
);
ConsumerMember
one
=
consumerMemberService
.
getOne
(
new
LambdaQueryWrapper
<
ConsumerMember
>().
eq
(
ConsumerMember:
:
getConsumerId
,
consumerWallet
.
getConsumerId
()));
MemberConfig
memberConfig
=
memberConfigService
.
get
ById
(
one
.
getMemberConfigId
(
));
MemberConfig
memberConfig
=
memberConfigService
.
get
One
(
new
LambdaQueryWrapper
<
MemberConfig
>().
eq
(
MemberConfig:
:
getMembershipLevel
,
one
.
getMembershipLevel
()
));
if
(
consumerWallet
.
getBalance
().
compareTo
(
new
BigDecimal
(
0
))
>
0
)
{
BalanceLog
balanceLog
=
new
BalanceLog
();
balanceLog
.
setConsumerId
(
consumerWallet
.
getConsumerId
());
...
...
@@ -175,14 +175,20 @@ public class ConsumerWalletServiceImpl extends ServiceImpl<ConsumerWalletMapper,
memberProgressLog
.
setOperationTime
(
new
Date
());
memberProgressLog
.
setOperationType
(
YesNoEnum
.
yes
.
getIndex
());
memberProgressLog
.
setCreateTime
(
new
Date
());
memberProgressLog
.
setExpirationTime
(
DateUtils
.
addYears
(
new
Date
(),
memberConfig
.
getValidityPeriod
().
intValue
()));
if
(
one
.
getIsRecharge
().
equals
(
YesNoEnum
.
yes
.
getIndex
()))
{
memberProgressLog
.
setExpirationTime
(
DateUtils
.
addYears
(
new
Date
(),
100
));
}
if
(
one
.
getIsRights
().
equals
(
YesNoEnum
.
yes
.
getIndex
()))
{
memberProgressLog
.
setExpirationTime
(
DateUtils
.
addYears
(
new
Date
(),
1
));
}
memberProgressLogService
.
save
(
memberProgressLog
);
MemberConfig
newOne
=
memberConfigService
.
getOne
(
new
LambdaQueryWrapper
<
MemberConfig
>()
.
eq
(
MemberConfig:
:
getMemberType
,
one
.
getMemberType
())
//
.eq(MemberConfig::getMemberType, one.getMemberType())
.
eq
(
MemberConfig:
:
getMembershipLevel
,
one
.
getMembershipLevel
()
+
1L
));
if
(
ObjectUtil
.
isNotEmpty
(
newOne
)
&&
one
.
getMembershipProgress
().
compareTo
(
BigDecimal
.
valueOf
(
newOne
.
getLimitRequirements
()))
>=
0
)
{
one
.
setMembershipLevel
(
one
.
getMembershipLevel
()
+
1L
);
one
.
setMemberConfigId
(
newOne
.
getId
());
//
one.setMemberConfigId(newOne.getId());
consumerMemberService
.
updateConsumerMember
(
one
);
}
logger
.
debug
(
"统计累计积分"
);
...
...
@@ -199,11 +205,12 @@ public class ConsumerWalletServiceImpl extends ServiceImpl<ConsumerWalletMapper,
BigDecimal
oldIntegral
=
consumerWallet
.
getRemainingIntegral
();
RechargeConf
rechargeConf
=
rechargeConfService
.
selectRechargeConfById
(
recharge
.
getRechargeConfId
());
if
(
one
.
getMemberType
().
equals
(
MemberTypeEnum
.
RECHARGE
.
getIndex
()))
{
MemberConfig
memberConfig
=
memberConfigService
.
getOne
(
new
LambdaQueryWrapper
<
MemberConfig
>()
.
eq
(
MemberConfig:
:
getMembershipLevel
,
one
.
getMembershipLevel
())
.
eq
(
MemberConfig:
:
getMemberType
,
MemberTypeEnum
.
RECHARGE
.
getIndex
()));
one
.
setExpirationDate
(
DateUtils
.
addYears
(
new
Date
(),
memberConfig
.
getValidityPeriod
().
intValue
()));
if
(
one
.
getIsRecharge
().
equals
(
YesNoEnum
.
yes
.
getIndex
()))
{
// MemberConfig memberConfig = memberConfigService.getOne(new LambdaQueryWrapper<MemberConfig>()
// .eq(MemberConfig::getMembershipLevel, one.getMembershipLevel())
// .eq(MemberConfig::getMemberType, MemberTypeEnum.RECHARGE.getIndex())
// );
one
.
setExpirationDate
(
DateUtils
.
addYears
(
new
Date
(),
1
));
}
logger
.
debug
(
"修改会员用户"
);
...
...
@@ -261,20 +268,26 @@ public class ConsumerWalletServiceImpl extends ServiceImpl<ConsumerWalletMapper,
memberProgressLog
.
setOperationTime
(
new
Date
());
memberProgressLog
.
setOperationType
(
YesNoEnum
.
yes
.
getIndex
());
memberProgressLog
.
setCreateTime
(
new
Date
());
memberProgressLog
.
setExpirationTime
(
DateUtils
.
addYears
(
new
Date
(),
memberConfigService
.
getById
(
one
.
getMemberConfigId
()).
getValidityPeriod
().
intValue
()));
if
(
one
.
getIsRecharge
().
equals
(
YesNoEnum
.
yes
.
getIndex
()))
{
memberProgressLog
.
setExpirationTime
(
DateUtils
.
addYears
(
new
Date
(),
100
));
}
if
(
one
.
getIsRights
().
equals
(
YesNoEnum
.
yes
.
getIndex
()))
{
memberProgressLog
.
setExpirationTime
(
DateUtils
.
addYears
(
new
Date
(),
1
));
}
memberProgressLogService
.
save
(
memberProgressLog
);
one
.
setMembershipProgress
(
one
.
getMembershipProgress
().
add
(
divide
));
}
//查询当前会员类型和下一级的会员配置
MemberConfig
memberConfigServiceOne
=
memberConfigService
.
getOne
(
new
LambdaQueryWrapper
<
MemberConfig
>()
.
eq
(
MemberConfig:
:
getMemberType
,
one
.
getMemberType
())
//
.eq(MemberConfig::getMemberType, one.getMemberType())
.
eq
(
MemberConfig:
:
getMembershipLevel
,
one
.
getMembershipLevel
()
+
1L
));
if
(
ObjectUtil
.
isNotEmpty
(
memberConfigServiceOne
))
{
//判断是否升级
if
(
one
.
getMembershipProgress
().
compareTo
(
BigDecimal
.
valueOf
(
memberConfigServiceOne
.
getLimitRequirements
()))
>=
0
)
{
one
.
setMembershipLevel
(
one
.
getMembershipLevel
()
+
1L
);
one
.
setMemberConfigId
(
memberConfigServiceOne
.
getId
());
//
one.setMemberConfigId(memberConfigServiceOne.getId());
}
}
consumerMemberService
.
updateConsumerMember
(
one
);
...
...
@@ -317,7 +330,7 @@ public class ConsumerWalletServiceImpl extends ServiceImpl<ConsumerWalletMapper,
List
<
Long
>
ids
=
orderList
.
stream
().
map
(
SOrder:
:
getCouponId
).
filter
(
Objects:
:
nonNull
).
collect
(
Collectors
.
toList
());
if
(
CollectionUtil
.
isEmpty
(
ids
))
{
logger
.
debug
(
"优惠券为空"
);
if
(
one
.
get
MemberType
().
equals
(
MemberTypeEnum
.
RECHARGE
.
getIndex
()))
{
if
(
one
.
get
IsRecharge
().
equals
(
YesNoEnum
.
yes
.
getIndex
()))
{
return
;
}
}
else
{
...
...
@@ -332,7 +345,7 @@ public class ConsumerWalletServiceImpl extends ServiceImpl<ConsumerWalletMapper,
});
}
logger
.
debug
(
"优惠券购买金额:"
+
consumption
[
0
]);
if
(
one
.
get
MemberType
().
equals
(
MemberTypeEnum
.
RIGHTS
.
getIndex
()))
{
if
(
one
.
get
IsRights
().
equals
(
YesNoEnum
.
yes
.
getIndex
()))
{
//orderList累加payPrice
consumption
[
0
]
=
consumption
[
0
].
add
(
orderList
.
stream
().
map
(
SOrder:
:
getPayPrice
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
));
logger
.
debug
(
"订单实付金额:"
+
consumption
[
0
]);
...
...
@@ -353,10 +366,16 @@ public class ConsumerWalletServiceImpl extends ServiceImpl<ConsumerWalletMapper,
memberProgressLog
.
setOperationTime
(
new
Date
());
memberProgressLog
.
setOperationType
(
YesNoEnum
.
yes
.
getIndex
());
memberProgressLog
.
setCreateTime
(
new
Date
());
memberProgressLog
.
setExpirationTime
(
DateUtils
.
addYears
(
new
Date
(),
memberConfig
.
getValidityPeriod
().
intValue
()));
if
(
one
.
getIsRecharge
().
equals
(
YesNoEnum
.
yes
.
getIndex
()))
{
memberProgressLog
.
setExpirationTime
(
DateUtils
.
addYears
(
new
Date
(),
100
));
}
if
(
one
.
getIsRights
().
equals
(
YesNoEnum
.
yes
.
getIndex
()))
{
memberProgressLog
.
setExpirationTime
(
DateUtils
.
addYears
(
new
Date
(),
1
));
}
if
(
memberProgressLogService
.
save
(
memberProgressLog
)
&&
integralLogService
.
save
(
integralLog
))
{
List
<
MemberConfig
>
list
=
memberConfigService
.
list
(
new
LambdaQueryWrapper
<
MemberConfig
>()
.
eq
(
MemberConfig:
:
getMemberType
,
one
.
getMemberType
())
//
.eq(MemberConfig::getMemberType, one.getMemberType())
.
orderBy
(
true
,
false
,
MemberConfig:
:
getMembershipLevel
));
//转Map limitRequirements,MemberConfig
Map
<
Long
,
MemberConfig
>
memberConfigMap
=
list
.
stream
().
collect
(
Collectors
.
toMap
(
MemberConfig:
:
getMembershipLevel
,
Function
.
identity
()));
...
...
@@ -366,7 +385,7 @@ public class ConsumerWalletServiceImpl extends ServiceImpl<ConsumerWalletMapper,
consumption
[
0
].
compareTo
(
BigDecimal
.
valueOf
(
memberConfigMap
.
get
(
entry
.
getKey
()
+
1
).
getLimitRequirements
()))
<
0
&&
entry
.
getKey
().
compareTo
(
Collections
.
max
(
memberConfigMap
.
keySet
()))
<
0
)
{
one
.
setMembershipLevel
(
entry
.
getKey
());
one
.
setMemberConfigId
(
entry
.
getValue
().
getId
());
//
one.setMemberConfigId(entry.getValue().getId());
one
.
setMembershipProgress
(
consumption
[
0
].
add
(
one
.
getMembershipProgress
()));
consumerMemberService
.
updateConsumerMember
(
one
);
consumerWallet
.
setRemainingIntegral
(
consumerWallet
.
getRemainingIntegral
().
add
(
consumption
[
0
]));
...
...
@@ -374,7 +393,7 @@ public class ConsumerWalletServiceImpl extends ServiceImpl<ConsumerWalletMapper,
return
;
}
else
if
(
consumption
[
0
].
compareTo
(
BigDecimal
.
valueOf
(
memberConfigMap
.
get
(
Collections
.
max
(
memberConfigMap
.
keySet
())).
getLimitRequirements
()))
>=
0
)
{
one
.
setMembershipLevel
(
Collections
.
max
(
memberConfigMap
.
keySet
()));
one
.
setMemberConfigId
(
memberConfigMap
.
get
(
Collections
.
max
(
memberConfigMap
.
keySet
())).
getId
());
//
one.setMemberConfigId(memberConfigMap.get(Collections.max(memberConfigMap.keySet())).getId());
one
.
setMembershipProgress
(
consumption
[
0
].
add
(
one
.
getMembershipProgress
()));
consumerMemberService
.
updateConsumerMember
(
one
);
consumerWallet
.
setRemainingIntegral
(
consumerWallet
.
getRemainingIntegral
().
add
(
consumption
[
0
]));
...
...
@@ -391,7 +410,7 @@ public class ConsumerWalletServiceImpl extends ServiceImpl<ConsumerWalletMapper,
public
void
accumulatedConsumptionStatistics
(
Long
consumerId
)
{
ConsumerWallet
consumerWallet
=
consumerWalletService
.
getOne
(
new
LambdaQueryWrapper
<
ConsumerWallet
>().
eq
(
ConsumerWallet:
:
getConsumerId
,
consumerId
));
ConsumerMember
one
=
consumerMemberService
.
getOne
(
new
LambdaQueryWrapper
<
ConsumerMember
>().
eq
(
ConsumerMember:
:
getConsumerId
,
consumerId
));
MemberConfig
memberConfig
=
memberConfigService
.
get
ById
(
one
.
getMemberConfigId
(
));
MemberConfig
memberConfig
=
memberConfigService
.
get
One
(
new
LambdaQueryWrapper
<
MemberConfig
>().
eq
(
MemberConfig:
:
getMembershipLevel
,
one
.
getMembershipLevel
()
));
accumulatedConsumptionStatistics
(
consumerWallet
,
one
,
memberConfig
);
}
}
share-system/src/main/java/share/system/service/impl/EquityMembersOrderServiceImpl.java
View file @
04476972
...
...
@@ -11,7 +11,6 @@ import org.slf4j.LoggerFactory;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
share.common.core.redis.RedisUtil
;
import
share.common.enums.MemberTypeEnum
;
import
share.common.enums.ReceiptRdeisEnum
;
import
share.common.enums.YesNoEnum
;
import
share.common.exception.base.BaseException
;
...
...
@@ -141,7 +140,7 @@ public class EquityMembersOrderServiceImpl extends ServiceImpl<EquityMembersOrde
}
ConsumerMember
consumerMember
=
consumerMemberService
.
getOne
(
new
LambdaQueryWrapper
<
ConsumerMember
>()
.
eq
(
ConsumerMember:
:
getConsumerId
,
user
.
getId
())
.
eq
(
ConsumerMember:
:
getMemberType
,
MemberTypeEnum
.
RIGHTS
.
getIndex
())
//
.eq(ConsumerMember::getMemberType, MemberTypeEnum.RIGHTS.getIndex())
);
if
(
ObjectUtil
.
isNotEmpty
(
consumerMember
))
{
Date
expirationDate
=
consumerMember
.
getExpirationDate
();
...
...
@@ -173,11 +172,11 @@ public class EquityMembersOrderServiceImpl extends ServiceImpl<EquityMembersOrde
ConsumerMember
newConsumerMember
=
new
ConsumerMember
();
newConsumerMember
.
setConsumerId
(
equityMembersOrder
.
getConsumerId
());
newConsumerMember
.
setMembershipLevel
(
equityMembersOrderConfig
.
getDefaultLevel
());
newConsumerMember
.
setMemberType
(
MemberTypeEnum
.
RIGHTS
.
getIndex
());
//
newConsumerMember.setMemberType(MemberTypeEnum.RIGHTS.getIndex());
MemberConfig
memberConfig
=
memberConfigService
.
getOne
(
new
LambdaQueryWrapper
<
MemberConfig
>()
.
eq
(
MemberConfig:
:
getMembershipLevel
,
equityMembersOrderConfig
.
getDefaultLevel
())
.
eq
(
MemberConfig:
:
getMemberType
,
MemberTypeEnum
.
RIGHTS
.
getIndex
()));
newConsumerMember
.
setMemberConfigId
(
memberConfig
.
getId
());
.
eq
(
MemberConfig:
:
getMembershipLevel
,
equityMembersOrderConfig
.
getDefaultLevel
())
);
//
.eq(MemberConfig::getMemberType, MemberTypeEnum.RIGHTS.getIndex()));
//
newConsumerMember.setMemberConfigId(memberConfig.getId());
newConsumerMember
.
setExpirationDate
(
DateUtils
.
addYears
(
DateUtils
.
parseDate
(
DateUtils
.
parseDateToStr
(
DateUtils
.
YYYY_MM_DD_HH_MM
,
new
Date
())),
equityMembersOrderConfig
.
getValidityPeriod
().
intValue
()));
newConsumerMember
.
setMembershipProgress
(
equityMembersOrderConfig
.
getGiftPoints
());
...
...
@@ -189,7 +188,7 @@ public class EquityMembersOrderServiceImpl extends ServiceImpl<EquityMembersOrde
memberProgressLog
.
setOperationType
(
YesNoEnum
.
yes
.
getIndex
());
memberProgressLog
.
setOperationTime
(
new
Date
());
memberProgressLog
.
setCreateTime
(
new
Date
());
memberProgressLog
.
setExpirationTime
(
DateUtils
.
addYears
(
new
Date
(),
Math
.
toIntExact
(
memberConfig
.
getValidityPeriod
())
));
memberProgressLog
.
setExpirationTime
(
DateUtils
.
addYears
(
new
Date
(),
1
));
memberProgressLogService
.
save
(
memberProgressLog
);
}
newConsumerMember
.
setCreateTime
(
new
Date
());
...
...
@@ -206,21 +205,22 @@ public class EquityMembersOrderServiceImpl extends ServiceImpl<EquityMembersOrde
}
else
{
MemberConfig
memberConfigServiceOne
=
memberConfigService
.
getOne
(
new
LambdaQueryWrapper
<
MemberConfig
>()
.
eq
(
MemberConfig:
:
getMembershipLevel
,
consumerMember
.
getMembershipLevel
())
.
eq
(
MemberConfig:
:
getMemberType
,
MemberTypeEnum
.
RIGHTS
.
getIndex
()));
if
(
consumerMember
.
getMemberType
().
equals
(
MemberTypeEnum
.
RIGHTS
.
getIndex
()))
{
// .eq(MemberConfig::getMemberType, MemberTypeEnum.RIGHTS.getIndex())
);
if
(
consumerMember
.
getIsRights
().
equals
(
YesNoEnum
.
yes
.
getIndex
()))
{
//在原来的基础上增加有效期
consumerMember
.
setExpirationDate
(
DateUtils
.
addYears
(
DateUtils
.
parseDate
(
DateUtils
.
parseDateToStr
(
DateUtils
.
YYYY_MM_DD_HH_MM
,
consumerMember
.
getExpirationDate
())),
memberConfigServiceOne
.
getValidityPeriod
().
intValue
()
));
1
));
extracted
(
equityMembersOrder
,
equityMembersOrderConfig
,
consumerMember
,
consumerWallet
,
memberConfigServiceOne
);
consumerMemberService
.
updateConsumerMember
(
consumerMember
);
logger
.
debug
(
"权益会员原来的基础上增加有效期"
);
}
else
{
consumerMember
.
setIsRights
(
YesNoEnum
.
yes
.
getIndex
());
//修改会员类型为权益会员
consumerMember
.
setMemberType
(
MemberTypeEnum
.
RIGHTS
.
getIndex
());
consumerMember
.
setMemberConfigId
(
memberConfigServiceOne
.
getId
());
//
consumerMember.setMemberType(MemberTypeEnum.RIGHTS.getIndex());
//
consumerMember.setMemberConfigId(memberConfigServiceOne.getId());
consumerMember
.
setExpirationDate
(
DateUtils
.
addYears
(
DateUtils
.
parseDate
(
DateUtils
.
parseDateToStr
(
DateUtils
.
YYYY_MM_DD_HH_MM
,
new
Date
())),
memberConfigServiceOne
.
getValidityPeriod
().
intValue
()
));
1
));
extracted
(
equityMembersOrder
,
equityMembersOrderConfig
,
consumerMember
,
consumerWallet
,
memberConfigServiceOne
);
consumerMemberService
.
updateConsumerMember
(
consumerMember
);
logger
.
debug
(
"修改会员类型为权益会员"
);
...
...
@@ -267,7 +267,7 @@ public class EquityMembersOrderServiceImpl extends ServiceImpl<EquityMembersOrde
memberProgressLog
.
setOperationType
(
YesNoEnum
.
yes
.
getIndex
());
memberProgressLog
.
setOperationTime
(
new
Date
());
memberProgressLog
.
setCreateTime
(
new
Date
());
memberProgressLog
.
setExpirationTime
(
DateUtils
.
addYears
(
new
Date
(),
Math
.
toIntExact
(
memberConfigServiceOne
.
getValidityPeriod
())
));
memberProgressLog
.
setExpirationTime
(
DateUtils
.
addYears
(
new
Date
(),
1
));
IntegralLog
integralLog
=
new
IntegralLog
();
integralLog
.
setConsumerId
(
equityMembersOrder
.
getConsumerId
());
...
...
@@ -283,13 +283,13 @@ public class EquityMembersOrderServiceImpl extends ServiceImpl<EquityMembersOrde
}
//查询当前会员类型和下一级的会员配置
MemberConfig
one
=
memberConfigService
.
getOne
(
new
LambdaQueryWrapper
<
MemberConfig
>()
.
eq
(
MemberConfig:
:
getMemberType
,
consumerMember
.
getMemberType
())
//
.eq(MemberConfig::getMemberType, consumerMember.getMemberType())
.
eq
(
MemberConfig:
:
getMembershipLevel
,
consumerMember
.
getMembershipLevel
()
+
1L
));
if
(
ObjectUtil
.
isNotEmpty
(
one
))
{
//判断是否升级
if
(
ObjectUtil
.
isNotEmpty
(
one
)
&&
consumerMember
.
getMembershipProgress
().
compareTo
(
BigDecimal
.
valueOf
(
one
.
getLimitRequirements
()))
>=
0
)
{
consumerMember
.
setMembershipLevel
(
consumerMember
.
getMembershipLevel
()
+
1L
);
consumerMember
.
setMemberConfigId
(
one
.
getId
());
//
consumerMember.setMemberConfigId(one.getId());
}
}
}
...
...
share-system/src/main/java/share/system/service/impl/RechargeServiceImpl.java
View file @
04476972
...
...
@@ -11,7 +11,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
share.common.enums.GiveTypeEnum
;
import
share.common.enums.MemberTypeEnum
;
import
share.common.enums.YesNoEnum
;
import
share.common.exception.base.BaseException
;
import
share.common.utils.BaseUtil
;
...
...
@@ -158,13 +157,14 @@ public class RechargeServiceImpl extends ServiceImpl<RechargeMapper, Recharge> i
ConsumerMember
consumerMember
=
new
ConsumerMember
();
consumerMember
.
setConsumerId
(
recharge
.
getConsumerId
());
consumerMember
.
setMembershipLevel
(
0L
);
consumerMember
.
setMemberType
(
MemberTypeEnum
.
RECHARGE
.
getIndex
());
//
consumerMember.setMemberType(MemberTypeEnum.RECHARGE.getIndex());
MemberConfig
memberConfig
=
memberConfigService
.
getOne
(
new
LambdaQueryWrapper
<
MemberConfig
>()
.
eq
(
MemberConfig:
:
getMembershipLevel
,
0L
)
.
eq
(
MemberConfig:
:
getMemberType
,
MemberTypeEnum
.
RECHARGE
.
getIndex
()));
consumerMember
.
setMemberConfigId
(
memberConfig
.
getId
());
// .eq(MemberConfig::getMemberType, MemberTypeEnum.RECHARGE.getIndex())
);
// consumerMember.setMemberConfigId(memberConfig.getId());
consumerMember
.
setMembershipProgress
(
BigDecimal
.
ZERO
);
consumerMember
.
setExpirationDate
(
DateUtils
.
addYears
(
new
Date
(),
memberConfig
.
getValidityPeriod
().
intValue
()
));
consumerMember
.
setExpirationDate
(
DateUtils
.
addYears
(
new
Date
(),
100
));
consumerMember
.
setCreateTime
(
new
Date
());
consumerMember
.
setIsRecharge
(
YesNoEnum
.
yes
.
getIndex
());
consumerMemberService
.
save
(
consumerMember
);
...
...
@@ -172,9 +172,9 @@ public class RechargeServiceImpl extends ServiceImpl<RechargeMapper, Recharge> i
extracted
(
recharge
);
}
else
{
ConsumerWallet
consumerWallet
=
consumerWalletService
.
getOne
(
new
LambdaQueryWrapper
<
ConsumerWallet
>().
eq
(
ConsumerWallet:
:
getConsumerId
,
recharge
.
getConsumerId
()));
if
(
one
.
get
MemberType
().
equals
(
MemberTypeEnum
.
RECHARGE
.
getIndex
()))
{
if
(
one
.
get
IsRecharge
().
equals
(
YesNoEnum
.
yes
.
getIndex
()))
{
consumerWalletService
.
editConsumerWallet
(
consumerWallet
,
recharge
,
one
);
}
else
if
(
one
.
get
MemberType
().
equals
(
MemberTypeEnum
.
RIGHTS
.
getIndex
()))
{
}
else
if
(
one
.
get
IsRights
().
equals
(
YesNoEnum
.
yes
.
getIndex
()))
{
if
(
ObjectUtil
.
isEmpty
(
consumerWallet
))
{
extracted
(
recharge
);
}
else
{
...
...
share-system/src/main/java/share/system/service/impl/SConsumerCenterServiceImpl.java
View file @
04476972
...
...
@@ -313,7 +313,6 @@ public class SConsumerCenterServiceImpl extends ServiceImpl<SConsumerMapper, SCo
if
(
uid
!=
null
){
//添加绑定关系
SharingActivities
sharingActivities
=
new
SharingActivities
();
sharingActivities
.
setActivityType
(
request
.
getActivityType
());
sharingActivities
.
setUid
(
uid
);
sharingActivities
.
setNewUid
(
id
);
sharingActivities
.
setCreateTime
(
DateUtils
.
getNowDate
());
...
...
share-system/src/main/java/share/system/service/impl/SConsumerServiceImpl.java
View file @
04476972
...
...
@@ -201,11 +201,11 @@ public class SConsumerServiceImpl extends ServiceImpl<SConsumerMapper, SConsumer
ConsumerWallet
consumerWallet
=
consumerWalletService
.
getOne
(
new
LambdaQueryWrapper
<
ConsumerWallet
>().
eq
(
ConsumerWallet:
:
getConsumerId
,
currentUser
.
getId
()));
if
(
ObjectUtil
.
isNotEmpty
(
consumerMember
))
{
vo
.
setConsumerMember
(
consumerMember
);
MemberConfig
memberConfig
=
memberConfigService
.
get
ById
(
consumerMember
.
getMemberConfigId
(
));
MemberConfig
memberConfig
=
memberConfigService
.
get
One
(
new
LambdaQueryWrapper
<
MemberConfig
>().
eq
(
MemberConfig:
:
getMembershipLevel
,
consumerMember
.
getMembershipLevel
()
));
MemberConfigVo
memberConfigVo
=
new
MemberConfigVo
();
BeanUtils
.
copyProperties
(
memberConfig
,
memberConfigVo
);
MemberConfig
nexMemberConfig
=
memberConfigService
.
getOne
(
new
LambdaQueryWrapper
<
MemberConfig
>()
.
eq
(
MemberConfig:
:
getMemberType
,
memberConfig
.
getMemberType
())
//
.eq(MemberConfig::getMemberType, memberConfig.getMemberType())
.
eq
(
MemberConfig:
:
getMembershipLevel
,
memberConfig
.
getMembershipLevel
()
+
1
)
);
if
(
ObjectUtil
.
isNotEmpty
(
nexMemberConfig
))
{
...
...
share-system/src/main/java/share/system/service/impl/SOrderServiceImpl.java
View file @
04476972
...
...
@@ -1138,7 +1138,7 @@ public class SOrderServiceImpl extends ServiceImpl<SOrderMapper, SOrder> impleme
}
membershipProgress
=
consumerMember
.
getMembershipProgress
().
add
(
sOrder
.
getBalance
())
.
add
(
coupon
.
getCouponPayPrice
());
if
(
consumerMember
.
get
MemberType
().
equals
(
MemberTypeEnum
.
RIGHTS
.
getIndex
()))
{
if
(
consumerMember
.
get
IsRights
().
equals
(
YesNoEnum
.
yes
.
getIndex
()))
{
integral
=
integral
.
add
(
sOrder
.
getPayPrice
());
membershipProgress
=
membershipProgress
.
add
(
sOrder
.
getPayPrice
());
}
...
...
@@ -1147,7 +1147,7 @@ public class SOrderServiceImpl extends ServiceImpl<SOrderMapper, SOrder> impleme
integral
=
consumerWallet
.
getRemainingIntegral
().
add
(
sOrder
.
getBalance
());
}
membershipProgress
=
consumerMember
.
getMembershipProgress
().
add
(
sOrder
.
getBalance
());
if
(
consumerMember
.
get
MemberType
().
equals
(
MemberTypeEnum
.
RIGHTS
.
getIndex
()))
{
if
(
consumerMember
.
get
IsRights
().
equals
(
YesNoEnum
.
yes
.
getIndex
()))
{
integral
=
integral
.
add
(
sOrder
.
getPayPrice
());
membershipProgress
=
membershipProgress
.
add
(
sOrder
.
getPayPrice
());
}
...
...
@@ -1169,41 +1169,41 @@ public class SOrderServiceImpl extends ServiceImpl<SOrderMapper, SOrder> impleme
memberProgressLog
.
setCurrentProgress
(
consumerMember
.
getMembershipProgress
());
//查询当前会员类型和下一级的会员配置
MemberConfig
one
=
memberConfigService
.
getOne
(
new
LambdaQueryWrapper
<
MemberConfig
>()
.
eq
(
MemberConfig:
:
getMemberType
,
consumerMember
.
getMemberType
())
//
.eq(MemberConfig::getMemberType, consumerMember.getMemberType())
.
eq
(
MemberConfig:
:
getMembershipLevel
,
consumerMember
.
getMembershipLevel
()
+
1L
));
if
(
consumerMember
.
getMemberType
().
equals
(
MemberTypeEnum
.
NORMAL
.
getIndex
()))
{
if
(
consumerMember
.
getIsRecharge
().
equals
(
YesNoEnum
.
yes
.
getIndex
()))
{
consumerMember
.
setMemberType
(
MemberTypeEnum
.
RECHARGE
.
getIndex
());
// consumerMember.setMemberType(MemberTypeEnum.RECHARGE.getIndex());
if
(
ObjectUtil
.
isNotEmpty
(
one
)
&&
membershipProgress
.
compareTo
(
BigDecimal
.
valueOf
(
one
.
getLimitRequirements
()))
>=
0
)
{
consumerMember
.
setMembershipLevel
(
consumerMember
.
getMembershipLevel
()
+
1L
);
consumerMember
.
setMemberConfigId
(
one
.
getId
());
//
consumerMember.setMemberConfigId(one.getId());
}
}
else
if
(
consumerMember
.
getIsRights
().
equals
(
YesNoEnum
.
yes
.
getIndex
()))
{
consumerMember
.
setMemberType
(
MemberTypeEnum
.
RIGHTS
.
getIndex
());
//
consumerMember.setMemberType(MemberTypeEnum.RIGHTS.getIndex());
if
(
ObjectUtil
.
isNotEmpty
(
one
)
&&
membershipProgress
.
compareTo
(
BigDecimal
.
valueOf
(
one
.
getLimitRequirements
()))
>=
0
)
{
consumerMember
.
setMembershipLevel
(
consumerMember
.
getMembershipLevel
()
+
1L
);
consumerMember
.
setMemberConfigId
(
one
.
getId
());
}
}
}
else
{
if
(
ObjectUtil
.
isNotEmpty
(
one
))
{
//判断是否升级
if
(
ObjectUtil
.
isNotEmpty
(
one
)
&&
membershipProgress
.
compareTo
(
BigDecimal
.
valueOf
(
one
.
getLimitRequirements
()))
>=
0
)
{
consumerMember
.
setMembershipLevel
(
consumerMember
.
getMembershipLevel
()
+
1L
);
consumerMember
.
setMemberConfigId
(
one
.
getId
());
// consumerMember.setMemberConfigId(one.getId());
}
}
}
// if (ObjectUtil.isNotEmpty(one)) {
// //判断是否升级
// if (ObjectUtil.isNotEmpty(one) && membershipProgress.compareTo(BigDecimal.valueOf(one.getLimitRequirements())) >= 0) {
// consumerMember.setMembershipLevel(consumerMember.getMembershipLevel() + 1L);
// consumerMember.setMemberConfigId(one.getId());
// }
//
// }
memberProgressLog
.
setVariableProgress
(
membershipProgress
.
subtract
(
consumerMember
.
getMembershipProgress
()));
consumerMember
.
setMembershipProgress
(
membershipProgress
);
memberProgressLog
.
setOperationType
(
YesNoEnum
.
yes
.
getIndex
());
memberProgressLog
.
setOperationTime
(
new
Date
());
memberProgressLog
.
setCreateTime
(
new
Date
());
memberProgressLog
.
setExpirationTime
(
DateUtils
.
addYears
(
new
Date
(),
Math
.
toIntExact
(
memberConfigService
.
getOne
(
new
LambdaQueryWrapper
<
MemberConfig
>().
eq
(
MemberConfig:
:
getId
,
consumerMember
.
getMemberConfigId
())).
getValidityPeriod
())));
if
(!
consumerMember
.
getMemberType
().
equals
(
MemberTypeEnum
.
NORMAL
.
getIndex
()))
{
if
(
consumerMember
.
getIsRecharge
().
equals
(
YesNoEnum
.
yes
.
getIndex
()))
{
memberProgressLog
.
setExpirationTime
(
DateUtils
.
addYears
(
new
Date
(),
100
));
}
if
(
consumerMember
.
getIsRights
().
equals
(
YesNoEnum
.
yes
.
getIndex
()))
{
memberProgressLog
.
setExpirationTime
(
DateUtils
.
addYears
(
new
Date
(),
1
));
}
if
(
consumerMember
.
getIsRights
().
equals
(
YesNoEnum
.
yes
.
getIndex
())
||
consumerMember
.
getIsRecharge
().
equals
(
YesNoEnum
.
yes
.
getIndex
()))
{
memberProgressLogService
.
save
(
memberProgressLog
);
consumerMemberService
.
updateConsumerMember
(
consumerMember
);
}
...
...
@@ -1296,7 +1296,7 @@ public class SOrderServiceImpl extends ServiceImpl<SOrderMapper, SOrder> impleme
}
membershipProgress
=
consumerMember
.
getMembershipProgress
()
.
subtract
(
sOrder
.
getBalance
()).
subtract
(
coupon
.
getCouponPayPrice
());
if
(
consumerMember
.
get
MemberType
().
equals
(
MemberTypeEnum
.
RIGHTS
.
getIndex
()))
{
if
(
consumerMember
.
get
IsRights
().
equals
(
YesNoEnum
.
yes
.
getIndex
()))
{
integral
=
integral
.
subtract
(
sOrder
.
getPayPrice
());
membershipProgress
=
membershipProgress
.
subtract
(
sOrder
.
getPayPrice
());
}
...
...
@@ -1305,7 +1305,7 @@ public class SOrderServiceImpl extends ServiceImpl<SOrderMapper, SOrder> impleme
integral
=
consumerWallet
.
getRemainingIntegral
().
subtract
(
sOrder
.
getBalance
());
}
membershipProgress
=
consumerMember
.
getMembershipProgress
().
subtract
(
sOrder
.
getBalance
());
if
(
consumerMember
.
get
MemberType
().
equals
(
MemberTypeEnum
.
RIGHTS
.
getIndex
()))
{
if
(
consumerMember
.
get
IsRights
().
equals
(
YesNoEnum
.
yes
.
getIndex
()))
{
integral
=
integral
.
subtract
(
sOrder
.
getPayPrice
());
membershipProgress
=
membershipProgress
.
subtract
(
sOrder
.
getPayPrice
());
}
...
...
@@ -1328,53 +1328,59 @@ public class SOrderServiceImpl extends ServiceImpl<SOrderMapper, SOrder> impleme
memberProgressLog
.
setCurrentProgress
(
consumerMember
.
getMembershipProgress
());
//查询当前会员类型和当前等级的会员配置
MemberConfig
one
=
memberConfigService
.
getOne
(
new
LambdaQueryWrapper
<
MemberConfig
>()
.
eq
(
MemberConfig:
:
getMemberType
,
consumerMember
.
getMemberType
())
//
.eq(MemberConfig::getMemberType, consumerMember.getMemberType())
.
eq
(
MemberConfig:
:
getMembershipLevel
,
consumerMember
.
getMembershipLevel
()));
if
(
consumerMember
.
getMemberType
().
equals
(
MemberTypeEnum
.
NORMAL
.
getIndex
()))
{
if
(
consumerMember
.
getIsRecharge
().
equals
(
YesNoEnum
.
yes
.
getIndex
()))
{
if
(
consumerMember
.
getMembershipLevel
().
compareTo
(
0L
)
>
0
)
{
consumerMember
.
setMemberType
(
MemberTypeEnum
.
RECHARGE
.
getIndex
());
if
(
ObjectUtil
.
isNotEmpty
(
one
)
&&
membershipProgress
.
compareTo
(
BigDecimal
.
valueOf
(
one
.
getLimitRequirements
()))
<
0
)
{
consumerMember
.
setMembershipLevel
(
consumerMember
.
getMembershipLevel
()
-
1L
);
consumerMember
.
setMemberConfigId
(
memberConfigService
.
getOne
(
new
LambdaQueryWrapper
<
MemberConfig
>()
.
eq
(
MemberConfig:
:
getMemberType
,
consumerMember
.
getMemberType
())
.
eq
(
MemberConfig:
:
getMembershipLevel
,
consumerMember
.
getMembershipLevel
())).
getId
());
}
}
}
else
if
(
consumerMember
.
getIsRights
().
equals
(
YesNoEnum
.
yes
.
getIndex
()))
{
if
(
consumerMember
.
getMembershipLevel
().
compareTo
(
0L
)
>
0
)
{
consumerMember
.
setMemberType
(
MemberTypeEnum
.
RIGHTS
.
getIndex
());
if
(
ObjectUtil
.
isNotEmpty
(
one
)
&&
membershipProgress
.
compareTo
(
BigDecimal
.
valueOf
(
one
.
getLimitRequirements
()))
<
0
)
{
consumerMember
.
setMembershipLevel
(
consumerMember
.
getMembershipLevel
()
-
1L
);
consumerMember
.
setMemberConfigId
(
memberConfigService
.
getOne
(
new
LambdaQueryWrapper
<
MemberConfig
>()
.
eq
(
MemberConfig:
:
getMemberType
,
consumerMember
.
getMemberType
())
.
eq
(
MemberConfig:
:
getMembershipLevel
,
consumerMember
.
getMembershipLevel
())).
getId
());
}
}
}
}
else
{
//
if (consumerMember.getMemberType().equals(MemberTypeEnum.NORMAL.getIndex())) {
//
if (consumerMember.getIsRecharge().equals(YesNoEnum.yes.getIndex())) {
//
if (consumerMember.getMembershipLevel().compareTo(0L) > 0) {
//
consumerMember.setMemberType(MemberTypeEnum.RECHARGE.getIndex());
//
if (ObjectUtil.isNotEmpty(one) && membershipProgress.compareTo(BigDecimal.valueOf(one.getLimitRequirements())) < 0) {
//
consumerMember.setMembershipLevel(consumerMember.getMembershipLevel() - 1L);
//
consumerMember.setMemberConfigId(memberConfigService.getOne(new LambdaQueryWrapper<MemberConfig>()
//
.eq(MemberConfig::getMemberType, consumerMember.getMemberType())
//
.eq(MemberConfig::getMembershipLevel, consumerMember.getMembershipLevel())).getId());
//
}
//
}
//
} else if (consumerMember.getIsRights().equals(YesNoEnum.yes.getIndex())) {
//
if (consumerMember.getMembershipLevel().compareTo(0L) > 0) {
//
consumerMember.setMemberType(MemberTypeEnum.RIGHTS.getIndex());
//
if (ObjectUtil.isNotEmpty(one) && membershipProgress.compareTo(BigDecimal.valueOf(one.getLimitRequirements())) < 0) {
//
consumerMember.setMembershipLevel(consumerMember.getMembershipLevel() - 1L);
//
consumerMember.setMemberConfigId(memberConfigService.getOne(new LambdaQueryWrapper<MemberConfig>()
//
.eq(MemberConfig::getMemberType, consumerMember.getMemberType())
//
.eq(MemberConfig::getMembershipLevel, consumerMember.getMembershipLevel())).getId());
//
}
//
}
//
}
//
} else {
if
(
consumerMember
.
getMembershipLevel
().
compareTo
(
0L
)
>
0
)
{
if
(
ObjectUtil
.
isNotEmpty
(
one
))
{
//判断是否升级
if
(
ObjectUtil
.
isNotEmpty
(
one
)
&&
membershipProgress
.
compareTo
(
BigDecimal
.
valueOf
(
one
.
getLimitRequirements
()))
<
0
)
{
consumerMember
.
setMembershipLevel
(
consumerMember
.
getMembershipLevel
()
-
1L
);
consumerMember
.
setMemberConfigId
(
memberConfigService
.
getOne
(
new
LambdaQueryWrapper
<
MemberConfig
>()
.
eq
(
MemberConfig:
:
getMemberType
,
consumerMember
.
getMemberType
())
.
eq
(
MemberConfig:
:
getMembershipLevel
,
consumerMember
.
getMembershipLevel
())).
getId
());
//
consumerMember.setMemberConfigId(memberConfigService.getOne(new LambdaQueryWrapper<MemberConfig>()
//
.eq(MemberConfig::getMemberType, consumerMember.getMemberType())
//
.eq(MemberConfig::getMembershipLevel, consumerMember.getMembershipLevel())).getId());
}
}
}
}
memberProgressLog
.
setVariableProgress
(
consumerMember
.
getMembershipProgress
().
subtract
(
membershipProgress
));
consumerMember
.
setMembershipProgress
(
membershipProgress
);
memberProgressLog
.
setOperationType
(
YesNoEnum
.
no
.
getIndex
());
memberProgressLog
.
setOperationTime
(
new
Date
());
memberProgressLog
.
setCreateTime
(
new
Date
());
Long
validityPeriod
=
memberConfigService
.
getById
(
consumerMember
.
getMemberConfigId
()).
getValidityPeriod
();
memberProgressLog
.
setExpirationTime
(
DateUtils
.
addYears
(
new
Date
(),
validityPeriod
.
intValue
()));
if
(!
consumerMember
.
getMemberType
().
equals
(
MemberTypeEnum
.
NORMAL
.
getIndex
())
&&
membershipProgress
.
compareTo
(
BigDecimal
.
ZERO
)
>=
0
)
{
if
(
consumerMember
.
getIsRecharge
().
equals
(
YesNoEnum
.
yes
.
getIndex
()))
{
memberProgressLog
.
setExpirationTime
(
DateUtils
.
addYears
(
new
Date
(),
100
));
}
if
(
consumerMember
.
getIsRights
().
equals
(
YesNoEnum
.
yes
.
getIndex
()))
{
memberProgressLog
.
setExpirationTime
(
DateUtils
.
addYears
(
new
Date
(),
1
));
}
if
((
consumerMember
.
getIsRecharge
().
equals
(
YesNoEnum
.
yes
.
getIndex
())
||
consumerMember
.
getIsRights
().
equals
(
YesNoEnum
.
yes
.
getIndex
()))
&&
membershipProgress
.
compareTo
(
BigDecimal
.
ZERO
)
>=
0
)
{
memberProgressLogService
.
save
(
memberProgressLog
);
consumerMemberService
.
updateConsumerMember
(
consumerMember
);
}
...
...
@@ -2422,7 +2428,13 @@ public class SOrderServiceImpl extends ServiceImpl<SOrderMapper, SOrder> impleme
consumerMember
=
consumerMemberService
.
getOne
(
new
LambdaQueryWrapper
<
ConsumerMember
>().
eq
(
ConsumerMember:
:
getConsumerId
,
user
.
getId
()));
if
(
ObjectUtil
.
isNotEmpty
(
consumerMember
))
{
queryWrapper
.
eq
(
Activity:
:
getIsOpen
,
YesNoEnum
.
yes
.
getIndex
());
queryWrapper
.
eq
(
Activity:
:
getMemberType
,
consumerMember
.
getMemberType
());
if
(
consumerMember
.
getIsRights
().
equals
(
YesNoEnum
.
yes
.
getIndex
()))
{
queryWrapper
.
eq
(
Activity:
:
getMemberType
,
MemberTypeEnum
.
RIGHTS
.
getIndex
());
}
else
if
(
consumerMember
.
getIsRecharge
().
equals
(
YesNoEnum
.
yes
.
getIndex
())
&&
consumerMember
.
getIsRights
().
equals
(
YesNoEnum
.
no
.
getIndex
()))
{
queryWrapper
.
eq
(
Activity:
:
getMemberType
,
MemberTypeEnum
.
RECHARGE
.
getIndex
());
}
else
{
queryWrapper
.
eq
(
Activity:
:
getMemberType
,
MemberTypeEnum
.
NORMAL
.
getIndex
());
}
}
if
(
ObjectUtil
.
isNotEmpty
(
consumerWallet
))
{
priceResponse
.
setAvailableBalance
(
consumerWallet
.
getBalance
());
...
...
@@ -2539,7 +2551,7 @@ public class SOrderServiceImpl extends ServiceImpl<SOrderMapper, SOrder> impleme
priceResponse
.
setRemainingDuration
(
new
BigDecimal
(
0
));
if
(
priceResponse
.
getPayFee
().
compareTo
(
new
BigDecimal
(
0
))
>
0
)
{
if
(
ObjectUtil
.
isNotEmpty
(
consumerMember
))
{
MemberConfig
memberConfig
=
memberConfigService
.
getOne
(
new
LambdaQueryWrapper
<
MemberConfig
>().
eq
(
MemberConfig:
:
get
Id
,
consumerMember
.
getMemberConfigId
()));
MemberConfig
memberConfig
=
memberConfigService
.
getOne
(
new
LambdaQueryWrapper
<
MemberConfig
>().
eq
(
MemberConfig:
:
get
MembershipLevel
,
consumerMember
.
getMembershipLevel
()));
BigDecimal
payFee
=
priceResponse
.
getPayFee
();
BigDecimal
divide
=
priceResponse
.
getPayFee
().
multiply
(
memberConfig
.
getDiscountRatio
()).
divide
(
new
BigDecimal
(
100
),
2
,
RoundingMode
.
HALF_UP
);
...
...
@@ -2591,7 +2603,7 @@ public class SOrderServiceImpl extends ServiceImpl<SOrderMapper, SOrder> impleme
private
BigDecimal
getBigDecimal
(
ConsumerWallet
consumerWallet
,
Activity
activity
,
BigDecimal
timeLong
,
ComputedOrderPriceResponse
priceResponse
,
BigDecimal
totalFee
,
SRoom
room
,
OrderComputedPriceRequest
request
,
ConsumerMember
consumerMember
)
{
if
(
ObjectUtil
.
isNotEmpty
(
consumerWallet
)
&&
ObjectUtil
.
isNotEmpty
(
consumerMember
))
{
MemberConfig
memberConfig
=
memberConfigService
.
get
ById
(
consumerMember
.
getMemberConfigId
(
));
MemberConfig
memberConfig
=
memberConfigService
.
get
One
(
new
LambdaQueryWrapper
<
MemberConfig
>().
eq
(
MemberConfig:
:
getMembershipLevel
,
consumerMember
.
getMembershipLevel
()
));
CronParser
cronParser
=
new
CronParser
(
CronDefinitionBuilder
.
instanceDefinitionFor
(
CronType
.
QUARTZ
));
priceResponse
.
setDuration
(
BigDecimal
.
ZERO
);
priceResponse
.
setRemainingDuration
(
BigDecimal
.
ZERO
);
...
...
@@ -2756,7 +2768,7 @@ public class SOrderServiceImpl extends ServiceImpl<SOrderMapper, SOrder> impleme
private
BigDecimal
getBigDecimal
(
OrderComputedPriceRequest
request
,
Activity
activity
,
BigDecimal
payPrice
,
SConsumer
user
,
ConsumerMember
consumerMember
)
{
if
(
ObjectUtil
.
isNotEmpty
(
user
))
{
MemberConfig
memberConfig
=
memberConfigService
.
get
ById
(
consumerMember
.
getMemberConfigId
(
));
MemberConfig
memberConfig
=
memberConfigService
.
get
One
(
new
LambdaQueryWrapper
<
MemberConfig
>().
eq
(
MemberConfig:
:
getMembershipLevel
,
consumerMember
.
getMembershipLevel
()
));
if
(
ObjectUtil
.
isNotEmpty
(
activity
))
{
CronParser
cronParser
=
new
CronParser
(
CronDefinitionBuilder
.
instanceDefinitionFor
(
CronType
.
QUARTZ
));
Cron
cron
=
cronParser
.
parse
(
activity
.
getCronExpression
());
...
...
share-system/src/main/java/share/system/service/impl/SharingActivitiesServiceImpl.java
View file @
04476972
package
share
.
system
.
service
.
impl
;
import
java.time.YearMonth
;
import
java.util.List
;
import
java.util.Set
;
...
...
@@ -10,6 +11,7 @@ import org.springframework.data.redis.core.RedisTemplate;
import
share.common.core.domain.AjaxResult
;
import
share.common.core.redis.RedisUtil
;
import
share.common.enums.ReceiptRdeisEnum
;
import
share.common.enums.YesNoEnum
;
import
share.common.utils.DateUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -107,28 +109,4 @@ public class SharingActivitiesServiceImpl extends ServiceImpl<SharingActivitiesM
return
sharingActivitiesMapper
.
deleteSharingActivitiesById
(
id
);
}
/**
* 新增分享活动绑定关系
* @param sharingActivities
* @return
*/
@Override
public
AjaxResult
addSharingActivities
(
SharingActivities
sharingActivities
)
{
sharingActivities
.
setCreateTime
(
DateUtils
.
getNowDate
());
Long
newUid
=
sharingActivities
.
getNewUid
();
SharingActivities
sharingActivities1
=
sharingActivitiesMapper
.
selectOne
(
new
LambdaQueryWrapper
<
SharingActivities
>().
eq
(
SharingActivities:
:
getNewUid
,
newUid
));
if
(
ObjectUtil
.
isNotEmpty
(
sharingActivities1
)){
return
AjaxResult
.
success
(
"此用户以绑定其他权益会员"
);
}
Boolean
B
=
redisTemplate
.
hasKey
(
ReceiptRdeisEnum
.
EQUITY_MEMBERS_TIME
+
sharingActivities
.
getUid
().
toString
());
if
(!
B
){
return
AjaxResult
.
success
(
"分享用户权益过期"
);
}
sharingActivitiesMapper
.
insertSharingActivities
(
sharingActivities
);
Boolean
aBoolean
=
redisTemplate
.
hasKey
(
ReceiptRdeisEnum
.
EQUITY_MEMBERS_TIME
+
sharingActivities
.
getUid
().
toString
());
if
(!
aBoolean
){
sharingActivitiesMapper
.
deleteSharingActivitiesById
(
sharingActivities
.
getId
());
}
return
AjaxResult
.
success
();
}
}
share-system/src/main/resources/mapper/system/ConsumerMemberMapper.xml
View file @
04476972
...
...
@@ -11,8 +11,8 @@
<result
property=
"phone"
column=
"phone"
/>
<result
property=
"avatar"
column=
"avatar"
/>
<result
property=
"membershipLevel"
column=
"membership_level"
/>
<
result
property=
"memberType"
column=
"member_type"
/
>
<
result
property=
"memberConfigId"
column=
"member_config_id"
/
>
<
!-- <result property="memberType" column="member_type"/>--
>
<
!-- <result property="memberConfigId" column="member_config_id"/>--
>
<result
property=
"expirationDate"
column=
"expiration_date"
/>
<result
property=
"membershipProgress"
column=
"membership_progress"
/>
<result
property=
"isRecharge"
column=
"is_recharge"
/>
...
...
@@ -29,8 +29,6 @@
select id,
consumer_id,
membership_level,
member_type,
member_config_id,
expiration_date,
membership_progress,
is_recharge,
...
...
@@ -51,8 +49,6 @@
c.phone,
c.avatar,
m. membership_level,
m.member_type,
m.member_config_id,
m.expiration_date,
m.membership_progress,
m.is_recharge,
...
...
@@ -71,8 +67,6 @@
</if>
<if
test=
"consumerId != null "
>
and m.consumer_id = #{consumerId}
</if>
<if
test=
"membershipLevel != null "
>
and m.membership_level = #{membershipLevel}
</if>
<if
test=
"memberType != null "
>
and m.member_type = #{memberType}
</if>
<if
test=
"memberConfigId != null "
>
and m.member_config_id = #{memberConfigId}
</if>
<if
test=
"expirationDate != null "
>
and m.expiration_date = #{expirationDate}
</if>
<if
test=
"membershipProgress != null "
>
and m.membership_progress = #{membershipProgress}
</if>
</where>
...
...
@@ -89,8 +83,6 @@
c.phone,
c.avatar,
m.membership_level,
m.member_type,
m.member_config_id,
m.expiration_date,
m.membership_progress,
m.is_recharge,
...
...
@@ -112,8 +104,6 @@
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"consumerId != null"
>
consumer_id,
</if>
<if
test=
"membershipLevel != null"
>
membership_level,
</if>
<if
test=
"memberType != null"
>
member_type,
</if>
<if
test=
"memberConfigId != null"
>
member_config_id,
</if>
<if
test=
"expirationDate != null"
>
expiration_date,
</if>
<if
test=
"membershipProgress != null"
>
membership_progress,
</if>
<if
test=
"isRecharge != null"
>
is_recharge,
</if>
...
...
@@ -128,8 +118,6 @@
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"consumerId != null"
>
#{consumerId},
</if>
<if
test=
"membershipLevel != null"
>
#{membershipLevel},
</if>
<if
test=
"memberType != null"
>
#{memberType},
</if>
<if
test=
"memberConfigId != null"
>
#{memberConfigId},
</if>
<if
test=
"expirationDate != null"
>
#{expirationDate},
</if>
<if
test=
"membershipProgress != null"
>
#{membershipProgress},
</if>
<if
test=
"isRecharge != null"
>
#{isRecharge},
</if>
...
...
@@ -148,8 +136,6 @@
<trim
prefix=
"SET"
suffixOverrides=
","
>
<if
test=
"consumerId != null"
>
consumer_id = #{consumerId},
</if>
<if
test=
"membershipLevel != null"
>
membership_level = #{membershipLevel},
</if>
<if
test=
"memberType != null"
>
member_type = #{memberType},
</if>
<if
test=
"memberConfigId != null"
>
member_config_id = #{memberConfigId},
</if>
<if
test=
"expirationDate != null"
>
expiration_date = #{expirationDate},
</if>
<if
test=
"membershipProgress != null"
>
membership_progress = #{membershipProgress},
</if>
<if
test=
"isRecharge != null"
>
is_recharge = #{isRecharge},
</if>
...
...
share-system/src/main/resources/mapper/system/MemberConfigMapper.xml
View file @
04476972
...
...
@@ -7,12 +7,12 @@
<resultMap
type=
"MemberConfig"
id=
"MemberConfigResult"
>
<result
property=
"id"
column=
"id"
/>
<result
property=
"membershipLevel"
column=
"membership_level"
/>
<
result
property=
"memberType"
column=
"member_type"
/
>
<
!-- <result property="memberType" column="member_type"/>--
>
<result
property=
"levelName"
column=
"level_name"
/>
<result
property=
"limitRequirements"
column=
"limit_requirements"
/>
<result
property=
"discountRatio"
column=
"discount_ratio"
/>
<
result
property=
"validityPeriod"
column=
"validity_period"
/
>
<
result
property=
"membershipProgress"
column=
"membership_progress"
/
>
<
!-- <result property="validityPeriod" column="validity_period"/>--
>
<
!-- <result property="membershipProgress" column="membership_progress"/>--
>
<result
property=
"isDelete"
column=
"is_delete"
/>
<result
property=
"createBy"
column=
"create_by"
/>
<result
property=
"createTime"
column=
"create_time"
/>
...
...
@@ -24,12 +24,9 @@
<sql
id=
"selectMemberConfigVo"
>
select id,
membership_level,
member_type,
level_name,
limit_requirements,
discount_ratio,
validity_period,
membership_progress,
is_delete,
create_by,
create_time,
...
...
@@ -43,12 +40,10 @@
<include
refid=
"selectMemberConfigVo"
/>
<where>
<if
test=
"membershipLevel != null "
>
and membership_level = #{membershipLevel}
</if>
<if
test=
"memberType != null "
>
and member_type = #{memberType}
</if>
<if
test=
"levelName != null and levelName != ''"
>
and level_name like concat('%', #{levelName}, '%')
</if>
<if
test=
"limitRequirements != null "
>
and limit_requirements = #{limitRequirements}
</if>
<if
test=
"discountRatio != null "
>
and discount_ratio = #{discountRatio}
</if>
<if
test=
"validityPeriod != null "
>
and validity_period = #{validityPeriod}
</if>
<if
test=
"membershipProgress != null "
>
and membership_progress = #{membershipProgress}
</if>
>
<if
test=
"isDelete != null "
>
and is_delete = #{isDelete}
</if>
</where>
</select>
...
...
@@ -62,12 +57,10 @@
insert into s_member_config
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"membershipLevel != null"
>
membership_level,
</if>
<if
test=
"memberType != null"
>
member_type,
</if>
<if
test=
"levelName != null"
>
level_name,
</if>
<if
test=
"limitRequirements != null"
>
limit_requirements,
</if>
<if
test=
"discountRatio != null"
>
discount_ratio,
</if>
<if
test=
"validityPeriod != null"
>
validity_period,
</if>
<if
test=
"membershipProgress != null"
>
membership_progress,
</if>
<if
test=
"isDelete != null"
>
is_delete,
</if>
<if
test=
"createBy != null"
>
create_by,
</if>
<if
test=
"createTime != null"
>
create_time,
</if>
...
...
@@ -77,12 +70,10 @@
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"membershipLevel != null"
>
#{membershipLevel},
</if>
<if
test=
"memberType != null"
>
#{memberType},
</if>
<if
test=
"levelName != null"
>
#{levelName},
</if>
<if
test=
"limitRequirements != null"
>
#{limitRequirements},
</if>
<if
test=
"discountRatio != null"
>
#{discountRatio},
</if>
<if
test=
"validityPeriod != null"
>
#{validityPeriod},
</if>
<if
test=
"membershipProgress != null"
>
#{membershipProgress},
</if>
<if
test=
"isDelete != null"
>
#{isDelete},
</if>
<if
test=
"createBy != null"
>
#{createBy},
</if>
<if
test=
"createTime != null"
>
#{createTime},
</if>
...
...
@@ -96,12 +87,10 @@
update s_member_config
<trim
prefix=
"SET"
suffixOverrides=
","
>
<if
test=
"membershipLevel != null"
>
membership_level = #{membershipLevel},
</if>
<if
test=
"memberType != null"
>
member_type = #{memberType},
</if>
<if
test=
"levelName != null"
>
level_name = #{levelName},
</if>
<if
test=
"limitRequirements != null"
>
limit_requirements = #{limitRequirements},
</if>
<if
test=
"discountRatio != null"
>
discount_ratio = #{discountRatio},
</if>
<if
test=
"validityPeriod != null"
>
validity_period = #{validityPeriod},
</if>
<if
test=
"membershipProgress != null"
>
membership_progress = #{membershipProgress},
</if>
<if
test=
"isDelete != null"
>
is_delete = #{isDelete},
</if>
<if
test=
"createBy != null"
>
create_by = #{createBy},
</if>
<if
test=
"createTime != null"
>
create_time = #{createTime},
</if>
...
...
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