提交 1e25137d authored 作者: hzh's avatar hzh

差旅后台通用配置功能实现

上级 26843e59
package org.dromara.server.api;
/**
* @author wenhe
*/
public interface RemoteTravelService {
/**
* 创建默认设置
*
* @param tenantId 租户ID
*/
void createDefaultConfig(String tenantId);
}
package org.dromara.server.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.bean.BeanUtil;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.web.core.BaseController;
import org.dromara.server.domain.bo.TravelConfigBo;
import org.dromara.server.domain.vo.TravelApply;
......@@ -36,6 +41,15 @@ public class TravelConfigController extends BaseController {
return R.ok(list.get(0));
}
/**
* 获取差旅设置详细信息
*
* @return 差旅设置详细信息
*/
public TravelConfigVo getTravelConfigVo() {
return travelConfigService.queryList(new TravelConfigBo()).get(0);
}
/**
* 校验差旅是否合法
......@@ -55,9 +69,122 @@ public class TravelConfigController extends BaseController {
* @return 是否成功
*/
@PostMapping("/createDefaultConfig")
@RepeatSubmit()
public R<Boolean> createDefaultConfig(@RequestBody String tenantId) {
travelConfigService.createDefaultConfig(tenantId);
return R.ok(true);
}
/**
* 更新申请开关
*
* @param applySwitch 是否开启申请开关
* @return 是否成功
*/
@Log(title = "差旅通用设置-跟新申请单开关", businessType = BusinessType.UPDATE)
@SaCheckPermission("server:travel:edit")
@RepeatSubmit()
@PutMapping("/updateApplySwitch")
public R<Boolean> updateApplySwitch(@RequestBody Boolean applySwitch) {
TravelConfigVo tc = getTravelConfigVo();
tc.setApplySwitch(applySwitch);
return R.ok(travelConfigService.updateByBo(BeanUtil.copyProperties(tc, TravelConfigBo.class)));
}
/**
* 更新审批开关
*
* @param approveSwitch 是否开启审批开关
* @return 是否成功
*/
@Log(title = "差旅通用设置-跟新审批单开关", businessType = BusinessType.UPDATE)
@SaCheckPermission("server:travel:edit")
@RepeatSubmit()
@PutMapping("/updateApproveSwitch")
public R<Boolean> updateApproveSwitch(@RequestBody Boolean approveSwitch) {
TravelConfigVo tc = getTravelConfigVo();
tc.setApproveSwitch(approveSwitch);
return R.ok(travelConfigService.updateByBo(BeanUtil.copyProperties(tc, TravelConfigBo.class)));
}
/**
* 更新预算控制
*
* @param budgetControl 是否控制预算
* @return 是否成功
*/
@Log(title = "差旅通用设置-更新预算控制", businessType = BusinessType.UPDATE)
@SaCheckPermission("server:travel:edit")
@RepeatSubmit()
@PutMapping("/updateBudgetControl")
public R<Boolean> updateBudgetControl(@RequestBody String budgetControl) {
TravelConfigVo tc = getTravelConfigVo();
tc.setBudgetControl(budgetControl);
return R.ok(travelConfigService.updateByBo(BeanUtil.copyProperties(tc, TravelConfigBo.class)));
}
/**
* 更新差旅管控
*
* @param travelControl 是否差旅管控
* @return 是否成功
*/
@Log(title = "差旅通用设置-更新差旅管控", businessType = BusinessType.UPDATE)
@SaCheckPermission("server:travel:edit")
@RepeatSubmit()
@PutMapping("/updateTravelControl")
public R<Boolean> updateTravelControl(@RequestBody String travelControl) {
TravelConfigVo tc = getTravelConfigVo();
tc.setTravelControl(travelControl);
return R.ok(travelConfigService.updateByBo(BeanUtil.copyProperties(tc, TravelConfigBo.class)));
}
/**
* 更新出差时间限制
*
* @param timeLimit 是否出差时间限制
* @return 是否成功
*/
@Log(title = "差旅通用设置-更新出差时间限制", businessType = BusinessType.UPDATE)
@SaCheckPermission("server:travel:edit")
@RepeatSubmit()
@PutMapping("/updateTimeLimit")
public R<Boolean> updateTimeLimit(@RequestBody String timeLimit) {
TravelConfigVo tc = getTravelConfigVo();
tc.setTimeLimit(timeLimit);
return R.ok(travelConfigService.updateByBo(BeanUtil.copyProperties(tc, TravelConfigBo.class)));
}
/**
* 更新出差行程限制
*
* @param tripLimit 是否出差行程限制
* @return 是否成功
*/
@Log(title = "差旅通用设置-更新出差行程限制", businessType = BusinessType.UPDATE)
@SaCheckPermission("server:travel:edit")
@RepeatSubmit()
@PutMapping("/updateTripLimit")
public R<Boolean> updateTripLimit(@RequestBody String tripLimit) {
TravelConfigVo tc = getTravelConfigVo();
tc.setTripLimit(tripLimit);
return R.ok(travelConfigService.updateByBo(BeanUtil.copyProperties(tc, TravelConfigBo.class)));
}
/**
* 更行管控方式
*
* @param controlMethod 管控方式
* @return 是否成功
*/
@Log(title = "差旅通用设置-更行管控方式", businessType = BusinessType.UPDATE)
@SaCheckPermission("server:travel:edit")
@RepeatSubmit()
@PutMapping("/updateControlMethod")
public R<Boolean> updateControlMethod(@RequestBody String controlMethod) {
TravelConfigVo tc = getTravelConfigVo();
tc.setControlMethod(controlMethod);
return R.ok(travelConfigService.updateByBo(BeanUtil.copyProperties(tc, TravelConfigBo.class)));
}
}
package org.dromara.server.dubbo;
import lombok.RequiredArgsConstructor;
import org.apache.dubbo.config.annotation.DubboService;
import org.dromara.server.api.RemoteTravelService;
import org.dromara.server.service.ITravelConfigService;
import org.springframework.stereotype.Service;
/**
* 差旅配置
*
* @author hzh
*/
@RequiredArgsConstructor
@Service
@DubboService
public class RemoteTravelServiceImpl implements RemoteTravelService {
private final ITravelConfigService travelConfigService;
@Override
public void createDefaultConfig(String tenantId) {
travelConfigService.createDefaultConfig(tenantId);
}
}
......@@ -26,6 +26,7 @@ import org.dromara.common.redis.utils.CacheUtils;
import org.dromara.common.tenant.core.TenantEntity;
import org.dromara.common.tenant.helper.TenantHelper;
import org.dromara.server.api.RemoteProcessService;
import org.dromara.server.api.RemoteTravelService;
import org.dromara.system.domain.*;
import org.dromara.system.domain.bo.SysTenantBo;
import org.dromara.system.domain.vo.SysTenantVo;
......@@ -62,6 +63,8 @@ public class SysTenantServiceImpl implements ISysTenantService {
private final ISysUserService userService;
@DubboReference
private final RemoteProcessService remoteProcessService;
@DubboReference
private final RemoteTravelService remoteTravelService;
/**
* 查询租户
......@@ -170,6 +173,9 @@ public class SysTenantServiceImpl implements ISysTenantService {
//创建审批流程
remoteProcessService.createDefaultProcessConfig(tenantId);
//创建差旅配置
remoteTravelService.createDefaultConfig(tenantId);
//新增系统用户后,默认当前用户为部门的负责人
SysDept sd = new SysDept();
sd.setLeader(user.getUserId());
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论