Explorar o código

feat:优惠券

Joburgess %!s(int64=3) %!d(string=hai) anos
pai
achega
db9efdaf8e

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysCouponCodeServiceImpl.java

@@ -23,6 +23,7 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Isolation;
+import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.*;
@@ -48,7 +49,7 @@ public class SysCouponCodeServiceImpl extends BaseServiceImpl<Long, SysCouponCod
 	}
 
 	@Override
-	@Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
+	@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW, isolation = Isolation.READ_COMMITTED)
 	public boolean exchangeCoupon(Integer userId, Integer couponId, Long paymentOrderId, Integer exchangeNum) {
 		if(Objects.isNull(userId)||Objects.isNull(couponId)||Objects.isNull(paymentOrderId)||Objects.isNull(exchangeNum)){
 			throw new BizException("领取失败");

+ 2 - 2
mec-biz/src/main/resources/config/mybatis/SysCouponCodeMapper.xml

@@ -142,7 +142,7 @@
 					AND scc.use_deadline_date_ &gt;= NOW()
 				</if>
 				<if test="usageStatus == 2">
-					AND scc.use_deadline_date_ &lt; NOW()
+					AND scc.usage_status_=0 AND scc.use_deadline_date_ &lt; NOW()
 				</if>
 			</if>
 			<if test="organId!=null">
@@ -171,7 +171,7 @@
 			scc.use_start_date_,
 			scc.use_deadline_date_,
 			scc.used_time_,
-		    IF(scc.use_deadline_date_ &gt;= NOW(),scc.usage_status_,2) usage_status_
+		    IF(scc.usage_status_ = 0 AND scc.use_deadline_date_ &gt;= NOW(),scc.usage_status_,2) usage_status_
 		FROM sys_coupon_code scc
 			 LEFT JOIN sys_coupon sc ON scc.coupon_id_=sc.id_
 			 LEFT JOIN sys_user su ON scc.user_id_=su.id_