记得上下班打卡 | git大法好,push需谨慎

Commit cd96ecda authored by jiangxiulong's avatar jiangxiulong

answer redis q

parent 8fe2af67
...@@ -75,6 +75,8 @@ public class MQConst { ...@@ -75,6 +75,8 @@ public class MQConst {
ARTISTS_RELATION_MDSK("sweet:stream:rk.artists.mdsk.relation", "group.artists.mdsk.relation", "用户-关系"), ARTISTS_RELATION_MDSK("sweet:stream:rk.artists.mdsk.relation", "group.artists.mdsk.relation", "用户-关系"),
LUCK_DRAW("sweet:stream:rk.luckDraw", "group.luckDraw", "用户-抽奖"), LUCK_DRAW("sweet:stream:rk.luckDraw", "group.luckDraw", "用户-抽奖"),
ANSWERINSERT_DRAW("sweet:stream:rk.answerInsert", "group.answerInsert", "答案"), 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; private final String key;
......
...@@ -17,7 +17,6 @@ import org.springframework.data.redis.stream.Subscription; ...@@ -17,7 +17,6 @@ import org.springframework.data.redis.stream.Subscription;
import java.time.Duration; import java.time.Duration;
import static com.liquidnet.service.base.constant.MQConst.SweetQueue.ANSWERINSERT_DRAW; import static com.liquidnet.service.base.constant.MQConst.SweetQueue.ANSWERINSERT_DRAW;
import static com.liquidnet.service.base.constant.MQConst.SweetQueue.ARTISTS_RELATION;
@Configuration @Configuration
public class ConsumerSweetAnswerRedisStreamConfig { public class ConsumerSweetAnswerRedisStreamConfig {
......
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;
}
/* -------------------------------------------------------- | */
}
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;
}
/* -------------------------------------------------------- | */
}
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();
}
}
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();
}
}
...@@ -427,6 +427,7 @@ CREATE TABLE `sweet_wechat_user` ...@@ -427,6 +427,7 @@ CREATE TABLE `sweet_wechat_user`
`city` varchar(200) NOT NULL DEFAULT '' COMMENT '市', `city` varchar(200) NOT NULL DEFAULT '' COMMENT '市',
`subscribeTime` datetime NULL DEFAULT null COMMENT '关注时间', `subscribeTime` datetime NULL DEFAULT null COMMENT '关注时间',
`subscribeScene` varchar(200) NOT NULL DEFAULT '' COMMENT 'ADD_SCENE_SEARCH 关注方式', `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 '创建时间', `created_at` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', `updated_at` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`mid`), PRIMARY KEY (`mid`),
...@@ -454,7 +455,7 @@ CREATE TABLE `sweet_answer` ...@@ -454,7 +455,7 @@ CREATE TABLE `sweet_answer`
COLLATE utf8mb4_unicode_ci COLLATE utf8mb4_unicode_ci
ROW_FORMAT = DYNAMIC COMMENT '答题表'; ROW_FORMAT = DYNAMIC COMMENT '答题表';
-- 关注 -- 提醒记录
drop TABLE if exists `sweet_remind`; drop TABLE if exists `sweet_remind`;
CREATE TABLE `sweet_remind` CREATE TABLE `sweet_remind`
( (
......
...@@ -7,4 +7,16 @@ XGROUP CREATE sweet:stream:rk.artists.mdsk.relation group.artists.mdsk.relation ...@@ -7,4 +7,16 @@ XGROUP CREATE sweet:stream:rk.artists.mdsk.relation group.artists.mdsk.relation
-- 抽奖 -- -- 抽奖 --
XADD sweet:stream:rk.luckDraw * 0 0 XADD sweet:stream:rk.luckDraw * 0 0
XGROUP CREATE sweet:stream:rk.luckDraw group.luckDraw 0 XGROUP CREATE sweet:stream:rk.luckDraw group.luckDraw 0
\ No newline at end of file
-- 答案 --
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
package com.liquidnet.service.sweet.handler; package com.liquidnet.service.sweet.handler;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; 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.DateUtil;
import com.liquidnet.commons.lang.util.IDGenerator; 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.entity.SweetWechatUser;
import com.liquidnet.service.sweet.mapper.SweetWechatUserMapper; import com.liquidnet.service.sweet.mapper.SweetWechatUserMapper;
import com.liquidnet.service.sweet.service.impl.SweetWechatTemplateServiceImpl; import com.liquidnet.service.sweet.service.impl.SweetWechatTemplateServiceImpl;
import com.liquidnet.service.sweet.utils.QueueUtils;
import com.liquidnet.service.sweet.utils.RedisDataUtils; import com.liquidnet.service.sweet.utils.RedisDataUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.error.WxErrorException; import me.chanjar.weixin.common.error.WxErrorException;
...@@ -19,6 +23,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -19,6 +23,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.LinkedList;
import java.util.Map; import java.util.Map;
/** /**
...@@ -36,6 +41,8 @@ public class SubscribeHandler implements WxMpMessageHandler { ...@@ -36,6 +41,8 @@ public class SubscribeHandler implements WxMpMessageHandler {
private SweetWechatUserMapper sweetWechatUserMapper; private SweetWechatUserMapper sweetWechatUserMapper;
@Autowired @Autowired
private RedisDataUtils redisDataUtils; private RedisDataUtils redisDataUtils;
@Autowired
private QueueUtils queueUtils;
@Autowired @Autowired
private SweetWechatTemplateServiceImpl sweetWechatTemplateService; private SweetWechatTemplateServiceImpl sweetWechatTemplateService;
...@@ -52,7 +59,7 @@ public class SubscribeHandler implements WxMpMessageHandler { ...@@ -52,7 +59,7 @@ public class SubscribeHandler implements WxMpMessageHandler {
} }
log.info("根据 openId:[{}]获取到的微信用户信息:[{}]", wxMessage.getFromUser(), wxMpUser.toString()); 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 sweetWechatUser = SweetWechatUser.getNew();
sweetWechatUser.setOpenId(wxMpUser.getOpenId()); sweetWechatUser.setOpenId(wxMpUser.getOpenId());
sweetWechatUser.setUnionId(wxMpUser.getUnionId()); sweetWechatUser.setUnionId(wxMpUser.getUnionId());
...@@ -68,20 +75,22 @@ public class SubscribeHandler implements WxMpMessageHandler { ...@@ -68,20 +75,22 @@ public class SubscribeHandler implements WxMpMessageHandler {
sweetWechatUser.setSubscribeScene(wxMpUser.getSubscribeScene()); sweetWechatUser.setSubscribeScene(wxMpUser.getSubscribeScene());
if (null == userInfo) { if (null == userInfo) {
sweetWechatUser.setUserId(IDGenerator.nextSnowId()); sweetWechatUser.setUserId(IDGenerator.nextSnowId());
sweetWechatUserMapper.insert(sweetWechatUser); LinkedList<String> sqls = CollectionUtil.linkedListString();
sweetWechatTemplateService.subscribeSend(sweetWechatUser); LinkedList<Object[]> sqlsDataA = CollectionUtil.linkedListObjectArr();
} else { LocalDateTime now = LocalDateTime.now();
sweetWechatUser.setUpdatedAt(LocalDateTime.now()); sqls.add(SqlMapping.get("sweet_user.insert"));
sweetWechatUserMapper.update(sweetWechatUser, Wrappers.lambdaUpdate(SweetWechatUser.class).eq(SweetWechatUser::getUserId, userInfo.getUserId())); sqlsDataA.add(new Object[]{
} sweetWechatUser.getUserId(), sweetWechatUser.getOpenId(), sweetWechatUser.getUnionId(), sweetWechatUser.getNickname(),
String unionId = wxMpUser.getUnionId(); sweetWechatUser.getSexDesc(), sweetWechatUser.getSex(), sweetWechatUser.getHeadImgUrl(), sweetWechatUser.getLanguage(),
if (!unionId.isEmpty()) { sweetWechatUser.getCountry(), sweetWechatUser.getProvince(), sweetWechatUser.getCity(),
if (null != userInfo) { sweetWechatUser.getSubscribeTime(), sweetWechatUser.getSubscribeScene()
sweetWechatUser.setMid(userInfo.getMid()); });
sweetWechatUser.setUserId(userInfo.getUserId()); queueUtils.sendMsgByRedis(MQConst.SweetQueue.SWEET_USER_INSERT_DRAW.getKey(),
sweetWechatUser.setCreatedAt(userInfo.getCreatedAt()); SqlMapping.gets(sqls, sqlsDataA));
} // 入缓存
redisDataUtils.setSweetWechatUser(sweetWechatUser); redisDataUtils.setSweetWechatUser(sweetWechatUser);
//发送模版消息
sweetWechatTemplateService.subscribeSend(sweetWechatUser);
} }
return null; return null;
......
package com.liquidnet.service.sweet.handler; package com.liquidnet.service.sweet.handler;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
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.entity.SweetWechatUser;
import com.liquidnet.service.sweet.mapper.SweetWechatUserMapper; import com.liquidnet.service.sweet.mapper.SweetWechatUserMapper;
import com.liquidnet.service.sweet.utils.QueueUtils;
import com.liquidnet.service.sweet.utils.RedisDataUtils; import com.liquidnet.service.sweet.utils.RedisDataUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.error.WxErrorException; import me.chanjar.weixin.common.error.WxErrorException;
...@@ -15,6 +19,8 @@ import me.chanjar.weixin.mp.bean.result.WxMpUser; ...@@ -15,6 +19,8 @@ import me.chanjar.weixin.mp.bean.result.WxMpUser;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
import java.util.LinkedList;
import java.util.Map; import java.util.Map;
/** /**
...@@ -33,6 +39,8 @@ public class UnsubscribeHandler implements WxMpMessageHandler { ...@@ -33,6 +39,8 @@ public class UnsubscribeHandler implements WxMpMessageHandler {
private SweetWechatUserMapper sweetWechatUserMapper; private SweetWechatUserMapper sweetWechatUserMapper;
@Autowired @Autowired
private RedisDataUtils redisDataUtils; private RedisDataUtils redisDataUtils;
@Autowired
private QueueUtils queueUtils;
@Override @Override
public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, Map<String, Object> context, WxMpService wxMpService, public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, Map<String, Object> context, WxMpService wxMpService,
...@@ -47,14 +55,20 @@ public class UnsubscribeHandler implements WxMpMessageHandler { ...@@ -47,14 +55,20 @@ public class UnsubscribeHandler implements WxMpMessageHandler {
} }
log.info("根据 openId:[{}]获取到的微信用户信息:[{}]", wxMessage.getFromUser(), wxMpUser.toString()); 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());
if (null != userInfo) { if (null != userInfo) {
int resNum = sweetWechatUserMapper.delete(Wrappers.lambdaQuery(SweetWechatUser.class).eq(SweetWechatUser::getUserId, userInfo.getUserId())); LinkedList<String> sqls = CollectionUtil.linkedListString();
} LinkedList<Object[]> sqlsDataA = CollectionUtil.linkedListObjectArr();
String unionId = wxMpUser.getUnionId(); LocalDateTime now = LocalDateTime.now();
if (!unionId.isEmpty()) { sqls.add(SqlMapping.get("sweet_user.update"));
redisDataUtils.delSweetRemind(unionId); sqlsDataA.add(new Object[]{
2, now, wxMpUser.getUnionId()
});
queueUtils.sendMsgByRedis(MQConst.SweetQueue.SWEET_USER_INSERT_DRAW.getKey(),
SqlMapping.gets(sqls, sqlsDataA));
// int resNum = sweetWechatUserMapper.delete(Wrappers.lambdaQuery(SweetWechatUser.class).eq(SweetWechatUser::getUserId, userInfo.getUserId()));
} }
redisDataUtils.delSweetWechatUser(wxMpUser.getUnionId());
return null; return null;
} }
} }
...@@ -57,7 +57,7 @@ public class SweetAnswerServiceImpl extends ServiceImpl<SweetAnswerMapper, Sweet ...@@ -57,7 +57,7 @@ public class SweetAnswerServiceImpl extends ServiceImpl<SweetAnswerMapper, Sweet
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
sqls.add(SqlMapping.get("sweet_answer.insert")); sqls.add(SqlMapping.get("sweet_answer.insert"));
sqlsDataA.add(new Object[]{ sqlsDataA.add(new Object[]{
IDGenerator.nextSnowId(), phone, answerJson, imgUrl sweetAnswer.getAnswerId(), phone, answerJson, imgUrl
}); });
queueUtils.sendMsgByRedis(MQConst.SweetQueue.ANSWERINSERT_DRAW.getKey(), queueUtils.sendMsgByRedis(MQConst.SweetQueue.ANSWERINSERT_DRAW.getKey(),
SqlMapping.gets(sqls, sqlsDataA)); SqlMapping.gets(sqls, sqlsDataA));
......
...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; ...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.liquidnet.common.cache.redis.util.RedisUtil; import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.CollectionUtil; import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.DateUtil; 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.SqlMapping;
import com.liquidnet.service.base.constant.MQConst; import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo; import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
...@@ -306,11 +307,22 @@ public class RedisDataUtils { ...@@ -306,11 +307,22 @@ public class RedisDataUtils {
public void setSweetRemind(String openId, String unionId, String performancesId) { public void setSweetRemind(String openId, String unionId, String performancesId) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_REMIND.concat(unionId); String redisKey = SweetConstant.REDIS_KEY_SWEET_REMIND.concat(unionId);
SweetRemindVo sweetRemindVo = SweetRemindVo.getNew(); SweetRemindVo sweetRemindVo = SweetRemindVo.getNew();
sweetRemindVo.setRemindId(IDGenerator.nextSnowId());
sweetRemindVo.setCreatedAt(DateUtil.getNowTime()); sweetRemindVo.setCreatedAt(DateUtil.getNowTime());
sweetRemindVo.setPerformancesId(performancesId); sweetRemindVo.setPerformancesId(performancesId);
sweetRemindVo.setUnionId(unionId); sweetRemindVo.setUnionId(unionId);
sweetRemindVo.setOpenId(openId); sweetRemindVo.setOpenId(openId);
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));
// if (null != performanceInfo) { // if (null != performanceInfo) {
// sweetRemindVo.setFieldName(performanceInfo.getFieldName()); // sweetRemindVo.setFieldName(performanceInfo.getFieldName());
// sweetRemindVo.setTitle(performanceInfo.getTitle()); // sweetRemindVo.setTitle(performanceInfo.getTitle());
...@@ -330,7 +342,6 @@ public class RedisDataUtils { ...@@ -330,7 +342,6 @@ public class RedisDataUtils {
String redisKey = SweetConstant.REDIS_KEY_SWEET_WECHAT_USER_INFO.concat(sweetWechatUser.getUnionId()); String redisKey = SweetConstant.REDIS_KEY_SWEET_WECHAT_USER_INFO.concat(sweetWechatUser.getUnionId());
redisUtil.set(redisKey, sweetWechatUser); redisUtil.set(redisKey, sweetWechatUser);
} }
public SweetWechatUser getSweetWechatUser(String unionid) { public SweetWechatUser getSweetWechatUser(String unionid) {
if (unionid.isEmpty()) { if (unionid.isEmpty()) {
return null; return null;
...@@ -338,6 +349,12 @@ public class RedisDataUtils { ...@@ -338,6 +349,12 @@ public class RedisDataUtils {
String redisKey = SweetConstant.REDIS_KEY_SWEET_WECHAT_USER_INFO.concat(unionid); String redisKey = SweetConstant.REDIS_KEY_SWEET_WECHAT_USER_INFO.concat(unionid);
return (SweetWechatUser) redisUtil.get(redisKey); return (SweetWechatUser) redisUtil.get(redisKey);
} }
public void delSweetWechatUser(String unionid) {
if (!unionid.isEmpty()) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_WECHAT_USER_INFO.concat(unionid);
redisUtil.del(redisKey);
}
}
// 艺人详情 // 艺人详情
public SweetArtists setArtistsDetails(String artistsId) { public SweetArtists setArtistsDetails(String artistsId) {
......
...@@ -9,6 +9,7 @@ public class SweetRemindVo implements Serializable, Cloneable { ...@@ -9,6 +9,7 @@ public class SweetRemindVo implements Serializable, Cloneable {
private String performancesId; private String performancesId;
private String openId; private String openId;
private String unionId; private String unionId;
private String remindId;
/*private String title; /*private String title;
private String timeStart; private String timeStart;
private String sellTime; private String sellTime;
......
...@@ -61,4 +61,9 @@ sweet_user_relation_mdsk.delete=DELETE FROM sweet_user_relation_mdsk WHERE user ...@@ -61,4 +61,9 @@ 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_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_answer.insert=INSERT INTO sweet_answer (answer_id,phone,answer_json,img_url) VALUES (?,?,?,?)
\ No newline at end of file # --------------------------关注/取消服务号的用户信息--------------------------
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
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment