|
@@ -17,6 +17,7 @@ import org.springframework.stereotype.Component;
|
|
|
import org.springframework.util.DigestUtils;
|
|
|
|
|
|
import java.util.*;
|
|
|
+import java.util.concurrent.atomic.AtomicInteger;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@Component
|
|
@@ -33,6 +34,9 @@ public class UserServiceImpl implements UserService {
|
|
|
@Autowired
|
|
|
private SysUserDatarangeMapper sysUserDatarangeMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private PcSiteUserMapper pcSiteUserMapper;
|
|
|
+
|
|
|
private String defaultPassword = "52653B706ADC444F6660FAB66D6DC210";//Hjy@2024
|
|
|
|
|
|
|
|
@@ -130,61 +134,103 @@ public class UserServiceImpl implements UserService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Integer save(UserEditVo data, String userId) {
|
|
|
- int result = 0;
|
|
|
- UserInfoModel record = getUserInfo(data.getUserID());
|
|
|
- SysUser dbData = record == null ? null : sysUserMapper.selectByPrimaryKey(record.userID);
|
|
|
- Boolean isExist = dbData != null;
|
|
|
- if (!isExist) {
|
|
|
- //添加
|
|
|
- dbData = new SysUser();
|
|
|
- dbData.setUserID(data.getUserID());
|
|
|
- dbData.setName(data.getName());
|
|
|
- dbData.setLoginID(data.getLoginID());
|
|
|
- if (data.getPassword() == null) {
|
|
|
- dbData.setPassword(defaultPassword);
|
|
|
- } else {
|
|
|
- dbData.setPassword(DigestUtils.md5DigestAsHex(data.getPassword().getBytes()).toUpperCase());
|
|
|
+ public Integer save(UserEditVo data, String userId) throws Exception {
|
|
|
+ AtomicInteger result = new AtomicInteger();
|
|
|
+ if (data.getUserTypeID().equals(3)) {//驿站工作者
|
|
|
+ if (data.getSiteUserIdList() != null && data.getSiteUserIdList().size() > 0) {
|
|
|
+ PcSiteUserExample exp = new PcSiteUserExample();
|
|
|
+ PcSiteUserExample.Criteria cri = exp.or();
|
|
|
+ cri.andSiteUserIDIn(data.getSiteUserIdList());
|
|
|
+
|
|
|
+ List<PcSiteUser> pcSiteUserList = pcSiteUserMapper.selectByExample(exp);
|
|
|
+
|
|
|
+ pcSiteUserList.forEach(siteUser -> {
|
|
|
+ SysUserExample uExp = new SysUserExample();
|
|
|
+ SysUserExample.Criteria uCri = uExp.or();
|
|
|
+ uCri.andLoginIDEqualTo(siteUser.getUserNo());
|
|
|
+ SysUser dbUser = sysUserMapper.selectByExample(uExp).stream().findFirst().orElse(null);
|
|
|
+ if (dbUser == null) {
|
|
|
+ dbUser = new SysUser();
|
|
|
+ dbUser.setUserID(UUID.randomUUID().toString());
|
|
|
+ dbUser.setName(siteUser.getSiteUserName());
|
|
|
+ dbUser.setLoginID(siteUser.getUserNo());
|
|
|
+ dbUser.setPassword(data.getPassword() == null ? defaultPassword : DigestUtils.md5DigestAsHex(data.getPassword().getBytes()).toUpperCase());
|
|
|
+ dbUser.setUserTypeID(data.getUserTypeID());
|
|
|
+ dbUser.setRecordStatus(data.getRecordStatus());
|
|
|
+ dbUser.setCreateBy(userId);
|
|
|
+ dbUser.setCreateTime(new Date());
|
|
|
+ result.set(result.get() + sysUserMapper.insert(dbUser));
|
|
|
+ }
|
|
|
+
|
|
|
+ siteUser.setUserID(dbUser.getUserID());
|
|
|
+ pcSiteUserMapper.updateByPrimaryKey(siteUser);
|
|
|
+ });
|
|
|
+
|
|
|
}
|
|
|
- dbData.setUserTypeID(data.getUserTypeID());
|
|
|
- dbData.setRecordStatus(data.getRecordStatus());
|
|
|
- dbData.setCreateBy(userId);
|
|
|
- dbData.setCreateTime(new Date());
|
|
|
- result = sysUserMapper.insert(dbData);
|
|
|
} else {
|
|
|
- //修改
|
|
|
- dbData.setName(data.getName());
|
|
|
- dbData.setLoginID(data.getLoginID());
|
|
|
- if (data.getPassword() == null) {
|
|
|
- dbData.setPassword(defaultPassword);
|
|
|
+ SysUserExample uExp = new SysUserExample();
|
|
|
+ SysUserExample.Criteria uCri = uExp.or();
|
|
|
+ uCri.andLoginIDEqualTo(data.getLoginID());
|
|
|
+
|
|
|
+ SysUser dbUser = sysUserMapper.selectByExample(uExp).stream().findFirst().orElse(null);
|
|
|
+ if (dbUser != null && !dbUser.getUserID().equals(data.getUserID()))
|
|
|
+ throw new Exception("该账号已录入系统,请勿重复录入");
|
|
|
+
|
|
|
+
|
|
|
+ UserInfoModel record = getUserInfo(data.getUserID());
|
|
|
+ SysUser dbData = record == null ? null : sysUserMapper.selectByPrimaryKey(record.userID);
|
|
|
+ Boolean isExist = dbData != null;
|
|
|
+ if (!isExist) {
|
|
|
+ //添加
|
|
|
+ dbData = new SysUser();
|
|
|
+ dbData.setUserID(data.getUserID());
|
|
|
+ dbData.setName(data.getName());
|
|
|
+ dbData.setLoginID(data.getLoginID());
|
|
|
+ if (data.getPassword() == null) {
|
|
|
+ dbData.setPassword(defaultPassword);
|
|
|
+ } else {
|
|
|
+ dbData.setPassword(DigestUtils.md5DigestAsHex(data.getPassword().getBytes()).toUpperCase());
|
|
|
+ }
|
|
|
+ dbData.setUserTypeID(data.getUserTypeID());
|
|
|
+ dbData.setRecordStatus(data.getRecordStatus());
|
|
|
+ dbData.setCreateBy(userId);
|
|
|
+ dbData.setCreateTime(new Date());
|
|
|
+ result.set(sysUserMapper.insert(dbData));
|
|
|
} else {
|
|
|
- dbData.setPassword(DigestUtils.md5DigestAsHex(data.getPassword().getBytes()).toUpperCase());
|
|
|
+ //修改
|
|
|
+ dbData.setName(data.getName());
|
|
|
+ dbData.setLoginID(data.getLoginID());
|
|
|
+ if (data.getPassword() == null) {
|
|
|
+ dbData.setPassword(defaultPassword);
|
|
|
+ } else {
|
|
|
+ dbData.setPassword(DigestUtils.md5DigestAsHex(data.getPassword().getBytes()).toUpperCase());
|
|
|
+ }
|
|
|
+ dbData.setUserTypeID(data.getUserTypeID());
|
|
|
+ dbData.setRecordStatus(data.getRecordStatus());
|
|
|
+ dbData.setUpdateBy(userId);
|
|
|
+ dbData.setUpdateTime(new Date());
|
|
|
+ result.set(sysUserMapper.updateByPrimaryKey(dbData));
|
|
|
}
|
|
|
- dbData.setUserTypeID(data.getUserTypeID());
|
|
|
- dbData.setRecordStatus(data.getRecordStatus());
|
|
|
- dbData.setUpdateBy(userId);
|
|
|
- dbData.setUpdateTime(new Date());
|
|
|
- result = sysUserMapper.updateByPrimaryKey(dbData);
|
|
|
- }
|
|
|
|
|
|
- SysUserDatarangeExample udExp = new SysUserDatarangeExample();
|
|
|
- SysUserDatarangeExample.Criteria udCri = udExp.or();
|
|
|
- udCri.andUserIdEqualTo(data.getUserID());
|
|
|
- sysUserDatarangeMapper.deleteByExample(udExp);
|
|
|
+ SysUserDatarangeExample udExp = new SysUserDatarangeExample();
|
|
|
+ SysUserDatarangeExample.Criteria udCri = udExp.or();
|
|
|
+ udCri.andUserIdEqualTo(data.getUserID());
|
|
|
+ sysUserDatarangeMapper.deleteByExample(udExp);
|
|
|
|
|
|
- if (data.datarangeIdList!=null) {
|
|
|
+ if (data.datarangeIdList != null) {
|
|
|
|
|
|
- data.datarangeIdList.forEach(datarangeId -> {
|
|
|
- SysUserDatarangeKey sysUserDatarange = new SysUserDatarangeKey();
|
|
|
- sysUserDatarange.setUserId(data.getUserID());
|
|
|
- sysUserDatarange.setDatarangeId(datarangeId);
|
|
|
+ data.datarangeIdList.forEach(datarangeId -> {
|
|
|
+ SysUserDatarangeKey sysUserDatarange = new SysUserDatarangeKey();
|
|
|
+ sysUserDatarange.setUserId(data.getUserID());
|
|
|
+ sysUserDatarange.setDatarangeId(datarangeId);
|
|
|
|
|
|
- sysUserDatarangeMapper.insert(sysUserDatarange);
|
|
|
- });
|
|
|
+ sysUserDatarangeMapper.insert(sysUserDatarange);
|
|
|
+ });
|
|
|
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- return result;
|
|
|
+ return result.get();
|
|
|
}
|
|
|
|
|
|
@Override
|