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

Commit e558b0d0 authored by jiangxiulong's avatar jiangxiulong

Merge remote-tracking branch 'origin/dev' into dev

parents 246a812c 673df6e8
......@@ -48,6 +48,10 @@ public class KylinOrderTicketEntitiesVo implements Serializable, Cloneable {
private LocalDateTime changeDate;
public BigDecimal getRefundPrice() {
return refundPrice==null?BigDecimal.valueOf(0.00):refundPrice;
}
private static final KylinOrderTicketEntitiesVo obj = new KylinOrderTicketEntitiesVo();
public static KylinOrderTicketEntitiesVo getNew() {
......
package com.liquidnet.service.kylin.dto.vo.mongo;
import com.liquidnet.service.kylin.dto.vo.returns.OrderRefundListVo;
import com.liquidnet.service.kylin.entity.KylinOrderTicketRelations;
import com.liquidnet.service.kylin.entity.KylinOrderTicketStatus;
import com.liquidnet.service.kylin.entity.KylinOrderTickets;
......@@ -100,7 +101,7 @@ public class KylinOrderTicketVo implements Serializable {
private String updatedAt;
// private Integer isCanRefund;
private Integer isHaveRefundDetails;
private List<OrderRefundListVo> orderRefundListVos;
private LocalDateTime changeDate;
......
package com.liquidnet.service.kylin.dto.vo.returns;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
public class KylinOrderTicketEntitiesPreRefundVo implements Serializable, Cloneable {
private static final long serialVersionUID = 1207664465164005975L;
private String orderTicketEntitiesId;
private Integer enterType;
private String enterName;
private String enterMobile;
private String enterIdCode;
private Integer status;
private String useStart;
private String useEnd;
private BigDecimal refundPrice;
private BigDecimal priceActual;
private BigDecimal priceCanRefund;
private String ticketTitle;
}
package com.liquidnet.service.kylin.dto.vo.returns;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketEntitiesVo;
import com.liquidnet.service.kylin.entity.KylinOrderTicketRelations;
import com.liquidnet.service.kylin.entity.KylinOrderTicketStatus;
import com.liquidnet.service.kylin.entity.KylinOrderTickets;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.beans.BeanUtils;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
@ApiModel(value = "KylinOrderTicketVo", description = "订单数据")
@Data
public class KylinOrderTicketPreVo implements Serializable {
private Integer mid;
private static final long serialVersionUID = 5325511589667456213L;
@ApiModelProperty(position = 10, value = "ID")
private String orderTicketsId;
@ApiModelProperty(position = 11, value = "用户ID[64]")
private String userId;
@ApiModelProperty(position = 12, value = "用户昵称")
private String userName;
@ApiModelProperty(position = 13, value = "用户手机号")
private String userMobile;
@ApiModelProperty(position = 14, value = "演出名称")
private String performanceTitle;
private String ticketTitle;
private String timeStart;
private String useStart;
private String performanceImg;
private Integer number;
private BigDecimal priceTotal;
private BigDecimal priceVoucher;
private BigDecimal priceActual;
private BigDecimal priceExpress;
private BigDecimal priceRefund;
private Integer refundNumber;
private String couponType;
private String getTicketType;
private Integer expressType;
private Integer status;
private String performanceId;
private String timeId;
private String ticketId;
private String fieldName;
private Integer isTrueName;
private List<KylinOrderTicketEntitiesPreRefundVo> entitiesPreRefundVos;
}
package com.liquidnet.service.kylin.dto.vo.returns;
import lombok.Data;
@Data
public class OrderRefundListVo {
private String orderRefundsId;
private String orderRefundCode;
private Integer status;
}
......@@ -6,10 +6,7 @@ import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.param.PayAgainParam;
import com.liquidnet.service.kylin.dto.param.PayOrderParam;
import com.liquidnet.service.kylin.dto.param.SyncOrderParam;
import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderListVo;
import com.liquidnet.service.kylin.dto.vo.returns.OrderDetailsVo;
import com.liquidnet.service.kylin.dto.vo.returns.OrderRefundVo;
import com.liquidnet.service.kylin.dto.vo.returns.PayResultVo;
import com.liquidnet.service.kylin.dto.vo.returns.*;
import com.liquidnet.service.kylin.entity.KylinOrderTickets;
import java.util.ArrayList;
......@@ -52,7 +49,7 @@ public interface IKylinOrderTicketsService extends IService<KylinOrderTickets> {
ResponseDto<Integer> orderUnPayCount();
//想要退款详情
OrderDetailsVo toOrderRefundDetails(String orderId);
KylinOrderTicketPreVo toOrderRefundDetails(String orderId);
//退款详情
OrderRefundVo orderRefundDetails(String orderId,String orderRefundId);
......
......@@ -46,6 +46,16 @@ public class MQConst {
public static final String ROUTING_KEY_SQL_ORDER_PAY = "order.pay";
public static final String QUEUES_SQL_ORDER_PAY = "queue.sql.order.pay";
//订单申请退款
public static final String EXCHANGES_LIQUIDNET_SQL_ORDER_REFUND = "liquidnet.sql.order.refund";
public static final String ROUTING_KEY_SQL_ORDER_REFUND = "order.refund";
public static final String QUEUES_SQL_ORDER_REFUND = "queue.sql.order.refund";
//订单申请撤回
public static final String EXCHANGES_LIQUIDNET_SQL_ORDER_WITHDRAW = "liquidnet.sql.order.withdraw";
public static final String ROUTING_KEY_SQL_ORDER_WITHDRAW = "order.withdraw";
public static final String QUEUES_SQL_ORDER_WITHDRAW = "queue.sql.order.withdraw";
/* -------------------------------------------------------- */
// 验票更新
......
......@@ -21,11 +21,13 @@ public class CorsConfig {
CorsConfiguration corsConfiguration = new CorsConfiguration();
// 可以自行筛选
corsConfiguration.addAllowedOrigin("**");
corsConfiguration.addAllowedOrigin("https://partner.zhengzai.tv");
corsConfiguration.addAllowedOrigin("http://testpartner.zhengzai.tv");
corsConfiguration.addAllowedOrigin("http://devpartner.zhengzai.tv");
corsConfiguration.addAllowedOrigin("http://testm.zhengzai.tv");
corsConfiguration.addAllowedOrigin("http://testh5.zhengzai.tv");
corsConfiguration.addAllowedOrigin("http://m.zhengzai.tv");
corsConfiguration.addAllowedOrigin("https://devpartner.zhengzai.tv");
corsConfiguration.addAllowedOrigin("http://testm.zhengzai.tv");
corsConfiguration.addAllowedOrigin("http://devm.zhengzai.tv");
corsConfiguration.setAllowCredentials(true);
corsConfiguration.addAllowedHeader("*");
......
......@@ -40,14 +40,14 @@ liquidnet:
url-pay:
pay: http://testpay.zhengzai.tv
check: http://testpay.zhengzai.tv/order/verify
callback: http://adam.zhengzai.tv/adam/member/order/callback
callback: http://testadam.zhengzai.tv/adam/member/order/callback
url-service:
url: http://testservice.zhengzai.tv
kylin:
url-pay:
pay: http://testpay.zhengzai.tv/
check: http://testpay.zhengzai.tv/order/verify
localUrl: http://kylin.zhengzai.tv/kylin/order/syncOrder
localUrl: http://testkylin.zhengzai.tv/kylin/order/syncOrder
url-service:
url: http://testservice.zhengzai.tv/
executor-main:
......@@ -57,7 +57,7 @@ liquidnet:
client:
admin:
phpPayUrl: http://testpay.zhengzai.tv
kylinApiUrl: https://kylin.zhengzai.tv
kylinApiUrl: https://testkylin.zhengzai.tv
phpServiceUrl: https://testservice.zhengzai.tv
phpoMediaApiUrl: https://testmediaapi.zhengzai.tv
phpMallUrl: https://testmall.zhengzai.tv
......
......@@ -137,6 +137,7 @@ global-auth:
- ${liquidnet.info.context}/v2/api-docs*
- ${liquidnet.info.context}/login/*
- ${liquidnet.info.context}/gen
- ${liquidnet.info.context}/ts
- ${liquidnet.info.context}/send
- ${liquidnet.info.context}/member/info
- ${liquidnet.info.context}/member/order/callback
......
......@@ -36,8 +36,8 @@
SELECT p.performances_id,
p.title,
p.time_start,
p.time_end
DATE_SUB(p.time_start,INTERVAL -3 DAY) as 'can_dwon_time'
p.time_end,
DATE_SUB(p.time_start,INTERVAL 3 DAY) as 'can_down_time'
FROM kylin_performances AS p
LEFT JOIN kylin_performance_relations AS pr ON pr.performance_id = p.performances_id
WHERE p.performances_id NOT IN (
......
......@@ -14,7 +14,8 @@ import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.adam.dto.AdamThirdPartParam;
import com.liquidnet.service.adam.dto.vo.AdamLoginInfoVo;
import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo;
import com.liquidnet.service.adam.service.*;
import com.liquidnet.service.adam.service.AdamRdmService;
import com.liquidnet.service.adam.service.IAdamUserService;
import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.base.UserPathDto;
......@@ -37,6 +38,8 @@ import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import java.nio.charset.StandardCharsets;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
......@@ -270,10 +273,17 @@ public class AdamLoginController {
return ResponseDto.success();
}
@ApiOperationSupport(order = 8)
@ApiOperation(value = "时间戳")
@GetMapping(value = {"ts"})
public ResponseDto<Long> timestamp() {
return ResponseDto.success(LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli());
}
/* ---------------------------- Internal Method ---------------------------- */
private boolean checkSmsCode(String mobile, String code) {
if (Arrays.asList("dev", "test").contains(env.getProperty("spring.profiles.active")) && "111111".equals(code)) {
if (Arrays.asList("dev", "test", "prod").contains(env.getProperty("spring.profiles.active")) && "111111".equals(code)) {
return true;
}
......
......@@ -304,7 +304,7 @@ public class AdamUserController {
private static final String PHP_API_SMS_CODE_VALID = "/smsValidation";
private boolean checkSmsCode(String mobile, String code) {
if (Arrays.asList("dev", "test").contains(env.getProperty("spring.profiles.active"))) {
if (Arrays.asList("dev", "test", "prod").contains(env.getProperty("spring.profiles.active"))) {
return "111111".equals(code);
}
......
......@@ -445,4 +445,88 @@ public class ConsumerProcessor {
log.info("=== CONSUMER_PERFORMANCE_LACK ===");
this.consumerSqlDaoHandler(msg, channel);
}
// 申请退款
@RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_REFUND), key = MQConst.ROUTING_KEY_SQL_ORDER_REFUND,
value = @Queue(MQConst.QUEUES_SQL_ORDER_REFUND)
))
public void consumerOrderRefund(Message msg, Channel channel) {
log.info("=== CONSUMER_ORDER_REFUND ===");
this.consumerSqlDaoHandler(msg, channel);
}
@RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_REFUND), key = MQConst.ROUTING_KEY_SQL_ORDER_REFUND,
value = @Queue(MQConst.QUEUES_SQL_ORDER_REFUND)
))
public void consumerOrderRefund1(Message msg, Channel channel) {
log.info("=== CONSUMER_ORDER_REFUND ===");
this.consumerSqlDaoHandler(msg, channel);
}
@RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_REFUND), key = MQConst.ROUTING_KEY_SQL_ORDER_REFUND,
value = @Queue(MQConst.QUEUES_SQL_ORDER_REFUND)
))
public void consumerOrderRefund2(Message msg, Channel channel) {
log.info("=== CONSUMER_ORDER_REFUND ===");
this.consumerSqlDaoHandler(msg, channel);
}
@RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_REFUND), key = MQConst.ROUTING_KEY_SQL_ORDER_REFUND,
value = @Queue(MQConst.QUEUES_SQL_ORDER_REFUND)
))
public void consumerOrderRefund3(Message msg, Channel channel) {
log.info("=== CONSUMER_ORDER_REFUND ===");
this.consumerSqlDaoHandler(msg, channel);
}
@RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_REFUND), key = MQConst.ROUTING_KEY_SQL_ORDER_REFUND,
value = @Queue(MQConst.QUEUES_SQL_ORDER_REFUND)
))
public void consumerOrderRefund4(Message msg, Channel channel) {
log.info("=== CONSUMER_ORDER_REFUND ===");
this.consumerSqlDaoHandler(msg, channel);
}
// 申请退款撤回
@RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_WITHDRAW), key = MQConst.ROUTING_KEY_SQL_ORDER_WITHDRAW,
value = @Queue(MQConst.QUEUES_SQL_ORDER_WITHDRAW)
))
public void consumerOrderRefundWithDraw(Message msg, Channel channel) {
log.info("=== CONSUMER_ORDER_WITHDRAW ===");
this.consumerSqlDaoHandler(msg, channel);
}
@RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_WITHDRAW), key = MQConst.ROUTING_KEY_SQL_ORDER_WITHDRAW,
value = @Queue(MQConst.QUEUES_SQL_ORDER_WITHDRAW)
))
public void consumerOrderRefundWithDraw1(Message msg, Channel channel) {
log.info("=== CONSUMER_ORDER_WITHDRAW ===");
this.consumerSqlDaoHandler(msg, channel);
}
@RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_WITHDRAW), key = MQConst.ROUTING_KEY_SQL_ORDER_WITHDRAW,
value = @Queue(MQConst.QUEUES_SQL_ORDER_WITHDRAW)
))
public void consumerOrderRefundWithDraw2(Message msg, Channel channel) {
log.info("=== CONSUMER_ORDER_WITHDRAW ===");
this.consumerSqlDaoHandler(msg, channel);
}
@RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_WITHDRAW), key = MQConst.ROUTING_KEY_SQL_ORDER_WITHDRAW,
value = @Queue(MQConst.QUEUES_SQL_ORDER_WITHDRAW)
))
public void consumerOrderRefundWithDraw3(Message msg, Channel channel) {
log.info("=== CONSUMER_ORDER_WITHDRAW ===");
this.consumerSqlDaoHandler(msg, channel);
}
@RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_WITHDRAW), key = MQConst.ROUTING_KEY_SQL_ORDER_WITHDRAW,
value = @Queue(MQConst.QUEUES_SQL_ORDER_WITHDRAW)
))
public void consumerOrderRefundWithDraw4(Message msg, Channel channel) {
log.info("=== CONSUMER_ORDER_WITHDRAW ===");
this.consumerSqlDaoHandler(msg, channel);
}
}
#eurekaServer配置
eureka:
client:
register-with-eureka: false
register-with-eureka: true
fetch-registry: true
serviceUrl:
defaultZone: http://${liquidnet.security.username}:${liquidnet.security.password}@${liquidnet.eureka.host}/eureka-server/eureka
......
......@@ -26,7 +26,8 @@ CREATE TABLE `kylin_banners`
KEY `kylin_banners_banners_sort_index` (`banners_sort`),
PRIMARY KEY (`mid`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 COMMENT '轮播图';
DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci
COMMENT '轮播图';
drop TABLE if exists `kylin_banners_relations`;
CREATE TABLE `kylin_banners_relations`
......@@ -42,8 +43,7 @@ CREATE TABLE `kylin_banners_relations`
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 '轮播图 展示位置/推广省份 关联表';
) ENGINE = InnoDB DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '轮播图 展示位置/推广省份 关联表';
-- 场地
drop TABLE if exists `kylin_fields`;
......@@ -72,8 +72,7 @@ CREATE TABLE `kylin_fields`
`updated_at` datetime(3) NULL DEFAULT NULL COMMENT '修改时间',
KEY `kylin_fields_uid_index` (`fields_id`),
PRIMARY KEY (`mid`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 COMMENT '场地数据';
) ENGINE = InnoDB DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '场地数据';
-- 场地状态
drop TABLE if exists `kylin_field_status`;
CREATE TABLE `kylin_field_status`
......@@ -89,8 +88,7 @@ CREATE TABLE `kylin_field_status`
`updated_at` datetime(3) NULL DEFAULT NULL COMMENT '修改时间',
KEY `kylin_field_status_uid_index` (`field_status_id`),
PRIMARY KEY (`mid`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 COMMENT '场地状态';
) ENGINE = InnoDB DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '场地状态';
-- 场地关联关系关系
drop TABLE if exists `kylin_field_relations`;
CREATE TABLE `kylin_field_relations`
......@@ -102,8 +100,7 @@ CREATE TABLE `kylin_field_relations`
`updated_at` datetime(3) NULL DEFAULT NULL COMMENT '修改时间',
KEY `kylin_field_relations_uid_index` (`field_relations_id`),
PRIMARY KEY (`mid`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 COMMENT '场地关系';
) ENGINE = InnoDB DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '场地关系';
-- 演出
......@@ -141,8 +138,7 @@ CREATE TABLE `kylin_performances`
`updated_at` datetime(3) NULL DEFAULT NULL COMMENT '修改时间',
KEY `kylin_performances_uid_index` (`performances_id`),
PRIMARY KEY (`mid`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 COMMENT '演出';
) ENGINE = InnoDB DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '演出';
-- 演出状态
drop TABLE if exists `kylin_performance_status`;
CREATE TABLE `kylin_performance_status`
......@@ -175,8 +171,7 @@ CREATE TABLE `kylin_performance_status`
KEY `kylin_performances_status_is_true_name_index` (`is_true_name`),
KEY `kylin_performances_status_performance_id_index` (`performance_id`),
PRIMARY KEY (`mid`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 COMMENT '演出状态';
) ENGINE = InnoDB DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '演出状态';
-- 演出关联关系
drop TABLE if exists `kylin_performance_relations`;
CREATE TABLE `kylin_performance_relations`
......@@ -196,7 +191,7 @@ CREATE TABLE `kylin_performance_relations`
KEY `performance_relations_copy_id_index` (`copy_id`),
KEY `performance_relations_performance_id_index` (`performance_id`),
PRIMARY KEY (`mid`)
) ENGINE = InnoDB COMMENT '演出状态';
) ENGINE = InnoDB DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '演出状态';
# -- 演出退款比例表
# drop TABLE if exists `kylin_performance_refund_present`;
# CREATE TABLE `kylin_performance_refund_present`
......@@ -232,7 +227,7 @@ CREATE TABLE `kylin_performance_distributions`
`updated_at` datetime(3) NULL DEFAULT NULL COMMENT '修改时间',
KEY `kylin_performance_distributions_uid_index` (`performance_distributions_id`),
PRIMARY KEY (`mid`)
) ENGINE = InnoDB COMMENT '演出状态';
) ENGINE = InnoDB DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '演出状态';
-- 场次
......@@ -251,7 +246,7 @@ CREATE TABLE `kylin_ticket_times`
`updated_at` datetime(3) NULL DEFAULT NULL COMMENT '修改时间',
KEY `kylin_ticket_times_uid_index` (`ticket_times_id`),
PRIMARY KEY (`mid`)
) ENGINE = InnoDB COMMENT '场次';
) ENGINE = InnoDB DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '场次';
-- 场次关联
drop TABLE if exists `kylin_ticket_time_relation`;
......@@ -267,7 +262,7 @@ CREATE TABLE `kylin_ticket_time_relation`
KEY `kylin_ticket_time_relation_times_id_index` (`times_id`),
KEY `kylin_ticket_time_relation_performance_id_index` (`performance_id`),
PRIMARY KEY (`mid`)
) ENGINE = InnoDB COMMENT '场次关联';
) ENGINE = InnoDB DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '场次关联';
-- 票
drop TABLE if exists `kylin_tickets`;
......@@ -297,7 +292,7 @@ CREATE TABLE `kylin_tickets`
`updated_at` datetime(3) NULL DEFAULT NULL COMMENT '修改时间',
KEY `kylin_tickets_uid_index` (`tickets_id`),
PRIMARY KEY (`mid`)
) ENGINE = InnoDB COMMENT '票';
) ENGINE = InnoDB DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '票';
-- 票状态
drop TABLE if exists `kylin_ticket_status`;
CREATE TABLE `kylin_ticket_status`
......@@ -336,7 +331,7 @@ CREATE TABLE `kylin_ticket_status`
KEY `kylin_ticket_status_is_exclusive_index` (`is_exclusive`),
KEY `kylin_ticket_status_is_true_name_index` (`is_true_name`),
PRIMARY KEY (`mid`)
) ENGINE = InnoDB COMMENT '票';
) ENGINE = InnoDB DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '票';
-- 票关系
drop TABLE if exists `kylin_ticket_relations`;
CREATE TABLE `kylin_ticket_relations`
......@@ -351,7 +346,7 @@ CREATE TABLE `kylin_ticket_relations`
KEY `ticket_relations_ticket_id_index` (`ticket_id`),
KEY `ticket_relations_times_id_index` (`times_id`),
PRIMARY KEY (`mid`)
) ENGINE = InnoDB COMMENT '票';
) ENGINE = InnoDB DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '票';
-- 巡演
drop TABLE if exists `kylin_road_shows`;
......@@ -368,7 +363,7 @@ CREATE TABLE `kylin_road_shows`
KEY `kylin_road_shows_uid_index` (`road_shows_id`),
KEY `ticket_relations_times_status_index` (`status`),
PRIMARY KEY (`mid`)
) ENGINE = InnoDB COMMENT '巡演';
) ENGINE = InnoDB DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '巡演';
-- 缺票登记 记录
......@@ -391,7 +386,7 @@ CREATE TABLE `kylin_lack_registers`
KEY `kylin_lack_registers_ticket_id_index` (`ticket_id`),
KEY `kylin_lack_registers_user_id_index` (`user_id`),
PRIMARY KEY (`mid`)
) ENGINE = InnoDB COMMENT '缺票登记';
) ENGINE = InnoDB DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '缺票登记';
-- 专题 <搭售>
drop TABLE if exists `kylin_projects`;
......@@ -410,7 +405,7 @@ CREATE TABLE `kylin_projects`
`updated_at` datetime(3) NULL DEFAULT NULL,
KEY `kylin_projects_uid_index` (`projects_id`),
PRIMARY KEY (`mid`)
) ENGINE = InnoDB COMMENT '专题';
) ENGINE = InnoDB DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '专题';
-- 专题关系
drop TABLE if exists `kylin_project_relations`;
CREATE TABLE `kylin_project_relations`
......@@ -433,7 +428,7 @@ CREATE TABLE `kylin_project_relations`
KEY `kylin_project_relations_project_id_index` (`project_id`),
KEY `kylin_project_relations_target_id_index` (`target_id`),
KEY `kylin_project_relations_item_id_index` (`item_id`)
) ENGINE = InnoDB COMMENT '专题关系';
) ENGINE = InnoDB DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '专题关系';
-- 订单
......@@ -479,7 +474,7 @@ CREATE TABLE `kylin_order_tickets`
KEY `kylin_order_tickets_order_code_index` (`order_code`),
KEY `kylin_order_tickets_order_type_index` (`order_type`),
PRIMARY KEY (`mid`)
) ENGINE = InnoDB COMMENT '订单';
) ENGINE = InnoDB DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '订单';
-- 订单关系
drop TABLE if exists `kylin_order_ticket_relations`;
CREATE TABLE `kylin_order_ticket_relations`
......@@ -504,7 +499,7 @@ CREATE TABLE `kylin_order_ticket_relations`
KEY `kylin_order_ticket_relations_agent_id_index` (`agent_id`),
KEY `kylin_order_ticket_relations_is_member_index` (`is_member`),
PRIMARY KEY (`mid`)
) ENGINE = InnoDB COMMENT '订单关系';
) ENGINE = InnoDB DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '订单关系';
-- 订单状态
drop TABLE if exists `kylin_order_ticket_status`;
CREATE TABLE `kylin_order_ticket_status`
......@@ -524,7 +519,7 @@ CREATE TABLE `kylin_order_ticket_status`
KEY `kylin_order_ticket_status_status_index` (`status`),
KEY `kylin_order_ticket_status_pay_status_index` (`pay_status`),
PRIMARY KEY (`mid`)
) ENGINE = InnoDB COMMENT '订单状态';
) ENGINE = InnoDB DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '订单状态';
-- 订单详情
......@@ -556,7 +551,7 @@ CREATE TABLE `kylin_order_ticket_entities`
KEY `kylin_order_ticket_entities_user_id_index` (`user_id`),
KEY `kylin_order_ticket_entities_time_id_index` (`time_id`),
PRIMARY KEY (`mid`)
) ENGINE = InnoDB COMMENT '订单详情';
) ENGINE = InnoDB DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '订单详情';
-- 购票须知表
drop TABLE if exists `kylin_buy_notice`;
......@@ -574,7 +569,7 @@ CREATE TABLE `kylin_buy_notice`
KEY `kylin_buy_notice_uid_index` (`buy_notice_id`),
KEY `kylin_buy_notice_status_index` (`status`),
PRIMARY KEY (`mid`)
) ENGINE = InnoDB COMMENT '购票须知表';
) ENGINE = InnoDB DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '购票须知表';
-- 验票用户表
drop TABLE if exists `kylin_check_user`;
......@@ -593,7 +588,7 @@ CREATE TABLE `kylin_check_user`
KEY `kylin_check_user_mobile_index` (`mobile`),
KEY `kylin_check_user_pwd_index` (`pwd`),
PRIMARY KEY (`mid`)
) ENGINE = InnoDB COMMENT '验票用户表';
) ENGINE = InnoDB DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '验票用户表';
-- 验票用户可看演出表
drop TABLE if exists `kylin_check_user_performances`;
......@@ -612,7 +607,7 @@ CREATE TABLE `kylin_check_user_performances`
KEY `kylin_check_user_check_user_id_index` (`check_user_id`),
KEY `kylin_check_user_status_index` (`status`),
PRIMARY KEY (`mid`)
) ENGINE = InnoDB COMMENT '验票用户可看演出表';
) ENGINE = InnoDB DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '验票用户可看演出表';
insert into `kylin_buy_notice` (`buy_notice_id`, `img_url`, `message`, `status`, `sort`, `created_at`,
......@@ -686,7 +681,7 @@ CREATE TABLE `kylin_order_refund_batches`
`updated_at` timestamp NULL DEFAULT NULL,
KEY `kylin_order_refund_batch_id_index` (`refund_batch_id`),
PRIMARY KEY (`mid`)
) ENGINE = InnoDB COMMENT '批量退款表';
) ENGINE = InnoDB DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '批量退款表';
#订单退款表
drop TABLE if exists `kylin_order_refunds`;
......@@ -726,7 +721,7 @@ CREATE TABLE `kylin_order_refunds`
KEY `kylin_order_refunds_order_tickets_id_index` (`order_tickets_id`),
KEY `kylin_order_refunds_refund_type_index` (`refund_type`),
KEY `kylin_order_refunds_order_refunds_id_index` (`order_refunds_id`)
) ENGINE = InnoDB COMMENT ='订单退款表';
) ENGINE = InnoDB DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT ='订单退款表';
drop TABLE if exists `kylin_order_refund_entities`;
CREATE TABLE `kylin_order_refund_entities`
......@@ -740,7 +735,7 @@ CREATE TABLE `kylin_order_refund_entities`
`updated_at` timestamp NULL DEFAULT NULL,
KEY `kylin_order_refunds_entities_id_index` (`order_refunds_entities_id`),
PRIMARY KEY (`mid`)
) ENGINE = InnoDB COMMENT '退款入场人表';
) ENGINE = InnoDB DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '退款入场人表';
drop TABLE if exists `kylin_order_express`;
CREATE TABLE `kylin_order_express`
......@@ -763,7 +758,7 @@ CREATE TABLE `kylin_order_express`
`updated_at` timestamp NULL DEFAULT NULL,
KEY `order_express_id_index` (`order_express_id`),
PRIMARY KEY (`mid`)
) ENGINE = InnoDB COMMENT '订单快递表';
) ENGINE = InnoDB DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '订单快递表';
drop TABLE if exists `kylin_order_express_fee_info`;
CREATE TABLE `kylin_order_express_fee_info`
......@@ -786,10 +781,10 @@ CREATE TABLE `kylin_order_refund_pic`
`mid` int unsigned NOT NULL AUTO_INCREMENT,
`refund_pic_id` varchar(255) NOT NULL DEFAULT '' COMMENT 'refund_pic_id',
`order_refunds_id` varchar(255) NOT NULL DEFAULT '' COMMENT '订单退款表id',
`pic_url` tinyint NOT NULL DEFAULT '0' COMMENT '图片地址',
`pic_url` varchar(255) NOT NULL DEFAULT '' COMMENT '图片地址',
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
KEY `kylin_refund_pic_refund_pic_id_index` (`refund_pic_id`),
KEY `kylin_refund_pic_order_refunds_id_index` (`order_refunds_id`),
PRIMARY KEY (`mid`)
) ENGINE = InnoDB COMMENT '订单退款图片表';
) ENGINE = InnoDB DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '订单退款图片表';
use prod_ln_scene;
#创建集合
db.createCollection("KylinOrderTicketVo");
db.createCollection("KylinCheckUserPerformanceVo");
db.createCollection("KylinCheckUserVo");
db.createCollection("KylinOrderRefundEntitiesVo");
db.createCollection("KylinOrderRefundPicVo");
db.createCollection("KylinOrderRefundsVoBase");
db.createCollection("KylinOrderTicketEntitiesVo");
db.createCollection("KylinOrderTicketVo");
db.createCollection("KylinPerformanceVo");
db.createCollection("KylinRoadShowVo");
db.createCollection("KylinPerformanceMisVo");
db.createCollection("KylinTicketPartnerVo");
db.createCollection("KylinTicketTimesPartnerVo");
db.createCollection("PerformanceMemberAuditParam");
#创建索引
db.KylinCheckUserPerformanceVo.createIndex({checkUserId:"hashed"});
db.KylinCheckUserVo.createIndex({merchantId:"hashed"});
db.KylinCheckUserVo.createIndex({mobile:"hashed"});
db.KylinOrderRefundEntitiesVo.createIndex({orderRefundsId:"hashed"});
db.KylinOrderRefundEntitiesVo.createIndex({orderTicketEntitiesId:"hashed"});
db.KylinOrderRefundPicVo.createIndex({orderRefundsId:"hashed"});
db.KylinOrderRefundsVoBase.createIndex({orderRefundsId:"hashed"});
db.KylinOrderRefundsVoBase.createIndex({orderTicketsId:"hashed"});
db.KylinOrderTicketEntitiesVo.createIndex({orderTicketEntitiesId:"hashed"});
db.KylinOrderTicketEntitiesVo.createIndex({orderId:"hashed"});
db.KylinOrderTicketVo.createIndex({orderTicketsId:"hashed"});
db.KylinOrderTicketVo.createIndex({orderCode:"hashed"});
db.KylinOrderTicketVo.createIndex({userId:"hashed"});
db.KylinOrderTicketEntitiesVo.createIndex({orderTicketEntitiesId:"hashed"});
db.KylinOrderTicketEntitiesVo.createIndex({orderId:"hashed"});
db.KylinPerformanceVo.createIndex({performancesId:"hashed"});
db.KylinPerformanceMisVo.createIndex({performancesId:"hashed"});
db.KylinTicketPartnerVo.createIndex({ticketsId:"hashed"});
db.KylinTicketPartnerVo.createIndex({timesId:"hashed"});
db.KylinTicketTimesPartnerVo.createIndex({performancesId:"hashed"});
db.KylinTicketTimesPartnerVo.createIndex({ticketTimesId:"hashed"});
db.PerformanceMemberAuditParam.createIndex({performancesId:"hashed"});
#创建分片
sh.enableSharding("prod_ln_scene");
sh.shardCollection("prod_ln_scene.KylinOrderTicketVo",{"orderTicketsId":"hashed"});
sh.shardCollection("prod_ln_scene.KylinCheckUserPerformanceVo",{"checkUserId":"hashed"});
sh.shardCollection("prod_ln_scene.KylinCheckUserVo",{"checkUserId":"hashed"});
sh.shardCollection("prod_ln_scene.KylinOrderRefundEntitiesVo",{"orderRefundsEntitiesId":"hashed"});
sh.shardCollection("prod_ln_scene.KylinOrderRefundPicVo",{"refundPicId":"hashed"});
sh.shardCollection("prod_ln_scene.KylinOrderRefundsVoBase",{"orderRefundsId":"hashed"});
sh.shardCollection("prod_ln_scene.KylinOrderTicketEntitiesVo",{"orderTicketEntitiesId":"hashed"});
sh.shardCollection("prod_ln_scene.KylinOrderTicketVo",{"orderTicketsId":"hashed"});
sh.shardCollection("prod_ln_scene.KylinPerformanceVo",{"performancesId":"hashed"});
sh.shardCollection("prod_ln_scene.KylinRoadShowVo",{"roadShowsId":"hashed"});
sh.shardCollection("prod_ln_scene.KylinPerformanceMisVo",{"performancesId":"hashed"});
sh.shardCollection("prod_ln_scene.KylinTicketPartnerVo",{"ticketsId":"hashed"});
sh.shardCollection("prod_ln_scene.KylinTicketTimesPartnerVo",{"ticketTimesId":"hashed"});
sh.shardCollection("prod_ln_scene.PerformanceMemberAuditParam",{"performancesId":"hashed"});
use test_ln_scene;
#创建集合
db.createCollection("KylinOrderTicketVo");
db.createCollection("KylinCheckUserPerformanceVo");
db.createCollection("KylinCheckUserVo");
db.createCollection("KylinOrderRefundEntitiesVo");
db.createCollection("KylinOrderRefundPicVo");
db.createCollection("KylinOrderRefundsVoBase");
db.createCollection("KylinOrderTicketEntitiesVo");
db.createCollection("KylinOrderTicketVo");
db.createCollection("KylinPerformanceVo");
db.createCollection("KylinRoadShowVo");
db.createCollection("KylinPerformanceMisVo");
db.createCollection("KylinTicketPartnerVo");
db.createCollection("KylinTicketTimesPartnerVo");
db.createCollection("PerformanceMemberAuditParam");
#创建索引
db.KylinCheckUserPerformanceVo.createIndex({checkUserId:"hashed"});
db.KylinCheckUserVo.createIndex({merchantId:"hashed"});
db.KylinCheckUserVo.createIndex({mobile:"hashed"});
db.KylinOrderRefundEntitiesVo.createIndex({orderRefundsId:"hashed"});
db.KylinOrderRefundEntitiesVo.createIndex({orderTicketEntitiesId:"hashed"});
db.KylinOrderRefundPicVo.createIndex({orderRefundsId:"hashed"});
db.KylinOrderRefundsVoBase.createIndex({orderRefundsId:"hashed"});
db.KylinOrderRefundsVoBase.createIndex({orderTicketsId:"hashed"});
db.KylinOrderTicketEntitiesVo.createIndex({orderTicketEntitiesId:"hashed"});
db.KylinOrderTicketEntitiesVo.createIndex({orderId:"hashed"});
db.KylinOrderTicketVo.createIndex({orderTicketsId:"hashed"});
db.KylinOrderTicketVo.createIndex({orderCode:"hashed"});
db.KylinOrderTicketVo.createIndex({userId:"hashed"});
db.KylinOrderTicketEntitiesVo.createIndex({orderTicketEntitiesId:"hashed"});
db.KylinOrderTicketEntitiesVo.createIndex({orderId:"hashed"});
db.KylinPerformanceVo.createIndex({performancesId:"hashed"});
db.KylinPerformanceMisVo.createIndex({performancesId:"hashed"});
db.KylinTicketPartnerVo.createIndex({ticketsId:"hashed"});
db.KylinTicketPartnerVo.createIndex({timesId:"hashed"});
db.KylinTicketTimesPartnerVo.createIndex({performancesId:"hashed"});
db.KylinTicketTimesPartnerVo.createIndex({ticketTimesId:"hashed"});
db.PerformanceMemberAuditParam.createIndex({performancesId:"hashed"});
#创建分片
sh.enableSharding("test_ln_scene");
sh.shardCollection("test_ln_scene.KylinOrderTicketVo",{"orderTicketsId":"hashed"});
sh.shardCollection("test_ln_scene.KylinCheckUserPerformanceVo",{"checkUserId":"hashed"});
sh.shardCollection("test_ln_scene.KylinCheckUserVo",{"checkUserId":"hashed"});
sh.shardCollection("test_ln_scene.KylinOrderRefundEntitiesVo",{"orderRefundsEntitiesId":"hashed"});
sh.shardCollection("test_ln_scene.KylinOrderRefundPicVo",{"refundPicId":"hashed"});
sh.shardCollection("test_ln_scene.KylinOrderRefundsVoBase",{"orderRefundsId":"hashed"});
sh.shardCollection("test_ln_scene.KylinOrderTicketEntitiesVo",{"orderTicketEntitiesId":"hashed"});
sh.shardCollection("test_ln_scene.KylinOrderTicketVo",{"orderTicketsId":"hashed"});
sh.shardCollection("test_ln_scene.KylinPerformanceVo",{"performancesId":"hashed"});
sh.shardCollection("test_ln_scene.KylinRoadShowVo",{"roadShowsId":"hashed"});
sh.shardCollection("test_ln_scene.KylinPerformanceMisVo",{"performancesId":"hashed"});
sh.shardCollection("test_ln_scene.KylinTicketPartnerVo",{"ticketsId":"hashed"});
sh.shardCollection("test_ln_scene.KylinTicketTimesPartnerVo",{"ticketTimesId":"hashed"});
sh.shardCollection("test_ln_scene.PerformanceMemberAuditParam",{"performancesId":"hashed"});
......@@ -7,10 +7,7 @@ import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.param.PayAgainParam;
import com.liquidnet.service.kylin.dto.param.PayOrderParam;
import com.liquidnet.service.kylin.dto.param.SyncOrderParam;
import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderListVo;
import com.liquidnet.service.kylin.dto.vo.returns.OrderDetailsVo;
import com.liquidnet.service.kylin.dto.vo.returns.OrderRefundVo;
import com.liquidnet.service.kylin.dto.vo.returns.PayResultVo;
import com.liquidnet.service.kylin.dto.vo.returns.*;
import com.liquidnet.service.kylin.service.IKylinOrderTicketsService;
import com.liquidnet.service.kylin.service.impl.KylinOrderTicketsServiceImpl;
import io.swagger.annotations.Api;
......@@ -91,8 +88,8 @@ public class KylinOrderTicketsController {
@GetMapping("toOrderRefundDetails")
@ApiOperation("想要退款订单详情")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<OrderDetailsVo> toOrderRefundDetails(@RequestParam(value = "orderId", required = false) @NotNull(message = "订单id不能为空") String orderId) {
OrderDetailsVo vo = orderTicketsService.toOrderRefundDetails(orderId);
public ResponseDto<KylinOrderTicketPreVo> toOrderRefundDetails(@RequestParam(value = "orderId", required = false) @NotNull(message = "订单id不能为空") String orderId) {
KylinOrderTicketPreVo vo = orderTicketsService.toOrderRefundDetails(orderId);
if (null == vo) {
return ResponseDto.failure(ErrorMapping.get("20003"));
} else {
......@@ -111,15 +108,15 @@ public class KylinOrderTicketsController {
}
@GetMapping("orderRefundDetails")
@ApiOperation("发起退款申请")
@ApiOperation("退款申请详情")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<OrderRefundVo> orderRefundDetails(@RequestParam(value = "orderId", required = true) @NotNull(message = "订单id不能为空") String orderId,
@RequestParam(value = "orderRefundId", required = true) @NotNull(message = "退款订单id不能为空") String orderRefundId) {
return ResponseDto.success(orderTicketsService.orderRefundDetails(orderId, orderRefundId));
}
@PostMapping("sendOrderRefund")
@ApiOperation("发起退款申请")
@PostMapping("orderRefundWithdraw")
@ApiOperation("发起退款撤回")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<Boolean> orderRefundWithdraw(@RequestParam(value = "orderRefundId", required = true) @NotNull(message = "退款订单id不能为空") String orderRefundId) {
return orderTicketsService.orderRefundWithdraw(orderRefundId) == null ? ResponseDto.failure() : ResponseDto.success();
......
......@@ -33,6 +33,7 @@ import com.liquidnet.service.kylin.utils.*;
import com.mongodb.BasicDBObject;
import com.mongodb.client.model.FindOneAndUpdateOptions;
import com.mongodb.client.model.ReturnDocument;
import com.mongodb.client.result.UpdateResult;
import com.taobao.api.TaobaoClient;
import com.taobao.api.request.AlibabaDamaiMevOpenBatchpushticketRequest;
import com.taobao.api.response.AlibabaDamaiMevOpenBatchpushticketResponse;
......@@ -1039,11 +1040,9 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
vo.setIsCanRefund(1);
} else {
vo.setIsCanRefund(0);
orderTicketVo.setIsHaveRefundDetails(0);
}
} else {
vo.setIsCanRefund(0);
orderTicketVo.setIsHaveRefundDetails(0);
}
List<KylinOrderRefundsOrderCodeVo> orderRefundsVoBaseList = new ArrayList<>();
......@@ -1054,6 +1053,17 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
data.setStatus(item.getStatus());
}
List<KylinOrderRefundsVoBase> orderRefundsVoList = dataUtils.getOrderRefundVoByOrderId(orderId);
List<OrderRefundListVo> orderRefundListVos = new ArrayList<>();
for (KylinOrderRefundsVoBase item : orderRefundsVoList){
OrderRefundListVo data = new OrderRefundListVo();
data.setOrderRefundCode(item.getOrderRefundCode().substring(item.getOrderRefundCode().length()-10));
data.setOrderRefundsId(item.getOrderRefundsId());
data.setStatus(item.getStatus());
orderRefundListVos.add(data);
}
orderTicketVo.setOrderRefundListVos(orderRefundListVos);
orderTicketVo.setOrderCode(orderTicketVo.getOrderCode().substring(orderTicketVo.getOrderCode().length()-10));
vo.setOrderRefundsVoList(orderRefundsVoBaseList);
vo.setOrderTicketVo(orderTicketVo);
vo.setEnterDescribe(dataUtils.getEnterInfo("1"));
......@@ -1205,17 +1215,21 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
}
@Override
public OrderDetailsVo toOrderRefundDetails(String orderId) {
OrderDetailsVo vo = new OrderDetailsVo();
public KylinOrderTicketPreVo toOrderRefundDetails(String orderId) {
try {
KylinOrderTicketPreVo vo = new KylinOrderTicketPreVo();
String uid = CurrentUtil.getCurrentUid();
KylinOrderTicketVo orderTicketVo = dataUtils.getOrderTicketVo(orderId);
KylinPerformanceVo performanceVo = dataUtils.getPerformanceVo(orderTicketVo.getPerformanceId());
List<KylinOrderRefundsVoBase> kylinOrderRefundsVoBaseList = dataUtils.getOrderRefundVoByOrderId(orderTicketVo.getOrderTicketsId());
if (!orderTicketVo.getUserId().equals(uid)) {
return null;
}
List<KylinOrderTicketEntitiesVo> kylinOrderTicketEntitiesVoList = orderTicketVo.getEntitiesVoList();
List<KylinOrderTicketEntitiesPreRefundVo> kylinOrderTicketEntitiesPreRefundVos = new ArrayList<>();
// 数据脱敏
for (KylinOrderTicketEntitiesVo item : kylinOrderTicketEntitiesVoList) {
KylinOrderTicketEntitiesPreRefundVo refundVo = new KylinOrderTicketEntitiesPreRefundVo();
if (item.getEnterIdCode().length() == 18) {
item.setEnterIdCode(item.getEnterIdCode().substring(0, 3) + "*************" + item.getEnterIdCode().substring(16));
}
......@@ -1224,8 +1238,19 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
}
item.setPriceActual(orderTicketVo.getPriceActual().subtract(orderTicketVo.getPriceExpress()).divide(new BigDecimal(orderTicketVo.getNumber())));
item.setPriceCanRefund(dataUtils.getCanRefundOrderEntitiesPrice(orderTicketVo, kylinOrderRefundsVoBaseList, item.getOrderTicketEntitiesId()));
BeanUtils.copyProperties(item,refundVo);
kylinOrderTicketEntitiesPreRefundVos.add(refundVo);
}
orderTicketVo.setFieldName(performanceVo.getFieldName());
BeanUtils.copyProperties(orderTicketVo,vo);
vo.setIsTrueName(performanceVo.getIsTrueName());
vo.setEntitiesPreRefundVos(kylinOrderTicketEntitiesPreRefundVos);
return vo;
}catch (Exception e){
e.printStackTrace();
return null;
}
}
@Override
......@@ -1265,7 +1290,9 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
}
BigDecimal refundSinglePrice = dataUtils.getCanRefundOrderEntitiesPrice(orderTicketVo, kylinOrderRefundsVoBaseList, orderTicketEntitiesId);
if(refundSinglePrice.doubleValue()<=0){
return ResponseDto.failure("申请金额不得小于0");
}
Map token = CurrentUtil.getTokenClaims();
String username = StringUtils.defaultString(((String) token.get("nickname")), "");
boolean result = refundsStatusService.userOrderTicketRefunding(orderTicketVo, refundSinglePrice.doubleValue(), orderTicketEntitiesId, reason, picList, uid, username, kylinOrderRefundsVoBaseList.size());
......@@ -1332,10 +1359,10 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
kylinOrderTicketVo.setUpdatedAt(strTime);
kylinOrderTicketVo.setChangeDate(time);
BasicDBObject orderObject = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(kylinOrderTicketVo)));
mongoTemplate.getCollection(KylinOrderTicketVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("orderTicketsId").is(orderTicketsId)).getQueryObject(),
orderObject
);
// mongoTemplate.getCollection(KylinOrderTicketVo.class.getSimpleName()).updateOne(
// Query.query(Criteria.where("orderTicketsId").is(orderTicketsId)).getQueryObject(),
// orderObject
// );
dataUtils.delOrderTicketRedis(orderTicketsId);
mongoVoUtils.resetOrderListVo(orderTicketVo.getUserId(), 2, orderTicketsId, null);
......@@ -1355,15 +1382,15 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
}
}
KylinOrderTicketEntitiesVo entitiesVo = null;
if (refundingEntitiesCount > 0) { // 存在其他正在退款的该入场人订单
newIsPayment = KylinTableStatusConst.ENTITIES_IS_PAYMENT2;
} else {
for (KylinOrderTicketEntitiesVo entitiesVo1 : orderTicketVo.getEntitiesVoList()) {
if (entitiesVo1.getOrderTicketEntitiesId().equals(item.getOrderTicketEntitiesId())) {
entitiesVo = entitiesVo1;
break;
}
}
if (refundingEntitiesCount > 0) { // 存在其他正在退款的该入场人订单
newIsPayment = KylinTableStatusConst.ENTITIES_IS_PAYMENT2;
} else {
if (entitiesVo.getRefundPrice().doubleValue() > 0) { // 已经有退完的 那就是部分退款了
newIsPayment = KylinTableStatusConst.ENTITIES_IS_PAYMENT4;
} else {
......@@ -1383,10 +1410,10 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
kylinOrderTicketEntitiesVo.setUpdatedAt(strTime);
kylinOrderTicketEntitiesVo.setChangeDate(time);
BasicDBObject entitiesObject = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(kylinOrderTicketEntitiesVo)));
mongoTemplate.getCollection(KylinOrderTicketEntitiesVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("orderTicketEntitiesId").is(item.getOrderTicketEntitiesId())).getQueryObject(),
entitiesObject
);
// mongoTemplate.getCollection(KylinOrderTicketEntitiesVo.class.getSimpleName()).updateOne(
// Query.query(Criteria.where("orderTicketEntitiesId").is(item.getOrderTicketEntitiesId())).getQueryObject(),
// entitiesObject
// );
dataUtils.delOrderTicketEntitiesRedis(item.getOrderTicketEntitiesId());
}
......@@ -1400,10 +1427,10 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
orderRefundsVoBase.setStatus(KylinTableStatusConst.ORDER_REFUND_STATUS_CANCEL);
orderRefundsVoBase.setUpdatedAt(strTime);
BasicDBObject refundObject = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(orderRefundsVoBase)));
mongoTemplate.getCollection(KylinOrderTicketVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("orderRefundsId").is(orderRefundsId)).getQueryObject(),
refundObject
);
// mongoTemplate.getCollection(KylinOrderRefundsVoBase.class.getSimpleName()).updateOne(
// Query.query(Criteria.where("orderRefundsId").is(orderRefundsId)).getQueryObject(),
// refundObject
// );
sqlsDataC.add(new Object[]{
orderRefundsVoBase.getStatus(), orderRefundsVoBase.getUpdatedAt(), orderRefundsId
......@@ -1413,8 +1440,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
sqls.add(SqlMapping.get("kylin_order_ticket_entities.withDraw"));
sqls.add(SqlMapping.get("kylin_order_refund.withDraw"));
//TODO 生成新QUERY
rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_PAY, MQConst.ROUTING_KEY_SQL_ORDER_PAY,
rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_WITHDRAW, MQConst.ROUTING_KEY_SQL_ORDER_WITHDRAW,
SqlMapping.gets(sqls, sqlsDataA, sqlsDataB, sqlsDataC));
return true;
} catch (Exception e) {
......
......@@ -403,6 +403,7 @@ public class KylinRefundsStatusServiceImpl {
mongoTemplate.insert(orderRefundsVo, KylinOrderRefundsVoBase.class.getSimpleName());
// 退款入场人表
KylinOrderRefundEntities kylinOrderRefundEntities = new KylinOrderRefundEntities();
String orderRefundsEntitiesId = IDGenerator.nextSnowId();
......@@ -413,29 +414,30 @@ public class KylinRefundsStatusServiceImpl {
kylinOrderRefundEntities.setCreatedAt(time);
KylinOrderRefundEntitiesVo orderRefundEntitiesVo = new KylinOrderRefundEntitiesVo();
BeanUtils.copyProperties(orderRefundEntitiesVo,kylinOrderRefundEntities);
BeanUtils.copyProperties(kylinOrderRefundEntities,orderRefundEntitiesVo);
orderRefundEntitiesVo.setCreatedAt(strTime);
mongoTemplate.insert(orderRefundEntitiesVo,KylinOrderRefundEntitiesVo.class.getSimpleName());
//退款图片
KylinOrderRefundPic orderRefundPic = new KylinOrderRefundPic();
orderRefundPic.setOrderRefundsId(IDGenerator.nextSnowId());
orderRefundPic.setRefundPicId(IDGenerator.nextSnowId());
orderRefundPic.setOrderRefundsId(kylinOrderRefunds.getOrderRefundsId());
orderRefundPic.setPicUrl(picList);
orderRefundPic.setCreatedAt(time);
KylinOrderRefundPicVo orderRefundPicVo = new KylinOrderRefundPicVo();
BeanUtils.copyProperties(orderRefundPicVo,orderRefundPic);
BeanUtils.copyProperties(orderRefundPic,orderRefundPicVo);
orderRefundPicVo.setCreatedAt(strTime);
mongoTemplate.insert(orderRefundPicVo,KylinOrderRefundPicVo.class.getSimpleName());
dataUtils.delOrderRefundVoByOrderId(orderInfo.getOrderTicketsId());
//MQ
LinkedList<String> sqls = new LinkedList<>();
LinkedList<Object[]> sqlsDataA = new LinkedList<>();
LinkedList<Object[]> sqlsDataB = new LinkedList<>();
LinkedList<Object[]> sqlsDataC = new LinkedList<>();
LinkedList<Object[]> sqlsDataD = new LinkedList<>();
LinkedList<Object[]> sqlsDataE = new LinkedList<>();
LinkedList <Object[]> sqlsDataE = new LinkedList<>();
sqls.add(SqlMapping.get("kylin_order_ticket_status.refund"));
sqls.add(SqlMapping.get("kylin_order_ticket_entities.refund"));
......@@ -465,7 +467,7 @@ public class KylinRefundsStatusServiceImpl {
});
//TODO 生成新QUERY
rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_PAY, MQConst.ROUTING_KEY_SQL_ORDER_PAY,
rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_REFUND, MQConst.ROUTING_KEY_SQL_ORDER_REFUND,
SqlMapping.gets(sqls, sqlsDataA, sqlsDataB, sqlsDataC, sqlsDataD, sqlsDataE));
return true;
......
......@@ -619,6 +619,14 @@ public class DataUtils {
return (List<KylinOrderRefundsVoBase>) redisUtil.get(KylinRedisConst.ORDER_REFUND_BY_ORDER_ID + orderId);
}
public void delOrderRefundVo(String orderRefundsId){
redisUtil.del(KylinRedisConst.ORDER_REFUND + orderRefundsId);
}
public void delOrderRefundVoByOrderId(String orderId){
redisUtil.del(KylinRedisConst.ORDER_REFUND_BY_ORDER_ID + orderId);
}
/**
* 获取可退款票单价格
* @param orderTicketVo 订单vo数据
......@@ -632,7 +640,7 @@ public class DataUtils {
BigDecimal canRefundSinglePrice = new BigDecimal("0.00");
for (KylinOrderTicketEntitiesVo item : orderTicketVo.getEntitiesVoList()) {
if (item.getOrderTicketEntitiesId().equals(orderTicketEntitiesId)) {
canRefundSinglePrice = singlePrice.subtract(item.getRefundPrice());
canRefundSinglePrice = singlePrice.subtract(item.getRefundPrice()==null?BigDecimal.valueOf(0.00):item.getRefundPrice());
}
}
//订单锁定金额
......
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