提交 9a096a6b authored 作者: hzh's avatar hzh

代码优化

上级 6da3b34e
package org.dromara.server.api;
/**
* 部门审批设置
*
* @author wenhe
*/
public interface RemoteDeptOrderApproveService {
/**
* 根据部门id获取是否需要审批
*
* @param deptId 部门id
* @return 是否需要审批
*/
boolean selectOrderApproveByDeptId(Long deptId);
}
package org.dromara.server.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.collection.CollectionUtil;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
......@@ -16,8 +15,6 @@ import org.dromara.server.service.IDeptOrderApproveService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 部门订单审批
* 前端访问路由地址为:/server/deptOrderApprove
......@@ -41,10 +38,7 @@ public class DeptOrderApproveController extends BaseController {
@GetMapping("/{deptId}")
public R<DeptOrderApproveVo> getInfo(@NotNull(message = "部门id不能为空")
@PathVariable Long deptId) {
DeptOrderApproveBo bo = new DeptOrderApproveBo();
bo.setDeptId(deptId);
List<DeptOrderApproveVo> list = deptOrderApproveService.queryList(bo);
return R.ok(CollectionUtil.isEmpty(list) ? null : list.get(0));
return R.ok(deptOrderApproveService.selectByDeptId(deptId));
}
/**
......
package org.dromara.server.dubbo;
import lombok.RequiredArgsConstructor;
import org.apache.dubbo.config.annotation.DubboService;
import org.dromara.server.api.RemoteDeptOrderApproveService;
import org.dromara.server.domain.vo.DeptOrderApproveVo;
import org.dromara.server.service.IDeptOrderApproveService;
import org.springframework.stereotype.Service;
import java.util.Optional;
/**
* @author hzh
* @date 2025-06-13
**/
@RequiredArgsConstructor
@Service
@DubboService
public class RemoteDeptOrderApproveServiceImpl implements RemoteDeptOrderApproveService {
private final IDeptOrderApproveService service;
@Override
public boolean selectOrderApproveByDeptId(Long deptId) {
return Optional.ofNullable(service.selectByDeptId(deptId))
.map(DeptOrderApproveVo::getApprove)
.orElse(false);
}
}
package org.dromara.server.service;
import org.dromara.common.mybatis.service.IBaseService;
import org.dromara.server.domain.DeptOrderApprove;
import org.dromara.server.domain.vo.DeptOrderApproveVo;
import org.dromara.server.domain.bo.DeptOrderApproveBo;
import org.dromara.server.domain.DeptOrderApprove;
import org.dromara.common.mybatis.service.IBaseService;
import java.util.Collection;
import java.util.List;
import org.dromara.server.domain.vo.DeptOrderApproveVo;
/**
* 部门订单审批Service接口
......@@ -15,7 +11,15 @@ import java.util.List;
* @author hzh
* @date 2025-06-12
*/
public interface IDeptOrderApproveService extends IBaseService<DeptOrderApproveVo, DeptOrderApproveBo, DeptOrderApprove>{
public interface IDeptOrderApproveService extends IBaseService<DeptOrderApproveVo, DeptOrderApproveBo, DeptOrderApprove> {
/**
* 根据部门id查询数据
*
* @param deptId 部门id
* @return 数据
*/
DeptOrderApproveVo selectByDeptId(Long deptId);
}
......@@ -50,4 +50,9 @@ public class DeptOrderApproveServiceImpl extends AbstractBaseService<DeptOrderAp
approve.setApprove(bo.getApprove());
return baseMapper.insertOrUpdate(approve);
}
@Override
public DeptOrderApproveVo selectByDeptId(Long deptId) {
return baseMapper.selectVoOne(new LambdaQueryWrapper<DeptOrderApprove>().eq(DeptOrderApprove::getDeptId, deptId));
}
}
......@@ -8,6 +8,7 @@ import cn.hutool.core.util.ObjectUtil;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.apache.dubbo.config.annotation.DubboReference;
import org.dromara.common.core.constant.UserConstants;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.enums.UserType;
......@@ -23,6 +24,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.common.tenant.helper.TenantHelper;
import org.dromara.common.web.core.BaseController;
import org.dromara.server.api.RemoteDeptOrderApproveService;
import org.dromara.system.api.model.LoginUser;
import org.dromara.system.domain.SysUser;
import org.dromara.system.domain.bo.SysDeptBo;
......@@ -39,6 +41,7 @@ import org.springframework.web.multipart.MultipartFile;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
/**
* 用户信息
......@@ -56,6 +59,8 @@ public class SysUserController extends BaseController {
private final ISysPostService postService;
private final ISysDeptService deptService;
private final ISysTenantService tenantService;
@DubboReference
private RemoteDeptOrderApproveService remoteDeptOrderApproveService;
/**
* 获取用户列表
......@@ -139,6 +144,30 @@ public class SysUserController extends BaseController {
return R.ok(userInfoVo);
}
/**
* 获取用户信息
*
* @return 用户信息
*/
@GetMapping("/getInfoOrderApprove")
public R<UserOrderApproveVo> getInfoOrderApprove() {
LoginUser loginUser = LoginHelper.getLoginUser();
UserOrderApproveVo uoa = new UserOrderApproveVo();
uoa.setUserId(loginUser.getUserId());
uoa.setUserType(loginUser.getUserType());
SysUserVo su = userService.selectUserById(uoa.getUserId());
uoa.setStaffId(loginUser.getUserId());
if (su.getUserType().contains(SysUser.PROJECT_USER_TYPE)) {
uoa.setStaffId(su.getCreateBy());
su = userService.selectUserById(uoa.getUserId());
}
//获取部门负责人id
uoa.setLeaderId(Optional.ofNullable(deptService.selectDeptById(su.getDeptId()))
.map(SysDeptVo::getLeader).orElse(null));
uoa.setDeptApprove(remoteDeptOrderApproveService.selectOrderApproveByDeptId(su.getDeptId()));
return R.ok(uoa);
}
/**
* 根据用户编号获取详细信息
*
......
package org.dromara.system.domain.vo;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 用户信息视图对象 sys_user
*
* @author Michelle.Chung
*/
@Data
public class UserOrderApproveVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 用户ID
*/
private Long userId;
/**
* 用户类型(sys_user系统用户)
*/
private String userType;
/**
* 员工id
*/
private Long staffId;
/**
* 审批需要审批
*/
private Boolean deptApprove = false;
/**
* 部门负责人id
*/
private Long leaderId;
}
......@@ -290,4 +290,12 @@ public interface ISysUserService {
* @return 用户ids
*/
List<Long> selectUserIdsByNickName(String nickName);
/**
* 获取用户id
*
* @param userId 用户id
* @return 用户信息
*/
SysUserBo selectById(Long userId);
}
package org.dromara.system.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.ArrayUtil;
......@@ -770,4 +771,10 @@ public class SysUserServiceImpl implements ISysUserService {
);
return CollectionUtils.isEmpty(userList) ? List.of(-1L) : StreamUtils.toList(userList, SysUser::getUserId);
}
@Override
public SysUserBo selectById(Long userId) {
SysUser user = baseMapper.selectById(userId);
return BeanUtil.copyProperties(user, SysUserBo.class);
}
}
......@@ -6,6 +6,7 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboReference;
import org.dromara.common.core.enums.BusinessStatusEnum;
import org.dromara.common.core.enums.UserType;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StreamUtils;
import org.dromara.common.core.utils.StringUtils;
......@@ -111,7 +112,7 @@ public class OrderApproveServiceImpl extends AbstractBaseService<OrderApproveVo,
RemoteOrderApprove roa = new RemoteOrderApprove()
.setOrderId(fa.getOrderId())
.setOrderType(fa.getOrderType())
.setAuthId(fa.getAuthId());
.setAuthId(StringUtils.equals(fa.getApplyType(), UserType.SYS_USER.getUserType()) ? fa.getStaffId() : fa.getAuthId());
ysOrderService.orderApprove(roa);
}
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论