记得上下班打卡 | 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
fc901360
Commit
fc901360
authored
Aug 03, 2021
by
jiangxiulong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
sweet 关注
parent
9a8222af
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
235 additions
and
9 deletions
+235
-9
DateUtil.java
...c/main/java/com/liquidnet/commons/lang/util/DateUtil.java
+11
-4
SweetConstant.java
...a/com/liquidnet/service/sweet/constant/SweetConstant.java
+2
-0
SweetWechatUser.java
...a/com/liquidnet/service/sweet/entity/SweetWechatUser.java
+119
-0
SubscribeHandler.java
...com/liquidnet/service/sweet/handler/SubscribeHandler.java
+39
-1
SweetWechatUserMapper.java
...liquidnet/service/sweet/mapper/SweetWechatUserMapper.java
+16
-0
ISweetWechatUserService.java
...uidnet/service/sweet/service/ISweetWechatUserService.java
+16
-0
SweetWechatUserServiceImpl.java
...ervice/sweet/service/impl/SweetWechatUserServiceImpl.java
+20
-0
RedisDataUtils.java
...ava/com/liquidnet/service/sweet/utils/RedisDataUtils.java
+7
-4
SweetWechatUserMapper.xml
.../liquidnet/service/sweet/mapper/SweetWechatUserMapper.xml
+5
-0
No files found.
liquidnet-bus-common/liquidnet-common-base/src/main/java/com/liquidnet/commons/lang/util/DateUtil.java
View file @
fc901360
...
...
@@ -4,10 +4,7 @@ import org.apache.commons.lang3.StringUtils;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.time.Instant
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.time.ZoneId
;
import
java.time.*
;
import
java.time.format.DateTimeFormatter
;
import
java.util.*
;
...
...
@@ -479,6 +476,16 @@ public abstract class DateUtil {
return
dayLast
+
" 23:59:59"
;
}
/**
* 秒级时间戳转 LocalDateTime
* @param epochMilli 秒级时间戳
* @return LocalDateTime
*/
public
static
LocalDateTime
ofEpochMilli
(
long
epochMilli
){
// return LocalDateTime.ofInstant(Instant.ofEpochMilli(epochMilli), ZoneOffset.of("+8"));
return
LocalDateTime
.
ofEpochSecond
(
epochMilli
,
0
,
ZoneOffset
.
ofHours
(
8
));
}
public
static
void
main
(
String
[]
args
)
{
}
}
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/constant/SweetConstant.java
View file @
fc901360
...
...
@@ -18,6 +18,8 @@ public class SweetConstant {
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
enum
ManualPosition
{
artist
(
"艺人"
),
signingTime
(
"签售时间"
),
...
...
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/entity/SweetWechatUser.java
0 → 100644
View file @
fc901360
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-03
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
public
class
SweetWechatUser
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@TableId
(
value
=
"mid"
,
type
=
IdType
.
AUTO
)
private
Long
mid
;
/**
* user_id
*/
private
String
userId
;
/**
* openId
*/
@TableField
(
"openId"
)
private
String
openId
;
/**
* unionId
*/
@TableField
(
"unionId"
)
private
String
unionId
;
/**
* 昵称
*/
private
String
nickname
;
/**
* 性别
*/
@TableField
(
"sexDesc"
)
private
String
sexDesc
;
/**
* 性别 男1
*/
private
Integer
sex
;
/**
* 头像
*/
@TableField
(
"headImgUrl"
)
private
String
headImgUrl
;
/**
* zh_CN
*/
private
String
language
;
/**
* 国家
*/
private
String
country
;
/**
* 省
*/
private
String
province
;
/**
* 市
*/
private
String
city
;
/**
* 关注时间
*/
@TableField
(
"subscribeTime"
)
private
LocalDateTime
subscribeTime
;
/**
* ADD_SCENE_SEARCH 关注方式
*/
@TableField
(
"subscribeScene"
)
private
String
subscribeScene
;
/**
* 创建时间
*/
private
LocalDateTime
createdAt
;
/**
* 更新时间
*/
private
LocalDateTime
updatedAt
;
private
static
final
SweetWechatUser
obj
=
new
SweetWechatUser
();
public
static
SweetWechatUser
getNew
()
{
try
{
return
(
SweetWechatUser
)
obj
.
clone
();
}
catch
(
CloneNotSupportedException
e
)
{
return
new
SweetWechatUser
();
}
}
}
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/handler/SubscribeHandler.java
View file @
fc901360
package
com
.
liquidnet
.
service
.
sweet
.
handler
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.liquidnet.commons.lang.util.DateUtil
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.service.sweet.entity.SweetWechatUser
;
import
com.liquidnet.service.sweet.mapper.SweetWechatUserMapper
;
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
;
...
...
@@ -8,8 +14,10 @@ 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.Map
;
/**
...
...
@@ -23,6 +31,11 @@ import java.util.Map;
@Component
@Slf4j
public
class
SubscribeHandler
implements
WxMpMessageHandler
{
@Autowired
private
SweetWechatUserMapper
sweetWechatUserMapper
;
@Autowired
private
RedisDataUtils
redisDataUtils
;
@Override
public
WxMpXmlOutMessage
handle
(
WxMpXmlMessage
wxMessage
,
Map
<
String
,
Object
>
context
,
WxMpService
wxMpService
,
WxSessionManager
sessionManager
)
throws
WxErrorException
{
...
...
@@ -34,7 +47,32 @@ public class SubscribeHandler implements WxMpMessageHandler {
return
null
;
}
log
.
info
(
"根据 openId:[{}]获取到的微信用户信息:[{}]"
,
wxMessage
.
getFromUser
(),
wxMpUser
.
toString
());
// 记录用户信息
SweetWechatUser
userInfo
=
sweetWechatUserMapper
.
selectOne
(
Wrappers
.
lambdaQuery
(
SweetWechatUser
.
class
).
eq
(
SweetWechatUser:
:
getOpenId
,
wxMpUser
.
getOpenId
()));
SweetWechatUser
sweetWechatUser
=
SweetWechatUser
.
getNew
();
sweetWechatUser
.
setOpenId
(
wxMpUser
.
getOpenId
());
sweetWechatUser
.
setUnionId
(
wxMpUser
.
getUnionId
());
sweetWechatUser
.
setNickname
(
wxMpUser
.
getNickname
());
sweetWechatUser
.
setSexDesc
(
wxMpUser
.
getSexDesc
());
sweetWechatUser
.
setSex
(
wxMpUser
.
getSex
());
sweetWechatUser
.
setHeadImgUrl
(
wxMpUser
.
getHeadImgUrl
());
sweetWechatUser
.
setLanguage
(
wxMpUser
.
getLanguage
());
sweetWechatUser
.
setCountry
(
wxMpUser
.
getCountry
());
sweetWechatUser
.
setProvince
(
wxMpUser
.
getProvince
());
sweetWechatUser
.
setCity
(
wxMpUser
.
getCity
());
sweetWechatUser
.
setSubscribeTime
(
DateUtil
.
ofEpochMilli
(
wxMpUser
.
getSubscribeTime
()));
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
())
{
redisDataUtils
.
setSweetWechatUser
(
sweetWechatUser
);
}
return
null
;
}
...
...
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/mapper/SweetWechatUserMapper.java
0 → 100644
View file @
fc901360
package
com
.
liquidnet
.
service
.
sweet
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.liquidnet.service.sweet.entity.SweetWechatUser
;
/**
* <p>
* 正在现场服务号关注事件储存用户信息表 Mapper 接口
* </p>
*
* @author jiangxiulong
* @since 2021-08-03
*/
public
interface
SweetWechatUserMapper
extends
BaseMapper
<
SweetWechatUser
>
{
}
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/service/ISweetWechatUserService.java
0 → 100644
View file @
fc901360
package
com
.
liquidnet
.
service
.
sweet
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.liquidnet.service.sweet.entity.SweetWechatUser
;
/**
* <p>
* 正在现场服务号关注事件储存用户信息表 服务类
* </p>
*
* @author jiangxiulong
* @since 2021-08-03
*/
public
interface
ISweetWechatUserService
extends
IService
<
SweetWechatUser
>
{
}
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/service/impl/SweetWechatUserServiceImpl.java
0 → 100644
View file @
fc901360
package
com
.
liquidnet
.
service
.
sweet
.
service
.
impl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.liquidnet.service.sweet.entity.SweetWechatUser
;
import
com.liquidnet.service.sweet.mapper.SweetWechatUserMapper
;
import
com.liquidnet.service.sweet.service.ISweetWechatUserService
;
import
org.springframework.stereotype.Service
;
/**
* <p>
* 正在现场服务号关注事件储存用户信息表 服务实现类
* </p>
*
* @author jiangxiulong
* @since 2021-08-03
*/
@Service
public
class
SweetWechatUserServiceImpl
extends
ServiceImpl
<
SweetWechatUserMapper
,
SweetWechatUser
>
implements
ISweetWechatUserService
{
}
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/utils/RedisDataUtils.java
View file @
fc901360
...
...
@@ -10,10 +10,7 @@ import com.liquidnet.service.sweet.dto.SweetManualAppletDto;
import
com.liquidnet.service.sweet.dto.SweetManualArtistList2Dto
;
import
com.liquidnet.service.sweet.dto.SweetManualArtistListDto
;
import
com.liquidnet.service.sweet.dto.SweetManualArtistStageListDto
;
import
com.liquidnet.service.sweet.entity.SweetManualNotify
;
import
com.liquidnet.service.sweet.entity.SweetManualShop
;
import
com.liquidnet.service.sweet.entity.SweetManualSort
;
import
com.liquidnet.service.sweet.entity.SweetRichtext
;
import
com.liquidnet.service.sweet.entity.*
;
import
com.liquidnet.service.sweet.mapper.*
;
import
com.liquidnet.service.sweet.vo.SweetArtistsRelationVo
;
import
com.liquidnet.service.sweet.vo.SweetRemindVo
;
...
...
@@ -266,4 +263,10 @@ public class RedisDataUtils {
redisUtil
.
set
(
redisKey
,
sweetRemindVo
);
}
// 正在现场服务号关注事件储存用户信息
public
void
setSweetWechatUser
(
SweetWechatUser
sweetWechatUser
)
{
String
redisKey
=
SweetConstant
.
REDIS_KEY_SWEET_WECHAT_USER_INFO
.
concat
(
sweetWechatUser
.
getUnionId
());
redisUtil
.
set
(
redisKey
,
sweetWechatUser
);
}
}
liquidnet-bus-service/liquidnet-service-sweet/src/main/resources/com/liquidnet/service/sweet/mapper/SweetWechatUserMapper.xml
0 → 100644
View file @
fc901360
<?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.kylin.mapper.SweetWechatUserMapper"
>
</mapper>
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