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

Commit e7741606 authored by 张国柄's avatar 张国柄

同步mysql到redis;

parent 2fc3e665
...@@ -40,7 +40,9 @@ public class PlatformAdamSyncController { ...@@ -40,7 +40,9 @@ public class PlatformAdamSyncController {
@Autowired @Autowired
SyncEntersProcessor syncEntersProcessor; SyncEntersProcessor syncEntersProcessor;
@Autowired @Autowired
SyncTracesInfoProcessor syncTracesInfoProcessor; SyncMemberRelatedProcessor syncMemberRelatedProcessor;
@Autowired
SyncRdsModProcessor syncRdsModProcessor;
@ModelAttribute @ModelAttribute
public void accessExecuting(HttpServletRequest request) { public void accessExecuting(HttpServletRequest request) {
...@@ -58,31 +60,34 @@ public class PlatformAdamSyncController { ...@@ -58,31 +60,34 @@ public class PlatformAdamSyncController {
@ApiOperationSupport(order = 1) @ApiOperationSupport(order = 1)
@ApiOperation(value = "T - MTR") @ApiOperation(value = "T - MTR")
@GetMapping(value = {"mr/{vn}"}) @GetMapping(value = {"mr/{vn}"})
public ResponseDto<Object> fromMysqlToRedisHandler(@PathVariable String vn) { public ResponseDto<Object> fromMysqlToRedisHandler(@PathVariable String vn, @RequestParam int stp) {
switch (vn) { switch (vn) {
case "user": case "user":
syncUserInformationProcessor.dataProcessing(); syncUserInformationProcessor.dataProcessing(stp);
break; break;
case "tpa": case "tpa":
syncThirdPartyProcessor.dataProcessing(); syncThirdPartyProcessor.dataProcessing(stp);
break; break;
case "real": case "real":
syncRealNameProcessor.dataProcessing(); syncRealNameProcessor.dataProcessing(stp);
break; break;
case "umember": case "umember":
syncUserMemberProcessor.dataProcessing(); syncUserMemberProcessor.dataProcessing(stp);
break; break;
case "morder": case "morder":
syncMemberOrderProcessor.dataProcessing(); syncMemberOrderProcessor.dataProcessing(stp);
break; break;
case "address": case "address":
syncAddressesProcessor.dataProcessing(); syncAddressesProcessor.dataProcessing(stp);
break; break;
case "enters": case "enters":
syncEntersProcessor.dataProcessing(); syncEntersProcessor.dataProcessing(stp);
break;
case "mrelated":
syncMemberRelatedProcessor.dataProcessing(stp);
break; break;
case "traces": case "rds":
syncTracesInfoProcessor.dataProcessing(); syncRdsModProcessor.dataProcessing(stp);
break; break;
default: default:
return ResponseDto.failure(vn); return ResponseDto.failure(vn);
......
...@@ -7,5 +7,5 @@ public abstract class SyncDataProcessorService { ...@@ -7,5 +7,5 @@ public abstract class SyncDataProcessorService {
@Autowired @Autowired
public DMRdmService dmRdmService; public DMRdmService dmRdmService;
protected abstract void dataProcessing(); protected abstract void dataProcessing(int stp);
} }
...@@ -24,7 +24,7 @@ public class SyncAddressesProcessor extends SyncDataProcessorService { ...@@ -24,7 +24,7 @@ public class SyncAddressesProcessor extends SyncDataProcessorService {
AdamAddressesMapper addressesMapper; AdamAddressesMapper addressesMapper;
@Override @Override
public void dataProcessing() { public void dataProcessing(int stp) {
LambdaQueryWrapper<AdamAddresses> lambdaQueryWrapper = LambdaQueryWrapper<AdamAddresses> lambdaQueryWrapper =
Wrappers.lambdaQuery(AdamAddresses.class).eq(AdamAddresses::getState, 1) Wrappers.lambdaQuery(AdamAddresses.class).eq(AdamAddresses::getState, 1)
.orderByDesc(AdamAddresses::getMid); .orderByDesc(AdamAddresses::getMid);
......
...@@ -24,7 +24,7 @@ public class SyncEntersProcessor extends SyncDataProcessorService { ...@@ -24,7 +24,7 @@ public class SyncEntersProcessor extends SyncDataProcessorService {
AdamEntersMapper entersMapper; AdamEntersMapper entersMapper;
@Override @Override
public void dataProcessing() { public void dataProcessing(int stp) {
LambdaQueryWrapper<AdamEnters> lambdaQueryWrapper = LambdaQueryWrapper<AdamEnters> lambdaQueryWrapper =
Wrappers.lambdaQuery(AdamEnters.class).eq(AdamEnters::getState, 1) Wrappers.lambdaQuery(AdamEnters.class).eq(AdamEnters::getState, 1)
.orderByDesc(AdamEnters::getMid); .orderByDesc(AdamEnters::getMid);
......
...@@ -20,7 +20,7 @@ public class SyncMemberOrderProcessor extends SyncDataProcessorService { ...@@ -20,7 +20,7 @@ public class SyncMemberOrderProcessor extends SyncDataProcessorService {
AdamMemberOrderMapper memberOrderMapper; AdamMemberOrderMapper memberOrderMapper;
@Override @Override
public void dataProcessing() { public void dataProcessing(int stp) {
Integer totalCount = memberOrderMapper.selectCount(Wrappers.lambdaQuery(AdamMemberOrder.class)); Integer totalCount = memberOrderMapper.selectCount(Wrappers.lambdaQuery(AdamMemberOrder.class));
int totalRows = null == totalCount ? 0 : totalCount, nth = 0, offset = 5000, pct = 0; int totalRows = null == totalCount ? 0 : totalCount, nth = 0, offset = 5000, pct = 0;
log.info("Sync.processing.begin:{} / {},{} ~ {}", totalCount, nth, offset, pct); log.info("Sync.processing.begin:{} / {},{} ~ {}", 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
}
}
...@@ -24,7 +24,7 @@ public class SyncRealNameProcessor extends SyncDataProcessorService { ...@@ -24,7 +24,7 @@ public class SyncRealNameProcessor extends SyncDataProcessorService {
AdamRealNameMapper realNameMapper; AdamRealNameMapper realNameMapper;
@Override @Override
public void dataProcessing() { public void dataProcessing(int stp) {
LambdaQueryWrapper<AdamRealName> lambdaQueryWrapper = LambdaQueryWrapper<AdamRealName> lambdaQueryWrapper =
Wrappers.lambdaQuery(AdamRealName.class).eq(AdamRealName::getState, 1) Wrappers.lambdaQuery(AdamRealName.class).eq(AdamRealName::getState, 1)
.orderByDesc(AdamRealName::getMid); .orderByDesc(AdamRealName::getMid);
......
...@@ -23,7 +23,7 @@ public class SyncThirdPartyProcessor extends SyncDataProcessorService { ...@@ -23,7 +23,7 @@ public class SyncThirdPartyProcessor extends SyncDataProcessorService {
AdamThirdPartyMapper thirdPartyMapper; AdamThirdPartyMapper thirdPartyMapper;
@Override @Override
public void dataProcessing() { public void dataProcessing(int stp) {
LambdaQueryWrapper<AdamThirdParty> lambdaQueryWrapper = LambdaQueryWrapper<AdamThirdParty> lambdaQueryWrapper =
Wrappers.lambdaQuery(AdamThirdParty.class).eq(AdamThirdParty::getState, 1) Wrappers.lambdaQuery(AdamThirdParty.class).eq(AdamThirdParty::getState, 1)
.orderByDesc(AdamThirdParty::getMid); .orderByDesc(AdamThirdParty::getMid);
......
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.entity.AdamRealName;
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 SyncTracesInfoProcessor extends SyncDataProcessorService {
@Autowired
AdamRealNameMapper realNameMapper;
@Override
public void dataProcessing() {
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);
}
}
...@@ -20,7 +20,7 @@ public class SyncUserInformationProcessor extends SyncDataProcessorService { ...@@ -20,7 +20,7 @@ public class SyncUserInformationProcessor extends SyncDataProcessorService {
AdamUserMapper userMapper; AdamUserMapper userMapper;
@Override @Override
public void dataProcessing() { public void dataProcessing(int stp) {
Integer totalCount = userMapper.selectCount(Wrappers.lambdaQuery(AdamUser.class).eq(AdamUser::getState, 1)); Integer totalCount = userMapper.selectCount(Wrappers.lambdaQuery(AdamUser.class).eq(AdamUser::getState, 1));
int totalRows = null == totalCount ? 0 : totalCount, nth = 0, offset = 5000, pct = 0; int totalRows = null == totalCount ? 0 : totalCount, nth = 0, offset = 5000, pct = 0;
log.info("Sync.processing.begin:{} / {},{} ~ {}", totalCount, nth, offset, pct); log.info("Sync.processing.begin:{} / {},{} ~ {}", totalCount, nth, offset, pct);
......
...@@ -24,7 +24,7 @@ public class SyncUserMemberProcessor extends SyncDataProcessorService { ...@@ -24,7 +24,7 @@ public class SyncUserMemberProcessor extends SyncDataProcessorService {
AdamUserMemberMapper userMemberMapper; AdamUserMemberMapper userMemberMapper;
@Override @Override
public void dataProcessing() { public void dataProcessing(int stp) {
LambdaQueryWrapper<AdamUserMember> lambdaQueryWrapper = LambdaQueryWrapper<AdamUserMember> lambdaQueryWrapper =
Wrappers.lambdaQuery(AdamUserMember.class).orderByDesc(AdamUserMember::getMid); Wrappers.lambdaQuery(AdamUserMember.class).orderByDesc(AdamUserMember::getMid);
Integer totalCount = userMemberMapper.selectCount(lambdaQueryWrapper); Integer totalCount = userMemberMapper.selectCount(lambdaQueryWrapper);
......
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