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

Commit b1b5227a authored by jiangxiulong's avatar jiangxiulong

模版消息

parent 571b9a5c
......@@ -6,6 +6,7 @@ import feign.hystrix.FallbackFactory;
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.List;
......@@ -19,4 +20,8 @@ public interface FeignKylinPerformanceClient {
// 演出列表
@GetMapping(value = "kylin/performance/list")
ResponseDto<List<KylinPerformanceVo>> performanceList(@RequestParam("performancesIds") String... performancesIds);
// 演出详情
@GetMapping("kylin/performance/{performancesId}")
ResponseDto<KylinPerformanceVo> detail(@PathVariable("performancesId") String performancesId);
}
......@@ -13,6 +13,8 @@ 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 enum ManualPosition {
POSITION_1("艺人"),
POSITION_2("签售时间"),
......
......@@ -18,7 +18,7 @@ public class SweetTemplateController {
private SweetTemplateServiceImpl sweetTemplateService;
@GetMapping("send")
@ApiOperation("code获取用户信息")
@ApiOperation("发送模版消息")
@ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "String", name = "code", value = "微信code", required = true),
@ApiImplicitParam(type = "query", dataType = "String", name = "encryptedData", value = "encryptedData", required = true),
......@@ -38,19 +38,14 @@ public class SweetTemplateController {
@PostMapping("remind")
@ApiOperation("提醒记录")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", dataType = "String", name = "code", value = "微信code", required = true),
@ApiImplicitParam(type = "form", dataType = "String", name = "encryptedData", value = "encryptedData", required = true),
@ApiImplicitParam(type = "form", dataType = "String", name = "iv", value = "iv", required = true),
@ApiImplicitParam(type = "form", dataType = "Integer", name = "type", value = "1草莓 2五百里 3mdsk"),
@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 code,
@RequestParam() String encryptedData,
@RequestParam() String iv,
@RequestParam(defaultValue = "1") Integer type
@RequestParam() String unionId,
@RequestParam() String performancesId
) {
sweetTemplateService.sendMsg();
return ResponseDto.success();
return sweetTemplateService.remind(unionId, performancesId);
}
}
package com.liquidnet.service.sweet.service.impl;
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.utils.RedisDataUtils;
import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
......@@ -8,6 +11,7 @@ import me.chanjar.weixin.mp.bean.template.WxMpTemplateData;
import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage;
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.stereotype.Service;
......@@ -27,6 +31,12 @@ public class SweetTemplateServiceImpl {
@Value("${liquidnet.wechat.zhengzai.service.secret}")
private String secret;
@Autowired
private RedisDataUtils redisDataUtils;
@Autowired
private FeignKylinPerformanceClient feignKylinPerformanceClient;
public ResponseDto send(String openId, String templateId) {
// 发送模板消息接口
WxMpTemplateMessage templateMessage = WxMpTemplateMessage.builder()
......@@ -74,4 +84,10 @@ public class SweetTemplateServiceImpl {
service.setWxMpConfigStorage(mpConfig);
return service;
}
public ResponseDto remind(String unionId, String performancesId) {
ResponseDto<KylinPerformanceVo> performanceVo = feignKylinPerformanceClient.detail(performancesId);
redisDataUtils.setSweetRemind(unionId, performancesId);
return ResponseDto.success();
}
}
......@@ -9,6 +9,7 @@ import com.liquidnet.service.sweet.dto.SweetManualAppletDto;
import com.liquidnet.service.sweet.dto.SweetManualArtistList2Dto;
import com.liquidnet.service.sweet.dto.SweetManualArtistListDto;
import com.liquidnet.service.sweet.dto.SweetManualArtistStageListDto;
import com.liquidnet.service.sweet.vo.SweetRemindVo;
import com.liquidnet.service.sweet.entity.SweetManualNotify;
import com.liquidnet.service.sweet.entity.SweetManualSort;
import com.liquidnet.service.sweet.entity.SweetRichtext;
......@@ -226,4 +227,23 @@ public class RedisDataUtils {
return (SweetArtistsRelationVo) obj;
}
}
// 小程序演出提醒
public void setSweetRemind(String unionId, String performancesId) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_REMIND.concat(unionId);
SweetRemindVo sweetRemindVo = SweetRemindVo.getNew();
sweetRemindVo.setCreatedAt(DateUtil.getNowTime());
sweetRemindVo.setPerformancesId(performancesId);
sweetRemindVo.setUnionId(unionId);
/*String redisKeyPer = KylinRedisConst.PERFORMANCES.concat(performancesId);
KylinPerformanceVo perInfo = (KylinPerformanceVo) redisUtil.get(redisKeyPer);
if (null != perInfo) {
sweetRemindVo.setFieldName(perInfo.getFieldName());
sweetRemindVo.setTitle(perInfo.getTitle());
sweetRemindVo.setTimeStart(perInfo.getTimeStart());
sweetRemindVo.setSellTime(perInfo.getSellTime());
}*/
redisUtil.set(redisKey, sweetRemindVo);
}
}
package com.liquidnet.service.sweet.vo;
import lombok.Data;
import java.io.Serializable;
@Data
public class SweetRemindVo implements Serializable, Cloneable {
private String performancesId;
private String unionId;
private String title;
private String timeStart;
private String sellTime;
private String fieldName;
private String createdAt;
private String updatedAt;
private static final SweetRemindVo obj = new SweetRemindVo();
public static SweetRemindVo getNew() {
try {
return (SweetRemindVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new SweetRemindVo();
}
}
}
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