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

Commit b7f50299 authored by 洪全海's avatar 洪全海
parents fde01b11 e7be62a9
...@@ -126,13 +126,13 @@ ...@@ -126,13 +126,13 @@
<dependency> <dependency>
<groupId>com.github.xiaoymin</groupId> <groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId> <artifactId>knife4j-spring-boot-starter</artifactId>
<version>2.0.5</version> <version>3.0.2</version>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.5.22</version>
</dependency> </dependency>
<!-- <dependency>-->
<!-- <groupId>io.swagger</groupId>-->
<!-- <artifactId>swagger-annotations</artifactId>-->
<!-- <version>1.5.22</version>-->
<!-- </dependency>-->
<dependency> <dependency>
<groupId>com.belerweb</groupId> <groupId>com.belerweb</groupId>
<artifactId>pinyin4j</artifactId> <artifactId>pinyin4j</artifactId>
...@@ -149,6 +149,11 @@ ...@@ -149,6 +149,11 @@
<artifactId>druid-spring-boot-starter</artifactId> <artifactId>druid-spring-boot-starter</artifactId>
<version>${druid.version}</version> <version>${druid.version}</version>
</dependency> </dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.9.1</version>
</dependency>
</dependencies> </dependencies>
</dependencyManagement> </dependencyManagement>
......
...@@ -10,7 +10,7 @@ liquidnet: ...@@ -10,7 +10,7 @@ liquidnet:
username: testmall username: testmall
password: zhengzai!mYT password: zhengzai!mYT
rabbitmq: rabbitmq:
host: 172.16.2.15 host: 127.0.0.1
port: 5672 port: 5672
username: admin username: admin
password: admin password: admin
......
package com.liquidnet.service.feign.adam.admin.company;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.liquidnet.service.ResponseDto;
import com.liquidnet.service.adam.dto.query.AdamComInfoQuery;
import com.liquidnet.service.adam.entity.AdamComInfo;
import com.liquidnet.service.feign.adam.constant.FeignAdamConstant;
import feign.hystrix.FallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Service
@FeignClient(name = FeignAdamConstant.LIQUIDNET_SERVICE_ADAM,
path = FeignAdamConstant.CONTEXT_PATH,
fallback = FallbackFactory.Default.class,
contextId = FeignAdamConstant.CONTEXT_ADMIN_COMPANY)
public interface FeignAdminAdamComInfoClient {
@RequestMapping(value = "/admin/adam-com-info/query_list")
ResponseDto<Page<AdamComInfo>> queryList(@RequestBody AdamComInfoQuery query,
@RequestParam int pageNum,
@RequestParam int pageSize);
}
package com.liquidnet.service.feign.adam.admin.transaction;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.liquidnet.service.ResponseDto;
import com.liquidnet.service.adam.dto.AdamTransactionDto;
import com.liquidnet.service.adam.dto.admin.transaction.AdamConversionRecordReq;
import com.liquidnet.service.adam.dto.admin.transaction.AdamPayoutDetailDto;
import com.liquidnet.service.adam.dto.admin.transaction.AdamPayoutRecordReq;
import com.liquidnet.service.adam.dto.admin.transaction.AdamRechargeRecordReq;
import com.liquidnet.service.feign.adam.constant.FeignAdamConstant;
import feign.hystrix.FallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.*;
@Service
@FeignClient(name = FeignAdamConstant.LIQUIDNET_SERVICE_ADAM,
path = FeignAdamConstant.CONTEXT_PATH,
fallback = FallbackFactory.Default.class,
contextId = FeignAdamConstant.CONTEXT_ADMIN_TRANSACTION)
public interface FeignTransactionQueryClient {
@PostMapping(value = "/admin/adam-trans-query/rechargeList")
ResponseDto<Page<AdamTransactionDto>> rechargeList(@RequestBody AdamRechargeRecordReq adamRechargeRecordReq,
@RequestParam("pageNum") int pageNum,
@RequestParam("pageSize") int pageSize);
@PostMapping(value = "/admin/adam-trans-query/payoutList")
ResponseDto<Page<AdamTransactionDto>> payoutList(@RequestBody AdamPayoutRecordReq adamPayoutRecordReq,
@RequestParam("pageNum") int pageNum,
@RequestParam("pageSize") int pageSize);
@PostMapping(value = "/admin/adam-trans-query/conversionList")
ResponseDto<Page<AdamTransactionDto>> conversionList(@RequestBody AdamConversionRecordReq adamConversionRecordReq,
@RequestParam("pageNum") int pageNum,
@RequestParam("pageSize") int pageSize);
@PostMapping(value = "/admin/adam-trans-query/getPayoutDetailByOrderId")
ResponseDto<AdamPayoutDetailDto> getPayoutDetailByOrderId(@RequestParam("orderId") String orderId);
}
package com.liquidnet.service.feign.adam.admin.user;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.liquidnet.service.ResponseDto;
import com.liquidnet.service.adam.dto.query.AdamUserQuery;
import com.liquidnet.service.adam.entity.AdamUser;
import com.liquidnet.service.feign.adam.constant.FeignAdamConstant;
import feign.hystrix.FallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.*;
@Service
@FeignClient(name = FeignAdamConstant.LIQUIDNET_SERVICE_ADAM,
path = FeignAdamConstant.CONTEXT_PATH,
fallback = FallbackFactory.Default.class,
contextId = FeignAdamConstant.CONTEXT_ADMIN_USER)
public interface FeignAdminAdamUserInfoClient {
@PostMapping(value = "/admin/adam-user/list")
ResponseDto<Page<AdamUser>> listAdamUser(@RequestBody AdamUserQuery adamUserQuery,
@RequestParam("pageNum") int pageNum,
@RequestParam("pageSize") int pageSize);
}
package com.liquidnet.service.feign.adam.api;
import com.liquidnet.service.ResponseDto;
import feign.hystrix.FallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Component
@FeignClient(name = "liquidnet-service-adam",
contextId = "sev-adam-auth", path = "",
fallback = FallbackFactory.Default.class)
public interface FeignAdamAuthClient {
@PostMapping(value = "login")
ResponseDto<Object> loginByPwd(@RequestParam String mobile, @RequestParam String password);
}
package com.liquidnet.service.feign.adam.api.account;
import com.liquidnet.service.ResponseDto;
import com.liquidnet.service.bank.currencycloud.entity.BankCcBalance;
import com.liquidnet.service.feign.adam.constant.FeignAdamConstant;
import feign.hystrix.FallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Service
@FeignClient(name = FeignAdamConstant.LIQUIDNET_SERVICE_ADAM,
path = FeignAdamConstant.CONTEXT_PATH,
fallback = FallbackFactory.Default.class,
contextId = FeignAdamConstant.CONTEXT_API_ACCOUNT_WALLET
)
public interface FeignAdamAccountWalletClient {
@RequestMapping(value = "/feign/adam-account-wallet/push_notify_bank_cc_balance", method = RequestMethod.POST)
ResponseDto pushNotifyBalance(@RequestBody BankCcBalance balance);
}
package com.liquidnet.service.feign.adam.api.account;
import com.liquidnet.service.ResponseDto;
import com.liquidnet.service.bank.currencycloud.dto.BankCcConversionDto;
import com.liquidnet.service.bank.currencycloud.dto.BankCcPushNotifyFunding;
import com.liquidnet.service.bank.currencycloud.entity.BankCcPayment;
import com.liquidnet.service.bank.currencycloud.entity.BankCcTransaction;
import com.liquidnet.service.feign.adam.constant.FeignAdamConstant;
import feign.hystrix.FallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Service
@FeignClient(name = FeignAdamConstant.LIQUIDNET_SERVICE_ADAM,
path = FeignAdamConstant.CONTEXT_PATH,
fallback = FallbackFactory.Default.class,
contextId = FeignAdamConstant.CONTEXT_API_TRANSACTION)
public interface FeignAdamTransactionClient {
@RequestMapping(value = "/feign/adam-funding/push_notify_bank_cc_funding", method = RequestMethod.POST)
ResponseDto pushNotifyBankCcFunding(@RequestBody BankCcTransaction funding);
@RequestMapping(value = "/feign/adam-conversion/push_notify_bank_cc_conversion", method = RequestMethod.POST)
ResponseDto pushNotifyBankCcConversion(@RequestBody BankCcConversionDto conversionDto);
@RequestMapping(value = "/feign/adam-payout/push_notify_bank_cc_payment", method = RequestMethod.POST)
ResponseDto pushNotifyBankCcPayment(@RequestBody BankCcPayment payment);
}
package com.liquidnet.service.feign.adam.task;
import com.liquidnet.service.ResponseDto;
import com.liquidnet.service.feign.adam.constant.FeignAdamConstant;
import feign.hystrix.FallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.PostMapping;
@Service
@FeignClient(name = FeignAdamConstant.LIQUIDNET_SERVICE_ADAM,
path = FeignAdamConstant.CONTEXT_PATH,
fallback = FallbackFactory.Default.class,
contextId = FeignAdamConstant.CONTEXT_TASK_CONVERSION)
public interface FeignTaskAdamConversionClient {
@PostMapping(value = "/task/adam-conversion/send_confirm_task")
ResponseDto sendConfirmTask();
}
package com.liquidnet.service.feign.adam.task;
import com.liquidnet.service.ResponseDto;
import com.liquidnet.service.feign.adam.constant.FeignAdamConstant;
import feign.hystrix.FallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.PostMapping;
@Service
@FeignClient(name = FeignAdamConstant.LIQUIDNET_SERVICE_ADAM,
path = FeignAdamConstant.CONTEXT_PATH,
fallback = FallbackFactory.Default.class,
contextId = FeignAdamConstant.CONTEXT_TASK_PAYOUT)
public interface FeignTaskAdamPayoutClient {
/**
* 执行每天的预约下发
*/
@PostMapping(value = "/task/adam-payout/execution_date_task")
ResponseDto executionDateTask();
@PostMapping(value = "/task/adam-payout/awaiting_funds_task")
ResponseDto awaitingFundsDoPayoutTask();
}
...@@ -11,10 +11,10 @@ ...@@ -11,10 +11,10 @@
<artifactId>liquidnet-api-feign</artifactId> <artifactId>liquidnet-api-feign</artifactId>
<packaging>pom</packaging> <packaging>pom</packaging>
<modules> <modules>
<module>liquidnet-api-feign-sequence</module> <module>liquidnet-api-feign-adam</module>
<!-- <module>liquidnet-api-feign-sequence</module>-->
<!-- <module>liquidnet-api-feign-example</module>--> <!-- <module>liquidnet-api-feign-example</module>-->
<!-- <module>liquidnet-api-feign-account</module>--> <!-- <module>liquidnet-api-feign-account</module>-->
<!-- <module>liquidnet-api-feign-adam</module>-->
<!-- <module>liquidnet-api-feign-bank</module>--> <!-- <module>liquidnet-api-feign-bank</module>-->
<!-- <module>liquidnet-api-feign-reconciliation</module>--> <!-- <module>liquidnet-api-feign-reconciliation</module>-->
</modules> </modules>
......
...@@ -4,10 +4,12 @@ public class KylinRedisConst { ...@@ -4,10 +4,12 @@ public class KylinRedisConst {
public static final String FIELDS = "kylin:fields:id"; public static final String FIELDS = "kylin:fields:id";
public static final String PERFORMANCES = "kylin:performances:id"; public static final String PERFORMANCES = "kylin:performances:id";
public static final String PERFORMANCES_INVENTORY = "kylin:performances_inventory:id";
public static final String TICKET = "kylin:ticket:id"; public static final String TICKET = "kylin:ticket:id";
public static final String TIMES = "kylin:times:id"; public static final String TIMES = "kylin:times:id";
public static final String BANNERS = "kylin:banners:id"; public static final String BANNERS = "kylin:banners:banners";
public static final String BANNERSRELATIONS = "kylin:banners:banners_relations";
} }
...@@ -96,7 +96,7 @@ public class PerformancePartnerDto implements Serializable { ...@@ -96,7 +96,7 @@ public class PerformancePartnerDto implements Serializable {
/** /**
* 演出简介 * 演出简介
*/ */
private String describe; private String describes;
/** /**
* 演出详情 * 演出详情
......
package com.liquidnet.service.kylin.dto;
import lombok.Data;
@Data
public class TicketInventoryDto {
/**
* 票id
*/
private String ticketsId;
/**
* 售票库存
*/
private Integer surplusGeneral;
/**
* 兑换库存
*/
private Integer surplusExchange;
}
...@@ -6,8 +6,11 @@ import io.swagger.annotations.ApiModelProperty; ...@@ -6,8 +6,11 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDateTime; import java.util.List;
/** /**
* <p> * <p>
...@@ -19,39 +22,58 @@ import java.time.LocalDateTime; ...@@ -19,39 +22,58 @@ import java.time.LocalDateTime;
@Data @Data
public class BannersParam implements Serializable { public class BannersParam implements Serializable {
@ApiModelProperty(value = "Banner主键ID", example = "4345ASGMTG66") @ApiModelProperty(value = "Banner主键ID", example = "9822346783245")
private String bannersId; private String bannersId;
@ApiModelProperty(value = "标题", required = true, example = "这是一个banner标题") @ApiModelProperty(value = "标题", required = true, example = "这是一个banner标题")
private String name; @NotBlank(message = "请填写标题")
private String bannersName;
@ApiModelProperty(value = "封面图", required = true, example = "https://img.zhengzai.tv/partner/2019/05/14/5cda2d0520177.png") @ApiModelProperty(value = "封面图", required = true, example = "https://img.zhengzai.tv/partner/2019/05/14/5cda2d0520177.png")
@NotBlank(message = "请上传封面图")
private String coverImg; private String coverImg;
@ApiModelProperty(value = "跳转目标id或者url", required = true, example = "https://img.zhengzai.tv/partner/2019/05/14/5cda2d0520177.png") @ApiModelProperty(value = "跳转类型 具体类型有接口提供", required = true, example = "6")
private String targetId; @Min(value = 1, message = "请选择跳转类型")
private Integer targetType;
@ApiModelProperty(value = "跳转类型 6演出跳转 7商品跳转 8巡演跳转 12展示分享按钮的web连接 14积分商品详情 100活动跳转 999不跳转 998个人信息跳转", required = true, example = "6") @ApiModelProperty(value = "跳转目标id或者url 不跳转则为空", example = "https://img.zhengzai.tv/partner/2019/05/14/5cda2d0520177.png")
private Integer type; private String targetObj;
@ApiModelProperty(value = "是否显示 0-否,1-是", required = true, example = "1", allowableValues = "0,1") @ApiModelProperty(value = "是否上线展示 0下线 1上线", required = true, example = "1", allowableValues = "0,1")
private Integer isShow; @Min(value = 1, message = "请选择是否上线")
private Integer isOnline;
@ApiModelProperty(value = "展示位置", required = true, example = "1") @ApiModelProperty(value = "上线开始时间", example = "2021-05-01 11:22:33")
private Integer position; private String onlineStartTime;
@ApiModelProperty(value = "排序权重 越大越靠前", required = true, example = "100") @ApiModelProperty(value = "上线结束时间", example = "2021-05-01 11:22:33")
private Integer sort; private String onlineEndTime;
@ApiModelProperty(value = "推广类型 1全国 2省份", required = true, example = "1", allowableValues = "1,2")
@Min(value = 1, message = "请选择推广类型")
private Integer promotionType;
@ApiModelProperty(value = "排序权重 越大越靠前", example = "100")
private Integer BannersSort;
@ApiModelProperty(value = "备注", example = "这是一个演出推广的banner") @ApiModelProperty(value = "备注", example = "这是一个演出推广的banner")
private String comment; private String remarks;
@ApiModelProperty(value = "展示的位置 多选 数组", example = "[\"1\", \"4\", \"3\"]")
@NotEmpty(message = "请选择展示位置")
private List positionList;
@ApiModelProperty(value = "推广省份 多选 数组", example = "[\"1\", \"4\", \"3\"]")
// @NotEmpty(message = "请选择推广省份")
private List provincesList;
@JsonIgnore @JsonIgnore
public KylinBanners getFields(String fieldsId, LocalDateTime createdAt) { public KylinBanners getFields(String bannersId, String createdAt) {
KylinBanners fields = new KylinBanners(); KylinBanners fields = new KylinBanners();
BeanUtils.copyProperties(this, fields); BeanUtils.copyProperties(this, fields);
if (null != fieldsId) { if (null != bannersId) {
fields.setBannersId(fieldsId); fields.setBannersId(bannersId);
} }
if (null != createdAt) { if (null != createdAt) {
fields.setCreatedAt(createdAt); fields.setCreatedAt(createdAt);
......
...@@ -16,16 +16,16 @@ import java.io.Serializable; ...@@ -16,16 +16,16 @@ import java.io.Serializable;
@Data @Data
public class BannersSearchParam implements Serializable { public class BannersSearchParam implements Serializable {
@ApiModelProperty(value = "标题", example = "这是一个banner标题") @ApiModelProperty(value = "标题", example = "这是一个banner标题")
private String name; private String bannersName;
@ApiModelProperty(value = "跳转类型 6演出跳转 7商品跳转 8巡演跳转 12展示分享按钮的web连接 14积分商品详情 100活动跳转 999不跳转 998个人信息跳转", example = "6") @ApiModelProperty(value = "跳转类型(由接口提供)", example = "6")
private Integer type; private Integer targetType;
@ApiModelProperty(value = "是否显示 0-否,1-是", example = "1", allowableValues = "0,1") @ApiModelProperty(value = "是否上线展示 0下线 1上线", example = "1", allowableValues = "0,1")
private Integer isShow; private Integer isOnline;
@ApiModelProperty(value = "展示位置", example = "1") @ApiModelProperty(value = "推广类型 1全国 2省份", example = "1", allowableValues = "1,2")
private Integer position; private Integer promotionType;
@ApiModelProperty(value = "页数 ", example = "1") @ApiModelProperty(value = "页数 ", example = "1")
private int page; private int page;
......
...@@ -21,10 +21,10 @@ public class CreateTicketTimesParam implements Serializable { ...@@ -21,10 +21,10 @@ public class CreateTicketTimesParam implements Serializable {
private String title; private String title;
@ApiModelProperty(value = "场次适用开始时间", example = "2020-12-01T12:00:00") @ApiModelProperty(value = "场次适用开始时间", example = "2020-12-01T12:00:00")
private LocalDateTime timeStart; private LocalDateTime useStart;
@ApiModelProperty(value = "场次适用结束时间", example = "2020-12-01T12:00:00") @ApiModelProperty(value = "场次适用结束时间", example = "2020-12-01T12:00:00")
private LocalDateTime timeEnd; private LocalDateTime useEnd;
@ApiModelProperty(value = "类型 1单日票 2通票", example = "1") @ApiModelProperty(value = "类型 1单日票 2通票", example = "1")
private int type; private int type;
......
...@@ -2,6 +2,7 @@ package com.liquidnet.service.kylin.dto.param; ...@@ -2,6 +2,7 @@ package com.liquidnet.service.kylin.dto.param;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
...@@ -20,7 +21,7 @@ public class PerformanceCreateParam implements Serializable { ...@@ -20,7 +21,7 @@ public class PerformanceCreateParam implements Serializable {
private String title; private String title;
@ApiModelProperty(value = "演出类型 1音乐节 2演唱会 3小型演出 4展览 6舞台剧", example = "3") @ApiModelProperty(value = "演出类型 1音乐节 2演唱会 3小型演出 4展览 6舞台剧", example = "3")
private String type; private int type;
@ApiModelProperty(value = "演出开始时间", example = "2021-05-01 12:00:00") @ApiModelProperty(value = "演出开始时间", example = "2021-05-01 12:00:00")
private String timeStart; private String timeStart;
...@@ -31,6 +32,9 @@ public class PerformanceCreateParam implements Serializable { ...@@ -31,6 +32,9 @@ public class PerformanceCreateParam implements Serializable {
@ApiModelProperty(value = "场地id", example = "1") @ApiModelProperty(value = "场地id", example = "1")
private String fieldId; private String fieldId;
@ApiModelProperty(value = "场地id", example = "1")
private String fieldName;
@ApiModelProperty(value = "演出公告", example = "这是演出公告") @ApiModelProperty(value = "演出公告", example = "这是演出公告")
private String notice; private String notice;
...@@ -73,6 +77,15 @@ public class PerformanceCreateParam implements Serializable { ...@@ -73,6 +77,15 @@ public class PerformanceCreateParam implements Serializable {
@ApiModelProperty(value = "状态:-1删除;0未提交;1审核中;2审核中(自动上线);3审核通过;4审核未通过;6上线;7下架;8活动结束;9活动取消退款中;10活动取消退", example = "0") @ApiModelProperty(value = "状态:-1删除;0未提交;1审核中;2审核中(自动上线);3审核通过;4审核未通过;6上线;7下架;8活动结束;9活动取消退款中;10活动取消退", example = "0")
private int status; private int status;
@ApiModelProperty(value = "第三方id", example = "0")
private String merchantId;
@ApiModelProperty(value = "演出简介", example = "0")
private String describes;
@ApiModelProperty(value = "是否售卖", example = "0")
private int statusSell;
@ApiModelProperty(value = "", example = "") @ApiModelProperty(value = "", example = "")
private String createdAt; private String createdAt;
} }
...@@ -20,7 +20,7 @@ public class PerformanceStep1Param implements Serializable { ...@@ -20,7 +20,7 @@ public class PerformanceStep1Param implements Serializable {
private String title; private String title;
@ApiModelProperty(value = "演出类型 1音乐节 2演唱会 3小型演出 4展览 6舞台剧", example = "3") @ApiModelProperty(value = "演出类型 1音乐节 2演唱会 3小型演出 4展览 6舞台剧", example = "3")
private String type; private int type;
@ApiModelProperty(value = "演出开始时间", example = "2021-05-01 12:00:00") @ApiModelProperty(value = "演出开始时间", example = "2021-05-01 12:00:00")
private String timeStart; private String timeStart;
...@@ -31,6 +31,9 @@ public class PerformanceStep1Param implements Serializable { ...@@ -31,6 +31,9 @@ public class PerformanceStep1Param implements Serializable {
@ApiModelProperty(value = "场地id", example = "1") @ApiModelProperty(value = "场地id", example = "1")
private String fieldId; private String fieldId;
@ApiModelProperty(value = "场地名称", example = "")
private String fieldName;
@ApiModelProperty(value = "演出公告", example = "这是演出公告") @ApiModelProperty(value = "演出公告", example = "这是演出公告")
private String notice; private String notice;
...@@ -61,6 +64,9 @@ public class PerformanceStep1Param implements Serializable { ...@@ -61,6 +64,9 @@ public class PerformanceStep1Param implements Serializable {
@ApiModelProperty(value = "购票须知", example = "[{\"id\":1,\"title\":\"\\u95e8\\u7968\\u4e0d\\u9000\\u4e0d\\u6362\",\"type\":\"image\",\"url\":\"http:\\/\\/img-zhengzai-tv.oss-cn-hangzhou.aliyuncs.com\\/partner\\/2019\\/01\\/21\\/5c45722882a13.png\",\"text\":\"\\u95e8\\u7968\\u4e3a\\u6709\\u4ef7\\u8bc1\\u5238\\uff0c\\u5e76\\u975e\\u5546\\u54c1\\uff0c\\u4e00\\u7ecf\\u552e\\u51fa\\u4e0d\\u4e88\\u9000\\u6362\\u3002\\u56e0\\u201c\\u4e0d\\u53ef\\u6297\\u529b\\u201d\\u5bfc\\u81f4\\u7684\\u6f14\\u51fa\\u53d6\\u6d88\\u6216\\u5ef6\\u671f\\u9664\\u5916\\u3002\",\"sort\":1},{\"id\":3,\"title\":\"\\u4ec5\\u8bbe\\u7ad9\\u5e2d\",\"type\":\"image\",\"url\":\"http:\\/\\/img-zhengzai-tv.oss-cn-hangzhou.aliyuncs.com\\/partner\\/2019\\/01\\/21\\/5c456e93db0b9.png\",\"text\":\"\\u672c\\u573a\\u6f14\\u51fa\\u4e0d\\u8bbe\\u5ea7\\u4f4d\\uff0c\\u5747\\u4e3a\\u7ad9\\u5e2d\\u89c2\\u6f14\\u3002\",\"sort\":2},{\"id\":4,\"title\":\"\\u7981\\u6b62\\u4e2a\\u4eba\\u7968\\u52a1\\u4e70\\u5356\",\"type\":\"image\",\"url\":\"http:\\/\\/img-zhengzai-tv.oss-cn-hangzhou.aliyuncs.com\\/partner\\/2019\\/01\\/21\\/5c456e5c27644.png\",\"text\":\"\\u4e3a\\u9632\\u6b62\\u4e0d\\u6cd5\\u5206\\u5b50\\u5229\\u7528\\u7968\\u52a1\\u8f6c\\u8ba9\\u8bc8\\u9a97\\u94b1\\u6b3e\\uff0c\\u5efa\\u8bae\\u5e7f\\u5927\\u4e50\\u8ff7\\u4e0d\\u8981\\u8fdb\\u884c\\u4e2a\\u4eba\\u95f4\\u7968\\u52a1\\u4e70\\u5356\\uff0c\\u4e0d\\u8981\\u8f7b\\u6613\\u76f8\\u4fe1\\u6765\\u6e90\\u4e0d\\u660e\\u7684\\u8f6c\\u7968\\uff0c\\u4ee5\\u514d\\u81ea\\u8eab\\u5229\\u76ca\\u53d7\\u5230\\u4fb5\\u5bb3\\u3002\",\"sort\":3}]") @ApiModelProperty(value = "购票须知", example = "[{\"id\":1,\"title\":\"\\u95e8\\u7968\\u4e0d\\u9000\\u4e0d\\u6362\",\"type\":\"image\",\"url\":\"http:\\/\\/img-zhengzai-tv.oss-cn-hangzhou.aliyuncs.com\\/partner\\/2019\\/01\\/21\\/5c45722882a13.png\",\"text\":\"\\u95e8\\u7968\\u4e3a\\u6709\\u4ef7\\u8bc1\\u5238\\uff0c\\u5e76\\u975e\\u5546\\u54c1\\uff0c\\u4e00\\u7ecf\\u552e\\u51fa\\u4e0d\\u4e88\\u9000\\u6362\\u3002\\u56e0\\u201c\\u4e0d\\u53ef\\u6297\\u529b\\u201d\\u5bfc\\u81f4\\u7684\\u6f14\\u51fa\\u53d6\\u6d88\\u6216\\u5ef6\\u671f\\u9664\\u5916\\u3002\",\"sort\":1},{\"id\":3,\"title\":\"\\u4ec5\\u8bbe\\u7ad9\\u5e2d\",\"type\":\"image\",\"url\":\"http:\\/\\/img-zhengzai-tv.oss-cn-hangzhou.aliyuncs.com\\/partner\\/2019\\/01\\/21\\/5c456e93db0b9.png\",\"text\":\"\\u672c\\u573a\\u6f14\\u51fa\\u4e0d\\u8bbe\\u5ea7\\u4f4d\\uff0c\\u5747\\u4e3a\\u7ad9\\u5e2d\\u89c2\\u6f14\\u3002\",\"sort\":2},{\"id\":4,\"title\":\"\\u7981\\u6b62\\u4e2a\\u4eba\\u7968\\u52a1\\u4e70\\u5356\",\"type\":\"image\",\"url\":\"http:\\/\\/img-zhengzai-tv.oss-cn-hangzhou.aliyuncs.com\\/partner\\/2019\\/01\\/21\\/5c456e5c27644.png\",\"text\":\"\\u4e3a\\u9632\\u6b62\\u4e0d\\u6cd5\\u5206\\u5b50\\u5229\\u7528\\u7968\\u52a1\\u8f6c\\u8ba9\\u8bc8\\u9a97\\u94b1\\u6b3e\\uff0c\\u5efa\\u8bae\\u5e7f\\u5927\\u4e50\\u8ff7\\u4e0d\\u8981\\u8fdb\\u884c\\u4e2a\\u4eba\\u95f4\\u7968\\u52a1\\u4e70\\u5356\\uff0c\\u4e0d\\u8981\\u8f7b\\u6613\\u76f8\\u4fe1\\u6765\\u6e90\\u4e0d\\u660e\\u7684\\u8f6c\\u7968\\uff0c\\u4ee5\\u514d\\u81ea\\u8eab\\u5229\\u76ca\\u53d7\\u5230\\u4fb5\\u5bb3\\u3002\",\"sort\":3}]")
private String noticeImage; private String noticeImage;
@ApiModelProperty(value = "演出简介", example = "")
private String describes;
@ApiModelProperty(value = "", example = "") @ApiModelProperty(value = "", example = "")
@JsonIgnore @JsonIgnore
private String createdAt; private String createdAt;
......
package com.liquidnet.service.kylin.dto.param; package com.liquidnet.service.kylin.dto.param;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import com.liquidnet.service.kylin.dto.vo.partner.TicketTimesTicketCreatePartnerVo;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.List;
@Data @Data
public class PerformanceStep2Param implements Serializable { public class PerformanceStep2Param implements Serializable {
...@@ -20,4 +22,10 @@ public class PerformanceStep2Param implements Serializable { ...@@ -20,4 +22,10 @@ public class PerformanceStep2Param implements Serializable {
@ApiModelProperty(value = "是否提交 1提交 0不提交(不验证参数)", example = "0") @ApiModelProperty(value = "是否提交 1提交 0不提交(不验证参数)", example = "0")
private int isSubmit; private int isSubmit;
@ApiModelProperty(value = "第三方id", example = "0")
private String merchantId;
@ApiModelProperty(value = "场次数据",hidden = true)
private List<TicketTimesTicketCreatePartnerVo> ticketTimes;
} }
...@@ -26,8 +26,8 @@ public class TicketCreateParam implements Serializable { ...@@ -26,8 +26,8 @@ public class TicketCreateParam implements Serializable {
@ApiModelProperty(value = "票种名称", example = "测试票") @ApiModelProperty(value = "票种名称", example = "测试票")
private String title; private String title;
@ApiModelProperty(value = "类型", example = "2") // @ApiModelProperty(value = "类型", example = "2")
private int types; // private int type;
@ApiModelProperty(value = "是否学生票 0否 1是", example = "0") @ApiModelProperty(value = "是否学生票 0否 1是", example = "0")
private int isStudent; private int isStudent;
......
...@@ -3,8 +3,8 @@ package com.liquidnet.service.kylin.dto.vo; ...@@ -3,8 +3,8 @@ package com.liquidnet.service.kylin.dto.vo;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.*;
import java.io.Serializable; import java.io.Serializable;
import java.util.List;
/** /**
...@@ -22,34 +22,40 @@ public class BannersVo implements Serializable { ...@@ -22,34 +22,40 @@ public class BannersVo implements Serializable {
private String bannersId; private String bannersId;
@ApiModelProperty(value = "标题") @ApiModelProperty(value = "标题")
@NotBlank(message = "请填写标题") private String bannersName;
private String name;
@ApiModelProperty(value = "封面图") @ApiModelProperty(value = "封面图")
@NotBlank(message = "请上传封面图")
private String coverImg; private String coverImg;
@ApiModelProperty(value = "跳转类型")
private Integer targetType;
@ApiModelProperty(value = "跳转目标id或者url") @ApiModelProperty(value = "跳转目标id或者url")
@NotBlank(message = "请填写需要跳转的目标id或urk") private String targetObj;
private String targetId;
@ApiModelProperty(value = "是否上线展示 0下线 1上线")
private Integer isOnline;
@ApiModelProperty(value = "跳转类型 6演出跳转 7商品跳转 8巡演跳转 12展示分享按钮的web连接 14积分商品详情 100活动跳转 999不跳转 998个人信息跳转") @ApiModelProperty(value = "上线开始时间")
@Min(value = 1, message = "请选择跳转类型") private String onlineStartTime;
private Integer type;
@ApiModelProperty(value = "是否显示 0-否,1-是") @ApiModelProperty(value = "上线结束时间")
@Min(value = 1, message = "请选择是否显示") private String onlineEndTime;
private Integer isShow;
@ApiModelProperty(value = "展示位置") @ApiModelProperty(value = "推广类型 1全国 2省份")
@Min(value = 1, message = "请选择展示的位置") private Integer promotionType;
private Integer position;
@ApiModelProperty(value = "排序权重 越大越靠前") @ApiModelProperty(value = "排序权重 越大越靠前")
private Integer sort; private Integer BannersSort;
@ApiModelProperty(value = "备注") @ApiModelProperty(value = "备注")
private String comment; private String remarks;
@ApiModelProperty(value = "展示的位置 多选 数组")
private List positionList;
@ApiModelProperty(value = "推广省份 多选 数组")
private List provincesList;
@ApiModelProperty(value = "是否删除 0已删除,1正常") @ApiModelProperty(value = "是否删除 0已删除,1正常")
private Integer isDeleted; private Integer isDeleted;
......
package com.liquidnet.service.kylin.dto.vo;
import com.liquidnet.service.kylin.entity.KylinPerformanceRelations;
import com.liquidnet.service.kylin.entity.KylinPerformanceStatus;
import com.liquidnet.service.kylin.entity.KylinPerformances;
import io.swagger.annotations.ApiModelProperty;
import jdk.nashorn.internal.ir.annotations.Ignore;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.List;
@Data
public class PerformanceVo {
@ApiModelProperty(value = "主键")
private String performancesId;
@ApiModelProperty(value = "演出名称")
private String title;
@ApiModelProperty(value = "演出开始时间")
private String timeStart;
@ApiModelProperty(value = "演出结束时间")
private String timeEnd;
@ApiModelProperty(value = "停售时间")
private String stopSellTime;
@ApiModelProperty(value = "价格")
private String price;
@ApiModelProperty(value = "开售时间")
private String sellTime;
@ApiModelProperty(value = "城市id")
private String cityId;
@ApiModelProperty(value = "场地id")
private String fieldId;
@ApiModelProperty(value = "场地名称")
private String fieldName;
@ApiModelProperty(value = "搭售id")
private String projectId;
@ApiModelProperty(value = "巡演id")
private String roadShowId;
//@ApiModelProperty(value = "巡演相关")
// private String roadShow;
// OSS
// @ApiModelProperty(value = "演出详情")
// private String details;
// OSS
// @ApiModelProperty(value = "购票须知")
// private String noticeImage;
@ApiModelProperty(value = "状态")
private int appStatus;
@ApiModelProperty(value = "是否可买")
private int statusSell;
@ApiModelProperty(value = "是否关联会员")
private int isMember;
@ApiModelProperty(value = "是否开启缺票登记")
private int isLackRegister;
@ApiModelProperty(value = "是否专属")
private int isExclusive;
@ApiModelProperty(value = "文案")
private String message;
public void setPerformance(KylinPerformances performance) {
this.performancesId = performance.getPerformancesId();
this.title = performance.getTitle();
this.timeStart = performance.getTimeStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.timeEnd = performance.getTimeEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
}
public void setTimePriceVipAndLack(int isLackRegister, int isMember, int isExclusive, BigDecimal price, LocalDateTime stopSellTime, LocalDateTime sellTime) {
this.isLackRegister = isLackRegister;
this.isMember = isMember;
this.isExclusive = isExclusive;
this.price = price + "起";
this.stopSellTime = stopSellTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.sellTime = sellTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.appStatus = 9;
this.message = "";
}
public void setPerformanceStatus(KylinPerformanceStatus performanceStatus) {
this.statusSell = performanceStatus.getStatusSell();
}
//TODO 巡演 搭售 场地
public void setPerformanceRelations(KylinPerformanceRelations performanceRelations) {
this.fieldId = "";
this.fieldName = "";
this.cityId = "";
this.projectId = "";
this.roadShowId = "";
}
}
package com.liquidnet.service.kylin.dto.vo; package com.liquidnet.service.kylin.dto.vo;
import com.liquidnet.service.kylin.entity.KylinTicketTimes;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.time.format.DateTimeFormatter;
import java.util.List;
//返回
@Data @Data
public class TicketTimesVo implements Serializable { public class TicketTimesVo {
@ApiModelProperty(value = "主键id")
private String ticketTimesId;
@ApiModelProperty(value = "演出Id", example = "")
private String PerformancesId;
@ApiModelProperty(value = "场次名称") @ApiModelProperty(value = "主键")
private String ticketTimesId;
@ApiModelProperty(value = "名称")
private String title; private String title;
@ApiModelProperty(value = "类型 1单日 2通票")
@ApiModelProperty(value = "场次适用开始时间")
private String timeStart;
@ApiModelProperty(value = "场次适用结束时间")
private String timeEnd;
@ApiModelProperty(value = "状态 0不可见 1可见")
private int status;
@ApiModelProperty(value = "状态 1单日票 2通票")
private int type; private int type;
@ApiModelProperty(value = "演出id")
@ApiModelProperty(value = "创建时间") private String performanceId;
private String createdAt; @ApiModelProperty(value = "场次id")
private String timeId;
@ApiModelProperty(value = "修改时间") @ApiModelProperty(value = "适用开始时间")
private String updatedAt; private String useStart;
@ApiModelProperty(value = "适用结束时间")
private String useEnd;
// @ApiModelProperty(value = "票种信息集合")
// private List<TicketVo> ticketVoList;
public void setTicketTimes(KylinTicketTimes ticketTimes){
this.ticketTimesId=ticketTimes.getTicketTimesId();
this.title=ticketTimes.getTitle();
this.type=ticketTimes.getType();
this.useStart=ticketTimes.getUseStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.useEnd=ticketTimes.getUseEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
}
} }
package com.liquidnet.service.kylin.dto.vo; package com.liquidnet.service.kylin.dto.vo;
import com.liquidnet.service.kylin.entity.KylinTicketRelations;
import com.liquidnet.service.kylin.entity.KylinTicketStatus;
import com.liquidnet.service.kylin.entity.KylinTickets;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.format.DateTimeFormatter;
/**
* 修改场地全部显示数据参数
*/
@Data @Data
public class TicketVo implements Serializable { public class TicketVo {
@ApiModelProperty(value = "主键") @ApiModelProperty(value = "主键")
private String ticketsId; private String ticketsId;
@ApiModelProperty(value = "场次id")
@ApiModelProperty(value = "票种名称", example = "测试票") private String timeId;
@ApiModelProperty(value = "名称")
private String title; private String title;
@ApiModelProperty(value = "类型 1单日 2通票")
@ApiModelProperty(value = "是否学生票 0否 1是", example = "0", hidden = true) private int type;
private int isStudent; @ApiModelProperty(value = "价格")
@ApiModelProperty(value = "是否电子票", example = "0")
private int isElectronic;
@ApiModelProperty(value = "是否快递票", example = "0")
private int isExpress;
@ApiModelProperty(value = "类型", example = "2")
private int types;
@ApiModelProperty(value = "价格", example = "100.00")
private BigDecimal price; private BigDecimal price;
@ApiModelProperty(value = "快递费")
@ApiModelProperty(value = "快递票截止日期", example = "2020-12-01T12:00:00") private BigDecimal priceExpress;
private String timeEndExpress; @ApiModelProperty(value = "会员价格")
private BigDecimal memberPrice;
@ApiModelProperty(value = "总库存", example = "100") @ApiModelProperty(value = "优惠价格")
private int totalGeneral; private BigDecimal discountPrice;
@ApiModelProperty(value = "票种描述")
@ApiModelProperty(value = "总兑换库存", example = "100") private String describes;
private int totalExchange; @ApiModelProperty(value = "快递票说明")
private String describeExpress;
@ApiModelProperty(value = "限购数量", example = "0") @ApiModelProperty(value = "电子票说明")
private int limitCount; private String describeElectronic;
@ApiModelProperty(value = "购票开始时间")
@ApiModelProperty(value = "票种开售时间", example = "2020-12-01T12:00:00")
private String timeStart; private String timeStart;
@ApiModelProperty(value = "购票结束时间")
@ApiModelProperty(value = "票种结售时间", example = "2020-12-01T14:00:00")
private String timeEnd; private String timeEnd;
@ApiModelProperty(value = "会员购票开始时间")
@ApiModelProperty(value = "票种说明", example = "这是票种说明") private String memberTimeStart;
private String describes; @ApiModelProperty(value = "快递票结束时间")
private String timeEndExpress;
@ApiModelProperty(value = "票状态 -1删除;0未提交;1审核中;2审核中(自动在售);3审核通过;4审核未通过;6在售;7停售;8售罄;9未开始;10已结束", example = "0") @ApiModelProperty(value = "适用开始时间")
private String useStart;
@ApiModelProperty(value = "适用结束时间")
private String useEnd;
@ApiModelProperty(value = "开票倒计时(分钟数)")
private int saleRemindMinute;
@ApiModelProperty(value = "是否学生票")
private int isStudent;
@ApiModelProperty(value = "是否电子票")
private int isElectronic;
@ApiModelProperty(value = "是否快递票")
private int isExpress;
@ApiModelProperty(value = "状态")
private int status; private int status;
@ApiModelProperty(value = "兑换状态")
private int statusExchange;
@ApiModelProperty(value = "是否缺票登记")
private int isLackRegister;
@ApiModelProperty(value = "快递状态 1寄付 2到付")
private int expressType;
@ApiModelProperty(value = "是否实名")
private int isTrueName;
@ApiModelProperty(value = "限购张数")
private int limitCount;
@ApiModelProperty(value = "是否会员专属")
private int isExclusive;
@ApiModelProperty(value = "是否会员")
private int isMember;
public void setTicket(KylinTickets ticket) {
this.ticketsId = ticket.getTicketsId();
this.title = ticket.getTitle();
this.type = ticket.getType();
this.price = ticket.getPrice();
this.priceExpress = ticket.getPriceExpress();
this.memberPrice = ticket.getPrice().subtract(ticket.getPriceDiscountMember());
this.discountPrice = ticket.getPrice().subtract(ticket.getPriceDiscount());
this.describes = ticket.getDescribes();
this.describeExpress = ticket.getDescribeExpress();
this.describeElectronic = ticket.getDescribeElectronic();
this.timeStart = ticket.getTimeStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.timeEnd = ticket.getTimeEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.memberTimeStart = ticket.getTimeStart().plusMinutes(-ticket.getAdvanceMinuteMember()).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.timeEndExpress = ticket.getTimeEndExpress().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.useStart = ticket.getUseStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.useEnd = ticket.getUseEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.saleRemindMinute = ticket.getSaleRemindMinute();
}
public void setTicketStatus(KylinTicketStatus ticketStatus) {
this.isMember = ticketStatus.getIsMember();
this.isExclusive = ticketStatus.getIsExclusive();
this.isTrueName = ticketStatus.getIsTrueName();
this.expressType = ticketStatus.getExpressType();
this.isLackRegister = ticketStatus.getIsLackRegister();
this.statusExchange = ticketStatus.getStatusExchange();
this.status = ticketStatus.getStatus();
this.isElectronic = ticketStatus.getIsElectronic();
this.isExpress = ticketStatus.getIsExpress();
this.isStudent = ticketStatus.getIsStudent();
}
@ApiModelProperty(value = "是否展示二维码 0否 1是", example = "0")
private int isShowCode;
@ApiModelProperty(value = "二维码显示时间", example = "2020-12-01T14:00:00")
private String qrCodeShowTime;
@ApiModelProperty(value = "场次id")
private String timesId;
@ApiModelProperty(value = "")
private String createdAt;
@ApiModelProperty(value = "")
private String updatedAt;
} }
package com.liquidnet.service.kylin.dto.vo.ignore;
import com.liquidnet.service.kylin.entity.KylinPerformanceRelations;
import com.liquidnet.service.kylin.entity.KylinPerformanceStatus;
import com.liquidnet.service.kylin.entity.KylinPerformances;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
@Data
public class PerformanceIgnoreVo {
@ApiModelProperty(value = "主键")
private String performancesId;
@ApiModelProperty(value = "演出名称")
private String title;
@ApiModelProperty(value = "演出开始时间")
private String timeStart;
@ApiModelProperty(value = "演出结束时间")
private String timeEnd;
@ApiModelProperty(value = "停售时间")
private String stopSellTime;
@ApiModelProperty(value = "价格")
private String price;
@ApiModelProperty(value = "开售时间")
private String sellTime;
@ApiModelProperty(value = "城市id")
private String cityId;
@ApiModelProperty(value = "场地id")
private String fieldId;
@ApiModelProperty(value = "场地名称")
private String fieldName;
@ApiModelProperty(value = "搭售id")
private String projectId;
@ApiModelProperty(value = "巡演id")
private String roadShowId;
//@ApiModelProperty(value = "巡演相关")
// private String roadShow;
// OSS
// @ApiModelProperty(value = "演出详情")
// private String details;
// OSS
// @ApiModelProperty(value = "购票须知")
// private String noticeImage;
@ApiModelProperty(value = "状态")
private int appStatus;
@ApiModelProperty(value = "是否可买")
private int statusSell;
@ApiModelProperty(value = "是否关联会员")
private int isMember;
@ApiModelProperty(value = "是否开启缺票登记")
private int isLackRegister;
@ApiModelProperty(value = "是否专属")
private int isExclusive;
@ApiModelProperty(value = "文案")
private String message;
public void setPerformance(KylinPerformances performance) {
this.performancesId = performance.getPerformancesId();
this.title = performance.getTitle();
this.timeStart = performance.getTimeStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.timeEnd = performance.getTimeEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
}
public void setTimePriceVipAndLack(int isLackRegister, int isMember, int isExclusive, BigDecimal price, LocalDateTime stopSellTime, LocalDateTime sellTime) {
this.isLackRegister = isLackRegister;
this.isMember = isMember;
this.isExclusive = isExclusive;
this.price = price + "起";
this.stopSellTime = stopSellTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.sellTime = sellTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.appStatus = 9;
this.message = "";
}
public void setPerformanceStatus(KylinPerformanceStatus performanceStatus) {
this.statusSell = performanceStatus.getStatusSell();
}
//TODO 巡演 搭售 场地
public void setPerformanceRelations(KylinPerformanceRelations performanceRelations) {
this.fieldId = "";
this.fieldName = "";
this.cityId = "";
this.projectId = "";
this.roadShowId = "";
}
}
package com.liquidnet.service.kylin.dto.vo.ignore;
import com.liquidnet.service.kylin.entity.KylinTicketStatus;
import com.liquidnet.service.kylin.entity.KylinTickets;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.format.DateTimeFormatter;
@Data
public class TicketIgnoreVo {
@ApiModelProperty(value = "主键")
private String ticketsId;
@ApiModelProperty(value = "场次id")
private String timeId;
@ApiModelProperty(value = "名称")
private String title;
@ApiModelProperty(value = "类型 1单日 2通票")
private int type;
@ApiModelProperty(value = "价格")
private BigDecimal price;
@ApiModelProperty(value = "快递费")
private BigDecimal priceExpress;
@ApiModelProperty(value = "会员价格")
private BigDecimal memberPrice;
@ApiModelProperty(value = "优惠价格")
private BigDecimal discountPrice;
@ApiModelProperty(value = "票种描述")
private String describes;
@ApiModelProperty(value = "快递票说明")
private String describeExpress;
@ApiModelProperty(value = "电子票说明")
private String describeElectronic;
@ApiModelProperty(value = "购票开始时间")
private String timeStart;
@ApiModelProperty(value = "购票结束时间")
private String timeEnd;
@ApiModelProperty(value = "会员购票开始时间")
private String memberTimeStart;
@ApiModelProperty(value = "快递票结束时间")
private String timeEndExpress;
@ApiModelProperty(value = "适用开始时间")
private String useStart;
@ApiModelProperty(value = "适用结束时间")
private String useEnd;
@ApiModelProperty(value = "开票倒计时(分钟数)")
private int saleRemindMinute;
@ApiModelProperty(value = "是否学生票")
private int isStudent;
@ApiModelProperty(value = "是否电子票")
private int isElectronic;
@ApiModelProperty(value = "是否快递票")
private int isExpress;
@ApiModelProperty(value = "状态")
private int status;
@ApiModelProperty(value = "兑换状态")
private int statusExchange;
@ApiModelProperty(value = "是否缺票登记")
private int isLackRegister;
@ApiModelProperty(value = "快递状态 1寄付 2到付")
private int expressType;
@ApiModelProperty(value = "是否实名")
private int isTrueName;
@ApiModelProperty(value = "限购张数")
private int limitCount;
@ApiModelProperty(value = "是否会员专属")
private int isExclusive;
@ApiModelProperty(value = "是否会员")
private int isMember;
public void setTicket(KylinTickets ticket) {
this.ticketsId = ticket.getTicketsId();
this.title = ticket.getTitle();
this.type = ticket.getType();
this.price = ticket.getPrice();
this.priceExpress = ticket.getPriceExpress();
this.memberPrice = ticket.getPrice().subtract(ticket.getPriceDiscountMember());
this.discountPrice = ticket.getPrice().subtract(ticket.getPriceDiscount());
this.describes = ticket.getDescribes();
this.describeExpress = ticket.getDescribeExpress();
this.describeElectronic = ticket.getDescribeElectronic();
this.timeStart = ticket.getTimeStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.timeEnd = ticket.getTimeEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.memberTimeStart = ticket.getTimeStart().plusMinutes(-ticket.getAdvanceMinuteMember()).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.timeEndExpress = ticket.getTimeEndExpress().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.useStart = ticket.getUseStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.useEnd = ticket.getUseEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.saleRemindMinute = ticket.getSaleRemindMinute();
}
public void setTicketStatus(KylinTicketStatus ticketStatus) {
this.isMember = ticketStatus.getIsMember();
this.isExclusive = ticketStatus.getIsExclusive();
this.isTrueName = ticketStatus.getIsTrueName();
this.expressType = ticketStatus.getExpressType();
this.isLackRegister = ticketStatus.getIsLackRegister();
this.statusExchange = ticketStatus.getStatusExchange();
this.status = ticketStatus.getStatus();
this.isElectronic = ticketStatus.getIsElectronic();
this.isExpress = ticketStatus.getIsExpress();
this.isStudent = ticketStatus.getIsStudent();
}
}
package com.liquidnet.service.kylin.dto.vo.ignore;
import com.liquidnet.service.kylin.entity.KylinTicketTimes;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.format.DateTimeFormatter;
@Data
public class TicketTimesIgnoreVo {
@ApiModelProperty(value = "主键")
private String ticketTimesId;
@ApiModelProperty(value = "名称")
private String title;
@ApiModelProperty(value = "类型 1单日 2通票")
private int type;
@ApiModelProperty(value = "演出id")
private String performanceId;
@ApiModelProperty(value = "场次id")
private String timeId;
@ApiModelProperty(value = "适用开始时间")
private String useStart;
@ApiModelProperty(value = "适用结束时间")
private String useEnd;
// @ApiModelProperty(value = "票种信息集合")
// private List<TicketVo> ticketVoList;
public void setTicketTimes(KylinTicketTimes ticketTimes){
this.ticketTimesId=ticketTimes.getTicketTimesId();
this.title=ticketTimes.getTitle();
this.type=ticketTimes.getType();
this.useStart=ticketTimes.getUseStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.useEnd=ticketTimes.getUseEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
}
}
package com.liquidnet.service.kylin.dto.vo.partner;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class PerformanceCreatePartnerVo {
//演出数据
@ApiModelProperty(value = "主键id")
private String performancesId;
@ApiModelProperty(value = "标题")
private String title;
@ApiModelProperty(value = "开始时间")
private String timeStart;
@ApiModelProperty(value = "结束时间")
private String timeEnd;
@ApiModelProperty(value = "封面图")
private String imgPoster;
@ApiModelProperty(value = "类型")
private int type;
@ApiModelProperty(value = "场地id")
private String fieldId;
@ApiModelProperty(value = "场地名称")
private String fieldName;
@ApiModelProperty(value = "价格")
private String price;
@ApiModelProperty(value = "停售时间")
private String stopSellTime;
@ApiModelProperty(value = "主办方")
private String sponsor;
@ApiModelProperty(value = "联系人")
private String contacts;
@ApiModelProperty(value = "手机号")
private String mobile;
@ApiModelProperty(value = "批文地址")
private String approvalUrl;
@ApiModelProperty(value = "演出详情")
private String details;
@ApiModelProperty(value = "购票须知")
private String noticeImage;
@ApiModelProperty(value = "状态")
private int status;
@ApiModelProperty(value = "拒绝理由")
private String rejectTxt;
@ApiModelProperty(value = "是否展示")
private int isShow;
@ApiModelProperty(value = "是否销售")
private int statusSell;
@ApiModelProperty(value = "是否分销")
private int isDistribution;
@ApiModelProperty(value = "是否同步小家伙")
private int syncAgent;
@ApiModelProperty(value = "-1未提交审核,0提交审核,1审核通过,2审核拒绝")
private int auditStatus;
@ApiModelProperty(value = "是否实名")
private int isTrueName;
@ApiModelProperty(value = "限购数量")
private int limitCount;
@ApiModelProperty(value = "限购数量")
private String createdAt;
@ApiModelProperty(value = "限购数量")
private String updatedAt;
@ApiModelProperty(value = "权重")
private int sort;
@ApiModelProperty(value = "权重")
private String describes;
@ApiModelProperty(value = "主办方类型")
private String sponsorType;
@ApiModelProperty(value = "主办方id")
private String sponsorId;
@ApiModelProperty(value = "演出公告")
private String notice;
@ApiModelProperty(value = "订单可支付时间")
private int payCountdownMinute;
@ApiModelProperty(value = "第三方id")
private String merchantId;
//场次数据
@ApiModelProperty(value = "场次数据")
private List<TicketTimesTicketCreatePartnerVo> ticketTimes;
}
package com.liquidnet.service.kylin.dto.vo.partner;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 修改场地全部显示数据参数
*/
@Data
public class TicketCreatePartnerVo implements Serializable {
@ApiModelProperty(value = "主键")
private String ticketsId;
@ApiModelProperty(value = "票种名称", example = "测试票")
private String title;
@ApiModelProperty(value = "是否学生票 0否 1是", example = "0", hidden = true)
private int isStudent;
@ApiModelProperty(value = "是否电子票", example = "0")
private int isElectronic;
@ApiModelProperty(value = "是否快递票", example = "0")
private int isExpress;
@ApiModelProperty(value = "类型", example = "2")
private int type;
@ApiModelProperty(value = "价格", example = "100.00")
private BigDecimal price;
@ApiModelProperty(value = "快递票截止日期", example = "2020-12-01T12:00:00")
private String timeEndExpress;
@ApiModelProperty(value = "总库存", example = "100")
private int totalGeneral;
@ApiModelProperty(value = "总兑换库存", example = "100")
private int totalExchange;
@ApiModelProperty(value = "限购数量", example = "0")
private int limitCount;
@ApiModelProperty(value = "票种开售时间", example = "2020-12-01T12:00:00")
private String timeStart;
@ApiModelProperty(value = "票种结售时间", example = "2020-12-01T14:00:00")
private String timeEnd;
@ApiModelProperty(value = "票种适用开始时间", example = "2020-12-01T12:00:00")
private String useStart;
@ApiModelProperty(value = "票种适用结束时间", example = "2020-12-01T14:00:00")
private String useEnd;
@ApiModelProperty(value = "票种说明", example = "这是票种说明")
private String describes;
@ApiModelProperty(value = "票状态 -1删除;0未提交;1审核中;2审核中(自动在售);3审核通过;4审核未通过;6在售;7停售;8售罄;9未开始;10已结束", example = "0")
private int status;
@ApiModelProperty(value = "是否展示二维码 0否 1是", example = "0")
private int isShowCode;
@ApiModelProperty(value = "二维码显示时间", example = "2020-12-01T14:00:00")
private String qrCodeShowTime;
@ApiModelProperty(value = "场次id")
private String timesId;
@ApiModelProperty(value = "剩余库存", example = "100")
private int surplusGeneral;
@ApiModelProperty(value = "剩余兑换库存", example = "100")
private int surplusExchange;
@ApiModelProperty(value = "快递类型 1寄付 2到付", example = "100")
private int expressType;
@ApiModelProperty(value = "是否开启转赠", example = "100")
private int isTransfer;
@ApiModelProperty(value = "是否 会员", example = "100")
private int isMember;
@ApiModelProperty(value = "是否专属", example = "100")
private int isExclusive;
@ApiModelProperty(value = "")
private String createdAt;
@ApiModelProperty(value = "")
private String updatedAt;
public void setDefault(){
this.setExpressType(2);
this.setIsMember(0);
this.setIsTransfer(0);
this.setIsExclusive(0);
this.setSurplusExchange(this.getTotalExchange());
this.setSurplusGeneral(this.getTotalExchange());
}
}
\ No newline at end of file
package com.liquidnet.service.kylin.dto.vo.partner;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
//返回
@Data
public class TicketTimesCreatePartnerVo implements Serializable {
@ApiModelProperty(value = "主键id")
private String ticketTimesId;
@ApiModelProperty(value = "演出Id", example = "")
private String performancesId;
@ApiModelProperty(value = "场次名称")
private String title;
@ApiModelProperty(value = "场次适用开始时间")
private String useStart;
@ApiModelProperty(value = "场次适用结束时间")
private String useEnd;
@ApiModelProperty(value = "状态 0不可见 1可见")
private int status;
@ApiModelProperty(value = "状态 1单日票 2通票")
private int type;
@ApiModelProperty(value = "是否开启缺票登记")
private int isLackRegister;
@ApiModelProperty(value = "创建时间")
private String createdAt;
@ApiModelProperty(value = "修改时间")
private String updatedAt;
}
package com.liquidnet.service.kylin.dto.vo.partner;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
//包含 票
@Data
public class TicketTimesTicketCreatePartnerVo implements Serializable {
@ApiModelProperty(value = "主键id")
private String ticketTimesId;
@ApiModelProperty(value = "演出Id", example = "")
private String performancesId;
@ApiModelProperty(value = "场次名称")
private String title;
@ApiModelProperty(value = "场次适用开始时间")
private String useStart;
@ApiModelProperty(value = "场次适用结束时间")
private String useEnd;
@ApiModelProperty(value = "状态 0不可见 1可见")
private int status;
@ApiModelProperty(value = "状态 1单日票 2通票")
private int type;
@ApiModelProperty(value = "创建时间")
private String createdAt;
@ApiModelProperty(value = "修改时间")
private String updatedAt;
//票
@ApiModelProperty(value = "票数据")
private List<TicketCreatePartnerVo> ticket;
}
...@@ -8,7 +8,7 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -8,7 +8,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
* 轮播图 服务类 * 轮播图 服务类
* </p> * </p>
* *
* @author liquidnet * @author jiangxiulong
* @since 2021-05-02 * @since 2021-05-02
*/ */
public interface IKylinBannersService extends IService<KylinBanners> { public interface IKylinBannersService extends IService<KylinBanners> {
......
package com.liquidnet.service.kylin.service.admin;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.kylin.dto.vo.partner.PerformanceCreatePartnerVo;
import com.liquidnet.service.kylin.entity.KylinPerformances;
/**
* <p>
* 演出 服务类
* </p>
*
* @author liquidnet
* @since 2021-05-05
*/
public interface IKylinPerformancesAdminService extends IService<KylinPerformances> {
PerformanceCreatePartnerVo performanceDetails(String performancesId);
boolean performanceAudit(String performancesId,int status ,String rejectTxt);
}
package com.liquidnet.service.kylin.service.partner; package com.liquidnet.service.kylin.service.partner;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.kylin.dto.param.PerformanceCreateParam;
import com.liquidnet.service.kylin.dto.param.PerformanceStep1Param; import com.liquidnet.service.kylin.dto.param.PerformanceStep1Param;
import com.liquidnet.service.kylin.dto.param.PerformanceStep2Param; import com.liquidnet.service.kylin.dto.param.PerformanceStep2Param;
import com.liquidnet.service.kylin.entity.KylinPerformances; import com.liquidnet.service.kylin.entity.KylinPerformances;
...@@ -19,4 +20,11 @@ public interface IKylinPerformancesPartnerService extends IService<KylinPerforma ...@@ -19,4 +20,11 @@ public interface IKylinPerformancesPartnerService extends IService<KylinPerforma
boolean createStep2(PerformanceStep2Param step1Param); boolean createStep2(PerformanceStep2Param step1Param);
PerformanceStep1Param getStep1(String performancesId);
PerformanceStep2Param getStep2(String performancesId);
boolean onLinePerformance(String performancesId);
boolean outLinePerformance(String performancesId);
} }
...@@ -2,8 +2,7 @@ package com.liquidnet.service.kylin.service.partner; ...@@ -2,8 +2,7 @@ package com.liquidnet.service.kylin.service.partner;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.kylin.dto.param.CreateTicketTimesParam; import com.liquidnet.service.kylin.dto.param.CreateTicketTimesParam;
import com.liquidnet.service.kylin.dto.vo.TicketTimesVo; import com.liquidnet.service.kylin.dto.vo.partner.TicketTimesCreatePartnerVo;
import com.liquidnet.service.kylin.dto.vo.TicketVo;
import com.liquidnet.service.kylin.entity.KylinTicketTimes; import com.liquidnet.service.kylin.entity.KylinTicketTimes;
import java.util.List; import java.util.List;
...@@ -18,11 +17,13 @@ import java.util.List; ...@@ -18,11 +17,13 @@ import java.util.List;
*/ */
public interface IKylinTicketTimesPartnerService extends IService<KylinTicketTimes> { public interface IKylinTicketTimesPartnerService extends IService<KylinTicketTimes> {
TicketTimesVo createTimes(CreateTicketTimesParam createTicketTimesParam); TicketTimesCreatePartnerVo createTimes(CreateTicketTimesParam createTicketTimesParam);
Boolean deleteTimes(String ticketTimesId); Boolean deleteTimes(String ticketTimesId);
TicketTimesVo changeTimes(CreateTicketTimesParam createTicketTimesParam); TicketTimesCreatePartnerVo changeTimes(CreateTicketTimesParam createTicketTimesParam);
List<TicketTimesVo> getTimesMongo(String performancesId); List<TicketTimesCreatePartnerVo> getTimesMongoList(String performancesId);
TicketTimesCreatePartnerVo getTimesMongo(String timesId);
} }
...@@ -2,8 +2,7 @@ package com.liquidnet.service.kylin.service.partner; ...@@ -2,8 +2,7 @@ package com.liquidnet.service.kylin.service.partner;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.kylin.dto.param.TicketCreateParam; import com.liquidnet.service.kylin.dto.param.TicketCreateParam;
import com.liquidnet.service.kylin.dto.vo.TicketTimesVo; import com.liquidnet.service.kylin.dto.vo.partner.TicketCreatePartnerVo;
import com.liquidnet.service.kylin.dto.vo.TicketVo;
import com.liquidnet.service.kylin.entity.KylinTickets; import com.liquidnet.service.kylin.entity.KylinTickets;
import java.util.List; import java.util.List;
...@@ -18,16 +17,17 @@ import java.util.List; ...@@ -18,16 +17,17 @@ import java.util.List;
*/ */
public interface IKylinTicketsPartnerService extends IService<KylinTickets> { public interface IKylinTicketsPartnerService extends IService<KylinTickets> {
TicketVo createTicket(TicketCreateParam ticketCreateParam); TicketCreatePartnerVo createTicket(TicketCreateParam ticketCreateParam);
TicketVo updateTicket(TicketCreateParam ticketCreateParam); TicketCreatePartnerVo updateTicket(TicketCreateParam ticketCreateParam);
boolean deleteTicket(String ticketsId); boolean deleteTicket(String ticketsId);
TicketVo copyTicket(String ticketsId); TicketCreatePartnerVo copyTicket(String ticketsId);
List<TicketVo> getTicketMongo(String timesId);
boolean submitTicketByTimes(String timesId); boolean submitTicketByTimes(String timesId);
List<TicketCreatePartnerVo> getTicketMongoList(String timesId);
TicketCreatePartnerVo getTicketsMongo(String ticketsId);
} }
...@@ -13,28 +13,34 @@ public class BannerDetailsDao implements Serializable { ...@@ -13,28 +13,34 @@ public class BannerDetailsDao implements Serializable {
private String bannersId; private String bannersId;
@ApiModelProperty(value = "标题") @ApiModelProperty(value = "标题")
private String name; private String bannersName;
@ApiModelProperty(value = "封面图") @ApiModelProperty(value = "封面图")
private String coverImg; private String coverImg;
@ApiModelProperty(value = "跳转目标id或者url") @ApiModelProperty(value = "跳转类型(由接口提供)")
private String targetId; private String targetType;
@ApiModelProperty(value = "跳转类型 6演出跳转 7商品跳转 8巡演跳转 12展示分享按钮的web连接 14积分商品详情 100活动跳转 999不跳转 998个人信息跳转") @ApiModelProperty(value = "跳转目标 id/url等")
private Integer type; private String targetObj;
@ApiModelProperty(value = "是否显示 0-否,1-是") @ApiModelProperty(value = "是否上线展示 0下线 1上线")
private Integer isShow; private Integer isOnline;
@ApiModelProperty(value = "展示位置") @ApiModelProperty(value = "上线开始时间")
private Integer position; private String onlineStartTime;
@ApiModelProperty(value = "排序权重 越大越靠前") @ApiModelProperty(value = "上线结束时间")
private Integer sort; private String onlineEndTime;
@ApiModelProperty(value = "推广类型 1全国 2省份")
private Integer promotionType;
@ApiModelProperty(value = "排序 越大越靠前")
private Integer bannersSort;
@ApiModelProperty(value = "备注") @ApiModelProperty(value = "备注")
private String comment; private String remarks;
@ApiModelProperty(value = "创建时间") @ApiModelProperty(value = "创建时间")
private String createdAt; private String createdAt;
......
package com.liquidnet.service.kylin.dao; package com.liquidnet.service.kylin.dao;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
...@@ -8,21 +9,42 @@ import java.io.Serializable; ...@@ -8,21 +9,42 @@ import java.io.Serializable;
@Data @Data
public class BannerDetailsListDao implements Serializable { public class BannerDetailsListDao implements Serializable {
@ApiModelProperty(value = "Banner主键ID")
private String bannersId; private String bannersId;
private String name; @ApiModelProperty(value = "标题")
private String bannersName;
@ApiModelProperty(value = "封面图")
private String coverImg; private String coverImg;
private String targetId; @ApiModelProperty(value = "跳转类型(由接口提供)")
private String targetType;
private Integer type; @ApiModelProperty(value = "跳转目标 id/url等")
private String targetObj;
private Integer isShow; @ApiModelProperty(value = "是否上线展示 0下线 1上线")
private Integer isOnline;
private Integer position; @ApiModelProperty(value = "上线开始时间")
private String onlineStartTime;
private Integer sort; @ApiModelProperty(value = "上线结束时间")
private String onlineEndTime;
private String comment; @ApiModelProperty(value = "推广类型 1全国 2省份")
private Integer promotionType;
@ApiModelProperty(value = "排序 越大越靠前")
private Integer bannersSort;
@ApiModelProperty(value = "备注")
private String remarks;
@ApiModelProperty(value = "创建时间")
private String createdAt;
@ApiModelProperty(value = "修改时间")
private String updatedAt;
} }
package com.liquidnet.service.kylin.entity; package com.liquidnet.service.kylin.entity;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable; import java.io.Serializable;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.springframework.data.annotation.Transient;
/** /**
* <p> * <p>
...@@ -32,7 +36,7 @@ public class KylinBanners implements Serializable { ...@@ -32,7 +36,7 @@ public class KylinBanners implements Serializable {
/** /**
* 标题 * 标题
*/ */
private String name; private String bannersName;
/** /**
* 封面图 * 封面图
...@@ -40,34 +44,56 @@ public class KylinBanners implements Serializable { ...@@ -40,34 +44,56 @@ public class KylinBanners implements Serializable {
private String coverImg; private String coverImg;
/** /**
* 跳转id/url * 跳转类型
*/
private Integer targetType;
/**
* 跳转目标id或者url
*/
private String targetObj;
/**
* 是否上线展示 0下线 1上线
*/ */
private String targetId; private Integer isOnline;
/** /**
* 跳转类型 6演出跳转 7商品跳转 8巡演跳转 12展示分享按钮的web连接 14积分商品详情 100活动跳转 999不跳转 998个人信息跳转 * 上线开始时间
*/ */
private Integer type; private String onlineStartTime;
/** /**
* 是否展示 * 上线结束时间
*/ */
private Integer isShow; private String onlineEndTime;
/** /**
* 展示位置 * 推广类型 1全国 2省份
*/ */
private Integer position; private Integer promotionType;
/** /**
* 排序权重 * 排序权重
*/ */
private Integer sort; private Integer BannersSort;
/**
* 备注
*/
private String remarks;
/**
* 位置
*/
@TableField(exist = false)
private List<String> positionList;
/** /**
* comment * 城市
*/ */
private String comment; @TableField(exist = false)
private List<String> provincesList;
/** /**
* 是否删除 1正常 已删除 * 是否删除 1正常 已删除
...@@ -77,12 +103,12 @@ public class KylinBanners implements Serializable { ...@@ -77,12 +103,12 @@ public class KylinBanners implements Serializable {
/** /**
* 创建时间 * 创建时间
*/ */
private LocalDateTime createdAt; private String createdAt;
/** /**
* 修改时间 * 修改时间
*/ */
private LocalDateTime updatedAt; private String updatedAt;
} }
package com.liquidnet.service.kylin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.liquidnet.commons.lang.util.IDGenerator;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
/**
* <p>
* 轮播图关联表 模型
* </p>
*
* @author jiangxiulong
* @since 2021-05-08
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class KylinBannersRelations implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Integer mid;
/**
* banners_relations_id
*/
private String bannersRelationsId;
/**
* banners_id
*/
private String bannersId;
/**
* 展示位置id/推广省份code
*/
private String fieldId;
/**
* 关联字段类型 1展示位置(由接口提供) 2推广省份(由接口提供)
*/
private int fieldIdType;
/**
* 创建时间
*/
private String createdAt;
/**
* 修改时间
*/
private String updatedAt;
// 整合入库数据
@JsonIgnore
public KylinBannersRelations newData(String bannersId, String fieldId, int fieldIdType, String createdAtString) {
String bannersRelationsId = IDGenerator.nextSnowId().toString();
this.setBannersRelationsId(bannersRelationsId);
this.setBannersId(bannersId);
this.setFieldId(fieldId);
this.setFieldIdType(fieldIdType);
this.setCreatedAt(createdAtString);
return this;
}
}
...@@ -42,7 +42,7 @@ public class KylinPerformanceStatus implements Serializable { ...@@ -42,7 +42,7 @@ public class KylinPerformanceStatus implements Serializable {
/** /**
* 状态:-1删除;0未提交;1审核中;2审核中(自动上线);3审核通过;4审核未通过;6上线;7下架;8活动结束;9活动取消退款中;10活动取消退 * 状态:-1删除;0未提交;1审核中;2审核中(自动上线);3审核通过;4审核未通过;6上线;7下架;8活动结束;9活动取消退款中;10活动取消退
*/ */
private String status; private int status;
/** /**
* 是否售卖 0停止 1正常 * 是否售卖 0停止 1正常
......
...@@ -112,7 +112,7 @@ public class KylinPerformances implements Serializable { ...@@ -112,7 +112,7 @@ public class KylinPerformances implements Serializable {
/** /**
* 演出简介 * 演出简介
*/ */
private String describe; private String describes;
/** /**
* 演出详情 * 演出详情
......
...@@ -109,6 +109,16 @@ public class KylinTicketStatus implements Serializable { ...@@ -109,6 +109,16 @@ public class KylinTicketStatus implements Serializable {
*/ */
private Integer isTransfer; private Integer isTransfer;
/**
* 是否开启转赠 0关闭 1开启
*/
private Integer isTrueName;
/**
* 限购张数 0无限 (开启实名 则实名限购 未开始为账号限购)
*/
private Integer limitCount;
/** /**
* 是否会员专属 0不是 1是 * 是否会员专属 0不是 1是
*/ */
......
...@@ -47,12 +47,12 @@ public class KylinTicketTimes implements Serializable { ...@@ -47,12 +47,12 @@ public class KylinTicketTimes implements Serializable {
/** /**
* 售票开始时间 * 售票开始时间
*/ */
private LocalDateTime timeStart; private LocalDateTime useStart;
/** /**
* 售票结束时间 * 售票结束时间
*/ */
private LocalDateTime timeEnd; private LocalDateTime useEnd;
/** /**
* comment * comment
......
...@@ -38,7 +38,7 @@ public class KylinTickets implements Serializable { ...@@ -38,7 +38,7 @@ public class KylinTickets implements Serializable {
/** /**
* 票类型 1单日票 2通票 * 票类型 1单日票 2通票
*/ */
private Integer types; private Integer type;
/** /**
* 票单价 * 票单价
......
package com.liquidnet.service.kylin.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.liquidnet.service.kylin.entity.KylinBannersRelations;
import java.util.List;
/**
* <p>
* 轮播图关联表 Mapper 接口 处理数据库
* </p>
*
* @author jiangxiulong
* @since 2021-05-08
*/
public interface KylinBannersRelationsMapper extends BaseMapper<KylinBannersRelations> {
//列表
List<String> getBannersRelationsField(String field, String bannersId, int fieldIdType);
}
...@@ -4,14 +4,16 @@ ...@@ -4,14 +4,16 @@
<!-- 详情 --> <!-- 详情 -->
<resultMap id="bannerDetailsResult" type="com.liquidnet.service.kylin.dao.BannerDetailsDao"> <resultMap id="bannerDetailsResult" type="com.liquidnet.service.kylin.dao.BannerDetailsDao">
<result column="banners_id" property="bannersId"/> <result column="banners_id" property="bannersId"/>
<result column="name" property="name"/> <result column="banners_name" property="bannersName"/>
<result column="cover_img" property="coverImg"/> <result column="cover_img" property="coverImg"/>
<result column="target_id" property="targetId"/> <result column="target_type" property="targetType"/>
<result column="type" property="type"/> <result column="target_obj" property="targetObj"/>
<result column="is_show" property="isShow"/> <result column="is_online" property="isOnline"/>
<result column="position" property="position"/> <result column="online_start_time" property="onlineStartTime"/>
<result column="sort" property="sort"/> <result column="online_end_time" property="onlineEndTime"/>
<result column="comment" property="comment"/> <result column="promotion_type" property="promotionType"/>
<result column="banners_sort" property="bannersSort"/>
<result column="remarks" property="remarks"/>
<result column="created_at" property="createdAt"/> <result column="created_at" property="createdAt"/>
<result column="updated_at" property="updatedAt"/> <result column="updated_at" property="updatedAt"/>
</resultMap> </resultMap>
...@@ -31,20 +33,20 @@ ...@@ -31,20 +33,20 @@
FROM kylin_banners FROM kylin_banners
<where> <where>
is_deleted = 1 is_deleted = 1
<if test="name != ''"> <if test="bannersName != ''">
AND name LIKE concat('%', #{name}, '%') AND banners_name LIKE concat('%', #{bannersName}, '%')
</if> </if>
<if test="type != ''"> <if test="targetType != ''">
AND type=#{type} AND target_type=#{targetType}
</if> </if>
<if test="isShow != ''"> <if test="isOnline != ''">
AND is_show=#{isShow} AND is_online=#{isOnline}
</if> </if>
<if test="position != ''"> <if test="promotionType != ''">
AND position=#{position} AND promotion_type=#{promotionType}
</if> </if>
</where> </where>
ORDER BY sort DESC ORDER BY banners_sort DESC
LIMIT #{page},#{size} LIMIT #{page},#{size}
</select> </select>
...@@ -54,17 +56,17 @@ ...@@ -54,17 +56,17 @@
FROM kylin_banners FROM kylin_banners
<where> <where>
is_deleted = 1 is_deleted = 1
<if test="name != ''"> <if test="bannersName != ''">
AND name LIKE concat('%', #{name}, '%') AND banners_name LIKE concat('%', #{bannersName}, '%')
</if> </if>
<if test="type != ''"> <if test="targetType != ''">
AND type=#{type} AND target_type=#{targetType}
</if> </if>
<if test="isShow != ''"> <if test="isOnline != ''">
AND is_show=#{isShow} AND is_online=#{isOnline}
</if> </if>
<if test="position != ''"> <if test="promotionType != ''">
AND position=#{position} AND promotion_type=#{promotionType}
</if> </if>
</where> </where>
</select> </select>
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liquidnet.service.kylin.mapper.KylinBannersRelationsMapper">
<!-- getBannersRelationsId -->
<select id="getBannersRelationsField" parameterType="java.util.Map" resultType="string">
SELECT ${field}
FROM kylin_banners_relations
<where>
<if test="bannersId != ''">
banners_id=#{bannersId}
</if>
<if test="fieldIdType != ''">
AND field_id_type=#{fieldIdType}
</if>
</where>
</select>
</mapper>
...@@ -8,24 +8,43 @@ SET NAMES utf8mb4; ...@@ -8,24 +8,43 @@ SET NAMES utf8mb4;
drop TABLE if exists `kylin_banners`; drop TABLE if exists `kylin_banners`;
CREATE TABLE `kylin_banners` CREATE TABLE `kylin_banners`
( (
`mid` int(11) NOT NULL AUTO_INCREMENT, `mid` int NOT NULL AUTO_INCREMENT,
`banners_id` varchar(255) NOT NULL DEFAULT '' COMMENT 'banners_id', `banners_id` varchar(255) NOT NULL DEFAULT '' COMMENT 'banners_id',
`name` varchar(50) NOT NULL DEFAULT '' COMMENT '标题', `banners_name` varchar(255) NOT NULL DEFAULT '' COMMENT '标题',
`cover_img` varchar(255) NOT NULL DEFAULT '' COMMENT '封面图', `cover_img` varchar(255) NOT NULL DEFAULT '' COMMENT '封面图',
`target_id` varchar(255) NOT NULL DEFAULT '' COMMENT '跳转id/url', `target_type` smallint NOT NULL DEFAULT 0 COMMENT '跳转类型(由接口提供)',
`type` tinyint NOT NULL DEFAULT 0 COMMENT '跳转类型 6演出跳转 7商品跳转 8巡演跳转 12展示分享按钮的web连接 14积分商品详情 100活动跳转 999不跳转 998个人信息跳转', `target_obj` varchar(255) NOT NULL DEFAULT '' COMMENT '跳转目标 id/url等',
`is_show` tinyint NOT NULL DEFAULT 0 COMMENT '是否展示', `is_online` tinyint NOT NULL DEFAULT 0 COMMENT '是否上线展示 0下线 1上线',
`position` int(11) NOT NULL DEFAULT 0 COMMENT '展示位置', `online_start_time` timestamp NULL DEFAULT NULL COMMENT '上线开始时间',
`sort` int(11) NOT NULL DEFAULT 0 COMMENT '排序权重', `online_end_time` timestamp NULL DEFAULT NULL COMMENT '上线结束时间',
`comment` varchar(255) NOT NULL DEFAULT '' COMMENT 'comment', `promotion_type` tinyint NOT NULL DEFAULT 1 COMMENT '推广类型 1全国 2省份',
`is_deleted` tinyint NOT NULL DEFAULT 1 COMMENT '是否删除 1正常 0已删除', `banners_sort` int NOT NULL DEFAULT 0 COMMENT '排序 越大越靠前',
`remarks` varchar(255) NOT NULL DEFAULT '' COMMENT '备注',
`is_deleted` tinyint NOT NULL DEFAULT 1 COMMENT '是否删除 0已删除 1正常',
`created_at` datetime NULL DEFAULT NULL COMMENT '创建时间', `created_at` datetime NULL DEFAULT NULL COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT NULL COMMENT '修改时间', `updated_at` datetime NULL DEFAULT NULL COMMENT '修改时间',
KEY `kylin_banners_uid_index` (`banners_id`), KEY `kylin_banners_banners_id_index` (`banners_id`),
KEY `kylin_banners_banners_name_index` (`banners_name`),
PRIMARY KEY (`mid`) PRIMARY KEY (`mid`)
) ENGINE = InnoDB ) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 COMMENT '轮播图'; DEFAULT CHARSET = utf8mb4 COMMENT '轮播图';
drop TABLE if exists `kylin_banners_relations`;
CREATE TABLE `kylin_banners_relations`
(
`mid` int NOT NULL AUTO_INCREMENT,
`banners_relations_id` varchar(255) NOT NULL DEFAULT '' COMMENT 'banners_relations_id',
`banners_id` varchar(255) NOT NULL DEFAULT '' COMMENT 'banners_id',
`field_id` int NOT NULL DEFAULT 0 COMMENT '展示位置id/推广省份code',
`field_id_type` tinyint NOT NULL DEFAULT 1 COMMENT '关联字段类型 1展示位置(由接口提供) 2推广省份(由接口提供)',
`created_at` datetime NULL DEFAULT NULL COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT NULL COMMENT '修改时间',
KEY `kylin_banners_relations_banners_relations_id_index` (`banners_relations_id`),
KEY `kylin_banners_relations_banners_id_index` (`banners_id`),
PRIMARY KEY (`mid`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 COMMENT '轮播图 展示位置/推广省份 关联表';
-- 场地 -- 场地
drop TABLE if exists `kylin_fields`; drop TABLE if exists `kylin_fields`;
CREATE TABLE `kylin_fields` CREATE TABLE `kylin_fields`
...@@ -94,7 +113,7 @@ CREATE TABLE `kylin_performances` ...@@ -94,7 +113,7 @@ CREATE TABLE `kylin_performances`
`mid` int(11) NOT NULL AUTO_INCREMENT, `mid` int(11) NOT NULL AUTO_INCREMENT,
`performances_id` varchar(255) NOT NULL DEFAULT '' COMMENT 'performances_id', `performances_id` varchar(255) NOT NULL DEFAULT '' COMMENT 'performances_id',
`title` varchar(255) NOT NULL DEFAULT '' COMMENT '演出名称', `title` varchar(255) NOT NULL DEFAULT '' COMMENT '演出名称',
`type` tinyint NOT NULL DEFAULT 3 COMMENT '1音乐节 2演唱会 3小型演出 4展览 6舞台剧', `type` tinyint NOT NULL DEFAULT 3 COMMENT '1音乐节 2演唱会 3小型演出 4展览 6舞台剧 101音乐节 102小型演出(livehouse演出) 103巡演',
`img_poster` varchar(255) NOT NULL DEFAULT '' COMMENT '演出海报', `img_poster` varchar(255) NOT NULL DEFAULT '' COMMENT '演出海报',
`province_id` varchar(255) NOT NULL DEFAULT '' COMMENT '省id', `province_id` varchar(255) NOT NULL DEFAULT '' COMMENT '省id',
`province_name` varchar(255) NOT NULL DEFAULT '' COMMENT '省名称', `province_name` varchar(255) NOT NULL DEFAULT '' COMMENT '省名称',
...@@ -109,7 +128,7 @@ CREATE TABLE `kylin_performances` ...@@ -109,7 +128,7 @@ CREATE TABLE `kylin_performances`
`sponsor` varchar(255) NOT NULL DEFAULT '' COMMENT '主办方', `sponsor` varchar(255) NOT NULL DEFAULT '' COMMENT '主办方',
`contacts` varchar(255) NOT NULL DEFAULT '' COMMENT '联系人', `contacts` varchar(255) NOT NULL DEFAULT '' COMMENT '联系人',
`mobile` varchar(255) NOT NULL DEFAULT '' COMMENT '联系电话', `mobile` varchar(255) NOT NULL DEFAULT '' COMMENT '联系电话',
`describe` varchar(255) NOT NULL DEFAULT '' COMMENT '演出简介', `describes` varchar(255) NOT NULL DEFAULT '' COMMENT '演出简介',
`details` longtext DEFAULT NULL COMMENT '演出详情', `details` longtext DEFAULT NULL COMMENT '演出详情',
`notice_image` text DEFAULT NULL COMMENT '购票须知', `notice_image` text DEFAULT NULL COMMENT '购票须知',
`time_start` datetime NOT NULL DEFAULT '2000-01-01 12:00:00' COMMENT '演出开始时间', `time_start` datetime NOT NULL DEFAULT '2000-01-01 12:00:00' COMMENT '演出开始时间',
...@@ -131,7 +150,7 @@ CREATE TABLE `kylin_performance_status` ...@@ -131,7 +150,7 @@ CREATE TABLE `kylin_performance_status`
`performance_status_id` varchar(255) NOT NULL DEFAULT '' COMMENT 'performance_status_id', `performance_status_id` varchar(255) NOT NULL DEFAULT '' COMMENT 'performance_status_id',
`performance_id` varchar(255) NOT NULL DEFAULT '' COMMENT '演出关联id', `performance_id` varchar(255) NOT NULL DEFAULT '' COMMENT '演出关联id',
`is_show` tinyint NOT NULL DEFAULT 1 COMMENT '是否显示 0全部用户可见 1白名单可见 2任何不显示', `is_show` tinyint NOT NULL DEFAULT 1 COMMENT '是否显示 0全部用户可见 1白名单可见 2任何不显示',
`status` varchar(10) NOT NULL DEFAULT 0 COMMENT '状态:-1删除;0未提交;1审核中;2审核中(自动上线);3审核通过;4审核未通过;6上线;7下架;8活动结束;9活动取消退款中;10活动取消退', `status` int NOT NULL DEFAULT 0 COMMENT '状态:-1删除;0未提交;1审核中;2审核中(自动上线);3审核通过;4审核未通过;6上线;7下架;8活动结束;9活动取消退款中;10活动取消退',
`status_sell` tinyint NOT NULL DEFAULT 1 COMMENT '是否售卖 0停止 1正常', `status_sell` tinyint NOT NULL DEFAULT 1 COMMENT '是否售卖 0停止 1正常',
`is_distribution` tinyint NOT NULL DEFAULT 0 COMMENT '是否开启分销 0关闭 1开启', `is_distribution` tinyint NOT NULL DEFAULT 0 COMMENT '是否开启分销 0关闭 1开启',
`sync_agent` tinyint NOT NULL DEFAULT 0 COMMENT '是否关联小程序 0不关联 1关联', `sync_agent` tinyint NOT NULL DEFAULT 0 COMMENT '是否关联小程序 0不关联 1关联',
...@@ -194,8 +213,8 @@ CREATE TABLE `kylin_ticket_times` ...@@ -194,8 +213,8 @@ CREATE TABLE `kylin_ticket_times`
`title` varchar(255) NOT NULL DEFAULT '' COMMENT '标题', `title` varchar(255) NOT NULL DEFAULT '' COMMENT '标题',
`type` tinyint NOT NULL DEFAULT 1 COMMENT '状态 1单日票 2通票', `type` tinyint NOT NULL DEFAULT 1 COMMENT '状态 1单日票 2通票',
`status` tinyint NOT NULL DEFAULT 1 COMMENT '状态 0不可用 1可用', `status` tinyint NOT NULL DEFAULT 1 COMMENT '状态 0不可用 1可用',
`time_start` datetime NOT NULL DEFAULT '2000-01-01 12:00:00' COMMENT '售票开始时间', `use_start` datetime NOT NULL DEFAULT '2000-01-01 12:00:00' COMMENT '售票开始时间',
`time_end` datetime NOT NULL DEFAULT '2000-01-01 12:00:00' COMMENT '售票结束时间', `use_end` datetime NOT NULL DEFAULT '2000-01-01 12:00:00' COMMENT '售票结束时间',
`comment` varchar(255) NOT NULL DEFAULT '' COMMENT 'comment', `comment` varchar(255) NOT NULL DEFAULT '' COMMENT 'comment',
`created_at` datetime NULL DEFAULT NULL COMMENT '创建时间', `created_at` datetime NULL DEFAULT NULL COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT NULL COMMENT '修改时间', `updated_at` datetime NULL DEFAULT NULL COMMENT '修改时间',
...@@ -231,7 +250,7 @@ CREATE TABLE `kylin_tickets` ...@@ -231,7 +250,7 @@ CREATE TABLE `kylin_tickets`
`price_express` decimal(8, 2) NOT NULL DEFAULT '0.00' COMMENT '快递费', `price_express` decimal(8, 2) NOT NULL DEFAULT '0.00' COMMENT '快递费',
`price_discount_member` decimal(8, 2) NOT NULL DEFAULT '0.00' COMMENT '会员优惠价格', `price_discount_member` decimal(8, 2) NOT NULL DEFAULT '0.00' COMMENT '会员优惠价格',
`price_discount` decimal(8, 2) NOT NULL DEFAULT '0.00' COMMENT '优惠价格', `price_discount` decimal(8, 2) NOT NULL DEFAULT '0.00' COMMENT '优惠价格',
`describe` varchar(500) NOT NULL DEFAULT '' COMMENT '票种描述', `describes` varchar(500) NOT NULL DEFAULT '' COMMENT '票种描述',
`describe_express` varchar(500) NOT NULL DEFAULT '' COMMENT '快递票类型说明', `describe_express` varchar(500) NOT NULL DEFAULT '' COMMENT '快递票类型说明',
`describe_electronic` varchar(500) NOT NULL DEFAULT '' COMMENT '电子票票类型说明', `describe_electronic` varchar(500) NOT NULL DEFAULT '' COMMENT '电子票票类型说明',
`advance_minute_member` int(11) NOT NULL DEFAULT 5 COMMENT '会员提前购买分钟数', `advance_minute_member` int(11) NOT NULL DEFAULT 5 COMMENT '会员提前购买分钟数',
...@@ -476,7 +495,6 @@ CREATE TABLE `kylin_order_ticket_entities` ...@@ -476,7 +495,6 @@ CREATE TABLE `kylin_order_ticket_entities`
-- 大麦同步记录 TODO 待定 -- 大麦同步记录 TODO 待定
-- 验票相关 TODO 待定 -- 验票相关 TODO 待定
-- 限购相关 TODO 待定
-- 会员权益修改表 TODO 待定 -- 会员权益修改表 TODO 待定
-- 订单退款 <初步> -- 订单退款 <初步>
drop TABLE if exists `kylin_order_tickets_refund`; drop TABLE if exists `kylin_order_tickets_refund`;
......
...@@ -23,7 +23,7 @@ public class ServiceKylinApplication implements CommandLineRunner { ...@@ -23,7 +23,7 @@ public class ServiceKylinApplication implements CommandLineRunner {
private Environment environment; private Environment environment;
public static void main(String[] args) { public static void main(String[] args) {
SpringApplication. run(ServiceKylinApplication.class, args); SpringApplication.run(ServiceKylinApplication.class, args);
} }
@Override @Override
......
...@@ -17,9 +17,9 @@ public class FieldsController { ...@@ -17,9 +17,9 @@ public class FieldsController {
@Autowired @Autowired
private FieldsServiceImpl fieldsService; private FieldsServiceImpl fieldsService;
@GetMapping(value = "details") // @GetMapping(value = "details")
@ApiOperation(value = "获取场地详情") // @ApiOperation(value = "获取场地详情")
@ApiResponse(response = FieldsVo.class, code = 200, message = "接口返回对象参数") // @ApiResponse(response = FieldsVo.class, code = 200, message = "接口返回对象参数")
public ResponseDto<FieldsVo> fieldDetails(@RequestParam(value = "fieldId", defaultValue = "59666659929161728") String fieldId) { public ResponseDto<FieldsVo> fieldDetails(@RequestParam(value = "fieldId", defaultValue = "59666659929161728") String fieldId) {
FieldsVo result = null; FieldsVo result = null;
result = fieldsService.fieldDetails(fieldId); result = fieldsService.fieldDetails(fieldId);
...@@ -30,9 +30,9 @@ public class FieldsController { ...@@ -30,9 +30,9 @@ public class FieldsController {
} }
} }
@GetMapping(value = "list") // @GetMapping(value = "list")
@ApiOperation(value = "获取场地列表") // @ApiOperation(value = "获取场地列表")
@ApiResponse(response = FieldsVo.class, code = 200, message = "接口返回对象参数") // @ApiResponse(response = FieldsVo.class, code = 200, message = "接口返回对象参数")
public ResponseDto<HashMap<String, Object>> fieldList(@RequestParam(value = "page", defaultValue = "1") int page,@RequestParam(value = "size", defaultValue = "10") int size,@RequestParam(value = "city_id", defaultValue = "1") int city_id) { public ResponseDto<HashMap<String, Object>> fieldList(@RequestParam(value = "page", defaultValue = "1") int page,@RequestParam(value = "size", defaultValue = "10") int size,@RequestParam(value = "city_id", defaultValue = "1") int city_id) {
HashMap<String, Object> result = null; HashMap<String, Object> result = null;
result = fieldsService.fieldList(page-1,size,city_id); result = fieldsService.fieldList(page-1,size,city_id);
......
...@@ -27,9 +27,9 @@ public class FieldsAdminController { ...@@ -27,9 +27,9 @@ public class FieldsAdminController {
@Autowired @Autowired
private FieldsAdminServiceImpl fieldsAdminService; private FieldsAdminServiceImpl fieldsAdminService;
@PostMapping(value = "") // @PostMapping(value = "")
@ApiOperation(value = "创建场地") // @ApiOperation(value = "创建场地")
@ApiResponse(response = FieldsVo.class, code = 200, message = "接口返回对象参数") // @ApiResponse(response = FieldsVo.class, code = 200, message = "接口返回对象参数")
public ResponseDto<FieldsVo> createFields(@RequestBody FieldsParam fieldsParam) { public ResponseDto<FieldsVo> createFields(@RequestBody FieldsParam fieldsParam) {
boolean result = fieldsAdminService.fieldCreate(fieldsParam); boolean result = fieldsAdminService.fieldCreate(fieldsParam);
if (result) { if (result) {
...@@ -39,9 +39,9 @@ public class FieldsAdminController { ...@@ -39,9 +39,9 @@ public class FieldsAdminController {
} }
} }
@PutMapping(value = "") // @PutMapping(value = "")
@ApiOperation(value = "mis修改场地全部数据") // @ApiOperation(value = "mis修改场地全部数据")
@ApiResponse(response = FieldsVo.class, code = 200, message = "接口返回对象参数") // @ApiResponse(response = FieldsVo.class, code = 200, message = "接口返回对象参数")
public ResponseDto<FieldsVo> fieldUpdate(@RequestBody FieldsParam fieldsParam) { public ResponseDto<FieldsVo> fieldUpdate(@RequestBody FieldsParam fieldsParam) {
boolean result = fieldsAdminService.fieldUpdateMessage(fieldsParam); boolean result = fieldsAdminService.fieldUpdateMessage(fieldsParam);
if (result) { if (result) {
...@@ -51,9 +51,9 @@ public class FieldsAdminController { ...@@ -51,9 +51,9 @@ public class FieldsAdminController {
} }
} }
@PostMapping(value = "list") // @PostMapping(value = "list")
@ApiOperation(value = "mis获取场地列表") // @ApiOperation(value = "mis获取场地列表")
@ApiResponse(response = PagerVo.class, code = 200, message = "接口返回对象参数") // @ApiResponse(response = PagerVo.class, code = 200, message = "接口返回对象参数")
public ResponseDto<PagerVo<FieldMisListDao>> fieldList(@RequestBody FieldsSearchParam fieldsSearchParam) { public ResponseDto<PagerVo<FieldMisListDao>> fieldList(@RequestBody FieldsSearchParam fieldsSearchParam) {
List<FieldMisListDao> result = fieldsAdminService.fieldList(fieldsSearchParam); List<FieldMisListDao> result = fieldsAdminService.fieldList(fieldsSearchParam);
Long total = fieldsAdminService.fieldListCount(fieldsSearchParam); Long total = fieldsAdminService.fieldListCount(fieldsSearchParam);
...@@ -69,9 +69,9 @@ public class FieldsAdminController { ...@@ -69,9 +69,9 @@ public class FieldsAdminController {
} }
} }
@GetMapping(value = "details") // @GetMapping(value = "details")
@ApiOperation(value = "mis场地详情") // @ApiOperation(value = "mis场地详情")
@ApiResponse(response = FieldMisDetailsDao.class, code = 200, message = "接口返回对象参数") // @ApiResponse(response = FieldMisDetailsDao.class, code = 200, message = "接口返回对象参数")
public ResponseDto<FieldMisDetailsDao> fieldDetails(@RequestParam("fieldsId") String fieldsId) { public ResponseDto<FieldMisDetailsDao> fieldDetails(@RequestParam("fieldsId") String fieldsId) {
FieldMisDetailsDao result = null; FieldMisDetailsDao result = null;
result = fieldsAdminService.fieldDetails(fieldsId); result = fieldsAdminService.fieldDetails(fieldsId);
...@@ -82,9 +82,9 @@ public class FieldsAdminController { ...@@ -82,9 +82,9 @@ public class FieldsAdminController {
} }
} }
@PostMapping(value = "audit") // @PostMapping(value = "audit")
@ApiOperation(value = "mis场地审核") // @ApiOperation(value = "mis场地审核")
@ApiResponse(code = 200, message = "接口返回对象参数") // @ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<String> fieldAudit(@RequestBody FieldsAuditParam fieldsAuditParam) { public ResponseDto<String> fieldAudit(@RequestBody FieldsAuditParam fieldsAuditParam) {
boolean result = fieldsAdminService.fieldAudit(fieldsAuditParam); boolean result = fieldsAdminService.fieldAudit(fieldsAuditParam);
...@@ -96,9 +96,9 @@ public class FieldsAdminController { ...@@ -96,9 +96,9 @@ public class FieldsAdminController {
} }
} }
@PostMapping(value = "status") // @PostMapping(value = "status")
@ApiOperation(value = "mis修改场地状态") // @ApiOperation(value = "mis修改场地状态")
@ApiResponse(code = 200, message = "接口返回对象参数") // @ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<String> fieldStatus(@RequestBody FieldsStatusParam fieldsStatusParam) { public ResponseDto<String> fieldStatus(@RequestBody FieldsStatusParam fieldsStatusParam) {
boolean result = fieldsAdminService.fieldStatus(fieldsStatusParam); boolean result = fieldsAdminService.fieldStatus(fieldsStatusParam);
if (result) { if (result) {
......
...@@ -2,11 +2,11 @@ package com.liquidnet.service.kylin.controller.admin; ...@@ -2,11 +2,11 @@ package com.liquidnet.service.kylin.controller.admin;
import com.liquidnet.service.ResponseDto; import com.liquidnet.service.ResponseDto;
import com.liquidnet.service.kylin.dao.BannerDetailsDao;
import com.liquidnet.service.kylin.dao.BannerDetailsListDao; import com.liquidnet.service.kylin.dao.BannerDetailsListDao;
import com.liquidnet.service.kylin.dto.param.BannersParam; import com.liquidnet.service.kylin.dto.param.BannersParam;
import com.liquidnet.service.kylin.dto.param.BannersSearchParam; import com.liquidnet.service.kylin.dto.param.BannersSearchParam;
import com.liquidnet.service.kylin.dto.vo.PagerVo; import com.liquidnet.service.kylin.dto.vo.PagerVo;
import com.liquidnet.service.kylin.entity.KylinBanners;
import com.liquidnet.service.kylin.service.impl.admin.KylinBannersServiceImpl; import com.liquidnet.service.kylin.service.impl.admin.KylinBannersServiceImpl;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -25,9 +25,9 @@ import java.util.List; ...@@ -25,9 +25,9 @@ import java.util.List;
* @since 2021-05-01 * @since 2021-05-01
*/ */
@Api @Api(tags = "后端-banner")
@RestController @RestController
@RequestMapping("/admin/banners") @RequestMapping("admin/banners")
public class KylinBannersAdminController { public class KylinBannersAdminController {
@Autowired @Autowired
...@@ -47,7 +47,7 @@ public class KylinBannersAdminController { ...@@ -47,7 +47,7 @@ public class KylinBannersAdminController {
@PutMapping("") @PutMapping("")
@ApiOperation(value = "修改banner") @ApiOperation(value = "修改banner")
public ResponseDto<Object> update(@RequestBody BannersParam bannersParam) { public ResponseDto<Object> update(@RequestBody BannersParam bannersParam) {
Boolean res = kylinBannersServiceImpl.update(bannersParam); boolean res = kylinBannersServiceImpl.update(bannersParam);
if (res) { if (res) {
return ResponseDto.success(); return ResponseDto.success();
} else { } else {
...@@ -57,8 +57,8 @@ public class KylinBannersAdminController { ...@@ -57,8 +57,8 @@ public class KylinBannersAdminController {
@GetMapping("{bannersId}") @GetMapping("{bannersId}")
@ApiOperation(value = "banner详情") @ApiOperation(value = "banner详情")
public ResponseDto<BannerDetailsDao> detail(@PathVariable("bannersId") String bannersId) { public ResponseDto<KylinBanners> detail(@PathVariable("bannersId") String bannersId) {
BannerDetailsDao result = null; KylinBanners result = null;
result = kylinBannersServiceImpl.detail(bannersId); result = kylinBannersServiceImpl.detail(bannersId);
if (null != result) { if (null != result) {
return ResponseDto.success(result); return ResponseDto.success(result);
...@@ -86,7 +86,7 @@ public class KylinBannersAdminController { ...@@ -86,7 +86,7 @@ public class KylinBannersAdminController {
@DeleteMapping("{bannersId}") @DeleteMapping("{bannersId}")
@ApiOperation(value = "删除banner") @ApiOperation(value = "删除banner")
public ResponseDto<Object> deleteTimes(@PathVariable("bannersId") String bannersId) { public ResponseDto<Object> delete(@PathVariable("bannersId") String bannersId) {
boolean result = kylinBannersServiceImpl.delete(bannersId); boolean result = kylinBannersServiceImpl.delete(bannersId);
if (result) { if (result) {
return ResponseDto.success("删除成功"); return ResponseDto.success("删除成功");
......
package com.liquidnet.service.kylin.controller.admin;
import com.liquidnet.service.ResponseDto;
import com.liquidnet.service.kylin.dto.vo.partner.PerformanceCreatePartnerVo;
import com.liquidnet.service.kylin.service.impl.admin.KylinPerformancesAdminServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 演出 前端控制器
* </p>
*
* @author liquidnet
* @since 2021-05-05
*/
@Api(tags = "后端-演出")
@RestController
@RequestMapping("admin/performance")
public class KylinPerformancesAdminController {
@Autowired
private KylinPerformancesAdminServiceImpl performancesAdminService;
@GetMapping(value = "details")
@ApiOperation(value = "获取演出详情")
@ApiResponse(response = PerformanceCreatePartnerVo.class, code = 200, message = "接口返回对象参数")
public ResponseDto<PerformanceCreatePartnerVo> performanceDetails(@RequestParam("performancesId") String performancesId) {
PerformanceCreatePartnerVo result = null;
result = performancesAdminService.performanceDetails(performancesId);
if (null != result) {
return ResponseDto.success(result);
} else {
return ResponseDto.failure("获取演出详情失败");
}
}
@GetMapping(value = "audit")
@ApiOperation(value = "演出审核")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<String> performanceDetails(@RequestParam("performancesId") String performancesId, @RequestParam("status") int status, @RequestParam("rejectTxt") String rejectTxt) {
boolean result = performancesAdminService.performanceAudit(performancesId, status, rejectTxt);
if (result) {
return ResponseDto.success("审核完成");
} else {
return ResponseDto.failure("审核失败");
}
}
}
...@@ -17,15 +17,15 @@ import java.util.HashMap; ...@@ -17,15 +17,15 @@ import java.util.HashMap;
@Api @Api
@RestController @RestController
@RequestMapping("kylin/partner/fields") @RequestMapping("partner/fields")
public class FieldsPartnerController { public class FieldsPartnerController {
@Autowired @Autowired
private FieldsPartnerServiceImpl fieldsPartnerService; private FieldsPartnerServiceImpl fieldsPartnerService;
@GetMapping(value = "details") // @GetMapping(value = "details")
@ApiOperation(value = "获取场地详情") // @ApiOperation(value = "获取场地详情")
@ApiResponse(response = FieldsVo.class, code = 200, message = "接口返回对象参数") // @ApiResponse(response = FieldsVo.class, code = 200, message = "接口返回对象参数")
public ResponseDto<FieldsVo> fieldDetails(@RequestParam(value = "fieldId", defaultValue = "59666659929161728") String fieldId) { public ResponseDto<FieldsVo> fieldDetails(@RequestParam(value = "fieldId", defaultValue = "59666659929161728") String fieldId) {
FieldsVo result = null; FieldsVo result = null;
result = fieldsPartnerService.fieldDetails(fieldId); result = fieldsPartnerService.fieldDetails(fieldId);
...@@ -36,9 +36,9 @@ public class FieldsPartnerController { ...@@ -36,9 +36,9 @@ public class FieldsPartnerController {
} }
} }
@GetMapping(value = "list") // @GetMapping(value = "list")
@ApiOperation(value = "获取场地列表") // @ApiOperation(value = "获取场地列表")
@ApiResponse(response = FieldsVo.class, code = 200, message = "接口返回对象参数") // @ApiResponse(response = FieldsVo.class, code = 200, message = "接口返回对象参数")
public ResponseDto<HashMap<String, Object>> fieldList(@RequestParam(value = "page", defaultValue = "1") int page, @RequestParam(value = "size", defaultValue = "10") int size, @RequestParam(value = "name", defaultValue = "") String name) { public ResponseDto<HashMap<String, Object>> fieldList(@RequestParam(value = "page", defaultValue = "1") int page, @RequestParam(value = "size", defaultValue = "10") int size, @RequestParam(value = "name", defaultValue = "") String name) {
HashMap<String, Object> result = null; HashMap<String, Object> result = null;
result = fieldsPartnerService.fieldList(page-1,size,name); result = fieldsPartnerService.fieldList(page-1,size,name);
......
...@@ -3,9 +3,9 @@ package com.liquidnet.service.kylin.controller.partner; ...@@ -3,9 +3,9 @@ package com.liquidnet.service.kylin.controller.partner;
import com.liquidnet.service.ResponseDto; import com.liquidnet.service.ResponseDto;
import com.liquidnet.service.kylin.dto.param.CreateTicketTimesParam; import com.liquidnet.service.kylin.dto.param.CreateTicketTimesParam;
import com.liquidnet.service.kylin.dto.param.PerformanceStep1Param; import com.liquidnet.service.kylin.dto.vo.partner.TicketTimesCreatePartnerVo;
import com.liquidnet.service.kylin.dto.vo.TicketTimesVo;
import com.liquidnet.service.kylin.service.impl.partner.KylinTicketTimesPartnerServiceImpl; import com.liquidnet.service.kylin.service.impl.partner.KylinTicketTimesPartnerServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponse;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -19,8 +19,9 @@ import org.springframework.web.bind.annotation.*; ...@@ -19,8 +19,9 @@ import org.springframework.web.bind.annotation.*;
* @author liquidnet * @author liquidnet
* @since 2021-05-06 * @since 2021-05-06
*/ */
@Api(tags = "第三方-场次")
@RestController @RestController
@RequestMapping("kylin/partner/times") @RequestMapping("partner/times")
public class KylinTicketTimesPartnerController { public class KylinTicketTimesPartnerController {
@Autowired @Autowired
...@@ -28,9 +29,9 @@ public class KylinTicketTimesPartnerController { ...@@ -28,9 +29,9 @@ public class KylinTicketTimesPartnerController {
@PostMapping(value = "") @PostMapping(value = "")
@ApiOperation(value = "创建场次") @ApiOperation(value = "创建场次")
@ApiResponse(response = TicketTimesVo.class, code = 200, message = "接口返回对象参数") @ApiResponse(response = TicketTimesCreatePartnerVo.class, code = 200, message = "接口返回对象参数")
public ResponseDto<TicketTimesVo> createTimes(@RequestBody CreateTicketTimesParam createTicketTimesParam) { public ResponseDto<TicketTimesCreatePartnerVo> createTimes(@RequestBody CreateTicketTimesParam createTicketTimesParam) {
TicketTimesVo result = null; TicketTimesCreatePartnerVo result = null;
result = ticketTimesPartnerService.createTimes(createTicketTimesParam); result = ticketTimesPartnerService.createTimes(createTicketTimesParam);
if (null == result) { if (null == result) {
return ResponseDto.failure("创建失败"); return ResponseDto.failure("创建失败");
...@@ -41,7 +42,7 @@ public class KylinTicketTimesPartnerController { ...@@ -41,7 +42,7 @@ public class KylinTicketTimesPartnerController {
@DeleteMapping(value = "") @DeleteMapping(value = "")
@ApiOperation(value = "删除场次") @ApiOperation(value = "删除场次")
@ApiResponse(response = TicketTimesVo.class, code = 200, message = "接口返回对象参数") @ApiResponse(response = TicketTimesCreatePartnerVo.class, code = 200, message = "接口返回对象参数")
public ResponseDto<String> deleteTimes(@RequestParam("ticketTimesId") String ticketTimesId) { public ResponseDto<String> deleteTimes(@RequestParam("ticketTimesId") String ticketTimesId) {
boolean result = ticketTimesPartnerService.deleteTimes(ticketTimesId); boolean result = ticketTimesPartnerService.deleteTimes(ticketTimesId);
if (result) { if (result) {
...@@ -53,9 +54,9 @@ public class KylinTicketTimesPartnerController { ...@@ -53,9 +54,9 @@ public class KylinTicketTimesPartnerController {
@PutMapping(value = "") @PutMapping(value = "")
@ApiOperation(value = "修改场次") @ApiOperation(value = "修改场次")
@ApiResponse(response = TicketTimesVo.class, code = 200, message = "接口返回对象参数") @ApiResponse(response = TicketTimesCreatePartnerVo.class, code = 200, message = "接口返回对象参数")
public ResponseDto<TicketTimesVo> deleteTimes(@RequestBody CreateTicketTimesParam createTicketTimesParam) { public ResponseDto<TicketTimesCreatePartnerVo> deleteTimes(@RequestBody CreateTicketTimesParam createTicketTimesParam) {
TicketTimesVo result = null; TicketTimesCreatePartnerVo result = null;
result = ticketTimesPartnerService.changeTimes(createTicketTimesParam); result = ticketTimesPartnerService.changeTimes(createTicketTimesParam);
if (null == result) { if (null == result) {
return ResponseDto.failure("修改失败"); return ResponseDto.failure("修改失败");
...@@ -64,4 +65,18 @@ public class KylinTicketTimesPartnerController { ...@@ -64,4 +65,18 @@ public class KylinTicketTimesPartnerController {
} }
} }
@GetMapping(value = "/details")
@ApiOperation(value = "获取场次详情")
@ApiResponse(response = TicketTimesCreatePartnerVo.class, code = 200, message = "接口返回对象参数")
public ResponseDto<TicketTimesCreatePartnerVo> getTimesMongo(@RequestParam("ticketTimesId") String ticketTimesId) {
TicketTimesCreatePartnerVo result = null;
result = ticketTimesPartnerService.getTimesMongo(ticketTimesId);
if (null == result) {
return ResponseDto.failure("查询场次信息失败");
} else {
return ResponseDto.success(result);
}
}
} }
...@@ -3,11 +3,7 @@ package com.liquidnet.service.kylin.controller.partner; ...@@ -3,11 +3,7 @@ package com.liquidnet.service.kylin.controller.partner;
import com.liquidnet.service.ResponseDto; import com.liquidnet.service.ResponseDto;
import com.liquidnet.service.kylin.dto.param.TicketCreateParam; import com.liquidnet.service.kylin.dto.param.TicketCreateParam;
import com.liquidnet.service.kylin.dto.vo.FieldsVo; import com.liquidnet.service.kylin.dto.vo.partner.TicketCreatePartnerVo;
import com.liquidnet.service.kylin.dto.vo.TicketVo;
import com.liquidnet.service.kylin.mapper.KylinTicketsMapper;
import com.liquidnet.service.kylin.service.impl.KylinTicketsServiceImpl;
import com.liquidnet.service.kylin.service.impl.partner.FieldsPartnerServiceImpl;
import com.liquidnet.service.kylin.service.impl.partner.KylinTicketsPartnerServiceImpl; import com.liquidnet.service.kylin.service.impl.partner.KylinTicketsPartnerServiceImpl;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -23,9 +19,9 @@ import org.springframework.web.bind.annotation.*; ...@@ -23,9 +19,9 @@ import org.springframework.web.bind.annotation.*;
* @author liquidnet * @author liquidnet
* @since 2021-05-06 * @since 2021-05-06
*/ */
@Api @Api(tags = "第三方-票")
@RestController @RestController
@RequestMapping("kylin/partner/ticket") @RequestMapping("partner/ticket")
public class KylinTicketsPartnerController { public class KylinTicketsPartnerController {
@Autowired @Autowired
...@@ -33,9 +29,9 @@ public class KylinTicketsPartnerController { ...@@ -33,9 +29,9 @@ public class KylinTicketsPartnerController {
@PostMapping(value = "") @PostMapping(value = "")
@ApiOperation(value = "创建票务") @ApiOperation(value = "创建票务")
@ApiResponse(response = TicketVo.class, code = 200, message = "接口返回对象参数") @ApiResponse(response = TicketCreatePartnerVo.class, code = 200, message = "接口返回对象参数")
public ResponseDto<TicketVo> createTicket(@RequestBody TicketCreateParam ticketCreateParam) { public ResponseDto<TicketCreatePartnerVo> createTicket(@RequestBody TicketCreateParam ticketCreateParam) {
TicketVo result = null; TicketCreatePartnerVo result = null;
result = ticketsPartnerService.createTicket(ticketCreateParam); result = ticketsPartnerService.createTicket(ticketCreateParam);
if (null == result) { if (null == result) {
return ResponseDto.failure("创建票务失败"); return ResponseDto.failure("创建票务失败");
...@@ -46,9 +42,9 @@ public class KylinTicketsPartnerController { ...@@ -46,9 +42,9 @@ public class KylinTicketsPartnerController {
@PutMapping(value = "") @PutMapping(value = "")
@ApiOperation(value = "修改票务") @ApiOperation(value = "修改票务")
@ApiResponse(response = TicketVo.class, code = 200, message = "接口返回对象参数") @ApiResponse(response = TicketCreatePartnerVo.class, code = 200, message = "接口返回对象参数")
public ResponseDto<TicketVo> updateTicket(@RequestBody TicketCreateParam ticketCreateParam) { public ResponseDto<TicketCreatePartnerVo> updateTicket(@RequestBody TicketCreateParam ticketCreateParam) {
TicketVo result = null; TicketCreatePartnerVo result = null;
result = ticketsPartnerService.updateTicket(ticketCreateParam); result = ticketsPartnerService.updateTicket(ticketCreateParam);
if (null == result) { if (null == result) {
return ResponseDto.failure("修改票务失败"); return ResponseDto.failure("修改票务失败");
...@@ -71,9 +67,9 @@ public class KylinTicketsPartnerController { ...@@ -71,9 +67,9 @@ public class KylinTicketsPartnerController {
@PostMapping(value = "/copy") @PostMapping(value = "/copy")
@ApiOperation(value = "复制票务") @ApiOperation(value = "复制票务")
@ApiResponse(response = TicketVo.class, code = 200, message = "接口返回对象参数") @ApiResponse(response = TicketCreatePartnerVo.class, code = 200, message = "接口返回对象参数")
public ResponseDto<TicketVo> copyTicket(@RequestParam("ticketsId") String ticketsId) { public ResponseDto<TicketCreatePartnerVo> copyTicket(@RequestParam("ticketsId") String ticketsId) {
TicketVo result = null; TicketCreatePartnerVo result = null;
result = ticketsPartnerService.copyTicket(ticketsId); result = ticketsPartnerService.copyTicket(ticketsId);
if (null == result) { if (null == result) {
return ResponseDto.failure("复制票务失败"); return ResponseDto.failure("复制票务失败");
...@@ -81,4 +77,17 @@ public class KylinTicketsPartnerController { ...@@ -81,4 +77,17 @@ public class KylinTicketsPartnerController {
return ResponseDto.success(result); return ResponseDto.success(result);
} }
} }
@GetMapping(value = "/details")
@ApiOperation(value = "获取票务详情")
@ApiResponse(response = TicketCreatePartnerVo.class, code = 200, message = "接口返回对象参数")
public ResponseDto<TicketCreatePartnerVo> getTicketsMongo(@RequestParam("ticketsId") String ticketsId) {
TicketCreatePartnerVo result = null;
result = ticketsPartnerService.getTicketsMongo(ticketsId);
if (null == result) {
return ResponseDto.failure("查询票务信息失败");
} else {
return ResponseDto.success(result);
}
}
} }
...@@ -10,9 +10,9 @@ import io.swagger.annotations.ApiResponse; ...@@ -10,9 +10,9 @@ import io.swagger.annotations.ApiResponse;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@Api @Api(tags = "第三方-演出")
@RestController @RestController
@RequestMapping("kylin/partner/performance") @RequestMapping("partner/performance")
public class PerformancePartnerController { public class PerformancePartnerController {
@Autowired @Autowired
...@@ -42,4 +42,51 @@ public class PerformancePartnerController { ...@@ -42,4 +42,51 @@ public class PerformancePartnerController {
} }
} }
@GetMapping(value = "step1")
@ApiOperation(value = "获取演出第一步数据")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<PerformanceStep1Param> createStep1(@RequestParam("performancesId") String performancesId) {
PerformanceStep1Param result = performancesPartnerService.getStep1(performancesId);
if (result==null) {
return ResponseDto.failure("获取数据失败");
} else {
return ResponseDto.success(result);
}
}
@GetMapping(value = "step2")
@ApiOperation(value = "获取演出第二步数据")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<PerformanceStep2Param> createStep2(@RequestParam("performancesId") String performancesId) {
PerformanceStep2Param result = performancesPartnerService.getStep2(performancesId);
if (result == null) {
return ResponseDto.failure("获取数据失败");
} else {
return ResponseDto.success(result);
}
}
@PostMapping(value = "online")
@ApiOperation(value = "演出上线")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<String> onLinePerformance(@RequestParam("performancesId") String performancesId) {
boolean result = performancesPartnerService.onLinePerformance(performancesId);
if (result) {
return ResponseDto.success("上架成功");
} else {
return ResponseDto.failure("上架失败");
}
}
@PostMapping(value = "outline")
@ApiOperation(value = "演出下线")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<String> outLinePerformance(@RequestParam("performancesId") String performancesId) {
boolean result = performancesPartnerService.outLinePerformance(performancesId);
if (result) {
return ResponseDto.success("下架成功");
} else {
return ResponseDto.failure("下架失败");
}
}
} }
package com.liquidnet.service.kylin.service.impl;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dto.TicketInventoryDto;
import com.liquidnet.service.kylin.dto.vo.PerformanceVo;
import com.liquidnet.service.kylin.dto.vo.TicketTimesVo;
import com.liquidnet.service.kylin.dto.vo.TicketVo;
import com.mongodb.BasicDBObject;
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.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@Component
public class PerformanceVoTask {
@Autowired
private MongoTemplate mongoTemplate;
@Autowired
private MongoConverter mongoConverter;
@Autowired
private RedisUtil redisUtil;
public void performanceVoStatus(String performanceSingleId) {
LocalDateTime timeNow = LocalDateTime.now();
List<String> performanceIdList = new ArrayList<>();
if (performanceSingleId.isEmpty()) {
List<PerformanceVo> PerformanceVoList = mongoTemplate.findAll(PerformanceVo.class);
for (PerformanceVo performanceVoItem : PerformanceVoList) {
performanceIdList.add(performanceVoItem.getPerformancesId());
}
} else {
performanceIdList.add(performanceSingleId);
}
for (String performancesId : performanceIdList) {
//场次
List<TicketTimesVo> timesData = mongoTemplate.find(
Query.query(Criteria.where("performanceId").is(performancesId)),
TicketTimesVo.class, TicketTimesVo.class.getSimpleName()
);
//总循环次数
int ticketCount = 0;
//未开售次数
int status9Count = 0;
//售罄次数
int status8Count = 0;
//已结束次数
int status10Count = 0;
//演出数据
HashMap<String, Object> mapPerformance = new HashMap<>();
int appStatus = 6;
for (TicketTimesVo ticketTimesVoItem : timesData) {
//票
// List<TicketVo> ticketVoList = ticketTimesVoItem.getTicketVoList();
List<TicketVo> ticketVoList = mongoTemplate.find(
Query.query(Criteria.where("timeId").is(ticketTimesVoItem.getTimeId())),
TicketVo.class, TicketVo.class.getSimpleName()
);
ticketCount += ticketVoList.size();
for (TicketVo ticketVoItem : ticketVoList) {
//时间判断
LocalDateTime timeStart = LocalDateTime.parse(ticketVoItem.getMemberTimeStart(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
LocalDateTime timeEnd = LocalDateTime.parse(ticketVoItem.getTimeEnd(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
int status = 0;
if (timeStart.isAfter(timeNow)) {
//未开始
status = 9;
status9Count += 1;
} else if (timeEnd.isBefore(timeNow)) {
//结束
status = 10;
status10Count += 1;
} else {
//库存判断
TicketInventoryDto ticketInventoryRedis = (TicketInventoryDto) redisUtil.hget(KylinRedisConst.PERFORMANCES_INVENTORY, ticketVoItem.getTicketsId());
if (ticketInventoryRedis.getSurplusGeneral() > 0) {
status = 6;
} else {
status = 8;
status8Count += 1;
}
}
//修改票状态
HashMap<String, Object> mapTicket = new HashMap<>();
mapTicket.put("status", status);
BasicDBObject objectTicket = new BasicDBObject("$set", mongoConverter.convertToMongoType(mapTicket));
mongoTemplate.getCollection(TicketVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("ticketsId").is(ticketVoItem.getTicketsId())).getQueryObject(),
objectTicket
);
// //修改场次 内 票数据
// mongoTemplate.getCollection(TicketTimesVo.class.getSimpleName()).updateOne(
// Query.query(Criteria.where("ticketVoList.ticketsId").is(ticketVoItem.getTicketsId())).getQueryObject(),
// objectTicket
// );
//演出状态
if (status == 6) {//单一票 可购买 则为可购买
appStatus = 6;
} else if (ticketCount == status8Count) {//全票售罄为售罄
appStatus = 8;
} else if (ticketCount == status9Count) {//全票未开始 为未开始
appStatus = 9;
} else if (ticketCount == status10Count) {//全票结束 为结束
appStatus = 10;
}
}
}
//修改演出状态
mapPerformance.put("appStatus", appStatus);
BasicDBObject objectPerformance = new BasicDBObject("$set", mongoConverter.convertToMongoType(mapPerformance));
mongoTemplate.getCollection(PerformanceVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("performancesId").is(performancesId)).getQueryObject(),
objectPerformance
);
}
}
}
...@@ -7,13 +7,14 @@ import com.liquidnet.commons.lang.util.BeanUtil; ...@@ -7,13 +7,14 @@ import com.liquidnet.commons.lang.util.BeanUtil;
import com.liquidnet.commons.lang.util.IDGenerator; import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.commons.lang.util.JsonUtils; import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.kylin.constant.KylinRedisConst; import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dao.BannerDetailsDao;
import com.liquidnet.service.kylin.dao.BannerDetailsListDao; import com.liquidnet.service.kylin.dao.BannerDetailsListDao;
import com.liquidnet.service.kylin.dto.param.BannersParam; import com.liquidnet.service.kylin.dto.param.BannersParam;
import com.liquidnet.service.kylin.dto.param.BannersSearchParam; import com.liquidnet.service.kylin.dto.param.BannersSearchParam;
import com.liquidnet.service.kylin.dto.vo.BannersVo; import com.liquidnet.service.kylin.dto.vo.BannersVo;
import com.liquidnet.service.kylin.entity.KylinBanners; import com.liquidnet.service.kylin.entity.KylinBanners;
import com.liquidnet.service.kylin.entity.KylinBannersRelations;
import com.liquidnet.service.kylin.mapper.KylinBannersMapper; import com.liquidnet.service.kylin.mapper.KylinBannersMapper;
import com.liquidnet.service.kylin.mapper.KylinBannersRelationsMapper;
import com.liquidnet.service.kylin.service.admin.IKylinBannersService; import com.liquidnet.service.kylin.service.admin.IKylinBannersService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mongodb.BasicDBObject; import com.mongodb.BasicDBObject;
...@@ -49,6 +50,9 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl ...@@ -49,6 +50,9 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl
@Autowired @Autowired
private KylinBannersMapper bannersMapper; private KylinBannersMapper bannersMapper;
@Autowired
private KylinBannersRelationsMapper kylinBannersRelationsMapper;
@Autowired @Autowired
MongoTemplate mongoTemplate; MongoTemplate mongoTemplate;
...@@ -60,22 +64,57 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl ...@@ -60,22 +64,57 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl
public boolean create(BannersParam bannersParam) { public boolean create(BannersParam bannersParam) {
try { try {
// 时间
String bannersId = IDGenerator.nextSnowId().toString(); String bannersId = IDGenerator.nextSnowId().toString();
LocalDateTime createdAt = LocalDateTime.now(); LocalDateTime createdAt = LocalDateTime.now();
bannersMapper.insert(bannersParam.getFields(bannersId, createdAt)); String createdAtString = createdAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
// 入数据库
bannersMapper.insert(bannersParam.getFields(bannersId, createdAtString));
List<String> positionList = bannersParam.getPositionList();
KylinBannersRelations kylinBannersRelations = new KylinBannersRelations();
for (String fieldId : positionList) {
KylinBannersRelations relations = kylinBannersRelations.newData(bannersId, fieldId, 1, createdAtString);
kylinBannersRelationsMapper.insert(relations);
mongoTemplate.insert(kylinBannersRelations, KylinBannersRelations.class.getSimpleName());
redisUtil.hset(KylinRedisConst.BANNERSRELATIONS, kylinBannersRelations.getBannersRelationsId(), kylinBannersRelations);
}
List<String> provincesList = bannersParam.getProvincesList();
if (!provincesList.isEmpty()) {
for (String fieldId : provincesList) {
KylinBannersRelations relations = kylinBannersRelations.newData(bannersId, fieldId, 2, createdAtString);
kylinBannersRelationsMapper.insert(relations);
mongoTemplate.insert(kylinBannersRelations, KylinBannersRelations.class.getSimpleName());
redisUtil.hset(KylinRedisConst.BANNERSRELATIONS, kylinBannersRelations.getBannersRelationsId(), kylinBannersRelations);
}
}
// 处理缓存数据
BannersVo bannersVo = new BannersVo(); BannersVo bannersVo = new BannersVo();
BeanUtils.copyProperties(bannersParam, bannersVo); BeanUtils.copyProperties(bannersParam, bannersVo);
bannersVo.setBannersId(bannersId); bannersVo.setBannersId(bannersId);
bannersVo.setCreatedAt(createdAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); bannersVo.setCreatedAt(createdAtString);
bannersVo.setUpdatedAt(""); // 处理基础数据 防止缓存中无字段
bannersVo.setIsDeleted(1); bannersVo.setIsDeleted(1);
if (null == bannersParam.getSort()) { bannersVo.setUpdatedAt("");
bannersVo.setSort(0); if (StringUtils.isNullOrEmpty(bannersParam.getTargetObj())) {
bannersVo.setTargetObj("");
}
if (StringUtils.isNullOrEmpty(bannersParam.getOnlineStartTime())) {
bannersVo.setOnlineEndTime("");
}
if (StringUtils.isNullOrEmpty(bannersParam.getOnlineEndTime())) {
bannersVo.setOnlineEndTime("");
} }
if (StringUtils.isNullOrEmpty(bannersParam.getComment())) { if (null == bannersParam.getBannersSort()) {
bannersVo.setComment(""); bannersVo.setBannersSort(0);
} }
if (StringUtils.isNullOrEmpty(bannersParam.getRemarks())) {
bannersVo.setRemarks("");
}
// 入缓存
mongoTemplate.insert(bannersVo, BannersVo.class.getSimpleName()); mongoTemplate.insert(bannersVo, BannersVo.class.getSimpleName());
redisUtil.hset(KylinRedisConst.BANNERS, bannersId, bannersVo); redisUtil.hset(KylinRedisConst.BANNERS, bannersId, bannersVo);
...@@ -88,18 +127,66 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl ...@@ -88,18 +127,66 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl
public boolean update(BannersParam bannersParam) { public boolean update(BannersParam bannersParam) {
try { try {
// 时间
String bannersId = bannersParam.getBannersId(); String bannersId = bannersParam.getBannersId();
LocalDateTime updatedAt = LocalDateTime.now(); LocalDateTime updatedAt = LocalDateTime.now();
String updatedAtString = updatedAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
KylinBanners params = bannersParam.getFields(null, null); KylinBanners params = bannersParam.getFields(null, null);
params.setUpdatedAt(updatedAt); params.setUpdatedAt(updatedAtString);
// 入数据库
bannersMapper.update(params, new UpdateWrapper<KylinBanners>().eq("banners_id", bannersId)); bannersMapper.update(params, new UpdateWrapper<KylinBanners>().eq("banners_id", bannersId));
List<String> positionList = bannersParam.getPositionList();
// 删除之前的再添加
List<String> relationsIds = kylinBannersRelationsMapper.getBannersRelationsField("banners_relations_id",bannersId, 1);
kylinBannersRelationsMapper.delete(
new UpdateWrapper<KylinBannersRelations>().eq("banners_id", bannersId).eq("field_id_type", 1)
);
mongoTemplate.remove(
Query.query(Criteria.where("bannersId").is(bannersId).and("fieldIdType").is(1)),
KylinBannersRelations.class.getSimpleName()
);
for (String relationsId : relationsIds) {
redisUtil.hdel(KylinRedisConst.BANNERSRELATIONS, relationsId);
}
KylinBannersRelations kylinBannersRelations = new KylinBannersRelations();
for (String fieldId : positionList) {
KylinBannersRelations relations = kylinBannersRelations.newData(bannersId, fieldId, 1, updatedAtString);
kylinBannersRelationsMapper.insert(relations);
mongoTemplate.insert(relations, KylinBannersRelations.class.getSimpleName());
redisUtil.hset(KylinRedisConst.BANNERSRELATIONS, relations.getBannersRelationsId(), relations);
}
List<String> provincesList = bannersParam.getProvincesList();
if (!provincesList.isEmpty()) {
// 删除之前的再添加
List<String> relationsIdss = kylinBannersRelationsMapper.getBannersRelationsField("banners_relations_id",bannersId, 2);
kylinBannersRelationsMapper.delete(
new UpdateWrapper<KylinBannersRelations>().eq("banners_id", bannersId).eq("field_id_type", 2)
);
mongoTemplate.remove(
Query.query(Criteria.where("bannersId").is(bannersId).and("fieldIdType").is(2)),
KylinBannersRelations.class.getSimpleName()
);
for (String relationsId : relationsIdss) {
redisUtil.hdel(KylinRedisConst.BANNERSRELATIONS, relationsId);
}
for (String fieldId : provincesList) {
KylinBannersRelations relations = kylinBannersRelations.newData(bannersId, fieldId, 2, updatedAtString);
kylinBannersRelationsMapper.insert(relations);
mongoTemplate.insert(relations, KylinBannersRelations.class.getSimpleName());
redisUtil.hset(KylinRedisConst.BANNERSRELATIONS, relations.getBannersRelationsId(), relations);
}
}
// 处理缓存数据
BannersVo bannersVo = new BannersVo(); BannersVo bannersVo = new BannersVo();
BeanUtils.copyProperties(bannersParam, bannersVo); BeanUtils.copyProperties(bannersParam, bannersVo);
bannersVo.setBannersId(bannersId); bannersVo.setBannersId(bannersId);
bannersVo.setUpdatedAt(updatedAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); bannersVo.setUpdatedAt(updatedAtString);
// 修改缓存
BasicDBObject object = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(bannersVo))); BasicDBObject object = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(bannersVo)));
Document doc = mongoTemplate.getCollection(BannersVo.class.getSimpleName()).findOneAndUpdate( Document doc = mongoTemplate.getCollection(BannersVo.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("bannersId").is(bannersId)).getQueryObject(), Query.query(Criteria.where("bannersId").is(bannersId)).getQueryObject(),
...@@ -115,8 +202,14 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl ...@@ -115,8 +202,14 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl
} }
} }
public BannerDetailsDao detail(String bannersId) { public KylinBanners detail(String bannersId) {
BannerDetailsDao data = bannersMapper.detail(bannersId); KylinBanners data = bannersMapper.selectOne(new UpdateWrapper<KylinBanners>().eq("banners_id", bannersId).eq("is_deleted", 1));
List<String> positionList = kylinBannersRelationsMapper.getBannersRelationsField("field_id", bannersId, 1);
List<String> provincesList = kylinBannersRelationsMapper.getBannersRelationsField("field_id", bannersId, 2);
data.setPositionList(positionList);
data.setProvincesList(provincesList);
return data; return data;
} }
...@@ -127,9 +220,11 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl ...@@ -127,9 +220,11 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl
List<BannerDetailsListDao> data = bannersMapper.searchBannersList(BeanUtil.convertBeanToMap(bannersSearchParam)); List<BannerDetailsListDao> data = bannersMapper.searchBannersList(BeanUtil.convertBeanToMap(bannersSearchParam));
return data; return data;
} catch (Exception e) { } catch (Exception e) {
System.out.println(e.getMessage());
return new ArrayList<>(); return new ArrayList<>();
} }
} }
public Long bannerListCount(BannersSearchParam bannersSearchParam) { public Long bannerListCount(BannersSearchParam bannersSearchParam) {
try { try {
Long count = bannersMapper.searchBannersCount(BeanUtil.convertBeanToMap(bannersSearchParam)); Long count = bannersMapper.searchBannersCount(BeanUtil.convertBeanToMap(bannersSearchParam));
...@@ -142,16 +237,17 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl ...@@ -142,16 +237,17 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl
public Boolean delete(String bannersId) { public Boolean delete(String bannersId) {
try { try {
LocalDateTime updatedAt = LocalDateTime.now(); LocalDateTime updatedAt = LocalDateTime.now();
String updatedAtString = updatedAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
KylinBanners kylinBanners = new KylinBanners(); KylinBanners kylinBanners = new KylinBanners();
kylinBanners.setUpdatedAt(updatedAt); kylinBanners.setUpdatedAt(updatedAtString);
kylinBanners.setIsDeleted(0); kylinBanners.setIsDeleted(0);
bannersMapper.update(kylinBanners bannersMapper.update(kylinBanners
, new UpdateWrapper<KylinBanners>().eq("banners_id", bannersId)); , new UpdateWrapper<KylinBanners>().eq("banners_id", bannersId));
// mongo 操作 // mongo 操作
HashMap<String, Object> map = new HashMap<>(); HashMap<String, Object> map = new HashMap<>();
map.put("updatedAt", updatedAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); map.put("updatedAt", updatedAtString);
map.put("isDeleted", 0); map.put("isDeleted", 0);
BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(map)); BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(map));
......
package com.liquidnet.service.kylin.service.impl.admin;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.kylin.dto.param.PerformanceCreateParam;
import com.liquidnet.service.kylin.dto.vo.partner.PerformanceCreatePartnerVo;
import com.liquidnet.service.kylin.dto.vo.partner.TicketTimesTicketCreatePartnerVo;
import com.liquidnet.service.kylin.dto.vo.partner.TicketTimesCreatePartnerVo;
import com.liquidnet.service.kylin.dto.vo.partner.TicketCreatePartnerVo;
import com.liquidnet.service.kylin.entity.*;
import com.liquidnet.service.kylin.mapper.*;
import com.liquidnet.service.kylin.service.admin.IKylinPerformancesAdminService;
import com.liquidnet.service.kylin.service.impl.partner.KylinTicketTimesPartnerServiceImpl;
import com.liquidnet.service.kylin.service.impl.partner.KylinTicketsPartnerServiceImpl;
import com.mongodb.BasicDBObject;
import com.mongodb.client.model.FindOneAndUpdateOptions;
import com.mongodb.client.model.ReturnDocument;
import org.bson.Document;
import org.springframework.beans.BeanUtils;
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.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
/**
* <p>
* 演出 服务实现类
* </p>
*
* @author liquidnet
* @since 2021-05-05
*/
@Service
public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerformancesMapper, KylinPerformances> implements IKylinPerformancesAdminService {
@Autowired
MongoTemplate mongoTemplate;
@Autowired
private MongoConverter mongoConverter;
@Autowired
private RedisUtil redisUtil;
@Autowired
private KylinPerformancesMapper performancesMapper;
@Autowired
private KylinPerformanceStatusMapper performanceStatusMapper;
@Autowired
private KylinPerformanceRelationsMapper performanceRelationsMapper;
@Autowired
private KylinTicketTimesPartnerServiceImpl ticketTimesPartnerService;
@Autowired
private KylinTicketsMapper ticketsMapper;
@Autowired
private KylinTicketStatusMapper ticketStatusMapper;
@Autowired
private KylinTicketRelationsMapper ticketRelationsMapper;
@Autowired
private KylinTicketTimesMapper ticketTimesMapper;
@Autowired
private KylinTicketTimeRelationMapper ticketTimeRelationMapper;
@Autowired
private KylinTicketsPartnerServiceImpl ticketsPartnerService;
@Override
public PerformanceCreatePartnerVo performanceDetails(String performancesId) {
PerformanceCreateParam performanceData = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performancesId)), PerformanceCreateParam.class, PerformanceCreateParam.class.getSimpleName());
List<TicketTimesCreatePartnerVo> ticketTimesCreatePartnerVos = ticketTimesPartnerService.getTimesMongoList(performancesId);
List<TicketTimesTicketCreatePartnerVo> ticketTimesTicketCreatePartnerVoList = new ArrayList<TicketTimesTicketCreatePartnerVo>();
ArrayList<BigDecimal> floatList = new ArrayList<>();
ArrayList<String> StringList = new ArrayList<>();
for (TicketTimesCreatePartnerVo ticketTimes : ticketTimesCreatePartnerVos) {
TicketTimesTicketCreatePartnerVo ticketTimesTicketCreatePartnerVo = new TicketTimesTicketCreatePartnerVo();
BeanUtils.copyProperties(ticketTimes, ticketTimesTicketCreatePartnerVo);
List<TicketCreatePartnerVo> ticketCreatePartnerVos = ticketsPartnerService.getTicketMongoList(ticketTimes.getTicketTimesId());
ticketTimesTicketCreatePartnerVo.setTicket(ticketCreatePartnerVos);
ticketTimesTicketCreatePartnerVoList.add(ticketTimesTicketCreatePartnerVo);
for (TicketCreatePartnerVo ticketCreatePartnerVoItem : ticketCreatePartnerVos) {
floatList.add(ticketCreatePartnerVoItem.getPrice());
StringList.add(ticketCreatePartnerVoItem.getTimeEnd());
}
}
PerformanceCreatePartnerVo performanceCreatePartnerVo = new PerformanceCreatePartnerVo();
BeanUtils.copyProperties(performanceData, performanceCreatePartnerVo);
floatList.sort(Comparator.reverseOrder());
StringList.sort(Comparator.naturalOrder());
performanceCreatePartnerVo.setPrice(floatList.get(0) + "起");
performanceCreatePartnerVo.setStopSellTime(StringList.get(0));
performanceCreatePartnerVo.setTicketTimes(ticketTimesTicketCreatePartnerVoList);
performanceCreatePartnerVo.setStatus(1);
performanceCreatePartnerVo.setStatusSell(1);
performanceCreatePartnerVo.setRejectTxt("");
performanceCreatePartnerVo.setIsShow(1);
performanceCreatePartnerVo.setIsDistribution(0);
performanceCreatePartnerVo.setSyncAgent(0);
performanceCreatePartnerVo.setAuditStatus(0);
boolean exists = mongoTemplate.exists(Query.query(Criteria.where("performancesId").is(performancesId)), PerformanceCreatePartnerVo.class, PerformanceCreatePartnerVo.class.getSimpleName());
if (!exists) {
PerformanceCreatePartnerVo data = mongoTemplate.insert(
performanceCreatePartnerVo, PerformanceCreatePartnerVo.class.getSimpleName()
);
}
return performanceCreatePartnerVo;
}
@Override
public boolean performanceAudit(String performancesId, int status, String rejectTxt) {
try {
LocalDateTime updatedAt = LocalDateTime.now();
if (status == 3) {
//修改演出
HashMap<String, Object> map = new HashMap<>();
map.put("rejectTxt", "");
map.put("status", status);
map.put("updatedAt", updatedAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
BasicDBObject objectPerformanceVo = new BasicDBObject("$set", mongoConverter.convertToMongoType(map));
Document docPerformance = mongoTemplate.getCollection(PerformanceCreatePartnerVo.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("performancesId").is(performancesId)).getQueryObject(),
objectPerformanceVo,
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
);
PerformanceCreatePartnerVo performanceCreatePartnerVo = JsonUtils.fromJson(docPerformance.toJson(), PerformanceCreatePartnerVo.class);
//创建演出
KylinPerformances performances = new KylinPerformances();
BeanUtils.copyProperties(performanceCreatePartnerVo, performances);
KylinPerformanceStatus performanceStatus = new KylinPerformanceStatus();
BeanUtils.copyProperties(performanceCreatePartnerVo, performanceStatus);
KylinPerformanceRelations performanceRelations = new KylinPerformanceRelations();
BeanUtils.copyProperties(performanceCreatePartnerVo, performanceRelations);
performances.setCreatedAt(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(performanceCreatePartnerVo.getCreatedAt())));
performances.setTimeStart(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(performanceCreatePartnerVo.getTimeStart())));
performances.setTimeEnd(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(performanceCreatePartnerVo.getTimeEnd())));
performances.setUpdatedAt(updatedAt);
performanceStatus.setPerformanceId(performances.getPerformancesId());
performanceStatus.setPerformanceStatusId(IDGenerator.nextSnowId().toString());
performanceStatus.setCreatedAt(performances.getCreatedAt());
performanceStatus.setUpdatedAt(updatedAt);
performanceRelations.setPerformanceId(performances.getPerformancesId());
performanceRelations.setPerformanceRelationsId(IDGenerator.nextSnowId().toString());
performanceRelations.setCreatedAt(performances.getCreatedAt());
performanceRelations.setUpdatedAt(updatedAt);
performancesMapper.insert(performances);
performanceStatusMapper.insert(performanceStatus);
performanceRelationsMapper.insert(performanceRelations);
//场次数据
List<TicketTimesCreatePartnerVo> ticketTimesCreatePartnerVos = ticketTimesPartnerService.getTimesMongoList(performancesId);
for (TicketTimesCreatePartnerVo ticketTimeItem : ticketTimesCreatePartnerVos) {
//创建场次
KylinTicketTimes ticketTimes = new KylinTicketTimes();
BeanUtils.copyProperties(ticketTimeItem, ticketTimes);
KylinTicketTimeRelation ticketTimeRelation = new KylinTicketTimeRelation();
BeanUtils.copyProperties(ticketTimeItem, ticketTimeRelation);
ticketTimes.setUseStart(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketTimeItem.getUseStart())));
ticketTimes.setUseEnd(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketTimeItem.getUseEnd())));
ticketTimes.setCreatedAt(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketTimeItem.getCreatedAt())));
ticketTimes.setUpdatedAt(updatedAt);
ticketTimeRelation.setPerformanceId(performancesId);
ticketTimeRelation.setTicketTimeRelationId(IDGenerator.nextSnowId().toString());
ticketTimeRelation.setTimesId(ticketTimes.getTicketTimesId());
ticketTimeRelation.setCreatedAt(ticketTimes.getCreatedAt());
ticketTimeRelation.setUpdatedAt(updatedAt);
ticketTimesMapper.insert(ticketTimes);
ticketTimeRelationMapper.insert(ticketTimeRelation);
//修改票
for (TicketCreatePartnerVo ticketItem : ticketsPartnerService.getTicketMongoList(ticketTimeItem.getTicketTimesId())) {
BasicDBObject objectTicketVo = new BasicDBObject("$set", mongoConverter.convertToMongoType(map));
Document docTicket = mongoTemplate.getCollection(TicketCreatePartnerVo.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("ticketsId").is(ticketItem.getTicketsId())).getQueryObject(),
objectTicketVo,
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
);
TicketCreatePartnerVo ticketCreatePartnerVo = JsonUtils.fromJson(docTicket.toJson(), TicketCreatePartnerVo.class);
//创建演出
KylinTickets tickets = new KylinTickets();
BeanUtils.copyProperties(ticketCreatePartnerVo, tickets);
KylinTicketStatus ticketStatus = new KylinTicketStatus();
BeanUtils.copyProperties(ticketCreatePartnerVo, ticketStatus);
KylinTicketRelations ticketRelations = new KylinTicketRelations();
BeanUtils.copyProperties(ticketCreatePartnerVo, ticketRelations);
tickets.setPriceExpress(new BigDecimal(0.00));
tickets.setPriceDiscountMember(new BigDecimal(0.00));
tickets.setPriceDiscount(new BigDecimal(0.00));
tickets.setTimeStart(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketItem.getTimeStart())));
tickets.setTimeEnd(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketItem.getTimeEnd())));
tickets.setTimeEndExpress(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketItem.getTimeEndExpress())));
tickets.setUseStart(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketTimeItem.getUseStart())));
tickets.setUseEnd(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketTimeItem.getUseEnd())));
tickets.setSaleRemindMinute(60);
tickets.setCreatedAt(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketItem.getCreatedAt())));
tickets.setUpdatedAt(updatedAt);
ticketStatus.setTicketStatusId(IDGenerator.nextSnowId().toString());
ticketStatus.setTicketId(tickets.getTicketsId());
ticketStatus.setCounts(1);
ticketStatus.setIsMember(1);
ticketStatus.setStatusExchange(7);
ticketStatus.setQrCodeShowTime(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketItem.getQrCodeShowTime())));
ticketRelations.setCreatedAt(tickets.getCreatedAt());
ticketRelations.setUpdatedAt(updatedAt);
ticketRelations.setTicketRelationsId(IDGenerator.nextSnowId().toString());
ticketRelations.setTicketId(tickets.getTicketsId());
ticketRelations.setCreatedAt(tickets.getCreatedAt());
ticketRelations.setUpdatedAt(updatedAt);
ticketsMapper.insert(tickets);
ticketStatusMapper.insert(ticketStatus);
ticketRelationsMapper.insert(ticketRelations);
}
}
} else if (status == 4) {
HashMap<String, Object> map = new HashMap<>();
map.put("rejectTxt", rejectTxt);
map.put("status", status);
map.put("updatedAt", updatedAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(map));
mongoTemplate.getCollection(PerformanceCreatePartnerVo.class.getSimpleName()).updateMany(
Query.query(Criteria.where("performancesId").is(performancesId)).getQueryObject(),
object
);
} else {
return false;
}
return true;
} catch (Exception e) {
System.out.println("ERROR DATA = " + e.getMessage());
e.printStackTrace();
return false;
}
}
}
package com.liquidnet.service.kylin.service.impl.partner; package com.liquidnet.service.kylin.service.impl.partner;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.IDGenerator; import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dto.TicketInventoryDto;
import com.liquidnet.service.kylin.dto.param.PerformanceCreateParam; import com.liquidnet.service.kylin.dto.param.PerformanceCreateParam;
import com.liquidnet.service.kylin.dto.param.PerformanceStep1Param; import com.liquidnet.service.kylin.dto.param.PerformanceStep1Param;
import com.liquidnet.service.kylin.dto.param.PerformanceStep2Param; import com.liquidnet.service.kylin.dto.param.PerformanceStep2Param;
import com.liquidnet.service.kylin.dto.vo.PerformanceVo;
import com.liquidnet.service.kylin.dto.vo.TicketTimesVo; import com.liquidnet.service.kylin.dto.vo.TicketTimesVo;
import com.liquidnet.service.kylin.entity.KylinPerformances; import com.liquidnet.service.kylin.dto.vo.TicketVo;
import com.liquidnet.service.kylin.mapper.KylinPerformancesMapper; import com.liquidnet.service.kylin.dto.vo.ignore.PerformanceIgnoreVo;
import com.liquidnet.service.kylin.dto.vo.ignore.TicketIgnoreVo;
import com.liquidnet.service.kylin.dto.vo.ignore.TicketTimesIgnoreVo;
import com.liquidnet.service.kylin.dto.vo.partner.PerformanceCreatePartnerVo;
import com.liquidnet.service.kylin.dto.vo.partner.TicketCreatePartnerVo;
import com.liquidnet.service.kylin.dto.vo.partner.TicketTimesCreatePartnerVo;
import com.liquidnet.service.kylin.dto.vo.partner.TicketTimesTicketCreatePartnerVo;
import com.liquidnet.service.kylin.entity.*;
import com.liquidnet.service.kylin.mapper.*;
import com.liquidnet.service.kylin.service.partner.IKylinPerformancesPartnerService; import com.liquidnet.service.kylin.service.partner.IKylinPerformancesPartnerService;
import com.liquidnet.service.kylin.service.impl.PerformanceVoTask;
import com.mongodb.BasicDBObject;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.convert.MongoConverter;
import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* <p> * <p>
...@@ -34,6 +54,39 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor ...@@ -34,6 +54,39 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
@Autowired @Autowired
private MongoTemplate mongoTemplate; private MongoTemplate mongoTemplate;
@Autowired
private MongoConverter mongoConverter;
@Autowired
private RedisUtil redisUtil;
@Autowired
private PerformanceVoTask performanceVoTask;
@Autowired
private KylinPerformancesMapper performancesMapper;
@Autowired
private KylinPerformanceStatusMapper performanceStatusMapper;
@Autowired
private KylinPerformanceRelationsMapper performanceRelationsMapper;
@Autowired
private KylinTicketTimesMapper ticketTimesMapper;
@Autowired
private KylinTicketTimeRelationMapper ticketTimeRelationMapper;
@Autowired
private KylinTicketsMapper ticketsMapper;
@Autowired
private KylinTicketStatusMapper ticketStatusMapper;
@Autowired
private KylinTicketRelationsMapper ticketRelationsMapper;
@Autowired @Autowired
private KylinTicketsPartnerServiceImpl ticketsPartnerService; private KylinTicketsPartnerServiceImpl ticketsPartnerService;
...@@ -67,39 +120,293 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor ...@@ -67,39 +120,293 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
// 获取 当前时间 -> 创建时间 // 获取 当前时间 -> 创建时间
LocalDateTime createdAt = LocalDateTime.now(); LocalDateTime createdAt = LocalDateTime.now();
// 获取第一步数据
if (step2Param.getIsSubmit() == 1) { // 提交
PerformanceStep1Param info = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performanceId)), PerformanceStep1Param info = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performanceId)),
PerformanceStep1Param.class, PerformanceStep1Param.class,
PerformanceStep1Param.class.getSimpleName()); PerformanceStep1Param.class.getSimpleName());
PerformanceCreateParam isExists = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performanceId)), boolean isExists = mongoTemplate.exists(Query.query(Criteria.where("performancesId").is(performanceId).and("status").is(0)),
PerformanceCreateParam.class, PerformanceCreateParam.class,
PerformanceCreateParam.class.getSimpleName()); PerformanceCreateParam.class.getSimpleName());
if(isExists!=null){
boolean isExistsSubmit = mongoTemplate.exists(Query.query(Criteria.where("performancesId").is(performanceId).and("status").is(1)),
PerformanceCreateParam.class,
PerformanceCreateParam.class.getSimpleName());
if (isExistsSubmit) {
return false; return false;
} }
// 提交 演出 //演出修改数据
HashMap<String, Object> map = new HashMap<>();
map.put("isTrueName", step2Param.getIsTrueName());
map.put("limitCount", step2Param.getLimitCount());
map.put("createdAt", createdAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
map.put("isSubmit", step2Param.getIsSubmit());
map.put("merchantId", step2Param.getMerchantId());
map.put("statuSell", 1);
//演出新增数据
PerformanceCreateParam performanceCreateParam = new PerformanceCreateParam(); PerformanceCreateParam performanceCreateParam = new PerformanceCreateParam();
BeanUtils.copyProperties(info, performanceCreateParam); BeanUtils.copyProperties(info, performanceCreateParam);
performanceCreateParam.setIsTrueName(step2Param.getIsTrueName()); performanceCreateParam.setIsTrueName(step2Param.getIsTrueName());
performanceCreateParam.setLimitCount(step2Param.getLimitCount()); performanceCreateParam.setLimitCount(step2Param.getLimitCount());
performanceCreateParam.setCreatedAt(createdAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); performanceCreateParam.setCreatedAt(createdAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
performanceCreateParam.setIsSubmit(step2Param.getIsSubmit());
performanceCreateParam.setMerchantId(step2Param.getMerchantId());
// 获取第一步数据
if (step2Param.getIsSubmit() == 1) { // 提交
if (isExists) {
map.put("status", 1);
BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(map));
mongoTemplate.getCollection(PerformanceCreateParam.class.getSimpleName()).updateOne(
Query.query(Criteria.where("performancesId").is(performanceId)).getQueryObject(),
object
);
} else {
// 提交 演出
performanceCreateParam.setStatus(1); performanceCreateParam.setStatus(1);
PerformanceCreateParam data = mongoTemplate.insert( PerformanceCreateParam data = mongoTemplate.insert(
performanceCreateParam, PerformanceCreateParam.class.getSimpleName() performanceCreateParam, PerformanceCreateParam.class.getSimpleName()
); );
}
//提交 票 //提交 票
List<TicketTimesVo> ticketTimesVoList = ticketTimesPartnerService.getTimesMongo(performanceId); List<TicketTimesCreatePartnerVo> ticketTimesCreatePartnerVoList = ticketTimesPartnerService.getTimesMongoList(performanceId);
for (TicketTimesVo ticketTimes : ticketTimesVoList) { for (TicketTimesCreatePartnerVo ticketTimes : ticketTimesCreatePartnerVoList) {
ticketsPartnerService.submitTicketByTimes(ticketTimes.getTicketTimesId()); boolean boolResult = ticketsPartnerService.submitTicketByTimes(ticketTimes.getTicketTimesId());
if (boolResult) {
return false;
}
}
if (ticketTimesCreatePartnerVoList.size() <= 0) {
return false;
} }
} else { //保存 } else { //保存
if (isExists) {
map.put("status", 0);
BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(map));
mongoTemplate.getCollection(PerformanceCreateParam.class.getSimpleName()).updateMany(
Query.query(Criteria.where("performancesId").is(performanceId)).getQueryObject(),
object
);
} else {
// 保存 演出
performanceCreateParam.setStatus(0);
PerformanceCreateParam data = mongoTemplate.insert(
performanceCreateParam, PerformanceCreateParam.class.getSimpleName()
);
}
}
return true;
}
@Override
public PerformanceStep1Param getStep1(String performancesId) {
PerformanceStep1Param data = mongoTemplate.findOne(
Query.query(Criteria.where("performancesId").is(performancesId)), PerformanceStep1Param.class, PerformanceStep1Param.class.getSimpleName()
);
if (data == null) {
return new PerformanceStep1Param();
}
return data;
}
@Override
public PerformanceStep2Param getStep2(String performancesId) {
PerformanceCreateParam data = mongoTemplate.findOne(
Query.query(Criteria.where("performancesId").is(performancesId)), PerformanceCreateParam.class, PerformanceCreateParam.class.getSimpleName()
);
if (data == null) {
return new PerformanceStep2Param();
}
List<TicketTimesCreatePartnerVo> ticketTimesCreatePartnerVos = ticketTimesPartnerService.getTimesMongoList(performancesId);
List<TicketTimesTicketCreatePartnerVo> ticketTimesTicketCreatePartnerVoList = new ArrayList<TicketTimesTicketCreatePartnerVo>();
for (TicketTimesCreatePartnerVo ticketTimes : ticketTimesCreatePartnerVos) {
TicketTimesTicketCreatePartnerVo ticketTimesTicketCreatePartnerVo = new TicketTimesTicketCreatePartnerVo();
BeanUtils.copyProperties(ticketTimes, ticketTimesTicketCreatePartnerVo);
List<TicketCreatePartnerVo> ticketCreatePartnerVos = ticketsPartnerService.getTicketMongoList(ticketTimes.getTicketTimesId());
ticketTimesTicketCreatePartnerVo.setTicket(ticketCreatePartnerVos);
ticketTimesTicketCreatePartnerVoList.add(ticketTimesTicketCreatePartnerVo);
}
PerformanceStep2Param performanceStep2Param = new PerformanceStep2Param();
BeanUtils.copyProperties(data, performanceStep2Param);
performanceStep2Param.setTicketTimes(ticketTimesTicketCreatePartnerVoList);
return performanceStep2Param;
}
@Override
public boolean onLinePerformance(String performancesId) {
try {
KylinPerformanceStatus performanceStatusData = performanceStatusMapper.selectOne(new UpdateWrapper<KylinPerformanceStatus>().eq("performance_id", performancesId));
if (!(performanceStatusData.getStatus() == 3 || performanceStatusData.getStatus() == 7)) {
return false; return false;
} }
// mysql
LocalDateTime updatedAt = LocalDateTime.now();
KylinPerformanceStatus performanceStatusUpdate = new KylinPerformanceStatus();
performanceStatusUpdate.setStatus(6);
performanceStatusUpdate.setUpdatedAt(updatedAt);
performanceStatusMapper.update(performanceStatusUpdate
, new UpdateWrapper<KylinPerformanceStatus>().eq("performance_id", performancesId));
//mongo操作 票
KylinPerformanceRelations performanceRelationsData = performanceRelationsMapper.selectOne(new UpdateWrapper<KylinPerformanceRelations>().eq("performance_id", performancesId));
KylinPerformances performancesData = performancesMapper.selectOne(new UpdateWrapper<KylinPerformances>().eq("performances_id", performancesId));
PerformanceVo performanceVoData = new PerformanceVo();
performanceVoData.setPerformance(performancesData);
performanceVoData.setPerformanceRelations(performanceRelationsData);
performanceVoData.setPerformanceStatus(performanceStatusData);
//场次
List<KylinTicketTimeRelation> ticketTimeRelation = ticketTimeRelationMapper.selectList(
new UpdateWrapper<KylinTicketTimeRelation>().eq("performance_id", performancesId)
);
LocalDateTime stopSellTime = null;
LocalDateTime sellTime = null;
int isLackRegister = 0;
int isMember = 0;
int isExclusive = 0;
BigDecimal price = new BigDecimal("0.00");
for (KylinTicketTimeRelation ticketTimeRelationItem : ticketTimeRelation) {
KylinTicketTimes ticketTimes = ticketTimesMapper.selectOne(new UpdateWrapper<KylinTicketTimes>().eq("ticket_times_id", ticketTimeRelationItem.getTimesId()).eq("status", 1));
TicketTimesVo ticketTimesVo = new TicketTimesVo();
ticketTimesVo.setTicketTimes(ticketTimes);
ticketTimesVo.setPerformanceId(ticketTimeRelationItem.getPerformanceId());
ticketTimesVo.setTimeId(ticketTimeRelationItem.getTimesId());
//票
List<KylinTicketRelations> ticketRelations = ticketRelationsMapper.selectList(new UpdateWrapper<KylinTicketRelations>().eq("times_id", ticketTimes.getTicketTimesId()));
for (KylinTicketRelations ticketRelationsItem : ticketRelations) {
KylinTicketStatus ticketStatus = ticketStatusMapper.selectOne(new UpdateWrapper<KylinTicketStatus>().eq("ticket_id", ticketRelationsItem.getTicketId()).between("status", 6, 10).ne("status", 7));
KylinTickets tickets = ticketsMapper.selectOne(
new UpdateWrapper<KylinTickets>().eq("tickets_id", ticketStatus.getTicketId()
)
);
KylinTicketStatus ticketStatusUpdate = new KylinTicketStatus();
ticketStatusUpdate.setStatus(9);
ticketStatusUpdate.setUpdatedAt(updatedAt);
ticketStatusMapper.update(ticketStatusUpdate
, new UpdateWrapper<KylinTicketStatus>().eq("ticket_id", ticketStatus.getTicketId()).eq("status", 7));
TicketVo ticketVo = new TicketVo();
ticketVo.setTimeId(ticketRelationsItem.getTimesId());
ticketVo.setTicket(tickets);
ticketVo.setTicketStatus(ticketStatus);
mongoTemplate.insert(
ticketVo, TicketVo.class.getSimpleName()
);
//票种 库存redis TODO 库存可能会丢
TicketInventoryDto ticketInventoryRedis = (TicketInventoryDto) redisUtil.hget(KylinRedisConst.PERFORMANCES_INVENTORY, ticketVo.getTicketsId());
TicketInventoryDto ticketInventoryDto = new TicketInventoryDto();
if (ticketInventoryRedis == null) {
ticketInventoryDto.setSurplusExchange(ticketStatus.getSurplusExchange());
ticketInventoryDto.setSurplusGeneral(ticketStatus.getTotalGeneral());
ticketInventoryDto.setTicketsId(ticketVo.getTicketsId());
} else {
ticketInventoryDto.setSurplusExchange(ticketStatus.getSurplusExchange() - ticketInventoryRedis.getSurplusExchange());
ticketInventoryDto.setSurplusGeneral(ticketStatus.getTotalGeneral() - ticketInventoryRedis.getSurplusGeneral());
ticketInventoryDto.setTicketsId(ticketVo.getTicketsId());
}
redisUtil.hset(KylinRedisConst.PERFORMANCES_INVENTORY, ticketVo.getTicketsId(), ticketInventoryDto);
if (ticketVo.getIsMember() == 1) {
isMember = 1;
}
if (ticketVo.getIsLackRegister() == 1) {
isLackRegister = 1;
}
if (ticketVo.getIsExclusive() == 1) {
isExclusive = 1;
}
if (price.subtract(ticketVo.getPrice()).compareTo(new BigDecimal("0.00")) < 0) {
price = ticketVo.getPrice();
}
if (stopSellTime == null || stopSellTime.isBefore(tickets.getTimeEnd())) {
stopSellTime = tickets.getTimeEnd();
}
if (sellTime == null || sellTime.isAfter(tickets.getTimeStart().plusMinutes(-tickets.getAdvanceMinuteMember()))) {
sellTime = tickets.getTimeStart().plusMinutes(-tickets.getAdvanceMinuteMember());
}
}
mongoTemplate.insert(
ticketTimesVo, TicketTimesVo.class.getSimpleName()
);
}
performanceVoData.setTimePriceVipAndLack(isLackRegister, isMember, isExclusive, price, stopSellTime, sellTime);
mongoTemplate.insert(
performanceVoData, PerformanceVo.class.getSimpleName()
);
//修改 提审vo
Map<String, Object> map = new HashMap<>();
map.put("status", 3);
BasicDBObject objectPerformance = new BasicDBObject("$set", mongoConverter.convertToMongoType(map));
mongoTemplate.getCollection(PerformanceCreatePartnerVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("performancesId").is(performancesId)).getQueryObject(),
objectPerformance
);
//判断状态
performanceVoTask.performanceVoStatus(performancesId);
return true; return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
@Override
public boolean outLinePerformance(String performancesId) {
try {
KylinPerformanceStatus performanceStatusData = performanceStatusMapper.selectOne(new UpdateWrapper<KylinPerformanceStatus>().eq("performance_id", performancesId));
if (performanceStatusData.getStatus() != 6) {
return false;
}
LocalDateTime updatedAt = LocalDateTime.now();
KylinPerformanceStatus performanceStatus = new KylinPerformanceStatus();
performanceStatus.setStatus(7);
performanceStatus.setUpdatedAt(updatedAt);
performanceStatusMapper.update(performanceStatus
, new UpdateWrapper<KylinPerformanceStatus>().eq("performance_id", performancesId));
//mongoVo 迁移 演出数据迁移
PerformanceVo performanceVo = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performancesId)), PerformanceVo.class, PerformanceVo.class.getSimpleName());
PerformanceIgnoreVo performanceIgnoreVo = new PerformanceIgnoreVo();
BeanUtils.copyProperties(performanceVo,performanceIgnoreVo);
performanceIgnoreVo.setAppStatus(7);
mongoTemplate.insert(performanceIgnoreVo,PerformanceIgnoreVo.class.getSimpleName());
mongoTemplate.remove(Query.query(Criteria.where("performancesId").is(performancesId)),PerformanceVo.class, PerformanceVo.class.getSimpleName());
List<TicketTimesVo> ticketTimesVoList = mongoTemplate.find(Query.query(Criteria.where("performanceId").is(performancesId)), TicketTimesVo.class, TicketTimesVo.class.getSimpleName());
for (TicketTimesVo ticketTimesVoItem : ticketTimesVoList) {
//场次数据迁移
TicketTimesIgnoreVo ticketTimesIgnoreVo = new TicketTimesIgnoreVo();
BeanUtils.copyProperties(ticketTimesVoItem,ticketTimesIgnoreVo);
mongoTemplate.insert(ticketTimesIgnoreVo,TicketTimesIgnoreVo.class.getSimpleName());
mongoTemplate.remove(Query.query(Criteria.where("ticketTimesId").is(ticketTimesVoItem.getTicketTimesId())), TicketTimesVo.class, TicketTimesVo.class.getSimpleName());
List<TicketVo> ticketVoList = mongoTemplate.find(Query.query(Criteria.where("timeId").is(ticketTimesVoItem.getTicketTimesId())), TicketVo.class, TicketVo.class.getSimpleName());
for (TicketVo ticketVoItem : ticketVoList) {
// 票 迁移
TicketIgnoreVo ticketIgnoreVo = new TicketIgnoreVo();
BeanUtils.copyProperties(ticketVoItem,ticketIgnoreVo);
mongoTemplate.insert(ticketIgnoreVo,TicketIgnoreVo.class.getSimpleName());
mongoTemplate.remove(Query.query(Criteria.where("ticketsId").is(ticketVoItem.getTicketsId())), TicketVo.class, TicketVo.class.getSimpleName());
}
}
return true;
} catch (Exception e) {
return false;
}
} }
} }
package com.liquidnet.service.kylin.service.impl.partner; package com.liquidnet.service.kylin.service.impl.partner;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.common.cache.redis.util.RedisUtil; import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.IDGenerator; import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.commons.lang.util.JsonUtils; import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.kylin.constant.KylinRedisConst; import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dto.param.CreateTicketTimesParam; import com.liquidnet.service.kylin.dto.param.CreateTicketTimesParam;
import com.liquidnet.service.kylin.dto.vo.TicketTimesVo; import com.liquidnet.service.kylin.dto.vo.partner.TicketTimesCreatePartnerVo;
import com.liquidnet.service.kylin.dto.vo.TicketVo;
import com.liquidnet.service.kylin.entity.KylinTicketTimeRelation;
import com.liquidnet.service.kylin.entity.KylinTicketTimes; import com.liquidnet.service.kylin.entity.KylinTicketTimes;
import com.liquidnet.service.kylin.mapper.KylinTicketTimeRelationMapper; import com.liquidnet.service.kylin.mapper.KylinTicketTimeRelationMapper;
import com.liquidnet.service.kylin.mapper.KylinTicketTimesMapper; import com.liquidnet.service.kylin.mapper.KylinTicketTimesMapper;
...@@ -59,7 +56,7 @@ public class KylinTicketTimesPartnerServiceImpl extends ServiceImpl<KylinTicketT ...@@ -59,7 +56,7 @@ public class KylinTicketTimesPartnerServiceImpl extends ServiceImpl<KylinTicketT
private MongoConverter mongoConverter; private MongoConverter mongoConverter;
@Override @Override
public TicketTimesVo createTimes(CreateTicketTimesParam createTicketTimesParam) { public TicketTimesCreatePartnerVo createTimes(CreateTicketTimesParam createTicketTimesParam) {
// 获取 主键id // 获取 主键id
String ticketTimesId = IDGenerator.nextSnowId().toString(); String ticketTimesId = IDGenerator.nextSnowId().toString();
...@@ -68,45 +65,45 @@ public class KylinTicketTimesPartnerServiceImpl extends ServiceImpl<KylinTicketT ...@@ -68,45 +65,45 @@ public class KylinTicketTimesPartnerServiceImpl extends ServiceImpl<KylinTicketT
// 标题 // 标题
String title = ""; String title = "";
if (createTicketTimesParam.getType() == 1) { if (createTicketTimesParam.getType() == 1) {
title = createTicketTimesParam.getTimeStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm")); title = createTicketTimesParam.getUseStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"));
} else { } else {
title = createTicketTimesParam.getTimeStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm")) + "-" + createTicketTimesParam.getTimeEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm")); title = createTicketTimesParam.getUseStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm")) + "-" + createTicketTimesParam.getUseEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"));
} }
// mysql 操作 // mysql 操作
KylinTicketTimes ticketTimes = new KylinTicketTimes(); // KylinTicketTimes ticketTimes = new KylinTicketTimes();
BeanUtils.copyProperties(createTicketTimesParam, ticketTimes); // BeanUtils.copyProperties(createTicketTimesParam, ticketTimes);
ticketTimes.setTicketTimesId(ticketTimesId); // ticketTimes.setTicketTimesId(ticketTimesId);
ticketTimes.setCreatedAt(createdAt); // ticketTimes.setCreatedAt(createdAt);
ticketTimes.setStatus(1); // ticketTimes.setStatus(1);
ticketTimes.setTitle(title); // ticketTimes.setTitle(title);
ticketTimesMapper.insert(ticketTimes); // ticketTimesMapper.insert(ticketTimes);
//
KylinTicketTimeRelation ticketTimeRelation = new KylinTicketTimeRelation(); // KylinTicketTimeRelation ticketTimeRelation = new KylinTicketTimeRelation();
ticketTimeRelation.setTicketTimeRelationId(IDGenerator.nextSnowId().toString()); // ticketTimeRelation.setTicketTimeRelationId(IDGenerator.nextSnowId().toString());
ticketTimeRelation.setTimesId(ticketTimesId); // ticketTimeRelation.setTimesId(ticketTimesId);
ticketTimeRelation.setPerformanceId(createTicketTimesParam.getPerformancesId()); // ticketTimeRelation.setPerformanceId(createTicketTimesParam.getPerformancesId());
ticketTimeRelation.setCreatedAt(createdAt); // ticketTimeRelation.setCreatedAt(createdAt);
ticketTimeRelationMapper.insert(ticketTimeRelation); // ticketTimeRelationMapper.insert(ticketTimeRelation);
// mongo 操作 // mongo 操作
TicketTimesVo ticketTimesVo = new TicketTimesVo(); TicketTimesCreatePartnerVo ticketTimesCreatePartnerVo = new TicketTimesCreatePartnerVo();
ticketTimesVo.setTicketTimesId(ticketTimesId); ticketTimesCreatePartnerVo.setTicketTimesId(ticketTimesId);
ticketTimesVo.setTimeStart(createTicketTimesParam.getTimeStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); ticketTimesCreatePartnerVo.setUseStart(createTicketTimesParam.getUseStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
ticketTimesVo.setTimeEnd(createTicketTimesParam.getTimeStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); ticketTimesCreatePartnerVo.setUseEnd(createTicketTimesParam.getUseEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
ticketTimesVo.setStatus(1); ticketTimesCreatePartnerVo.setStatus(1);
ticketTimesVo.setTitle(title); ticketTimesCreatePartnerVo.setTitle(title);
ticketTimesVo.setPerformancesId(createTicketTimesParam.getPerformancesId()); ticketTimesCreatePartnerVo.setPerformancesId(createTicketTimesParam.getPerformancesId());
ticketTimesVo.setType(createTicketTimesParam.getType()); ticketTimesCreatePartnerVo.setType(createTicketTimesParam.getType());
ticketTimesVo.setCreatedAt(createdAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); ticketTimesCreatePartnerVo.setCreatedAt(createdAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
TicketTimesVo data = mongoTemplate.insert( TicketTimesCreatePartnerVo data = mongoTemplate.insert(
ticketTimesVo, TicketTimesVo.class.getSimpleName() ticketTimesCreatePartnerVo, TicketTimesCreatePartnerVo.class.getSimpleName()
); );
// redis 操作 // redis 操作
redisUtil.hset(KylinRedisConst.TIMES, ticketTimesId, ticketTimesVo); redisUtil.hset(KylinRedisConst.TIMES, ticketTimesId, ticketTimesCreatePartnerVo);
return ticketTimesVo; return ticketTimesCreatePartnerVo;
} }
@Override @Override
...@@ -114,11 +111,11 @@ public class KylinTicketTimesPartnerServiceImpl extends ServiceImpl<KylinTicketT ...@@ -114,11 +111,11 @@ public class KylinTicketTimesPartnerServiceImpl extends ServiceImpl<KylinTicketT
try { try {
LocalDateTime updatedAt = LocalDateTime.now(); LocalDateTime updatedAt = LocalDateTime.now();
KylinTicketTimes ticketTimes = new KylinTicketTimes(); // KylinTicketTimes ticketTimes = new KylinTicketTimes();
ticketTimes.setUpdatedAt(updatedAt); // ticketTimes.setUpdatedAt(updatedAt);
ticketTimes.setStatus(0); // ticketTimes.setStatus(0);
ticketTimesMapper.update(ticketTimes // ticketTimesMapper.update(ticketTimes
, new UpdateWrapper<KylinTicketTimes>().eq("ticket_times_id", ticketTimesId)); // , new UpdateWrapper<KylinTicketTimes>().eq("ticket_times_id", ticketTimesId));
// mongo 操作 // mongo 操作
HashMap<String, Object> map = new HashMap<>(); HashMap<String, Object> map = new HashMap<>();
...@@ -126,14 +123,14 @@ public class KylinTicketTimesPartnerServiceImpl extends ServiceImpl<KylinTicketT ...@@ -126,14 +123,14 @@ public class KylinTicketTimesPartnerServiceImpl extends ServiceImpl<KylinTicketT
map.put("status", 0); map.put("status", 0);
BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(map)); BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(map));
Document doc = mongoTemplate.getCollection(TicketTimesVo.class.getSimpleName()).findOneAndUpdate( Document doc = mongoTemplate.getCollection(TicketTimesCreatePartnerVo.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("ticketTimesId").is(ticketTimesId)).getQueryObject(), Query.query(Criteria.where("ticketTimesId").is(ticketTimesId)).getQueryObject(),
object, object,
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER) new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
); );
// redis 操作 // redis 操作
redisUtil.hset(KylinRedisConst.TIMES, ticketTimesId, JsonUtils.fromJson(doc.toJson(), TicketTimesVo.class)); redisUtil.hset(KylinRedisConst.TIMES, ticketTimesId, JsonUtils.fromJson(doc.toJson(), TicketTimesCreatePartnerVo.class));
return true; return true;
} catch (Exception e) { } catch (Exception e) {
...@@ -142,44 +139,44 @@ public class KylinTicketTimesPartnerServiceImpl extends ServiceImpl<KylinTicketT ...@@ -142,44 +139,44 @@ public class KylinTicketTimesPartnerServiceImpl extends ServiceImpl<KylinTicketT
} }
@Override @Override
public TicketTimesVo changeTimes(CreateTicketTimesParam createTicketTimesParam) { public TicketTimesCreatePartnerVo changeTimes(CreateTicketTimesParam createTicketTimesParam) {
try { try {
LocalDateTime updatedAt = LocalDateTime.now(); LocalDateTime updatedAt = LocalDateTime.now();
String title = ""; String title = "";
if (createTicketTimesParam.getType() == 1) { if (createTicketTimesParam.getType() == 1) {
title = createTicketTimesParam.getTimeStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm")); title = createTicketTimesParam.getUseStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"));
} else { } else {
title = createTicketTimesParam.getTimeStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm")) + "-" + createTicketTimesParam.getTimeEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm")); title = createTicketTimesParam.getUseStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm")) + "-" + createTicketTimesParam.getUseEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"));
} }
createTicketTimesParam.setTitle(title); createTicketTimesParam.setTitle(title);
// mysql 操作 // mysql 操作
KylinTicketTimes ticketTimes = new KylinTicketTimes(); // KylinTicketTimes ticketTimes = new KylinTicketTimes();
BeanUtils.copyProperties(createTicketTimesParam, ticketTimes); // BeanUtils.copyProperties(createTicketTimesParam, ticketTimes);
ticketTimes.setUpdatedAt(updatedAt); // ticketTimes.setUpdatedAt(updatedAt);
ticketTimes.setStatus(1); // ticketTimes.setStatus(1);
ticketTimesMapper.update(ticketTimes, new UpdateWrapper<KylinTicketTimes>().eq("ticket_times_id", createTicketTimesParam.getTicketTimesId())); // ticketTimesMapper.update(ticketTimes, new UpdateWrapper<KylinTicketTimes>().eq("ticket_times_id", createTicketTimesParam.getTicketTimesId()));
// mongo 操作 // mongo 操作
TicketTimesVo ticketTimesVo = new TicketTimesVo(); TicketTimesCreatePartnerVo ticketTimesCreatePartnerVo = new TicketTimesCreatePartnerVo();
BeanUtils.copyProperties(createTicketTimesParam, ticketTimesVo); BeanUtils.copyProperties(createTicketTimesParam, ticketTimesCreatePartnerVo);
ticketTimesVo.setTicketTimesId(createTicketTimesParam.getTicketTimesId()); ticketTimesCreatePartnerVo.setTicketTimesId(createTicketTimesParam.getTicketTimesId());
ticketTimesVo.setUpdatedAt(updatedAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); ticketTimesCreatePartnerVo.setUpdatedAt(updatedAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
ticketTimesVo.setTimeStart(createTicketTimesParam.getTimeStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); ticketTimesCreatePartnerVo.setUseStart(createTicketTimesParam.getUseStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
ticketTimesVo.setTimeEnd(createTicketTimesParam.getTimeStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); ticketTimesCreatePartnerVo.setUseEnd(createTicketTimesParam.getUseEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
ticketTimesVo.setStatus(1); ticketTimesCreatePartnerVo.setStatus(1);
BasicDBObject object = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(ticketTimesVo))); BasicDBObject object = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(ticketTimesCreatePartnerVo)));
Document doc = mongoTemplate.getCollection(TicketTimesVo.class.getSimpleName()).findOneAndUpdate( Document doc = mongoTemplate.getCollection(TicketTimesCreatePartnerVo.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("ticketTimesId").is(createTicketTimesParam.getTicketTimesId())).getQueryObject(), Query.query(Criteria.where("ticketTimesId").is(createTicketTimesParam.getTicketTimesId())).getQueryObject(),
object, object,
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER) new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
); );
// redis 操作 // redis 操作
redisUtil.hset(KylinRedisConst.TIMES, createTicketTimesParam.getTicketTimesId(), JsonUtils.fromJson(doc.toJson(), TicketTimesVo.class)); redisUtil.hset(KylinRedisConst.TIMES, createTicketTimesParam.getTicketTimesId(), JsonUtils.fromJson(doc.toJson(), TicketTimesCreatePartnerVo.class));
return JsonUtils.fromJson(doc.toJson(), TicketTimesVo.class); return JsonUtils.fromJson(doc.toJson(), TicketTimesCreatePartnerVo.class);
}catch (Exception e){ }catch (Exception e){
return null; return null;
...@@ -187,7 +184,12 @@ public class KylinTicketTimesPartnerServiceImpl extends ServiceImpl<KylinTicketT ...@@ -187,7 +184,12 @@ public class KylinTicketTimesPartnerServiceImpl extends ServiceImpl<KylinTicketT
} }
@Override @Override
public List<TicketTimesVo> getTimesMongo(String performancesId) { public List<TicketTimesCreatePartnerVo> getTimesMongoList(String performancesId) {
return mongoTemplate.find(Query.query(Criteria.where("performancesId").is(performancesId)), TicketTimesVo.class, TicketTimesVo.class.getSimpleName()); return mongoTemplate.find(Query.query(Criteria.where("performancesId").is(performancesId)), TicketTimesCreatePartnerVo.class, TicketTimesCreatePartnerVo.class.getSimpleName());
}
@Override
public TicketTimesCreatePartnerVo getTimesMongo(String timesId) {
return mongoTemplate.findOne(Query.query(Criteria.where("ticketTimesId").is(timesId)), TicketTimesCreatePartnerVo.class, TicketTimesCreatePartnerVo.class.getSimpleName());
} }
} }
package com.liquidnet.service.kylin.service.impl.partner; package com.liquidnet.service.kylin.service.impl.partner;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.common.cache.redis.util.RedisUtil; import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.IDGenerator; import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.commons.lang.util.JsonUtils; import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.kylin.constant.KylinRedisConst; import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dto.param.TicketCreateParam; import com.liquidnet.service.kylin.dto.param.TicketCreateParam;
import com.liquidnet.service.kylin.dto.vo.TicketVo; import com.liquidnet.service.kylin.dto.vo.partner.TicketTimesCreatePartnerVo;
import com.liquidnet.service.kylin.dto.vo.partner.TicketCreatePartnerVo;
import com.liquidnet.service.kylin.entity.*; import com.liquidnet.service.kylin.entity.*;
import com.liquidnet.service.kylin.mapper.KylinTicketRelationsMapper; import com.liquidnet.service.kylin.mapper.KylinTicketRelationsMapper;
import com.liquidnet.service.kylin.mapper.KylinTicketStatusMapper; import com.liquidnet.service.kylin.mapper.KylinTicketStatusMapper;
...@@ -17,6 +16,7 @@ import com.liquidnet.service.kylin.service.partner.IKylinTicketsPartnerService; ...@@ -17,6 +16,7 @@ import com.liquidnet.service.kylin.service.partner.IKylinTicketsPartnerService;
import com.mongodb.BasicDBObject; import com.mongodb.BasicDBObject;
import com.mongodb.client.model.FindOneAndUpdateOptions; import com.mongodb.client.model.FindOneAndUpdateOptions;
import com.mongodb.client.model.ReturnDocument; import com.mongodb.client.model.ReturnDocument;
import com.mongodb.client.result.UpdateResult;
import org.bson.Document; import org.bson.Document;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -61,7 +61,7 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp ...@@ -61,7 +61,7 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp
private KylinTicketRelationsMapper ticketRelationsMapper; private KylinTicketRelationsMapper ticketRelationsMapper;
@Override @Override
public TicketVo createTicket(TicketCreateParam ticketCreateParam) { public TicketCreatePartnerVo createTicket(TicketCreateParam ticketCreateParam) {
// 获取 主键id // 获取 主键id
String ticketsId = IDGenerator.nextSnowId().toString(); String ticketsId = IDGenerator.nextSnowId().toString();
// 获取 当前时间 -> 创建时间 // 获取 当前时间 -> 创建时间
...@@ -75,25 +75,33 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp ...@@ -75,25 +75,33 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp
// ticketRelationsMapper.insert(ticketCreateParam.kylinTicketRelations(ticketsId, createdAt, null)); // ticketRelationsMapper.insert(ticketCreateParam.kylinTicketRelations(ticketsId, createdAt, null));
// mongo 操作 // mongo 操作
TicketVo ticketVo = new TicketVo(); TicketCreatePartnerVo ticketCreatePartnerVo = new TicketCreatePartnerVo();
BeanUtils.copyProperties(ticketCreateParam, ticketVo); BeanUtils.copyProperties(ticketCreateParam, ticketCreatePartnerVo);
ticketVo.setTicketsId(ticketsId); ticketCreatePartnerVo.setTicketsId(ticketsId);
ticketVo.setCreatedAt(createdAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); ticketCreatePartnerVo.setCreatedAt(createdAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
ticketVo.setTimeEndExpress(ticketCreateParam.getTimeEndExpress().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); ticketCreatePartnerVo.setTimeEndExpress(ticketCreateParam.getTimeEndExpress().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
ticketVo.setTimeStart(ticketCreateParam.getTimeStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); ticketCreatePartnerVo.setTimeStart(ticketCreateParam.getTimeStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
ticketVo.setTimeEnd(ticketCreateParam.getTimeEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); ticketCreatePartnerVo.setTimeEnd(ticketCreateParam.getTimeEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
ticketVo.setQrCodeShowTime(ticketCreateParam.getQrCodeShowTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
TicketVo data = mongoTemplate.insert( TicketTimesCreatePartnerVo ticketTimesCreatePartnerVo = mongoTemplate.findOne(Query.query(Criteria.where("ticketTimesId").is(ticketCreateParam.getTimesId())), TicketTimesCreatePartnerVo.class, TicketTimesCreatePartnerVo.class.getSimpleName());
ticketVo, TicketVo.class.getSimpleName() ticketCreatePartnerVo.setUseStart(ticketTimesCreatePartnerVo.getUseStart());
ticketCreatePartnerVo.setUseEnd(ticketTimesCreatePartnerVo.getUseEnd());
ticketCreatePartnerVo.setType(ticketTimesCreatePartnerVo.getType());
ticketCreatePartnerVo.setDefault();
ticketCreatePartnerVo.setQrCodeShowTime(ticketCreateParam.getQrCodeShowTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
TicketCreatePartnerVo data = mongoTemplate.insert(
ticketCreatePartnerVo, TicketCreatePartnerVo.class.getSimpleName()
); );
// redis 操作 // redis 操作
redisUtil.hset(KylinRedisConst.TICKET, ticketsId, ticketVo); redisUtil.hset(KylinRedisConst.TICKET, ticketsId, ticketCreatePartnerVo);
return ticketVo; return ticketCreatePartnerVo;
} }
@Override @Override
public TicketVo updateTicket(TicketCreateParam ticketCreateParam) { public TicketCreatePartnerVo updateTicket(TicketCreateParam ticketCreateParam) {
try { try {
String ticketId = ticketCreateParam.getTicketsId(); String ticketId = ticketCreateParam.getTicketsId();
LocalDateTime updatedAt = LocalDateTime.now(); LocalDateTime updatedAt = LocalDateTime.now();
...@@ -104,25 +112,27 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp ...@@ -104,25 +112,27 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp
// , new UpdateWrapper<KylinTickets>().eq("tickets_id", ticketId)); // , new UpdateWrapper<KylinTickets>().eq("tickets_id", ticketId));
// mongo 操作 // mongo 操作
TicketVo ticketVo = new TicketVo(); TicketCreatePartnerVo ticketCreatePartnerVo = new TicketCreatePartnerVo();
BeanUtils.copyProperties(ticketCreateParam, ticketVo); BeanUtils.copyProperties(ticketCreateParam, ticketCreatePartnerVo);
ticketVo.setUpdatedAt(updatedAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); ticketCreatePartnerVo.setUpdatedAt(updatedAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
ticketVo.setTimeEndExpress(ticketCreateParam.getTimeEndExpress().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); ticketCreatePartnerVo.setTimeEndExpress(ticketCreateParam.getTimeEndExpress().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
ticketVo.setTimeStart(ticketCreateParam.getTimeStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); ticketCreatePartnerVo.setTimeStart(ticketCreateParam.getTimeStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
ticketVo.setTimeEnd(ticketCreateParam.getTimeEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); ticketCreatePartnerVo.setTimeEnd(ticketCreateParam.getTimeEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
ticketVo.setQrCodeShowTime(ticketCreateParam.getQrCodeShowTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); ticketCreatePartnerVo.setQrCodeShowTime(ticketCreateParam.getQrCodeShowTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
ticketCreatePartnerVo.setTimesId(null);
BasicDBObject object = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(ticketVo))); ticketCreatePartnerVo.setDefault();
Document doc = mongoTemplate.getCollection(TicketVo.class.getSimpleName()).findOneAndUpdate(
BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(ticketCreatePartnerVo));
Document doc = mongoTemplate.getCollection(TicketCreatePartnerVo.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("ticketsId").is(ticketId)).getQueryObject(), Query.query(Criteria.where("ticketsId").is(ticketId)).getQueryObject(),
object, object,
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER) new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
); );
// redis 操作 // redis 操作
TicketVo ticketVoData = JsonUtils.fromJson(doc.toJson(), TicketVo.class); TicketCreatePartnerVo ticketCreatePartnerVoData = JsonUtils.fromJson(doc.toJson(), TicketCreatePartnerVo.class);
redisUtil.hset(KylinRedisConst.TICKET, ticketId, ticketVoData); redisUtil.hset(KylinRedisConst.TICKET, ticketId, ticketCreatePartnerVoData);
return ticketVoData; return ticketCreatePartnerVoData;
} catch (Exception e) { } catch (Exception e) {
return null; return null;
} }
...@@ -145,14 +155,14 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp ...@@ -145,14 +155,14 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp
map.put("status", -1); map.put("status", -1);
BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(map)); BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(map));
Document doc = mongoTemplate.getCollection(TicketVo.class.getSimpleName()).findOneAndUpdate( Document doc = mongoTemplate.getCollection(TicketCreatePartnerVo.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("ticketsId").is(ticketsId)).getQueryObject(), Query.query(Criteria.where("ticketsId").is(ticketsId)).getQueryObject(),
object, object,
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER) new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
); );
// redis 操作 // redis 操作
redisUtil.hset(KylinRedisConst.TICKET, ticketsId, JsonUtils.fromJson(doc.toJson(), TicketVo.class)); redisUtil.hset(KylinRedisConst.TICKET, ticketsId, JsonUtils.fromJson(doc.toJson(), TicketCreatePartnerVo.class));
return true; return true;
} catch (Exception e) { } catch (Exception e) {
...@@ -161,7 +171,7 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp ...@@ -161,7 +171,7 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp
} }
@Override @Override
public TicketVo copyTicket(String ticketsId) { public TicketCreatePartnerVo copyTicket(String ticketsId) {
// 获取 当前时间 -> 创建时间 // 获取 当前时间 -> 创建时间
LocalDateTime createdAt = LocalDateTime.now(); LocalDateTime createdAt = LocalDateTime.now();
...@@ -182,21 +192,16 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp ...@@ -182,21 +192,16 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp
// ticketStatusMapper.insert(ticketStatus); // ticketStatusMapper.insert(ticketStatus);
// ticketRelationsMapper.insert(ticketRelations); // ticketRelationsMapper.insert(ticketRelations);
TicketVo ticketVo = mongoTemplate.findOne(Query.query(Criteria.where("ticketsId").is(ticketsId)), TicketVo.class, TicketVo.class.getSimpleName()); TicketCreatePartnerVo ticketCreatePartnerVo = mongoTemplate.findOne(Query.query(Criteria.where("ticketsId").is(ticketsId)), TicketCreatePartnerVo.class, TicketCreatePartnerVo.class.getSimpleName());
ticketVo.setCreatedAt(createdAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); ticketCreatePartnerVo.setCreatedAt(createdAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
ticketVo.setTicketsId(IDGenerator.nextSnowId().toString()); ticketCreatePartnerVo.setTicketsId(IDGenerator.nextSnowId().toString());
TicketVo data = mongoTemplate.insert( TicketCreatePartnerVo data = mongoTemplate.insert(
ticketVo, TicketVo.class.getSimpleName() ticketCreatePartnerVo, TicketCreatePartnerVo.class.getSimpleName()
); );
redisUtil.hset(KylinRedisConst.TICKET, ticketsId, ticketVo); redisUtil.hset(KylinRedisConst.TICKET, ticketsId, ticketCreatePartnerVo);
return ticketVo; return ticketCreatePartnerVo;
}
@Override
public List<TicketVo> getTicketMongo(String timesId) {
return mongoTemplate.find(Query.query(Criteria.where("timesId").is(timesId)), TicketVo.class, TicketVo.class.getSimpleName());
} }
@Override @Override
...@@ -210,13 +215,23 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp ...@@ -210,13 +215,23 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp
HashMap<String, Object> map = new HashMap<>(); HashMap<String, Object> map = new HashMap<>();
map.put("status", 1); map.put("status", 1);
map.put("updatedAt",updatedAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); map.put("updatedAt", updatedAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(map)); BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(map));
mongoTemplate.getCollection(TicketVo.class.getSimpleName()).updateMany( UpdateResult updateResult = mongoTemplate.getCollection(TicketCreatePartnerVo.class.getSimpleName()).updateMany(
Query.query(Criteria.where("timesId").is(timesId)).getQueryObject(), Query.query(Criteria.where("timesId").is(timesId)).getQueryObject(),
object object
); );
return true; return updateResult.getModifiedCount()<=0;
}
@Override
public List<TicketCreatePartnerVo> getTicketMongoList(String timesId) {
return mongoTemplate.find(Query.query(Criteria.where("timesId").is(timesId)), TicketCreatePartnerVo.class, TicketCreatePartnerVo.class.getSimpleName());
}
@Override
public TicketCreatePartnerVo getTicketsMongo(String ticketsId) {
return mongoTemplate.findOne(Query.query(Criteria.where("ticketsId").is(ticketsId)), TicketCreatePartnerVo.class, TicketCreatePartnerVo.class.getSimpleName());
} }
} }
...@@ -6,7 +6,7 @@ liquidnet: ...@@ -6,7 +6,7 @@ liquidnet:
username: user username: user
password: user123 password: user123
eureka: eureka:
host: 172.16.2.15:7001 host: 127.0.0.1:7001
# end-dev-这里是配置信息基本值 # end-dev-这里是配置信息基本值
spring: spring:
......
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