记得上下班打卡 | 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
fa7e2b86
Commit
fa7e2b86
authored
Aug 13, 2021
by
周焕
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'pre' into 'master'
Pre See merge request
!12
parents
0f16eee2
768c7610
Changes
47
Show whitespace changes
Inline
Side-by-side
Showing
47 changed files
with
1335 additions
and
169 deletions
+1335
-169
AdamThirdPartInfoVo.java
...om/liquidnet/service/adam/dto/vo/AdamThirdPartInfoVo.java
+14
-0
AdamUserInfoVo.java
...ava/com/liquidnet/service/adam/dto/vo/AdamUserInfoVo.java
+29
-0
MQConst.java
...ain/java/com/liquidnet/service/base/constant/MQConst.java
+4
-1
Swagger2Config.java
...a/com/liquidnet/common/swagger/config/Swagger2Config.java
+26
-2
liquidnet-service-sweet-dev.yml
...s-config/liquidnet-config/liquidnet-service-sweet-dev.yml
+2
-2
AdamUserInfoDto.java
.../java/com/liquidnet/service/adam/dto/AdamUserInfoDto.java
+28
-0
AdamUserMapper.java
...ava/com/liquidnet/service/adam/mapper/AdamUserMapper.java
+29
-0
AdamMemberOrderServiceImpl.java
...service/adam/service/impl/AdamMemberOrderServiceImpl.java
+8
-5
AdamUserInfoServiceImpl.java
...et/service/adam/service/impl/AdamUserInfoServiceImpl.java
+0
-4
sqlmap.properties
...et-service-adam-impl/src/main/resources/sqlmap.properties
+1
-1
ConsumerSweetAnswerRedisStreamConfig.java
...er/kylin/config/ConsumerSweetAnswerRedisStreamConfig.java
+78
-0
ConsumerSweetRemindRedisStreamConfig.java
...er/kylin/config/ConsumerSweetRemindRedisStreamConfig.java
+77
-0
ConsumerSweetUserRedisStreamConfig.java
...umer/kylin/config/ConsumerSweetUserRedisStreamConfig.java
+77
-0
ConsumerSweetAnswerRdsReceiver.java
...nsumer/kylin/receiver/ConsumerSweetAnswerRdsReceiver.java
+17
-0
ConsumerSweetRemindRdsReceiver.java
...nsumer/kylin/receiver/ConsumerSweetRemindRdsReceiver.java
+17
-0
ConsumerSweetUserRdsReceiver.java
...consumer/kylin/receiver/ConsumerSweetUserRdsReceiver.java
+17
-0
DMRdmService.java
...t/service/platform/service/impl/adam/dm/DMRdmService.java
+43
-25
db_sweetsugar_structure.sql
.../liquidnet-service-sweet/docu/db_sweetsugar_structure.sql
+66
-28
redis_queue_create.txt
...rvice/liquidnet-service-sweet/docu/redis_queue_create.txt
+13
-1
SweetConstant.java
...a/com/liquidnet/service/sweet/constant/SweetConstant.java
+2
-3
SweetAnswerController.java
...idnet/service/sweet/controller/SweetAnswerController.java
+52
-0
SweetAppletController.java
...idnet/service/sweet/controller/SweetAppletController.java
+7
-6
SweetAppletMdskController.java
...t/service/sweet/controller/SweetAppletMdskController.java
+12
-11
SweetWechatLoginController.java
.../service/sweet/controller/SweetWechatLoginController.java
+1
-1
SweetWechatTemplateController.java
...rvice/sweet/controller/SweetWechatTemplateController.java
+17
-1
SweetAnswer.java
.../java/com/liquidnet/service/sweet/entity/SweetAnswer.java
+67
-0
SweetRemind.java
.../java/com/liquidnet/service/sweet/entity/SweetRemind.java
+81
-0
SweetWechatUser.java
...a/com/liquidnet/service/sweet/entity/SweetWechatUser.java
+5
-0
SubscribeHandler.java
...com/liquidnet/service/sweet/handler/SubscribeHandler.java
+28
-14
UnsubscribeHandler.java
...m/liquidnet/service/sweet/handler/UnsubscribeHandler.java
+44
-1
SweetAnswerMapper.java
...com/liquidnet/service/sweet/mapper/SweetAnswerMapper.java
+16
-0
SweetRemindMapper.java
...com/liquidnet/service/sweet/mapper/SweetRemindMapper.java
+16
-0
ISweetAnswerService.java
.../liquidnet/service/sweet/service/ISweetAnswerService.java
+21
-0
ISweetRemindService.java
.../liquidnet/service/sweet/service/ISweetRemindService.java
+17
-0
SweetAnswerServiceImpl.java
...et/service/sweet/service/impl/SweetAnswerServiceImpl.java
+70
-0
SweetRemindServiceImpl.java
...et/service/sweet/service/impl/SweetRemindServiceImpl.java
+20
-0
SweetWechatCallbackServiceImpl.java
...ce/sweet/service/impl/SweetWechatCallbackServiceImpl.java
+2
-2
SweetWechatLoginServiceImpl.java
...rvice/sweet/service/impl/SweetWechatLoginServiceImpl.java
+11
-1
SweetWechatTemplateServiceImpl.java
...ce/sweet/service/impl/SweetWechatTemplateServiceImpl.java
+134
-40
ObjectUtil.java
...in/java/com/liquidnet/service/sweet/utils/ObjectUtil.java
+46
-0
RedisDataUtils.java
...ava/com/liquidnet/service/sweet/utils/RedisDataUtils.java
+43
-17
RedisMDSKDataUtils.java
...com/liquidnet/service/sweet/utils/RedisMDSKDataUtils.java
+3
-3
SweetAnswerVo.java
...in/java/com/liquidnet/service/sweet/vo/SweetAnswerVo.java
+55
-0
SweetRemindVo.java
...in/java/com/liquidnet/service/sweet/vo/SweetRemindVo.java
+1
-0
SweetAnswerMapper.xml
.../com/liquidnet/service/sweet/mapper/SweetAnswerMapper.xml
+5
-0
SweetRemindMapper.xml
.../com/liquidnet/service/sweet/mapper/SweetRemindMapper.xml
+5
-0
sqlmap.properties
...uidnet-service-sweet/src/main/resources/sqlmap.properties
+8
-0
No files found.
liquidnet-bus-api/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/dto/vo/AdamThirdPartInfoVo.java
View file @
fa7e2b86
...
...
@@ -2,6 +2,7 @@ package com.liquidnet.service.adam.dto.vo;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.liquidnet.commons.lang.util.DateUtil
;
import
com.liquidnet.service.adam.entity.AdamThirdParty
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
...
...
@@ -39,4 +40,17 @@ public class AdamThirdPartInfoVo implements java.io.Serializable, Cloneable {
}
return
new
AdamThirdPartInfoVo
();
}
public
AdamThirdPartInfoVo
copy
(
AdamThirdParty
source
)
{
if
(
null
==
source
)
return
this
;
this
.
setUid
(
source
.
getUid
());
this
.
setOpenId
(
source
.
getOpenId
());
this
.
setNickname
(
source
.
getNickname
());
this
.
setAvatar
(
source
.
getAvatar
());
this
.
setPlatform
(
source
.
getPlatform
());
this
.
setState
(
source
.
getState
());
this
.
setCreatedAt
(
source
.
getCreatedAt
());
this
.
setUpdatedAt
(
source
.
getUpdatedAt
());
return
this
;
}
}
liquidnet-bus-api/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/dto/vo/AdamUserInfoVo.java
View file @
fa7e2b86
package
com
.
liquidnet
.
service
.
adam
.
dto
.
vo
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.core.type.TypeReference
;
import
com.liquidnet.commons.lang.util.DateUtil
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.commons.lang.util.SensitizeUtil
;
import
com.liquidnet.service.adam.dto.AdamUserInfoDto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
...
...
@@ -67,6 +70,32 @@ public class AdamUserInfoVo implements java.io.Serializable, Cloneable {
return
new
AdamUserInfoVo
();
}
public
AdamUserInfoVo
copy
(
AdamUserInfoDto
source
)
{
if
(
null
==
source
)
return
this
;
this
.
setUid
(
source
.
getUid
());
this
.
setMobile
(
source
.
getMobile
());
this
.
setPasswd
(
source
.
getPasswd
());
this
.
setNickname
(
source
.
getNickname
());
this
.
setState
(
source
.
getState
());
this
.
setSex
(
JsonUtils
.
fromJson
(
source
.
getSex
(),
AdamTagVo
.
class
));
this
.
setBirthday
(
source
.
getBirthday
());
this
.
setArea
(
source
.
getArea
());
this
.
setSignature
(
source
.
getSignature
());
this
.
setAvatar
(
source
.
getAvatar
());
this
.
setBackground
(
source
.
getBackground
());
this
.
setTagMe
(
JsonUtils
.
fromJson
(
source
.
getTagMe
(),
new
TypeReference
<
List
<
AdamTagParentVo
>>()
{}));
this
.
setCreateAt
(
source
.
getCreateAt
());
this
.
setUpdatedAt
(
source
.
getUpdatedAt
());
this
.
setClosedAt
(
source
.
getClosedAt
());
this
.
setIsComplete
(
source
.
getIsComplete
());
this
.
setRongCloudToken
(
source
.
getRongCloudToken
());
this
.
setQrCode
(
source
.
getQrCode
());
return
this
;
}
public
AdamUserInfoVo
desensitize
()
{
this
.
setPasswd
(
null
);
// this.userInfo.setPayCode(null);
...
...
liquidnet-bus-common/liquidnet-common-service-base/src/main/java/com/liquidnet/service/base/constant/MQConst.java
View file @
fa7e2b86
...
...
@@ -74,6 +74,9 @@ public class MQConst {
ARTISTS_RELATION
(
"sweet:stream:rk.artists.relation"
,
"group.artists.relation"
,
"用户-关系"
),
ARTISTS_RELATION_MDSK
(
"sweet:stream:rk.artists.mdsk.relation"
,
"group.artists.mdsk.relation"
,
"用户-关系"
),
LUCK_DRAW
(
"sweet:stream:rk.luckDraw"
,
"group.luckDraw"
,
"用户-抽奖"
),
ANSWERINSERT_DRAW
(
"sweet:stream:rk.answerInsert"
,
"group.answerInsert"
,
"答案"
),
SWEET_USER_INSERT_DRAW
(
"sweet:stream:rk.sweetUserInsert"
,
"group.sweetUserInsert"
,
"关注服务号的用户信息"
),
SWEET_REMIND_INSERT_DRAW
(
"sweet:stream:rk.remindInsert"
,
"group.remindInsert"
,
"提醒记录"
),
;
private
final
String
key
;
...
...
liquidnet-bus-common/liquidnet-common-swagger/src/main/java/com/liquidnet/common/swagger/config/Swagger2Config.java
View file @
fa7e2b86
...
...
@@ -6,24 +6,48 @@ import org.springframework.context.annotation.Bean;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.core.env.Environment
;
import
org.springframework.util.StringUtils
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
springfox.documentation.builders.ApiInfoBuilder
;
import
springfox.documentation.builders.PathSelectors
;
import
springfox.documentation.builders.RequestHandlerSelectors
;
import
springfox.documentation.service.ApiInfo
;
import
springfox.documentation.service.Contact
;
import
springfox.documentation.service.ResponseMessage
;
import
springfox.documentation.spi.DocumentationType
;
import
springfox.documentation.spring.web.plugins.Docket
;
import
springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc
;
import
java.util.ArrayList
;
import
java.util.List
;
@Configuration
@EnableSwagger2WebMvc
public
class
Swagger2Config
{
@Autowired
private
Environment
environment
;
List
<
ResponseMessage
>
responseMessageList
=
new
ArrayList
<
ResponseMessage
>()
{
private
static
final
long
serialVersionUID
=
-
5089595359417116101L
;
{
// add(
// new ResponseMessageBuilder().code(HttpStatus.INTERNAL_SERVER_ERROR.value()).message(HttpStatus.INTERNAL_SERVER_ERROR.getReasonPhrase())
// .responseModel(new ModelRef(HttpStatus.INTERNAL_SERVER_ERROR.getReasonPhrase()))
// .build()
// );
}
};
@Bean
public
Docket
createRestApi
()
{
return
new
Docket
(
DocumentationType
.
SWAGGER_2
)
.
globalResponseMessage
(
RequestMethod
.
GET
,
responseMessageList
)
.
globalResponseMessage
(
RequestMethod
.
HEAD
,
responseMessageList
)
.
globalResponseMessage
(
RequestMethod
.
POST
,
responseMessageList
)
.
globalResponseMessage
(
RequestMethod
.
PUT
,
responseMessageList
)
.
globalResponseMessage
(
RequestMethod
.
PATCH
,
responseMessageList
)
.
globalResponseMessage
(
RequestMethod
.
DELETE
,
responseMessageList
)
.
globalResponseMessage
(
RequestMethod
.
OPTIONS
,
responseMessageList
)
.
globalResponseMessage
(
RequestMethod
.
TRACE
,
responseMessageList
)
.
apiInfo
(
apiInfo
())
.
select
()
.
apis
(
RequestHandlerSelectors
.
withMethodAnnotation
(
ApiOperation
.
class
))
...
...
@@ -36,9 +60,9 @@ public class Swagger2Config {
return
new
ApiInfoBuilder
()
.
title
((
StringUtils
.
isEmpty
(
appName
)
?
"service-xxx"
:
appName
.
substring
(
10
))
+
" APIs"
)
.
description
(
appName
)
.
contact
(
new
Contact
(
"lightnet"
,
""
,
"**@
lightnet.io
"
))
.
contact
(
new
Contact
(
"lightnet"
,
""
,
"**@
zhengzai.tv
"
))
.
version
(
"all"
)
.
termsOfServiceUrl
(
"xxx.
xxx.
xxx"
)
.
termsOfServiceUrl
(
"xxx.
zhengzai.tv/
xxx"
)
.
build
();
}
...
...
liquidnet-bus-config/liquidnet-config/liquidnet-service-sweet-dev.yml
View file @
fa7e2b86
...
...
@@ -13,9 +13,9 @@ liquidnet:
file-max-size
:
200MB
level
:
debug
mysql
:
database-name
:
test
_ln_scene
database-name
:
dev
_ln_scene
mongodb
:
sslEnabled
:
false
database
:
test
_ln_scene
database
:
dev
_ln_scene
#以下为spring各环境个性配置
liquidnet-bus-do/liquidnet-service-adam-do/src/main/java/com/liquidnet/service/adam/dto/AdamUserInfoDto.java
0 → 100644
View file @
fa7e2b86
package
com
.
liquidnet
.
service
.
adam
.
dto
;
import
lombok.Data
;
import
java.time.LocalDateTime
;
@Data
public
class
AdamUserInfoDto
{
private
String
uid
;
private
String
mobile
;
private
String
passwd
;
// private String payCode;
private
String
nickname
;
private
Integer
state
;
private
String
sex
;
private
String
birthday
;
private
String
area
;
private
String
signature
;
private
String
avatar
;
private
String
background
;
private
String
tagMe
;
private
LocalDateTime
createAt
;
private
LocalDateTime
updatedAt
;
private
LocalDateTime
closedAt
;
private
Integer
isComplete
;
private
String
rongCloudToken
;
private
String
qrCode
;
}
liquidnet-bus-do/liquidnet-service-adam-do/src/main/java/com/liquidnet/service/adam/mapper/AdamUserMapper.java
View file @
fa7e2b86
package
com
.
liquidnet
.
service
.
adam
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.liquidnet.service.adam.dto.AdamUserInfoDto
;
import
com.liquidnet.service.adam.entity.AdamUser
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Select
;
import
java.util.List
;
/**
* <p>
...
...
@@ -15,4 +19,29 @@ import org.apache.ibatis.annotations.Param;
public
interface
AdamUserMapper
extends
BaseMapper
<
AdamUser
>
{
int
executeForDM
(
@Param
(
"tn"
)
String
tn
);
@Select
({
"select u.mid,"
+
"u.uid,"
+
"u.mobile,"
+
"u.passwd,"
+
"u.state,"
+
"u.is_complete as isComplete,"
+
"u.created_at as createAt,"
+
"u.updated_at as updatedAt,"
+
"u.closed_at as closedAt,"
+
"ui.nickname,"
+
"ui.sex,"
+
"ui.birthday,"
+
"ui.area,"
+
"ui.signature,"
+
"ui.avatar,"
+
"ui.background,"
+
"ui.qr_code as qrCode,"
+
"ui.tag_me as tagMe,"
+
"ui.rong_cloud_token as rongCloudToken "
+
"from adam_user u,adam_user_info ui where u.uid = ui.uid "
+
"order by u.uid "
+
"limit #{rows},#{offset}"
})
List
<
AdamUserInfoDto
>
selectMultiForUserInfoDto
(
@Param
(
"rows"
)
int
rows
,
@Param
(
"offset"
)
int
offset
);
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamMemberOrderServiceImpl.java
View file @
fa7e2b86
...
...
@@ -229,7 +229,7 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
initUserMemberVo
.
setMemberId
(
handleMemberOrderVo
.
getMemberId
());
initUserMemberVo
.
setMemberNo
(
memberNo
);
initUserMemberVo
.
setState
(
1
);
// 1-正常,2-失效
initUserMemberVo
.
setExpiryAt
(
now
.
plusDays
(
memberPriceVo
.
getDays
()).
with
(
LocalTime
.
MAX
));
initUserMemberVo
.
setExpiryAt
(
now
.
plusDays
(
memberPriceVo
.
getDays
()).
with
Hour
(
23
).
withMinute
(
59
).
withSecond
(
59
));
initUserMemberVo
.
setCreatedAt
(
now
);
long
s
=
System
.
currentTimeMillis
();
...
...
@@ -247,7 +247,8 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
AdamUserMemberVo
updateExistUserMemberVo
=
AdamUserMemberVo
.
getNew
();
BeanUtils
.
copyProperties
(
existUserMemberVo
,
updateExistUserMemberVo
);
LocalDateTime
currentExpiryAt
=
existUserMemberVo
.
getExpiryAt
();
LocalDateTime
expiryAt
=
(
currentExpiryAt
.
isBefore
(
now
)
?
now
:
currentExpiryAt
).
plusDays
(
memberPriceVo
.
getDays
()).
with
(
LocalTime
.
MAX
);
LocalDateTime
expiryAt
=
(
currentExpiryAt
.
isBefore
(
now
)
?
now
:
currentExpiryAt
)
.
plusDays
(
memberPriceVo
.
getDays
()).
withHour
(
23
).
withMinute
(
59
).
withSecond
(
59
);
updateExistUserMemberVo
.
setState
(
1
);
updateExistUserMemberVo
.
setExpiryAt
(
expiryAt
);
...
...
@@ -307,7 +308,8 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
handleMemberOrderVo
.
getPricePaid
(),
handleMemberOrderVo
.
getMemberName
(),
handleMemberOrderVo
.
getMemberId
(),
handleMemberOrderVo
.
getMemberPriceId
(),
handleMemberOrderVo
.
getDays
(),
handleMemberOrderVo
.
getState
(),
handleMemberOrderVo
.
getMemberNo
(),
handleMemberOrderVo
.
getBirthday
(),
handleMemberOrderVo
.
getDeviceFrom
(),
handleMemberOrderVo
.
getPayType
(),
handleMemberOrderVo
.
getPayNo
(),
handleMemberOrderVo
.
getPaymentAt
(),
handleMemberOrderVo
.
getCreatedAt
(),
handleMemberOrderVo
.
getClientIp
(),
handleMemberOrderVo
.
getSource
(),
handleMemberOrderVo
.
getVersion
()
handleMemberOrderVo
.
getCreatedAt
(),
handleMemberOrderVo
.
getUpdatedAt
(),
handleMemberOrderVo
.
getClientIp
(),
handleMemberOrderVo
.
getSource
(),
handleMemberOrderVo
.
getVersion
()
});
AdamMemberOrderExtVo
memberOrderExtVo
=
handleMemberOrderVo
.
getExtendVo
();
...
...
@@ -418,7 +420,8 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
updateExistUserMemberVo
.
setState
(
1
);
LocalDateTime
expiryAt
=
existUserMemberVo
.
getExpiryAt
();
updateExistUserMemberVo
.
setExpiryAt
(
(
expiryAt
.
isBefore
(
now
)
?
now
:
expiryAt
).
plusDays
(
initMemberOrderVo
.
getDays
()).
with
(
LocalTime
.
MAX
)
(
expiryAt
.
isBefore
(
now
)
?
now
:
expiryAt
).
plusDays
(
initMemberOrderVo
.
getDays
())
.
withHour
(
23
).
withMinute
(
59
).
withSecond
(
59
)
);
toMqSqls
.
add
(
SqlMapping
.
get
(
"adam_user_member.update"
));
upsertUserMemberObjs
.
add
(
new
Object
[]{
...
...
@@ -431,7 +434,7 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
initUserMemberVo
.
setMemberId
(
memberCodeVo
.
getMemberId
());
initUserMemberVo
.
setMemberNo
(
memberCodeVo
.
getMemberNo
());
initUserMemberVo
.
setState
(
1
);
initUserMemberVo
.
setExpiryAt
(
now
.
plusDays
(
initMemberOrderVo
.
getDays
()).
with
(
LocalTime
.
MAX
));
initUserMemberVo
.
setExpiryAt
(
now
.
plusDays
(
initMemberOrderVo
.
getDays
()).
with
Hour
(
23
).
withMinute
(
59
).
withSecond
(
59
));
initUserMemberVo
.
setCreatedAt
(
now
);
toMqSqls
.
add
(
SqlMapping
.
get
(
"adam_user_member.add"
));
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamUserInfoServiceImpl.java
View file @
fa7e2b86
...
...
@@ -44,10 +44,6 @@ public class AdamUserInfoServiceImpl implements IAdamUserInfoService {
@Override
// @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public
void
edit
(
AdamUserInfoVo
userInfoVo
)
{
userInfoVo
.
setCreateAt
(
null
);
Document
updateDoc
=
Document
.
parse
(
JsonUtils
.
toJson
(
userInfoVo
));
updateDoc
.
replace
(
"updatedAt"
,
userInfoVo
.
getUpdatedAt
());
long
s
=
System
.
currentTimeMillis
();
adamRdmService
.
setUserInfoVoByUid
(
userInfoVo
.
getUid
(),
userInfoVo
);
log
.
debug
(
"#RDS耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/resources/sqlmap.properties
View file @
fa7e2b86
...
...
@@ -45,7 +45,7 @@ adam_member_code.add=INSERT INTO adam_member_code (code, `type`, member_id, memb
adam_member_code.exchange
=
UPDATE adam_member_code SET `state`=?, updated_at=?, use_order_no=?, use_uid=?, use_at=? WHERE code=?
# ----------------------------------------------------
adam_member_order.add
=
INSERT INTO adam_member_order (order_no, `uid`, `mode`, price, price_paid, member_name, member_id, member_price_id, `days`, `state`, member_no, birthday, device_from, pay_type, pay_no, payment_at, created_at,
client_ip, `source`, version) VALUES (
?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
adam_member_order.add
=
INSERT INTO adam_member_order (order_no, `uid`, `mode`, price, price_paid, member_name, member_id, member_price_id, `days`, `state`, member_no, birthday, device_from, pay_type, pay_no, payment_at, created_at,
updated_at, client_ip, `source`, version) VALUES (?,
?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
adam_member_order.update
=
UPDATE adam_member_order SET `state`=?, member_no=?, payment_at=?, updated_at=? WHERE order_no=?
# ----------------------------------------------------
...
...
liquidnet-bus-service/liquidnet-service-consumer-all/liquidnet-service-consumer-kylin/src/main/java/com/liquidnet/service/consumer/kylin/config/ConsumerSweetAnswerRedisStreamConfig.java
0 → 100644
View file @
fa7e2b86
package
com
.
liquidnet
.
service
.
consumer
.
kylin
.
config
;
import
com.liquidnet.service.consumer.kylin.receiver.ConsumerSweetAnswerRdsReceiver
;
import
com.liquidnet.service.consumer.kylin.receiver.ConsumerSweetSqlUserRelationRdsReceiver
;
import
lombok.var
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.data.redis.connection.RedisConnectionFactory
;
import
org.springframework.data.redis.connection.stream.Consumer
;
import
org.springframework.data.redis.connection.stream.MapRecord
;
import
org.springframework.data.redis.connection.stream.ReadOffset
;
import
org.springframework.data.redis.connection.stream.StreamOffset
;
import
org.springframework.data.redis.stream.StreamMessageListenerContainer
;
import
org.springframework.data.redis.stream.Subscription
;
import
java.time.Duration
;
import
static
com
.
liquidnet
.
service
.
base
.
constant
.
MQConst
.
SweetQueue
.
ANSWERINSERT_DRAW
;
@Configuration
public
class
ConsumerSweetAnswerRedisStreamConfig
{
@Autowired
ConsumerSweetAnswerRdsReceiver
consumerSweetAnswerRdsReceiver
;
private
StreamMessageListenerContainer
<
String
,
MapRecord
<
String
,
String
,
String
>>
buildStreamMessageListenerContainer
(
RedisConnectionFactory
factory
)
{
var
options
=
StreamMessageListenerContainer
.
StreamMessageListenerContainerOptions
.
builder
()
.
pollTimeout
(
Duration
.
ofMillis
(
1
))
.
build
();
return
StreamMessageListenerContainer
.
create
(
factory
,
options
);
}
/**
* 缺票登记
*
* @param listenerContainer
* @param t
* @return
*/
private
Subscription
receiveSqlAnswer
(
StreamMessageListenerContainer
<
String
,
MapRecord
<
String
,
String
,
String
>>
listenerContainer
,
int
t
)
{
return
listenerContainer
.
receiveAutoAck
(
Consumer
.
from
(
ANSWERINSERT_DRAW
.
getGroup
(),
ANSWERINSERT_DRAW
.
name
()
+
t
),
StreamOffset
.
create
(
ANSWERINSERT_DRAW
.
getKey
(),
ReadOffset
.
lastConsumed
()),
consumerSweetAnswerRdsReceiver
);
}
/* —————————————————————————— | —————————————————————————— | —————————————————————————— */
/* -------------------------------------------------------- | 缺票登记 */
@Bean
public
Subscription
subscriptionSqlAnswer
(
RedisConnectionFactory
factory
)
{
var
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
var
subscription
=
receiveSqlAnswer
(
listenerContainer
,
1
);
listenerContainer
.
start
();
return
subscription
;
}
@Bean
public
Subscription
subscriptionSqlAnswer2
(
RedisConnectionFactory
factory
)
{
var
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
var
subscription
=
receiveSqlAnswer
(
listenerContainer
,
1
);
listenerContainer
.
start
();
return
subscription
;
}
@Bean
public
Subscription
subscriptionSqlAnswer3
(
RedisConnectionFactory
factory
)
{
var
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
var
subscription
=
receiveSqlAnswer
(
listenerContainer
,
1
);
listenerContainer
.
start
();
return
subscription
;
}
/* -------------------------------------------------------- | */
}
liquidnet-bus-service/liquidnet-service-consumer-all/liquidnet-service-consumer-kylin/src/main/java/com/liquidnet/service/consumer/kylin/config/ConsumerSweetRemindRedisStreamConfig.java
0 → 100644
View file @
fa7e2b86
package
com
.
liquidnet
.
service
.
consumer
.
kylin
.
config
;
import
com.liquidnet.service.consumer.kylin.receiver.ConsumerSweetRemindRdsReceiver
;
import
lombok.var
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.data.redis.connection.RedisConnectionFactory
;
import
org.springframework.data.redis.connection.stream.Consumer
;
import
org.springframework.data.redis.connection.stream.MapRecord
;
import
org.springframework.data.redis.connection.stream.ReadOffset
;
import
org.springframework.data.redis.connection.stream.StreamOffset
;
import
org.springframework.data.redis.stream.StreamMessageListenerContainer
;
import
org.springframework.data.redis.stream.Subscription
;
import
java.time.Duration
;
import
static
com
.
liquidnet
.
service
.
base
.
constant
.
MQConst
.
SweetQueue
.
SWEET_REMIND_INSERT_DRAW
;
@Configuration
public
class
ConsumerSweetRemindRedisStreamConfig
{
@Autowired
ConsumerSweetRemindRdsReceiver
consumerSweetRemindRdsReceiver
;
private
StreamMessageListenerContainer
<
String
,
MapRecord
<
String
,
String
,
String
>>
buildStreamMessageListenerContainer
(
RedisConnectionFactory
factory
)
{
var
options
=
StreamMessageListenerContainer
.
StreamMessageListenerContainerOptions
.
builder
()
.
pollTimeout
(
Duration
.
ofMillis
(
1
))
.
build
();
return
StreamMessageListenerContainer
.
create
(
factory
,
options
);
}
/**
* 缺票登记
*
* @param listenerContainer
* @param t
* @return
*/
private
Subscription
receiveSqlRemind
(
StreamMessageListenerContainer
<
String
,
MapRecord
<
String
,
String
,
String
>>
listenerContainer
,
int
t
)
{
return
listenerContainer
.
receiveAutoAck
(
Consumer
.
from
(
SWEET_REMIND_INSERT_DRAW
.
getGroup
(),
SWEET_REMIND_INSERT_DRAW
.
name
()
+
t
),
StreamOffset
.
create
(
SWEET_REMIND_INSERT_DRAW
.
getKey
(),
ReadOffset
.
lastConsumed
()),
consumerSweetRemindRdsReceiver
);
}
/* —————————————————————————— | —————————————————————————— | —————————————————————————— */
/* -------------------------------------------------------- | 缺票登记 */
@Bean
public
Subscription
subscriptionSqlRemind
(
RedisConnectionFactory
factory
)
{
var
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
var
subscription
=
receiveSqlRemind
(
listenerContainer
,
1
);
listenerContainer
.
start
();
return
subscription
;
}
@Bean
public
Subscription
subscriptionSqlRemind2
(
RedisConnectionFactory
factory
)
{
var
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
var
subscription
=
receiveSqlRemind
(
listenerContainer
,
1
);
listenerContainer
.
start
();
return
subscription
;
}
@Bean
public
Subscription
subscriptionSqlRemind3
(
RedisConnectionFactory
factory
)
{
var
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
var
subscription
=
receiveSqlRemind
(
listenerContainer
,
1
);
listenerContainer
.
start
();
return
subscription
;
}
/* -------------------------------------------------------- | */
}
liquidnet-bus-service/liquidnet-service-consumer-all/liquidnet-service-consumer-kylin/src/main/java/com/liquidnet/service/consumer/kylin/config/ConsumerSweetUserRedisStreamConfig.java
0 → 100644
View file @
fa7e2b86
package
com
.
liquidnet
.
service
.
consumer
.
kylin
.
config
;
import
com.liquidnet.service.consumer.kylin.receiver.ConsumerSweetUserRdsReceiver
;
import
lombok.var
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.data.redis.connection.RedisConnectionFactory
;
import
org.springframework.data.redis.connection.stream.Consumer
;
import
org.springframework.data.redis.connection.stream.MapRecord
;
import
org.springframework.data.redis.connection.stream.ReadOffset
;
import
org.springframework.data.redis.connection.stream.StreamOffset
;
import
org.springframework.data.redis.stream.StreamMessageListenerContainer
;
import
org.springframework.data.redis.stream.Subscription
;
import
java.time.Duration
;
import
static
com
.
liquidnet
.
service
.
base
.
constant
.
MQConst
.
SweetQueue
.
SWEET_USER_INSERT_DRAW
;
@Configuration
public
class
ConsumerSweetUserRedisStreamConfig
{
@Autowired
ConsumerSweetUserRdsReceiver
consumerSweetUserRdsReceiver
;
private
StreamMessageListenerContainer
<
String
,
MapRecord
<
String
,
String
,
String
>>
buildStreamMessageListenerContainer
(
RedisConnectionFactory
factory
)
{
var
options
=
StreamMessageListenerContainer
.
StreamMessageListenerContainerOptions
.
builder
()
.
pollTimeout
(
Duration
.
ofMillis
(
1
))
.
build
();
return
StreamMessageListenerContainer
.
create
(
factory
,
options
);
}
/**
* 缺票登记
*
* @param listenerContainer
* @param t
* @return
*/
private
Subscription
receiveSqlSweetUser
(
StreamMessageListenerContainer
<
String
,
MapRecord
<
String
,
String
,
String
>>
listenerContainer
,
int
t
)
{
return
listenerContainer
.
receiveAutoAck
(
Consumer
.
from
(
SWEET_USER_INSERT_DRAW
.
getGroup
(),
SWEET_USER_INSERT_DRAW
.
name
()
+
t
),
StreamOffset
.
create
(
SWEET_USER_INSERT_DRAW
.
getKey
(),
ReadOffset
.
lastConsumed
()),
consumerSweetUserRdsReceiver
);
}
/* —————————————————————————— | —————————————————————————— | —————————————————————————— */
/* -------------------------------------------------------- | 缺票登记 */
@Bean
public
Subscription
subscriptionSqlSweetUser
(
RedisConnectionFactory
factory
)
{
var
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
var
subscription
=
receiveSqlSweetUser
(
listenerContainer
,
1
);
listenerContainer
.
start
();
return
subscription
;
}
@Bean
public
Subscription
subscriptionSqlSweetUser2
(
RedisConnectionFactory
factory
)
{
var
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
var
subscription
=
receiveSqlSweetUser
(
listenerContainer
,
1
);
listenerContainer
.
start
();
return
subscription
;
}
@Bean
public
Subscription
subscriptionSqlSweetUser3
(
RedisConnectionFactory
factory
)
{
var
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
var
subscription
=
receiveSqlSweetUser
(
listenerContainer
,
1
);
listenerContainer
.
start
();
return
subscription
;
}
/* -------------------------------------------------------- | */
}
liquidnet-bus-service/liquidnet-service-consumer-all/liquidnet-service-consumer-kylin/src/main/java/com/liquidnet/service/consumer/kylin/receiver/ConsumerSweetAnswerRdsReceiver.java
0 → 100644
View file @
fa7e2b86
package
com
.
liquidnet
.
service
.
consumer
.
kylin
.
receiver
;
import
com.liquidnet.service.base.constant.MQConst
;
import
org.springframework.stereotype.Component
;
@Component
public
class
ConsumerSweetAnswerRdsReceiver
extends
AbstractSqlRedisReceiver
{
@Override
protected
String
getRedisStreamKey
()
{
return
MQConst
.
SweetQueue
.
ANSWERINSERT_DRAW
.
getKey
();
}
@Override
protected
String
getRedisStreamGroup
()
{
return
MQConst
.
SweetQueue
.
ANSWERINSERT_DRAW
.
getGroup
();
}
}
liquidnet-bus-service/liquidnet-service-consumer-all/liquidnet-service-consumer-kylin/src/main/java/com/liquidnet/service/consumer/kylin/receiver/ConsumerSweetRemindRdsReceiver.java
0 → 100644
View file @
fa7e2b86
package
com
.
liquidnet
.
service
.
consumer
.
kylin
.
receiver
;
import
com.liquidnet.service.base.constant.MQConst
;
import
org.springframework.stereotype.Component
;
@Component
public
class
ConsumerSweetRemindRdsReceiver
extends
AbstractSqlRedisReceiver
{
@Override
protected
String
getRedisStreamKey
()
{
return
MQConst
.
SweetQueue
.
SWEET_REMIND_INSERT_DRAW
.
getKey
();
}
@Override
protected
String
getRedisStreamGroup
()
{
return
MQConst
.
SweetQueue
.
SWEET_REMIND_INSERT_DRAW
.
getGroup
();
}
}
liquidnet-bus-service/liquidnet-service-consumer-all/liquidnet-service-consumer-kylin/src/main/java/com/liquidnet/service/consumer/kylin/receiver/ConsumerSweetUserRdsReceiver.java
0 → 100644
View file @
fa7e2b86
package
com
.
liquidnet
.
service
.
consumer
.
kylin
.
receiver
;
import
com.liquidnet.service.base.constant.MQConst
;
import
org.springframework.stereotype.Component
;
@Component
public
class
ConsumerSweetUserRdsReceiver
extends
AbstractSqlRedisReceiver
{
@Override
protected
String
getRedisStreamKey
()
{
return
MQConst
.
SweetQueue
.
SWEET_USER_INSERT_DRAW
.
getKey
();
}
@Override
protected
String
getRedisStreamGroup
()
{
return
MQConst
.
SweetQueue
.
SWEET_USER_INSERT_DRAW
.
getGroup
();
}
}
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/service/impl/adam/dm/DMRdmService.java
View file @
fa7e2b86
...
...
@@ -55,6 +55,7 @@ public class DMRdmService {
public
String
getUidByMobile
(
String
mobile
)
{
String
key
=
AdamRedisConst
.
IDENTITY_MOBILE
.
concat
(
mobile
);
long
s
=
System
.
currentTimeMillis
();
String
val
=
(
String
)
redisUtil
.
get
(
key
);
// if (StringUtils.isEmpty(val)) {
// Query query = Query.query(Criteria.where("mobile").is(mobile).and("state").is(1));
...
...
@@ -67,6 +68,7 @@ public class DMRdmService {
// redisUtil.set(key, vo.getUid());
// }
// }
log
.
debug
(
"#RDM耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
val
;
}
...
...
@@ -80,6 +82,7 @@ public class DMRdmService {
public
String
getUidByPlatformOpenId
(
String
platform
,
String
openId
)
{
String
key
=
AdamRedisConst
.
IDENTITY_THIRD_PARTY
+
platform
+
":"
+
openId
;
long
s
=
System
.
currentTimeMillis
();
String
val
=
(
String
)
redisUtil
.
get
(
key
);
// if (StringUtils.isEmpty(val)) {
// Query query = Query.query(Criteria.where("openId").is(openId).and("platform").is(platform).and("state").is(1));
...
...
@@ -92,6 +95,7 @@ public class DMRdmService {
// redisUtil.set(key, vo.getUid());
// }
// }
log
.
debug
(
"#RDM耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
val
;
}
...
...
@@ -107,6 +111,7 @@ public class DMRdmService {
public
AdamUserInfoVo
getUserInfoVoByUid
(
String
uid
)
{
String
rk
=
AdamRedisConst
.
INFO_USER
.
concat
(
uid
);
long
s
=
System
.
currentTimeMillis
();
AdamUserInfoVo
vo
=
(
AdamUserInfoVo
)
redisUtil
.
get
(
rk
);
// if (null == vo) {
// s = System.currentTimeMillis();
...
...
@@ -116,6 +121,7 @@ public class DMRdmService {
//
// if (null != vo) redisUtil.set(rk, vo);
// }
log
.
debug
(
"#RDM耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
vo
;
}
...
...
@@ -131,6 +137,7 @@ public class DMRdmService {
public
AdamRealInfoVo
getRealInfoVoByUid
(
String
uid
)
{
String
rk
=
AdamRedisConst
.
INFO_REAL_NAME
.
concat
(
uid
);
long
s
=
System
.
currentTimeMillis
();
AdamRealInfoVo
vo
=
(
AdamRealInfoVo
)
redisUtil
.
get
(
rk
);
// if (null == vo) {
// s = System.currentTimeMillis();
...
...
@@ -144,6 +151,7 @@ public class DMRdmService {
vo
.
setName
(
SensitizeUtil
.
chineseName
(
vo
.
getName
()));
vo
.
setIdCard
(
SensitizeUtil
.
custom
(
vo
.
getIdCard
(),
3
,
2
));
}
log
.
debug
(
"#RDM耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
vo
;
}
...
...
@@ -166,6 +174,7 @@ public class DMRdmService {
public
List
<
AdamThirdPartInfoVo
>
getThirdPartVoListByUid
(
String
uid
)
{
String
rk
=
AdamRedisConst
.
INFO_THIRD_PARTY
.
concat
(
uid
);
long
s
=
System
.
currentTimeMillis
();
List
<
AdamThirdPartInfoVo
>
thirdPartInfoVos
=
(
List
<
AdamThirdPartInfoVo
>)
redisUtil
.
get
(
rk
);
// if (CollectionUtils.isEmpty(thirdPartInfoVos)) {
// s = System.currentTimeMillis();
...
...
@@ -175,6 +184,7 @@ public class DMRdmService {
//
// if (!CollectionUtils.isEmpty(thirdPartInfoVos)) redisUtil.set(rk, thirdPartInfoVos);
// }
log
.
debug
(
"#RDM耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
thirdPartInfoVos
;
}
...
...
@@ -196,10 +206,7 @@ public class DMRdmService {
public
AdamThirdPartInfoVo
getThirdPartVoByUidPlatform
(
List
<
AdamThirdPartInfoVo
>
vos
,
String
platform
)
{
if
(!
CollectionUtils
.
isEmpty
(
vos
))
{
Optional
<
AdamThirdPartInfoVo
>
any
=
vos
.
stream
().
filter
(
r
->
r
.
getPlatform
().
equals
(
platform
)).
findAny
();
if
(
any
.
isPresent
())
{
return
any
.
get
();
}
return
vos
.
stream
().
filter
(
r
->
r
.
getPlatform
().
equals
(
platform
)).
findAny
().
orElse
(
null
);
}
return
null
;
}
...
...
@@ -209,10 +216,7 @@ public class DMRdmService {
if
(!
CollectionUtils
.
isEmpty
(
vos
))
{
// for (AdamThirdPartInfoVo r : vos)
// if (platform.equals(r.getPlatform())) return r;
Optional
<
AdamThirdPartInfoVo
>
any
=
vos
.
stream
().
filter
(
r
->
r
.
getPlatform
().
equals
(
platform
)).
findAny
();
if
(
any
.
isPresent
())
{
return
any
.
get
();
}
return
vos
.
stream
().
filter
(
r
->
r
.
getPlatform
().
equals
(
platform
)).
findAny
().
orElse
(
null
);
}
return
null
;
}
...
...
@@ -229,6 +233,7 @@ public class DMRdmService {
public
List
<
AdamEntersVo
>
getEntersVoByUid
(
String
uid
)
{
String
rk
=
AdamRedisConst
.
INFO_ENTERS
.
concat
(
uid
);
long
s
=
System
.
currentTimeMillis
();
ArrayList
<
AdamEntersVo
>
vos
=
(
ArrayList
<
AdamEntersVo
>)
redisUtil
.
get
(
rk
);
// if (CollectionUtils.isEmpty(vos)) {
// s = System.currentTimeMillis();
...
...
@@ -240,6 +245,7 @@ public class DMRdmService {
//
// if (!CollectionUtils.isEmpty(vos)) redisUtil.set(rk, vos);
// }
log
.
debug
(
"#RDM耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
vos
;
}
...
...
@@ -260,16 +266,18 @@ public class DMRdmService {
}
public
AdamEntersVo
getEntersVoByUidEntersId
(
List
<
AdamEntersVo
>
vos
,
String
entersId
)
{
return
vos
.
stream
().
filter
(
r
->
r
.
getEntersId
().
equals
(
entersId
)).
findAny
().
orElse
(
null
);
return
CollectionUtils
.
isEmpty
(
vos
)
?
null
:
vos
.
stream
().
filter
(
r
->
r
.
getEntersId
().
equals
(
entersId
)).
findAny
().
orElse
(
null
);
}
public
AdamEntersVo
getEntersVoByUidEntersId
(
String
uid
,
String
entersId
)
{
return
this
.
getEntersVoByUid
(
uid
).
stream
().
filter
(
r
->
r
.
getEntersId
().
equals
(
entersId
)).
findAny
().
orElse
(
null
);
List
<
AdamEntersVo
>
vos
=
this
.
getEntersVoByUid
(
uid
);
return
CollectionUtils
.
isEmpty
(
vos
)
?
null
:
vos
.
stream
().
filter
(
r
->
r
.
getEntersId
().
equals
(
entersId
)).
findAny
().
orElse
(
null
);
}
public
List
<
AdamEntersVo
>
getEntersVoByUidEntersIds
(
String
uid
,
String
...
entersIds
)
{
List
<
String
>
entersIdList
=
Arrays
.
asList
(
entersIds
);
return
this
.
getEntersVoByUid
(
uid
).
stream
().
filter
(
r
->
entersIdList
.
contains
(
r
.
getEntersId
())).
collect
(
Collectors
.
toList
());
List
<
AdamEntersVo
>
vos
=
this
.
getEntersVoByUid
(
uid
);
return
CollectionUtils
.
isEmpty
(
vos
)
?
null
:
vos
.
stream
().
filter
(
r
->
entersIdList
.
contains
(
r
.
getEntersId
())).
collect
(
Collectors
.
toList
());
}
public
void
delEntersVoByUid
(
String
uid
)
{
...
...
@@ -284,6 +292,7 @@ public class DMRdmService {
public
List
<
AdamAddressesVo
>
getAddressesVoByUid
(
String
uid
)
{
String
rk
=
AdamRedisConst
.
INFO_ADDRESSES
.
concat
(
uid
);
long
s
=
System
.
currentTimeMillis
();
List
<
AdamAddressesVo
>
vos
=
(
List
<
AdamAddressesVo
>)
redisUtil
.
get
(
rk
);
// if (CollectionUtils.isEmpty(vos)) {
// s = System.currentTimeMillis();
...
...
@@ -295,6 +304,7 @@ public class DMRdmService {
//
// if (!CollectionUtils.isEmpty(vos)) redisUtil.set(rk, vos);
// }
log
.
debug
(
"#RDM耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
vos
;
}
...
...
@@ -315,11 +325,12 @@ public class DMRdmService {
}
public
AdamAddressesVo
getAddressesVoByUidAddressesId
(
List
<
AdamAddressesVo
>
vos
,
String
addressesId
)
{
return
vos
.
stream
().
filter
(
r
->
r
.
getAddressesId
().
equals
(
addressesId
)).
findAny
().
orElse
(
null
);
return
CollectionUtils
.
isEmpty
(
vos
)
?
null
:
vos
.
stream
().
filter
(
r
->
r
.
getAddressesId
().
equals
(
addressesId
)).
findAny
().
orElse
(
null
);
}
public
AdamAddressesVo
getAddressesVoByUidAddressesId
(
String
uid
,
String
addressesId
)
{
return
this
.
getAddressesVoByUid
(
uid
).
stream
().
filter
(
r
->
r
.
getAddressesId
().
equals
(
addressesId
)).
findAny
().
orElse
(
null
);
List
<
AdamAddressesVo
>
vos
=
this
.
getAddressesVoByUid
(
uid
);
return
CollectionUtils
.
isEmpty
(
vos
)
?
null
:
vos
.
stream
().
filter
(
r
->
r
.
getAddressesId
().
equals
(
addressesId
)).
findAny
().
orElse
(
null
);
}
public
void
delAddressesVoByUid
(
String
uid
)
{
...
...
@@ -344,6 +355,7 @@ public class DMRdmService {
public
AdamUserMemberVo
getUserMemberVoByUid
(
String
uid
)
{
String
rk
=
AdamRedisConst
.
INFO_USER_MEMBER
.
concat
(
uid
);
long
s
=
System
.
currentTimeMillis
();
AdamUserMemberVo
vo
=
(
AdamUserMemberVo
)
redisUtil
.
get
(
rk
);
// if (null == vo) {
// s = System.currentTimeMillis();
...
...
@@ -355,6 +367,7 @@ public class DMRdmService {
if
(
null
!=
vo
)
{
vo
.
setState
(
vo
.
getState
()
==
1
?
(
vo
.
getExpiryAt
().
isAfter
(
LocalDateTime
.
now
())
?
1
:
2
)
:
vo
.
getState
());
}
log
.
debug
(
"#RDM耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
vo
;
}
...
...
@@ -369,6 +382,7 @@ public class DMRdmService {
}
public
AdamMemberSimpleVo
getMemberSimpleVo
()
{
long
s
=
System
.
currentTimeMillis
();
AdamMemberSimpleVo
vo
=
(
AdamMemberSimpleVo
)
redisUtil
.
get
(
AdamRedisConst
.
INFO_MEMBER_SIMPLE
);
// if (null == vo) {
// long s = System.currentTimeMillis();
...
...
@@ -382,6 +396,7 @@ public class DMRdmService {
//
// if (null != vo) redisUtil.set(AdamRedisConst.INFO_MEMBER_SIMPLE, vo);
// }
log
.
debug
(
"#RDM耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
vo
;
}
...
...
@@ -393,6 +408,7 @@ public class DMRdmService {
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();
...
...
@@ -403,6 +419,7 @@ public class DMRdmService {
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
// if (null != vo) redisUtil.set(key, vo);
// }
log
.
debug
(
"#RDM耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
vo
;
}
...
...
@@ -418,6 +435,7 @@ public class DMRdmService {
public
List
<
AdamMemberPriceVo
>
getMemberPriceVoByMemberId
(
String
memberId
)
{
String
key
=
AdamRedisConst
.
INFO_MEMBER_PRICE
.
concat
(
memberId
);
long
s
=
System
.
currentTimeMillis
();
List
<
AdamMemberPriceVo
>
vos
=
(
List
<
AdamMemberPriceVo
>)
redisUtil
.
get
(
key
);
// if (CollectionUtils.isEmpty(vos)) {
// s = System.currentTimeMillis();
...
...
@@ -429,23 +447,13 @@ public class DMRdmService {
//
// if (!CollectionUtils.isEmpty(vos)) redisUtil.set(key, vos);
// }
log
.
debug
(
"#RDM耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
vos
;
}
public
AdamMemberPriceVo
getMemberPriceVoByPriceId
(
String
memberId
,
String
memberPriceId
)
{
List
<
AdamMemberPriceVo
>
vos
=
this
.
getMemberPriceVoByMemberId
(
memberId
);
if
(!
CollectionUtils
.
isEmpty
(
vos
))
{
// for (AdamMemberPriceVo r : vos) {
// if (memberPriceId.equals(r.getMemberPriceId())) {
// return r;
// }
// }
Optional
<
AdamMemberPriceVo
>
any
=
vos
.
stream
().
filter
(
r
->
r
.
getMemberPriceId
().
equals
(
memberPriceId
)).
findAny
();
if
(
any
.
isPresent
())
{
return
any
.
get
();
}
}
return
null
;
return
CollectionUtils
.
isEmpty
(
vos
)
?
null
:
vos
.
stream
().
filter
(
r
->
r
.
getMemberPriceId
().
equals
(
memberPriceId
)).
findAny
().
orElse
(
null
);
}
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | <MEMBER_ID, List<AdamMemberRightsVo>> */
...
...
@@ -491,7 +499,9 @@ public class DMRdmService {
}
public
ArrayList
<
AdamMemberOrderVo
>
getMemberOrderVosByUid
(
String
uid
)
{
long
s
=
System
.
currentTimeMillis
();
ArrayList
<
AdamMemberOrderVo
>
vos
=
(
ArrayList
<
AdamMemberOrderVo
>)
redisUtil
.
get
(
AdamRedisConst
.
INFO_MEMBER_ORDER
+
uid
);
log
.
debug
(
"#RDM耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
vos
;
}
...
...
@@ -511,6 +521,10 @@ public class DMRdmService {
return
redisUtil
.
set
(
AdamRedisConst
.
INFO_MEMBER_ORDER
+
uid
,
vos
);
}
public
AdamMemberOrderVo
getMemberOrderVoByOrderNo
(
List
<
AdamMemberOrderVo
>
vos
,
String
orderNo
)
{
return
CollectionUtils
.
isEmpty
(
vos
)
?
null
:
vos
.
stream
().
filter
(
r
->
r
.
getOrderNo
().
equals
(
orderNo
)).
findAny
().
orElse
(
null
);
}
public
void
delMemberOrderVoByUid
(
String
uid
)
{
redisUtil
.
del
(
AdamRedisConst
.
INFO_MEMBER_ORDER
+
uid
);
}
...
...
@@ -523,6 +537,7 @@ public class DMRdmService {
public
AdamMemberOrderVo
getShotMemberOrderVoByOrderNo
(
String
orderNo
)
{
String
key
=
AdamRedisConst
.
SHOT_MEMBER_ORDER
+
orderNo
;
long
s
=
System
.
currentTimeMillis
();
AdamMemberOrderVo
vo
=
(
AdamMemberOrderVo
)
redisUtil
.
get
(
key
);
// if (null == vo) {
// s = System.currentTimeMillis();
...
...
@@ -534,6 +549,7 @@ public class DMRdmService {
//
// if (null != vo) redisUtil.set(key, vo);
// }
log
.
debug
(
"#RDM耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
vo
;
}
...
...
@@ -564,6 +580,7 @@ public class DMRdmService {
public
AdamMemberCodeVo
getMemberCodeVoByCode
(
String
memberCode
)
{
String
key
=
AdamRedisConst
.
INFO_MEMBER_CODE
.
concat
(
memberCode
);
long
s
=
System
.
currentTimeMillis
();
AdamMemberCodeVo
vo
=
(
AdamMemberCodeVo
)
redisUtil
.
get
(
key
);
// if (null == vo) {
// s = System.currentTimeMillis();
...
...
@@ -574,6 +591,7 @@ public class DMRdmService {
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
// if (null != vo && vo.getState() == 0) redisUtil.set(AdamRedisConst.INFO_MEMBER_CODE.concat(memberCode), vo);
// }
log
.
debug
(
"#RDM耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
vo
;
}
...
...
liquidnet-bus-service/liquidnet-service-sweet/docu/db_sweetsugar_structure.sql
View file @
fa7e2b86
...
...
@@ -183,34 +183,6 @@ CREATE TABLE `sweet_manual_shop`
COLLATE
=
utf8_unicode_ci
ROW_FORMAT
=
DYNAMIC
COMMENT
'电子宣传手册商铺表'
;
-- 正在现场服务号关注事件储存用户信息表
drop
TABLE
if
exists
`sweet_wechat_user`
;
CREATE
TABLE
`sweet_wechat_user`
(
`mid`
bigint
unsigned
NOT
NULL
AUTO_INCREMENT
,
`user_id`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'user_id'
,
`openId`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'openId'
,
`unionId`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'unionId'
,
`nickname`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'昵称'
,
`sexDesc`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'性别'
,
`sex`
tinyint
NOT
NULL
DEFAULT
0
COMMENT
'性别 男1'
,
`headImgUrl`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'头像'
,
`language`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'zh_CN'
,
`country`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'国家'
,
`province`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'省'
,
`city`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'市'
,
`subscribeTime`
datetime
NULL
DEFAULT
null
COMMENT
'关注时间'
,
`subscribeScene`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'ADD_SCENE_SEARCH 关注方式'
,
`created_at`
datetime
NULL
DEFAULT
CURRENT_TIMESTAMP
COMMENT
'创建时间'
,
`updated_at`
datetime
NULL
DEFAULT
CURRENT_TIMESTAMP
COMMENT
'更新时间'
,
PRIMARY
KEY
(
`mid`
),
KEY
`sweet_wechat_user_user_id`
(
`user_id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
utf8mb4
COLLATE
utf8mb4_unicode_ci
ROW_FORMAT
=
DYNAMIC
COMMENT
'正在现场服务号关注事件储存用户信息表'
;
-- 用户 收藏/喜欢等状态
drop
TABLE
if
exists
`sweet_user_relation`
;
CREATE
TABLE
`sweet_user_relation`
...
...
@@ -437,3 +409,69 @@ CREATE TABLE `sweet_luck_draw`
COLLATE
utf8mb4_unicode_ci
ROW_FORMAT
=
DYNAMIC
COMMENT
'抽奖表'
;
-- 正在现场服务号关注事件储存用户信息表
drop
TABLE
if
exists
`sweet_wechat_user`
;
CREATE
TABLE
`sweet_wechat_user`
(
`mid`
bigint
unsigned
NOT
NULL
AUTO_INCREMENT
,
`user_id`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'user_id'
,
`openId`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'openId'
,
`unionId`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'unionId'
,
`nickname`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'昵称'
,
`sexDesc`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'性别'
,
`sex`
tinyint
NOT
NULL
DEFAULT
0
COMMENT
'性别 男1'
,
`headImgUrl`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'头像'
,
`language`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'zh_CN'
,
`country`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'国家'
,
`province`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'省'
,
`city`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'市'
,
`subscribeTime`
datetime
NULL
DEFAULT
null
COMMENT
'关注时间'
,
`subscribeScene`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'ADD_SCENE_SEARCH 关注方式'
,
`is_cancel`
tinyint
NOT
NULL
DEFAULT
1
COMMENT
'是否取关 1关注 2已取消'
,
`created_at`
datetime
NULL
DEFAULT
CURRENT_TIMESTAMP
COMMENT
'创建时间'
,
`updated_at`
datetime
NULL
DEFAULT
CURRENT_TIMESTAMP
COMMENT
'更新时间'
,
PRIMARY
KEY
(
`mid`
),
KEY
`sweet_wechat_user_user_id`
(
`user_id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
utf8mb4
COLLATE
utf8mb4_unicode_ci
ROW_FORMAT
=
DYNAMIC
COMMENT
'正在现场服务号关注事件储存用户信息表'
;
-- 答题表
drop
TABLE
if
exists
`sweet_answer`
;
CREATE
TABLE
`sweet_answer`
(
`mid`
bigint
unsigned
NOT
NULL
AUTO_INCREMENT
,
`answer_id`
varchar
(
255
)
NOT
NULL
DEFAULT
''
COMMENT
'answer_id'
,
`phone`
varchar
(
11
)
NOT
NULL
DEFAULT
''
COMMENT
'手机号'
,
`answer_json`
varchar
(
255
)
NOT
NULL
DEFAULT
''
COMMENT
'答案json'
,
`img_url`
varchar
(
255
)
NOT
NULL
DEFAULT
''
COMMENT
'图片'
,
`created_at`
datetime
NULL
DEFAULT
CURRENT_TIMESTAMP
COMMENT
'创建时间'
,
`updated_at`
datetime
NULL
DEFAULT
CURRENT_TIMESTAMP
COMMENT
'更新时间'
,
PRIMARY
KEY
(
`mid`
),
KEY
`sweet_answer_answer_id`
(
`answer_id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
utf8mb4
COLLATE
utf8mb4_unicode_ci
ROW_FORMAT
=
DYNAMIC
COMMENT
'答题表'
;
-- 提醒记录
drop
TABLE
if
exists
`sweet_remind`
;
CREATE
TABLE
`sweet_remind`
(
`mid`
bigint
unsigned
NOT
NULL
AUTO_INCREMENT
,
`remind_id`
varchar
(
255
)
NOT
NULL
DEFAULT
''
COMMENT
'remind_id'
,
`openId`
varchar
(
255
)
NOT
NULL
DEFAULT
''
COMMENT
'openId'
,
`unionId`
varchar
(
255
)
NOT
NULL
DEFAULT
''
COMMENT
'unionId'
,
`performancesId`
varchar
(
255
)
NOT
NULL
DEFAULT
''
COMMENT
'演出id'
,
`is_push`
tinyint
NOT
NULL
DEFAULT
1
COMMENT
'是否推送 1未推送 2已推送'
,
`push_time`
varchar
(
255
)
NOT
NULL
DEFAULT
''
COMMENT
'推送时间'
,
`created_at`
datetime
NULL
DEFAULT
CURRENT_TIMESTAMP
COMMENT
'创建时间'
,
`updated_at`
datetime
NULL
DEFAULT
CURRENT_TIMESTAMP
COMMENT
'更新时间'
,
PRIMARY
KEY
(
`mid`
),
KEY
`sweet_remind_id`
(
`remind_id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
utf8mb4
COLLATE
utf8mb4_unicode_ci
ROW_FORMAT
=
DYNAMIC
COMMENT
'提醒记录表'
;
liquidnet-bus-service/liquidnet-service-sweet/docu/redis_queue_create.txt
View file @
fa7e2b86
...
...
@@ -8,3 +8,15 @@ XGROUP CREATE sweet:stream:rk.artists.mdsk.relation group.artists.mdsk.relation
-- 抽奖 --
XADD sweet:stream:rk.luckDraw * 0 0
XGROUP CREATE sweet:stream:rk.luckDraw group.luckDraw 0
-- 答案 --
XADD sweet:stream:rk.answerInsert * 0 0
XGROUP CREATE sweet:stream:rk.answerInsert group.answerInsert 0
-- 关注服务号的用户信息 --
XADD sweet:stream:rk.sweetUserInsert * 0 0
XGROUP CREATE sweet:stream:rk.sweetUserInsert group.sweetUserInsert 0
-- 提醒记录 --
XADD sweet:stream:rk.remindInsert * 0 0
XGROUP CREATE sweet:stream:rk.remindInsert group.remindInsert 0
\ No newline at end of file
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/constant/SweetConstant.java
View file @
fa7e2b86
...
...
@@ -15,10 +15,9 @@ public class SweetConstant {
public
final
static
String
REDIS_KEY_SWEET_SHOP
=
"sweet:artists:shop:manual:"
;
public
final
static
String
REDIS_KEY_SWEET_LUCK_DRAW
=
"sweet:artists:luckDraw:uid:"
;
public
final
static
String
REDIS_KEY_SWEET_REMIND
=
"sweet:remind:unionId:"
;
public
static
final
String
REDIS_KEY_SWEET_REMIND_ALL
=
"sweet:remind:unionId*"
;
public
final
static
String
REDIS_KEY_SWEET_WECHAT_USER_INFO
=
"sweet:wechatUser:unionId:"
;
public
final
static
String
REDIS_KEY_SWEET_WECHAT_USER_UNIONID
=
"sweet:wechatUser:openId:"
;
public
final
static
String
REDIS_KEY_SWEET_ANSWER_PHONE
=
"sweet:answer:phone:"
;
// public enum ManualPosition {
// artist("艺人","artist"),
...
...
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/controller/SweetAnswerController.java
0 → 100644
View file @
fa7e2b86
package
com
.
liquidnet
.
service
.
sweet
.
controller
;
import
com.github.pagehelper.PageInfo
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.sweet.entity.SweetArtists
;
import
com.liquidnet.service.sweet.service.ISweetAnswerService
;
import
com.liquidnet.service.sweet.vo.SweetAnswerVo
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
/**
* <p>
* 答题表 前端控制器
* </p>
*
* @author jiangxiulong
* @since 2021-08-12
*/
@Api
(
tags
=
"答案"
)
@RestController
@RequestMapping
(
"/sweetAnswer"
)
public
class
SweetAnswerController
{
@Autowired
private
ISweetAnswerService
sweetAnswerService
;
@GetMapping
(
"info"
)
@ApiOperation
(
"获取答题记录详情"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
dataType
=
"String"
,
name
=
"phone"
,
value
=
"手机号"
,
required
=
true
)
})
public
ResponseDto
<
SweetAnswerVo
>
getInfo
(
@RequestParam
()
String
phone
)
{
return
sweetAnswerService
.
getInfo
(
phone
);
}
@PostMapping
(
"create"
)
@ApiOperation
(
"添加答题记录"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
dataType
=
"String"
,
name
=
"phone"
,
value
=
"手机号"
,
required
=
true
),
@ApiImplicitParam
(
type
=
"form"
,
dataType
=
"String"
,
name
=
"answerJson"
,
value
=
"答案json"
,
required
=
true
),
@ApiImplicitParam
(
type
=
"form"
,
dataType
=
"String"
,
name
=
"imgUrl"
,
value
=
"图片地址"
,
required
=
true
),
})
public
ResponseDto
<
Boolean
>
add
(
@RequestParam
()
String
phone
,
@RequestParam
()
String
answerJson
,
@RequestParam
()
String
imgUrl
)
{
return
sweetAnswerService
.
create
(
phone
,
answerJson
,
imgUrl
);
}
}
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/controller/SweetAppletController.java
View file @
fa7e2b86
...
...
@@ -8,6 +8,7 @@ import com.liquidnet.service.sweet.dto.SweetManualArtistListDto;
import
com.liquidnet.service.sweet.entity.SweetManualNotify
;
import
com.liquidnet.service.sweet.entity.SweetManualShop
;
import
com.liquidnet.service.sweet.entity.SweetRichtext
;
import
com.liquidnet.service.sweet.utils.ObjectUtil
;
import
com.liquidnet.service.sweet.utils.RedisDataUtils
;
import
com.liquidnet.service.sweet.vo.SweetArtistsRelationVo
;
import
com.liquidnet.service.sweet.vo.SweetManualShopAllVo
;
...
...
@@ -35,7 +36,7 @@ public class SweetAppletController {
})
public
ResponseDto
<
List
<
SweetManualAppletDto
>>
timeSelect
(
@RequestParam
String
name
)
{
List
<
SweetManualAppletDto
>
dto
=
redisDataUtils
.
getPushList
();
List
<
SweetManualAppletDto
>
vo
=
new
ArrayList
<>
();
List
<
SweetManualAppletDto
>
vo
=
ObjectUtil
.
getSweetManualAppletDtoList
();
for
(
SweetManualAppletDto
item
:
dto
)
{
if
(
item
.
getTitle
().
contains
(
name
))
{
vo
.
add
(
item
);
...
...
@@ -90,8 +91,8 @@ public class SweetAppletController {
@RequestParam
(
required
=
false
)
Integer
size
,
@RequestParam
String
uid
)
{
List
<
SweetManualArtistListDto
>
allReturnArtist
=
new
Array
List
();
List
<
SweetManualArtistListDto
>
returnArtist
=
new
Array
List
();
List
<
SweetManualArtistListDto
>
allReturnArtist
=
ObjectUtil
.
getSweetManualArtistListDto
List
();
List
<
SweetManualArtistListDto
>
returnArtist
=
ObjectUtil
.
getSweetManualArtistListDto
List
();
SweetManualArtistList2Dto
data
=
redisDataUtils
.
getTimeList
(
manualId
);
SweetArtistsRelationVo
relationData
=
redisDataUtils
.
getArtistsRelationRedisVo
(
uid
,
manualId
);
...
...
@@ -296,9 +297,9 @@ public class SweetAppletController {
public
ResponseDto
<
SweetManualShopAllVo
>
manualShop
(
@RequestParam
String
manualId
)
{
List
<
SweetManualShop
>
shopList
=
redisDataUtils
.
getManualShopRedisData
(
manualId
);
List
<
SweetManualShop
>
recommend
=
new
ArrayList
<>
();
List
<
SweetManualShop
>
eat
=
new
ArrayList
<>
();
List
<
SweetManualShop
>
play
=
new
ArrayList
<>
();
List
<
SweetManualShop
>
recommend
=
ObjectUtil
.
getSweetManualShopList
();
List
<
SweetManualShop
>
eat
=
ObjectUtil
.
getSweetManualShopList
();
List
<
SweetManualShop
>
play
=
ObjectUtil
.
getSweetManualShopList
();
SweetManualShopAllVo
vo
=
SweetManualShopAllVo
.
getNew
();
for
(
SweetManualShop
item
:
shopList
)
{
...
...
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/controller/SweetAppletMdskController.java
View file @
fa7e2b86
...
...
@@ -4,6 +4,7 @@ import com.liquidnet.commons.lang.util.CollectionUtil;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.sweet.dto.*
;
import
com.liquidnet.service.sweet.entity.*
;
import
com.liquidnet.service.sweet.utils.ObjectUtil
;
import
com.liquidnet.service.sweet.utils.RedisDataUtils
;
import
com.liquidnet.service.sweet.utils.RedisMDSKDataUtils
;
import
com.liquidnet.service.sweet.vo.SweetArtistsRelationVo
;
...
...
@@ -36,7 +37,7 @@ public class SweetAppletMdskController {
})
public
ResponseDto
<
List
<
SweetManualAppletMDSKDto
>>
timeSelect
(
@RequestParam
String
name
)
{
List
<
SweetManualAppletMDSKDto
>
dto
=
redisDataUtils
.
getPushList
();
List
<
SweetManualAppletMDSKDto
>
vo
=
new
ArrayList
<>
();
List
<
SweetManualAppletMDSKDto
>
vo
=
ObjectUtil
.
getSweetManualAppletMDSKDtoList
();
for
(
SweetManualAppletMDSKDto
item
:
dto
)
{
if
(
item
.
getTitle
().
contains
(
name
))
{
vo
.
add
(
item
);
...
...
@@ -91,8 +92,8 @@ public class SweetAppletMdskController {
@RequestParam
(
required
=
false
)
Integer
size
,
@RequestParam
String
uid
)
{
List
<
SweetManualArtistListMDSKDto
>
allReturnArtist
=
new
Array
List
();
List
<
SweetManualArtistListMDSKDto
>
returnArtist
=
new
Array
List
();
List
<
SweetManualArtistListMDSKDto
>
allReturnArtist
=
ObjectUtil
.
getSweetManualArtistListMDSKDto
List
();
List
<
SweetManualArtistListMDSKDto
>
returnArtist
=
ObjectUtil
.
getSweetManualArtistListMDSKDto
List
();
SweetManualArtistList2MDSKDto
data
=
redisDataUtils
.
getTimeList
(
manualId
);
SweetArtistsRelationVo
relationData
=
redisDataUtils
.
getArtistsRelationRedisVo
(
uid
,
manualId
);
...
...
@@ -240,9 +241,9 @@ public class SweetAppletMdskController {
if
(
vo
.
getWatchList
()
!=
null
)
{
watchSize
=
vo
.
getWatchList
().
size
();
}
HashMap
<
String
,
Object
>
map
=
CollectionUtil
.
mapStringObject
();
map
.
put
(
"signSize"
,
signSize
);
map
.
put
(
"watchSize"
,
watchSize
);
HashMap
<
String
,
Object
>
map
=
CollectionUtil
.
mapStringObject
();
map
.
put
(
"signSize"
,
signSize
);
map
.
put
(
"watchSize"
,
watchSize
);
return
ResponseDto
.
success
(
map
);
}
...
...
@@ -297,9 +298,9 @@ public class SweetAppletMdskController {
public
ResponseDto
<
SweetManualShopMdskAllVo
>
manualShop
(
@RequestParam
String
manualId
)
{
List
<
SweetManualShopMdsk
>
shopList
=
redisDataUtils
.
getManualShopRedisData
(
manualId
);
List
<
SweetManualShopMdsk
>
recommend
=
new
ArrayList
<>
();
List
<
SweetManualShopMdsk
>
eat
=
new
ArrayList
<>
();
List
<
SweetManualShopMdsk
>
play
=
new
ArrayList
<>
();
List
<
SweetManualShopMdsk
>
recommend
=
ObjectUtil
.
getSweetManualShopMdskList
();
List
<
SweetManualShopMdsk
>
eat
=
ObjectUtil
.
getSweetManualShopMdskList
();
List
<
SweetManualShopMdsk
>
play
=
ObjectUtil
.
getSweetManualShopMdskList
();
SweetManualShopMdskAllVo
vo
=
SweetManualShopMdskAllVo
.
getNew
();
for
(
SweetManualShopMdsk
item
:
shopList
)
{
...
...
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/controller/SweetWechatLoginController.java
View file @
fa7e2b86
...
...
@@ -26,7 +26,7 @@ public class SweetWechatLoginController {
@ApiImplicitParam
(
type
=
"query"
,
dataType
=
"String"
,
name
=
"code"
,
value
=
"微信code"
,
required
=
true
),
@ApiImplicitParam
(
type
=
"query"
,
dataType
=
"String"
,
name
=
"encryptedData"
,
value
=
"encryptedData"
,
required
=
true
),
@ApiImplicitParam
(
type
=
"query"
,
dataType
=
"String"
,
name
=
"iv"
,
value
=
"iv"
,
required
=
true
),
@ApiImplicitParam
(
type
=
"query"
,
dataType
=
"Integer"
,
name
=
"type"
,
value
=
"1草莓 2五百里 3mdsk"
),
@ApiImplicitParam
(
type
=
"query"
,
dataType
=
"Integer"
,
name
=
"type"
,
value
=
"1草莓 2五百里 3mdsk
4正在
"
),
})
public
ResponseDto
userInfo
(
@RequestParam
()
String
code
,
...
...
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/controller/SweetWechatTemplateController.java
View file @
fa7e2b86
...
...
@@ -20,7 +20,7 @@ public class SweetWechatTemplateController {
@GetMapping
(
"send"
)
@ApiOperation
(
"发送模版消息"
)
public
ResponseDto
send
()
{
return
sweetTemplateService
.
sendMsg
();
return
sweetTemplateService
.
send
Remind
Msg
();
}
@PostMapping
(
"remind"
)
...
...
@@ -38,4 +38,20 @@ public class SweetWechatTemplateController {
return
sweetTemplateService
.
remind
(
openId
,
unionId
,
performancesId
);
}
@PostMapping
(
"followStatus"
)
@ApiOperation
(
"获取关注状态"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
dataType
=
"String"
,
name
=
"unionId"
,
value
=
"微信unionId"
,
required
=
true
),
})
public
ResponseDto
followStatus
(
@RequestParam
()
String
unionId
)
{
boolean
status
=
sweetTemplateService
.
followStatus
(
unionId
);
if
(
status
)
{
return
ResponseDto
.
success
(
1
);
}
else
{
return
ResponseDto
.
success
(
2
);
}
}
}
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/entity/SweetAnswer.java
0 → 100644
View file @
fa7e2b86
package
com
.
liquidnet
.
service
.
sweet
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
java.time.LocalDateTime
;
import
java.io.Serializable
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
* <p>
* 答题表
* </p>
*
* @author jiangxiulong
* @since 2021-08-12
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
public
class
SweetAnswer
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@TableId
(
value
=
"mid"
,
type
=
IdType
.
AUTO
)
private
Long
mid
;
/**
* answer_id
*/
private
String
answerId
;
/**
* 手机号
*/
private
String
phone
;
/**
* 答案json
*/
private
String
answerJson
;
/**
* 图片
*/
private
String
imgUrl
;
/**
* 创建时间
*/
private
LocalDateTime
createdAt
;
/**
* 更新时间
*/
private
LocalDateTime
updatedAt
;
private
static
final
SweetAnswer
obj
=
new
SweetAnswer
();
public
static
SweetAnswer
getNew
()
{
try
{
return
(
SweetAnswer
)
obj
.
clone
();
}
catch
(
CloneNotSupportedException
e
)
{
return
new
SweetAnswer
();
}
}
}
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/entity/SweetRemind.java
0 → 100644
View file @
fa7e2b86
package
com
.
liquidnet
.
service
.
sweet
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
java.time.LocalDateTime
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
java.io.Serializable
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
* <p>
* 提醒记录表
* </p>
*
* @author jiangxiulong
* @since 2021-08-13
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
public
class
SweetRemind
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@TableId
(
value
=
"mid"
,
type
=
IdType
.
AUTO
)
private
Long
mid
;
/**
* remind_id
*/
private
String
remindId
;
/**
* openId
*/
@TableField
(
"openId"
)
private
String
openId
;
/**
* unionId
*/
@TableField
(
"unionId"
)
private
String
unionId
;
/**
* 演出id
*/
@TableField
(
"performancesId"
)
private
String
performancesId
;
/**
* 是否推送 1未推送 2已推送
*/
private
Integer
isPush
;
/**
* 推送时间
*/
private
String
pushTime
;
/**
* 创建时间
*/
private
LocalDateTime
createdAt
;
/**
* 更新时间
*/
private
LocalDateTime
updatedAt
;
private
static
final
SweetRemind
obj
=
new
SweetRemind
();
public
static
SweetRemind
getNew
()
{
try
{
return
(
SweetRemind
)
obj
.
clone
();
}
catch
(
CloneNotSupportedException
e
)
{
return
new
SweetRemind
();
}
}
}
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/entity/SweetWechatUser.java
View file @
fa7e2b86
...
...
@@ -96,6 +96,11 @@ public class SweetWechatUser implements Serializable {
@TableField
(
"subscribeScene"
)
private
String
subscribeScene
;
/**
* 是否取消关注
*/
private
Integer
isCancel
;
/**
* 创建时间
*/
...
...
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/handler/SubscribeHandler.java
View file @
fa7e2b86
package
com
.
liquidnet
.
service
.
sweet
.
handler
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.commons.lang.util.DateUtil
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.base.constant.MQConst
;
import
com.liquidnet.service.sweet.entity.SweetWechatUser
;
import
com.liquidnet.service.sweet.mapper.SweetWechatUserMapper
;
import
com.liquidnet.service.sweet.service.impl.SweetWechatTemplateServiceImpl
;
import
com.liquidnet.service.sweet.utils.QueueUtils
;
import
com.liquidnet.service.sweet.utils.RedisDataUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
me.chanjar.weixin.common.error.WxErrorException
;
...
...
@@ -18,6 +23,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Component
;
import
java.time.LocalDateTime
;
import
java.util.LinkedList
;
import
java.util.Map
;
/**
...
...
@@ -35,11 +41,16 @@ public class SubscribeHandler implements WxMpMessageHandler {
private
SweetWechatUserMapper
sweetWechatUserMapper
;
@Autowired
private
RedisDataUtils
redisDataUtils
;
@Autowired
private
QueueUtils
queueUtils
;
@Autowired
private
SweetWechatTemplateServiceImpl
sweetWechatTemplateService
;
@Override
public
WxMpXmlOutMessage
handle
(
WxMpXmlMessage
wxMessage
,
Map
<
String
,
Object
>
context
,
WxMpService
wxMpService
,
WxSessionManager
sessionManager
)
throws
WxErrorException
{
log
.
info
(
"接收到一个
扫码
订阅事件:[{}]"
,
wxMessage
.
toString
());
log
.
info
(
"接收到一个订阅事件:[{}]"
,
wxMessage
.
toString
());
// 1、获取微信用户信息
WxMpUser
wxMpUser
=
wxMpService
.
getUserService
().
userInfo
(
wxMessage
.
getFromUser
());
if
(
null
==
wxMpUser
)
{
...
...
@@ -48,7 +59,7 @@ public class SubscribeHandler implements WxMpMessageHandler {
}
log
.
info
(
"根据 openId:[{}]获取到的微信用户信息:[{}]"
,
wxMessage
.
getFromUser
(),
wxMpUser
.
toString
());
// 记录用户信息
SweetWechatUser
userInfo
=
sweetWechatUserMapper
.
selectOne
(
Wrappers
.
lambdaQuery
(
SweetWechatUser
.
class
).
eq
(
SweetWechatUser:
:
getOpenId
,
wxMpUser
.
getOpenId
()
));
SweetWechatUser
userInfo
=
redisDataUtils
.
getSweetWechatUser
(
wxMpUser
.
getUnionId
(
));
SweetWechatUser
sweetWechatUser
=
SweetWechatUser
.
getNew
();
sweetWechatUser
.
setOpenId
(
wxMpUser
.
getOpenId
());
sweetWechatUser
.
setUnionId
(
wxMpUser
.
getUnionId
());
...
...
@@ -64,19 +75,22 @@ public class SubscribeHandler implements WxMpMessageHandler {
sweetWechatUser
.
setSubscribeScene
(
wxMpUser
.
getSubscribeScene
());
if
(
null
==
userInfo
)
{
sweetWechatUser
.
setUserId
(
IDGenerator
.
nextSnowId
());
sweetWechatUserMapper
.
insert
(
sweetWechatUser
);
}
else
{
sweetWechatUser
.
setUpdatedAt
(
LocalDateTime
.
now
());
sweetWechatUserMapper
.
update
(
sweetWechatUser
,
Wrappers
.
lambdaUpdate
(
SweetWechatUser
.
class
).
eq
(
SweetWechatUser:
:
getUserId
,
userInfo
.
getUserId
()));
}
String
unionId
=
wxMpUser
.
getUnionId
();
if
(!
unionId
.
isEmpty
())
{
if
(
null
!=
userInfo
)
{
sweetWechatUser
.
setMid
(
userInfo
.
getMid
());
sweetWechatUser
.
setUserId
(
userInfo
.
getUserId
());
sweetWechatUser
.
setCreatedAt
(
userInfo
.
getCreatedAt
());
}
LinkedList
<
String
>
sqls
=
CollectionUtil
.
linkedListString
();
LinkedList
<
Object
[]>
sqlsDataA
=
CollectionUtil
.
linkedListObjectArr
();
LocalDateTime
now
=
LocalDateTime
.
now
();
sqls
.
add
(
SqlMapping
.
get
(
"sweet_user.insert"
));
sqlsDataA
.
add
(
new
Object
[]{
sweetWechatUser
.
getUserId
(),
sweetWechatUser
.
getOpenId
(),
sweetWechatUser
.
getUnionId
(),
sweetWechatUser
.
getNickname
(),
sweetWechatUser
.
getSexDesc
(),
sweetWechatUser
.
getSex
(),
sweetWechatUser
.
getHeadImgUrl
(),
sweetWechatUser
.
getLanguage
(),
sweetWechatUser
.
getCountry
(),
sweetWechatUser
.
getProvince
(),
sweetWechatUser
.
getCity
(),
sweetWechatUser
.
getSubscribeTime
(),
sweetWechatUser
.
getSubscribeScene
()
});
queueUtils
.
sendMsgByRedis
(
MQConst
.
SweetQueue
.
SWEET_USER_INSERT_DRAW
.
getKey
(),
SqlMapping
.
gets
(
sqls
,
sqlsDataA
));
// 入缓存
redisDataUtils
.
setSweetWechatUser
(
sweetWechatUser
);
//发送模版消息
sweetWechatTemplateService
.
subscribeSend
(
sweetWechatUser
);
}
return
null
;
...
...
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/handler/UnsubscribeHandler.java
View file @
fa7e2b86
package
com
.
liquidnet
.
service
.
sweet
.
handler
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.base.constant.MQConst
;
import
com.liquidnet.service.sweet.entity.SweetWechatUser
;
import
com.liquidnet.service.sweet.mapper.SweetWechatUserMapper
;
import
com.liquidnet.service.sweet.utils.QueueUtils
;
import
com.liquidnet.service.sweet.utils.RedisDataUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
me.chanjar.weixin.common.error.WxErrorException
;
import
me.chanjar.weixin.common.session.WxSessionManager
;
...
...
@@ -7,8 +14,12 @@ import me.chanjar.weixin.mp.api.WxMpMessageHandler;
import
me.chanjar.weixin.mp.api.WxMpService
;
import
me.chanjar.weixin.mp.bean.message.WxMpXmlMessage
;
import
me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage
;
import
me.chanjar.weixin.mp.bean.result.WxMpUser
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.time.LocalDateTime
;
import
java.util.LinkedList
;
import
java.util.Map
;
/**
...
...
@@ -23,10 +34,42 @@ import java.util.Map;
@Slf4j
public
class
UnsubscribeHandler
implements
WxMpMessageHandler
{
@Autowired
private
SweetWechatUserMapper
sweetWechatUserMapper
;
@Autowired
private
RedisDataUtils
redisDataUtils
;
@Autowired
private
QueueUtils
queueUtils
;
@Override
public
WxMpXmlOutMessage
handle
(
WxMpXmlMessage
wxMessage
,
Map
<
String
,
Object
>
context
,
WxMpService
wxMpService
,
WxSessionManager
sessionManager
)
throws
WxErrorException
{
log
.
info
(
"接收到一个扫码取消订阅事件:[{}]"
,
wxMessage
.
toString
());
log
.
info
(
"接收到一个取消订阅事件:[{}]"
,
wxMessage
.
toString
());
// 1、获取微信用户信息
WxMpUser
wxMpUser
=
wxMpService
.
getUserService
().
userInfo
(
wxMessage
.
getFromUser
());
if
(
null
==
wxMpUser
)
{
log
.
warn
(
"从微信公众号获取用户(FromUser)信息:[{}]失败."
,
wxMessage
.
getFromUser
());
return
null
;
}
log
.
info
(
"根据 openId:[{}]获取到的微信用户信息:[{}]"
,
wxMessage
.
getFromUser
(),
wxMpUser
.
toString
());
// 删除用户信息
String
sweetWechatUserUnionid
=
redisDataUtils
.
getSweetWechatUserUnionid
(
wxMpUser
.
getOpenId
());
if
(
null
!=
sweetWechatUserUnionid
&&
!
sweetWechatUserUnionid
.
isEmpty
())
{
SweetWechatUser
userInfo
=
redisDataUtils
.
getSweetWechatUser
(
sweetWechatUserUnionid
);
if
(
null
!=
userInfo
)
{
LinkedList
<
String
>
sqls
=
CollectionUtil
.
linkedListString
();
LinkedList
<
Object
[]>
sqlsDataA
=
CollectionUtil
.
linkedListObjectArr
();
LocalDateTime
now
=
LocalDateTime
.
now
();
sqls
.
add
(
SqlMapping
.
get
(
"sweet_user.update"
));
sqlsDataA
.
add
(
new
Object
[]{
2
,
now
,
sweetWechatUserUnionid
});
queueUtils
.
sendMsgByRedis
(
MQConst
.
SweetQueue
.
SWEET_USER_INSERT_DRAW
.
getKey
(),
SqlMapping
.
gets
(
sqls
,
sqlsDataA
));
redisDataUtils
.
delSweetWechatUser
(
sweetWechatUserUnionid
,
wxMpUser
.
getOpenId
());
}
}
return
null
;
}
}
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/mapper/SweetAnswerMapper.java
0 → 100644
View file @
fa7e2b86
package
com
.
liquidnet
.
service
.
sweet
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.liquidnet.service.sweet.entity.SweetAnswer
;
/**
* <p>
* 答题表 Mapper 接口
* </p>
*
* @author jiangxiulong
* @since 2021-08-12
*/
public
interface
SweetAnswerMapper
extends
BaseMapper
<
SweetAnswer
>
{
}
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/mapper/SweetRemindMapper.java
0 → 100644
View file @
fa7e2b86
package
com
.
liquidnet
.
service
.
sweet
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.liquidnet.service.sweet.entity.SweetRemind
;
/**
* <p>
* 提醒记录表 Mapper 接口
* </p>
*
* @author jiangxiulong
* @since 2021-08-13
*/
public
interface
SweetRemindMapper
extends
BaseMapper
<
SweetRemind
>
{
}
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/service/ISweetAnswerService.java
0 → 100644
View file @
fa7e2b86
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.SweetAnswer
;
import
com.liquidnet.service.sweet.vo.SweetAnswerVo
;
/**
* <p>
* 答题表 服务类
* </p>
*
* @author jiangxiulong
* @since 2021-08-12
*/
public
interface
ISweetAnswerService
extends
IService
<
SweetAnswer
>
{
ResponseDto
<
SweetAnswerVo
>
getInfo
(
String
phone
);
ResponseDto
<
Boolean
>
create
(
String
phone
,
String
answerJson
,
String
imgUrl
);
}
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/service/ISweetRemindService.java
0 → 100644
View file @
fa7e2b86
package
com
.
liquidnet
.
service
.
sweet
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.liquidnet.service.sweet.entity.SweetRemind
;
/**
* <p>
* 提醒记录表 服务类
* </p>
*
* @author jiangxiulong
* @since 2021-08-13
*/
public
interface
ISweetRemindService
extends
IService
<
SweetRemind
>
{
}
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/service/impl/SweetAnswerServiceImpl.java
0 → 100644
View file @
fa7e2b86
package
com
.
liquidnet
.
service
.
sweet
.
service
.
impl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
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.SweetAnswer
;
import
com.liquidnet.service.sweet.mapper.SweetAnswerMapper
;
import
com.liquidnet.service.sweet.service.ISweetAnswerService
;
import
com.liquidnet.service.sweet.utils.QueueUtils
;
import
com.liquidnet.service.sweet.utils.RedisDataUtils
;
import
com.liquidnet.service.sweet.vo.SweetAnswerVo
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.time.LocalDateTime
;
import
java.util.LinkedList
;
/**
* <p>
* 答题表 服务实现类
* </p>
*
* @author jiangxiulong
* @since 2021-08-12
*/
@Service
public
class
SweetAnswerServiceImpl
extends
ServiceImpl
<
SweetAnswerMapper
,
SweetAnswer
>
implements
ISweetAnswerService
{
@Autowired
private
SweetAnswerMapper
sweetAnswerMapper
;
@Autowired
private
RedisDataUtils
redisDataUtils
;
@Autowired
QueueUtils
queueUtils
;
@Override
public
ResponseDto
<
SweetAnswerVo
>
getInfo
(
String
phone
)
{
SweetAnswerVo
sweetAnswerVo
=
redisDataUtils
.
getSweetAnswer
(
phone
);
return
ResponseDto
.
success
(
sweetAnswerVo
);
}
@Override
public
ResponseDto
<
Boolean
>
create
(
String
phone
,
String
answerJson
,
String
imgUrl
)
{
SweetAnswer
sweetAnswer
=
SweetAnswer
.
getNew
();
sweetAnswer
.
setAnswerId
(
IDGenerator
.
nextSnowId
());
sweetAnswer
.
setPhone
(
phone
);
sweetAnswer
.
setAnswerJson
(
answerJson
);
sweetAnswer
.
setImgUrl
(
imgUrl
);
// sweetAnswerMapper.insert(sweetAnswer);
LinkedList
<
String
>
sqls
=
CollectionUtil
.
linkedListString
();
LinkedList
<
Object
[]>
sqlsDataA
=
CollectionUtil
.
linkedListObjectArr
();
LocalDateTime
now
=
LocalDateTime
.
now
();
sqls
.
add
(
SqlMapping
.
get
(
"sweet_answer.insert"
));
sqlsDataA
.
add
(
new
Object
[]{
sweetAnswer
.
getAnswerId
(),
phone
,
answerJson
,
imgUrl
});
queueUtils
.
sendMsgByRedis
(
MQConst
.
SweetQueue
.
ANSWERINSERT_DRAW
.
getKey
(),
SqlMapping
.
gets
(
sqls
,
sqlsDataA
));
SweetAnswerVo
sweetAnswerVo
=
SweetAnswerVo
.
getNew
().
copy
(
sweetAnswer
);
redisDataUtils
.
setSweetAnswer
(
sweetAnswerVo
);
return
ResponseDto
.
success
();
}
}
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/service/impl/SweetRemindServiceImpl.java
0 → 100644
View file @
fa7e2b86
package
com
.
liquidnet
.
service
.
sweet
.
service
.
impl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.liquidnet.service.sweet.entity.SweetRemind
;
import
com.liquidnet.service.sweet.mapper.SweetRemindMapper
;
import
com.liquidnet.service.sweet.service.ISweetRemindService
;
import
org.springframework.stereotype.Service
;
/**
* <p>
* 提醒记录表 服务实现类
* </p>
*
* @author jiangxiulong
* @since 2021-08-13
*/
@Service
public
class
SweetRemindServiceImpl
extends
ServiceImpl
<
SweetRemindMapper
,
SweetRemind
>
implements
ISweetRemindService
{
}
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/service/impl/SweetWechatCallbackServiceImpl.java
View file @
fa7e2b86
...
...
@@ -70,10 +70,10 @@ public class SweetWechatCallbackServiceImpl {
.
end
();
// 取消关注事件
/*
router.rule().async(false).msgType(WxConsts.XmlMsgType.EVENT)
router
.
rule
().
async
(
false
).
msgType
(
WxConsts
.
XmlMsgType
.
EVENT
)
.
event
(
WxConsts
.
EventType
.
UNSUBSCRIBE
)
.
handler
(
unsubscribeHandler
)
.end();
*/
.
end
();
return
router
;
}
...
...
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/service/impl/SweetWechatLoginServiceImpl.java
View file @
fa7e2b86
...
...
@@ -7,6 +7,7 @@ import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
import
cn.binarywang.wx.miniapp.bean.WxMaUserInfo
;
import
cn.binarywang.wx.miniapp.config.WxMaConfig
;
import
cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.base.ResponseDto
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -44,6 +45,11 @@ public class SweetWechatLoginServiceImpl {
@Value
(
"${liquidnet.wechat.applet.mdsk.secret}"
)
private
String
mdskSecret
;
@Value
(
"${liquidnet.wechat.applet.zhengzai.appid}"
)
private
String
zhengzaiAppid
;
@Value
(
"${liquidnet.wechat.applet.zhengzai.secret}"
)
private
String
zhengzaiSecret
;
public
ResponseDto
userInfo
(
String
code
,
String
encryptedData
,
String
iv
,
Integer
type
)
{
log
.
info
(
"\n参数code:[{}] "
,
code
);
log
.
info
(
"\n参数encryptedData:[{}] "
,
encryptedData
);
...
...
@@ -65,6 +71,10 @@ public class SweetWechatLoginServiceImpl {
appId
=
mdskAppid
;
appSecret
=
mdskSecret
;
break
;
case
4
:
appId
=
zhengzaiAppid
;
appSecret
=
zhengzaiSecret
;
break
;
}
WxMaConfig
wxMaConfig
=
wxMaConfig
(
appId
,
appSecret
);
WxMaService
wxMaService
=
wxMaService
(
wxMaConfig
);
...
...
@@ -85,7 +95,7 @@ public class SweetWechatLoginServiceImpl {
String
unionId
=
sessionInfo
.
getUnionid
();
String
openId
=
sessionInfo
.
getOpenid
();
HashMap
userInfo
=
new
HashMap
();
HashMap
<
String
,
Object
>
userInfo
=
CollectionUtil
.
mapStringObject
();
userInfo
.
put
(
"unionId"
,
unionId
);
userInfo
.
put
(
"openId"
,
openId
);
userInfo
.
put
(
"getPhoneNumber"
,
wxMaPhoneNumberInfo
.
getPhoneNumber
());
...
...
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/service/impl/SweetWechatTemplateServiceImpl.java
View file @
fa7e2b86
package
com
.
liquidnet
.
service
.
sweet
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.commons.lang.util.DateUtil
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.kylin.constant.KylinRedisConst
;
import
com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo
;
import
com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo
;
import
com.liquidnet.service.sweet.
constant.SweetConstant
;
import
com.liquidnet.service.sweet.
entity.SweetRemind
;
import
com.liquidnet.service.sweet.entity.SweetWechatUser
;
import
com.liquidnet.service.sweet.mapper.SweetRemindMapper
;
import
com.liquidnet.service.sweet.utils.RedisDataUtils
;
import
com.liquidnet.service.sweet.vo.SweetRemindVo
;
import
lombok.extern.slf4j.Slf4j
;
import
me.chanjar.weixin.common.error.WxErrorException
;
import
me.chanjar.weixin.mp.api.WxMpService
;
...
...
@@ -20,13 +22,13 @@ import me.chanjar.weixin.mp.config.WxMpConfigStorage;
import
me.chanjar.weixin.mp.config.impl.WxMpDefaultConfigImpl
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
java.time.LocalDateTime
;
import
java.time.format.DateTimeFormatter
;
import
java.util.Set
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* <p>
...
...
@@ -47,23 +49,33 @@ public class SweetWechatTemplateServiceImpl {
@Value
(
"${liquidnet.client.admin.h5Url}"
)
private
String
h5Url
;
@Value
(
"${liquidnet.wechat.applet.zhengzai.appid}"
)
private
String
appletAppid
;
@Autowired
private
RedisDataUtils
redisDataUtils
;
@Autowired
private
RedisTemplate
redisTemplate
;
@Autowired
private
RedisUtil
redisUtil
;
public
ResponseDto
send
(
String
templateId
)
{
String
redisKey
=
SweetConstant
.
REDIS_KEY_SWEET_REMIND_ALL
;
Set
<
String
>
keys
=
redisTemplate
.
keys
(
redisKey
);
if
(!
CollectionUtils
.
isEmpty
(
keys
))
{
for
(
String
rkey
:
keys
)
{
@Autowired
private
SweetRemindMapper
sweetRemindMapper
;
public
ResponseDto
sendRemindMsg
()
{
String
templateId
=
"CNLDBZYQoDgTWudicx8WU81Jr9b6RyG9hmK4O0tpK-k"
;
List
<
SweetRemind
>
sweetRemindList
=
sweetRemindMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
SweetRemind
.
class
)
.
eq
(
SweetRemind:
:
getIsPush
,
1
)
);
ArrayList
<
String
>
remindIdList
=
CollectionUtil
.
arrayListString
();
if
(!
CollectionUtils
.
isEmpty
(
sweetRemindList
))
{
for
(
SweetRemind
remindInfo
:
sweetRemindList
)
{
try
{
S
weetRemindVo
remindInfo
=
(
SweetRemindVo
)
redisUtil
.
get
(
rkey
);
S
tring
remindId
=
remindInfo
.
getRemindId
(
);
SweetWechatUser
sweetWechatUser
=
redisDataUtils
.
getSweetWechatUser
(
remindInfo
.
getUnionId
());
KylinPerformanceVo
performanceVo
=
(
KylinPerformanceVo
)
redisUtil
.
get
(
KylinRedisConst
.
PERFORMANCES
.
concat
(
remindInfo
.
getPerformancesId
()));
if
(
null
==
sweetWechatUser
)
{
remindIdList
.
add
(
remindId
);
log
.
info
(
"无用户数据:[UnionId=[{}]"
,
remindInfo
.
getUnionId
());
continue
;
}
...
...
@@ -74,7 +86,6 @@ public class SweetWechatTemplateServiceImpl {
KylinTicketTimesVo
kylinTicketTimesVo
=
performanceVo
.
getTicketTimeList
().
get
(
0
);
LocalDateTime
nowTime
=
LocalDateTime
.
now
();
// LocalDateTime newNowTime = nowTime.minusMinutes(5);
String
nowTimeStr
=
DateUtil
.
Formatter
.
yyyyMMddHHmmss
.
format
(
nowTime
);
String
sellTime
=
performanceVo
.
getSellTime
();
LocalDateTime
sellTimeLocal
=
LocalDateTime
.
parse
(
sellTime
,
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
));
...
...
@@ -85,55 +96,129 @@ public class SweetWechatTemplateServiceImpl {
if
(
1
==
DateUtil
.
compareStrDay
(
nowTimeStr
,
stopSellTime
))
{
// 超过售卖期 不推 删redis
log
.
info
(
"超过售卖期:[nowTimeStr=[{}], [stopSellTime=[{}]"
,
nowTimeStr
,
stopSellTime
);
redisDataUtils
.
delSweetRemind
(
remindInfo
.
getUnionId
());
remindIdList
.
add
(
remindId
);
// redisDataUtils.delSweetRemind(remindInfo.getUnionId());
continue
;
}
if
(-
1
==
DateUtil
.
compareStrDay
(
nowTimeStr
,
sellTimeLocalNewStr
))
{
// 还没到售卖期
log
.
info
(
"还没到售卖期:[nowTimeStr=[{}], [sellTimeLocalNewStr=[{}]"
,
nowTimeStr
,
sellTimeLocalNewStr
);
continue
;
}
// 发送模板消息接口
WxMpTemplateMessage
templateMessage
=
WxMpTemplateMessage
.
builder
()
// 接收者openid
.
toUser
(
sweetWechatUser
.
getOpenId
())
// 模板id
.
templateId
(
templateId
)
// 模板跳转链接
.
url
(
h5Url
.
concat
(
"/#/ticket/detail?id="
).
concat
(
remindInfo
.
getPerformancesId
()))
.
build
();
WxMpTemplateMessage
templateMessage
=
getTemplateMessage
(
templateId
,
sweetWechatUser
.
getOpenId
(),
h5Url
.
concat
(
"/#/ticket/detail?id="
).
concat
(
remindInfo
.
getPerformancesId
()));
// 添加模板数据
templateMessage
.
addData
(
new
WxMpTemplateData
(
"first"
,
"您关注的演出即将开始售票"
))
.
addData
(
new
WxMpTemplateData
(
"keyword1"
,
performanceVo
.
getTitle
()))
.
addData
(
new
WxMpTemplateData
(
"keyword2"
,
kylinTicketTimesVo
.
getTitle
()))
.
addData
(
new
WxMpTemplateData
(
"keyword3"
,
performanceVo
.
getFieldName
()))
.
addData
(
new
WxMpTemplateData
(
"remark"
,
"点击这里跳转购票"
));
String
msgId
=
null
;
try
{
// 发送模板消息
WxMpConfigStorage
wxMpConfig
=
wxMpConfig
(
appid
,
secret
);
WxMpService
wxMpService
=
wxMpService
(
wxMpConfig
);
msgId
=
wxMpService
.
getTemplateMsgService
().
sendTemplateMsg
(
templateMessage
);
String
msgId
=
sendTmpMsg
(
templateMessage
);
if
(
null
!=
msgId
)
{
redisDataUtils
.
delSweetRemind
(
remindInfo
.
getUnionId
());
}
}
catch
(
WxErrorException
e
)
{
log
.
error
(
"小程序演出提醒消息发送异常"
,
e
);
remindIdList
.
add
(
remindId
);
}
log
.
info
(
"发送成功:[msgId=[{}]"
,
msgId
);
}
catch
(
Exception
e
)
{
log
.
error
(
"小程序演出提醒消息处理异常"
,
e
);
}
}
if
(!
CollectionUtils
.
isEmpty
(
remindIdList
))
{
SweetRemind
remindUpdate
=
SweetRemind
.
getNew
();
remindUpdate
.
setIsPush
(
2
);
remindUpdate
.
setUpdatedAt
(
LocalDateTime
.
now
());
sweetRemindMapper
.
update
(
remindUpdate
,
Wrappers
.
lambdaUpdate
(
SweetRemind
.
class
)
.
in
(
SweetRemind:
:
getRemindId
,
remindIdList
)
);
}
}
return
ResponseDto
.
success
();
}
public
ResponseDto
sendMsg
()
{
String
templateId
=
"CNLDBZYQoDgTWudicx8WU81Jr9b6RyG9hmK4O0tpK-k"
;
return
send
(
templateId
);
public
void
subscribeSend
(
SweetWechatUser
sweetWechatUser
)
{
String
templateId
=
"y-j82V1TYhlTH1j8QscuDPcPQtNiDtENb7N5IZMBvqU"
;
try
{
String
nowTime
=
DateUtil
.
getNowTime
();
if
(
DateUtil
.
compareStrDay
(
nowTime
,
"2021-08-14 10:00:00"
)
==
1
)
{
WxMpTemplateMessage
templateMessage
=
getTemplateMessage
(
templateId
,
sweetWechatUser
.
getOpenId
(),
appletAppid
,
"pages/webview?query=active"
);
// 添加模板数据
templateMessage
.
addData
(
new
WxMpTemplateData
(
"first"
,
"感谢关注「正在现场」服务号。我们是草莓音乐节演出官方票务平台。"
))
.
addData
(
new
WxMpTemplateData
(
"keyword1"
,
"您已成功关注「正在现场」服务号"
))
.
addData
(
new
WxMpTemplateData
(
"keyword2"
,
"4006-310-750"
))
.
addData
(
new
WxMpTemplateData
(
"remark"
,
"点击下方小程序,继续参与「和我最有缘的音乐人」测试"
));
String
msgId
=
sendTmpMsg
(
templateMessage
);
}
else
{
WxMpTemplateMessage
templateMessage
=
getTemplateMessage
(
templateId
,
sweetWechatUser
.
getOpenId
(),
""
);
// 添加模板数据
templateMessage
.
addData
(
new
WxMpTemplateData
(
"first"
,
"感谢关注「正在现场」服务号。我们是草莓音乐节演出官方票务平台。"
))
.
addData
(
new
WxMpTemplateData
(
"keyword1"
,
"您已成功关注「正在现场」服务号"
))
.
addData
(
new
WxMpTemplateData
(
"keyword2"
,
"4006-310-750"
))
.
addData
(
new
WxMpTemplateData
(
"remark"
,
"随时查阅订单信息,第一时间获取演出开售提醒,更天天有福利,周周有惊喜!"
));
String
msgId
=
sendTmpMsg
(
templateMessage
);
}
}
catch
(
Exception
e
)
{
log
.
error
(
"关注模版消息处理异常"
,
e
);
}
}
/**
* 获取templateMessage
*
* @param templateId
* @param openId
* @param url
* @return
*/
private
WxMpTemplateMessage
getTemplateMessage
(
String
templateId
,
String
openId
,
String
url
)
{
WxMpTemplateMessage
templateMessage
=
WxMpTemplateMessage
.
builder
()
// 接收者openid
.
toUser
(
openId
)
// 模板id
.
templateId
(
templateId
)
// 模板跳转链接
.
url
(
url
)
.
build
();
return
templateMessage
;
}
private
WxMpTemplateMessage
getTemplateMessage
(
String
templateId
,
String
openId
,
String
appid
,
String
pagePath
)
{
//配置小程序信息
WxMpTemplateMessage
.
MiniProgram
miniProgram
=
new
WxMpTemplateMessage
.
MiniProgram
();
miniProgram
.
setAppid
(
appid
);
//小程序appid
miniProgram
.
setUsePath
(
false
);
miniProgram
.
setPagePath
(
pagePath
);
//用户点击时需要跳转的小程序页面
WxMpTemplateMessage
templateMessage
=
WxMpTemplateMessage
.
builder
()
// 接收者openid
.
toUser
(
openId
)
// 模板id
.
templateId
(
templateId
)
// 模板跳转链接
.
miniProgram
(
miniProgram
)
.
build
();
return
templateMessage
;
}
/**
* 发送消息
*
* @param templateMessage
* @return
*/
private
String
sendTmpMsg
(
WxMpTemplateMessage
templateMessage
)
{
String
msgId
=
null
;
try
{
// 发送模板消息
WxMpConfigStorage
wxMpConfig
=
wxMpConfig
(
appid
,
secret
);
WxMpService
wxMpService
=
wxMpService
(
wxMpConfig
);
msgId
=
wxMpService
.
getTemplateMsgService
().
sendTemplateMsg
(
templateMessage
);
log
.
info
(
"发送成功:[msgId=[{}]"
,
msgId
);
}
catch
(
WxErrorException
e
)
{
log
.
error
(
"模版消息发送异常"
,
e
);
}
log
.
info
(
"模版消息发送成功:[msgId=[{}]"
,
msgId
);
return
msgId
;
}
private
WxMpConfigStorage
wxMpConfig
(
String
appId
,
String
appSecret
)
{
...
...
@@ -153,4 +238,13 @@ public class SweetWechatTemplateServiceImpl {
redisDataUtils
.
setSweetRemind
(
openId
,
unionId
,
performancesId
);
return
ResponseDto
.
success
();
}
public
boolean
followStatus
(
String
unionId
)
{
SweetWechatUser
sweetWechatUser
=
redisDataUtils
.
getSweetWechatUser
(
unionId
);
if
(
null
!=
sweetWechatUser
&&
!
sweetWechatUser
.
getUnionId
().
isEmpty
())
{
return
true
;
}
else
{
return
false
;
}
}
}
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/utils/ObjectUtil.java
0 → 100644
View file @
fa7e2b86
package
com
.
liquidnet
.
service
.
sweet
.
utils
;
import
com.liquidnet.service.base.PagedResult
;
import
com.liquidnet.service.sweet.dto.SweetManualAppletDto
;
import
com.liquidnet.service.sweet.dto.SweetManualAppletMDSKDto
;
import
com.liquidnet.service.sweet.dto.SweetManualArtistListDto
;
import
com.liquidnet.service.sweet.dto.SweetManualArtistListMDSKDto
;
import
com.liquidnet.service.sweet.entity.SweetManualShop
;
import
com.liquidnet.service.sweet.entity.SweetManualShopMdsk
;
import
java.util.ArrayList
;
public
class
ObjectUtil
{
private
static
final
ArrayList
<
SweetManualAppletDto
>
sweetManualAppletDtoList
=
new
ArrayList
<>();
private
static
final
ArrayList
<
SweetManualArtistListDto
>
sweetManualArtistListDtoList
=
new
ArrayList
<>();
private
static
final
ArrayList
<
SweetManualShop
>
sweetManualShopList
=
new
ArrayList
<>();
private
static
final
ArrayList
<
SweetManualAppletMDSKDto
>
sweetManualAppletMDSKDtoList
=
new
ArrayList
<>();
private
static
final
ArrayList
<
SweetManualArtistListMDSKDto
>
sweetManualArtistListMDSKDtoList
=
new
ArrayList
<>();
private
static
final
ArrayList
<
SweetManualShopMdsk
>
sweetManualShopMDSKList
=
new
ArrayList
<>();
public
static
ArrayList
<
SweetManualAppletDto
>
getSweetManualAppletDtoList
()
{
return
(
ArrayList
<
SweetManualAppletDto
>)
sweetManualAppletDtoList
.
clone
();
}
public
static
ArrayList
<
SweetManualArtistListDto
>
getSweetManualArtistListDtoList
()
{
return
(
ArrayList
<
SweetManualArtistListDto
>)
sweetManualArtistListDtoList
.
clone
();
}
public
static
ArrayList
<
SweetManualShop
>
getSweetManualShopList
()
{
return
(
ArrayList
<
SweetManualShop
>)
sweetManualShopList
.
clone
();
}
public
static
ArrayList
<
SweetManualAppletMDSKDto
>
getSweetManualAppletMDSKDtoList
()
{
return
(
ArrayList
<
SweetManualAppletMDSKDto
>)
sweetManualAppletMDSKDtoList
.
clone
();
}
public
static
ArrayList
<
SweetManualArtistListMDSKDto
>
getSweetManualArtistListMDSKDtoList
()
{
return
(
ArrayList
<
SweetManualArtistListMDSKDto
>)
sweetManualArtistListMDSKDtoList
.
clone
();
}
public
static
ArrayList
<
SweetManualShopMdsk
>
getSweetManualShopMdskList
()
{
return
(
ArrayList
<
SweetManualShopMdsk
>)
sweetManualShopMDSKList
.
clone
();
}
}
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/utils/RedisDataUtils.java
View file @
fa7e2b86
...
...
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.commons.lang.util.DateUtil
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.base.constant.MQConst
;
import
com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo
;
...
...
@@ -14,6 +15,7 @@ import com.liquidnet.service.sweet.dto.SweetManualArtistListDto;
import
com.liquidnet.service.sweet.dto.SweetManualArtistStageListDto
;
import
com.liquidnet.service.sweet.entity.*
;
import
com.liquidnet.service.sweet.mapper.*
;
import
com.liquidnet.service.sweet.vo.SweetAnswerVo
;
import
com.liquidnet.service.sweet.vo.SweetArtistsRelationVo
;
import
com.liquidnet.service.sweet.vo.SweetRemindVo
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -97,7 +99,7 @@ public class RedisDataUtils {
Date
dateEnd
=
DateUtil
.
parse
(
sweetManualAppletDto
.
getTimeEnd
(),
DateUtil
.
DATE_SMALL_STR
);
Date
dateStart
=
DateUtil
.
parse
(
sweetManualAppletDto
.
getTimeStart
(),
DateUtil
.
DATE_SMALL_STR
);
int
intervalDay
=
(
int
)
DateUtil
.
intervalDays
(
dateStart
,
dateEnd
);
ArrayList
<
String
>
list
=
new
ArrayList
<>
();
ArrayList
<
String
>
list
=
CollectionUtil
.
arrayListString
();
list
.
add
(
DateUtil
.
format
(
dateStart
,
DateUtil
.
Formatter
.
yyyy_MM_dd
));
for
(
int
i
=
0
;
i
<
intervalDay
;
i
++)
{
list
.
add
(
DateUtil
.
format
(
DateUtil
.
addDay
(
dateStart
,
i
+
1
),
DateUtil
.
Formatter
.
yyyy_MM_dd
));
...
...
@@ -218,7 +220,7 @@ public class RedisDataUtils {
vo
.
setUid
(
uid
);
if
(
type
.
equalsIgnoreCase
(
"sign"
))
{
if
(
vo
.
getSignList
()
==
null
)
{
ArrayList
<
String
>
signList
=
new
ArrayList
<>
();
ArrayList
<
String
>
signList
=
CollectionUtil
.
arrayListString
();
signList
.
add
(
artistsId
);
vo
.
setSignList
(
signList
);
sqls
.
add
(
SqlMapping
.
get
(
"sweet_user_relation.insert"
));
...
...
@@ -242,7 +244,7 @@ public class RedisDataUtils {
}
}
else
if
(
type
.
equalsIgnoreCase
(
"watch"
))
{
if
(
vo
.
getWatchList
()
==
null
)
{
ArrayList
<
String
>
watchList
=
new
ArrayList
<>
();
ArrayList
<
String
>
watchList
=
CollectionUtil
.
arrayListString
();
watchList
.
add
(
artistsId
);
vo
.
setWatchList
(
watchList
);
sqls
.
add
(
SqlMapping
.
get
(
"sweet_user_relation.insert"
));
...
...
@@ -303,33 +305,38 @@ public class RedisDataUtils {
// 小程序演出提醒
public
void
setSweetRemind
(
String
openId
,
String
unionId
,
String
performancesId
)
{
String
redisKey
=
SweetConstant
.
REDIS_KEY_SWEET_REMIND
.
concat
(
unionId
);
SweetRemindVo
sweetRemindVo
=
SweetRemindVo
.
getNew
();
sweetRemindVo
.
setRemindId
(
IDGenerator
.
nextSnowId
());
sweetRemindVo
.
setCreatedAt
(
DateUtil
.
getNowTime
());
sweetRemindVo
.
setPerformancesId
(
performancesId
);
sweetRemindVo
.
setUnionId
(
unionId
);
sweetRemindVo
.
setOpenId
(
openId
);
// if (null != performanceInfo) {
// sweetRemindVo.setFieldName(performanceInfo.getFieldName());
// sweetRemindVo.setTitle(performanceInfo.getTitle());
// sweetRemindVo.setTimeStart(performanceInfo.getTimeStart());
// sweetRemindVo.setSellTime(performanceInfo.getSellTime());
// }
redisUtil
.
set
(
redisKey
,
sweetRemindVo
);
}
public
void
delSweetRemind
(
String
unionId
)
{
String
redisKey
=
SweetConstant
.
REDIS_KEY_SWEET_REMIND
.
concat
(
unionId
);
redisUtil
.
del
(
redisKey
);
LinkedList
<
String
>
sqls
=
CollectionUtil
.
linkedListString
();
LinkedList
<
Object
[]>
sqlsDataA
=
CollectionUtil
.
linkedListObjectArr
();
LocalDateTime
now
=
LocalDateTime
.
now
();
sqls
.
add
(
SqlMapping
.
get
(
"sweet_remind.insert"
));
sqlsDataA
.
add
(
new
Object
[]{
sweetRemindVo
.
getRemindId
(),
sweetRemindVo
.
getOpenId
(),
sweetRemindVo
.
getUnionId
(),
sweetRemindVo
.
getPerformancesId
(),
});
queueUtils
.
sendMsgByRedis
(
MQConst
.
SweetQueue
.
SWEET_REMIND_INSERT_DRAW
.
getKey
(),
SqlMapping
.
gets
(
sqls
,
sqlsDataA
));
}
// 正在现场服务号关注事件储存用户信息
public
void
setSweetWechatUser
(
SweetWechatUser
sweetWechatUser
)
{
String
redisKey
=
SweetConstant
.
REDIS_KEY_SWEET_WECHAT_USER_INFO
.
concat
(
sweetWechatUser
.
getUnionId
());
String
redisKeyUnid
=
SweetConstant
.
REDIS_KEY_SWEET_WECHAT_USER_UNIONID
.
concat
(
sweetWechatUser
.
getOpenId
());
redisUtil
.
set
(
redisKey
,
sweetWechatUser
);
redisUtil
.
set
(
redisKeyUnid
,
sweetWechatUser
.
getUnionId
());
}
public
String
getSweetWechatUserUnionid
(
String
openid
)
{
if
(
openid
.
isEmpty
())
{
return
null
;
}
String
redisKey
=
SweetConstant
.
REDIS_KEY_SWEET_WECHAT_USER_UNIONID
.
concat
(
openid
);
return
(
String
)
redisUtil
.
get
(
redisKey
);
}
public
SweetWechatUser
getSweetWechatUser
(
String
unionid
)
{
if
(
unionid
.
isEmpty
())
{
return
null
;
...
...
@@ -337,6 +344,14 @@ public class RedisDataUtils {
String
redisKey
=
SweetConstant
.
REDIS_KEY_SWEET_WECHAT_USER_INFO
.
concat
(
unionid
);
return
(
SweetWechatUser
)
redisUtil
.
get
(
redisKey
);
}
public
void
delSweetWechatUser
(
String
unionid
,
String
openid
)
{
if
(!
unionid
.
isEmpty
())
{
String
redisKey
=
SweetConstant
.
REDIS_KEY_SWEET_WECHAT_USER_INFO
.
concat
(
unionid
);
redisUtil
.
del
(
redisKey
);
String
redisKeyUnid
=
SweetConstant
.
REDIS_KEY_SWEET_WECHAT_USER_UNIONID
.
concat
(
openid
);
redisUtil
.
del
(
redisKeyUnid
);
}
}
// 艺人详情
public
SweetArtists
setArtistsDetails
(
String
artistsId
)
{
...
...
@@ -377,4 +392,15 @@ public class RedisDataUtils {
queueUtils
.
sendMsgByRedis
(
MQConst
.
SweetQueue
.
LUCK_DRAW
.
getKey
(),
SqlMapping
.
gets
(
sqls
,
sqlsDataA
));
}
// 答案
public
void
setSweetAnswer
(
SweetAnswerVo
sweetAnswerVo
)
{
String
redisKey
=
SweetConstant
.
REDIS_KEY_SWEET_ANSWER_PHONE
.
concat
(
sweetAnswerVo
.
getPhone
());
redisUtil
.
set
(
redisKey
,
sweetAnswerVo
);
}
public
SweetAnswerVo
getSweetAnswer
(
String
phone
)
{
String
redisKey
=
SweetConstant
.
REDIS_KEY_SWEET_ANSWER_PHONE
.
concat
(
phone
);
SweetAnswerVo
sweetAnswerVo
=
(
SweetAnswerVo
)
redisUtil
.
get
(
redisKey
);
return
sweetAnswerVo
;
}
}
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/utils/RedisMDSKDataUtils.java
View file @
fa7e2b86
...
...
@@ -92,7 +92,7 @@ public class RedisMDSKDataUtils {
Date
dateEnd
=
DateUtil
.
parse
(
sweetManualAppletDto
.
getTimeEnd
(),
DateUtil
.
DATE_SMALL_STR
);
Date
dateStart
=
DateUtil
.
parse
(
sweetManualAppletDto
.
getTimeStart
(),
DateUtil
.
DATE_SMALL_STR
);
int
intervalDay
=
(
int
)
DateUtil
.
intervalDays
(
dateStart
,
dateEnd
);
ArrayList
<
String
>
list
=
new
ArrayList
<>
();
ArrayList
<
String
>
list
=
CollectionUtil
.
arrayListString
();
list
.
add
(
DateUtil
.
format
(
dateStart
,
DateUtil
.
Formatter
.
yyyy_MM_dd
));
for
(
int
i
=
0
;
i
<
intervalDay
;
i
++)
{
list
.
add
(
DateUtil
.
format
(
DateUtil
.
addDay
(
dateStart
,
i
+
1
),
DateUtil
.
Formatter
.
yyyy_MM_dd
));
...
...
@@ -213,7 +213,7 @@ public class RedisMDSKDataUtils {
vo
.
setUid
(
uid
);
if
(
type
.
equalsIgnoreCase
(
"sign"
))
{
if
(
vo
.
getSignList
()
==
null
)
{
ArrayList
<
String
>
signList
=
new
ArrayList
<>
();
ArrayList
<
String
>
signList
=
CollectionUtil
.
arrayListString
();
signList
.
add
(
artistsId
);
vo
.
setSignList
(
signList
);
sqls
.
add
(
SqlMapping
.
get
(
"sweet_user_relation_mdsk.insert"
));
...
...
@@ -237,7 +237,7 @@ public class RedisMDSKDataUtils {
}
}
else
if
(
type
.
equalsIgnoreCase
(
"watch"
))
{
if
(
vo
.
getWatchList
()
==
null
)
{
ArrayList
<
String
>
watchList
=
new
ArrayList
<>
();
ArrayList
<
String
>
watchList
=
CollectionUtil
.
arrayListString
();
watchList
.
add
(
artistsId
);
vo
.
setWatchList
(
watchList
);
sqls
.
add
(
SqlMapping
.
get
(
"sweet_user_relation_mdsk.insert"
));
...
...
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/vo/SweetAnswerVo.java
0 → 100644
View file @
fa7e2b86
package
com
.
liquidnet
.
service
.
sweet
.
vo
;
import
com.liquidnet.service.sweet.entity.SweetAnswer
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
@Data
public
class
SweetAnswerVo
implements
Serializable
,
Cloneable
{
/**
* 手机号
*/
private
String
phone
;
/**
* 答案json
*/
private
String
answerJson
;
/**
* 图片
*/
private
String
imgUrl
;
/**
* 创建时间
*/
private
LocalDateTime
createdAt
;
/**
* 更新时间
*/
private
LocalDateTime
updatedAt
;
private
static
final
SweetAnswerVo
obj
=
new
SweetAnswerVo
();
public
static
SweetAnswerVo
getNew
()
{
try
{
return
(
SweetAnswerVo
)
obj
.
clone
();
}
catch
(
CloneNotSupportedException
e
)
{
return
new
SweetAnswerVo
();
}
}
public
SweetAnswerVo
copy
(
SweetAnswer
source
)
{
if
(
null
==
source
)
return
this
;
this
.
setPhone
(
source
.
getPhone
());
this
.
setAnswerJson
(
source
.
getAnswerJson
());
this
.
setImgUrl
(
source
.
getImgUrl
());
this
.
setCreatedAt
(
source
.
getCreatedAt
());
this
.
setUpdatedAt
(
source
.
getUpdatedAt
());
return
this
;
}
}
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/vo/SweetRemindVo.java
View file @
fa7e2b86
...
...
@@ -9,6 +9,7 @@ public class SweetRemindVo implements Serializable, Cloneable {
private
String
performancesId
;
private
String
openId
;
private
String
unionId
;
private
String
remindId
;
/*private String title;
private String timeStart;
private String sellTime;
...
...
liquidnet-bus-service/liquidnet-service-sweet/src/main/resources/com/liquidnet/service/sweet/mapper/SweetAnswerMapper.xml
0 → 100644
View file @
fa7e2b86
<?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.SweetAnswerMapper"
>
</mapper>
liquidnet-bus-service/liquidnet-service-sweet/src/main/resources/com/liquidnet/service/sweet/mapper/SweetRemindMapper.xml
0 → 100644
View file @
fa7e2b86
<?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.SweetRemindMapper"
>
</mapper>
liquidnet-bus-service/liquidnet-service-sweet/src/main/resources/sqlmap.properties
View file @
fa7e2b86
...
...
@@ -59,3 +59,11 @@ sweet_user_relation_mdsk.delete=DELETE FROM sweet_user_relation_mdsk WHERE user
# ------------------------用户关系----------------------------
sweet_luck_draw.insert
=
INSERT INTO sweet_luck_draw (user_id,luck_draw_num,status,created_at) VALUES (?,?,1,?)
# --------------------------答案--------------------------
sweet_answer.insert
=
INSERT INTO sweet_answer (answer_id,phone,answer_json,img_url) VALUES (?,?,?,?)
# --------------------------关注/取消服务号的用户信息--------------------------
sweet_user.insert
=
INSERT INTO sweet_wechat_user (user_id,openId,unionId,nickname,sexDesc,sex,headImgUrl,language,country,province,city,subscribeTime,subscribeScene) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)
sweet_user.update
=
UPDATE sweet_wechat_user SET is_cancel = ?, updated_at = ? WHERE unionId = ?
# --------------------------提醒记录--------------------------
sweet_remind.insert
=
INSERT INTO sweet_remind (remind_id,openId,unionId,performancesId) VALUES (?,?,?,?)
\ No newline at end of file
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