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

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

fix param valid for adam;

parent c11290bc
package com.liquidnet.service.adam.dto;
import com.liquidnet.commons.lang.constant.LnsRegex;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.*;
import java.io.Serializable;
@ApiModel(value = "AdamMemberOrderCodeParam", description = "使用兑换码入参")
......@@ -11,10 +13,13 @@ import java.io.Serializable;
public class AdamMemberOrderCodeParam implements Serializable {
private static final long serialVersionUID = 2500742355642406263L;
@ApiModelProperty(position = 10, required = true, value = "类型:2-会员码,3-礼包码", example = "3")
@NotNull@Min(2)@Max(3)
private Integer type;
@ApiModelProperty(position = 11, required = true, value = "兑换码", example = "0")
@NotBlank
private String memberCode;
@ApiModelProperty(position = 12, required = true, value = "生日", example = "2021-05-27")
@Pattern(regexp = LnsRegex.Valid.DATETIME_YMD, message = "时间格式有误")
private String birthday;
@ApiModelProperty(position = 13, required = false, value = "姓名")
private String name;
......
......@@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.*;
import java.io.Serializable;
import java.math.BigDecimal;
......@@ -12,18 +13,25 @@ import java.math.BigDecimal;
public class AdamMemberOrderParam implements Serializable {
private static final long serialVersionUID = -2605176979349053352L;
@ApiModelProperty(position = 10, required = true, value = "会员ID[50]")
@NotBlank
private String memberId;
@ApiModelProperty(position = 11, required = true, value = "购买方式:0-购买会员,1-购买会员码", allowableValues = "0,1")
@NotNull@Min(0)@Max(1)
private Integer mode;
@ApiModelProperty(position = 12, required = true, value = "应付金额", example = "199")
@DecimalMin("0.01")
private BigDecimal price;
@ApiModelProperty(position = 13, required = true, value = "实付金额", example = "199")
@DecimalMin("0.01")
private BigDecimal pricePaid;
@ApiModelProperty(position = 14, required = true, value = "会员价格ID")
@NotBlank
private String memberPriceId;
@ApiModelProperty(position = 15, required = true, value = "支付终端", allowableValues = "app,wap,js,applet")
@NotBlank
private String deviceFrom;
@ApiModelProperty(position = 16, required = true, value = "支付方式", allowableValues = "alipay,wepay")
@NotBlank
private String payType;
@ApiModelProperty(position = 17, required = false, value = "苹果支付使用")
private String productId;
......
......@@ -7,10 +7,12 @@ public class AdamRedisConst {
public static final String ADAM = "adam:";
public static final String IDENTITY = ADAM.concat("identity:");
public static final String IDENTITY_MOBILE = IDENTITY.concat("mobile:");
public static final String IDENTITY_THIRD_PARTY = IDENTITY.concat("third_party:");
public static final String INFO = ADAM.concat("info:");
public static final String INFO_USER = INFO.concat("user:");
public static final String INFO_REAL_NAME = INFO.concat("real_name:");
public static final String INFO_THIRD_PARTY = INFO.concat("third_party:");
......
......@@ -21,21 +21,23 @@ 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 com.liquidnet.service.kylin.dto.vo.PayResultVo;
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.core.env.Environment;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotNull;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import java.util.List;
@ApiSupport(order = 10031)
@Api(tags = "购买会员")
@Slf4j
@Validated
@RestController
@RequestMapping("member/order")
public class AdamMemberOrderController {
......@@ -55,7 +57,8 @@ public class AdamMemberOrderController {
@ApiOperationSupport(order = 0)
@ApiOperation(value = "购买会员预览")
@GetMapping("preview/{mno}/{id}")
public ResponseDto<AdamMemberOrderPreviewVo> preview(@PathVariable String mno, @PathVariable String id) {
public ResponseDto<AdamMemberOrderPreviewVo> preview(@NotBlank @PathVariable String mno,
@NotBlank @PathVariable String id) {
AdamMemberOrderPreviewVo previewVo = AdamMemberOrderPreviewVo.getNew();
previewVo.setMemberId(mno);
previewVo.setMemberTitle("摩登天空会员");
......@@ -71,7 +74,7 @@ public class AdamMemberOrderController {
@ApiOperationSupport(order = 1)
@ApiOperation(value = "购买会员或会员码")
@PostMapping("buy")
public ResponseDto<AdamMemberOrderResult> buyMemberOrCode(@RequestBody AdamMemberOrderParam param) {
public ResponseDto<AdamMemberOrderResult> buyMemberOrCode(@Valid @RequestBody AdamMemberOrderParam param) {
try {
log.info("member/order/buy:param:{}", JsonUtils.toJson(param));
......@@ -93,7 +96,7 @@ public class AdamMemberOrderController {
@ApiOperationSupport(order = 2)
@ApiOperation(value = "使用兑换码")
@PostMapping("use/memberCode")
public ResponseDto<AdamMemberOrderResult> useMemberCode(@RequestBody AdamMemberOrderCodeParam param) {
public ResponseDto<AdamMemberOrderResult> useMemberCode(@Valid @RequestBody AdamMemberOrderCodeParam param) {
try {
AdamRealInfoVo realInfoVo = adamRealNameService.queryByUid(CurrentUtil.getCurrentUid());
if (null == realInfoVo) {
......@@ -122,7 +125,7 @@ public class AdamMemberOrderController {
@ApiOperationSupport(order = 4)
@ApiOperation(value = "会员订单详情")
@GetMapping("info/{orderNo}")
public ResponseDto<AdamMemberOrderVo> getMemberOrderList(@PathVariable String orderNo) {
public ResponseDto<AdamMemberOrderVo> getMemberOrderList(@NotBlank @PathVariable String orderNo) {
AdamMemberOrderVo memberOrderInfo = adamMemberOrderService.getMemberOrderInfo(CurrentUtil.getCurrentUid(), orderNo);
return ResponseDto.success(memberOrderInfo);
}
......@@ -130,7 +133,8 @@ public class AdamMemberOrderController {
@ApiOperationSupport(order = 5)
@ApiOperation(value = "会员支付回调")
@PostMapping("callback")
public void memberOrderCallBack(@RequestBody AdamMemberOrderCallbackResult result){
public void memberOrderCallBack(@ModelAttribute AdamMemberOrderCallbackResult result){
log.debug("callback.result:{}", JsonUtils.toJson(result));
ResponseDto<Object> dto = adamMemberOrderService.memberNotifyCallBack(result);
if (!dto.isSuccess()) {
log.warn(JsonUtils.toJson(dto));
......@@ -139,7 +143,7 @@ public class AdamMemberOrderController {
@ApiOperation(value = "会员订单状态")
@GetMapping("check")
public ResponseDto<Integer> checkOrderResult(@RequestParam @NotNull String orderNo) {
public ResponseDto<Integer> checkOrderResult(@NotBlank @RequestParam String orderNo) {
AdamMemberOrderVo memberOrderInfo = adamMemberOrderService.getMemberOrderInfo(CurrentUtil.getCurrentUid(), orderNo);
if (null == memberOrderInfo) {
return ResponseDto.failure(ErrorMapping.get("10210"));
......
......@@ -28,8 +28,8 @@ import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import java.util.*;
import java.util.stream.Collectors;
@ApiSupport(order = 10020)
@Api(tags = "用户中心")
......@@ -54,13 +54,26 @@ public class AdamUserController {
@ApiOperationSupport(order = 1)
@ApiOperation(value = "个人资料编辑")
@PostMapping(value = {"edit"})
public ResponseDto<AdamUserInfoVo> edit(@RequestBody @Valid AdamUserInfoParam parameter) {
public ResponseDto<AdamUserInfoVo> edit(@Valid @RequestBody AdamUserInfoParam parameter) {
log.debug("parameter:{}", JsonUtils.toJson(parameter));
if (!this.getTagsForSex().getData().contains(parameter.getSex())) {
final AdamTagVo sex = parameter.getSex();
if (null == sex) {
return ResponseDto.failure(ErrorMapping.get("10011"));
}
if (!this.getTagsForMusic().getData().contains(parameter.getTagMe())) {
List<AdamTagVo> sexList = this.getTagsForSex().getData();
Optional<AdamTagVo> adamTagVo = sexList.stream().findFirst().filter(r -> r.getVal().equals(sex.getVal()));
if (!adamTagVo.isPresent()) {
return ResponseDto.failure(ErrorMapping.get("10011"));
}
List<AdamTagParentVo> tagMe = parameter.getTagMe();
if (null == tagMe) {
return ResponseDto.failure(ErrorMapping.get("10012"));
}
List<AdamTagParentVo> tagMeVoList = this.getTagsForMusic().getData();
List<String> tagMeParentValList = tagMe.stream().map(AdamTagParentVo::getVal).collect(Collectors.toList());
List<AdamTagParentVo> existParent = tagMeVoList.stream().filter(r -> tagMeParentValList.contains(r.getVal())).collect(Collectors.toList());
if (tagMeParentValList.size() != existParent.size()) {
return ResponseDto.failure(ErrorMapping.get("10012"));
}
......@@ -68,11 +81,11 @@ public class AdamUserController {
editUserInfoVo.setAvatar(parameter.getAvatar());
editUserInfoVo.setBackground(parameter.getBackground());
editUserInfoVo.setNickname(parameter.getNickname());
editUserInfoVo.setSex(parameter.getSex());
editUserInfoVo.setSex(adamTagVo.get());
editUserInfoVo.setBirthday(parameter.getBirthday());
editUserInfoVo.setArea(parameter.getArea());
editUserInfoVo.setSignature(parameter.getSignature());
editUserInfoVo.setTagMe(parameter.getTagMe());
editUserInfoVo.setTagMe(tagMe);
editUserInfoVo.setIsComplete(StringUtils.isEmpty(editUserInfoVo.getUpdatedAt()) ? 0 : 1);
editUserInfoVo.setUpdatedAt(DateUtil.getNowTime());
......
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