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

Commit 9e03110b authored by 张国柄's avatar 张国柄

+会员券、券规则生成

parent 02321bb7
package com.liquidnet.service.adam.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@ApiModel(value = "AdamMemberParam", description = "添加会员入参")
@Data
public class AdamMemberParam implements Serializable {
private static final long serialVersionUID = -7411934614249221021L;
@ApiModelProperty(position = 0, required = false, value = "会员ID[50]")
private String memberId;
@ApiModelProperty(position = 1, required = true, value = "会员名称[50]", example = "摩登天空会员卡")
private String name;
@ApiModelProperty(position = 2, required = true, value = "会员标题[50]", example = "摩登天空会员卡")
private String title;
@ApiModelProperty(position = 3, required = true, value = "会员副标题[50]", example = "摩登天空会员卡副标题")
private String subTitle;
@ApiModelProperty(position = 4, required = true, value = "icon图标[200]", example = "https://img.zhengzai.tv/files/2020/08/28/5f490418d30b4.png")
private String icon;
@ApiModelProperty(position = 5, required = true, value = "会员头像[200]", example = "https://img.zhengzai.tv/files/2020/08/31/5f4c75095e9bc.png")
private String avatar;
@ApiModelProperty(position = 6, required = true, value = "权益详情[200]", example = "加入摩登天空会员您可享受到.....")
private String interestsDetail;
@ApiModelProperty(position = 7, required = true, value = "注意事项[200]", example = "摩登天空会员需注意以下事项.....")
private String notes;
@ApiModelProperty(position = 8, required = true, value = "是否展示须知[[0-否,1-是]]", allowableValues = "0,1")
private Integer isNotice;
@ApiModelProperty(position = 9, required = true, value = "会员须知内容[200]", example = "会员须知细则1.xxxx\n2.xxxx")
private String noticeInfo;
@ApiModelProperty(position = 10, required = true, value = "会员须知标题[200]", example = "摩登天空会员须知")
private String noticeTitle;
@ApiModelProperty(position = 11, required = true, value = "是否需要答题[0-否,1-是]", allowableValues = "0,1")
private Integer needQuestion;
@ApiModelProperty(position = 12, required = true, value = "是否展示协议[0-否,1-是]", allowableValues = "0,1")
private Integer displayAgreement;
@ApiModelProperty(position = 13, required = true, value = "状态[1-NORMAL,2-INVALID]", example = "1")
private Integer state;
@ApiModelProperty(position = 14, required = true, value = "限购数量,0不限购[200]", example = "0")
private Integer limitation;
}
package com.liquidnet.service.adam.dto.param.admin;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
@ApiModel(value = "AdamMemberParam", description = "编辑会员入参")
@Data
public class AdamMemberParam implements Serializable {
private static final long serialVersionUID = -7411934614249221021L;
@ApiModelProperty(required = false, value = "会员ID[64]")
private String memberId;
@ApiModelProperty(required = false, value = "会员名称[80]", example = "摩登天空会员卡")
private String name;
@ApiModelProperty(required = true, value = "会员标题[100]", example = "摩登天空会员卡")
private String title;
@ApiModelProperty(required = true, value = "会员副标题[255]", example = "摩登天空会员卡副标题")
private String subTitle;
@ApiModelProperty(required = true, value = "icon图标[255]", example = "https://img.zhengzai.tv/files/2020/08/28/5f490418d30b4.png")
private String icon;
@ApiModelProperty(required = true, value = "会员头像[255]", example = "https://img.zhengzai.tv/files/2020/08/31/5f4c75095e9bc.png")
private String avatar;
@ApiModelProperty(required = true, value = "权益详情[200]", example = "加入摩登天空会员您可享受到.....")
private String interestsDetail;
@ApiModelProperty(required = true, value = "注意事项[200]", example = "摩登天空会员需注意以下事项.....")
private String notes;
@ApiModelProperty(required = true, value = "限购数量,0不限购[200]", example = "0")
private Integer limitation;
@ApiModelProperty(required = false, value = "限购开始时间[yyyy-MM-dd]", example = "2021-08-24")
private LocalDateTime limitStart;
@ApiModelProperty(required = false, value = "限购结束时间[yyyy-MM-dd]", example = "2021-09-24")
private LocalDateTime limitEnd;
@ApiModelProperty(required = true, value = "是否开售:1-开售|2-停售", example = "2021-09-24")
private Integer onsale;
}
package com.liquidnet.service.adam.dto.param.admin;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
@ApiModel(value = "AdamMembershipParam", description = "编辑会员入参")
@Data
public class AdamMembershipParam implements Serializable {
private static final long serialVersionUID = -7331274160877946420L;
@ApiModelProperty(required = true, value = "会员价格ID")
private String memberPriceId;
@ApiModelProperty(required = true, value = "原价")
private BigDecimal price;
@ApiModelProperty(required = true, value = "折扣价")
private BigDecimal priceFixed;
@ApiModelProperty(required = true, value = "特价:首次、首年优惠价")
private BigDecimal priceSpecial;
@ApiModelProperty(required = true, value = "有效天数")
private Integer days;
@ApiModelProperty(required = true, value = "权益ID[64]")
private String mrightsId;
@ApiModelProperty(required = true, value = "权益名称[50]")
private String title;
@ApiModelProperty(required = true, value = "权益名称[200]")
private String subTitle;
@ApiModelProperty(required = false, value = "标注[50]")
private String label;
@ApiModelProperty(required = true, value = "权益封面图片[255]")
private String cover;
@ApiModelProperty(required = false, value = "详情内容[50]")
private String detail;
@ApiModelProperty(required = true, value = "展示顺序[2]")
private Integer seqNo;
}
...@@ -10,26 +10,31 @@ import com.liquidnet.client.admin.common.utils.ShiroUtils; ...@@ -10,26 +10,31 @@ import com.liquidnet.client.admin.common.utils.ShiroUtils;
import com.liquidnet.client.admin.zhengzai.candy.service.ICandyCouponAdminService; import com.liquidnet.client.admin.zhengzai.candy.service.ICandyCouponAdminService;
import com.liquidnet.client.admin.zhengzai.candy.service.ICandyMgtCouponAdminService; import com.liquidnet.client.admin.zhengzai.candy.service.ICandyMgtCouponAdminService;
import com.liquidnet.commons.lang.util.IDGenerator; import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.candy.dto.admin.CandyCouponRuleBuildParam;
import com.liquidnet.service.candy.dto.admin.CandyMgtCouponBuildParam; import com.liquidnet.service.candy.dto.admin.CandyMgtCouponBuildParam;
import com.liquidnet.service.candy.dto.admin.CandyMgtCouponInfoDto; import com.liquidnet.service.candy.dto.admin.CandyMgtCouponInfoDto;
import com.liquidnet.service.candy.dto.admin.CandyMgtCouponListParam; import com.liquidnet.service.candy.dto.admin.CandyMgtCouponListParam;
import com.liquidnet.service.candy.entity.CandyCoupon; import com.liquidnet.service.candy.entity.CandyCoupon;
import com.liquidnet.service.candy.entity.CandyCouponRule;
import com.liquidnet.service.candy.entity.CandyMgtCoupon; 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 lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; 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.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.LocalTime; import java.time.LocalTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List; import java.util.List;
@Api(tags = "券发放管理") @Api(tags = "券发放管理")
...@@ -132,6 +137,22 @@ public class CandyMgtCoupon1AdminController extends BaseController { ...@@ -132,6 +137,22 @@ public class CandyMgtCoupon1AdminController extends BaseController {
initCoupon.setOperator(operator); initCoupon.setOperator(operator);
initCoupon.setCreatedAt(nowTime); initCoupon.setCreatedAt(nowTime);
List<CandyCouponRuleBuildParam> couponRuleList = buildParam.getCouponRuleList();
List<CandyCouponRule> initCouponRuleList = new ArrayList<>();
if (!CollectionUtils.isEmpty(couponRuleList)) {
couponRuleList.forEach(r -> {
CandyCouponRule initCouponRule = new CandyCouponRule();
initCouponRule.setCruleId(IDGenerator.nextMilliId());
initCouponRule.setCouponId(initCoupon.getCouponId());
initCouponRule.setUseScope(r.getUseScope());
initCouponRule.setBusiName(r.getBusiName());
initCouponRule.setBusiId(r.getBusiId());
initCouponRule.setState(1);
initCouponRuleList.add(initCouponRule);
});
}
CandyMgtCoupon initMgtCoupon = new CandyMgtCoupon(); CandyMgtCoupon initMgtCoupon = new CandyMgtCoupon();
initMgtCoupon.setMcouponId(IDGenerator.nextMilliId()); initMgtCoupon.setMcouponId(IDGenerator.nextMilliId());
initMgtCoupon.setCouponId(initCoupon.getCouponId()); initMgtCoupon.setCouponId(initCoupon.getCouponId());
...@@ -143,7 +164,7 @@ public class CandyMgtCoupon1AdminController extends BaseController { ...@@ -143,7 +164,7 @@ public class CandyMgtCoupon1AdminController extends BaseController {
initMgtCoupon.setOperator(operator); initMgtCoupon.setOperator(operator);
initMgtCoupon.setCreatedAt(nowTime); initMgtCoupon.setCreatedAt(nowTime);
candyMgtCouponAdminService.saveMgtCouponInfo(initCoupon, initMgtCoupon); candyMgtCouponAdminService.saveMgtCouponInfo(initCoupon, initMgtCoupon, initCouponRuleList);
return toAjax(true); return toAjax(true);
} }
......
...@@ -10,10 +10,12 @@ import com.liquidnet.client.admin.common.utils.ShiroUtils; ...@@ -10,10 +10,12 @@ import com.liquidnet.client.admin.common.utils.ShiroUtils;
import com.liquidnet.client.admin.zhengzai.candy.service.ICandyCouponAdminService; import com.liquidnet.client.admin.zhengzai.candy.service.ICandyCouponAdminService;
import com.liquidnet.client.admin.zhengzai.candy.service.ICandyMgtCouponAdminService; import com.liquidnet.client.admin.zhengzai.candy.service.ICandyMgtCouponAdminService;
import com.liquidnet.commons.lang.util.IDGenerator; import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.candy.dto.admin.CandyCouponRuleBuildParam;
import com.liquidnet.service.candy.dto.admin.CandyMgtCouponBuildParam; import com.liquidnet.service.candy.dto.admin.CandyMgtCouponBuildParam;
import com.liquidnet.service.candy.dto.admin.CandyMgtCouponInfoDto; import com.liquidnet.service.candy.dto.admin.CandyMgtCouponInfoDto;
import com.liquidnet.service.candy.dto.admin.CandyMgtCouponListParam; import com.liquidnet.service.candy.dto.admin.CandyMgtCouponListParam;
import com.liquidnet.service.candy.entity.CandyCoupon; import com.liquidnet.service.candy.entity.CandyCoupon;
import com.liquidnet.service.candy.entity.CandyCouponRule;
import com.liquidnet.service.candy.entity.CandyMgtCoupon; 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;
...@@ -23,6 +25,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions; ...@@ -23,6 +25,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
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.*;
...@@ -30,6 +33,7 @@ import java.math.BigDecimal; ...@@ -30,6 +33,7 @@ import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.LocalTime; import java.time.LocalTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List; import java.util.List;
@Api(tags = "券发放管理") @Api(tags = "券发放管理")
...@@ -132,6 +136,22 @@ public class CandyMgtCoupon2AdminController extends BaseController { ...@@ -132,6 +136,22 @@ public class CandyMgtCoupon2AdminController extends BaseController {
initCoupon.setOperator(operator); initCoupon.setOperator(operator);
initCoupon.setCreatedAt(nowTime); initCoupon.setCreatedAt(nowTime);
List<CandyCouponRuleBuildParam> couponRuleList = buildParam.getCouponRuleList();
List<CandyCouponRule> initCouponRuleList = new ArrayList<>();
if (!CollectionUtils.isEmpty(couponRuleList)) {
couponRuleList.forEach(r -> {
CandyCouponRule initCouponRule = new CandyCouponRule();
initCouponRule.setCruleId(IDGenerator.nextMilliId());
initCouponRule.setCouponId(initCoupon.getCouponId());
initCouponRule.setUseScope(r.getUseScope());
initCouponRule.setBusiName(r.getBusiName());
initCouponRule.setBusiId(r.getBusiId());
initCouponRule.setState(1);
initCouponRuleList.add(initCouponRule);
});
}
CandyMgtCoupon initMgtCoupon = new CandyMgtCoupon(); CandyMgtCoupon initMgtCoupon = new CandyMgtCoupon();
initMgtCoupon.setMcouponId(IDGenerator.nextMilliId()); initMgtCoupon.setMcouponId(IDGenerator.nextMilliId());
initMgtCoupon.setCouponId(initCoupon.getCouponId()); initMgtCoupon.setCouponId(initCoupon.getCouponId());
...@@ -143,7 +163,7 @@ public class CandyMgtCoupon2AdminController extends BaseController { ...@@ -143,7 +163,7 @@ public class CandyMgtCoupon2AdminController extends BaseController {
initMgtCoupon.setOperator(operator); initMgtCoupon.setOperator(operator);
initMgtCoupon.setCreatedAt(nowTime); initMgtCoupon.setCreatedAt(nowTime);
candyMgtCouponAdminService.saveMgtCouponInfo(initCoupon, initMgtCoupon); candyMgtCouponAdminService.saveMgtCouponInfo(initCoupon, initMgtCoupon, initCouponRuleList);
return toAjax(true); return toAjax(true);
} }
......
...@@ -10,10 +10,12 @@ import com.liquidnet.client.admin.common.utils.ShiroUtils; ...@@ -10,10 +10,12 @@ import com.liquidnet.client.admin.common.utils.ShiroUtils;
import com.liquidnet.client.admin.zhengzai.candy.service.ICandyCouponAdminService; import com.liquidnet.client.admin.zhengzai.candy.service.ICandyCouponAdminService;
import com.liquidnet.client.admin.zhengzai.candy.service.ICandyMgtCouponAdminService; import com.liquidnet.client.admin.zhengzai.candy.service.ICandyMgtCouponAdminService;
import com.liquidnet.commons.lang.util.IDGenerator; import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.candy.dto.admin.CandyCouponRuleBuildParam;
import com.liquidnet.service.candy.dto.admin.CandyMgtCouponBuildParam; import com.liquidnet.service.candy.dto.admin.CandyMgtCouponBuildParam;
import com.liquidnet.service.candy.dto.admin.CandyMgtCouponInfoDto; import com.liquidnet.service.candy.dto.admin.CandyMgtCouponInfoDto;
import com.liquidnet.service.candy.dto.admin.CandyMgtCouponListParam; import com.liquidnet.service.candy.dto.admin.CandyMgtCouponListParam;
import com.liquidnet.service.candy.entity.CandyCoupon; import com.liquidnet.service.candy.entity.CandyCoupon;
import com.liquidnet.service.candy.entity.CandyCouponRule;
import com.liquidnet.service.candy.entity.CandyMgtCoupon; 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;
...@@ -23,6 +25,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions; ...@@ -23,6 +25,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
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.*;
...@@ -30,6 +33,7 @@ import java.math.BigDecimal; ...@@ -30,6 +33,7 @@ import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.LocalTime; import java.time.LocalTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List; import java.util.List;
@Api(tags = "券发放管理") @Api(tags = "券发放管理")
...@@ -132,6 +136,22 @@ public class CandyMgtCoupon3AdminController extends BaseController { ...@@ -132,6 +136,22 @@ public class CandyMgtCoupon3AdminController extends BaseController {
initCoupon.setOperator(operator); initCoupon.setOperator(operator);
initCoupon.setCreatedAt(nowTime); initCoupon.setCreatedAt(nowTime);
List<CandyCouponRuleBuildParam> couponRuleList = buildParam.getCouponRuleList();
List<CandyCouponRule> initCouponRuleList = new ArrayList<>();
if (!CollectionUtils.isEmpty(couponRuleList)) {
couponRuleList.forEach(r -> {
CandyCouponRule initCouponRule = new CandyCouponRule();
initCouponRule.setCruleId(IDGenerator.nextMilliId());
initCouponRule.setCouponId(initCoupon.getCouponId());
initCouponRule.setUseScope(r.getUseScope());
initCouponRule.setBusiName(r.getBusiName());
initCouponRule.setBusiId(r.getBusiId());
initCouponRule.setState(1);
initCouponRuleList.add(initCouponRule);
});
}
CandyMgtCoupon initMgtCoupon = new CandyMgtCoupon(); CandyMgtCoupon initMgtCoupon = new CandyMgtCoupon();
initMgtCoupon.setMcouponId(IDGenerator.nextMilliId()); initMgtCoupon.setMcouponId(IDGenerator.nextMilliId());
initMgtCoupon.setCouponId(initCoupon.getCouponId()); initMgtCoupon.setCouponId(initCoupon.getCouponId());
...@@ -143,7 +163,7 @@ public class CandyMgtCoupon3AdminController extends BaseController { ...@@ -143,7 +163,7 @@ public class CandyMgtCoupon3AdminController extends BaseController {
initMgtCoupon.setOperator(operator); initMgtCoupon.setOperator(operator);
initMgtCoupon.setCreatedAt(nowTime); initMgtCoupon.setCreatedAt(nowTime);
candyMgtCouponAdminService.saveMgtCouponInfo(initCoupon, initMgtCoupon); candyMgtCouponAdminService.saveMgtCouponInfo(initCoupon, initMgtCoupon, initCouponRuleList);
return toAjax(true); return toAjax(true);
} }
......
...@@ -10,10 +10,12 @@ import com.liquidnet.client.admin.common.utils.ShiroUtils; ...@@ -10,10 +10,12 @@ import com.liquidnet.client.admin.common.utils.ShiroUtils;
import com.liquidnet.client.admin.zhengzai.candy.service.ICandyCouponAdminService; import com.liquidnet.client.admin.zhengzai.candy.service.ICandyCouponAdminService;
import com.liquidnet.client.admin.zhengzai.candy.service.ICandyMgtCouponAdminService; import com.liquidnet.client.admin.zhengzai.candy.service.ICandyMgtCouponAdminService;
import com.liquidnet.commons.lang.util.IDGenerator; import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.candy.dto.admin.CandyCouponRuleBuildParam;
import com.liquidnet.service.candy.dto.admin.CandyMgtCouponBuildParam; import com.liquidnet.service.candy.dto.admin.CandyMgtCouponBuildParam;
import com.liquidnet.service.candy.dto.admin.CandyMgtCouponInfoDto; import com.liquidnet.service.candy.dto.admin.CandyMgtCouponInfoDto;
import com.liquidnet.service.candy.dto.admin.CandyMgtCouponListParam; import com.liquidnet.service.candy.dto.admin.CandyMgtCouponListParam;
import com.liquidnet.service.candy.entity.CandyCoupon; import com.liquidnet.service.candy.entity.CandyCoupon;
import com.liquidnet.service.candy.entity.CandyCouponRule;
import com.liquidnet.service.candy.entity.CandyMgtCoupon; 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;
...@@ -23,6 +25,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions; ...@@ -23,6 +25,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
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.*;
...@@ -30,6 +33,7 @@ import java.math.BigDecimal; ...@@ -30,6 +33,7 @@ import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.LocalTime; import java.time.LocalTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List; import java.util.List;
@Api(tags = "券发放管理") @Api(tags = "券发放管理")
...@@ -132,6 +136,22 @@ public class CandyMgtCoupon4AdminController extends BaseController { ...@@ -132,6 +136,22 @@ public class CandyMgtCoupon4AdminController extends BaseController {
initCoupon.setOperator(operator); initCoupon.setOperator(operator);
initCoupon.setCreatedAt(nowTime); initCoupon.setCreatedAt(nowTime);
List<CandyCouponRuleBuildParam> couponRuleList = buildParam.getCouponRuleList();
List<CandyCouponRule> initCouponRuleList = new ArrayList<>();
if (!CollectionUtils.isEmpty(couponRuleList)) {
couponRuleList.forEach(r -> {
CandyCouponRule initCouponRule = new CandyCouponRule();
initCouponRule.setCruleId(IDGenerator.nextMilliId());
initCouponRule.setCouponId(initCoupon.getCouponId());
initCouponRule.setUseScope(r.getUseScope());
initCouponRule.setBusiName(r.getBusiName());
initCouponRule.setBusiId(r.getBusiId());
initCouponRule.setState(1);
initCouponRuleList.add(initCouponRule);
});
}
CandyMgtCoupon initMgtCoupon = new CandyMgtCoupon(); CandyMgtCoupon initMgtCoupon = new CandyMgtCoupon();
initMgtCoupon.setMcouponId(IDGenerator.nextMilliId()); initMgtCoupon.setMcouponId(IDGenerator.nextMilliId());
initMgtCoupon.setCouponId(initCoupon.getCouponId()); initMgtCoupon.setCouponId(initCoupon.getCouponId());
...@@ -143,7 +163,7 @@ public class CandyMgtCoupon4AdminController extends BaseController { ...@@ -143,7 +163,7 @@ public class CandyMgtCoupon4AdminController extends BaseController {
initMgtCoupon.setOperator(operator); initMgtCoupon.setOperator(operator);
initMgtCoupon.setCreatedAt(nowTime); initMgtCoupon.setCreatedAt(nowTime);
candyMgtCouponAdminService.saveMgtCouponInfo(initCoupon, initMgtCoupon); candyMgtCouponAdminService.saveMgtCouponInfo(initCoupon, initMgtCoupon, initCouponRuleList);
return toAjax(true); return toAjax(true);
} }
......
package com.liquidnet.client.admin.zhengzai.adam.service; package com.liquidnet.client.admin.zhengzai.adam.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.adam.dto.AdamMemberParam; import com.liquidnet.service.adam.dto.param.admin.AdamMemberParam;
import com.liquidnet.service.adam.dto.vo.AdamMemberVo;
import com.liquidnet.service.adam.entity.AdamMember; import com.liquidnet.service.adam.entity.AdamMember;
import com.liquidnet.service.base.ResponseDto;
/** /**
* 会员信息 * 会员信息
...@@ -12,5 +10,5 @@ import com.liquidnet.service.base.ResponseDto; ...@@ -12,5 +10,5 @@ import com.liquidnet.service.base.ResponseDto;
public interface IAdamMemberAdminService extends IService<AdamMember> { public interface IAdamMemberAdminService extends IService<AdamMember> {
void add(AdamMemberParam parameter); void add(AdamMemberParam parameter);
void edit(AdamMemberParam parameter); boolean edit(AdamMemberParam parameter);
} }
package com.liquidnet.client.admin.zhengzai.adam.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.adam.dto.AdamMemberPriceParam;
import com.liquidnet.service.adam.dto.vo.AdamMemberPriceVo;
import com.liquidnet.service.adam.entity.AdamMemberPrice;
import com.liquidnet.service.adam.entity.AdamMemberRights;
public interface IAdamMemberRightsAdminService extends IService<AdamMemberRights> {
}
package com.liquidnet.client.admin.zhengzai.adam.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.client.admin.zhengzai.adam.service.IAdamMemberRightsAdminService;
import com.liquidnet.service.adam.entity.AdamMemberRights;
import com.liquidnet.service.adam.mapper.AdamMemberRightsMapper;
import org.springframework.stereotype.Service;
@Service
public class AdamMemberRightsAdminServiceImpl extends ServiceImpl<AdamMemberRightsMapper, AdamMemberRights> implements IAdamMemberRightsAdminService {
}
package com.liquidnet.client.admin.zhengzai.adam.service.impl; package com.liquidnet.client.admin.zhengzai.adam.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.client.admin.zhengzai.adam.service.IAdamMemberAdminService; import com.liquidnet.client.admin.zhengzai.adam.service.IAdamMemberAdminService;
...@@ -7,7 +8,7 @@ import com.liquidnet.common.cache.redis.util.RedisUtil; ...@@ -7,7 +8,7 @@ import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.IDGenerator; import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.commons.lang.util.JsonUtils; import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.adam.constant.AdamRedisConst; import com.liquidnet.service.adam.constant.AdamRedisConst;
import com.liquidnet.service.adam.dto.AdamMemberParam; import com.liquidnet.service.adam.dto.param.admin.AdamMemberParam;
import com.liquidnet.service.adam.dto.vo.AdamMemberVo; import com.liquidnet.service.adam.dto.vo.AdamMemberVo;
import com.liquidnet.service.adam.entity.AdamMember; import com.liquidnet.service.adam.entity.AdamMember;
import com.liquidnet.service.adam.mapper.AdamMemberMapper; import com.liquidnet.service.adam.mapper.AdamMemberMapper;
...@@ -30,8 +31,8 @@ import java.util.List; ...@@ -30,8 +31,8 @@ import java.util.List;
public class AdamMemberServiceAdminImpl extends ServiceImpl<AdamMemberMapper, AdamMember> implements IAdamMemberAdminService { public class AdamMemberServiceAdminImpl extends ServiceImpl<AdamMemberMapper, AdamMember> implements IAdamMemberAdminService {
@Autowired @Autowired
AdamMemberMapper adamMemberMapper; AdamMemberMapper adamMemberMapper;
@Autowired // @Autowired
MongoTemplate mongoTemplate; // MongoTemplate mongoTemplate;
@Autowired @Autowired
RedisUtil redisUtil; RedisUtil redisUtil;
...@@ -51,28 +52,22 @@ public class AdamMemberServiceAdminImpl extends ServiceImpl<AdamMemberMapper, Ad ...@@ -51,28 +52,22 @@ public class AdamMemberServiceAdminImpl extends ServiceImpl<AdamMemberMapper, Ad
AdamMemberVo vo = AdamMemberVo.getNew().copy(adamMember); AdamMemberVo vo = AdamMemberVo.getNew().copy(adamMember);
adamMemberMapper.insert(adamMember); adamMemberMapper.insert(adamMember);
mongoTemplate.insert(vo, AdamMemberVo.class.getSimpleName()); // mongoTemplate.insert(vo, AdamMemberVo.class.getSimpleName());
redisUtil.set(AdamRedisConst.INFO_MEMBER_CATEGORY.concat(vo.getMemberId()), vo); redisUtil.set(AdamRedisConst.INFO_MEMBER_CATEGORY.concat(vo.getMemberId()), vo);
} }
@Override @Override
public void edit(AdamMemberParam parameter) { public boolean edit(AdamMemberParam parameter) {
AdamMember adamMember = new AdamMember(); AdamMember adamMember = new AdamMember();
BeanUtils.copyProperties(parameter, adamMember); BeanUtils.copyProperties(parameter, adamMember);
adamMember.setUpdatedAt(LocalDateTime.now()); adamMember.setUpdatedAt(LocalDateTime.now());
AdamMemberVo vo = AdamMemberVo.getNew().copy(adamMember); AdamMemberVo vo = AdamMemberVo.getNew().copy(adamMember);
adamMemberMapper.update(adamMember, Wrappers.lambdaQuery(AdamMember.class).eq(AdamMember::getMemberId, parameter.getMemberId())); LambdaQueryWrapper<AdamMember> updateMemberWrapper = Wrappers.lambdaQuery(AdamMember.class).eq(AdamMember::getMemberId, parameter.getMemberId());
if (2 == vo.getState()) { if (adamMemberMapper.update(adamMember, updateMemberWrapper) > 0) {
mongoTemplate.remove(Query.query(Criteria.where("memberId").is(adamMember.getMemberId())), AdamMemberVo.class.getSimpleName());
redisUtil.del(AdamRedisConst.INFO_MEMBER_CATEGORY.concat(vo.getMemberId()));
} else {
mongoTemplate.updateFirst(
Query.query(Criteria.where("memberId").is(adamMember.getMemberId())),
Update.fromDocument(Document.parse(JsonUtils.toJson(adamMember))),
AdamMemberVo.class.getSimpleName()
);
redisUtil.set(AdamRedisConst.INFO_MEMBER_CATEGORY.concat(vo.getMemberId()), vo); redisUtil.set(AdamRedisConst.INFO_MEMBER_CATEGORY.concat(vo.getMemberId()), vo);
return true;
} }
return false;
} }
} }
package com.liquidnet.client.admin.zhengzai.candy.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.candy.entity.CandyCouponCode;
import com.liquidnet.service.candy.entity.CandyCouponRule;
public interface ICandyCouponRuleAdminService extends IService<CandyCouponRule> {
}
...@@ -3,14 +3,18 @@ package com.liquidnet.client.admin.zhengzai.candy.service; ...@@ -3,14 +3,18 @@ package com.liquidnet.client.admin.zhengzai.candy.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.candy.dto.admin.CandyMgtCouponInfoDto; import com.liquidnet.service.candy.dto.admin.CandyMgtCouponInfoDto;
import com.liquidnet.service.candy.dto.admin.CandyMgtCouponListParam; import com.liquidnet.service.candy.dto.admin.CandyMgtCouponListParam;
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.CandyCouponRule;
import com.liquidnet.service.candy.entity.CandyMgtCoupon; import com.liquidnet.service.candy.entity.CandyMgtCoupon;
import java.util.List; import java.util.List;
public interface ICandyMgtCouponAdminService extends IService<CandyMgtCoupon> { public interface ICandyMgtCouponAdminService extends IService<CandyMgtCoupon> {
void saveMgtCouponInfo(CandyCoupon initCoupon, CandyMgtCoupon initMgtCoupon); void saveMgtCouponInfo(CandyCoupon initCoupon, CandyMgtCoupon initMgtCoupon, List<CandyCouponRule> initCouponRuleList);
List<CandyMgtCouponInfoDto> listForMgtCouponInfoDto(CandyMgtCouponListParam listParam); List<CandyMgtCouponInfoDto> listForMgtCouponInfoDto(CandyMgtCouponListParam listParam);
List<CandyMgtCouponMemberDto> listForMgtCouponMemberDto(List<String> mrightsIdList);
} }
package com.liquidnet.client.admin.zhengzai.candy.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.client.admin.zhengzai.candy.service.ICandyCouponRuleAdminService;
import com.liquidnet.service.candy.entity.CandyCouponRule;
import com.liquidnet.service.candy.mapper.CandyCouponRuleMapper;
import org.springframework.stereotype.Service;
@Service
public class CandyCouponRuleAdminServiceImpl extends ServiceImpl<CandyCouponRuleMapper, CandyCouponRule> implements ICandyCouponRuleAdminService {
}
package com.liquidnet.client.admin.zhengzai.candy.service.impl; package com.liquidnet.client.admin.zhengzai.candy.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.client.admin.zhengzai.candy.service.ICandyCouponRuleAdminService;
import com.liquidnet.client.admin.zhengzai.candy.service.ICandyMgtCouponAdminService; import com.liquidnet.client.admin.zhengzai.candy.service.ICandyMgtCouponAdminService;
import com.liquidnet.common.exception.LiquidnetServiceException; import com.liquidnet.common.exception.LiquidnetServiceException;
import com.liquidnet.service.candy.dto.admin.CandyMgtCouponInfoDto; import com.liquidnet.service.candy.dto.admin.CandyMgtCouponInfoDto;
import com.liquidnet.service.candy.dto.admin.CandyMgtCouponListParam; import com.liquidnet.service.candy.dto.admin.CandyMgtCouponListParam;
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.CandyCouponRule;
import com.liquidnet.service.candy.entity.CandyMgtCoupon; import com.liquidnet.service.candy.entity.CandyMgtCoupon;
import com.liquidnet.service.candy.mapper.CandyCouponMapper; import com.liquidnet.service.candy.mapper.CandyCouponMapper;
import com.liquidnet.service.candy.mapper.CandyMgtCouponMapper; import com.liquidnet.service.candy.mapper.CandyMgtCouponMapper;
...@@ -23,13 +26,18 @@ public class CandyMgtCouponAdminServiceImpl extends ServiceImpl<CandyMgtCouponMa ...@@ -23,13 +26,18 @@ public class CandyMgtCouponAdminServiceImpl extends ServiceImpl<CandyMgtCouponMa
private CandyMgtCouponMapper candyMgtCouponMapper; private CandyMgtCouponMapper candyMgtCouponMapper;
@Autowired @Autowired
private CandyCouponMapper candyCouponMapper; private CandyCouponMapper candyCouponMapper;
@Autowired
private ICandyCouponRuleAdminService candyCouponRuleAdminService;
@Override @Override
@Transactional @Transactional
public void saveMgtCouponInfo(CandyCoupon initCoupon, CandyMgtCoupon initMgtCoupon) { public void saveMgtCouponInfo(CandyCoupon initCoupon, CandyMgtCoupon initMgtCoupon, List<CandyCouponRule> initCouponRuleList) {
int insert = candyCouponMapper.insert(initCoupon); int insert = candyCouponMapper.insert(initCoupon);
insert += candyMgtCouponMapper.insert(initMgtCoupon); insert += candyMgtCouponMapper.insert(initMgtCoupon);
if (insert < 2) {
boolean saveBatch = candyCouponRuleAdminService.saveBatch(initCouponRuleList);
if (insert < 2 || !saveBatch) {
throw new LiquidnetServiceException(); throw new LiquidnetServiceException();
} }
} }
...@@ -38,4 +46,9 @@ public class CandyMgtCouponAdminServiceImpl extends ServiceImpl<CandyMgtCouponMa ...@@ -38,4 +46,9 @@ public class CandyMgtCouponAdminServiceImpl extends ServiceImpl<CandyMgtCouponMa
public List<CandyMgtCouponInfoDto> listForMgtCouponInfoDto(CandyMgtCouponListParam listParam) { public List<CandyMgtCouponInfoDto> listForMgtCouponInfoDto(CandyMgtCouponListParam listParam) {
return candyMgtCouponMapper.selectMultiForMgtCouponInfoDto(listParam); return candyMgtCouponMapper.selectMultiForMgtCouponInfoDto(listParam);
} }
@Override
public List<CandyMgtCouponMemberDto> listForMgtCouponMemberDto(List<String> mrightsIdList) {
return candyMgtCouponMapper.selectMultiForMgtCouponMemberDto(mrightsIdList);
}
} }
...@@ -100,11 +100,31 @@ public class AdamMember implements Serializable { ...@@ -100,11 +100,31 @@ public class AdamMember implements Serializable {
*/ */
private Integer state; private Integer state;
/**
* 积分倍率X100
*/
private Integer integralRate;
/** /**
* 限购数量 * 限购数量
*/ */
private Integer limitation; private Integer limitation;
/**
* 限购开始时间
*/
private LocalDateTime limitStart;
/**
* 限购结束时间
*/
private LocalDateTime limitEnd;
/**
* 是否开售:1-开售|2-停售
*/
private Integer onsale;
private LocalDateTime createdAt; private LocalDateTime createdAt;
private LocalDateTime updatedAt; private LocalDateTime updatedAt;
......
...@@ -47,10 +47,15 @@ public class AdamMemberPrice implements Serializable { ...@@ -47,10 +47,15 @@ public class AdamMemberPrice implements Serializable {
private BigDecimal price; private BigDecimal price;
/** /**
* 折扣价 * 购买价格
*/ */
private BigDecimal priceFixed; private BigDecimal priceFixed;
/**
* 特价:首次、首年优惠价
*/
private BigDecimal priceSpecial;
/** /**
* 会员包有效天数 * 会员包有效天数
*/ */
......
package com.liquidnet.service.adam.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 会员权益配置
* </p>
*
* @author liquidnet
* @since 2021-08-25
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class AdamMemberRights implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Long mid;
private String mrightsId;
/**
* 会员类型id
*/
private String memberId;
/**
* 发放状态[0-INIT|1-NORMAL|2-INVALID]
*/
private Integer state;
/**
* 排列序号
*/
private Integer seqNo;
/**
* 权益标题
*/
private String title;
/**
* 副标题
*/
private String subTitle;
/**
* 标注
*/
private String label;
/**
* 图片标识
*/
private String cover;
/**
* 详情内容
*/
private String detail;
private String comment;
}
package com.liquidnet.service.adam.mapper;
import com.liquidnet.service.adam.entity.AdamMemberRights;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 会员权益配置 Mapper 接口
* </p>
*
* @author liquidnet
* @since 2021-08-24
*/
public interface AdamMemberRightsMapper extends BaseMapper<AdamMemberRights> {
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liquidnet.service.adam.mapper.AdamMemberRightsMapper">
</mapper>
package com.liquidnet.service.candy.dto.admin;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
@Data
public class CandyMgtCouponMemberDto implements Serializable {
private static final long serialVersionUID = -4682805967989324746L;
/* com.liquidnet.service.candy.entity.CandyCoupon */
//private String couponId;
//private Integer state;
private String title;
//private String label;
//private String notice;
//private Integer exclusive;
private Integer busiType;
private Integer couType;
//private Integer bindType;
//private BigDecimal discount;
private BigDecimal valFace;
private BigDecimal valOver;
private BigDecimal valMinus;
private Integer overlay;
//private Integer overlayLevel;
//private Integer validity;
//private Integer redeemValidity;
//private LocalDateTime redeemStart;
//private LocalDateTime redeemStop;
//private LocalDateTime effectAt;
//private LocalDateTime expireAt;
//private String operator;
//private LocalDateTime createdAt;
//private LocalDateTime updatedAt;
//private String comment;
/* com.liquidnet.service.candy.entity.CandyMgtCoupon */
private String mcouponId;
//private String couponId;
//private Integer state;
private Integer eventAmt;
//private Integer eventType;
//private String eventLimit;
//private LocalDateTime eventAt;
//private String operator;
//private LocalDateTime createdAt;
//private LocalDateTime updatedAt;
//private String comment;
}
...@@ -32,7 +32,7 @@ public class CandyMgtCoupon implements Serializable { ...@@ -32,7 +32,7 @@ public class CandyMgtCoupon implements Serializable {
private String couponId; private String couponId;
/** /**
* 发放状态[0-未发放|1-已发放|2-无效|9-发放中] * 发放状态[0-未发放|1-已发放|2-无效|9-发放中|10-会员礼包专用模版]
*/ */
private Integer state; private Integer state;
......
...@@ -3,7 +3,9 @@ package com.liquidnet.service.candy.mapper; ...@@ -3,7 +3,9 @@ package com.liquidnet.service.candy.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.liquidnet.service.candy.dto.admin.CandyMgtCouponInfoDto; import com.liquidnet.service.candy.dto.admin.CandyMgtCouponInfoDto;
import com.liquidnet.service.candy.dto.admin.CandyMgtCouponListParam; import com.liquidnet.service.candy.dto.admin.CandyMgtCouponListParam;
import com.liquidnet.service.candy.dto.admin.CandyMgtCouponMemberDto;
import com.liquidnet.service.candy.entity.CandyMgtCoupon; import com.liquidnet.service.candy.entity.CandyMgtCoupon;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
...@@ -26,4 +28,14 @@ public interface CandyMgtCouponMapper extends BaseMapper<CandyMgtCoupon> { ...@@ -26,4 +28,14 @@ public interface CandyMgtCouponMapper extends BaseMapper<CandyMgtCoupon> {
* @return List<CandyMgtCouponInfoDto> * @return List<CandyMgtCouponInfoDto>
*/ */
List<CandyMgtCouponInfoDto> selectMultiForMgtCouponInfoDto(CandyMgtCouponListParam listParam); List<CandyMgtCouponInfoDto> selectMultiForMgtCouponInfoDto(CandyMgtCouponListParam listParam);
/**
* <p>
* 查取会员礼包券信息
* </p>
*
* @param mrightsIdList List<String>
* @return List<CandyMgtCouponMemberDto>
*/
List<CandyMgtCouponMemberDto> selectMultiForMgtCouponMemberDto(@Param("mrightsIdList") List<String> mrightsIdList);
} }
...@@ -43,6 +43,47 @@ ...@@ -43,6 +43,47 @@
<!-- <result column="comment" jdbcType="VARCHAR" property="comment" />--> <!-- <result column="comment" jdbcType="VARCHAR" property="comment" />-->
</resultMap> </resultMap>
<resultMap id="Rst_MgtCouponMemberDto" type="com.liquidnet.service.candy.dto.admin.CandyMgtCouponMemberDto">
<!-- <result column="coupon_id" jdbcType="VARCHAR" property="couponId"/>-->
<!-- <result column="state" jdbcType="TINYINT" property="state" />-->
<result column="title" jdbcType="VARCHAR" property="title"/>
<!-- <result column="label" jdbcType="VARCHAR" property="label"/>-->
<!-- <result column="notice" jdbcType="VARCHAR" property="notice"/>-->
<!-- <result column="exclusive" jdbcType="SMALLINT" property="exclusive"/>-->
<result column="busi_type" jdbcType="SMALLINT" property="busiType"/>
<result column="cou_type" jdbcType="SMALLINT" property="couType"/>
<!-- <result column="bind_type" jdbcType="SMALLINT" property="bindType"/>-->
<!-- <result column="discount" jdbcType="DECIMAL" property="discount"/>-->
<result column="val_face" jdbcType="DECIMAL" property="valFace"/>
<result column="val_over" jdbcType="DECIMAL" property="valOver"/>
<result column="val_minus" jdbcType="DECIMAL" property="valMinus"/>
<result column="overlay" jdbcType="TINYINT" property="overlay"/>
<!-- <result column="overlay_level" jdbcType="TINYINT" property="overlayLevel"/>-->
<!-- <result column="validity" jdbcType="INTEGER" property="validity"/>-->
<!-- <result column="redeem_validity" jdbcType="INTEGER" property="redeemValidity"/>-->
<!-- <result column="redeem_start" jdbcType="TIMESTAMP" property="redeemStart"/>-->
<!-- <result column="redeem_stop" jdbcType="TIMESTAMP" property="redeemStop"/>-->
<!-- <result column="effect_at" jdbcType="TIMESTAMP" property="effectAt"/>-->
<!-- <result column="expire_at" jdbcType="TIMESTAMP" property="expireAt"/>-->
<!-- <result column="operator" jdbcType="VARCHAR" property="operator" />-->
<!-- <result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />-->
<!-- <result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" />-->
<!-- <result column="comment" jdbcType="VARCHAR" property="comment" />-->
<result column="mcoupon_id" jdbcType="VARCHAR" property="mcouponId"/>
<!-- <result column="coupon_id" jdbcType="VARCHAR" property="couponId" />-->
<!-- <result column="state" jdbcType="TINYINT" property="state"/>-->
<!-- <result column="bind_type" jdbcType="SMALLINT" property="bindType"/>-->
<result column="event_amt" jdbcType="INTEGER" property="eventAmt"/>
<!-- <result column="event_type" jdbcType="TINYINT" property="eventType"/>-->
<!-- <result column="event_limit" jdbcType="VARCHAR" property="eventLimit"/>-->
<!-- <result column="event_at" jdbcType="TIMESTAMP" property="eventAt"/>-->
<!-- <result column="operator" jdbcType="VARCHAR" property="operator"/>-->
<!-- <result column="created_at" jdbcType="TIMESTAMP" property="createdAt"/>-->
<!-- <result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt"/>-->
<!-- <result column="comment" jdbcType="VARCHAR" property="comment" />-->
</resultMap>
<select id="selectMultiForMgtCouponInfoDto" parameterType="com.liquidnet.service.candy.dto.admin.CandyMgtCouponListParam" resultMap="Rst_MgtCouponInfoDto"> <select id="selectMultiForMgtCouponInfoDto" parameterType="com.liquidnet.service.candy.dto.admin.CandyMgtCouponListParam" resultMap="Rst_MgtCouponInfoDto">
SELECT cc.coupon_id, SELECT cc.coupon_id,
cc.title, cc.title,
...@@ -94,4 +135,23 @@ ...@@ -94,4 +135,23 @@
ORDER BY cmc.created_at DESC ORDER BY cmc.created_at DESC
</select> </select>
<select id="selectMultiForMgtCouponMemberDto" resultMap="Rst_MgtCouponMemberDto">
select cc.title,
cc.busi_type,
cc.cou_type,
cc.val_face,
cc.val_over,
cc.val_minus,
cc.overlay,
cmc.mcoupon_id,
cmc.event_amt
from candy_mgt_coupon cmc
left join candy_coupon cc on cmc.coupon_id = cc.coupon_id
where cmc.mcoupon_id in
<foreach collection="mrightsIdList" item="item" index="idx" open="(" close=")" separator=",">
${item}
</foreach>
and cmc.state = 10
and cc.state = 1
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -206,7 +206,7 @@ drop table if exists adam_member; ...@@ -206,7 +206,7 @@ drop table if exists adam_member;
create table adam_member create table adam_member
( (
mid bigint unsigned auto_increment primary key, mid bigint unsigned auto_increment primary key,
member_id varchar(255) comment '会员id', member_id varchar(64) comment '会员id',
name varchar(80), name varchar(80),
title varchar(100), title varchar(100),
sub_title varchar(255) NOT NULL DEFAULT '' COMMENT '副标题', sub_title varchar(255) NOT NULL DEFAULT '' COMMENT '副标题',
...@@ -263,8 +263,8 @@ create table adam_member_order ...@@ -263,8 +263,8 @@ create table adam_member_order
price decimal(8, 2) comment '原价', price decimal(8, 2) comment '原价',
price_paid decimal(8, 2) comment '实际支付', price_paid decimal(8, 2) comment '实际支付',
member_name varchar(80), member_name varchar(80),
member_id varchar(255) comment '会员id', member_id varchar(64) comment '会员id',
member_price_id varchar(255) comment '会员价格id', member_price_id varchar(64) comment '会员价格id',
days int default 0 comment '购买天数', days int default 0 comment '购买天数',
state tinyint comment '订单状态', state tinyint comment '订单状态',
member_no varchar(20) comment '会员号', member_no varchar(20) comment '会员号',
...@@ -289,7 +289,7 @@ create table adam_user_member ...@@ -289,7 +289,7 @@ create table adam_user_member
( (
mid bigint unsigned auto_increment primary key, mid bigint unsigned auto_increment primary key,
uid varchar(64) not null, uid varchar(64) not null,
member_id varchar(255) comment '会员类型id', member_id varchar(64) comment '会员类型id',
member_no varchar(20) not null, member_no varchar(20) not null,
state tinyint comment '1-NORMAL,2-INVALID', state tinyint comment '1-NORMAL,2-INVALID',
expiry_at datetime(3) comment '到期日期', expiry_at datetime(3) comment '到期日期',
...@@ -308,8 +308,8 @@ create table adam_member_code ...@@ -308,8 +308,8 @@ create table adam_member_code
mid bigint unsigned auto_increment primary key, mid bigint unsigned auto_increment primary key,
code varchar(20) comment '会员码', code varchar(20) comment '会员码',
type int default 0 comment '类型:1-购买,2-赠送(后台生成)', type int default 0 comment '类型:1-购买,2-赠送(后台生成)',
member_id varchar(255) comment '会员ID', member_id varchar(64) comment '会员ID',
member_price_id varchar(255) comment '会员价格ID', member_price_id varchar(64) comment '会员价格ID',
member_no varchar(20) comment '预留会员号', member_no varchar(20) comment '预留会员号',
state tinyint comment '0-未用,1-已用,2-不可用', state tinyint comment '0-未用,1-已用,2-不可用',
created_at datetime(3), created_at datetime(3),
...@@ -346,7 +346,7 @@ alter table adam_member add limit_end datetime(3) null comment '限购结束时 ...@@ -346,7 +346,7 @@ alter table adam_member add limit_end datetime(3) null comment '限购结束时
# 添加`是否开售`开关,新增开售开关字段 # 添加`是否开售`开关,新增开售开关字段
alter table adam_member add onsale tinyint default 0 null comment '是否开售:1-开售|2-停售' after limit_end; alter table adam_member add onsale tinyint default 0 null comment '是否开售:1-开售|2-停售' after limit_end;
# 添加`双倍积分`开关 # 添加`双倍积分`开关
alter table adam_member add integral_rate decimal(8, 6) default 0 null comment '积分倍率X100' after state; alter table adam_member add integral_rate int default 0 null comment '积分倍率X100' after state;
# 添加会员价格字段 # 添加会员价格字段
...@@ -392,11 +392,13 @@ create table adam_member_rights ...@@ -392,11 +392,13 @@ create table adam_member_rights
( (
mid bigint unsigned auto_increment primary key, mid bigint unsigned auto_increment primary key,
mrights_id varchar(64) not null, mrights_id varchar(64) not null,
member_id varchar(64) comment '会员类型id',
state tinyint comment '发放状态[0-INIT|1-NORMAL|2-INVALID]', state tinyint comment '发放状态[0-INIT|1-NORMAL|2-INVALID]',
seq_no smallint comment '排列序号',
title varchar(50) not null comment '权益标题', title varchar(50) not null comment '权益标题',
sub_title varchar(255) comment '副标题', sub_title varchar(200) comment '副标题',
label varchar(50) comment '标注', label varchar(50) comment '标注',
icon varchar(255) comment '图片标识', cover varchar(255) comment '图片标识',
detail text comment '详情内容', detail text comment '详情内容',
comment varchar(255) comment varchar(255)
) engine = InnoDB comment '会员权益配置'; ) engine = InnoDB comment '会员权益配置';
......
...@@ -8,7 +8,7 @@ create table candy_mgt_coupon ...@@ -8,7 +8,7 @@ create table candy_mgt_coupon
mid bigint unsigned auto_increment primary key, mid bigint unsigned auto_increment primary key,
mcoupon_id varchar(64) not null, mcoupon_id varchar(64) not null,
coupon_id varchar(64) not null comment '~candy_coupon.coupon_id', coupon_id varchar(64) not null comment '~candy_coupon.coupon_id',
state tinyint comment '发放状态[0-未发放|1-已发放|2-无效|9-发放中]', state tinyint comment '发放状态[0-未发放|1-已发放|2-无效|9-发放中|10-会员礼包专用模版]',
# bind_type smallint comment '领取方式[0-用户输入兑换|1-发放至用户]', # bind_type smallint comment '领取方式[0-用户输入兑换|1-发放至用户]',
event_amt int comment '发放量', event_amt int comment '发放量',
......
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