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

Commit 7076ce97 authored by 张国柄's avatar 张国柄

Candy:+basic dto;

parent b50a423f
package com.liquidnet.service.candy.constant;
public class CandyRedisConst {
public static final String PREFIX = "candy:";
public static final String BASIC_USER_COUPON = PREFIX.concat("basic:user_coupon:");
}
package com.liquidnet.service.candy.dto;
import lombok.Data;
import java.io.Serializable;
@Data
public class CandyCouponRuleDto implements Serializable {
private static final long serialVersionUID = -3727352492315559906L;
private String cruleId;
private String couponId;
private Integer useScope;
private String busiName;
private String busiId;
//private Integer state;
//private String comment;
}
package com.liquidnet.service.candy.dto;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
@Data
public class CandyUserCouponBasicDto implements Serializable {
private static final long serialVersionUID = 4073256621782131605L;
/* --- --- --- 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 comment;
/* --- --- --- CandyUserCoupon */
private String ucouponId;
//private String mcouponId;
private String uid;
//private String couponId;
private Integer state;
private LocalDateTime bindAt;
private String redeemCode;
private LocalDateTime redeemAt;
private LocalDateTime usedAt;
private String usedFor;
//private String comment;
/* --- --- --- CandyCouponRule */
private List<CandyCouponRuleDto> useRules;
}
...@@ -42,7 +42,7 @@ public class CandyUserCoupon implements Serializable { ...@@ -42,7 +42,7 @@ public class CandyUserCoupon implements Serializable {
private String couponId; private String couponId;
/** /**
* 券状态[0-待兑换|1-可用|2-无效|3-已使用] * 用户券状态[1-可用|2-无效|3-已过期|5-已使用]
*/ */
private Integer state; private Integer state;
......
package com.liquidnet.service.candy.mapper; package com.liquidnet.service.candy.mapper;
import com.liquidnet.service.candy.dto.CandyCouponRuleDto;
import com.liquidnet.service.candy.entity.CandyCouponRule; import com.liquidnet.service.candy.entity.CandyCouponRule;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* <p> * <p>
...@@ -13,4 +17,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -13,4 +17,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/ */
public interface CandyCouponRuleMapper extends BaseMapper<CandyCouponRule> { public interface CandyCouponRuleMapper extends BaseMapper<CandyCouponRule> {
/**
* <p>
* 查取指定券适用规则列表
* </p>
* 限定规则状态[state = 1]
*
* @param couponId 券ID
* @return List<CandyCouponRuleDto>
*/
List<CandyCouponRuleDto> selectForCouponRuleDto(@Param("couponId") String couponId);
} }
package com.liquidnet.service.candy.mapper; package com.liquidnet.service.candy.mapper;
import com.liquidnet.service.candy.entity.CandyUserCoupon;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.liquidnet.service.candy.dto.CandyUserCouponBasicDto;
import com.liquidnet.service.candy.entity.CandyUserCoupon;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* <p> * <p>
...@@ -13,4 +17,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -13,4 +17,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/ */
public interface CandyUserCouponMapper extends BaseMapper<CandyUserCoupon> { public interface CandyUserCouponMapper extends BaseMapper<CandyUserCoupon> {
/**
* <p>
* 查取指定UID用户的券列表
* </p>
* 限定用户券状态[state <> 2-无效]
*
* @param uid 用户UID
* @return List<CandyUserCouponBasicDto>
*/
List<CandyUserCouponBasicDto> selectMultiForUserCouponBasicDto(@Param("uid") String uid);
} }
...@@ -2,4 +2,20 @@ ...@@ -2,4 +2,20 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liquidnet.service.candy.mapper.CandyCouponRuleMapper"> <mapper namespace="com.liquidnet.service.candy.mapper.CandyCouponRuleMapper">
<resultMap id="Rst_CouponRuleDto" type="com.liquidnet.service.candy.dto.CandyCouponRuleDto">
<result column="crule_id" jdbcType="VARCHAR" property="cruleId"/>
<result column="coupon_id" jdbcType="VARCHAR" property="couponId"/>
<result column="use_scope" jdbcType="SMALLINT" property="useScope"/>
<result column="busi_name" jdbcType="VARCHAR" property="busiName"/>
<result column="busi_id" jdbcType="VARCHAR" property="busiId"/>
<!-- <result column="state" jdbcType="TINYINT" property="state" />-->
<!-- <result column="comment" jdbcType="VARCHAR" property="comment" />-->
</resultMap>
<select id="selectForCouponRuleDto" resultMap="Rst_CouponRuleDto">
SELECT crule_id, coupon_id, use_scope, busi_name, busi_id
FROM candy_coupon_rule
WHERE state = 1
AND coupon_id = #{couponId,jdbcType=VARCHAR}
</select>
</mapper> </mapper>
...@@ -2,4 +2,57 @@ ...@@ -2,4 +2,57 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liquidnet.service.candy.mapper.CandyUserCouponMapper"> <mapper namespace="com.liquidnet.service.candy.mapper.CandyUserCouponMapper">
<resultMap id="Rst_UserCouponBasicDto" type="com.liquidnet.service.candy.dto.CandyUserCouponBasicDto">
<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="comment" jdbcType="VARCHAR" property="comment" />-->
<result column="ucoupon_id" jdbcType="VARCHAR" property="ucouponId"/>
<!-- <result column="mcoupon_id" jdbcType="VARCHAR" property="mcouponId" />-->
<result column="uid" jdbcType="VARCHAR" property="uid"/>
<!-- <result column="coupon_id" jdbcType="VARCHAR" property="couponId" />-->
<result column="state" jdbcType="TINYINT" property="state"/>
<result column="bind_at" jdbcType="TIMESTAMP" property="bindAt"/>
<result column="redeem_code" jdbcType="VARCHAR" property="redeemCode"/>
<result column="redeem_at" jdbcType="TIMESTAMP" property="redeemAt"/>
<result column="used_at" jdbcType="TIMESTAMP" property="usedAt"/>
<result column="used_for" jdbcType="VARCHAR" property="usedFor"/>
<!-- <result column="comment" jdbcType="VARCHAR" property="comment" />-->
</resultMap>
<sql id="Rst_UserCouponBasicDto_Column_List">
cc.coupon_id, cc.title, cc.`label`, cc.notice, cc.`exclusive`, cc.busi_type, cc.cou_type,cc.bind_type,
cc.discount, cc.val_face, cc.val_over, cc.val_minus, cc.`overlay`, cc.overlay_level,
cc.validity,cc.redeem_validity, cc.redeem_start, cc.redeem_stop, cc.effect_at, cc.expire_at,
cuc.ucoupon_id, cuc.`uid`, cuc.`state`, cuc.bind_at, cuc.redeem_code, cuc.redeem_at, cuc.used_at, cuc.used_for
</sql>
<select id="selectMultiForUserCouponBasicDto" resultMap="Rst_UserCouponBasicDto">
SELECT
<include refid="Rst_UserCouponBasicDto_Column_List"/>
FROM candy_user_coupon cuc
LEFT JOIN candy_coupon cc ON cuc.coupon_id = cc.coupon_id
WHERE cuc.uid = #{uid,jdbcType=VARCHAR}
AND state <![CDATA[<>]]> 2
</select>
</mapper> </mapper>
...@@ -31,7 +31,7 @@ create table candy_coupon ...@@ -31,7 +31,7 @@ create table candy_coupon
( (
mid bigint unsigned auto_increment primary key, mid bigint unsigned auto_increment primary key,
coupon_id varchar(64) not null, coupon_id varchar(64) not null,
state tinyint default 0 comment '券状态[0-INIT|1-NORMAL|2-INVALID]', state tinyint comment '券状态[0-INIT|1-NORMAL|2-INVALID]',
title varchar(50) not null comment '券标题', title varchar(50) not null comment '券标题',
label varchar(50) comment '标注', label varchar(50) comment '标注',
...@@ -40,6 +40,7 @@ create table candy_coupon ...@@ -40,6 +40,7 @@ create table candy_coupon
busi_type smallint comment '业务类别[0-全场|1-演出|2-商品|3-优先购|4-会员]', busi_type smallint comment '业务类别[0-全场|1-演出|2-商品|3-优先购|4-会员]',
cou_type smallint comment '券类型[1-代金券|2-满减券|3-兑换券|4-折扣券]', cou_type smallint comment '券类型[1-代金券|2-满减券|3-兑换券|4-折扣券]',
bind_type smallint comment '领取方式[0-用户输入兑换|1-发放至用户]', bind_type smallint comment '领取方式[0-用户输入兑换|1-发放至用户]',
discount decimal(8, 2) comment '折扣[8折即0.8]', discount decimal(8, 2) comment '折扣[8折即0.8]',
val_face decimal(8, 2) comment '面值', val_face decimal(8, 2) comment '面值',
val_over decimal(8, 2) comment '满减~满', val_over decimal(8, 2) comment '满减~满',
...@@ -68,7 +69,7 @@ create table candy_coupon_rule ...@@ -68,7 +69,7 @@ create table candy_coupon_rule
crule_id varchar(64) not null, crule_id varchar(64) not null,
coupon_id varchar(64) not null, coupon_id varchar(64) not null,
use_scope smallint comment '适用范围[100-全场|90-演出|80-商品]', use_scope smallint comment '适用范围[100-全场|90-演出|80-商品]',
busi_name varchar(64) comment '适用名称', busi_name varchar(64) comment '适用名称',
busi_id varchar(64) comment '适用ID', busi_id varchar(64) comment '适用ID',
state tinyint comment '0-INIT,1-NORMAL,2-INVALID', state tinyint comment '0-INIT,1-NORMAL,2-INVALID',
comment varchar(255) comment varchar(255)
...@@ -106,7 +107,7 @@ create table candy_user_coupon ...@@ -106,7 +107,7 @@ create table candy_user_coupon
mcoupon_id varchar(64) not null comment '~candy_mgt_coupon.mcoupon_id', mcoupon_id varchar(64) not null comment '~candy_mgt_coupon.mcoupon_id',
uid varchar(64) not null comment '~adam_user.uid', uid varchar(64) not null comment '~adam_user.uid',
coupon_id varchar(64) not null comment '~candy_coupon.coupon_id', coupon_id varchar(64) not null comment '~candy_coupon.coupon_id',
state tinyint default 0 comment '券状态[0-待兑换|1-可用|2-无效|3-已使用]', state tinyint comment '用户券状态[1-可用|2-无效|3-已过期|5-已使用]',
bind_at datetime(3) comment '入账时间', bind_at datetime(3) comment '入账时间',
redeem_code varchar(64) comment '兑换码', redeem_code varchar(64) comment '兑换码',
...@@ -116,6 +117,7 @@ create table candy_user_coupon ...@@ -116,6 +117,7 @@ create table candy_user_coupon
comment varchar(255) comment varchar(255)
) engine = InnoDB comment '用户券信息'; ) engine = InnoDB comment '用户券信息';
create unique index uidx_candy_user_coupon_id on candy_user_coupon (ucoupon_id); create unique index uidx_candy_user_coupon_id on candy_user_coupon (ucoupon_id);
create index idx_candy_ucoupon_uid_state on candy_user_coupon (uid, state);
-- >>------------------------------------------------------------------------------------ -- >>------------------------------------------------------------------------------------
-- >>------------------------------------------------------------------------------------ -- >>------------------------------------------------------------------------------------
-- >>------------------------------------------------------------------------------------ -- >>------------------------------------------------------------------------------------
......
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