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

Commit bf4059d3 authored by 胡佳晨's avatar 胡佳晨

提交 admin的接口修改 不包含业务逻辑

parent 1d4a04ad
package com.liquidnet.service.kylin.dto.vo.ticketSystem; package com.liquidnet.service.kylin.dto.vo.ticketSystem;
import com.liquidnet.service.kylin.dto.param.ticketSystem.STInsertFieldParam;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -8,7 +9,7 @@ import java.io.Serializable; ...@@ -8,7 +9,7 @@ import java.io.Serializable;
@Data @Data
@ApiModel @ApiModel
public class RefundOrderVo implements Serializable { public class RefundOrderVo implements Serializable,Cloneable {
private static final long serialVersionUID = 4073256621782131607L; private static final long serialVersionUID = 4073256621782131607L;
@ApiModelProperty(value = "票单id [必传]") @ApiModelProperty(value = "票单id [必传]")
private String ticketOrderId; private String ticketOrderId;
...@@ -19,4 +20,14 @@ public class RefundOrderVo implements Serializable { ...@@ -19,4 +20,14 @@ public class RefundOrderVo implements Serializable {
@ApiModelProperty(value = "退票金额[必传 单位分]") @ApiModelProperty(value = "退票金额[必传 单位分]")
private String refundAmount; private String refundAmount;
private static final RefundOrderVo obj = new RefundOrderVo();
public static RefundOrderVo getNew() {
try {
return (RefundOrderVo) obj.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return new RefundOrderVo();
}
} }
...@@ -26,6 +26,20 @@ public interface IKylinPerformancesAdminService { ...@@ -26,6 +26,20 @@ public interface IKylinPerformancesAdminService {
void test(); void test();
/**
* 同步演出 到票务平台
* @param performanceId 演出id
* @return 结果
*/
boolean syncTicketSysPerformance(String performanceId);
/**
* 同步订单 到票务平台
* @param performanceId 演出id
* @return 结果
*/
boolean syncTicketSysOrder(String performanceId);
/** /**
* 获取演出详情 * 获取演出详情
* *
......
package com.liquidnet.client.admin.zhengzai.goblin.utils; package com.liquidnet.client.admin.zhengzai.goblin.utils;
import com.liquidnet.service.kylin.dto.vo.ticketSystem.OrderVo;
import com.liquidnet.service.stone.vo.StoneItemListVo;
import com.liquidnet.service.stone.vo.StoneOrderListVo;
import com.mongodb.BasicDBObject; import com.mongodb.BasicDBObject;
import java.util.ArrayList;
public class GoblinObjectUtils { public class GoblinObjectUtils {
private static final BasicDBObject basicDBObject = new BasicDBObject(); private static final BasicDBObject basicDBObject = new BasicDBObject();
private static final ArrayList<OrderVo> orderVo = new ArrayList<>();
public static ArrayList<OrderVo> orderVo() {
return (ArrayList<OrderVo>) orderVo.clone();
}
public static BasicDBObject cloneBasicDBObject() { public static BasicDBObject cloneBasicDBObject() {
return (BasicDBObject) basicDBObject.clone(); return (BasicDBObject) basicDBObject.clone();
......
...@@ -3,6 +3,7 @@ package com.liquidnet.client.admin.zhengzai.kylin.service; ...@@ -3,6 +3,7 @@ package com.liquidnet.client.admin.zhengzai.kylin.service;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
import com.liquidnet.client.admin.zhengzai.goblin.utils.GoblinObjectUtils;
import com.liquidnet.client.admin.zhengzai.kylin.utils.DataUtils; import com.liquidnet.client.admin.zhengzai.kylin.utils.DataUtils;
import com.liquidnet.common.cache.redis.util.RedisDataSourceUtil; import com.liquidnet.common.cache.redis.util.RedisDataSourceUtil;
import com.liquidnet.commons.lang.util.CollectionUtil; import com.liquidnet.commons.lang.util.CollectionUtil;
...@@ -13,9 +14,12 @@ import com.liquidnet.service.kylin.constant.KylinRedisConst; ...@@ -13,9 +14,12 @@ import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dto.param.ticketSystem.*; import com.liquidnet.service.kylin.dto.param.ticketSystem.*;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo; 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.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.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import com.liquidnet.service.kylin.dto.vo.ticketSystem.*; import com.liquidnet.service.kylin.dto.vo.ticketSystem.*;
import com.liquidnet.service.slime.dto.vo.SlimeFieldsVo; import com.liquidnet.service.slime.dto.vo.SlimeFieldsVo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -31,10 +35,12 @@ import java.util.List; ...@@ -31,10 +35,12 @@ import java.util.List;
import static com.liquidnet.commons.lang.util.DateUtil.DTF_YMD_HMS; import static com.liquidnet.commons.lang.util.DateUtil.DTF_YMD_HMS;
@Service @Service
@Slf4j
public class InnerService { public class InnerService {
@Value("${liquidnet.service.platform.url}") @Value("${liquidnet.service.platform.url}")
private String platform ; private String platform;
// private String platform = "http://127.0.0.1:9003";
@Autowired @Autowired
RedisDataSourceUtil redisDataSourceUtil; RedisDataSourceUtil redisDataSourceUtil;
@Autowired @Autowired
...@@ -86,14 +92,14 @@ public class InnerService { ...@@ -86,14 +92,14 @@ public class InnerService {
} }
//修改上报的演出项目数据 //修改上报的演出项目数据
public boolean updateP(KylinTicketTimesVo vo, String performanceId, String sessionCode) { public boolean updateP(KylinTicketTimesVo vo, String performanceId, String fieldId) {
STUpdateTimesParam updateTimesParam = STUpdateTimesParam.getNew(); STUpdateTimesParam updateTimesParam = STUpdateTimesParam.getNew();
updateTimesParam.setSessionId(vo.getTicketTimesId()); updateTimesParam.setSessionId(vo.getTicketTimesId());
updateTimesParam.setSessionCode(sessionCode); updateTimesParam.setSessionCode(getSessionCode(vo.getTicketTimesId()));
updateTimesParam.setSessionName(vo.getTitle()); updateTimesParam.setSessionName(vo.getTitle());
updateTimesParam.setSessionStartTime(LocalDateTime.parse(vo.getUseStart(), DTF_YMD_HMS)); updateTimesParam.setSessionStartTime(LocalDateTime.parse(vo.getUseStart(), DTF_YMD_HMS));
updateTimesParam.setSessionEndTime(LocalDateTime.parse(vo.getUseEnd(), DTF_YMD_HMS)); updateTimesParam.setSessionEndTime(LocalDateTime.parse(vo.getUseEnd(), DTF_YMD_HMS));
updateTimesParam.setHallCode("320412009");//TODO updateTimesParam.setHallCode(getVenueCode(getVenueCode(fieldId)));
updateTimesParam.setHasSeat(0); updateTimesParam.setHasSeat(0);
updateTimesParam.setPerformanceId(performanceId); updateTimesParam.setPerformanceId(performanceId);
updateTimesParam.setSessionStatus(1); updateTimesParam.setSessionStatus(1);
...@@ -176,14 +182,14 @@ public class InnerService { ...@@ -176,14 +182,14 @@ public class InnerService {
try { try {
MultiValueMap<String, String> headers = CollectionUtil.linkedMultiValueMapStringString(); MultiValueMap<String, String> headers = CollectionUtil.linkedMultiValueMapStringString();
headers.add("Accept", "application/json;charset=UTF-8"); headers.add("Accept", "application/json;charset=UTF-8");
HashMap<String, String> params = CollectionUtil.mapStringString(); MultiValueMap<String, String> params = CollectionUtil.linkedMultiValueMapStringString();
params.put("provinceId", vo.getProvinceId()); params.add("provinceId", vo.getProvinceId());
params.put("cityId", vo.getCityId()); params.add("cityId", vo.getCityId());
params.put("districtId", vo.getDistrictId()); params.add("districtId", vo.getDistrictId());
params.put("pageNo", "1"); params.add("pageNo", "1");
params.put("pageSize", "40"); params.add("pageSize", "40");
params.put("venueName", vo.getName()); params.add("venueName", vo.getName());
String json = HttpUtil.getRaw(platform + "/platform/st/field/list?provinceId={provinceId}&cityId={cityId}&districtId={districtId}&pageNo={pageNo}&pageSize={pageSize}&venueName={venueName}", JSON.toJSONString(params), headers); String json = HttpUtil.post(platform + "/platform/st/field/list", params, headers);
ResponseDataVo<List<STFieldListVo>> response = ResponseDataVo<List<STFieldListVo>> response =
JsonUtils.fromJson(json, new TypeReference<ResponseDataVo<List<STFieldListVo>>>() { JsonUtils.fromJson(json, new TypeReference<ResponseDataVo<List<STFieldListVo>>>() {
}); });
...@@ -214,6 +220,83 @@ public class InnerService { ...@@ -214,6 +220,83 @@ public class InnerService {
return true; return true;
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace();
return false;
}
}
//退款订单 todo 需要结合退款接口处理
public boolean reportRefund(String orderId, String refundOrderId, String reason) {
MultiValueMap<String, String> headers = CollectionUtil.linkedMultiValueMapStringString();
headers.add("Accept", "application/json;charset=UTF-8");
KylinOrderTicketVo orderTicketVo = dataUtils.getOrderTicketVo(orderId);
STRefundOrderParam param = STRefundOrderParam.getNew();
param.setOrderId(orderId);
param.setReason(reason);
param.setRefundOrderId(refundOrderId);
param.setRefundOrderTime(LocalDateTime.now());
List<RefundOrderVo> refundOrderVos = new ArrayList();
for (KylinOrderTicketEntitiesVo entitiesVo : orderTicketVo.getEntitiesVoList()) {
RefundOrderVo refundOrderVo = RefundOrderVo.getNew();
refundOrderVo.setRefundAmount(entitiesVo.getRefundPrice().multiply(BigDecimal.valueOf(100)).toString());
refundOrderVo.setSessionCode(getSessionCode(entitiesVo.getTimeId()));
refundOrderVo.setTicketId(entitiesVo.getTicketId());
refundOrderVo.setTicketOrderId(entitiesVo.getOrderTicketEntitiesId());
refundOrderVos.add(refundOrderVo);
}
param.setTicketOrderList(refundOrderVos);
String resultData = HttpUtil.postRaw(platform + "/platform/st/order/refund", JSON.toJSONString(param), headers);
ResponseDto<Boolean> innerReturnVo = JsonUtils.fromJson(resultData, new TypeReference<ResponseDto<Boolean>>() {
});
return innerReturnVo.getData();
}
//上报订单
public boolean reportO(KylinOrderTicketVo vo, String channelName) {
try {
if (vo.getStatus() == 2 || vo.getStatus() == 4) {
log.info("订单状态 不需要同步");
return false;
}
STInsertOrderParam insertOrderParam = STInsertOrderParam.getNew();
insertOrderParam.setOrderId(vo.getOrderTicketsId());
insertOrderParam.setOrderTime(vo.getTimePay());
insertOrderParam.setChannelType(1);
insertOrderParam.setChannelName(channelName);
insertOrderParam.setTicketNum(vo.getNumber());
insertOrderParam.setTotalAmount(vo.getPriceActual().multiply(BigDecimal.valueOf(100)).intValue());
insertOrderParam.setTicketType(1);
insertOrderParam.setTicketMode(vo.getGetTicketType().equalsIgnoreCase("express") ? 1 : 2);
insertOrderParam.setAuthMode(dataUtils.getPerformanceIsTrueName(vo.getPerformanceId()) == 1 ? 3 : 1);
int voucherPrice = vo.getPriceVoucher().multiply(BigDecimal.valueOf(100)).divide(BigDecimal.valueOf(vo.getNumber())).intValue();
int refundPrice = vo.getPriceRefund().multiply(BigDecimal.valueOf(100)).intValue();
List<OrderVo> orderVos = GoblinObjectUtils.orderVo();
for (KylinOrderTicketEntitiesVo item : vo.getEntitiesVoList()) {
if (item.getIsPayment() == 0 || item.getIsPayment() == 3) {
log.info("票单状态 不需要同步");
continue;
}
OrderVo orderVo = OrderVo.getNew();
orderVo.setTicketOrderId(item.getOrderTicketEntitiesId());
orderVo.setPerformanceId(item.getPerformanceId());
orderVo.setSessionId(item.getTimeId());
orderVo.setSessionCode(getSessionCode(item.getTimeId()));
orderVo.setPriceId(getPriceId(item.getTicketId()));
orderVo.setTicketPrice((vo.getPrice().subtract(vo.getPriceRefund())).multiply(BigDecimal.valueOf(100)).intValue());
orderVo.setTicketId(item.getTicketId());
orderVo.setTicketOrderAmount(orderVo.getTicketPrice() - voucherPrice - refundPrice);
orderVos.add(orderVo);
}
insertOrderParam.setTicketOrderList(orderVos);
MultiValueMap<String, String> header = CollectionUtil.linkedMultiValueMapStringString();
header.add("Accept", "application/json;charset=UTF-8");
String resultData = HttpUtil.postRaw(platform + "/platform/st/order/insert", JSON.toJSONString(insertOrderParam), header);
ResponseDto<Boolean> innerReturnVo = JsonUtils.fromJson(resultData, new TypeReference<ResponseDto<Boolean>>() {
});
return innerReturnVo.getData();
} catch (Exception e) {
e.printStackTrace();
return false; return false;
} }
} }
......
...@@ -14,6 +14,7 @@ import com.liquidnet.client.admin.zhengzai.kylin.utils.PerformanceVoUtils; ...@@ -14,6 +14,7 @@ import com.liquidnet.client.admin.zhengzai.kylin.utils.PerformanceVoUtils;
import com.liquidnet.client.admin.zhengzai.slime.service.ISlimeAuthorizationRecordsAdminService; import com.liquidnet.client.admin.zhengzai.slime.service.ISlimeAuthorizationRecordsAdminService;
import com.liquidnet.client.admin.zhengzai.smile.utils.SmileRedisUtils; import com.liquidnet.client.admin.zhengzai.smile.utils.SmileRedisUtils;
import com.liquidnet.commons.lang.util.BeanUtil; import com.liquidnet.commons.lang.util.BeanUtil;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.DateUtil; import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.goblin.dto.vo.SmileAgentVo; import com.liquidnet.service.goblin.dto.vo.SmileAgentVo;
import com.liquidnet.service.kylin.constant.KylinRedisConst; import com.liquidnet.service.kylin.constant.KylinRedisConst;
...@@ -103,16 +104,54 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma ...@@ -103,16 +104,54 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
@Override @Override
public void test() { public void test() {
// //同步演出 // //同步演出
String performancesId = "324470932321198083852669"; String performancesId = "2020170834697011205072651";
// KylinPerformances data = performancesMapper.selectOne(new QueryWrapper<KylinPerformances>().in("performances_id", performancesId)); KylinPerformances data = performancesMapper.selectOne(new QueryWrapper<KylinPerformances>().in("performances_id", performancesId));
// KylinPerformanceRelations relationData = performanceRelationsMapper.selectOne(new QueryWrapper<KylinPerformanceRelations>().in("performance_id", performancesId)); // KylinPerformanceRelations relationData = performanceRelationsMapper.selectOne(new QueryWrapper<KylinPerformanceRelations>().in("performance_id", performancesId));
// merchantAuthorizationRecordsAdminService.authorizationInit(performancesId, "484418569471385607065926", "528301618682265605017366", "528268445384048648038465"); //同步场地
// innerService.reportP(dataUtils.getPerformanceVo(performancesId),null,data.getSponsorId()); // innerService.reportField(dataUtils.getFieldsVoByFieldId(relationData.getFieldId()));
// //同步订单 // 同步演出
// String orderId = "324561214127595525805856"; innerService.reportP(dataUtils.getPerformanceVo(performancesId), null, data.getSponsorId());
//退款订单
// String orderId = "2411921318065766408847583";
// innerService.reportRefund(orderId, "R" + orderId, "测试");
//同步订单
// innerService.reportO(dataUtils.getOrderTicketVo(orderId),"摩登天空"); // innerService.reportO(dataUtils.getOrderTicketVo(orderId),"摩登天空");
log.info("SUCCESS");
}
@Override
public boolean syncTicketSysPerformance(String performanceId) {
//同步场地
KylinPerformanceRelations relationData = performanceRelationsMapper.selectOne(new QueryWrapper<KylinPerformanceRelations>().in("performance_id", performanceId));
boolean filedResult = innerService.reportField(dataUtils.getFieldsVoByFieldId(relationData.getFieldId()));
if (!filedResult) {
log.error("同步 场地 到票务平台 异常");
return filedResult;
}
//同步演出
KylinPerformances data = performancesMapper.selectOne(new QueryWrapper<KylinPerformances>().in("performances_id", performanceId));
List<String> sessionCodeList = innerService.reportP(dataUtils.getPerformanceVo(performanceId), null, data.getSponsorId());
// innerService.reportField(dataUtils.getFieldsVoByFieldId("7")); if (!sessionCodeList.isEmpty()) {
return true;
}
log.error("同步 演出 到票务平台 异常");
return false;
}
@Override
public boolean syncTicketSysOrder(String performanceId) {
//查询演出下需要同步的订单id
List<String> orderIds = CollectionUtil.linkedListString();
boolean orderResult = true;
for (String orderId : orderIds) {
orderResult = innerService.reportO(dataUtils.getOrderTicketVo(orderId), "摩登天空");
if (!orderResult) {
log.error("同步 订单 到票务平台 异常 订单Id:{}", orderId);
break;
}
}
return orderResult;
} }
@Override @Override
......
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