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

Commit 1516ed0c authored by 张国柄's avatar 张国柄

~API:会员权益配置券入参调整;

parent c850f241
package com.liquidnet.service.candy.dto.admin;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@ApiModel(value = "CandyMemberCouponMatchParam", description = "会员权益券配置入参")
@Data
public class CandyMemberCouponMatchParam {
@ApiModelProperty(required = true, value = "会员类型ID[64]", example = "1")
@NotBlank(message = "会员类型ID不能为空")
private String memberId;
@ApiModelProperty(required = true, value = "权益ID[64]")
@NotBlank(message = "会员权益ID不能为空")
private String mrightsId;
@ApiModelProperty(required = true, value = "券ID", example = "券ID")
private String couponId;
@NotNull(message = "券类别不能为空")
@ApiModelProperty(required = true, value = "业务类别[0-全场|1-演出|2-商品|3-优先购]", allowableValues = "0,1,2,3")
private Integer busiType;
@NotNull(message = "券类型不能为空")
// @ApiModelProperty(required = true, value = "券类型[1-代金券|2-满减券|3-兑换券|4-折扣券|101-优先券]", allowableValues = "1,2,3,4,101")
@ApiModelProperty(required = true, value = "券类型[1-代金券|2-满减券|4-折扣券|101-优先券]", allowableValues = "1,2,4,101")
private Integer couType;
@NotNull(message = "券发放量不能为空")
@Max(value = 100, message = "发放量不满足1~100范围")
@Min(value = 1, message = "发放量不满足1~100范围")
@ApiModelProperty(required = true, value = "发放量", example = "1")
private Integer eventAmt;
}
package com.liquidnet.client.admin.web.controller.zhengzai.adam;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.liquidnet.client.admin.common.annotation.Log;
import com.liquidnet.client.admin.common.core.controller.BaseController;
......@@ -20,7 +21,9 @@ import com.liquidnet.service.adam.entity.AdamMemberPrice;
import com.liquidnet.service.adam.entity.AdamMemberRights;
import com.liquidnet.service.candy.dto.admin.CandyCouponRuleBuildParam;
import com.liquidnet.service.candy.dto.admin.CandyMemberCouponBuildParam;
import com.liquidnet.service.candy.dto.admin.CandyMemberCouponMatchParam;
import com.liquidnet.service.candy.dto.admin.CandyMgtCouponMemberDto;
import com.liquidnet.service.candy.entity.CandyCoupon;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
......@@ -189,58 +192,93 @@ public class AdamMemberAdminController extends BaseController {
return this.toAjax(adamMemberRightsAdminService.edit(parameter));
}
// @ApiOperation(value = "会员套餐:券编辑")
// @RequiresPermissions("adam:member:edit:coupon")
// @Log(title = "会员管理:会员卡编辑:权益券", businessType = BusinessType.UPDATE)
// @PostMapping("edit_coupon")
// @ResponseBody
// public AjaxResult editCoupon(@RequestBody @Validated CandyMemberCouponBuildParam parameter) {
// Integer busiType = parameter.getBusiType();// 业务类别[0-全场|1-演出|2-商品|3-优先购]
//// if (busiType > 0) {
//// if (CollectionUtils.isEmpty(parameter.getCouponRuleList())) {
//// return AjaxResult.warn("适用范围无效");
//// }
//// } else {
//// parameter.setCouponRuleList(null);
//// }
// parameter.setCouponRuleList(Collections.singletonList(CandyCouponRuleBuildParam.getNew().setUseScope(100)));
//
// parameter.setOverlay(busiType < 3 ? 0 : parameter.getOverlay());
// switch (parameter.getCouType()) {// 券类型[1-代金券|2-满减券]
// case 1:
// BigDecimal valFace = parameter.getValFace();
// if (null == valFace || valFace.compareTo(BigDecimal.ZERO) <= 0) {
// return AjaxResult.warn("代金券金额无效");
// }
// parameter.setValOver(null);
// parameter.setValMinus(null);
// break;
// case 2:
// BigDecimal valOver = parameter.getValOver();
// BigDecimal valMinus = parameter.getValMinus();
// if (null == valOver || valOver.compareTo(BigDecimal.ZERO) <= 0
// || null == valMinus || valMinus.compareTo(BigDecimal.ZERO) <= 0) {
// return AjaxResult.warn("满减金额无效");
// }
// parameter.setValFace(valMinus);
// break;
// case 101:
// parameter.setValFace(null);
// parameter.setValOver(null);
// parameter.setValMinus(null);
// break;
// default:
// logger.warn("Invalid operation[buildParam.couType={}]", parameter.getCouType());
// return this.error(AjaxResult.Type.WARN, "券类型无效");
// }
//
//
// if (StringUtils.isEmpty(parameter.getCouponId())) {
// // 新增券
// return this.toAjax(candyMgtCouponAdminService.saveMgtCouponForMemberRights(parameter));
// } else {
// // 编辑券
// return this.toAjax(candyMgtCouponAdminService.editMgtCouponForMemberRights(parameter));
// }
// }
@ApiOperation(value = "会员套餐:券编辑")
@RequiresPermissions("adam:member:edit:coupon")
@Log(title = "会员管理:会员卡编辑:权益券", businessType = BusinessType.UPDATE)
@PostMapping("edit_coupon")
@ResponseBody
public AjaxResult editCoupon(@RequestBody @Validated CandyMemberCouponBuildParam parameter) {
Integer busiType = parameter.getBusiType();// 业务类别[0-全场|1-演出|2-商品|3-优先购]
// if (busiType > 0) {
// if (CollectionUtils.isEmpty(parameter.getCouponRuleList())) {
// return AjaxResult.warn("适用范围无效");
// }
// } else {
// parameter.setCouponRuleList(null);
// }
parameter.setCouponRuleList(Collections.singletonList(CandyCouponRuleBuildParam.getNew().setUseScope(100)));
parameter.setOverlay(busiType < 3 ? 0 : parameter.getOverlay());
switch (parameter.getCouType()) {// 券类型[1-代金券|2-满减券]
case 1:
BigDecimal valFace = parameter.getValFace();
if (null == valFace || valFace.compareTo(BigDecimal.ZERO) <= 0) {
return AjaxResult.warn("代金券金额无效");
}
parameter.setValOver(null);
parameter.setValMinus(null);
break;
case 2:
BigDecimal valOver = parameter.getValOver();
BigDecimal valMinus = parameter.getValMinus();
if (null == valOver || valOver.compareTo(BigDecimal.ZERO) <= 0
|| null == valMinus || valMinus.compareTo(BigDecimal.ZERO) <= 0) {
return AjaxResult.warn("满减金额无效");
}
parameter.setValFace(valMinus);
break;
case 101:
parameter.setValFace(null);
parameter.setValOver(null);
parameter.setValMinus(null);
break;
default:
logger.warn("Invalid operation[buildParam.couType={}]", parameter.getCouType());
return this.error(AjaxResult.Type.WARN, "券类型无效");
}
public AjaxResult editCoupon(@RequestBody @Validated CandyMemberCouponMatchParam parameter) {
LambdaQueryWrapper<CandyCoupon> couponLambdaQueryWrapper = Wrappers.lambdaQuery();
couponLambdaQueryWrapper.eq(CandyCoupon::getCouponId, parameter.getCouponId());
couponLambdaQueryWrapper.eq(CandyCoupon::getState, 1);
CandyCoupon coupon = candyCouponAdminService.getOne(couponLambdaQueryWrapper);
if (StringUtils.isEmpty(parameter.getCouponId())) {
// 新增券
return this.toAjax(candyMgtCouponAdminService.saveMgtCouponForMemberRights(parameter));
} else {
// 编辑券
return this.toAjax(candyMgtCouponAdminService.editMgtCouponForMemberRights(parameter));
if (null == coupon) {
logger.warn("券[{}]不存在", parameter.getCouponId());
return this.error(AjaxResult.Type.WARN, String.format("券【%s】不存在", parameter.getCouponId()));
}
if (!coupon.getBusiType().equals(parameter.getBusiType())) {
logger.warn("券[{}]类别[{}]与所选类别不一致", parameter.getCouponId(), parameter.getBusiType());
return this.error(AjaxResult.Type.WARN, "券信息不匹配");
}
if (!coupon.getCouType().equals(parameter.getCouType())) {
logger.warn("券[{}]类型[{}]与所选类型不一致", parameter.getCouponId(), parameter.getCouType());
return this.error(AjaxResult.Type.WARN, "券信息不匹配");
}
// TODO: 2021/11/24 zhanggb
return this.toAjax(true);
// if (StringUtils.isEmpty(parameter.getCouponId())) {
// // 新增券
// return this.toAjax(candyMgtCouponAdminService.saveMgtCouponForMemberRights(parameter));
// } else {
// // 编辑券
// return this.toAjax(candyMgtCouponAdminService.editMgtCouponForMemberRights(parameter));
// }
}
}
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