记得上下班打卡 | 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
d5c1738b
Commit
d5c1738b
authored
Jun 05, 2025
by
wangyifan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
douduo-码核验
parent
46ad3216
Changes
13
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
252 additions
and
8 deletions
+252
-8
SweetConstant.java
...a/com/liquidnet/service/sweet/constant/SweetConstant.java
+1
-0
SweetDouDouCheckParam.java
.../liquidnet/service/sweet/param/SweetDouDouCheckParam.java
+26
-0
ISweetDoudouService.java
.../liquidnet/service/sweet/service/ISweetDoudouService.java
+3
-0
SweetDouDouScopeVo.java
...va/com/liquidnet/service/sweet/vo/SweetDouDouScopeVo.java
+45
-0
SweetDoudouScope.java
.../com/liquidnet/service/sweet/entity/SweetDoudouScope.java
+55
-0
SweetDoudouScopeMapper.java
...iquidnet/service/sweet/mapper/SweetDoudouScopeMapper.java
+17
-0
SweetDoudouScopeMapper.xml
...liquidnet.service.sweet.mapper/SweetDoudouScopeMapper.xml
+5
-0
db_20250604_doudou.sql
...rvice/liquidnet-service-sweet/docu/db_20250604_doudou.sql
+19
-1
SweetDoudouController.java
...idnet/service/sweet/controller/SweetDoudouController.java
+7
-0
SweetDoudouServiceImpl.java
...et/service/sweet/service/impl/SweetDoudouServiceImpl.java
+48
-0
RedisDataUtils.java
...ava/com/liquidnet/service/sweet/utils/RedisDataUtils.java
+14
-0
errors.properties
...uidnet-service-sweet/src/main/resources/errors.properties
+11
-6
sqlmap.properties
...uidnet-service-sweet/src/main/resources/sqlmap.properties
+1
-1
No files found.
liquidnet-bus-api/liquidnet-service-sweet-api/src/main/java/com/liquidnet/service/sweet/constant/SweetConstant.java
View file @
d5c1738b
...
...
@@ -62,6 +62,7 @@ public class SweetConstant {
public
final
static
String
REDIS_KEY_SWEET_ANSWER_PHONE
=
"sweet:answer:phone:"
;
// doudou
public
final
static
String
REDIS_KEY_SWEET_DOUDOU_USER
=
"sweet:doudou:uid:"
;
public
final
static
String
REDIS_KEY_SWEET_DOUDOU_SCOPE_MOBILE
=
"sweet:doudou:scope:mobile:"
;
// 城市投票活动
public
final
static
String
REDIS_KEY_SWEET_CITY_VOTE_STAT_LIST
=
":StatList"
;
public
final
static
String
REDIS_KEY_SWEET_CITY_VOTE_CITY_CODE
=
":cityCode:"
;
...
...
liquidnet-bus-api/liquidnet-service-sweet-api/src/main/java/com/liquidnet/service/sweet/param/SweetDouDouCheckParam.java
0 → 100644
View file @
d5c1738b
package
com
.
liquidnet
.
service
.
sweet
.
param
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
import
java.io.Serializable
;
@ApiModel
(
value
=
"SweetDouDouCheckParam"
,
description
=
"入参"
)
@Data
public
class
SweetDouDouCheckParam
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
position
=
1
,
required
=
true
,
value
=
"核验人手机号"
,
example
=
"15811112222"
)
@NotBlank
(
message
=
"authMobile不能为空"
)
private
String
authMobile
;
@ApiModelProperty
(
position
=
2
,
required
=
true
,
value
=
"doudouId"
,
example
=
"234242423423423"
)
@NotBlank
(
message
=
"doudouId不能为空"
)
private
String
doudouId
;
@ApiModelProperty
(
position
=
3
,
required
=
true
,
value
=
"用户ID"
,
example
=
"23453465353453"
)
@NotBlank
(
message
=
"userId不能为空"
)
private
String
userId
;
}
liquidnet-bus-api/liquidnet-service-sweet-api/src/main/java/com/liquidnet/service/sweet/service/ISweetDoudouService.java
View file @
d5c1738b
...
...
@@ -3,6 +3,7 @@ package com.liquidnet.service.sweet.service;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.sweet.entity.SweetDoudou
;
import
com.liquidnet.service.sweet.param.SweetDouDouCheckParam
;
import
com.liquidnet.service.sweet.param.SweetDouDouParam
;
import
com.liquidnet.service.sweet.vo.SweetDouDouVo
;
...
...
@@ -21,4 +22,6 @@ public interface ISweetDoudouService extends IService<SweetDoudou> {
ResponseDto
<
SweetDouDouVo
>
info
();
ResponseDto
create
(
@Valid
SweetDouDouParam
param
);
ResponseDto
check
(
SweetDouDouCheckParam
param
);
}
liquidnet-bus-api/liquidnet-service-sweet-api/src/main/java/com/liquidnet/service/sweet/vo/SweetDouDouScopeVo.java
0 → 100644
View file @
d5c1738b
package
com
.
liquidnet
.
service
.
sweet
.
vo
;
import
com.liquidnet.service.sweet.entity.SweetDoudou
;
import
com.liquidnet.service.sweet.entity.SweetDoudouScope
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
@Data
public
class
SweetDouDouScopeVo
implements
Serializable
,
Cloneable
{
@ApiModelProperty
(
"mobile"
)
private
String
mobile
;
@ApiModelProperty
(
"nickName"
)
private
String
nickName
;
@ApiModelProperty
(
"realName"
)
private
String
realName
;
@ApiModelProperty
(
"idCard"
)
private
String
idCard
;
@ApiModelProperty
(
"status"
)
private
Integer
status
;
@ApiModelProperty
(
"createdAt"
)
private
LocalDateTime
createdAt
;
@ApiModelProperty
(
"updatedAt"
)
private
LocalDateTime
updatedAt
;
private
static
final
SweetDouDouScopeVo
obj
=
new
SweetDouDouScopeVo
();
public
static
SweetDouDouScopeVo
getNew
()
{
try
{
return
(
SweetDouDouScopeVo
)
obj
.
clone
();
}
catch
(
CloneNotSupportedException
e
)
{
return
new
SweetDouDouScopeVo
();
}
}
}
liquidnet-bus-do/liquidnet-service-sweet-do/src/main/java/com/liquidnet/service/sweet/entity/SweetDoudouScope.java
0 → 100644
View file @
d5c1738b
package
com
.
liquidnet
.
service
.
sweet
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
public
class
SweetDoudouScope
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@TableId
(
value
=
"mid"
,
type
=
IdType
.
AUTO
)
private
Long
mid
;
/**
* 手机号
*/
private
String
mobile
;
/**
* 昵称
*/
private
String
nickName
;
/**
* 真实姓名
*/
private
String
realName
;
/**
* 身份证号码
*/
private
String
idCard
;
/**
* 状态: 1-可用, 0-不可用
*/
private
Integer
status
;
/**
* 创建时间
*/
private
LocalDateTime
createdAt
;
/**
* 修改时间
*/
private
LocalDateTime
updatedAt
;
}
liquidnet-bus-do/liquidnet-service-sweet-do/src/main/java/com/liquidnet/service/sweet/mapper/SweetDoudouScopeMapper.java
0 → 100644
View file @
d5c1738b
package
com
.
liquidnet
.
service
.
sweet
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.liquidnet.service.sweet.entity.SweetDoudou
;
import
com.liquidnet.service.sweet.entity.SweetDoudouScope
;
/**
* <p>
* doudou预约签名CD记录表 Mapper 接口
* </p>
*
* @author jiangxiulong
* @since 2025-06-04
*/
public
interface
SweetDoudouScopeMapper
extends
BaseMapper
<
SweetDoudouScope
>
{
}
liquidnet-bus-do/liquidnet-service-sweet-do/src/main/resources/com.liquidnet.service.sweet.mapper/SweetDoudouScopeMapper.xml
0 → 100644
View file @
d5c1738b
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.liquidnet.service.sweet.mapper.SweetDoudouScopeMapper"
>
</mapper>
liquidnet-bus-service/liquidnet-service-sweet/docu/db_20250604_doudou.sql
View file @
d5c1738b
...
...
@@ -18,4 +18,22 @@ CREATE TABLE `sweet_doudou`
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
utf8mb4
COLLATE
utf8mb4_unicode_ci
ROW_FORMAT
=
DYNAMIC
COMMENT
'doudou预约签名CD记录表'
;
\ No newline at end of file
ROW_FORMAT
=
DYNAMIC
COMMENT
'doudou预约签名CD记录表'
;
-- 20250604 doudou预约签名核验权限表
drop
TABLE
if
exists
`sweet_doudou_scope`
;
CREATE
TABLE
`sweet_doudou_scope`
(
`mid`
bigint
unsigned
NOT
NULL
AUTO_INCREMENT
,
`mobile`
varchar
(
50
)
NOT
NULL
COMMENT
'核验人手机号'
,
`nick_name`
varchar
(
255
)
CHARACTER
SET
utf8mb4
COLLATE
utf8mb4_unicode_ci
DEFAULT
''
COMMENT
'昵称'
,
`real_name`
varchar
(
255
)
CHARACTER
SET
utf8mb4
COLLATE
utf8mb4_unicode_ci
DEFAULT
''
COMMENT
'真实姓名'
,
`id_card`
varchar
(
255
)
CHARACTER
SET
utf8mb4
COLLATE
utf8mb4_unicode_ci
DEFAULT
''
COMMENT
'身份证号码'
,
`status`
tinyint
NOT
NULL
DEFAULT
1
COMMENT
'状态 0 不可用 1可用'
,
`created_at`
datetime
NULL
DEFAULT
CURRENT_TIMESTAMP
COMMENT
'创建时间'
,
`updated_at`
datetime
NULL
DEFAULT
CURRENT_TIMESTAMP
COMMENT
'更新时间'
,
PRIMARY
KEY
(
`mid`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
utf8mb4
COLLATE
utf8mb4_unicode_ci
ROW_FORMAT
=
DYNAMIC
COMMENT
'doudou预约签名核验权限表'
;
\ No newline at end of file
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/controller/SweetDoudouController.java
View file @
d5c1738b
...
...
@@ -2,6 +2,7 @@ package com.liquidnet.service.sweet.controller;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.sweet.param.SweetDouDouCheckParam
;
import
com.liquidnet.service.sweet.param.SweetDouDouParam
;
import
com.liquidnet.service.sweet.service.ISweetDoudouService
;
import
com.liquidnet.service.sweet.vo.SweetDouDouVo
;
...
...
@@ -38,4 +39,10 @@ public class SweetDoudouController {
public
ResponseDto
create
(
@Valid
@RequestBody
SweetDouDouParam
param
)
{
return
iSweetDoudouService
.
create
(
param
);
}
@PostMapping
(
"/check"
)
@ApiOperation
(
"核销"
)
public
ResponseDto
check
(
@Valid
@RequestBody
SweetDouDouCheckParam
param
){
return
iSweetDoudouService
.
check
(
param
);
}
}
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/service/impl/SweetDoudouServiceImpl.java
View file @
d5c1738b
...
...
@@ -4,19 +4,24 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.commons.lang.util.CurrentUtil
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.service.base.ErrorMapping
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.base.constant.MQConst
;
import
com.liquidnet.service.sweet.entity.SweetDoudou
;
import
com.liquidnet.service.sweet.mapper.SweetDoudouMapper
;
import
com.liquidnet.service.sweet.param.SweetDouDouCheckParam
;
import
com.liquidnet.service.sweet.param.SweetDouDouParam
;
import
com.liquidnet.service.sweet.service.ISweetDoudouService
;
import
com.liquidnet.service.sweet.utils.QueueUtils
;
import
com.liquidnet.service.sweet.utils.RedisDataUtils
;
import
com.liquidnet.service.sweet.vo.SweetDouDouScopeVo
;
import
com.liquidnet.service.sweet.vo.SweetDouDouVo
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.time.LocalDateTime
;
import
java.util.LinkedList
;
/**
...
...
@@ -27,6 +32,7 @@ import java.util.LinkedList;
* @author jiangxiulong
* @since 2025-06-04
*/
@Slf4j
@Service
public
class
SweetDoudouServiceImpl
extends
ServiceImpl
<
SweetDoudouMapper
,
SweetDoudou
>
implements
ISweetDoudouService
{
@Autowired
...
...
@@ -75,4 +81,46 @@ public class SweetDoudouServiceImpl extends ServiceImpl<SweetDoudouMapper, Sweet
return
ResponseDto
.
success
();
}
@Override
public
ResponseDto
check
(
SweetDouDouCheckParam
param
)
{
if
(!
checkScope
(
param
.
getAuthMobile
()))
{
log
.
info
(
"无权核验, authMoible: {}"
,
param
.
getAuthMobile
());
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20003"
));
}
SweetDouDouVo
vo
=
redisDataUtils
.
getSweetDouDou
(
param
.
getUserId
());
if
(
null
==
vo
)
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"90091"
));
}
// 判断状态
if
(
vo
.
getStatus
().
equals
(
1
))
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"90092"
));
}
else
if
(
vo
.
getStatus
().
equals
(
2
))
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"90093"
));
}
else
if
(
vo
.
getStatus
().
equals
(
4
))
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"90094"
));
}
vo
.
setStatus
(
4
);
LinkedList
<
String
>
sqls
=
CollectionUtil
.
linkedListString
();
LinkedList
<
Object
[]>
sqlsDataA
=
CollectionUtil
.
linkedListObjectArr
();
sqls
.
add
(
SqlMapping
.
get
(
"sweet_doudou.update"
));
sqlsDataA
.
add
(
new
Object
[]{
vo
.
getStatus
(),
LocalDateTime
.
now
(),
vo
.
getDoudouId
()
});
queueUtils
.
sendMsgByRedis
(
MQConst
.
SweetQueue
.
SWEET_ANSWER_INSERT
.
getKey
(),
SqlMapping
.
gets
(
sqls
,
sqlsDataA
));
redisDataUtils
.
setSweetDouDou
(
vo
);
return
ResponseDto
.
success
();
}
private
boolean
checkScope
(
String
authMobile
)
{
SweetDouDouScopeVo
sweetDouDouScopeVo
=
redisDataUtils
.
getSweetDouDouScopeVo
(
authMobile
);
return
sweetDouDouScopeVo
!=
null
;
}
}
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/utils/RedisDataUtils.java
View file @
d5c1738b
...
...
@@ -469,6 +469,20 @@ public class RedisDataUtils {
return
(
SweetDouDouVo
)
redisUtil
.
get
(
redisKey
);
}
public
SweetDouDouScopeVo
getSweetDouDouScopeVo
(
String
mobile
){
String
redisKey
=
SweetConstant
.
REDIS_KEY_SWEET_DOUDOU_SCOPE_MOBILE
.
concat
(
mobile
);
SweetDouDouScopeVo
scopeVo
=
(
SweetDouDouScopeVo
)
redisUtil
.
get
(
redisKey
);
if
(
scopeVo
==
null
)
{
//TODO 从MySQL查询
}
return
scopeVo
;
}
public
void
setSweetDouDouScopeVo
(
SweetDouDouScopeVo
sweetDouDouScopeVo
){
String
redisKey
=
SweetConstant
.
REDIS_KEY_SWEET_DOUDOU_SCOPE_MOBILE
.
concat
(
sweetDouDouScopeVo
.
getMobile
());
redisUtil
.
set
(
redisKey
,
sweetDouDouScopeVo
);
}
//草莓音乐节活动海报相关
public
void
setSweetMusician
(
SweetStrawberryParam
sweetStrawberry
)
{
String
redisKey
=
SweetConstant
.
REDIS_KEY_SWEET_STRAWBERRY_POSTER
.
concat
(
sweetStrawberry
.
getUnionId
());
...
...
liquidnet-bus-service/liquidnet-service-sweet/src/main/resources/errors.properties
View file @
d5c1738b
40001
=
登录信息有误
40002
=
账号已在另一台设备登录
40003
=
登录已过期
# 特殊状态码
90081
=
获取用户信息失败
90082
=
您的积分账户余额不足!
20003
=
\u
65E0
\u6743\u6838\u
9A8C
40001
=
\u
767B
\u
5F55
\u
4FE1
\u
606F
\u6709\u
8BEF
40002
=
\u
8D26
\u
53F7
\u
5DF2
\u5728\u
53E6
\u
4E00
\u
53F0
\u
8BBE
\u5907\u
767B
\u
5F55
40003
=
\u
767B
\u
5F55
\u
5DF2
\u
8FC7
\u
671F
# \u7279\u6B8A\u72B6\u6001\u7801
90081
=
\u
83B7
\u
53D6
\u7528\u6237\u
4FE1
\u
606F
\u5931\u
8D25
90082
=
\u
60A8
\u7684\u
79EF
\u5206\u
8D26
\u6237\u
4F59
\u
989D
\u
4E0D
\u
8DB3
\u
FF01
90091
=
\u
672A
\u
67E5
\u
8BE2
\u5230\u9884\u
7EA6
\u
8BB0
\u
5F55
90092
=
\u
672A
\u5230\u
89E3
\u9501\u
65F6
\u
95F4
90093
=
\u
60A8
\u
672A
\u
4E2D
\u
7B7E
90094
=
\u
5DF2
\u
88AB
\u6838\u9500
liquidnet-bus-service/liquidnet-service-sweet/src/main/resources/sqlmap.properties
View file @
d5c1738b
This diff is collapsed.
Click to expand it.
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