Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
jiedao-api-boot-master
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
lanbaoming
jiedao-api-boot-master
Commits
3f17a7bd
Commit
3f17a7bd
authored
Jul 29, 2024
by
zhangfeng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feature-reward:礼品管理完善
parent
14f0ca3e
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
96 additions
and
57 deletions
+96
-57
QuantitativeRelationSymbolEnum.java
...o/module/reward/enums/QuantitativeRelationSymbolEnum.java
+23
-0
RewardPickMethedEnum.java
...coder/yudao/module/reward/enums/RewardPickMethedEnum.java
+1
-1
RewardStatusEnum.java
...n/iocoder/yudao/module/reward/enums/RewardStatusEnum.java
+24
-0
RedeemRewardApiImpl.java
...r/yudao/module/reward/api/reward/RedeemRewardApiImpl.java
+6
-12
RedeemRewardController.java
...eward/controller/admin/redeem/RedeemRewardController.java
+3
-4
RewardController.java
...dule/reward/controller/admin/reward/RewardController.java
+8
-6
RewardServiceImpl.java
...yudao/module/reward/service/reward/RewardServiceImpl.java
+30
-31
RewardUpdateReqVO.java
...oder/yudao/module/reward/vo/reward/RewardUpdateReqVO.java
+1
-3
No files found.
yudao-module-reward/yudao-module-reward-api/src/main/java/cn/iocoder/yudao/module/reward/enums/QuantitativeRelationSymbolEnum.java
0 → 100644
View file @
3f17a7bd
package
cn
.
iocoder
.
yudao
.
module
.
reward
.
enums
;
public
enum
QuantitativeRelationSymbolEnum
{
GT
(
1
,
"大于"
),
EQ
(
2
,
"等于"
),
LT
(
3
,
"小于"
);
private
final
int
value
;
private
final
String
name
;
QuantitativeRelationSymbolEnum
(
int
value
,
String
name
)
{
this
.
value
=
value
;
this
.
name
=
name
;
}
public
int
getValue
()
{
return
value
;
}
public
String
getName
()
{
return
name
;
}
}
yudao-module-reward/yudao-module-reward-api/src/main/java/cn/iocoder/yudao/module/reward/enums/RewardPickMethedEnum.java
View file @
3f17a7bd
package
cn
.
iocoder
.
yudao
.
module
.
reward
.
enums
;
public
enum
RewardPickMethedEnum
{
PICKUP
(
1
,
"上门领取"
),
SELF_
PICKUP
(
1
,
"上门领取"
),
SEND_HOME_FREE
(
2
,
"包邮到家"
),
SEND_HOME_PAY
(
3
,
"邮寄到付"
)
;
...
...
yudao-module-reward/yudao-module-reward-api/src/main/java/cn/iocoder/yudao/module/reward/enums/RewardStatusEnum.java
0 → 100644
View file @
3f17a7bd
package
cn
.
iocoder
.
yudao
.
module
.
reward
.
enums
;
public
enum
RewardStatusEnum
{
ENABLED
(
1
,
"已启用"
),
DISABLED
(
2
,
"未启用"
),
CLOSED
(
3
,
"已关闭"
),
EXPIRED
(
4
,
"已过期"
);
private
final
int
value
;
private
final
String
name
;
RewardStatusEnum
(
int
value
,
String
name
)
{
this
.
value
=
value
;
this
.
name
=
name
;
}
public
int
getValue
()
{
return
value
;
}
public
String
getName
()
{
return
name
;
}
}
yudao-module-reward/yudao-module-reward-impl/src/main/java/cn/iocoder/yudao/module/reward/api/reward/RedeemRewardApiImpl.java
View file @
3f17a7bd
...
...
@@ -62,9 +62,6 @@ public class RedeemRewardApiImpl implements RedeemRewardApi {
throw
exception
(
REWARD_COUNT_NOT_ENOUGH
);
}
// 兑换方式不匹配
// if (!Objects.equals(rewardDO.getPickMethod(), redeemRewardReqVO.getRedeemType())) {
// throw exception(REWARD_PICK_METHOD_NOT_ALLOW_CREATE);
// }
String
pickMethod
=
rewardDO
.
getPickMethod
();
String
[]
split
=
pickMethod
.
split
(
","
);
if
(!
Arrays
.
asList
(
split
).
contains
(
String
.
valueOf
(
redeemRewardReqVO
.
getRedeemType
())))
{
...
...
@@ -91,15 +88,15 @@ public class RedeemRewardApiImpl implements RedeemRewardApi {
return
null
;
}
private
void
redeemReward
(
RewardDO
reward
DO
,
Integer
rewardCount
)
{
private
void
redeemReward
(
RewardDO
reward
,
Integer
rewardCount
)
{
// 更新时校验礼品数量是否足够
RewardDO
rewardDO
1
=
rewardMapper
.
selectById
(
rewardDO
.
getId
());
if
(
rewardDO
1
.
getQuantityRemain
()
<
rewardCount
)
{
RewardDO
rewardDO
=
rewardMapper
.
selectById
(
reward
.
getId
());
if
(
rewardDO
.
getQuantityRemain
()
<
rewardCount
)
{
throw
exception
(
REWARD_COUNT_NOT_ENOUGH
);
}
reward
DO
.
setExchangeCount
(
rewardDO
.
getExchangeCount
()
+
1
);
reward
DO
.
setQuantityRemain
(
rewardDO
.
getQuantityRemain
()
-
rewardCount
);
rewardMapper
.
updateById
(
reward
DO
);
reward
.
setExchangeCount
(
reward
.
getExchangeCount
()
+
1
);
reward
.
setQuantityRemain
(
reward
.
getQuantityRemain
()
-
rewardCount
);
rewardMapper
.
updateById
(
reward
);
}
private
void
updateMemberScore
(
RedeemRewardReqVO
redeemRewardReqVO
,
RewardDO
rewardDO
,
Long
redeemId
)
{
...
...
@@ -139,9 +136,6 @@ public class RedeemRewardApiImpl implements RedeemRewardApi {
for
(
RedeemRewardReqVO
redeemRewardReqVO
:
redeemRewardReqVOList
)
{
// 每个兑换VO校验一遍
// 兑换方式不匹配
// if (!Objects.equals(rewardDO.getPickMethod(), redeemRewardReqVO.getRedeemType())) {
// throw exception(REWARD_PICK_METHOD_NOT_ALLOW_CREATE);
// }
String
pickMethod
=
rewardDO
.
getPickMethod
();
String
[]
split
=
pickMethod
.
split
(
","
);
if
(!
Arrays
.
asList
(
split
).
contains
(
String
.
valueOf
(
redeemRewardReqVO
.
getRedeemType
())))
{
...
...
yudao-module-reward/yudao-module-reward-impl/src/main/java/cn/iocoder/yudao/module/reward/controller/admin/redeem/RedeemRewardController.java
View file @
3f17a7bd
...
...
@@ -8,9 +8,9 @@ import cn.iocoder.yudao.module.reward.api.reward.dto.RedeemRewardRespDTO;
import
cn.iocoder.yudao.module.reward.service.redeem.RewardRedeemService
;
import
cn.iocoder.yudao.module.reward.vo.reward.RewardRedeemPageReqVO
;
import
cn.iocoder.yudao.module.reward.vo.reward.RewardRedeemPageRespVO
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
...
...
@@ -19,7 +19,6 @@ import org.springframework.web.bind.annotation.RestController;
import
javax.annotation.Resource
;
import
javax.validation.Valid
;
import
java.util.List
;
import
static
cn
.
iocoder
.
yudao
.
framework
.
common
.
pojo
.
CommonResult
.
success
;
...
...
@@ -45,14 +44,14 @@ public class RedeemRewardController {
@PostMapping
(
"/single"
)
@ApiOperation
(
"兑换礼品"
)
//@PreAuthorize("@ss.hasPermission('reward::redeem
')")
@PreAuthorize
(
"@ss.hasPermission('ecw:giftManagement:exchange
')"
)
public
CommonResult
<
RedeemRewardRespDTO
>
redeemReward
(
@Valid
@RequestBody
RedeemRewardReqVO
redeemRewardReqVO
)
{
return
success
(
redeemRewardApi
.
redeemReward
(
redeemRewardReqVO
));
}
@PostMapping
(
"/batch"
)
@ApiOperation
(
"批量兑换礼品"
)
//@PreAuthorize("@ss.hasPermission('reward::redeem
')")
@PreAuthorize
(
"@ss.hasPermission('ecw:giftManagement:exchange
')"
)
public
CommonResult
<
List
<
RedeemRewardRespDTO
>>
redeemRewards
(
@Valid
@RequestBody
List
<
RedeemRewardReqVO
>
redeemRewardReqVOList
)
{
return
success
(
redeemRewardApi
.
redeemRewards
(
redeemRewardReqVOList
));
}
...
...
yudao-module-reward/yudao-module-reward-impl/src/main/java/cn/iocoder/yudao/module/reward/controller/admin/reward/RewardController.java
View file @
3f17a7bd
...
...
@@ -9,10 +9,10 @@ import cn.iocoder.yudao.module.reward.convert.reward.RewardConvert;
import
cn.iocoder.yudao.module.reward.dal.dataobject.reward.RewardDO
;
import
cn.iocoder.yudao.module.reward.service.reward.RewardService
;
import
cn.iocoder.yudao.module.reward.vo.reward.*
;
import
com.alibaba.fastjson.JSON
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
...
...
@@ -38,14 +38,14 @@ public class RewardController {
@PostMapping
(
"/create"
)
@ApiOperation
(
"创建礼品"
)
//@PreAuthorize("@ss.hasPermission('reward::create
')")
@PreAuthorize
(
"@ss.hasPermission('ecw:giftManagement:add
')"
)
public
CommonResult
<
Long
>
create
(
@Valid
@RequestBody
RewardCreateReqVO
createReqVO
)
{
return
success
(
rewardService
.
create
(
createReqVO
));
}
@PostMapping
(
"/update"
)
@ApiOperation
(
"更新礼品"
)
//@PreAuthorize("@ss.hasPermission('reward::update
')")
@PreAuthorize
(
"@ss.hasPermission('ecw:giftManagement:edit
')"
)
public
CommonResult
<
Boolean
>
update
(
@Valid
@RequestBody
RewardUpdateReqVO
updateReqVO
)
{
rewardService
.
update
(
updateReqVO
);
return
success
(
true
);
...
...
@@ -54,7 +54,7 @@ public class RewardController {
@DeleteMapping
(
"/delete"
)
@ApiOperation
(
"删除礼品"
)
@ApiImplicitParam
(
name
=
"id"
,
value
=
"编号"
,
required
=
true
,
example
=
"1024"
,
dataTypeClass
=
Long
.
class
)
//@PreAuthorize("@ss.hasPermission('reward:
:delete')")
@PreAuthorize
(
"@ss.hasPermission('ecw:giftManagement
:delete')"
)
public
CommonResult
<
Boolean
>
delete
(
@RequestParam
(
"id"
)
Long
id
)
{
rewardService
.
delete
(
id
);
return
success
(
true
);
...
...
@@ -63,7 +63,7 @@ public class RewardController {
@GetMapping
(
"/get"
)
@ApiOperation
(
"获得礼品详情"
)
@ApiImplicitParam
(
name
=
"id"
,
value
=
"编号"
,
required
=
true
,
example
=
"1024"
,
dataTypeClass
=
Long
.
class
)
//@PreAuthorize("@ss.hasPermission('reward::query
')")
@PreAuthorize
(
"@ss.hasPermission('ecw:giftManagement:check
')"
)
public
CommonResult
<
RewardBackVO
>
get
(
@RequestParam
(
"id"
)
Long
id
)
{
RewardDO
rewardDO
=
rewardService
.
get
(
id
);
RewardBackVO
rewardBackVO
=
RewardConvert
.
INSTANCE
.
convert
(
rewardDO
);
...
...
@@ -91,7 +91,7 @@ public class RewardController {
@PostMapping
(
"/status"
)
@ApiOperation
(
"礼品状态变更"
)
//@PreAuthorize("@ss.hasPermission('reward::query
')")
@PreAuthorize
(
"@ss.hasPermission('ecw:giftManagement:close
')"
)
public
CommonResult
<
Boolean
>
updateStatus
(
@Valid
@RequestBody
RewardStatusReqVO
statusVO
)
{
rewardService
.
updateStatus
(
statusVO
);
return
success
(
true
);
...
...
@@ -99,12 +99,14 @@ public class RewardController {
@PostMapping
(
"/copy/{id}"
)
@ApiOperation
(
"复制礼品"
)
@PreAuthorize
(
"@ss.hasPermission('ecw:giftManagement:copy')"
)
public
CommonResult
<
Long
>
copyReward
(
@NotNull
@PathVariable
Long
id
)
{
return
success
(
rewardService
.
copyReward
(
id
));
}
@PostMapping
(
"/delay"
)
@ApiOperation
(
"礼品延期"
)
@PreAuthorize
(
"@ss.hasPermission('ecw:giftManagement:postpone')"
)
public
CommonResult
<
Boolean
>
delayReward
(
@Valid
@RequestBody
RewardDelayReqVO
delayVO
)
{
rewardService
.
delayReward
(
delayVO
);
return
success
(
true
);
...
...
yudao-module-reward/yudao-module-reward-impl/src/main/java/cn/iocoder/yudao/module/reward/service/reward/RewardServiceImpl.java
View file @
3f17a7bd
...
...
@@ -7,6 +7,8 @@ import cn.iocoder.yudao.framework.mybatis.core.vo.PageVO;
import
cn.iocoder.yudao.module.reward.convert.reward.RewardConvert
;
import
cn.iocoder.yudao.module.reward.dal.dataobject.reward.RewardDO
;
import
cn.iocoder.yudao.module.reward.dal.mysql.reward.RewardMapper
;
import
cn.iocoder.yudao.module.reward.enums.QuantitativeRelationSymbolEnum
;
import
cn.iocoder.yudao.module.reward.enums.RewardStatusEnum
;
import
cn.iocoder.yudao.module.reward.vo.reward.*
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
...
...
@@ -49,13 +51,9 @@ public class RewardServiceImpl extends AbstractService<RewardMapper, RewardDO> i
throw
exception
(
REWARD_START_OR_END_TIME_NOT_ALLOW_CREATE
);
}
// 创建的礼品状态只能是启用或未启用
if
(
createReqVO
.
getStatus
()
!=
1
&&
createReqVO
.
getStatus
()
!=
2
)
{
if
(
createReqVO
.
getStatus
()
!=
RewardStatusEnum
.
ENABLED
.
getValue
()
&&
createReqVO
.
getStatus
()
!=
RewardStatusEnum
.
DISABLED
.
getValue
()
)
{
throw
exception
(
REWARD_STATUS_NOT_ALLOW_CREATE
);
}
//领取方式只能是1,2,3
// if (createReqVO.getPickMethod() != 1 && createReqVO.getPickMethod() != 2 && createReqVO.getPickMethod() != 3) {
// throw exception(REWARD_PICK_METHOD_NOT_ALLOW_CREATE);
// }
// 插入
RewardDO
rewardDO
=
RewardConvert
.
INSTANCE
.
convert
(
createReqVO
);
rewardDO
.
setCode
(
generateRewardCode
());
...
...
@@ -75,7 +73,6 @@ public class RewardServiceImpl extends AbstractService<RewardMapper, RewardDO> i
}
@Override
// TODO :完善校验
public
void
update
(
RewardUpdateReqVO
updateReqVO
)
{
// 校验存在
RewardDO
rewardDO
=
rewardMapper
.
selectById
(
updateReqVO
.
getId
());
...
...
@@ -84,7 +81,7 @@ public class RewardServiceImpl extends AbstractService<RewardMapper, RewardDO> i
}
RewardDO
updateObj
=
new
RewardDO
();
//未启用可编辑所有内容
if
(
rewardDO
.
getStatus
()
==
2
)
{
if
(
rewardDO
.
getStatus
()
==
RewardStatusEnum
.
DISABLED
.
getValue
()
)
{
if
(
ObjectUtils
.
allNotNull
(
updateReqVO
.
getStartTime
(),
updateReqVO
.
getEndTime
()))
{
if
(
updateReqVO
.
getStartTime
().
after
((
updateReqVO
.
getEndTime
()))
||
updateReqVO
.
getEndTime
().
before
(
Date
.
from
(
Instant
.
now
())))
{
throw
exception
(
REWARD_START_OR_END_TIME_NOT_ALLOW_CREATE
);
...
...
@@ -93,12 +90,8 @@ public class RewardServiceImpl extends AbstractService<RewardMapper, RewardDO> i
}
else
{
throw
exception
(
REWARD_START_OR_END_TIME_NOT_ALLOW_CREATE
);
}
//领取方式只能是1,2,3
// if (updateReqVO.getPickMethod() != 1 && updateReqVO.getPickMethod() != 2 && updateReqVO.getPickMethod() != 3) {
// throw exception(REWARD_PICK_METHOD_NOT_ALLOW_CREATE);
// }
updateObj
=
RewardConvert
.
INSTANCE
.
convert
(
updateReqVO
);
}
else
if
(
rewardDO
.
getStatus
()
==
1
)
{
//已启用可编辑剩余数量和备注
}
else
if
(
rewardDO
.
getStatus
()
==
RewardStatusEnum
.
ENABLED
.
getValue
()
)
{
//已启用可编辑剩余数量和备注
updateObj
.
setQuantityRemain
(
updateReqVO
.
getQuantityRemain
());
updateObj
.
setRemarkEn
(
updateReqVO
.
getRemarkEn
());
updateObj
.
setRemarkFr
(
updateReqVO
.
getRemarkFr
());
...
...
@@ -117,7 +110,7 @@ public class RewardServiceImpl extends AbstractService<RewardMapper, RewardDO> i
throw
exception
(
REWARD_NOT_EXISTS
);
}
//只有未启用可以删除
if
(
rewardDO
.
getStatus
()
!=
2
)
{
if
(
rewardDO
.
getStatus
()
!=
RewardStatusEnum
.
DISABLED
.
getValue
()
)
{
throw
exception
(
REWARD_STATUS_NOT_ALLOW_DELETE
);
}
// 删除
...
...
@@ -166,9 +159,9 @@ public class RewardServiceImpl extends AbstractService<RewardMapper, RewardDO> i
}
//兑换积分
if
(
query
.
getPointsRequireSymbol
()
!=
null
&&
query
.
getPointsRequire
()
!=
null
)
{
lambdaQuery
.
gt
(
query
.
getPointsRequireSymbol
()
==
1
,
RewardDO:
:
getPointsRequire
,
query
.
getPointsRequire
())
.
eq
(
query
.
getPointsRequireSymbol
()
==
2
,
RewardDO:
:
getPointsRequire
,
query
.
getPointsRequire
())
.
lt
(
query
.
getPointsRequireSymbol
()
==
3
,
RewardDO:
:
getPointsRequire
,
query
.
getPointsRequire
());
lambdaQuery
.
gt
(
query
.
getPointsRequireSymbol
()
==
QuantitativeRelationSymbolEnum
.
GT
.
getValue
()
,
RewardDO:
:
getPointsRequire
,
query
.
getPointsRequire
())
.
eq
(
query
.
getPointsRequireSymbol
()
==
QuantitativeRelationSymbolEnum
.
EQ
.
getValue
()
,
RewardDO:
:
getPointsRequire
,
query
.
getPointsRequire
())
.
lt
(
query
.
getPointsRequireSymbol
()
==
QuantitativeRelationSymbolEnum
.
LT
.
getValue
()
,
RewardDO:
:
getPointsRequire
,
query
.
getPointsRequire
());
}
//兑换网点id,领取方式,状态
lambdaQuery
.
eqIfPresent
(
RewardDO:
:
getNodeId
,
query
.
getNodeId
())
...
...
@@ -186,9 +179,9 @@ public class RewardServiceImpl extends AbstractService<RewardMapper, RewardDO> i
}
//剩余数量
if
(
query
.
getQuantityRemainSymbol
()
!=
null
&&
query
.
getQuantityRemain
()
!=
null
)
{
lambdaQuery
.
gt
(
query
.
getQuantityRemainSymbol
()
==
1
,
RewardDO:
:
getQuantityRemain
,
query
.
getQuantityRemain
())
.
eq
(
query
.
getQuantityRemainSymbol
()
==
2
,
RewardDO:
:
getQuantityRemain
,
query
.
getQuantityRemain
())
.
lt
(
query
.
getQuantityRemainSymbol
()
==
3
,
RewardDO:
:
getQuantityRemain
,
query
.
getQuantityRemain
());
lambdaQuery
.
gt
(
query
.
getQuantityRemainSymbol
()
==
QuantitativeRelationSymbolEnum
.
GT
.
getValue
()
,
RewardDO:
:
getQuantityRemain
,
query
.
getQuantityRemain
())
.
eq
(
query
.
getQuantityRemainSymbol
()
==
QuantitativeRelationSymbolEnum
.
EQ
.
getValue
()
,
RewardDO:
:
getQuantityRemain
,
query
.
getQuantityRemain
())
.
lt
(
query
.
getQuantityRemainSymbol
()
==
QuantitativeRelationSymbolEnum
.
LT
.
getValue
()
,
RewardDO:
:
getQuantityRemain
,
query
.
getQuantityRemain
());
}
//创建时间
lambdaQuery
.
betweenIfPresent
(
RewardDO:
:
getCreateTime
,
query
.
getBeginCreateTime
(),
query
.
getEndCreateTime
())
...
...
@@ -213,7 +206,7 @@ public class RewardServiceImpl extends AbstractService<RewardMapper, RewardDO> i
//重新生成礼品ID
reward
.
setCode
(
generateRewardCode
());
//设置为未启用
reward
.
setStatus
(
2
);
reward
.
setStatus
(
RewardStatusEnum
.
DISABLED
.
getValue
()
);
reward
.
setId
(
null
);
reward
.
setCreateTime
(
null
);
...
...
@@ -235,7 +228,7 @@ public class RewardServiceImpl extends AbstractService<RewardMapper, RewardDO> i
throw
exception
(
REWARD_NOT_EXISTS
);
}
//只允许延期已启用状态礼品
if
(
reward
.
getStatus
()
!=
1
)
{
if
(
reward
.
getStatus
()
!=
RewardStatusEnum
.
ENABLED
.
getValue
()
)
{
throw
exception
(
REWARD_STATUS_NOT_ALLOW_DELAY
);
}
Instant
now
=
Instant
.
now
();
...
...
@@ -253,15 +246,17 @@ public class RewardServiceImpl extends AbstractService<RewardMapper, RewardDO> i
Integer
oldStatus
=
rewardDO
.
getStatus
();
Integer
newStatus
=
statusVO
.
getStatus
();
switch
(
newStatus
)
{
case
3
:
//关闭:未启用情况下,不可进行关闭;点击关闭需要有二次弹窗提示;关闭后状态为已关闭,不支持兑换
if
(
oldStatus
==
2
)
{
//关闭:未启用情况下,不可进行关闭;关闭后状态为已关闭,不支持兑换
case
3
:
if
(
oldStatus
==
RewardStatusEnum
.
DISABLED
.
getValue
())
{
throw
exception
(
REWARD_STATUS_NOT_ALLOW_ClOSE
);
}
else
{
rewardMapper
.
updateById
(
RewardConvert
.
INSTANCE
.
convertStatusReqVO
(
statusVO
));
}
break
;
case
1
:
//启用:有效期有效且未启用可进行点击启用,需要有二次确认弹窗
if
(
oldStatus
==
2
)
{
//启用:有效期有效且未启用可进行点击启用
case
1
:
if
(
oldStatus
==
RewardStatusEnum
.
DISABLED
.
getValue
())
{
if
(
rewardDO
.
getEndTime
().
toInstant
().
isBefore
(
Instant
.
now
()))
{
throw
exception
(
REWARD_STATUS_NOT_ALLOW_ENABLE
);
}
...
...
@@ -273,19 +268,23 @@ public class RewardServiceImpl extends AbstractService<RewardMapper, RewardDO> i
}
}
//生成礼品ID
/**
* 生成礼品ID
*/
private
String
generateRewardCode
()
{
return
RandomStringUtils
.
randomAlphanumeric
(
12
).
toUpperCase
();
}
//校验礼品是否过期并修改礼品状态
//TODO:异步更新礼品状态
/**
* 校验礼品是否过期并修改礼品状态
*/
private
void
validateExpire
(
RewardDO
rewardDO
)
{
if
(
rewardDO
.
getEndTime
()
!=
null
){
if
(
rewardDO
.
getStatus
()
==
1
&&
rewardDO
.
getEndTime
().
toInstant
().
isBefore
(
Instant
.
now
()))
{
//TODO:异步更新礼品状态
if
(
rewardDO
.
getEndTime
()
!=
null
)
{
if
(
rewardDO
.
getStatus
()
==
RewardStatusEnum
.
DISABLED
.
getValue
()
&&
rewardDO
.
getEndTime
().
toInstant
().
isBefore
(
Instant
.
now
()))
{
RewardDO
expireReward
=
new
RewardDO
();
expireReward
.
setId
(
rewardDO
.
getId
());
expireReward
.
setStatus
(
4
);
expireReward
.
setStatus
(
RewardStatusEnum
.
EXPIRED
.
getValue
()
);
rewardMapper
.
updateById
(
expireReward
);
}
}
...
...
yudao-module-reward/yudao-module-reward-impl/src/main/java/cn/iocoder/yudao/module/reward/vo/reward/RewardUpdateReqVO.java
View file @
3f17a7bd
...
...
@@ -10,7 +10,6 @@ import javax.validation.constraints.Min;
import
javax.validation.constraints.NotNull
;
import
javax.validation.constraints.Size
;
import
java.util.Date
;
import
java.util.List
;
import
static
cn
.
iocoder
.
yudao
.
framework
.
common
.
util
.
date
.
DateUtils
.
FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND
;
...
...
@@ -20,7 +19,7 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
public
class
RewardUpdateReqVO
{
@ApiModelProperty
(
value
=
""
,
required
=
true
)
@NotNull
(
message
=
"不能为空"
)
@NotNull
(
message
=
"
id
不能为空"
)
private
Long
id
;
@ApiModelProperty
(
value
=
"中文名称"
)
...
...
@@ -52,7 +51,6 @@ public class RewardUpdateReqVO {
private
Integer
nodeId
;
@ApiModelProperty
(
value
=
"剩余数量"
)
@NotNull
(
message
=
"剩余数量不能为空"
)
@Min
(
value
=
0
)
private
Integer
quantityRemain
;
...
...
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