Pu Zhibing
2 天以前 7151cc3d33133527c6d8219a4e0ad6fecd855782
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -81,6 +81,7 @@
import com.ruoyi.system.api.model.QwH5LoginVo;
import com.ruoyi.system.api.model.QwUserDetailDto;
import com.ruoyi.system.api.service.*;
import io.seata.spring.annotation.GlobalTransactional;
import lombok.extern.log4j.Log4j2;
import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
@@ -550,8 +551,8 @@
     * @return
     */
    @Override
    @Transactional   // todo  放开分布式事务注解
//    @GlobalTransactional(rollbackFor = Exception.class)
    @Transactional
    @GlobalTransactional(rollbackFor = Exception.class)
    public AppPlaceOrderVo placeOrder(AppPlaceOrderDto appPlaceOrderDto) {
        // 获取用户ID
        Long userId = appPlaceOrderDto.getUserId();
@@ -1094,7 +1095,7 @@
     */
    @Override
    @Transactional
//    @GlobalTransactional(rollbackFor = Exception.class) todo 放开分布式事务注解
    @GlobalTransactional(rollbackFor = Exception.class)
    public AppPlaceOrderVo placeActivityOrder(AppPlaceActivityDto appPlaceActivityDto) {
        Long userId = appPlaceActivityDto.getUserId();
        Member member = remoteMemberService.getMember(userId).getData();
@@ -1926,6 +1927,10 @@
    
    @Override
    public MerVerifyOrderVo verifyOrderDouYin(String orderId, Long shopId) {
        Shop shop = remoteShopService.getShop(shopId).getData();
        if(StringUtils.isEmpty(shop.getDyPoiId())){
            throw new ServiceException("请先绑定抖音门店ID");
        }
        CertificatePrepareResponseData data = VerifyUtil.certificatePrepare(orderId);
        if (null == data) {
            throw new ServiceException("查询券信息失败");
@@ -1964,6 +1969,10 @@
    
    @Override
    public MerVerifyOrderVo verifyOrderKuaiShou(String orderId, Long shopId) {
        Shop shop = remoteShopService.getShop(shopId).getData();
        if(StringUtils.isEmpty(shop.getKsPoiId())){
            throw new ServiceException("请先绑定快手门店ID");
        }
        VerifyPrepareDataNew data = KSVerifyUtil.certificatePrepare(redisService, orderId);
        if (null == data) {
            throw new ServiceException("查询券信息失败");
@@ -2007,7 +2016,7 @@
     */
    @Override
    @Transactional
//    @GlobalTransactional(rollbackFor = Exception.class) todo 放开分布式事务注解
    @GlobalTransactional(rollbackFor = Exception.class)
    public MerVerifyOrderVo sureVerifyOrder(MerVerifyOrderDto merVerifyOrderDto) {
        String orderId = merVerifyOrderDto.getOrderId();
        BigDecimal relReceiveMoney = merVerifyOrderDto.getRelReceiveMoney();
@@ -2253,7 +2262,7 @@
     */
    @Override
    @Transactional
//    @GlobalTransactional(rollbackFor = Exception.class) todo 放开分布式事务注解
    @GlobalTransactional(rollbackFor = Exception.class)
    public MerVerifyOrderVo sureVerifyOrderDouYin(MerVerifyOrderDto merVerifyOrderDto) {
        String phone = merVerifyOrderDto.getPhone();
        String name = merVerifyOrderDto.getName();
@@ -2275,7 +2284,7 @@
        if (null == itemList && itemList.isEmpty()) {
            throw new ServiceException("查询券信息失败");
        }
        List<CertificatePrepareResponseDataCertificatesItem> collect = itemList.stream().filter(s -> s.getStatus().intValue() == 1).collect(Collectors.toList());
        List<CertificatePrepareResponseDataCertificatesItem> collect = itemList.stream().filter(s -> null == s.getStatus() || s.getStatus().intValue() == 1).collect(Collectors.toList());
        if(collect.size() < merVerifyOrderDto.getNumber()){
            throw new ServiceException("验券数量超过可使用数量");
        }
@@ -2571,7 +2580,7 @@
     */
    @Override
    @Transactional
//    @GlobalTransactional(rollbackFor = Exception.class) todo 放开分布式事务注解
    @GlobalTransactional(rollbackFor = Exception.class)
    public MerVerifyOrderVo sureVerifyOrderKuaiShou(MerVerifyOrderDto merVerifyOrderDto) {
        String phone = merVerifyOrderDto.getPhone();
        String name = merVerifyOrderDto.getName();
@@ -3071,7 +3080,7 @@
     */
    @Override
    @Transactional
//    @GlobalTransactional(rollbackFor = Exception.class) todo 放开分布式事务注解
    @GlobalTransactional(rollbackFor = Exception.class)
    public MerVerifyCouponVo sureVerifyCoupon(MerVerifyCouponDto merVerifyCouponDto) {
        R<MerVerifyCouponGetVo> verifyCoupon = remoteCouponService.getVerifyCoupon(merVerifyCouponDto.getMemberCouponId());
        if(verifyCoupon.getCode() != 200){
@@ -3211,7 +3220,7 @@
     */
    @Override
    @Transactional
//    @GlobalTransactional(rollbackFor = Exception.class) todo 放开分布式事务注解
    @GlobalTransactional(rollbackFor = Exception.class)
    public MerVerifyAwardVo sureVerifyPrize(MerVerifyPrizeDto merVerifyPrizeDto) {
        MerVerifyAwardVo merVerifyAwardVo = new MerVerifyAwardVo();
        MemberGiftRecord memberGiftRecord = remoteMemberService.getVerifyPrize(merVerifyPrizeDto.getPrizeId()).getData();
@@ -3475,7 +3484,7 @@
     */
    @Override
    @Transactional
//    @GlobalTransactional(rollbackFor = Exception.class) todo 放开分布式事务注解
    @GlobalTransactional(rollbackFor = Exception.class)
    public void createNewOrder(MerNewOrderDto merNewOrderDto) {
        Long userId = merNewOrderDto.getBuyUserId();
        Date nowTime = new Date();
@@ -4285,6 +4294,7 @@
        }
        // 设置订单编号
        mgtOrderDetailVo.setOrderNo(order.getOrderNo());
        mgtOrderDetailVo.setTripartiteOrderId(order.getTripartiteOrderId());
        mgtOrderDetailVo.setOutTradeNo(order.getOutTradeNo());
        // 设置订单来源
        switch (order.getOrderFrom()) {
@@ -6166,7 +6176,7 @@
     */
    @Override
    @Transactional
//    @GlobalTransactional(rollbackFor = Exception.class) todo 放开分布式事务注解
    @GlobalTransactional(rollbackFor = Exception.class)
    public void autoCancelOrder(String orderId, Integer cancelType) {
        //更新订单信息
        Order order = this.getById(orderId);
@@ -6237,7 +6247,7 @@
     */
    @Override
    @Transactional
//    @GlobalTransactional(rollbackFor = Exception.class) todo 放开分布式事务注解
    @GlobalTransactional(rollbackFor = Exception.class)
    public void payBack(PartnerTransactionsResult transaction, BigDecimal feeAmount) {
        log.info("订单支付回调---"+transaction.toString());
        // 更新订单状态 outTradeNo
@@ -6383,7 +6393,7 @@
     */
    @Override
    @Transactional
//    @GlobalTransactional(rollbackFor = Exception.class) todo 放开分布式事务注解
    @GlobalTransactional(rollbackFor = Exception.class)
    public void refundOrder(String orderId, Integer cancelType) {
        // 更新订单信息
        Order order = this.getById(orderId);
@@ -7326,7 +7336,7 @@
    }
//    @GlobalTransactional(rollbackFor = Exception.class) todo 放开分布式事务注解
    @GlobalTransactional(rollbackFor = Exception.class)
    private void autoTimeCancelOrder(Order order) {
        String orderId = order.getOrderId();
        order.setOrderStatus(0);