cup 2 years ago
parent
commit
24d37948a6

+ 2 - 4
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/GoodsMgrController.java

@@ -134,6 +134,7 @@ public class GoodsMgrController extends BaseApiController {
             return AjaxResult.error("非卡密商品不支持导入");
         }
         String lockKey = RedisLockKey.build(RedisLockKey.GOODS_CARD_LOCK_KEY, goodsId);
+        LogUtil.info(logger,"卡密商品导入分布式锁,lockKey:{0}", lockKey);
         // 加锁,自动续期,防止重复导入
         if (!distributedLocker.tryLock(lockKey,0,-1, TimeUnit.SECONDS)) {
             return AjaxResult.error("频繁操作,请稍后再试");
@@ -175,10 +176,7 @@ public class GoodsMgrController extends BaseApiController {
                 return goodsCard;
             }).collect(Collectors.toList());
 
-            boolean rtn = goodsCardService.saveBatch(goodsCardList);
-            if (!rtn) {
-                return AjaxResult.error("导入失败,请重试");
-            }
+            goodsCardService.importCard(goodsCardList);
 
         } catch (Exception e) {
             LogUtil.error(logger, e, "导入卡密异常,goodsId:{0}", goodsId);

+ 6 - 0
mp-service/src/main/java/com/qs/mp/admin/service/IGoodsCardService.java

@@ -21,4 +21,10 @@ public interface IGoodsCardService extends IService<GoodsCard> {
      * @return
      */
     List<GoodsCard> listDeliveryOrderItemCardByWrapper(QueryWrapper<GoodsCard> queryWrapper);
+
+    /**
+     * 导入卡密
+     * @param goodsCardList
+     */
+    void importCard(List<GoodsCard> goodsCardList);
 }

+ 12 - 0
mp-service/src/main/java/com/qs/mp/admin/service/impl/GoodsCardServiceImpl.java

@@ -5,8 +5,11 @@ import com.qs.mp.admin.domain.GoodsCard;
 import com.qs.mp.admin.mapper.GoodsCardMapper;
 import com.qs.mp.admin.service.IGoodsCardService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qs.mp.common.core.domain.AjaxResult;
+import com.qs.mp.common.exception.ServiceException;
 import java.util.List;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 /**
  * <p>
@@ -19,6 +22,15 @@ import org.springframework.stereotype.Service;
 @Service
 public class GoodsCardServiceImpl extends ServiceImpl<GoodsCardMapper, GoodsCard> implements IGoodsCardService {
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void importCard(List<GoodsCard> goodsCardList) {
+        boolean rtn = this.saveBatch(goodsCardList);
+        if (!rtn) {
+            throw new ServiceException("导入失败,请重试");
+        }
+    }
+
     @Override
     public List<GoodsCard> listDeliveryOrderItemCardByWrapper(QueryWrapper<GoodsCard> queryWrapper) {
         return getBaseMapper().listDeliveryOrderItemCardByWrapper(queryWrapper);