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

Commit e52bdef1 authored by jiangxiulong's avatar jiangxiulong

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

parents a46fe82a 7da71945
......@@ -13,7 +13,7 @@ import com.liquidnet.service.adam.entity.AdamAddresses;
* @author liquidnet
* @since 2021-05-11
*/
public interface IAdamAddressesService extends IService<AdamAddresses> {
public interface IAdamAddressesService {
String add(AdamAddressesParam parameter);
......
package com.liquidnet.service.adam.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.adam.dto.vo.AdamCollectBaseVo;
import com.liquidnet.service.adam.dto.vo.AdamCollectVo;
import com.liquidnet.service.adam.entity.AdamCollection;
/**
* <p>
......@@ -14,7 +12,7 @@ import com.liquidnet.service.adam.entity.AdamCollection;
* @author liquidnet
* @since 2021-05-10
*/
public interface IAdamCollectionService extends IService<AdamCollection> {
public interface IAdamCollectionService {
void add(AdamCollectBaseVo collectVo);
......
package com.liquidnet.service.adam.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.adam.dto.vo.AdamDisposedBaseVo;
import com.liquidnet.service.adam.dto.vo.AdamDisposedUserVo;
import com.liquidnet.service.adam.dto.vo.AdamDisposedVo;
import com.liquidnet.service.adam.entity.AdamDisposed;
/**
* <p>
......@@ -15,7 +13,7 @@ import com.liquidnet.service.adam.entity.AdamDisposed;
* @author liquidnet
* @since 2021-05-18
*/
public interface IAdamDisposedService extends IService<AdamDisposed> {
public interface IAdamDisposedService {
void add(AdamDisposedBaseVo disposedBaseVo);
......
package com.liquidnet.service.adam.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.adam.dto.AdamEntersParam;
import com.liquidnet.service.adam.dto.vo.AdamEntersVo;
import com.liquidnet.service.adam.entity.AdamEnters;
/**
* <p>
......@@ -13,7 +11,7 @@ import com.liquidnet.service.adam.entity.AdamEnters;
* @author liquidnet
* @since 2021-04-28
*/
public interface IAdamEntersService extends IService<AdamEnters> {
public interface IAdamEntersService {
String add(AdamEntersParam parameter);
void def(String uid, String entersId);
......
package com.liquidnet.service.adam.service;
import com.liquidnet.service.adam.entity.AdamMemberCode;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 服务类
* </p>
*
* @author liquidnet
* @since 2021-06-23
*/
public interface IAdamMemberCodeService extends IService<AdamMemberCode> {
}
package com.liquidnet.service.adam.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.adam.dto.AdamMemberOrderCallbackParam;
import com.liquidnet.service.adam.dto.AdamMemberOrderCodeParam;
import com.liquidnet.service.adam.dto.AdamMemberOrderParam;
import com.liquidnet.service.adam.dto.AdamMemberOrderResult;
import com.liquidnet.service.adam.dto.vo.AdamMemberOrderSimpleVo;
import com.liquidnet.service.adam.entity.AdamMemberOrder;
import com.liquidnet.service.base.ResponseDto;
/**
* 对客户端API接口
*/
public interface IAdamMemberOrderService extends IService<AdamMemberOrder> {
public interface IAdamMemberOrderService {
/**
* 购买会员或会员码
*
......
package com.liquidnet.service.adam.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.adam.entity.AdamMember;
/**
* 客户端调用
*/
public interface IAdamMemberService extends IService<AdamMember> {
// AdamMemberVo queryMemberInfo();
// AdamMemberSimpleVo queryMemberSimpleVo();
}
package com.liquidnet.service.adam.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.adam.entity.AdamRealName;
/**
......@@ -11,6 +10,6 @@ import com.liquidnet.service.adam.entity.AdamRealName;
* @author liquidnet
* @since 2021-05-10
*/
public interface IAdamRealNameService extends IService<AdamRealName> {
public interface IAdamRealNameService {
void add(AdamRealName realName);
}
package com.liquidnet.service.adam.service;
import com.liquidnet.service.adam.entity.AdamThirdParty;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 用户第三方账号信息 服务类
* </p>
*
* @author liquidnet
* @since 2021-06-23
*/
public interface IAdamThirdPartyService extends IService<AdamThirdParty> {
}
package com.liquidnet.service.adam.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo;
import com.liquidnet.service.adam.entity.AdamUserInfo;
/**
* <p>
......@@ -12,7 +10,7 @@ import com.liquidnet.service.adam.entity.AdamUserInfo;
* @author liquidnet
* @since 2021-05-10
*/
public interface IAdamUserInfoService extends IService<AdamUserInfo> {
public interface IAdamUserInfoService {
void edit(AdamUserInfoVo userInfoVo);
......
package com.liquidnet.service.adam.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.adam.entity.AdamUserMember;
/**
* 会员用户信息
*/
public interface IAdamUserMemberService extends IService<AdamUserMember> {
public interface IAdamUserMemberService {
String getNextMemberNo(String memberId);
......
package com.liquidnet.service.adam.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.adam.dto.AdamThirdPartParam;
import com.liquidnet.service.adam.dto.vo.AdamRealInfoVo;
import com.liquidnet.service.adam.dto.vo.AdamThirdPartInfoVo;
import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo;
import com.liquidnet.service.adam.entity.AdamUser;
import java.util.List;
/**
* <p>
......@@ -17,7 +12,7 @@ import java.util.List;
* @author liquidnet
* @since 2021-05-10
*/
public interface IAdamUserService extends IService<AdamUser> {
public interface IAdamUserService {
/**
* 手机号注册
......
package com.liquidnet.service.adam.controller.admin;
package com.liquidnet.client.admin.web.controller.zhengzai.adam;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.client.admin.zhengzai.adam.service.IAdamMemberAdminService;
import com.liquidnet.client.admin.zhengzai.adam.service.IAdamMemberCodeAdminService;
import com.liquidnet.service.adam.dto.AdamMemberCodeParam;
import com.liquidnet.service.adam.dto.AdamMemberParam;
import com.liquidnet.service.adam.dto.vo.AdamMemberVo;
import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo;
import com.liquidnet.service.adam.entity.AdamMember;
import com.liquidnet.service.adam.service.AdamRdmService;
import com.liquidnet.service.adam.service.admin.IAdamMemberAdminService;
import com.liquidnet.service.adam.service.admin.IAdamMemberCodeAdminService;
import com.liquidnet.service.base.ResponseDto;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.constraints.NotBlank;
import java.util.ArrayList;
import java.util.List;
@ApiSupport(order = 90060)
@Api(tags = "后台管理:会员信息")
@Slf4j
@Validated
@RestController
@RequestMapping("/admin/member")
public class AdamMemberAdminController extends AdamBaseController {
public class AdamMemberAdminController {
@Autowired
IAdamMemberAdminService adamMemberService;
@Autowired
IAdamMemberCodeAdminService adamMemberCodeAdminService;
@Autowired
AdamRdmService adamRdmService;
@ApiOperationSupport(order = 1)
@ApiOperation(value = "添加会员卡")
@PostMapping("add")
public ResponseDto<Object> add(@RequestBody AdamMemberParam parameter) {
return ResponseDto.success(adamMemberService.add(parameter));
}
@ApiOperationSupport(order = 1)
@ApiOperation(value = "会员卡列表")
@PostMapping("list")
public ResponseDto<List<AdamMemberVo>> list() {
......@@ -56,67 +48,14 @@ public class AdamMemberAdminController extends AdamBaseController {
return ResponseDto.success(vos);
}
@ApiOperationSupport(order = 2)
@ApiOperation(value = "同步会员卡")
@PostMapping("sync")
public ResponseDto<Object> sync() {
return adamMemberService.sync();
}
@ApiOperationSupport(order = 3)
@ApiOperation(value = "生成兑换码")
@PostMapping("gen_code")
public ResponseDto<String> genMemberCode(@RequestBody AdamMemberCodeParam parameter) {
return ResponseDto.success(adamMemberCodeAdminService.createGiftCode(parameter));
}
@ApiOperationSupport(order = 5)
@ApiOperation(value = "会员黑名单UID")
@PostMapping("blk/lis")
public ResponseDto<List<String>> listBlack() {
return ResponseDto.success(adamRdmService.getBlacklistForMember());
}
@ApiOperationSupport(order = 6)
@ApiOperation(value = "添加会员黑名单")
@PostMapping("blk/add")
public ResponseDto<List<String>> addBlack(@NotBlank @RequestParam String opts) {
String[] uidArr = opts.split(",");
List<String> invalidList = new ArrayList<>(), existList = new ArrayList<>();
for (String uid : uidArr) {
AdamUserInfoVo vo = adamRdmService.getUserInfoVoByUid(uid);
if (null != vo) {
existList.add(uid);
} else {
invalidList.add(uid);
}
}
List<String> blacklist = adamRdmService.getBlacklistForMember();
if (CollectionUtils.isEmpty(blacklist)) {
blacklist = existList;
} else {
blacklist.addAll(existList);
}
if (!CollectionUtils.isEmpty(blacklist)) {
adamRdmService.setBlacklistForMember(blacklist);
} else {
log.warn("###blacklist.add:failed,invalidList:{},existList:{},opts:{}", invalidList.size(), existList.size(), opts);
}
return ResponseDto.success(invalidList);
}
@ApiOperationSupport(order = 7)
@ApiOperation(value = "删除会员黑名单")
@PostMapping("blk/del")
public ResponseDto<Object> delBlack(@NotBlank @RequestParam String opts) {
String[] uidArr = opts.split(",");
List<String> blacklist = adamRdmService.getBlacklistForMember();
if (!CollectionUtils.isEmpty(blacklist)) {
for (String uid : uidArr) {
blacklist.remove(uid);
}
adamRdmService.setBlacklistForMember(blacklist);
}
return ResponseDto.success();
}
}
package com.liquidnet.service.adam.controller.admin;
package com.liquidnet.client.admin.web.controller.zhengzai.adam;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.client.admin.zhengzai.adam.service.IAdamMemberPriceAdminService;
import com.liquidnet.service.adam.dto.AdamMemberPriceParam;
import com.liquidnet.service.adam.dto.vo.AdamMemberPriceVo;
import com.liquidnet.service.adam.entity.AdamMemberPrice;
import com.liquidnet.service.adam.service.admin.IAdamMemberPriceAdminService;
import com.liquidnet.service.base.ResponseDto;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
......@@ -23,17 +21,15 @@ import javax.validation.constraints.NotBlank;
import java.util.ArrayList;
import java.util.List;
@ApiSupport(order = 90061)
@Api(tags = "后台管理:会员价格")
@Slf4j
@Validated
@RestController
@RequestMapping("admin/member/price")
public class AdamMemberPriceAdminController extends AdamBaseController {
public class AdamMemberPriceAdminController {
@Autowired
IAdamMemberPriceAdminService adamMemberPriceService;
@ApiOperationSupport(order = 1)
@ApiOperation(value = "会员价格列表")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "memberId", value = "会员卡ID[64]"),
......@@ -50,7 +46,6 @@ public class AdamMemberPriceAdminController extends AdamBaseController {
return ResponseDto.success(vos);
}
@ApiOperationSupport(order = 2)
@ApiOperation(value = "会员价格详情")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "memberId", value = "会员卡ID[64]"),
......@@ -66,7 +61,6 @@ public class AdamMemberPriceAdminController extends AdamBaseController {
return ResponseDto.success(AdamMemberPriceVo.getNew().copy(one));
}
@ApiOperationSupport(order = 3)
@ApiOperation(value = "添加会员价格")
@PostMapping("add")
public ResponseDto<AdamMemberPriceVo> add(@Valid @RequestBody AdamMemberPriceParam param) {
......@@ -75,7 +69,6 @@ public class AdamMemberPriceAdminController extends AdamBaseController {
return ResponseDto.success(adamMemberPriceService.add(entity));
}
@ApiOperationSupport(order = 4)
@ApiOperation(value = "编辑会员价格")
@PostMapping("edit")
public ResponseDto<AdamMemberPriceVo> edit(@Valid @RequestBody AdamMemberPriceParam param) {
......
package com.liquidnet.service.adam.service.admin;
package com.liquidnet.client.admin.zhengzai.adam.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.adam.dto.AdamMemberParam;
......
package com.liquidnet.service.adam.service.admin;
package com.liquidnet.client.admin.zhengzai.adam.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.adam.dto.AdamMemberCodeParam;
......
package com.liquidnet.service.adam.service.admin;
package com.liquidnet.client.admin.zhengzai.adam.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.adam.dto.MemberOrderDto;
......
package com.liquidnet.service.adam.service.admin;
package com.liquidnet.client.admin.zhengzai.adam.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.adam.dto.AdamMemberPriceParam;
......
package com.liquidnet.service.adam.service.impl.admin;
package com.liquidnet.client.admin.zhengzai.adam.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.client.admin.zhengzai.adam.service.IAdamMemberCodeAdminService;
import com.liquidnet.common.mq.constant.MQConst;
import com.liquidnet.service.adam.dto.AdamMemberCodeParam;
import com.liquidnet.service.adam.dto.vo.AdamMemberCodeVo;
import com.liquidnet.service.adam.entity.AdamMemberCode;
import com.liquidnet.service.adam.mapper.AdamMemberCodeMapper;
import com.liquidnet.service.adam.service.AdamRdmService;
import com.liquidnet.service.adam.service.IAdamUserMemberService;
import com.liquidnet.service.adam.service.admin.IAdamMemberCodeAdminService;
import com.liquidnet.service.adam.util.MemberUtil;
import com.liquidnet.service.base.SqlMapping;
import lombok.extern.slf4j.Slf4j;
......@@ -31,8 +30,8 @@ public class AdamMemberCodeAdminServiceImpl extends ServiceImpl<AdamMemberCodeMa
RabbitTemplate rabbitTemplate;
@Autowired
IAdamUserMemberService adamUserMemberService;
@Autowired
AdamRdmService adamRdmService;
// @Autowired
// AdamRdmService adamRdmService;
@Override
public String createGiftCode(AdamMemberCodeParam param) {
......@@ -63,7 +62,7 @@ public class AdamMemberCodeAdminServiceImpl extends ServiceImpl<AdamMemberCodeMa
AdamMemberCodeVo vo = AdamMemberCodeVo.getNew().copy(initMemberCode);
mongoTemplate.insert(vo, AdamMemberCodeVo.class.getSimpleName());
adamRdmService.setMemberCodeVoByCode(mCode, vo);
// adamRdmService.setMemberCodeVoByCode(mCode, vo);
rabbitTemplate.convertAndSend(MQConst.EX_LNS_SQL_UCENTER, MQConst.RK_SQL_UCENTER,
SqlMapping.get("adam_member_code.add",
initMemberCode.getCode(), initMemberCode.getType(), initMemberCode.getMemberId(), initMemberCode.getMemberPriceId(),
......
......@@ -2,6 +2,7 @@ package com.liquidnet.client.admin.zhengzai.adam.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.client.admin.zhengzai.adam.service.IAdamMemberOrderAdminService;
import com.liquidnet.commons.lang.util.BeanUtil;
import com.liquidnet.service.adam.dto.MemberOrderDto;
import com.liquidnet.service.adam.dto.param.admin.MemberOrderListReq;
......@@ -17,7 +18,6 @@ import com.liquidnet.service.adam.mapper.AdamMemberOrderMapper;
import com.liquidnet.service.adam.mapper.AdamUserInfoMapper;
import com.liquidnet.service.adam.mapper.AdamUserMapper;
import com.liquidnet.service.adam.mapper.AdamUserMemberMapper;
import com.liquidnet.service.adam.service.admin.IAdamMemberOrderAdminService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......
package com.liquidnet.service.adam.service.impl.admin;
package com.liquidnet.client.admin.zhengzai.adam.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.client.admin.zhengzai.adam.service.IAdamMemberPriceAdminService;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.adam.constant.AdamRedisConst;
......@@ -10,7 +11,6 @@ import com.liquidnet.service.adam.dto.AdamMemberPriceParam;
import com.liquidnet.service.adam.dto.vo.AdamMemberPriceVo;
import com.liquidnet.service.adam.entity.AdamMemberPrice;
import com.liquidnet.service.adam.mapper.AdamMemberPriceMapper;
import com.liquidnet.service.adam.service.admin.IAdamMemberPriceAdminService;
import com.mongodb.client.result.UpdateResult;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
......
package com.liquidnet.service.adam.service.impl.admin;
package com.liquidnet.client.admin.zhengzai.adam.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.client.admin.zhengzai.adam.service.IAdamMemberAdminService;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.adam.dto.AdamMemberParam;
import com.liquidnet.service.adam.dto.vo.AdamMemberVo;
import com.liquidnet.service.adam.entity.AdamMember;
import com.liquidnet.service.adam.mapper.AdamMemberMapper;
import com.liquidnet.service.adam.service.AdamRdmService;
import com.liquidnet.service.adam.service.admin.IAdamMemberAdminService;
import com.liquidnet.service.base.ResponseDto;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
......@@ -30,8 +28,8 @@ public class AdamMemberServiceAdminImpl extends ServiceImpl<AdamMemberMapper, Ad
AdamMemberMapper adamMemberMapper;
@Autowired
MongoTemplate mongoTemplate;
@Autowired
AdamRdmService adamRdmService;
// @Autowired
// AdamRdmService adamRdmService;
@Override
public AdamMemberVo add(AdamMemberParam param) {
......@@ -52,7 +50,7 @@ public class AdamMemberServiceAdminImpl extends ServiceImpl<AdamMemberMapper, Ad
mongoTemplate.insert(vo, AdamMemberVo.class.getSimpleName());
adamRdmService.setMemberVoByMemberId(vo.getMemberId(), vo);
// adamRdmService.setMemberVoByMemberId(vo.getMemberId(), vo);
return vo;
}
......@@ -66,7 +64,7 @@ public class AdamMemberServiceAdminImpl extends ServiceImpl<AdamMemberMapper, Ad
mongoTemplate.remove(Query.query(Criteria.where("_id").exists(true)), AdamMemberVo.class.getSimpleName());
AdamMemberVo vo = AdamMemberVo.getNew().copy(list.get(0));
mongoTemplate.insert(vo, AdamMemberVo.class.getSimpleName());
adamRdmService.delMemberVoByMemberId(vo.getMemberId());
// adamRdmService.delMemberVoByMemberId(vo.getMemberId());
return ResponseDto.success();
}
}
......@@ -150,8 +150,8 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
ticketStatus.setStatus(status);
ticketStatusMapper.update(ticketStatus, new UpdateWrapper<KylinTicketStatus>().eq("ticket_id", ticketItem.getTicketsId()));
}
}
performanceVoUtils.performanceVoStatus(performancesId);
} else { //只修改演出相关 场次 票 (不包括 库存 售卖时间 限购)
log.info(" PERFORMANCE 演出审核 修改");
......
......@@ -27,9 +27,9 @@ liquidnet:
# host: r-2zefzyjbij5vbez65y.redis.rds.aliyuncs.com
port: 6380
password: PO@B!Iud32
# host: r-2ze7002ckw5u75fguk.redis.rds.aliyuncs.com
# port: 6380
# password: PO@B!Iud32
# host: r-2ze7002ckw5u75fguk.redis.rds.aliyuncs.com
# port: 6380
# password: PO@B!Iud32
mongodb:
host: s-2zef656730e5a1d4-pub.mongodb.rds.aliyuncs.com:3717,s-2ze49872ed6aeb14-pub.mongodb.rds.aliyuncs.com:3717
port: 3717
......
......@@ -131,7 +131,7 @@ spring:
enabled: false
data:
mongodb:
uri: mongodb://${liquidnet.mongodb.user}:${liquidnet.mongodb.pwd}@${liquidnet.mongodb.host}/?authSource=admin&maxPoolSize=4000&waitQueueMultiple=100
uri: mongodb://${liquidnet.mongodb.user}:${liquidnet.mongodb.pwd}@${liquidnet.mongodb.host}/?authSource=admin&maxPoolSize=200&waitQueueMultiple=100
sslEnabled: ${liquidnet.mongodb.sslEnabled}
database: ${liquidnet.mongodb.database}
redis:
......
......@@ -68,6 +68,8 @@ spring:
max-request-size: 10MB
profiles:
include: common-service #这里加载management相关公共配置
autoconfigure:
exclude: org.springframework.cloud.bus.BusAutoConfiguration,org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
rabbitmq:
addresses: ${liquidnet.rabbitmq.host}
port: ${liquidnet.rabbitmq.port}
......@@ -110,22 +112,9 @@ spring:
transportMode: "NIO"
data:
mongodb:
uri: mongodb://${liquidnet.mongodb.user}:${liquidnet.mongodb.pwd}@${liquidnet.mongodb.host}/?authSource=admin&maxPoolSize=4000&waitQueueMultiple=100
uri: mongodb://${liquidnet.mongodb.user}:${liquidnet.mongodb.pwd}@${liquidnet.mongodb.host}/?authSource=admin&maxPoolSize=2000&waitQueueMultiple=100
sslEnabled: ${liquidnet.mongodb.sslEnabled}
database: ${liquidnet.mongodb.database}
datasource:
name: ${liquidnet.mysql.database-name}
url: jdbc:mysql://${liquidnet.mysql.urlHostAndPort}/${liquidnet.mysql.database-name}?serverTimezone=Asia/Shanghai&characterEncoding=utf-8&useSSL=false
username: ${liquidnet.mysql.username}
password: ${liquidnet.mysql.password}
# type: org.apache.tomcat.jdbc.pool.DataSource
driver-class-name: com.mysql.cj.jdbc.Driver
hikari:
maximum-pool-size: 500
# 迁移数据暂设10分钟
connection-timeout: 600000
minimum-idle: 10
connection-test-query: SELECT 1
# -----------------------------------------------------------
# -----------------------------------------------------------
......
......@@ -111,7 +111,7 @@ spring:
transportMode: "NIO"
data:
mongodb:
uri: mongodb://${liquidnet.mongodb.user}:${liquidnet.mongodb.pwd}@${liquidnet.mongodb.host}/?authSource=admin&maxPoolSize=4000&waitQueueMultiple=100
uri: mongodb://${liquidnet.mongodb.user}:${liquidnet.mongodb.pwd}@${liquidnet.mongodb.host}/?authSource=admin&maxPoolSize=2000&waitQueueMultiple=100
sslEnabled: ${liquidnet.mongodb.sslEnabled}
database: ${liquidnet.mongodb.database}
datasource:
......
......@@ -110,7 +110,7 @@ spring:
transportMode: "NIO"
data:
mongodb:
uri: mongodb://${liquidnet.mongodb.user}:${liquidnet.mongodb.pwd}@${liquidnet.mongodb.host}/?authSource=admin&maxPoolSize=4000&waitQueueMultiple=100
uri: mongodb://${liquidnet.mongodb.user}:${liquidnet.mongodb.pwd}@${liquidnet.mongodb.host}/?authSource=admin&maxPoolSize=200&waitQueueMultiple=100
sslEnabled: ${liquidnet.mongodb.sslEnabled}
database: ${liquidnet.mongodb.database}
datasource:
......
......@@ -38,7 +38,10 @@
<artifactId>liquidnet-common-cache-redisson</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>com.liquidnet</groupId>
......@@ -47,14 +50,8 @@
</dependency>
<dependency>
<groupId>com.liquidnet</groupId>
<artifactId>liquidnet-api-feign-kylin</artifactId>
<artifactId>liquidnet-service-kylin-api</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
......
......@@ -5,8 +5,8 @@ import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.service.adam.dto.vo.AdamMemberSimpleVo;
import com.liquidnet.service.adam.dto.vo.AdamMemberVo;
import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo;
import com.liquidnet.service.adam.dto.vo.AdamUserMemberVo;
import com.liquidnet.service.adam.service.IAdamMemberService;
import com.liquidnet.service.adam.service.AdamRdmService;
import com.liquidnet.service.adam.service.IAdamUserMemberService;
import com.liquidnet.service.base.ResponseDto;
......@@ -14,14 +14,14 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotBlank;
import java.util.ArrayList;
import java.util.List;
@ApiSupport(order = 10030)
@Api(tags = "会员信息")
......@@ -33,8 +33,6 @@ public class AdamMemberController {
@Autowired
AdamRdmService adamRdmService;
@Autowired
IAdamMemberService adamMemberService;
@Autowired
IAdamUserMemberService adamUserMemberService;
@ApiOperationSupport(order = 1)
......@@ -63,6 +61,56 @@ public class AdamMemberController {
return ResponseDto.success(adamRdmService.getMemberAgreement());
}
@ApiOperationSupport(order = 10)
@ApiOperation(value = "会员黑名单UID")
@PostMapping("blk/lis")
public ResponseDto<List<String>> listBlack() {
return ResponseDto.success(adamRdmService.getBlacklistForMember());
}
@ApiOperationSupport(order = 11)
@ApiOperation(value = "添加会员黑名单")
@PostMapping("blk/add")
public ResponseDto<List<String>> addBlack(@NotBlank @RequestParam String opts) {
String[] uidArr = opts.split(",");
List<String> invalidList = new ArrayList<>(), existList = new ArrayList<>();
for (String uid : uidArr) {
AdamUserInfoVo vo = adamRdmService.getUserInfoVoByUid(uid);
if (null != vo) {
existList.add(uid);
} else {
invalidList.add(uid);
}
}
List<String> blacklist = adamRdmService.getBlacklistForMember();
if (CollectionUtils.isEmpty(blacklist)) {
blacklist = existList;
} else {
blacklist.addAll(existList);
}
if (!CollectionUtils.isEmpty(blacklist)) {
adamRdmService.setBlacklistForMember(blacklist);
} else {
log.warn("###blacklist.add:failed,invalidList:{},existList:{},opts:{}", invalidList.size(), existList.size(), opts);
}
return ResponseDto.success(invalidList);
}
@ApiOperationSupport(order = 12)
@ApiOperation(value = "删除会员黑名单")
@PostMapping("blk/del")
public ResponseDto<Object> delBlack(@NotBlank @RequestParam String opts) {
String[] uidArr = opts.split(",");
List<String> blacklist = adamRdmService.getBlacklistForMember();
if (!CollectionUtils.isEmpty(blacklist)) {
for (String uid : uidArr) {
blacklist.remove(uid);
}
adamRdmService.setBlacklistForMember(blacklist);
}
return ResponseDto.success();
}
/* ------------------------------------------------------------|API */
@ApiOperationSupport(order = 99)
......
package com.liquidnet.service.adam.controller.admin;
import com.liquidnet.common.exception.LiquidnetServiceException;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.bind.annotation.ModelAttribute;
import javax.servlet.http.HttpServletRequest;
import java.time.LocalDateTime;
import java.time.temporal.ChronoField;
import java.util.regex.Pattern;
@Slf4j
public class AdamBaseController {
@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", "非法操作");
}
}
// public static String getPostStr(HttpServletRequest request) throws IOException {
// int contentLength = request.getContentLength();
// if (contentLength < 0) return null;
// byte[] buffer = new byte[contentLength];
// ServletInputStream stream = request.getInputStream();
// for (int i = 0; i < contentLength; ) {
// int readline = stream.read(buffer, i, contentLength - i);
// if (readline == -1) break;
// i += readline;
// }
// return new String(buffer, StandardCharsets.UTF_8);
// }
}
package com.liquidnet.service.adam.controller.admin;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.service.adam.service.processor.*;
import com.liquidnet.service.base.ResponseDto;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
@ApiSupport(order = 90062)
@Api(tags = "DM")
@Slf4j
@Validated
@RestController
@RequestMapping("dm")
public class AdamDMAdminController extends AdamBaseController {
@Autowired
DMUserInformationProcessor dmUserInformationProcessor;
@Autowired
DMThirdPartsProcessor dmThirdPartsProcessor;
@Autowired
DMRealNameProcessor dmRealNameProcessor;
@Autowired
DMUserMemberProcessor dmUserMemberProcessor;
@Autowired
DMEntersProcessor dmEntersProcessor;
@Autowired
DMAddressesProcessor dmAddressesProcessor;
@Autowired
DMTracesInfoProcessor dmTracesInfoProcessor;
@Autowired
DMMemberOrderProcessor dmMemberOrderProcessor;
@Autowired
DMMemberCodeProcessor dmMemberCodeProcessor;
@Autowired
DMCollectionProcessor dmCollectionProcessor;
@ApiOperationSupport(order = 1)
@ApiOperation(value = "T - user")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", name = "dG", example = "220"),
})
@GetMapping(value = {"user"})
public ResponseDto<Object> dataMigrationForUser(@RequestParam(required = false) Integer dG,
@RequestParam(required = false) String incrDt,
@RequestParam(required = false) String flg,
@RequestParam(required = false) String flu
) {
log.info("===dG:{},incrDt:{},flg:{},flu:{}", dG, incrDt, flg, flu);
if (null != dG) {
ExecutorService exec = Executors.newFixedThreadPool(dG);
for (int i = 0; i < dG; i++) {
final int k = i;
exec.execute(() -> {
log.info("==================" + k);
dmUserInformationProcessor.dataProcessing(k, dG, null, null, k == 0 ? "1" : "");
});
try { Thread.sleep(100L); } catch (InterruptedException ignored) {}
}
exec.shutdown();
} else {
dmUserInformationProcessor.dataProcessing(null, null, incrDt, flg, flu);
}
return ResponseDto.success(dG);
}
@ApiOperationSupport(order = 2)
@ApiOperation(value = "T - tpa")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", name = "dG", example = "45"),
})
@GetMapping(value = {"tpa"})
public ResponseDto<Object> dataMigrationForTpa(@RequestParam(required = false) Integer dG,
@RequestParam(required = false) String incrDt,
@RequestParam(required = false) String flg,
@RequestParam(required = false) String flu
) {
log.info("===dG:{},incrDt:{},flg:{},flu:{}", dG, incrDt, flg, flu);
if (null != dG) {
ExecutorService exec = Executors.newFixedThreadPool(dG);
for (int i = 0; i < dG; i++) {
final int k = i;
exec.execute(() -> {
log.info("==================" + k);
dmThirdPartsProcessor.dataProcessing(k, dG, null, null, k == 0 ? "1" : "");
});
try { Thread.sleep(100L); } catch (InterruptedException ignored) {}
}
exec.shutdown();
} else {
dmThirdPartsProcessor.dataProcessing(null, null, incrDt, flg, flu);
}
return ResponseDto.success(dG);
}
@ApiOperationSupport(order = 3)
@ApiOperation(value = "T - real")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", name = "dG", example = "2"),
})
@GetMapping(value = {"real"})
public ResponseDto<Object> dataMigrationForReal(@RequestParam(required = false) Integer dG,
@RequestParam(required = false) String incrDt,
@RequestParam(required = false) String flg,
@RequestParam(required = false) String flu
) {
log.info("===dG:{},incrDt:{},flg:{},flu:{}", dG, incrDt, flg, flu);
if (null != dG) {
ExecutorService exec = Executors.newFixedThreadPool(dG);
for (int i = 0; i < dG; i++) {
final int k = i;
exec.execute(() -> {
log.info("==================" + k);
dmRealNameProcessor.dataProcessing(k, dG, null, null, k == 0 ? "1" : "");
});
try { Thread.sleep(100L); } catch (InterruptedException ignored) {}
}
exec.shutdown();
} else {
dmRealNameProcessor.dataProcessing(null, null, incrDt, flg, flu);
}
return ResponseDto.success(dG);
}
@ApiOperationSupport(order = 4)
@ApiOperation(value = "T - collect")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", name = "dG", example = "15"),
})
@GetMapping(value = {"collect"})
public ResponseDto<Object> dataMigrationForCollect(@RequestParam(required = false) Integer dG,
@RequestParam(required = false) String incrDt,
@RequestParam(required = false) String flg,
@RequestParam(required = false) String flu
) {
log.info("===dG:{},incrDt:{},flg:{},flu:{}", dG, incrDt, flg, flu);
if (null != dG) {
ExecutorService exec = Executors.newFixedThreadPool(dG);
for (int i = 0; i < dG; i++) {
final int k = i;
exec.execute(() -> {
log.info("==================" + k);
dmCollectionProcessor.dataProcessing(k, dG, null, null, k == 0 ? "1" : "");
});
try { Thread.sleep(100L); } catch (InterruptedException ignored) {}
}
exec.shutdown();
} else {
dmCollectionProcessor.dataProcessing(null, null, incrDt, flg, flu);
}
return ResponseDto.success(dG);
}
@ApiOperationSupport(order = 5)
@ApiOperation(value = "T - enters")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", name = "dG", example = "93"),
})
@GetMapping(value = {"enters"})
public ResponseDto<Object> dataMigrationForEnters(@RequestParam(required = false) Integer dG,
@RequestParam(required = false) String incrDt,
@RequestParam(required = false) String flg,
@RequestParam(required = false) String flu
) {
log.info("===dG:{},incrDt:{},flg:{},flu:{}", dG, incrDt, flg, flu);
if (null != dG) {
ExecutorService exec = Executors.newFixedThreadPool(dG);
for (int i = 0; i < dG; i++) {
final int k = i;
exec.execute(() -> {
log.info("==================" + k);
dmEntersProcessor.dataProcessing(k, dG, null, null, k == 0 ? "1" : "");
});
try { Thread.sleep(100L); } catch (InterruptedException ignored) {}
}
exec.shutdown();
} else {
dmEntersProcessor.dataProcessing(null, null, incrDt, flg, flu);
}
return ResponseDto.success(dG);
}
@ApiOperationSupport(order = 6)
@ApiOperation(value = "T - addr")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", name = "dG", example = "27"),
})
@GetMapping(value = {"addr"})
public ResponseDto<Object> dataMigrationForAddr(@RequestParam(required = false) Integer dG,
@RequestParam(required = false) String incrDt,
@RequestParam(required = false) String flg,
@RequestParam(required = false) String flu
) {
log.info("===dG:{},incrDt:{},flg:{},flu:{}", dG, incrDt, flg, flu);
if (null != dG) {
ExecutorService exec = Executors.newFixedThreadPool(dG);
for (int i = 0; i < dG; i++) {
final int k = i;
exec.execute(() -> {
log.info("==================" + k);
dmAddressesProcessor.dataProcessing(k, dG, null, null, k == 0 ? "1" : "");
});
try { Thread.sleep(100L); } catch (InterruptedException ignored) {}
}
exec.shutdown();
} else {
dmAddressesProcessor.dataProcessing(null, null, incrDt, flg, flu);
}
return ResponseDto.success(dG);
}
@ApiOperationSupport(order = 7)
@ApiOperation(value = "T - vip")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", name = "dG", example = "2"),
})
@GetMapping(value = {"vip"})
public ResponseDto<Object> dataMigrationForVip(@RequestParam(required = false) Integer dG,
@RequestParam(required = false) String incrDt,
@RequestParam(required = false) String flg,
@RequestParam(required = false) String flu
) {
log.info("===dG:{},incrDt:{},flg:{},flu:{}", dG, incrDt, flg, flu);
if (null != dG) {
ExecutorService exec = Executors.newFixedThreadPool(dG);
for (int i = 0; i < dG; i++) {
final int k = i;
exec.execute(() -> {
log.info("==================" + k);
dmUserMemberProcessor.dataProcessing(k, dG, null, null, k == 0 ? "1" : "");
});
try { Thread.sleep(100L); } catch (InterruptedException ignored) {}
}
exec.shutdown();
} else {
dmUserMemberProcessor.dataProcessing(null, null, incrDt, flg, flu);
}
return ResponseDto.success(dG);
}
@ApiOperationSupport(order = 8)
@ApiOperation(value = "morder")
@GetMapping(value = {"morder"})
public ResponseDto<Object> dataMigrationForMOrder(@RequestParam(required = false) Integer dG,
@RequestParam(required = false) String incrDt,
@RequestParam(required = false) String flg,
@RequestParam(required = false) String flu
) {
log.info("===dG:{},incrDt:{},flg:{},flu:{}", dG, incrDt, flg, flu);
dmMemberOrderProcessor.dataProcessing(null, null, incrDt, flg, flu);
return ResponseDto.success(dG);
}
@ApiOperationSupport(order = 9)
@ApiOperation(value = "mcode")
@GetMapping(value = {"mcode"})
public ResponseDto<Object> dataMigrationForMCode(@RequestParam(required = false) Integer dG,
@RequestParam(required = false) String incrDt,
@RequestParam(required = false) String flg,
@RequestParam(required = false) String flu
) {
log.info("===dG:{},incrDt:{},flg:{},flu:{}", dG, incrDt, flg, flu);
dmMemberCodeProcessor.dataProcessing(null, null, incrDt, flg, flu);
return ResponseDto.success(dG);
}
@ApiOperationSupport(order = 10)
@ApiOperation(value = "traces")
@GetMapping(value = {"traces"})
public ResponseDto<Object> dataMigrationForTraces(@RequestParam(required = false) Integer dG,
@RequestParam(required = false) String incrDt,
@RequestParam(required = false) String flg,
@RequestParam(required = false) String flu
) {
log.info("===dG:{},incrDt:{},flg:{},flu:{}", dG, incrDt, flg, flu);
dmTracesInfoProcessor.dataProcessing(null, null, incrDt, flg, flu);
return ResponseDto.success(dG);
}
}
package com.liquidnet.service.adam.service;
import com.liquidnet.service.adam.mapper.AdamUserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public abstract class DataMigrationProcessorService {
public static final String MEMBER_NAME = "摩登天空会员";
public static final String MEMBER_ID = "1";
public static List<String> reUidList = new ArrayList<>();
static {
reUidList.addAll(Arrays.asList("19381","31567","564716","576723","594087","594090","594093","594094","594095","594096","594098","594099","594103","594104","594105","594110","602101","657746","667575","670349","671941","672058","674586","681543","683782","689797","689798","689800","689801","689802","691573","693676","695030","696220","696221","696222","696223","696226","702549","704388","705552","707299","707831","711789","712554","713099","722479","744552","748006","754989","757179","775087","775373","786110","789071","798557","803278","803316","803327","803341","803364","803370","803377","803391","803428","803485","808374","811096","818000","822229","825939","827933","830970","832242","835894","840573","842485","848791","851807","852112","854894","854942","855559","859404","859405","861223","861260","862238","862867","862868","862869","864162","869026","869977","871255","872036","873874","873875","875392","875851","876703","876811","877542","878547","880245","880516","880772","883049","883537","883538","884752","885810","886775","887463","888684","888686","889467","891267","891268","891421","891559","892552","893811","893812","893828","893830","894665","896882","896924","898338","902701","904325","905073","905075","905133","905763","905764","905765","905868","907336","908024","908686","908687","910403","913886","913941","915549","917956","919573","927681","927693","933091","933092","937107","937108","937146","937147","937728","940442","943409","944057","944058","944059","944112","944197","944198","944199","946678","948145","948367","952544","954366","959861","959968","962337","963138","963691","963692","963833","963834","963835","963836","963837","964005","964383","964384","964385","964995","966267","967788","967790","968963","972309","974119","974465","976515","976923","978899","979030","979364","979464","981204","981390","981392","981395","981398","981399","981400","981401","981415","981416","981417","981418","981419","981426","981427","981428","981431","981433","981443","981446","981447","981448","981449","981453","981454","981455","981459","981461","981462","981464","981465","981467","981468","981472","981473","981474","981475","981476","981485","981486","981487","981488","981489","981493","981494","981495","981497","981498","981499","981500","981501","981506","981507","981515","981518","981520","981526","981527","981528","981547","981548","981549","981550","981551","981555","981558","981559","981568","981569","981572","981574","981575","981578","981580","981581","981582","981583","981587","981588","981589","981590","981591","981593","981595","981613","981624","981625","981626","981627","981628","981641","981642","981643","981644","981645","981646","981647","981648","981649","981650","981663","981667","981668","981669","981670","981671","981680","981681","981682","981686","981687","981688","981689","981690","981691","981692","981693","981694","981695","981696","981697","981698","981699","981701","981702","981712","981719","981720","981721","981722","981723","981726","981728","981729","981730","981731","981740","981741","981742","981749","981750","981751","981752","981753","981757","981770","981771","981772","981773","981774","981791","981792","981793","981794","981795","981796","981797","981798","981799","981800","981801","981802","981803","981804","981806","981808","981809","981810","981811","981813","982282","982484","982485","982520","982522","982524","982579","982581","982582","982583","982584","982959","983152","983154","983155","983860","983861","983862","983863","983864","983865","983866","983949","983950","984123","984533","984534","984641","984642","984643","984644","984645","984657","984658","984659","984660","984661","984662","984663","984664","984665","984666","984667","984668","984669","984670","984671","984672","984673","984674","984941","984942","984943","984944","984945","985335","985336","985337","985429","985430","985549","985893","985894","985895","985896","985897","985898","985899","985900","985901","985902","986930","986933","986934","986936","986938","986939","986940","986941","986942","986943","987010","987011","987012","987356","987357","987358","987366","987672","987673","987674","988426","988534","988536","988537","989004","989152","989269","989270","989271","989272","989837","989838","989840","989953","989954","989955","990668","990670","990671","990672","990673","991474","991475","991608","992305","992306","992307","992579","993112","993526","994291","994366","994370","994371","994372","994374","994375","994377","994380","994383","994384","994385","994386","994387","994389","994390","994936","995325","995872","995873","996291","996294","996295","996296","996298","996299","996300","996302","996303","996305","996306","996307","996308","996309","996311","996312","996313","996314","996315","996318","996319","996320","996322","996527","996873","998049","998051","998054","998055","998056","998058","998060","998062","998063","998066","998067","998068","998069","998071","998073","998075","998076","998077","998078","998079","998080","998082","998083","999176","999929","999931","999932","999933","999934","999935","999936","999938","999940","999942","999943","999946","999947","999948","999949","999950","1000444","1001236","1001237","1001238","1001440","1001442","1001443","1001892","1002777","1002778","1003426","1003427","1003428","1003429","1003430","1003633","1004263","1004264","1004381","1004478","1004479","1004480","1004481","1004482","1004485","1004826","1005625","1005626","1005920","1005921","1006457","1006459","1006460","1006461","1006462","1006463","1006464","1006465","1006466","1006468","1006470","1006471","1006472","1006748","1007104","1007285","1007286","1007287","1007288","1007289","1007290","1007291","1007293","1007294","1007295","1007296","1007297","1007299","1007300","1007302","1007303","1007304","1007305","1007306","1007307","1007308","1007309","1007312","1007313","1007314","1007315","1007317","1007318","1007319","1007321","1007863","1007865","1007866","1007867","1007868","1007869","1008145","1008146","1008147","1008148","1008512","1008513","1008939","1009075","1009076","1009152","1009285","1009286","1009288","1009289","1009290","1009560","1009561","1009562","1009798","1009809","1009810","1009811","1009813","1009814","1010050","1010526","1010527","1010528","1010529","1010530","1010532","1010740","1010741","1010958","1010960","1011400","1011401","1011419","1011420","1011838","1011840","1011841","1012003","1012004","1012005","1012006","1012009","1012010","1012011","1012012","1012013","1012178","1012179","1012180","1012181","1012182","1012205","1012524","1012525","1012526","1013223","1013224","1013225","1013226","1013450","1013451","1013452","1013453","1013454","1014090","1014693","1014694","1014695","1014696","1014697","1014698","1014845","1015044","1015045","1015046","1015047","1015048","1015049","1015050","1015051","1015052","1015053","1015054","1015055","1015056","1015057","1015058","1015059","1015060","1015061","1015062","1015063","1015064","1015065","1015066","1015067","1015068","1015069","1015070","1015629","1015630","1015717","1015718","1015719","1015720","1015721","1015722","1015723","1015724","1015725","1015726","1015727","1015728","1015729","1015730","1015731","1015732","1015733","1015734","1015735","1015736","1015737","1015738","1015739","1015740","1015741","1015996","1015997","1015998","1016169","1016632","1016658","1016812","1016813","1016814","1016815","1016816","1016878","1016880","1017818","1017819","1017820","1017821","1017822","1018429","1018430","1018610","1018611","1018612","1018613","1018614","1018615","1018752","1018753","1018898","1019169","1019170","1019171","1019694","1019695","1019696","1019697","1019698","1019699","1019700","1019701","1019818","1019819","1019821","1020826","1020827","1020828","1020829","1020830","1020831","1020832","1020833","1020835","1020836","1020837","1020838","1021809","1021832","1022116","1022117","1022246","1022247","1022358","1022359","1022360","1022361","1022362","1022363","1022364","1022365","1022366","1022367","1022368","1022369","1022370","1022371","1022372","1022373","1022374","1022375","1022376","1022377","1022378","1022379","1022380","1022381","1022382","1022448","1022449","1022450","1022451","1022452","1023418","1023420","1023421","1023423","1023424","1023425","1023426","1023427","1023428","1023429","1023430","1023431","1023432","1023433","1023434","1023435","1023436","1023437","1023930","1023943","1023944","1023945","1023991","1023992","1023993","1024276","1024277","1024278","1024288","1024430","1024431","1024432","1024433","1024434","1024435","1025010","1025011","1025012","1025013","1025014","1025015","1025016","1025017","1025018","1025019","1025020","1025021","1025022","1025023","1025024","1025025","1025026","1025027","1025154","1025155","1025156","1025157","1025158","1025425","1025530","1025531","1025532","1025533","1025534","1025535","1025536","1025537","1025538","1025539","1026116","1026117","1026118","1026119","1026120","1026544","1026545","1026546","1026547","1026548","1026549","1026550","1026551","1026552","1026553","1026554","1026555","1026556","1026992","1027109","1027110","1027111","1027112","1027113","1027114","1027534","1027535","1027536","1027537","1027538","1027539","1027540","1027541","1027542","1027543","1027544","1027545","1027546","1027547","1027548","1027549","1027550","1027551","1027552","1027553","1027554","1027555","1027556","1027557","1027558","1027559","1027560","1027561","1027578","1028215","1028374","1028375","1028376","1028377","1028378","1029069","1029070","1029218","1029393","1029395","1029396","1029928","1029930","1029931","1030010","1030141","1030656","1030657","1030658","1030659","1030660","1031000","1031542","1031644","1031645","1031646","1031647","1031648","1031649","1031650","1031651","1031652","1031653","1032891","1032892","1032893","1032894","1032895","1033080","1033081","1033082","1033083","1033504","1033506","1033507","1033508","1033509","1033510","1033511","1033512","1033586","1033587","1033589","1033726","1033728","1033729","1033730","1033731","1036659","1036690","1037902","1038370","1038822","1040749","1040910","1040911","1042821","1044315","1045937","1047728","1048310","1053824","1053904","1058052","1058053","1058095","1058102","1064610","1064961","1064971","1066148","1066172","1066173","1066174","1068805","1069594","1071194","1071519","1071614","1073398","1073933","1075387","1075681","1075701","1075895","1076117","1076203","1077224","1079425","1079708","1080357","1080359","1080360","1080361","1080362","1080363","1080364","1080365","1080366","1080367","1080368","1080369","1082021","1082573","1082618","1084122","1085471","1086064","1088532","1090622","1091045","1091070","1091770","1095210","1095959","1096490","1096491","1096811","1097663","1118070","1128424","1137420","1140243","1145085","1145088","1147789","1148572","1149034","1149036","1149046","1149049","1149050","1149051","1149052","1149053","1149054","1149055","1149056","1149057","1149058","1149059","1149062","1149063","1149066","1149370","1149938","1149940","1150435","1150436","1155051","1155052","1155072","1155073","1155074","1155075","1155089","1155164","1155166","1155204","1155359","1155644","1155832","1155833","1155904","1156324","1159099","1159102","1159104","1159105","1165127","1165502","1167678","1167811","1167812","1169899","1171621","1288272","1288274","1288276","1288279","1288281","1288282","1288286","1296659","1296878","1296880","1298474","1298475","1298477","1298478","1298479","1299121","1299124","1299125","1299528","1299824","1299825","1299826","1299829","1299831","1299832","1299834","1299835","1300857","1300859","1300860","1300861","1301086","1301088","1301089","1301090","1302734","1302735","1302737","1302738","1302939","1302941","1302942","1302943","1302944","1302945","1303463","1303465","1303824","1303825","1303826","1304622","1304624","1304626","1304628","1304629","1305120","1305121","1305711","1306190","1306402","1306404","1306405","1306699","1307014","1307015","1307019","1307021","1307022","1307299","1307302","1307481","1307483","1308117","1308120","1308407","1308790","1308791","1308955","1309217","1309868","1309869","1310010","1310011","1310013","1310017","1310019","1311115","1311116","1311118","1311119","1311120","1311122","1311123","1311124","1311125","1311128","1311129","1312872","1312873","1312876","1312877","1312879","1312880","1312881","1312883","1312884","1312885","1312886","1313264","1313265","1313267","1313269","1313607","1313608","1313614","1314109","1314110","1314467","1314471","1314472","1314473","1314474","1314475","1314476","1315076","1315597","1315600","1315602","1315603","1315766","1315767","1315768","1315769","1315770","1315771","1315773","1315774","1315775","1315776","1316027","1316028","1316031","1316032","1316033","1316037","1316039","1316040","1316041","1316043","1316044","1316045","1316046","1316690","1316693","1316695","1316696","1316697","1316698","1316699","1316700","1325130","1325134","1325139","1325140","1325141","1325144","1325148","1325149","1326440","1326441","1326443","1326446","1326447","1326448","1326450","1326452","1326453","1326454","1326455","1326456","1326641","1326642","1326644","1326645","1326646","1326653","1326655","1326656","1326657","1326658","1327425","1327427","1327429","1327432","1327433","1328137","1328138","1328140","1328141","1328143","1328145","1328147","1328148","1328151","1328152","1328153","1328155","1328156","1328485","1328700","1328702","1328705","1328706","1328707","1329482","1329483","1329487","1329488","1329489","1329492","1329493","1329496","1329498","1329500","1329501","1329503","1329504","1329505","1329508","1329509","1329510","1329511","1329512","1329515","1329516","1329518","1329519","1329520","1329521","1329522","1329523","1329524","1329525","1329528","1329530","1329531","1330811","1330813","1330814","1330815","1330816","1330818","1330824","1330826","1330827","1330828","1330831","1334029","1334030","1334031","1334033","1334034","1334035","1334036","1334038","1334040","1334041","1334043","1334044","1334047","1334048","1334050","1334053","1334054","1334057","1334058","1334063","1334067","1336227","1336228","1337062","1337064","1337065","1337066","1337073","1337635","1337636","1338311","1338312","1338314","1338316","1338317","1338318","1343261","1343266","1343267","1343268","1343269","1343270","1343271","1343273","1343274","1343277","1343281","1343282","1343283","1343284","1343285","1343287","1343288","1343290","1343294","1343295","1343298","1343299","1343303","1343304","1343305","1343308","1345824","1345825","1345826","1345830","1345832","1345833","1345835","1345839","1345840","1345841","1345842","1345843","1345844","1345847","1345848","1345850","1345852","1345855","1345857","1345858","1345860","1345861","1345862","1345863","1345864","1345865","1345866","1345868","1345869","1345870","1345871","1345873","1345874","1345875","1345877","1345881","1345882","1345883","1345884","1347216","1347218","1347222","1347223","1347225","1349526","1349528","1349529","1349530","1349533","1349534","1349536","1349538","1349540","1349541","1349542","1351208","1351211","1351213","1351214","1351216","1352246","1352249","1352253","1352254","1353304","1353307","1353308","1353311","1353312","1353318","1363782","1363783","1363787","1363788","1363790","1363791","1363792","1363795","1363799","1363801","1363802","1363805","1363806","1363808","1363809","1363811","1363812","1363813","1363814","1363815","1363816","1363817","1363818","1363819","1363826","1363828","1363829","1363830","1374826","1374828","1374829","1374831","1374835","1374836","1374839","1374841","1374842","1374844","1374847","1374848","1374851","1374853","1374855","1374857","1374858","1374861","1374862","1374863","1374864","1374865","1374866","1374867","1374869","1374871","1374875","1374876","1374879","1374880","1374881","1374882","1374884","1374885","1374886","1374887","1374889","1374891","1374892","1374893","1374895","1374898","1374899","1374901","1374902","1374903","1374904","1374905","1374906","1374912","1374913","1374915","1374916","1396717","1396719","1396720","1396721","1396723","1396724","1396727","1396728","1396729","1396730","1396731","1396732","1396735","1396737","1396743","1396745","1396747","1396748","1396749","1399986","1399991","1399995","1405034","1405036","1405038","1405039","1405042","1405043","1405045","1405046","1405048","1405049","1405050","1405054","1405055","1405056","1405061","1405062","1405063","1405064","1405065","1405066","1405067","1405068","1405070","1405074","1405075","1405078","1405080","1405081","1405082","1405083","1405084","1405085","1406818","1406820","1406822","1406823","1406825","1406828","1406829","1406830","1406832","1406838","1406839","1406840","1406841","1406842","1406843","1406844","1406845","1406846","1406847","1406849","1406852","1406856","1406859","1406860","1406861","1406862","1406863","1406865","1406866","1406867","1406868","1406869","1406870","1406871","1406872","1406873","1406874","1406875","1408454","1408455","1408457","1408458","1408460","1408461","1408463","1408464","1408465","1408467","1408468","1408471","1408476","1408477","1408478","1408479","1408480","1408481","1408482","1409769","1409770","1409775","1409780","1409783","1409785","1409786","1409787","1409788","1409789","1409792","1409793","1409795","1409796","1409797","1409798","1416228","1416229","1416236","1416237","1416239","1416241","1416243","1416245","1416247","1416248","1416249","1416251","1416252","1416255","1416256","1416257","1416258","1416259","1416260","1416261","1416262","1416263","1416265","1416266","1416268","1416269","1416271","1416272","1416273","1416276","1416277","1416278","1416280","1416281","1416282","1416284","1416288","1416289","1416290","1416291","1416292","1416294","1416296","1416297","1416299","1416300","1416302","1416305","1416306","1416307","1416310","1416311","1416312","1416313","1416315","1416316","1416317","1416318","1416323","1416325","1416327","1416328","1416329","1416334","1421345","1421346","1421352","1424607","1424608","1424609","1424610","1424615","1424617","1424619","1424620","1424621","1424622","1424624","1424625","1424626","1424627","1424629","1426071","1426073","1426076","1426079","1426080","1426081","1426083","1426085","1426088","1426089","1426090","1426095","1426098","1426100","1426102","1426104","1426105","1426106","1427498","1427501","1427502","1427503","1427504","1427505","1427507","1427508","1427511","1427513","1427514","1427515","1427516","1427517","1428741","1428742","1428743","1428744","1428746","1430261","1430262","1430264","1430265","1430268","1430271","1430274","1430275","1430278","1430279","1430280","1430281","1430283","1430284","1430285","1430286","1430287","1430291","1430292","1430293","1430296","1430297","1430299","1430300","1430302","1430303","1432479","1432485","1432486","1432491","1432492","1432494","1432495","1432496","1433449","1433451","1433452","1433453","1433454","1434374","1434376","1434378","1434379","1434382","1434383","1434384","1435151","1435154","1435839","1436563","1436566","1436567","1436570","1436571","1436572","1436573","1437365","1437366","1437368","1437371","1437372","1437373","1437374","1437377","1437379","1438073","1438074","1438075","1438081","1438083","1438084","1438085","1438086","1438087","1438089","1438092","1438093","1438094","1438095","1438096","1438097","1438100","1438799","1438802","1438803","1438804","1438805","1438810","1438811","1438812","1438813","1438816","1439456","1439457","1439459","1439462","1439466","1439467","1439468","1440045","1440047","1440051","1440053","1440054","1440056","1440057","1440059","1440594","1440595","1440598","1440600","1440602","1440604","1440607","1442593","1442594","1442597","1442603","1442604","1442605","1442606","1442609","1442614","1442618","1442619","1463688","1463695","1463699","1463700","1463702","1463703","1463706","1463707","1463710","1463711","1463713","1463714","1463719","1463720","1463721","1463723","1463725","1463726","1463727","1463728","1463729","1463730","1463731","1463732","1463734","1463736","1463739","1463741","1463742","1463743","1463744","1463745","1463746","1463747","1463750","1463751","1463754","1463755","1463757","1463758","1463759","1463760","1463761","1463765","1463769","1463772","1463773","1463774","1463775","1463776","1463777","1463778","1463779","1463780","1463781","1463782","1463784","1463785","1463787","1463788","1463790","1463793","1463794","1463795","1463796","1463798","1463799","1463800","1463801","1463802","1463803","1463807","1463809","1463810","1463811","1463813","1463815","1463817","1463818","1463819","1463820","1463823","1463824","1463825","1463826","1463827","1463830","1463833","1463835","1463836","1463837","1463838","1463840","1463844","1463845","1463847","1463851","1463852","1463854","1463855","1463858","1463860","1463863","1463865","1463866","1463869","1463874","1463875","1463878","1463879","1463883","1463884","1463885","1463888","1463889","1463890","1463891","1463892","1463893","1463896","1463899","1463903","1463906","1463909","1463910","1463913","1463916","1463917","1463919","1469577","1469580","1469581","1469582","1469583","1469587","1469590","1469594","1469595","1469596","1469597","1469598","1469599","1469601","1469602","1469603","1469604","1469607","1469608","1469611","1469612","1469613","1469614","1469616","1469617","1469620","1469621","1469622","1469624","1469629","1469631","1469633","1469636","1469638","1469639","1469640","1469641","1469644","1469646","1469647","1469649","1469650","1469651","1469652","1469655","1469657","1469658","1469660","1469661","1469662","1469663","1469665","1469666","1469668","1477322","1477323","1477324","1477325","1477332","1477337","1477339","1477340","1477342","1477346","1477348","1477349","1477353","1477354","1477355","1477357","1477358","1477360","1477361","1477362","1477363","1477364","1477367","1477368","1477370","1477372","1477374","1477375","1477376","1477377","1477378","1477379","1477380","1477381","1477382","1477383","1477385","1477386","1477389","1477390","1477391","1477392","1477395","1477397","1477398","1477401","1477402","1477404","1477405","1480128","1480130","1480131","1480134","1480137","1480142","1480143","1480146","1480147","1480149","1480154","1480156","1480157","1480159","1480161","1480162","1480163","1480164","1480165","1480166","1480169","1480171","1480175","1480177","1480181","1480182","1480184","1480185","1480186","1480187","1480188","1482330","1482332","1482334","1482335","1482337","1482338","1482340","1482341","1482343","1482344","1482348","1482349","1482351","1482353","1482354","1482355","1482357","1482358","1482359","1482360","1482364","1482365","1482367","1482368","1482369","1482371","1482372","1482373","1482377","1482378","1482379","1482380","1482383","1482384","1482386","1482387","1482389","1482390","1485775","1485776","1485777","1485778","1485780","1485782","1485784","1485785","1485786","1485788","1485789","1485791","1485792","1485793","1485795","1485796","1485800","1485802","1485804","1485805","1485806","1485807","1485808","1485809","1485812","1485813","1485814","1485815","1485816","1485817","1485818","1485819","1485820","1485821","1485824","1485826","1485828","1485830","1485831","1485832","1485834","1485836","1485840","1485842","1485843","1485846","1485847","1485848","1485849","1485851","1485856","1485857","1485860","1485863","1485864","1485866","1485868","1485869","1485870","1485872","1485875","1485876","1485877","1485879","1485880","1485881","1485882","1496254","1496256","1496260","1496262","1496263","1496264","1496269","1496271","1496272","1496273","1496274","1496275","1496277","1496279","1496280","1496281","1496284","1496285","1496286","1496289","1496291","1496292","1496294","1496296","1496297","1496298","1496299","1496300","1496302","1496304","1496305","1496310","1496311","1496313","1496314","1504651","1508623","1508629","1508630","1508633","1508634","1508635","1508641","1508642","1508644","1508645","1508646","1508648","1508649","1508652","1508653","1508654","1508655","1508658","1508660","1508661","1508662","1508663","1508666","1508668","1508669","1508671","1508674","1508676","1508678","1508680","1508682","1508685","1508686","1508687","1512579","1512580","1512582","1512583","1512586","1512587","1512590","1512594","1512597","1512598","1512599","1512600","1512601","1512602","1512604","1512606","1512607","1512608","1512609","1512610","1512613","1512616","1512617","1512618","1512621","1512622","1512623","1512624","1512625","1512627","1512628","1512629","1512630","1512632","1512636","1512637","1512638","1512640","1512642","1512643","1512644","1512645","1512646","1512648","1512650","1512651","1512652","1512653","1512655","1512656","1512658","1512659","1512660","1512664","1512665","1512666","1512667","1512668","1512669","1512670","1512672","1512673","1512674","1512675","1512676","1512679","1512680","1512682","1512683","1512686","1512687","1512688","1512690","1512691","1512692","1512695","1512696","1518146","1518148","1518149","1518150","1518152","1518154","1518163","1518164","1518165","1518166","1518171","1518174","1518175","1518177","1518179","1518180","1518184","1520564","1520565","1520567","1520570","1520574","1520576","1520577","1520583","1520585","1520588","1520589","1520593","1520594","1520596","1520598","1520599","1520600","1520602","1520604","1520605","1520607","1520609","1520610","1522295","1522296","1522299","1522302","1522303","1522305","1522306","1522308","1522310","1522311","1522316","1522318","1522319","1522320","1522322","1522324","1522325","1522326","1522327","1522328","1522329","1522332","1522333","1522334","1522335","1522337","1522338","1522339","1522340","1522341","1522343","1522346","1522347","1522348","1522349","1522350","1522351","1522353","1522356","1522360","1526342","1526344","1526347","1526349","1526353","1526354","1526356","1526358","1526362","1526364","1526365","1526373","1526374","1526376","1528527","1528528","1528531","1528532","1528533","1528534","1528537","1528538","1528540","1528541","1528542","1528543","1528545","1528546","1528548","1528550","1528552","1528553","1528554","1528555","1528556","1528557","1528559","1528560","1528561","1528564","1528565","1528566","1528568","1528571","1528572","1528573","1528574","1528576","1528577","1528578","1528579","1528581","1528582","1528583","1528584","1528588","1528589","1528590","1528591","1528593","1528594","1528597","1528599","1528600","1562757","1562767","1562768","1562770","1562771","1562772","1562774","1562775","1562776","1562778","1562781","1562782","1562784","1562785","1562788","1562790","1562791","1562795","1562797","1562799","1562802","1562812","1562813","1562814","1562821","1562822","1562826","1562827","1562828","1562830","1562831","1562832","1562833","1562834","1562836","1562841","1562842","1562843","1562847","1562849","1562850","1562852","1562854","1562856","1562858","1562861","1562862","1562864","1562865","1562867","1562868","1562869","1562870","1562872","1562873","1562874","1562877","1562879","1562887","1562889","1562890","1562893","1562895","1562897","1562898","1562899","1562901","1562903","1562904","1562906","1562907","1562908","1562909","1562910","1562912","1562913","1562914","1562916","1562918","1562921","1562922","1562923","1562925","1562926","1562927","1562928","1562931","1562932","1562933","1562936","1562937","1562941","1562943","1562946","1562948","1562950","1562952","1562953","1562954","1562956","1562957","1562958","1562960","1562962","1562963","1562964","1562966","1562967","1562968","1562969","1562970","1562972","1562973","1562975","1562976","1562978","1562979","1562982","1562983","1562984","1562985","1562986","1562989","1562990","1562991","1562992","1562994","1562995","1562996","1562997","1562998","1562999","1563002","1563003","1563004","1563005","1563006","1563014","1563016","1563020","1563025","1563027","1563029","1563031","1563032","1563035","1563036","1563037","1563038","1563040","1563041","1563047","1563052","1563053","1563054","1563055","1563057","1563058","1563060","1563061","1563063","1563064","1563065","1563066","1563069","1563070","1563071","1563073","1563075","1563076","1563077","1563078","1563079","1563080","1563082","1563084","1563085","1563087","1563088","1563089","1563090","1563092","1563094","1563096","1563099","1563100","1563101","1563102","1563103","1563104","1563105","1563107","1563108","1563110","1563111","1563112","1563113","1563116","1563117","1563119","1563124","1563125","1563126","1563127","1563129","1563132","1563133","1563135","1563136","1563137","1563143","1563145","1563149","1563150","1563153","1563154","1563156","1563158","1563159","1563160","1563161","1563166","1563168","1563170","1563174","1563176","1563177","1563181","1563182","1563183","1563185","1563187","1563189","1563194","1563196","1563198","1563199","1563200","1563202","1563205","1563206","1563207","1563208","1563210","1563211","1563214","1563216","1563219","1598927","1598930","1598931","1598935","1598936","1598937","1598941","1598942","1598944","1598949","1598950","1598951","1598952","1598955","1598956","1598957","1598959","1598962","1598964","1598965","1598966","1598969","1598970","1598973","1598975","1598976","1598977","1598981","1598985","1598989","1598996","1598999","1599000","1599005","1599009","1599011","1599012","1616136","1616138","1616139","1616140","1616144","1616147","1616149","1616150","1616152","1616153","1617768","1617773","1617775","1617776","1617777","1617783","1617784","1617785","1617786","1617788","1619668","1619670","1619673","1619674","1619677","1619678","1619679","1619682","1619684","1619687","1619688","1619689","1619690","1619692","1619693","1619695","1619696","1619697","1619698","1619701","1619703","1619705","1619708","1619710","1619712","1619714","1619715","1619717","1619718","1619719","1619720","1619721","1619722","1619723","1619724","1619725","1619726","1619728","1622537","1622541","1622542","1622543","1624057","1624058","1624059","1624061","1624063","1624067","1624068","1624069","1624074","1624083","1626339","1626341","1626342","1626343","1626344","1626345","1626348","1626350","1626351","1626352","1626353","1626355","1626357","1626358","1626359","1626360","1626363","1626365","1626366","1626369","1626370","1626371","1626372","1626373","1626374","1626376","1626377","1626380","1626381","1634449","1634455","1634458","1634462","1634464","1634465","1634466","1634468","1634469","1634470","1634473","1634474","1634476","1634482","1634483","1634485","1634486","1634488","1634489","1634490","1634493","1634494","1634495","1634496","1634499","1634502","1634503","1634504","1634508","1634509","1634511","1634512","1634513","1634515","1634519","1634522","1634523","1634527","1634528","1634529","1634530","1634532","1634533","1634539","1634542","2100285","2107440"));
}
public static final String DB_DRIVER = "com.mysql.cj.jdbc.Driver";
// public static final String DB_URL = "jdbc:mysql://zhengzai.mysql.polardb.rds.aliyuncs.com:3306/";
public static final String DB_URL = "jdbc:mysql://pc-2ze6z2hxkug559q79.mysql.polardb.rds.aliyuncs.com:3306/";
public static final String DB_USER = "readonly";
public static final String DB_PWD = "ZWDsf8Fy";
public static final String DB_NAME_PASSPORT = "passport";
public static final String DB_NAME_MALL = "mall";
// public static final String DB_URL = "jdbc:mysql://39.106.122.201:3308/";
// public static final String DB_USER = "testmall";
// public static final String DB_PWD = "zhengzai!mYT";
// public static final String DB_NAME_PASSPORT = "devpassport";
@Autowired
public MongoTemplate mongoTemplate;
@Autowired
public AdamRdmService adamRdmService;
@Autowired
public AdamUserMapper userMapper;
protected abstract void dataProcessing(Integer dg, Integer lS, String incrDt, String flg, String flu);
}
......@@ -45,7 +45,7 @@ import java.util.stream.IntStream;
*/
@Slf4j
@Service
public class AdamAddressesServiceImpl extends ServiceImpl<AdamAddressesMapper, AdamAddresses> implements IAdamAddressesService {
public class AdamAddressesServiceImpl implements IAdamAddressesService {
@Autowired
MongoTemplate mongoTemplate;
@Autowired
......@@ -145,13 +145,14 @@ public class AdamAddressesServiceImpl extends ServiceImpl<AdamAddressesMapper, A
@Override
// @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void edit(AdamAddressesParam parameter) {
String currentUid = CurrentUtil.getCurrentUid();
LocalDateTime now = LocalDateTime.now();
AdamAddressesVo updateVo = AdamAddressesVo.getNew();
BeanUtils.copyProperties(parameter, updateVo);
long s = System.currentTimeMillis();
Document doc = mongoTemplate.getCollection(AdamAddressesVo.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("addressesId").is(parameter.getAddressesId())).getQueryObject(),
Query.query(Criteria.where("uid").is(currentUid).and("addressesId").is(parameter.getAddressesId())).getQueryObject(),
new Document("$set", Document.parse(JsonUtils.toJson(updateVo)).append("updatedAt", now)),
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
);
......@@ -159,7 +160,6 @@ public class AdamAddressesServiceImpl extends ServiceImpl<AdamAddressesMapper, A
if (null != doc) {
updateVo = BsonUtil.toBean(doc, AdamAddressesVo.class);
String currentUid = CurrentUtil.getCurrentUid();
List<AdamAddressesVo> vos = adamRdmService.getAddressesVoByUid(currentUid);
s = System.currentTimeMillis();
adamRdmService.setAddressesVoByUid(updateVo.getUid(), this.collectionProcess(vos, parameter.getAddressesId(), updateVo));
......@@ -178,6 +178,7 @@ public class AdamAddressesServiceImpl extends ServiceImpl<AdamAddressesMapper, A
@Override
// @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void remove(String uid, String addressesId) {
String currentUid = CurrentUtil.getCurrentUid();
LocalDateTime now = LocalDateTime.now();
// AdamAddressesVo removeVo = AdamAddressesVo.getNew();
......@@ -188,7 +189,7 @@ public class AdamAddressesServiceImpl extends ServiceImpl<AdamAddressesMapper, A
long s = System.currentTimeMillis();
DeleteResult deleteResult = mongoTemplate.remove(
Query.query(Criteria.where("addressesId").is(addressesId)), AdamAddressesVo.class.getSimpleName()
Query.query(Criteria.where("uid").is(currentUid).and("addressesId").is(addressesId)), AdamAddressesVo.class.getSimpleName()
);
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
List<AdamAddressesVo> vos = adamRdmService.getAddressesVoByUid(uid);
......
package com.liquidnet.service.adam.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageInfo;
import com.liquidnet.common.mq.constant.MQConst;
import com.liquidnet.service.adam.dto.vo.AdamCollectBaseVo;
import com.liquidnet.service.adam.dto.vo.AdamCollectInfoVo;
import com.liquidnet.service.adam.dto.vo.AdamCollectVo;
import com.liquidnet.service.adam.entity.AdamCollection;
import com.liquidnet.service.adam.mapper.AdamCollectionMapper;
import com.liquidnet.service.adam.service.AdamRdmService;
import com.liquidnet.service.adam.service.IAdamCollectionService;
import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.feign.kylin.api.FeignKylinPerformanceClient;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import com.mongodb.client.result.DeleteResult;
import lombok.extern.slf4j.Slf4j;
......@@ -40,7 +36,7 @@ import java.util.List;
*/
@Slf4j
@Service
public class AdamCollectionServiceImpl extends ServiceImpl<AdamCollectionMapper, AdamCollection> implements IAdamCollectionService {
public class AdamCollectionServiceImpl implements IAdamCollectionService {
@Autowired
MongoTemplate mongoTemplate;
@Autowired
......@@ -48,10 +44,6 @@ public class AdamCollectionServiceImpl extends ServiceImpl<AdamCollectionMapper,
@Autowired
AdamRdmService adamRdmService;
/* ---------------- 外部服务API ---------------- */
@Autowired
FeignKylinPerformanceClient feignKylinPerformanceClient;
@Override
public void add(AdamCollectBaseVo vo) {
LocalDateTime now = LocalDateTime.now();
......
......@@ -39,7 +39,7 @@ import java.util.List;
*/
@Slf4j
@Service
public class AdamDisposedServiceImpl extends ServiceImpl<AdamDisposedMapper, AdamDisposed> implements IAdamDisposedService {
public class AdamDisposedServiceImpl implements IAdamDisposedService {
@Autowired
MongoTemplate mongoTemplate;
@Autowired
......
package com.liquidnet.service.adam.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.common.exception.LiquidnetServiceException;
import com.liquidnet.common.mq.constant.MQConst;
import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.adam.dto.AdamEntersParam;
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.adam.service.IAdamEntersService;
import com.liquidnet.service.adam.service.AdamRdmService;
import com.liquidnet.service.adam.service.IAdamEntersService;
import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.SqlMapping;
import com.mongodb.client.model.FindOneAndUpdateOptions;
......@@ -45,7 +42,7 @@ import java.util.stream.IntStream;
*/
@Slf4j
@Service
public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnters> implements IAdamEntersService {
public class AdamEntersServiceImpl implements IAdamEntersService {
@Autowired
Environment env;
@Autowired
......@@ -166,9 +163,8 @@ public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnt
@Override
// @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void edit(AdamEntersParam parameter) {
LocalDateTime now = LocalDateTime.now();
String currentUid = CurrentUtil.getCurrentUid();
LocalDateTime now = LocalDateTime.now();
if (1 == parameter.getType()) {
if (!adamRdmService.isCertification(1, parameter.getIdCard(), parameter.getName())) {
......@@ -176,12 +172,11 @@ public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnt
}
}
AdamEntersVo updateVo = AdamEntersVo.getNew();
BeanUtils.copyProperties(parameter, updateVo);
long s = System.currentTimeMillis();
Document doc = mongoTemplate.getCollection(AdamEntersVo.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("entersId").is(parameter.getEntersId())).getQueryObject(),
Query.query(Criteria.where("uid").is(currentUid).and("entersId").is(parameter.getEntersId())).getQueryObject(),
new Document("$set", Document.parse(JsonUtils.toJson(updateVo)).append("updatedAt", now)),
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
);
......@@ -210,10 +205,11 @@ public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnt
@Override
// @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void remove(String uid, String entersId) {
String currentUid = CurrentUtil.getCurrentUid();
LocalDateTime now = LocalDateTime.now();
long s = System.currentTimeMillis();
DeleteResult deleteResult = mongoTemplate.remove(
Query.query(Criteria.where("entersId").is(entersId)), AdamEntersVo.class.getSimpleName()
Query.query(Criteria.where("uid").is(currentUid).and("entersId").is(entersId)), AdamEntersVo.class.getSimpleName()
);
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
List<AdamEntersVo> vos = adamRdmService.getEntersVoByUid(uid);
......
package com.liquidnet.service.adam.service.impl;
import com.liquidnet.service.adam.entity.AdamMemberCode;
import com.liquidnet.service.adam.mapper.AdamMemberCodeMapper;
import com.liquidnet.service.adam.service.IAdamMemberCodeService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 服务实现类
* </p>
*
* @author liquidnet
* @since 2021-06-23
*/
@Service
public class AdamMemberCodeServiceImpl extends ServiceImpl<AdamMemberCodeMapper, AdamMemberCode> implements IAdamMemberCodeService {
}
package com.liquidnet.service.adam.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageInfo;
import com.liquidnet.common.mq.constant.MQConst;
import com.liquidnet.commons.lang.util.*;
......@@ -9,8 +8,6 @@ import com.liquidnet.service.adam.dto.AdamMemberOrderCodeParam;
import com.liquidnet.service.adam.dto.AdamMemberOrderParam;
import com.liquidnet.service.adam.dto.AdamMemberOrderResult;
import com.liquidnet.service.adam.dto.vo.*;
import com.liquidnet.service.adam.entity.AdamMemberOrder;
import com.liquidnet.service.adam.mapper.AdamMemberOrderMapper;
import com.liquidnet.service.adam.service.AdamRdmService;
import com.liquidnet.service.adam.service.IAdamMemberOrderService;
import com.liquidnet.service.adam.service.IAdamUserMemberService;
......@@ -41,7 +38,7 @@ import java.util.Map;
@Slf4j
@Service
public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMapper, AdamMemberOrder> implements IAdamMemberOrderService {
public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
@Autowired
Environment env;
@Autowired
......
package com.liquidnet.service.adam.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.service.adam.constant.AdamRedisConst;
import com.liquidnet.service.adam.dto.vo.AdamMemberPriceVo;
import com.liquidnet.service.adam.dto.vo.AdamMemberVo;
import com.liquidnet.service.adam.entity.AdamMember;
import com.liquidnet.service.adam.mapper.AdamMemberMapper;
import com.liquidnet.service.adam.mapper.AdamMemberPriceMapper;
import com.liquidnet.service.adam.service.IAdamMemberService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.convert.MongoConverter;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.List;
@Slf4j
@Service
public class AdamMemberServiceImpl extends ServiceImpl<AdamMemberMapper, AdamMember> implements IAdamMemberService {
@Autowired
AdamMemberMapper adamMemberMapper;
@Autowired
AdamMemberPriceMapper adamMemberPriceMapper;
@Autowired
MongoTemplate mongoTemplate;
@Autowired
MongoConverter mongoConverter;
@Autowired
RabbitTemplate rabbitTemplate;
@Autowired
RedisUtil redisUtil;
// @Override
// public AdamMemberVo queryMemberInfo() {
// AdamMemberVo info = null;
// List<AdamMemberVo> adamMemberVoList = mongoTemplate.findAll(AdamMemberVo.class);
// int tag = 0;
// if (adamMemberVoList.size() > 0) {
// info = adamMemberVoList.get(0);
// } else {
// AdamMember firstMember = adamMemberMapper.getFirstMember();
// if (null == firstMember) {
// return null;
// }
// info = new AdamMemberVo();
// BeanUtils.copyProperties(firstMember, info);
// tag = 1;
// }
// String memberId = info.getMemberId();
// List<AdamMemberPriceVo> memberPrice = new ArrayList<>();
//
// LinkedHashSet<String> hkeys = (LinkedHashSet<String>) redisUtil.hkeys(AdamRedisConst.INFO_MEMBERS_PRICE_INFO.concat(memberId));
// Iterator<String> priceIterator = hkeys.iterator();
// while(priceIterator.hasNext()){
// String key = priceIterator.next();
// AdamMemberPriceVo tempMemberPrice = (AdamMemberPriceVo) redisUtil.hget(AdamRedisConst.INFO_MEMBERS_PRICE_INFO.concat(memberId), key);
// memberPrice.add(tempMemberPrice);
// }
//
// info.setPriceVoList(memberPrice);
// if (1 == tag) {
// mongoTemplate.insert(info, AdamMemberVo.class.getSimpleName());
// }
// return info;
// }
// @Override
// public AdamMemberSimpleVo queryMemberSimpleVo() {
// AdamMemberSimpleVo simpleVo = (AdamMemberSimpleVo) redisUtil.get(AdamRedisConst.INFO_MEMBERS);
// if (null == simpleVo) {
// List<AdamMemberSimpleVo> simpleVoList = mongoTemplate.findAll(AdamMemberSimpleVo.class, AdamMemberVo.class.getSimpleName());
//
// simpleVo = CollectionUtils.isEmpty(simpleVoList) ? null : simpleVoList.get(0);
//
// if (null != simpleVo) {
// redisUtil.set(AdamRedisConst.INFO_MEMBERS, simpleVo);
// }
// }
// return simpleVo;
// }
}
package com.liquidnet.service.adam.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.common.mq.constant.MQConst;
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.adam.service.IAdamRealNameService;
import com.liquidnet.service.base.SqlMapping;
import lombok.extern.slf4j.Slf4j;
......@@ -13,8 +11,6 @@ import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
......@@ -29,7 +25,7 @@ import java.util.List;
*/
@Slf4j
@Service
public class AdamRealNameServiceImpl extends ServiceImpl<AdamRealNameMapper, AdamRealName> implements IAdamRealNameService {
public class AdamRealNameServiceImpl implements IAdamRealNameService {
@Autowired
MongoTemplate mongoTemplate;
@Autowired
......
package com.liquidnet.service.adam.service.impl;
import com.liquidnet.service.adam.entity.AdamThirdParty;
import com.liquidnet.service.adam.mapper.AdamThirdPartyMapper;
import com.liquidnet.service.adam.service.IAdamThirdPartyService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 用户第三方账号信息 服务实现类
* </p>
*
* @author liquidnet
* @since 2021-06-23
*/
@Service
public class AdamThirdPartyServiceImpl extends ServiceImpl<AdamThirdPartyMapper, AdamThirdParty> implements IAdamThirdPartyService {
}
......@@ -41,7 +41,7 @@ import java.util.Map;
*/
@Slf4j
@Service
public class AdamUserInfoServiceImpl extends ServiceImpl<AdamUserInfoMapper, AdamUserInfo> implements IAdamUserInfoService {
public class AdamUserInfoServiceImpl implements IAdamUserInfoService {
@Autowired
MongoTemplate mongoTemplate;
@Autowired
......
package com.liquidnet.service.adam.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.common.cache.redisson.util.RedisLockUtil;
import com.liquidnet.service.adam.dto.vo.AdamMemberVo;
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.adam.service.AdamRdmService;
import com.liquidnet.service.adam.service.IAdamUserMemberService;
import lombok.extern.slf4j.Slf4j;
......@@ -22,7 +19,7 @@ import static com.liquidnet.service.adam.constant.AdamRedisConst.LOCK_KEY_UMEMBE
@Slf4j
@Service
public class AdamUserMemberServiceImpl extends ServiceImpl<AdamUserMemberMapper, AdamUserMember> implements IAdamUserMemberService {
public class AdamUserMemberServiceImpl implements IAdamUserMemberService {
@Autowired
MongoTemplate mongoTemplate;
@Autowired
......
......@@ -58,7 +58,7 @@ import static com.liquidnet.service.adam.constant.AdamRedisConst.LOCK_KEY_UREGIS
*/
@Slf4j
@Service
public class AdamUserServiceImpl extends ServiceImpl<AdamUserMapper, AdamUser> implements IAdamUserService {
public class AdamUserServiceImpl implements IAdamUserService {
@Autowired
Environment env;
@Autowired
......@@ -340,7 +340,7 @@ public class AdamUserServiceImpl extends ServiceImpl<AdamUserMapper, AdamUser> i
/* ---------------------- 收货地址信息 */
s = System.currentTimeMillis();
deleteResult = mongoTemplate.remove(Query.query(Criteria.where("uid").is(uid).and("state").is(1)), AdamAddressesVo.class.getSimpleName());
deleteResult = mongoTemplate.remove(Query.query(Criteria.where("uid").is(uid)), AdamAddressesVo.class.getSimpleName());
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
if (deleteResult.getDeletedCount() > 0) {
toMqSqls.add(SqlMapping.get("adam_addresses.close"));
......
package com.liquidnet.service.adam.service.processor;
import com.liquidnet.service.adam.dto.vo.AdamAddressesVo;
import com.liquidnet.service.adam.entity.AdamAddresses;
import com.liquidnet.service.adam.service.DataMigrationProcessorService;
import com.liquidnet.service.adam.service.IAdamAddressesService;
import com.mysql.cj.jdbc.result.ResultSetImpl;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
@Slf4j
@Service
public class DMAddressesProcessor extends DataMigrationProcessorService {
@Autowired
IAdamAddressesService adamAddressesService;
@SneakyThrows
@Override
public void dataProcessing(Integer dg, Integer dG, String incrDt, String flg, String flu) {
if (StringUtils.isNotEmpty(flu)) {
log.info("DM.flush.addresses:{}", userMapper.executeForDM("adam_addresses"));
log.info("DM.flush.AdamAddressesVo:{}", mongoTemplate.remove(Query.query(Criteria.where("_id").exists(true)), AdamAddressesVo.class.getSimpleName()).getDeletedCount());
}
String sqlCount = "select count(1) from addresses where created_at" + (StringUtils.isBlank(incrDt) ? "<" : ">=") + "curdate()";
if (null != dg) {
sqlCount = sqlCount + " and id%" + dG + "=" + dg;
}
String field = "id,user_id,user_name,user_phone,province,city,county,user_address,defaultDelivery,created_at";
// 1-id,2-user_id,3-user_name,4-user_phone,5-province,6-city,7-county,8-user_address,9-defaultDelivery,10-created_at
String sql = sqlCount.replace("count(1)", field);
boolean smFlg = "1".equals(flg);
if (smFlg) {
sqlCount += " and user_id in ('2026628','544327','1997335','773650','809406','1167451','423063','677171')";
sql += " and user_id in ('2026628','544327','1997335','773650','809406','1167451','423063','677171')";
}
sql += " order by id limit ?,?";
Connection connection = null;
PreparedStatement statement = null;
ResultSetImpl row = null;
try {
Class.forName(DB_DRIVER);
connection = DriverManager.getConnection(DB_URL + DB_NAME_MALL, DB_USER, DB_PWD);
statement = connection.prepareStatement(sqlCount);
row = (ResultSetImpl) statement.executeQuery();
row.first();
int ct = row.getInt(1), pSize = 1000, num = 0, tl = 0, pl = ct;
log.info("DM.execute.counts:{}/{},{} ~ {} ----------------------------> start.sql:{}", pl, num, pSize, tl, sql);
row.close();
statement.close();
while (ct > 0) {
statement = connection.prepareStatement(sql);
int ls = pSize * num;
statement.setInt(1, ls);
statement.setInt(2, pSize);
row = (ResultSetImpl) statement.executeQuery();
log.info("DM.execute.limit {},{} - begin", ls, pSize);
List<AdamAddresses> addressesList = new ArrayList<>();
List<AdamAddressesVo> vos = new ArrayList<>();
while (row.next()) {
String uid = row.getString(2);
if (!reUidList.contains(uid)) {
AdamAddresses addresses = new AdamAddresses();
addresses.setAddressesId(row.getString(1));
addresses.setUid(uid);
addresses.setName(row.getString(3));
addresses.setPhone(row.getString(4));
addresses.setProvince(row.getString(5));
addresses.setCity(row.getString(6));
addresses.setCounty(row.getString(7));
addresses.setAddress(row.getString(8));
addresses.setIsDefault(row.getBoolean(9));
addresses.setState(1);
addresses.setCreatedAt(row.getLocalDateTime(10));
AdamAddressesVo vo = AdamAddressesVo.getNew().copy(addresses);
addressesList.add(addresses);
vos.add(vo);
}
if (addressesList.size() == 500 || (addressesList.size() > 0 && smFlg)) {
tl += addressesList.size();
mongoTemplate.insert(vos, AdamAddressesVo.class.getSimpleName());
log.info("DM.execute.limit.result:{}", adamAddressesService.saveBatch(addressesList));
vos.clear();
addressesList.clear();
}
}
row.close();
statement.close();
num++;
ct -= pSize;
log.info("DM.execute.limit {},{} - handle.counts:{}", ls, pSize, tl);
}
log.info("DM.execute.counts:{}/{},{} ~ {} ----------------------------> end", pl, num, pSize, tl);
} catch (Exception e) {
log.error("ex:getConnection,dG/dg:{}/{},msg:{}", dG, dg, e.getMessage());
}
try {
if (null != row) row.close();
} catch (SQLException ignored) {
}
try {
if (null != statement) statement.close();
} catch (SQLException ignored) {
}
try {
if (null != connection) connection.close();
} catch (SQLException ignored) {
}
}
}
package com.liquidnet.service.adam.service.processor;
import com.liquidnet.service.adam.dto.vo.AdamCollectBaseVo;
import com.liquidnet.service.adam.entity.AdamCollection;
import com.liquidnet.service.adam.service.DataMigrationProcessorService;
import com.liquidnet.service.adam.service.IAdamCollectionService;
import com.mysql.cj.jdbc.result.ResultSetImpl;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
@Slf4j
@Service
public class DMCollectionProcessor extends DataMigrationProcessorService {
@Autowired
IAdamCollectionService adamCollectionService;
@SneakyThrows
@Override
public void dataProcessing(Integer dg, Integer dG, String incrDt, String flg, String flu) {
if (StringUtils.isNotEmpty(flu)) {
log.info("DM.flush.collection:{}", userMapper.executeForDM("adam_collection"));
log.info("DM.flush.AdamCollectVo:{}", mongoTemplate.remove(Query.query(Criteria.where("_id").exists(true)), AdamCollectBaseVo.class.getSimpleName()).getDeletedCount());
}
String sqlCount = "select count(1) from user_collections where type='TICKET' and status=1 and content_id>=5722 and created_at" + (StringUtils.isBlank(incrDt) ? "<" : ">=") + "curdate()";
if (null != dg) {
sqlCount = sqlCount + " and id%" + dG + "=" + dg;
}
String field = "uid,content_id,`type`,`status`,created_at,updated_at";
// 1-uid,2-content_id,3-`type`,4-`status`,5-created_at,6-updated_at
String sql = sqlCount.replace("count(1)", field);
boolean smFlg = "1".equals(flg);
if (smFlg) {
sqlCount += " and uid in ('2026628','544327','1997335','773650','809406','1167451','423063','677171')";
sql += " and uid in ('2026628','544327','1997335','773650','809406','1167451','423063','677171')";
}
sql += " order by id limit ?,?";
Connection connection = null;
PreparedStatement statement = null;
ResultSetImpl row = null;
try {
Class.forName(DB_DRIVER);
connection = DriverManager.getConnection(DB_URL + DB_NAME_PASSPORT, DB_USER, DB_PWD);
statement = connection.prepareStatement(sqlCount);
row = (ResultSetImpl) statement.executeQuery();
row.first();
int ct = row.getInt(1), pSize = 1000, num = 0, tl = 0, pl = ct;
log.info("DM.execute.counts:{}/{},{} ~ {} ----------------------------> start.sql:{}", pl, num, pSize, tl, sql);
row.close();
statement.close();
while (ct > 0) {
statement = connection.prepareStatement(sql);
int ls = pSize * num;
statement.setInt(1, ls);
statement.setInt(2, pSize);
row = (ResultSetImpl) statement.executeQuery();
log.info("DM.execute.limit {},{} - begin", ls, pSize);
List<AdamCollection> collectionList = new ArrayList<>();
List<AdamCollectBaseVo> vos = new ArrayList<>();
while (row.next()) {
String uid = row.getString(1);
if (!reUidList.contains(uid)) {
AdamCollection collection = new AdamCollection();
collection.setUid(uid);
collection.setContentId(row.getString(2));
collection.setType(row.getString(3));
collection.setState(row.getInt(4));
collection.setCreatedAt(row.getLocalDateTime(5));
collection.setUpdatedAt(row.getLocalDateTime(6));
collectionList.add(collection);
vos.add(AdamCollectBaseVo.getNew().copy(collection));
}
if (collectionList.size() == 500 || (collectionList.size() > 0 && smFlg)) {
tl += collectionList.size();
mongoTemplate.insert(vos, AdamCollectBaseVo.class.getSimpleName());
log.info("DM.execute.limit.result:{}", adamCollectionService.saveBatch(collectionList));
vos.clear();
collectionList.clear();
}
}
row.close();
statement.close();
num++;
ct -= pSize;
log.info("DM.execute.limit {},{} - handle.counts:{}", ls, pSize, tl);
}
log.info("DM.execute.counts:{}/{},{} ~ {} ----------------------------> end", pl, num, pSize, tl);
} catch (Exception e) {
log.error("ex:getConnection,dG/dg:{}/{},msg:{}", dG, dg, e.getMessage());
}
try {
if (null != row) row.close();
} catch (SQLException ignored) {
}
try {
if (null != statement) statement.close();
} catch (SQLException ignored) {
}
try {
if (null != connection) connection.close();
} catch (SQLException ignored) {
}
}
}
package com.liquidnet.service.adam.service.processor;
import com.liquidnet.service.adam.dto.vo.AdamEntersVo;
import com.liquidnet.service.adam.entity.AdamEnters;
import com.liquidnet.service.adam.service.DataMigrationProcessorService;
import com.liquidnet.service.adam.service.IAdamEntersService;
import com.mysql.cj.jdbc.result.ResultSetImpl;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
@Slf4j
@Service
public class DMEntersProcessor extends DataMigrationProcessorService {
@Autowired
IAdamEntersService adamEntersService;
@SneakyThrows
@Override
public void dataProcessing(Integer dg, Integer dG, String incrDt, String flg, String flu) {
if (StringUtils.isNotEmpty(flu)) {
log.info("DM.flush.enters:{}", userMapper.executeForDM("adam_enters"));
log.info("DM.flush.AdamEntersVo:{}", mongoTemplate.remove(Query.query(Criteria.where("_id").exists(true)), AdamEntersVo.class.getSimpleName()).getDeletedCount());
}
String sqlCount = "select count(1) from enters where (type <> 1 or (type = 1 and is_certification = 'yes')) and created_at" + (StringUtils.isBlank(incrDt) ? "<" : ">=") + "curdate()";
if (null != dg) {
sqlCount = sqlCount + " and id%" + dG + "=" + dg;
}
String field = "id,user_id,type,`name`,mobile,idcode,if(is_default='no', 0, 1),created_at";
// 1-id,2-user_id,3-type,4-`name`,5-mobile,6-idcode,7-if(is_default='no', 0, 1),8-created_at
String sql = sqlCount.replace("count(1)", field);
boolean smFlg = "1".equals(flg);
if (smFlg) {
sqlCount += " and user_id in ('2026628','544327','1997335','773650','809406','1167451','423063','677171')";
sql += " and user_id in ('2026628','544327','1997335','773650','809406','1167451','423063','677171')";
}
sql += " order by id limit ?,?";
Connection connection = null;
PreparedStatement statement = null;
ResultSetImpl row = null;
try {
Class.forName(DB_DRIVER);
connection = DriverManager.getConnection(DB_URL + DB_NAME_MALL, DB_USER, DB_PWD);
statement = connection.prepareStatement(sqlCount);
row = (ResultSetImpl) statement.executeQuery();
row.first();
int ct = row.getInt(1), pSize = 1000, num = 0, tl = 0, pl = ct;
log.info("DM.execute.counts:{}/{},{} ~ {} ----------------------------> start.sql:{}", pl, num, pSize, tl, sql);
row.close();
statement.close();
while (ct > 0) {
statement = connection.prepareStatement(sql);
int ls = pSize * num;
statement.setInt(1, ls);
statement.setInt(2, pSize);
row = (ResultSetImpl) statement.executeQuery();
log.info("DM.execute.limit {},{} - begin", ls, pSize);
List<AdamEnters> entersList = new ArrayList<>();
List<AdamEntersVo> vos = new ArrayList<>();
while (row.next()) {
String uid = row.getString(2);
if (!reUidList.contains(uid)) {
AdamEnters enters = new AdamEnters();
enters.setEntersId(row.getString(1));
enters.setUid(uid);
enters.setType(row.getInt(3));
enters.setName(row.getString(4));
enters.setMobile(row.getString(5));
enters.setIdCard(row.getString(6));
enters.setIsDefault(row.getBoolean(7));
enters.setState(1);
enters.setCreatedAt(row.getLocalDateTime(8));
AdamEntersVo vo = AdamEntersVo.getNew().copy(enters);
entersList.add(enters);
vos.add(vo);
if (enters.getType() == 1) {
adamRdmService.setCertification(1, enters.getIdCard(), enters.getName());
}
}
if (entersList.size() == 500 || (entersList.size() > 0 && smFlg)) {
tl += entersList.size();
mongoTemplate.insert(vos, AdamEntersVo.class.getSimpleName());
log.info("DM.execute.limit.result:{}", adamEntersService.saveBatch(entersList));
vos.clear();
entersList.clear();
}
}
row.close();
statement.close();
num++;
ct -= pSize;
log.info("DM.execute.limit {},{} - handle.counts:{}", ls, pSize, tl);
}
log.info("DM.execute.counts:{}/{},{} ~ {} ----------------------------> end", pl, num, pSize, tl);
} catch (Exception e) {
log.error("ex:getConnection,dG/dg:{}/{},msg:{}", dG, dg, e.getMessage());
}
try {
if (null != row) row.close();
} catch (SQLException ignored) {
}
try {
if (null != statement) statement.close();
} catch (SQLException ignored) {
}
try {
if (null != connection) connection.close();
} catch (SQLException ignored) {
}
}
}
package com.liquidnet.service.adam.service.processor;
import com.liquidnet.service.adam.dto.vo.AdamMemberCodeVo;
import com.liquidnet.service.adam.entity.AdamMemberCode;
import com.liquidnet.service.adam.service.DataMigrationProcessorService;
import com.liquidnet.service.adam.service.IAdamMemberCodeService;
import com.mysql.cj.jdbc.result.ResultSetImpl;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Slf4j
@Service
public class DMMemberCodeProcessor extends DataMigrationProcessorService {
@Autowired
IAdamMemberCodeService adamMemberCodeService;
private static Map<String, String> mMap = new HashMap<>();
static {
mMap.put("78", "2159902978359319814V");
mMap.put("93", "2159903004882502855V");
mMap.put("128", "2159903083063113534V");
mMap.put("171", "2159903164279244032V");
mMap.put("177", "2159903178213564580V");
mMap.put("201", "2159903231304794843V");
mMap.put("224", "2159903286921267622V");
mMap.put("278", "2159903315535368620V");
mMap.put("308", "2159903325648681321V");
mMap.put("371", "2159903353285533024V");
mMap.put("406", "2159903365042471904V");
mMap.put("448", "2159903380066742978V");
mMap.put("470", "2159903389019474764V");
mMap.put("514", "2159903402623760508V");
mMap.put("564", "2159903420100480044V");
mMap.put("566", "2159903420815652272V");
mMap.put("572", "2159903425097220662V");
mMap.put("584", "2159903431725878110V");
mMap.put("621", "2159903445678115851V");
mMap.put("625", "2159903448130804563V");
mMap.put("629", "2159903449512021348V");
mMap.put("634", "2159903451797722527V");
mMap.put("641", "2159903456947872759V");
mMap.put("649", "2159903462764769342V");
mMap.put("663", "2159903470899755168V");
mMap.put("670", "2159903474711853726V");
mMap.put("671", "2159903474789135882V");
mMap.put("692", "2159903489229795967V");
mMap.put("694", "2159903491297244057V");
mMap.put("724", "2159903503090588386V");
mMap.put("744", "2159903517757370778V");
mMap.put("753", "2159903521221866688V");
mMap.put("767", "2159903529347024019V");
mMap.put("812", "2159903555573538568V");
mMap.put("821", "2159903560265023540V");
mMap.put("831", "2159903566740588324V");
mMap.put("847", "2159903574058019392V");
mMap.put("880", "2159903599623697117V");
mMap.put("884", "2159903605349638303V");
mMap.put("893", "2159903612326372870V");
mMap.put("897", "2159903630571607844V");
mMap.put("899", "2159903631906318964V");
mMap.put("915", "2159903663070164126V");
mMap.put("925", "2159903708638226752V");
mMap.put("926", "2159903709187446675V");
mMap.put("929", "2159903725057215138V");
mMap.put("932", "2159903733267427426V");
mMap.put("934", "2159903746991129377V");
mMap.put("945", "2159903899372919752V");
mMap.put("946", "2159903944921229059V");
mMap.put("947", "2159903973383580976V");
mMap.put("948", "2159904743264389337V");
mMap.put("949", "2159904881753208429V");
mMap.put("950", "2159905009806735836V");
mMap.put("951", "2159905284996580808V");
mMap.put("952", "2159905286677634113V");
mMap.put("953", "2159905455234006614V");
mMap.put("954", "2159905499349116774V");
mMap.put("955", "2159905536256825603V");
mMap.put("956", "2159906003655765269V");
mMap.put("957", "2159909717834813970V");
mMap.put("958", "2159910092253472736V");
mMap.put("959", "2159910193014350228V");
mMap.put("960", "2159910527370977102V");
mMap.put("961", "2159910531884733969V");
mMap.put("962", "2159910679489574768V");
mMap.put("963", "2159910910443346816V");
mMap.put("964", "2159912826218304603V");
mMap.put("965", "1599558421V");
mMap.put("966", "1599558422V");
mMap.put("967", "1599558423V");
mMap.put("968", "1599558424V");
mMap.put("969", "1599558425V");
mMap.put("970", "1599558426V");
mMap.put("971", "1599558427V");
mMap.put("972", "1599558428V");
mMap.put("973", "1599558429V");
mMap.put("974", "1599558431V");
mMap.put("975", "2159956316098104568V");
mMap.put("976", "2159956355872033001V");
mMap.put("977", "2159956860062026155V");
mMap.put("978", "2159957584538985726V");
mMap.put("979", "2159957623536849859V");
mMap.put("980", "2159957731800533965V");
mMap.put("981", "2159957840680405904V");
mMap.put("982", "2159957929849237090V");
mMap.put("983", "2159962320514458284V");
mMap.put("984", "1599631361V");
mMap.put("985", "1599631362V");
mMap.put("986", "1599631363V");
mMap.put("987", "1599631364V");
mMap.put("988", "1599631365V");
mMap.put("989", "1599631366V");
mMap.put("990", "1599631367V");
mMap.put("991", "1599631368V");
mMap.put("992", "1599631369V");
mMap.put("993", "1599631370V");
mMap.put("994", "2159963377631095182V");
mMap.put("995", "2159963692908504280V");
mMap.put("996", "2159963810907987285V");
mMap.put("997", "2159965666281774447V");
mMap.put("1000", "2159966779640863040V");
mMap.put("1062", "2159981484289308634V");
mMap.put("1104", "2159981487011831223V");
mMap.put("1114", "2159981487541782867V");
mMap.put("1198", "2159981493699630131V");
mMap.put("1200", "2159981493787551500V");
mMap.put("1235", "2159981500360161310V");
mMap.put("1262", "2159981509978829277V");
mMap.put("1287", "2159981524026090875V");
mMap.put("1304", "2159981536177567220V");
mMap.put("1310", "2159981545302191346V");
mMap.put("1319", "2159981554253166294V");
mMap.put("1325", "2159981560137685485V");
mMap.put("1329", "2159981563803933569V");
mMap.put("1335", "2159981573925532296V");
mMap.put("1390", "2159981688651814636V");
mMap.put("1391", "2159981690863703353V");
mMap.put("1428", "2159981809289823292V");
mMap.put("1430", "2159981818758016923V");
mMap.put("1458", "2159981953122687002V");
mMap.put("1494", "2159982351398865567V");
mMap.put("1495", "2159983504307869358V");
mMap.put("1496", "2159986673135905440V");
mMap.put("1497", "2159996274042898483V");
mMap.put("1498", "2160018496723049508V");
mMap.put("1499", "2160044520193237286V");
mMap.put("1500", "2160087799997486838V");
mMap.put("2230", "2160301409593379808V");
mMap.put("2231", "2160306912844638435V");
mMap.put("2232", "2160307407349758361V");
mMap.put("2233", "2160307601583764655V");
mMap.put("2234", "2160307779536228677V");
mMap.put("2492", "159963137111V");
mMap.put("2510", "2160327308412550248V");
mMap.put("2515", "2160327423681020972V");
mMap.put("3359", "2160447748642267709V");
mMap.put("3360", "2160464108681210878V");
mMap.put("6315", "2161440540017128902V");
mMap.put("6511", "2161535805626574069V");
mMap.put("6726", "2161571734236003828V");
mMap.put("7629", "2161675246646728746V");
mMap.put("9150", "2161891364918440203V");
mMap.put("9554", "2161900346985860326V");
mMap.put("9888", "2162037264105291340V");
mMap.put("9889", "2162037313688676374V");
mMap.put("11470", "2162202689894532474V");
}
@SneakyThrows
@Override
public void dataProcessing(Integer dg, Integer dG, String incrDt, String flg, String flu) {
if (StringUtils.isNotEmpty(flu)) {
log.info("DM.flush.member_code:{}", userMapper.executeForDM("adam_member_code"));
log.info("DM.flush.AdamMemberCodeVo:{}", mongoTemplate.remove(Query.query(Criteria.where("_id").exists(true)), AdamMemberCodeVo.class.getSimpleName()).getDeletedCount());
}
String sqlCount = "select count(1) from vip_card_codes where buy_order_id <> use_order_id or status=0";
if (null != dg) {
sqlCount = sqlCount + " and id%" + dG + "=" + dg;
}
String field = "vip_card_code,`type`+1,card_number,`status`,created_at,updated_at,buy_order_id,buy_uid,buy_time,use_order_id,use_uid,use_time";
// 1-vip_card_code,2-`type`+1,3-card_number,4-`status`,5-created_at,6-updated_at,
// 7-buy_order_id,8-buy_uid,9-buy_time,10-use_order_id,11-use_uid,12-use_time
String sql = sqlCount.replace("count(1)", field);
sql += " order by id limit ?,?";
Connection connection = null;
PreparedStatement statement = null;
ResultSetImpl row = null;
try {
Class.forName(DB_DRIVER);
connection = DriverManager.getConnection(DB_URL + DB_NAME_PASSPORT, DB_USER, DB_PWD);
statement = connection.prepareStatement(sqlCount);
row = (ResultSetImpl) statement.executeQuery();
row.first();
int ct = row.getInt(1), pSize = 1000, num = 0, tl = 0, pl = ct;
log.info("DM.execute.counts:{}/{},{} ~ {} ----------------------------> start.sql:{}", pl, num, pSize, tl, sql);
row.close();
statement.close();
while (ct > 0) {
statement = connection.prepareStatement(sql);
int ls = pSize * num;
statement.setInt(1, ls);
statement.setInt(2, pSize);
row = (ResultSetImpl) statement.executeQuery();
log.info("DM.execute.limit {},{} - begin", ls, pSize);
List<AdamMemberCode> memberCodeList = new ArrayList<>();
List<AdamMemberCodeVo> vos = new ArrayList<>();
while (row.next()) {
// String buyUid = row.getString(8);
// String useUid = row.getString(11);
// if (!reUidList.contains(buyUid) && reUidList.contains(useUid)) {
AdamMemberCode memberCode = new AdamMemberCode();
memberCode.setCode(row.getString(1));
memberCode.setType(row.getInt(2));
memberCode.setMemberId(MEMBER_ID);
memberCode.setMemberPriceId(MEMBER_ID);
memberCode.setMemberNo(row.getString(3));
memberCode.setState(row.getInt(4));
memberCode.setCreatedAt(row.getLocalDateTime(5));
memberCode.setUpdatedAt(row.getLocalDateTime(6));
memberCode.setBuyOrderNo(mMap.get(row.getString(7)));
memberCode.setBuyUid(row.getString(8));
memberCode.setBuyAt(row.getLocalDateTime(9));
memberCode.setUseOrderNo(mMap.get(row.getString(10)));
memberCode.setUseUid(row.getString(11));
memberCode.setUseAt(row.getLocalDateTime(12));
memberCodeList.add(memberCode);
AdamMemberCodeVo vo = AdamMemberCodeVo.getNew().copy(memberCode);
vos.add(vo);
if (memberCode.getState() == 0) {
adamRdmService.setMemberCodeVoByCode(memberCode.getCode(), vo);
}
// }
if (memberCodeList.size() == 500) {
tl += memberCodeList.size();
mongoTemplate.insert(vos, AdamMemberCodeVo.class.getSimpleName());
log.info("DM.execute.limit.result:{}", adamMemberCodeService.saveBatch(memberCodeList));
vos.clear();
memberCodeList.clear();
}
}
row.close();
statement.close();
num++;
ct -= pSize;
log.info("DM.execute.limit {},{} - handle.counts:{}", ls, pSize, tl);
}
log.info("DM.execute.counts:{}/{},{} ~ {} ----------------------------> end", pl, num, pSize, tl);
} catch (Exception e) {
log.error("ex:getConnection,dG/dg:{}/{},msg:{}", dG, dg, e.getMessage());
}
try {
if (null != row) row.close();
} catch (SQLException ignored) {
}
try {
if (null != statement) statement.close();
} catch (SQLException ignored) {
}
try {
if (null != connection) connection.close();
} catch (SQLException ignored) {
}
}
}
package com.liquidnet.service.adam.service.processor;
import com.liquidnet.service.adam.dto.vo.AdamMemberOrderVo;
import com.liquidnet.service.adam.entity.AdamMemberOrder;
import com.liquidnet.service.adam.service.DataMigrationProcessorService;
import com.liquidnet.service.adam.service.IAdamMemberOrderService;
import com.mysql.cj.jdbc.result.ResultSetImpl;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Slf4j
@Service
public class DMMemberOrderProcessor extends DataMigrationProcessorService {
@Autowired
IAdamMemberOrderService adamMemberOrderService;
// APPWEPAY|APPALIPAY|WAPWEPAY|WAPALIPAY|JSWEPAY|GIFT_CODE|VIP_CODE|APPLETWEPAY
public static final Map<String, String> dfMap = new HashMap<>();
public static final Map<String, String> ptMap = new HashMap<>();
static {
dfMap.put("APPWEPAY", "app");
dfMap.put("APPALIPAY", "app");
dfMap.put("WAPWEPAY", "wap");
dfMap.put("WAPALIPAY", "wap");
dfMap.put("JSWEPAY", "js");
dfMap.put("APPLETWEPAY", "applet");
dfMap.put("APPLETALIPAY", "applet");
ptMap.put("APPWEPAY", "wepay");
ptMap.put("APPALIPAY", "alipay");
ptMap.put("WAPWEPAY", "wepay");
ptMap.put("WAPALIPAY", "alipay");
ptMap.put("JSWEPAY", "wepay");
ptMap.put("APPLETWEPAY", "wepay");
ptMap.put("APPLETALIPAY", "alipay");
}
@SneakyThrows
@Override
public void dataProcessing(Integer dg, Integer dG, String incrDt, String flg, String flu) {
if (StringUtils.isNotEmpty(flu)) {
log.info("DM.flush.member_order:{}", userMapper.executeForDM("adam_member_order"));
log.info("DM.flush.AdamMemberOrderVo:{}", mongoTemplate.remove(Query.query(Criteria.where("_id").exists(true)), AdamMemberOrderVo.class.getSimpleName()).getDeletedCount());
}
String sqlCount = "select count(1) from user_vip_card_orders where status in (1,5) and created_at" + (StringUtils.isBlank(incrDt) ? "<" : ">=") + "curdate()";
if (null != dg) {
sqlCount = sqlCount + " and id%" + dG + "=" + dg;
}
String field = "order_code,uid,order_sub_type,vip_card_price,price,status,card_number,birthday,pay_type,pay_code,pay_at,created_at,updated_at,client_ip,source,version";
// 1-order_code,2-uid,3-order_sub_type,4-vip_card_price,5-price,6-status,7-card_number,8-birthday,
// 9-pay_type,10-pay_code,11-pay_at,12-created_at,13-updated_at,14-client_ip,15-source,16-version
String sql = sqlCount.replace("count(1)", field);
boolean smFlg = "1".equals(flg);
if (smFlg) {
sqlCount += " and uid in ('2026628','544327','1997335','773650','809406','1167451','423063','677171')";
sql += " and uid in ('2026628','544327','1997335','773650','809406','1167451','423063','677171')";
}
sql += " order by id limit ?,?";
Connection connection = null;
PreparedStatement statement = null;
ResultSetImpl row = null;
try {
Class.forName(DB_DRIVER);
connection = DriverManager.getConnection(DB_URL + DB_NAME_PASSPORT, DB_USER, DB_PWD);
statement = connection.prepareStatement(sqlCount);
row = (ResultSetImpl) statement.executeQuery();
row.first();
int ct = row.getInt(1), pSize = 1000, num = 0, tl = 0, pl = ct;
log.info("DM.execute.counts:{}/{},{} ~ {} ----------------------------> start.sql:{}", pl, num, pSize, tl, sql);
row.close();
statement.close();
while (ct > 0) {
statement = connection.prepareStatement(sql);
int ls = pSize * num;
statement.setInt(1, ls);
statement.setInt(2, pSize);
row = (ResultSetImpl) statement.executeQuery();
log.info("DM.execute.limit {},{} - begin", ls, pSize);
List<AdamMemberOrder> memberOrderList = new ArrayList<>();
List<AdamMemberOrderVo> vos = new ArrayList<>();
while (row.next()) {
String uid = row.getString(2);
if (!reUidList.contains(uid)) {
AdamMemberOrder memberOrder = new AdamMemberOrder();
memberOrder.setOrderNo(row.getString(1));
memberOrder.setUid(uid);
memberOrder.setMode(row.getInt(3));
memberOrder.setPrice(row.getBigDecimal(4));
memberOrder.setPricePaid(row.getBigDecimal(5));
memberOrder.setMemberName(MEMBER_NAME);
memberOrder.setMemberId(MEMBER_ID);
memberOrder.setMemberPriceId(MEMBER_ID);
memberOrder.setDays(365);
memberOrder.setState(row.getInt(6));
memberOrder.setMemberNo(row.getString(7));
memberOrder.setBirthday(row.getString(8));
String payType = row.getString(9);
memberOrder.setDeviceFrom(dfMap.get(payType));
memberOrder.setPayType(ptMap.get(payType));
memberOrder.setPayNo(row.getString(10));
memberOrder.setPaymentAt(row.getLocalDateTime(11));
memberOrder.setCreatedAt(row.getLocalDateTime(12));
memberOrder.setUpdatedAt(row.getLocalDateTime(13));
memberOrder.setClientIp(row.getString(14));
memberOrder.setSource(row.getString(15));
memberOrder.setVersion(row.getString(16));
AdamMemberOrderVo vo = AdamMemberOrderVo.getNew().copy(memberOrder);
memberOrderList.add(memberOrder);
vos.add(vo);
}
if (memberOrderList.size() == 500 || (memberOrderList.size() > 0 && smFlg)) {
tl += memberOrderList.size();
mongoTemplate.insert(vos, AdamMemberOrderVo.class.getSimpleName());
log.info("DM.execute.limit.result:{}", adamMemberOrderService.saveBatch(memberOrderList));
vos.clear();
memberOrderList.clear();
}
}
row.close();
statement.close();
num++;
ct -= pSize;
log.info("DM.execute.limit {},{} - handle.counts:{}", ls, pSize, tl);
}
log.info("DM.execute.counts:{}/{},{} ~ {} ----------------------------> end", pl, num, pSize, tl);
} catch (Exception e) {
log.error("ex:getConnection,dG/dg:{}/{},msg:{}", dG, dg, e.getMessage());
}
try {
if (null != row) row.close();
} catch (SQLException ignored) {
}
try {
if (null != statement) statement.close();
} catch (SQLException ignored) {
}
try {
if (null != connection) connection.close();
} catch (SQLException ignored) {
}
}
}
package com.liquidnet.service.adam.service.processor;
import com.liquidnet.service.adam.dto.vo.AdamRealInfoVo;
import com.liquidnet.service.adam.entity.AdamRealName;
import com.liquidnet.service.adam.service.DataMigrationProcessorService;
import com.liquidnet.service.adam.service.IAdamRealNameService;
import com.mysql.cj.jdbc.result.ResultSetImpl;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
@Slf4j
@Service
public class DMRealNameProcessor extends DataMigrationProcessorService {
@Autowired
IAdamRealNameService adamRealNameService;
@SneakyThrows
@Override
public void dataProcessing(Integer dg, Integer dG, String incrDt, String flg, String flu) {
if (StringUtils.isNotEmpty(flu)) {
log.info("DM.flush.real_name:{}", userMapper.executeForDM("adam_real_name"));
log.info("DM.flush.AdamRealInfoVo:{}", mongoTemplate.remove(Query.query(Criteria.where("_id").exists(true)), AdamRealInfoVo.class.getSimpleName()).getDeletedCount());
}
String sqlCount = "select count(1) from user_real_name where id not in (9145,7456,7448,7197,7194,4137,4138,4139,269,261,262,263,264,265,266,267,251) and created_at" + (StringUtils.isBlank(incrDt) ? "<" : ">=") + "curdate()";
if (null != dg) {
sqlCount = sqlCount + " and id%" + dG + "=" + dg;
}
String field = "id,uid,real_name,id_card,ifnull(created_at, '1970-01-01 00:00:00') created_at,updated_at";
// 1-id,2-uid,3-real_name,4-id_card,5-created_at,6-updated_at
String sql = sqlCount.replace("count(1)", field);
boolean smFlg = "1".equals(flg);
if (smFlg) {
sqlCount += " and uid in ('2026628','544327','1997335','773650','809406','1167451','423063','677171')";
sql += " and uid in ('2026628','544327','1997335','773650','809406','1167451','423063','677171')";
}
sql += " order by id limit ?,?";
Connection connection = null;
PreparedStatement statement = null;
ResultSetImpl row = null;
try {
Class.forName(DB_DRIVER);
connection = DriverManager.getConnection(DB_URL + DB_NAME_PASSPORT, DB_USER, DB_PWD);
statement = connection.prepareStatement(sqlCount);
row = (ResultSetImpl) statement.executeQuery();
row.first();
int ct = row.getInt(1), pSize = 1000, num = 0, tl = 0, pl = ct;
log.info("DM.execute.counts:{}/{},{} ~ {} ----------------------------> start.sql:{}", pl, num, pSize, tl, sql);
row.close();
statement.close();
while (ct > 0) {
statement = connection.prepareStatement(sql);
int ls = pSize * num;
statement.setInt(1, ls);
statement.setInt(2, pSize);
row = (ResultSetImpl) statement.executeQuery();
log.info("DM.execute.limit {},{} - begin", ls, pSize);
List<AdamRealName> realNameList = new ArrayList<>();
List<AdamRealInfoVo> vos = new ArrayList<>();
while (row.next()) {
String uid = row.getString(2);
if (!reUidList.contains(uid)) {
AdamRealName realName = new AdamRealName();
realName.setRealNameId(row.getString(1));
realName.setUid(uid);
realName.setType(1);
realName.setName(row.getString(3));
realName.setIdCard(row.getString(4));
realName.setState(1);
realName.setCreatedAt(row.getLocalDateTime(5));
realName.setUpdatedAt(row.getLocalDateTime(6));
AdamRealInfoVo vo = AdamRealInfoVo.getNew();
vo.setUid(uid);
vo.setType(1);
vo.setName(realName.getName());
vo.setIdCard(realName.getIdCard());
vo.setState(1);
realNameList.add(realName);
vos.add(vo);
adamRdmService.setCertification(1, realName.getIdCard(), realName.getName());
}
if (realNameList.size() == 500 || (realNameList.size() > 0 && smFlg)) {
tl += realNameList.size();
mongoTemplate.insert(vos, AdamRealInfoVo.class.getSimpleName());
log.info("DM.execute.limit.result:{}", adamRealNameService.saveBatch(realNameList));
vos.clear();
realNameList.clear();
}
}
row.close();
statement.close();
num++;
ct -= pSize;
log.info("DM.execute.limit {},{} - handle.counts:{}", ls, pSize, tl);
}
log.info("DM.execute.counts:{}/{},{} ~ {} ----------------------------> end", pl, num, pSize, tl);
} catch (Exception e) {
log.error("ex:getConnection,dG/dg:{}/{},msg:{}", dG, dg, e.getMessage());
}
try {
if (null != row) row.close();
} catch (SQLException ignored) {
}
try {
if (null != statement) statement.close();
} catch (SQLException ignored) {
}
try {
if (null != connection) connection.close();
} catch (SQLException ignored) {
}
}
}
package com.liquidnet.service.adam.service.processor;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.adam.dto.vo.AdamThirdPartInfoVo;
import com.liquidnet.service.adam.entity.AdamThirdParty;
import com.liquidnet.service.adam.service.DataMigrationProcessorService;
import com.liquidnet.service.adam.service.IAdamThirdPartyService;
import com.mysql.cj.jdbc.result.ResultSetImpl;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
@Slf4j
@Service
public class DMThirdPartsProcessor extends DataMigrationProcessorService {
@Autowired
IAdamThirdPartyService adamThirdPartyService;
@SneakyThrows
@Override
public void dataProcessing(Integer dg, Integer dG, String incrDt, String flg, String flu) {
if (StringUtils.isNotEmpty(flu)) {
log.info("DM.flush.third_party:{}", userMapper.executeForDM("adam_third_party"));
log.info("DM.flush.AdamThirdPartInfoVo:{}", mongoTemplate.remove(Query.query(Criteria.where("_id").exists(true)), AdamThirdPartInfoVo.class.getSimpleName()).getDeletedCount());
}
String sqlCount = "select count(1) from (\n" +
" select row_number() over (partition by uid,type order by created_at desc) rn,id,uid,open_id,avatar,nickname,type,created_at,updated_at from user_third_parts where `status`=1 and delete_tag in (0,1) and open_id<>'' and uid>0 and created_at" + (StringUtils.isBlank(incrDt) ? "<" : ">=") + "curdate()\n" +
" ) t where t.rn=1";
if (null != dg) {
sqlCount = sqlCount + " and id%" + dG + "=" + dg;
}
String field = "uid,open_id,avatar,nickname,type,created_at,updated_at";
// 1-uid,2-open_id,3-avatar,4-nickname,5-type,6-created_at,7-updated_at
String sql = sqlCount.replace("count(1)", field);
boolean smFlg = "1".equals(flg);
if (smFlg) {
sqlCount += " and uid in ('2026628','544327','1997335','773650','809406','1167451','423063','677171')";
sql += " and uid in ('2026628','544327','1997335','773650','809406','1167451','423063','677171')";
}
sql += " order by id limit ?,?";
LocalDateTime currentYear = DateUtil.Formatter.yyyyMMddHHmmss.parse("2021-01-01 00:00:00");
Connection connection = null;
PreparedStatement statement = null;
ResultSetImpl row = null;
try {
Class.forName(DB_DRIVER);
connection = DriverManager.getConnection(DB_URL + DB_NAME_PASSPORT, DB_USER, DB_PWD);
statement = connection.prepareStatement(sqlCount);
row = (ResultSetImpl) statement.executeQuery();
row.first();
int ct = row.getInt(1), pSize = 1000, num = 0, tl = 0, pl = ct;
log.info("DM.execute.counts:{}/{},{} ~ {} ----------------------------> start.sql:{}", pl, num, pSize, tl, sql);
row.close();
statement.close();
while (ct > 0) {
statement = connection.prepareStatement(sql);
int ls = pSize * num;
statement.setInt(1, ls);
statement.setInt(2, pSize);
row = (ResultSetImpl) statement.executeQuery();
log.info("DM.execute.limit {},{} - begin", ls, pSize);
List<AdamThirdParty> thirdPartyList = new ArrayList<>();
List<AdamThirdPartInfoVo> vos = new ArrayList<>();
while (row.next()) {
String uid = row.getString(1);
if (!reUidList.contains(uid)) {
AdamThirdParty thirdParty = new AdamThirdParty();
thirdParty.setUid(uid);
thirdParty.setOpenId(row.getString(2));
thirdParty.setAvatar(row.getString(3));
thirdParty.setNickname(row.getString(4));
thirdParty.setPlatform(row.getString(5));
thirdParty.setState(1);
LocalDateTime createdAt = row.getLocalDateTime(6);
thirdParty.setCreatedAt(createdAt);
thirdParty.setUpdatedAt(row.getLocalDateTime(7));
AdamThirdPartInfoVo vo = AdamThirdPartInfoVo.getNew();
vo.setUid(thirdParty.getUid());
vo.setOpenId(thirdParty.getOpenId());
vo.setNickname(thirdParty.getNickname());
vo.setAvatar(thirdParty.getAvatar());
vo.setPlatform(thirdParty.getPlatform());
vo.setState(thirdParty.getState());
vo.setCreatedAt(thirdParty.getCreatedAt());
vo.setUpdatedAt(thirdParty.getUpdatedAt());
thirdPartyList.add(thirdParty);
vos.add(vo);
if (currentYear.isBefore(createdAt)) {
adamRdmService.setUidByPlatformOpenId(thirdParty.getPlatform(), thirdParty.getOpenId(), uid);
}
}
if (thirdPartyList.size() == 500 || (thirdPartyList.size() > 0 && smFlg)) {
tl += thirdPartyList.size();
mongoTemplate.insert(vos, AdamThirdPartInfoVo.class.getSimpleName());
log.info("DM.execute.limit.result:{}", adamThirdPartyService.saveBatch(thirdPartyList));
vos.clear();
thirdPartyList.clear();
}
}
row.close();
statement.close();
num++;
ct -= pSize;
log.info("DM.execute.limit {},{} - handle.counts:{}", ls, pSize, tl);
}
log.info("DM.execute.counts:{}/{},{} ~ {} ----------------------------> end", pl, num, pSize, tl);
} catch (Exception e) {
log.error("ex:getConnection,dG/dg:{}/{},msg:{}", dG, dg, e.getMessage());
}
try {
if (null != row) row.close();
} catch (SQLException ignored) {
}
try {
if (null != statement) statement.close();
} catch (SQLException ignored) {
}
try {
if (null != connection) connection.close();
} catch (SQLException ignored) {
}
}
}
package com.liquidnet.service.adam.service.processor;
import com.liquidnet.service.adam.dto.vo.AdamMemberPriceVo;
import com.liquidnet.service.adam.dto.vo.AdamMemberVo;
import com.liquidnet.service.adam.entity.AdamMember;
import com.liquidnet.service.adam.entity.AdamMemberPrice;
import com.liquidnet.service.adam.mapper.AdamMemberMapper;
import com.liquidnet.service.adam.mapper.AdamMemberPriceMapper;
import com.liquidnet.service.adam.service.DataMigrationProcessorService;
import com.mysql.cj.jdbc.result.ResultSetImpl;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Collections;
@Slf4j
@Service
public class DMTracesInfoProcessor extends DataMigrationProcessorService {
@Autowired
MongoTemplate mongoTemplate;
@Autowired
AdamMemberMapper memberMapper;
@Autowired
AdamMemberPriceMapper memberPriceMapper;
@Override
public void dataProcessing(Integer dg, Integer dG, String incrDt, String flg, String flu) {
if (StringUtils.isNotEmpty(flu)) {
log.info("DM.flush.member:{}", userMapper.executeForDM("adam_member"));
log.info("DM.flush.member_price:{}", userMapper.executeForDM("adam_member_price"));
log.info("DM.flush.AdamMemberVo:{}", mongoTemplate.remove(Query.query(Criteria.where("_id").exists(true)), AdamMemberVo.class.getSimpleName()).getDeletedCount());
log.info("DM.flush.AdamMemberPriceVo:{}", mongoTemplate.remove(Query.query(Criteria.where("_id").exists(true)), AdamMemberPriceVo.class.getSimpleName()).getDeletedCount());
}
this.memberCardInfoHandler();
this.memberCardPriceHandler();
}
@SneakyThrows
private void memberCardInfoHandler() {
Connection connection = null;
PreparedStatement statement = null;
ResultSetImpl row = null;
try {
String sql = "select id,`name`,sub_title,icon,avatar,min_card_number,if(`type`='VIP',1,0),interests_detail,notes,created_at,updated_at,is_notice,vip_notice,vip_notice_title,need_question,display_agreement,status,limitation from vip_cards";
// 1-id,2-`name`,3-sub_title,4-icon,5-avatar,6-min_card_number,7-`type`,8-interests_detail,9-notes,10-created_at,11-updated_at,12-is_notice,13-vip_notice,14-vip_notice_title,15-need_question,16-display_agreement,17-status,18-limitation
Class.forName(DB_DRIVER);
connection = DriverManager.getConnection(DB_URL + DB_NAME_PASSPORT, DB_USER, DB_PWD);
statement = connection.prepareStatement(sql);
row = (ResultSetImpl) statement.executeQuery();
row.first();
AdamMember o = new AdamMember();
o.setMemberId(row.getString(1));
o.setName(row.getString(2));
o.setTitle(o.getName());
o.setSubTitle(row.getString(3));
o.setIcon(row.getString(4));
o.setAvatar(row.getString(5));
o.setStartNo(10000);
o.setType(row.getInt(7));
o.setInterestsDetail(row.getString(8));
o.setNotes(row.getString(9));
o.setCreatedAt(row.getLocalDateTime(10));
o.setUpdatedAt(row.getLocalDateTime(11));
o.setIsNotice(row.getInt(12));
o.setNoticeInfo(row.getString(13));
o.setNoticeTitle(row.getString(14));
o.setNeedQuestion(row.getInt(15));
o.setDisplayAgreement(row.getInt(16));
o.setState(row.getInt(17));
o.setLimitation(row.getInt(18));
AdamMemberVo vo = AdamMemberVo.getNew().copy(o);
adamRdmService.setMemberVoByMemberId(vo.getMemberId(), vo);
memberMapper.insert(o);
mongoTemplate.insert(vo, AdamMemberVo.class.getSimpleName());
row.close();
statement.close();
connection.close();
} catch (Exception throwables) {
throwables.printStackTrace();
}
try {
if (null != row) row.close();
} catch (SQLException ignored) {
}
try {
if (null != statement) statement.close();
} catch (SQLException ignored) {
}
try {
if (null != connection) connection.close();
} catch (SQLException ignored) {
}
}
@SneakyThrows
private void memberCardPriceHandler() {
Connection connection = null;
PreparedStatement statement = null;
ResultSetImpl row = null;
try {
String sql = "select id,vip_card_id,status,name,price,days,detail,created_at,updated_at from vip_card_prices";
// 1-id,2-vip_card_id,3-status,4-name,5-price,6-days,7-detail,8-created_at,9-updated_at
Class.forName(DB_DRIVER);
// String url = "jdbc:mysql://pc-2ze6z2hxkug559q79.mysql.polardb.rds.aliyuncs.com:3306/passport";
String url = "jdbc:mysql://zhengzai.mysql.polardb.rds.aliyuncs.com:3306/passport";
connection = DriverManager.getConnection(url, "readonly", "ZWDsf8Fy");
statement = connection.prepareStatement(sql);
row = (ResultSetImpl) statement.executeQuery();
row.first();
AdamMemberPrice o = new AdamMemberPrice();
o.setMemberPriceId(row.getString(1));
o.setMemberId(row.getString(2));
o.setState(row.getInt(3));
o.setName(row.getString(4));
o.setPrice(row.getBigDecimal(5));
o.setPriceFixed(o.getPrice());
o.setDays(row.getInt(6));
o.setDetail(row.getString(7));
o.setCreatedAt(row.getLocalDateTime(8));
o.setUpdatedAt(row.getLocalDateTime(9));
AdamMemberPriceVo vo = AdamMemberPriceVo.getNew().copy(o);
adamRdmService.setMemberPriceVoByMemberId(vo.getMemberId(), Collections.singletonList(vo));
memberPriceMapper.insert(o);
mongoTemplate.insert(vo, AdamMemberPriceVo.class.getSimpleName());
} catch (Exception throwables) {
throwables.printStackTrace();
}
try {
if (null != row) row.close();
} catch (SQLException ignored) {
}
try {
if (null != statement) statement.close();
} catch (SQLException ignored) {
}
try {
if (null != connection) connection.close();
} catch (SQLException ignored) {
}
}
}
package com.liquidnet.service.adam.service.processor;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.adam.dto.vo.AdamTagVo;
import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo;
import com.liquidnet.service.adam.entity.AdamUser;
import com.liquidnet.service.adam.entity.AdamUserInfo;
import com.liquidnet.service.adam.service.DataMigrationProcessorService;
import com.liquidnet.service.adam.service.IAdamUserInfoService;
import com.liquidnet.service.adam.service.IAdamUserService;
import com.mysql.cj.jdbc.result.ResultSetImpl;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Slf4j
@Service
public class DMUserInformationProcessor extends DataMigrationProcessorService {
@Autowired
IAdamUserService adamUserService;
@Autowired
IAdamUserInfoService adamUserInfoService;
public static Map<String, AdamTagVo> sexMap = new HashMap<>();
static {
sexMap.put("SECRET", AdamTagVo.getNew().setVal("MS00").setDesc("保密"));
sexMap.put("MALE", AdamTagVo.getNew().setVal("MS01").setDesc("男性"));
sexMap.put("FEMALE", AdamTagVo.getNew().setVal("MS02").setDesc("女性"));
}
@SneakyThrows
@Override
public void dataProcessing(Integer dg, Integer dG, String incrDt, String flg, String flu) {
if (StringUtils.isNotEmpty(flu)) {
log.info("DM.flush.user:{}", userMapper.executeForDM("adam_user"));
log.info("DM.flush.user_info:{}", userMapper.executeForDM("adam_user_info"));
log.info("DM.flush.AdamUserInfoVo:{}", mongoTemplate.remove(Query.query(Criteria.where("_id").exists(true)), AdamUserInfoVo.class.getSimpleName()).getDeletedCount());
}
// String sqlCount = "select count(1) from users where delete_tag in (0,1) and length(mobile)=11 and created_at" + (StringUtils.isBlank(incrDt) ? "<" : ">=") + "curdate()";
String sqlCount = "select count(1) from users where delete_tag in (0,1) and created_at" + (StringUtils.isBlank(incrDt) ? "<" : ">=") + "curdate()";
if (null != dg) {
sqlCount = sqlCount + " and uid%" + dG + "=" + dg;
}
String field = "uid,mobile,username,sex,birthday,area,sign,face_url,back_url,created_at,updated_at,is_complete,rong_cloud_token,rong_cloud_tag";
// 1-uid,2-mobile,3-username,4-sex,5-birthday,6-area,7-sign,8-face_url,9-back_url,10-created_at,11-updated_at,12-is_complete,13-rong_cloud_token,14-rong_cloud_tag
String sql = sqlCount.replace("count(1)", field);
boolean smFlg = "1".equals(flg);
if (smFlg) {
sqlCount += "and mobile in ('13753596360','17701223310','18518013286','18548596019','15901093014','17382319723','13631444097','13671737873')";
sql += " and mobile in ('13753596360','17701223310','18518013286','18548596019','15901093014','17382319723','13631444097','13671737873')";
}
sql += " order by uid limit ?,?";
LocalDateTime currentYear = DateUtil.Formatter.yyyyMMddHHmmss.parse("2021-01-01 00:00:00");
Connection connection = null;
PreparedStatement statement = null;
ResultSetImpl row = null;
try {
Class.forName(DB_DRIVER);
connection = DriverManager.getConnection(DB_URL + DB_NAME_PASSPORT, DB_USER, DB_PWD);
statement = connection.prepareStatement(sqlCount);
row = (ResultSetImpl) statement.executeQuery();
row.first();
int ct = row.getInt(1), pSize = 1000, num = 0, tl = 0, pl = ct;
log.info("DM.execute.counts:{}/{},{} ~ {} ----------------------------> start.sql:{}", pl, num, pSize, tl, sql);
row.close();
statement.close();
while (ct > 0) {
statement = connection.prepareStatement(sql);
int ls = pSize * num;
statement.setInt(1, ls);
statement.setInt(2, pSize);
row = (ResultSetImpl) statement.executeQuery();
log.info("DM.execute.limit {},{} - begin", ls, pSize);
List<AdamUser> userList = new ArrayList<>();
List<AdamUserInfo> userInfoList = new ArrayList<>();
List<AdamUserInfoVo> vos = new ArrayList<>();
while (row.next()) {
AdamTagVo sex = sexMap.get(row.getString(4));
String uid = row.getString(1);
if (!reUidList.contains(uid)) {
AdamUser user = new AdamUser();
user.setUid(uid);
String mobile = row.getString(2);
user.setMobile(mobile);
LocalDateTime createdAt = row.getLocalDateTime(10), updatedAt = row.getLocalDateTime(11);
user.setCreatedAt(createdAt);
user.setUpdatedAt(updatedAt);
user.setState(1);
AdamUserInfo userInfo = new AdamUserInfo();
userInfo.setUid(user.getUid());
userInfo.setNickname(row.getString(3));
userInfo.setSex(JsonUtils.toJson(sex));
userInfo.setBirthday(row.getLocalDate(5));
userInfo.setArea(row.getString(6));
userInfo.setSignature(row.getString(7));
userInfo.setAvatar(row.getString(8));
userInfo.setBackground(row.getString(9));
userInfo.setQrCode("lN".concat(userInfo.getUid()).concat(RandomStringUtils.randomAlphanumeric(5).toUpperCase()));
userInfo.setRongCloudToken(row.getString(13));
userInfo.setRongCloudTag(row.getInt(14));
AdamUserInfoVo vo = AdamUserInfoVo.getNew();
vo.setUid(user.getUid());
vo.setMobile(user.getMobile());
vo.setNickname(userInfo.getNickname());
vo.setState(user.getState());
vo.setSex(sex);
vo.setBirthday(DateUtil.Formatter.yyyy_MM_dd.format(userInfo.getBirthday()));
vo.setArea(userInfo.getArea());
vo.setSignature(userInfo.getSignature());
vo.setAvatar(userInfo.getAvatar());
vo.setBackground(userInfo.getBackground());
vo.setCreateAt(user.getCreatedAt());
vo.setUpdatedAt(user.getUpdatedAt());
vo.setIsComplete(row.getInt(12));
vo.setQrCode(userInfo.getQrCode());
userList.add(user);
userInfoList.add(userInfo);
vos.add(vo);
if (StringUtils.length(mobile) == 11 &&
(currentYear.isBefore(createdAt) || currentYear.isBefore(updatedAt))) {
adamRdmService.setUidByMobile(mobile, uid);
}
}
if (userList.size() == 500 || (userList.size() > 0 && smFlg)) {
tl += userList.size();
mongoTemplate.insert(vos, AdamUserInfoVo.class.getSimpleName());
log.info("DM.execute.result:{} - {}", adamUserService.saveBatch(userList), adamUserInfoService.saveBatch(userInfoList));
vos.clear();
userList.clear();
userInfoList.clear();
}
}
row.close();
statement.close();
num++;
ct -= pSize;
log.info("DM.execute.limit {},{} - handle.counts:{}", ls, pSize, tl);
}
log.info("DM.execute.counts:{}/{},{} ~ {} ----------------------------> end", pl, num, pSize, tl);
} catch (Exception e) {
log.error("ex:getConnection,dG/dg:{}/{},msg:{}", dG, dg, e.getMessage());
}
try {
if (null != row) row.close();
} catch (SQLException ignored) {
}
try {
if (null != statement) statement.close();
} catch (SQLException ignored) {
}
try {
if (null != connection) connection.close();
} catch (SQLException ignored) {
}
}
}
package com.liquidnet.service.adam.service.processor;
import com.liquidnet.service.adam.dto.vo.AdamUserMemberVo;
import com.liquidnet.service.adam.entity.AdamUserMember;
import com.liquidnet.service.adam.service.DataMigrationProcessorService;
import com.liquidnet.service.adam.service.IAdamUserMemberService;
import com.mysql.cj.jdbc.result.ResultSetImpl;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
@Slf4j
@Service
public class DMUserMemberProcessor extends DataMigrationProcessorService {
@Autowired
IAdamUserMemberService adamUserMemberService;
@SneakyThrows
@Override
public void dataProcessing(Integer dg, Integer dG, String incrDt, String flg, String flu) {
if (StringUtils.isNotEmpty(flu)) {
log.info("DM.flush.user_member:{}", userMapper.executeForDM("adam_user_member"));
log.info("DM.flush.AdamUserMemberVo:{}", mongoTemplate.remove(Query.query(Criteria.where("_id").exists(true)), AdamUserMemberVo.class.getSimpleName()).getDeletedCount());
}
String sqlCount = "select count(1) from user_cards where created_at" + (StringUtils.isBlank(incrDt) ? "<" : ">=") + "curdate()";
if (null != dg) {
sqlCount = sqlCount + " and id%" + dG + "=" + dg;
}
String field = "uid,card_id,card_number,`status`,expired_at,created_at,updated_at";
// 1-uid,2-card_id,3-card_number,4-status,5-expired_at,6-created_at,7-updated_at
String sql = sqlCount.replace("count(1)", field);
boolean smFlg = "1".equals(flg);
if (smFlg) {
sqlCount += " and uid in ('2026628','544327','1997335','773650','809406','1167451','423063','677171')";
sql += " and uid in ('2026628','544327','1997335','773650','809406','1167451','423063','677171')";
}
sql += " order by id limit ?,?";
Connection connection = null;
PreparedStatement statement = null;
ResultSetImpl row = null;
try {
Class.forName(DB_DRIVER);
connection = DriverManager.getConnection(DB_URL + DB_NAME_PASSPORT, DB_USER, DB_PWD);
statement = connection.prepareStatement(sqlCount);
row = (ResultSetImpl) statement.executeQuery();
row.first();
int ct = row.getInt(1), pSize = 1000, num = 0, tl = 0, pl = ct;
log.info("DM.execute.counts:{}/{},{} ~ {} ----------------------------> start.sql:{}", pl, num, pSize, tl, sql);
row.close();
statement.close();
while (ct > 0) {
statement = connection.prepareStatement(sql);
int ls = pSize * num;
statement.setInt(1, ls);
statement.setInt(2, pSize);
row = (ResultSetImpl) statement.executeQuery();
log.info("DM.execute.limit {},{} - begin", ls, pSize);
List<AdamUserMember> userMemberList = new ArrayList<>();
List<AdamUserMemberVo> vos = new ArrayList<>();
while (row.next()) {
String uid = row.getString(1);
if (!reUidList.contains(uid)) {
AdamUserMember userMember = new AdamUserMember();
userMember.setUid(uid);
userMember.setMemberId(row.getString(2));
userMember.setMemberNo(row.getString(3));
userMember.setState(row.getInt(4));
userMember.setExpiryAt(row.getLocalDateTime(5));
userMember.setCreatedAt(row.getLocalDateTime(6));
userMember.setUpdatedAt(row.getLocalDateTime(7));
AdamUserMemberVo vo = AdamUserMemberVo.getNew();
vo.setUid(uid);
vo.setMemberId(userMember.getMemberId());
vo.setMemberNo(userMember.getMemberNo());
vo.setState(userMember.getState());
vo.setExpiryAt(userMember.getExpiryAt());
vo.setCreatedAt(userMember.getCreatedAt());
vo.setUpdatedAt(userMember.getUpdatedAt());
userMemberList.add(userMember);
vos.add(vo);
adamRdmService.setUserMemberVoByUid(uid, vo);
}
if (userMemberList.size() == 500 || (userMemberList.size() > 0 && smFlg)) {
tl += userMemberList.size();
mongoTemplate.insert(vos, AdamUserMemberVo.class.getSimpleName());
log.info("DM.execute.limit.result:{}", adamUserMemberService.saveBatch(userMemberList));
vos.clear();
userMemberList.clear();
}
}
row.close();
statement.close();
num++;
ct -= pSize;
log.info("DM.execute.limit {},{} - handle.counts:{}", ls, pSize, tl);
}
log.info("DM.execute.counts:{}/{},{} ~ {} ----------------------------> end", pl, num, pSize, tl);
} catch (Exception e) {
log.error("ex:getConnection,dG/dg:{}/{},msg:{}", dG, dg, e.getMessage());
}
try {
if (null != row) row.close();
} catch (SQLException ignored) {
}
try {
if (null != statement) statement.close();
} catch (SQLException ignored) {
}
try {
if (null != connection) connection.close();
} catch (SQLException ignored) {
}
}
}
......@@ -43,7 +43,7 @@ sh.shardCollection("prod_ln_scene.KylinCheckUserVo",{"checkUserId":"hashed"});
sh.shardCollection("prod_ln_scene.KylinOrderRefundEntitiesVo",{"orderRefundsEntitiesId":"hashed"});
sh.shardCollection("prod_ln_scene.KylinOrderRefundPicVo",{"refundPicId":"hashed"});
sh.shardCollection("prod_ln_scene.KylinOrderRefundsVoBase",{"orderRefundsId":"hashed"});
sh.shardCollection("prod_ln_scene.KylinOrderTicketEntitiesVo",{"orderTicketEntitiesId":"hashed"});
sh.shardCollection("prod_ln_scene.KylinOrderTicketEntitiesVo",{"orderId":"hashed"});
sh.shardCollection("prod_ln_scene.KylinOrderTicketVo",{"orderTicketsId":"hashed"});
sh.shardCollection("prod_ln_scene.KylinPerformanceVo",{"performancesId":"hashed"});
sh.shardCollection("prod_ln_scene.KylinRoadShowVo",{"roadShowsId":"hashed"});
......
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