记得上下班打卡 | 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
fe9ca421
Commit
fe9ca421
authored
Aug 27, 2021
by
张国柄
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
+会员设置:套餐编辑、权益编辑、会员券编辑、会员码生成|列表|导出;
parent
2207992a
Changes
31
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
31 changed files
with
750 additions
and
330 deletions
+750
-330
AdamMemberCodeGenParam.java
.../service/adam/dto/param/admin/AdamMemberCodeGenParam.java
+31
-0
AdamMemberCodeListParam.java
...service/adam/dto/param/admin/AdamMemberCodeListParam.java
+15
-0
AdamMemberPriceBuildParam.java
...rvice/adam/dto/param/admin/AdamMemberPriceBuildParam.java
+29
-0
AdamMemberRightsBuildParam.java
...vice/adam/dto/param/admin/AdamMemberRightsBuildParam.java
+5
-12
AdamMemberCodeVo.java
...a/com/liquidnet/service/adam/dto/vo/AdamMemberCodeVo.java
+25
-13
CandyMemberCouponBuildParam.java
.../service/candy/dto/admin/CandyMemberCouponBuildParam.java
+9
-2
AdamMemberAdminController.java
...b/controller/zhengzai/adam/AdamMemberAdminController.java
+222
-39
AdamMemberPriceAdminController.java
...troller/zhengzai/adam/AdamMemberPriceAdminController.java
+61
-61
CandyCouponCodeAdminController.java
...roller/zhengzai/candy/CandyCouponCodeAdminController.java
+14
-26
CandyMgtCoupon1AdminController.java
...roller/zhengzai/candy/CandyMgtCoupon1AdminController.java
+12
-4
AdamMemberCodeExcelDto.java
...lient/admin/zhengzai/adam/dto/AdamMemberCodeExcelDto.java
+46
-0
IAdamMemberCodeAdminService.java
...in/zhengzai/adam/service/IAdamMemberCodeAdminService.java
+3
-2
IAdamMemberPriceAdminService.java
...n/zhengzai/adam/service/IAdamMemberPriceAdminService.java
+2
-3
IAdamMemberRightsAdminService.java
.../zhengzai/adam/service/IAdamMemberRightsAdminService.java
+3
-3
AdamMemberCodeAdminServiceImpl.java
...zai/adam/service/impl/AdamMemberCodeAdminServiceImpl.java
+66
-72
AdamMemberPriceAdminServiceImpl.java
...ai/adam/service/impl/AdamMemberPriceAdminServiceImpl.java
+66
-56
AdamMemberRightsAdminServiceImpl.java
...i/adam/service/impl/AdamMemberRightsAdminServiceImpl.java
+44
-0
CandyCouponCodeExcelDto.java
...ent/admin/zhengzai/candy/dto/CandyCouponCodeExcelDto.java
+1
-1
ICandyMgtCouponAdminService.java
...n/zhengzai/candy/service/ICandyMgtCouponAdminService.java
+3
-1
CandyMgtCouponAdminServiceImpl.java
...ai/candy/service/impl/CandyMgtCouponAdminServiceImpl.java
+34
-4
IDGenerator.java
...ain/java/com/liquidnet/commons/lang/util/IDGenerator.java
+6
-0
AdamMemberCode.java
...ava/com/liquidnet/service/adam/entity/AdamMemberCode.java
+17
-5
AdamMemberCodeMapper.java
...m/liquidnet/service/adam/mapper/AdamMemberCodeMapper.java
+1
-1
CandyCouponCode.java
...a/com/liquidnet/service/candy/entity/CandyCouponCode.java
+1
-1
CandyMgtCoupon.java
...va/com/liquidnet/service/candy/entity/CandyMgtCoupon.java
+1
-1
db_ln_adam_initialdata.sql
...quidnet-service-adam-impl/docu/db_ln_adam_initialdata.sql
+9
-2
AdamRdmService.java
...va/com/liquidnet/service/adam/service/AdamRdmService.java
+2
-2
AdamUserMemberServiceImpl.java
.../service/adam/service/impl/AdamUserMemberServiceImpl.java
+1
-1
db_ln_candy_initialdata.sql
...idnet-service-candy-impl/docu/db_ln_candy_initialdata.sql
+3
-3
CandyMgtCouponTaskController.java
...m/controller/candy/task/CandyMgtCouponTaskController.java
+1
-0
PlatformCandyCouponService.java
...atform/service/impl/candy/PlatformCandyCouponService.java
+17
-15
No files found.
liquidnet-bus-api/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/dto/param/admin/AdamMemberCodeGenParam.java
0 → 100644
View file @
fe9ca421
package
com
.
liquidnet
.
service
.
adam
.
dto
.
param
.
admin
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.Max
;
import
javax.validation.constraints.Min
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
@ApiModel
(
value
=
"AdamMemberCodeListParam"
,
description
=
"会员码列表入参"
)
@Data
public
class
AdamMemberCodeGenParam
implements
Serializable
{
private
static
final
long
serialVersionUID
=
7212595876649709617L
;
@NotBlank
(
message
=
"会员类型ID不能为空"
)
@ApiModelProperty
(
required
=
true
,
value
=
"会员类型ID[64]"
,
example
=
"1"
)
private
String
memberId
;
@NotBlank
(
message
=
"会员价格ID不能为空"
)
@ApiModelProperty
(
required
=
true
,
value
=
"会员价格ID[64]"
,
example
=
"1"
)
private
String
memberPriceId
;
@NotNull
(
message
=
"有效期不能为空"
)
@ApiModelProperty
(
required
=
true
,
value
=
"有效期"
,
example
=
"30"
)
private
Integer
validity
;
@NotNull
(
message
=
"生成数量不能为空"
)
@Min
(
1
)
@Max
(
100
)
@ApiModelProperty
(
required
=
true
,
value
=
"生成数量[1-100]"
,
example
=
"1"
)
private
Integer
genNum
;
}
liquidnet-bus-api/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/dto/param/admin/AdamMemberCodeListParam.java
0 → 100644
View file @
fe9ca421
package
com
.
liquidnet
.
service
.
adam
.
dto
.
param
.
admin
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
@ApiModel
(
value
=
"AdamMemberCodeListParam"
,
description
=
"会员码列表入参"
)
@Data
public
class
AdamMemberCodeListParam
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
8454342033562304457L
;
@ApiModelProperty
(
required
=
false
,
value
=
"会员类型ID[64]"
)
private
String
memberId
;
}
liquidnet-bus-api/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/dto/param/admin/AdamMemberPriceBuildParam.java
0 → 100644
View file @
fe9ca421
package
com
.
liquidnet
.
service
.
adam
.
dto
.
param
.
admin
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
@ApiModel
(
value
=
"AdamMemberPriceBuildParam"
,
description
=
"编辑价格入参"
)
@Data
public
class
AdamMemberPriceBuildParam
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
7331274160877946420L
;
@ApiModelProperty
(
required
=
true
,
value
=
"会员卡ID"
)
private
String
memberId
;
@ApiModelProperty
(
required
=
false
,
value
=
"会员价格ID"
)
private
String
memberPriceId
;
@ApiModelProperty
(
required
=
true
,
value
=
"原价"
)
private
BigDecimal
price
;
@ApiModelProperty
(
required
=
true
,
value
=
"折扣价"
)
private
BigDecimal
priceFixed
;
@ApiModelProperty
(
required
=
true
,
value
=
"特价:首次、首年优惠价"
)
private
BigDecimal
priceSpecial
;
@ApiModelProperty
(
required
=
true
,
value
=
"有效天数"
)
private
Integer
days
;
@ApiModelProperty
(
required
=
true
,
value
=
"双倍积分[1-关闭,2-开启]"
)
private
Integer
integralRate
;
}
liquidnet-bus-api/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/dto/param/admin/AdamMemberRightsBuildParam.java
View file @
fe9ca421
...
@@ -12,20 +12,13 @@ import java.util.List;
...
@@ -12,20 +12,13 @@ import java.util.List;
@Data
@Data
public
class
AdamMemberRightsBuildParam
implements
Serializable
{
public
class
AdamMemberRightsBuildParam
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
7331274160877946420L
;
private
static
final
long
serialVersionUID
=
-
7331274160877946420L
;
@ApiModelProperty
(
required
=
true
,
value
=
"会员卡ID"
)
@ApiModelProperty
(
required
=
false
,
value
=
"会员价格ID"
)
private
String
memberId
;
private
String
memberPriceId
;
@ApiModelProperty
(
required
=
true
,
value
=
"原价"
)
private
BigDecimal
price
;
@ApiModelProperty
(
required
=
true
,
value
=
"折扣价"
)
private
BigDecimal
priceFixed
;
@ApiModelProperty
(
required
=
true
,
value
=
"特价:首次、首年优惠价"
)
private
BigDecimal
priceSpecial
;
@ApiModelProperty
(
required
=
true
,
value
=
"有效天数"
)
private
Integer
days
;
@ApiModelProperty
(
required
=
false
,
value
=
"权益ID[64]"
)
@ApiModelProperty
(
required
=
false
,
value
=
"权益ID[64]"
)
private
String
mrightsId
;
private
String
mrightsId
;
@ApiModelProperty
(
required
=
true
,
value
=
"权益状态[]"
)
private
Integer
state
;
@ApiModelProperty
(
required
=
true
,
value
=
"权益标题[50]"
)
@ApiModelProperty
(
required
=
true
,
value
=
"权益标题[50]"
)
private
String
title
;
private
String
title
;
@ApiModelProperty
(
required
=
true
,
value
=
"权益副标题[200]"
)
@ApiModelProperty
(
required
=
true
,
value
=
"权益副标题[200]"
)
...
...
liquidnet-bus-api/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/dto/vo/AdamMemberCodeVo.java
View file @
fe9ca421
...
@@ -24,26 +24,35 @@ public class AdamMemberCodeVo implements Serializable, Cloneable {
...
@@ -24,26 +24,35 @@ public class AdamMemberCodeVo implements Serializable, Cloneable {
private
Integer
type
;
private
Integer
type
;
@ApiModelProperty
(
position
=
4
,
value
=
"会员编号"
)
@ApiModelProperty
(
position
=
4
,
value
=
"会员编号"
)
private
String
memberNo
;
private
String
memberNo
;
@ApiModelProperty
(
position
=
5
,
value
=
"状态
:0-未使用,1-已使用,2-不可用
"
)
@ApiModelProperty
(
position
=
5
,
value
=
"状态
[0-可用|1-已用|2-无效|3-过期|4-失效|5-退回]
"
)
private
Integer
state
;
private
Integer
state
;
@ApiModelProperty
(
position
=
6
,
value
=
"购买会员码的订单编号"
)
@ApiModelProperty
(
position
=
6
,
value
=
"有效期(单位天)"
)
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
DateUtil
.
DATE_FULL_STR
)
private
Integer
validity
;
@ApiModelProperty
(
position
=
7
,
value
=
"生效时间"
)
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
DateUtil
.
DATE_FULL_STR
)
private
LocalDateTime
effectAt
;
@ApiModelProperty
(
position
=
8
,
value
=
"失效时间"
)
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
DateUtil
.
DATE_FULL_STR
)
private
LocalDateTime
expireAt
;
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
DateUtil
.
DATE_FULL_STR
)
private
LocalDateTime
createdAt
;
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
DateUtil
.
DATE_FULL_STR
)
private
LocalDateTime
updatedAt
;
@ApiModelProperty
(
position
=
11
,
value
=
"购买会员码的订单编号"
)
private
String
buyOrderNo
;
private
String
buyOrderNo
;
@ApiModelProperty
(
position
=
7
,
value
=
"购买会员码的用户id"
)
@ApiModelProperty
(
position
=
12
,
value
=
"购买会员码的用户id"
)
private
String
buyUid
;
private
String
buyUid
;
@ApiModelProperty
(
position
=
8
,
value
=
"购买时间"
)
@ApiModelProperty
(
position
=
13
,
value
=
"购买时间"
)
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
DateUtil
.
DATE_FULL_STR
)
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
DateUtil
.
DATE_FULL_STR
)
private
LocalDateTime
buyAt
;
private
LocalDateTime
buyAt
;
@ApiModelProperty
(
position
=
9
,
value
=
"使用会员码的订单编号"
)
@ApiModelProperty
(
position
=
14
,
value
=
"使用会员码的订单编号"
)
private
String
useOrderNo
;
private
String
useOrderNo
;
@ApiModelProperty
(
position
=
1
0
,
value
=
"使用会员码的用户id"
)
@ApiModelProperty
(
position
=
1
5
,
value
=
"使用会员码的用户id"
)
private
String
useUid
;
private
String
useUid
;
@ApiModelProperty
(
position
=
1
1
,
value
=
"使用时间"
)
@ApiModelProperty
(
position
=
1
6
,
value
=
"使用时间"
)
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
DateUtil
.
DATE_FULL_STR
)
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
DateUtil
.
DATE_FULL_STR
)
private
LocalDateTime
useAt
;
private
LocalDateTime
useAt
;
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
DateUtil
.
DATE_FULL_STR
)
private
LocalDateTime
createdAt
;
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
DateUtil
.
DATE_FULL_STR
)
private
LocalDateTime
updatedAt
;
private
static
final
AdamMemberCodeVo
obj
=
new
AdamMemberCodeVo
();
private
static
final
AdamMemberCodeVo
obj
=
new
AdamMemberCodeVo
();
...
@@ -63,14 +72,17 @@ public class AdamMemberCodeVo implements Serializable, Cloneable {
...
@@ -63,14 +72,17 @@ public class AdamMemberCodeVo implements Serializable, Cloneable {
this
.
setType
(
source
.
getType
());
this
.
setType
(
source
.
getType
());
this
.
setMemberNo
(
source
.
getMemberNo
());
this
.
setMemberNo
(
source
.
getMemberNo
());
this
.
setState
(
source
.
getState
());
this
.
setState
(
source
.
getState
());
this
.
setValidity
(
source
.
getValidity
());
this
.
setEffectAt
(
source
.
getEffectAt
());
this
.
setExpireAt
(
source
.
getExpireAt
());
this
.
setCreatedAt
(
source
.
getCreatedAt
());
this
.
setUpdatedAt
(
source
.
getUpdatedAt
());
this
.
setBuyOrderNo
(
source
.
getBuyOrderNo
());
this
.
setBuyOrderNo
(
source
.
getBuyOrderNo
());
this
.
setBuyUid
(
source
.
getBuyUid
());
this
.
setBuyUid
(
source
.
getBuyUid
());
this
.
setBuyAt
(
source
.
getBuyAt
());
this
.
setBuyAt
(
source
.
getBuyAt
());
this
.
setUseOrderNo
(
source
.
getUseOrderNo
());
this
.
setUseOrderNo
(
source
.
getUseOrderNo
());
this
.
setUseUid
(
source
.
getUseUid
());
this
.
setUseUid
(
source
.
getUseUid
());
this
.
setUseAt
(
source
.
getUseAt
());
this
.
setUseAt
(
source
.
getUseAt
());
this
.
setCreatedAt
(
source
.
getCreatedAt
());
this
.
setUpdatedAt
(
source
.
getUpdatedAt
());
return
this
;
return
this
;
}
}
}
}
liquidnet-bus-api/liquidnet-service-candy-api/src/main/java/com/liquidnet/service/candy/dto/admin/CandyMemberCouponBuildParam.java
View file @
fe9ca421
...
@@ -12,7 +12,14 @@ import java.util.List;
...
@@ -12,7 +12,14 @@ import java.util.List;
@ApiModel
(
value
=
"CandyMgtCouponBuildParam"
,
description
=
"新建券入参"
)
@ApiModel
(
value
=
"CandyMgtCouponBuildParam"
,
description
=
"新建券入参"
)
@Data
@Data
public
class
CandyMemberCouponBuildParam
{
public
class
CandyMemberCouponBuildParam
{
//private String couponId;
@ApiModelProperty
(
required
=
true
,
value
=
"会员类型ID[64]"
)
private
String
memberId
;
@ApiModelProperty
(
required
=
true
,
value
=
"权益ID[64]"
)
private
String
mrightsId
;
@NotBlank
(
message
=
"券ID不能为空"
)
@ApiModelProperty
(
required
=
false
,
value
=
"券ID"
,
example
=
"券ID"
)
private
String
couponId
;
//private Integer state;
//private Integer state;
@NotBlank
(
message
=
"券标题不能为空"
)
@NotBlank
(
message
=
"券标题不能为空"
)
@ApiModelProperty
(
required
=
true
,
value
=
"券标题"
,
example
=
"券标题"
)
@ApiModelProperty
(
required
=
true
,
value
=
"券标题"
,
example
=
"券标题"
)
...
@@ -72,7 +79,7 @@ public class CandyMemberCouponBuildParam {
...
@@ -72,7 +79,7 @@ public class CandyMemberCouponBuildParam {
@ApiModelProperty
(
required
=
true
,
value
=
"发放量"
,
example
=
"1"
)
@ApiModelProperty
(
required
=
true
,
value
=
"发放量"
,
example
=
"1"
)
private
Integer
eventAmt
;
private
Integer
eventAmt
;
// @NotNull(message = "券发放类型不能为空")
// @NotNull(message = "券发放类型不能为空")
// @ApiModelProperty(required = true, value = "发放类型[1-会员|2-手机号|10-全体用户]", allowableValues = "1,2,10")
// @ApiModelProperty(required = true, value = "发放类型[1-会员|2-手机号|
3-UID|
10-全体用户]", allowableValues = "1,2,10")
// private Integer eventType;
// private Integer eventType;
// @ApiModelProperty(required = false, value = "`发放类型`为2-手机号时发放手机号以,分隔", example = "17701223310,17701223310")
// @ApiModelProperty(required = false, value = "`发放类型`为2-手机号时发放手机号以,分隔", example = "17701223310,17701223310")
// private String eventLimit;
// private String eventLimit;
...
...
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 @
fe9ca421
This diff is collapsed.
Click to expand it.
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/java/com/liquidnet/client/admin/web/controller/zhengzai/adam/AdamMemberPriceAdminController.java
View file @
fe9ca421
...
@@ -24,66 +24,66 @@ import javax.validation.constraints.NotBlank;
...
@@ -24,66 +24,66 @@ import javax.validation.constraints.NotBlank;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
@Api
(
tags
=
"会员价格"
)
//
@Api(tags = "会员价格")
@Slf4j
//
@Slf4j
@Validated
//
@Validated
@RestController
//
@RestController
@RequestMapping
(
"adam/mprice"
)
//
@RequestMapping("adam/mprice")
public
class
AdamMemberPriceAdminController
{
public
class
AdamMemberPriceAdminController
{
@Autowired
//
@Autowired
IAdamMemberPriceAdminService
adamMemberPriceService
;
//
IAdamMemberPriceAdminService adamMemberPriceService;
//
@Log
(
title
=
"会员价格"
,
businessType
=
BusinessType
.
LIST
)
//
@Log(title = "会员价格", businessType = BusinessType.LIST)
@RequiresPermissions
(
"adam:mprice:list"
)
//
@RequiresPermissions("adam:mprice:list")
@ApiOperation
(
value
=
"会员价格列表"
)
//
@ApiOperation(value = "会员价格列表")
@ApiImplicitParams
({
//
@ApiImplicitParams({
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"memberId"
,
value
=
"会员卡ID[64]"
),
//
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "memberId", value = "会员卡ID[64]"),
})
//
})
@GetMapping
(
"list"
)
//
@GetMapping("list")
public
ResponseDto
<
List
<
AdamMemberPriceVo
>>
list
(
@NotBlank
(
message
=
"会员类型ID不能为空"
)
@RequestParam
String
memberId
)
{
//
public ResponseDto<List<AdamMemberPriceVo>> list(@NotBlank(message = "会员类型ID不能为空") @RequestParam String memberId) {
List
<
AdamMemberPrice
>
list
=
adamMemberPriceService
.
list
(
//
List<AdamMemberPrice> list = adamMemberPriceService.list(
Wrappers
.
lambdaQuery
(
AdamMemberPrice
.
class
).
eq
(
AdamMemberPrice:
:
getMemberId
,
memberId
)
//
Wrappers.lambdaQuery(AdamMemberPrice.class).eq(AdamMemberPrice::getMemberId, memberId)
);
//
);
List
<
AdamMemberPriceVo
>
vos
=
new
ArrayList
<>();
//
List<AdamMemberPriceVo> vos = new ArrayList<>();
list
.
forEach
(
r
->
{
//
list.forEach(r -> {
vos
.
add
(
AdamMemberPriceVo
.
getNew
().
copy
(
r
));
//
vos.add(AdamMemberPriceVo.getNew().copy(r));
});
//
});
return
ResponseDto
.
success
(
vos
);
//
return ResponseDto.success(vos);
}
//
}
//
@Log
(
title
=
"会员价格"
,
businessType
=
BusinessType
.
DETAIL
)
//
@Log(title = "会员价格", businessType = BusinessType.DETAIL)
@RequiresPermissions
(
"adam:mprice:info"
)
//
@RequiresPermissions("adam:mprice:info")
@ApiOperation
(
value
=
"会员价格详情"
)
//
@ApiOperation(value = "会员价格详情")
@ApiImplicitParams
({
//
@ApiImplicitParams({
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"memberId"
,
value
=
"会员卡ID[64]"
),
//
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "memberId", value = "会员卡ID[64]"),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"memberPriceId"
,
value
=
"会员卡价格ID[64]"
),
//
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "memberPriceId", value = "会员卡价格ID[64]"),
})
//
})
@GetMapping
(
"info"
)
//
@GetMapping("info")
public
ResponseDto
<
AdamMemberPriceVo
>
query
(
@NotBlank
(
message
=
"会员类型ID不能为空"
)
@RequestParam
String
memberId
,
//
public ResponseDto<AdamMemberPriceVo> query(@NotBlank(message = "会员类型ID不能为空") @RequestParam String memberId,
@NotBlank
(
message
=
"会员价格ID不能为空"
)
@RequestParam
String
memberPriceId
)
{
//
@NotBlank(message = "会员价格ID不能为空") @RequestParam String memberPriceId) {
AdamMemberPrice
one
=
adamMemberPriceService
.
getOne
(
//
AdamMemberPrice one = adamMemberPriceService.getOne(
Wrappers
.
lambdaQuery
(
AdamMemberPrice
.
class
)
//
Wrappers.lambdaQuery(AdamMemberPrice.class)
.
eq
(
AdamMemberPrice:
:
getMemberPriceId
,
memberPriceId
)
//
.eq(AdamMemberPrice::getMemberPriceId, memberPriceId)
.
eq
(
AdamMemberPrice:
:
getMemberId
,
memberId
)
//
.eq(AdamMemberPrice::getMemberId, memberId)
);
//
);
return
ResponseDto
.
success
(
AdamMemberPriceVo
.
getNew
().
copy
(
one
));
//
return ResponseDto.success(AdamMemberPriceVo.getNew().copy(one));
}
//
}
//
@Log
(
title
=
"会员价格"
,
businessType
=
BusinessType
.
INSERT
)
//
@Log(title = "会员价格", businessType = BusinessType.INSERT)
@RequiresPermissions
(
"adam:mprice:add"
)
//
@RequiresPermissions("adam:mprice:add")
@ApiOperation
(
value
=
"添加会员价格"
)
//
@ApiOperation(value = "添加会员价格")
@PostMapping
(
"add"
)
//
@PostMapping("add")
public
ResponseDto
<
AdamMemberPriceVo
>
add
(
@Valid
@RequestBody
AdamMemberPriceParam
param
)
{
//
public ResponseDto<AdamMemberPriceVo> add(@Valid @RequestBody AdamMemberPriceParam param) {
AdamMemberPrice
entity
=
new
AdamMemberPrice
();
//
AdamMemberPrice entity = new AdamMemberPrice();
BeanUtils
.
copyProperties
(
param
,
entity
);
//
BeanUtils.copyProperties(param, entity);
return
ResponseDto
.
success
(
adamMemberPriceService
.
add
(
entity
));
//
return ResponseDto.success(adamMemberPriceService.add(entity));
}
//
}
//
@Log
(
title
=
"会员价格"
,
businessType
=
BusinessType
.
UPDATE
)
//
@Log(title = "会员价格", businessType = BusinessType.UPDATE)
@RequiresPermissions
(
"adam:mprice:edit"
)
//
@RequiresPermissions("adam:mprice:edit")
@ApiOperation
(
value
=
"编辑会员价格"
)
//
@ApiOperation(value = "编辑会员价格")
@PostMapping
(
"edit"
)
//
@PostMapping("edit")
public
ResponseDto
<
AdamMemberPriceVo
>
edit
(
@Valid
@RequestBody
AdamMemberPriceParam
param
)
{
//
public ResponseDto<AdamMemberPriceVo> edit(@Valid @RequestBody AdamMemberPriceParam param) {
return
adamMemberPriceService
.
edit
(
param
)
?
ResponseDto
.
success
()
:
ResponseDto
.
failure
(
"无效编辑"
);
//
return adamMemberPriceService.edit(param) ? ResponseDto.success() : ResponseDto.failure("无效编辑");
}
//
}
}
}
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/java/com/liquidnet/client/admin/web/controller/zhengzai/candy/CandyCouponCodeAdminController.java
View file @
fe9ca421
...
@@ -41,8 +41,7 @@ public class CandyCouponCodeAdminController extends BaseController {
...
@@ -41,8 +41,7 @@ public class CandyCouponCodeAdminController extends BaseController {
@RequiresPermissions
(
"candy:coupon:code:view"
)
@RequiresPermissions
(
"candy:coupon:code:view"
)
@GetMapping
()
@GetMapping
()
public
String
role
(
@RequestParam
String
couponId
,
ModelMap
mmap
)
public
String
view
(
@RequestParam
String
couponId
,
ModelMap
mmap
)
{
{
mmap
.
put
(
"couponId"
,
couponId
);
mmap
.
put
(
"couponId"
,
couponId
);
return
prefix
+
"/code"
;
return
prefix
+
"/code"
;
}
}
...
@@ -50,10 +49,15 @@ public class CandyCouponCodeAdminController extends BaseController {
...
@@ -50,10 +49,15 @@ public class CandyCouponCodeAdminController extends BaseController {
@RequiresPermissions
(
"candy:coupon:code:list"
)
@RequiresPermissions
(
"candy:coupon:code:list"
)
@PostMapping
(
"list"
)
@PostMapping
(
"list"
)
@ResponseBody
@ResponseBody
public
TableDataInfo
list
(
CandyCouponCodeListParam
listParam
)
public
TableDataInfo
list
(
CandyCouponCodeListParam
listParam
)
{
{
startPage
();
LambdaQueryWrapper
<
CandyCouponCode
>
lambdaQuery
=
Wrappers
.
lambdaQuery
(
CandyCouponCode
.
class
).
orderByAsc
(
CandyCouponCode:
:
getCcode
);
return
getDataTable
(
listQuery
(
listParam
));
}
private
List
<
CandyCouponCode
>
listQuery
(
CandyCouponCodeListParam
listParam
)
{
LambdaQueryWrapper
<
CandyCouponCode
>
lambdaQuery
=
Wrappers
.
lambdaQuery
(
CandyCouponCode
.
class
);
lambdaQuery
.
eq
(
CandyCouponCode:
:
getCouponId
,
listParam
.
getCouponId
())
lambdaQuery
.
eq
(
CandyCouponCode:
:
getCouponId
,
listParam
.
getCouponId
())
.
ne
(
CandyCouponCode:
:
getState
,
2
)
.
select
(
.
select
(
CandyCouponCode:
:
getCcode
,
CandyCouponCode:
:
getCcode
,
CandyCouponCode:
:
getCouponId
,
CandyCouponCode:
:
getCouponId
,
...
@@ -63,28 +67,14 @@ public class CandyCouponCodeAdminController extends BaseController {
...
@@ -63,28 +67,14 @@ public class CandyCouponCodeAdminController extends BaseController {
if
(
null
!=
listParam
.
getState
())
{
if
(
null
!=
listParam
.
getState
())
{
lambdaQuery
.
eq
(
CandyCouponCode:
:
getState
,
listParam
.
getState
());
lambdaQuery
.
eq
(
CandyCouponCode:
:
getState
,
listParam
.
getState
());
}
}
startPage
();
return
candyCouponCodeAdminService
.
list
(
lambdaQuery
);
List
<
CandyCouponCode
>
list
=
candyCouponCodeAdminService
.
list
(
lambdaQuery
);
return
getDataTable
(
list
);
}
}
@RequiresPermissions
(
"candy:coupon:code:export"
)
@RequiresPermissions
(
"candy:coupon:code:export"
)
@PostMapping
(
"export"
)
@PostMapping
(
"export"
)
@ResponseBody
@ResponseBody
public
AjaxResult
export
(
CandyCouponCodeListParam
listParam
)
public
AjaxResult
export
(
CandyCouponCodeListParam
listParam
)
{
{
List
<
CandyCouponCode
>
list
=
listQuery
(
listParam
);
LambdaQueryWrapper
<
CandyCouponCode
>
lambdaQuery
=
Wrappers
.
lambdaQuery
(
CandyCouponCode
.
class
);
lambdaQuery
.
eq
(
CandyCouponCode:
:
getCouponId
,
listParam
.
getCouponId
())
.
select
(
CandyCouponCode:
:
getCcode
,
CandyCouponCode:
:
getCouponId
,
CandyCouponCode:
:
getRedeemMobile
,
CandyCouponCode:
:
getState
);
if
(
null
!=
listParam
.
getState
())
{
lambdaQuery
.
eq
(
CandyCouponCode:
:
getState
,
listParam
.
getState
());
}
List
<
CandyCouponCode
>
list
=
candyCouponCodeAdminService
.
list
(
lambdaQuery
);
ExcelUtil
<
CandyCouponCodeExcelDto
>
excelUtil
=
new
ExcelUtil
<>(
CandyCouponCodeExcelDto
.
class
);
ExcelUtil
<
CandyCouponCodeExcelDto
>
excelUtil
=
new
ExcelUtil
<>(
CandyCouponCodeExcelDto
.
class
);
List
<
CandyCouponCodeExcelDto
>
excelList
=
new
ArrayList
<>();
List
<
CandyCouponCodeExcelDto
>
excelList
=
new
ArrayList
<>();
...
@@ -97,8 +87,7 @@ public class CandyCouponCodeAdminController extends BaseController {
...
@@ -97,8 +87,7 @@ public class CandyCouponCodeAdminController extends BaseController {
@RequiresPermissions
(
"candy:coupon:code:invalid"
)
@RequiresPermissions
(
"candy:coupon:code:invalid"
)
@PostMapping
(
"invalid"
)
@PostMapping
(
"invalid"
)
@ResponseBody
@ResponseBody
public
AjaxResult
invalid
(
CandyCouponCodeOptParam
optParam
)
public
AjaxResult
invalid
(
CandyCouponCodeOptParam
optParam
)
{
{
logger
.
debug
(
"optParam:{}"
,
JsonUtils
.
toJson
(
optParam
));
logger
.
debug
(
"optParam:{}"
,
JsonUtils
.
toJson
(
optParam
));
optParam
.
getCcodes
().
forEach
(
r
->
{
optParam
.
getCcodes
().
forEach
(
r
->
{
...
@@ -122,8 +111,7 @@ public class CandyCouponCodeAdminController extends BaseController {
...
@@ -122,8 +111,7 @@ public class CandyCouponCodeAdminController extends BaseController {
@RequiresPermissions
(
"candy:coupon:code:recover"
)
@RequiresPermissions
(
"candy:coupon:code:recover"
)
@PostMapping
(
"recover"
)
@PostMapping
(
"recover"
)
@ResponseBody
@ResponseBody
public
AjaxResult
recover
(
CandyCouponCodeOptParam
optParam
)
public
AjaxResult
recover
(
CandyCouponCodeOptParam
optParam
)
{
{
logger
.
debug
(
"optParam:{}"
,
JsonUtils
.
toJson
(
optParam
));
logger
.
debug
(
"optParam:{}"
,
JsonUtils
.
toJson
(
optParam
));
optParam
.
getCcodes
().
forEach
(
r
->
{
optParam
.
getCcodes
().
forEach
(
r
->
{
...
...
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/java/com/liquidnet/client/admin/web/controller/zhengzai/candy/CandyMgtCoupon1AdminController.java
View file @
fe9ca421
...
@@ -36,6 +36,9 @@ import java.time.LocalTime;
...
@@ -36,6 +36,9 @@ import java.time.LocalTime;
import
java.time.format.DateTimeFormatter
;
import
java.time.format.DateTimeFormatter
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
import
java.util.stream.Stream
;
@Api
(
tags
=
"券发放管理"
)
@Api
(
tags
=
"券发放管理"
)
@Controller
@Controller
...
@@ -104,13 +107,18 @@ public class CandyMgtCoupon1AdminController extends BaseController {
...
@@ -104,13 +107,18 @@ public class CandyMgtCoupon1AdminController extends BaseController {
effectAt
=
eventAt
.
with
(
LocalTime
.
MIN
);
effectAt
=
eventAt
.
with
(
LocalTime
.
MIN
);
expireAt
=
eventAt
.
plusDays
(
validity
).
withHour
(
23
).
withMinute
(
59
).
withSecond
(
59
);
expireAt
=
eventAt
.
plusDays
(
validity
).
withHour
(
23
).
withMinute
(
59
).
withSecond
(
59
);
String
eventLimit
=
null
,
operator
=
ShiroUtils
.
getLoginName
();
StringBuilder
eventLimit
=
new
StringBuilder
();
String
operator
=
ShiroUtils
.
getLoginName
();
if
(
buildParam
.
getEventType
()
==
2
)
{
// 指定用户手机号
if
(
buildParam
.
getEventType
()
==
2
)
{
// 指定用户手机号
eventLimit
=
buildParam
.
getEventLimit
().
trim
();
String
eventLimitStr
=
buildParam
.
getEventLimit
().
trim
();
// TODO: 2021/8/20 正则校验手机号字符串
// TODO: 2021/8/20 正则校验手机号字符串
if
(
StringUtils
.
isEmpty
(
eventLimit
))
{
if
(
StringUtils
.
isEmpty
(
eventLimit
Str
))
{
return
this
.
error
(
AjaxResult
.
Type
.
WARN
,
"请指定手机号"
);
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
();
CandyCoupon
initCoupon
=
new
CandyCoupon
();
...
@@ -159,7 +167,7 @@ public class CandyMgtCoupon1AdminController extends BaseController {
...
@@ -159,7 +167,7 @@ public class CandyMgtCoupon1AdminController extends BaseController {
initMgtCoupon
.
setState
(
0
);
initMgtCoupon
.
setState
(
0
);
initMgtCoupon
.
setEventAmt
(
buildParam
.
getEventAmt
());
initMgtCoupon
.
setEventAmt
(
buildParam
.
getEventAmt
());
initMgtCoupon
.
setEventType
(
buildParam
.
getEventType
());
initMgtCoupon
.
setEventType
(
buildParam
.
getEventType
());
initMgtCoupon
.
setEventLimit
(
eventLimit
);
initMgtCoupon
.
setEventLimit
(
eventLimit
.
toString
()
);
initMgtCoupon
.
setEventAt
(
eventAt
);
initMgtCoupon
.
setEventAt
(
eventAt
);
initMgtCoupon
.
setOperator
(
operator
);
initMgtCoupon
.
setOperator
(
operator
);
initMgtCoupon
.
setCreatedAt
(
nowTime
);
initMgtCoupon
.
setCreatedAt
(
nowTime
);
...
...
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/adam/dto/AdamMemberCodeExcelDto.java
0 → 100644
View file @
fe9ca421
package
com
.
liquidnet
.
client
.
admin
.
zhengzai
.
adam
.
dto
;
import
com.liquidnet.client.admin.common.annotation.Excel
;
import
com.liquidnet.commons.lang.util.DateUtil
;
import
com.liquidnet.service.adam.entity.AdamMemberCode
;
import
lombok.Data
;
import
java.io.Serializable
;
@Data
public
class
AdamMemberCodeExcelDto
implements
Serializable
,
Cloneable
{
private
static
final
long
serialVersionUID
=
-
6775626480969657499L
;
@Excel
(
name
=
"会员码"
)
private
String
code
;
@Excel
(
name
=
"状态"
)
private
Integer
state
;
@Excel
(
name
=
"用户UID"
)
private
String
useUid
;
@Excel
(
name
=
"生效时间"
,
width
=
30
)
private
String
effectAt
;
@Excel
(
name
=
"过期时间"
,
width
=
30
)
private
String
expireAt
;
@Excel
(
name
=
"批次号"
)
private
String
memberId
;
private
static
final
AdamMemberCodeExcelDto
obj
=
new
AdamMemberCodeExcelDto
();
public
static
AdamMemberCodeExcelDto
getNew
()
{
try
{
return
(
AdamMemberCodeExcelDto
)
obj
.
clone
();
}
catch
(
CloneNotSupportedException
e
)
{
return
new
AdamMemberCodeExcelDto
();
}
}
public
AdamMemberCodeExcelDto
copy
(
AdamMemberCode
source
)
{
if
(
null
==
source
)
return
this
;
this
.
setCode
(
source
.
getCode
());
this
.
setState
(
source
.
getState
());
this
.
setUseUid
(
source
.
getUseUid
());
this
.
setEffectAt
(
DateUtil
.
Formatter
.
yyyyMMddHHmmss
.
format
(
source
.
getEffectAt
()));
this
.
setExpireAt
(
DateUtil
.
Formatter
.
yyyyMMddHHmmss
.
format
(
source
.
getExpireAt
()));
this
.
setMemberId
(
source
.
getMemberId
());
return
this
;
}
}
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/adam/service/IAdamMemberCodeAdminService.java
View file @
fe9ca421
package
com
.
liquidnet
.
client
.
admin
.
zhengzai
.
adam
.
service
;
package
com
.
liquidnet
.
client
.
admin
.
zhengzai
.
adam
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.liquidnet.service.adam.dto.
AdamMemberCode
Param
;
import
com.liquidnet.service.adam.dto.
param.admin.AdamMemberCodeGen
Param
;
import
com.liquidnet.service.adam.entity.AdamMemberCode
;
import
com.liquidnet.service.adam.entity.AdamMemberCode
;
/**
/**
...
@@ -13,5 +13,6 @@ public interface IAdamMemberCodeAdminService extends IService<AdamMemberCode> {
...
@@ -13,5 +13,6 @@ public interface IAdamMemberCodeAdminService extends IService<AdamMemberCode> {
* 创建礼包码
* 创建礼包码
* @param param
* @param param
*/
*/
String
createGiftCode
(
AdamMemberCodeParam
param
);
// String createGiftCode(AdamMemberCodeParam param);
boolean
createGiftCode
(
AdamMemberCodeGenParam
param
);
}
}
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/adam/service/IAdamMemberPriceAdminService.java
View file @
fe9ca421
package
com
.
liquidnet
.
client
.
admin
.
zhengzai
.
adam
.
service
;
package
com
.
liquidnet
.
client
.
admin
.
zhengzai
.
adam
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.liquidnet.service.adam.dto.
AdamMemberPrice
Param
;
import
com.liquidnet.service.adam.dto.
param.admin.AdamMemberPriceBuild
Param
;
import
com.liquidnet.service.adam.dto.vo.AdamMemberPriceVo
;
import
com.liquidnet.service.adam.dto.vo.AdamMemberPriceVo
;
import
com.liquidnet.service.adam.entity.AdamMemberPrice
;
import
com.liquidnet.service.adam.entity.AdamMemberPrice
;
public
interface
IAdamMemberPriceAdminService
extends
IService
<
AdamMemberPrice
>
{
public
interface
IAdamMemberPriceAdminService
extends
IService
<
AdamMemberPrice
>
{
AdamMemberPriceVo
add
(
AdamMemberPrice
info
);
boolean
edit
(
AdamMemberPriceParam
param
);
boolean
edit
(
AdamMemberPrice
Build
Param
param
);
}
}
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/adam/service/IAdamMemberRightsAdminService.java
View file @
fe9ca421
package
com
.
liquidnet
.
client
.
admin
.
zhengzai
.
adam
.
service
;
package
com
.
liquidnet
.
client
.
admin
.
zhengzai
.
adam
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.liquidnet.service.adam.dto.AdamMemberPriceParam
;
import
com.liquidnet.service.adam.dto.param.admin.AdamMemberRightsBuildParam
;
import
com.liquidnet.service.adam.dto.vo.AdamMemberPriceVo
;
import
com.liquidnet.service.adam.entity.AdamMemberPrice
;
import
com.liquidnet.service.adam.entity.AdamMemberRights
;
import
com.liquidnet.service.adam.entity.AdamMemberRights
;
public
interface
IAdamMemberRightsAdminService
extends
IService
<
AdamMemberRights
>
{
public
interface
IAdamMemberRightsAdminService
extends
IService
<
AdamMemberRights
>
{
boolean
edit
(
AdamMemberRightsBuildParam
param
);
}
}
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/adam/service/impl/AdamMemberCodeAdminServiceImpl.java
View file @
fe9ca421
package
com
.
liquidnet
.
client
.
admin
.
zhengzai
.
adam
.
service
.
impl
;
package
com
.
liquidnet
.
client
.
admin
.
zhengzai
.
adam
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.liquidnet.client.admin.zhengzai.adam.service.IAdamMemberCodeAdminService
;
import
com.liquidnet.client.admin.zhengzai.adam.service.IAdamMemberCodeAdminService
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.common.exception.LiquidnetServiceException
;
import
com.liquidnet.common.exception.LiquidnetServiceException
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.service.adam.constant.AdamRedisConst
;
import
com.liquidnet.service.adam.constant.AdamRedisConst
;
import
com.liquidnet.service.adam.dto.
AdamMemberCode
Param
;
import
com.liquidnet.service.adam.dto.
param.admin.AdamMemberCodeGen
Param
;
import
com.liquidnet.service.adam.dto.vo.AdamMemberCodeVo
;
import
com.liquidnet.service.adam.dto.vo.AdamMemberCodeVo
;
import
com.liquidnet.service.adam.entity.AdamMemberCode
;
import
com.liquidnet.service.adam.entity.AdamMemberCode
;
import
com.liquidnet.service.adam.mapper.AdamMemberCodeMapper
;
import
com.liquidnet.service.adam.mapper.AdamMemberCodeMapper
;
...
@@ -13,9 +15,10 @@ import com.liquidnet.service.adam.util.MemberUtil;
...
@@ -13,9 +15,10 @@ import com.liquidnet.service.adam.util.MemberUtil;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.StringUtils
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.regex.Pattern
;
import
java.util.regex.Pattern
;
@Slf4j
@Slf4j
...
@@ -23,77 +26,89 @@ import java.util.regex.Pattern;
...
@@ -23,77 +26,89 @@ import java.util.regex.Pattern;
public
class
AdamMemberCodeAdminServiceImpl
extends
ServiceImpl
<
AdamMemberCodeMapper
,
AdamMemberCode
>
implements
IAdamMemberCodeAdminService
{
public
class
AdamMemberCodeAdminServiceImpl
extends
ServiceImpl
<
AdamMemberCodeMapper
,
AdamMemberCode
>
implements
IAdamMemberCodeAdminService
{
@Autowired
@Autowired
AdamMemberCodeMapper
memberCodeMapper
;
AdamMemberCodeMapper
memberCodeMapper
;
// @Autowired
// MongoTemplate mongoTemplate;
@Autowired
@Autowired
RedisUtil
redisUtil
;
RedisUtil
redisUtil
;
@Override
@Override
public
String
createGiftCode
(
AdamMemberCodeParam
param
)
{
public
boolean
createGiftCode
(
AdamMemberCodeGenParam
param
)
{
String
mCode
,
memberNo
;
List
<
AdamMemberCode
>
memberCodeList
=
new
ArrayList
<>();
boolean
exists
;
ArrayList
<
String
>
codeList
=
CollectionUtil
.
arrayListString
();
do
{
Integer
genNum
=
param
.
getGenNum
();
mCode
=
MemberUtil
.
freeCode
();
LocalDateTime
now
=
LocalDateTime
.
now
();
// exists = mongoTemplate.exists(
for
(
int
i
=
0
;
i
<
genNum
;
i
++)
{
// Query.query(Criteria.where("code").is(mCode)), AdamMemberCodeVo.class.getSimpleName()
String
mCode
;
// );
boolean
exists
;
exists
=
redisUtil
.
hasKey
(
mCode
);
do
{
}
while
(
exists
);
mCode
=
MemberUtil
.
freeCode
();
String
key
=
AdamRedisConst
.
INFO_MEMBER_CODE
.
concat
(
mCode
);
// 需要主动生成会员编号
exists
=
redisUtil
.
hasKey
(
key
);
memberNo
=
getNextMemberNo
(
param
.
getMemberId
());
}
while
(
exists
);
if
(
StringUtils
.
isEmpty
(
memberNo
))
return
""
;
AdamMemberCode
initMemberCode
=
new
AdamMemberCode
();
initMemberCode
.
setCode
(
mCode
);
AdamMemberCode
initMemberCode
=
new
AdamMemberCode
();
initMemberCode
.
setType
(
1
);
initMemberCode
.
setCode
(
mCode
);
initMemberCode
.
setMemberId
(
param
.
getMemberId
());
initMemberCode
.
setType
(
param
.
getType
());
initMemberCode
.
setMemberPriceId
(
param
.
getMemberPriceId
());
initMemberCode
.
setMemberId
(
param
.
getMemberId
());
// 需要主动生成会员编号
initMemberCode
.
setMemberPriceId
(
param
.
getMemberPriceId
());
//initMemberCode.setMemberNo(getNextMemberNo(param.getMemberId()));
initMemberCode
.
setMemberNo
(
memberNo
);
initMemberCode
.
setState
(
0
);
// 状态[0-可用|1-已用|2-无效|3-过期|4-失效|5-退回]
initMemberCode
.
setState
(
0
);
// 0-未使用,1-已使用,2-不可用
initMemberCode
.
setValidity
(
param
.
getValidity
());
initMemberCode
.
setCreatedAt
(
LocalDateTime
.
now
());
initMemberCode
.
setEffectAt
(
now
);
initMemberCode
.
setExpireAt
(
now
.
plusDays
(
param
.
getValidity
()).
withHour
(
23
).
withMinute
(
59
).
withSecond
(
59
));
memberCodeMapper
.
insert
(
initMemberCode
);
initMemberCode
.
setCreatedAt
(
now
);
AdamMemberCodeVo
vo
=
AdamMemberCodeVo
.
getNew
().
copy
(
initMemberCode
);
memberCodeList
.
add
(
initMemberCode
);
// mongoTemplate.insert(vo, AdamMemberCodeVo.class.getSimpleName());
codeList
.
add
(
mCode
);
setMemberCodeVoByCode
(
mCode
,
vo
);
//redisUtil.set(AdamRedisConst.INFO_MEMBER_CODE.concat(mCode), AdamMemberCodeVo.getNew().copy(initMemberCode));
}
return
initMemberCode
.
getCode
();
if
(
this
.
saveBatch
(
memberCodeList
,
memberCodeList
.
size
()))
{
List
<
AdamMemberCode
>
list
=
this
.
list
(
Wrappers
.
lambdaQuery
(
AdamMemberCode
.
class
).
in
(
AdamMemberCode:
:
getCode
,
codeList
)
.
eq
(
AdamMemberCode:
:
getState
,
0
).
eq
(
AdamMemberCode:
:
getCreatedAt
,
now
)
);
list
.
forEach
(
r
->
{
r
.
setMemberNo
(
getNextMemberNo
(
param
.
getMemberId
()));
redisUtil
.
set
(
AdamRedisConst
.
INFO_MEMBER_CODE
.
concat
(
r
.
getCode
()),
AdamMemberCodeVo
.
getNew
().
copy
(
r
));
});
this
.
updateBatchById
(
list
,
list
.
size
());
return
true
;
}
return
false
;
}
}
public
String
getNextMemberNo
(
String
memberId
)
{
public
String
getNextMemberNo
(
String
memberId
)
{
long
s
=
System
.
currentTimeMillis
();
long
s
=
System
.
currentTimeMillis
();
int
memberMaxNo
=
getMaxMemberNo
();
int
memberMaxNo
=
this
.
getMaxMemberNo
();
if
(-
1
==
memberMaxNo
)
{
if
(-
1
==
memberMaxNo
)
{
// TODO: 2021/7/29 降级DB
// TODO: 2021/7/29 降级DB
throw
new
LiquidnetServiceException
();
throw
new
LiquidnetServiceException
();
// if (RedisLockUtil.tryLock(LOCK_KEY_UMEMBER_NO, 1, 3)) {
// if (RedisLockUtil.tryLock(LOCK_KEY_UMEMBER_NO, 1, 3)) {
// memberMaxNo = getMaxMemberNo();
// memberMaxNo =
adamRdmService.
getMaxMemberNo();
// if (-1 == memberMaxNo) {
// if (-1 == memberMaxNo) {
// Query query = Query.query(Criteria.where("memberId").is(memberId)).with(Sort.by(Sort.Direction.DESC, "memberNo")).limit(1);
//
//
Query query = Query.query(Criteria.where("memberId").is(memberId)).with(Sort.by(Sort.Direction.DESC, "memberNo")).limit(1);
//
//
//
// AdamUserMemberVo latestMaxMemberNoVo = mongoTemplate.findOne(query, AdamUserMemberVo.class, AdamUserMemberVo.class.getSimpleName());
//
//
AdamUserMemberVo latestMaxMemberNoVo = mongoTemplate.findOne(query, AdamUserMemberVo.class, AdamUserMemberVo.class.getSimpleName());
//
//
//
// if (null == latestMaxMemberNoVo) {
//
//
if (null == latestMaxMemberNoVo) {
// AdamMemberVo memberVo = getMemberVoByMemberId(memberId);
// AdamMemberVo memberVo =
adamRdmService.
getMemberVoByMemberId(memberId);
//
//
// setMaxMemberNo(memberVo.getStartNo());
//
adamRdmService.
setMaxMemberNo(memberVo.getStartNo());
// } else {
//
//
} else {
//
setMaxMemberNo(Integer.parseInt(latestMaxMemberNoVo.getMemberNo()));
//
// adamRdmService.
setMaxMemberNo(Integer.parseInt(latestMaxMemberNoVo.getMemberNo()));
// }
//
//
}
// }
// }
// RedisLockUtil.unlock(LOCK_KEY_UMEMBER_NO);
// RedisLockUtil.unlock(LOCK_KEY_UMEMBER_NO);
// } else {
// } else {
// return null;
// return null;
// }
// }
}
}
String
nextMemberNoStr
=
String
.
valueOf
(
incrMemberNo
());
String
nextMemberNoStr
=
String
.
valueOf
(
this
.
incrMemberNo
());
if
(
Pattern
.
matches
(
"([\\d])\\1{"
+
(
nextMemberNoStr
.
length
()
-
1
)
+
"}"
,
nextMemberNoStr
))
{
while
(
Pattern
.
matches
(
"([\\d])\\1{"
+
(
nextMemberNoStr
.
length
()
-
1
)
+
"}"
,
nextMemberNoStr
))
{
// 不能是完全相同的数字
// 不能是完全相同的数字
nextMemberNoStr
=
String
.
valueOf
(
incrMemberNo
());
nextMemberNoStr
=
String
.
valueOf
(
this
.
incrMemberNo
());
}
}
log
.
debug
(
"#MNO耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
log
.
debug
(
"#MNO耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
nextMemberNoStr
;
return
nextMemberNoStr
;
...
@@ -104,23 +119,6 @@ public class AdamMemberCodeAdminServiceImpl extends ServiceImpl<AdamMemberCodeMa
...
@@ -104,23 +119,6 @@ public class AdamMemberCodeAdminServiceImpl extends ServiceImpl<AdamMemberCodeMa
return
null
==
o
?
-
1
:
(
int
)
o
;
return
null
==
o
?
-
1
:
(
int
)
o
;
}
}
// public AdamMemberVo getMemberVoByMemberId(String memberId) {
// String key = AdamRedisConst.INFO_MEMBER_CATEGORY.concat(memberId);
// long s = System.currentTimeMillis();
// AdamMemberVo vo = (AdamMemberVo) redisUtil.get(key);
// if (null == vo) {
// s = System.currentTimeMillis();
// vo = mongoTemplate.findOne(
// Query.query(Criteria.where("memberId").is(memberId).and("state").is(1)),
// AdamMemberVo.class, AdamMemberVo.class.getSimpleName()
// );
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
// if (null != vo) redisUtil.set(key, vo);
// }
// log.debug("#RDM耗时:{}ms", System.currentTimeMillis() - s);
// return vo;
// }
public
boolean
setMaxMemberNo
(
int
val
)
{
public
boolean
setMaxMemberNo
(
int
val
)
{
return
redisUtil
.
set
(
AdamRedisConst
.
INCR_MEMBER_NO
,
val
);
return
redisUtil
.
set
(
AdamRedisConst
.
INCR_MEMBER_NO
,
val
);
}
}
...
@@ -128,8 +126,4 @@ public class AdamMemberCodeAdminServiceImpl extends ServiceImpl<AdamMemberCodeMa
...
@@ -128,8 +126,4 @@ public class AdamMemberCodeAdminServiceImpl extends ServiceImpl<AdamMemberCodeMa
public
int
incrMemberNo
()
{
public
int
incrMemberNo
()
{
return
(
int
)
redisUtil
.
incr
(
AdamRedisConst
.
INCR_MEMBER_NO
,
1
);
return
(
int
)
redisUtil
.
incr
(
AdamRedisConst
.
INCR_MEMBER_NO
,
1
);
}
}
public
boolean
setMemberCodeVoByCode
(
String
memberCode
,
AdamMemberCodeVo
vo
)
{
return
redisUtil
.
set
(
AdamRedisConst
.
INFO_MEMBER_CODE
.
concat
(
memberCode
),
vo
);
}
}
}
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/adam/service/impl/AdamMemberPriceAdminServiceImpl.java
View file @
fe9ca421
...
@@ -5,20 +5,18 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
...
@@ -5,20 +5,18 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.liquidnet.client.admin.zhengzai.adam.service.IAdamMemberPriceAdminService
;
import
com.liquidnet.client.admin.zhengzai.adam.service.IAdamMemberPriceAdminService
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.common
s.lang.util.IDGenerator
;
import
com.liquidnet.common
.exception.LiquidnetServiceException
;
import
com.liquidnet.service.adam.constant.AdamRedisConst
;
import
com.liquidnet.service.adam.constant.AdamRedisConst
;
import
com.liquidnet.service.adam.dto.
AdamMemberPrice
Param
;
import
com.liquidnet.service.adam.dto.
param.admin.AdamMemberPriceBuild
Param
;
import
com.liquidnet.service.adam.dto.vo.AdamMemberPriceVo
;
import
com.liquidnet.service.adam.dto.vo.AdamMemberPriceVo
;
import
com.liquidnet.service.adam.entity.AdamMember
;
import
com.liquidnet.service.adam.entity.AdamMemberPrice
;
import
com.liquidnet.service.adam.entity.AdamMemberPrice
;
import
com.liquidnet.service.adam.mapper.AdamMemberMapper
;
import
com.liquidnet.service.adam.mapper.AdamMemberPriceMapper
;
import
com.liquidnet.service.adam.mapper.AdamMemberPriceMapper
;
import
com.mongodb.client.result.UpdateResult
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.data.mongodb.core.query.Update
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.CollectionUtils
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
...
@@ -28,66 +26,78 @@ import java.util.List;
...
@@ -28,66 +26,78 @@ import java.util.List;
@Service
@Service
public
class
AdamMemberPriceAdminServiceImpl
extends
ServiceImpl
<
AdamMemberPriceMapper
,
AdamMemberPrice
>
implements
IAdamMemberPriceAdminService
{
public
class
AdamMemberPriceAdminServiceImpl
extends
ServiceImpl
<
AdamMemberPriceMapper
,
AdamMemberPrice
>
implements
IAdamMemberPriceAdminService
{
@Autowired
@Autowired
AdamMemberPriceMapper
adamMemberPriceMapper
;
private
AdamMemberPriceMapper
adamMemberPriceMapper
;
@Autowired
@Autowired
MongoTemplate
mongoTemplate
;
private
AdamMemberMapper
adamMemberMapper
;
@Autowired
@Autowired
RedisUtil
redisUtil
;
private
RedisUtil
redisUtil
;
// public AdamMemberPriceVo add(AdamMemberPrice info) {
// List<AdamMemberPrice> existList = adamMemberPriceMapper.selectList(
// Wrappers.lambdaQuery(AdamMemberPrice.class).eq(AdamMemberPrice::getMemberId, info.getMemberId()));
// info.setMemberPriceId(CollectionUtils.isEmpty(existList) ? "101" : IDGenerator.nextSnowId().toString());
// info.setCreatedAt(LocalDateTime.now());
//
// adamMemberPriceMapper.insert(info);
//
// AdamMemberPriceVo vo = AdamMemberPriceVo.getNew().copy(info);
//
// redisUtil.set(AdamRedisConst.INFO_MEMBER_PRICE.concat(vo.getMemberPriceId()), vo);
//
// return vo;
// }
@Override
@Override
// @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
@Transactional
public
AdamMemberPriceVo
add
(
AdamMemberPrice
info
)
{
public
boolean
edit
(
AdamMemberPriceBuildParam
param
)
{
List
<
AdamMemberPrice
>
existList
=
adamMemberPriceMapper
.
selectList
(
String
memberId
=
param
.
getMemberId
(),
memberPriceId
=
param
.
getMemberPriceId
();
Wrappers
.
lambdaQuery
(
AdamMemberPrice
.
class
).
eq
(
AdamMemberPrice:
:
getMemberId
,
info
.
getMemberId
()));
info
.
setMemberPriceId
(
CollectionUtils
.
isEmpty
(
existList
)
?
"101"
:
IDGenerator
.
nextSnowId
().
toString
());
info
.
setCreatedAt
(
LocalDateTime
.
now
());
adamMemberPriceMapper
.
insert
(
info
);
AdamMember
updateInfo
=
new
AdamMember
();
updateInfo
.
setIntegralRate
(
param
.
getIntegralRate
());
if
(
adamMemberMapper
.
update
(
updateInfo
,
Wrappers
.
lambdaUpdate
(
AdamMember
.
class
)
.
eq
(
AdamMember:
:
getState
,
1
)
.
eq
(
AdamMember:
:
getMemberId
,
param
.
getMemberId
()))
>
0
)
{
LambdaQueryWrapper
<
AdamMemberPrice
>
queryWrapper
=
Wrappers
.
lambdaQuery
(
AdamMemberPrice
.
class
)
// .eq(AdamMemberPrice::getMemberPriceId, memberPriceId)
.
eq
(
AdamMemberPrice:
:
getMemberId
,
memberId
)
.
eq
(
AdamMemberPrice:
:
getState
,
1
);
List
<
AdamMemberPrice
>
memberPriceList
=
adamMemberPriceMapper
.
selectList
(
queryWrapper
);
LocalDateTime
nowTime
=
LocalDateTime
.
now
();
boolean
saveOrUpdateRst
;
AdamMemberPrice
saveOrUpdateInfo
;
if
(
CollectionUtils
.
isEmpty
(
memberPriceList
))
{
saveOrUpdateInfo
=
new
AdamMemberPrice
();
saveOrUpdateInfo
.
setMemberPriceId
(
memberId
+
"01"
);
saveOrUpdateInfo
.
setMemberId
(
memberId
);
saveOrUpdateInfo
.
setState
(
1
);
//saveOrUpdateInfo.setName();
saveOrUpdateInfo
.
setPrice
(
param
.
getPrice
());
saveOrUpdateInfo
.
setPriceFixed
(
param
.
getPriceFixed
());
saveOrUpdateInfo
.
setPriceSpecial
(
param
.
getPriceSpecial
());
saveOrUpdateInfo
.
setDays
(
param
.
getDays
());
//saveOrUpdateInfo.setDetail();
saveOrUpdateInfo
.
setCreatedAt
(
nowTime
);
AdamMemberPriceVo
vo
=
AdamMemberPriceVo
.
getNew
().
copy
(
info
);
saveOrUpdateRst
=
adamMemberPriceMapper
.
insert
(
saveOrUpdateInfo
)
>
0
;
}
else
{
saveOrUpdateInfo
=
new
AdamMemberPrice
();
saveOrUpdateInfo
.
setUpdatedAt
(
nowTime
);
mongoTemplate
.
insert
(
vo
,
AdamMemberPriceVo
.
class
.
getSimpleName
());
saveOrUpdateInfo
.
setPrice
(
param
.
getPrice
());
saveOrUpdateInfo
.
setPriceFixed
(
param
.
getPriceFixed
());
saveOrUpdateInfo
.
setPriceSpecial
(
param
.
getPriceSpecial
());
saveOrUpdateInfo
.
setDays
(
param
.
getDays
());
return
vo
;
saveOrUpdateRst
=
adamMemberPriceMapper
.
update
(
saveOrUpdateInfo
,
queryWrapper
)
>
0
;
}
@Override
// @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public
boolean
edit
(
AdamMemberPriceParam
param
)
{
LocalDateTime
now
=
LocalDateTime
.
now
();
AdamMemberPrice
updateInfo
=
new
AdamMemberPrice
();
saveOrUpdateInfo
=
adamMemberPriceMapper
.
selectList
(
queryWrapper
).
get
(
0
);
updateInfo
.
setState
(
param
.
getState
());
}
updateInfo
.
setName
(
param
.
getName
());
if
(
saveOrUpdateRst
)
{
updateInfo
.
setPrice
(
param
.
getPrice
());
AdamMemberPriceVo
vo
=
AdamMemberPriceVo
.
getNew
().
copy
(
saveOrUpdateInfo
);
updateInfo
.
setPriceFixed
(
param
.
getPriceFixed
());
redisUtil
.
set
(
AdamRedisConst
.
INFO_MEMBER_PRICE
.
concat
(
vo
.
getMemberPriceId
()),
vo
);
updateInfo
.
setDays
(
param
.
getDays
());
updateInfo
.
setDetail
(
param
.
getDetail
());
updateInfo
.
setUpdatedAt
(
now
);
String
memberId
=
param
.
getMemberId
(),
memberPriceId
=
param
.
getMemberPriceId
();
LambdaQueryWrapper
<
AdamMemberPrice
>
queryWrapper
=
Wrappers
.
lambdaQuery
(
AdamMemberPrice
.
class
)
.
eq
(
AdamMemberPrice:
:
getMemberPriceId
,
memberPriceId
)
.
eq
(
AdamMemberPrice:
:
getMemberId
,
memberId
);
if
(
adamMemberPriceMapper
.
update
(
updateInfo
,
queryWrapper
)
>
0
)
{
Update
updateDoc
=
Update
.
update
(
"state"
,
updateInfo
.
getState
())
.
set
(
"name"
,
updateInfo
.
getName
())
.
set
(
"price"
,
updateInfo
.
getPrice
())
.
set
(
"priceFixed"
,
updateInfo
.
getPriceFixed
())
.
set
(
"days"
,
updateInfo
.
getDays
())
.
set
(
"detail"
,
updateInfo
.
getDetail
())
.
set
(
"updatedAt"
,
now
);
UpdateResult
updateResult
=
mongoTemplate
.
updateMulti
(
Query
.
query
(
Criteria
.
where
(
"memberPriceId"
).
is
(
memberPriceId
)),
updateDoc
,
AdamMemberPriceVo
.
class
.
getSimpleName
()
);
// Document.parse(JsonUtils.toJson(updateInfo)).replace("updatedAt", now)
if
(
updateResult
.
getModifiedCount
()
>
0
)
{
redisUtil
.
del
(
AdamRedisConst
.
INFO_MEMBER_PRICE
.
concat
(
memberPriceId
));
return
true
;
return
true
;
}
}
return
false
;
throw
new
LiquidnetServiceException
(
"-1"
,
"会员价格编辑失败"
)
;
}
}
return
false
;
return
false
;
}
}
...
...
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/adam/service/impl/AdamMemberRightsAdminServiceImpl.java
View file @
fe9ca421
package
com
.
liquidnet
.
client
.
admin
.
zhengzai
.
adam
.
service
.
impl
;
package
com
.
liquidnet
.
client
.
admin
.
zhengzai
.
adam
.
service
.
impl
;
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.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.liquidnet.client.admin.zhengzai.adam.service.IAdamMemberRightsAdminService
;
import
com.liquidnet.client.admin.zhengzai.adam.service.IAdamMemberRightsAdminService
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.service.adam.dto.param.admin.AdamMemberRightsBuildParam
;
import
com.liquidnet.service.adam.entity.AdamMemberRights
;
import
com.liquidnet.service.adam.entity.AdamMemberRights
;
import
com.liquidnet.service.adam.mapper.AdamMemberRightsMapper
;
import
com.liquidnet.service.adam.mapper.AdamMemberRightsMapper
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
@Service
@Service
public
class
AdamMemberRightsAdminServiceImpl
extends
ServiceImpl
<
AdamMemberRightsMapper
,
AdamMemberRights
>
implements
IAdamMemberRightsAdminService
{
public
class
AdamMemberRightsAdminServiceImpl
extends
ServiceImpl
<
AdamMemberRightsMapper
,
AdamMemberRights
>
implements
IAdamMemberRightsAdminService
{
@Autowired
private
AdamMemberRightsMapper
adamMemberRightsMapper
;
@Override
public
boolean
edit
(
AdamMemberRightsBuildParam
param
)
{
String
mrightsId
=
param
.
getMrightsId
();
boolean
saveOrUpadateRst
;
AdamMemberRights
saveOrUpdateInfo
=
new
AdamMemberRights
();
if
(
StringUtils
.
isEmpty
(
mrightsId
))
{
saveOrUpdateInfo
.
setMrightsId
(
IDGenerator
.
nextBilliId
());
saveOrUpdateInfo
.
setMemberId
(
param
.
getMemberId
());
saveOrUpdateInfo
.
setState
(
1
);
saveOrUpdateInfo
.
setSeqNo
(
param
.
getSeqNo
());
saveOrUpdateInfo
.
setTitle
(
param
.
getTitle
());
saveOrUpdateInfo
.
setSubTitle
(
param
.
getSubTitle
());
saveOrUpdateInfo
.
setLabel
(
param
.
getLabel
());
saveOrUpdateInfo
.
setCover
(
param
.
getCover
());
saveOrUpdateInfo
.
setDetail
(
param
.
getDetail
());
saveOrUpadateRst
=
adamMemberRightsMapper
.
insert
(
saveOrUpdateInfo
)
>
0
;
}
else
{
LambdaUpdateWrapper
<
AdamMemberRights
>
updateWrapper
=
Wrappers
.
lambdaUpdate
(
AdamMemberRights
.
class
).
eq
(
AdamMemberRights:
:
getState
,
1
)
.
eq
(
AdamMemberRights:
:
getMemberId
,
param
.
getMemberId
())
.
eq
(
AdamMemberRights:
:
getMrightsId
,
param
.
getMrightsId
());
saveOrUpdateInfo
.
setSeqNo
(
param
.
getSeqNo
());
saveOrUpdateInfo
.
setTitle
(
param
.
getTitle
());
saveOrUpdateInfo
.
setSubTitle
(
param
.
getSubTitle
());
saveOrUpdateInfo
.
setLabel
(
param
.
getLabel
());
saveOrUpdateInfo
.
setCover
(
param
.
getCover
());
saveOrUpdateInfo
.
setDetail
(
param
.
getDetail
());
saveOrUpadateRst
=
adamMemberRightsMapper
.
update
(
saveOrUpdateInfo
,
updateWrapper
)
>
0
;
}
return
saveOrUpadateRst
;
}
}
}
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/candy/dto/CandyCouponCodeExcelDto.java
View file @
fe9ca421
...
@@ -11,7 +11,7 @@ public class CandyCouponCodeExcelDto implements Serializable, Cloneable {
...
@@ -11,7 +11,7 @@ public class CandyCouponCodeExcelDto implements Serializable, Cloneable {
private
static
final
long
serialVersionUID
=
2420844668059161869L
;
private
static
final
long
serialVersionUID
=
2420844668059161869L
;
@Excel
(
name
=
"券码"
)
@Excel
(
name
=
"券码"
)
private
String
ccode
;
private
String
ccode
;
@Excel
(
name
=
"
券码
"
)
@Excel
(
name
=
"
用户手机号
"
)
private
String
redeemMobile
;
private
String
redeemMobile
;
@Excel
(
name
=
"状态"
)
@Excel
(
name
=
"状态"
)
private
String
state
;
private
String
state
;
...
...
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/candy/service/ICandyMgtCouponAdminService.java
View file @
fe9ca421
...
@@ -12,7 +12,9 @@ import java.util.List;
...
@@ -12,7 +12,9 @@ import java.util.List;
public
interface
ICandyMgtCouponAdminService
extends
IService
<
CandyMgtCoupon
>
{
public
interface
ICandyMgtCouponAdminService
extends
IService
<
CandyMgtCoupon
>
{
void
saveMgtCouponInfo
(
CandyCoupon
initCoupon
,
CandyMgtCoupon
initMgtCoupon
,
List
<
CandyCouponRule
>
initCouponRuleList
);
boolean
saveMgtCouponInfo
(
CandyCoupon
initCoupon
,
CandyMgtCoupon
initMgtCoupon
,
List
<
CandyCouponRule
>
initCouponRuleList
);
boolean
updateMgtCouponInfo
(
CandyCoupon
updateCoupon
,
CandyMgtCoupon
updateMgtCoupon
,
List
<
CandyCouponRule
>
initCouponRuleList
);
List
<
CandyMgtCouponInfoDto
>
listForMgtCouponInfoDto
(
CandyMgtCouponListParam
listParam
);
List
<
CandyMgtCouponInfoDto
>
listForMgtCouponInfoDto
(
CandyMgtCouponListParam
listParam
);
...
...
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 @
fe9ca421
package
com
.
liquidnet
.
client
.
admin
.
zhengzai
.
candy
.
service
.
impl
;
package
com
.
liquidnet
.
client
.
admin
.
zhengzai
.
candy
.
service
.
impl
;
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.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.liquidnet.client.admin.zhengzai.candy.service.ICandyCouponRuleAdminService
;
import
com.liquidnet.client.admin.zhengzai.candy.service.ICandyCouponRuleAdminService
;
import
com.liquidnet.client.admin.zhengzai.candy.service.ICandyMgtCouponAdminService
;
import
com.liquidnet.client.admin.zhengzai.candy.service.ICandyMgtCouponAdminService
;
...
@@ -31,15 +33,43 @@ public class CandyMgtCouponAdminServiceImpl extends ServiceImpl<CandyMgtCouponMa
...
@@ -31,15 +33,43 @@ public class CandyMgtCouponAdminServiceImpl extends ServiceImpl<CandyMgtCouponMa
@Override
@Override
@Transactional
@Transactional
public
void
saveMgtCouponInfo
(
CandyCoupon
initCoupon
,
CandyMgtCoupon
initMgtCoupon
,
List
<
CandyCouponRule
>
initCouponRuleList
)
{
public
boolean
saveMgtCouponInfo
(
CandyCoupon
initCoupon
,
CandyMgtCoupon
initMgtCoupon
,
List
<
CandyCouponRule
>
initCouponRuleList
)
{
int
insert
=
candyCouponMapper
.
insert
(
initCoupon
);
int
insert
Ct
=
candyCouponMapper
.
insert
(
initCoupon
);
insert
+=
candyMgtCouponMapper
.
insert
(
initMgtCoupon
);
insert
Ct
+=
candyMgtCouponMapper
.
insert
(
initMgtCoupon
);
boolean
saveBatch
=
candyCouponRuleAdminService
.
saveBatch
(
initCouponRuleList
);
boolean
saveBatch
=
candyCouponRuleAdminService
.
saveBatch
(
initCouponRuleList
);
if
(
insert
<
2
||
!
saveBatch
)
{
if
(
insert
Ct
<
2
||
!
saveBatch
)
{
throw
new
LiquidnetServiceException
();
throw
new
LiquidnetServiceException
();
}
}
return
true
;
}
@Override
@Transactional
public
boolean
updateMgtCouponInfo
(
CandyCoupon
updateCoupon
,
CandyMgtCoupon
updateMgtCoupon
,
List
<
CandyCouponRule
>
initCouponRuleList
)
{
LambdaUpdateWrapper
<
CandyCoupon
>
couponLambdaUpdateWrapper
=
Wrappers
.
lambdaUpdate
(
CandyCoupon
.
class
)
.
eq
(
CandyCoupon:
:
getCouponId
,
updateCoupon
.
getCouponId
())
.
eq
(
CandyCoupon:
:
getState
,
1
)
.
eq
(
CandyCoupon:
:
getExclusive
,
10
);
int
updateCt
=
candyCouponMapper
.
update
(
updateCoupon
,
couponLambdaUpdateWrapper
);
LambdaUpdateWrapper
<
CandyMgtCoupon
>
mgtCouponLambdaUpdateWrapper
=
Wrappers
.
lambdaUpdate
(
CandyMgtCoupon
.
class
)
.
eq
(
CandyMgtCoupon:
:
getMcouponId
,
updateMgtCoupon
.
getMcouponId
())
.
eq
(
CandyMgtCoupon:
:
getState
,
1
);
updateCt
+=
candyMgtCouponMapper
.
update
(
updateMgtCoupon
,
mgtCouponLambdaUpdateWrapper
);
LambdaUpdateWrapper
<
CandyCouponRule
>
couponRuleLambdaUpdateWrapper
=
Wrappers
.
lambdaUpdate
(
CandyCouponRule
.
class
)
.
eq
(
CandyCouponRule:
:
getCouponId
,
updateCoupon
.
getCouponId
())
.
eq
(
CandyCouponRule:
:
getState
,
1
)
.
set
(
CandyCouponRule:
:
getState
,
2
);
candyCouponRuleAdminService
.
update
(
couponRuleLambdaUpdateWrapper
);
if
(
updateCt
<
2
||
!
candyCouponRuleAdminService
.
saveBatch
(
initCouponRuleList
))
{
throw
new
LiquidnetServiceException
();
}
return
true
;
}
}
@Override
@Override
...
...
liquidnet-bus-common/liquidnet-common-base/src/main/java/com/liquidnet/commons/lang/util/IDGenerator.java
View file @
fe9ca421
...
@@ -9,6 +9,7 @@ public class IDGenerator {
...
@@ -9,6 +9,7 @@ public class IDGenerator {
private
static
final
String
CROSS_BAR
=
"-"
;
private
static
final
String
CROSS_BAR
=
"-"
;
private
static
final
String
EMPTY_STR
=
""
;
private
static
final
String
EMPTY_STR
=
""
;
private
static
final
DateTimeFormatter
MILLISECOND
=
DateTimeFormatter
.
ofPattern
(
"yyyyMMddHHmmssSSS"
);
private
static
final
DateTimeFormatter
MILLISECOND
=
DateTimeFormatter
.
ofPattern
(
"yyyyMMddHHmmssSSS"
);
private
static
final
DateTimeFormatter
BILLISECOND
=
DateTimeFormatter
.
ofPattern
(
"yyDN"
);
public
static
String
nextSnowId
()
{
public
static
String
nextSnowId
()
{
return
GenSnowFlowerUtil
.
next
();
return
GenSnowFlowerUtil
.
next
();
...
@@ -22,6 +23,10 @@ public class IDGenerator {
...
@@ -22,6 +23,10 @@ public class IDGenerator {
return
LocalDateTime
.
now
().
format
(
MILLISECOND
);
return
LocalDateTime
.
now
().
format
(
MILLISECOND
);
}
}
public
static
String
nextBilliId
()
{
return
LocalDateTime
.
now
().
format
(
BILLISECOND
);
}
public
static
String
get32UUID
()
{
public
static
String
get32UUID
()
{
ThreadLocalRandom
random
=
ThreadLocalRandom
.
current
();
ThreadLocalRandom
random
=
ThreadLocalRandom
.
current
();
return
(
new
UUID
(
random
.
nextLong
(),
random
.
nextLong
())).
toString
().
replace
(
CROSS_BAR
,
EMPTY_STR
);
return
(
new
UUID
(
random
.
nextLong
(),
random
.
nextLong
())).
toString
().
replace
(
CROSS_BAR
,
EMPTY_STR
);
...
@@ -69,6 +74,7 @@ public class IDGenerator {
...
@@ -69,6 +74,7 @@ public class IDGenerator {
System
.
out
.
println
(
""
+
IDGenerator
.
refundCode
());
System
.
out
.
println
(
""
+
IDGenerator
.
refundCode
());
System
.
out
.
println
(
"nextTimeId==="
+
IDGenerator
.
nextTimeId
());
System
.
out
.
println
(
"nextTimeId==="
+
IDGenerator
.
nextTimeId
());
System
.
out
.
println
(
"nextMilliId==="
+
IDGenerator
.
nextMilliId
());
System
.
out
.
println
(
"nextMilliId==="
+
IDGenerator
.
nextMilliId
());
System
.
out
.
println
(
"nextBilliId==="
+
IDGenerator
.
nextBilliId
());
System
.
out
.
println
(
"nextSnowId==="
+
IDGenerator
.
nextSnowId
());
System
.
out
.
println
(
"nextSnowId==="
+
IDGenerator
.
nextSnowId
());
System
.
out
.
println
(
"get32UUID==="
+
IDGenerator
.
get32UUID
());
System
.
out
.
println
(
"get32UUID==="
+
IDGenerator
.
get32UUID
());
}
}
...
...
liquidnet-bus-do/liquidnet-service-adam-do/src/main/java/com/liquidnet/service/adam/entity/AdamMemberCode.java
View file @
fe9ca421
...
@@ -37,9 +37,25 @@ public class AdamMemberCode {
...
@@ -37,9 +37,25 @@ public class AdamMemberCode {
*/
*/
private
String
memberNo
;
private
String
memberNo
;
/**
/**
* 状态
0-未使用 1-已使用 2-已过期
* 状态
[0-可用|1-已用|2-无效|3-过期|4-失效|5-退回]
*/
*/
private
Integer
state
;
private
Integer
state
;
/**
* 有效期(单位天)
*/
private
Integer
validity
;
/**
* 生效时间
*/
private
LocalDateTime
effectAt
;
/**
* 过期时间
*/
private
LocalDateTime
expireAt
;
private
LocalDateTime
createdAt
;
private
LocalDateTime
updatedAt
;
/**
/**
* 购买会员码订单号
* 购买会员码订单号
*/
*/
...
@@ -65,9 +81,5 @@ public class AdamMemberCode {
...
@@ -65,9 +81,5 @@ public class AdamMemberCode {
*/
*/
private
LocalDateTime
useAt
;
private
LocalDateTime
useAt
;
private
LocalDateTime
createdAt
;
private
LocalDateTime
updatedAt
;
private
String
comment
;
private
String
comment
;
}
}
liquidnet-bus-do/liquidnet-service-adam-do/src/main/java/com/liquidnet/service/adam/mapper/AdamMemberCodeMapper.java
View file @
fe9ca421
...
@@ -5,5 +5,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
...
@@ -5,5 +5,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import
com.liquidnet.service.adam.entity.AdamMemberCode
;
import
com.liquidnet.service.adam.entity.AdamMemberCode
;
public
interface
AdamMemberCodeMapper
extends
BaseMapper
<
AdamMemberCode
>
{
public
interface
AdamMemberCodeMapper
extends
BaseMapper
<
AdamMemberCode
>
{
String
getMaxMemberNo
(
String
memberId
);
}
}
\ No newline at end of file
liquidnet-bus-do/liquidnet-service-candy-do/src/main/java/com/liquidnet/service/candy/entity/CandyCouponCode.java
View file @
fe9ca421
...
@@ -35,7 +35,7 @@ public class CandyCouponCode implements Serializable {
...
@@ -35,7 +35,7 @@ public class CandyCouponCode implements Serializable {
private
String
couponId
;
private
String
couponId
;
/**
/**
* 状态[0-
未使用|1-已使用|2-失效|3
-退回]
* 状态[0-
可用|1-已用|2-无效|3-过期|4-失效|5
-退回]
*/
*/
private
Integer
state
;
private
Integer
state
;
...
...
liquidnet-bus-do/liquidnet-service-candy-do/src/main/java/com/liquidnet/service/candy/entity/CandyMgtCoupon.java
View file @
fe9ca421
...
@@ -32,7 +32,7 @@ public class CandyMgtCoupon implements Serializable {
...
@@ -32,7 +32,7 @@ public class CandyMgtCoupon implements Serializable {
private
String
couponId
;
private
String
couponId
;
/**
/**
* 发放状态[0-未发放|1-已发放|2-无效|9-发放中|10-会员礼包
专用
模版]
* 发放状态[0-未发放|1-已发放|2-无效|9-发放中|10-会员礼包
初始
模版]
*/
*/
private
Integer
state
;
private
Integer
state
;
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/docu/db_ln_adam_initialdata.sql
View file @
fe9ca421
...
@@ -311,7 +311,7 @@ create table adam_member_code
...
@@ -311,7 +311,7 @@ create table adam_member_code
member_id
varchar
(
64
)
comment
'会员ID'
,
member_id
varchar
(
64
)
comment
'会员ID'
,
member_price_id
varchar
(
64
)
comment
'会员价格ID'
,
member_price_id
varchar
(
64
)
comment
'会员价格ID'
,
member_no
varchar
(
20
)
comment
'预留会员号'
,
member_no
varchar
(
20
)
comment
'预留会员号'
,
state
tinyint
comment
'
0-未用,1-已用,2-不可用
'
,
state
tinyint
comment
'
状态[0-可用|1-已用|2-无效|3-过期|4-失效|5-退回]
'
,
created_at
datetime
(
3
),
created_at
datetime
(
3
),
updated_at
datetime
(
3
),
updated_at
datetime
(
3
),
buy_order_no
varchar
(
255
)
default
null
comment
'购买会员码订单号'
,
buy_order_no
varchar
(
255
)
default
null
comment
'购买会员码订单号'
,
...
@@ -323,7 +323,7 @@ create table adam_member_code
...
@@ -323,7 +323,7 @@ create table adam_member_code
comment
text
comment
text
)
engine
=
InnoDB
comment
'会员兑换码'
;
)
engine
=
InnoDB
comment
'会员兑换码'
;
create
unique
index
uidx_amember_code_id
on
adam_member_code
(
code
);
#
create
unique
index
uidx_amember_code_id
on
adam_member_code
(
code
);
#
MDB
.
idx
:
code
,
state
#
MDB
.
idx
:
code
,
state
-- >>------------------------------------------------------------------------------------ |20210811用于会员改版前支持用户购买会员选礼包收货地址
-- >>------------------------------------------------------------------------------------ |20210811用于会员改版前支持用户购买会员选礼包收货地址
drop
table
if
exists
adam_member_order_ext
;
drop
table
if
exists
adam_member_order_ext
;
...
@@ -353,6 +353,13 @@ alter table adam_member add integral_rate int default 0 null comment '积分倍
...
@@ -353,6 +353,13 @@ alter table adam_member add integral_rate int default 0 null comment '积分倍
alter
table
adam_member_price
modify
price_fixed
decimal
(
8
,
2
)
null
comment
'购买价格'
;
alter
table
adam_member_price
modify
price_fixed
decimal
(
8
,
2
)
null
comment
'购买价格'
;
alter
table
adam_member_price
add
price_special
decimal
(
8
,
2
)
null
comment
'特价:首次、首年优惠价'
after
price_fixed
;
alter
table
adam_member_price
add
price_special
decimal
(
8
,
2
)
null
comment
'特价:首次、首年优惠价'
after
price_fixed
;
#
会员码表调整
alter
table
adam_member_code
modify
state
tinyint
null
comment
'状态[0-可用|1-已用|2-无效|3-过期|4-失效|5-退回]'
;
create
index
idx_amember_code_id
on
adam_member_code
(
code
);
alter
table
adam_member_code
add
validity
tinyint
null
comment
'有效期(单位天)'
after
state
;
alter
table
adam_member_code
add
effect_at
datetime
(
3
)
null
comment
'生效时间'
after
validity
;
alter
table
adam_member_code
add
expire_at
datetime
(
3
)
null
comment
'过期时间'
after
effect_at
;
#
订单
#
订单
alter
table
adam_member_order
modify
state
tinyint
null
comment
'订单状态:0-未支付,1-已支付,2-已关闭,3-超时付,4-退款中,5-已退款'
;
alter
table
adam_member_order
modify
state
tinyint
null
comment
'订单状态:0-未支付,1-已支付,2-已关闭,3-超时付,4-退款中,5-已退款'
;
alter
table
adam_member_order
modify
pay_no
varchar
(
64
)
null
comment
'支付中心支付CODE'
;
alter
table
adam_member_order
modify
pay_no
varchar
(
64
)
null
comment
'支付中心支付CODE'
;
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/AdamRdmService.java
View file @
fe9ca421
...
@@ -559,8 +559,8 @@ public class AdamRdmService {
...
@@ -559,8 +559,8 @@ public class AdamRdmService {
return
redisUtil
.
set
(
AdamRedisConst
.
INCR_MEMBER_NO
,
val
);
return
redisUtil
.
set
(
AdamRedisConst
.
INCR_MEMBER_NO
,
val
);
}
}
public
int
incrMemberNo
()
{
public
long
incrMemberNo
()
{
return
(
int
)
redisUtil
.
incr
(
AdamRedisConst
.
INCR_MEMBER_NO
,
1
);
return
redisUtil
.
incr
(
AdamRedisConst
.
INCR_MEMBER_NO
,
1
);
}
}
public
int
getMaxMemberNo
()
{
public
int
getMaxMemberNo
()
{
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamUserMemberServiceImpl.java
View file @
fe9ca421
...
@@ -43,7 +43,7 @@ public class AdamUserMemberServiceImpl implements IAdamUserMemberService {
...
@@ -43,7 +43,7 @@ public class AdamUserMemberServiceImpl implements IAdamUserMemberService {
// }
// }
}
}
String
nextMemberNoStr
=
String
.
valueOf
(
adamRdmService
.
incrMemberNo
());
String
nextMemberNoStr
=
String
.
valueOf
(
adamRdmService
.
incrMemberNo
());
if
(
Pattern
.
matches
(
"([\\d])\\1{"
+
(
nextMemberNoStr
.
length
()
-
1
)
+
"}"
,
nextMemberNoStr
))
{
while
(
Pattern
.
matches
(
"([\\d])\\1{"
+
(
nextMemberNoStr
.
length
()
-
1
)
+
"}"
,
nextMemberNoStr
))
{
// 不能是完全相同的数字
// 不能是完全相同的数字
nextMemberNoStr
=
String
.
valueOf
(
adamRdmService
.
incrMemberNo
());
nextMemberNoStr
=
String
.
valueOf
(
adamRdmService
.
incrMemberNo
());
}
}
...
...
liquidnet-bus-service/liquidnet-service-candy/liquidnet-service-candy-impl/docu/db_ln_candy_initialdata.sql
View file @
fe9ca421
...
@@ -8,7 +8,7 @@ create table candy_mgt_coupon
...
@@ -8,7 +8,7 @@ create table candy_mgt_coupon
mid
bigint
unsigned
auto_increment
primary
key
,
mid
bigint
unsigned
auto_increment
primary
key
,
mcoupon_id
varchar
(
64
)
not
null
,
mcoupon_id
varchar
(
64
)
not
null
,
coupon_id
varchar
(
64
)
not
null
comment
'~candy_coupon.coupon_id'
,
coupon_id
varchar
(
64
)
not
null
comment
'~candy_coupon.coupon_id'
,
state
tinyint
comment
'发放状态[0-未发放|1-已发放|2-无效|9-发放中|10-会员礼包
专用
模版]'
,
state
tinyint
comment
'发放状态[0-未发放|1-已发放|2-无效|9-发放中|10-会员礼包
初始
模版]'
,
#
bind_type
smallint
comment
'领取方式[0-用户输入兑换|1-发放至用户]'
,
#
bind_type
smallint
comment
'领取方式[0-用户输入兑换|1-发放至用户]'
,
event_amt
int
comment
'发放量'
,
event_amt
int
comment
'发放量'
,
...
@@ -22,7 +22,7 @@ create table candy_mgt_coupon
...
@@ -22,7 +22,7 @@ create table candy_mgt_coupon
comment
text
comment
text
)
engine
InnoDB
comment
'券发放管理'
;
)
engine
InnoDB
comment
'券发放管理'
;
create
unique
index
u
idx_candy_mgt_coupon_id
on
candy_mgt_coupon
(
mcoupon_id
);
create
index
idx_candy_mgt_coupon_id
on
candy_mgt_coupon
(
mcoupon_id
);
#
券基础信息
#
券基础信息
...
@@ -88,7 +88,7 @@ create table candy_coupon_code
...
@@ -88,7 +88,7 @@ create table candy_coupon_code
mid
bigint
unsigned
auto_increment
primary
key
,
mid
bigint
unsigned
auto_increment
primary
key
,
ccode
varchar
(
64
)
not
null
comment
'券码'
,
ccode
varchar
(
64
)
not
null
comment
'券码'
,
coupon_id
varchar
(
64
)
not
null
comment
'~candy_coupon.coupon_id'
,
coupon_id
varchar
(
64
)
not
null
comment
'~candy_coupon.coupon_id'
,
state
tinyint
comment
'状态[0-
未使用|1-已使用|2-失效|3
-退回]'
,
state
tinyint
comment
'状态[0-
可用|1-已用|2-无效|3-过期|4-失效|5
-退回]'
,
redeem_uid
varchar
(
64
)
comment
'兑换用户UID'
,
redeem_uid
varchar
(
64
)
comment
'兑换用户UID'
,
redeem_mobile
varchar
(
64
)
comment
'兑换用户手机号'
,
redeem_mobile
varchar
(
64
)
comment
'兑换用户手机号'
,
...
...
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/controller/candy/task/CandyMgtCouponTaskController.java
View file @
fe9ca421
...
@@ -40,6 +40,7 @@ public class CandyMgtCouponTaskController {
...
@@ -40,6 +40,7 @@ public class CandyMgtCouponTaskController {
public
void
issueCoupons
()
{
public
void
issueCoupons
()
{
LambdaQueryWrapper
<
CandyMgtCoupon
>
queryWrapper
=
Wrappers
.
lambdaQuery
(
CandyMgtCoupon
.
class
)
LambdaQueryWrapper
<
CandyMgtCoupon
>
queryWrapper
=
Wrappers
.
lambdaQuery
(
CandyMgtCoupon
.
class
)
.
eq
(
CandyMgtCoupon:
:
getState
,
0
)
.
eq
(
CandyMgtCoupon:
:
getState
,
0
)
// TODO: 2021/8/26 时间判断
.
orderByAsc
(
CandyMgtCoupon:
:
getEventAt
);
.
orderByAsc
(
CandyMgtCoupon:
:
getEventAt
);
List
<
CandyMgtCoupon
>
list
=
platformCandyMgtCouponService
.
list
(
queryWrapper
);
List
<
CandyMgtCoupon
>
list
=
platformCandyMgtCouponService
.
list
(
queryWrapper
);
int
taskSize
=
CollectionUtils
.
isEmpty
(
list
)
?
-
1
:
list
.
size
();
int
taskSize
=
CollectionUtils
.
isEmpty
(
list
)
?
-
1
:
list
.
size
();
...
...
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/service/impl/candy/PlatformCandyCouponService.java
View file @
fe9ca421
...
@@ -28,7 +28,6 @@ import org.springframework.stereotype.Service;
...
@@ -28,7 +28,6 @@ import org.springframework.stereotype.Service;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.CollectionUtils
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.time.LocalTime
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
...
@@ -59,10 +58,10 @@ public class PlatformCandyCouponService extends ServiceImpl<CandyCouponMapper, C
...
@@ -59,10 +58,10 @@ public class PlatformCandyCouponService extends ServiceImpl<CandyCouponMapper, C
redisUtil
.
set
(
couponInfoDtoKey
,
couponInfoDto
);
redisUtil
.
set
(
couponInfoDtoKey
,
couponInfoDto
);
LocalDateTime
now
=
LocalDateTime
.
now
();
LocalDateTime
now
=
LocalDateTime
.
now
();
Integer
eventAmt
=
mgtCoupon
.
getEventAmt
();
switch
(
coupon
.
getBindType
())
{
// 领取方式[0-用户输入兑换|1-发放至用户]
switch
(
coupon
.
getBindType
())
{
// 领取方式[0-用户输入兑换|1-发放至用户]
case
0
:
case
0
:
List
<
CandyCouponCode
>
initCouponCodeList
=
new
ArrayList
<>();
List
<
CandyCouponCode
>
initCouponCodeList
=
new
ArrayList
<>();
Integer
eventAmt
=
mgtCoupon
.
getEventAmt
();
boolean
batchFlag
=
eventAmt
>
1000
;
boolean
batchFlag
=
eventAmt
>
1000
;
for
(
int
i
=
0
;
i
<
eventAmt
;
i
++)
{
for
(
int
i
=
0
;
i
<
eventAmt
;
i
++)
{
CandyCouponCode
couponCode
=
new
CandyCouponCode
();
CandyCouponCode
couponCode
=
new
CandyCouponCode
();
...
@@ -154,20 +153,23 @@ public class PlatformCandyCouponService extends ServiceImpl<CandyCouponMapper, C
...
@@ -154,20 +153,23 @@ public class PlatformCandyCouponService extends ServiceImpl<CandyCouponMapper, C
case
2
:
case
2
:
String
eventLimit
=
mgtCoupon
.
getEventLimit
();
String
eventLimit
=
mgtCoupon
.
getEventLimit
();
String
[]
eventLimitArr
=
eventLimit
.
split
(
","
);
String
[]
eventLimitArr
=
eventLimit
.
split
(
","
);
log
.
info
(
"发放券任务:eventLimitArrLength:{}"
,
eventLimitArr
.
length
);
for
(
String
r
:
eventLimitArr
)
{
String
uid
=
dmRdmService
.
getUidByMobile
(
r
);
if
(
StringUtils
.
isNotEmpty
(
uid
))
{
log
.
info
(
"发放券任务:eventLimitArrLength:{}"
,
eventLimitArr
.
length
);
CandyUserCoupon
userCoupon
=
new
CandyUserCoupon
();
for
(
int
i
=
0
;
i
<
eventAmt
;
i
++)
{
userCoupon
.
setUcouponId
(
IDGenerator
.
get32UUID
());
for
(
String
r
:
eventLimitArr
)
{
userCoupon
.
setMcouponId
(
mgtCoupon
.
getMcouponId
());
String
uid
=
dmRdmService
.
getUidByMobile
(
r
);
userCoupon
.
setUid
(
uid
);
userCoupon
.
setCouponId
(
coupon
.
getCouponId
());
if
(
StringUtils
.
isNotEmpty
(
uid
))
{
userCoupon
.
setState
(
1
);
CandyUserCoupon
userCoupon
=
new
CandyUserCoupon
();
userCoupon
.
setBindAt
(
now
);
userCoupon
.
setUcouponId
(
IDGenerator
.
get32UUID
());
userCoupon
.
setMcouponId
(
mgtCoupon
.
getMcouponId
());
initUserCouponList
.
add
(
userCoupon
);
userCoupon
.
setUid
(
uid
);
userCoupon
.
setCouponId
(
coupon
.
getCouponId
());
userCoupon
.
setState
(
1
);
userCoupon
.
setBindAt
(
now
);
initUserCouponList
.
add
(
userCoupon
);
}
}
}
}
}
...
...
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