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

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

+API:购买会员预览;

购买会员API添加实名逻辑;
parent 5ec39339
...@@ -12,43 +12,36 @@ import java.time.LocalDateTime; ...@@ -12,43 +12,36 @@ import java.time.LocalDateTime;
@Data @Data
public class AdamMemberOrderParam implements Serializable { public class AdamMemberOrderParam implements Serializable {
private static final long serialVersionUID = 3219448286221952517L; private static final long serialVersionUID = 3219448286221952517L;
/** @ApiModelProperty(position = 10, required = true, value = "会员ID[50]", example = "62960077673504768")
* 会员卡id
*/
@ApiModelProperty(position = 0, required = true, value = "会员ID[50]", example = "62960077673504768")
private String memberId; 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; private Integer mode;
@ApiModelProperty(position = 2, required = true, value = "应付金额", example = "0") @ApiModelProperty(position = 12, required = true, value = "应付金额", example = "0")
private BigDecimal price; private BigDecimal price;
@ApiModelProperty(position = 3, required = true, value = "实付金额", example = "0") @ApiModelProperty(position = 13, required = true, value = "实付金额", example = "0")
private BigDecimal pricePaid; private BigDecimal pricePaid;
@ApiModelProperty(position = 4, required = true, value = "会员价格id", example = "0") @ApiModelProperty(position = 14, required = true, value = "会员价格ID", example = "0")
private String memberPriceId; private String memberPriceId;
@ApiModelProperty(position = 5, required = false, value = "先这么写,应该从token取才对", example = "0") @ApiModelProperty(position = 15, required = true, value = "用户生日", example = "0")
private String uid;
@ApiModelProperty(position = 6, required = true, value = "用户生日", example = "0")
private LocalDateTime birthday; private LocalDateTime birthday;
/** @ApiModelProperty(position = 16, required = true, value = "支付方式:ALIPAY,WEPAY,WAPALIPAY,WAPWEPAY,JSWEPAY,APPLETWEPAY,APPIAP")
* 支付方式
* ALIPAY,WEPAY,WAPALIPAY,WAPWEPAY,JSWEPAY,APPLETWEPAY,APPIAP
*/
@ApiModelProperty(position = 7, required = true, value = "支付方式:ALIPAY,WEPAY,WAPALIPAY,WAPWEPAY,JSWEPAY,APPLETWEPAY,APPIAP")
private String payChannel; private String payChannel;
/** @ApiModelProperty(position = 17, required = true, value = "支付用的AuthCode")
* AuthCode
*/
@ApiModelProperty(position = 8, required = true, value = "支付用的AuthCode")
private String authCode; private String authCode;
@ApiModelProperty(position = 9, required = true, value = "支付用的productId") @ApiModelProperty(position = 18, required = true, value = "支付用的productId")
private String productId; private String productId;
@ApiModelProperty(position = 10, required = true, value = "支付用的openId") @ApiModelProperty(position = 19, required = true, value = "支付用的openId")
private String 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; private String clientIp;
@ApiModelProperty(position = 12, required = false, value = "版本") @ApiModelProperty(position = 24, required = false, value = "版本")
private String version; private String version;
@ApiModelProperty(position = 13, required = false, value = "来源") @ApiModelProperty(position = 25, required = false, value = "来源")
private String source; 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; ...@@ -5,12 +5,11 @@ import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.commons.lang.util.CurrentUtil; import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.DateUtil; import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.adam.dto.vo.AdamMemberRightsVo; 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.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.adam.service.IAdamUserMemberService;
import com.liquidnet.service.base.ResponseDto; 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.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
...@@ -18,7 +17,10 @@ import io.swagger.annotations.ApiOperation; ...@@ -18,7 +17,10 @@ import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; 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; import java.util.Date;
...@@ -32,10 +34,9 @@ public class AdamMemberController { ...@@ -32,10 +34,9 @@ public class AdamMemberController {
@Autowired @Autowired
IAdamMemberService adamMemberService; IAdamMemberService adamMemberService;
@Autowired @Autowired
IAdamMemberOrderService adamMemberOrderService;
@Autowired
IAdamUserMemberService adamUserMemberService; IAdamUserMemberService adamUserMemberService;
@ApiOperationSupport(order = 0) @ApiOperationSupport(order = 0)
@ApiOperation(value = "会员信息") @ApiOperation(value = "会员信息")
@GetMapping("info") @GetMapping("info")
......
...@@ -3,18 +3,25 @@ package com.liquidnet.service.adam.controller; ...@@ -3,18 +3,25 @@ package com.liquidnet.service.adam.controller;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSupport; import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.commons.lang.util.CurrentUtil; 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.AdamMemberOrderCallbackResult;
import com.liquidnet.service.adam.dto.AdamMemberOrderCodeParam; import com.liquidnet.service.adam.dto.AdamMemberOrderCodeParam;
import com.liquidnet.service.adam.dto.AdamMemberOrderParam; import com.liquidnet.service.adam.dto.AdamMemberOrderParam;
import com.liquidnet.service.adam.dto.AdamMemberOrderResult; 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.AdamMemberOrderVo;
import com.liquidnet.service.adam.dto.vo.AdamRealInfoVo;
import com.liquidnet.service.adam.entity.AdamMemberOrder; import com.liquidnet.service.adam.entity.AdamMemberOrder;
import com.liquidnet.service.adam.service.IAdamMemberOrderService; 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.ErrorMapping;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -24,18 +31,47 @@ import java.util.List; ...@@ -24,18 +31,47 @@ import java.util.List;
@Api(tags = "购买会员") @Api(tags = "购买会员")
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/member/order") @RequestMapping("member/order")
public class AdamMemberOrderController { public class AdamMemberOrderController {
@Autowired @Autowired
IAdamMemberOrderService adamMemberOrderService; IAdamMemberOrderService adamMemberOrderService;
@Autowired
IAdamMemberPriceService adamMemberPriceService;
@Autowired
IAdamRealNameService adamRealNameService;
@Autowired
IAdamUserService adamUserService;
@ApiOperationSupport(order = 0) @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 = "购买会员或会员码") @ApiOperation(value = "购买会员或会员码")
@PostMapping("/buy/member") @PostMapping("buy")
public ResponseDto<AdamMemberOrderResult> buyMemberOrCode(AdamMemberOrderParam param) { public ResponseDto<AdamMemberOrderResult> buyMemberOrCode(AdamMemberOrderParam param) {
AdamMemberOrderResult adamMemberOrderResult = null; AdamMemberOrderResult adamMemberOrderResult = null;
try { 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); adamMemberOrderResult = adamMemberOrderService.buyMemberOrMemberCode(param);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
...@@ -44,9 +80,9 @@ public class AdamMemberOrderController { ...@@ -44,9 +80,9 @@ public class AdamMemberOrderController {
return ResponseDto.success(adamMemberOrderResult); return ResponseDto.success(adamMemberOrderResult);
} }
@ApiOperationSupport(order = 1) @ApiOperationSupport(order = 2)
@ApiOperation(value = "使用兑换码") @ApiOperation(value = "使用兑换码")
@PostMapping("/use/memberCode") @PostMapping("use/memberCode")
public ResponseDto<AdamMemberOrder> useMemberCode(AdamMemberOrderCodeParam param) { public ResponseDto<AdamMemberOrder> useMemberCode(AdamMemberOrderCodeParam param) {
try { try {
param.setIp("127.0.0.1"); param.setIp("127.0.0.1");
...@@ -63,27 +99,27 @@ public class AdamMemberOrderController { ...@@ -63,27 +99,27 @@ public class AdamMemberOrderController {
} }
} }
@ApiOperationSupport(order = 2) @ApiOperationSupport(order = 3)
@ApiOperation(value = "会员订单列表") @ApiOperation(value = "会员订单列表")
@GetMapping("/member/order/list") @GetMapping("list")
public ResponseDto<List<AdamMemberOrderVo>> getMemberOrderList() { public ResponseDto<List<AdamMemberOrderVo>> getMemberOrderList() {
String currentUid = CurrentUtil.getCurrentUid(); String currentUid = CurrentUtil.getCurrentUid();
List<AdamMemberOrderVo> memberOrderList = adamMemberOrderService.getMemberOrderList(currentUid); List<AdamMemberOrderVo> memberOrderList = adamMemberOrderService.getMemberOrderList(currentUid);
return ResponseDto.success(memberOrderList); return ResponseDto.success(memberOrderList);
} }
@ApiOperationSupport(order = 3) @ApiOperationSupport(order = 4)
@ApiOperation(value = "会员订单详情") @ApiOperation(value = "会员订单详情")
@GetMapping("/member/order/info/{orderNo}") @GetMapping("info/{orderNo}")
public ResponseDto<AdamMemberOrderVo> getMemberOrderList(@PathVariable String orderNo) { public ResponseDto<AdamMemberOrderVo> getMemberOrderList(@PathVariable String orderNo) {
String currentUid = CurrentUtil.getCurrentUid(); String currentUid = CurrentUtil.getCurrentUid();
AdamMemberOrderVo memberOrderInfo = adamMemberOrderService.getMemberOrderInfo(currentUid, orderNo); AdamMemberOrderVo memberOrderInfo = adamMemberOrderService.getMemberOrderInfo(currentUid, orderNo);
return ResponseDto.success(memberOrderInfo); return ResponseDto.success(memberOrderInfo);
} }
@ApiOperationSupport(order = 4) @ApiOperationSupport(order = 5)
@ApiOperation(value = "会员支付回调") @ApiOperation(value = "会员支付回调")
@PostMapping("/member/order/callback") @PostMapping("callback")
public ResponseDto<Object> memberOrderCallBack(AdamMemberOrderCallbackResult result){ public ResponseDto<Object> memberOrderCallBack(AdamMemberOrderCallbackResult result){
boolean b = adamMemberOrderService.memberNotifyCallBack(result); boolean b = adamMemberOrderService.memberNotifyCallBack(result);
if (b) { if (b) {
......
...@@ -45,7 +45,7 @@ public class AdamMemberServiceImpl extends ServiceImpl<AdamMemberMapper, AdamMem ...@@ -45,7 +45,7 @@ public class AdamMemberServiceImpl extends ServiceImpl<AdamMemberMapper, AdamMem
AdamMemberVo info = null; AdamMemberVo info = null;
List<AdamMemberVo> adamMemberVoList = mongoTemplate.findAll(AdamMemberVo.class); List<AdamMemberVo> adamMemberVoList = mongoTemplate.findAll(AdamMemberVo.class);
int tag = 0; int tag = 0;
if (adamMemberVoList.size() > 0){ if (adamMemberVoList.size() > 0) {
info = adamMemberVoList.get(0); info = adamMemberVoList.get(0);
} else { } else {
AdamMember firstMember = adamMemberMapper.getFirstMember(); AdamMember firstMember = adamMemberMapper.getFirstMember();
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
10008=已绑定同类型第三方账号 10008=已绑定同类型第三方账号
10101= 10101=姓名或身份证件号无效
10102= 10102=
10103= 10103=
10104= 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