guomengjiao il y a 3 mois
Parent
commit
64d29767bb

+ 8 - 0
ruoyi-api/src/main/java/com/ruoyi/api/controller/common/AbstractApiController.java

@@ -89,6 +89,14 @@ public abstract class AbstractApiController {
         return null;
     }
 
+    protected void checkBusinessStatus(Long businessId) {
+        if (ObjectUtil.isNotNull(businessId)) {
+            if (!businessService.isValid(businessId)) {
+                throw new ServiceException("门店已关闭,无法操作该功能");
+            }
+        }
+    }
+
     protected Long getAgentByUserId(Long userId, boolean isThrow) {
         Long id = agentService.queryIdByUserId(userId);
         if (ObjectUtil.isNotNull(id)) {

+ 4 - 0
ruoyi-api/src/main/java/com/ruoyi/api/controller/shop/ApiShopOrderController.java

@@ -300,6 +300,8 @@ public class ApiShopOrderController extends AbstractApiController {
     @PostMapping("/build")
     public R<ShopOrderBo> build(@Validated(AddGroup.class) @RequestBody CreateOrderBo bo) {
         bo.setUserId(getUserId(true));
+        // 检查商户状态
+        checkBusinessStatus(bo.getBusinessId());
         return R.ok(createOrderService.buildOrder(bo));
     }
 
@@ -312,6 +314,8 @@ public class ApiShopOrderController extends AbstractApiController {
     @PostMapping("/create")
     public R<ShopOrder> create(@Validated(AddGroup.class) @RequestBody CreateOrderBo bo) {
         bo.setUserId(getUserId(true));
+        // 检查商户状态
+        checkBusinessStatus(bo.getBusinessId());
         ShopOrder shopOrder = createOrderService.createOrder(bo);
         if(PaymentStatus.PAID.equals(shopOrder.getPaymentStatus())) {
             try {

+ 13 - 2
ruoyi-shop/src/main/java/com/ruoyi/shop/business/service/impl/UserBusinessRoleServiceImpl.java

@@ -269,8 +269,19 @@ public class UserBusinessRoleServiceImpl implements IUserBusinessRoleService {
     @Override
     public UserBusinessRole changeUserIntegral(UserBusinessChangeIntegralBo bo) {
         UserBusinessRole role = queryByUserAndBusiness(bo.getUserId(), bo.getBusinessId());
-        if (ObjectUtil.isEmpty(role)) {
-            return null;
+        if (ObjectUtil.isNull(role)) {
+            //新增关系
+            role = new UserBusinessRole();
+            role.setUserId(bo.getUserId());
+            role.setBusinessId(bo.getBusinessId());
+            Long count = baseMapper.selectCount(new LambdaQueryWrapper<UserBusinessRole>().eq(UserBusinessRole::getUserId, bo.getUserId()));
+            if (count > 0) {
+                role.setIsBound(false);
+            } else {
+                //第一次消费
+                role.setIsBound(true);
+            }
+            baseMapper.insert(role);
         }
         BigDecimal integral = bo.getIntegral();
         if (integral.compareTo(BigDecimal.ZERO) <= 0) {