فهرست منبع

fix: 声明事务领取活动领域开发

seamew 2 سال پیش
والد
کامیت
979264dce1

+ 2 - 1
lottery-domain/src/main/java/com/seamew/lottery/domain/activity/service/partake/impl/ActivityPartakeImpl.java

@@ -9,6 +9,7 @@ import com.seamew.lottery.domain.activity.service.partake.BaseActivityPartake;
 import com.seamew.lottery.domain.support.ids.IIdGenerator;
 import com.seamew.middleware.db.router.strategy.IDBRouterStrategy;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.dao.DuplicateKeyException;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.support.TransactionTemplate;
@@ -59,7 +60,7 @@ public class ActivityPartakeImpl extends BaseActivityPartake {
         }
 
         // 校验:个人库存 - 个人活动剩余可领取次数
-        if (bill.getUserTakeLeftCount() <= 0) {
+        if (ObjectUtils.isNotEmpty(bill.getUserTakeLeftCount()) && bill.getUserTakeLeftCount() <= 0) {
             log.warn("个人领取次数非可用 userTakeLeftCount:{}", bill.getUserTakeLeftCount());
             return Result.buildResult(Constants.ResponseCode.UN_ERROR, "个人领取次数非可用");
         }

+ 1 - 1
lottery-infrastructure/src/main/java/com/seamew/lottery/infrastructure/repository/ActivityRepository.java

@@ -101,7 +101,7 @@ public class ActivityRepository implements IActivityRepository {
         activityBillVO.setStockSurplusCount(activity.getStockSurplusCount());
         activityBillVO.setStrategyId(activity.getStrategyId());
         activityBillVO.setState(activity.getState());
-        activityBillVO.setUserTakeLeftCount(null == userTakeActivityCount ? activity.getTakeCount() : userTakeActivityCount.getLeftCount());
+        activityBillVO.setUserTakeLeftCount(null == userTakeActivityCount ? null : userTakeActivityCount.getLeftCount());
 
         return activityBillVO;
     }

+ 1 - 1
lottery-infrastructure/src/main/java/com/seamew/lottery/infrastructure/repository/UserTakeActivityRepository.java

@@ -56,7 +56,7 @@ public class UserTakeActivityRepository implements IUserTakeActivityRepository {
         if (null == userTakeLeftCount) {
             userTakeActivity.setTakeCount(1);
         } else {
-            userTakeActivity.setTakeCount(takeCount - userTakeLeftCount);
+            userTakeActivity.setTakeCount(takeCount - userTakeLeftCount + 1);
         }
         String uuid = uId + "_" + activityId + "_" + userTakeActivity.getTakeCount();
         userTakeActivity.setUuid(uuid);

+ 2 - 2
lottery-interfaces/src/main/resources/application.yaml

@@ -28,7 +28,7 @@ mybatis:
   configuration:
     map-underscore-to-camel-case: true
     # 开启sql日志
-    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+#    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
 
 dubbo:
   application:
@@ -47,4 +47,4 @@ dubbo:
 
 logging:
   level:
-    root: warn
+    root: info