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

Commit e722a750 authored by 张国柄's avatar 张国柄

+验票API:登录(密码、验证码)、演出列表、下载验票、上载验票;

parent b9c8aef4
...@@ -18,17 +18,10 @@ import java.util.*; ...@@ -18,17 +18,10 @@ import java.util.*;
* @version 1.0 2015年10月16日 13:32:00 * @version 1.0 2015年10月16日 13:32:00
*/ */
public abstract class DateUtil { public abstract class DateUtil {
/**
* 定义常量
**/
public static final String DATE_JFP_STR = "yyyyMM";
public static final String DATE_FULL_STR = "yyyy-MM-dd HH:mm:ss"; public static final String DATE_FULL_STR = "yyyy-MM-dd HH:mm:ss";
public static final String DATE_SMALL_STR = "yyyy-MM-dd"; public static final String DATE_SMALL_STR = "yyyy-MM-dd";
public static final String DATE_KEY_STR = "yyyyMMddHHmmss";
/** /**
* 日期格式化器 * 日期格式化器
*/ */
...@@ -37,6 +30,7 @@ public abstract class DateUtil { ...@@ -37,6 +30,7 @@ public abstract class DateUtil {
MM_dd("MM-dd"), MM_dd("MM-dd"),
yyyyMMdd("yyyyMMdd"), yyyyMMdd("yyyyMMdd"),
yyyy_MM_dd("yyyy-MM-dd"), yyyy_MM_dd("yyyy-MM-dd"),
yyyy_MM_dd2("yyyy/MM/dd"),
yyyyMMddHH("yyyy-MM-dd HH"), yyyyMMddHH("yyyy-MM-dd HH"),
yyyyMMddHHmm("yyyy-MM-dd HH:mm"), yyyyMMddHHmm("yyyy-MM-dd HH:mm"),
yyyyMMddHHmmss("yyyy-MM-dd HH:mm:ss"), yyyyMMddHHmmss("yyyy-MM-dd HH:mm:ss"),
......
package com.liquidnet.service.kylin.dto.param;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@ApiModel(value = "KylinStationCheckDataParam", description = "上载验票入参")
@Data
public class KylinStationCheckOrderParam implements Serializable {
private static final long serialVersionUID = 2312115659117282564L;
@ApiModelProperty(position = 10, value = "演出ID[64]")
private String performanceId;
@ApiModelProperty(position = 11, value = "订单号")
private String orderCode;
@ApiModelProperty(position = 12, value = "二维码地址")
private String qrCode;
@ApiModelProperty(position = 13, value = "付款张数")
private Integer number;
@ApiModelProperty(position = 14, value = "退款张数")
private Integer refundNumber;
@ApiModelProperty(position = 16, value = "订单状态:0-待付款,1-已付款,2-已关闭,3-正在退款,4-已退款,5-待关闭,6-部分退款")
private Integer status;
@ApiModelProperty(position = 17, value = "支付状态:0-未支付,1-已支付,2-支付失败")
private Integer payStatus;
@ApiModelProperty(position = 18, value = "是否学生票[1-是,2-否]")
private Integer isStudent;
@ApiModelProperty(position = 19, value = "购买者是否是会员[0-否,1-是]")
private Integer isMember;
@ApiModelProperty(position = 30, value = "*验票张数")
private Integer checkedNumber;
@ApiModelProperty(position = 31, value = "*是否已同步[0-否,1-是]")
private Integer synced;
}
...@@ -3,44 +3,75 @@ package com.liquidnet.service.kylin.dto.vo; ...@@ -3,44 +3,75 @@ package com.liquidnet.service.kylin.dto.vo;
import com.liquidnet.service.kylin.entity.KylinOrderTicketRelations; import com.liquidnet.service.kylin.entity.KylinOrderTicketRelations;
import com.liquidnet.service.kylin.entity.KylinOrderTicketStatus; import com.liquidnet.service.kylin.entity.KylinOrderTicketStatus;
import com.liquidnet.service.kylin.entity.KylinOrderTickets; import com.liquidnet.service.kylin.entity.KylinOrderTickets;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
@ApiModel(value = "KylinOrderTicketVo", description = "订单数据")
@Data @Data
public class KylinOrderTicketVo implements Serializable { public class KylinOrderTicketVo implements Serializable {
private static final long serialVersionUID = 5325511589667456213L; private static final long serialVersionUID = 5325511589667456213L;
@ApiModelProperty(position = 10, value = "ID")
private String orderTicketsId; private String orderTicketsId;
@ApiModelProperty(position = 11, value = "用户ID[64]")
private String userId; private String userId;
@ApiModelProperty(position = 12, value = "用户昵称")
private String userName; private String userName;
@ApiModelProperty(position = 13, value = "用户手机号")
private String userMobile; private String userMobile;
@ApiModelProperty(position = 14, value = "演出名称")
private String performanceTitle; private String performanceTitle;
@ApiModelProperty(position = 15, value = "订单号")
private String orderCode; private String orderCode;
@ApiModelProperty(position = 16, value = "支付单号")
private String payCode; private String payCode;
@ApiModelProperty(position = 17, value = "二维码地址")
private String qrCode; private String qrCode;
@ApiModelProperty(position = 18, value = "下单方式")
private String orderType; private String orderType;
@ApiModelProperty(position = 19, value = "下单版本")
private String orderVersion; private String orderVersion;
@ApiModelProperty(position = 20, value = "数量")
private Integer number; private Integer number;
@ApiModelProperty(position = 21, value = "单价")
private BigDecimal price; private BigDecimal price;
@ApiModelProperty(position = 22, value = "会员单价")
private BigDecimal priceMember; private BigDecimal priceMember;
@ApiModelProperty(position = 23, value = "应付价格")
private BigDecimal priceTotal; private BigDecimal priceTotal;
@ApiModelProperty(position = 24, value = "优惠价格")
private BigDecimal priceVoucher; private BigDecimal priceVoucher;
@ApiModelProperty(position = 25, value = "实付价格")
private BigDecimal priceActual; private BigDecimal priceActual;
@ApiModelProperty(position = 26, value = "快递价格")
private BigDecimal priceExpress; private BigDecimal priceExpress;
@ApiModelProperty(position = 27, value = "退款价格")
private BigDecimal priceRefund; private BigDecimal priceRefund;
@ApiModelProperty(position = 28, value = "退款张数")
private Integer refundNumber; private Integer refundNumber;
@ApiModelProperty(position = 29, value = "选择支付方式")
private String payType; private String payType;
@ApiModelProperty(position = 30, value = "实际支付方式")
private String paymentType; private String paymentType;
@ApiModelProperty(position = 31, value = "支付时间")
private String timePay; private String timePay;
@ApiModelProperty(position = 32, value = "收货人")
private String expressContacts; private String expressContacts;
@ApiModelProperty(position = 33, value = "收货地址")
private String expressAddress; private String expressAddress;
@ApiModelProperty(position = 34, value = "收货人联系方式")
private String expressPhone; private String expressPhone;
@ApiModelProperty(position = 35, value = "券使用类别")
private String couponType; private String couponType;
@ApiModelProperty(position = 36, value = "取票方式 电子票electronic快递票express")
private String getTicketType; private String getTicketType;
@ApiModelProperty(position = 37, value = "直播用取票观演码,隔开")
private String getTicketDescribe; private String getTicketDescribe;
@ApiModelProperty(position = 38, value = "订单过期时间(分钟)")
private Integer payCountdownMinute; private Integer payCountdownMinute;
private Integer expressType; private Integer expressType;
......
package com.liquidnet.service.kylin.dto.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@ApiModel(value = "KylinStationCheckOrderVo", description = "下载验票-订单响应参数")
@Data
public class KylinStationCheckOrderVo implements Serializable {
private static final long serialVersionUID = 7450966265904643147L;
@ApiModelProperty(position = 10, value = "演出ID[64]")
private String performanceId;
@ApiModelProperty(position = 11, value = "订单号")
private String orderCode;
@ApiModelProperty(position = 12, value = "二维码地址")
private String qrCode;
@ApiModelProperty(position = 13, value = "用户昵称")
private String userName;
@ApiModelProperty(position = 14, value = "用户手机号")
private String userMobile;
@ApiModelProperty(position = 16, value = "付款张数")
private Integer number;
@ApiModelProperty(position = 17, value = "退款张数")
private Integer refundNumber;
@ApiModelProperty(position = 18, value = "订单状态:0-待付款,1-已付款,2-已关闭,3-正在退款,4-已退款,5-待关闭,6-部分退款")
private Integer status;
@ApiModelProperty(position = 19, value = "支付状态:0-未支付,1-已支付,2-支付失败")
private Integer payStatus;
@ApiModelProperty(position = 20, value = "是否学生票[1-是,2-否]")
private Integer isStudent;
@ApiModelProperty(position = 21, value = "购买者是否是会员[0-否,1-是]")
private Integer isMember;
@ApiModelProperty(position = 30, value = "*验票张数")
private Integer checkedNumber;
@ApiModelProperty(position = 31, value = "*是否已同步[0-否,1-是]")
private Integer synced;
private static final KylinStationCheckOrderVo obj = new KylinStationCheckOrderVo();
public static KylinStationCheckOrderVo getNew() {
try {
return (KylinStationCheckOrderVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new KylinStationCheckOrderVo();
}
}
}
package com.liquidnet.service.kylin.dto.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
@ApiModel(value = "KylinStationPerformanceVo", description = "演出列表响应参数")
@Data
public class KylinStationPerformanceVo implements Serializable, Cloneable {
private static final long serialVersionUID = -4994363974994478286L;
@ApiModelProperty(position = 10, value = "演出ID[64]")
private String performanceId;
@ApiModelProperty(position = 11, value = "类型[101-音乐节,102小型演出(livehouse演出),103巡演]")
private Integer type;
@ApiModelProperty(position = 12, value = "演出标题[255]")
private String title;
@ApiModelProperty(position = 13, value = "开始时间[yyyy/MM/dd]")
private String timeStart;
@ApiModelProperty(position = 14, value = "结束时间[yyyy/MM/dd]")
private String timeEnd;
@ApiModelProperty(position = 15, value = "票种列表信息")
private List<KylinStationTicketVo> ticketVoList;
private static final KylinStationPerformanceVo obj = new KylinStationPerformanceVo();
public static KylinStationPerformanceVo getNew() {
try {
return (KylinStationPerformanceVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new KylinStationPerformanceVo();
}
}
}
package com.liquidnet.service.kylin.dto.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
@ApiModel(value = "KylinStationTicketVo", description = "票种统计信息")
@Data
public class KylinStationTicketVo implements Serializable, Cloneable {
private static final long serialVersionUID = 1303234075649915021L;
@ApiModelProperty(position = 10, value = "票种ID[64]")
private String ticketsId;
@ApiModelProperty(position = 11, value = "类型[1-单日票,2-通票]")
private String type;
@ApiModelProperty(position = 12, value = "名称[32]")
private String title;
@ApiModelProperty(position = 13, value = "单价(8,2)")
private BigDecimal price;
@ApiModelProperty(position = 14, value = "适用开始时间")
private String useStart;
@ApiModelProperty(position = 15, value = "适用结束时间")
private String useEnd;
@ApiModelProperty(position = 16, value = "票房")
private BigDecimal priceSum;
@ApiModelProperty(position = 17, value = "票量[9]")
private Integer number;
@ApiModelProperty(position = 18, value = "已验票量[9]")
private Integer checkedNum;
@ApiModelProperty(position = 19, value = "余量[9]")
private Integer remainderNum;
}
package com.liquidnet.service.kylin.controller;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.param.KylinStationCheckOrderParam;
import com.liquidnet.service.kylin.dto.vo.KylinStationCheckOrderVo;
import com.liquidnet.service.kylin.dto.vo.KylinStationPerformanceVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import java.util.Collections;
import java.util.List;
@Api(tags = "验票")
@Slf4j
@RestController
@RequestMapping("station")
public class KylinStationController {
@ApiOperation(value = "手机号密码登录")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", dataType = "String", name = "mobile", value = "手机号"),
@ApiImplicitParam(type = "form", dataType = "String", name = "passwd", value = "密码"),
})
@PostMapping("login")
public ResponseDto<String> login(@RequestParam String mobile, @RequestParam String passwd) {
log.info("mobile:{},passwd:{}", mobile, passwd);
return ResponseDto.success("token........");
}
@ApiOperation(value = "手机号验证码登录")
@ApiImplicitParams({
@ApiImplicitParam(type = "body", required = true, dataType = "String", name = "mobile", value = "手机号"),
@ApiImplicitParam(type = "body", required = true, dataType = "String", name = "code", value = "验证码"),
})
@PostMapping("login/sms")
public ResponseDto<String> loginBySms(@RequestParam String mobile, @RequestParam String code) {
log.info("mobile:{},code:{}", mobile, code);
return ResponseDto.success("token.........");
}
/* ------------------------------------------------------------------ */
@ApiOperation(value = "演出列表")
@ApiImplicitParams({
@ApiImplicitParam(type = "body", required = true, dataType = "String", name = "mod", value = "模块[recent-近期的,down-已下载,over-历史]", allowableValues = "recent,down,over"),
})
@GetMapping("performances/{mod}")
public ResponseDto<KylinStationPerformanceVo> performances(@PathVariable String mod) {
log.info("mod:{}", mod);
return ResponseDto.success(KylinStationPerformanceVo.getNew());
}
@ApiOperation(value = "下载验票数据")
@ApiImplicitParams({
@ApiImplicitParam(type = "body", required = true, dataType = "String", name = "type", value = "类型[101-音乐节,102小型演出(livehouse演出),103巡演]", allowableValues = "101,102,103"),
@ApiImplicitParam(type = "body", required = true, dataType = "String", name = "performanceId", value = "演出ID[64]"),
})
@GetMapping("download/{type}/{performanceId}")
public ResponseDto<List<KylinStationCheckOrderVo>> downloadTicketData(@PathVariable String type, @PathVariable String performanceId) {
log.info("type:{},performanceId:{}", type, performanceId);
return ResponseDto.success(Collections.singletonList(KylinStationCheckOrderVo.getNew()));
}
@ApiOperation(value = "上载验票数据")
@PostMapping("upload")
public ResponseDto<Boolean> uploadTicketData(@RequestBody List<KylinStationCheckOrderParam> checkDataParams) {
log.info("checkDataParams:{}", JsonUtils.toJson(checkDataParams));
return ResponseDto.success(true);
}
/* ------------------------------------------------------------------ */
private String loginProcess() {
return null;
}
}
package com.liquidnet.service.kylin.service.impl;
import com.liquidnet.service.kylin.service.IKylinStationService;
import org.springframework.stereotype.Service;
@Service
public class KylinStationServiceImpl implements IKylinStationService {
}
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