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

代码优化

上级 9f4a2ef9
......@@ -11,6 +11,7 @@ import lombok.NoArgsConstructor;
import org.dromara.common.core.constant.TenantConstants;
import org.dromara.common.core.constant.UserConstants;
import org.dromara.common.core.enums.UserType;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mall.enums.TerminalEnum;
import org.dromara.system.api.model.LoginUser;
......@@ -45,6 +46,7 @@ public class LoginHelper {
public static final String MEMBER_ID = "memberId";
public static final String USER_TYPE = "userType";
public static final String PROJECT_ID = "projectId";
public static final String PROJECT_DEPT_ID = "projectDeptId";
/**
* 登录系统 基于 设备类型
......@@ -161,6 +163,25 @@ public class LoginHelper {
}
}
/**
* 获取项目部门id
*/
public static Long getProjectDeptId() {
if (StringUtils.equals(getUserTypeStr(), UserType.SYS_USER.getUserType()) && getProjectId() == null) {
return getDeptId();
}
SaSession session = StpUtil.getTokenSession();
if (ObjectUtil.isNull(session)) {
return null;
}
Object projectDept = session.get(PROJECT_DEPT_ID);
if (projectDept == null) {
return null;
} else {
return Long.parseLong(projectDept.toString());
}
}
/**
* 获取客户端ID
*/
......@@ -270,12 +291,19 @@ public class LoginHelper {
* 动态设置项目id
*
* @param projectId 项目id
* @param deptId 部门id
*/
public static void dynamicProjectId(Long projectId) {
public static void dynamicProjectId(Long projectId, Long deptId) {
if (projectId != null) {
StpUtil.getTokenSession().set(PROJECT_ID, projectId);
if (deptId != null) {
StpUtil.getTokenSession().set(PROJECT_DEPT_ID, deptId);
} else {
StpUtil.getTokenSession().delete(PROJECT_DEPT_ID);
}
} else {
StpUtil.getTokenSession().delete(PROJECT_ID);
StpUtil.getTokenSession().delete(PROJECT_DEPT_ID);
}
}
}
......@@ -178,6 +178,7 @@ public class OrderAirportServiceImpl extends AbstractBaseService<OrderAirportVo,
List<OrderAirportPay> orderPayList = payMapper.selectList(new LambdaQueryWrapper<OrderAirportPay>().in(OrderAirportPay::getOrderId, orderIds));
List<OrderAirportTicket> orderTicketList = ticketMapper.selectList(new LambdaQueryWrapper<OrderAirportTicket>().in(OrderAirportTicket::getOrderId, orderIds));
Long projectId = isAdd ? LoginHelper.getProjectId() : null;
Long projectDeptId = isAdd ? LoginHelper.getProjectDeptId() : null;
//更新数据
orderList.forEach(order -> {
scheduledExecutorService.execute(() -> {
......@@ -312,6 +313,7 @@ public class OrderAirportServiceImpl extends AbstractBaseService<OrderAirportVo,
.map(o -> DateUtil.parse(o.getDepartTime(), "yyyy-MM-dd HH:mm"))
.orElse(null)
);
invoice.setCreateDept(projectDeptId);
orderInvoicingService.save(invoice);
});
}
......
......@@ -177,6 +177,7 @@ public class OrderHotelServiceImpl extends AbstractBaseService<OrderHotelVo, Ord
List<OrderHotelPsgInfo> orderPsgList = psgInfoMapper.selectList(new LambdaQueryWrapper<OrderHotelPsgInfo>().in(OrderHotelPsgInfo::getOrderId, orderIds));
List<OrderHotelPayInfo> orderPayInfoList = payInfoMapper.selectList(new LambdaQueryWrapper<OrderHotelPayInfo>().in(OrderHotelPayInfo::getOrderId, orderIds));
Long projectId = isAdd ? LoginHelper.getProjectId() : null;
Long projectDeptId = isAdd ? LoginHelper.getProjectDeptId() : null;
//更新数据
orderList.forEach(order -> {
scheduledExecutorService.execute(() -> {
......@@ -281,6 +282,7 @@ public class OrderHotelServiceImpl extends AbstractBaseService<OrderHotelVo, Ord
.setUseTime(Optional.ofNullable(order)
.map(o -> DateUtil.parse(o.getCheckInDate(), "yyyy-MM-dd"))
.orElse(null));
invoice.setCreateDept(projectDeptId);
orderInvoicingService.save(invoice);
});
}
......
......@@ -58,7 +58,6 @@ public class OrderInvoicingServiceImpl extends AbstractBaseService<OrderInvoicin
if (user != null) {
bo.setUserType(user.getUserType());
bo.setCreateName(user.getNickName());
bo.setCreateDept(user.getDeptId());
}
bo.setProjectId(bo.getProjectId());
bo.setCreateBy(bo.getUserId());
......
......@@ -187,6 +187,7 @@ public class OrderTrainServiceImpl extends AbstractBaseService<OrderTrainVo, Ord
List<OrderTrainRange> orderRangeList = rangeMapper.selectList(new LambdaQueryWrapper<OrderTrainRange>().in(OrderTrainRange::getOrderId, orderIds));
List<OrderTrainTicket> orderTicketList = ticketMapper.selectList(new LambdaQueryWrapper<OrderTrainTicket>().in(OrderTrainTicket::getOrderId, orderIds));
Long projectId = isAdd ? LoginHelper.getProjectId() : null;
Long projectDeptId = isAdd ? LoginHelper.getProjectDeptId() : null;
//更新数据
orderList.forEach(order -> {
scheduledExecutorService.execute(() -> {
......@@ -319,6 +320,7 @@ public class OrderTrainServiceImpl extends AbstractBaseService<OrderTrainVo, Ord
.setUseTime(Optional.ofNullable(rangeMapper.selectOne(OrderTrainRange::getOrderNo, order.getOrderNo()))
.map(o -> DateUtil.parse(o.getFromDate() + " " + o.getFromTime(), "yyyy-MM-dd HH:mm"))
.orElse(null));
invoice.setCreateDept(projectDeptId);
orderInvoicingService.save(invoice);
});
}
......
......@@ -220,6 +220,7 @@ public class OrderVehiclesServiceImpl extends AbstractBaseService<OrderVehiclesV
List<OrderVehiclesBusiness> orderBusinessList = businessMapper.selectList(new LambdaQueryWrapper<OrderVehiclesBusiness>().in(OrderVehiclesBusiness::getOrderId, orderIds));
List<OrderVehiclesPayInfo> orderPayInfoList = payInfoMapper.selectList(new LambdaQueryWrapper<OrderVehiclesPayInfo>().in(OrderVehiclesPayInfo::getOrderId, orderIds));
Long projectId = isAdd ? LoginHelper.getProjectId() : null;
Long projectDeptId = isAdd ? LoginHelper.getProjectDeptId() : null;
//更新数据
orderList.forEach(order -> {
scheduledExecutorService.execute(() -> {
......@@ -286,6 +287,7 @@ public class OrderVehiclesServiceImpl extends AbstractBaseService<OrderVehiclesV
}
return null;
}).orElse(null));
invoice.setCreateDept(projectDeptId);
orderInvoicingService.save(invoice);
});
}
......
......@@ -6,6 +6,7 @@ import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
......@@ -19,8 +20,11 @@ import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.common.web.core.BaseController;
import org.dromara.system.constant.Constant;
import org.dromara.system.domain.bo.SysProjectBo;
import org.dromara.system.domain.bo.SysUserProjectBo;
import org.dromara.system.domain.vo.SysProjectVo;
import org.dromara.system.domain.vo.SysUserProjectVo;
import org.dromara.system.service.ISysProjectService;
import org.dromara.system.service.ISysUserProjectService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
......@@ -40,6 +44,7 @@ import java.util.List;
public class SysProjectController extends BaseController {
private final ISysProjectService sysProjectService;
private final ISysUserProjectService userProjectService;
/**
* 查询系统项目列表
......@@ -129,7 +134,18 @@ public class SysProjectController extends BaseController {
*/
@GetMapping("/dynamic")
public R<Void> dynamicProjectId(@RequestParam(required = false) Long projectId) {
LoginHelper.dynamicProjectId(projectId);
Long deptId = null;
if (projectId != null) {
SysUserProjectBo sup = new SysUserProjectBo();
sup.setUserId(LoginHelper.getUserId());
sup.setProjectId(projectId);
SysUserProjectVo vo = userProjectService.getOne(sup);
if (vo == null) {
throw new ServiceException("用户不存在在该项目中");
}
deptId = vo.getCreateDept();
}
LoginHelper.dynamicProjectId(projectId,deptId);
return R.ok();
}
......
......@@ -55,13 +55,18 @@ public class SysUserProjectVo implements Serializable {
@ExcelProperty(value = "角色id")
private Long roleId;
/**
* 创建部门
*/
private Long createDept;
/**
* 创建人
*/
private Long createBy;
@Translation(type = TransConstant.USER_ID_TO_NICKNAME,mapper = "createBy" )
@Translation(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "createBy")
private String createNickName;
@Translation(type = TransConstant.USER_ID_TO_NAME,mapper = "createBy" )
@Translation(type = TransConstant.USER_ID_TO_NAME, mapper = "createBy")
private String createUserName;
/**
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论