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

Commit 2de4d931 authored by jiangxiulong's avatar jiangxiulong

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

parents 2316adb9 fe3cf35e
......@@ -17,7 +17,7 @@ public class AdamThirdPartParam implements Serializable {
@ApiModelProperty(position = 11, required = true, value = "第三方OPENID[64]")
private String openId;
@ApiModelProperty(position = 12, required = true, value = "昵称[64]", example = "Swagger")
@Size(min = 2, max = 64)
// @Size(min = 2, max = 64)
private String nickname;
@ApiModelProperty(position = 13, required = true, value = "头像[255]", example = "http://pic.zhengzai.tv/default/avatar.png")
@Size(max = 255)
......
......@@ -19,7 +19,7 @@ public class AdamUserMember {
private String memberId;
private Integer memberNo;
private String memberNo;
private Integer state;
......
......@@ -278,9 +278,9 @@ drop table if exists adam_user_member;
create table adam_user_member
(
mid int unsigned auto_increment primary key,
uid varchar(64) not null,
uid varchar(64) not null,
member_id varchar(255) comment '会员类型id',
member_no int unsigned not null,
member_no varchar(20) not null,
state tinyint comment '1-NORMAL,2-INVALID',
expiry_at datetime(3) comment '到期日期',
created_at datetime(3),
......
package com.liquidnet.service.adam.controller.admin;
import com.liquidnet.service.adam.service.processor.DMUserInformationProcessor;
import com.liquidnet.service.adam.service.processor.*;
import com.liquidnet.service.base.ResponseDto;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
......@@ -22,53 +22,79 @@ import java.time.LocalDateTime;
public class AdamDMAdminController {
@Autowired
DMUserInformationProcessor dmUserInformationProcessor;
@Autowired
DMThirdPartsProcessor dmThirdPartsProcessor;
@Autowired
DMRealNameProcessor dmRealNameProcessor;
@Autowired
DMUserMemberProcessor dmUserMemberProcessor;
@Autowired
DMEntersProcessor dmEntersProcessor;
@Autowired
DMAddressesProcessor dmAddressesProcessor;
@Autowired
DMTracesInfoProcessor dmTracesInfoProcessor;
@ApiOperation(value = "user")
@GetMapping(value = {"user"})
public ResponseDto<Object> dataMigrationForUser(@RequestParam int alis, @RequestParam boolean flg) {
if (verify(alis)) dmUserInformationProcessor.handler(flg);
if (!verify(alis)) return ResponseDto.failure();
dmUserInformationProcessor.handler(flg);
return ResponseDto.success();
}
@ApiOperation(value = "tpa")
@GetMapping(value = {"tpa"})
public ResponseDto<Object> dataMigrationForTpa(@RequestParam int alis, @RequestParam boolean flg) {
if (verify(alis)) dmUserInformationProcessor.handler(flg);
if (!verify(alis)) return ResponseDto.failure();
dmThirdPartsProcessor.handler(flg);
return ResponseDto.success();
}
@ApiOperation(value = "real")
@GetMapping(value = {"real"})
public ResponseDto<Object> dataMigrationForReal(@RequestParam int alis, @RequestParam boolean flg) {
if (verify(alis)) dmUserInformationProcessor.handler(flg);
if (!verify(alis)) return ResponseDto.failure();
dmRealNameProcessor.handler(flg);
return ResponseDto.success();
}
@ApiOperation(value = "vip")
@GetMapping(value = {"vip"})
public ResponseDto<Object> dataMigrationForVip(@RequestParam int alis, @RequestParam boolean flg) {
if (verify(alis)) dmUserInformationProcessor.handler(flg);
if (!verify(alis)) return ResponseDto.failure();
dmUserMemberProcessor.handler(flg);
return ResponseDto.success();
}
@ApiOperation(value = "morder")
@GetMapping(value = {"morder"})
public ResponseDto<Object> dataMigrationForMOrder(@RequestParam int alis, @RequestParam boolean flg) {
if (verify(alis)) dmUserInformationProcessor.handler(flg);
if (!verify(alis)) return ResponseDto.failure();
return ResponseDto.success();
}
@ApiOperation(value = "enters")
@GetMapping(value = {"enters"})
public ResponseDto<Object> dataMigrationForEnters(@RequestParam int alis, @RequestParam boolean flg) {
if (verify(alis)) dmUserInformationProcessor.handler(flg);
if (!verify(alis)) return ResponseDto.failure();
dmEntersProcessor.handler(flg);
return ResponseDto.success();
}
@ApiOperation(value = "addr")
@GetMapping(value = {"addr"})
public ResponseDto<Object> dataMigrationForAddr(@RequestParam int alis, @RequestParam boolean flg) {
if (verify(alis)) dmUserInformationProcessor.handler(flg);
if (!verify(alis)) return ResponseDto.failure();
dmAddressesProcessor.handler(flg);
return ResponseDto.success();
}
@ApiOperation(value = "traces")
@GetMapping(value = {"traces"})
public ResponseDto<Object> dataMigrationForTraces(@RequestParam int alis, @RequestParam boolean flg) {
if (!verify(alis)) return ResponseDto.failure();
dmTracesInfoProcessor.handler(flg);
return ResponseDto.success();
}
......
package com.liquidnet.service.adam.service;
import com.liquidnet.service.adam.service.processor.DMEntersProcessor;
import com.mysql.cj.jdbc.result.ResultSetImpl;
import lombok.SneakyThrows;
import java.sql.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public abstract class DataMigrationProcessorService {
public static List<String> reUidList = new ArrayList<>();
static {
reUidList.addAll(Arrays.asList("1406834", "1406870", "1406872", "1480154", "1480182", "1480185", "1480188", "1480192", "1416286", "1416315", "576723", "716461", "1405052", "1405054", "1165127", "1165128", "1338315", "1338318", "1563075", "1563171", "1155903", "1155904", "998047", "998049", "1005624", "1005626", "1325133", "1325141", "1325144", "1522323", "1522327", "1634494", "1634518", "1416230", "1416245", "1416256", "1416269", "1416284", "1416299", "1416323", "1469580", "1469582", "1469585", "1469597", "1469602", "1469620", "1469644", "919572", "919573", "1306189", "1306190", "1424617", "1424618", "1303823", "1303824", "1303825", "1303826", "1405071", "1405085", "1482373", "1482385", "1482386", "1482389", "1399984", "1399995", "1313607", "1313609", "1469586", "1469590", "1469601", "1469633", "1469646", "1626361", "1626372", "1090622", "1090623", "1352248", "1352253", "1352254", "1018609", "1018611", "1018614", "1018615", "1299829", "1299830", "1634471", "1634473", "981756", "981757", "927692", "927693", "1619686", "1619695", "1619710", "1619718", "1619726", "1626341", "1626349", "1626351", "1626374", "811095", "811096", "1327425", "1327430", "1477324", "1477334", "1477353", "1409779", "1409786", "1626337", "1626363", "878546", "878547", "1562936", "1563005", "1563116", "1563197", "1626340", "1626345", "1626380", "1033586", "1033587", "1033588", "1033589", "1562802", "1562848", "871254", "871255", "1512602", "1512641"));
}
public Connection connection = null;
public PreparedStatement statement = null;
public ResultSet resultSet = null;
public ResultSetImpl row = null;
public void handler(boolean flg) {
preHandler();
......@@ -24,17 +34,21 @@ public abstract class DataMigrationProcessorService {
@SneakyThrows
private void preHandler() {
Class.forName("com.mysql.cj.jdbc.Driver");
connection = DriverManager.getConnection(
"jdbc:mysql://zhengzai.mysql.polardb.rds.aliyuncs.com:3306/passport",
"readonly", "ZWDsf8Fy");
String url = "jdbc:mysql://zhengzai.mysql.polardb.rds.aliyuncs.com:3306/";
if (this instanceof DMEntersProcessor) {
url += "mall";
} else {
url += "passport";
}
connection = DriverManager.getConnection(url, "readonly", "ZWDsf8Fy");
}
protected abstract void dataProcessing(boolean flg);
private void postHandler() {
try {
assert resultSet != null;
resultSet.close();
assert row != null;
row.close();
statement.close();
connection.close();
} catch (SQLException throwables) {
......
package com.liquidnet.service.adam.service.processor;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.service.adam.dto.vo.AdamAddressesVo;
import com.liquidnet.service.adam.entity.AdamAddresses;
import com.liquidnet.service.adam.mapper.AdamAddressesMapper;
import com.liquidnet.service.adam.service.DataMigrationProcessorService;
import com.mysql.cj.jdbc.result.ResultSetImpl;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Service;
@Slf4j
@Service
public class DMAddressesProcessor extends DataMigrationProcessorService {
@Autowired
MongoTemplate mongoTemplate;
@Autowired
RedisUtil redisUtil;
@Autowired
AdamAddressesMapper addressesMapper;
@SneakyThrows
@Override
protected void dataProcessing(boolean flg) {
String sqlCount = "select count(1) from addresses where 1=1";
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);
if (flg) {
sqlCount += " and user_id in ('2026628','544327','1997335','773650','809406')";
sql += " and user_id in ('2026628','544327','1997335','773650','809406')";
}
sql += " limit ?,?";
statement = connection.prepareStatement(sqlCount);
row = (ResultSetImpl) statement.executeQuery();
row.first();
int ct = row.getInt(1), pSize = 2, num = 0;
log.info("DM数据迁移总数:{}", ct);
while (ct > 0) {
statement = connection.prepareStatement(sql);
statement.setInt(1, pSize * num);
statement.setInt(2, pSize);
row = (ResultSetImpl) statement.executeQuery();
log.info("DM.execute.limit:[pNo:{},pSize:{}]", pSize * num, pSize);
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);
addressesMapper.insert(addresses);
mongoTemplate.insert(vo, AdamAddressesVo.class.getSimpleName());
}
}
num++;
ct -= pSize;
}
}
}
package com.liquidnet.service.adam.service.processor;
import com.liquidnet.common.cache.redis.util.RedisUtil;
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.DataMigrationProcessorService;
import com.mysql.cj.jdbc.result.ResultSetImpl;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Service;
@Slf4j
@Service
public class DMEntersProcessor extends DataMigrationProcessorService {
@Autowired
MongoTemplate mongoTemplate;
@Autowired
RedisUtil redisUtil;
@Autowired
AdamEntersMapper entersMapper;
@SneakyThrows
@Override
protected void dataProcessing(boolean flg) {
String sqlCount = "select count(1) from enters where type <> 1 or (type = 1 and is_certification = 'yes')";
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);
if (flg) {
sqlCount += " and user_id in ('2026628','544327','1997335','773650','809406')";
sql += " and user_id in ('2026628','544327','1997335','773650','809406')";
}
sql += " limit ?,?";
statement = connection.prepareStatement(sqlCount);
row = (ResultSetImpl) statement.executeQuery();
row.first();
int ct = row.getInt(1), pSize = 2, num = 0;
log.info("DM数据迁移总数:{}", ct);
while (ct > 0) {
statement = connection.prepareStatement(sql);
statement.setInt(1, pSize * num);
statement.setInt(2, pSize);
row = (ResultSetImpl) statement.executeQuery();
log.info("DM.execute.limit:[pNo:{},pSize:{}]", pSize * num, pSize);
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);
entersMapper.insert(enters);
mongoTemplate.insert(vo, AdamEntersVo.class.getSimpleName());
}
}
num++;
ct -= pSize;
}
}
}
package com.liquidnet.service.adam.service.processor;
import com.liquidnet.common.cache.redis.util.RedisUtil;
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.DataMigrationProcessorService;
import com.mysql.cj.jdbc.result.ResultSetImpl;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Service;
@Slf4j
@Service
public class DMRealNameProcessor extends DataMigrationProcessorService {
@Autowired
MongoTemplate mongoTemplate;
@Autowired
RedisUtil redisUtil;
@Autowired
AdamRealNameMapper realNameMapper;
@SneakyThrows
@Override
protected void dataProcessing(boolean flg) {
String sqlCount = "select count(1) from user_real_name where 1=1";
String field = "id,uid,real_name,id_card,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);
if (flg) {
sqlCount += " and uid in ('2026628','544327','1997335','773650','809406')";
sql += " and uid in ('2026628','544327','1997335','773650','809406')";
}
sql += " limit ?,?";
statement = connection.prepareStatement(sqlCount);
row = (ResultSetImpl) statement.executeQuery();
row.first();
int ct = row.getInt(1), pSize = 2, num = 0;
log.info("DM数据迁移总数:{}", ct);
while (ct > 0) {
statement = connection.prepareStatement(sql);
statement.setInt(1, pSize * num);
statement.setInt(2, pSize);
row = (ResultSetImpl) statement.executeQuery();
log.info("DM.execute.limit:[pNo:{},pSize:{}]", pSize * num, pSize);
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.setName(realName.getName());
vo.setIdCard(realName.getIdCard());
vo.setState(1);
realNameMapper.insert(realName);
mongoTemplate.insert(vo, AdamRealInfoVo.class.getSimpleName());
}
}
num++;
ct -= pSize;
}
}
}
package com.liquidnet.service.adam.service.processor;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.service.adam.dto.vo.AdamThirdPartInfoVo;
import com.liquidnet.service.adam.entity.AdamThirdParty;
import com.liquidnet.service.adam.mapper.AdamThirdPartyMapper;
import com.liquidnet.service.adam.service.DataMigrationProcessorService;
import com.mysql.cj.jdbc.result.ResultSetImpl;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Service;
@Slf4j
@Service
public class DMThirdPartsProcessor extends DataMigrationProcessorService {
@Autowired
MongoTemplate mongoTemplate;
@Autowired
RedisUtil redisUtil;
@Autowired
AdamThirdPartyMapper thirdPartyMapper;
@SneakyThrows
@Override
protected void dataProcessing(boolean flg) {
String sqlCount = "select count(1) from user_third_parts where `status`=1 and delete_tag=0";
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);
if (flg) {
sqlCount += " and uid in ('2026628','544327','1997335','773650','809406')";
sql += " and uid in ('2026628','544327','1997335','773650','809406')";
}
sql += " limit ?,?";
statement = connection.prepareStatement(sqlCount);
row = (ResultSetImpl) statement.executeQuery();
row.first();
int ct = row.getInt(1), pSize = 1000, num = 0;
log.info("DM数据迁移总数:{}", ct);
while (ct > 0) {
statement = connection.prepareStatement(sql);
statement.setInt(1, pSize * num);
statement.setInt(2, pSize);
row = (ResultSetImpl) statement.executeQuery();
log.info("DM.execute.limit:[pNo:{},pSize:{}]", pSize * num, pSize);
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);
thirdParty.setCreatedAt(row.getLocalDateTime(6));
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());
thirdPartyMapper.insert(thirdParty);
mongoTemplate.insert(vo, AdamThirdPartInfoVo.class.getSimpleName());
}
}
num++;
ct -= pSize;
}
}
}
package com.liquidnet.service.adam.service.processor;
import com.liquidnet.common.cache.redis.util.RedisUtil;
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.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Service;
import java.sql.SQLException;
@Slf4j
@Service
public class DMTracesInfoProcessor extends DataMigrationProcessorService {
@Autowired
MongoTemplate mongoTemplate;
@Autowired
RedisUtil redisUtil;
@Autowired
AdamMemberMapper memberMapper;
@Autowired
AdamMemberPriceMapper memberPriceMapper;
@Override
protected void dataProcessing(boolean flg) {
this.memberCardInfoHandler();
this.memberCardPriceHandler();
}
@SneakyThrows
private void memberCardInfoHandler() {
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
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);
memberMapper.insert(o);
mongoTemplate.insert(vo, AdamMemberVo.class.getSimpleName());
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
@SneakyThrows
private void memberCardPriceHandler() {
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
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();
memberPriceMapper.insert(o);
mongoTemplate.insert(vo, AdamMemberPriceVo.class.getSimpleName());
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
// @SneakyThrows
// @Override
// protected void dataProcessing(boolean flg) {
// String sqlCount = "select count(1) from addresses where 1=1";
// 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);
//
// if (flg) {
// sqlCount += " and user_id in ('2026628','544327','1997335','773650','809406')";
// sql += " and user_id in ('2026628','544327','1997335','773650','809406')";
// }
//
// sql += " limit ?,?";
//
// statement = connection.prepareStatement(sqlCount);
// resultSet = statement.executeQuery();
// resultSet.first();
// int ct = resultSet.getInt(1), pSize = 2, num = 0;
// log.info("DM数据迁移总数:{}", ct);
//
//
//
// while (ct > 0) {
// statement = connection.prepareStatement(sql);
// statement.setInt(1, pSize * num);
// statement.setInt(2, pSize);
// resultSet = statement.executeQuery();
// log.info("DM.execute.limit:[pNo:{},pSize:{}]", pSize * num, pSize);
// while (resultSet.next()) {
//
// }
//
//
// num++;
// ct -= pSize;
// }
// }
}
package com.liquidnet.service.adam.service.processor;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.JsonUtils;
......@@ -33,7 +34,8 @@ public class DMUserInformationProcessor extends DataMigrationProcessorService {
@Autowired
AdamUserInfoMapper userInfoMapper;
public static final String DM_FAILED_USER = "dm:user";
public static final String DM_FAILED_USER = "dm:failed:mobile";
public static final String DM_EXISTS_USER = "dm:exists:mobile";
public static List<String> reMobileList = new ArrayList<>();
public static Map<String, AdamTagVo> sexMap = new HashMap<>();
static {
......@@ -58,72 +60,80 @@ public class DMUserInformationProcessor extends DataMigrationProcessorService {
sql += " limit ?,?";
statement = connection.prepareStatement(sql);
resultSet = statement.executeQuery();
resultSet.first();
int ct = resultSet.getInt(1), pSize = 2, num = 0;
statement = connection.prepareStatement(sqlCount);
row = (ResultSetImpl) statement.executeQuery();
row.first();
int ct = row.getInt(1), pSize = 2, num = 0;
log.info("DM数据迁移总数:{}", ct);
while (ct > 0) {
statement = connection.prepareStatement(sql);
statement.setInt(1, pSize * num);
statement.setInt(2, pSize);
resultSet = statement.executeQuery();
row = (ResultSetImpl) statement.executeQuery();
log.info("DM.execute.limit:[pNo:{},pSize:{}]", pSize * num, pSize);
while (resultSet.next()) {
while (row.next()) {
try {
AdamTagVo sex = sexMap.get(this.resultSet.getString(4));
ResultSetImpl row = (ResultSetImpl) this.resultSet;
AdamUser user = new AdamUser();
user.setUid(row.getString(1));
user.setMobile(row.getString(2));
user.setCreatedAt(row.getLocalDateTime(10));
user.setUpdatedAt(row.getLocalDateTime(11));
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 userInfoVo = AdamUserInfoVo.getNew();
userInfoVo.setUid(user.getUid());
userInfoVo.setMobile(user.getMobile());
userInfoVo.setNickname(userInfo.getNickname());
userInfoVo.setState(user.getState());
userInfoVo.setSex(sex);
userInfoVo.setBirthday(DateUtil.Formatter.yyyy_MM_dd.format(userInfo.getBirthday()));
userInfoVo.setArea(userInfo.getArea());
userInfoVo.setSignature(userInfo.getSignature());
userInfoVo.setAvatar(userInfo.getAvatar());
userInfoVo.setBackground(userInfo.getBackground());
userInfoVo.setCreateAt(user.getCreatedAt());
userInfoVo.setUpdatedAt(user.getUpdatedAt());
userInfoVo.setIsComplete(row.getInt(12));
userInfoVo.setQrCode(userInfo.getQrCode());
if (!reMobileList.contains(user.getMobile())) {
AdamTagVo sex = sexMap.get(row.getString(4));
String mobile = row.getString(2);
if (!reMobileList.contains(mobile)) {
// log.info("mobile:{}", user.getMobile());
userMapper.insert(user);
userInfoMapper.insert(userInfo);
mongoTemplate.insert(userInfoVo, AdamUserInfoVo.class.getSimpleName());
if (userMapper.selectCount(Wrappers.lambdaQuery(AdamUser.class).eq(AdamUser::getMobile, mobile)) > 0) {
redisUtil.lSet(DM_EXISTS_USER, mobile);
} else {
AdamUser user = new AdamUser();
user.setUid(row.getString(1));
user.setMobile(mobile);
user.setCreatedAt(row.getLocalDateTime(10));
user.setUpdatedAt(row.getLocalDateTime(11));
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());
userMapper.insert(user);
userInfoMapper.insert(userInfo);
mongoTemplate.insert(vo, AdamUserInfoVo.class.getSimpleName());
}
}
} catch (SQLException throwables) {
redisUtil.lSet(DM_FAILED_USER, resultSet.getString(2));
log.error("DM数据处理异常[uid:{},mobile:{}],{} - {}", resultSet.getString(1), resultSet.getString(2),
redisUtil.lSet(DM_FAILED_USER, row.getString(2));
log.error("DM数据处理异常[uid:{},mobile:{}],{} - {}", row.getString(1), row.getString(2),
throwables.getErrorCode(), throwables.getMessage());
}
}
num++;
ct -= pSize;
}
......
package com.liquidnet.service.adam.service.processor;
import com.liquidnet.common.cache.redis.util.RedisUtil;
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.DataMigrationProcessorService;
import com.mysql.cj.jdbc.result.ResultSetImpl;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Service;
@Slf4j
@Service
public class DMUserMemberProcessor extends DataMigrationProcessorService {
@Autowired
MongoTemplate mongoTemplate;
@Autowired
RedisUtil redisUtil;
@Autowired
AdamUserMemberMapper userMemberMapper;
@SneakyThrows
@Override
protected void dataProcessing(boolean flg) {
String sqlCount = "select count(1) from user_cards where 1=1";
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);
if (flg) {
sqlCount += " and uid in ('2026628','544327','1997335','773650','809406')";
sql += " and uid in ('2026628','544327','1997335','773650','809406')";
}
sql += " limit ?,?";
statement = connection.prepareStatement(sqlCount);
row = (ResultSetImpl) statement.executeQuery();
row.first();
int ct = row.getInt(1), pSize = 2, num = 0;
log.info("DM数据迁移总数:{}", ct);
while (ct > 0) {
statement = connection.prepareStatement(sql);
statement.setInt(1, pSize * num);
statement.setInt(2, pSize);
row = (ResultSetImpl) statement.executeQuery();
log.info("DM.execute.limit:[pNo:{},pSize:{}]", pSize * num, pSize);
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());
userMemberMapper.insert(userMember);
mongoTemplate.insert(vo, AdamUserMemberVo.class.getSimpleName());
}
}
num++;
ct -= pSize;
}
}
}
......@@ -110,6 +110,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
@Override
public ResponseDto<PayResultVo> checkCanOrder(PayOrderParam payOrderParam) {
Long currentTime = System.currentTimeMillis();
boolean isDownGeneral = false;
String uid = CurrentUtil.getCurrentUid();
String lock = "userId:" + uid;
......@@ -117,7 +118,10 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
// return ResponseDto.failure("请求频繁");//参数错误
// }
try {
currentTime = System.currentTimeMillis();
KylinPerformanceVo performanceData = dataUtils.getPerformanceVo(payOrderParam.getPerformanceId());
currentTime=System.currentTimeMillis()-currentTime;
log.debug("redis 获取演出详情 -> time:"+currentTime+"毫秒");
KylinTicketTimesVo ticketTimesData = null;
KylinTicketVo ticketData = null;
for (int x = 0; x < performanceData.getTicketTimeList().size(); x++) {
......@@ -155,7 +159,10 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
String timeStart = ticketData.getTimeStart(); // 普通开售时间
String timeEnd = ticketData.getTimeEnd(); // 购票停售时间
String timeExpressEnd = ticketData.getTimeEndExpress(); // 快递停售时间
currentTime = System.currentTimeMillis();
boolean isMember = feignAdamBaseClient.isMember(uid).getData();//获取是否是会员
currentTime=System.currentTimeMillis()-currentTime;
log.debug("fegin 会员 -> time:"+(currentTime)+"毫秒");
// boolean isMember = true;
int memberType; //会员状态 不需要判断会员 1判断会员逻辑 2会员专属
if (ticketData.getIsExclusive() == 1) {
......@@ -224,9 +231,15 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
}
// 判断库存
currentTime = System.currentTimeMillis();
int surplusGeneral = dataUtils.changeSurplusGeneral(payOrderParam.getTicketId(), -payOrderParam.getNumber());
currentTime=System.currentTimeMillis()-currentTime;
log.debug("redis 获取库存 -> time:"+(currentTime)+"毫秒");
if (surplusGeneral < 0) {//库存回滚
currentTime = System.currentTimeMillis();
dataUtils.changeSurplusGeneral(payOrderParam.getTicketId(), payOrderParam.getNumber());
currentTime=System.currentTimeMillis()-currentTime;
log.debug("redis 修改库存 售罄 -> time:"+(currentTime)+"毫秒");
//redisLockUtil.unlock(lock);
return ResponseDto.failure("该票种已售罄");//没抢到
} else {
......@@ -235,6 +248,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
//学生票 判断
List<AdamEntersVo> entersVoList = new ArrayList<>();
if (isTrueName == 1) {
currentTime = System.currentTimeMillis();
for (String enterId : payOrderParam.getEnterIdList()) {
AdamEntersVo adamEnters = feignAdamBaseClient.queryEnters(enterId, uid).getData();
entersVoList.add(adamEnters);
......@@ -246,6 +260,8 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
}
}
}
currentTime=System.currentTimeMillis()-currentTime;
log.debug("获取 feign 入场人 -> time:"+(currentTime)+"毫秒");
}
//限购判断 如果实名 则身份证维度限购 如果不实名则数量限购
......@@ -256,26 +272,40 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
if (entersVoList.size() > 0) {
currentTime = System.currentTimeMillis();
for (int i = 0; i < entersVoList.size(); i++) {
String res1 = orderUtils.judgeOrderLimit(performanceData.getType(), uid, entersVoList.get(i).getIdCard(), payOrderParam.getPerformanceId(), payOrderParam.getTicketId(), performanceLimit, performanceMemberLimit, ticketLimit, ticketMemberLimit, 1, 1, memberType, isTrueName);
log.debug("redis 判断库存 -> time:"+(currentTime)+"毫秒");
if (!res1.equals("")) {
//redisLockUtil.unlock(lock);
return ResponseDto.failure(res1);//乱七八糟异常
}
}
currentTime=System.currentTimeMillis()-currentTime;
} else {
log.debug("redis 判断库存 -> time:"+(currentTime)+"毫秒");
currentTime = System.currentTimeMillis();
String res1 = orderUtils.judgeOrderLimit(performanceData.getType(), uid, "", payOrderParam.getPerformanceId(), payOrderParam.getTicketId(), performanceLimit, performanceMemberLimit, ticketLimit, ticketMemberLimit, payOrderParam.getNumber(), payOrderParam.getNumber(), memberType, isTrueName);
currentTime=System.currentTimeMillis()-currentTime;
if (!res1.equals("")) {
//redisLockUtil.unlock(lock);
return ResponseDto.failure(res1);//乱七八糟异常
}
currentTime=System.currentTimeMillis()-currentTime;
}
//redisLockUtil.unlock(lock);
return order(payOrderParam, uid, isMember, isTrueName, performanceData, ticketData, entersVoList, isStudent, ticketTimesData);
return order(payOrderParam, uid, isMember, isTrueName, performanceData, ticketData, entersVoList, isStudent, ticketTimesData,currentTime);
}
} catch (Exception e) {
if (isDownGeneral) {
currentTime = System.currentTimeMillis();
currentTime = System.currentTimeMillis();
dataUtils.changeSurplusGeneral(payOrderParam.getTicketId(), payOrderParam.getNumber());
currentTime=System.currentTimeMillis()-currentTime;
log.debug("redis 修改库存 异常 -> time:"+(currentTime)+"毫秒");
}
e.printStackTrace();
log.error("Kylin Order Pay Error = " + e.getMessage());
......@@ -284,7 +314,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
}
}
private ResponseDto<PayResultVo> order(PayOrderParam payOrderParam, String uid, boolean isMember, int isTrueName, KylinPerformanceVo performanceData, KylinTicketVo ticketData, List<AdamEntersVo> entersVoList, Integer isStudent, KylinTicketTimesVo ticketTimesData) {
private ResponseDto<PayResultVo> order(PayOrderParam payOrderParam, String uid, boolean isMember, int isTrueName, KylinPerformanceVo performanceData, KylinTicketVo ticketData, List<AdamEntersVo> entersVoList, Integer isStudent, KylinTicketTimesVo ticketTimesData,Long currentTime) {
LinkedList<String> sqls = new LinkedList<>();
String source = CurrentUtil.getCliSource() == null ? "" : CurrentUtil.getCliSource();
String version = CurrentUtil.getCliVersion() == null ? "" : CurrentUtil.getCliVersion();
......@@ -328,11 +358,14 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
orderTickets.setPaymentType(null);
orderTickets.setTimePay(null);
if (payOrderParam.getIsExpress() == 1) {
currentTime = System.currentTimeMillis();
AdamAddressesVo addressesVo = feignAdamBaseClient.queryAddresses(payOrderParam.getAddressId(), uid).getData();
orderTickets.setExpressContacts(addressesVo.getName());
orderTickets.setExpressAddress(addressesVo.getAddress());
orderTickets.setExpressPhone(addressesVo.getPhone());
orderTickets.setGetTicketType("express");
currentTime=System.currentTimeMillis()-currentTime;
log.debug("feign 获取入场人 -> time:"+(currentTime)+"毫秒");
} else {
orderTickets.setExpressContacts("");
orderTickets.setExpressAddress("");
......@@ -420,8 +453,14 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
orderTicketEntitiesVo.setCreatedAt(orderTicketEntities.getCreatedAt().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
orderTicketEntitiesVo.setUpdatedAt(null);
orderTicketEntitiesVo.setChangeDate(orderTicketEntities.getCreatedAt());
currentTime = System.currentTimeMillis();
mongoTemplate.insert(orderTicketEntitiesVo, KylinOrderTicketEntitiesVo.class.getSimpleName());
currentTime=System.currentTimeMillis()-currentTime;
log.debug("mongo 添加入场人 -> time:"+(currentTime)+"毫秒");
currentTime = System.currentTimeMillis();
dataUtils.changeBuyInfo(orderTicketEntitiesVo.getUserId(), orderTicketEntitiesVo.getEnterIdCode(), orderTicketEntitiesVo.getPerformanceId(), orderTicketEntitiesVo.getTicketId(), 1);
currentTime=System.currentTimeMillis()-currentTime;
log.debug("redis 修改 限购 -> time:"+(currentTime)+"毫秒");
}
} else {
for (int i = 0; i < payOrderParam.getNumber(); i++) {
......@@ -456,8 +495,14 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
orderTicketEntitiesVo.setCreatedAt(orderTicketEntities.getCreatedAt().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
orderTicketEntitiesVo.setUpdatedAt(null);
orderTicketEntitiesVo.setChangeDate(orderTicketEntities.getCreatedAt());
currentTime = System.currentTimeMillis();
mongoTemplate.insert(orderTicketEntitiesVo, KylinOrderTicketEntitiesVo.class.getSimpleName());
currentTime=System.currentTimeMillis()-currentTime;
log.debug("mongo 添加入场人 -> time:"+(currentTime)+"毫秒");
currentTime = System.currentTimeMillis();
dataUtils.changeBuyInfo(orderTicketEntitiesVo.getUserId(), orderTicketEntitiesVo.getEnterIdCode(), orderTicketEntitiesVo.getPerformanceId(), orderTicketEntitiesVo.getTicketId(), 1);
currentTime=System.currentTimeMillis()-currentTime;
log.debug("redis 修改限购 -> time:"+(currentTime)+"毫秒");
}
}
// 调用支付
......@@ -489,8 +534,42 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
httpData.add("return_url", payOrderParam.getReturnUrl() + orderTicketId);
}
String returnData = HttpUtil.post(payUrl + payOrderParam.getDeviceFrom() + "/" + payOrderParam.getPayType(), httpData);
PayResultVo payResultVo = JsonUtils.fromJson(returnData, PayResultVo.class);
currentTime = System.currentTimeMillis();
// String returnData = HttpUtil.post(payUrl + payOrderParam.getDeviceFrom() + "/" + payOrderParam.getPayType(), httpData);
currentTime=System.currentTimeMillis()-currentTime;
log.debug("调用 PHP 支付 -> time:"+(currentTime)+"毫秒");
PayResultVo payResultVo = null;
try {
payResultVo = JsonUtils.fromJson("{\n" +
" \"code\": \"20210618130049218267704668657P\",\n" +
" \"order_code\": \"T7774750254320448484\",\n" +
" \"status\": null,\n" +
" \"order_id\": \"77747502543208448\",\n" +
" \"showUrl\": \"http://devm.zhengzai.tv/#/ticket/purchase/detail?id=5936241&amp;type=purchase&amp;performance_id=5936241&amp;ticket_id=10981&amp;amount=1&amp;products_array=&amp;amount_array=&amp;express=077747502543208448\",\n" +
" \"returnUrl\": \"http://devm.zhengzai.tv/#/order/status?order_type=ticket&amp;order_id=77747502543208448\",\n" +
" \"price\": 0.01,\n" +
" \"pay_data\": {\n" +
" \"packages\": null,\n" +
" \"partnerid\": null,\n" +
" \"prepayid\": null,\n" +
" \"sign\": null,\n" +
" \"mweb_url\": null,\n" +
" \"paySign\": null,\n" +
" \"signType\": null,\n" +
" \"redirect_url\": \"https://openapi.alipay.com/gateway.do?alipay_sdk=lokielse%2Fomnipay-alipay&app_id=2019082866535131&biz_content=%7B%22product_code%22%3A%22QUICK_WAP_PAY%22%2C%22total_amount%22%3A%220.01%22%2C%22subject%22%3A%2206%5Cu670830%5Cu65e5%5Cu5355%5Cu65e5%5Cu7968%5Cu80e1%5Cu5927%5Cu7f8e%5Cu5e76%5Cu53d1%5Cu4e0b%5Cu5355%22%2C%22body%22%3A%22%5Cu80e1%5Cu5927%5Cu7f8e%5Cu5e76%5Cu53d1%5Cu4e0b%5Cu5355%5Cu5355%5Cu65e5%5Cu796806%5Cu670830%5Cu65e5%22%2C%22out_trade_no%22%3A%2220210618130049218267704668657P%22%2C%22time_expire%22%3A%222021-06-18+13%3A06%22%2C%22quit_url%22%3A%22http%3A%5C%2F%5C%2Fdevm.zhengzai.tv%5C%2F%23%5C%2Fticket%5C%2Fpurchase%5C%2Fdetail%3Fid%3D5936241%26amp%3Btype%3Dpurchase%26amp%3Bperformance_id%3D5936241%26amp%3Bticket_id%3D10981%26amp%3Bamount%3D1%26amp%3Bproducts_array%3D%26amp%3Bamount_array%3D%26amp%3Bexpress%3D077747502543208448%22%7D&charset=utf-8&format=JSON&method=alipay.trade.wap.pay&notify_url=http%3A%2F%2Ftestpay.zhengzai.tv%2Fnotify%2Fwap%2Falipay%2F1&return_url=http%3A%2F%2Fdevm.zhengzai.tv%2F%23%2Forder%2Fstatus%3Forder_type%3Dticket%26amp%3Border_id%3D77747502543208448&sign_type=RSA2&timestamp=2021-06-18+13%3A00%3A49&version=1.0&sign=UaHmNdI1cXjjSkR4gwrnELSWXqb1Icg1uCOe0vEo5yHCqWOy4JZCZbjCR1xOHQKowSMBAr6U2XLtMAaNXr6mX%2B%2F5IiaChsD4IPoODNT7F4GckVcqP3GkdLZTro%2FGmBau6VoYw1uVpyutQTJsjEU1fQ%2F5KDAKLvg0XG%2F1D%2BXb%2Bv6LdLDvehCEPzy4W%2BCT0qPANU4ysgZkt9hP1ljH61%2FBWiDnfz%2BOdust4KBoJYQzNWO3XSwvc17OxdGHn8EBmYRJz6sr1nt0i2h4BGQtjrOHRB3dToVkxrlsHtbrOmiCdRFH6utSVA8UjeKtlEB%2FH%2BkQfVxPkpOicTjkokhDNK6svg%3D%3D\",\n" +
" \"order_str\": null,\n" +
" \"appId\": null,\n" +
" \"appid\": null,\n" +
" \"nonceStr\": null,\n" +
" \"noncestr\": null,\n" +
" \"timeStamp\": null,\n" +
" \"timestamp\": null,\n" +
" \"package\": null\n" +
" }\n" +
" }", PayResultVo.class);
}catch (Exception e){
payResultVo = new PayResultVo();
}
payResultVo.setOrder_id(orderTicketId);
payResultVo.setPrice(orderTickets.getPriceActual());
orderTickets.setPayCode(payResultVo.getCode());
......@@ -514,14 +593,23 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
orderTicketVo.setOverdueAt(orderTickets.getCreatedAt().plusMinutes(performanceData.getPayCountdownMinute()).plusSeconds(15).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
orderTicketVo.setCreatedAt(orderTickets.getCreatedAt().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
orderTicketVo.setChangeDate(orderTickets.getCreatedAt());
currentTime = System.currentTimeMillis();
mongoTemplate.insert(orderTicketVo, KylinOrderTicketVo.class.getSimpleName());
currentTime=System.currentTimeMillis()-currentTime;
log.debug("mongo 添加 订单 -> time:"+(currentTime)+"毫秒");
currentTime = System.currentTimeMillis();
mongoVoUtils.resetOrderListVo(uid, 1, orderTicketVo.getOrderTicketsId());
currentTime=System.currentTimeMillis()-currentTime;
log.debug("redis 修改订单列表 -> time:"+(currentTime)+"毫秒");
// 执行sql
String sqlData = SqlMapping.gets(sqls, sqlsDataB, sqlsDataC, sqlsDataD, sqlsDataA);
currentTime = System.currentTimeMillis();
rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_CREADE, MQConst.ROUTING_KEY_SQL_ORDER_CREATE,
sqlData);
currentTime=System.currentTimeMillis()-currentTime;
log.debug("MQ 发送 -> time:"+(currentTime)+"毫秒");
return ResponseDto.success(payResultVo);
}
......
......@@ -146,7 +146,8 @@ public class DataUtils {
} else {
KylinPerformanceVo performanceData = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performanceId)), KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
List<KylinPerformanceVo> roadList = new ArrayList();
if (Integer.parseInt(performanceData.getRoadShowId()) > 0) {
if (null != performanceData.getRoadShowId() && Integer.parseInt(performanceData.getRoadShowId()) > 0) {
roadList = dataUtils.getRoadList(performanceData.getRoadShowId());
}
redisUtil.set(KylinRedisConst.PERFORMANCES + performanceId, performanceData);
......@@ -311,9 +312,9 @@ public class DataUtils {
//查询 mysql 数据
KylinPerformanceVo vo;
if (null == paramVo) {
vo = mongoVoUtils.combinePerformanceVoData(performanceIds);
vo = mongoVoUtils.combinePerformanceVoData(performanceIds);
} else {
vo = paramVo;
vo = paramVo;
}
if (vo != null) {
try {
......
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