guomengjiao месяцев назад: 4
Родитель
Сommit
98dc592e24

+ 6 - 0
ruoyi-shop/src/main/java/com/ruoyi/shop/business/service/IUserBusinessRoleService.java

@@ -12,6 +12,7 @@ import com.ruoyi.shop.business.domain.vo.UserBusinessVerifierIntegralStatisticsV
 import com.ruoyi.shop.business.domain.vo.UserBusinessVerifierIntegralVo;
 import com.ruoyi.shop.business.domain.vo.UserBusinessVerifierIntegralVo;
 import com.ruoyi.shop.order.domain.bo.BusinessCountBo;
 import com.ruoyi.shop.order.domain.bo.BusinessCountBo;
 import com.ruoyi.common.enums.order.OrderType;
 import com.ruoyi.common.enums.order.OrderType;
+import com.ruoyi.user.domain.User;
 import com.ruoyi.user.domain.vo.UserVo;
 import com.ruoyi.user.domain.vo.UserVo;
 
 
 import java.math.BigDecimal;
 import java.math.BigDecimal;
@@ -145,4 +146,9 @@ public interface IUserBusinessRoleService {
     UserBusinessRole loadByBusinessAndUser(Long currentBusinessId, Long userId);
     UserBusinessRole loadByBusinessAndUser(Long currentBusinessId, Long userId);
 
 
     Boolean isBoundMore(Long userId);
     Boolean isBoundMore(Long userId);
+
+    /**
+     * 初始化用户并绑定商家
+     */
+    User initUserAndBindBusiness(String mobile, String nickname, Long businessId);
 }
 }

+ 22 - 0
ruoyi-shop/src/main/java/com/ruoyi/shop/business/service/impl/UserBusinessRoleServiceImpl.java

@@ -39,6 +39,7 @@ import com.ruoyi.shop.order.domain.bo.BusinessCountBo;
 import com.ruoyi.common.enums.order.OrderType;
 import com.ruoyi.common.enums.order.OrderType;
 import com.ruoyi.system.service.ISysUserService;
 import com.ruoyi.system.service.ISysUserService;
 import com.ruoyi.user.domain.User;
 import com.ruoyi.user.domain.User;
+import com.ruoyi.user.domain.bo.UserBo;
 import com.ruoyi.user.domain.vo.UserVo;
 import com.ruoyi.user.domain.vo.UserVo;
 import com.ruoyi.user.enums.IntegralBillType;
 import com.ruoyi.user.enums.IntegralBillType;
 import com.ruoyi.user.enums.IntegralSourceType;
 import com.ruoyi.user.enums.IntegralSourceType;
@@ -471,6 +472,27 @@ public class UserBusinessRoleServiceImpl implements IUserBusinessRoleService {
         return baseMapper.selectCount(new LambdaQueryWrapper<UserBusinessRole>().eq(UserBusinessRole::getUserId, userId)) > 1;
         return baseMapper.selectCount(new LambdaQueryWrapper<UserBusinessRole>().eq(UserBusinessRole::getUserId, userId)) > 1;
     }
     }
 
 
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public User initUserAndBindBusiness(String mobile, String nickname, Long businessId) {
+        User user = userService.loadByMobile(mobile, false);
+        if (ObjectUtil.isNull(user)) {
+            //创建用户
+            user = new User();
+            user.setNickname(nickname);
+            user.setStatus(true);
+            user.setMobile(mobile);
+            user.setCreateDay(new Date());
+            user.setLastLoginTime(new Date());
+            //保存用户信息
+            UserBo userBo = BeanUtil.toBean(user, UserBo.class);
+            userService.insertByBo(userBo);
+            user.setId(userBo.getId());
+        }
+        updateByUserAndBusiness(user.getId(), businessId, BigDecimal.ZERO, null);
+        return user;
+    }
+
 
 
     private List<UserBusinessVerifierIntegralVo> convertVerifyList(List<UserBusinessVerifierIntegralVo> voList) {
     private List<UserBusinessVerifierIntegralVo> convertVerifyList(List<UserBusinessVerifierIntegralVo> voList) {
         return voList.stream().map(vo -> {
         return voList.stream().map(vo -> {