|
|
@@ -59,6 +59,7 @@ public class SysUserServiceImpl implements ISysUserService {
|
|
|
private final SysUserPostMapper userPostMapper;
|
|
|
private final SysUserStoreMapper userStoreMapper;
|
|
|
private final SysStoreMapper storeMapper;
|
|
|
+ private final SysUserAreaStationMapper userAreaStationMapper;
|
|
|
|
|
|
private final ISysRoleService roleService;
|
|
|
|
|
|
@@ -67,6 +68,9 @@ public class SysUserServiceImpl implements ISysUserService {
|
|
|
Page<SysUserVo> page = baseMapper.selectPageUserList(pageQuery.build(), this.buildQueryWrapper(user));
|
|
|
return TableDataInfo.build(page.convert(e -> {
|
|
|
e.setRoles(roleMapper.selectRolesByUserId(e.getUserId()));
|
|
|
+ e.setAreaStations(
|
|
|
+ userAreaStationMapper.selectList(Wrappers.lambdaQuery(SysUserAreaStation.class).eq(SysUserAreaStation::getSysUserId, e.getUserId()))
|
|
|
+ .stream().map(SysUserAreaStation::getAreaStationId).toArray(Long[]::new));
|
|
|
return e;
|
|
|
}));
|
|
|
}
|
|
|
@@ -197,6 +201,9 @@ public class SysUserServiceImpl implements ISysUserService {
|
|
|
return user;
|
|
|
}
|
|
|
user.setRoles(roleMapper.selectRolesByUserId(user.getUserId()));
|
|
|
+ user.setAreaStations(
|
|
|
+ userAreaStationMapper.selectList(Wrappers.lambdaQuery(SysUserAreaStation.class).eq(SysUserAreaStation::getSysUserId, user.getUserId()))
|
|
|
+ .stream().map(SysUserAreaStation::getAreaStationId).toArray(Long[]::new));
|
|
|
return user;
|
|
|
}
|
|
|
|
|
|
@@ -341,9 +348,32 @@ public class SysUserServiceImpl implements ISysUserService {
|
|
|
if (Platform.isNotAdmin()) {
|
|
|
insertUserStore(user, false);
|
|
|
}
|
|
|
+ // 新增用户与区域站点关系
|
|
|
+ if (Platform.isAdmin()) {
|
|
|
+ insertUserAreaStation(user, false);
|
|
|
+ }
|
|
|
return rows;
|
|
|
}
|
|
|
|
|
|
+ private void insertUserAreaStation(SysUserBo user, boolean clean) {
|
|
|
+ if (clean) {
|
|
|
+ userAreaStationMapper.delete(Wrappers.lambdaQuery(SysUserAreaStation.class).eq(SysUserAreaStation::getSysUserId, user.getUserId()));
|
|
|
+ }
|
|
|
+
|
|
|
+ if (user.getAreaStations() == null || user.getAreaStations().length == 0) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ List<SysUserAreaStation> list = Arrays.stream(user.getAreaStations())
|
|
|
+ .map(areaStationId -> {
|
|
|
+ SysUserAreaStation e = new SysUserAreaStation();
|
|
|
+ e.setSysUserId(user.getUserId());
|
|
|
+ e.setAreaStationId(areaStationId);
|
|
|
+ return e;
|
|
|
+ }).toList();
|
|
|
+ userAreaStationMapper.insertBatch(list);
|
|
|
+ }
|
|
|
+
|
|
|
private void insertUserStore(SysUserBo user, boolean clean) {
|
|
|
if (clean) {
|
|
|
userStoreMapper.delete(Wrappers.lambdaQuery(SysUserStore.class).eq(SysUserStore::getUserId, user.getUserId()));
|
|
|
@@ -391,7 +421,12 @@ public class SysUserServiceImpl implements ISysUserService {
|
|
|
// 新增用户与岗位管理
|
|
|
insertUserPost(user, true);
|
|
|
// 新增用户与门店关联 @author: Huanyi
|
|
|
- insertUserStore(user, true);
|
|
|
+ if (Platform.isNotAdmin()) {
|
|
|
+ insertUserStore(user, true);
|
|
|
+ }
|
|
|
+ if (Platform.isAdmin()) {
|
|
|
+ insertUserAreaStation(user, true);
|
|
|
+ }
|
|
|
SysUser sysUser = MapstructUtils.convert(user, SysUser.class);
|
|
|
// 防止错误更新后导致的数据误删除
|
|
|
int flag = baseMapper.updateById(sysUser);
|