记得上下班打卡 | git大法好,push需谨慎
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liquidnet-bus-v1
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
董敬伟
liquidnet-bus-v1
Commits
b7fb606c
Commit
b7fb606c
authored
Sep 07, 2021
by
张国柄
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
opt:发放券调整;
parent
a654ca39
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
97 additions
and
83 deletions
+97
-83
CandyMgtCouponBuildParam.java
...net/service/candy/dto/admin/CandyMgtCouponBuildParam.java
+2
-2
CandyMgtCouponAdminController.java
...troller/zhengzai/candy/CandyMgtCouponAdminController.java
+27
-77
ICandyMgtCouponAdminService.java
...n/zhengzai/candy/service/ICandyMgtCouponAdminService.java
+3
-4
CandyMgtCouponAdminServiceImpl.java
...ai/candy/service/impl/CandyMgtCouponAdminServiceImpl.java
+65
-0
No files found.
liquidnet-bus-api/liquidnet-service-candy-api/src/main/java/com/liquidnet/service/candy/dto/admin/CandyMgtCouponBuildParam.java
View file @
b7fb606c
...
...
@@ -24,10 +24,10 @@ public class CandyMgtCouponBuildParam {
private
String
notice
;
//private Integer exclusive;
@NotNull
(
message
=
"券类别不能为空"
)
@ApiModelProperty
(
required
=
true
,
value
=
"业务类别[0-全场|1-演出|2-商品|3-优先购]"
,
allowableValues
=
"0,1,2,3
,4
"
)
@ApiModelProperty
(
required
=
true
,
value
=
"业务类别[0-全场|1-演出|2-商品|3-优先购]"
,
allowableValues
=
"0,1,2,3"
)
private
Integer
busiType
;
@NotNull
(
message
=
"券类型不能为空"
)
@ApiModelProperty
(
required
=
true
,
value
=
"券类型[1-代金券|2-满减券|3-兑换券|4-折扣券|101-优先券]"
,
allowableValues
=
"1,2,3,4"
)
@ApiModelProperty
(
required
=
true
,
value
=
"券类型[1-代金券|2-满减券|3-兑换券|4-折扣券|101-优先券]"
,
allowableValues
=
"1,2,3,4
,101
"
)
private
Integer
couType
;
@NotNull
(
message
=
"券领取方式不能为空"
)
@ApiModelProperty
(
required
=
true
,
value
=
"领取方式[0-用户输入兑换|1-发放至用户]"
,
allowableValues
=
"0,1"
)
...
...
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/java/com/liquidnet/client/admin/web/controller/zhengzai/candy/CandyMgtCouponAdminController.java
View file @
b7fb606c
...
...
@@ -73,13 +73,7 @@ public class CandyMgtCouponAdminController extends BaseController {
@PostMapping
(
"add"
)
@ResponseBody
public
AjaxResult
addSave
(
@RequestBody
@Validated
CandyMgtCouponBuildParam
buildParam
)
{
LocalDateTime
nowTime
=
LocalDateTime
.
now
(),
redeemStart
=
null
,
redeemStop
=
null
,
effectAt
,
expireAt
;
String
eventAtStr
=
buildParam
.
getEventAt
();
LocalDateTime
eventAt
=
StringUtils
.
isEmpty
(
eventAtStr
.
trim
())
?
nowTime
:
LocalDateTime
.
parse
(
eventAtStr
,
DateTimeFormatter
.
ofPattern
(
DateUtils
.
YYYY_MM_DD_HH_MM_SS
));
switch
(
buildParam
.
getCouType
())
{
// TODO: 2021/8/20 校验
switch
(
buildParam
.
getCouType
())
{
case
1
:
// 代金券
BigDecimal
valFace
=
buildParam
.
getValFace
();
if
(
null
==
valFace
||
valFace
.
compareTo
(
BigDecimal
.
ZERO
)
<=
0
)
{
...
...
@@ -114,96 +108,52 @@ public class CandyMgtCouponAdminController extends BaseController {
if
(
null
==
discount
||
discount
.
compareTo
(
BigDecimal
.
ZERO
)
<=
0
)
{
return
AjaxResult
.
warn
(
"折扣配置无效"
);
}
break
;
case
101
:
buildParam
.
setDiscount
(
null
);
buildParam
.
setValFace
(
null
);
buildParam
.
setValOver
(
null
);
buildParam
.
setValMinus
(
null
);
break
;
case
101
:
if
(
null
==
buildParam
.
getOverlay
())
{
return
AjaxResult
.
warn
(
"叠加限制配置无效"
);
}
buildParam
.
setDiscount
(
null
);
buildParam
.
setValFace
(
null
);
buildParam
.
setValOver
(
null
);
buildParam
.
setValMinus
(
null
);
break
;
default
:
logger
.
warn
(
"Invalid operation[buildParam.couType={}]"
,
buildParam
.
getCouType
());
return
this
.
error
(
AjaxResult
.
Type
.
WARN
,
"券类型无效"
);
}
Integer
validity
=
buildParam
.
getValidity
();
Integer
redeemValidity
=
buildParam
.
getRedeemValidity
();
if
(
buildParam
.
getBusiType
()
>
0
)
{
// 校验适用范围
List
<
CandyCouponRuleBuildParam
>
couponRuleList
=
buildParam
.
getCouponRuleList
();
if
(
CollectionUtils
.
isEmpty
(
couponRuleList
))
{
return
AjaxResult
.
warn
(
"请指定适用范围"
);
}
CandyCouponRuleBuildParam
couponRuleBuildParam
=
couponRuleList
.
get
(
0
);
if
(
couponRuleBuildParam
.
getUseScope
()
!=
100
&&
(
StringUtils
.
isEmpty
(
couponRuleBuildParam
.
getBusiId
())
||
StringUtils
.
isEmpty
(
couponRuleBuildParam
.
getBusiName
())
))
{
return
AjaxResult
.
warn
(
"请指定具体适用内容"
);
}
}
else
{
buildParam
.
setCouponRuleList
(
null
);
}
if
(
0
==
buildParam
.
getBindType
())
{
buildParam
.
setEventType
(
null
);
buildParam
.
setEventType
(
0
);
buildParam
.
setEventLimit
(
null
);
if
(
null
==
redeemValidity
)
{
if
(
null
==
buildParam
.
getRedeemValidity
()
)
{
return
AjaxResult
.
warn
(
"兑换有效期无效"
);
}
redeemStart
=
eventAt
.
with
(
LocalTime
.
MIN
);
redeemStop
=
eventAt
.
plusDays
(
redeemValidity
).
withHour
(
23
).
withMinute
(
59
).
withSecond
(
59
);
}
else
{
if
(
buildParam
.
getEventType
()
==
2
)
{
// 指定用户手机号
if
(
StringUtils
.
isEmpty
(
buildParam
.
getEventLimit
().
trim
()))
{
return
this
.
error
(
AjaxResult
.
Type
.
WARN
,
"请指定手机号"
);
}
return
AjaxResult
.
warn
(
"请指定手机号"
);
}
}
effectAt
=
eventAt
.
with
(
LocalTime
.
MIN
);
expireAt
=
eventAt
.
plusDays
(
validity
).
withHour
(
23
).
withMinute
(
59
).
withSecond
(
59
);
String
operator
=
ShiroUtils
.
getLoginName
();
CandyCoupon
initCoupon
=
new
CandyCoupon
();
initCoupon
.
setCouponId
(
IDGenerator
.
nextMilliId
());
initCoupon
.
setState
(
1
);
initCoupon
.
setTitle
(
buildParam
.
getTitle
());
initCoupon
.
setLabel
(
buildParam
.
getLabel
());
initCoupon
.
setNotice
(
buildParam
.
getNotice
());
initCoupon
.
setExclusive
(
0
);
initCoupon
.
setBusiType
(
buildParam
.
getBusiType
());
initCoupon
.
setCouType
(
buildParam
.
getCouType
());
initCoupon
.
setBindType
(
buildParam
.
getBindType
());
initCoupon
.
setDiscount
(
buildParam
.
getDiscount
());
initCoupon
.
setValFace
(
buildParam
.
getValFace
());
initCoupon
.
setValOver
(
buildParam
.
getValOver
());
initCoupon
.
setValMinus
(
buildParam
.
getValMinus
());
initCoupon
.
setOverlay
(
buildParam
.
getOverlay
());
initCoupon
.
setValidity
(
validity
);
initCoupon
.
setRedeemValidity
(
redeemValidity
);
initCoupon
.
setRedeemStart
(
redeemStart
);
initCoupon
.
setRedeemStop
(
redeemStop
);
initCoupon
.
setEffectAt
(
effectAt
);
initCoupon
.
setExpireAt
(
expireAt
);
initCoupon
.
setOperator
(
operator
);
initCoupon
.
setCreatedAt
(
nowTime
);
List
<
CandyCouponRuleBuildParam
>
couponRuleList
=
buildParam
.
getCouponRuleList
();
List
<
CandyCouponRule
>
initCouponRuleList
=
new
ArrayList
<>();
if
(!
CollectionUtils
.
isEmpty
(
couponRuleList
))
{
couponRuleList
.
forEach
(
r
->
{
CandyCouponRule
initCouponRule
=
new
CandyCouponRule
();
initCouponRule
.
setCruleId
(
IDGenerator
.
nextTimeId2
());
initCouponRule
.
setCouponId
(
initCoupon
.
getCouponId
());
initCouponRule
.
setUseScope
(
r
.
getUseScope
());
initCouponRule
.
setBusiName
(
r
.
getBusiName
());
initCouponRule
.
setBusiId
(
r
.
getBusiId
());
initCouponRule
.
setState
(
1
);
initCouponRuleList
.
add
(
initCouponRule
);
});
}
CandyMgtCoupon
initMgtCoupon
=
new
CandyMgtCoupon
();
initMgtCoupon
.
setMcouponId
(
IDGenerator
.
nextMilliId
());
initMgtCoupon
.
setCouponId
(
initCoupon
.
getCouponId
());
initMgtCoupon
.
setState
(
0
);
initMgtCoupon
.
setEventAmt
(
buildParam
.
getEventAmt
());
initMgtCoupon
.
setEventType
(
buildParam
.
getEventType
());
initMgtCoupon
.
setEventLimit
(
buildParam
.
getEventLimit
());
initMgtCoupon
.
setEventAt
(
eventAt
);
initMgtCoupon
.
setOperator
(
operator
);
initMgtCoupon
.
setCreatedAt
(
nowTime
);
candyMgtCouponAdminService
.
saveMgtCouponInfo
(
initCoupon
,
initMgtCoupon
,
initCouponRuleList
);
return
toAjax
(
true
);
return
toAjax
(
candyMgtCouponAdminService
.
saveMgtCouponForCouponBuild
(
buildParam
));
}
}
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/candy/service/ICandyMgtCouponAdminService.java
View file @
b7fb606c
package
com
.
liquidnet
.
client
.
admin
.
zhengzai
.
candy
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.liquidnet.service.candy.dto.admin.CandyMemberCouponBuildParam
;
import
com.liquidnet.service.candy.dto.admin.CandyMgtCouponInfoDto
;
import
com.liquidnet.service.candy.dto.admin.CandyMgtCouponListParam
;
import
com.liquidnet.service.candy.dto.admin.CandyMgtCouponMemberDto
;
import
com.liquidnet.service.candy.dto.admin.*
;
import
com.liquidnet.service.candy.entity.CandyCoupon
;
import
com.liquidnet.service.candy.entity.CandyCouponRule
;
import
com.liquidnet.service.candy.entity.CandyMgtCoupon
;
...
...
@@ -17,6 +14,8 @@ public interface ICandyMgtCouponAdminService extends IService<CandyMgtCoupon> {
boolean
editMgtCouponForMemberRights
(
CandyMemberCouponBuildParam
parameter
);
boolean
saveMgtCouponForCouponBuild
(
CandyMgtCouponBuildParam
parameter
);
boolean
saveMgtCouponInfo
(
CandyCoupon
initCoupon
,
CandyMgtCoupon
initMgtCoupon
,
List
<
CandyCouponRule
>
initCouponRuleList
);
boolean
updateMgtCouponInfo
(
CandyCoupon
updateCoupon
,
CandyMgtCoupon
updateMgtCoupon
,
List
<
CandyCouponRule
>
initCouponRuleList
);
...
...
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/candy/service/impl/CandyMgtCouponAdminServiceImpl.java
View file @
b7fb606c
...
...
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.liquidnet.client.admin.common.utils.DateUtils
;
import
com.liquidnet.client.admin.common.utils.ShiroUtils
;
import
com.liquidnet.client.admin.zhengzai.adam.service.IAdamMemberPriceAdminService
;
import
com.liquidnet.client.admin.zhengzai.candy.service.ICandyCouponAdminService
;
...
...
@@ -23,12 +24,15 @@ import com.liquidnet.service.candy.entity.CandyMgtCoupon;
import
com.liquidnet.service.candy.mapper.CandyCouponMapper
;
import
com.liquidnet.service.candy.mapper.CandyMgtCouponMapper
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.CollectionUtils
;
import
java.time.LocalDateTime
;
import
java.time.LocalTime
;
import
java.time.format.DateTimeFormatter
;
import
java.util.ArrayList
;
import
java.util.List
;
...
...
@@ -172,6 +176,67 @@ public class CandyMgtCouponAdminServiceImpl extends ServiceImpl<CandyMgtCouponMa
return
false
;
}
@Override
public
boolean
saveMgtCouponForCouponBuild
(
CandyMgtCouponBuildParam
parameter
)
{
String
eventAtStr
=
parameter
.
getEventAt
();
LocalDateTime
nowTime
=
LocalDateTime
.
now
();
LocalDateTime
eventAt
=
StringUtils
.
isEmpty
(
eventAtStr
.
trim
())
?
nowTime
:
LocalDateTime
.
parse
(
eventAtStr
,
DateTimeFormatter
.
ofPattern
(
DateUtils
.
YYYY_MM_DD_HH_MM_SS
));
CandyCoupon
initCoupon
=
new
CandyCoupon
();
initCoupon
.
setCouponId
(
IDGenerator
.
nextMilliId
());
initCoupon
.
setState
(
1
);
initCoupon
.
setTitle
(
parameter
.
getTitle
());
initCoupon
.
setLabel
(
parameter
.
getLabel
());
initCoupon
.
setNotice
(
parameter
.
getNotice
());
initCoupon
.
setExclusive
(
0
);
initCoupon
.
setBusiType
(
parameter
.
getBusiType
());
initCoupon
.
setCouType
(
parameter
.
getCouType
());
initCoupon
.
setBindType
(
parameter
.
getBindType
());
initCoupon
.
setDiscount
(
parameter
.
getDiscount
());
initCoupon
.
setValFace
(
parameter
.
getValFace
());
initCoupon
.
setValOver
(
parameter
.
getValOver
());
initCoupon
.
setValMinus
(
parameter
.
getValMinus
());
initCoupon
.
setOverlay
(
parameter
.
getOverlay
());
initCoupon
.
setValidity
(
parameter
.
getValidity
());
initCoupon
.
setRedeemValidity
(
parameter
.
getRedeemValidity
());
initCoupon
.
setRedeemStart
(
eventAt
.
with
(
LocalTime
.
MIN
));
initCoupon
.
setRedeemStop
(
eventAt
.
plusDays
(
parameter
.
getRedeemValidity
()).
withHour
(
23
).
withMinute
(
59
).
withSecond
(
59
));
initCoupon
.
setEffectAt
(
eventAt
.
with
(
LocalTime
.
MIN
));
initCoupon
.
setExpireAt
(
eventAt
.
plusDays
(
parameter
.
getValidity
()).
withHour
(
23
).
withMinute
(
59
).
withSecond
(
59
));
initCoupon
.
setOperator
(
ShiroUtils
.
getLoginName
());
initCoupon
.
setCreatedAt
(
nowTime
);
List
<
CandyCouponRuleBuildParam
>
couponRuleList
=
parameter
.
getCouponRuleList
();
List
<
CandyCouponRule
>
initCouponRuleList
=
new
ArrayList
<>();
if
(!
CollectionUtils
.
isEmpty
(
couponRuleList
))
{
couponRuleList
.
forEach
(
r
->
{
CandyCouponRule
initCouponRule
=
new
CandyCouponRule
();
initCouponRule
.
setCruleId
(
IDGenerator
.
nextTimeId2
());
initCouponRule
.
setCouponId
(
initCoupon
.
getCouponId
());
initCouponRule
.
setUseScope
(
r
.
getUseScope
());
initCouponRule
.
setBusiName
(
r
.
getBusiName
());
initCouponRule
.
setBusiId
(
r
.
getBusiId
());
initCouponRule
.
setState
(
1
);
initCouponRuleList
.
add
(
initCouponRule
);
});
}
CandyMgtCoupon
initMgtCoupon
=
new
CandyMgtCoupon
();
initMgtCoupon
.
setMcouponId
(
IDGenerator
.
nextMilliId
());
initMgtCoupon
.
setCouponId
(
initCoupon
.
getCouponId
());
initMgtCoupon
.
setState
(
0
);
initMgtCoupon
.
setEventAmt
(
parameter
.
getEventAmt
());
initMgtCoupon
.
setEventType
(
parameter
.
getEventType
());
initMgtCoupon
.
setEventLimit
(
parameter
.
getEventLimit
());
initMgtCoupon
.
setEventAt
(
eventAt
);
initMgtCoupon
.
setOperator
(
initCoupon
.
getOperator
());
initMgtCoupon
.
setCreatedAt
(
nowTime
);
return
candyMgtCouponAdminService
.
saveMgtCouponInfo
(
initCoupon
,
initMgtCoupon
,
initCouponRuleList
);
}
@Override
@Transactional
public
boolean
saveMgtCouponInfo
(
CandyCoupon
initCoupon
,
CandyMgtCoupon
initMgtCoupon
,
List
<
CandyCouponRule
>
initCouponRuleList
)
{
...
...
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