From 972d3bc71115ec977dccf835fbcd148da3bcc86c Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期二, 03 九月 2019 16:41:49 +0800 Subject: [PATCH] 统计可用的免单券数量-countUsableFreeCouponForBuy --- fanli/src/main/java/com/yeshi/fanli/dao/mybatis/user/UserSystemCouponMapper.java | 11 +++++++++++ fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserSystemCouponServiceImpl.java | 20 ++++++++++++++++++++ fanli/src/main/java/com/yeshi/fanli/mapping/user/UserSystemCouponMapper.xml | 12 +++++++++++- fanli/src/main/java/com/yeshi/fanli/service/inter/user/UserSystemCouponService.java | 7 +++++++ 4 files changed, 49 insertions(+), 1 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/user/UserSystemCouponMapper.java b/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/user/UserSystemCouponMapper.java index a02ebfd..7fc6f17 100644 --- a/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/user/UserSystemCouponMapper.java +++ b/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/user/UserSystemCouponMapper.java @@ -103,4 +103,15 @@ * @return */ List<UserSystemCoupon> getCouponByUsingTimeOut(@Param("uid") Long uid,@Param("list") List<Long> list, @Param("number") Long number); + + + /** + * 缁熻鏈夋晥鍒� + * @param uid + * @param listCouponId + * @return + */ + long countUsableByUid(@Param("uid") Long uid, @Param("list") List<Long> listCouponId); + + } \ No newline at end of file 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 b366edf..72d8aac 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 @@ -145,7 +145,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,6 +154,16 @@ ORDER BY uc.usc_state_activate desc, uc.`usc_create_time` </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]]> diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserSystemCouponServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserSystemCouponServiceImpl.java index bcf2dbe..6187852 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserSystemCouponServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserSystemCouponServiceImpl.java @@ -647,7 +647,27 @@ return list; } + + @Override + public long countUsableFreeCouponForBuy (Long uid) { + if (uid == null) + return 0; + + List<SystemCoupon> couponList = systemCouponService.getGoodsCouponList(); + if (couponList == null || couponList.size() == 0) + return 0; + + List<Long> listCouponId = new ArrayList<Long>(); + for (SystemCoupon systemCoupon : couponList) { + listCouponId.add(systemCoupon.getId()); + } + + return userSystemCouponMapper.countUsableByUid(uid, listCouponId); + } + + + @Transactional @Override public void useGoodsCoupon(Long uid, Long id, Long goodId, Integer sourceType) throws UserSystemCouponException, Exception { diff --git a/fanli/src/main/java/com/yeshi/fanli/service/inter/user/UserSystemCouponService.java b/fanli/src/main/java/com/yeshi/fanli/service/inter/user/UserSystemCouponService.java index af891a1..59f32e3 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/inter/user/UserSystemCouponService.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/inter/user/UserSystemCouponService.java @@ -287,4 +287,11 @@ */ public void sendBackGiveUser(Long uid); + /** + * 缁熻鍙娇鐢ㄧ殑鍏嶅崟鍒� + * @param uid + * @return + */ + public long countUsableFreeCouponForBuy(Long uid); + } -- Gitblit v1.8.0