记得上下班打卡 | 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;
......
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