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

Commit 1112188f authored by anjiabin's avatar anjiabin
parents eb1ce908 5ec39339
......@@ -3,6 +3,7 @@ package com.liquidnet.commons.lang.util;
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.CollectionUtils;
import java.util.HashMap;
import java.util.Map;
public class CurrentUtil {
......@@ -17,7 +18,18 @@ public class CurrentUtil {
}
public static Map getTokenClaims() {
return JsonUtils.fromJson(ServletUtils.getRequest().getHeader(uTag), Map.class);
String utag = ServletUtils.getRequest().getHeader(uTag);
// TODO: 2021/5/14 dev联调API未启用token默认使用1
if (StringUtils.isEmpty(utag)) {
Map<String, Object> map = new HashMap<>();
map.put("mobile", "000");
map.put("nickname", "111");
map.put("uid", "1");
return map;
}
return JsonUtils.fromJson(utag, Map.class);
}
public static String getCurrentUid() {
......
......@@ -65,6 +65,18 @@ public class IDGenerator {
return ((timestamp - twepoch) << timestampLeftShift) | (dataCenterId << dataCenterIdShift) | (workerId << workerIdShift) | sequence;
}
public static String ticketOrderCode(String orderTicketId) {
String number = orderTicketId;
int len = orderTicketId.length();
String time = System.currentTimeMillis() / 1000 + "";
String orderCode = "T" + number.substring(0, len - 4);
orderCode+=time.substring(7, 8);
orderCode+=number.substring(len - 2);
orderCode+=time.substring(8, 9);
orderCode+=number.substring(len - 4, len-2);
return orderCode;
}
private static long genTime() {
return useSystemClock ? SystemClock.now() : System.currentTimeMillis();
}
......@@ -83,7 +95,7 @@ public class IDGenerator {
return timestamp;
}
private static long getMachineNum(){
private static long getMachineNum() {
long machinePiece;
StringBuilder sb = new StringBuilder();
Enumeration<NetworkInterface> e = null;
......
......@@ -62,7 +62,7 @@ public class AdamMemberParam implements Serializable {
/**
* '是否展示须知'
*/
@ApiModelProperty(position = 8, required = true, value = "是否展示须知[200]", example = "0")
@ApiModelProperty(position = 8, required = true, value = "是否展示须知[[0-否,1-是]]", allowableValues = "0,1")
private Integer isNotice;
/**
......@@ -80,13 +80,13 @@ public class AdamMemberParam implements Serializable {
/**
* 是否需要答题 0不需要 1需要
*/
@ApiModelProperty(position = 11, required = true, value = "是否需要答题[200]", example = "0")
@ApiModelProperty(position = 11, required = true, value = "是否需要答题[0-否,1-是]", allowableValues = "0,1")
private Integer needQuestion;
/**
* 是否展示协议 0否1是
*/
@ApiModelProperty(position = 12, required = true, value = "是否展示协议[200]", example = "0")
@ApiModelProperty(position = 12, required = true, value = "是否展示协议[0-否,1-是]", allowableValues = "0,1")
private Integer displayAgreement;
/**
......@@ -101,6 +101,6 @@ public class AdamMemberParam implements Serializable {
@ApiModelProperty(position = 14, required = true, value = "限购数量,0不限购[200]", example = "0")
private Integer limitation;
@ApiModelProperty(position = 15, required = true, value = "会员卡价格ID", dataType = "List", example = "63666042953703424")
@ApiModelProperty(position = 15, required = true, value = "会员卡价格ID", example = "[63666042953703424]")
private List<String> memberPriceList;
}
package com.liquidnet.service.adam.dto.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Arrays;
import java.util.List;
@ApiModel(value = "AdamMemberRightsVo", description = "会员")
@Data
public class AdamMemberRightsVo implements java.io.Serializable, Cloneable {
private static final long serialVersionUID = -2407106925001008460L;
@ApiModelProperty(position = 0, value = "权益封面[255]")
private String cover;
@ApiModelProperty(position = 1, value = "权益名称[10]")
private String name;
@ApiModelProperty(position = 2, value = "展示顺序[2]")
private Integer sort;
private static final AdamMemberRightsVo obj = new AdamMemberRightsVo();
public static AdamMemberRightsVo getNew() {
try {
return (AdamMemberRightsVo) obj.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return new AdamMemberRightsVo();
}
public AdamMemberRightsVo setCover(String cover) {
this.cover = cover;
return this;
}
public AdamMemberRightsVo setName(String name) {
this.name = name;
return this;
}
public AdamMemberRightsVo setSort(Integer sort) {
this.sort = sort;
return this;
}
public List<AdamMemberRightsVo> initDefault() {
return Arrays.asList(AdamMemberRightsVo.getNew().setName("专属").setSort(1)
.setCover("https://img.zhengzai.tv/files/2020/08/28/5f490c4477d72.png"),
AdamMemberRightsVo.getNew().setName("优惠").setSort(2)
.setCover("https://img.zhengzai.tv/files/2020/08/28/5f490c685e7a8.png"),
AdamMemberRightsVo.getNew().setName("优先").setSort(3)
.setCover("https://img.zhengzai.tv/files/2020/08/28/5f490c726a750.png"),
AdamMemberRightsVo.getNew().setName("专属").setSort(4)
.setCover("https://img.zhengzai.tv/files/2020/08/28/5f490c5de2870.png")
);
}
}
......@@ -17,101 +17,44 @@ import java.util.List;
@Data
public class AdamMemberVo implements java.io.Serializable, Cloneable {
private static final long serialVersionUID = 5258094625450569125L;
private static final AdamMemberVo obj = new AdamMemberVo();
/**
* 会员卡id
*/
@ApiModelProperty(position = 0, required = false, value = "会员ID[50]")
@ApiModelProperty(position = 0, value = "会员ID[50]")
private String memberId;
/**
* 会员卡名称
*/
@ApiModelProperty(position = 1, required = false, value = "会员名称[50]", example = "摩登天空会员卡")
@ApiModelProperty(position = 1, value = "会员名称[50]", example = "摩登天空会员卡")
private String name;
/**
* 标题
*/
@ApiModelProperty(position = 2, required = true, value = "会员标题[50]", example = "摩登天空会员卡")
@ApiModelProperty(position = 2, value = "会员标题[50]", example = "摩登天空会员卡")
private String title;
/**
* 副标题
*/
@ApiModelProperty(position = 3, required = true, value = "会员副标题[50]", example = "摩登天空会员卡副标题")
@ApiModelProperty(position = 3, value = "会员副标题[50]", example = "摩登天空会员卡副标题")
private String subTitle;
/**
* 图标
*/
@ApiModelProperty(position = 4, required = true, value = "icon图标[200]", example = "https://img.zhengzai.tv/files/2020/08/28/5f490418d30b4.png")
@ApiModelProperty(position = 4, value = "icon图标[200]", example = "https://img.zhengzai.tv/files/2020/08/28/5f490418d30b4.png")
private String icon;
/**
* 头像
*/
@ApiModelProperty(position = 5, required = true, value = "会员头像[200]", example = "https://img.zhengzai.tv/files/2020/08/31/5f4c75095e9bc.pngv")
@ApiModelProperty(position = 5, value = "会员头像[200]", example = "https://img.zhengzai.tv/files/2020/08/31/5f4c75095e9bc.pngv")
private String avatar;
/**
* 权益详情
*/
@ApiModelProperty(position = 6, required = true, value = "权益详情[200]", example = "加入摩登天空会员您可享受到.....")
@ApiModelProperty(position = 6, value = "权益详情[200]", example = "加入摩登天空会员您可享受到.....")
private String interestsDetail;
/**
* 注意事项
*/
@ApiModelProperty(position = 7, required = true, value = "注意事项[200]", example = "摩登天空会员需注意以下事项.....")
@ApiModelProperty(position = 7, value = "注意事项[200]", example = "摩登天空会员需注意以下事项.....")
private String notes;
/**
* '是否展示须知'
*/
@ApiModelProperty(position = 8, required = true, value = "是否展示须知[200]", example = "0")
@ApiModelProperty(position = 8, value = "是否展示须知[200]", example = "0")
private Integer isNotice;
/**
* 须知内容
*/
@ApiModelProperty(position = 9, required = true, value = "会员须知内容[200]", example = "会员须知细则1.xxxx\n2.xxxx")
@ApiModelProperty(position = 9, value = "会员须知内容[200]", example = "会员须知细则1.xxxx\n2.xxxx")
private String noticeInfo;
/**
* 须知标题
*/
@ApiModelProperty(position = 10, required = true, value = "会员须知标题[200]", example = "摩登天空会员须知")
@ApiModelProperty(position = 10, value = "会员须知标题[200]", example = "摩登天空会员须知")
private String noticeTitle;
/**
* 是否需要答题 0不需要 1需要
*/
@ApiModelProperty(position = 11, required = true, value = "是否需要答题[200]", example = "0")
@ApiModelProperty(position = 11, value = "是否需要答题[200]", example = "0")
private Integer needQuestion;
/**
* 是否展示协议 0否1是
*/
@ApiModelProperty(position = 12, required = true, value = "是否展示协议[200]", example = "0")
@ApiModelProperty(position = 12, value = "是否展示协议[200]", example = "0")
private Integer displayAgreement;
/**
* 会员协议
*/
@ApiModelProperty(position = 13, required = true, value = "会员协议内容[200]", example = "摩登天空会员协议须知....")
private String agreement;
/**
* 限购数量
*/
@ApiModelProperty(position = 14, required = true, value = "限购数量,0不限购[200]", example = "0")
// @ApiModelProperty(position = 13, value = "会员协议内容[200]", example = "摩登天空会员协议须知....")
// private String agreement;
@ApiModelProperty(position = 14, value = "限购数量,0不限购[200]", example = "0")
private Integer limitation;
@ApiModelProperty(position = 15, value = "会员卡价格信息")
private List<AdamMemberPriceVo> priceVoList;
@ApiModelProperty(position = 16, value = "会员专属权益")
private List<AdamMemberRightsVo> rightsVoList;
@ApiModelProperty(position = 17, value = "用户会员信息")
private AdamUserMemberVo memberInfo;
@ApiModelProperty(position = 15, required = true, value = "会员卡价格ID", dataType = "List")
private List<AdamMemberPriceVo> adamMemberPrice;
private static final AdamMemberVo obj = new AdamMemberVo();
public static AdamMemberVo getNew() {
try {
......@@ -128,7 +71,7 @@ public class AdamMemberVo implements java.io.Serializable, Cloneable {
* @return
*/
@JsonIgnore
public List<AdamMemberPriceVo> setMemberPrice(List<AdamMemberPrice> adamMemberPrices){
public static List<AdamMemberPriceVo> setMemberPrice(List<AdamMemberPrice> adamMemberPrices){
List<AdamMemberPriceVo> adamMemberPricesVo = new ArrayList<>();
for (int i =0;i<adamMemberPrices.size();i++){
AdamMemberPrice adamMemberPrice = adamMemberPrices.get(i);
......
......@@ -111,7 +111,7 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
return result;
}
// 验证价格是否有效
List<AdamMemberPriceVo> adamMemberPrice = adamMemberVo.getAdamMemberPrice();
List<AdamMemberPriceVo> adamMemberPrice = adamMemberVo.getPriceVoList();
AdamMemberPriceVo priceVo = null;
for (int i = 0; i < adamMemberPrice.size(); i++) {
AdamMemberPriceVo adamMemberPriceVo = adamMemberPrice.get(i);
......
......@@ -15,11 +15,12 @@ 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.util.*;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.List;
@Slf4j
......@@ -38,6 +39,7 @@ public class AdamMemberServiceImpl extends ServiceImpl<AdamMemberMapper, AdamMem
@Autowired
RedisUtil redisUtil;
// TODO: 2021/5/26 数据存取更正,不走MySql
@Override
public AdamMemberVo queryMemberInfo() {
AdamMemberVo info = null;
......@@ -65,7 +67,7 @@ public class AdamMemberServiceImpl extends ServiceImpl<AdamMemberMapper, AdamMem
memberPrice.add(tempMemberPrice);
}
info.setAdamMemberPrice(memberPrice);
info.setPriceVoList(memberPrice);
if (1 == tag) {
mongoTemplate.insert(info, AdamMemberVo.class.getSimpleName());
}
......
......@@ -75,7 +75,7 @@ public class AdamMemberServiceAdminImpl extends ServiceImpl<AdamMemberMapper, Ad
BeanUtils.copyProperties(adamMember, amv);
List<AdamMemberPrice> adamMemberPrices = adamMemberPriceMapper.memberPriceList(adamMember.getMemberId());
amv.setAdamMemberPrice((new AdamMemberVo()).setMemberPrice(adamMemberPrices));
amv.setPriceVoList(AdamMemberVo.setMemberPrice(adamMemberPrices));
// 添加数据到 Mongo
mongoTemplate.insert(Collections.singletonList(amv), AdamMemberVo.class.getSimpleName());
......
......@@ -39,8 +39,21 @@ public class PayOrderParam {
@ApiModelProperty(value = "代理id")
@NotNull(message = "必传")
private String agentId;
@ApiModelProperty(value = "快递类型 1寄付 2到付")
@NotNull(message = "必传")
private Integer expressType;
@ApiModelProperty(value = "支付类型")
@NotNull(message = "必传")
private String payType;
@ApiModelProperty(value = "支付来源")
@NotNull(message = "必传")
private String deviceFrom;
@ApiModelProperty(value = "openId")
private String openId;
@ApiModelProperty(value = "showUrl")
private String showUrl;
@ApiModelProperty(value = "returnUrl")
private String returnUrl;
}
package com.liquidnet.service.kylin.dto.vo;
import com.liquidnet.service.kylin.dto.param.CheckPerformanceRelationParam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -14,5 +15,5 @@ public class KylinCheckUserPerformanceVo implements Serializable {
private String checkUserId;
@ApiModelProperty(value = "演出id数组")
private List<String> performanceList;
private List<CheckPerformanceRelationParam> relationParams;
}
package com.liquidnet.service.kylin.dto.vo;
import lombok.Data;
import java.io.Serializable;
@Data
public class KylinOrderTicketEntitiesVo implements Serializable {
private static final long serialVersionUID = 1207664465164005975L;
private String orderTicketEntitiesId;
private String orderId;
private String ticketId;
private String userId;
private String performanceId;
private String timeId;
private Integer enterType;
private String enterName;
private String enterMobile;
private String enterIdCode;
private Integer status;
private Integer sysDamai;
private String checkClient;
private Integer isPayment;
}
package com.liquidnet.service.kylin.dto.vo;
import com.liquidnet.service.kylin.entity.KylinOrderTicketRelations;
import com.liquidnet.service.kylin.entity.KylinOrderTicketStatus;
import com.liquidnet.service.kylin.entity.KylinOrderTickets;
import lombok.Data;
import org.springframework.beans.BeanUtils;
import java.io.Serializable;
import java.math.BigDecimal;
@Data
public class KylinOrderTicketVo implements Serializable {
private static final long serialVersionUID = 5325511589667456213L;
private String orderTicketsId;
private String userId;
private String userName;
private String userMobile;
private String performanceTitle;
private String orderCode;
private String payCode;
private String qrCode;
private String orderType;
private String orderVersion;
private Integer number;
private BigDecimal price;
private BigDecimal priceMember;
private BigDecimal priceTotal;
private BigDecimal priceVoucher;
private BigDecimal priceActual;
private BigDecimal priceExpress;
private BigDecimal priceRefund;
private Integer refundNumber;
private String payType;
private String paymentType;
private String timePay;
private String expressContacts;
private String expressAddress;
private String expressPhone;
private String couponType;
private String getTicketType;
private String getTicketDescribe;
private Integer payCountdownMinute;
private Integer expressType;
private Integer isStudent;
private Integer transferStatus;
private Integer status;
private Integer payStatus;
private String transferId;
private String liveId;
private String performanceId;
private String timeId;
private String ticketId;
private String agentId;
private Integer isMember;
public void setOrderTicket(KylinOrderTickets orderTicket) {
BeanUtils.copyProperties(orderTicket,this);
}
public void setOrderTicketStatus(KylinOrderTicketStatus orderTicketStatus) {
BeanUtils.copyProperties(orderTicketStatus,this);
}
public void setOrderTicketRelation(KylinOrderTicketRelations orderTicketRelation) {
BeanUtils.copyProperties(orderTicketRelation,this);
}
}
......@@ -24,6 +24,8 @@ public class KylinPerformanceVo {
private String title;
@ApiModelProperty(value = "演出图片")
private String imgPoster;
@ApiModelProperty(value = "支付倒计时")
private Integer payCountdownMinute;
@ApiModelProperty(value = "101音乐节 102小型演出(livehouse演出) 103巡演")
// @ApiModelProperty(value = "演出类型 1音乐节 2演唱会 3小型演出 4展览 6舞台剧 101音乐节 102小型演出(livehouse演出) 103巡演")
private int type;
......@@ -85,6 +87,8 @@ public class KylinPerformanceVo {
private Integer isDiscount;
@ApiModelProperty(value = "是否提前")
private Integer isAdvance;
@ApiModelProperty(value = "是否同步大麦 0 1")
private Integer sysDamai;
@ApiModelProperty(value = "文案")
private String message;
@ApiModelProperty(value = "巡演数据")
......@@ -102,7 +106,7 @@ public class KylinPerformanceVo {
this.noticeImage = performance.getNoticeImage();
}
public void setTimePriceVipAndLack(int isLackRegister, int isMember, int isExclusive, BigDecimal price, LocalDateTime stopSellTime, LocalDateTime sellTime,int isAdvance,int isDiscount) {
public void setTimePriceVipAndLack(int isLackRegister, int isMember, int isExclusive, BigDecimal price, LocalDateTime stopSellTime, LocalDateTime sellTime,int isAdvance,int isDiscount,int payCountdownMinute) {
this.isLackRegister = isLackRegister;
this.isMember = isMember;
this.isExclusive = isExclusive;
......@@ -113,6 +117,7 @@ public class KylinPerformanceVo {
this.isDiscount = isDiscount;
this.isAdvance = isAdvance;
this.message = "";
this.payCountdownMinute = payCountdownMinute;
}
public void setFieldsData(KylinFields fields,String cityName){
......@@ -129,6 +134,7 @@ public class KylinPerformanceVo {
this.isTrueName = performanceStatus.getIsTrueName();
this.limitCount = performanceStatus.getLimitCount();
this.limitCountMember = performanceStatus.getLimitCountMember();
this.sysDamai = performanceStatus.getSyncDamai();
}
//TODO 巡演 搭售 场地
......
......@@ -56,6 +56,8 @@ public class KylinTicketVo {
private Integer isElectronic;
@ApiModelProperty(value = "是否快递票 0 1")
private Integer isExpress;
@ApiModelProperty(value = "是否同步大麦 0 1")
private Integer sysDamai;
@ApiModelProperty(value = "可验证次数")
private Integer counts;
@ApiModelProperty(value = "状态 -2新建 -1删除;0未提交;1审核中;2审核中(自动在售);3审核通过;4审核未通过;6在售;7停售;8售罄;9未开始;10已结束")
......@@ -120,6 +122,7 @@ public class KylinTicketVo {
this.limitCountMember = ticketStatus.getMemberLimitCount();
this.limitCount = ticketStatus.getLimitCount();
this.counts = ticketStatus.getCounts();
this.sysDamai = ticketStatus.getSyncDamai();
}
}
package com.liquidnet.service.kylin.dto.vo;
import lombok.Data;
import java.io.Serializable;
@Data
public class PayDataVo implements Serializable {
private static final long serialVersionUID = -5841205289132250565L;
private String appid;
private String noncestr;
private String packages;
private String partnerid;
private String prepayid;
private String sign;
private long timestamp;
}
package com.liquidnet.service.kylin.dto.vo;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
@Data
public class PayResultVo implements Serializable {
private static final long serialVersionUID = 1541552316829686035L;
private String code;
private String order_code;
private String order_id;
private BigDecimal price;
private PayDataVo pay_data;
}
package com.liquidnet.service.kylin.service;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.param.PayOrderParam;
import com.liquidnet.service.kylin.dto.vo.KylinPerformanceVo;
import com.liquidnet.service.kylin.dto.vo.KylinTicketVo;
import com.liquidnet.service.kylin.dto.vo.PayResultVo;
import com.liquidnet.service.kylin.entity.KylinOrderTickets;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* <p>
* 订单 服务类
......@@ -14,12 +20,13 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface IKylinOrderTicketsService extends IService<KylinOrderTickets> {
// 下单前判断接口(判断是否可锁定库存)
boolean checkCanOrder(PayOrderParam payOrderParam);
// 下单前判断接口(判断是否可锁定库存)(无订单->待支付->可支付)
ResponseDto<PayResultVo>checkCanOrder(PayOrderParam payOrderParam);
// 下单接口(无订单->待支付->可支付)
ResponseDto<PayResultVo> order(PayOrderParam payOrderParam, String uid, boolean isMember, int isTrueName, KylinPerformanceVo performanceData, KylinTicketVo ticketData);
// 再次支付(待支付->可支付->倒计时结束释放库存)
// 再次支付(待支付->可支付->倒计时结束释放库存)
// 取消支付(待支付->订单失效->释放库存->中断倒计时)
......
......@@ -22,10 +22,10 @@ import java.util.List;
public interface IKylinCheckUserPerformancesPartnerService extends IService<KylinCheckUserPerformances> {
// 已配置列表
ResponseDto<PageInfo<ChildPerformanceDao>> childPerformanceList(String merchantId,String checkUserId,int page,int size);
ResponseDto<PageInfo<ChildPerformanceDao>> childPerformanceList(String merchantId,String checkUserId,int page,int size,String name);
// 未配置列表
ResponseDto<PageInfo<ChildPerformanceDao>> unChildPerformanceList(String merchantId,String checkUserId,int page,int size);
ResponseDto<PageInfo<ChildPerformanceDao>> unChildPerformanceList(String merchantId,String checkUserId,int page,int size,String name);
// 添加配置
ResponseDto<String> setPerformance(CheckUserParam param);
......
......@@ -2,8 +2,10 @@ package com.liquidnet.service.kylin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
......@@ -44,6 +46,11 @@ public class KylinOrderTicketEntities implements Serializable {
*/
private String userId;
/**
* 场次id
*/
private String timeId;
/**
* 演出id
*/
......@@ -85,7 +92,7 @@ public class KylinOrderTicketEntities implements Serializable {
private String checkClient;
/**
* 支付状态: 0未支付 1已支付 2退款中 3已退款
* 支付状态: 0未支付 1已支付 2退款中 3已退款
*/
private Integer isPayment;
......@@ -104,5 +111,16 @@ public class KylinOrderTicketEntities implements Serializable {
*/
private LocalDateTime updatedAt;
/**
* 获取 添加 数据库参数
*
* @return
*/
public Object[] getAddObject() {
return new Object[]{
orderTicketEntitiesId, orderId, ticketId, userId, timeId, performanceId, enterType,
enterName, enterMobile, enterIdCode, status, sysDamai, checkClient, isPayment, comment,
createdAt, updatedAt
};
}
}
......@@ -2,8 +2,10 @@ package com.liquidnet.service.kylin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
......@@ -52,7 +54,22 @@ public class KylinOrderTicketRelations implements Serializable {
/**
* 购买者是否是会员
*/
private String isMember;
private Integer isMember;
/**
* 演出id
*/
private String performanceId;
/**
* 场次id
*/
private String timeId;
/**
* 票id
*/
private String ticketId;
/**
* 创建时间
......@@ -64,5 +81,15 @@ public class KylinOrderTicketRelations implements Serializable {
*/
private LocalDateTime updatedAt;
/**
* 获取 添加 数据库参数
*
* @return
*/
public Object[] getAddObject() {
return new Object[]{
orderTicketRelationsId, orderId, transferId, liveId, agentId, isMember, performanceId, timeId, ticketId, createdAt, updatedAt
};
}
}
......@@ -39,6 +39,11 @@ public class KylinOrderTicketStatus implements Serializable {
*/
private Integer expressType;
/**
* 是否学生票 1是 2否
*/
private Integer isStudent;
/**
* 转移状态,0未转移,1收到他人转赠,2已转赠给他人
*/
......@@ -64,5 +69,14 @@ public class KylinOrderTicketStatus implements Serializable {
*/
private LocalDateTime updatedAt;
/**
* 获取 添加 数据库参数
* @return
*/
public Object[] getAddObject() {
return new Object[]{
orderTicketStatusId, orderId, expressType, isStudent, transferStatus, status, payStatus, createdAt, updatedAt
};
}
}
package com.liquidnet.service.kylin.entity;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
......@@ -55,6 +58,11 @@ public class KylinOrderTickets implements Serializable {
*/
private String orderCode;
/**
* 支付订单号
*/
private String payCode;
/**
* 二维码地址
*/
......@@ -163,7 +171,7 @@ public class KylinOrderTickets implements Serializable {
/**
* 订单过期时间
*/
private String payCountdownMinute;
private Integer payCountdownMinute;
/**
* comment
......@@ -180,5 +188,17 @@ public class KylinOrderTickets implements Serializable {
*/
private LocalDateTime updatedAt;
/**
* 获取 添加 数据库参数
* @return
*/
public Object[] getAddObject() {
return new Object[]{
orderTicketsId, userId, userName, userMobile, performanceTitle, orderCode, qrCode, orderType, orderVersion,
number, price, priceMember, priceTotal, priceVoucher, priceActual, priceExpress, priceRefund, refundNumber,
payType, paymentType, timePay, expressContacts, expressAddress, expressPhone, couponType, getTicketType,
getTicketDescribe, payCountdownMinute, comment, createdAt, updatedAt
};
}
}
......@@ -17,7 +17,7 @@ import java.util.List;
*/
public interface KylinCheckUserPerformancesMapper extends BaseMapper<KylinCheckUserPerformances> {
List<ChildPerformanceDao> childPerformanceList(String merchantId,String checkUserId);
List<ChildPerformanceDao> childPerformanceList(String merchantId,String checkUserId,String name);
List<ChildPerformanceDao> unChildPerformanceList(String merchantId,String checkUserId);
List<ChildPerformanceDao> unChildPerformanceList(String merchantId,String checkUserId,String name);
}
......@@ -25,6 +25,9 @@
LEFT JOIN kylin_performance_relations AS pr ON pr.performance_id = p.performances_id
<where>
pr.merchant_id = #{merchantId} AND cup.check_user_id = #{checkUserId}
<if test="name!=''">
AND title LIKE concat('%', #{name}, '%')
</if>
</where>
</select>
......@@ -42,5 +45,8 @@
WHERE check_user_id = #{checkUserId}
)
AND pr.merchant_id = #{merchantId}
<if test="name!=''">
AND title LIKE concat('%', #{name}, '%')
</if>
</select>
</mapper>
......@@ -414,6 +414,7 @@ CREATE TABLE `kylin_order_tickets`
`user_mobile` varchar(255) NOT NULL DEFAULT '' COMMENT '用户手机号',
`performance_title` varchar(255) NOT NULL DEFAULT '' COMMENT '演出名称',
`order_code` varchar(255) NOT NULL DEFAULT '' COMMENT '订单号',
`pay_code` varchar(255) NOT NULL DEFAULT '' COMMENT '支付单号',
`qr_code` varchar(255) NOT NULL DEFAULT '' COMMENT '二维码地址',
`order_type` varchar(255) NOT NULL DEFAULT '' COMMENT '下单方式',
`order_version` varchar(255) NOT NULL DEFAULT '' COMMENT '下单版本',
......@@ -435,7 +436,7 @@ CREATE TABLE `kylin_order_tickets`
`coupon_type` varchar(255) NOT NULL DEFAULT '' COMMENT '券使用类别',
`get_ticket_type` varchar(255) NOT NULL DEFAULT '' COMMENT '取票方式 电子票electronic快递票express',
`get_ticket_describe` varchar(255) NOT NULL DEFAULT '' COMMENT '直播用取票观演码,隔开',
`pay_countdown_minute` varchar(255) NOT NULL DEFAULT '' COMMENT '订单过期时间',
`pay_countdown_minute` int(32) NOT NULL DEFAULT 15 COMMENT '订单过期时间(分钟)',
`comment` varchar(255) NOT NULL DEFAULT '' COMMENT 'comment',
`created_at` datetime NULL DEFAULT NULL COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT NULL COMMENT '修改时间',
......@@ -452,8 +453,11 @@ CREATE TABLE `kylin_order_ticket_relations`
`order_id` varchar(255) NOT NULL DEFAULT '' COMMENT '订单id',
`transfer_id` varchar(255) NOT NULL DEFAULT '' COMMENT '转增订单id',
`live_id` varchar(255) NOT NULL DEFAULT '' COMMENT '关联直播id',
`performance_id` varchar(255) NOT NULL DEFAULT '' COMMENT '演出id',
`time_id` varchar(255) NOT NULL DEFAULT '' COMMENT '场次id',
`ticket_id` varchar(255) NOT NULL DEFAULT '' COMMENT '票id',
`agent_id` varchar(255) NOT NULL DEFAULT '' COMMENT '分销代理id',
`is_member` varchar(255) NOT NULL DEFAULT '' COMMENT '购买者是否是会员',
`is_member` int NOT NULL DEFAULT 0 COMMENT '购买者是否是会员',
`created_at` datetime NULL DEFAULT NULL COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT NULL COMMENT '修改时间',
KEY `kylin_order_ticket_relations_uid_index` (`order_ticket_relations_id`),
......@@ -468,6 +472,7 @@ CREATE TABLE `kylin_order_ticket_status`
`order_ticket_status_id` varchar(255) NOT NULL DEFAULT '' COMMENT 'order_ticket_status_id',
`order_id` varchar(255) NOT NULL DEFAULT '' COMMENT '订单id',
`express_type` tinyint NOT NULL DEFAULT 1 COMMENT '快递方式 1寄付 2到付',
`is_student` tinyint NOT NULL DEFAULT 0 COMMENT '是否学生票 1是 2否',
`transfer_status` tinyint NOT NULL DEFAULT 0 COMMENT '转移状态,0未转移,1收到他人转赠,2已转赠给他人',
`status` tinyint NOT NULL DEFAULT 0 COMMENT '订单状态:0待付款,1已付款,2已关闭,3正在退款,4已退款, 5待关闭 6部分退款',
`pay_status` tinyint NOT NULL DEFAULT 0 COMMENT '支付状态:0未支付 1已支付 2支付失败',
......@@ -489,6 +494,7 @@ CREATE TABLE `kylin_order_ticket_entities`
`ticket_id` varchar(255) NOT NULL DEFAULT '' COMMENT '票务id',
`user_id` varchar(255) NOT NULL DEFAULT '' COMMENT '用户id',
`performance_id` varchar(255) NOT NULL DEFAULT '' COMMENT '演出id',
`time_id` varchar(255) NOT NULL DEFAULT '' COMMENT '场次id',
`enter_type` int(11) NOT NULL DEFAULT 1 COMMENT '入场人证件类型 1大陆身份证 2港澳通行证 3台胞证 4护照 5军官证',
`enter_name` varchar(255) NOT NULL DEFAULT '' COMMENT '入场人姓名',
`enter_mobile` varchar(255) NOT NULL DEFAULT '' COMMENT '入场人联系电话',
......
package com.liquidnet.service.kylin.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.param.PayOrderParam;
import com.liquidnet.service.kylin.dto.vo.PayResultVo;
import com.liquidnet.service.kylin.service.impl.KylinOrderTicketsServiceImpl;
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.*;
/**
* <p>
......@@ -13,8 +19,19 @@ import org.springframework.web.bind.annotation.RestController;
* @author liquidnet
* @since 2021-05-20
*/
@Api(tags = "前端-订单相关")
@RestController
@RequestMapping("order")
public class KylinOrderTicketsController {
@Autowired
private KylinOrderTicketsServiceImpl orderTicketsService;
@PostMapping("pre")
@ApiOperation("下单")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<PayResultVo> checkCanOrder(@RequestBody PayOrderParam payOrderParam) {
return orderTicketsService.checkCanOrder(payOrderParam);
}
}
......@@ -55,8 +55,9 @@ public class KylinCheckUserPerformancesPartnerController {
public ResponseDto<PageInfo<ChildPerformanceDao>> childPerformanceList(@RequestParam("merchantId") String merchantId,
@RequestParam("checkUserId") String checkUserId,
@RequestParam("page") int page,
@RequestParam("size") int size) {
return userPerformancesPartnerService.childPerformanceList(merchantId, checkUserId, page, size);
@RequestParam("size") int size,
@RequestParam("name") String name) {
return userPerformancesPartnerService.childPerformanceList(merchantId, checkUserId, page, size,name);
}
@GetMapping(value = "unRelation")
......@@ -65,7 +66,8 @@ public class KylinCheckUserPerformancesPartnerController {
public ResponseDto<PageInfo<ChildPerformanceDao>> unChildPerformanceList(@RequestParam("merchantId") String merchantId,
@RequestParam("checkUserId") String checkUserId,
@RequestParam("page") int page,
@RequestParam("size") int size) {
return userPerformancesPartnerService.unChildPerformanceList(merchantId, checkUserId, page, size);
@RequestParam("size") int size,
@RequestParam("name") String name) {
return userPerformancesPartnerService.unChildPerformanceList(merchantId, checkUserId, page, size,name);
}
}
......@@ -49,11 +49,11 @@ public class KylinCheckUserPerformancesPartnerServiceImpl extends ServiceImpl<Ky
private KylinCheckUserPerformancesMapper checkUserPerformancesMapper;
@Override
public ResponseDto<PageInfo<ChildPerformanceDao>> childPerformanceList(String merchantId, String checkUserId, int page, int size) {
public ResponseDto<PageInfo<ChildPerformanceDao>> childPerformanceList(String merchantId, String checkUserId, int page, int size,String name) {
PageInfo<ChildPerformanceDao> pageInfo = null;
try {
PageHelper.startPage(page, size);
List<ChildPerformanceDao> data = checkUserPerformancesMapper.childPerformanceList(merchantId, checkUserId);
List<ChildPerformanceDao> data = checkUserPerformancesMapper.childPerformanceList(merchantId, checkUserId,name);
pageInfo = new PageInfo(data);
return ResponseDto.success(pageInfo);
} catch (Exception e) {
......@@ -62,11 +62,11 @@ public class KylinCheckUserPerformancesPartnerServiceImpl extends ServiceImpl<Ky
}
@Override
public ResponseDto<PageInfo<ChildPerformanceDao>> unChildPerformanceList(String merchantId, String checkUserId, int page, int size) {
public ResponseDto<PageInfo<ChildPerformanceDao>> unChildPerformanceList(String merchantId, String checkUserId, int page, int size,String name) {
PageInfo<ChildPerformanceDao> pageInfo = null;
try {
PageHelper.startPage(page, size);
List<ChildPerformanceDao> data = checkUserPerformancesMapper.unChildPerformanceList(merchantId, checkUserId);
List<ChildPerformanceDao> data = checkUserPerformancesMapper.unChildPerformanceList(merchantId, checkUserId,name);
pageInfo = new PageInfo(data);
return ResponseDto.success(pageInfo);
} catch (Exception e) {
......@@ -77,7 +77,7 @@ public class KylinCheckUserPerformancesPartnerServiceImpl extends ServiceImpl<Ky
@Override
public ResponseDto<String> setPerformance(CheckUserParam param) {
try {
List<String> performanceList = new ArrayList<>();
List<CheckPerformanceRelationParam> performanceList = new ArrayList<>();
for (CheckPerformanceRelationParam item : param.getCheckPerformanceRelationParamList()) {
KylinCheckUserPerformances checkUserPerformances = new KylinCheckUserPerformances();
checkUserPerformances.setCheckUserId(param.getCheckUserId());
......@@ -87,17 +87,17 @@ public class KylinCheckUserPerformancesPartnerServiceImpl extends ServiceImpl<Ky
checkUserPerformances.setCreatedAt(LocalDateTime.now());
checkUserPerformances.setStatus(1);
checkUserPerformancesMapper.insert(checkUserPerformances);
performanceList.add(item.getPerformanceId());
performanceList.add(item);
}
KylinCheckUserPerformanceVo userPerformanceVo = new KylinCheckUserPerformanceVo();
userPerformanceVo.setCheckUserId(param.getCheckUserId());
userPerformanceVo.setPerformanceList(performanceList);
userPerformanceVo.setRelationParams(performanceList);
mongoTemplate.remove(Query.query(Criteria.where("checkUserId").is(param.getCheckUserId())), KylinCheckUserPerformanceVo.class, KylinCheckUserPerformanceVo.class.getSimpleName());
mongoTemplate.insert(userPerformanceVo, KylinCheckUserPerformanceVo.class.getSimpleName());
redisUtil.hdel(KylinRedisConst.CHECK_USER_RELATION,param.getCheckUserId());
redisUtil.hdel(KylinRedisConst.CHECK_USER_RELATION, param.getCheckUserId());
return ResponseDto.success("添加成功");
}catch (Exception e){
} catch (Exception e) {
return ResponseDto.failure(ErrorMapping.get(20101));
}
}
......@@ -105,19 +105,26 @@ public class KylinCheckUserPerformancesPartnerServiceImpl extends ServiceImpl<Ky
@Override
public ResponseDto<String> delPerformance(List<String> performanceIds, String checkUserId) {
try {
List<String> performanceList = new ArrayList<>();
for (String performanceId : performanceIds) {
performanceList.add(performanceId);
checkUserPerformancesMapper.delete(new UpdateWrapper<KylinCheckUserPerformances>().eq("check_user_id", checkUserId).eq("performance_id", performanceId));
}
mongoTemplate.remove(Query.query(Criteria.where("checkUserId").is(checkUserId)), KylinCheckUserPerformanceVo.class, KylinCheckUserPerformanceVo.class.getSimpleName());
KylinCheckUserPerformanceVo userPerformanceVo = new KylinCheckUserPerformanceVo();
List<CheckPerformanceRelationParam> performanceRelationParamsList = new ArrayList<>();
List<KylinCheckUserPerformances> data = checkUserPerformancesMapper.selectList(new UpdateWrapper<KylinCheckUserPerformances>().eq("check_user_id", checkUserId));
for (KylinCheckUserPerformances item : data) {
CheckPerformanceRelationParam performanceRelationParam = new CheckPerformanceRelationParam();
performanceRelationParam.setCanDownTime(item.getCanDownTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
performanceRelationParam.setPerformanceId(item.getCheckUserPerformanceId());
performanceRelationParamsList.add(performanceRelationParam);
}
userPerformanceVo.setCheckUserId(checkUserId);
userPerformanceVo.setPerformanceList(performanceList);
mongoTemplate.remove(Query.query(Criteria.where("checkUserId").is(checkUserId)), KylinCheckUserPerformanceVo.class, KylinCheckUserPerformanceVo.class.getSimpleName());
userPerformanceVo.setRelationParams(performanceRelationParamsList);
mongoTemplate.insert(userPerformanceVo, KylinCheckUserPerformanceVo.class.getSimpleName());
redisUtil.hdel(KylinRedisConst.CHECK_USER_RELATION,checkUserId);
redisUtil.hdel(KylinRedisConst.CHECK_USER_RELATION, checkUserId);
return ResponseDto.success("删除成功");
}catch (Exception e){
} catch (Exception e) {
return ResponseDto.failure(ErrorMapping.get(20102));
}
}
......
......@@ -487,6 +487,7 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
int isExclusive = 0;
int isAdvance = 0;
int isDiscount = 0;
int payCountdownMinute = 15;
BigDecimal price = new BigDecimal("0.00");
......@@ -549,6 +550,8 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
isLackRegister = 1;
}
payCountdownMinute = tickets.getPayCountdownMinute();
if (price.subtract(kylinTicketVo.getPrice()).compareTo(new BigDecimal("0.00")) < 0) {
price = kylinTicketVo.getPrice();
}
......@@ -568,7 +571,7 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
}
}
kylinPerformanceVoData.setTimePriceVipAndLack(isLackRegister, isMember, isExclusive, price, stopSellTime, sellTime, isAdvance, isDiscount);
kylinPerformanceVoData.setTimePriceVipAndLack(isLackRegister, isMember, isExclusive, price, stopSellTime, sellTime, isAdvance, isDiscount,payCountdownMinute);
boolean performanceExists =
mongoTemplate.exists(Query.query(Criteria.where("performancesId").is(kylinPerformanceVoData.getPerformancesId())), KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
......
......@@ -102,6 +102,11 @@ public class DataUtils {
return (int) redisUtil.hincr(KylinRedisConst.PERFORMANCES_INVENTORY + ticketId, KylinRedisConst.SURPLUS_GENERAL, surplusExchange);
}
/**
* 根据演出id 获取 演出vo 详情
* @param performanceId
* @return
*/
public KylinPerformanceVo getPerformanceVo(String performanceId){
if(redisUtil.hHasKey(KylinRedisConst.PERFORMANCES,performanceId)){
}else{
......@@ -111,15 +116,25 @@ public class DataUtils {
return (KylinPerformanceVo) redisUtil.hget(KylinRedisConst.PERFORMANCES,performanceId);
}
/**
* 根据场次id 获取 场次vo 详情
* @param ticketTimeId
* @return
*/
public KylinTicketTimesVo getTicketTimesVo(String ticketTimeId){
if(redisUtil.hHasKey(KylinRedisConst.TIMES,ticketTimeId)){
}else{
KylinTicketTimesVo ticketTimesData = mongoTemplate.findOne(Query.query(Criteria.where("ticketTimesId").is(ticketTimeId)), KylinTicketTimesVo.class, KylinTicketTimes.class.getSimpleName());
KylinTicketTimesVo ticketTimesData = mongoTemplate.findOne(Query.query(Criteria.where("ticketTimesId").is(ticketTimeId)), KylinTicketTimesVo.class, KylinTicketTimesVo.class.getSimpleName());
redisUtil.hset(KylinRedisConst.TIMES,ticketTimeId,ticketTimesData);
}
return (KylinTicketTimesVo) redisUtil.hget(KylinRedisConst.TIMES,ticketTimeId);
}
/**
* 根据票种id 获取 票种vo 详情
* @param ticketId
* @return
*/
public KylinTicketVo getTicketVo(String ticketId){
if(redisUtil.hHasKey(KylinRedisConst.TICKET,ticketId)){
}else{
......@@ -128,5 +143,4 @@ public class DataUtils {
}
return (KylinTicketVo) redisUtil.hget(KylinRedisConst.TICKET,ticketId);
}
}
kylin_order_ticket_entities.add=UPDATE adam_enters SET `state`=2, updated_at=?, deleted_at=? where enters_id=?
\ No newline at end of file
kylin_order_ticket_relation.add=UPDATE adam_enters SET `state`=2, updated_at=?, deleted_at=? where enters_id=?
\ No newline at end of file
kylin_order_ticket_status.add=UPDATE adam_enters SET `state`=2, updated_at=?, deleted_at=? where enters_id=?
\ No newline at end of file
kylin_order_ticket.add=UPDATE adam_enters SET `state`=2, updated_at=?, deleted_at=? where enters_id=?
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment