Browse Source

用户信息同步

pengjing 1 year ago
parent
commit
93185cd8a5

+ 66 - 0
src/main/java/com/hz/employmentsite/services/impl/UserServiceImpl.java

@@ -5,6 +5,7 @@ import com.hz.employmentsite.mapper.*;
 import com.hz.employmentsite.mapper.cquery.SysUserCQuery;
 import com.hz.employmentsite.model.*;
 import com.hz.employmentsite.services.service.UserService;
+import com.hz.employmentsite.services.service.system.RoleService;
 import com.hz.employmentsite.util.DateUtils;
 import com.hz.employmentsite.util.StringUtils;
 import com.hz.employmentsite.vo.user.DataRange;
@@ -37,8 +38,16 @@ public class UserServiceImpl implements UserService {
     @Autowired
     private PcSiteUserMapper pcSiteUserMapper;
 
+    @Autowired
+    private SysUserSysRoleMapper sysUserSysRoleMapper;
+
+    @Autowired
+    private RoleService roleService;
+
     private String defaultPassword = "52653B706ADC444F6660FAB66D6DC210";//Hjy@2024
 
+    private String siteRoleId = "10a12f77-0958-4220-b9ce-07b9215046f2"; //驿站工作者
+
 
     @Override
     public List<SysRole> getUserRole(String userID) {
@@ -143,6 +152,7 @@ public class UserServiceImpl implements UserService {
                 cri.andSiteUserIDIn(data.getSiteUserIdList());
 
                 List<PcSiteUser> pcSiteUserList = pcSiteUserMapper.selectByExample(exp);
+                List<String> userIdList = new ArrayList<>();
 
                 pcSiteUserList.forEach(siteUser -> {
                     SysUserExample uExp = new SysUserExample();
@@ -160,12 +170,16 @@ public class UserServiceImpl implements UserService {
                         dbUser.setCreateBy(userId);
                         dbUser.setCreateTime(new Date());
                         result.set(result.get() + sysUserMapper.insert(dbUser));
+
+                        userIdList.add(dbUser.getUserID());
                     }
 
                     siteUser.setUserID(dbUser.getUserID());
                     pcSiteUserMapper.updateByPrimaryKey(siteUser);
                 });
 
+                roleService.saveRoleUser(siteRoleId, userIdList);
+
             }
         } else {
             SysUserExample uExp = new SysUserExample();
@@ -320,4 +334,56 @@ public class UserServiceImpl implements UserService {
         return sysUserMapper.selectByExample(exp).stream().findFirst().orElse(null);
     }
 
+    /*
+     * 添加驿站工作者
+     * @params loginId,name
+     */
+    @Override
+    public SysUser addSiteUser(String userId, String loginId, String name, String createUserId) {
+        if (stringUtils.IsNullOrEmpty(loginId))
+            return null;
+
+        SysUser dbUserByUserId = null;
+        SysUser dbUserByLoginId = null;
+        if (!stringUtils.IsNullOrEmpty(userId)) {
+            dbUserByUserId = sysUserMapper.selectByPrimaryKey(userId);
+        }
+        if (!stringUtils.IsNullOrEmpty(loginId)) {
+            SysUserExample uExp = new SysUserExample();
+            SysUserExample.Criteria uCri = uExp.or();
+            uCri.andLoginIDEqualTo(loginId);
+            dbUserByLoginId = sysUserMapper.selectByExample(uExp).stream().findFirst().orElse(null);
+        }
+
+        if (dbUserByUserId != null && dbUserByLoginId != null && !dbUserByUserId.getUserID().equals(dbUserByLoginId.getUserID())) {
+            return null;
+        }
+
+        SysUser dbData = dbUserByUserId != null ? dbUserByUserId : dbUserByLoginId;
+
+        if (dbData == null) {
+            dbData = new SysUser();
+            dbData.setUserID(UUID.randomUUID().toString());
+            dbData.setName(name);
+            dbData.setLoginID(loginId);
+            dbData.setPassword(defaultPassword);
+            dbData.setUserTypeID(3);
+            dbData.setRecordStatus(1);
+            dbData.setCreateBy(createUserId);
+            dbData.setCreateTime(new Date());
+            sysUserMapper.insert(dbData);
+        } else {
+            dbData.setName(name);
+            dbData.setLoginID(loginId);
+            dbData.setUpdateBy(createUserId);
+            dbData.setUpdateTime(new Date());
+
+            sysUserMapper.updateByPrimaryKey(dbData);
+        }
+
+        roleService.saveRoleUser(siteRoleId, Arrays.asList(dbData.getUserID()));
+
+        return dbData;
+    }
+
 }

+ 10 - 0
src/main/java/com/hz/employmentsite/services/impl/baseSettings/SiteUserImpl.java

@@ -6,6 +6,7 @@ import com.hz.employmentsite.filter.exception.BaseException;
 import com.hz.employmentsite.mapper.*;
 import com.hz.employmentsite.mapper.cquery.UserInfoCQuery;
 import com.hz.employmentsite.model.*;
+import com.hz.employmentsite.services.service.UserService;
 import com.hz.employmentsite.services.service.baseSettings.SiteUserService;
 import com.hz.employmentsite.services.service.system.DictionaryService;
 import com.hz.employmentsite.util.StringUtils;
@@ -53,6 +54,9 @@ public class SiteUserImpl implements SiteUserService {
     @Autowired
     private DictionaryService dictionaryService;
 
+    @Autowired
+    private UserService userService;
+
     private final String MOBILE_REGEX = "0?(13|14|15|18|17)[0-9]{9}";
 
     private final String ID_CARD_REGEX = "\\d{17}[\\d|x]|\\d{15}";
@@ -236,6 +240,12 @@ public class SiteUserImpl implements SiteUserService {
 
         }
 
+        SysUser sysUser = userService.addSiteUser(dbData.getUserID(), dbData.getUserNo(), dbData.getSiteUserName(), userId);
+        if (sysUser != null) {
+            dbData.setUserID(sysUser.getUserID());
+            pcSiteUserMapper.updateByPrimaryKey(dbData);
+        }
+
         return result;
     }
 

+ 2 - 0
src/main/java/com/hz/employmentsite/services/service/UserService.java

@@ -32,4 +32,6 @@ public interface UserService {
 
     SysUser getUserByLoginID(String loginID);
 
+    SysUser addSiteUser(String userId,String loginId, String name, String createUserId);
+
 }