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

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

+API:购买会员预览;

购买会员API添加实名逻辑;
parent 5ec39339
......@@ -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;
}
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();
}
}
}
......@@ -5,12 +5,11 @@ import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.adam.dto.vo.AdamMemberRightsVo;
import com.liquidnet.service.adam.dto.vo.AdamMemberVo;
import com.liquidnet.service.adam.dto.vo.AdamUserMemberVo;
import com.liquidnet.service.adam.service.IAdamMemberOrderService;
import com.liquidnet.service.adam.service.IAdamMemberService;
import com.liquidnet.service.adam.service.IAdamUserMemberService;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.adam.dto.vo.AdamMemberVo;
import com.liquidnet.service.adam.service.IAdamMemberService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
......@@ -18,7 +17,10 @@ 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.*;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Date;
......@@ -32,10 +34,9 @@ public class AdamMemberController {
@Autowired
IAdamMemberService adamMemberService;
@Autowired
IAdamMemberOrderService adamMemberOrderService;
@Autowired
IAdamUserMemberService adamUserMemberService;
@ApiOperationSupport(order = 0)
@ApiOperation(value = "会员信息")
@GetMapping("info")
......
......@@ -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) {
......
......@@ -45,7 +45,7 @@ public class AdamMemberServiceImpl extends ServiceImpl<AdamMemberMapper, AdamMem
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();
......
......@@ -8,7 +8,7 @@
10008=已绑定同类型第三方账号
10101=
10101=姓名或身份证件号无效
10102=
10103=
10104=
......
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