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

Commit c7db367c authored by jiangxiulong's avatar jiangxiulong

是否关注去掉手机号操作 小程序登陆调用积分任务 remind模版消息演出改成用feign调用

parent 6958163a
package com.liquidnet.service.feign.kylin.api;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import feign.hystrix.FallbackFactory;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.HashMap;
import java.util.List;
@Component
@FeignClient(
name = "liquidnet-service-kylin",
contextId = "FeignKylinPerformancesClient",
path = "",
url = "${liquidnet.service.kylin.url}",
fallback = FallbackFactory.Default.class
)
public interface FeignKylinPerformancesClient {
@GetMapping("performance/{performancesId}")
ResponseDto<KylinPerformanceVo> detail(
@PathVariable("performancesId") String performancesId,
@RequestParam(defaultValue = "0") double latitudeFrom,
@RequestParam(defaultValue = "0") double longitudeFrom,
@RequestParam(defaultValue = "0") String agentId
);
}
......@@ -96,6 +96,11 @@
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.liquidnet</groupId>
<artifactId>liquidnet-api-feign-kylin</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
<build>
......
......@@ -9,6 +9,7 @@ import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.feign.adam.api.FeignAdamBaseClient;
import com.liquidnet.service.feign.stone.api.FeignStoneIntegralClient;
import com.liquidnet.service.sweet.dto.vo.WechatTokenInfoVo;
import com.liquidnet.service.sweet.dto.vo.WechatUserInfoVo;
import com.liquidnet.service.sweet.utils.QueueUtils;
......@@ -49,6 +50,8 @@ public class SweetWechatLoginServiceImpl {
@Autowired
private FeignAdamBaseClient feignAdamBaseClient;
@Autowired
private FeignStoneIntegralClient feignStoneIntegralClient;
public ResponseDto userInfo(String code, String encryptedData, String iv, Integer type) {
log.info("小程序解密用户信息参数:[code=[{}], encryptedData=[{}], [iv=[{}], type=[{}]", code, encryptedData, iv, type);
......@@ -111,6 +114,8 @@ public class SweetWechatLoginServiceImpl {
usersRelationVo.setUserId(userId);
usersRelationVo.setUserPhone(mobile);
redisUtils.setSweetWechatUsersRelation(usersRelationVo);
// 调用关注赠积分任务
feignStoneIntegralClient.doTask(4, userId);
}
// 返回给前端数据
HashMap<String, Object> userInfo = CollectionUtil.mapStringObject();
......
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.CurrentUtil;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.feign.stone.api.FeignStoneIntegralClient;
import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.feign.kylin.api.FeignKylinPerformancesClient;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import com.liquidnet.service.sweet.config.WechatMaConfigure;
import com.liquidnet.service.sweet.config.WechatMpConfigure;
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.param.SweetOpenSendMsgParam;
import com.liquidnet.service.sweet.utils.QueueUtils;
import com.liquidnet.service.sweet.utils.RedisDataUtils;
import com.liquidnet.service.sweet.utils.WechatUsersRedisUtils;
import com.liquidnet.service.sweet.vo.SweetWechatUsersVo;
import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.error.WxErrorException;
......@@ -31,11 +27,11 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
/**
......@@ -57,14 +53,16 @@ public class SweetWechatTemplateServiceImpl {
private String appletAppid;
@Autowired
private RedisDataUtils redisDataUtils;
private WechatUsersRedisUtils redisUtils;
@Autowired
private RedisUtil redisUtil;
private RedisDataUtils redisDataUtils;
@Autowired
private QueueUtils queueUtils;
@Autowired
private SweetRemindMapper sweetRemindMapper;
@Autowired
private FeignKylinPerformancesClient feignKylinPerformancesClient;
@Autowired
WechatMpConfigure wechatMpConfigure;
......@@ -72,9 +70,6 @@ public class SweetWechatTemplateServiceImpl {
@Autowired
WechatMaConfigure wechatMaConfigure;
@Autowired
private FeignStoneIntegralClient feignStoneIntegralClient;
public ResponseDto openSendMsg(SweetOpenSendMsgParam param) {
queueUtils.sendMsgByRedis(MQConst.SweetQueue.SWEET_TEMPLATE_MSG.getKey(),
JsonUtils.toJson(param));
......@@ -103,27 +98,28 @@ public class SweetWechatTemplateServiceImpl {
for (SweetRemind remindInfo : sweetRemindList) {
try {
String remindId = remindInfo.getRemindId();
SweetWechatUser sweetWechatUser = redisDataUtils.getSweetWechatUser(remindInfo.getUnionId());
KylinPerformanceVo performanceVo = (KylinPerformanceVo) redisUtil.get(KylinRedisConst.PERFORMANCES.concat(remindInfo.getPerformancesId()));
if (null == sweetWechatUser) {
SweetWechatUsersVo sweetWechatUsers = redisUtils.getSweetWechatUsers(remindInfo.getUnionId(), 1);
ResponseDto<KylinPerformanceVo> kylinPerformanceVo = feignKylinPerformancesClient.detail(remindInfo.getPerformancesId(), 0, 0, "");
KylinPerformanceVo performanceVoData = kylinPerformanceVo.getData();
if (null == sweetWechatUsers) {
remindIdList.add(remindId);
log.info("无用户数据:[UnionId=[{}]", remindInfo.getUnionId());
continue;
}
if (null == performanceVo) {
if (null == performanceVoData || ObjectUtils.isEmpty(performanceVoData)) {
log.info("无演出数据:[getPerformancesId=[{}]", remindInfo.getPerformancesId());
continue;
}
KylinTicketTimesVo kylinTicketTimesVo = performanceVo.getTicketTimeList().get(0);
KylinTicketTimesVo kylinTicketTimesVo = performanceVoData.getTicketTimeList().get(0);
LocalDateTime nowTime = LocalDateTime.now();
String nowTimeStr = DateUtil.Formatter.yyyyMMddHHmmss.format(nowTime);
String sellTime = performanceVo.getSellTime();
String sellTime = performanceVoData.getSellTime();
LocalDateTime sellTimeLocal = LocalDateTime.parse(sellTime, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
LocalDateTime sellTimeLocalNew = sellTimeLocal.minusMinutes(5);
String sellTimeLocalNewStr = DateUtil.Formatter.yyyyMMddHHmmss.format(sellTimeLocalNew);
String stopSellTime = performanceVo.getStopSellTime();
String stopSellTime = performanceVoData.getStopSellTime();
if (1 == DateUtil.compareStrDay(nowTimeStr, stopSellTime)) { // 超过售卖期 不推 删redis
log.info("超过售卖期:[nowTimeStr=[{}], [stopSellTime=[{}]",
nowTimeStr, stopSellTime);
......@@ -136,12 +132,12 @@ public class SweetWechatTemplateServiceImpl {
continue;
}
// 发送模板消息接口
WxMpTemplateMessage templateMessage = getTemplateMessage(templateId, sweetWechatUser.getOpenId(), h5Url.concat("/#/ticket/detail?id=").concat(remindInfo.getPerformancesId()));
WxMpTemplateMessage templateMessage = getTemplateMessage(templateId, sweetWechatUsers.getOpenId(), h5Url.concat("/#/ticket/detail?id=").concat(remindInfo.getPerformancesId()));
// 添加模板数据
templateMessage.addData(new WxMpTemplateData("first", "您关注的演出即将开始售票"))
.addData(new WxMpTemplateData("keyword1", performanceVo.getTitle()))
.addData(new WxMpTemplateData("keyword1", performanceVoData.getTitle()))
.addData(new WxMpTemplateData("keyword2", kylinTicketTimesVo.getTitle()))
.addData(new WxMpTemplateData("keyword3", performanceVo.getFieldName()))
.addData(new WxMpTemplateData("keyword3", performanceVoData.getFieldName()))
.addData(new WxMpTemplateData("remark", "点击这里跳转购票"));
String msgId = sendTmpMsg(templateMessage);
if (null != msgId) {
......@@ -257,16 +253,15 @@ public class SweetWechatTemplateServiceImpl {
}
public boolean followStatus(String unionId, Integer type, String userId, String phone) {
SweetWechatUser sweetWechatUser = null;
if (null == type || type <= 1) {
sweetWechatUser = redisDataUtils.getSweetWechatUser(unionId);
} else if (type == 2) {
sweetWechatUser = redisDataUtils.getSweetWechatUserModernsky(unionId);
if (null == type || type < 1) {
type = 1;
}
SweetWechatUsersVo sweetWechatUsers = redisUtils.getSweetWechatUsers(unionId, type);
if (null != sweetWechatUser && !sweetWechatUser.getUnionId().isEmpty()) {
if (null != sweetWechatUsers && !sweetWechatUsers.getUnionId().isEmpty()) {
// 同步手机号
String oldAdamUserId = sweetWechatUser.getAdamUserId();
/*String oldAdamUserId = sweetWechatUser.getAdamUserId();
String oldAdamPhone = sweetWechatUser.getAdamPhone();
if (null == oldAdamUserId) {
oldAdamUserId = "";
......@@ -315,7 +310,7 @@ public class SweetWechatTemplateServiceImpl {
});
queueUtils.sendMsgByRedis(MQConst.SweetQueue.SWEET_WECHAT_USER_INSERT.getKey(),
SqlMapping.gets(sqls, sqlsDataA));
}
}*/
return true;
} else {
return false;
......
......@@ -325,70 +325,6 @@ public class RedisDataUtils {
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 void setUnionIdByPhone(String phone, String unionId) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_WECHAT_USER_UNIONID_PHONE.concat(phone);
redisUtil.set(redisKey, unionId);
}
public void setUnionIdByUserId(String userId, String unionId) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_WECHAT_USER_UNIONID_UID.concat(userId);
redisUtil.set(redisKey, unionId);
}
public void setUnionIdByPhoneSky(String phone, String unionId) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_WECHAT_USER_UNIONID_PHONE_MODERNSKY.concat(phone);
redisUtil.set(redisKey, unionId);
}
public void setUnionIdByUserIdSky(String userId, String unionId) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_WECHAT_USER_UNIONID_UID_MODERNSKY.concat(userId);
redisUtil.set(redisKey, unionId);
}
public SweetWechatUser getSweetWechatUser(String unionid) {
if (unionid.isEmpty()) {
return null;
}
String redisKey = SweetConstant.REDIS_KEY_SWEET_WECHAT_USER_INFO.concat(unionid);
return (SweetWechatUser) redisUtil.get(redisKey);
}
public String getSweetWechatOpenId(String unionid) {
if (unionid.isEmpty()) {
return "";
}
String redisKey = SweetConstant.REDIS_KEY_SWEET_WECHAT_USER_INFO.concat(unionid);
Object obj = redisUtil.get(redisKey);
if (null == obj) {
return "";
} else {
SweetWechatUser sweetWechatUser = (SweetWechatUser) redisUtil.get(redisKey);
return sweetWechatUser.getOpenId();
}
}
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) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_ARTISTS_DETAILS.concat(artistsId);
......@@ -492,7 +428,6 @@ public class RedisDataUtils {
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);
......@@ -505,7 +440,6 @@ public class RedisDataUtils {
.concat(SweetConstant.REDIS_KEY_SWEET_CITY_VOTE_STAT_LIST);
redisUtil.set(redisKey, sweetCItyVoteStatVo);
}
public List<SweetCItyVoteStatVo> getSweetCityVoteStatList(Integer type) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_CITY_VOTE.concat(String.valueOf(type))
.concat(SweetConstant.REDIS_KEY_SWEET_CITY_VOTE_STAT_LIST);
......@@ -516,13 +450,11 @@ public class RedisDataUtils {
}
return sweetCityVoteStatList;
}
public void incrSweetCityVote(String cityCode, Integer type) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_CITY_VOTE.concat(String.valueOf(type))
.concat(SweetConstant.REDIS_KEY_SWEET_CITY_VOTE_CITY_CODE).concat(cityCode);
redisUtil.incr(redisKey, 1);
}
public Integer getSweetCityVote(String cityCode, Integer type) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_CITY_VOTE.concat(String.valueOf(type))
.concat(SweetConstant.REDIS_KEY_SWEET_CITY_VOTE_CITY_CODE).concat(cityCode);
......@@ -533,13 +465,11 @@ public class RedisDataUtils {
return (Integer) obj;
}
}
public void setUserVote(String phone, String openId, SweetCityVoteParam param) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_CITY_VOTE.concat(String.valueOf(param.getType()))
.concat(SweetConstant.REDIS_KEY_SWEET_CITY_VOTE_USER).concat(phone).concat("-").concat(openId);
redisUtil.set(redisKey, param);
}
public SweetCityVoteParam getUserVote(String phone, String openId, Integer type) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_CITY_VOTE.concat(String.valueOf(type))
.concat(SweetConstant.REDIS_KEY_SWEET_CITY_VOTE_USER).concat(phone).concat("-").concat(openId);
......@@ -550,13 +480,11 @@ public class RedisDataUtils {
return (SweetCityVoteParam) obj;
}
}
public void setSweetCityVoteStatUpdateTime(Integer type) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_CITY_VOTE.concat(String.valueOf(type))
.concat(SweetConstant.REDIS_KEY_SWEET_CITY_VOTE_STAT_UPDATE_TIME);
redisUtil.set(redisKey, DateUtil.getNowTime());
}
public String getSweetCityVoteStatUpdateTime(Integer type) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_CITY_VOTE.concat(String.valueOf(type))
.concat(SweetConstant.REDIS_KEY_SWEET_CITY_VOTE_STAT_UPDATE_TIME);
......@@ -569,53 +497,55 @@ public class RedisDataUtils {
}
// wechat user 摩登
public void setSweetWechatUserModernsky(SweetWechatUser sweetWechatUser) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_WECHAT_USER_INFO_MODERNSKY.concat(sweetWechatUser.getUnionId());
String redisKeyUnid = SweetConstant.REDIS_KEY_SWEET_WECHAT_USER_UNIONID_MODERNSKY.concat(sweetWechatUser.getOpenId());
// wechat user 摩登
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 getSweetWechatUserUnionidModernsky(String openid) {
if (openid.isEmpty()) {
return null;
}
String redisKey = SweetConstant.REDIS_KEY_SWEET_WECHAT_USER_UNIONID_MODERNSKY.concat(openid);
return (String) redisUtil.get(redisKey);
public void setUnionIdByPhone(String phone, String unionId) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_WECHAT_USER_UNIONID_PHONE.concat(phone);
redisUtil.set(redisKey, unionId);
}
public void setUnionIdByUserId(String userId, String unionId) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_WECHAT_USER_UNIONID_UID.concat(userId);
redisUtil.set(redisKey, unionId);
}
public void setUnionIdByPhoneSky(String phone, String unionId) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_WECHAT_USER_UNIONID_PHONE_MODERNSKY.concat(phone);
redisUtil.set(redisKey, unionId);
}
public void setUnionIdByUserIdSky(String userId, String unionId) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_WECHAT_USER_UNIONID_UID_MODERNSKY.concat(userId);
redisUtil.set(redisKey, unionId);
}
public SweetWechatUser getSweetWechatUserModernsky(String unionid) {
public SweetWechatUser getSweetWechatUser(String unionid) {
if (unionid.isEmpty()) {
return null;
}
String redisKey = SweetConstant.REDIS_KEY_SWEET_WECHAT_USER_INFO_MODERNSKY.concat(unionid);
String redisKey = SweetConstant.REDIS_KEY_SWEET_WECHAT_USER_INFO.concat(unionid);
return (SweetWechatUser) redisUtil.get(redisKey);
}
public String getSweetWechatOpenIdModernsky(String unionid) {
if (unionid.isEmpty()) {
return "";
}
String redisKey = SweetConstant.REDIS_KEY_SWEET_WECHAT_USER_INFO_MODERNSKY.concat(unionid);
Object obj = redisUtil.get(redisKey);
if (null == obj) {
return "";
} else {
SweetWechatUser sweetWechatUser = (SweetWechatUser) redisUtil.get(redisKey);
return sweetWechatUser.getOpenId();
}
public void setSweetWechatUserModernsky(SweetWechatUser sweetWechatUser) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_WECHAT_USER_INFO_MODERNSKY.concat(sweetWechatUser.getUnionId());
String redisKeyUnid = SweetConstant.REDIS_KEY_SWEET_WECHAT_USER_UNIONID_MODERNSKY.concat(sweetWechatUser.getOpenId());
redisUtil.set(redisKey, sweetWechatUser);
redisUtil.set(redisKeyUnid, sweetWechatUser.getUnionId());
}
public void delSweetWechatUserModernsky(String unionid, String openid) {
if (!unionid.isEmpty()) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_WECHAT_USER_INFO_MODERNSKY.concat(unionid);
redisUtil.del(redisKey);
String redisKeyUnid = SweetConstant.REDIS_KEY_SWEET_WECHAT_USER_UNIONID_MODERNSKY.concat(openid);
redisUtil.del(redisKeyUnid);
public SweetWechatUser getSweetWechatUserModernsky(String unionid) {
if (unionid.isEmpty()) {
return null;
}
String redisKey = SweetConstant.REDIS_KEY_SWEET_WECHAT_USER_INFO_MODERNSKY.concat(unionid);
return (SweetWechatUser) redisUtil.get(redisKey);
}
// 积分抽奖活动
public List<IntegralActivityVo> getIntegralActivityList() {
String redisKey = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_LIST;
Object obj = redisUtil.get(redisKey);
......
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