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

Commit 6a089cf4 authored by 胡佳晨's avatar 胡佳晨

Merge branch 'master' into dev_surplus_redis

parents d9f080de c151e9a0
......@@ -2,8 +2,8 @@ package com.liquidnet.service.adam.dto.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
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.AdamMemberOrderExt;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -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) {
if (null == source) return this;
this.setOrderNo(source.getOrderNo());
......
package com.liquidnet.service.adam.dto.vo;
import com.liquidnet.service.adam.entity.AdamRealName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -27,8 +28,17 @@ public class AdamRealInfoVo implements Serializable, Cloneable {
try {
return (AdamRealInfoVo) obj.clone();
} 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;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.adam.entity.AdamUserMember;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -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;
}
/**
* 会员是否有效
*
......
......@@ -15,7 +15,7 @@ import lombok.extern.slf4j.Slf4j;
@Slf4j
public class MathUtil {
public static int getIndex(String key){
log.info("MathUtil.getIndex key:{} hashcode:{}",key,key.hashCode());
log.debug("MathUtil.getIndex key:{} hashcode:{}",key,key.hashCode());
int defaultDb = RedisConfig.defaultDb;
int totalDbs = RedisConfig.totalDbs;
if(totalDbs==1){
......@@ -33,7 +33,7 @@ public class MathUtil {
long value = Long.valueOf(key.hashCode());
int hash=(int)(value ^ (value >>> 32));
int index=hash % mod;
log.info("MathUtil.getIndex key:{} index:{}",key,index);
log.debug("MathUtil.getIndex key:{} index:{}",key,index);
return index;
}
......
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;
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.entity.AdamMemberOrder;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
import java.util.Map;
public interface AdamMemberOrderMapper extends BaseMapper<AdamMemberOrder> {
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 {
initMemberCodeVo.getBuyOrderNo(), initMemberCodeVo.getBuyUid(), initMemberCodeVo.getBuyAt()
});
}
handleMemberOrderVo.setPricePaid(parameter.getPrice());
handleMemberOrderVo.setPaymentAt(DateUtil.Formatter.yyyyMMddHHmmss.parse(parameter.getPaymentAt()));
handleMemberOrderVo.setUpdatedAt(now);
handleMemberOrderVo.setState(1);// 1-已支付
......@@ -308,7 +309,8 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
handleMemberOrderVo.getPricePaid(), handleMemberOrderVo.getMemberName(), handleMemberOrderVo.getMemberId(), handleMemberOrderVo.getMemberPriceId(),
handleMemberOrderVo.getDays(), handleMemberOrderVo.getState(), handleMemberOrderVo.getMemberNo(), handleMemberOrderVo.getBirthday(),
handleMemberOrderVo.getDeviceFrom(), handleMemberOrderVo.getPayType(), handleMemberOrderVo.getPayNo(), handleMemberOrderVo.getPaymentAt(),
handleMemberOrderVo.getCreatedAt(), handleMemberOrderVo.getUpdatedAt(),
handleMemberOrderVo.getCreatedAt(),
handleMemberOrderVo.getUpdatedAt(),
handleMemberOrderVo.getClientIp(), handleMemberOrderVo.getSource(), handleMemberOrderVo.getVersion()
});
......@@ -461,7 +463,9 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
initMemberOrderVo.getPricePaid(), initMemberOrderVo.getMemberName(), initMemberOrderVo.getMemberId(), initMemberOrderVo.getMemberPriceId(),
initMemberOrderVo.getDays(), initMemberOrderVo.getState(), initMemberOrderVo.getMemberNo(), initMemberOrderVo.getBirthday(),
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();
......
......@@ -111,7 +111,8 @@ public class KylinStationController {
log.info("###logout:checkUserId:{}\nssoKey:{}\ntoken:{}", checkUserId, ssoUidM5TokenKey, token);
redisUtil.set(ssoUidM5TokenKey, 0);
// redisUtil.set(ssoUidM5TokenKey, 0);
redisUtil.del(ssoUidM5TokenKey);
}
/* ------------------------------------------------------------------ */
......
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;
@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":
break;
default:
return ResponseDto.failure(vn);
}
return ResponseDto.success(vn);
}
}
......@@ -16,6 +16,7 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.validation.constraints.Max;
import java.time.LocalDateTime;
import java.time.temporal.ChronoField;
import java.util.concurrent.ExecutorService;
......@@ -27,7 +28,7 @@ import java.util.regex.Pattern;
@Slf4j
@Validated
@RestController
@RequestMapping("dm")
@RequestMapping("adam/dm")
public class PlatformDMController {
@Autowired
DMUserInformationProcessor dmUserInformationProcessor;
......@@ -69,7 +70,7 @@ public class PlatformDMController {
@ApiImplicitParam(type = "form", name = "dG", example = "220"),
})
@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 flg,
@RequestParam(required = false) String flu
......@@ -98,7 +99,7 @@ public class PlatformDMController {
@ApiImplicitParam(type = "form", name = "dG", example = "45"),
})
@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 flg,
@RequestParam(required = false) String flu
......@@ -126,7 +127,7 @@ public class PlatformDMController {
@ApiImplicitParam(type = "form", name = "dG", example = "2"),
})
@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 flg,
@RequestParam(required = false) String flu
......@@ -154,7 +155,7 @@ public class PlatformDMController {
@ApiImplicitParam(type = "form", name = "dG", example = "15"),
})
@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 flg,
@RequestParam(required = false) String flu
......@@ -182,7 +183,7 @@ public class PlatformDMController {
@ApiImplicitParam(type = "form", name = "dG", example = "93"),
})
@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 flg,
@RequestParam(required = false) String flu
......@@ -210,7 +211,7 @@ public class PlatformDMController {
@ApiImplicitParam(type = "form", name = "dG", example = "27"),
})
@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 flg,
@RequestParam(required = false) String flu
......@@ -238,7 +239,7 @@ public class PlatformDMController {
@ApiImplicitParam(type = "form", name = "dG", example = "2"),
})
@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 flg,
@RequestParam(required = false) String flu
......@@ -263,7 +264,7 @@ public class PlatformDMController {
@ApiOperationSupport(order = 8)
@ApiOperation(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 flg,
@RequestParam(required = false) String flu
......@@ -275,7 +276,7 @@ public class PlatformDMController {
@ApiOperationSupport(order = 9)
@ApiOperation(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 flg,
@RequestParam(required = false) String flu
......@@ -287,7 +288,7 @@ public class PlatformDMController {
@ApiOperationSupport(order = 10)
@ApiOperation(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 flg,
@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.service.adam.dto.vo.AdamAddressesVo;
import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo;
import com.liquidnet.service.adam.entity.AdamAddresses;
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);
AdamUserInfoVo userInfoVo = dmRdmService.getUserInfoVoByUid(dto.getUid());
if (null != userInfoVo) {
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.service.adam.dto.vo.AdamEntersVo;
import com.liquidnet.service.adam.entity.AdamEnters;
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.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.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 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.github.pagehelper.PageHelper;
import com.liquidnet.service.adam.dto.vo.AdamThirdPartInfoVo;
import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo;
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);
AdamUserInfoVo userInfoVo = dmRdmService.getUserInfoVoByUid(dto.getUid());
if (null != userInfoVo) {
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.service.adam.dto.vo.AdamUserMemberVo;
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