浏览代码

bugfix-超级会员优惠券

Aslee 3 年之前
父节点
当前提交
c5a69335ff
共有 1 个文件被更改,包括 9 次插入5 次删除
  1. 9 5
      src/main/resources/mapper/CouponMapper.xml

+ 9 - 5
src/main/resources/mapper/CouponMapper.xml

@@ -8,8 +8,8 @@
         cc.`id` AS "couponId",
         cc.`couponAmount`,
         cc.`touchPrice`,
-        a.`createDate` as `startDate`,
-        date_add(a.createDate,interval cc.usePeriod DAY) as `endDate`,
+        if(cc.vipFlag = 1,cc.startDate,a.createDate) as startDate,
+        if(cc.vipFlag = 1,cc.endDate,date_add(a.createDate,interval cc.usePeriod day)) as endDate,
         cc.`couponType`,
         cc.`userId`,
         cc.`shopId`,
@@ -24,14 +24,18 @@
         AND a.userId = #{userId}
         <if test="status == 1">
             AND a.status = 1
-            AND NOW() <![CDATA[ < ]]> date_add(a.createDate,interval cc.usePeriod DAY)
+            AND if(cc.vipFlag = 1,
+                NOW() BETWEEN cc.startDate AND cc.endDate,
+                NOW() <![CDATA[ < ]]> date_add(a.createDate,interval cc.usePeriod DAY))
         </if>
         <if test="status == 2">
             AND a.status = 2
         </if>
         <if test="status == 3">
             AND a.status = 1
-            AND NOW() <![CDATA[ > ]]> date_add(a.createDate,interval cc.usePeriod DAY)
+            AND if(cc.vipFlag = 1,
+                NOW() > cc.endDate,
+                NOW() <![CDATA[ > ]]> date_add(a.createDate,interval cc.usePeriod DAY))
         </if>
         AND cc.status != 2
         ORDER BY
@@ -166,7 +170,7 @@
         SELECT `id` AS "couponId",
                `couponAmount`,
                `touchPrice`,
-               if(#{registerTime} <![CDATA[ > ]]> startDate,#{registerTime},startDate),
+               if(#{registerTime} <![CDATA[ > ]]> startDate,#{registerTime},startDate) as startDate,
                if(receiveFlag=1,endDate,date_add(if(#{registerTime} <![CDATA[ > ]]> startDate,#{registerTime},startDate),
                    interval receivePeriod day)) as endDate,
                date_add(NOW(),interval usePeriod day ) as usePeriod,