记得上下班打卡 | 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
a4cb22cd
Commit
a4cb22cd
authored
Oct 26, 2021
by
jiangxiulong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
draw
parent
2dd84168
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
110 additions
and
16 deletions
+110
-16
SweetConstant.java
...a/com/liquidnet/service/sweet/constant/SweetConstant.java
+1
-1
SweetIntegralActivityPrizeFormParam.java
.../dto/param/admin/SweetIntegralActivityPrizeFormParam.java
+4
-0
SweetIntegralActivityPrizeVo.java
...vice/sweet/dto/vo/admin/SweetIntegralActivityPrizeVo.java
+4
-0
SweetIntegralActivityDraw.java
...idnet/service/sweet/entity/SweetIntegralActivityDraw.java
+30
-0
SweetIntegralActivityPrize.java
...dnet/service/sweet/entity/SweetIntegralActivityPrize.java
+5
-0
db_sweet_integral_activity_20211020.sql
...ervice-sweet/docu/db_sweet_integral_activity_20211020.sql
+20
-13
SweetConstant.java
...a/com/liquidnet/service/sweet/constant/SweetConstant.java
+6
-1
SweetIntegralActivityDrawServiceImpl.java
...et/service/impl/SweetIntegralActivityDrawServiceImpl.java
+22
-1
RedisDataUtils.java
...ava/com/liquidnet/service/sweet/utils/RedisDataUtils.java
+18
-0
No files found.
liquidnet-bus-api/liquidnet-service-sweet-api/src/main/java/com/liquidnet/service/sweet/constant/SweetConstant.java
View file @
a4cb22cd
...
...
@@ -82,5 +82,5 @@ public class SweetConstant {
public
final
static
String
REDIS_KEY_SWEET_MDSK_ARTISTS_DETAILS
=
"sweet:mdsk:artists:details:"
;
public
final
static
String
REDIS_KEY_SWEET_MDSK_SHOP
=
"sweet:mdsk:artists:shop:manual:"
;
public
static
final
String
REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_LIST
=
"sweet:integralActivity:list"
;
public
static
final
String
REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_INFO
=
"sweet:integralActivity:
integralA
ctivityId:"
;
public
static
final
String
REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_INFO
=
"sweet:integralActivity:
a
ctivityId:"
;
}
liquidnet-bus-api/liquidnet-service-sweet-api/src/main/java/com/liquidnet/service/sweet/dto/param/admin/SweetIntegralActivityPrizeFormParam.java
View file @
a4cb22cd
...
...
@@ -43,6 +43,9 @@ public class SweetIntegralActivityPrizeFormParam implements Serializable,Cloneab
@NotNull
(
message
=
"prizeType不能为空"
)
private
Integer
prizeType
;
@ApiModelProperty
(
required
=
false
,
value
=
"单次奖励数量如积分 中奖给多少物"
,
example
=
"1"
)
private
Integer
prizeTypeNum
;
@ApiModelProperty
(
value
=
"关联id 如商品id 券id 选择奖品的时候必传"
,
example
=
"429803743878963206506461"
)
private
String
relationId
;
...
...
@@ -76,6 +79,7 @@ public class SweetIntegralActivityPrizeFormParam implements Serializable,Cloneab
sweetIntegralActivityPrize
.
setPrizeTitle
(
source
.
getPrizeTitle
());
sweetIntegralActivityPrize
.
setPrizeImg
(
source
.
getPrizeImg
());
sweetIntegralActivityPrize
.
setPrizeType
(
source
.
getPrizeType
());
sweetIntegralActivityPrize
.
setPrizeTypeNum
(
source
.
getPrizeTypeNum
());
sweetIntegralActivityPrize
.
setRelationId
(
source
.
getRelationId
());
sweetIntegralActivityPrize
.
setPrizeNum
(
source
.
getPrizeNum
());
sweetIntegralActivityPrize
.
setWinnersNum
(
source
.
getWinnersNum
());
...
...
liquidnet-bus-api/liquidnet-service-sweet-api/src/main/java/com/liquidnet/service/sweet/dto/vo/admin/SweetIntegralActivityPrizeVo.java
View file @
a4cb22cd
...
...
@@ -43,6 +43,9 @@ public class SweetIntegralActivityPrizeVo implements Serializable, Cloneable {
@ApiModelProperty
(
value
=
"奖品类型 1谢谢惠顾 2积分 3优惠券 4实物"
)
private
Integer
prizeType
;
@ApiModelProperty
(
value
=
"单次奖励数量如积分 中奖给多少物"
)
private
Integer
prizeTypeNum
;
@ApiModelProperty
(
value
=
"关联id 如商品id 券id"
)
private
String
relationId
;
...
...
@@ -83,6 +86,7 @@ public class SweetIntegralActivityPrizeVo implements Serializable, Cloneable {
this
.
setPrizeTitle
(
source
.
getPrizeTitle
());
this
.
setPrizeImg
(
source
.
getPrizeImg
());
this
.
setPrizeType
(
source
.
getPrizeType
());
this
.
setPrizeTypeNum
(
source
.
getPrizeTypeNum
());
this
.
setRelationId
(
source
.
getRelationId
());
this
.
setPrizeNum
(
source
.
getPrizeNum
());
this
.
setWinnersNum
(
source
.
getWinnersNum
());
...
...
liquidnet-bus-do/liquidnet-service-sweet-do/src/main/java/com/liquidnet/service/sweet/entity/SweetIntegralActivityDraw.java
View file @
a4cb22cd
...
...
@@ -37,16 +37,46 @@ public class SweetIntegralActivityDraw implements Serializable, Cloneable {
*/
private
String
integralActivityId
;
/**
* 活动玩一次所需积分
*/
private
Integer
activityNum
;
/**
* 关联奖品id
*/
private
String
prizeId
;
/**
* 奖品名称
*/
private
String
prizeTitle
;
/**
* 奖品类型 1谢谢惠顾 2积分 3优惠券 4实物
*/
private
Integer
prizeType
;
/**
* 关联id 如商品id 券id
*/
private
String
relationId
;
/**
* 单次奖励数量如积分 中奖给多少
*/
private
Integer
prizeTypeNum
;
/**
* 关联用户id
*/
private
String
userId
;
/**
* 关联用户昵称
*/
private
String
nickname
;
/**
* 收货地址
*/
...
...
liquidnet-bus-do/liquidnet-service-sweet-do/src/main/java/com/liquidnet/service/sweet/entity/SweetIntegralActivityPrize.java
View file @
a4cb22cd
...
...
@@ -53,6 +53,11 @@ public class SweetIntegralActivityPrize implements Serializable, Cloneable {
*/
private
Integer
prizeType
;
/**
* 单次奖励数量如积分 中奖给多少物
*/
private
Integer
prizeTypeNum
;
/**
* 关联id 如商品id 券id
*/
...
...
liquidnet-bus-service/liquidnet-service-sweet/docu/db_sweet_integral_activity_20211020.sql
View file @
a4cb22cd
...
...
@@ -33,20 +33,21 @@ drop TABLE if exists `sweet_integral_activity_prize`;
CREATE
TABLE
`sweet_integral_activity_prize`
(
`mid`
bigint
unsigned
NOT
NULL
AUTO_INCREMENT
,
`prize_id`
varchar
(
255
)
NOT
NULL
DEFAULT
''
COMMENT
'奖品id'
,
`integral_activity_id`
varchar
(
255
)
NOT
NULL
DEFAULT
''
COMMENT
'关联活动id'
,
`prize_title`
varchar
(
255
)
NOT
NULL
DEFAULT
''
COMMENT
'奖品名称'
,
`prize_img`
varchar
(
255
)
NOT
NULL
DEFAULT
''
COMMENT
'奖品图片'
,
`prize_type`
tinyint
NOT
NULL
DEFAULT
0
COMMENT
'奖品类型 1谢谢惠顾 2积分 3优惠券 4实物'
,
`relation_id`
varchar
(
255
)
NOT
NULL
DEFAULT
''
COMMENT
'关联id 如商品id 券id'
,
`prize_num`
int
NOT
NULL
DEFAULT
0
COMMENT
'奖品数量'
,
`winners_num`
int
NOT
NULL
DEFAULT
0
COMMENT
'限制的中奖人数'
,
`winning_probability`
decimal
(
10
,
2
)
NOT
NULL
DEFAULT
0
COMMENT
'中奖概率'
,
`created_at`
datetime
NULL
DEFAULT
CURRENT_TIMESTAMP
COMMENT
'创建时间'
,
`updated_at`
datetime
NULL
DEFAULT
CURRENT_TIMESTAMP
COMMENT
'更新时间'
,
`prize_id`
varchar
(
255
)
NOT
NULL
DEFAULT
''
COMMENT
'奖品id'
,
`integral_activity_id`
varchar
(
255
)
NOT
NULL
DEFAULT
''
COMMENT
'关联活动id'
,
`prize_title`
varchar
(
255
)
NOT
NULL
DEFAULT
''
COMMENT
'奖品名称'
,
`prize_img`
varchar
(
255
)
NOT
NULL
DEFAULT
''
COMMENT
'奖品图片'
,
`prize_type`
tinyint
NOT
NULL
DEFAULT
0
COMMENT
'奖品类型 1谢谢惠顾 2积分 3优惠券 4实物'
,
`relation_id`
varchar
(
255
)
NOT
NULL
DEFAULT
''
COMMENT
'关联id 如商品id 券id'
,
`prize_type_num`
int
NOT
NULL
DEFAULT
0
COMMENT
'单次奖励数量如积分 中奖给多少'
,
`prize_num`
int
NOT
NULL
DEFAULT
0
COMMENT
'奖品数量'
,
`winners_num`
int
NOT
NULL
DEFAULT
0
COMMENT
'限制的中奖人数'
,
`winning_probability`
decimal
(
10
,
2
)
NOT
NULL
DEFAULT
0
COMMENT
'中奖概率'
,
`created_at`
datetime
NULL
DEFAULT
CURRENT_TIMESTAMP
COMMENT
'创建时间'
,
`updated_at`
datetime
NULL
DEFAULT
CURRENT_TIMESTAMP
COMMENT
'更新时间'
,
PRIMARY
KEY
(
`mid`
),
KEY
`sweet_prize_id`
(
`prize_id`
),
KEY
`sweet_prize_integral_activity_id`
(
`integral_activity_id`
)
KEY
`sweet_prize_id`
(
`prize_id`
),
KEY
`sweet_prize_integral_activity_id`
(
`integral_activity_id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
utf8mb4
COLLATE
utf8mb4_unicode_ci
...
...
@@ -59,8 +60,14 @@ CREATE TABLE `sweet_integral_activity_draw`
`mid`
bigint
unsigned
NOT
NULL
AUTO_INCREMENT
,
`draw_id`
varchar
(
255
)
NOT
NULL
DEFAULT
''
COMMENT
'抽奖id'
,
`integral_activity_id`
varchar
(
255
)
NOT
NULL
DEFAULT
''
COMMENT
'关联活动id'
,
`activity_num`
int
NOT
NULL
DEFAULT
0
COMMENT
'活动玩一次所需积分'
,
`prize_id`
varchar
(
255
)
NOT
NULL
DEFAULT
''
COMMENT
'关联奖品id'
,
`prize_title`
varchar
(
255
)
NOT
NULL
DEFAULT
''
COMMENT
'奖品名称'
,
`prize_type`
tinyint
NOT
NULL
DEFAULT
0
COMMENT
'奖品类型 1谢谢惠顾 2积分 3优惠券 4实物'
,
`prize_type_num`
int
NOT
NULL
DEFAULT
0
COMMENT
'单次奖励数量如积分 中奖给多少'
,
`relation_id`
varchar
(
255
)
NOT
NULL
DEFAULT
''
COMMENT
'关联id 如商品id 券id'
,
`user_id`
varchar
(
255
)
NOT
NULL
DEFAULT
''
COMMENT
'关联用户id'
,
`nickname`
varchar
(
255
)
NOT
NULL
DEFAULT
''
COMMENT
'关联用户昵称'
,
`receiving_addresses_id`
varchar
(
255
)
NOT
NULL
DEFAULT
''
COMMENT
'adam收货地址addresses_id'
,
`receiving_name`
varchar
(
255
)
NOT
NULL
DEFAULT
''
COMMENT
'adam收货人姓名'
,
`receiving_phone`
varchar
(
255
)
NOT
NULL
DEFAULT
''
COMMENT
'adam收货人手机号'
,
...
...
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/constant/SweetConstant.java
View file @
a4cb22cd
package
com
.
liquidnet
.
service
.
sweet
.
constant
;
import
com.google.common.collect.FluentIterable
;
/**
*
*/
...
...
@@ -91,5 +93,8 @@ public class SweetConstant {
public
final
static
String
REDIS_KEY_SWEET_MDSK_ARTISTS_DETAILS
=
"sweet:mdsk:artists:details:"
;
public
final
static
String
REDIS_KEY_SWEET_MDSK_SHOP
=
"sweet:mdsk:artists:shop:manual:"
;
public
static
final
String
REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_LIST
=
"sweet:integralActivity:list"
;
public
static
final
String
REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_INFO
=
"sweet:integralActivity:integralActivityId:"
;
public
static
final
String
REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_INFO
=
"sweet:integralActivity:activityId:"
;
public
static
final
String
REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_ALL_LIST
=
"sweet:integralActivity:Draw:activityId:"
;
public
static
final
String
REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_USER
=
"sweet:integralActivity:Draw:activityId:"
;
public
static
final
String
REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_IN_USER
=
"sweet:integralActivity:DrawIn:activityId:"
;
}
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/service/impl/SweetIntegralActivityDrawServiceImpl.java
View file @
a4cb22cd
package
com
.
liquidnet
.
service
.
sweet
.
service
.
impl
;
import
com.liquidnet.commons.lang.util.CurrentUtil
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.sweet.dto.vo.IntegralActivityVo
;
import
com.liquidnet.service.sweet.dto.vo.admin.SweetIntegralActivityPrizeVo
;
...
...
@@ -15,6 +16,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.util.*
;
/**
...
...
@@ -33,6 +35,7 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg
@Override
public
ResponseDto
<
SweetIntegralActivityPrizeVo
>
create
(
String
integralActivityId
)
{
// TODO: 2021/10/26 看情况是否加锁 一个用户整个逻辑单进程
Map
tokenClaims
=
CurrentUtil
.
getTokenClaims
();
String
userId
=
StringUtils
.
defaultString
((
String
.
valueOf
(
tokenClaims
.
get
(
"sub"
))),
""
);
String
nickname
=
StringUtils
.
defaultString
((
String
.
valueOf
(
tokenClaims
.
get
(
"nickname"
))),
""
);
...
...
@@ -41,8 +44,26 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg
SweetIntegralActivityPrize
sweetIntegralActivityPrize
=
this
.
lotteryDraw
(
integralActivity
.
getPrizeList
());
// 活动是否上架 是否在有效期内 奖品库存是否够
// 活动是否上架 是否在有效期内 奖品库存是否够
获取用户积分 判断积分是否够
SweetIntegralActivityPrizeVo
sweetIntegralActivityPrizeVo
=
SweetIntegralActivityPrizeVo
.
getNew
().
copy
(
sweetIntegralActivityPrize
);
// 记录
SweetIntegralActivityDraw
sweetIntegralActivityDraw
=
SweetIntegralActivityDraw
.
getNew
();
sweetIntegralActivityDraw
.
setDrawId
(
IDGenerator
.
nextSnowId
());
sweetIntegralActivityDraw
.
setIntegralActivityId
(
integralActivityId
);
sweetIntegralActivityDraw
.
setActivityNum
(
integralActivity
.
getActivityNum
());
sweetIntegralActivityDraw
.
setPrizeId
(
sweetIntegralActivityPrize
.
getPrizeId
());
sweetIntegralActivityDraw
.
setPrizeTitle
(
sweetIntegralActivityPrize
.
getPrizeTitle
());
sweetIntegralActivityDraw
.
setPrizeType
(
sweetIntegralActivityPrize
.
getPrizeType
());
sweetIntegralActivityDraw
.
setPrizeTypeNum
(
sweetIntegralActivityPrize
.
getPrizeTypeNum
());
sweetIntegralActivityDraw
.
setRelationId
(
sweetIntegralActivityPrize
.
getRelationId
());
sweetIntegralActivityDraw
.
setUserId
(
userId
);
sweetIntegralActivityDraw
.
setNickname
(
nickname
);
LocalDateTime
nowTime
=
LocalDateTime
.
now
();
sweetIntegralActivityDraw
.
setCreatedAt
(
nowTime
);
// redis
redisDataUtils
.
setIntegralActivityDraw
(
sweetIntegralActivityDraw
);
// mongo
return
ResponseDto
.
success
(
sweetIntegralActivityPrizeVo
);
}
...
...
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/utils/RedisDataUtils.java
View file @
a4cb22cd
...
...
@@ -619,4 +619,22 @@ public class RedisDataUtils {
return
(
IntegralActivityVo
)
obj
;
}
}
public
void
setIntegralActivityDraw
(
SweetIntegralActivityDraw
sweetIntegralActivityDraw
)
{
// TODO: 2021/10/26 1用户中奖列表 2用户抽奖列表 3all用户中奖列表
String
redisKey
=
SweetConstant
.
REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_ALL_LIST
.
concat
(
sweetIntegralActivityDraw
.
getIntegralActivityId
());
String
redisKey1
=
SweetConstant
.
REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_USER
.
concat
(
sweetIntegralActivityDraw
.
getIntegralActivityId
())
.
concat
(
":userId:"
)
.
concat
(
sweetIntegralActivityDraw
.
getUserId
());
String
redisKey2
=
SweetConstant
.
REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_IN_USER
.
concat
(
sweetIntegralActivityDraw
.
getIntegralActivityId
())
.
concat
(
":userId:"
)
.
concat
(
sweetIntegralActivityDraw
.
getUserId
());
// TODO: 2021/10/26 先获取set到10条
redisUtil
.
set
(
redisKey
,
sweetIntegralActivityDraw
);
redisUtil
.
set
(
redisKey1
,
sweetIntegralActivityDraw
);
redisUtil
.
set
(
redisKey2
,
sweetIntegralActivityDraw
);
}
}
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