提交 4c1e8f29 authored 作者: hzh's avatar hzh

Merge branch 'dev'

# Conflicts: # ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/controller/TravelConfigPersonController.java # ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/domain/vo/TravelConfigPersonVo.java # ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/service/impl/TravelConfigPersonServiceImpl.java
......@@ -151,7 +151,16 @@ public interface RemoteUserService {
/**
* 注册用户到云上服务器
*
* @return
*/
boolean registerUserToYs();
/**
* 根据用户id查询用户信息列表
*
* @param userIds 用户id集合
* @return 用户信息列表
*/
List<RemoteUserVo> selectUserVoListByUserIds(List<Long> userIds);
}
......@@ -47,6 +47,15 @@ public class TravelConfigPersonController extends BaseController {
return travelConfigPersonService.queryPageList(bo, pageQuery);
}
/**
* 查询员工差旅设置全部列表
*/
@SaCheckPermission("server:configPerson:list")
@GetMapping("/listAll")
public R<List<TravelConfigPersonVo>> listAll(TravelConfigPersonBo bo) {
return R.ok(travelConfigPersonService.queryList(bo));
}
/**
* 导出员工差旅设置列表
*/
......
......@@ -146,6 +146,7 @@ public class TrainController extends BaseController {
.setToStationCode(toStationCode)
.setTripType(TripType.PUBLIC.getCode());
List<org.dromara.common.ys.model.res.train.QueryModel> list = trainService.queryModel(userId, query);
list = StreamUtils.filter(list, item -> StringUtils.isNotEmpty(item.getFromStationCode()) && StringUtils.isNotEmpty(item.getToStationCode()));
return R.ok(list);
}
......
......@@ -84,5 +84,14 @@ public class TravelConfigPersonVo implements Serializable {
@ExcelProperty(value = "支付方式")
private String payMethod;
/**
* 用户名称
*/
private String userName;
/**
* 用户手机号
*/
private String userPhone;
}
......@@ -3,17 +3,25 @@ package org.dromara.server.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.apache.dubbo.config.annotation.DubboReference;
import org.dromara.common.core.utils.StreamUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.service.AbstractBaseService;
import org.dromara.server.domain.TravelConfigPerson;
import org.dromara.server.domain.bo.TravelConfigPersonBo;
import org.dromara.server.domain.vo.TravelConfigPersonVo;
import org.dromara.server.mapper.TravelConfigPersonMapper;
import org.dromara.server.service.ITravelConfigPersonService;
import org.dromara.system.api.RemoteUserService;
import org.dromara.system.api.domain.vo.RemoteUserVo;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
/**
......@@ -27,6 +35,8 @@ import java.util.Optional;
public class TravelConfigPersonServiceImpl extends AbstractBaseService<TravelConfigPersonVo, TravelConfigPersonBo, TravelConfigPerson> implements ITravelConfigPersonService {
private final TravelConfigPersonMapper baseMapper;
@DubboReference
private RemoteUserService remoteUserService;
@Override
public BaseMapperPlus<TravelConfigPerson, TravelConfigPersonVo> mapper() {
......@@ -52,7 +62,27 @@ public class TravelConfigPersonServiceImpl extends AbstractBaseService<TravelCon
@Override
public void validEntityBeforeSave(TravelConfigPerson entity) {
TravelConfigPerson tcp = baseMapper.selectOne(buildQueryWrapper(new TravelConfigPersonBo().setUserId(entity.getUserId())));
Optional.ofNullable(tcp)
.ifPresent(t -> entity.setId(t.getId()));
if (Objects.isNull(entity.getId()) && Objects.nonNull(tcp)) {
throw new RuntimeException("该用户已存在差旅配置,请勿重复创建");
}
if (Objects.nonNull(entity.getId()) && !Objects.equals(tcp.getId(), entity.getId())) {
throw new RuntimeException("该用户已存在差旅配置,请勿重复创建");
}
}
@Override
public TableDataInfo<TravelConfigPersonVo> queryPageList(TravelConfigPersonBo bo, PageQuery pageQuery) {
TableDataInfo<TravelConfigPersonVo> page = super.queryPageList(bo, pageQuery);
List<TravelConfigPersonVo> list = page.getRows();
List<Long> userIds = StreamUtils.toList(list, TravelConfigPersonVo::getUserId);
List<RemoteUserVo> userList = remoteUserService.selectUserVoListByUserIds(userIds);
list.forEach(item -> {
Optional.ofNullable(StreamUtils.findFirst(userList, user -> Objects.equals(user.getUserId(), item.getUserId())))
.ifPresent(user -> {
item.setUserName(user.getNickName());
item.setUserPhone(user.getPhonenumber());
});
});
return page;
}
}
......@@ -3,6 +3,7 @@ package org.dromara.system.dubbo;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.lang.Opt;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.nacos.common.utils.CollectionUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
......@@ -339,6 +340,21 @@ public class RemoteUserServiceImpl implements RemoteUserService {
return userService.selectUserIdsByRoleIds(roleIds);
}
/**
* 通过用户id集合查询用户信息列表
*
* @param userIds 用户id集合
* @return 用户信息列表
*/
@Override
public List<RemoteUserVo> selectUserVoListByUserIds(List<Long> userIds) {
if (CollectionUtils.isEmpty(userIds)) {
return List.of();
}
List<SysUserVo> userList = userService.selectUserByIds(userIds, null);
return BeanUtil.copyToList(userList, RemoteUserVo.class);
}
/**
* 通过手机号查询租户id集合
*
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论