记得上下班打卡 | 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 @@ ...@@ -96,6 +96,11 @@
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency>
<groupId>com.liquidnet</groupId>
<artifactId>liquidnet-api-feign-kylin</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies> </dependencies>
<build> <build>
......
...@@ -9,6 +9,7 @@ import com.liquidnet.service.base.ResponseDto; ...@@ -9,6 +9,7 @@ import com.liquidnet.service.base.ResponseDto;
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.feign.adam.api.FeignAdamBaseClient; 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.WechatTokenInfoVo;
import com.liquidnet.service.sweet.dto.vo.WechatUserInfoVo; import com.liquidnet.service.sweet.dto.vo.WechatUserInfoVo;
import com.liquidnet.service.sweet.utils.QueueUtils; import com.liquidnet.service.sweet.utils.QueueUtils;
...@@ -49,6 +50,8 @@ public class SweetWechatLoginServiceImpl { ...@@ -49,6 +50,8 @@ public class SweetWechatLoginServiceImpl {
@Autowired @Autowired
private FeignAdamBaseClient feignAdamBaseClient; private FeignAdamBaseClient feignAdamBaseClient;
@Autowired
private FeignStoneIntegralClient feignStoneIntegralClient;
public ResponseDto userInfo(String code, String encryptedData, String iv, Integer type) { public ResponseDto userInfo(String code, String encryptedData, String iv, Integer type) {
log.info("小程序解密用户信息参数:[code=[{}], encryptedData=[{}], [iv=[{}], type=[{}]", code, encryptedData, iv, type); log.info("小程序解密用户信息参数:[code=[{}], encryptedData=[{}], [iv=[{}], type=[{}]", code, encryptedData, iv, type);
...@@ -111,6 +114,8 @@ public class SweetWechatLoginServiceImpl { ...@@ -111,6 +114,8 @@ public class SweetWechatLoginServiceImpl {
usersRelationVo.setUserId(userId); usersRelationVo.setUserId(userId);
usersRelationVo.setUserPhone(mobile); usersRelationVo.setUserPhone(mobile);
redisUtils.setSweetWechatUsersRelation(usersRelationVo); redisUtils.setSweetWechatUsersRelation(usersRelationVo);
// 调用关注赠积分任务
feignStoneIntegralClient.doTask(4, userId);
} }
// 返回给前端数据 // 返回给前端数据
HashMap<String, Object> userInfo = CollectionUtil.mapStringObject(); HashMap<String, Object> userInfo = CollectionUtil.mapStringObject();
......
package com.liquidnet.service.sweet.service.impl; package com.liquidnet.service.sweet.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; 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.CollectionUtil;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.DateUtil; import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.JsonUtils; import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst; import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.feign.stone.api.FeignStoneIntegralClient; import com.liquidnet.service.feign.kylin.api.FeignKylinPerformancesClient;
import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo; import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo; import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import com.liquidnet.service.sweet.config.WechatMaConfigure; import com.liquidnet.service.sweet.config.WechatMaConfigure;
import com.liquidnet.service.sweet.config.WechatMpConfigure; import com.liquidnet.service.sweet.config.WechatMpConfigure;
import com.liquidnet.service.sweet.entity.SweetRemind; 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.mapper.SweetRemindMapper;
import com.liquidnet.service.sweet.param.SweetOpenSendMsgParam; import com.liquidnet.service.sweet.param.SweetOpenSendMsgParam;
import com.liquidnet.service.sweet.utils.QueueUtils; import com.liquidnet.service.sweet.utils.QueueUtils;
import com.liquidnet.service.sweet.utils.RedisDataUtils; import com.liquidnet.service.sweet.utils.RedisDataUtils;
import com.liquidnet.service.sweet.utils.WechatUsersRedisUtils;
import com.liquidnet.service.sweet.vo.SweetWechatUsersVo; import com.liquidnet.service.sweet.vo.SweetWechatUsersVo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.error.WxErrorException; import me.chanjar.weixin.common.error.WxErrorException;
...@@ -31,11 +27,11 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -31,11 +27,11 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List; import java.util.List;
/** /**
...@@ -57,14 +53,16 @@ public class SweetWechatTemplateServiceImpl { ...@@ -57,14 +53,16 @@ public class SweetWechatTemplateServiceImpl {
private String appletAppid; private String appletAppid;
@Autowired @Autowired
private RedisDataUtils redisDataUtils; private WechatUsersRedisUtils redisUtils;
@Autowired @Autowired
private RedisUtil redisUtil; private RedisDataUtils redisDataUtils;
@Autowired @Autowired
private QueueUtils queueUtils; private QueueUtils queueUtils;
@Autowired @Autowired
private SweetRemindMapper sweetRemindMapper; private SweetRemindMapper sweetRemindMapper;
@Autowired
private FeignKylinPerformancesClient feignKylinPerformancesClient;
@Autowired @Autowired
WechatMpConfigure wechatMpConfigure; WechatMpConfigure wechatMpConfigure;
...@@ -72,9 +70,6 @@ public class SweetWechatTemplateServiceImpl { ...@@ -72,9 +70,6 @@ public class SweetWechatTemplateServiceImpl {
@Autowired @Autowired
WechatMaConfigure wechatMaConfigure; WechatMaConfigure wechatMaConfigure;
@Autowired
private FeignStoneIntegralClient feignStoneIntegralClient;
public ResponseDto openSendMsg(SweetOpenSendMsgParam param) { public ResponseDto openSendMsg(SweetOpenSendMsgParam param) {
queueUtils.sendMsgByRedis(MQConst.SweetQueue.SWEET_TEMPLATE_MSG.getKey(), queueUtils.sendMsgByRedis(MQConst.SweetQueue.SWEET_TEMPLATE_MSG.getKey(),
JsonUtils.toJson(param)); JsonUtils.toJson(param));
...@@ -103,27 +98,28 @@ public class SweetWechatTemplateServiceImpl { ...@@ -103,27 +98,28 @@ public class SweetWechatTemplateServiceImpl {
for (SweetRemind remindInfo : sweetRemindList) { for (SweetRemind remindInfo : sweetRemindList) {
try { try {
String remindId = remindInfo.getRemindId(); String remindId = remindInfo.getRemindId();
SweetWechatUser sweetWechatUser = redisDataUtils.getSweetWechatUser(remindInfo.getUnionId()); SweetWechatUsersVo sweetWechatUsers = redisUtils.getSweetWechatUsers(remindInfo.getUnionId(), 1);
KylinPerformanceVo performanceVo = (KylinPerformanceVo) redisUtil.get(KylinRedisConst.PERFORMANCES.concat(remindInfo.getPerformancesId())); ResponseDto<KylinPerformanceVo> kylinPerformanceVo = feignKylinPerformancesClient.detail(remindInfo.getPerformancesId(), 0, 0, "");
if (null == sweetWechatUser) { KylinPerformanceVo performanceVoData = kylinPerformanceVo.getData();
if (null == sweetWechatUsers) {
remindIdList.add(remindId); remindIdList.add(remindId);
log.info("无用户数据:[UnionId=[{}]", remindInfo.getUnionId()); log.info("无用户数据:[UnionId=[{}]", remindInfo.getUnionId());
continue; continue;
} }
if (null == performanceVo) { if (null == performanceVoData || ObjectUtils.isEmpty(performanceVoData)) {
log.info("无演出数据:[getPerformancesId=[{}]", remindInfo.getPerformancesId()); log.info("无演出数据:[getPerformancesId=[{}]", remindInfo.getPerformancesId());
continue; continue;
} }
KylinTicketTimesVo kylinTicketTimesVo = performanceVo.getTicketTimeList().get(0); KylinTicketTimesVo kylinTicketTimesVo = performanceVoData.getTicketTimeList().get(0);
LocalDateTime nowTime = LocalDateTime.now(); LocalDateTime nowTime = LocalDateTime.now();
String nowTimeStr = DateUtil.Formatter.yyyyMMddHHmmss.format(nowTime); 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 sellTimeLocal = LocalDateTime.parse(sellTime, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
LocalDateTime sellTimeLocalNew = sellTimeLocal.minusMinutes(5); LocalDateTime sellTimeLocalNew = sellTimeLocal.minusMinutes(5);
String sellTimeLocalNewStr = DateUtil.Formatter.yyyyMMddHHmmss.format(sellTimeLocalNew); String sellTimeLocalNewStr = DateUtil.Formatter.yyyyMMddHHmmss.format(sellTimeLocalNew);
String stopSellTime = performanceVo.getStopSellTime(); String stopSellTime = performanceVoData.getStopSellTime();
if (1 == DateUtil.compareStrDay(nowTimeStr, stopSellTime)) { // 超过售卖期 不推 删redis if (1 == DateUtil.compareStrDay(nowTimeStr, stopSellTime)) { // 超过售卖期 不推 删redis
log.info("超过售卖期:[nowTimeStr=[{}], [stopSellTime=[{}]", log.info("超过售卖期:[nowTimeStr=[{}], [stopSellTime=[{}]",
nowTimeStr, stopSellTime); nowTimeStr, stopSellTime);
...@@ -136,12 +132,12 @@ public class SweetWechatTemplateServiceImpl { ...@@ -136,12 +132,12 @@ public class SweetWechatTemplateServiceImpl {
continue; 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", "您关注的演出即将开始售票")) 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("keyword2", kylinTicketTimesVo.getTitle()))
.addData(new WxMpTemplateData("keyword3", performanceVo.getFieldName())) .addData(new WxMpTemplateData("keyword3", performanceVoData.getFieldName()))
.addData(new WxMpTemplateData("remark", "点击这里跳转购票")); .addData(new WxMpTemplateData("remark", "点击这里跳转购票"));
String msgId = sendTmpMsg(templateMessage); String msgId = sendTmpMsg(templateMessage);
if (null != msgId) { if (null != msgId) {
...@@ -257,16 +253,15 @@ public class SweetWechatTemplateServiceImpl { ...@@ -257,16 +253,15 @@ public class SweetWechatTemplateServiceImpl {
} }
public boolean followStatus(String unionId, Integer type, String userId, String phone) { public boolean followStatus(String unionId, Integer type, String userId, String phone) {
SweetWechatUser sweetWechatUser = null;
if (null == type || type <= 1) { if (null == type || type < 1) {
sweetWechatUser = redisDataUtils.getSweetWechatUser(unionId); type = 1;
} else if (type == 2) {
sweetWechatUser = redisDataUtils.getSweetWechatUserModernsky(unionId);
} }
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(); String oldAdamPhone = sweetWechatUser.getAdamPhone();
if (null == oldAdamUserId) { if (null == oldAdamUserId) {
oldAdamUserId = ""; oldAdamUserId = "";
...@@ -315,7 +310,7 @@ public class SweetWechatTemplateServiceImpl { ...@@ -315,7 +310,7 @@ public class SweetWechatTemplateServiceImpl {
}); });
queueUtils.sendMsgByRedis(MQConst.SweetQueue.SWEET_WECHAT_USER_INSERT.getKey(), queueUtils.sendMsgByRedis(MQConst.SweetQueue.SWEET_WECHAT_USER_INSERT.getKey(),
SqlMapping.gets(sqls, sqlsDataA)); SqlMapping.gets(sqls, sqlsDataA));
} }*/
return true; return true;
} else { } else {
return false; return false;
......
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