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

Commit dc6ca852 authored by Administrator's avatar Administrator 🎨

Merge branch 'pre' into 'master'

Pre

See merge request !72
parents ab1016ad 3341f3fe
......@@ -25,6 +25,9 @@ public interface IKylinOrderTicketsService {
//订单列表(状态 待支付 已支付 倒计时 已失效)
PageInfo<List<KylinOrderListVo>> orderList();
//订单列表(状态 待支付 已支付 倒计时 已失效)
PageInfo<List<KylinOrderListVo>> orderListMongo(Integer page,Integer size);
//订单详情
OrderDetailsVo orderDetails(String orderId);
......
......@@ -14,5 +14,5 @@ public interface DamaiService {
Boolean sycTicket(long timeId, KylinTickets ticketsData);
//订单
Boolean sycOrder(long timeId, String ticketsId, long ticketsmId);
Boolean sycOrder(long timeId, String ticketsId, long ticketsmId,long ticketIdMemberKey);
}
......@@ -204,13 +204,28 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
obj1.setPerformId(timemId);
obj1.setSupplierSecret(taobaoTicketUtils.getSupplierSecret());
obj1.setSystemId(taobaoTicketUtils.getSystemId());
// obj1.setRemark("0");
req.setPushItemParam(obj1);
log.info("[同步票种] 票种名称 = " + ticketsData.getTitle() + " 大麦票种id =" + ticketIdKey + " 票种价格 = " + ticketsData.getPrice());
AlibabaDamaiMevOpenPushitemResponse rsp = client.execute(req);
if (rsp.getResult().getSuccess()) {
return sycOrder(timemId, ticketsData.getTicketsId(), ticketIdKey);
// return true;
TaobaoClient client2 = taobaoTicketUtils.initTaobaoClient();
AlibabaDamaiMevOpenPushitemRequest req2 = new AlibabaDamaiMevOpenPushitemRequest();
PushTicketItemPushOpenParam obj12 = new PushTicketItemPushOpenParam();
long ticketIdKey2 = Long.valueOf(ticketIdKey + "".concat("010"));
obj12.setItemId(ticketIdKey2);
obj12.setItemName(ticketsData.getTitle() + "-登登登VIP");
obj12.setItemPrice(ticketsData.getPrice().longValue() * 100);
obj12.setPerformId(timemId);
obj12.setSupplierSecret(taobaoTicketUtils.getSupplierSecret());
obj12.setSystemId(taobaoTicketUtils.getSystemId());
req2.setPushItemParam(obj12);
log.info("[同步票种] 票种名称 = " + ticketsData.getTitle() + "-登登登VIP 大麦票种id =" + ticketIdKey + " 票种价格 = " + ticketsData.getPrice());
AlibabaDamaiMevOpenPushitemResponse rsp2 = client2.execute(req2);
if (rsp2.getResult().getSuccess()) {
return sycOrder(timemId, ticketsData.getTicketsId(), ticketIdKey,ticketIdKey2);
} else {
return false;
}
} else {
return false;
}
......@@ -221,7 +236,7 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
}
@Override
public Boolean sycOrder(long timemId, String ticketsId, long ticketsmId) {
public Boolean sycOrder(long timemId, String ticketsId, long ticketsmId,long ticketIdMemberKey) {
try {
TaobaoClient client = taobaoTicketUtils.initTaobaoClient();
AlibabaDamaiMevOpenBatchpushticketRequest req = new AlibabaDamaiMevOpenBatchpushticketRequest();
......@@ -260,7 +275,14 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
obj3.setCertificateType(item.getEnterType().longValue());//证件内容 入场人证件type
obj3.setPayTime(DateUtils.parseDate(item.getTimePay()));//支付时间
obj3.setPerformId(timemId);//场次id
obj3.setTicketItemId(ticketsmId);
if(item.getIsMember()==1){
obj3.setExt("登登登VIP");
obj3.setTicketItemId(ticketIdMemberKey);
}else{
obj3.setExt("登登登VIP");
obj3.setTicketItemId(ticketsmId);
}
obj3.setQrCode("http://m.zhengzai.tv?c="+IDGenerator.ticketQrCode(item.getOrderTicketEntitiesId()));
obj3.setVoucherId(orderTicketEntitiesKey);//票单号 入场人id
obj3.setOrderId(orderIdKey);//订单id orderId
obj3.setMediumType(item.getGetTicketType().equals("express") ? 1L : 2L);//票类型 快递 电子
......
......@@ -7,6 +7,7 @@ import com.liquidnet.client.admin.common.utils.ShiroUtils;
import com.liquidnet.client.admin.common.utils.StringUtils;
import com.liquidnet.client.admin.zhengzai.kylin.utils.DataUtils;
import com.liquidnet.client.admin.zhengzai.kylin.utils.MongoVoUtils;
import com.liquidnet.client.admin.zhengzai.kylin.utils.TaobaoTicketUtils;
import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.base.UserPathDto;
import com.liquidnet.service.kylin.constant.KylinTableStatusConst;
......@@ -15,6 +16,7 @@ import com.liquidnet.service.kylin.dto.param.RefundCallbackParam;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderRefundEntitiesVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketEntitiesVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderRefundsVo;
import com.liquidnet.service.kylin.entity.*;
import com.liquidnet.service.kylin.mapper.*;
......@@ -91,6 +93,9 @@ public class KylinRefundsStatusServiceImpl {
@Autowired
private MongoVoUtils mongoVoUtils;
@Autowired
private TaobaoTicketUtils taobaoTicketUtils;
public Boolean orderTicketRefunding(
RefundApplyParam refundApplyParam, KylinOrderTickets orderInfo, String orderTicketsId,
BigDecimal RefundPriceExpress,
......@@ -457,6 +462,13 @@ public class KylinRefundsStatusServiceImpl {
dataUtils.delOrderRefundVoByOrderId(strings1);
continue;
}else{
//TODO 秀龙 大麦退款
for (KylinOrderRefunds item : refundList) {
KylinOrderTicketVo orderData = dataUtils.getOrderTicketVo(item.getOrderTicketsId());
KylinPerformanceVo vo = dataUtils.getPerformanceVo(orderData.getPerformanceId());
taobaoTicketUtils.refundDamaiOrder(orderData,vo);
}
}
} catch (Exception e) {
log.info("退款请求pay失败e" + e.getMessage());
......
package com.liquidnet.client.admin.zhengzai.kylin.utils;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketEntitiesVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import com.taobao.api.DefaultTaobaoClient;
import com.taobao.api.TaobaoClient;
import com.taobao.api.request.AlibabaDamaiMevOpenWithdrawticketRequest;
import com.taobao.api.response.AlibabaDamaiMevOpenWithdrawticketResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
@Slf4j
public class TaobaoTicketUtils {
private String URL = "http://gw.api.taobao.com/router/rest";
......@@ -55,4 +65,52 @@ public class TaobaoTicketUtils {
return false;
}
}
public boolean refundDamaiOrder(KylinOrderTicketVo orderData,KylinPerformanceVo vo) {
try {
int isSysDamai = 0;
for (int x = 0; x < vo.getTicketTimeList().size(); x++) {
KylinTicketTimesVo timeItem = vo.getTicketTimeList().get(x);
for (int y = 0; y < timeItem.getTicketList().size(); y++) {
KylinTicketVo ticketItem = timeItem.getTicketList().get(y);
if (ticketItem.getTicketsId().equals(orderData.getTicketId())) {
isSysDamai = ticketItem.getSysDamai();
break;
}
}
}
if (isSysDamai == 1) {
List<KylinOrderTicketEntitiesVo> listData = orderData.getEntitiesVoList();
for (int i = 0; i < listData.size(); i++) {
KylinOrderTicketEntitiesVo item = listData.get(i);
long ticketTimesKey;
if (item.getTicketId().length() > 13) {
ticketTimesKey = Long.valueOf(IDGenerator.getDamaiCode(item.getTimeId()));
} else {
ticketTimesKey = Long.parseLong(item.getTimeId());
}
long orderTicketEntitiesKey;
// if (item.getOrderTicketEntitiesId().length() > 13) {
// orderTicketEntitiesKey = Long.valueOf(IDGenerator.getDamaiCode(item.getOrderTicketEntitiesId()));
// } else {
// orderTicketEntitiesKey = Long.valueOf(item.getOrderTicketEntitiesId());//票单号 入场人id
// }
if (orderData.getIsMember() == 1) {
orderTicketEntitiesKey = Long.valueOf(IDGenerator.getDamaiCode(item.getOrderTicketEntitiesId()).toString().concat("010"));
} else {
orderTicketEntitiesKey = Long.valueOf(IDGenerator.getDamaiCode(item.getOrderTicketEntitiesId()).toString().concat("020"));
}
withdrawDamaiOrder(ticketTimesKey, orderTicketEntitiesKey);
}
return true;
}
return true;
}catch (Exception e){
log.info("REFUND DAMAI ERROR = {}",e);
return false;
}
}
}
......@@ -74,6 +74,13 @@ public class KylinOrderTicketsController {
return ResponseDto.success(orderTicketsService.orderList());
}
@GetMapping("list/unLimit")
@ApiOperation("订单列表Mongo")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<PageInfo<List<KylinOrderListVo>>> orderListMongo(@RequestParam(value = "page", required = false) Integer page, @RequestParam(value = "size", required = false) Integer size) {
return ResponseDto.success(orderTicketsService.orderListMongo(page, size));
}
@GetMapping("details")
@ApiOperation("订单详情")
@ApiResponse(code = 200, message = "接口返回对象参数")
......
......@@ -11,6 +11,7 @@ import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.UserPathDto;
import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.kylin.constant.KylinTableStatusConst;
import com.liquidnet.service.kylin.dto.vo.KylinFieldsVo;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderRefundEntitiesVo;
......@@ -30,6 +31,9 @@ import org.apache.commons.lang.StringUtils;
import org.bson.Document;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
......@@ -113,6 +117,80 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
}
}
@Override
public PageInfo<List<KylinOrderListVo>> orderListMongo(Integer page, Integer size) {
PageInfo<List<KylinOrderListVo>> mPageInfo = null;
String uid = CurrentUtil.getCurrentUid();
// if (size == null || size == 0) {
size = 40;
// }
if (page == null || page == 1 || page == 0) {
page = 1;
}
try {
List<KylinOrderListVo> voList;
long count;
if (page == 1) {
voList = dataUtils.getOrderList(uid);
count = voList.size();
} else {
HashMap<String, Object> info = CollectionUtil.mapStringObject();
// 排序 分页
Pageable pageable = PageRequest.of(page - 1, size, Sort.by(Sort.Direction.DESC, "createdAt"));
//条件
Query query = Query.query(Criteria.where("userId").is(uid));
// 查询总数
count = mongoTemplate.count(query, KylinOrderListVo.class, KylinOrderTicketVo.class.getSimpleName());
query.with(pageable);
voList = mongoTemplate.find(query, KylinOrderListVo.class, KylinOrderTicketVo.class.getSimpleName());
info.put("total", count);
info.put("data", voList);
}
for (int i = 0; i < voList.size(); i++) {
KylinOrderListVo item = voList.get(i);
item.setStatus(item.getStatus());
Integer orderExpressStatus = dataUtils.getOrderExpressInfo(item.getOrderTicketsId());
item.setExpressStatus(orderExpressStatus);
if (item.getStatus().equals(KylinTableStatusConst.ORDER_STATUS0)) {
try {
item.setRestTime(DateUtil.intervalSeconds(
DateUtil.parse(item.getOverdueAt(), "yyyy-MM-dd HH:mm:ss"),
DateUtil.parse(DateUtil.getNowTime(), "yyyy-MM-dd HH:mm:ss")
));
if (item.getRestTime() <= 0L) {
item.setRestTime(0L);
}
} catch (Exception e) {
e.printStackTrace();
}
} else {
item.setRestTime(0L);
}
if (i >= 40) {
break;
}
}
KylinOrderTicketVo orderTicketVo = dataUtils.getTransferOrder(uid);
if (orderTicketVo != null) {
voList.add(0, KylinOrderListVo.getNew().copy(orderTicketVo));
}
mPageInfo = new PageInfo(voList);
mPageInfo.setTotal(count);
log.info(UserPathDto.setData("订单列表", "", voList));
return mPageInfo;
} catch (Exception e) {
e.printStackTrace();
return mPageInfo;
}
}
@Override
public OrderDetailsVo orderDetails(String orderId) {
try {
......@@ -365,7 +443,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
for (int i = 0; i < kylinOrderTicketEntitiesVoList.size(); i++) {
KylinOrderTicketEntitiesVo data = kylinOrderTicketEntitiesVoList.get(i);
String orderTicketEntitiesId = data.getOrderTicketEntitiesId();
if(data.getEnterName().trim().length()>0){
if (data.getEnterName().trim().length() > 0) {
return ResponseDto.failure("订单已实名不可更改");
}
AdamEntersVo adamEntersData = adamEnters.get(i);
......
......@@ -2,6 +2,8 @@ package com.liquidnet.service.order.utils;
import com.taobao.api.DefaultTaobaoClient;
import com.taobao.api.TaobaoClient;
import com.taobao.api.request.AlibabaDamaiMevOpenWithdrawticketRequest;
import com.taobao.api.response.AlibabaDamaiMevOpenWithdrawticketResponse;
import org.springframework.stereotype.Service;
@Service
......@@ -28,4 +30,21 @@ public class TaobaoTicketUtils {
public Long getSystemId(){
return SYSTEM_ID;
}
public boolean withdrawDamaiOrder(long timesId, long orderEntitiesId) {
try {
TaobaoClient client = initTaobaoClient();
AlibabaDamaiMevOpenWithdrawticketRequest req = new AlibabaDamaiMevOpenWithdrawticketRequest();
AlibabaDamaiMevOpenWithdrawticketRequest.TicketIdOpenParam obj1 = new AlibabaDamaiMevOpenWithdrawticketRequest.TicketIdOpenParam();
obj1.setPerformId(timesId);//场次id
obj1.setVoucherId(orderEntitiesId);//票单号 入场人id
obj1.setSupplierSecret(SUPPLIER_SECRET);
obj1.setSystemId(SYSTEM_ID);
req.setTicketIdOpenParam(obj1);
AlibabaDamaiMevOpenWithdrawticketResponse rsp = client.execute(req);
return rsp.getResult().getSuccess();
} catch (Exception e) {
return false;
}
}
}
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