记得上下班打卡 | 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
private BigDecimal valOver;
@ApiModelProperty(position = 10, value = "满减~减")
private BigDecimal valMinus;
@ApiModelProperty(position = 11, value = "折扣[8折即0.8]")
private BigDecimal discount;
/* com.liquidnet.service.adam.dto.vo.AdamMemberRightsCouponRuleVo */
private List<AdamMemberRightsCouponRuleVo> useRules;
......
......@@ -15,18 +15,19 @@ public class CandyMemberCouponMatchParam {
@ApiModelProperty(required = true, value = "会员类型ID[64]", example = "1")
@NotBlank(message = "会员类型ID不能为空")
private String memberId;
@ApiModelProperty(required = true, value = "权益ID[64]")
@ApiModelProperty(required = true, value = "权益ID[64]", example = "21269184646476")
@NotBlank(message = "会员权益ID不能为空")
private String mrightsId;
@ApiModelProperty(required = true, value = "券ID", example = "券ID")
@NotBlank(message = "权益券ID不能为空")
@ApiModelProperty(required = true, value = "券ID", example = "20211111161557612")
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")
// @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 = "券发放量不能为空")
......@@ -34,4 +35,10 @@ public class CandyMemberCouponMatchParam {
@Min(value = 1, message = "发放量不满足1~100范围")
@ApiModelProperty(required = true, value = "发放量", example = "1")
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;
import com.liquidnet.client.admin.common.annotation.Log;
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.entity.SysUser;
import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import com.liquidnet.client.admin.common.enums.BusinessType;
import com.liquidnet.client.admin.zhengzai.adam.service.IAdamMemberAdminService;
......@@ -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.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 com.liquidnet.service.candy.entity.CandyMgtCoupon;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
......@@ -36,9 +34,6 @@ import org.springframework.util.CollectionUtils;
import org.springframework.validation.annotation.Validated;
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.Map;
import java.util.stream.Collectors;
......@@ -253,32 +248,74 @@ public class AdamMemberAdminController extends BaseController {
@PostMapping("edit_coupon")
@ResponseBody
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();
couponLambdaQueryWrapper.eq(CandyCoupon::getCouponId, parameter.getCouponId());
couponLambdaQueryWrapper.eq(CandyCoupon::getState, 1);
CandyCoupon coupon = candyCouponAdminService.getOne(couponLambdaQueryWrapper);
if (null == coupon) {
logger.warn("券[{}]不存在", parameter.getCouponId());
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());
logger.warn("会员权益券[{}]类别[{}]与所选类别[{}]不一致", parameter.getCouponId(), coupon.getBusiType(), parameter.getBusiType());
return this.error(AjaxResult.Type.WARN, "券信息不匹配");
}
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, "券信息不匹配");
}
// 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));
// }
LambdaQueryWrapper<CandyMgtCoupon> mgtCouponLambdaQueryWrapper = Wrappers.lambdaQuery();
mgtCouponLambdaQueryWrapper.eq(CandyMgtCoupon::getMcouponId, parameter.getMrightsId());
mgtCouponLambdaQueryWrapper.in(CandyMgtCoupon::getCouponId, parameter.getCouponId(), parameter.getOperCouponId());
mgtCouponLambdaQueryWrapper.eq(CandyMgtCoupon::getState, 10);
List<CandyMgtCoupon> mgtCouponList = candyMgtCouponAdminService.list(mgtCouponLambdaQueryWrapper);
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;
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);
......@@ -20,7 +22,7 @@ public interface ICandyMgtCouponAdminService extends IService<CandyMgtCoupon> {
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);
......
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