提交 d247ecb3 authored 作者: hzh's avatar hzh

个人配置校验

(cherry picked from commit 322d9d3b)
上级 fb0c2e22
...@@ -41,6 +41,16 @@ public class TravelConfigController extends BaseController { ...@@ -41,6 +41,16 @@ public class TravelConfigController extends BaseController {
return R.ok(list.get(0)); return R.ok(list.get(0));
} }
/**
* 获取个人差旅设置详细信息
*
* @return 个人差旅设置详细信息
*/
@GetMapping("/person")
public R<TravelConfigVo> getPersonInfo() {
return R.ok(travelConfigService.getTravelConfig());
}
/** /**
* 获取差旅设置详细信息 * 获取差旅设置详细信息
* *
......
...@@ -5,6 +5,7 @@ import jakarta.validation.constraints.NotBlank; ...@@ -5,6 +5,7 @@ import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.dromara.common.core.validate.AddGroup; import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup; import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.common.mybatis.core.domain.BaseEntity;
...@@ -17,6 +18,7 @@ import org.dromara.server.domain.TravelConfigPerson; ...@@ -17,6 +18,7 @@ import org.dromara.server.domain.TravelConfigPerson;
* @date 2024-12-23 * @date 2024-12-23
*/ */
@Data @Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@AutoMapper(target = TravelConfigPerson.class, reverseConvertGenerate = false) @AutoMapper(target = TravelConfigPerson.class, reverseConvertGenerate = false)
public class TravelConfigPersonBo extends BaseEntity { public class TravelConfigPersonBo extends BaseEntity {
......
...@@ -29,4 +29,11 @@ public interface ITravelConfigService extends IBaseService<TravelConfigVo, Trave ...@@ -29,4 +29,11 @@ public interface ITravelConfigService extends IBaseService<TravelConfigVo, Trave
*/ */
boolean checkTravelLegal(TravelApply travelApply); boolean checkTravelLegal(TravelApply travelApply);
/**
* 获取差旅配置
*
* @return 差旅配置
*/
TravelConfigVo getTravelConfig();
} }
...@@ -14,6 +14,7 @@ import org.dromara.server.service.ITravelConfigPersonService; ...@@ -14,6 +14,7 @@ import org.dromara.server.service.ITravelConfigPersonService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Map; import java.util.Map;
import java.util.Optional;
/** /**
* 员工差旅设置Service业务层处理 * 员工差旅设置Service业务层处理
...@@ -48,4 +49,10 @@ public class TravelConfigPersonServiceImpl extends AbstractBaseService<TravelCon ...@@ -48,4 +49,10 @@ public class TravelConfigPersonServiceImpl extends AbstractBaseService<TravelCon
return lqw; return lqw;
} }
@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()));
}
} }
package org.dromara.server.service.impl; package org.dromara.server.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
...@@ -7,17 +8,20 @@ import lombok.RequiredArgsConstructor; ...@@ -7,17 +8,20 @@ import lombok.RequiredArgsConstructor;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.common.mybatis.service.AbstractBaseService; import org.dromara.common.mybatis.service.AbstractBaseService;
import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.common.tenant.helper.TenantHelper; import org.dromara.common.tenant.helper.TenantHelper;
import org.dromara.order.api.enums.OrderType; import org.dromara.order.api.enums.OrderType;
import org.dromara.server.constant.travel.*; import org.dromara.server.constant.travel.*;
import org.dromara.server.domain.Apply; import org.dromara.server.domain.Apply;
import org.dromara.server.domain.ApplyPerson; import org.dromara.server.domain.ApplyPerson;
import org.dromara.server.domain.TravelConfig; import org.dromara.server.domain.TravelConfig;
import org.dromara.server.domain.TravelConfigPerson;
import org.dromara.server.domain.bo.TravelConfigBo; import org.dromara.server.domain.bo.TravelConfigBo;
import org.dromara.server.domain.vo.*; import org.dromara.server.domain.vo.*;
import org.dromara.server.mapper.ApplyMapper; import org.dromara.server.mapper.ApplyMapper;
import org.dromara.server.mapper.ApplyPersonMapper; import org.dromara.server.mapper.ApplyPersonMapper;
import org.dromara.server.mapper.TravelConfigMapper; import org.dromara.server.mapper.TravelConfigMapper;
import org.dromara.server.mapper.TravelConfigPersonMapper;
import org.dromara.server.service.ITravelConfigService; import org.dromara.server.service.ITravelConfigService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -36,6 +40,7 @@ public class TravelConfigServiceImpl extends AbstractBaseService<TravelConfigVo, ...@@ -36,6 +40,7 @@ public class TravelConfigServiceImpl extends AbstractBaseService<TravelConfigVo,
private final TravelConfigMapper baseMapper; private final TravelConfigMapper baseMapper;
private final ApplyMapper applyMapper; private final ApplyMapper applyMapper;
private final ApplyPersonMapper applyPersonMapper; private final ApplyPersonMapper applyPersonMapper;
private final TravelConfigPersonMapper travelConfigPersonMapper;
@Override @Override
public BaseMapperPlus<TravelConfig, TravelConfigVo> mapper() { public BaseMapperPlus<TravelConfig, TravelConfigVo> mapper() {
...@@ -80,8 +85,8 @@ public class TravelConfigServiceImpl extends AbstractBaseService<TravelConfigVo, ...@@ -80,8 +85,8 @@ public class TravelConfigServiceImpl extends AbstractBaseService<TravelConfigVo,
@Override @Override
public boolean checkTravelLegal(TravelApply travelApply) { public boolean checkTravelLegal(TravelApply travelApply) {
TravelConfigVo tc = mapper().selectVoOne(new LambdaQueryWrapper<>()); TravelConfigVo tc = getTravelConfig();
Apply apply = Optional.ofNullable(travelApply.getApplyCode()).map(applyCode->{ Apply apply = Optional.ofNullable(travelApply.getApplyCode()).map(applyCode -> {
return applyMapper.selectOne(new LambdaQueryWrapper<Apply>() return applyMapper.selectOne(new LambdaQueryWrapper<Apply>()
.eq(Apply::getApplyCode, applyCode)); .eq(Apply::getApplyCode, applyCode));
}).orElse(null); }).orElse(null);
...@@ -141,4 +146,13 @@ public class TravelConfigServiceImpl extends AbstractBaseService<TravelConfigVo, ...@@ -141,4 +146,13 @@ public class TravelConfigServiceImpl extends AbstractBaseService<TravelConfigVo,
return true; return true;
} }
@Override
public TravelConfigVo getTravelConfig() {
//获取个人配置
TravelConfigPerson travelConfigPerson = travelConfigPersonMapper.selectOne(new LambdaQueryWrapper<TravelConfigPerson>()
.eq(TravelConfigPerson::getUserId, LoginHelper.getUserId()));
return Optional.ofNullable(travelConfigPerson)
.map(person -> BeanUtil.copyProperties(person, TravelConfigVo.class)).orElseGet(() -> mapper().selectVoOne(new LambdaQueryWrapper<>()));
}
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论