提交 4bac5638 authored 作者: luojie's avatar luojie

增加优惠券发放和记录表

上级 0b5874e3
......@@ -51,5 +51,4 @@ public interface TbCfCouponDao extends BaseDao<TbCfCouponEntity> {
*/
List<TbCfCouponEntity> getCouponByCategory(Integer couponCategory,Date nowTime);
String getCouponId();
}
package com.diaoyun.zion.chinafrica.dao;
import com.diaoyun.zion.chinafrica.entity.TbCfCouponIssueEntity;
import com.diaoyun.zion.chinafrica.entity.TbCfUserInfoEntity;
import com.diaoyun.zion.master.dao.BaseDao;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 优惠券发放Dao
*
* @author lipengjun
* @date 2019-10-21 12:11:53
*/
public interface TbCfCouponIssueDao extends BaseDao<TbCfCouponIssueEntity> {
/**
* 判断用户状态(已下单,未下单,新用户,添加购物车的用户)
* @param status
* @return
*/
List<TbCfUserInfoEntity> queryByUserStatus(@Param("status") Integer status);
/**
* 根据状态获取符合条件的用户列表
* @param couponIssueId
* @return
*/
int queryByStatus(String couponIssueId);
}
package com.diaoyun.zion.chinafrica.dao;
import com.diaoyun.zion.chinafrica.entity.TbCfIssueCouponEntity;
import com.diaoyun.zion.master.dao.BaseDao;
/**
* 优惠券发放保存表Dao
*
* @author lipengjun
* @date 2019-10-24 17:30:10
*/
public interface TbCfIssueCouponDao extends BaseDao<TbCfIssueCouponEntity> {
}
package com.diaoyun.zion.chinafrica.entity;
import java.io.Serializable;
/**
* 优惠券发放表实体
* 表名 tb_cf_coupon_issue
*
* @author lipengjun
* @date 2019-10-21 12:11:53
*/
public class TbCfCouponIssueEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 优惠卷发放id
*/
private String couponIssueId;
/**
* 购物券id
*/
private String couponId;
/**
* 用户状态,10(未下单的用户),20(新用户),30(已下单的用户),40(添加购物车的用户)
*/
private Integer userStatus;
/**
* 用户等级1,2,3,4
*/
private Integer userLevel;
/**
* 设置:优惠卷发放id
*/
public void setCouponIssueId(String couponIssueId) {
this.couponIssueId = couponIssueId;
}
/**
* 获取:优惠卷发放id
*/
public String getCouponIssueId() {
return couponIssueId;
}
/**
* 设置:优惠券标题
*/
public void setCouponId(String couponId) {
this.couponId = couponId;
}
/**
* 获取:优惠券标题
*/
public String getCouponId() {
return couponId;
}
/**
* 设置: 用户状态,10(未下单的用户),20(新用户),30(已下单的用户),40(添加购物车的用户)
*/
public Integer getUserStatus() {
return userStatus;
}
/**
* 获取:用户状态,10(未下单的用户),20(新用户),30(已下单的用户),40(添加购物车的用户)
*/
public void setUserStatus(Integer userStatus) {
this.userStatus = userStatus;
}
/**
* 获取:用户等级1,2,3,4
*/
public Integer getUserLevel() {
return userLevel;
}
/**
* 获取:用户等级1,2,3,4
*/
public void setUserLevel(Integer userLevel) {
this.userLevel = userLevel;
}
}
package com.diaoyun.zion.chinafrica.entity;
import java.io.Serializable;
import java.util.Date;
/**
* 优惠券发放保存表实体
* 表名 tb_cf_issue_coupon
*
* @author lipengjun
* @date 2019-10-24 17:30:10
*/
public class TbCfIssueCouponEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 发放表id
*/
private String couponIssuetableId;
/**
* 优惠券类型
*/
private String couponCategoryName;
/**
* 优惠券id
*/
private String couponId;
/**
* 优惠券名称
*/
private String couponTitle;
/**
* 用户id
*/
private String userId;
/**
* 用户昵称
*/
private String nick;
/**
* 创建日期
*/
private Date createTime;
/**
* 是否已经使用(0未使用,1已使用)
*/
private Integer enableFlag;
/**
* 发放id
*/
private String issueId;
/**
* 设置:发放表id
* @return
*/
public String setCouponIssueTableId(String couponIssuetableId) {
this.couponIssuetableId = couponIssuetableId;
return couponIssuetableId;
}
/**
* 获取:发放表id
* @return
*/
public String getCouponIssuetableId() {
return couponIssuetableId;
}
/**
* 获取:优惠券类型名称
*/
public String getCouponCategoryName() {
return couponCategoryName;
}
/**
* 设置:优惠券类型名称
*/
public void setCouponCategoryName(String couponCategoryName) {
this.couponCategoryName = couponCategoryName;
}
/**
* 设置:优惠券id
*/
public void setCouponId(String couponId) {
this.couponId = couponId;
}
/**
* 获取:优惠券id
*/
public String getCouponId() {
return couponId;
}
/**
* 获取:优惠券名称
*/
public String getCouponTitle() {
return couponTitle;
}
/**
* 设置:优惠券名称
*/
public void setCouponTitle(String couponTitle) {
this.couponTitle = couponTitle;
}
/**
* 设置:用户id
*/
public void setUserId(String userId) {
this.userId = userId;
}
/**
* 获取:用户id
*/
public String getUserId() {
return userId;
}
/**
* 设置:用户昵称
*/
public void setNick(String nick) {
this.nick = nick;
}
/**
* 获取:用户昵称
*/
public String getNick() {
return nick;
}
/**
* 设置:创建日期
*/
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
/**
* 获取:创建日期
*/
public Date getCreateTime() {
return createTime;
}
/**
* 设置:是否已经使用(0未使用,1已使用)
*/
public void setEnableFlag(Integer enableFlag) {
this.enableFlag = enableFlag;
}
/**
* 获取:是否已经使用(0未使用,1已使用)
*/
public Integer getEnableFlag() {
return enableFlag;
}
/**
* 设置:发放id
*/
public void setIssueId(String issueId) {
this.issueId = issueId;
}
/**
* 获取:发放id
*/
public String getIssueId() {
return issueId;
}
}
package com.diaoyun.zion.chinafrica.service;
import com.diaoyun.zion.chinafrica.entity.TbCfCouponIssueEntity;
import com.diaoyun.zion.chinafrica.entity.TbCfUserInfoEntity;
import java.util.List;
import java.util.Map;
/**
* 优惠券发放表Service接口
*
* @author lipengjun
* @date 2019-10-21 12:11:53
*/
public interface TbCfCouponIssueService {
/**
* 根据主键查询实体
*
* @param
* @return 实体
*/
TbCfCouponIssueEntity queryObject(String couponIssueId);
/**
* 分页查询
*
* @param map 参数
* @return list
*/
List<TbCfCouponIssueEntity> queryList(Map<String, Object> map);
/**
* 分页统计总数
*
* @param map 参数
* @return 总数
*/
int queryTotal(Map<String, Object> map);
/**
* 保存实体
*
* @param tbCfCouponIssue 实体
* @return 保存条数
*/
int save(TbCfCouponIssueEntity tbCfCouponIssue);
/**
* 根据主键更新实体
*
* @param tbCfCouponIssue 实体
* @return 更新条数
*/
int update(TbCfCouponIssueEntity tbCfCouponIssue);
/**
* 根据主键删除
*
* @param couponIssueId
* @return 删除条数
*/
int delete(String couponIssueId);
/**
* 根据主键批量删除
*
* @param couponIssueIds
* @return 删除条数
*/
int deleteBatch(String[] couponIssueIds);
/**
* 获取用户列表
* @param status
* @return
*/
List<TbCfUserInfoEntity> queryByUserStatus(Integer status);
/**
* 获取用户状态
* @param couponIssueId
* @return
*/
int queryByStatus(String couponIssueId);
}
package com.diaoyun.zion.chinafrica.service;
import com.diaoyun.zion.chinafrica.entity.TbCfCouponIssueEntity;
import com.diaoyun.zion.chinafrica.entity.TbCfIssueCouponEntity;
import java.util.List;
import java.util.Map;
/**
* 优惠券发放保存表Service接口
*
* @author lipengjun
* @date 2019-10-24 17:30:10
*/
public interface TbCfIssueCouponService {
/**
* 根据主键查询实体
*
* @param
* @return 实体
*/
TbCfIssueCouponEntity queryObject(String couponIssuetableId);
/**
* 分页查询
*
* @param map 参数
* @return list
*/
List<TbCfIssueCouponEntity> queryList(Map<String, Object> map);
/**
* 分页统计总数
*
* @param map 参数
* @return 总数
*/
int queryTotal(Map<String, Object> map);
/**
* 保存实体
*
*
* @param tbCfCouponIssue
* @param tbCfIssueCoupon 实体
* @param userId
* @return 保存条数
*/
int save(TbCfCouponIssueEntity tbCfCouponIssue, TbCfIssueCouponEntity tbCfIssueCoupon, String userId, String nick);
/**
* 根据主键更新实体
*
* @param tbCfIssueCoupon 实体
* @return 更新条数
*/
int update(TbCfIssueCouponEntity tbCfIssueCoupon);
/**
* 根据主键删除
*
* @param couponIssuetableId
* @return 删除条数
*/
int delete(String couponIssuetableId);
/**
* 根据主键批量删除
*
* @param couponIssuetableIds
* @return 删除条数
*/
int deleteBatch(String[] couponIssuetableIds);
}
package com.diaoyun.zion.chinafrica.service.impl;
import com.diaoyun.zion.chinafrica.dao.TbCfCouponIssueDao;
import com.diaoyun.zion.chinafrica.entity.TbCfCouponIssueEntity;
import com.diaoyun.zion.chinafrica.entity.TbCfUserInfoEntity;
import com.diaoyun.zion.chinafrica.service.TbCfCouponIssueService;
import com.diaoyun.zion.master.util.IdUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
* 优惠券发放Service实现类
*
* @author lipengjun
* @date 2019-10-21 12:11:53
*/
@Service("tbCfCouponIssueService")
public class TbCfCouponIssueServiceImpl implements TbCfCouponIssueService {
@Autowired
private TbCfCouponIssueDao tbCfCouponIssueDao;
@Override
public TbCfCouponIssueEntity queryObject(String couponIssueId) {
return tbCfCouponIssueDao.queryObject(couponIssueId);
}
@Override
public List<TbCfCouponIssueEntity> queryList(Map<String, Object> map) {
return tbCfCouponIssueDao.queryList(map);
}
@Override
public int queryTotal(Map<String, Object> map) {
return tbCfCouponIssueDao.queryTotal(map);
}
@Override
public int save(TbCfCouponIssueEntity tbCfCouponIssue) {
tbCfCouponIssue.setCouponIssueId(IdUtil.createIdbyUUID());
return tbCfCouponIssueDao.save(tbCfCouponIssue);
}
@Override
public int update(TbCfCouponIssueEntity tbCfCouponIssue) {
return tbCfCouponIssueDao.update(tbCfCouponIssue);
}
@Override
public int delete(String couponIssueId) {
return tbCfCouponIssueDao.delete(couponIssueId);
}
@Override
public int deleteBatch(String[] couponIssueIds) {
return tbCfCouponIssueDao.deleteBatch(couponIssueIds);
}
@Override
public List<TbCfUserInfoEntity> queryByUserStatus(Integer status) {
return tbCfCouponIssueDao.queryByUserStatus(status);
}
@Override
public int queryByStatus(String couponIssueId) {
return tbCfCouponIssueDao.queryByStatus(couponIssueId);
}
}
package com.diaoyun.zion.chinafrica.service.impl;
import com.diaoyun.zion.chinafrica.dao.TbCfIssueCouponDao;
import com.diaoyun.zion.chinafrica.entity.TbCfCouponIssueEntity;
import com.diaoyun.zion.chinafrica.entity.TbCfIssueCouponEntity;
import com.diaoyun.zion.chinafrica.service.TbCfIssueCouponService;
import com.diaoyun.zion.master.util.IdUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* 优惠券发放表Service实现类
*
* @author lipengjun
* @date 2019-10-24 17:30:10
*/
@Service("tbCfIssueCouponService")
public class TbCfIssueCouponServiceImpl implements TbCfIssueCouponService {
@Autowired
private TbCfIssueCouponDao tbCfIssueCouponDao;
@Override
public TbCfIssueCouponEntity queryObject(String couponIssuetableId) {
return tbCfIssueCouponDao.queryObject(couponIssuetableId);
}
@Override
public List<TbCfIssueCouponEntity> queryList(Map<String, Object> map) {
return tbCfIssueCouponDao.queryList(map);
}
@Override
public int queryTotal(Map<String, Object> map) {
return tbCfIssueCouponDao.queryTotal(map);
}
@Override
public int update(TbCfIssueCouponEntity tbCfIssueCoupon) {
return tbCfIssueCouponDao.update(tbCfIssueCoupon);
}
@Override
public int delete(String couponIssuetableId) {
return tbCfIssueCouponDao.delete(couponIssuetableId);
}
@Override
public int deleteBatch(String[] couponIssuetableIds) {
return tbCfIssueCouponDao.deleteBatch(couponIssuetableIds);
}
@Override
public int save(TbCfCouponIssueEntity tbCfCouponIssue, TbCfIssueCouponEntity tbCfIssueCoupon, String userId, String nick) {
tbCfIssueCoupon.setCouponIssueTableId(IdUtil.createIdbyUUID());
tbCfIssueCoupon.setCouponId(tbCfCouponIssue.getCouponId());
tbCfIssueCoupon.setUserId(userId);
tbCfIssueCoupon.setNick(nick);
tbCfIssueCoupon.setEnableFlag(1);
tbCfIssueCoupon.setCreateTime(new Date());
tbCfIssueCoupon.setIssueId(tbCfCouponIssue.getCouponIssueId());
return tbCfIssueCouponDao.save(tbCfIssueCoupon);
}
}
......@@ -187,12 +187,8 @@
</delete>
<!--查询用户所有有效的优惠券-->
<select id="queryUserAvailableCoupon" resultType="com.diaoyun.zion.chinafrica.entity.TbCfCouponEntity">
select DISTINCT t2.* from tb_cf_take_coupon t1,tb_cf_coupon t2,tb_cf_issue_coupon t3 ,tb_cf_user_info t4
where
(t1.user_id=#{userId} or t3.user_id=#{userId} or t4.user_id=#{userId})
and t1.coupon_id=t2.coupon_id and t2.coupon_id=t3.coupon_id or t2.coupon_id=t4.coupon_id
and <![CDATA[ t2.valid_start_time<=#{nowTime}]]> and <![CDATA[t2.valid_end_time>=#{nowTime}]]> and t2.status=1
and t1.enable_flag=1 and t3.enable_flag=1
select DISTINCT t2.* from tb_cf_coupon t2,tb_cf_issue_coupon t3
where t3.user_id=#{userId} and t3.coupon_id=t2.coupon_id and t2.status=1 and t3.enable_flag=1
</select>
<!--更改优惠券统计-->
......@@ -214,7 +210,7 @@
<!--根据优惠券种类获取发放中的优惠券-->
<select id="getCouponByCategory" resultType="com.diaoyun.zion.chinafrica.entity.TbCfCouponEntity">
select * from tb_cf_coupon where coupon_category=#{couponCategoryId} and
select * from tb_cf_coupon where coupon_category_id=#{couponCategoryId} and
<![CDATA[ start_time<=#{nowTime}]]> and <![CDATA[end_time>=#{nowTime}]]> and status=1;
</select>
......
<?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.platform.dao.TbCfCouponIssueDao">
<resultMap type="com.diaoyun.zion.chinafrica.entity.TbCfCouponIssueEntity" id="tbCfCouponIssueMap">
<result property="couponIssueId" column="coupon_issue_id"/>
<result property="couponId" column="coupon_id"/>
<result property="userStatus" column="user_status"/>
<result property="userLevel" column="user_level"/>
</resultMap>
<select id="queryObject" resultType="com.diaoyun.zion.chinafrica.entity.TbCfCouponIssueEntity">
select
`coupon_issue_id`,
`coupon_id`,
`user_status`,
`user_level`
from tb_cf_coupon_issue
where coupon_issue_id = #{id}
</select>
<select id="queryStatus" resultType="com.diaoyun.zion.chinafrica.entity.TbCfCouponIssueEntity">
select DISTINCT
a.user_id,a.nick
from tb_cf_coupon_issue b ,
where user_status = #{userStatus}
</select>
<select id="queryList" resultType="com.diaoyun.zion.chinafrica.entity.TbCfCouponIssueEntity">
select
`coupon_issue_id`,
`coupon_id`,
`user_status`,
`user_level`
from tb_cf_coupon_issue
WHERE 1=1
<if test="name != null and name.trim() != ''">
AND name LIKE concat('%',#{name},'%')
</if>
<choose>
<when test="sidx != null and sidx.trim() != ''">
order by ${sidx} ${order}
</when>
<otherwise>
order by coupon_issue_id desc
</otherwise>
</choose>
<if test="offset != null and limit != null">
limit #{offset}, #{limit}
</if>
</select>
<select id="queryByUserStatus" parameterType="com.diaoyun.zion.chinafrica.entity.TbCfCouponIssueEntity" resultType="com.diaoyun.zion.chinafrica.entity.TbCfUserInfoEntity" >
select DISTINCT
a.user_id,a.nick
from tb_cf_user_info a
<choose>
<when test="status != null and status == '10'" >
INNER JOIN tb_cf_order b ON a.user_id=b.user_id
</when>
<when test="status != null and status == '20'">
where
(unix_timestamp(now()) - unix_timestamp(a.create_time))/(24*60*60) &lt; '1'
</when>
<when test="status != null and status == '30'">
LEFT JOIN tb_cf_order b ON a.user_id=b.user_id
where b.user_id IS NULL
</when>
<when test="status != null and status == '40'">
LEFT JOIN tb_cf_cart_record_r r ON a.user_id= r.user_id
</when>
</choose>
</select>
<select id="queryTotal" resultType="int">
select count(*) from tb_cf_coupon_issue
WHERE 1=1
<if test="name != null and name.trim() != ''">
AND name LIKE concat('%',#{name},'%')
</if>
</select>
<insert id="save" parameterType="com.diaoyun.zion.chinafrica.entity.TbCfCouponIssueEntity">
insert into tb_cf_coupon_issue(
`coupon_issue_id`,
`coupon_id`,
`user_status`,
`user_level`)
values(
#{couponIssueId},
#{couponId},
#{userStatus},
#{userLevel})
</insert>
<select id="queryByStatus" parameterType="com.diaoyun.zion.chinafrica.entity.TbCfCouponIssueEntity" resultType="int">
select `user_status` from tb_cf_coupon_issue where coupon_issue_id= #{couponIssueId}
</select>
<update id="update" parameterType="com.diaoyun.zion.chinafrica.entity.TbCfCouponIssueEntity">
update tb_cf_coupon_issue
<set>
<if test="couponId != null">`coupon_id` = #{couponId}, </if>
<if test="userStatus != null">`user_status` = #{userStatus}, </if>
<if test="userLevel != null">`user_level` = #{userLevel}</if>
</set>
where coupon_issue_id = #{couponIssueId}
</update>
<delete id="delete">
delete from tb_cf_coupon_issue where coupon_issue_id = #{value}
</delete>
<delete id="deleteBatch">
delete from tb_cf_coupon_issue where coupon_issue_id in
<foreach item="couponIssueId" collection="array" open="(" separator="," close=")">
#{couponIssueId}
</foreach>
</delete>
</mapper>
\ No newline at end of file
<?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.platform.dao.TbCfIssueCouponDao">
<resultMap type="com.diaoyun.zion.chinafrica.entity.TbCfIssueCouponEntity" id="tbCfIssueCouponMap">
<result property="couponIssuetableId" column="coupon_issuetable_id"/>
<result property="couponId" column="coupon_id"/>
<result property="couponTitle" column="coupon_Title"/>
<result property="couponCategoryName" column="coupon_category_name"/>
<result property="userId" column="user_id"/>
<result property="nick" column="nick"/>
<result property="createTime" column="create_time"/>
<result property="enableFlag" column="enable_flag"/>
<result property="issueId" column="issue_id"/>
</resultMap>
<select id="queryObject" resultType="com.diaoyun.zion.chinafrica.entity.TbCfIssueCouponEntity">
select
`coupon_issuetable_id`,
`coupon_id`,
`user_id`,
`nick`,
`create_time`,
`enable_flag`,
`issue_id`
from tb_cf_issue_coupon
where coupon_issuetable_id = #{id}
</select>
<select id="queryList" resultType="com.diaoyun.zion.chinafrica.entity.TbCfIssueCouponEntity">
select
a.coupon_issuetable_id,
a.coupon_id,
b.coupon_category_id,
c.coupon_category_name,
b.coupon_title,
a.user_id,
a.nick,
a.create_time,
a.enable_flag,
a.issue_id
from tb_cf_issue_coupon a LEFT join tb_cf_coupon b ON a.coupon_id=b.coupon_id
LEFT JOIN tb_cf_coupon_category c on b.coupon_category_id=c.coupon_category_id
WHERE 1=1
<if test="name != null and name.trim() != ''">
AND name LIKE concat('%',#{name},'%')
</if>
<choose>
<when test="sidx != null and sidx.trim() != ''">
order by ${sidx} ${order}
</when>
<otherwise>
order by coupon_issuetable_id desc
</otherwise>
</choose>
<if test="offset != null and limit != null">
limit #{offset}, #{limit}
</if>
</select>
<select id="queryTotal" resultType="int">
select count(*) from tb_cf_issue_coupon
WHERE 1=1
<if test="name != null and name.trim() != ''">
AND name LIKE concat('%',#{name},'%')
</if>
</select>
<insert id="save" parameterType="com.diaoyun.zion.chinafrica.entity.TbCfIssueCouponEntity">
insert into tb_cf_issue_coupon(
`coupon_issuetable_id`,
`coupon_id`,
`user_id`,
`nick`,
`create_time`,
`enable_flag`,
`issue_id`)
values(
#{couponIssuetableId},
#{couponId},
#{userId},
#{nick},
#{createTime},
#{enableFlag},
#{issueId})
</insert>
<update id="update" parameterType="com.diaoyun.zion.chinafrica.entity.TbCfIssueCouponEntity">
update tb_cf_issue_coupon
<set>
<if test="couponId != null">`coupon_id` = #{couponId}, </if>
<if test="userId != null">`user_id` = #{userId}, </if>
<if test="nick != null">`nick` = #{nick}, </if>
<if test="createTime != null">`create_time` = #{createTime}, </if>
<if test="enableFlag != null">`enable_flag` = #{enableFlag}, </if>
<if test="issueId != null">`issue_id` = #{issueId}</if>
</set>
where coupon_issuetable_id = #{couponIssuetableId}
</update>
<delete id="delete">
delete from tb_cf_issue_coupon where coupon_issuetable_id = #{value}
</delete>
<delete id="deleteBatch">
delete from tb_cf_issue_coupon where coupon_issuetable_id in
<foreach item="couponIssuetableId" collection="array" open="(" separator="," close=")">
#{couponIssuetableId}
</foreach>
</delete>
</mapper>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论