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

Commit 9229d978 authored by 胡佳晨's avatar 胡佳晨

Merge branch 'pre' into dev_member_voucher_refund

parents ae352386 f2d40c14
...@@ -2,8 +2,8 @@ package com.liquidnet.service.adam.dto.vo; ...@@ -2,8 +2,8 @@ package com.liquidnet.service.adam.dto.vo;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.liquidnet.commons.lang.util.DateUtil; import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.adam.dto.AdamMemberOrderDto;
import com.liquidnet.service.adam.entity.AdamMemberOrder; import com.liquidnet.service.adam.entity.AdamMemberOrder;
import com.liquidnet.service.adam.entity.AdamMemberOrderExt;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -80,6 +80,44 @@ public class AdamMemberOrderVo implements Serializable, Cloneable { ...@@ -80,6 +80,44 @@ public class AdamMemberOrderVo implements Serializable, Cloneable {
} }
} }
public AdamMemberOrderVo copy(AdamMemberOrderDto source) {
if (null == source) return this;
this.setOrderNo(source.getOrderNo());
this.setUid(source.getUid());
this.setMode(source.getMode());
this.setMemberId(source.getMemberId());
this.setMemberName(source.getMemberName());
this.setMemberPriceId(source.getMemberPriceId());
this.setDays(source.getDays());
this.setState(source.getState());
this.setMemberNo(source.getMemberNo());
this.setBirthday(source.getBirthday());
this.setDeviceFrom(source.getDeviceFrom());
this.setPayType(source.getPayType());
this.setPayNo(source.getPayNo());
this.setPaymentAt(source.getPaymentAt());
this.setCreatedAt(source.getCreatedAt());
this.setUpdatedAt(source.getUpdatedAt());
this.setPrice(source.getPrice());
this.setPricePaid(source.getPricePaid());
this.setClientIp(source.getClientIp());
this.setSource(source.getSource());
this.setVersion(source.getVersion());
AdamMemberOrderExtVo extVo = AdamMemberOrderExtVo.getNew();
extVo.setOrderNo(source.getOrderNo());
extVo.setExpressStatus(source.getExpressStatus());
extVo.setExpressReceiver(source.getExpressReceiver());
extVo.setExpressPhone(source.getExpressPhone());
extVo.setExpressAddress(source.getExpressAddress());
this.setExtendVo(extVo);
return this;
}
public AdamMemberOrderVo copy(AdamMemberOrder source) { public AdamMemberOrderVo copy(AdamMemberOrder source) {
if (null == source) return this; if (null == source) return this;
this.setOrderNo(source.getOrderNo()); this.setOrderNo(source.getOrderNo());
......
package com.liquidnet.service.adam.dto.vo; package com.liquidnet.service.adam.dto.vo;
import com.liquidnet.service.adam.entity.AdamRealName;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -27,8 +28,17 @@ public class AdamRealInfoVo implements Serializable, Cloneable { ...@@ -27,8 +28,17 @@ public class AdamRealInfoVo implements Serializable, Cloneable {
try { try {
return (AdamRealInfoVo) obj.clone(); return (AdamRealInfoVo) obj.clone();
} catch (CloneNotSupportedException e) { } catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return new AdamRealInfoVo(); return new AdamRealInfoVo();
} }
}
public AdamRealInfoVo copy(AdamRealName source) {
if (null == source) return this;
this.setUid(source.getUid());
this.setName(source.getName());
this.setIdCard(source.getIdCard());
this.setType(source.getType());
this.setState(source.getState());
return this;
}
} }
...@@ -3,6 +3,7 @@ package com.liquidnet.service.adam.dto.vo; ...@@ -3,6 +3,7 @@ package com.liquidnet.service.adam.dto.vo;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import com.liquidnet.commons.lang.util.DateUtil; import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.adam.entity.AdamUserMember;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -42,6 +43,18 @@ public class AdamUserMemberVo implements Serializable, Cloneable { ...@@ -42,6 +43,18 @@ public class AdamUserMemberVo implements Serializable, Cloneable {
} }
} }
public AdamUserMemberVo copy(AdamUserMember source) {
if (null == source) return this;
this.setUid(source.getUid());
this.setMemberId(source.getMemberId());
this.setMemberNo(source.getMemberNo());
this.setState(source.getState());
this.setExpiryAt(source.getExpiryAt());
this.setCreatedAt(source.getCreatedAt());
this.setUpdatedAt(source.getUpdatedAt());
return this;
}
/** /**
* 会员是否有效 * 会员是否有效
* *
......
package com.liquidnet.common.cache.redis.config;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
/**
* Created by Administrator on 2017/2/8.
*/
@Configuration
public class RedisCacheConfig{
@Bean
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<String, Object>();
redisTemplate.setConnectionFactory(factory);
Jackson2JsonRedisSerializer j2jrs = new Jackson2JsonRedisSerializer(Object.class);
ObjectMapper om = new ObjectMapper();
om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
om.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
om.registerModule(new JavaTimeModule());
om.activateDefaultTyping(om.getPolymorphicTypeValidator(), ObjectMapper.DefaultTyping.NON_FINAL);
j2jrs.setObjectMapper(om);
StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
// key采用String的序列化方式
redisTemplate.setKeySerializer(stringRedisSerializer);
// hash的key也采用String的序列化方式
redisTemplate.setHashKeySerializer(stringRedisSerializer);
// value序列化方式采用jackson
redisTemplate.setValueSerializer(j2jrs);
// hash的value序列化方式采用jackson
redisTemplate.setHashValueSerializer(j2jrs);
redisTemplate.afterPropertiesSet();
return redisTemplate;
}
}
package com.liquidnet.common.cache.redis.config;//package com.liquidnet.common.cache.redis.config;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.pool2.impl.GenericObjectPoolConfig;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisStandaloneConfiguration;
import org.springframework.data.redis.connection.lettuce.LettuceClientConfiguration;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.data.redis.connection.lettuce.LettucePoolingClientConfiguration;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
import javax.annotation.PostConstruct;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @Description: TODO
* @class: RedisConfig
* @Package com.liquidnet.common.cache.redis.config
* @Copyright: LightNet @ Copyright (c) 2021
* @date 2021/8/10 16:28
*/
@Slf4j
@Configuration
public class RedisConfig {
@Value("${spring.redis.host}")
private String host;
@Value("${spring.redis.port}")
private int port;
@Value("${spring.redis.password}")
private String password;
@Value("${spring.redis.lettuce.pool.max-active}")
private int maxActive;
@Value("${spring.redis.lettuce.pool.max-idle}")
private int maxIdle;
@Value("${spring.redis.lettuce.pool.min-idle}")
private int minIdle;
@Value("${spring.redis.lettuce.pool.max-wait}")
private int maxWait;
public static int defaultDb = 0;
public static int totalDbs = 1;
@Value("${spring.redis.dbs:${spring.redis.database}}")
private List<Integer> dbs;
public static Map<Integer, RedisTemplate<String, Object>> redisTemplateMap = new HashMap<>();
@PostConstruct
public void initRedisTemp() throws Exception {
log.info("###### START 初始化 Redis 连接池 START ######");
defaultDb = dbs.get(0);
if(dbs.size()==2&&dbs.get(1)!=null){
totalDbs = dbs.get(1);
log.info("init totalDbs : {}",totalDbs);
for (int i = 0;i < totalDbs; i++) {
log.info("###### 正在加载Redis-db-" + i+ " ######");
redisTemplateMap.put(i, getRedisTemplate(i));
}
}else{
log.info("init defaultDb : {}",defaultDb);
redisTemplateMap.put(defaultDb, getRedisTemplate(defaultDb));
}
log.info("###### END 初始化 Redis 连接池 END ######");
}
private RedisTemplate<String, Object> getRedisTemplate(int dbNo) {
return getRedisTemplate(getDbFactory(dbNo));
}
private LettuceConnectionFactory getDbFactory(int dbNo){
LettuceConnectionFactory factory = new LettuceConnectionFactory(getRedisConfig(dbNo), getClientConfig());
factory.afterPropertiesSet();//必须初始化实例
return factory;
}
private RedisStandaloneConfiguration getRedisConfig(int dbNo) {
RedisStandaloneConfiguration config = new RedisStandaloneConfiguration();
config.setHostName(host);
config.setPort(port);
config.setPassword(password);
config.setDatabase(dbNo);
return config;
}
private LettuceClientConfiguration getClientConfig() {
GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig();
poolConfig.setMaxTotal(maxActive);
poolConfig.setMaxIdle(maxIdle);
poolConfig.setMinIdle(minIdle);
poolConfig.setMaxWaitMillis(maxWait);
return LettucePoolingClientConfiguration.builder().poolConfig(poolConfig).build();
}
private RedisTemplate<String, Object> getRedisTemplate(LettuceConnectionFactory factory) {
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(factory);
setSerializer(redisTemplate);
redisTemplate.afterPropertiesSet();
return redisTemplate;
}
public RedisTemplate<String, Object> getRedisTemplateByDb(int db){
return redisTemplateMap.get(db);
}
@Bean
public RedisTemplate redisTemplate() {
LettuceConnectionFactory factory = null;
if(totalDbs==1){
factory = getDbFactory(defaultDb);
}else{
factory = getDbFactory(totalDbs-1);
}
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(factory);
setSerializer(redisTemplate);
redisTemplate.afterPropertiesSet();
return redisTemplate;
}
@Bean
public StringRedisTemplate stringRedisTemplate() {
LettuceConnectionFactory factory = null;
if(totalDbs==1){
factory = getDbFactory(defaultDb);
}else{
factory = getDbFactory(totalDbs-1);
}
StringRedisTemplate redisTemplate = new StringRedisTemplate();
redisTemplate.setConnectionFactory(factory);
return redisTemplate;
}
private void setSerializer(RedisTemplate<String, Object> template) {
Jackson2JsonRedisSerializer j2jrs = new Jackson2JsonRedisSerializer(Object.class);
ObjectMapper om = new ObjectMapper();
om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
om.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
om.registerModule(new JavaTimeModule());
om.activateDefaultTyping(om.getPolymorphicTypeValidator(), ObjectMapper.DefaultTyping.NON_FINAL);
j2jrs.setObjectMapper(om);
StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
// key采用String的序列化方式
template.setKeySerializer(stringRedisSerializer);
// hash的key也采用String的序列化方式
template.setHashKeySerializer(stringRedisSerializer);
// value序列化方式采用jackson
template.setValueSerializer(j2jrs);
// hash的value序列化方式采用jackson
template.setHashValueSerializer(j2jrs);
template.afterPropertiesSet();
}
}
\ No newline at end of file
package com.liquidnet.common.cache.redis.util;
import com.liquidnet.common.cache.redis.config.RedisConfig;
import lombok.extern.slf4j.Slf4j;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @Description: TODO
* @class: MathUtil
* @Package com.liquidnet.common.cache.redis.util
* @Copyright: LightNet @ Copyright (c) 2021
* @date 2021/8/10 18:03
*/
@Slf4j
public class MathUtil {
public static int getIndex(String key){
log.debug("MathUtil.getIndex key:{} hashcode:{}",key,key.hashCode());
int defaultDb = RedisConfig.defaultDb;
int totalDbs = RedisConfig.totalDbs;
if(totalDbs==1){
log.info("only one db : {} ",defaultDb);
return defaultDb;
}
int mod = 250;
if(totalDbs > 1 && totalDbs < 256){
if(totalDbs==16){
mod = 15;
}else{
mod = totalDbs - 1;
}
}
long value = Long.valueOf(key.hashCode());
int hash=(int)(value ^ (value >>> 32));
int index=hash % mod;
log.debug("MathUtil.getIndex key:{} index:{}",key,index);
return index;
}
public static void main(String[] args) {
RedisConfig redisConfig = new RedisConfig();
redisConfig.getRedisTemplateByDb(MathUtil.getIndex("1"));
}
}
...@@ -31,6 +31,7 @@ liquidnet: ...@@ -31,6 +31,7 @@ liquidnet:
knife4j: knife4j:
disable: false disable: false
redis: redis:
dbs: 0,16
host: 39.106.122.201 host: 39.106.122.201
port: 6379 port: 6379
password: 3Xa%8p password: 3Xa%8p
......
...@@ -31,6 +31,7 @@ liquidnet: ...@@ -31,6 +31,7 @@ liquidnet:
knife4j: knife4j:
disable: false disable: false
redis: redis:
dbs: 0,256
host: r-2ze7002ckw5u75fgukpd.redis.rds.aliyuncs.com host: r-2ze7002ckw5u75fgukpd.redis.rds.aliyuncs.com
port: 6380 port: 6380
password: PO@B!Iud32 password: PO@B!Iud32
......
...@@ -21,5 +21,8 @@ liquidnet: ...@@ -21,5 +21,8 @@ liquidnet:
mongodb: mongodb:
sslEnabled: false sslEnabled: false
database: dev_ln_scene database: dev_ln_scene
dragon:
redis:
database: 15
#以下为spring各环境个性配置 #以下为spring各环境个性配置
\ No newline at end of file
...@@ -21,5 +21,7 @@ liquidnet: ...@@ -21,5 +21,7 @@ liquidnet:
mongodb: mongodb:
sslEnabled: false sslEnabled: false
database: test_ln_scene database: test_ln_scene
dragon:
redis:
database: 255
#以下为spring各环境个性配置 #以下为spring各环境个性配置
...@@ -57,7 +57,7 @@ spring: ...@@ -57,7 +57,7 @@ spring:
profiles: profiles:
include: common-service #这里加载management相关公共配置 include: common-service #这里加载management相关公共配置
redis: redis:
database: 0 database: ${liquidnet.dragon.redis.database}
port: ${liquidnet.redis.dragon.port} port: ${liquidnet.redis.dragon.port}
host: ${liquidnet.redis.dragon.host} host: ${liquidnet.redis.dragon.host}
password: ${liquidnet.redis.dragon.password} password: ${liquidnet.redis.dragon.password}
......
...@@ -75,6 +75,9 @@ spring: ...@@ -75,6 +75,9 @@ spring:
- org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration - org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
redis: redis:
database: 0 database: 0
#如果配置了dbs,则database配置失效 格式为0,16 0为分库初始索引(目前只支持从0开始),16为redis总的db数,队列会自动创建在db15
#如果配置了dbs为具体dbNo 如:0 则作用同database配置一样
dbs: ${liquidnet.redis.dbs}
port: ${liquidnet.redis.dragon.port} port: ${liquidnet.redis.dragon.port}
host: ${liquidnet.redis.dragon.host} host: ${liquidnet.redis.dragon.host}
password: ${liquidnet.redis.dragon.password} password: ${liquidnet.redis.dragon.password}
......
...@@ -82,6 +82,9 @@ spring: ...@@ -82,6 +82,9 @@ spring:
connection-timeout: ${liquidnet.rabbitmq.connection-timeout} connection-timeout: ${liquidnet.rabbitmq.connection-timeout}
redis: redis:
database: 0 database: 0
#如果配置了dbs,则database配置失效 格式为0,16 0为分库初始索引(目前只支持从0开始),16为redis总的db数,队列会自动创建在db15
#如果配置了dbs为具体dbNo 如:0 则作用同database配置一样
dbs: ${liquidnet.redis.dbs}
port: ${liquidnet.redis.dragon.port} port: ${liquidnet.redis.dragon.port}
host: ${liquidnet.redis.dragon.host} host: ${liquidnet.redis.dragon.host}
password: ${liquidnet.redis.dragon.password} password: ${liquidnet.redis.dragon.password}
......
package com.liquidnet.service.adam.dto;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
public class AdamMemberOrderDto {
private String orderNo;
private String uid;
private Integer mode;
private String memberId;
private String memberName;
private String memberPriceId;
private Integer days;
private Integer state;
private String memberNo;
private String birthday;
private String deviceFrom;
private String payType;
private String payNo;
private LocalDateTime paymentAt;
private LocalDateTime createdAt;
private LocalDateTime updatedAt;
private BigDecimal price;
private BigDecimal pricePaid;
private String clientIp;
private String source;
private String version;
private Integer expressStatus;
private String expressReceiver;
private String expressPhone;
private String expressAddress;
}
package com.liquidnet.service.adam.mapper; package com.liquidnet.service.adam.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.liquidnet.service.adam.dto.AdamMemberOrderDto;
import com.liquidnet.service.adam.dto.MemberOrderDto; import com.liquidnet.service.adam.dto.MemberOrderDto;
import com.liquidnet.service.adam.entity.AdamMemberOrder; import com.liquidnet.service.adam.entity.AdamMemberOrder;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
public interface AdamMemberOrderMapper extends BaseMapper<AdamMemberOrder> { public interface AdamMemberOrderMapper extends BaseMapper<AdamMemberOrder> {
List<MemberOrderDto> getMemberOrderList(Map<String, Object> map); List<MemberOrderDto> getMemberOrderList(Map<String, Object> map);
@Select({"select amo.mid," +
"amo.order_no as orderNo," +
"amo.uid," +
"amo.mode," +
"amo.price," +
"amo.price_paid as pricePaid," +
"amo.member_name as memberName," +
"amo.member_id as memberId," +
"amo.member_price_id as memberPriceId," +
"amo.days," +
"amo.state," +
"amo.member_no as memberNo," +
"amo.birthday," +
"amo.device_from as deviceFrom," +
"amo.pay_type as payType," +
"amo.pay_no as payNo," +
"amo.payment_at as paymentAt," +
"amo.created_at as createdAt," +
"amo.updated_at as updatedAt," +
"amo.client_ip as clientIp," +
"amo.source," +
"amo.version," +
"amoe.express_status as expressStatus," +
"amoe.express_receiver as expressReceiver," +
"amoe.express_phone as expressPhone," +
"amoe.express_address as expressAddress " +
"from adam_member_order amo " +
"left join adam_member_order_ext amoe on amo.order_no = amoe.order_no " +
"order by amo.mid " +
"limit #{rows},#{offset}"
})
List<AdamMemberOrderDto> selectMultiForMemberOrderDto(@Param("rows") int rows, @Param("offset") int offset);
} }
...@@ -291,6 +291,7 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService { ...@@ -291,6 +291,7 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
initMemberCodeVo.getBuyOrderNo(), initMemberCodeVo.getBuyUid(), initMemberCodeVo.getBuyAt() initMemberCodeVo.getBuyOrderNo(), initMemberCodeVo.getBuyUid(), initMemberCodeVo.getBuyAt()
}); });
} }
handleMemberOrderVo.setPricePaid(parameter.getPrice());
handleMemberOrderVo.setPaymentAt(DateUtil.Formatter.yyyyMMddHHmmss.parse(parameter.getPaymentAt())); handleMemberOrderVo.setPaymentAt(DateUtil.Formatter.yyyyMMddHHmmss.parse(parameter.getPaymentAt()));
handleMemberOrderVo.setUpdatedAt(now); handleMemberOrderVo.setUpdatedAt(now);
handleMemberOrderVo.setState(1);// 1-已支付 handleMemberOrderVo.setState(1);// 1-已支付
...@@ -308,7 +309,8 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService { ...@@ -308,7 +309,8 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
handleMemberOrderVo.getPricePaid(), handleMemberOrderVo.getMemberName(), handleMemberOrderVo.getMemberId(), handleMemberOrderVo.getMemberPriceId(), handleMemberOrderVo.getPricePaid(), handleMemberOrderVo.getMemberName(), handleMemberOrderVo.getMemberId(), handleMemberOrderVo.getMemberPriceId(),
handleMemberOrderVo.getDays(), handleMemberOrderVo.getState(), handleMemberOrderVo.getMemberNo(), handleMemberOrderVo.getBirthday(), handleMemberOrderVo.getDays(), handleMemberOrderVo.getState(), handleMemberOrderVo.getMemberNo(), handleMemberOrderVo.getBirthday(),
handleMemberOrderVo.getDeviceFrom(), handleMemberOrderVo.getPayType(), handleMemberOrderVo.getPayNo(), handleMemberOrderVo.getPaymentAt(), handleMemberOrderVo.getDeviceFrom(), handleMemberOrderVo.getPayType(), handleMemberOrderVo.getPayNo(), handleMemberOrderVo.getPaymentAt(),
handleMemberOrderVo.getCreatedAt(), handleMemberOrderVo.getUpdatedAt(), handleMemberOrderVo.getCreatedAt(),
handleMemberOrderVo.getUpdatedAt(),
handleMemberOrderVo.getClientIp(), handleMemberOrderVo.getSource(), handleMemberOrderVo.getVersion() handleMemberOrderVo.getClientIp(), handleMemberOrderVo.getSource(), handleMemberOrderVo.getVersion()
}); });
...@@ -461,7 +463,9 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService { ...@@ -461,7 +463,9 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
initMemberOrderVo.getPricePaid(), initMemberOrderVo.getMemberName(), initMemberOrderVo.getMemberId(), initMemberOrderVo.getMemberPriceId(), initMemberOrderVo.getPricePaid(), initMemberOrderVo.getMemberName(), initMemberOrderVo.getMemberId(), initMemberOrderVo.getMemberPriceId(),
initMemberOrderVo.getDays(), initMemberOrderVo.getState(), initMemberOrderVo.getMemberNo(), initMemberOrderVo.getBirthday(), initMemberOrderVo.getDays(), initMemberOrderVo.getState(), initMemberOrderVo.getMemberNo(), initMemberOrderVo.getBirthday(),
initMemberOrderVo.getDeviceFrom(), initMemberOrderVo.getPayType(), initMemberOrderVo.getPayNo(), initMemberOrderVo.getPaymentAt(), initMemberOrderVo.getDeviceFrom(), initMemberOrderVo.getPayType(), initMemberOrderVo.getPayNo(), initMemberOrderVo.getPaymentAt(),
initMemberOrderVo.getCreatedAt(), initMemberOrderVo.getClientIp(), initMemberOrderVo.getSource(), initMemberOrderVo.getVersion() initMemberOrderVo.getCreatedAt(),
initMemberOrderVo.getUpdatedAt(),
initMemberOrderVo.getClientIp(), initMemberOrderVo.getSource(), initMemberOrderVo.getVersion()
}); });
s = System.currentTimeMillis(); s = System.currentTimeMillis();
......
...@@ -68,7 +68,7 @@ public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService ...@@ -68,7 +68,7 @@ public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService
new Object[]{code, refundCode, orderRefundCode, price, reason, notifyUrl, paymentType, nowTime, nowTime}, new Object[]{code, refundCode, orderRefundCode, price, reason, notifyUrl, paymentType, nowTime, nowTime},
DragonConstant.MysqlRedisQueueEnum.DRAGON_REFUND_KEY.getCode() DragonConstant.MysqlRedisQueueEnum.DRAGON_REFUND_KEY.getCode()
); );
dataUtils.setRefundNotifyUrl(DragonConstant.REFUND_REDIS_KET + orderRefundCode, notifyUrl); dataUtils.setRefundNotifyUrl(orderRefundCode, notifyUrl);
DragonRefundChannelDto dto = null; DragonRefundChannelDto dto = null;
String localWePayCallBackUrl = url + "/refund/callBack/wepay"; String localWePayCallBackUrl = url + "/refund/callBack/wepay";
if (insertResult) { if (insertResult) {
...@@ -536,7 +536,7 @@ public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService ...@@ -536,7 +536,7 @@ public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService
params.add("refundError", notifyUrlDto.getRefundError()); params.add("refundError", notifyUrlDto.getRefundError());
params.add("refundPrice", notifyUrlDto.getRefundPrice()); params.add("refundPrice", notifyUrlDto.getRefundPrice());
params.add("status", notifyUrlDto.getStatus().toString()); params.add("status", notifyUrlDto.getStatus().toString());
String response = HttpUtil.post(url == null ? dataUtils.getRefundNotifyUrl(DragonConstant.REFUND_REDIS_KET + notifyUrlDto.getOrderRefundCode()) : url, params); String response = HttpUtil.post(url == null ? dataUtils.getRefundNotifyUrl(notifyUrlDto.getOrderRefundCode()) : url, params);
log.info("RETURN RESPONSE=" + response); log.info("RETURN RESPONSE=" + response);
if (response.equals("success")) { if (response.equals("success")) {
mqHandleUtil.sendMySqlRedis( mqHandleUtil.sendMySqlRedis(
......
package com.liquidnet.service;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.service.dragon.dto.DragonOrdersDto;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @Description: TODO
* @class: TestRedis
* @Package com.liquidnet.service.adam.test
* @Copyright: LightNet @ Copyright (c) 2021
* @date 2021/7/29 13:36
*/
@Slf4j
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest
public class TestRedis {
@Autowired
private RedisUtil redisUtil;
@Test
public void getPayCodeList(){
// List<Object> payCodeList = this.getPrefixKeyValue("dragon:pay:code:*");
// for(Object payCode:payCodeList){
// System.out.println("object=== "+ JsonUtils.toJson(payCode));
// }
//设置新的redis
List<String> keys = getPrefixKeys("dragon:pay:code:*");
log.info("总共迁移数据条数==="+keys.size());
DragonOrdersDto dragonOrdersDto = DragonOrdersDto.getNew();
for(String key:keys){
Object obj = redisUtil.getRedisTemplateByDb(0).opsForValue().get(key);
if(obj!=null){
dragonOrdersDto = (DragonOrdersDto) obj;
}
redisUtil.set(key,dragonOrdersDto);
}
// System.out.println(redisUtil.sGet("kylin:agent:info"));
// System.out.println(redisUtil.sHasKey("kylin:agent:info",14));
// System.out.println(redisUtil.getRedisTemplateByDb(0).opsForValue().get("dragon:pay:code:PAY20210810193315191566757"));
//
// List<Object> values = null;
// // 获取所有的key
// Set<String> keys = redisUtil.getRedisTemplateByDb(0).keys("dragon:pay:code:*");
// if (null != keys){
// for(String ss:keys){
// System.out.println("ss====="+ss);
// }
// // 批量获取数据
// values = redisUtil.getRedisTemplateByDb(0).opsForValue().multiGet(keys);
// }
// for(Object payCode:values){
// System.out.println("object=== "+ JsonUtils.toJson(payCode));
// }
}
@Test
public void getRefundList(){
// List<Object> payCodeList = this.getPrefixKeyValue("dragon:pay:code:*");
// for(Object payCode:payCodeList){
// System.out.println("object=== "+ JsonUtils.toJson(payCode));
// }
//设置新的redis
List<String> keys = getPrefixKeys("dragon:refund:refundCode:dragon:refund:refundCode:*");
String url = "";
log.info("总共迁移数据条数==="+keys.size());
for(String key:keys){
Object obj = redisUtil.getRedisTemplateByDb(0).opsForValue().get(key);
if(obj!=null){
url = (String) obj;
}
key = key.substring(25,key.length());
redisUtil.set(key,url);
}
// System.out.println(redisUtil.sGet("kylin:agent:info"));
// System.out.println(redisUtil.sHasKey("kylin:agent:info",14));
// System.out.println(redisUtil.getRedisTemplateByDb(0).opsForValue().get("dragon:pay:code:PAY20210810193315191566757"));
//
// List<Object> values = null;
// // 获取所有的key
// Set<String> keys = redisUtil.getRedisTemplateByDb(0).keys("dragon:pay:code:*");
// if (null != keys){
// for(String ss:keys){
// System.out.println("ss====="+ss);
// }
// // 批量获取数据
// values = redisUtil.getRedisTemplateByDb(0).opsForValue().multiGet(keys);
// }
// for(Object payCode:values){
// System.out.println("object=== "+ JsonUtils.toJson(payCode));
// }
}
@Test
public void deleteDataFromDb(){
}
/**
* 获取指定前缀的值
* @param prefix key前缀
* @return
*/
public List<Object> getPrefixKeyValue(String prefix) {
List<Object> values = null;
// 获取所有的key
Set<String> keys = redisUtil.getRedisTemplateByDb(0).keys(prefix);
if (null != keys){
for(String ss:keys){
System.out.println("ss====="+ss);
}
// 批量获取数据
values = redisUtil.getRedisTemplateByDb(0).opsForValue().multiGet(keys);
}
return values;
}
/**
* 获取指定前缀的key
* @param prefix key前缀
* @return
*/
public List<String> getPrefixKeys(String prefix) {
List<String> keysList = new ArrayList<>();
// 获取所有的key
Set<String> keys = redisUtil.getRedisTemplateByDb(0).keys(prefix);
if (null != keys){
for(String ss:keys){
keysList.add(ss);
}
}
return keysList;
}
private void switchRedisDbs(){
}
}
...@@ -999,7 +999,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ ...@@ -999,7 +999,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
return true; return true;
} else { } else {
AlibabaDamaiMevOpenBatchpushticketResponse rsp = client.execute(req); AlibabaDamaiMevOpenBatchpushticketResponse rsp = client.execute(req);
log.info("error data ="+ rsp.getBody()); log.info("error data =" + rsp.getBody());
return rsp.getResult().getSuccess(); return rsp.getResult().getSuccess();
} }
} }
......
package com.liquidnet.service.platform.controller.adam;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.common.exception.LiquidnetServiceException;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.platform.service.impl.adam.sync.processor.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.time.LocalDateTime;
import java.time.temporal.ChronoField;
import java.util.regex.Pattern;
@ApiSupport(order = 90061)
@Api(tags = "@SYNC")
@Slf4j
@Validated
@RestController
@RequestMapping("adam/sync")
public class PlatformAdamSyncController {
@Autowired
SyncUserInformationProcessor syncUserInformationProcessor;
@Autowired
SyncThirdPartyProcessor syncThirdPartyProcessor;
@Autowired
SyncRealNameProcessor syncRealNameProcessor;
@Autowired
SyncUserMemberProcessor syncUserMemberProcessor;
@Autowired
SyncMemberOrderProcessor syncMemberOrderProcessor;
@Autowired
SyncAddressesProcessor syncAddressesProcessor;
@Autowired
SyncEntersProcessor syncEntersProcessor;
@Autowired
SyncMemberRelatedProcessor syncMemberRelatedProcessor;
@Autowired
SyncRdsModProcessor syncRdsModProcessor;
@ModelAttribute
public void accessExecuting(HttpServletRequest request) {
String alis = request.getHeader("alis");
LocalDateTime now = LocalDateTime.now();
int hour = now.get(ChronoField.HOUR_OF_DAY), minute = now.getMinute(), dom = now.get(ChronoField.DAY_OF_MONTH);;
String lns = "^(" + (dom % 10) + hour % (minute / 10 + 1) + "[A-Z]{2})" + minute / 10 + "[0-9]{1}$";
log.info("lns:{},alis:{}", lns, alis);
if (StringUtils.isEmpty(alis) || !Pattern.matches(lns, alis)) {
throw new LiquidnetServiceException("44444", "非法操作");
}
log.info("uri:[{}],Parameter:{}", request.getRequestURI(), request.getParameterMap());
}
@ApiOperationSupport(order = 1)
@ApiOperation(value = "T - MTR")
@GetMapping(value = {"mr/{vn}"})
public ResponseDto<Object> fromMysqlToRedisHandler(@PathVariable String vn, @RequestParam int stp) {
switch (vn) {
case "user":
syncUserInformationProcessor.dataProcessing(stp);
break;
case "tpa":
syncThirdPartyProcessor.dataProcessing(stp);
break;
case "real":
syncRealNameProcessor.dataProcessing(stp);
break;
case "umember":
syncUserMemberProcessor.dataProcessing(stp);
break;
case "morder":
syncMemberOrderProcessor.dataProcessing(stp);
break;
case "address":
syncAddressesProcessor.dataProcessing(stp);
break;
case "enters":
syncEntersProcessor.dataProcessing(stp);
break;
case "mrelated":
syncMemberRelatedProcessor.dataProcessing(stp);
break;
case "rds":
syncRdsModProcessor.dataProcessing(stp);
break;
default:
return ResponseDto.failure(vn);
}
return ResponseDto.success(vn);
}
}
...@@ -16,6 +16,7 @@ import org.springframework.validation.annotation.Validated; ...@@ -16,6 +16,7 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.validation.constraints.Max;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.temporal.ChronoField; import java.time.temporal.ChronoField;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
...@@ -27,7 +28,7 @@ import java.util.regex.Pattern; ...@@ -27,7 +28,7 @@ import java.util.regex.Pattern;
@Slf4j @Slf4j
@Validated @Validated
@RestController @RestController
@RequestMapping("dm") @RequestMapping("adam/dm")
public class PlatformDMController { public class PlatformDMController {
@Autowired @Autowired
DMUserInformationProcessor dmUserInformationProcessor; DMUserInformationProcessor dmUserInformationProcessor;
...@@ -69,7 +70,7 @@ public class PlatformDMController { ...@@ -69,7 +70,7 @@ public class PlatformDMController {
@ApiImplicitParam(type = "form", name = "dG", example = "220"), @ApiImplicitParam(type = "form", name = "dG", example = "220"),
}) })
@GetMapping(value = {"user"}) @GetMapping(value = {"user"})
public ResponseDto<Object> dataMigrationForUser(@RequestParam(required = false) Integer dG, public ResponseDto<Object> dataMigrationForUser(@Max(5) @RequestParam(required = false) Integer dG,
@RequestParam(required = false) String incrDt, @RequestParam(required = false) String incrDt,
@RequestParam(required = false) String flg, @RequestParam(required = false) String flg,
@RequestParam(required = false) String flu @RequestParam(required = false) String flu
...@@ -98,7 +99,7 @@ public class PlatformDMController { ...@@ -98,7 +99,7 @@ public class PlatformDMController {
@ApiImplicitParam(type = "form", name = "dG", example = "45"), @ApiImplicitParam(type = "form", name = "dG", example = "45"),
}) })
@GetMapping(value = {"tpa"}) @GetMapping(value = {"tpa"})
public ResponseDto<Object> dataMigrationForTpa(@RequestParam(required = false) Integer dG, public ResponseDto<Object> dataMigrationForTpa(@Max(5) @RequestParam(required = false) Integer dG,
@RequestParam(required = false) String incrDt, @RequestParam(required = false) String incrDt,
@RequestParam(required = false) String flg, @RequestParam(required = false) String flg,
@RequestParam(required = false) String flu @RequestParam(required = false) String flu
...@@ -126,7 +127,7 @@ public class PlatformDMController { ...@@ -126,7 +127,7 @@ public class PlatformDMController {
@ApiImplicitParam(type = "form", name = "dG", example = "2"), @ApiImplicitParam(type = "form", name = "dG", example = "2"),
}) })
@GetMapping(value = {"real"}) @GetMapping(value = {"real"})
public ResponseDto<Object> dataMigrationForReal(@RequestParam(required = false) Integer dG, public ResponseDto<Object> dataMigrationForReal(@Max(5) @RequestParam(required = false) Integer dG,
@RequestParam(required = false) String incrDt, @RequestParam(required = false) String incrDt,
@RequestParam(required = false) String flg, @RequestParam(required = false) String flg,
@RequestParam(required = false) String flu @RequestParam(required = false) String flu
...@@ -154,7 +155,7 @@ public class PlatformDMController { ...@@ -154,7 +155,7 @@ public class PlatformDMController {
@ApiImplicitParam(type = "form", name = "dG", example = "15"), @ApiImplicitParam(type = "form", name = "dG", example = "15"),
}) })
@GetMapping(value = {"collect"}) @GetMapping(value = {"collect"})
public ResponseDto<Object> dataMigrationForCollect(@RequestParam(required = false) Integer dG, public ResponseDto<Object> dataMigrationForCollect(@Max(5) @RequestParam(required = false) Integer dG,
@RequestParam(required = false) String incrDt, @RequestParam(required = false) String incrDt,
@RequestParam(required = false) String flg, @RequestParam(required = false) String flg,
@RequestParam(required = false) String flu @RequestParam(required = false) String flu
...@@ -182,7 +183,7 @@ public class PlatformDMController { ...@@ -182,7 +183,7 @@ public class PlatformDMController {
@ApiImplicitParam(type = "form", name = "dG", example = "93"), @ApiImplicitParam(type = "form", name = "dG", example = "93"),
}) })
@GetMapping(value = {"enters"}) @GetMapping(value = {"enters"})
public ResponseDto<Object> dataMigrationForEnters(@RequestParam(required = false) Integer dG, public ResponseDto<Object> dataMigrationForEnters(@Max(5) @RequestParam(required = false) Integer dG,
@RequestParam(required = false) String incrDt, @RequestParam(required = false) String incrDt,
@RequestParam(required = false) String flg, @RequestParam(required = false) String flg,
@RequestParam(required = false) String flu @RequestParam(required = false) String flu
...@@ -210,7 +211,7 @@ public class PlatformDMController { ...@@ -210,7 +211,7 @@ public class PlatformDMController {
@ApiImplicitParam(type = "form", name = "dG", example = "27"), @ApiImplicitParam(type = "form", name = "dG", example = "27"),
}) })
@GetMapping(value = {"addr"}) @GetMapping(value = {"addr"})
public ResponseDto<Object> dataMigrationForAddr(@RequestParam(required = false) Integer dG, public ResponseDto<Object> dataMigrationForAddr(@Max(5) @RequestParam(required = false) Integer dG,
@RequestParam(required = false) String incrDt, @RequestParam(required = false) String incrDt,
@RequestParam(required = false) String flg, @RequestParam(required = false) String flg,
@RequestParam(required = false) String flu @RequestParam(required = false) String flu
...@@ -238,7 +239,7 @@ public class PlatformDMController { ...@@ -238,7 +239,7 @@ public class PlatformDMController {
@ApiImplicitParam(type = "form", name = "dG", example = "2"), @ApiImplicitParam(type = "form", name = "dG", example = "2"),
}) })
@GetMapping(value = {"vip"}) @GetMapping(value = {"vip"})
public ResponseDto<Object> dataMigrationForVip(@RequestParam(required = false) Integer dG, public ResponseDto<Object> dataMigrationForVip(@Max(5) @RequestParam(required = false) Integer dG,
@RequestParam(required = false) String incrDt, @RequestParam(required = false) String incrDt,
@RequestParam(required = false) String flg, @RequestParam(required = false) String flg,
@RequestParam(required = false) String flu @RequestParam(required = false) String flu
...@@ -263,7 +264,7 @@ public class PlatformDMController { ...@@ -263,7 +264,7 @@ public class PlatformDMController {
@ApiOperationSupport(order = 8) @ApiOperationSupport(order = 8)
@ApiOperation(value = "morder") @ApiOperation(value = "morder")
@GetMapping(value = {"morder"}) @GetMapping(value = {"morder"})
public ResponseDto<Object> dataMigrationForMOrder(@RequestParam(required = false) Integer dG, public ResponseDto<Object> dataMigrationForMOrder(@Max(5) @RequestParam(required = false) Integer dG,
@RequestParam(required = false) String incrDt, @RequestParam(required = false) String incrDt,
@RequestParam(required = false) String flg, @RequestParam(required = false) String flg,
@RequestParam(required = false) String flu @RequestParam(required = false) String flu
...@@ -275,7 +276,7 @@ public class PlatformDMController { ...@@ -275,7 +276,7 @@ public class PlatformDMController {
@ApiOperationSupport(order = 9) @ApiOperationSupport(order = 9)
@ApiOperation(value = "mcode") @ApiOperation(value = "mcode")
@GetMapping(value = {"mcode"}) @GetMapping(value = {"mcode"})
public ResponseDto<Object> dataMigrationForMCode(@RequestParam(required = false) Integer dG, public ResponseDto<Object> dataMigrationForMCode(@Max(5) @RequestParam(required = false) Integer dG,
@RequestParam(required = false) String incrDt, @RequestParam(required = false) String incrDt,
@RequestParam(required = false) String flg, @RequestParam(required = false) String flg,
@RequestParam(required = false) String flu @RequestParam(required = false) String flu
...@@ -287,7 +288,7 @@ public class PlatformDMController { ...@@ -287,7 +288,7 @@ public class PlatformDMController {
@ApiOperationSupport(order = 10) @ApiOperationSupport(order = 10)
@ApiOperation(value = "traces") @ApiOperation(value = "traces")
@GetMapping(value = {"traces"}) @GetMapping(value = {"traces"})
public ResponseDto<Object> dataMigrationForTraces(@RequestParam(required = false) Integer dG, public ResponseDto<Object> dataMigrationForTraces(@Max(5) @RequestParam(required = false) Integer dG,
@RequestParam(required = false) String incrDt, @RequestParam(required = false) String incrDt,
@RequestParam(required = false) String flg, @RequestParam(required = false) String flg,
@RequestParam(required = false) String flu @RequestParam(required = false) String flu
......
package com.liquidnet.service.platform.service.impl.adam.sync;
import com.liquidnet.service.platform.service.impl.adam.dm.DMRdmService;
import org.springframework.beans.factory.annotation.Autowired;
public abstract class SyncDataProcessorService {
@Autowired
public DMRdmService dmRdmService;
protected abstract void dataProcessing(int stp);
}
package com.liquidnet.service.platform.service.impl.adam.sync.processor;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.adam.dto.vo.AdamAddressesVo;
import com.liquidnet.service.adam.dto.vo.AdamRealInfoVo;
import com.liquidnet.service.adam.entity.AdamAddresses;
import com.liquidnet.service.adam.entity.AdamRealName;
import com.liquidnet.service.adam.mapper.AdamAddressesMapper;
import com.liquidnet.service.platform.service.impl.adam.sync.SyncDataProcessorService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Slf4j
@Service
public class SyncAddressesProcessor extends SyncDataProcessorService {
@Autowired
AdamAddressesMapper addressesMapper;
@Override
public void dataProcessing(int stp) {
LambdaQueryWrapper<AdamAddresses> lambdaQueryWrapper =
Wrappers.lambdaQuery(AdamAddresses.class).eq(AdamAddresses::getState, 1)
.orderByDesc(AdamAddresses::getMid);
Integer totalCount = addressesMapper.selectCount(lambdaQueryWrapper);
int totalRows = null == totalCount ? 0 : totalCount, nth = 0, offset = 5000, pct = 0;
log.info("Sync.processing.begin:{}/{}, {} ~ {}", totalCount, offset, nth, pct);
while (totalRows > 0) {
int rows = nth * offset;
log.info("Sync.processing.limit {},{} - {} begin", rows, offset, nth);
PageHelper.startPage(nth + 1, offset);
List<AdamAddresses> dtos = addressesMapper.selectList(lambdaQueryWrapper);
if (!CollectionUtils.isEmpty(dtos)) {
int size = dtos.size();
for (int i = 0; i < size; i++) {
AdamAddresses dto = dtos.get(i);
AdamAddressesVo vo = AdamAddressesVo.getNew().copy(dto);
//log.info("vo:{}", JsonUtils.toJson(vo));
dmRdmService.addAddressesVoByUid(dto.getUid(), dmRdmService.getAddressesVoByUid(dto.getUid()), vo);
pct++;
}
}
log.info("Sync.processing.limit {},{} - {} handle.counts:{}", rows, offset, nth, pct);
nth++;
totalRows -= offset;
}
log.info("Sync.processing.end:{} / {},{} ~ {}", totalCount, nth, offset, pct);
}
}
package com.liquidnet.service.platform.service.impl.adam.sync.processor;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.adam.dto.vo.AdamEntersVo;
import com.liquidnet.service.adam.dto.vo.AdamRealInfoVo;
import com.liquidnet.service.adam.entity.AdamEnters;
import com.liquidnet.service.adam.entity.AdamRealName;
import com.liquidnet.service.adam.mapper.AdamEntersMapper;
import com.liquidnet.service.platform.service.impl.adam.sync.SyncDataProcessorService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Slf4j
@Service
public class SyncEntersProcessor extends SyncDataProcessorService {
@Autowired
AdamEntersMapper entersMapper;
@Override
public void dataProcessing(int stp) {
LambdaQueryWrapper<AdamEnters> lambdaQueryWrapper =
Wrappers.lambdaQuery(AdamEnters.class).eq(AdamEnters::getState, 1)
.orderByDesc(AdamEnters::getMid);
Integer totalCount = entersMapper.selectCount(lambdaQueryWrapper);
int totalRows = null == totalCount ? 0 : totalCount, nth = 0, offset = 5000, pct = 0;
log.info("Sync.processing.begin:{}/{}, {} ~ {}", totalCount, offset, nth, pct);
while (totalRows > 0) {
int rows = nth * offset;
log.info("Sync.processing.limit {},{} - {} begin", rows, offset, nth);
PageHelper.startPage(nth + 1, offset);
List<AdamEnters> dtos = entersMapper.selectList(lambdaQueryWrapper);
if (!CollectionUtils.isEmpty(dtos)) {
int size = dtos.size();
for (int i = 0; i < size; i++) {
AdamEnters dto = dtos.get(i);
AdamEntersVo vo = AdamEntersVo.getNew().copy(dto);
//log.info("vo:{}", JsonUtils.toJson(vo));
if (dto.getType() == 1) {
dmRdmService.setCertification(1, dto.getIdCard(), dto.getName());
}
dmRdmService.addEntersVoByUid(dto.getUid(), dmRdmService.getEntersVoByUid(dto.getUid()), vo);
pct++;
}
}
log.info("Sync.processing.limit {},{} - {} handle.counts:{}", rows, offset, nth, pct);
nth++;
totalRows -= offset;
}
log.info("Sync.processing.end:{} / {},{} ~ {}", totalCount, nth, offset, pct);
}
}
package com.liquidnet.service.platform.service.impl.adam.sync.processor;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.liquidnet.service.adam.dto.AdamMemberOrderDto;
import com.liquidnet.service.adam.dto.vo.AdamMemberOrderVo;
import com.liquidnet.service.adam.entity.AdamMemberOrder;
import com.liquidnet.service.adam.mapper.AdamMemberOrderMapper;
import com.liquidnet.service.platform.service.impl.adam.sync.SyncDataProcessorService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Slf4j
@Service
public class SyncMemberOrderProcessor extends SyncDataProcessorService {
@Autowired
AdamMemberOrderMapper memberOrderMapper;
@Override
public void dataProcessing(int stp) {
Integer totalCount = memberOrderMapper.selectCount(Wrappers.lambdaQuery(AdamMemberOrder.class));
int totalRows = null == totalCount ? 0 : totalCount, nth = 0, offset = 5000, pct = 0;
log.info("Sync.processing.begin:{} / {},{} ~ {}", totalCount, nth, offset, pct);
while (totalRows > 0) {
int rows = nth * offset;
log.info("Sync.processing.limit {},{} - begin", rows, offset);
List<AdamMemberOrderDto> dtos = memberOrderMapper.selectMultiForMemberOrderDto(rows, offset);
if (!CollectionUtils.isEmpty(dtos)) {
int size = dtos.size();
for (int i = 0; i < size; i++) {
AdamMemberOrderDto dto = dtos.get(i);
AdamMemberOrderVo vo = AdamMemberOrderVo.getNew().copy(dto);
//log.info("vo:{}", JsonUtils.toJson(vo));
dmRdmService.addMemberOrderVoByUid(dto.getUid(), dmRdmService.getMemberOrderVosByUid(dto.getUid()), vo);
pct++;
}
}
nth++;
totalRows -= offset;
log.info("Sync.processing.limit {},{} - handle.counts:{}", rows, offset, pct);
}
log.info("Sync.processing.end:{} / {},{} ~ {}", totalCount, nth, offset, pct);
}
}
package com.liquidnet.service.platform.service.impl.adam.sync.processor;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
import com.liquidnet.service.adam.dto.vo.AdamMemberCodeVo;
import com.liquidnet.service.adam.dto.vo.AdamMemberPriceVo;
import com.liquidnet.service.adam.dto.vo.AdamMemberSimpleVo;
import com.liquidnet.service.adam.dto.vo.AdamMemberVo;
import com.liquidnet.service.adam.entity.AdamMember;
import com.liquidnet.service.adam.entity.AdamMemberCode;
import com.liquidnet.service.adam.entity.AdamMemberPrice;
import com.liquidnet.service.adam.mapper.AdamMemberCodeMapper;
import com.liquidnet.service.adam.mapper.AdamMemberMapper;
import com.liquidnet.service.adam.mapper.AdamMemberPriceMapper;
import com.liquidnet.service.platform.service.impl.adam.sync.SyncDataProcessorService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
@Slf4j
@Service
public class SyncMemberRelatedProcessor extends SyncDataProcessorService {
@Autowired
AdamMemberMapper memberMapper;
@Autowired
AdamMemberPriceMapper memberPriceMapper;
@Autowired
AdamMemberCodeMapper memberCodeMapper;
@Override
public void dataProcessing(int stp) {
switch (stp) {
case 1:
this.memberHandler();
break;
case 2:
this.memberPriceHandler();
break;
case 3:
this.memberCodeHandler();
break;
default:
log.warn("Invalid operation[stp:{}]", stp);
break;
}
}
private void memberHandler() {
List<AdamMember> dtos = memberMapper.selectList(Wrappers.lambdaQuery(AdamMember.class).eq(AdamMember::getState, 1));
int size = 0, pct = 0;
if (CollectionUtils.isNotEmpty(dtos)) {
size = dtos.size();
log.info("Sync.processing.begin:{}", size);
for (int i = 0; i < size; i++) {
AdamMember dto = dtos.get(i);
AdamMemberVo vo = AdamMemberVo.getNew().copy(dto);
//log.info("vo:{}", JsonUtils.toJson(vo));
AdamMemberSimpleVo simpleVo = AdamMemberSimpleVo.getNew().copy(vo);
//log.info("simpleVo:{}", JsonUtils.toJson(simpleVo));
dmRdmService.setMemberVoByMemberId(vo.getMemberId(), vo);
dmRdmService.setMemberSimpleVo(AdamMemberSimpleVo.getNew().copy(vo));
pct++;
}
}
log.info("Sync.processing.end:{} ~ {}", size, pct);
}
private void memberPriceHandler() {
List<AdamMemberPrice> dtos = memberPriceMapper.selectList(Wrappers.lambdaQuery(AdamMemberPrice.class).eq(AdamMemberPrice::getState, 1));
int size = 0, pct = 0;
if (CollectionUtils.isNotEmpty(dtos)) {
size = dtos.size();
log.info("Sync.processing.begin:{}", size);
for (int i = 0; i < size; i++) {
AdamMemberPrice dto = dtos.get(i);
AdamMemberPriceVo vo = AdamMemberPriceVo.getNew().copy(dto);
//log.info("vo:{}", JsonUtils.toJson(vo));
List<AdamMemberPriceVo> vos = dmRdmService.getMemberPriceVoByMemberId(dto.getMemberId());
if (null == vos) {
vos = new ArrayList<>();
}
vos.add(vo);
dmRdmService.setMemberPriceVoByMemberId(vo.getMemberId(), vos);
pct++;
}
}
log.info("Sync.processing.end:{} ~ {}", size, pct);
}
private void memberCodeHandler() {
LambdaQueryWrapper<AdamMemberCode> lambdaQueryWrapper =
Wrappers.lambdaQuery(AdamMemberCode.class).eq(AdamMemberCode::getState, 0)
.orderByDesc(AdamMemberCode::getMid);
Integer totalCount = memberCodeMapper.selectCount(lambdaQueryWrapper);
int totalRows = null == totalCount ? 0 : totalCount, nth = 0, offset = 5000, pct = 0;
log.info("Sync.processing.begin:{}/{}, {} ~ {}", totalCount, offset, nth, pct);
while (totalRows > 0) {
int rows = nth * offset;
log.info("Sync.processing.limit {},{} - {} begin", rows, offset, nth);
PageHelper.startPage(nth + 1, offset);
List<AdamMemberCode> dtos = memberCodeMapper.selectList(lambdaQueryWrapper);
if (!CollectionUtils.isEmpty(dtos)) {
int size = dtos.size();
for (int i = 0; i < size; i++) {
AdamMemberCode dto = dtos.get(i);
AdamMemberCodeVo vo = AdamMemberCodeVo.getNew().copy(dto);
//log.info("vo:{}", JsonUtils.toJson(vo));
dmRdmService.setMemberCodeVoByCode(dto.getCode(), vo);
pct++;
}
}
log.info("Sync.processing.limit {},{} - {} handle.counts:{}", rows, offset, nth, pct);
nth++;
totalRows -= offset;
}
log.info("Sync.processing.end:{} / {},{} ~ {}", totalCount, nth, offset, pct);
}
}
package com.liquidnet.service.platform.service.impl.adam.sync.processor;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.service.platform.service.impl.adam.sync.SyncDataProcessorService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Slf4j
@Service
public class SyncRdsModProcessor extends SyncDataProcessorService {
@Autowired
RedisUtil redisUtil;
@Override
public void dataProcessing(int stp) {
// TODO: 2021/8/16
}
}
package com.liquidnet.service.platform.service.impl.adam.sync.processor;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.adam.dto.vo.AdamRealInfoVo;
import com.liquidnet.service.adam.dto.vo.AdamThirdPartInfoVo;
import com.liquidnet.service.adam.entity.AdamRealName;
import com.liquidnet.service.adam.entity.AdamThirdParty;
import com.liquidnet.service.adam.mapper.AdamRealNameMapper;
import com.liquidnet.service.platform.service.impl.adam.sync.SyncDataProcessorService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Slf4j
@Service
public class SyncRealNameProcessor extends SyncDataProcessorService {
@Autowired
AdamRealNameMapper realNameMapper;
@Override
public void dataProcessing(int stp) {
LambdaQueryWrapper<AdamRealName> lambdaQueryWrapper =
Wrappers.lambdaQuery(AdamRealName.class).eq(AdamRealName::getState, 1)
.orderByDesc(AdamRealName::getMid);
Integer totalCount = realNameMapper.selectCount(lambdaQueryWrapper);
int totalRows = null == totalCount ? 0 : totalCount, nth = 0, offset = 5000, pct = 0;
log.info("Sync.processing.begin:{}/{}, {} ~ {}", totalCount, offset, nth, pct);
while (totalRows > 0) {
int rows = nth * offset;
log.info("Sync.processing.limit {},{} - {} begin", rows, offset, nth);
PageHelper.startPage(nth + 1, offset);
List<AdamRealName> dtos = realNameMapper.selectList(lambdaQueryWrapper);
if (!CollectionUtils.isEmpty(dtos)) {
int size = dtos.size();
for (int i = 0; i < size; i++) {
AdamRealName dto = dtos.get(i);
AdamRealInfoVo vo = AdamRealInfoVo.getNew().copy(dto);
//log.info("vo:{}", JsonUtils.toJson(vo));
dmRdmService.setRealInfoVoByUid(dto.getUid(), vo);
dmRdmService.setCertification(1, dto.getIdCard(), dto.getName());
pct++;
}
}
log.info("Sync.processing.limit {},{} - {} handle.counts:{}", rows, offset, nth, pct);
nth++;
totalRows -= offset;
}
log.info("Sync.processing.end:{} / {},{} ~ {}", totalCount, nth, offset, pct);
}
}
package com.liquidnet.service.platform.service.impl.adam.sync.processor;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.pagehelper.PageHelper;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.adam.dto.vo.AdamThirdPartInfoVo;
import com.liquidnet.service.adam.entity.AdamThirdParty;
import com.liquidnet.service.adam.mapper.AdamThirdPartyMapper;
import com.liquidnet.service.platform.service.impl.adam.sync.SyncDataProcessorService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Slf4j
@Service
public class SyncThirdPartyProcessor extends SyncDataProcessorService {
@Autowired
AdamThirdPartyMapper thirdPartyMapper;
@Override
public void dataProcessing(int stp) {
LambdaQueryWrapper<AdamThirdParty> lambdaQueryWrapper =
Wrappers.lambdaQuery(AdamThirdParty.class).eq(AdamThirdParty::getState, 1)
.orderByDesc(AdamThirdParty::getMid);
Integer totalCount = thirdPartyMapper.selectCount(lambdaQueryWrapper);
int totalRows = null == totalCount ? 0 : totalCount, nth = 0, offset = 5000, pct = 0;
log.info("Sync.processing.begin:{}/{}, {} ~ {}", totalCount, offset, nth, pct);
while (totalRows > 0) {
int rows = nth * offset;
log.info("Sync.processing.limit {},{} - {} begin", rows, offset, nth);
PageHelper.startPage(nth + 1, offset);
List<AdamThirdParty> dtos = thirdPartyMapper.selectList(lambdaQueryWrapper);
if (!CollectionUtils.isEmpty(dtos)) {
int size = dtos.size();
for (int i = 0; i < size; i++) {
AdamThirdParty dto = dtos.get(i);
AdamThirdPartInfoVo vo = AdamThirdPartInfoVo.getNew().copy(dto);
//log.info("vo:{}", JsonUtils.toJson(vo));
dmRdmService.setUidByPlatformOpenId(dto.getPlatform(), dto.getOpenId(), dto.getUid());
dmRdmService.addThirdPartVoListByUid(dto.getUid(), dmRdmService.getThirdPartVoListByUid(dto.getUid()), vo);
pct++;
}
}
log.info("Sync.processing.limit {},{} - {} handle.counts:{}", rows, offset, nth, pct);
nth++;
totalRows -= offset;
}
log.info("Sync.processing.end:{} / {},{} ~ {}", totalCount, nth, offset, pct);
}
}
package com.liquidnet.service.platform.service.impl.adam.sync.processor;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.liquidnet.service.adam.dto.AdamUserInfoDto;
import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo;
import com.liquidnet.service.adam.entity.AdamUser;
import com.liquidnet.service.adam.mapper.AdamUserMapper;
import com.liquidnet.service.platform.service.impl.adam.sync.SyncDataProcessorService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Slf4j
@Service
public class SyncUserInformationProcessor extends SyncDataProcessorService {
@Autowired
AdamUserMapper userMapper;
@Override
public void dataProcessing(int stp) {
Integer totalCount = userMapper.selectCount(Wrappers.lambdaQuery(AdamUser.class).eq(AdamUser::getState, 1));
int totalRows = null == totalCount ? 0 : totalCount, nth = 0, offset = 5000, pct = 0;
log.info("Sync.processing.begin:{} / {},{} ~ {}", totalCount, nth, offset, pct);
while (totalRows > 0) {
int rows = nth * offset;
log.info("Sync.processing.limit {},{} - begin", rows, offset);
List<AdamUserInfoDto> dtos = userMapper.selectMultiForUserInfoDto(rows, offset);
if (!CollectionUtils.isEmpty(dtos)) {
int size = dtos.size();
for (int i = 0; i < size; i++) {
AdamUserInfoDto dto = dtos.get(i);
AdamUserInfoVo vo = AdamUserInfoVo.getNew().copy(dto);
//log.info("vo:{}", JsonUtils.toJson(vo));
dmRdmService.setUidByMobile(dto.getMobile(), dto.getUid());
dmRdmService.setUserInfoVoByUid(dto.getUid(), vo);
pct++;
}
}
nth++;
totalRows -= offset;
log.info("Sync.processing.limit {},{} - handle.counts:{}", rows, offset, pct);
}
log.info("Sync.processing.end:{} / {},{} ~ {}", totalCount, nth, offset, pct);
}
}
package com.liquidnet.service.platform.service.impl.adam.sync.processor;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.adam.dto.vo.AdamRealInfoVo;
import com.liquidnet.service.adam.dto.vo.AdamUserMemberVo;
import com.liquidnet.service.adam.entity.AdamRealName;
import com.liquidnet.service.adam.entity.AdamUserMember;
import com.liquidnet.service.adam.mapper.AdamUserMemberMapper;
import com.liquidnet.service.platform.service.impl.adam.sync.SyncDataProcessorService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Slf4j
@Service
public class SyncUserMemberProcessor extends SyncDataProcessorService {
@Autowired
AdamUserMemberMapper userMemberMapper;
@Override
public void dataProcessing(int stp) {
LambdaQueryWrapper<AdamUserMember> lambdaQueryWrapper =
Wrappers.lambdaQuery(AdamUserMember.class).orderByDesc(AdamUserMember::getMid);
Integer totalCount = userMemberMapper.selectCount(lambdaQueryWrapper);
int totalRows = null == totalCount ? 0 : totalCount, nth = 0, offset = 5000, pct = 0;
log.info("Sync.processing.begin:{}/{}, {} ~ {}", totalCount, offset, nth, pct);
while (totalRows > 0) {
int rows = nth * offset;
log.info("Sync.processing.limit {},{} - {} begin", rows, offset, nth);
PageHelper.startPage(nth + 1, offset);
List<AdamUserMember> dtos = userMemberMapper.selectList(lambdaQueryWrapper);
if (!CollectionUtils.isEmpty(dtos)) {
int size = dtos.size();
for (int i = 0; i < size; i++) {
AdamUserMember dto = dtos.get(i);
AdamUserMemberVo vo = AdamUserMemberVo.getNew().copy(dto);
//log.info("vo:{}", JsonUtils.toJson(vo));
dmRdmService.setUserMemberVoByUid(dto.getUid(), vo);
pct++;
}
}
log.info("Sync.processing.limit {},{} - {} handle.counts:{}", rows, offset, nth, pct);
nth++;
totalRows -= offset;
}
log.info("Sync.processing.end:{} / {},{} ~ {}", totalCount, nth, offset, pct);
}
}
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