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

Commit 93ea1afb authored by 胡佳晨's avatar 胡佳晨

提交 演出定时上下线接口,为提交定时任务

parent b9cbdd73
package com.liquidnet.service.kylin.dto.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* <p>
* banner返回给前端的数据字段
* </p>
*
* @author jiangxiulong
* @since 2021-05-03 11:19 上午
*/
@Data
@ApiModel
public class KylinTimePerformanceVo implements Serializable, Cloneable {
@ApiModelProperty(value = "演出Id")
private String performanceId;
@ApiModelProperty(value = "定时上下线时间")
private String time;
@ApiModelProperty(value = "任务类型 [0|无状态|1-上线|2下线]")
private Integer taskType;
private static final KylinTimePerformanceVo obj = new KylinTimePerformanceVo();
public static KylinTimePerformanceVo getNew() {
try {
return (KylinTimePerformanceVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new KylinTimePerformanceVo();
}
}
}
......@@ -8,6 +8,7 @@ import com.liquidnet.service.kylin.dto.param.PerformancePartnerListParam;
import com.liquidnet.service.kylin.dto.param.PerformancePartnerVo;
import com.liquidnet.service.kylin.dto.param.PerformanceStep1Param;
import com.liquidnet.service.kylin.dto.param.PerformanceStep2Param;
import com.liquidnet.service.kylin.dto.vo.KylinTimePerformanceVo;
import com.liquidnet.service.kylin.dto.vo.PerformanceOrderStatisticalVo;
import com.liquidnet.service.kylin.entity.KylinPerformances;
......@@ -104,6 +105,32 @@ public interface IKylinPerformancesPartnerService {
*/
ResponseDto<String> outLinePerformance(String performancesId);
/**
* 获取是否定时任务
*
* @param performancesId 演出id
* @return String
*/
ResponseDto<KylinTimePerformanceVo> LineTimeStatus(String performancesId);
/**
* 定时演出演出下线
*
* @param performancesId 演出id
* @param time 定时上线时间[2021-10-10 10:10:00]
* @return String
*/
ResponseDto<String> outLineTimePerformance(String performancesId, String time);
/**
* 定时演出上线
*
* @param performancesId 演出id
* @param time 定时上线时间[2021-10-10 10:10:00]
* @return String
*/
ResponseDto<String> onLineTimePerformance(String performancesId, String time);
/**
* 复制演出 (只有巡演类型)
*
......
......@@ -7,12 +7,11 @@ import com.liquidnet.service.kylin.dto.param.PerformancePartnerListParam;
import com.liquidnet.service.kylin.dto.param.PerformancePartnerVo;
import com.liquidnet.service.kylin.dto.param.PerformanceStep1Param;
import com.liquidnet.service.kylin.dto.param.PerformanceStep2Param;
import com.liquidnet.service.kylin.dto.vo.KylinTimePerformanceVo;
import com.liquidnet.service.kylin.dto.vo.PerformanceOrderStatisticalVo;
import com.liquidnet.service.kylin.service.partner.IKylinPerformancesPartnerService;
import com.liquidnet.service.merchant.util.MongoMerchantUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
......@@ -101,15 +100,47 @@ public class KylinPerformancePartnerController {
@PostMapping(value = "online")
@ApiOperation(value = "演出上线", position = 7)
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<String> onLinePerformance(@RequestParam("performancesId") @NotNull(message = "演出ID不能为空") String performancesId) {
@ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "String", name = "performancesId", value = "演出ID", required = true),
@ApiImplicitParam(type = "query", dataType = "Integer", name = "time", value = "定时上线时间[2021-10-10 10:10:00]"),
@ApiImplicitParam(type = "query", dataType = "Integer", name = "type", value = "类型[1-立即上线|2-定时上线]")
})
public ResponseDto<String> onLinePerformance(@RequestParam("performancesId") @NotNull(message = "演出ID不能为空") String performancesId,
@RequestParam("time") @NotNull(message = "定时上线时间") String time,
@RequestParam("type") Integer type) {
if (type == 1) {
return performancesPartnerService.onLinePerformance(performancesId);
} else {
return performancesPartnerService.onLineTimePerformance(performancesId, time);
}
}
@PostMapping(value = "outline")
@ApiOperation(value = "演出下线", position = 8)
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<String> outLinePerformance(@RequestParam("performancesId") @NotNull(message = "演出ID不能为空") String performancesId) {
@ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "String", name = "performancesId", value = "演出ID", required = true),
@ApiImplicitParam(type = "query", dataType = "Integer", name = "time", value = "定时上线时间[2021-10-10 10:10:00]"),
@ApiImplicitParam(type = "query", dataType = "Integer", name = "type", value = "类型[1-立即上线|2-定时上线]")
})
public ResponseDto<String> outLinePerformance(@RequestParam("performancesId") @NotNull(message = "演出ID不能为空") String performancesId,
@RequestParam("time") @NotNull(message = "定时上线时间") String time,
@RequestParam("type") Integer type) {
if (type == 1) {
return performancesPartnerService.outLinePerformance(performancesId);
} else {
return performancesPartnerService.outLineTimePerformance(performancesId, time);
}
}
@PostMapping(value = "lintStatus")
@ApiOperation(value = "演出上下线状态", position = 8)
@ApiResponse(code = 200, message = "接口返回对象参数")
@ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "String", name = "performancesId", value = "演出ID", required = true),
})
public ResponseDto<KylinTimePerformanceVo> outLinePerformance(@RequestParam("performancesId") @NotNull(message = "演出ID不能为空") String performancesId) {
return performancesPartnerService.LineTimeStatus(performancesId);
}
@PostMapping(value = "withdraw")
......
......@@ -15,6 +15,7 @@ import com.liquidnet.service.kylin.dto.param.PerformancePartnerVo;
import com.liquidnet.service.kylin.dto.param.PerformanceStep1Param;
import com.liquidnet.service.kylin.dto.param.PerformanceStep2Param;
import com.liquidnet.service.kylin.dto.vo.KylinExpressModuleVo;
import com.liquidnet.service.kylin.dto.vo.KylinTimePerformanceVo;
import com.liquidnet.service.kylin.dto.vo.PerformanceOrderStatisticalVo;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketVo;
......@@ -545,6 +546,7 @@ public class KylinPerformancesPartnerServiceImpl implements IKylinPerformancesPa
mongoMerchantUtils.insertPerformanceVo(vo);
// 判断状态
performanceUtils.performanceVoStatus(performancesId, null);
mongoMerchantUtils.delTimeLine(performancesId);
log.info(UserPathDto.setPartnerData("0", "onLinePerformance", "performancesId=" + performancesId, "上线成功"));
return ResponseDto.success("上线成功");
} catch (Exception e) {
......@@ -579,6 +581,7 @@ public class KylinPerformancesPartnerServiceImpl implements IKylinPerformancesPa
// 7, updatedAt, performancesId,updatedAt,updatedAt
// ));
performanceUtils.performanceVoStatus(performancesId, vo.getAppStatus());
mongoMerchantUtils.delTimeLine(performancesId);
log.info(UserPathDto.setPartnerData("0", "outLinePerformance", "performancesId=" + performancesId, "下线成功"));
return ResponseDto.success("下线成功");
} else {
......@@ -590,6 +593,44 @@ public class KylinPerformancesPartnerServiceImpl implements IKylinPerformancesPa
}
}
@Override
public ResponseDto<KylinTimePerformanceVo> LineTimeStatus(String performancesId) {
List<KylinTimePerformanceVo> voList = mongoMerchantUtils.getTimeLine(performancesId);
if (voList == null || voList.size() == 0) {
KylinTimePerformanceVo vo = KylinTimePerformanceVo.getNew();
vo.setPerformanceId(performancesId);
vo.setTaskType(0);
vo.setTime("");
return ResponseDto.success(vo);
} else {
return ResponseDto.success(voList.get(0));
}
}
@Override
public ResponseDto<String> outLineTimePerformance(String performancesId, String time) {
mongoMerchantUtils.delTimeLine(performancesId);
KylinTimePerformanceVo vo = KylinTimePerformanceVo.getNew();
vo.setPerformanceId(performancesId);
vo.setTime(time);
vo.setTaskType(2);
mongoMerchantUtils.insertTimeLine(vo);
log.info("[ OUT LINE TASK ] performanceId = " + performancesId + " time = " + time);
return null;
}
@Override
public ResponseDto<String> onLineTimePerformance(String performancesId, String time) {
mongoMerchantUtils.delTimeLine(performancesId);
KylinTimePerformanceVo vo = KylinTimePerformanceVo.getNew();
vo.setPerformanceId(performancesId);
vo.setTime(time);
vo.setTaskType(1);
mongoMerchantUtils.insertTimeLine(vo);
log.info("[ ON LINE TASK ] performanceId = " + performancesId + " time = " + time);
return null;
}
@Override
public String copyPerformance(String performancesId) {
try {
......
......@@ -4,6 +4,7 @@ import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.kylin.dao.PerformancePartnerListDao;
import com.liquidnet.service.kylin.dto.param.PerformancePartnerListParam;
import com.liquidnet.service.kylin.dto.param.PerformancePartnerVo;
import com.liquidnet.service.kylin.dto.vo.KylinTimePerformanceVo;
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.KylinOrderTicketVo;
......@@ -197,6 +198,21 @@ public class MongoMerchantUtils {
return mongoTemplate.find(Query.query(Criteria.where("appStatus").in(6, 8, 9)), KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
}
//新增 演唱定时任务
public KylinTimePerformanceVo insertTimeLine(KylinTimePerformanceVo data) {
return mongoTemplate.insert(data, KylinTimePerformanceVo.class.getSimpleName());
}
//获取 演唱定时任务
public List<KylinTimePerformanceVo> getTimeLine(String performanceId) {
return mongoTemplate.find(Query.query(Criteria.where("performanceId").is(performanceId)), KylinTimePerformanceVo.class, KylinTimePerformanceVo.class.getSimpleName());
}
//删除 演出定时任务
public Object delTimeLine(String performances) {
return mongoTemplate.remove(Query.query(Criteria.where("performanceId").is(performances)), KylinTimePerformanceVo.class, KylinTimePerformanceVo.class.getSimpleName());
}
/**
* 判断该用户对于此演出是否有权限
*
......
......@@ -19,6 +19,7 @@ import com.liquidnet.service.kylin.dto.param.PerformancePartnerListParam;
import com.liquidnet.service.kylin.dto.param.PerformancePartnerVo;
import com.liquidnet.service.kylin.dto.param.PerformanceStep1Param;
import com.liquidnet.service.kylin.dto.param.PerformanceStep2Param;
import com.liquidnet.service.kylin.dto.vo.KylinTimePerformanceVo;
import com.liquidnet.service.kylin.dto.vo.PerformanceOrderStatisticalVo;
import com.liquidnet.service.kylin.dto.vo.partner.*;
import com.liquidnet.service.kylin.entity.*;
......@@ -531,6 +532,7 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
// 判断状态
performanceVoTask.performanceVoStatus(performancesId);
log.info(UserPathDto.setPartnerData("0", "onLinePerformance", "performancesId=" + performancesId, "上线成功"));
dataUtils.delTimeLine(performancesId);
return ResponseDto.success("上线成功");
} catch (Exception e) {
log.info(UserPathDto.setPartnerData("0", "onLinePerformance", "performancesId=" + performancesId, e));
......@@ -553,6 +555,7 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
performanceVoTask.performanceVoStatus(performancesId);
log.info(UserPathDto.setPartnerData("0", "outLinePerformance", "performancesId=" + performancesId, "下线成功"));
dataUtils.delTimeLine(performancesId);
return ResponseDto.success("下线成功");
} else {
return ResponseDto.failure(ErrorMapping.get(20111));
......@@ -563,6 +566,21 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
}
}
@Override
public ResponseDto<KylinTimePerformanceVo> LineTimeStatus(String performancesId) {
return null;
}
@Override
public ResponseDto<String> outLineTimePerformance(String performancesId, String time) {
return null;
}
@Override
public ResponseDto<String> onLineTimePerformance(String performancesId, String time) {
return null;
}
@Override
public String copyPerformance(String performancesId) {
try {
......
......@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.liquidnet.common.cache.redis.util.RedisDataSourceUtil;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dto.vo.KylinTimePerformanceVo;
import com.liquidnet.service.kylin.dto.vo.express.KylinOrderExpressRouteVo;
import com.liquidnet.service.kylin.dto.vo.express.KylinOrderExpressVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketEntitiesVo;
......@@ -413,4 +414,9 @@ public class DataUtils {
return (ArrayList<KylinOrderCoupons>) obj;
}
}
//删除 演出定时任务
public Object delTimeLine(String performances) {
return mongoTemplate.remove(Query.query(Criteria.where("performance").is(performances)), KylinTimePerformanceVo.class, KylinTimePerformanceVo.class.getSimpleName());
}
}
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