Selaa lähdekoodia

feat(user): 微信登录创建新用户时关联组织结构

- 使用 UUID 生成用户名,确保唯一性
- 创建用户时关联默认部门(A03)
- 新增 SysDepartMapper 和 SysUserDepartMapper 依赖
- 在用户创建流程中增加部门关联逻辑
SheepHy 3 viikkoa sitten
vanhempi
commit
247d1d3afe

+ 12 - 8
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/impl/UserServiceImpl.java

@@ -16,18 +16,15 @@ import org.jeecg.modules.app.service.IUserService;
 import org.jeecg.modules.app.vo.LoginUserVO;
 import org.jeecg.modules.app.vo.MsgInfoVO;
 import org.jeecg.modules.app.vo.MsgVO;
-import org.jeecg.modules.system.entity.SysAnnouncement;
-import org.jeecg.modules.system.entity.SysAnnouncementSend;
-import org.jeecg.modules.system.entity.SysUser;
-import org.jeecg.modules.system.mapper.SysAnnouncementMapper;
-import org.jeecg.modules.system.mapper.SysAnnouncementSendMapper;
-import org.jeecg.modules.system.mapper.SysUserMapper;
+import org.jeecg.modules.system.entity.*;
+import org.jeecg.modules.system.mapper.*;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.UUID;
 
 import static org.jeecg.common.constant.CommonConstant.PREFIX_USER_TOKEN;
 import static org.jeecg.common.constant.CommonConstant.SC_INTERNAL_SERVER_ERROR_500;
@@ -44,6 +41,10 @@ public class UserServiceImpl implements IUserService {
     @Resource
     private SysAnnouncementMapper sysAnnouncementMapper;
     @Resource
+    private SysDepartMapper sysDepartMapper;
+    @Resource
+    private SysUserDepartMapper sysUserDepartMapper;
+    @Resource
     private RedisUtil redisUtil;
 
     @Override
@@ -56,6 +57,7 @@ public class UserServiceImpl implements IUserService {
                     .eq(SysUser::getOpenid, openid)
                     .eq(SysUser::getDelFlag, 0));
             if (null == user) {
+
                 // 用户不存在则创建
                     user = new SysUser()
                             .setOpenid(openid)
@@ -65,9 +67,11 @@ public class UserServiceImpl implements IUserService {
                             .setSalt(oConvertUtils.randomGen(8))
                             .setCreateBy("admin")
                             .setRealname("微信用户")
-                            .setUsername("微信用户_" + System.currentTimeMillis())
+                            .setUsername("微信用户_" + UUID.randomUUID())
                             .setOrgCode("A03");
-                    boolean result = sysUserMapper.insert(user) > 0;
+                SysDepart sysDepart = sysDepartMapper.selectOne(Wrappers.<SysDepart>lambdaQuery().eq(SysDepart::getOrgCode, "A03"));
+                sysUserDepartMapper.insert(new SysUserDepart(user.getId(),sysDepart.getId()));
+                boolean result = sysUserMapper.insert(user) > 0;
                     if (!result) {
                         throw new JeecgBootException("登录失败", SC_INTERNAL_SERVER_ERROR_500);
                 }