xiongzhu 3 ani în urmă
părinte
comite
b2d9c695f5

+ 2 - 0
src/main/java/com/izouma/yags/service/OrderPayService.java

@@ -18,6 +18,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.web.context.request.RequestContextHolder;
 import org.springframework.web.context.request.RequestContextHolder;
 import org.springframework.web.context.request.ServletRequestAttributes;
 import org.springframework.web.context.request.ServletRequestAttributes;
 
 
+import javax.transaction.Transactional;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.net.URLEncoder;
 import java.net.URLEncoder;
 import java.nio.charset.StandardCharsets;
 import java.nio.charset.StandardCharsets;
@@ -51,6 +52,7 @@ public class OrderPayService {
         this.userBalanceRepo = userBalanceRepo;
         this.userBalanceRepo = userBalanceRepo;
     }
     }
 
 
+    @Transactional
     public Object pay(Long userId, Long orderId, PayMethod payMethod) throws Exception {
     public Object pay(Long userId, Long orderId, PayMethod payMethod) throws Exception {
         TicketOrder ticketOrder = ticketOrderRepo.findById(orderId).orElseThrow(new BusinessException("订单不存在"));
         TicketOrder ticketOrder = ticketOrderRepo.findById(orderId).orElseThrow(new BusinessException("订单不存在"));
         if (!ticketOrder.getUserId().equals(userId)) {
         if (!ticketOrder.getUserId().equals(userId)) {

+ 7 - 6
src/main/java/com/izouma/yags/service/RoomService.java

@@ -5,7 +5,10 @@ import com.alibaba.fastjson.JSONObject;
 import com.izouma.yags.domain.*;
 import com.izouma.yags.domain.*;
 import com.izouma.yags.dto.PageQuery;
 import com.izouma.yags.dto.PageQuery;
 import com.izouma.yags.dto.RoomDetail;
 import com.izouma.yags.dto.RoomDetail;
-import com.izouma.yags.enums.*;
+import com.izouma.yags.enums.BalanceType;
+import com.izouma.yags.enums.JoinRoomStatus;
+import com.izouma.yags.enums.RoomStatus;
+import com.izouma.yags.enums.RoomType;
 import com.izouma.yags.exception.BusinessException;
 import com.izouma.yags.exception.BusinessException;
 import com.izouma.yags.repo.*;
 import com.izouma.yags.repo.*;
 import com.izouma.yags.utils.JpaUtils;
 import com.izouma.yags.utils.JpaUtils;
@@ -18,7 +21,6 @@ import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageImpl;
 import org.springframework.data.domain.PageImpl;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.jpa.domain.Specification;
 import org.springframework.data.jpa.domain.Specification;
-import org.springframework.security.core.parameters.P;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.MultipartFile;
 
 
@@ -26,10 +28,7 @@ import javax.imageio.ImageIO;
 import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Predicate;
 import java.io.ByteArrayOutputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.IOException;
-import java.io.OutputStream;
-import java.net.MalformedURLException;
 import java.net.URL;
 import java.net.URL;
-import java.nio.charset.StandardCharsets;
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
 import java.util.*;
 import java.util.*;
 import java.util.regex.Pattern;
 import java.util.regex.Pattern;
@@ -324,7 +323,9 @@ public class RoomService {
                 j.setFinishAt(LocalDateTime.now());
                 j.setFinishAt(LocalDateTime.now());
                 joinRoomRepo.save(j);
                 joinRoomRepo.save(j);
 
 
-                userBalanceService.modifyBalance(j.getUserId(), room.getBonus(), BalanceType.BONUS);
+                if (j.getTeam().equals(joinRoom.getTeam())) {
+                    userBalanceService.modifyBalance(j.getUserId(), room.getBonus(), BalanceType.BONUS);
+                }
             });
             });
 
 
             room.setStatus(RoomStatus.FINISH);
             room.setStatus(RoomStatus.FINISH);