Browse Source

fix:优化

liujunchi 3 năm trước cách đây
mục cha
commit
8caf22343a

+ 1 - 0
cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/dao/PortalOrderDao.java

@@ -37,4 +37,5 @@ public interface PortalOrderDao {
      */
     int releaseSkuStockLock(@Param("itemList") List<OmsOrderItem> orderItemList);
 
+    int releaseProductStockLock(@Param("itemList") List<OmsOrderItem> orderItemList);
 }

+ 1 - 0
cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/service/OmsPortalOrderService.java

@@ -105,6 +105,7 @@ public interface OmsPortalOrderService {
      *
      * @param data
      */
+    @Transactional
     void closePaymentCallBack(PaymentCallBack data);
 
 

+ 4 - 0
cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/service/UserOrderPaymentService.java

@@ -4,6 +4,7 @@ import com.yonge.cooleshow.mbg.model.UserOrderPayment;
 import com.yonge.toolset.payment.base.enums.PayChannelEnum;
 import com.yonge.toolset.payment.base.enums.TradeStatusEnum;
 import com.yonge.toolset.payment.base.model.callback.PaymentCallBack;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
 
@@ -28,8 +29,10 @@ public interface UserOrderPaymentService {
      *
      * @param userOrderPayment
      */
+    @Transactional
     void save(UserOrderPayment userOrderPayment);
 
+    @Transactional
     void saveOrUpdate(UserOrderPayment userOrderPayment);
 
     UserOrderPayment getByOrderNo(String orderSn, PayChannelEnum payChannel, TradeStatusEnum pending);
@@ -48,6 +51,7 @@ public interface UserOrderPaymentService {
      * @param message 信息
      * @param data
      */
+    @Transactional
     void closePayment(String orderSn, String message, PaymentCallBack data);
 
     /**

+ 4 - 3
cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/service/impl/OmsPortalOrderServiceImpl.java

@@ -375,6 +375,7 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
             //解除订单商品库存锁定
             if (!CollectionUtils.isEmpty(orderItemList)) {
                 portalOrderDao.releaseSkuStockLock(orderItemList);
+                portalOrderDao.releaseProductStockLock(orderItemList);
             }
             //修改优惠券使用状态
             updateCouponStatus(cancelOrder.getCouponId(), cancelOrder.getMemberId(), 0);
@@ -542,12 +543,12 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
         payment.setOrderDesc("酷乐秀商城订单编号-" + detail.getOrderSn());
 
         //封装订单详情
-        List<OrderDetil> orderDetils = new ArrayList<>();
+        List<OrderDetil> orderDetails = new ArrayList<>();
         for (OmsOrderItem orderDetailVo : detail.getOrderItemList()) {
-            orderDetils.add(new OrderDetil(orderDetailVo.getId().toString(), orderDetailVo.getProductName(),
+            orderDetails.add(new OrderDetil(orderDetailVo.getId().toString(), orderDetailVo.getProductName(),
                     orderDetailVo.getProductQuantity(), orderDetailVo.getRealAmount().toString()));
         }
-        payment.setOrderDetils(orderDetils);
+        payment.setOrderDetils(orderDetails);
         payment.setPayAmt(detail.getPayAmount().setScale(2, RoundingMode.HALF_UP).toString());
         payment.setDescription(payReq.getReason());
 

+ 15 - 0
cooleshow-mall/mall-portal/src/main/resources/config/mybatis/PortalOrderDao.xml

@@ -92,4 +92,19 @@
             #{item.productSkuId}
         </foreach>
     </update>
+
+    <update id="releaseProductStockLock">
+        UPDATE pms_product
+        SET
+        lock_stock = CASE id
+        <foreach collection="itemList" item="item">
+            WHEN #{item.productId} THEN lock_stock - #{item.productQuantity}
+        </foreach>
+        END
+        WHERE
+        id IN
+        <foreach collection="itemList" item="item" separator="," open="(" close=")">
+            #{item.productId}
+        </foreach>
+    </update>
 </mapper>

+ 2 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicSheetServiceImpl.java

@@ -326,6 +326,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao,MusicSheet>
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public boolean del(Long id) {
 
         MusicSheet musicSheet = super.getById(id);
@@ -347,6 +348,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao,MusicSheet>
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public boolean saveMusicSheet(MusicSheetDto musicSheetDto,Long userId) {
 
         if (musicSheetDto.getId() != null) {