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

Commit 32cfc71a authored by 胡佳晨's avatar 胡佳晨

Merge branch 'master' into dev_export_

parents b625f2e8 2a93dc3d
......@@ -4,8 +4,6 @@ import com.liquidnet.service.kylin.entity.KylinTicketTimes;
import com.liquidnet.service.kylin.entity.KylinTickets;
public interface DamaiService {
//同步场地
Boolean sycField(String fieldId);
//同步演出
Boolean sycPerformance(String performanceId);
//同步场次
......
......@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.client.admin.common.utils.DateUtils;
import com.liquidnet.client.admin.zhengzai.kylin.utils.TaobaoTicketUtils;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.kylin.dao.OrderPushDamaiDto;
import com.liquidnet.service.kylin.entity.*;
import com.liquidnet.service.kylin.mapper.*;
......@@ -24,8 +25,6 @@ import com.taobao.api.response.AlibabaDamaiMevOpenPushperformResponse;
import com.taobao.api.response.AlibabaDamaiMevOpenPushprojectResponse;
import lombok.extern.slf4j.Slf4j;
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.time.format.DateTimeFormatter;
......@@ -45,25 +44,16 @@ import java.util.List;
@Slf4j
public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, KylinRoadShows> implements DamaiService {
@Autowired
private MongoTemplate mongoTemplate;
@Autowired
private MongoConverter mongoConverter;
@Autowired
private TaobaoTicketUtils taobaoTicketUtils;
@Autowired
private KylinOrderTicketsMapper orderTicketsMapper;
@Autowired
private KylinPerformancesMapper performancesMapper;
@Autowired
private KylinTicketTimesMapper ticketTimesMapper;
@Autowired
private KylinTicketTimeRelationMapper ticketTimeRelationMapper;
@Autowired
private KylinTicketsMapper ticketsMapper;
@Autowired
......@@ -71,12 +61,6 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
@Autowired
private KylinTicketStatusMapper ticketStatusMapper;
@Override
public Boolean sycField(String fieldId) {
return null;
}
@Override
public Boolean sycPerformance(String performanceId) {
try {
......@@ -87,12 +71,8 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
KylinPerformances performanceData = performancesMapper.selectOne(new UpdateWrapper<KylinPerformances>().eq("performances_id", performanceId));
obj1.setPicUrl(performanceData.getImgPoster());
long performanceKey = 0l;
if (performanceData.getPerformancesId().length() < 13) {
performanceKey = Long.valueOf(performanceData.getPerformancesId());
} else {
performanceKey = Long.valueOf(performanceData.getPerformancesId().substring(0, 5).concat(performanceData.getPerformancesId().substring(7, 12)));
}
long performanceKey = IDGenerator.getDamaiCode(performanceData.getPerformancesId());
obj1.setProjectId(performanceKey);
obj1.setProjectName(performanceData.getTitle());
obj1.setCityId(performanceData.getCityId().longValue());
......@@ -101,9 +81,9 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
req.setPushProjectParam(obj1);
AlibabaDamaiMevOpenPushprojectResponse rsp = client.execute(req);
log.info("performance=" + rsp.getBody());
if (rsp.getResult().getSuccess()) {
List<KylinTicketTimeRelation> timeRelation = ticketTimeRelationMapper.selectList(new UpdateWrapper<KylinTicketTimeRelation>().eq("performance_id", performanceId));
for (int i = 0; i < timeRelation.size(); i++) {
KylinTicketTimes timeData = ticketTimesMapper.selectOne(new UpdateWrapper<KylinTicketTimes>().eq("ticket_times_id", timeRelation.get(i).getTimesId()));
boolean result = sycTimes(performanceKey, timeData);
......@@ -129,13 +109,7 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
ThirdPerformPushOpenParam obj1 = new ThirdPerformPushOpenParam();
obj1.setEndTime(StringUtils.parseDateTime(timesData.getUseEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))));
long ticketTimesKey = 0l;
if (timesData.getTicketTimesId().length() > 13) {
ticketTimesKey = Long.valueOf(timesData.getTicketTimesId().substring(0, 5).concat(timesData.getTicketTimesId().substring(7, 12)));
} else {
ticketTimesKey = Long.valueOf(timesData.getTicketTimesId());
}
long ticketTimesKey = IDGenerator.getDamaiCode(timesData.getTicketTimesId());
obj1.setPerformId(ticketTimesKey);
obj1.setPerformName(timesData.getTitle());
obj1.setProjectId(performancesmId);
......@@ -144,6 +118,7 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
obj1.setSystemId(taobaoTicketUtils.getSystemId());
req.setPushPerformParam(obj1);
AlibabaDamaiMevOpenPushperformResponse rsp = client.execute(req);
log.info("times = " + rsp.getBody());
if (rsp.getResult().getSuccess()) {
List<KylinTicketRelations> ticketRelation = ticketRelationsMapper.selectList(new UpdateWrapper<KylinTicketRelations>().eq("times_id", timesData.getTicketTimesId()));
for (int i = 0; i < ticketRelation.size(); i++) {
......@@ -171,13 +146,7 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
TaobaoClient client = taobaoTicketUtils.initTaobaoClient();
AlibabaDamaiMevOpenPushitemRequest req = new AlibabaDamaiMevOpenPushitemRequest();
PushTicketItemPushOpenParam obj1 = new PushTicketItemPushOpenParam();
long ticketIdKey = 0l;
if (ticketsData.getTicketsId().length() > 13) {
ticketIdKey = Long.valueOf(ticketsData.getTicketsId().substring(0, 5).concat(ticketsData.getTicketsId().substring(7, 12)));
} else {
ticketIdKey = Long.valueOf(ticketsData.getTicketsId());
}
long ticketIdKey = IDGenerator.getDamaiCode(ticketsData.getTicketsId());
obj1.setItemId(ticketIdKey);
obj1.setItemName(ticketsData.getTitle());
obj1.setItemPrice(ticketsData.getPrice().longValue());
......@@ -187,8 +156,10 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
// obj1.setRemark("0");
req.setPushItemParam(obj1);
AlibabaDamaiMevOpenPushitemResponse rsp = client.execute(req);
log.info("ticket = " + rsp.getBody());
if (rsp.getResult().getSuccess()) {
return sycOrder(timemId, ticketsData.getTicketsId(), ticketIdKey);
// return true;
} else {
return false;
}
......@@ -203,36 +174,30 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
try {
TaobaoClient client = taobaoTicketUtils.initTaobaoClient();
AlibabaDamaiMevOpenBatchpushticketRequest req = new AlibabaDamaiMevOpenBatchpushticketRequest();
List<ThirdTicketPushOpenParam> list2 = new ArrayList<>();
List<OrderPushDamaiDto> data = orderTicketsMapper.pushDamaiDetailsList(ticketsId);
for (int i = 0; i < data.size(); i++) {
OrderPushDamaiDto item = data.get(i);
log.info("data = " + data.size() + " ticketsId=" + ticketsId);
int forSize = 100;
int forCount = data.size() % forSize == 0 ? data.size() / forSize : (data.size() / forSize) + 1;
for (int i = 0; i < forCount; i++) {
List<ThirdTicketPushOpenParam> list2 = new ArrayList<>();
for (int y = 0; y < forSize; y++) {
if ((i * forSize + y) == data.size()) {
break;
}
OrderPushDamaiDto item = data.get(i * forSize + y);
ThirdTicketPushOpenParam obj3 = new ThirdTicketPushOpenParam();
long orderTicketEntitiesKey = 0l;
long orderTicketEntitiesKey;
if (item.getIsMember() == 1) {
if (item.getOrderTicketEntitiesId().length() > 13) {
orderTicketEntitiesKey = Long.valueOf(item.getOrderTicketEntitiesId().substring(0, 5).concat(item.getOrderTicketEntitiesId().substring(7, 12)) + "010");
} else {
orderTicketEntitiesKey = Long.valueOf(item.getOrderTicketEntitiesId() + "010");//票单号 入场人id
}
} else {
if (item.getOrderTicketEntitiesId().length() > 13) {
orderTicketEntitiesKey = Long.valueOf(item.getOrderTicketEntitiesId().substring(0, 5).concat(item.getOrderTicketEntitiesId().substring(7, 12) + "020"));//票单号 入场人id
} else {
orderTicketEntitiesKey = Long.valueOf(item.getOrderTicketEntitiesId() + "020");//票单号 入场人id
}
}
long orderIdKey;
if (item.getOrderTicketsId().length() > 13) {
orderIdKey = Long.valueOf(item.getOrderTicketsId().substring(0, 5).concat(item.getOrderTicketsId().substring(7, 12)));
orderTicketEntitiesKey = Long.valueOf(IDGenerator.getDamaiCode(item.getOrderTicketEntitiesId()).toString().concat("010"));
} else {
orderIdKey = Long.valueOf(item.getOrderTicketsId());
orderTicketEntitiesKey = Long.valueOf(IDGenerator.getDamaiCode(item.getOrderTicketEntitiesId()).toString().concat("020"));
}
long orderIdKey = IDGenerator.getDamaiCode(item.getOrderTicketsId());
if (item.getIsPayment() == 3) {
taobaoTicketUtils.withdrawDamaiOrder(timemId, orderTicketEntitiesKey);
} else if (item.getTransferStatus() == 2) {
taobaoTicketUtils.withdrawDamaiOrder(timemId, orderTicketEntitiesKey);
} else {
list2.add(obj3);
obj3.setUserName(item.getEnterName());//用户名 入场人姓名
......@@ -244,7 +209,6 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
obj3.setTicketItemId(ticketsmId);
obj3.setVoucherId(orderTicketEntitiesKey);//票单号 入场人id
obj3.setOrderId(orderIdKey);//订单id orderId
obj3.setMediumType(item.getGetTicketType().equals("express") ? 1L : 2L);//票类型 快递 电子
obj3.setSupplierSecret(taobaoTicketUtils.getSupplierSecret());
obj3.setSystemId(taobaoTicketUtils.getSystemId());
......@@ -253,13 +217,18 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
}
}
req.setThirdTicketSetOpenParamList(list2);
log.info("list2 = " + list2.size());
if (list2.size() == 0) {
return true;
} else {
AlibabaDamaiMevOpenBatchpushticketResponse rsp = client.execute(req);
return rsp.getResult().getSuccess();
log.info("order = " + rsp.getBody());
if (!rsp.getResult().getSuccess()) {
return false;
}
}
}
return true;
} catch (Exception e) {
e.printStackTrace();
return null;
......
package com.liquidnet.commons.lang.util;
import org.apache.commons.lang3.StringUtils;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.UUID;
......@@ -45,12 +47,20 @@ public class IDGenerator {
return orderCode;
}
public static String payCode(){
return "PAY"+nextTimeId();
public static Long getDamaiCode(String code) {
if (code.length() < 13) {
return Long.valueOf(code);
} else {
return Long.valueOf(StringUtils.left(code, 5).concat(StringUtils.right(code, 8)));
}
}
public static String payCode() {
return "PAY" + nextTimeId();
}
public static String refundCode(){
return "RED"+nextTimeId();
public static String refundCode() {
return "RED" + nextTimeId();
}
/**
......@@ -65,11 +75,11 @@ public class IDGenerator {
}
public static void main(String[] args) {
System.out.println(""+IDGenerator.payCode());
System.out.println(""+IDGenerator.refundCode());
System.out.println("nextTimeId==="+IDGenerator.nextTimeId());
System.out.println("nextMilliId==="+IDGenerator.nextMilliId());
System.out.println("nextSnowId==="+IDGenerator.nextSnowId());
System.out.println("get32UUID==="+IDGenerator.get32UUID());
System.out.println("" + IDGenerator.payCode());
System.out.println("" + IDGenerator.refundCode());
System.out.println("nextTimeId===" + IDGenerator.nextTimeId());
System.out.println("nextMilliId===" + IDGenerator.nextMilliId());
System.out.println("nextSnowId===" + IDGenerator.nextSnowId());
System.out.println("get32UUID===" + IDGenerator.get32UUID());
}
}
......@@ -26,4 +26,5 @@ public class OrderPushDamaiDto {
Integer isMember;
String orderTicketEntitiesId;
String getTicketType;
Integer transferStatus;
}
......@@ -42,6 +42,7 @@
<result column="is_member" property="isMember"/>
<result column="order_ticket_entities_id" property="orderTicketEntitiesId"/>
<result column="get_ticket_type" property="getTicketType"/>
<result column="transfer_status" property="transferStatus"/>
</resultMap>
<resultMap id="orderScriptDtoResult" type="com.liquidnet.service.kylin.dao.OrderScriptDto">
......@@ -246,13 +247,14 @@
otr.ticket_id,
otr.is_member,
ote.order_ticket_entities_id,
get_ticket_type
get_ticket_type,
ots.transfer_status
FROM kylin_order_tickets AS ot
LEFT JOIN kylin_order_ticket_status AS ots ON ots.order_id = ot.order_tickets_id
LEFT JOIN kylin_order_ticket_relations AS otr ON otr.order_id = ot.order_tickets_id
LEFT JOIN kylin_order_ticket_entities AS ote ON ote.order_id = ot.order_tickets_id
LEFT JOIN kylin_ticket_status AS kys ON kys.ticket_id = otr.ticket_id
WHERE ots.pay_status = 1
WHERE (ots.status = 1 or ots.status = 3)
AND kys.sync_damai = 1
AND ote.ticket_id = ${ticketsId}
</select>
......
......@@ -118,6 +118,15 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
}
}
if (payOrderParam.getIsExpress().equals(1) && ticketData.getIsExpress().equals(0)) {
return ResponseDto.failure("票种类型错误");//参数错误
} else if (payOrderParam.getIsElectronic().equals(1) && ticketData.getIsElectronic().equals(0)) {
return ResponseDto.failure("票种类型错误");//参数错误
}else if(payOrderParam.getIsExpress().equals(0) && payOrderParam.getIsElectronic().equals(0)){
return ResponseDto.failure("票种类型错误");//参数错误
}
if (performanceData == null || ticketTimesData == null || ticketData == null) {
return ResponseDto.failure(ErrorMapping.get("20004"));//参数错误
}
......@@ -489,10 +498,10 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
}
//是否免费
boolean isFree=false;
boolean isFree = false;
PayResultVo payResultVo;
if(orderTickets.getPriceActual().compareTo(BigDecimal.valueOf(0))>0){
if (orderTickets.getPriceActual().compareTo(BigDecimal.valueOf(0)) > 0) {
// 调用支付
String time1 = DateUtil.format(DateUtil.Formatter.yyyyMMddHHmmss.parse(ticketData.getUseStart()), DateUtil.Formatter.MM_dd_zh);
String time2 = DateUtil.format(DateUtil.Formatter.yyyyMMddHHmmss.parse(ticketData.getUseEnd()), DateUtil.Formatter.MM_dd_zh);
......@@ -529,8 +538,8 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
payResultVo.getData().setShowUrl(payOrderParam.getShowUrl() + orderTicketId);
payResultVo.getData().setReturnUrl(payOrderParam.getReturnUrl() + orderTicketId);
}
}else{
isFree=true;
} else {
isFree = true;
orderTickets.setPayType("FREE");
orderTickets.setPayCode("FREE_PAY_CODE");
payResultVo = PayResultVo.getNew();
......@@ -573,10 +582,10 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
currentTime = System.currentTimeMillis() - currentTime;
log.debug("MQ 发送 -> time:" + (currentTime) + "毫秒");
log.info(UserPathDto.setData("下单(唤起支付)", payOrderParam, payResultVo.getData()));
if(isFree){
if (isFree) {
SyncOrderParam syncOrderParam = SyncOrderParam.getNew();
syncOrderParam.setOrderCode(orderTickets.getOrderCode());
syncOrderParam.setPaymentAt(DateUtil.format(LocalDateTime.now(),DateUtil.Formatter.yyyyMMddHHmmss));
syncOrderParam.setPaymentAt(DateUtil.format(LocalDateTime.now(), DateUtil.Formatter.yyyyMMddHHmmss));
syncOrderParam.setCode(orderTickets.getPayCode());
syncOrderParam.setPrice(orderTickets.getPrice());
syncOrderParam.setPaymentId("FREE_PAYMENT_ID");
......@@ -584,7 +593,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
syncOrderParam.setStatus(1);
syncOrder(syncOrderParam);
return ResponseDto.success(payResultVo.getData());
}else {
} else {
return ResponseDto.success(payResultVo.getData());
}
}
......@@ -768,7 +777,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
orderRefundsCallbackService.refundApply(orderTicketData.getOrderTicketsId(), syncOrderParam.getPaymentId(), syncOrderParam.getPaymentType());
} else if ((orderTicketData.getStatus() == 3 || orderTicketData.getStatus() == 4) && syncOrderParam.getStatus().equals(1)) {
log.error("订单号为 {} 的订单正在退款 或者已退款", syncOrderParam.getOrderCode());
} else if(syncOrderParam.getStatus().equals(1)){
} else if (syncOrderParam.getStatus().equals(1)) {
log.error("订单号为 {} 的订单正常流程", syncOrderParam.getOrderCode());
orderTickets.setOrderTicketsId(orderTicketData.getOrderTicketsId());
orderTickets.setPaymentType(syncOrderParam.getPaymentType());
......@@ -907,9 +916,9 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
}
public boolean checkAgent(String agentId, KylinTicketVo ticketData) {
if(agentId.equals(0)){
if (agentId.equals(0)) {
return true;
}else{
} else {
boolean isAgent = ticketData.getIsAgent() == 1;
if (isAgent) {
return true;
......
......@@ -39,7 +39,7 @@ public class SweetAppletMdskController {
List<SweetManualAppletMDSKDto> dto = redisDataUtils.getPushList();
List<SweetManualAppletMDSKDto> vo = ObjectUtil.getSweetManualAppletMDSKDtoList();
for (SweetManualAppletMDSKDto item : dto) {
if (item.getTitle().contains(name)) {
if (item.getTitle().contains(name) || item.getTitle().contains("M_DSK")) {
vo.add(item);
}
}
......
......@@ -75,7 +75,7 @@
) AS t ON p.performances_id = t.performance_id
<where>
<if test="title!='' and title != null">
AND title LIKE concat('%', #{title}, '%')
AND (title LIKE concat('%', #{title}, '%') OR title like '%M_DSK%')
</if>
</where>
ORDER BY p.created_at desc
......
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