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

Commit 6fb98044 authored by jiangxiulong's avatar jiangxiulong

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

parents f79f33e6 b7d6d5f7
......@@ -3,6 +3,7 @@ package com.liquidnet.service.kylin.constant;
public class KylinRedisConst {
public static final String FIELDS = "kylin:fields:id";
public static final String PERFORMANCES = "kylin:performances:id:";
public static final String PERFORMANCES_TRUE_NAME = "kylin:performances_true_name:id:";
public static final String PERFORMANCES_LIST_CITYNAME = "kylin:performances:cityName:";
public static final String PERFORMANCES_LIST_ALL = "kylin:performances:cityName*";
public static final String PERFORMANCES_LIST_SYSTEM_RECOMMEND = "kylin:performances:systemRecommend";
......
......@@ -114,13 +114,14 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
map.put("auditStatus", auditStatus);
map.put("updatedAt", updatedAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
BasicDBObject objectPerformanceVo = new BasicDBObject("$set", mongoConverter.convertToMongoType(map));
Document doc = mongoTemplate.getCollection(PerformancePartnerVo.class.getSimpleName()).findOneAndUpdate(
mongoTemplate.getCollection(PerformancePartnerVo.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("performancesId").is(performancesId)).getQueryObject(),
objectPerformanceVo,
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
);
KylinPerformanceStatus sqlStatus = performanceStatusMapper.selectOne(new UpdateWrapper<KylinPerformanceStatus>().eq("performance_id", performancesId));
dataUtils.setPerformanceIsTrueName(performancesId,sqlStatus.getIsTrueName());
if (sqlStatus.getStatus() == 1) {
log.info(" PERFORMANCE 演出审核 第一次");
//修改
......@@ -163,6 +164,7 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
performanceVoUtils.performanceVoStatus(performancesId);
}
}
dataUtils.delPerformanceRedis(performancesId);
} else if (status == 4) {
log.info(" PERFORMANCE 演出审核 拒绝");
......
......@@ -82,6 +82,16 @@ public class DataUtils {
redisUtil.del(KylinRedisConst.PERFORMANCES + performanceId);
}
/**
* 演出是否实名
*
* @param performanceId
* @param isTrueName
*/
public void setPerformanceIsTrueName(String performanceId,int isTrueName) {
redisUtil.set(KylinRedisConst.PERFORMANCES_TRUE_NAME + performanceId,isTrueName);
}
/**
* 删除场次redis
*
......@@ -219,6 +229,22 @@ public class DataUtils {
return (KylinPerformanceVo) redisUtil.get(KylinRedisConst.PERFORMANCES + performanceId);
}
/**
* 演出是否实名
*
* @param performanceId
*/
public int getPerformanceIsTrueName(String performanceId) {
Object obj = redisUtil.get(KylinRedisConst.PERFORMANCES_TRUE_NAME + performanceId);
if (obj!=null) {
return (int)obj;
}else{
int isTrueName = getPerformanceVo(performanceId).getIsTrueName();
redisUtil.set(KylinRedisConst.PERFORMANCES_TRUE_NAME + performanceId,isTrueName);
return isTrueName;
}
}
/**
* @param performanceId 演出id
* @param ticketId 票种id
......@@ -227,8 +253,7 @@ public class DataUtils {
public void changeBuyInfo(String userId, String idCard, String performanceId, String ticketId, int buyCount) {
String redisKey;
KylinPerformanceVo vo = getPerformanceVo(performanceId);
int isTrueName = vo.getIsTrueName();
int isTrueName = getPerformanceIsTrueName(performanceId);
// String useTime = "";
// HashMap<String, ArrayList<String>> allTicketId = new HashMap<>();
// for (int x = 0; x < vo.getTicketTimeList().size(); x++) {
......
package com.liquidnet.commons.lang.util;
import com.liquidnet.commons.lang.util.spring.RestTemplateConfig;
import org.springframework.http.*;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
......@@ -14,7 +15,7 @@ public class HttpUtil {
private static RestTemplate restTemplate;
static {
restTemplate = new RestTemplate();
restTemplate = RestTemplateConfig.getRestTemplate();
}
/**
......
package com.liquidnet.commons.lang.util.spring;
import org.apache.http.client.HttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
import org.springframework.web.client.DefaultResponseErrorHandler;
import org.springframework.web.client.RestTemplate;
import java.util.concurrent.TimeUnit;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @Description: TODO
* @class: RestTemplateConfig
* @Package com.liquidnet.commons.lang.util.spring
* @Copyright: LightNet @ Copyright (c) 2021
* @date 2021/7/31 14:57
*/
public class RestTemplateConfig {
private static RestTemplate restTemplate;
static {
// 长链接保持时间长度20秒
PoolingHttpClientConnectionManager poolConnManager =
new PoolingHttpClientConnectionManager(20, TimeUnit.SECONDS);
// 设置最大链接数
poolConnManager.setMaxTotal(500*getMaxCpuCore() + 500 );
// 单路由的并发数
poolConnManager.setDefaultMaxPerRoute(500*getMaxCpuCore());
HttpClientBuilder httpClientBuilder = HttpClients.custom();
httpClientBuilder.setConnectionManager(poolConnManager);
// 重试次数3次,并开启
// httpClientBuilder.setRetryHandler(new DefaultHttpRequestRetryHandler(3,true));
HttpClient httpClient = httpClientBuilder.build();
// // 保持长链接配置,keep-alive
// httpClientBuilder.setKeepAliveStrategy(new DefaultConnectionKeepAliveStrategy());
HttpComponentsClientHttpRequestFactory httpComponentsClientHttpRequestFactory = new HttpComponentsClientHttpRequestFactory(httpClient);
// 链接超时配置 5秒
httpComponentsClientHttpRequestFactory.setConnectTimeout(5000);
// 连接读取超时配置
// httpComponentsClientHttpRequestFactory.setReadTimeout(10000);
// 连接池不够用时候等待时间长度设置,分词那边 500毫秒 ,我们这边设置成1秒
httpComponentsClientHttpRequestFactory.setConnectionRequestTimeout(5000);
// 缓冲请求数据,POST大量数据,可以设定为true 我们这边机器比较内存较大
httpComponentsClientHttpRequestFactory.setBufferRequestBody(true);
restTemplate = new RestTemplate();
restTemplate.setRequestFactory(httpComponentsClientHttpRequestFactory);
restTemplate.setErrorHandler(new DefaultResponseErrorHandler());
}
public static RestTemplate getRestTemplate(){
return restTemplate;
}
private static int getMaxCpuCore(){
int cpuCore = Runtime.getRuntime().availableProcessors();
return cpuCore;
}
}
......@@ -87,8 +87,7 @@ public class KylinUtils {
public void changeBuyInfo(String userId, String idCard, String performanceId, String ticketId, int buyCount) {
String redisKey;
KylinPerformanceVo vo = getPerformanceVo(performanceId);
int isTrueName = vo.getIsTrueName();
int isTrueName = getPerformanceIsTrueName(performanceId);
// String useTime = "";
// HashMap<String, ArrayList<String>> allTicketId = new HashMap<>();
// for (int x = 0; x < vo.getTicketTimeList().size(); x++) {
......@@ -141,6 +140,22 @@ public class KylinUtils {
return (KylinPerformanceVo) redisUtil.get(KylinRedisConst.PERFORMANCES + performanceId);
}
/**
* 演出是否实名
*
* @param performanceId
*/
public int getPerformanceIsTrueName(String performanceId) {
Object obj = redisUtil.get(KylinRedisConst.PERFORMANCES_TRUE_NAME + performanceId);
if (obj!=null) {
return (int)obj;
}else{
int isTrueName = getPerformanceVo(performanceId).getIsTrueName();
redisUtil.set(KylinRedisConst.PERFORMANCES_TRUE_NAME + performanceId,isTrueName);
return isTrueName;
}
}
/**
* 根据订单id 获取 订单vo 详情
*
......
use test_ln_scene;
#创建集合
db.createCollection("KylinCheckUserPerformanceVo");
db.createCollection("KylinCheckUserVo");
db.createCollection("KylinOrderRefundEntitiesVo");
db.createCollection("KylinOrderRefundPicVo");
db.createCollection("KylinOrderRefundsVo");
db.createCollection("KylinOrderTicketEntitiesVo");
db.createCollection("KylinOrderTicketVo");
db.createCollection("KylinPerformanceVo");
db.createCollection("KylinRoadShowVo");
db.createCollection("KylinPerformanceMisVo");
db.createCollection("KylinTicketPartnerVo");
db.createCollection("KylinTicketTimesPartnerVo");
db.createCollection("PerformanceMemberAuditParam");
db.createCollection("AdminUpushVo");
#创建索引
db.KylinCheckUserPerformanceVo.createIndex({checkUserId:"hashed"});
db.KylinCheckUserVo.createIndex({merchantId:"hashed"});
db.KylinCheckUserVo.createIndex({mobile:"hashed"});
db.KylinOrderRefundEntitiesVo.createIndex({orderRefundsId:"hashed"});
db.KylinOrderRefundEntitiesVo.createIndex({orderTicketEntitiesId:"hashed"});
db.KylinOrderRefundPicVo.createIndex({orderRefundsId:"hashed"});
db.KylinOrderRefundsVo.createIndex({orderRefundsId:"hashed"});
db.KylinOrderRefundsVo.createIndex({orderTicketsId:"hashed"});
db.KylinOrderTicketEntitiesVo.createIndex({orderTicketEntitiesId:"hashed"});
db.KylinOrderTicketEntitiesVo.createIndex({orderId:"hashed"});
db.KylinOrderTicketVo.createIndex({orderTicketsId:"hashed"});
db.KylinOrderTicketVo.createIndex({orderCode:"hashed"});
db.KylinOrderTicketVo.createIndex({userId:"hashed"});
db.KylinPerformanceVo.createIndex({performancesId:"hashed"});
db.KylinPerformanceMisVo.createIndex({performancesId:"hashed"});
db.KylinTicketPartnerVo.createIndex({ticketsId:"hashed"});
db.KylinTicketPartnerVo.createIndex({timesId:"hashed"});
db.KylinTicketTimesPartnerVo.createIndex({performancesId:"hashed"});
db.KylinTicketTimesPartnerVo.createIndex({ticketTimesId:"hashed"});
db.PerformanceMemberAuditParam.createIndex({performancesId:"hashed"});
db.AdminUpushVo.createIndex({upushId:"hashed"});
#创建分片
sh.enableSharding("test_ln_scene");
sh.shardCollection("test_ln_scene.KylinCheckUserPerformanceVo",{"checkUserId":"hashed"});
sh.shardCollection("test_ln_scene.KylinCheckUserVo",{"checkUserId":"hashed"});
sh.shardCollection("test_ln_scene.KylinOrderRefundEntitiesVo",{"orderRefundsEntitiesId":"hashed"});
sh.shardCollection("test_ln_scene.KylinOrderRefundPicVo",{"refundPicId":"hashed"});
sh.shardCollection("test_ln_scene.KylinOrderRefundsVo",{"orderRefundsId":"hashed"});
sh.shardCollection("test_ln_scene.KylinOrderTicketEntitiesVo",{"orderTicketEntitiesId":"hashed"});
sh.shardCollection("test_ln_scene.KylinOrderTicketVo",{"orderTicketsId":"hashed"});
sh.shardCollection("test_ln_scene.KylinPerformanceVo",{"performancesId":"hashed"});
sh.shardCollection("test_ln_scene.KylinRoadShowVo",{"roadShowsId":"hashed"});
sh.shardCollection("test_ln_scene.KylinPerformanceMisVo",{"performancesId":"hashed"});
sh.shardCollection("test_ln_scene.KylinTicketPartnerVo",{"ticketsId":"hashed"});
sh.shardCollection("test_ln_scene.KylinTicketTimesPartnerVo",{"ticketTimesId":"hashed"});
sh.shardCollection("test_ln_scene.PerformanceMemberAuditParam",{"performancesId":"hashed"});
sh.shardCollection("test_ln_scene.AdminUpushVo",{"upushId":"hashed"});
use test_ln_scene;
#删除集合内数据
db.KylinCheckUserPerformanceVo.deleteMany({});
db.KylinCheckUserVo.deleteMany({});
db.KylinOrderRefundEntitiesVo.deleteMany({});
db.KylinOrderRefundPicVo.deleteMany({});
db.KylinOrderRefundsVo.deleteMany({});
db.KylinOrderTicketEntitiesVo.deleteMany({});
db.KylinOrderTicketVo.deleteMany({});
db.KylinPerformanceVo.deleteMany({});
db.KylinRoadShowVo.deleteMany({});
db.KylinPerformanceMisVo.deleteMany({});
db.KylinTicketPartnerVo.deleteMany({});
db.KylinTicketTimesPartnerVo.deleteMany({});
db.PerformanceMemberAuditParam.deleteMany({});
db.AdminUpushVo.deleteMany({});
-- db.KylinOrderTicketVo.deleteMany({createdAt:/^2021-04.*/})
......@@ -74,8 +74,6 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
@Autowired
private OrderUtils orderUtils;
@Autowired
private RedisLockUtil redisLockUtil;
@Autowired
private MongoTemplate mongoTemplate;
@Autowired
private MongoConverter mongoConverter;
......@@ -126,20 +124,16 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
}
if (performanceData == null || ticketTimesData == null || ticketData == null) {
redisLockUtil.unlock(lock);
return ResponseDto.failure(ErrorMapping.get("20004"));//参数错误
}
if (!ticketData.getTimeId().equals(payOrderParam.getTimeId()) || !ticketTimesData.getPerformanceId().equals(payOrderParam.getPerformanceId())) {
redisLockUtil.unlock(lock);
return ResponseDto.failure(ErrorMapping.get("20004"));//参数错误
}
if (payOrderParam.getNumber() % ticketData.getCounts() != 0) {
redisLockUtil.unlock(lock);
return ResponseDto.failure(ErrorMapping.get("20007"));//数量错误
}
//判断代理
if (!checkAgent(payOrderParam.getAgentId(), ticketData)) {
redisLockUtil.unlock(lock);
return ResponseDto.failure(ErrorMapping.get("20008"));//无权购买
}
......@@ -157,7 +151,6 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
if (ticketData.getIsExclusive() == 1) {
memberType = 2;
if (!isMember) {
redisLockUtil.unlock(lock);
return ResponseDto.failure(ErrorMapping.get("20009"));//没有会员权限
}
} else {
......@@ -165,7 +158,6 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
// 会员购买逻辑
memberType = 1;
if (!isMember) {
redisLockUtil.unlock(lock);
return ResponseDto.failure(ErrorMapping.get("20009"));//没有会员权限
}
} else {
......@@ -182,50 +174,41 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
int isTrueName = ticketData.getIsTrueName();//是否演出实名
if (!canBuyStatus.contains(performanceData.getAppStatus())) {
redisLockUtil.unlock(lock);
return ResponseDto.failure(ErrorMapping.get("20010"));//当前不可购买
}
if (!canBuyStatus.contains(performanceData.getAppStatus())) {
redisLockUtil.unlock(lock);
return ResponseDto.failure(ErrorMapping.get("20010"));//当前不可购买
}
//通用判断时间
if (isMember) {
if (DateUtil.compareStrDay(DateUtil.getNowTime(), memberTimeStart) == -1) {
redisLockUtil.unlock(lock);
return ResponseDto.failure(ErrorMapping.get("20011"));//未开始
}
} else {
if (DateUtil.compareStrDay(DateUtil.getNowTime(), timeStart) == -1) {
redisLockUtil.unlock(lock);
return ResponseDto.failure(ErrorMapping.get("20011"));//未开始
}
}
if (DateUtil.compareStrDay(DateUtil.getNowTime(), timeEnd) == 1) {
redisLockUtil.unlock(lock);
return ResponseDto.failure(ErrorMapping.get("20012"));//已结束
}
//快递票判断
if (payOrderParam.getIsExpress() != null) {
if (payOrderParam.getIsExpress() == 1 && DateUtil.compareStrDay(DateUtil.getNowTime(), timeExpressEnd) == 1) {
redisLockUtil.unlock(lock);
return ResponseDto.failure(ErrorMapping.get("20013"));//快递票不卖
}
if (payOrderParam.getIsExpress() == 1 && payOrderParam.getAddressId().isEmpty()) {
redisLockUtil.unlock(lock);
return ResponseDto.failure(ErrorMapping.get("20014"));//快递票未填写收货地址
}
}
//实名判断
if (isTrueName == 1 && payOrderParam.getEnterIdList().size() <= 0) {
redisLockUtil.unlock(lock);
return ResponseDto.failure(ErrorMapping.get("20015"));//需要实名 未实名
}
if (isTrueName == 1 && payOrderParam.getEnterIdList().size() != payOrderParam.getNumber()) {
redisLockUtil.unlock(lock);
return ResponseDto.failure(ErrorMapping.get("20015"));//入场人数量错误
}
......@@ -243,7 +226,6 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
currentTime = System.currentTimeMillis() - currentTime;
log.debug("redis 修改库存 售罄 -> time:" + (currentTime) + "毫秒");
log.debug("TAG_REDIS 售罄 回滚库存1 -> count:" + payOrderParam.getNumber());
redisLockUtil.unlock(lock);
return ResponseDto.failure(ErrorMapping.get("20016"));//没抢到
} else {
isDownGeneral = true;
......@@ -260,7 +242,6 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
if (age > 25) {
dataUtils.changeSurplusGeneral(payOrderParam.getTicketId(), payOrderParam.getNumber());
log.debug("TAG_REDIS 学生票 回滚库存2 -> count:" + payOrderParam.getNumber());
redisLockUtil.unlock(lock);
return ResponseDto.failure(ErrorMapping.get("20017"));//年龄超了
}
}
......@@ -278,7 +259,6 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
if (!res1.equals("")) {
dataUtils.changeSurplusGeneral(payOrderParam.getTicketId(), payOrderParam.getNumber());
log.debug("TAG_REDIS 限购 回滚库存3 -> count:" + payOrderParam.getNumber());
redisLockUtil.unlock(lock);
return ResponseDto.failure(res1);//乱七八糟异常
}
}
......@@ -292,7 +272,6 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
if (!res1.equals("")) {
dataUtils.changeSurplusGeneral(payOrderParam.getTicketId(), payOrderParam.getNumber());
log.debug("TAG_REDIS 限购 回滚库存3 -> count:" + payOrderParam.getNumber());
redisLockUtil.unlock(lock);
return ResponseDto.failure(res1);//乱七八糟异常
}
currentTime = System.currentTimeMillis() - currentTime;
......@@ -301,7 +280,6 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
ResponseDto<PayInnerResultVo> resultData = order(payOrderParam, uid, isMember, isTrueName, performanceData, ticketData, entersVoList, isStudent, ticketTimesData, currentTime);
isDownGeneral = false;
redisLockUtil.unlock(lock);
return resultData;
}
} catch (Exception e) {
......@@ -321,7 +299,6 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
}
}
}
redisLockUtil.unlock(lock);
return ResponseDto.failure(ErrorMapping.get("20018"));//乱七八糟异常
}
}
......@@ -733,27 +710,23 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
String timePay = syncOrderParam.getPaymentAt();
KylinOrderTicketVo orderTicketData = mongoTemplate.findOne(Query.query(Criteria.where("orderCode").is(syncOrderParam.getOrderCode())), KylinOrderTicketVo.class, KylinOrderTicketVo.class.getSimpleName());
if (orderTicketData == null) {
redisLockUtil.unlock(lock);
log.error("订单不存在");
return "fail";//订单不存在
}
if (orderTicketData.getStatus() != KylinTableStatusConst.ORDER_STATUS0) {
if (orderTicketData.getPayCode().equals(syncOrderParam.getCode()) && orderTicketData.getStatus() == KylinTableStatusConst.ORDER_STATUS1) {
redisLockUtil.unlock(lock);
log.error("已经支付");
return "success";//已经支付
}
if (!orderTicketData.getPayCode().equals(syncOrderParam.getCode())) {
redisLockUtil.unlock(lock);
log.error("重复支付");
return "fail";//重复支付
}
}
if (orderTicketData.getPriceActual().compareTo(syncOrderParam.getPrice()) != 0) {
redisLockUtil.unlock(lock);
log.error("价格不符");
return "fail";//价格不符
}
......@@ -883,7 +856,6 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
// 大麦回调
sycDamaiOrder(orderTickets.getOrderTicketsId());
}
redisLockUtil.unlock(lock);
log.info(UserPathDto.setData("订单支付成功回调", syncOrderParam, ""));
return "success";
} catch (Exception e) {
......
......@@ -102,8 +102,7 @@ public class DataUtils {
public void changeBuyInfo(String userId, String idCard, String performanceId, String ticketId, int buyCount) {
String redisKey;
KylinPerformanceVo vo = getPerformanceVo(performanceId);
int isTrueName = vo.getIsTrueName();
int isTrueName = getPerformanceIsTrueName(performanceId);
// String useTime = "";
// HashMap<String, ArrayList<String>> allTicketId = new HashMap<>();
// for (int x = 0; x < vo.getTicketTimeList().size(); x++) {
......@@ -204,6 +203,22 @@ public class DataUtils {
}
}
/**
* 演出是否实名
*
* @param performanceId
*/
public int getPerformanceIsTrueName(String performanceId) {
Object obj = redisUtil.get(KylinRedisConst.PERFORMANCES_TRUE_NAME + performanceId);
if (obj!=null) {
return (int)obj;
}else{
int isTrueName = getPerformanceVo(performanceId).getIsTrueName();
redisUtil.set(KylinRedisConst.PERFORMANCES_TRUE_NAME + performanceId,isTrueName);
return isTrueName;
}
}
public void delOrderRefundVoByOrderId(String orderId) {
redisUtil.del(KylinRedisConst.ORDER_REFUND_BY_ORDER_ID + orderId);
}
......
......@@ -96,7 +96,7 @@ public class DMAddressesProcessor extends DataMigrationProcessorService {
dmRdmService.addAddressesVoByUid(uid, dmRdmService.getAddressesVoByUid(uid), vo);
}
if (addressesList.size() == 500 || (addressesList.size() > 0 && smFlg)) {
if (addressesList.size() == 1000 || (addressesList.size() > 0 && smFlg) || ct < 1000) {
tl += addressesList.size();
// mongoTemplate.insert(vos, AdamAddressesVo.class.getSimpleName());
log.info("DM.execute.limit.result:{}", dmAddressesService.saveBatch(addressesList));
......@@ -104,6 +104,10 @@ public class DMAddressesProcessor extends DataMigrationProcessorService {
addressesList.clear();
}
}
if (addressesList.size() > 0 && ct > 1000) {
tl += addressesList.size();
log.info("DM.execute.limit.result:{}", dmAddressesService.saveBatch(addressesList));
}
row.close();
statement.close();
......
......@@ -87,7 +87,7 @@ public class DMCollectionProcessor extends DataMigrationProcessorService {
collectionList.add(collection);
vos.add(AdamCollectBaseVo.getNew().copy(collection));
}
if (collectionList.size() == 500 || (collectionList.size() > 0 && smFlg)) {
if (collectionList.size() == 1000 || (collectionList.size() > 0 && smFlg) || ct < 1000) {
tl += collectionList.size();
// mongoTemplate.insert(vos, AdamCollectBaseVo.class.getSimpleName());
log.info("DM.execute.limit.result:{}", dmCollectionService.saveBatch(collectionList));
......@@ -95,6 +95,10 @@ public class DMCollectionProcessor extends DataMigrationProcessorService {
collectionList.clear();
}
}
if (collectionList.size() > 0 && ct > 1000) {
tl += collectionList.size();
log.info("DM.execute.limit.result:{}", dmCollectionService.saveBatch(collectionList));
}
row.close();
statement.close();
......
......@@ -100,7 +100,7 @@ public class DMEntersProcessor extends DataMigrationProcessorService {
}
dmRdmService.addEntersVoByUid(uid, dmRdmService.getEntersVoByUid(uid), vo);
}
if (entersList.size() == 500 || (entersList.size() > 0 && smFlg)) {
if (entersList.size() == 1000 || (entersList.size() > 0 && smFlg) || ct < 1000) {
tl += entersList.size();
// mongoTemplate.insert(vos, AdamEntersVo.class.getSimpleName());
log.info("DM.execute.limit.result:{}", dmEntersService.saveBatch(entersList));
......@@ -108,6 +108,10 @@ public class DMEntersProcessor extends DataMigrationProcessorService {
entersList.clear();
}
}
if (entersList.size() > 0 && ct > 1000) {
tl += entersList.size();
log.info("DM.execute.limit.result:{}", dmEntersService.saveBatch(entersList));
}
row.close();
statement.close();
......
......@@ -251,7 +251,7 @@ public class DMMemberCodeProcessor extends DataMigrationProcessorService {
dmRdmService.setMemberCodeVoByCode(memberCode.getCode(), vo);
}
// }
if (memberCodeList.size() == 500) {
if (memberCodeList.size() == 1000 || ct < 1000) {
tl += memberCodeList.size();
// mongoTemplate.insert(vos, AdamMemberCodeVo.class.getSimpleName());
log.info("DM.execute.limit.result:{}", dmMemberCodeService.saveBatch(memberCodeList));
......@@ -259,6 +259,10 @@ public class DMMemberCodeProcessor extends DataMigrationProcessorService {
memberCodeList.clear();
}
}
if (memberCodeList.size() > 0 && ct > 1000) {
tl += memberCodeList.size();
log.info("DM.execute.limit.result:{}", dmMemberCodeService.saveBatch(memberCodeList));
}
row.close();
statement.close();
......
......@@ -132,7 +132,7 @@ public class DMMemberOrderProcessor extends DataMigrationProcessorService {
dmRdmService.addMemberOrderVoByUid(uid, dmRdmService.getMemberOrderVosByUid(uid), vo);
}
if (memberOrderList.size() == 500 || (memberOrderList.size() > 0 && smFlg)) {
if (memberOrderList.size() == 1000 || (memberOrderList.size() > 0 && smFlg) || ct < 1000) {
tl += memberOrderList.size();
// mongoTemplate.insert(vos, AdamMemberOrderVo.class.getSimpleName());
log.info("DM.execute.limit.result:{}", dmMemberOrderService.saveBatch(memberOrderList));
......@@ -140,6 +140,10 @@ public class DMMemberOrderProcessor extends DataMigrationProcessorService {
memberOrderList.clear();
}
}
if (memberOrderList.size() > 0 && ct > 1000) {
tl += memberOrderList.size();
log.info("DM.execute.limit.result:{}", dmMemberOrderService.saveBatch(memberOrderList));
}
row.close();
statement.close();
......
......@@ -99,7 +99,7 @@ public class DMRealNameProcessor extends DataMigrationProcessorService {
dmRdmService.setRealInfoVoByUid(uid, vo);
dmRdmService.setCertification(1, realName.getIdCard(), realName.getName());
}
if (realNameList.size() == 500 || (realNameList.size() > 0 && smFlg)) {
if (realNameList.size() == 1000 || (realNameList.size() > 0 && smFlg) || ct < 1000) {
tl += realNameList.size();
// mongoTemplate.insert(vos, AdamRealInfoVo.class.getSimpleName());
log.info("DM.execute.limit.result:{}", dmRealNameService.saveBatch(realNameList));
......@@ -107,6 +107,10 @@ public class DMRealNameProcessor extends DataMigrationProcessorService {
realNameList.clear();
}
}
if (realNameList.size() > 0 && ct > 1000) {
tl += realNameList.size();
log.info("DM.execute.limit.result:{}", dmRealNameService.saveBatch(realNameList));
}
row.close();
statement.close();
......
......@@ -108,7 +108,7 @@ public class DMThirdPartsProcessor extends DataMigrationProcessorService {
dmRdmService.setUidByPlatformOpenId(thirdParty.getPlatform(), thirdParty.getOpenId(), uid);
dmRdmService.addThirdPartVoListByUid(uid, dmRdmService.getThirdPartVoListByUid(uid), vo);
}
if (thirdPartyList.size() == 500 || (thirdPartyList.size() > 0 && smFlg)) {
if (thirdPartyList.size() == 1000 || (thirdPartyList.size() > 0 && smFlg) || ct < 1000) {
tl += thirdPartyList.size();
// mongoTemplate.insert(vos, AdamThirdPartInfoVo.class.getSimpleName());
log.info("DM.execute.limit.result:{}", dmThirdPartyService.saveBatch(thirdPartyList));
......@@ -116,6 +116,10 @@ public class DMThirdPartsProcessor extends DataMigrationProcessorService {
thirdPartyList.clear();
}
}
if (thirdPartyList.size() > 0 && ct > 1000) {
tl += thirdPartyList.size();
log.info("DM.execute.limit.result:{}", dmThirdPartyService.saveBatch(thirdPartyList));
}
row.close();
statement.close();
......
package com.liquidnet.service.platform.service.impl.adam.dm.processor;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.service.adam.dto.vo.AdamMemberPriceVo;
import com.liquidnet.service.adam.dto.vo.AdamMemberVo;
import com.liquidnet.service.adam.entity.AdamMember;
......@@ -141,7 +142,9 @@ public class DMTracesInfoProcessor extends DataMigrationProcessorService {
AdamMemberPriceVo vo = AdamMemberPriceVo.getNew().copy(o);
dmRdmService.setMemberPriceVoByMemberId(vo.getMemberId(), Collections.singletonList(vo));
ArrayList<AdamMemberPriceVo> objectArrayList = new ArrayList<>();
objectArrayList.add(vo);
dmRdmService.setMemberPriceVoByMemberId(vo.getMemberId(), objectArrayList);
memberPriceMapper.insert(o);
// mongoTemplate.insert(vo, AdamMemberPriceVo.class.getSimpleName());
......
......@@ -147,7 +147,7 @@ public class DMUserInformationProcessor extends DataMigrationProcessorService {
dmRdmService.setUserInfoVoByUid(uid, vo);
}
}
if (userList.size() == 500 || (userList.size() > 0 && smFlg)) {
if (userList.size() == 1000 || (userList.size() > 0 && smFlg) || ct < 1000) {
tl += userList.size();
// mongoTemplate.insert(vos, AdamUserInfoVo.class.getSimpleName());
log.info("DM.execute.result:{} - {}", dmUserService.saveBatch(userList), dmUserInfoService.saveBatch(userInfoList));
......@@ -156,6 +156,10 @@ public class DMUserInformationProcessor extends DataMigrationProcessorService {
userInfoList.clear();
}
}
if (userList.size() > 0 && ct > 1000) {
tl += userList.size();
log.info("DM.execute.result:{} - {}", dmUserService.saveBatch(userList), dmUserInfoService.saveBatch(userInfoList));
}
row.close();
statement.close();
......
......@@ -99,7 +99,7 @@ public class DMUserMemberProcessor extends DataMigrationProcessorService {
dmRdmService.setUserMemberVoByUid(uid, vo);
}
if (userMemberList.size() == 500 || (userMemberList.size() > 0 && smFlg)) {
if (userMemberList.size() == 1000 || (userMemberList.size() > 0 && smFlg) || ct < 1000) {
tl += userMemberList.size();
// mongoTemplate.insert(vos, AdamUserMemberVo.class.getSimpleName());
log.info("DM.execute.limit.result:{}", dmUserMemberService.saveBatch(userMemberList));
......@@ -107,6 +107,10 @@ public class DMUserMemberProcessor extends DataMigrationProcessorService {
userMemberList.clear();
}
}
if (userMemberList.size() > 0 && ct > 1000) {
tl += userMemberList.size();
log.info("DM.execute.limit.result:{}", dmUserMemberService.saveBatch(userMemberList));
}
row.close();
statement.close();
......
......@@ -364,6 +364,7 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
} else {
KylinPerformanceMisVo kylinPerformanceMisVo = performanceVoTask.getPerformanceMisVo(performanceId);
HashMap<String, Object> mapSql = ObjectUtil.cloneHashMapStringAndObject();
mapSql.put("rejectTxt", "");
mapSql.put("status", map.get("status"));
......@@ -378,6 +379,8 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
performanceStatus.setLimitCount(step2Param.getLimitCount());
performanceStatusMapper.update(performanceStatus, Wrappers.lambdaQuery(KylinPerformanceStatus.class).eq(KylinPerformanceStatus::getPerformanceId, performanceId));
dataUtils.setPerformanceIsTrueName(performanceId,step2Param.getIsTrueName());
//提示:票种价格、售票时间、票种购票限制 直接生效 (演出购票限制,购票须知 演出是否实名 票种缺货登记 票种是否电子票 票种是否快递票 票种最低购买张数 票种是否显示二维码)
List<TicketTimesTicketCreatePartnerVo> timeList = kylinPerformanceMisVo.getTicketTimes();
for (TicketTimesTicketCreatePartnerVo timesItem : timeList) {
......
......@@ -154,6 +154,16 @@ public class DataUtils {
}
}
/**
* 演出是否实名
*
* @param performanceId
* @param isTrueName
*/
public void setPerformanceIsTrueName(String performanceId,int isTrueName) {
redisUtil.set(KylinRedisConst.PERFORMANCES_TRUE_NAME + performanceId,isTrueName);
}
/**
* 根据订单id 获取 订单vo 详情
*
......@@ -250,24 +260,7 @@ public class DataUtils {
public void changeBuyInfo(String userId, String idCard, String performanceId, String ticketId, int buyCount) {
String redisKey;
KylinPerformanceVo vo = getPerformanceVo(performanceId);
int isTrueName = vo.getIsTrueName();
// String useTime = "";
// HashMap<String, ArrayList<String>> allTicketId = new HashMap<>();
// for (int x = 0; x < vo.getTicketTimeList().size(); x++) {
// KylinTicketTimesVo timeItem = vo.getTicketTimeList().get(x);
// ArrayList<String> ticketList = new ArrayList<>();
// for (int y = 0; y < timeItem.getTicketList().size(); y++) {
// KylinTicketVo ticketItem = timeItem.getTicketList().get(y);
// if (ticketItem.getType() == 1) {
// ticketList.add(ticketItem.getTicketsId());
// }
// if (ticketItem.getTicketsId().equals(ticketId)) {
// useTime = ticketItem.getUseStart();
// }
// }
// allTicketId.put(timeItem.getUseStart(), ticketList);
// }
int isTrueName = getPerformanceIsTrueName(performanceId);
if (0 == isTrueName) {
redisKey = KylinRedisConst.USERID_BUY_INFO + userId;
......@@ -277,8 +270,6 @@ public class DataUtils {
String performanceIdKey = redisKey + ":" + KylinRedisConst.PERFORMANCE_ID + ":" + performanceId;
String ticketIdKey = redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + ticketId;
// String ticketUseTimeKey = ticketIdKey + ":" + KylinRedisConst.USE_TIME;
// redisUtil.set(ticketUseTimeKey, useTime);
if (buyCount > 0) {
redisUtil.incr(ticketIdKey, buyCount);
......@@ -354,6 +345,22 @@ public class DataUtils {
}
}
/**
* 演出是否实名
*
* @param performanceId
*/
public int getPerformanceIsTrueName(String performanceId) {
Object obj = redisUtil.get(KylinRedisConst.PERFORMANCES_TRUE_NAME + performanceId);
if (obj!=null) {
return (int)obj;
}else{
int isTrueName = getPerformanceVo(performanceId).getIsTrueName();
redisUtil.set(KylinRedisConst.PERFORMANCES_TRUE_NAME + performanceId,isTrueName);
return isTrueName;
}
}
public void delOrderRefundVo(String orderRefundsId){
redisUtil.del(KylinRedisConst.ORDER_REFUND + orderRefundsId);
......@@ -373,11 +380,6 @@ public class DataUtils {
redisUtil.set(redisKey, kylinOrderExpressVo);
}
public void delOrderExpressRoute(String orderTicketsId) { // 删除
String redisKey = KylinRedisConst.ORDER_ROUTE_INFO.concat(orderTicketsId);
redisUtil.del(redisKey);
}
/**
* 演出订单快递路由
*/
......
package com.liquidnet.service.platform.utils;
import com.liquidnet.service.adam.dto.vo.AdamEntersVo;
import com.liquidnet.service.adam.dto.vo.*;
import com.liquidnet.service.base.PagedResult;
import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderListVo;
import com.mongodb.BasicDBObject;
import org.springframework.stereotype.Component;
......@@ -31,4 +32,67 @@ public class ObjectUtil {
public static BasicDBObject cloneBasicDBObject() {
return (BasicDBObject) basicDBObject.clone();
}
private static final ArrayList<AdamTagParentVo> adamTagParentVoArrayList = new ArrayList<>();
private static final ArrayList<AdamTagVo> adamTagVoArrayList = new ArrayList<>();
private static final ArrayList<AdamMemberOrderSimpleVo> adamMemberOrderSimpleVoArrayList = new ArrayList<>();
private static final ArrayList<AdamThirdPartInfoVo> adamThirdPartInfoVoArrayList = new ArrayList<>();
private static final ArrayList<AdamEntersVo> adamEntersVoArrayList = new ArrayList<>();
private static final ArrayList<AdamAddressesVo> adamAddressesVoArrayList = new ArrayList<>();
private static final ArrayList<AdamMemberOrderVo> adamMemberOrderVoArrayList = new ArrayList<>();
private static final PagedResult<AdamCollectVo> adamCollectVoPagedResult = new PagedResult<>();
private static final PagedResult<AdamMemberOrderSimpleVo> adamMemberOrderSimpleVoPagedResult = new PagedResult<>();
private static final PagedResult<AdamDisposedVo> adamDisposedVoPagedResult = new PagedResult<>();
private static final PagedResult<AdamDisposedUserVo> adamDisposedUserVoPagedResult = new PagedResult<>();
public static ArrayList<AdamTagParentVo> getAdamTagParentVoArrayList() {
return (ArrayList<AdamTagParentVo>) adamTagParentVoArrayList.clone();
}
public static ArrayList<AdamTagVo> getAdamTagVoArrayList() {
return (ArrayList<AdamTagVo>) adamTagVoArrayList.clone();
}
public static ArrayList<AdamMemberOrderSimpleVo> getAdamMemberOrderSimpleVoArrayList() {
return (ArrayList<AdamMemberOrderSimpleVo>) adamMemberOrderSimpleVoArrayList.clone();
}
public static ArrayList<AdamThirdPartInfoVo> getAdamThirdPartInfoVoArrayList() {
return (ArrayList<AdamThirdPartInfoVo>) adamThirdPartInfoVoArrayList.clone();
}
public static ArrayList<AdamEntersVo> getAdamEntersVoArrayList() {
return (ArrayList<AdamEntersVo>) adamEntersVoArrayList.clone();
}
public static ArrayList<AdamAddressesVo> getAdamAddressesVoArrayList() {
return (ArrayList<AdamAddressesVo>) adamAddressesVoArrayList.clone();
}
public static ArrayList<AdamMemberOrderVo> getAdamMemberOrderVoArrayList() {
return (ArrayList<AdamMemberOrderVo>) adamMemberOrderVoArrayList.clone();
}
public static PagedResult<AdamCollectVo> getAdamCollectVoPagedResult() {
return adamCollectVoPagedResult.clone();
}
public static PagedResult<AdamMemberOrderSimpleVo> getAdamMemberOrderSimpleVoPagedResult() {
return adamMemberOrderSimpleVoPagedResult.clone();
}
public static PagedResult<AdamDisposedVo> getAdamDisposedVoPagedResult() {
return adamDisposedVoPagedResult.clone();
}
public static PagedResult<AdamDisposedUserVo> getAdamDisposedUserVoPagedResult() {
return adamDisposedUserVoPagedResult.clone();
}
}
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