From 554de444b87aab5f93cb1593a8095612cf9479a7 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期二, 09 六月 2020 17:34:30 +0800 Subject: [PATCH] 订单 --- fanli/src/main/java/com/yeshi/fanli/mapping/user/UserSystemCouponMapper.xml | 75 ++++++++++++++++++++++++++++++++----- 1 files changed, 65 insertions(+), 10 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/mapping/user/UserSystemCouponMapper.xml b/fanli/src/main/java/com/yeshi/fanli/mapping/user/UserSystemCouponMapper.xml index 41cedb2..5936161 100644 --- a/fanli/src/main/java/com/yeshi/fanli/mapping/user/UserSystemCouponMapper.xml +++ b/fanli/src/main/java/com/yeshi/fanli/mapping/user/UserSystemCouponMapper.xml @@ -19,7 +19,24 @@ javaType="com.yeshi.fanli.entity.system.SystemCoupon"> <id column="usc_coupon_id" property="id" jdbcType="BIGINT" /> </association> + </resultMap> + + + <resultMap id="AllResultMap" type="com.yeshi.fanli.entity.bus.user.UserSystemCoupon"> + <id column="usc_id" property="id" jdbcType="BIGINT"/> + <result column="usc_uid" property="uid" jdbcType="BIGINT"/> + <result column="usc_source" property="source" jdbcType="VARCHAR"/> + <result column="usc_give" property="give" jdbcType="VARCHAR"/> + <result column="usc_state" property="state" jdbcType="INTEGER"/> + <result column="usc_state_activate" property="stateActivated" jdbcType="INTEGER"/> + <result column="usc_start_time" property="startTime" jdbcType="TIMESTAMP"/> + <result column="usc_end_time" property="endTime" jdbcType="TIMESTAMP"/> + <result column="usc_use_time" property="useTime" jdbcType="TIMESTAMP"/> + <result column="usc_create_time" property="createTime" jdbcType="TIMESTAMP"/> + <result column="usc_update_time" property="updateTime" jdbcType="TIMESTAMP"/> + <association property="systemCoupon" column="usc_coupon_id" + resultMap="com.yeshi.fanli.dao.mybatis.SystemCouponMapper.BaseResultMap"/> </resultMap> <resultMap id="ResultVOMap" type="com.yeshi.fanli.vo.user.UserSystemCouponVO"> @@ -145,7 +162,7 @@ <select id="getEnableListByCouponId" resultMap="ResultVOMap"> SELECT * FROM `yeshi_ec_user_system_coupon` uc - WHERE uc.`usc_uid`= #{uid} AND uc.usc_state = 1 + WHERE uc.`usc_uid`= #{uid} AND uc.usc_state = 1 AND DATE_FORMAT(CURDATE(),'%Y%m%d') <![CDATA[ >= ]]>DATE_FORMAT(uc.`usc_start_time`,'%Y%m%d') <if test="activated != null">AND uc.usc_state_activate = #{activated}</if> AND uc.usc_coupon_id in @@ -154,11 +171,37 @@ ORDER BY uc.usc_state_activate desc, uc.`usc_create_time` </select> + <select id="getValidByUidAndType" resultMap="ResultVOMap"> + SELECT * FROM `yeshi_ec_user_system_coupon` t + LEFT JOIN `yeshi_ec_system_coupon` c ON t.`usc_coupon_id` = c.`sc_id` + WHERE t.usc_state = 1 AND t.usc_state_activate = 1 AND t.usc_uid = #{uid} + AND c.`sc_type`= #{type} AND t.`usc_end_time` <![CDATA[>]]> NOW() + </select> + + + + <select id="countUsableByUid" resultType="java.lang.Long"> + SELECT IFNULL(count(cp.`usc_id`),0) FROM `yeshi_ec_user_system_coupon` cp + WHERE cp.`usc_state` = 1 AND cp.usc_state_activate = 1 + AND cp.`usc_end_time` <![CDATA[>]]> NOW() AND cp.`usc_uid`= #{uid} + AND cp.usc_coupon_id in + <foreach collection="list" item="item" open="(" close=")" + separator=",">#{item}</foreach> + </select> + + <select id="getCounponNowInvalid" resultMap="BaseResultMap"> SELECT * FROM `yeshi_ec_user_system_coupon` cp WHERE <![CDATA[cp.`usc_state` <> 3 AND cp.`usc_state` <> 4]]> AND DATE_FORMAT(CURDATE(),'%Y%m%d') <![CDATA[>]]> DATE_FORMAT(cp.`usc_end_time`,'%Y%m%d') LIMIT #{count} + </select> + + + <select id="getCounponNowInvalidByUid" resultMap="BaseResultMap"> + SELECT * FROM `yeshi_ec_user_system_coupon` cp + WHERE cp.`usc_uid` = #{uid} AND <![CDATA[cp.`usc_state` <> 3 AND cp.`usc_state` <> 4]]> + AND DATE_FORMAT(CURDATE(),'%Y%m%d') <![CDATA[>]]> DATE_FORMAT(cp.`usc_end_time`,'%Y%m%d') </select> <select id="getCouponByState" resultMap="BaseResultMap"> @@ -175,17 +218,29 @@ AND (usc_state_activate = 0 OR usc_state_activate is null) </select> - <select id="getIncludeExchange" resultMap="BaseResultMap"> - SELECT * FROM `yeshi_ec_user_system_coupon` t - LEFT JOIN `yeshi_ec_system_coupon` c ON t.`usc_coupon_id` = c.`sc_id` - WHERE t.usc_state = 1 AND t.usc_state_activate = 1 AND t.usc_uid = #{uid} - AND c.`sc_percent` = #{num} AND c.`sc_type`= #{type} + <select id="getCouponByUsingTimeOut" resultMap="BaseResultMap"> + SELECT * FROM `yeshi_ec_user_system_coupon` cp + WHERE cp.`usc_uid` = #{uid} AND cp.`usc_state` = 2 AND (cp.usc_give = 0 or cp.usc_give is null) + AND (UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(cp.`usc_use_time`)) <![CDATA[>]]> #{number} + AND cp.usc_coupon_id in + <foreach collection="list" item="item" open="(" close=")" + separator=",">#{item}</foreach> </select> - <select id="getIncludeNotExchange" resultMap="ResultVOMap"> - SELECT * FROM `yeshi_ec_user_system_coupon` t + <select id="getFreeCouponByType" resultMap="BaseResultMap"> + SELECT * FROM `yeshi_ec_user_system_coupon` t LEFT JOIN `yeshi_ec_system_coupon` c ON t.`usc_coupon_id` = c.`sc_id` - WHERE t.usc_state = 1 AND t.usc_state_activate = 1 AND t.usc_uid = #{uid} - AND c.`sc_percent` <![CDATA[<>]]> #{num} AND c.`sc_type`= #{type} + WHERE t.usc_uid = #{uid} AND c.`sc_type`= #{type} </select> + + <select id="getNeedActivateCouponByType" resultMap="AllResultMap"> + SELECT * FROM `yeshi_ec_user_system_coupon` t + LEFT JOIN `yeshi_ec_system_coupon` c ON t.`usc_coupon_id` = c.`sc_id` + WHERE t.usc_uid = #{uid} AND c.`sc_type`= #{type} AND t.`usc_state` = 1 + AND (t.usc_state_activate = 0 OR t.usc_state_activate is null) + AND t.`usc_end_time` <![CDATA[>]]> NOW() + ORDER BY usc_id + LIMIT 1 + </select> + </mapper> -- Gitblit v1.8.0