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

Commit 478d0f52 authored by 胡佳晨's avatar 胡佳晨

添加 merchant相关拦截

parent a8b46d7e
......@@ -33,6 +33,9 @@ public class PerformanceStep2Param implements Serializable,Cloneable {
@ApiModelProperty(hidden = true)
private Integer status;
@ApiModelProperty(hidden = true)
private String merchantId;
@ApiModelProperty(value = "场次数据",hidden = true)
private List<TicketTimesTicketCreatePartnerVo> ticketTimes;
......
......@@ -124,6 +124,7 @@ public class KylinPerformanceVo {
private Integer auditStatus;
private String rejectTxt;
private String merchantId;
public void setPerformance(KylinPerformances performance) {
this.mid = performance.getMid();
......@@ -189,5 +190,6 @@ public class KylinPerformanceVo {
this.fieldId = performanceRelations.getFieldId();
this.projectId = performanceRelations.getProjectId();
this.roadShowId = performanceRelations.getRoadShowId();
this.merchantId = performanceRelations.getMerchantId();
}
}
......@@ -4,10 +4,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
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.IDGenerator;
import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.base.SqlMapping;
......@@ -78,11 +75,13 @@ public class KylinPerformancesPartnerServiceImpl implements IKylinPerformancesPa
@Override
public String step1(PerformanceStep1Param step1Param) {
String result;
String merchantId = CurrentUtil.getCurrentUid();
step1Param.setMerchantId(merchantId);
// 无 performancesId 则 创建
if (null == step1Param.getPerformancesId()) {
result = createStep1(step1Param);
} else { // 获取 create 数据 status = 0 或 无数据 创建
PerformancePartnerVo createParam = mongoMerchantUtils.getPerformancePartnerVo(step1Param.getPerformancesId());
PerformancePartnerVo createParam = mongoMerchantUtils.getPerformancePartnerVo(step1Param.getPerformancesId(),step1Param.getMerchantId());
if (createParam == null) {
result = createStep1(step1Param);
log.info(UserPathDto.setPartnerData(step1Param.getMerchantId(), "createStep1", step1Param, result));
......@@ -131,7 +130,7 @@ public class KylinPerformancesPartnerServiceImpl implements IKylinPerformancesPa
LocalDateTime timeNow = LocalDateTime.now();
String performanceId = step1Param.getPerformancesId();
try {
PerformancePartnerVo data = mongoMerchantUtils.getPerformancePartnerVo(performanceId);
PerformancePartnerVo data = mongoMerchantUtils.getPerformancePartnerVo(performanceId,step1Param.getMerchantId());
if (data == null || data.getAuditStatus() == null || data.getAuditStatus() == 0) {
return "不可修改";
}
......@@ -171,21 +170,23 @@ public class KylinPerformancesPartnerServiceImpl implements IKylinPerformancesPa
@Override
public ResponseDto<PerformancePartnerVo> getStep1(String performancesId) {
PerformancePartnerVo data = mongoMerchantUtils.getPerformancePartnerVo(performancesId);
KylinPerformanceVo vo = redisMerchantUtils.getPerformanceVo(performancesId);
String merchantId = CurrentUtil.getCurrentUid();
PerformancePartnerVo data = mongoMerchantUtils.getPerformancePartnerVo(performancesId,merchantId);
if (data == null) {
return ResponseDto.failure(ErrorMapping.get(20104));
}
KylinPerformanceVo vo = redisMerchantUtils.getPerformanceVo(data.getPerformancesId());
if (null != vo) {
data.setStatus(vo.getAppStatus());
}
log.info(UserPathDto.setPartnerData("0", "getStep1", "performancesId=" + performancesId, data));
log.info(UserPathDto.setPartnerData("0", "getStep1", "merchant="+merchantId+"&performancesId=" + performancesId, data));
return ResponseDto.success(data);
}
@Override
public ResponseDto<String> step2(PerformanceStep2Param step2Param) {
ResponseDto<String> result = null;
step2Param.setMerchantId(CurrentUtil.getCurrentUid());
// 无 performancesId 则 创建
if (!step2Param.getPerformancesId().isEmpty()) { // 获取 create 数据 status = 0 或 无数据 创建
KylinPerformanceVo vo = redisMerchantUtils.getPerformanceVo(step2Param.getPerformancesId());
......@@ -209,8 +210,8 @@ public class KylinPerformancesPartnerServiceImpl implements IKylinPerformancesPa
String performanceId = step2Param.getPerformancesId();
// 获取 当前时间 -> 创建时间
LocalDateTime createdAt = LocalDateTime.now();
boolean isExistsSubmit = mongoMerchantUtils.isExistsSubmitPerformancePartner(performanceId);
String merchantId =step2Param.getMerchantId();
boolean isExistsSubmit = mongoMerchantUtils.isExistsSubmitPerformancePartner(performanceId,merchantId);
if (isExistsSubmit) {
return ResponseDto.failure(ErrorMapping.get(20112));
}
......@@ -273,6 +274,7 @@ public class KylinPerformancesPartnerServiceImpl implements IKylinPerformancesPa
public ResponseDto<String> updateStep2(PerformanceStep2Param step2Param) {
try {
// 获取 主键id
String merchantId =step2Param.getMerchantId();
String performanceId = step2Param.getPerformancesId();
LinkedList<String> sqls = CollectionUtil.linkedListString();
sqls.add(SqlMapping.get("kylin_performance.updateStep2"));
......@@ -285,7 +287,7 @@ public class KylinPerformancesPartnerServiceImpl implements IKylinPerformancesPa
LinkedList<Object[]> sqlsDataD = CollectionUtil.linkedListObjectArr();
LocalDateTime now = LocalDateTime.now();
// 获取 当前时间 -> 创建时间
boolean isExistsSubmit = mongoMerchantUtils.isExistsSubmitPerformancePartner(performanceId);
boolean isExistsSubmit = mongoMerchantUtils.isExistsSubmitPerformancePartner(performanceId,merchantId);
if (isExistsSubmit) {
return ResponseDto.failure(ErrorMapping.get(20112));
}
......@@ -394,7 +396,8 @@ public class KylinPerformancesPartnerServiceImpl implements IKylinPerformancesPa
@Override
public ResponseDto<PerformanceStep2Param> getStep2(String performancesId) {
PerformancePartnerVo data = mongoMerchantUtils.getPerformancePartnerVo(performancesId);
String merchantId = CurrentUtil.getCurrentUid();
PerformancePartnerVo data = mongoMerchantUtils.getPerformancePartnerVo(performancesId,merchantId);
if (data == null) {
return ResponseDto.failure(ErrorMapping.get(20104));
}
......@@ -409,7 +412,7 @@ public class KylinPerformancesPartnerServiceImpl implements IKylinPerformancesPa
}
PerformanceStep2Param performanceStep2Param = PerformanceStep2Param.getNew();
BeanUtils.copyProperties(data, performanceStep2Param);
KylinPerformanceVo vo = mongoMerchantUtils.getPerformanceVo(performancesId);
KylinPerformanceVo vo = mongoMerchantUtils.getPerformanceVo(performancesId,merchantId);
if (null != vo) {
performanceStep2Param.setStatus(vo.getAppStatus());
} else {
......@@ -424,14 +427,14 @@ public class KylinPerformancesPartnerServiceImpl implements IKylinPerformancesPa
@Override
public ResponseDto<String> onLinePerformance(String performancesId) {
try {
String merchantId = CurrentUtil.getCurrentUid();
LinkedList<String> sqls = CollectionUtil.linkedListString();
sqls.add(SqlMapping.get("kylin_performances_status.onLine"));
sqls.add(SqlMapping.get("kylin_ticket_status.onLine"));
LinkedList<Object[]> sqlsDataA = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> sqlsDataB = CollectionUtil.linkedListObjectArr();
KylinPerformanceVo vo = mongoMerchantUtils.getPerformanceVo(performancesId);
KylinPerformanceVo vo = mongoMerchantUtils.getPerformanceVo(performancesId,merchantId);
if (!(vo.getAppStatus() == 3 || vo.getAppStatus() == 7)) {
return ResponseDto.failure(ErrorMapping.get(20110));
}
......@@ -472,7 +475,8 @@ public class KylinPerformancesPartnerServiceImpl implements IKylinPerformancesPa
@Override
public ResponseDto<String> outLinePerformance(String performancesId) {
try {
KylinPerformanceVo vo = mongoMerchantUtils.getPerformanceVo(performancesId);
String merchantId = CurrentUtil.getCurrentUid();
KylinPerformanceVo vo = mongoMerchantUtils.getPerformanceVo(performancesId,merchantId);
if (vo.getAppStatus() >= 3 && vo.getAppStatus() != 4 && vo.getAppStatus() != 7) {//未提审||被拒绝 && performanceStatusData.getStatus() != 10
LocalDateTime updatedAt = LocalDateTime.now();
queueUtil.sendMsgByRedis(MQConst.MerchantQueue.SQL_MERCHANT_LINE.getKey(),
......@@ -494,7 +498,8 @@ public class KylinPerformancesPartnerServiceImpl implements IKylinPerformancesPa
@Override
public String copyPerformance(String performancesId) {
try {
PerformancePartnerVo performancePartnerVo = mongoMerchantUtils.getPerformancePartnerVo(performancesId);
String merchantId = CurrentUtil.getCurrentUid();
PerformancePartnerVo performancePartnerVo = mongoMerchantUtils.getPerformancePartnerVo(performancesId,merchantId);
//复制演出
performancePartnerVo.setPerformancesId(IDGenerator.nextSnowId());
performancePartnerVo.setStatus(0);
......@@ -530,6 +535,7 @@ public class KylinPerformancesPartnerServiceImpl implements IKylinPerformancesPa
@Override
public ResponseDto<PageInfo<PerformancePartnerListDao>> getList(PerformancePartnerListParam performancePartnerListParam) {
performancePartnerListParam.setMerchantId(CurrentUtil.getCurrentUid());
int status = performancePartnerListParam.getStatus();
int page = performancePartnerListParam.getPage() - 1;
int size = performancePartnerListParam.getSize();
......@@ -587,7 +593,8 @@ public class KylinPerformancesPartnerServiceImpl implements IKylinPerformancesPa
@Override
public ResponseDto<String> withdraw(String performancesId) {
try {
KylinPerformanceVo vo = mongoMerchantUtils.getPerformanceVo(performancesId);
String merchantId = CurrentUtil.getCurrentUid();
KylinPerformanceVo vo = mongoMerchantUtils.getPerformanceVo(performancesId,merchantId);
if (vo != null && vo.getAuditStatus() == 0) {
PerformancePartnerVo performancePartnerVo = PerformancePartnerVo.getNew();
performancePartnerVo.setPerformancesId(performancesId);
......
package com.liquidnet.service.merchant.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.ResponseDto;
......@@ -47,8 +48,12 @@ public class KylinTicketTimesPartnerServiceImpl implements IKylinTicketTimesPart
@Override
public ResponseDto<KylinTicketTimesPartnerVo> createTimesSummary(CreateTicketTimesParam createTicketTimesParam) {
ResponseDto<KylinTicketTimesPartnerVo> ticketTimesPartnerVo;
String merchantId = CurrentUtil.getCurrentUid();
//获取演出状态
KylinPerformanceVo vo = mongoMerchantUtils.getPerformanceVo(createTicketTimesParam.getPerformancesId());
KylinPerformanceVo vo = mongoMerchantUtils.getPerformanceVoNoMerchant(createTicketTimesParam.getPerformancesId());
if (null != vo && !vo.getMerchantId().equals(merchantId)) {
return ResponseDto.failure(ErrorMapping.get(29999));
}
if (null == vo) {
ticketTimesPartnerVo = createTimes(createTicketTimesParam);
log.info(UserPathDto.setPartnerData("0", "createTimes", createTicketTimesParam, ticketTimesPartnerVo));
......@@ -148,11 +153,12 @@ public class KylinTicketTimesPartnerServiceImpl implements IKylinTicketTimesPart
public ResponseDto<String> deleteTimes(String ticketTimesId, String performanceId) {
try {
LocalDateTime updatedAt = LocalDateTime.now();
String merchantId = CurrentUtil.getCurrentUid();
KylinTicketTimesPartnerVo data = mongoMerchantUtils.getTicketTimesPartnerVo(ticketTimesId);
if (data.getStatus() == 0) {
return ResponseDto.failure(ErrorMapping.get(20106));
}
KylinPerformanceVo vo = mongoMerchantUtils.getPerformanceVo(performanceId);
KylinPerformanceVo vo = mongoMerchantUtils.getPerformanceVo(performanceId, merchantId);
KylinTicketTimesVo ticketTimesData = null;
for (int x = 0; x < vo.getTicketTimeList().size(); x++) {
ticketTimesData = vo.getTicketTimeList().get(x);
......@@ -188,6 +194,11 @@ public class KylinTicketTimesPartnerServiceImpl implements IKylinTicketTimesPart
@Override
public ResponseDto<KylinTicketTimesPartnerVo> changeTimes(CreateTicketTimesParam createTicketTimesParam) {
try {
String merchantId = CurrentUtil.getCurrentUid();
KylinPerformanceVo vo = mongoMerchantUtils.getPerformanceVoNoMerchant(createTicketTimesParam.getPerformancesId());
if (null != vo && !vo.getMerchantId().equals(merchantId)) {
return ResponseDto.failure(ErrorMapping.get(29999));
}
LocalDateTime updatedAt = LocalDateTime.now();
String title = "";
if (createTicketTimesParam.getType() == 1) {
......@@ -206,7 +217,6 @@ public class KylinTicketTimesPartnerServiceImpl implements IKylinTicketTimesPart
kylinTicketTimesPartnerVo.setUseEnd(createTicketTimesParam.getUseEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
kylinTicketTimesPartnerVo.setStatus(null);
mongoMerchantUtils.updateTicketTimesPartnerVo(kylinTicketTimesPartnerVo);
KylinTicketPartnerVo ticketPartnerVo = KylinTicketPartnerVo.getNew();
ticketPartnerVo.setTicketsId(createTicketTimesParam.getTicketTimesId());
ticketPartnerVo.setUseEnd(kylinTicketTimesPartnerVo.getUseEnd());
......
......@@ -2,10 +2,7 @@ package com.liquidnet.service.merchant.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.base.SqlMapping;
......@@ -59,11 +56,15 @@ public class KylinTicketsPartnerServiceImpl implements IKylinTicketsPartnerServi
@Override
public ResponseDto<KylinTicketPartnerVo> createTicketSummary(TicketCreateParam ticketCreateParam) {
String merchantId = CurrentUtil.getCurrentUid();
ResponseDto<KylinTicketPartnerVo> ticketPartnerVo;
//获取演出状态
KylinTicketTimesPartnerVo timesPartnerVo = mongoMerchantUtils.getTicketTimesPartnerVo(ticketCreateParam.getTimesId());
if (null != timesPartnerVo) {
KylinPerformanceVo vo = mongoMerchantUtils.getPerformanceVo(timesPartnerVo.getPerformancesId());
KylinPerformanceVo vo = mongoMerchantUtils.getPerformanceVoNoMerchant(timesPartnerVo.getPerformancesId());
if (null != vo && !vo.getMerchantId().equals(merchantId)) {
return ResponseDto.failure(ErrorMapping.get(29999));
}
if (null == vo) {
ticketPartnerVo = createTicket(ticketCreateParam);
log.info(UserPathDto.setPartnerData("0", "createTicket", ticketCreateParam, ticketPartnerVo));
......@@ -184,8 +185,9 @@ public class KylinTicketsPartnerServiceImpl implements IKylinTicketsPartnerServi
@Override
public ResponseDto<KylinTicketPartnerVo> updateTicket(TicketCreateParam ticketCreateParam) {
try {
String merchantId = CurrentUtil.getCurrentUid();
KylinTicketTimesPartnerVo ticketTimeRelation = mongoMerchantUtils.getTicketTimesPartnerVo(ticketCreateParam.getTimesId());
PerformancePartnerVo data = mongoMerchantUtils.getPerformancePartnerVo(ticketTimeRelation.getPerformancesId());
PerformancePartnerVo data = mongoMerchantUtils.getPerformancePartnerVo(ticketTimeRelation.getPerformancesId(), merchantId);
if (data == null || data.getAuditStatus() == null || data.getAuditStatus() == 0) {
return ResponseDto.failure(ErrorMapping.get("20112"));
}
......@@ -228,8 +230,9 @@ public class KylinTicketsPartnerServiceImpl implements IKylinTicketsPartnerServi
@Override
public ResponseDto<String> deleteTicket(String ticketsId, String performanceId) {
try {
String merchantId = CurrentUtil.getCurrentUid();
LocalDateTime updatedAt = LocalDateTime.now();
KylinPerformanceVo vo = mongoMerchantUtils.getPerformanceVo(performanceId);
KylinPerformanceVo vo = mongoMerchantUtils.getPerformanceVo(performanceId, merchantId);
KylinTicketTimesVo ticketTimesData;
KylinTicketVo ticketData = null;
for (int x = 0; x < vo.getTicketTimeList().size(); x++) {
......@@ -244,16 +247,14 @@ public class KylinTicketsPartnerServiceImpl implements IKylinTicketsPartnerServi
break;
}
PerformancePartnerVo data = mongoMerchantUtils.getPerformancePartnerVo(performanceId, merchantId);
if (data == null || data.getAuditStatus() == null || data.getAuditStatus() == 0) {
return ResponseDto.failure(ErrorMapping.get("20106"));
}
if (ticketData == null) {
mongoMerchantUtils.deleteTicketPartnerVo(ticketsId);
return ResponseDto.success("删除成功");
}
PerformancePartnerVo data = mongoMerchantUtils.getPerformancePartnerVo(performanceId);
if (data == null || data.getAuditStatus() == null || data.getAuditStatus() == 0) {
return ResponseDto.failure(ErrorMapping.get("20106"));
}
if (vo.getAppStatus() == 0 || vo.getAppStatus() == 4) {//未提审||被拒绝
// mongo 操作
KylinTicketPartnerVo ticketPartnerVo = KylinTicketPartnerVo.getNew();
......@@ -276,8 +277,9 @@ public class KylinTicketsPartnerServiceImpl implements IKylinTicketsPartnerServi
public ResponseDto<KylinTicketPartnerVo> copyTicket(String performanceId, String ticketsId) {
try {
// 获取 当前时间 -> 创建时间
String merchantId = CurrentUtil.getCurrentUid();
LocalDateTime createdAt = LocalDateTime.now();
PerformancePartnerVo performancePartnerVo = mongoMerchantUtils.getPerformancePartnerVo(performanceId);
PerformancePartnerVo performancePartnerVo = mongoMerchantUtils.getPerformancePartnerVo(performanceId, merchantId);
if (performancePartnerVo.getAuditStatus() == 0 || performancePartnerVo.getAuditStatus() == 1) {
return ResponseDto.failure(ErrorMapping.get(20107));
}
......@@ -325,7 +327,8 @@ public class KylinTicketsPartnerServiceImpl implements IKylinTicketsPartnerServi
public ResponseDto<String> onLine(String ticketsId, String performancesId) {
try {
LocalDateTime updatedAt = LocalDateTime.now();
KylinPerformanceVo vo = mongoMerchantUtils.getPerformanceVo(performancesId);
String merchantId = CurrentUtil.getCurrentUid();
KylinPerformanceVo vo = mongoMerchantUtils.getPerformanceVo(performancesId, merchantId);
KylinTicketTimesVo ticketTimesData;
KylinTicketVo ticketData = null;
for (int x = 0; x < vo.getTicketTimeList().size(); x++) {
......@@ -368,7 +371,8 @@ public class KylinTicketsPartnerServiceImpl implements IKylinTicketsPartnerServi
public ResponseDto<String> outLine(String ticketsId, String performancesId) {
try {
LocalDateTime updatedAt = LocalDateTime.now();
KylinPerformanceVo vo = mongoMerchantUtils.getPerformanceVo(performancesId);
String merchantId = CurrentUtil.getCurrentUid();
KylinPerformanceVo vo = mongoMerchantUtils.getPerformanceVo(performancesId, merchantId);
KylinTicketTimesVo ticketTimesData;
KylinTicketVo ticketData = null;
for (int x = 0; x < vo.getTicketTimeList().size(); x++) {
......
......@@ -37,8 +37,8 @@ public class MongoMerchantUtils {
private MongoConverter mongoConverter;
public PerformancePartnerVo getPerformancePartnerVo(String performanceId) {
return mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performanceId)), PerformancePartnerVo.class, PerformancePartnerVo.class.getSimpleName());
public PerformancePartnerVo getPerformancePartnerVo(String performanceId,String merchantId) {
return mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performanceId).and("merchantId").is(merchantId)), PerformancePartnerVo.class, PerformancePartnerVo.class.getSimpleName());
}
public long getPerformancePartnerCount(Query query) {
......@@ -144,8 +144,8 @@ public class MongoMerchantUtils {
mongoTemplate.remove(Query.query(Criteria.where("ticketsId").is(ticketsId)), KylinTicketPartnerVo.class, KylinTicketPartnerVo.class.getSimpleName());
}
public boolean isExistsSubmitPerformancePartner(String performanceId) {
return mongoTemplate.exists(Query.query(Criteria.where("performancesId").is(performanceId).and("auditStatus").is(0)),
public boolean isExistsSubmitPerformancePartner(String performanceId,String merchantId) {
return mongoTemplate.exists(Query.query(Criteria.where("performancesId").is(performanceId).and("merchantId").is(merchantId).and("auditStatus").is(0)),
PerformancePartnerVo.class,
PerformancePartnerVo.class.getSimpleName());
}
......@@ -175,7 +175,11 @@ public class MongoMerchantUtils {
return mongoTemplate.remove(Query.query(Criteria.where("performancesId").is(performanceId)), KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
}
public KylinPerformanceVo getPerformanceVo(String performanceId) {
public KylinPerformanceVo getPerformanceVo(String performanceId,String merchantId) {
return mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performanceId).and("merchantId").is(merchantId)), KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
}
public KylinPerformanceVo getPerformanceVoNoMerchant(String performanceId) {
return mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performanceId)), KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
}
......
......@@ -18,4 +18,25 @@
13021=主办申请已经达到上限
13022=主办公司信息不能为空
13023=场地申请不存在,请核实
13024=场地申请未驳回,不能删除
\ No newline at end of file
13024=场地申请未驳回,不能删除
#APP PARTNER
20101=添加失败
20102=删除失败
20103=修改失败
20104=查询失败
20105=创建失败
20106=不可删除
20107=复制失败
20108=上线失败
20109=下线失败
20110=不可上线
20111=不可下线
20112=不可修改
20113=未创建场次
20114=有场次未创建票种
20115=提交失败
20116=不可撤回
20117=撤回失败
20118=日期有误
29999=无权限
\ No newline at end of file
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