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

Commit c44954c5 authored by jiangxiulong's avatar jiangxiulong

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

parents 54533841 f3e8fa11
package com.liquidnet.service.dragon.constant;
/**
*
*/
public class DragonConstant {
public enum payChannelEnum{
ALIPAY("alipay","支付宝"),
WEPAY ("wePay","微信"),
CLOUDPAY("cloudPay","云闪付");
private String code;
private String message;
payChannelEnum(String code, String message) {
this.code = code;
this.message = message;
}
}
/**
* 支付状态
*/
public enum payStatusEnum{
STATUS_UNPAID("0","未支付,或支付中"),
STATUS_PAID("1","已支付"),
STATUS_SUCCESS("2","已支付,通知成功,交易结束"),
STATUS_FAIL("3","已支付,通知失败,交易结束"),
STATUS_EXPIRE("4","已支付,通知超时,交易结束");
private String code;
private String message;
payStatusEnum(String code, String message) {
this.code = code;
this.message = message;
}
}
/**
* 支付业务类型
*/
public enum bussinessTypeEnum{
TYPE_TICKET("TICKET","票务购买(实物购买)"),
TYPE_PRODUCT("PRODUCT","商品购买(实物购买)"),
TYPE_COST("COST","活动资费(活动成本费、活动报名费)"),
TYPE_MBEANS("MBEANS","点豆充值(虚拟道具)"),
TYPE_LIVE("LIVE","直播付费(数字资产)"),
TYPE_VIDEO("VIDEO","点播付费(数字资产)"),
TYPE_VIP("VIP","会员购买(数字+实物资产)"),
TYPE_CLUB("CLUB","会员购买(数字+实物资产)"),
TYPE_STRAWBERRY("STRAWBERRY","现场购买 (实物资产)");
private String code;
private String message;
bussinessTypeEnum(String code, String message) {
this.code = code;
this.message = message;
}
}
/**
* 支付类型
*/
public enum payTypeEnum{
PAYMENT_TYPE_APP_ALIPAY("APPALIPAY","App内支付宝支付"),
PAYMENT_TYPE_APP_WEPAY("APPWEPAY","App内微信支付"),
PAYMENT_TYPE_APP_IAP("APPIAP","App内IAP(In-App Purchase)支付,iOS虚拟道具支付"),
PAYMENT_TYPE_WAP_ALIPAY("WAPALIPAY","手机网页内支付宝支付"),
PAYMENT_TYPE_WAP_WEPAY("WAPWEPAY","手机网页调起微信支付"),
PAYMENT_TYPE_WEB_ALIPAY("WEBALIPAY","电脑网页内支付宝即时到账支付"),
PAYMENT_TYPE_WEB_WEPAY("WEBWEPAY","电脑网页内微信二维码支付,用户打开微信扫码支付"),
PAYMENT_TYPE_JS_WEPAY("JSWEPAY","微信内网页、微信公众号"),
PAYMENT_TYPE_APPLET_WEPAY("APPLETWEPAY","微信小程序");
private String code;
private String message;
payTypeEnum(String code, String message) {
this.code = code;
this.message = message;
}
}
}
package com.liquidnet.service.dragon.service; package com.liquidnet.service.dragon.service;
public interface IDragonOrderRefundsService { public interface IDragonOrderRefundsService {
void sendRedisQueue();
} }
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
<modules> <modules>
<module>liquidnet-service-adam-api</module> <module>liquidnet-service-adam-api</module>
<module>liquidnet-service-kylin-api</module> <module>liquidnet-service-kylin-api</module>
<module>liquidnet-bus-dragon-api</module> <module>liquidnet-service-dragon-api</module>
</modules> </modules>
<dependencies> <dependencies>
<dependency> <dependency>
......
package com.liquidnet.service.consumer.service.processor; package com.liquidnet.service.consumer.service.processor;
import com.liquidnet.service.consumer.adam.service.processor.ConsumerAdamUCenterProcessor;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
......
...@@ -18,12 +18,6 @@ ...@@ -18,12 +18,6 @@
<artifactId>liquidnet-common-cache-redis</artifactId> <artifactId>liquidnet-common-cache-redis</artifactId>
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
</dependency> </dependency>
<dependency>
<groupId>com.liquidnet</groupId>
<artifactId>liquidnet-common-cache-redisson</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<!-- other --> <!-- other -->
<dependency> <dependency>
<groupId>com.liquidnet</groupId> <groupId>com.liquidnet</groupId>
......
package com.liquidnet.service.dragon.config;
import com.liquidnet.common.web.config.WebMvcConfig;
import com.liquidnet.common.web.filter.GlobalAuthorityInterceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
@Configuration
public class DragonWebMvcConfig extends WebMvcConfig {
@Autowired
GlobalAuthorityInterceptor globalAuthorityInterceptor;
@Override
protected void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(globalAuthorityInterceptor).addPathPatterns("/**");
super.addInterceptors(registry);
}
}
package com.liquidnet.service.dragon.config;
import com.liquidnet.service.dragon.receiver.RedisReceiver;
import lombok.var;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.connection.stream.Consumer;
import org.springframework.data.redis.connection.stream.ReadOffset;
import org.springframework.data.redis.connection.stream.StreamOffset;
import org.springframework.data.redis.stream.StreamMessageListenerContainer;
import org.springframework.data.redis.stream.Subscription;
import java.time.Duration;
@Configuration
public class RedisStreamConfig {
@Autowired
private RedisReceiver redisReceiver;
@Bean
public Subscription subscription(RedisConnectionFactory factory){
var options = StreamMessageListenerContainer
.StreamMessageListenerContainerOptions
.builder()
.pollTimeout(Duration.ofSeconds(1))
.build();
var listenerContainer = StreamMessageListenerContainer.create(factory,options);
var subscription = listenerContainer.receiveAutoAck(Consumer.from("dragon","dragon_pay"),
StreamOffset.create("dragon", ReadOffset.lastConsumed()),redisReceiver);
listenerContainer.start();
return subscription;
}
}
package com.liquidnet.service.dragon.controller; package com.liquidnet.service.dragon.controller;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.dragon.service.IDragonOrderRefundsService;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
@RestController @RestController
@RequestMapping("refund") @RequestMapping("refund")
public class RefundController { public class RefundController {
@Autowired
IDragonOrderRefundsService orderRefundsService;
@PostMapping("pre")
@ApiOperation("发送测试redis")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<String> checkCanOrder() {
orderRefundsService.sendRedisQueue();
return ResponseDto.success();
}
} }
package com.liquidnet.service.dragon.receiver;
import lombok.extern.slf4j.Slf4j;
import org.springframework.data.redis.connection.Message;
import org.springframework.data.redis.connection.MessageListener;
import org.springframework.data.redis.connection.stream.MapRecord;
import org.springframework.data.redis.serializer.JdkSerializationRedisSerializer;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
import org.springframework.data.redis.stream.StreamListener;
import org.springframework.stereotype.Component;
@Slf4j
@Component
public class RedisReceiver implements StreamListener<String, MapRecord<String, String, String>> {
// @Override
// public void onMessage(Message message, byte[] pattern) {
// RedisSerializer serializer = new JdkSerializationRedisSerializer();
// StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
// //接收的topic
// String channel = stringRedisSerializer.deserialize(message.getChannel());
// System.out.println("INFO CHANNEL => "+channel);
// //消息的POJO
// Object o = serializer.deserialize(message.getBody());
// System.out.println("INFO MESSAGE => "+o);
// }
@Override
public void onMessage(MapRecord<String, String, String> message) {
log.info("接受到来自redis的消息");
System.out.println("message id "+message.getId());
System.out.println("stream "+message.getStream());
System.out.println("body "+message.getValue());
}
}
package com.liquidnet.service.dragon.service.impl; package com.liquidnet.service.dragon.service.impl;
import com.liquidnet.service.dragon.service.IDragonOrderRefundsService; import com.liquidnet.service.dragon.service.IDragonOrderRefundsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.connection.stream.MapRecord;
import org.springframework.data.redis.connection.stream.StreamRecords;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;
import java.util.HashMap;
@Service
public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService { public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService {
@Autowired
StringRedisTemplate stringRedisTemplate;
@Override
public void sendRedisQueue() {
try {
stringRedisTemplate.convertAndSend("msg2", "测试 redis 订阅信息2");
HashMap<String ,String> map = new HashMap<>();
map.put("message","测试 redis 订阅信息1");
MapRecord<String, String, String> record = StreamRecords.mapBacked(map).withStreamKey("dragon");
stringRedisTemplate.opsForStream().add(record);
}catch (Exception e){
e.printStackTrace();
}
}
} }
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