记得上下班打卡 | 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
377f6508
Commit
377f6508
authored
Sep 02, 2021
by
张国柄
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
后台API:发放券|配置权益券传参调整;
parent
418168ef
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
5 additions
and
746 deletions
+5
-746
AdamMemberBuildParam.java
...iquidnet/service/adam/dto/admin/AdamMemberBuildParam.java
+2
-2
AdamMemberAdminController.java
...b/controller/zhengzai/adam/AdamMemberAdminController.java
+2
-5
CandyMgtCoupon1AdminController.java
...roller/zhengzai/candy/CandyMgtCoupon1AdminController.java
+0
-186
CandyMgtCoupon2AdminController.java
...roller/zhengzai/candy/CandyMgtCoupon2AdminController.java
+0
-184
CandyMgtCoupon3AdminController.java
...roller/zhengzai/candy/CandyMgtCoupon3AdminController.java
+0
-184
CandyMgtCoupon4AdminController.java
...roller/zhengzai/candy/CandyMgtCoupon4AdminController.java
+0
-184
CandyMgtCouponAdminController.java
...troller/zhengzai/candy/CandyMgtCouponAdminController.java
+1
-1
No files found.
liquidnet-bus-api/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/dto/admin/AdamMemberBuildParam.java
View file @
377f6508
...
...
@@ -31,9 +31,9 @@ public class AdamMemberBuildParam implements Serializable {
@ApiModelProperty
(
required
=
true
,
value
=
"限购数量,0不限购[200]"
,
example
=
"0"
)
private
Integer
limitation
;
@ApiModelProperty
(
required
=
false
,
value
=
"限购开始时间[yyyy-MM-dd]"
,
example
=
"2021-08-24"
)
private
LocalDateTime
limitStar
t
;
private
String
limitbA
t
;
@ApiModelProperty
(
required
=
false
,
value
=
"限购结束时间[yyyy-MM-dd]"
,
example
=
"2021-09-24"
)
private
LocalDateTime
limitEnd
;
private
String
limiteAt
;
@ApiModelProperty
(
required
=
true
,
value
=
"是否开售:1-开售|2-停售"
,
example
=
"2021-09-24"
)
private
Integer
onsale
;
}
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/java/com/liquidnet/client/admin/web/controller/zhengzai/adam/AdamMemberAdminController.java
View file @
377f6508
...
...
@@ -35,10 +35,7 @@ import org.springframework.stereotype.Controller;
import
org.springframework.ui.ModelMap
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
org.springframework.web.bind.annotation.*
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
...
...
@@ -153,7 +150,7 @@ public class AdamMemberAdminController extends BaseController {
@RequiresPermissions
(
"adam:member:detail:coupon:edit"
)
@PostMapping
(
"coupon_edit"
)
@ResponseBody
public
AjaxResult
detailCouponEdit
(
CandyMemberCouponBuildParam
parameter
)
{
public
AjaxResult
detailCouponEdit
(
@RequestBody
CandyMemberCouponBuildParam
parameter
)
{
BigDecimal
valFace
=
null
,
valOver
=
null
,
valMinus
=
null
;
switch
(
parameter
.
getCouType
())
{
// TODO: 2021/8/20 校验
case
1
:
// 代金券
...
...
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/java/com/liquidnet/client/admin/web/controller/zhengzai/candy/CandyMgtCoupon1AdminController.java
deleted
100644 → 0
View file @
418168ef
package
com
.
liquidnet
.
client
.
admin
.
web
.
controller
.
zhengzai
.
candy
;
import
com.liquidnet.client.admin.common.annotation.Log
;
import
com.liquidnet.client.admin.common.core.controller.BaseController
;
import
com.liquidnet.client.admin.common.core.domain.AjaxResult
;
import
com.liquidnet.client.admin.common.core.page.TableDataInfo
;
import
com.liquidnet.client.admin.common.enums.BusinessType
;
import
com.liquidnet.client.admin.common.utils.DateUtils
;
import
com.liquidnet.client.admin.common.utils.ShiroUtils
;
import
com.liquidnet.client.admin.zhengzai.candy.service.ICandyCouponAdminService
;
import
com.liquidnet.client.admin.zhengzai.candy.service.ICandyMgtCouponAdminService
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.service.candy.dto.admin.CandyCouponRuleBuildParam
;
import
com.liquidnet.service.candy.dto.admin.CandyMgtCouponBuildParam
;
import
com.liquidnet.service.candy.dto.admin.CandyMgtCouponInfoDto
;
import
com.liquidnet.service.candy.dto.admin.CandyMgtCouponListParam
;
import
com.liquidnet.service.candy.entity.CandyCoupon
;
import
com.liquidnet.service.candy.entity.CandyCouponRule
;
import
com.liquidnet.service.candy.entity.CandyMgtCoupon
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.time.LocalTime
;
import
java.time.format.DateTimeFormatter
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
import
java.util.stream.Stream
;
@Api
(
tags
=
"券发放管理"
)
@Controller
@RequestMapping
(
"candy/coupon1/mgt"
)
public
class
CandyMgtCoupon1AdminController
extends
BaseController
{
private
final
String
prefix
=
"zhengzai/candy/coupon/mgt"
;
@Autowired
private
ICandyMgtCouponAdminService
candyMgtCouponAdminService
;
@Autowired
private
ICandyCouponAdminService
candyCouponAdminService
;
@RequiresPermissions
(
"candy:coupon1:mgt:view"
)
@GetMapping
()
public
String
coupon
()
{
return
prefix
+
"/coupon1"
;
}
@RequiresPermissions
(
"candy:coupon1:mgt:list"
)
@PostMapping
(
"list"
)
@ResponseBody
public
TableDataInfo
list
(
CandyMgtCouponListParam
listParam
)
{
listParam
.
setCouType
(
1
);
startPage
();
List
<
CandyMgtCouponInfoDto
>
list
=
candyMgtCouponAdminService
.
listForMgtCouponInfoDto
(
listParam
);
return
getDataTable
(
list
);
}
@GetMapping
(
"add"
)
public
String
add
()
{
return
prefix
+
"/add1"
;
}
@ApiOperation
(
value
=
"新建券"
)
@RequiresPermissions
(
"candy:coupon1:mgt:add"
)
@Log
(
title
=
"券发放管理"
,
businessType
=
BusinessType
.
INSERT
)
@PostMapping
(
"add"
)
@ResponseBody
public
AjaxResult
addSave
(
@Validated
CandyMgtCouponBuildParam
buildParam
)
{
BigDecimal
discount
=
null
,
valFace
=
null
,
valOver
=
null
,
valMinus
=
null
;
Integer
couType
=
buildParam
.
getCouType
(),
bindType
=
buildParam
.
getBindType
(),
validity
=
buildParam
.
getValidity
(),
redeemValidity
=
buildParam
.
getRedeemValidity
();
LocalDateTime
nowTime
=
LocalDateTime
.
now
(),
redeemStart
=
null
,
redeemStop
=
null
,
effectAt
=
null
,
expireAt
=
null
,
eventAt
=
LocalDateTime
.
parse
(
buildParam
.
getEventAt
(),
DateTimeFormatter
.
ofPattern
(
DateUtils
.
YYYY_MM_DD_HH_MM_SS
));
switch
(
couType
)
{
// 券类型[1-代金券|2-满减券|3-兑换券|4-折扣券] TODO: 2021/8/20 校验
case
1
:
valFace
=
buildParam
.
getValFace
();
break
;
case
2
:
valOver
=
buildParam
.
getValOver
();
valMinus
=
buildParam
.
getValMinus
();
break
;
case
3
:
redeemStart
=
eventAt
.
with
(
LocalTime
.
MIN
);
redeemStop
=
eventAt
.
plusDays
(
redeemValidity
).
withHour
(
23
).
withMinute
(
59
).
withSecond
(
59
);
break
;
case
4
:
discount
=
buildParam
.
getDiscount
();
break
;
default
:
logger
.
warn
(
"Invalid operation[buildParam.couType={}]"
,
couType
);
return
this
.
error
(
AjaxResult
.
Type
.
WARN
,
"券类型无效"
);
}
switch
(
bindType
)
{
// 领取方式[0-用户输入兑换|1-发放至用户]
// case 0:// 实际兑换发生时,计算到期时间
// break;
case
1
:
effectAt
=
eventAt
.
with
(
LocalTime
.
MIN
);
expireAt
=
eventAt
.
plusDays
(
validity
).
withHour
(
23
).
withMinute
(
59
).
withSecond
(
59
);
break
;
}
StringBuilder
eventLimit
=
new
StringBuilder
();
String
operator
=
ShiroUtils
.
getLoginName
();
if
(
buildParam
.
getEventType
()
==
2
)
{
// 指定用户手机号
String
eventLimitStr
=
buildParam
.
getEventLimit
().
trim
();
// TODO: 2021/8/20 正则校验手机号字符串
if
(
StringUtils
.
isEmpty
(
eventLimitStr
))
{
return
this
.
error
(
AjaxResult
.
Type
.
WARN
,
"请指定手机号"
);
}
Set
<
String
>
eventLimitSet
=
Stream
.
of
(
eventLimitStr
.
split
(
","
)).
collect
(
Collectors
.
toSet
());
for
(
String
l
:
eventLimitSet
)
{
eventLimit
.
append
(
l
).
append
(
","
);
}
}
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
(
couType
);
initCoupon
.
setBindType
(
buildParam
.
getBindType
());
initCoupon
.
setDiscount
(
discount
);
initCoupon
.
setValFace
(
valFace
);
initCoupon
.
setValOver
(
valOver
);
initCoupon
.
setValMinus
(
valMinus
);
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
.
nextMilliId
());
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
(
eventLimit
.
toString
());
initMgtCoupon
.
setEventAt
(
eventAt
);
initMgtCoupon
.
setOperator
(
operator
);
initMgtCoupon
.
setCreatedAt
(
nowTime
);
candyMgtCouponAdminService
.
saveMgtCouponInfo
(
initCoupon
,
initMgtCoupon
,
initCouponRuleList
);
return
toAjax
(
true
);
}
}
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/java/com/liquidnet/client/admin/web/controller/zhengzai/candy/CandyMgtCoupon2AdminController.java
deleted
100644 → 0
View file @
418168ef
package
com
.
liquidnet
.
client
.
admin
.
web
.
controller
.
zhengzai
.
candy
;
import
com.liquidnet.client.admin.common.annotation.Log
;
import
com.liquidnet.client.admin.common.core.controller.BaseController
;
import
com.liquidnet.client.admin.common.core.domain.AjaxResult
;
import
com.liquidnet.client.admin.common.core.page.TableDataInfo
;
import
com.liquidnet.client.admin.common.enums.BusinessType
;
import
com.liquidnet.client.admin.common.utils.DateUtils
;
import
com.liquidnet.client.admin.common.utils.ShiroUtils
;
import
com.liquidnet.client.admin.zhengzai.candy.service.ICandyCouponAdminService
;
import
com.liquidnet.client.admin.zhengzai.candy.service.ICandyMgtCouponAdminService
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.service.candy.dto.admin.CandyCouponRuleBuildParam
;
import
com.liquidnet.service.candy.dto.admin.CandyMgtCouponBuildParam
;
import
com.liquidnet.service.candy.dto.admin.CandyMgtCouponInfoDto
;
import
com.liquidnet.service.candy.dto.admin.CandyMgtCouponListParam
;
import
com.liquidnet.service.candy.entity.CandyCoupon
;
import
com.liquidnet.service.candy.entity.CandyCouponRule
;
import
com.liquidnet.service.candy.entity.CandyMgtCoupon
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.ui.ModelMap
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.time.LocalTime
;
import
java.time.format.DateTimeFormatter
;
import
java.util.ArrayList
;
import
java.util.List
;
@Api
(
tags
=
"券发放管理"
)
@Controller
@RequestMapping
(
"candy/coupon2/mgt"
)
public
class
CandyMgtCoupon2AdminController
extends
BaseController
{
private
final
String
prefix
=
"zhengzai/candy/coupon/mgt"
;
@Autowired
private
ICandyMgtCouponAdminService
candyMgtCouponAdminService
;
@Autowired
private
ICandyCouponAdminService
candyCouponAdminService
;
@RequiresPermissions
(
"candy:coupon2:mgt:view"
)
@GetMapping
()
public
String
coupon
()
{
return
prefix
+
"/coupon2"
;
}
@RequiresPermissions
(
"candy:coupon2:mgt:list"
)
@PostMapping
(
"list"
)
@ResponseBody
public
TableDataInfo
list
(
CandyMgtCouponListParam
listParam
)
{
listParam
.
setCouType
(
2
);
startPage
();
List
<
CandyMgtCouponInfoDto
>
list
=
candyMgtCouponAdminService
.
listForMgtCouponInfoDto
(
listParam
);
return
getDataTable
(
list
);
}
@GetMapping
(
"add"
)
public
String
add
()
{
return
prefix
+
"/add2"
;
}
@ApiOperation
(
value
=
"新建券"
)
@RequiresPermissions
(
"candy:coupon2:mgt:add"
)
@Log
(
title
=
"券发放管理"
,
businessType
=
BusinessType
.
INSERT
)
@PostMapping
(
"add"
)
@ResponseBody
public
AjaxResult
addSave
(
@Validated
CandyMgtCouponBuildParam
buildParam
)
{
BigDecimal
discount
=
null
,
valFace
=
null
,
valOver
=
null
,
valMinus
=
null
;
Integer
couType
=
buildParam
.
getCouType
(),
validity
=
buildParam
.
getValidity
(),
redeemValidity
=
buildParam
.
getRedeemValidity
();
LocalDateTime
nowTime
=
LocalDateTime
.
now
(),
redeemStart
=
null
,
redeemStop
=
null
,
effectAt
,
expireAt
,
eventAt
=
LocalDateTime
.
parse
(
buildParam
.
getEventAt
(),
DateTimeFormatter
.
ofPattern
(
DateUtils
.
YYYY_MM_DD_HH_MM_SS
));
switch
(
couType
)
{
// TODO: 2021/8/20 校验
case
1
:
// 代金券
valFace
=
buildParam
.
getValFace
();
break
;
case
2
:
// 满减券
valOver
=
buildParam
.
getValOver
();
valMinus
=
buildParam
.
getValMinus
();
break
;
case
3
:
// 兑换券
redeemStart
=
eventAt
.
with
(
LocalTime
.
MIN
);
redeemStop
=
eventAt
.
plusDays
(
redeemValidity
).
withHour
(
23
).
withMinute
(
59
).
withSecond
(
59
);
break
;
case
4
:
// 折扣券
discount
=
buildParam
.
getDiscount
();
break
;
default
:
logger
.
warn
(
"Invalid operation[buildParam.couType={}]"
,
couType
);
return
this
.
error
(
AjaxResult
.
Type
.
WARN
,
"券类型无效"
);
}
effectAt
=
eventAt
.
with
(
LocalTime
.
MIN
);
expireAt
=
eventAt
.
plusDays
(
validity
).
withHour
(
23
).
withMinute
(
59
).
withSecond
(
59
);
String
eventLimit
=
null
,
operator
=
ShiroUtils
.
getLoginName
();
if
(
buildParam
.
getEventType
()
==
2
)
{
// 指定用户手机号
eventLimit
=
buildParam
.
getEventLimit
().
trim
();
// TODO: 2021/8/20 正则校验手机号字符串
if
(
StringUtils
.
isEmpty
(
eventLimit
))
{
return
this
.
error
(
AjaxResult
.
Type
.
WARN
,
"请指定手机号"
);
}
}
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
(
couType
);
initCoupon
.
setBindType
(
buildParam
.
getBindType
());
initCoupon
.
setDiscount
(
discount
);
initCoupon
.
setValFace
(
valFace
);
initCoupon
.
setValOver
(
valOver
);
initCoupon
.
setValMinus
(
valMinus
);
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
.
nextMilliId
());
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
(
eventLimit
);
initMgtCoupon
.
setEventAt
(
eventAt
);
initMgtCoupon
.
setOperator
(
operator
);
initMgtCoupon
.
setCreatedAt
(
nowTime
);
candyMgtCouponAdminService
.
saveMgtCouponInfo
(
initCoupon
,
initMgtCoupon
,
initCouponRuleList
);
return
toAjax
(
true
);
}
@GetMapping
(
"code/{couponId}"
)
public
String
code
(
@PathVariable
(
"couponId"
)
String
couponId
,
ModelMap
mmap
)
{
mmap
.
put
(
"couponId"
,
couponId
);
return
prefix
+
"/code"
;
}
@RequiresPermissions
(
"candy:coupon2:mgt:code:list"
)
@PostMapping
(
"codeList"
)
@ResponseBody
public
TableDataInfo
codeList
(
CandyMgtCouponListParam
listParam
)
{
startPage
();
return
getDataTable
(
null
);
}
}
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/java/com/liquidnet/client/admin/web/controller/zhengzai/candy/CandyMgtCoupon3AdminController.java
deleted
100644 → 0
View file @
418168ef
package
com
.
liquidnet
.
client
.
admin
.
web
.
controller
.
zhengzai
.
candy
;
import
com.liquidnet.client.admin.common.annotation.Log
;
import
com.liquidnet.client.admin.common.core.controller.BaseController
;
import
com.liquidnet.client.admin.common.core.domain.AjaxResult
;
import
com.liquidnet.client.admin.common.core.page.TableDataInfo
;
import
com.liquidnet.client.admin.common.enums.BusinessType
;
import
com.liquidnet.client.admin.common.utils.DateUtils
;
import
com.liquidnet.client.admin.common.utils.ShiroUtils
;
import
com.liquidnet.client.admin.zhengzai.candy.service.ICandyCouponAdminService
;
import
com.liquidnet.client.admin.zhengzai.candy.service.ICandyMgtCouponAdminService
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.service.candy.dto.admin.CandyCouponRuleBuildParam
;
import
com.liquidnet.service.candy.dto.admin.CandyMgtCouponBuildParam
;
import
com.liquidnet.service.candy.dto.admin.CandyMgtCouponInfoDto
;
import
com.liquidnet.service.candy.dto.admin.CandyMgtCouponListParam
;
import
com.liquidnet.service.candy.entity.CandyCoupon
;
import
com.liquidnet.service.candy.entity.CandyCouponRule
;
import
com.liquidnet.service.candy.entity.CandyMgtCoupon
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.ui.ModelMap
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.time.LocalTime
;
import
java.time.format.DateTimeFormatter
;
import
java.util.ArrayList
;
import
java.util.List
;
@Api
(
tags
=
"券发放管理"
)
@Controller
@RequestMapping
(
"candy/coupon3/mgt"
)
public
class
CandyMgtCoupon3AdminController
extends
BaseController
{
private
final
String
prefix
=
"zhengzai/candy/coupon/mgt"
;
@Autowired
private
ICandyMgtCouponAdminService
candyMgtCouponAdminService
;
@Autowired
private
ICandyCouponAdminService
candyCouponAdminService
;
@RequiresPermissions
(
"candy:coupon3:mgt:view"
)
@GetMapping
()
public
String
coupon
()
{
return
prefix
+
"/coupon3"
;
}
@RequiresPermissions
(
"candy:coupon3:mgt:list"
)
@PostMapping
(
"list"
)
@ResponseBody
public
TableDataInfo
list
(
CandyMgtCouponListParam
listParam
)
{
listParam
.
setCouType
(
3
);
startPage
();
List
<
CandyMgtCouponInfoDto
>
list
=
candyMgtCouponAdminService
.
listForMgtCouponInfoDto
(
listParam
);
return
getDataTable
(
list
);
}
@GetMapping
(
"add"
)
public
String
add
()
{
return
prefix
+
"/add3"
;
}
@ApiOperation
(
value
=
"新建券"
)
@RequiresPermissions
(
"candy:coupon3:mgt:add"
)
@Log
(
title
=
"券发放管理"
,
businessType
=
BusinessType
.
INSERT
)
@PostMapping
(
"add"
)
@ResponseBody
public
AjaxResult
addSave
(
@Validated
CandyMgtCouponBuildParam
buildParam
)
{
BigDecimal
discount
=
null
,
valFace
=
null
,
valOver
=
null
,
valMinus
=
null
;
Integer
couType
=
buildParam
.
getCouType
(),
validity
=
buildParam
.
getValidity
(),
redeemValidity
=
buildParam
.
getRedeemValidity
();
LocalDateTime
nowTime
=
LocalDateTime
.
now
(),
redeemStart
=
null
,
redeemStop
=
null
,
effectAt
,
expireAt
,
eventAt
=
LocalDateTime
.
parse
(
buildParam
.
getEventAt
(),
DateTimeFormatter
.
ofPattern
(
DateUtils
.
YYYY_MM_DD_HH_MM_SS
));
switch
(
couType
)
{
// TODO: 2021/8/20 校验
case
1
:
// 代金券
valFace
=
buildParam
.
getValFace
();
break
;
case
2
:
// 满减券
valOver
=
buildParam
.
getValOver
();
valMinus
=
buildParam
.
getValMinus
();
break
;
case
3
:
// 兑换券
redeemStart
=
eventAt
.
with
(
LocalTime
.
MIN
);
redeemStop
=
eventAt
.
plusDays
(
redeemValidity
).
withHour
(
23
).
withMinute
(
59
).
withSecond
(
59
);
break
;
case
4
:
// 折扣券
discount
=
buildParam
.
getDiscount
();
break
;
default
:
logger
.
warn
(
"Invalid operation[buildParam.couType={}]"
,
couType
);
return
this
.
error
(
AjaxResult
.
Type
.
WARN
,
"券类型无效"
);
}
effectAt
=
eventAt
.
with
(
LocalTime
.
MIN
);
expireAt
=
eventAt
.
plusDays
(
validity
).
withHour
(
23
).
withMinute
(
59
).
withSecond
(
59
);
String
eventLimit
=
null
,
operator
=
ShiroUtils
.
getLoginName
();
if
(
buildParam
.
getEventType
()
==
2
)
{
// 指定用户手机号
eventLimit
=
buildParam
.
getEventLimit
().
trim
();
// TODO: 2021/8/20 正则校验手机号字符串
if
(
StringUtils
.
isEmpty
(
eventLimit
))
{
return
this
.
error
(
AjaxResult
.
Type
.
WARN
,
"请指定手机号"
);
}
}
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
(
couType
);
initCoupon
.
setBindType
(
buildParam
.
getBindType
());
initCoupon
.
setDiscount
(
discount
);
initCoupon
.
setValFace
(
valFace
);
initCoupon
.
setValOver
(
valOver
);
initCoupon
.
setValMinus
(
valMinus
);
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
.
nextMilliId
());
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
(
eventLimit
);
initMgtCoupon
.
setEventAt
(
eventAt
);
initMgtCoupon
.
setOperator
(
operator
);
initMgtCoupon
.
setCreatedAt
(
nowTime
);
candyMgtCouponAdminService
.
saveMgtCouponInfo
(
initCoupon
,
initMgtCoupon
,
initCouponRuleList
);
return
toAjax
(
true
);
}
@GetMapping
(
"code/{couponId}"
)
public
String
code
(
@PathVariable
(
"couponId"
)
String
couponId
,
ModelMap
mmap
)
{
mmap
.
put
(
"couponId"
,
couponId
);
return
prefix
+
"/code"
;
}
@RequiresPermissions
(
"candy:coupon3:mgt:code:list"
)
@PostMapping
(
"codeList"
)
@ResponseBody
public
TableDataInfo
codeList
(
CandyMgtCouponListParam
listParam
)
{
startPage
();
return
getDataTable
(
null
);
}
}
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/java/com/liquidnet/client/admin/web/controller/zhengzai/candy/CandyMgtCoupon4AdminController.java
deleted
100644 → 0
View file @
418168ef
package
com
.
liquidnet
.
client
.
admin
.
web
.
controller
.
zhengzai
.
candy
;
import
com.liquidnet.client.admin.common.annotation.Log
;
import
com.liquidnet.client.admin.common.core.controller.BaseController
;
import
com.liquidnet.client.admin.common.core.domain.AjaxResult
;
import
com.liquidnet.client.admin.common.core.page.TableDataInfo
;
import
com.liquidnet.client.admin.common.enums.BusinessType
;
import
com.liquidnet.client.admin.common.utils.DateUtils
;
import
com.liquidnet.client.admin.common.utils.ShiroUtils
;
import
com.liquidnet.client.admin.zhengzai.candy.service.ICandyCouponAdminService
;
import
com.liquidnet.client.admin.zhengzai.candy.service.ICandyMgtCouponAdminService
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.service.candy.dto.admin.CandyCouponRuleBuildParam
;
import
com.liquidnet.service.candy.dto.admin.CandyMgtCouponBuildParam
;
import
com.liquidnet.service.candy.dto.admin.CandyMgtCouponInfoDto
;
import
com.liquidnet.service.candy.dto.admin.CandyMgtCouponListParam
;
import
com.liquidnet.service.candy.entity.CandyCoupon
;
import
com.liquidnet.service.candy.entity.CandyCouponRule
;
import
com.liquidnet.service.candy.entity.CandyMgtCoupon
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.ui.ModelMap
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.time.LocalTime
;
import
java.time.format.DateTimeFormatter
;
import
java.util.ArrayList
;
import
java.util.List
;
@Api
(
tags
=
"券发放管理"
)
@Controller
@RequestMapping
(
"candy/coupon4/mgt"
)
public
class
CandyMgtCoupon4AdminController
extends
BaseController
{
private
final
String
prefix
=
"zhengzai/candy/coupon/mgt"
;
@Autowired
private
ICandyMgtCouponAdminService
candyMgtCouponAdminService
;
@Autowired
private
ICandyCouponAdminService
candyCouponAdminService
;
@RequiresPermissions
(
"candy:coupon4:mgt:view"
)
@GetMapping
()
public
String
coupon
()
{
return
prefix
+
"/coupon4"
;
}
@RequiresPermissions
(
"candy:coupon4:mgt:list"
)
@PostMapping
(
"list"
)
@ResponseBody
public
TableDataInfo
list
(
CandyMgtCouponListParam
listParam
)
{
listParam
.
setCouType
(
4
);
startPage
();
List
<
CandyMgtCouponInfoDto
>
list
=
candyMgtCouponAdminService
.
listForMgtCouponInfoDto
(
listParam
);
return
getDataTable
(
list
);
}
@GetMapping
(
"add"
)
public
String
add
()
{
return
prefix
+
"/add4"
;
}
@ApiOperation
(
value
=
"新建券"
)
@RequiresPermissions
(
"candy:coupon4:mgt:add"
)
@Log
(
title
=
"券发放管理"
,
businessType
=
BusinessType
.
INSERT
)
@PostMapping
(
"add"
)
@ResponseBody
public
AjaxResult
addSave
(
@Validated
CandyMgtCouponBuildParam
buildParam
)
{
BigDecimal
discount
=
null
,
valFace
=
null
,
valOver
=
null
,
valMinus
=
null
;
Integer
couType
=
buildParam
.
getCouType
(),
validity
=
buildParam
.
getValidity
(),
redeemValidity
=
buildParam
.
getRedeemValidity
();
LocalDateTime
nowTime
=
LocalDateTime
.
now
(),
redeemStart
=
null
,
redeemStop
=
null
,
effectAt
,
expireAt
,
eventAt
=
LocalDateTime
.
parse
(
buildParam
.
getEventAt
(),
DateTimeFormatter
.
ofPattern
(
DateUtils
.
YYYY_MM_DD_HH_MM_SS
));
switch
(
couType
)
{
// TODO: 2021/8/20 校验
case
1
:
// 代金券
valFace
=
buildParam
.
getValFace
();
break
;
case
2
:
// 满减券
valOver
=
buildParam
.
getValOver
();
valMinus
=
buildParam
.
getValMinus
();
break
;
case
3
:
// 兑换券
redeemStart
=
eventAt
.
with
(
LocalTime
.
MIN
);
redeemStop
=
eventAt
.
plusDays
(
redeemValidity
).
withHour
(
23
).
withMinute
(
59
).
withSecond
(
59
);
break
;
case
4
:
// 折扣券
discount
=
buildParam
.
getDiscount
();
break
;
default
:
logger
.
warn
(
"Invalid operation[buildParam.couType={}]"
,
couType
);
return
this
.
error
(
AjaxResult
.
Type
.
WARN
,
"券类型无效"
);
}
effectAt
=
eventAt
.
with
(
LocalTime
.
MIN
);
expireAt
=
eventAt
.
plusDays
(
validity
).
withHour
(
23
).
withMinute
(
59
).
withSecond
(
59
);
String
eventLimit
=
null
,
operator
=
ShiroUtils
.
getLoginName
();
if
(
buildParam
.
getEventType
()
==
2
)
{
// 指定用户手机号
eventLimit
=
buildParam
.
getEventLimit
().
trim
();
// TODO: 2021/8/20 正则校验手机号字符串
if
(
StringUtils
.
isEmpty
(
eventLimit
))
{
return
this
.
error
(
AjaxResult
.
Type
.
WARN
,
"请指定手机号"
);
}
}
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
(
couType
);
initCoupon
.
setBindType
(
buildParam
.
getBindType
());
initCoupon
.
setDiscount
(
discount
);
initCoupon
.
setValFace
(
valFace
);
initCoupon
.
setValOver
(
valOver
);
initCoupon
.
setValMinus
(
valMinus
);
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
.
nextMilliId
());
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
(
eventLimit
);
initMgtCoupon
.
setEventAt
(
eventAt
);
initMgtCoupon
.
setOperator
(
operator
);
initMgtCoupon
.
setCreatedAt
(
nowTime
);
candyMgtCouponAdminService
.
saveMgtCouponInfo
(
initCoupon
,
initMgtCoupon
,
initCouponRuleList
);
return
toAjax
(
true
);
}
@GetMapping
(
"code/{couponId}"
)
public
String
code
(
@PathVariable
(
"couponId"
)
String
couponId
,
ModelMap
mmap
)
{
mmap
.
put
(
"couponId"
,
couponId
);
return
prefix
+
"/code"
;
}
@RequiresPermissions
(
"candy:coupon4:mgt:code:list"
)
@PostMapping
(
"codeList"
)
@ResponseBody
public
TableDataInfo
codeList
(
CandyMgtCouponListParam
listParam
)
{
startPage
();
return
getDataTable
(
null
);
}
}
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 @
377f6508
...
...
@@ -72,7 +72,7 @@ public class CandyMgtCouponAdminController extends BaseController {
@Log
(
title
=
"券发放管理"
,
businessType
=
BusinessType
.
INSERT
)
@PostMapping
(
"add"
)
@ResponseBody
public
AjaxResult
addSave
(
@Validated
CandyMgtCouponBuildParam
buildParam
)
{
public
AjaxResult
addSave
(
@
RequestBody
@
Validated
CandyMgtCouponBuildParam
buildParam
)
{
BigDecimal
discount
=
null
,
valFace
=
null
,
valOver
=
null
,
valMinus
=
null
;
Integer
couType
=
buildParam
.
getCouType
(),
validity
=
buildParam
.
getValidity
(),
...
...
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