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

Commit a11bb68b authored by jiangxiulong's avatar jiangxiulong

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

parents aaa7a693 b0774a17
...@@ -31,6 +31,8 @@ public class AdamMemberRightsCouponVo implements java.io.Serializable, Cloneable ...@@ -31,6 +31,8 @@ public class AdamMemberRightsCouponVo implements java.io.Serializable, Cloneable
private BigDecimal valOver; private BigDecimal valOver;
@ApiModelProperty(position = 10, value = "满减~减") @ApiModelProperty(position = 10, value = "满减~减")
private BigDecimal valMinus; private BigDecimal valMinus;
@ApiModelProperty(position = 11, value = "折扣[8折即0.8]")
private BigDecimal discount;
/* com.liquidnet.service.adam.dto.vo.AdamMemberRightsCouponRuleVo */ /* com.liquidnet.service.adam.dto.vo.AdamMemberRightsCouponRuleVo */
private List<AdamMemberRightsCouponRuleVo> useRules; private List<AdamMemberRightsCouponRuleVo> useRules;
......
...@@ -15,18 +15,19 @@ public class CandyMemberCouponMatchParam { ...@@ -15,18 +15,19 @@ public class CandyMemberCouponMatchParam {
@ApiModelProperty(required = true, value = "会员类型ID[64]", example = "1") @ApiModelProperty(required = true, value = "会员类型ID[64]", example = "1")
@NotBlank(message = "会员类型ID不能为空") @NotBlank(message = "会员类型ID不能为空")
private String memberId; private String memberId;
@ApiModelProperty(required = true, value = "权益ID[64]") @ApiModelProperty(required = true, value = "权益ID[64]", example = "21269184646476")
@NotBlank(message = "会员权益ID不能为空") @NotBlank(message = "会员权益ID不能为空")
private String mrightsId; private String mrightsId;
@ApiModelProperty(required = true, value = "券ID", example = "券ID") @NotBlank(message = "权益券ID不能为空")
@ApiModelProperty(required = true, value = "券ID", example = "20211111161557612")
private String couponId; private String couponId;
@NotNull(message = "券类别不能为空") @NotNull(message = "券类别不能为空")
@ApiModelProperty(required = true, value = "业务类别[0-全场|1-演出|2-商品|3-优先购]", allowableValues = "0,1,2,3") @ApiModelProperty(required = true, value = "业务类别[0-全场|1-演出|2-商品|3-优先购]", allowableValues = "0,1,2,3")
private Integer busiType; private Integer busiType;
@NotNull(message = "券类型不能为空") @NotNull(message = "券类型不能为空")
// @ApiModelProperty(required = true, value = "券类型[1-代金券|2-满减券|3-兑换券|4-折扣券|101-优先券]", allowableValues = "1,2,3,4,101") // @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") @ApiModelProperty(required = true, value = "券类型[1-代金券|2-满减券|4-折扣券101-优先券]", allowableValues = "1,2,4,101")
private Integer couType; private Integer couType;
@NotNull(message = "券发放量不能为空") @NotNull(message = "券发放量不能为空")
...@@ -34,4 +35,10 @@ public class CandyMemberCouponMatchParam { ...@@ -34,4 +35,10 @@ public class CandyMemberCouponMatchParam {
@Min(value = 1, message = "发放量不满足1~100范围") @Min(value = 1, message = "发放量不满足1~100范围")
@ApiModelProperty(required = true, value = "发放量", example = "1") @ApiModelProperty(required = true, value = "发放量", example = "1")
private Integer eventAmt; private Integer eventAmt;
@ApiModelProperty(required = true, value = "权益券操作类型[1-添加|2-删除|3-编辑]")
@NotNull(message = "操作类型不能为空")
private Integer oper;
@ApiModelProperty(required = false, value = "券ID(仅`state=3-编辑`时必填`)")
private String operCouponId;
} }
...@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; ...@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.liquidnet.client.admin.common.annotation.Log; import com.liquidnet.client.admin.common.annotation.Log;
import com.liquidnet.client.admin.common.core.controller.BaseController; import com.liquidnet.client.admin.common.core.controller.BaseController;
import com.liquidnet.client.admin.common.core.domain.AjaxResult; import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.common.core.domain.entity.SysUser;
import com.liquidnet.client.admin.common.core.page.TableDataInfo; import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import com.liquidnet.client.admin.common.enums.BusinessType; import com.liquidnet.client.admin.common.enums.BusinessType;
import com.liquidnet.client.admin.zhengzai.adam.service.IAdamMemberAdminService; import com.liquidnet.client.admin.zhengzai.adam.service.IAdamMemberAdminService;
...@@ -19,11 +18,10 @@ import com.liquidnet.service.adam.dto.admin.AdamMemberRightsBuildParam; ...@@ -19,11 +18,10 @@ import com.liquidnet.service.adam.dto.admin.AdamMemberRightsBuildParam;
import com.liquidnet.service.adam.entity.AdamMember; import com.liquidnet.service.adam.entity.AdamMember;
import com.liquidnet.service.adam.entity.AdamMemberPrice; import com.liquidnet.service.adam.entity.AdamMemberPrice;
import com.liquidnet.service.adam.entity.AdamMemberRights; 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.CandyMemberCouponMatchParam;
import com.liquidnet.service.candy.dto.admin.CandyMgtCouponMemberDto; import com.liquidnet.service.candy.dto.admin.CandyMgtCouponMemberDto;
import com.liquidnet.service.candy.entity.CandyCoupon; import com.liquidnet.service.candy.entity.CandyCoupon;
import com.liquidnet.service.candy.entity.CandyMgtCoupon;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -36,9 +34,6 @@ import org.springframework.util.CollectionUtils; ...@@ -36,9 +34,6 @@ import org.springframework.util.CollectionUtils;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -253,32 +248,74 @@ public class AdamMemberAdminController extends BaseController { ...@@ -253,32 +248,74 @@ public class AdamMemberAdminController extends BaseController {
@PostMapping("edit_coupon") @PostMapping("edit_coupon")
@ResponseBody @ResponseBody
public AjaxResult editCoupon(@RequestBody @Validated CandyMemberCouponMatchParam parameter) { public AjaxResult editCoupon(@RequestBody @Validated CandyMemberCouponMatchParam parameter) {
LambdaQueryWrapper<AdamMemberRights> memberRightsLambdaQueryWrapper = Wrappers.lambdaQuery();
memberRightsLambdaQueryWrapper.eq(AdamMemberRights::getMrightsId, parameter.getMrightsId());
memberRightsLambdaQueryWrapper.eq(AdamMemberRights::getState, 1);
AdamMemberRights memberRights = adamMemberRightsAdminService.getOne(memberRightsLambdaQueryWrapper);
if (null == memberRights) {
logger.warn("会员权益[{}]不存在", parameter.getMrightsId());
return this.error(AjaxResult.Type.WARN, String.format("会员权益【%s】不存在", parameter.getMrightsId()));
}
if (!memberRights.getMemberId().equals(parameter.getMemberId())) {
logger.warn("会员权益[{}]所属卡[{}]与所选卡[{}]不一致", parameter.getMrightsId(), memberRights.getMemberId(), parameter.getMemberId());
return this.error(AjaxResult.Type.WARN, "权益配置不匹配");
}
LambdaQueryWrapper<CandyCoupon> couponLambdaQueryWrapper = Wrappers.lambdaQuery(); LambdaQueryWrapper<CandyCoupon> couponLambdaQueryWrapper = Wrappers.lambdaQuery();
couponLambdaQueryWrapper.eq(CandyCoupon::getCouponId, parameter.getCouponId()); couponLambdaQueryWrapper.eq(CandyCoupon::getCouponId, parameter.getCouponId());
couponLambdaQueryWrapper.eq(CandyCoupon::getState, 1); couponLambdaQueryWrapper.eq(CandyCoupon::getState, 1);
CandyCoupon coupon = candyCouponAdminService.getOne(couponLambdaQueryWrapper); CandyCoupon coupon = candyCouponAdminService.getOne(couponLambdaQueryWrapper);
if (null == coupon) { if (null == coupon) {
logger.warn("券[{}]不存在", parameter.getCouponId()); logger.warn("会员权益券[{}]不存在", parameter.getCouponId());
return this.error(AjaxResult.Type.WARN, String.format("券【%s】不存在", parameter.getCouponId())); return this.error(AjaxResult.Type.WARN, String.format("券【%s】不存在", parameter.getCouponId()));
} }
if (!coupon.getBusiType().equals(parameter.getBusiType())) { if (!coupon.getBusiType().equals(parameter.getBusiType())) {
logger.warn("券[{}]类别[{}]与所选类别不一致", parameter.getCouponId(), parameter.getBusiType()); logger.warn("会员权益券[{}]类别[{}]与所选类别[{}]不一致", parameter.getCouponId(), coupon.getBusiType(), parameter.getBusiType());
return this.error(AjaxResult.Type.WARN, "券信息不匹配"); return this.error(AjaxResult.Type.WARN, "券信息不匹配");
} }
if (!coupon.getCouType().equals(parameter.getCouType())) { if (!coupon.getCouType().equals(parameter.getCouType())) {
logger.warn("券[{}]类型[{}]与所选类型不一致", parameter.getCouponId(), parameter.getCouType()); logger.warn("会员权益券[{}]类型[{}]与所选类型[{}]不一致", parameter.getCouponId(), coupon.getCouType(), parameter.getCouType());
return this.error(AjaxResult.Type.WARN, "券信息不匹配"); return this.error(AjaxResult.Type.WARN, "券信息不匹配");
} }
// TODO: 2021/11/24 zhanggb
return this.toAjax(true);
// if (StringUtils.isEmpty(parameter.getCouponId())) { LambdaQueryWrapper<CandyMgtCoupon> mgtCouponLambdaQueryWrapper = Wrappers.lambdaQuery();
// // 新增券 mgtCouponLambdaQueryWrapper.eq(CandyMgtCoupon::getMcouponId, parameter.getMrightsId());
// return this.toAjax(candyMgtCouponAdminService.saveMgtCouponForMemberRights(parameter)); mgtCouponLambdaQueryWrapper.in(CandyMgtCoupon::getCouponId, parameter.getCouponId(), parameter.getOperCouponId());
// } else { mgtCouponLambdaQueryWrapper.eq(CandyMgtCoupon::getState, 10);
// // 编辑券 List<CandyMgtCoupon> mgtCouponList = candyMgtCouponAdminService.list(mgtCouponLambdaQueryWrapper);
// return this.toAjax(candyMgtCouponAdminService.editMgtCouponForMemberRights(parameter)); switch (parameter.getOper()) {
// } case 1:// 添加
if (!CollectionUtils.isEmpty(mgtCouponList)) {
logger.warn("会员权益[{}]已配置该券[{}]", parameter.getMrightsId(), parameter.getCouponId());
return this.error(AjaxResult.Type.WARN, "该权益已配置当前券,请选择其它券");
}
break;
case 2:// 删除
if (CollectionUtils.isEmpty(mgtCouponList)) {
logger.warn("会员权益[{}]中不存在该券[{}]", parameter.getMrightsId(), parameter.getCouponId());
return this.error(AjaxResult.Type.WARN, "该权益未配置当前券,请核实确认");
}
break;
case 3:// 编辑
if (StringUtils.isBlank(parameter.getOperCouponId())) {
logger.warn("会员权益券[{}]编辑未指定券ID[{},{}]", parameter.getMrightsId(), parameter.getOperCouponId(), parameter.getCouponId());
return this.error(AjaxResult.Type.WARN, "编辑未指定券ID【operCouponId】");
}
if (CollectionUtils.isEmpty(mgtCouponList)) {
logger.warn("会员权益[{}]编辑指定券[{}]无效", parameter.getMrightsId(), parameter.getCouponId());
return this.error(AjaxResult.Type.WARN, String.format("编辑指定券【%s】无效", parameter.getOperCouponId()));
}
break;
default:
logger.warn("Invalid operation[parameter.oper={}]", parameter.getOper());
return this.error(AjaxResult.Type.WARN, "无效操作");
}
try {
return this.toAjax(candyMgtCouponAdminService.saveUpdateMgtCouponForMemberRights(parameter, coupon));
} catch (Exception e) {
logger.error("会员管理:会员卡编辑:权益券配置异常", e);
return this.toAjax(false);
}
} }
} }
...@@ -10,9 +10,11 @@ import java.util.List; ...@@ -10,9 +10,11 @@ import java.util.List;
public interface ICandyMgtCouponAdminService extends IService<CandyMgtCoupon> { public interface ICandyMgtCouponAdminService extends IService<CandyMgtCoupon> {
boolean saveMgtCouponForMemberRights(CandyMemberCouponBuildParam parameter); // boolean saveMgtCouponForMemberRights(CandyMemberCouponBuildParam parameter);
boolean editMgtCouponForMemberRights(CandyMemberCouponBuildParam parameter); // boolean editMgtCouponForMemberRights(CandyMemberCouponBuildParam parameter);
boolean saveUpdateMgtCouponForMemberRights(CandyMemberCouponMatchParam parameter, CandyCoupon coupon);
boolean saveMgtCouponForCouponBuild(CandyMgtCouponBuildParam parameter); boolean saveMgtCouponForCouponBuild(CandyMgtCouponBuildParam parameter);
...@@ -20,7 +22,7 @@ public interface ICandyMgtCouponAdminService extends IService<CandyMgtCoupon> { ...@@ -20,7 +22,7 @@ public interface ICandyMgtCouponAdminService extends IService<CandyMgtCoupon> {
boolean saveMgtCouponInfo(CandyCoupon initCoupon, CandyMgtCoupon initMgtCoupon, List<CandyCouponRule> initCouponRuleList); boolean saveMgtCouponInfo(CandyCoupon initCoupon, CandyMgtCoupon initMgtCoupon, List<CandyCouponRule> initCouponRuleList);
boolean updateMgtCouponInfo(CandyCoupon updateCoupon, CandyMgtCoupon updateMgtCoupon, List<CandyCouponRule> initCouponRuleList); // boolean updateMgtCouponInfo(CandyCoupon updateCoupon, CandyMgtCoupon updateMgtCoupon, List<CandyCouponRule> initCouponRuleList);
List<CandyMgtCouponInfoDto> listForMgtCouponInfoDto(CandyMgtCouponListParam listParam); List<CandyMgtCouponInfoDto> listForMgtCouponInfoDto(CandyMgtCouponListParam listParam);
......
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