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

Commit b9c8aef4 authored by jiangxiulong's avatar jiangxiulong

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

parents 539ed3c2 e50b8595
......@@ -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() {
......
......@@ -66,10 +66,15 @@ public class IDGenerator {
}
public static String ticketOrderCode(String orderTicketId) {
String number = orderTicketId + "06d";
int len =orderTicketId.length();
String time = System.currentTimeMillis()/1000+"";
return "T" + number.substring(0,len-4)+time.substring(7,8)+number.substring(len-2)+time.substring(8,9)+number.substring(len-4,2);
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() {
......
......@@ -12,43 +12,36 @@ import java.time.LocalDateTime;
@Data
public class AdamMemberOrderParam implements Serializable {
private static final long serialVersionUID = 3219448286221952517L;
/**
* 会员卡id
*/
@ApiModelProperty(position = 0, required = true, value = "会员ID[50]", example = "62960077673504768")
@ApiModelProperty(position = 10, required = true, value = "会员ID[50]", example = "62960077673504768")
private String memberId;
@ApiModelProperty(position = 1, required = true, value = "购买方式:0-购买会员 1-购买会员码,2-使用会员码", example = "0")
@ApiModelProperty(position = 11, required = true, value = "购买方式:0-购买会员,1-购买会员码,2-使用会员码", example = "0")
private Integer mode;
@ApiModelProperty(position = 2, required = true, value = "应付金额", example = "0")
@ApiModelProperty(position = 12, required = true, value = "应付金额", example = "0")
private BigDecimal price;
@ApiModelProperty(position = 3, required = true, value = "实付金额", example = "0")
@ApiModelProperty(position = 13, required = true, value = "实付金额", example = "0")
private BigDecimal pricePaid;
@ApiModelProperty(position = 4, required = true, value = "会员价格id", example = "0")
@ApiModelProperty(position = 14, required = true, value = "会员价格ID", example = "0")
private String memberPriceId;
@ApiModelProperty(position = 5, required = false, value = "先这么写,应该从token取才对", example = "0")
private String uid;
@ApiModelProperty(position = 6, required = true, value = "用户生日", example = "0")
@ApiModelProperty(position = 15, required = true, value = "用户生日", example = "0")
private LocalDateTime birthday;
/**
* 支付方式
* ALIPAY,WEPAY,WAPALIPAY,WAPWEPAY,JSWEPAY,APPLETWEPAY,APPIAP
*/
@ApiModelProperty(position = 7, required = true, value = "支付方式:ALIPAY,WEPAY,WAPALIPAY,WAPWEPAY,JSWEPAY,APPLETWEPAY,APPIAP")
@ApiModelProperty(position = 16, required = true, value = "支付方式:ALIPAY,WEPAY,WAPALIPAY,WAPWEPAY,JSWEPAY,APPLETWEPAY,APPIAP")
private String payChannel;
/**
* AuthCode
*/
@ApiModelProperty(position = 8, required = true, value = "支付用的AuthCode")
@ApiModelProperty(position = 17, required = true, value = "支付用的AuthCode")
private String authCode;
@ApiModelProperty(position = 9, required = true, value = "支付用的productId")
@ApiModelProperty(position = 18, required = true, value = "支付用的productId")
private String productId;
@ApiModelProperty(position = 10, required = true, value = "支付用的openId")
@ApiModelProperty(position = 19, required = true, value = "支付用的openId")
private String openId;
@ApiModelProperty(position = 11, required = false, value = "ip地址")
@ApiModelProperty(position = 20, required = false, value = "姓名")
private String name;
@ApiModelProperty(position = 21, required = false, value = "身份证件号")
private String idCard;
@ApiModelProperty(position = 22, required = false, value = "用户ID", example = "1")
private String uid;
@ApiModelProperty(position = 23, required = false, value = "IP地址")
private String clientIp;
@ApiModelProperty(position = 12, required = false, value = "版本")
@ApiModelProperty(position = 24, required = false, value = "版本")
private String version;
@ApiModelProperty(position = 13, required = false, value = "来源")
@ApiModelProperty(position = 25, required = false, value = "来源")
private String source;
}
......@@ -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.io.Serializable;
@ApiModel(value = "AdamMemberOrderPreviewVo", description = "会员订单预览")
@Data
public class AdamMemberOrderPreviewVo implements Serializable {
private static final long serialVersionUID = 2035177741044060344L;
@ApiModelProperty(position = 10, value = "会员ID[50]")
private String memberId;
@ApiModelProperty(position = 11, value = "会员标题[50]", example = "摩登天空会员")
private String memberTitle;
@ApiModelProperty(position = 12, value = "价格详情")
private AdamMemberPriceVo priceVo;
@ApiModelProperty(position = 13, value = "是否实名[true-是]")
private Boolean realNamed;
private static final AdamMemberOrderPreviewVo obj = new AdamMemberOrderPreviewVo();
public static AdamMemberOrderPreviewVo getNew() {
try {
return (AdamMemberOrderPreviewVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new AdamMemberOrderPreviewVo();
}
}
}
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);
......
......@@ -3,18 +3,25 @@ package com.liquidnet.service.adam.controller;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.adam.dto.AdamMemberOrderCallbackResult;
import com.liquidnet.service.adam.dto.AdamMemberOrderCodeParam;
import com.liquidnet.service.adam.dto.AdamMemberOrderParam;
import com.liquidnet.service.adam.dto.AdamMemberOrderResult;
import com.liquidnet.service.adam.dto.vo.AdamMemberOrderPreviewVo;
import com.liquidnet.service.adam.dto.vo.AdamMemberOrderVo;
import com.liquidnet.service.adam.dto.vo.AdamRealInfoVo;
import com.liquidnet.service.adam.entity.AdamMemberOrder;
import com.liquidnet.service.adam.service.IAdamMemberOrderService;
import com.liquidnet.service.adam.service.IAdamRealNameService;
import com.liquidnet.service.adam.service.IAdamUserService;
import com.liquidnet.service.adam.service.admin.IAdamMemberPriceService;
import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.ResponseDto;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
......@@ -24,18 +31,47 @@ import java.util.List;
@Api(tags = "购买会员")
@Slf4j
@RestController
@RequestMapping("/member/order")
@RequestMapping("member/order")
public class AdamMemberOrderController {
@Autowired
IAdamMemberOrderService adamMemberOrderService;
@Autowired
IAdamMemberPriceService adamMemberPriceService;
@Autowired
IAdamRealNameService adamRealNameService;
@Autowired
IAdamUserService adamUserService;
@ApiOperationSupport(order = 0)
@ApiOperation(value = "购买会员预览")
@GetMapping("preview/{mno}/{id}")
public ResponseDto<AdamMemberOrderPreviewVo> preview(@PathVariable String mno, @PathVariable String id) {
AdamMemberOrderPreviewVo previewVo = AdamMemberOrderPreviewVo.getNew();
previewVo.setMemberId(mno);
previewVo.setMemberTitle("摩登天空会员");
previewVo.setRealNamed(null != adamRealNameService.queryByUid(CurrentUtil.getCurrentUid()));
previewVo.setPriceVo(adamMemberPriceService.query(mno, id));
return ResponseDto.success(previewVo);
}
@ApiOperationSupport(order = 1)
@ApiOperation(value = "购买会员或会员码")
@PostMapping("/buy/member")
@PostMapping("buy")
public ResponseDto<AdamMemberOrderResult> buyMemberOrCode(AdamMemberOrderParam param) {
AdamMemberOrderResult adamMemberOrderResult = null;
try {
param.setUid(CurrentUtil.getCurrentUid());
log.info("member/order/buy:param:{}", JsonUtils.toJson(param));
AdamRealInfoVo realInfoVo = adamRealNameService.queryByUid(CurrentUtil.getCurrentUid());
if (null == realInfoVo) {
if (StringUtils.isBlank(param.getName()) || StringUtils.isBlank(param.getIdCard())) {
return ResponseDto.failure(ErrorMapping.get("10101"));
}
adamUserService.identity(param.getUid(), param.getName(), param.getIdCard());
}
adamMemberOrderResult = adamMemberOrderService.buyMemberOrMemberCode(param);
} catch (Exception e) {
e.printStackTrace();
......@@ -44,9 +80,9 @@ public class AdamMemberOrderController {
return ResponseDto.success(adamMemberOrderResult);
}
@ApiOperationSupport(order = 1)
@ApiOperationSupport(order = 2)
@ApiOperation(value = "使用兑换码")
@PostMapping("/use/memberCode")
@PostMapping("use/memberCode")
public ResponseDto<AdamMemberOrder> useMemberCode(AdamMemberOrderCodeParam param) {
try {
param.setIp("127.0.0.1");
......@@ -63,27 +99,27 @@ public class AdamMemberOrderController {
}
}
@ApiOperationSupport(order = 2)
@ApiOperationSupport(order = 3)
@ApiOperation(value = "会员订单列表")
@GetMapping("/member/order/list")
@GetMapping("list")
public ResponseDto<List<AdamMemberOrderVo>> getMemberOrderList() {
String currentUid = CurrentUtil.getCurrentUid();
List<AdamMemberOrderVo> memberOrderList = adamMemberOrderService.getMemberOrderList(currentUid);
return ResponseDto.success(memberOrderList);
}
@ApiOperationSupport(order = 3)
@ApiOperationSupport(order = 4)
@ApiOperation(value = "会员订单详情")
@GetMapping("/member/order/info/{orderNo}")
@GetMapping("info/{orderNo}")
public ResponseDto<AdamMemberOrderVo> getMemberOrderList(@PathVariable String orderNo) {
String currentUid = CurrentUtil.getCurrentUid();
AdamMemberOrderVo memberOrderInfo = adamMemberOrderService.getMemberOrderInfo(currentUid, orderNo);
return ResponseDto.success(memberOrderInfo);
}
@ApiOperationSupport(order = 4)
@ApiOperationSupport(order = 5)
@ApiOperation(value = "会员支付回调")
@PostMapping("/member/order/callback")
@PostMapping("callback")
public ResponseDto<Object> memberOrderCallBack(AdamMemberOrderCallbackResult result){
boolean b = adamMemberOrderService.memberNotifyCallBack(result);
if (b) {
......
......@@ -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,12 +39,13 @@ public class AdamMemberServiceImpl extends ServiceImpl<AdamMemberMapper, AdamMem
@Autowired
RedisUtil redisUtil;
// TODO: 2021/5/26 数据存取更正,不走MySql
@Override
public AdamMemberVo queryMemberInfo() {
AdamMemberVo info = null;
List<AdamMemberVo> adamMemberVoList = mongoTemplate.findAll(AdamMemberVo.class);
int tag = 0;
if (adamMemberVoList.size() > 0){
if (adamMemberVoList.size() > 0) {
info = adamMemberVoList.get(0);
} else {
AdamMember firstMember = adamMemberMapper.getFirstMember();
......@@ -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());
......
......@@ -8,7 +8,7 @@
10008=已绑定同类型第三方账号
10101=
10101=姓名或身份证件号无效
10102=
10103=
10104=
......
......@@ -47,4 +47,13 @@ public class PayOrderParam {
@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;
}
......@@ -7,4 +7,19 @@ 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);
}
}
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;
}
......@@ -4,6 +4,7 @@ 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;
......@@ -20,10 +21,10 @@ import java.util.List;
public interface IKylinOrderTicketsService extends IService<KylinOrderTickets> {
// 下单前判断接口(判断是否可锁定库存)(无订单->待支付->可支付)
ResponseDto<String>checkCanOrder(PayOrderParam payOrderParam);
ResponseDto<PayResultVo>checkCanOrder(PayOrderParam payOrderParam);
// 下单接口(无订单->待支付->可支付)
ResponseDto<String> order(PayOrderParam payOrderParam, String uid, boolean isMember, int isTrueName, KylinPerformanceVo performanceData, KylinTicketVo ticketData);
ResponseDto<PayResultVo> order(PayOrderParam payOrderParam, String uid, boolean isMember, int isTrueName, KylinPerformanceVo performanceData, KylinTicketVo ticketData);
// 再次支付(待支付->可支付->倒计时结束释放库存)
......
......@@ -3,6 +3,7 @@ package com.liquidnet.service.kylin.controller;
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;
......@@ -29,7 +30,7 @@ public class KylinOrderTicketsController {
@PostMapping("pre")
@ApiOperation("下单")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<String> checkCanOrder(@RequestBody PayOrderParam payOrderParam) {
public ResponseDto<PayResultVo> checkCanOrder(@RequestBody PayOrderParam payOrderParam) {
return orderTicketsService.checkCanOrder(payOrderParam);
}
......
......@@ -124,7 +124,7 @@ public class DataUtils {
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);
......
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