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

Commit 463fe412 authored by 胡佳晨's avatar 胡佳晨

Merge remote-tracking branch 'origin/dev' into dev

parents c1d9e144 e1458673
package com.liquidnet.service.kylin.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.service.kylin.dto.vo.express.KylinOrderExpressRouteVo;
import com.liquidnet.service.kylin.dto.vo.express.KylinOrderExpressVo;
import com.liquidnet.service.kylin.entity.*;
import com.liquidnet.service.kylin.mapper.*;
import com.liquidnet.service.kylin.service.IKylinOrderExpress;
import com.liquidnet.service.kylin.utils.DataUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
......
......@@ -512,7 +512,8 @@ public class DataUtils {
Object obj = redisUtil.get(redisKey);
if (obj == null) {
List<KylinOrderExpressRouteVo> routeVoList = mongoTemplate.find(
Query.query(Criteria.where("orderTicketsId").is(orderTicketsId)),
Query.query(Criteria.where("orderTicketsId").is(orderTicketsId))
.with(Sort.by(Sort.Direction.DESC, "createdAt")),
KylinOrderExpressRouteVo.class, KylinOrderExpressRouteVo.class.getSimpleName()
);
redisUtil.set(redisKey, routeVoList);
......
......@@ -14,6 +14,7 @@ public class SweetConstant {
public final static String REDIS_KEY_SWEET_ARTISTS_RELATION = "sweet:artists:relation:uid:";
public final static String REDIS_KEY_SWEET_REMIND="sweet:remind:unionId:";
public static final String REDIS_KEY_SWEET_REMIND_ALL = "sweet:remind:unionId*";
public enum ManualPosition {
POSITION_1("艺人"),
......
......@@ -19,33 +19,23 @@ public class SweetTemplateController {
@GetMapping("send")
@ApiOperation("发送模版消息")
@ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "String", name = "code", value = "微信code", required = true),
@ApiImplicitParam(type = "query", dataType = "String", name = "encryptedData", value = "encryptedData", required = true),
@ApiImplicitParam(type = "query", dataType = "String", name = "iv", value = "iv", required = true),
@ApiImplicitParam(type = "query", dataType = "Integer", name = "type", value = "1草莓 2五百里 3mdsk"),
})
public ResponseDto send(
@RequestParam() String code,
@RequestParam() String encryptedData,
@RequestParam() String iv,
@RequestParam(defaultValue = "1") Integer type
) {
sweetTemplateService.sendMsg();
return ResponseDto.success();
public ResponseDto send() {
return sweetTemplateService.sendMsg();
}
@PostMapping("remind")
@ApiOperation("提醒记录")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", dataType = "String", name = "openId", value = "微信openId", required = true),
@ApiImplicitParam(type = "form", dataType = "String", name = "unionId", value = "微信unionId", required = true),
@ApiImplicitParam(type = "form", dataType = "String", name = "performancesId", value = "演出ID", required = true),
})
public ResponseDto remind(
@RequestParam() String openId,
@RequestParam() String unionId,
@RequestParam() String performancesId
) {
return sweetTemplateService.remind(unionId, performancesId);
return sweetTemplateService.remind(openId, unionId, performancesId);
}
}
package com.liquidnet.service.sweet.service.impl;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.feign.kylin.api.FeignKylinPerformanceClient;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import com.liquidnet.service.sweet.constant.SweetConstant;
import com.liquidnet.service.sweet.utils.RedisDataUtils;
import com.liquidnet.service.sweet.vo.SweetRemindVo;
import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
......@@ -13,7 +17,12 @@ import me.chanjar.weixin.mp.config.WxMpConfigStorage;
import me.chanjar.weixin.mp.config.impl.WxMpDefaultConfigImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Set;
/**
* <p>
......@@ -33,15 +42,25 @@ public class SweetTemplateServiceImpl {
@Autowired
private RedisDataUtils redisDataUtils;
@Autowired
private RedisTemplate redisTemplate;
@Autowired
private RedisUtil redisUtil;
@Autowired
private FeignKylinPerformanceClient feignKylinPerformanceClient;
public ResponseDto send(String openId, String templateId) {
public ResponseDto send(String templateId) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_REMIND_ALL;
Set<String> keys = redisTemplate.keys(redisKey);
Object hkeys = redisUtil.hkeys(redisKey);
if (!CollectionUtils.isEmpty(keys)) {
for (String rkey : keys) {
SweetRemindVo remindInfo = (SweetRemindVo) redisUtil.get(rkey);
// 发送模板消息接口
WxMpTemplateMessage templateMessage = WxMpTemplateMessage.builder()
// 接收者openid
.toUser(openId)
.toUser(remindInfo.getOpenId())
// 模板id
.templateId(templateId)
// 模板跳转链接
......@@ -62,14 +81,15 @@ public class SweetTemplateServiceImpl {
e.printStackTrace();
}
System.out.println(msgId);
}
}
return ResponseDto.success();
}
public void sendMsg()
public ResponseDto sendMsg()
{
String openId = "";
String templateId = "";
send(openId, templateId);
String templateId = "CNLDBZYQoDgTWudicx8WU81Jr9b6RyG9hmK4O0tpK-k";
return send(templateId);
}
private WxMpConfigStorage wxMpConfig(String appId, String appSecret) {
......@@ -85,10 +105,10 @@ public class SweetTemplateServiceImpl {
return service;
}
public ResponseDto remind(String unionId, String performancesId) {
public ResponseDto remind(String openId, String unionId, String performancesId) {
ResponseDto<KylinPerformanceVo> performanceVo = feignKylinPerformanceClient.detail(performancesId);
KylinPerformanceVo performanceInfo = performanceVo.getData();
redisDataUtils.setSweetRemind(unionId, performancesId, performanceInfo);
redisDataUtils.setSweetRemind(openId, unionId, performancesId, performanceInfo);
return ResponseDto.success();
}
}
......@@ -17,12 +17,10 @@ import com.liquidnet.service.sweet.entity.SweetRichtext;
import com.liquidnet.service.sweet.mapper.*;
import com.liquidnet.service.sweet.vo.SweetArtistsRelationVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.*;
@Component
public class RedisDataUtils {
......@@ -230,12 +228,13 @@ public class RedisDataUtils {
}
// 小程序演出提醒
public void setSweetRemind(String unionId, String performancesId, KylinPerformanceVo performanceInfo) {
public void setSweetRemind(String openId, String unionId, String performancesId, KylinPerformanceVo performanceInfo) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_REMIND.concat(unionId);
SweetRemindVo sweetRemindVo = SweetRemindVo.getNew();
sweetRemindVo.setCreatedAt(DateUtil.getNowTime());
sweetRemindVo.setPerformancesId(performancesId);
sweetRemindVo.setUnionId(unionId);
sweetRemindVo.setOpenId(openId);
if (null != performanceInfo) {
sweetRemindVo.setFieldName(performanceInfo.getFieldName());
......@@ -245,4 +244,5 @@ public class RedisDataUtils {
}
redisUtil.set(redisKey, sweetRemindVo);
}
}
......@@ -7,6 +7,7 @@ import java.io.Serializable;
@Data
public class SweetRemindVo implements Serializable, Cloneable {
private String performancesId;
private String openId;
private String unionId;
private String title;
private String timeStart;
......
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